From 32a4c46ea7f043f6ed122395531feb88efc52a8b Mon Sep 17 00:00:00 2001 From: Laurent Bigonville Date: Sat, 12 Dec 2020 08:56:34 +0000 Subject: Import seahorse_3.38.0.1-1.debian.tar.xz [dgit import tarball seahorse 3.38.0.1-1 seahorse_3.38.0.1-1.debian.tar.xz] --- changelog | 1426 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ control | 50 ++ control.in | 46 ++ copyright | 42 ++ docs | 3 + gbp.conf | 17 + patches/series | 1 + rules | 10 + source/format | 1 + watch | 3 + 10 files changed, 1599 insertions(+) create mode 100644 changelog create mode 100644 control create mode 100644 control.in create mode 100644 copyright create mode 100644 docs create mode 100644 gbp.conf create mode 100644 patches/series create mode 100755 rules create mode 100644 source/format create mode 100644 watch diff --git a/changelog b/changelog new file mode 100644 index 00000000..fa29a1a4 --- /dev/null +++ b/changelog @@ -0,0 +1,1426 @@ +seahorse (3.38.0.1-1) unstable; urgency=medium + + * New upstream release + - debian/control.in: Switch from libhandy-0.0-dev to libhandy-1-dev + * debian/control.in: Bump Standards-Version 4.5.1 (no further updates) + + -- Laurent Bigonville Sat, 12 Dec 2020 09:56:34 +0100 + +seahorse (3.37.2-1) experimental; urgency=medium + + * New upstream release + * Bump the build dependency on libglib2.0-dev to 2.58 + + -- Olivier Tilloy Tue, 08 Sep 2020 18:18:49 +0200 + +seahorse (3.36-1) unstable; urgency=medium + + * New upstream release + + -- Olivier Tilloy Fri, 13 Mar 2020 18:23:07 +0100 + +seahorse (3.35.91-1) experimental; urgency=medium + + * New upstream release + * Add a build dependency on libhandy-0.0-dev (>= 0.0.12) + + -- Olivier Tilloy Fri, 28 Feb 2020 11:29:49 +0100 + +seahorse (3.34-1) unstable; urgency=medium + + * New upstream release + * Revert "Build with check-compatible-gpg=false to workaround upstream #244" + - no longer needed + * Bump minimum meson to 0.49 + * Build-Depend on docbook-xml, docbook-xsl & xsltproc and build the manpage + + -- Jeremy Bicha Wed, 02 Oct 2019 20:29:37 -0400 + +seahorse (3.32.2-1) unstable; urgency=medium + + * New upstream release (Closes: #930171) + * Build with check-compatible-gpg=false to workaround upstream #244 + * Build-Depend on dh-sequence-gnome instead of gnome-pkg-tools + * Release to unstable + + -- Jeremy Bicha Sun, 22 Sep 2019 18:52:45 -0400 + +seahorse (3.32-1) experimental; urgency=medium + + * New upstream release + - Fix crash when changing login password (LP: #1818053) + + -- Jeremy Bicha Sat, 16 Mar 2019 08:24:50 -0400 + +seahorse (3.31.91-1) experimental; urgency=medium + + * New upstream development release + * Build-Depend on libpwquality-dev + + -- Jeremy Bicha Tue, 19 Feb 2019 09:29:38 -0500 + +seahorse (3.30.1.1-1) unstable; urgency=medium + + * New upstream release + - Fix password filtering regression (Closes: #908720) + * Add -Wl,-O1 to our LDFLAGS + * Build-Depend on debhelper-compat 12 and drop debian/compat + * Build-Depend on libxml2-utils for xmllint + * Bump Standards-Version to 4.3.0 + + -- Jeremy Bicha Thu, 27 Dec 2018 12:02:24 -0500 + +seahorse (3.30-1) unstable; urgency=medium + + * New upstream release (Closes: #889973) + - Support creating SSH keys using ED25519 (LP: #1420522) + - Remove broken help button from preferences dialog (Closes: #799435) + * Build with meson + * debian/docs: README is now README.md + * Bump libglib2.0-dev to >= 2.44 & libgtk-3-dev to >= 3.22 + * Drop unused Build-Depends on gtk-doc-tools + * Update Vcs fields for migration to https://salsa.debian.org/ + * Bump debhelper compat to 11 + * Bump Standards-Version to 4.2.1 + * Drop all patches: applied in new release + + -- Jeremy Bicha Mon, 03 Sep 2018 19:35:11 -0400 + +seahorse (3.20.0-5) unstable; urgency=medium + + * Update Vcs fields for conversion to git + * Add debian/gbp.conf + * Bump Standards-Version to 4.1.2 + + -- Jeremy Bicha Fri, 15 Dec 2017 22:30:30 -0500 + +seahorse (3.20.0-4) unstable; urgency=medium + + * Acknowledge NMU (Closes: #859336) + * Add build-with-gpg-2.2.patch: + - Fix build with GnuPG 2.2 (Closes: #876646) + * Bump Standards-Version to 4.1.0 + * Drop debian/NEWS: long obsolete + + -- Jeremy Bicha Thu, 28 Sep 2017 14:23:46 -0400 + +seahorse (3.20.0-3.1) unstable; urgency=medium + + * Non-maintainer upload. + * 01_ignore_KEY_CONSIDERED.patch: new patch, cherry-picked from upstream Git, + to Ignore KEY_CONSIDERED line introduced in GnuPG 2.1.13 (Closes: #859336). + Fixes key signing and editing trust (regression since Jessie). + * Bump libgpgme-dev build-dependency to >= 1.7.0, as required + by the new patch cherry-picked from upstream. + + -- Kjö Hansi Glaz Sat, 01 Apr 2017 16:06:42 +0200 + +seahorse (3.20.0-3) unstable; urgency=medium + + * Switch libgpgme11-dev build-dependency to libgpgme-dev. + + -- Emilio Pozuelo Monfort Mon, 05 Dec 2016 18:51:47 +0100 + +seahorse (3.20.0-2) unstable; urgency=medium + + [ Jeremy Bicha ] + * Depend on gnupg instead of transitional gnupg2 + + [ Andreas Henriksson ] + * Convert from cdbs to dh + * Bump dh compat to 10 (automatic dh-autoreconf) + + -- Andreas Henriksson Wed, 14 Sep 2016 18:07:27 +0200 + +seahorse (3.20.0-1) unstable; urgency=medium + + [ Andreas Henriksson ] + * Bump gtk+ build-dependency to >= 3.16 (Closes: #808996) + + [ Michael Biebl ] + * New upstream release. + * Bump Standards-Version to 3.9.8. + + -- Michael Biebl Sun, 17 Apr 2016 21:44:31 +0200 + +seahorse (3.18.0-2) unstable; urgency=medium + + * Depend on gnupg2 instead of gnupg + - since we need >= 2.0.12 (see previous upload). + + -- Andreas Henriksson Sat, 03 Oct 2015 11:39:57 +0200 + +seahorse (3.18.0-1) unstable; urgency=medium + + [ Michael Biebl ] + * Remove Debian menu entry. + + [ Andreas Henriksson ] + * New upstream release. + * Updates according to configure.ac changes: + - bump dependency on gnupg to >= 2.0.12 + + -- Andreas Henriksson Fri, 02 Oct 2015 23:44:57 +0200 + +seahorse (3.16.0-1) unstable; urgency=medium + + * New upstream release. + * Drop patches, merged upstream. + * Update Homepage: URL. + * Bump debhelper compatibility level to 9. + * Bump Standards-Version to 3.9.6. + * Drop obsolete --disable-scrollkeeper configure flag. + + -- Michael Biebl Tue, 26 May 2015 22:45:06 +0200 + +seahorse (3.14.0-2) unstable; urgency=medium + + * 01_ssh_ui.patch, 02_ssh_ui.patch: patches from upstream git. Fix the + SSH key generation UI file. Closes: #770241. + + -- Josselin Mouette Tue, 02 Dec 2014 20:59:59 +0100 + +seahorse (3.14.0-1) unstable; urgency=medium + + * New upstream release. + * Drop debian/patches/fix-desktop-path.patch + - no longer needed, fixed properly upstream. + + -- Andreas Henriksson Tue, 23 Sep 2014 20:08:47 +0200 + +seahorse (3.12.2-1) unstable; urgency=medium + + * New upstream release. + + -- Andreas Henriksson Fri, 16 May 2014 19:53:51 +0200 + +seahorse (3.12.0-1) unstable; urgency=low + + [ Jeremy Bicha ] + * debian/control.in: + - Update homepage + - Drop obsolete build-depends on gnome-doc-utils and libgnome-keyring + + [ Andreas Henriksson ] + * New upstream release. + * Update build-dependencies according to configure.ac changes: + - bump libgck-1-dev to (>= 3.11.91) + - bump libgcr-3-dev to (>= 3.11.91) + - bump libsecret-1-dev to (>= 0.16) + - bump libsoup2.4-dev to (>= 2.33.92) + - add valac (>= 0.22) + * debian/rules: set DEB_LDFLAGS_MAINT_APPEND instead of LDFLAGS + * Bump Standards-Version to 3.9.5 + * Drop debian/patches/30_preferences_menu.patch + - doesn't apply and likely of negliable use these days anyway. + * Add debian/patches/fix-desktop-path.patch + - work around broken desktop file generation while trying to figure + out the real cause/solution. + + -- Andreas Henriksson Mon, 24 Mar 2014 20:34:51 +0100 + +seahorse (3.8.2-1) unstable; urgency=low + + [ Thomas Bechtold ] + * New upstream release + + [ Andreas Henriksson ] + * Drop gnupg2 Build-Conflicts added in 1.0-1, should be fixed since + a long time. See patch added in 1.0.1-6 and later merged upstream. + (Previous related changes are tagged with bug #407800) + * Upload to unstable. + + -- Andreas Henriksson Sat, 25 May 2013 23:52:47 +0200 + +seahorse (3.8.0-1) experimental; urgency=low + + * New upstream release. + + -- Thomas Bechtold Mon, 25 Mar 2013 21:40:43 +0100 + +seahorse (3.7.91-1) experimental; urgency=low + + * The "where's the tarball?" release. + - 3.7.92 tagged in upstream git, but no tarball on ftp.gnome.org + + * New upstream release. + * Let dh-autoreconf patch in --as-needed via + DEB_DH_AUTORECONF_ARGS and drop debian/patches/99_ltmain_as-needed.patch + * Drop ancient debian/patches/08_force_ssh.patch and just build-depend + on openssh-client. Gosh for maintenance cost vs micro-optimization. + + -- Andreas Henriksson Sun, 24 Mar 2013 16:07:45 +0100 + +seahorse (3.6.3-1) experimental; urgency=low + + [ Thomas Bechtold ] + * New upstream release (Closes: #701648) + * debian/patches/10_gpgme_keyring_finalize_typo.patch: + - removed, applied upstream + * debian/patches/11_unavailable_signature_entries.patch: + - removed, applied upstream + * debian/patches/12_align_keyids_with_name_userid.patch + - removed, applied upstream + * debian/control + - Bump libgtk build-depends + - Add libsecret to build-depends + + [ Andreas Henriksson ] + * Add build-dependency on yelp-tools needed by build system for help + + -- Andreas Henriksson Wed, 27 Feb 2013 13:17:59 +0100 + +seahorse (3.4.1-2) unstable; urgency=low + + * Upload to unstable. + * Tighten dependency on gcr and gnome-keyring. + * Remove obsolete configure flags. + + -- Michael Biebl Sat, 19 May 2012 07:26:18 +0200 + +seahorse (3.4.1-1) experimental; urgency=low + + [ Jeremy Bicha ] + * New upstream release. + * debian/control.in: + - Bump libgcr & libgck build-depends + - Depend on gcr for gsettings schema + + [ Jordi Mallach ] + * Don't suggest seahorse-plugins. + * Bump Standards-Version to 3.9.3, no changes needed. + * Refresh 99_ltmain_as-needed.patch with copy from dh-autoreconf. + * Add 10_gpgme_keyring_finalize_typo.patch from upstream Git to fix a + build failure caused by a typo. + * Add 11_unavailable_signature_entries.patch from upstream Git to avoid + getting erroneous "Unavailable entries" for key signatures. + * Add 12_align_keyids_with_name_userid.patch from upstream Git to + align keyids with name/signatures in key properties. + + -- Jordi Mallach Tue, 15 May 2012 01:08:48 +0200 + +seahorse (3.2.2-1) unstable; urgency=low + + [ Jordi Mallach ] + * New upstream release. + * Bump Build-Deps for GCK and GCR. + * Remove obsolete Replaces. + * Drop libcryptui and gir1.2 packages (moved to its own source). + * Drop our manpage, it was merged upstream ages ago. + * Update copyright file, remove full GFDL text and point to common + licenses. + * Watch for .xz tarballs. + * Don't request GTK+3.0 on configure, its the only version supported. + * Likewise for libnotify, it's gone with libcryptui. + * Drop seahorse.install, as it's the only binary. + * Drop 01_autostart_path.patch: obsolete. + * Set Maintainer to the Debian GNOME team. + + [ Michael Biebl ] + * debian/menu: + - Update description, seahorse also manages SSH keys. + * Refresh patches. + * debian/control.in: + - Drop Build-Depends on libdbus-glib-1-dev, no longer required. + - Drop Build-Depends on scrollkeeper. + - Change Build-Depends on libgck-dev → libgck-1-dev. + - Add Depends on gnome-keyring (>= 3.2) for the org.gnome.crypto.pgp + gsettings schema file. + * debian/watch: + - Fix regex to correctly match directories. + * debian/seahorse.install: + - Install the seahorse icon for the menu file. + + -- Michael Biebl Sat, 19 Nov 2011 22:11:01 +0100 + +seahorse (3.0.2-1) unstable; urgency=low + + * New upstream stable release. + * debian/watch: Switch to .bz2 tarballs. + * Refresh debian/patches/08_force_ssh.patch. + * Bump debhelper compatibility level to 8. Update Build-Depends accordingly. + * Replace Build-Depends on libgp11-dev with libgck-dev (>= 3.0.0) for + PKCS#11 support. + * Drop leading article from short description. + + -- Michael Biebl Thu, 02 Jun 2011 23:22:44 +0200 + +seahorse (3.0.0-1) unstable; urgency=low + + * New upstream stable release. + * Build with GTK+3 and require 3.0 versions of libgnome-keyring-dev and + libgcr-dev. + * Rename libcryptui0 to libcryptui0a, as it now links to GTK+3 but + didn't get a soname bump upstream. + * Refresh patches. + * Build-Depend on dh-autoreconf, and use it to replace 90_autotools.patch. + * Enable gobject-introspection support for libcryptui. + * Disable libnotify support temporarily, to avoid entangling the + gnome-keyring transition with libnotify's. + * Bump Standards-Version to 3.9.2 (no changes required). + * Add Vcs-* and Homepage fields. + * Add copyright notes for libcryptui, which is LGPL, and point to the + non-symlinked version of GPL-2. + * Adapt the format of debian/NEWS to something lintian wouldn't ever + bark about. + + -- Jordi Mallach Thu, 14 Apr 2011 23:26:01 +0200 + +seahorse (2.30.1-2) unstable; urgency=low + + * Switch to 3.0 source format. + * 30_preferences_menu.patch: new patch. Move to preferences menu. + Closes: #580402. + + -- Josselin Mouette Fri, 07 May 2010 22:12:11 +0200 + +seahorse (2.30.1-1) unstable; urgency=low + + * New upstream bugfix release: + + debian/patches/90_autotools.patch: + - Updated for the new version. + + -- Sebastian Dröge Wed, 28 Apr 2010 14:19:06 +0200 + +seahorse (2.30.0-1) unstable; urgency=low + + [ Emilio Pozuelo Monfort ] + * debian/patches/02_maxpathlen_hurd.patch: + - Fix FTBFS on the Hurd: don't hardcode the GPG homedir length to + MAXPATHLEN, use dynamic allocation instead. + * debian/control.in: + - Stop build depending on libxml2-dev, it's needed for the epiphany + plugin which is now in seahorse-plugins. + + [ Sebastian Dröge ] + * New upstream stable release: + + debian/patches/02_maxpathlen_hurd.patch: + - Dropped, merged upstream. + + debian/control.in: + - Update build dependencies. + + debian/patches/90_autotools.patch: + - Regenerated for the new version. + + -- Sebastian Dröge Mon, 12 Apr 2010 17:14:26 +0200 + +seahorse (2.28.1-1) unstable; urgency=low + + * New upstream release. + + -- Andrea Veri Thu, 22 Oct 2009 21:39:47 +0200 + +seahorse (2.28.0-1) unstable; urgency=low + + * New upstream release. + - Set usage flags during unattended key generation, + (Closes: #501085) + * debian/control.in: + - removed libglade2-dev B-D, as per configure.in + requirements. + * debian/patches/02_service_autostart.patch: + - removed, applied upstream + * debian/patches/90_autotools.patch: + - refreshed. + * debian/patches/series: + - refreshed + + -- Andrea Veri Thu, 15 Oct 2009 11:58:45 +0200 + +seahorse (2.26.2-1) unstable; urgency=low + + [ Andreas Moog ] + * New upstream release. Closes: #543404. + * debian/patches/99_ltmain.patch, debian/patches/08_force_ssh.patch + refreshed to apply cleanly + * debian/seahorse.1, debian/seahorse.manpages + add manpage for seahorse (Closes: #340218) + * debian/control{.in} + fix spelling error (Gnu -> GNU) + + [ Emilio Pozuelo Monfort ] + * Standards-Version is 3.8.3, no changes needed. + + -- Emilio Pozuelo Monfort Sat, 29 Aug 2009 12:14:29 +0200 + +seahorse (2.26.1-2) unstable; urgency=low + + * 01_autostart_path.patch: new patch. Needed to move the .desktop file + to /usr/share, as is intended for friggin’ translated files that + change with each and every release, since the path is hardcoded in + the daemon itself. Seriously, WTF? + * Change seahorse.install accordingly. + * Rename 90_autoconf.patch to 90_autotools.patch, and regenerate it + with the full stack this time. + * 02_service_autostart.patch: don’t daemonize seahorse-daemon when it + is autostarted by D-Bus, otherwise the first invocation will always + fail. Thanks Sjoerd for the explanations. + + -- Josselin Mouette Wed, 20 May 2009 19:54:51 +0200 + +seahorse (2.26.1-1) unstable; urgency=low + + * New upstream release. + + Builds with newer gnome-keyring. Closes: #527658. + + Refactored code with greatly improved speed. Closes: #395814. + + Starts the daemon with the session if needed. Closes: #438652. + + Removes temporary directories after exiting. Closes: #505648. + + Correctly implements SSH key refreshing. Closes: #508332. + * Update build-dependencies. + * Add missing dependencies in the -dev package. + * 90_autoconf.patch: regenerated for the new version. + * Install the autostart file in /usr/share/gnome/autostart. + * Install API documentation in libcryptui-dev. + + -- Josselin Mouette Wed, 20 May 2009 13:34:28 +0200 + +seahorse (2.24.1-2) unstable; urgency=low + + * Upload to unstable. + + -- Josselin Mouette Sun, 08 Mar 2009 19:16:37 +0100 + +seahorse (2.24.1-1) experimental; urgency=low + + [ Emilio Pozuelo Monfort ] + * New upstream release. + - Update build dependencies. + - Recommend gvfs as it's needed to launch the help. + - debian/patches/01_sharedlib.patch, + debian/patches/05_focus_windows.patch: + + Removed, fixed upstream. + - debian/patches/04_ldap_deprecated.patch: + + Removed, upstream doesn't use deprecated LDAP functions anymore. + - debian/patches/06_tray_hide_window.patch, + debian/patches/09_gecko_1.9.patch, + debian/patches/10_ephyembed_api.patch: + + Removed, the code is now in seahorse-plugins. + - debian/patches/70_relibtoolize.patch: + + Turn it into 90_autoconf.patch and generate it running autoconf. + - Enable key sharing support. + * Remove mentions to the gone code from the description. + * Remove no longer needed hacks from debian/rules. + * Add libgcrypt{0,-dev} packages. Taken from Ubuntu. + * seahorse suggests seahorse-plugins. + * debian/seahorse.Xsession, + debian/seahorse.preinst: + - Remove the Xsession file, as the agent is now in seahorse-plugins. + Also, remove the conffile on upgrades. Taken from Ubuntu. + * Enable PKCS#11 support. Build-dep on libgp11-dev. + + [ Josselin Mouette ] + * Remove seahorse’s recommends on itself. + * 99_ltmain_as-needed.patch: make --as-needed work with libraries. + + -- Josselin Mouette Tue, 09 Dec 2008 22:23:19 +0100 + +seahorse (2.22.3-2) unstable; urgency=low + + * 02_close_fds.patch: set close-on-exec flag on the agent socket's + file descriptor to avoid leaking it to spawned processes. + Closes: #492282. + + -- Josselin Mouette Sat, 30 Aug 2008 18:56:42 +0200 + +seahorse (2.22.3-1) unstable; urgency=low + + * New upstream bugfix release. + * debian/control.in: + + Updated Standards-Version to 3.8.0, no additional changes needed. + + -- Sebastian Dröge Tue, 01 Jul 2008 08:21:48 +0200 + +seahorse (2.22.2-5) unstable; urgency=low + + * Upload to unstable; drop check-dist include. + * Bump build-dependencies to xulrunner 1.9~rc1 and epiphany 2.22.2. + + -- Josselin Mouette Sun, 08 Jun 2008 22:01:33 +0200 + +seahorse (2.22.2-4) experimental; urgency=low + + [ Sebastian Dröge ] + * New upstream bugfix release: + + debian/patches/15_fix_find-remote-keys.patch: + - Dropped, merged upstream. + + [ Josselin Mouette ] + * 03_old_gnupg.patch: removed, we have gnupg 1.4.9 now. + * Now depend on gnupg >= 1.4.7 instead of the conflict. + * Update debian/patches/70_relibtoolize.patch. + + -- Josselin Mouette Tue, 03 Jun 2008 19:48:43 +0200 + +seahorse (2.22.1-3) experimental; urgency=low + + * Target to experimental; include check-dist. + * Require epiphany-browser-dev 2.22.1.1-2 and xulrunner-dev 1.9~b5-3. + * 09_gecko_1.9.patch: replace gecko.m4 by a more recent version that + supports gecko 1.9, and add support for libxul in configure.in. + * Use this libxul variant. Closes: #480819. + * Move 10_relibtoolize.patch to 70_relibtoolize.patch and refresh it. + * 10_ephyembed_api.patch: fixes for the EphyEmbed API to make the + extension work again. Includes fix for the implicit conversion. + Closes: #477113. + + -- Josselin Mouette Mon, 12 May 2008 15:42:25 +0200 + +seahorse (2.22.1-2) unstable; urgency=low + + [ Josselin Mouette ] + * seahorse.Xsession: only start seahorse-agent for GNOME sessions. + Closes: #443115, #472641. + + [ Jose Carlos Garcia Sogo ] + * debian/patches/15_fix-find-remote-keys.patch: + - Added, from upstream SVN r2171. + Fix importing keys from hkp keyservers (Closes: #449461) + + [ Josselin Mouette ] + * 05_focus_windows.patch: force the passphrase prompt and the + configuration dialog to get the focus. + * 06_tray_hide_window.patch: hide the status dialog if it is already + open when the icon is clicked. + + -- Josselin Mouette Sun, 11 May 2008 03:09:06 +0200 + +seahorse (2.22.1-1) unstable; urgency=high + + * New upstream bugfix release: + + debian/patches/10_relibtoolize.patch: + - Regenerated for the new version. + + debian/patches/02_mlock.patch: + - Dropped, not needed anymore. + + -- Sebastian Dröge Mon, 07 Apr 2008 06:36:59 +0200 + +seahorse (2.22.0-1) unstable; urgency=low + + [ Emilio Pozuelo Monfort ] + * New upstream release, some changes merged from the + Ubuntu package: + - Build-depend on libsoup2.4-dev instead of libsoup2.2-dev. + - Build-depend on libgnomevfs-dev. + - debian/patches/01_epiphany-path.patch: + + Removed, fixed upstream. + - debian/patches/08_force_ssh.patch, + debian/patches/10_relibtoolize.patch + + Updated for the new release. + * debian/patches/01_sharedlib.patch: + - Added, patch by Martin Pitt. + Build a shared libseahorse.so instead of linking the static + one to all binaries. This saves about 1.2 MB uncompressed + and 0.6 MB compressed package size. + * debian/patches/series: + - Updated. + + [ Sebastian Dröge ] + * debian/control.in: + + Update nautilus-cd-burner build dependency version. + + -- Sebastian Dröge Wed, 12 Mar 2008 11:51:00 +0100 + +seahorse (2.20.3-2) unstable; urgency=low + + * Fix capitalization of GNOME, and a repetition of the short + description in the long one. + * 03_old_gnupg.patch: new patch, reverts upstream commit r1781. It is + incompatible with the age requirements of the GnuPG version in + Debian. Fixes an infinite loop. Closes: #465481. + * Conflict against gnupg >= 1.4.7 to handle gracefully the time when + gnupg will be updated. + * 04_ldap_deprecated.patch: patch from Dann Frazier to use deprecated + LDAP functions. Closes: #463423. + + -- Josselin Mouette Fri, 15 Feb 2008 23:35:04 +0100 + +seahorse (2.20.3-1) unstable; urgency=low + + * New upstream release, with updated translations: + + debian/patches/10_relibtoolize.patch: + - Regenerated for the new version. + * debian/control.in: + + Update Standards-Version to 3.7.3, no additional changes needed. + + -- Sebastian Dröge Mon, 07 Jan 2008 21:56:46 +0100 + +seahorse (2.20.1-2) unstable; urgency=low + + * Switch to cdbs and quilt. + * Update menu file to the latest version. + * 01_epiphany-path.patch: use the path in the pkg-config path to + install the extensions. Closes: #451012. + * Fix FSF address in copyright file. + * Convert the icon to XPM format, ship it and use it in the menu file. + * Rename NEWS.Debian to NEWS and format it correctly. + + -- Josselin Mouette Thu, 15 Nov 2007 19:44:06 +0100 + +seahorse (2.20.1-1) unstable; urgency=low + + * New upstream bugfix release, works with gedit 2.20: + + debian/patches/20_svn_fix_pointer_usage.dpatch, + debian/patches/21_svn_missing_include.dpatch: + - Dropped, merged upstream. + + debian/patches/10_relibtoolize.dpatch: + - Updated for the new version. + + -- Sebastian Dröge Tue, 16 Oct 2007 13:19:36 +0200 + +seahorse (2.20.0-1) unstable; urgency=low + + * New upstream release, only change is the corrected version number. + * debian/patches/20_svn_fix_pointer_usage.dpatch: + + Fix some broken pointer handling. Patch taken from SVN. + * debian/patches/21_svn_missing_include.dpatch: + + Add a missing include and call gnome_vfs_unescape_string correctly. + This fixes an implicit pointer conversion that will break on archs + where sizeof(void*)>sizeof(int). Patch taken from SVN (Closes: #443255). + * debian/patches/10_relibtoolize.dpatch: + + Updated for the new version. + + -- Sebastian Dröge Thu, 20 Sep 2007 20:30:07 +0200 + +seahorse (2.20-1) unstable; urgency=low + + [ Josselin Mouette ] + * debian/gconf-defaults: re-enable the notification area icon until + the "clean cache" feature is exposed somewhere else (closes: #432975). + + [ Sebastian Dröge ] + * New upstream release: + + Fixes help button in seahorse-preferences (Closes: #409692). + + Fixes missing icon warning (Closes: #403663). + + Fixes improper handling of gnome-keyring-daemon keys with < in + name(Closes: #429771). + * debian/control.in: + + Build depend on libebook1.2-dev. + * debian/patches/3_setuid.dpatch, + debian/patches/9_fix_ephy_crash.dpatch, + debian/patches/1_seahorse-agent-manpage.dpatch, + debian/patches/4_gpg-agent.dpatch: + + Dropped, merged upstream. + * debian/patches/2_mlock.dpatch, + debian/patches/10_relibtoolize.dpatch: + + Updated for the new version. + + -- Sebastian Dröge Mon, 17 Sep 2007 22:45:56 +0200 + +seahorse (1.0.1-6) unstable; urgency=low + + [ Sebastian Dröge ] + * debian/patches/multiple_messages.dpatch: + + Drop accidentially added patch from the diff. + + [ Josselin Mouette ] + * debian/gconf-defaults: disable the notification area icon by + default as it doesn't notify of anything. See bugzilla#432891. + + [ Sebastian Dröge ] + * debian/patches/4_gpg-agent.dpatch: + + Prevent seahorse from crashing when gpg-agent is running. Patch + taken from upstream. This makes it possible to have both installed + and still everything working. (Closes: #407800, #420415, #415842) + + -- Sebastian Dröge Sun, 08 Jul 2007 19:13:28 +0200 + +seahorse (1.0.1-5) unstable; urgency=low + + * debian/patches/9_fix_ephy_crash.dpatch: + + Fix epiphany extension crash (Closes: #422616). Patch taken from the + Gnome 2.18 branch of seahorse, thanks to Sam Morris for pointing at it. + + -- Sebastian Dröge Mon, 7 May 2007 16:07:00 +0200 + +seahorse (1.0.1-4) unstable; urgency=low + + [ Sebastian Dröge ] + * debian/control, + debian/control.in, + debian/rules: + + Put @GNOME_TEAM@ in Uploaders and include the required stuff in rules. + + [ Loic Minier ] + * Cleanups. + * Wrap build-deps and deps. + * Add watch file. + * Add a get-orig-source target to retrieve the upstream tarball. + * Include full licensing information in debian/copyright. + + [ Sebastian Dröge ] + * debian/control.in: + + Remove the gpg-agent conflict to make it at least possible to install + those two packages at the same time. gpg-agent will be used if both are + installed as it starts earlier and seahorse doesn't crash the session + anymore in that case. This is a partial fix for bug #415842. + * debian/rules: + + Drop circular target dependency. + + Fix rules so the patches get actually applied. + + -- Sebastian Dröge Thu, 3 May 2007 20:49:56 +0200 + +seahorse (1.0.1-3) unstable; urgency=low + + * debian/patches/2_mlock.dpatch: + + Fix the mlock() check. It failed whenever called as root or with + fakeroot although we support mlock() as normal user (Closes: #421728). + * debian/patches/3_setuid.dpatch: + + Run chmod u+s on the correct binary (Closes: #421666). + * debian/patches/10_relibtoolize.dpatch: + + Regenerated for the above changes. + + -- Sebastian Dröge Tue, 1 May 2007 22:59:05 +0200 + +seahorse (1.0.1-2) unstable; urgency=low + + * debian/rules: + + Don't ship the mime-type catalog with seahorse, it's in shared-mime-info + since 0.20. + + -- Sebastian Dröge Mon, 23 Apr 2007 12:31:52 +0200 + +seahorse (1.0.1-1) unstable; urgency=low + + * New upstream version + * Upload to unstable + * debian/po, + debian/seahorse.config, + debian/seahorse.templates, + debian/seahorse.postinst, + debian/control, + debian/rules: + + Remove debconf stuff. With kernels greater than 2.6.8 no suid binary + is needed to get mlock()'ed memory anymore. + * debian/patches/9_gtk-2.10-revert.dpatch: + + Dropped, we use gtk 2.10 now. + * debian/control: + + Update build dependencies. + * debian/control, + debian/rules: + + Enable epiphany plugin. + * debian/patches/10_relibtoolize.dpatch: + + Updated for new upstream version. + + -- Sebastian Dröge Sun, 15 Apr 2007 21:20:02 +0200 + +seahorse (1.0-1) experimental; urgency=low + + * New upstream release + * debian/control: + + Add Build-Conflicts with gnupg2 and Conflicts on + gnupg-agent (Closes: #407800) + * debian/patches/10_relibtoolize.dpatch: + + Updated + + -- Sebastian Dröge Mon, 12 Mar 2007 21:14:16 +0100 + +seahorse (0.9.92-1) experimental; urgency=low + + * New upstream release + * debian/patches/30_crash-fixes.dpatch, + debian/patches/40_crash-fix.dpatch: + + Dropped, merged upstream + * debian/patches/10_relibtoolize.dpatch: + + Updated for new upstream version + + -- Sebastian Dröge Sun, 25 Feb 2007 11:10:22 +0100 + +seahorse (0.9.91-2) experimental; urgency=low + + * debian/patches/30_crash-fixes.dpatch: + + Fix crash when editing gpg.conf and add missing paranthesis in SSH + agent. Patches from Gnome SVN. + * debian/patches/40_crash-fix.dpatch: + + Fix for crash that happens when using a cached passphrase + + -- Sebastian Dröge Fri, 23 Feb 2007 11:49:11 +0100 + +seahorse (0.9.91-1) experimental; urgency=low + + * New upstream release + * debian/patches/1_seahorse-agent-manpage.dpatch: + + Fix the binary name of seahorse-agent in the manpage. Patch from the + Ubuntu package by Emmet Hikory . + * debian/patches/10_relibtoolize.dpatch: + + Updated for new upstream version + + -- Sebastian Dröge Tue, 13 Feb 2007 13:23:01 +0100 + +seahorse (0.9.10-2) unstable; urgency=low + + * Upload to unstable + * debian/control: + + Remove duplicated libgnome2-dev build dependency + + -- Sebastian Dröge Mon, 15 Jan 2007 01:25:05 +0100 + +seahorse (0.9.10-1) experimental; urgency=low + + * New upstream release: + + Fixes lockup when viewing key properties (Closes: #406139) + + Fix crash in agent when listing transientkey in cache (Closes: #405725) + + Don't prompt for confirmation on each key when deleting multiple + keys (Closes: #396024) + * debian/patches/9_gtk-2.10-revert.dpatch: + + Don't require gtk 2.10 but revert upstream commit that changed from + the eggtrayicon to the gtk 2.10 status icon. This version should go to + unstable ASAP after some testing and a gtk 2.10 dependency would prevent + this. + * debian/patches/10_relibtoolize.dpatch: + + Regenerated + * debian/control: + + Updated build dependencies + + Updated to use my debian.org mail address + + -- Sebastian Dröge Sun, 7 Jan 2007 20:26:36 +0100 + +seahorse (0.9.9-1) UNRELEASED; urgency=low + + * New upstream release + * debian/patches/10_relibtoolize.dpatch: + + Regenerated for the new upstream version + * debian/seahorse.links: + + Removed seahorse-agent link... this is an application now + * debian/seahorse-daemon.Xsession: + + Call seahorse-agent instead of seahorse-daemon, renamed file to + seahorse.Xsession + + -- Sebastian Dröge Wed, 20 Dec 2006 18:12:50 +0100 + +seahorse (0.9.8-1) UNRELEASED; urgency=low + + * New upstream release + * debian/seahorse-daemon.Xsession, + debian/rules: + + Install Xsession script to properly start seahorse-daemon as explained + on http://live.gnome.org/Seahorse/SessionIntegration (Closes: #381313) + + -- Sebastian Dröge Mon, 4 Dec 2006 00:45:11 +0100 + +seahorse (0.9.7-1) unstable; urgency=low + + * New upstream release. + * debian/patches: + + 9_move_libexec: drop; applied upstream. + + -- Jose Carlos Garcia Sogo Tue, 21 Nov 2006 22:25:32 +0100 + +seahorse (0.9.6-1) unstable; urgency=low + + * New upstream version. + + Fixes crashes when deleting keys (Closes: #395815) + * debian/patches: + + 9_move_libexec: make sure that nothing needs libexec (Closes: #378178) + + 10_relibtoolize: updated + + 20_amd64-ssh-crash: deleted, included upstream + * debian/control: + + Remove debconf-2.0 dependency. It is going to be added automatically by + dh_installdebconf + + -- Jose Carlos Garcia Sogo Sun, 29 Oct 2006 12:39:56 +0100 + +seahorse (0.9.5-3) unstable; urgency=low + + * Use $(CURDIR) instead of $(PWD), to avoid generating empty packages + in arches using sudo instead of fakeroot (Closes: #390389) + + -- Jose Carlos Garcia Sogo Sat, 7 Oct 2006 10:40:26 +0200 + +seahorse (0.9.5-2) unstable; urgency=low + + * debian/seahorse.postinst, + debian/seahorse.postrm, + debian/rules: + + Removed update-mime-database calls and call dh_installmime to handle + this. + * debian/rules: + + Random cleanup for stuff that is not needed anymore + + Correctly set CFLAGS and other variables for configure + + Drop -Wl,--as-needed from LDFLAGS as it is known to break gedit plugins + * debian/seahorse.links, + debian/rules: + + Install a seahorse-agent link that points to seahorse-daemon + to allow painless upgrades from older versions and install + NEWS.Debian. (Closes: #359353) + * debian/control: + + Depend on debconf-2.0 + * debian/seahorse.dirs: + + Drop useless file. + * debian/control, + debian/rules, + debian/compat: + + Update to debhelper compat level 5 + * debian/patches/20_amd64-ssh-crash.dpatch: + + Fix amd64 crasher when using the SSH agent (Closes: #388276) + Patch from upstream CVS + + -- Sebastian Dröge Fri, 22 Sep 2006 02:08:02 +0200 + +seahorse (0.9.5-1) unstable; urgency=low + + * New upstream release (Closes: #386617) + * debian/control: + + Add myself to Uploaders + + Tighten libnautilus-extension-dev build dependency to (>= 2.9.0) and + libpanel-applet2-dev to (>= 2.9.4) according to configure.ac + + Add build dependency on libgnome-keyring-dev + * debian/rules: + + Also remove static libcryptui and libcryptui headers + + Don't remove usr/libexec, it's not created anymore (Closes: #386787) + + Remove usr/share/mime/mime.cache as it seems to be created under some + circumstances and should never be shipped + * debian/patches/.dpatch, + debian/patches/00list, + debian/patches/seahorse_desktop.dpatch: + + Drop unnecessary stuff + * debian/patches/10_relibtoolize.dpatch: + + Updated for new upstream version + + -- Sebastian Dröge Tue, 12 Sep 2006 19:02:49 +0200 + +seahorse (0.9.3-1) unstable; urgency=low + + * The "I move" release. + * New upstream version. + + Fixed crash when enabling key sharing (Closes: #380160) + + Pipes are no longer left in ~/.gnome2 dir (Closes: #344500) + * debian/patches: + + 8_force_ssh: update to new checks made in configure.in + + -- Jose Carlos Garcia Sogo Tue, 5 Sep 2006 23:02:14 +0200 + +seahorse (0.9.1-2) unstable; urgency=low + + * Add build dependency on gnome-doc-utils (Closes: #376307) + + -- Jose Carlos Garcia Sogo Sun, 2 Jul 2006 01:01:01 +0200 + +seahorse (0.9.1-1) unstable; urgency=low + + * New upstream release (Closes: #375723) + * debian/patches: + + seahorse-desktop: remove. Included upstream + + 8_force_ssh, 9_move_libexec: add a description + + 10_relibtoolize: remade + * debian/control: bumped to Standards-Version 3.7.2. No changes. + + -- Jose Carlos Garcia Sogo Sat, 1 Jul 2006 22:54:18 +0200 + +seahorse (0.9.0-2) unstable; urgency=low + + * debian/patches: + + Force ordering of patches. + + Fix 9_move_libexec to also move seahorse-applet location. + + Remade 10_relibtoolize to get every patch. + + -- Jose Carlos Garcia Sogo Sun, 26 Mar 2006 12:51:54 +0200 + +seahorse (0.9.0-1) unstable; urgency=low + + * New upstream release. + + Fixes problem signing imported keys (Closes: #353423) + + Fix critical warnings when launching seahorse in a console + (Closes: #342283, #328308) + + Do not crash on deleting multiple keys (Closes: #309571) + + Properties dialog shows secret keys to select (Closes: #287134) + + Doesn't depend on MIME type to show Nautilus menu integration. (Closes: #287131) + + Adds support for photo IDs (Closes: #284155) + + * New build depends on: + + libnotify-dev: enable libnotify support. + + libpanel-applet2-dev: compile new clipboard applet + + libavahi-glib-dev: allow your public keyring to be shared using md-dns + + libdbus-glib-1-dev: compil dbus support + + * debian/patches: + + force_ssh: force compiling ssh support without the need of depending on + openssh-client at compile time. + + 10_relibtoolize: updated to include changes from force_ssh in + configure script. + + seahorse_desktop: fixes menu categories for seahorse. + + move_libexec: use /usr/lib/seahorse instead of /usr/libexec + + 01_update_DE_po: applied upstream. + + fix-gnupg-1.4.2: included upstream. + + gpgme_1.1.0-check: included upstream. + + * debian/po: + + add sv.po file (Closes: #333694) + + s/agent/daemon/g in every .po file. + + * Recommend openssh-client, as we can now manage SSH keys as well. + + * Added NEWS.Debian file talking about renaming of seahorse-agent to + seahorse-daemon. + + * debian/seahorse.postinst, debian/seahorse.templates: change seahorse-agent + for seahorse-daemon. + + -- Jose Carlos Garcia Sogo Sat, 25 Mar 2006 14:09:59 +0100 + + +seahorse (0.8.0-1) unstable; urgency=low + + * New upstream version. + + fix-gnupg-1.4.2 patch disabled. Included upstream + * Build-Depend on libnautilus-extension-dev. Thanks to Sebastian Bacher for + pointing this + + -- Jose Carlos Garcia Sogo Wed, 12 Oct 2005 14:47:37 +0200 + +seahorse (0.7.9-4) unstable; urgency=low + + * debian/patches: + + fix-gnupg-1.4.2: fix problems when used with GnuPG 1.4.2. + Patch got from upstream Gnome Bugzilla, bug #313329 + + -- Jose Carlos Garcia Sogo Sat, 1 Oct 2005 20:33:37 +0200 + +seahorse (0.7.9-3) unstable; urgency=low + + * Binary upload in i386 didn't include nautilus-extension library. + Reuploading. + * Cleaning all .a and .la files around. I don't think nobody is going + to develop using seahorse internal libs. + + -- Jose Carlos Garcia Sogo Sat, 1 Oct 2005 10:18:08 +0200 + +seahorse (0.7.9-2) unstable; urgency=low + + * Actually include French debconf translation (Closes: #315587) + + -- Jose Carlos Garcia Sogo Sun, 18 Sep 2005 17:01:27 +0200 + +seahorse (0.7.9-1) unstable; urgency=low + + * New upstream release (only requested in IRC) + + Keyring backups not created world readable (Closes: #314726) + + Do not crash if gpg.conf is not available (Closes: #322658) + + * Debconf translations updated: + + Italian (Closes: #313238) + + French (Closes: #315587) + + German (Closes: #326143) + + Vietnamese (Closes: #317932) + + * debian/rules: remove left files in /usr/share/mime at install target + (Closes: #313408, #313130) + * debian/patches: + + 10_relibtoolize: update + + 01_update_DE_po: new (Closes: #313914) + * debian/control: + + Update Standards-Version to 3.6.2. No changes needed. + + -- Jose Carlos Garcia Sogo Fri, 16 Sep 2005 23:24:13 +0200 + +seahorse (0.7.8-2) unstable; urgency=low + + * Uploaded to unstable along with GNOME 2.10 transition. + * Build-depend on libsoup2.2-dev and libldap2-dev. (Closes: #311954) + * Added Czech debconf translation by Miroslav Kure. (Closes: #308469) + + -- Jose Carlos Garcia Sogo Sat, 11 Jun 2005 12:07:35 +0200 + +seahorse (0.7.8-1) experimental; urgency=low + + * New upstream version. (Closes: #306433) + * Compiled with GNOME 2.10 libs and new Nautilus extension. + * Hey, we are shipping gedit plugin since 0.7.6-5 (Closes: #283513) + * New Frech debconf translation. Julien Valroff (Closes: #298327) + * New Spanish debconf translation. (Me) + * Remove libeel from build-depends. No longer needed. + + -- Jose Carlos Garcia Sogo Sun, 8 May 2005 10:32:51 +0200 + +seahorse (0.7.6-5) unstable; urgency=low + + * Tighten build dependency in gedit to version >=2.8.3-3 (Closes: #303125) + + -- Jose Carlos Garcia Sogo Tue, 5 Apr 2005 21:49:34 +0200 + +seahorse (0.7.6-4) unstable; urgency=low + + * Enable gedit plugin, as we now have a gedit-dev package. + * debian/control: add gedit plugin to description and a Enhaces: gedit + field. + * Passing -Wl,-O1 -Wl,--as-needed to linker. Should reduce binary + dependencies. + + -- Jose Carlos Garcia Sogo Fri, 1 Apr 2005 21:18:35 +0200 + +seahorse (0.7.6-3) unstable; urgency=low + + * The "3rd in 3 days" release. I am sorry for autobuilders. + * Fixed postrm script. It does not fail on unknown parameters. + (Closes: #296189) + + -- Jose Carlos Garcia Sogo Mon, 21 Feb 2005 23:43:44 +0100 + +seahorse (0.7.6-2) unstable; urgency=low + + * The "seahorse is not cpufreq-selector" release. + * Patched debconf template. (Closes: #296044, #296045) + + -- Jose Carlos Garcia Sogo Sat, 19 Feb 2005 23:40:46 +0100 + +seahorse (0.7.6-1) unstable; urgency=low + + * New upstream release. + + Fixed yelp. (Closes: #279845) + + Works with GnuPG 1.4 (Closes: #294179) + + New key properties dialog. (Closes: #285711) + + Allows encryption to self. (Closes: #287132) + + Initial keyserver support. (Closes: #284156) + + -- Jose Carlos Garcia Sogo Sat, 19 Feb 2005 19:02:30 +0100 + +seahorse (0.7.5-3) unstable; urgency=low + + * debian/rules: + + Removed more mime stuff which was being installed with the package. + + * debian/seahorse.postrm: + + Only call update-mime-database on remove. + + * debian/seahorse.postinst: + + Only call update-mime-database on remove. + + Added a debconf question about setting seahorse-agent SUID root. + + * debian/seahorse.[config,templates]: + + New. Added a debconf question about setting seahorse-agent SUID root. + + + -- Jose Carlos Garcia Sogo Thu, 11 Nov 2004 00:07:36 +0100 + +seahorse (0.7.5-2) unstable; urgency=low + + * debian/rules: + + Removed from the package mime files that should be generated + by update-mime-database on each system. (Closes: #279742) + + * debian/seahorse.post[inst,rm]: + + Added to call update-mime-database on each install and removal, + so we fix systems broken by previous version. + + * debian/control: + + Let's Build-Depend on debhelper version containing dh_desktop. + + -- Jose Carlos Garcia Sogo Fri, 5 Nov 2004 18:48:42 +0100 + +seahorse (0.7.5-1) unstable; urgency=low + + * New upstream version + * Using dh_desktop now. + + -- Jose Carlos Garcia Sogo Wed, 3 Nov 2004 22:53:43 +0100 + +seahorse (0.7.4-1) unstable; urgency=low + + * New upstream release. (Closes: #277497) + + It now depends on gpgme 1.0.x (Closes: #221606) + + Fixed crash on exit. (Closes: #268301) + + Handle properly key signatures. (Closes: #268300) + + Don't freeze when using gpg. (Closes: #264404) + + * debian/control: + + Build-Depend on libgpgme11-dev + + * debian/rules: + + use dh_gconf, so gconf registry is restarted in postinst. (Closes: #254218) + + disable gedit plugin until a gedit-dev package is available. + + * debian/patches: + + 01_fix_pgp-preferences_icon: removed + + 10_relibtoolize: updated + + 00list: updated + + -- Jose Carlos Garcia Sogo Sat, 23 Oct 2004 12:29:03 +0200 + +seahorse (0.7.3-6) unstable; urgency=low + + * Added missing libxml-parser-perl to buil dependencies. (Closes: #265043) + + -- Jose Carlos Garcia Sogo Wed, 11 Aug 2004 18:29:39 +0200 + +seahorse (0.7.3-5) unstable; urgency=low + + * debian/patches: + - 10_relibtoolize: updated & really applied. The resulting package + shouldn't depend on libgcrypt7 (Closes: #263660) + + -- Jose Carlos Garcia Sogo Fri, 6 Aug 2004 01:27:16 +0200 + +seahorse (0.7.3-4) unstable; urgency=low + + * debian/patches: + - 10_relibtoolize: Relibtoolized to get only the needed dependencies. + + -- Jose Carlos Garcia Sogo Sat, 19 Jun 2004 17:34:37 +0200 + +seahorse (0.7.3-3) unstable; urgency=low + + * Using dh_gconf and dh_scrollkeeper now. + * Removed reference to /usr/share/common-licenses/GFDL. (Closes: #215017) + * Link with new gnutls. (Closes: #221626) + * Corrected reference from icon in Gnome menu. (Closes: #222032) + * Fixed Debian menu. (Closes: #229944) + + -- Jose Carlos Garcia Sogo Fri, 19 Mar 2004 15:37:08 +0100 + +seahorse (0.7.3-2) unstable; urgency=low + + * Relibtoolized. (Closes: #192316) + * Fixed a bug in postinst which made gconf schema not to + be installed. (Closes: #192357) + + -- Jose Carlos Garcia Sogo Thu, 8 May 2003 22:33:40 +0200 + +seahorse (0.7.3-1) unstable; urgency=low + + * New upstream version. + * Added libeel2-dev build-dependency. + * Added explicit build-dependency on debhelper (>= 4.0.0) + * Bumped standars-version to 3.5.9. No changes + + -- Jose Carlos Garcia Sogo Tue, 6 May 2003 22:28:39 +0200 + +seahorse (0.7.1-1) unstable; urgency=low + + * Another new upstream version. + + -- Jose Carlos Garcia Sogo Tue, 4 Mar 2003 21:08:41 +0100 + +seahorse (0.7.0-1) unstable; urgency=low + + * New upstream version. + No bugs closed, as no bugs have been filled :-) + + -- Jose Carlos Garcia Sogo Tue, 11 Feb 2003 23:21:59 +0100 + +seahorse (0.6.1-1) unstable; urgency=low + + * New upstream release. + + -- Jose Carlos Garcia Sogo Sat, 1 Feb 2003 10:10:50 +0100 + +seahorse (0.6.0-1) unstable; urgency=low + + * New upstream release. This is live again. (Closes: #170813) + * This is a completely rewrite, for GNOME 2 (Closes: #95848, #165769) + * Got es.po from CVS because file released with 0.6.0 is bad UTF-8 encoded + * Standars-Version -> 3.5.8 + + -- Jose Carlos Garcia Sogo Thu, 23 Jan 2003 23:48:10 +0100 + +seahorse (0.5.0-5) unstable; urgency=low + + * Moved to main. + + -- Jose Carlos Garcia Sogo Wed, 24 Apr 2002 00:55:30 +0200 + +seahorse (0.5.0-4) unstable; urgency=low + + * I forgot to change Mantainer field in debian/control file. Sorry + + -- Jose Carlos Garcia Sogo Fri, 8 Feb 2002 15:42:21 +0100 + +seahorse (0.5.0-3) unstable; urgency=low + + * I have adopted this package. (Closes: #132441) + * I have applied a little patch to not show passphrase when + signing a key (Closes: #132435) + + -- Jose Carlos Garcia Sogo Thu, 7 Feb 2002 20:37:25 +0100 + +seahorse (0.5.0-2) unstable; urgency=low + + * Package orphaned. + + -- Christian Marillat Wed, 6 Feb 2002 18:37:50 +0100 + +seahorse (0.5.0-1) unstable; urgency=low + + * New upstream release. + + -- Christian Marillat Tue, 20 Feb 2001 10:21:13 +0100 + +seahorse (0.4.9-3) unstable; urgency=low + + * Build against the latest gnome-libs 1.2.11 + + -- Christian Marillat Wed, 14 Feb 2001 14:19:36 +0100 + +seahorse (0.4.9-2) unstable; urgency=low + + * Switch to debhelper v2. + * debian/control removed unnecessary build-depends. + + -- Christian Marillat Thu, 25 Jan 2001 14:02:24 +0100 + +seahorse (0.4.9-1) unstable; urgency=low + + * New upstream release. + * Removed the debian folder from orig.tar.gz (Closes: #66793). + * Added build-depends field. Standards-Version: to 3.1.1.1 + * New e-mail address. + + -- Christian Marillat Mon, 10 Jul 2000 16:23:52 +0200 + +seahorse (0.4.8-1) unstable; urgency=low + + * New upstream release. + + -- Christian Marillat Tue, 13 Jun 2000 22:57:36 +0200 + +seahorse (0.4.6-2) unstable; urgency=low + + * Moved to non-US. + + -- Christian Marillat Tue, 23 May 2000 09:06:25 +0200 + +seahorse (0.4.6-1) unstable; urgency=low + + * New Seahorse Release, First official debian release.. + + -- Christian Marillat Fri, 19 May 2000 14:49:09 +0200 + +seahorse (0.4.5-1) unstable; urgency=low + + * New Seahorse Release. + + -- Anthony Mulcahy Sun, 7 May 2000 22:06:38 +0900 + +seahorse (0.4.0-1) unstable; urgency=low + + * New Seahorse Release. + + -- Anthony Mulcahy Sun, 7 May 2000 22:06:05 +0900 + +seahorse (0.3.6-1) unstable; urgency=low + + * New Seahorse Release. + + -- Anthony Mulcahy Sun, 20 Feb 2000 22:20:45 +0900 + +seahorse (0.3.5-1) unstable; urgency=low + + * New Seahorse Release. + + -- Anthony Mulcahy Sat, 19 Feb 2000 16:20:53 +0900 + +seahorse (0.3.4-1) unstable; urgency=low + + * New Seahorse Release. + * + + -- Anthony Mulcahy Sat, 19 Feb 2000 16:20:20 +0900 + +seahorse (0.3.2-1) unstable; urgency=low + + * New Seahorse Release. + + -- Anthony Mulcahy Wed, 26 Jan 2000 05:54:20 +0900 + +seahorse (0.3.1-1) unstable; urgency=low + + * Initial Release. + + -- Anthony Mulcahy Mon, 10 Jan 2000 22:17:00 +0900 diff --git a/control b/control new file mode 100644 index 00000000..8f1c945e --- /dev/null +++ b/control @@ -0,0 +1,50 @@ +# This file is autogenerated. DO NOT EDIT! +# +# Modifications should be made to debian/control.in instead. +# This file is regenerated automatically in the clean target. +Source: seahorse +Section: gnome +Priority: optional +Maintainer: Debian GNOME Maintainers +Uploaders: Emilio Pozuelo Monfort , Jeremy Bicha , Laurent Bigonville +Build-Depends: debhelper-compat (= 12), + dh-sequence-gnome, + docbook-xml, + docbook-xsl, + itstool, + libavahi-client-dev (>= 0.6), + libavahi-glib-dev (>= 0.6), + libgck-1-dev (>= 3.11.91), + libgcr-3-dev (>= 3.11.91), + libglib2.0-dev (>= 2.58), + libgpgme-dev (>= 1.7.0), + libgtk-3-dev (>= 3.22), + libhandy-1-dev (>= 1.0.0), + libldap2-dev, + libpwquality-dev, + libsecret-1-dev (>= 0.16), + libsoup2.4-dev (>= 2.33.92), + libxml2-utils, + meson (>= 0.49), + openssh-client, + valac (>= 0.22), + xsltproc +Standards-Version: 4.5.1 +Vcs-Browser: https://salsa.debian.org/gnome-team/seahorse +Vcs-Git: https://salsa.debian.org/gnome-team/seahorse.git +Homepage: https://wiki.gnome.org/Apps/Seahorse + +Package: seahorse +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends}, + gcr (>= 3.4), + gnome-keyring (>= 3.4), + gnupg (>= 2.0.12) +Recommends: openssh-client +Description: GNOME front end for GnuPG + Seahorse is a front end for GnuPG - the GNU Privacy Guard program - + that integrates to the GNOME desktop. It is a tool for secure + communications and data storage. Data encryption and digital signature + creation can easily be performed through a GUI and Key Management + operations can easily be carried out through an intuitive interface. diff --git a/control.in b/control.in new file mode 100644 index 00000000..bbb76846 --- /dev/null +++ b/control.in @@ -0,0 +1,46 @@ +Source: seahorse +Section: gnome +Priority: optional +Maintainer: Debian GNOME Maintainers +Uploaders: @GNOME_TEAM@ +Build-Depends: debhelper-compat (= 12), + dh-sequence-gnome, + docbook-xml, + docbook-xsl, + itstool, + libavahi-client-dev (>= 0.6), + libavahi-glib-dev (>= 0.6), + libgck-1-dev (>= 3.11.91), + libgcr-3-dev (>= 3.11.91), + libglib2.0-dev (>= 2.58), + libgpgme-dev (>= 1.7.0), + libgtk-3-dev (>= 3.22), + libhandy-1-dev (>= 1.0.0), + libldap2-dev, + libpwquality-dev, + libsecret-1-dev (>= 0.16), + libsoup2.4-dev (>= 2.33.92), + libxml2-utils, + meson (>= 0.49), + openssh-client, + valac (>= 0.22), + xsltproc +Standards-Version: 4.5.1 +Vcs-Browser: https://salsa.debian.org/gnome-team/seahorse +Vcs-Git: https://salsa.debian.org/gnome-team/seahorse.git +Homepage: https://wiki.gnome.org/Apps/Seahorse + +Package: seahorse +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends}, + gcr (>= 3.4), + gnome-keyring (>= 3.4), + gnupg (>= 2.0.12) +Recommends: openssh-client +Description: GNOME front end for GnuPG + Seahorse is a front end for GnuPG - the GNU Privacy Guard program - + that integrates to the GNOME desktop. It is a tool for secure + communications and data storage. Data encryption and digital signature + creation can easily be performed through a GUI and Key Management + operations can easily be carried out through an intuitive interface. diff --git a/copyright b/copyright new file mode 100644 index 00000000..04ff3d33 --- /dev/null +++ b/copyright @@ -0,0 +1,42 @@ +This package was debianized by Jose Carlos Garcia Sogo on +Mon, 17 Jan 2003 20:14:10 +0100. + +It was downloaded from https://download.gnome.org/sources/seahorse/ + +Upstream Authors: Nate Nielsen , Adam Schreiber + +Copyright © 2001, 2002 Jose Carlos Garcia Sogo +Copyright © 2002, 2003 Jacob Perkins +Copyright © 2004, 2006 Nate Nielsen, Adam Schreiber +Copyright © 2005-2011 Stef Walter + +Main License (everything except docs): + + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL-2'. + +Documentation and help files are covered by GFDL 1.1 license, with no +invariant sections of front or back-covers. + + Copyright © 2005-2011 Stef Walter. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.1 + or any later version published by the Free Software Foundation; + with no Invariant Sections, Front-Cover or Back-Cover Texts. + +On Debian systems, the complete text of the GNU Free Documentation +License can be found in `/usr/share/common-licenses/GFDL-1.1'. diff --git a/docs b/docs new file mode 100644 index 00000000..46a4ca71 --- /dev/null +++ b/docs @@ -0,0 +1,3 @@ +AUTHORS +NEWS +README.md diff --git a/gbp.conf b/gbp.conf new file mode 100644 index 00000000..4ed071a9 --- /dev/null +++ b/gbp.conf @@ -0,0 +1,17 @@ +[DEFAULT] +pristine-tar = True +debian-branch = debian/master +upstream-branch = upstream/latest + +[buildpackage] +sign-tags = True + +[dch] +multimaint-merge = True + +[import-orig] +postimport = dch -v%(version)s New upstream release; git add debian/changelog; debcommit +upstream-vcs-tag = %(version)s + +[pq] +patch-numbers = False diff --git a/patches/series b/patches/series new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/patches/series @@ -0,0 +1 @@ + diff --git a/rules b/rules new file mode 100755 index 00000000..a4ca2deb --- /dev/null +++ b/rules @@ -0,0 +1,10 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O1 -Wl,-z,defs -Wl,--as-needed + +%: + dh $@ + +override_dh_auto_configure: + dh_auto_configure -- -Dmanpage=true diff --git a/source/format b/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/watch b/watch new file mode 100644 index 00000000..ac388170 --- /dev/null +++ b/watch @@ -0,0 +1,3 @@ +version=4 +https://download.gnome.org/sources/@PACKAGE@/([\d\.]+[02468])/ \ + @PACKAGE@@ANY_VERSION@\.tar\.xz -- cgit v1.2.3 From 586515e1b31d82952013d14f5c40bb7751b73304 Mon Sep 17 00:00:00 2001 From: Laurent Bigonville Date: Sat, 12 Dec 2020 08:56:34 +0000 Subject: Import seahorse_3.38.0.1.orig.tar.xz [dgit import orig seahorse_3.38.0.1.orig.tar.xz] --- AUTHORS | 14 + COPYING | 339 ++ COPYING-DOCS | 355 ++ COPYING.LIB | 502 ++ NEWS | 1650 +++++++ README.md | 50 + THANKS | 27 + build-aux/gpg_check_version.py | 49 + build-aux/meson_post_install.py | 15 + build-aux/org.gnome.seahorse.ApplicationDevel.json | 126 + common/actions.vala | 29 + common/add-keyserver-dialog.vala | 122 + common/app-settings.vala | 56 + common/backend.vala | 39 + common/catalog.vala | 150 + common/config.vapi | 66 + common/deletable.vala | 90 + common/delete-dialog.vala | 111 + common/deleter.vala | 41 + common/exportable.vala | 241 + common/exporter.vala | 106 + common/icons.vala | 44 + common/interaction.vala | 65 + common/item-list.vala | 227 + common/keyserver-control.vala | 186 + common/lockable.vala | 45 + common/meson.build | 57 + common/object.vala | 137 + common/passphrase-prompt.vala | 246 + common/pgp-settings.vala | 66 + common/place.vala | 87 + common/predicate.vala | 70 + common/prefs.vala | 299 ++ common/registry.vala | 94 + common/seahorse-add-keyserver.ui | 141 + common/seahorse-prefs.ui | 179 + common/servers.vala | 114 + common/types.vala | 74 + common/util.vala | 78 + common/validity.vala | 55 + common/viewable.vala | 58 + data/gtk/help-overlay.ui | 98 + .../hicolor/22x22/apps/seahorse-key-personal.png | Bin 0 -> 1118 bytes data/icons/hicolor/22x22/apps/seahorse-key-ssh.png | Bin 0 -> 1022 bytes data/icons/hicolor/22x22/apps/seahorse-key.png | Bin 0 -> 686 bytes .../hicolor/22x22/status/seahorse-sign-bad.png | Bin 0 -> 1198 bytes .../hicolor/22x22/status/seahorse-sign-ok.png | Bin 0 -> 1143 bytes data/icons/hicolor/22x22/status/seahorse-sign.png | Bin 0 -> 1156 bytes .../hicolor/48x48/apps/seahorse-key-personal.png | Bin 0 -> 3181 bytes data/icons/hicolor/48x48/apps/seahorse-key-ssh.png | Bin 0 -> 2836 bytes data/icons/hicolor/48x48/apps/seahorse-key.png | Bin 0 -> 1794 bytes .../hicolor/48x48/status/seahorse-sign-bad.png | Bin 0 -> 3698 bytes .../hicolor/48x48/status/seahorse-sign-ok.png | Bin 0 -> 3476 bytes .../hicolor/48x48/status/seahorse-sign-unknown.png | Bin 0 -> 3614 bytes data/icons/hicolor/48x48/status/seahorse-sign.png | Bin 0 -> 3251 bytes .../apps/org.gnome.seahorse.Application.svg | 327 ++ .../apps/org.gnome.seahorse.ApplicationDevel.svg | 1 + .../org.gnome.seahorse.Application-symbolic.svg | 28 + data/icons/meson.build | 44 + data/icons/svg/seahorse-key-22.svg | 357 ++ data/icons/svg/seahorse-key-48.svg | 377 ++ data/icons/svg/seahorse-key-personal-22.svg | 807 ++++ data/icons/svg/seahorse-key-personal-48.svg | 757 +++ data/icons/svg/seahorse-key-ssh-22.svg | 1131 +++++ data/icons/svg/seahorse-key-ssh-48.svg | 786 +++ data/icons/svg/seahorse-sign-22.svg | 446 ++ data/icons/svg/seahorse-sign-48.svg | 441 ++ data/icons/svg/seahorse-sign-bad-22.svg | 588 +++ data/icons/svg/seahorse-sign-bad-48.svg | 599 +++ data/icons/svg/seahorse-sign-ok-22.svg | 751 +++ data/icons/svg/seahorse-sign-ok-48.svg | 757 +++ data/icons/svg/seahorse-sign-unknown-48.svg | 1289 +++++ data/meson.build | 105 + data/org.gnome.seahorse.Application.appdata.xml.in | 160 + data/org.gnome.seahorse.Application.desktop.in.in | 13 + data/org.gnome.seahorse.Application.service.in | 3 + data/org.gnome.seahorse.gschema.xml | 29 + data/org.gnome.seahorse.manager.gschema.xml | 53 + data/org.gnome.seahorse.window.gschema.xml | 14 + data/seahorse-search-provider.ini | 5 + data/seahorse.gresource.xml | 48 + data/seahorse.xml | 104 + gkr/gkr-backend.vala | 306 ++ gkr/gkr-dialogs.vala | 83 + gkr/gkr-item-add.vala | 141 + gkr/gkr-item-info.vala | 365 ++ gkr/gkr-item-properties.vala | 266 + gkr/gkr-item.vala | 373 ++ gkr/gkr-keyring-add.vala | 63 + gkr/gkr-keyring-permission.vala | 50 + gkr/gkr-keyring-properties.vala | 77 + gkr/gkr-keyring.vala | 299 ++ gkr/gkr-module.vala | 27 + gkr/gkr-password-entry.vala | 51 + gkr/meson.build | 41 + gkr/pwquality.vapi | 116 + gkr/seahorse-gkr-add-item.ui | 147 + gkr/seahorse-gkr-add-keyring.ui | 97 + gkr/seahorse-gkr-item-properties.ui | 275 ++ gkr/seahorse-gkr-keyring.ui | 132 + help/C/about-certificate-key.page.stub | 31 + help/C/about-diff-private-public.page | 54 + help/C/about-pgp.page | 45 + help/C/about-ssh.page | 41 + help/C/concepts.page | 25 + help/C/glossary.page | 68 + help/C/index.page | 61 + help/C/introduction.page | 54 + help/C/key-servers-add.page | 78 + help/C/keyring-change-default.page | 52 + help/C/keyring-create.page | 69 + help/C/keyring-lock.page | 49 + help/C/keyring-unlock.page | 53 + help/C/keyring-update-password.page | 51 + help/C/keyring.page | 45 + help/C/legal.xml | 6 + help/C/media/dialog-password-symbolic.svg | 3 + help/C/media/org.gnome.seahorse.Application.svg | 327 ++ help/C/misc-key-backup.page | 49 + help/C/misc-key-fingerprint.page | 85 + help/C/passwords-stored-create.page | 63 + help/C/passwords-view.page | 79 + help/C/pgp-create.page | 114 + help/C/pgp-delete.page | 72 + help/C/pgp-expiration-change.page | 64 + help/C/pgp-expired.page | 54 + help/C/pgp-export.page | 84 + help/C/pgp-import.page | 57 + help/C/pgp-photoid.page | 74 + help/C/pgp-publish.page | 87 + help/C/pgp-retrieve-remote.page | 67 + help/C/pgp-sign.page | 75 + help/C/pgp-subkeys.page | 58 + help/C/pgp-sync.page | 62 + help/C/pgp-userid-add.page | 70 + help/C/pgp-userid-primary.page | 56 + help/C/pgp-userid-remove.page | 52 + help/C/pgp-userid.page | 36 + help/C/ssh-connect-remote.page | 63 + help/C/ssh-create-vs-setup.page | 36 + help/C/ssh-create.page | 131 + help/C/ssh-export.page | 82 + help/C/ssh-import.page | 57 + help/C/subkeys-add.page | 60 + help/C/subkeys-examine.page | 55 + help/C/subkeys-revoke.page | 73 + help/ChangeLog | 320 ++ help/LINGUAS | 13 + help/ca/ca.po | 3314 +++++++++++++ help/cs/cs.po | 3161 ++++++++++++ help/de/de.po | 3403 +++++++++++++ help/el/el.po | 3466 +++++++++++++ help/es/es.po | 3487 ++++++++++++++ help/fr/fr.po | 3420 +++++++++++++ help/hu/hu.po | 3281 +++++++++++++ help/id/id.po | 3228 +++++++++++++ help/meson.build | 54 + help/pl/pl.po | 3168 ++++++++++++ help/pt_BR/pt_BR.po | 3361 +++++++++++++ help/ru/ru.po | 4704 ++++++++++++++++++ help/sv/sv.po | 3327 +++++++++++++ help/uk/uk.po | 3278 +++++++++++++ libegg/egg-datetime.c | 2336 +++++++++ libegg/egg-datetime.h | 123 + libegg/eggtreemultidnd.c | 415 ++ libegg/eggtreemultidnd.h | 73 + libegg/meson.build | 41 + libseahorse/meson.build | 32 + libseahorse/seahorse-bind.c | 534 ++ libseahorse/seahorse-bind.h | 42 + libseahorse/seahorse-marshal.list | 5 + libseahorse/seahorse-object-list.c | 84 + libseahorse/seahorse-object-list.h | 41 + libseahorse/seahorse-object-model.c | 446 ++ libseahorse/seahorse-object-model.h | 51 + libseahorse/seahorse-progress.c | 644 +++ libseahorse/seahorse-progress.h | 62 + libseahorse/seahorse-progress.ui | 152 + libseahorse/seahorse-util.c | 399 ++ libseahorse/seahorse-util.h | 84 + libseahorse/seahorse-widget.c | 601 +++ libseahorse/seahorse-widget.h | 107 + libseahorse/seahorse.css | 65 + meson.build | 194 + meson_options.txt | 10 + pgp/meson.build | 96 + pgp/seahorse-combo-keys.c | 362 ++ pgp/seahorse-combo-keys.h | 46 + pgp/seahorse-discovery.c | 463 ++ pgp/seahorse-discovery.h | 78 + pgp/seahorse-gpg-op.c | 87 + pgp/seahorse-gpg-op.h | 28 + pgp/seahorse-gpg-options.c | 551 +++ pgp/seahorse-gpg-options.h | 40 + pgp/seahorse-gpgme-add-subkey.c | 316 ++ pgp/seahorse-gpgme-add-subkey.h | 40 + pgp/seahorse-gpgme-add-subkey.ui | 163 + pgp/seahorse-gpgme-add-uid.c | 251 + pgp/seahorse-gpgme-add-uid.h | 34 + pgp/seahorse-gpgme-add-uid.ui | 142 + pgp/seahorse-gpgme-data.c | 413 ++ pgp/seahorse-gpgme-data.h | 46 + pgp/seahorse-gpgme-dialogs.h | 67 + pgp/seahorse-gpgme-expires-dialog.c | 223 + pgp/seahorse-gpgme-expires-dialog.h | 33 + pgp/seahorse-gpgme-expires-dialog.ui | 57 + pgp/seahorse-gpgme-exporter.c | 419 ++ pgp/seahorse-gpgme-exporter.h | 36 + pgp/seahorse-gpgme-generate-dialog.c | 395 ++ pgp/seahorse-gpgme-generate-dialog.h | 34 + pgp/seahorse-gpgme-generate-dialog.ui | 311 ++ pgp/seahorse-gpgme-key-deleter.c | 173 + pgp/seahorse-gpgme-key-deleter.h | 38 + pgp/seahorse-gpgme-key-op.c | 2421 ++++++++++ pgp/seahorse-gpgme-key-op.h | 162 + pgp/seahorse-gpgme-key.c | 713 +++ pgp/seahorse-gpgme-key.h | 57 + pgp/seahorse-gpgme-keyring.c | 1034 ++++ pgp/seahorse-gpgme-keyring.h | 67 + pgp/seahorse-gpgme-photo.c | 166 + pgp/seahorse-gpgme-photo.h | 43 + pgp/seahorse-gpgme-photos.c | 339 ++ pgp/seahorse-gpgme-revoke.c | 176 + pgp/seahorse-gpgme-secret-deleter.c | 169 + pgp/seahorse-gpgme-secret-deleter.h | 38 + pgp/seahorse-gpgme-sign-dialog.c | 305 ++ pgp/seahorse-gpgme-sign-dialog.h | 32 + pgp/seahorse-gpgme-sign-dialog.ui | 344 ++ pgp/seahorse-gpgme-subkey.c | 233 + pgp/seahorse-gpgme-subkey.h | 41 + pgp/seahorse-gpgme-uid.c | 374 ++ pgp/seahorse-gpgme-uid.h | 61 + pgp/seahorse-gpgme.c | 531 ++ pgp/seahorse-gpgme.h | 95 + pgp/seahorse-hkp-source.c | 1051 ++++ pgp/seahorse-hkp-source.h | 49 + pgp/seahorse-keyserver-results.c | 409 ++ pgp/seahorse-keyserver-results.h | 41 + pgp/seahorse-keyserver-results.ui | 57 + pgp/seahorse-keyserver-search.c | 438 ++ pgp/seahorse-keyserver-search.h | 33 + pgp/seahorse-keyserver-search.ui | 154 + pgp/seahorse-keyserver-sync.c | 239 + pgp/seahorse-keyserver-sync.h | 28 + pgp/seahorse-keyserver-sync.ui | 180 + pgp/seahorse-ldap-source.c | 1414 ++++++ pgp/seahorse-ldap-source.h | 43 + pgp/seahorse-pgp-actions.c | 195 + pgp/seahorse-pgp-actions.h | 26 + pgp/seahorse-pgp-backend.c | 730 +++ pgp/seahorse-pgp-backend.h | 105 + pgp/seahorse-pgp-dialogs.h | 40 + pgp/seahorse-pgp-key-properties.c | 1950 ++++++++ pgp/seahorse-pgp-key.c | 713 +++ pgp/seahorse-pgp-key.h | 105 + pgp/seahorse-pgp-keysets.c | 87 + pgp/seahorse-pgp-keysets.h | 32 + pgp/seahorse-pgp-photo.c | 127 + pgp/seahorse-pgp-photo.h | 39 + pgp/seahorse-pgp-private-key-properties.ui | 1091 +++++ pgp/seahorse-pgp-public-key-properties.ui | 920 ++++ pgp/seahorse-pgp-signature.c | 207 + pgp/seahorse-pgp-signature.h | 48 + pgp/seahorse-pgp-subkey.c | 513 ++ pgp/seahorse-pgp-subkey.h | 87 + pgp/seahorse-pgp-uid.c | 572 +++ pgp/seahorse-pgp-uid.h | 94 + pgp/seahorse-revoke.ui | 189 + pgp/seahorse-server-source.c | 572 +++ pgp/seahorse-server-source.h | 118 + pgp/seahorse-signer.c | 123 + pgp/seahorse-signer.ui | 106 + pgp/seahorse-transfer.c | 299 ++ pgp/seahorse-transfer.h | 42 + pgp/seahorse-unknown-source.c | 318 ++ pgp/seahorse-unknown-source.h | 42 + pgp/seahorse-unknown.c | 67 + pgp/seahorse-unknown.h | 52 + pgp/seahorse-xloadimage.c | 55 + pkcs11/certificate-der-exporter.vala | 85 + pkcs11/cryptoki.vapi | 397 ++ pkcs11/meson.build | 37 + pkcs11/pkcs11-certificate.vala | 244 + pkcs11/pkcs11-deleter.vala | 83 + pkcs11/pkcs11-generate.vala | 276 ++ pkcs11/pkcs11-key-deleter.vala | 78 + pkcs11/pkcs11-module.vala | 26 + pkcs11/pkcs11-private-key.vala | 132 + pkcs11/pkcs11-properties.vala | 180 + pkcs11/pkcs11-request.vala | 157 + pkcs11/pkcs11-token.vala | 508 ++ pkcs11/seahorse-pkcs11-backend.c | 443 ++ pkcs11/seahorse-pkcs11-backend.h | 46 + pkcs11/seahorse-pkcs11-generate.ui | 201 + pkcs11/seahorse-pkcs11-properties.ui | 57 + pkcs11/seahorse-pkcs11-request.ui | 114 + po/ChangeLog | 3413 +++++++++++++ po/LINGUAS | 86 + po/POTFILES.in | 123 + po/POTFILES.skip | 53 + po/ar.po | 3632 ++++++++++++++ po/as.po | 3449 +++++++++++++ po/ast.po | 2931 +++++++++++ po/az.po | 2159 +++++++++ po/be.po | 2907 +++++++++++ po/be@latin.po | 3580 ++++++++++++++ po/bg.po | 2627 ++++++++++ po/bn.po | 3091 ++++++++++++ po/bn_IN.po | 3088 ++++++++++++ po/br.po | 2967 ++++++++++++ po/bs.po | 2613 ++++++++++ po/ca.po | 2862 +++++++++++ po/ca@valencia.po | 2651 ++++++++++ po/cs.po | 2816 +++++++++++ po/cy.po | 2857 +++++++++++ po/da.po | 4654 ++++++++++++++++++ po/de.po | 3094 ++++++++++++ po/dz.po | 3433 +++++++++++++ po/el.po | 3682 ++++++++++++++ po/en@shaw.po | 3079 ++++++++++++ po/en_CA.po | 3170 ++++++++++++ po/en_GB.po | 5074 ++++++++++++++++++++ po/eo.po | 3006 ++++++++++++ po/es.po | 3892 +++++++++++++++ po/et.po | 2030 ++++++++ po/eu.po | 2754 +++++++++++ po/fa.po | 2776 +++++++++++ po/fi.po | 3137 ++++++++++++ po/fr.po | 2884 +++++++++++ po/fur.po | 3059 ++++++++++++ po/ga.po | 2540 ++++++++++ po/gd.po | 2555 ++++++++++ po/gl.po | 2854 +++++++++++ po/gu.po | 3033 ++++++++++++ po/he.po | 4253 ++++++++++++++++ po/hi.po | 3346 +++++++++++++ po/hr.po | 3047 ++++++++++++ po/hu.po | 2813 +++++++++++ po/id.po | 3059 ++++++++++++ po/is.po | 3000 ++++++++++++ po/it.po | 2827 +++++++++++ po/ja.po | 2871 +++++++++++ po/kk.po | 2914 +++++++++++ po/kn.po | 3053 ++++++++++++ po/ko.po | 2823 +++++++++++ po/ku.po | 2931 +++++++++++ po/lt.po | 3068 ++++++++++++ po/lv.po | 3083 ++++++++++++ po/mai.po | 2955 ++++++++++++ po/meson.build | 3 + po/mk.po | 3097 ++++++++++++ po/ml.po | 3122 ++++++++++++ po/mr.po | 3032 ++++++++++++ po/ms.po | 3437 +++++++++++++ po/nb.po | 2620 ++++++++++ po/ne.po | 2685 +++++++++++ po/nl.po | 4790 ++++++++++++++++++ po/nn.po | 3421 +++++++++++++ po/oc.po | 2639 ++++++++++ po/or.po | 3069 ++++++++++++ po/pa.po | 4200 ++++++++++++++++ po/pl.po | 2825 +++++++++++ po/pt.po | 4420 +++++++++++++++++ po/pt_BR.po | 3233 +++++++++++++ po/ro.po | 3752 +++++++++++++++ po/ru.po | 2902 +++++++++++ po/rw.po | 2536 ++++++++++ po/si.po | 3384 +++++++++++++ po/sk.po | 3078 ++++++++++++ po/sl.po | 3150 ++++++++++++ po/sq.po | 2590 ++++++++++ po/sr.po | 3063 ++++++++++++ po/sr@latin.po | 2714 +++++++++++ po/sv.po | 3071 ++++++++++++ po/ta.po | 2677 +++++++++++ po/te.po | 3168 ++++++++++++ po/tg.po | 2520 ++++++++++ po/th.po | 4061 ++++++++++++++++ po/tr.po | 3780 +++++++++++++++ po/ug.po | 2797 +++++++++++ po/uk.po | 2818 +++++++++++ po/vi.po | 2739 +++++++++++ po/zh_CN.po | 3656 ++++++++++++++ po/zh_HK.po | 2633 ++++++++++ po/zh_TW.po | 3064 ++++++++++++ seahorse.doap | 38 + src/application.vala | 200 + src/import-dialog.vala | 77 + src/key-manager-item-row.vala | 68 + src/key-manager.vala | 543 +++ src/main.vala | 34 + src/meson.build | 60 + src/org.gnome.ShellSearchProvider2.xml | 87 + src/seahorse-change-passphrase.ui | 139 + src/seahorse-key-manager-widgets.ui | 35 + src/seahorse-key-manager.ui | 627 +++ src/search-provider.vala | 266 + src/sidebar.vala | 472 ++ ssh/actions.vala | 82 + ssh/algorithm.vala | 103 + ssh/backend.vala | 81 + ssh/deleter.vala | 123 + ssh/errors.vala | 21 + ssh/exporter.vala | 130 + ssh/generate.vala | 107 + ssh/key-data.vala | 258 + ssh/key-length-chooser.vala | 105 + ssh/key-properties.vala | 204 + ssh/key.vala | 302 ++ ssh/meson.build | 60 + ssh/operation.vala | 399 ++ ssh/seahorse-ssh-askpass.c | 144 + ssh/seahorse-ssh-generate.ui | 248 + ssh/seahorse-ssh-key-properties.ui | 393 ++ ssh/seahorse-ssh-upload.ui | 146 + ssh/source.vala | 471 ++ ssh/ssh.vala | 26 + ssh/upload.vala | 119 + subprojects/libhandy/.dir-locals.el | 8 + subprojects/libhandy/.editorconfig | 38 + subprojects/libhandy/AUTHORS | 9 + subprojects/libhandy/COPYING | 502 ++ subprojects/libhandy/HACKING.md | 335 ++ subprojects/libhandy/NEWS | 296 ++ subprojects/libhandy/README.md | 71 + subprojects/libhandy/data/leak-suppress.txt | 5 + .../libhandy/data/packaging/rpm/libhandy.spec | 60 + subprojects/libhandy/debian/README.source | 29 + subprojects/libhandy/debian/changelog | 1451 ++++++ subprojects/libhandy/debian/control | 79 + subprojects/libhandy/debian/copyright | 22 + subprojects/libhandy/debian/docs | 1 + subprojects/libhandy/debian/gir1.2-handy-1.install | 1 + .../libhandy/debian/handy-0.0-examples.examples | 1 + .../libhandy/debian/handy-0.0-examples.install | 1 + .../libhandy/debian/handy-1-examples.install | 1 + subprojects/libhandy/debian/libhandy-1-0.install | 2 + subprojects/libhandy/debian/libhandy-1-0.symbols | 328 ++ subprojects/libhandy/debian/libhandy-1-dev.install | 8 + subprojects/libhandy/debian/rules | 16 + subprojects/libhandy/debian/source/format | 1 + subprojects/libhandy/debian/tests/build-test | 30 + subprojects/libhandy/debian/tests/control | 8 + subprojects/libhandy/debian/tests/python-gi-test | 13 + subprojects/libhandy/doc/build-howto.xml | 159 + subprojects/libhandy/doc/handy-docs.xml | 140 + .../libhandy/doc/hdy-migrating-0-0-to-1.xml | 356 ++ subprojects/libhandy/doc/images/avatar.png | Bin 0 -> 24158 bytes subprojects/libhandy/doc/images/header-bar.png | Bin 0 -> 8639 bytes subprojects/libhandy/doc/images/keypad.png | Bin 0 -> 33968 bytes subprojects/libhandy/doc/images/list.png | Bin 0 -> 34980 bytes .../libhandy/doc/images/preferences-window.png | Bin 0 -> 38792 bytes subprojects/libhandy/doc/images/search.png | Bin 0 -> 17371 bytes .../libhandy/doc/images/view-switcher-bar.png | Bin 0 -> 9332 bytes subprojects/libhandy/doc/images/view-switcher.png | Bin 0 -> 10727 bytes subprojects/libhandy/doc/meson.build | 75 + subprojects/libhandy/doc/visual-index.xml | 58 + subprojects/libhandy/doc/xml/gtkdocentities.ent.in | 9 + subprojects/libhandy/doc/xml/meson.build | 12 + subprojects/libhandy/examples/example.py | 32 + subprojects/libhandy/examples/handy-demo.c | 65 + .../libhandy/examples/handy-demo.gresources.xml | 27 + .../examples/hdy-demo-preferences-window.c | 56 + .../examples/hdy-demo-preferences-window.h | 13 + .../examples/hdy-demo-preferences-window.ui | 258 + subprojects/libhandy/examples/hdy-demo-window.c | 582 +++ subprojects/libhandy/examples/hdy-demo-window.h | 13 + subprojects/libhandy/examples/hdy-demo-window.ui | 2352 +++++++++ .../examples/hdy-view-switcher-demo-window.c | 30 + .../examples/hdy-view-switcher-demo-window.h | 13 + .../examples/hdy-view-switcher-demo-window.ui | 109 + .../libhandy/examples/icons/dark-mode-symbolic.svg | 68 + .../gesture-touchpad-swipe-back-symbolic-rtl.svg | 179 + .../icons/gesture-touchpad-swipe-back-symbolic.svg | 179 + ...gesture-touchscreen-swipe-back-symbolic-rtl.svg | 187 + .../gesture-touchscreen-swipe-back-symbolic.svg | 187 + .../examples/icons/gnome-smartphone-symbolic.svg | 59 + .../examples/icons/light-mode-symbolic.svg | 6 + .../examples/icons/widget-carousel-symbolic.svg | 66 + .../examples/icons/widget-clamp-symbolic.svg | 1 + .../examples/icons/widget-deck-symbolic.svg | 1 + .../examples/icons/widget-keypad-symbolic.svg | 1 + .../examples/icons/widget-leaflet-symbolic.svg | 1 + .../examples/icons/widget-list-symbolic.svg | 1 + .../examples/icons/widget-search-symbolic.svg | 1 + .../icons/widget-view-switcher-symbolic.svg | 1 + .../examples/icons/widget-window-symbolic.svg | 3 + subprojects/libhandy/examples/meson.build | 26 + .../libhandy/examples/sm.puri.Handy.Demo.json | 29 + subprojects/libhandy/examples/style.css | 8 + subprojects/libhandy/glade/glade-catalog.dtd | 196 + subprojects/libhandy/glade/glade-hdy-carousel.c | 460 ++ subprojects/libhandy/glade/glade-hdy-carousel.h | 56 + .../libhandy/glade/glade-hdy-expander-row.c | 105 + .../libhandy/glade/glade-hdy-expander-row.h | 39 + subprojects/libhandy/glade/glade-hdy-header-bar.c | 547 +++ subprojects/libhandy/glade/glade-hdy-header-bar.h | 59 + .../libhandy/glade/glade-hdy-header-group.c | 162 + .../libhandy/glade/glade-hdy-header-group.h | 24 + subprojects/libhandy/glade/glade-hdy-leaflet.c | 533 ++ subprojects/libhandy/glade/glade-hdy-leaflet.h | 56 + .../libhandy/glade/glade-hdy-preferences-page.c | 218 + .../libhandy/glade/glade-hdy-preferences-page.h | 50 + .../libhandy/glade/glade-hdy-preferences-window.c | 286 ++ .../libhandy/glade/glade-hdy-preferences-window.h | 50 + subprojects/libhandy/glade/glade-hdy-search-bar.c | 107 + subprojects/libhandy/glade/glade-hdy-search-bar.h | 34 + subprojects/libhandy/glade/glade-hdy-swipe-group.c | 161 + subprojects/libhandy/glade/glade-hdy-swipe-group.h | 28 + subprojects/libhandy/glade/glade-hdy-utils.c | 121 + subprojects/libhandy/glade/glade-hdy-utils.h | 44 + subprojects/libhandy/glade/glade-hdy-window.c | 108 + subprojects/libhandy/glade/glade-hdy-window.h | 34 + subprojects/libhandy/glade/libhandy.xml | 420 ++ subprojects/libhandy/glade/meson.build | 59 + subprojects/libhandy/glade/rename-id.patch | 28 + .../libhandy/glade/sm.puri.Handy.Glade.json | 83 + subprojects/libhandy/libhandy.doap | 37 + subprojects/libhandy/libhandy.syms | 6 + subprojects/libhandy/lint/api-visibility.sh | 18 + subprojects/libhandy/meson.build | 156 + subprojects/libhandy/meson_options.txt | 25 + subprojects/libhandy/po/LINGUAS | 11 + subprojects/libhandy/po/POTFILES.in | 40 + subprojects/libhandy/po/POTFILES.skip | 6 + subprojects/libhandy/po/en_GB.po | 866 ++++ subprojects/libhandy/po/es.po | 891 ++++ subprojects/libhandy/po/eu.po | 845 ++++ subprojects/libhandy/po/fr.po | 890 ++++ subprojects/libhandy/po/fur.po | 868 ++++ subprojects/libhandy/po/id.po | 1006 ++++ subprojects/libhandy/po/meson.build | 2 + subprojects/libhandy/po/pl.po | 76 + subprojects/libhandy/po/pt_BR.po | 935 ++++ subprojects/libhandy/po/ro.po | 871 ++++ subprojects/libhandy/po/sl.po | 860 ++++ subprojects/libhandy/po/uk.po | 915 ++++ subprojects/libhandy/run.in | 12 + subprojects/libhandy/src/gen-public-types.sh | 22 + subprojects/libhandy/src/gtk-window-private.h | 18 + subprojects/libhandy/src/gtk-window.c | 169 + subprojects/libhandy/src/gtkprogresstracker.c | 248 + .../libhandy/src/gtkprogresstrackerprivate.h | 74 + subprojects/libhandy/src/handy.gresources.xml | 28 + subprojects/libhandy/src/handy.h | 63 + subprojects/libhandy/src/hdy-action-row.c | 774 +++ subprojects/libhandy/src/hdy-action-row.h | 73 + subprojects/libhandy/src/hdy-action-row.ui | 82 + subprojects/libhandy/src/hdy-animation-private.h | 19 + subprojects/libhandy/src/hdy-animation.c | 83 + subprojects/libhandy/src/hdy-animation.h | 25 + subprojects/libhandy/src/hdy-application-window.c | 150 + subprojects/libhandy/src/hdy-application-window.h | 35 + subprojects/libhandy/src/hdy-avatar.c | 824 ++++ subprojects/libhandy/src/hdy-avatar.h | 70 + subprojects/libhandy/src/hdy-cairo-private.h | 21 + .../libhandy/src/hdy-carousel-box-private.h | 65 + subprojects/libhandy/src/hdy-carousel-box.c | 1770 +++++++ .../libhandy/src/hdy-carousel-indicator-dots.c | 486 ++ .../libhandy/src/hdy-carousel-indicator-dots.h | 34 + .../libhandy/src/hdy-carousel-indicator-lines.c | 485 ++ .../libhandy/src/hdy-carousel-indicator-lines.h | 34 + subprojects/libhandy/src/hdy-carousel.c | 1099 +++++ subprojects/libhandy/src/hdy-carousel.h | 81 + subprojects/libhandy/src/hdy-carousel.ui | 21 + subprojects/libhandy/src/hdy-clamp.c | 563 +++ subprojects/libhandy/src/hdy-clamp.h | 37 + subprojects/libhandy/src/hdy-combo-row.c | 835 ++++ subprojects/libhandy/src/hdy-combo-row.h | 112 + subprojects/libhandy/src/hdy-combo-row.ui | 43 + subprojects/libhandy/src/hdy-css-private.h | 25 + subprojects/libhandy/src/hdy-css.c | 73 + subprojects/libhandy/src/hdy-deck.c | 1103 +++++ subprojects/libhandy/src/hdy-deck.h | 102 + subprojects/libhandy/src/hdy-deprecation-macros.h | 31 + subprojects/libhandy/src/hdy-enum-value-object.c | 73 + subprojects/libhandy/src/hdy-enum-value-object.h | 35 + subprojects/libhandy/src/hdy-enums-private.c.in | 38 + subprojects/libhandy/src/hdy-enums-private.h.in | 27 + subprojects/libhandy/src/hdy-enums.c.in | 44 + subprojects/libhandy/src/hdy-enums.h.in | 28 + subprojects/libhandy/src/hdy-expander-row.c | 762 +++ subprojects/libhandy/src/hdy-expander-row.h | 83 + subprojects/libhandy/src/hdy-expander-row.ui | 97 + subprojects/libhandy/src/hdy-header-bar.c | 2870 +++++++++++ subprojects/libhandy/src/hdy-header-bar.h | 123 + subprojects/libhandy/src/hdy-header-group.c | 1115 +++++ subprojects/libhandy/src/hdy-header-group.h | 81 + .../libhandy/src/hdy-keypad-button-private.h | 32 + subprojects/libhandy/src/hdy-keypad-button.c | 331 ++ subprojects/libhandy/src/hdy-keypad-button.ui | 36 + subprojects/libhandy/src/hdy-keypad.c | 793 +++ subprojects/libhandy/src/hdy-keypad.h | 76 + subprojects/libhandy/src/hdy-keypad.ui | 216 + subprojects/libhandy/src/hdy-leaflet.c | 1209 +++++ subprojects/libhandy/src/hdy-leaflet.h | 113 + subprojects/libhandy/src/hdy-main-private.h | 24 + subprojects/libhandy/src/hdy-main.c | 201 + subprojects/libhandy/src/hdy-main.h | 21 + .../libhandy/src/hdy-navigation-direction.c | 26 + .../libhandy/src/hdy-navigation-direction.h | 23 + subprojects/libhandy/src/hdy-nothing-private.h | 23 + subprojects/libhandy/src/hdy-nothing.c | 47 + .../libhandy/src/hdy-preferences-group-private.h | 16 + subprojects/libhandy/src/hdy-preferences-group.c | 449 ++ subprojects/libhandy/src/hdy-preferences-group.h | 51 + subprojects/libhandy/src/hdy-preferences-group.ui | 55 + .../libhandy/src/hdy-preferences-page-private.h | 18 + subprojects/libhandy/src/hdy-preferences-page.c | 365 ++ subprojects/libhandy/src/hdy-preferences-page.h | 51 + subprojects/libhandy/src/hdy-preferences-page.ui | 34 + subprojects/libhandy/src/hdy-preferences-row.c | 259 + subprojects/libhandy/src/hdy-preferences-row.h | 51 + subprojects/libhandy/src/hdy-preferences-window.c | 795 +++ subprojects/libhandy/src/hdy-preferences-window.h | 58 + subprojects/libhandy/src/hdy-preferences-window.ui | 248 + subprojects/libhandy/src/hdy-search-bar.c | 659 +++ subprojects/libhandy/src/hdy-search-bar.h | 51 + subprojects/libhandy/src/hdy-search-bar.ui | 63 + .../libhandy/src/hdy-shadow-helper-private.h | 32 + subprojects/libhandy/src/hdy-shadow-helper.c | 445 ++ subprojects/libhandy/src/hdy-squeezer.c | 1576 ++++++ subprojects/libhandy/src/hdy-squeezer.h | 83 + .../libhandy/src/hdy-stackable-box-private.h | 133 + subprojects/libhandy/src/hdy-stackable-box.c | 3153 ++++++++++++ subprojects/libhandy/src/hdy-swipe-group.c | 568 +++ subprojects/libhandy/src/hdy-swipe-group.h | 37 + .../libhandy/src/hdy-swipe-tracker-private.h | 26 + subprojects/libhandy/src/hdy-swipe-tracker.c | 1179 +++++ subprojects/libhandy/src/hdy-swipe-tracker.h | 53 + subprojects/libhandy/src/hdy-swipeable.c | 273 ++ subprojects/libhandy/src/hdy-swipeable.h | 91 + subprojects/libhandy/src/hdy-title-bar.c | 347 ++ subprojects/libhandy/src/hdy-title-bar.h | 33 + subprojects/libhandy/src/hdy-types.h | 17 + subprojects/libhandy/src/hdy-value-object.c | 267 + subprojects/libhandy/src/hdy-value-object.h | 45 + subprojects/libhandy/src/hdy-version.h.in | 87 + subprojects/libhandy/src/hdy-view-switcher-bar.c | 392 ++ subprojects/libhandy/src/hdy-view-switcher-bar.h | 48 + subprojects/libhandy/src/hdy-view-switcher-bar.ui | 20 + .../src/hdy-view-switcher-button-private.h | 49 + .../libhandy/src/hdy-view-switcher-button.c | 536 +++ .../libhandy/src/hdy-view-switcher-button.ui | 105 + subprojects/libhandy/src/hdy-view-switcher-title.c | 600 +++ subprojects/libhandy/src/hdy-view-switcher-title.h | 63 + .../libhandy/src/hdy-view-switcher-title.ui | 52 + subprojects/libhandy/src/hdy-view-switcher.c | 737 +++ subprojects/libhandy/src/hdy-view-switcher.h | 52 + .../src/hdy-window-handle-controller-private.h | 23 + .../libhandy/src/hdy-window-handle-controller.c | 515 ++ subprojects/libhandy/src/hdy-window-handle.c | 83 + subprojects/libhandy/src/hdy-window-handle.h | 27 + .../libhandy/src/hdy-window-mixin-private.h | 42 + subprojects/libhandy/src/hdy-window-mixin.c | 579 +++ subprojects/libhandy/src/hdy-window.c | 195 + subprojects/libhandy/src/hdy-window.h | 35 + .../libhandy/src/icons/avatar-default-symbolic.svg | 3 + .../src/icons/hdy-expander-arrow-symbolic.svg | 7 + subprojects/libhandy/src/meson.build | 297 ++ subprojects/libhandy/src/themes/Adwaita-dark.css | 199 + subprojects/libhandy/src/themes/Adwaita-dark.scss | 5 + subprojects/libhandy/src/themes/Adwaita.css | 199 + subprojects/libhandy/src/themes/Adwaita.scss | 5 + subprojects/libhandy/src/themes/HighContrast.css | 199 + subprojects/libhandy/src/themes/HighContrast.scss | 6 + .../libhandy/src/themes/HighContrastInverse.css | 199 + .../libhandy/src/themes/HighContrastInverse.scss | 6 + subprojects/libhandy/src/themes/_Adwaita-base.scss | 336 ++ subprojects/libhandy/src/themes/_definitions.scss | 66 + .../libhandy/src/themes/_fallback-base.scss | 148 + subprojects/libhandy/src/themes/_shared-base.scss | 21 + subprojects/libhandy/src/themes/fallback.css | 76 + subprojects/libhandy/src/themes/fallback.scss | 5 + subprojects/libhandy/src/themes/parse-sass.sh | 44 + subprojects/libhandy/src/themes/shared.css | 6 + subprojects/libhandy/src/themes/shared.scss | 5 + subprojects/libhandy/tests/meson.build | 59 + subprojects/libhandy/tests/test-action-row.c | 129 + .../libhandy/tests/test-application-window.c | 30 + subprojects/libhandy/tests/test-avatar.c | 219 + .../libhandy/tests/test-carousel-indicator-dots.c | 53 + .../libhandy/tests/test-carousel-indicator-lines.c | 53 + subprojects/libhandy/tests/test-carousel.c | 246 + subprojects/libhandy/tests/test-combo-row.c | 67 + subprojects/libhandy/tests/test-deck.c | 93 + subprojects/libhandy/tests/test-expander-row.c | 153 + subprojects/libhandy/tests/test-header-bar.c | 215 + subprojects/libhandy/tests/test-header-group.c | 68 + subprojects/libhandy/tests/test-keypad.c | 247 + subprojects/libhandy/tests/test-leaflet.c | 109 + .../libhandy/tests/test-preferences-group.c | 81 + subprojects/libhandy/tests/test-preferences-page.c | 80 + subprojects/libhandy/tests/test-preferences-row.c | 57 + .../libhandy/tests/test-preferences-window.c | 42 + subprojects/libhandy/tests/test-search-bar.c | 96 + subprojects/libhandy/tests/test-squeezer.c | 161 + subprojects/libhandy/tests/test-swipe-group.c | 45 + subprojects/libhandy/tests/test-value-object.c | 54 + .../libhandy/tests/test-view-switcher-bar.c | 83 + subprojects/libhandy/tests/test-view-switcher.c | 83 + subprojects/libhandy/tests/test-window-handle.c | 30 + subprojects/libhandy/tests/test-window.c | 30 + 703 files changed, 435498 insertions(+) create mode 100644 AUTHORS create mode 100644 COPYING create mode 100644 COPYING-DOCS create mode 100644 COPYING.LIB create mode 100644 NEWS create mode 100644 README.md create mode 100644 THANKS create mode 100755 build-aux/gpg_check_version.py create mode 100755 build-aux/meson_post_install.py create mode 100644 build-aux/org.gnome.seahorse.ApplicationDevel.json create mode 100644 common/actions.vala create mode 100644 common/add-keyserver-dialog.vala create mode 100644 common/app-settings.vala create mode 100644 common/backend.vala create mode 100644 common/catalog.vala create mode 100644 common/config.vapi create mode 100644 common/deletable.vala create mode 100644 common/delete-dialog.vala create mode 100644 common/deleter.vala create mode 100644 common/exportable.vala create mode 100644 common/exporter.vala create mode 100644 common/icons.vala create mode 100644 common/interaction.vala create mode 100644 common/item-list.vala create mode 100644 common/keyserver-control.vala create mode 100644 common/lockable.vala create mode 100644 common/meson.build create mode 100644 common/object.vala create mode 100644 common/passphrase-prompt.vala create mode 100644 common/pgp-settings.vala create mode 100644 common/place.vala create mode 100644 common/predicate.vala create mode 100644 common/prefs.vala create mode 100644 common/registry.vala create mode 100644 common/seahorse-add-keyserver.ui create mode 100644 common/seahorse-prefs.ui create mode 100644 common/servers.vala create mode 100644 common/types.vala create mode 100644 common/util.vala create mode 100644 common/validity.vala create mode 100644 common/viewable.vala create mode 100644 data/gtk/help-overlay.ui create mode 100644 data/icons/hicolor/22x22/apps/seahorse-key-personal.png create mode 100644 data/icons/hicolor/22x22/apps/seahorse-key-ssh.png create mode 100644 data/icons/hicolor/22x22/apps/seahorse-key.png create mode 100644 data/icons/hicolor/22x22/status/seahorse-sign-bad.png create mode 100644 data/icons/hicolor/22x22/status/seahorse-sign-ok.png create mode 100644 data/icons/hicolor/22x22/status/seahorse-sign.png create mode 100644 data/icons/hicolor/48x48/apps/seahorse-key-personal.png create mode 100644 data/icons/hicolor/48x48/apps/seahorse-key-ssh.png create mode 100644 data/icons/hicolor/48x48/apps/seahorse-key.png create mode 100644 data/icons/hicolor/48x48/status/seahorse-sign-bad.png create mode 100644 data/icons/hicolor/48x48/status/seahorse-sign-ok.png create mode 100644 data/icons/hicolor/48x48/status/seahorse-sign-unknown.png create mode 100644 data/icons/hicolor/48x48/status/seahorse-sign.png create mode 100644 data/icons/hicolor/scalable/apps/org.gnome.seahorse.Application.svg create mode 100644 data/icons/hicolor/scalable/apps/org.gnome.seahorse.ApplicationDevel.svg create mode 100644 data/icons/hicolor/symbolic/apps/org.gnome.seahorse.Application-symbolic.svg create mode 100644 data/icons/meson.build create mode 100644 data/icons/svg/seahorse-key-22.svg create mode 100644 data/icons/svg/seahorse-key-48.svg create mode 100644 data/icons/svg/seahorse-key-personal-22.svg create mode 100644 data/icons/svg/seahorse-key-personal-48.svg create mode 100644 data/icons/svg/seahorse-key-ssh-22.svg create mode 100644 data/icons/svg/seahorse-key-ssh-48.svg create mode 100644 data/icons/svg/seahorse-sign-22.svg create mode 100644 data/icons/svg/seahorse-sign-48.svg create mode 100644 data/icons/svg/seahorse-sign-bad-22.svg create mode 100644 data/icons/svg/seahorse-sign-bad-48.svg create mode 100644 data/icons/svg/seahorse-sign-ok-22.svg create mode 100644 data/icons/svg/seahorse-sign-ok-48.svg create mode 100644 data/icons/svg/seahorse-sign-unknown-48.svg create mode 100644 data/meson.build create mode 100644 data/org.gnome.seahorse.Application.appdata.xml.in create mode 100644 data/org.gnome.seahorse.Application.desktop.in.in create mode 100644 data/org.gnome.seahorse.Application.service.in create mode 100644 data/org.gnome.seahorse.gschema.xml create mode 100644 data/org.gnome.seahorse.manager.gschema.xml create mode 100644 data/org.gnome.seahorse.window.gschema.xml create mode 100644 data/seahorse-search-provider.ini create mode 100644 data/seahorse.gresource.xml create mode 100644 data/seahorse.xml create mode 100644 gkr/gkr-backend.vala create mode 100644 gkr/gkr-dialogs.vala create mode 100644 gkr/gkr-item-add.vala create mode 100644 gkr/gkr-item-info.vala create mode 100644 gkr/gkr-item-properties.vala create mode 100644 gkr/gkr-item.vala create mode 100644 gkr/gkr-keyring-add.vala create mode 100644 gkr/gkr-keyring-permission.vala create mode 100644 gkr/gkr-keyring-properties.vala create mode 100644 gkr/gkr-keyring.vala create mode 100644 gkr/gkr-module.vala create mode 100644 gkr/gkr-password-entry.vala create mode 100644 gkr/meson.build create mode 100644 gkr/pwquality.vapi create mode 100644 gkr/seahorse-gkr-add-item.ui create mode 100644 gkr/seahorse-gkr-add-keyring.ui create mode 100644 gkr/seahorse-gkr-item-properties.ui create mode 100644 gkr/seahorse-gkr-keyring.ui create mode 100644 help/C/about-certificate-key.page.stub create mode 100644 help/C/about-diff-private-public.page create mode 100644 help/C/about-pgp.page create mode 100644 help/C/about-ssh.page create mode 100644 help/C/concepts.page create mode 100644 help/C/glossary.page create mode 100644 help/C/index.page create mode 100644 help/C/introduction.page create mode 100644 help/C/key-servers-add.page create mode 100644 help/C/keyring-change-default.page create mode 100644 help/C/keyring-create.page create mode 100644 help/C/keyring-lock.page create mode 100644 help/C/keyring-unlock.page create mode 100644 help/C/keyring-update-password.page create mode 100644 help/C/keyring.page create mode 100644 help/C/legal.xml create mode 100644 help/C/media/dialog-password-symbolic.svg create mode 100644 help/C/media/org.gnome.seahorse.Application.svg create mode 100644 help/C/misc-key-backup.page create mode 100644 help/C/misc-key-fingerprint.page create mode 100644 help/C/passwords-stored-create.page create mode 100644 help/C/passwords-view.page create mode 100644 help/C/pgp-create.page create mode 100644 help/C/pgp-delete.page create mode 100644 help/C/pgp-expiration-change.page create mode 100644 help/C/pgp-expired.page create mode 100644 help/C/pgp-export.page create mode 100644 help/C/pgp-import.page create mode 100644 help/C/pgp-photoid.page create mode 100644 help/C/pgp-publish.page create mode 100644 help/C/pgp-retrieve-remote.page create mode 100644 help/C/pgp-sign.page create mode 100644 help/C/pgp-subkeys.page create mode 100644 help/C/pgp-sync.page create mode 100644 help/C/pgp-userid-add.page create mode 100644 help/C/pgp-userid-primary.page create mode 100644 help/C/pgp-userid-remove.page create mode 100644 help/C/pgp-userid.page create mode 100644 help/C/ssh-connect-remote.page create mode 100644 help/C/ssh-create-vs-setup.page create mode 100644 help/C/ssh-create.page create mode 100644 help/C/ssh-export.page create mode 100644 help/C/ssh-import.page create mode 100644 help/C/subkeys-add.page create mode 100644 help/C/subkeys-examine.page create mode 100644 help/C/subkeys-revoke.page create mode 100644 help/ChangeLog create mode 100644 help/LINGUAS create mode 100644 help/ca/ca.po create mode 100644 help/cs/cs.po create mode 100644 help/de/de.po create mode 100644 help/el/el.po create mode 100644 help/es/es.po create mode 100644 help/fr/fr.po create mode 100644 help/hu/hu.po create mode 100644 help/id/id.po create mode 100644 help/meson.build create mode 100644 help/pl/pl.po create mode 100644 help/pt_BR/pt_BR.po create mode 100644 help/ru/ru.po create mode 100644 help/sv/sv.po create mode 100644 help/uk/uk.po create mode 100644 libegg/egg-datetime.c create mode 100644 libegg/egg-datetime.h create mode 100644 libegg/eggtreemultidnd.c create mode 100644 libegg/eggtreemultidnd.h create mode 100644 libegg/meson.build create mode 100644 libseahorse/meson.build create mode 100644 libseahorse/seahorse-bind.c create mode 100644 libseahorse/seahorse-bind.h create mode 100644 libseahorse/seahorse-marshal.list create mode 100644 libseahorse/seahorse-object-list.c create mode 100644 libseahorse/seahorse-object-list.h create mode 100644 libseahorse/seahorse-object-model.c create mode 100644 libseahorse/seahorse-object-model.h create mode 100644 libseahorse/seahorse-progress.c create mode 100644 libseahorse/seahorse-progress.h create mode 100644 libseahorse/seahorse-progress.ui create mode 100644 libseahorse/seahorse-util.c create mode 100644 libseahorse/seahorse-util.h create mode 100644 libseahorse/seahorse-widget.c create mode 100644 libseahorse/seahorse-widget.h create mode 100644 libseahorse/seahorse.css create mode 100644 meson.build create mode 100644 meson_options.txt create mode 100644 pgp/meson.build create mode 100644 pgp/seahorse-combo-keys.c create mode 100644 pgp/seahorse-combo-keys.h create mode 100644 pgp/seahorse-discovery.c create mode 100644 pgp/seahorse-discovery.h create mode 100644 pgp/seahorse-gpg-op.c create mode 100644 pgp/seahorse-gpg-op.h create mode 100644 pgp/seahorse-gpg-options.c create mode 100644 pgp/seahorse-gpg-options.h create mode 100644 pgp/seahorse-gpgme-add-subkey.c create mode 100644 pgp/seahorse-gpgme-add-subkey.h create mode 100644 pgp/seahorse-gpgme-add-subkey.ui create mode 100644 pgp/seahorse-gpgme-add-uid.c create mode 100644 pgp/seahorse-gpgme-add-uid.h create mode 100644 pgp/seahorse-gpgme-add-uid.ui create mode 100644 pgp/seahorse-gpgme-data.c create mode 100644 pgp/seahorse-gpgme-data.h create mode 100644 pgp/seahorse-gpgme-dialogs.h create mode 100644 pgp/seahorse-gpgme-expires-dialog.c create mode 100644 pgp/seahorse-gpgme-expires-dialog.h create mode 100644 pgp/seahorse-gpgme-expires-dialog.ui create mode 100644 pgp/seahorse-gpgme-exporter.c create mode 100644 pgp/seahorse-gpgme-exporter.h create mode 100644 pgp/seahorse-gpgme-generate-dialog.c create mode 100644 pgp/seahorse-gpgme-generate-dialog.h create mode 100644 pgp/seahorse-gpgme-generate-dialog.ui create mode 100644 pgp/seahorse-gpgme-key-deleter.c create mode 100644 pgp/seahorse-gpgme-key-deleter.h create mode 100644 pgp/seahorse-gpgme-key-op.c create mode 100644 pgp/seahorse-gpgme-key-op.h create mode 100644 pgp/seahorse-gpgme-key.c create mode 100644 pgp/seahorse-gpgme-key.h create mode 100644 pgp/seahorse-gpgme-keyring.c create mode 100644 pgp/seahorse-gpgme-keyring.h create mode 100644 pgp/seahorse-gpgme-photo.c create mode 100644 pgp/seahorse-gpgme-photo.h create mode 100644 pgp/seahorse-gpgme-photos.c create mode 100644 pgp/seahorse-gpgme-revoke.c create mode 100644 pgp/seahorse-gpgme-secret-deleter.c create mode 100644 pgp/seahorse-gpgme-secret-deleter.h create mode 100644 pgp/seahorse-gpgme-sign-dialog.c create mode 100644 pgp/seahorse-gpgme-sign-dialog.h create mode 100644 pgp/seahorse-gpgme-sign-dialog.ui create mode 100644 pgp/seahorse-gpgme-subkey.c create mode 100644 pgp/seahorse-gpgme-subkey.h create mode 100644 pgp/seahorse-gpgme-uid.c create mode 100644 pgp/seahorse-gpgme-uid.h create mode 100644 pgp/seahorse-gpgme.c create mode 100644 pgp/seahorse-gpgme.h create mode 100644 pgp/seahorse-hkp-source.c create mode 100644 pgp/seahorse-hkp-source.h create mode 100644 pgp/seahorse-keyserver-results.c create mode 100644 pgp/seahorse-keyserver-results.h create mode 100644 pgp/seahorse-keyserver-results.ui create mode 100644 pgp/seahorse-keyserver-search.c create mode 100644 pgp/seahorse-keyserver-search.h create mode 100644 pgp/seahorse-keyserver-search.ui create mode 100644 pgp/seahorse-keyserver-sync.c create mode 100644 pgp/seahorse-keyserver-sync.h create mode 100644 pgp/seahorse-keyserver-sync.ui create mode 100644 pgp/seahorse-ldap-source.c create mode 100644 pgp/seahorse-ldap-source.h create mode 100644 pgp/seahorse-pgp-actions.c create mode 100644 pgp/seahorse-pgp-actions.h create mode 100644 pgp/seahorse-pgp-backend.c create mode 100644 pgp/seahorse-pgp-backend.h create mode 100644 pgp/seahorse-pgp-dialogs.h create mode 100644 pgp/seahorse-pgp-key-properties.c create mode 100644 pgp/seahorse-pgp-key.c create mode 100644 pgp/seahorse-pgp-key.h create mode 100644 pgp/seahorse-pgp-keysets.c create mode 100644 pgp/seahorse-pgp-keysets.h create mode 100644 pgp/seahorse-pgp-photo.c create mode 100644 pgp/seahorse-pgp-photo.h create mode 100644 pgp/seahorse-pgp-private-key-properties.ui create mode 100644 pgp/seahorse-pgp-public-key-properties.ui create mode 100644 pgp/seahorse-pgp-signature.c create mode 100644 pgp/seahorse-pgp-signature.h create mode 100644 pgp/seahorse-pgp-subkey.c create mode 100644 pgp/seahorse-pgp-subkey.h create mode 100644 pgp/seahorse-pgp-uid.c create mode 100644 pgp/seahorse-pgp-uid.h create mode 100644 pgp/seahorse-revoke.ui create mode 100644 pgp/seahorse-server-source.c create mode 100644 pgp/seahorse-server-source.h create mode 100755 pgp/seahorse-signer.c create mode 100644 pgp/seahorse-signer.ui create mode 100644 pgp/seahorse-transfer.c create mode 100644 pgp/seahorse-transfer.h create mode 100644 pgp/seahorse-unknown-source.c create mode 100644 pgp/seahorse-unknown-source.h create mode 100644 pgp/seahorse-unknown.c create mode 100644 pgp/seahorse-unknown.h create mode 100644 pgp/seahorse-xloadimage.c create mode 100644 pkcs11/certificate-der-exporter.vala create mode 100644 pkcs11/cryptoki.vapi create mode 100644 pkcs11/meson.build create mode 100644 pkcs11/pkcs11-certificate.vala create mode 100644 pkcs11/pkcs11-deleter.vala create mode 100644 pkcs11/pkcs11-generate.vala create mode 100644 pkcs11/pkcs11-key-deleter.vala create mode 100644 pkcs11/pkcs11-module.vala create mode 100644 pkcs11/pkcs11-private-key.vala create mode 100644 pkcs11/pkcs11-properties.vala create mode 100644 pkcs11/pkcs11-request.vala create mode 100644 pkcs11/pkcs11-token.vala create mode 100644 pkcs11/seahorse-pkcs11-backend.c create mode 100644 pkcs11/seahorse-pkcs11-backend.h create mode 100644 pkcs11/seahorse-pkcs11-generate.ui create mode 100644 pkcs11/seahorse-pkcs11-properties.ui create mode 100644 pkcs11/seahorse-pkcs11-request.ui create mode 100644 po/ChangeLog create mode 100644 po/LINGUAS create mode 100644 po/POTFILES.in create mode 100644 po/POTFILES.skip create mode 100644 po/ar.po create mode 100644 po/as.po create mode 100644 po/ast.po create mode 100644 po/az.po create mode 100644 po/be.po create mode 100644 po/be@latin.po create mode 100644 po/bg.po create mode 100644 po/bn.po create mode 100644 po/bn_IN.po create mode 100644 po/br.po create mode 100644 po/bs.po create mode 100644 po/ca.po create mode 100644 po/ca@valencia.po create mode 100644 po/cs.po create mode 100644 po/cy.po create mode 100644 po/da.po create mode 100644 po/de.po create mode 100644 po/dz.po create mode 100644 po/el.po create mode 100644 po/en@shaw.po create mode 100644 po/en_CA.po create mode 100644 po/en_GB.po create mode 100644 po/eo.po create mode 100644 po/es.po create mode 100644 po/et.po create mode 100644 po/eu.po create mode 100644 po/fa.po create mode 100644 po/fi.po create mode 100644 po/fr.po create mode 100644 po/fur.po create mode 100644 po/ga.po create mode 100644 po/gd.po create mode 100644 po/gl.po create mode 100644 po/gu.po create mode 100644 po/he.po create mode 100644 po/hi.po create mode 100644 po/hr.po create mode 100644 po/hu.po create mode 100644 po/id.po create mode 100644 po/is.po create mode 100644 po/it.po create mode 100644 po/ja.po create mode 100644 po/kk.po create mode 100644 po/kn.po create mode 100644 po/ko.po create mode 100644 po/ku.po create mode 100644 po/lt.po create mode 100644 po/lv.po create mode 100644 po/mai.po create mode 100644 po/meson.build create mode 100644 po/mk.po create mode 100644 po/ml.po create mode 100644 po/mr.po create mode 100644 po/ms.po create mode 100644 po/nb.po create mode 100644 po/ne.po create mode 100644 po/nl.po create mode 100644 po/nn.po create mode 100644 po/oc.po create mode 100644 po/or.po create mode 100644 po/pa.po create mode 100644 po/pl.po create mode 100644 po/pt.po create mode 100644 po/pt_BR.po create mode 100644 po/ro.po create mode 100644 po/ru.po create mode 100644 po/rw.po create mode 100644 po/si.po create mode 100644 po/sk.po create mode 100644 po/sl.po create mode 100644 po/sq.po create mode 100644 po/sr.po create mode 100644 po/sr@latin.po create mode 100644 po/sv.po create mode 100644 po/ta.po create mode 100644 po/te.po create mode 100644 po/tg.po create mode 100644 po/th.po create mode 100644 po/tr.po create mode 100644 po/ug.po create mode 100644 po/uk.po create mode 100644 po/vi.po create mode 100644 po/zh_CN.po create mode 100644 po/zh_HK.po create mode 100644 po/zh_TW.po create mode 100644 seahorse.doap create mode 100644 src/application.vala create mode 100644 src/import-dialog.vala create mode 100644 src/key-manager-item-row.vala create mode 100644 src/key-manager.vala create mode 100644 src/main.vala create mode 100644 src/meson.build create mode 100644 src/org.gnome.ShellSearchProvider2.xml create mode 100644 src/seahorse-change-passphrase.ui create mode 100644 src/seahorse-key-manager-widgets.ui create mode 100644 src/seahorse-key-manager.ui create mode 100644 src/search-provider.vala create mode 100644 src/sidebar.vala create mode 100644 ssh/actions.vala create mode 100644 ssh/algorithm.vala create mode 100644 ssh/backend.vala create mode 100644 ssh/deleter.vala create mode 100644 ssh/errors.vala create mode 100644 ssh/exporter.vala create mode 100644 ssh/generate.vala create mode 100644 ssh/key-data.vala create mode 100644 ssh/key-length-chooser.vala create mode 100644 ssh/key-properties.vala create mode 100644 ssh/key.vala create mode 100644 ssh/meson.build create mode 100644 ssh/operation.vala create mode 100644 ssh/seahorse-ssh-askpass.c create mode 100644 ssh/seahorse-ssh-generate.ui create mode 100644 ssh/seahorse-ssh-key-properties.ui create mode 100644 ssh/seahorse-ssh-upload.ui create mode 100644 ssh/source.vala create mode 100644 ssh/ssh.vala create mode 100644 ssh/upload.vala create mode 100644 subprojects/libhandy/.dir-locals.el create mode 100644 subprojects/libhandy/.editorconfig create mode 100644 subprojects/libhandy/AUTHORS create mode 100644 subprojects/libhandy/COPYING create mode 100644 subprojects/libhandy/HACKING.md create mode 100644 subprojects/libhandy/NEWS create mode 100644 subprojects/libhandy/README.md create mode 100644 subprojects/libhandy/data/leak-suppress.txt create mode 100644 subprojects/libhandy/data/packaging/rpm/libhandy.spec create mode 100644 subprojects/libhandy/debian/README.source create mode 100644 subprojects/libhandy/debian/changelog create mode 100644 subprojects/libhandy/debian/control create mode 100644 subprojects/libhandy/debian/copyright create mode 100644 subprojects/libhandy/debian/docs create mode 100644 subprojects/libhandy/debian/gir1.2-handy-1.install create mode 100644 subprojects/libhandy/debian/handy-0.0-examples.examples create mode 100644 subprojects/libhandy/debian/handy-0.0-examples.install create mode 100644 subprojects/libhandy/debian/handy-1-examples.install create mode 100644 subprojects/libhandy/debian/libhandy-1-0.install create mode 100644 subprojects/libhandy/debian/libhandy-1-0.symbols create mode 100644 subprojects/libhandy/debian/libhandy-1-dev.install create mode 100755 subprojects/libhandy/debian/rules create mode 100644 subprojects/libhandy/debian/source/format create mode 100755 subprojects/libhandy/debian/tests/build-test create mode 100644 subprojects/libhandy/debian/tests/control create mode 100755 subprojects/libhandy/debian/tests/python-gi-test create mode 100644 subprojects/libhandy/doc/build-howto.xml create mode 100644 subprojects/libhandy/doc/handy-docs.xml create mode 100644 subprojects/libhandy/doc/hdy-migrating-0-0-to-1.xml create mode 100644 subprojects/libhandy/doc/images/avatar.png create mode 100644 subprojects/libhandy/doc/images/header-bar.png create mode 100644 subprojects/libhandy/doc/images/keypad.png create mode 100644 subprojects/libhandy/doc/images/list.png create mode 100644 subprojects/libhandy/doc/images/preferences-window.png create mode 100644 subprojects/libhandy/doc/images/search.png create mode 100644 subprojects/libhandy/doc/images/view-switcher-bar.png create mode 100644 subprojects/libhandy/doc/images/view-switcher.png create mode 100644 subprojects/libhandy/doc/meson.build create mode 100644 subprojects/libhandy/doc/visual-index.xml create mode 100644 subprojects/libhandy/doc/xml/gtkdocentities.ent.in create mode 100644 subprojects/libhandy/doc/xml/meson.build create mode 100755 subprojects/libhandy/examples/example.py create mode 100644 subprojects/libhandy/examples/handy-demo.c create mode 100644 subprojects/libhandy/examples/handy-demo.gresources.xml create mode 100644 subprojects/libhandy/examples/hdy-demo-preferences-window.c create mode 100644 subprojects/libhandy/examples/hdy-demo-preferences-window.h create mode 100644 subprojects/libhandy/examples/hdy-demo-preferences-window.ui create mode 100644 subprojects/libhandy/examples/hdy-demo-window.c create mode 100644 subprojects/libhandy/examples/hdy-demo-window.h create mode 100644 subprojects/libhandy/examples/hdy-demo-window.ui create mode 100644 subprojects/libhandy/examples/hdy-view-switcher-demo-window.c create mode 100644 subprojects/libhandy/examples/hdy-view-switcher-demo-window.h create mode 100644 subprojects/libhandy/examples/hdy-view-switcher-demo-window.ui create mode 100644 subprojects/libhandy/examples/icons/dark-mode-symbolic.svg create mode 100644 subprojects/libhandy/examples/icons/gesture-touchpad-swipe-back-symbolic-rtl.svg create mode 100644 subprojects/libhandy/examples/icons/gesture-touchpad-swipe-back-symbolic.svg create mode 100644 subprojects/libhandy/examples/icons/gesture-touchscreen-swipe-back-symbolic-rtl.svg create mode 100644 subprojects/libhandy/examples/icons/gesture-touchscreen-swipe-back-symbolic.svg create mode 100644 subprojects/libhandy/examples/icons/gnome-smartphone-symbolic.svg create mode 100644 subprojects/libhandy/examples/icons/light-mode-symbolic.svg create mode 100644 subprojects/libhandy/examples/icons/widget-carousel-symbolic.svg create mode 100644 subprojects/libhandy/examples/icons/widget-clamp-symbolic.svg create mode 100644 subprojects/libhandy/examples/icons/widget-deck-symbolic.svg create mode 100644 subprojects/libhandy/examples/icons/widget-keypad-symbolic.svg create mode 100644 subprojects/libhandy/examples/icons/widget-leaflet-symbolic.svg create mode 100644 subprojects/libhandy/examples/icons/widget-list-symbolic.svg create mode 100644 subprojects/libhandy/examples/icons/widget-search-symbolic.svg create mode 100644 subprojects/libhandy/examples/icons/widget-view-switcher-symbolic.svg create mode 100644 subprojects/libhandy/examples/icons/widget-window-symbolic.svg create mode 100644 subprojects/libhandy/examples/meson.build create mode 100644 subprojects/libhandy/examples/sm.puri.Handy.Demo.json create mode 100644 subprojects/libhandy/examples/style.css create mode 100644 subprojects/libhandy/glade/glade-catalog.dtd create mode 100644 subprojects/libhandy/glade/glade-hdy-carousel.c create mode 100644 subprojects/libhandy/glade/glade-hdy-carousel.h create mode 100644 subprojects/libhandy/glade/glade-hdy-expander-row.c create mode 100644 subprojects/libhandy/glade/glade-hdy-expander-row.h create mode 100644 subprojects/libhandy/glade/glade-hdy-header-bar.c create mode 100644 subprojects/libhandy/glade/glade-hdy-header-bar.h create mode 100644 subprojects/libhandy/glade/glade-hdy-header-group.c create mode 100644 subprojects/libhandy/glade/glade-hdy-header-group.h create mode 100644 subprojects/libhandy/glade/glade-hdy-leaflet.c create mode 100644 subprojects/libhandy/glade/glade-hdy-leaflet.h create mode 100644 subprojects/libhandy/glade/glade-hdy-preferences-page.c create mode 100644 subprojects/libhandy/glade/glade-hdy-preferences-page.h create mode 100644 subprojects/libhandy/glade/glade-hdy-preferences-window.c create mode 100644 subprojects/libhandy/glade/glade-hdy-preferences-window.h create mode 100644 subprojects/libhandy/glade/glade-hdy-search-bar.c create mode 100644 subprojects/libhandy/glade/glade-hdy-search-bar.h create mode 100644 subprojects/libhandy/glade/glade-hdy-swipe-group.c create mode 100644 subprojects/libhandy/glade/glade-hdy-swipe-group.h create mode 100644 subprojects/libhandy/glade/glade-hdy-utils.c create mode 100644 subprojects/libhandy/glade/glade-hdy-utils.h create mode 100644 subprojects/libhandy/glade/glade-hdy-window.c create mode 100644 subprojects/libhandy/glade/glade-hdy-window.h create mode 100644 subprojects/libhandy/glade/libhandy.xml create mode 100644 subprojects/libhandy/glade/meson.build create mode 100644 subprojects/libhandy/glade/rename-id.patch create mode 100644 subprojects/libhandy/glade/sm.puri.Handy.Glade.json create mode 100644 subprojects/libhandy/libhandy.doap create mode 100644 subprojects/libhandy/libhandy.syms create mode 100755 subprojects/libhandy/lint/api-visibility.sh create mode 100644 subprojects/libhandy/meson.build create mode 100644 subprojects/libhandy/meson_options.txt create mode 100644 subprojects/libhandy/po/LINGUAS create mode 100644 subprojects/libhandy/po/POTFILES.in create mode 100644 subprojects/libhandy/po/POTFILES.skip create mode 100644 subprojects/libhandy/po/en_GB.po create mode 100644 subprojects/libhandy/po/es.po create mode 100644 subprojects/libhandy/po/eu.po create mode 100644 subprojects/libhandy/po/fr.po create mode 100644 subprojects/libhandy/po/fur.po create mode 100644 subprojects/libhandy/po/id.po create mode 100644 subprojects/libhandy/po/meson.build create mode 100644 subprojects/libhandy/po/pl.po create mode 100644 subprojects/libhandy/po/pt_BR.po create mode 100644 subprojects/libhandy/po/ro.po create mode 100644 subprojects/libhandy/po/sl.po create mode 100644 subprojects/libhandy/po/uk.po create mode 100755 subprojects/libhandy/run.in create mode 100644 subprojects/libhandy/src/gen-public-types.sh create mode 100644 subprojects/libhandy/src/gtk-window-private.h create mode 100644 subprojects/libhandy/src/gtk-window.c create mode 100644 subprojects/libhandy/src/gtkprogresstracker.c create mode 100644 subprojects/libhandy/src/gtkprogresstrackerprivate.h create mode 100644 subprojects/libhandy/src/handy.gresources.xml create mode 100644 subprojects/libhandy/src/handy.h create mode 100644 subprojects/libhandy/src/hdy-action-row.c create mode 100644 subprojects/libhandy/src/hdy-action-row.h create mode 100644 subprojects/libhandy/src/hdy-action-row.ui create mode 100644 subprojects/libhandy/src/hdy-animation-private.h create mode 100644 subprojects/libhandy/src/hdy-animation.c create mode 100644 subprojects/libhandy/src/hdy-animation.h create mode 100644 subprojects/libhandy/src/hdy-application-window.c create mode 100644 subprojects/libhandy/src/hdy-application-window.h create mode 100644 subprojects/libhandy/src/hdy-avatar.c create mode 100644 subprojects/libhandy/src/hdy-avatar.h create mode 100644 subprojects/libhandy/src/hdy-cairo-private.h create mode 100644 subprojects/libhandy/src/hdy-carousel-box-private.h create mode 100644 subprojects/libhandy/src/hdy-carousel-box.c create mode 100644 subprojects/libhandy/src/hdy-carousel-indicator-dots.c create mode 100644 subprojects/libhandy/src/hdy-carousel-indicator-dots.h create mode 100644 subprojects/libhandy/src/hdy-carousel-indicator-lines.c create mode 100644 subprojects/libhandy/src/hdy-carousel-indicator-lines.h create mode 100644 subprojects/libhandy/src/hdy-carousel.c create mode 100644 subprojects/libhandy/src/hdy-carousel.h create mode 100644 subprojects/libhandy/src/hdy-carousel.ui create mode 100644 subprojects/libhandy/src/hdy-clamp.c create mode 100644 subprojects/libhandy/src/hdy-clamp.h create mode 100644 subprojects/libhandy/src/hdy-combo-row.c create mode 100644 subprojects/libhandy/src/hdy-combo-row.h create mode 100644 subprojects/libhandy/src/hdy-combo-row.ui create mode 100644 subprojects/libhandy/src/hdy-css-private.h create mode 100644 subprojects/libhandy/src/hdy-css.c create mode 100644 subprojects/libhandy/src/hdy-deck.c create mode 100644 subprojects/libhandy/src/hdy-deck.h create mode 100644 subprojects/libhandy/src/hdy-deprecation-macros.h create mode 100644 subprojects/libhandy/src/hdy-enum-value-object.c create mode 100644 subprojects/libhandy/src/hdy-enum-value-object.h create mode 100644 subprojects/libhandy/src/hdy-enums-private.c.in create mode 100644 subprojects/libhandy/src/hdy-enums-private.h.in create mode 100644 subprojects/libhandy/src/hdy-enums.c.in create mode 100644 subprojects/libhandy/src/hdy-enums.h.in create mode 100644 subprojects/libhandy/src/hdy-expander-row.c create mode 100644 subprojects/libhandy/src/hdy-expander-row.h create mode 100644 subprojects/libhandy/src/hdy-expander-row.ui create mode 100644 subprojects/libhandy/src/hdy-header-bar.c create mode 100644 subprojects/libhandy/src/hdy-header-bar.h create mode 100644 subprojects/libhandy/src/hdy-header-group.c create mode 100644 subprojects/libhandy/src/hdy-header-group.h create mode 100644 subprojects/libhandy/src/hdy-keypad-button-private.h create mode 100644 subprojects/libhandy/src/hdy-keypad-button.c create mode 100644 subprojects/libhandy/src/hdy-keypad-button.ui create mode 100644 subprojects/libhandy/src/hdy-keypad.c create mode 100644 subprojects/libhandy/src/hdy-keypad.h create mode 100644 subprojects/libhandy/src/hdy-keypad.ui create mode 100644 subprojects/libhandy/src/hdy-leaflet.c create mode 100644 subprojects/libhandy/src/hdy-leaflet.h create mode 100644 subprojects/libhandy/src/hdy-main-private.h create mode 100644 subprojects/libhandy/src/hdy-main.c create mode 100644 subprojects/libhandy/src/hdy-main.h create mode 100644 subprojects/libhandy/src/hdy-navigation-direction.c create mode 100644 subprojects/libhandy/src/hdy-navigation-direction.h create mode 100644 subprojects/libhandy/src/hdy-nothing-private.h create mode 100644 subprojects/libhandy/src/hdy-nothing.c create mode 100644 subprojects/libhandy/src/hdy-preferences-group-private.h create mode 100644 subprojects/libhandy/src/hdy-preferences-group.c create mode 100644 subprojects/libhandy/src/hdy-preferences-group.h create mode 100644 subprojects/libhandy/src/hdy-preferences-group.ui create mode 100644 subprojects/libhandy/src/hdy-preferences-page-private.h create mode 100644 subprojects/libhandy/src/hdy-preferences-page.c create mode 100644 subprojects/libhandy/src/hdy-preferences-page.h create mode 100644 subprojects/libhandy/src/hdy-preferences-page.ui create mode 100644 subprojects/libhandy/src/hdy-preferences-row.c create mode 100644 subprojects/libhandy/src/hdy-preferences-row.h create mode 100644 subprojects/libhandy/src/hdy-preferences-window.c create mode 100644 subprojects/libhandy/src/hdy-preferences-window.h create mode 100644 subprojects/libhandy/src/hdy-preferences-window.ui create mode 100644 subprojects/libhandy/src/hdy-search-bar.c create mode 100644 subprojects/libhandy/src/hdy-search-bar.h create mode 100644 subprojects/libhandy/src/hdy-search-bar.ui create mode 100644 subprojects/libhandy/src/hdy-shadow-helper-private.h create mode 100644 subprojects/libhandy/src/hdy-shadow-helper.c create mode 100644 subprojects/libhandy/src/hdy-squeezer.c create mode 100644 subprojects/libhandy/src/hdy-squeezer.h create mode 100644 subprojects/libhandy/src/hdy-stackable-box-private.h create mode 100644 subprojects/libhandy/src/hdy-stackable-box.c create mode 100644 subprojects/libhandy/src/hdy-swipe-group.c create mode 100644 subprojects/libhandy/src/hdy-swipe-group.h create mode 100644 subprojects/libhandy/src/hdy-swipe-tracker-private.h create mode 100644 subprojects/libhandy/src/hdy-swipe-tracker.c create mode 100644 subprojects/libhandy/src/hdy-swipe-tracker.h create mode 100644 subprojects/libhandy/src/hdy-swipeable.c create mode 100644 subprojects/libhandy/src/hdy-swipeable.h create mode 100644 subprojects/libhandy/src/hdy-title-bar.c create mode 100644 subprojects/libhandy/src/hdy-title-bar.h create mode 100644 subprojects/libhandy/src/hdy-types.h create mode 100644 subprojects/libhandy/src/hdy-value-object.c create mode 100644 subprojects/libhandy/src/hdy-value-object.h create mode 100644 subprojects/libhandy/src/hdy-version.h.in create mode 100644 subprojects/libhandy/src/hdy-view-switcher-bar.c create mode 100644 subprojects/libhandy/src/hdy-view-switcher-bar.h create mode 100644 subprojects/libhandy/src/hdy-view-switcher-bar.ui create mode 100644 subprojects/libhandy/src/hdy-view-switcher-button-private.h create mode 100644 subprojects/libhandy/src/hdy-view-switcher-button.c create mode 100644 subprojects/libhandy/src/hdy-view-switcher-button.ui create mode 100644 subprojects/libhandy/src/hdy-view-switcher-title.c create mode 100644 subprojects/libhandy/src/hdy-view-switcher-title.h create mode 100644 subprojects/libhandy/src/hdy-view-switcher-title.ui create mode 100644 subprojects/libhandy/src/hdy-view-switcher.c create mode 100644 subprojects/libhandy/src/hdy-view-switcher.h create mode 100644 subprojects/libhandy/src/hdy-window-handle-controller-private.h create mode 100644 subprojects/libhandy/src/hdy-window-handle-controller.c create mode 100644 subprojects/libhandy/src/hdy-window-handle.c create mode 100644 subprojects/libhandy/src/hdy-window-handle.h create mode 100644 subprojects/libhandy/src/hdy-window-mixin-private.h create mode 100644 subprojects/libhandy/src/hdy-window-mixin.c create mode 100644 subprojects/libhandy/src/hdy-window.c create mode 100644 subprojects/libhandy/src/hdy-window.h create mode 100644 subprojects/libhandy/src/icons/avatar-default-symbolic.svg create mode 100644 subprojects/libhandy/src/icons/hdy-expander-arrow-symbolic.svg create mode 100644 subprojects/libhandy/src/meson.build create mode 100644 subprojects/libhandy/src/themes/Adwaita-dark.css create mode 100644 subprojects/libhandy/src/themes/Adwaita-dark.scss create mode 100644 subprojects/libhandy/src/themes/Adwaita.css create mode 100644 subprojects/libhandy/src/themes/Adwaita.scss create mode 100644 subprojects/libhandy/src/themes/HighContrast.css create mode 100644 subprojects/libhandy/src/themes/HighContrast.scss create mode 100644 subprojects/libhandy/src/themes/HighContrastInverse.css create mode 100644 subprojects/libhandy/src/themes/HighContrastInverse.scss create mode 100644 subprojects/libhandy/src/themes/_Adwaita-base.scss create mode 100644 subprojects/libhandy/src/themes/_definitions.scss create mode 100644 subprojects/libhandy/src/themes/_fallback-base.scss create mode 100644 subprojects/libhandy/src/themes/_shared-base.scss create mode 100644 subprojects/libhandy/src/themes/fallback.css create mode 100644 subprojects/libhandy/src/themes/fallback.scss create mode 100755 subprojects/libhandy/src/themes/parse-sass.sh create mode 100644 subprojects/libhandy/src/themes/shared.css create mode 100644 subprojects/libhandy/src/themes/shared.scss create mode 100644 subprojects/libhandy/tests/meson.build create mode 100644 subprojects/libhandy/tests/test-action-row.c create mode 100644 subprojects/libhandy/tests/test-application-window.c create mode 100644 subprojects/libhandy/tests/test-avatar.c create mode 100644 subprojects/libhandy/tests/test-carousel-indicator-dots.c create mode 100644 subprojects/libhandy/tests/test-carousel-indicator-lines.c create mode 100644 subprojects/libhandy/tests/test-carousel.c create mode 100644 subprojects/libhandy/tests/test-combo-row.c create mode 100644 subprojects/libhandy/tests/test-deck.c create mode 100644 subprojects/libhandy/tests/test-expander-row.c create mode 100644 subprojects/libhandy/tests/test-header-bar.c create mode 100644 subprojects/libhandy/tests/test-header-group.c create mode 100644 subprojects/libhandy/tests/test-keypad.c create mode 100644 subprojects/libhandy/tests/test-leaflet.c create mode 100644 subprojects/libhandy/tests/test-preferences-group.c create mode 100644 subprojects/libhandy/tests/test-preferences-page.c create mode 100644 subprojects/libhandy/tests/test-preferences-row.c create mode 100644 subprojects/libhandy/tests/test-preferences-window.c create mode 100644 subprojects/libhandy/tests/test-search-bar.c create mode 100644 subprojects/libhandy/tests/test-squeezer.c create mode 100644 subprojects/libhandy/tests/test-swipe-group.c create mode 100644 subprojects/libhandy/tests/test-value-object.c create mode 100644 subprojects/libhandy/tests/test-view-switcher-bar.c create mode 100644 subprojects/libhandy/tests/test-view-switcher.c create mode 100644 subprojects/libhandy/tests/test-window-handle.c create mode 100644 subprojects/libhandy/tests/test-window.c diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 00000000..af8be90a --- /dev/null +++ b/AUTHORS @@ -0,0 +1,14 @@ +AUTHORS: +Jacob Perkins +Jose Carlos Garcia Sogo +Jean Schurger +Stef Walter +Adam Schreiber + +CONTRIBUTIONS: +Albrecht Dreß +Jim Pharis +Fernando Hererra +Michael Mende +Sam Morris +Milo Casagrande diff --git a/COPYING b/COPYING new file mode 100644 index 00000000..d159169d --- /dev/null +++ b/COPYING @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/COPYING-DOCS b/COPYING-DOCS new file mode 100644 index 00000000..b42936be --- /dev/null +++ b/COPYING-DOCS @@ -0,0 +1,355 @@ + GNU Free Documentation License + Version 1.1, March 2000 + + Copyright (C) 2000 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + +0. PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +written document "free" in the sense of freedom: to assure everyone +the effective freedom to copy and redistribute it, with or without +modifying it, either commercially or noncommercially. Secondarily, +this License preserves for the author and publisher a way to get +credit for their work, while not being considered responsible for +modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +1. APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work that contains a +notice placed by the copyright holder saying it can be distributed +under the terms of this License. The "Document", below, refers to any +such manual or work. Any member of the public is a licensee, and is +addressed as "you". + +A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall subject +(or to related matters) and contains nothing that could fall directly +within that overall subject. (For example, if the Document is in part a +textbook of mathematics, a Secondary Section may not explain any +mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. + +The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. + +A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, whose contents can be viewed and edited directly and +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup has been designed to thwart or discourage +subsequent modification by readers is not Transparent. A copy that is +not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML designed for human modification. Opaque formats include +PostScript, PDF, proprietary formats that can be read and edited only +by proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML produced by some word processors for output +purposes only. + +The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + + +2. VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +3. COPYING IN QUANTITY + +If you publish printed copies of the Document numbering more than 100, +and the Document's license notice requires Cover Texts, you must enclose +the copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a publicly-accessible computer-network location containing a complete +Transparent copy of the Document, free of added material, which the +general network-using public has access to download anonymously at no +charge using public-standard network protocols. If you use the latter +option, you must take reasonably prudent steps, when you begin +distribution of Opaque copies in quantity, to ensure that this +Transparent copy will remain thus accessible at the stated location +until at least one year after the last time you distribute an Opaque +copy (directly or through your agents or retailers) of that edition to +the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + + +4. MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +A. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. +B. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has less than five). +C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. +D. Preserve all the copyright notices of the Document. +E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. +F. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. +G. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. +H. Include an unaltered copy of this License. +I. Preserve the section entitled "History", and its title, and add to + it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. +J. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. +K. In any section entitled "Acknowledgements" or "Dedications", + preserve the section's title, and preserve in the section all the + substance and tone of each of the contributor acknowledgements + and/or dedications given therein. +L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. +M. Delete any section entitled "Endorsements". Such a section + may not be included in the Modified Version. +N. Do not retitle any existing section as "Endorsements" + or to conflict in title with any Invariant Section. + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +5. COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections entitled "History" +in the various original documents, forming one section entitled +"History"; likewise combine any sections entitled "Acknowledgements", +and any sections entitled "Dedications". You must delete all sections +entitled "Endorsements." + + +6. COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + + +7. AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, does not as a whole count as a Modified Version +of the Document, provided no compilation copyright is claimed for the +compilation. Such a compilation is called an "aggregate", and this +License does not apply to the other self-contained works thus compiled +with the Document, on account of their being thus compiled, if they +are not themselves derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one quarter +of the entire aggregate, the Document's Cover Texts may be placed on +covers that surround only the Document within the aggregate. +Otherwise they must appear on covers around the whole aggregate. + + +8. TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License provided that you also include the +original English version of this License. In case of a disagreement +between the translation and the original English version of this +License, the original English version will prevail. + + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + + +10. FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. + + +ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + + Copyright (c) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.1 + or any later version published by the Free Software Foundation; + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + A copy of the license is included in the section entitled "GNU + Free Documentation License". + +If you have no Invariant Sections, write "with no Invariant Sections" +instead of saying which ones are invariant. If you have no +Front-Cover Texts, write "no Front-Cover Texts" instead of +"Front-Cover Texts being LIST"; likewise for Back-Cover Texts. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. diff --git a/COPYING.LIB b/COPYING.LIB new file mode 100644 index 00000000..4362b491 --- /dev/null +++ b/COPYING.LIB @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/NEWS b/NEWS new file mode 100644 index 00000000..936ac036 --- /dev/null +++ b/NEWS @@ -0,0 +1,1650 @@ +seahorse 3.38.0.1 +----------------- + * Fix detection of libhandy-1 [!142] + +seahorse 3.38.0 +--------------- + * Bump to libhandy1 [!141] + * Updated translations + +seahorse 3.37.2 +--------------- + * build: Fix build for libhandy + * ci: Several updates to the CI template + * flatpak: Remove devel prefix + * help: Several updates to the help pages [#272] + * gkr: Allow copying password secret with right click [#229] + * pgp: Don't show 'Indicate trust' before importing [#286] + * ssh: Fix "allow remote access" [#149] + * Updated translations + +seahorse 3.37.1 +--------------- + * Better keyboard navigation [!133] + * Bump minimal GLib version to 2.58 + * Update README to point to discourse.gnome.org + * pgp: Set input-purpose on relevant entries + * Don't use wrongful mnemonic for Import [#263] + * Several fixes to the help pages + * Updated translations + +seahorse 3.36.0 +--------------- + * Add hyperlink for COPYING in README [!124] + * meson: Validate appdata and desktop files [!123] + * flatpak: Remove dconf workaround [!123] + * flatpak: Remove libsoup [!123] + * gkr: Try to guess the username [!122] + * Updated translations + +seahorse 3.35.91 +---------------- + * ui: Add F10 shortcut for 'open menu' [!118] + * ui: Remove ctrl+f1 shortcut [!118] + * pgp: Allow exporting both public & secret key [#208] + * pgp: Use gpgme_op_create_subkey() over gpgme_op_edit() [!115] + * pgp: Port several dialogs to GtkTemplate [!121] + * ssh: Small UI changes to KeyProperties [#222] + * gkr: Try to display a username if available [!120] + * gkr: Strip verbose 'Network secret for' prefix [!120] + * gkr: Use "network-wired" icon for NM secret + * common: Remove SeahorseObjectWidget [!116] + * css: Fix a missing 'px' unit [!117] + * meson: Use files() for source files + * Updated translations + +seahorse 3.35.90 +--------------- + * a11y: Make sure import buttons have a mnemonic [#253] + * ui: Add keyboard shortcuts window [!107] + * ui: Take initials steps to provide an adaptive UI [!106] + * ui: Remove "Show combined" option [!106] + * ui: sidebar: Group by Passwords, Keys, Certificates [!109] + * ui: sidebar: Don't show "System Trust" if empty [#252, !108] + * ui: Use a GtkListBox instead of a GtkTreeView [!105] + * ssh: Show the public key and add button to copy it [!99, !114] + * pgp: Don't use short key IDs [!102] + * build: fix most compiler warnings [!103, !104, !110] + * build: simplify gpgme dependency, bump minimal version of Meson to 0.51 [!113] + * Updated translations + +seahorse 3.35.1 +--------------- + * Replace GtkFileChooserDialog with GtkFileChooserNative + * Add development profile + * icon: Create a nightly app icon [!96] + * pgp: Update documentation for exporting public keys [!98] + * pgp: Fix segfault when deleting subkeys [#250] + * pgp: Fix deadlock with trust-model tofu or tofu-pgp [#2] + * Updated translations + +seahorse 3.34.0 +--------------- + * gkr: Fix use-after-free in password interaction [!90] + * Add OARS Metadata tags + * Cleanup flatpak manifest + * gkr: Fix a build failure due to a GKR GIR breakage [gkr!19] + * Depend on meson version >= 0.49 + * Fix a crash for some Epiphany passwords [#225] + * Add mnemonics [#215] + * ssh: Use Posix.Signal.TERM to unbreak building with valac <= 0.40 [!39] + * Enable type-to-search [#218] + * pgp: Fix a segfault when syncing GPG keys to an HKP server [#224] + * gkr: Update user documentation for keyrings + * Generate manpage from XML file [!73] + * Implement GApplication.open() so we can import files from the command line [!72] + * pgp: Fix build related to GPG(ME) versions [#217,#244] + * Updated translations + +seahorse 3.32.0 +--------------- + * Fix regression: no more context menu in sidebar [!62] + * gkr: Fix crash when renaming keyring [!70] + * pgp: Don't use a custom person icon [!69] + * gpgme: Don't use gpgme_op_edit for exporting or making a UID primary [!66] + * Port more GSimpleAsyncResult to GTask [!67] + * flatpak: fix network permissions [!65] + * Updated translations + +seahorse 3.31.91 +--------------- + * Remove deprecated g_type_class_add_private [!60] + * flatpak: Add dependencies for key sharing/importing [!59] + * gkr: Recognize GNOME Web (Epiphany) passwords and adjust UI [!58] + * gkr: Recognize user-specific Wi-Fi passwords [!58] + * gkr: Use application icon for password of known installed app [!58] + * gkr: Fix Chrome password recognition [!58] + * gkr: Add password strength indicator when adding a new password [!55] + * pgp: Always use gpgme_op_export_start when exporting [!56] + * pgp: Cleanup the UI of the key properties dialog [!43,!45,!46] + * Add an empty state indicator [!47] + * Add f as an accelerator for the search bar [!44] + * Start migration of GSimpleAsyncResult to GTask [!52] + * Migrate some widget from SeahorseWidget to GtkTemplate [!50,!53,!54] + +seahorse 3.31.1 +--------------- + * Port most uses of Gtk.Action to GLib.Action [!38] + * New app icon [!3] + * Use a header bar [#95] + * Updated password properties dialog [!28] + * Updated SSH key properties dialog [!30] + * Update view when new item is added [!22] + * UI tweaks to the KeyManager list + * pgp: small cleanups + * Vala fixes [#206, !31] + * Updated translations + +seahorse 3.30.0 +--------------- + * Fix no window when launched from .desktop [#192,!16] + * Show active window if available on launch [!18] + * Add debug logging for filtering + * Make yelp documentation optional [!17] + * Drop Continuous' configure script [!12] + * Fix build on debian [#190] + * Updated translations + +seahorse 3.29.92 +---------------- + * Add a Flatpak manifest and use it for CI purposes [#7] + * gkr: fix segfault when trying to change default keyring password [#182] + * Fix - Cannot delete multi-selected SSH keys [#105, !9] + * pgp: Seahorse again correctly filters keys for signing [!11] + * pgp: Search keys dialog now properly lists key servers again [!10] + * Removed ChangeLog files in favor of NEWS file and git history + * gkr: Fix lock/unlock button tooltip text in keyring properties [!5] + * Get rid of SeahorseCollection in favor of Gcr.FilterCollection [#179] + * More cleaning up of deprecated GTK+ stuff + * Updated translations + +seahorse 3.29.91 +---------------- + * pgp: remove non-working Help button [#164] + * gkr: Fix lock/unlock button in keyring properties [!4] + * ssh: upload button didn't work + * Clean up deprecated GTK+ stuff + * Use header bars more consistently + * Implement more widgets using GtkTemplates + * Updated translations + +seahorse 3.29.90 +---------------- + * pgp: don't use unsupported "stock_calendar" as icon name [bgo#757237] + * pgp: add hint when 'Full name' is not long enough [bgo#395805] + * Update README.md with GitLab links and more + * Add previously implicit gio-unix dependency to meson.build [#8] + * Several small documentation fixes [!1,!2] + * Better decoupling of the sources in src and lib + * Require GTK+ >= 3.22 + * gkr: ask for confirmation when saving changes [bgo#712348] + * Updated AboutDialog [bgo#609418] + * ssh: modify the key length options based on the type of encryption + * ssh: add basic support for ECDSA and ED25519 keys [bgo#754028] + * GTK: remove most uses of Gtk.Stock, use more GtkTemplates + * Migrated from autotools to Meson [bgo#788453] + * SSH support is now mandatory + * Continue the Vala migration, several Vala fixes [bgo#777546,#779948,#785849] + * Migrated from intltool to gettext + * Updated doap file + * gpg: Ignore KEY_CONSIDERED line introduced in gpg 2.1.13 [bgo#778607] + * gkr: Don't update key description if it doesn't change [bgo#777802] + * Use Unicode in translations [bgo#772532] + * Updated translations + +seahorse 3.20.0 +--------------- + * Updated translations + * Update AppData spec file + +seahorse 3.19.4 +--------------- + * Build fixes [#758472] + * Updated translations + +seahorse 3.18.0 +--------------- + * Use the application name in the software center + * Updated translations + +seahorse 3.17.4 +--------------- + + * Avoid binding seahorse to the build-time version of GnuPG [#750468] + * Fix seahorse shell search provider [#704619] + * Use GResource to load UI resources [#752516] + * Build fixes [#744503] [#752990] + * Updated translations + +seahorse 3.16.0 +--------------- + + * Provide a symbolic variant of the app icon [#747244] + * Updated translations + +seahorse 3.15.92 +---------------- + + * Don't use deprecated GtkArrow [#744195] + * Updated translations + +seahorse 3.15.90 +---------------- + + * Refactoring and revamping help files + * Work around for breakage with gnupg2 + * Fix invalid UI files [#740138] + * Don't hide GtkBuilder errors [#740138] + * Updated translations + +seahorse 3.14.0 +--------------- + + * Fix crash in search provider [#733957] + * Display 'Certify' and 'Authenticate' names for GPG key flags [#733920] + * Prettify fingerprint downloaded from key server [#719872] + * When searching for keys request full fingerprint [#719872] + * Show whether subkeys can be used for signing/encryption [#730044] + * Remove incorrect tooltip from 'New Keyring' dialog [#733399] + * Updated translations + * Build fixes [#732396, ...] + +seahorse 3.12.2 +--------------- + + * Allow scrolled windows to grow when properties window resized [#727850] + * Don't open keyserver results behind main seahorse window [#727926] + * Prettify fingerprints in a smarter way [#719872] + * Documentation fixes + * Updated translations + * Build fixes [#725728] + +seahorse 3.12.0 +--------------- + + * New help pages from the malard documentation project + * Updated translations + * Build fixes + +seahorse 3.11.92 +---------------- + + * Updated translations + +seahorse 3.11.91 +---------------- + + * Fix SSH key generation [#715051] + * Fix pgp/ssh key export [#707014] + * Fix segfault in the search provider code [#724659] + * Port some more seahorse code to vala code + * Build fixes. No libtool [#722023 #712538 #712538 ...] + * Non-recursive Makefile + * Updated FSF's address + * Add AppData file + * Updated translations + +seahorse 3.10.1 +--------------- + + * Fix generate-select dialog for GTK+ changes [#703825] + * Try to make as many password dialogs transient as possible + * Updated translations + * Build fixes [#708827, #710069] + +seahorse 3.10.0 +--------------- + + * Translation fixes [#707420] + * Updated translations + +seahorse 3.9.91 +--------------- + + * Documentation fixes [#707135] + * Updated translations + +seahorse 3.9.90 +--------------- + + * Show the sidebar by default [#705592] + * ssh: Bump the minimum key size to 768 bits [#705561] + * Add "DesktopSettings;X-XFCE-SettingsDialog;" to .desktop categories [#704981] + * pgp: Put the 'Comment' field in the advanced section of PGP key gen [#703766] + * Only permit import from clipboard when data is available [#703394] + * soup: use the SoupProxyResolverDefault feature [#682495] + * pgp: Fix uninitialized memory access + * Port some of seahorse to vala code + * Build fixes [#702602, #699147, ...] + * Translation fixes [#699116, ...] + * Updated translations + +seahorse 3.9.1 +-------------- + + * Add a shell search provider for passwords and keys [#694606] + * Start using vala for internal interfaces + * Updated interfaces [cz el ml es] + * Build fixes + +seahorse 3.8.1 +-------------- + + * Updated translations + +seahorse 3.8.0 +-------------- + + * Updated translations + * Translation fixes + +seahorse 3.7.92 +--------------- + + * Updated translations + * Build fixes + +seahorse 3.7.91 +--------------- + + * Don't show preferences when no preferences are available [#694678] + * Don't conflict with seahorse-daemon DBus name [#694053] + * Updated translations [el lt vi ru cs pa fr pl sr ml gl] + * Fix command line options parsing [#686980] + * Build fixes + +seahorse 3.7.5 +-------------- + + * Added keywords to .desktop file + * Updated translation + * Build fixes + +seahorse 3.7.2 +-------------- + + * Build fixes + +seahorse 3.7.1 +-------------- + + * Fix problem where keyring items overwrite one another + * Correct capitalization of ElGamal + * Build fixes + +seahorse 3.6.3 +-------------- + + * Display item labels even if they don't match formatters + * Fix crashers + * Updated translations + +seahorse 3.6.2 +-------------- + + * Fix problem where keyring items overwrite one another + +seahorse 3.6.1 +-------------- + + * Strip DBus errors before displaying them + * Fix regression for changing a keyring master password + * Updated translations + +seahorse 3.6.0 +-------------- + + * Updated translations + +seahorse 3.5.92 +--------------- + + * Port to new documentation infrastructure + * Updated translations + +seahorse 3.5.91 +--------------- + + * Updated translations + +seahorse 3.5.90 +--------------- + + * Updated translations + +seahorse 3.5.4 +-------------- + + * No keyring UI bits if failed to connect to Secret Service + * When Ctrl-F pressed in the main window, focus the filter box + * Add suggestion to generate entropy while generating a key + * Use libsecret instead of libgnome-keyring + * Use GcrSecureEntryBuffer and remove duplicate code. + * Align keyids with name/signatures in key properties. + * Unavailable entries were displayed incorrectly for signatures + * Fix icon sizes + * Remove unused code + * Migrate to GtkApplication + * Other bug fixes + * Updated translations + * Build fixes + +seahorse 3.4.1 +-------------- + + * Fix crash during failed HKP exports + * Fix memory errors when searching for keys + * Updated translations + * Build fixes + +seahorse 3.4.0 +-------------- + + * Updated translations + +seahorse 3.3.92 +--------------- + + * Fix warning cancelling the signing dialog + * If multiple keys with some label in signer list, add hex keyid + * Updated translations, and fixes + * Build fixes + +seahorse 3.3.91 +--------------- + * Fix regression of configure ssh keys + * Fix line on top of the sidebar + * Updated translations + +seahorse 3.3.5 +-------------- + + * Maximum and minimum sidebar pane position + * Fix icons for filter entry + * Fix uninitialized memory usage + * Clearer wording for various keyrings + * Updated translations + * Build fixes + +seahorse 3.3.4 +-------------- + + * Remove limitation of max keyring item description characters + * Updated translations + * Build fixes + +seahorse 3.3.3 +-------------- + + * Support for PKCS#11 key generation + * Support for creating certificate requests + * Certificate actions happen from certificate window. + * Reimplement export functionality + * Refactor deletion, unlocking, refreshing, and showing properties + * Add way to lookup places, and refresh appropriate place after import + * Fixes for glib 2.31.x deprecations + * Fix bugs, build issues, translations + +seahorse 3.3.2 +-------------- + + * Refactoring of how actions work + * Add ability to lock and unlock places from the sidebar + * Implement login to smart cards and PKCS#11 tokens + * Remove experimental check selection on sidebar + * Listing of private keys on smart cards and PKCS#11 tokens + * Showing matching keys and certificates together, in listing and properties + * Translation, build fixes + * Don't crash if gpg or gpg2 don't run correctly. + * Fix problems editing PGP key servers + * Don't load key signatures unless showing key properties + * Updated translations + +seahorse 3.3.1.1 +---------------- + + * Fix build issues when pgp, ssh, or pkcs11 backends are disabled + * Updated translations + +seahorse 3.3.1 +-------------- + + * Major refactoring of look and behavior of seahorse + * Passwords, keys, certs are displayed together in the main window + * Places sidebar, which can be shown, to access where various objects come from + * Asynchronously initialize PKCS#11 modules + * Use the new importer infrastructure in libgcr + * Blacklist certain PKCS#11 tokens from showing up in seahorse + * Code cleanup and refactoring + * Build, translation fixes + * Updated translations + +seahorse 3.2.2 +-------------- + + * Don't load PGP signatures unless showing key properties + * Fix crash, issues adding key servers + * With gpg2 key loading takes longer, so adjust behavior + * Updated translations + * Build fixes + +seahorse 3.2.1 +-------------- + + * Updated translations + +seahorse 3.2.0 +-------------- + + * Fix DNS-SD key sharing crasher and make compatible with seahorse-sharing + * Removed unused spec file + * Updated translations + +seahorse 3.1.92 +--------------- + + * Fix the SSH password prompting and uploading of keys + * Fix behavior of password prompts when enter is pressed + * Fix GtkComboText GTK+3 problems + * Fix crasher when closing + * Build and documentation fixes + * Updated translations + +seahorse 3.1.91 +--------------- + + * Fix up for recent GTK+3 changes. + * Code cleanup, removing unused code. + * Remove old GTK+2 code that was missed earlier. + * Updated translations + +seahorse 3.1.90 +--------------- + * Change application name to shorter 'Passwords and Keys' + * Fix drop downs in key generation dialogs + * Don't distribute internal libseahorse documentation + * Match changes in libgck and libgcr + * Remove old operation code, and replace with newer gio style async + * Remove unused code and cleanup + * Port to GSettings (instead of using GConf) + * Add Glib style debug messages, activated with SEAHORSE_DEBUG=all + * Translation and build fixes + +seahorse 3.1.4 +-------------- + + * Create new keyring items in the right keyring. + * Remove dependency on GTK+ 2.x + * Split out libcryptui into its own module. + +seahorse 3.1.1 +-------------- + + * Fix up use of GcrCertificate + * Translations and translation fixes. + * Build fixes. + * Use pool.sks-keyservers.net instead of pgp.mit.edu + +seahorse 3.0.1 +-------------- + + * Now builds with GTK+ 3.x by default + * Fix build issues on GTK+ 3.x + * Fix problem importing SSH keys. + * Translations updated + +seahorse 3.0.0 +-------------- + + * Translations updated + +seahorse 2.91.93 +---------------- + + * Set the primary-toolbar style class on the toolbar [Cosimo Cecchi] + +seahorse 2.91.92 +---------------- + + * About dialog is transient for main window. [Cosimo Cecchi] + * When changing a PGP key's passpharse, ask for confirmation. + * Fix crash in SSH key parsing. + * Update icons [Jakub Steiner] + * Build fixes + +seahorse 2.91.91 +---------------- + + * Fix infinute loop when a keyring item is open. + * Don't display underlines as keys for a PGP uid. + * Escape keyring attribute names properly. + * Add context to translatable strings. + +seahorse 2.91.4 +--------------- + + * Update to work with GTK+3 [Matthias Clasen] + * Fix build issues with GCR updates [Stef Walter] + * More info when --version is specified [Pablo Castellano] + * Fix setting key trust to "never" [nobled] + * Define default key length for each algorithm [nobled] + * Show information when you sign an UID twice... [Pablo Castellano] + +seahorse 2.91.2 +--------------- + + * Escape markup when displaying keyring item attributes [Stef Walter] + * Fixes for new GTK+3 GtkComboText class and libnotify [Stef Walter] + +seahorse 2.91.1.1 +----------------- + + * Fix build with libnotify 0.7 [Stef Walter] + * Migrate to new GtkComboBoxText widget in GTK3 [Matthias Clasen] + * Fix build issues on gtk+-3.0 [Tomas Bzatek] + * Build with latest gcr [Martin Paljak] + * Add icons and clear action to the filter entry [Diego Escalante Urrelo] + * Avoid hard-coding Gtk+ API version in gir generation [Andreas Henriksson] + +seahorse 2.91.1 +--------------- + + * Migration to GTK+ 3.0 [Stef Walter] + * Fix compiler warnings. + * Use new gck library instead of old gp11. [Stef Walter] + +seahorse 2.91.0 +--------------- + + * Move DNS-SD key sharing to separate project [Stef Walter] + +seahorse 2.32.0 +--------------- + + * Make builds silent by default [Stef Walter] + +seahorse 2.31.91 +---------------- + + * Documentation [Thorsten Sick] + * Use GDK accessor functions [Adam Schreiber] + * Use smaller icons in "new" dialog [Adam Schreiber] + * Build fixes [Adam Schreiber, Pablo Castellano, Matthias Ferdinand] + +seahorse 2.30.1 +--------------- + + * Fixes all but one issue for compiling with -DGSEAL_ENABLE. [Andre Klapper] + * Remove deprecated GTK+ symbol [Javier Jardón] + + Translations: + * Catalan [Jordi Serratosa] + * Catalan (Valencian) [Carles Ferrando] + * Indonesian [Andika Triwidada] + * Latvian [Peteris Krisjanis] + * Spanish [Jorge González] + + +seahorse 2.30.0 +--------------- + + * Source Documentation [Thorsten Sick] + + Translations: + * Bengali [Jamil Ahmed] + * Basque [Inaki Larranaga Murgoitio] + * Brazilian Portuguese [Antonio Fernandes C. Neto] + * British English [Bruce Cowan] + * Bulgarian [Alexander Shopov] + * Catalan [Gil Forcada] + * Czech [Marek Černocký] + * Danish [Ask H. Larsen] + * Dutch [Wouter Bolsterlee] + * Finnish [Tommi Vainikainen] + * Greek [Nikos Bakaoukas, Simos Xenitellis] + * Hungarian [Gabor Kelemen] + * Korean [Changwoo Ryu] + * Latvian [Peteris Krisjanis] + * Lithuanian [Gintautas Miliauskas] + * Polish [Piotr Drąg] + * Portuguese [Duarte Loreto] + * Punjabi [A S Alam] + * Russian [Leonid Kanter] + * Serbian [Branko Kokanović] + * Swedish [Daniel Nylander] + * Ukrainian [Maxim V. Dziumanenko] + +seahorse 2.29.91 +---------------- + + * Change default key lengths for subkey generation. [Adam Schreiber] + * Remove unused variables [Pablo Castellano] + * Revoking subkey now works again. Also minor documentation changes. [Pablo Castellano] + * Don't show the passphrase in plaintext. [Pablo Castellano] + * Check the OpenPGP engine only [nobled] + * Fixed wrong variable names in comments [Pablo Castellano] + * Clean up version constants [nobled] + * Fixed two warnings at compile time [Pablo Castellano] + * Unescape URI's before presenting them to the user. [Adam Schreiber] + * Updated year in the copyright string of the about dialog [Pablo Castellano] + * Fixed incorrect signal name [Pablo Castellano] + * Fixed bug in the public key properties GUI. [Pablo Castellano] + + Translations: + * Basque [Inaki Larranaga Murgoitio] + * Estonian [Ivar Smolin] + * French [Bruno Brouard] + * Galician [Fran Diéguez] + * Italian [Milo Casagrande] + * Norwegian bokmål [Kjartan Maraas] + * Romanian [Lucian Adrian Grijincu] + * Slovenian [Matej Urbančič] + * Tamil [vasudeven] + * Traditional Chinese (Hong Kong and Taiwan) [Chao-Hsiung Liao] + + +seahorse 2.29.90 +---------------- + + * pgp: Make subkey creation more robust [nobled] + * Drop daemon autostart file [Martin Pitt] + * Update eggdesktopfile.[ch] from libegg/smclient [Adam Schreiber] + * Various fixes [Christian Kirbach] + + Translations: + * Bengali [Jamil Ahmed] + * Estonian [Ivar Smolin] + * German [Christian Kirbach, Mario Blättermann] + * Slovenian [Matej Urbančič] + * Spanish [Jorge González] + * Thai [Theppitak Karoonboonyanan] + +seahorse 2.29.4 +--------------- + + * Experimental support for introspection of libcryptui [Adam Schreiber] + * Full documentation for seahorse-context.c [Thorsten Sick] + * Do not use fixed MAXPATHLEN size buffers for portability [Emilio Pozuelo + Monfort] + * Add seahorse man page [Pablo Castellano] + * Fix build with latest gp11 [Vincent Untz] + + Translations: + * Romanian [Adi Roiban] + * Chinese [Tao Wei] + +seahorse 2.29.3 +--------------- + + * Set default key length to 2048 bits [Adam Schreiber] + * Generate RSA-sign/RSA-encrypt key in one pass [nobled] + * Support GPG 2.0 [Jeff Cai] + * Fix window signals [Pablo Castellano] + * GTK-doc comments [Thorsten Sick] + * SSH Key importing fix [Jeff Cai] + + Translations: + * Romanian [Adi Roiban] + * Shavian [Thomas Thurman] + * Latvian [Peteris Krisjanis] + * Catalan [Carles Ferrando] + * Japanese [Takayuki KUSANO] + +seahorse 2.29.1 +--------------- + + * None + +seahorse 2.28.1 +--------------- + + * Prevent opening help window twice. [Pablo Castellano] + * Set bits setting properly when creating SSH key. [Stef Walter] + * Add support for GnuPG DSA2 keys. [nobled] + * Fix subkey creation on newer GnuPG versions [nobled] + * Fix location label in SSH key properties. [Stef Walter] + * Fix assertion on exit. [Stef Walter] + * Fix pasting into filter field. [Adam Schreiber] + * Set key usage flags properly. [nobled] + * Fix property bindings. [Bastien Nocera] + * Internal documentation. [Thorsten Sick] + * Translation fixes. [Stef Walter] + * Build fixes. [Stef Walter] + +seahorse 2.28.0 +--------------- + + * void function should not return a value. [Jeff Cai] + +seahorse 2.27.92 +---------------- + + * Include config.h to avoid build breakage when gpgme is + compiled with LFS [Vincent Untz] + * Fix problems with gtk-builder UI files. [Pablo Castellano] + * Fix problem with 'Type:' label of SSH key displaying + location. [Stef Walter] + * Update context menu display after keyring op. [Stef Walter] + * Fix more compiler warnings. [Stef Walter, Pablo Castellano] + * Optionally use silent automake build rules. [Pablo Castellano] + * Clean up old libglade and CVS files. [Pablo Castellano] + * Respect the button-images setting, and cleanup gtkbuilder + xml. [Matthias Clasen] + * Add keyring docs. [Paul Cutler] + * Lots of documentation work. [Adam Schreiber, Thorsten Sick] + +seahorse 2.27.90 +---------------- + + * Fix problem with missing password tab. + +seahorse 2.27.5 +--------------- + + * Fix logic for setting owner trust combo. + * More Code and API documentation. + * Old result in search dialog is selected. + * seahorse-daemon should autostart by default + * Add a --version parameter to seahorse. + * No longer daemonizes when autostarted by D-Bus. + * Gray out displayed non-trusted keys. + * Remove the 'trusted keys' tab and combine with 'other keys'. + * Use GtkBuilder instead of libglade. + * Add support for adding manual keyring secrets. + * Move password tab to first place. + * Remove unportable test(1) construct in configure script. + +seahorse 2.27.1 +--------------- + + * Distribute earlier ChangeLogs [Adam Schreiber] + * Fix importing context menus in search dialogs [Adam Schreiber] + + Translations + * Spanish [Jorge Gonzalez Gonzalez] + * Catalan [Jordi Mas i Hernandez] + * Estonian [Ivar Smolin] + * Ukrainian [Maxim V. Dziumanenko] + +seahorse 2.26.1 +--------------- + + * PGP UIDs display in order reported by key server, and fix + parsing of HKP PGP search UIDs. [Adam Schreiber] + * Fix problem opening preferences window twice. [Adam Schreiber] + * Set authorized_keys properly when sending SSH keys to a + remote system. [Andreas Moog, Stef Walter] + * Fix crash when entering hkp: url manually. [Stef Walter] + +seahorse 2.26.0 +--------------- + + * Fix cancel button in 'Add keyring' dialog. [Stef Walter] + * Update GUI before showing window, to avoid GUI changes + when selection is initialized. [Stef Walter] + * Allow multiple "Sync and Publish" windows to open. [Stef Walter] + * Disable input method in password prompt. [Takao Fujiwara] + * Fix various crashers, and smaller bugs. [Stef Walter] + +seahorse 2.25.92 +---------------- + + * Fix crash when typing in a custom key server URL. [Stef Walter] + * Searching by key identifiers now shows results. [Stef Walter] + * Don't crash when loading a PGP key that loads the secret + part before the public part. [Stef Walter] + * Disable interactive tree search in key manager. [Stef Walter] + * Fix issues with object IDs, crashes and other inconsistencies + when accessed via DBus. [Adam Schreiber, Stef Walter] + * Add libcryptui documentation [Adam Schreiber] + * Reference counting fixes. [Adam Schreiber] + * Remove use of GTK+ deprecated symbols. [Adam Schreiber, + Thomas Anderson] + * Use proper GTK+ stock item names. [Gabor Kelemen] + * Translation fixes. [Adam Schreiber, Wouter Bolsterlee] + * Collapse 'Advanced Options' in PGP key generate dialog + by default. [Stef Walter] + +seahorse 2.25.91 +---------------- + + * Display keyring creation dialog properly. [Stef Walter] + * Prompt before deleting a keyring. [Stef Walter] + * Refresh after adding a keyring. [Stef Walter] + * Translation and doc fixes. [Adam Schreiber] + * Build PKCS#11 support properly. [Stef Walter] + * 64-bit fixes [Joe Marcus Clarke, Scott McVittie] + * Only autostart seahorse-daemon when key sharing is + enabled. [Adam Schreiber] + * seahorse-daemon no longer times out login of + session. [Adam Schreiber] + * Fix libcryptui regressions. [Stef Walter] + * Remove explicit line breaks from glade files. [Gabor Kelemen] + * Build fixes + +seahorse 2.25.90 +---------------- + + * Removed libtasn1 dependency [Stef Walter] + * Additional refactoring [Stef Walter] + * seahorse-daemon registers with session manager properly [Adam Schreiber] + * gtk-doc for libcryptui [Adam Schreiber] + * Remove bits of libcryptui that are now handled by the gcr library + from gnome-keyring. [Stef Walter] + + Translations + * es.po: [Jorge Gonzalez] + * sv.po: [Daniel Nylander] + * nb.po: [Kjartan Maraas] + * ko.po: [Changwoo Ryu] + * pt_BR.po: [Henrique P. Machado] + +seahorse 2.25.4 +--------------- + + * Fix crash when uploading ssh keys [Jeff Cai] + * Code update for gp11 library changes [Stef Walter] + * Require gnome-keyring 2.25.4 + + Translations + * es.po [Jorge Gonzalez] + +seahorse 2.25.3 +--------------- + + * Massive refactoring [Stef Walters] + * Use g_timeout_add_seconds instead of g_timeout_add [Debarshi Ray] + * Fix display of expiry date time. [Adam Schreiber] + * Autostart seahorse-daemon [F. Steinel] + * Various fixes [Jeff Cai] + * Fix connecting to ssh servers not on port 22 [Adam Schreiber] + + Translations + * pt_BR.po [Leonardo Ferreira Fontenelle] + * es.po [Jorge Gonzalez] + * cs.po [Petr Kovar] + +seahorse 2.25.1 +--------------- + + * Clean up GLib and GTK+ includes (GNOME Goal) [Adam Schreiber] + * Clean up errors in declaration of signal handlers. [Adam Schreiber] + + Translations + * ar [Usama Akkad] + * el [Nick Agianniotis] + * pt_BR [Leonardo Ferreira Fontenelle] + +seahorse 2.24.1 +--------------- + + * Fix problems with seahorse crashing when searching for + remote keys. [Adam Schreiber] + * Build fixes on Solaris [Jeff Cai] + * Fix selection of keys in libcryptui. [Philip Withnall] + * I18n fixes. [Adam Schreiber] + +seahorse 2.24.0 +--------------- + + * Some tweaks to the password prompt window, including allowing + minimizing to release the keyboard grab. + * Fix compiler warnings for gcc 4.3. + * Return a 'cancelled' error when from the daemon crypto dbus + methods when a user cancels out of a password prompt. + * Show revoked subkeys properly in details view of PGP keys. + * Fix problem deleting SSH keys. + * Fix dialog prompt column widths, and elipsize long text in + key listing. [Adam Schreiber] + * Fix problem with 'no keys available' when trying to sign a + PGP key from within the key manager. + * Add 'exportable' flag to objects/keys and don't enable export + UI if selected objects are not exportable. + * Build fixes [Joe Orton, Adam Schreiber] + * Crash and other fixes. [Christian Persch] + +seahorse 2.23.92 +---------------- + + * Fix crash when changing a stored Gnome Keyring password. + * Fix certain crashes on syncing, searching and other operations. + * Fix dumb 'Couldn't import keys' error message when success. + +seahorse 2.23.91 +---------------- + + * Fix copying keys to the clipboard. [Adam Schreiber] + * Fix double free crash when importing keys. + * Fix crasher when deleting a key. + * Don't add extra null bytes to SSH authorized_keys and + similar files. [Adam Schreiber] + * Documentation fixes. [Adam Schreiber] + * Don't repeatedly load gnome-keyring items. [Adam Schreiber] + * Make help button in 'First Time Options' work proprely. [Adam Schreiber] + * Better wording for options in PGP key dialogs. [Adam Schreiber] + +seahorse 2.23.90 +---------------- + + * Icon makeover. [Michael Monreal] + +seahorse 2.23.6 +--------------- + + * Initial PKCS#11 certificate listing implementation. + * Internal code refactoring. + * Fix problems with reference counting on operations. + * Use base64 functions in glib, rather than rolling our own. + * Don't use deprecated LDAP functions. [Adam Schreiber] + * String operation fixes. [Adam Schreiber] + * Build fixes [Jeff Cai] + +seahorse 2.23.5 +--------------- + + * Fix importing keys from key servers [Mackenzie Morgan] + * Factor out seahorse-plugins to a different module. + * Add XDS drag and drop support. + * Remove gnome-vfs dependency and use gio instead. + * Return key id of signer from DBus service even when key + is not found locally [Adam Schreiber] + * Refactor UI code internally into modules. + * Remove hard GPG and GPGME dependency. + * Replace signer drop down in key chooser with just a check + button when only one secret key exists. [Adam Schreiber] + * Set sync button insensitive when no server is selected. + [Adam Schreiber] + * Test for secure memory before using it. [Coleman Kane] + * Change trust model used to match GPG's. [Adam Schreiber] + * Remove libgnome and libgnomeui dependencies. [Saleem Abdulrasool] + * Grab keyboard focus when prompting for password. + [Josselin Mouette] + * Use the vala programming language for some code. + * Add initial infrastructure for PKCS#11 key/certificate support. + * Save and load window sizes from gconf. [Adam Schreiber] + * Build fixes [Brian Cameron, Saleem Abdulrasool, Alexis Ballier, + Christian Persch, Rodrigo Moya] + +seahorse 2.22.0 +--------------- + + (no changes) + +seahorse 2.21.92 +---------------- + + * Translation fixes [Adam Schreiber] + * Update manual [Jasper Lievisse Adriaanse] + +seahorse 2.21.91 +---------------- + + * Adapt to new Epiphany API for 2.21. People with GNOME 2.20.x or older + should not experience build problems. [Adam Schreiber] + +seahorse 2.21.90 +---------------- + + * Remove options that screw with gpg.conf on seahorse-agent startup, + since this was unsafe and naive. + * Update libsoup optional dependency to depend on 2.4.x [Dan Winship] + * Add icon for the gedit plugin [Adam Schreiber] + * Don't add extra dot to encrypted or compressed files [Kip Warner] + * Fix build problems with nautilus 2.21.x and later [Wouter Bolsterlee] + * Install nautilus extension to correct directory [Brian Pepple] + * Support better dropping of text keys onto main window [Christian Persch] + +seahorse 2.21.4 +--------------- + + * Desktop file fix [JP Rosevear] + * Add support for managing gnome-keyring item ACLs. + * Add support for managing gnome-keyring keyrings.~/ + * Better feedback when importing PGP keys from nautilus. [Adam Schreiber] + * Add UI to show/hide the PGP passphrase cache icon. + +seahorse 2.21.3 +--------------- + + * Remove SSH proxy since gnome-keyring now has a real SSH agent. + * Don't hardcode epiphany extensions directory [Josselin Mouette] + * Use secure memory API from gnome-keyring. + * UI and HIG fixes [Adam Schreiber, Christian Persch, Luca Ferretti] + * Disable automatic key uploading/retrieval by default [Adam Schreiber] + +seahorse 2.20.1 +--------------- + + * Fix selection of archive names when encrypting. [Michael Wolf] + * Now works with Gedit 2.20 [Gotz Waschk] + * Other UI and code fixes [Michael Wolf] + +seahorse 2.20 +------------- + + * Make 'Auto Retrieve Keys' option work correctly [Adam Schreiber] + * Fix build problems. + +seahorse 2.19.91 +---------------- + + * Remove needlessly translated strings [Claude Paroz] + * Fix agent problems shutting down cleanly. [Dave Jones] + * Properly escape markup characters in a gnome-keyring item name. + * Fix supirious assertions when looking through photo ids on a GPG key. + * Show progress windows in the window list. + * Hide agent icon. + +seahorse 2.19.90 +---------------- + + * Added documentation for changing gnome-keyring password + [Milo Casagrande] + * Add word wrapping to text display in text encryption applet. + [Adam Schreiber] + +seahorse 2.19.5 +--------------- + + * Add swedish applet documentation [Daniel Nylander] + * Initialize seahorse-agent properly when only using SSH + functionality [Ted Percival] + * Internationalize SSH password dialog [Gabor Kelemen] + +seahorse 2.19.4 +--------------- + + * Added ability to change gnome-keyring master password + [Adam Schreiber] + * Display more details about imported keys [Adam Schreiber] + * Internationalize notification area properly [Adam Schreiber] + * Now builds with gpg 2.0.x again [Adam Schreiber] + * Update man pages [Sebastian Dröge] + * Easier selection of archive extensions when encrypting + multiple files. [Adam Schreiber] + * Make all dialogs properly transient [Adam Schreiber] + * Builds with latest epiphany [Sebastian Dröge] + * Fixed many other bugs [Christian Persch, Adam Schreiber] + +seahorse 2.19.2 +--------------- + + * Adam Schreiber is now a co-maintainer + * Proper selection of bit length when generating DSA ssh keys. + [Adam Schreiber] + * Use GtkComboBox instead of GtkOptionMenu in dialogs + [Adam Schreiber] + * Use a more descriptive 'decrypt failed' error message. + * Recognize encrypted SSH private keys properly. + * Fix problem with internalionalized expiry dates [Adam Schreiber] + * Translation and install fixes. + +seahorse 1.0.1 +-------------- + + * Fix a crash when deleting keys. + * Require GTK+ 2.10 without which 1.0 didn't build + * Use /tmp directory for agent sockets, so that seahorse + works for people with home directories on NFS/AFS + * Fixed importing of private keys from ssh-keygen + * Fixed checks for memory locking + * Epiphany plugin now builds with Epiphany 2.18 [Adam Schreiber] + * Set a default icon for all seahorse windows. + * Now able to use ports other than '22' when sending an SSH + key to another computer. + * Internationalization fixes [Bjoern Voigt] + * Handle openssh's authorized_keys file more cleanly + * Handle spaces in a search text when searching an LDAP server + * Help now works in 'Search Results' window [Adam Schreiber] + * Other minor fixes + +seahorse 1.0 +------------ + + * Seahorse requires an install of GPG 1.x + * Fixed crash when pasting from an empty clipboard into Key + Manager window [Adam Schreiber] + * Put seahorse in appropriate GNOME menu categories [Adam Schreiber] + * Setup correct enviornment variables for processes started from + seahorse-agent + * Localization fixes [Nickolay V. Shmyrev] + * Fix building on multiple cores [Gilles Dartiguelongue] + +seahorse 0.9.92 +--------------- + + * Fix crash when using seahorse-agent with GPG2 [Sebastian Dröge] + * Fix localization problems [Nickolay V. Shmyrev, Adam Schreiber] + * Fix crash when editing gpg.conf [Saleem Abdulrasool] + +seahorse 0.9.91 +--------------- + + * Agent is now works better with GPG v2. [Alon Bar-Lev] + * Fix checkbox for showing gnome-keyring item password. + [Sertaç Ö. Yıldız] + * Get secure entry bullet invisible char from GtkEntry. + [Vitaliy Ischenko] + * Fix crash in agent during symmetric (ie: password only, + no recipients) encryption of a file. + * Build fixes due to gnome-doc-utils changes. [Joseph Sacco] + * Lots of string and message fixes [Adam Schreiber] + +seahorse 0.9.10 +--------------- + + * Add a strike through for revoked, disabled, expired + keys [Adam Schreiber] + * Fix problem with not refreshing after adding or + deleting keys. + * No copious polling in the background for daemons. + * Use GOption for parsing command line arguments + * Use GtkStatusIcon from GTK 2.10 [chpe] + * Fix repeated loading of keys. + * Don't show expiry date for remote keys [Adam Schreiber] + * Rename 'scaleable' pixmaps directory to 'scalable' + * Fix assertion when no gnome-keyring key ring exists. + * More documentation updates by + +seahorse 0.9.9 +-------------- + + * Documentation fixes by + * Split Agent and DBus daemon into separate processes. + * Fix crasher when selecting and filtering keys. + * Fix crashes in the agent, and handling of invalid + protocol data. + * Ability to hide tray icon for cached secrets. + * Fix crash when typing passwords. + * Better configuration for agent, now sets 'use-agent' + in configuration file. + * Fix crash when closing window or deleting keys. + * Add Subkey dialog now works properly. + +seahorse 0.9.8 +-------------- + + * Tons of Manual and Documentation updates by + + * Work out how seahorse-daemon should be started properly. + See: http://live.gnome.org/Seahorse/SessionIntegration + * GUI fixes: + * Generate dialogs are now more consistent. + * Make passphrase prompts more consistent. + * Hook up help button in SSH generate dialog. + * Better describe what part of key is being exported. + * Cleaner SSH proxy initialization. + * Don't prompt for each public key deleted. + * Show GPG 'valid' keys on the trusted tab. + * Fix unneeded syncing error messages. + * Show all key names properly in recipient selection dialog. + * Fixed crashers to do with secure memory. + * Don't set daemon setuid when not needed for secure memory. + * Fix problems when built without LDAP support. + +seahorse 0.9.7 +-------------- + + * Use the new gnome-keyring functionality for accessing items + without secrets, thus avoiding a waterfall of prompts. + * Cleanup the key loading code, fixes crashes caused by race + conditions. + * Install helper programs to lib/seahorse instead of libexec + * Stop using some LDAP deprecated functions. + * UI/Usability Fixes. + +seahorse 0.9.6 +-------------- + + * Manage gnome-keyring passwords through seahorse. + * Epiphany encryption plugin [Adam Schreiber, Jean-François Rameau] + * Don't display duplicated UIDs after double clicking on a key. + * Displays an error when PGP keys to import are in the future. + * Added usability suggestions to SSH dialogs [Matthew Paul Thomas, + usability@gnome.org] + * No more 'error: success' dialogs [Adam Schreiber] + * Fix SSH crasher on X64 systems [Gustavo Carneiro] + * Better tracking of progress in progress dialog and bar + * Use GtkStatusbar instead of GnomeAppbar + * Quick UI review [Alan Horkan] + * Don't show seahorse context menu items on desktop items like + computer or trash [Gilles Dartiguelongue] + * Fix a bunch of crashers. + +seahorse 0.9.5 +-------------- + + * Builds with GEdit 2.16 [Sebastian Dröge] + * Export SSH public keys with proper new line at the end. + * Fix build problem with libcryptui #defines [Adam Schreiber, + Joseph Sacco] + * Syncing now works again, and doesn't open an insane + amount of parallel connections when syncing lots of keys. + * Removed some dubious async operation logic that was + causing crashes. + * Better progress calculations for operations. + * Add version number to desktop files so bugzilla can + figure out the version. + +seahorse 0.9.4 +-------------- + + * UI Cleanup + - Less 'punctuation' on the main key listing. + - Clearer and simpler key properties first page. + - Simplify the encryption preferences dialog + - Expired, revoked or disabled keys don't show up + on the trusted tab. + - Show validity properly and display per UID + - Follow keys that move around in the UI due to changes + to their properties. + * Fixes for x64 platform [Sebastian Dröge] + * SSH Keys + - Create the .ssh directory if it doesn't exist. + - Allow renaming of SSH keys + * Passphrase prompt: + - Close when the ESC key is pressed. + - Cancel SSH operations when prompt is cancelled. + - Change invisible char to bullet. [Jose Carlos Garcia Sogo] + * Fix libcryptui build problems. [Christopher Taylor] + * Fixes to libcryptui that broke nautilus encryption. + * Use correct DNS-SD service record. [nafallo@magicalforest.se] + * Other fixes. + +seahorse 0.9.3 +-------------- + + * Now manages the authorized_keys file and can add keys + to it from the SSH key properties. + * Added support for importing SSH keys. + * SSH keys cached in the agent now show up in the + 'Cached Encryption Keys' window + * Fix problem with SSH agent messages not being + passed on fully by the proxy. + * More reliable SSH passphrase prompting. + * Better UI for SSH passphrases. + * Secure password entry box now looks just like a normal + GTK entry box. + * When editing the key server list, the selection in the + 'Publish to' box no longer jumps around. + * Better compatibility with PGP key servers. + * Safer munging of gpg.conf + * Added simpler dialog for generating PGP keys + * Show the owner trust properly in the PGP key properties + dialog [Adam Schreiber]. + * Removed old-style MIME support. + * Removed old nautilus (< 2.8) extension. + * HIG fix [chpe] + * Other fixes. + +seahorse 0.9.2.1 +---------------- + + * Fix crasher when importing keys from a key server. + * Select keys after importing. + +seahorse 0.9.2 +-------------- + + * Can cache PGP key passphrases in gnome-keyring + * Automatically loads SSH keys when needed + * Can save SSH key passwords in gnome-keyring + * Automatically retrieves PGP keys from key servers on + verification and elsewhere. + * Sync with key server after key changes [Adam Schreiber] + * libcryptui now respects user settings. + * Ignore key server URIs with unsupported schema + * Make background of tray icons transparent. + * Don't display expire date for remote keys. + * Fix problems with seahorse-agent leaving temp directories + in ~/.gnome2/ + * Drag and drop support for photo id [Jim Pharis] + * Better interaction between the GPG agent and multi screen + displays [Sam Morris] + * Key server requests now use asynchronous DNS lookups + * GUI polish [Adam Schreiber] + * Added manual pages for tools [Michael Mende] + * Improvements to the DBUS API. + * Many crasher and stability fixes + +seahorse 0.9.1 +-------------- + + * New Tango style icons + * Completely reworked personal key properties dialog + * SSH Key Generation + * Add libcryptui library for standardization of key selection + * DBUS interface for encryption and key management + * Gedit plugin now uses DBUS to do it's work + * Progress dialog while generating keys [Jim Pharis] + * Automatically resize and convert photos that are added + to a key. + * Now uses the GNOME proxy settings when accessing key + servers [Adam Schreiber] + * New UI for signing keys + * HIG fixes for dialogs [chpe] + * Many crasher and stability fixes. + +seahorse 0.9.0 +-------------- + + * Simple management of SSH keys + * Panel applet for clipboard encryption [Adam Schreiber] + * Better HIG in dialogs [chpe, Jim Pharis] + * Display keys and key properties in a simpler manner. + * Uses libnotify to display signature notifications. + * Key sharing on local network via DNS-SD + * Better help documentation [Adam Schreiber] + * Display photo IDs on OpenPGP keys [Adam Schreiber] + * Tons of other smaller UI enhancements and bug fixes + +seahorse 0.8 +------------ + + * Fixed crasher in seahorse-agent when used with GPG 1.4.2 + * Now works with gedit 2.12 [Mike Gardiner] + * Many crasher and smaller fixes. + +seahorse 0.7.9 +-------------- + + * Better documentation [Adam Schreiber] + * Key ring backups not world readable. [Adam Schreiber] + * Nautilus context menu items cleaned up. + * Better file association for armor encoded keys. + * Create agent socket inside users home directory. + * Clearer status text for key operations. + * Cleaned up menus with GNOME features like dynamic + accelerator assignment (using GtkUIManager now). + * HIG polish and UI fixes. [Jim Pharis] + * Better command line handling and aded command line + help. [Adam Schreiber] + * Many bug and crasher fixes. + +seahorse 0.7.8 +-------------- + + * HKP key server support. + * Reworked drag-and-drop. Now works between Seahorse windows. + * Added a dialog for adding key servers simply and correctly. + * Add option to agent 'Authorize' window to turn off prompting + for authorization [Adam Schriber] + * Handle empty passwords properly in agent [Adam Schreiber] + * Keep agent window on top [Adam Schreiber] + * Removed libeel dependency. + * Better keyboard handling in the recipients dialog. + * Fix some rare gnome-vfs problems. + * Many smaller bug fixes. + +seahorse 0.7.7 +-------------- + + * Working keyserver sync (including upload) support. + * Compatibility with GNOME 2.10. + * Nautilus plugin now works with Nautilus 2.10 [Fernando Herrera] + * Cleaned up and simplified columns in the Key Manager. + * Fix problems with entering expiry dates. + * Remove 'Text Mode' option. Clarify 'ASCII Armor' option. + * Removed lots of 'jargon' from the interface. + * Can now drag keys from a key list to nautilus. + * Many smaller bug fixes. + +seahorse 0.7.6 +-------------- + + * Compatible with GPG 1.4 + * Initial LDAP key server searching and importing support. + * Show descriptive icons (eg: secret, public keys) in the main + Key Manager window. [Adam Schreiber] + * Monitor key ring and refresh key list automatically across + processes, such as gedit plugin, recipient selection etc... + * Decryption 'Open With' in nautilus for PGP encrypted and + signed files. [Adam Schreiber] + * Added Backup Keyrings functionality. [Adam Schreiber] + * Prompt for signer when no default key is selected. + * Display UIDs properly in the seahorse-agent status window. + * Allow selection of a signing key in the Recipients dialog. + * More usable HIG friendly Key Properties dialog [Jim Pharis] + * Fix problems with 0 length files being created on error. + * Gnome HIG compliancy fixes + * Allow deletion of UIDs from the Key Manager window. + * Show all UIDs in the Recipient selection dialog. + * Prompt before overwriting files. + * More efficient operations on large files. + * Enable gedit plugin by default. + * Many smaller bug fixes. + +seahorse 0.7.5 +-------------- + + * Loading large key rings is now many orders of magnitude faster + * A simple panel with common tasks shows up in the key manager the + first time a new user starts [Adam Schreiber] + * Gnome HIG (Human Interface Guidelines) compliancy fixes + * gedit plugin compiles with GNOME 2.8 + * gedit plugin now works on BSD [Julio M. Merino Vidal] + * seahorse-agent now works properly on BSD [Julio M. Merino Vidal] + * disable password caching prefs when using a different agent + * seahorse-agent restores gpg.conf when exiting + * seahorse-agent icon now shows properly in the notification area + * Properly detect mlock for secure memory usage. + * Fixed crash when changing expiry date on a subkey + * Fixed crash when using 'Encrypt To Self' without a default key + * Default key selection now works properly in edge cases. + * Updated RPM spec file + * A multitude of smaller bug fixes + +seahorse 0.7.4 +-------------- + + * Key manager now uses new file chooser dialogs + * For detached signatures, prompt when missing plain text files + * Import/Export to clipboard implemented as copy/paste + * Dragging keys into the key manager import + * All file operations work with gnome-vfs remote URIs (ie: smb, ftp, http etc...) + * Proper sort support for key listings + * Filter support on key manager and recipients windows + * Multiple file and folder support in nautilus + * Fixed MIME type integration with nautilus + * Rework the 'Key Properties' dialog + * Can now change primary user id, or delete user ids on a secret key + * Can sign individual user ids on a key + * Can now list signatures on a key + * Respects 'Encrypt to Self' option when encrypting files or text + * Gnome HIG (Human Interface Guidelines) compliancy fixes + * gedit plugin for encrypting/decrypting/signing/verifying text + * 'Seahorse Agent' for caching passwords on system + * Updated to a new version of GPGME (1.0) + * Fixed startup crashers + * New Key generation assistant (wizard/druid) + * A multitude of smaller bug fixes + +seahorse 0.7.3 +-------------- + + * More key loading optimizations + * Import and Export dialogs now use the clipboard instead of a text view + * Nautilus component that provides a context menu for crypto operations + * Removed Tools menu in favor of nautilus component + * PGP gconf schemas in /desktop/pgp + * Depends on gnome-mime-data for mime types + * Widgets no longer insensitive during progress operations + * Key edit dialogs are key modal so operations do not conflict + * Can do concurrent operations, except for editing the same key + * Can sign, export, and delete multiple keys + * Export dialog has a default filename + * Control center capplet for configuring pgp + * Can select keys & do operations while keys are loading + +seahorse 0.7.2 +-------------- + + * GConf notification for preferences and ui settings + * More gnome preferences + * More listing improvements and optimizations for large key rings + * Key properties now a property window + * Owner trust values are restricted based on key type + * Key manager toolbar preferences + * General interface updates + * Nicer passphrase entry dialog + * Nicer change passphrase dialog + * More columns available in key-manager, can customize which ones are shown, + and each column is sortable + * Main window not completely insensitive during progress and startup + * Key Properties shows a formatted fingerprint, tabs are scrollable + * Recipients allows multiple selection, has statusbars to show number selected + * Can expand and collapse all rows in key-manager + +seahorse 0.7.1 +-------------- + * Changed File menu to Key menu + * Added context menu for keys + * Added buttons/menu items for possible, but not-yet-implemented features + * Sign an entire key + * Add a revoker to a key + * Bug fix when setting Ascii Armor Preferences + * Removed File Manager, replaced with file operations in Tools + * Key pairs initially listed first + * Performance improvements with large key rings, especially in loading preferences + * Progress display at startup for listing of keys + * Can delete subkeys of non key-pairs + * General interface cleanups + +seahorse 0.7.0 +-------------- + * Add a user ID + * Add a subkey + * Delete a subkey + * Change a subkey's expiration + * Revoke a subkey + * Properties shows subkey status (good, revoked, expired) + * Key Manager shows user IDs instead of subkeys + * Sort keys by user ID & validity in Key Manager and Recipients + * Subkeys hidden by default in properties + +seahorse 0.6.2 +-------------- + * Bug fix in GPGME check + * Supported languages: cs, de, es, hu, ja, nl, no, sv, tr + * Interface fixups so buttons are not sensitive when they cannot be used + +seahorse 0.6.1 +-------------- + * Correctly check for GPGME 0.3.14 and GnuPG 1.2 during build + * More and updated translations + * Key manager updates all keys when changed + * Preferences loads faster + * More HIG compliant windows & dialogs + * Failure to install schemas does not stop installation + * Better about dialog: shows version & lists translators + +seahorse 0.6.0 +-------------- + * Key properties cleanups + * Less passphrase crashes + * Only one window of each type or of each type per key allowed open + * Less memory leaks + * Preferences is slower to load, but keeps track of default signer better + * Updated help manual with figures + * More translations + * Migration to GNOME diff --git a/README.md b/README.md new file mode 100644 index 00000000..9fa26e33 --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# Seahorse +Seahorse is a graphical interface for managing and using encryption keys. +Currently it supports PGP keys (using GPG/GPGME) and SSH keys. Its goal is to +provide an easy to use Key Management Tool, along with an easy to use interface +for encryption operations. + +## Building +You can build and install Seahorse using [Meson]: +```sh +meson build +ninja -C build +ninja -C build install +``` + +## Contributing +You can browse the code, issues and more at Seahorse's [GitLab repository]. + +If you find a bug in Seahorse, please file an issue on the [issue tracker]. +Please try to add reproducible steps and the relevant version of Seahorse. + +If you want to contribute functionality or bug fixes, please open a Merge +Request (MR). For more info on how to do this, see GitLab's [help pages on +MR's]. + +If Seahorse is not translated in your language or you believe that the +current translation has errors, you can join one of the various translation +teams in GNOME. Translators do not commit directly to Git, but are advised to +use our separate translation infrastructure instead. More info can be found at +the [translation project wiki page]. + +## More information +Seahorse has its own web page on https://wiki.gnome.org/Apps/Seahorse. + +To discuss issues with developers and other users, you can go to [GNOME's +Discourse instance] and use the "seahorse" tag, or join [#seahorse] on +irc.gnome.org. + +## License +Seahorse is released under the GPL. See [COPYING] for more info. + + +[GNOME]: https://www.gnome.org +[Meson]: http://mesonbuild.com +[GitLab repository]: https://gitlab.gnome.org/GNOME/seahorse +[help pages on MR's]: https://docs.gitlab.com/ee/gitlab-basics/add-merge-request.html +[issue tracker]: https://gitlab.gnome.org/GNOME/seahorse/issues +[translation project wiki page]: https://wiki.gnome.org/TranslationProject/ +[GNOME's Discourse instance]: https://discourse.gnome.org +[#seahorse]: irc://irc.gnome.org/seahorse +[COPYING]: https://gitlab.gnome.org/GNOME/seahorse/COPYING diff --git a/THANKS b/THANKS new file mode 100644 index 00000000..0bf08df9 --- /dev/null +++ b/THANKS @@ -0,0 +1,27 @@ +Contributors: + + Jose Carlos Garcia Sogo for bug fixes, spanish, translation, + overall assistance, and letting me manage seahorse(2) + + Jean Schurger for rpms and the new icon + + Erich Schubert for testing, bug fixes, + and initial german translation + + Yanko Kaneti for bug fixes and a spec file + + Adam Schreiber for contributions and patches + + Albrecht Dreß the initial GPGME upgrade patch + + Fernando Herrera for the Nautilus 2.10 support + + Gnome translation & doc teams, especially Jordi Mallach + for package help + +seahorse(1) authors: + + Jose Carlos Garcia Sogo, Anthony Mulcahy, Steffen Zahn, Stef Walter + +GnuPG, GPGME, and GPA teams, specifically Miguel Coca, Marcus Brinkmann, +and Werner Koch, for their assistance and hard work. diff --git a/build-aux/gpg_check_version.py b/build-aux/gpg_check_version.py new file mode 100755 index 00000000..60b814cf --- /dev/null +++ b/build-aux/gpg_check_version.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python3 + +import re +import sys +import subprocess + +# Parses the GPG version from the output of the --version flag. +# Should work on the output for `gpg` and `gpg2` +def parse_version(gpg_output): + version_line = gpg_output.splitlines()[0] + return version_line.strip().split(' ')[-1] + +# Checks whether the GPG version is compatible with the given version. +# This means that the major and minor version should be equal. +def check_version(gpg_version, accepted_version): + acc_major, acc_minor, acc_micro = accepted_version.split('.', 2) + + # The GPG version we got still might have to be sanitized + # For example, sometimes it adds a "-unknown" suffix + gpg_major_str, gpg_minor_str, gpg_micro_str = gpg_version.split('.', 2) + + gpg_major = int(gpg_major_str) + gpg_minor = int(gpg_minor_str) + + # Get rid of any fuzz that comes after the version + _micro_match = re.match(r'^([0-9]+)[^0-9]*', gpg_micro_str) + gpg_micro = int(_micro_match.group(1)) if _micro_match != None else 0 + + return gpg_major == int(acc_major) and gpg_minor == int(acc_minor) and gpg_micro >= int(acc_micro) + +if len(sys.argv) <= 2: + sys.exit(1) + +gpg_path = sys.argv[1] +accepted_versions = sys.argv[2:] + +# Parse and print the version +proc = subprocess.Popen([gpg_path, '--version'], + stdout=subprocess.PIPE, + universal_newlines=True) +gpg_version = parse_version(proc.stdout.read()) +print(gpg_version, end='') + +# Then return whether we're compatible with that version +for accepted_version in accepted_versions: + if check_version(gpg_version, accepted_version): + sys.exit(0) + +sys.exit(1) diff --git a/build-aux/meson_post_install.py b/build-aux/meson_post_install.py new file mode 100755 index 00000000..bf320a9d --- /dev/null +++ b/build-aux/meson_post_install.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python3 + +import os +import subprocess + +install_prefix = os.environ['MESON_INSTALL_PREFIX'] +icondir = os.path.join(install_prefix, 'share', 'icons', 'hicolor') +schemadir = os.path.join(install_prefix, 'share', 'glib-2.0', 'schemas') + +if not os.environ.get('DESTDIR'): + print('Update icon cache...') + subprocess.call(['gtk-update-icon-cache', '-f', '-t', icondir]) + + print('Compiling gsettings schemas...') + subprocess.call(['glib-compile-schemas', schemadir]) diff --git a/build-aux/org.gnome.seahorse.ApplicationDevel.json b/build-aux/org.gnome.seahorse.ApplicationDevel.json new file mode 100644 index 00000000..950b45e9 --- /dev/null +++ b/build-aux/org.gnome.seahorse.ApplicationDevel.json @@ -0,0 +1,126 @@ +{ + "app-id": "org.gnome.seahorse.ApplicationDevel", + "runtime": "org.gnome.Platform", + "runtime-version": "master", + "sdk": "org.gnome.Sdk", + "command": "seahorse", + "finish-args": [ + /* X11 + XShm access */ + "--share=ipc", "--socket=x11", + /* Wayland access */ + "--socket=wayland", + "--device=dri", + /* Access for SSH keys */ + "--filesystem=~/.ssh:create", + /* Access for GPG keys */ + "--filesystem=~/.gnupg:create", + /* Secret Service API */ + "--talk-name=org.freedesktop.secrets", + /* Needed for importing,exporting from,to keyservers */ + "--share=network" + ], + "cleanup": [ + "/include", + "/lib/pkgconfig", "/share/pkgconfig", + "/share/aclocal", + "/man", "/share/man", + "/share/gtk-doc", + "/share/vala", + "*.la", "*.a" + ], + "modules": [ + { + "name": "avahi", + "cleanup": [ "/bin/*avahi*", "share/man/man1/*avahi*" ], + "config-opts": [ + "--with-distro=none", + "--enable-gobject", + "--with-xml=expat", + "--disable-libdaemon", + "--disable-core-docs", + "--disable-manpages", + "--disable-mono", + "--disable-qt3", + "--disable-qt4", + "--disable-python", + "--disable-gtk", + "--disable-gtk3" + ], + "sources": [ + { + "type": "archive", + "url": "https://avahi.org/download/avahi-0.7.tar.gz", + "sha256": "57a99b5dfe7fdae794e3d1ee7a62973a368e91e414bd0dfa5d84434de5b14804" + } + ], + "modules": [ + { + "name": "intltool", + "cleanup": [ "*" ], + "sources": [ + { + "type": "archive", + "url": "https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz", + "sha256": "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd" + } + ] + } + ] + }, + { + "name": "gpgme", + "sources": [ + { + "type": "archive", + "url": "https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.13.0.tar.bz2", + "sha256": "d4b23e47a9e784a63e029338cce0464a82ce0ae4af852886afda410f9e39c630" + } + ] + }, + { + "name": "openldap", + "config-opts": [ + "--disable-backends", + "--disable-overlays", + "--disable-slapd", + "--disable-debug", + "--enable-dynamic", + "--without-threads", + "--with-tls=gnutls" + ], + "sources": [ + { + "type": "archive", + "url": "http://openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.47.tgz", + "sha256": "f54c5877865233d9ada77c60c0f69b3e0bfd8b1b55889504c650047cc305520b" + } + ] + }, + { + "name": "libpwquality", + "config-opts": [ + "--enable-python-bindings=no" + ], + "sources": [ + { + "type": "archive", + "url": "https://github.com/libpwquality/libpwquality/releases/download/libpwquality-1.4.0/libpwquality-1.4.0.tar.bz2", + "sha256": "1de6ff046cf2172d265a2cb6f8da439d894f3e4e8157b056c515515232fade6b" + } + ] + }, + { + "name": "seahorse", + "buildsystem": "meson", + "config-opts": [ + "-Dprofile=development" + ], + "sources": [ + { + "type": "git", + "url": "https://gitlab.gnome.org/GNOME/seahorse.git" + } + ] + } + ] +} diff --git a/common/actions.vala b/common/actions.vala new file mode 100644 index 00000000..b3252c17 --- /dev/null +++ b/common/actions.vala @@ -0,0 +1,29 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see . + */ + +public class Seahorse.ActionGroup : SimpleActionGroup { + + public string prefix { get; construct set; } + + public Catalog catalog { owned get; set; } + + public virtual void set_actions_for_selected_objects(List objects) { + } +} diff --git a/common/add-keyserver-dialog.vala b/common/add-keyserver-dialog.vala new file mode 100644 index 00000000..f37bcb55 --- /dev/null +++ b/common/add-keyserver-dialog.vala @@ -0,0 +1,122 @@ +/* + * Seahorse + * + * Copyright (C) 2004-2005 Stefan Walter + * Copyright (C) 2017 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +public class Seahorse.AddKeyserverDialog : Gtk.Dialog { + + private string[]? keyserver_types; + + private Gtk.Entry keyserver_host; + private Gtk.Entry keyserver_port; + private Gtk.ComboBoxText keyserver_type; + private Gtk.Box port_block; + + public AddKeyserverDialog(Gtk.Window? parent) { + GLib.Object( + title: _("Add Key Server"), + transient_for: parent, + modal: true, + window_position: Gtk.WindowPosition.CENTER_ON_PARENT, + default_width: 400, + use_header_bar: 1 + ); + this.keyserver_types = Seahorse.Servers.get_types(); + + // Load ui + Gtk.Builder builder = new Gtk.Builder(); + try { + string path = "/org/gnome/Seahorse/seahorse-add-keyserver.ui"; + builder.add_from_resource(path); + } catch (GLib.Error err) { + GLib.critical("%s", err.message); + } + Gtk.Box content = (Gtk.Box) builder.get_object("add-keyserver"); + get_content_area().add(content); + this.keyserver_host = (Gtk.Entry) builder.get_object("keyserver-host"); + this.keyserver_port = (Gtk.Entry) builder.get_object("keyserver-port"); + this.keyserver_type = (Gtk.ComboBoxText) builder.get_object("keyserver-type"); + this.port_block = (Gtk.Box) builder.get_object("port-block"); + + this.keyserver_type.changed.connect(() => on_prefs_add_keyserver_uri_changed()); + this.keyserver_host.changed.connect(() => on_prefs_add_keyserver_uri_changed()); + this.keyserver_port.changed.connect(() => on_prefs_add_keyserver_uri_changed()); + + // The description for the key server types, plus custom + foreach (string type in this.keyserver_types) + this.keyserver_type.append_text(Seahorse.Servers.get_description(type)); + + this.keyserver_type.append_text(_("Custom")); + this.keyserver_type.set_active(0); + + // Buttons + add_button(_("Cancel"), Gtk.ResponseType.CANCEL); + Gtk.Button save_button = (Gtk.Button) add_button(_("Save"), Gtk.ResponseType.OK); + save_button.get_style_context().add_class("suggested-action"); + + show(); + } + + public string? calculate_keyserver_uri() { + // Figure out the scheme + string? scheme = null; + int active = this.keyserver_type.get_active(); + int i; + if (active >= 0 && this.keyserver_types != null) { + for (i = 0; this.keyserver_types[i] != null && i < active; i++); + if (i == active + && this.keyserver_types[active] != null + && this.keyserver_types[active] != "") + scheme = this.keyserver_types[active]; + } + + string? host = this.keyserver_host.text; + if (host == null || host == "") + return null; + + if (scheme == null) // Custom URI? + return Servers.is_valid_uri(host)? host : null; + + string? port = this.keyserver_port.text; + if (port == "") + port = null; + + // Mash 'em together into a uri + string? uri = "%s://%s".printf(scheme, host); + if (port != null) + uri += ":%s".printf(port); + + // And check if it's valid + if (!Servers.is_valid_uri(uri)) + uri = null; + + return uri; + } + + private void on_prefs_add_keyserver_uri_changed() { + set_response_sensitive(Gtk.ResponseType.OK, calculate_keyserver_uri() != null); + + // Show or hide the port section based on whether 'custom' is selected + int active = this.keyserver_type.get_active(); + if (active > -1) { + this.port_block.visible = this.keyserver_types != null + && this.keyserver_types[active] != null + && this.keyserver_types[active] != ""; + } + } +} diff --git a/common/app-settings.vala b/common/app-settings.vala new file mode 100644 index 00000000..370ebe7a --- /dev/null +++ b/common/app-settings.vala @@ -0,0 +1,56 @@ +/* + * Seahorse + * + * Copyright (C) 2018 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see . + */ + +public class Seahorse.AppSettings : GLib.Settings { + public string[] last_search_servers { + owned get { return get_strv("last-search-servers"); } + set { set_strv("last-search-servers", value); } + } + + public string last_search_text { + owned get { return get_string("last-search-text"); } + set { set_string("last-search-text", value); } + } + + public bool server_auto_publish { + get { return get_boolean("server-auto-publish"); } + set { set_boolean("server-auto-publish", value); } + } + + public bool server_auto_retrieve { + get { return get_boolean("server-auto-retrieve"); } + set { set_boolean("server-auto-retrieve", value); } + } + + public string server_publish_to { + owned get { return get_string("server-publish-to"); } + set { set_string("server-publish-to", value); } + } + + public AppSettings () { + GLib.Object (schema_id: "org.gnome.seahorse"); + } + + private static AppSettings? _instance = null; + public static AppSettings instance() { + if (_instance == null) + _instance = new AppSettings(); + return _instance; + } +} diff --git a/common/backend.vala b/common/backend.vala new file mode 100644 index 00000000..ec0508cc --- /dev/null +++ b/common/backend.vala @@ -0,0 +1,39 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +namespace Seahorse { + +public interface Backend : Gcr.Collection { + public abstract string name { get; } + public abstract string label { get; } + public abstract string description { get; } + public abstract ActionGroup actions { owned get; } + public abstract bool loaded { get; } + + public abstract Place? lookup_place(string uri); + + public void register() { + Registry.register_object(this, "backend"); + } + + public static GLib.List get_registered() { + return (GLib.List)Registry.object_instances("backend"); + } +} + +} diff --git a/common/catalog.vala b/common/catalog.vala new file mode 100644 index 00000000..2cff02e5 --- /dev/null +++ b/common/catalog.vala @@ -0,0 +1,150 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see . + */ + +namespace Seahorse { + +public abstract class Catalog : Gtk.ApplicationWindow { + + /* Set by the derived classes */ + public string ui_name { construct; get; } + + protected MenuModel context_menu; + private bool _disposed; + private GLib.Settings _settings; + + public abstract GLib.List get_backends(); + public abstract GLib.List get_selected_objects(); + + private const ActionEntry[] ACTION_ENTRIES = { + { "file-export", on_key_export_file }, + { "copy", on_key_export_clipboard }, + { "edit-delete", on_object_delete }, + { "properties-object", on_properties_object }, + }; + + construct { + /* Load window size for windows that aren't dialogs */ + var key = "/apps/seahorse/windows/%s/".printf(this.ui_name); + this._settings = new GLib.Settings.with_path("org.gnome.seahorse.window", key); + var width = this._settings.get_int("width"); + var height = this._settings.get_int("height"); + if (width > 0 && height > 0) + this.resize (width, height); + + Gtk.Builder builder = new Gtk.Builder.from_resource( + "/org/gnome/Seahorse/seahorse-%s-widgets.ui".printf(this.ui_name) + ); + this.context_menu = (MenuModel) builder.get_object("context_menu"); + + add_action_entries (ACTION_ENTRIES, this); + } + + public override void dispose() { + if (!this._disposed) { + this._disposed = true; + + int width, height; + this.get_size(out width, out height); + this._settings.set_int("width", width); + this._settings.set_int("height", height); + } + + base.dispose(); + } + + public virtual signal void selection_changed() { + bool can_properties = false; + bool can_delete = false; + bool can_export = false; + + var objects = this.get_selected_objects(); + foreach (var object in objects) { + if (Exportable.can_export(object)) + can_export = true; + if (Deletable.can_delete(object)) + can_delete = true; + if (Viewable.can_view(object)) + can_properties = true; + if (can_export && can_delete && can_properties) + break; + } + + ((SimpleAction) lookup_action("properties-object")).set_enabled(can_properties); + ((SimpleAction) lookup_action("edit-delete")).set_enabled(can_delete);; + ((SimpleAction) lookup_action("copy")).set_enabled(can_export); + ((SimpleAction) lookup_action("file-export")).set_enabled(can_export); + } + + public void show_properties(GLib.Object obj) { + Viewable.view(obj, this); + } + + public void show_context_menu(Gdk.Event? event) { + Gtk.Menu menu = new Gtk.Menu.from_model(this.context_menu); + menu.insert_action_group("win", this); + foreach (weak Backend backend in get_backends()) { + ActionGroup actions = backend.actions; + menu.insert_action_group(actions.prefix, actions); + } + menu.popup_at_pointer(event); + menu.show(); + } + + private void on_object_delete(SimpleAction action, Variant? param) { + try { + var objects = this.get_selected_objects(); + Deletable.delete_with_prompt_wait(objects, this); + } catch (GLib.Error err) { + Util.show_error(this, _("Cannot delete"), err.message); + } + } + + private void on_properties_object(SimpleAction action, Variant? param) { + var objects = get_selected_objects(); + if (objects.length() > 0) + show_properties(objects.data); + } + + private void on_key_export_file(SimpleAction action, Variant? param) { + try { + Exportable.export_to_prompt_wait(get_selected_objects(), this); + } catch (GLib.Error err) { + Util.show_error(this, _("Couldn’t export keys"), err.message); + } + } + + private void on_key_export_clipboard (SimpleAction action, Variant? param) { + uint8[] output; + try { + var objects = this.get_selected_objects (); + Exportable.export_to_text_wait (objects, out output); + } catch (GLib.Error err) { + Util.show_error(this, _("Couldn’t export data"), err.message); + return; + } + + /* TODO: Print message if only partially exported */ + + var board = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD); + board.set_text ((string)output, output.length); + } +} + +} diff --git a/common/config.vapi b/common/config.vapi new file mode 100644 index 00000000..a04c8534 --- /dev/null +++ b/common/config.vapi @@ -0,0 +1,66 @@ +[CCode (cprefix = "", lower_case_cprefix = "", cheader_filename = "config.h")] +namespace Config +{ + public const string APPLICATION_ID; + + public const string PROFILE; + + public const string PKGDATADIR; + + public const string EXECDIR; + public const string LOCALEDIR; + + public const string VERSION; + public const string PACKAGE; + public const string PACKAGE_STRING; + public const string GETTEXT_PACKAGE; + + public const string SSH_PATH; + public const string SSH_KEYGEN_PATH; + + public const string GNUPG; + public const int GPG_MAJOR; + public const int GPG_MINOR; + public const int GPG_MICRO; +} + +/* + * TODO: Temporary hacks for interfacing with some very simple C code in + * the current C code base. In general we want to port to vala instead of + * listing stuff here. Otherwise things will get unmanageable. + */ + +namespace Seahorse { + +[CCode (cheader_filename = "data/seahorse-resources.h")] +public void register_resource(); + +[CCode (cheader_filename = "libseahorse/seahorse-util.h")] +public static GLib.HashFunc ulong_hash; + +[CCode (cheader_filename = "libseahorse/seahorse-util.h")] +public static GLib.EqualFunc ulong_equal; + +[CCode (cheader_filename = "libseahorse/seahorse-progress.h")] +namespace Progress { + public void show(GLib.Cancellable? cancellable, string title, bool delayed); +} + +[CCode (cheader_filename = "pgp/seahorse-pgp-backend.h")] +namespace Pgp.Backend { + public void initialize(); +} + +[CCode (cheader_filename = "pkcs11/seahorse-pkcs11-backend.h")] +public class Pkcs11.Backend { + public static void initialize(); + public static Gcr.Collection get_writable_tokens(Pkcs11.Backend? self, ulong with_mechanism); +} +} + +namespace Egg { +[CCode (cheader_filename = "libegg/eggtreemultidnd.h")] +namespace TreeMultiDrag { + public void add_drag_support(Gtk.TreeView view); +} +} diff --git a/common/deletable.vala b/common/deletable.vala new file mode 100644 index 00000000..58b78e6d --- /dev/null +++ b/common/deletable.vala @@ -0,0 +1,90 @@ +/* + * Seahorse + * + * Copyright (C) 2004,2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2012 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +namespace Seahorse { + +public interface Deletable : GLib.Object { + public abstract Deleter create_deleter(); + public abstract bool deletable { get; } + + public static bool can_delete(GLib.Object obj) { + if (obj is Deletable) + return ((Deletable)obj).deletable; + return false; + } + + public static int delete_with_prompt_wait(GLib.List objects, + Gtk.Window? parent) throws GLib.Error { + + var loop = new GLib.MainLoop(null, false); + GLib.AsyncResult? result = null; + int count = 0; + + /* A table for monitoring which objects are still pending */ + var pending = new GLib.GenericSet(GLib.direct_hash, GLib.direct_equal); + foreach (var obj in objects) + pending.add(obj); + + foreach (var obj in objects) { + if (!pending.contains(obj)) + continue; + + if (!Deletable.can_delete (obj)) { + pending.remove(obj); + continue; + } + + var deleter = ((Deletable)obj).create_deleter(); + + /* Now go and add all pending to each exporter */ + foreach (var x in objects) { + if (x == obj) + continue; + if (pending.contains(x)) + deleter.add_object(x); + } + + /* Now show a prompt choosing between the exporters */ + var ret = deleter.prompt(parent); + if (!ret) + break; + + deleter.delete.begin(null, (obj, res) => { + result = res; + loop.quit(); + }); + + loop.run(); + + if (deleter.delete.end(result)) { + foreach (var x in deleter.get_objects()) { + pending.remove(x); + count++; + } + } else { + break; + } + } + + return count; + } +} + +} diff --git a/common/delete-dialog.vala b/common/delete-dialog.vala new file mode 100644 index 00000000..013c81fd --- /dev/null +++ b/common/delete-dialog.vala @@ -0,0 +1,111 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see . + * + * Author: Stef Walter + */ + +namespace Seahorse { + +public class DeleteDialog : Gtk.MessageDialog { + private Gtk.ToggleButton _check; + private bool _check_require; + + public string? check_label { + get { + if (_check.get_visible()) + return _check.get_label(); + return null; + } + set { + if (value == null) { + _check.hide(); + value = ""; + } else { + _check.show(); + } + _check.set_label(value); + } + } + + public bool check_value { + get { + if (_check.get_visible()) + return _check.get_active(); + return false; + } + set { + _check.set_active(value); + } + } + + public bool check_require { + get { + return _check_require; + } + set { + _check_require = value; + update_response_buttons(); + } + } + + [CCode (type = "GtkDialog*")] + public DeleteDialog(Gtk.Window? parent, + string format, + ...) { + GLib.Object( + message_type: Gtk.MessageType.QUESTION, + transient_for: parent, + text: format.vprintf(va_list()) + ); + } + + construct { + set_modal(true); + set_destroy_with_parent(true); + + _check = new Gtk.CheckButton(); + ((Gtk.Container)get_message_area()).add(_check); + _check.toggled.connect((toggle) => { + update_response_buttons(); + }); + + var cancel = new Gtk.Button.with_mnemonic(_("_Cancel")); + add_action_widget(cancel, Gtk.ResponseType.CANCEL); + cancel.show(); + + var delet = new Gtk.Button.with_mnemonic(_("_Delete")); + delet.get_style_context().add_class("destructive-action"); + add_action_widget(delet, Gtk.ResponseType.OK); + delet.show(); + } + + private void update_response_buttons() { + set_response_sensitive(Gtk.ResponseType.OK, + !_check_require || _check.get_active()); + } + + public static bool prompt (Gtk.Window? parent, string text) { + Gtk.Dialog? dialog = new DeleteDialog(parent, "%s", text); + var response = dialog.run(); + dialog.destroy(); + return (response == Gtk.ResponseType.OK); + } + +} + +} diff --git a/common/deleter.vala b/common/deleter.vala new file mode 100644 index 00000000..1c50cdaf --- /dev/null +++ b/common/deleter.vala @@ -0,0 +1,41 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2012 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + * Author: Stef Walter + */ + +namespace Seahorse { + +public abstract class Deleter : GLib.Object { + public abstract Gtk.Dialog create_confirm(Gtk.Window? parent); + + public abstract unowned GLib.List get_objects(); + + public abstract bool add_object (GLib.Object obj); + + public abstract async bool delete(GLib.Cancellable? cancellable) throws GLib.Error; + + public bool prompt(Gtk.Window? parent) { + var prompt = this.create_confirm(parent); + int res = prompt.run(); + prompt.destroy(); + return res == Gtk.ResponseType.OK || res == Gtk.ResponseType.ACCEPT; + } +} + +} diff --git a/common/exportable.vala b/common/exportable.vala new file mode 100644 index 00000000..8ed2db46 --- /dev/null +++ b/common/exportable.vala @@ -0,0 +1,241 @@ +/* + * Seahorse + * + * Copyright (C) 2004,2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2012 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +namespace Seahorse { + +public interface Exportable : GLib.Object { + public abstract bool exportable { get; } + + public abstract GLib.List create_exporters(ExporterType type); + + public static bool can_export(GLib.Object object) { + if (object is Exportable) + return ((Exportable)object).exportable; + return false; + } + + public static int export_to_directory_wait(GLib.List objects, + string directory) throws GLib.Error { + var loop = new GLib.MainLoop (null, false); + GLib.AsyncResult? result = null; + int count = 0; + + foreach (var object in objects) { + if (!Exportable.can_export(object)) + continue; + + var exporters = ((Exportable)object).create_exporters(ExporterType.ANY); + if (exporters == null) + continue; + + var exporter = exporters.data; + string filename = GLib.Path.build_filename (directory, exporter.filename, null); + var file = GLib.File.new_for_uri(filename); + + exporter.export_to_file.begin(file, false, null, (obj, res) => { + result = res; + loop.quit(); + }); + + loop.run(); + + exporter.export_to_file.end(result); + + count++; + } + + return count; + } + + public static uint export_to_text_wait(GLib.List objects, + [CCode (array_length_type = "size_t")] out uint8[] output) throws GLib.Error { + GLib.List exporters = null; + + foreach (var object in objects) { + if (!Exportable.can_export(object)) + continue; + + /* If we've already found exporters, then add to those */ + if (exporters != null) { + foreach (var exporter in exporters) + exporter.add_object(object); + + /* Otherwise try and create new exporters for this object */ + } else { + exporters = ((Exportable)object).create_exporters (ExporterType.TEXTUAL); + } + } + + /* Find the exporter than has the most objects */ + Exporter? chosen = null; + uint total = 0; + foreach (var exporter in exporters) { + uint count = exporter.get_objects().length(); + if (count > total) { + total = count; + chosen = exporter; + } + } + + if (chosen != null) { + var loop = new GLib.MainLoop (null, false); + GLib.AsyncResult? result = null; + + chosen.export.begin(null, (obj, res) => { + result = res; + loop.quit(); + }); + + loop.run(); + + output = chosen.export.end(result); + return total; + } + + output = { }; + return 0; + } + + public static int export_to_prompt_wait(GLib.List objects, + Gtk.Window? parent) throws GLib.Error { + int count = 0; + + var pending = new GLib.GenericSet(GLib.direct_hash, GLib.direct_equal); + foreach (var object in objects) + pending.add(object); + + foreach (var object in objects) { + if (!pending.contains(object)) + continue; + + if (!Exportable.can_export(object)) { + pending.remove(object); + continue; + } + + var exporters = ((Exportable)object).create_exporters(ExporterType.ANY); + if (exporters == null) + continue; + + foreach (var x in objects) { + if (x == object) + continue; + if (pending.contains(x)) { + foreach (var exporter in exporters) + exporter.add_object(x); + } + } + + string? directory = null; + GLib.File? file; + Exporter? exporter; + + /* Now show a prompt choosing between the exporters */ + bool ret = Exportable.prompt(exporters, parent, ref directory, + out file, out exporter); + if (!ret) + break; + + var loop = new GLib.MainLoop(null, false); + GLib.AsyncResult? result = null; + + exporter.export_to_file.begin(file, true, null, (obj, res) => { + result = res; + loop.quit(); + }); + + loop.run(); + + exporter.export_to_file.end(result); + foreach (var e in exporter.get_objects()) { + pending.remove(e); + count++; + } + } + + return count; + } + + private static string calculate_basename(GLib.File file, + string extension) { + var basename = file.get_basename(); + var dot = basename.last_index_of_char('.'); + if (dot != -1) + basename = basename.substring(0, dot); + return "%s%s".printf(basename, extension); + } + + public static bool prompt(GLib.List exporters, + Gtk.Window? parent, + ref string? directory, + out GLib.File chosen_file, + out Exporter chosen_exporter) { + var chooser = new Gtk.FileChooserNative(null, parent, Gtk.FileChooserAction.SAVE, + _("Export"), _("_Cancel")); + + chooser.set_local_only(false); + chooser.set_do_overwrite_confirmation(true); + + if (directory != null) + chooser.set_current_folder(directory); + + Gtk.FileFilter? first = null; + var filters = new GLib.HashTable(GLib.direct_hash, GLib.direct_equal); + foreach (var exporter in exporters) { + var filter = exporter.file_filter; + filters.replace(filter, exporter); + chooser.add_filter(filter); + if (first == null) + first = filter; + } + + chooser.notify.connect((obj, prop) => { + var exporter = filters.lookup(chooser.get_filter()); + var name = exporter.filename; + var dot = name.last_index_of_char('.'); + if (dot != -1) { + var file = chooser.get_file(); + if (file != null) { + var basename = calculate_basename(file, name.substring(dot)); + chooser.set_current_name(basename); + } else { + chooser.set_current_name(name); + } + } + }); + + chooser.set_filter(first); + + if (chooser.run() == Gtk.ResponseType.ACCEPT) { + chosen_file = chooser.get_file(); + chosen_exporter = filters.lookup(chooser.get_filter()); + directory = chooser.get_current_folder(); + chooser.destroy(); + return true; + } + + chosen_file = null; + chosen_exporter = null; + chooser.destroy(); + return false; + } +} + +} diff --git a/common/exporter.vala b/common/exporter.vala new file mode 100644 index 00000000..edc4b4d3 --- /dev/null +++ b/common/exporter.vala @@ -0,0 +1,106 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2012 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + * Author: Stef Walter + */ + +namespace Seahorse { + +public enum ExporterType { + ANY, + TEXTUAL +} + +public const string BAD_FILENAME_CHARS = "/\\<>|:?;"; + +public interface Exporter : GLib.Object { + public abstract string filename { owned get; } + + public abstract string content_type { get; } + + public abstract Gtk.FileFilter file_filter { owned get; } + + public abstract unowned GLib.List get_objects(); + + public abstract bool add_object(GLib.Object obj); + + [CCode (array_length_type = "size_t")] + public abstract async uint8[] export(GLib.Cancellable? cancellable) throws GLib.Error; + + static GLib.File file_increment_unique(GLib.File file, + ref uint state) { + + string uri = file.get_uri(); + + /* Last path component */ + int last = uri.last_index_of_char('/'); + if (last == -1) + last = 0; + + string prefix; + string suffix; + + /* A dot in last path component? */ + int index = uri.last_index_of_char('.', last); + if (index == -1) { + prefix = uri; + suffix = ""; + } else { + prefix = uri.substring(0, index); + suffix = uri.substring(index); + } + + state++; + return GLib.File.new_for_uri("%s-%u%s".printf(prefix, state, suffix)); + } + + public async bool export_to_file(GLib.File file, + bool overwrite, + GLib.Cancellable? cancellable) throws GLib.Error { + + uint8[] bytes; + GLib.File outfile = file; + + bytes = yield this.export(cancellable); + + /* + * When not trying to overwrite we pass an invalid etag. This way + * if the file exists, it will not match the etag, and we'll be + * able to detect it and try another file name. + */ + + while (true) { + uint unique = 0; + try { + yield outfile.replace_contents_async(bytes, overwrite ? null : "invalid etag", + false, GLib.FileCreateFlags.PRIVATE, + cancellable, null); + return true; + + } catch (GLib.IOError err) { + if (err is GLib.IOError.WRONG_ETAG) { + outfile = file_increment_unique(file, ref unique); + continue; + } + throw err; + } + } + } +} + +} diff --git a/common/icons.vala b/common/icons.vala new file mode 100644 index 00000000..ffc168e4 --- /dev/null +++ b/common/icons.vala @@ -0,0 +1,44 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see . + * + * Author: Stef Walter + */ + +namespace Seahorse { + public const string ICON_KEY = "seahorse-key"; + public const string ICON_SECRET = "seahorse-key-personal"; + public const string ICON_KEY_SSH = "seahorse-key-ssh"; + public const string ICON_SIGN = "seahorse-sign"; + public const string ICON_SIGN_OK = "seahorse-sign-ok"; + public const string ICON_SIGN_BAD = "seahorse-sign-bad"; + public const string ICON_SIGN_UNKNOWN = "seahorse-sign-unknown"; + public const string ICON_WEBBROWSER = "web-browser"; + public const string ICON_FOLDER = "folder"; + public const string ICON_PASSWORD = "gcr-password"; + public bool _icons_inited = false; + + public static void icons_init() { + if (_icons_inited) + return; + _icons_inited = true; + + var path = GLib.Path.build_filename(Config.PKGDATADIR, "icons"); + Gtk.IconTheme.get_default().append_search_path (path); + Gtk.Window.set_default_icon_name ("seahorse"); + } +} diff --git a/common/interaction.vala b/common/interaction.vala new file mode 100644 index 00000000..1e5f0f3e --- /dev/null +++ b/common/interaction.vala @@ -0,0 +1,65 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2017 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + + +// FIXME: there are no bindings generated for these functions +extern string gcr_secure_memory_strdup(string str); +extern void gcr_secure_memory_free(void* str); + +public class Seahorse.Interaction : GLib.TlsInteraction { + + /** + * The parent window + */ + public weak Gtk.Window? parent { get; set; } + + public Interaction(Gtk.Window? parent) { + this.parent = parent; + } + + public override TlsInteractionResult ask_password(TlsPassword password, + Cancellable? cancellable = null) + throws GLib.Error { + string description = calc_description (password); + PassphrasePrompt dialog = PassphrasePrompt.show_dialog(null, description, null, null, false); + + if (this.parent != null) + dialog.transient_for = this.parent; + + int response = dialog.run(); + + if (response == Gtk.ResponseType.ACCEPT) + password.set_value_full((uint8[])gcr_secure_memory_strdup(dialog.get_text()), + gcr_secure_memory_free); + + dialog.destroy(); + + if (response != Gtk.ResponseType.ACCEPT) + throw new GLib.IOError.CANCELLED("The password request was cancelled by the user"); + + return TlsInteractionResult.HANDLED; + } + + private string calc_description (GLib.TlsPassword password) { + return _("Enter PIN or password for: %s").printf(password.description); + } +} diff --git a/common/item-list.vala b/common/item-list.vala new file mode 100644 index 00000000..0036a6b0 --- /dev/null +++ b/common/item-list.vala @@ -0,0 +1,227 @@ +/* + * Seahorse + * + * Copyright (C) 2019 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +/** + * A ItemList is a {@GLib.ListModel} which knows how to handle + * {@link Gcr.Collection}s. These basically provide a compatibility wrapper + * {@link GLib.ListModel}, lists that propagate changes to their listener (such + * as a {@link Gtk.ListBox}). + * + * This list makes an assumption that each iten is a Seahorse.Object, or provides + * the necessary properties like "label" and possibly "description". + */ +public class Seahorse.ItemList : GLib.Object, GLib.ListModel { + + /** The basic collection */ + public Gcr.Collection base_collection { get; private set; } + // XXX put back on private + + /** The filtered and sorted list store */ + private GLib.GenericArray items = new GLib.GenericArray(); + + public enum ShowFilter { + ANY, + PERSONAL, + TRUSTED; + + public unowned string? to_string() { + switch (this) { + case ShowFilter.ANY: + return ""; + case ShowFilter.PERSONAL: + return "personal"; + case ShowFilter.TRUSTED: + return "trusted"; + default: + assert_not_reached(); + } + } + + public static ShowFilter from_string(string? str) { + switch (str) { + case null: + case "": + case "any": + return ShowFilter.ANY; + case "personal": + return ShowFilter.PERSONAL; + case "trusted": + return ShowFilter.TRUSTED; + default: + critical ("Got unknown ShowFilter string: %s", str); + assert_not_reached(); + } + } + } + + public ShowFilter showfilter { get; set; default = ShowFilter.ANY; } + + private string _filter_text = ""; + public string filter_text { + set { + if (this._filter_text == value) + return; + this._filter_text = value.casefold(); + refilter(); + } + } + + public ItemList(Gcr.Collection collection) { + this.base_collection = collection; + + // Make sure our model and the GcrCollection stay in sync + collection.added.connect(on_collection_item_added); + collection.removed.connect(on_collection_item_removed); + + // Add the existing elements + foreach (var obj in collection.get_objects()) + this.items.add(obj); + + // Sort afterwards + this.items.sort(compare_items); + + // Notify listeners + items_changed(0, 0, this.items.length); + } + + private void on_collection_item_added(GLib.Object object) { + // First check if the current filter wants this + if (!item_matches_filters(object)) + return; + + int index = this.items.length; + for (int i = 0; i < this.items.length; i++) { + if (compare_items(object, this.items[i]) < 0) { + index = i; + break; + } + } + this.items.insert(index, object); + items_changed(index, 0, 1); + } + + private void on_collection_item_removed(GLib.Object object) { + uint index; + if (this.items.find(object, out index)) { + this.items.remove_index(index); + items_changed(index, 1, 0); + } + } + + private bool item_matches_filters(GLib.Object object) { + return matches_showfilter(object) + && object_contains_filtered_text(object, this._filter_text); + } + + private bool matches_showfilter(GLib.Object? obj) { + Flags obj_flags = Flags.NONE; + obj.get("object-flags", out obj_flags, null); + + switch (this.showfilter) { + case ShowFilter.PERSONAL: + return Seahorse.Flags.PERSONAL in obj_flags; + case ShowFilter.TRUSTED: + return Seahorse.Flags.TRUSTED in obj_flags; + case ShowFilter.ANY: + return true; + } + + return false; + } + + // Search through row for text + private bool object_contains_filtered_text(GLib.Object? object, string? text) { + // Empty search text results in a match + if (text == null || text == "") + return true; + + string? name = null; + object.get("label", out name, null); + if (name != null && (text in name.down())) + return true; + + if (object.get_class().find_property("description") != null) { + string? description = null; + object.get("description", out description, null); + if (description != null && (text in description.down())) + return true; + } + + return false; + } + + private static int compare_items(GLib.Object gobj_a, GLib.Object gobj_b) { + string? a_label = null, b_label = null; + + gobj_a.get("label", out a_label, null); + gobj_b.get("label", out b_label, null); + + // Put (null) labels at the bottom + if (a_label == null || b_label == null) + return (a_label == null)? 1 : -1; + + return compare_labels(a_label, b_label); + } + + public GLib.Object? get_item(uint position) { + return this.items[position]; + } + + public GLib.Type get_item_type() { + return typeof(GLib.Object); + } + + public uint get_n_items () { + return this.items.length; + } + + /** + * Updates the collection. + * Automatically called when you change filter_text to another value + */ + public void refilter() { + // First remove all items + var len = this.items.length; + this.items.remove_range(0, len); + items_changed(0, len, 0); + + // Add only the ones that match the filter + foreach (var obj in this.base_collection.get_objects()) { + if (item_matches_filters(obj)) + this.items.add(obj); + } + + // Sort afterwards + this.items.sort(compare_items); + + // Notify listeners + items_changed(0, 0, this.items.length); + + debug("%u/%u elements visible after refilter on '%s'", + this.items.length, this.base_collection.get_length(), + this._filter_text); + } + + // Compares 2 labels in an intuitive way + // (case-insensitive; with respect to the user's locale) + private static int compare_labels(string a_label, string b_label) { + return a_label.casefold().collate(b_label.casefold()); + } +} diff --git a/common/keyserver-control.vala b/common/keyserver-control.vala new file mode 100644 index 00000000..74865633 --- /dev/null +++ b/common/keyserver-control.vala @@ -0,0 +1,186 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * Copyright (C) 2017 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/** + * KeyServerControl: a control which allows you to select from a set + * of keyservers. + * + * - Also displays shares for keys found via DNS-SD over the network. + * + * Properties: + * settings-key: (gchar*) The GSettings key to retrieve and set keyservers. + * none-option: (gchar*) Text to display for 'no key server' + */ +public class Seahorse.KeyserverControl : Gtk.ComboBox { + + /** + * Settings key to read/write selection + */ + public string settings_key { get; construct set; } + + /** + * Puts in an option for 'no key server' + */ + public string none_option { get; construct set; } + + private bool updating; + + private enum Column { + TEXT, + INFO + } + + private enum Option { + NONE, + SEPARATOR, + KEYSERVER + } + + public KeyserverControl(string? settings_key, string? none_option) { + GLib.Object( + settings_key: settings_key, + none_option: none_option + ); + this.updating = false; + + Gtk.CellRenderer renderer = new Gtk.CellRendererText(); + pack_start(renderer, true); + set_attributes(renderer, "text", Column.TEXT, null); + set_row_separator_func(separator_func); + + populate_combo(true); + this.changed.connect(on_keyserver_changed); + PgpSettings.instance().changed["keyserver"].connect(() => populate_combo(false)); + if (this.settings_key != null) + AppSettings.instance().changed[this.settings_key].connect(() => populate_combo(true)); + } + + public string? selected() { + Gtk.TreeIter iter; + if (!get_active_iter(out iter)) + return null; + + int info; + string? server; + this.model.get(iter, Column.TEXT, out server, + Column.INFO, out info, + -1); + + if (info == Option.KEYSERVER) + return server; + + return null; + } + + private void on_keyserver_changed(Gtk.ComboBox widget) { + // If currently updating (see populate_combo), ignore + if (this.updating) + return; + + if (this.settings_key != null) + AppSettings.instance().set_string(this.settings_key, selected() ?? ""); + } + + private int compare_func(Gtk.TreeModel model, Gtk.TreeIter a, Gtk.TreeIter b) { + string desc_a, desc_b; + int info_a, info_b; + model.get(a, Column.TEXT, out desc_a, Column.INFO, out info_a, -1); + model.get(b, Column.TEXT, out desc_b, Column.INFO, out info_b, -1); + + if (info_a != info_b) + return info_a - info_b; + + if (info_a == Option.KEYSERVER) + return desc_a.collate(desc_b); + + return 0; + } + + private bool separator_func(Gtk.TreeModel model, Gtk.TreeIter iter) { + int info; + model.get(iter, Column.INFO, out info, -1); + + return info == Option.SEPARATOR; + } + + private void populate_combo(bool with_key) { + Gtk.TreeIter? iter, none_iter = null, chosen_iter = null; + + // Get the appropriate selection + string? chosen = null; + int chosen_info = Option.KEYSERVER; + if (with_key && this.settings_key != null) { + chosen = AppSettings.instance().get_string(this.settings_key); + } else { + if (get_active_iter(out iter)) { + this.model.get(iter, Column.TEXT, out chosen, + Column.INFO, out chosen_info, + -1); + } + } + + // Mark this so we can ignore events + this.updating = true; + + // Remove old model, and create new one + this.model = null; + + Gtk.ListStore store = new Gtk.ListStore(2, typeof(string), typeof(int)); + + // The all key servers option + if (this.none_option != null) { + none_iter = append_entry(store, this.none_option, Option.NONE); + // And add a separator row + iter = append_entry(store, null, Option.SEPARATOR); + } + + bool chosen_iter_set = false; + foreach (weak string keyserver in Servers.get_uris()) { + assert (keyserver != null); + iter = append_entry(store, keyserver, Option.KEYSERVER); + if (chosen != null && chosen == keyserver) { + chosen_iter = iter; + chosen_iter_set = true; + } + } + + // Turn on sorting after populating the store, since that's faster + store.set_sort_func(Column.TEXT, compare_func); + store.set_sort_column_id(Column.TEXT, Gtk.SortType.ASCENDING); + + this.model = store; + + // Re-set the selected value, if it's still present in the model + if (chosen_iter_set) + set_active_iter(chosen_iter); + else if (this.none_option != null) + set_active_iter(none_iter); + + // Done updating + this.updating = false; + } + + private Gtk.TreeIter append_entry(Gtk.ListStore store, string? keyserver, Option option) { + Gtk.TreeIter iter; + store.append(out iter); + store.set(iter, Column.TEXT, keyserver, Column.INFO, option); + return iter; + } +} diff --git a/common/lockable.vala b/common/lockable.vala new file mode 100644 index 00000000..f8d4b444 --- /dev/null +++ b/common/lockable.vala @@ -0,0 +1,45 @@ +/* + * Seahorse + * + * Copyright (C) 2004,2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +namespace Seahorse { + +public interface Lockable : GLib.Object { + public abstract bool lockable { get; } + public abstract bool unlockable { get; } + + public abstract async bool lock(GLib.TlsInteraction? interaction, + GLib.Cancellable? cancellable) throws GLib.Error; + + public abstract async bool unlock(GLib.TlsInteraction? interaction, + GLib.Cancellable? cancellable) throws GLib.Error; + + public static bool can_lock(GLib.Object object) { + if (object is Lockable) + return ((Lockable)object).lockable; + return false; + } + + public static bool can_unlock(GLib.Object object) { + if (object is Lockable) + return ((Lockable)object).unlockable; + return false; + } +} + +} diff --git a/common/meson.build b/common/meson.build new file mode 100644 index 00000000..39b743e7 --- /dev/null +++ b/common/meson.build @@ -0,0 +1,57 @@ +common_sources = files( + 'actions.vala', + 'add-keyserver-dialog.vala', + 'app-settings.vala', + 'backend.vala', + 'catalog.vala', + 'deletable.vala', + 'delete-dialog.vala', + 'deleter.vala', + 'exportable.vala', + 'exporter.vala', + 'icons.vala', + 'interaction.vala', + 'item-list.vala', + 'lockable.vala', + 'object.vala', + 'passphrase-prompt.vala', + 'pgp-settings.vala', + 'place.vala', + 'predicate.vala', + 'prefs.vala', + 'registry.vala', + 'servers.vala', + 'types.vala', + 'util.vala', + 'validity.vala', + 'viewable.vala', +) + +common_deps = [ + glib_deps, + gtk, + gcr, + gcr_ui, + config, +] + +common_vala_args = [ +] + +if get_option('keyservers-support') + common_sources += 'keyserver-control.vala' + common_vala_args += [ '-D', 'WITH_KEYSERVER' ] +endif + +common_lib = static_library('common', + common_sources, + dependencies: common_deps, + vala_args: common_vala_args, + vala_header: 'seahorse-common.h', +) + +common_dep = declare_dependency( + link_with: common_lib, + include_directories: include_directories('.'), + dependencies: common_deps, +) diff --git a/common/object.vala b/common/object.vala new file mode 100644 index 00000000..4fa7bfc1 --- /dev/null +++ b/common/object.vala @@ -0,0 +1,137 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2017 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +/** + * The base class for passwords/keys and others that are handled by Seahorse. + */ +public class Seahorse.Object : GLib.Object { + + // XXX only notify if changed + /** + * The place this Object came from. + */ + public weak Place place { get; set; default = null; } + + /** + * Stock ID for this Object. + */ + public GLib.Icon? icon { get; set; default = new ThemedIcon("gtk-missing-image"); } + + /** + * This object's displayable label. + */ + public string label { + get { return this._label; } + set { + this._label = value; + recalculate_label(); + } + } + private string _label = ""; + + /** + * This object's displayable markup. + */ + public string markup { + get { return this._markup; } + set { + this.markup_explicit = true; + this._markup = value; + } + } + private string _markup = ""; + // If true the markup will not be set automatically + private bool markup_explicit; + + + /** + * This object's short name. + */ + public string nickname { + get { return this._nickname; } + set { + this.nickname_explicit = true; + this._nickname = value; + } + } + private string _nickname = ""; + // If true the nickname will not be set automatically + private bool nickname_explicit; + + + /** + * Displayable ID for the object. + */ + // XXX explicit op true zetten in set; + public string identifier { + get { return this._identifier; } + set { + this._identifier = value; + } + } + private string _identifier = ""; + + // XXX only notify if changed + /** + * How this object is used. + */ + public Usage usage { get; set; default = Usage.NONE; } + + /** + * This object's flags. + */ + public Flags object_flags { get; set; default = Flags.NONE; } + + /** + * Whether this Object can be deleted. + */ + public bool deletable { get { return Flags.DELETABLE in this.object_flags; } } + + /** + * Whether this Object can be exported. + */ + public bool exportable { get { return Flags.EXPORTABLE in this.object_flags; } } + + public Object() { + } + + public Flags get_flags() { + return this.object_flags; + } + + public void set_flags(Flags flags) { + this.object_flags = flags; + } + + // Recalculates nickname and markup from the label + private void recalculate_label() { + if (!this.markup_explicit) { + this.markup = Markup.escape_text (this.label ?? ""); + notify_property("markup"); + } + + if (!this.nickname_explicit) { + this.nickname = this.label ?? ""; + notify_property("nickname"); + } + } +} diff --git a/common/passphrase-prompt.vala b/common/passphrase-prompt.vala new file mode 100644 index 00000000..373a9b8f --- /dev/null +++ b/common/passphrase-prompt.vala @@ -0,0 +1,246 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * Copyright (C) 2004 - 2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2017 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +// TODO move these into a namespace or class +public const int SEAHORSE_PASS_BAD = 0x00000001; +public const int SEAHORSE_PASS_NEW = 0x01000000; + +public class Seahorse.PassphrasePrompt : Gtk.Dialog { + // gnome hig small space in pixels + private const int HIG_SMALL = 6; + // gnome hig large space in pixels + private const int HIG_LARGE = 12; + + private Gtk.Entry secure_entry; + private Gtk.Entry? confirm_entry; + private Gtk.CheckButton? check_option; + +#if ! _DEBUG + private bool keyboard_grabbed; +#endif + + public PassphrasePrompt (string? title, string? description, string prompt, string? check, bool confirm) { + GLib.Object( + title: title, + modal: true, + icon_name: "dialog-password-symbolic" + ); + + Gtk.Box wvbox = new Gtk.Box(Gtk.Orientation.VERTICAL, HIG_LARGE * 2); + get_content_area().add(wvbox); + wvbox.set_border_width(HIG_LARGE); + + Gtk.Box chbox = new Gtk.Box(Gtk.Orientation.HORIZONTAL, HIG_LARGE); + wvbox.pack_start (chbox, false, false); + + // The image + Gtk.Image img = new Gtk.Image.from_icon_name("dialog-password-symbolic", Gtk.IconSize.DIALOG); + img.set_alignment(0.0f, 0.0f); + chbox.pack_start(img, false, false); + + Gtk.Box box = new Gtk.Box(Gtk.Orientation.VERTICAL, HIG_SMALL); + chbox.pack_start (box); + + // The description text + if (description != null) { + Gtk.Label desc_label = new Gtk.Label(utf8_validate (description)); + desc_label.set_alignment(0.0f, 0.5f); + desc_label.set_line_wrap(true); + box.pack_start(desc_label, true, false); + } + + Gtk.Grid grid = new Gtk.Grid(); + grid.set_row_spacing(HIG_SMALL); + grid.set_column_spacing(HIG_LARGE); + box.pack_start(grid, false, false); + + // The first entry (if we have one) + if (confirm) { + Gtk.Label prompt_label = new Gtk.Label(utf8_validate (prompt)); + prompt_label.set_alignment(0.0f, 0.5f); + grid.attach(prompt_label, 0, 0); + + this.confirm_entry = new Gtk.Entry.with_buffer(new Gcr.SecureEntryBuffer()); + this.confirm_entry.set_visibility(false); + this.confirm_entry.set_size_request(200, -1); + this.confirm_entry.activate.connect(confirm_callback); + this.confirm_entry.changed.connect(entry_changed); + grid.attach(this.confirm_entry, 1, 0); + this.confirm_entry.grab_focus(); + } + + // The second and main entry + Gtk.Label confirm_label = new Gtk.Label(utf8_validate (confirm? _("Confirm:") : prompt)); + confirm_label.set_alignment(0.0f, 0.5f); + grid.attach(confirm_label, 0, 1); + + this.secure_entry = new Gtk.Entry.with_buffer(new Gcr.SecureEntryBuffer()); + this.secure_entry.set_size_request(200, -1); + this.secure_entry.set_visibility(false); + this.secure_entry.activate.connect(() => { + if (get_widget_for_response(Gtk.ResponseType.ACCEPT).sensitive) + response(Gtk.ResponseType.ACCEPT); + }); + grid.attach(secure_entry, 1, 1); + if (confirm) + this.secure_entry.changed.connect(entry_changed); + else + this.secure_entry.grab_focus(); + + // The checkbox + if (check != null) { + this.check_option = new Gtk.CheckButton.with_mnemonic(check); + grid.attach(this.check_option, 1, 2); + } + + grid.show_all(); + + Gtk.Button cancel_button = new Gtk.Button.with_mnemonic(_("_Cancel")); + add_action_widget(cancel_button, Gtk.ResponseType.REJECT); + cancel_button.set_can_default(true); + + Gtk.Button ok_button = new Gtk.Button.with_mnemonic(_("_OK")); + add_action_widget(ok_button, Gtk.ResponseType.ACCEPT); + ok_button.set_can_default(true); + ok_button.grab_default(); + + // Signals + this.map_event.connect(grab_keyboard); + this.unmap_event.connect(ungrab_keyboard); + this.window_state_event.connect(window_state_changed); + this.key_press_event.connect(key_press); + + set_position(Gtk.WindowPosition.CENTER); + set_resizable(false); + set_keep_above(true); + show_all(); + get_window().focus(Gdk.CURRENT_TIME); + + if (confirm) + entry_changed (null); + } + + // Kept for backwards compatibility with the C code + public static PassphrasePrompt show_dialog(string? title, string? description, string? prompt, + string? check, bool confirm) { + return new PassphrasePrompt(title, description, prompt ?? _("Password:"), check, confirm); + } + + public string get_text() { + return this.secure_entry.text; + } + + public bool checked() { + return this.check_option.active; + } + + // Convert passed text to utf-8 if not valid + private string? utf8_validate(string? text) { + if (text == null) + return null; + + if (text.validate()) + return text; + + string? result = text.locale_to_utf8(-1, null, null); + if (result == null) { + // Convert unknown characters into "?" + char* p = (char*) text; + + while (!((string)p).validate (-1, out p)) + *p = '?'; + + result = text; + } + return result; + } + + private bool key_press (Gtk.Widget widget, Gdk.EventKey event) { + // Close the dialog when hitting "Esc". + if (event.keyval == Gdk.Key.Escape) { + response(Gtk.ResponseType.REJECT); + return true; + } + + return false; + } + + private bool grab_keyboard(Gtk.Widget win, Gdk.Event event) { +#if ! _DEBUG + if (!this.keyboard_grabbed) { + Gdk.Display display = Gdk.Display.get_default(); + Gdk.Seat seat = display.get_default_seat(); + + var grab_status = seat.grab(win.get_window(), + Gdk.SeatCapabilities.KEYBOARD, + false, + null, + event, + null); + + if (grab_status != Gdk.GrabStatus.SUCCESS) + message("could not grab keyboard: %u", grab_status); + } + this.keyboard_grabbed = true; +#endif + return false; + } + + /* ungrab_keyboard - remove grab */ + private bool ungrab_keyboard (Gtk.Widget win, Gdk.Event event) { +#if ! _DEBUG + if (this.keyboard_grabbed) { + Gdk.Display display = Gdk.Display.get_default(); + Gdk.Seat seat = display.get_default_seat(); + + seat.ungrab(); + } + this.keyboard_grabbed = false; +#endif + return false; + } + + /* When enter is pressed in the confirm entry, move */ + private void confirm_callback(Gtk.Widget widget) { + this.secure_entry.grab_focus(); + } + + private void entry_changed (Gtk.Editable? editable) { + set_response_sensitive(Gtk.ResponseType.ACCEPT, + this.secure_entry.text == this.confirm_entry.text); + } + + private bool window_state_changed (Gtk.Widget win, Gdk.EventWindowState event) { + Gdk.WindowState state = win.get_window().get_state(); + + if (Gdk.WindowState.WITHDRAWN in state || + Gdk.WindowState.ICONIFIED in state || + Gdk.WindowState.FULLSCREEN in state || + Gdk.WindowState.MAXIMIZED in state) + ungrab_keyboard (win, event); + else + grab_keyboard (win, event); + + return false; + } + +} diff --git a/common/pgp-settings.vala b/common/pgp-settings.vala new file mode 100644 index 00000000..67c70fe0 --- /dev/null +++ b/common/pgp-settings.vala @@ -0,0 +1,66 @@ +/* + * Seahorse + * + * Copyright (C) 2018 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see . + */ + +/* This schema is installed by libgcr */ +public class Seahorse.PgpSettings : GLib.Settings { + public bool ascii_armor { + get { return get_boolean("ascii-armor"); } + set { set_boolean("ascii-armor", value); } + } + + public string default_key { + owned get { return get_string("default-key"); } + set { set_string("default-key", value); } + } + + public bool encrypt_to_self { + get { return get_boolean("encrypt-to-self"); } + set { set_boolean("encrypt-to-self", value); } + } + + /** + * Returns a list of keyservers. Each entry is of either the format "uri" + * or "uri name", where `name` is a display name of the given keyserver. + */ + public string[] keyservers { + owned get { return get_strv("keyservers"); } + set { set_strv("keyservers", value); } + } + + public string last_signer { + owned get { return get_string("last-signer"); } + set { set_string("last-signer", value); } + } + + public string sort_recipients_by { + owned get { return get_string("sort-recipients-by"); } + set { set_string("sort-recipients-by", value); } + } + + public PgpSettings () { + GLib.Object (schema_id: "org.gnome.crypto.pgp"); + } + + private static PgpSettings? _instance = null; + public static PgpSettings instance() { + if (_instance == null) + _instance = new PgpSettings(); + return _instance; + } +} diff --git a/common/place.vala b/common/place.vala new file mode 100644 index 00000000..3beee304 --- /dev/null +++ b/common/place.vala @@ -0,0 +1,87 @@ +/* + * Seahorse + * + * Copyright (C) 2004,2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2013 Stef Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +/** + * A SeahorsePlace is a collection of objects (passwords/keys/certificates/...). + * An example of this is a keyring. + */ +public interface Seahorse.Place : Gcr.Collection { + + /** + * We generally divide a SeahorsePlace in some high level categories. + * + * These are then used to group places in the sidebar. + */ + public enum Category { + PASSWORDS, + KEYS, + CERTIFICATES; + + public unowned string to_string() { + switch (this) { + case Category.PASSWORDS: + return _("Passwords"); + case Category.KEYS: + return _("Keys"); + case Category.CERTIFICATES: + return _("Certificates"); + } + + return_val_if_reached(null); + } + } + + public abstract string label { owned get; set; } + public abstract string description { owned get; } + public abstract string uri { owned get; } + public abstract Icon icon { owned get; } + public abstract Category category { owned get; } + + /** + * In some cases, we do not want to show the Place in the sidebar + * if it's empty (for example p11-kit's System Trust), while we do + * want this for others (like libsecret keyrings). + */ + public abstract bool show_if_empty { get; } + + /** + * Returns the {@link GLib.Action}s that are defined for this Place, + * or null if none. + */ + public abstract GLib.ActionGroup? actions { owned get; } + + /** + * Returns the prefix that is used for the actions in this.menu_model. + */ + public abstract unowned string? action_prefix { get; } + + /** + * Returns the menu of basic actions that apply specifically to + * this Place. Can be used for example to show a context menu. + */ + public abstract MenuModel? menu_model { owned get; } + + /** + * Loads the items in this Place so they are available. + * + * Returns false if an error occurre + */ + public abstract async bool load(Cancellable? cancellable) throws GLib.Error; +} diff --git a/common/predicate.vala b/common/predicate.vala new file mode 100644 index 00000000..47a712e4 --- /dev/null +++ b/common/predicate.vala @@ -0,0 +1,70 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2017 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +[CCode (has_target = false)] +public delegate bool Seahorse.PredicateFunc(GLib.Object obj, void* custom_target); + +public struct Seahorse.Predicate { + public Type type; + public Usage usage; + public Flags flags; + public Flags nflags; + public PredicateFunc custom; + public void* custom_target; + + /** + * Matches a seahorse object and a predicate + * + * @param obj The predicate to match + * + * @return false if predicate does not match the Object, true else + */ + public bool match(GLib.Object obj) { + // Check all the fields + if (this.type != 0 && !(obj.get_type().is_a(this.type) && this.type.is_a(obj.get_type()))) + return false; + + if (this.usage != Usage.NONE) { + Usage obj_usage = Usage.NONE; + obj.get("usage", out obj_usage, null); + + if (this.usage != obj_usage) + return false; + } + + if (this.flags != 0 || this.nflags != 0) { + Flags obj_flags = Flags.NONE; + obj.get("object-flags", out obj_flags, null); + + if (this.flags != Flags.NONE && (obj_flags in this.flags)) + return false; + if (this.nflags != Flags.NONE && !(obj_flags in this.nflags)) + return false; + } + + // And any custom stuff + if (this.custom != null && !this.custom(obj, this.custom_target)) + return false; + + return true; + } +} diff --git a/common/prefs.vala b/common/prefs.vala new file mode 100644 index 00000000..aa332823 --- /dev/null +++ b/common/prefs.vala @@ -0,0 +1,299 @@ +/* + * Seahorse + * + * Copyright (C) 2004-2005 Stefan Walter + * Copyright (C) 2017 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +public class Seahorse.Prefs : Gtk.Dialog { + + private bool updating_model; + + private Gtk.Notebook notebook; + private Gtk.Grid keyserver_tab; + private Gtk.TreeView keyservers; + private Gtk.Box keyserver_publish; + private Gtk.Label keyserver_publish_to_label; + private Gtk.Button keyserver_remove; + private Gtk.Button keyserver_add; + private Gtk.CheckButton auto_retrieve; + private Gtk.CheckButton auto_sync; + + /** + * Create a new preferences window. + * + * @param parent The Gtk.Window to set as the preferences dialog's parent + */ + public Prefs(Gtk.Window? parent, string? tabid = null) { + GLib.Object ( + title: _("Preferences"), + transient_for: parent, + modal: true + ); + this.updating_model = false; + + Gtk.Builder builder = new Gtk.Builder(); + try { + string path = "/org/gnome/Seahorse/seahorse-prefs.ui"; + builder.add_from_resource(path); + } catch (GLib.Error err) { + GLib.critical("%s", err.message); + } + Gtk.Box content = (Gtk.Box) builder.get_object("prefs"); + get_content_area().border_width = 0; + get_content_area().add(content); + this.notebook = (Gtk.Notebook) builder.get_object("notebook"); + this.keyserver_tab = (Gtk.Grid) builder.get_object("keyserver-tab"); + this.keyservers = (Gtk.TreeView) builder.get_object("keyservers"); + this.keyserver_publish = (Gtk.Box) builder.get_object("keyserver-publish"); + this.keyserver_publish_to_label = (Gtk.Label) builder.get_object("keyserver-publish-to-label"); + this.keyserver_remove = (Gtk.Button) builder.get_object("keyserver_remove"); + this.keyserver_add = (Gtk.Button) builder.get_object("keyserver_add"); + this.auto_retrieve = (Gtk.CheckButton) builder.get_object("auto_retrieve"); + this.auto_sync = (Gtk.CheckButton) builder.get_object("auto_sync"); + + this.keyserver_remove.clicked.connect(on_prefs_keyserver_remove_clicked); + this.keyserver_add.clicked.connect(on_prefs_keyserver_add_clicked); + +#if WITH_KEYSERVER + setup_keyservers(); +#else + remove_tab(this.keyserver_tab); +#endif + + if (tabid != null) { + Gtk.Widget? tab = builder.get_object(tabid) as Gtk.Widget; + if (tab != null) + select_tab(tab); + } + } + + public static bool available() { +#if WITH_KEYSERVER + return true; +#else + return false; +#endif + } + + /** + * Add a tab to the preferences window + * + * @param label Label for the tab to be added + * @param tab Tab to be added + */ + public void add_tab(Gtk.Widget? label, Gtk.Widget? tab) { + label.show(); + this.notebook.prepend_page(tab, label); + } + + /** + * Sets the input tab to be the active one + * + * @param tab The tab to be set active + */ + public void select_tab(Gtk.Widget? tab) { + int pos = this.notebook.page_num(tab); + if (pos != -1) + this.notebook.set_current_page(pos); + } + + /** + * Removes a tab from the preferences window + * + * @tab: The tab to be removed + */ + public void remove_tab(Gtk.Widget? tab) { + int pos = this.notebook.page_num(tab); + if (pos != -1) + this.notebook.remove_page(pos); + } + +#if WITH_KEYSERVER + + private enum Columns { + KEYSERVER, + N_COLUMNS + } + + // Perform keyserver page initialization + private void setup_keyservers () { + string[] keyservers = Seahorse.Servers.get_uris(); + populate_keyservers(keyservers); + + Gtk.TreeModel model = this.keyservers.get_model(); + model.row_changed.connect(keyserver_row_changed); + model.row_deleted.connect(keyserver_row_deleted); + + Gtk.TreeSelection selection = this.keyservers.get_selection(); + selection.set_mode(Gtk.SelectionMode.SINGLE); + selection.changed.connect(keyserver_sel_changed); + + PgpSettings.instance().changed["keyserver"].connect((settings, key) => { + populate_keyservers(settings.get_strv(key)); + }); + + KeyserverControl skc = new KeyserverControl("server-publish-to", + _("None: Don’t publish keys")); + this.keyserver_publish.add(skc); + this.keyserver_publish.show_all(); + + this.keyserver_publish_to_label.set_mnemonic_widget(skc); + + AppSettings.instance().bind("server-auto-retrieve", this.auto_retrieve, "active", + SettingsBindFlags.DEFAULT); + AppSettings.instance().bind("server-auto-publish", this.auto_sync, "active", + SettingsBindFlags.DEFAULT); + } + + // Called when a cell has completed being edited + private void keyserver_cell_edited (Gtk.CellRendererText cell, string? path, string? text, Gtk.TreeStore store) { + if (!Servers.is_valid_uri(text)) { + Util.show_error (null, + _("Not a valid Key Server address."), + _("For help contact your system administrator or the administrator of the key server." )); + return; + } + + Gtk.TreeIter iter; + warn_if_fail(store.get_iter_from_string(out iter, path)); + store.set(iter, Columns.KEYSERVER, text, -1); + } + + // The selection changed on the tree + private void keyserver_sel_changed (Gtk.TreeSelection selection) { + this.keyserver_remove.sensitive = (selection.count_selected_rows() > 0); + } + + // User wants to remove selected rows + private void on_prefs_keyserver_remove_clicked (Gtk.Widget? button) { + this.keyservers.get_selection().selected_foreach((model, path, iter) => { + ((Gtk.TreeStore) model).remove(ref iter); + }); + } + + // Write key server list to settings + private void save_keyservers (Gtk.TreeModel model) { + string[] values = {}; + Gtk.TreeIter iter; + if (model.get_iter_first(out iter)) { + do { + string? keyserver = null; + model.get(iter, Columns.KEYSERVER, out keyserver, -1); + if (keyserver == null) + return; + values += keyserver; + } while (model.iter_next(ref iter)); + } + + PgpSettings.instance().keyservers = values; + } + + private void keyserver_row_changed (Gtk.TreeModel model, Gtk.TreePath arg1, Gtk.TreeIter arg2) { + // If currently updating (see populate_keyservers) ignore + if (this.updating_model) + return; + + save_keyservers(model); + } + + private void keyserver_row_deleted (Gtk.TreeModel model, Gtk.TreePath arg1) { + // If currently updating (see populate_keyservers) ignore + if (this.updating_model) + return; + + save_keyservers(model); + } + + private void populate_keyservers(string[] keyservers) { + Gtk.TreeStore store = (Gtk.TreeStore) this.keyservers.get_model(); + + // This is our first time so create a store + if (store == null) { + store = new Gtk.TreeStore(1, typeof(string)); + this.keyservers.set_model(store); + + // Make the column + Gtk.CellRendererText renderer = new Gtk.CellRendererText(); + renderer.editable = true; + renderer.edited.connect((cell, path, text) => { + keyserver_cell_edited(cell, path, text, store); + }); + Gtk.TreeViewColumn column = new Gtk.TreeViewColumn.with_attributes( + _("URL"), renderer, + "text", Columns.KEYSERVER, + null); + this.keyservers.append_column(column); + } + + // Mark this so we can ignore events + this.updating_model = true; + + // We try and be inteligent about updating so we don't throw + // away selections and stuff like that + uint i = 0; + Gtk.TreeIter iter; + if (store.get_iter_first(out iter)) { + bool cont = false; + do { + string? val; + store.get(iter, Columns.KEYSERVER, out val, -1); + if (keyservers[i] != null + && val != null + && keyservers[i].collate(val) == 0) { + cont = store.iter_next(ref iter); + i++; + } else { + cont = store.remove(ref iter); + } + } while (cont); + } + + // Any remaining extra rows + for ( ; keyservers[i] != null; i++) { + store.append(out iter, null); + store.set(iter, Columns.KEYSERVER, keyservers[i], -1); + } + + // Done updating + this.updating_model = false; + } + + private void on_prefs_keyserver_add_clicked (Gtk.Button button) { + AddKeyserverDialog dialog = new AddKeyserverDialog(this); + + if (dialog.run() == Gtk.ResponseType.OK) { + string? result = dialog.calculate_keyserver_uri(); + + if (result != null) { + Gtk.TreeStore store = (Gtk.TreeStore) this.keyservers.get_model(); + Gtk.TreeIter iter; + store.append(out iter, null); + store.set(iter, Columns.KEYSERVER, result, -1); + } + } + + dialog.destroy(); + } + +#else + + private void on_prefs_keyserver_add_clicked (Gtk.Button? button) { } + void on_prefs_keyserver_remove_clicked (Gtk.Widget? button) { } + +#endif + +} diff --git a/common/registry.vala b/common/registry.vala new file mode 100644 index 00000000..86cf5785 --- /dev/null +++ b/common/registry.vala @@ -0,0 +1,94 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2013 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see . + */ + +namespace Seahorse { + +public class Registry : GLib.Object { + private GLib.HashTable> _objects; + + private static Registry _singleton; + + private static Registry instance() { + if (_singleton == null) + _singleton = new Registry(); + return _singleton; + } + + public static void cleanup() { + _singleton = null; + } + + public static void register_object(GLib.Object object, + string category) { + Registry registry = Registry.instance(); + GLib.HashTable? oset; + + oset = registry._objects.lookup(category); + if (oset == null) { + oset = new GLib.HashTable(GLib.direct_hash, GLib.direct_equal); + registry._objects.replace(category, oset); + } + + oset.replace(object, object); + } + + public static GLib.Object? object_instance(string category) { + Registry registry = Registry.instance(); + GLib.HashTable? oset; + + oset = registry._objects.lookup(category); + if (oset == null) + return null; + + var iter = HashTableIter (oset); + unowned GLib.Object key; + unowned GLib.Object value; + while (iter.next (out key, out value)) { + return value; + } + + return null; + } + + public static GLib.List object_instances(string category) { + Registry registry = Registry.instance(); + GLib.HashTable? oset; + GLib.List insts = null; + + oset = registry._objects.lookup(category); + if (oset == null) + return insts; + + var iter = HashTableIter (oset); + unowned GLib.Object key; + unowned GLib.Object value; + while (iter.next (out key, out value)) { + insts.append(value); + } + + return insts; + } + + construct { + _objects = new GLib.HashTable>(GLib.str_hash, GLib.str_equal); + } +} + +} diff --git a/common/seahorse-add-keyserver.ui b/common/seahorse-add-keyserver.ui new file mode 100644 index 00000000..ee165cff --- /dev/null +++ b/common/seahorse-add-keyserver.ui @@ -0,0 +1,141 @@ + + + + + + + + + + + + initial temporary item + + + + + + + True + vertical + 2 + + + True + 5 + 2 + 2 + 12 + 6 + + + True + 0 + Key Server Type: + + + GTK_FILL + + + + + + True + 1 + 0 + + + + 1 + 2 + GTK_FILL + + + + + True + 0 + Host: + + + 1 + 2 + GTK_FILL + + + + + + True + horizontal + 6 + + + True + True + True + The host name or address of the server. + True + + + + 0 + + + + + True + horizontal + 6 + + + True + : + + + False + False + 0 + + + + + True + True + The port to access the server on. + True + 5 + + + + False + 1 + + + + + False + False + 1 + + + + + 1 + 2 + 1 + 2 + GTK_FILL + GTK_FILL + + + + + False + 1 + + + + + + diff --git a/common/seahorse-prefs.ui b/common/seahorse-prefs.ui new file mode 100644 index 00000000..8076ef03 --- /dev/null +++ b/common/seahorse-prefs.ui @@ -0,0 +1,179 @@ + + + + + + + + + + True + vertical + True + 2 + + + True + True + True + + + True + 12 + 12 + 12 + + + True + vertical + 11 + + + True + 0 + _Find keys via: + True + scrolledwindow1 + + + False + False + 0 + + + + + gtk-add + True + True + False + True + + + False + False + 1 + + + + + gtk-remove + True + False + True + False + True + + + + False + False + 2 + + + + + 0 + 0 + + + + + True + True + never + automatic + in + + + 130 + True + True + False + + + + + 0 + 1 + + + + + True + 0 + _Publish keys to: + True + + + 1 + 0 + + + + + True + vertical + + + + + + 1 + 1 + + + + + Automatically retrieve keys from _key servers + True + True + False + True + True + + + 2 + 1 + + + + + Automatically synchronize _modified keys with key servers + True + True + False + True + True + + + 3 + 1 + + + + + + + True + Key Servers + + + False + + + + + + + + + + + 1 + + + + + + diff --git a/common/servers.vala b/common/servers.vala new file mode 100644 index 00000000..b63110ac --- /dev/null +++ b/common/servers.vala @@ -0,0 +1,114 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2017 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +namespace Seahorse.Servers { + +[CCode (cname = "SeahorseValidUriFunc", has_target = false)] +public delegate bool ValidUriFunc(string uri); + +private struct ServerInfo { + public string type; + public string description; + public ValidUriFunc validator; +} + +private HashTable? server_types = null; + +[CCode (array_null_terminated = true, array_length = false)] +public string[] get_types() { + string[] types = {}; + + if (server_types != null) { + server_types.foreach((uri, server_info) => { + types += server_info.type; + }); + } + + return types; +} + +public string? get_description(string? type) { + if (server_types == null) + return null; + + ServerInfo? info = server_types.lookup(type); + if (info != null) + return info.description; + + return null; +} + +public void register_type(string? type, string? description, ValidUriFunc validate) { + ServerInfo info = ServerInfo() { + description = description, + type = type, + validator = validate + }; + + if (server_types == null) + server_types = new HashTable(str_hash, str_equal); + + server_types.replace(info.type, info); +} + +public void cleanup() { + server_types = null; +} + +[CCode (array_null_terminated = true, array_length = false)] +public string[] get_uris() { + // The values are 'uri name', remove the name part + string[] uris = {}; + foreach (string server in PgpSettings.instance().keyservers) + uris += server.strip().split(" ", 2)[0]; + + return uris; +} + +[CCode (array_null_terminated = true, array_length = false)] +public string[] get_names() { + string[] names = {}; + foreach (string server in PgpSettings.instance().keyservers) { + // The values are 'uri' or 'uri name', remove the name part if there + string[] split = server._strip().split(" ", 2); + names += (split.length == 1)? split[0] : split[1]; + } + + return names; +} + +/** + * Checks to see if the passed uri is valid against registered validators + */ +public bool is_valid_uri(string? uri) { + if (uri == null || server_types == null) + return false; + + string[] parts = uri.split(":", 2); + if (parts.length > 0) { + weak ServerInfo? info = server_types.lookup(parts[0]); + if (info != null && (info.validator(uri))) + return true; + } + + return false; +} + +} diff --git a/common/types.vala b/common/types.vala new file mode 100644 index 00000000..081065bd --- /dev/null +++ b/common/types.vala @@ -0,0 +1,74 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +namespace Seahorse { + +/* Again, never change these values */ +public enum Usage { + NONE = 0, + SYMMETRIC_KEY = 1, + PUBLIC_KEY = 2, + PRIVATE_KEY = 3, + CREDENTIALS = 4, + IDENTITY = 5, + OTHER = 10 +} + +[Flags] +public enum Flags { + [CCode (cname = "SEAHORSE_FLAG_NONE")] + NONE = 0, + + [CCode (cname = "SEAHORSE_FLAG_IS_VALID")] + IS_VALID = 0x00000001, + + [CCode (cname = "SEAHORSE_FLAG_CAN_ENCRYPT")] + CAN_ENCRYPT = 0x00000002, + + [CCode (cname = "SEAHORSE_FLAG_CAN_SIGN")] + CAN_SIGN = 0x00000004, + + [CCode (cname = "SEAHORSE_FLAG_CAN_CERTIFY")] + CAN_CERTIFY = 0x00000008, + + [CCode (cname = "SEAHORSE_FLAG_CAN_AUTHENTICATE")] + CAN_AUTHENTICATE = 0x00000010, + + [CCode (cname = "SEAHORSE_FLAG_EXPIRED")] + EXPIRED = 0x00000100, + + [CCode (cname = "SEAHORSE_FLAG_REVOKED")] + REVOKED = 0x00000200, + + [CCode (cname = "SEAHORSE_FLAG_DISABLED")] + DISABLED = 0x00000400, + + [CCode (cname = "SEAHORSE_FLAG_TRUSTED")] + TRUSTED = 0x00001000, + + [CCode (cname = "SEAHORSE_FLAG_PERSONAL")] + PERSONAL = 0x00002000, + + [CCode (cname = "SEAHORSE_FLAG_EXPORTABLE")] + EXPORTABLE = 0x00100000, + + [CCode (cname = "SEAHORSE_FLAG_DELETABLE")] + DELETABLE = 0x10000000 +} + +} diff --git a/common/util.vala b/common/util.vala new file mode 100644 index 00000000..44f29bba --- /dev/null +++ b/common/util.vala @@ -0,0 +1,78 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * Copyright (C) 2004-2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +namespace Seahorse.Util { + + public void show_error (Gtk.Widget? parent, + string? heading, + string? message) { + Gtk.Window? window = null; + + if (message == null) + message = ""; + + if (parent != null) { + if (!(parent is Gtk.Window)) + parent = parent.get_toplevel(); + if (parent is Gtk.Window) + window = (Gtk.Window)parent; + } + + var dialog = new Gtk.MessageDialog(window, Gtk.DialogFlags.MODAL, + Gtk.MessageType.ERROR, + Gtk.ButtonsType.CLOSE, ""); + if (heading == null) + dialog.set("text", message); + else + dialog.set("text", heading, "secondary-text", message); + + dialog.run(); + dialog.destroy(); + } + + public string get_display_date_string (uint64 time) + { + if (time == 0) + return ""; + var created_date = new DateTime.from_unix_utc((int64) time); + return created_date.format("%x"); + } + + // TODO: one we rely on GLib >= 2.54, we can use g_list_store_find + public bool list_store_find(GLib.ListStore store, GLib.Object item, out uint position) { + return list_store_find_with_equal_func (store, item, GLib.direct_equal, out position); + } + + // TODO: one we rely on GLib >= 2.54, we can use g_list_store_find_with_equal_func + public bool list_store_find_with_equal_func(GLib.ListStore store, + GLib.Object item, + GLib.EqualFunc func, + out uint position) { + for (uint i = 0; i < store.get_n_items(); i++) { + if (func(store.get_item(i), item)) { + if (&position != null) + position = i; + return true; + } + } + + return false; + } +} diff --git a/common/validity.vala b/common/validity.vala new file mode 100644 index 00000000..e5f48fd6 --- /dev/null +++ b/common/validity.vala @@ -0,0 +1,55 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * Copyright (C) 2017 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + + +// [CCode (cname = "SeahorseValidity", cprefix = "SEAHORSE_VALIDITY_", has_type_id = false)] +public enum Seahorse.Validity { + REVOKED = -3, + DISABLED = -2, + NEVER = -1, + UNKNOWN = 0, + MARGINAL = 1, + FULL = 5, + ULTIMATE = 10; + + /** + * @return A string describing the validity. + */ + public unowned string? get_string () { + switch (this) { + case Seahorse.Validity.UNKNOWN: + return C_("Validity", "Unknown"); + case Seahorse.Validity.NEVER: + return C_("Validity", "Never"); + case Seahorse.Validity.MARGINAL: + return C_("Validity", "Marginal"); + case Seahorse.Validity.FULL: + return C_("Validity", "Full"); + case Seahorse.Validity.ULTIMATE: + return C_("Validity", "Ultimate"); + case Seahorse.Validity.DISABLED: + return C_("Validity", "Disabled"); + case Seahorse.Validity.REVOKED: + return C_("Validity", "Revoked"); + default: + return null; + } + } +} diff --git a/common/viewable.vala b/common/viewable.vala new file mode 100644 index 00000000..da5a79fa --- /dev/null +++ b/common/viewable.vala @@ -0,0 +1,58 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2012 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + * Author: Stef Walter + */ + +namespace Seahorse +{ + +public interface Viewable : GLib.Object { + public abstract Gtk.Window? create_viewer(Gtk.Window? parent); + + public static bool can_view(GLib.Object object) { + return object is Viewable; + } + + public static bool view(GLib.Object object, + Gtk.Window? parent) { + if (!Viewable.can_view(object)) + return false; + + Gtk.Window? window = null; + + window = object.get_data("viewable-window"); + if (window == null) { + var viewable = (Viewable)object; + window = viewable.create_viewer(parent); + if (window == null) + return false; + + object.set_data("viewable-window", window); + window.destroy.connect(() => { + object.set_data_full("viewable-window", null, null); + }); + } + + window.present(); + window.show(); + return true; + } +} + +} diff --git a/data/gtk/help-overlay.ui b/data/gtk/help-overlay.ui new file mode 100644 index 00000000..d0c542f9 --- /dev/null +++ b/data/gtk/help-overlay.ui @@ -0,0 +1,98 @@ + + + + + 1 + + + 1 + Overview + + + 1 + F1 + Help + + + + + 1 + F10 + Open menu + + + + + 1 + <Primary>n + Create a new item + + + + + 1 + <Primary>i + Import item from file + + + + + 1 + <Primary>f + Search + + + + + 1 + <Primary>question + Shortcut list + + + + + 1 + <Primary>q + Quit + + + + + + + 1 + Navigation + + + 1 + <Alt>Up + Select previous keyring + + + + + 1 + <Alt>Down + Select next keyring + + + + + 1 + <Alt>Left + Show sidebar (on small screens) + + + + + 1 + <Alt>Right + Show keyring contents (on small screens) + + + + + + + + diff --git a/data/icons/hicolor/22x22/apps/seahorse-key-personal.png b/data/icons/hicolor/22x22/apps/seahorse-key-personal.png new file mode 100644 index 00000000..a40301a4 Binary files /dev/null and b/data/icons/hicolor/22x22/apps/seahorse-key-personal.png differ diff --git a/data/icons/hicolor/22x22/apps/seahorse-key-ssh.png b/data/icons/hicolor/22x22/apps/seahorse-key-ssh.png new file mode 100644 index 00000000..82201f5f Binary files /dev/null and b/data/icons/hicolor/22x22/apps/seahorse-key-ssh.png differ diff --git a/data/icons/hicolor/22x22/apps/seahorse-key.png b/data/icons/hicolor/22x22/apps/seahorse-key.png new file mode 100644 index 00000000..e5e71b25 Binary files /dev/null and b/data/icons/hicolor/22x22/apps/seahorse-key.png differ diff --git a/data/icons/hicolor/22x22/status/seahorse-sign-bad.png b/data/icons/hicolor/22x22/status/seahorse-sign-bad.png new file mode 100644 index 00000000..b3483d7f Binary files /dev/null and b/data/icons/hicolor/22x22/status/seahorse-sign-bad.png differ diff --git a/data/icons/hicolor/22x22/status/seahorse-sign-ok.png b/data/icons/hicolor/22x22/status/seahorse-sign-ok.png new file mode 100644 index 00000000..77544d7d Binary files /dev/null and b/data/icons/hicolor/22x22/status/seahorse-sign-ok.png differ diff --git a/data/icons/hicolor/22x22/status/seahorse-sign.png b/data/icons/hicolor/22x22/status/seahorse-sign.png new file mode 100644 index 00000000..3374534d Binary files /dev/null and b/data/icons/hicolor/22x22/status/seahorse-sign.png differ diff --git a/data/icons/hicolor/48x48/apps/seahorse-key-personal.png b/data/icons/hicolor/48x48/apps/seahorse-key-personal.png new file mode 100644 index 00000000..f9552b57 Binary files /dev/null and b/data/icons/hicolor/48x48/apps/seahorse-key-personal.png differ diff --git a/data/icons/hicolor/48x48/apps/seahorse-key-ssh.png b/data/icons/hicolor/48x48/apps/seahorse-key-ssh.png new file mode 100644 index 00000000..f0dff8a4 Binary files /dev/null and b/data/icons/hicolor/48x48/apps/seahorse-key-ssh.png differ diff --git a/data/icons/hicolor/48x48/apps/seahorse-key.png b/data/icons/hicolor/48x48/apps/seahorse-key.png new file mode 100644 index 00000000..6388f52f Binary files /dev/null and b/data/icons/hicolor/48x48/apps/seahorse-key.png differ diff --git a/data/icons/hicolor/48x48/status/seahorse-sign-bad.png b/data/icons/hicolor/48x48/status/seahorse-sign-bad.png new file mode 100644 index 00000000..e002a4e5 Binary files /dev/null and b/data/icons/hicolor/48x48/status/seahorse-sign-bad.png differ diff --git a/data/icons/hicolor/48x48/status/seahorse-sign-ok.png b/data/icons/hicolor/48x48/status/seahorse-sign-ok.png new file mode 100644 index 00000000..0eec0b9b Binary files /dev/null and b/data/icons/hicolor/48x48/status/seahorse-sign-ok.png differ diff --git a/data/icons/hicolor/48x48/status/seahorse-sign-unknown.png b/data/icons/hicolor/48x48/status/seahorse-sign-unknown.png new file mode 100644 index 00000000..940e9758 Binary files /dev/null and b/data/icons/hicolor/48x48/status/seahorse-sign-unknown.png differ diff --git a/data/icons/hicolor/48x48/status/seahorse-sign.png b/data/icons/hicolor/48x48/status/seahorse-sign.png new file mode 100644 index 00000000..e6a26fe9 Binary files /dev/null and b/data/icons/hicolor/48x48/status/seahorse-sign.png differ diff --git a/data/icons/hicolor/scalable/apps/org.gnome.seahorse.Application.svg b/data/icons/hicolor/scalable/apps/org.gnome.seahorse.Application.svg new file mode 100644 index 00000000..9e70c2fd --- /dev/null +++ b/data/icons/hicolor/scalable/apps/org.gnome.seahorse.Application.svg @@ -0,0 +1,327 @@ + + + Adwaita Icon Template + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + GNOME Design Team + + + + + Adwaita Icon Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/icons/hicolor/scalable/apps/org.gnome.seahorse.ApplicationDevel.svg b/data/icons/hicolor/scalable/apps/org.gnome.seahorse.ApplicationDevel.svg new file mode 100644 index 00000000..10106c22 --- /dev/null +++ b/data/icons/hicolor/scalable/apps/org.gnome.seahorse.ApplicationDevel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/icons/hicolor/symbolic/apps/org.gnome.seahorse.Application-symbolic.svg b/data/icons/hicolor/symbolic/apps/org.gnome.seahorse.Application-symbolic.svg new file mode 100644 index 00000000..71fc6606 --- /dev/null +++ b/data/icons/hicolor/symbolic/apps/org.gnome.seahorse.Application-symbolic.svg @@ -0,0 +1,28 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + diff --git a/data/icons/meson.build b/data/icons/meson.build new file mode 100644 index 00000000..4cd06e55 --- /dev/null +++ b/data/icons/meson.build @@ -0,0 +1,44 @@ +icons_install_dir = get_option('datadir') / 'icons' + +# special case for symbolic +icon_subfolder = 'hicolor' / 'symbolic' / 'apps' +install_data(icon_subfolder / 'org.gnome.seahorse.Application-symbolic.svg', + install_dir: icons_install_dir / icon_subfolder, +) +icon_subfolder = 'hicolor' / 'scalable' / 'apps' +install_data(icon_subfolder / '@0@.svg'.format(application_id), + install_dir: icons_install_dir / icon_subfolder, +) + +# private icons +private_icons_install_dir = get_option('datadir') / meson.project_name() / 'icons' + +foreach size: [ 22, 48 ] + icon_size_str = '@0@x@0@'.format(size) + + # ..../apps + icon_subfolder = 'hicolor' / icon_size_str / 'apps' + foreach private_icon: [ 'key', 'key-personal', 'key-ssh' ] + install_data( + icon_subfolder / 'seahorse-@0@.png'.format(private_icon), + install_dir: private_icons_install_dir / icon_subfolder, + ) + endforeach + + # ..../status + icon_subfolder = 'hicolor' / icon_size_str / 'status' + + foreach private_icon: [ 'sign', 'sign-bad', 'sign-ok' ] + install_data( + icon_subfolder / 'seahorse-@0@.png'.format(private_icon), + install_dir: private_icons_install_dir / icon_subfolder, + ) + endforeach +endforeach + +# Only has a 48x48 version somehow +icon_subfolder = 'hicolor' / '48x48' / 'status' +install_data( + icon_subfolder / 'seahorse-sign-unknown.png', + install_dir: private_icons_install_dir / icon_subfolder, +) diff --git a/data/icons/svg/seahorse-key-22.svg b/data/icons/svg/seahorse-key-22.svg new file mode 100644 index 00000000..ede3395d --- /dev/null +++ b/data/icons/svg/seahorse-key-22.svg @@ -0,0 +1,357 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/icons/svg/seahorse-key-48.svg b/data/icons/svg/seahorse-key-48.svg new file mode 100644 index 00000000..19fd0eca --- /dev/null +++ b/data/icons/svg/seahorse-key-48.svg @@ -0,0 +1,377 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/icons/svg/seahorse-key-personal-22.svg b/data/icons/svg/seahorse-key-personal-22.svg new file mode 100644 index 00000000..62f8f90f --- /dev/null +++ b/data/icons/svg/seahorse-key-personal-22.svg @@ -0,0 +1,807 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/icons/svg/seahorse-key-personal-48.svg b/data/icons/svg/seahorse-key-personal-48.svg new file mode 100644 index 00000000..2b18f01f --- /dev/null +++ b/data/icons/svg/seahorse-key-personal-48.svg @@ -0,0 +1,757 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/icons/svg/seahorse-key-ssh-22.svg b/data/icons/svg/seahorse-key-ssh-22.svg new file mode 100644 index 00000000..cb85c257 --- /dev/null +++ b/data/icons/svg/seahorse-key-ssh-22.svg @@ -0,0 +1,1131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/icons/svg/seahorse-key-ssh-48.svg b/data/icons/svg/seahorse-key-ssh-48.svg new file mode 100644 index 00000000..8cdf7ed4 --- /dev/null +++ b/data/icons/svg/seahorse-key-ssh-48.svg @@ -0,0 +1,786 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/icons/svg/seahorse-sign-22.svg b/data/icons/svg/seahorse-sign-22.svg new file mode 100644 index 00000000..3c8e5bd1 --- /dev/null +++ b/data/icons/svg/seahorse-sign-22.svg @@ -0,0 +1,446 @@ + + + + + + image/svg+xml + + + + + + CertificateJakub Steinercertificate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/icons/svg/seahorse-sign-48.svg b/data/icons/svg/seahorse-sign-48.svg new file mode 100644 index 00000000..8351650d --- /dev/null +++ b/data/icons/svg/seahorse-sign-48.svg @@ -0,0 +1,441 @@ + + + + + + image/svg+xml + + + + + + CertificateJakub Steinercertificate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/icons/svg/seahorse-sign-bad-22.svg b/data/icons/svg/seahorse-sign-bad-22.svg new file mode 100644 index 00000000..c51d5e40 --- /dev/null +++ b/data/icons/svg/seahorse-sign-bad-22.svg @@ -0,0 +1,588 @@ + + + + + + image/svg+xml + + + + + + CertificateJakub Steinercertificate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/icons/svg/seahorse-sign-bad-48.svg b/data/icons/svg/seahorse-sign-bad-48.svg new file mode 100644 index 00000000..feddf3fd --- /dev/null +++ b/data/icons/svg/seahorse-sign-bad-48.svg @@ -0,0 +1,599 @@ + + + + + + image/svg+xml + + + + + + CertificateJakub Steinercertificate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/icons/svg/seahorse-sign-ok-22.svg b/data/icons/svg/seahorse-sign-ok-22.svg new file mode 100644 index 00000000..79dd8b4a --- /dev/null +++ b/data/icons/svg/seahorse-sign-ok-22.svg @@ -0,0 +1,751 @@ + + + + + + image/svg+xml + + + + + + CertificateJakub Steinercertificate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/icons/svg/seahorse-sign-ok-48.svg b/data/icons/svg/seahorse-sign-ok-48.svg new file mode 100644 index 00000000..ed71f9b9 --- /dev/null +++ b/data/icons/svg/seahorse-sign-ok-48.svg @@ -0,0 +1,757 @@ + + + + + + image/svg+xml + + + + + + CertificateJakub Steinercertificate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/icons/svg/seahorse-sign-unknown-48.svg b/data/icons/svg/seahorse-sign-unknown-48.svg new file mode 100644 index 00000000..b5fc7394 --- /dev/null +++ b/data/icons/svg/seahorse-sign-unknown-48.svg @@ -0,0 +1,1289 @@ + + + + + + image/svg+xml + + + + + + CertificateJakub Steinercertificate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/data/meson.build b/data/meson.build new file mode 100644 index 00000000..beb49240 --- /dev/null +++ b/data/meson.build @@ -0,0 +1,105 @@ +subdir('icons') + +# GSettings +gsettings_files = [ + 'org.gnome.seahorse.gschema.xml', + 'org.gnome.seahorse.manager.gschema.xml', + 'org.gnome.seahorse.window.gschema.xml', +] +install_data(gsettings_files, + install_dir: get_option('datadir') / 'glib-2.0' / 'schemas', +) + +# Resources +resources_xml = meson.source_root() / 'data' / 'seahorse.gresource.xml' +resources_src = gnome.compile_resources('seahorse-resources', + resources_xml, +) + +# The appdata file +appdata_file = i18n.merge_file( + input: 'org.gnome.seahorse.Application.appdata.xml.in', + output: '@0@.appdata.xml'.format(application_id), + type: 'xml', + po_dir: po_dir, + install: true, + install_dir: get_option('datadir') / 'metainfo', +) + +appstream_util = find_program('appstream-util', required: false) +if appstream_util.found() + test('validate-appdata', appstream_util, + suite: 'data', + args: [ + 'validate-relax', '--nonet', appdata_file.full_path() + ] + ) +endif + +# The desktop file +desktop_file = i18n.merge_file( + input: configure_file( + input: 'org.gnome.seahorse.Application.desktop.in.in', + output: '@BASENAME@', + configuration: { + 'bindir': seahorse_prefix / get_option('bindir'), + 'icon': application_id, + }, + ), + output: '@0@.desktop'.format(application_id), + type: 'desktop', + po_dir: po_dir, + install: true, + install_dir: get_option('datadir') / 'applications', +) + +desktop_file_validate = find_program ('desktop-file-validate', required: false) +if desktop_file_validate.found() + test('validate-desktop', + desktop_file_validate, + suite: 'data', + args: [ + desktop_file.full_path() + ] + ) +endif + +# The service file +configure_file( + input: 'org.gnome.seahorse.Application.service.in', + output: '@0@.service'.format(application_id), + configuration: { + 'bindir': seahorse_prefix / get_option('bindir'), + 'application_id': application_id, + }, + install_dir: get_option('datadir') / 'dbus-1' / 'services', +) + +# The search provider +install_data( + 'seahorse-search-provider.ini', + install_dir: get_option('datadir') / 'gnome-shell' / 'search-providers', +) + +# manpage +if get_option('manpage') + xsltproc = find_program('xsltproc') + custom_target('manfile-seahorse', + input: 'seahorse.xml', + output: 'seahorse.1', + install: true, + install_dir: get_option('mandir') / 'man1', + command: [ + xsltproc, + '--nonet', + '--stringparam', 'man.output.quietly', '1', + '--stringparam', 'funcsynopsis.style', 'ansi', + '--stringparam', 'man.th.extra1.suppress', '1', + '--stringparam', 'man.authors.section.enabled', '0', + '--stringparam', 'man.copyright.section.enabled', '0', + '-o', '@OUTPUT@', + 'http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl', + '@INPUT@' + ] + ) +endif diff --git a/data/org.gnome.seahorse.Application.appdata.xml.in b/data/org.gnome.seahorse.Application.appdata.xml.in new file mode 100644 index 00000000..f10d2a81 --- /dev/null +++ b/data/org.gnome.seahorse.Application.appdata.xml.in @@ -0,0 +1,160 @@ + + + org.gnome.seahorse.Application + CC0-1.0 + GPL-2.0+ and LGPL-2.0+ + Seahorse + Manage your passwords and encryption keys + +

+ Seahorse is a GNOME application for managing encryption keys. +

+

+ With seahorse you can create and manage PGP keys, create and manage SSH keys, + publish and retrieve keys from key servers, cache your passphrase so you + don’t have to keep typing it and backup your keys and keyring. +

+
+ + + https://wiki.gnome.org/Apps/Seahorse?action=AttachFile&do=get&target=seahorse-screenshot.png + + + + + +

+ Version 3.38.0.1 is a small bugfix release to fix building the app + for several setups. +

+
+
+ + +

+ Version 3.38 is the next stable release after 3.36, with the + following major improvements: +

+
    +
  • Right-clicking on a password new has a option to copy it
  • +
  • + Allowing specific SSH keys for remote access was broken for quite + some time, but has now been fixed +
  • +
  • Virtual keyboards will better support several input fields
  • +
  • New keyboard shortcuts using <Alt> and arrow keys
  • +
  • +
  • Several bugfixes
  • +
+

This release also updates translations in several languages.

+
+
+ + +

+ Version 3.36 is the next stable release after 3.34, with the + following major improvements: +

+
    +
  • + UI improvements to the main window: better fitted to deal with + smaller screens, as well as better feedback when iterating over + the list +
  • +
  • + The sidebar now groups in the more logical "Passwords", "Keys" and + "Certificates" categories +
  • +
  • + Consistent with other GNOME apps, we now have a separate window for + our keyboard shortcuts +
  • +
  • Removed the usage of short key IDs for PGP keys
  • +
  • + Add the possibility to show and copy the public key of an SSH key +
  • +
  • + When showing passwords in the main list, we do a best effort to + also display the username +
  • +
  • Several bugfixes
  • +
+

This release also updates translations in several languages.

+
+
+ + +

+ Version 3.34 is the next stable release after 3.32, with the + following major improvements: +

+
    +
  • Following the GNOME UX with type-to-search
  • +
  • Allow passing files that should be imported as argument
  • +
  • Fix a segfault when syncing to HKP server
  • +
  • Fix a use-after-free the password dialog
  • +
  • Fix build for some GPG versions
  • +
  • Several Flatpak build fixes
  • +
+

This release also updates translations in several languages.

+
+
+ + +

+ Version 3.32 is the first stable release since 3.30, with the + following major improvements: +

+
    +
  • A new and contemporary icon
  • +
  • Cleanup of the interface with a headerbar
  • +
  • Added an empty state placeholder
  • +
  • Passwords filled in GNOME Web show the website and username
  • +
  • User-specific Wi-Fi Passwords are now recognized
  • +
  • Passwords from Chrome are now more often properly recognized
  • +
  • Application-specific passwords now show the application logo if available
  • +
  • When entering a new password, an indicator shows its strength
  • +
  • Property dialogs for passwords and keys have undergone a cleanup
  • +
+

This release also updates translations in several languages.

+
+
+ + +

+ Version 3.30 is the first stable release since 3.20, with the + following major improvements: +

+
    +
  • SSH: Added support for ED25519 and ECDSA keys
  • +
  • SSH: different key length options given the encryption type
  • +
  • GPG: give a hint when a name is too short for a key
  • +
  • GKR: ask for confirmation when changing a password
  • +
  • GKR: fix segfault when changing default keyring password
  • +
  • Fixed multi-selection of keys
  • +
  • Small tweaks to modernize the UI
  • +
  • Got rid of several deprecated GTK+ widgets
  • +
  • Moved to Meson as build system
  • +
  • Migrated to GitLab and added CI with Flatpak
  • +
+

This release also updates translations in several languages.

+
+
+
+ + + seahorse + + https://wiki.gnome.org/Apps/Seahorse + https://gitlab.gnome.org/GNOME/seahorse/issues + http://www.gnome.org/friends/ + https://help.gnome.org/users/seahorse/stable/ + nielsdegraef@gmail.com + GNOME + The GNOME Project + org.gnome.seahorse.Application.desktop + seahorse + + intense + +
diff --git a/data/org.gnome.seahorse.Application.desktop.in.in b/data/org.gnome.seahorse.Application.desktop.in.in new file mode 100644 index 00000000..1f9a7311 --- /dev/null +++ b/data/org.gnome.seahorse.Application.desktop.in.in @@ -0,0 +1,13 @@ +[Desktop Entry] +Name=Passwords and Keys +Comment=Manage your passwords and encryption keys +# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +Keywords=keyring;encryption;security;sign;ssh; +Exec=seahorse +Terminal=false +Type=Application +# Translators: Do NOT translate or transliterate this text (this is an icon file name)! +Icon=@icon@ +Categories=GNOME;GTK;Security;Utility;DesktopSettings;X-XFCE-SettingsDialog; +StartupNotify=true +DBusActivatable=true diff --git a/data/org.gnome.seahorse.Application.service.in b/data/org.gnome.seahorse.Application.service.in new file mode 100644 index 00000000..11a0f5c2 --- /dev/null +++ b/data/org.gnome.seahorse.Application.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=@application_id@ +Exec=@bindir@/seahorse --gapplication-service diff --git a/data/org.gnome.seahorse.gschema.xml b/data/org.gnome.seahorse.gschema.xml new file mode 100644 index 00000000..143f10b6 --- /dev/null +++ b/data/org.gnome.seahorse.gschema.xml @@ -0,0 +1,29 @@ + + + + false + Auto retrieve keys + Whether or not keys should be automatically retrieved from key servers. + + + false + Auto publish keys + Whether or not modified keys should be automatically published. + + + '' + Publish keys to this key server + The key server to publish PGP keys to. Or empty to suppress publishing of PGP keys. + + + '' + Last key server search pattern + The last search pattern searched for against a key server. + + + [] + Last key servers used + The last key server a search was performed against or empty for all key servers. + + + diff --git a/data/org.gnome.seahorse.manager.gschema.xml b/data/org.gnome.seahorse.manager.gschema.xml new file mode 100644 index 00000000..305a342f --- /dev/null +++ b/data/org.gnome.seahorse.manager.gschema.xml @@ -0,0 +1,53 @@ + + + + true + Show keyrings sidebar + Show keyrings sidebar in Seahorse. + + + "personal" + Which items to show + Filter which items to show. If empty, show all items, if + “personal” show personal keys, if “trusted” show trusted. + + + 148 + Width of the side pane + The default width of the side pane. + + + ["secret-service://login"] + The keyrings chosen + The URIs of the keyrings chosen in the sidebar. + + + + + + 'name' + The column to sort the Seahorse keys by + Specify the column to sort the Seahorse key manager main window by. Columns are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in front of the column name to sort in descending order. + + + false + Show validity column + No longer in use. + + + false + Show expiry column + No longer in use. + + + false + Show trust column + No longer in use. + + + false + Show type column + No longer in use. + + + diff --git a/data/org.gnome.seahorse.window.gschema.xml b/data/org.gnome.seahorse.window.gschema.xml new file mode 100644 index 00000000..8dd77064 --- /dev/null +++ b/data/org.gnome.seahorse.window.gschema.xml @@ -0,0 +1,14 @@ + + + + -1 + Width of the window + Width (in pixels) of the window. + + + -1 + Height of the window + Height (in pixels) of the window. + + + diff --git a/data/seahorse-search-provider.ini b/data/seahorse-search-provider.ini new file mode 100644 index 00000000..87c9c3c8 --- /dev/null +++ b/data/seahorse-search-provider.ini @@ -0,0 +1,5 @@ +[Shell Search Provider] +DesktopId=org.gnome.seahorse.Application.desktop +BusName=org.gnome.seahorse.Application +ObjectPath=/org/gnome/seahorse/Application +Version=2 diff --git a/data/seahorse.gresource.xml b/data/seahorse.gresource.xml new file mode 100644 index 00000000..7c9ac10d --- /dev/null +++ b/data/seahorse.gresource.xml @@ -0,0 +1,48 @@ + + + + ../libseahorse/seahorse.css + + ../libseahorse/seahorse-progress.ui + + + ../common/seahorse-add-keyserver.ui + ../common/seahorse-prefs.ui + + + ../src/seahorse-change-passphrase.ui + ../src/seahorse-key-manager-widgets.ui + ../src/seahorse-key-manager.ui + gtk/help-overlay.ui + + + ../gkr/seahorse-gkr-add-item.ui + ../gkr/seahorse-gkr-add-keyring.ui + ../gkr/seahorse-gkr-item-properties.ui + ../gkr/seahorse-gkr-keyring.ui + + + ../ssh/seahorse-ssh-generate.ui + ../ssh/seahorse-ssh-key-properties.ui + ../ssh/seahorse-ssh-upload.ui + + + ../pgp/seahorse-gpgme-add-subkey.ui + ../pgp/seahorse-gpgme-add-uid.ui + ../pgp/seahorse-gpgme-expires-dialog.ui + ../pgp/seahorse-gpgme-generate-dialog.ui + ../pgp/seahorse-gpgme-sign-dialog.ui + ../pgp/seahorse-keyserver-results.ui + ../pgp/seahorse-keyserver-search.ui + ../pgp/seahorse-keyserver-sync.ui + ../pgp/seahorse-pgp-private-key-properties.ui + ../pgp/seahorse-pgp-public-key-properties.ui + ../pgp/seahorse-revoke.ui + ../pgp/seahorse-signer.ui + + + ../pkcs11/seahorse-pkcs11-generate.ui + ../pkcs11/seahorse-pkcs11-properties.ui + ../pkcs11/seahorse-pkcs11-request.ui + + diff --git a/data/seahorse.xml b/data/seahorse.xml new file mode 100644 index 00000000..81648661 --- /dev/null +++ b/data/seahorse.xml @@ -0,0 +1,104 @@ + + + + + + + seahorse + GNOME + + + + Maintainer + Niels + De Graef + nielsdegraef@gmail.com + + + + + + seahorse + 1 + User Commands + + + + seahorse + Passwords and Keys + + + + + seahorse + OPTIONS + FILES + + + + Description + + Seahorse is a graphical interface for managing and using encryption keys, + passwords and certificates. Currently it supports PGP keys (using + GPG/GPGME) and SSH keys. Its goal is to provide an easy to use Key + Management Tool, along with an easy to use interface for encryption + operations. + + + + Options + + + , + + + Prints a short help text and exits. + + + + + + + + Show all help options + + + + + + + + Show all GTK options + + + + + + Application options + + + , + + + Version of this application + + + + + + + + X display to use + + + + + + Bugs + + If you find a bug, please report it at https://gitlab.gnome.org/GNOME/seahorse/issues/new. + + + + diff --git a/gkr/gkr-backend.vala b/gkr/gkr-backend.vala new file mode 100644 index 00000000..6f9b3fa5 --- /dev/null +++ b/gkr/gkr-backend.vala @@ -0,0 +1,306 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see . + */ + +namespace Seahorse { +namespace Gkr { + +private class MyService : Secret.Service { + public override GLib.Type get_collection_gtype() { + return typeof(Keyring); + } + + public override GLib.Type get_item_gtype() { + return typeof(Item); + } +} + +public class Backend: GLib.Object , Gcr.Collection, Seahorse.Backend { + public string name { + get { return NAME; } + } + + public string label { + get { return _("Passwords"); } + } + + public string description { + get { return _("Stored personal passwords, credentials and secrets"); } + } + + public ActionGroup actions { + owned get { return this._actions; } + } + + public GLib.HashTable aliases { + get { return this._aliases; } + } + + private bool _loaded; + public bool loaded { + get { return this._loaded; } + } + + public Secret.Service? service { + get { return this._service; } + } + + private static Backend? _instance = null; + private Secret.Service _service; + private GLib.HashTable _keyrings; + private GLib.HashTable _aliases; + private ActionGroup _actions; + + construct { + return_val_if_fail(_instance == null, null); + Backend._instance = this; + + this._actions = BackendActions.instance(this); + this._keyrings = new GLib.HashTable(GLib.str_hash, GLib.str_equal); + this._aliases = new GLib.HashTable(GLib.str_hash, GLib.str_equal); + + Secret.Service.open.begin(typeof(MyService), null, + Secret.ServiceFlags.OPEN_SESSION, null, (obj, res) => { + try { + this._service = Secret.Service.open.end(res); + this._service.notify["collections"].connect((obj, pspec) => { + refresh_collections(); + }); + this._service.load_collections.begin(null, (obj, res) => { + try { + this._service.load_collections.end(res); + refresh_collections(); + } catch (GLib.Error e) { + warning("couldn't load all secret collections: %s", e.message); + } + }); + refresh_aliases(); + } catch (GLib.Error err) { + GLib.warning("couldn't connect to secret service: %s", err.message); + } + notify_property("service"); + }); + } + + public override void dispose() { + this._aliases.remove_all(); + this._keyrings.remove_all(); + base.dispose(); + } + + public void refresh_collections() { + var seen = new GLib.GenericSet(GLib.str_hash, GLib.str_equal); + var keyrings = this._service.get_collections(); + + string object_path; + foreach (var keyring in keyrings) { + object_path = keyring.get_object_path(); + + /* Don't list the session keyring */ + if (this._aliases.lookup("session") == object_path) + continue; + + var uri = "secret-service://%s".printf(object_path); + seen.add(uri); + if (this._keyrings.lookup(uri) == null) { + this._keyrings.insert(uri, (Keyring)keyring); + emit_added(keyring); + } + } + + /* Remove any that we didn't find */ + var iter = GLib.HashTableIter(this._keyrings); + string uri; + while (iter.next(out uri, null)) { + if (!seen.contains(uri)) { + var keyring = this._keyrings.lookup(uri); + iter.remove(); + emit_removed(keyring); + } + } + + if (!_loaded) { + _loaded = true; + notify_property("loaded"); + } + } + + public uint get_length() { + return this._keyrings.size(); + } + + public GLib.List get_objects() { + return get_keyrings(); + } + + public bool contains(GLib.Object object) { + var keyring = object as Gkr.Keyring; + if (keyring == null) + return false; + + return this._keyrings.lookup(keyring.uri) == keyring; + } + + public Place? lookup_place(string uri) { + return this._keyrings.lookup(uri); + } + + public static void initialize() { + return_if_fail(Backend._instance == null); + (new Backend()).register(); + return_if_fail(Backend._instance != null); + } + + public static Backend instance() { + return_val_if_fail(Backend._instance != null, null); + return Backend._instance; + } + + public GLib.List get_keyrings() { + return this._keyrings.get_values(); + } + + private async void read_alias(string name) { + if (this._service == null) + return; + + try { + var object_path = this._service.read_alias_dbus_path_sync(name); + if (object_path != null) { + this._aliases[name] = object_path; + notify_property("aliases"); + } + } catch (GLib.Error err) { + warning("Couldn't read secret service alias %s: %s", name, err.message); + } + } + + private void refresh_aliases() { + read_alias.begin ("default"); + read_alias.begin ("session"); + read_alias.begin ("login"); + } + + public void refresh() { + refresh_aliases(); + refresh_collections(); + } + public bool has_alias(string alias, + Keyring keyring) { + string object_path = keyring.get_object_path(); + return this._aliases.lookup(alias) == object_path; + } +} + +public class BackendActions : Seahorse.ActionGroup { + public Backend backend { construct; get; } + private static WeakRef _instance; + private bool _initialized; + + private const ActionEntry[] BACKEND_ACTIONS = { + { "keyring-new", on_new_keyring }, + { "keyring-item-new", on_new_item }, + { "copy-secret", on_copy_secret }, + }; + + construct { + this._initialized = false; + + this.backend.notify.connect_after((pspec) => { + if (pspec.name == "service") + return; + if (this._initialized) + return; + if (this.backend.service == null) + return; + + this._initialized = true; + add_action_entries(BACKEND_ACTIONS, this); + }); + + this.backend.notify_property("service"); + } + + private BackendActions(Backend backend) { + GLib.Object( + prefix: "gkr", + backend: backend + ); + } + + private void on_new_keyring(SimpleAction action, Variant? param) { + var dialog = new KeyringAdd(this.catalog); + + int response = dialog.run(); + if (response == Gtk.ResponseType.ACCEPT) + this.catalog.activate_action("focus-place", "secret-service"); + dialog.destroy(); + } + + private void on_new_item(SimpleAction action, Variant? param) { + var dialog = new ItemAdd(this.catalog); + + int response = dialog.run(); + if (response == Gtk.ResponseType.ACCEPT) + this.catalog.activate_action("focus-place", "secret-service"); + dialog.destroy(); + } + + private void on_copy_secret(SimpleAction action, Variant? param) { + return_if_fail (this.catalog != null); + + var selected = this.catalog.get_selected_objects(); + // We checked for this in set_actions_for_selected_objects() + return_if_fail (selected.length() == 1); + + var selected_item = selected.data as Gkr.Item; + return_if_fail (selected_item != null); + + var clipboard = Gtk.Clipboard.get_default(this.catalog.get_display()); + selected_item.copy_secret_to_clipboard.begin(clipboard, (obj, res) => { + try { + selected_item.copy_secret_to_clipboard.end(res); + } catch (GLib.Error e) { + Util.show_error(this.catalog, "Couldn't copy secret", e.message); + } + }); + } + + public override void set_actions_for_selected_objects(List objects) { + // Allow "copy secret" if there is only 1 Gkr.Item selected + bool can_copy_secret = false; + + if (objects.length() == 1) { + can_copy_secret = objects.data is Gkr.Item; + } + + ((SimpleAction) lookup_action("copy-secret")).set_enabled(can_copy_secret); + } + + public static ActionGroup instance(Backend backend) { + BackendActions? actions = (BackendActions?)_instance.get(); + if (actions != null) + return actions; + actions = new BackendActions(backend); + _instance.set(actions); + return actions; + } +} + +} +} diff --git a/gkr/gkr-dialogs.vala b/gkr/gkr-dialogs.vala new file mode 100644 index 00000000..d70f41b0 --- /dev/null +++ b/gkr/gkr-dialogs.vala @@ -0,0 +1,83 @@ +/* + * Seahorse + * + * Copyright (C) 2009 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see . + */ + +namespace Seahorse { +namespace Gkr { + +public class Dialog { + + private static void update_wait_cursor(Gtk.Widget widget) { + GLib.Cancellable? cancellable = widget.get_data("gkr-request"); + + /* No request active? */ + if (cancellable == null) { + widget.get_window().set_cursor(null); + return; + } + + /* + * Get the wait cursor. Create a new one and cache it on the widget + * if first time. + */ + Gdk.Cursor? cursor = widget.get_data("wait-cursor"); + if (cursor == null) { + cursor = new Gdk.Cursor.from_name (Gdk.Display.get_default(), "wait"); + widget.set_data("wait-cursor", cursor); + } + + /* Indicate that we're loading stuff */ + widget.get_window().set_cursor(cursor); + } + + public static GLib.Cancellable begin_request(Gtk.Widget dialog) { + /* Cancel any old operation going on */ + complete_request (dialog, true); + + /* + * Start the operation and tie it to the widget so that it will get + * cancelled if the widget is destroyed before the operation is complete + */ + var cancellable = new GLib.Cancellable (); + dialog.set_data_full ("gkr-request", cancellable.ref(), (data) => { + GLib.Cancellable? c = (GLib.Cancellable?)data; + c.cancel(); + c.unref(); + }); + + if (dialog.get_realized()) + update_wait_cursor (dialog); + else + dialog.realize.connect(update_wait_cursor); + + dialog.set_sensitive(false); + return cancellable; + } + + public static void complete_request(Gtk.Widget dialog, bool cancel) { + GLib.Cancellable? cancellable = dialog.steal_data ("gkr-request"); + if (cancellable != null && cancel) + cancellable.cancel(); + if (dialog.get_realized()) + update_wait_cursor (dialog); + dialog.set_sensitive(true); + } +} + +} +} diff --git a/gkr/gkr-item-add.vala b/gkr/gkr-item-add.vala new file mode 100644 index 00000000..9e2532b0 --- /dev/null +++ b/gkr/gkr-item-add.vala @@ -0,0 +1,141 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2018 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +[GtkTemplate (ui = "/org/gnome/Seahorse/seahorse-gkr-add-item.ui")] +public class Seahorse.Gkr.ItemAdd : Gtk.Dialog { + [GtkChild] + private Gtk.ComboBox item_keyring_combo; + [GtkChild] + private Gtk.Container password_area; + private Gtk.Entry password_entry; + [GtkChild] + private Gtk.Entry item_entry; + [GtkChild] + private Gtk.LevelBar password_strength_bar; + [GtkChild] + private Gtk.Image password_strength_icon; + + private PasswordQuality.Settings pwquality = new PasswordQuality.Settings(); + + construct { + // Load up a list of all the keyrings, and select the default + var store = new Gtk.ListStore(2, typeof(string), typeof(Secret.Collection)); + this.item_keyring_combo.set_model(store); + + var cell = new Gtk.CellRendererText(); + this.item_keyring_combo.pack_start(cell, true); + this.item_keyring_combo.add_attribute(cell, "text", 0); + + foreach (var keyring in Backend.instance().get_keyrings()) { + Gtk.TreeIter iter; + store.append(out iter); + store.set(iter, 0, keyring.label, + 1, keyring); + if (keyring.is_default) + this.item_keyring_combo.set_active_iter(iter); + } + + set_response_sensitive(Gtk.ResponseType.ACCEPT, false); + + this.password_entry = new PasswordEntry(); + this.password_entry.visibility = false; + this.password_entry.changed.connect(on_password_entry_changed); + this.password_area.add(this.password_entry); + this.password_entry.show(); + } + + public ItemAdd(Gtk.Window? parent) { + GLib.Object( + transient_for: parent, + use_header_bar: 1 + ); + } + + [GtkCallback] + private void on_add_item_entry_changed (Gtk.Editable entry) { + set_response_sensitive(Gtk.ResponseType.ACCEPT, this.item_entry.text != ""); + } + + private void on_password_entry_changed (Gtk.Editable entry) { + void* auxerr; + int score = this.pwquality.check(entry.get_chars(), null, null, out auxerr); + + if (score < 0) { + PasswordQuality.Error err = ((PasswordQuality.Error) score); + this.password_strength_icon.tooltip_text = dgettext("libpwquality", err.to_string(auxerr)); + this.password_strength_icon.show(); + } else { + this.password_strength_icon.hide(); + } + + this.password_strength_bar.value = ((score / 25) + 1).clamp(1, 5); + } + + public override void response(int resp) { + if (resp != Gtk.ResponseType.ACCEPT) + return; + + Gtk.TreeIter iter; + if (!this.item_keyring_combo.get_active_iter(out iter)) + return; + + Secret.Collection collection; + this.item_keyring_combo.model.get(iter, 1, out collection, -1); + + var keyring = (Keyring) collection; + var cancellable = new Cancellable(); + var interaction = new Interaction(this); + var item_buffer = this.item_entry.buffer; + var secret_buffer = this.password_entry.buffer; + + keyring.unlock.begin(interaction, cancellable, (obj, res) => { + try { + if (keyring.unlock.end(res)) { + create_secret(item_buffer, secret_buffer, collection); + } + } catch (Error e) { + Util.show_error(this, _("Couldn’t unlock"), e.message); + } + }); + } + + private void create_secret(Gtk.EntryBuffer item_buffer, + Gtk.EntryBuffer secret_buffer, + Secret.Collection collection) { + var secret = new Secret.Value(secret_buffer.text, -1, "text/plain"); + var cancellable = Dialog.begin_request(this); + var attributes = new HashTable(GLib.str_hash, GLib.str_equal); + + /* TODO: Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=697681 */ + var schema = new Secret.Schema("org.gnome.keyring.Note", Secret.SchemaFlags.NONE); + + Secret.Item.create.begin(collection, schema, attributes, + item_buffer.text, secret, Secret.ItemCreateFlags.NONE, + cancellable, (obj, res) => { + try { + /* Clear the operation without cancelling it since it is complete */ + Dialog.complete_request(this, false); + + Secret.Item.create.end(res); + } catch (GLib.Error err) { + Util.show_error(this, _("Couldn’t add item"), err.message); + } + }); + } +} diff --git a/gkr/gkr-item-info.vala b/gkr/gkr-item-info.vala new file mode 100644 index 00000000..62cfdcf8 --- /dev/null +++ b/gkr/gkr-item-info.vala @@ -0,0 +1,365 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2020 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +namespace Seahorse.Gkr { + +/** + * The generic base class that holds extra info for a {@link Gkr.Item}. + */ +public class ItemInfo : GLib.Object { + + public string label { get; protected set; default = ""; } + + public string description { get; protected set; default = _("Password or Secret"); } + + public string details { get; protected set; default = ""; } + + public GLib.Icon? icon { get; protected set; } + + public ItemInfo(string? label, + HashTable? attrs, + string? description = null) { + GLib.Object(label: label); + + if (label != null) + this.label = label; + + if (description != null) + this.description = description; + + this.details = guess_username(attrs); + } + + private unowned string? guess_username(HashTable? attrs) { + unowned string? username; + + if (attrs == null || this.details != "") + return this.details; + + username = attrs.lookup("username"); + if (username != null && username != "") + return username; + + username = attrs.lookup("user"); + if (username != null && username != "") + return username; + + // Used by e.g. fractal + username = attrs.lookup("uid"); + if (username != null && username != "") + return username; + + // Used by e.g. Geary + username = attrs.lookup("login"); + if (username != null && username != "") + return username; + + // Used by e.g. Skype + username = attrs.lookup("account"); + if (username != null && username != "") + return username; + + return null; + } + + public void query_installed_apps(string item_type) { + DesktopAppInfo? app_info = new DesktopAppInfo("%s.desktop".printf(item_type)); + if (app_info == null) + return; + + this.icon = app_info.get_icon(); + } + + // Hlper methods to get attributes + protected unowned string? get_attribute_string(HashTable? attrs, + string name) { + if (attrs == null) + return null; + return attrs.lookup(name); + } + + protected int get_attribute_int(HashTable? attrs, + string name) { + if (attrs == null) + return 0; + + var value = attrs.lookup(name); + if (value != null) + return int.parse(value); + + return 0; + } +} + +/** + * Used for NetworkManager connections, with xdg:schema + * "org.freedesktop.NetworkManager.Connection" + */ +public class NmConnectionInfo : ItemInfo { + + public NmConnectionInfo(string label, HashTable? attrs) { + GLib.Object(label: label, + icon: new ThemedIcon("network-wired-symbolic"), + description: _("Network connection secret")); + + unowned string? setting_name = get_attribute_string(attrs, + "setting-name"); + + if (setting_name == "802-11-wireless-security") { + this.icon = new ThemedIcon("network-wireless-symbolic"); + this.description = _("Wi-Fi password"); + } + + // TODO: are we sure this isn't translated by NM? + if (label.has_prefix("Network secret for ")) { + this.label = this.label.substring("Network secret for ".length); + } + } +} + +/** + * Used for entries in gnome-keyring with xdg:schema + * "org.gnome.keyring.NetworkPassword" + */ +public class GkrNetworkPassInfo : ItemInfo { + + public GkrNetworkPassInfo(string label, HashTable? attrs) { + GLib.Object(label: label, + description: _("Network password")); + + unowned string? server = get_attribute_string(attrs, "server"); + unowned string? protocol = get_attribute_string(attrs, "protocol"); + unowned string? object = get_attribute_string(attrs, "object"); + unowned string? user = get_attribute_string(attrs, "user"); + var port = get_attribute_int (attrs, "port"); + + if (protocol == null) + return; + + /* If it's customized by the application or user then display that */ + if (!is_custom_network_label (server, user, object, port, label)) + this.label = calc_network_label (attrs, true); + else + this.label = label; + + unowned string symbol = "@"; + if (user == null) { + user = ""; + symbol = ""; + } + + if (object == null) + object = ""; + + if (server != null && protocol != null) { + this.details = GLib.Markup.printf_escaped("%s://%s%s%s/%s", + protocol, user, symbol, + server, object); + } + } + + /* For network passwords gnome-keyring generates in a funky looking display + * name that's generated from login credentials. We simulate that generating + * here and return FALSE if it matches. This allows us to display user + * customized display names and ignore the generated ones. */ + private bool is_custom_network_label(string? server, + string? user, + string? object, + int port, + string? label) { + + if (server == null) + return true; + + var generated = new GLib.StringBuilder(""); + if (user != null) + generated.append_printf("%s@", user); + generated.append(server); + if (port != 0) + generated.append_printf(":%d", port); + if (object != null) + generated.append_printf ("/%s", object); + + return (generated.str == label); + } + + private string? calc_network_label(HashTable? attrs, + bool always) { + /* HTTP usually has a the realm as the "object" display that */ + if (is_network_item (attrs, "http") && attrs != null) { + unowned string? val = get_attribute_string(attrs, "object"); + if (val != null && val != "") + return val; + + /* Display the server name as a last resort */ + if (always) { + val = get_attribute_string(attrs, "server"); + if (val != null && val != "") + return val; + } + } + + return null; + } + + private bool is_network_item(HashTable? attrs, + string match) { + unowned string? protocol = get_attribute_string(attrs, "protocol"); + return protocol != null && protocol.ascii_casecmp(match) == 0; + } +} + +/** Used for GNOME Web (epiphany) passwordss */ +public class EpiphanyPassInfo : ItemInfo { + + public EpiphanyPassInfo(string label, HashTable? attrs) { + GLib.Object(label: label, + description: _("GNOME Web password")); + + // Set the Epiphany icon + query_installed_apps("org.gnome.Epiphany"); + + unowned string? uri = get_attribute_string(attrs, "uri"); + if (uri != null) + this.label = uri; + + unowned string? username = get_attribute_string(attrs, "username"); + if (username != null) + this.details = Markup.escape_text(username); + } +} + +/** Used for passwords saved in Chrome/Chromium */ +public class ChromePassInfo : ItemInfo { + + public ChromePassInfo(string label, HashTable? attrs) { + GLib.Object(label: label, + description: _("Google Chrome password")); + + + unowned string? origin = get_attribute_string(attrs, "origin_url"); + /* A brain dead url, parse */ + if (label != null && label == origin) { + try { + var regex = new GLib.Regex("[a-z]+://([^/]+)/", GLib.RegexCompileFlags.CASELESS, 0); + GLib.MatchInfo match; + if (regex.match(label, GLib.RegexMatchFlags.ANCHORED, out match)) { + if (match.matches()) + this.label = match.fetch(1); + } + } catch (GLib.RegexError err) { + GLib.critical("%s", err.message); + return; + } + + } + + if (this.label == "") + this.label = label; + if (origin != null) + this.details = GLib.Markup.escape_text(origin); + else + this.details = ""; + } +} + +/** Used for Empathy */ +public class EmpathyInfo : ItemInfo { + + public EmpathyInfo(string label, HashTable? attrs) { + GLib.Object(label: label, + description: _("Instant messaging password")); + + unowned string? account = get_attribute_string(attrs, "account-id"); + + /* Translators: This should be the same as the string in empathy */ + unowned string prefix = _("IM account password for "); + + if (label != null && label.has_prefix(prefix)) { + var len = prefix.length; + var pos = label.index_of_char ('(', (int)len); + if (pos != -1) + this.label = label.slice(len, pos); + + try { + var regex = new GLib.Regex("^.+/.+/(.+)$", GLib.RegexCompileFlags.CASELESS, 0); + GLib.MatchInfo match; + if (regex.match(account, GLib.RegexMatchFlags.ANCHORED, out match)) { + if (match.matches()) + this.details = TelepathyInfo.decode_id(match.fetch(1)); + } + } catch (GLib.RegexError err) { + GLib.critical("%s", err.message); + return; + } + } + + if (this.label == "") + this.label = label; + if (this.details == null) + this.details = GLib.Markup.escape_text (account); + } +} + +/** Used for Telepathy */ +public class TelepathyInfo : ItemInfo { + + public TelepathyInfo(string label, HashTable? attrs) { + GLib.Object(label: label, + description: _("Telepathy password")); + + unowned string? account = get_attribute_string (attrs, "account"); + if (account != null && label != null && label.index_of(account) != -1) { + try { + var regex = new GLib.Regex("^.+/.+/(.+)$", GLib.RegexCompileFlags.CASELESS, 0); + GLib.MatchInfo match; + if (regex.match(account, GLib.RegexMatchFlags.ANCHORED, out match)) { + if (match.matches()) { + var identifier = match.fetch(1); + this.label = decode_id(identifier); + } + } + } catch (GLib.RegexError err) { + GLib.critical("%s", err.message); + return; + } + } + + if (this.label == "") + this.label = label; + if (account != null) + this.details = GLib.Markup.escape_text(account); + } + + public static string? decode_id(string account) { + account.replace("_", "%"); + return GLib.Uri.unescape_string(account); + } +} + +/** Used for GNOME Online Accounts */ +public class GoaInfo : ItemInfo { + + public GoaInfo(string label, HashTable? attrs) { + GLib.Object(label: label, + description: _("GNOME Online Accounts password")); + } +} +} diff --git a/gkr/gkr-item-properties.vala b/gkr/gkr-item-properties.vala new file mode 100644 index 00000000..f809f592 --- /dev/null +++ b/gkr/gkr-item-properties.vala @@ -0,0 +1,266 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2018 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +[GtkTemplate (ui = "/org/gnome/Seahorse/seahorse-gkr-item-properties.ui")] +public class Seahorse.Gkr.ItemProperties : Gtk.Dialog { + public Item item { construct; get; } + + [GtkChild] + private Gtk.Entry description_field; + private bool description_has_changed; + [GtkChild] + private Gtk.Label use_field; + [GtkChild] + private Gtk.Label type_field; + [GtkChild] + private Gtk.Label details_label; + [GtkChild] + private Gtk.Label details_box; + [GtkChild] + private Gtk.Label server_label; + [GtkChild] + private Gtk.Label server_field; + [GtkChild] + private Gtk.Label login_label; + [GtkChild] + private Gtk.Label login_field; + [GtkChild] + private Gtk.Box password_box_area; + private PasswordEntry password_entry; + + construct { + // Setup the label properly + this.item.bind_property("label", this.description_field, "text", + GLib.BindingFlags.SYNC_CREATE); + this.description_field.changed.connect(() => { + this.description_has_changed = true; + }); + + /* Window title */ + var headerbar = (Gtk.HeaderBar) this.get_header_bar(); + this.item.bind_property("label", headerbar, "subtitle", + GLib.BindingFlags.SYNC_CREATE); + + /* Update as appropriate */ + this.item.notify.connect((pspec) => { + switch(pspec.name) { + case "use": + update_use(); + update_type(); + update_visibility(); + break; + case "attributes": + update_details(); + update_server(); + update_user(); + break; + case "has-secret": + fetch_password(); + break; + } + }); + + // Create the password entry + this.password_entry = new PasswordEntry(); + this.password_box_area.pack_start(this.password_entry, true, true, 0); + fetch_password(); + + // Sensitivity of the password entry + this.item.bind_property("has-secret", this.password_entry, "sensitive"); + } + + public ItemProperties(Item item, Gtk.Window? parent) { + GLib.Object ( + item: item, + transient_for: parent, + use_header_bar: 1 + ); + item.refresh(); + } + + public override void response(int response) { + // In case of changes: ask for confirmation + if (!this.password_entry.has_changed && !this.description_has_changed) { + destroy(); + return; + } + + var dialog = new Gtk.MessageDialog(this, Gtk.DialogFlags.MODAL, Gtk.MessageType.WARNING, + Gtk.ButtonsType.OK_CANCEL, _("Save changes for this item?")); + dialog.response.connect((resp) => { + if (resp == Gtk.ResponseType.OK) { + if (this.password_entry.has_changed) + save_password.begin(); + if (this.description_has_changed) + save_description.begin(); + } + + dialog.destroy(); + }); + dialog.run(); + } + + private void update_use() { + switch (this.item.use) { + case Use.NETWORK: + this.use_field.label = _("Access a network share or resource"); + break; + case Use.WEB: + this.use_field.label = _("Access a website"); + break; + case Use.PGP: + this.use_field.label = _("Unlocks a PGP key"); + break; + case Use.SSH: + this.use_field.label = _("Unlocks a Secure Shell key"); + break; + case Use.OTHER: + this.use_field.label = _("Saved password or login"); + break; + default: + this.use_field.label = ""; + break; + }; + } + + private void update_type() { + switch (this.item.use) { + case Use.NETWORK: + case Use.WEB: + this.type_field.label = _("Network Credentials"); + break; + case Use.PGP: + case Use.SSH: + case Use.OTHER: + this.type_field.label = _("Password"); + break; + default: + this.type_field.label = ""; + break; + }; + } + + private void update_visibility() { + var use = this.item.use; + bool visible = use == Use.NETWORK || use == Use.WEB; + this.server_label.visible = visible; + this.server_field.visible = visible; + this.login_label.visible = visible; + this.login_field.visible = visible; + } + + private void update_server() { + var value = this.item.get_attribute("server"); + if (value == null) + value = ""; + this.server_field.label = value; + } + + private void update_user() { + var value = this.item.get_attribute("user"); + if (value == null) + value = ""; + this.login_field.label = value; + } + + private void update_details() { + var contents = new GLib.StringBuilder(); + var attrs = this.item.attributes; + var iter = GLib.HashTableIter(attrs); + string key, value; + while (iter.next(out key, out value)) { + if (key.has_prefix("gkr:") || key.has_prefix("xdg:")) + continue; + contents.append_printf("%s: %s\n", + GLib.Markup.escape_text(key), + GLib.Markup.escape_text(value)); + } + + if (contents.len > 0) { + this.details_label.visible = true; + this.details_box.visible = true; + this.details_box.label = contents.str; + } + } + + private async void save_password() { + var pw = new Secret.Value(this.password_entry.text, -1, "text/plain"); + try { + yield this.item.set_secret(pw, null); + } catch (GLib.Error err) { + DBusError.strip_remote_error(err); + Util.show_error (this, _("Couldn’t change password."), err.message); + } + fetch_password(); + } + + private void fetch_password() { + var secret = this.item.get_secret(); + if (secret != null) { + unowned string? password = secret.get_text(); + if (password != null) { + this.password_entry.set_initial_password(password); + return; + } + } + + this.password_entry.set_initial_password(""); + } + + private async void save_description() { + try { + yield this.item.set_label(this.description_field.text, null); + } catch (GLib.Error err) { + this.description_field.text = this.item.label; + DBusError.strip_remote_error(err); + Util.show_error (this, _("Couldn’t set description."), err.message); + } + } + + [GtkCallback] + private void on_copy_button_clicked() { + var clipboard = Gtk.Clipboard.get_default(this.get_display()); + this.item.copy_secret_to_clipboard.begin(clipboard); + } + + [GtkCallback] + private void on_delete_button_clicked() { + var deleter = this.item.create_deleter(); + var ret = deleter.prompt(this); + + if (!ret) + return; + + deleter.delete.begin(null, (obj, res) => { + try { + deleter.delete.end(res); + this.destroy(); + } catch (GLib.Error e) { + var dialog = new Gtk.MessageDialog(this, + Gtk.DialogFlags.MODAL, + Gtk.MessageType.ERROR, + Gtk.ButtonsType.OK, + _("Error deleting the password.")); + dialog.run(); + dialog.destroy(); + } + }); + } +} diff --git a/gkr/gkr-item.vala b/gkr/gkr-item.vala new file mode 100644 index 00000000..79d31f41 --- /dev/null +++ b/gkr/gkr-item.vala @@ -0,0 +1,373 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2020 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +namespace Seahorse.Gkr { + +public enum Use { + OTHER, + NETWORK, + WEB, + PGP, + SSH, +} + +/** + * The Seahorse-specific class for entries in a libsecret keyring. + * + * Since libsecret creates the object for us, we can't really add stuff using a + * constructor, so to add specific info for certain categories of items, we + * stuff everything into the {@link ItemInfo} field. + */ +public class Item : Secret.Item, Deletable, Viewable { + + public string description { + owned get { + ensure_item_info(); + return this._info.description; + } + } + + public Use use { + get { + var schema_name = get_attribute("xdg:schema"); + if (schema_name != null && schema_name == NETWORK_PASSWORD) + return Use.NETWORK; + return Use.OTHER; + } + } + + public bool has_secret { + get { return _item_secret != null; } + } + + public Keyring place { + owned get { return (Keyring)_place.get(); } + set { _place.set(value); } + } + + public Flags object_flags { + get { return Flags.DELETABLE | Flags.PERSONAL; } + } + + public GLib.Icon icon { + owned get { + ensure_item_info(); + return this._info.icon ?? new GLib.ThemedIcon (ICON_PASSWORD); + } + } + + public new string label { + owned get { + ensure_item_info (); + return this._info.label; + } + } + + public string markup { + owned get { + ensure_item_info (); + var result = new StringBuilder(""); + result.append(Markup.escape_text(this._info.label)); + if (this._info.details != null && this._info.details != "") { + result.append("\n"); + result.append(this._info.details); + result.append(""); + } + return result.str; + } + } + + public Usage usage { + get { return Usage.CREDENTIALS; } + } + + public bool deletable { + get { return true; } + } + + private Secret.Value? _item_secret = null; + private ItemInfo? _info = null; + private GLib.WeakRef _place; + private GLib.Cancellable? _req_secret = null; + + construct { + g_properties_changed.connect((changed_properties, invalidated_properties) => { + this._info = null; + freeze_notify(); + notify_property("has-secret"); + notify_property("use"); + notify_property("label"); + notify_property("icon"); + notify_property("markup"); + notify_property("description"); + notify_property("object-flags"); + thaw_notify(); + }); + } + + public override void dispose() { + if (this._req_secret != null) + this._req_secret.cancel(); + this._req_secret = null; + base.dispose(); + } + + public Deleter create_deleter() { + return new ItemDeleter(this); + } + + public Gtk.Window? create_viewer(Gtk.Window? parent) { + return new ItemProperties(this, parent); + } + + private void ensure_item_info() { + if (this._info != null) + return; + + unowned string? item_type = null; + var attrs = this.attributes; + if (attrs != null) + item_type = attrs.lookup("xdg:schema"); + item_type = map_item_type_to_specific(item_type, attrs); + assert (item_type != null); + + var label = base.get_label(); + + this._info = item_type_to_item_info(item_type, label, attrs); + + // If we look at the schema, we might be able to deduce the app (icon) + if (this._info.icon == null) + this._info.query_installed_apps(item_type); + } + + private ItemInfo item_type_to_item_info(string item_type, string? label, HashTable? attrs) { + switch (item_type) { + case GENERIC_SECRET: + return new ItemInfo(label, attrs); + case KEYRING_NOTE: + return new ItemInfo(label, attrs, _("Stored note")); + case CHAINED_KEYRING: + return new ItemInfo(label, attrs, _("Keyring password")); + case ENCRYPTION_KEY: + return new ItemInfo(label, attrs, _("Encryption key password")); + case PK_STORAGE: + return new ItemInfo(label, attrs, _("Key storage password")); + case NETWORK_MANAGER_SECRET: + return new ItemInfo(label, attrs, _("Network Manager secret")); + case NETWORK_PASSWORD: + return new GkrNetworkPassInfo(label, attrs); + case EPIPHANY_PASSWORD: + return new EpiphanyPassInfo(label, attrs); + case CHROME_PASSWORD: + return new ChromePassInfo(label, attrs); + case GOA_PASSWORD: + return new GoaInfo(label, attrs); + case TELEPATHY_PASSWORD: + return new TelepathyInfo(label, attrs); + case EMPATHY_PASSWORD: + return new EmpathyInfo(label, attrs); + case NETWORK_MANAGER_CONNECTION: + return new NmConnectionInfo(label, attrs); + default: + break; + } + + return new ItemInfo(label, attrs); + } + + private async void load_item_secret() throws GLib.Error { + if (this._req_secret != null) + return; + + this._req_secret = new GLib.Cancellable(); + + yield load_secret(this._req_secret); + this._req_secret = null; + this._item_secret = base.get_secret(); + notify_property("has-secret"); + } + + public new void refresh() { + base.refresh(); + + if (this._item_secret != null) + return; + + load_item_secret.begin((obj, res) => { + try { + load_item_secret.end(res); + } catch (GLib.Error e) { + warning("Couldn't load secret: %s", e.message); + } + }); + } + + public new Secret.Value? get_secret() { + if (this._item_secret == null) { + load_item_secret.begin((obj, res) => { + try { + load_item_secret.end(res); + } catch (GLib.Error e) { + warning("Couldn't load secret: %s", e.message); + } + }); + } + return this._item_secret; + } + + public string? get_attribute(string name) { + if (this.attributes == null) + return null; + return this.attributes.lookup(name); + } + + public new async bool set_secret(Secret.Value value, + GLib.Cancellable? cancellable) throws GLib.Error { + yield base.set_secret(value, cancellable); + _item_secret = value; + notify_property("has-secret"); + return true; + } + + public async void copy_secret_to_clipboard(Gtk.Clipboard clipboard) throws GLib.Error { + if (this._item_secret == null) + yield load_item_secret(); + + if (this._item_secret == null) { + debug("Can't copy to clipboard: secret is NULL"); + return; + } + + unowned string? password = this._item_secret.get_text(); + if (password == null) + return; + + clipboard.set_text(password, -1); + debug("Succesfully copied secret to clipboard"); + } +} + +private const string GENERIC_SECRET = "org.freedesktop.Secret.Generic"; +private const string NETWORK_PASSWORD = "org.gnome.keyring.NetworkPassword"; +private const string KEYRING_NOTE = "org.gnome.keyring.Note"; +private const string CHAINED_KEYRING = "org.gnome.keyring.ChainedKeyring"; +private const string ENCRYPTION_KEY = "org.gnome.keyring.EncryptionKey"; +private const string PK_STORAGE = "org.gnome.keyring.PkStorage"; +private const string CHROME_PASSWORD = "x.internal.Chrome"; +private const string EPIPHANY_PASSWORD = "x.internal.Epiphany"; +private const string GOA_PASSWORD = "org.gnome.OnlineAccounts"; +private const string TELEPATHY_PASSWORD = "org.freedesktop.Telepathy"; +private const string EMPATHY_PASSWORD = "org.freedesktop.Empathy"; +private const string NETWORK_MANAGER_SECRET = "org.freedesktop.NetworkManager"; +private const string NETWORK_MANAGER_CONNECTION = "org.freedesktop.NetworkManager.Connection"; + +private struct MappingEntry { + unowned string item_type; + unowned string mapped_type; + unowned string? match_attribute; + unowned string? match_pattern; +} + +private const MappingEntry[] MAPPING_ENTRIES = { + /* Map some known schema's to their application IDs */ + { "org.gnome.Polari.Identify", "org.gnome.Polari" }, + { "_chrome_dummy_schema_for_unlocking", "google-chrome" }, + { "chrome_libsecret_os_crypt_password_v2", "chromium-browser" }, + + /* Browsers */ + { "org.epiphany.FormPassword", EPIPHANY_PASSWORD }, + { "chrome_libsecret_password_schema", CHROME_PASSWORD }, + { GENERIC_SECRET, CHROME_PASSWORD, "application", "chrome*" }, + + { GENERIC_SECRET, GOA_PASSWORD, "goa-identity", null }, + { GENERIC_SECRET, TELEPATHY_PASSWORD, "account", "*/*/*" }, + { GENERIC_SECRET, EMPATHY_PASSWORD, "account-id", "*/*/*" }, + /* Network secret for Auto anna/802-11-wireless-security/psk */ + { GENERIC_SECRET, NETWORK_MANAGER_SECRET, "connection-uuid", null }, +}; + +private unowned string map_item_type_to_specific(string? item_type, + HashTable? attrs) { + if (item_type == null) + return GENERIC_SECRET; + if (attrs == null) + return item_type; + + foreach (var mapping in MAPPING_ENTRIES) { + if (item_type != mapping.item_type) + continue; + + if (mapping.match_attribute == null) + return mapping.mapped_type; + + unowned string? value = null; + if (attrs != null) + value = attrs.lookup(mapping.match_attribute); + if (value != null && mapping.match_pattern != null) { + if (GLib.PatternSpec.match_simple(mapping.match_pattern, value)) + return mapping.mapped_type; + } else if (value != null) { + return mapping.mapped_type; + } + } + + return item_type; +} + +class ItemDeleter : Deleter { + private GLib.List _items; + + public override Gtk.Dialog create_confirm(Gtk.Window? parent) { + var num = this._items.length(); + if (num == 1) { + var label = ((Secret.Item)_items.data).label; + return new DeleteDialog(parent, _("Are you sure you want to delete the password “%s”?"), label); + } else { + return new DeleteDialog(parent, ngettext("Are you sure you want to delete %d password?", + "Are you sure you want to delete %d passwords?", num), num); + } + } + + public ItemDeleter(Item item) { + if (!add_object(item)) + assert_not_reached(); + } + + public override unowned GLib.List get_objects() { + return this._items; + } + + public override bool add_object (GLib.Object obj) { + if (obj is Item) { + this._items.append((Item)obj); + return true; + } + return false; + } + + public override async bool delete(GLib.Cancellable? cancellable) throws GLib.Error { + var items = _items.copy(); + foreach (var item in items) + yield item.delete(cancellable); + return true; + } +} + +} diff --git a/gkr/gkr-keyring-add.vala b/gkr/gkr-keyring-add.vala new file mode 100644 index 00000000..f60c9a22 --- /dev/null +++ b/gkr/gkr-keyring-add.vala @@ -0,0 +1,63 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +[GtkTemplate (ui = "/org/gnome/Seahorse/seahorse-gkr-add-keyring.ui")] +public class Seahorse.Gkr.KeyringAdd : Gtk.Dialog { + [GtkChild] + private Gtk.Entry name_entry; + + construct { + set_response_sensitive(Gtk.ResponseType.ACCEPT, false); + } + + public KeyringAdd(Gtk.Window? parent) { + GLib.Object( + transient_for: parent, + use_header_bar: 1 + ); + } + + public override void response(int resp) { + if (resp != Gtk.ResponseType.ACCEPT) { + destroy(); + return; + } + + var cancellable = Dialog.begin_request(this); + var service = Backend.instance().service; + Secret.Collection.create.begin(service, this.name_entry.text, null, 0, + cancellable, (obj, res) => { + /* Clear the operation without cancelling it since it is complete */ + Dialog.complete_request(this, false); + + try { + Secret.Collection.create.end(res); + } catch (GLib.Error err) { + Util.show_error(this, _("Couldn’t add keyring"), err.message); + } + + destroy(); + }); + } + + [GtkCallback] + private void on_name_entry_changed(Gtk.Editable editable) { + set_response_sensitive(Gtk.ResponseType.ACCEPT, this.name_entry.text != ""); + } +} diff --git a/gkr/gkr-keyring-permission.vala b/gkr/gkr-keyring-permission.vala new file mode 100644 index 00000000..8e0acd21 --- /dev/null +++ b/gkr/gkr-keyring-permission.vala @@ -0,0 +1,50 @@ +/* + * Seahorse + * + * Copyright (C) 2018 Anukul Sangwan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +public class Seahorse.Gkr.KeyringPermission : GLib.Permission { + + private Keyring keyring; + + public KeyringPermission(Keyring keyring) { + this.keyring = keyring; + refresh(); + } + + private void disable() { + this.impl_update(false, false, false); + } + + private void refresh() { + this.impl_update(!this.keyring.locked, Lockable.can_unlock(this.keyring), Lockable.can_lock(this.keyring)); + } + + public override async bool acquire_async(GLib.Cancellable? cancellable = null) throws GLib.Error { + disable(); + yield this.keyring.unlock(null, null); + refresh(); + return true; + } + + public override async bool release_async(GLib.Cancellable? cancellable = null) throws GLib.Error { + disable(); + yield this.keyring.lock(null, null); + refresh(); + return true; + } + +} diff --git a/gkr/gkr-keyring-properties.vala b/gkr/gkr-keyring-properties.vala new file mode 100644 index 00000000..33329c09 --- /dev/null +++ b/gkr/gkr-keyring-properties.vala @@ -0,0 +1,77 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +[GtkTemplate (ui = "/org/gnome/Seahorse/seahorse-gkr-keyring.ui")] +public class Seahorse.Gkr.KeyringProperties : Gtk.Dialog { + public Keyring keyring { construct; get; } + + [GtkChild] + private Gtk.HeaderBar header; + [GtkChild] + private Gtk.Label name_label; + [GtkChild] + private Gtk.Label created_label; + [GtkChild] + private Gtk.Image keyring_image; + [GtkChild] + private Gtk.Button set_default_button; + [GtkChild] + private Gtk.LockButton lock_button; + + construct { + this.use_header_bar = 1; + + this.keyring.bind_property("label", this.header, "subtitle", GLib.BindingFlags.SYNC_CREATE); + this.keyring.bind_property("label", this.name_label, "label", GLib.BindingFlags.SYNC_CREATE); + this.keyring.bind_property("icon", this.keyring_image, "gicon", GLib.BindingFlags.SYNC_CREATE); + + // The date field + set_created(this.keyring.created); + this.keyring.notify["created"].connect((obj, pspec) => { + set_created(this.keyring.created); + }); + + // The buttons + this.keyring.bind_property("is-default", this.set_default_button, "sensitive", + BindingFlags.SYNC_CREATE | BindingFlags.INVERT_BOOLEAN); + } + + public KeyringProperties(Keyring keyring, Gtk.Window? parent) { + GLib.Object( + keyring: keyring, + transient_for: parent + ); + var perm = new KeyringPermission(this.keyring); + this.lock_button.set_permission(perm); + } + + private void set_created(uint64 timestamp) { + this.created_label.label = (timestamp != 0)? Util.get_display_date_string((long) timestamp) + : _("Unknown date"); + } + + [GtkCallback] + private void on_set_default_button_clicked(Gtk.Button button) { + this.keyring.set_as_default(); + } + + [GtkCallback] + private void on_change_pw_button_clicked(Gtk.Button button) { + this.keyring.change_password(); + } +} diff --git a/gkr/gkr-keyring.vala b/gkr/gkr-keyring.vala new file mode 100644 index 00000000..a7c8113b --- /dev/null +++ b/gkr/gkr-keyring.vala @@ -0,0 +1,299 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see . + */ + +namespace Seahorse { +namespace Gkr { + +public class Keyring : Secret.Collection, Gcr.Collection, Place, Deletable, Lockable, Viewable { + + private const ActionEntry[] KEYRING_ACTIONS = { + { "set-default", on_action_set_default }, + { "change-password", on_action_change_password }, + }; + + public string description { + owned get { + if (Backend.instance().has_alias ("login", this)) + return _("A keyring that is automatically unlocked on login"); + return _("A keyring used to store passwords"); + } + } + + public string uri { + owned get { + var object_path = base.get_object_path (); + return "secret-service://%s".printf(object_path); + } + } + + public GLib.Icon icon { + owned get { return new GLib.ThemedIcon("folder"); } + } + + public Place.Category category { + get { return Place.Category.PASSWORDS; } + } + + private GLib.ActionGroup? _actions = null; + public GLib.ActionGroup? actions { + owned get { return this._actions; } + } + + public unowned string? action_prefix { + get { return "gkr-keyring"; } + } + + private MenuModel? _menu_model = null; + public MenuModel? menu_model { + owned get { return this._menu_model; } + } + + public bool show_if_empty { + get { return true; } + } + + public bool is_default { + get { return Backend.instance().has_alias ("default", this); } + } + + public bool lockable { + get { return !get_locked(); } + } + + public bool unlockable { + get { return get_locked(); } + } + + public bool deletable { + get { return true; } + } + + private GLib.HashTable _items; + + construct { + this._items = new GLib.HashTable(GLib.str_hash, GLib.str_equal); + this.notify.connect((pspec) => { + if (pspec.name == "items" || pspec.name == "locked") + refresh_collection(); + }); + Backend.instance().notify.connect((pspec) => { + notify_property ("is-default"); + notify_property ("description"); + }); + + this._actions = create_actions(); + this._menu_model = create_menu_model(); + } + + public uint get_length() { + return _items.size(); + } + + public GLib.List get_objects() { + return _items.get_values(); + } + + public bool contains(GLib.Object obj) { + if (obj is Item) + return _items.lookup(((Item)obj).get_object_path()) != null; + return false; + } + + public Gtk.Window? create_viewer(Gtk.Window? parent) { + return new KeyringProperties(this, parent); + } + + public Deleter create_deleter() { + return new KeyringDeleter(this); + } + + public async bool lock(GLib.TlsInteraction? interaction, + GLib.Cancellable? cancellable) throws GLib.Error { + var objects = new GLib.List(); + objects.prepend(this); + + var service = get_service(); + GLib.List locked; + yield service.lock(objects, cancellable, out locked); + refresh_collection (); + return locked.length() > 0; + } + + public async bool unlock(GLib.TlsInteraction? interaction, + GLib.Cancellable? cancellable) throws GLib.Error { + var objects = new GLib.List(); + objects.prepend(this); + + var service = get_service(); + GLib.List unlocked; + yield service.unlock(objects, cancellable, out unlocked); + refresh_collection (); + return unlocked.length() > 0; + } + + public async bool load(GLib.Cancellable? cancellable) throws GLib.Error { + refresh_collection(); + return true; + } + + private void refresh_collection() { + var seen = new GLib.GenericSet(GLib.str_hash, GLib.str_equal); + + GLib.List items = null; + if (!get_locked()) + items = get_items(); + + foreach (var item in items) { + var object_path = item.get_object_path(); + seen.add(object_path); + + if (_items.lookup(object_path) == null) { + item.set("place", this); + _items.insert(object_path, (Item)item); + emit_added(item); + } + } + + /* Remove any that we didn't find */ + var iter = GLib.HashTableIter(_items); + string object_path; + while (iter.next (out object_path, null)) { + if (!seen.contains(object_path)) { + var item = _items.lookup(object_path); + item.set("place", null); + iter.remove(); + emit_removed (item); + } + } + } + + public void on_action_set_default(SimpleAction action, Variant? param) { + set_as_default(); + } + + public void set_as_default() { + var parent = null; + var service = this.service; + + service.set_alias.begin("default", this, null, (obj, res) => { + try { + service.set_alias.end(res); + Backend.instance().refresh(); + } catch (GLib.Error err) { + Util.show_error(parent, _("Couldn’t set default keyring"), err.message); + } + }); + } + + public void on_action_change_password(SimpleAction action, Variant? param) { + change_password(); + } + + public void change_password() { + var parent = null; + var service = this.service; + service.get_connection().call.begin(service.get_name(), + service.get_object_path(), + "org.gnome.keyring.InternalUnsupportedGuiltRiddenInterface", + "ChangeWithPrompt", + new GLib.Variant("(o)", this.get_object_path()), + new GLib.VariantType("(o)"), + GLib.DBusCallFlags.NONE, -1, null, (obj, res) => { + try { + var retval = service.get_connection().call.end(res); + string prompt_path; + retval.get("(o)", out prompt_path); + service.prompt_at_dbus_path.begin(prompt_path.dup(), null, null, (obj, res) => { + try { + service.prompt_at_dbus_path.end(res); + } catch (GLib.Error err) { + Util.show_error(parent, _("Couldn’t change keyring password"), err.message); + } + Backend.instance().refresh(); + }); + } catch (GLib.Error err) { + Util.show_error(parent, _("Couldn’t change keyring password"), err.message); + } + }); + } + + private SimpleActionGroup create_actions() { + var group = new SimpleActionGroup(); + group.add_action_entries (KEYRING_ACTIONS, this); + + var action = group.lookup_action("set-default"); + bind_property("is-default", action, "enabled", BindingFlags.INVERT_BOOLEAN); + + return group; + } + + private GLib.Menu create_menu_model() { + var menu = new GLib.Menu(); + unowned string prefix = this.action_prefix; + + menu.insert(0, _("_Set as default"), prefix + ".set-default"); + menu.insert(1, _("Change _Password"), prefix + ".change-password"); + return menu; + } +} + +class KeyringDeleter : Deleter { + private Keyring? _keyring; + private GLib.List _objects; + + public override Gtk.Dialog create_confirm(Gtk.Window? parent) { + var dialog = new DeleteDialog(parent, + _("Are you sure you want to delete the password keyring “%s”?"), + this._keyring.label); + + dialog.check_label = _("I understand that all items will be permanently deleted."); + dialog.check_require = true; + + return dialog; + } + + public KeyringDeleter(Keyring keyring) { + if (!add_object(keyring)) + GLib.assert_not_reached(); + } + + public override unowned GLib.List get_objects() { + return this._objects; + } + + public override bool add_object (GLib.Object obj) { + if (this._keyring != null) + return false; + if (obj is Keyring) { + this._keyring = (Keyring)obj; + this._objects.append(obj); + return true; + } + return false; + } + + public override async bool delete(GLib.Cancellable? cancellable) throws GLib.Error { + yield this._keyring.delete(cancellable); + return true; + } +} + +} +} diff --git a/gkr/gkr-module.vala b/gkr/gkr-module.vala new file mode 100644 index 00000000..1cd9b69b --- /dev/null +++ b/gkr/gkr-module.vala @@ -0,0 +1,27 @@ +/* + * Seahorse + * + * Copyright (C) 2013 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + * Author: Stef Walter + */ + +namespace Seahorse { +namespace Gkr { + +public const string NAME = "gkr"; + +} +} diff --git a/gkr/gkr-password-entry.vala b/gkr/gkr-password-entry.vala new file mode 100644 index 00000000..aba8c2a4 --- /dev/null +++ b/gkr/gkr-password-entry.vala @@ -0,0 +1,51 @@ +/* + * Seahorse + * + * Copyright (C) 2018 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + */ + +/** + * An entry specifically for password: the buffer is saved in a + * {@link Gcr.SecureEntryBuffer}, a secondary icon allows the user to hide or + * show the password. + */ +public class Seahorse.Gkr.PasswordEntry : Gtk.Entry { + + public bool has_changed { get; set; default = false; } + + public PasswordEntry() { + GLib.Object ( + buffer: new Gcr.SecureEntryBuffer(), + visibility: false, + visible: true, + hexpand: true, + secondary_icon_name: "dialog-password-symbolic", + secondary_icon_tooltip_text: _("Show/Hide password"), + secondary_icon_sensitive: true + ); + + this.icon_press.connect((pos, event) => { + this.visibility = !this.visibility; + }); + this.changed.connect(() => { + this.has_changed = true; + }); + } + + public void set_initial_password (string? password) { + this.text = password; + this.has_changed = false; + } +} diff --git a/gkr/meson.build b/gkr/meson.build new file mode 100644 index 00000000..b530fb8d --- /dev/null +++ b/gkr/meson.build @@ -0,0 +1,41 @@ +gkr_sources = files( + 'gkr-backend.vala', + 'gkr-dialogs.vala', + 'gkr-item-add.vala', + 'gkr-item-info.vala', + 'gkr-item-properties.vala', + 'gkr-item.vala', + 'gkr-keyring-add.vala', + 'gkr-keyring-permission.vala', + 'gkr-keyring-properties.vala', + 'gkr-keyring.vala', + 'gkr-module.vala', + 'gkr-password-entry.vala', +) + +gkr_dependencies = [ + glib_deps, + gtk, + gcr, + gcr_ui, + libsecret, + libpwquality, + common_dep, +] + +gkr_vala_args = [ + '--gresources', resources_xml, + '--vapidir', meson.current_source_dir(), + '--pkg=pwquality', +] + +gkr_lib = static_library('seahorse-gkr', + gkr_sources, + vala_args: gkr_vala_args, + dependencies: gkr_dependencies, +) + +gkr_dep = declare_dependency( + link_with: gkr_lib, + include_directories: include_directories('.'), +) diff --git a/gkr/pwquality.vapi b/gkr/pwquality.vapi new file mode 100644 index 00000000..b56557ab --- /dev/null +++ b/gkr/pwquality.vapi @@ -0,0 +1,116 @@ +/* libpwquality Vala Bindings + * Copyright 2013 Evan Nemerson + * + * Permission is hereby granted, free of charge, to any person + * obtaining a copy of this software and associated documentation + * files (the "Software"), to deal in the Software without + * restriction, including without limitation the rights to use, copy, + * modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +[CCode (lower_case_cprefix = "pwquality_", cheader_filename = "pwquality.h")] +namespace PasswordQuality { + [CCode (cname = "int", cprefix = "PWQ_SETTING_", has_type_id = false)] + public enum Setting { + DIFF_OK, + MIN_LENGTH, + DIG_CREDIT, + UP_CREDIT, + LOW_CREDIT, + OTH_CREDIT, + MIN_CLASS, + MAX_REPEAT, + DICT_PATH, + MAX_CLASS_REPEAT, + GECOS_CHECK, + BAD_WORDS, + MAX_SEQUENCE + } + + [CCode (cname = "int", cprefix = "PWQ_ERROR_", has_type_id = false)] + public enum Error { + SUCCESS, + FATAL_FAILURE, + INTEGER, + CFGFILE_OPEN, + CFGFILE_MALFORMED, + UNKNOWN_SETTING, + NON_INT_SETTING, + NON_STR_SETTING, + MEM_ALLOC, + TOO_SIMILAR, + MIN_DIGITS, + MIN_UPPERS, + MIN_LOWERS, + MIN_OTHERS, + MIN_LENGTH, + PALINDROME, + CASE_CHANGES_ONLY, + ROTATED, + MIN_CLASSES, + MAX_CONSECUTIVE, + EMPTY_PASSWORD, + SAME_PASSWORD, + CRACKLIB_CHECK, + RNG, + GENERATION_FAILED, + USER_CHECK, + GECOS_CHECK, + MAX_CLASS_REPEAT, + BAD_WORDS, + MAX_SEQUENCE; + + [CCode (cname = "pwquality_strerror", instance_pos = 2.5)] + private void* strerror (void* buf, size_t len, void* auxerror); + + public string to_string (void* auxerror = null) { + string ret = null; + string** retp = &ret; + *retp = GLib.malloc (PasswordQuality.MAX_ERROR_MESSAGE_LEN); + void* res = this.strerror (*retp, PasswordQuality.MAX_ERROR_MESSAGE_LEN, auxerror); + + if ( res != *retp ) { + GLib.Memory.copy (*retp, res, ((string) res).length + 1); + } + + return ret; + } + } + + [CCode (cname = "PWQ_MAX_ENTROPY_BITS")] + public const int MAX_ENTROPY_BITS; + [CCode (cname = "PWQ_MIN_ENTROPY_BITS")] + public const int MIN_ENTROPY_BITS; + [CCode (cname = "PWQ_MAX_ERROR_MESSAGE_LEN")] + public const int MAX_ERROR_MESSAGE_LEN; + + [Compact, CCode (cname = "pwquality_settings_t", lower_case_cprefix = "pwquality_", free_function = "pwquality_free_settings")] + public class Settings { + [CCode (cname = "pwquality_default_settings")] + public Settings (); + + public PasswordQuality.Error read_config (string cfgfile, out void* auxerror); + public PasswordQuality.Error set_option (string option); + public PasswordQuality.Error set_int_value (PasswordQuality.Setting setting, int value); + public PasswordQuality.Error set_str_value (PasswordQuality.Setting setting, string value); + public PasswordQuality.Error get_int_value (PasswordQuality.Setting setting, out int value); + public PasswordQuality.Error get_str_value (PasswordQuality.Setting setting, out unowned string value); + + public PasswordQuality.Error generate (int entropy_bits, out string password); + public int check (string password, string? oldpassword = null, string? user = null, out void* auxerror = null); + } +} diff --git a/gkr/seahorse-gkr-add-item.ui b/gkr/seahorse-gkr-add-item.ui new file mode 100644 index 00000000..93336f59 --- /dev/null +++ b/gkr/seahorse-gkr-add-item.ui @@ -0,0 +1,147 @@ + + + + + diff --git a/gkr/seahorse-gkr-add-keyring.ui b/gkr/seahorse-gkr-add-keyring.ui new file mode 100644 index 00000000..523ac62d --- /dev/null +++ b/gkr/seahorse-gkr-add-keyring.ui @@ -0,0 +1,97 @@ + + + + + diff --git a/gkr/seahorse-gkr-item-properties.ui b/gkr/seahorse-gkr-item-properties.ui new file mode 100644 index 00000000..9c04431d --- /dev/null +++ b/gkr/seahorse-gkr-item-properties.ui @@ -0,0 +1,275 @@ + + + + + diff --git a/gkr/seahorse-gkr-keyring.ui b/gkr/seahorse-gkr-keyring.ui new file mode 100644 index 00000000..c9ff8c75 --- /dev/null +++ b/gkr/seahorse-gkr-keyring.ui @@ -0,0 +1,132 @@ + + + + + diff --git a/help/C/about-certificate-key.page.stub b/help/C/about-certificate-key.page.stub new file mode 100644 index 00000000..c23b98d1 --- /dev/null +++ b/help/C/about-certificate-key.page.stub @@ -0,0 +1,31 @@ + + + + + + + + + + + Jim Campbell + jwcampbell@gmail.com + 2013 + + + Do my keys require a certificate? + + +What is a certificate? + +

In the sidebar, you can see a section called Certificates listed alongside your PGP and Secure Shell keys. + . . .

+ + +
diff --git a/help/C/about-diff-private-public.page b/help/C/about-diff-private-public.page new file mode 100644 index 00000000..47439fcc --- /dev/null +++ b/help/C/about-diff-private-public.page @@ -0,0 +1,54 @@ + + + + + + + + + + + Jim Campbell + jwcampbell@gmail.com + 2013 + + + A public key is used to encrypt communication. A private key is + used to decrypt it. + + + Public Key vs Private Key + +

Although Public Keys and Private Keys are both referred + to as keys, it helps to think of them a bit differently. Try to + think of a Public Key as being like a padlock, and a + Private Key as being like a key that unlocks the padlock.

+ +
+ An Example: Sending a Secret Message in a Box + +

Let's use an example to see how this works. Imagine that you want your + friend to send you a secret message in a box. You could give your friend a + box and a padlock, but only you would have the key that unlocks the + padlock.

+ +

Your friend could put their message in the box, lock the padlock, and + then send you the locked box in the mail. When you receive it, you would use + your key to unlock the box.

+ +

This is similar to how a Public Key and a Private Key + work. Like the padlock, you can freely give out your Public Key. + This will make it easy for anyone to securely encrypt, or lock, a message + that they want to send to you.

+ +

On the other hand, a Private Key is like the key that allows you + to decrypt, or unlock, the padlock. Because the Private Key is used + to decrypt secure messages, you will want to keep your Private Key + safe.

+ +
+ +
diff --git a/help/C/about-pgp.page b/help/C/about-pgp.page new file mode 100644 index 00000000..dab012a0 --- /dev/null +++ b/help/C/about-pgp.page @@ -0,0 +1,45 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + PGP keys are used to sign and encrypt emails and files. + + + What is a PGP key? + +

A PGP key is a public encryption key. A PGP key can be used to sign and + encrypt emails and files. When you create a PGP key, a keypair having a + public key and a private key is generated. You can share the public key with + anyone who wishes to send you encrypted messages or files, but the private + key must be known only to you and used to decrypt received messages.

+ +
+ Encrypt and sign data using PGP keys + +

Passwords and Keys is a key management application. Though it + cannot be used to encrypt or sign files and messages, you can use it to + sign trustworthy keys.

+ +

To secure your communication, you can use email clients like + Evolution that provide + encryption + and signing services.

+ +
+ +
diff --git a/help/C/about-ssh.page b/help/C/about-ssh.page new file mode 100644 index 00000000..5fb3479d --- /dev/null +++ b/help/C/about-ssh.page @@ -0,0 +1,41 @@ + + + + + + + + + + Jim Campbell + jwcampbell@gmail.com + 2013 + + + SSH keys are used to login to a remote computer, once a secure + connection has been established. + + + What is a Secure Shell key? + +

A Secure Shell key, often just called an SSH key, + helps you create a secure connection over an unsecured network.

+ + + An SSH key actually consists of two parts: +

A public key, which is widely available.

+

A private key, which is kept secret. The private key is used + to unlock messages encrypted with a corresponding public key.

+
+ +

The advantage of using an SSH key to create a connection between + computers is that only the Public key needs to be sent over + the network. Transmissions encrypted with a Public key can only be + decoded by unlocking them with the corresponding Private key and a + password. Because only the public key is sent over the network, the key's + password is kept secret.

+ +
diff --git a/help/C/concepts.page b/help/C/concepts.page new file mode 100644 index 00000000..c401cdde --- /dev/null +++ b/help/C/concepts.page @@ -0,0 +1,25 @@ + + + + + + + + + + + Jim Campbell + jcampbell@gnome.org + 2014 + + + Learn terms and concepts that are relevant to managing passwords and + keys. + + + Key Concepts and Terms + + diff --git a/help/C/glossary.page b/help/C/glossary.page new file mode 100644 index 00000000..42ddd952 --- /dev/null +++ b/help/C/glossary.page @@ -0,0 +1,68 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + A list of basic terms used. + + + Glossary + +

Passwords and Keys helps you to generate and manage tokens that + can be used to protect your files and communication. Here are some basic + terms that you will encounter while reading this help:

+ + + + Encryption +

Encryption is the process of making your important files and data + unreadable to anyone but the intended recipient. When you encrypt your + data, it becomes a scrambled sequence of numbers and letters. Encryption + is done by someone who is sending a protected file, or sending a message + in a protected conversation.

+
+ + Algorithm +

An algorithm is a sequence of steps used to encrypt or decrypt your + data.

+
+ + Decryption +

Decryption is the process of retrieving the original text from the + encrypted message or file. It is done by the receiver of the protected + file or communication. Encrypted messages cannot be understood without + decrypting them first.

+
+ + Plaintext +

Any data or file that is not encrypted, and can therefore be read by + anyone who can access it, is called plaintext.

+
+ + Key +

A key is used to encrypt and decrypt files and communication. A key + may also be used to login to a remote computer. Some types of keys are + PGP keys and + SSH keys.

+
+ + Keyring +

A keyring is a collection of passwords or keys.

+
+
+ +
diff --git a/help/C/index.page b/help/C/index.page new file mode 100644 index 00000000..ccb9c57f --- /dev/null +++ b/help/C/index.page @@ -0,0 +1,61 @@ + + + + <media its:translate="no" mime="image/svg+xml" height="16px" width="16px" type="image" src="media/org.gnome.seahorse.Application.svg"/> + Passwords and Keys + Passwords and Keys + + + + + Jim Campbell + jwcampbell@gmail.com + 2013 + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Ekaterina Gerasimova + kittykat3756@gmail.com + 2013 + + + + + Use Passwords and Keys to remember your passwords, and to create and manage PGP and SSH keys. + + + + <media type="image" its:translate="no" mime="image/svg+xml" height="32px" width="32px" src="media/org.gnome.seahorse.Application.svg">Seahorse logo</media> + Passwords and Keys + + +
+ SSH Keys + +
+ +
+ PGP keys + +
+ +
+ Stored passwords and password keyrings + +
+ + + +
diff --git a/help/C/introduction.page b/help/C/introduction.page new file mode 100644 index 00000000..8e75d2bc --- /dev/null +++ b/help/C/introduction.page @@ -0,0 +1,54 @@ + + + + + + + + + + + + Jim Campbell + jwcampbell@gmail.com + 2013 + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Use Passwords and Keys to create and manage PGP and SSH + keys and to save passwords that are difficult to remember. + + + Introduction + +

Welcome to the Passwords and Keys help guide. + Passwords and Keys creates and stores security tokens, helping to + keep your information secure on your computer, and secure when you send + information over a network.

+

Using Passwords and Keys, you can:

+ + + +

Copy and save passwords + that are difficult to remember. To group related passwords, + create keyrings.

+
+ +

Create and + manage PGP keys.

+
+ +

Create and + manage SSH keys.

+
+
+ +
diff --git a/help/C/key-servers-add.page b/help/C/key-servers-add.page new file mode 100644 index 00000000..563303f6 --- /dev/null +++ b/help/C/key-servers-add.page @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Hashem Nasarat + hashem@riseup.net + 2014 + + + Andre Klapper + hashem@riseup.net + 2020 + + + Make additions to the list of keyservers in + Passwords and Keys + + + Add a keyserver +

Passwords and Keys have the following keyservers listed by default:

+ + + +

ldap://keyserver.pgp.com

+
+
+ + + To add a keyserver + +

Press the menu button in the header bar.

+
+ +

Select Preferences.

+
+ +

Select the Key Servers tab.

+
+ +

Press the Add button.

+
+ +

In the new dialog, select the appropriate Key Server Type. + Key servers are identified by the protocol they use to communicate. Look + for the first few letters in the Internet URL of your key server to + identify its type.

+
+ +

In the Host field, paste the Internet URL of + your key server. Consult the documentation for the key server you're + adding to see if it operates on a non-standard port. If so, enter the + port after the ':'. If you're unsure, leave the text box after the ':' + blank.

+
+ +

Press Save to finish.

+
+
+ +
diff --git a/help/C/keyring-change-default.page b/help/C/keyring-change-default.page new file mode 100644 index 00000000..e45e4cc6 --- /dev/null +++ b/help/C/keyring-change-default.page @@ -0,0 +1,52 @@ + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Save new passwords to a different keyring by default. + + + Change the default keyring + +

When you + add a new password, it is + normally added to the default keyring. If you want to add it to a different + keyring, you can choose another one while adding the new password, but you + can also change the default keyring. The default keyring is normally the + Login keyring.

+ + + To change the default keyring: + +

Select your choice for the default keyring from the list of + keyrings under Passwords on the left side panel.

+
+ +

Right click on the selected keyring and select Set as + default.

+
+
+ + +

Passwords to some GNOME applications are stored automatically by + Passwords and Keys in the Login keyring because it is + the default keyring. When you change the default keyring, any new passwords + created for GNOME applications will be stored in the new default keyring + while GNOME application passwords created before the change will remain in + the Login keyring.

+
+ +
diff --git a/help/C/keyring-create.page b/help/C/keyring-create.page new file mode 100644 index 00000000..892f4c93 --- /dev/null +++ b/help/C/keyring-create.page @@ -0,0 +1,69 @@ + + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Ekaterina Gerasimova + kittykat3756@gmail.com + 2013 + + + Jim Campbell + jcampbell@gnome.org + 2014 + + + Use password keyrings to group stored passwords. + + + Create a new keyring + +

Use keyrings to group related passwords. + You can choose to protect your keyring with a password.

+ + + Create a new password keyring: + +

Press the + button in the top-left corner of the window.

+
+ +

Select Password Keyring from the list.

+
+ +

Choose a name for your new keyring, then press + Add to continue.

+
+ + +

To password protect your keyring, choose a password, and retype it to + confirm your choice. Leave both the fields blank if you want your keyring + to remain unlocked at all times.

+ +
+ +

Press Continue to finish creating the + keyring. If you have not protected your keyring with a password, you will + need to confirm that this is how you want to proceed.

+
+
+ +

Your new keyring will now be listed under Passwords.

+ +
diff --git a/help/C/keyring-lock.page b/help/C/keyring-lock.page new file mode 100644 index 00000000..56988ae3 --- /dev/null +++ b/help/C/keyring-lock.page @@ -0,0 +1,49 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Lock and password protect your password keyrings to control access to + the passwords stored in them. + + + Lock your keyrings + +

To safe-keep your passwords, store them in a password-protected keyring. + When a password-protected keyring is locked, the passwords in it are kept + hidden till someone unlocks the keyring + with the correct password.

+ + +

You can choose to protect your keyring with a password while + creating it.

+
+ + + To lock your password keyring: + +

From the list of keyrings under Passwords on the left side + panel, select the keyring to be locked.

+
+ +

Right click on the selected keyring and select Lock, or + click on the small picture of an opened lock next to the name of the + password keyring.

+
+
+ +
diff --git a/help/C/keyring-unlock.page b/help/C/keyring-unlock.page new file mode 100644 index 00000000..35a50ad8 --- /dev/null +++ b/help/C/keyring-unlock.page @@ -0,0 +1,53 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + To view passwords stored inside a locked keyring, unlock it. + + + Unlock your keyrings +

A keyring may often be + locked to protect the passwords + it contains, similar to locking important things safely inside a trunk. + In order to look at your passwords, you must unlock the keyring first.

+ + + To unlock your keyring: + +

Select the keyring to be unlocked from the panel on your left. It is + listed under Passwords.

+
+ +

Right click on the selected keyring and select Unlock from + the menu, or alternatively, click the small picture of a closed lock next + to the keyring name to unlock the keyring.

+
+ +

If the keyring is password-protected, you will be prompted for a + password to unlock the keyring. Enter the correct password in the + Password field and press Unlock to + finish.

+
+
+ + +

You can choose to password-protect your keyrings while + creating them.

+
+ +
diff --git a/help/C/keyring-update-password.page b/help/C/keyring-update-password.page new file mode 100644 index 00000000..067310ad --- /dev/null +++ b/help/C/keyring-update-password.page @@ -0,0 +1,51 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Keep updating the passwords to your keyrings to ensure that they are + protected well. + + + + Update the keyring password + +

The password to unlock your keyring can + be updated at any time.

+ + + To update the password for a password keyring: + +

Select the password keyring from the list, under + Passwords, on the left side panel.

+
+ +

Right click on the selected password keyring and select + Change Password.

+
+ +

Type your old password to authenticate yourself and press + Continue.

+
+ +

In the new dialog, type your new password, retype it to confirm the + new password and press the Continue button to + finish.

+
+
+ +
diff --git a/help/C/keyring.page b/help/C/keyring.page new file mode 100644 index 00000000..90a8a5e6 --- /dev/null +++ b/help/C/keyring.page @@ -0,0 +1,45 @@ + + + + + + + + + + + + Jim Campbell + jwcampbell@gmail.com + 2013 + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Ekaterina Gerasimova + kittykat3756@gmail.com + 2013 + + + A keyring is used to group related passwords and keys. + + + What is a keyring? + +

Much like a keyring in real life allows you to keep certain sets of keys + together, a keyring in Passwords and Keys allows you to keep + passwords and keys in separate groups.

+ +

When you open Passwords and Keys for the first time, you will + see keys and password grouped together. In the Login keyring, you + may find stored passwords for GNOME applications such as Web, + Online Accounts etc. The Login keyring is the default + keyring in Passwords and keys.

+ +
diff --git a/help/C/legal.xml b/help/C/legal.xml new file mode 100644 index 00000000..09cd8c87 --- /dev/null +++ b/help/C/legal.xml @@ -0,0 +1,6 @@ + +

This work is licensed under a + Creative Commons + Attribution-ShareAlike 3.0 Unported License.

+
diff --git a/help/C/media/dialog-password-symbolic.svg b/help/C/media/dialog-password-symbolic.svg new file mode 100644 index 00000000..14be8869 --- /dev/null +++ b/help/C/media/dialog-password-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/help/C/media/org.gnome.seahorse.Application.svg b/help/C/media/org.gnome.seahorse.Application.svg new file mode 100644 index 00000000..9e70c2fd --- /dev/null +++ b/help/C/media/org.gnome.seahorse.Application.svg @@ -0,0 +1,327 @@ + + + Adwaita Icon Template + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + GNOME Design Team + + + + + Adwaita Icon Template + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/help/C/misc-key-backup.page b/help/C/misc-key-backup.page new file mode 100644 index 00000000..640e1efa --- /dev/null +++ b/help/C/misc-key-backup.page @@ -0,0 +1,49 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + + Hashem Nasarat + hashem@riseup.net + 2014 + + + Keep a copy of your keys in an external device. + + + Securely back-up your keys + +

It is always advisable to save a copy of your keys on an external memory + device like a USB drive. The device should then be kept locked or stored + somewhere safe. This way you will always have a copy of the key if your + computer breaks or if the data on your computer is corrupted in some way.

+ + + To back-up your keys: + +

Export your key files:

+ +

Export your PGP keys.

+

Export your SSH keys.

+
+
+ +

Copy the exported files on an external disk.

+
+
+
diff --git a/help/C/misc-key-fingerprint.page b/help/C/misc-key-fingerprint.page new file mode 100644 index 00000000..4ac04568 --- /dev/null +++ b/help/C/misc-key-fingerprint.page @@ -0,0 +1,85 @@ + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + The key fingerprint is a unique ID for each key, often used to verify + the ownership of a key + + + What is a key fingerprint? + +

The fingerprint of a key is a unique sequence of letters and numbers + used to identify the key. Just like the fingerprints of two different people, + the fingerprints of two different keys can never be identical. The + fingerprint is the best way to identify a particular key.

+ +

A key has several properties like the name and email of the key owner, + key type, key expiration date and so on. When you are searching for a public + key and you find multiple keys with the same properties, the only way to + identify the key you are looking for is to compare the fingerprints of the + two keys with the fingerprint of the key you require.

+ +

It is the fingerprint of a key that is verified when you try to login to a + remote computer using SSH. While signing a + PGP key, you must always check the key + fingerprint and verify the key owner's identity to ensure that you are + signing the correct key.

+ +
+ Fingerprints on <app>Passwords and Keys</app> + +

You can look at the fingerprint of a key on + Passwords and Keys by checking the properties of the key.

+ + + To check the fingerprint of a key: + +

Select GnuPG keys from the left side panel.

+
+ +

Select the PGP key from the list.

+
+ +

Right click the key and select + Properties.

+
+ +

In the new dialog, select the Details tab.

+
+ +

You can see the fingerprint of the key on the left hand side.

+
+
+ + +
+ +
diff --git a/help/C/passwords-stored-create.page b/help/C/passwords-stored-create.page new file mode 100644 index 00000000..78d231c9 --- /dev/null +++ b/help/C/passwords-stored-create.page @@ -0,0 +1,63 @@ + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Passwords and keys can remember your passwords for + you. + + + Store your passwords + +

Passwords and Keys automatically stores passwords for certain + GNOME applications in the Login keyring. Additionally, you can + store any other password you want to remember.

+ + + To create a new stored password: + +

Press the + button in the top-left corner of the window.

+
+ +

Select Password from the list.

+
+ +

Select the password keyring in which you want to store your password + from the Keyring menu.

+
+ +

You can add additional information about the password in the + Description field, like the date of creation, or the name of + the application it protects, etc.

+
+ +

Type the password in the Password field. You can tick the + Show password checkbox if you want to see the + password text while typing it out.

+
+ +

Press the Add button to finish.

+
+
+ + +

The default keyring is displayed as the first choice in the + Keyring drop down menu. You can + change the default + keyring.

+
+ +
diff --git a/help/C/passwords-view.page b/help/C/passwords-view.page new file mode 100644 index 00000000..0f7751cc --- /dev/null +++ b/help/C/passwords-view.page @@ -0,0 +1,79 @@ + + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + + Hashem Nasarat + hashem@riseup.net + 2014 + + + + Andre Klapper + hashem@riseup.net + 2020 + + + Check a stored password which you have forgotten. + + + View stored passwords + +

If you ever forget a password + stored in + Passwords and Keys, you can view the contents of the stored + password in Passwords and Keys to refresh your memory.

+ + + To view a password: + +

In the side bar on the left, select the keyring which contains the + password.

+
+ +

Unlock the password + keyring that contains your password. A list of passwords stored in the + keyring will be displayed.

+

Your Login keyring is already unlocked by default.

+
+ +

Right click on the password you want to check, and select + Properties.

+
+ +

Select the password + icon to view the password.

+
+
+ + +

Since the contents of any unlocked keyrings are available to programs + you may be running, and Passwords and Keys does not seek to give + a false sense of security, the contents of unlocked keyrings are able to be + viewed without entering the password.

+

This means that if you are logged-in, the contents of the + Login keyring will available without entering a password from + Passwords and Keys.

+

If you need to lend your computer to another person, it is recommended + that you create a user account for them, or allow them to use a guest + account.

+
+ +
diff --git a/help/C/pgp-create.page b/help/C/pgp-create.page new file mode 100644 index 00000000..7d2210df --- /dev/null +++ b/help/C/pgp-create.page @@ -0,0 +1,114 @@ + + + + + + + + + + + + Jim Campbell + jwcampbell@gmail.com + 2013 + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + + Hashem Nasarat + hashem@riseup.net + 2014 + + + Create and use GnuPG keys for encrypting and signing emails. + + + Create PGP keys + +

To make a new PGP key:

+ + + +

Press the + button in the top-left corner of the window.

+
+ +

Select GPG Key from the list.

+
+ +

Enter your full name in the Full Name field.

+
+ +

Optionally, add your email address and a comment to describe the + key.

+
+ +

Press Create.

+
+ +

In the password dialog, enter a password for the key. Retype the + password to confirm your choice.

+
+ +

Press OK to finish.

+
+
+ +

Passwords and Keys will take some time to generate your key. + While your key is being created, move your mouse around, press some keys + on your keyboard, or browse the web. This will help Passwords and + Keys to create a truly random key. The key will be listed under + GnuPG keys.

+ + +

The Full Name, Email Address and + Comment details of a GnuPG key are called the + user ID of the key.

+
+ +
+ Advanced PGP key options + +

Under Advanced key options, you can choose custom values + for encryption type, key strength and key expiration date.

+ + + + Encryption type +

Depending on your needs, create keys that can be used for signing only + or for both encryption and signing. The RSA and DSA-Elgamal algorithms + generate equally secure keys.

+
+ + Key Strength +

The key strength is measured in terms of the size of the key in bits. + It is difficult and more time consuming to break a strong key, but strong + keys will slow down the encryption and signing process. You should choose + your key strength in Passwords and Keys depending on how long + you want to use the key. A small key is sufficient for short term use + while a large key is more suitable for long term use.

+
+ + Expiration Date +

When a key expires, certain actions no longer + work. In Passwords and Keys, you can + either set your key to Never Expire or + select an expiration date for it.

+

It is recommended that you set an expiration date in case you lose + access to the key. Even if your key expires, you can + change the expiration to a later date.

+
+
+ +
+ +
diff --git a/help/C/pgp-delete.page b/help/C/pgp-delete.page new file mode 100644 index 00000000..edc37133 --- /dev/null +++ b/help/C/pgp-delete.page @@ -0,0 +1,72 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + + Hashem Nasarat + hashem@riseup.net + 2014 + + + Delete local copies of your keys or the keys of people you + communicate with. + + + Delete an existing key + +

If you are no longer communicating with someone, you can delete the copy + of their GnuPG key on your computer using Passwords and Keys. You + can also permanently delete a key you own as long it has never been + published on a key server. Deleting a GnuPG key deletes both the public key + and the secret key.

+ + + To delete a key: + +

Select the key. +

+
+ +

Right click, and choose Delete.

+ +

When you delete a GnuPG key that has been published on a key server, you + only delete the key in your GnuPG keyring because a copy of the + public key will still be present on some key server.

+

If you delete your GnuPG key, this means that your private key will + be permanently deleted, even though your public key can still be + retrieved + from a key server and used to encrypt messages to you that you won't be + able to read! To prevent such a key from being used, retrieve and revoke + the key. + The revoked key can then be + synced with a key server to prevent people + from retrieving and using it.

+ +
+
+ +

In the new dialog, confirm the deletion by ticking the + I understand that this secret key will be permanently deleted + checkbox, and press the Delete button to + finish.

+
+
+ + +
diff --git a/help/C/pgp-expiration-change.page b/help/C/pgp-expiration-change.page new file mode 100644 index 00000000..5a8923d7 --- /dev/null +++ b/help/C/pgp-expiration-change.page @@ -0,0 +1,64 @@ + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Advance or postpone the expiration date of your keys. + + + Change the expiration date of your keys + +

If your PGP key has expired but you wish to continue its use, you can + change its expiry date. You can also change the expiration settings to have a + key expire on an earlier date.

+ + + To change the expiration date of a PGP key: + +

Select the PGP key from the list.

+
+ +

Right click on the selected key and select Properties.

+
+ +

In the new dialog, select the Details tab.

+
+ + + +

To change the expiration date of the master key, press the small + button with the picture of a calendar next to Expires, on + the right side of the dialog. You can then select the new expiration + date from the calendar.

+
+ +

To change the expiration date of a + subkey, expand the Subkeys + panel and select the subkey from the list. Press the + Expire button on the left of the panel and + select the new expiration date.

+
+
+
+
+ + +

If you are changing the expiration date of a key that has been + published, you must synchronize the key with + the key server after making the desired changes.

+
+ +
diff --git a/help/C/pgp-expired.page b/help/C/pgp-expired.page new file mode 100644 index 00000000..da59a599 --- /dev/null +++ b/help/C/pgp-expired.page @@ -0,0 +1,54 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Can I still use it? Can expiration dates be changed? + + + What happens if my key expires? + +

When your key expires, it becomes invalid. This means:

+ + + +

It can no longer be used to encrypt and decrypt messages.

+
+ +

It cannot sign other keys or receive signatures from other + keys.

+
+
+ +

Depending on how long you want your key to be valid, you can + set an expiration date for + it. By default, Passwords and Keys sets all keys to be valid + forever. That is, the keys never expire.

+ +

The expiration date on a key can be + changed anytime, even after + the key has expired. However, if you want to stop using the expired key, you + should delete or + revoke it.

+ + +

If you have any messages encrypted with an expired key, you must change + the expiration date on the key to decrypt such messages before deleting or + revoking it.

+
+ +
diff --git a/help/C/pgp-export.page b/help/C/pgp-export.page new file mode 100644 index 00000000..cc526279 --- /dev/null +++ b/help/C/pgp-export.page @@ -0,0 +1,84 @@ + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Export your public and private PGP keys to store them in + keyfiles. + + + Export PGP keys + +

Export the contents of your PGP keys and store them in keyfiles, to have a + backup of your keys or to share your public key with someone.

+ +
+ To export your public PGP key: + + + +

Select the GnuPG keys keyring from the left side + panel.

+
+ +

Select the Personal PGP key that has to be exported, from + the list.

+
+ +

Right-click on the key and select Export….

+
+ +

To store the keys in the ASCII format, select + Armored PGP keys from the menu at the + bottom of the export window

+
+ +

Choose a location for your keyfile, and press + Export to finish.

+
+
+ +
+ + +
+ To export your private PGP key: + + + +

Select the GnuPG keys keyring from the left side + panel.

+
+ +

Select the Personal PGP key that has to be exported, from + the list.

+
+ +

Right click on the selected key and select + PropertiesDetails.

+
+ +

Press the Export button.

+
+ +

Choose a location for your keyfile, and press + Export to finish.

+
+
+ +
+ +
diff --git a/help/C/pgp-import.page b/help/C/pgp-import.page new file mode 100644 index 00000000..2862f6c3 --- /dev/null +++ b/help/C/pgp-import.page @@ -0,0 +1,57 @@ + + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Jim Campbell + jwcampbell@gmail.com + 2013 + + + Import keys from keyfiles into Passwords and Keys. + + + Import PGP keys + +

If you have received a key file by email, you might want to import it into + Passwords and Keys. In most cases, Passwords and Keys + automatically imports PGP keys from your computer. You can also manually + import a particular key, if it has not been imported already.

+ + + How do I manually import a key? + +

Press the + button in the top-left corner of the window.

+
+ +

Select Import from file… from the list.

+
+ +

In the new dialog, select the key you wish to import. PGP keys end + with pgp or asc, GPG keys end with + gpg.

+
+ +

Click Open.

+
+
+ +

Once imported, the PGP and GPG keys are listed under + GnuPG keys.

+ +
diff --git a/help/C/pgp-photoid.page b/help/C/pgp-photoid.page new file mode 100644 index 00000000..b81d53ba --- /dev/null +++ b/help/C/pgp-photoid.page @@ -0,0 +1,74 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Include a photo ID with your existing keys so that people can + identify them easily. + + + Attach a photo to your key + +

You can attach a photo ID to your PGP keys so that everyone can verify the + ownership of your keys after looking at your photo. Though a key with an + attached photo will provide a slightly better level of security than a key + with no photo, checking the photo on a key is not as safe as checking the + fingerprint of the key because + anyone having your photos can create a key with your photo ID while the key + fingerprint cannot be mimicked.

+ + +

Unlike the restrictions in GPG, the photo ID you want to + upload need not be in the JPEG format. Passwords and + Keys lets you upload your photo in png, + jpg and several other common image formats.

+
+ + + To attach a photo ID to a PGP key: + +

Select GnuPG keys from the left side panel.

+
+ +

Select the PGP key.

+
+ +

Right click on the chosen key and select + Properties + Owner.

+
+ +

Press the + button on the left + hand side to add a photo.

+
+ +

Select the photo from your computer.

+
+ +

Click Close to finish.

+
+
+ + +

The photos you select should be small in size, preferably about 120 by + 150 pixels. Since a photo ID is always attached to its key, a large photo + will increase the key size and slow down all operations that use the key. + Passwords and Keys resizes large photos to the optimal size + after asking for your confirmation.

+
+ +
diff --git a/help/C/pgp-publish.page b/help/C/pgp-publish.page new file mode 100644 index 00000000..2de3f314 --- /dev/null +++ b/help/C/pgp-publish.page @@ -0,0 +1,87 @@ + + + + + + + + + + + + + Aruna + aruna.evam@gmail.com + 2013 + + + Publish your public keys on key servers, or + export and mail them to your friends. + + + Share your public keys + +

If you want people to send you encrypted communication, you must share + your GnuPG key with them. To share your key with a selected few + people, export it and mail + the resulting keyfile to them. To allow anyone to + retrieve and use your public key, + publish it on a key server.

+ + + How do I publish my key on a key server? + +

Select GnuPG keys from the left side panel.

+
+ +

From the list, select the Personal PGP key you want to + publish.

+
+ +

Press the menu button in the header bar.

+
+ +

Select Sync and publish keys….

+
+ +

Press the Key Servers button to see the list + of key servers on which you can publish your public key.

+
+ +

To publish your key on a key server, select the key server from the + Publish keys to menu.

+
+ +

Close the Preferences window to go back to the previous + dialog.

+
+ +

Press Sync to finish.

+
+ +
+ + +

You need to be connected to the Internet while publishing your keys.

+
+ + + What is a keyserver? +

Key servers are computers that store copies of public encryption keys + submitted to them, and share these copies with other key servers through + the Internet.

+
+ +
diff --git a/help/C/pgp-retrieve-remote.page b/help/C/pgp-retrieve-remote.page new file mode 100644 index 00000000..cdf481b7 --- /dev/null +++ b/help/C/pgp-retrieve-remote.page @@ -0,0 +1,67 @@ + + + + + + + + + + + + + Aruna + aruna.evam@gmail.com + 2013 + + + Andre Klapper + ak-47@gmx.net + 2020 + + + If you want to send an urgent encrypted message to someone, but do + not have their key, you can retrieve their key from a remote key + server. + + + Retrieve remote keys + +

You can retrieve someone's public GnuPG key from the Internet and store + it in Passwords and Keys.

+ + + To retrieve a remote key: + +

Press the menu button in the header bar.

+
+ +

Select Find remote keys….

+
+ +

Enter information about the key you wish to retrieve in the field + provided. Details like key ID or the key owner's email address give more + accurate results than the name of the key owner.

+
+ +

Press the Search button.

+
+ +

From the list of search results, select the key you want to import, + and press the Download button on the right.

+
+
+ +

The imported key will be listed in the GnuPG keys keyring.

+ + +

If you want more information about a key, before importing it, select it + and press Enter or double-click it. This opens a new window that + displays information like the key ID, key fingerprint, level of trust, + owner's name, etc.

+
+ +
diff --git a/help/C/pgp-sign.page b/help/C/pgp-sign.page new file mode 100644 index 00000000..a2c4db01 --- /dev/null +++ b/help/C/pgp-sign.page @@ -0,0 +1,75 @@ + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + If you trust a key, you can sign it. + + + Sign keys + +

To show that you trust and vouch for the genuineness of someone's key, you + can sign it. A person's key must be signed only after you compare the + user ID on the key with a valid proof of their + identity, such as a passport, driver's license, or similar. If the two IDs + match, the key is said to be trustworthy.

+ + + To sign a key: + +

Import the remote key or + keyfile containing the key to be signed + into Passwords and Keys.

+
+ +

From the list of GnuPG keys select the imported key.

+
+ +

Right click the key and select + PropertiesTrust.

+
+ +

Press the Sign this Key button.

+
+ +

Depending on how carefully you have checked the key, choose one out of + Not at all, + Casually or + Very carefully.

+
+ +

Decide if you want to revoke your signature at a later date and if you + want to make your signature public, by ticking the checkboxes + provided.

+
+ +

When you own more than one PGP key, select the key you want to sign + with, from the list next to Signer.

+
+ +

Press the Sign button to finish.

+
+
+ + + Can I sign my own keys? +

When you create a new + GnuPG key, it is automatically signed by you. Any new subkeys + created using a GnuPG key, will + also be signed automatically.

+
+ +
diff --git a/help/C/pgp-subkeys.page b/help/C/pgp-subkeys.page new file mode 100644 index 00000000..3e4cb880 --- /dev/null +++ b/help/C/pgp-subkeys.page @@ -0,0 +1,58 @@ + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + A subkey is always bound to a master key in a PGP keypair. It is + used for encryption. + + + What is a subkey? + +

Though it is very important to keep your keys safe, it can become quite + tedious to do so when you have many keys. Passwords and Keys + provides a simple solution to key safety by using subkeys for + signing and encryption.

+ +

Whenever you create a new public encryption + key, a keypair is generated instead of a single key. This keypair + consists of a main key, also called the master key and a + subkey. A master key can be used to create additional subkeys that + are then bound to it.

+ + + What does each key in a keypair do? + +

The master key is used for + signing other keys, creating subkeys + and revoking subkeys. Your master key + must be kept very safe. Signatures of trust are also collected on your + master key. If the master key is compromised, you have no choice but to + revoke it and all the subkeys attached to it.

+
+ +

The default subkey is used for encryption and decryption + of messages. Additional subkeys can be created for signing. Though it + is important that your subkeys are kept safe, you can always revoke a + subkey if it is compromised and create a new one with the original + master key.

+
+
+ +
+ More about subkeys +
+
diff --git a/help/C/pgp-sync.page b/help/C/pgp-sync.page new file mode 100644 index 00000000..280e7b50 --- /dev/null +++ b/help/C/pgp-sync.page @@ -0,0 +1,62 @@ + + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Synchronize information present in your local key with the + corresponding key on a key server. + + + Synchronize your keys + +

PGP keys in your keyring have to be synchronized with a key server to + ensure that any changes made to the key on the key server, like a new + signature, are updated in your local copy of the key. Similarly, when you + change information on your local key copy, like the expiration date, or when + you sign someone's key, you should synchronize the keys to update the changes + on the remote copy of the key. You need a working Internet connection to + synchronize your keys.

+ + + How do I synchronize a key? + +

Select the PGP key you wish to synchronize.

+
+ +

Press the menu button in the header bar.

+
+ +

Select Sync and publish keys….

+
+ +

Click the Sync button to synchronize your + key.

+
+
+ + + Why is the <gui style="button">Sync</gui> button not + clickable? +

Only PGP keys that have been published on a key server can be + synchronized. If the Sync button is not + clickable, check if the key has been published on a key server. In the case + of synchronizing your own keys, publish them + before synchronizing them.

+
+ +
diff --git a/help/C/pgp-userid-add.page b/help/C/pgp-userid-add.page new file mode 100644 index 00000000..39f6ed52 --- /dev/null +++ b/help/C/pgp-userid-add.page @@ -0,0 +1,70 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Having many user IDs helps you to use the same key to communicate + with different people. + + + Add extra user IDs to a key + +

A key can have multiple user IDs. This is helpful when you want to use the + same key while communicating with several people and one of them does not + recognize, say, the email address in your user ID. This person may not want + to import your public key since it contains information that they do not + know. In such scenarios, if you do not want to create a new key with a + different user ID, you can attach a new user ID to your existing key.

+ + + To add an extra user ID: + +

Select the GnuPG keys keyring from the left side panel.

+
+ +

From the list, select the Personal PGP key of your + choice.

+
+ +

Right click on the key and select Properties + Names and Signatures.

+
+ +

Click the Add Name button to add a new user + ID.

+
+ +

In the new dialog, fill in details like Full Name, + Email Address and Key Comment for the new user + ID.

+
+ +

Enter the correct passphrase and click OK to + finish.

+
+
+ +

Your new user ID will now be listed under the + Names and Signatures panel.

+ + +

If your key has been published on a key server, + synchronize it after adding new user IDs to + update the remote copy of the key.

+
+ +
diff --git a/help/C/pgp-userid-primary.page b/help/C/pgp-userid-primary.page new file mode 100644 index 00000000..1d9a7ebc --- /dev/null +++ b/help/C/pgp-userid-primary.page @@ -0,0 +1,56 @@ + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Change your default user ID + + + What is a primary user ID? + +

When you have multiple user IDs, one of the user IDs is made the primary + user ID. Passwords and Keys will attach the primary user ID by + default with your key information, while encrypting or signing, unless you + explicitly choose another user ID instead.

+ + + To change the primary user ID in a PGP key: + +

Select the GnuPG keys keyring from the left side panel.

+
+ +

Select the Personal PGP key from the list.

+
+ +

Right click on the selected key and select + Properties + Names and Signatures.

+
+ +

Select the new primary user ID from the list and click + Primary.

+
+
+ +

The user ID will move to the top of the Names and Signatures + list to become your primary user ID.

+ + +

Sync your keys after changing your primary user ID to update the remote + copies of your key.

+
+ +
diff --git a/help/C/pgp-userid-remove.page b/help/C/pgp-userid-remove.page new file mode 100644 index 00000000..8ae75330 --- /dev/null +++ b/help/C/pgp-userid-remove.page @@ -0,0 +1,52 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Remove extra user IDs + + + Detach a user ID from a key + +

While it is essential that all keys have at least one user ID, you can + remove any additional user IDs that you have attached to the key.

+ + + To remove a user ID from a PGP key: + +

Select the GnuPG keys keyring from the left side panel.

+
+ +

Select the Personal PGP key from the list.

+
+ +

Right click on the selected key and choose + Properties + Names and Signatures.

+
+ +

Select the user ID you want to remove and click + Delete.

+
+
+ + +

Synchronize your keys after detaching the + user ID to update the changes on the remote copy of the key.

+
+ +
diff --git a/help/C/pgp-userid.page b/help/C/pgp-userid.page new file mode 100644 index 00000000..318bc6f7 --- /dev/null +++ b/help/C/pgp-userid.page @@ -0,0 +1,36 @@ + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Create keys with good user IDs and learn to add and remove user + IDs. + + + What is a user ID? + +

When you create a key, you provide details, like your name, email and a + key description. This information together constitutes a user ID. A good user + ID helps people to recognize your key when they are trying to + retrieve or + import it. It is important to fill in + authentic information while creating your user ID.

+ +
+ Add, remove user IDs +
+ +
diff --git a/help/C/ssh-connect-remote.page b/help/C/ssh-connect-remote.page new file mode 100644 index 00000000..5111b4c1 --- /dev/null +++ b/help/C/ssh-connect-remote.page @@ -0,0 +1,63 @@ + + + + + + + + + + + Jim Campbell + jcampbell@gnome.org + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + + + Use SSH keys to log in to another computer without entering a + password. + + + Connect to other computers + +

You can use Passwords and Keys to install your SSH key onto a + remote computer that can run an SSH server. You can also + set up your SSH key for + remote login while creating the key.

+ + + +

Right click on the SSH key and select Configure Key + for Secure Shell….

+
+ +

In the dialog window that opens, enter the Server address + that you normally use to log in to the remote computer via SSH, and press + Set Up.

+
+ +

The program will now attempt to connect to the specified + Server address with the entered Login Name. If + there are any problems in accessing the remote computer, a pop-up + window will appear that explains the problem, and you can try again. + Make sure that you have a network connection and that the remote + computer is on and accessible.

+
+ +

If connection to the remote computer was successful, a dialog box will + appear which asks for the Password you use to log in to the + remote computer. Enter your password, then press + OK.

+
+
+ +

You should now be able to log in to the remote computer via SSH without a + password.

+ +
diff --git a/help/C/ssh-create-vs-setup.page b/help/C/ssh-create-vs-setup.page new file mode 100644 index 00000000..f4c6045c --- /dev/null +++ b/help/C/ssh-create-vs-setup.page @@ -0,0 +1,36 @@ + + + + + + + + + + + Jim Campbell + jwcampbell@gmail.com + + + How do I create a new SSH key and set it up? + + + SSH key creation and setup + +

Short introductory text...

+ + +

First step...

+

Second step...

+

Third step...

+
+ + +
diff --git a/help/C/ssh-create.page b/help/C/ssh-create.page new file mode 100644 index 00000000..9b7b0866 --- /dev/null +++ b/help/C/ssh-create.page @@ -0,0 +1,131 @@ + + + + + + + + + + + + Jim Campbell + jwcampbell@gmail.com + 2013 + + + Hashem Nasarat + hashem@riseup.net + 2014 + + + Ekaterina Gerasimova + kittykat3756@gmail.com + 2014 + + + Create SSH keys to log in to other computers. + + + Create a new SSH key + +

An SSH key will help you to create a secure connection between computers. + Creating an SSH key creates both a Public and a Private + key. Here is how to create a new key:

+ + +

Press the + button in the top-left corner of the window.

+

Select Secure Shell Key from the list.

+

Enter a description for the key. The key description will help + you to identify the key later. For example, you could enter the date for + the day, something about how the key will be used, or the server name on + which you intend to install the key. The description field is optional, + and how you describe the key is entirely up to you.

+

You can also change default settings for encryption type or key + strength.

+
+ +

At this point, you can just create your key, or create your key + and install it on a remote computer to enable password-free login.

+ +
+ Create your key and do not set up remote login +

You can create the SSH key, and choose to set it up later.

+ + + +

Press the Just Create Key button.

+
+ +

Type a passphrase for your SSH key and press + OK.

+
+ +

Retype the passphrase and press OK to + finish.

+
+
+ +

The SSH key will now be listed in the OpenSSH keys + keyring.

+ + +

When you try to use your SSH key, your operating system will prompt + you for the passphrase used during creation. This ensures that if someone + gets access to your SSH key, they can't use it without the + passphrase.

+
+ +
+ +
+ Create your key and install it on a remote computer +

One of the most useful things about having an SSH key is that you can + install the public key on a remote computer. Doing this allows you to log + in to a remote computer with SSH without needing to enter your password + every time.

+ + + +

Press the Create and Set Up button, and + follow the above instructions on entering a passphrase.

+
+ +

In the dialog window that opens, enter the Server address + that you normally use to log in to the remote computer via SSH.

+
+ +

Ensure that the Login name you use on the remote + computer is correct, and press Set Up.

+
+ +

The program will now attempt to connect to the specified + Server address with the entered Login Name. If + there are any problems in accessing the remote computer, a pop-up + window will appear that explains the problem, and you can try again. + Make sure that you have a network connection and that the remote + computer is on and accessible.

+
+ +

If connection to the remote computer was successful, a dialog box + will appear which asks for the Password you use to log in to + the remote computer. Enter your password, then press + OK.

+
+
+ +

The public part of the selected SSH key will now be installed on the + remote computer and configured to allow password-free SSH login. You should + now be able to log in to the remote computer via SSH without a + password.

+ + +

If SSH key authentication fails and you cannot use password + authentication, contact the service administrator for further help.

+
+
+
diff --git a/help/C/ssh-export.page b/help/C/ssh-export.page new file mode 100644 index 00000000..740911d0 --- /dev/null +++ b/help/C/ssh-export.page @@ -0,0 +1,82 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Export your public and private SSH keys to store them in + keyfiles. + + + Export SSH keys + +

Export the contents of your SSH keys and store them in keyfiles, to have a + backup of your keys or to share your public key with someone.

+ +
+ To export your public SSH key: + + + +

Select the OpenSSH keys keyring from the left side + panel.

+
+ +

Select the Personal SSH key, that has to be exported, + from the list.

+
+ +

Right-click on the key and select Export….

+
+ +

Press the Export button to save the + exported public key on your computer.

+
+
+ +
+ +
+ To export your private SSH key: + + + +

Select the OpenSSH keys keyring from the left side + panel.

+
+ +

Select the Personal SSH key, that has to be exported, + from the list.

+
+ +

Right click on the selected key and select + Properties.

+
+ +

Press the Export button to + save the exported private key on your computer.

+
+
+ + +

Keep the exported private key file in a safe location, since the + contents of the file must be kept private, to prevent misuse of your + key.

+
+ +
+ +
diff --git a/help/C/ssh-import.page b/help/C/ssh-import.page new file mode 100644 index 00000000..624f40b0 --- /dev/null +++ b/help/C/ssh-import.page @@ -0,0 +1,57 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Jim Campbell + jwcampbell@gmail.com + 2013 + + + Import SSH keys from keyfiles into Passwords and Keys. + + + Import SSH keys + +

If you have received a key file by email, you might want to import it into + Passwords and Keys. In most cases, Passwords and Keys + automatically imports SSH keys from the ~/.ssh directory on your + computer. You can also manually import keys into + Passwords and Keys.

+ + + How do I manually import a key? + +

Press the + button in the top-left corner of the window.

+
+ +

Select Import from file… from the list.

+
+ +

In the new dialog, select the key you wish to + import. Public SSH keys end with .pub.

+
+ +

Click Open.

+
+
+ +

Imported keys are automatically grouped according to their type. So, + SSH keys are listed in the OpenSSH keys + section.

+ +
diff --git a/help/C/subkeys-add.page b/help/C/subkeys-add.page new file mode 100644 index 00000000..debee770 --- /dev/null +++ b/help/C/subkeys-add.page @@ -0,0 +1,60 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Additional subkeys make your master key more secure. + + +Add extra subkeys + +

You can add extra subkeys to the same master key. You have to choose the + right subkey each time you want to encrypt or sign when you do this.

+ + + To add extra subkeys to a PGP key: + +

Select GnuPG keys from the left side panel.

+
+ +

Select the Personal PGP key from the list.

+
+ +

Right click on the selected key and select + PropertiesDetails.

+
+ +

If the Subkeys panel is not expanded, expand it.

+
+ +

Click the Add button to add a new + subkey.

+
+ +

Choose the right properties for your key by selecting the + appropriate Key Type, Key Length and + Expiration Date and click OK.

+
+
+ + +

Always ensure that your subkey expires before your master key since a + subkey is useless when its master key has expired.

+
+ + +
diff --git a/help/C/subkeys-examine.page b/help/C/subkeys-examine.page new file mode 100644 index 00000000..f30c9f03 --- /dev/null +++ b/help/C/subkeys-examine.page @@ -0,0 +1,55 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + See all the subkeys listed under a PGP key. + + + Where are my subkeys listed? + +

You can check the contents of a keypair to see the properties of a + subkey.

+ + + To see all the subkeys in a PGP key: + +

Select the GnuPG keys from the left side panel.

+
+ +

Select the Personal PGP key.

+
+ +

Right click on the key chosen in the previous step and select + PropertiesDetails.

+
+ +

If the Subkeys panel is not expanded, expand it.

+
+ +

All the subkeys for the selected PGP key will be listed in the + panel.

+
+
+ + +

While signing another key, Passwords and Keys automatically + chooses the master key for signing, when you select a GnuPG keys + keypair to sign with.

+
+ +
diff --git a/help/C/subkeys-revoke.page b/help/C/subkeys-revoke.page new file mode 100644 index 00000000..34e53fb3 --- /dev/null +++ b/help/C/subkeys-revoke.page @@ -0,0 +1,73 @@ + + + + + + + + + + + + Aruna Sankaranarayanan + aruna.evam@gmail.com + 2013 + + + Revoke a subkey that has been compromised or is not being + used. + + + Revoke your subkeys + +

If your subkey has been compromised or is no longer in use, it might be a + good idea to revoke it to prevent misuse of the key.

+ + + To revoke a subkey: + +

Navigate to the Subkeys + panel.

+
+ + +

Select the subkey from the list and press the + Revoke button.

+
+ +

In the new dialog, select a reason for revoking the key. + Optionally, describe your reason in more detail in the + Description field.

+
+ +

Press the Revoke button.

+
+ +

You will have to unlock the key with its passphrase.

+
+ +

The Status of the subkey changes to Revoked in + the Subkeys panel.

+
+
+ + +

If you have published your subkey, you + must synchronize it with the key servers after + revoking it to apply the revocation on all copies of the key.

+
+ +
diff --git a/help/ChangeLog b/help/ChangeLog new file mode 100644 index 00000000..894b9a16 --- /dev/null +++ b/help/ChangeLog @@ -0,0 +1,320 @@ +2009-04-04 Simos Xenitellis + + * el/figures/*.png: Added screenshot by Fotis Tsamis. + +2009-03-10 Mario Blättermann + + * de/de.po: Updated German translation + +2009-03-02 Milo Casagrande + + * it/it.po: Updated Italian translation + +2009-03-01 Philip Withnall + + * en_GB/en_GB.po: Updated British English translation. + +2009-02-17 Inaki Larranaga Murgoitio + + * eu/figures/: Added image in Basque language. Images are: + file-manager.png + recipients.png + signature.png + text-editor.png + import.png + passphrase.png + export.png + generate.png + preferences.png + seahorse-window.png + key-manager.png + key-properties.png + +2009-02-16 Inaki Larranaga Murgoitio + + * eu/eu.po: Added Basque translation. + * Makefile.am: Added 'eu' to DOC_LINGUAS. + +==================== 2.25.4 ==================== + +2008-12-08 Gil Forcada + + * ca/ca.po: Added Catalan translation by Joan Duran. + * ca/figures/*.png: Added screenshots. + * Makefile.am: Added ca. + +2008-11-14 Simos Xenitellis + + * Makefile.am: Added Greek (el). + +2008-09-23 Claude Paroz + + * fr/fr.po: Updated French translation. + +2008-09-09 Luca Ferretti + + * it/it.po: Updated Italian translation by Milo Casagrande. + +2008-08-30 Mario Blättermann + + * de/de.po: Updated German translation + +2008-08-29 Jorge Gonzalez + + * es/es.po: Updated Spanish translation + +2008-08-29 Daniel Nylander + + * sv/sv.po: Updated Swedish translation. + +2008-08-02 Andre Klapper + + * de/figures/seahorse-window.png: Added screenshot by + Mario Blättermann. + +2008-08-02 Andre Klapper + + * Makefile.am: + * de/de.po: Added German translation by Mario Blättermann. + +2008-07-25 Jorge Gonzalez + + * es/es.po: Updated Spanish translation. + +2008-07-23 Claude Paroz + + * C/seahorse.xml: Typos. + Fixes #544364. + * fr/fr.po: Updated French translation. + +2008-03-31 Jorge Gonzalez + + * es/es.po: Updated Spanish translation. + +2008-03-20 Vasiliy Faronov + + * Makefile.am: + * ru/ru.po: Added Russian translation. + +2008-03-09 Jorge Gonzalez + + * es/es.po: Updated Spanish translation + * es/figures/*.png: Deleted deprecated images, updated one + +2008-02-27 Claude Paroz + + * fr/fr.po: Updated French translation. + +2008-02-21 Daniel Nylander + + * sv/sv.po: Updated Swedish translation. + +2008-02-16 Luca Ferretti + + * it.po: Updated Italian translation by Milo Casagrande. + +2008-02-12 Jorge Gonzalez + + * es/es.po: Updated Spanish translation. + +2008-02-11 Jorge Gonzalez + + * es/es.po: Updated Spanish translation + +2007-12-31 Yannig Marchegay + + * oc.po: Updated Occitan translation. + +2007-09-11 Clytie Siddall + + * vi.po: Updated Vietnamese translation. + +2007-09-10 Clytie Siddall + + * help/vi: Added vi directory + * Makefile.am: Added "vi" to LINGUAS + * vi/vi.po: Added Vietnamese translation. + +2007-09-04 Alessio Frusciante + + * it/it.po: Updated Italian translation by + Milo Casagrande . + +2007-08-25 Claude Paroz + + * fr/fr.po: Updated French translation. + +2007-08-20 Nikos Charonitakis + + * el/el.po: Added Greek translation. + +2007-06-17 Jorge Gonzalez + + * es.po: Updated Spanish translation + * fixes bug 460319 + +2007-07-18 Daniel Nylander + + * sv/sv.po: Updated Swedish translation. + +2007-06-17 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2007-05-27 Daniel Nylander + + * sv/sv.po: Updated Swedish translation. + +2007-05-09 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2007-05-07 Jorge Gonzalez + + * es/es.po: Updated Spanish translation + +2007-05-06 Jorge Gonzalez + + * es/es.po: Updated Spanish translation + +2007-05-04 Jorge Gonzalez + + * es/es.po: Updated Spanish translation + +2007-04-25 Jorge Gonzalez + + * es/es.po: Updated Spanish translation + +2007-04-24 Jorge Gonzalez + + * es/es.po: Updated Spanish translation. + +2007-04-23 Jorge Gonzalez + + * es/es.po: Updated spanish translation. + * es/figures/*.png: Added screenshots. + +2007-03-03 Christophe Bliard + + * Makefile.am: Added fr to DOC_LINGUAS + * fr/fr.po: Added French translation. + * fr/figures/*png: Added one screenshot. + +2007-03-01 Alessio Frusciante + + * it/it.po: Updated Italiant translation by + Milo Casagrande . + +2007-02-20 Alessio Frusciante + + * it/it.po: Updated Italian translation by + Milo Casagrande . + +2007-02-09 David Lodge + + * en_GB/en_GB.po: Updated English (British) translation + +2007-02-02 Daniel Nylander + + * sv/sv.po: Updated Swedish translation. + +2007-01-31 Adam Schreiber + + * help/C/seahorse.xml: Update manual to keep in line with string changes + in UI. Fixes bug #396080 + * help/C/seahorse.xml: Fix typo. Fixes bug #402856 + * help/C/seahorse.xml: Fix build due to gnome-doc-utils change. + Patch from Joseph Sacco. Fixes bug #402921 + +2007-01-30 Alessio Frusciante + + * it/figures/seahorse-window.png: Added screenshot. + +2007-01-24 David Lodge + + * en_GB/en_GB.po: Added English (British) translation + * Makefile.am: Added en_GB to DOC_LINGUAS + +2007-01-22 Alessio Frusciante + + * it/it.po: Updated Italian translation by + Milo Casagrande . + +2006-12-27 Daniel Nylander + + * sv/sv.po: Updated Swedish translation. + +2006-12-26 Adam Schreiber + + * C/seahorse.xml: Proof read manual. + +2006-12-26 Joachim Noreiko + + * C/seahorse.xml: patch from milo_casagrande@yahoo.it. #379206 + +2006-12-22 Francisco Javier F. Serrador + + * es/es.po: Initialization for translation. + +2006-12-21 Daniel Nylander + + * sv/sv.po: Updated Swedish translation. + * sv/figures/*png: Added screenshot. + +2006-12-15 Joachim Noreiko + + * C/seahorse.xml: patch from milo_casagrande@yahoo.it. #379206 + +2006-12-08 Joachim Noreiko + + * C/seahorse.xml: patch from milo_casagrande@yahoo.it. #379206 + Rewritten section 'Creating Secure Shell Keys' to be cleaner + Another patch from milo, rewriting 'Creating OpenPGP Keys' similarly. #379206 + +2006-12-06 Joachim Noreiko + + * C/seahorse.xml: patch from milo_casagrande@yahoo.it. #379206 + Also some proofreading. + +2006-12-05 Joachim Noreiko + + * C/figures/seahorse-window.png: Adding new screenshot of UI. + * C/seahorse.xml: Further updates. + Both from milo_casagrande@yahoo.it. #379206 + +2006-12-01 Joachim Noreiko + + * C/seahorse.xml: make app name consistent and + explain 'Seahorse' in About section. #379206 + +2006-11-28 Nate Nielsen + + * C/seahorse.xml: Describe PGP better Patch from + milo_casagrande@yahoo.it on #376685 + +2006-11-27 Joachim Noreiko + + * C/seahorse.xml: Update to manual. Patch from milo_casagrande@yahoo.it on #376685 + +2006-11-25 Joachim Noreiko + + * C/seahorse.xml: + Update to manual. Patch from milo_casagrande@yahoo.it on #376685 + Updating Feedback link and stock GFDL mention from new GDU template + +2006-11-17 Adam Schreiber + * Makefile.am: Fixed DOC_LINGUAS to have both + it and sv + +2006-11-06 Daniel Nylander + + * sv/sv.po: Added initial Swedish translation. + * Makefile.am: Added sv to DOC_LINGUAS. + +2006-11-06 Adam Schreiber + + * help/Makefile.am: Added it lingua + * help/it: Added Directory + * help/it/it.po: Added file from + Milo Casagrande + * help/it/.cvsignore diff --git a/help/LINGUAS b/help/LINGUAS new file mode 100644 index 00000000..03d89481 --- /dev/null +++ b/help/LINGUAS @@ -0,0 +1,13 @@ +ca +cs +de +el +es +fr +hu +id +pl +pt_BR +ru +sv +uk diff --git a/help/ca/ca.po b/help/ca/ca.po new file mode 100644 index 00000000..25c95ca1 --- /dev/null +++ b/help/ca/ca.po @@ -0,0 +1,3314 @@ +# Translators: +# Jaume Jorba , 2019 +# Assumpta, 2019 +# +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: 2020-09-06 09:45+0000\n" +"PO-Revision-Date: 2020-09-06 20:44+0200\n" +"Last-Translator: Miquel-Àngel Burgos i Fradeja \n" +"Language-Team: Catalan (https://www.transifex.com/softcatala/teams/62837/" +"ca/)\n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.3\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "" +"Jaume Jorba , 2019\n" +"Miquel-Àngel Burgos i Fradeja , 2020" + +#. (itstool) path: credit/name +#: C/about-diff-private-public.page:14 C/about-ssh.page:13 C/concepts.page:14 +#: C/index.page:14 C/introduction.page:15 C/keyring-create.page:26 +#: C/keyring.page:15 C/pgp-create.page:16 C/pgp-import.page:21 +#: C/ssh-connect-remote.page:14 C/ssh-create.page:16 C/ssh-import.page:20 +msgid "Jim Campbell" +msgstr "Jim Campbell" + +#. (itstool) path: credit/years +#: C/about-diff-private-public.page:16 C/about-pgp.page:17 C/about-ssh.page:15 +#: C/glossary.page:17 C/index.page:16 C/index.page:21 C/index.page:26 +#: C/introduction.page:17 C/introduction.page:23 C/key-servers-add.page:20 +#: C/keyring-change-default.page:16 C/keyring-create.page:18 +#: C/keyring-create.page:23 C/keyring-lock.page:17 C/keyring-unlock.page:17 +#: C/keyring-update-password.page:17 C/keyring.page:17 C/keyring.page:22 +#: C/keyring.page:27 C/misc-key-backup.page:17 C/misc-key-fingerprint.page:16 +#: C/passwords-stored-create.page:16 C/passwords-view.page:18 +#: C/pgp-create.page:18 C/pgp-create.page:24 C/pgp-delete.page:17 +#: C/pgp-expiration-change.page:16 C/pgp-expired.page:17 C/pgp-export.page:16 +#: C/pgp-import.page:18 C/pgp-import.page:23 C/pgp-photoid.page:17 +#: C/pgp-publish.page:18 C/pgp-retrieve-remote.page:18 C/pgp-sign.page:16 +#: C/pgp-subkeys.page:16 C/pgp-sync.page:18 C/pgp-userid-add.page:17 +#: C/pgp-userid-primary.page:16 C/pgp-userid-remove.page:17 +#: C/pgp-userid.page:16 C/ssh-create.page:18 C/ssh-export.page:17 +#: C/ssh-import.page:17 C/ssh-import.page:22 C/subkeys-add.page:17 +#: C/subkeys-examine.page:17 C/subkeys-revoke.page:17 +msgid "2013" +msgstr "2013" + +#. (itstool) path: info/desc +#: C/about-diff-private-public.page:19 +msgid "" +"A public key is used to encrypt communication. A private key is used to " +"decrypt it." +msgstr "" +"Una clau pública es fa servir per xifrar la comunicació. Una clau privada es " +"fa servir per desxifrar-la." + +#. (itstool) path: page/title +#: C/about-diff-private-public.page:23 +msgid "Public Key vs Private Key" +msgstr "Clau pública vs. clau privada" + +#. (itstool) path: page/p +#: C/about-diff-private-public.page:25 +msgid "" +"Although Public Keys and Private Keys are both referred to " +"as keys, it helps to think of them a bit differently. Try to think " +"of a Public Key as being like a padlock, and a Private Key " +"as being like a key that unlocks the padlock." +msgstr "" +"Tot i que tant les Claus públiques com les Claus privades " +"s'anomenen claus, ajuda a distingir-les una mica. Imagineu-vos que " +"una Clau pública és com un cadenat, i una Clau privada és " +"com una clau que obre el cadenat." + +#. (itstool) path: section/title +#: C/about-diff-private-public.page:31 +msgid "An Example: Sending a Secret Message in a Box" +msgstr "Un exemple: l'enviament d'un missatge secret en una caixa" + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:33 +msgid "" +"Let's use an example to see how this works. Imagine that you want your " +"friend to send you a secret message in a box. You could give your friend a " +"box and a padlock, but only you would have the key that unlocks the padlock." +msgstr "" +"Utilitzem un exemple per veure com funciona. Imagineu-vos que voleu que un " +"amic us enviï un missatge secret en una caixa. Podríeu donar una caixa i un " +"cadenat al vostre amic, però només vós tindríeu la clau que obre el cadenat." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:38 +msgid "" +"Your friend could put their message in the box, lock the padlock, and then " +"send you the locked box in the mail. When you receive it, you would use your " +"key to unlock the box." +msgstr "" +"El vostre amic podria ficar el missatge a la caixa, tancar el cadenat i " +"enviar-vos la caixa tancada per correu. Quan la rebéssiu, faríeu servir la " +"clau per obrir la caixa." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:42 +msgid "" +"This is similar to how a Public Key and a Private Key " +"work. Like the padlock, you can freely give out your Public Key. " +"This will make it easy for anyone to securely encrypt, or lock, a message " +"that they want to send to you." +msgstr "" +"Això s'assembla al funcionament d'una Clau pública i una Clau " +"privada. Com el cadenat, podeu donar tranquil·lament la vostra Clau " +"pública. Això facilitarà a qualsevol xifrar o tancar amb seguretat un " +"missatge que us vulgui enviar." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:47 +msgid "" +"On the other hand, a Private Key is like the key that allows you to " +"decrypt, or unlock, the padlock. Because the Private Key is used to " +"decrypt secure messages, you will want to keep your Private Key " +"safe." +msgstr "" +"En canvi, una Clau privada és la clau que us permet desxifrar, o " +"obrir, el cadenat. Com que la Clau privada es fa servir per " +"desxifrar missatges segurs, us interessa protegir la vostra Clau " +"privada." + +#. (itstool) path: credit/name +#: C/about-pgp.page:15 C/glossary.page:15 C/index.page:19 +#: C/introduction.page:21 C/key-servers-add.page:18 +#: C/keyring-change-default.page:14 C/keyring-create.page:16 +#: C/keyring-lock.page:15 C/keyring-unlock.page:15 +#: C/keyring-update-password.page:15 C/keyring.page:20 +#: C/misc-key-backup.page:15 C/misc-key-fingerprint.page:14 +#: C/passwords-stored-create.page:14 C/passwords-view.page:16 +#: C/pgp-create.page:22 C/pgp-delete.page:15 C/pgp-expiration-change.page:14 +#: C/pgp-expired.page:15 C/pgp-export.page:14 C/pgp-import.page:16 +#: C/pgp-photoid.page:15 C/pgp-sign.page:14 C/pgp-subkeys.page:14 +#: C/pgp-sync.page:16 C/pgp-userid-add.page:15 C/pgp-userid-primary.page:14 +#: C/pgp-userid-remove.page:15 C/pgp-userid.page:14 +#: C/ssh-connect-remote.page:19 C/ssh-export.page:15 C/ssh-import.page:15 +#: C/subkeys-add.page:15 C/subkeys-examine.page:15 C/subkeys-revoke.page:15 +msgid "Aruna Sankaranarayanan" +msgstr "Aruna Sankaranarayanan" + +#. (itstool) path: info/desc +#: C/about-pgp.page:20 +msgid "PGP keys are used to sign and encrypt emails and files." +msgstr "" +"Les claus PGP es fan servir per signar i xifrar correus electrònics i " +"fitxers." + +#. (itstool) path: page/title +#: C/about-pgp.page:23 +msgid "What is a PGP key?" +msgstr "Què és una clau PGP?" + +#. (itstool) path: page/p +#: C/about-pgp.page:25 +msgid "" +"A PGP key is a public encryption key. A PGP key can be used to sign and " +"encrypt emails and files. When you create a PGP key, a keypair having a " +"public key and a private key is generated. You can share the public key with " +"anyone who wishes to send you encrypted messages or files, but the private " +"key must be known only to you and used to decrypt received messages." +msgstr "" +"Una clau PGP és una clau de xifratge pública. Una clau PGP es pot utilitzar " +"per signar i xifrar correus electrònics i fitxers. Quan creeu una PGP, es " +"genera un parell de claus amb una clau pública i una de privada. Podeu " +"compartir la clau pública amb qualsevol que us vulgui enviar missatges o " +"fitxers xifrats, però la clau privada no l'heu de donar i l'heu d'utilitzar " +"per desxifrar els missatges rebuts." + +#. (itstool) path: section/title +#: C/about-pgp.page:32 +msgid "Encrypt and sign data using PGP keys" +msgstr "Xifratge i signatura de dades mitjançant claus PGP" + +#. (itstool) path: section/p +#: C/about-pgp.page:34 +msgid "" +"Passwords and Keys is a key management application. Though it " +"cannot be used to encrypt or sign files and messages, you can use it to " +"sign trustworthy keys." +msgstr "" +"Contrasenyes i claus és una aplicació per a la gestió de claus. " +"Tot i que no es pot utilitzar per xifrar o signar fitxers i missatges, el " +"podeu utilitzar per signar claus de confiança." + +#. (itstool) path: section/p +#: C/about-pgp.page:38 +msgid "" +"To secure your communication, you can use email clients like Evolution that provide encryption and signing services." +msgstr "" +"Per assegurar les vostres comunicacions, podeu utilitzar clients de correu " +"com Evolution que proporciona serveis per a xifrar i signar." + +#. (itstool) path: info/desc +#: C/about-ssh.page:18 +msgid "" +"SSH keys are used to login to a remote computer, once a secure connection " +"has been established." +msgstr "" +"Les claus SSH s'utilitzen per iniciar la sessió en un equip remot un cop " +"s'ha establert una connexió segura." + +#. (itstool) path: page/title +#: C/about-ssh.page:22 +msgid "What is a Secure Shell key?" +msgstr "Què és una Clau d'intèrpret d'ordres segur?" + +#. (itstool) path: page/p +#: C/about-ssh.page:24 +msgid "" +"A Secure Shell key, often just called an SSH key, helps " +"you create a secure connection over an unsecured network." +msgstr "" +"Una Clau d'intèrpret d'ordres segur, sovint s'anomena clau SSH, i us ajudarà a crear una connexió segura sobre una xarxa no segura." + +#. (itstool) path: list/title +#: C/about-ssh.page:28 +msgid "An SSH key actually consists of two parts:" +msgstr "Una clau SSH realment consisteix en dues parts:" + +#. (itstool) path: item/p +#: C/about-ssh.page:29 +msgid "A public key, which is widely available." +msgstr "Una clau pública, àmpliament disponible." + +#. (itstool) path: item/p +#: C/about-ssh.page:30 +msgid "" +"A private key, which is kept secret. The private key is used to unlock " +"messages encrypted with a corresponding public key." +msgstr "" +"Una clau privada, que es manté en secret. La clau privada s'utilitza per " +"desbloquejar missatges xifrats amb una clau pública corresponent." + +#. (itstool) path: page/p +#: C/about-ssh.page:34 +msgid "" +"The advantage of using an SSH key to create a connection between " +"computers is that only the Public key needs to be sent over the " +"network. Transmissions encrypted with a Public key can only be " +"decoded by unlocking them with the corresponding Private key and a " +"password. Because only the public key is sent over the network, the key's " +"password is kept secret." +msgstr "" +"L'avantatge d'utilitzar una clau SSH per crear una connexió entre " +"ordinadors és que només la clau pública necessita enviar-se per la " +"xarxa. Les transmissions xifrades per una clau pública només es pot " +"descodificar desbloquejant-los amb la corresponent clau privada i " +"una contrasenya. Com que només s'envia la clau pública per la xarxa, la " +"contrasenya de la clau es manté en secret." + +#. (itstool) path: credit/years +#: C/concepts.page:16 C/key-servers-add.page:25 C/keyring-create.page:28 +#: C/misc-key-backup.page:23 C/passwords-view.page:24 C/pgp-create.page:30 +#: C/pgp-delete.page:23 C/ssh-create.page:23 C/ssh-create.page:28 +msgid "2014" +msgstr "2014" + +#. (itstool) path: info/desc +#: C/concepts.page:19 +msgid "" +"Learn terms and concepts that are relevant to managing passwords and keys." +msgstr "" +"Obteniu informació sobre els termes i conceptes rellevants per gestionar " +"contrasenyes i claus." + +#. (itstool) path: page/title +#: C/concepts.page:23 +msgid "Key Concepts and Terms" +msgstr "Conceptes i termes sobre claus" + +#. (itstool) path: info/desc +#: C/glossary.page:20 +msgid "A list of basic terms used." +msgstr "Una llista de termes bàsics utilitzats." + +#. (itstool) path: page/title +#: C/glossary.page:23 +msgid "Glossary" +msgstr "Glossari" + +#. (itstool) path: page/p +#: C/glossary.page:25 +msgid "" +"Passwords and Keys helps you to generate and manage tokens that " +"can be used to protect your files and communication. Here are some basic " +"terms that you will encounter while reading this help:" +msgstr "" +"Contrasenyes i claus us ajuda a generar i gestionar testimonis " +"que es poden utilitzar per protegir fitxers i comunicacions. A continuació, " +"es detallen alguns termes bàsics que trobareu mentre llegiu aquesta ajuda:" + +#. (itstool) path: item/title +#: C/glossary.page:31 +msgid "Encryption" +msgstr "Xifrat" + +#. (itstool) path: item/p +#: C/glossary.page:32 +msgid "" +"Encryption is the process of making your important files and data unreadable " +"to anyone but the intended recipient. When you encrypt your data, it becomes " +"a scrambled sequence of numbers and letters. Encryption is done by someone " +"who is sending a protected file, or sending a message in a protected " +"conversation." +msgstr "" +"El xifrat és el procés que fa que els fitxers i les dades importants siguin " +"il·legibles per a qualsevol persona menys el destinatari. Quan xifreu les " +"dades, es converteixen en una seqüència regirada de números i lletres. El " +"xifratge ho fa qui envia un fitxer protegit o envia un missatge a una " +"conversa protegida." + +#. (itstool) path: item/title +#: C/glossary.page:39 +msgid "Algorithm" +msgstr "Algorisme" + +#. (itstool) path: item/p +#: C/glossary.page:40 +msgid "" +"An algorithm is a sequence of steps used to encrypt or decrypt your data." +msgstr "" +"Un algorisme és una seqüència de passos utilitzada per xifrar i desxifrar " +"les vostres dades." + +#. (itstool) path: item/title +#: C/glossary.page:44 +msgid "Decryption" +msgstr "Desxifrat" + +#. (itstool) path: item/p +#: C/glossary.page:45 +msgid "" +"Decryption is the process of retrieving the original text from the encrypted " +"message or file. It is done by the receiver of the protected file or " +"communication. Encrypted messages cannot be understood without decrypting " +"them first." +msgstr "" +"El desxifrat és el procés de recuperació del text original del missatge o " +"fitxer xifrat. Ho fa el receptor del fitxer o de la comunicació protegida. " +"Els missatges xifrats no es poden entendre sense desxifrar-los primer." + +#. (itstool) path: item/title +#: C/glossary.page:51 +msgid "Plaintext" +msgstr "Text pla" + +#. (itstool) path: item/p +#: C/glossary.page:52 +msgid "" +"Any data or file that is not encrypted, and can therefore be read by anyone " +"who can access it, is called plaintext." +msgstr "" +"Qualsevol dada o fitxer que no estigui xifrat i, per tant, es pugui llegir " +"per qualsevol que hi accedeixi, s'anomena text pla." + +#. (itstool) path: item/title +#: C/glossary.page:56 +msgid "Key" +msgstr "Clau" + +#. (itstool) path: item/p +#: C/glossary.page:57 +msgid "" +"A key is used to encrypt and decrypt files and communication. A key may also " +"be used to login to a remote computer. Some types of keys are PGP keys and SSH " +"keys." +msgstr "" +"Una clau s'utilitza per xifrar i desxifrar fitxers i comunicacions. També es " +"pot utilitzar per iniciar la sessió a un equip remot. Alguns tipus de claus " +"són les claus PGP i les claus SSH." + +#. (itstool) path: item/title +#: C/glossary.page:63 +msgid "Keyring" +msgstr "Anell de claus" + +#. (itstool) path: item/p +#: C/glossary.page:64 +msgid "A keyring is a collection of passwords or keys." +msgstr "Un anell de claus és una col·lecció de claus i contrasenyes." + +#. (itstool) path: info/title +#: C/index.page:8 +msgctxt "link" +msgid "Passwords and Keys" +msgstr "Contrasenyes i claus" + +#. (itstool) path: info/title +#: C/index.page:9 +msgctxt "text" +msgid "Passwords and Keys" +msgstr "Contrasenyes i claus" + +#. (itstool) path: credit/name +#: C/index.page:24 C/keyring-create.page:21 C/keyring.page:25 +#: C/ssh-create.page:26 +msgid "Ekaterina Gerasimova" +msgstr "Ekaterina Gerasimova" + +#. (itstool) path: info/desc +#: C/index.page:31 +msgid "" +"Use Passwords and Keys to remember your passwords, and to create " +"and manage PGP and SSH keys." +msgstr "" +"Utilitzeu Contrasenyes i claus per recordar les vostres " +"contrasenyes, i per crear claus PGP i SSH." + +#. (itstool) path: page/title +#: C/index.page:34 +msgid "<_:media-1/> Passwords and Keys" +msgstr "<_:media-1/> Contrasenyes i claus" + +#. (itstool) path: section/title +#: C/index.page:40 +msgid "SSH Keys" +msgstr "Claus SSH" + +#. (itstool) path: section/title +#: C/index.page:45 +msgid "PGP keys" +msgstr "Claus PGP" + +#. (itstool) path: section/title +#: C/index.page:50 +msgid "Stored passwords and password keyrings" +msgstr "Anell de claus i contrasenyes emmagatzemades" + +#. (itstool) path: info/desc +#: C/introduction.page:26 +msgid "" +"Use Passwords and Keys to create and manage PGP and SSH keys and " +"to save passwords that are difficult to remember." +msgstr "" +"Utilitzeu Claus i contrasenyes per crear i gestionar claus PGP i " +"SSH i per desar contrasenyes que són difícils de recordar." + +#. (itstool) path: page/title +#: C/introduction.page:30 +msgid "Introduction" +msgstr "Introducció" + +#. (itstool) path: page/p +#: C/introduction.page:32 +msgid "" +"Welcome to the Passwords and Keys help guide. Passwords and " +"Keys creates and stores security tokens, helping to keep your " +"information secure on your computer, and secure when you send information " +"over a network." +msgstr "" +"Us donem la benvinguda a la guia d'ajuda sobre Contrasenyes i claus. Contrasenyes i claus creen i emmagatzemen testimonis de " +"seguretat, ajudant a mantenir la informació segura a l'ordinador i quan " +"envieu informació a través d'una xarxa." + +#. (itstool) path: page/p +#: C/introduction.page:36 +msgid "Using Passwords and Keys, you can:" +msgstr "Utilitzant Claus i contrasenyes, podeu:" + +#. (itstool) path: item/p +#: C/introduction.page:40 +msgid "" +"Copy and save passwords that " +"are difficult to remember. To group related passwords, create keyrings." +msgstr "" +"Copieu i deseu contrasenyes " +"que siguin difícils de recordar. Per a les contrasenyes de grup, creeu anells de claus." + +#. (itstool) path: item/p +#: C/introduction.page:45 +msgid "" +"Create and manage PGP keys." +msgstr "" +"Creeu i gestioneu les claus PGP." + +#. (itstool) path: item/p +#: C/introduction.page:49 +msgid "" +"Create and manage SSH keys." +msgstr "" +"Creeu i gestioneu les claus SSH." + +#. (itstool) path: credit/name +#: C/key-servers-add.page:23 C/misc-key-backup.page:21 C/passwords-view.page:22 +#: C/pgp-create.page:28 C/pgp-delete.page:21 C/ssh-create.page:21 +msgid "Hashem Nasarat" +msgstr "Hashem Nasarat" + +#. (itstool) path: credit/name +#: C/key-servers-add.page:28 C/passwords-view.page:28 +#: C/pgp-retrieve-remote.page:21 +msgid "Andre Klapper" +msgstr "Andre Klapper" + +#. (itstool) path: credit/years +#: C/key-servers-add.page:30 C/passwords-view.page:30 +#: C/pgp-retrieve-remote.page:23 +msgid "2020" +msgstr "2020" + +#. (itstool) path: info/desc +#: C/key-servers-add.page:33 +msgid "" +"Make additions to the list of keyservers in Passwords and Keys" +msgstr "" +"Feu addicions a la llista de servidors de les claus a Contrasenyes i " +"claus" + +#. (itstool) path: page/title +#: C/key-servers-add.page:37 +msgid "Add a keyserver" +msgstr "Afegir un servidor de claus" + +#. (itstool) path: page/p +#: C/key-servers-add.page:38 +msgid "" +"Passwords and Keys have the following keyservers listed by " +"default:" +msgstr "" +"Les Contrasenyes i claus tenen els servidors de claus " +"predeterminats següents a la llista:" + +#. (itstool) path: item/p +#: C/key-servers-add.page:42 +msgid "ldap://keyserver.pgp.com" +msgstr "ldap://keyserver.pgp.com" + +#. (itstool) path: steps/title +#: C/key-servers-add.page:47 +msgid "To add a keyserver" +msgstr "Per afegir un servidor de claus" + +#. (itstool) path: item/p +#: C/key-servers-add.page:49 C/pgp-publish.page:44 +#: C/pgp-retrieve-remote.page:39 C/pgp-sync.page:41 +msgid "Press the menu button in the header bar." +msgstr "Premeu el botó de menú de la barra de capçalera." + +#. (itstool) path: item/p +#: C/key-servers-add.page:52 +msgid "Select Preferences." +msgstr "Seleccioneu Preferències." + +#. (itstool) path: item/p +#: C/key-servers-add.page:55 +msgid "Select the Key Servers tab." +msgstr "Seleccioneu la pestanya Servidors de claus." + +#. (itstool) path: item/p +#: C/key-servers-add.page:58 +msgid "Press the Add button." +msgstr "Premeu el botó Afegeix." + +#. (itstool) path: item/p +#: C/key-servers-add.page:61 +msgid "" +"In the new dialog, select the appropriate Key Server Type. Key " +"servers are identified by the protocol they use to communicate. Look for the " +"first few letters in the Internet URL of your key server to identify its " +"type." +msgstr "" +"Al diàleg nou, seleccioneu el Tipus de servidor de claus adequat. " +"Els servidors de claus s'identifiquen pel protocol que utilitzen per " +"comunicar-se. Busqueu les primeres lletres de l'URL d'Internet del vostre " +"servidor de claus per identificar de quin tipus és." + +#. (itstool) path: item/p +#: C/key-servers-add.page:67 +msgid "" +"In the Host field, paste the Internet URL of your " +"key server. Consult the documentation for the key server you're adding to " +"see if it operates on a non-standard port. If so, enter the port after the " +"':'. If you're unsure, leave the text box after the ':' blank." +msgstr "" +"Al camp Amfitrió, copieu l'URL del vostre " +"servidor de claus. Consulteu la documentació del servidor de claus que " +"afegiu per veure si funciona en un port no estàndard. Si és així, introduïu " +"el port després de ':'. Si teniu dubtes, deixeu buit el quadre de text que " +"hi ha després de ':'." + +#. (itstool) path: item/p +#: C/key-servers-add.page:74 +msgid "Press Save to finish." +msgstr "Premeu Desa per a acabar." + +#. (itstool) path: info/desc +#: C/keyring-change-default.page:19 +msgid "Save new passwords to a different keyring by default." +msgstr "" +"Deseu les contrasenyes noves en un anell de claus que no sigui el " +"predeterminat." + +#. (itstool) path: page/title +#: C/keyring-change-default.page:22 +msgid "Change the default keyring" +msgstr "Canviar l'anell de claus predeterminat" + +#. (itstool) path: page/p +#: C/keyring-change-default.page:24 +msgid "" +"When you add a new password, " +"it is normally added to the default keyring. If you want to add it to a " +"different keyring, you can choose another one while adding the new password, " +"but you can also change the default keyring. The default keyring is normally " +"the Login keyring." +msgstr "" +"Quan afegiu una contrasenya nova, normalment s'afegeix a l'anell de claus predeterminat. Si la voleu " +"afegir a un altre anell de claus, en podeu triar un altre mentre afegiu la " +"contrasenya nova, però també podeu canviar l'anell de claus predeterminat. " +"Normalment, l'anell de claus predeterminat és el d'Inici de sessió." + +#. (itstool) path: steps/title +#: C/keyring-change-default.page:32 +msgid "To change the default keyring:" +msgstr "Per canviar l'anell de claus predeterminat:" + +#. (itstool) path: item/p +#: C/keyring-change-default.page:34 +msgid "" +"Select your choice for the default keyring from the list of keyrings under " +"Passwords on the left side panel." +msgstr "" +"Seleccioneu l'anell de claus predeterminat que vulgueu a la llista d'anells " +"de claus que es troba a Contrasenyes al panell del cantó esquerre." + +#. (itstool) path: item/p +#: C/keyring-change-default.page:38 +msgid "" +"Right click on the selected keyring and select Set as default." +msgstr "" +"Feu clic amb el botó dret a l'anell de claus seleccionat i seleccioneu " +"Estableix per defecte." + +#. (itstool) path: note/p +#: C/keyring-change-default.page:44 +msgid "" +"Passwords to some GNOME applications are stored automatically by " +"Passwords and Keys in the Login keyring because it is " +"the default keyring. When you change the default keyring, any new passwords " +"created for GNOME applications will be stored in the new default keyring " +"while GNOME application passwords created before the change will remain in " +"the Login keyring." +msgstr "" +"Les contrasenyes d'algunes aplicacions de GNOME les emmagatzema " +"automàticament Contrasenyes i claus a l'anell de claus de " +"l'Inici de sessió perquè és l'anell de claus predeterminat. Si " +"canvieu l'anell de claus predeterminat, qualsevol contrasenya nova creada " +"per a les aplicacions de GNOME s'emmagatzemarà al nou anell de claus " +"predeterminat, mentre que les contrasenyes de les aplicacions de GNOME " +"creades abans del canvi es conservaran a l'anell de claus de l'Inici " +"de sessió." + +#. (itstool) path: info/desc +#: C/keyring-create.page:31 +msgid "Use password keyrings to group stored passwords." +msgstr "" +"Utilitzeu els anells de claus de contrasenyes per agrupar contrasenyes " +"emmagatzemades." + +#. (itstool) path: page/title +#: C/keyring-create.page:34 +msgid "Create a new keyring" +msgstr "Creació d'un anell de claus nou" + +#. (itstool) path: page/p +#: C/keyring-create.page:36 +msgid "" +"Use keyrings to group related passwords. You " +"can choose to protect your keyring with a password." +msgstr "" +"Utilitzeu els anells de claus per agrupar " +"contrasenyes relacionades. Podeu optar per protegir l'anell de claus amb una " +"contrasenya." + +#. (itstool) path: steps/title +#: C/keyring-create.page:40 +msgid "Create a new password keyring:" +msgstr "Creació d'un anell claus de contrasenyes nou:" + +#. (itstool) path: item/p +#: C/keyring-create.page:42 C/passwords-stored-create.page:32 +#: C/pgp-create.page:42 C/pgp-import.page:39 C/ssh-create.page:41 +#: C/ssh-import.page:39 +msgid "" +"Press the + button in the top-left corner of the " +"window." +msgstr "" +"Premeu el botó + a l'extrem superior esquerre de " +"la finestra." + +#. (itstool) path: item/p +#: C/keyring-create.page:45 +msgid "Select Password Keyring from the list." +msgstr "" +"Seleccioneu Anell de claus de contrasenyes a " +"la llista." + +#. (itstool) path: item/p +#: C/keyring-create.page:48 +msgid "" +"Choose a name for your new keyring, then press Add to continue." +msgstr "" +"Trieu un nom per a l'anell de claus nou i premeu Afegeix per continuar." + +#. (itstool) path: item/p +#: C/keyring-create.page:53 +msgid "" +"To password protect your keyring, choose a password, and retype it to " +"confirm your choice. Leave both the fields blank if you want your keyring to " +"remain unlocked at all times." +msgstr "" +"Per protegir l'anell de claus amb contrasenya, trieu-ne una i torneu-la a " +"escriure per confirmar-la. Deixeu els dos camps en blanc si voleu que " +"l'anell de claus estigui sempre obert." + +#. (itstool) path: item/p +#: C/keyring-create.page:61 +msgid "" +"Press Continue to finish creating the keyring. " +"If you have not protected your keyring with a password, you will need to " +"confirm that this is how you want to proceed." +msgstr "" +"Premeu Continua per acabar la creació de l'anell " +"de claus. Si no protegiu el vostre anell de claus amb una contrasenya, " +"haureu de confirmar que realment és el que voleu fer." + +#. (itstool) path: page/p +#: C/keyring-create.page:67 +msgid "Your new keyring will now be listed under Passwords." +msgstr "El vostre nou anell de claus es llistarà a Contrasenyes." + +#. (itstool) path: info/desc +#: C/keyring-lock.page:20 +msgid "" +"Lock and password protect your password keyrings to control access to the " +"passwords stored in them." +msgstr "" +"El bloqueig i la contrasenya protegeixen les claus de l'anell de claus per " +"controlar l'accés a les contrasenyes que s'hi emmagatzemen." + +#. (itstool) path: page/title +#: C/keyring-lock.page:24 +msgid "Lock your keyrings" +msgstr "Bloquejar el vostre anell de claus" + +#. (itstool) path: page/p +#: C/keyring-lock.page:26 +msgid "" +"To safe-keep your passwords, store them in a password-protected keyring. " +"When a password-protected keyring is locked, the passwords in it are kept " +"hidden till someone unlocks the keyring " +"with the correct password." +msgstr "" +"Per guardar les contrasenyes de forma segura, emmagatzemi-les en un anell " +"protegit amb contrasenya. Quan es bloqueja un anell de claus, les " +"contrasenyes es mantenen ocultes fins que algú desbloqueja l'anell de claus amb la contrasenya correcta." + +#. (itstool) path: note/p +#: C/keyring-lock.page:32 +msgid "" +"You can choose to protect your keyring with a password while creating it." +msgstr "" +"Podeu optar per protegir el vostre anell de claus amb una contrasenya al " +"mateix temps que la creeu." + +#. (itstool) path: steps/title +#: C/keyring-lock.page:37 +msgid "To lock your password keyring:" +msgstr "Per bloquejar el vostre anell de claus:" + +#. (itstool) path: item/p +#: C/keyring-lock.page:39 +msgid "" +"From the list of keyrings under Passwords on the left side panel, " +"select the keyring to be locked." +msgstr "" +"Des de la llista d'anells de claus a Contrasenyes al panell " +"lateral esquerra, seleccioneu l'anell de claus a bloquejar." + +#. (itstool) path: item/p +#: C/keyring-lock.page:43 +msgid "" +"Right click on the selected keyring and select Lock, or click on " +"the small picture of an opened lock next to the name of the password keyring." +msgstr "" +"Feu clic amb el botó dret sobre l'anell de claus i seleccioneu " +"Bloqueja, o feu clic a la icona d'un cadenat obert al costat del " +"nom de la contrasenya de l'anell de claus." + +#. (itstool) path: info/desc +#: C/keyring-unlock.page:20 +msgid "To view passwords stored inside a locked keyring, unlock it." +msgstr "" +"Per veure les contrasenyes emmagatzemades a l'anell de claus bloquejat, " +"desbloquegeu-lo." + +#. (itstool) path: page/title +#: C/keyring-unlock.page:23 +msgid "Unlock your keyrings" +msgstr "Desblocar l'anell de claus" + +#. (itstool) path: page/p +#: C/keyring-unlock.page:24 +msgid "" +"A keyring may often be locked to protect " +"the passwords it contains, similar to locking important things safely inside " +"a trunk. In order to look at your passwords, you must unlock the keyring " +"first." +msgstr "" +"Un anell de claus normalment estarà bloquejat per protegir les contrasenyes que conté, similar a bloquejar coses " +"importants de forma segura dins d'un bagul. Per veure les contrasenyes, " +"primer s'ha de desbloquejar la clau." + +#. (itstool) path: steps/title +#: C/keyring-unlock.page:30 +msgid "To unlock your keyring:" +msgstr "Per desbloquejar un anell de claus:" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:32 +msgid "" +"Select the keyring to be unlocked from the panel on your left. It is listed " +"under Passwords." +msgstr "" +"Seleccioneu l'anell de claus que es desbloquejarà al tauler de la vostra " +"esquerra. Es mostra a la secció següent Contrasenyes." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:36 +msgid "" +"Right click on the selected keyring and select Unlock from the " +"menu, or alternatively, click the small picture of a closed lock next to the " +"keyring name to unlock the keyring." +msgstr "" +"Feu clic amb el botó dret a l'anell de claus seleccionats i seleccioneu al " +"menú Desbloqueja, o alternativament, feu clic a la imatge petita " +"d'un cadenat tancat al costat del nom del clau per desbloquejar l'anell de " +"claus." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:41 +msgid "" +"If the keyring is password-protected, you will be prompted for a password to " +"unlock the keyring. Enter the correct password in the Password " +"field and press Unlock to finish." +msgstr "" +"Si l'anell de claus està protegit amb contrasenya, se li demanarà una " +"contrasenya per desbloquejar l'anell de claus. Introduïu la contrasenya " +"correcta al camp Contrasenya i premeu Desbloqueja per acabar." + +#. (itstool) path: note/p +#: C/keyring-unlock.page:49 +msgid "" +"You can choose to password-protect your keyrings while creating them." +msgstr "" +"Podeu triar protegir amb contrasenya el vostre anell de claus quan es creen." + +#. (itstool) path: info/desc +#: C/keyring-update-password.page:20 +msgid "" +"Keep updating the passwords to your keyrings to ensure that they are " +"protected well." +msgstr "" +"Seguiu actualitzant les contrasenyes dels vostres anells de claus per " +"assegurar-vos que estan ben protegits." + +#. (itstool) path: page/title +#: C/keyring-update-password.page:25 +msgid "Update the keyring password" +msgstr "Actualitza la contrasenya de la clau d'anells" + +#. (itstool) path: page/p +#: C/keyring-update-password.page:27 +msgid "" +"The password to unlock your keyring can be " +"updated at any time." +msgstr "" +"La contrasenya per actualitzar el vostre anell de " +"claus pot actualitzar-se en qualsevol moment." + +#. (itstool) path: steps/title +#: C/keyring-update-password.page:31 +msgid "To update the password for a password keyring:" +msgstr "" +"Per actualitzar la contrasenya d'un anell de claus protegida amb contrasenya:" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:33 +msgid "" +"Select the password keyring from the list, under Passwords, on " +"the left side panel." +msgstr "" +"Seleccioneu la contrasenya de l'anell de claus de la llista, a " +"Contrasenyes, al panell lateral de l'esquerra." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:37 +msgid "" +"Right click on the selected password keyring and select Change " +"Password." +msgstr "" +"Feu clic amb el botó dret sobre la contrasenya de l'anell de claus " +"seleccionat i, seleccioneu Canvia la contrasenya." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:41 +msgid "" +"Type your old password to authenticate yourself and press Continue." +msgstr "" +"Escriviu la vostra contrasenya antiga per autenticar-vos i premeu Continua." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:45 +msgid "" +"In the new dialog, type your new password, retype it to confirm the new " +"password and press the Continue button to finish." +msgstr "" +"Al nou diàleg, escriviu la nova contrasenya, torneu-la a teclejar per " +"confirmar-la i premeu el botó Continua per " +"acabar." + +#. (itstool) path: info/desc +#: C/keyring.page:30 +msgid "A keyring is used to group related passwords and keys." +msgstr "" +"Un anell de claus s'utilitza per agrupar contrasenyes i claus relacionades." + +#. (itstool) path: page/title +#: C/keyring.page:33 +msgid "What is a keyring?" +msgstr "Què és un anell de claus?" + +#. (itstool) path: page/p +#: C/keyring.page:35 +msgid "" +"Much like a keyring in real life allows you to keep certain sets of keys " +"together, a keyring in Passwords and Keys allows you to keep " +"passwords and keys in separate groups." +msgstr "" +"Igual que un clauer a la vida real, se us permet mantenir un conjunt de " +"claus juntes, un anell de claus Contrasenyes i claus permet " +"mantenir contrasenyes i claus en grups separats." + +#. (itstool) path: page/p +#: C/keyring.page:39 +msgid "" +"When you open Passwords and Keys for the first time, you will see " +"keys and password grouped together. In the Login keyring, you may " +"find stored passwords for GNOME applications such as Web, " +"Online Accounts etc. The Login keyring is the default " +"keyring in Passwords and keys." +msgstr "" +"Quan obriu per primera vegada el Contrasenyes i claus, veureu les " +"contrasenyes i claus agrupades. A l'anell de claus d'entrada, " +"podeu trobar les contrasenyes emmagatzemades de les aplicacions del GNOME " +"com ara Web, Comptes en línia, etc. L'anell de claus " +"d'entrada és l'anell de claus per defecte del Contrasenyes i " +"claus." + +#. (itstool) path: p/link +#: C/legal.xml:4 +msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" +msgstr "Creative Commons Atribució Compartir Igual 3.0 Llicència no portada" + +#. (itstool) path: license/p +#: C/legal.xml:3 +msgid "This work is licensed under a <_:link-1/>." +msgstr "Aquest treball està llicenciat sota <_:link-1/>." + +#. (itstool) path: info/desc +#: C/misc-key-backup.page:26 +msgid "Keep a copy of your keys in an external device." +msgstr "Mantingueu una còpia de les vostres claus en un dispositiu extern." + +#. (itstool) path: page/title +#: C/misc-key-backup.page:29 +msgid "Securely back-up your keys" +msgstr "Fer una còpia de seguretat de les vostres claus" + +#. (itstool) path: page/p +#: C/misc-key-backup.page:31 +msgid "" +"It is always advisable to save a copy of your keys on an external memory " +"device like a USB drive. The device should then be kept locked or stored " +"somewhere safe. This way you will always have a copy of the key if your " +"computer breaks or if the data on your computer is corrupted in some way." +msgstr "" +"Sempre és recomanable guardar una còpia de les teves claus en un dispositiu " +"de memòria externa com una unitat USB. El dispositiu s'ha de mantenir " +"bloquejat o emmagatzemat en algun lloc segur. D'aquesta manera sempre " +"tindreu una còpia de la clau si l'ordinador s'esgavella o si les dades del " +"vostre ordinador es corrompen d'alguna manera." + +#. (itstool) path: steps/title +#: C/misc-key-backup.page:37 +msgid "To back-up your keys:" +msgstr "Per a fer una còpia de seguretat de les vostres claus:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:39 +msgid "Export your key files:" +msgstr "Exporteu els vostres fitxers de claus:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:41 +msgid "Export your PGP keys." +msgstr "Exporteu les vostres claus PGP." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:42 +msgid "Export your SSH keys." +msgstr "Exporteu les vostres claus SSH." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:46 +msgid "Copy the exported files on an external disk." +msgstr "Copieu els fitxers exportats en un disc extern." + +#. (itstool) path: info/desc +#: C/misc-key-fingerprint.page:19 +msgid "" +"The key fingerprint is a unique ID for each key, often used to verify the " +"ownership of a key" +msgstr "" +"L'empremta de la clau és una identificació única per a cada clau, sovint " +"s'usa per verificar la propietat d'una clau" + +#. (itstool) path: page/title +#: C/misc-key-fingerprint.page:23 +msgid "What is a key fingerprint?" +msgstr "Què és l'empremta de la clau?" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:25 +msgid "" +"The fingerprint of a key is a unique sequence of letters and numbers used to " +"identify the key. Just like the fingerprints of two different people, the " +"fingerprints of two different keys can never be identical. The fingerprint " +"is the best way to identify a particular key." +msgstr "" +"L'empremta de la clau és una seqüència única de lletres i números que " +"s'utilitzen per identificar la clau. Igual que les empremtes dactilars de " +"dues persones diferents, les empremtes de dues tecles diferents mai no poden " +"ser idèntiques. L'empremta de la clau és la millor manera d'identificar una " +"determinada clau." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:30 +msgid "" +"A key has several properties like the name and email of the key owner, key " +"type, key expiration date and so on. When you are searching for a public key " +"and you find multiple keys with the same properties, the only way to " +"identify the key you are looking for is to compare the fingerprints of the " +"two keys with the fingerprint of the key you require." +msgstr "" +"Una clau té diverses propietats com el nom i el correu electrònic del " +"propietari, el tipus de clau, la data de caducitat, etc. Quan cerqueu una " +"clau pública i trobeu diverses claus amb les mateixes propietats, l'única " +"manera d'identificar la que busqueu és comparar les empremtes de les dues " +"claus amb l'empremta de la clau que necessiteu." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:36 +msgid "" +"It is the fingerprint of a key that is verified when you try to login to a " +"remote computer using SSH. While " +"signing a PGP key, you must always " +"check the key fingerprint and verify the key owner's identity to ensure that " +"you are signing the correct key." +msgstr "" +"És l'empremta d'una clau que es verifica quan intenteu iniciar la sessió amb " +"un equip remot mitjançant SSH. Mentre " +"us registreu amb una clau PGP, sempre " +"s'ha de comprovar l'empremta de la clau i verificar la identitat del " +"propietari de la clau per assegurar-se que sigui correcta." + +#. (itstool) path: section/title +#: C/misc-key-fingerprint.page:43 +msgid "Fingerprints on Passwords and Keys" +msgstr "Empremtes a Contrasenyes i claus" + +#. (itstool) path: section/p +#: C/misc-key-fingerprint.page:45 +msgid "" +"You can look at the fingerprint of a key on Passwords and Keys by " +"checking the properties of the key." +msgstr "" +"Podeu consultar l'empremta d'una clau a Contrasenyes i claus " +"consultant les propietats d'una clau." + +#. (itstool) path: steps/title +#: C/misc-key-fingerprint.page:49 +msgid "To check the fingerprint of a key:" +msgstr "Per validar l'empremta d'una clau:" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:51 C/pgp-photoid.page:44 C/pgp-publish.page:37 +#: C/subkeys-add.page:31 +msgid "Select GnuPG keys from the left side panel." +msgstr "Seleccioneu Claus GnuPG al panell esquerre." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:54 C/pgp-expiration-change.page:31 +msgid "Select the PGP key from the list." +msgstr "Seleccioneu la clau PGP de la llista." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:57 +msgid "" +"Right click the key and select Properties." +msgstr "" +"Feu clic amb el botó dret a la clau i seleccioneu Propietats." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:61 C/pgp-expiration-change.page:37 +msgid "In the new dialog, select the Details tab." +msgstr "Al nou diàleg, seleccioneu la pestanya Detalls." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:64 +msgid "You can see the fingerprint of the key on the left hand side." +msgstr "Podeu veure les empremtes de la clau a la mà esquerra." + +#. (itstool) path: info/desc +#: C/passwords-stored-create.page:19 +msgid "Passwords and keys can remember your passwords for you." +msgstr "Contrasenyes i claus poden recordar-li les contrasenyes." + +#. (itstool) path: page/title +#: C/passwords-stored-create.page:23 +msgid "Store your passwords" +msgstr "Emmagatzemar les vostres contrasenyes" + +#. (itstool) path: page/p +#: C/passwords-stored-create.page:25 +msgid "" +"Passwords and Keys automatically stores passwords for certain " +"GNOME applications in the Login keyring. Additionally, you can " +"store any other password you want to remember." +msgstr "" +"Contrasenyes i claus automàticament emmagatzema les contrasenyes " +"de les aplicacions GNOME a Autentificació de l'anell de claus. " +"Addicionalment, hi podeu emmagatzemar altres contrasenyes que vulgueu " +"recordar." + +#. (itstool) path: steps/title +#: C/passwords-stored-create.page:30 +msgid "To create a new stored password:" +msgstr "Per crear una nova contrasenya emmagatzemada:" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:35 +msgid "Select Password from the list." +msgstr "" +"Seleccioneu una Contrasenya de la llista." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:38 +msgid "" +"Select the password keyring in which you want to store your password from " +"the Keyring menu." +msgstr "" +"Seleccioneu la contrasenya de l'anell de claus en el que voleu emmagatzemar " +"la vostra contrasenya al menú Anell de claus." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:42 +msgid "" +"You can add additional information about the password in the " +"Description field, like the date of creation, or the name of the " +"application it protects, etc." +msgstr "" +"Podeu afegir informació addicional sobre la contrasenya al camp " +"Descripció, com la data de creació, o el nom de l'aplicació que " +"protegeix, etc." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:47 +msgid "" +"Type the password in the Password field. You can tick the Show password checkbox if you want to see the " +"password text while typing it out." +msgstr "" +"Escriviu la contrasenya al camp Contrasenya. Podeu marcar la " +"casella de selecció Mostra contrasenya si " +"voleu veure el text de la contrasenya mentre l'escriviu." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:52 +msgid "Press the Add button to finish." +msgstr "Premeu el botó Afegeix per acabar." + +#. (itstool) path: note/p +#: C/passwords-stored-create.page:57 +msgid "" +"The default keyring is displayed as the first choice in the Keyring drop down menu. You can change " +"the default keyring." +msgstr "" +"L'opció predeterminada de l'anell de claus es mostra com a primera opció " +"del menú desplegable Anell de claus. Podeu canviar l'opció predeterminada." + +#. (itstool) path: info/desc +#: C/passwords-view.page:33 +msgid "Check a stored password which you have forgotten." +msgstr "Comproveu una contrasenya emmagatzemada que heu oblidat." + +#. (itstool) path: page/title +#: C/passwords-view.page:36 +msgid "View stored passwords" +msgstr "Veure les contrasenyes emmagatzemades" + +#. (itstool) path: page/p +#: C/passwords-view.page:38 +msgid "" +"If you ever forget a password stored in Passwords and Keys, you can view the contents of the " +"stored password in Passwords and Keys to refresh your memory." +msgstr "" +"Si mai oblideu una contrasenya emmagatzemada a Contrasenyes i claus, podeu refrescar-" +"vos la memòria consultant el contingut de les contrasenyes desades a " +"Contrasenyes i claus." + +#. (itstool) path: steps/title +#: C/passwords-view.page:44 +msgid "To view a password:" +msgstr "Per a veure una contrasenya:" + +#. (itstool) path: item/p +#: C/passwords-view.page:46 +msgid "" +"In the side bar on the left, select the keyring which contains the password." +msgstr "" +"A la barra lateral de l'esquerra, seleccioneu l'anell de claus que conté la " +"contrasenya." + +#. (itstool) path: item/p +#: C/passwords-view.page:50 +msgid "" +"Unlock the password keyring that " +"contains your password. A list of passwords stored in the keyring will be " +"displayed." +msgstr "" +"Desbloquegeu la contrasenya de l'anell " +"de claus que conté la contrasenya. Es mostrarà una llista amb les " +"contrasenyes emmagatzemades." + +#. (itstool) path: note/p +#: C/passwords-view.page:53 +msgid "Your Login keyring is already unlocked by default." +msgstr "" +"L'anell de claus d'entrada ja està desbloquejat per defecte." + +#. (itstool) path: item/p +#: C/passwords-view.page:56 +msgid "" +"Right click on the password you want to check, and select Properties." +msgstr "" +"Feu clic amb el botó dret sobre la contrasenya que vulgueu validar, i " +"seleccioneu Propietats." + +#. (itstool) path: item/p +#: C/passwords-view.page:60 +msgid "Select the <_:media-1/> icon to view the password." +msgstr "Seleccioneu la icona <_:media-1/> per a veure la contrasenya." + +#. (itstool) path: note/p +#: C/passwords-view.page:67 +msgid "" +"Since the contents of any unlocked keyrings are available to programs you " +"may be running, and Passwords and Keys does not seek to give a " +"false sense of security, the contents of unlocked keyrings are able to be " +"viewed without entering the password." +msgstr "" +"Com que el contingut de qualsevol anell de claus desbloquejat està " +"disponible per als programes que pugueu estar executant, i Contrasenyes " +"i claus no pretén donar una falsa sensació de seguretat, el contingut " +"dels anells de claus desbloquejats es pot veure sense introduir la " +"contrasenya." + +#. (itstool) path: note/p +#: C/passwords-view.page:71 +msgid "" +"This means that if you are logged-in, the contents of the Login " +"keyring will available without entering a password from Passwords and " +"Keys." +msgstr "" +"Això vol dir que si heu iniciat la sessió, el contingut de l'anell de claus " +"d'Inici de sessió estarà disponible sense introduir cap " +"contrasenya de Contrasenyes i claus." + +#. (itstool) path: note/p +#: C/passwords-view.page:74 +msgid "" +"If you need to lend your computer to another person, it is recommended that " +"you create a user account for them, or allow them to use a guest account." +msgstr "" +"Si heu de deixar l'ordinador a una altra persona, us recomanem que creeu un " +"compte d'usuari per a ella, o que li permeteu que utilitzi un compte de " +"convidat." + +#. (itstool) path: info/desc +#: C/pgp-create.page:33 +msgid "Create and use GnuPG keys for encrypting and signing emails." +msgstr "Creeu i utilitzeu claus GnuPG per xifrar i signar correus electrònics." + +#. (itstool) path: page/title +#: C/pgp-create.page:36 +msgid "Create PGP keys" +msgstr "Crea claus PGP" + +#. (itstool) path: page/p +#: C/pgp-create.page:38 +msgid "To make a new PGP key:" +msgstr "Per fer una nova clau PGP:" + +#. (itstool) path: item/p +#: C/pgp-create.page:45 +msgid "Select GPG Key from the list." +msgstr "Seleccioneu Clau GPG a la llista." + +#. (itstool) path: item/p +#: C/pgp-create.page:48 +msgid "Enter your full name in the Full Name field." +msgstr "Introduïu el vostre nom complet al camp Nom complet." + +#. (itstool) path: item/p +#: C/pgp-create.page:51 +msgid "Optionally, add your email address and a comment to describe the key." +msgstr "" +"Opcionalment, afegiu la vostra adreça electrònica i un comentari per " +"descriure la clau." + +#. (itstool) path: item/p +#: C/pgp-create.page:55 +msgid "Press Create." +msgstr "Premeu Crea." + +#. (itstool) path: item/p +#: C/pgp-create.page:58 +msgid "" +"In the password dialog, enter a password for the key. Retype the password to " +"confirm your choice." +msgstr "" +"Al diàleg contrasenya, introduïu una contrasenya per a la clau. Reescriviu " +"la contrasenya per confirmar la vostra tria." + +#. (itstool) path: item/p +#: C/pgp-create.page:62 +msgid "Press OK to finish." +msgstr "Premeu D'acord per acabar." + +#. (itstool) path: page/p +#: C/pgp-create.page:66 +msgid "" +"Passwords and Keys will take some time to generate your key. " +"While your key is being created, move your mouse around, press some keys on " +"your keyboard, or browse the web. This will help Passwords and Keys to create a truly random key. The key will be listed under GnuPG " +"keys." +msgstr "" +"Contrasenyes i claus pren un cert temps en generar una clau. " +"Mentre la clau es crea, moveu el ratolí al voltant, premeu algunes tecles " +"del teclat, o navegueu per la web. Això us ajudarà a crear Contrasenyes " +"i claus per crear una clau aleatòria. La clau es mostrarà a claus " +"GnuPG." + +#. (itstool) path: note/p +#: C/pgp-create.page:73 +msgid "" +"The Full Name, Email Address and Comment " +"details of a GnuPG key are called the user ID of the key." +msgstr "" +"El Nom complet, L'adreça de correu electrònic i els " +"Comentaris d'una clau GnuPG s'anomena ID d'usuari d'una clau." + +#. (itstool) path: section/title +#: C/pgp-create.page:79 +msgid "Advanced PGP key options" +msgstr "Opcions avançades per a la clau PGP" + +#. (itstool) path: section/p +#: C/pgp-create.page:81 +msgid "" +"Under Advanced key options, you can choose custom values for " +"encryption type, key strength and key expiration date." +msgstr "" +"A Opcions avançades de la clau, podeu triar valors personalitzats " +"de tipus de xifratge, fortalesa de la clau i data de venciment." + +#. (itstool) path: item/title +#: C/pgp-create.page:86 +msgid "Encryption type" +msgstr "Tipus de xifratge" + +#. (itstool) path: item/p +#: C/pgp-create.page:87 +msgid "" +"Depending on your needs, create keys that can be used for signing only or " +"for both encryption and signing. The RSA and DSA-Elgamal algorithms generate " +"equally secure keys." +msgstr "" +"Segons les vostres necessitats, creeu claus que només es puguin utilitzar " +"per a signar, o tant per a xifrar com per a signar. Els algorismes RSA i DSA-" +"Elgamal generen claus igualment segures." + +#. (itstool) path: item/title +#: C/pgp-create.page:92 +msgid "Key Strength" +msgstr "Força d'una clau" + +#. (itstool) path: item/p +#: C/pgp-create.page:93 +msgid "" +"The key strength is measured in terms of the size of the key in bits. It is " +"difficult and more time consuming to break a strong key, but strong keys " +"will slow down the encryption and signing process. You should choose your " +"key strength in Passwords and Keys depending on how long you want " +"to use the key. A small key is sufficient for short term use while a large " +"key is more suitable for long term use." +msgstr "" +"La força de la clau es mesura en termes de la mida de la clau en bits. És " +"més difícil i cal més temps per trencar una clau forta, però les claus " +"fortes alenteixen el procés de xifratge i signatura. Heu d'escollir la força " +"de la vostra de la clau a Contrasenyes i claus en funció del " +"temps que voleu utilitzar la clau. Una clau petita és suficient per " +"utilitzar un curt termini de temps, mentre que una clau gran és més adequada " +"per a un ús llarg." + +#. (itstool) path: item/title +#: C/pgp-create.page:101 +msgid "Expiration Date" +msgstr "Data de caducitat" + +#. (itstool) path: item/p +#: C/pgp-create.page:102 +msgid "" +"When a key expires, certain actions no longer " +"work. In Passwords and Keys, you can either set your key " +"to Never Expire or select an expiration date " +"for it." +msgstr "" +"Quan caduca una clau, deixen de funcionar algunes " +"accions. Al Contrasenyes i claus, podeu establir que la " +"vostra clau No venç mai o seleccionar-hi una " +"data de venciment." + +#. (itstool) path: item/p +#: C/pgp-create.page:106 +msgid "" +"It is recommended that you set an expiration date in case you lose access to " +"the key. Even if your key expires, you can change the expiration to a later date." +msgstr "" +"Es recomana establir una data de venciment per si deixeu de tenir accés a la " +"clau. Encara que la vostra clau venci, podeu canviar el venciment a una data posterior." + +#. (itstool) path: info/desc +#: C/pgp-delete.page:26 +msgid "" +"Delete local copies of your keys or the keys of people you communicate with." +msgstr "" +"Elimineu les còpies locals de les vostres claus o les claus de les persones " +"amb les quals us heu comunicat." + +#. (itstool) path: page/title +#: C/pgp-delete.page:30 +msgid "Delete an existing key" +msgstr "Esborrar una clau existent" + +#. (itstool) path: page/p +#: C/pgp-delete.page:32 +msgid "" +"If you are no longer communicating with someone, you can delete the copy of " +"their GnuPG key on your computer using Passwords and Keys. You " +"can also permanently delete a key you own as long it has never been " +"published on a key server. Deleting a GnuPG key deletes both the public key " +"and the secret key." +msgstr "" +"Si ja no us comuniqueu amb algú, podeu suprimir la còpia de la seva clau " +"GnuPG al vostre ordinador mitjançant Contrasenyes i claus. També " +"podeu suprimir una clau vostra definitivament sempre que no s'hagi publicat " +"en un servidor de claus. En suprimir una clau GnuPG se suprimeix tant la " +"clau pública com la clau secreta." + +#. (itstool) path: steps/title +#: C/pgp-delete.page:39 +msgid "To delete a key:" +msgstr "Per suprimir una clau:" + +#. (itstool) path: item/p +#: C/pgp-delete.page:41 +msgid "Select the key." +msgstr "Seleccioneu la clau." + +#. (itstool) path: item/p +#: C/pgp-delete.page:45 +msgid "Right click, and choose Delete." +msgstr "Feu-hi clic dret i seleccioneu Suprimeix." + +#. (itstool) path: note/p +#: C/pgp-delete.page:47 +msgid "" +"When you delete a GnuPG key that has been published on a key server, you " +"only delete the key in your GnuPG keyring because a copy of the public key " +"will still be present on some key server." +msgstr "" +"Quan suprimiu una clau GnuPG que ja s'ha publicat en un servidor de claus, " +"només suprimiu la clau al vostre anell de claus GnuPG perquè hi seguirà " +"havent una còpia de la clau pública en algun servidor de claus." + +#. (itstool) path: note/p +#: C/pgp-delete.page:50 +msgid "" +"If you delete your GnuPG key, this means that your private key will be " +"permanently deleted, even though your public key can still be retrieved from a key server and used to " +"encrypt messages to you that you won't be able to read! To prevent such a " +"key from being used, retrieve and revoke the key. The revoked key can then " +"be synced with a key server to prevent people " +"from retrieving and using it." +msgstr "" +"Si esborreu la vostra clau GnuPG, significa que la vostra clau privada " +"s'eliminarà permanentment, tot i que la vostra clau pública encara es pot " +"recuperada des d'un servidor de " +"claus i utilitzada per xifrar missatges que no sereu capaç de llegir! Per " +"evitar que s'utilitzi aquesta clau, recupereu i revoqueu la clau. La clau " +"revocada es pot sincronitzar amb un servidor " +"de claus per evitar que les persones puguin recuperar-la i utilitzar-la." + +#. (itstool) path: item/p +#: C/pgp-delete.page:64 +msgid "" +"In the new dialog, confirm the deletion by ticking the I understand that this secret key will be permanently deleted " +"checkbox, and press the Delete button to finish." +msgstr "" +"Al nou diàleg, confirmeu l'esborrat marcant la casella de selecció Entenc que aquesta clau secreta s'esborrarà " +"permanentment, i premeu el botó Suprimeix " +"per finalitzar." + +#. (itstool) path: info/desc +#: C/pgp-expiration-change.page:19 +msgid "Advance or postpone the expiration date of your keys." +msgstr "Avanceu o ajorneu la data de caducitat de les vostres claus." + +#. (itstool) path: page/title +#: C/pgp-expiration-change.page:22 +msgid "Change the expiration date of your keys" +msgstr "Canviar la data de caducitat de les vostres claus" + +#. (itstool) path: page/p +#: C/pgp-expiration-change.page:24 +msgid "" +"If your PGP key has expired but you wish to continue its use, you can change " +"its expiry date. You can also change the expiration settings to have a key " +"expire on an earlier date." +msgstr "" +"Si la vostra clau PGP ha caducat, però voleu continuar utilitzant-la, podeu " +"canviar la data de caducitat. També podeu canviar la configuració de " +"caducitat perquè la clau caduqui en una data anterior." + +#. (itstool) path: steps/title +#: C/pgp-expiration-change.page:29 +msgid "To change the expiration date of a PGP key:" +msgstr "Per canviar la data d'expiració d'una clau PGP:" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:34 +msgid "Right click on the selected key and select Properties." +msgstr "" +"Feu clic amb el botó dret sobre la clau triada i seleccioneu " +"Propietats." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:42 +msgid "" +"To change the expiration date of the master key, press the small button with " +"the picture of a calendar next to Expires, on the right side of " +"the dialog. You can then select the new expiration date from the calendar." +msgstr "" +"Per canviar la data de caducitat de la clau mestra, premeu el botó petit amb " +"la imatge d'un calendari al costat d'Expira, al costat dret del " +"quadre de diàleg. A continuació, podeu seleccionar la nova data de caducitat " +"a un calendari." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:48 +msgid "" +"To change the expiration date of a subkey, " +"expand the Subkeys panel and select the subkey from the list. " +"Press the Expire button on the left of the panel " +"and select the new expiration date." +msgstr "" +"Per canviar la data de caducitat d'una subclau, expandiu el panell Subclaus i seleccioneu la subclau de la " +"llista. Premeu el botó Expira a l'esquerra del " +"tauler i seleccioneu la nova data de caducitat." + +#. (itstool) path: note/p +#: C/pgp-expiration-change.page:59 +msgid "" +"If you are changing the expiration date of a key that has been published, " +"you must synchronize the key with the key " +"server after making the desired changes." +msgstr "" +"Si canvieu la data de caducitat d'una clau que s'ha publicat, heu de sincronitzar la clau amb el servidor de claus un " +"cop fets els canvis desitjats." + +#. (itstool) path: info/desc +#: C/pgp-expired.page:20 +msgid "Can I still use it? Can expiration dates be changed?" +msgstr "Encara la puc fer servir? Es poden canviar les dates de caducitat?" + +#. (itstool) path: page/title +#: C/pgp-expired.page:23 +msgid "What happens if my key expires?" +msgstr "Què passa si la meva clau caduca?" + +#. (itstool) path: page/p +#: C/pgp-expired.page:25 +msgid "When your key expires, it becomes invalid. This means:" +msgstr "" +"En el moment en què la clau caduqui, es converteix en no vàlida. Això " +"significa que:" + +#. (itstool) path: item/p +#: C/pgp-expired.page:29 +msgid "It can no longer be used to encrypt and decrypt messages." +msgstr "Ja no es pot utilitzar per xifrar i desxifrar missatges." + +#. (itstool) path: item/p +#: C/pgp-expired.page:32 +msgid "It cannot sign other keys or receive signatures from other keys." +msgstr "No pot signar altres claus ni rebre signatures d'altres claus." + +#. (itstool) path: page/p +#: C/pgp-expired.page:37 +msgid "" +"Depending on how long you want your key to be valid, you can set an expiration date for it. By default, " +"Passwords and Keys sets all keys to be valid forever. That is, " +"the keys never expire." +msgstr "" +"En funció del temps que vulgueu que la vostra clau sigui vàlida, podeu " +"definir-hi la data d'expiració. " +"Per defecte, Contrasenyes i claus estableix que totes les claus " +"siguin vàlides per a sempre. És a dir, les claus mai expiren." + +#. (itstool) path: page/p +#: C/pgp-expired.page:42 +msgid "" +"The expiration date on a key can be changed anytime, even after the key has expired. However, if you " +"want to stop using the expired key, you should delete or revoke it." +msgstr "" +"La data d'expiració d'una clau pot canviar-se en qualsevol moment, fins i tot després que la clau " +"expiri. Tanmateix, si voleu deixar d'utilitzar la clau caducada, l'heu " +"d'esborrar o revocar." + +#. (itstool) path: note/p +#: C/pgp-expired.page:49 +msgid "" +"If you have any messages encrypted with an expired key, you must change the " +"expiration date on the key to decrypt such messages before deleting or " +"revoking it." +msgstr "" +"Si teniu missatges xifrats amb una clau caducada, heu de canviar la data de " +"caducitat de la clau per desxifrar aquests missatges abans de suprimir-la o " +"revocar-la." + +#. (itstool) path: info/desc +#: C/pgp-export.page:19 +msgid "Export your public and private PGP keys to store them in keyfiles." +msgstr "" +"Exporteu les vostres claus PGP públiques i privades per emmagatzemar-les en " +"fitxers de claus." + +#. (itstool) path: page/title +#: C/pgp-export.page:23 +msgid "Export PGP keys" +msgstr "Exportar claus PGP" + +#. (itstool) path: page/p +#: C/pgp-export.page:25 +msgid "" +"Export the contents of your PGP keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Exporti el contingut de les seves claus PGP i emmagatzemi-les en fitxers de " +"claus, per tenir-ne una còpia de seguretat o per compartir la clau pública " +"amb algú." + +#. (itstool) path: section/title +#: C/pgp-export.page:29 +msgid "To export your public PGP key:" +msgstr "Per a exportar la vostra clau PGP pública:" + +#. (itstool) path: item/p +#: C/pgp-export.page:33 C/pgp-export.page:62 C/pgp-userid-add.page:36 +#: C/pgp-userid-primary.page:32 C/pgp-userid-remove.page:31 +msgid "Select the GnuPG keys keyring from the left side panel." +msgstr "" +"Seleccioneu l'anell de claus claus GnuPG del panell de l'esquerra." + +#. (itstool) path: item/p +#: C/pgp-export.page:37 C/pgp-export.page:66 +msgid "" +"Select the Personal PGP key that has to be exported, from the " +"list." +msgstr "" +"Seleccioneu la clau PGP personal que s'ha d'exportar, de la " +"llista." + +#. (itstool) path: item/p +#: C/pgp-export.page:41 C/ssh-export.page:42 +msgid "" +"Right-click on the key and select Export…." +msgstr "" +"Feu clic amb el botó de la dreta i seleccioneu Exporta…." + +#. (itstool) path: item/p +#: C/pgp-export.page:44 +msgid "" +"To store the keys in the ASCII format, select Armored PGP keys " +"from the menu at the bottom of the export window" +msgstr "" +"Per a emmagatzemar les claus en format ASCII, seleccioneu Claus PGP amb " +"armadura del menú inferior de la finestra d'exportació" + +#. (itstool) path: item/p +#: C/pgp-export.page:49 C/pgp-export.page:77 +msgid "" +"Choose a location for your keyfile, and press Export to finish." +msgstr "" +"Trieu una ubicació per al fitxer de claus i premeu Exporta per acabar." + +#. (itstool) path: section/title +#: C/pgp-export.page:58 +msgid "To export your private PGP key:" +msgstr "Per a exportar la clau PGP privada:" + +#. (itstool) path: item/p +#: C/pgp-export.page:70 C/subkeys-add.page:37 +msgid "" +"Right click on the selected key and select PropertiesDetails." +msgstr "" +"Feu clic amb el botó dret a la clau seleccionada i seleccioneu " +"PropietatsDetalls." + +#. (itstool) path: item/p +#: C/pgp-export.page:74 +msgid "Press the Export button." +msgstr "Premeu el botó Exporta." + +#. (itstool) path: info/desc +#: C/pgp-import.page:26 +msgid "Import keys from keyfiles into Passwords and Keys." +msgstr "" +"Importar claus dels fitxers de claus a Contrasenyes i claus." + +#. (itstool) path: page/title +#: C/pgp-import.page:29 +msgid "Import PGP keys" +msgstr "Importar claus PGP" + +#. (itstool) path: page/p +#: C/pgp-import.page:31 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports PGP keys from your computer. You can also manually " +"import a particular key, if it has not been imported already." +msgstr "" +"Si heu rebut un fitxer clau per correu electrònic, podeu voler-lo importar a " +"Contrasenyes i claus. En la major part dels casos " +"Contrasenyes i claus importa automàticament les claus PGP des " +"del vostre ordinador. També podeu importar una clau particular manualment, " +"si encara no s'ha importat." + +#. (itstool) path: steps/title +#: C/pgp-import.page:37 C/ssh-import.page:37 +msgid "How do I manually import a key?" +msgstr "Com importo manualment una clau?" + +#. (itstool) path: item/p +#: C/pgp-import.page:42 C/ssh-import.page:42 +msgid "Select Import from file… from the list." +msgstr "" +"Seleccioneu Importa des d'un fitxer… de la " +"llista." + +#. (itstool) path: item/p +#: C/pgp-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. PGP keys end with " +"pgp or asc, GPG keys end with gpg." +msgstr "" +"En un nou diàleg, seleccioneu la clau que vulgueu importar. Les claus PGP " +"acaben en pgp o asc, Les claus GPG acaben en " +"gpg." + +#. (itstool) path: item/p +#: C/pgp-import.page:50 C/ssh-import.page:49 +msgid "Click Open." +msgstr "Feu clic a Obre." + +#. (itstool) path: page/p +#: C/pgp-import.page:54 +msgid "" +"Once imported, the PGP and GPG keys are listed under GnuPG keys." +msgstr "" +"Un cop importades, Les claus PGP i GPG es llisten a les Claus GnuPG." + +#. (itstool) path: info/desc +#: C/pgp-photoid.page:20 +msgid "" +"Include a photo ID with your existing keys so that people can identify them " +"easily." +msgstr "" +"Incloeu una identificació de fotografia a les vostres claus existents perquè " +"la gent les pugui identificar fàcilment." + +#. (itstool) path: page/title +#: C/pgp-photoid.page:24 +msgid "Attach a photo to your key" +msgstr "Adjuntar una fotografia a la vostra clau" + +#. (itstool) path: page/p +#: C/pgp-photoid.page:26 +msgid "" +"You can attach a photo ID to your PGP keys so that everyone can verify the " +"ownership of your keys after looking at your photo. Though a key with an " +"attached photo will provide a slightly better level of security than a key " +"with no photo, checking the photo on a key is not as safe as checking the " +"fingerprint of the key because " +"anyone having your photos can create a key with your photo ID while the key " +"fingerprint cannot be mimicked." +msgstr "" +"Podeu adjuntar una identificació amb fotografia a les vostres claus PGP per " +"tal que tothom pugui verificar-ne la propietat després de mirar-la. Tot i " +"que una clau amb fotografia proporciona un nivell de seguretat una mica " +"millor que una clau sense fotografia, comprovar-la en una clau no és tan " +"segur com comprovar-ne la seva empremta perquè qualsevol persona que tingui la seva fotografia podrà crear una " +"clau amb la seva identificació fotogràfica, mentre que una empremta no es " +"pot imitar." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:35 +msgid "" +"Unlike the restrictions in GPG, the photo ID you want to upload " +"need not be in the JPEG format. Passwords and Keys " +"lets you upload your photo in png, jpg and several " +"other common image formats." +msgstr "" +"A diferència de les restriccions a GPG, les identificacions amb " +"fotografia que vulgueu carregar no han d'estar en format JPEG " +"format. Contrasenyes i claus us permet carregar les vostres " +"fotografies en format png, jpg i altres formats " +"d'imatge comuns." + +#. (itstool) path: steps/title +#: C/pgp-photoid.page:42 +msgid "To attach a photo ID to a PGP key:" +msgstr "Per adjuntar una identificació amb fotografia a una clau PGP:" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:47 +msgid "Select the PGP key." +msgstr "Seleccioneu la clau PGP." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:50 +msgid "" +"Right click on the chosen key and select Properties Owner." +msgstr "" +"Feu clic amb el botó dret a la tecla escollida i seleccioneu Propietats Propietari." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:55 +msgid "" +"Press the + button on the left hand side to add " +"a photo." +msgstr "" +"Premeu el botó + de l'esquerra per a afegir una " +"fotografia." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:59 +msgid "Select the photo from your computer." +msgstr "Seleccioneu la fotografia del vostre ordinador." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:62 +msgid "Click Close to finish." +msgstr "Feu clic a Tanca per acabar." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:67 +msgid "" +"The photos you select should be small in size, preferably about 120 by 150 " +"pixels. Since a photo ID is always attached to its key, a large photo will " +"increase the key size and slow down all operations that use the key. " +"Passwords and Keys resizes large photos to the optimal size after " +"asking for your confirmation." +msgstr "" +"Les fotografies que seleccioneu han de tenir una mida petita, preferiblement " +"d'uns 120 per 150 píxels. Com que un identificador sempre s'adjunta a la " +"seva clau, una fotografia gran augmenta la mida de la clau i retarda totes " +"les operacions que utilitzin la clau. Contrasenyes i claus " +"redimensiona les fotografies grans a la mida òptima després d'haver " +"sol·licitat la confirmació." + +#. (itstool) path: credit/name +#: C/pgp-publish.page:16 C/pgp-retrieve-remote.page:16 +msgid "Aruna" +msgstr "Aruna" + +#. (itstool) path: info/desc +#: C/pgp-publish.page:21 +msgid "" +"Publish your public keys on key servers, or export and mail them to your friends." +msgstr "" +"Publiqueu les vostres claus públiques als servidors de claus, o exporteu i envieu-les per correu electrònic als " +"vostres amics." + +#. (itstool) path: page/title +#: C/pgp-publish.page:25 +msgid "Share your public keys" +msgstr "Compartir les vostres claus públiques" + +#. (itstool) path: page/p +#: C/pgp-publish.page:27 +msgid "" +"If you want people to send you encrypted communication, you must share your " +"GnuPG key with them. To share your key with a selected few " +"people, export it and mail the resulting " +"keyfile to them. To allow anyone to retrieve and use your public key, publish it on a key server." +msgstr "" +"Si voleu que la gent us enviï una comunicació xifrada, heu de compartir la " +"vostra clau GnuPG amb ells. Per compartir la vostra clau amb les " +"persones seleccionades, exporteu-les i " +"envieu-los el fitxer de clau resultant. Per permetre que qualsevol recuperi i utilitzi la vostra clau " +"pública, publiqueu-la en un servidor de claus." + +#. (itstool) path: steps/title +#: C/pgp-publish.page:35 +msgid "How do I publish my key on a key server?" +msgstr "Com puc publicar la meva clau en un servidor de claus?" + +#. (itstool) path: item/p +#: C/pgp-publish.page:40 +msgid "" +"From the list, select the Personal PGP key you want to publish." +msgstr "" +"A la llista, seleccioneu la clau PGP personal que voleu publicar." + +#. (itstool) path: item/p +#: C/pgp-publish.page:47 C/pgp-sync.page:44 +msgid "Select Sync and publish keys…." +msgstr "" +"Seleccioneu Sincronitza i publica les claus...." + +#. (itstool) path: item/p +#: C/pgp-publish.page:50 +msgid "" +"Press the Key Servers button to see the list of " +"key servers on which you can publish your public key." +msgstr "" +"Premeu el botó Servidor de claus per veure la " +"llista de servidors de claus en el que podreu publicar la vostra clau " +"pública." + +#. (itstool) path: item/p +#: C/pgp-publish.page:54 +msgid "" +"To publish your key on a key server, select the key server from the " +"Publish keys to menu." +msgstr "" +"Per publicar la clau en un servidor de claus, seleccioneu el servidor de " +"claus des del quadre de menú Publica les claus a." + +#. (itstool) path: item/p +#: C/pgp-publish.page:58 +msgid "" +"Close the Preferences window to go back to the previous dialog." +msgstr "" +"Tanqueu la finestra Preferències per a tornar al diàleg anterior." + +#. (itstool) path: item/p +#: C/pgp-publish.page:62 +msgid "Press Sync to finish." +msgstr "Premeu Sincronitza per acabar." + +#. (itstool) path: note/p +#: C/pgp-publish.page:77 +msgid "You need to be connected to the Internet while publishing your keys." +msgstr "Heu d'estar connectat a Internet mentre publiqueu les vostres claus." + +#. (itstool) path: note/title +#: C/pgp-publish.page:81 +msgid "What is a keyserver?" +msgstr "Què és un servidor de claus?" + +#. (itstool) path: note/p +#: C/pgp-publish.page:82 +msgid "" +"Key servers are computers that store copies of public encryption keys " +"submitted to them, and share these copies with other key servers through the " +"Internet." +msgstr "" +"Els servidors de claus són ordinadors que emmagatzemen còpies de les claus " +"de xifratge públic que se'ls ha enviat i, comparteixen aquestes còpies amb " +"altres servidors de claus a través d'Internet." + +#. (itstool) path: info/desc +#: C/pgp-retrieve-remote.page:26 +msgid "" +"If you want to send an urgent encrypted message to someone, but do not have " +"their key, you can retrieve their key from a remote key server." +msgstr "" +"Si voleu enviar un missatge xifrat urgent a algú, però no teniu la seva " +"clau, podeu recuperar-la d'un servidor de claus remot." + +#. (itstool) path: page/title +#: C/pgp-retrieve-remote.page:31 +msgid "Retrieve remote keys" +msgstr "Recuperar claus remotes" + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:33 +msgid "" +"You can retrieve someone's public GnuPG key from the Internet and store it " +"in Passwords and Keys." +msgstr "" +"A internet podeu recuperar una clau pública GnuPG i emmagatzemar-la a " +"Contrasenyes i claus." + +#. (itstool) path: steps/title +#: C/pgp-retrieve-remote.page:37 +msgid "To retrieve a remote key:" +msgstr "Per recuperar una clau remota:" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:42 +msgid "Select Find remote keys…." +msgstr "Seleccioneu Cerca claus remotes…." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:45 +msgid "" +"Enter information about the key you wish to retrieve in the field provided. " +"Details like key ID or the key owner's email address give more accurate " +"results than the name of the key owner." +msgstr "" +"Introduïu informació sobre la clau que voleu recuperar al camp indicat. " +"Detalls com l'ID de la clau o l'adreça de correu electrònic del seu " +"propietari, proporcionen resultats més precisos que només el nom del " +"propietari de la clau." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:50 +msgid "Press the Search button." +msgstr "Premeu el botó Cerca." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:53 +msgid "" +"From the list of search results, select the key you want to import, and " +"press the Download button on the right." +msgstr "" +"A la llista dels resultats de la cerca, seleccioneu la clau que voleu " +"importar i premeu el botó _Importa de la dreta." + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:58 +msgid "The imported key will be listed in the GnuPG keys keyring." +msgstr "La clau importada es llista a l'anell de claus Claus GnuPG." + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:61 +msgid "" +"If you want more information about a key, before importing it, select it and " +"press Enter or double-click it. This opens a new window that " +"displays information like the key ID, key fingerprint, level of trust, " +"owner's name, etc." +msgstr "" +"Si voleu més informació sobre una clau, abans d'importar-la, seleccioneu-la " +"i premeu Retorn o feu-hi doble clic. S'obrirà una finestra nova " +"amb informació com ara l'identificador de la clau, l'empremta digital, el " +"nivell de confiança, el nom del propietari, etc." + +#. (itstool) path: info/desc +#: C/pgp-sign.page:19 +msgid "If you trust a key, you can sign it." +msgstr "Si confieu en una clau, podeu signar-la." + +#. (itstool) path: page/title +#: C/pgp-sign.page:22 +msgid "Sign keys" +msgstr "Signar claus" + +#. (itstool) path: page/p +#: C/pgp-sign.page:24 +msgid "" +"To show that you trust and vouch for the genuineness of someone's key, you " +"can sign it. A person's key must be signed only after you compare the user ID on the key with a valid proof of their " +"identity, such as a passport, driver's license, or similar. If the two IDs " +"match, the key is said to be trustworthy." +msgstr "" +"Per demostrar que confieu i creieu en la genuïnitat de la clau d'algú, podeu " +"signar-la. La clau d'una persona només s'ha de signar després de comparar " +"l'ID d'usuari de la clau amb una prova " +"vàlida de la seva identitat, com ara un passaport, un permís de conduir o " +"similar. Si els dos identificadors coincideixen, es diu que la clau és " +"fiable." + +#. (itstool) path: steps/title +#: C/pgp-sign.page:31 +msgid "To sign a key:" +msgstr "Per signar una clau:" + +#. (itstool) path: item/p +#: C/pgp-sign.page:33 +msgid "" +"Import the remote key or keyfile containing the key to be signed into " +"Passwords and Keys." +msgstr "" +"Importar la clau remota o fitxerclau que conté la clau que s'ha de signar a " +"Contrasenyes i claus." + +#. (itstool) path: item/p +#: C/pgp-sign.page:38 +msgid "From the list of GnuPG keys select the imported key." +msgstr "De la llista de Claus GnuPG seleccioneu la clau importada." + +#. (itstool) path: item/p +#: C/pgp-sign.page:41 +msgid "" +"Right click the key and select PropertiesTrust." +msgstr "" +"Feu clic amb el botó dret a la clau i seleccioneu PropietatsConfiança." + +#. (itstool) path: item/p +#: C/pgp-sign.page:45 +msgid "Press the Sign this Key button." +msgstr "Premeu el botó Signa aquesta clau." + +#. (itstool) path: item/p +#: C/pgp-sign.page:48 +msgid "" +"Depending on how carefully you have checked the key, choose one out of Not at all, Casually or Very carefully." +msgstr "" +"Depenent de la cura que haureu tingut en examinar la clau, escolliu De cap manera, Informalment o Amb molt deteniment." + +#. (itstool) path: item/p +#: C/pgp-sign.page:54 +msgid "" +"Decide if you want to revoke your signature at a later date and if you want " +"to make your signature public, by ticking the checkboxes provided." +msgstr "" +"Decidiu si voleu revocar la vostra signatura en una data posterior i si " +"voleu fer-la pública, marcant les caselles de verificació." + +#. (itstool) path: item/p +#: C/pgp-sign.page:59 +msgid "" +"When you own more than one PGP key, select the key you want to sign with, " +"from the list next to Signer." +msgstr "" +"Quan teniu més d'una clau PGP, seleccioneu la clau amb la qual voleu signar, " +"a la llista del costat de Signa." + +#. (itstool) path: item/p +#: C/pgp-sign.page:63 +msgid "Press the Sign button to finish." +msgstr "Premeu el botó Signa per acabar." + +#. (itstool) path: note/title +#: C/pgp-sign.page:68 +msgid "Can I sign my own keys?" +msgstr "Puc signar les meves pròpies claus?" + +#. (itstool) path: note/p +#: C/pgp-sign.page:69 +msgid "" +"When you create a new GnuPG key, " +"it is automatically signed by you. Any new subkeys created using a GnuPG key, will also be signed " +"automatically." +msgstr "" +"Quan creeu una nova clau GnuPG, " +"se signa automàticament. Qualsevol nova subclau creada utilitzant una clau GnuPG, se signarà " +"automàticament." + +#. (itstool) path: info/desc +#: C/pgp-subkeys.page:19 +msgid "" +"A subkey is always bound to a master key in a PGP keypair. It is used for " +"encryption." +msgstr "" +"Una subclau sempre està lligada a una clau mestra en una parella de claus " +"PGP. I s'utilitza per al xifratge." + +#. (itstool) path: page/title +#: C/pgp-subkeys.page:23 +msgid "What is a subkey?" +msgstr "Què és una subclau?" + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:25 +msgid "" +"Though it is very important to keep your keys safe, it can become quite " +"tedious to do so when you have many keys. Passwords and Keys " +"provides a simple solution to key safety by using subkeys for " +"signing and encryption." +msgstr "" +"Tot i que és molt important mantenir les claus segures, pot resultar força " +"tediós fer-ho quan en tingui moltes. Contrasenyes i claus ofereix " +"una solució simple per mantenir les claus segures utilitzant subclaus per signar i xifrar." + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:30 +msgid "" +"Whenever you create a new public encryption " +"key, a keypair is generated instead of a single key. This keypair " +"consists of a main key, also called the master key and a " +"subkey. A master key can be used to create additional subkeys that " +"are then bound to it." +msgstr "" +"Quan creeu una nova clau pública de " +"xifratge, es genera una parella de claus en comptes d'una sola " +"clau. Aquest aparellament de claus consisteix en una clau principal, també " +"anomenada clau mestra i una subclau. La clau mestra es pot " +"utilitzar per crear subclaus addicionals que s'hi enllacen." + +#. (itstool) path: list/title +#: C/pgp-subkeys.page:37 +msgid "What does each key in a keypair do?" +msgstr "Què fa cada clau d'una parella de claus?" + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:39 +msgid "" +"The master key is used for signing " +"other keys, creating subkeys and revoking subkeys. Your master key must be kept very safe. Signatures of trust " +"are also collected on your master key. If the master key is compromised, you " +"have no choice but to revoke it and all the subkeys attached to it." +msgstr "" +"La clau mestra s'utilitza per signar " +"altres claus, crear subclaus i revocar " +"subclaus. Cal que la clau mestra sigui molt segura. També es recullen " +"signatures de confiança a la vostra clau mestra. Si la clau mestra es " +"compromet, no tindreu opció per revocar-la, ni les subclaus que hi té " +"lligades." + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:47 +msgid "" +"The default subkey is used for encryption and decryption of " +"messages. Additional subkeys can be created for signing. Though it is " +"important that your subkeys are kept safe, you can always revoke a subkey if " +"it is compromised and create a new one with the original master key." +msgstr "" +"Per defecte la subclau s'utilitza per xifrar i desxifrar missatges. " +"Es poden crear subclaus addicionals per signar. Tot i que és important que " +"les vostres subclaus es mantinguin segures, sempre podeu revocar una subclau " +"si està compromesa i crear-ne una de nova amb la clau mestra original." + +#. (itstool) path: section/title +#: C/pgp-subkeys.page:56 +msgid "More about subkeys" +msgstr "Més sobre les subclaus" + +#. (itstool) path: info/desc +#: C/pgp-sync.page:21 +msgid "" +"Synchronize information present in your local key with the corresponding key " +"on a key server." +msgstr "" +"Sincronitzeu la informació present a la vostra clau local amb la clau " +"corresponent en un servidor de claus." + +#. (itstool) path: page/title +#: C/pgp-sync.page:25 +msgid "Synchronize your keys" +msgstr "Sincronitzar les vostres claus" + +#. (itstool) path: page/p +#: C/pgp-sync.page:27 +msgid "" +"PGP keys in your keyring have to be synchronized with a key server to ensure " +"that any changes made to the key on the key server, like a new signature, " +"are updated in your local copy of the key. Similarly, when you change " +"information on your local key copy, like the expiration date, or when you " +"sign someone's key, you should synchronize the keys to update the changes on " +"the remote copy of the key. You need a working Internet connection to " +"synchronize your keys." +msgstr "" +"Les claus PGP de l'anell de claus s'ha de sincronitzar amb un servidor de " +"claus per assegurar que qualsevol canvi que es faci a una clau en el " +"servidor de claus, com una nova signatura, s'actualitzi a la còpia local de " +"la clau. De la mateixa manera, quan canvieu la informació de la vostra còpia " +"de clau local, com és la data de caducitat, o quan signeu la clau d'algú " +"altre, hauríeu de sincronitzar les claus per actualitzar els canvis de la " +"còpia remota de la clau. Necessiteu una connexió a Internet que funcioni per " +"sincronitzar les vostres claus." + +#. (itstool) path: steps/title +#: C/pgp-sync.page:36 +msgid "How do I synchronize a key?" +msgstr "Com se sincronitza una clau?" + +#. (itstool) path: item/p +#: C/pgp-sync.page:38 +msgid "Select the PGP key you wish to synchronize." +msgstr "Seleccioneu la clau PGP que voleu sincronitzar." + +#. (itstool) path: item/p +#: C/pgp-sync.page:47 +msgid "" +"Click the Sync button to synchronize your key." +msgstr "" +"Feu clic al botó per sincronitzar la vostra " +"clau." + +#. (itstool) path: note/title +#: C/pgp-sync.page:53 +msgid "Why is the Sync button not clickable?" +msgstr "" +"Per què el botó Sincronitza no es pot clicar?" + +#. (itstool) path: note/p +#: C/pgp-sync.page:55 +msgid "" +"Only PGP keys that have been published on a key server can be synchronized. " +"If the Sync button is not clickable, check if " +"the key has been published on a key server. In the case of synchronizing " +"your own keys, publish them before " +"synchronizing them." +msgstr "" +"Només es poden sincronitzar les claus PGP que s'han publicat en un servidor " +"de claus. Si no es pot fer clic al botó Sincronitza, comproveu si la clau s'ha publicat en un servidor de claus. Si " +"sincronitzeu les vostres pròpies claus, publiqueu-" +"les abans de sincronitzar-les." + +#. (itstool) path: info/desc +#: C/pgp-userid-add.page:20 +msgid "" +"Having many user IDs helps you to use the same key to communicate with " +"different people." +msgstr "" +"El fet de tenir molts identificadors d'usuari us ajuda a utilitzar la " +"mateixa clau per comunicar-vos amb persones diferents." + +#. (itstool) path: page/title +#: C/pgp-userid-add.page:24 +msgid "Add extra user IDs to a key" +msgstr "Afegir a una clau identificadors d'usuari addicionals" + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:26 +msgid "" +"A key can have multiple user IDs. This is helpful when you want to use the " +"same key while communicating with several people and one of them does not " +"recognize, say, the email address in your user ID. This person may not want " +"to import your public key since it contains information that they do not " +"know. In such scenarios, if you do not want to create a new key with a " +"different user ID, you can attach a new user ID to your existing key." +msgstr "" +"Una clau pot tenir diversos identificadors d'usuari. Això és útil quan es " +"vol utilitzar la mateixa clau per comunicar-se amb diverses persones i una " +"d'elles no reconeix, per exemple, l'adreça de correu electrònic del vostre " +"identificador d'usuari. És possible que aquesta persona no vulgui importar " +"la vostra clau pública, perquè conté informació que desconeix. En aquests " +"escenaris, si no voleu crear una nova clau amb un nou identificador " +"d'usuari, podeu adjuntar un nou identificador d'usuari a la clau existent." + +#. (itstool) path: steps/title +#: C/pgp-userid-add.page:34 +msgid "To add an extra user ID:" +msgstr "Per afegir identificadors d'usuari addicionals:" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:39 +msgid "From the list, select the Personal PGP key of your choice." +msgstr "" +"De la llista, seleccioneu la Clau PGP personal segons vulgueu." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:43 +msgid "" +"Right click on the key and select Properties Names " +"and Signatures." +msgstr "" +"Feu clic a la clau amb el botó dret i seleccioneu Propietats Noms i Signatures." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:47 +msgid "" +"Click the Add Name button to add a new user ID." +msgstr "" +"Feu clic al botó Afegeix un nom per afegir un " +"nou identificador d'usuari." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:51 +msgid "" +"In the new dialog, fill in details like Full Name, Email " +"Address and Key Comment for the new user ID." +msgstr "" +"Al diàleg nou, empleneu els detalls com ara Nom complet, " +"Adreça electrònica i Comentari d'una clau per al nou " +"ID d'usuari." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:56 +msgid "" +"Enter the correct passphrase and click OK to " +"finish." +msgstr "" +"Introduïu la frase de contrasenya correcta i feu clic a D'acord per finalitzar." + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:61 +msgid "" +"Your new user ID will now be listed under the Names and Signatures panel." +msgstr "" +"El vostre ID d'usuari nou figurarà al panell Noms i signatures." + +#. (itstool) path: note/p +#: C/pgp-userid-add.page:65 +msgid "" +"If your key has been published on a key server, synchronize it after adding new user IDs to update the remote copy " +"of the key." +msgstr "" +"Si heu publicat la clau en un servidor de claus, sincronitzeu-la després d'afegir els nous ID d'usuari per " +"actualitzar la còpia remota de la clau." + +#. (itstool) path: info/desc +#: C/pgp-userid-primary.page:19 +msgid "Change your default user ID" +msgstr "Canvieu l'ID d'usuari per defecte" + +#. (itstool) path: page/title +#: C/pgp-userid-primary.page:22 +msgid "What is a primary user ID?" +msgstr "Què és un ID d'usuari principal?" + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:24 +msgid "" +"When you have multiple user IDs, one of the user IDs is made the primary " +"user ID. Passwords and Keys will attach the primary user ID by " +"default with your key information, while encrypting or signing, unless you " +"explicitly choose another user ID instead." +msgstr "" +"Si teniu diversos ID d'usuari, un d'ells es considerarà l'ID d'usuari " +"principal. Contrasenyes i claus adjuntarà l'ID d'usuari principal " +"per defecte a la informació de la vostra clau, mentre xifreu o signeu, " +"tret que escolliu explícitament un altre ID." + +#. (itstool) path: steps/title +#: C/pgp-userid-primary.page:30 +msgid "To change the primary user ID in a PGP key:" +msgstr "Per canviar l'ID d'usuari principal en una clau PGP:" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:35 C/pgp-userid-remove.page:34 +#: C/subkeys-add.page:34 +msgid "Select the Personal PGP key from the list." +msgstr "Seleccioneu la Clau PGP personal a la llista." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:38 +msgid "" +"Right click on the selected key and select Properties " +"Names and Signatures." +msgstr "" +"Feu clic a la clau seleccionada i seleccioneu Propietats " +"Noms i signatures." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:43 +msgid "" +"Select the new primary user ID from the list and click Primary." +msgstr "" +"Seleccioneu l'ID d'usuari principal nou a la llista i feu clic a Principal." + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:48 +msgid "" +"The user ID will move to the top of the Names and Signatures list " +"to become your primary user ID." +msgstr "" +"L'ID d'usuari es desplaçarà a la part superior de la llista Noms i " +"signatures i es convertirà en el vostre ID d'usuari principal." + +#. (itstool) path: note/p +#: C/pgp-userid-primary.page:52 +msgid "" +"Sync your keys after changing your primary user ID to update the remote " +"copies of your key." +msgstr "" +"Sincronitzeu les claus quan hàgiu canviat el vostre ID d'usuari principal " +"per actualitzar les còpies remotes de la clau." + +#. (itstool) path: info/desc +#: C/pgp-userid-remove.page:20 +msgid "Remove extra user IDs" +msgstr "Suprimir ID d'usuari addicionals" + +#. (itstool) path: page/title +#: C/pgp-userid-remove.page:23 +msgid "Detach a user ID from a key" +msgstr "Desconnectar un ID d'usuari d'una clau" + +#. (itstool) path: page/p +#: C/pgp-userid-remove.page:25 +msgid "" +"While it is essential that all keys have at least one user ID, you can " +"remove any additional user IDs that you have attached to the key." +msgstr "" +"Tot i que és imprescindible que totes les claus tinguin com a mínim un ID " +"d'usuari, podeu suprimir qualsevol ID d'usuari addicional que hàgiu adjuntat " +"a la clau." + +#. (itstool) path: steps/title +#: C/pgp-userid-remove.page:29 +msgid "To remove a user ID from a PGP key:" +msgstr "Per suprimir un ID d'usuari d'una clau PGP:" + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:37 +msgid "" +"Right click on the selected key and choose Properties " +"Names and Signatures." +msgstr "" +"Feu clic amb el botó dret a la clau seleccionada i escolliu " +"Propietats Noms i signatures." + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:42 +msgid "" +"Select the user ID you want to remove and click Delete." +msgstr "" +"Seleccioneu l'ID d'usuari que vulgueu eliminar i feu clic a Suprimeix." + +#. (itstool) path: note/p +#: C/pgp-userid-remove.page:48 +msgid "" +"Synchronize your keys after detaching the " +"user ID to update the changes on the remote copy of the key." +msgstr "" +"Sincronitzeu les claus quan hàgiu " +"desconnectat l'ID d'usuari per actualitzar els canvis a la còpia remota de " +"la clau." + +#. (itstool) path: info/desc +#: C/pgp-userid.page:19 +msgid "Create keys with good user IDs and learn to add and remove user IDs." +msgstr "" +"Creeu claus amb bons ID d'usuari i apreneu a afegir i suprimir ID d'usuari." + +#. (itstool) path: page/title +#: C/pgp-userid.page:23 +msgid "What is a user ID?" +msgstr "Què és un ID d'usuari?" + +#. (itstool) path: page/p +#: C/pgp-userid.page:25 +msgid "" +"When you create a key, you provide details, like your name, email and a key " +"description. This information together constitutes a user ID. A good user ID " +"helps people to recognize your key when they are trying to retrieve or import " +"it. It is important to fill in authentic information while creating your " +"user ID." +msgstr "" +"Quan creeu una clau, aporteu detalls, com ara el nom, l'adreça electrònica i " +"una descripció de la clau. Tota aquesta informació constitueix un ID " +"d'usuari. Un bon ID d'usuari ajuda la gent a reconèixer la vostra clau quan " +"la vol obtenir o importar. És important que la informació que aporteu sigui " +"autèntica, quan creeu l'ID d'usuari." + +#. (itstool) path: section/title +#: C/pgp-userid.page:33 +msgid "Add, remove user IDs" +msgstr "Afegir o suprimir els ID d'usuari" + +#. (itstool) path: info/desc +#: C/ssh-connect-remote.page:23 +msgid "Use SSH keys to log in to another computer without entering a password." +msgstr "" +"Feu servir claus SSH per iniciar la sessió en un altre ordinador sense haver " +"d'introduir una contrasenya." + +#. (itstool) path: page/title +#: C/ssh-connect-remote.page:27 +msgid "Connect to other computers" +msgstr "Connectar-se a altres ordinadors" + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:29 +msgid "" +"You can use Passwords and Keys to install your SSH key onto a " +"remote computer that can run an SSH server. You can also set up your SSH key for remote login " +"while creating the key." +msgstr "" +"Podeu utilitzar Contrasenyes i claus per instal·lar la clau SSH " +"en un ordinador remot que pugui executar un servidor SSH. També podeu configurar la clau SSH per a " +"l'inici de sessió remot mentre creeu la clau." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:36 +msgid "" +"Right click on the SSH key and select Configure Key for " +"Secure Shell…." +msgstr "" +"Feu clic a la clau SSH i seleccioneu Configura la clau " +"d'intèrpret d'ordres segura…." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:40 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH, and press " +"Set Up." +msgstr "" +"A la finestra de diàleg que s'obre, introduïu l'Adreça de servidor que utilitzeu normalment per a iniciar la sessió a l'ordinador remot " +"via SSH, i premeu Configura." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:45 C/ssh-create.page:106 +msgid "" +"The program will now attempt to connect to the specified Server " +"address with the entered Login Name. If there are any " +"problems in accessing the remote computer, a pop-up window will appear that " +"explains the problem, and you can try again. Make sure that you have a " +"network connection and that the remote computer is on and accessible." +msgstr "" +"Ara el programa intentarà connectar-se a l'Adreça de servidor " +"especificada amb el Nom d'inici de sessió que s'hagi introduït. " +"Si hi ha algun problema per a accedir a l'ordinador remot, apareixerà una " +"emergent que explicarà el problema, i ho podreu tornar a provar. Comproveu " +"que tingueu una connexió de xarxa i que l'ordinador remot estigui encès i " +"sigui accessible." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:53 C/ssh-create.page:114 +msgid "" +"If connection to the remote computer was successful, a dialog box will " +"appear which asks for the Password you use to log in to the " +"remote computer. Enter your password, then press OK." +msgstr "" +"Si s'ha pogut connectar a l'ordinador remot, apareixerà un quadre de diàleg " +"que demana la Contrasenya que utilitzeu per iniciar la sessió a " +"l'ordinador remot. Introduïu la contrasenya i, a continuació, premeu D'acord." + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:60 +msgid "" +"You should now be able to log in to the remote computer via SSH without a " +"password." +msgstr "" +"Ara us hauríeu de poder connectar a l'ordinador remot mitjançant SSH sense " +"contrasenya." + +#. (itstool) path: info/desc +#: C/ssh-create.page:31 +msgid "Create SSH keys to log in to other computers." +msgstr "Crear les claus SSH per iniciar la sessió en altres ordinadors." + +#. (itstool) path: page/title +#: C/ssh-create.page:34 +msgid "Create a new SSH key" +msgstr "Crear una nova clau SSH" + +#. (itstool) path: page/p +#: C/ssh-create.page:36 +msgid "" +"An SSH key will help you to create a secure connection between computers. " +"Creating an SSH key creates both a Public and a Private " +"key. Here is how to create a new key:" +msgstr "" +"Una clau SSH us ajudarà a crear una connexió segura entre ordinadors. En " +"crear una clau SSH es crea tant una clau Pública com una de " +"Privada. Us expliquem com podeu crear una clau nova:" + +#. (itstool) path: item/p +#: C/ssh-create.page:42 +msgid "Select Secure Shell Key from the list." +msgstr "Seleccioneu Clau d'intèrpret d'ordres segur a la llista." + +#. (itstool) path: item/p +#: C/ssh-create.page:43 +msgid "" +"Enter a description for the key. The key description will help you to " +"identify the key later. For example, you could enter the date for the day, " +"something about how the key will be used, or the server name on which you " +"intend to install the key. The description field is optional, and how you " +"describe the key is entirely up to you." +msgstr "" +"Introduïu una descripció de la clau. La descripció de la clau us ajudarà a " +"identificar la clau posteriorment. Per exemple, podeu introduir la data del " +"dia, alguna cosa sobre com s'utilitzarà la clau o el nom del servidor on " +"voleu instal·lar la clau. El camp de la descripció és opcional, i podeu " +"descriure la clau com vulgueu." + +#. (itstool) path: item/p +#: C/ssh-create.page:48 +msgid "" +"You can also change default settings for encryption type or key strength." +msgstr "" +"També podeu canviar la configuració predeterminada del tipus de xifratge o " +"de la força de la clau." + +#. (itstool) path: page/p +#: C/ssh-create.page:52 +msgid "" +"At this point, you can just create your key, or create your key and install " +"it on a remote computer to enable password-free login." +msgstr "" +"En aquest moment, podeu crear la vostra clau, o crear-la i instal·lar-la en " +"un ordinador remot per permetre un inici de sessió sense contrasenya." + +#. (itstool) path: section/title +#: C/ssh-create.page:56 +msgid "Create your key and do not set up remote login" +msgstr "Crear la clau i no configurar un inici de sessió remot" + +#. (itstool) path: section/p +#: C/ssh-create.page:57 +msgid "You can create the SSH key, and choose to set it up later." +msgstr "Podeu crear la clau SSH, i optar per configurar-la més endavant." + +#. (itstool) path: item/p +#: C/ssh-create.page:61 +msgid "Press the Just Create Key button." +msgstr "Premeu el botó Crea la clau i prou." + +#. (itstool) path: item/p +#: C/ssh-create.page:64 +msgid "" +"Type a passphrase for your SSH key and press OK." +msgstr "" +"Escriviu una frase de contrasenya per a la vostra clau SSH i premeu D'acord." + +#. (itstool) path: item/p +#: C/ssh-create.page:68 +msgid "" +"Retype the passphrase and press OK to finish." +msgstr "" +"Torneu a escriure la contrasenya i premeu D'acord per acabar." + +#. (itstool) path: section/p +#: C/ssh-create.page:73 +msgid "The SSH key will now be listed in the OpenSSH keys keyring." +msgstr "" +"Ara la clau SSH es mostrarà a l'anell de claus Claus OpenSSH ." + +#. (itstool) path: note/p +#: C/ssh-create.page:77 +msgid "" +"When you try to use your SSH key, your operating system will prompt you for " +"the passphrase used during creation. This ensures that if someone gets " +"access to your SSH key, they can't use it without the passphrase." +msgstr "" +"Quan intenteu utilitzar la clau SSH, el sistema operatiu us demanarà la " +"frase de contrasenya utilitzada durant la creació. Això garanteix que si " +"algú aconsegueix accedir a la vostra clau SSH, no la pugui utilitzar sense " +"la frase de contrasenya." + +#. (itstool) path: section/title +#: C/ssh-create.page:86 +msgid "Create your key and install it on a remote computer" +msgstr "Crear la clau i instal·lar-la en un ordinador remot" + +#. (itstool) path: section/p +#: C/ssh-create.page:87 +msgid "" +"One of the most useful things about having an SSH key is that you can " +"install the public key on a remote computer. Doing this allows you to log in " +"to a remote computer with SSH without needing to enter your password every " +"time." +msgstr "" +"Una de les coses més útils de tenir una clau SSH és que es pot instal·lar la " +"clau pública en un ordinador remot. Això et permet iniciar la sessió en un " +"ordinador remot amb SSH sense haver d'introduir la contrasenya cada cop." + +#. (itstool) path: item/p +#: C/ssh-create.page:94 +msgid "" +"Press the Create and Set Up button, and follow " +"the above instructions on entering a passphrase." +msgstr "" +"Premeu el botó Crea i configura i seguiu les " +"instruccions anteriors sobre la introducció d'una frase de contrasenya." + +#. (itstool) path: item/p +#: C/ssh-create.page:98 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH." +msgstr "" +"A la finestra de diàleg que s'obre, introduïu l'Adreça de servidor que utilitzeu normalment per a iniciar la sessió a l'ordinador remot " +"mitjançant SSH." + +#. (itstool) path: item/p +#: C/ssh-create.page:102 +msgid "" +"Ensure that the Login name you use on the remote computer is " +"correct, and press Set Up." +msgstr "" +"Comproveu que el Nom d'inici de sessió que utilitzeu a " +"l'ordinador remot sigui correcte, i premeu Configura." + +#. (itstool) path: section/p +#: C/ssh-create.page:121 +msgid "" +"The public part of the selected SSH key will now be installed on the remote " +"computer and configured to allow password-free SSH login. You should now be " +"able to log in to the remote computer via SSH without a password." +msgstr "" +"La part pública de la clau SSH seleccionada s'instal·larà a l'ordinador " +"remot i es configurarà per a permetre un inici de sessió amb SSH sense frase " +"de contrasenya. Ara hauríeu de poder iniciar la sessió a l'ordinador remot " +"mitjançant SSH sense contrasenya." + +#. (itstool) path: note/p +#: C/ssh-create.page:127 +msgid "" +"If SSH key authentication fails and you cannot use password authentication, " +"contact the service administrator for further help." +msgstr "" +"Si l'autenticació de la clau SSH falla i no podeu utilitzar l'autenticació " +"de contrasenya, poseu-vos en contacte amb l'administrador del servei per " +"obtenir més ajuda." + +#. (itstool) path: info/desc +#: C/ssh-export.page:20 +msgid "Export your public and private SSH keys to store them in keyfiles." +msgstr "" +"Exporteu les claus SSH pública i privada per a emmagatzemar-les als fitxers " +"de les claus." + +#. (itstool) path: page/title +#: C/ssh-export.page:24 +msgid "Export SSH keys" +msgstr "Exportar les claus SSH" + +#. (itstool) path: page/p +#: C/ssh-export.page:26 +msgid "" +"Export the contents of your SSH keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Exporteu el contingut de les claus SSH i emmagatzemeu-les als fitxers de les " +"claus, per a tenir una còpia de seguretat de les claus o per a compartir la " +"clau pública amb algú." + +#. (itstool) path: section/title +#: C/ssh-export.page:30 +msgid "To export your public SSH key:" +msgstr "Per exportar la clau SSH pública:" + +#. (itstool) path: item/p +#: C/ssh-export.page:34 C/ssh-export.page:57 +msgid "Select the OpenSSH keys keyring from the left side panel." +msgstr "" +"Seleccioneu l'anell de claus Claus OpenSSH al panell esquerre." + +#. (itstool) path: item/p +#: C/ssh-export.page:38 C/ssh-export.page:61 +msgid "" +"Select the Personal SSH key, that has to be exported, from the " +"list." +msgstr "" +"Seleccioneu a la llista la Clau SSH personal que s'hagi " +"d'exportar." + +#. (itstool) path: item/p +#: C/ssh-export.page:45 +msgid "" +"Press the Export button to save the exported " +"public key on your computer." +msgstr "" +"Premeu el botó Exporta per desar la clau pública " +"exportada a l'ordinador." + +#. (itstool) path: section/title +#: C/ssh-export.page:53 +msgid "To export your private SSH key:" +msgstr "Per a exportar la clau SSH privada:" + +#. (itstool) path: item/p +#: C/ssh-export.page:65 +msgid "" +"Right click on the selected key and select Properties." +msgstr "" +"Feu clic a la clau seleccionada i seleccioneu Propietats." + +#. (itstool) path: item/p +#: C/ssh-export.page:69 +msgid "" +"Press the Export button to save the exported " +"private key on your computer." +msgstr "" +"Premeu el botó Exporta per desar la clau privada " +"exportada a l'ordinador." + +#. (itstool) path: note/p +#: C/ssh-export.page:75 +msgid "" +"Keep the exported private key file in a safe location, since the contents of " +"the file must be kept private, to prevent misuse of your key." +msgstr "" +"Deseu el fitxer de la clau privada exportada en un lloc segur, ja que el " +"contingut del fitxer ha de ser privat per evitar un mal ús de la vostra clau." + +#. (itstool) path: info/desc +#: C/ssh-import.page:25 +msgid "Import SSH keys from keyfiles into Passwords and Keys." +msgstr "" +"Importeu claus SSH dels fitxers de claus a Contrasenyes i claus." + +#. (itstool) path: page/title +#: C/ssh-import.page:28 +msgid "Import SSH keys" +msgstr "Importar claus SSH" + +#. (itstool) path: page/p +#: C/ssh-import.page:30 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports SSH keys from the ~/.ssh directory on " +"your computer. You can also manually import keys into Passwords and " +"Keys." +msgstr "" +"Si heu rebut un fitxer de claus per correu electrònic, és possible que el " +"vulgueu importar a Contrasenyes i claus. Normalment, " +"Contrasenyes i claus importa automàticament les claus SSH del " +"directori ~/.ssh al vostre ordinador. També podeu importar les " +"claus manualment a Contrasenyes i claus." + +#. (itstool) path: item/p +#: C/ssh-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. Public SSH keys end " +"with .pub." +msgstr "" +"Al diàleg nou, seleccioneu la clau que vulgueu importar. Les claus SSH " +"públiques acaben amb .pub." + +#. (itstool) path: page/p +#: C/ssh-import.page:53 +msgid "" +"Imported keys are automatically grouped according to their type. So, " +"SSH keys are listed in the OpenSSH keys section." +msgstr "" +"Les claus importades s'agrupen automàticament segons el tipus de clau. Així " +"doncs, les claus SSH es mostren en una llista de la secció " +"claus OpenSSH." + +#. (itstool) path: info/desc +#: C/subkeys-add.page:20 +msgid "Additional subkeys make your master key more secure." +msgstr "" +"Les subclaus addicionals fan que la vostra clau mestra sigui més segura." + +#. (itstool) path: page/title +#: C/subkeys-add.page:23 +msgid "Add extra subkeys" +msgstr "Afegir subclaus addicionals" + +#. (itstool) path: page/p +#: C/subkeys-add.page:25 +msgid "" +"You can add extra subkeys to the same master key. You have to choose the " +"right subkey each time you want to encrypt or sign when you do this." +msgstr "" +"Podeu afegir subclaus addicionals a la mateixa clau mestra. Heu de triar la " +"subclau correcta cada cop que vulgueu xifrar o iniciar la sessió, quan ho " +"feu." + +#. (itstool) path: steps/title +#: C/subkeys-add.page:29 +msgid "To add extra subkeys to a PGP key:" +msgstr "Per afegir subclaus addicionals a una clau PGP:" + +#. (itstool) path: item/p +#: C/subkeys-add.page:41 C/subkeys-examine.page:41 +msgid "If the Subkeys panel is not expanded, expand it." +msgstr "Si el panell Sublcaus no s'amplia, amplieu-lo." + +#. (itstool) path: item/p +#: C/subkeys-add.page:44 +msgid "Click the Add button to add a new subkey." +msgstr "" +"Feu clic al botó Afegeix per afegir una subclau " +"nova." + +#. (itstool) path: item/p +#: C/subkeys-add.page:48 +msgid "" +"Choose the right properties for your key by selecting the appropriate " +"Key Type, Key Length and Expiration Date " +"and click OK." +msgstr "" +"Trieu les propietats correctes per a la vostra clau seleccionant el " +"Tipus de clau, Llargada de la clau i Data de " +"caducitat correctes i feu clic a D'acord." + +#. (itstool) path: note/p +#: C/subkeys-add.page:55 +msgid "" +"Always ensure that your subkey expires before your master key since a subkey " +"is useless when its master key has expired." +msgstr "" +"Comproveu sempre que la subclau caduqui abans que la clau mestra, ja que una " +"subclau no serveix per a res quan la seva clau mestra ha caducat." + +#. (itstool) path: info/desc +#: C/subkeys-examine.page:20 +msgid "See all the subkeys listed under a PGP key." +msgstr "Veieu totes les subclaus enumerades en una clau PGP." + +#. (itstool) path: page/title +#: C/subkeys-examine.page:23 +msgid "Where are my subkeys listed?" +msgstr "On és la llista de les meves claus?" + +#. (itstool) path: page/p +#: C/subkeys-examine.page:25 +msgid "" +"You can check the contents of a keypair to see the properties of a subkey." +msgstr "" +"Podeu consultar el contingut d'un parell de claus per veure les propietats " +"d'una subclau." + +#. (itstool) path: steps/title +#: C/subkeys-examine.page:29 +msgid "To see all the subkeys in a PGP key:" +msgstr "Per veure totes les subclaus d'una clau PGP:" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:31 +msgid "Select the GnuPG keys from the left side panel." +msgstr "Seleccioneu claus GnuPG al panell esquerre." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:34 +msgid "Select the Personal PGP key." +msgstr "Seleccioneu la Clau PGP personal." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:37 +msgid "" +"Right click on the key chosen in the previous step and select " +"PropertiesDetails." +msgstr "" +"Feu clic amb el botó dret a la clau que hàgiu escollit al pas anterior i " +"seleccioneu PropietatsDetalls." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:44 +msgid "All the subkeys for the selected PGP key will be listed in the panel." +msgstr "Totes les subclaus de la clau PGP seleccionada es mostraran al panell." + +#. (itstool) path: note/p +#: C/subkeys-examine.page:50 +msgid "" +"While signing another key, Passwords and Keys automatically " +"chooses the master key for signing, when you select a GnuPG keys " +"keypair to sign with." +msgstr "" +"Quan signeu una altra clau, Contrasenyes i claus tria " +"automàticament la clau mestra per a signar, quan seleccioneu un parell de " +"claus de Claus GnuPG per signar." + +#. (itstool) path: info/desc +#: C/subkeys-revoke.page:20 +msgid "Revoke a subkey that has been compromised or is not being used." +msgstr "" +"Revoqueu una subclau que s'ha vist compromesa o que no s'estigui utilitzant." + +#. (itstool) path: page/title +#: C/subkeys-revoke.page:24 +msgid "Revoke your subkeys" +msgstr "Revocar les vostres subclaus" + +#. (itstool) path: page/p +#: C/subkeys-revoke.page:26 +msgid "" +"If your subkey has been compromised or is no longer in use, it might be a " +"good idea to revoke it to prevent misuse of the key." +msgstr "" +"Si la vostra subclau s'ha vist compromesa o ja no s'utilitza, pot ser una " +"bona idea revocar-la per evitar-ne un mal ús." + +#. (itstool) path: steps/title +#: C/subkeys-revoke.page:30 +msgid "To revoke a subkey:" +msgstr "Per revocar una subclau:" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:32 +msgid "" +"Navigate to the Subkeys " +"panel." +msgstr "" +"Navegueu al panell Subclaus." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:47 +msgid "" +"Select the subkey from the list and press the Revoke button." +msgstr "" +"Seleccioneu la subclau de la llista i premeu el botó Revoca." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:51 +msgid "" +"In the new dialog, select a reason for revoking the key. Optionally, " +"describe your reason in more detail in the Description field." +msgstr "" +"Al quadre nou diàleg, seleccioneu un motiu per revocar la clau. " +"Opcionalment, descriviu la vostra raó amb més detall al camp " +"Descripció." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:56 +msgid "Press the Revoke button." +msgstr "Premeu el botó Revoca." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:59 +msgid "You will have to unlock the key with its passphrase." +msgstr "Haureu de desbloquejar la clau amb el seu mot de pas." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:62 +msgid "" +"The Status of the subkey changes to Revoked in the " +"Subkeys panel." +msgstr "" +"L'Estatus de la subclau canvia a Revocada al panell de " +"Subclaus." + +#. (itstool) path: note/p +#: C/subkeys-revoke.page:68 +msgid "" +"If you have published your subkey, you " +"must synchronize it with the key servers " +"after revoking it to apply the revocation on all copies of the key." +msgstr "" +"Si heu publicat la vostra subclau, heu de " +"sincronitzar-la amb els servidors de claus " +"després de revocar-la per aplicar a totes les còpies de la clau." + +#~ msgid "hkp://pool.sks-keyservers.net" +#~ msgstr "hkp://pool.sks-keyservers.net" + +#~ msgid "" +#~ "Select Edit Preferences" +#~ msgstr "" +#~ "Seleccioneu Editar Preferències" + +#~ msgid "" +#~ "Select View By " +#~ "keyring." +#~ msgstr "" +#~ "Seleccioneu Vista Per l'anell de claus." + +#~ msgid "" +#~ "Expand the Passwords panel, if necessary, and tick the Show password checkbox to view the password." +#~ msgstr "" +#~ "Expandiu el panell Contrasenyes, si és necessari, i marqueu la " +#~ "casella de selecció Mostra contrasenya per " +#~ "veure-la." + +#~ msgid "" +#~ "Select the key. (You may need to show all keys, with ViewShow any )" +#~ msgstr "" +#~ "Seleccioneu la clau. (És possible que hàgiu de veure totes les claus, amb " +#~ "VistaMostra'n " +#~ "qualsevol)" + +#~ msgid "" +#~ "Right click, and choose Delete. Alternatively you can also " +#~ "select Edit Delete to delete the key." +#~ msgstr "" +#~ "Feu clic amb el botó dret, i trieu Suprimeix. Alternativament, " +#~ "també podeu seleccionar Edita Suprimeix per suprimir la clau." + +#~ msgid "" +#~ "Select Remote Find Remote Keys…." +#~ msgstr "" +#~ "Seleccioneu Remot Cerca claus remotes…." + +#~ msgid "" +#~ "If you cannot see the retrieved key, please select ViewShow any." +#~ msgstr "" +#~ "Si no pot recuperar la clau, si us plau, seleccioneu VistaMostra'n qualsevol." diff --git a/help/cs/cs.po b/help/cs/cs.po new file mode 100644 index 00000000..a4691782 --- /dev/null +++ b/help/cs/cs.po @@ -0,0 +1,3161 @@ +# Czech translation for seahorse. +# Copyright (C) 2014 seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# +# Marek Černocký , 2015, 2016, 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"POT-Creation-Date: 2020-07-31 17:47+0000\n" +"PO-Revision-Date: 2020-09-09 22:59+0200\n" +"Last-Translator: Marek Černocký \n" +"Language-Team: Czech \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Gtranslator 2.91.6\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "Marek Černocký " + +#. (itstool) path: credit/name +#: C/about-diff-private-public.page:14 C/about-ssh.page:13 C/concepts.page:14 +#: C/index.page:14 C/introduction.page:15 C/keyring-create.page:26 +#: C/keyring.page:15 C/pgp-create.page:16 C/pgp-import.page:21 +#: C/ssh-connect-remote.page:14 C/ssh-create.page:16 C/ssh-import.page:20 +msgid "Jim Campbell" +msgstr "Jim Campbell" + +#. (itstool) path: credit/years +#: C/about-diff-private-public.page:16 C/about-pgp.page:17 C/about-ssh.page:15 +#: C/glossary.page:17 C/index.page:16 C/index.page:21 C/index.page:26 +#: C/introduction.page:17 C/introduction.page:23 C/key-servers-add.page:20 +#: C/keyring-change-default.page:16 C/keyring-create.page:18 +#: C/keyring-create.page:23 C/keyring-lock.page:17 C/keyring-unlock.page:17 +#: C/keyring-update-password.page:17 C/keyring.page:17 C/keyring.page:22 +#: C/keyring.page:27 C/misc-key-backup.page:17 C/misc-key-fingerprint.page:16 +#: C/passwords-stored-create.page:16 C/passwords-view.page:18 +#: C/pgp-create.page:18 C/pgp-create.page:24 C/pgp-delete.page:17 +#: C/pgp-expiration-change.page:16 C/pgp-expired.page:17 C/pgp-export.page:16 +#: C/pgp-import.page:18 C/pgp-import.page:23 C/pgp-photoid.page:17 +#: C/pgp-publish.page:18 C/pgp-retrieve-remote.page:18 C/pgp-sign.page:16 +#: C/pgp-subkeys.page:16 C/pgp-sync.page:18 C/pgp-userid-add.page:17 +#: C/pgp-userid-primary.page:16 C/pgp-userid-remove.page:17 +#: C/pgp-userid.page:16 C/ssh-create.page:18 C/ssh-export.page:17 +#: C/ssh-import.page:17 C/ssh-import.page:22 C/subkeys-add.page:17 +#: C/subkeys-examine.page:17 C/subkeys-revoke.page:17 +msgid "2013" +msgstr "2013" + +#. (itstool) path: info/desc +#: C/about-diff-private-public.page:19 +msgid "" +"A public key is used to encrypt communication. A private key is used to " +"decrypt it." +msgstr "" +"Veřejný klíč se používá k zašifrování komunikace. Soukromý klíč k jejímu " +"dešifrování." + +#. (itstool) path: page/title +#: C/about-diff-private-public.page:23 +msgid "Public Key vs Private Key" +msgstr "Veřejný klíč vs. soukromý klíč" + +#. (itstool) path: page/p +#: C/about-diff-private-public.page:25 +msgid "" +"Although Public Keys and Private Keys are both referred to " +"as keys, it helps to think of them a bit differently. Try to think " +"of a Public Key as being like a padlock, and a Private Key " +"as being like a key that unlocks the padlock." +msgstr "" +"Ačkoliv se o veřejných klíčích i o soukromých klíčích " +"bavíme jako o klíčích, pomůže vám o nich uvažovat trochu odlišně. " +"Zkuste veřejný klíč považovat za něco jako zámek a soukromý " +"klíč za klíč, který tento zámek odemyká." + +#. (itstool) path: section/title +#: C/about-diff-private-public.page:31 +msgid "An Example: Sending a Secret Message in a Box" +msgstr "Příklad: odeslání zabalené tajné zprávy" + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:33 +msgid "" +"Let's use an example to see how this works. Imagine that you want your " +"friend to send you a secret message in a box. You could give your friend a " +"box and a padlock, but only you would have the key that unlocks the padlock." +msgstr "" +"Pojďme použít příklad, abycho ukázali, jak to funguje. Představte si, že " +"chcete, aby vám přítel poslal tajnou zabalenou zprávu. Mohli byste mu dát " +"bedýnku a zámek, ale jen vy byste měli klíč, kterým lze zámek odemknout." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:38 +msgid "" +"Your friend could put their message in the box, lock the padlock, and then " +"send you the locked box in the mail. When you receive it, you would use your " +"key to unlock the box." +msgstr "" +"Váš přitel by mohl svoji zprávu vložit do bedýnky, zaklapnout zámek a " +"zamčenou bedýnku poslat poštou. Až ji obdržíte, použili byste klíč k jejímu " +"odemknutí." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:42 +msgid "" +"This is similar to how a Public Key and a Private Key " +"work. Like the padlock, you can freely give out your Public Key. " +"This will make it easy for anyone to securely encrypt, or lock, a message " +"that they want to send to you." +msgstr "" +"To se přesně podobá tomu, jak funguje veřejný klíč a soukromý " +"klíč. Veřejný klíč můžete volně poslat, podobně jako zámek. " +"Kdokoliv díky tomu může snado bezpečně zašifrovat nebo zamknout zprávu, " +"kterou vám chce poslat." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:47 +msgid "" +"On the other hand, a Private Key is like the key that allows you to " +"decrypt, or unlock, the padlock. Because the Private Key is used to " +"decrypt secure messages, you will want to keep your Private Key " +"safe." +msgstr "" +"Naopak soukromý klíč je podobný skutečnému klíči, kterým byste " +"odemkli zámek. Protože se soukromý klíč používá k dešifrování " +"zabezpečených zpráv, budete jej chtít uchovat v bezpečí." + +#. (itstool) path: credit/name +#: C/about-pgp.page:15 C/glossary.page:15 C/index.page:19 +#: C/introduction.page:21 C/key-servers-add.page:18 +#: C/keyring-change-default.page:14 C/keyring-create.page:16 +#: C/keyring-lock.page:15 C/keyring-unlock.page:15 +#: C/keyring-update-password.page:15 C/keyring.page:20 +#: C/misc-key-backup.page:15 C/misc-key-fingerprint.page:14 +#: C/passwords-stored-create.page:14 C/passwords-view.page:16 +#: C/pgp-create.page:22 C/pgp-delete.page:15 C/pgp-expiration-change.page:14 +#: C/pgp-expired.page:15 C/pgp-export.page:14 C/pgp-import.page:16 +#: C/pgp-photoid.page:15 C/pgp-sign.page:14 C/pgp-subkeys.page:14 +#: C/pgp-sync.page:16 C/pgp-userid-add.page:15 C/pgp-userid-primary.page:14 +#: C/pgp-userid-remove.page:15 C/pgp-userid.page:14 +#: C/ssh-connect-remote.page:19 C/ssh-export.page:15 C/ssh-import.page:15 +#: C/subkeys-add.page:15 C/subkeys-examine.page:15 C/subkeys-revoke.page:15 +msgid "Aruna Sankaranarayanan" +msgstr "Aruna Sankaranarayanan" + +#. (itstool) path: info/desc +#: C/about-pgp.page:20 +msgid "PGP keys are used to sign and encrypt emails and files." +msgstr "Jak slouží klíče PGP k podepisování a šifrování e-mailů a souborů." + +#. (itstool) path: page/title +#: C/about-pgp.page:23 +msgid "What is a PGP key?" +msgstr "Co je to klíč PGP?" + +#. (itstool) path: page/p +#: C/about-pgp.page:25 +msgid "" +"A PGP key is a public encryption key. A PGP key can be used to sign and " +"encrypt emails and files. When you create a PGP key, a keypair having a " +"public key and a private key is generated. You can share the public key with " +"anyone who wishes to send you encrypted messages or files, but the private " +"key must be known only to you and used to decrypt received messages." +msgstr "" +"Klíč PGP je veřejný šifrovací klíč. Může být použit k podepisování a " +"šifrování e-mailů a souborů. Když vytvoříte klíč PGP, vygeneruje se ve " +"kutečnosti pár klíčů sestávající s veřejného a soukromého klíče. Veřejný " +"klíč můžete sdílet s kýmkoliv, kdo si přeje vám poslat zašifrovanou zprávu " +"nebo soubor, za to soukromý klíč musíte znát jen vy osobně a použijete jej k " +"dešifrování přijaté zprávy." + +#. (itstool) path: section/title +#: C/about-pgp.page:32 +msgid "Encrypt and sign data using PGP keys" +msgstr "Šifrování a podepisování dat pomocí klíčů PGP" + +#. (itstool) path: section/p +#: C/about-pgp.page:34 +msgid "" +"Passwords and Keys is a key management application. Though it " +"cannot be used to encrypt or sign files and messages, you can use it to " +"sign trustworthy keys." +msgstr "" +"Hesla a klíče je aplikace sloužící ke správě klíčů. Ačkoliv ji " +"nelze použít k šifrování nebo podepisování souborů a zpráv, můžete ji použít " +"k podepsání důvěryhodných klíčů." + +#. (itstool) path: section/p +#: C/about-pgp.page:38 +msgid "" +"To secure your communication, you can use email clients like Evolution that provide encryption and signing services." +msgstr "" +"K zabezpečené komunikaci můžete použí e-mailového klienta, jako je " +"Evolution, který poskytuje služby šifrování a podepisování." + +#. (itstool) path: info/desc +#: C/about-ssh.page:18 +msgid "" +"SSH keys are used to login to a remote computer, once a secure connection " +"has been established." +msgstr "" +"Jak použít klíče SSH k přihlášení ke vzdálenému počítači, ke kterému bylo " +"vytvořeno zabezpečené spojení." + +#. (itstool) path: page/title +#: C/about-ssh.page:22 +msgid "What is a Secure Shell key?" +msgstr "Co je to klíč Secure Shell?" + +#. (itstool) path: page/p +#: C/about-ssh.page:24 +msgid "" +"A Secure Shell key, often just called an SSH key, helps " +"you create a secure connection over an unsecured network." +msgstr "" +"Klíč Secure Shell, často nazývaný jen klíč SSH vám pomáhá " +"vytvářet zabezpečená spojení přes nezabezpečenou síť." + +#. (itstool) path: list/title +#: C/about-ssh.page:28 +msgid "An SSH key actually consists of two parts:" +msgstr "Klíč SSH se prakticky skládá ze dvou částí:" + +#. (itstool) path: item/p +#: C/about-ssh.page:29 +msgid "A public key, which is widely available." +msgstr "Veřejného klíče, který je běžné dostupný." + +#. (itstool) path: item/p +#: C/about-ssh.page:30 +msgid "" +"A private key, which is kept secret. The private key is used to unlock " +"messages encrypted with a corresponding public key." +msgstr "" +"Soukromého klíče, který je držen v tajnosti. Soukromý klíč se používá k " +"odemknutí zpráv zašifrovaných odpovídajícím veřejným klíčem." + +#. (itstool) path: page/p +#: C/about-ssh.page:34 +msgid "" +"The advantage of using an SSH key to create a connection between " +"computers is that only the Public key needs to be sent over the " +"network. Transmissions encrypted with a Public key can only be " +"decoded by unlocking them with the corresponding Private key and a " +"password. Because only the public key is sent over the network, the key's " +"password is kept secret." +msgstr "" +"Přínosem použití klíče SSH je vytvoření spojení mezi počítači, " +"které potřebuje poslat přes síť jen veřejný klíč. Vysílání " +"šifrované takovýmto veřejným klíčem je možné dekódovat jen " +"příslušným soukromým kličem a heslem. Ale protože přes síť je " +"poslán jen veřejný klíč, je heslo klíče uchováno v tajnosti." + +#. (itstool) path: credit/years +#: C/concepts.page:16 C/key-servers-add.page:25 C/keyring-create.page:28 +#: C/misc-key-backup.page:23 C/passwords-view.page:24 C/pgp-create.page:30 +#: C/pgp-delete.page:23 C/ssh-create.page:23 C/ssh-create.page:28 +msgid "2014" +msgstr "2014" + +#. (itstool) path: info/desc +#: C/concepts.page:19 +msgid "" +"Learn terms and concepts that are relevant to managing passwords and keys." +msgstr "" +"Poučte se o termíneck a konceptech, které souvisejí se správou hesel a klíčů." + +#. (itstool) path: page/title +#: C/concepts.page:23 +msgid "Key Concepts and Terms" +msgstr "Pojetí klíčů a slovníček" + +#. (itstool) path: info/desc +#: C/glossary.page:20 +msgid "A list of basic terms used." +msgstr "Slovníček základních použitých termínů." + +#. (itstool) path: page/title +#: C/glossary.page:23 +msgid "Glossary" +msgstr "Slovníček pojmů" + +#. (itstool) path: page/p +#: C/glossary.page:25 +msgid "" +"Passwords and Keys helps you to generate and manage tokens that " +"can be used to protect your files and communication. Here are some basic " +"terms that you will encounter while reading this help:" +msgstr "" +"Aplikace Hesla a klíče vám pomáhá generovat a spravovat tikety, " +"které můžete použít k ochraně svých souborů a komunikace. K danému tématu je " +"pár termínů, se kterými byste se měli seznámit dřív, než začnete číst tuto " +"nápovědu:" + +#. (itstool) path: item/title +#: C/glossary.page:31 +msgid "Encryption" +msgstr "Šifrování" + +#. (itstool) path: item/p +#: C/glossary.page:32 +msgid "" +"Encryption is the process of making your important files and data unreadable " +"to anyone but the intended recipient. When you encrypt your data, it becomes " +"a scrambled sequence of numbers and letters. Encryption is done by someone " +"who is sending a protected file, or sending a message in a protected " +"conversation." +msgstr "" +"Šifrování je proces, při kterém se vaše důležité soubory a data znečitelní " +"pro kohokoliv vyjma zamýšlených příjemců. Když data zašifrujete, stane se z " +"nich změť znaků a číslic. Šifrování provádí kdokoliv, kdo odesílá utajované " +"soubory nebo odesílá zprávy v utajované komunikaci." + +#. (itstool) path: item/title +#: C/glossary.page:39 +msgid "Algorithm" +msgstr "Algoritmus" + +#. (itstool) path: item/p +#: C/glossary.page:40 +msgid "" +"An algorithm is a sequence of steps used to encrypt or decrypt your data." +msgstr "Algoritmus je řada kroků používaná k zašifrování nebo dešifrování dat." + +#. (itstool) path: item/title +#: C/glossary.page:44 +msgid "Decryption" +msgstr "Dešifrování" + +#. (itstool) path: item/p +#: C/glossary.page:45 +msgid "" +"Decryption is the process of retrieving the original text from the encrypted " +"message or file. It is done by the receiver of the protected file or " +"communication. Encrypted messages cannot be understood without decrypting " +"them first." +msgstr "" +"Dešifrování je proces, při kterém získáte původní text ze šifrované zprávy " +"nebo souboru. Provádí jej příjemce chráněného souboru nebo komunikace. Dokud " +"šifrované zprávy nedešifrujete, jsou nečitelné." + +#. (itstool) path: item/title +#: C/glossary.page:51 +msgid "Plaintext" +msgstr "Prostý text" + +#. (itstool) path: item/p +#: C/glossary.page:52 +msgid "" +"Any data or file that is not encrypted, and can therefore be read by anyone " +"who can access it, is called plaintext." +msgstr "" +"Data nebo soubor, které nejsou zašifrované a může je tak číst kdokoliv, kdo " +"se k nim dostane, se nazývají prostý text." + +#. (itstool) path: item/title +#: C/glossary.page:56 +msgid "Key" +msgstr "Klíč" + +#. (itstool) path: item/p +#: C/glossary.page:57 +msgid "" +"A key is used to encrypt and decrypt files and communication. A key may also " +"be used to login to a remote computer. Some types of keys are PGP keys and SSH " +"keys." +msgstr "" +"Klíč se používá k šifrování a dešifrování souborů a komunikace. Může být " +"použit také k přihlášení ke vzdálenému počítači. Příklady typů klíčů jsou " +"klíče PGP a klíče SSH." + +#. (itstool) path: item/title +#: C/glossary.page:63 +msgid "Keyring" +msgstr "Klíčenka" + +#. (itstool) path: item/p +#: C/glossary.page:64 +msgid "A keyring is a collection of passwords or keys." +msgstr "Klíčenku tvoří sesbírané hesla nebo klíče." + +#. (itstool) path: info/title +#: C/index.page:8 +msgctxt "link" +msgid "Passwords and Keys" +msgstr "Hesla a klíče" + +#. (itstool) path: info/title +#: C/index.page:9 +msgctxt "text" +msgid "Passwords and Keys" +msgstr "Hesla a klíče" + +#. (itstool) path: credit/name +#: C/index.page:24 C/keyring-create.page:21 C/keyring.page:25 +#: C/ssh-create.page:26 +msgid "Ekaterina Gerasimova" +msgstr "Ekaterina Gerasimova" + +#. (itstool) path: info/desc +#: C/index.page:31 +msgid "" +"Use Passwords and Keys to remember your passwords, and to create " +"and manage PGP and SSH keys." +msgstr "" +"Aplikaci Hesla a klíče používejte k zapamatování svých hesel a k " +"vytváření a správě klíčů PGP a SSH." + +#. (itstool) path: page/title +#: C/index.page:34 +msgid "<_:media-1/> Passwords and Keys" +msgstr "<_:media-1/> Hesla a klíče" + +#. (itstool) path: section/title +#: C/index.page:40 +msgid "SSH Keys" +msgstr "Klíče SSH" + +#. (itstool) path: section/title +#: C/index.page:45 +msgid "PGP keys" +msgstr "Klíče PGP" + +#. (itstool) path: section/title +#: C/index.page:50 +msgid "Stored passwords and password keyrings" +msgstr "Uložená hesla a klíčenky s hesly" + +#. (itstool) path: info/desc +#: C/introduction.page:26 +msgid "" +"Use Passwords and Keys to create and manage PGP and SSH keys and " +"to save passwords that are difficult to remember." +msgstr "" +"Jak používat Hesla a klíče k vytváření a správě klíčů PGP a SSH a " +"k ukládání hesel, která jsou obtížná na zapamatování." + +#. (itstool) path: page/title +#: C/introduction.page:30 +msgid "Introduction" +msgstr "Úvod" + +#. (itstool) path: page/p +#: C/introduction.page:32 +msgid "" +"Welcome to the Passwords and Keys help guide. Passwords and " +"Keys creates and stores security tokens, helping to keep your " +"information secure on your computer, and secure when you send information " +"over a network." +msgstr "" +"Vítejte v příručce k aplikaci Hesla a klíče. Hesla a klíče vytváří a uchovávají bezpečnostní tikety, pomáhají udržovat vaše " +"informace zabezpečené ve vašem počítači a zabezpečit je, když je odesíláte " +"přes síť." + +#. (itstool) path: page/p +#: C/introduction.page:36 +msgid "Using Passwords and Keys, you can:" +msgstr "Pomocí aplikace Hesla a klíče můžete:" + +#. (itstool) path: item/p +#: C/introduction.page:40 +msgid "" +"Copy and save passwords that " +"are difficult to remember. To group related passwords, create keyrings." +msgstr "" +"Kopírovat a ukládat hlesla, " +"která jsou obtížná na zapamatování. K seskupení souvisejících hesel si vytvořte klíčenky." + +#. (itstool) path: item/p +#: C/introduction.page:45 +msgid "" +"Create and manage PGP keys." +msgstr "" +"Vytvářet a spravovat klíče PGP." + +#. (itstool) path: item/p +#: C/introduction.page:49 +msgid "" +"Create and manage SSH keys." +msgstr "" +"Vytvářet a spravovat klíče SSH." + +#. (itstool) path: credit/name +#: C/key-servers-add.page:23 C/misc-key-backup.page:21 C/passwords-view.page:22 +#: C/pgp-create.page:28 C/pgp-delete.page:21 C/ssh-create.page:21 +msgid "Hashem Nasarat" +msgstr "Hashem Nasarat" + +#. (itstool) path: credit/name +#: C/key-servers-add.page:28 C/passwords-view.page:28 +#: C/pgp-retrieve-remote.page:21 +msgid "Andre Klapper" +msgstr "Andre Klapper" + +#. (itstool) path: credit/years +#: C/key-servers-add.page:30 C/passwords-view.page:30 +#: C/pgp-retrieve-remote.page:23 +msgid "2020" +msgstr "2020" + +#. (itstool) path: info/desc +#: C/key-servers-add.page:33 +msgid "" +"Make additions to the list of keyservers in Passwords and Keys" +msgstr "Jak rozšířit seznam serverů s klíči v Heslech a klíčích." + +#. (itstool) path: page/title +#: C/key-servers-add.page:37 +msgid "Add a keyserver" +msgstr "Přidání serveru s klíči" + +#. (itstool) path: page/p +#: C/key-servers-add.page:38 +msgid "" +"Passwords and Keys have the following keyservers listed by " +"default:" +msgstr "" +"Hesla a klíče mají ve svém výchozím seznamu následující servery s " +"klíči:" + +#. (itstool) path: item/p +#: C/key-servers-add.page:42 +msgid "ldap://keyserver.pgp.com" +msgstr "ldap://keyserver.pgp.com" + +#. (itstool) path: steps/title +#: C/key-servers-add.page:47 +msgid "To add a keyserver" +msgstr "Přidání serveru s klíči" + +#. (itstool) path: item/p +#: C/key-servers-add.page:49 C/pgp-publish.page:44 +#: C/pgp-retrieve-remote.page:39 C/pgp-sync.page:41 +msgid "Press the menu button in the header bar." +msgstr "Zmáčkněte tlačítko v záhlavní liště." + +#. (itstool) path: item/p +#: C/key-servers-add.page:52 +msgid "Select Preferences." +msgstr "Zvolte Předvolby." + +#. (itstool) path: item/p +#: C/key-servers-add.page:55 +msgid "Select the Key Servers tab." +msgstr "Vyberte kartu Servery klíčů." + +#. (itstool) path: item/p +#: C/key-servers-add.page:58 +msgid "Press the Add button." +msgstr "Zmáčkněte tlačítko Přidat." + +#. (itstool) path: item/p +#: C/key-servers-add.page:61 +msgid "" +"In the new dialog, select the appropriate Key Server Type. Key " +"servers are identified by the protocol they use to communicate. Look for the " +"first few letters in the Internet URL of your key server to identify its " +"type." +msgstr "" +"V novém dialogovém okně vyberte příslušný Typ serveru s klíči. " +"Server s klíči je dán protokolem, který používá ke komunikaci. Dívejte se po " +"pár prvních písmenech v internetové adrese URL serveru." + +#. (itstool) path: item/p +#: C/key-servers-add.page:67 +msgid "" +"In the Host field, paste the Internet URL of your " +"key server. Consult the documentation for the key server you're adding to " +"see if it operates on a non-standard port. If so, enter the port after the " +"':'. If you're unsure, leave the text box after the ':' blank." +msgstr "" +"Do pole Server vložte internetovou adresu URL " +"serveru s klíči. Podívejte se do dokumentace příslušného serveru, jestli " +"nepracuje na nějakém nestandardním portu. Pokud ano, zadejte port za " +"dvojtečku. Jestli si nejste jisti, ponechte pole za „:“ prázdné." + +#. (itstool) path: item/p +#: C/key-servers-add.page:74 +msgid "Press Save to finish." +msgstr "Vše dokončíte zmáčknutím Uložit." + +#. (itstool) path: info/desc +#: C/keyring-change-default.page:19 +msgid "Save new passwords to a different keyring by default." +msgstr "Jak nová hesla ukládat do jiné výchozí klíčenky." + +#. (itstool) path: page/title +#: C/keyring-change-default.page:22 +msgid "Change the default keyring" +msgstr "Změna výchozí klíčenky" + +#. (itstool) path: page/p +#: C/keyring-change-default.page:24 +msgid "" +"When you add a new password, " +"it is normally added to the default keyring. If you want to add it to a " +"different keyring, you can choose another one while adding the new password, " +"but you can also change the default keyring. The default keyring is normally " +"the Login keyring." +msgstr "" +"Když přidáte nové heslo, přidá " +"se normálně do výchozí klíčenky. Pokud jej chcete přidat do jiné klíčenky, " +"můžete si ji zvolit během přidávání nového hesla a nebo také můžete změnit " +"výchozí klíčenku. Normálně je výchozí klíčenkou Login." + +#. (itstool) path: steps/title +#: C/keyring-change-default.page:32 +msgid "To change the default keyring:" +msgstr "Když chcete změnit výchozí klíčenku:" + +#. (itstool) path: item/p +#: C/keyring-change-default.page:34 +msgid "" +"Select your choice for the default keyring from the list of keyrings under " +"Passwords on the left side panel." +msgstr "" +"Vyberte klíčenku, pro kterou jste se rozhodli jako pro výchozí, v seznamu " +"klíčenek v části Hesla v levém postranním panelu." + +#. (itstool) path: item/p +#: C/keyring-change-default.page:38 +msgid "" +"Right click on the selected keyring and select Set as default." +msgstr "" +"Klikněte pravým tlačítkem na vybranou klíčenku a vyberte Nastavit jako " +"výchozí." + +#. (itstool) path: note/p +#: C/keyring-change-default.page:44 +msgid "" +"Passwords to some GNOME applications are stored automatically by " +"Passwords and Keys in the Login keyring because it is " +"the default keyring. When you change the default keyring, any new passwords " +"created for GNOME applications will be stored in the new default keyring " +"while GNOME application passwords created before the change will remain in " +"the Login keyring." +msgstr "" +"Hesla některých aplikací GNOME se uchovávají v Heslech a klíčích " +"automaticky v klíčence Login, protože se jedná o výchozí " +"klíčenku. Když výchozí klíčenku změníte, budou se nově vytvořená hesla pro " +"aplikace GNOME ukládat do nové výchozí klíčenky, zatímco hesla aplikací " +"GNOME vytvořená před touto změnou zůstanou v klíčence Login." + +#. (itstool) path: info/desc +#: C/keyring-create.page:31 +msgid "Use password keyrings to group stored passwords." +msgstr "Jak používat klíčenky k seskupování uchovávaných hesel." + +#. (itstool) path: page/title +#: C/keyring-create.page:34 +msgid "Create a new keyring" +msgstr "Vytvoření nové klíčenky" + +#. (itstool) path: page/p +#: C/keyring-create.page:36 +msgid "" +"Use keyrings to group related passwords. You " +"can choose to protect your keyring with a password." +msgstr "" +"Klíčenky používejte k seskupování " +"souvisejících hesel. Můžete si zapnout ochranu klíčenky pomocí hesla." + +#. (itstool) path: steps/title +#: C/keyring-create.page:40 +msgid "Create a new password keyring:" +msgstr "Když chcete vytvořit novou klíčenku pro hesla:" + +#. (itstool) path: item/p +#: C/keyring-create.page:42 C/passwords-stored-create.page:32 +#: C/pgp-create.page:42 C/pgp-import.page:39 C/ssh-create.page:41 +#: C/ssh-import.page:39 +msgid "" +"Press the + button in the top-left corner of the " +"window." +msgstr "" +"Zmáčkněte tlačítko + v levém horním rohu okna." + +#. (itstool) path: item/p +#: C/keyring-create.page:45 +msgid "Select Password Keyring from the list." +msgstr "V seznamu vyberte Klíčenka s hesly." + +#. (itstool) path: item/p +#: C/keyring-create.page:48 +msgid "" +"Choose a name for your new keyring, then press Add to continue." +msgstr "" +"Zvolte název pro svoji novou klíčenku a pokračujte zmáčknutím Přidat." + +#. (itstool) path: item/p +#: C/keyring-create.page:53 +msgid "" +"To password protect your keyring, choose a password, and retype it to " +"confirm your choice. Leave both the fields blank if you want your keyring to " +"remain unlocked at all times." +msgstr "" +"Aby byla vaše klíčenka chráněná heslem, zvolte heslo a opište jej ještě " +"jednou, pro ověření správnosti zadání. V případě, že chcete nechat svoji " +"klíčenku trvale odemčenou, ponechte obě pole prázdná." + +#. (itstool) path: item/p +#: C/keyring-create.page:61 +msgid "" +"Press Continue to finish creating the keyring. " +"If you have not protected your keyring with a password, you will need to " +"confirm that this is how you want to proceed." +msgstr "" +"Zmáčknutím Pokračovat vytvoření klíčenky " +"dokončete. Pokud jste svoji klíčenku neochránili heslem, budete muset " +"potvrdit, že to je opravdu to, co chcete." + +#. (itstool) path: page/p +#: C/keyring-create.page:67 +msgid "Your new keyring will now be listed under Passwords." +msgstr "Vaše nová klíčenka bude uvedena v části Hesla." + +#. (itstool) path: info/desc +#: C/keyring-lock.page:20 +msgid "" +"Lock and password protect your password keyrings to control access to the " +"passwords stored in them." +msgstr "" +"Jak zamknout a ochránit svoji klíčenku s hesly, abyste ovládali přístup k " +"heslům, která jsou v ním uchovaná." + +#. (itstool) path: page/title +#: C/keyring-lock.page:24 +msgid "Lock your keyrings" +msgstr "Zamknutí vaší klíčenky" + +#. (itstool) path: page/p +#: C/keyring-lock.page:26 +msgid "" +"To safe-keep your passwords, store them in a password-protected keyring. " +"When a password-protected keyring is locked, the passwords in it are kept " +"hidden till someone unlocks the keyring " +"with the correct password." +msgstr "" +"Abyste svá hesla uchovávali v bezpečí, uložte je do klíčenky chráněné " +"heslem. Když je klíčenka chránená heslem zamknutá, jsou v ní uložená hesla " +"skrytá a pro přístup k nim ji musí někdo odemknout správným heslem." + +#. (itstool) path: note/p +#: C/keyring-lock.page:32 +msgid "" +"You can choose to protect your keyring with a password while creating it." +msgstr "" +"Ochranu klíčenky heslem si můžete zvolit během vytváření klíčenky." + +#. (itstool) path: steps/title +#: C/keyring-lock.page:37 +msgid "To lock your password keyring:" +msgstr "Když chcete svoji klíčenku zamknout:" + +#. (itstool) path: item/p +#: C/keyring-lock.page:39 +msgid "" +"From the list of keyrings under Passwords on the left side panel, " +"select the keyring to be locked." +msgstr "" +"V seznamu klíčenek v části Hesla v levém postranním panelu " +"vyberte zamknutou klíčenku." + +#. (itstool) path: item/p +#: C/keyring-lock.page:43 +msgid "" +"Right click on the selected keyring and select Lock, or click on " +"the small picture of an opened lock next to the name of the password keyring." +msgstr "" +"Klikněte na vybranou klíčenku pravým tlačítkem a zvolte Zamknout " +"nebo klikněte na malý symbol odemčeného zámku vedle názvu klíčenky s hesly." + +#. (itstool) path: info/desc +#: C/keyring-unlock.page:20 +msgid "To view passwords stored inside a locked keyring, unlock it." +msgstr "Jak odemknout zamknutou klíčenku a zobrazit v ní uložená hesla." + +#. (itstool) path: page/title +#: C/keyring-unlock.page:23 +msgid "Unlock your keyrings" +msgstr "Odemknutí vaší klíčenky" + +#. (itstool) path: page/p +#: C/keyring-unlock.page:24 +msgid "" +"A keyring may often be locked to protect " +"the passwords it contains, similar to locking important things safely inside " +"a trunk. In order to look at your passwords, you must unlock the keyring " +"first." +msgstr "" +"Klíčenka může být čas od času zamknutá, " +"aby ochránila hesla, která obsahuje, podobně jako když zamykáte důležité " +"věci v kufříku se zámkem. Abyste se ke svým heslům dostali, musíte klíčenku " +"nejprve odemknout." + +#. (itstool) path: steps/title +#: C/keyring-unlock.page:30 +msgid "To unlock your keyring:" +msgstr "Když chcete svoji klíčenku odemknout:" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:32 +msgid "" +"Select the keyring to be unlocked from the panel on your left. It is listed " +"under Passwords." +msgstr "" +"Vyberte klíčenku, kterou chcete odemknout, v panelu na levé straně. Bude " +"uvedena v části Hesla." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:36 +msgid "" +"Right click on the selected keyring and select Unlock from the " +"menu, or alternatively, click the small picture of a closed lock next to the " +"keyring name to unlock the keyring." +msgstr "" +"Pro odemknutí vybrané klíčenky na ni klikněte pravým tlačítkem a v nabídce " +"zvolte Odemknout nebo klikněte na malý symbol zamčeného zámku " +"vedle návzu klíčenky." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:41 +msgid "" +"If the keyring is password-protected, you will be prompted for a password to " +"unlock the keyring. Enter the correct password in the Password " +"field and press Unlock to finish." +msgstr "" +"V případě, že je klíčenka chráněna heslem, budete vyzváni k zadání hesla pro " +"odemknutí klíčenky. Zadejte správné heslo do pole Heslo a vše " +"dokončete zmáčknutím Odemknout." + +#. (itstool) path: note/p +#: C/keyring-unlock.page:49 +msgid "" +"You can choose to password-protect your keyrings while creating them." +msgstr "" +"Ochranu klíčenky pomocí hesla můžete zvolit během vytváření klíčenky." + +#. (itstool) path: info/desc +#: C/keyring-update-password.page:20 +msgid "" +"Keep updating the passwords to your keyrings to ensure that they are " +"protected well." +msgstr "" +"Jak aktualizovat hesla ke svým klíčenkám, abyste zajistili jejich dobrou " +"ochranu." + +#. (itstool) path: page/title +#: C/keyring-update-password.page:25 +msgid "Update the keyring password" +msgstr "Změna hesla klíčenky" + +#. (itstool) path: page/p +#: C/keyring-update-password.page:27 +msgid "" +"The password to unlock your keyring can be " +"updated at any time." +msgstr "" +"Heslo pro odemknutí vaší klíčenky můžete " +"kdykoliv změnit." + +#. (itstool) path: steps/title +#: C/keyring-update-password.page:31 +msgid "To update the password for a password keyring:" +msgstr "Když chcete změnit heslo pro klíčenku s hesly:" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:33 +msgid "" +"Select the password keyring from the list, under Passwords, on " +"the left side panel." +msgstr "" +"V levém postranním panelu v části Hesla vyberte klíčenku s hesly." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:37 +msgid "" +"Right click on the selected password keyring and select Change " +"Password." +msgstr "Klikněte na ni pravým tlačítkem a vyberte Změnit heslo." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:41 +msgid "" +"Type your old password to authenticate yourself and press Continue." +msgstr "" +"Napište původní heslo, aby se ověřilo, že to jste opravdu vy, a zmáčkněte " +"Pokračovat." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:45 +msgid "" +"In the new dialog, type your new password, retype it to confirm the new " +"password and press the Continue button to finish." +msgstr "" +"V novém dialogovém okně napište nové heslo, napište jej podruhé pro ověření " +"zadání a zmáčknutím tlačítka Pokračovat operaci " +"dokončete." + +#. (itstool) path: info/desc +#: C/keyring.page:30 +msgid "A keyring is used to group related passwords and keys." +msgstr "Jak se používá klíčenka k seskupování souvisejících hesel a klíčů." + +#. (itstool) path: page/title +#: C/keyring.page:33 +msgid "What is a keyring?" +msgstr "Co je to klíčenka" + +#. (itstool) path: page/p +#: C/keyring.page:35 +msgid "" +"Much like a keyring in real life allows you to keep certain sets of keys " +"together, a keyring in Passwords and Keys allows you to keep " +"passwords and keys in separate groups." +msgstr "" +"Obdobně, jako v reálném životě slouží klíčenka ke schování sady klíčů, které " +"patří k sobě, umožňuje klíčenka v aplikaci Hesla a klíče " +"uchovávat hesla a klíče rozdělené do skupin." + +#. (itstool) path: page/p +#: C/keyring.page:39 +msgid "" +"When you open Passwords and Keys for the first time, you will see " +"keys and password grouped together. In the Login keyring, you may " +"find stored passwords for GNOME applications such as Web, " +"Online Accounts etc. The Login keyring is the default " +"keyring in Passwords and keys." +msgstr "" +"Když otevřete Hesla a klíče poprvé, uvidíte klíče a hesla " +"seskupené dohromady. V klíčence Login můžete najít uchovaná hesla " +"pro aplikace GNOME, jako jsou Web, Účty on-line atd. " +"Klíčenka Login je v Heslech a klíčích výchozí klíčenkou." + +#. (itstool) path: p/link +#: C/legal.xml:4 +msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" +msgstr "Creative Commons Attribution-ShareAlike 3.0 Unported License" + +#. (itstool) path: license/p +#: C/legal.xml:3 +msgid "This work is licensed under a <_:link-1/>." +msgstr "Toto dílo je licencováno pod <_:link-1/>." + +#. (itstool) path: info/desc +#: C/misc-key-backup.page:26 +msgid "Keep a copy of your keys in an external device." +msgstr "Jak uchovat kopii svých klíčů na externím zařízení." + +#. (itstool) path: page/title +#: C/misc-key-backup.page:29 +msgid "Securely back-up your keys" +msgstr "Bezpečné zálohování klíčů" + +#. (itstool) path: page/p +#: C/misc-key-backup.page:31 +msgid "" +"It is always advisable to save a copy of your keys on an external memory " +"device like a USB drive. The device should then be kept locked or stored " +"somewhere safe. This way you will always have a copy of the key if your " +"computer breaks or if the data on your computer is corrupted in some way." +msgstr "" +"Vždy je vhodné uložit si kopii svých klíčů na externí paměťové zařízení, " +"jako je disk USB. Toto zařízení by pak mělo být někde zamčené nebo uložené " +"na nějakém bezpečném místě. Díky tomu budete mít vždy kopii klíčů, když se " +"vám pokazí počítač nebo se v něm nějakým způsbem poškodí data." + +#. (itstool) path: steps/title +#: C/misc-key-backup.page:37 +msgid "To back-up your keys:" +msgstr "Když chcete své klíče zálohovat:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:39 +msgid "Export your key files:" +msgstr "Exportujte své klíče do souborů:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:41 +msgid "Export your PGP keys." +msgstr "Export vašich klíčů PGP." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:42 +msgid "Export your SSH keys." +msgstr "Export vašich klíčů SSH." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:46 +msgid "Copy the exported files on an external disk." +msgstr "Zkopírujte vyexportované soubory na externí disk." + +#. (itstool) path: info/desc +#: C/misc-key-fingerprint.page:19 +msgid "" +"The key fingerprint is a unique ID for each key, often used to verify the " +"ownership of a key" +msgstr "" +"Otisk je jedinečné ID pro každý klíč, které se často používá k ověření " +"vlastnictví klíče." + +#. (itstool) path: page/title +#: C/misc-key-fingerprint.page:23 +msgid "What is a key fingerprint?" +msgstr "Co je to otisk klíče?" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:25 +msgid "" +"The fingerprint of a key is a unique sequence of letters and numbers used to " +"identify the key. Just like the fingerprints of two different people, the " +"fingerprints of two different keys can never be identical. The fingerprint " +"is the best way to identify a particular key." +msgstr "" +"Otisk klíče je jedinečná sekvence písmen a číslic použitá k identifikaci " +"klíče. Obdobně jako u otisků prstů dvou různých lidí, i otisky dvou různých " +"klíčů nebudou nikdy stejné. Otisk je nejlepší způsob jak identifikovat " +"konkrétní klíč." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:30 +msgid "" +"A key has several properties like the name and email of the key owner, key " +"type, key expiration date and so on. When you are searching for a public key " +"and you find multiple keys with the same properties, the only way to " +"identify the key you are looking for is to compare the fingerprints of the " +"two keys with the fingerprint of the key you require." +msgstr "" +"Klíč má několik vlastností, jako je název a e-mail vlastníka klíče, typ " +"klíče, datum vypršení platnosti klíče atd. V případě, že hledáte veřejný " +"klíč a najdete několik klíčů se stejnými vlastnostmi, je jedinou možností, " +"jak hledaný klíč identifikovat, porovnat otisky s otiskem hledaného klíče." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:36 +msgid "" +"It is the fingerprint of a key that is verified when you try to login to a " +"remote computer using SSH. While " +"signing a PGP key, you must always " +"check the key fingerprint and verify the key owner's identity to ensure that " +"you are signing the correct key." +msgstr "" +"Když se zkusíte přihlásit ke vzdálenému počítači pomocí SSH je to právě otisk klíče, co se ověřuje. Když " +"podepisujete pomocí klíče PGP, měli " +"byste vždy zkontrolovat otisk a ověřit totožnost majitele, abyste získali " +"jistotu, že podepisujete správným klíčem." + +#. (itstool) path: section/title +#: C/misc-key-fingerprint.page:43 +msgid "Fingerprints on Passwords and Keys" +msgstr "Otisky v Heslech a klíčích" + +#. (itstool) path: section/p +#: C/misc-key-fingerprint.page:45 +msgid "" +"You can look at the fingerprint of a key on Passwords and Keys by " +"checking the properties of the key." +msgstr "" +"Na otisk klíče v aplikaci Hesla a klíče se můžete podívat při " +"kontrole vlastností klíče." + +#. (itstool) path: steps/title +#: C/misc-key-fingerprint.page:49 +msgid "To check the fingerprint of a key:" +msgstr "Když chcete zkontrolovat otisk klíče:" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:51 C/pgp-photoid.page:44 C/pgp-publish.page:37 +#: C/subkeys-add.page:31 +msgid "Select GnuPG keys from the left side panel." +msgstr "V levém postranním panelu vyberte Klíče GnuPG." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:54 C/pgp-expiration-change.page:31 +msgid "Select the PGP key from the list." +msgstr "V seznamu vyberte klíč PGP." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:57 +msgid "" +"Right click the key and select Properties." +msgstr "" +"Klikněte pravým tlačítkem na klíč a vyberte Vlastnosti." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:61 C/pgp-expiration-change.page:37 +msgid "In the new dialog, select the Details tab." +msgstr "V novém dialogovém okně vyberte kartu Podrobnosti." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:64 +msgid "You can see the fingerprint of the key on the left hand side." +msgstr "Otisk klíče můžete vidět po levé straně." + +#. (itstool) path: info/desc +#: C/passwords-stored-create.page:19 +msgid "Passwords and keys can remember your passwords for you." +msgstr "Jak si mohou Hesla a klíče zapamatovat vaše hesla za vás." + +#. (itstool) path: page/title +#: C/passwords-stored-create.page:23 +msgid "Store your passwords" +msgstr "Uchovávání vašich hesel" + +#. (itstool) path: page/p +#: C/passwords-stored-create.page:25 +msgid "" +"Passwords and Keys automatically stores passwords for certain " +"GNOME applications in the Login keyring. Additionally, you can " +"store any other password you want to remember." +msgstr "" +"Hesla a klíče automaticky uchovávají v klíčence Login " +"hesla pro některé aplikace GNOME. Navíc si můžete uložit kterákoliv další " +"hesla, která chcete zapamatovat." + +#. (itstool) path: steps/title +#: C/passwords-stored-create.page:30 +msgid "To create a new stored password:" +msgstr "Když chcete vytvořit nové uložené heslo:" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:35 +msgid "Select Password from the list." +msgstr "V seznamu vyberte Heslo." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:38 +msgid "" +"Select the password keyring in which you want to store your password from " +"the Keyring menu." +msgstr "" +"V nabídce Klíčenka vyberte klíčenku s hesly, ve které chcete " +"heslo uchovávat." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:42 +msgid "" +"You can add additional information about the password in the " +"Description field, like the date of creation, or the name of the " +"application it protects, etc." +msgstr "" +"V poli Popis můžete zadat nějaké doplňující informace, jako datum " +"vytvoření, název chráněné aplikace apod." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:47 +msgid "" +"Type the password in the Password field. You can tick the Show password checkbox if you want to see the " +"password text while typing it out." +msgstr "" +"Do pole Heslo napište heslo. Pokud chcete heslo při psaní vidět, " +"zaškrtněte políčko Zobrazit heslo." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:52 +msgid "Press the Add button to finish." +msgstr "" +"Operaci dokončíte zmáčknutím tlačítka Přidat." + +#. (itstool) path: note/p +#: C/passwords-stored-create.page:57 +msgid "" +"The default keyring is displayed as the first choice in the Keyring drop down menu. You can change " +"the default keyring." +msgstr "" +"Výchozí klíčenka je v rozbalovací nabídce Klíčenka zobrazena jako " +"první volba. Výchozí klíčenku si " +"můžete změnit." + +#. (itstool) path: info/desc +#: C/passwords-view.page:33 +msgid "Check a stored password which you have forgotten." +msgstr "Jak si zkontrolovat uložené heslo, které jste zapomněli." + +#. (itstool) path: page/title +#: C/passwords-view.page:36 +msgid "View stored passwords" +msgstr "Zobrazení uchovávaných hesel" + +#. (itstool) path: page/p +#: C/passwords-view.page:38 +msgid "" +"If you ever forget a password stored in Passwords and Keys, you can view the contents of the " +"stored password in Passwords and Keys to refresh your memory." +msgstr "" +"V případě, že zapomenete heslo, které máte uchované v Heslech a klíčích, můžete si jej pro " +"osvěžení své paměti v aplikaci Hesla a klíče nechat zobrazit." + +#. (itstool) path: steps/title +#: C/passwords-view.page:44 +msgid "To view a password:" +msgstr "Když chcete zobrazit heslo:" + +#. (itstool) path: item/p +#: C/passwords-view.page:46 +msgid "" +"In the side bar on the left, select the keyring which contains the password." +msgstr "V postranním panelu vlevo vyberte klíčenku, která heslo obsahuje." + +#. (itstool) path: item/p +#: C/passwords-view.page:50 +msgid "" +"Unlock the password keyring that " +"contains your password. A list of passwords stored in the keyring will be " +"displayed." +msgstr "" +"Odemkněte klíčenku s hesly, která " +"obsahuje vaše hesla. Zobrazí se seznam hesel v klíčence." + +#. (itstool) path: note/p +#: C/passwords-view.page:53 +msgid "Your Login keyring is already unlocked by default." +msgstr "Vaše klíčenka Přihlášení je vždy standardně odemknutá." + +#. (itstool) path: item/p +#: C/passwords-view.page:56 +msgid "" +"Right click on the password you want to check, and select Properties." +msgstr "" +"Klikněte pravým tlačítkem na heslo, které chcete zkontrolovat a vyberte " +"Vlastnosti." + +#. (itstool) path: item/p +#: C/passwords-view.page:60 +msgid "Select the <_:media-1/> icon to view the password." +msgstr "Pro zobrazení hesla použijte ikonu <_:media-1/>." + +#. (itstool) path: note/p +#: C/passwords-view.page:67 +msgid "" +"Since the contents of any unlocked keyrings are available to programs you " +"may be running, and Passwords and Keys does not seek to give a " +"false sense of security, the contents of unlocked keyrings are able to be " +"viewed without entering the password." +msgstr "" +"Vzhledem k tomu, že obsah odemčených klíčenek je přístupný programům, které " +"běží, a Hesla a klíče se nesnaží poskytnout falešný pocit " +"bezpečí, můžete vidět obsah odemčené klíčenky bez zadání hesla." + +#. (itstool) path: note/p +#: C/passwords-view.page:71 +msgid "" +"This means that if you are logged-in, the contents of the Login " +"keyring will available without entering a password from Passwords and " +"Keys." +msgstr "" +"To znamená, že když jste přihlášeni, obsah klíčenky Login bude " +"přístupný bez zadávání hesla do aplikace Hesla a klíče." + +#. (itstool) path: note/p +#: C/passwords-view.page:74 +msgid "" +"If you need to lend your computer to another person, it is recommended that " +"you create a user account for them, or allow them to use a guest account." +msgstr "" +"V případě, že se chystáte svůj počítač někomu půjčit, měli byste pro něj " +"vytvořit oddělený uživatelský účet nebo mu umožnit používat účet hosta." + +#. (itstool) path: info/desc +#: C/pgp-create.page:33 +msgid "Create and use GnuPG keys for encrypting and signing emails." +msgstr "" +"Jak vytvořit a používat klíče GnuPG pro šifrování a podepisování e-mailů." + +#. (itstool) path: page/title +#: C/pgp-create.page:36 +msgid "Create PGP keys" +msgstr "Vytvoření klíčů PGP" + +#. (itstool) path: page/p +#: C/pgp-create.page:38 +msgid "To make a new PGP key:" +msgstr "Když chcete vytvořit nový klíč PGP:" + +#. (itstool) path: item/p +#: C/pgp-create.page:45 +msgid "Select GPG Key from the list." +msgstr "V seznamu vyberte Klíč GPG." + +#. (itstool) path: item/p +#: C/pgp-create.page:48 +msgid "Enter your full name in the Full Name field." +msgstr "Do pole Celé jméno zadejte své celé jméno." + +#. (itstool) path: item/p +#: C/pgp-create.page:51 +msgid "Optionally, add your email address and a comment to describe the key." +msgstr "" +"Volitelně můžete zadat svoji e-mailovou adresu a komentář popisující účel " +"klíče." + +#. (itstool) path: item/p +#: C/pgp-create.page:55 +msgid "Press Create." +msgstr "Zmáčkněte Vytvořit." + +#. (itstool) path: item/p +#: C/pgp-create.page:58 +msgid "" +"In the password dialog, enter a password for the key. Retype the password to " +"confirm your choice." +msgstr "" +"V dialogovém okně hesla zadejte heslo pro klíč. Svoji volbu potvrďte " +"opětovým zadáním hesla." + +#. (itstool) path: item/p +#: C/pgp-create.page:62 +msgid "Press OK to finish." +msgstr "Celou operaci dokončete zmáčknutím Budiž." + +#. (itstool) path: page/p +#: C/pgp-create.page:66 +msgid "" +"Passwords and Keys will take some time to generate your key. " +"While your key is being created, move your mouse around, press some keys on " +"your keyboard, or browse the web. This will help Passwords and Keys to create a truly random key. The key will be listed under GnuPG " +"keys." +msgstr "" +"Aplikaci Hesla a klíče může vygenerování klíče zabrat nějaký čas. " +"Po dobu, co je klíč generován, pohybujte myší nebo mačkejte nějaké klávesy " +"na klávesnici nebo brouzdejte po webu. Tím pomůžete Heslům a klíčům vytvořit opravdu náhodný klíč. Klíč bude uveden v části Klíče " +"GnuPG." + +#. (itstool) path: note/p +#: C/pgp-create.page:73 +msgid "" +"The Full Name, Email Address and Comment " +"details of a GnuPG key are called the user ID of the key." +msgstr "" +"Podrobné údaje Celé jméno, E-mailová adresa a " +"Poznámka u klíče GnuPG se nazývají ID " +"uživatele klíče." + +#. (itstool) path: section/title +#: C/pgp-create.page:79 +msgid "Advanced PGP key options" +msgstr "Pokročilé volby klíče PGP" + +#. (itstool) path: section/p +#: C/pgp-create.page:81 +msgid "" +"Under Advanced key options, you can choose custom values for " +"encryption type, key strength and key expiration date." +msgstr "" +"V panelu Pokročilé volby klíče můžete zvolit vlastní hodnoty pro " +"typ šifrování, sílu a datum vypršení platnosti." + +#. (itstool) path: item/title +#: C/pgp-create.page:86 +msgid "Encryption type" +msgstr "Typ šifrování" + +#. (itstool) path: item/p +#: C/pgp-create.page:87 +msgid "" +"Depending on your needs, create keys that can be used for signing only or " +"for both encryption and signing. The RSA and DSA-Elgamal algorithms generate " +"equally secure keys." +msgstr "" +"V závislosti na svých potřebách vytvořte klíče, které můžete použít jen pro " +"podepisování nebo pro šifrování i podepisování. Algoritmy RSA a DSA-Elgamal " +"generují klíče s obdobnou úrovní bezpečnosti." + +#. (itstool) path: item/title +#: C/pgp-create.page:92 +msgid "Key Strength" +msgstr "Síla klíče" + +#. (itstool) path: item/p +#: C/pgp-create.page:93 +msgid "" +"The key strength is measured in terms of the size of the key in bits. It is " +"difficult and more time consuming to break a strong key, but strong keys " +"will slow down the encryption and signing process. You should choose your " +"key strength in Passwords and Keys depending on how long you want " +"to use the key. A small key is sufficient for short term use while a large " +"key is more suitable for long term use." +msgstr "" +"Síla klíče se měří jako velikost klíče v bitech. Je obtížné a časově náročné " +"nabourat silný klíč, ale na druhou stranu silný klíč zpomaluje postup " +"šifrování a podepisování. Sílu klíče byste v aplikaci Hesla a klíče měli volit s ohledem na to, jak dlouho chcete klíč používat. Malé klíče " +"jsou postačující na krátkodobé použití, zatímco dlouhé klíče jsou vhodné pro " +"dlouhodobé použití." + +#. (itstool) path: item/title +#: C/pgp-create.page:101 +msgid "Expiration Date" +msgstr "Datum vypršení vlastnosti:" + +#. (itstool) path: item/p +#: C/pgp-create.page:102 +msgid "" +"When a key expires, certain actions no longer " +"work. In Passwords and Keys, you can either set your key " +"to Never Expire or select an expiration date " +"for it." +msgstr "" +"Když vyprší platnost klíče, některé činnosti " +"nebudou nadále fungovat. V aplikaci Hesla a klíče můžete " +"buď nastavit platnost na Nikdy nevyprší nebo " +"vybrat datum jeho vypršení." + +#. (itstool) path: item/p +#: C/pgp-create.page:106 +msgid "" +"It is recommended that you set an expiration date in case you lose access to " +"the key. Even if your key expires, you can change the expiration to a later date." +msgstr "" +"Doporučuje se nastavit datum vypršení platnosti s ohledem na možnost, že " +"ztratíte přístup ke klíči. I když vašemu klíči vyprší platnost, můžete změnit vypršení na pozdější datum." + +#. (itstool) path: info/desc +#: C/pgp-delete.page:26 +msgid "" +"Delete local copies of your keys or the keys of people you communicate with." +msgstr "" +"Jak smazat místní kopii svých klíčů nebo klíčů, pomocí kterých komunikujete " +"s lidmi." + +#. (itstool) path: page/title +#: C/pgp-delete.page:30 +msgid "Delete an existing key" +msgstr "Smazání existujícího klíče" + +#. (itstool) path: page/p +#: C/pgp-delete.page:32 +msgid "" +"If you are no longer communicating with someone, you can delete the copy of " +"their GnuPG key on your computer using Passwords and Keys. You " +"can also permanently delete a key you own as long it has never been " +"published on a key server. Deleting a GnuPG key deletes both the public key " +"and the secret key." +msgstr "" +"Pokud s někým již nadále nebudete komunikovat, můžete smazat kopii jeho " +"klíče GnuPG ve svém počítači pomocí aplikace Hesla a klíče. " +"Můžete také trvale smazat klíč, který vlastníte a který nebyl nikdy " +"zveřejněn na serveru s klíči. Smazáním klíče GnuPG se smaže jak veřejný, tak " +"soukromý klíč." + +#. (itstool) path: steps/title +#: C/pgp-delete.page:39 +msgid "To delete a key:" +msgstr "Když chcete smazat klíč:" + +#. (itstool) path: item/p +#: C/pgp-delete.page:41 +msgid "Select the key." +msgstr "Vyberte klíč." + +#. (itstool) path: item/p +#: C/pgp-delete.page:45 +msgid "Right click, and choose Delete." +msgstr "Klikněte na něj pravým tlačítkem a zvolte Smazat." + +#. (itstool) path: note/p +#: C/pgp-delete.page:47 +msgid "" +"When you delete a GnuPG key that has been published on a key server, you " +"only delete the key in your GnuPG keyring because a copy of the public key " +"will still be present on some key server." +msgstr "" +"V případě, že smažete klíč GnuPG, který máte zveřejněn na serveru s klíči, " +"smažete jen klíč ve své klíčence GnuPG, ale kopie na serveru s klíči bude " +"stále vystavena." + +#. (itstool) path: note/p +#: C/pgp-delete.page:50 +msgid "" +"If you delete your GnuPG key, this means that your private key will be " +"permanently deleted, even though your public key can still be retrieved from a key server and used to " +"encrypt messages to you that you won't be able to read! To prevent such a " +"key from being used, retrieve and revoke the key. The revoked key can then " +"be synced with a key server to prevent people " +"from retrieving and using it." +msgstr "" +"Když smažete svůj klíč GnuPG, znamená to, že bude váš soukromý klíč trvale " +"smazán, avšak váš veřejný klíč můžete stále získat ze serveru s klíči a použít jej k šifrování zpráv, které " +"pak už ale nebudete moci číst! Abyste předešli takovémuto použití klíče, " +"získejte jej a odvolejte. Odvolaný klíč pak synchronizujte se serverem s klíči, abyste zabránili lidem v jeho " +"použití." + +#. (itstool) path: item/p +#: C/pgp-delete.page:64 +msgid "" +"In the new dialog, confirm the deletion by ticking the I understand that this secret key will be permanently deleted " +"checkbox, and press the Delete button to finish." +msgstr "" +"V novém dialogovém okně potvrďte smazání zaškrtnutím políčka Chápu, že všechny položky budou trvale smazány a vše " +"dokončete zmáčknutím tlačítka Smazat." + +#. (itstool) path: info/desc +#: C/pgp-expiration-change.page:19 +msgid "Advance or postpone the expiration date of your keys." +msgstr "Jak prodloužit nebo odložit datum vypršení platnosti u vašeho klíče." + +#. (itstool) path: page/title +#: C/pgp-expiration-change.page:22 +msgid "Change the expiration date of your keys" +msgstr "Změna data vypršení platnosti vašich klíčů" + +#. (itstool) path: page/p +#: C/pgp-expiration-change.page:24 +msgid "" +"If your PGP key has expired but you wish to continue its use, you can change " +"its expiry date. You can also change the expiration settings to have a key " +"expire on an earlier date." +msgstr "" +"Pokud vašemu klíči PGP vypršela platnost, ale vy si přejete pokračovat v " +"jeho používání, můžete změnit datum vypršení. Můžete také změnit nastavení " +"platnosti tak, aby vypršela dříve." + +#. (itstool) path: steps/title +#: C/pgp-expiration-change.page:29 +msgid "To change the expiration date of a PGP key:" +msgstr "Když chcete změnit datum vypršení platnosti klíče PGP:" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:34 +msgid "Right click on the selected key and select Properties." +msgstr "" +"Klikněte pravým tlačítkem na vybraný klíč a zvolte Vlastnosti." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:42 +msgid "" +"To change the expiration date of the master key, press the small button with " +"the picture of a calendar next to Expires, on the right side of " +"the dialog. You can then select the new expiration date from the calendar." +msgstr "" +"Když chcete změnit datum vypršení platnosti hlavního klíče, zmáčkněte malé " +"tlačítko s obrázkem kalendáře vedle Vyprší na pravé straně " +"dialogového okna. V kalendáři pak můžete vybrat nové datum." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:48 +msgid "" +"To change the expiration date of a subkey, " +"expand the Subkeys panel and select the subkey from the list. " +"Press the Expire button on the left of the panel " +"and select the new expiration date." +msgstr "" +"Když chcete změnit datum vypršení platnosti podklíče, rozbalte panel Podklíče a vyberte podklíč v " +"seznamu. Zmáčkněte tlačítko Vyprší na levé " +"straně panelu a vyberte nové datum vypršení platnosti." + +#. (itstool) path: note/p +#: C/pgp-expiration-change.page:59 +msgid "" +"If you are changing the expiration date of a key that has been published, " +"you must synchronize the key with the key " +"server after making the desired changes." +msgstr "" +"Pokud změníte datum vypršení platnosti u klíče, který jste zveřejnili, " +"musíte po provedení změn klíč synchronizovat " +"se serverem s klíči." + +#. (itstool) path: info/desc +#: C/pgp-expired.page:20 +msgid "Can I still use it? Can expiration dates be changed?" +msgstr "Mohu takový klíč dále používat? Lze datum vypršení platnosti změnit?" + +#. (itstool) path: page/title +#: C/pgp-expired.page:23 +msgid "What happens if my key expires?" +msgstr "Co se stane po vypršení platnosti klíče?" + +#. (itstool) path: page/p +#: C/pgp-expired.page:25 +msgid "When your key expires, it becomes invalid. This means:" +msgstr "Když vašemu klíči vyprší platnosti, stane se neplatným. To znamená:" + +#. (itstool) path: item/p +#: C/pgp-expired.page:29 +msgid "It can no longer be used to encrypt and decrypt messages." +msgstr "Nelze jej nadále používat k šifrování a dešifrování zpráv." + +#. (itstool) path: item/p +#: C/pgp-expired.page:32 +msgid "It cannot sign other keys or receive signatures from other keys." +msgstr "" +"Nelze jím podepisovat ostatní klíče nebo přijímat podpisy od ostatních klíčů." + +#. (itstool) path: page/p +#: C/pgp-expired.page:37 +msgid "" +"Depending on how long you want your key to be valid, you can set an expiration date for it. By default, " +"Passwords and Keys sets all keys to be valid forever. That is, " +"the keys never expire." +msgstr "" +"V závislosti na tom, jak dlouho chcete, aby byl klíč platný, můžete nastavit datum vypršení platnosti. " +"Standardně nastavují Hesla a klíče platnost na trvalo. To " +"znamená, že platnost klíče nikdy nevyprší." + +#. (itstool) path: page/p +#: C/pgp-expired.page:42 +msgid "" +"The expiration date on a key can be changed anytime, even after the key has expired. However, if you " +"want to stop using the expired key, you should delete or revoke it." +msgstr "" +"Datum vypršení platnosti klíče můžete kdykoliv změnit, i po té co už vypršela. Avšak, pokud chcete zamezit " +"používání klíče, jehož platnost vypršela, měli byste jej smazat nebo odvolat." + +#. (itstool) path: note/p +#: C/pgp-expired.page:49 +msgid "" +"If you have any messages encrypted with an expired key, you must change the " +"expiration date on the key to decrypt such messages before deleting or " +"revoking it." +msgstr "" +"V případě, že máte zprávy zašifrované klíčem, jehož platnost vypršela, " +"musíte datum vypršení změnit, abyste mohli zprávy dešifrovat před tím, než " +"klíč smažete nebo odvoláte." + +#. (itstool) path: info/desc +#: C/pgp-export.page:19 +msgid "Export your public and private PGP keys to store them in keyfiles." +msgstr "" +"Jak exportovat své veřejné a soukromé klíče PGP, abyste je měli uložené v " +"souboru." + +#. (itstool) path: page/title +#: C/pgp-export.page:23 +msgid "Export PGP keys" +msgstr "Export klíčů PGP" + +#. (itstool) path: page/p +#: C/pgp-export.page:25 +msgid "" +"Export the contents of your PGP keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Vyexportujte si obsah svých klíčů PGP a uložte si je do suborů, abyste měili " +"zálohu svých klíčů a abyste mohli své veřejné klíče sdílet." + +#. (itstool) path: section/title +#: C/pgp-export.page:29 +msgid "To export your public PGP key:" +msgstr "Když chcete vyexportovat svůj veřejný klíč PGP:" + +#. (itstool) path: item/p +#: C/pgp-export.page:33 C/pgp-export.page:62 C/pgp-userid-add.page:36 +#: C/pgp-userid-primary.page:32 C/pgp-userid-remove.page:31 +msgid "Select the GnuPG keys keyring from the left side panel." +msgstr "V levém postranním panelu vyberte klíčenku Klíče GnuPG." + +#. (itstool) path: item/p +#: C/pgp-export.page:37 C/pgp-export.page:66 +msgid "" +"Select the Personal PGP key that has to be exported, from the " +"list." +msgstr "V seznamu vyberte Osobní klíč PGP, který chcete exportovat." + +#. (itstool) path: item/p +#: C/pgp-export.page:41 C/ssh-export.page:42 +msgid "" +"Right-click on the key and select Export…." +msgstr "" +"Klikněte pravým tlačítkem na klíč a vyberte Exportovat…." + +#. (itstool) path: item/p +#: C/pgp-export.page:44 +msgid "" +"To store the keys in the ASCII format, select Armored PGP keys " +"from the menu at the bottom of the export window" +msgstr "" +"Aby byly klíče uchovány ve formátu ASCII, vyberte Chráněné klíče PGP v nabídce v dolní části okna exportu." + +#. (itstool) path: item/p +#: C/pgp-export.page:49 C/pgp-export.page:77 +msgid "" +"Choose a location for your keyfile, and press Export to finish." +msgstr "" +"Zvolte umístění souboru s klíči a zmáčknutím Exportovat vše dokončíte." + +#. (itstool) path: section/title +#: C/pgp-export.page:58 +msgid "To export your private PGP key:" +msgstr "Když chcete vyexportovat svůj soukromý klíč PGP:" + +#. (itstool) path: item/p +#: C/pgp-export.page:70 C/subkeys-add.page:37 +msgid "" +"Right click on the selected key and select PropertiesDetails." +msgstr "" +"Klikněte na vybraný klíč pravým tlačítkem a zvolte Vlastnosti Podrobnosti." + +#. (itstool) path: item/p +#: C/pgp-export.page:74 +msgid "Press the Export button." +msgstr "Zmáčkněte tlačítko Exportovat." + +#. (itstool) path: info/desc +#: C/pgp-import.page:26 +msgid "Import keys from keyfiles into Passwords and Keys." +msgstr "Jak importovat klíče ze souboru do aplikace Hesla a klíče." + +#. (itstool) path: page/title +#: C/pgp-import.page:29 +msgid "Import PGP keys" +msgstr "Import klíčů PGP" + +#. (itstool) path: page/p +#: C/pgp-import.page:31 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports PGP keys from your computer. You can also manually " +"import a particular key, if it has not been imported already." +msgstr "" +"Když obdržíte soubor s klíčem e-mailem, budete jej nejspíše chtít " +"naimportovat do aplikace Hesla a klíče. Ve většině případů " +"Hesla a klíče automaticky naimportují klíče PGP z vašeho " +"počítače. Můžete také ručně naimportovat konkrétní klíč, pokud zatím " +"naimportován nebyl." + +#. (itstool) path: steps/title +#: C/pgp-import.page:37 C/ssh-import.page:37 +msgid "How do I manually import a key?" +msgstr "Jak můžu ručně naimportovat klíč?" + +#. (itstool) path: item/p +#: C/pgp-import.page:42 C/ssh-import.page:42 +msgid "Select Import from file… from the list." +msgstr "V seznamu vyberte Importovat ze souboru…" + +#. (itstool) path: item/p +#: C/pgp-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. PGP keys end with " +"pgp or asc, GPG keys end with gpg." +msgstr "" +"V novém dialogovém okně vyberte klíč, který chcete importovat. Klíče PGP " +"mají příponu pgp nebo asc, klíče GPG příponu " +"gpg." + +#. (itstool) path: item/p +#: C/pgp-import.page:50 C/ssh-import.page:49 +msgid "Click Open." +msgstr "Klikněte na Otevřít." + +#. (itstool) path: page/p +#: C/pgp-import.page:54 +msgid "" +"Once imported, the PGP and GPG keys are listed under GnuPG keys." +msgstr "" +"Jakmile jsou klíče PGP a GPG naimportovány, objeví se v části Klíče " +"GnuPG" + +#. (itstool) path: info/desc +#: C/pgp-photoid.page:20 +msgid "" +"Include a photo ID with your existing keys so that people can identify them " +"easily." +msgstr "" +"Jak ke svým stávajícím klíčům přiložit identifikační fotografii, aby vás " +"lidé snadněji rozpoznali." + +#. (itstool) path: page/title +#: C/pgp-photoid.page:24 +msgid "Attach a photo to your key" +msgstr "Připojení fotografie k vašemu klíči" + +#. (itstool) path: page/p +#: C/pgp-photoid.page:26 +msgid "" +"You can attach a photo ID to your PGP keys so that everyone can verify the " +"ownership of your keys after looking at your photo. Though a key with an " +"attached photo will provide a slightly better level of security than a key " +"with no photo, checking the photo on a key is not as safe as checking the " +"fingerprint of the key because " +"anyone having your photos can create a key with your photo ID while the key " +"fingerprint cannot be mimicked." +msgstr "" +"Ke svému klíči PGP můžete připojit identifikační fotografii, aby si každý " +"mohl ověřit vlastnictví klíče kouknutím na fotografii. Ačkoliv klíč s " +"připojenou fotografií poskytuje o něco lepší úroveň bezpečnosti než klíč bez " +"ní, kontrola fotografie v klíči není tak bezpečná, jako kontrola otisku klíče, protože kdokoliv, kdo má vaši " +"fotografii, může vytvořit klíč s vaší identifikační fotografií, zatímco " +"otisk napodobit nelze." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:35 +msgid "" +"Unlike the restrictions in GPG, the photo ID you want to upload " +"need not be in the JPEG format. Passwords and Keys " +"lets you upload your photo in png, jpg and several " +"other common image formats." +msgstr "" +"Na rozdíl od omezení v aplikaci GPG, nemusí být identifikační " +"fotografie ve formátu JPEG. Hesla a klíče umožňují " +"nahrát fotografii v png, jpg a několika dalších " +"běžných formátech obrázků." + +#. (itstool) path: steps/title +#: C/pgp-photoid.page:42 +msgid "To attach a photo ID to a PGP key:" +msgstr "Když chcete ke klíči PGP přiložit identifikační fotografii:" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:47 +msgid "Select the PGP key." +msgstr "Vyberte klíč PGP." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:50 +msgid "" +"Right click on the chosen key and select Properties Owner." +msgstr "" +"Klikněte pravým tlačítkem na zvolený klíč a vyberte Vlastnosti Vlastník." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:55 +msgid "" +"Press the + button on the left hand side to add " +"a photo." +msgstr "" +"Fotografii přidáte zmáčknutím tlačítka + " +"umístěným po levé straně." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:59 +msgid "Select the photo from your computer." +msgstr "Ve svém počítači vyberte fotografii." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:62 +msgid "Click Close to finish." +msgstr "Operaci dokončíte kliknutím na Zavřít." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:67 +msgid "" +"The photos you select should be small in size, preferably about 120 by 150 " +"pixels. Since a photo ID is always attached to its key, a large photo will " +"increase the key size and slow down all operations that use the key. " +"Passwords and Keys resizes large photos to the optimal size after " +"asking for your confirmation." +msgstr "" +"Fotografie, kterou vyberete, by měla mít malou velikost, nejlépe tak 120 " +"krát 150 pixelů. Protože je identifikační fotografie vždy vložena v klíči, " +"zvedla by velká fotografie velikost klíče a zpomalila tak veškeré operace s " +"tímto klíčem. U velké fotografie se vás aplikace Hesla a klíče " +"dotáže, jestli ji má upravit na optimální velikost." + +#. (itstool) path: credit/name +#: C/pgp-publish.page:16 C/pgp-retrieve-remote.page:16 +msgid "Aruna" +msgstr "Aruna" + +#. (itstool) path: info/desc +#: C/pgp-publish.page:21 +msgid "" +"Publish your public keys on key servers, or export and mail them to your friends." +msgstr "" +"Jak zveřejnit své veřejné klíče na serverech s klíči nebo jak je vyexportovat a poslat přátelům e-mailem." + +#. (itstool) path: page/title +#: C/pgp-publish.page:25 +msgid "Share your public keys" +msgstr "Sdílení vašich veřejných klíčů" + +#. (itstool) path: page/p +#: C/pgp-publish.page:27 +msgid "" +"If you want people to send you encrypted communication, you must share your " +"GnuPG key with them. To share your key with a selected few " +"people, export it and mail the resulting " +"keyfile to them. To allow anyone to retrieve and use your public key, publish it on a key server." +msgstr "" +"Jestli chcete, aby s vámi lidé komunikovali šifrovaně, musíte s nimi sdílet " +"svůj Klíč GnuPG. Pokud chcete klíč sdílet jen s pár vybranými " +"lidmi, vyexportujte jej a výsledný soubor s " +"klíčem jim zašlete e-mailem. Pokud chcete umožnit komukoliv, aby získal a používal váš veřejný klíč, " +"zveřejněte jej na serveru s klíči." + +#. (itstool) path: steps/title +#: C/pgp-publish.page:35 +msgid "How do I publish my key on a key server?" +msgstr "Jak mohu zveřejnit svůj klíč na serveru s klíči?" + +#. (itstool) path: item/p +#: C/pgp-publish.page:40 +msgid "" +"From the list, select the Personal PGP key you want to publish." +msgstr "V seznamu vyberte Osobní klíč PGP, který chcete zveřejnit." + +#. (itstool) path: item/p +#: C/pgp-publish.page:47 C/pgp-sync.page:44 +msgid "Select Sync and publish keys…." +msgstr "Zvolte Synchronizovat a zveřejnit klíče…" + +#. (itstool) path: item/p +#: C/pgp-publish.page:50 +msgid "" +"Press the Key Servers button to see the list of " +"key servers on which you can publish your public key." +msgstr "" +"Zmáčknutím Servery s klíči si zobrazte seznam " +"serverů s klíči, na kterých můžete svůj veřejný klíč zveřejnit." + +#. (itstool) path: item/p +#: C/pgp-publish.page:54 +msgid "" +"To publish your key on a key server, select the key server from the " +"Publish keys to menu." +msgstr "" +"Pro zveřejnění svého klíče na serveru s klíči vyberte server s klíči z " +"nabídky Zveřejnit klíče na." + +#. (itstool) path: item/p +#: C/pgp-publish.page:58 +msgid "" +"Close the Preferences window to go back to the previous dialog." +msgstr "" +"Zavřete okno Předvolby a tím se vrátíte na předchozí dialogové " +"okno." + +#. (itstool) path: item/p +#: C/pgp-publish.page:62 +msgid "Press Sync to finish." +msgstr "" +"Operaci dokončíte zmáčknutím Synchronizovat." + +#. (itstool) path: note/p +#: C/pgp-publish.page:77 +msgid "You need to be connected to the Internet while publishing your keys." +msgstr "Během zveřejňování svých klíčů musíte být připojeni k Internetu." + +#. (itstool) path: note/title +#: C/pgp-publish.page:81 +msgid "What is a keyserver?" +msgstr "Co je to server s klíči?" + +#. (itstool) path: note/p +#: C/pgp-publish.page:82 +msgid "" +"Key servers are computers that store copies of public encryption keys " +"submitted to them, and share these copies with other key servers through the " +"Internet." +msgstr "" +"Servery s klíči jsou počítače, které uchovávají kopie veřejných šifrovacích " +"klíčů, které na ně byly nahrány. Tyto kopie sdílí i s ostatními servery s " +"klíči napříč Internetem." + +#. (itstool) path: info/desc +#: C/pgp-retrieve-remote.page:26 +msgid "" +"If you want to send an urgent encrypted message to someone, but do not have " +"their key, you can retrieve their key from a remote key server." +msgstr "" +"Jak poslat spěšnou šifrovanou zprávu někomu, od něhož nemáte jeho klíč. Jak " +"takovýto klíč získat ze vzdáleného serveru s klíči." + +#. (itstool) path: page/title +#: C/pgp-retrieve-remote.page:31 +msgid "Retrieve remote keys" +msgstr "Získání vzdálených klíčů" + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:33 +msgid "" +"You can retrieve someone's public GnuPG key from the Internet and store it " +"in Passwords and Keys." +msgstr "" +"Něčí veřejný klíč GnuPG můžete získat na Internetu a uložit si jej do " +"aplikace Hesla a klíče." + +#. (itstool) path: steps/title +#: C/pgp-retrieve-remote.page:37 +msgid "To retrieve a remote key:" +msgstr "Když chcete získat vzdálený klíč:" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:42 +msgid "Select Find remote keys…." +msgstr "Zvolte Hledat vzdálené klíče" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:45 +msgid "" +"Enter information about the key you wish to retrieve in the field provided. " +"Details like key ID or the key owner's email address give more accurate " +"results than the name of the key owner." +msgstr "" +"V příslušném poli zadejte údaje o klíči, který si přejete získat. " +"Podrobnosti, jako je ID klíče nebo e-mailová adresa vlastníka klíče zajistí " +"daleko přesnější výsledky než jen jméno vlastníka klíče." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:50 +msgid "Press the Search button." +msgstr "Zmáčkněte tlačítko Hledat." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:53 +msgid "" +"From the list of search results, select the key you want to import, and " +"press the Download button on the right." +msgstr "" +"Ze seznamu s výsledky hledání vyberte klíč, který chcete naimportovat, a " +"zmáčkněte tlačítko Stáhnout napravo." + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:58 +msgid "The imported key will be listed in the GnuPG keys keyring." +msgstr "Importovaný klíč se objeví v klíčence Klíče GnuPG." + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:61 +msgid "" +"If you want more information about a key, before importing it, select it and " +"press Enter or double-click it. This opens a new window that " +"displays information like the key ID, key fingerprint, level of trust, " +"owner's name, etc." +msgstr "" +"Jestli chcete o klíči více informací dříve, než jej naimportujete, vyberte " +"jej a zmáčkněte Enter nebo na nějd dvojitě klikněte. Tím se otevře " +"nové okno, které zobrazí údaje, jako je ID klíče, otisk klíče, úroveň důvěry, " +"jméno vlastníka atd." + +#. (itstool) path: info/desc +#: C/pgp-sign.page:19 +msgid "If you trust a key, you can sign it." +msgstr "Jak podepsat klíč, kterému věříte." + +#. (itstool) path: page/title +#: C/pgp-sign.page:22 +msgid "Sign keys" +msgstr "Podepsání klíče" + +#. (itstool) path: page/p +#: C/pgp-sign.page:24 +msgid "" +"To show that you trust and vouch for the genuineness of someone's key, you " +"can sign it. A person's key must be signed only after you compare the user ID on the key with a valid proof of their " +"identity, such as a passport, driver's license, or similar. If the two IDs " +"match, the key is said to be trustworthy." +msgstr "" +"Abyste projevili svoji důvěru a potvrdili pravost něčího klíče, můžete daný " +"klíč podepsat. Klíč patřící něčí osobě můžete podepsat až po té, co " +"porovnáte ID uživatele u klíče s nějakým " +"průkazným ověřením totožnosti dané osoby, jako je pas, řidičský průkaz apod. " +"Když si tyto dvě identifikace odpovídají, říká to, že klíč je důvěryhodný." + +#. (itstool) path: steps/title +#: C/pgp-sign.page:31 +msgid "To sign a key:" +msgstr "Když chcete podepsat klíč:" + +#. (itstool) path: item/p +#: C/pgp-sign.page:33 +msgid "" +"Import the remote key or keyfile containing the key to be signed into " +"Passwords and Keys." +msgstr "" +"Naimportujte vzdálený klíč nebo " +"soubor s klíči obsahující klíč, který " +"chcete v aplikaci Hesla a klíče podepsat." + +#. (itstool) path: item/p +#: C/pgp-sign.page:38 +msgid "From the list of GnuPG keys select the imported key." +msgstr "V seznamu Klíče GnuPG vyberte naimportovaný klíč." + +#. (itstool) path: item/p +#: C/pgp-sign.page:41 +msgid "" +"Right click the key and select PropertiesTrust." +msgstr "" +"Klikněte pravým tlačítkem a vyberte Vlastnosti " +"Důvěra." + +#. (itstool) path: item/p +#: C/pgp-sign.page:45 +msgid "Press the Sign this Key button." +msgstr "Zmáčkněte tlačítko Podepsat klíč." + +#. (itstool) path: item/p +#: C/pgp-sign.page:48 +msgid "" +"Depending on how carefully you have checked the key, choose one out of Not at all, Casually or Very carefully." +msgstr "" +"V závislosti na tom, jak pečlivě jste klíč zkontrolovali, zvolte Vůbec, Zběžně nebo " +"Velmi pečlivě." + +#. (itstool) path: item/p +#: C/pgp-sign.page:54 +msgid "" +"Decide if you want to revoke your signature at a later date and if you want " +"to make your signature public, by ticking the checkboxes provided." +msgstr "" +"Zaškrtnutím příslušných políček se rozdhodněte, jestli chcete odvolat svůj " +"podpis s dřívějším datem a jestli chcete, aby byl váš podpis veřejný." + +#. (itstool) path: item/p +#: C/pgp-sign.page:59 +msgid "" +"When you own more than one PGP key, select the key you want to sign with, " +"from the list next to Signer." +msgstr "" +"V případě, že máte více než jeden klíč PGP, vyberte klíč, kterým chcete " +"podepisovat, v seznamu vedle Autor podpisu." + +#. (itstool) path: item/p +#: C/pgp-sign.page:63 +msgid "Press the Sign button to finish." +msgstr "" +"Operaci dokončíte zmáčknutím tlačítka Podepsat." + +#. (itstool) path: note/title +#: C/pgp-sign.page:68 +msgid "Can I sign my own keys?" +msgstr "Mohu podepsat své vlastní klíče?" + +#. (itstool) path: note/p +#: C/pgp-sign.page:69 +msgid "" +"When you create a new GnuPG key, " +"it is automatically signed by you. Any new subkeys created using a GnuPG key, will also be signed " +"automatically." +msgstr "" +"Když vytvoříte nový klíč GnuPG, " +"je automaticky podepsán vámi. Nově vytvořené podklíče používající klíč GnuPG budou rovněž podepsány " +"automaticky." + +#. (itstool) path: info/desc +#: C/pgp-subkeys.page:19 +msgid "" +"A subkey is always bound to a master key in a PGP keypair. It is used for " +"encryption." +msgstr "" +"Podklíč je vždy spojen s hlavním klíčem v páru klíčů PGP. Používá se k " +"šifrování." + +#. (itstool) path: page/title +#: C/pgp-subkeys.page:23 +msgid "What is a subkey?" +msgstr "Co je to podklíč?" + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:25 +msgid "" +"Though it is very important to keep your keys safe, it can become quite " +"tedious to do so when you have many keys. Passwords and Keys " +"provides a simple solution to key safety by using subkeys for " +"signing and encryption." +msgstr "" +"Ačkoliv je velmi důležité uchovat své klíče v bezpečí, může to být poněku " +"unavné, když máte klíčů hodně. Hesla a klíče poskytují jednoduché " +"řešení, jak zachovat klíče bezpečné, pomocí podklíčů pro " +"podepisování a šifrování." + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:30 +msgid "" +"Whenever you create a new public encryption " +"key, a keypair is generated instead of a single key. This keypair " +"consists of a main key, also called the master key and a " +"subkey. A master key can be used to create additional subkeys that " +"are then bound to it." +msgstr "" +"Kdykoliv vytvoříte nový veřejný šifrovací " +"klíč, nevytvoří se jeden klíč, ale pár klíčů. Tento pár klíčů tvoří " +"hlavní klíč a podklíč. Hlavní klíč může být použit k " +"vytvoření dodatečných podklíčů, které s ním budou spojeny." + +#. (itstool) path: list/title +#: C/pgp-subkeys.page:37 +msgid "What does each key in a keypair do?" +msgstr "Co každý klíč v páru dělá?" + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:39 +msgid "" +"The master key is used for signing " +"other keys, creating subkeys and revoking subkeys. Your master key must be kept very safe. Signatures of trust " +"are also collected on your master key. If the master key is compromised, you " +"have no choice but to revoke it and all the subkeys attached to it." +msgstr "" +"Hlavní klíč se používá k podepisování ostatních klíčů, k vytváření podklíčů a k odvolávání podklíčů. Hlavní klíč musí být udržován opravdu v " +"bezpečí. V hlavním klíči se sdružují také podpisy důvěry. V případě, že je " +"hlavní klíč kompromitován, nemáte jinou možnost, než jej odvolat a s ním i " +"všechny připojené podklíče." + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:47 +msgid "" +"The default subkey is used for encryption and decryption of " +"messages. Additional subkeys can be created for signing. Though it is " +"important that your subkeys are kept safe, you can always revoke a subkey if " +"it is compromised and create a new one with the original master key." +msgstr "" +"Výchozí podklíč se používá k šifrování a dešifrování zpráv. " +"Dodatečné podklíče mohou být použity k vytváření podpisů. Ačkoliv je " +"důležité, aby vaše podklíče zůstaly v bezpečí, můžete podklíč, kdykoliv je " +"kompromitován, odvolat a vytvořit místo něj nový s původním hlavním klíčem." + +#. (itstool) path: section/title +#: C/pgp-subkeys.page:56 +msgid "More about subkeys" +msgstr "Více o podklíčích" + +#. (itstool) path: info/desc +#: C/pgp-sync.page:21 +msgid "" +"Synchronize information present in your local key with the corresponding key " +"on a key server." +msgstr "" +"Jak synchronizovat údaje zobrazované ve vašem místním klíči s příslušným " +"klíčem na serveru s klíči." + +#. (itstool) path: page/title +#: C/pgp-sync.page:25 +msgid "Synchronize your keys" +msgstr "Synchronizace vašich klíčů" + +#. (itstool) path: page/p +#: C/pgp-sync.page:27 +msgid "" +"PGP keys in your keyring have to be synchronized with a key server to ensure " +"that any changes made to the key on the key server, like a new signature, " +"are updated in your local copy of the key. Similarly, when you change " +"information on your local key copy, like the expiration date, or when you " +"sign someone's key, you should synchronize the keys to update the changes on " +"the remote copy of the key. You need a working Internet connection to " +"synchronize your keys." +msgstr "" +"Klíče PGP ve vaší klíčence je zapotřebí synchronizovat se serverem s klíči, " +"aby se zajistilo, že se libovolné změny provedené na serveru, jako například " +"nový podpis, aktualizují i do vaší místní kopii klíče. Obdobně, když " +"provedete změny v údajích své místní kopie, třeba v datu vypršení platnosti " +"nebo v podpisu něčího klíče, měli byste synchronizovat klíče, aby se změny " +"aktualizovaly i do vzdálené kopie klíče. Abyste mohli klíče synchronizovat, " +"musíte mít funkční připojení k Internetu." + +#. (itstool) path: steps/title +#: C/pgp-sync.page:36 +msgid "How do I synchronize a key?" +msgstr "Jak mohu klíče synchronizovat?" + +#. (itstool) path: item/p +#: C/pgp-sync.page:38 +msgid "Select the PGP key you wish to synchronize." +msgstr "Vyberte klíč PGP, který chcete synchronizovat." + +#. (itstool) path: item/p +#: C/pgp-sync.page:47 +msgid "" +"Click the Sync button to synchronize your key." +msgstr "" +"Synchronizaci proveďte kliknutím na tlačítko Synchronizovat." + +#. (itstool) path: note/title +#: C/pgp-sync.page:53 +msgid "Why is the Sync button not clickable?" +msgstr "Proč je tlačítko Synchronizovat nefunkční?" + +#. (itstool) path: note/p +#: C/pgp-sync.page:55 +msgid "" +"Only PGP keys that have been published on a key server can be synchronized. " +"If the Sync button is not clickable, check if " +"the key has been published on a key server. In the case of synchronizing " +"your own keys, publish them before " +"synchronizing them." +msgstr "" +"Synchronizovat je možné jen klíče PGP, které byly zveřejněny na serveru s " +"klíči. Pokud je tlačítko Synchronizovat zašedlé, " +"zkontrolujte, jestli byl klíč zveřejněn na serveru s klíči. V případě svých " +"vlastních klíčů si proveďte jejich zveřejnění" +"." + +#. (itstool) path: info/desc +#: C/pgp-userid-add.page:20 +msgid "" +"Having many user IDs helps you to use the same key to communicate with " +"different people." +msgstr "" +"Jak vám pomůže více ID uživatele u jednoho klíče komunikovat s různými lidmi." + +#. (itstool) path: page/title +#: C/pgp-userid-add.page:24 +msgid "Add extra user IDs to a key" +msgstr "Přidání dodatečného ID uživatele do klíče" + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:26 +msgid "" +"A key can have multiple user IDs. This is helpful when you want to use the " +"same key while communicating with several people and one of them does not " +"recognize, say, the email address in your user ID. This person may not want " +"to import your public key since it contains information that they do not " +"know. In such scenarios, if you do not want to create a new key with a " +"different user ID, you can attach a new user ID to your existing key." +msgstr "" +"Klíč může mít více ID uživatele. To se hodí, když chcete použít ten stejný " +"klíče pro komunikaci s několika lidmi a některý z nich nezná dejme tomu vaši " +"e-mailovou adresu v ID uživatele. Tato osoba pak nebude chtít importovat váš " +"veřejný klíč, protože obsahuje údaje, které nezná. Pokud se vám nechce při " +"takovém scénáři vytvářet zcela nový klíč s jiným ID uživatele, můžete přidat " +"nové ID uživatele do stávajícího klíče." + +#. (itstool) path: steps/title +#: C/pgp-userid-add.page:34 +msgid "To add an extra user ID:" +msgstr "Když chcete přidat dodatečné ID uživatele:" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:39 +msgid "From the list, select the Personal PGP key of your choice." +msgstr "V seznamu podle své potřeby vyberte Osobní klíče PGP." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:43 +msgid "" +"Right click on the key and select Properties Names " +"and Signatures." +msgstr "" +"Klikněte na klíč pravým tlačítkem a vyberte Vlastnosti " +"Jména a podpisy." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:47 +msgid "" +"Click the Add Name button to add a new user ID." +msgstr "" +"Pro přidání nového ID uživatele klikněte na tlačítko Přidat jméno." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:51 +msgid "" +"In the new dialog, fill in details like Full Name, Email " +"Address and Key Comment for the new user ID." +msgstr "" +"V novém dialogovém okně vyplňte pro nové ID uživatele podrobnosti jako jsou " +"Celé jméno, E-mailová adresa a Komentář klíče." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:56 +msgid "" +"Enter the correct passphrase and click OK to " +"finish." +msgstr "" +"Zadejte správnou heslovou frázi a vše dokončete kliknutím na Budiž." + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:61 +msgid "" +"Your new user ID will now be listed under the Names and Signatures panel." +msgstr "" +"Nové ID uživatele bude nyní uvedeno v panelu Jména a podpisy." + +#. (itstool) path: note/p +#: C/pgp-userid-add.page:65 +msgid "" +"If your key has been published on a key server, synchronize it after adding new user IDs to update the remote copy " +"of the key." +msgstr "" +"V případě, že máte svůj klíč zveřejněn na serveru s klíči, po přidání ID " +"uživatele jej synchronizujte, aby byla " +"vzdálená kopie klíče aktuální." + +#. (itstool) path: info/desc +#: C/pgp-userid-primary.page:19 +msgid "Change your default user ID" +msgstr "Jak změnit své výchozí ID uživatele." + +#. (itstool) path: page/title +#: C/pgp-userid-primary.page:22 +msgid "What is a primary user ID?" +msgstr "Co je to hlavní ID uživatele?" + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:24 +msgid "" +"When you have multiple user IDs, one of the user IDs is made the primary " +"user ID. Passwords and Keys will attach the primary user ID by " +"default with your key information, while encrypting or signing, unless you " +"explicitly choose another user ID instead." +msgstr "" +"Když máte více ID uživatele, jedno z nich je určeno jako hlavní. Při " +"šifrování a podepisování aplikace Hesla a klíče připojí " +"standardně hlavní ID uživatele k informacím v klíči, pokud místo něj " +"vyslovně neurčíte jiné ID uživatele." + +#. (itstool) path: steps/title +#: C/pgp-userid-primary.page:30 +msgid "To change the primary user ID in a PGP key:" +msgstr "Když chcete v klíči PGP změnit hlavní ID uživatele:" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:35 C/pgp-userid-remove.page:34 +#: C/subkeys-add.page:34 +msgid "Select the Personal PGP key from the list." +msgstr "Vyberte v seznamu Osobní klíč PGP." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:38 +msgid "" +"Right click on the selected key and select Properties " +"Names and Signatures." +msgstr "" +"Klikněte na vybraný klíč pravým tlačítkem a zvolte Vlastnosti Jména a podpisy." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:43 +msgid "" +"Select the new primary user ID from the list and click Primary." +msgstr "" +"Vyberte v seznamu nové hlavní ID uživatele a klikněte na Hlavní." + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:48 +msgid "" +"The user ID will move to the top of the Names and Signatures list " +"to become your primary user ID." +msgstr "" +"Příslušné ID uživatele se přesune na začátek seznamu Jména a podpisy a stane se hlavním ID uživatele." + +#. (itstool) path: note/p +#: C/pgp-userid-primary.page:52 +msgid "" +"Sync your keys after changing your primary user ID to update the remote " +"copies of your key." +msgstr "" +"Po změně hlavního ID uživatele proveďte synchronizaci klíčů, aby se " +"zajistila aktuálnost zvdálených kopií." + +#. (itstool) path: info/desc +#: C/pgp-userid-remove.page:20 +msgid "Remove extra user IDs" +msgstr "Jak odstranit dodatečné ID uživatele." + +#. (itstool) path: page/title +#: C/pgp-userid-remove.page:23 +msgid "Detach a user ID from a key" +msgstr "Odebrání dodatečného ID uživatele" + +#. (itstool) path: page/p +#: C/pgp-userid-remove.page:25 +msgid "" +"While it is essential that all keys have at least one user ID, you can " +"remove any additional user IDs that you have attached to the key." +msgstr "" +"Je podstatné, aby všechny klíče měli aspoň jedno ID uživatele, ale dodatečná " +"ID uživatele, která jste doplnili, je možné odebrat." + +#. (itstool) path: steps/title +#: C/pgp-userid-remove.page:29 +msgid "To remove a user ID from a PGP key:" +msgstr "Když chcete z klíče PGP odebrat ID uživatele:" + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:37 +msgid "" +"Right click on the selected key and choose Properties " +"Names and Signatures." +msgstr "" +"Klikněte na vybraný klíč pravým tlačítkem a zvolte Vlastnosti Jména a podpisy." + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:42 +msgid "" +"Select the user ID you want to remove and click Delete." +msgstr "" +"Vyberte ID uživatele, které chcete odebrat, a klikněte na Smazat." + +#. (itstool) path: note/p +#: C/pgp-userid-remove.page:48 +msgid "" +"Synchronize your keys after detaching the " +"user ID to update the changes on the remote copy of the key." +msgstr "" +"Po odebrání ID uživatele synchronizujte své " +"klíče, aby se změny promítly do vzdálené kopie klíče." + +#. (itstool) path: info/desc +#: C/pgp-userid.page:19 +msgid "Create keys with good user IDs and learn to add and remove user IDs." +msgstr "" +"Jak vytvořit klíče s dobrými ID uživatelů a jak přidat a odstranit ID " +"uživatelů." + +#. (itstool) path: page/title +#: C/pgp-userid.page:23 +msgid "What is a user ID?" +msgstr "Co je to ID uživatele?" + +#. (itstool) path: page/p +#: C/pgp-userid.page:25 +msgid "" +"When you create a key, you provide details, like your name, email and a key " +"description. This information together constitutes a user ID. A good user ID " +"helps people to recognize your key when they are trying to retrieve or import " +"it. It is important to fill in authentic information while creating your " +"user ID." +msgstr "" +"Když vytváříte klíče, zadáváte údaje, jako je jméno, e-mail a popis. Tyto " +"údaje dohromady tvoří ID uživatele. Kvalitní ID uživatele pomáhá lidem " +"roztřídit si klíče, které zkouší získat nebo importovat. Při vytváření ID " +"uživatele je důležité vyplnit tyto údaje sloužící k ověření." + +#. (itstool) path: section/title +#: C/pgp-userid.page:33 +msgid "Add, remove user IDs" +msgstr "Přidání a odebrání ID uživatele" + +#. (itstool) path: info/desc +#: C/ssh-connect-remote.page:23 +msgid "Use SSH keys to log in to another computer without entering a password." +msgstr "" +"Jak použít klíč SSH pro přihlášení k jinému počítači bez zadávání hesla." + +#. (itstool) path: page/title +#: C/ssh-connect-remote.page:27 +msgid "Connect to other computers" +msgstr "Připojení k jinému počítači" + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:29 +msgid "" +"You can use Passwords and Keys to install your SSH key onto a " +"remote computer that can run an SSH server. You can also set up your SSH key for remote login " +"while creating the key." +msgstr "" +"Hesla a klíče můžete použít k instalaci svých klíčů SSH na " +"vzdálený počítač, na kterém běží server SSH. Můžete také v průběhu vytváření nastavit klíč SSH pro " +"vzdálené přihlašování." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:36 +msgid "" +"Right click on the SSH key and select Configure Key for " +"Secure Shell…." +msgstr "" +"Klikněte pravým tlačítkem na Klíč SSH a vyberte Nastavit " +"klíč pro SSH…" + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:40 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH, and press " +"Set Up." +msgstr "" +"V dialogovém okně, které se otevře, zadejte Adresu serveru, " +"kterou normálně používáte pro přihlášení ke vzdálenému počítači přes SSH a " +"zmáčkněte Nastavit." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:45 C/ssh-create.page:106 +msgid "" +"The program will now attempt to connect to the specified Server " +"address with the entered Login Name. If there are any " +"problems in accessing the remote computer, a pop-up window will appear that " +"explains the problem, and you can try again. Make sure that you have a " +"network connection and that the remote computer is on and accessible." +msgstr "" +"Program se nyní pokusí připojit na zadanou Adresu serveru se " +"zadaným Přihlašovacím jménem. Pokud se vyskytne nějaký problém s " +"přístupem ke vzdálenému serveru, objeví se okno s vysvětlením problému a vy " +"to můžete zkusit znovu. Ujistěte se, že jste připojeni k síti a že je " +"vzdálený server dostupný." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:53 C/ssh-create.page:114 +msgid "" +"If connection to the remote computer was successful, a dialog box will " +"appear which asks for the Password you use to log in to the " +"remote computer. Enter your password, then press OK." +msgstr "" +"Pokud se podaří úspěšně spojit se vzdáleným počítačem, objeví se dialogové " +"okno s dotazem na Heslo, které používáte pro přihlášení ke " +"vzdálenému počítači. Zadejte své heslo a zmáčkněte Budiž." + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:60 +msgid "" +"You should now be able to log in to the remote computer via SSH without a " +"password." +msgstr "" +"Nyní byste měli být schopni se přihlásit ke vzdálenému počítači přes SSH bez " +"zadávání hesla." + +#. (itstool) path: info/desc +#: C/ssh-create.page:31 +msgid "Create SSH keys to log in to other computers." +msgstr "Jak vytvořit klíče SSH pro přihlášení k jinému počítači." + +#. (itstool) path: page/title +#: C/ssh-create.page:34 +msgid "Create a new SSH key" +msgstr "Vytvoření nového klíče SSH" + +#. (itstool) path: page/p +#: C/ssh-create.page:36 +msgid "" +"An SSH key will help you to create a secure connection between computers. " +"Creating an SSH key creates both a Public and a Private " +"key. Here is how to create a new key:" +msgstr "" +"Klíč SSH vám pomůže vytvořit bezpečné spojení mezi počítači. Vytvořením " +"klíče SSH vytvoříte jak veřejný, tak soukromý klíč. Zde je " +"postup, jak nový klíč vytvořit:" + +#. (itstool) path: item/p +#: C/ssh-create.page:42 +msgid "Select Secure Shell Key from the list." +msgstr "V seznamu vyberte Klíč SSH." + +#. (itstool) path: item/p +#: C/ssh-create.page:43 +msgid "" +"Enter a description for the key. The key description will help you to " +"identify the key later. For example, you could enter the date for the day, " +"something about how the key will be used, or the server name on which you " +"intend to install the key. The description field is optional, and how you " +"describe the key is entirely up to you." +msgstr "" +"Zadejte popis klíče. Popis vám pomůže později klíč rozpoznat. Například " +"můžete zadat datum vytvoření, nějaké informace k použití klíče nebo název " +"serveru, pro nejž je klíč zamýšlen. Pole s popisem je volitelné, a jak si " +"klíč popíšete, záleží jen na vás." + +#. (itstool) path: item/p +#: C/ssh-create.page:48 +msgid "" +"You can also change default settings for encryption type or key strength." +msgstr "Můžete také změnit výchozí nastavení pro typ šifrování a sílu klíče." + +#. (itstool) path: page/p +#: C/ssh-create.page:52 +msgid "" +"At this point, you can just create your key, or create your key and install " +"it on a remote computer to enable password-free login." +msgstr "" +"V tuto chvíli můžete buď jen vytvořit klíč nebo vytvořit klíč a nainstalovat " +"jej na vzdálený počítač, abyste se mohli přihlašovat bez zadávání hesla." + +#. (itstool) path: section/title +#: C/ssh-create.page:56 +msgid "Create your key and do not set up remote login" +msgstr "Vytvoření klíče bez nastavení pro vzdálené přihlašování" + +#. (itstool) path: section/p +#: C/ssh-create.page:57 +msgid "You can create the SSH key, and choose to set it up later." +msgstr "Můžete vytvořit klíč SSH a zvolit, že jej nastavíte později." + +#. (itstool) path: item/p +#: C/ssh-create.page:61 +msgid "Press the Just Create Key button." +msgstr "Zmáčkněte tlačítko Pouze vytvořit klíč." + +#. (itstool) path: item/p +#: C/ssh-create.page:64 +msgid "" +"Type a passphrase for your SSH key and press OK." +msgstr "" +"Napište heslovou frázi pro svůj klíč SSH a zmáčkněte Budiž." + +#. (itstool) path: item/p +#: C/ssh-create.page:68 +msgid "" +"Retype the passphrase and press OK to finish." +msgstr "" +"Napište znovu heslovou frázi a zmáčknutím Budiž " +"vše dokončete." + +#. (itstool) path: section/p +#: C/ssh-create.page:73 +msgid "The SSH key will now be listed in the OpenSSH keys keyring." +msgstr "Klíč SSH bude nyní uveden v klíčence Klíče OpenSSH." + +#. (itstool) path: note/p +#: C/ssh-create.page:77 +msgid "" +"When you try to use your SSH key, your operating system will prompt you for " +"the passphrase used during creation. This ensures that if someone gets " +"access to your SSH key, they can't use it without the passphrase." +msgstr "" +"Když zkusíte použí svůj klíč SSH, dotáže se vás operační systém na heslovou " +"frázi použitou při vytváření. To zajišťuje, že i když se někdo dostane k " +"vašemu klíči SSH, nemůže jej bez znalosti heslové fráze použít." + +#. (itstool) path: section/title +#: C/ssh-create.page:86 +msgid "Create your key and install it on a remote computer" +msgstr "Vytvoření klíče a nastavení pro vzdálené přihlašování" + +#. (itstool) path: section/p +#: C/ssh-create.page:87 +msgid "" +"One of the most useful things about having an SSH key is that you can " +"install the public key on a remote computer. Doing this allows you to log in " +"to a remote computer with SSH without needing to enter your password every " +"time." +msgstr "" +"Jednou z nejužitečnějších věcí na pořízení klíče SSH je, že můžete " +"nainstalovat veřejný klíč na vzdálený počítač. Když tak učiníte, můžete se " +"přihlašovat na vzdálený počítač přes SSH bez potřeby pokaždé zadávat své " +"heslo." + +#. (itstool) path: item/p +#: C/ssh-create.page:94 +msgid "" +"Press the Create and Set Up button, and follow " +"the above instructions on entering a passphrase." +msgstr "" +"Zmáčkněte tlačítko Vytvořit a nastavit a " +"pokračujte podle instrukcí ohledně zadání heslové fráze." + +#. (itstool) path: item/p +#: C/ssh-create.page:98 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH." +msgstr "" +"V dialogovém okně, které se otevře, zadejte Adresu serveru, " +"kterou normálně používáte k přihlášení přes SSH na vzdáleném počítači." + +#. (itstool) path: item/p +#: C/ssh-create.page:102 +msgid "" +"Ensure that the Login name you use on the remote computer is " +"correct, and press Set Up." +msgstr "" +"Ujistěte se, že Přihlašovací jméno, které používáte na vzdáleném " +"počítači je správné a zmáčkněte Nastavit." + +#. (itstool) path: section/p +#: C/ssh-create.page:121 +msgid "" +"The public part of the selected SSH key will now be installed on the remote " +"computer and configured to allow password-free SSH login. You should now be " +"able to log in to the remote computer via SSH without a password." +msgstr "" +"Veřejná část vybraného klíče SSH je nyní nainstalovaná na vzdáleném počítači " +"a nastavená pro umožnění přihlášení k SSH bez hesla. Nyní se můžete " +"přihlásit ke vzdálenému počitači přes SSH, aniž budete muset zadávat heslo." + +#. (itstool) path: note/p +#: C/ssh-create.page:127 +msgid "" +"If SSH key authentication fails and you cannot use password authentication, " +"contact the service administrator for further help." +msgstr "" +"V případě, že ověření klíčem SSH selže a nemůžete použít ověření heslem, " +"kontaktujte ohledně další pomoci správce služby." + +#. (itstool) path: info/desc +#: C/ssh-export.page:20 +msgid "Export your public and private SSH keys to store them in keyfiles." +msgstr "" +"Jak exportovat své veřejné a soukromé klíče SSH, aby byly uložené v " +"souborech." + +#. (itstool) path: page/title +#: C/ssh-export.page:24 +msgid "Export SSH keys" +msgstr "Export klíčů SSH" + +#. (itstool) path: page/p +#: C/ssh-export.page:26 +msgid "" +"Export the contents of your SSH keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Vyexportujte si obsah svých klíčů SSH a uložte si je do souborů, abyste měli " +"jejich zálohu a abyste mohli své veřejné klíče sdílet s ostatními." + +#. (itstool) path: section/title +#: C/ssh-export.page:30 +msgid "To export your public SSH key:" +msgstr "Když chcete exportovat svůj veřejný klíč SSH:" + +#. (itstool) path: item/p +#: C/ssh-export.page:34 C/ssh-export.page:57 +msgid "Select the OpenSSH keys keyring from the left side panel." +msgstr "V levém postranním panelu vyberte klíčenku Klíče OpenSSH." + +#. (itstool) path: item/p +#: C/ssh-export.page:38 C/ssh-export.page:61 +msgid "" +"Select the Personal SSH key, that has to be exported, from the " +"list." +msgstr "" +"V seznamu vyberte Osobní klíč SSH, který má být vyexportován." + +#. (itstool) path: item/p +#: C/ssh-export.page:45 +msgid "" +"Press the Export button to save the exported " +"public key on your computer." +msgstr "" +"Zmáčknutím tlačítka Exportovat uložte " +"exportovaný veřejný klíč do souboru." + +#. (itstool) path: section/title +#: C/ssh-export.page:53 +msgid "To export your private SSH key:" +msgstr "Když chcete exportovat svůj soukromý klíč SSH:" + +#. (itstool) path: item/p +#: C/ssh-export.page:65 +msgid "" +"Right click on the selected key and select Properties." +msgstr "" +"Klikněte pravým tlačítkem na vybraný klíč a zvolte Vlastnosti." + +#. (itstool) path: item/p +#: C/ssh-export.page:69 +msgid "" +"Press the Export button to save the exported " +"private key on your computer." +msgstr "" +"Zmáčknutím tlačítka Exportovat uložte " +"exportovaný soukromý klíč do souboru." + +#. (itstool) path: note/p +#: C/ssh-export.page:75 +msgid "" +"Keep the exported private key file in a safe location, since the contents of " +"the file must be kept private, to prevent misuse of your key." +msgstr "" +"Vyexportovaný soukromý klíč uchovávejte na bezpečném místě, protože obsah " +"souboru musí zůstat soukromý, aby se předešlo zneužití klíče." + +#. (itstool) path: info/desc +#: C/ssh-import.page:25 +msgid "Import SSH keys from keyfiles into Passwords and Keys." +msgstr "" +"Jak importovat klíče SSH ze souboru do aplikace Hesla a klíče." + +#. (itstool) path: page/title +#: C/ssh-import.page:28 +msgid "Import SSH keys" +msgstr "Import klíčů SSH" + +#. (itstool) path: page/p +#: C/ssh-import.page:30 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports SSH keys from the ~/.ssh directory on " +"your computer. You can also manually import keys into Passwords and " +"Keys." +msgstr "" +"Když obdržíte soubor s klíčem e-mailem, budete jej nejspíše chtít " +"naimportovat do aplikace Hesla a klíče. Ve většině případů " +"Hesla a klíče automaticky naimportují klíče SSH ze složky " +"~/.ssh ve vašem počítači. Klíč můžete do Hesel a klíčů naimportovat i ručně." + +#. (itstool) path: item/p +#: C/ssh-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. Public SSH keys end " +"with .pub." +msgstr "" +"V novém dialogovém okně vyberte klíče, který si přejete importovat. Veřejné " +"klíče SSH mají příponu .pub." + +#. (itstool) path: page/p +#: C/ssh-import.page:53 +msgid "" +"Imported keys are automatically grouped according to their type. So, " +"SSH keys are listed in the OpenSSH keys section." +msgstr "" +"Naimportované klíče se automaticky seskupují podle svého typu, takže klíče " +"SSH budou uvedeny v části Klíče OpenSSH." + +#. (itstool) path: info/desc +#: C/subkeys-add.page:20 +msgid "Additional subkeys make your master key more secure." +msgstr "Jak zvýšit bezpečnost hlavního klíče pomocí dodatečných podklíčů." + +#. (itstool) path: page/title +#: C/subkeys-add.page:23 +msgid "Add extra subkeys" +msgstr "Přidání dalších podklíčů" + +#. (itstool) path: page/p +#: C/subkeys-add.page:25 +msgid "" +"You can add extra subkeys to the same master key. You have to choose the " +"right subkey each time you want to encrypt or sign when you do this." +msgstr "" +"Do hlavního klíče můžete přidat dodatečné podklíče. Pokaždé, když chcete " +"šifrovat nebo podepisovat, si pak musíte vybrat správný podklíč." + +#. (itstool) path: steps/title +#: C/subkeys-add.page:29 +msgid "To add extra subkeys to a PGP key:" +msgstr "Když chcete přidat dodatečný podklíč PGP:" + +#. (itstool) path: item/p +#: C/subkeys-add.page:41 C/subkeys-examine.page:41 +msgid "If the Subkeys panel is not expanded, expand it." +msgstr "Pokud není panel Podklíče rozbalen, rozbalte jej." + +#. (itstool) path: item/p +#: C/subkeys-add.page:44 +msgid "Click the Add button to add a new subkey." +msgstr "" +"Pro přidání nového podklíče klikněte na tlačítko Přidat." + +#. (itstool) path: item/p +#: C/subkeys-add.page:48 +msgid "" +"Choose the right properties for your key by selecting the appropriate " +"Key Type, Key Length and Expiration Date " +"and click OK." +msgstr "" +"Zvolte správné vlastnosti pro svůj klíč nastavením příslušného Typu " +"klíče, Délky klíče a Data vypršení platnosti a " +"klikněte na Budiž." + +#. (itstool) path: note/p +#: C/subkeys-add.page:55 +msgid "" +"Always ensure that your subkey expires before your master key since a subkey " +"is useless when its master key has expired." +msgstr "" +"Vždy se ujistěte, že platnost vašeho podklíče vyprší dříve než u hlavního " +"klíče, protože podklíč v neplatném hlavním klíči je nepoužitelný." + +#. (itstool) path: info/desc +#: C/subkeys-examine.page:20 +msgid "See all the subkeys listed under a PGP key." +msgstr "Jak zobrazit všechny podklíče uvedené v klíči PGP." + +#. (itstool) path: page/title +#: C/subkeys-examine.page:23 +msgid "Where are my subkeys listed?" +msgstr "Kde jsou vypsány mé podklíče?" + +#. (itstool) path: page/p +#: C/subkeys-examine.page:25 +msgid "" +"You can check the contents of a keypair to see the properties of a subkey." +msgstr "" +"Můžete si zkontrolovat obsah páru klíčů, abyste viděli vlastnosti podklíče." + +#. (itstool) path: steps/title +#: C/subkeys-examine.page:29 +msgid "To see all the subkeys in a PGP key:" +msgstr "Když chcete vidět všechny podklíče některého klíče PGP:" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:31 +msgid "Select the GnuPG keys from the left side panel." +msgstr "V levém postanním panelu vyberte Klíče GnuPG." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:34 +msgid "Select the Personal PGP key." +msgstr "Vyberte Osobní klíč PGP." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:37 +msgid "" +"Right click on the key chosen in the previous step and select " +"PropertiesDetails." +msgstr "" +"Klikněte pravým tlačítkem na klíč, který jste zvolili v předchozím kroku a " +"vyberte Vlastnosti Podrobnosti." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:44 +msgid "All the subkeys for the selected PGP key will be listed in the panel." +msgstr "V panelu budou uvedeny všechny podklíče vybraného klíče PGP." + +#. (itstool) path: note/p +#: C/subkeys-examine.page:50 +msgid "" +"While signing another key, Passwords and Keys automatically " +"chooses the master key for signing, when you select a GnuPG keys " +"keypair to sign with." +msgstr "" +"Kdykoliv podepisujete jiný klíč, aplikace Hesla a klíče " +"automaticky zvolí pro podepsání hlavní klíč v případě, že vyberete k " +"podpsání pár klíčů GnuPG." + +#. (itstool) path: info/desc +#: C/subkeys-revoke.page:20 +msgid "Revoke a subkey that has been compromised or is not being used." +msgstr "Jak odvolat podklíč, který byl kompromitován nebo není používán." + +#. (itstool) path: page/title +#: C/subkeys-revoke.page:24 +msgid "Revoke your subkeys" +msgstr "Odvolání vašeho podklíče" + +#. (itstool) path: page/p +#: C/subkeys-revoke.page:26 +msgid "" +"If your subkey has been compromised or is no longer in use, it might be a " +"good idea to revoke it to prevent misuse of the key." +msgstr "" +"Pokud byl váš podklíč kompromitován nebo již není nadále používán, může být " +"dobrý nápad jej odvolat, aby se předešlo jeho zneužití." + +#. (itstool) path: steps/title +#: C/subkeys-revoke.page:30 +msgid "To revoke a subkey:" +msgstr "Když chcete odvolat podklíč:" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:32 +msgid "" +"Navigate to the Subkeys " +"panel." +msgstr "" +"Přejděte do panelu Podklíče." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:47 +msgid "" +"Select the subkey from the list and press the Revoke button." +msgstr "" +"Vyberte podklíč v seznamu a zmáčkněte tlačítko Odvolat." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:51 +msgid "" +"In the new dialog, select a reason for revoking the key. Optionally, " +"describe your reason in more detail in the Description field." +msgstr "" +"V novém dialogovém okně vyberte důvod odvolání klíče. Volitelně můžete důvod " +"podrobněji rozvést v poli Popis." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:56 +msgid "Press the Revoke button." +msgstr "Zmáčkněte tlačítko Odvolat." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:59 +msgid "You will have to unlock the key with its passphrase." +msgstr "Budete muset klíč odemknout pomocí jeho heslové fráze." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:62 +msgid "" +"The Status of the subkey changes to Revoked in the " +"Subkeys panel." +msgstr "" +"Stav podklíče se v panelu Podklíče změní na " +"Odvolaný." + +#. (itstool) path: note/p +#: C/subkeys-revoke.page:68 +msgid "" +"If you have published your subkey, you " +"must synchronize it with the key servers " +"after revoking it to apply the revocation on all copies of the key." +msgstr "" +"V případě, že máte svůj podklíč zveřejněn, " +"můsíte po jeho odvolání provést synchronizaci " +"se serverem s klíči, aby se zneplatnily všechny jeho kopie." diff --git a/help/de/de.po b/help/de/de.po new file mode 100644 index 00000000..1a7c3d28 --- /dev/null +++ b/help/de/de.po @@ -0,0 +1,3403 @@ +# German translation for the seahorse manual. +# Copyright (C) 2014 seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# +# Christian Kirbach , 2014-2015. +# Benjamin Steinwender , 2014. +# Wolfgang Stöggl , 2015. +# Mario Blättermann , 2016, 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"POT-Creation-Date: 2020-09-10 20:26+0000\n" +"PO-Revision-Date: 2020-09-10 23:15+0200\n" +"Last-Translator: Christian Kirbach \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.4.1\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "" +"Christian Kirbach , 2014, 2015, 2019, 2020\n" +"Benjamin Steinwender , 2014\n" +"Mario Blättermann , 2016, 2019, 2020" + +#. (itstool) path: credit/name +#: C/about-diff-private-public.page:14 C/about-ssh.page:13 C/concepts.page:14 +#: C/index.page:14 C/introduction.page:15 C/keyring-create.page:26 +#: C/keyring.page:15 C/pgp-create.page:16 C/pgp-import.page:21 +#: C/ssh-connect-remote.page:14 C/ssh-create.page:16 C/ssh-import.page:20 +msgid "Jim Campbell" +msgstr "Jim Campbell" + +#. (itstool) path: credit/years +#: C/about-diff-private-public.page:16 C/about-pgp.page:17 C/about-ssh.page:15 +#: C/glossary.page:17 C/index.page:16 C/index.page:21 C/index.page:26 +#: C/introduction.page:17 C/introduction.page:23 C/key-servers-add.page:20 +#: C/keyring-change-default.page:16 C/keyring-create.page:18 +#: C/keyring-create.page:23 C/keyring-lock.page:17 C/keyring-unlock.page:17 +#: C/keyring-update-password.page:17 C/keyring.page:17 C/keyring.page:22 +#: C/keyring.page:27 C/misc-key-backup.page:17 C/misc-key-fingerprint.page:16 +#: C/passwords-stored-create.page:16 C/passwords-view.page:18 +#: C/pgp-create.page:18 C/pgp-create.page:24 C/pgp-delete.page:17 +#: C/pgp-expiration-change.page:16 C/pgp-expired.page:17 C/pgp-export.page:16 +#: C/pgp-import.page:18 C/pgp-import.page:23 C/pgp-photoid.page:17 +#: C/pgp-publish.page:18 C/pgp-retrieve-remote.page:18 C/pgp-sign.page:16 +#: C/pgp-subkeys.page:16 C/pgp-sync.page:18 C/pgp-userid-add.page:17 +#: C/pgp-userid-primary.page:16 C/pgp-userid-remove.page:17 +#: C/pgp-userid.page:16 C/ssh-create.page:18 C/ssh-export.page:17 +#: C/ssh-import.page:17 C/ssh-import.page:22 C/subkeys-add.page:17 +#: C/subkeys-examine.page:17 C/subkeys-revoke.page:17 +msgid "2013" +msgstr "2013" + +#. (itstool) path: info/desc +#: C/about-diff-private-public.page:19 +msgid "" +"A public key is used to encrypt communication. A private key is used to " +"decrypt it." +msgstr "" +"Ein öffentlicher Schlüssel wird zum Verschlüsseln von Kommunikationsdaten " +"eingesetzt. Ein geheimer Schlüssel dient zu deren Entschlüsselung." + +#. (itstool) path: page/title +#: C/about-diff-private-public.page:23 +msgid "Public Key vs Private Key" +msgstr "Öffentlicher und geheimer Schlüssel" + +#. (itstool) path: page/p +#: C/about-diff-private-public.page:25 +msgid "" +"Although Public Keys and Private Keys are both referred to " +"as keys, it helps to think of them a bit differently. Try to think " +"of a Public Key as being like a padlock, and a Private Key " +"as being like a key that unlocks the padlock." +msgstr "" +"Obwohl man bei öffentlichen Schlüsseln und geheimen Schlüsseln in beiden Fällen von Schlüsseln spricht, ist es nützlich, beide " +"differenziert zu betrachten. Stellen Sie sich einen öffentlichen " +"Schlüssel als ein Metallschloss vor und den geheimen Schlüssel " +"als den zugehörigen Schlüssel zum Entsperren." + +#. (itstool) path: section/title +#: C/about-diff-private-public.page:31 +msgid "An Example: Sending a Secret Message in a Box" +msgstr "Ein Beispiel: Senden einer geheimen Botschaft in einer Kiste" + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:33 +msgid "" +"Let's use an example to see how this works. Imagine that you want your " +"friend to send you a secret message in a box. You could give your friend a " +"box and a padlock, but only you would have the key that unlocks the padlock." +msgstr "" +"Sehen wir uns zum besseren Verständnis ein Beispiel an. Angenommen, ein " +"Bekannter soll Ihnen eine geheime Nachricht in einer Kiste schicken. Sie " +"könnten Ihrem Bekannten eine Kiste und ein Metallschloss geben, und nur Sie " +"haben den Schlüssel, um das Metallschloss zu entsperren." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:38 +msgid "" +"Your friend could put their message in the box, lock the padlock, and then " +"send you the locked box in the mail. When you receive it, you would use your " +"key to unlock the box." +msgstr "" +"Ihr Bekannter legt die Nachricht in die Kiste und sperrt diese mit dem " +"Metallschloss. Die zugesperrte Kiste wird Ihnen per E-Mail zugesendet. Bei " +"Erhalt entsperren Sie die Kiste mit Ihrem Schlüssel." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:42 +msgid "" +"This is similar to how a Public Key and a Private Key " +"work. Like the padlock, you can freely give out your Public Key. " +"This will make it easy for anyone to securely encrypt, or lock, a message " +"that they want to send to you." +msgstr "" +"Das ist vergleichbar mit dem Verfahren, wie ein öffentlicher Schlüssel und ein geheimer Schlüssel funktionieren. Wie auch das " +"Metallschloss dürfen Sie sorglos Ihren öffentlichen Schlüssel " +"weitergeben. Somit ist es für jedermann einfach, eine Nachricht zu " +"verschlüsseln (zu sperren), die an Sie gesendet werden soll." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:47 +msgid "" +"On the other hand, a Private Key is like the key that allows you to " +"decrypt, or unlock, the padlock. Because the Private Key is used to " +"decrypt secure messages, you will want to keep your Private Key " +"safe." +msgstr "" +"Im Gegensatz dazu ist ein geheimer Schlüssel wie ein Schlüssel zum " +"Entschlüsseln (Entsperren) des Metallschlosses. Weil Ihr geheimer " +"Schlüssel zum Entschlüsseln gesicherter Nachrichten eingesetzt wird, " +"halten Sie unter allen Umständen Ihren geheimen Schlüssel geheim " +"und sicher verwahrt." + +#. (itstool) path: credit/name +#: C/about-pgp.page:15 C/glossary.page:15 C/index.page:19 +#: C/introduction.page:21 C/key-servers-add.page:18 +#: C/keyring-change-default.page:14 C/keyring-create.page:16 +#: C/keyring-lock.page:15 C/keyring-unlock.page:15 +#: C/keyring-update-password.page:15 C/keyring.page:20 +#: C/misc-key-backup.page:15 C/misc-key-fingerprint.page:14 +#: C/passwords-stored-create.page:14 C/passwords-view.page:16 +#: C/pgp-create.page:22 C/pgp-delete.page:15 C/pgp-expiration-change.page:14 +#: C/pgp-expired.page:15 C/pgp-export.page:14 C/pgp-import.page:16 +#: C/pgp-photoid.page:15 C/pgp-sign.page:14 C/pgp-subkeys.page:14 +#: C/pgp-sync.page:16 C/pgp-userid-add.page:15 C/pgp-userid-primary.page:14 +#: C/pgp-userid-remove.page:15 C/pgp-userid.page:14 +#: C/ssh-connect-remote.page:19 C/ssh-export.page:15 C/ssh-import.page:15 +#: C/subkeys-add.page:15 C/subkeys-examine.page:15 C/subkeys-revoke.page:15 +msgid "Aruna Sankaranarayanan" +msgstr "Aruna Sankaranarayanan" + +#. (itstool) path: info/desc +#: C/about-pgp.page:20 +msgid "PGP keys are used to sign and encrypt emails and files." +msgstr "" +"PGP-Schlüssel werden zum Signieren und Verschlüsseln von E-Mails und Dateien " +"eingesetzt." + +#. (itstool) path: page/title +#: C/about-pgp.page:23 +msgid "What is a PGP key?" +msgstr "Was ist ein PGP-Schlüssel?" + +#. (itstool) path: page/p +#: C/about-pgp.page:25 +msgid "" +"A PGP key is a public encryption key. A PGP key can be used to sign and " +"encrypt emails and files. When you create a PGP key, a keypair having a " +"public key and a private key is generated. You can share the public key with " +"anyone who wishes to send you encrypted messages or files, but the private " +"key must be known only to you and used to decrypt received messages." +msgstr "" +"Ein PGP-Schlüssel ist ein öffentlicher kryptografischer Schlüssel, der zum " +"Signieren und Verschlüssen von E-Mails und Dateien verwendet wird. Wenn Sie " +"einen PGP-Schlüssel erzeugen, wird ein Schlüsselpaar erstellt, das aus einem " +"öffentlichen und einem geheimen Schlüssel besteht. Sie dürfen den " +"öffentlichen Schlüssel jedem geben, der Ihnen eine verschlüsselte Nachricht " +"oder Datei senden will. Der geheime Schlüssel hingegen muss unbedingt bei " +"Ihnen verbleiben und wird zum Entschlüsseln empfangener Nachrichten " +"verwendet." + +#. (itstool) path: section/title +#: C/about-pgp.page:32 +msgid "Encrypt and sign data using PGP keys" +msgstr "Daten mit PGP-Schlüsseln verschlüsseln und signieren" + +#. (itstool) path: section/p +#: C/about-pgp.page:34 +msgid "" +"Passwords and Keys is a key management application. Though it " +"cannot be used to encrypt or sign files and messages, you can use it to " +"sign trustworthy keys." +msgstr "" +"Passwörter und Verschlüsselung ist eine Anwendung zur Verwaltung " +"von Schlüsseln. Sie können nicht direkt Dateien und Nachrichten " +"verschlüsseln oder signieren, aber Sie können damit vertrauenswürdige " +"Schlüssel signieren." + +#. (itstool) path: section/p +#: C/about-pgp.page:38 +msgid "" +"To secure your communication, you can use email clients like Evolution that provide encryption and signing services." +msgstr "" +"Verwenden Sie für sichere Kommunikation ein E-Mail-Programm wie z.B. " +"Evolution, das Verschlüsseln und Signieren unterstützt." + +#. (itstool) path: info/desc +#: C/about-ssh.page:18 +msgid "" +"SSH keys are used to login to a remote computer, once a secure connection " +"has been established." +msgstr "" +"Mit SSH-Schlüsseln melden Sie sich an entfernten Rechnern an, sobald eine " +"sichere Verbindung aufgebaut wurde." + +#. (itstool) path: page/title +#: C/about-ssh.page:22 +msgid "What is a Secure Shell key?" +msgstr "Was ist ein Secure Shell-Schlüssel?" + +#. (itstool) path: page/p +#: C/about-ssh.page:24 +msgid "" +"A Secure Shell key, often just called an SSH key, helps " +"you create a secure connection over an unsecured network." +msgstr "" +"Ein Secure Shell-Schlüssel, oft auch SSH-Schlüssel " +"genannt, ermöglicht eine sichere Verbindung über ein unsicheres Netz." + +#. (itstool) path: list/title +#: C/about-ssh.page:28 +msgid "An SSH key actually consists of two parts:" +msgstr "Ein SSH-Schlüssel besteht eigentlich aus zwei Teilen:" + +#. (itstool) path: item/p +#: C/about-ssh.page:29 +msgid "A public key, which is widely available." +msgstr "Einem öffentlichen Schlüssel, der allgemein verfügbar ist." + +#. (itstool) path: item/p +#: C/about-ssh.page:30 +msgid "" +"A private key, which is kept secret. The private key is used to unlock " +"messages encrypted with a corresponding public key." +msgstr "" +"Einem geheimen Schlüssel, der stets geheim gehalten wird. Der geheime " +"Schlüssel wird zum Entsperren verschlüsselter Nachrichten verwendet, die mit " +"dem entsprechenden öffentlichen Schlüssel verschlüsselt wurden." + +#. (itstool) path: page/p +#: C/about-ssh.page:34 +msgid "" +"The advantage of using an SSH key to create a connection between " +"computers is that only the Public key needs to be sent over the " +"network. Transmissions encrypted with a Public key can only be " +"decoded by unlocking them with the corresponding Private key and a " +"password. Because only the public key is sent over the network, the key's " +"password is kept secret." +msgstr "" +"Der Vorteil beim Einsatz eines SSH-Schlüssels zum Aufbauen einer " +"Verbindung zwischen zwei Rechnern ist, dass nur der öffentliche " +"Schlüssel über das Netz übertragen werden muss. Mit einem " +"öffentlichen Schlüssel verschlüsselte Übertragungen können nur " +"entschlüsselt werden, indem diese mit dem entsprechenden geheimen " +"Schlüssel und einem Passwort entschlüsselt werden. Weil nur der " +"öffentliche Schlüssel über das Netz versendet wurde, bleibt das Passwort des " +"Schlüssels geheim." + +#. (itstool) path: credit/years +#: C/concepts.page:16 C/key-servers-add.page:25 C/keyring-create.page:28 +#: C/misc-key-backup.page:23 C/passwords-view.page:24 C/pgp-create.page:30 +#: C/pgp-delete.page:23 C/ssh-create.page:23 C/ssh-create.page:28 +msgid "2014" +msgstr "2014" + +#. (itstool) path: info/desc +#: C/concepts.page:19 +msgid "" +"Learn terms and concepts that are relevant to managing passwords and keys." +msgstr "" +"Lernen Sie Begriffe und Konzepte, die für die Verwaltung von Passwörtern und " +"Schlüsseln relevant sind." + +#. (itstool) path: page/title +#: C/concepts.page:23 +msgid "Key Concepts and Terms" +msgstr "Grundkonzepte und Begriffe" + +#. (itstool) path: info/desc +#: C/glossary.page:20 +msgid "A list of basic terms used." +msgstr "Eine Liste der grundlegenden verwendeten Begriffe." + +#. (itstool) path: page/title +#: C/glossary.page:23 +msgid "Glossary" +msgstr "Glossar" + +#. (itstool) path: page/p +#: C/glossary.page:25 +msgid "" +"Passwords and Keys helps you to generate and manage tokens that " +"can be used to protect your files and communication. Here are some basic " +"terms that you will encounter while reading this help:" +msgstr "" +"Passwörter und Verschlüsselung unterstützt Sie dabei, Token zu " +"erstellen und zu verwalten, die zum Schützen Ihrer Dateien und " +"Unterhaltungen eingesetzt werden. Es folgen nun einige grundlegende " +"Begriffe, die in diesem Handbuch verwendet werden:" + +#. (itstool) path: item/title +#: C/glossary.page:31 +msgid "Encryption" +msgstr "Verschlüsselung" + +#. (itstool) path: item/p +#: C/glossary.page:32 +msgid "" +"Encryption is the process of making your important files and data unreadable " +"to anyone but the intended recipient. When you encrypt your data, it becomes " +"a scrambled sequence of numbers and letters. Encryption is done by someone " +"who is sending a protected file, or sending a message in a protected " +"conversation." +msgstr "" +"Verschlüsselung ist der Vorgang, wichtige Dateien und Daten für alle außer " +"dem beabsichtigten Empfänger unlesbar zu machen. Wenn Sie Ihre Daten " +"verschlüsseln, so werden diese zu einer zerwürfelten Folge von Zahlen und " +"Buchstaben. Verschlüsselung wird von Personen eingesetzt, die eine Datei " +"oder eine Unterhaltung geschützt versenden wollen." + +#. (itstool) path: item/title +#: C/glossary.page:39 +msgid "Algorithm" +msgstr "Algorithmus" + +#. (itstool) path: item/p +#: C/glossary.page:40 +msgid "" +"An algorithm is a sequence of steps used to encrypt or decrypt your data." +msgstr "" +"Ein Algorithmus ist eine Abfolge von Schritten zum Verschlüsseln oder " +"Entschlüsseln Ihrer Daten." + +#. (itstool) path: item/title +#: C/glossary.page:44 +msgid "Decryption" +msgstr "Entschlüsselung" + +#. (itstool) path: item/p +#: C/glossary.page:45 +msgid "" +"Decryption is the process of retrieving the original text from the encrypted " +"message or file. It is done by the receiver of the protected file or " +"communication. Encrypted messages cannot be understood without decrypting " +"them first." +msgstr "" +"Entschlüsselung ist der Vorgang der Rückgewinnung des ursprünglichen Texts " +"aus einer verschlüsselten Nachricht oder Datei. Sie wird vom Empfänger der " +"geschützten Datei oder Unterhaltung eingesetzt. Verschlüsselte Nachrichten " +"können nicht ohne Entschlüsselung verstanden werden." + +#. (itstool) path: item/title +#: C/glossary.page:51 +msgid "Plaintext" +msgstr "Klartext" + +#. (itstool) path: item/p +#: C/glossary.page:52 +msgid "" +"Any data or file that is not encrypted, and can therefore be read by anyone " +"who can access it, is called plaintext." +msgstr "" +"Daten oder Dateien, die nicht verschlüsselt sind und somit von jedem gelesen " +"werden können, nennt man Klartext." + +#. (itstool) path: item/title +#: C/glossary.page:56 +msgid "Key" +msgstr "Schlüssel" + +#. (itstool) path: item/p +#: C/glossary.page:57 +msgid "" +"A key is used to encrypt and decrypt files and communication. A key may also " +"be used to login to a remote computer. Some types of keys are PGP keys and SSH " +"keys." +msgstr "" +"Mit einem kryptographischen Schlüssel werden Dateien und Unterhaltungen ver- " +"und entschlüsselt. Ein Schlüssel kann z.B. auch dazu eingesetzt werden, sich " +"an einem entfernten Rechner anzumelden. Bekannte Schlüsseltypen sind z.B. " +"PGP-Schlüssel und SSH-Schlüssel." + +#. (itstool) path: item/title +#: C/glossary.page:63 +msgid "Keyring" +msgstr "Schlüsselbund" + +#. (itstool) path: item/p +#: C/glossary.page:64 +msgid "A keyring is a collection of passwords or keys." +msgstr "Ein Schlüsselbund ist eine Sammlung von Passwörtern oder Schlüsseln." + +#. (itstool) path: info/title +#: C/index.page:8 +msgctxt "link" +msgid "Passwords and Keys" +msgstr "Passwörter und Verschlüsselung" + +#. (itstool) path: info/title +#: C/index.page:9 +msgctxt "text" +msgid "Passwords and Keys" +msgstr "Passwörter und Verschlüsselung" + +#. (itstool) path: credit/name +#: C/index.page:24 C/keyring-create.page:21 C/keyring.page:25 +#: C/ssh-create.page:26 +msgid "Ekaterina Gerasimova" +msgstr "Ekaterina Gerasimova" + +#. (itstool) path: info/desc +#: C/index.page:31 +msgid "" +"Use Passwords and Keys to remember your passwords, and to create " +"and manage PGP and SSH keys." +msgstr "" +"Nutzen Sie Passwörter und Verschlüsselung zum Merken Ihrer " +"Passwörter und zum Erstellen und Verwalten von PGP- und SSH-Schlüsseln." + +#. (itstool) path: page/title +#: C/index.page:34 +msgid "<_:media-1/> Passwords and Keys" +msgstr "<_:media-1/> Passwörter und Verschlüsselung" + +#. (itstool) path: section/title +#: C/index.page:40 +msgid "SSH Keys" +msgstr "SSH-Schlüssel" + +#. (itstool) path: section/title +#: C/index.page:45 +msgid "PGP keys" +msgstr "PGP-Schlüssel" + +#. (itstool) path: section/title +#: C/index.page:50 +msgid "Stored passwords and password keyrings" +msgstr "Gespeicherte Passwörter und Passwort-Schlüsselbünde" + +#. (itstool) path: info/desc +#: C/introduction.page:26 +msgid "" +"Use Passwords and Keys to create and manage PGP and SSH keys and " +"to save passwords that are difficult to remember." +msgstr "" +"Nutzen Sie Passwörter und Verschlüsselung zum Erstellen und " +"Verwalten von PGP- und SSH-Schlüsseln und zum Merken von Passwörtern, die " +"schwierig einzuprägen sind." + +#. (itstool) path: page/title +#: C/introduction.page:30 +msgid "Introduction" +msgstr "Einführung" + +#. (itstool) path: page/p +#: C/introduction.page:32 +msgid "" +"Welcome to the Passwords and Keys help guide. Passwords and " +"Keys creates and stores security tokens, helping to keep your " +"information secure on your computer, and secure when you send information " +"over a network." +msgstr "" +"Willkommen beim Handbuch von Passwörter und Verschlüsselung. " +"Passwörter und Verschlüsselung erstellt und speichert Sicherheits-" +"Token, welche Ihnen dabei helfen, Informationen sicher auf Ihrem Rechner zu " +"speichern und sicher über ein Netzwerk zu versenden." + +#. (itstool) path: page/p +#: C/introduction.page:36 +msgid "Using Passwords and Keys, you can:" +msgstr "Mit Passwörter und Verschlüsselung können Sie:" + +#. (itstool) path: item/p +#: C/introduction.page:40 +msgid "" +"Copy and save passwords that " +"are difficult to remember. To group related passwords, create keyrings." +msgstr "" +"Schwierig zu merkende Passwörter speichern. Erstellen Sie " +"Schlüsselbünde zum Gruppieren verwandter Passwörter." + +#. (itstool) path: item/p +#: C/introduction.page:45 +msgid "" +"Create and manage PGP keys." +msgstr "" +"PGP-Schlüssel erstellen und verwalten." + +#. (itstool) path: item/p +#: C/introduction.page:49 +msgid "" +"Create and manage SSH keys." +msgstr "" +"SSH-Schlüssel erstellen und verwalten." + +#. (itstool) path: credit/name +#: C/key-servers-add.page:23 C/misc-key-backup.page:21 C/passwords-view.page:22 +#: C/pgp-create.page:28 C/pgp-delete.page:21 C/ssh-create.page:21 +msgid "Hashem Nasarat" +msgstr "Hashem Nasarat" + +#. (itstool) path: credit/name +#: C/key-servers-add.page:28 C/passwords-view.page:28 +#: C/pgp-retrieve-remote.page:21 +msgid "Andre Klapper" +msgstr "Andre Klapper" + +#. (itstool) path: credit/years +#: C/key-servers-add.page:30 C/passwords-view.page:30 +#: C/pgp-retrieve-remote.page:23 +msgid "2020" +msgstr "2020" + +#. (itstool) path: info/desc +#: C/key-servers-add.page:33 +msgid "" +"Make additions to the list of keyservers in Passwords and Keys" +msgstr "" +"Erweitern Sie die Liste der Schlüssel-Server in Passwörter und " +"Schlüssel" + +#. (itstool) path: page/title +#: C/key-servers-add.page:37 +msgid "Add a keyserver" +msgstr "Einen Schlüssel-Server hinzufügen" + +#. (itstool) path: page/p +#: C/key-servers-add.page:38 +msgid "" +"Passwords and Keys have the following keyservers listed by " +"default:" +msgstr "" +"Passwörter und Verschlüsselung kennt im Vorhinein die folgenden " +"Schlüssel-Server:" + +#. (itstool) path: item/p +#: C/key-servers-add.page:42 +msgid "ldap://keyserver.pgp.com" +msgstr "ldap://keyserver.pgp.com" + +#. (itstool) path: steps/title +#: C/key-servers-add.page:47 +msgid "To add a keyserver" +msgstr "So fügen Sie einen Schlüssel-Server hinzu" + +#. (itstool) path: item/p +#: C/key-servers-add.page:49 C/pgp-publish.page:44 +#: C/pgp-retrieve-remote.page:39 C/pgp-sync.page:41 +msgid "Press the menu button in the header bar." +msgstr "Klicken Sie auf den Menüknopf in der Kopfleiste." + +#. (itstool) path: item/p +#: C/key-servers-add.page:52 +msgid "Select Preferences." +msgstr "Wählen Sie Einstellungen." + +#. (itstool) path: item/p +#: C/key-servers-add.page:55 +msgid "Select the Key Servers tab." +msgstr "Wählen Sie den Reiter Schlüsselserver." + +#. (itstool) path: item/p +#: C/key-servers-add.page:58 +msgid "Press the Add button." +msgstr "Klicken Sie auf den Knopf Hinzufügen." + +#. (itstool) path: item/p +#: C/key-servers-add.page:61 +msgid "" +"In the new dialog, select the appropriate Key Server Type. Key " +"servers are identified by the protocol they use to communicate. Look for the " +"first few letters in the Internet URL of your key server to identify its " +"type." +msgstr "" +"Wählen Sie im neuen Dialog den passenden Typ des Schlüssel-Servers. Schlüssel-Server werden über das Protokoll unterschieden, mit welchem " +"sie kommunizieren. Schauen Sie sich die ersten Zeichen der Internet-Adresse " +"Ihres Schlüssel-Servers an, um dessen Typ zu erkennen." + +#. (itstool) path: item/p +#: C/key-servers-add.page:67 +msgid "" +"In the Host field, paste the Internet URL of your " +"key server. Consult the documentation for the key server you're adding to " +"see if it operates on a non-standard port. If so, enter the port after the " +"':'. If you're unsure, leave the text box after the ':' blank." +msgstr "" +"Fügen Sie im Feld Rechner die Internet-Adresse " +"Ihres Schlüssel-Servers ein. Schauen Sie in der Dokumentation des Schlüssel-" +"Servers nach, ob dieser auf einem vom Standard abweichenden Port arbeitet. " +"Falls dem so ist, geben Sie den abweichenden Port nach dem Doppelpunkt ein. " +"Lassen Sie das Eingabefeld nach dem Doppelpunkt frei, wenn Sie unsicher sind." + +#. (itstool) path: item/p +#: C/key-servers-add.page:74 +msgid "Press Save to finish." +msgstr "Klicken Sie zum Abschließen auf Speichern." + +#. (itstool) path: info/desc +#: C/keyring-change-default.page:19 +msgid "Save new passwords to a different keyring by default." +msgstr "Neue Passwörter per Vorgabe in einen anderen Schlüsselbund speichern." + +#. (itstool) path: page/title +#: C/keyring-change-default.page:22 +msgid "Change the default keyring" +msgstr "Den voreingestellten Schlüsselbund ändern" + +#. (itstool) path: page/p +#: C/keyring-change-default.page:24 +msgid "" +"When you add a new password, " +"it is normally added to the default keyring. If you want to add it to a " +"different keyring, you can choose another one while adding the new password, " +"but you can also change the default keyring. The default keyring is normally " +"the Login keyring." +msgstr "" +"Wenn Sie ein neues Passwort " +"hinzufügen, so wird es normalerweise im voreingestellten " +"Schlüsselbund gespeichert. Wenn Sie es einem anderen Schlüsselbund " +"hinzufügen wollen, so können Sie während des Hinzufügens einen anderen " +"wählen, aber Sie können auch den Vorgabe-Schlüsselbund ändern. Der " +"voreingestellte Schlüsselbund ist normalerweise der Schlüsselbund " +"Anmeldedaten." + +#. (itstool) path: steps/title +#: C/keyring-change-default.page:32 +msgid "To change the default keyring:" +msgstr "So wechseln Sie den voreingestellten Schlüsselbund:" + +#. (itstool) path: item/p +#: C/keyring-change-default.page:34 +msgid "" +"Select your choice for the default keyring from the list of keyrings under " +"Passwords on the left side panel." +msgstr "" +"Wählen Sie Ihren Vorgabe-Schlüsselbund aus der Liste der Schlüsselbünde " +"unter Passwörter an der linken Seitenleiste." + +#. (itstool) path: item/p +#: C/keyring-change-default.page:38 +msgid "" +"Right click on the selected keyring and select Set as default." +msgstr "" +"Klicken Sie rechts auf den gewählten Schlüsselbund und wählen Sie Als " +"Vorgabe festlegen." + +#. (itstool) path: note/p +#: C/keyring-change-default.page:44 +msgid "" +"Passwords to some GNOME applications are stored automatically by " +"Passwords and Keys in the Login keyring because it is " +"the default keyring. When you change the default keyring, any new passwords " +"created for GNOME applications will be stored in the new default keyring " +"while GNOME application passwords created before the change will remain in " +"the Login keyring." +msgstr "" +"Passwörter für einige GNOME-Anwendungen werden automatisch durch " +"Passwörter und Verschlüsselung im Schlüsselbund Anmeldung gespeichert, weil es der Vorgabe-Schlüsselbund ist. Wenn Sie den " +"Vorgabe-Schlüsselbund ändern, so werden entsprechend neue Passwörter von " +"GNOME-Anwendungen im neuen Vorgabe-Schlüsselbund gespeichert. Die zuvor für " +"GNOME-Anwendungen gespeicherten Passwörter verbleiben im Schlüsselbund " +"Anmeldung." + +#. (itstool) path: info/desc +#: C/keyring-create.page:31 +msgid "Use password keyrings to group stored passwords." +msgstr "" +"Nutzen Sie Passwort-Schlüsselbünde, um gespeicherte Passwörter zu gruppieren." + +#. (itstool) path: page/title +#: C/keyring-create.page:34 +msgid "Create a new keyring" +msgstr "Einen neuen Schlüsselbund anlegen" + +#. (itstool) path: page/p +#: C/keyring-create.page:36 +msgid "" +"Use keyrings to group related passwords. You " +"can choose to protect your keyring with a password." +msgstr "" +"Verwenden Sie Schlüsselbünde, um verwandte " +"Passwörter zu gruppieren. Bei Bedarf können Sie Ihren Schlüsselbund mit " +"einem Passwort schützen." + +#. (itstool) path: steps/title +#: C/keyring-create.page:40 +msgid "Create a new password keyring:" +msgstr "So legen Sie einen neuen Passwort-Schlüsselbund an:" + +#. (itstool) path: item/p +#: C/keyring-create.page:42 C/passwords-stored-create.page:32 +#: C/pgp-create.page:42 C/pgp-import.page:39 C/ssh-create.page:41 +#: C/ssh-import.page:39 +msgid "" +"Press the + button in the top-left corner of the " +"window." +msgstr "" +"Klicken Sie auf den +-Knopf in der linken oberen " +"Ecke des Fensters." + +#. (itstool) path: item/p +#: C/keyring-create.page:45 +msgid "Select Password Keyring from the list." +msgstr "" +"Wählen Sie den Passwort-Schlüsselbund in der " +"Liste." + +#. (itstool) path: item/p +#: C/keyring-create.page:48 +msgid "" +"Choose a name for your new keyring, then press Add to continue." +msgstr "" +"Wählen Sie einen Namen für Ihren neuen Schlüsselbund und klicken Sie zum " +"Fortsetzen auf Hinzufügen." + +#. (itstool) path: item/p +#: C/keyring-create.page:53 +msgid "" +"To password protect your keyring, choose a password, and retype it to " +"confirm your choice. Leave both the fields blank if you want your keyring to " +"remain unlocked at all times." +msgstr "" +"Wählen Sie ein Passwort, um Ihren Schlüsselbund zu schützen, und tippen Sie " +"dieses zur Bestätigung erneut ein. Lassen Sie beide Eingabefelder leer, " +"falls Ihr Schlüsselbund stets entsperrt sein soll." + +#. (itstool) path: item/p +#: C/keyring-create.page:61 +msgid "" +"Press Continue to finish creating the keyring. " +"If you have not protected your keyring with a password, you will need to " +"confirm that this is how you want to proceed." +msgstr "" +"Klicken Sie auf Fortsetzen, um das Anlegen des " +"Schlüsselbunds abzuschließen. Falls Sie Ihren Schlüsselbund nicht mit einem " +"Passwort schützen, so werden Sie um Bestätigung gefragt, ob dies so " +"beabsichtigt ist." + +#. (itstool) path: page/p +#: C/keyring-create.page:67 +msgid "Your new keyring will now be listed under Passwords." +msgstr "" +"Ihr neuer Schlüsselbund wird nun unter Passwörter aufgelistet." + +#. (itstool) path: info/desc +#: C/keyring-lock.page:20 +msgid "" +"Lock and password protect your password keyrings to control access to the " +"passwords stored in them." +msgstr "" +"Sperren Sie Ihre Passwort-Schlüsselbünde und schützen Sie diese mit einem " +"Passwort, um den Zugriff auf die darin enthaltenen Passwörter einzuschränken." + +#. (itstool) path: page/title +#: C/keyring-lock.page:24 +msgid "Lock your keyrings" +msgstr "Ihre Schlüsselbünde sperren" + +#. (itstool) path: page/p +#: C/keyring-lock.page:26 +msgid "" +"To safe-keep your passwords, store them in a password-protected keyring. " +"When a password-protected keyring is locked, the passwords in it are kept " +"hidden till someone unlocks the keyring " +"with the correct password." +msgstr "" +"Speichern Sie Ihre Passwörter zur sicheren Verwahrung in einem " +"passwortgeschützten Schlüsselbund. Wenn ein solcher passwortgeschützter " +"Schlüsselbund gesperrt ist, so werden die darin hinterlegten Passwörter " +"verborgen, bis er mit dem richtigen Passwort entsperrt wird." + +#. (itstool) path: note/p +#: C/keyring-lock.page:32 +msgid "" +"You can choose to protect your keyring with a password while creating it." +msgstr "" +"Schützen Sie Ihren Schlüsselbund mit einem Passwort, wenn Sie ihn erstellen." + +#. (itstool) path: steps/title +#: C/keyring-lock.page:37 +msgid "To lock your password keyring:" +msgstr "So sperren Sie Ihren Schlüsselbund:" + +#. (itstool) path: item/p +#: C/keyring-lock.page:39 +msgid "" +"From the list of keyrings under Passwords on the left side panel, " +"select the keyring to be locked." +msgstr "" +"Wählen Sie in der linken Seitenleiste unter Passwörter aus der " +"Liste der Schlüsselbünde den Bund, den Sie sperren wollen." + +#. (itstool) path: item/p +#: C/keyring-lock.page:43 +msgid "" +"Right click on the selected keyring and select Lock, or click on " +"the small picture of an opened lock next to the name of the password keyring." +msgstr "" +"Klicken Sie mit der rechten Maustaste auf den gewählten Schlüsselbund und " +"wählen Sie Sperren, oder klicken Sie auf das Symbol des " +"geöffneten Schlosses neben dem Namen des Passwort-Schlüsselbunds." + +#. (itstool) path: info/desc +#: C/keyring-unlock.page:20 +msgid "To view passwords stored inside a locked keyring, unlock it." +msgstr "" +"Um die gespeicherten Passwörter eines Schlüsselbundes anzuzeigen, müssen Sie " +"ihn entsperren." + +#. (itstool) path: page/title +#: C/keyring-unlock.page:23 +msgid "Unlock your keyrings" +msgstr "Ihre Schlüsselbünde entsperren" + +#. (itstool) path: page/p +#: C/keyring-unlock.page:24 +msgid "" +"A keyring may often be locked to protect " +"the passwords it contains, similar to locking important things safely inside " +"a trunk. In order to look at your passwords, you must unlock the keyring " +"first." +msgstr "" +"Ein Schlüsselbund kann oft gesperrt " +"werden, um die enthaltenen Passwörter zu schützen, ähnlich dem Wegsperren " +"wichtiger Gegenstände in einer Truhe. Sie müssen zuerst den Schlüsselbund " +"entsperren, um Ihre gespeicherten Passwörter anzusehen." + +#. (itstool) path: steps/title +#: C/keyring-unlock.page:30 +msgid "To unlock your keyring:" +msgstr "So entsperren Sie Ihren Schlüsselbund:" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:32 +msgid "" +"Select the keyring to be unlocked from the panel on your left. It is listed " +"under Passwords." +msgstr "" +"Wählen Sie den Schlüsselbund zum Entsperren aus der linken Leiste. Dieser " +"ist unter Passwörter aufgeführt." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:36 +msgid "" +"Right click on the selected keyring and select Unlock from the " +"menu, or alternatively, click the small picture of a closed lock next to the " +"keyring name to unlock the keyring." +msgstr "" +"Klicken Sie mit der rechten Maustaste auf den gewählten Schlüsselbund und " +"wählen Sie im Menü Entsperren. Klicken Sie alternativ auf das " +"kleine Symbol eines gesperrten Schlosses neben dem Namen des " +"Schlüsselbundes, um diesen zu entsperren." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:41 +msgid "" +"If the keyring is password-protected, you will be prompted for a password to " +"unlock the keyring. Enter the correct password in the Password " +"field and press Unlock to finish." +msgstr "" +"Wenn der Schlüsselbund mit einem Passwort geschützt ist, so werden Sie nach " +"einem Passwort zum Entsperren des Schlüsselbunds gefragt. Geben Sie das " +"richtige Passwort in das Feld Passwort ein und klicken Sie " +"anschließend auf den Knopf Entsperren." + +#. (itstool) path: note/p +#: C/keyring-unlock.page:49 +msgid "" +"You can choose to password-protect your keyrings while creating them." +msgstr "" +"Schützen Sie wahlweise Ihre Schlüsselbünde mit einem Passwort, während Sie " +"diese erstellen." + +#. (itstool) path: info/desc +#: C/keyring-update-password.page:20 +msgid "" +"Keep updating the passwords to your keyrings to ensure that they are " +"protected well." +msgstr "" +"Aktualisieren Sie regelmäßig die Passwörter Ihrer Schlüsselbünde, um " +"sicherzustellen, dass sie gut geschützt sind." + +#. (itstool) path: page/title +#: C/keyring-update-password.page:25 +msgid "Update the keyring password" +msgstr "Aktualisieren des Schlüsselbund-Passwortes" + +#. (itstool) path: page/p +#: C/keyring-update-password.page:27 +msgid "" +"The password to unlock your keyring can be " +"updated at any time." +msgstr "" +"Das Passwort zum Entsperren des Schlüsselbundes kann jederzeit aktualisiert werden." + +#. (itstool) path: steps/title +#: C/keyring-update-password.page:31 +msgid "To update the password for a password keyring:" +msgstr "So aktualisieren Sie das Passwort des Schlüsselbundes:" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:33 +msgid "" +"Select the password keyring from the list, under Passwords, on " +"the left side panel." +msgstr "" +"Wählen Sie den Passwort-Schlüsselbund in der linken Seitenleiste unter " +"Passwörter aus der Liste der Schlüsselbünde." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:37 +msgid "" +"Right click on the selected password keyring and select Change " +"Password." +msgstr "" +"Klicken Sie rechts auf den gewählten Schlüsselbund und wählen Sie " +"Passwort ändern." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:41 +msgid "" +"Type your old password to authenticate yourself and press Continue." +msgstr "" +"Tippen Sie Ihr altes Passwort zur Legitimierung ein und klicken Sie auf Fortsetzen." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:45 +msgid "" +"In the new dialog, type your new password, retype it to confirm the new " +"password and press the Continue button to finish." +msgstr "" +"Geben Sie im daraufhin erscheinenden Dialog Ihr neues Passwort zweimal zur " +"Bestätigung ein und klicken Sie auf Fortsetzen, " +"um den Vorgang abzuschließen." + +#. (itstool) path: info/desc +#: C/keyring.page:30 +msgid "A keyring is used to group related passwords and keys." +msgstr "" +"Ein Schlüsselbund wird verwendet, um zusammengehörige Passwörter und " +"Schlüssel zu gruppieren." + +#. (itstool) path: page/title +#: C/keyring.page:33 +msgid "What is a keyring?" +msgstr "Was ist ein Schlüsselbund?" + +#. (itstool) path: page/p +#: C/keyring.page:35 +msgid "" +"Much like a keyring in real life allows you to keep certain sets of keys " +"together, a keyring in Passwords and Keys allows you to keep " +"passwords and keys in separate groups." +msgstr "" +"Ähnlich wie ein realer Schlüsselbund ähnliche Schlüssel gruppiert, so " +"ermöglicht es ein Schlüsselbund in Passwörter und Verschlüsselung, Passwörter und Schlüssel in getrennten Gruppen zu verwahren." + +#. (itstool) path: page/p +#: C/keyring.page:39 +msgid "" +"When you open Passwords and Keys for the first time, you will see " +"keys and password grouped together. In the Login keyring, you may " +"find stored passwords for GNOME applications such as Web, " +"Online Accounts etc. The Login keyring is the default " +"keyring in Passwords and keys." +msgstr "" +"Wenn Sie Passwörter und Verschlüsselung zum ersten Mal starten, " +"so sind Schlüssel und Passwörter gemeinsam gruppiert. Im Schlüsselbund " +"Anmeldung finden sich gegebenenfalls gespeicherte Passwörter für " +"GNOME-Anwendungen wie Web, Online-Konten usw. Der " +"Schlüsselbund Anmeldung ist der Vorgabe-Schlüsselbund in " +"Passwörter und Verschlüsselung." + +#. (itstool) path: p/link +#: C/legal.xml:4 +msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" +msgstr "Creative Commons Attribution-ShareAlike 3.0 Unported License" + +#. (itstool) path: license/p +#: C/legal.xml:3 +msgid "This work is licensed under a <_:link-1/>." +msgstr "Diese Arbeit ist unter <_:link-1/> lizenziert." + +#. (itstool) path: info/desc +#: C/misc-key-backup.page:26 +msgid "Keep a copy of your keys in an external device." +msgstr "Verwahren Sie eine Kopie Ihrer Schlüssel auf einem externen Gerät." + +#. (itstool) path: page/title +#: C/misc-key-backup.page:29 +msgid "Securely back-up your keys" +msgstr "Eine Sicherungskopie Ihrer Schlüssel sicher verwahren" + +#. (itstool) path: page/p +#: C/misc-key-backup.page:31 +msgid "" +"It is always advisable to save a copy of your keys on an external memory " +"device like a USB drive. The device should then be kept locked or stored " +"somewhere safe. This way you will always have a copy of the key if your " +"computer breaks or if the data on your computer is corrupted in some way." +msgstr "" +"Es ist immer ratsam, eine Sicherungskopien Ihrer Schlüssel auf einem " +"externen Speichermedium zu sichern, wie z.B. einem USB-Stick. Das Gerät " +"sollte dann sicher weggesperrt oder aufbewahrt werden. So haben Sie in jedem " +"Fall eine Sicherung des Schlüssels, selbst wenn Ihr Rechner kaputt geht oder " +"die Daten auf Ihrem Rechner aus irgendeinem Grund verloren gehen." + +#. (itstool) path: steps/title +#: C/misc-key-backup.page:37 +msgid "To back-up your keys:" +msgstr "So sichern Sie Ihre Schlüssel:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:39 +msgid "Export your key files:" +msgstr "Exportieren Sie Ihre Dateien:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:41 +msgid "Export your PGP keys." +msgstr "Exportieren Sie Ihre PGP-Schlüssel." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:42 +msgid "Export your SSH keys." +msgstr "Exportieren Sie Ihre SSH-Schlüssel." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:46 +msgid "Copy the exported files on an external disk." +msgstr "Kopieren Sie die exportierten Dateien auf eine externe Festplatte." + +#. (itstool) path: info/desc +#: C/misc-key-fingerprint.page:19 +msgid "" +"The key fingerprint is a unique ID for each key, often used to verify the " +"ownership of a key" +msgstr "" +"Der Fingerabdruck eines Schlüssels ist eine einzigartige Zeichenkette jedes " +"Schlüssels, die oft eingesetzt wird, den Eigentümer eines Schlüssels zu " +"identifizieren." + +#. (itstool) path: page/title +#: C/misc-key-fingerprint.page:23 +msgid "What is a key fingerprint?" +msgstr "Was ist ein Fingerabdruck eines Schlüssels?" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:25 +msgid "" +"The fingerprint of a key is a unique sequence of letters and numbers used to " +"identify the key. Just like the fingerprints of two different people, the " +"fingerprints of two different keys can never be identical. The fingerprint " +"is the best way to identify a particular key." +msgstr "" +"Der (digitale) Fingerabdruck eines Schlüssels ist eine eindeutige Folge von " +"Buchstaben und Zahlen, mit welcher der Schlüssel identifiziert werden kann. " +"Ähnlich wie bei Fingerabdrücken zweier unterschiedlicher Personen, die " +"niemals identisch sind, sind auch die Fingerabdrücke zweier " +"unterschiedlicher Schlüssel niemals identisch. Der Fingerabdruck ist die " +"beste Möglichkeit, einen bestimmten Schlüssel zu identifizieren." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:30 +msgid "" +"A key has several properties like the name and email of the key owner, key " +"type, key expiration date and so on. When you are searching for a public key " +"and you find multiple keys with the same properties, the only way to " +"identify the key you are looking for is to compare the fingerprints of the " +"two keys with the fingerprint of the key you require." +msgstr "" +"Ein Schlüssel hat mehrere Eigenschaften, wie Name und E-Mail des " +"Eigentümers, den Schlüsseltyp, das Ablaufdatum usw. Wenn Sie nach einem " +"öffentlichen Schlüssel suchen und mehrere Schlüssel mit den gleichen " +"Eigenschaften finden, dann ist der einzige Weg, den gesuchten Schlüssel zu " +"identifizieren, die Fingerabdrücke der Schlüssel mit dem Fingerabdruck des " +"gesuchten Schlüssel zu vergleichen." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:36 +msgid "" +"It is the fingerprint of a key that is verified when you try to login to a " +"remote computer using SSH. While " +"signing a PGP key, you must always " +"check the key fingerprint and verify the key owner's identity to ensure that " +"you are signing the correct key." +msgstr "" +"Der Fingerabdruck eines kryptografischen Schlüssels wird überprüft, wenn Sie " +"sich an einem entfernten Rechner perSSH " +"anmelden. Beim Signieren eines PGP-" +"Schlüssels müssen Sie immer den Fingerabdruck des Schlüssels kontrollieren " +"und die Identität des Schlüsselbesitzers überprüfen, um sicherzustellen, " +"dass Sie den richtigen Schlüssel signieren." + +#. (itstool) path: section/title +#: C/misc-key-fingerprint.page:43 +msgid "Fingerprints on Passwords and Keys" +msgstr "Fingerabdrücke in Passwörter und Verschlüsselung" + +#. (itstool) path: section/p +#: C/misc-key-fingerprint.page:45 +msgid "" +"You can look at the fingerprint of a key on Passwords and Keys by " +"checking the properties of the key." +msgstr "" +"Schauen Sie sich in Passwörter und Verschlüsselung den " +"Fingerabdruck eines Schlüssels in den Eigenschaften eines Schlüssels an." + +#. (itstool) path: steps/title +#: C/misc-key-fingerprint.page:49 +msgid "To check the fingerprint of a key:" +msgstr "So überprüfen Sie den Fingerabdruck eines Schlüssels:" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:51 C/pgp-photoid.page:44 C/pgp-publish.page:37 +#: C/subkeys-add.page:31 +msgid "Select GnuPG keys from the left side panel." +msgstr "Wählen Sie GnuPG-Schlüssel aus dem linken Bereich." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:54 C/pgp-expiration-change.page:31 +msgid "Select the PGP key from the list." +msgstr "Wählen Sie den PGP-Schlüssel aus der Liste." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:57 +msgid "" +"Right click the key and select Properties." +msgstr "" +"Klicken Sie rechts auf den Schlüssel und wählen Sie Eigenschaften." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:61 C/pgp-expiration-change.page:37 +msgid "In the new dialog, select the Details tab." +msgstr "Wählen Sie den Reiter Details in dem neuen Fenster." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:64 +msgid "You can see the fingerprint of the key on the left hand side." +msgstr "" +"Sie können den Fingerabdruck des Schlüssels auf der linken Seite sehen." + +#. (itstool) path: info/desc +#: C/passwords-stored-create.page:19 +msgid "Passwords and keys can remember your passwords for you." +msgstr "" +"Passwörter und Verschlüsselung kann sich Passwörter für Sie " +"merken." + +#. (itstool) path: page/title +#: C/passwords-stored-create.page:23 +msgid "Store your passwords" +msgstr "Ihre Passwörter speichern" + +#. (itstool) path: page/p +#: C/passwords-stored-create.page:25 +msgid "" +"Passwords and Keys automatically stores passwords for certain " +"GNOME applications in the Login keyring. Additionally, you can " +"store any other password you want to remember." +msgstr "" +"Passwörter und Verschlüsselung speichert automatisch Passwörter " +"für einige GNOME-Anwendungen im Schlüsselbund Anmeldedaten. " +"Zusätzlich können Sie jedes weitere Passwort, das Sie merken möchten, " +"speichern." + +#. (itstool) path: steps/title +#: C/passwords-stored-create.page:30 +msgid "To create a new stored password:" +msgstr "So erstellen Sie einen neuen gespeicherten Passworteintrag:" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:35 +msgid "Select Password from the list." +msgstr "Wählen Sie Passwort in der Liste." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:38 +msgid "" +"Select the password keyring in which you want to store your password from " +"the Keyring menu." +msgstr "" +"Wählen Sie den Schlüsselbund, in dem Sie das Passwort speichern möchten, aus " +"dem Menü Schlüsselbund." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:42 +msgid "" +"You can add additional information about the password in the " +"Description field, like the date of creation, or the name of the " +"application it protects, etc." +msgstr "" +"Sie können im Feld Beschreibung zusätzliche Informationen zu dem " +"Passwort hinzufügen, wie z.B. das Erstellungsdatum, den Name der Anwendung, " +"welche es schützt usw." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:47 +msgid "" +"Type the password in the Password field. You can tick the Show password checkbox if you want to see the " +"password text while typing it out." +msgstr "" +"Geben Sie das Passwort im Feld Passwort ein. Aktivieren Sie das " +"Ankreuzfeld Passwort anzeigen, um das Passwort " +"während der Eingabe zu sehen." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:52 +msgid "Press the Add button to finish." +msgstr "" +"Klicken Sie auf den Knopf Hinzufügen, um den " +"Vorgang abzuschließen." + +#. (itstool) path: note/p +#: C/passwords-stored-create.page:57 +msgid "" +"The default keyring is displayed as the first choice in the Keyring drop down menu. You can change " +"the default keyring." +msgstr "" +"Der voreingestellte Schlüsselbund wird als erste Auswahl im Ausklappmenü " +"Schlüsselbund angezeigt. Sie können den Vorgabe-Schlüsselbund ändern." + +#. (itstool) path: info/desc +#: C/passwords-view.page:33 +msgid "Check a stored password which you have forgotten." +msgstr "Ein gespeichertes Passwort nachschauen, das Sie vergessen haben." + +#. (itstool) path: page/title +#: C/passwords-view.page:36 +msgid "View stored passwords" +msgstr "Gespeicherte Passwörter ansehen" + +#. (itstool) path: page/p +#: C/passwords-view.page:38 +msgid "" +"If you ever forget a password stored in Passwords and Keys, you can view the contents of the " +"stored password in Passwords and Keys to refresh your memory." +msgstr "" +"Wenn Sie jemals ein gespeichertes Passwort vergessen, können Sie den Inhalt des Passworts in " +"Passwörter und Verschlüsselung ansehen, um Ihr Gedächtnis " +"aufzufrischen." + +#. (itstool) path: steps/title +#: C/passwords-view.page:44 +msgid "To view a password:" +msgstr "So zeigen Sie ein Passwort an:" + +#. (itstool) path: item/p +#: C/passwords-view.page:46 +msgid "" +"In the side bar on the left, select the keyring which contains the password." +msgstr "" +"Klicken Sie in der Seitenleiste an der linken Seite auf den Schlüsselbund, " +"welcher das Passwort enthält." + +#. (itstool) path: item/p +#: C/passwords-view.page:50 +msgid "" +"Unlock the password keyring that " +"contains your password. A list of passwords stored in the keyring will be " +"displayed." +msgstr "" +"Entsperren Sie den Schlüsselbund, der " +"Ihr Passwort beinhaltet. Eine Liste gespeicherter Passwörter wird angezeigt." + +#. (itstool) path: note/p +#: C/passwords-view.page:53 +msgid "Your Login keyring is already unlocked by default." +msgstr "" +"Ihr Anmeldename-Schlüsselbund ist standardmäßig bereits entsperrt." + +#. (itstool) path: item/p +#: C/passwords-view.page:56 +msgid "" +"Right click on the password you want to check, and select Properties." +msgstr "" +"Klicken Sie rechts auf das nachzusehende Passwort und wählen Sie " +"Eigenschaften." + +#. (itstool) path: item/p +#: C/passwords-view.page:60 +msgid "Select the <_:media-1/> icon to view the password." +msgstr "Klicken Sie auf das <_:media-1/>-Symbol, um das Passwort anzuzeigen." + +#. (itstool) path: note/p +#: C/passwords-view.page:67 +msgid "" +"Since the contents of any unlocked keyrings are available to programs you " +"may be running, and Passwords and Keys does not seek to give a " +"false sense of security, the contents of unlocked keyrings are able to be " +"viewed without entering the password." +msgstr "" +"Der Inhalt von entsperrten Schlüsselbünden darf ohne Eingabe des Passworts " +"eingesehen werden, weil der Inhalt von jedem entsperrten Schlüsselbund " +"ohnehin für jedes laufende Programm zur Verfügung steht. Passwörter und " +"Verschlüsselung will keinen falschen Schein von Sicherheit vortäuschen." + +#. (itstool) path: note/p +#: C/passwords-view.page:71 +msgid "" +"This means that if you are logged-in, the contents of the Login " +"keyring will available without entering a password from Passwords and " +"Keys." +msgstr "" +"Das bedeutet, dass nach einer erfolgten Anmeldung der Inhalt des " +"Schlüsselbunds Anmeldung ohne Eingabe eines (weiteren) Passworts " +"durch Passwörter und Verschlüsselung zur Verfügung steht." + +#. (itstool) path: note/p +#: C/passwords-view.page:74 +msgid "" +"If you need to lend your computer to another person, it is recommended that " +"you create a user account for them, or allow them to use a guest account." +msgstr "" +"Wenn Sie einer anderen Person Ihren Rechner ausleihen oder zur Verfügung " +"stellen, so wird empfohlen, dass Sie für die andere Person ein eigenes " +"Benutzerkonto anlegen. Eventuell kann die Person auch ein Benutzerkonto für " +"Gäste verwenden." + +#. (itstool) path: info/desc +#: C/pgp-create.page:33 +msgid "Create and use GnuPG keys for encrypting and signing emails." +msgstr "" +"Erstellen und verwenden Sie GnuPG-Schlüssel zum Verschlüsseln und Signieren " +"von E-Mails." + +#. (itstool) path: page/title +#: C/pgp-create.page:36 +msgid "Create PGP keys" +msgstr "PGP-Schlüssel erstellen" + +#. (itstool) path: page/p +#: C/pgp-create.page:38 +msgid "To make a new PGP key:" +msgstr "So erstellen Sie einen neuen PGP-Schlüssel:" + +#. (itstool) path: item/p +#: C/pgp-create.page:45 +msgid "Select GPG Key from the list." +msgstr "Wählen Sie GPG-Schlüssel in der Liste." + +#. (itstool) path: item/p +#: C/pgp-create.page:48 +msgid "Enter your full name in the Full Name field." +msgstr "" +"Geben Sie Ihren vollständigen Namen in das Feld Vollständiger Name ein." + +#. (itstool) path: item/p +#: C/pgp-create.page:51 +msgid "Optionally, add your email address and a comment to describe the key." +msgstr "" +"Optional können Sie Ihre E-Mail-Adresse und einen Kommentar zur Beschreibung " +"des Schlüssels hinzufügen." + +#. (itstool) path: item/p +#: C/pgp-create.page:55 +msgid "Press Create." +msgstr "Klicken Sie auf Erstellen." + +#. (itstool) path: item/p +#: C/pgp-create.page:58 +msgid "" +"In the password dialog, enter a password for the key. Retype the password to " +"confirm your choice." +msgstr "" +"Geben Sie im Passwortdialog ein Passwort für den Schlüssel ein. Wiederholen " +"Sie das Passwort, um es zu bestätigen." + +#. (itstool) path: item/p +#: C/pgp-create.page:62 +msgid "Press OK to finish." +msgstr "Klicken Sie zum Abschließen auf OK." + +#. (itstool) path: page/p +#: C/pgp-create.page:66 +msgid "" +"Passwords and Keys will take some time to generate your key. " +"While your key is being created, move your mouse around, press some keys on " +"your keyboard, or browse the web. This will help Passwords and Keys to create a truly random key. The key will be listed under GnuPG " +"keys." +msgstr "" +"Passwörter und Verschlüsselung benötigt einige Zeit, um Ihren " +"Schlüssel zu erstellen. Bewegen Sie Ihre Maus, drücken Sie einige Tasten " +"oder surfen Sie im Internet während Ihr Schlüssel erstellt wird. Dadurch " +"helfen Sie Passwörter und Verschlüsselung, einen wahrhaft " +"zufälligen Schlüssel zu erstellen. Der Schlüssel wird dann unter GnuPG-" +"Schlüssel angezeigt." + +#. (itstool) path: note/p +#: C/pgp-create.page:73 +msgid "" +"The Full Name, Email Address and Comment " +"details of a GnuPG key are called the user ID of the key." +msgstr "" +"Die Felder Vollständige Name, E-Mail-Adresse und " +"Kommentar werden Schlüssel-Benutzerkennung genannt." + +#. (itstool) path: section/title +#: C/pgp-create.page:79 +msgid "Advanced PGP key options" +msgstr "Erweiterte Optionen für PGP-Schlüssel" + +#. (itstool) path: section/p +#: C/pgp-create.page:81 +msgid "" +"Under Advanced key options, you can choose custom values for " +"encryption type, key strength and key expiration date." +msgstr "" +"Unter Erweiterte Schlüsseloptionen wählen Sie eigene Werte für " +"den Verschlüsselungstyp, Schlüsselstärke und das Ablaufdatum." + +#. (itstool) path: item/title +#: C/pgp-create.page:86 +msgid "Encryption type" +msgstr "Verschlüsselungstyp" + +#. (itstool) path: item/p +#: C/pgp-create.page:87 +msgid "" +"Depending on your needs, create keys that can be used for signing only or " +"for both encryption and signing. The RSA and DSA-Elgamal algorithms generate " +"equally secure keys." +msgstr "" +"Erzeugen Sie abhängig von Ihrem Bedarf Schlüssel nur zum Signieren oder zum " +"Verschlüsseln und Signieren. Der RSA- und DSA-Algorithmus erzeugen " +"gleichwertig sichere Schlüssel." + +#. (itstool) path: item/title +#: C/pgp-create.page:92 +msgid "Key Strength" +msgstr "Schlüsselstärke" + +#. (itstool) path: item/p +#: C/pgp-create.page:93 +msgid "" +"The key strength is measured in terms of the size of the key in bits. It is " +"difficult and more time consuming to break a strong key, but strong keys " +"will slow down the encryption and signing process. You should choose your " +"key strength in Passwords and Keys depending on how long you want " +"to use the key. A small key is sufficient for short term use while a large " +"key is more suitable for long term use." +msgstr "" +"Die Schlüsselstärke wird im Sinne der Größe eines Schlüssels in Bits " +"bemessen. Es ist schwer und zeitaufwändiger, einen starken Schlüssel zu " +"knacken, aber starke Schlüssel verlangsamen den Prozess der Verschlüsselung " +"bzw. Signierung. Wählen Sie die Schlüsselstärke in Passwörter und " +"Verschlüsselung abhängig von der geplanten Verwendungsdauer eine " +"Schlüssels. Ein kleiner Schlüssel ist ausreichend für kurzzeitigen Gebrauch, " +"ein großer ist besser für den Langzeitgebrauch geeignet." + +#. (itstool) path: item/title +#: C/pgp-create.page:101 +msgid "Expiration Date" +msgstr "Ablaufdatum" + +#. (itstool) path: item/p +#: C/pgp-create.page:102 +msgid "" +"When a key expires, certain actions no longer " +"work. In Passwords and Keys, you can either set your key " +"to Never Expire or select an expiration date " +"for it." +msgstr "" +"Wenn ein Schlüssel abläuft, funktionieren " +"bestimmte Aktionen nicht mehr. In Passwörter und " +"Verschlüsselung können Sie festlegen, dass Ihr Schlüssel entweder nie verfällt oder ein Ablaufdatum für ihn festlegen." + +#. (itstool) path: item/p +#: C/pgp-create.page:106 +msgid "" +"It is recommended that you set an expiration date in case you lose access to " +"the key. Even if your key expires, you can change the expiration to a later date." +msgstr "" +"Es wird empfohlen, dass Sie ein Ablaufdatum festlegen für den Fall, dass Sie " +"Zugang zu Ihrem Schlüssel verlieren. Selbst wenn Ihr Schlüssel verfällt, " +"können Sie das Ablaufdatum weiter in " +"die Zukunft verlegen." + +#. (itstool) path: info/desc +#: C/pgp-delete.page:26 +msgid "" +"Delete local copies of your keys or the keys of people you communicate with." +msgstr "" +"Löschen Sie lokale Kopien Ihrer Schlüssel oder Schlüssel von Personen, mit " +"denen Sie kommunizieren." + +#. (itstool) path: page/title +#: C/pgp-delete.page:30 +msgid "Delete an existing key" +msgstr "Einen existierenden Schlüssel entfernen" + +#. (itstool) path: page/p +#: C/pgp-delete.page:32 +msgid "" +"If you are no longer communicating with someone, you can delete the copy of " +"their GnuPG key on your computer using Passwords and Keys. You " +"can also permanently delete a key you own as long it has never been " +"published on a key server. Deleting a GnuPG key deletes both the public key " +"and the secret key." +msgstr "" +"Falls Sie nicht mehr mit jemandem kommunizieren, können Sie die Kopie dessen " +"GnuPG-Schlüssel auf Ihrem Rechner mit Passwörter und Verschlüsselung löschen. Sie können einen eigenen Schlüssel auch dauerhaft löschen, " +"solange dieser noch nie auf einem Schlüssel-Server veröffentlicht wurde. Mit " +"dem Löschen eines GnuPG-Schlüssels werden sowohl der öffentliche als auch " +"der geheime Schlüssel gelöscht." + +#. (itstool) path: steps/title +#: C/pgp-delete.page:39 +msgid "To delete a key:" +msgstr "So entfernen Sie einen Schlüssel:" + +#. (itstool) path: item/p +#: C/pgp-delete.page:41 +msgid "Select the key." +msgstr "Wählen Sie den Schlüssel." + +#. (itstool) path: item/p +#: C/pgp-delete.page:45 +msgid "Right click, and choose Delete." +msgstr "" +"Klicken Sie mit der rechten Maustaste und wählen Sie Löschen." + +#. (itstool) path: note/p +#: C/pgp-delete.page:47 +msgid "" +"When you delete a GnuPG key that has been published on a key server, you " +"only delete the key in your GnuPG keyring because a copy of the public key " +"will still be present on some key server." +msgstr "" +"Wenn Sie einen GnuPG-Schlüssel löschen, der bereits auf einem öffentlichen " +"Server veröffentlicht ist, so löschen Sie nur den Schlüssel in Ihrem GnuPG-" +"Schlüsselbund, weil eine Kopie des öffentlichen Schlüssels auf einem " +"Schlüssel-Server verbleibt." + +#. (itstool) path: note/p +#: C/pgp-delete.page:50 +msgid "" +"If you delete your GnuPG key, this means that your private key will be " +"permanently deleted, even though your public key can still be retrieved from a key server and used to " +"encrypt messages to you that you won't be able to read! To prevent such a " +"key from being used, retrieve and revoke the key. The revoked key can then " +"be synced with a key server to prevent people " +"from retrieving and using it." +msgstr "" +"Wenn Sie Ihren GnuPG-Schlüssel löschen, so hat dies zur Folge, dass Ihr " +"geheimer Schlüssel dauerhaft gelöscht wird. Das gilt selbst dann, wenn Ihr " +"öffentlicher Schlüssel immer noch von einem Schlüssel-Server abgerufen und zum Verschlüsseln von " +"Nachrichten eingesetzt werden kann, die Sie dann nicht lesen können! Rufen " +"Sie den Schlüssel ab und widerrufen Sie ihn, um eine weitere Verwendung zu " +"verhindern. Sie sollten nach dem Widerrufen den Schlüssel mit dem Schlüssel-" +"Server abgleichen, um zu verhindern, dass " +"andere den alten Schlüssel abrufen und einsetzen." + +#. (itstool) path: item/p +#: C/pgp-delete.page:64 +msgid "" +"In the new dialog, confirm the deletion by ticking the I understand that this secret key will be permanently deleted " +"checkbox, and press the Delete button to finish." +msgstr "" +"Bestätigen Sie im daraufhin erscheinenden Dialog das Löschen durch Anwahl " +"des Ankreuzfelds Mir ist bewusst, dass dieser " +"geheime Schlüssel unwiderruflich gelöscht wird und klicken Sie auf den " +"Knopf Löschen, um den Vorgang abzuschließen." + +#. (itstool) path: info/desc +#: C/pgp-expiration-change.page:19 +msgid "Advance or postpone the expiration date of your keys." +msgstr "Das Ablaufdatum Ihrer Schlüssel verlängern oder verkürzen." + +#. (itstool) path: page/title +#: C/pgp-expiration-change.page:22 +msgid "Change the expiration date of your keys" +msgstr "Ändern des Ablaufdatums Ihrer Schlüssel" + +#. (itstool) path: page/p +#: C/pgp-expiration-change.page:24 +msgid "" +"If your PGP key has expired but you wish to continue its use, you can change " +"its expiry date. You can also change the expiration settings to have a key " +"expire on an earlier date." +msgstr "" +"Wenn Ihr PGP-Schlüssel abgelaufen ist und Sie ihn aber weiter verwenden " +"möchten, so können Sie das Ablaufdatum neu festlegen. Sie können auch die " +"Ablaufeinstellungen so ändern, dass ein Schlüssel an einem früheren Datum " +"abläuft." + +#. (itstool) path: steps/title +#: C/pgp-expiration-change.page:29 +msgid "To change the expiration date of a PGP key:" +msgstr "So ändern Sie das Ablaufdatum eines PGP-Schlüssels:" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:34 +msgid "Right click on the selected key and select Properties." +msgstr "" +"Klicken Sie mit der rechten Maustaste auf den gewählten Schlüssel und wählen " +"Sie Eigenschaften." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:42 +msgid "" +"To change the expiration date of the master key, press the small button with " +"the picture of a calendar next to Expires, on the right side of " +"the dialog. You can then select the new expiration date from the calendar." +msgstr "" +"Klicken Sie zum Ändern des Ablaufdatums auf den kleinen Knopf mit dem Bild " +"eines Kalenders rechts im Dialog neben Läuft ab. Wählen Sie " +"anschließend ein neues Ablaufdatum im Kalender." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:48 +msgid "" +"To change the expiration date of a subkey, " +"expand the Subkeys panel and select the subkey from the list. " +"Press the Expire button on the left of the panel " +"and select the new expiration date." +msgstr "" +"Um das Ablaufdatum eines Unterschlüssels " +"zu ändern, klappen Sie die Leiste Unterschlüssel aus und wählen " +"Sie den Unterschlüssel in der Liste. Klicken Sie dann auf den Knopf Ablauf?? auf der linken Seite der Leiste und wählen " +"Sie ein neues Ablaufdatum." + +#. (itstool) path: note/p +#: C/pgp-expiration-change.page:59 +msgid "" +"If you are changing the expiration date of a key that has been published, " +"you must synchronize the key with the key " +"server after making the desired changes." +msgstr "" +"Wenn Sie das Ablaufdatum eines bereits veröffentlichten Schlüssels ändern, " +"so müssen Sie nach den gewünschten Änderungen den Schlüssel mit dem " +"Schlüssel-Server abgleichen." + +#. (itstool) path: info/desc +#: C/pgp-expired.page:20 +msgid "Can I still use it? Can expiration dates be changed?" +msgstr "Kann ich ihn immer noch einsetzen? Können Ablaufdaten geändert werden?" + +#. (itstool) path: page/title +#: C/pgp-expired.page:23 +msgid "What happens if my key expires?" +msgstr "Was passiert, wenn mein Schlüssel abläuft?" + +#. (itstool) path: page/p +#: C/pgp-expired.page:25 +msgid "When your key expires, it becomes invalid. This means:" +msgstr "Wenn Ihr Schlüssel abläuft, wird er ungültig. Dies hat zur Folge:" + +#. (itstool) path: item/p +#: C/pgp-expired.page:29 +msgid "It can no longer be used to encrypt and decrypt messages." +msgstr "" +"Er kann nicht länger zum Ver- und Entschlüsseln von Nachrichten eingesetzt " +"werden." + +#. (itstool) path: item/p +#: C/pgp-expired.page:32 +msgid "It cannot sign other keys or receive signatures from other keys." +msgstr "" +"Er kann keine anderen Schlüssel signieren oder Signaturen von anderen " +"Schlüsseln bekommen." + +#. (itstool) path: page/p +#: C/pgp-expired.page:37 +msgid "" +"Depending on how long you want your key to be valid, you can set an expiration date for it. By default, " +"Passwords and Keys sets all keys to be valid forever. That is, " +"the keys never expire." +msgstr "" +"Abhängig davon, wie lange Ihr Schlüssel gültig sein soll, legen Sie ein Ablaufdatum fest. Per Voreinstellung " +"sind in Passwörter und Verschlüsselung alle Schlüssel immer " +"gültig. Das bedeutet, dass die Schlüssel nie verfallen." + +#. (itstool) path: page/p +#: C/pgp-expired.page:42 +msgid "" +"The expiration date on a key can be changed anytime, even after the key has expired. However, if you " +"want to stop using the expired key, you should delete or revoke it." +msgstr "" +"Das Ablaufdatum des Schlüssels kann jederzeit geändert werden, selbst nachdem der Schlüssel abgelaufen " +"ist. Wenn Sie jedoch den abgelaufenen Schlüssel nicht weiter verwenden " +"wollen, so sollten Sie diesen löschen oder " +"zurückziehen." + +#. (itstool) path: note/p +#: C/pgp-expired.page:49 +msgid "" +"If you have any messages encrypted with an expired key, you must change the " +"expiration date on the key to decrypt such messages before deleting or " +"revoking it." +msgstr "" +"Wenn Sie mit einem abgelaufenen Schlüssel verschlüsselte Nachrichten haben, " +"so müssen Sie das Ablaufdatum des Schlüssels noch vor dem Löschen oder " +"Zurückziehen ändern, um diese entschlüsseln zu können." + +#. (itstool) path: info/desc +#: C/pgp-export.page:19 +msgid "Export your public and private PGP keys to store them in keyfiles." +msgstr "" +"Exportieren Sie ihre öffentlichen und privaten PGP-Schlüssel zum Speichern " +"in Schlüsseldateien." + +#. (itstool) path: page/title +#: C/pgp-export.page:23 +msgid "Export PGP keys" +msgstr "PGP-Schlüssel exportieren" + +#. (itstool) path: page/p +#: C/pgp-export.page:25 +msgid "" +"Export the contents of your PGP keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Exportieren Sie den Inhalt ihrer PGP-Schlüssel und speichern Sie diese in " +"Schlüsseldateien, um eine Sicherheitskopie Ihrer Schlüssel zu besitzen oder " +"um den öffentlichen Schlüssel mit einer Person zu teilen." + +#. (itstool) path: section/title +#: C/pgp-export.page:29 +msgid "To export your public PGP key:" +msgstr "So exportieren Sie Ihren öffentlichen PGP-Schlüssel:" + +#. (itstool) path: item/p +#: C/pgp-export.page:33 C/pgp-export.page:62 C/pgp-userid-add.page:36 +#: C/pgp-userid-primary.page:32 C/pgp-userid-remove.page:31 +msgid "Select the GnuPG keys keyring from the left side panel." +msgstr "" +"Wählen Sie den Schlüsselbund GnuPG-Schlüssel aus dem linken " +"Bereich." + +#. (itstool) path: item/p +#: C/pgp-export.page:37 C/pgp-export.page:66 +msgid "" +"Select the Personal PGP key that has to be exported, from the " +"list." +msgstr "" +"Wählen Sie den geheimen PGP-Schlüssel in der Liste, welcher " +"exportiert werden soll." + +#. (itstool) path: item/p +#: C/pgp-export.page:41 C/ssh-export.page:42 +msgid "" +"Right-click on the key and select Export…." +msgstr "" +"Klicken Sie mit der rechten Maustaste auf den Schlüssel und wählen Sie Exportieren …." + +#. (itstool) path: item/p +#: C/pgp-export.page:44 +msgid "" +"To store the keys in the ASCII format, select Armored PGP keys " +"from the menu at the bottom of the export window" +msgstr "" +"Wählen Sie E-Mail-sichere PGP-Schlüssel im Menü am unteren Rand " +"des Export-Fensters." + +#. (itstool) path: item/p +#: C/pgp-export.page:49 C/pgp-export.page:77 +msgid "" +"Choose a location for your keyfile, and press Export to finish." +msgstr "" +"Wählen Sie einen Ort für Ihre Schlüsseldatei und klicken Sie zum Abschließen " +"auf Exportieren." + +#. (itstool) path: section/title +#: C/pgp-export.page:58 +msgid "To export your private PGP key:" +msgstr "So exportieren Sie Ihren geheimen PGP-Schlüssel:" + +#. (itstool) path: item/p +#: C/pgp-export.page:70 C/subkeys-add.page:37 +msgid "" +"Right click on the selected key and select PropertiesDetails." +msgstr "" +"Klicken Sie mit der rechten Maustaste auf den gewählten Schlüssel und wählen " +"Sie EigenschaftenDetails." + +#. (itstool) path: item/p +#: C/pgp-export.page:74 +msgid "Press the Export button." +msgstr "Klicken Sie auf den Knopf Exportieren." + +#. (itstool) path: info/desc +#: C/pgp-import.page:26 +msgid "Import keys from keyfiles into Passwords and Keys." +msgstr "" +"Importieren Sie Schlüssel aus Schlüsseldateien nach Passwörter und " +"Verschlüsselung." + +#. (itstool) path: page/title +#: C/pgp-import.page:29 +msgid "Import PGP keys" +msgstr "PGP-Schlüssel importieren" + +#. (itstool) path: page/p +#: C/pgp-import.page:31 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports PGP keys from your computer. You can also manually " +"import a particular key, if it has not been imported already." +msgstr "" +"Wenn Sie eine Schlüsseldatei per E-Mail erhalten haben, so bietet es sich " +"an, diese in Passwörter und Verschlüsselung zu importieren. In " +"den meisten Fällen importiert Passwörter und Verschlüsselung " +"automatisch PGP-Schlüssel von Ihrem Rechner. Sie können alternativ einen " +"bestimmten Schlüssel manuell importieren, sofern dieser noch nicht " +"importiert wurde." + +#. (itstool) path: steps/title +#: C/pgp-import.page:37 C/ssh-import.page:37 +msgid "How do I manually import a key?" +msgstr "Wie kann ich einen Schlüssel manuell importieren?" + +#. (itstool) path: item/p +#: C/pgp-import.page:42 C/ssh-import.page:42 +msgid "Select Import from file… from the list." +msgstr "" +"Wählen Sie Aus Datei importieren … in der " +"Liste." + +#. (itstool) path: item/p +#: C/pgp-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. PGP keys end with " +"pgp or asc, GPG keys end with gpg." +msgstr "" +"Wählen Sie im neuen Dialog den Schlüssel zum Importieren. PGP-Schlüssel " +"haben die Dateiendung pgp oder asc. GPG-Schlüssel " +"enden mit gpg." + +#. (itstool) path: item/p +#: C/pgp-import.page:50 C/ssh-import.page:49 +msgid "Click Open." +msgstr "Klicken Sie auf Öffnen." + +#. (itstool) path: page/p +#: C/pgp-import.page:54 +msgid "" +"Once imported, the PGP and GPG keys are listed under GnuPG keys." +msgstr "" +"Importierte PGP- und GPG-Schlüssel werden unter GnuPG-Schlüssel " +"aufgeführt." + +#. (itstool) path: info/desc +#: C/pgp-photoid.page:20 +msgid "" +"Include a photo ID with your existing keys so that people can identify them " +"easily." +msgstr "" +"Versehen Sie Ihre bestehenden Schlüssel mit einem Foto, damit Dritte diese " +"leicht identifizieren können." + +#. (itstool) path: page/title +#: C/pgp-photoid.page:24 +msgid "Attach a photo to your key" +msgstr "Ein Foto an Ihren Schlüssel anhängen" + +#. (itstool) path: page/p +#: C/pgp-photoid.page:26 +msgid "" +"You can attach a photo ID to your PGP keys so that everyone can verify the " +"ownership of your keys after looking at your photo. Though a key with an " +"attached photo will provide a slightly better level of security than a key " +"with no photo, checking the photo on a key is not as safe as checking the " +"fingerprint of the key because " +"anyone having your photos can create a key with your photo ID while the key " +"fingerprint cannot be mimicked." +msgstr "" +"Fügen Sie Ihren PGP-Schlüsseln ein Erkennungsfoto bei, damit andere den " +"Schlüssel Ihnen durch das Foto zuordnen können. Obwohl ein Schlüssel mit " +"angehängtem Foto eine etwas bessere Sicherheit bietet als einer ohne Foto, " +"so ist eine Prüfung des Fotos nicht so sicher wie das Prüfen des Fingerabdrucks des Schlüssels. Dies ist so, " +"weil jeder, der im Besitz eines Fotos von Ihnen ist, einen Schlüssel mit " +"Ihrem Foto erstellen kann. Hingegen kann der Fingerabdruck nicht nachgeahmt " +"werden." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:35 +msgid "" +"Unlike the restrictions in GPG, the photo ID you want to upload " +"need not be in the JPEG format. Passwords and Keys " +"lets you upload your photo in png, jpg and several " +"other common image formats." +msgstr "" +"Im Gegensatz zu den Einschränkungen von GPG muss das " +"Erkennungsfoto nicht im JPEG-Format vorliegen. Passwörter " +"und Schlüssel ermöglicht Ihnen das Foto im png-, " +"jpg- und verschiedenen anderen Bildformaten hochzuladen." + +#. (itstool) path: steps/title +#: C/pgp-photoid.page:42 +msgid "To attach a photo ID to a PGP key:" +msgstr "So fügen Sie Ihrem PGP-Schlüssel ein Erkennungsfoto bei:" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:47 +msgid "Select the PGP key." +msgstr "Wählen Sie den PGP-Schlüssel." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:50 +msgid "" +"Right click on the chosen key and select Properties Owner." +msgstr "" +"Klicken Sie mit der rechten Maustaste auf den gewählten Schlüssel und wählen " +"Sie Eigenschaften Besitzer." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:55 +msgid "" +"Press the + button on the left hand side to add " +"a photo." +msgstr "" +"Klicken Sie auf den +-Knopf auf der linken " +"Seite, um ein Foto hinzuzufügen." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:59 +msgid "Select the photo from your computer." +msgstr "Wählen Sie das Foto von Ihrem Rechner." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:62 +msgid "Click Close to finish." +msgstr "Klicken Sie zum Abschließen auf Schließen." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:67 +msgid "" +"The photos you select should be small in size, preferably about 120 by 150 " +"pixels. Since a photo ID is always attached to its key, a large photo will " +"increase the key size and slow down all operations that use the key. " +"Passwords and Keys resizes large photos to the optimal size after " +"asking for your confirmation." +msgstr "" +"Die gewählten Fotos sollten eine geringe Größe haben, vorzugsweise ungefähr " +"120 bis 150 Pixel. Weil ein Erkennungsfoto immer dem Schlüssel angehängt " +"ist, erhöht ein großes Foto die Schlüsselgröße und bremst alle Vorgänge, die " +"diesen Schlüssel nutzen. Passwörter und Verschlüsselung " +"verkleinert nach Bestätigung von Ihnen große Fotos auf die optimale Größe." + +#. (itstool) path: credit/name +#: C/pgp-publish.page:16 C/pgp-retrieve-remote.page:16 +msgid "Aruna" +msgstr "Aruna" + +#. (itstool) path: info/desc +#: C/pgp-publish.page:21 +msgid "" +"Publish your public keys on key servers, or export and mail them to your friends." +msgstr "" +"Veröffentlichen Sie Ihre öffentlichen Schlüssel auf Schlüssel-Servern oder " +"exportieren und versenden Sie diese per E-" +"Mail." + +#. (itstool) path: page/title +#: C/pgp-publish.page:25 +msgid "Share your public keys" +msgstr "Ihre öffentlichen Schlüssel mit anderen teilen" + +#. (itstool) path: page/p +#: C/pgp-publish.page:27 +msgid "" +"If you want people to send you encrypted communication, you must share your " +"GnuPG key with them. To share your key with a selected few " +"people, export it and mail the resulting " +"keyfile to them. To allow anyone to retrieve and use your public key, publish it on a key server." +msgstr "" +"Wenn Personen mit Ihnen verschlüsselt kommunizieren sollen, so müssen Sie " +"Ihren GnuPG-Schlüssel mit diesen teilen. Exportieren Sie ihn und versenden Sie die Schlüsseldatei per E-" +"Mail, um den Schlüssel mit gewählten Personen zu teilen. Veröffentlichen Sie " +"Ihren öffentlichen Schlüssel auf Schlüssel-Servern, damit Dritte diesen " +"abrufen und einsetzen können." + +#. (itstool) path: steps/title +#: C/pgp-publish.page:35 +msgid "How do I publish my key on a key server?" +msgstr "Wie veröffentliche ich meinen Schlüssel auf einem Schlüssel-Server?" + +#. (itstool) path: item/p +#: C/pgp-publish.page:40 +msgid "" +"From the list, select the Personal PGP key you want to publish." +msgstr "" +"Wählen Sie den geheimen PGP-Schlüssel in der Liste, der " +"veröffentlicht werden soll." + +#. (itstool) path: item/p +#: C/pgp-publish.page:47 C/pgp-sync.page:44 +msgid "Select Sync and publish keys…." +msgstr "" +"Wählen Sie Schlüssel abgleichen und veröffentlichen …" +"." + +#. (itstool) path: item/p +#: C/pgp-publish.page:50 +msgid "" +"Press the Key Servers button to see the list of " +"key servers on which you can publish your public key." +msgstr "" +"Klicken Sie auf den Knopf Schlüssel-Server, um " +"eine Liste der Schlüssel-Server zu erhalten, auf denen Sie Ihren " +"öffentlichen Schlüssel veröffentlichen können." + +#. (itstool) path: item/p +#: C/pgp-publish.page:54 +msgid "" +"To publish your key on a key server, select the key server from the " +"Publish keys to menu." +msgstr "" +"Wählen Sie den Schlüssel-Server im Menü Schlüssel veröffentlichen bei in der Liste, um Ihren Schlüssel auf einem Schlüssel-Server zu " +"veröffentlichen." + +#. (itstool) path: item/p +#: C/pgp-publish.page:58 +msgid "" +"Close the Preferences window to go back to the previous dialog." +msgstr "" +"Schließen Sie das Einstellungen-Fenster, um zu dem vorherigen " +"Dialog zurückzukehren." + +#. (itstool) path: item/p +#: C/pgp-publish.page:62 +msgid "Press Sync to finish." +msgstr "" +"Klicken Sie zum Abschließen auf Abgleichen." + +#. (itstool) path: note/p +#: C/pgp-publish.page:77 +msgid "You need to be connected to the Internet while publishing your keys." +msgstr "" +"Sie müssen mit dem Internet verbunden sein, um Ihre Schlüssel zu " +"veröffentlichen." + +#. (itstool) path: note/title +#: C/pgp-publish.page:81 +msgid "What is a keyserver?" +msgstr "Was ist ein Schlüssel-Server?" + +#. (itstool) path: note/p +#: C/pgp-publish.page:82 +msgid "" +"Key servers are computers that store copies of public encryption keys " +"submitted to them, and share these copies with other key servers through the " +"Internet." +msgstr "" +"Schlüssel-Server sind Rechner, die Kopien von eingesendeten öffentlichen " +"kryptografischen Schlüsseln speichern. Sie teilen diese Kopien mit anderen " +"Schlüssel-Servern über das Internet." + +#. (itstool) path: info/desc +#: C/pgp-retrieve-remote.page:26 +msgid "" +"If you want to send an urgent encrypted message to someone, but do not have " +"their key, you can retrieve their key from a remote key server." +msgstr "" +"Wenn Sie eine dringende verschlüsselte Nachricht versenden wollen, aber " +"nicht den Schlüssel dieser Person haben, so können Sie diesen Schlüssel von " +"einem entfernten Schlüssel-Server abrufen." + +#. (itstool) path: page/title +#: C/pgp-retrieve-remote.page:31 +msgid "Retrieve remote keys" +msgstr "Entfernte Schlüssel einholen" + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:33 +msgid "" +"You can retrieve someone's public GnuPG key from the Internet and store it " +"in Passwords and Keys." +msgstr "" +"Sie können den öffentlichen GnuPG-Schlüssel einer Person aus dem Internet " +"abrufen und diesen in Passwörter und Verschlüsselung speichern." + +#. (itstool) path: steps/title +#: C/pgp-retrieve-remote.page:37 +msgid "To retrieve a remote key:" +msgstr "So holen Sie einen entfernten Schlüssel:" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:42 +msgid "Select Find remote keys…." +msgstr "Wählen Sie Entfernte Schlüssel suchen …." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:45 +msgid "" +"Enter information about the key you wish to retrieve in the field provided. " +"Details like key ID or the key owner's email address give more accurate " +"results than the name of the key owner." +msgstr "" +"Geben Sie Informationen über den Schlüssel ein, den Sie abrufen wollen. " +"Eigenschaften wie die Schlüsselkennung und die E-Mail-Adresse des Besitzers " +"erzielen bessere Suchtreffer als der Name des Schlüsselbesitzers." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:50 +msgid "Press the Search button." +msgstr "Klicken Sie auf den Knopf Suchen." + +# Download gibt es in der GUI-po-Datei nicht +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:53 +msgid "" +"From the list of search results, select the key you want to import, and " +"press the Download button on the right." +msgstr "" +"Wählen Sie in der Ergebnisliste den gewünschten Schlüssel zum Importieren " +"und klicken Sie auf den Knopf Download rechts." + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:58 +msgid "The imported key will be listed in the GnuPG keys keyring." +msgstr "" +"Der importierte Schlüssel wird daraufhin im Schlüsselbund GnuPG-" +"Schlüssel aufgeführt." + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:61 +msgid "" +"If you want more information about a key, before importing it, select it and " +"press Enter or double-click it. This opens a new window that " +"displays information like the key ID, key fingerprint, level of trust, " +"owner's name, etc." +msgstr "" +"Um vor dem Importieren weitere Informationen zu einem Schlüssel zu erhalten, " +"wählen Sie diesen aus und drücken die Eingabetaste oder klicken " +"doppelt darauf. Daraufhin öffnet sich ein neues Fenster, in dem " +"Informationen wie Schlüsselkennung, Fingerabdruck, Vertrauensgrad, der " +"Besitzername usw. angezeigt werden." + +#. (itstool) path: info/desc +#: C/pgp-sign.page:19 +msgid "If you trust a key, you can sign it." +msgstr "Wenn Sie einem Schlüssel vertrauen, so können Sie diesen signieren." + +#. (itstool) path: page/title +#: C/pgp-sign.page:22 +msgid "Sign keys" +msgstr "Schlüssel signieren" + +#. (itstool) path: page/p +#: C/pgp-sign.page:24 +msgid "" +"To show that you trust and vouch for the genuineness of someone's key, you " +"can sign it. A person's key must be signed only after you compare the user ID on the key with a valid proof of their " +"identity, such as a passport, driver's license, or similar. If the two IDs " +"match, the key is said to be trustworthy." +msgstr "" +"Signieren Sie den Schlüssel einer Person, um damit zu zeigen, dass Sie der " +"Echtheit des Schlüssels trauen und dafür einstehen. Der Schlüssel einer " +"Person darf nur nach dem Vergleich der Benutzerkennung mit einem gültigen Nachweis der Identität (Pass, " +"Führerschein etc.) signiert werden. Wenn die beiden Kennungen " +"übereinstimmen, spricht man von einem vertrauenswürdigen Schlüssel." + +#. (itstool) path: steps/title +#: C/pgp-sign.page:31 +msgid "To sign a key:" +msgstr "So signieren Sie einen Schlüssel:" + +#. (itstool) path: item/p +#: C/pgp-sign.page:33 +msgid "" +"Import the remote key or keyfile containing the key to be signed into " +"Passwords and Keys." +msgstr "" +"Importieren Sie den entfernten Schlüssel oder die Schlüsseldatei mit dem zu " +"signierenden Schlüssel in Passwörter und Verschlüsselung." + +#. (itstool) path: item/p +#: C/pgp-sign.page:38 +msgid "From the list of GnuPG keys select the imported key." +msgstr "" +"Wählen Sie den importierten Schlüssel aus der Liste der GnuPG-" +"Schlüssel." + +#. (itstool) path: item/p +#: C/pgp-sign.page:41 +msgid "" +"Right click the key and select PropertiesTrust." +msgstr "" +"Klicken Sie mit der rechten Maustaste auf den Schlüssel und wählen Sie " +"EigenschaftenVertrauen." + +#. (itstool) path: item/p +#: C/pgp-sign.page:45 +msgid "Press the Sign this Key button." +msgstr "" +"Klicken Sie auf den Knopf Diesen Schlüssel signieren." + +#. (itstool) path: item/p +#: C/pgp-sign.page:48 +msgid "" +"Depending on how carefully you have checked the key, choose one out of Not at all, Casually or Very carefully." +msgstr "" +"Abhängig davon, wie sorgsam Sie den Schlüssel geprüft haben, wählen Sie eine " +"von Überhaupt nicht, Mäßig oder Sehr sorgfältig." + +#. (itstool) path: item/p +#: C/pgp-sign.page:54 +msgid "" +"Decide if you want to revoke your signature at a later date and if you want " +"to make your signature public, by ticking the checkboxes provided." +msgstr "" +"Entscheiden Sie, ob Sie Ihre Signatur zu einem späteren Zeitpunkt " +"zurückziehen wollen, und ob Sie Ihre Signatur veröffentlichen wollen, indem " +"Sie die entsprechenden Ankreuzfelder anwählen." + +#. (itstool) path: item/p +#: C/pgp-sign.page:59 +msgid "" +"When you own more than one PGP key, select the key you want to sign with, " +"from the list next to Signer." +msgstr "" +"Wenn Sie mehr als einen PGP-Schlüssel besitzen, so wählen Sie den Schlüssel " +"aus der Liste neben Signierer, mit dem Sie signieren wollen." + +#. (itstool) path: item/p +#: C/pgp-sign.page:63 +msgid "Press the Sign button to finish." +msgstr "Klicken Sie zum Abschließen auf Signieren." + +#. (itstool) path: note/title +#: C/pgp-sign.page:68 +msgid "Can I sign my own keys?" +msgstr "Kann ich meinen eigenen Schlüssel signieren?" + +#. (itstool) path: note/p +#: C/pgp-sign.page:69 +msgid "" +"When you create a new GnuPG key, " +"it is automatically signed by you. Any new subkeys created using a GnuPG key, will also be signed " +"automatically." +msgstr "" +"Wenn Sie einen neuen GnuPG-Schlüssel erstellen, so wird dieser automatisch von Ihnen signiert. Jeder " +"von einem GnuPG-Schlüssel neue erstellte Unterschlüssel von wird auch automatisch signiert." + +#. (itstool) path: info/desc +#: C/pgp-subkeys.page:19 +msgid "" +"A subkey is always bound to a master key in a PGP keypair. It is used for " +"encryption." +msgstr "" +"Ein Unterschlüssel ist in einem PGP-Schlüsselpaar immer an einen " +"Hauptschlüssel gebunden. Er wird zur Verschlüsselung eingesetzt." + +#. (itstool) path: page/title +#: C/pgp-subkeys.page:23 +msgid "What is a subkey?" +msgstr "Was ist ein Unterschlüssel?" + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:25 +msgid "" +"Though it is very important to keep your keys safe, it can become quite " +"tedious to do so when you have many keys. Passwords and Keys " +"provides a simple solution to key safety by using subkeys for " +"signing and encryption." +msgstr "" +"Obwohl es sehr wichtig ist, Ihre Schlüssel sicher zu verwahren, kann dies " +"mit vielen Schlüsseln sehr mühsam werden. Passwörter und " +"Verschlüsselung bietet eine einfache Lösung für die " +"Schlüsselsicherheit, indem Unterschlüssel zum Signieren und " +"Verschlüsseln eingesetzt werden." + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:30 +msgid "" +"Whenever you create a new public encryption " +"key, a keypair is generated instead of a single key. This keypair " +"consists of a main key, also called the master key and a " +"subkey. A master key can be used to create additional subkeys that " +"are then bound to it." +msgstr "" +"Immer wenn Sie einen neuen öffentlichen kryptografischen Schlüssel erzeugen, wird ein Schlüsselpaar anstatt " +"eines einzelnen Schlüssels generiert. Das Schlüsselpaar besteht aus einem " +"Hauptschlüssel und einem Unterschlüssel. Mit dem " +"Hauptschlüssel können weitere zusätzliche Unterschlüssel erstellt werden, " +"die dann daran gebunden werden." + +#. (itstool) path: list/title +#: C/pgp-subkeys.page:37 +msgid "What does each key in a keypair do?" +msgstr "Wozu dient jeder Schlüssel in einem Schlüsselpaar?" + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:39 +msgid "" +"The master key is used for signing " +"other keys, creating subkeys and revoking subkeys. Your master key must be kept very safe. Signatures of trust " +"are also collected on your master key. If the master key is compromised, you " +"have no choice but to revoke it and all the subkeys attached to it." +msgstr "" +"Der Hauptschlüssel wird zum Signieren anderer Schlüssel eingesetzt, zum Erstellen von Unterschlüsseln und " +"zum Widerrufen von Unterschlüsseln. Ihr " +"Hauptschlüssel muss sehr sicher verwahrt werden. Vertrauenssignaturen werden " +"ebenfalls mit Ihrem Hauptschlüssel gesammelt. Wenn der Hauptschlüssel in " +"fremde Hände gelangt, so bleibt Ihnen nichts anderes übrig, als diesen samt " +"allen zugehörigen Unterschlüsseln zu widerrufen." + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:47 +msgid "" +"The default subkey is used for encryption and decryption of " +"messages. Additional subkeys can be created for signing. Though it is " +"important that your subkeys are kept safe, you can always revoke a subkey if " +"it is compromised and create a new one with the original master key." +msgstr "" +"Der Vorgabe-Unterschlüssel wird zum Verschlüsseln und Entschlüsseln " +"von Nachrichten eingesetzt. Es können weitere zusätzliche Unterschlüssel zum " +"Signieren erstellt werden. Obwohl es wichtig ist, Ihre Unterschlüssel sicher " +"zu verwahren, können Sie jederzeit einen Unterschlüssel widerrufen, wenn " +"dieser in fremde Hände gelangt, und einen neuen mit dem Hauptschlüssel " +"erstellen." + +#. (itstool) path: section/title +#: C/pgp-subkeys.page:56 +msgid "More about subkeys" +msgstr "Erfahren Sie mehr über Unterschlüssel" + +#. (itstool) path: info/desc +#: C/pgp-sync.page:21 +msgid "" +"Synchronize information present in your local key with the corresponding key " +"on a key server." +msgstr "" +"Gleichen Sie Informationen Ihres lokalen Schlüssels mit dem zugehörigen " +"Schlüssel auf einem Schlüssel-Server ab." + +#. (itstool) path: page/title +#: C/pgp-sync.page:25 +msgid "Synchronize your keys" +msgstr "Ihre Schlüssel abgleichen" + +#. (itstool) path: page/p +#: C/pgp-sync.page:27 +msgid "" +"PGP keys in your keyring have to be synchronized with a key server to ensure " +"that any changes made to the key on the key server, like a new signature, " +"are updated in your local copy of the key. Similarly, when you change " +"information on your local key copy, like the expiration date, or when you " +"sign someone's key, you should synchronize the keys to update the changes on " +"the remote copy of the key. You need a working Internet connection to " +"synchronize your keys." +msgstr "" +"PGP-Schlüssel in Ihrem Schlüsselbund müssen mit einem Schlüssel-Server " +"abgeglichen werden, um sicher zu stellen, dass alle Änderungen an dem " +"Schlüssel auf dem Schlüssel-Server (wie z.B. eine neue Signatur) in Ihre " +"lokale Kopie übernommen werden. Wenn Sie analog Informationen in Ihrer " +"lokalen Kopie des Schlüssels ändern, wie z.B. das Ablaufdatum oder einen " +"anderen Schlüssel signieren, so sollten Sie die Schlüssel mit der Kopie auf " +"dem Schlüssel-Server abgleichen. Zum Abgleichen Ihrer Schlüssel brauchen Sie " +"eine funktionierende Verbindung mit dem Internet." + +#. (itstool) path: steps/title +#: C/pgp-sync.page:36 +msgid "How do I synchronize a key?" +msgstr "Wie kann ich einen Schlüssel abgleichen?" + +#. (itstool) path: item/p +#: C/pgp-sync.page:38 +msgid "Select the PGP key you wish to synchronize." +msgstr "Wählen Sie den PGP-Schlüssel, den Sie abgleichen wollen." + +#. (itstool) path: item/p +#: C/pgp-sync.page:47 +msgid "" +"Click the Sync button to synchronize your key." +msgstr "" +"Klicken Sie zum Abgleichen Ihres Schlüssels auf Abgleichen." + +#. (itstool) path: note/title +#: C/pgp-sync.page:53 +msgid "Why is the Sync button not clickable?" +msgstr "" +"Warum kann ich nicht auf den Knopf Abgleichen " +"klicken?" + +#. (itstool) path: note/p +#: C/pgp-sync.page:55 +msgid "" +"Only PGP keys that have been published on a key server can be synchronized. " +"If the Sync button is not clickable, check if " +"the key has been published on a key server. In the case of synchronizing " +"your own keys, publish them before " +"synchronizing them." +msgstr "" +"Nur PGP-Schlüssel, die auf einem Schlüssel-Server veröffentlicht wurden, " +"können abgeglichen werden. Prüfen Sie, ob der Schlüssel auf einem Schlüssel-" +"Server veröffentlicht wurde, wenn der Knopf Abgleichen deaktiviert ist. Veröffentlichen Sie im Falle Ihrer eigenen Schlüssel zuerst diese, " +"bevor Sie diese abgleichen." + +#. (itstool) path: info/desc +#: C/pgp-userid-add.page:20 +msgid "" +"Having many user IDs helps you to use the same key to communicate with " +"different people." +msgstr "" +"Viele Benutzerkennungen ermöglichen, denselben Schlüssel zur Kommunikation " +"mit verschiedenen Personen zu verwenden." + +#. (itstool) path: page/title +#: C/pgp-userid-add.page:24 +msgid "Add extra user IDs to a key" +msgstr "Zusätzliche Benutzerkennungen einem Schlüssel hinzufügen" + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:26 +msgid "" +"A key can have multiple user IDs. This is helpful when you want to use the " +"same key while communicating with several people and one of them does not " +"recognize, say, the email address in your user ID. This person may not want " +"to import your public key since it contains information that they do not " +"know. In such scenarios, if you do not want to create a new key with a " +"different user ID, you can attach a new user ID to your existing key." +msgstr "" +"Ein Schlüssel kann mehrere Benutzerkennungen haben. Dies ist nützlich, wenn " +"Sie mit demselben Schlüssel mit verschiedenen Personen kommunizieren wollen " +"und einer von diesen z.B. die E-Mail-Adresse in Ihrer Benutzerkennung nicht " +"kennt. Diese Person könnte sich dazu entscheiden, Ihren öffentlichen " +"Schlüssel nicht zu importieren, weil er unbekannte Informationen enthält. In " +"solchen Fällen können Sie Ihrem vorhandenen Schlüssel eine neue " +"Benutzerkennung hinzufügen, wenn Sie keinen neuen Schlüssel mit einer " +"anderen Benutzerkennung erstellen wollen." + +#. (itstool) path: steps/title +#: C/pgp-userid-add.page:34 +msgid "To add an extra user ID:" +msgstr "So fügen Sie eine zusätzliche Benutzerkennung hinzu:" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:39 +msgid "From the list, select the Personal PGP key of your choice." +msgstr "" +"Wählen Sie den geheimen PGP-Schlüssel Ihrer Wahl in der Liste." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:43 +msgid "" +"Right click on the key and select Properties Names " +"and Signatures." +msgstr "" +"Klicken Sie mit der rechten Maustaste auf den Schlüssel und wählen Sie " +"EigenschaftenNamen und Signaturen." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:47 +msgid "" +"Click the Add Name button to add a new user ID." +msgstr "" +"Klicken Sie auf den Knopf Name hinzufügen, um " +"eine neue Benutzerkennung hinzuzufügen." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:51 +msgid "" +"In the new dialog, fill in details like Full Name, Email " +"Address and Key Comment for the new user ID." +msgstr "" +"Geben Sie im neuen Dialog die Angaben für Vollständige Name, " +"E-Mail-Adresse und Schlüsselkommentar für die neue " +"Benutzerkennung ein." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:56 +msgid "" +"Enter the correct passphrase and click OK to " +"finish." +msgstr "" +"Geben Sie die richtige Passphrase ein und klicken Sie zum Abschließen auf " +"OK." + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:61 +msgid "" +"Your new user ID will now be listed under the Names and Signatures panel." +msgstr "" +"Ihre neue Benutzerkennung ist nun in der Leiste Namen und Signaturen aufgeführt." + +#. (itstool) path: note/p +#: C/pgp-userid-add.page:65 +msgid "" +"If your key has been published on a key server, synchronize it after adding new user IDs to update the remote copy " +"of the key." +msgstr "" +"Wenn Ihr Schlüssel auf einem Schlüssel-Server veröffentlicht wurde, gleichen Sie ihn zum Aktualisieren der entfernten " +"Kopie ab, nachdem eine neue Benutzerkennung hinzugefügt wurde." + +#. (itstool) path: info/desc +#: C/pgp-userid-primary.page:19 +msgid "Change your default user ID" +msgstr "Ändern Sie Ihre voreingestellte Benutzerkennung" + +#. (itstool) path: page/title +#: C/pgp-userid-primary.page:22 +msgid "What is a primary user ID?" +msgstr "Was ist eine primäre Benutzerkennung?" + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:24 +msgid "" +"When you have multiple user IDs, one of the user IDs is made the primary " +"user ID. Passwords and Keys will attach the primary user ID by " +"default with your key information, while encrypting or signing, unless you " +"explicitly choose another user ID instead." +msgstr "" +"Wenn Sie mehrere Benutzerkennungen haben, ist eine der Benutzerkennungen die " +"primäre Benutzerkennung. Beim Verschlüsseln und Signieren hängt " +"Passwörter und Verschlüsselung per Vorgabe die primäre " +"Benutzerkennung an Ihre Schlüsselinformationen an, es sei denn, Sie wählen " +"explizit eine andere Benutzerkennung." + +#. (itstool) path: steps/title +#: C/pgp-userid-primary.page:30 +msgid "To change the primary user ID in a PGP key:" +msgstr "So ändern Sie die primäre Benutzerkennung eines PGP-Schlüssels:" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:35 C/pgp-userid-remove.page:34 +#: C/subkeys-add.page:34 +msgid "Select the Personal PGP key from the list." +msgstr "Wählen Sie den privaten PGP-Schlüssel in der Liste." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:38 +msgid "" +"Right click on the selected key and select Properties " +"Names and Signatures." +msgstr "" +"Klicken Sie mit der rechten Maustaste auf den gewählten Schlüssel und wählen " +"Sie EigenschaftenNamen und Signaturen." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:43 +msgid "" +"Select the new primary user ID from the list and click Primary." +msgstr "" +"Wählen Sie die neue primäre Benutzerkennung in der Liste und klicken Sie " +"anschließend auf Primär." + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:48 +msgid "" +"The user ID will move to the top of the Names and Signatures list " +"to become your primary user ID." +msgstr "" +"Die Benutzerkennung wird zuoberst in die Liste Namen und Signaturen verschoben und wird damit zu Ihrer primären Benutzerkennung." + +#. (itstool) path: note/p +#: C/pgp-userid-primary.page:52 +msgid "" +"Sync your keys after changing your primary user ID to update the remote " +"copies of your key." +msgstr "" +"Gleichen Sie Ihre Schlüssel nach dem Ändern Ihrer primären Benutzerkennung " +"ab, um entfernte Kopien Ihrer Schlüssel zu aktualisieren." + +#. (itstool) path: info/desc +#: C/pgp-userid-remove.page:20 +msgid "Remove extra user IDs" +msgstr "Entfernen Sie zusätzliche Benutzerkennungen" + +#. (itstool) path: page/title +#: C/pgp-userid-remove.page:23 +msgid "Detach a user ID from a key" +msgstr "Eine Benutzerkennung von einem Schlüssel entfernen" + +#. (itstool) path: page/p +#: C/pgp-userid-remove.page:25 +msgid "" +"While it is essential that all keys have at least one user ID, you can " +"remove any additional user IDs that you have attached to the key." +msgstr "" +"Es ist entscheidend, dass alle Schlüssel zumindest eine Benutzerkennung " +"haben. Sie dürfen jedoch zusätzliche Benutzerkennungen entfernen, die Sie an " +"den Schlüssel angehängt haben." + +#. (itstool) path: steps/title +#: C/pgp-userid-remove.page:29 +msgid "To remove a user ID from a PGP key:" +msgstr "So entfernen Sie eine Benutzerkennung von einem PGP-Schlüssel:" + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:37 +msgid "" +"Right click on the selected key and choose Properties " +"Names and Signatures." +msgstr "" +"Klicken Sie mit der rechten Maustaste auf den gewählten Schlüssel und wählen " +"Sie EigenschaftenNamen und Signaturen." + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:42 +msgid "" +"Select the user ID you want to remove and click Delete." +msgstr "" +"Wählen Sie die Benutzerkennung, die Sie löschen möchten, und klicken Sie auf " +"den Knopf Löschen." + +#. (itstool) path: note/p +#: C/pgp-userid-remove.page:48 +msgid "" +"Synchronize your keys after detaching the " +"user ID to update the changes on the remote copy of the key." +msgstr "" +"Gleichen Sie Ihre Schlüssel nach dem " +"Entfernen einer Benutzerkennung ab, um die Änderungen auf entfernte Kopien " +"Ihres Schlüssels zu übertragen." + +#. (itstool) path: info/desc +#: C/pgp-userid.page:19 +msgid "Create keys with good user IDs and learn to add and remove user IDs." +msgstr "" +"Erstellen Sie Schlüssel mit sinnvollen Benutzerkennungen und fügen Sie neue " +"Benutzerkennung hinzu oder entfernen diese." + +#. (itstool) path: page/title +#: C/pgp-userid.page:23 +msgid "What is a user ID?" +msgstr "Was ist eine Benutzerkennung?" + +#. (itstool) path: page/p +#: C/pgp-userid.page:25 +msgid "" +"When you create a key, you provide details, like your name, email and a key " +"description. This information together constitutes a user ID. A good user ID " +"helps people to recognize your key when they are trying to retrieve or import " +"it. It is important to fill in authentic information while creating your " +"user ID." +msgstr "" +"Beim Erstellen eines Schlüssels geben Sie Ihren Namen, Ihre E-Mail-Adresse " +"und eine Schlüsselbeschreibung ein. Diese Informationen bilden zusammen die " +"Benutzerkennung. Dritte können Ihren Schlüssel mit einer sinnvoll erstellten " +"Benutzerkennung leicht erkennen, wenn sie Ihren Schlüssel abrufen oder importieren. Es ist wichtig, die Informationen während der Erstellung korrekt " +"anzugeben." + +#. (itstool) path: section/title +#: C/pgp-userid.page:33 +msgid "Add, remove user IDs" +msgstr "Benutzerkennungen hinzufügen und entfernen" + +#. (itstool) path: info/desc +#: C/ssh-connect-remote.page:23 +msgid "Use SSH keys to log in to another computer without entering a password." +msgstr "" +"Verwenden Sie SSH-Schlüssel, um sich an einem anderen Rechner ohne " +"Passworteingabe anzumelden." + +#. (itstool) path: page/title +#: C/ssh-connect-remote.page:27 +msgid "Connect to other computers" +msgstr "Mit anderen Rechnern verbinden" + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:29 +msgid "" +"You can use Passwords and Keys to install your SSH key onto a " +"remote computer that can run an SSH server. You can also set up your SSH key for remote login " +"while creating the key." +msgstr "" +"Verwenden Sie Passwörter und Verschlüsselung, um Ihren SSH-" +"Schlüssel auf einem entfernten Rechner zu installieren, auf dem ein SSH-" +"Dienst läuft. Sie können Ihren SSH-Schlüssel auch während der Erstellung für entferntes Anmelden " +"einrichten." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:36 +msgid "" +"Right click on the SSH key and select Configure Key for " +"Secure Shell…." +msgstr "" +"Klicken Sie mit der rechten Maustaste auf den SSH-Schlüssel und " +"wählen Sie SSH-Schlüssel einrichten …." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:40 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH, and press " +"Set Up." +msgstr "" +"Daraufhin öffnet sich ein Dialogfenster. Geben Sie die Server-Adresse an, die Sie normalerweise zur Anmeldung mit SSH am entfernten Rechner " +"verwenden, und klicken Sie auf Einrichten." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:45 C/ssh-create.page:106 +msgid "" +"The program will now attempt to connect to the specified Server " +"address with the entered Login Name. If there are any " +"problems in accessing the remote computer, a pop-up window will appear that " +"explains the problem, and you can try again. Make sure that you have a " +"network connection and that the remote computer is on and accessible." +msgstr "" +"Das Programm versucht nun eine Verbindung zur angegebenen Server-" +"Adresse mit dem Anmeldenamen aufzubauen. Im Falle von " +"Problemen beim Zugriff auf den entfernten Rechner öffnet sich ein " +"Einblendfenster, welches das Problem erläutert. Stellen Sie sicher, dass " +"eine Netzverbindung besteht und der entfernte Rechner eingeschaltet und " +"Zugriff möglich ist." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:53 C/ssh-create.page:114 +msgid "" +"If connection to the remote computer was successful, a dialog box will " +"appear which asks for the Password you use to log in to the " +"remote computer. Enter your password, then press OK." +msgstr "" +"Wenn die Verbindung zum entfernten Rechner erfolgreich aufgebaut wurde, " +"erscheint ein Dialogfenster, das nach dem Passwort zur Anmeldung " +"fragt. Geben Sie Ihr Passwort ein und klicken Sie dann auf OK." + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:60 +msgid "" +"You should now be able to log in to the remote computer via SSH without a " +"password." +msgstr "" +"Nun sollten Sie sich am entfernten Rechner mit SSH ohne Passwort anmelden " +"können." + +#. (itstool) path: info/desc +#: C/ssh-create.page:31 +msgid "Create SSH keys to log in to other computers." +msgstr "Erzeugen Sie SSH-Schlüssel, um sich bei anderen Rechnern anzumelden." + +#. (itstool) path: page/title +#: C/ssh-create.page:34 +msgid "Create a new SSH key" +msgstr "Einen neuen SSH-Schlüssel erzeugen" + +#. (itstool) path: page/p +#: C/ssh-create.page:36 +msgid "" +"An SSH key will help you to create a secure connection between computers. " +"Creating an SSH key creates both a Public and a Private " +"key. Here is how to create a new key:" +msgstr "" +"Ein SSH-Schlüssel unterstützt Sie bei der Herstellung einer sicheren " +"Verbindung zwischen Rechnern. Beim Erstellen eines SSH-Schlüssels werden " +"sowohl ein öffentlicher als auch ein geheimer Schlüssel " +"angelegt. So erstellen Sie einen neuen Schlüssel:" + +#. (itstool) path: item/p +#: C/ssh-create.page:42 +msgid "Select Secure Shell Key from the list." +msgstr "Wählen Sie SSH-Schlüssel in der Liste." + +#. (itstool) path: item/p +#: C/ssh-create.page:43 +msgid "" +"Enter a description for the key. The key description will help you to " +"identify the key later. For example, you could enter the date for the day, " +"something about how the key will be used, or the server name on which you " +"intend to install the key. The description field is optional, and how you " +"describe the key is entirely up to you." +msgstr "" +"Geben Sie eine Beschreibung für den Schlüssel ein. Die Schlüsselbeschreibung " +"vereinfacht es, den Schlüssel später zuzuordnen. Sie können z.B. das " +"aktuelle Datum eingeben, oder etwas über den Verwendungszweck sagen, oder " +"den Namen des Servers angeben, auf dem Sie den Schlüssel installieren " +"wollen. Das Beschreibungsfeld ist optional, und es ist Ihnen überlassen, wie " +"Sie den Schlüssel beschreiben möchten." + +#. (itstool) path: item/p +#: C/ssh-create.page:48 +msgid "" +"You can also change default settings for encryption type or key strength." +msgstr "" +"Ändern Sie gegebenenfalls die Vorgabeeinstellungen für den " +"Verschlüsselungstyp oder die Schlüsselstärke." + +#. (itstool) path: page/p +#: C/ssh-create.page:52 +msgid "" +"At this point, you can just create your key, or create your key and install " +"it on a remote computer to enable password-free login." +msgstr "" +"Sie haben jetzt die Wahl, nur Ihren Schlüssel zu erstellen, oder diesen " +"zusätzlich auf einem entfernten Rechner zu installieren, um sich ohne " +"Passworteingabe anmelden zu können." + +#. (itstool) path: section/title +#: C/ssh-create.page:56 +msgid "Create your key and do not set up remote login" +msgstr "Ihren Schlüssel erstellen und entfernte Anmeldung nicht einrichten" + +#. (itstool) path: section/p +#: C/ssh-create.page:57 +msgid "You can create the SSH key, and choose to set it up later." +msgstr "" +"Sie können den SSH-Schlüssel erstellen und diesen zu einem späteren " +"Zeitpunkt einrichten." + +#. (itstool) path: item/p +#: C/ssh-create.page:61 +msgid "Press the Just Create Key button." +msgstr "" +"Klicken Sie auf den Knopf Nur Schlüssel erzeugen." + +#. (itstool) path: item/p +#: C/ssh-create.page:64 +msgid "" +"Type a passphrase for your SSH key and press OK." +msgstr "" +"Geben Sie eine Passphrase für Ihren SSH-Schlüssel ein und klicken Sie auf " +"OK." + +#. (itstool) path: item/p +#: C/ssh-create.page:68 +msgid "" +"Retype the passphrase and press OK to finish." +msgstr "" +"Geben Sie die Passphrase erneut ein und klicken Sie zum Abschließen auf OK." + +#. (itstool) path: section/p +#: C/ssh-create.page:73 +msgid "The SSH key will now be listed in the OpenSSH keys keyring." +msgstr "" +"Der SSH-Schlüssel wird nun im Schlüsselbund OpenSSH-Schlüssel " +"aufgeführt." + +#. (itstool) path: note/p +#: C/ssh-create.page:77 +msgid "" +"When you try to use your SSH key, your operating system will prompt you for " +"the passphrase used during creation. This ensures that if someone gets " +"access to your SSH key, they can't use it without the passphrase." +msgstr "" +"Sobald Sie Ihren SSH-Schlüssel einsetzen, werden Sie nach der zugehörigen " +"Passphrase gefragt. Damit wird sichergestellt, dass der Schlüssel ohne " +"Passphrase nicht ohne weiteres verwendet werden kann." + +#. (itstool) path: section/title +#: C/ssh-create.page:86 +msgid "Create your key and install it on a remote computer" +msgstr "" +"Ihren Schlüssel erstellen und auf einem entfernten Rechner installieren" + +#. (itstool) path: section/p +#: C/ssh-create.page:87 +msgid "" +"One of the most useful things about having an SSH key is that you can " +"install the public key on a remote computer. Doing this allows you to log in " +"to a remote computer with SSH without needing to enter your password every " +"time." +msgstr "" +"Eine der nützlichsten Einsatzmöglichkeiten eines SSH-Schlüssels ist, das Sie " +"den öffentlichen Schlüssel auf einem entfernten Rechner installieren können. " +"So können Sie sich auf einem entfernten Rechner mit SSH anmelden, ohne jedes " +"Mal ein Passwort eingeben zu müssen." + +#. (itstool) path: item/p +#: C/ssh-create.page:94 +msgid "" +"Press the Create and Set Up button, and follow " +"the above instructions on entering a passphrase." +msgstr "" +"Klicken Sie auf den Knopf Erstellen und Einrichten und folgen Sie den Anweisungen zur Eingabe einer Passphrase." + +#. (itstool) path: item/p +#: C/ssh-create.page:98 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH." +msgstr "" +"Es öffnet sich ein Dialog. Geben Sie die Server-Adresse ein, die " +"Sie normalerweise verwenden, um sich mit SSH am entfernten Rechner " +"anzumelden." + +#. (itstool) path: item/p +#: C/ssh-create.page:102 +msgid "" +"Ensure that the Login name you use on the remote computer is " +"correct, and press Set Up." +msgstr "" +"Stellen Sie sicher, dass der Anmeldename für den entfernten " +"Rechner richtig ist, und klicken Sie auf Einrichten." + +#. (itstool) path: section/p +#: C/ssh-create.page:121 +msgid "" +"The public part of the selected SSH key will now be installed on the remote " +"computer and configured to allow password-free SSH login. You should now be " +"able to log in to the remote computer via SSH without a password." +msgstr "" +"Der öffentliche Teil des gewählten SSH-Schlüssels wird nun auf dem " +"entfernten Rechner installiert und so eingerichtet, dass eine SSH-Anmeldung " +"ohne Passwort möglich ist." + +#. (itstool) path: note/p +#: C/ssh-create.page:127 +msgid "" +"If SSH key authentication fails and you cannot use password authentication, " +"contact the service administrator for further help." +msgstr "" +"Falls die SSH-Schlüssellegitimierung fehlschlägt und Sie keine Passwort-" +"Legitimierung einsetzen können, so sprechen Sie bitte Ihren Dienstverwalter " +"für weitere Hilfe an." + +#. (itstool) path: info/desc +#: C/ssh-export.page:20 +msgid "Export your public and private SSH keys to store them in keyfiles." +msgstr "" +"Exportieren Sie ihre öffentlichen und geheimen SSH-Schlüssel zur " +"Hinterlegung in Schlüsseldateien." + +#. (itstool) path: page/title +#: C/ssh-export.page:24 +msgid "Export SSH keys" +msgstr "SSH-Schlüssel exportieren" + +#. (itstool) path: page/p +#: C/ssh-export.page:26 +msgid "" +"Export the contents of your SSH keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Exportieren Sie den Inhalt ihrer SSH-Schlüssel und speichern Sie diese in " +"Schlüsseldateien, um eine Sicherheitskopie Ihrer Schlüssel zu besitzen oder " +"um Ihren öffentlichen Schlüssel für andere Personen freizugeben." + +#. (itstool) path: section/title +#: C/ssh-export.page:30 +msgid "To export your public SSH key:" +msgstr "So exportieren Sie Ihren öffentlichen SSH-Schlüssel:" + +#. (itstool) path: item/p +#: C/ssh-export.page:34 C/ssh-export.page:57 +msgid "Select the OpenSSH keys keyring from the left side panel." +msgstr "" +"Wählen Sie den Schlüsselbund OpenSSH-Schlüssel in der linken " +"Seitenleiste." + +#. (itstool) path: item/p +#: C/ssh-export.page:38 C/ssh-export.page:61 +msgid "" +"Select the Personal SSH key, that has to be exported, from the " +"list." +msgstr "" +"Wählen Sie den geheimen SSH-Schlüssel in der Liste, welcher " +"exportiert werden soll." + +#. (itstool) path: item/p +#: C/ssh-export.page:45 +msgid "" +"Press the Export button to save the exported " +"public key on your computer." +msgstr "" +"Klicken Sie auf den Knopf Exportieren, um den " +"exportierten öffentlichen Schlüssel auf Ihrem Rechner zu speichern." + +#. (itstool) path: section/title +#: C/ssh-export.page:53 +msgid "To export your private SSH key:" +msgstr "So exportieren Sie Ihren geheimen SSH-Schlüssel:" + +#. (itstool) path: item/p +#: C/ssh-export.page:65 +msgid "" +"Right click on the selected key and select Properties." +msgstr "" +"Klicken Sie mit der rechten Maustaste auf den ausgewählten Schlüssel und " +"wählen Sie Eigenschaften." + +#. (itstool) path: item/p +#: C/ssh-export.page:69 +msgid "" +"Press the Export button to save the exported " +"private key on your computer." +msgstr "" +"Klicken Sie auf den Knopf Exportieren, um den " +"exportierten geheimen Schlüssel auf Ihrem Rechner zu speichern." + +#. (itstool) path: note/p +#: C/ssh-export.page:75 +msgid "" +"Keep the exported private key file in a safe location, since the contents of " +"the file must be kept private, to prevent misuse of your key." +msgstr "" +"Bewahren Sie die exportierte geheime Schlüsseldatei an einem sicheren Ort " +"auf, weil der Inhalt der Datei geheim bleiben muss, um Missbrauch Ihres " +"Schlüssels vorzubeugen." + +#. (itstool) path: info/desc +#: C/ssh-import.page:25 +msgid "Import SSH keys from keyfiles into Passwords and Keys." +msgstr "" +"Importieren Sie SSH-Schlüssel aus Schlüsseldateien in Passwörter und " +"Verschlüsselung." + +#. (itstool) path: page/title +#: C/ssh-import.page:28 +msgid "Import SSH keys" +msgstr "SSH-Schlüssel importieren" + +#. (itstool) path: page/p +#: C/ssh-import.page:30 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports SSH keys from the ~/.ssh directory on " +"your computer. You can also manually import keys into Passwords and " +"Keys." +msgstr "" +"Wenn Sie eine Schlüsseldatei per E-Mail erhalten haben, so bietet es sich " +"an, diese in Passwörter und Verschlüsselung zu importieren. In " +"den meisten Fällen importiert Passwörter und Verschlüsselung " +"automatisch SSH-Schlüssel aus dem Ordner ~/.ssh Ihres " +"Rechners. Sie können aber natürlich auch manuell Schlüssel in " +"Passwörter und Verschlüsselung importieren." + +#. (itstool) path: item/p +#: C/ssh-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. Public SSH keys end " +"with .pub." +msgstr "" +"Wählen Sie im neuen Dialog den Schlüssel, welchen Sie importieren wollen. " +"Öffentliche SSH-Schlüssel haben die Dateiendung .pub." + +#. (itstool) path: page/p +#: C/ssh-import.page:53 +msgid "" +"Imported keys are automatically grouped according to their type. So, " +"SSH keys are listed in the OpenSSH keys section." +msgstr "" +"Importierte Schlüssel werden automatisch anhand ihres Typs gruppiert. " +"SSH-Schlüssel werden demnach im Abschnitt OpenSSH-" +"Schlüssel aufgelistet." + +#. (itstool) path: info/desc +#: C/subkeys-add.page:20 +msgid "Additional subkeys make your master key more secure." +msgstr "Zusätzliche Unterschlüssel machen Ihren Hauptschlüssel sicherer." + +#. (itstool) path: page/title +#: C/subkeys-add.page:23 +msgid "Add extra subkeys" +msgstr "Weitere Unterschlüssel hinzufügen" + +#. (itstool) path: page/p +#: C/subkeys-add.page:25 +msgid "" +"You can add extra subkeys to the same master key. You have to choose the " +"right subkey each time you want to encrypt or sign when you do this." +msgstr "" +"Sie können demselben Hauptschlüssel zusätzliche Unterschlüssel hinzufügen. " +"Sie müssen dann jedes Mal den richtigen Unterschlüssel beim Verschlüsseln " +"oder Signieren auswählen." + +#. (itstool) path: steps/title +#: C/subkeys-add.page:29 +msgid "To add extra subkeys to a PGP key:" +msgstr "So fügen Sie einem PGP-Schlüssel zusätzliche Unterschlüssel hinzu:" + +#. (itstool) path: item/p +#: C/subkeys-add.page:41 C/subkeys-examine.page:41 +msgid "If the Subkeys panel is not expanded, expand it." +msgstr "Klappen Sie gegebenenfalls die Leiste Unterschlüssel aus." + +#. (itstool) path: item/p +#: C/subkeys-add.page:44 +msgid "Click the Add button to add a new subkey." +msgstr "" +"Klicken Sie auf den Knopf Hinzufügen, um einen " +"neuen Unterschlüssel hinzuzufügen." + +#. (itstool) path: item/p +#: C/subkeys-add.page:48 +msgid "" +"Choose the right properties for your key by selecting the appropriate " +"Key Type, Key Length and Expiration Date " +"and click OK." +msgstr "" +"Wählen Sie die richtigen Eigenschaften für Ihren Schlüssel aus, indem Sie " +"passend Schlüsseltyp, Schlüssellänge und " +"Ablaufdatum wählen. Klicken Sie anschließend auf OK." + +#. (itstool) path: note/p +#: C/subkeys-add.page:55 +msgid "" +"Always ensure that your subkey expires before your master key since a subkey " +"is useless when its master key has expired." +msgstr "" +"Stellen Sie stets sicher, dass Ihr Unterschlüssel vor Ihrem Hauptschlüssel " +"abläuft, weil ein Unterschlüssel mit abgelaufenem Hauptschlüssel nutzlos ist." + +#. (itstool) path: info/desc +#: C/subkeys-examine.page:20 +msgid "See all the subkeys listed under a PGP key." +msgstr "Lassen Sie alle Unterschlüssel eines PGP-Schlüssels anzeigen." + +#. (itstool) path: page/title +#: C/subkeys-examine.page:23 +msgid "Where are my subkeys listed?" +msgstr "Wo werden die Unterschlüssel aufgelistet?" + +#. (itstool) path: page/p +#: C/subkeys-examine.page:25 +msgid "" +"You can check the contents of a keypair to see the properties of a subkey." +msgstr "" +"Prüfen Sie den Inhalt eines Schlüsselpaars, um die Eigenschaften eines " +"Unterschlüssels anzusehen." + +#. (itstool) path: steps/title +#: C/subkeys-examine.page:29 +msgid "To see all the subkeys in a PGP key:" +msgstr "So sehen Sie alle Unterschlüssel in einem PGP-Schlüssel:" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:31 +msgid "Select the GnuPG keys from the left side panel." +msgstr "Wählen Sie die GnuPG-Schlüssel aus dem linken Bereich." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:34 +msgid "Select the Personal PGP key." +msgstr "Wählen Sie die Liste Geheimer PGP-Schlüssel." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:37 +msgid "" +"Right click on the key chosen in the previous step and select " +"PropertiesDetails." +msgstr "" +"Klicken Sie mit der rechten Maustaste auf den im vorherigen Schritt " +"gewählten Schlüssel und wählen Sie EigenschaftenDetails." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:44 +msgid "All the subkeys for the selected PGP key will be listed in the panel." +msgstr "" +"Daraufhin werden alle Unterschlüssel des gewählten PGP-Schlüssels in der " +"Leiste aufgelistet." + +#. (itstool) path: note/p +#: C/subkeys-examine.page:50 +msgid "" +"While signing another key, Passwords and Keys automatically " +"chooses the master key for signing, when you select a GnuPG keys " +"keypair to sign with." +msgstr "" +"Beim Signieren eines anderen Schlüssels wählt Passwörter und " +"Verschlüsselung automatisch den Hauptschlüssel zum Signieren aus, wenn " +"Sie mit einem GnuPG-Schlüssel-Paar signieren." + +#. (itstool) path: info/desc +#: C/subkeys-revoke.page:20 +msgid "Revoke a subkey that has been compromised or is not being used." +msgstr "" +"Einen unsicheren oder nicht mehr verwendeten Unterschlüssel widerrufen." + +#. (itstool) path: page/title +#: C/subkeys-revoke.page:24 +msgid "Revoke your subkeys" +msgstr "Ihre Unterschlüssel zurückziehen" + +#. (itstool) path: page/p +#: C/subkeys-revoke.page:26 +msgid "" +"If your subkey has been compromised or is no longer in use, it might be a " +"good idea to revoke it to prevent misuse of the key." +msgstr "" +"Wenn Ihr Unterschlüssel unsicher wurde oder nicht mehr eingesetzt wird, ist " +"es sinnvoll, diesen zu widerrufen. So beugen Sie einem Missbrauch des " +"Schlüssels vor." + +#. (itstool) path: steps/title +#: C/subkeys-revoke.page:30 +msgid "To revoke a subkey:" +msgstr "So ziehen Sie einen Unterschlüssel zurück:" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:32 +msgid "" +"Navigate to the Subkeys " +"panel." +msgstr "" +"Wechseln Sie in die Seitenleiste " +"Unterschlüssel." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:47 +msgid "" +"Select the subkey from the list and press the Revoke button." +msgstr "" +"Wählen Sie den Unterschlüssel aus der Liste und klicken Sie auf den Knopf " +"Widerrufen." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:51 +msgid "" +"In the new dialog, select a reason for revoking the key. Optionally, " +"describe your reason in more detail in the Description field." +msgstr "" +"Wählen Sie im neuen Dialog den Grund für den Widerruf des Schlüssels aus. " +"Beschreiben Sie gegebenenfalls den Grund detaillierter im Feld " +"Beschreibung." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:56 +msgid "Press the Revoke button." +msgstr "Klicken Sie auf den Knopf Widerrufen." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:59 +msgid "You will have to unlock the key with its passphrase." +msgstr "Sie müssen den Schlüssel mit dem zugehörigen Passwort entsperren." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:62 +msgid "" +"The Status of the subkey changes to Revoked in the " +"Subkeys panel." +msgstr "" +"Der Status der Unterschlüssel ändert sich zu Widerrufen in der Leiste Unterschlüssel." + +#. (itstool) path: note/p +#: C/subkeys-revoke.page:68 +msgid "" +"If you have published your subkey, you " +"must synchronize it with the key servers " +"after revoking it to apply the revocation on all copies of the key." +msgstr "" +"Wenn Sie Ihren Unterschlüssel veröffentlicht haben, so müssen Sie nach dem Widerrruf diesen mit den Schlüssel-" +"Servern abgleichen, um den Widerruf für alle " +"Kopien des Schlüssels umzusetzen." + +#~ msgid "hkp://pool.sks-keyservers.net" +#~ msgstr "hkp://pool.sks-keyservers.net" + +#~ msgid "" +#~ "Select Edit Preferences" +#~ msgstr "" +#~ "Wählen Sie BearbeitenEinstellungen." + +#~ msgid "" +#~ "Select View By " +#~ "keyring." +#~ msgstr "" +#~ "Wählen Sie Ansicht Nach Schlüsselbund." + +#~ msgid "" +#~ "Expand the Passwords panel, if necessary, and tick the Show password checkbox to view the password." +#~ msgstr "" +#~ "Falls notwendig, erweitern Sie die Passwörter-Leiste und " +#~ "aktivieren Sie das Ankreuzfeld Passwort anzeigen, um das Passwort zu sehen." + +#~ msgid "" +#~ "Select the key. (You may need to show all keys, with ViewShow any )" +#~ msgstr "" +#~ "Wählen Sie den Schlüssel. (Sie müssen mit AnsichtAlle anzeigen " +#~ "gegebenenfalls alle Schlüssel anzeigen lassen)" + +#~ msgid "" +#~ "Right click, and choose Delete. Alternatively you can also " +#~ "select Edit Delete to delete the key." +#~ msgstr "" +#~ "Klicken Sie mit der rechten Maustaste und wählen Sie Löschen. " +#~ "Alternativ können Sie zum Löschen des Schlüssels auch BearbeitenLöschen " +#~ "wählen." + +#~ msgid "" +#~ "Select Remote Find Remote Keys…." +#~ msgstr "" +#~ "Wählen Sie EntferntEntfernte Schlüssel suchen …." + +#~ msgid "" +#~ "If you cannot see the retrieved key, please select ViewShow any." +#~ msgstr "" +#~ "Wenn Sie den abgerufenen Schlüssel nicht sehen, so wählen Sie " +#~ "AnsichtAlle anzeigen." diff --git a/help/el/el.po b/help/el/el.po new file mode 100644 index 00000000..f7b19125 --- /dev/null +++ b/help/el/el.po @@ -0,0 +1,3466 @@ +# Greek translation for seahorse. +# Copyright (C) 2014 seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# Dimitris Spingos , 2014. +# Dimitris Spingos (Δημήτρης Σπίγγος) , 2014, 2015. +# Efstathios Iosifidis , 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"POT-Creation-Date: 2016-03-01 02:37+0000\n" +"PO-Revision-Date: 2016-03-01 16:08+0200\n" +"Last-Translator: Efstathios Iosifidis \n" +"Language-Team: Greek, Modern (1453-) \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 2.91.7\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "" +"Ελληνική μεταφραστική ομάδα του GNOME , 2014\n" +" Δημήτρης Σπίγγος , 2014, 2015" + +#. (itstool) path: credit/name +#: C/about-diff-private-public.page:14 C/about-ssh.page:13 C/concepts.page:14 +#: C/index.page:13 C/introduction.page:15 C/keyring-create.page:25 +#: C/keyring.page:15 C/pgp-create.page:15 C/pgp-import.page:20 +#: C/ssh-connect-remote.page:14 C/ssh-create.page:15 C/ssh-import.page:19 +msgid "Jim Campbell" +msgstr "Jim Campbell" + +#. (itstool) path: credit/years +#: C/about-diff-private-public.page:16 C/about-pgp.page:17 C/about-ssh.page:15 +#: C/glossary.page:17 C/index.page:15 C/index.page:20 C/index.page:25 +#: C/introduction.page:17 C/introduction.page:23 C/key-servers-add.page:18 +#: C/keyring-change-default.page:16 C/keyring-create.page:17 +#: C/keyring-create.page:22 C/keyring-lock.page:17 C/keyring-unlock.page:17 +#: C/keyring-update-password.page:17 C/keyring.page:17 C/keyring.page:22 +#: C/keyring.page:27 C/misc-key-backup.page:17 C/misc-key-fingerprint.page:16 +#: C/passwords-stored-create.page:15 C/passwords-view.page:17 +#: C/pgp-create.page:17 C/pgp-create.page:23 C/pgp-delete.page:17 +#: C/pgp-expiration-change.page:16 C/pgp-expired.page:17 C/pgp-export.page:16 +#: C/pgp-import.page:17 C/pgp-import.page:22 C/pgp-photoid.page:17 +#: C/pgp-publish.page:17 C/pgp-retrieve-remote.page:17 C/pgp-sign.page:16 +#: C/pgp-subkeys.page:16 C/pgp-sync.page:17 C/pgp-userid-add.page:17 +#: C/pgp-userid-primary.page:16 C/pgp-userid-remove.page:17 +#: C/pgp-userid.page:16 C/ssh-create.page:17 C/ssh-export.page:16 +#: C/ssh-import.page:16 C/ssh-import.page:21 C/subkeys-add.page:17 +#: C/subkeys-examine.page:17 C/subkeys-revoke.page:17 +msgid "2013" +msgstr "2013" + +#. (itstool) path: info/desc +#: C/about-diff-private-public.page:19 +msgid "" +"A public key is used to encrypt communication. A private key is used to " +"decrypt it." +msgstr "" +"Ένα δημόσιο κλειδί χρησιμοποιείται για κρυπτογράφηση της επικοινωνίας. Ένα " +"ιδιωτικό κλειδί χρησιμοποιείται για αποκρυπτογράφησή της." + +#. (itstool) path: page/title +#: C/about-diff-private-public.page:23 +msgid "Public Key vs Private Key" +msgstr "Δημόσιο κλειδί - Ιδιωτικό κλειδί" + +#. (itstool) path: page/p +#: C/about-diff-private-public.page:25 +msgid "" +"Although Public Keys and Private Keys are both referred to " +"as keys, it helps to think of them a bit differently. Try to think " +"of a Public Key as being like a padlock, and a Private Key " +"as being like a key that unlocks the padlock." +msgstr "" +"Αν και τα Δημόσια κλειδιά και τα Ιδιωτικά κλειδιά " +"αναφέρονται και τα δύο ως κλειδιά, βοηθά να τα σκεφτείτε ως λίγο " +"διαφορετικά. Προσπαθήστε να σκεφτείτε ένα Δημόσιο κλειδί ότι είναι " +"σαν ένα λουκέτο και ότι ένα Ιδιωτικό κλειδί ότι είναι σαν ένα " +"κλειδί που ξεκλειδώνει το λουκέτο." + +#. (itstool) path: section/title +#: C/about-diff-private-public.page:31 +msgid "An Example: Sending a Secret Message in a Box" +msgstr "" +"Ένα παράδειγμα: Αποστολή ενός απόρρητου μηνύματος σε ένα γραμματοκιβώτιο." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:33 +msgid "" +"Let's use an example to see how this works. Imagine that you want your " +"friend to send you a secret message in a box. You could give your friend a " +"box and a padlock, but only you would have the key that unlocks the padlock." +msgstr "" +"Ας χρησιμοποιήσουμε ένα παράδειγμα για να δείτε πώς δουλεύει αυτό. Θεωρήστε " +"ότι θέλετε ο φίλος σας να σας στείλει ένα απόρρητο μήνυμα στην " +"γραμματοκιβώτιο σας. Μπορείτε να δώσετε στον φίλο σας ένα γραμματοκιβώτιο " +"και ένα λουκέτο, αλλά μόνο εσείς έχετε το κλειδί που ξεκλειδώνει το λουκέτο. " + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:38 +msgid "" +"Your friend could put their message in the box, lock the padlock, and then " +"send you the locked box in the mail. When you receive it, you would use your " +"key to unlock the box." +msgstr "" +"Ο φίλος σας μπορεί να βάλει το μήνυμα στο γραμματοκιβώτιο, να κλειδώσει το " +"λουκέτο και έπειτα να σας στείλει το κλειδωμένο γραμματοκιβώτιο στην " +"αλληλογραφία. Όταν το δεχτείτε, μπορείτε να χρησιμοποιήσετε το κλειδί σας " +"για να ξεκλειδώσετε το γραμματοκιβώτιο." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:42 +msgid "" +"This is similar to how a Public Key and a Private Key " +"work. Like the padlock, you can freely give out your Public Key. " +"This will make it easy for anyone to securely encrypt, or lock, a message " +"that they want to send to you." +msgstr "" +"Αυτό είναι παρόμοιο με το πώς ένα Δημόσιο κλειδί και ένα " +"Ιδιωτικό κλειδί δουλεύουν. Όπως το λουκέτο, μπορείτε να δώσετε " +"ελεύθερα το Δημόσιο κλειδί σας. Αυτό διευκολύνει οποιονδήποτε να " +"κρυπτογραφήσει με ασφάλεια, ή να κλειδώσει, ένα μήνυμα που θέλει να στείλει " +"σε σας." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:47 +msgid "" +"On the other hand, a Private Key is like the key that allows you to " +"decrypt, or unlock, the padlock. Because the Private Key is used to " +"decrypt secure messages, you will want to keep your Private Key " +"safe." +msgstr "" +"Αφ' ετέρου, ένα Ιδιωτικό κλειδί είναι σαν το κλειδί που σας " +"επιτρέπει να το αποκρυπτογραφήσετε, ή να ξεκλειδώσετε το λουκέτο. Επειδή το " +"Ιδιωτικό κλειδί χρησιμοποιείται για αποκρυπτογράφηση ασφαλών " +"μηνυμάτων, θα θέλετε να διατηρείτε το Ιδιωτικό κλειδί σας ασφαλές." + +#. (itstool) path: credit/name +#: C/about-pgp.page:15 C/glossary.page:15 C/index.page:18 +#: C/introduction.page:21 C/key-servers-add.page:16 +#: C/keyring-change-default.page:14 C/keyring-create.page:15 +#: C/keyring-lock.page:15 C/keyring-unlock.page:15 +#: C/keyring-update-password.page:15 C/keyring.page:20 +#: C/misc-key-backup.page:15 C/misc-key-fingerprint.page:14 +#: C/passwords-stored-create.page:13 C/passwords-view.page:15 +#: C/pgp-create.page:21 C/pgp-delete.page:15 C/pgp-expiration-change.page:14 +#: C/pgp-expired.page:15 C/pgp-export.page:14 C/pgp-import.page:15 +#: C/pgp-photoid.page:15 C/pgp-sign.page:14 C/pgp-subkeys.page:14 +#: C/pgp-sync.page:15 C/pgp-userid-add.page:15 C/pgp-userid-primary.page:14 +#: C/pgp-userid-remove.page:15 C/pgp-userid.page:14 +#: C/ssh-connect-remote.page:19 C/ssh-export.page:14 C/ssh-import.page:14 +#: C/subkeys-add.page:15 C/subkeys-examine.page:15 C/subkeys-revoke.page:15 +msgid "Aruna Sankaranarayanan" +msgstr "Aruna Sankaranarayanan" + +#. (itstool) path: info/desc +#: C/about-pgp.page:20 +msgid "PGP keys are used to sign and encrypt emails and files." +msgstr "" +"Τα κλειδιά PGP χρησιμοποιούνται για να υπογράψετε και να κρυπτογραφήσετε " +"μηνύματα και αρχεία." + +#. (itstool) path: page/title +#: C/about-pgp.page:23 +msgid "What is a PGP key?" +msgstr "Τι είναι ένα κλειδί PGP;" + +#. (itstool) path: page/p +#: C/about-pgp.page:25 +msgid "" +"A PGP key is a public encryption key. A PGP key can be used to sign and " +"encrypt emails and files. When you create a PGP key, a keypair having a " +"public key and a private key is generated. You can share the public key with " +"anyone who wishes to send you encrypted messages or files, but the private " +"key must be known only to you and used to decrypt received messages." +msgstr "" +"Ένα κλειδί PGP είναι ένα δημόσιο κλειδί κρυπτογράφησης. Ένα κλειδί PGP " +"μπορεί να χρησιμοποιηθεί για να υπογράφετε και να κρυπτογραφείτε μηνύματα " +"και αρχεία. Όταν δημιουργείτε ένα κλειδί PGP, ένα ζεύγος κλειδιών " +"δημιουργείται που έχει ένα δημόσιο και ένα ιδιωτικό κλειδί. Μπορείτε να " +"μοιραστείτε το δημόσιο κλειδί με οποιονδήποτε επιθυμεί να σας στείλει " +"κρυπτογραφημένα μηνύματα ή αρχεία, αλλά το ιδιωτικό κλειδί πρέπει να είναι " +"γνωστό μόνο σε σας και να χρησιμοποιηθεί για να αποκρυπτογραφήσετε τα " +"μηνύματα που δέχεστε." + +#. (itstool) path: section/title +#: C/about-pgp.page:32 +msgid "Encrypt and sign data using PGP keys" +msgstr "Κρυπτογράφηση και υπογραφή δεδομένων χρησιμοποιώντας κλειδιά PGP" + +#. (itstool) path: section/p +#: C/about-pgp.page:34 +msgid "" +"Passwords and Keys is a key management application. Though it " +"cannot be used to encrypt or sign files and messages, you can use it to " +"sign trustworthy keys." +msgstr "" +"Το Κωδικοί πρόσβασης και κλειδιά είναι μια βασική εφαρμογή " +"διαχείρισης. Αν και δεν μπορεί να χρησιμοποιηθεί για κρυπτογράφηση ή " +"υπογραφή αρχείων και μηνυμάτων, μπορείτε να το χρησιμοποιήσετε για να υπογράψετε αξιόπιστα κλειδιά." + +#. (itstool) path: section/p +#: C/about-pgp.page:38 +msgid "" +"To secure your communication, you can use email clients like Evolution that provide encryption and signing services." +msgstr "" +"Για να ασφαλίσετε την επικοινωνία σας, μπορείτε να χρησιμοποιήσετε πελάτες " +"αλληλογραφίας όπως το Evolution που παρέχει υπηρεσίες κρυπτογράφησης και " +"υπογραφής." + +#. (itstool) path: info/desc +#: C/about-ssh.page:18 +msgid "" +"SSH keys are used to login to a remote computer, once a secure connection " +"has been established." +msgstr "" +"Τα κλειδιά SSH χρησιμοποιούνται για σύνδεση σε έναν απομακρυσμένο " +"υπολογιστή, μόλις επιτευχθεί μιας ασφαλής σύνδεση." + +#. (itstool) path: page/title +#: C/about-ssh.page:22 +msgid "What is a Secure Shell key?" +msgstr "Τι είναι ένα ασφαλές κλειδί κελύφους;" + +#. (itstool) path: page/p +#: C/about-ssh.page:24 +msgid "" +"A Secure Shell key, often just called an SSH key, helps " +"you create a secure connection over an unsecured network." +msgstr "" +"Ένα Ασφαλές κλειδί κελύφους, ονομάζεται συχνά απλώς κλειδί SSH, σας βοηθά να δημιουργήσετε μια ασφαλή σύνδεση μέσα από ένα επισφαλές " +"δίκτυο." + +#. (itstool) path: list/title +#: C/about-ssh.page:28 +msgid "An SSH key actually consists of two parts:" +msgstr "Ένα κλειδί SSH στην πραγματικότητα αποτελείται από δύο τμήματα:" + +#. (itstool) path: item/p +#: C/about-ssh.page:29 +msgid "A public key, which is widely available." +msgstr "Ένα δημόσιο κλειδί, που είναι πλατιά διαθέσιμο." + +#. (itstool) path: item/p +#: C/about-ssh.page:30 +msgid "" +"A private key, which is kept secret. The private key is used to unlock " +"messages encrypted with a corresponding public key." +msgstr "" +"Ένα ιδιωτικό κλειδί, που κρατιέται μυστικό. Τι ιδιωτικό κλειδί " +"χρησιμοποιείται για το ξεκλείδωμα κρυπτογραφημένων μηνυμάτων με ένα " +"αντίστοιχο δημόσιο κλειδί." + +#. (itstool) path: page/p +#: C/about-ssh.page:34 +msgid "" +"The advantage of using an SSH key to create a connection between " +"computers is that only the Public key needs to be sent over the " +"network. Transmissions encrypted with a Public key can only be " +"decoded by unlocking them with the corresponding Private key and a " +"password. Because only the public key is sent over the network, the key's " +"password is kept secret." +msgstr "" +"Το πλεονέκτημα της χρήσης ενός κλειδιού SSH στη δημιουργία μιας " +"σύνδεσης μεταξύ υπολογιστών είναι ότι μόνο το Δημόσιο κλειδί " +"χρειάζεται να σταλεί μέσω του δικτύου. Οι κρυπτογραφημένες μεταδόσεις με ένα " +"Δημόσιο κλειδί μπορούν να αποκωδικοποιηθούν μόνο με ξεκλείδωμά τους " +"με το αντίστοιχο Ιδιωτικό κλειδί και έναν κωδικό πρόσβασης. Επειδή " +"μόνο το δημόσιο κλειδί στάλθηκε μέσω του δικτύου, ο κωδικός πρόσβασης του " +"κλειδιού κρατιέται μυστικός." + +#. (itstool) path: credit/years +#: C/concepts.page:16 C/key-servers-add.page:23 C/keyring-create.page:27 +#: C/misc-key-backup.page:23 C/passwords-view.page:23 C/pgp-create.page:29 +#: C/pgp-delete.page:23 C/ssh-create.page:22 C/ssh-create.page:27 +msgid "2014" +msgstr "2014" + +#. (itstool) path: info/desc +#: C/concepts.page:19 +msgid "" +"Learn terms and concepts that are relevant to managing passwords and keys." +msgstr "" +"Εκμάθηση όρων και εννοιών που είναι σχετικές με τη διαχείριση κωδικών " +"πρόσβασης και κλειδιών." + +#. (itstool) path: page/title +#: C/concepts.page:23 +msgid "Key Concepts and Terms" +msgstr "Βασικές έννοιες και όροι" + +#. (itstool) path: info/desc +#: C/glossary.page:20 +msgid "A list of basic terms used." +msgstr "Ένας κατάλογος των βασικών χρησιμοποιούμενων όρων." + +#. (itstool) path: page/title +#: C/glossary.page:23 +msgid "Glossary" +msgstr "Γλωσσάρι" + +#. (itstool) path: page/p +#: C/glossary.page:25 +msgid "" +"Passwords and Keys helps you to generate and manage tokens that " +"can be used to protect your files and communication. Here are some basic " +"terms that you will encounter while reading this help:" +msgstr "" +"Το κωδικοί πρόσβασης και κλειδιά σας βοηθούν να δημιουργήσετε και " +"να διαχειριστείτε διακριτικά που μπορούν να χρησιμοποιηθούν για να " +"προστατεύσετε τα αρχεία σας και την επικοινωνία σας. Ιδού μερικοί βασικοί " +"όροι που θα συναντήσετε ενώ διαβάζετε αυτή τη βοήθεια:" + +#. (itstool) path: item/title +#: C/glossary.page:31 +msgid "Encryption" +msgstr "Κρυπτογράφηση" + +#. (itstool) path: item/p +#: C/glossary.page:32 +msgid "" +"Encryption is the process of making your important files and data unreadable " +"to anyone but the intended recipient. When you encrypt your data, it becomes " +"a scrambled sequence of numbers and letters. Encryption is done by someone " +"who is sending a protected file, or sending a message in a protected " +"conversation." +msgstr "" +"Κρυπτογράφηση είναι η διεργασία που κάνει τα σημαντικά σας αρχεία και " +"δεδομένα μη αναγνώσιμα σε οποιονδήποτε εκτός από τον προοριζόμενο αποδέκτη. " +"Όταν κρυπτογραφείτε τα δεδομένα σας, γίνονται μια κωδικοποιημένη σειρά " +"αριθμών και γραμμάτων. Η κρυπτογράφηση γίνεται από κάποιον που στέλνει ένα " +"προστατευμένο αρχείο ή ένα μήνυμα σε μια προστατευμένη συνομιλία." + +#. (itstool) path: item/title +#: C/glossary.page:39 +msgid "Algorithm" +msgstr "Αλγόριθμος" + +#. (itstool) path: item/p +#: C/glossary.page:40 +msgid "" +"An algorithm is a sequence of steps used to encrypt or decrypt your data." +msgstr "" +"Ένας αλγόριθμος είναι μια σειρά βημάτων που χρησιμοποιούνται για " +"κρυπτογράφηση ή αποκρυπτογράφηση των δεδομένων σας." + +#. (itstool) path: item/title +#: C/glossary.page:44 +msgid "Decryption" +msgstr "Αποκρυπτογράφηση" + +#. (itstool) path: item/p +#: C/glossary.page:45 +msgid "" +"Decryption is the process of retrieving the original text from the encrypted " +"message or file. It is done by the receiver of the protected file or " +"communication. Encrypted messages cannot be understood without decrypting " +"them first." +msgstr "" +"Αποκρυπτογράφηση είναι η διεργασία ανάκτησης του αρχικού κειμένου από το " +"κρυπτογραφημένο μήνυμα ή αρχείο. Γίνεται από τον δέκτη του προστατευμένου " +"αρχείου ή της επικοινωνίας. Τα κρυπτογραφημένα μηνύματα δεν μπορούν να " +"γίνουν κατανοητά χωρίς προηγούμενη αποκρυπτογράφησή τους." + +#. (itstool) path: item/title +#: C/glossary.page:51 +msgid "Plaintext" +msgstr "Απλό κείμενο" + +#. (itstool) path: item/p +#: C/glossary.page:52 +msgid "" +"Any data or file that is not encrypted, and can therefore be read by anyone " +"who can access it, is called plaintext." +msgstr "" +"Κάθε δεδομένο ή αρχείο που δεν είναι κρυπτογραφημένο και μπορεί συνεπώς να " +"διαβαστεί από οποιονδήποτε που μπορεί να το προσπελάσει, λέγεται απλό " +"κείμενο." + +#. (itstool) path: item/title +#: C/glossary.page:56 +msgid "Key" +msgstr "Κλειδί" + +#. (itstool) path: item/p +#: C/glossary.page:57 +msgid "" +"A key is used to encrypt and decrypt files and communication. A key may also " +"be used to login to a remote computer. Some types of keys are PGP keys and SSH " +"keys." +msgstr "" +"Ένα κλειδί χρησιμοποιείται για κρυπτογράφηση και αποκρυπτογράφηση αρχείων " +"και επικοινωνιών. Ένα κλειδί μπορεί επίσης να χρησιμοποιηθεί για να συνδεθεί " +"με έναν απομακρυσμένο υπολογιστή. Κάποιοι τύποι κλειδιών είναι κλειδιά PGP και κλειδιά SSH." + +#. (itstool) path: item/title +#: C/glossary.page:63 +msgid "Keyring" +msgstr "Κλειδοθήκη" + +#. (itstool) path: item/p +#: C/glossary.page:64 +msgid "A keyring is a collection of passwords or keys." +msgstr "Μια κλειδοθήκη είναι μια συλλογή κωδικών πρόσβασης ή κλειδιών." + +#. (itstool) path: info/title +#: C/index.page:7 +msgctxt "link" +msgid "Passwords and Keys" +msgstr "Κωδικοί πρόσβασης και κλειδιά" + +#. (itstool) path: info/title +#: C/index.page:8 +msgctxt "text" +msgid "Passwords and Keys" +msgstr "Κωδικοί πρόσβασης και κλειδιά" + +#. (itstool) path: credit/name +#: C/index.page:23 C/keyring-create.page:20 C/keyring.page:25 +#: C/ssh-create.page:25 +msgid "Ekaterina Gerasimova" +msgstr "Ekaterina Gerasimova" + +#. (itstool) path: info/desc +#: C/index.page:30 +msgid "" +"Use Passwords and Keys to remember your passwords, and to create " +"and manage PGP and SSH keys." +msgstr "" +"Χρησιμοποιήστε το Κωδικοί πρόσβασης και κλειδιά για να θυμόσαστε " +"τους κωδικούς πρόσβασής σας και να δημιουργείτε και να διαχειρίζεστε κλειδιά " +"PGP και SSH." + +#. (itstool) path: page/title +#: C/index.page:33 +msgid "<_:media-1/> Passwords and Keys" +msgstr "<_:media-1/> Κωδικοί πρόσβασης και κλειδιά" + +#. (itstool) path: section/title +#: C/index.page:39 +msgid "SSH Keys" +msgstr "Κλειδιά SSH" + +#. (itstool) path: section/title +#: C/index.page:44 +msgid "PGP keys" +msgstr "Κλειδιά PGP" + +#. (itstool) path: section/title +#: C/index.page:49 +msgid "Stored passwords and password keyrings" +msgstr "Αποθηκευμένοι κωδικοί πρόσβασης και κλειδοθήκες κωδικών πρόσβασης" + +#. (itstool) path: info/desc +#: C/introduction.page:26 +msgid "" +"Use Passwords and Keys to create and manage PGP and SSH keys and " +"to save passwords that are difficult to remember." +msgstr "" +"Χρησιμοποιήστε το Κωδικοί πρόσβασης και κλειδιά για να " +"δημιουργήσετε και να διαχειριστείτε τα κλειδιά PGP και SSH και για να " +"αποθηκεύσετε κωδικούς πρόσβασης που είναι δύσκολο να απομνημονεύσετε." + +#. (itstool) path: page/title +#: C/introduction.page:30 +msgid "Introduction" +msgstr "Εισαγωγή" + +#. (itstool) path: page/p +#: C/introduction.page:32 +msgid "" +"Welcome to the Passwords and Keys help guide. Passwords and " +"Keys creates and stores security tokens, helping to keep your " +"information secure on your computer, and secure when you send information " +"over a network." +msgstr "" +"Καλώς ορίσατε στον οδηγό της βοήθειας Κωδικοί πρόσβασης και κλειδιά. Το Κωδικοί πρόσβασης και κλειδιά δημιουργεί και αποθηκεύει " +"διακριτικά ασφάλειας, βοηθώντας να κρατήσετε τις πληροφορίες σας ασφαλείς " +"στον υπολογιστή σας και να τις ασφαλίσετε όταν στέλνετε πληροφορίες μέσα από " +"το δίκτυο." + +#. (itstool) path: page/p +#: C/introduction.page:36 +msgid "Using Passwords and Keys, you can:" +msgstr "Χρησιμοποιώντας το Κωδικοί πρόσβασης και κλειδιά, μπορείτε:" + +#. (itstool) path: item/p +#: C/introduction.page:40 +msgid "" +"Copy and save passwords that " +"are difficult to remember. To group related passwords, create keyrings." +msgstr "" +"Να αντιγράψετε και να αποθηκεύσετε κωδικούς πρόσβασης που είναι δύσκολοι να θυμόσαστε. Για να " +"ομαδοποιήσετε σχετικούς κωδικούς πρόσβασης, δημιουργήστε κλειδοθήκες." + +#. (itstool) path: item/p +#: C/introduction.page:45 +msgid "" +"Create and manage PGP keys." +msgstr "" +"Δημιουργία και διαχείριση κλειδιών PGP." + +#. (itstool) path: item/p +#: C/introduction.page:49 +msgid "" +"Create and manage SSH keys." +msgstr "" +"Δημιουργία και διαχείριση κλειδιών SSH." + +#. (itstool) path: credit/name +#: C/key-servers-add.page:21 C/misc-key-backup.page:21 C/passwords-view.page:21 +#: C/pgp-create.page:27 C/pgp-delete.page:21 C/ssh-create.page:20 +msgid "Hashem Nasarat" +msgstr "Hashem Nasarat" + +#. (itstool) path: info/desc +#: C/key-servers-add.page:26 +msgid "" +"Make additions to the list of keyservers in Passwords and Keys" +msgstr "" +"Κάντε αλλαγές στον κατάλογο των διακομιστών κλειδιών στο Κωδικοί " +"πρόσβασης και κλειδιά" + +#. (itstool) path: page/title +#: C/key-servers-add.page:30 +msgid "Add a keyserver" +msgstr "Προσθέστε ένα διακομιστή κλειδιών" + +#. (itstool) path: page/p +#: C/key-servers-add.page:31 +msgid "" +"Passwords and Keys have the following keyservers listed by " +"default:" +msgstr "" +"Το Κωδικοί πρόσβασης και κλειδιά έχουν τους παρακάτω διακομιστές " +"κλειδιών καταχωρισμένους από προεπιλογή:" + +#. (itstool) path: item/p +#: C/key-servers-add.page:35 +msgid "hkp://pool.sks-keyservers.net" +msgstr "hkp://pool.sks-keyservers.net" + +#. (itstool) path: item/p +#: C/key-servers-add.page:38 +msgid "ldap://keyserver.pgp.com" +msgstr "ldap://keyserver.pgp.com" + +#. (itstool) path: steps/title +#: C/key-servers-add.page:43 +msgid "To add a keyserver" +msgstr "Για να προσθέσετε ένα διακομιστή κλειδιών" + +#. (itstool) path: item/p +#: C/key-servers-add.page:45 +msgid "" +"Select Edit Preferences" +msgstr "" +"Επιλέξτε Επεξεργασία Προτιμήσεις" + +#. (itstool) path: item/p +#: C/key-servers-add.page:49 +msgid "Press the Add button." +msgstr "Πατήστε το πλήκτρο Προσθήκη." + +#. (itstool) path: item/p +#: C/key-servers-add.page:52 +msgid "" +"In the new dialog, select the appropriate Key Server Type. Key " +"servers are identified by the protocol they use to communicate. Look for the " +"first few letters in the Internet URL of your key server to identify its " +"type." +msgstr "" +"Στον νέο διάλογο, επιλέξτε τον κατάλληλο Τύπο διακομιστή κλειδιών. Οι διακομιστές κλειδιών αναγνωρίζονται από το πρωτόκολλο που " +"χρησιμοποιούν για επικοινωνία. Αναζητήστε τα πρώτα λίγα γράμματα στο URL του " +"διαδικτύου του διακομιστή κλειδιού για να ταυτοποιήσετε τον τύπο του." + +#. (itstool) path: item/p +#: C/key-servers-add.page:58 +msgid "" +"In the Host field, paste the Internet URL of your " +"key server. Consult the documentation for the key server you're adding to " +"see if it operates on a non-standard port. If so, enter the port after the " +"':'. If you're unsure, leave the text box after the ':' blank." +msgstr "" +"Στο πεδίο Κεντρικός υπολογιστής, επικολλήστε τη " +"διεύθυνση διαδικτύου του διακομιστή κλειδιών σας. Συμβουλευτείτε την " +"τεκμηρίωση για τον διακομιστή κλειδιών που προσθέτετε για να δείτε αν " +"λειτουργεί σε μια μη τυπική θύρα. Αν συμβαίνει αυτό, εισάγετε τη θύρα μετά " +"το ':'. Αν δεν είσαστε βέβαιος, αφήστε το πλαίσιο κειμένου μετά το ':' κενό." + +#. (itstool) path: item/p +#: C/key-servers-add.page:65 C/pgp-create.page:62 +msgid "Press OK to finish." +msgstr "Πατήστε Εντάξει για να τελειώσετε." + +#. (itstool) path: info/desc +#: C/keyring-change-default.page:19 +msgid "Save new passwords to a different keyring by default." +msgstr "" +"Αποθηκεύστε τους νέους κωδικούς πρόσβασης σε διαφορετική κλειδοθήκη από " +"προεπιλογή." + +#. (itstool) path: page/title +#: C/keyring-change-default.page:22 +msgid "Change the default keyring" +msgstr "Αλλαγή προεπιλεγμένες κλειδοθήκης" + +#. (itstool) path: page/p +#: C/keyring-change-default.page:24 +#| msgid "" +#| "When you add a new password, it is normally added to the default keyring. If you want to add it " +#| "to a different keyring, you can chose another one while adding the new " +#| "password, but you can also change the default keyring. The default " +#| "keyring is normally the Login keyring." +msgid "" +"When you add a new password, " +"it is normally added to the default keyring. If you want to add it to a " +"different keyring, you can choose another one while adding the new password, " +"but you can also change the default keyring. The default keyring is normally " +"the Login keyring." +msgstr "" +"Όταν προσθέτετε έναν νέο κωδικό " +"πρόσβασης, προστίθεται κανονικά στην προεπιλεγμένη κλειδοθήκη. Αν " +"θέλετε να τον προσθέσετε σε μια διαφορετική κλειδοθήκη, μπορείτε να " +"επιλέξετε μια άλλη ενώ προσθέτετε τον νέο κωδικό πρόσβασης, αλλά μπορείτε " +"επίσης να αλλάξετε την προεπιλεγμένη κλειδοθήκη. Η προεπιλεγμένη κλειδοθήκη " +"είναι κανονικά η κλειδοθήκη σύνδεσης." + +#. (itstool) path: steps/title +#: C/keyring-change-default.page:32 +msgid "To change the default keyring:" +msgstr "Για να αλλάξετε την προεπιλεγμένη κλειδοθήκη:" + +#. (itstool) path: item/p +#: C/keyring-change-default.page:34 +msgid "" +"Select your choice for the default keyring from the list of keyrings under " +"Passwords on the left side panel." +msgstr "" +"Επιλέξτε την προεπιλεγμένη κλειδοθήκη από τον κατάλογο των κλειδοθηκών στο " +"Κωδικοί πρόσβασης στην αριστερή στήλη." + +#. (itstool) path: item/p +#: C/keyring-change-default.page:38 +msgid "" +"Right click on the selected keyring and select Set as default." +msgstr "" +"Κάντε δεξί κλικ στην επιλεγμένη κλειδοθήκη και επιλέξτε Ορισμός ως " +"προεπιλογή." + +#. (itstool) path: note/p +#: C/keyring-change-default.page:44 +msgid "" +"Passwords to some GNOME applications are stored automatically by " +"Passwords and Keys in the Login keyring because it is " +"the default keyring. When you change the default keyring, any new passwords " +"created for GNOME applications will be stored in the new default keyring " +"while GNOME application passwords created before the change will remain in " +"the Login keyring." +msgstr "" +"Οι κωδικοί πρόσβασης για κάποιες εφαρμογές GNOME αποθηκεύονται αυτόματα από " +"το Κωδικοί πρόσβασης και κλειδιά στην κλειδοθήκη σύνδεσης επειδή είναι η προεπιλεγμένη κλειδοθήκη. Όταν αλλάζετε την " +"προεπιλεγμένη κλειδοθήκη, όλοι οι νέοι κωδικοί πρόσβασης που δημιουργούνται " +"για εφαρμογές GNOME θα αποθηκευτούν στη νέα προεπιλεγμένη κλειδοθήκη, ενώ οι " +"δημιουργούμενοι κωδικοί πρόσβασης της εφαρμογής GNOME πριν την αλλαγή θα " +"παραμείνουν στην κλειδοθήκη σύνδεσης." + +#. (itstool) path: info/desc +#: C/keyring-create.page:30 +msgid "Use password keyrings to group stored passwords." +msgstr "" +"Χρησιμοποιήστε τις κλειδοθήκες κωδικών πρόσβασης για να ομαδοποιήσετε τους " +"αποθηκευμένους κωδικούς πρόσβασης." + +#. (itstool) path: page/title +#: C/keyring-create.page:33 +msgid "Create a new keyring" +msgstr "Δημιουργία νέας κλειδοθήκης" + +#. (itstool) path: page/p +#: C/keyring-create.page:35 +msgid "" +"Use keyrings to group related passwords. You " +"can choose to protect your keyring with a password." +msgstr "" +"Χρησιμοποιήστε τις κλειδοθήκες για να " +"ομαδοποιήσετε τους σχετικούς κωδικούς πρόσβασης. Μπορείτε να επιλέξετε να " +"προστατεύσετε τη κλειδοθήκη σας με έναν κωδικό πρόσβασης." + +#. (itstool) path: steps/title +#: C/keyring-create.page:39 +msgid "Create a new password keyring:" +msgstr "Δημιουργία μιας νέας κλειδοθήκης κωδικών πρόσβασης:" + +#. (itstool) path: item/p +#: C/keyring-create.page:41 C/passwords-stored-create.page:31 +msgid "" +"Select File New…." +msgstr "" +"Επιλέξτε Αρχείο Νέο…." + +#. (itstool) path: item/p +#: C/keyring-create.page:45 +msgid "" +"Choose Password Keyring and press Continue." +msgstr "" +"Επιλέξτε Κλειδοθήκη κωδικών πρόσβασης και πατήστε Συνέχεια." + +#. (itstool) path: item/p +#: C/keyring-create.page:49 +msgid "" +"Choose a name for your new keyring, then press OK to continue." +msgstr "" +"Επιλέξτε ένα όνομα για τη νέα σας κλειδοθήκη, έπειτα πατήστε Εντάξει για να συνεχίσετε." + +#. (itstool) path: item/p +#: C/keyring-create.page:54 +msgid "" +"To password protect your keyring, choose a password, and retype it to " +"confirm your choice. Leave both the fields blank if you want your keyring to " +"remain unlocked at all times." +msgstr "" +"Για να προστατεύσετε με κωδικό πρόσβασης τη κλειδοθήκη σας, επιλέξτε έναν " +"κωδικό πρόσβασης και ξαναπληκτρολογήστε τον για να επιβεβαιώσετε την επιλογή " +"σας. Αφήστε και τα δύο πεδία κενά αν θέλετε η κλειδοθήκη σας να παραμείνει " +"ξεκλείδωτη." + +#. (itstool) path: item/p +#: C/keyring-create.page:62 +msgid "" +"Press Continue to finish creating the keyring. " +"If you have not protected your keyring with a password, you will need to " +"confirm that this is how you want to proceed." +msgstr "" +"Πατήστε Συνέχεια για να ολοκληρώσετε τη " +"δημιουργία της κλειδοθήκης. Αν δεν έχετε προστατεύσει την κλειδοθήκη σας με " +"έναν κωδικό πρόσβασης, θα χρειαστείτε να επιβεβαιώσετε ότι αυτός είναι ο " +"τρόπος που θέλετε να συνεχίσετε." + +#. (itstool) path: page/p +#: C/keyring-create.page:68 +msgid "Your new keyring will now be listed under Passwords." +msgstr "" +"Η νέα σας κλειδοθήκη θα είναι τώρα καταχωρισμένη στο Κωδικοί πρόσβασης." + +#. (itstool) path: info/desc +#: C/keyring-lock.page:20 +msgid "" +"Lock and password protect your password keyrings to control access to the " +"passwords stored in them." +msgstr "" +"Κλειδώστε και προστατεύστε τους κωδικούς πρόσβασης των κλειδοθηκών των " +"κωδικών πρόσβασης για να ελέγχετε την πρόσβαση στους αποθηκευμένους κωδικούς " +"πρόσβασης σε αυτές." + +#. (itstool) path: page/title +#: C/keyring-lock.page:24 +msgid "Lock your keyrings" +msgstr "Κλείδωμα των κλειδοθηκών" + +#. (itstool) path: page/p +#: C/keyring-lock.page:26 +msgid "" +"To safe-keep your passwords, store them in a password-protected keyring. " +"When a password-protected keyring is locked, the passwords in it are kept " +"hidden till someone unlocks the keyring " +"with the correct password." +msgstr "" +"Για να κρατήσετε ασφαλείς τους κωδικούς πρόσβασής σας, αποθηκεύστε τους σε " +"μια προστατευμένη κλειδοθήκη με κωδικό πρόσβασης. Όταν μια κλειδοθήκη με " +"προστατευμένο κωδικό πρόσβασης είναι κλειδωμένη, οι κωδικοί πρόσβασης σε " +"αυτή διατηρούνται κρυφοί μέχρι κάποιος να ξεκλειδώσει την κλειδοθήκη με τον σωστό κωδικό πρόσβασης." + +#. (itstool) path: note/p +#: C/keyring-lock.page:32 +msgid "" +"You can choose to protect your keyring with a password while creating it." +msgstr "" +"Μπορείτε να επιλέξετε να προστατεύσετε την κλειδοθήκη σας με έναν κωδικό " +"πρόσβασης ενώ τη δημιουργείτε." + +#. (itstool) path: steps/title +#: C/keyring-lock.page:37 +msgid "To lock your password keyring:" +msgstr "Για να κλειδώσετε την κλειδοθήκη των κωδικών πρόσβασης:" + +#. (itstool) path: item/p +#: C/keyring-lock.page:39 +msgid "" +"From the list of keyrings under Passwords on the left side panel, " +"select the keyring to be locked." +msgstr "" +"Από τον κατάλογο των κλειδοθηκών στο Κωδικοί πρόσβασης στο " +"αριστερό φάτνωμα, επιλέξτε την κλειδοθήκη που θα κλειδωθεί." + +#. (itstool) path: item/p +#: C/keyring-lock.page:43 +msgid "" +"Right click on the selected keyring and select Lock, or click on " +"the small picture of an opened lock next to the name of the password keyring." +msgstr "" +"Κάντε δεξί κλικ στην επιλεγμένη κλειδοθήκη και επιλέξτε Κλείδωμα, " +"ή πατήστε στη μικρή εικόνα μιας ανοικτής κλειδαριάς δίπλα στο όνομα της " +"κλειδοθήκης κωδικών πρόσβασης." + +#. (itstool) path: info/desc +#: C/keyring-unlock.page:20 +msgid "To view passwords stored inside a locked keyring, unlock it." +msgstr "" +"Για να προβάλετε τους αποθηκευμένους κωδικούς πρόσβασης μέσα σε μια " +"κλειδωμένη κλειδοθήκη, ξεκλειδώστε την." + +#. (itstool) path: page/title +#: C/keyring-unlock.page:23 +msgid "Unlock your keyrings" +msgstr "Ξεκλείδωμα των κλειδοθηκών σας" + +#. (itstool) path: page/p +#: C/keyring-unlock.page:24 +msgid "" +"A keyring may often be locked to protect " +"the passwords it contains, similar to locking important things safely inside " +"a trunk. In order to look at your passwords, you must unlock the keyring " +"first." +msgstr "" +"Μια κλειδοθήκη μπορεί συχνά να είναι κλειδωμένη για να προστατεύσει τους κωδικούς πρόσβασης που περιέχει, παρόμοια με " +"το κλείδωμα σημαντικών πραγμάτων με ασφάλεια μέσα σε ένα μπαούλο. Για να " +"κοιτάξετε τους κωδικούς πρόσβασής σας, πρέπει να ξεκλειδώσετε πρώτα την " +"κλειδοθήκη." + +#. (itstool) path: steps/title +#: C/keyring-unlock.page:30 +msgid "To unlock your keyring:" +msgstr "Για να ξεκλειδώσετε την κλειδοθήκη σας:" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:32 +msgid "" +"Select the keyring to be unlocked from the panel on your left. It is listed " +"under Passwords." +msgstr "" +"Επιλέξτε την κλειδοθήκη για να ξεκλειδωθεί από το φάτνωμα στα αριστερά σας. " +"Είναι καταχωρισμένη στο Κωδικοί πρόσβασης." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:36 +msgid "" +"Right click on the selected keyring and select Unlock from the " +"menu, or alternatively, click the small picture of a closed lock next to the " +"keyring name to unlock the keyring." +msgstr "" +"Κάντε δεξί κλικ στην επιλεγμένη κλειδοθήκη και επιλέξτε Ξεκλείδωμα από το μενού, ή εναλλακτικά, πατήστε τη μικρή εικόνα μιας κλειστής " +"κλειδαριάς δίπλα στο όνομα της κλειδοθήκης για να ξεκλειδώσετε την " +"κλειδοθήκη." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:41 +msgid "" +"If the keyring is password-protected, you will be prompted for a password to " +"unlock the keyring. Enter the correct password in the Password " +"field and press Unlock to finish." +msgstr "" +"Αν η κλειδοθήκη είναι προστατευμένη με κωδικό πρόσβασης, θα σας ζητηθεί ο " +"κωδικός πρόσβασης για να ξεκλειδώσετε την κλειδοθήκη. Εισάγετε τον σωστό " +"κωδικό πρόσβασης στο πεδίο Κωδικός πρόσβασης και πατήστε Ξεκλείδωμα για να ολοκληρώσετε." + +#. (itstool) path: note/p +#: C/keyring-unlock.page:49 +msgid "" +"You can choose to password-protect your keyrings while creating them." +msgstr "" +"Μπορείτε να επιλέξετε να προστατεύσετε τον κωδικό πρόσβασης των κλειδοθηκών " +"σας ενώ τις δημιουργείτε." + +#. (itstool) path: info/desc +#: C/keyring-update-password.page:20 +msgid "" +"Keep updating the passwords to your keyrings to ensure that they are " +"protected well." +msgstr "" +"Κρατήστε ενημερωμένους τους κωδικούς πρόσβασης στις κλειδοθήκες σας για να " +"εξασφαλίσετε ότι προστατεύονται καλά." + +#. (itstool) path: page/title +#: C/keyring-update-password.page:25 +msgid "Update the keyring password" +msgstr "Ενημερώστε τον κωδικό πρόσβασης της κλειδοθήκης" + +#. (itstool) path: page/p +#: C/keyring-update-password.page:27 +msgid "" +"The password to unlock your keyring can be " +"updated at any time." +msgstr "" +"Ο κωδικός πρόσβασης για ξεκλείδωμα της κλειδοθήκης σας μπορεί να ενημερωθεί οποτεδήποτε." + +#. (itstool) path: steps/title +#: C/keyring-update-password.page:31 +msgid "To update the password for a password keyring:" +msgstr "" +"Για να ενημερώσετε τον κωδικό πρόσβασης για μια κλειδοθήκη κωδικών πρόσβασης:" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:33 +msgid "" +"Select the password keyring from the list, under Passwords, on " +"the left side panel." +msgstr "" +"Επιλέξτε την κλειδοθήκη κωδικών πρόσβασης από τον κατάλογο, στο Κωδικοί " +"πρόσβασης, στα αριστερά του πλευρικού παραθύρου." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:37 +msgid "" +"Right click on the selected password keyring and select Change " +"Password." +msgstr "" +"Κάντε δεξί κλικ την επιλεγμένη κλειδοθήκη κωδικών πρόσβασης και επιλέξτε " +"Αλλαγή κωδικού πρόσβασης." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:41 +msgid "" +"Type your old password to authenticate yourself and press Continue." +msgstr "" +"Πληκτρολογήστε τον παλιό σας κωδικό πρόσβασης για να πιστοποιηθείτε και " +"πατήστε Συνέχεια." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:45 +msgid "" +"In the new dialog, type your new password, retype it to confirm the new " +"password and press the Continue button to finish." +msgstr "" +"Στον νέο διάλογο, πληκτρολογήστε τον νέο σας κωδικό πρόσβασης, " +"ξαναπληκτρολογήστε τον για να επιβεβαιώσετε τον νέο κωδικό πρόσβασης και " +"πατήστε το πλήκτρο Συνέχεια για να τερματίσετε." + +#. (itstool) path: info/desc +#: C/keyring.page:30 +msgid "A keyring is used to group related passwords and keys." +msgstr "" +"Μια κλειδοθήκη χρησιμοποιείται για να ομαδοποιήσει σχετικούς κωδικούς " +"πρόσβασης και κλειδιά." + +#. (itstool) path: page/title +#: C/keyring.page:33 +msgid "What is a keyring?" +msgstr "Τι είναι μια κλειδοθήκη;" + +#. (itstool) path: page/p +#: C/keyring.page:35 +msgid "" +"Much like a keyring in real life allows you to keep certain sets of keys " +"together, a keyring in Passwords and Keys allows you to keep " +"passwords and keys in separate groups." +msgstr "" +"Παρόμοια με την πραγματική ζωή μια κλειδοθήκη σας επιτρέπει να κρατάτε " +"συγκεκριμένα σύνολα κλειδιών μαζί, μια κλειδοθήκη στο Κωδικοί πρόσβασης " +"και κλειδιά σας επιτρέπει να κρατάτε κωδικούς πρόσβασης και κλειδιά σε " +"ξεχωριστές ομάδες." + +#. (itstool) path: page/p +#: C/keyring.page:39 +msgid "" +"When you open Passwords and Keys for the first time, you will see " +"keys and password grouped together. In the Login keyring, you may " +"find stored passwords for GNOME applications such as Web, " +"Accounts etc. The Login keyring is the default keyring " +"in Passwords and keys." +msgstr "" +"Όταν ανοίγετε το Κωδικοί πρόσβασης και κλειδιά για πρώτη φορά, θα " +"δείτε κλειδιά και κωδικούς πρόσβασης ομαδοποιημένους. Στην κλειδοθήκη " +"σύνδεσης, μπορείτε να βρείτε αποθηκευμένους κωδικούς πρόσβασης " +"για εφαρμογές GNOME όπως Ιστός, Λογαριασμοί κλπ. Η " +"κλειδοθήκη σύνδεσης είναι η προεπιλεγμένη κλειδοθήκη στο " +"Κωδικοί πρόσβασης και κλειδιά." + +#. (itstool) path: p/link +#: C/legal.xml:4 +msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" +msgstr "Creative Commons Attribution-ShareAlike 3.0 Unported License" + +#. (itstool) path: license/p +#: C/legal.xml:3 +msgid "This work is licensed under a <_:link-1/>." +msgstr "Αυτή η δουλειά έχει άδεια από <_:link-1/>." + +#. (itstool) path: info/desc +#: C/misc-key-backup.page:26 +msgid "Keep a copy of your keys in an external device." +msgstr "Κρατήστε ένα αντίγραφο των κλειδιών σας σε μια εξωτερική συσκευή." + +#. (itstool) path: page/title +#: C/misc-key-backup.page:29 +msgid "Securely back-up your keys" +msgstr "Εφεδρικά αντίγραφα των κλειδιών σας με ασφάλεια" + +#. (itstool) path: page/p +#: C/misc-key-backup.page:31 +msgid "" +"It is always advisable to save a copy of your keys on an external memory " +"device like a USB drive. The device should then be kept locked or stored " +"somewhere safe. This way you will always have a copy of the key if your " +"computer breaks or if the data on your computer is corrupted in some way." +msgstr "" +"Σας συμβουλεύουμε να αποθηκεύετε ένα αντίγραφο των κλειδιών σας σε μια " +"εξωτερική συσκευή μνήμης όπως ένα USB. Η συσκευή πρέπει τότε να κρατιέται " +"κλειδωμένη ή αποθηκευμένη κάπου με ασφάλεια. Έτσι θα έχετε πάντα ένα " +"αντίγραφο του κλειδιού αν ο υπολογιστής σας καταρρεύσει ή αν τα δεδομένα " +"στον υπολογιστή σας έχουν αλλοιωθεί." + +#. (itstool) path: steps/title +#: C/misc-key-backup.page:37 +msgid "To back-up your keys:" +msgstr "Για να αντιγράψετε τα κλειδιά σας:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:39 +msgid "Export your key files:" +msgstr "Εξάγετε τα αρχεία των κλειδιών σας:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:41 +msgid "Export your PGP keys." +msgstr "Εξαγωγή των κλειδιών σας PGP." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:42 +msgid "Export your SSH keys." +msgstr "Εξαγωγή των κλειδιών σας SSH." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:46 +msgid "Copy the exported files on an external disk." +msgstr "Αντιγράψτε τα εξαγόμενα αρχεία σε έναν εξωτερικό δίσκο." + +#. (itstool) path: info/desc +#: C/misc-key-fingerprint.page:19 +msgid "" +"The key fingerprint is a unique ID for each key, often used to verify the " +"ownership of a key" +msgstr "" +"Το δακτυλικό αποτύπωμα κλειδιού είναι ένα μοναδικό αναγνωριστικό για κάθε " +"κλειδί, που χρησιμοποιείται συχνά για να επιβεβαιώσει την ιδιοκτησία ενός " +"κλειδιού" + +#. (itstool) path: page/title +#: C/misc-key-fingerprint.page:23 +msgid "What is a key fingerprint?" +msgstr "Τι είναι το δακτυλικό αποτύπωμα κλειδιού;" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:25 +msgid "" +"The fingerprint of a key is a unique sequence of letters and numbers used to " +"identify the key. Just like the fingerprints of two different people, the " +"fingerprints of two different keys can never be identical. The fingerprint " +"is the best way to identify a particular key." +msgstr "" +"Το δακτυλικό αποτύπωμα ενός κλειδιού είναι μια μοναδική σειρά γραμμάτων και " +"αριθμών που χρησιμοποιούνται για να αναγνωρίσουν το κλειδί. Ακριβώς όπως τα " +"δακτυλικά αποτυπώματα δύο διαφορετικών ατόμων, τα δακτυλικά αποτυπώματα δυο " +"διαφορετικών κλειδιών δεν μπορούν να είναι ποτέ ταυτόσημα. Το δακτυλικό " +"αποτύπωμα είναι ο βέλτιστος τρόπος αναγνώρισης ενός συγκεκριμένου κλειδιού." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:30 +msgid "" +"A key has several properties like the name and email of the key owner, key " +"type, key expiration date and so on. When you are searching for a public key " +"and you find multiple keys with the same properties, the only way to " +"identify the key you are looking for is to compare the fingerprints of the " +"two keys with the fingerprint of the key you require." +msgstr "" +"Ένα κλειδί έχει αρκετές ιδιότητες όπως το όνομα και η ηλεκτρονική διεύθυνση " +"του κατόχου του κλειδιού, τον τύπο του κλειδιού, την ημερομηνία λήξης του " +"κλειδιού κ.ο.κ. Όταν αναζητάτε ένα δημόσιο κλειδί και βρείτε πολλά κλειδιά " +"με τις ίδιες ιδιότητες, ο μόνος τρόπος να αναγνωρίσετε το κλειδί που ψάχνετε " +"είναι να συγκρίνετε τα δακτυλικά αποτυπώματα των δύο κλειδιών με το " +"δακτυλικό αποτύπωμα του κλειδιού που ζητάτε." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:36 +msgid "" +"It is the fingerprint of a key that is verified when you try to login to a " +"remote computer using SSH. While " +"signing a PGP key, you must always " +"check the key fingerprint and verify the key owner's identity to ensure that " +"you are signing the correct key." +msgstr "" +"Είναι το δακτυλικό αποτύπωμα ενός κλειδιού που επιβεβαιώνεται όταν " +"προσπαθείτε να συνδεθείτε με έναν απομακρυσμένο υπολογιστή χρησιμοποιώντας " +"το SSH. Ενώ υπογράφετε ένα κλειδί PGP, πρέπει να ελέγχετε πάντα το δακτυλικό " +"αποτύπωμα του κλειδιού και να επιβεβαιώνετε την ταυτότητα του κατόχου του " +"κλειδιού για να εξασφαλίσετε ότι υπογράφετε το σωστό κλειδί." + +#. (itstool) path: section/title +#: C/misc-key-fingerprint.page:43 +msgid "Fingerprints on Passwords and Keys" +msgstr "Τα δακτυλικά αποτυπώματα στο Κωδικοί πρόσβασης και κλειδιά" + +#. (itstool) path: section/p +#: C/misc-key-fingerprint.page:45 +msgid "" +"You can look at the fingerprint of a key on Passwords and Keys by " +"checking the properties of the key." +msgstr "" +"Μπορείτε να κοιτάξετε στο δακτυλικό αποτύπωμα ενός κλειδιού στο Κωδικοί " +"πρόσβασης και κλειδιά ελέγχοντας τις ιδιότητες του κλειδιού." + +#. (itstool) path: steps/title +#: C/misc-key-fingerprint.page:49 +msgid "To check the fingerprint of a key:" +msgstr "Για να ελέγξετε το δακτυλικό αποτύπωμα ενός κλειδιού:" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:51 C/pgp-photoid.page:44 C/pgp-publish.page:36 +#: C/subkeys-add.page:31 +msgid "Select GnuPG keys from the left side panel." +msgstr "Επιλέξτε κλειδιά GnuPG από το αριστερό πλευρικό παράθυρο." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:54 C/pgp-expiration-change.page:31 +msgid "Select the PGP key from the list." +msgstr "Επιλέξτε το κλειδί PGP από τον κατάλογο." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:57 +msgid "" +"Right click the key and select Properties." +msgstr "" +"Κάντε δεξί κλικ το κλειδί και επιλέξτε ιδιότητες." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:61 C/pgp-expiration-change.page:37 +msgid "In the new dialog, select the Details tab." +msgstr "Στον νέο διάλογο, επιλέξτε την καρτέλα λεπτομέρειες." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:64 +msgid "You can see the fingerprint of the key on the left hand side." +msgstr "Μπορείτε να δείτε το δακτυλικό αποτύπωμα του κλειδιού στα αριστερά." + +#. (itstool) path: info/desc +#: C/passwords-stored-create.page:18 +msgid "Passwords and keys can remember your passwords for you." +msgstr "" +"Το Κωδικοί πρόσβασης και κλειδιά μπορεί να θυμάται τους κωδικούς " +"πρόσβασης για σας." + +#. (itstool) path: page/title +#: C/passwords-stored-create.page:22 +msgid "Store your passwords" +msgstr "Αποθήκευση των κωδικών πρόσβασής σας" + +#. (itstool) path: page/p +#: C/passwords-stored-create.page:24 +msgid "" +"Passwords and Keys automatically stores passwords for certain " +"GNOME applications in the Login keyring. Additionally, you can " +"store any other password you want to remember." +msgstr "" +"Το Κωδικοί πρόσβασης και κλειδιά αποθηκεύει αυτόματα κωδικούς " +"πρόσβασης για συγκεκριμένες εφαρμογές GNOME στην κλειδοθήκη Σύνδεση. Επιπρόσθετα, μπορείτε να αποθηκεύσετε οποιονδήποτε άλλον κωδικό " +"πρόσβασης θέλετε να θυμόσαστε." + +#. (itstool) path: steps/title +#: C/passwords-stored-create.page:29 +msgid "To create a new stored password:" +msgstr "Για να δημιουργήσετε έναν νέο αποθηκευμένο κωδικό πρόσβασης:" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:35 +msgid "" +"Select Stored Password from the list and press Continue." +msgstr "" +"Επιλέξτε Αποθηκευμένος κωδικός πρόσβασης από τον κατάλογο και " +"πατήστε Συνέχεια." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:39 +msgid "" +"Select the password keyring in which you want to store your password from " +"the Keyring menu." +msgstr "" +"Επιλέξτε την κλειδοθήκη κωδικών πρόσβασης στην οποία θέλετε να αποθηκεύσετε " +"τον κωδικό πρόσβασης από το μενού Κλειδοθήκη." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:43 +msgid "" +"You can add additional information about the password in the " +"Description field, like the date of creation, or the name of the " +"application it protects, etc." +msgstr "" +"Μπορείτε να προσθέσετε πρόσθετες πληροφορίες για τον κωδικό πρόσβασης στο " +"πεδίο Περιγραφή, όπως η ημερομηνία δημιουργίας, ή το όνομα της " +"εφαρμογής που προστατεύει, κλπ." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:48 +msgid "" +"Type the password in the Password field. You can tick the Show password checkbox if you want to see the " +"password text while typing it out." +msgstr "" +"Πληκτρολογήστε τον κωδικό πρόσβασης στο πεδίο Κωδικός πρόσβασης. " +"Μπορείτε να σημειώσετε το Εμφάνιση κωδικού " +"πρόσβασης αν θέλετε να δείτε το κείμενο του κωδικού πρόσβασης ενώ το " +"πληκτρολογείτε." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:53 +msgid "Press the Add button to finish." +msgstr "" +"Πατήστε το πλήκτρο Προσθήκη για να ολοκληρώσετε." + +#. (itstool) path: note/p +#: C/passwords-stored-create.page:58 +msgid "" +"The default keyring is displayed as the first choice in the Keyring drop down menu. You can change " +"the default keyring." +msgstr "" +"Η προεπιλεγμένη κλειδοθήκη εμφανίζεται ως η πρώτη επιλογή στο πτυσσόμενο " +"μενούκλειδοθήκης. Μπορείτε να αλλάξετε την προεπιλεγμένη κλειδοθήκη." + +#. (itstool) path: info/desc +#: C/passwords-view.page:26 +msgid "" +"Use Passwords and Keys to check a stored password you have " +"forgotten." +msgstr "" +"Χρησιμοποιήστε το Κωδικοί πρόσβασης και κλειδιά για να σημειώσετε " +"έναν αποθηκευμένο κωδικό πρόσβασης που έχετε ξεχάσει." + +#. (itstool) path: page/title +#: C/passwords-view.page:30 +msgid "View stored passwords" +msgstr "Προβολή αποθηκευμένων κωδικών πρόσβασης" + +#. (itstool) path: page/p +#: C/passwords-view.page:32 +msgid "" +"If you ever forget a password stored in Passwords and Keys, you can view the contents of the " +"stored password in Passwords and Keys to refresh your memory." +msgstr "" +"Αν ξεχάσετε ποτέ έναν κωδικό πρόσβασης αποθηκευμένο στο Κωδικοί πρόσβασης και κλειδιά, " +"μπορείτε να προβάλετε τα περιεχόμενα του αποθηκευμένου κωδικού πρόσβασης στο " +"Κωδικοί πρόσβασης και κλειδιά για να ανανεώσετε τη μνήμη σας." + +#. (itstool) path: steps/title +#: C/passwords-view.page:38 +msgid "To view your passwords:" +msgstr "Για να προβάλετε τους κωδικούς πρόσβασης:" + +#. (itstool) path: item/p +#: C/passwords-view.page:43 +msgid "" +"Select View By " +"keyring." +msgstr "" +"Επιλέξτε Προβολή Κατά κλειδοθήκη." + +#. (itstool) path: item/p +#: C/passwords-view.page:47 +msgid "" +"Unlock the password keyring that " +"contains your password. A list of passwords stored in the keyring will be " +"displayed." +msgstr "" +"Ξεκλειδώστε την κλειδοθήκη των κωδικών " +"πρόσβασης που περιέχει τον κωδικό πρόσβασής σας. Θα εμφανιστεί ένας " +"κατάλογος κωδικών πρόσβασης αποθηκευμένος στην κλειδοθήκη." + +#. (itstool) path: item/p +#: C/passwords-view.page:52 +msgid "" +"Right click on the password you want to check, and select Properties." +msgstr "" +"Κάντε δεξί κλικ τον κωδικό πρόσβασης που θέλετε να σημειώσετε και επιλέξτε " +"Ιδιότητες." + +#. (itstool) path: item/p +#: C/passwords-view.page:56 +msgid "" +"Expand the Passwords panel, if necessary, and tick the Show password checkbox to view the password." +msgstr "" +"Επεκτείνετε τον πίνακα κωδικοί πρόσβασης, αν είναι απαραίτητο και " +"σημειώστε το πλαίσιο ελέγχου Εμφάνιση κωδικού " +"πρόσβασης για να προβάλετε τον κωδικό πρόσβασης." + +#. (itstool) path: note/p +#: C/passwords-view.page:63 +msgid "" +"Since the contents of any unlocked keyrings are available to programs you " +"may be running, and Passwords and Keys does not seek to give a " +"false sense of security, the contents of unlocked keyrings are able to be " +"viewed without entering the password." +msgstr "" +"Αφού τα περιεχόμενα οποιασδήποτε κλειδοθήκης είναι διαθέσιμα σε προγράμματα " +"που μπορεί να εκτελούνται και το Κωδικοί πρόσβασης και κλειδιά " +"δεν αναζητά να δώσει μια ψευδή αίσθηση ασφάλειας, τα περιεχόμενα των " +"ξεκλείδωτων κλειδοθηκών μπορούν να προβληθούν χωρίς την εισαγωγή του κωδικού " +"πρόσβασης." + +#. (itstool) path: note/p +#: C/passwords-view.page:67 +msgid "" +"This means that if you are logged-in, the contents of the Login " +"keyring will available without entering a password from Passwords and " +"Keys." +msgstr "" +"Αυτό σημαίνει ότι αν συνδεθείτε, τα περιεχόμενα της κλειδοθήκης " +"σύνδεσης θα είναι διαθέσιμα χωρίς να εισάγετε έναν κωδικό " +"πρόσβασης από το Κωδικοί πρόσβασης και κλειδιά." + +#. (itstool) path: note/p +#: C/passwords-view.page:70 +msgid "" +"If you need to lend your computer to another person, it is recommended that " +"you create a user account for them, or allow them to use a guest account." +msgstr "" +"Αν χρειάζεται να δανείσετε τον υπολογιστή σας σε ένα άλλο άτομο, συνιστάται " +"να δημιουργήσετε έναν λογαριασμό χρήστη για αυτος ή να τους επιτρέψετε να " +"χρησιμοποιήσουν έναν λογαριασμό επισκέπτη." + +#. (itstool) path: info/desc +#: C/pgp-create.page:32 +msgid "Create and use GnuPG keys for encrypting and signing emails." +msgstr "" +"Δημιουργήστε και χρησιμοποιήστε κλειδιά GnuPG για να κρυπτογραφήσετε και να " +"υπογράψετε μηνύματα." + +#. (itstool) path: page/title +#: C/pgp-create.page:35 +msgid "Create PGP keys" +msgstr "Δημιουργία κλειδιών PGP" + +#. (itstool) path: page/p +#: C/pgp-create.page:37 +msgid "To make a new PGP key:" +msgstr "Για να κάνετε ένα νέο κλειδί PGP:" + +#. (itstool) path: item/p +#: C/pgp-create.page:41 C/ssh-create.page:40 +msgid "Select FileNew…." +msgstr "Επιλέξτε ΑρχείοΝέο…." + +#. (itstool) path: item/p +#: C/pgp-create.page:44 +msgid "" +"Select PGP Key from the list and press Continue." +msgstr "" +"Επιλέξτε Κλειδί PGP από τον κατάλογο και πατήστε Συνέχεια." + +#. (itstool) path: item/p +#: C/pgp-create.page:48 +msgid "Enter your full name in the Full Name field." +msgstr "Εισάγετε το πλήρες όνομά σας στο πεδίο Πλήρες όνομα." + +#. (itstool) path: item/p +#: C/pgp-create.page:51 +msgid "Optionally, add your email address and a comment to describe the key." +msgstr "" +"Προαιρετικά, προσθέστε τη διεύθυνση αλληλογραφίας και ένα σχόλιο περιγραφής " +"του κλειδιού." + +#. (itstool) path: item/p +#: C/pgp-create.page:55 +msgid "Press Create." +msgstr "Πατήστε Δημιουργία." + +#. (itstool) path: item/p +#: C/pgp-create.page:58 +msgid "" +"In the password dialog, enter a password for the key. Retype the password to " +"confirm your choice." +msgstr "" +"Στον διάλογο κωδικού πρόσβασης, εισάγετε έναν κωδικό πρόσβασης για το " +"κλειδί. Ξαναπληκτρολογήστε τον κωδικό πρόσβασης για να επιβεβαιώσετε την " +"επιλογή σας." + +#. (itstool) path: page/p +#: C/pgp-create.page:66 +msgid "" +"Passwords and Keys will take some time to generate your key. " +"While your key is being created, move your mouse around, press some keys on " +"your keyboard, or browse the web. This will help Passwords and Keys to create a truly random key. The key will be listed under GnuPG " +"keys." +msgstr "" +"Το Κωδικοί πρόσβασης και κλειδιά θα πάρει κάποιο χρόνο για να " +"δημιουργήσει το κλειδί σας. Ενώ δημιουργείτε το κλειδί σας, μετακινήστε το " +"ποντίκι σας ολόγυρα, πατήστε μερικά κλειδιά στο πληκτρολόγιό σας ή " +"περιηγηθείτε στον ιστό. Αυτό θα βοηθήσει το Κωδικοί πρόσβασης και " +"κλειδιά να δημιουργήσει ένα πραγματικά τυχαίο κλειδί. Το κλειδί θα " +"καταχωριστεί στο Κλειδιά GnuPG." + +#. (itstool) path: note/p +#: C/pgp-create.page:73 +msgid "" +"The Full Name, Email Address and Comment " +"details of a GnuPG key are called the user ID of the key." +msgstr "" +"Οι λεπτομέρειες πλήρες όνομα, Διεύθυνση αλληλογραφίας " +"και Σχόλιο του κλειδιού GnuPG λέγονται αναγνωριστικό χρήστη του κλειδιού." + +#. (itstool) path: section/title +#: C/pgp-create.page:79 +msgid "Advanced PGP key options" +msgstr "Προχωρημένες επιλογές κλειδιού PGP" + +#. (itstool) path: section/p +#: C/pgp-create.page:81 +msgid "" +"Expand the Advanced key options panel to choose custom values for " +"key type, key strength and key expiration date." +msgstr "" +"Επεκτείνετε το φάτνωμα προχωρημένες επιλογές κλειδιού για να " +"επιλέξετε προσαρμοσμένες τιμές για τον τύπο κλειδιού, την ισχύ του κλειδιού " +"και την ημερομηνία λήξης του κλειδιού." + +#. (itstool) path: item/title +#: C/pgp-create.page:86 +msgid "Key type" +msgstr "Τύπος κλειδιού" + +#. (itstool) path: item/p +#: C/pgp-create.page:87 +msgid "" +"Depending on your needs, create keys that can be used for signing only or " +"for both encryption and signing. The RSA and DSA-Elgamal algorithms generate " +"equally secure keys." +msgstr "" +"Ανάλογα με τις ανάγκες σας, δημιουργήστε κλειδιά που μπορούν να " +"χρησιμοποιηθούν μόνο για υπογραφή ή και για κρυπτογράφηση και υπογραφή. Οι " +"αλγόριθμοι RSA και DSA-Elgamal δημιουργούν εξίσου ασφαλή κλειδιά." + +#. (itstool) path: item/title +#: C/pgp-create.page:92 +msgid "Key Strength" +msgstr "Ισχύς κλειδιού" + +#. (itstool) path: item/p +#: C/pgp-create.page:93 +msgid "" +"The key strength is measured in terms of the size of the key in bits. It is " +"difficult and more time consuming to break a strong key, but strong keys " +"will slow down the encryption and signing process. You should choose your " +"key strength in Passwords and Keys depending on how long you want " +"to use the key. A small key is sufficient for short term use while a large " +"key is more suitable for long term use." +msgstr "" +"Η ισχύς του κλειδιού μετριέται όσον αφορά το μέγεθος του κλειδιού σε bit. " +"Είναι δύσκολο και περισσότερο χρονοβόρο να σπάσετε ένα ισχυρό κλειδί, αλλά " +"τα ισχυρά κλειδιά θα επιβραδύνουν την διεργασία κρυπτογράφησης και " +"υπογραφής. Θα πρέπει να επιλέξετε την ισχύ του κλειδιού σας στο Κωδικοί " +"πρόσβασης και κλειδιά ανάλογα με τη συχνότητα χρήσης του κλειδιού. Ένα " +"μικρό κλειδί είναι επαρκές για βραχυπρόθεσμη χρήση, ενώ ένα μεγάλο κλειδί " +"είναι πιο κατάλληλο για μακροπρόθεσμη χρήση." + +#. (itstool) path: item/title +#: C/pgp-create.page:101 +msgid "Expiration Date" +msgstr "Ημερομηνία λήξης" + +#. (itstool) path: item/p +#: C/pgp-create.page:102 +msgid "" +"When a key expires, certain actions no longer " +"work. In Passwords and Keys, you can either set your key " +"to Never Expire, or select an expiration date " +"and time for it." +msgstr "" +"Όταν ένα κλειδί λήγει, συγκεκριμένες ενέργειες " +"δεν δουλεύουν πια. Στο Κωδικοί πρόσβασης και κλειδιά, " +"μπορείτε ή να ορίσετε το κλειδί σας σε Χωρίς λήξη, ή να επιλέξετε μια ημερομηνία λήξης και χρόνου για αυτό." + +#. (itstool) path: item/p +#: C/pgp-create.page:106 +msgid "" +"It is recommended that you set an expiration date in case you lose access to " +"the key. Even if your key expires, you can change the expiration to a later date." +msgstr "" +"Συνιστάται να ορίσετε μια ημερομηνία λήξης για την περίπτωση που χάσετε " +"πρόσβαση στο κλειδί. Ακόμα κι αν το κλειδί σας λήξει, μπορείτε να αλλάξετε τη λήξη σε μια μεταγενέστερη ημερομηνία." + +#. (itstool) path: info/desc +#: C/pgp-delete.page:26 +msgid "" +"Delete local copies of your keys or the keys of people you communicate with." +msgstr "" +"Διαγραφή των τοπικών αντιγράφων των κλειδιών σας ή των κλειδιών των ατόμων " +"με τους οποίους επικοινωνείτε." + +#. (itstool) path: page/title +#: C/pgp-delete.page:30 +msgid "Delete an existing key" +msgstr "Διαγραφή ενός υπάρχοντος κλειδιού" + +#. (itstool) path: page/p +#: C/pgp-delete.page:32 +msgid "" +"If you are no longer communicating with someone, you can delete the copy of " +"their GnuPG key on your computer using Passwords and Keys. You " +"can also permanently delete a key you own as long it has never been " +"published on a key server. Deleting a GnuPG key deletes both the public key " +"and the secret key." +msgstr "" +"Αν δεν επικοινωνείτε πια με κάποιον, μπορείτε να διαγράψετε το αντίγραφο του " +"κλειδί GnuPG σας στον υπολογιστή σας χρησιμοποιώντας το Κωδικοί " +"πρόσβασης και κλειδιά. Μπορείτε επίσης να διαγράψετε μόνιμα ένα κλειδί " +"που έχετε αν δεν έχει ποτέ δημοσιευτεί σε ένα διακομιστή κλειδιών. " +"Διαγράφοντας ένα κλειδί GnuPG διαγράφονται και το δημόσιο κλειδί και το " +"μυστικό κλειδί." + +#. (itstool) path: steps/title +#: C/pgp-delete.page:39 +msgid "To delete a key:" +msgstr "Για να διαγράψετε ένα κλειδί:" + +#. (itstool) path: item/p +#: C/pgp-delete.page:41 +msgid "" +"Select the key. (You may need to show all keys, with ViewShow any )" +msgstr "" +"Επιλέξτε το κλειδί. (Μπορεί να χρειαστείτε να εμφανίσετε όλα τα κλειδιά, με " +" ΠροβολήΕμφάνιση " +"όλων )" + +#. (itstool) path: item/p +#: C/pgp-delete.page:48 +msgid "" +"Right click, and choose Delete. Alternatively you can also select " +"Edit Delete to delete the key." +msgstr "" +"Κάντε δεξί κλικ και επιλέξτε Διαγραφή. Εναλλακτικά, μπορείτε να " +"επιλέξετε επίσης Επεξεργασία Διαγραφή για να διαγράψετε το κλειδί." + +#. (itstool) path: note/p +#: C/pgp-delete.page:52 +msgid "" +"When you delete a GnuPG key that has been published on a key server, you " +"only delete the key in your GnuPG keyring because a copy of the public key " +"will still be present on some key server." +msgstr "" +"Όταν διαγράφετε ένα κλειδί GnuPG που έχει δημοσιευτεί σε ένα διακομιστή " +"κλειδιών, διαγράφετε μόνο το κλειδί στην κλειδοθήκη σας GnuPG επειδή ένα " +"αντίγραφο του δημόσιου κλειδιού εμφανίζεται ακόμα σε κάποιον διακομιστή " +"κλειδιών." + +#. (itstool) path: note/p +#: C/pgp-delete.page:55 +msgid "" +"If you delete your GnuPG key, this means that your private key will be " +"permanently deleted, even though your public key can still be retrieved from a key server and used to " +"encrypt messages to you that you won't be able to read! To prevent such a " +"key from being used, retrieve and revoke the key. The revoked key can then " +"be synced with a key server to prevent people " +"from retrieving and using it." +msgstr "" +"Αν διαγράψετε το κλειδί σας GnuPG, αυτό σημαίνει ότι το ιδιωτικό κλειδί σας " +"θα διαγραφεί μόνιμα, αν και το δημόσιο κλειδί σας μπορεί ακόμα να ανακτηθεί από ένα διακομιστή κλειδιών και να " +"χρησιμοποιηθεί για κρυπτογράφηση μηνυμάτων προς εσάς που δεν θα μπορείτε να " +"διαβάσετε! Για να αποτρέψετε τη χρήση ενός τέτοιου κλειδιού, ανακτήστε και " +"ανακαλέστε το κλειδί. Το ανακαλεσμένο κλειδί μπορεί τότε να συγχρονισθεί με ένα διακομιστή κλειδιών για να αποτρέψει την " +"ανάκτηση και χρήση του από άλλα άτομα." + +#. (itstool) path: item/p +#: C/pgp-delete.page:69 +msgid "" +"In the new dialog, confirm the deletion by ticking the I understand that this secret key will be permanently deleted " +"checkbox, and press the Delete button to finish." +msgstr "" +"Στον νέο διάλογο, επιβεβαιώστε τη διαγραφή σημειώνοντας το πλαίσιο ελέγχου " +"Καταλαβαίνω ότι αυτό το μυστικό κλειδί θα διαγραφεί " +"μόνιμα και πατήστε το πλήκτρο Διαγραφή για " +"να ολοκληρώσετε." + +#. (itstool) path: info/desc +#: C/pgp-expiration-change.page:19 +msgid "Advance or postpone the expiration date of your keys." +msgstr "Προχωρήστε ή αναβάλετε την ημερομηνία λήξης των κλειδιών σας." + +#. (itstool) path: page/title +#: C/pgp-expiration-change.page:22 +msgid "Change the expiration date of your keys" +msgstr "Αλλαγή της ημερομηνίας λήξης των κλειδιών σας" + +#. (itstool) path: page/p +#: C/pgp-expiration-change.page:24 +msgid "" +"If your PGP key has expired but you wish to continue its use, you can change " +"its expiry date. You can also change the expiration settings to have a key " +"expire on an earlier date." +msgstr "" +"Αν το κλειδί σας PGP έχει λήξει, αλλά θέλετε να συνεχίσετε να το " +"χρησιμοποιείτε, μπορείτε να αλλάξετε την ημερομηνία λήξης του. Μπορείτε " +"επίσης να αλλάξετε τις ρυθμίσεις λήξης για να λήξετε το κλειδί μια " +"προγενέστερη ημερομηνία." + +#. (itstool) path: steps/title +#: C/pgp-expiration-change.page:29 +msgid "To change the expiration date of a PGP key:" +msgstr "Για να αλλάξετε την ημερομηνία λήξης ενός κλειδιού PGP:" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:34 +msgid "Right click on the selected key and select Properties." +msgstr "" +"Κάντε δεξί κλικ το επιλεγμένο κλειδί και επιλέξτε Ιδιότητες." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:42 +msgid "" +"To change the expiration date of the master key, press the small button with " +"the picture of a calendar next to Expires, on the right side of " +"the dialog. You can then select the new expiration date from the calendar." +msgstr "" +"Για να αλλάξετε την ημερομηνία λήξης του κυρίως κλειδιού, πατήστε το μικρό " +"πλήκτρο με την εικόνα του ημερολογίου δίπλα στο Λήγει, στα δεξιά " +"του διαλόγου. Μπορείτε έπειτα να επιλέξετε τη νέα ημερομηνία λήξης από το " +"ημερολόγιο." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:48 +msgid "" +"To change the expiration date of a subkey, " +"expand the Subkeys panel and select the subkey from the list. " +"Press the Expire button on the left of the panel " +"and select the new expiration date." +msgstr "" +"Για να αλλάξετε την ημερομηνία λήξης ενός υποκλειδιού, αναπτύξτε το παράθυρο υποκλειδιά και " +"επιλέξτε το υποκλειδί από τον κατάλογο. Πατήστε το πλήκτρο Λήξη στα αριστερά του παραθύρου και επιλέξτε τη νέα " +"ημερομηνία λήξης." + +#. (itstool) path: note/p +#: C/pgp-expiration-change.page:59 +msgid "" +"If you are changing the expiration date of a key that has been published, " +"you must synchronize the key with the key " +"server after making the desired changes." +msgstr "" +"Αν αλλάζετε την ημερομηνία λήξης ενός κλειδιού που έχει δημοσιευτεί, πρέπει " +"να συγχρονίσετε το κλειδί με τον διακομιστή " +"του κλειδιού αφού κάνετε τις επιθυμητές αλλαγές." + +#. (itstool) path: info/desc +#: C/pgp-expired.page:20 +msgid "Can I still use it? Can expiration dates be changed?" +msgstr "" +"Μπορώ να το χρησιμοποιώ ακόμα; Μπορούν οι ημερομηνίες λήξης να αλλαχθούν;" + +#. (itstool) path: page/title +#: C/pgp-expired.page:23 +msgid "What happens if my key expires?" +msgstr "Τι συμβαίνει αν λήξει το κλειδί μου;" + +#. (itstool) path: page/p +#: C/pgp-expired.page:25 +msgid "When your key expires, it becomes invalid. This means:" +msgstr "Όταν το κλειδί σας λήξει, γίνεται άκυρο. Αυτό σημαίνει:" + +#. (itstool) path: item/p +#: C/pgp-expired.page:29 +msgid "It can no longer be used to encrypt and decrypt messages." +msgstr "" +"Δεν μπορεί πια να χρησιμοποιηθεί για κρυπτογράφηση και αποκρυπτογράφηση " +"μηνυμάτων." + +#. (itstool) path: item/p +#: C/pgp-expired.page:32 +msgid "It cannot sign other keys or receive signatures from other keys." +msgstr "" +"Δεν μπορεί να υπογράψει άλλα κλειδιά ή να δεχτεί υπογραφές από άλλα κλειδιά." + +#. (itstool) path: page/p +#: C/pgp-expired.page:37 +msgid "" +"Depending on how long you want your key to be valid, you can set an expiration date for it. By default, " +"Passwords and Keys sets all keys to be valid forever. That is, " +"the keys never expire." +msgstr "" +"Ανάλογα με το πόσο θέλετε να είναι έγκυρο το κλειδί σας, μπορείτε να ορίσετε μια ημερομηνία λήξης για αυτό. " +"Από προεπιλογή, το Κωδικοί πρόσβασης και κλειδιά ορίζει όλα τα " +"κλειδιά να είναι έγκυρα για πάντα. Δηλαδή, τα κλειδιά δεν λήγουν ποτέ." + +#. (itstool) path: page/p +#: C/pgp-expired.page:42 +msgid "" +"The expiration date on a key can be changed anytime, even after the key has expired. However, if you " +"want to stop using the expired key, you should delete or revoke it." +msgstr "" +"Η ημερομηνία λήξης ενός κλειδιού μπορεί να αλλάξει οποτεδήποτε, ακόμα και μετά τη λήξη του κλειδιού. Όμως, αν " +"θέλετε να σταματήσετε τη χρήση του ληγμένου κλειδιού, θα πρέπει να το διαγράψετε ή να το ανακαλέσετε." + +#. (itstool) path: note/p +#: C/pgp-expired.page:49 +msgid "" +"If you have any messages encrypted with an expired key, you must change the " +"expiration date on the key to decrypt such messages before deleting or " +"revoking it." +msgstr "" +"Αν έχετε κρυπτογραφημένα μηνύματα με ένα ληγμένο κλειδί, πρέπει να αλλάξετε " +"την ημερομηνία λήξης του κλειδιού για να αποκρυπτογραφήσετε τέτοια μηνύματα " +"πριν την διαγραφή τους ή την ανάκλησή τους." + +#. (itstool) path: info/desc +#: C/pgp-export.page:19 +msgid "Export your public and private PGP keys to store them in keyfiles." +msgstr "" +"Εξαγωγή των δημόσιων και ιδιωτικών κλειδιών PGP για να αποθηκεύσετε σε " +"αρχεία κλειδιών." + +#. (itstool) path: page/title +#: C/pgp-export.page:23 +msgid "Export PGP keys" +msgstr "Εξαγωγή κλειδιών PGP" + +#. (itstool) path: page/p +#: C/pgp-export.page:25 +msgid "" +"Export the contents of your PGP keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Εξάγετε τα περιεχόμενα των κλειδιών PGP και αποθηκεύστε τα σε αρχεία " +"κλειδιών, για να έχετε ένα αντίγραφο ασφαλείας των κλειδιών σας ή να " +"μοιραστείτε το δημόσιο κλειδί σας με κάποιον." + +#. (itstool) path: section/title +#: C/pgp-export.page:29 +msgid "To export your public PGP key" +msgstr "Για να εξάγετε το δημόσιο κλειδί σας PGP" + +#. (itstool) path: item/p +#: C/pgp-export.page:33 C/pgp-export.page:61 C/pgp-userid-add.page:36 +#: C/pgp-userid-primary.page:32 C/pgp-userid-remove.page:31 +msgid "Select the GnuPG keys keyring from the left side panel." +msgstr "" +"Επιλέξτε την κλειδοθήκη Κλειδιά GnuPG από το αριστερό πλευρικό " +"παράθυρο." + +#. (itstool) path: item/p +#: C/pgp-export.page:37 C/pgp-export.page:65 +msgid "" +"Select the Personal PGP key that has to be exported, from the " +"list." +msgstr "" +"Επιλέξτε το Προσωπικό κλειδί PGP που πρέπει να εξαχθεί, από τον " +"κατάλογο." + +#. (itstool) path: item/p +#: C/pgp-export.page:41 C/ssh-export.page:41 +msgid "Select FileExport…." +msgstr "Επιλέξτε ΑρχείοΕξαγωγή…." + +#. (itstool) path: item/p +#: C/pgp-export.page:44 +msgid "" +"To store the keys in the ASCII format, select Armored PGP keys " +"from the menu above the Export button." +msgstr "" +"Για να αποθηκεύσετε τα κλειδιά σε μορφή ASCII, επιλέξτε Ασφαλή κλειδιά " +"PGP από το μενού πάνω από το πλήκτρο Εξαγωγή." + +#. (itstool) path: item/p +#: C/pgp-export.page:49 C/pgp-export.page:76 +msgid "" +"Choose a location for your keyfile, and press Export to finish." +msgstr "" +"Επιλέξτε μια θέση για το αρχείο κλειδιών και πατήστε Εξαγωγή για να τελειώσετε." + +#. (itstool) path: section/title +#: C/pgp-export.page:57 +msgid "To export your private PGP key" +msgstr "Για να εξάγετε το ιδιωτικό κλειδί σας PGP" + +#. (itstool) path: item/p +#: C/pgp-export.page:69 C/ssh-export.page:64 C/subkeys-add.page:37 +msgid "" +"Right click on the selected key and select PropertiesDetails." +msgstr "" +"Κάντε δεξί κλικ το επιλεγμένο κλειδί και επιλέξτε ΙδιότητεςΛεπτομέρειες." + +#. (itstool) path: item/p +#: C/pgp-export.page:73 +msgid "Press the Export button." +msgstr "Πατήστε το πλήκτρο Εξαγωγή." + +#. (itstool) path: info/desc +#: C/pgp-import.page:25 +msgid "Import keys from keyfiles into Passwords and Keys." +msgstr "" +"Εισαγωγή κλειδιών από αρχεία κλειδιών στο Κωδικοί πρόσβασης και " +"κλειδιά." + +#. (itstool) path: page/title +#: C/pgp-import.page:28 +msgid "Import PGP keys" +msgstr "Εισαγωγή κλειδιών PGP" + +#. (itstool) path: page/p +#: C/pgp-import.page:30 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports PGP keys from your computer. You can also manually " +"import a particular key, if it has not been imported already." +msgstr "" +"Αν έχετε δεχτεί ένα αρχείο κλειδιών με μήνυμα, μπορεί να θελήσετε να το " +"εισάγετε στο Κωδικοί πρόσβασης και κλειδιά. Στις περισσότερες " +"περιπτώσεις, το Κωδικοί πρόσβασης και κλειδιά εισάγει αυτόματα τα " +"κλειδιά PGP από τον υπολογιστή σας. Μπορείτε να εισάγετε επίσης χειροκίνητα " +"ένα συγκεκριμένο κλειδί, αν δεν έχει ήδη εισαχθεί." + +#. (itstool) path: steps/title +#: C/pgp-import.page:36 C/ssh-import.page:36 +msgid "How do I manually import a key?" +msgstr "Πώς εισάγω ένα κλειδί χειροκίνητα;" + +#. (itstool) path: item/p +#: C/pgp-import.page:38 C/ssh-import.page:38 +msgid "" +"Select FileImport…." +msgstr "" +"Επιλέξτε ΑρχείοΕισαγωγή…." + +#. (itstool) path: item/p +#: C/pgp-import.page:42 +msgid "" +"In the new dialog, select the key you wish to import. PGP keys end with " +"pgp or asc, GPG keys end with gpg." +msgstr "" +"Στον νέο διάλογο, επιλέξτε το κλειδί που θέλετε να εισάγετε. Τα κλειδιά PGP " +"τελειώνουν με pgp ή asc, τα κλειδιά GPG τελειώνουν " +"με gpg." + +#. (itstool) path: item/p +#: C/pgp-import.page:47 C/ssh-import.page:46 +msgid "Click Open." +msgstr "Πατήστε Άνοιγμα." + +#. (itstool) path: page/p +#: C/pgp-import.page:51 +msgid "" +"Once imported, the PGP and GPG keys are listed under GnuPG keys." +msgstr "" +"Αφού εισαχθούν, τα κλειδιά PGP και GPG καταχωρίζονται στο GnuPG keys." + +#. (itstool) path: info/desc +#: C/pgp-photoid.page:20 +msgid "" +"Include a photo ID with your existing keys so that people can identify them " +"easily." +msgstr "" +"Συμπεριλάβετε ένα αναγνωριστικό φωτογραφίας με τα υπάρχοντα κλειδιά έτσι " +"ώστε τα άτομα να μπορούν να σας αναγνωρίσουν εύκολα." + +#. (itstool) path: page/title +#: C/pgp-photoid.page:24 +msgid "Attach a photo to your key" +msgstr "Επισυνάψτε μια φωτογραφία στο κλειδί σας" + +#. (itstool) path: page/p +#: C/pgp-photoid.page:26 +msgid "" +"You can attach a photo ID to your PGP keys so that everyone can verify the " +"ownership of your keys after looking at your photo. Though a key with an " +"attached photo will provide a slightly better level of security than a key " +"with no photo, checking the photo on a key is not as safe as checking the " +"fingerprint of the key because " +"anyone having your photos can create a key with your photo ID while the key " +"fingerprint cannot be mimicked." +msgstr "" +"Μπορείτε να επισυνάψετε μια φωτογραφία στα κλειδιά σας PGP έτσι ώστε ο " +"καθένας να μπορεί να επιβεβαιώσει την ιδιοκτησία των κλειδιών σας αφού " +"κοιτάξει τη φωτογραφία σας. Αν και ένα κλειδί με μια συνημμένη φωτογραφία θα " +"παράσχει ένα λίγο καλύτερο επίπεδο ασφάλειας από ένα κλειδί χωρίς " +"φωτογραφία, σημειώνοντας τη φωτογραφία σε ένα κλειδί δεν είναι εξίσου " +"ασφαλές με τη σημείωση δακτυλικού " +"αποτυπώματος του κλειδιού επειδή οποιοσδήποτε που έχει τις " +"φωτογραφίες σας μπορεί να δημιουργήσει ένα κλειδί με το αναγνωριστικό της " +"φωτογραφίας σας, ενώ το δακτυλικό αποτύπωμα του κλειδιού δεν μπορεί να " +"απομιμηθεί." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:35 +msgid "" +"Unlike the restrictions in GPG, the photo ID you want to upload " +"need not be in the JPEG format. Passwords and Keys " +"lets you upload your photo in png, jpg and several " +"other common image formats." +msgstr "" +"Αντίθετα με τους περιορισμούς στο GPG, το αναγνωριστικό " +"φωτογραφίας που θέλετε να μεταφορτώσετε δεν απαιτείται να είναι σε μορφή " +"JPEG. Το Κωδικοί πρόσβασης και κλειδιά σας επιτρέπει " +"να αποστείλετε τη φωτογραφία σας σε png, jpg και " +"αρκετές άλλες κοινές μορφές εικόνας." + +#. (itstool) path: steps/title +#: C/pgp-photoid.page:42 +msgid "To attach a photo ID to a PGP key:" +msgstr "Για να επισυνάψετε ένα αναγνωριστικό φωτογραφίας σε ένα κλειδί PGP:" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:47 +msgid "Select the PGP key." +msgstr "Επιλέξτε το κλειδί PGP." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:50 +msgid "" +"Right click on the chosen key and select Properties Owner." +msgstr "" +"Κάντε δεξί κλικ το επιλεγμένο κλειδί και επιλέξτε Ιδιότητες Κάτοχος." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:55 +msgid "" +"Press the button marked with a + on the left " +"hand side to add a photo." +msgstr "" +"Πατήστε το σημειωμένο πλήκτρο με ένα + στα " +"αριστερά για να προσθέσετε μια φωτογραφία." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:59 +msgid "Select the photo from your computer." +msgstr "Επιλέξτε τη φωτογραφία από τον υπολογιστή σας." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:62 +msgid "Click Close to finish." +msgstr "Πατήστε Κλείσιμο για να τελειώσετε." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:67 +msgid "" +"The photos you select should be small in size, preferably about 120 by 150 " +"pixels. Since a photo ID is always attached to its key, a large photo will " +"increase the key size and slow down all operations that use the key. " +"Passwords and Keys resizes large photos to the optimal size after " +"asking for your confirmation." +msgstr "" +"Οι φωτογραφίες που επιλέγετε πρέπει να είναι μικρές σε μέγεθος, κατά " +"προτίμηση περίπου 120 επί 150 εικονοστοιχεία. Αφού ένα αναγνωριστικό " +"φωτογραφίας επισυνάπτεται πάντα στο κλειδί του, μια μεγάλη φωτογραφία θα " +"αυξήσει το μέγεθος του κλειδιού και θα επιβραδύνει όλες τις λειτουργίες που " +"χρησιμοποιεί το κλειδί. Το Κωδικοί πρόσβασης και κλειδιά " +"προσαρμόζει τις μεγάλες φωτογραφίες στο βέλτιστο μέγεθος μετά την ερώτηση " +"για την επιβεβαίωσή σας." + +#. (itstool) path: credit/name +#: C/pgp-publish.page:15 C/pgp-retrieve-remote.page:15 +msgid "Aruna" +msgstr "Aruna" + +#. (itstool) path: info/desc +#: C/pgp-publish.page:20 +msgid "" +"Publish your public keys on key servers, or export and mail them to your friends." +msgstr "" +"Δημοσιεύστε τα δημόσια κλειδιά σας σε διακομιστές κλειδιών, ή εξάγετε και στείλτε τα στους φίλους σας." + +#. (itstool) path: page/title +#: C/pgp-publish.page:24 +msgid "Share your public keys" +msgstr "Μοιραστείτε τα δημόσια κλειδιά σας" + +#. (itstool) path: page/p +#: C/pgp-publish.page:26 +msgid "" +"If you want people to send you encrypted communication, you must share your " +"GnuPG key with them. To share your key with a selected few " +"people, export it and mail the resulting " +"keyfile to them. To allow anyone to retrieve and use your public key, publish it on a key server." +msgstr "" +"Αν θέλετε τα άτομα να σας στέλνουν με κρυπτογραφημένη επικοινωνία, πρέπει να " +"μοιραστείτε το κλειδί GnuPG μαζί τους. Για να μοιραστείτε το " +"κλειδί σας με λίγα επιλεγμένα άτομα, εξάγετέ το και στείλτε το τελικό αρχείο κλειδιών σε αυτούς. Για να επιτρέψετε σε " +"οποιονδήποτε να ανακτήσει και να " +"χρησιμοποιήσει το δημόσιο κλειδί σας, δημοσιεύστε το σε έναν διακομιστή " +"κλειδιών." + +#. (itstool) path: steps/title +#: C/pgp-publish.page:34 +msgid "How do I publish my key on a key server?" +msgstr "Πώς δημοσιεύω το κλειδί μου σε ένα διακομιστή κλειδιών;" + +#. (itstool) path: item/p +#: C/pgp-publish.page:39 +msgid "" +"From the list, select the Personal PGP key you want to publish." +msgstr "" +"Από τον κατάλογο, επιλέξτε το Προσωπικό κλειδί PGP που θέλετε να " +"δημοσιεύσετε." + +#. (itstool) path: item/p +#: C/pgp-publish.page:43 C/pgp-sync.page:40 +msgid "" +"Select Remote Sync " +"and Publish Keys…." +msgstr "" +"Επιλέξτε Απομακρυσμένο Συγχρονισμός και δημοσίευση κλειδιών…." + +#. (itstool) path: item/p +#: C/pgp-publish.page:47 +msgid "" +"Press the Key Servers button to see the list of " +"key servers on which you can publish your public key." +msgstr "" +"Πατήστε το πλήκτρο Διακομιστές κλειδιών για να " +"δείτε τον κατάλογο των διακομιστών κλειδιών στους οποίους μπορείτε να " +"δημοσιεύσετε το δημόσιο κλειδί σας." + +#. (itstool) path: item/p +#: C/pgp-publish.page:51 +msgid "" +"To publish your key on a key server, select the key server from the " +"Publish keys to menu." +msgstr "" +"Για να δημοσιεύσετε το κλειδί σας σε ένα διακομιστή κλειδιών, επιλέξτε τον " +"διακομιστή κλειδιών από το μενού Δημοσίευση κλειδιών σε." + +#. (itstool) path: item/p +#: C/pgp-publish.page:55 +msgid "" +"Press Close to go back to the previous dialog." +msgstr "" +"Πατήστε Κλείσιμο για να επιστρέψετε στον " +"προηγούμενο διάλογο." + +#. (itstool) path: item/p +#: C/pgp-publish.page:59 +msgid "Press Sync to finish." +msgstr "Πατήστε Συγχρονισμός για να τελειώσετε." + +#. (itstool) path: note/p +#: C/pgp-publish.page:74 +msgid "You need to be connected to the Internet while publishing your keys." +msgstr "" +"Χρειάζεται να συνδεθείτε με το διαδίκτυο, ενώ δημοσιεύετε τα κλειδιά σας." + +#. (itstool) path: note/title +#: C/pgp-publish.page:78 +msgid "What is a keyserver?" +msgstr "Τι είναι ένας διακομιστής κλειδιών;" + +#. (itstool) path: note/p +#: C/pgp-publish.page:79 +msgid "" +"Key servers are computers that store copies of public encryption keys " +"submitted to them, and share these copies with other key servers through the " +"Internet." +msgstr "" +"Οι διακομιστές κλειδιών είναι υπολογιστές που αποθηκεύουν αντίγραφα δημόσιων " +"κλειδιών κρυπτογράφησης που υποβλήθηκαν σε αυτούς και μοιράζουν αυτά τα " +"αντίγραφα με άλλους διακομιστές κλειδιών μέσα από το διαδίκτυο." + +#. (itstool) path: info/desc +#: C/pgp-retrieve-remote.page:20 +msgid "" +"If you want to send an urgent encrypted message to someone, but do not have " +"their key, you can retrieve their key from a remote key server." +msgstr "" +"Αν θέλετε να στείλετε ένα επείγον κρυπτογραφημένο μήνυμα σε κάποιον, αλλά " +"δεν έχετε το κλειδί του, μπορείτε να ανακτήσετε το κλειδί του από έναν " +"απομακρυσμένο διακομιστή κλειδιών." + +#. (itstool) path: page/title +#: C/pgp-retrieve-remote.page:25 +msgid "Retrieve remote keys" +msgstr "Ανάκτηση απομακρυσμένων κλειδιών" + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:27 +msgid "" +"You can retrieve someone's public GnuPG key from the Internet and store it " +"in Passwords and Keys." +msgstr "" +"Μπορείτε να ανακτήσετε το δημόσιο κλειδί GnuPG κάποιου από το διαδίκτυο και " +"να το αποθηκεύσετε στο Κωδικοί πρόσβασης και κλειδιά." + +#. (itstool) path: steps/title +#: C/pgp-retrieve-remote.page:31 +msgid "To retrieve a remote key:" +msgstr "Για να ανακτήσετε ένα απομακρυσμένο κλειδί:" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:33 +msgid "" +"Select Remote Find " +"Remote Keys…." +msgstr "" +"Επιλέξτε Απομακρυσμένο Εύρεση απομακρυσμένων κλειδιών…." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:37 +msgid "" +"Enter information about the key you wish to retrieve in the field provided. " +"Details like key ID or the key owner's email address give more accurate " +"results than the name of the key owner." +msgstr "" +"Εισάγετε πληροφορίες για το κλειδί που θέλετε να ανακτήσετε στο παρεχόμενο " +"πεδίο. Λεπτομέρειες όπως αναγνωριστικό κλειδιού ή η διεύθυνση αλληλογραφίας " +"του κατόχου του κλειδιού δίνουν πιο ακριβή αποτελέσματα από το όνομα του " +"κατόχου του κλειδιού." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:42 +msgid "Press the Search button." +msgstr "Πατήστε το πλήκτρο Αναζήτηση." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:45 +msgid "" +"From the list of search results, select the key you want to import, right " +"click on it and select Import. Alternatively, " +"you can also press the Import button present at " +"the top of the dialog after selecting the key." +msgstr "" +"Από τον κατάλογο των αποτελεσμάτων αναζήτησης, επιλέξτε το κλειδί που θέλετε " +"να εισάγετε, κάντε δεξί κλικ το και επιλέξτε Εισαγωγή. Εναλλακτικά, μπορείτε να πατήσετε επίσης το πλήκτρο Εισαγωγή που εμφανίζεται στην κορυφή του διαλόγου " +"μετά την επιλογή του κλειδιού." + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:52 +msgid "The imported key will be listed in the GnuPG keys keyring." +msgstr "" +"Το εισαγόμενο κλειδί θα καταχωριστεί στην κλειδοθήκη Κλειδιά GnuPG." + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:55 +msgid "" +"If you cannot see the retrieved key, please select ViewShow any." +msgstr "" +"Αν δεν μπορείτε να δείτε το ανακτημένο κλειδί, παρακαλούμε να επιλέξετε " +"ΠροβολήΕμφάνιση όλων." + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:60 +msgid "" +"If you want more information about a key, before importing it, select it, " +"and press the properties button found at the top of the dialog. " +"Alternatively you can also right click on the key and select Properties. This opens a new window that displays " +"information like the key ID, key fingerprint, level of trust, owner's name, " +"etc." +msgstr "" +"Αν θέλετε περισσότερες πληροφορίες για ένα κλειδί, πριν να το εισάγετε, " +"επιλέξτε το και πατήστε το πλήκτρο ιδιότητες που βρίσκεται στην κορυφή του " +"διαλόγου. Εναλλακτικά, μπορείτε να κάνετε δεξί κλικ επίσης στο κλειδί και να " +"επιλέξετε Ιδιότητες. Αυτό ανοίγει ένα νέο " +"παράθυρο που εμφανίζει πληροφορίες όπως το αναγνωριστικό κλειδιού, το " +"δακτυλικό αποτύπωμα του κλειδιού, το επίπεδο εμπιστοσύνης, το όνομα του " +"κατόχου, κλπ." + +#. (itstool) path: info/desc +#: C/pgp-sign.page:19 +msgid "If you trust a key, you can sign it." +msgstr "Αν εμπιστεύεστε ένα κλειδί, μπορείτε να το υπογράψετε." + +#. (itstool) path: page/title +#: C/pgp-sign.page:22 +msgid "Sign keys" +msgstr "Υπογραφή κλειδιών" + +#. (itstool) path: page/p +#: C/pgp-sign.page:24 +msgid "" +"To show that you trust and vouch for the genuineness of someone's key, you " +"can sign it. A person's key must be signed only after you compare the user ID on the key with a valid proof of their " +"identity, such as a passport, driver's license, or similar. If the two IDs " +"match, the key is said to be trustworthy." +msgstr "" +"Για να δείξετε ότι εμπιστεύεστε και εγγυάσθε για την γνησιότητα του κλειδιού " +"κάποιου, μπορείτε να την υπογράψετε. Το κλειδί κάποιου πρέπει να υπογραφεί " +"μόνο αφού συγκρίνετε το αναγνωριστικό χρήστη με το κλειδί με μια έγκυρη απόδειξη της ταυτότητάς του, όπως ένα " +"διαβατήριο, άδεια οδήγησης, ή παρόμοια. Αν δύο αναγνωριστικά ταιριάζουν, το " +"κλειδί θεωρείται αξιόπιστο." + +#. (itstool) path: steps/title +#: C/pgp-sign.page:31 +msgid "To sign a key:" +msgstr "Για να υπογράψετε ένα κλειδί:" + +#. (itstool) path: item/p +#: C/pgp-sign.page:33 +msgid "" +"Import the remote key or keyfile containing the key to be signed into " +"Passwords and Keys." +msgstr "" +"Εισάγετε το απομακρυσμένο κλειδί ή " +"αρχείο κλειδιών που περιέχει το κλειδί προς " +"υπογραφή στο Κωδικοί πρόσβασης και κλειδιά." + +#. (itstool) path: item/p +#: C/pgp-sign.page:38 +msgid "From the list of GnuPG keys select the imported key." +msgstr "" +"Από τον κατάλογο κλειδιά GnuPG επιλέξτε το εισαγόμενο κλειδί." + +#. (itstool) path: item/p +#: C/pgp-sign.page:41 +msgid "" +"Right click the key and select PropertiesTrust." +msgstr "" +"Κάντε δεξί κλικ το κλειδί και επιλέξτε ΙδιότητεςΈμπιστο." + +#. (itstool) path: item/p +#: C/pgp-sign.page:45 +msgid "Press the Sign this Key button." +msgstr "" +"Πατήστε το πλήκτρο Υπογραφή αυτού του κλειδιού." + +#. (itstool) path: item/p +#: C/pgp-sign.page:48 +msgid "" +"Depending on how carefully you have checked the key, choose one out of Not at all, Casually or Very carefully." +msgstr "" +"Ανάλογα με το πόσο προσεκτικά έχετε σημειώσει το κλειδί, επιλέξτε ένα από τα " +"Καθόλου, Ευκαιριακά ή Πολύ προσεκτικά." + +#. (itstool) path: item/p +#: C/pgp-sign.page:54 +msgid "" +"Decide if you want to revoke your signature at a later date and if you want " +"to make your signature public, by ticking the checkboxes provided." +msgstr "" +"Αποφασίστε αν θέλετε να ανακαλέσετε την υπογραφή σας σε μια μεταγενέστερη " +"ημερομηνία και αν θέλετε να κάνετε την υπογραφή σας δημόσια, σημειώνοντας τα " +"παρεχόμενα πλαίσια ελέγχου." + +#. (itstool) path: item/p +#: C/pgp-sign.page:59 +msgid "" +"When you own more than one PGP key, select the key you want to sign with, " +"from the list next to Signer." +msgstr "" +"Όταν κατέχετε περισσότερα από ένα κλειδί PGP, επιλέξτε το κλειδί με το οποίο " +"θέλετε να υπογράψετε, από τον κατάλογο δίπλα στο Υπογράφων." + +#. (itstool) path: item/p +#: C/pgp-sign.page:63 +msgid "Press the Sign button to finish." +msgstr "" +"Πατήστε το πλήκτρο Υπογραφή για να τελειώσετε." + +#. (itstool) path: note/title +#: C/pgp-sign.page:68 +msgid "Can I sign my own keys?" +msgstr "Μπορώ να υπογράψω τα δικά μου κλειδιά;" + +#. (itstool) path: note/p +#: C/pgp-sign.page:69 +msgid "" +"When you create a new GnuPG key, " +"it is automatically signed by you. Any new subkeys created using a GnuPG key, will also be signed " +"automatically." +msgstr "" +"Όταν δημιουργείτε ένα νέο κλειδί " +"GnuPG, υπογράφεται αυτόματα από εσάς. Κάθε νέο υποκλειδί που δημιουργήθηκε χρησιμοποιώντας ένα κλειδί " +"GnuPG, θα υπογράφεται επίσης αυτόματα." + +#. (itstool) path: info/desc +#: C/pgp-subkeys.page:19 +msgid "" +"A subkey is always bound to a master key in a PGP keypair. It is used for " +"encryption." +msgstr "" +"Ένα υποκλειδί συνδέεται πάντα με το κύριο κλειδί σε ένα ζεύγος κλειδιών PGP. " +"Χρησιμοποιείται για κρυπτογράφηση." + +#. (itstool) path: page/title +#: C/pgp-subkeys.page:23 +msgid "What is a subkey?" +msgstr "Τι είναι ένα υποκλειδί;" + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:25 +msgid "" +"Though it is very important to keep your keys safe, it can become quite " +"tedious to do so when you have many keys. Passwords and Keys " +"provides a simple solution to key safety by using subkeys for " +"signing and encryption." +msgstr "" +"Αν και είναι πολύ σημαντικό να κρατάτε ασφαλή τα κλειδιά σας, μπορεί να " +"γίνει αρκετά κουραστικό να το κάνετε όταν έχετε πολλά κλειδιά. Το " +"Κωδικοί πρόσβασης και κλειδιά παρέχει μια απλή λύση στην ασφάλεια " +"του κλειδιού χρησιμοποιώντας τα υποκλειδιά για υπογραφή και " +"κρυπτογράφηση." + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:30 +msgid "" +"Whenever you create a new public encryption " +"key, a keypair is generated instead of a single key. This keypair " +"consists of a main key, also called the master key and a " +"subkey. A master key can be used to create additional subkeys that " +"are then bound to it." +msgstr "" +"Όποτε δημιουργείτε ένα νέο δημόσιο κλειδί " +"κρυπτογράφησης, δημιουργείται ένα ζεύγος κλειδιών αντί για ένα " +"μοναδικό κλειδί. Αυτό το ζεύγος κλειδιών αποτελείται από το βασικό κλειδί, " +"που λέγεται επίσης κύριο κλειδί και ένα υποκλειδί. Το " +"κύριο κλειδί μπορεί να χρησιμοποιηθεί για να δημιουργήσει πρόσθετα " +"υποκλειδιά που είναι δεσμευμένα σε αυτό." + +#. (itstool) path: list/title +#: C/pgp-subkeys.page:37 +msgid "What does each key in a keypair do?" +msgstr "Τι κάνει κάθε κλειδί σε ένα ζεύγος κλειδιών;" + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:39 +msgid "" +"The master key is used for signing " +"other keys, creating subkeys and revoking subkeys. Your master key must be kept very safe. Signatures of trust " +"are also collected on your master key. If the master key is compromised, you " +"have no choice but to revoke it and all the subkeys attached to it." +msgstr "" +"Το κύριο κλειδί χρησιμοποιείται για την υπογραφή άλλων κλειδιών, δημιουργώντας υποκλειδιά και ανακαλώντας υποκλειδιά. Το κύριο κλειδί πρέπει να " +"κρατιέται πολύ ασφαλές. Οι υπογραφές εμπιστοσύνης συλλέγονται επίσης στο " +"κύριο κλειδί σας. Αν το κύριο κλειδί εκτίθεται, δεν έχετε άλλη επιλογή από " +"την ανάκλησή του καθώς και όλων των υποκλειδιών που είναι προσαρτημένα σε " +"αυτό." + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:47 +msgid "" +"The default subkey is used for encryption and decryption of " +"messages. Additional subkeys can be created for signing. Though it is " +"important that your subkeys are kept safe, you can always revoke a subkey if " +"it is compromised and create a new one with the original master key." +msgstr "" +"Το προεπιλεγμένο υποκλειδί χρησιμοποιείται για κρυπτογράφηση και " +"αποκρυπτογράφηση των μηνυμάτων. Πρόσθετα υποκλειδιά μπορούν να δημιουργηθούν " +"για υπογραφή. Αν και είναι σημαντικό να διατηρούνται ασφαλή τα κλειδιά σας, " +"μπορείτε να ανακαλέσετε πάντα ένα υποκλειδί αν είναι εκτεθειμένο και να " +"δημιουργήσετε ένα νέο με το αρχικό κύριο κλειδί." + +#. (itstool) path: section/title +#: C/pgp-subkeys.page:56 +msgid "More about subkeys" +msgstr "Περισσότερα για τα υποκλειδιά" + +#. (itstool) path: info/desc +#: C/pgp-sync.page:20 +msgid "" +"Synchronize information present in your local key with the corresponding key " +"on a key server." +msgstr "" +"Συγχρονίστε τις πληροφορίες που εμφανίζονται στο τοπικό σας κλειδί με το " +"αντίστοιχο κλειδί σε ένα διακομιστή κλειδιών." + +#. (itstool) path: page/title +#: C/pgp-sync.page:24 +msgid "Synchronize your keys" +msgstr "Συγχρονισμός των κλειδιών σας" + +#. (itstool) path: page/p +#: C/pgp-sync.page:26 +msgid "" +"PGP keys in your keyring have to be synchronized with a key server to ensure " +"that any changes made to the key on the key server, like a new signature, " +"are updated in your local copy of the key. Similarly, when you change " +"information on your local key copy, like the expiration date, or when you " +"sign someone's key, you should synchronize the keys to update the changes on " +"the remote copy of the key. You need a working Internet connection to " +"synchronize your keys." +msgstr "" +"Τα κλειδιά PGP στην κλειδοθήκη σας πρέπει να είναι συγχρονισμένα με ένα " +"διακομιστή κλειδιών για να εξασφαλίσετε ότι κάθε αλλαγή που γίνεται στο " +"κλειδί και στον διακομιστή κλειδιών, όπως μια νέα υπογραφή, ενημερώνονται " +"στο τοπικό σας αντίγραφο του κλειδιού. Παρόμοια, όταν αλλάζετε πληροφορίες " +"στο αντίγραφο του τοπικού σας κλειδιού, όπως ημερομηνία λήξης, ή όταν " +"υπογράφετε το κλειδί κάποιου, θα πρέπει να συγχρονίζετε τα κλειδιά για να " +"ενημερώνουν τις αλλαγές στο απομακρυσμένο αντίγραφο του κλειδιού. Χρειάζεστε " +"μια ενεργή σύνδεση διαδικτύου για να συγχρονίσετε τα κλειδιά σας." + +#. (itstool) path: steps/title +#: C/pgp-sync.page:35 +msgid "How do I synchronize a key?" +msgstr "Πώς συγχρονίζω ένα κλειδί;" + +#. (itstool) path: item/p +#: C/pgp-sync.page:37 +msgid "Select the PGP key you wish to synchronize." +msgstr "Επιλέξτε το κλειδί PGP που θέλετε να συγχρονίσετε." + +#. (itstool) path: item/p +#: C/pgp-sync.page:44 +msgid "" +"Click the Sync button to synchronize your key." +msgstr "" +"Πατήστε το πλήκτρο Συγχρονισμός για να " +"συγχρονίσετε το κλειδί σας." + +#. (itstool) path: note/title +#: C/pgp-sync.page:50 +msgid "Why is the Sync button not clickable?" +msgstr "" +"Γιατί είναι το πλήκτρο Συγχρονισμός δεν μπορεί " +"να πατηθεί;" + +#. (itstool) path: note/p +#: C/pgp-sync.page:52 +msgid "" +"Only PGP keys that have been published on a key server can be synchronized. " +"If the Sync button is not clickable, check if " +"the key has been published on a key server. In the case of synchronizing " +"your own keys, publish them, before synchronizing them." +msgstr "" +"Μόνο τα κλειδιά PGP που έχουν δημοσιευτεί στον διακομιστή κλειδιών μπορούν " +"να συγχρονιστούν. Αν το πλήκτρο Συγχρονισμός δεν " +"μπορεί να πατηθεί, ελέγξτε αν το κλειδί έχει δημοσιευτεί σε έναν διακομιστή " +"κλειδιών. Στην περίπτωση συγχρονισμού των δικών σας κλειδιών, δημοσιεύστε " +"τα, πριν να τα συγχρονίσετε." + +#. (itstool) path: info/desc +#: C/pgp-userid-add.page:20 +msgid "" +"Having many user IDs helps you to use the same key to communicate with " +"different people." +msgstr "" +"Το να έχετε πολλά αναγνωριστικά χρήστη σας βοηθά να χρησιμοποιείτε το ίδιο " +"κλειδί για να επικοινωνείτε με διαφορετικά άτομα." + +#. (itstool) path: page/title +#: C/pgp-userid-add.page:24 +msgid "Add extra user IDs to a key" +msgstr "Προσθέστε πρόσθετα αναγνωριστικά χρήστη σε ένα κλειδί" + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:26 +msgid "" +"A key can have multiple user IDs. This is helpful when you want to use the " +"same key while communicating with several people and one of them does not " +"recognize, say, the email address in your user ID. This person may not want " +"to import your public key since it contains information that they do not " +"know. In such scenarios, if you do not want to create a new key with a " +"different user ID, you can attach a new user ID to your existing key." +msgstr "" +"Ένα κλειδί μπορεί να έχει πολλά αναγνωριστικά χρήστη. Αυτό βοηθά όταν θέλετε " +"να χρησιμοποιήσετε το ίδιο κλειδί, ενώ επικοινωνείτε με πολλά άτομα και ένα " +"από αυτά δεν αναγνωρίζει, ας πούμε, τη διεύθυνση αλληλογραφίας του " +"αναγνωριστικού σας ως χρήστη. Αυτό το άτομο μπορεί να μη θέλει να εισάγει το " +"δημόσιο κλειδί σας, αφού περιέχει πληροφορίες που δεν ξέρουν. Σε τέτοια " +"σενάρια, αν δεν θέλετε να δημιουργήσετε ένα νέο κλειδί με ένα διαφορετικό " +"αναγνωριστικό χρήστη, μπορείτε να επισυνάψετε ένα νέο αναγνωριστικό χρήστη " +"στο υπάρχον κλειδί σας." + +#. (itstool) path: steps/title +#: C/pgp-userid-add.page:34 +msgid "To add an extra user ID:" +msgstr "Για να προσθέσετε ένα πρόσθετο αναγνωριστικό χρήστη:" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:39 +msgid "From the list, select the Personal PGP key of your choice." +msgstr "" +"Από τον κατάλογο, επιλέξτε το Προσωπικό κλειδί PGP της επιλογής " +"σας." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:43 +msgid "" +"Right click on the key and select Properties Names " +"and Signatures." +msgstr "" +"Κάντε δεξί κλικ το κλειδί και επιλέξτε Ιδιότητες " +"Ονόματα και υπογραφές." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:47 +msgid "" +"Click the Add Name button to add a new user ID." +msgstr "" +"Πατήστε το πλήκτρο Προσθήκη ονόματος για να " +"προσθέσετε ένα νέο αναγνωριστικό χρήστη." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:51 +msgid "" +"In the new dialog, fill in details like Full Name, Email " +"Address and Key Comment for the new user ID." +msgstr "" +"Στον νέο διάλογο, συμπληρώστε τις λεπτομέρειες όπως Πλήρες όνομα, " +"Διεύθυνση αλληλογραφίας και Σχόλιο κλειδιού για το νέο " +"αναγνωριστικό χρήστη." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:56 +msgid "" +"Enter the correct passphrase and click OK to " +"finish." +msgstr "" +"Εισάγετε το σωστό συνθηματικό και πατήστε Εντάξει για να ολοκληρώσετε." + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:61 +msgid "" +"Your new user ID will now be listed under the Names and Signatures panel." +msgstr "" +"Το νέο αναγνωριστικό χρήστη θα καταχωριστεί τώρα στο παράθυρο Ονόματα " +"και υπογραφές." + +#. (itstool) path: note/p +#: C/pgp-userid-add.page:65 +msgid "" +"If your key has been published on a key server, synchronize it after adding new user IDs to update the remote copy " +"of the key." +msgstr "" +"Αν το κλειδί σας έχει δημοσιευτεί σε ένα διακομιστή κλειδιών, συγχρονίστε τον μετά την προσθήκη νέων αναγνωριστικών " +"χρήστη για να ενημερώσετε το απομακρυσμένο αντίγραφο του κλειδιού." + +#. (itstool) path: info/desc +#: C/pgp-userid-primary.page:19 +msgid "Change your default user ID" +msgstr "Αλλαγή του προεπιλεγμένου αναγνωριστικού χρήστη" + +#. (itstool) path: page/title +#: C/pgp-userid-primary.page:22 +msgid "What is a primary user ID?" +msgstr "Τι είναι το αναγνωριστικό ενός κύριου χρήστη;" + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:24 +msgid "" +"When you have multiple user IDs, one of the user IDs is made the primary " +"user ID. Passwords and Keys will attach the primary user ID by " +"default with your key information, while encrypting or signing, unless you " +"explicitly choose another user ID instead." +msgstr "" +"Όταν έχετε πολλά αναγνωριστικά χρήστη, ένα από τα αναγνωριστικά χρήστη " +"γίνεται το κύριο αναγνωριστικό χρήστη. Το Κωδικοί πρόσβασης και " +"κλειδιά θα επισυνάψει το πρωτεύον αναγνωριστικό χρήστη από προεπιλογή " +"με τις πληροφορίες του κλειδιού σας, ενώ κρυπτογραφείτε ή υπογράφετε, εκτός " +"και επιλέξετε ρητά κάποιο άλλο αναγνωριστικό χρήστη." + +#. (itstool) path: steps/title +#: C/pgp-userid-primary.page:30 +msgid "To change the primary user ID in a PGP key:" +msgstr "Για να αλλάξετε το αναγνωριστικό κύριου χρήστη σε ένα κλειδί PGP:" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:35 C/subkeys-add.page:34 +msgid "Select the Personal PGP key from the list." +msgstr "Επιλέξτε το Προσωπικό κλειδί PGP από τον κατάλογο." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:38 +msgid "" +"Right click on the selected key and select Properties " +"Names and Signatures." +msgstr "" +"Κάντε δεξί κλικ το επιλεγμένο κλειδί και επιλέξτε Ιδιότητες Ονόματα και υπογραφές." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:43 +msgid "" +"Select the new primary user ID from the list and click Primary." +msgstr "" +"Επιλέξτε ρο νέο αναγνωριστικό κύριου χρήστη από τον κατάλογο και πατήστε " +"Κύριο." + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:48 +msgid "" +"The user ID will move to the top of the Names and Signatures list " +"to become your primary user ID." +msgstr "" +"Το αναγνωριστικό χρήστη θα μετακινηθεί στην κορυφή του καταλόγου " +"Ονόματα και υπογραφές για να γίνει το αναγνωριστικό κύριου χρήστη." + +#. (itstool) path: note/p +#: C/pgp-userid-primary.page:52 +msgid "" +"Sync your keys after changing your primary user ID to update the remote " +"copies of your key." +msgstr "" +"Συγχρονίστε τα κλειδιά σας μετά την αλλαγή του αναγνωριστικού κύριου χρήστη " +"για να ενημερώσετε τα απομακρυσμένα αντίγραφα του κλειδιού σας." + +#. (itstool) path: info/desc +#: C/pgp-userid-remove.page:20 +msgid "Remove extra user IDs" +msgstr "Αφαιρέστε τα πρόσθετα αναγνωριστικά χρήστη" + +#. (itstool) path: page/title +#: C/pgp-userid-remove.page:23 +msgid "Detach a user ID from a key" +msgstr "Αποσπάστε ένα αναγνωριστικό χρήστη από ένα κλειδί" + +#. (itstool) path: page/p +#: C/pgp-userid-remove.page:25 +msgid "" +"While it is essential that all keys have at least one user ID, you can " +"remove any additional user IDs that you have attached to the key." +msgstr "" +"Ενώ είναι βασικό όλα τα κλειδιά να έχουν τουλάχιστον ένα αναγνωριστικό " +"χρήστη, μπορείτε να αφαιρέσετε οποιαδήποτε πρόσθετα αναγνωριστικά χρήστη που " +"έχετε επισυνάψει στο κλειδί." + +#. (itstool) path: steps/title +#: C/pgp-userid-remove.page:29 +msgid "To remove a user ID from a PGP key:" +msgstr "Για να αφαιρέσετε ένα αναγνωριστικό χρήστη από ένα κλειδί PGP:" + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:34 +msgid "Select the Personal PGP key list." +msgstr "Επιλέξτε τον κατάλογο Προσωπικό κλειδί PGP." + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:37 +msgid "" +"Right click on the selected key and choose Properties " +"Names and Signatures." +msgstr "" +"Κάντε δεξί κλικ το επιλεγμένο κλειδί και επιλέξτε Ιδιότητες Ονόματα και υπογραφές." + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:42 +msgid "" +"Select the user ID you want to remove and click Delete." +msgstr "" +"Επιλέξτε το αναγνωριστικό χρήστη που θέλετε να αφαιρέσετε και πατήστε Διαγραφή." + +#. (itstool) path: note/p +#: C/pgp-userid-remove.page:48 +msgid "" +"Synchronize your keys after detaching the " +"user ID to update the changes on the remote copy of the key." +msgstr "" +"Ο Συγχρονισμός των κλειδιών σας μετά την " +"απόσπαση του αναγνωριστικού χρήστη ενημερώνει τις αλλαγές στο απομακρυσμένο " +"αντίγραφο του κλειδιού." + +#. (itstool) path: info/desc +#: C/pgp-userid.page:19 +msgid "Create keys with good user IDs and learn to add and remove user IDs." +msgstr "" +"Δημιουργείστε κλειδιά με καλά αναγνωριστικά χρήστη και μάθετε να προσθέτετε " +"και να αφαιρείτε αναγνωριστικά χρήστη." + +#. (itstool) path: page/title +#: C/pgp-userid.page:23 +msgid "What is a user ID?" +msgstr "Τι είναι ένα αναγνωριστικό χρήστη;" + +#. (itstool) path: page/p +#: C/pgp-userid.page:25 +msgid "" +"When you create a key, you provide details, like your name, email and a key " +"description. This information together constitutes a user ID. A good user ID " +"helps people to recognize your key when they are trying to retrieve or import " +"it. It is important to fill in authentic information while creating your " +"user ID." +msgstr "" +"Όταν δημιουργείτε ένα κλειδί, παρέχετε λεπτομέρειες, όπως το όνομά σας, " +"ηλεκτρονική διεύθυνση και μια περιγραφή του κλειδιού. Αυτές οι πληροφορίες " +"μαζί συνιστούν ένα αναγνωριστικό χρήστη. Ένα καλό αναγνωριστικό χρήστη βοηθά " +"τα άτομα να αναγνωρίσουν το κλειδί σας όταν προσπαθείτε να ανακτήσετε ή να το εισάγετε. Είναι σημαντικό να συμπληρώσετε τις αυθεντικές " +"πληροφορίες ενώ δημιουργείτε το δικό σας αναγνωριστικό χρήστη." + +#. (itstool) path: section/title +#: C/pgp-userid.page:33 +msgid "Add, remove user IDs" +msgstr "Προσθήκη, αφαίρεση αναγνωριστικών χρήστη" + +#. (itstool) path: info/desc +#: C/ssh-connect-remote.page:23 +msgid "Use SSH keys to log in to another computer without entering a password." +msgstr "" +"Χρησιμοποιήστε κλειδιά SSH για να συνδεθείτε σε έναν άλλον υπολογιστή χωρίς " +"να εισάγετε κωδικό πρόσβασης." + +#. (itstool) path: page/title +#: C/ssh-connect-remote.page:27 +msgid "Connect to other computers" +msgstr "Σύνδεση με άλλους υπολογιστές" + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:29 +msgid "" +"You can use Passwords and Keys to install your SSH key onto a " +"remote computer that can run an SSH server. You can also set up your SSH key for remote login " +"while creating the key." +msgstr "" +"Μπορείτε να χρησιμοποιήσετε το Κωδικοί πρόσβασης και κλειδιά για " +"να εγκαταστήσετε το κλειδί σας SSH σε έναν απομακρυσμένο υπολογιστή που " +"μπορεί να τρέξει ένα διακομιστή SSH. Μπορείτε επίσης να ρυθμίσετε το κλειδί σας SSH για " +"απομακρυσμένη σύνδεση ενώ δημιουργείτε το κλειδί." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:36 +msgid "" +"Right click on the SSH key and select Configure Key for " +"Secure Shell…." +msgstr "" +"Κάντε δεξί κλικ το κλειδί SSH και επιλέξτε το Ρύθμιση " +"κλειδιού για ασφαλές κέλυφος…." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:40 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH, and press " +"Set Up." +msgstr "" +"Στο παράθυρο διαλόγου που ανοίγει, εισάγετε την Διεύθυνση διακομιστή που χρησιμοποιείτε κανονικά για να συνδεθείτε σε έναν απομακρυσμένο " +"υπολογιστή μέσα από SSH και πατήστε Ρύθμιση." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:45 C/ssh-create.page:106 +msgid "" +"The program will now attempt to connect to the specified Server " +"address with the entered Login Name.If there are any " +"problems in accessing the remote computer, a pop-up window will appear that " +"explains the problem, and you can try again. Make sure that you have a " +"network connection and that the remote computer is on and accessible." +msgstr "" +"Το πρόγραμμα θα προσπαθήσει τώρα να συνδέσει τη συγκεκριμένη Διεύθυνση " +"διακομιστή με το εισερχόμενο όνομα σύνδεσης. Αν υπάρχουν " +"προβλήματα στην πρόσβαση του απομακρυσμένου υπολογιστή, θα εμφανιστεί ένα " +"αναδυόμενο παράθυρο που εξηγεί το πρόβλημα και μπορείτε να ξαναπροσπαθήσετε. " +"Βεβαιωθείτε ότι έχετε μια σύνδεση δικτύου και ότι ο απομακρυσμένος " +"υπολογιστής είναι ενεργός και προσβάσιμος." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:53 C/ssh-create.page:114 +msgid "" +"If connection to the remote computer was successful, a dialog box will " +"appear which asks for the Password you use to log in to the " +"remote computer. Enter your password, then press OK." +msgstr "" +"Αν η σύνδεση με τον απομακρυσμένο υπολογιστή ήταν πετυχημένη, ένα πλαίσιο " +"διαλόγου θα εμφανιστεί που θα ζητά τον κωδικό πρόσβασης που " +"χρησιμοποιείτε για να συνδεθείτε στον απομακρυσμένο υπολογιστή. Εισάγετε τον " +"κωδικό πρόσβασης σας, έπειτα πατήστε Εντάξει." + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:60 +msgid "" +"You should now be able to log in to the remote computer via SSH without a " +"password." +msgstr "" +"Θα πρέπει τώρα να μπορείτε να συνδεθείτε στον απομακρυσμένο υπολογιστή μέσα " +"από SSH χωρίς έναν κωδικό πρόσβασης." + +#. (itstool) path: info/desc +#: C/ssh-create.page:30 +msgid "Create SSH keys to log in to other computers." +msgstr "Δημιουργία κλειδιών SSH για σύνδεση με άλλους υπολογιστές." + +#. (itstool) path: page/title +#: C/ssh-create.page:33 +msgid "Create a new SSH key" +msgstr "Δημιουργία ενός νέου κλειδιού SSH" + +#. (itstool) path: page/p +#: C/ssh-create.page:35 +msgid "" +"An SSH key will help you to create a secure connection between computers. " +"Creating an SSH key creates both a Public and a Private " +"key. Here is how to create a new key:" +msgstr "" +"Ένα κλειδί SSH θα σας βοηθήσει να δημιουργήσετε μια ασφαλή σύνδεση μεταξύ " +"υπολογιστών. Η δημιουργία ενός κλειδιού SSH δημιουργεί ταυτόχρονα ένα " +"δημόσιο και ένα ιδιωτικό κλειδί. Να πώς μπορείτε να " +"δημιουργήσετε ένα νέο κλειδί:" + +#. (itstool) path: item/p +#: C/ssh-create.page:41 +msgid "Select Secure Shell Key and then click Continue." +msgstr "" +"Επιλέξτε Ασφαλές κλειδί κελύφους και έπειτα πατήστε " +"Συνέχεια." + +#. (itstool) path: item/p +#: C/ssh-create.page:43 +msgid "" +"Enter a description for the key. The key description will help you to " +"identify the key later. For example, you could enter the date for the day, " +"something about how the key will be used, or the server name on which you " +"intend to install the key. The description field is optional, and how you " +"describe the key is entirely up to you." +msgstr "" +"Εισάγετε μια περιγραφή για το κλειδί. Η περιγραφή του κλειδιού θα σας " +"βοηθήσει να αναγνωρίσετε το κλειδί αργότερα. Για παράδειγμα, μπορείτε να " +"εισάγετε την ημερομηνία για την ημέρα, κάτι για το πώς θα χρησιμοποιηθεί το " +"κλειδί, ή το όνομα του διακομιστή στον οποίον σκοπεύετε να εγκαταστήσετε το " +"κλειδί. Το πεδίο περιγραφής είναι προαιρετικό και το πώς περιγράφετε το " +"κλειδί εξαρτάται αποκλειστικά από εσάς." + +#. (itstool) path: item/p +#: C/ssh-create.page:48 +msgid "" +"You can change default settings for encryption type or key strength by " +"expanding the Advanced key options panel." +msgstr "" +"Μπορείτε να αλλάξετε τις προεπιλεγμένες ρυθμίσεις για τον τύπο " +"κρυπτογράφησης ή την ισχύ του κλειδιού επεκτείνοντας το φάτνωμα " +"Προχωρημένες επιλογές κλειδιού." + +#. (itstool) path: page/p +#: C/ssh-create.page:52 +msgid "" +"At this point, you can just create your key, or create your key and install " +"it on a remote computer to enable password-free login." +msgstr "" +"Σε αυτό το σημείο, μπορείτε να δημιουργήσετε απλά το κλειδί σας, ή να το " +"δημιουργήσετε και να το εγκαταστήσετε σε έναν απομακρυσμένο υπολογιστή για " +"να ενεργοποιήσετε τον κωδικό πρόσβασης-ελεύθερης σύνδεσης." + +#. (itstool) path: section/title +#: C/ssh-create.page:56 +msgid "Create your key and do not set up remote login" +msgstr "Δημιουργήστε το κλειδί σας και μην ρυθμίσετε την απομακρυσμένη σύνδεση" + +#. (itstool) path: section/p +#: C/ssh-create.page:57 +msgid "You can create the SSH key, and choose to set it up later." +msgstr "" +"Μπορείτε να δημιουργήσετε το κλειδί SSH και να επιλέξετε τη μεταγενέστερη " +"ρύθμισή του." + +#. (itstool) path: item/p +#: C/ssh-create.page:61 +msgid "Press the Just Create Key button." +msgstr "" +"Πατήστε το πλήκτρο Δημιουργία απλώς κλειδιού." + +#. (itstool) path: item/p +#: C/ssh-create.page:64 +msgid "" +"Type a passphrase for your SSH key and press OK." +msgstr "" +"Πληκτρολογήστε ένα συνθηματικό για το κλειδί σας SSH και πατήστε Εντάξει." + +#. (itstool) path: item/p +#: C/ssh-create.page:68 +msgid "" +"Retype the passphrase and press OK to finish." +msgstr "" +"Ξαναπληκτρολογήστε το συνθηματικό και πατήστε Εντάξει για να τελειώσετε." + +#. (itstool) path: section/p +#: C/ssh-create.page:73 +msgid "The SSH key will now be listed in the OpenSSH keys keyring." +msgstr "" +"Το κλειδί SSH θα καταχωριστεί τώρα στην κλειδοθήκη Κλειδιά OpenSSH." + +#. (itstool) path: note/p +#: C/ssh-create.page:77 +msgid "" +"When you try to use your SSH key, your operating system will prompt you for " +"the passphrase used during creation. This ensures that if someone gets " +"access to your SSH key, they can't use it without the passphrase." +msgstr "" +"Όταν προσπαθείτε να χρησιμοποιήσετε το κλειδί σας SSH, το λειτουργικό σας " +"σύστημα θα σας ζητήσει το συνθηματικό που χρησιμοποιήθηκε κατά τη διάρκεια " +"της δημιουργίας. Αυτό διασφαλίζει ότι αν κάποιος πάρει πρόσβαση στο κλειδί " +"σας SSH, δεν θα μπορεί να το χρησιμοποιήσει χωρίς το συνθηματικό." + +#. (itstool) path: section/title +#: C/ssh-create.page:86 +msgid "Create your key and install it on a remote computer" +msgstr "" +"Δημιουργήστε το κλειδί σας και εγκαταστήστε το στον απομακρυσμένο υπολογιστή" + +#. (itstool) path: section/p +#: C/ssh-create.page:87 +msgid "" +"One of the most useful things about having an SSH key is that you can " +"install the public key on a remote computer. Doing this allows you to log in " +"to a remote computer with SSH without needing to enter your password every " +"time." +msgstr "" +"Ένα από τα πιο χρήσιμα πράγματα στο να έχετε ένα κλειδί SSH είναι ότι " +"μπορείτε να εγκαταστήσετε το δημόσιο κλειδί σε έναν απομακρυσμένο " +"υπολογιστή. Κάνοντας αυτό σας επιτρέπει να συνδεθείτε με ένα απομακρυσμένο " +"υπολογιστή με SSH χωρίς να χρειάζεστε να εισάγετε τον κωδικό πρόσβασης κάθε " +"φορά." + +#. (itstool) path: item/p +#: C/ssh-create.page:94 +msgid "" +"Press the Create and Set Up button, and follow " +"the above instructions on entering a passphrase." +msgstr "" +"Πατήστε το πλήκτρο Δημιουργία και ρύθμιση και " +"ακολουθήστε τις οδηγίες για την εισαγωγή ενός συνθηματικού." + +#. (itstool) path: item/p +#: C/ssh-create.page:98 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH." +msgstr "" +"Στο παράθυρο διαλόγου που ανοίγει, εισάγετε την Διεύθυνση διακομιστή που χρησιμοποιείτε κανονικά για να συνδεθείτε σε έναν απομακρυσμένο " +"υπολογιστή μέσα από SSH." + +#. (itstool) path: item/p +#: C/ssh-create.page:102 +msgid "" +"Ensure that the Login name you use on the remote computer is " +"correct, and press Set Up." +msgstr "" +"Βεβαιωθείτε ότι το όνομα σύνδεσης που χρησιμοποιείτε στον " +"απομακρυσμένο υπολογιστή είναι σωστό και πατήστε Ρύθμιση." + +#. (itstool) path: section/p +#: C/ssh-create.page:121 +msgid "" +"The public part of the selected SSH key will now be installed on the remote " +"computer and configured to allow password-free SSH login. You should now be " +"able to log in to the remote computer via SSH without a password." +msgstr "" +"Το δημόσιο μέρος του επιλεγμένου κλειδιού SSH θα εγκατασταθεί τώρα στον " +"απομακρυσμένο υπολογιστή και θα ρυθμιστεί για να επιτρέψει τη σύνδεση SSH " +"χωρίς κωδικό πρόσβασης. Θα πρέπει τώρα να μπορείτε να συνδεθείτε στον " +"απομακρυσμένο υπολογιστή μέσα από SSH χωρίς κωδικό πρόσβασης." + +#. (itstool) path: note/p +#: C/ssh-create.page:127 +msgid "" +"If SSH key authentication fails and you cannot use password authentication, " +"contact the service administrator for further help." +msgstr "" +"Αν αποτύχει η πιστοποίηση SSH και δεν μπορείτε να πιστοποιηθείτε με τον " +"κωδικό πρόσβασης, επικοινωνστε με τον διαχειριστή της υπηρεσίας για επιπλέον " +"βοήθεια." + +#. (itstool) path: info/desc +#: C/ssh-export.page:19 +msgid "Export your public and private SSH keys to store them in keyfiles." +msgstr "" +"Εξαγωγή των δημόσιων και ιδιωτικών κλειδιών SSH για να τα αποθηκεύσετε σε " +"αρχεία κλειδιών." + +#. (itstool) path: page/title +#: C/ssh-export.page:23 +msgid "Export SSH keys" +msgstr "Εξαγωγή κλειδιών SSH" + +#. (itstool) path: page/p +#: C/ssh-export.page:25 +msgid "" +"Export the contents of your SSH keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Εξάγετε τα περιεχόμενα των κλειδιών σας SSH και αποθηκεύστε τα σε αρχεία " +"κλειδιών, για να έχετε ένα αντίγραφο ασφαλείας των κλειδιών σας ή να " +"μοιραστείτε το δημόσιο κλειδί σας με κάποιον άλλον." + +#. (itstool) path: section/title +#: C/ssh-export.page:29 +msgid "To export your public SSH key:" +msgstr "Για να εξάγετε το δημόσιο κλειδί σας SSH:" + +#. (itstool) path: item/p +#: C/ssh-export.page:33 C/ssh-export.page:56 +msgid "Select the OpenSSH keys keyring from the left side panel." +msgstr "" +"Επιλέξτε την κλειδοθήκη Κλειδιά OpenSSH από το αριστερό πλευρικό " +"παράθυρο." + +#. (itstool) path: item/p +#: C/ssh-export.page:37 C/ssh-export.page:60 +msgid "" +"Select the Personal SSH key, that has to be exported, from the " +"list." +msgstr "" +"Επιλέξτε το Ιδιωτικό κλειδί SSH που πρέπει να εξαχθεί, από τον " +"κατάλογο." + +#. (itstool) path: item/p +#: C/ssh-export.page:44 +msgid "" +"Press the Export button to save the exported " +"public key on your computer." +msgstr "" +"Πατήστε το πλήκτρο Εξαγωγή για να αποθηκεύσετε " +"το εξαγόμενο δημόσιο κλειδί στον υπολογιστή σας." + +#. (itstool) path: section/title +#: C/ssh-export.page:52 +msgid "To export your private SSH key:" +msgstr "Για να εξάγετε το ιδιωτικό κλειδί σας SSH:" + +#. (itstool) path: item/p +#: C/ssh-export.page:68 +msgid "" +"Press the Export Private Key button to save the " +"exported private key on your computer." +msgstr "" +"Πατήστε το πλήκτρο Εξαγωγή ιδιωτικού κλειδιού " +"για να αποθηκεύσετε το εξαγόμενο ιδιωτικό κλειδί στον υπολογιστή σας." + +#. (itstool) path: note/p +#: C/ssh-export.page:74 +msgid "" +"Keep the exported private key file in a safe location, since the contents of " +"the file must be kept private, to prevent misuse of your key." +msgstr "" +"Κρατήστε το εξαγόμενο αρχείο ιδιωτικών κλειδιών σε μια ασφαλή θέση, αφού τα " +"περιεχόμενα του αρχείου πρέπει να κρατούνται ιδιωτικά, για να αποτραπεί η " +"κατάχρηση του κλειδιού σας." + +#. (itstool) path: info/desc +#: C/ssh-import.page:24 +msgid "Import SSH keys from keyfiles into Passwords and Keys." +msgstr "" +"Εισαγωγή κλειδιών SSH από αρχεία κλειδιών στο Κωδικοί πρόσβασης και " +"κλειδιά." + +#. (itstool) path: page/title +#: C/ssh-import.page:27 +msgid "Import SSH keys" +msgstr "Εισαγωγή κλειδιών SSH" + +#. (itstool) path: page/p +#: C/ssh-import.page:29 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports SSH keys from the ~/.ssh directory on " +"your computer. You can also manually import keys into Passwords and " +"Keys." +msgstr "" +"Αν έχετε δεχτεί ένα αρχείο κλειδιών με μήνυμα, μπορεί να θελήσετε να το " +"εισάγετε στο Κωδικοί πρόσβασης και κλειδιά. Στις περισσότερες " +"περιπτώσεις, το Κωδικοί πρόσβασης και κλειδιά εισάγει αυτόματα τα " +"κλειδιά PGP από τον κατάλογο ~/.ssh στον υπολογιστή σας. " +"Μπορείτε επίσης να εισάγετε κλειδιά χειροκίνητα στο Κωδικοί πρόσβασης " +"και κλειδιά." + +#. (itstool) path: item/p +#: C/ssh-import.page:42 +msgid "" +"In the new dialog, select the key you wish to import. Public SSH keys end " +"with .pub." +msgstr "" +"Στον νέο διάλογο, επιλέξτε το κλειδί που θέλετε να εισάγετε. Τα δημόσια " +"κλειδιά SSH τελειώνουν με .pub." + +#. (itstool) path: page/p +#: C/ssh-import.page:50 +msgid "" +"Imported keys are automatically grouped according to their type. So, " +"SSH keys are listed in the OpenSSH keys section." +msgstr "" +"Τα εισηγμένα κλειδιά ομαδοποιούνται αυτόματα σύμφωνα με τον τύπο τους. Έτσι, " +"τα κλειδιά SSH καταχωρίζονται στην ενότητα Κλειδιά " +"OpenSSH." + +#. (itstool) path: info/desc +#: C/subkeys-add.page:20 +msgid "Additional subkeys make your master key more secure." +msgstr "Πρόσθετα υποκλειδιά κάνουν το κύριο κλειδί σας πιο ασφαλές." + +#. (itstool) path: page/title +#: C/subkeys-add.page:23 +msgid "Add extra subkeys" +msgstr "Προσθήκη πρόσθετων υποκλειδιών" + +#. (itstool) path: page/p +#: C/subkeys-add.page:25 +msgid "" +"You can add extra subkeys to the same master key. You have to choose the " +"right subkey each time you want to encrypt or sign when you do this." +msgstr "" +"Μπορείτε να προσθέσετε πρόσθετα υποκλειδιά στο ίδιο κύριο κλειδί. Πρέπει να " +"επιλέξετε το σωστό υποκλειδί κάθε φορά που θέλετε να κρυπτογραφήσετε ή να " +"υπογράψετε." + +#. (itstool) path: steps/title +#: C/subkeys-add.page:29 +msgid "To add extra subkeys to a PGP key:" +msgstr "Για να προσθέσετε πρόσθετα υποκλειδιά σε ένα κλειδί PGP:" + +#. (itstool) path: item/p +#: C/subkeys-add.page:41 C/subkeys-examine.page:41 +msgid "If the Subkeys panel is not expanded, expand it." +msgstr "" +"Αν το παράθυρο Υποκλειδιά δεν είναι εκτεταμένο, επεκτείνετε το." + +#. (itstool) path: item/p +#: C/subkeys-add.page:44 +msgid "Click the Add button to add a new subkey." +msgstr "" +"Πατήστε το πλήκτρο Προσθήκη για να προσθέσετε " +"ένα νέο υποκλειδί." + +#. (itstool) path: item/p +#: C/subkeys-add.page:48 +msgid "" +"Choose the right properties for your key by selecting the appropriate " +"Key Type, Key Length and Expiration Date " +"and click OK." +msgstr "" +"Επιλέξτε τις σωστές ιδιότητες για το κλειδί σας επιλέγοντας τον κατάλληλο " +"Τύπο κλειδιού, Μήκος κλειδιού Ημερομηνία λήξης και πατήστε Εντάξει." + +#. (itstool) path: note/p +#: C/subkeys-add.page:55 +msgid "" +"Always ensure that your subkey expires before your master key since a subkey " +"is useless when its master key has expired." +msgstr "" +"Να εξασφαλίζετε πάντα ότι το υποκλειδί σας λήγει πριν το κύριο κλειδί, αφού " +"ένα υποκλειδί είναι άχρηστο όταν έχει λήξει το κύριο κλειδί του." + +#. (itstool) path: info/desc +#: C/subkeys-examine.page:20 +msgid "See all the subkeys listed under a PGP key." +msgstr "Δείτε όλα τα καταχωρισμένα υποκλειδιά κάτω από ένα κλειδί PGP." + +#. (itstool) path: page/title +#: C/subkeys-examine.page:23 +msgid "Where are my subkeys listed?" +msgstr "Πού είναι καταχωρισμένα τα υποκλειδιά μου;" + +#. (itstool) path: page/p +#: C/subkeys-examine.page:25 +msgid "" +"You can check the contents of a keypair to see the properties of a subkey." +msgstr "" +"Μπορείτε να σημειώσετε τα περιεχόμενα ενός ζεύγους κλειδιών για να δείτε τις " +"ιδιότητες ενός υποκλειδιού." + +#. (itstool) path: steps/title +#: C/subkeys-examine.page:29 +msgid "To see all the subkeys in a PGP key:" +msgstr "Για να δείτε όλα τα υποκλειδιά σε ένα κλειδί PGP:" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:31 +msgid "Select the GnuPG keys from the left side panel." +msgstr "" +"Επιλέξτε το Κλειδιά GnuPG από το αριστερό πλευρικό παράθυρο." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:34 +msgid "Select the Personal PGP key." +msgstr "Επιλέξτε το Προσωπικό κλειδί PGP." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:37 +msgid "" +"Right click on the key chosen in the previous step and select " +"PropertiesDetails." +msgstr "" +"Κάντε δεξί κλικ το επιλεγμένο κλειδί στο προηγούμενο βήμα και επιλέξτε " +"ΙδιότητεςΛεπτομέρειες." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:44 +msgid "All the subkeys for the selected PGP key will be listed in the panel." +msgstr "" +"Όλα τα υποκλειδιά του επιλεγμένου κλειδιού PGP θα είναι καταχωρισμένα στο " +"παράθυρο." + +#. (itstool) path: note/p +#: C/subkeys-examine.page:50 +msgid "" +"While signing another key, Passwords and Keys automatically " +"chooses the master key for signing, when you select a GnuPG keys " +"keypair to sign with." +msgstr "" +"Ενώ υπογράφετε ένα άλλο κλειδί, το Κωδικοί πρόσβασης και κλειδιά " +"επιλέγει αυτόματα το κύριο κλειδί για υπογραφή, όταν επιλέγετε ένα ζεύγος " +"κλειδιών Κλειδιά GnuPG για να υπογράψετε." + +#. (itstool) path: info/desc +#: C/subkeys-revoke.page:20 +msgid "Revoke a subkey that has been compromised or is not being used." +msgstr "Ανάκληση ενός υποκλειδιού που έχει κινδυνεύσει ή δεν χρησιμοποιείται." + +#. (itstool) path: page/title +#: C/subkeys-revoke.page:24 +msgid "Revoke your subkeys" +msgstr "Ανάκληση των υποκλειδιών σας." + +#. (itstool) path: page/p +#: C/subkeys-revoke.page:26 +msgid "" +"If your subkey has been compromised or is no longer in use, it might be a " +"good idea to revoke it to prevent misuse of the key." +msgstr "" +"Αν το υποκλειδί σας έχει κινδυνεύσει ή δεν χρησιμοποιείται πια, μπορεί να " +"είναι καλή ιδέα να το ανακαλέσετε για να αποτρέψετε κατάχρηση του κλειδιού." + +#. (itstool) path: steps/title +#: C/subkeys-revoke.page:30 +msgid "To revoke a subkey:" +msgstr "Για να ανακαλέσετε ένα υποκλειδί:" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:32 +msgid "" +"Navigate to the Subkeys " +"panel." +msgstr "" +"Περιηγηθείτε στο παράθυρο " +"Υποκλειδιά." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:47 +msgid "" +"Select the subkey from the list and press the Revoke button." +msgstr "" +"Επιλέξτε το υποκλειδί από τον κατάλογο και πατήστε το πλήκτρο Ανάκληση." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:51 +msgid "" +"In the new dialog, select a reason for revoking the key. Optionally, " +"describe your reason in more detail in the Description field." +msgstr "" +"Στον νέο διάλογο, επιλέξτε έναν λόγο για την ανάκληση του κλειδιού. " +"Προαιρετικά, περιγράψτε τον λόγο πιο λεπτομερώς στο πεδίο Περιγραφή." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:56 +msgid "Press the Revoke button." +msgstr "Πατήστε το πλήκτρο Ανάκληση." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:59 +msgid "You will have to unlock the key with its passphrase." +msgstr "Θα πρέπει να ξεκλειδώσετε το κλειδί με το συνθηματικό του." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:62 +msgid "" +"The Status of the subkey changes to Revoked in the " +"Subkeys panel." +msgstr "" +"Η Κατάσταση του υποκλειδιού αλλάζει σε Ανακαλεσμένο " +"στο παράθυρο Υποκλειδιά." + +#. (itstool) path: note/p +#: C/subkeys-revoke.page:68 +msgid "" +"If you have published your subkey, you " +"must synchronize it with the key servers " +"after revoking it to apply the revocation on all copies of the key." +msgstr "" +"Αν έχετε δημοσιεύσει το υποκλειδί σας, " +"πρέπει να το συγχρονίσετε με τους διακομιστές " +"κλειδιών μετά την ανάκλησή του για να εφαρμόσετε την ανάκληση σε όλα τα " +"αντίγραφα του κλειδιού." + +#~ msgid "" +#~ "Store passwords for various applications in Passwords and Keys. Group related passwords in password keyrings to make them easy to " +#~ "find." +#~ msgstr "" +#~ "Αποθηκεύστε τους κωδικούς πρόσβασης για διάφορες εφαρμογές στο " +#~ "Κωδικοί πρόσβασης και κλειδιά. Ομαδοποιήστε τους κωδικούς " +#~ "πρόσβασης που σχετίζονται στις κλειδοθήκες κωδικών πρόσβασης για να τους " +#~ "κάνετε εύκολους στην εύρεση." + +#~ msgid "Create and manage passwords and keyrings" +#~ msgstr "Δημιουργία και διαχείριση κωδικών πρόσβασης και κλειδοθηκών" + +#~ msgid "Create and manage PGP key" +#~ msgstr "Δημιουργία και διαχείριση κλειδιού PGP" + +#~ msgid "" +#~ "An SSH key helps you create a secure connection over an " +#~ "unsecured network. SSH keys are most often used in situations " +#~ "where data security is important. For example, a system administrator " +#~ "would use an SSH key when connecting to a remote server to " +#~ "perform system updates. A software developer would use an SSH key to submit updated software code to a remote software repository." +#~ msgstr "" +#~ "Ένα κλειδί SSH σας βοηθά να δημιουργήσετε μια ασφαλή σύνδεση " +#~ "μέσα από ένα επισφαλές δίκτυο. Τα κλειδιά SSH χρησιμοποιούνται " +#~ "συχνότερα σε καταστάσεις όπου η ασφάλεια δεδομένων είναι σημαντική. Για " +#~ "παράδειγμα, ένας διαχειριστής συστήματος θα μπορούσε να χρησιμοποιήσει " +#~ "ένα κλειδί SSH όταν συνδέεται με έναν απομακρυσμένο διακομιστή " +#~ "για να ενημερώσει το σύστημα. Ένας προγραμματιστής λογισμικού μπορεί να " +#~ "χρησιμοποιήσει ένα κλειδί SSH για να υποβάλει ενημερωμένο κώδικα " +#~ "λογισμικού σε ένα απομακρυσμένο αποθετήριο λογισμικού." + +#~ msgid "Create and manage SSH Keys" +#~ msgstr "Δημιουργία και διαχείριση κλειδιών SSH" + +#~ msgid "Miscellaneous" +#~ msgstr "Διάφορα" + +#~ msgid "How do I create a new SSH key and set it up?" +#~ msgstr "Πώς δημιουργώ ένα κλειδί SSH και πώς τον ρυθμίζω;" + +#~ msgid "SSH key creation and setup" +#~ msgstr "Δημιουργία και ρύθμιση κλειδιού SSH" + +#~ msgid "Short introductory text..." +#~ msgstr "Σύντομο εισαγωγικό κείμενο..." + +#~ msgid "First step..." +#~ msgstr "Πρώτο βήμα..." + +#~ msgid "Second step..." +#~ msgstr "Δεύτερο βήμα..." + +#~ msgid "Third step..." +#~ msgstr "Τρίτο βήμα..." + +#~ msgid "" +#~ "Password-free login will currently only available when done from your " +#~ "current local computer. When logging in, the SSH program will read the " +#~ "installed public part of the SSH key on the remote computer and verify it " +#~ "with the private part of the SSH key on your local computer. If this " +#~ "authentication fails or is unavailable (e.g. on other local computers you " +#~ "may have), SSH will resort to using a login password to authenticate. You " +#~ "may also repeat the above steps on a different local computer to install " +#~ "more than one public key on the remote." +#~ msgstr "" +#~ "Η σύνδεση χωρίς κωδικό πρόσβασης θα είναι διαθέσιμη προς το παρόν μόνο " +#~ "όταν είναι έτοιμη από τον τρέχοντα τοπικό υπολογιστή. Κατά τη σύνδεση, το " +#~ "πρόγραμμα SSH θα διαβάσει το εγκατεστημένο δημόσιο μέρος του κλειδιού SSH " +#~ "στον απομακρυσμένο υπολογιστή και θα το επιβεβαιώσει με το ιδιωτικό μέρος " +#~ "του κλειδιού SSH στον τοπικό σας υπολογιστή. Αν αυτή η πιστοποίηση " +#~ "αποτύχει ή δεν είναι διαθέσιμη (π.χ. σε κάποιον άλλο τοπικό υπολογιστή " +#~ "που έχετε), το SSH θα καταφύγει στη χρήση ενός κωδικού πρόσβασης σύνδεσης " +#~ "για πιστοποίηση. Μπορείτε επίσης να επαναλάβετε τα παραπάνω βήματα σε " +#~ "έναν διαφορετικό τοπικό υπολογιστή για να εγκαταστήσετε περισσότερα από " +#~ "ένα δημόσια κλειδιά στον απομακρυσμένο." diff --git a/help/es/es.po b/help/es/es.po new file mode 100644 index 00000000..28c613bc --- /dev/null +++ b/help/es/es.po @@ -0,0 +1,3487 @@ +# Spanish translation for seahorse. +# Copyright (C) 2014 seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# FIRST AUTHOR , YEAR. +# Daniel Mustieles , 2014-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"POT-Creation-Date: 2020-07-31 17:47+0000\n" +"PO-Revision-Date: 2020-09-16 14:16+0200\n" +"Last-Translator: Daniel Mustieles \n" +"Language-Team: Spanish - Spain \n" +"Language: es_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 3.36.0\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "Daniel Mustieles , 2014 - 2020" + +#. (itstool) path: credit/name +#: C/about-diff-private-public.page:14 C/about-ssh.page:13 C/concepts.page:14 +#: C/index.page:14 C/introduction.page:15 C/keyring-create.page:26 +#: C/keyring.page:15 C/pgp-create.page:16 C/pgp-import.page:21 +#: C/ssh-connect-remote.page:14 C/ssh-create.page:16 C/ssh-import.page:20 +msgid "Jim Campbell" +msgstr "Jim Campbell" + +#. (itstool) path: credit/years +#: C/about-diff-private-public.page:16 C/about-pgp.page:17 C/about-ssh.page:15 +#: C/glossary.page:17 C/index.page:16 C/index.page:21 C/index.page:26 +#: C/introduction.page:17 C/introduction.page:23 C/key-servers-add.page:20 +#: C/keyring-change-default.page:16 C/keyring-create.page:18 +#: C/keyring-create.page:23 C/keyring-lock.page:17 C/keyring-unlock.page:17 +#: C/keyring-update-password.page:17 C/keyring.page:17 C/keyring.page:22 +#: C/keyring.page:27 C/misc-key-backup.page:17 C/misc-key-fingerprint.page:16 +#: C/passwords-stored-create.page:16 C/passwords-view.page:18 +#: C/pgp-create.page:18 C/pgp-create.page:24 C/pgp-delete.page:17 +#: C/pgp-expiration-change.page:16 C/pgp-expired.page:17 C/pgp-export.page:16 +#: C/pgp-import.page:18 C/pgp-import.page:23 C/pgp-photoid.page:17 +#: C/pgp-publish.page:18 C/pgp-retrieve-remote.page:18 C/pgp-sign.page:16 +#: C/pgp-subkeys.page:16 C/pgp-sync.page:18 C/pgp-userid-add.page:17 +#: C/pgp-userid-primary.page:16 C/pgp-userid-remove.page:17 +#: C/pgp-userid.page:16 C/ssh-create.page:18 C/ssh-export.page:17 +#: C/ssh-import.page:17 C/ssh-import.page:22 C/subkeys-add.page:17 +#: C/subkeys-examine.page:17 C/subkeys-revoke.page:17 +msgid "2013" +msgstr "2013" + +#. (itstool) path: info/desc +#: C/about-diff-private-public.page:19 +msgid "" +"A public key is used to encrypt communication. A private key is used to " +"decrypt it." +msgstr "" +"Una clave pública se usa para cifrar la comunicación. La clave privada se " +"usa para descifrarla." + +#. (itstool) path: page/title +#: C/about-diff-private-public.page:23 +msgid "Public Key vs Private Key" +msgstr "Clave pública frente a clave privada" + +#. (itstool) path: page/p +#: C/about-diff-private-public.page:25 +msgid "" +"Although Public Keys and Private Keys are both referred to " +"as keys, it helps to think of them a bit differently. Try to think " +"of a Public Key as being like a padlock, and a Private Key " +"as being like a key that unlocks the padlock." +msgstr "" +"Aunque las claves pública y privada se mencionan ambas " +"como claves, ayuda a pensar en ellas de manera diferente. Pruebe a " +"pensar en la clave pública como un candado, y en la clave " +"privada como en la clave que desbloquea el candado." + +#. (itstool) path: section/title +#: C/about-diff-private-public.page:31 +msgid "An Example: Sending a Secret Message in a Box" +msgstr "Un ejemplo: enviar un mensaje secreto en una caja" + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:33 +msgid "" +"Let's use an example to see how this works. Imagine that you want your " +"friend to send you a secret message in a box. You could give your friend a " +"box and a padlock, but only you would have the key that unlocks the padlock." +msgstr "" +"Use este ejemplo para ver cómo funciona. Imagine que quiere que un amigo le " +"envíe un mensaje secreto en una caja. Puede darle a su amigo una caja y un " +"candado, pero sólo usted tendrá la llave para abrir el candado." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:38 +msgid "" +"Your friend could put their message in the box, lock the padlock, and then " +"send you the locked box in the mail. When you receive it, you would use your " +"key to unlock the box." +msgstr "" +"Su amigo puede poner en mensaje en la caja, cerrar el candado y enviarle la " +"caja por correo. Cuando la reciba, puede usar su llave para abrir la caja." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:42 +msgid "" +"This is similar to how a Public Key and a Private Key " +"work. Like the padlock, you can freely give out your Public Key. " +"This will make it easy for anyone to securely encrypt, or lock, a message " +"that they want to send to you." +msgstr "" +"Esto es similar a cómo funcionan las claves pública y privada. Al igual que el candado, puede dar su clave pública. Esto hará " +"que cualquiera pueda cifrar o bloquear un mensaje que quiera enviarle con " +"seguridad." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:47 +msgid "" +"On the other hand, a Private Key is like the key that allows you to " +"decrypt, or unlock, the padlock. Because the Private Key is used to " +"decrypt secure messages, you will want to keep your Private Key " +"safe." +msgstr "" +"Por otro lado, una clave privada es la llave que le permite " +"descifrar o desbloquear el candado. Dado que la Private Key se usa " +"para descifrar mensajes seguros, debe mantener su clave pública " +"segura." + +#. (itstool) path: credit/name +#: C/about-pgp.page:15 C/glossary.page:15 C/index.page:19 +#: C/introduction.page:21 C/key-servers-add.page:18 +#: C/keyring-change-default.page:14 C/keyring-create.page:16 +#: C/keyring-lock.page:15 C/keyring-unlock.page:15 +#: C/keyring-update-password.page:15 C/keyring.page:20 +#: C/misc-key-backup.page:15 C/misc-key-fingerprint.page:14 +#: C/passwords-stored-create.page:14 C/passwords-view.page:16 +#: C/pgp-create.page:22 C/pgp-delete.page:15 C/pgp-expiration-change.page:14 +#: C/pgp-expired.page:15 C/pgp-export.page:14 C/pgp-import.page:16 +#: C/pgp-photoid.page:15 C/pgp-sign.page:14 C/pgp-subkeys.page:14 +#: C/pgp-sync.page:16 C/pgp-userid-add.page:15 C/pgp-userid-primary.page:14 +#: C/pgp-userid-remove.page:15 C/pgp-userid.page:14 +#: C/ssh-connect-remote.page:19 C/ssh-export.page:15 C/ssh-import.page:15 +#: C/subkeys-add.page:15 C/subkeys-examine.page:15 C/subkeys-revoke.page:15 +msgid "Aruna Sankaranarayanan" +msgstr "Aruna Sankaranarayanan" + +#. (itstool) path: info/desc +#: C/about-pgp.page:20 +msgid "PGP keys are used to sign and encrypt emails and files." +msgstr "" +"Las claves PGP se usan para firmar y cifrar correos electrónicos y archivos." + +#. (itstool) path: page/title +#: C/about-pgp.page:23 +msgid "What is a PGP key?" +msgstr "¿Qué es una clave PGP?" + +#. (itstool) path: page/p +#: C/about-pgp.page:25 +msgid "" +"A PGP key is a public encryption key. A PGP key can be used to sign and " +"encrypt emails and files. When you create a PGP key, a keypair having a " +"public key and a private key is generated. You can share the public key with " +"anyone who wishes to send you encrypted messages or files, but the private " +"key must be known only to you and used to decrypt received messages." +msgstr "" +"Una clave PGP es una clave pública de cifrado que se puede usar para firmar " +"y cifrar correos y archivos. Cuando crea una clave PGP, se genera un par de " +"claves con la clave pública y la clave privada. Puede compartir la clave " +"pública con cualquier persona que quiera enviarle mensajes o archivos " +"cifrados, pero la clave privada sólo debe conocerla usted, para poder " +"descifrar los mensajes recibidos." + +#. (itstool) path: section/title +#: C/about-pgp.page:32 +msgid "Encrypt and sign data using PGP keys" +msgstr "Cifrar y firmar datos usando claves PGP" + +#. (itstool) path: section/p +#: C/about-pgp.page:34 +msgid "" +"Passwords and Keys is a key management application. Though it " +"cannot be used to encrypt or sign files and messages, you can use it to " +"sign trustworthy keys." +msgstr "" +"Contraseñas y claves es una aplicación de gestión de claves. " +"Aunque no se puede usar para cifrar o firmar archivos y mensajes, puede " +"usarla para firmar claves de confianza." + +#. (itstool) path: section/p +#: C/about-pgp.page:38 +msgid "" +"To secure your communication, you can use email clients like Evolution that provide encryption and signing services." +msgstr "" +"Para securizar sus comunicaciones, puede usar clientes de correo como " +"Evolution que ofrecen servicios de cifrado y firmado." + +#. (itstool) path: info/desc +#: C/about-ssh.page:18 +msgid "" +"SSH keys are used to login to a remote computer, once a secure connection " +"has been established." +msgstr "" +"Las claves SSH se usan para iniciar sesión en un equipo remoto, una vez que " +"la conexión se ha establecido." + +#. (itstool) path: page/title +#: C/about-ssh.page:22 +msgid "What is a Secure Shell key?" +msgstr "¿Qué es una clave de shell segura?" + +#. (itstool) path: page/p +#: C/about-ssh.page:24 +msgid "" +"A Secure Shell key, often just called an SSH key, helps " +"you create a secure connection over an unsecured network." +msgstr "" +"Una clave de shell segura, a menudo llamada clave SSH, le " +"ayuda a crear una conexión segura sobre una red no segura." + +#. (itstool) path: list/title +#: C/about-ssh.page:28 +msgid "An SSH key actually consists of two parts:" +msgstr "Actualmente, una clave SSH consta de dos partes:" + +#. (itstool) path: item/p +#: C/about-ssh.page:29 +msgid "A public key, which is widely available." +msgstr "Una clave pública, disponible para todo el mundo." + +#. (itstool) path: item/p +#: C/about-ssh.page:30 +msgid "" +"A private key, which is kept secret. The private key is used to unlock " +"messages encrypted with a corresponding public key." +msgstr "" +"Una clave privada, mantenida en secreto. La clave privada se usa para " +"desbloquear mensajes cifrados con la correspondiente clave pública." + +#. (itstool) path: page/p +#: C/about-ssh.page:34 +msgid "" +"The advantage of using an SSH key to create a connection between " +"computers is that only the Public key needs to be sent over the " +"network. Transmissions encrypted with a Public key can only be " +"decoded by unlocking them with the corresponding Private key and a " +"password. Because only the public key is sent over the network, the key's " +"password is kept secret." +msgstr "" +"La ventaja de usar una clave SSH para crear una conexión entre " +"equipos es que sólo se necesita enviar la clave pública a través de " +"la red. Las transmisiones cifradas con una clave pública sólo se " +"pueden descifrar con la clave privada correspondiente y una " +"contraseña. Dado que por la red sólo se envía la clave pública, la " +"contraseña de la clave se mantiene en secreto." + +#. (itstool) path: credit/years +#: C/concepts.page:16 C/key-servers-add.page:25 C/keyring-create.page:28 +#: C/misc-key-backup.page:23 C/passwords-view.page:24 C/pgp-create.page:30 +#: C/pgp-delete.page:23 C/ssh-create.page:23 C/ssh-create.page:28 +msgid "2014" +msgstr "2014" + +#. (itstool) path: info/desc +#: C/concepts.page:19 +msgid "" +"Learn terms and concepts that are relevant to managing passwords and keys." +msgstr "" +"Aprender términos y conceptos relevantes para gestionar contraseñas y claves." + +#. (itstool) path: page/title +#: C/concepts.page:23 +msgid "Key Concepts and Terms" +msgstr "Conceptos clave y términos" + +#. (itstool) path: info/desc +#: C/glossary.page:20 +msgid "A list of basic terms used." +msgstr "Una lista de términos básicos usados:" + +#. (itstool) path: page/title +#: C/glossary.page:23 +msgid "Glossary" +msgstr "Glosario" + +#. (itstool) path: page/p +#: C/glossary.page:25 +msgid "" +"Passwords and Keys helps you to generate and manage tokens that " +"can be used to protect your files and communication. Here are some basic " +"terms that you will encounter while reading this help:" +msgstr "" +"Contraseñas y clave le ayuda a generar y gestionar testigos que " +"se pueden usar para proteger sus archivos y sus comunicaciones. Estos son " +"algunos términos básicos que encontrará al leer esta ayuda:" + +#. (itstool) path: item/title +#: C/glossary.page:31 +msgid "Encryption" +msgstr "Cifrado" + +#. (itstool) path: item/p +#: C/glossary.page:32 +msgid "" +"Encryption is the process of making your important files and data unreadable " +"to anyone but the intended recipient. When you encrypt your data, it becomes " +"a scrambled sequence of numbers and letters. Encryption is done by someone " +"who is sending a protected file, or sending a message in a protected " +"conversation." +msgstr "" +"Cifrado es el proceso que hace que sus archivos y datos importantes no sean " +"legibles para nadie salvo para el destinatario. Cuando cifra sus datos, se " +"convierten en una secuencia de números y letras. El cifrado lo hace alguien " +"que envía un archivo protegido o al enviar un mensaje en una conversación " +"protegida." + +#. (itstool) path: item/title +#: C/glossary.page:39 +msgid "Algorithm" +msgstr "Algoritmo" + +#. (itstool) path: item/p +#: C/glossary.page:40 +msgid "" +"An algorithm is a sequence of steps used to encrypt or decrypt your data." +msgstr "" +"Un algoritmo es una secuencia de pasos usados para cifrar o descifrar sus " +"datos." + +#. (itstool) path: item/title +#: C/glossary.page:44 +msgid "Decryption" +msgstr "Descrifrado" + +#. (itstool) path: item/p +#: C/glossary.page:45 +msgid "" +"Decryption is the process of retrieving the original text from the encrypted " +"message or file. It is done by the receiver of the protected file or " +"communication. Encrypted messages cannot be understood without decrypting " +"them first." +msgstr "" +"El descifrado es el proceso de recuperar el texto original del mensaje o el " +"archivo cifrado. Lo hace el receptor del archivo o la comunicación " +"protegida. Los mensajes cifrados no se pueden leen sin descifrarlos primero." + +#. (itstool) path: item/title +#: C/glossary.page:51 +msgid "Plaintext" +msgstr "Texto plano" + +#. (itstool) path: item/p +#: C/glossary.page:52 +msgid "" +"Any data or file that is not encrypted, and can therefore be read by anyone " +"who can access it, is called plaintext." +msgstr "" +"Cualquier dato o archivo que no esté cifrado, y por lo tanto lo puede leer " +"cualquiera que tenga acceso a él, se denomina de texto plano." + +#. (itstool) path: item/title +#: C/glossary.page:56 +msgid "Key" +msgstr "Clave" + +#. (itstool) path: item/p +#: C/glossary.page:57 +msgid "" +"A key is used to encrypt and decrypt files and communication. A key may also " +"be used to login to a remote computer. Some types of keys are PGP keys and SSH " +"keys." +msgstr "" +"Para cifrar y descifrar archivos y comunicaciones se usa una clave. También " +"se puede usar una clave para iniciar sesión en un equipo remoto. Algunos " +"tipos de claves son las claves PGP y " +"las claves SSH." + +#. (itstool) path: item/title +#: C/glossary.page:63 +msgid "Keyring" +msgstr "Depósito de claves" + +#. (itstool) path: item/p +#: C/glossary.page:64 +msgid "A keyring is a collection of passwords or keys." +msgstr "Un depósito de claves es una colección de contraseñas o claves." + +#. (itstool) path: info/title +#: C/index.page:8 +msgctxt "link" +msgid "Passwords and Keys" +msgstr "Contraseñas y claves" + +#. (itstool) path: info/title +#: C/index.page:9 +msgctxt "text" +msgid "Passwords and Keys" +msgstr "Contraseñas y claves" + +#. (itstool) path: credit/name +#: C/index.page:24 C/keyring-create.page:21 C/keyring.page:25 +#: C/ssh-create.page:26 +msgid "Ekaterina Gerasimova" +msgstr "Ekaterina Gerasimova" + +#. (itstool) path: info/desc +#: C/index.page:31 +msgid "" +"Use Passwords and Keys to remember your passwords, and to create " +"and manage PGP and SSH keys." +msgstr "" +"Usar Contraseñas y claves de cifrado para recordar sus " +"contraseñas y para crear y gestionar claves PGP y SSH." + +#. (itstool) path: page/title +#: C/index.page:34 +msgid "<_:media-1/> Passwords and Keys" +msgstr "<_:media-1/> Contraseñas y claves" + +#. (itstool) path: section/title +#: C/index.page:40 +msgid "SSH Keys" +msgstr "Claves SSH" + +#. (itstool) path: section/title +#: C/index.page:45 +msgid "PGP keys" +msgstr "Claves PGP" + +#. (itstool) path: section/title +#: C/index.page:50 +msgid "Stored passwords and password keyrings" +msgstr "Contraseñas guardadas y depósitos de contraseñas" + +#. (itstool) path: info/desc +#: C/introduction.page:26 +msgid "" +"Use Passwords and Keys to create and manage PGP and SSH keys and " +"to save passwords that are difficult to remember." +msgstr "" +"Usar Contraseñas y claves de cifrado para crear y gestionar " +"claves PGP y SSH y para guardar contraseñas que son difíciles de recordar." + +#. (itstool) path: page/title +#: C/introduction.page:30 +msgid "Introduction" +msgstr "Introducción" + +#. (itstool) path: page/p +#: C/introduction.page:32 +msgid "" +"Welcome to the Passwords and Keys help guide. Passwords and " +"Keys creates and stores security tokens, helping to keep your " +"information secure on your computer, and secure when you send information " +"over a network." +msgstr "" +"Bienvenido a la ayuda de Contraseñas y claves de cifrado, " +"Contraseñas y claves de cifrado crea y guarda testigos seguros, " +"ayudándole a mantener su información de manera segura en su equipo, y a " +"securizar la información cuando la envía a través de la red." + +#. (itstool) path: page/p +#: C/introduction.page:36 +msgid "Using Passwords and Keys, you can:" +msgstr "Usando Contraseñas y claves de cifrado puede:" + +#. (itstool) path: item/p +#: C/introduction.page:40 +msgid "" +"Copy and save passwords that " +"are difficult to remember. To group related passwords, create keyrings." +msgstr "" +"Copiar y guardar contraseñas " +"difíciles de recordar. Para agrupar contraseñas relacionadas, cree depósitos de claves." + +#. (itstool) path: item/p +#: C/introduction.page:45 +msgid "" +"Create and manage PGP keys." +msgstr "" +"Crear y gestionar claves PGP." + +#. (itstool) path: item/p +#: C/introduction.page:49 +msgid "" +"Create and manage SSH keys." +msgstr "" +"Crear y gestionar claves SSH." + +#. (itstool) path: credit/name +#: C/key-servers-add.page:23 C/misc-key-backup.page:21 C/passwords-view.page:22 +#: C/pgp-create.page:28 C/pgp-delete.page:21 C/ssh-create.page:21 +msgid "Hashem Nasarat" +msgstr "Hashem Nasarat" + +#. (itstool) path: credit/name +#: C/key-servers-add.page:28 C/passwords-view.page:28 +#: C/pgp-retrieve-remote.page:21 +msgid "Andre Klapper" +msgstr "Andre Klapper" + +#. (itstool) path: credit/years +#: C/key-servers-add.page:30 C/passwords-view.page:30 +#: C/pgp-retrieve-remote.page:23 +msgid "2020" +msgstr "2020" + +#. (itstool) path: info/desc +#: C/key-servers-add.page:33 +msgid "" +"Make additions to the list of keyservers in Passwords and Keys" +msgstr "" +"Añadir servidores de claves a la lista de Contraseñas y claves" + +#. (itstool) path: page/title +#: C/key-servers-add.page:37 +msgid "Add a keyserver" +msgstr "Añadir un servidor de claves" + +#. (itstool) path: page/p +#: C/key-servers-add.page:38 +msgid "" +"Passwords and Keys have the following keyservers listed by " +"default:" +msgstr "" +"Contraseñas y claves tiene los siguientes servidores de claves de " +"manera predeterminada:" + +#. (itstool) path: item/p +#: C/key-servers-add.page:42 +msgid "ldap://keyserver.pgp.com" +msgstr "ldap://keyserver.pgp.com" + +#. (itstool) path: steps/title +#: C/key-servers-add.page:47 +msgid "To add a keyserver" +msgstr "Para añadir un servidor de claves" + +#. (itstool) path: item/p +#: C/key-servers-add.page:49 C/pgp-publish.page:44 +#: C/pgp-retrieve-remote.page:39 C/pgp-sync.page:41 +msgid "Press the menu button in the header bar." +msgstr "Pulse el botón de menú en la barra de cabecera." + +#. (itstool) path: item/p +#: C/key-servers-add.page:52 +#| msgid "Select Password Keyring from the list." +msgid "Select Preferences." +msgstr "Seleccione Preferencias." + +#. (itstool) path: item/p +#: C/key-servers-add.page:55 +msgid "Select the Key Servers tab." +msgstr "Seleccione la pestaña Servidores de claves." + +#. (itstool) path: item/p +#: C/key-servers-add.page:58 +msgid "Press the Add button." +msgstr "Pulse el botón Añadir." + +#. (itstool) path: item/p +#: C/key-servers-add.page:61 +msgid "" +"In the new dialog, select the appropriate Key Server Type. Key " +"servers are identified by the protocol they use to communicate. Look for the " +"first few letters in the Internet URL of your key server to identify its " +"type." +msgstr "" +"En el nuevo diálogo, seleccione el Tipo de servidor claves adecuado. Los servidores de claves se identifican por el protocolo que usar para " +"comunicarse. Mire las primeras letras el URL del servidor de claves para " +"identificar su tipo." + +#. (itstool) path: item/p +#: C/key-servers-add.page:67 +msgid "" +"In the Host field, paste the Internet URL of your " +"key server. Consult the documentation for the key server you're adding to " +"see if it operates on a non-standard port. If so, enter the port after the " +"':'. If you're unsure, leave the text box after the ':' blank." +msgstr "" +"En el campo Equipo pegue el URL del servidor de " +"claves. Consulte la documentación del servidor de claves que está añadiendo " +"para ver si está configurado en un puerto no estándar. Si es así, introduzca " +"el puerto después de «:». Si no está seguro, deje la casilla de después de " +"«:» en blanco." + +#. (itstool) path: item/p +#: C/key-servers-add.page:74 +msgid "Press Save to finish." +msgstr "Pulse Guardar para terminar." + +#. (itstool) path: info/desc +#: C/keyring-change-default.page:19 +msgid "Save new passwords to a different keyring by default." +msgstr "" +"Guardar contraseñas nuevas en un depósito de claves diferente al " +"predeterminado." + +#. (itstool) path: page/title +#: C/keyring-change-default.page:22 +msgid "Change the default keyring" +msgstr "Cambiar el depósito de claves predeterminado" + +#. (itstool) path: page/p +#: C/keyring-change-default.page:24 +msgid "" +"When you add a new password, " +"it is normally added to the default keyring. If you want to add it to a " +"different keyring, you can choose another one while adding the new password, " +"but you can also change the default keyring. The default keyring is normally " +"the Login keyring." +msgstr "" +"Cuando añade una contraseña nueva, normalmente se añade al depósito de claves predeterminado. Si quiere " +"añadirla a un depósito diferente, puede elegir otro al añadir la contraseña " +"nueva, y también puede cambiar el depósito predeterminado. Normalmente, el " +"depósito predeterminado es el de Inicio de sesión." + +#. (itstool) path: steps/title +#: C/keyring-change-default.page:32 +msgid "To change the default keyring:" +msgstr "Para cambiar el depósito de claves predeterminado:" + +#. (itstool) path: item/p +#: C/keyring-change-default.page:34 +msgid "" +"Select your choice for the default keyring from the list of keyrings under " +"Passwords on the left side panel." +msgstr "" +"Seleccione su elección para el depósito predeterminado de la lita de " +"depósitos de claves debajo de Contraseñas en el panel izquierdo." + +#. (itstool) path: item/p +#: C/keyring-change-default.page:38 +msgid "" +"Right click on the selected keyring and select Set as default." +msgstr "" +"Pulse con el botón derecho sobre el depósito seleccionado y elija " +"Establecer como predeterminado." + +#. (itstool) path: note/p +#: C/keyring-change-default.page:44 +msgid "" +"Passwords to some GNOME applications are stored automatically by " +"Passwords and Keys in the Login keyring because it is " +"the default keyring. When you change the default keyring, any new passwords " +"created for GNOME applications will be stored in the new default keyring " +"while GNOME application passwords created before the change will remain in " +"the Login keyring." +msgstr "" +"Las contraseñas de algunas aplicaciones de GNOME se guardan automáticamente " +"en el depósito Inicio de de sesión de Contraseñas y claves, ya que es el depósito de claves predeterminado. Cuando cambia el " +"depósito predeterminado, cualquier contraseña nueva creada por las " +"aplicaciones de GNOME se guardará en el nuevo depósito predeterminado, " +"mientras que las contraseñas de las aplicaciones de GNOME creadas antes del " +"cambio permanecerán en el depósito de Inicio de sesión." + +#. (itstool) path: info/desc +#: C/keyring-create.page:31 +msgid "Use password keyrings to group stored passwords." +msgstr "Usar depósitos de claves para agrupar las contraseñas guardadas." + +#. (itstool) path: page/title +#: C/keyring-create.page:34 +msgid "Create a new keyring" +msgstr "Crear un depósito de claves" + +#. (itstool) path: page/p +#: C/keyring-create.page:36 +msgid "" +"Use keyrings to group related passwords. You " +"can choose to protect your keyring with a password." +msgstr "" +"Use depósitos de claves para agrupar las " +"contraseñas relacionadas. Puede proteger su depósito de claves con una " +"contraseña." + +#. (itstool) path: steps/title +#: C/keyring-create.page:40 +msgid "Create a new password keyring:" +msgstr "Crear un depósito de contraseñas nuevo:" + +#. (itstool) path: item/p +#: C/keyring-create.page:42 C/passwords-stored-create.page:32 +#: C/pgp-create.page:42 C/pgp-import.page:39 C/ssh-create.page:41 +#: C/ssh-import.page:39 +msgid "" +"Press the + button in the top-left corner of the " +"window." +msgstr "" +"Pulse + en la esquina superior izquierda de la " +"ventana." + +#. (itstool) path: item/p +#: C/keyring-create.page:45 +msgid "Select Password Keyring from the list." +msgstr "Seleccione la Depósito de claves en la lista." + +#. (itstool) path: item/p +#: C/keyring-create.page:48 +msgid "" +"Choose a name for your new keyring, then press Add to continue." +msgstr "" +"Elija un nombre para el depósito de claves y pulse Añadir para continuar." + +#. (itstool) path: item/p +#: C/keyring-create.page:53 +msgid "" +"To password protect your keyring, choose a password, and retype it to " +"confirm your choice. Leave both the fields blank if you want your keyring to " +"remain unlocked at all times." +msgstr "" +"Para proteger su depósito de claves con una contraseña, elija una contraseña " +"y escríbala dos veces para confirmar su elección. Deje ambos campos en " +"blanco si quiere que el depósito de claves permanezca desbloqueado en todo " +"momento." + +#. (itstool) path: item/p +#: C/keyring-create.page:61 +msgid "" +"Press Continue to finish creating the keyring. " +"If you have not protected your keyring with a password, you will need to " +"confirm that this is how you want to proceed." +msgstr "" +"Pulse Continuar para terminar de crear el " +"depósito de claves. Si no lo ha protegido con una contraseña, necesitará " +"confirmar que quiere que sea así." + +#. (itstool) path: page/p +#: C/keyring-create.page:67 +msgid "Your new keyring will now be listed under Passwords." +msgstr "El nuevo depósito se listará bajo Contraseñas." + +#. (itstool) path: info/desc +#: C/keyring-lock.page:20 +msgid "" +"Lock and password protect your password keyrings to control access to the " +"passwords stored in them." +msgstr "" +"Bloquee y proteja con contraseña sus depósitos de claves para controlar el " +"acceso a las contraseñas guardadas en ellos." + +#. (itstool) path: page/title +#: C/keyring-lock.page:24 +msgid "Lock your keyrings" +msgstr "Bloquear los depósitos de claves" + +#. (itstool) path: page/p +#: C/keyring-lock.page:26 +msgid "" +"To safe-keep your passwords, store them in a password-protected keyring. " +"When a password-protected keyring is locked, the passwords in it are kept " +"hidden till someone unlocks the keyring " +"with the correct password." +msgstr "" +"Para almacenar con seguridad sus contraseñas, guárdelas en un depósito de " +"claves protegido por contraseña. Cuando se bloquea un depósito que está " +"protegido por una contraseña, las contraseñas que contiene permanecen " +"ocultas hasta que alguien desbloquea el " +"depósito con la clave correcta." + +#. (itstool) path: note/p +#: C/keyring-lock.page:32 +msgid "" +"You can choose to protect your keyring with a password while creating it." +msgstr "" +"Puede elegir proteger el depósito de claves con una contraseña mientras " +"lo crea." + +#. (itstool) path: steps/title +#: C/keyring-lock.page:37 +msgid "To lock your password keyring:" +msgstr "Para bloquear los depósitos de contraseñas:" + +#. (itstool) path: item/p +#: C/keyring-lock.page:39 +msgid "" +"From the list of keyrings under Passwords on the left side panel, " +"select the keyring to be locked." +msgstr "" +"En la lista de depósitos de debajo de Contraseñas en el panel " +"lateral, seleccione el depósito que bloquear." + +#. (itstool) path: item/p +#: C/keyring-lock.page:43 +msgid "" +"Right click on the selected keyring and select Lock, or click on " +"the small picture of an opened lock next to the name of the password keyring." +msgstr "" +"Pulse con el botón derecho sobre el depósito seleccionado y elija " +"Bloquear, o pulse sobre la imagen de un candado abierto junto al " +"nombre del depósito de contraseñas." + +#. (itstool) path: info/desc +#: C/keyring-unlock.page:20 +msgid "To view passwords stored inside a locked keyring, unlock it." +msgstr "" +"Para ver las contraseñas guardadas en un depósito de claves bloqueado, " +"desbloquéelo." + +#. (itstool) path: page/title +#: C/keyring-unlock.page:23 +msgid "Unlock your keyrings" +msgstr "Desbloquear los depósitos de claves" + +#. (itstool) path: page/p +#: C/keyring-unlock.page:24 +msgid "" +"A keyring may often be locked to protect " +"the passwords it contains, similar to locking important things safely inside " +"a trunk. In order to look at your passwords, you must unlock the keyring " +"first." +msgstr "" +"A menudo, un depósito de claves puede estar bloqueado para bloquear las contraseñas que contiene, similar a " +"bloquear algo de manera segura dentro de un baúl. Para buscar sus " +"contraseñas, primero debe desbloquear el depósito de claves." + +#. (itstool) path: steps/title +#: C/keyring-unlock.page:30 +msgid "To unlock your keyring:" +msgstr "Para desbloquear los depósitos de claves:" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:32 +msgid "" +"Select the keyring to be unlocked from the panel on your left. It is listed " +"under Passwords." +msgstr "" +"Seleccione el depósito que desbloquear en el panel de la izquierda. Aparece " +"debajo de Contraseñas." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:36 +msgid "" +"Right click on the selected keyring and select Unlock from the " +"menu, or alternatively, click the small picture of a closed lock next to the " +"keyring name to unlock the keyring." +msgstr "" +"Pulse con el botón derecho sobre el depósito seleccionado y elija " +"Desbloquear, o pulse sobre la imagen de un candado cerrado junto " +"al nombre del depósito para desbloquearlo." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:41 +msgid "" +"If the keyring is password-protected, you will be prompted for a password to " +"unlock the keyring. Enter the correct password in the Password " +"field and press Unlock to finish." +msgstr "" +"Si el depósito está protegido por contraseña, se le pedirá la contraseña " +"para desbloquear el depósito. Introduzca la contraseña correcta en el campo " +"Contraseña y pulse Desbloquear para " +"terminar." + +#. (itstool) path: note/p +#: C/keyring-unlock.page:49 +msgid "" +"You can choose to password-protect your keyrings while creating them." +msgstr "" +"Puede elegir proteger el depósito de claves con una contraseña mientras " +"los crea." + +#. (itstool) path: info/desc +#: C/keyring-update-password.page:20 +msgid "" +"Keep updating the passwords to your keyrings to ensure that they are " +"protected well." +msgstr "" +"Mantener actualizadas las contraseñas de los depósitos le garantiza que " +"están bien protegidos." + +#. (itstool) path: page/title +#: C/keyring-update-password.page:25 +msgid "Update the keyring password" +msgstr "Actualizar la contraseña del depósito de claves" + +#. (itstool) path: page/p +#: C/keyring-update-password.page:27 +msgid "" +"The password to unlock your keyring can be " +"updated at any time." +msgstr "" +"La contraseña usada para desbloquear el depósito de " +"claves se puede actualizar en cualquier momento." + +#. (itstool) path: steps/title +#: C/keyring-update-password.page:31 +msgid "To update the password for a password keyring:" +msgstr "Para actualizar la contraseña de un depósito de claves:" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:33 +msgid "" +"Select the password keyring from the list, under Passwords, on " +"the left side panel." +msgstr "" +"Seleccione el depósito de claves en la lista, debajo de Contraseñas, en el panel de la izquierda." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:37 +msgid "" +"Right click on the selected password keyring and select Change " +"Password." +msgstr "" +"Pulse con el botón derecho sobre el depósito seleccionado y elija " +"Cambiar contraseña." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:41 +msgid "" +"Type your old password to authenticate yourself and press Continue." +msgstr "" +"Escriba su contraseña antigua para autenticarse y pulse Continuar." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:45 +msgid "" +"In the new dialog, type your new password, retype it to confirm the new " +"password and press the Continue button to finish." +msgstr "" +"En el nuevo diálogo, escriba su contraseña nueva, vuelva a escribirla para " +"confirmar la contraseña nueva y pulse el botón Continuar para terminar." + +#. (itstool) path: info/desc +#: C/keyring.page:30 +msgid "A keyring is used to group related passwords and keys." +msgstr "" +"Un depósito de claves se usa para agrupar contraseñas y claves relacionadas." + +#. (itstool) path: page/title +#: C/keyring.page:33 +msgid "What is a keyring?" +msgstr "¿Qué es un depósito de claves?" + +#. (itstool) path: page/p +#: C/keyring.page:35 +msgid "" +"Much like a keyring in real life allows you to keep certain sets of keys " +"together, a keyring in Passwords and Keys allows you to keep " +"passwords and keys in separate groups." +msgstr "" +"al igual que un depósito de claves en la vida real le permite agrupar " +"ciertos conjuntos de claves, un depósito de claves en Contraseñas y " +"claves le permite mantener contraseñas y claves en grupos separados" + +#. (itstool) path: page/p +#: C/keyring.page:39 +#| msgid "" +#| "When you open Passwords and Keys for the first time, you will " +#| "see keys and password grouped together. In the Login keyring, " +#| "you may find stored passwords for GNOME applications such as Web, Accounts etc. The Login keyring is the " +#| "default keyring in Passwords and keys." +msgid "" +"When you open Passwords and Keys for the first time, you will see " +"keys and password grouped together. In the Login keyring, you may " +"find stored passwords for GNOME applications such as Web, " +"Online Accounts etc. The Login keyring is the default " +"keyring in Passwords and keys." +msgstr "" +"Cuando abre Contraseñas y claves por primera vez, verá todas sus " +"contraseñas juntas. En el depósito de Inicio de sesión puede " +"encontrar almacenadas contraseñas de aplicaciones de GNOME como Web, Cuentas en línea etc. El depósito de Inicio de sesión es el depósito predeterminado en Contraseñas y claves." + +#. (itstool) path: p/link +#: C/legal.xml:4 +msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" +msgstr "Creative Commons de Atribución-Compartir Igual 3.0 sin soporte" + +#. (itstool) path: license/p +#: C/legal.xml:3 +msgid "This work is licensed under a <_:link-1/>." +msgstr "Este trabajo está licenciado bajo la <_:link-1/>." + +#. (itstool) path: info/desc +#: C/misc-key-backup.page:26 +msgid "Keep a copy of your keys in an external device." +msgstr "Mantener una copia de sus claves en un dispositivo externo." + +#. (itstool) path: page/title +#: C/misc-key-backup.page:29 +msgid "Securely back-up your keys" +msgstr "Hacer una copia de respaldo segura de sus claves" + +#. (itstool) path: page/p +#: C/misc-key-backup.page:31 +msgid "" +"It is always advisable to save a copy of your keys on an external memory " +"device like a USB drive. The device should then be kept locked or stored " +"somewhere safe. This way you will always have a copy of the key if your " +"computer breaks or if the data on your computer is corrupted in some way." +msgstr "" +"Siempre es recomendable guardar una copia de sus claves en un dispositivo de " +"almacenamiento externo, como una memoria USB. En este caso, el dispositivo " +"se debe bloquear o guardar en un sitio seguro. De este modo, siempre tendrá " +"una copia de la clave si se rompe el equipo o si los datos del equipo se " +"corrompen por alguna razón." + +#. (itstool) path: steps/title +#: C/misc-key-backup.page:37 +msgid "To back-up your keys:" +msgstr "Para respaldar sus claves:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:39 +msgid "Export your key files:" +msgstr "Exporte sus archivos de claves:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:41 +msgid "Export your PGP keys." +msgstr "Exportar sus claves PGP." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:42 +msgid "Export your SSH keys." +msgstr "Exportar sus claves SSH." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:46 +msgid "Copy the exported files on an external disk." +msgstr "Copie los archivos exportados a un disco externo." + +#. (itstool) path: info/desc +#: C/misc-key-fingerprint.page:19 +msgid "" +"The key fingerprint is a unique ID for each key, often used to verify the " +"ownership of a key" +msgstr "" +"La huella de una clave es un ID único para cada clave, usado a menudo para " +"verificar la propiedad de una clave." + +#. (itstool) path: page/title +#: C/misc-key-fingerprint.page:23 +msgid "What is a key fingerprint?" +msgstr "¿Qué es una huella?" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:25 +msgid "" +"The fingerprint of a key is a unique sequence of letters and numbers used to " +"identify the key. Just like the fingerprints of two different people, the " +"fingerprints of two different keys can never be identical. The fingerprint " +"is the best way to identify a particular key." +msgstr "" +"La huella de una clave es una secuencia única de letras y números usada para " +"identificar la clave. Al igual que las huellas dactilares de dos personas " +"diferentes, las huellas de dos claves diferentes nunca puede ser idénticas. " +"La huella es la mejor manera de identificar una clave en particular." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:30 +msgid "" +"A key has several properties like the name and email of the key owner, key " +"type, key expiration date and so on. When you are searching for a public key " +"and you find multiple keys with the same properties, the only way to " +"identify the key you are looking for is to compare the fingerprints of the " +"two keys with the fingerprint of the key you require." +msgstr "" +"Una clave tiene varias propiedades, como el nombre o la dirección de correo-" +"e del propietario, el tipo de clave, su fecha de caducidad y similares. " +"Cuando está buscando una clave pública y encuentra varias claves con las " +"mismas propiedades, la única manera de identificar la clave que está " +"buscando es comparar las huellas de las dos claves con la huella de la clave " +"que necesita." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:36 +msgid "" +"It is the fingerprint of a key that is verified when you try to login to a " +"remote computer using SSH. While " +"signing a PGP key, you must always " +"check the key fingerprint and verify the key owner's identity to ensure that " +"you are signing the correct key." +msgstr "" +"Es la huella de la clave lo que se verifica cuando intenta iniciar sesión en " +"un equipo remoto usando SSH. Al firmar " +"una clave PGP siempre debe comprobar la " +"huella y verificar la identidad del propietario para asegurarse de que está " +"firmando la clave correcta." + +#. (itstool) path: section/title +#: C/misc-key-fingerprint.page:43 +msgid "Fingerprints on Passwords and Keys" +msgstr "Huellas en Contraseñas y claves" + +#. (itstool) path: section/p +#: C/misc-key-fingerprint.page:45 +msgid "" +"You can look at the fingerprint of a key on Passwords and Keys by " +"checking the properties of the key." +msgstr "" +"Puede ver la huella de una clave en Contraseñas y claves en las " +"propiedades de la clave." + +#. (itstool) path: steps/title +#: C/misc-key-fingerprint.page:49 +msgid "To check the fingerprint of a key:" +msgstr "Para comprobar la huella de una clave:" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:51 C/pgp-photoid.page:44 C/pgp-publish.page:37 +#: C/subkeys-add.page:31 +msgid "Select GnuPG keys from the left side panel." +msgstr "Seleccione claves GnuPG en el panel de la izquierda." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:54 C/pgp-expiration-change.page:31 +msgid "Select the PGP key from the list." +msgstr "Seleccione la clave PGP de la lista." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:57 +msgid "" +"Right click the key and select Properties." +msgstr "" +"Pulse con el botón derecho sobre la clave y elija Propiedades." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:61 C/pgp-expiration-change.page:37 +msgid "In the new dialog, select the Details tab." +msgstr "En el nuevo diálogo, seleccione la pestaña Detalles." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:64 +msgid "You can see the fingerprint of the key on the left hand side." +msgstr "Puede ver la huella de la clave en la parte izquierda." + +#. (itstool) path: info/desc +#: C/passwords-stored-create.page:19 +msgid "Passwords and keys can remember your passwords for you." +msgstr "Contraseñas y claves puede recordar sus contraseñas." + +#. (itstool) path: page/title +#: C/passwords-stored-create.page:23 +msgid "Store your passwords" +msgstr "Guardar sus contraseñas" + +#. (itstool) path: page/p +#: C/passwords-stored-create.page:25 +msgid "" +"Passwords and Keys automatically stores passwords for certain " +"GNOME applications in the Login keyring. Additionally, you can " +"store any other password you want to remember." +msgstr "" +"Contraseñas y claves guarda automáticamente las contraseñas para " +"determinadas aplicaciones de GNOME en el depósito de Inicio de sesión. Adicionalmente, puede guardar cualquier otra contraseña que quiera " +"recordar." + +#. (itstool) path: steps/title +#: C/passwords-stored-create.page:30 +msgid "To create a new stored password:" +msgstr "Para crear una contraseña nueva guardada:" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:35 +msgid "Select Password from the list." +msgstr "Seleccione la Contraseña en la lista." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:38 +msgid "" +"Select the password keyring in which you want to store your password from " +"the Keyring menu." +msgstr "" +"Seleccione el depósito de contraseñas en el que quiere guardar su contraseña " +"desde el menú Depósito de claves." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:42 +msgid "" +"You can add additional information about the password in the " +"Description field, like the date of creation, or the name of the " +"application it protects, etc." +msgstr "" +"Puede añadir información adicional sobre la contraseña en el campo " +"Descripción, como la fecha de creación, el nombre de la " +"aplicación que la usa, etc." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:47 +msgid "" +"Type the password in the Password field. You can tick the Show password checkbox if you want to see the " +"password text while typing it out." +msgstr "" +"Escriba la contraseña en el campo Contraseña. Puede marcar la " +"casilla Mostrar contraseña si quiere ver la " +"contraseña mientras la escribe." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:52 +msgid "Press the Add button to finish." +msgstr "Pulse Añadir para terminar." + +#. (itstool) path: note/p +#: C/passwords-stored-create.page:57 +msgid "" +"The default keyring is displayed as the first choice in the Keyring drop down menu. You can change " +"the default keyring." +msgstr "" +"El depósito predeterminado se muestra como la primera opción en el menú " +"desplegable Depósito de claves. Puede cambiar el depósito de claves predeterminado." + +#. (itstool) path: info/desc +#: C/passwords-view.page:33 +msgid "Check a stored password which you have forgotten." +msgstr "Revisar una contraseña guardada que ha olvidado." + +#. (itstool) path: page/title +#: C/passwords-view.page:36 +msgid "View stored passwords" +msgstr "Ver las contraseñas guardadas" + +#. (itstool) path: page/p +#: C/passwords-view.page:38 +msgid "" +"If you ever forget a password stored in Passwords and Keys, you can view the contents of the " +"stored password in Passwords and Keys to refresh your memory." +msgstr "" +"Si alguna vez olvida una contraseña que está guardada en Contraseñas y claves, puede ver las " +"contraseñas que hay guardadas en Contraseñas y claves para " +"refrescar su memoria." + +#. (itstool) path: steps/title +#: C/passwords-view.page:44 +msgid "To view a password:" +msgstr "Para ver una contraseña:" + +#. (itstool) path: item/p +#: C/passwords-view.page:46 +msgid "" +"In the side bar on the left, select the keyring which contains the password." +msgstr "" +"En la barra lateral de la izquierda seleccione el depósito de claves que " +"contiene la contraseña." + +#. (itstool) path: item/p +#: C/passwords-view.page:50 +msgid "" +"Unlock the password keyring that " +"contains your password. A list of passwords stored in the keyring will be " +"displayed." +msgstr "" +"Desbloquee el depósito de claves que " +"contiene su contraseña. Se mostrará una lista de las contraseñas guardadas " +"en el depósito de claves." + +#. (itstool) path: note/p +#: C/passwords-view.page:53 +msgid "Your Login keyring is already unlocked by default." +msgstr "" +"Su depósito de claves de Inicio de sesión ya está desbloqueado de " +"manera predeterminada." + +#. (itstool) path: item/p +#: C/passwords-view.page:56 +msgid "" +"Right click on the password you want to check, and select Properties." +msgstr "" +"Pulse con el botón derecho sobre la contraseña que quiere revisar y " +"seleccione Propiedades." + +#. (itstool) path: item/p +#: C/passwords-view.page:60 +msgid "Select the <_:media-1/> icon to view the password." +msgstr "Seleccione el icono <_:media-1/> para ver la contraseña." + +#. (itstool) path: note/p +#: C/passwords-view.page:67 +msgid "" +"Since the contents of any unlocked keyrings are available to programs you " +"may be running, and Passwords and Keys does not seek to give a " +"false sense of security, the contents of unlocked keyrings are able to be " +"viewed without entering the password." +msgstr "" +"Dado que el contenido de cualquier depósito de claves desbloqueado está " +"disponible para los programas en ejecución, y que Contraseñas y claves no quiere ofrece una falsa imagen de seguridad, el contenido de los " +"depósitos desbloqueados se puede ver sin introducir la contraseña." + +#. (itstool) path: note/p +#: C/passwords-view.page:71 +msgid "" +"This means that if you are logged-in, the contents of the Login " +"keyring will available without entering a password from Passwords and " +"Keys." +msgstr "" +"Esto significa que, si ha iniciado sesión, en contenido del depósito de " +"Inicio de sesión estará disponible sin tener que introducir una " +"contraseña en Contraseñas y claves." + +#. (itstool) path: note/p +#: C/passwords-view.page:74 +msgid "" +"If you need to lend your computer to another person, it is recommended that " +"you create a user account for them, or allow them to use a guest account." +msgstr "" +"Si necesita prestar su equipo a otra persona, es recomendable que cree una " +"cuenta para esa persona, o que le permita usar una cuenta de invitado." + +#. (itstool) path: info/desc +#: C/pgp-create.page:33 +msgid "Create and use GnuPG keys for encrypting and signing emails." +msgstr "Crear y usar claves GnuPG para cifrar y firmar correos electrónicos." + +#. (itstool) path: page/title +#: C/pgp-create.page:36 +msgid "Create PGP keys" +msgstr "Crear claves PGP" + +#. (itstool) path: page/p +#: C/pgp-create.page:38 +msgid "To make a new PGP key:" +msgstr "Para crear una clave PGP nueva:" + +#. (itstool) path: item/p +#: C/pgp-create.page:45 +#| msgid "Select PGP Key from the list." +msgid "Select GPG Key from the list." +msgstr "Seleccione la clave PGP en la lista." + +#. (itstool) path: item/p +#: C/pgp-create.page:48 +msgid "Enter your full name in the Full Name field." +msgstr "Introduzca su nombre completo en el campo Nombre completo." + +#. (itstool) path: item/p +#: C/pgp-create.page:51 +msgid "Optionally, add your email address and a comment to describe the key." +msgstr "" +"Opcionalmente, puede añadir su dirección de correo-e y un comentario para " +"describir la clave." + +#. (itstool) path: item/p +#: C/pgp-create.page:55 +msgid "Press Create." +msgstr "Pulse Crear." + +#. (itstool) path: item/p +#: C/pgp-create.page:58 +msgid "" +"In the password dialog, enter a password for the key. Retype the password to " +"confirm your choice." +msgstr "" +"En el diálogo de contraseñas, introduzca una contraseña para la clave. " +"Vuelva a escribir la contraseña para confirmarla." + +#. (itstool) path: item/p +#: C/pgp-create.page:62 +msgid "Press OK to finish." +msgstr "Pulse Aceptar para terminal." + +#. (itstool) path: page/p +#: C/pgp-create.page:66 +msgid "" +"Passwords and Keys will take some time to generate your key. " +"While your key is being created, move your mouse around, press some keys on " +"your keyboard, or browse the web. This will help Passwords and Keys to create a truly random key. The key will be listed under GnuPG " +"keys." +msgstr "" +"Contraseñas y claves tardará un tiempo en generar su clave. " +"Mientras se crea su clave, mueva el ratón, pulse algunas teclas o navegue " +"por la web. Esto ayudará a que Contraseñas y claves genere una " +"clave verdaderamente aleatoria. La clave se mostrará en claves GnuPG." + +#. (itstool) path: note/p +#: C/pgp-create.page:73 +msgid "" +"The Full Name, Email Address and Comment " +"details of a GnuPG key are called the user ID of the key." +msgstr "" +"El Nombre completo, la Dirección de correo-e y los " +"Comentarios de una clave GnuPG se denominan ID de usuario de la clave." + +#. (itstool) path: section/title +#: C/pgp-create.page:79 +msgid "Advanced PGP key options" +msgstr "Opciones avanzadas de claves PGP" + +#. (itstool) path: section/p +#: C/pgp-create.page:81 +#| msgid "" +#| "Under Advanced key options you can choose custom values for " +#| "encryption type, key strength and key expiration date." +msgid "" +"Under Advanced key options, you can choose custom values for " +"encryption type, key strength and key expiration date." +msgstr "" +"En Opciones avanzadas de clave puede elegir los valores " +"personalizados para el tipo de cifrado, la fortaleza y la fecha de caducidad " +"de la clave." + +#. (itstool) path: item/title +#: C/pgp-create.page:86 +msgid "Encryption type" +msgstr "Tipo de cifrado" + +#. (itstool) path: item/p +#: C/pgp-create.page:87 +msgid "" +"Depending on your needs, create keys that can be used for signing only or " +"for both encryption and signing. The RSA and DSA-Elgamal algorithms generate " +"equally secure keys." +msgstr "" +"Dependiendo de sus necesidades, cree claves que se pueden usar sólo para " +"firmar o para firmar y cifrar. Los algoritmos RSA y DSA-Elgamal generan " +"claves igualmente seguras." + +#. (itstool) path: item/title +#: C/pgp-create.page:92 +msgid "Key Strength" +msgstr "Fortaleza de la clave" + +#. (itstool) path: item/p +#: C/pgp-create.page:93 +msgid "" +"The key strength is measured in terms of the size of the key in bits. It is " +"difficult and more time consuming to break a strong key, but strong keys " +"will slow down the encryption and signing process. You should choose your " +"key strength in Passwords and Keys depending on how long you want " +"to use the key. A small key is sufficient for short term use while a large " +"key is more suitable for long term use." +msgstr "" +"La fortaleza de una clave se mide en términos del tamaño de la clave en " +"bits. Es más difícil y lleva más tiempo romper una clave fuerte, pero las " +"claves fuertes ralentizan el proceso de cifrado y de firmado. Debe elegir la " +"fortaleza de su clave en Contraseñas y claves dependiendo de " +"cuánto tiempo vaya a usar su clave. Una clave pequeña es suficiente para " +"usarla poco tiempo, mientras que una clave más larga es más adecuada para un " +"uso más prolongado." + +#. (itstool) path: item/title +#: C/pgp-create.page:101 +msgid "Expiration Date" +msgstr "Fecha de caducidad" + +#. (itstool) path: item/p +#: C/pgp-create.page:102 +#| msgid "" +#| "When a key expires, certain actions no longer " +#| "work. In Passwords and Keys, you can either set your " +#| "key to Never Expire, or select an " +#| "expiration date and time for it." +msgid "" +"When a key expires, certain actions no longer " +"work. In Passwords and Keys, you can either set your key " +"to Never Expire or select an expiration date " +"for it." +msgstr "" +"Cuando una clave caduca, ciertas acciones dejan " +"de funcionar. En Contraseñas y claves, puede establecer " +"que su clave No caduque nunca, o seleccionar " +"una fecha de expiración." + +#. (itstool) path: item/p +#: C/pgp-create.page:106 +#| msgid "" +#| "It is recommended that you set an expiration date in case you lose access " +#| "to the key. Even if your key expires, you can change the expiration to a later date." +msgid "" +"It is recommended that you set an expiration date in case you lose access to " +"the key. Even if your key expires, you can change the expiration to a later date." +msgstr "" +"Se recomienda que configure una fecha de caducidad por si acaso pierde el " +"acceso a la clave. Aunque la clave haya caducado, puede cambiar su fecha de caducidad a una fecha posterior." + +#. (itstool) path: info/desc +#: C/pgp-delete.page:26 +msgid "" +"Delete local copies of your keys or the keys of people you communicate with." +msgstr "" +"Eliminar copias locales de sus claves o las claves de las personas con las " +"que se comunica." + +#. (itstool) path: page/title +#: C/pgp-delete.page:30 +msgid "Delete an existing key" +msgstr "Eliminar una clave existente" + +#. (itstool) path: page/p +#: C/pgp-delete.page:32 +msgid "" +"If you are no longer communicating with someone, you can delete the copy of " +"their GnuPG key on your computer using Passwords and Keys. You " +"can also permanently delete a key you own as long it has never been " +"published on a key server. Deleting a GnuPG key deletes both the public key " +"and the secret key." +msgstr "" +"Si ya no se va a comunicar con alguien, puede eliminar la copia de su clave " +"GnuPG de su equipo usando Contraseñas y claves. También puede " +"eliminar permanentemente una clave de la que sea propietario siempre que no " +"se haya publicado en un servidor de claves. Eliminar una clave GnuPG elimina " +"tanto la clave pública como la clave privada." + +#. (itstool) path: steps/title +#: C/pgp-delete.page:39 +msgid "To delete a key:" +msgstr "Para eliminar una clave:" + +#. (itstool) path: item/p +#: C/pgp-delete.page:41 +msgid "Select the key." +msgstr "Seleccione la clave." + +#. (itstool) path: item/p +#: C/pgp-delete.page:45 +msgid "Right click, and choose Delete." +msgstr "Pulse con el botón derecho y elija Propiedades." + +#. (itstool) path: note/p +#: C/pgp-delete.page:47 +msgid "" +"When you delete a GnuPG key that has been published on a key server, you " +"only delete the key in your GnuPG keyring because a copy of the public key " +"will still be present on some key server." +msgstr "" +"Cuando eliminar una clave GnuPG que se ha publicado en un servidor de " +"claves, sólo elimina la clave en su depósito GnuPG ya que la copia de la " +"clave pública seguirá estando en algún servidor de claves" + +#. (itstool) path: note/p +#: C/pgp-delete.page:50 +msgid "" +"If you delete your GnuPG key, this means that your private key will be " +"permanently deleted, even though your public key can still be retrieved from a key server and used to " +"encrypt messages to you that you won't be able to read! To prevent such a " +"key from being used, retrieve and revoke the key. The revoked key can then " +"be synced with a key server to prevent people " +"from retrieving and using it." +msgstr "" +"Si eliminar su clave GnuPG, esto significa que su clave privada se eliminará " +"permanentemente, incluso aunque su clave pública se pueda seguir obteniendo de un servidor de claves y usar " +"para cifrar mensajes que no podrá leer. Para evitar que esta clave se use, " +"obtenga la clave y revóquela. La clave revocada se podrá entonces sincronizar con el servidor de claves para evitar que la " +"gente la consiga y la use." + +#. (itstool) path: item/p +#: C/pgp-delete.page:64 +msgid "" +"In the new dialog, confirm the deletion by ticking the I understand that this secret key will be permanently deleted " +"checkbox, and press the Delete button to finish." +msgstr "" +"En el nuevo diálogo, confirme la eliminación marcando la casilla Entiendo que esta clave secreta se eliminará permanentemente, y pulse el botón Eliminar para terminar." + +#. (itstool) path: info/desc +#: C/pgp-expiration-change.page:19 +msgid "Advance or postpone the expiration date of your keys." +msgstr "Adelantar o posponer la fecha de caducidad de sus claves." + +#. (itstool) path: page/title +#: C/pgp-expiration-change.page:22 +msgid "Change the expiration date of your keys" +msgstr "Cambiar la fecha de caducidad de sus claves" + +#. (itstool) path: page/p +#: C/pgp-expiration-change.page:24 +msgid "" +"If your PGP key has expired but you wish to continue its use, you can change " +"its expiry date. You can also change the expiration settings to have a key " +"expire on an earlier date." +msgstr "" +"Si su clave PGP ha caducado, pero quiere seguir usándola, puede cambiar su " +"fecha de caducidad. También puede cambiar la caducidad para que una clave " +"caduque antes." + +#. (itstool) path: steps/title +#: C/pgp-expiration-change.page:29 +msgid "To change the expiration date of a PGP key:" +msgstr "Para cambiar la fecha de caducidad de una clave PGP:" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:34 +msgid "Right click on the selected key and select Properties." +msgstr "" +"Pulse con el botón derecho sobre la clave seleccionara y elija " +"Propiedades." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:42 +msgid "" +"To change the expiration date of the master key, press the small button with " +"the picture of a calendar next to Expires, on the right side of " +"the dialog. You can then select the new expiration date from the calendar." +msgstr "" +"Para cambiar la fecha de caducidad de una clave maestra, pulse el botón con " +"la imagen de un calendario junto a Caduca, en la parte derecha " +"del diálogo. Podrá seleccionar la nueva fecha de caducidad en el calendario." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:48 +msgid "" +"To change the expiration date of a subkey, " +"expand the Subkeys panel and select the subkey from the list. " +"Press the Expire button on the left of the panel " +"and select the new expiration date." +msgstr "" +"Para cambiar la fecha de caducidad de una subclave, expanda el panel Subclaves y seleccione la " +"subclave en la lista. Pulse el botón Caduca en " +"la parte izquierda del panel y elija la nueva fecha de caducidad." + +#. (itstool) path: note/p +#: C/pgp-expiration-change.page:59 +msgid "" +"If you are changing the expiration date of a key that has been published, " +"you must synchronize the key with the key " +"server after making the desired changes." +msgstr "" +"Si está cambiando la fecha de caducidad de una clave que ya se ha publicado, " +"debe sincronizar la clave con el servidor de " +"claves después de hacer los cambios." + +#. (itstool) path: info/desc +#: C/pgp-expired.page:20 +msgid "Can I still use it? Can expiration dates be changed?" +msgstr "¿Se puede seguir usando? ¿Se puede cambiar la fecha de caducidad?" + +#. (itstool) path: page/title +#: C/pgp-expired.page:23 +msgid "What happens if my key expires?" +msgstr "¿Qué pasa si mi clave caduca?" + +#. (itstool) path: page/p +#: C/pgp-expired.page:25 +msgid "When your key expires, it becomes invalid. This means:" +msgstr "Cuando la clave caduca, queda invalidada. Esto significa" + +#. (itstool) path: item/p +#: C/pgp-expired.page:29 +msgid "It can no longer be used to encrypt and decrypt messages." +msgstr "Ya no se puede usar para cifrar o descifrar mensajes." + +#. (itstool) path: item/p +#: C/pgp-expired.page:32 +msgid "It cannot sign other keys or receive signatures from other keys." +msgstr "Ya no puede firmar o recibir firmar de otras claves." + +#. (itstool) path: page/p +#: C/pgp-expired.page:37 +msgid "" +"Depending on how long you want your key to be valid, you can set an expiration date for it. By default, " +"Passwords and Keys sets all keys to be valid forever. That is, " +"the keys never expire." +msgstr "" +"Dependiendo de cuánto tiempo quiere que sea válida la clave, puede establecer una fecha de caducidad para " +"la misma. De manera predeterminada, Contraseñas y claves " +"configura todas las claves para que sean válidas siempre, es decir, que la " +"clave nunca caduque." + +#. (itstool) path: page/p +#: C/pgp-expired.page:42 +msgid "" +"The expiration date on a key can be changed anytime, even after the key has expired. However, if you " +"want to stop using the expired key, you should delete or revoke it." +msgstr "" +"La fecha de caducidad de una clave se puede cambiar en cualquier momento, incluso después de que la " +"clave haya expirado. Sin embargo, si quiere dejar de usar la clave caducada, " +"debería eliminarla o revocarla." + +#. (itstool) path: note/p +#: C/pgp-expired.page:49 +msgid "" +"If you have any messages encrypted with an expired key, you must change the " +"expiration date on the key to decrypt such messages before deleting or " +"revoking it." +msgstr "" +"Si tiene mensajes cifrados con una clave caducada, debe cambiar la fecha de " +"caducidad de la clave para descifrar esos mensajes antes de eliminar o " +"revocar la clave." + +#. (itstool) path: info/desc +#: C/pgp-export.page:19 +msgid "Export your public and private PGP keys to store them in keyfiles." +msgstr "" +"Exportar sus claves PGP públicas y privadas para guardar en archivos de " +"claves." + +#. (itstool) path: page/title +#: C/pgp-export.page:23 +msgid "Export PGP keys" +msgstr "Exportar claves PGP" + +#. (itstool) path: page/p +#: C/pgp-export.page:25 +msgid "" +"Export the contents of your PGP keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Exporte el contenido de sus claves PGP y guárdelas el archivos de claves, " +"para tener una copia de seguridad de sus claves o para compartir su clave " +"pública con alguien." + +#. (itstool) path: section/title +#: C/pgp-export.page:29 +#| msgid "To export your public PGP key" +msgid "To export your public PGP key:" +msgstr "Para exportar su clave PGP pública:" + +#. (itstool) path: item/p +#: C/pgp-export.page:33 C/pgp-export.page:62 C/pgp-userid-add.page:36 +#: C/pgp-userid-primary.page:32 C/pgp-userid-remove.page:31 +msgid "Select the GnuPG keys keyring from the left side panel." +msgstr "" +"Seleccione el depósito claves GnuPG en el panel lateral izquierdo." + +#. (itstool) path: item/p +#: C/pgp-export.page:37 C/pgp-export.page:66 +msgid "" +"Select the Personal PGP key that has to be exported, from the " +"list." +msgstr "" +"Seleccione de la lista la clave PGP personal PGP que exportar." + +#. (itstool) path: item/p +#: C/pgp-export.page:41 C/ssh-export.page:42 +msgid "" +"Right-click on the key and select Export…." +msgstr "" +"Pulse con el botón derecho sobre la clave y elija Exportar…." + +#. (itstool) path: item/p +#: C/pgp-export.page:44 +msgid "" +"To store the keys in the ASCII format, select Armored PGP keys " +"from the menu at the bottom of the export window" +msgstr "" +"Para guardar las claves en formato ASCII, seleccione Claves PGP " +"blindadas en el menú en la parte inferior de la ventana de exportación" + +#. (itstool) path: item/p +#: C/pgp-export.page:49 C/pgp-export.page:77 +msgid "" +"Choose a location for your keyfile, and press Export to finish." +msgstr "" +"elija una ubicación para el archivo de claves y pulse Exportar para terminar." + +#. (itstool) path: section/title +#: C/pgp-export.page:58 +#| msgid "To export your private PGP key" +msgid "To export your private PGP key:" +msgstr "Para exportar su clave PGP privada:" + +#. (itstool) path: item/p +#: C/pgp-export.page:70 C/subkeys-add.page:37 +msgid "" +"Right click on the selected key and select PropertiesDetails." +msgstr "" +"Pulse con el botón derecho sobre la clave seleccionada y elija " +"PropiedadesDetalles." + +#. (itstool) path: item/p +#: C/pgp-export.page:74 +msgid "Press the Export button." +msgstr "Pulse el botón Exportar." + +#. (itstool) path: info/desc +#: C/pgp-import.page:26 +msgid "Import keys from keyfiles into Passwords and Keys." +msgstr "" +"Importar claves desde archivos de claves en Contraseñas y claves." + +#. (itstool) path: page/title +#: C/pgp-import.page:29 +msgid "Import PGP keys" +msgstr "Importar claves PGP" + +#. (itstool) path: page/p +#: C/pgp-import.page:31 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports PGP keys from your computer. You can also manually " +"import a particular key, if it has not been imported already." +msgstr "" +"Si ha recibido un archivo de clave por correo-e, puede querer importarlo en " +"Contraseñas y claves. En la mayoría de los casos, " +"Contraseñas y claves importa automáticamente las claves PGP desde " +"su equipo. También puede importar manualmente una clave, si no se ha " +"importado ya." + +#. (itstool) path: steps/title +#: C/pgp-import.page:37 C/ssh-import.page:37 +msgid "How do I manually import a key?" +msgstr "¿Cómo se importa manualmente una clave?" + +#. (itstool) path: item/p +#: C/pgp-import.page:42 C/ssh-import.page:42 +msgid "Select Import from file… from the list." +msgstr "" +"Seleccione Importar desde archivo… en la lista" + +#. (itstool) path: item/p +#: C/pgp-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. PGP keys end with " +"pgp or asc, GPG keys end with gpg." +msgstr "" +"En el nuevo diálogo, seleccione la clave que quiere importar. Las claves PGP " +"terminan en pgp o asc, mientras que las claves GPG " +"terminan en gpg." + +#. (itstool) path: item/p +#: C/pgp-import.page:50 C/ssh-import.page:49 +msgid "Click Open." +msgstr "Pulse Abrir." + +#. (itstool) path: page/p +#: C/pgp-import.page:54 +msgid "" +"Once imported, the PGP and GPG keys are listed under GnuPG keys." +msgstr "" +"Una vez importadas, las claves PGP y GPG aparecen listadas en claves " +"GnuPG." + +#. (itstool) path: info/desc +#: C/pgp-photoid.page:20 +msgid "" +"Include a photo ID with your existing keys so that people can identify them " +"easily." +msgstr "" +"Incluir un ID de foto a sus claves existentes, para que la gente pueda " +"identificarlas fácilmente." + +#. (itstool) path: page/title +#: C/pgp-photoid.page:24 +msgid "Attach a photo to your key" +msgstr "Adjuntar una foto a su clave" + +#. (itstool) path: page/p +#: C/pgp-photoid.page:26 +msgid "" +"You can attach a photo ID to your PGP keys so that everyone can verify the " +"ownership of your keys after looking at your photo. Though a key with an " +"attached photo will provide a slightly better level of security than a key " +"with no photo, checking the photo on a key is not as safe as checking the " +"fingerprint of the key because " +"anyone having your photos can create a key with your photo ID while the key " +"fingerprint cannot be mimicked." +msgstr "" +"Puede adjuntar un ID de foto a sus claves PGP para que cualquiera pueda " +"verificar la propiedad de sus claves después de mirar su foto. Aunque una " +"clave con una foto adjunta proporciona un nivel de seguridad ligeramente " +"mejor que una clave sin foto, comprobar la foto de una clave no es tan " +"seguro como comprobar la huella de la " +"clave, ya que cualquiera que tenga una foto suya puede crear una " +"clave con su ID de foto, mientras que la huella de la clave no se puede " +"imitar." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:35 +msgid "" +"Unlike the restrictions in GPG, the photo ID you want to upload " +"need not be in the JPEG format. Passwords and Keys " +"lets you upload your photo in png, jpg and several " +"other common image formats." +msgstr "" +"A diferencia de las restricciones en GPG, el ID de foto que " +"quiere subir no tiene por qué ser en formato JPEG. " +"Contraseñas y claves le permite subir su foto en png, jpg y en muchos otros formatos comunes de imagen." + +#. (itstool) path: steps/title +#: C/pgp-photoid.page:42 +msgid "To attach a photo ID to a PGP key:" +msgstr "Para adjuntar un ID de foto a una clave PGP:" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:47 +msgid "Select the PGP key." +msgstr "Seleccione la clave PGP." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:50 +msgid "" +"Right click on the chosen key and select Properties Owner." +msgstr "" +"Pulse con el botón derecho sobre la clave que quiera y elija Propiedades Propietario." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:55 +#| msgid "" +#| "Press the button marked with a + on the left " +#| "hand side to add a photo." +msgid "" +"Press the + button on the left hand side to add " +"a photo." +msgstr "" +"Pulse el botón + en la parte izquierda para " +"añadir una foto." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:59 +msgid "Select the photo from your computer." +msgstr "Seleccione la foto de su equipo." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:62 +msgid "Click Close to finish." +msgstr "Pulse Cerrar para terminar." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:67 +msgid "" +"The photos you select should be small in size, preferably about 120 by 150 " +"pixels. Since a photo ID is always attached to its key, a large photo will " +"increase the key size and slow down all operations that use the key. " +"Passwords and Keys resizes large photos to the optimal size after " +"asking for your confirmation." +msgstr "" +"Las fotos que seleccione deben tener un tamaño pequeño, preferiblemente de " +"120x150 píxeles. Dado que un ID de foto se adjunta siempre a su clave, una " +"foto grande aumentará el tamaño de la clave y ralentizará las operaciones " +"que usen esa clave. Contraseñas y claves redimensiona las fotos " +"grandes a un tamaño óptimo después de pedirle su confirmación." + +#. (itstool) path: credit/name +#: C/pgp-publish.page:16 C/pgp-retrieve-remote.page:16 +msgid "Aruna" +msgstr "Aruna" + +#. (itstool) path: info/desc +#: C/pgp-publish.page:21 +msgid "" +"Publish your public keys on key servers, or export and mail them to your friends." +msgstr "" +"Publique sus claves públicas en servidores de claves o expórtelas y envíelas por correo-e a sus amigos." + +#. (itstool) path: page/title +#: C/pgp-publish.page:25 +msgid "Share your public keys" +msgstr "Compartir sus claves públicas" + +#. (itstool) path: page/p +#: C/pgp-publish.page:27 +msgid "" +"If you want people to send you encrypted communication, you must share your " +"GnuPG key with them. To share your key with a selected few " +"people, export it and mail the resulting " +"keyfile to them. To allow anyone to retrieve and use your public key, publish it on a key server." +msgstr "" +"Si quiere que la gente le envíe comunicaciones cifradas, debe compartir su " +"clave GnuPG con ellos. Para compartir su clave con unas pocas " +"personas, expórtela y envíe por correo-e el " +"archivo de la clave. Para permitir que cualquiera pueda obtener y usar su clave pública, publíquela en un " +"servidor de claves." + +#. (itstool) path: steps/title +#: C/pgp-publish.page:35 +msgid "How do I publish my key on a key server?" +msgstr "¿Cómo se publica una clave en un servidor de claves?" + +#. (itstool) path: item/p +#: C/pgp-publish.page:40 +msgid "" +"From the list, select the Personal PGP key you want to publish." +msgstr "" +"Seleccione en la lista la clave PGP personal que quiere publicar." + +#. (itstool) path: item/p +#: C/pgp-publish.page:47 C/pgp-sync.page:44 +#| msgid "" +#| "Select Remote Sync and Publish Keys…." +msgid "Select Sync and publish keys…." +msgstr "" +"Seleccione Sincronizar y publicar claves…." + +#. (itstool) path: item/p +#: C/pgp-publish.page:50 +msgid "" +"Press the Key Servers button to see the list of " +"key servers on which you can publish your public key." +msgstr "" +"Pulse el botón Servidores de claves para ver la " +"lista de servidores de claves en los que puede publicar su clave pública." + +#. (itstool) path: item/p +#: C/pgp-publish.page:54 +msgid "" +"To publish your key on a key server, select the key server from the " +"Publish keys to menu." +msgstr "" +"Para publicar su clave en un servidor de claves, seleccione un servidor de " +"claves en el menú Publicar claves en." + +#. (itstool) path: item/p +#: C/pgp-publish.page:58 +#| msgid "" +#| "Press Close to go back to the previous dialog." +msgid "" +"Close the Preferences window to go back to the previous dialog." +msgstr "" +"Cierre la ventana de Preferencias para volver al diálogo anterior." + +#. (itstool) path: item/p +#: C/pgp-publish.page:62 +msgid "Press Sync to finish." +msgstr "Pulse Sincronizar para terminar." + +#. (itstool) path: note/p +#: C/pgp-publish.page:77 +msgid "You need to be connected to the Internet while publishing your keys." +msgstr "Deberá estar conectado a Internet mientras publica sus claves." + +#. (itstool) path: note/title +#: C/pgp-publish.page:81 +msgid "What is a keyserver?" +msgstr "¿Qué es un servidor de claves?" + +#. (itstool) path: note/p +#: C/pgp-publish.page:82 +msgid "" +"Key servers are computers that store copies of public encryption keys " +"submitted to them, and share these copies with other key servers through the " +"Internet." +msgstr "" +"Los servidores de claves son equipos que guardan copias de las claves " +"públicas de cifrado que reciben, y comparten estas copias con otros " +"servidores de claves a través de Internet." + +#. (itstool) path: info/desc +#: C/pgp-retrieve-remote.page:26 +msgid "" +"If you want to send an urgent encrypted message to someone, but do not have " +"their key, you can retrieve their key from a remote key server." +msgstr "" +"Si quiere enviar un mensaje cifrado urgente a alguien, pero no tiene su " +"clave, puede conseguirla desde un servidor de claves remoto." + +#. (itstool) path: page/title +#: C/pgp-retrieve-remote.page:31 +msgid "Retrieve remote keys" +msgstr "Recuperar claves remotas" + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:33 +msgid "" +"You can retrieve someone's public GnuPG key from the Internet and store it " +"in Passwords and Keys." +msgstr "" +"Puede obtener la clave GnuPG pública de alguien en Internet y guardarla en " +"Contraseñas y claves." + +#. (itstool) path: steps/title +#: C/pgp-retrieve-remote.page:37 +msgid "To retrieve a remote key:" +msgstr "Para recuperar una clave remota:" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:42 +#| msgid "" +#| "Select Import from file… from the list." +msgid "Select Find remote keys…." +msgstr "Seleccione Buscar claves remotas…." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:45 +msgid "" +"Enter information about the key you wish to retrieve in the field provided. " +"Details like key ID or the key owner's email address give more accurate " +"results than the name of the key owner." +msgstr "" +"Introduzca la información sobre la clave que quiere obtener en el campo " +"proporcionado. Detalles como el ID de la clave o la dirección de correo-e de " +"su propietario dan resultados más precisos que el nombre del propietario de " +"la clave." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:50 +msgid "Press the Search button." +msgstr "Pulse el botón Buscar." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:53 +#| msgid "" +#| "From the list of search results, select the key you want to import, right " +#| "click on it and select Import. " +#| "Alternatively, you can also press the Import " +#| "button present at the top of the dialog after selecting the key." +msgid "" +"From the list of search results, select the key you want to import, and " +"press the Download button on the right." +msgstr "" +"En la lista de resultados de búsqueda, seleccione la clave que quiere " +"importar y pulse el botón Descargar a la derecha." + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:58 +msgid "The imported key will be listed in the GnuPG keys keyring." +msgstr "" +"La clave importada se mostrará en el depósito de claves GnuPG " +"keyring." + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:61 +#| msgid "" +#| "If you want more information about a key, before importing it, select it, " +#| "and press the properties button found at the top of the dialog. " +#| "Alternatively you can also right click on the key and select Properties. This opens a new window that displays " +#| "information like the key ID, key fingerprint, level of trust, owner's " +#| "name, etc." +msgid "" +"If you want more information about a key, before importing it, select it and " +"press Enter or double-click it. This opens a new window that " +"displays information like the key ID, key fingerprint, level of trust, " +"owner's name, etc." +msgstr "" +"Si quiere más información sobre una clave, antes de importarla, selecciónela " +"y Intro o pulse dos veces sobre ella. Esto abre una ventana nueva " +"que muestra información como el ID de la clave, su huella, el nivel de " +"confianza, el nombre del propietario, etc." + +#. (itstool) path: info/desc +#: C/pgp-sign.page:19 +msgid "If you trust a key, you can sign it." +msgstr "Si confía en una clave, puede firmarla." + +#. (itstool) path: page/title +#: C/pgp-sign.page:22 +msgid "Sign keys" +msgstr "Firmar claves" + +#. (itstool) path: page/p +#: C/pgp-sign.page:24 +msgid "" +"To show that you trust and vouch for the genuineness of someone's key, you " +"can sign it. A person's key must be signed only after you compare the user ID on the key with a valid proof of their " +"identity, such as a passport, driver's license, or similar. If the two IDs " +"match, the key is said to be trustworthy." +msgstr "" +"Para demostrar que confía y garantiza la autenticidad de la clave de " +"alguien, puede firmarla. La clave de una persona sólo debe firmarse después " +"de comparar el ID del usuario de la clave " +"con una prueba válida de su identidad, como puede ser el pasaporte, el " +"carnet de identidad o de conducir o similar. Si los ID coinciden, se dice " +"que la clave es confiable." + +#. (itstool) path: steps/title +#: C/pgp-sign.page:31 +msgid "To sign a key:" +msgstr "Para firmar una clave:" + +#. (itstool) path: item/p +#: C/pgp-sign.page:33 +msgid "" +"Import the remote key or keyfile containing the key to be signed into " +"Passwords and Keys." +msgstr "" +"Importe la clave remota o el archivo de la clave que contiene la clave que " +"firmar en Contraseñas y claves." + +#. (itstool) path: item/p +#: C/pgp-sign.page:38 +msgid "From the list of GnuPG keys select the imported key." +msgstr "En la lista de claves GnuPG seleccione la clave importada." + +#. (itstool) path: item/p +#: C/pgp-sign.page:41 +msgid "" +"Right click the key and select PropertiesTrust." +msgstr "" +"Pulse con el botón derecho sobre la clave y elija PropiedadesConfiar." + +#. (itstool) path: item/p +#: C/pgp-sign.page:45 +msgid "Press the Sign this Key button." +msgstr "Pulse el botón Firmar esta clave." + +#. (itstool) path: item/p +#: C/pgp-sign.page:48 +msgid "" +"Depending on how carefully you have checked the key, choose one out of Not at all, Casually or Very carefully." +msgstr "" +"Dependiendo de cómo se haya verificado la clave, elija Ninguno, Casualmente " +"o Muy cuidadosamente." + +#. (itstool) path: item/p +#: C/pgp-sign.page:54 +msgid "" +"Decide if you want to revoke your signature at a later date and if you want " +"to make your signature public, by ticking the checkboxes provided." +msgstr "" +"Decida si quiere revocar su firma a una fecha posterior y si quiere hacer " +"pública su firma, marcando las casillas proporcionadas." + +#. (itstool) path: item/p +#: C/pgp-sign.page:59 +msgid "" +"When you own more than one PGP key, select the key you want to sign with, " +"from the list next to Signer." +msgstr "" +"Cuando tiene más de una clave PGP, seleccione la clave con la que quiere " +"firmar de la lista junto a Firmante." + +#. (itstool) path: item/p +#: C/pgp-sign.page:63 +msgid "Press the Sign button to finish." +msgstr "Pulse el botón Firmar para terminar." + +#. (itstool) path: note/title +#: C/pgp-sign.page:68 +msgid "Can I sign my own keys?" +msgstr "¿Puedo firmar mis propias claves?" + +#. (itstool) path: note/p +#: C/pgp-sign.page:69 +msgid "" +"When you create a new GnuPG key, " +"it is automatically signed by you. Any new subkeys created using a GnuPG key, will also be signed " +"automatically." +msgstr "" +"Cuando crea una clave GnuPG " +"nueva, esta se firma automáticamente. Cualquier subclave nueva creada usando una clave GnuPG, también se " +"firmará automáticamente." + +#. (itstool) path: info/desc +#: C/pgp-subkeys.page:19 +msgid "" +"A subkey is always bound to a master key in a PGP keypair. It is used for " +"encryption." +msgstr "" +"Una subclave siempre se asocia a una clave maestra en un par de claves PGP. " +"Esto se usa para cifrado." + +#. (itstool) path: page/title +#: C/pgp-subkeys.page:23 +msgid "What is a subkey?" +msgstr "¿Qué es una subclave?" + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:25 +msgid "" +"Though it is very important to keep your keys safe, it can become quite " +"tedious to do so when you have many keys. Passwords and Keys " +"provides a simple solution to key safety by using subkeys for " +"signing and encryption." +msgstr "" +"Aunque es muy importante mantener sus claves seguras, puede resultar tedioso " +"hacerlo cuando tiene varias claves. Contraseñas y claves " +"proporciona una solución simple para mantener la seguridad usando " +"subclaves para firmar y cifrar." + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:30 +msgid "" +"Whenever you create a new public encryption " +"key, a keypair is generated instead of a single key. This keypair " +"consists of a main key, also called the master key and a " +"subkey. A master key can be used to create additional subkeys that " +"are then bound to it." +msgstr "" +"Siempre que crea una clave de cifrado nueva " +"se genera un par de claves, en lugar de una única clave. Este par " +"de claves consiste en una clave principal, también llamada clave " +"maestra y en una subclave. Una clave maestra se puede usar " +"para crear subclaves adicionales que se asocian a la maestra." + +#. (itstool) path: list/title +#: C/pgp-subkeys.page:37 +msgid "What does each key in a keypair do?" +msgstr "¿Qué hace cada clave en una pareja de claves?" + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:39 +msgid "" +"The master key is used for signing " +"other keys, creating subkeys and revoking subkeys. Your master key must be kept very safe. Signatures of trust " +"are also collected on your master key. If the master key is compromised, you " +"have no choice but to revoke it and all the subkeys attached to it." +msgstr "" +"La clave maestra se usa para firmar " +"otras claves, crear subclaves y revocar " +"subclaves. Su clave maestra debe guardarse en un lugar muy seguro. Las " +"firmas de confianza también se recogen en su clave maestra. Si se compromete " +"la clave maestra, no tendrá más remedio que revocarla, junto con todas su " +"subclaves." + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:47 +msgid "" +"The default subkey is used for encryption and decryption of " +"messages. Additional subkeys can be created for signing. Though it is " +"important that your subkeys are kept safe, you can always revoke a subkey if " +"it is compromised and create a new one with the original master key." +msgstr "" +"La subclave predeterminada se usa para cifrar y descifrar mensajes. " +"Se pueden crear subclaves adicionales para firmar. Aunque es importante " +"guardar las subclaves en un lugar seguro, siempre revocar una subclave si se " +"ha visto comprometida y crear una nueva con la clave maestra original." + +#. (itstool) path: section/title +#: C/pgp-subkeys.page:56 +msgid "More about subkeys" +msgstr "Más sobre las subclaves" + +#. (itstool) path: info/desc +#: C/pgp-sync.page:21 +msgid "" +"Synchronize information present in your local key with the corresponding key " +"on a key server." +msgstr "" +"Sincronizar la información presente en su clave local con la clave " +"correspondiente en un servidor de claves." + +#. (itstool) path: page/title +#: C/pgp-sync.page:25 +msgid "Synchronize your keys" +msgstr "Sincronizar sus claves" + +#. (itstool) path: page/p +#: C/pgp-sync.page:27 +msgid "" +"PGP keys in your keyring have to be synchronized with a key server to ensure " +"that any changes made to the key on the key server, like a new signature, " +"are updated in your local copy of the key. Similarly, when you change " +"information on your local key copy, like the expiration date, or when you " +"sign someone's key, you should synchronize the keys to update the changes on " +"the remote copy of the key. You need a working Internet connection to " +"synchronize your keys." +msgstr "" +"Las claves PGP del depósito de claves deben sincronizarse con un servidor de " +"claves para asegurarse de que los cambios hecho en la clave del servidor de " +"claves, como una firma nueva, se actualizan en su copia local de la clave. " +"De igual manera, cuando cambia la información en su copia local de la clave, " +"como la fecha de caducidad, o cuando firma la clave de alguien, debe " +"sincronizar sus claves para actualizar los cambios en la copia remota de la " +"clave. Para sincronizar sus claves necesitará estar conectado a Internet." + +#. (itstool) path: steps/title +#: C/pgp-sync.page:36 +msgid "How do I synchronize a key?" +msgstr "¿Cómo se sincroniza una clave?" + +#. (itstool) path: item/p +#: C/pgp-sync.page:38 +msgid "Select the PGP key you wish to synchronize." +msgstr "Seleccione la clave PGP que quiere sincronizar." + +#. (itstool) path: item/p +#: C/pgp-sync.page:47 +msgid "" +"Click the Sync button to synchronize your key." +msgstr "" +"Pulse el botón Sincronizar para sincronizar su " +"clave." + +#. (itstool) path: note/title +#: C/pgp-sync.page:53 +msgid "Why is the Sync button not clickable?" +msgstr "" +"¿Por qué no puedo pulsar el botón Sincronizar?" + +#. (itstool) path: note/p +#: C/pgp-sync.page:55 +#| msgid "" +#| "Only PGP keys that have been published on a key server can be " +#| "synchronized. If the Sync button is not " +#| "clickable, check if the key has been published on a key server. In the " +#| "case of synchronizing your own keys, publish them, before synchronizing " +#| "them." +msgid "" +"Only PGP keys that have been published on a key server can be synchronized. " +"If the Sync button is not clickable, check if " +"the key has been published on a key server. In the case of synchronizing " +"your own keys, publish them before " +"synchronizing them." +msgstr "" +"Sólo se pueden sincronizar las claves PGP que se hayan publicado en un " +"servidor de claves. Si no puede pulsar el botón Sincronizar, compruebe si la clave se la publicado en un servidor " +"de claves. En el caso de querer sincronizar sus propias claves, publíquelas antes de sincronizarlas." + +#. (itstool) path: info/desc +#: C/pgp-userid-add.page:20 +msgid "" +"Having many user IDs helps you to use the same key to communicate with " +"different people." +msgstr "" +"Tener varios ID de usuario le ayuda a usar la misma clave para comunicarse " +"con diferentes personas." + +#. (itstool) path: page/title +#: C/pgp-userid-add.page:24 +msgid "Add extra user IDs to a key" +msgstr "Añadir ID de usuario adicionales a una clave." + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:26 +msgid "" +"A key can have multiple user IDs. This is helpful when you want to use the " +"same key while communicating with several people and one of them does not " +"recognize, say, the email address in your user ID. This person may not want " +"to import your public key since it contains information that they do not " +"know. In such scenarios, if you do not want to create a new key with a " +"different user ID, you can attach a new user ID to your existing key." +msgstr "" +"Una clave puede tener varios ID de usuario. Esto es útil cuando usa la misma " +"clave para comunicarse con diferentes personas y una de ellas no reconoce, " +"por ejemplo, la dirección de correo de su ID de usuario. Esta persona puede " +"no querer importar su clave pública, ya que contiene información que no " +"conoce. En estas situaciones, si no quiere crear una clave nueva con un ID " +"de usuario diferente, puede adjuntar un ID de usuario nuevo a la clave." + +#. (itstool) path: steps/title +#: C/pgp-userid-add.page:34 +msgid "To add an extra user ID:" +msgstr "Para añadir un ID de usuario adicional:" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:39 +msgid "From the list, select the Personal PGP key of your choice." +msgstr "En la lista, seleccione la clave PGP personal que quiera." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:43 +msgid "" +"Right click on the key and select Properties Names " +"and Signatures." +msgstr "" +"Pulse con el botón derecho sobre la clave y elija Propiedades Nombres y firmas." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:47 +msgid "" +"Click the Add Name button to add a new user ID." +msgstr "" +"Pulse el botón Añadir nombre para añadir un ID " +"de usuario nuevo." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:51 +msgid "" +"In the new dialog, fill in details like Full Name, Email " +"Address and Key Comment for the new user ID." +msgstr "" +"En el nuevo diálogo, rellene los detalles Nombre completo, " +"Dirección de correo-e y Comentarios de la clave para " +"el neuvo ID de usuario." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:56 +msgid "" +"Enter the correct passphrase and click OK to " +"finish." +msgstr "" +"Introduzca la contraseña correcta y pulse Aceptar para terminar." + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:61 +msgid "" +"Your new user ID will now be listed under the Names and Signatures panel." +msgstr "" +"Su nuevo ID de usuario se listará debajo del panel Nombres y firmas." + +#. (itstool) path: note/p +#: C/pgp-userid-add.page:65 +msgid "" +"If your key has been published on a key server, synchronize it after adding new user IDs to update the remote copy " +"of the key." +msgstr "" +"Si su clave se ha publicado en un servidor de claves, sincronícela después de añadir nuevos ID de usuario para " +"actualizar la copia remota de la clave." + +#. (itstool) path: info/desc +#: C/pgp-userid-primary.page:19 +msgid "Change your default user ID" +msgstr "Cambiar su ID de usuario predeterminado" + +#. (itstool) path: page/title +#: C/pgp-userid-primary.page:22 +msgid "What is a primary user ID?" +msgstr "¿Qué es un ID de usuario predeterminado?" + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:24 +msgid "" +"When you have multiple user IDs, one of the user IDs is made the primary " +"user ID. Passwords and Keys will attach the primary user ID by " +"default with your key information, while encrypting or signing, unless you " +"explicitly choose another user ID instead." +msgstr "" +"Cuando tiene varios ID de usuario, uno de ellos es el ID de usuario " +"primario. Contraseñas y claves adjuntará el ID de usuario " +"primario predeterminado a la información de su clave al cifrar o firmar, a " +"menos que elija explícitamente otro ID de usuario en su lugar." + +#. (itstool) path: steps/title +#: C/pgp-userid-primary.page:30 +msgid "To change the primary user ID in a PGP key:" +msgstr "Para cambiar el ID de usuario primario en una clave PGP:" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:35 C/pgp-userid-remove.page:34 +#: C/subkeys-add.page:34 +msgid "Select the Personal PGP key from the list." +msgstr "Seleccione la clave PGP personal en la lista." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:38 +msgid "" +"Right click on the selected key and select Properties " +"Names and Signatures." +msgstr "" +"Pulse con el botón derecho sobre la clave seleccionada y elija " +"Propiedades Nombres y firmas." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:43 +msgid "" +"Select the new primary user ID from the list and click Primary." +msgstr "" +"Seleccione el nuevo ID de usuario primario de la lista y pulse Primario." + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:48 +msgid "" +"The user ID will move to the top of the Names and Signatures list " +"to become your primary user ID." +msgstr "" +"El ID de usuario se moverá a la parte superior de la lista de Nombres y " +"firmas para convertirse en su ID de usuario primario." + +#. (itstool) path: note/p +#: C/pgp-userid-primary.page:52 +msgid "" +"Sync your keys after changing your primary user ID to update the remote " +"copies of your key." +msgstr "" +"Sincronice sus claves después de cambiar el ID de usuario primario para " +"actualizar las copias remotas de su clave." + +#. (itstool) path: info/desc +#: C/pgp-userid-remove.page:20 +msgid "Remove extra user IDs" +msgstr "Quitar ID de usuario adicionales" + +#. (itstool) path: page/title +#: C/pgp-userid-remove.page:23 +msgid "Detach a user ID from a key" +msgstr "Desasociar un ID de usuario de una clave" + +#. (itstool) path: page/p +#: C/pgp-userid-remove.page:25 +msgid "" +"While it is essential that all keys have at least one user ID, you can " +"remove any additional user IDs that you have attached to the key." +msgstr "" +"Aunque es esencial que todas las claves tengan al menos un ID de usuario, " +"puede quitar cualquier ID de usuario adicional que haya asociado a la clave." + +#. (itstool) path: steps/title +#: C/pgp-userid-remove.page:29 +msgid "To remove a user ID from a PGP key:" +msgstr "Para quitar un ID de usuario de una clave PGP:" + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:37 +msgid "" +"Right click on the selected key and choose Properties " +"Names and Signatures." +msgstr "" +"Pulse con el botón derecho sobre la clave que quiera y elija " +"Propiedades Nombres y firmas." + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:42 +msgid "" +"Select the user ID you want to remove and click Delete." +msgstr "" +"Seleccione el ID de usuario que quiere quitar y pulse Eliminar." + +#. (itstool) path: note/p +#: C/pgp-userid-remove.page:48 +msgid "" +"Synchronize your keys after detaching the " +"user ID to update the changes on the remote copy of the key." +msgstr "" +"Sincronice sus claves después de desasociar " +"el ID de usuario para actualizar los cambios en la copia remota de la clave." + +#. (itstool) path: info/desc +#: C/pgp-userid.page:19 +msgid "Create keys with good user IDs and learn to add and remove user IDs." +msgstr "" +"Crear claves con buenos ID de usuario y aprender cómo añadir y quitar ID de " +"usuario." + +#. (itstool) path: page/title +#: C/pgp-userid.page:23 +msgid "What is a user ID?" +msgstr "¿Qué es un ID de usuario?" + +#. (itstool) path: page/p +#: C/pgp-userid.page:25 +msgid "" +"When you create a key, you provide details, like your name, email and a key " +"description. This information together constitutes a user ID. A good user ID " +"helps people to recognize your key when they are trying to retrieve or import " +"it. It is important to fill in authentic information while creating your " +"user ID." +msgstr "" +"Cuando crea una clave, proporciona detalles como su nombre, su dirección de " +"correo-e y una descripción de la clave. Esta información constituye un ID de " +"usuario. Un buen ID de usuario ayuda a otras personas a reconocer su clave " +"cuando intentan obtenerla o importarla. Es importante dar información " +"verídica al crear el ID de usuario." + +#. (itstool) path: section/title +#: C/pgp-userid.page:33 +msgid "Add, remove user IDs" +msgstr "Añadir, quitar ID de usuario" + +#. (itstool) path: info/desc +#: C/ssh-connect-remote.page:23 +msgid "Use SSH keys to log in to another computer without entering a password." +msgstr "" +"Usar claves SSH para iniciar sesión en otro equipo sin introducir una " +"contraseña." + +#. (itstool) path: page/title +#: C/ssh-connect-remote.page:27 +msgid "Connect to other computers" +msgstr "Conectarse a otros equipos" + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:29 +msgid "" +"You can use Passwords and Keys to install your SSH key onto a " +"remote computer that can run an SSH server. You can also set up your SSH key for remote login " +"while creating the key." +msgstr "" +"Puede usar Contraseñas y claves para instalar su clave SSH en un " +"equipo remoto que pueda ejecutar un servidor SSH. también puede configurar su clave SSH para inicio " +"de sesión remoto cuando crea la clave." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:36 +msgid "" +"Right click on the SSH key and select Configure Key for " +"Secure Shell…." +msgstr "" +"Pulse con el botón derecho sobre la clave SSH y elija " +"Configurar clave para Shell segura…." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:40 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH, and press " +"Set Up." +msgstr "" +"En la ventana de diálogo que se abre, introduzca la Dirección del " +"servidor al que se suele conectar de manera remota por SSH y pulse " +"Configurar." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:45 C/ssh-create.page:106 +msgid "" +"The program will now attempt to connect to the specified Server " +"address with the entered Login Name. If there are any " +"problems in accessing the remote computer, a pop-up window will appear that " +"explains the problem, and you can try again. Make sure that you have a " +"network connection and that the remote computer is on and accessible." +msgstr "" +"El programa intentará conectarse a la Dirección del servidor " +"indicada con el Nombre de inicio de sesión introducido. Si hay " +"algún problema al intentar acceder al equipo remoto, aparecerá una ventana " +"emergente explicando el problema, y podrá intentarlo de nuevo. Asegúrese de " +"que está conectado a la red y de que el equipo remoto está activo y " +"accesible." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:53 C/ssh-create.page:114 +msgid "" +"If connection to the remote computer was successful, a dialog box will " +"appear which asks for the Password you use to log in to the " +"remote computer. Enter your password, then press OK." +msgstr "" +"Si la conexión al equipo remoto se completa con éxito, aparecerá un cuadro " +"de diálogo solicitando la Contraseña usada para iniciar sesión en " +"el equipo remoto. Introdúzcala y pulse Aceptar." + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:60 +msgid "" +"You should now be able to log in to the remote computer via SSH without a " +"password." +msgstr "" +"Ahora debería poder iniciar sesión en el equipo remoto mediante SSH sin " +"necesidad de contraseña." + +#. (itstool) path: info/desc +#: C/ssh-create.page:31 +msgid "Create SSH keys to log in to other computers." +msgstr "Crear claves SSH para iniciar sesión en otros equipos." + +#. (itstool) path: page/title +#: C/ssh-create.page:34 +msgid "Create a new SSH key" +msgstr "Crear una clave SSH nueva" + +#. (itstool) path: page/p +#: C/ssh-create.page:36 +msgid "" +"An SSH key will help you to create a secure connection between computers. " +"Creating an SSH key creates both a Public and a Private " +"key. Here is how to create a new key:" +msgstr "" +"Una clave SSH le ayudará a crear conexiones seguras entre equipos. Al crear " +"una clave SSH se crean tanto la clave Pública como la Privada. Para crear una clave nueva.:" + +#. (itstool) path: item/p +#: C/ssh-create.page:42 +msgid "Select Secure Shell Key from the list." +msgstr "Seleccione Clave de Shell segura en la lista." + +#. (itstool) path: item/p +#: C/ssh-create.page:43 +msgid "" +"Enter a description for the key. The key description will help you to " +"identify the key later. For example, you could enter the date for the day, " +"something about how the key will be used, or the server name on which you " +"intend to install the key. The description field is optional, and how you " +"describe the key is entirely up to you." +msgstr "" +"Introduzca una descripción para la clave. Esta descripción le ayudará a " +"identificar su clave posteriormente. Por ejemplo, puede introducir la la " +"fecha, para qué se usará la clave o el nombre del servidor en el que " +"pretende instalar la clave. El campo de descripción es opcional, y la manera " +"de describir la clave depende totalmente de usted." + +#. (itstool) path: item/p +#: C/ssh-create.page:48 +msgid "" +"You can also change default settings for encryption type or key strength." +msgstr "" +"Puede cambiar la configuración predeterminada del tipo de cifrado o la " +"fortaleza de la clave." + +#. (itstool) path: page/p +#: C/ssh-create.page:52 +msgid "" +"At this point, you can just create your key, or create your key and install " +"it on a remote computer to enable password-free login." +msgstr "" +"En este punto, puede simplemente crear su clave o crearla e instalarla en un " +"equipo remoto para permitir el inicio de sesión sin contraseña." + +#. (itstool) path: section/title +#: C/ssh-create.page:56 +msgid "Create your key and do not set up remote login" +msgstr "Crear su clave y con configurar el inicio de sesión remoto" + +#. (itstool) path: section/p +#: C/ssh-create.page:57 +msgid "You can create the SSH key, and choose to set it up later." +msgstr "Puede crear la clave SSH y elegir configurarla más tarde." + +#. (itstool) path: item/p +#: C/ssh-create.page:61 +msgid "Press the Just Create Key button." +msgstr "Pulse el botón Tan sólo crear clave." + +#. (itstool) path: item/p +#: C/ssh-create.page:64 +msgid "" +"Type a passphrase for your SSH key and press OK." +msgstr "" +"Escriba una contraseña para su clave SSH y pulse Aceptar." + +#. (itstool) path: item/p +#: C/ssh-create.page:68 +msgid "" +"Retype the passphrase and press OK to finish." +msgstr "" +"Vuelva a escribir la contraseña y pulse Aceptar " +"para terminar." + +#. (itstool) path: section/p +#: C/ssh-create.page:73 +msgid "The SSH key will now be listed in the OpenSSH keys keyring." +msgstr "La clave SSH aparecerá en el depósito de claves OpenSSH." + +#. (itstool) path: note/p +#: C/ssh-create.page:77 +msgid "" +"When you try to use your SSH key, your operating system will prompt you for " +"the passphrase used during creation. This ensures that if someone gets " +"access to your SSH key, they can't use it without the passphrase." +msgstr "" +"Cuando intente usar su clave SSH, su sistema operativo le pedirá la clave " +"usada durante la creación. Esto asegura que, si alguien logra tener acceso a " +"su clave SSH, no podrá usarla sin la contraseña." + +#. (itstool) path: section/title +#: C/ssh-create.page:86 +msgid "Create your key and install it on a remote computer" +msgstr "Crear su clave e instalarla en un equipo remoto" + +#. (itstool) path: section/p +#: C/ssh-create.page:87 +msgid "" +"One of the most useful things about having an SSH key is that you can " +"install the public key on a remote computer. Doing this allows you to log in " +"to a remote computer with SSH without needing to enter your password every " +"time." +msgstr "" +"Una de las cosas más útiles que tiene una clave SSH es que puede instalar la " +"clave pública en un equipo remoto, lo que le permitirá iniciar sesión en el " +"equipo remoto mediante SSH sin necesidad de introducir su contraseña cada " +"vez." + +#. (itstool) path: item/p +#: C/ssh-create.page:94 +msgid "" +"Press the Create and Set Up button, and follow " +"the above instructions on entering a passphrase." +msgstr "" +"Pulse el botón Crear y configurar y siga las " +"instrucciones para introducir una contraseña o una frase de paso." + +#. (itstool) path: item/p +#: C/ssh-create.page:98 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH." +msgstr "" +"En la ventana de diálogo que se abre, introduzca la Dirección del " +"servidor que usar normalmente para iniciar sesión en el equipo remoto " +"mediante SSH." + +#. (itstool) path: item/p +#: C/ssh-create.page:102 +msgid "" +"Ensure that the Login name you use on the remote computer is " +"correct, and press Set Up." +msgstr "" +"Asegúrese de que el Nombre de inicio de sesión que usar en el " +"equipo remoto es correcto y pulse Configurar." + +#. (itstool) path: section/p +#: C/ssh-create.page:121 +msgid "" +"The public part of the selected SSH key will now be installed on the remote " +"computer and configured to allow password-free SSH login. You should now be " +"able to log in to the remote computer via SSH without a password." +msgstr "" +"La parte pública de la clave SSH seleccionada se instalará en el equipo " +"remoto y se configurará para permitir el acceso por SSH sin contraseña. " +"Ahora debería poder iniciar sesión en el equipo remoto mediante SSH sin " +"necesidad de introducir su contraseña." + +#. (itstool) path: note/p +#: C/ssh-create.page:127 +msgid "" +"If SSH key authentication fails and you cannot use password authentication, " +"contact the service administrator for further help." +msgstr "" +"Si la autenticación SSH falla y no puede usar la autenticación con " +"contraseña, contacte con el administrador del servicio para obtener ayuda." + +#. (itstool) path: info/desc +#: C/ssh-export.page:20 +msgid "Export your public and private SSH keys to store them in keyfiles." +msgstr "" +"Exportar sus claves SSH pública y privada para guardarlas en archivos de " +"claves." + +#. (itstool) path: page/title +#: C/ssh-export.page:24 +msgid "Export SSH keys" +msgstr "Exportar claves SSH" + +#. (itstool) path: page/p +#: C/ssh-export.page:26 +msgid "" +"Export the contents of your SSH keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Exportar el contenido de sus claves SSH y guardarlas en archivos de claves, " +"para tener una copia de respaldo de sus claves o para compartir su clave " +"pública con alguien." + +#. (itstool) path: section/title +#: C/ssh-export.page:30 +msgid "To export your public SSH key:" +msgstr "Para exportar su clave SSH pública:" + +#. (itstool) path: item/p +#: C/ssh-export.page:34 C/ssh-export.page:57 +msgid "Select the OpenSSH keys keyring from the left side panel." +msgstr "" +"Seleccione el depósito de claves OpenSSH en el panel de la " +"izquierda." + +#. (itstool) path: item/p +#: C/ssh-export.page:38 C/ssh-export.page:61 +msgid "" +"Select the Personal SSH key, that has to be exported, from the " +"list." +msgstr "En la lista, seleccione la clave SSH personal que exportar." + +#. (itstool) path: item/p +#: C/ssh-export.page:45 +msgid "" +"Press the Export button to save the exported " +"public key on your computer." +msgstr "" +"Pulse el botón Exportar para guardar la clave " +"pública exportada en su equipo." + +#. (itstool) path: section/title +#: C/ssh-export.page:53 +msgid "To export your private SSH key:" +msgstr "Para exportar su clave SSH privada:" + +#. (itstool) path: item/p +#: C/ssh-export.page:65 +msgid "" +"Right click on the selected key and select Properties." +msgstr "" +"Pulse con el botón derecho sobre la clave y elija Propiedades." + +#. (itstool) path: item/p +#: C/ssh-export.page:69 +msgid "" +"Press the Export button to save the exported " +"private key on your computer." +msgstr "" +"Pulse el botón Exportar para guardar la clave " +"privada exportada en su equipo." + +#. (itstool) path: note/p +#: C/ssh-export.page:75 +msgid "" +"Keep the exported private key file in a safe location, since the contents of " +"the file must be kept private, to prevent misuse of your key." +msgstr "" +"Mantenga la clave privada exportada en un lugar seguro, ya que el contenido " +"del archivo debe ser privado, para evitar un mal uso de la clave." + +#. (itstool) path: info/desc +#: C/ssh-import.page:25 +msgid "Import SSH keys from keyfiles into Passwords and Keys." +msgstr "" +"Importar claves SSH desde archivos de claves en Contraseñas y claves." + +#. (itstool) path: page/title +#: C/ssh-import.page:28 +msgid "Import SSH keys" +msgstr "Importar claves SSH" + +#. (itstool) path: page/p +#: C/ssh-import.page:30 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports SSH keys from the ~/.ssh directory on " +"your computer. You can also manually import keys into Passwords and " +"Keys." +msgstr "" +"Si ha recibido un archivo de clave por correo-e, puede querer importarlo en " +"Contraseñas y claves. En la mayoría de los casos, " +"Contraseñas y claves importa las claves SSH de la carpeta " +"~/.ssh de su equipo. También puede importar claves manualmente " +"en Contraseñas y claves." + +#. (itstool) path: item/p +#: C/ssh-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. Public SSH keys end " +"with .pub." +msgstr "" +"En el nuevo diálogo, seleccione la clave que quiere importar. Las claves SSH " +"públicas terminan en .pub." + +#. (itstool) path: page/p +#: C/ssh-import.page:53 +msgid "" +"Imported keys are automatically grouped according to their type. So, " +"SSH keys are listed in the OpenSSH keys section." +msgstr "" +"Las claves importadas se agrupan automáticamente en función de su tipo, por " +"lo que las claves SSH se muestran en la sección claves " +"OpenSSH." + +#. (itstool) path: info/desc +#: C/subkeys-add.page:20 +msgid "Additional subkeys make your master key more secure." +msgstr "Las subclaves adicionales hace que su clave maestra sea más segura." + +#. (itstool) path: page/title +#: C/subkeys-add.page:23 +msgid "Add extra subkeys" +msgstr "Añadir subclaves adicionales" + +#. (itstool) path: page/p +#: C/subkeys-add.page:25 +msgid "" +"You can add extra subkeys to the same master key. You have to choose the " +"right subkey each time you want to encrypt or sign when you do this." +msgstr "" +"Puede añadir subclaves adicionales a la misma clave maestra. Debe elegir la " +"subclave correcta cada vez que quiera cifrar o firmar cuando hace esto." + +#. (itstool) path: steps/title +#: C/subkeys-add.page:29 +msgid "To add extra subkeys to a PGP key:" +msgstr "Para añadir subclaves adicionales a una clave PGP:" + +#. (itstool) path: item/p +#: C/subkeys-add.page:41 C/subkeys-examine.page:41 +msgid "If the Subkeys panel is not expanded, expand it." +msgstr "Si el panel Subclaves panel no está expandido, expándalo." + +#. (itstool) path: item/p +#: C/subkeys-add.page:44 +msgid "Click the Add button to add a new subkey." +msgstr "" +"Pulse Añadir para añadir una subclave nueva." + +#. (itstool) path: item/p +#: C/subkeys-add.page:48 +msgid "" +"Choose the right properties for your key by selecting the appropriate " +"Key Type, Key Length and Expiration Date " +"and click OK." +msgstr "" +"Elija las propiedades adecuadas de su clave seleccionando el Tipo de " +"clave, la Longitud de la clave y la Fecha de " +"caducidad correctas y pulse Aceptar." + +#. (itstool) path: note/p +#: C/subkeys-add.page:55 +msgid "" +"Always ensure that your subkey expires before your master key since a subkey " +"is useless when its master key has expired." +msgstr "" +"Asegúrese siempre de que la subclave caduca antes que la clave maestra, ya " +"que no se puede usar una subclave si la clave maestra ha caducado." + +#. (itstool) path: info/desc +#: C/subkeys-examine.page:20 +msgid "See all the subkeys listed under a PGP key." +msgstr "Ver todas las subclaves de una clave PGP." + +#. (itstool) path: page/title +#: C/subkeys-examine.page:23 +msgid "Where are my subkeys listed?" +msgstr "¿Dónde se muestran las subclaves?" + +#. (itstool) path: page/p +#: C/subkeys-examine.page:25 +msgid "" +"You can check the contents of a keypair to see the properties of a subkey." +msgstr "" +"Puede comprobar el contenido de una pareja de claves para ver las " +"propiedades de una subclave." + +#. (itstool) path: steps/title +#: C/subkeys-examine.page:29 +msgid "To see all the subkeys in a PGP key:" +msgstr "Para ver todas las subclaves en una clave PGP:" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:31 +msgid "Select the GnuPG keys from the left side panel." +msgstr "Seleccione las claves GnuPG en el panel de la izquierda." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:34 +msgid "Select the Personal PGP key." +msgstr "Seleccione la clave PGP personal." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:37 +msgid "" +"Right click on the key chosen in the previous step and select " +"PropertiesDetails." +msgstr "" +"Pulse con el botón derecho sobre la clave elegida en el paso anterior y " +"seleccione PropiedadesDetalles." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:44 +msgid "All the subkeys for the selected PGP key will be listed in the panel." +msgstr "" +"Todas las subclaves de la clave PGP seleccionara se mostrarán en el panel." + +#. (itstool) path: note/p +#: C/subkeys-examine.page:50 +msgid "" +"While signing another key, Passwords and Keys automatically " +"chooses the master key for signing, when you select a GnuPG keys " +"keypair to sign with." +msgstr "" +"Al firmar otra clave, Contraseñas y claves elige automáticamente " +"la clave maestra para firmar, cuando selecciona la pareja de claves " +"GnuPG con la que firmar." + +#. (itstool) path: info/desc +#: C/subkeys-revoke.page:20 +msgid "Revoke a subkey that has been compromised or is not being used." +msgstr "Revocar una clave que se ha comprometido o que no se está usando." + +#. (itstool) path: page/title +#: C/subkeys-revoke.page:24 +msgid "Revoke your subkeys" +msgstr "Revocar subclaves" + +#. (itstool) path: page/p +#: C/subkeys-revoke.page:26 +msgid "" +"If your subkey has been compromised or is no longer in use, it might be a " +"good idea to revoke it to prevent misuse of the key." +msgstr "" +"Si la subclave se ha comprometido o ya no está en uso, puede ser una buena " +"idea revocarla para evitar un mal uso de la clave." + +#. (itstool) path: steps/title +#: C/subkeys-revoke.page:30 +msgid "To revoke a subkey:" +msgstr "Para revocar una subclave:" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:32 +msgid "" +"Navigate to the Subkeys " +"panel." +msgstr "" +"Navegue hasta el panel de " +"Subclaves." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:47 +msgid "" +"Select the subkey from the list and press the Revoke button." +msgstr "" +"Seleccione la subclave en la lista y pulse el botón Revocar." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:51 +msgid "" +"In the new dialog, select a reason for revoking the key. Optionally, " +"describe your reason in more detail in the Description field." +msgstr "" +"En el nuevo diálogo, seleccione una razón para revocar la clave. " +"Opcionalmente, describa el motivo con más detalles en el campo " +"Descripción." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:56 +msgid "Press the Revoke button." +msgstr "Pulse el botón Revocar." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:59 +msgid "You will have to unlock the key with its passphrase." +msgstr "Deberá desbloquear la clave con su contraseña." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:62 +msgid "" +"The Status of the subkey changes to Revoked in the " +"Subkeys panel." +msgstr "" +"El Estado de la subclave cambia a Revocada en el panel " +"de Subclaves." + +#. (itstool) path: note/p +#: C/subkeys-revoke.page:68 +msgid "" +"If you have published your subkey, you " +"must synchronize it with the key servers " +"after revoking it to apply the revocation on all copies of the key." +msgstr "" +"Si ha publicado su subclave, debe sincronizarla con los servidores de claves después " +"de revocarla, para aplicar la revocación a todas las copias de la clave." + +#~| msgid "" +#~| "Right click the key and select Properties." +#~ msgid "" +#~ "Press the menu button in the top-right corner of the window and select " +#~ "Preferences." +#~ msgstr "" +#~ "Pulse el botón de menú en la esquina superior derecha de la ventana y " +#~ "elija Preferencias." + +#~ msgid "" +#~ "Press the menu button in the top-right corner of the window and select " +#~ "Sync and Publish Keys…." +#~ msgstr "" +#~ "Pulse el botón de menú en la esquina superior derecha de la ventana y " +#~ "elija Sincronizar y publicar claves…." + +#~| msgid "" +#~| "Right-click on the key and select Export…." +#~ msgid "" +#~ "Press the menu button in the top-right corner of the window and select " +#~ "Find Remote Keys…." +#~ msgstr "" +#~ "Pulse el botón de menú en la esquina superior derecha del a ventana y " +#~ "elija Buscar claves remotas…." + +#~ msgid "hkp://pool.sks-keyservers.net" +#~ msgstr "hkp://pool.sks-keyservers.net" + +#~ msgid "" +#~ "Select Edit Preferences" +#~ msgstr "" +#~ "Seleccione Editar Preferencias" + +#~ msgid "" +#~ "Select View By " +#~ "keyring." +#~ msgstr "" +#~ "Seleccione Ver Por depósito de claves." + +#~ msgid "" +#~ "Expand the Passwords panel, if necessary, and tick the Show password checkbox to view the password." +#~ msgstr "" +#~ "Expanda el panel Contraseñas si es necesario y marque la " +#~ "casilla Mostrar contraseña para ver la " +#~ "contraseña." + +#~ msgid "" +#~ "Select the key. (You may need to show all keys, with ViewShow any )" +#~ msgstr "" +#~ "Seleccione la clave. (Puede necesitar mostrar todas las claves, con " +#~ " MostrarMostrar " +#~ "cualquiera )" + +#~ msgid "" +#~ "Right click, and choose Delete. Alternatively you can also " +#~ "select Edit Delete to delete the key." +#~ msgstr "" +#~ "Pulse con el botón derecho y elija Eliminar. Alternativamente " +#~ "puede elegir Editar Eliminar para eliminar la clave." + +#~ msgid "" +#~ "Select Remote Find Remote Keys…." +#~ msgstr "" +#~ "Seleccione Remoto Buscar claves remotas…." + +#~ msgid "" +#~ "If you cannot see the retrieved key, please select ViewShow any." +#~ msgstr "" +#~ "Si no puede ver la clave recibida, seleccione VerMostrar cualquiera." + +#~ msgid "" +#~ "Select File New…" +#~ "." +#~ msgstr "" +#~ "Seleccione Archivo Nuevo…." + +#~ msgid "" +#~ "Choose Password Keyring and press Continue." +#~ msgstr "" +#~ "Elija Depósito de contraseñas y pulse Continuar." + +#~ msgid "" +#~ "Select Stored Password from the list and press Continue." +#~ msgstr "" +#~ "Seleccione Contraseña guardada en la lista y pulse Continuar." + +#~ msgid "Select FileNew…." +#~ msgstr "Seleccione ArchivoNuevo…." + +#~ msgid "" +#~ "Select PGP Key from the list and press Continue." +#~ msgstr "" +#~ "Seleccione clave PGP en la lista y pulse Continuar." + +#~ msgid "Key type" +#~ msgstr "Tipo de clave" + +#~ msgid "Select FileExport…." +#~ msgstr "Seleccione ArchivoExportar…." + +#~ msgid "" +#~ "Select Secure Shell Key and then click Continue." +#~ msgstr "" +#~ "Seleccione Clave de Shell segura y pulse Continuar." + +#~ msgid "" +#~ "Press the Export Private Key button to save " +#~ "the exported private key on your computer." +#~ msgstr "" +#~ "Pulse el botón Exportar clave privada para " +#~ "guardar la clave privada exportada en su equipo." + +#~ msgid "Select the Personal PGP key list." +#~ msgstr "Seleccione la lista clave PGP personal." + +#~ msgid "" +#~ "Store passwords for various applications in Passwords and Keys. Group related passwords in password keyrings to make them easy to " +#~ "find." +#~ msgstr "" +#~ "Guardar contraseñas de varias aplicaciones en Contraseñas y claves. Agrupar las contraseñas relacionadas en depósitos de contraseñas " +#~ "para que sea más fácil encontrarlas." + +#~ msgid "Create and manage passwords and keyrings" +#~ msgstr "Crear y gestionar contraseñas y depósitos de claves" + +#~ msgid "Create and manage PGP key" +#~ msgstr "Crear y gestionar claves PGP" + +#~ msgid "" +#~ "An SSH key helps you create a secure connection over an " +#~ "unsecured network. SSH keys are most often used in situations " +#~ "where data security is important. For example, a system administrator " +#~ "would use an SSH key when connecting to a remote server to " +#~ "perform system updates. A software developer would use an SSH key to submit updated software code to a remote software repository." +#~ msgstr "" +#~ "Una clave SSH le ayuda a crear una conexión segura sobre una red " +#~ "no segura. Las claves SSH son las más usadas en situaciones en " +#~ "las que la seguridad es importante. Por ejemplo, un administrador de " +#~ "sistemas podría usar una clave SSH al conectarse a un servidor " +#~ "remoto para realizar actualizaciones del sistema. Un desarrollador de " +#~ "software puede usar una clave SSH para enviar actualizaciones " +#~ "del código a un repositorio de software." + +#~ msgid "Create and manage SSH Keys" +#~ msgstr "Crear y gestionar claves SSH" + +#~ msgid "Miscellaneous" +#~ msgstr "Varios" + +#~ msgid "How do I create a new SSH key and set it up?" +#~ msgstr "¿Cómo crear y configurar una clave SSH nueva?" + +#~ msgid "SSH key creation and setup" +#~ msgstr "Creación y configuración de claves SSH" + +#~ msgid "Short introductory text..." +#~ msgstr " " + +#~ msgid "First step..." +#~ msgstr " " + +#~ msgid "Second step..." +#~ msgstr " " + +#~ msgid "Third step..." +#~ msgstr " " + +#~ msgid "" +#~ "Password-free login will currently only available when done from your " +#~ "current local computer. When logging in, the SSH program will read the " +#~ "installed public part of the SSH key on the remote computer and verify it " +#~ "with the private part of the SSH key on your local computer. If this " +#~ "authentication fails or is unavailable (e.g. on other local computers you " +#~ "may have), SSH will resort to using a login password to authenticate. You " +#~ "may also repeat the above steps on a different local computer to install " +#~ "more than one public key on the remote." +#~ msgstr "" +#~ "El inicio de sesión sin contraseña sólo está disponible cuando se hace " +#~ "desde su equipo local actual. Cuando inicie sesión, SSH leerá la parte " +#~ "pública de la clave SSH del equipo remoto y la verificará con la parte " +#~ "privada de la clave SSH de su equipo local. Si la autenticación falla o " +#~ "no está disponible (ej. en otro equipo local que tenga), SSH intentará " +#~ "usar un nombre de usuario y una contraseña para iniciar sesión. Puede " +#~ "repetir los pasos anteriores en un equipo local diferente para instalar " +#~ "más de una clave pública en el equipo remoto." diff --git a/help/fr/fr.po b/help/fr/fr.po new file mode 100644 index 00000000..188b97fb --- /dev/null +++ b/help/fr/fr.po @@ -0,0 +1,3420 @@ +# French translation for seahorse documentation. +# Copyright (C) 2014 seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# +# Julien Hardelin , 2014. +# Jean-Baptiste , 2018. +# Guillaume Bernard , 2020. +# Charles Monzat , 2019-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"POT-Creation-Date: 2020-07-31 17:47+0000\n" +"PO-Revision-Date: 2020-09-05 13:54+0200\n" +"Last-Translator: Charles Monzat \n" +"Language-Team: GNOME French Team \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Gtranslator 3.36.0\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "" +"Julien Hardelin , 2014\n" +"Myriam Economou , 2015\n" +"Charles Monzat , 2019-2020\n" +"Guillaume Bernard , 2020" + +#. (itstool) path: credit/name +#: C/about-diff-private-public.page:14 C/about-ssh.page:13 C/concepts.page:14 +#: C/index.page:14 C/introduction.page:15 C/keyring-create.page:26 +#: C/keyring.page:15 C/pgp-create.page:16 C/pgp-import.page:21 +#: C/ssh-connect-remote.page:14 C/ssh-create.page:16 C/ssh-import.page:20 +msgid "Jim Campbell" +msgstr "Jim Campbell" + +#. (itstool) path: credit/years +#: C/about-diff-private-public.page:16 C/about-pgp.page:17 C/about-ssh.page:15 +#: C/glossary.page:17 C/index.page:16 C/index.page:21 C/index.page:26 +#: C/introduction.page:17 C/introduction.page:23 C/key-servers-add.page:20 +#: C/keyring-change-default.page:16 C/keyring-create.page:18 +#: C/keyring-create.page:23 C/keyring-lock.page:17 C/keyring-unlock.page:17 +#: C/keyring-update-password.page:17 C/keyring.page:17 C/keyring.page:22 +#: C/keyring.page:27 C/misc-key-backup.page:17 C/misc-key-fingerprint.page:16 +#: C/passwords-stored-create.page:16 C/passwords-view.page:18 +#: C/pgp-create.page:18 C/pgp-create.page:24 C/pgp-delete.page:17 +#: C/pgp-expiration-change.page:16 C/pgp-expired.page:17 C/pgp-export.page:16 +#: C/pgp-import.page:18 C/pgp-import.page:23 C/pgp-photoid.page:17 +#: C/pgp-publish.page:18 C/pgp-retrieve-remote.page:18 C/pgp-sign.page:16 +#: C/pgp-subkeys.page:16 C/pgp-sync.page:18 C/pgp-userid-add.page:17 +#: C/pgp-userid-primary.page:16 C/pgp-userid-remove.page:17 +#: C/pgp-userid.page:16 C/ssh-create.page:18 C/ssh-export.page:17 +#: C/ssh-import.page:17 C/ssh-import.page:22 C/subkeys-add.page:17 +#: C/subkeys-examine.page:17 C/subkeys-revoke.page:17 +msgid "2013" +msgstr "2013" + +#. (itstool) path: info/desc +#: C/about-diff-private-public.page:19 +msgid "" +"A public key is used to encrypt communication. A private key is used to " +"decrypt it." +msgstr "" +"Une clé publique est utilisée pour chiffrer une communication. Une clé " +"privée est utilisée pour la déchiffrer." + +#. (itstool) path: page/title +#: C/about-diff-private-public.page:23 +msgid "Public Key vs Private Key" +msgstr "Clé publique contre clé privée" + +#. (itstool) path: page/p +#: C/about-diff-private-public.page:25 +msgid "" +"Although Public Keys and Private Keys are both referred to " +"as keys, it helps to think of them a bit differently. Try to think " +"of a Public Key as being like a padlock, and a Private Key " +"as being like a key that unlocks the padlock." +msgstr "" +"Bien que les clés publiques et les clés privées soient " +"toutes deux appelées clés, il peut être utile de les considérer " +"différemment. Essayez de voir une clé publique comme étant un " +"cadenas et une clé privée comme étant une clé qui ouvre ce cadenas." + +#. (itstool) path: section/title +#: C/about-diff-private-public.page:31 +msgid "An Example: Sending a Secret Message in a Box" +msgstr "Un exemple : envoyer un message secret dans une boîte" + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:33 +msgid "" +"Let's use an example to see how this works. Imagine that you want your " +"friend to send you a secret message in a box. You could give your friend a " +"box and a padlock, but only you would have the key that unlocks the padlock." +msgstr "" +"Utilisons un exemple pour comprendre comment le système fonctionne. Imaginez " +"que vous vouliez qu’un de vos amis vous envoie un message secret dans une " +"boîte. Vous pourriez donner à votre ami une boîte et un cadenas dont " +"seulement vous posséderiez la clé." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:38 +msgid "" +"Your friend could put their message in the box, lock the padlock, and then " +"send you the locked box in the mail. When you receive it, you would use your " +"key to unlock the box." +msgstr "" +"Votre ami pourrait déposer son message dans la boîte, fermer le cadenas et " +"vous envoyer la boîte verrouillée par la poste. Lorsque vous la recevez, " +"vous aurez simplement à l’ouvrir en utilisant votre clé." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:42 +msgid "" +"This is similar to how a Public Key and a Private Key " +"work. Like the padlock, you can freely give out your Public Key. " +"This will make it easy for anyone to securely encrypt, or lock, a message " +"that they want to send to you." +msgstr "" +"Ceci est similaire au fonctionnement d’une clé publique et d’une " +"clé privée. Comme un cadenas, vous pouvez librement donner votre " +"clé publique. Ainsi, il sera facile pour quiconque de chiffrer en " +"toute sécurité, ou verrouiller, le message qu’ils souhaitent vous envoyer." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:47 +msgid "" +"On the other hand, a Private Key is like the key that allows you to " +"decrypt, or unlock, the padlock. Because the Private Key is used to " +"decrypt secure messages, you will want to keep your Private Key " +"safe." +msgstr "" +"D’un autre côté, une clé privée est une clé qui vous permet de " +"déchiffrer ou, comme dans l’exemple, ouvrir le cadenas. Puisque la clé " +"privée est utilisée pour déchiffrer les messages en toute sécurité, " +"vous devez garder votre clé Privée en sécurité." + +#. (itstool) path: credit/name +#: C/about-pgp.page:15 C/glossary.page:15 C/index.page:19 +#: C/introduction.page:21 C/key-servers-add.page:18 +#: C/keyring-change-default.page:14 C/keyring-create.page:16 +#: C/keyring-lock.page:15 C/keyring-unlock.page:15 +#: C/keyring-update-password.page:15 C/keyring.page:20 +#: C/misc-key-backup.page:15 C/misc-key-fingerprint.page:14 +#: C/passwords-stored-create.page:14 C/passwords-view.page:16 +#: C/pgp-create.page:22 C/pgp-delete.page:15 C/pgp-expiration-change.page:14 +#: C/pgp-expired.page:15 C/pgp-export.page:14 C/pgp-import.page:16 +#: C/pgp-photoid.page:15 C/pgp-sign.page:14 C/pgp-subkeys.page:14 +#: C/pgp-sync.page:16 C/pgp-userid-add.page:15 C/pgp-userid-primary.page:14 +#: C/pgp-userid-remove.page:15 C/pgp-userid.page:14 +#: C/ssh-connect-remote.page:19 C/ssh-export.page:15 C/ssh-import.page:15 +#: C/subkeys-add.page:15 C/subkeys-examine.page:15 C/subkeys-revoke.page:15 +msgid "Aruna Sankaranarayanan" +msgstr "Aruna Sankaranarayanan" + +#. (itstool) path: info/desc +#: C/about-pgp.page:20 +msgid "PGP keys are used to sign and encrypt emails and files." +msgstr "" +"Les clés PGP sont utilisées pour signer et chiffrer courriels et fichiers." + +#. (itstool) path: page/title +#: C/about-pgp.page:23 +msgid "What is a PGP key?" +msgstr "Qu’est-ce qu’une clé PGP ?" + +#. (itstool) path: page/p +#: C/about-pgp.page:25 +msgid "" +"A PGP key is a public encryption key. A PGP key can be used to sign and " +"encrypt emails and files. When you create a PGP key, a keypair having a " +"public key and a private key is generated. You can share the public key with " +"anyone who wishes to send you encrypted messages or files, but the private " +"key must be known only to you and used to decrypt received messages." +msgstr "" +"Une clé PGP est une clé publique de chiffrement. Une clé PGP peut être " +"utilisée pour signer et chiffrer courriels et fichiers. Quand vous créez une " +"clé PGP, une paire de clés contenant une clé publique et une clé privée est " +"générée. Vous pouvez partager la clé publique avec quiconque désirant vous " +"envoyer des messages ou fichiers chiffrés. La clé privée, elle, doit rester " +"secrète, connue de vous seul ; elle est utilisée pour déchiffrer les " +"messages reçus." + +#. (itstool) path: section/title +#: C/about-pgp.page:32 +msgid "Encrypt and sign data using PGP keys" +msgstr "Chiffrer et signer des données avec des clés PGP" + +#. (itstool) path: section/p +#: C/about-pgp.page:34 +msgid "" +"Passwords and Keys is a key management application. Though it " +"cannot be used to encrypt or sign files and messages, you can use it to " +"sign trustworthy keys." +msgstr "" +"Mots de passe et clés est une application de gestion de clés. " +"Bien qu’elle ne puisse être utilisée pour chiffrer ou signer fichiers et " +"messages, vous pouvez l’utiliser pour signer " +"des clés de confiance." + +#. (itstool) path: section/p +#: C/about-pgp.page:38 +msgid "" +"To secure your communication, you can use email clients like Evolution that provide encryption and signing services." +msgstr "" +"Pour rendre votre communication sécurisée, vous pouvez utiliser des clients " +"de messagerie tels qu’Evolution qui fournissent des services de " +"chiffrement et signature." + +#. (itstool) path: info/desc +#: C/about-ssh.page:18 +msgid "" +"SSH keys are used to login to a remote computer, once a secure connection " +"has been established." +msgstr "" +"Les clés SSH sont utilisées pour l’accès à distance d’un ordinateur après " +"qu’une connexion sécurisée ait été établie." + +#. (itstool) path: page/title +#: C/about-ssh.page:22 +msgid "What is a Secure Shell key?" +msgstr "Qu’est-ce qu’une clé Secure Shell ?" + +#. (itstool) path: page/p +#: C/about-ssh.page:24 +msgid "" +"A Secure Shell key, often just called an SSH key, helps " +"you create a secure connection over an unsecured network." +msgstr "" +"Une clé Secure Shell, le plus souvent appelée clé SSH, " +"vous permet de créer une connexion sécurisée sur un réseau non-sécurisé." + +#. (itstool) path: list/title +#: C/about-ssh.page:28 +msgid "An SSH key actually consists of two parts:" +msgstr "Une clé SSH est composée de deux parties :" + +#. (itstool) path: item/p +#: C/about-ssh.page:29 +msgid "A public key, which is widely available." +msgstr "Une clé publique qui est à la disponibilité de tous." + +#. (itstool) path: item/p +#: C/about-ssh.page:30 +msgid "" +"A private key, which is kept secret. The private key is used to unlock " +"messages encrypted with a corresponding public key." +msgstr "" +"Une clé privée qui est gardée secrète. La clé privée est utilisée pour le " +"déchiffrement de messages chiffrés à l’aide d’une clé publique " +"correspondante." + +#. (itstool) path: page/p +#: C/about-ssh.page:34 +msgid "" +"The advantage of using an SSH key to create a connection between " +"computers is that only the Public key needs to be sent over the " +"network. Transmissions encrypted with a Public key can only be " +"decoded by unlocking them with the corresponding Private key and a " +"password. Because only the public key is sent over the network, the key's " +"password is kept secret." +msgstr "" +"L’avantage d’utiliser une clé SSH pour la création d’une connexion " +"entre ordinateurs est que seulement la clé publique a besoin d’être " +"échangée via le réseau. Les transmissions chiffrées avec une clé " +"publique peuvent uniquement être décodées avec la clé privée " +"correspondante et un mot de passe. Seule la clé publique est échangée sur le " +"réseau. Le mot de passe correspondant à la clé est quant à lui maintenu " +"secret." + +#. (itstool) path: credit/years +#: C/concepts.page:16 C/key-servers-add.page:25 C/keyring-create.page:28 +#: C/misc-key-backup.page:23 C/passwords-view.page:24 C/pgp-create.page:30 +#: C/pgp-delete.page:23 C/ssh-create.page:23 C/ssh-create.page:28 +msgid "2014" +msgstr "2014" + +#. (itstool) path: info/desc +#: C/concepts.page:19 +msgid "" +"Learn terms and concepts that are relevant to managing passwords and keys." +msgstr "" +"Apprendre les termes et concepts liés à la gestion de mots de passe et de " +"clés." + +#. (itstool) path: page/title +#: C/concepts.page:23 +msgid "Key Concepts and Terms" +msgstr "Concepts et termes essentiels" + +#. (itstool) path: info/desc +#: C/glossary.page:20 +msgid "A list of basic terms used." +msgstr "Liste des termes de base utilisés." + +#. (itstool) path: page/title +#: C/glossary.page:23 +msgid "Glossary" +msgstr "Glossaire" + +#. (itstool) path: page/p +#: C/glossary.page:25 +msgid "" +"Passwords and Keys helps you to generate and manage tokens that " +"can be used to protect your files and communication. Here are some basic " +"terms that you will encounter while reading this help:" +msgstr "" +"Mots de passe et clés vous aide à générer et à gérer des jetons " +"utilisées pour la protection de vos fichiers et de vos communications. Voici " +"quelques-uns des termes que vous rencontrerez dans cette aide :" + +#. (itstool) path: item/title +#: C/glossary.page:31 +msgid "Encryption" +msgstr "Chiffrement" + +#. (itstool) path: item/p +#: C/glossary.page:32 +msgid "" +"Encryption is the process of making your important files and data unreadable " +"to anyone but the intended recipient. When you encrypt your data, it becomes " +"a scrambled sequence of numbers and letters. Encryption is done by someone " +"who is sending a protected file, or sending a message in a protected " +"conversation." +msgstr "" +"Le chiffrement est le processus qui rend vos données et fichiers importants " +"illisibles à tous sauf au destinataire désigné. Les données chiffrées sont " +"transformées en un magma de chiffres et de lettres. Le chiffrement est " +"réalisé par celui qui envoie un fichier protégé, ou qui envoie un message " +"dans une conversation protégée." + +#. (itstool) path: item/title +#: C/glossary.page:39 +msgid "Algorithm" +msgstr "Algorithme" + +#. (itstool) path: item/p +#: C/glossary.page:40 +msgid "" +"An algorithm is a sequence of steps used to encrypt or decrypt your data." +msgstr "" +"Un algorithme est ici une suite d’étapes pour chiffrer ou déchiffrer vos " +"données." + +#. (itstool) path: item/title +#: C/glossary.page:44 +msgid "Decryption" +msgstr "Déchiffrement" + +#. (itstool) path: item/p +#: C/glossary.page:45 +msgid "" +"Decryption is the process of retrieving the original text from the encrypted " +"message or file. It is done by the receiver of the protected file or " +"communication. Encrypted messages cannot be understood without decrypting " +"them first." +msgstr "" +"Le déchiffrement est le processus de récupération du texte d’origine à " +"partir du message ou du fichier chiffré. Il est effectué par le destinataire " +"de la communication ou du fichier protégé. Les messages chiffrés ne peuvent " +"pas être compris sans déchiffrement préalable." + +#. (itstool) path: item/title +#: C/glossary.page:51 +msgid "Plaintext" +msgstr "Texte en clair" + +#. (itstool) path: item/p +#: C/glossary.page:52 +msgid "" +"Any data or file that is not encrypted, and can therefore be read by anyone " +"who can access it, is called plaintext." +msgstr "" +"Tout fichier ou donnée qui n’est pas chiffré, et qui peut donc être lu par " +"tous ceux qui y accèdent, est appelé texte en clair." + +#. (itstool) path: item/title +#: C/glossary.page:56 +msgid "Key" +msgstr "Clé" + +#. (itstool) path: item/p +#: C/glossary.page:57 +msgid "" +"A key is used to encrypt and decrypt files and communication. A key may also " +"be used to login to a remote computer. Some types of keys are PGP keys and SSH " +"keys." +msgstr "" +"Une clé est utilisée pour chiffrer et déchiffrer fichiers et communications. " +"Une clé peut aussi être utilisée pour ouvrir une connexion avec un " +"ordinateur distant. Les types de clés communs sont les clés PGP et les clés " +"SSH." + +#. (itstool) path: item/title +#: C/glossary.page:63 +msgid "Keyring" +msgstr "Trousseau de clés" + +#. (itstool) path: item/p +#: C/glossary.page:64 +msgid "A keyring is a collection of passwords or keys." +msgstr "Un trousseau de clés est un jeu de mots de passe ou de clés." + +#. (itstool) path: info/title +#: C/index.page:8 +msgctxt "link" +msgid "Passwords and Keys" +msgstr "Mots de passe et clés" + +#. (itstool) path: info/title +#: C/index.page:9 +msgctxt "text" +msgid "Passwords and Keys" +msgstr "Mots de passe et clés" + +#. (itstool) path: credit/name +#: C/index.page:24 C/keyring-create.page:21 C/keyring.page:25 +#: C/ssh-create.page:26 +msgid "Ekaterina Gerasimova" +msgstr "Ekaterina Gerasimova" + +#. (itstool) path: info/desc +#: C/index.page:31 +msgid "" +"Use Passwords and Keys to remember your passwords, and to create " +"and manage PGP and SSH keys." +msgstr "" +"Utiliser Mots de passe et clés pour vous rappeler vos mots de " +"passe, et pour créer et gérer les clés PGP et SSH." + +#. (itstool) path: page/title +#: C/index.page:34 +msgid "<_:media-1/> Passwords and Keys" +msgstr "<_:media-1/> Mots de passe et clés" + +#. (itstool) path: section/title +#: C/index.page:40 +msgid "SSH Keys" +msgstr "Clés SSH" + +#. (itstool) path: section/title +#: C/index.page:45 +msgid "PGP keys" +msgstr "Clés PGP" + +#. (itstool) path: section/title +#: C/index.page:50 +msgid "Stored passwords and password keyrings" +msgstr "Mots de passe enregistrés et trousseaux de mots de passe" + +#. (itstool) path: info/desc +#: C/introduction.page:26 +msgid "" +"Use Passwords and Keys to create and manage PGP and SSH keys and " +"to save passwords that are difficult to remember." +msgstr "" +"Utiliser Mots de passe et clés pour créer et gérer les clés PGP " +"et SSH ainsi qu’enregistrer les mots de passe difficiles à retenir." + +#. (itstool) path: page/title +#: C/introduction.page:30 +msgid "Introduction" +msgstr "Introduction" + +#. (itstool) path: page/p +#: C/introduction.page:32 +msgid "" +"Welcome to the Passwords and Keys help guide. Passwords and " +"Keys creates and stores security tokens, helping to keep your " +"information secure on your computer, and secure when you send information " +"over a network." +msgstr "" +"Bienvenue dans le guide d’aide de Mots de passe et clés. " +"Mots de passe et clés crée et enregistre des jetons de sécurité " +"qui permettent de conserver vos informations en sécurité sur l’ordinateur, " +"et sécurisées quand vous les envoyez sur le réseau." + +#. (itstool) path: page/p +#: C/introduction.page:36 +msgid "Using Passwords and Keys, you can:" +msgstr "Avec Mots de passe et clés, vous pouvez :" + +#. (itstool) path: item/p +#: C/introduction.page:40 +msgid "" +"Copy and save passwords that " +"are difficult to remember. To group related passwords, create keyrings." +msgstr "" +"Copier et enregistrer les mots " +"de passe difficiles à retenir. Pour regrouper les mots de passe ayant un " +"rapport entre eux, créez des trousseaux de " +"clés." + +#. (itstool) path: item/p +#: C/introduction.page:45 +msgid "" +"Create and manage PGP keys." +msgstr "" +"Créer et gérer les clés PGP." + +#. (itstool) path: item/p +#: C/introduction.page:49 +msgid "" +"Create and manage SSH keys." +msgstr "" +"Créer et gérer les clés SSH." + +#. (itstool) path: credit/name +#: C/key-servers-add.page:23 C/misc-key-backup.page:21 C/passwords-view.page:22 +#: C/pgp-create.page:28 C/pgp-delete.page:21 C/ssh-create.page:21 +msgid "Hashem Nasarat" +msgstr "Hashem Nasarat" + +#. (itstool) path: credit/name +#: C/key-servers-add.page:28 C/passwords-view.page:28 +#: C/pgp-retrieve-remote.page:21 +msgid "Andre Klapper" +msgstr "Andre Klapper" + +#. (itstool) path: credit/years +#: C/key-servers-add.page:30 C/passwords-view.page:30 +#: C/pgp-retrieve-remote.page:23 +msgid "2020" +msgstr "2020" + +# Point final justifié dans la traduction. +#. (itstool) path: info/desc +#: C/key-servers-add.page:33 +msgid "" +"Make additions to the list of keyservers in Passwords and Keys" +msgstr "" +"Faire des ajouts à la liste des serveurs de clés dans Mots de passe et " +"clés." + +#. (itstool) path: page/title +#: C/key-servers-add.page:37 +msgid "Add a keyserver" +msgstr "Ajout d’un serveur de clés" + +#. (itstool) path: page/p +#: C/key-servers-add.page:38 +msgid "" +"Passwords and Keys have the following keyservers listed by " +"default:" +msgstr "" +"Mots de passe et clés dispose des serveurs de clés suivants par " +"défaut :" + +#. (itstool) path: item/p +#: C/key-servers-add.page:42 +msgid "ldap://keyserver.pgp.com" +msgstr "ldap://keyserver.pgp.com" + +#. (itstool) path: steps/title +#: C/key-servers-add.page:47 +msgid "To add a keyserver" +msgstr "Ajout d’un serveur de clés" + +#. (itstool) path: item/p +#: C/key-servers-add.page:49 C/pgp-publish.page:44 +#: C/pgp-retrieve-remote.page:39 C/pgp-sync.page:41 +msgid "Press the menu button in the header bar." +msgstr "" +"Cliquez sur le bouton de menu situé dans la barre d’en-tête." + +#. (itstool) path: item/p +#: C/key-servers-add.page:52 +msgid "Select Preferences." +msgstr "Sélectionnez Préférences." + +#. (itstool) path: item/p +#: C/key-servers-add.page:55 +msgid "Select the Key Servers tab." +msgstr "Sélectionnez l’onglet Serveurs de clés." + +#. (itstool) path: item/p +#: C/key-servers-add.page:58 +msgid "Press the Add button." +msgstr "Cliquez sur le bouton Ajouter." + +#. (itstool) path: item/p +#: C/key-servers-add.page:61 +msgid "" +"In the new dialog, select the appropriate Key Server Type. Key " +"servers are identified by the protocol they use to communicate. Look for the " +"first few letters in the Internet URL of your key server to identify its " +"type." +msgstr "" +"Dans la nouvelle boîte de dialogue, sélectionnez le Type de serveur de " +"clés qui convient. Les serveurs de clés sont identifiés par le " +"protocole qu’ils utilisent pour communiquer. Cherchez les premières lettres " +"de l’URL Internet de votre serveur de clés pour identifier son type." + +#. (itstool) path: item/p +#: C/key-servers-add.page:67 +msgid "" +"In the Host field, paste the Internet URL of your " +"key server. Consult the documentation for the key server you're adding to " +"see if it operates on a non-standard port. If so, enter the port after the " +"':'. If you're unsure, leave the text box after the ':' blank." +msgstr "" +"Dans le champ Hôte, collez l’URL de votre serveur " +"de clés. Consultez la documentation du serveur de clés que vous ajoutez pour " +"voir s’il fonctionne sur un port non-standard. Si c’est le cas, saisissez le " +"port après les « : ». Si vous avez un doute, laissez en blanc la boîte de " +"texte après les « : »." + +#. (itstool) path: item/p +#: C/key-servers-add.page:74 +msgid "Press Save to finish." +msgstr "Cliquez sur Enregistrer pour terminer." + +#. (itstool) path: info/desc +#: C/keyring-change-default.page:19 +msgid "Save new passwords to a different keyring by default." +msgstr "" +"Enregistrer les nouveaux mots de passe dans un autre trousseau de clés par " +"défaut." + +#. (itstool) path: page/title +#: C/keyring-change-default.page:22 +msgid "Change the default keyring" +msgstr "Changement de trousseau de clés par défaut" + +#. (itstool) path: page/p +#: C/keyring-change-default.page:24 +msgid "" +"When you add a new password, " +"it is normally added to the default keyring. If you want to add it to a " +"different keyring, you can choose another one while adding the new password, " +"but you can also change the default keyring. The default keyring is normally " +"the Login keyring." +msgstr "" +"Lorsque vous ajoutez un nouveau mot " +"de passe, il est normalement ajouté au trousseau de clés par défaut. " +"Si vous souhaitez l’ajouter à un autre trousseau, vous pouvez en choisir un " +"autre quand vous ajoutez le nouveau mot de passe, mais vous pouvez aussi " +"changer de trousseau de clés par défaut. Le trousseau par défaut est " +"habituellement celui de votre identifiant." + +#. (itstool) path: steps/title +#: C/keyring-change-default.page:32 +msgid "To change the default keyring:" +msgstr "Changement de trousseau de clés par défaut :" + +#. (itstool) path: item/p +#: C/keyring-change-default.page:34 +msgid "" +"Select your choice for the default keyring from the list of keyrings under " +"Passwords on the left side panel." +msgstr "" +"Sélectionnez votre choix pour le trousseau par défaut dans la liste des " +"trousseaux de clés située sous Mots de passe dans le panneau de " +"gauche." + +#. (itstool) path: item/p +#: C/keyring-change-default.page:38 +msgid "" +"Right click on the selected keyring and select Set as default." +msgstr "" +"Faites un clic droit sur le trousseau de clés choisi et sélectionnez " +"Par défaut." + +#. (itstool) path: note/p +#: C/keyring-change-default.page:44 +msgid "" +"Passwords to some GNOME applications are stored automatically by " +"Passwords and Keys in the Login keyring because it is " +"the default keyring. When you change the default keyring, any new passwords " +"created for GNOME applications will be stored in the new default keyring " +"while GNOME application passwords created before the change will remain in " +"the Login keyring." +msgstr "" +"Les mots de passe de certaines applications GNOME, sont automatiquement " +"enregistrés par Mots de passe et clés dans le trousseau " +"Identifiant car il s’agit du trousseau par défaut. Si vous " +"changez de trousseau par défaut, les nouveaux mots de passe pour les " +"applications GNOME seront enregistrés dans le nouveau trousseau par défaut, " +"tandis que ceux créés avant le changement resteront dans le trousseau " +"Identifiant." + +#. (itstool) path: info/desc +#: C/keyring-create.page:31 +msgid "Use password keyrings to group stored passwords." +msgstr "" +"Utiliser les trousseaux de mots de passe pour regrouper les mots de passe " +"enregistrés." + +#. (itstool) path: page/title +#: C/keyring-create.page:34 +msgid "Create a new keyring" +msgstr "Création d’un nouveau trousseau de clés" + +#. (itstool) path: page/p +#: C/keyring-create.page:36 +msgid "" +"Use keyrings to group related passwords. You " +"can choose to protect your keyring with a password." +msgstr "" +"Utilisez les trousseaux de clés pour regrouper " +"les mots de passe ayant un rapport entre eux. Vous pouvez choisir de " +"protéger le trousseau par un mot de passe." + +#. (itstool) path: steps/title +#: C/keyring-create.page:40 +msgid "Create a new password keyring:" +msgstr "Création d’un nouveau trousseau de mots de passe :" + +#. (itstool) path: item/p +#: C/keyring-create.page:42 C/passwords-stored-create.page:32 +#: C/pgp-create.page:42 C/pgp-import.page:39 C/ssh-create.page:41 +#: C/ssh-import.page:39 +msgid "" +"Press the + button in the top-left corner of the " +"window." +msgstr "" +"Cliquez sur le bouton + situé dans le coin " +"supérieur gauche de la fenêtre." + +#. (itstool) path: item/p +#: C/keyring-create.page:45 +msgid "Select Password Keyring from the list." +msgstr "" +"Sélectionnez Trousseau de mots de passe dans " +"la liste." + +#. (itstool) path: item/p +#: C/keyring-create.page:48 +msgid "" +"Choose a name for your new keyring, then press Add to continue." +msgstr "" +"Choisissez un nom pour ce nouveau trousseau, puis cliquez sur Ajouter pour continuer." + +#. (itstool) path: item/p +#: C/keyring-create.page:53 +msgid "" +"To password protect your keyring, choose a password, and retype it to " +"confirm your choice. Leave both the fields blank if you want your keyring to " +"remain unlocked at all times." +msgstr "" +"Pour protéger ce trousseau par mot de passe, saisissez un mot de passe et " +"saisissez-le à nouveau pour confirmation. Laissez ces deux champs en blanc " +"si vous voulez que le trousseau reste déverrouillé en permanence." + +#. (itstool) path: item/p +#: C/keyring-create.page:61 +msgid "" +"Press Continue to finish creating the keyring. " +"If you have not protected your keyring with a password, you will need to " +"confirm that this is how you want to proceed." +msgstr "" +"Cliquez sur Continuer pour terminer la création " +"du trousseau. Si vous n’avez pas protégé le trousseau par mot de passe, vous " +"aurez à confirmer que c’est bien ce que vous voulez faire." + +#. (itstool) path: page/p +#: C/keyring-create.page:67 +msgid "Your new keyring will now be listed under Passwords." +msgstr "" +"Le nouveau trousseau figure maintenant dans la liste située sous Mots " +"de passe." + +#. (itstool) path: info/desc +#: C/keyring-lock.page:20 +msgid "" +"Lock and password protect your password keyrings to control access to the " +"passwords stored in them." +msgstr "" +"Verrouiller et protéger vos trousseaux de mots de passe pour contrôler " +"l’accès aux mots de passe qu’ils contiennent." + +#. (itstool) path: page/title +#: C/keyring-lock.page:24 +msgid "Lock your keyrings" +msgstr "Verrouillage des trousseaux" + +#. (itstool) path: page/p +#: C/keyring-lock.page:26 +msgid "" +"To safe-keep your passwords, store them in a password-protected keyring. " +"When a password-protected keyring is locked, the passwords in it are kept " +"hidden till someone unlocks the keyring " +"with the correct password." +msgstr "" +"Pour conserver en sécurité vos mots de passe, enregistrez-les dans un " +"trousseau protégé par mot de passe. Quand un trousseau protégé par mot de " +"passe est verrouillé, les mots de passe qu’il contient restent masqués " +"jusqu’à ce que quelqu’un déverrouille " +"le trousseau avec le bon mot de passe." + +#. (itstool) path: note/p +#: C/keyring-lock.page:32 +msgid "" +"You can choose to protect your keyring with a password while creating it." +msgstr "" +"Vous pouvez choisir de protéger le trousseau par un mot de passe lors de sa " +"création." + +#. (itstool) path: steps/title +#: C/keyring-lock.page:37 +msgid "To lock your password keyring:" +msgstr "Verrouillage du trousseau de mots de passe :" + +#. (itstool) path: item/p +#: C/keyring-lock.page:39 +msgid "" +"From the list of keyrings under Passwords on the left side panel, " +"select the keyring to be locked." +msgstr "" +"Dans la liste des trousseaux située sous Mots de passe dans le " +"panneau de gauche, sélectionnez le trousseau à verrouiller." + +#. (itstool) path: item/p +#: C/keyring-lock.page:43 +msgid "" +"Right click on the selected keyring and select Lock, or click on " +"the small picture of an opened lock next to the name of the password keyring." +msgstr "" +"Faites un clic droit sur le trousseau sélectionné et cliquez sur " +"verrouiller, ou cliquez sur la petite image de cadenas ouvert " +"près du nom du trousseau de mots de passe." + +#. (itstool) path: info/desc +#: C/keyring-unlock.page:20 +msgid "To view passwords stored inside a locked keyring, unlock it." +msgstr "" +"Pour afficher les mots de passe contenus dans un trousseau verrouillé, " +"déverrouillez-le." + +#. (itstool) path: page/title +#: C/keyring-unlock.page:23 +msgid "Unlock your keyrings" +msgstr "Déverrouillage des trousseaux" + +#. (itstool) path: page/p +#: C/keyring-unlock.page:24 +msgid "" +"A keyring may often be locked to protect " +"the passwords it contains, similar to locking important things safely inside " +"a trunk. In order to look at your passwords, you must unlock the keyring " +"first." +msgstr "" +"Un trousseau peut souvent être verrouillé " +"afin de protéger les mots de passe qu’il contient, de même que l’on " +"verrouille un coffre pour y garder des affaires en sécurité. Pour visualiser " +"vos mots de passe, vous devez d’abord déverrouiller le trousseau." + +#. (itstool) path: steps/title +#: C/keyring-unlock.page:30 +msgid "To unlock your keyring:" +msgstr "Déverrouillage du trousseau :" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:32 +msgid "" +"Select the keyring to be unlocked from the panel on your left. It is listed " +"under Passwords." +msgstr "" +"Sélectionnez le trousseau à déverrouiller dans le panneau de gauche. Il se " +"trouve dans la liste située sous Mots de passe." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:36 +msgid "" +"Right click on the selected keyring and select Unlock from the " +"menu, or alternatively, click the small picture of a closed lock next to the " +"keyring name to unlock the keyring." +msgstr "" +"Faites un clic droit sur le trousseau sélectionné et cliquez sur " +"Déverrouiller dans le menu contextuel, ou alors, cliquez sur la " +"petite image de cadenas fermé près du nom du trousseau pour le déverrouiller." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:41 +msgid "" +"If the keyring is password-protected, you will be prompted for a password to " +"unlock the keyring. Enter the correct password in the Password " +"field and press Unlock to finish." +msgstr "" +"Si le trousseau est protégé par mot de passe, celui-ci vous sera demandé " +"pour déverrouiller le trousseau. Saisissez le mot de passe qui convient dans " +"le champ Mot de passe et cliquez sur Déverrouiller pour terminer." + +#. (itstool) path: note/p +#: C/keyring-unlock.page:49 +msgid "" +"You can choose to password-protect your keyrings while creating them." +msgstr "" +"Vous pouvez choisir de protéger les trousseaux par mot de passe lors de leur " +"création." + +#. (itstool) path: info/desc +#: C/keyring-update-password.page:20 +msgid "" +"Keep updating the passwords to your keyrings to ensure that they are " +"protected well." +msgstr "" +"Assurer le renouvellement des mots de passe des trousseaux pour être certain " +"qu’ils sont bien protégés." + +#. (itstool) path: page/title +#: C/keyring-update-password.page:25 +msgid "Update the keyring password" +msgstr "Renouvellement du mot de passe de trousseau" + +#. (itstool) path: page/p +#: C/keyring-update-password.page:27 +msgid "" +"The password to unlock your keyring can be " +"updated at any time." +msgstr "" +"Le mot de passe permettant le déverrouillage d’un trousseau peut être renouvelé à tout moment." + +#. (itstool) path: steps/title +#: C/keyring-update-password.page:31 +msgid "To update the password for a password keyring:" +msgstr "Renouvellement du mot de passe d’un trousseau de mots de passe :" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:33 +msgid "" +"Select the password keyring from the list, under Passwords, on " +"the left side panel." +msgstr "" +"Sélectionnez le trousseau de mots de passe dans la liste, sous Mots de " +"passe, dans le panneau de gauche." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:37 +msgid "" +"Right click on the selected password keyring and select Change " +"Password." +msgstr "" +"Faites un clic droit sur le trousseau de mots de passe sélectionné et " +"cliquez sur Modifier le mot de passe dans le menu contextuel." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:41 +msgid "" +"Type your old password to authenticate yourself and press Continue." +msgstr "" +"Saisissez votre ancien mot de passe pour vous identifier et cliquez sur Continuer." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:45 +msgid "" +"In the new dialog, type your new password, retype it to confirm the new " +"password and press the Continue button to finish." +msgstr "" +"Dans la nouvelle boîte de dialogue, saisissez le nouveau mot de passe, " +"saisissez-le à nouveau pour le confirmer et cliquez sur Continuer pour terminer." + +#. (itstool) path: info/desc +#: C/keyring.page:30 +msgid "A keyring is used to group related passwords and keys." +msgstr "" +"Un trousseau sert à regrouper les mots de passe et les clés ayant un rapport " +"entre eux." + +#. (itstool) path: page/title +#: C/keyring.page:33 +msgid "What is a keyring?" +msgstr "Signification de la notion de trousseau" + +#. (itstool) path: page/p +#: C/keyring.page:35 +msgid "" +"Much like a keyring in real life allows you to keep certain sets of keys " +"together, a keyring in Passwords and Keys allows you to keep " +"passwords and keys in separate groups." +msgstr "" +"Tout comme un trousseau de clés dans la vie réelle vous permet de rassembler " +"plusieurs clés, un trousseau dans Mots de passe et clés vous " +"permet de réunir mots de passe et clés dans des groupes séparés." + +#. (itstool) path: page/p +#: C/keyring.page:39 +#| msgid "" +#| "When you open Passwords and Keys for the first time, you will " +#| "see keys and password grouped together. In the Login keyring, " +#| "you may find stored passwords for GNOME applications such as Web, Accounts etc. The Login keyring is the " +#| "default keyring in Passwords and keys." +msgid "" +"When you open Passwords and Keys for the first time, you will see " +"keys and password grouped together. In the Login keyring, you may " +"find stored passwords for GNOME applications such as Web, " +"Online Accounts etc. The Login keyring is the default " +"keyring in Passwords and keys." +msgstr "" +"Lorsque vous ouvrez Mots de passe et clés pour la première fois, " +"vous voyez les clés et les mots de passe regroupés. Dans le trousseau " +"Identifiant, vous trouvez les mots de passe enregistrés des " +"applications GNOME telles que Web, Comptes en ligne " +"etc. Le trousseau Identifiant est le trousseau par défaut." + +#. (itstool) path: p/link +#: C/legal.xml:4 +msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" +msgstr "" +"Creative Commons Paternité - Partage dans des conditions identiques à " +"l’initiale 3.0 non transposé" + +#. (itstool) path: license/p +#: C/legal.xml:3 +msgid "This work is licensed under a <_:link-1/>." +msgstr "Cet ouvrage est sous licence <_:link-1/>." + +#. (itstool) path: info/desc +#: C/misc-key-backup.page:26 +msgid "Keep a copy of your keys in an external device." +msgstr "Conserver une copie de vos clés sur un périphérique externe." + +#. (itstool) path: page/title +#: C/misc-key-backup.page:29 +msgid "Securely back-up your keys" +msgstr "Sauvegarde de vos clés en sécurité" + +#. (itstool) path: page/p +#: C/misc-key-backup.page:31 +msgid "" +"It is always advisable to save a copy of your keys on an external memory " +"device like a USB drive. The device should then be kept locked or stored " +"somewhere safe. This way you will always have a copy of the key if your " +"computer breaks or if the data on your computer is corrupted in some way." +msgstr "" +"Il est toujours recommandé d’enregistrer une copie de vos clés sur un " +"périphérique de mémoire externe comme une clé USB. Ce périphérique doit être " +"verrouillé et placé dans un endroit sûr. De cette façon, vous aurez toujours " +"une copie de vos clés si votre ordinateur tombe en panne ou si vos données " +"sont altérées." + +#. (itstool) path: steps/title +#: C/misc-key-backup.page:37 +msgid "To back-up your keys:" +msgstr "Sauvegarde de vos clés :" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:39 +msgid "Export your key files:" +msgstr "Exportez vos fichiers de clés :" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:41 +msgid "Export your PGP keys." +msgstr "Exportez vos clés PGP." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:42 +msgid "Export your SSH keys." +msgstr "Exportez vos clés SSH." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:46 +msgid "Copy the exported files on an external disk." +msgstr "Copiez les fichiers exportés sur un disque externe." + +# Point final justifié dans la traduction. +#. (itstool) path: info/desc +#: C/misc-key-fingerprint.page:19 +msgid "" +"The key fingerprint is a unique ID for each key, often used to verify the " +"ownership of a key" +msgstr "" +"L’empreinte de clé est l’identifiant unique de chaque clé, souvent utilisé " +"pour vérifier le propriétaire de la clé." + +#. (itstool) path: page/title +#: C/misc-key-fingerprint.page:23 +msgid "What is a key fingerprint?" +msgstr "Définition de l’empreinte d’une clé" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:25 +msgid "" +"The fingerprint of a key is a unique sequence of letters and numbers used to " +"identify the key. Just like the fingerprints of two different people, the " +"fingerprints of two different keys can never be identical. The fingerprint " +"is the best way to identify a particular key." +msgstr "" +"L’empreinte d’une clé est une suite unique de lettres et de chiffres " +"utilisée pour identifier la clé. Tout comme les empreintes digitales de deux " +"personnes différentes, les empreintes de deux clés différentes ne peuvent " +"jamais être identiques. L’empreinte est la meilleure façon d’identifier une " +"clé particulière." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:30 +msgid "" +"A key has several properties like the name and email of the key owner, key " +"type, key expiration date and so on. When you are searching for a public key " +"and you find multiple keys with the same properties, the only way to " +"identify the key you are looking for is to compare the fingerprints of the " +"two keys with the fingerprint of the key you require." +msgstr "" +"Une clé comporte plusieurs caractéristiques comme le nom et l’adresse " +"électronique du propriétaire, le type de clé, la date d’expiration de la " +"clé, etc. Quand vous recherchez une clé publique et que vous en trouvez " +"plusieurs avec les mêmes propriétés, la seule façon d’identifier la clé que " +"vous recherchez est de comparer leurs empreintes." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:36 +msgid "" +"It is the fingerprint of a key that is verified when you try to login to a " +"remote computer using SSH. While " +"signing a PGP key, you must always " +"check the key fingerprint and verify the key owner's identity to ensure that " +"you are signing the correct key." +msgstr "" +"C’est l’empreinte d’une clé qui est vérifiée quand vous vous connectez à un " +"ordinateur distant en utilisant SSH. " +"Lors de la signature d’une clé PGP, " +"vous devez toujours vérifier l’empreinte et l’identité du propriétaire de la " +"clé pour être certain que vous signez la bonne clé." + +#. (itstool) path: section/title +#: C/misc-key-fingerprint.page:43 +msgid "Fingerprints on Passwords and Keys" +msgstr "Les empreintes dans Mots de passe et clés" + +#. (itstool) path: section/p +#: C/misc-key-fingerprint.page:45 +msgid "" +"You can look at the fingerprint of a key on Passwords and Keys by " +"checking the properties of the key." +msgstr "" +"Vous pouvez vérifier l’empreinte d’une clé dans Mots de passe et clés en examinant ses propriétés." + +#. (itstool) path: steps/title +#: C/misc-key-fingerprint.page:49 +msgid "To check the fingerprint of a key:" +msgstr "Vérification de l’empreinte d’une clé :" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:51 C/pgp-photoid.page:44 C/pgp-publish.page:37 +#: C/subkeys-add.page:31 +msgid "Select GnuPG keys from the left side panel." +msgstr "Sélectionnez Clés GnuPG dans le panneau de gauche." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:54 C/pgp-expiration-change.page:31 +msgid "Select the PGP key from the list." +msgstr "Sélectionnez la clé PGP dans la liste." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:57 +msgid "" +"Right click the key and select Properties." +msgstr "" +"Faites un clic droit sur la clé et sélectionnez Propriétés." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:61 C/pgp-expiration-change.page:37 +msgid "In the new dialog, select the Details tab." +msgstr "" +"Dans la nouvelle boîte de dialogue, sélectionnez l’onglet Détails" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:64 +msgid "You can see the fingerprint of the key on the left hand side." +msgstr "Vous pouvez voir l’empreinte de la clé sur la gauche." + +#. (itstool) path: info/desc +#: C/passwords-stored-create.page:19 +msgid "Passwords and keys can remember your passwords for you." +msgstr "" +"Mots de passe et clés peut se rappeler les mots de passe à votre " +"place." + +#. (itstool) path: page/title +#: C/passwords-stored-create.page:23 +msgid "Store your passwords" +msgstr "Enregistrement des mots de passe" + +#. (itstool) path: page/p +#: C/passwords-stored-create.page:25 +msgid "" +"Passwords and Keys automatically stores passwords for certain " +"GNOME applications in the Login keyring. Additionally, you can " +"store any other password you want to remember." +msgstr "" +"Mots de passe et clés enregistre automatiquement les mots de " +"passe de certaines applications GNOME dans le trousseau Identifiant. Vous pouvez aussi enregistrer n’importe quel mot de passe que vous " +"voulez conserver en mémoire." + +#. (itstool) path: steps/title +#: C/passwords-stored-create.page:30 +msgid "To create a new stored password:" +msgstr "Enregistrement d’un nouveau mot de passe :" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:35 +msgid "Select Password from the list." +msgstr "Sélectionnez Mot de passe dans la liste." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:38 +msgid "" +"Select the password keyring in which you want to store your password from " +"the Keyring menu." +msgstr "" +"Sélectionnez le trousseau de mots de passe dans lequel vous voulez " +"enregistrer le mot de passe dans le menu Trousseau." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:42 +msgid "" +"You can add additional information about the password in the " +"Description field, like the date of creation, or the name of the " +"application it protects, etc." +msgstr "" +"Vous pouvez ajouter des informations supplémentaires concernant le mot de " +"passe dans le champ Description, comme la date de création, le " +"nom de l’application qu’il protège, etc." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:47 +msgid "" +"Type the password in the Password field. You can tick the Show password checkbox if you want to see the " +"password text while typing it out." +msgstr "" +"Saisissez le mot de passe dans le champ Mot de passe. Cochez la " +"case Afficher le mot de passe si vous " +"souhaitez que le mot de passe soit visible pendant la saisie." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:52 +msgid "Press the Add button to finish." +msgstr "Cliquez sur Ajouter pour terminer." + +#. (itstool) path: note/p +#: C/passwords-stored-create.page:57 +msgid "" +"The default keyring is displayed as the first choice in the Keyring drop down menu. You can change " +"the default keyring." +msgstr "" +"Le trousseau par défaut s’affiche en premier choix dans le menu déroulant " +"Trousseau. Vous pouvez modifier le trousseau par défaut." + +#. (itstool) path: info/desc +#: C/passwords-view.page:33 +msgid "Check a stored password which you have forgotten." +msgstr "Vérifiez un mot de passe enregistré que vous avez oublié." + +#. (itstool) path: page/title +#: C/passwords-view.page:36 +msgid "View stored passwords" +msgstr "Affichage des mots de passe enregistrés" + +#. (itstool) path: page/p +#: C/passwords-view.page:38 +msgid "" +"If you ever forget a password stored in Passwords and Keys, you can view the contents of the " +"stored password in Passwords and Keys to refresh your memory." +msgstr "" +"S’il vous arrive d’oublier un mot de passe enregistré, vous avez la possibilité de visualiser le " +"contenu des mots de passe enregistrés dans Mots de passe et clés " +"pour vous rafraîchir la mémoire." + +#. (itstool) path: steps/title +#: C/passwords-view.page:44 +msgid "To view a password:" +msgstr "Pour afficher un mot de passe :" + +#. (itstool) path: item/p +#: C/passwords-view.page:46 +msgid "" +"In the side bar on the left, select the keyring which contains the password." +msgstr "" +"Dans la barre latérale de gauche, sélectionnez le trousseau de clés qui " +"contient le mot de passe." + +#. (itstool) path: item/p +#: C/passwords-view.page:50 +msgid "" +"Unlock the password keyring that " +"contains your password. A list of passwords stored in the keyring will be " +"displayed." +msgstr "" +"Déverrouillez le trousseau de mots de " +"passe qui contient votre mot de passe. Une liste des mots de passe " +"enregistrés dans le trousseau est affichée." + +#. (itstool) path: note/p +#: C/passwords-view.page:53 +msgid "Your Login keyring is already unlocked by default." +msgstr "" +"Votre trousseau Identifiant est déjà déverrouillé par défaut." + +#. (itstool) path: item/p +#: C/passwords-view.page:56 +msgid "" +"Right click on the password you want to check, and select Properties." +msgstr "" +"Faites un clic droit sur le trousseau que vous voulez examiner et " +"sélectionnez Propriétés." + +#. (itstool) path: item/p +#: C/passwords-view.page:60 +msgid "Select the <_:media-1/> icon to view the password." +msgstr "Sélectionnez l’icône <_:media-1/> pour afficher le mot de passe." + +#. (itstool) path: note/p +#: C/passwords-view.page:67 +msgid "" +"Since the contents of any unlocked keyrings are available to programs you " +"may be running, and Passwords and Keys does not seek to give a " +"false sense of security, the contents of unlocked keyrings are able to be " +"viewed without entering the password." +msgstr "" +"Puisque le contenu des trousseaux déverrouillés est disponible pour les " +"programmes que vous êtes en train d’exécuter, et que Mots de passe et " +"clés ne cherche pas à donner un faux sentiment de sécurité, le contenu " +"des trousseaux déverrouillés peut être affiché sans saisir le mot de passe." + +#. (itstool) path: note/p +#: C/passwords-view.page:71 +msgid "" +"This means that if you are logged-in, the contents of the Login " +"keyring will available without entering a password from Passwords and " +"Keys." +msgstr "" +"Cela signifie que si vous êtes connecté, le contenu du trousseau " +"Identifiant est disponible sans saisir de mot de passe dans " +"Mots de passe et clés." + +#. (itstool) path: note/p +#: C/passwords-view.page:74 +msgid "" +"If you need to lend your computer to another person, it is recommended that " +"you create a user account for them, or allow them to use a guest account." +msgstr "" +"Si vous avez besoin de prêter votre ordinateur à une autre personne, il est " +"recommandé de créer un compte utilisateur pour elle, ou de lui permettre " +"d’utiliser un compte invité." + +#. (itstool) path: info/desc +#: C/pgp-create.page:33 +msgid "Create and use GnuPG keys for encrypting and signing emails." +msgstr "" +"Créer et utiliser des clés GnuPG pour chiffrer et signer les courriels." + +#. (itstool) path: page/title +#: C/pgp-create.page:36 +msgid "Create PGP keys" +msgstr "Création de clés PGP" + +#. (itstool) path: page/p +#: C/pgp-create.page:38 +msgid "To make a new PGP key:" +msgstr "Pour créer une nouvelle clé PGP :" + +#. (itstool) path: item/p +#: C/pgp-create.page:45 +#| msgid "Select PGP Key from the list." +msgid "Select GPG Key from the list." +msgstr "Sélectionnez Clé GPG dans la liste." + +#. (itstool) path: item/p +#: C/pgp-create.page:48 +msgid "Enter your full name in the Full Name field." +msgstr "Saisissez vos nom et prénoms dans le champ Nom complet." + +#. (itstool) path: item/p +#: C/pgp-create.page:51 +msgid "Optionally, add your email address and a comment to describe the key." +msgstr "" +"Éventuellement, ajoutez votre adresse électronique et un commentaire pour " +"décrire la clé." + +#. (itstool) path: item/p +#: C/pgp-create.page:55 +msgid "Press Create." +msgstr "Cliquez sur Créer." + +#. (itstool) path: item/p +#: C/pgp-create.page:58 +msgid "" +"In the password dialog, enter a password for the key. Retype the password to " +"confirm your choice." +msgstr "" +"Dans la boîte de dialogue du mot de passe, saisissez un mot de passe pour la " +"clé, et saisissez-le à nouveau pour le confirmer." + +#. (itstool) path: item/p +#: C/pgp-create.page:62 +msgid "Press OK to finish." +msgstr "Cliquez sur Valider pour terminer." + +#. (itstool) path: page/p +#: C/pgp-create.page:66 +msgid "" +"Passwords and Keys will take some time to generate your key. " +"While your key is being created, move your mouse around, press some keys on " +"your keyboard, or browse the web. This will help Passwords and Keys to create a truly random key. The key will be listed under GnuPG " +"keys." +msgstr "" +"Mots de passe et clés met du temps à générer la clé. Pendant la " +"création de la clé, bougez votre souris, appuyez sur des touches du clavier, " +"ou naviguez sur la Toile. Cela facilitera la création d’une clé vraiment " +"aléatoire. La clé figurera dans la liste située sous Clés GnuPG." + +#. (itstool) path: note/p +#: C/pgp-create.page:73 +msgid "" +"The Full Name, Email Address and Comment " +"details of a GnuPG key are called the user ID of the key." +msgstr "" +"Le Nom complet, l’Adresse électronique et le " +"Commentaire d’une clé GnuPG sont appelés identifiant utilisateur de la clé." + +#. (itstool) path: section/title +#: C/pgp-create.page:79 +msgid "Advanced PGP key options" +msgstr "Options avancées de clé PGP" + +#. (itstool) path: section/p +#: C/pgp-create.page:81 +#| msgid "" +#| "Under Advanced key options you can choose custom values for " +#| "encryption type, key strength and key expiration date." +msgid "" +"Under Advanced key options, you can choose custom values for " +"encryption type, key strength and key expiration date." +msgstr "" +"Sous Options avancées de clé, vous pouvez choisir des valeurs " +"personnalisées pour le type de chiffrement, la force de la clé et sa date " +"d’expiration." + +#. (itstool) path: item/title +#: C/pgp-create.page:86 +msgid "Encryption type" +msgstr "Type de chiffrement" + +#. (itstool) path: item/p +#: C/pgp-create.page:87 +msgid "" +"Depending on your needs, create keys that can be used for signing only or " +"for both encryption and signing. The RSA and DSA-Elgamal algorithms generate " +"equally secure keys." +msgstr "" +"Selon vos besoins, créez des clés utilisables seulement pour la signature ou " +"pour à la fois le chiffrement et la signature. Les algorithmes RSA et DSA-" +"Elgamal génèrent des clés également sécurisées." + +#. (itstool) path: item/title +#: C/pgp-create.page:92 +msgid "Key Strength" +msgstr "Force de la clé" + +#. (itstool) path: item/p +#: C/pgp-create.page:93 +msgid "" +"The key strength is measured in terms of the size of the key in bits. It is " +"difficult and more time consuming to break a strong key, but strong keys " +"will slow down the encryption and signing process. You should choose your " +"key strength in Passwords and Keys depending on how long you want " +"to use the key. A small key is sufficient for short term use while a large " +"key is more suitable for long term use." +msgstr "" +"La force de la clé se mesure en termes de longueur de la clé en bits. Il est " +"plus difficile et il faut plus de temps pour casser une clé forte, mais les " +"clés fortes ralentissent le chiffrement et la signature. Choisissez la force " +"de la clé en fonction de sa durée d’utilisation prévue. Une petite clé est " +"suffisante à court terme, tandis qu’une grande clé convient mieux à long " +"terme." + +#. (itstool) path: item/title +#: C/pgp-create.page:101 +msgid "Expiration Date" +msgstr "Date d’expiration" + +#. (itstool) path: item/p +#: C/pgp-create.page:102 +#| msgid "" +#| "When a key expires, certain actions no longer " +#| "work. In Passwords and Keys, you can either set your " +#| "key to Never Expire, or select an " +#| "expiration date and time for it." +msgid "" +"When a key expires, certain actions no longer " +"work. In Passwords and Keys, you can either set your key " +"to Never Expire or select an expiration date " +"for it." +msgstr "" +"Quand une clé arrive à expiration, certaines " +"actions ne fonctionnent plus. Dans Mots de passe et clés, " +"vous pouvez régler la clé pour qu’elle n’expire " +"jamais ou lui choisir une date d’expiration." + +#. (itstool) path: item/p +#: C/pgp-create.page:106 +#| msgid "" +#| "It is recommended that you set an expiration date in case you lose access " +#| "to the key. Even if your key expires, you can change the expiration to a later date." +msgid "" +"It is recommended that you set an expiration date in case you lose access to " +"the key. Even if your key expires, you can change the expiration to a later date." +msgstr "" +"Il est recommandé de définir une date d’expiration pour le cas où vous " +"n’auriez plus accès à la clé. Même si la clé atteint sa limite de validité, " +"vous pouvez toujours repousser la date " +"d’expiration." + +#. (itstool) path: info/desc +#: C/pgp-delete.page:26 +msgid "" +"Delete local copies of your keys or the keys of people you communicate with." +msgstr "" +"Supprimer les copies locales de vos clés et les clés des personnes avec " +"lesquelles vous communiquez." + +#. (itstool) path: page/title +#: C/pgp-delete.page:30 +msgid "Delete an existing key" +msgstr "Suppression d’une clé existante" + +#. (itstool) path: page/p +#: C/pgp-delete.page:32 +msgid "" +"If you are no longer communicating with someone, you can delete the copy of " +"their GnuPG key on your computer using Passwords and Keys. You " +"can also permanently delete a key you own as long it has never been " +"published on a key server. Deleting a GnuPG key deletes both the public key " +"and the secret key." +msgstr "" +"Si vous ne communiquez plus avec une personne, vous pouvez supprimer la " +"copie de sa clé de votre ordinateur en utilisant Mots de passe et clés. Vous pouvez également supprimer définitivement une de vos propres clés " +"tant qu’elle n’a pas été publiée sur un serveur. La suppression d’une clé " +"GnuPG supprime à la fois la clé publique et la clé privée." + +#. (itstool) path: steps/title +#: C/pgp-delete.page:39 +msgid "To delete a key:" +msgstr "Suppression d’une clé :" + +#. (itstool) path: item/p +#: C/pgp-delete.page:41 +msgid "Select the key." +msgstr "Sélectionnez la clé." + +#. (itstool) path: item/p +#: C/pgp-delete.page:45 +msgid "Right click, and choose Delete." +msgstr "Faites un clic droit et choisissez Supprimer." + +#. (itstool) path: note/p +#: C/pgp-delete.page:47 +msgid "" +"When you delete a GnuPG key that has been published on a key server, you " +"only delete the key in your GnuPG keyring because a copy of the public key " +"will still be present on some key server." +msgstr "" +"Si vous supprimez une clé publiée sur un serveur de clés, vous ne faites que " +"supprimer la clé de votre trousseau GnuPG car une copie de la clé reste " +"présente sur le serveur." + +#. (itstool) path: note/p +#: C/pgp-delete.page:50 +msgid "" +"If you delete your GnuPG key, this means that your private key will be " +"permanently deleted, even though your public key can still be retrieved from a key server and used to " +"encrypt messages to you that you won't be able to read! To prevent such a " +"key from being used, retrieve and revoke the key. The revoked key can then " +"be synced with a key server to prevent people " +"from retrieving and using it." +msgstr "" +"Si vous supprimez une clé GnuPG, cela signifie que votre clé privée est " +"définitivement supprimée alors que votre clé publique peut toujours être " +"récupérée depuis un serveur de " +"clés et utilisée par d’autres pour chiffrer des messages que vous serez " +"incapable de lire ! Pour empêcher qu’une telle clé soit utilisée, récupérez-" +"la et révoquez-la. La clé révoquée peut alors être synchronisée avec un serveur de clés, ce qui évitera qu’elle ne " +"soit récupérée et utilisée par quelqu’un." + +#. (itstool) path: item/p +#: C/pgp-delete.page:64 +msgid "" +"In the new dialog, confirm the deletion by ticking the I understand that this secret key will be permanently deleted " +"checkbox, and press the Delete button to finish." +msgstr "" +"Dans la nouvelle boîte de dialogue, confirmez la suppression en cochant la " +"case Je comprends que tous les éléments vont être " +"supprimés définitivement et cliquez sur le bouton Supprimer pour terminer." + +#. (itstool) path: info/desc +#: C/pgp-expiration-change.page:19 +msgid "Advance or postpone the expiration date of your keys." +msgstr "Avancer ou reporter la date d’expiration de vos clés." + +#. (itstool) path: page/title +#: C/pgp-expiration-change.page:22 +msgid "Change the expiration date of your keys" +msgstr "Modification de la date d’expiration des clés" + +#. (itstool) path: page/p +#: C/pgp-expiration-change.page:24 +msgid "" +"If your PGP key has expired but you wish to continue its use, you can change " +"its expiry date. You can also change the expiration settings to have a key " +"expire on an earlier date." +msgstr "" +"Si une de vos clés a expiré mais que vous désirez continuer à l’utiliser, " +"vous pouvez reculer sa date d’expiration. Vous pouvez aussi modifier les " +"paramètres d’expiration pour que la clé expire plus tôt." + +#. (itstool) path: steps/title +#: C/pgp-expiration-change.page:29 +msgid "To change the expiration date of a PGP key:" +msgstr "Modification de la date d’expiration d’une clé PGP :" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:34 +msgid "Right click on the selected key and select Properties." +msgstr "" +"Faites un clic droit sur la clé sélectionnée et choisissez Propriétés." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:42 +msgid "" +"To change the expiration date of the master key, press the small button with " +"the picture of a calendar next to Expires, on the right side of " +"the dialog. You can then select the new expiration date from the calendar." +msgstr "" +"Pour modifier la date d’expiration d’une clé maîtresse, cliquez sur le petit " +"bouton représentant un petit calendrier près de Expire, sur la " +"droite de la boîte de dialogue. Vous pouvez alors choisir une nouvelle date " +"d’expiration dans le calendrier." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:48 +msgid "" +"To change the expiration date of a subkey, " +"expand the Subkeys panel and select the subkey from the list. " +"Press the Expire button on the left of the panel " +"and select the new expiration date." +msgstr "" +"Pour modifier la date d’expiration d’une sous-" +"clé, développez le panneau Sous-clés et sélectionnez la " +"sous-clé dans la liste. Cliquez sur le bouton Expire sur la gauche du panneau et choisissez la nouvelle date d’expiration." + +#. (itstool) path: note/p +#: C/pgp-expiration-change.page:59 +msgid "" +"If you are changing the expiration date of a key that has been published, " +"you must synchronize the key with the key " +"server after making the desired changes." +msgstr "" +"Si vous modifiez la date d’expiration d’une clé publiée, vous devez synchroniser la clé avec le serveur de clés après " +"avoir effectué les modifications souhaitées." + +#. (itstool) path: info/desc +#: C/pgp-expired.page:20 +msgid "Can I still use it? Can expiration dates be changed?" +msgstr "" +"Puis-je continuer à l’utiliser ? Les dates d’expiration peuvent-elles être " +"modifiées ?" + +#. (itstool) path: page/title +#: C/pgp-expired.page:23 +msgid "What happens if my key expires?" +msgstr "Que se passe-t-il à l’expiration de la clé ?" + +#. (itstool) path: page/p +#: C/pgp-expired.page:25 +msgid "When your key expires, it becomes invalid. This means:" +msgstr "Après expiration, la clé perd sa validité. Cela signifie que :" + +#. (itstool) path: item/p +#: C/pgp-expired.page:29 +msgid "It can no longer be used to encrypt and decrypt messages." +msgstr "" +"Elle ne peut plus être utilisée pour chiffrer et déchiffrer les messages." + +#. (itstool) path: item/p +#: C/pgp-expired.page:32 +msgid "It cannot sign other keys or receive signatures from other keys." +msgstr "" +"Elle ne peut pas signer d’autres clés, ni recevoir de signatures d’autres " +"clés." + +#. (itstool) path: page/p +#: C/pgp-expired.page:37 +msgid "" +"Depending on how long you want your key to be valid, you can set an expiration date for it. By default, " +"Passwords and Keys sets all keys to be valid forever. That is, " +"the keys never expire." +msgstr "" +"Si vous désirez limiter la validité de votre clé, vous pouvez lui fixer une date d’expiration. Par défaut, " +"Mots de passe et clés définit les clés comme toujours valides. " +"C’est-à-dire qu’elles n’expirent jamais." + +#. (itstool) path: page/p +#: C/pgp-expired.page:42 +msgid "" +"The expiration date on a key can be changed anytime, even after the key has expired. However, if you " +"want to stop using the expired key, you should delete or revoke it." +msgstr "" +"La date d’expiration d’une clé peut être modifiée à tout moment, même après qu’elle ait expiré. Si vous " +"voulez cesser d’utiliser la clé expirée, vous devriez la supprimer ou la révoquer." + +#. (itstool) path: note/p +#: C/pgp-expired.page:49 +msgid "" +"If you have any messages encrypted with an expired key, you must change the " +"expiration date on the key to decrypt such messages before deleting or " +"revoking it." +msgstr "" +"Si vous avez des messages chiffrés avec une clé périmée, vous devez modifier " +"la date d’expiration de la clé pour les déchiffrer avant de supprimer ou de " +"révoquer la clé." + +#. (itstool) path: info/desc +#: C/pgp-export.page:19 +msgid "Export your public and private PGP keys to store them in keyfiles." +msgstr "" +"Exporter les clés PGP publiques et privées pour les enregistrer dans des " +"fichiers de clés." + +#. (itstool) path: page/title +#: C/pgp-export.page:23 +msgid "Export PGP keys" +msgstr "Exportation des clés PGP" + +#. (itstool) path: page/p +#: C/pgp-export.page:25 +msgid "" +"Export the contents of your PGP keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Exportez le contenu de vos clés PGP et enregistrez-les dans des fichiers de " +"clés, de façon à posséder une sauvegarde des clés ou à partager la clé " +"publique avec quelqu’un." + +#. (itstool) path: section/title +#: C/pgp-export.page:29 +#| msgid "To export your public PGP key" +msgid "To export your public PGP key:" +msgstr "Exportation de la clé publique PGP" + +#. (itstool) path: item/p +#: C/pgp-export.page:33 C/pgp-export.page:62 C/pgp-userid-add.page:36 +#: C/pgp-userid-primary.page:32 C/pgp-userid-remove.page:31 +msgid "Select the GnuPG keys keyring from the left side panel." +msgstr "" +"Sélectionnez le trousseau Clés GnuPG dans le panneau de gauche." + +#. (itstool) path: item/p +#: C/pgp-export.page:37 C/pgp-export.page:66 +msgid "" +"Select the Personal PGP key that has to be exported, from the " +"list." +msgstr "" +"Sélectionnez, dans la liste, la Clé PGP personnelle qui doit être " +"exportée." + +#. (itstool) path: item/p +#: C/pgp-export.page:41 C/ssh-export.page:42 +msgid "" +"Right-click on the key and select Export…." +msgstr "" +"Faites un clic droit sur la clé et sélectionnez Exporter." + +#. (itstool) path: item/p +#: C/pgp-export.page:44 +msgid "" +"To store the keys in the ASCII format, select Armored PGP keys " +"from the menu at the bottom of the export window" +msgstr "" +"Pour enregistrer les clés au format ASCII, sélectionnez Clés blindées " +"PGP depuis le menu en bas de la fenêtre d’exportation" + +#. (itstool) path: item/p +#: C/pgp-export.page:49 C/pgp-export.page:77 +msgid "" +"Choose a location for your keyfile, and press Export to finish." +msgstr "" +"Choisissez un emplacement pour le fichier de clé, et cliquez sur Exporter pour terminer." + +#. (itstool) path: section/title +#: C/pgp-export.page:58 +#| msgid "To export your private PGP key" +msgid "To export your private PGP key:" +msgstr "Exportation de la clé privée PGP" + +#. (itstool) path: item/p +#: C/pgp-export.page:70 C/subkeys-add.page:37 +msgid "" +"Right click on the selected key and select PropertiesDetails." +msgstr "" +"Faites un clic droit sur la clé sélectionnée et choisissez " +"PropriétésDétails." + +#. (itstool) path: item/p +#: C/pgp-export.page:74 +msgid "Press the Export button." +msgstr "Cliquez sur le bouton Exporter." + +#. (itstool) path: info/desc +#: C/pgp-import.page:26 +msgid "Import keys from keyfiles into Passwords and Keys." +msgstr "" +"Importer des clés dans Mots de passe et clés à partir de fichiers " +"de clés." + +#. (itstool) path: page/title +#: C/pgp-import.page:29 +msgid "Import PGP keys" +msgstr "Importation de clés PGP" + +#. (itstool) path: page/p +#: C/pgp-import.page:31 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports PGP keys from your computer. You can also manually " +"import a particular key, if it has not been imported already." +msgstr "" +"Si vous avez reçu un fichier de clé par courriel, vous aurez certainement " +"envie de l’importer dans Mots de passe et clés. Dans la plupart " +"des cas, Mots de passe et clés importe automatiquement les clés " +"PGP depuis votre ordinateur, mais vous pouvez aussi importer manuellement " +"une clé particulière, si elle n’a pas été déjà importée." + +# Ajout du caractère « : » dans la traduction, afin d’uniformiser avec les différentes rubriques. +#. (itstool) path: steps/title +#: C/pgp-import.page:37 C/ssh-import.page:37 +msgid "How do I manually import a key?" +msgstr "Importation manuelle d’une clé :" + +#. (itstool) path: item/p +#: C/pgp-import.page:42 C/ssh-import.page:42 +msgid "Select Import from file… from the list." +msgstr "" +"Sélectionnez Importer depuis un fichier dans " +"la liste." + +#. (itstool) path: item/p +#: C/pgp-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. PGP keys end with " +"pgp or asc, GPG keys end with gpg." +msgstr "" +"Dans la nouvelle boîte de dialogue, sélectionnez la clé que vous désirez " +"importer. Les clés PGP se terminent par pgp ou asc, les clés GPG se terminent par gpg." + +#. (itstool) path: item/p +#: C/pgp-import.page:50 C/ssh-import.page:49 +msgid "Click Open." +msgstr "Cliquez sur Ouvrir." + +#. (itstool) path: page/p +#: C/pgp-import.page:54 +msgid "" +"Once imported, the PGP and GPG keys are listed under GnuPG keys." +msgstr "" +"Une fois importées, les clés PGP et GPG figurent dans la liste Clés " +"GnuPG." + +#. (itstool) path: info/desc +#: C/pgp-photoid.page:20 +msgid "" +"Include a photo ID with your existing keys so that people can identify them " +"easily." +msgstr "" +"Associer un identifiant photo à vos clés existantes de façon à ce que " +"quiconque puisse les identifier facilement." + +#. (itstool) path: page/title +#: C/pgp-photoid.page:24 +msgid "Attach a photo to your key" +msgstr "Une photographie en pièce jointe à votre clé" + +#. (itstool) path: page/p +#: C/pgp-photoid.page:26 +msgid "" +"You can attach a photo ID to your PGP keys so that everyone can verify the " +"ownership of your keys after looking at your photo. Though a key with an " +"attached photo will provide a slightly better level of security than a key " +"with no photo, checking the photo on a key is not as safe as checking the " +"fingerprint of the key because " +"anyone having your photos can create a key with your photo ID while the key " +"fingerprint cannot be mimicked." +msgstr "" +"Vous pouvez joindre un identifiant photo à vos clés PGP afin que tout un " +"chacun puisse reconnaître le propriétaire des clés en regardant la " +"photographie. Bien qu’une clé avec une photographie jointe augmente un peu " +"le niveau de sécurité, ce n’est pas aussi sûr que de vérifier l’empreinte de la clé, car n’importe qui " +"possédant vos photos peut créer une clé avec, alors que l’empreinte de la " +"clé ne peut pas être imitée." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:35 +msgid "" +"Unlike the restrictions in GPG, the photo ID you want to upload " +"need not be in the JPEG format. Passwords and Keys " +"lets you upload your photo in png, jpg and several " +"other common image formats." +msgstr "" +"Contrairement aux restrictions concernant GPG, la photo à " +"télécharger n’a pas besoin d’être au format JPEG. Mots de " +"passe et clés permet de télécharger vos photos aux formats png, jpg ainsi qu’à plusieurs autres formats d’image communs." + +#. (itstool) path: steps/title +#: C/pgp-photoid.page:42 +msgid "To attach a photo ID to a PGP key:" +msgstr "Joindre un identifiant photo à une clé PGP :" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:47 +msgid "Select the PGP key." +msgstr "Sélectionnez la clé PGP." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:50 +msgid "" +"Right click on the chosen key and select Properties Owner." +msgstr "" +"Faites un clic droit sur la clé choisie et sélectionnez Propriétés Propriétaire " + +#. (itstool) path: item/p +#: C/pgp-photoid.page:55 +#| msgid "" +#| "Press the button marked with a + on the left " +#| "hand side to add a photo." +msgid "" +"Press the + button on the left hand side to add " +"a photo." +msgstr "" +"Cliquez sur le bouton + situé sur le côté gauche " +"pour ajouter une photographie." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:59 +msgid "Select the photo from your computer." +msgstr "Sélectionnez la photographie sur votre ordinateur." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:62 +msgid "Click Close to finish." +msgstr "Cliquez sur Fermer pour terminer." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:67 +msgid "" +"The photos you select should be small in size, preferably about 120 by 150 " +"pixels. Since a photo ID is always attached to its key, a large photo will " +"increase the key size and slow down all operations that use the key. " +"Passwords and Keys resizes large photos to the optimal size after " +"asking for your confirmation." +msgstr "" +"Les photos sélectionnées doivent être de petite taille, environ 120 sur 150 " +"pixels. Un identifiant photo étant lié à sa clé, une grande photo augmente " +"la taille de la clé et ralentit les opérations qui l’utilisent. Mots de " +"passe et clés redimensionne les photos trop grandes après vous avoir " +"demandé confirmation." + +#. (itstool) path: credit/name +#: C/pgp-publish.page:16 C/pgp-retrieve-remote.page:16 +msgid "Aruna" +msgstr "Aruna" + +#. (itstool) path: info/desc +#: C/pgp-publish.page:21 +msgid "" +"Publish your public keys on key servers, or export and mail them to your friends." +msgstr "" +"Publiez vos clés publiques sur les serveurs de clés, ou exportez-les et envoyez-les par courrier à vos amis." + +#. (itstool) path: page/title +#: C/pgp-publish.page:25 +msgid "Share your public keys" +msgstr "Partage de vos clés publiques" + +#. (itstool) path: page/p +#: C/pgp-publish.page:27 +msgid "" +"If you want people to send you encrypted communication, you must share your " +"GnuPG key with them. To share your key with a selected few " +"people, export it and mail the resulting " +"keyfile to them. To allow anyone to retrieve and use your public key, publish it on a key server." +msgstr "" +"Si vous voulez que des personnes vous envoient des messages chiffrés, vous " +"devez partager votre clé GnuPG avec elles. Pour partager votre " +"clé avec un nombre limité de personnes, exportez-" +"la, et envoyez par courrier le fichier de clé résultant. Pour " +"permettre à quiconque de récupérer " +"et d’utiliser votre clé publique, publiez-la sur un serveur de clés." + +# Ajout du caractère « : » dans la traduction, afin d’uniformiser avec les différentes rubriques. +#. (itstool) path: steps/title +#: C/pgp-publish.page:35 +msgid "How do I publish my key on a key server?" +msgstr "Publication de ma clé sur un serveur de clés :" + +#. (itstool) path: item/p +#: C/pgp-publish.page:40 +msgid "" +"From the list, select the Personal PGP key you want to publish." +msgstr "" +"Dans la liste, sélectionnez la Clé personnelle PGP que vous " +"désirez publier." + +#. (itstool) path: item/p +#: C/pgp-publish.page:47 C/pgp-sync.page:44 +msgid "Select Sync and publish keys…." +msgstr "" +"Sélectionnez Synchroniser et publier des clés." + +#. (itstool) path: item/p +#: C/pgp-publish.page:50 +msgid "" +"Press the Key Servers button to see the list of " +"key servers on which you can publish your public key." +msgstr "" +"Cliquez sur le bouton Serveurs de clés pour " +"afficher la liste des serveurs." + +#. (itstool) path: item/p +#: C/pgp-publish.page:54 +msgid "" +"To publish your key on a key server, select the key server from the " +"Publish keys to menu." +msgstr "" +"Sélectionnez le serveur de clés dans le menu Publier les clés sur." + +#. (itstool) path: item/p +#: C/pgp-publish.page:58 +msgid "" +"Close the Preferences window to go back to the previous dialog." +msgstr "" +"Fermez la fenêtre des Préférences pour revenir à la boîte de " +"dialogue précédente." + +#. (itstool) path: item/p +#: C/pgp-publish.page:62 +msgid "Press Sync to finish." +msgstr "Cliquez sur Synchroniser pour terminer." + +#. (itstool) path: note/p +#: C/pgp-publish.page:77 +msgid "You need to be connected to the Internet while publishing your keys." +msgstr "" +"Vous devez être connecté à Internet lors de la publication de vos clés." + +#. (itstool) path: note/title +#: C/pgp-publish.page:81 +msgid "What is a keyserver?" +msgstr "Définition de la notion de serveur de clés" + +#. (itstool) path: note/p +#: C/pgp-publish.page:82 +msgid "" +"Key servers are computers that store copies of public encryption keys " +"submitted to them, and share these copies with other key servers through the " +"Internet." +msgstr "" +"Les serveurs de clés sont des ordinateurs qui enregistrent les copies de " +"clés de chiffrement publiques qui leur sont envoyées, et qui partagent ces " +"copies avec d’autres serveurs à travers Internet." + +#. (itstool) path: info/desc +#: C/pgp-retrieve-remote.page:26 +msgid "" +"If you want to send an urgent encrypted message to someone, but do not have " +"their key, you can retrieve their key from a remote key server." +msgstr "" +"Si vous souhaitez envoyer un message chiffré urgent à quelqu’un, mais que " +"vous ne possédez pas sa clé publique, vous pouvez la récupérer à partir d’un " +"serveur de clés distant." + +#. (itstool) path: page/title +#: C/pgp-retrieve-remote.page:31 +msgid "Retrieve remote keys" +msgstr "Récupération de clés distantes" + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:33 +msgid "" +"You can retrieve someone's public GnuPG key from the Internet and store it " +"in Passwords and Keys." +msgstr "" +"Il est possible de récupérer la clé publique GnuPG de quelqu’un par Internet " +"et de l’enregistrer dans Mots de passe et clés." + +#. (itstool) path: steps/title +#: C/pgp-retrieve-remote.page:37 +msgid "To retrieve a remote key:" +msgstr "Récupération d’une clé distante :" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:42 +msgid "Select Find remote keys…." +msgstr "" +"Sélectionnez Chercher des clés distantes." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:45 +msgid "" +"Enter information about the key you wish to retrieve in the field provided. " +"Details like key ID or the key owner's email address give more accurate " +"results than the name of the key owner." +msgstr "" +"Saisissez, dans le champ fourni, les informations sur la clé que vous " +"souhaitez récupérer. Des données telles que l’identifiant de clé ou " +"l’adresse électronique du propriétaire de la clé donnent de meilleurs " +"résultats que le nom du propriétaire de la clé." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:50 +msgid "Press the Search button." +msgstr "Cliquez sur le bouton Chercher." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:53 +msgid "" +"From the list of search results, select the key you want to import, and " +"press the Download button on the right." +msgstr "" +"Dans la liste des résultats de la recherche, sélectionnez la clé à importer, " +"et cliquez sur le bouton Importer situé sur la " +"droite." + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:58 +msgid "The imported key will be listed in the GnuPG keys keyring." +msgstr "" +"La clé importée figurera dans la liste du trousseau Clés GnuPG." + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:61 +msgid "" +"If you want more information about a key, before importing it, select it and " +"press Enter or double-click it. This opens a new window that " +"displays information like the key ID, key fingerprint, level of trust, " +"owner's name, etc." +msgstr "" +"Si vous voulez plus d’informations sur une clé, avant de l’importer, " +"sélectionnez-la et appuyez sur Entrée ou double-cliquez dessus. " +"Cela ouvre une nouvelle fenêtre qui affiche des informations comme " +"l’identifiant de clé, l’empreinte de la clé, le niveau de confiance, le nom " +"du propriétaire, etc." + +#. (itstool) path: info/desc +#: C/pgp-sign.page:19 +msgid "If you trust a key, you can sign it." +msgstr "Si vous avez confiance en la clé, vous pouvez la signer." + +#. (itstool) path: page/title +#: C/pgp-sign.page:22 +msgid "Sign keys" +msgstr "Signature des clés" + +#. (itstool) path: page/p +#: C/pgp-sign.page:24 +msgid "" +"To show that you trust and vouch for the genuineness of someone's key, you " +"can sign it. A person's key must be signed only after you compare the user ID on the key with a valid proof of their " +"identity, such as a passport, driver's license, or similar. If the two IDs " +"match, the key is said to be trustworthy." +msgstr "" +"Pour montrer que vous avez confiance et que vous vous portez garant de " +"l’authenticité de la clé de quelqu’un, vous pouvez la signer. Vous ne devez " +"signer la clé d’une personne qu’après avoir comparé l’identifiant utilisateur de la clé avec une preuve d’identité, " +"comme un passeport, un permis de conduire ou quelque chose de similaire. Si " +"les deux identifiants correspondent, la clé est réputée fiable." + +#. (itstool) path: steps/title +#: C/pgp-sign.page:31 +msgid "To sign a key:" +msgstr "Signature d’une clé :" + +#. (itstool) path: item/p +#: C/pgp-sign.page:33 +msgid "" +"Import the remote key or keyfile containing the key to be signed into " +"Passwords and Keys." +msgstr "" +"Importez, dans Mots de passe et clés, la clé distante ou le fichier de clé contenant la clé à signer." + +#. (itstool) path: item/p +#: C/pgp-sign.page:38 +msgid "From the list of GnuPG keys select the imported key." +msgstr "Dans la liste des Clés GnuPG, sélectionnez la clé importée." + +#. (itstool) path: item/p +#: C/pgp-sign.page:41 +msgid "" +"Right click the key and select PropertiesTrust." +msgstr "" +"Faites un clic droit sur la clé et sélectionnez PropriétésConfiance." + +# Modification de la traduction « Signer cette clé » par « Signer », afin d’uniformiser avec l’interface utilisateur. +#. (itstool) path: item/p +#: C/pgp-sign.page:45 +msgid "Press the Sign this Key button." +msgstr "Cliquez sur le bouton Signer." + +#. (itstool) path: item/p +#: C/pgp-sign.page:48 +msgid "" +"Depending on how carefully you have checked the key, choose one out of Not at all, Casually or Very carefully." +msgstr "" +"Selon le soin que vous avez apporté à la vérification de la clé, choisissez " +"une des options parmi Pas du tout, Superficiellement ou Très sérieusement." + +#. (itstool) path: item/p +#: C/pgp-sign.page:54 +msgid "" +"Decide if you want to revoke your signature at a later date and if you want " +"to make your signature public, by ticking the checkboxes provided." +msgstr "" +"Décidez si vous voulez révoquer votre signature ultérieurement et si vous " +"voulez rendre publique votre signature, en cochant les cases fournies." + +#. (itstool) path: item/p +#: C/pgp-sign.page:59 +msgid "" +"When you own more than one PGP key, select the key you want to sign with, " +"from the list next to Signer." +msgstr "" +"Si vous possédez plus d’une clé PGP, sélectionnez la clé avec laquelle vous " +"voulez signer dans la liste, près de Signataire." + +#. (itstool) path: item/p +#: C/pgp-sign.page:63 +msgid "Press the Sign button to finish." +msgstr "" +"Cliquez sur le bouton Signer pour terminer." + +#. (itstool) path: note/title +#: C/pgp-sign.page:68 +msgid "Can I sign my own keys?" +msgstr "Signature de mes propres clés" + +#. (itstool) path: note/p +#: C/pgp-sign.page:69 +msgid "" +"When you create a new GnuPG key, " +"it is automatically signed by you. Any new subkeys created using a GnuPG key, will also be signed " +"automatically." +msgstr "" +"Quand vous créez une nouvelle clé " +"GnuPG, elle est automatiquement signée par vous. Toutes les sous-" +"clés créées en utilisant une clé " +"GnuPG sont également signées automatiquement." + +#. (itstool) path: info/desc +#: C/pgp-subkeys.page:19 +msgid "" +"A subkey is always bound to a master key in a PGP keypair. It is used for " +"encryption." +msgstr "" +"Une sous-clé est toujours rattachée à une clé maîtresse dans une paire de " +"clés PGP. Elle est utilisée pour le chiffrement." + +#. (itstool) path: page/title +#: C/pgp-subkeys.page:23 +msgid "What is a subkey?" +msgstr "Définition de la notion de sous-clé" + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:25 +msgid "" +"Though it is very important to keep your keys safe, it can become quite " +"tedious to do so when you have many keys. Passwords and Keys " +"provides a simple solution to key safety by using subkeys for " +"signing and encryption." +msgstr "" +"Bien qu’il soit très important de garder ses clés en sécurité, il peut " +"devenir bien ennuyeux de le faire si vous avez de nombreuses clés. Mots " +"de passe et clés fournit une solution simple pour la sécurité des clés " +"avec l’utilisation de sous-clés lors de la signature et du " +"chiffrement." + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:30 +msgid "" +"Whenever you create a new public encryption " +"key, a keypair is generated instead of a single key. This keypair " +"consists of a main key, also called the master key and a " +"subkey. A master key can be used to create additional subkeys that " +"are then bound to it." +msgstr "" +"Chaque fois que vous créez une nouvelle clé " +"de chiffrement publique, une paire de clés est générée au lieu " +"d’une clé simple. Cette paire de clés se compose d’une clé principale, aussi " +"appelée clé maîtresse, et d’une sous-clé. Une clé " +"maîtresse peut être utilisée pour créer d’autres sous-clés qui lui sont " +"alors rattachées." + +#. (itstool) path: list/title +#: C/pgp-subkeys.page:37 +msgid "What does each key in a keypair do?" +msgstr "Rôle de chaque clé dans une paire" + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:39 +msgid "" +"The master key is used for signing " +"other keys, creating subkeys and revoking subkeys. Your master key must be kept very safe. Signatures of trust " +"are also collected on your master key. If the master key is compromised, you " +"have no choice but to revoke it and all the subkeys attached to it." +msgstr "" +"La clé maîtresse sert à signer " +"d’autres clés, à créer et à révoquer " +"les sous-clés. La clé maîtresse doit être gardée en lieu sûr. Les signatures " +"de confiance sont également réunies sur la clé maîtresse. Si la clé " +"maîtresse est compromise, vous n’avez pas d’autre solution que la révoquer " +"ainsi que toutes les sous-clés qui lui sont rattachées." + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:47 +msgid "" +"The default subkey is used for encryption and decryption of " +"messages. Additional subkeys can be created for signing. Though it is " +"important that your subkeys are kept safe, you can always revoke a subkey if " +"it is compromised and create a new one with the original master key." +msgstr "" +"La sous-clé par défaut sert au chiffrement et au déchiffrement des " +"messages. D’autres sous-clés peuvent être créées pour la signature. Bien " +"qu’il soit important de garder vos sous-clés en lieu sûr, vous pouvez " +"toujours révoquer une sous-clé si elle est compromise, et en créer une " +"nouvelle avec la clé maîtresse d’origine." + +#. (itstool) path: section/title +#: C/pgp-subkeys.page:56 +msgid "More about subkeys" +msgstr "Informations supplémentaires sur les sous-clés" + +#. (itstool) path: info/desc +#: C/pgp-sync.page:21 +msgid "" +"Synchronize information present in your local key with the corresponding key " +"on a key server." +msgstr "" +"Synchroniser les informations présentes dans la clé locale avec la clé " +"correspondante sur le serveur de clés." + +#. (itstool) path: page/title +#: C/pgp-sync.page:25 +msgid "Synchronize your keys" +msgstr "Synchronisation des clés" + +#. (itstool) path: page/p +#: C/pgp-sync.page:27 +msgid "" +"PGP keys in your keyring have to be synchronized with a key server to ensure " +"that any changes made to the key on the key server, like a new signature, " +"are updated in your local copy of the key. Similarly, when you change " +"information on your local key copy, like the expiration date, or when you " +"sign someone's key, you should synchronize the keys to update the changes on " +"the remote copy of the key. You need a working Internet connection to " +"synchronize your keys." +msgstr "" +"Les clés PGP des trousseaux doivent être synchronisées avec un serveur de " +"clés pour être certain que tout changement effectué sur le serveur, comme " +"une nouvelle signature, est répercuté sur la copie locale de la clé. De " +"même, si vous modifiez des informations dans votre copie locale de la clé, " +"comme la date d’expiration, ou si vous signez la clé de quelqu’un, vous " +"devez synchroniser les clés afin de mettre à jour les modifications sur la " +"clé distante. Une connexion Internet est nécessaire pour pouvoir " +"synchroniser les clés." + +# Ajout du caractère « : » dans la traduction, afin d’uniformiser avec les différentes rubriques. +#. (itstool) path: steps/title +#: C/pgp-sync.page:36 +msgid "How do I synchronize a key?" +msgstr "Synchronisation d’une clé :" + +#. (itstool) path: item/p +#: C/pgp-sync.page:38 +msgid "Select the PGP key you wish to synchronize." +msgstr "Sélectionnez la clé PGP que vous voulez synchroniser." + +#. (itstool) path: item/p +#: C/pgp-sync.page:47 +msgid "" +"Click the Sync button to synchronize your key." +msgstr "" +"Cliquez sur le bouton Synchroniser pour " +"synchroniser la clé." + +#. (itstool) path: note/title +#: C/pgp-sync.page:53 +msgid "Why is the Sync button not clickable?" +msgstr "" +"Impossibilité de cliquer sur le bouton Synchroniser" + +#. (itstool) path: note/p +#: C/pgp-sync.page:55 +#| msgid "" +#| "Only PGP keys that have been published on a key server can be " +#| "synchronized. If the Sync button is not " +#| "clickable, check if the key has been published on a key server. In the " +#| "case of synchronizing your own keys, publish them, before synchronizing " +#| "them." +msgid "" +"Only PGP keys that have been published on a key server can be synchronized. " +"If the Sync button is not clickable, check if " +"the key has been published on a key server. In the case of synchronizing " +"your own keys, publish them before " +"synchronizing them." +msgstr "" +"Seules les clés publiées sur un serveur de clés peuvent être synchronisées. " +"S’il est impossible de cliquer sur le bouton Synchroniser, vérifiez si la clé a bien été publiée sur un serveur. " +"Dans le cas de la synchronisation de vos propres clés, publiez-les avant de les synchroniser." + +#. (itstool) path: info/desc +#: C/pgp-userid-add.page:20 +msgid "" +"Having many user IDs helps you to use the same key to communicate with " +"different people." +msgstr "" +"Le fait de posséder plusieurs identifiants utilisateur facilite l’usage de " +"la même clé pour communiquer avec différentes personnes." + +#. (itstool) path: page/title +#: C/pgp-userid-add.page:24 +msgid "Add extra user IDs to a key" +msgstr "Ajout d’autres identifiants utilisateur à une clé" + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:26 +msgid "" +"A key can have multiple user IDs. This is helpful when you want to use the " +"same key while communicating with several people and one of them does not " +"recognize, say, the email address in your user ID. This person may not want " +"to import your public key since it contains information that they do not " +"know. In such scenarios, if you do not want to create a new key with a " +"different user ID, you can attach a new user ID to your existing key." +msgstr "" +"Une clé peut disposer de plusieurs identifiants utilisateur. C’est utile si " +"vous désirez vous servir de la même clé lors de la communication avec " +"plusieurs personnes et que l’une d’entre elles ne reconnaît pas, disons, " +"l’adresse électronique dans votre identifiant. Cette personne peut ne pas " +"vouloir importer votre clé publique puisqu’elle contient une information " +"qu’elle ne connaît pas. Dans ce cas, si vous ne souhaitez pas créer une " +"nouvelle clé avec un autre identifiant, vous pouvez joindre un nouvel " +"identifiant utilisateur à la clé existante." + +#. (itstool) path: steps/title +#: C/pgp-userid-add.page:34 +msgid "To add an extra user ID:" +msgstr "Ajout d’un autre identifiant utilisateur :" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:39 +msgid "From the list, select the Personal PGP key of your choice." +msgstr "" +"Dans la liste, sélectionnez la clé personnelle PGP de votre choix." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:43 +msgid "" +"Right click on the key and select Properties Names " +"and Signatures." +msgstr "" +"Faites un clic droit sur la clé sélectionnée et choisissez " +"Propriétés Noms et signatures." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:47 +msgid "" +"Click the Add Name button to add a new user ID." +msgstr "" +"Cliquez sur le bouton Ajouter nom pour ajouter " +"un nouvel identifiant utilisateur." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:51 +msgid "" +"In the new dialog, fill in details like Full Name, Email " +"Address and Key Comment for the new user ID." +msgstr "" +"Dans la nouvelle boîte de dialogue, remplissez les données Nom complet, Adresse électronique et Commentaire de la clé " +"pour le nouvel identifiant." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:56 +msgid "" +"Enter the correct passphrase and click OK to " +"finish." +msgstr "" +"Saisissez la bonne phrase de passe et cliquez sur Valider pour terminer." + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:61 +msgid "" +"Your new user ID will now be listed under the Names and Signatures panel." +msgstr "" +"Le nouvel identifiant utilisateur figure maintenant dans la liste, sous le " +"panneau Noms et signatures." + +#. (itstool) path: note/p +#: C/pgp-userid-add.page:65 +msgid "" +"If your key has been published on a key server, synchronize it after adding new user IDs to update the remote copy " +"of the key." +msgstr "" +"Si la clé a été publiée sur un serveur, synchronisez-" +"la après y avoir ajouté de nouveaux identifiants utilisateur afin de " +"mettre à jour la copie distante de la clé." + +# Point final justifié dans la traduction. +#. (itstool) path: info/desc +#: C/pgp-userid-primary.page:19 +msgid "Change your default user ID" +msgstr "Modifier votre identifiant utilisateur par défaut" + +#. (itstool) path: page/title +#: C/pgp-userid-primary.page:22 +msgid "What is a primary user ID?" +msgstr "Définition de la notion d’utilisateur principal" + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:24 +msgid "" +"When you have multiple user IDs, one of the user IDs is made the primary " +"user ID. Passwords and Keys will attach the primary user ID by " +"default with your key information, while encrypting or signing, unless you " +"explicitly choose another user ID instead." +msgstr "" +"Si vous avez plusieurs identifiants utilisateur, l’un d’eux est " +"l’identifiant principal. Mots de passe et clés joint " +"l’identifiant principal par défaut aux informations de la clé, lors du " +"chiffrement ou de la signature, à moins que vous ne choisissiez " +"explicitement un autre identifiant." + +#. (itstool) path: steps/title +#: C/pgp-userid-primary.page:30 +msgid "To change the primary user ID in a PGP key:" +msgstr "Changement d’identifiant utilisateur principal dans une clé PGP :" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:35 C/pgp-userid-remove.page:34 +#: C/subkeys-add.page:34 +msgid "Select the Personal PGP key from the list." +msgstr "Sélectionnez la Clé PGP personnelle dans la liste." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:38 +msgid "" +"Right click on the selected key and select Properties " +"Names and Signatures." +msgstr "" +"Faites un clic droit sur la clé choisie et sélectionnez " +"Propriétés Nom et signatures." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:43 +msgid "" +"Select the new primary user ID from the list and click Primary." +msgstr "" +"Sélectionnez le nouvel identifiant principal dans la liste et cliquez sur " +"Principale." + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:48 +msgid "" +"The user ID will move to the top of the Names and Signatures list " +"to become your primary user ID." +msgstr "" +"L’identifiant utilisateur se déplace en haut de la liste Noms et " +"signatures et devient ainsi l’identifiant utilisateur principal." + +#. (itstool) path: note/p +#: C/pgp-userid-primary.page:52 +msgid "" +"Sync your keys after changing your primary user ID to update the remote " +"copies of your key." +msgstr "" +"Synchronisez vos clés après avoir changé d’identifiant utilisateur principal " +"afin de mettre à jour les copies locales de la clé." + +#. (itstool) path: info/desc +#: C/pgp-userid-remove.page:20 +msgid "Remove extra user IDs" +msgstr "Supprimer les identifiants utilisateur supplémentaires." + +#. (itstool) path: page/title +#: C/pgp-userid-remove.page:23 +msgid "Detach a user ID from a key" +msgstr "Détachement de l’identifiant utilisateur d’une clé" + +#. (itstool) path: page/p +#: C/pgp-userid-remove.page:25 +msgid "" +"While it is essential that all keys have at least one user ID, you can " +"remove any additional user IDs that you have attached to the key." +msgstr "" +"Alors qu’il est essentiel qu’une clé possède au moins un identifiant " +"utilisateur, il est possible de supprimer tous les identifiants " +"supplémentaires joints à la clé." + +#. (itstool) path: steps/title +#: C/pgp-userid-remove.page:29 +msgid "To remove a user ID from a PGP key:" +msgstr "Suppression d’un identifiant utilisateur d’une clé PGP :" + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:37 +msgid "" +"Right click on the selected key and choose Properties " +"Names and Signatures." +msgstr "" +"Faites un clic droit sur la clé choisie et sélectionnez " +"Propriétés Noms et signatures." + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:42 +msgid "" +"Select the user ID you want to remove and click Delete." +msgstr "" +"Sélectionnez l’identifiant utilisateur que vous voulez supprimer et cliquez " +"sur le bouton Supprimer." + +#. (itstool) path: note/p +#: C/pgp-userid-remove.page:48 +msgid "" +"Synchronize your keys after detaching the " +"user ID to update the changes on the remote copy of the key." +msgstr "" +"Synchronisez vos clés après avoir détaché " +"l’identifiant utilisateur afin de mettre à jour la copie distante de la clé." + +#. (itstool) path: info/desc +#: C/pgp-userid.page:19 +msgid "Create keys with good user IDs and learn to add and remove user IDs." +msgstr "" +"Créer des clés avec de bons identifiants utilisateurs et apprendre à " +"supprimer des identifiants utilisateurs." + +#. (itstool) path: page/title +#: C/pgp-userid.page:23 +msgid "What is a user ID?" +msgstr "Définition de la notion d’identifiant utilisateur" + +#. (itstool) path: page/p +#: C/pgp-userid.page:25 +msgid "" +"When you create a key, you provide details, like your name, email and a key " +"description. This information together constitutes a user ID. A good user ID " +"helps people to recognize your key when they are trying to retrieve or import " +"it. It is important to fill in authentic information while creating your " +"user ID." +msgstr "" +"Quand vous créez une clé, vous fournissez des détails, comme votre nom, " +"votre adresse électronique et une description de la clé. Ces informations " +"font partie de l’identifiant utilisateur. Un bon identifiant aide les " +"personnes à reconnaître votre clé quand elles cherchent à la récupérer ou à l’importer. Il est important de donner des informations véridiques " +"quand vous créez votre identifiant utilisateur." + +#. (itstool) path: section/title +#: C/pgp-userid.page:33 +msgid "Add, remove user IDs" +msgstr "Ajout, suppression d’identifiants utilisateur" + +#. (itstool) path: info/desc +#: C/ssh-connect-remote.page:23 +msgid "Use SSH keys to log in to another computer without entering a password." +msgstr "" +"Utiliser des clés SSH pour se connecter à un autre ordinateur sans avoir " +"besoin de saisir un mot de passe." + +#. (itstool) path: page/title +#: C/ssh-connect-remote.page:27 +msgid "Connect to other computers" +msgstr "Connexion à d’autres ordinateurs" + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:29 +msgid "" +"You can use Passwords and Keys to install your SSH key onto a " +"remote computer that can run an SSH server. You can also set up your SSH key for remote login " +"while creating the key." +msgstr "" +"Vous pouvez utiliser Mots de passe et clés pour installer votre " +"clé SSH sur un ordinateur distant qui peut exécuter un serveur SSH. Vous " +"pouvez aussi configurer " +"votre clé SSH pour la connexion distante lors de la création de la clé." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:36 +msgid "" +"Right click on the SSH key and select Configure Key for " +"Secure Shell…." +msgstr "" +"Faites un clic droit sur la clé SSH et sélectionnez " +"Configurer la clé pour un shell sécurisé." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:40 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH, and press " +"Set Up." +msgstr "" +"Dans la fenêtre de dialogue qui s’ouvre, saisissez l’adresse du " +"serveur que vous utilisez habituellement pour vous connecter à " +"l’ordinateur distant via SSH, et cliquez sur Configurer." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:45 C/ssh-create.page:106 +msgid "" +"The program will now attempt to connect to the specified Server " +"address with the entered Login Name. If there are any " +"problems in accessing the remote computer, a pop-up window will appear that " +"explains the problem, and you can try again. Make sure that you have a " +"network connection and that the remote computer is on and accessible." +msgstr "" +"Le programme tente alors de se connecter à l’adresse du serveur " +"spécifiée avec l’identifiant de connexion saisi. Si un problème " +"survient lors de la connexion à l’ordinateur distant, une fenêtre " +"d’avertissement vous expose le problème, et vous pouvez recommencer. Assurez-" +"vous que vous êtes bien connecté au réseau et que l’ordinateur distant est " +"actif et accessible." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:53 C/ssh-create.page:114 +msgid "" +"If connection to the remote computer was successful, a dialog box will " +"appear which asks for the Password you use to log in to the " +"remote computer. Enter your password, then press OK." +msgstr "" +"Si la connexion à l’ordinateur distant réussit, une boîte de dialogue " +"s’affiche, vous demandant le mot de passe que vous utilisez pour " +"la connexion à cet ordinateur. Saisissez le mot de passe, et cliquez sur " +"Valider." + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:60 +msgid "" +"You should now be able to log in to the remote computer via SSH without a " +"password." +msgstr "" +"Vous devriez être maintenant capable de vous connecter à l’ordinateur " +"distant sans mot de passe." + +#. (itstool) path: info/desc +#: C/ssh-create.page:31 +msgid "Create SSH keys to log in to other computers." +msgstr "Créer des clés SSH pour se connecter à d’autres ordinateurs." + +#. (itstool) path: page/title +#: C/ssh-create.page:34 +msgid "Create a new SSH key" +msgstr "Création d’une nouvelle clé SSH" + +#. (itstool) path: page/p +#: C/ssh-create.page:36 +msgid "" +"An SSH key will help you to create a secure connection between computers. " +"Creating an SSH key creates both a Public and a Private " +"key. Here is how to create a new key:" +msgstr "" +"Une clé SSH vous aide à créer une connexion sécurisée entre ordinateurs. La " +"création d’une clé SSH génère une clé publique et une clé " +"privée. Voici comment créer une nouvelle clé :" + +#. (itstool) path: item/p +#: C/ssh-create.page:42 +msgid "Select Secure Shell Key from the list." +msgstr "Sélectionnez Clé du shell sécurisé dans la liste." + +#. (itstool) path: item/p +#: C/ssh-create.page:43 +msgid "" +"Enter a description for the key. The key description will help you to " +"identify the key later. For example, you could enter the date for the day, " +"something about how the key will be used, or the server name on which you " +"intend to install the key. The description field is optional, and how you " +"describe the key is entirely up to you." +msgstr "" +"Saisissez une description de la clé. Cette description vous aidera à " +"identifier la clé ultérieurement. Vous pouvez, par exemple, saisir la date " +"du jour, quelques mots sur le rôle de la clé, ou le nom du serveur sur " +"lequel vous avez l’intention d’installer la clé. Ce champ de description est " +"facultatif, et la façon de décrire la clé ne tient qu’à vous." + +#. (itstool) path: item/p +#: C/ssh-create.page:48 +msgid "" +"You can also change default settings for encryption type or key strength." +msgstr "" +"Vous pouvez également modifier les paramètres par défaut concernant le type " +"de chiffrement ou la force de la clé." + +#. (itstool) path: page/p +#: C/ssh-create.page:52 +msgid "" +"At this point, you can just create your key, or create your key and install " +"it on a remote computer to enable password-free login." +msgstr "" +"À ce stade, vous pouvez ne créer que la clé, ou bien créer la clé et " +"l’installer sur un ordinateur distant pour autoriser la connexion sans mot " +"de passe." + +#. (itstool) path: section/title +#: C/ssh-create.page:56 +msgid "Create your key and do not set up remote login" +msgstr "Création de la clé sans configuration de la connexion distante" + +#. (itstool) path: section/p +#: C/ssh-create.page:57 +msgid "You can create the SSH key, and choose to set it up later." +msgstr "Vous pouvez créer la clé SSH, et choisir de la configurer plus tard." + +#. (itstool) path: item/p +#: C/ssh-create.page:61 +msgid "Press the Just Create Key button." +msgstr "" +"Cliquez sur le bouton Créer seulement la clé." + +#. (itstool) path: item/p +#: C/ssh-create.page:64 +msgid "" +"Type a passphrase for your SSH key and press OK." +msgstr "" +"Saisissez une phrase de passe pour la clé SSH et cliquez sur Valider." + +#. (itstool) path: item/p +#: C/ssh-create.page:68 +msgid "" +"Retype the passphrase and press OK to finish." +msgstr "" +"Saisissez à nouveau la phrase de passe et cliquez sur Valider." + +#. (itstool) path: section/p +#: C/ssh-create.page:73 +msgid "The SSH key will now be listed in the OpenSSH keys keyring." +msgstr "" +"La clé SSH figure maintenant dans le trousseau Clés OpenSSH." + +#. (itstool) path: note/p +#: C/ssh-create.page:77 +msgid "" +"When you try to use your SSH key, your operating system will prompt you for " +"the passphrase used during creation. This ensures that if someone gets " +"access to your SSH key, they can't use it without the passphrase." +msgstr "" +"Quand vous tentez d’utiliser la clé SSH, le système d’exploitation vous " +"demande la phrase de passe produite lors de la création. Cela garantit que " +"si quelqu’un prend possession de votre clé SSH, il ne pourra pas l’utiliser " +"sans la phrase de passe." + +#. (itstool) path: section/title +#: C/ssh-create.page:86 +msgid "Create your key and install it on a remote computer" +msgstr "Création de la clé et installation sur un ordinateur distant" + +#. (itstool) path: section/p +#: C/ssh-create.page:87 +msgid "" +"One of the most useful things about having an SSH key is that you can " +"install the public key on a remote computer. Doing this allows you to log in " +"to a remote computer with SSH without needing to enter your password every " +"time." +msgstr "" +"Un des plus gros avantages à posséder une clé SSH est la possibilité " +"d’installer la clé publique sur un ordinateur distant. Cela vous permet de " +"vous connecter à un ordinateur distant sans avoir besoin de saisir un mot de " +"passe à chaque fois." + +#. (itstool) path: item/p +#: C/ssh-create.page:94 +msgid "" +"Press the Create and Set Up button, and follow " +"the above instructions on entering a passphrase." +msgstr "" +"Cliquez sur le bouton Créer et configurer, et " +"suivre les instructions ci-dessus pour saisir une phrase de passe." + +#. (itstool) path: item/p +#: C/ssh-create.page:98 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH." +msgstr "" +"Dans la fenêtre de dialogue qui s’ouvre, saisissez l’adresse du " +"serveur que vous utilisez habituellement pour vous connecter à " +"l’ordinateur distant via SSH." + +#. (itstool) path: item/p +#: C/ssh-create.page:102 +msgid "" +"Ensure that the Login name you use on the remote computer is " +"correct, and press Set Up." +msgstr "" +"Assurez-vous que l’identifiant de connexion que vous utilisez sur " +"l’ordinateur distant est correct, et cliquez sur Configurer." + +#. (itstool) path: section/p +#: C/ssh-create.page:121 +msgid "" +"The public part of the selected SSH key will now be installed on the remote " +"computer and configured to allow password-free SSH login. You should now be " +"able to log in to the remote computer via SSH without a password." +msgstr "" +"La partie publique de la clé SSH sélectionnée est installée sur l’ordinateur " +"distant et configurée pour autoriser une connexion sans mot de passe. Vous " +"devriez pouvoir maintenant vous connecter à l’ordinateur distant via SSH " +"sans mot de passe." + +#. (itstool) path: note/p +#: C/ssh-create.page:127 +msgid "" +"If SSH key authentication fails and you cannot use password authentication, " +"contact the service administrator for further help." +msgstr "" +"Si l’authentification par clé SSH échoue et vous ne pouvez utiliser " +"l’authentification par mot de passe, demandez de l’aide à l’administrateur " +"du service." + +#. (itstool) path: info/desc +#: C/ssh-export.page:20 +msgid "Export your public and private SSH keys to store them in keyfiles." +msgstr "" +"Exporter vos clés SSH publiques et privées pour les enregistrer dans des " +"fichiers de clés." + +#. (itstool) path: page/title +#: C/ssh-export.page:24 +msgid "Export SSH keys" +msgstr "Exportation des clés SSH" + +#. (itstool) path: page/p +#: C/ssh-export.page:26 +msgid "" +"Export the contents of your SSH keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Exportez le contenu de vos clés SSH et enregistrez-les dans des fichiers de " +"clés, de façon à posséder une sauvegarde des clés ou à partager la clé " +"publique avec quelqu’un." + +#. (itstool) path: section/title +#: C/ssh-export.page:30 +msgid "To export your public SSH key:" +msgstr "Exportation de la clé publique SSH :" + +#. (itstool) path: item/p +#: C/ssh-export.page:34 C/ssh-export.page:57 +msgid "Select the OpenSSH keys keyring from the left side panel." +msgstr "" +"Sélectionnez le trousseau Clés OpenSSH dans le panneau de gauche." + +#. (itstool) path: item/p +#: C/ssh-export.page:38 C/ssh-export.page:61 +msgid "" +"Select the Personal SSH key, that has to be exported, from the " +"list." +msgstr "" +"Sélectionnez, dans la liste, la Clé SSH personnelle qui doit être " +"exportée." + +#. (itstool) path: item/p +#: C/ssh-export.page:45 +msgid "" +"Press the Export button to save the exported " +"public key on your computer." +msgstr "" +"Cliquez sur le bouton Exporter pour enregistrer " +"la clé publique exportée sur votre ordinateur." + +#. (itstool) path: section/title +#: C/ssh-export.page:53 +msgid "To export your private SSH key:" +msgstr "Exportation de votre clé privée SSH :" + +#. (itstool) path: item/p +#: C/ssh-export.page:65 +msgid "" +"Right click on the selected key and select Properties." +msgstr "" +"Faites un clic droit sur la clé sélectionnée, puis choisissez Propriétés." + +#. (itstool) path: item/p +#: C/ssh-export.page:69 +msgid "" +"Press the Export button to save the exported " +"private key on your computer." +msgstr "" +"Cliquez sur le bouton Exporter pour enregistrer " +"la clé privée exportée sur votre ordinateur." + +#. (itstool) path: note/p +#: C/ssh-export.page:75 +msgid "" +"Keep the exported private key file in a safe location, since the contents of " +"the file must be kept private, to prevent misuse of your key." +msgstr "" +"Conservez le fichier de clé privée exportée dans un endroit sûr, car le " +"contenu du fichier doit rester privé pour éviter un usage malveillant de " +"votre clé." + +#. (itstool) path: info/desc +#: C/ssh-import.page:25 +msgid "Import SSH keys from keyfiles into Passwords and Keys." +msgstr "" +"Importer des clés SSH à partir de fichiers de clés dans Mots de passe " +"et clés." + +#. (itstool) path: page/title +#: C/ssh-import.page:28 +msgid "Import SSH keys" +msgstr "Importation de clés SSH" + +#. (itstool) path: page/p +#: C/ssh-import.page:30 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports SSH keys from the ~/.ssh directory on " +"your computer. You can also manually import keys into Passwords and " +"Keys." +msgstr "" +"Si vous avez reçu un fichier de clé par courriel, vous aurez certainement " +"envie de l’importer dans Mots de passe et clés. Dans la plupart " +"des cas, Mots de passe et clés importe automatiquement les clés " +"SSH depuis le répertoire ~/.ssh de votre ordinateur, mais vous " +"pouvez aussi importer manuellement des clés." + +#. (itstool) path: item/p +#: C/ssh-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. Public SSH keys end " +"with .pub." +msgstr "" +"Dans la nouvelle boîte de dialogue, sélectionnez la clé que vous désirez " +"importer. Les clés SSH se terminent par .pub." + +#. (itstool) path: page/p +#: C/ssh-import.page:53 +msgid "" +"Imported keys are automatically grouped according to their type. So, " +"SSH keys are listed in the OpenSSH keys section." +msgstr "" +"Les clés importées sont automatiquement regroupées par type. Ainsi, les clés " +"SSH figurent dans la liste de la section Clés OpenSSH." + +#. (itstool) path: info/desc +#: C/subkeys-add.page:20 +msgid "Additional subkeys make your master key more secure." +msgstr "Des sous-clés rendent votre clé maîtresse plus sûre." + +#. (itstool) path: page/title +#: C/subkeys-add.page:23 +msgid "Add extra subkeys" +msgstr "Ajout de sous-clés" + +#. (itstool) path: page/p +#: C/subkeys-add.page:25 +msgid "" +"You can add extra subkeys to the same master key. You have to choose the " +"right subkey each time you want to encrypt or sign when you do this." +msgstr "" +"Vous pouvez ajouter des sous-clés à la même clé maîtresse. En agissant " +"ainsi, vous devrez choisir la bonne sous-clé chaque fois que vous voudrez " +"chiffrer ou signer." + +#. (itstool) path: steps/title +#: C/subkeys-add.page:29 +msgid "To add extra subkeys to a PGP key:" +msgstr "Ajout de sous-clés à une clé PGP :" + +#. (itstool) path: item/p +#: C/subkeys-add.page:41 C/subkeys-examine.page:41 +msgid "If the Subkeys panel is not expanded, expand it." +msgstr "Si le panneau Sous-clés n’est pas développé, développez-le." + +#. (itstool) path: item/p +#: C/subkeys-add.page:44 +msgid "Click the Add button to add a new subkey." +msgstr "" +"Cliquez sur le bouton Ajouter pour ajouter une " +"nouvelle sous-clé." + +#. (itstool) path: item/p +#: C/subkeys-add.page:48 +msgid "" +"Choose the right properties for your key by selecting the appropriate " +"Key Type, Key Length and Expiration Date " +"and click OK." +msgstr "" +"Choisissez des propriétés adaptées à votre clé en sélectionnant le Type " +"de clé, la Longueur de clé et la Date d’expiration, puis cliquez sur Valider." + +#. (itstool) path: note/p +#: C/subkeys-add.page:55 +msgid "" +"Always ensure that your subkey expires before your master key since a subkey " +"is useless when its master key has expired." +msgstr "" +"Assurez-vous toujours que votre sous-clé expire avant votre clé maîtresse " +"puisqu’une sous-clé est inutile sans sa clé maîtresse." + +#. (itstool) path: info/desc +#: C/subkeys-examine.page:20 +msgid "See all the subkeys listed under a PGP key." +msgstr "Voir toutes les sous-clés affichées dans la liste sous une clé PGP." + +#. (itstool) path: page/title +#: C/subkeys-examine.page:23 +msgid "Where are my subkeys listed?" +msgstr "Localisation de la liste des sous-clés" + +#. (itstool) path: page/p +#: C/subkeys-examine.page:25 +msgid "" +"You can check the contents of a keypair to see the properties of a subkey." +msgstr "" +"Vous pouvez examiner le contenu d’une paire de clés pour voir les propriétés " +"d’une sous-clé." + +#. (itstool) path: steps/title +#: C/subkeys-examine.page:29 +msgid "To see all the subkeys in a PGP key:" +msgstr "Affichage des sous-clés d’une clé PGP :" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:31 +msgid "Select the GnuPG keys from the left side panel." +msgstr "Sélectionnez Clés GnuPG dans le panneau de gauche." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:34 +msgid "Select the Personal PGP key." +msgstr "Sélectionnez la Clé PGP personnelle." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:37 +msgid "" +"Right click on the key chosen in the previous step and select " +"PropertiesDetails." +msgstr "" +"Faites un clic droit sur la clé choisie à l’étape précédente et sélectionnez " +"PropriétésDétails." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:44 +msgid "All the subkeys for the selected PGP key will be listed in the panel." +msgstr "" +"Toutes les sous-clés de la clé PGP sélectionnée figurent dans la liste du " +"panneau." + +#. (itstool) path: note/p +#: C/subkeys-examine.page:50 +msgid "" +"While signing another key, Passwords and Keys automatically " +"chooses the master key for signing, when you select a GnuPG keys " +"keypair to sign with." +msgstr "" +"Lors de la signature d’une autre clé, Mots de passe et clés " +"choisit automatiquement la clé maîtresse pour la signature, si vous " +"sélectionnez Clés GnuPG." + +#. (itstool) path: info/desc +#: C/subkeys-revoke.page:20 +msgid "Revoke a subkey that has been compromised or is not being used." +msgstr "Révoquer une sous-clé compromise ou inutilisée." + +#. (itstool) path: page/title +#: C/subkeys-revoke.page:24 +msgid "Revoke your subkeys" +msgstr "Révocation des sous-clés" + +#. (itstool) path: page/p +#: C/subkeys-revoke.page:26 +msgid "" +"If your subkey has been compromised or is no longer in use, it might be a " +"good idea to revoke it to prevent misuse of the key." +msgstr "" +"Si votre sous-clé est compromise ou inutilisée, il est judicieux de la " +"révoquer pour éviter qu’elle ne soit utilisée de façon malveillante." + +#. (itstool) path: steps/title +#: C/subkeys-revoke.page:30 +msgid "To revoke a subkey:" +msgstr "Révocation d’une sous-clé :" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:32 +msgid "" +"Navigate to the Subkeys " +"panel." +msgstr "" +"Naviguez vers le panneau des Sous-" +"clés." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:47 +msgid "" +"Select the subkey from the list and press the Revoke button." +msgstr "" +"Sélectionnez la sous-clé dans la liste et cliquez sur le bouton Révoquer." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:51 +msgid "" +"In the new dialog, select a reason for revoking the key. Optionally, " +"describe your reason in more detail in the Description field." +msgstr "" +"Dans la nouvelle boîte de dialogue, sélectionnez une raison de révoquer la " +"sous-clé. Facultativement, décrivez la raison plus en détails dans le champ " +"Description." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:56 +msgid "Press the Revoke button." +msgstr "Cliquez sur le bouton Révoquer." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:59 +msgid "You will have to unlock the key with its passphrase." +msgstr "Il vous faudra déverrouiller la clé avec sa phrase de passe." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:62 +msgid "" +"The Status of the subkey changes to Revoked in the " +"Subkeys panel." +msgstr "" +"L’État de la sous-clé devient Révoquée dans le panneau " +"des Sous-clés." + +#. (itstool) path: note/p +#: C/subkeys-revoke.page:68 +msgid "" +"If you have published your subkey, you " +"must synchronize it with the key servers " +"after revoking it to apply the revocation on all copies of the key." +msgstr "" +"Si vous avez publié la sous-clé, vous " +"devez la synchroniser avec les serveurs de " +"clés après révocation pour appliquer la révocation à toutes les copies de la " +"clé." + +#~ msgid "" +#~ "Press the menu button in the top-right corner of the window and select " +#~ "Preferences." +#~ msgstr "" +#~ "Cliquez sur le bouton de menu situé dans le coin supérieur droit de la " +#~ "fenêtre et sélectionnez Préférences." + +#~ msgid "" +#~ "Press the menu button in the top-right corner of the window and select " +#~ "Sync and Publish Keys…." +#~ msgstr "" +#~ "Cliquez sur le bouton de menu situé dans le coin supérieur droit de la " +#~ "fenêtre et sélectionnez Synchroniser et publier " +#~ "des clés…." + +# ATTENTION : pas de point final, car la phrase se termine par des points de suspension. +#~ msgid "" +#~ "Press the menu button in the top-right corner of the window and select " +#~ "Find Remote Keys…." +#~ msgstr "" +#~ "Cliquez sur le bouton de menu situé dans le coin supérieur droit de la " +#~ "fenêtre et sélectionnez Chercher des clés " +#~ "distantes…." + +#~ msgid "hkp://pool.sks-keyservers.net" +#~ msgstr "hkp://pool.sks-keyservers.net" + +# Point final justifié dans la traduction. +#~ msgid "" +#~ "Select Edit Preferences" +#~ msgstr "" +#~ "Sélectionnez Édition Préférences." + +#~ msgid "" +#~ "Select View By " +#~ "keyring." +#~ msgstr "" +#~ "Sélectionnez Affichage Par trousseau." + +#~ msgid "" +#~ "Expand the Passwords panel, if necessary, and tick the Show password checkbox to view the password." +#~ msgstr "" +#~ "Développez le panneau Mots de passe si nécessaire, et cochez " +#~ "la case Afficher le mot de passe." + +#~ msgid "" +#~ "Select the key. (You may need to show all keys, with ViewShow any )" +#~ msgstr "" +#~ "Sélectionnez la clé. (Il vous faudra peut-être passer par AffichageTout voir pour toutes les voir)" + +#~ msgid "" +#~ "Right click, and choose Delete. Alternatively you can also " +#~ "select Edit Delete to delete the key." +#~ msgstr "" +#~ "Faites un clic droit et choisissez Supprimer dans le menu " +#~ "contextuel. Vous pouvez aussi sélectionner Édition Supprimer." + +# ATTENTION : pas de point final, car la phrase se termine par des points de suspension. +#~ msgid "" +#~ "Select Remote Find Remote Keys…." +#~ msgstr "" +#~ "Sélectionnez Distant Chercher des clés distantes…" + +#~ msgid "" +#~ "If you cannot see the retrieved key, please select ViewShow any." +#~ msgstr "" +#~ "Si la clé récupérée n’est pas visible, activez l’option " +#~ "AffichageTout voir." diff --git a/help/hu/hu.po b/help/hu/hu.po new file mode 100644 index 00000000..b20a2f89 --- /dev/null +++ b/help/hu/hu.po @@ -0,0 +1,3281 @@ +# Hungarian translation for seahorse help. +# Copyright (C) 2014, 2016, 2018, 2019 Free Software Foundation, Inc. +# This file is distributed under the same license as the user help. +# +# Tibor Attila Anca , 2014. +# Gabor Kelemen , 2014, 2016, 2019. +# Balázs Úr , 2019. +msgid "" +msgstr "" +"Project-Id-Version: seahorse-help.master\n" +"POT-Creation-Date: 2019-06-15 10:35+0000\n" +"PO-Revision-Date: 2019-09-03 12:04+0100\n" +"Last-Translator: Gabor Kelemen \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 2.0\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "" +"Anca Tibor Attila , 2014.\n" +"Kelemen Gábor , 2014, 2016.\n" +"Úr Balázs , 2019." + +#. (itstool) path: credit/name +#: C/about-diff-private-public.page:14 C/about-ssh.page:13 C/concepts.page:14 +#: C/index.page:13 C/introduction.page:15 C/keyring-create.page:26 +#: C/keyring.page:15 C/pgp-create.page:16 C/pgp-import.page:21 +#: C/ssh-connect-remote.page:14 C/ssh-create.page:16 C/ssh-import.page:20 +msgid "Jim Campbell" +msgstr "Jim Campbell" + +#. (itstool) path: credit/years +#: C/about-diff-private-public.page:16 C/about-pgp.page:17 C/about-ssh.page:15 +#: C/glossary.page:17 C/index.page:15 C/index.page:20 C/index.page:25 +#: C/introduction.page:17 C/introduction.page:23 C/key-servers-add.page:18 +#: C/keyring-change-default.page:16 C/keyring-create.page:18 +#: C/keyring-create.page:23 C/keyring-lock.page:17 C/keyring-unlock.page:17 +#: C/keyring-update-password.page:17 C/keyring.page:17 C/keyring.page:22 +#: C/keyring.page:27 C/misc-key-backup.page:17 C/misc-key-fingerprint.page:16 +#: C/passwords-stored-create.page:16 C/passwords-view.page:17 +#: C/pgp-create.page:18 C/pgp-create.page:24 C/pgp-delete.page:17 +#: C/pgp-expiration-change.page:16 C/pgp-expired.page:17 C/pgp-export.page:16 +#: C/pgp-import.page:18 C/pgp-import.page:23 C/pgp-photoid.page:17 +#: C/pgp-publish.page:17 C/pgp-retrieve-remote.page:17 C/pgp-sign.page:16 +#: C/pgp-subkeys.page:16 C/pgp-sync.page:17 C/pgp-userid-add.page:17 +#: C/pgp-userid-primary.page:16 C/pgp-userid-remove.page:17 +#: C/pgp-userid.page:16 C/ssh-create.page:18 C/ssh-export.page:17 +#: C/ssh-import.page:17 C/ssh-import.page:22 C/subkeys-add.page:17 +#: C/subkeys-examine.page:17 C/subkeys-revoke.page:17 +msgid "2013" +msgstr "2013" + +#. (itstool) path: info/desc +#: C/about-diff-private-public.page:19 +msgid "" +"A public key is used to encrypt communication. A private key is used to " +"decrypt it." +msgstr "" +"A nyilvános kulcs a kommunikáció titkosítására használatos. A személyes " +"kulcs a visszafejtéséhez." + +#. (itstool) path: page/title +#: C/about-diff-private-public.page:23 +msgid "Public Key vs Private Key" +msgstr "Nyilvános és személyes kulcs" + +#. (itstool) path: page/p +#: C/about-diff-private-public.page:25 +msgid "" +"Although Public Keys and Private Keys are both referred to " +"as keys, it helps to think of them a bit differently. Try to think " +"of a Public Key as being like a padlock, and a Private Key " +"as being like a key that unlocks the padlock." +msgstr "" +"Noha a nyilvános kulcsokat és a személyes kulcsokat is " +"kulcsként említjük, érdemes rájuk különbözőképpen tekinteni. " +"Próbálja elképzelni, hogy a nyilvános kulcs a lakat, a " +"személyes kulcs pedig a lakatot nyitó kulcs." + +#. (itstool) path: section/title +#: C/about-diff-private-public.page:31 +msgid "An Example: Sending a Secret Message in a Box" +msgstr "Példa: titkos üzenet küldése egy dobozban" + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:33 +msgid "" +"Let's use an example to see how this works. Imagine that you want your " +"friend to send you a secret message in a box. You could give your friend a " +"box and a padlock, but only you would have the key that unlocks the padlock." +msgstr "" +"A folyamat egy példán keresztül könnyebben megérthető. Tegyük fel, hogy egy " +"barátja szeretne egy titkos üzenetet küldeni Önnek egy dobozban. Ekkor Ön " +"adna barátjának egy dobozt és egy lakatot, de a lakatot nyitó kulcs csak " +"Önnek lenne meg." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:38 +msgid "" +"Your friend could put their message in the box, lock the padlock, and then " +"send you the locked box in the mail. When you receive it, you would use your " +"key to unlock the box." +msgstr "" +"A barátja beteheti üzenetét a dobozba, rázárhatja a lakatot, majd elküldheti " +"postán a lezárt dobozt. Amikor megkapja, a kulcs segítségével kinyithatja a " +"dobozt." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:42 +msgid "" +"This is similar to how a Public Key and a Private Key " +"work. Like the padlock, you can freely give out your Public Key. " +"This will make it easy for anyone to securely encrypt, or lock, a message " +"that they want to send to you." +msgstr "" +"Ez hasonló a nyilvános kulcs és a személyes kulcs " +"működéséhez. A lakathoz hasonlóan a nyilvános kulcsát szabadon " +"kiadhatja. Ez egyszerűvé teszi másoknak egy Önnek küldeni kívánt üzenet " +"biztonságos titkosítását vagy „lelakatolását”." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:47 +msgid "" +"On the other hand, a Private Key is like the key that allows you to " +"decrypt, or unlock, the padlock. Because the Private Key is used to " +"decrypt secure messages, you will want to keep your Private Key " +"safe." +msgstr "" +"Másrészt a személyes kulcs egy olyanfajta kulcs, amely lehetővé " +"teszi a visszafejtést, avagy a lakat kinyitását. Mivel a személyes " +"kulcs biztonságos üzenetek visszafejtésére használható, érdemes a " +"személyes kulcsot biztonságos helyen tárolni." + +#. (itstool) path: credit/name +#: C/about-pgp.page:15 C/glossary.page:15 C/index.page:18 +#: C/introduction.page:21 C/key-servers-add.page:16 +#: C/keyring-change-default.page:14 C/keyring-create.page:16 +#: C/keyring-lock.page:15 C/keyring-unlock.page:15 +#: C/keyring-update-password.page:15 C/keyring.page:20 +#: C/misc-key-backup.page:15 C/misc-key-fingerprint.page:14 +#: C/passwords-stored-create.page:14 C/passwords-view.page:15 +#: C/pgp-create.page:22 C/pgp-delete.page:15 C/pgp-expiration-change.page:14 +#: C/pgp-expired.page:15 C/pgp-export.page:14 C/pgp-import.page:16 +#: C/pgp-photoid.page:15 C/pgp-sign.page:14 C/pgp-subkeys.page:14 +#: C/pgp-sync.page:15 C/pgp-userid-add.page:15 C/pgp-userid-primary.page:14 +#: C/pgp-userid-remove.page:15 C/pgp-userid.page:14 +#: C/ssh-connect-remote.page:19 C/ssh-export.page:15 C/ssh-import.page:15 +#: C/subkeys-add.page:15 C/subkeys-examine.page:15 C/subkeys-revoke.page:15 +msgid "Aruna Sankaranarayanan" +msgstr "Aruna Sankaranarayanan" + +#. (itstool) path: info/desc +#: C/about-pgp.page:20 +msgid "PGP keys are used to sign and encrypt emails and files." +msgstr "" +"A PGP-kulcsok e-mailek és fájlok aláírására és titkosítására használhatók." + +#. (itstool) path: page/title +#: C/about-pgp.page:23 +msgid "What is a PGP key?" +msgstr "Mi az a PGP-kulcs?" + +#. (itstool) path: page/p +#: C/about-pgp.page:25 +msgid "" +"A PGP key is a public encryption key. A PGP key can be used to sign and " +"encrypt emails and files. When you create a PGP key, a keypair having a " +"public key and a private key is generated. You can share the public key with " +"anyone who wishes to send you encrypted messages or files, but the private " +"key must be known only to you and used to decrypt received messages." +msgstr "" +"A PGP-kulcs egy üzenetek és fájlok aláírására és titkosítására használható " +"nyilvános kulcs. A PGP-kulcs létrehozásakor egy nyilvános és egy személyes " +"kulcsból álló kulcspár jön létre. A nyilvános kulcsot bárkivel megoszthatja, " +"aki Önnek aláírt vagy titkosított üzeneteket vagy fájlokat szeretne küldeni. " +"A visszafejtésre használható személyes kulcshoz viszont Önön kívül senkinek " +"sem szabad hozzáférnie." + +#. (itstool) path: section/title +#: C/about-pgp.page:32 +msgid "Encrypt and sign data using PGP keys" +msgstr "Adatok titkosítása és aláírása PGP-kulcsokkal" + +#. (itstool) path: section/p +#: C/about-pgp.page:34 +msgid "" +"Passwords and Keys is a key management application. Though it " +"cannot be used to encrypt or sign files and messages, you can use it to " +"sign trustworthy keys." +msgstr "" +"A Jelszavak és kulcsok egy kulcskezelő alkalmazás. Noha nem " +"használható fájlok és üzenetek titkosítására vagy aláírására, használható " +"megbízható kulcsok aláírására." + +#. (itstool) path: section/p +#: C/about-pgp.page:38 +msgid "" +"To secure your communication, you can use email clients like Evolution that provide encryption and signing services." +msgstr "" +"Kommunikációja biztonságossá tételéhez az Evolutionhöz hasonló e-" +"mail klienseket használhat, amelyek titkosítási és aláírási " +"szolgáltatásokat biztosítanak." + +#. (itstool) path: info/desc +#: C/about-ssh.page:18 +msgid "" +"SSH keys are used to login to a remote computer, once a secure connection " +"has been established." +msgstr "" +"Az SSH-kulcsok távoli számítógépekre bejelentkezéshez használhatók, " +"biztonságos kapcsolat létrehozása után." + +#. (itstool) path: page/title +#: C/about-ssh.page:22 +msgid "What is a Secure Shell key?" +msgstr "Mi az az SSH-kulcs?" + +#. (itstool) path: page/p +#: C/about-ssh.page:24 +msgid "" +"A Secure Shell key, often just called an SSH key, helps " +"you create a secure connection over an unsecured network." +msgstr "" +"Az SSH-kulcs (Secure shell – biztonságos parancsértelmező) " +"segít biztonságos kapcsolatot létrehozni egy egyébként nem biztonságos " +"hálózaton." + +#. (itstool) path: list/title +#: C/about-ssh.page:28 +msgid "An SSH key actually consists of two parts:" +msgstr "Az SSH-kulcs valójában két részből áll:" + +#. (itstool) path: item/p +#: C/about-ssh.page:29 +msgid "A public key, which is widely available." +msgstr "Egy nyilvános kulcsból, amely széles körben elérhető." + +#. (itstool) path: item/p +#: C/about-ssh.page:30 +msgid "" +"A private key, which is kept secret. The private key is used to unlock " +"messages encrypted with a corresponding public key." +msgstr "" +"Egy személyes kulcsból, amely titkos. A személyes kulcs segítségével " +"visszafejthetők a megfelelő nyilvános kulccsal titkosított üzenetek." + +#. (itstool) path: page/p +#: C/about-ssh.page:34 +msgid "" +"The advantage of using an SSH key to create a connection between " +"computers is that only the Public key needs to be sent over the " +"network. Transmissions encrypted with a Public key can only be " +"decoded by unlocking them with the corresponding Private key and a " +"password. Because only the public key is sent over the network, the key's " +"password is kept secret." +msgstr "" +"Az SSH-kulcs számítógépek közti kapcsolat létrehozására való " +"használatának előnye az, hogy csak a nyilvános kulcsot kell " +"elküldeni a hálózaton. A nyilvános kulccsal titkosított adatátvitel " +"csak a megfelelő személyes kulccsal és jelszóval való feloldás után " +"dekódolható. Mivel csak a nyilvános kulcs kerül átvitelre a hálózaton, a " +"személyes kulcs jelszava titkos maradhat." + +#. (itstool) path: credit/years +#: C/concepts.page:16 C/key-servers-add.page:23 C/keyring-create.page:28 +#: C/misc-key-backup.page:23 C/passwords-view.page:23 C/pgp-create.page:30 +#: C/pgp-delete.page:23 C/ssh-create.page:23 C/ssh-create.page:28 +msgid "2014" +msgstr "2014" + +#. (itstool) path: info/desc +#: C/concepts.page:19 +msgid "" +"Learn terms and concepts that are relevant to managing passwords and keys." +msgstr "" +"Ismerje meg a jelszavak és kulcsok kezeléséhez kapcsolódó kifejezéseket és " +"fogalmakat." + +#. (itstool) path: page/title +#: C/concepts.page:23 +msgid "Key Concepts and Terms" +msgstr "Alapvető fogalmak és kifejezések" + +#. (itstool) path: info/desc +#: C/glossary.page:20 +msgid "A list of basic terms used." +msgstr "Felhasználásra kerülő alapvető kifejezések listája." + +#. (itstool) path: page/title +#: C/glossary.page:23 +msgid "Glossary" +msgstr "Szószedet" + +#. (itstool) path: page/p +#: C/glossary.page:25 +msgid "" +"Passwords and Keys helps you to generate and manage tokens that " +"can be used to protect your files and communication. Here are some basic " +"terms that you will encounter while reading this help:" +msgstr "" +"A Jelszavak és kulcsok alkalmazás a fájlok és a kommunikáció " +"védelmére használt azonosítók létrehozását és kezelését támogatja. A jelen " +"súgó használata során többek között a következő kifejezésekkel fog " +"találkozni:" + +#. (itstool) path: item/title +#: C/glossary.page:31 +msgid "Encryption" +msgstr "Titkosítás" + +#. (itstool) path: item/p +#: C/glossary.page:32 +msgid "" +"Encryption is the process of making your important files and data unreadable " +"to anyone but the intended recipient. When you encrypt your data, it becomes " +"a scrambled sequence of numbers and letters. Encryption is done by someone " +"who is sending a protected file, or sending a message in a protected " +"conversation." +msgstr "" +"A titkosítás következtében a fontos fájlok és adatok a címzetten kívül, " +"mindenki más számára olvashatatlanná, vagyis számok és betűk összekevert " +"halmazává válnak. A titkosítást a védett fájl küldője végzi el, vagy védett " +"kommunikációban üzenet küldésével is megvalósulhat." + +#. (itstool) path: item/title +#: C/glossary.page:39 +msgid "Algorithm" +msgstr "Algoritmus" + +#. (itstool) path: item/p +#: C/glossary.page:40 +msgid "" +"An algorithm is a sequence of steps used to encrypt or decrypt your data." +msgstr "" +"Az algoritmus az adatai titkosítására és visszafejtésére alkalmas lépések " +"sorozata." + +#. (itstool) path: item/title +#: C/glossary.page:44 +msgid "Decryption" +msgstr "Visszafejtés" + +#. (itstool) path: item/p +#: C/glossary.page:45 +msgid "" +"Decryption is the process of retrieving the original text from the encrypted " +"message or file. It is done by the receiver of the protected file or " +"communication. Encrypted messages cannot be understood without decrypting " +"them first." +msgstr "" +"A visszafejtés az eredeti szöveg titkosított üzenetből vagy fájlból való " +"visszanyerésének folyamata. Ezt a védett fájl vagy kommunikáció címzettje " +"végzi el. A titkosított üzenetek visszafejtés nélkül érthetetlenek." + +#. (itstool) path: item/title +#: C/glossary.page:51 +msgid "Plaintext" +msgstr "Egyszerű szöveg" + +#. (itstool) path: item/p +#: C/glossary.page:52 +msgid "" +"Any data or file that is not encrypted, and can therefore be read by anyone " +"who can access it, is called plaintext." +msgstr "" +"Minden nem titkosított, ezért az azt elérni képes minden felhasználó által " +"elolvasható adatot vagy fájlt egyszerű szövegnek nevezünk." + +#. (itstool) path: item/title +#: C/glossary.page:56 +msgid "Key" +msgstr "Kulcs" + +#. (itstool) path: item/p +#: C/glossary.page:57 +msgid "" +"A key is used to encrypt and decrypt files and communication. A key may also " +"be used to login to a remote computer. Some types of keys are PGP keys and SSH " +"keys." +msgstr "" +"A kulcs a fájlok és a kommunikáció titkosítására és visszafejtésére " +"használható. A kulcs használható egy távoli számítógépre való " +"bejelentkezésre is. A különböző típusú kulcsok közé tartoznak például a " +"PGP-kulcsok és az SSH-kulcsok." + +#. (itstool) path: item/title +#: C/glossary.page:63 +msgid "Keyring" +msgstr "Kulcstartó" + +#. (itstool) path: item/p +#: C/glossary.page:64 +msgid "A keyring is a collection of passwords or keys." +msgstr "A kulcstartó jelszavak vagy kulcsok gyűjteménye." + +#. (itstool) path: info/title +#: C/index.page:7 +msgctxt "link" +msgid "Passwords and Keys" +msgstr "Jelszavak és kulcsok" + +#. (itstool) path: info/title +#: C/index.page:8 +msgctxt "text" +msgid "Passwords and Keys" +msgstr "Jelszavak és kulcsok" + +#. (itstool) path: credit/name +#: C/index.page:23 C/keyring-create.page:21 C/keyring.page:25 +#: C/ssh-create.page:26 +msgid "Ekaterina Gerasimova" +msgstr "Ekaterina Gerasimova" + +#. (itstool) path: info/desc +#: C/index.page:30 +msgid "" +"Use Passwords and Keys to remember your passwords, and to create " +"and manage PGP and SSH keys." +msgstr "" +"A Jelszavak és kulcsok alkalmazást jelszavai megjegyzésére, " +"valamint PGP- és SSH-kulcsok készítésére és kezelésére használhatja." + +#. (itstool) path: page/title +#: C/index.page:33 +msgid "<_:media-1/> Passwords and Keys" +msgstr "<_:media-1/> Jelszavak és kulcsok" + +#. (itstool) path: section/title +#: C/index.page:39 +msgid "SSH Keys" +msgstr "SSH-kulcsok" + +#. (itstool) path: section/title +#: C/index.page:44 +msgid "PGP keys" +msgstr "PGP-kulcsok" + +#. (itstool) path: section/title +#: C/index.page:49 +msgid "Stored passwords and password keyrings" +msgstr "Tárolt jelszavak és jelszókulcstartók" + +#. (itstool) path: info/desc +#: C/introduction.page:26 +msgid "" +"Use Passwords and Keys to create and manage PGP and SSH keys and " +"to save passwords that are difficult to remember." +msgstr "" +"A Jelszavak és kulcsok alkalmazás PGP- és SSH-kulcsok " +"létrehozására és kezelésére, valamint nehezen megjegyezhető jelszavak " +"tárolására használható." + +#. (itstool) path: page/title +#: C/introduction.page:30 +msgid "Introduction" +msgstr "Bevezetés" + +#. (itstool) path: page/p +#: C/introduction.page:32 +msgid "" +"Welcome to the Passwords and Keys help guide. Passwords and " +"Keys creates and stores security tokens, helping to keep your " +"information secure on your computer, and secure when you send information " +"over a network." +msgstr "" +"Üdvözöljük a Jelszavak és kulcsok alkalmazás súgójában. A " +"Jelszavak és kulcsok alkalmazás biztonsági azonosítókat készít és " +"kezel, segít az információk biztonságos tárolásában, és biztonságos " +"elküldésben a hálózaton keresztül." + +#. (itstool) path: page/p +#: C/introduction.page:36 +msgid "Using Passwords and Keys, you can:" +msgstr "" +"A Jelszavak és kulcsok alkalmazással a következőket végezheti el:" + +#. (itstool) path: item/p +#: C/introduction.page:40 +msgid "" +"Copy and save passwords that " +"are difficult to remember. To group related passwords, create keyrings." +msgstr "" +"A nehezen megjegyezhető jelszavakat másolhatja és tárolhatja. Egymással összefüggő jelszavak " +"csoportosításához kulcstartókat hozhat " +"létre." + +#. (itstool) path: item/p +#: C/introduction.page:45 +msgid "" +"Create and manage PGP keys." +msgstr "" +"PGP-kulcsok létrehozása és kezelése." + +#. (itstool) path: item/p +#: C/introduction.page:49 +msgid "" +"Create and manage SSH keys." +msgstr "" +"SSH-kulcsok létrehozása és kezelése." + +#. (itstool) path: credit/name +#: C/key-servers-add.page:21 C/misc-key-backup.page:21 C/passwords-view.page:21 +#: C/pgp-create.page:28 C/pgp-delete.page:21 C/ssh-create.page:21 +msgid "Hashem Nasarat" +msgstr "Hashem Nasarat" + +#. (itstool) path: info/desc +#: C/key-servers-add.page:26 +msgid "" +"Make additions to the list of keyservers in Passwords and Keys" +msgstr "" +"A kulcskiszolgálók listájának bővítése a Jelszavak és kulcsok " +"alkalmazásban." + +#. (itstool) path: page/title +#: C/key-servers-add.page:30 +msgid "Add a keyserver" +msgstr "Kulcskiszolgáló hozzáadása" + +#. (itstool) path: page/p +#: C/key-servers-add.page:31 +msgid "" +"Passwords and Keys have the following keyservers listed by " +"default:" +msgstr "" +"Alapértelmezésben a Jelszavak és kulcsok alkalmazás a következő " +"kulcskiszolgálókat ismeri:" + +#. (itstool) path: item/p +#: C/key-servers-add.page:35 +msgid "hkp://pool.sks-keyservers.net" +msgstr "hkp://pool.sks-keyservers.net" + +#. (itstool) path: item/p +#: C/key-servers-add.page:38 +msgid "ldap://keyserver.pgp.com" +msgstr "ldap://keyserver.pgp.com" + +#. (itstool) path: steps/title +#: C/key-servers-add.page:43 +msgid "To add a keyserver" +msgstr "Új kulcskiszolgáló hozzáadásához" + +#. (itstool) path: item/p +#: C/key-servers-add.page:45 +msgid "" +"Select Edit Preferences" +msgstr "" +"Válassza ki a SzerkesztésBeállítások menüpontot." + +#. (itstool) path: item/p +#: C/key-servers-add.page:49 +msgid "Press the Add button." +msgstr "Nyomja meg a Hozzáadás gombot." + +#. (itstool) path: item/p +#: C/key-servers-add.page:52 +msgid "" +"In the new dialog, select the appropriate Key Server Type. Key " +"servers are identified by the protocol they use to communicate. Look for the " +"first few letters in the Internet URL of your key server to identify its " +"type." +msgstr "" +"A megjelenő ablakban válassza ki a Kulcskiszolgáló típusát. A " +"kulcskiszolgálókat a kommunikációhoz használt protokoll segítségével lehet " +"azonosítani. A kulcskiszolgáló típusának azonosításához tehát az internetes " +"URL-ben szereplő első néhány betűt használhatja." + +#. (itstool) path: item/p +#: C/key-servers-add.page:58 +msgid "" +"In the Host field, paste the Internet URL of your " +"key server. Consult the documentation for the key server you're adding to " +"see if it operates on a non-standard port. If so, enter the port after the " +"':'. If you're unsure, leave the text box after the ':' blank." +msgstr "" +"Ezt követően illessze be a Gép mezőbe " +"kulcskiszolgálója URL-címét. A kulcskiszolgáló dokumentációjában ellenőrizze " +"a kiszolgáló által használt port számát. Ha ez nem az alapértelmezett port, " +"akkor illessze be a számot a „:” után. Ha bizonytalan, akkor hagyja üresen a " +"„:” utáni szövegmezőt." + +#. (itstool) path: item/p +#: C/key-servers-add.page:65 C/pgp-create.page:62 +msgid "Press OK to finish." +msgstr "A befejezéshez kattintson az OK gombra." + +#. (itstool) path: info/desc +#: C/keyring-change-default.page:19 +msgid "Save new passwords to a different keyring by default." +msgstr "Új jelszavak mentése alapértelmezésben egy másik kulcstartóra." + +#. (itstool) path: page/title +#: C/keyring-change-default.page:22 +msgid "Change the default keyring" +msgstr "Alapértelmezett kulcstartó megváltoztatása" + +#. (itstool) path: page/p +#: C/keyring-change-default.page:24 +msgid "" +"When you add a new password, " +"it is normally added to the default keyring. If you want to add it to a " +"different keyring, you can choose another one while adding the new password, " +"but you can also change the default keyring. The default keyring is normally " +"the Login keyring." +msgstr "" +"Ha egy új jelszót hoz létre, " +"ez rendszerint az alapértelmezett kulcstartóhoz lesz hozzáadva. Ha egy másik " +"kulcstartóhoz kívánja hozzáadni, akkor válassza ki azt a jelszó " +"létrehozásakor, vagy változtassa meg az alapértelmezett kulcstartót. Az " +"alapértelmezett kulcstartó a legtöbb esetben a Bejelentkezési " +"nevet viseli." + +#. (itstool) path: steps/title +#: C/keyring-change-default.page:32 +msgid "To change the default keyring:" +msgstr "Az alapértelmezett kulcstartó megváltoztatásához:" + +#. (itstool) path: item/p +#: C/keyring-change-default.page:34 +msgid "" +"Select your choice for the default keyring from the list of keyrings under " +"Passwords on the left side panel." +msgstr "" +"Válassza ki a kívánt kulcstartót a kulcstartók listájából az oldalsávban " +"található Jelszavak bejegyzés alatt." + +#. (itstool) path: item/p +#: C/keyring-change-default.page:38 +msgid "" +"Right click on the selected keyring and select Set as default." +msgstr "" +"Jobb egérgombbal kattintson a kiválasztott kulcstartóra, majd a " +"Beállítás alapértelmezettként bejegyzésre." + +#. (itstool) path: note/p +#: C/keyring-change-default.page:44 +msgid "" +"Passwords to some GNOME applications are stored automatically by " +"Passwords and Keys in the Login keyring because it is " +"the default keyring. When you change the default keyring, any new passwords " +"created for GNOME applications will be stored in the new default keyring " +"while GNOME application passwords created before the change will remain in " +"the Login keyring." +msgstr "" +"Néhány GNOME alkalmazás jelszavát a Jelszavak és kulcsok " +"automatikusan a Bejelentkezési kulcstartón tárolja, mert ez az " +"alapértelmezett kulcstartó. Ha megváltoztatja az alapértelmezett " +"kulcstartót, akkor a GNOME alkalmazások számára újonnan készített jelszavak " +"az új alapértelmezett kulcstartón lesznek tárolva. A változtatás előtt " +"létrehozott jelszavak a Bejelentkezési kulcstartón maradnak." + +#. (itstool) path: info/desc +#: C/keyring-create.page:31 +msgid "Use password keyrings to group stored passwords." +msgstr "Jelszókulcstartók használata a tárolt jelszavak csoportosítására." + +#. (itstool) path: page/title +#: C/keyring-create.page:34 +msgid "Create a new keyring" +msgstr "Új kulcstartó létrehozása" + +#. (itstool) path: page/p +#: C/keyring-create.page:36 +msgid "" +"Use keyrings to group related passwords. You " +"can choose to protect your keyring with a password." +msgstr "" +"Az összetartozó jelszavak csoportosításához javasolt a kulcstartók használata. Kulcstartóját jelszóval is védheti." + +#. (itstool) path: steps/title +#: C/keyring-create.page:40 +msgid "Create a new password keyring:" +msgstr "Új jelszókulcstartó létrehozása:" + +#. (itstool) path: item/p +#: C/keyring-create.page:42 C/passwords-stored-create.page:32 +#: C/pgp-create.page:42 C/pgp-import.page:39 C/ssh-create.page:41 +#: C/ssh-import.page:39 +msgid "" +"Press the + button in the top-left corner of the " +"window." +msgstr "" +"Nyomja meg az ablak bal felső sarkában lévő + " +"gombot." + +#. (itstool) path: item/p +#: C/keyring-create.page:45 +msgid "Select Password Keyring from the list." +msgstr "" +"Válassza a Jelszókulcstartó elemet a listából." + +#. (itstool) path: item/p +#: C/keyring-create.page:48 +#| msgid "" +#| "Choose a name for your new keyring, then press OK to continue." +msgid "" +"Choose a name for your new keyring, then press Add to continue." +msgstr "" +"Adja meg az új kulcstartó nevét, majd a folytatáshoz kattintson a Hozzáad gombra." + +#. (itstool) path: item/p +#: C/keyring-create.page:53 +msgid "" +"To password protect your keyring, choose a password, and retype it to " +"confirm your choice. Leave both the fields blank if you want your keyring to " +"remain unlocked at all times." +msgstr "" +"Ha a kulcstartót szeretné jelszóval védeni, írja be a kívánt jelszót kétszer " +"a megfelelő mezőkbe. Ha kulcstartóját nem kívánja jelszóval védeni, akkor " +"hagyja üresen mindkét mezőt." + +#. (itstool) path: item/p +#: C/keyring-create.page:61 +msgid "" +"Press Continue to finish creating the keyring. " +"If you have not protected your keyring with a password, you will need to " +"confirm that this is how you want to proceed." +msgstr "" +"A Folytatás gombra kattintva befejezheti a " +"kulcstartó létrehozását. Ha kulcstartója védelmére nem adott meg jelszót, " +"akkor ezt meg kell erősítse." + +#. (itstool) path: page/p +#: C/keyring-create.page:67 +msgid "Your new keyring will now be listed under Passwords." +msgstr "Az új kulcstartó a Jelszavak alatti listában jelenik meg." + +#. (itstool) path: info/desc +#: C/keyring-lock.page:20 +msgid "" +"Lock and password protect your password keyrings to control access to the " +"passwords stored in them." +msgstr "" +"A kulcstartókban tárolt jelszavak védelme és elérésük szabályozása jelszó " +"megadásával." + +#. (itstool) path: page/title +#: C/keyring-lock.page:24 +msgid "Lock your keyrings" +msgstr "Kulcstartók zárolása" + +#. (itstool) path: page/p +#: C/keyring-lock.page:26 +msgid "" +"To safe-keep your passwords, store them in a password-protected keyring. " +"When a password-protected keyring is locked, the passwords in it are kept " +"hidden till someone unlocks the keyring " +"with the correct password." +msgstr "" +"Jelszavai biztonságban tartására jelszóval védett kulcstartókat hozhat " +"létre. Ha egy jelszóval védett kulcstartó zárolva van, az abban tárolt " +"jelszavak rejtve maradnak mindaddig, amíg valaki a kulcstartót a helyes " +"jelszóval feloldja." + +#. (itstool) path: note/p +#: C/keyring-lock.page:32 +msgid "" +"You can choose to protect your keyring with a password while creating it." +msgstr "" +"Ha kulcstartóját jelszóval szeretné védeni, akkor ezt már a kulcstartó létrehozásakor is eldöntheti." + +#. (itstool) path: steps/title +#: C/keyring-lock.page:37 +msgid "To lock your password keyring:" +msgstr "A jelszókulcstartó zárolásához:" + +#. (itstool) path: item/p +#: C/keyring-lock.page:39 +msgid "" +"From the list of keyrings under Passwords on the left side panel, " +"select the keyring to be locked." +msgstr "" +"Válassza ki a bal oldali panelen a Jelszavak alatti kulcstartók " +"listájából a zárolandó kulcstartót." + +#. (itstool) path: item/p +#: C/keyring-lock.page:43 +msgid "" +"Right click on the selected keyring and select Lock, or click on " +"the small picture of an opened lock next to the name of the password keyring." +msgstr "" +"Kattintson a jobb egérgombbal a kiválasztott kulcstartóra, majd a " +"Zárolás bejegyzésre. Ugyanezt elvégezheti a kulcstartó neve " +"mellett elhelyezkedő nyitott lakatra kattintva." + +#. (itstool) path: info/desc +#: C/keyring-unlock.page:20 +msgid "To view passwords stored inside a locked keyring, unlock it." +msgstr "" +"A zárolt kulcstartón tárolt jelszavak megtekintéséhez a kulcstartót fel kell " +"oldani." + +#. (itstool) path: page/title +#: C/keyring-unlock.page:23 +msgid "Unlock your keyrings" +msgstr "Kulcstartók feloldása" + +#. (itstool) path: page/p +#: C/keyring-unlock.page:24 +msgid "" +"A keyring may often be locked to protect " +"the passwords it contains, similar to locking important things safely inside " +"a trunk. In order to look at your passwords, you must unlock the keyring " +"first." +msgstr "" +"Egy kulcstartó gyakran zárolva lehet a " +"rajta tárolt jelszavak védelme érdekében, hasonlóan egy ládához, amelybe " +"értékes dolgokat zárunk. Jelszavai megtekintéséhez a kulcstartót előbb fel " +"kell oldani." + +#. (itstool) path: steps/title +#: C/keyring-unlock.page:30 +msgid "To unlock your keyring:" +msgstr "Kulcstartó feloldásához:" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:32 +msgid "" +"Select the keyring to be unlocked from the panel on your left. It is listed " +"under Passwords." +msgstr "" +"Válassza ki a feloldandó kulcstartót a bal oldali panelen. A kulcstartót a " +"Jelszavak bejegyzés alatt találja." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:36 +msgid "" +"Right click on the selected keyring and select Unlock from the " +"menu, or alternatively, click the small picture of a closed lock next to the " +"keyring name to unlock the keyring." +msgstr "" +"Kattintson a jobb egérgombbal a kiválasztott kulcstartóra, majd a " +"Feloldás menüpontra. Ugyanezt elvégezheti a kulcstartó neve " +"mellett elhelyezkedő zárt lakatra kattintva." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:41 +msgid "" +"If the keyring is password-protected, you will be prompted for a password to " +"unlock the keyring. Enter the correct password in the Password " +"field and press Unlock to finish." +msgstr "" +"Ha a kulcstartó jelszóval védett, a rendszer bekéri a jelszót a kulcstartó " +"feloldásához. Írja be a helyes jelszót a Jelszó mezőbe, majd a " +"befejezéshez kattintson a Feloldás gombra." + +#. (itstool) path: note/p +#: C/keyring-unlock.page:49 +msgid "" +"You can choose to password-protect your keyrings while creating them." +msgstr "" +"Ha kulcstartóit jelszóval szeretné védeni, akkor ezt már a kulcstartók létrehozásakor is eldöntheti." + +#. (itstool) path: info/desc +#: C/keyring-update-password.page:20 +msgid "" +"Keep updating the passwords to your keyrings to ensure that they are " +"protected well." +msgstr "" +"A kulcstartók biztonsága érdekében rendszeresen változtassa azok jelszavait." + +#. (itstool) path: page/title +#: C/keyring-update-password.page:25 +msgid "Update the keyring password" +msgstr "A kulcstartó jelszavának módosítása" + +#. (itstool) path: page/p +#: C/keyring-update-password.page:27 +msgid "" +"The password to unlock your keyring can be " +"updated at any time." +msgstr "" +"A kulcstartó feloldására használt jelszót " +"bármikor módosíthatja." + +#. (itstool) path: steps/title +#: C/keyring-update-password.page:31 +msgid "To update the password for a password keyring:" +msgstr "Jelszókulcstartó jelszavának módosításához:" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:33 +msgid "" +"Select the password keyring from the list, under Passwords, on " +"the left side panel." +msgstr "" +"A bal oldali panelen a Jelszavak bejegyzés alatti listából " +"válassza ki a kívánt kulcstartót." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:37 +msgid "" +"Right click on the selected password keyring and select Change " +"Password." +msgstr "" +"Kattintson a jobb egérgombbal a kiválasztott jelszókulcstartóra, majd a " +"Jelszó megváltoztatása menüpontra." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:41 +msgid "" +"Type your old password to authenticate yourself and press Continue." +msgstr "" +"A hitelesítéshez adja meg a régi jelszót, majd kattintson a Folytatás gombra." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:45 +msgid "" +"In the new dialog, type your new password, retype it to confirm the new " +"password and press the Continue button to finish." +msgstr "" +"A megjelenő ablakban adja meg kétszer egymás után az új jelszót, majd a " +"befejezéshez kattintson a Folytatás gombra." + +#. (itstool) path: info/desc +#: C/keyring.page:30 +msgid "A keyring is used to group related passwords and keys." +msgstr "" +"A kulcstartó a kapcsolódó jelszavak és kulcsok csoportosítására használható." + +#. (itstool) path: page/title +#: C/keyring.page:33 +msgid "What is a keyring?" +msgstr "Mi az a kulcstartó?" + +#. (itstool) path: page/p +#: C/keyring.page:35 +msgid "" +"Much like a keyring in real life allows you to keep certain sets of keys " +"together, a keyring in Passwords and Keys allows you to keep " +"passwords and keys in separate groups." +msgstr "" +"Ahogy a mindennapi életben a kulcstartó lehetővé teszi kulcshalmazok " +"egybefogását, úgy a Jelszavak és kulcsok alkalmazás kulcstartója " +"lehetővé teszi a kulcsok és jelszavak külön csoportokban való tartását." + +#. (itstool) path: page/p +#: C/keyring.page:39 +msgid "" +"When you open Passwords and Keys for the first time, you will see " +"keys and password grouped together. In the Login keyring, you may " +"find stored passwords for GNOME applications such as Web, " +"Accounts etc. The Login keyring is the default keyring " +"in Passwords and keys." +msgstr "" +"Amikor első alkalommal nyitja meg a Jelszavak és kulcsok " +"alkalmazást, csoportosított kulcsokat és jelszavakat láthat. A " +"Bejelentkezési kulcstartóban a GNOME alkalmazások tárolt " +"jelszavait találhatja (például Web, Felhasználók " +"stb.). A Bejelentkezési a Jelszavak és kulcsok " +"alkalmazás alapértelmezett kulcstartója." + +#. (itstool) path: p/link +#: C/legal.xml:4 +msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" +msgstr "Creative Commons Attribution-ShareAlike 3.0 Unported License" + +#. (itstool) path: license/p +#: C/legal.xml:3 +msgid "This work is licensed under a <_:link-1/>." +msgstr "Ez a munka a <_:link-1/> feltételei szerint használható." + +#. (itstool) path: info/desc +#: C/misc-key-backup.page:26 +msgid "Keep a copy of your keys in an external device." +msgstr "Tárolja kulcsai másolatát egy külső eszközön." + +#. (itstool) path: page/title +#: C/misc-key-backup.page:29 +msgid "Securely back-up your keys" +msgstr "Kulcsok biztonsági mentése" + +#. (itstool) path: page/p +#: C/misc-key-backup.page:31 +msgid "" +"It is always advisable to save a copy of your keys on an external memory " +"device like a USB drive. The device should then be kept locked or stored " +"somewhere safe. This way you will always have a copy of the key if your " +"computer breaks or if the data on your computer is corrupted in some way." +msgstr "" +"Mindig ajánlott a kulcsokról biztonsági másolatot készíteni egy külső " +"eszközre, amely lehet egy USB-meghajtó is. Az eszközt ezek után elzárva, " +"vagy biztonságos helyen kell tartani. Így kulcsairól mindig lesz egy " +"másolata arra az esetre, ha a használatban lévő számítógép, vagy az azon " +"tárolt adatok valamiképpen tönkremennek." + +#. (itstool) path: steps/title +#: C/misc-key-backup.page:37 +msgid "To back-up your keys:" +msgstr "A kulcsok biztonsági mentéséhez:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:39 +msgid "Export your key files:" +msgstr "Kulcsfájlok exportálása:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:41 +msgid "Export your PGP keys." +msgstr "PGP-kulcsok exportálása." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:42 +msgid "Export your SSH keys." +msgstr "SSH-kulcsok exportálása." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:46 +msgid "Copy the exported files on an external disk." +msgstr "Másolja az exportált fájlokat egy külső tárhelyre." + +#. (itstool) path: info/desc +#: C/misc-key-fingerprint.page:19 +msgid "" +"The key fingerprint is a unique ID for each key, often used to verify the " +"ownership of a key" +msgstr "" +"Az ujjlenyomat minden egyes kulcs egyedi azonosítója, amit gyakran a kulcs " +"tulajdonosának az ellenőrzésére szoktak használni" + +#. (itstool) path: page/title +#: C/misc-key-fingerprint.page:23 +msgid "What is a key fingerprint?" +msgstr "Mit jelent a kulcs ujjlenyomata?" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:25 +msgid "" +"The fingerprint of a key is a unique sequence of letters and numbers used to " +"identify the key. Just like the fingerprints of two different people, the " +"fingerprints of two different keys can never be identical. The fingerprint " +"is the best way to identify a particular key." +msgstr "" +"Egy kulcs ujjlenyomata a kulcs azonosításához használt betűk és számok " +"egyedi sorozata. Az emberek ujjlenyomatához hasonlóan nem létezik két azonos " +"ujjlenyomattal rendelkező kulcs. Egy bizonyos kulcs azonosításának legjobb " +"módszere az ujjlenyomat ellenőrzése." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:30 +msgid "" +"A key has several properties like the name and email of the key owner, key " +"type, key expiration date and so on. When you are searching for a public key " +"and you find multiple keys with the same properties, the only way to " +"identify the key you are looking for is to compare the fingerprints of the " +"two keys with the fingerprint of the key you require." +msgstr "" +"Egy kulcs többféle tulajdonsággal rendelkezik, mint pl. a kulcs " +"tulajdonosának neve és e-mail címe, a kulcs típusa, vagy a kulcs lejárati " +"ideje. Ha egy nyilvános kulcs keresése több, azonos tulajdonságokkal " +"rendelkező kulcsot eredményez, az Ön által keresett kulcsot kizárólag az " +"ujjlenyomatok összehasonlításával lehet azonosítani." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:36 +msgid "" +"It is the fingerprint of a key that is verified when you try to login to a " +"remote computer using SSH. While " +"signing a PGP key, you must always " +"check the key fingerprint and verify the key owner's identity to ensure that " +"you are signing the correct key." +msgstr "" +"Egy távoli gépre SSH segítségével való " +"bejelentkezés során is a kulcs ujjlenyomata kerül ellenőrzésre. Egy PGP kulcs aláírásakor mindig ellenőriznie " +"kell a kulcs ujjlenyomatát és a kulcs tulajdonosának az azonosságát annak " +"érdekében, hogy a helyes kulcsot írja alá." + +#. (itstool) path: section/title +#: C/misc-key-fingerprint.page:43 +msgid "Fingerprints on Passwords and Keys" +msgstr "Ujjlenyomatok a Jelszavak és kulcsok alkalmazásban." + +#. (itstool) path: section/p +#: C/misc-key-fingerprint.page:45 +msgid "" +"You can look at the fingerprint of a key on Passwords and Keys by " +"checking the properties of the key." +msgstr "" +"A Jelszavak és kulcsok alkalmazásban egy kulcs ujjlenyomatát az " +"adott kulcs tulajdonságai között tekintheti meg." + +#. (itstool) path: steps/title +#: C/misc-key-fingerprint.page:49 +msgid "To check the fingerprint of a key:" +msgstr "Egy kulcs ujjlenyomatának ellenőrzéséhez:" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:51 C/pgp-photoid.page:44 C/pgp-publish.page:36 +#: C/subkeys-add.page:31 +msgid "Select GnuPG keys from the left side panel." +msgstr "Válassza ki a GnuPG kulcsok bejegyzést a bal oldali sávból." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:54 C/pgp-expiration-change.page:31 +msgid "Select the PGP key from the list." +msgstr "Válassza ki a PGP-kulcsot a listából." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:57 +msgid "" +"Right click the key and select Properties." +msgstr "" +"Kattintson a jobb egérgombbal a kulcsra, majd válassza a Tulajdonságok menüpontot." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:61 C/pgp-expiration-change.page:37 +msgid "In the new dialog, select the Details tab." +msgstr "A megjelenő ablakban válassza a Részletek lapot." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:64 +msgid "You can see the fingerprint of the key on the left hand side." +msgstr "A kulcs ujjlenyomatát a bal oldalon tekintheti meg." + +#. (itstool) path: info/desc +#: C/passwords-stored-create.page:19 +msgid "Passwords and keys can remember your passwords for you." +msgstr "" +"A Jelszavak és kulcsok alkalmazás megjegyzi jelszavait Ön helyett." + +#. (itstool) path: page/title +#: C/passwords-stored-create.page:23 +msgid "Store your passwords" +msgstr "Jelszavak tárolása" + +#. (itstool) path: page/p +#: C/passwords-stored-create.page:25 +msgid "" +"Passwords and Keys automatically stores passwords for certain " +"GNOME applications in the Login keyring. Additionally, you can " +"store any other password you want to remember." +msgstr "" +"A Jelszavak és kulcsok alkalmazás automatikusan tárolja néhány " +"GNOME alkalmazás jelszavát a Bejelentkezési kulcstartón. " +"Emellett, megőrzés céljából, bármilyen egyéb jelszót is tárolhat." + +#. (itstool) path: steps/title +#: C/passwords-stored-create.page:30 +msgid "To create a new stored password:" +msgstr "Új tárolt jelszó létrehozásához:" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:35 +msgid "Select Password from the list." +msgstr "Válassza a Jelszó elemet a listából." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:38 +msgid "" +"Select the password keyring in which you want to store your password from " +"the Keyring menu." +msgstr "" +"A Kulcstartó legördülő menüből válassza ki azt a jelszó " +"kulcstartót, amelyen tárolni szeretné a jelszavát." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:42 +msgid "" +"You can add additional information about the password in the " +"Description field, like the date of creation, or the name of the " +"application it protects, etc." +msgstr "" +"A jelszóhoz kapcsolódó kiegészítő információkat (létrehozás dátuma, a jelszó " +"által védett alkalmazás neve stb.) a Leírás mezőbe írhatja be." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:47 +msgid "" +"Type the password in the Password field. You can tick the Show password checkbox if you want to see the " +"password text while typing it out." +msgstr "" +"Írja be a jelszót a Jelszó mezőbe. Ha beírás közben szeretné " +"látni a jelszó szövegét, akkor használja a Jelszó " +"megjelenítése jelölőnégyzetet." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:52 +#| msgid "Press the OK button to finish." +msgid "Press the Add button to finish." +msgstr "" +"Nyomja meg a Hozzáad gombot a befejezéshez." + +#. (itstool) path: note/p +#: C/passwords-stored-create.page:57 +msgid "" +"The default keyring is displayed as the first choice in the Keyring drop down menu. You can change " +"the default keyring." +msgstr "" +"Az alapértelmezett kulcstartó az első bejegyzés a Kulcstartó " +"legördülő menüjében. Az " +"alapértelmezett kulcstartó megváltoztatható." + +#. (itstool) path: info/desc +#: C/passwords-view.page:26 +msgid "" +"Use Passwords and Keys to check a stored password you have " +"forgotten." +msgstr "" +"A Jelszavak és kulcsok alkalmazással megtekintheti az " +"elfelejtett, de tárolt jelszavait." + +#. (itstool) path: page/title +#: C/passwords-view.page:30 +msgid "View stored passwords" +msgstr "Tárolt jelszavak megtekintése" + +#. (itstool) path: page/p +#: C/passwords-view.page:32 +msgid "" +"If you ever forget a password stored in Passwords and Keys, you can view the contents of the " +"stored password in Passwords and Keys to refresh your memory." +msgstr "" +"Ha valaha is elfelejt egy a Jelszavak és kulcsok alkalmazásban " +"tárolt jelszót, akkor " +"használja az alkalmazást a jelszó megtekintésére." + +#. (itstool) path: steps/title +#: C/passwords-view.page:38 +msgid "To view your passwords:" +msgstr "A jelszavai megtekintéséhez:" + +#. (itstool) path: item/p +#: C/passwords-view.page:43 +msgid "" +"Select View By " +"keyring." +msgstr "" +"Válassza a Nézet Kulcstartó szerint menüpontot." + +#. (itstool) path: item/p +#: C/passwords-view.page:47 +msgid "" +"Unlock the password keyring that " +"contains your password. A list of passwords stored in the keyring will be " +"displayed." +msgstr "" +"Oldja fel a jelszót tartalmazó " +"kulcstartót. A kulcstartón tárolt jelszavak listája láthatóvá válik." + +#. (itstool) path: item/p +#: C/passwords-view.page:52 +msgid "" +"Right click on the password you want to check, and select Properties." +msgstr "" +"Kattintson a jobb egérgombbal a kívánt jelszóra, majd válassza ki a " +"Tulajdonságok bejegyzést." + +#. (itstool) path: item/p +#: C/passwords-view.page:56 +msgid "" +"Expand the Passwords panel, if necessary, and tick the Show password checkbox to view the password." +msgstr "" +"Ha szükséges, bontsa ki a Jelszavak panelt, és aktiválja a Jelszó megjelenítése jelölőnégyzetet." + +#. (itstool) path: note/p +#: C/passwords-view.page:63 +msgid "" +"Since the contents of any unlocked keyrings are available to programs you " +"may be running, and Passwords and Keys does not seek to give a " +"false sense of security, the contents of unlocked keyrings are able to be " +"viewed without entering the password." +msgstr "" +"Mivel minden egyes feloldott kulcstartó tartalmához minden futó alkalmazás " +"hozzáférhet, és mivel a Jelszavak és kulcsok nem kíván hamis " +"biztonságérzetet nyújtani, minden egyes feloldott kulcstartó tartalma " +"megtekinthető jelszó megadása nélkül." + +#. (itstool) path: note/p +#: C/passwords-view.page:67 +msgid "" +"This means that if you are logged-in, the contents of the Login " +"keyring will available without entering a password from Passwords and " +"Keys." +msgstr "" +"Ez azt jelenti, hogy ha be van jelentkezve, a Bejelentkezési " +"kulcstartó tartalma a Jelszavak és kulcsok jelszava megadása " +"nélkül is megtekinthető." + +#. (itstool) path: note/p +#: C/passwords-view.page:70 +msgid "" +"If you need to lend your computer to another person, it is recommended that " +"you create a user account for them, or allow them to use a guest account." +msgstr "" +"Ha kölcsön kell adnia a gépét, akkor készítsen az illető személynek egy " +"saját felhasználói fiókot, vagy engedélyezze a vendég fiók használatát." + +#. (itstool) path: info/desc +#: C/pgp-create.page:33 +msgid "Create and use GnuPG keys for encrypting and signing emails." +msgstr "" +"E-mail aláírására és titkosítására használt GnuPG kulcsok létrehozása és " +"használata." + +#. (itstool) path: page/title +#: C/pgp-create.page:36 +msgid "Create PGP keys" +msgstr "PGP-kulcsok létrehozása" + +#. (itstool) path: page/p +#: C/pgp-create.page:38 +msgid "To make a new PGP key:" +msgstr "Új PGP-kulcs létrehozásához:" + +#. (itstool) path: item/p +#: C/pgp-create.page:45 +msgid "Select PGP Key from the list." +msgstr "Válassza a PGP-kulcs elemet a listából." + +#. (itstool) path: item/p +#: C/pgp-create.page:48 +msgid "Enter your full name in the Full Name field." +msgstr "Írja be a nevét a Teljes név mezőbe." + +#. (itstool) path: item/p +#: C/pgp-create.page:51 +msgid "Optionally, add your email address and a comment to describe the key." +msgstr "" +"Ha kívánja, megadhatja az e-mail címét és a kulcsot leíró információkat is." + +#. (itstool) path: item/p +#: C/pgp-create.page:55 +msgid "Press Create." +msgstr "Kattintson a Létrehozás gombra." + +#. (itstool) path: item/p +#: C/pgp-create.page:58 +msgid "" +"In the password dialog, enter a password for the key. Retype the password to " +"confirm your choice." +msgstr "" +"A Jelszó ablakban adja meg a kulcs jelszavát, majd ismételje ezt meg a " +"megerősítéséhez." + +#. (itstool) path: page/p +#: C/pgp-create.page:66 +msgid "" +"Passwords and Keys will take some time to generate your key. " +"While your key is being created, move your mouse around, press some keys on " +"your keyboard, or browse the web. This will help Passwords and Keys to create a truly random key. The key will be listed under GnuPG " +"keys." +msgstr "" +"A Jelszavak és kulcsok alkalmazásnak időre van szüksége a kulcs " +"létrehozásához. Amíg tart ez a folyamat, mozgassa az egeret, használja a " +"billentyűzetet, vagy böngésszen a világhálón. Ez támogatja a Jelszavak " +"és kulcsok alkalmazást egy valóban véletlenszerű kulcs létrehozásában. " +"A kulcs a GnuPG kulcsok listában jelenik meg." + +#. (itstool) path: note/p +#: C/pgp-create.page:73 +msgid "" +"The Full Name, Email Address and Comment " +"details of a GnuPG key are called the user ID of the key." +msgstr "" +"A GnuPG kulcshoz tartozó Teljes név, E-mail cím és " +"Megjegyzés tulajdonságok alkotják a kulcs felhasználói azonosítóját." + +#. (itstool) path: section/title +#: C/pgp-create.page:79 +msgid "Advanced PGP key options" +msgstr "PGP-kulcs speciális beállításai" + +#. (itstool) path: section/p +#: C/pgp-create.page:81 +msgid "" +"Under Advanced key options you can choose custom values for " +"encryption type, key strength and key expiration date." +msgstr "" +"A Speciális kulcsbeállítások alatt egyéni értékeket választhat a " +"titkosítás típusához, a kulcs erősségéhez és a kulcs lejárat dátumához." + +#. (itstool) path: item/title +#: C/pgp-create.page:86 +msgid "Encryption type" +msgstr "Titkosítás típusa" + +#. (itstool) path: item/p +#: C/pgp-create.page:87 +msgid "" +"Depending on your needs, create keys that can be used for signing only or " +"for both encryption and signing. The RSA and DSA-Elgamal algorithms generate " +"equally secure keys." +msgstr "" +"Igény szerint csak aláírásra vagy aláírásra és titkosításra egyaránt " +"használható kulcsokat hozhat létre. Az RSA és DSA-Elgamal algoritmusok " +"egyaránt biztonságos kulcsokat hoznak létre." + +#. (itstool) path: item/title +#: C/pgp-create.page:92 +msgid "Key Strength" +msgstr "Kulcs erőssége" + +#. (itstool) path: item/p +#: C/pgp-create.page:93 +msgid "" +"The key strength is measured in terms of the size of the key in bits. It is " +"difficult and more time consuming to break a strong key, but strong keys " +"will slow down the encryption and signing process. You should choose your " +"key strength in Passwords and Keys depending on how long you want " +"to use the key. A small key is sufficient for short term use while a large " +"key is more suitable for long term use." +msgstr "" +"Egy kulcs erőssége a kulcs bitekben megadott mérete alapján állapítható meg. " +"Az erős kulcsok feltörése bonyolult és időigényes, bár ezek lelassítják az " +"aláírás és a titkosítás folyamatát. A kulcs erősségét a Jelszavak és " +"kulcsok alkalmazásban a kívánt használati időtartam függvényében " +"határozza meg. Egy kisebb kulcs rövidtávú felhasználásra lehet alkalmas, míg " +"a nagyobb kulcsok hosszú távra is megfelelők." + +#. (itstool) path: item/title +#: C/pgp-create.page:101 +msgid "Expiration Date" +msgstr "Lejárati idő" + +#. (itstool) path: item/p +#: C/pgp-create.page:102 +msgid "" +"When a key expires, certain actions no longer " +"work. In Passwords and Keys, you can either set your key " +"to Never Expire, or select an expiration date " +"and time for it." +msgstr "" +"Amikor egy kulcs érvényessége lejár, akkor alkalmatlanná válik bizonyos funkciók betöltésére. A " +"Jelszavak és kulcsok alkalmazásban készíthető olyan kulcs, ami " +"Soha nem jár le, de rögzített lejárati idő is " +"beállítható." + +#. (itstool) path: item/p +#: C/pgp-create.page:106 +msgid "" +"It is recommended that you set an expiration date in case you lose access to " +"the key. Even if your key expires, you can change the expiration to a later date." +msgstr "" +"Érdemes minden kulcsot lejárati idővel ellátni arra az esetre, ha elvesztené " +"a kulcsát. Még ha a kulcsa le is jár, lehetőség van későbbi lejárati idő beállítására." + +#. (itstool) path: info/desc +#: C/pgp-delete.page:26 +msgid "" +"Delete local copies of your keys or the keys of people you communicate with." +msgstr "" +"Saját, vagy a más emberekkel való kommunikációhoz használt kulcsok helyi " +"másolatának törlése." + +#. (itstool) path: page/title +#: C/pgp-delete.page:30 +msgid "Delete an existing key" +msgstr "Meglévő kulcs törlése" + +#. (itstool) path: page/p +#: C/pgp-delete.page:32 +msgid "" +"If you are no longer communicating with someone, you can delete the copy of " +"their GnuPG key on your computer using Passwords and Keys. You " +"can also permanently delete a key you own as long it has never been " +"published on a key server. Deleting a GnuPG key deletes both the public key " +"and the secret key." +msgstr "" +"Ha valakivel már nincs kapcsolatban, akkor törölheti az illető GnuPG kulcsát " +"a számítógépéről a Jelszavak és kulcsok segítségével. Saját " +"kulcsot véglegesen is tud törölni, ha még nem tette közzé kulcskiszolgálón. " +"A GnuPG kulcs törlése egyaránt törli a nyilvános és a személyes kulcsot." + +#. (itstool) path: steps/title +#: C/pgp-delete.page:39 +msgid "To delete a key:" +msgstr "Kulcs törléséhez:" + +#. (itstool) path: item/p +#: C/pgp-delete.page:41 +msgid "" +"Select the key. (You may need to show all keys, with ViewShow any )" +msgstr "" +"Válassza ki a kívánt kulcsot (szükség lehet a teljes lista megjelenítésére a " +"NézetÖsszes " +"megjelenítése kiválasztásával)." + +#. (itstool) path: item/p +#: C/pgp-delete.page:48 +msgid "" +"Right click, and choose Delete. Alternatively you can also select " +"Edit Delete to delete the key." +msgstr "" +"Kattintson a jobb egérgombbal a kiválasztott kulcsra, majd válassza ki a " +"Törlés bejegyzést. A kulcs törlését a SzerkesztésTörlés " +"menüponttal is elvégezheti." + +#. (itstool) path: note/p +#: C/pgp-delete.page:52 +msgid "" +"When you delete a GnuPG key that has been published on a key server, you " +"only delete the key in your GnuPG keyring because a copy of the public key " +"will still be present on some key server." +msgstr "" +"A kulcskiszolgálón közzétett GnuPG kulcsot csak a helyileg tárolt GnuPG " +"kulcstartón törölheti, mert a nyilvános kulcs egy másolata továbbra is " +"megtalálható lesz a kulcskiszolgálón." + +#. (itstool) path: note/p +#: C/pgp-delete.page:55 +msgid "" +"If you delete your GnuPG key, this means that your private key will be " +"permanently deleted, even though your public key can still be retrieved from a key server and used to " +"encrypt messages to you that you won't be able to read! To prevent such a " +"key from being used, retrieve and revoke the key. The revoked key can then " +"be synced with a key server to prevent people " +"from retrieving and using it." +msgstr "" +"Ha törli a GnuPG kulcsát, akkor a személyes kulcs örökre elvesz. A nyilvános " +"kulcs letöltése a " +"kulcskiszolgálóról és ezzel az Önnek szánt üzenetek titkosítása továbbra is " +"lehetséges, bár Ön képtelen lesz ezeket az üzeneteket elolvasni! Az ilyen " +"kulcsok használatát a kulcs letöltése és visszavonása által előzheti meg. A " +"visszavont kulcsot szinkronizálhatja a " +"kulcskiszolgálóval, ezáltal megóvhat másokat a kulcs letöltésétől és " +"használatától." + +#. (itstool) path: item/p +#: C/pgp-delete.page:69 +msgid "" +"In the new dialog, confirm the deletion by ticking the I understand that this secret key will be permanently deleted " +"checkbox, and press the Delete button to finish." +msgstr "" +"A megjelenő ablakban aktiválja a Megértettem, hogy " +"ez a személyes kulcs véglegesen törlésre kerül jelölőnégyzetet, majd a " +"befejezéshez kattintson a Törlés gombra." + +#. (itstool) path: info/desc +#: C/pgp-expiration-change.page:19 +msgid "Advance or postpone the expiration date of your keys." +msgstr "Kulcsai lejárati idejének előbbre hozatala vagy elhalasztása." + +#. (itstool) path: page/title +#: C/pgp-expiration-change.page:22 +msgid "Change the expiration date of your keys" +msgstr "Kulcsai lejárati idejének megváltoztatása" + +#. (itstool) path: page/p +#: C/pgp-expiration-change.page:24 +msgid "" +"If your PGP key has expired but you wish to continue its use, you can change " +"its expiry date. You can also change the expiration settings to have a key " +"expire on an earlier date." +msgstr "" +"Ha egy PGP-kulcs érvényességét veszítette, de továbbra is szeretné " +"használni, akkor megváltoztathatja a lejárati határidőt. Ezt a határidőt úgy " +"is megváltoztathatja, hogy a kulcs hamarabb lejárjon, mint az eredetileg be " +"lett állítva." + +#. (itstool) path: steps/title +#: C/pgp-expiration-change.page:29 +msgid "To change the expiration date of a PGP key:" +msgstr "PGP-kulcs lejárati idejének megváltoztatásához:" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:34 +msgid "Right click on the selected key and select Properties." +msgstr "" +"Kattintson a jobb egérgombbal a kijelölt kulcsra, és válassza ki a " +"Tulajdonságok menüpontot." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:42 +msgid "" +"To change the expiration date of the master key, press the small button with " +"the picture of a calendar next to Expires, on the right side of " +"the dialog. You can then select the new expiration date from the calendar." +msgstr "" +"A fő kulcs lejárati idejének megváltoztatásához kattintson a kis naptárt " +"ábrázoló gombra a Lejár bejegyzés mellett, az ablak jobb oldalán. " +"Ezt követően a naptár segítségével kiválaszthatja az új lejárati határidőt." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:48 +msgid "" +"To change the expiration date of a subkey, " +"expand the Subkeys panel and select the subkey from the list. " +"Press the Expire button on the left of the panel " +"and select the new expiration date." +msgstr "" +"Egy részkulcs lejárati idejének " +"megváltoztatásához bontsa ki a Részkulcsok panelt, majd válassza " +"ki a listából a kívánt részkulcsot. Kattintson a Lejárat gombra a panel bal oldalán, és határozza meg az új lejárati " +"időt." + +#. (itstool) path: note/p +#: C/pgp-expiration-change.page:59 +msgid "" +"If you are changing the expiration date of a key that has been published, " +"you must synchronize the key with the key " +"server after making the desired changes." +msgstr "" +"Ha egy közzétett kulcs lejárati idejét megváltoztatja, akkor a változtatások " +"végrehajtása után a kulcsot szinkronizálnia " +"kell a kulcskiszolgálóval." + +#. (itstool) path: info/desc +#: C/pgp-expired.page:20 +msgid "Can I still use it? Can expiration dates be changed?" +msgstr "Használhatom továbbra is? Lehetséges a lejárati idő megváltoztatása?" + +#. (itstool) path: page/title +#: C/pgp-expired.page:23 +msgid "What happens if my key expires?" +msgstr "Mi történik, ha a kulcsom lejár?" + +#. (itstool) path: page/p +#: C/pgp-expired.page:25 +msgid "When your key expires, it becomes invalid. This means:" +msgstr "" +"Ha egy kulcs lejár, akkor érvénytelenné válik. Ez a következőket jelenti:" + +#. (itstool) path: item/p +#: C/pgp-expired.page:29 +msgid "It can no longer be used to encrypt and decrypt messages." +msgstr "Nem használható többé üzenetek titkosítására és visszafejtésére." + +#. (itstool) path: item/p +#: C/pgp-expired.page:32 +msgid "It cannot sign other keys or receive signatures from other keys." +msgstr "" +"Nem tud többé más kulcsokat aláírni, vagy más kulcsoktól aláírást fogadni." + +#. (itstool) path: page/p +#: C/pgp-expired.page:37 +msgid "" +"Depending on how long you want your key to be valid, you can set an expiration date for it. By default, " +"Passwords and Keys sets all keys to be valid forever. That is, " +"the keys never expire." +msgstr "" +"A kulcs tervezett élettartama függvényében egy meghatározhat lejárati időt. Alapértelmezésben a " +"Jelszavak és kulcsok alkalmazás egyetlen kulcsnak sem határoz meg " +"lejárati időt. Ez azt jelenti, hogy a kulcsok mindig érvényesek maradnak." + +#. (itstool) path: page/p +#: C/pgp-expired.page:42 +msgid "" +"The expiration date on a key can be changed anytime, even after the key has expired. However, if you " +"want to stop using the expired key, you should delete or revoke it." +msgstr "" +"Egy kulcs lejárati idejét bármikor meg lehet változtatni, még akkor is, ha a kulcs már érvénytelenné " +"vált. Ha azonban az érvénytelenné vált kulcsot nem kívánja tovább használni, " +"akkor ajánlott a kulcs törlése vagy visszavonása." + +#. (itstool) path: note/p +#: C/pgp-expired.page:49 +msgid "" +"If you have any messages encrypted with an expired key, you must change the " +"expiration date on the key to decrypt such messages before deleting or " +"revoking it." +msgstr "" +"Ha van olyan üzenete, amely a lejárt kulccsal lett titkosítva, akkor a kulcs " +"törlése előtt hosszabbítsa meg annak lejárati idejét, és fejtse vissza az " +"érintett üzeneteket." + +#. (itstool) path: info/desc +#: C/pgp-export.page:19 +msgid "Export your public and private PGP keys to store them in keyfiles." +msgstr "" +"Nyilvános és személyes PGP-kulcsok exportálása kulcsfájlokban való " +"tároláshoz." + +#. (itstool) path: page/title +#: C/pgp-export.page:23 +msgid "Export PGP keys" +msgstr "PGP-kulcsok exportálása" + +#. (itstool) path: page/p +#: C/pgp-export.page:25 +msgid "" +"Export the contents of your PGP keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"PGP-kulcsok tartalmának exportálása kulcsfájlokban való tároláshoz, " +"biztonsági mentésként, vagy a nyilvános kulcs másokkal történő megosztásához." + +#. (itstool) path: section/title +#: C/pgp-export.page:29 +msgid "To export your public PGP key" +msgstr "Nyilvános PGP-kulcsa exportálásához:" + +#. (itstool) path: item/p +#: C/pgp-export.page:33 C/pgp-export.page:63 C/pgp-userid-add.page:36 +#: C/pgp-userid-primary.page:32 C/pgp-userid-remove.page:31 +msgid "Select the GnuPG keys keyring from the left side panel." +msgstr "" +"Válassza ki a bal oldali sávban a GnuPG kulcsok kulcstartót." + +#. (itstool) path: item/p +#: C/pgp-export.page:37 C/pgp-export.page:67 +msgid "" +"Select the Personal PGP key that has to be exported, from the " +"list." +msgstr "" +"A listából válassza ki az exportálni kívánt Személyes PGP-kulcsot." + +#. (itstool) path: item/p +#: C/pgp-export.page:41 C/ssh-export.page:42 +msgid "" +"Right-click on the key and select Export…." +msgstr "" +"Kattintson a jobb egérgombbal a kulcsra, majd válassza az Exportálás… menüpontot." + +#. (itstool) path: item/p +#: C/pgp-export.page:45 +msgid "" +"To store the keys in the ASCII format, select Armored PGP keys " +"from the menu above the Export button." +msgstr "" +"A kulcsok ASCII formátumban való tárolásához válassza ki az Exportálás gomb fölötti legördülő menüből a " +"Páncélozott PGP-kulcsok pontot." + +#. (itstool) path: item/p +#: C/pgp-export.page:50 C/pgp-export.page:78 +msgid "" +"Choose a location for your keyfile, and press Export to finish." +msgstr "" +"Válasszon egy helyet a kulcsfájl tárolásához, majd a befejezéshez kattintson " +"az Exportálás gombra." + +#. (itstool) path: section/title +#: C/pgp-export.page:59 +msgid "To export your private PGP key" +msgstr "Személyes PGP-kulcs exportálásához" + +#. (itstool) path: item/p +#: C/pgp-export.page:71 C/subkeys-add.page:37 +msgid "" +"Right click on the selected key and select PropertiesDetails." +msgstr "" +"Kattintson a jobb egérgombbal a kijelölt kulcsra, majd válassza a " +"TulajdonságokRészletek menüpontot." + +#. (itstool) path: item/p +#: C/pgp-export.page:75 +msgid "Press the Export button." +msgstr "Kattintson az Exportálás gombra." + +#. (itstool) path: info/desc +#: C/pgp-import.page:26 +msgid "Import keys from keyfiles into Passwords and Keys." +msgstr "" +"Kulcsok importálása kulcsfájlokból a Jelszavak és kulcsok " +"alkalmazásba." + +#. (itstool) path: page/title +#: C/pgp-import.page:29 +msgid "Import PGP keys" +msgstr "PGP-kulcsok importálása" + +#. (itstool) path: page/p +#: C/pgp-import.page:31 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports PGP keys from your computer. You can also manually " +"import a particular key, if it has not been imported already." +msgstr "" +"Ha e-mailben kapott egy kulcsfájlt, akkor érdemes lehet ezt a Jelszavak " +"és kulcsok alkalmazásba importálni. A legtöbb esetben az alkalmazás " +"automatikusan importálja a számítógépén lévő PGP-kulcsokat. Ha ez még nem " +"történt meg, akkor egy adott kulcsot kézileg is importálhat." + +#. (itstool) path: steps/title +#: C/pgp-import.page:37 C/ssh-import.page:37 +msgid "How do I manually import a key?" +msgstr "Hogyan importálhatok egy kulcsot kézileg?" + +# There is a missing style=\"menuitem\" in the original file. +#. (itstool) path: item/p +#: C/pgp-import.page:42 C/ssh-import.page:42 +msgid "Select Import from file… from the list." +msgstr "" +"Válassza az Importálás fájlból… elemet a " +"listából." + +#. (itstool) path: item/p +#: C/pgp-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. PGP keys end with " +"pgp or asc, GPG keys end with gpg." +msgstr "" +"A megjelenő ablakban válassza ki az importálni kívánt kulcsot. A PGP kulcsok " +"pgp vagy asc, a GPG kulcsok pedig gpg " +"kiterjesztésűek." + +#. (itstool) path: item/p +#: C/pgp-import.page:50 C/ssh-import.page:49 +msgid "Click Open." +msgstr "Kattintson a Megnyitás gombra." + +#. (itstool) path: page/p +#: C/pgp-import.page:54 +msgid "" +"Once imported, the PGP and GPG keys are listed under GnuPG keys." +msgstr "" +"Az importált PGP és GPG kulcsok a GnuPG kulcsok alatt jelennek " +"meg." + +#. (itstool) path: info/desc +#: C/pgp-photoid.page:20 +msgid "" +"Include a photo ID with your existing keys so that people can identify them " +"easily." +msgstr "" +"Meglévő kulcsai beazonosítását megkönnyítheti mások számára egy azonosító " +"fénykép hozzáadásával." + +#. (itstool) path: page/title +#: C/pgp-photoid.page:24 +msgid "Attach a photo to your key" +msgstr "Fénykép csatolása a kulcsához" + +#. (itstool) path: page/p +#: C/pgp-photoid.page:26 +msgid "" +"You can attach a photo ID to your PGP keys so that everyone can verify the " +"ownership of your keys after looking at your photo. Though a key with an " +"attached photo will provide a slightly better level of security than a key " +"with no photo, checking the photo on a key is not as safe as checking the " +"fingerprint of the key because " +"anyone having your photos can create a key with your photo ID while the key " +"fingerprint cannot be mimicked." +msgstr "" +"PGP-kulcsaihoz azonosító fényképeket is hozzáadhat, így bárki egyszerűen " +"ellenőrizheti a kulcs tulajdonosát. Bár egy fényképpel ellátott kulcs " +"valamelyest növeli a biztonságot a fénykép nélküli kulcsokhoz viszonyítva, a " +"fénykép ellenőrzése nem egyenértékű a kulcs ujjlenyomatának ellenőrzésével, hiszen mindenki, akinek van " +"Önről egy fényképe, könnyedén beillesztheti ezt egy kulcsba, míg egy kulcs " +"ujjlenyomatát nem lehet utánozni." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:35 +msgid "" +"Unlike the restrictions in GPG, the photo ID you want to upload " +"need not be in the JPEG format. Passwords and Keys " +"lets you upload your photo in png, jpg and several " +"other common image formats." +msgstr "" +"A GPG korlátozásaitól eltérően a feltöltendő fotónak nem kell " +"JPEG formátumúnak lennie. A Jelszavak és kulcsok " +"alkalmazás lehetővé teszi a png, jpg és számos más " +"formátumú kép használatát." + +#. (itstool) path: steps/title +#: C/pgp-photoid.page:42 +msgid "To attach a photo ID to a PGP key:" +msgstr "Azonosító fénykép PGP-kulcshoz csatolásához:" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:47 +msgid "Select the PGP key." +msgstr "Válassza ki a PGP-kulcsot." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:50 +msgid "" +"Right click on the chosen key and select Properties Owner." +msgstr "" +"Kattintson a jobb egérgombbal a kulcsra, majd válassza a Tulajdonságok Tulajdonos lapot." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:55 +msgid "" +"Press the button marked with a + on the left " +"hand side to add a photo." +msgstr "" +"A fénykép hozzáadásához kattintson a bal oldali + gombra." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:59 +msgid "Select the photo from your computer." +msgstr "Válasszon ki egy fényképet a számítógépről." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:62 +msgid "Click Close to finish." +msgstr "" +"A befejezéshez kattintson a Bezárás gombra." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:67 +msgid "" +"The photos you select should be small in size, preferably about 120 by 150 " +"pixels. Since a photo ID is always attached to its key, a large photo will " +"increase the key size and slow down all operations that use the key. " +"Passwords and Keys resizes large photos to the optimal size after " +"asking for your confirmation." +msgstr "" +"Ajánlatos a kis méretű fényképek választása, például 120x150 képpont " +"méretűeké. Mivel az azonosító fénykép a kulcs része, egy nagy méretű fénykép " +"növeli a kulcs méretét és minden, a kulcsot használó folyamatot lelassít. " +"Jóváhagyás kérése után a Jelszavak és kulcsok alkalmazás " +"megfelelően átméretezi a nagy méretű fényképeket." + +#. (itstool) path: credit/name +#: C/pgp-publish.page:15 C/pgp-retrieve-remote.page:15 +msgid "Aruna" +msgstr "Aruna" + +#. (itstool) path: info/desc +#: C/pgp-publish.page:20 +msgid "" +"Publish your public keys on key servers, or export and mail them to your friends." +msgstr "" +"Nyilvános kulcsait közzéteheti kulcskiszolgálókon, vagy exportálást követően e-mailben elküldheti őket barátainak." + +#. (itstool) path: page/title +#: C/pgp-publish.page:24 +msgid "Share your public keys" +msgstr "Nyilvános kulcsok megosztása" + +#. (itstool) path: page/p +#: C/pgp-publish.page:26 +msgid "" +"If you want people to send you encrypted communication, you must share your " +"GnuPG key with them. To share your key with a selected few " +"people, export it and mail the resulting " +"keyfile to them. To allow anyone to retrieve and use your public key, publish it on a key server." +msgstr "" +"Ha a másokkal folytatott kommunikációját titkosítani szeretné, akkor meg " +"kell osztania velük GnuPG kulcsát. Ha csak néhány kiválasztott " +"emberről van szó, akkor elegendő a kulcs exportálása és az így kapott kulcsfájl elküldése e-mailben. Ha " +"viszont azt szeretné, hogy bárki hozzáférhessen a nyilvános kulcsához, akkor tegye azt közzé egy " +"kulcskiszolgálón." + +#. (itstool) path: steps/title +#: C/pgp-publish.page:34 +msgid "How do I publish my key on a key server?" +msgstr "Hogyan tehetem közzé a kulcsomat egy kulcskiszolgálón?" + +#. (itstool) path: item/p +#: C/pgp-publish.page:39 +msgid "" +"From the list, select the Personal PGP key you want to publish." +msgstr "" +"Válassza ki a listából a közzétételre szánt Személyes PGP-kulcsot." + +#. (itstool) path: item/p +#: C/pgp-publish.page:43 C/pgp-sync.page:40 +msgid "" +"Select Remote Sync " +"and Publish Keys…." +msgstr "" +"Válassza a Távoli Kulcsok szinkronizálása és közzététele… pontját." + +#. (itstool) path: item/p +#: C/pgp-publish.page:47 +msgid "" +"Press the Key Servers button to see the list of " +"key servers on which you can publish your public key." +msgstr "" +"Kattintson a Kulcskiszolgálók gombra a nyilvános " +"kulcs közzétételére alkalmas kulcskiszolgálók megjelenítéséhez." + +#. (itstool) path: item/p +#: C/pgp-publish.page:51 +msgid "" +"To publish your key on a key server, select the key server from the " +"Publish keys to menu." +msgstr "" +"Kulcsa közzétételéhez válasszon egy kiszolgálót a Kulcskiszolgálók lapon." + +#. (itstool) path: item/p +#: C/pgp-publish.page:55 +msgid "" +"Press Close to go back to the previous dialog." +msgstr "" +"A Bezárás gombra kattintva térjen vissza az " +"előző ablakhoz." + +#. (itstool) path: item/p +#: C/pgp-publish.page:59 +msgid "Press Sync to finish." +msgstr "" +"A befejezéshez kattintson a Szinkronizálás " +"gombra." + +#. (itstool) path: note/p +#: C/pgp-publish.page:74 +msgid "You need to be connected to the Internet while publishing your keys." +msgstr "Kulcsai közzétételéhez működő internetkapcsolatra van szükség." + +#. (itstool) path: note/title +#: C/pgp-publish.page:78 +msgid "What is a keyserver?" +msgstr "Mi az a kulcskiszolgáló?" + +#. (itstool) path: note/p +#: C/pgp-publish.page:79 +msgid "" +"Key servers are computers that store copies of public encryption keys " +"submitted to them, and share these copies with other key servers through the " +"Internet." +msgstr "" +"A kulcskiszolgálók a beküldött nyilvános titkosítási kulcsok másolatait " +"tároló, és más kiszolgálókkal interneten keresztül megosztó számítógépek." + +#. (itstool) path: info/desc +#: C/pgp-retrieve-remote.page:20 +msgid "" +"If you want to send an urgent encrypted message to someone, but do not have " +"their key, you can retrieve their key from a remote key server." +msgstr "" +"Ha valakinek egy sürgős, titkosított üzenetet szeretne küldeni, de nem " +"rendelkezik az illető személy kulcsával, akkor letöltheti azt egy távoli " +"kulcskiszolgálóról." + +#. (itstool) path: page/title +#: C/pgp-retrieve-remote.page:25 +msgid "Retrieve remote keys" +msgstr "Távoli kulcsok letöltése" + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:27 +msgid "" +"You can retrieve someone's public GnuPG key from the Internet and store it " +"in Passwords and Keys." +msgstr "" +"Kapcsolatai nyilvános GnuPG kulcsát az interneten keresztül beszerezheti és " +"a Jelszavak és kulcsok alkalmazásban tárolhatja." + +#. (itstool) path: steps/title +#: C/pgp-retrieve-remote.page:31 +msgid "To retrieve a remote key:" +msgstr "Távoli kulcsok letöltéséhez:" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:33 +msgid "" +"Select Remote Find " +"Remote Keys…." +msgstr "" +"Válassza ki a Távoli Távoli kulcsok keresése… menüpontot." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:37 +msgid "" +"Enter information about the key you wish to retrieve in the field provided. " +"Details like key ID or the key owner's email address give more accurate " +"results than the name of the key owner." +msgstr "" +"A megjelenő mezőbe írja be a kívánt kulcs információit. A kulcs azonosítója " +"vagy a tulajdonos e-mail címe pontosabb eredményekhez vezet, mint a " +"kulcstulajdonos nevének megadása." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:42 +msgid "Press the Search button." +msgstr "Kattintson a Keresés gombra." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:45 +msgid "" +"From the list of search results, select the key you want to import, right " +"click on it and select Import. Alternatively, " +"you can also press the Import button present at " +"the top of the dialog after selecting the key." +msgstr "" +"A keresési eredmények listájából válassza ki az importálandó kulcsot, jobb " +"egérgombbal kattintson rá, majd válassza ki az Importálás menüpontot. Alternatív megoldásként a kulcs kijelölését " +"követően az ablak tetején megjelenő Importálás " +"gombot is használhatja." + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:52 +msgid "The imported key will be listed in the GnuPG keys keyring." +msgstr "Az importált kulcs a GnuPG kulcsok kulcstartón jelenik meg." + +# The orignial texts are missing the according gui styles, e.g. menu, menuitem. +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:55 +msgid "" +"If you cannot see the retrieved key, please select ViewShow any." +msgstr "" +"Ha a letöltött kulcs nem látható, akkor válassza a NézetÖsszes megjelenítése menüpontot." + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:60 +msgid "" +"If you want more information about a key, before importing it, select it, " +"and press the properties button found at the top of the dialog. " +"Alternatively you can also right click on the key and select Properties. This opens a new window that displays " +"information like the key ID, key fingerprint, level of trust, owner's name, " +"etc." +msgstr "" +"Ha a kulcs importálását megelőzően további információra van szüksége, akkor " +"kattintson az ablak tetején található Tulajdonságok gombra. Az " +"információk megtekintéséhez a jobb egérgombbal is rákattinthat a kulcsra, " +"majd kiválaszthatja a Tulajdonságok " +"menüpontot. A megjelenő ablakban különböző információk, mint például a kulcs " +"azonosítója, a kulcs ujjlenyomata, a megbízhatóság szintje, vagy a " +"tulajdonos neve olvashatók." + +#. (itstool) path: info/desc +#: C/pgp-sign.page:19 +msgid "If you trust a key, you can sign it." +msgstr "Ha megbízik egy kulcsban, akkor aláírhatja azt." + +#. (itstool) path: page/title +#: C/pgp-sign.page:22 +msgid "Sign keys" +msgstr "Kulcsok aláírása" + +#. (itstool) path: page/p +#: C/pgp-sign.page:24 +msgid "" +"To show that you trust and vouch for the genuineness of someone's key, you " +"can sign it. A person's key must be signed only after you compare the user ID on the key with a valid proof of their " +"identity, such as a passport, driver's license, or similar. If the two IDs " +"match, the key is said to be trustworthy." +msgstr "" +"Bizalma és a kulcs eredetiségéért való jótállása jeleként aláírhatja a " +"kulcsot. Egy személy kulcsát csak akkor szabad aláírni, ha összehasonlította " +"a felhasználói azonosítót a " +"személyazonosság egy hiteles forrásával, például személyi igazolvánnyal, " +"útlevéllel, jogosítvánnyal, vagy egyéb hasonló dokumentummal. Megegyezés " +"esetén a kulcs megbízhatónak nyilvánítható." + +#. (itstool) path: steps/title +#: C/pgp-sign.page:31 +msgid "To sign a key:" +msgstr "Kulcs aláírásához:" + +#. (itstool) path: item/p +#: C/pgp-sign.page:33 +msgid "" +"Import the remote key or keyfile containing the key to be signed into " +"Passwords and Keys." +msgstr "" +"Importálja az aláírásra szánt távoli " +"kulcsot, vagy az azt tartalmazó kulcsfájlt a Jelszavak és kulcsok alkalmazásba." + +#. (itstool) path: item/p +#: C/pgp-sign.page:38 +msgid "From the list of GnuPG keys select the imported key." +msgstr "Válassza ki a GnuPG kulcsok listából az importált kulcsot." + +#. (itstool) path: item/p +#: C/pgp-sign.page:41 +msgid "" +"Right click the key and select PropertiesTrust." +msgstr "" +"Kattintson a jobb egérgombbal a kulcsra, majd válassza a " +"TulajdonságokMegbízhatóság menüpontot." + +#. (itstool) path: item/p +#: C/pgp-sign.page:45 +msgid "Press the Sign this Key button." +msgstr "Kattintson a Kulcs aláírása gombra." + +#. (itstool) path: item/p +#: C/pgp-sign.page:48 +msgid "" +"Depending on how carefully you have checked the key, choose one out of Not at all, Casually or Very carefully." +msgstr "" +"A kulcs hitelességi vizsgálata függvényében válasszon a rendelkezésre álló " +"lehetőségek közül: Egyáltalán nem, Szokásos módon vagy Nagyon alaposan." + +#. (itstool) path: item/p +#: C/pgp-sign.page:54 +msgid "" +"Decide if you want to revoke your signature at a later date and if you want " +"to make your signature public, by ticking the checkboxes provided." +msgstr "" +"A jelölőnégyzetek lehetőséget adnak az aláírás egy későbbi időpontban való " +"visszavonására, és az aláírás közzétételére." + +#. (itstool) path: item/p +#: C/pgp-sign.page:59 +msgid "" +"When you own more than one PGP key, select the key you want to sign with, " +"from the list next to Signer." +msgstr "" +"Ha több személyes PGP kulccsal rendelkezik, válassza ki a megfelelő kulcsot " +"az Aláíró melletti listából az ablak alján." + +#. (itstool) path: item/p +#: C/pgp-sign.page:63 +msgid "Press the Sign button to finish." +msgstr "" +"A befejezéshez kattintson az Aláírás gombra." + +#. (itstool) path: note/title +#: C/pgp-sign.page:68 +msgid "Can I sign my own keys?" +msgstr "Aláírhatom a saját kulcsaimat is?" + +#. (itstool) path: note/p +#: C/pgp-sign.page:69 +msgid "" +"When you create a new GnuPG key, " +"it is automatically signed by you. Any new subkeys created using a GnuPG key, will also be signed " +"automatically." +msgstr "" +"Minden újonnan készített GnuPG kulcs automatikusan hordozza az Ön aláírását. Ez vonatkozik az összes " +"GnuPG kulccsal létrehozott " +"részkulcsra is." + +#. (itstool) path: info/desc +#: C/pgp-subkeys.page:19 +msgid "" +"A subkey is always bound to a master key in a PGP keypair. It is used for " +"encryption." +msgstr "" +"Egy PGP-kulcspárban a részkulcs mindig egy mesterkulcshoz kapcsolódik. Ez " +"titkosításra használható." + +#. (itstool) path: page/title +#: C/pgp-subkeys.page:23 +msgid "What is a subkey?" +msgstr "Mi az a részkulcs?" + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:25 +msgid "" +"Though it is very important to keep your keys safe, it can become quite " +"tedious to do so when you have many keys. Passwords and Keys " +"provides a simple solution to key safety by using subkeys for " +"signing and encryption." +msgstr "" +"Bár a kulcsok biztonságos tárolása nagyon fontos, ez különösen akkor " +"fárasztó, ha sok kulccsal rendelkezik. A Jelszavak és kulcsok " +"alkalmazás az aláírásra és titkosításra alkalmas részkulcsok révén " +"egyszerű megoldást kínál a kulcsok biztonságos kezelésére." + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:30 +msgid "" +"Whenever you create a new public encryption " +"key, a keypair is generated instead of a single key. This keypair " +"consists of a main key, also called the master key and a " +"subkey. A master key can be used to create additional subkeys that " +"are then bound to it." +msgstr "" +"Minden egyes új nyilvános titkosítási kulcs létrehozásakor nem egyetlen kulcs, hanem egy kulcspár jön " +"létre. Ez a kulcspár egy mester kulcsnak is nevezett fő kulcsból és " +"egy részkulcsból áll. A mester kulcs további, hozzá kapcsolódó " +"részkulcsok készítésére is használható." + +#. (itstool) path: list/title +#: C/pgp-subkeys.page:37 +msgid "What does each key in a keypair do?" +msgstr "Mire használatosak a kulcspárt alkotó kulcsok?" + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:39 +msgid "" +"The master key is used for signing " +"other keys, creating subkeys and revoking subkeys. Your master key must be kept very safe. Signatures of trust " +"are also collected on your master key. If the master key is compromised, you " +"have no choice but to revoke it and all the subkeys attached to it." +msgstr "" +"A mester kulcs más kulcsok aláírására, részkulcsok készítésére és a részkulcsok visszavonására használható. A mester kulcs biztonságos tárolása " +"különös figyelmet igényel. A begyűjtött megbízhatósági aláírásokat is a " +"mester kulcs tárolja. Ha a mester kulcs kompromittálódott, akkor nincs más " +"választása, mint visszavonni a mester kulcsot, az összes csatolt " +"részkulccsal együtt." + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:47 +msgid "" +"The default subkey is used for encryption and decryption of " +"messages. Additional subkeys can be created for signing. Though it is " +"important that your subkeys are kept safe, you can always revoke a subkey if " +"it is compromised and create a new one with the original master key." +msgstr "" +"Az alapértelmezett részkulcs üzenetek titkosítására és " +"visszafejtésére használatos. Lehetséges további, aláírásra használható " +"részkulcsok létrehozása is. Bár a részkulcsok biztonságos tárolása fontos, " +"egy kompromittált részkulcsot bármikor visszavonhat, az eredeti mester " +"kulccsal pedig készíthet egy újat." + +#. (itstool) path: section/title +#: C/pgp-subkeys.page:56 +msgid "More about subkeys" +msgstr "Tudjon meg többet a részkulcsokról" + +#. (itstool) path: info/desc +#: C/pgp-sync.page:20 +msgid "" +"Synchronize information present in your local key with the corresponding key " +"on a key server." +msgstr "" +"A helyi kulcson tárolt információk szinkronizálása a megfelelő távoli " +"kulccsal." + +#. (itstool) path: page/title +#: C/pgp-sync.page:24 +msgid "Synchronize your keys" +msgstr "Kulcsok szinkronizálása" + +#. (itstool) path: page/p +#: C/pgp-sync.page:26 +msgid "" +"PGP keys in your keyring have to be synchronized with a key server to ensure " +"that any changes made to the key on the key server, like a new signature, " +"are updated in your local copy of the key. Similarly, when you change " +"information on your local key copy, like the expiration date, or when you " +"sign someone's key, you should synchronize the keys to update the changes on " +"the remote copy of the key. You need a working Internet connection to " +"synchronize your keys." +msgstr "" +"A kulcstartókon tárolt PGP-kulcsokat ajánlott rendszeresen szinkronizálni " +"egy kulcskiszolgálóval. Ez teszi lehetővé a kulcskiszolgálón tárolt " +"módosítások (mint például egy új aláírás) helyi kulcshoz való hozzáfűzését. " +"Ehhez hasonlóan a kulcsok helyi példányán elvégzett saját módosításokat " +"(például a lejárati idő megváltoztatását, vagy más kulcsának aláírását) " +"követően is ajánlatos a kulcsok szinkronizálása. A kulcsok " +"szinkronizálásához működő internetkapcsolat szükséges." + +#. (itstool) path: steps/title +#: C/pgp-sync.page:35 +msgid "How do I synchronize a key?" +msgstr "Hogyan lehet kulcsot szinkronizálni?" + +#. (itstool) path: item/p +#: C/pgp-sync.page:37 +msgid "Select the PGP key you wish to synchronize." +msgstr "Válassza ki a szinkronizálandó PGP-kulcsot." + +# I suppose, there are some missing steps in the original instruction. +#. (itstool) path: item/p +#: C/pgp-sync.page:44 +msgid "" +"Click the Sync button to synchronize your key." +msgstr "" +"Kattintson a Szinkronizálás gombra a kulcs " +"szinkronizálásához." + +#. (itstool) path: note/title +#: C/pgp-sync.page:50 +msgid "Why is the Sync button not clickable?" +msgstr "" +"Miért nem kattintható a Szinkronizálás gomb?" + +#. (itstool) path: note/p +#: C/pgp-sync.page:52 +msgid "" +"Only PGP keys that have been published on a key server can be synchronized. " +"If the Sync button is not clickable, check if " +"the key has been published on a key server. In the case of synchronizing " +"your own keys, publish them, before synchronizing them." +msgstr "" +"Kizárólag a kulcskiszolgálón már közzétett PGP-kulcsokat lehet " +"szinkronizálni. Ha a Szinkronizálás gomb nem " +"kattintható, ellenőrizze az illető kulcs közzétételét. Saját kulcsait a " +"szinkronizálást megelőzően először közzé kell tenni." + +#. (itstool) path: info/desc +#: C/pgp-userid-add.page:20 +msgid "" +"Having many user IDs helps you to use the same key to communicate with " +"different people." +msgstr "" +"A több felhasználói azonosító megkönnyíti egyetlen kulcs használatát a " +"különböző emberekkel való kommunikációra." + +#. (itstool) path: page/title +#: C/pgp-userid-add.page:24 +msgid "Add extra user IDs to a key" +msgstr "További felhasználói azonosító hozzáadása egy kulcshoz" + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:26 +msgid "" +"A key can have multiple user IDs. This is helpful when you want to use the " +"same key while communicating with several people and one of them does not " +"recognize, say, the email address in your user ID. This person may not want " +"to import your public key since it contains information that they do not " +"know. In such scenarios, if you do not want to create a new key with a " +"different user ID, you can attach a new user ID to your existing key." +msgstr "" +"Egy kulcs több felhasználói azonosítót tartalmazhat. Ez különösen akkor " +"előnyös, ha több emberrel folytatott kommunikáció esetén egyikük nem ismeri " +"fel a felhasználói azonosítóban megadott e-mail címet. Megeshet, hogy ez a " +"személy nem fogja importálni a számára ismeretlen információt tartalmazó " +"nyilvános kulcsot. Ha ilyen esetekben nem szeretne egy új kulcsot a " +"megfelelő felhasználói azonosítóval létrehozni, akkor a már meglévő kulcshoz " +"további felhasználói azonosítókat is hozzáadhat." + +#. (itstool) path: steps/title +#: C/pgp-userid-add.page:34 +msgid "To add an extra user ID:" +msgstr "További felhasználói azonosító hozzáadásához:" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:39 +msgid "From the list, select the Personal PGP key of your choice." +msgstr "" +"A GnuPG kulcsok listájából válassza ki a kívánt Személyes PGP-kulcsot." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:43 +msgid "" +"Right click on the key and select Properties Names " +"and Signatures." +msgstr "" +"Kattintson a jobb egérgombbal a kulcsra, majd válassza ki a " +"Tulajdonságok Nevek és aláírások " +"lapot." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:47 +msgid "" +"Click the Add Name button to add a new user ID." +msgstr "" +"Új felhasználói azonosító hozzáadásához kattintson a Név hozzáadása gombra." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:51 +msgid "" +"In the new dialog, fill in details like Full Name, Email " +"Address and Key Comment for the new user ID." +msgstr "" +"A megjelenő ablakban töltse ki az új felhasználói azonosítóhoz szükséges " +"Teljes név, E-mail cím és Kulcs megjegyzés " +"mezőket." + +# The steps must be switched in the original instructions. +#. (itstool) path: item/p +#: C/pgp-userid-add.page:56 +msgid "" +"Enter the correct passphrase and click OK to " +"finish." +msgstr "" +"A befejezéshez adja meg a helyes jelszót, majd kattintson az OK gombra." + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:61 +msgid "" +"Your new user ID will now be listed under the Names and Signatures panel." +msgstr "" +"Az új felhasználói azonosító ezt követően a Nevek és aláírások " +"lapon jelenik meg." + +#. (itstool) path: note/p +#: C/pgp-userid-add.page:65 +msgid "" +"If your key has been published on a key server, synchronize it after adding new user IDs to update the remote copy " +"of the key." +msgstr "" +"Ha a kulcsát előzőleg közzétette egy kulcskiszolgálón, akkor szinkronizálja a kulcsot az új felhasználói azonosítók " +"hozzáadása után a kulcs távoli másolatának frissítéséhez." + +#. (itstool) path: info/desc +#: C/pgp-userid-primary.page:19 +msgid "Change your default user ID" +msgstr "Az alapértelmezett felhasználói azonosító megváltoztatása" + +#. (itstool) path: page/title +#: C/pgp-userid-primary.page:22 +msgid "What is a primary user ID?" +msgstr "Mi az az elsődleges felhasználói azonosító?" + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:24 +msgid "" +"When you have multiple user IDs, one of the user IDs is made the primary " +"user ID. Passwords and Keys will attach the primary user ID by " +"default with your key information, while encrypting or signing, unless you " +"explicitly choose another user ID instead." +msgstr "" +"Több felhasználói azonosító használatakor az egyik kijelölhető elsődleges " +"azonosítóvá. A Jelszavak és kulcsok alkalmazás aláíráskor vagy " +"titkosításkor alapértelmezésben az elsődleges azonosítót társítja a kulcs " +"információihoz mindaddig, amíg Ön meg nem változtatja az elsődleges " +"azonosítót. " + +#. (itstool) path: steps/title +#: C/pgp-userid-primary.page:30 +msgid "To change the primary user ID in a PGP key:" +msgstr "PGP-kulcs elsődleges felhasználói azonosítójának megváltoztatásához:" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:35 C/pgp-userid-remove.page:34 +#: C/subkeys-add.page:34 +msgid "Select the Personal PGP key from the list." +msgstr "" +"A GnuPG kulcsok listájából válassza ki a megfelelő Személyes PGP-" +"kulcsot." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:38 +msgid "" +"Right click on the selected key and select Properties " +"Names and Signatures." +msgstr "" +"Kattintson a jobb egérgombbal a kulcsra, majd nyissa meg a " +"Tulajdonságok Nevek és aláírások " +"lapot." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:43 +msgid "" +"Select the new primary user ID from the list and click Primary." +msgstr "" +"Válassza ki a listából az új alapértelmezett felhasználói azonosítót, majd " +"kattintson az Elsődleges gombra." + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:48 +msgid "" +"The user ID will move to the top of the Names and Signatures list " +"to become your primary user ID." +msgstr "" +"A új elsődleges felhasználói azonosító lesz a Nevek és aláírások " +"lista első bejegyzése." + +#. (itstool) path: note/p +#: C/pgp-userid-primary.page:52 +msgid "" +"Sync your keys after changing your primary user ID to update the remote " +"copies of your key." +msgstr "" +"Az elsődleges felhasználói azonosító megváltoztatását követően " +"szinkronizálja a kulcsokat a távoli másolatok frissítéséhez." + +#. (itstool) path: info/desc +#: C/pgp-userid-remove.page:20 +msgid "Remove extra user IDs" +msgstr "Extra felhasználói azonosítók eltávolítása" + +#. (itstool) path: page/title +#: C/pgp-userid-remove.page:23 +msgid "Detach a user ID from a key" +msgstr "Felhasználói azonosító eltávolítása a kulcsról" + +#. (itstool) path: page/p +#: C/pgp-userid-remove.page:25 +msgid "" +"While it is essential that all keys have at least one user ID, you can " +"remove any additional user IDs that you have attached to the key." +msgstr "" +"Míg legalább egy felhasználói azonosító megléte kötelező, a kulcshoz csatolt " +"összes további azonosítót el lehet távolítani." + +#. (itstool) path: steps/title +#: C/pgp-userid-remove.page:29 +msgid "To remove a user ID from a PGP key:" +msgstr "PGP-kulcshoz csatolt felhasználói azonosító eltávolításához:" + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:37 +msgid "" +"Right click on the selected key and choose Properties " +"Names and Signatures." +msgstr "" +"Kattintson a jobb egérgombbal a kulcsra, majd nyissa meg a " +"Tulajdonságok Nevek és aláírások " +"lapot." + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:42 +msgid "" +"Select the user ID you want to remove and click Delete." +msgstr "" +"Válassza ki a listából az eltávolítandó felhasználói azonosítót, majd " +"kattintson a Törlés gombra." + +#. (itstool) path: note/p +#: C/pgp-userid-remove.page:48 +msgid "" +"Synchronize your keys after detaching the " +"user ID to update the changes on the remote copy of the key." +msgstr "" +"A felhasználói azonosító törlését követően szinkronizálja a kulcsot a távoli másolat információinak " +"frissítéséhez." + +#. (itstool) path: info/desc +#: C/pgp-userid.page:19 +msgid "Create keys with good user IDs and learn to add and remove user IDs." +msgstr "" +"Hozzon létre jó felhasználói azonosítójú kulcsokat, és ismerje meg az " +"azonosítók hozzáadásának és eltávolításának módját." + +#. (itstool) path: page/title +#: C/pgp-userid.page:23 +msgid "What is a user ID?" +msgstr "Mi az a felhasználói azonosító?" + +#. (itstool) path: page/p +#: C/pgp-userid.page:25 +msgid "" +"When you create a key, you provide details, like your name, email and a key " +"description. This information together constitutes a user ID. A good user ID " +"helps people to recognize your key when they are trying to retrieve or import " +"it. It is important to fill in authentic information while creating your " +"user ID." +msgstr "" +"Kulcs létrehozásakor különböző információkat ad meg, például a nevét, az e-" +"mail címét és a kulcs leírását. Ezek együtt alkotják a felhasználói " +"azonosítót. Egy jó felhasználói azonosító letöltés vagy importálás előtt " +"megkönnyíti másoknak a kulcs felismerését. Az azonosító létrehozásakor " +"fontos tehát hiteles információkat szolgáltatni." + +#. (itstool) path: section/title +#: C/pgp-userid.page:33 +msgid "Add, remove user IDs" +msgstr "Felhasználó azonosítók hozzáadása és eltávolítása" + +#. (itstool) path: info/desc +#: C/ssh-connect-remote.page:23 +msgid "Use SSH keys to log in to another computer without entering a password." +msgstr "" +"Használjon SSH-kulcsokat egy másik számítógépre való jelszó nélküli " +"bejelentkezéshez." + +#. (itstool) path: page/title +#: C/ssh-connect-remote.page:27 +msgid "Connect to other computers" +msgstr "Kapcsolódás más számítógépekhez" + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:29 +msgid "" +"You can use Passwords and Keys to install your SSH key onto a " +"remote computer that can run an SSH server. You can also set up your SSH key for remote login " +"while creating the key." +msgstr "" +"A Jelszavak és kulcsok alkalmazással SSH-kulcsait telepítheti " +"olyan távoli számítógépekre, amelyek SSH-kiszolgálót futtatnak. SSH-kulcsát " +"már annak létrehozásakor " +"is beállíthatja távoli bejelentkezéshez." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:36 +msgid "" +"Right click on the SSH key and select Configure Key for " +"Secure Shell…." +msgstr "" +"Kattintson a jobb egérgombbal az SSH-kulcsra, és válassza az " +"SSH-kulcs beállítása… bejegyzést." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:40 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH, and press " +"Set Up." +msgstr "" +"A megjelenő párbeszédablakban adja meg a Kiszolgáló címét, " +"amelyet általában a távoli számítógépre SSH-n keresztüli bejelentkezéshez " +"használ, majd nyomja meg a Beállítás gombot." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:45 C/ssh-create.page:106 +msgid "" +"The program will now attempt to connect to the specified Server " +"address with the entered Login Name. If there are any " +"problems in accessing the remote computer, a pop-up window will appear that " +"explains the problem, and you can try again. Make sure that you have a " +"network connection and that the remote computer is on and accessible." +msgstr "" +"Az alkalmazás megpróbál csatlakozni a Kiszolgáló címéhez, a " +"megadott Bejelentkezési név segítségével. Ha bármilyen gond " +"adódik a távoli számítógép elérésével, egy felugró ablak tájékoztatja a " +"problémáról, és újból próbálkozhat. Bizonyosodjon meg arról, hogy " +"rendelkezik működő internetkapcsolattal, és hogy a távoli számítógép " +"elérhető." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:53 C/ssh-create.page:114 +msgid "" +"If connection to the remote computer was successful, a dialog box will " +"appear which asks for the Password you use to log in to the " +"remote computer. Enter your password, then press OK." +msgstr "" +"Ha sikerült kapcsolódni a távoli számítógéphez, egy ablak bekéri a " +"bejelentkezéshez szükséges Jelszót. Adja meg jelszavát, majd " +"kattintson az OK gombra." + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:60 +msgid "" +"You should now be able to log in to the remote computer via SSH without a " +"password." +msgstr "" +"Ezt követően a biztonságos parancsértelmezőt (SSH) használva jelszó nélkül " +"is bejelentkezhet a távoli számítógépre." + +#. (itstool) path: info/desc +#: C/ssh-create.page:31 +msgid "Create SSH keys to log in to other computers." +msgstr "SSH-kulcsok létrehozása távoli számítógépekre való bejelentkezéshez." + +#. (itstool) path: page/title +#: C/ssh-create.page:34 +msgid "Create a new SSH key" +msgstr "Új SSH-kulcs létrehozása" + +#. (itstool) path: page/p +#: C/ssh-create.page:36 +msgid "" +"An SSH key will help you to create a secure connection between computers. " +"Creating an SSH key creates both a Public and a Private " +"key. Here is how to create a new key:" +msgstr "" +"Az SSH-kulcs segíti a számítógépek közötti biztonságos kapcsolatok " +"létrehozását. Egy SSH-kulcs létrehozásakor egy nyilvános és egy " +"személyes kulcs jön létre. Így hozható létre egy új kulcs:" + +#. (itstool) path: item/p +#: C/ssh-create.page:42 +msgid "Select Secure Shell Key from the list." +msgstr "Válassza az SSH-kulcs elemet a listából." + +#. (itstool) path: item/p +#: C/ssh-create.page:43 +msgid "" +"Enter a description for the key. The key description will help you to " +"identify the key later. For example, you could enter the date for the day, " +"something about how the key will be used, or the server name on which you " +"intend to install the key. The description field is optional, and how you " +"describe the key is entirely up to you." +msgstr "" +"Adja meg a kulcs leírását. A kulcs leírása a kulcs későbbi azonosítását " +"segíti. Itt megadhatja a létrehozás dátumát, a kulcs használatával " +"kapcsolatos információkat, vagy a kiszolgáló nevét, amelyre a kulccsal be " +"szeretne jelentkezni. Ez a mező opcionális, tartalma teljesen Öntől függ." + +#. (itstool) path: item/p +#: C/ssh-create.page:48 +msgid "" +"You can also change default settings for encryption type or key strength." +msgstr "" +"Megváltoztathatja a kulcs típusának vagy a kulcs erősségének alapértelmezett " +"beállításait is." + +#. (itstool) path: page/p +#: C/ssh-create.page:52 +msgid "" +"At this point, you can just create your key, or create your key and install " +"it on a remote computer to enable password-free login." +msgstr "" +"Ekkor lehetséges a kulcs puszta létrehozása, vagy ezen kívül a távoli " +"számítógépen jelszómentes bejelentkezéshez való beállítása is." + +#. (itstool) path: section/title +#: C/ssh-create.page:56 +msgid "Create your key and do not set up remote login" +msgstr "Kulcs létrehozása a jelszómentes bejelentkezés beállítása nélkül." + +#. (itstool) path: section/p +#: C/ssh-create.page:57 +msgid "You can create the SSH key, and choose to set it up later." +msgstr "Az SSH-kulcs létrehozható a bejelentkezés beállítása nélkül is." + +#. (itstool) path: item/p +#: C/ssh-create.page:61 +msgid "Press the Just Create Key button." +msgstr "Ehhez kattintson a Csak létrehozás gombra." + +#. (itstool) path: item/p +#: C/ssh-create.page:64 +msgid "" +"Type a passphrase for your SSH key and press OK." +msgstr "" +"Írja be az SSH-kulcs jelmondatát, majd kattintson az OK gombra." + +#. (itstool) path: item/p +#: C/ssh-create.page:68 +msgid "" +"Retype the passphrase and press OK to finish." +msgstr "" +"Erősítse meg a megadott jelmondatot, majd a befejezéshez kattintson az OK gombra." + +#. (itstool) path: section/p +#: C/ssh-create.page:73 +msgid "The SSH key will now be listed in the OpenSSH keys keyring." +msgstr "" +"Az új SSH-kulcs ezután az OpenSSH-kulcsok kulcstartón jelenik meg." + +#. (itstool) path: note/p +#: C/ssh-create.page:77 +msgid "" +"When you try to use your SSH key, your operating system will prompt you for " +"the passphrase used during creation. This ensures that if someone gets " +"access to your SSH key, they can't use it without the passphrase." +msgstr "" +"Az SSH-kulcs használatakor az operációs rendszer bekéri a létrehozáskor " +"megadott jelmondatot. A jelmondat nélkül az SSH-kulcs használhatatlan, még " +"abban az esetben is, ha valakinek sikerülne hozzáférni ahhoz." + +#. (itstool) path: section/title +#: C/ssh-create.page:86 +msgid "Create your key and install it on a remote computer" +msgstr "Kulcs létrehozása és beállítása egy távoli számítógépen" + +#. (itstool) path: section/p +#: C/ssh-create.page:87 +msgid "" +"One of the most useful things about having an SSH key is that you can " +"install the public key on a remote computer. Doing this allows you to log in " +"to a remote computer with SSH without needing to enter your password every " +"time." +msgstr "" +"Az SSH-kulcs egyik leghasznosabb tulajdonsága az, hogy telepíteni tudja a " +"nyilvános kulcsot egy távoli számítógépen. Így az SSH használatával be tud " +"jelentkezni a távoli gépre a jelszó ismételt megadása nélkül is." + +#. (itstool) path: item/p +#: C/ssh-create.page:94 +msgid "" +"Press the Create and Set Up button, and follow " +"the above instructions on entering a passphrase." +msgstr "" +"Ehhez nyomja meg a Létrehozás és beállítás " +"gombot, majd adja meg a jelmondatot a fentebb leírtak szerint." + +#. (itstool) path: item/p +#: C/ssh-create.page:98 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH." +msgstr "" +"A megjelenő párbeszédablakban adja meg a Kiszolgáló címét, " +"amelyet általában a távoli számítógépre SSH-n keresztüli bejelentkezéshez " +"használ." + +#. (itstool) path: item/p +#: C/ssh-create.page:102 +msgid "" +"Ensure that the Login name you use on the remote computer is " +"correct, and press Set Up." +msgstr "" +"Bizonyosodjon meg a távoli számítógépen használt Bejelentkezési név helyességéről, majd nyomja meg a Beállítás gombot." + +#. (itstool) path: section/p +#: C/ssh-create.page:121 +msgid "" +"The public part of the selected SSH key will now be installed on the remote " +"computer and configured to allow password-free SSH login. You should now be " +"able to log in to the remote computer via SSH without a password." +msgstr "" +"Az alkalmazás telepíti a kiválasztott SSH-kulcs nyilvános részét a távoli " +"számítógépen, és beállítja a jelszómentes SSH-bejelentkezést. Ezt követőn " +"képes lesz SSH segítségével jelszó megadása nélkül is bejelentkezni a távoli " +"számítógépre." + +#. (itstool) path: note/p +#: C/ssh-create.page:127 +msgid "" +"If SSH key authentication fails and you cannot use password authentication, " +"contact the service administrator for further help." +msgstr "" +"Ha az SSH-kulcsos hitelesítés meghiúsul, és nem tudja a jelszavas " +"hitelesítést használni, akkor további segítségért keresse meg a szolgáltatás " +"adminisztrátorát." + +#. (itstool) path: info/desc +#: C/ssh-export.page:20 +msgid "Export your public and private SSH keys to store them in keyfiles." +msgstr "" +"Nyilvános és személyes SSH-kulcsok exportálása kulcsfájlban való tároláshoz." + +#. (itstool) path: page/title +#: C/ssh-export.page:24 +msgid "Export SSH keys" +msgstr "SSH-kulcsok exportálása" + +#. (itstool) path: page/p +#: C/ssh-export.page:26 +msgid "" +"Export the contents of your SSH keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Biztonsági másolat készítéséhez, vagy nyilvános kulcsa másokkal való " +"megosztásához SSH-kulcsai tartalmát kulcsfájlba is exportálhatja." + +#. (itstool) path: section/title +#: C/ssh-export.page:30 +msgid "To export your public SSH key:" +msgstr "A nyilvános SSH-kulcs exportálásához:" + +#. (itstool) path: item/p +#: C/ssh-export.page:34 C/ssh-export.page:57 +msgid "Select the OpenSSH keys keyring from the left side panel." +msgstr "Válassza ki a bal oldali sáv OpenSSH kulcsok kulcstartóját." + +#. (itstool) path: item/p +#: C/ssh-export.page:38 C/ssh-export.page:61 +msgid "" +"Select the Personal SSH key, that has to be exported, from the " +"list." +msgstr "" +"Válassza ki a listából az exportálandó Személyes SSH-kulcsot." + +#. (itstool) path: item/p +#: C/ssh-export.page:45 +msgid "" +"Press the Export button to save the exported " +"public key on your computer." +msgstr "" +"Nyomja meg az Exportálás gombot az exportált " +"nyilvános kulcs mentéséhez a számítógépére." + +#. (itstool) path: section/title +#: C/ssh-export.page:53 +msgid "To export your private SSH key:" +msgstr "Személyes SSH-kulcs exportálásához:" + +#. (itstool) path: item/p +#: C/ssh-export.page:65 +msgid "" +"Right click on the selected key and select Properties." +msgstr "" +"Kattintson a jobb egérgombbal a kijelölt kulcsra, majd válassza a Tulajdonságok menüpontot." + +#. (itstool) path: item/p +#: C/ssh-export.page:69 +msgid "" +"Press the Export button to save the exported " +"private key on your computer." +msgstr "" +"Nyomja meg az Exportálás gombot az exportált " +"személyes kulcs mentéséhez a számítógépére." + +#. (itstool) path: note/p +#: C/ssh-export.page:75 +msgid "" +"Keep the exported private key file in a safe location, since the contents of " +"the file must be kept private, to prevent misuse of your key." +msgstr "" +"A kulcsával való visszaélés megelőzése érdekében az exportált személyes " +"kulcsot tárolja mindig biztonságos helyen." + +#. (itstool) path: info/desc +#: C/ssh-import.page:25 +msgid "Import SSH keys from keyfiles into Passwords and Keys." +msgstr "" +"SSH-kulcsok importálása kulcsfájlból a Jelszavak és kulcsok " +"alkalmazásba." + +#. (itstool) path: page/title +#: C/ssh-import.page:28 +msgid "Import SSH keys" +msgstr "SSH-kulcsok importálása" + +#. (itstool) path: page/p +#: C/ssh-import.page:30 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports SSH keys from the ~/.ssh directory on " +"your computer. You can also manually import keys into Passwords and " +"Keys." +msgstr "" +"Ha e-mailen keresztül kapott egy kulcsfájlt, érdemes azt importálni a " +"Jelszavak és kulcsok alkalmazásba. A legtöbb esetben a " +"Jelszavak és kulcsok alkalmazás automatikusan importálja a " +"számítógépe ~/.ssh könyvtárában található SSH-kulcsokat. Ezt " +"manuálisan is elvégezheti." + +#. (itstool) path: item/p +#: C/ssh-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. Public SSH keys end " +"with .pub." +msgstr "" +"A megjelenő ablakban válassza ki az importálandó kulcsot. A nyilvános SSH-" +"kulcsok .pub kiterjesztéssel rendelkeznek." + +#. (itstool) path: page/p +#: C/ssh-import.page:53 +msgid "" +"Imported keys are automatically grouped according to their type. So, " +"SSH keys are listed in the OpenSSH keys section." +msgstr "" +"Az importált kulcsok típustól függően automatikusan csoportosítva lesznek. " +"Így az SSH-kulcsok az OpenSSH kulcsok listájába " +"kerülnek." + +#. (itstool) path: info/desc +#: C/subkeys-add.page:20 +msgid "Additional subkeys make your master key more secure." +msgstr "A további részkulcsok biztonságosabbá teszik a mesterkulcsát." + +#. (itstool) path: page/title +#: C/subkeys-add.page:23 +msgid "Add extra subkeys" +msgstr "További részkulcsok hozzáadása" + +#. (itstool) path: page/p +#: C/subkeys-add.page:25 +msgid "" +"You can add extra subkeys to the same master key. You have to choose the " +"right subkey each time you want to encrypt or sign when you do this." +msgstr "" +"Ugyanazon mesterkulcshoz több részkulcsot is társíthat. Ha így dönt, akkor " +"aláíráshoz vagy titkosításhoz minden egyes alkalommal ki kell válassza a " +"helyes részkulcsot." + +#. (itstool) path: steps/title +#: C/subkeys-add.page:29 +msgid "To add extra subkeys to a PGP key:" +msgstr "További részkulcsok hozzáadása PGP-kulcshoz:" + +#. (itstool) path: item/p +#: C/subkeys-add.page:41 C/subkeys-examine.page:41 +msgid "If the Subkeys panel is not expanded, expand it." +msgstr "" +"Ha nem látható, akkor a kulcs tulajdonságai között bontsa ki a " +"Részkulcsok lapot." + +#. (itstool) path: item/p +#: C/subkeys-add.page:44 +msgid "Click the Add button to add a new subkey." +msgstr "" +"Egy új részkulcs hozzáadásához kattintson a Hozzáadás gombra." + +#. (itstool) path: item/p +#: C/subkeys-add.page:48 +msgid "" +"Choose the right properties for your key by selecting the appropriate " +"Key Type, Key Length and Expiration Date " +"and click OK." +msgstr "" +"Határozza meg a kulcs megfelelő tulajdonságait a Kulcstípus, a " +"Kulcshossz és a Lejárati idő segítségével, majd " +"kattintson az OK gombra." + +#. (itstool) path: note/p +#: C/subkeys-add.page:55 +msgid "" +"Always ensure that your subkey expires before your master key since a subkey " +"is useless when its master key has expired." +msgstr "" +"Győződjön meg arról, hogy a részkulcs a mesterkulcs előtt jár le, mivel a " +"részkulcsok használhatatlanok, ha a mesterkulcs már lejárt." + +#. (itstool) path: info/desc +#: C/subkeys-examine.page:20 +msgid "See all the subkeys listed under a PGP key." +msgstr "PGP-kulcshoz tartozó összes részkulcs megtekintése." + +#. (itstool) path: page/title +#: C/subkeys-examine.page:23 +msgid "Where are my subkeys listed?" +msgstr "Hol vannak felsorolva a részkulcsaim?" + +#. (itstool) path: page/p +#: C/subkeys-examine.page:25 +msgid "" +"You can check the contents of a keypair to see the properties of a subkey." +msgstr "" +"A részkulcs tulajdonságait az adott kulcspár tartalmának ellenőrzésével " +"tekintheti meg." + +#. (itstool) path: steps/title +#: C/subkeys-examine.page:29 +msgid "To see all the subkeys in a PGP key:" +msgstr "PGP-kulcs részkulcsainak megtekintéséhez:" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:31 +msgid "Select the GnuPG keys from the left side panel." +msgstr "Válassza ki a GnuPG kulcsokat a bal oldali sávban." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:34 +msgid "Select the Personal PGP key." +msgstr "Válassza ki a kívánt Személyes PGP-kulcsot." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:37 +msgid "" +"Right click on the key chosen in the previous step and select " +"PropertiesDetails." +msgstr "" +"Kattintson a jobb egérgombbal az előbb kiválasztott kulcsra, majd válassza " +"ki a TulajdonságokRészletek lapot." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:44 +msgid "All the subkeys for the selected PGP key will be listed in the panel." +msgstr "A kiválasztott PGP-kulcs összes részkulcsa megjelenik az alsó sávban." + +#. (itstool) path: note/p +#: C/subkeys-examine.page:50 +msgid "" +"While signing another key, Passwords and Keys automatically " +"chooses the master key for signing, when you select a GnuPG keys " +"keypair to sign with." +msgstr "" +"Egy másik kulcs aláírásakor a Jelszavak és kulcsok alkalmazás " +"automatikusan a kiválasztott GnuPG kulcsok kulcspár mesterkulcsát " +"fogja használni az aláírásra." + +#. (itstool) path: info/desc +#: C/subkeys-revoke.page:20 +msgid "Revoke a subkey that has been compromised or is not being used." +msgstr "Kompromittált vagy használaton kívüli részkulcs visszavonása" + +#. (itstool) path: page/title +#: C/subkeys-revoke.page:24 +msgid "Revoke your subkeys" +msgstr "Részkulcsok visszavonása" + +#. (itstool) path: page/p +#: C/subkeys-revoke.page:26 +msgid "" +"If your subkey has been compromised or is no longer in use, it might be a " +"good idea to revoke it to prevent misuse of the key." +msgstr "" +"Ha részkulcsa kompromittálódott vagy már nincs használatban, érdemes lehet " +"visszavonni a kulcsot az azzal való visszaélés megelőzése érdekében." + +#. (itstool) path: steps/title +#: C/subkeys-revoke.page:30 +msgid "To revoke a subkey:" +msgstr "Részkulcs visszavonásához:" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:32 +msgid "" +"Navigate to the Subkeys " +"panel." +msgstr "" +"Nyissa ki a Részkulcsok " +"ablaktáblát." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:47 +msgid "" +"Select the subkey from the list and press the Revoke button." +msgstr "" +"Válassza ki a kívánt részkulcsot a listából, és nyomja meg a Visszavonás gombot." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:51 +msgid "" +"In the new dialog, select a reason for revoking the key. Optionally, " +"describe your reason in more detail in the Description field." +msgstr "" +"A megjelenő ablakban válassza ki a visszavonás okát. A Leírás " +"mezőben részletesebben is leírhatja a visszavonás okát." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:56 +msgid "Press the Revoke button." +msgstr "Nyomja meg a Visszavonás gombot." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:59 +msgid "You will have to unlock the key with its passphrase." +msgstr "A kulcs feloldásához meg kell adnia a jelmondatot." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:62 +msgid "" +"The Status of the subkey changes to Revoked in the " +"Subkeys panel." +msgstr "" +"A részkulcs Állapota Visszavontra változik a " +"Részkulcsok panelen." + +#. (itstool) path: note/p +#: C/subkeys-revoke.page:68 +msgid "" +"If you have published your subkey, you " +"must synchronize it with the key servers " +"after revoking it to apply the revocation on all copies of the key." +msgstr "" +"Ha a részkulcsát előzőleg közzétette, " +"akkor a visszavonást követően szinkronizálnia " +"kell a részkulcsot a kulcskiszolgálókkal, hogy alkalmazzák a visszavonást a " +"kulcs összes másolatán." + diff --git a/help/id/id.po b/help/id/id.po new file mode 100644 index 00000000..af9efb2a --- /dev/null +++ b/help/id/id.po @@ -0,0 +1,3228 @@ +# Indonesian translation for seahorse. +# Copyright (C) 2016 seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# Kukuh Syafaat , 2016 +# Andika Triwidada , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"POT-Creation-Date: 2020-07-31 17:47+0000\n" +"PO-Revision-Date: 2020-10-04 22:37+0700\n" +"Last-Translator: Andika Triwidada \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.1\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "" +"Kukuh Syafaat , 2016.\n" +"Andika Triwidada , 2020" + +#. (itstool) path: credit/name +#: C/about-diff-private-public.page:14 C/about-ssh.page:13 C/concepts.page:14 +#: C/index.page:14 C/introduction.page:15 C/keyring-create.page:26 +#: C/keyring.page:15 C/pgp-create.page:16 C/pgp-import.page:21 +#: C/ssh-connect-remote.page:14 C/ssh-create.page:16 C/ssh-import.page:20 +msgid "Jim Campbell" +msgstr "Jim Campbell" + +#. (itstool) path: credit/years +#: C/about-diff-private-public.page:16 C/about-pgp.page:17 C/about-ssh.page:15 +#: C/glossary.page:17 C/index.page:16 C/index.page:21 C/index.page:26 +#: C/introduction.page:17 C/introduction.page:23 C/key-servers-add.page:20 +#: C/keyring-change-default.page:16 C/keyring-create.page:18 +#: C/keyring-create.page:23 C/keyring-lock.page:17 C/keyring-unlock.page:17 +#: C/keyring-update-password.page:17 C/keyring.page:17 C/keyring.page:22 +#: C/keyring.page:27 C/misc-key-backup.page:17 C/misc-key-fingerprint.page:16 +#: C/passwords-stored-create.page:16 C/passwords-view.page:18 +#: C/pgp-create.page:18 C/pgp-create.page:24 C/pgp-delete.page:17 +#: C/pgp-expiration-change.page:16 C/pgp-expired.page:17 C/pgp-export.page:16 +#: C/pgp-import.page:18 C/pgp-import.page:23 C/pgp-photoid.page:17 +#: C/pgp-publish.page:18 C/pgp-retrieve-remote.page:18 C/pgp-sign.page:16 +#: C/pgp-subkeys.page:16 C/pgp-sync.page:18 C/pgp-userid-add.page:17 +#: C/pgp-userid-primary.page:16 C/pgp-userid-remove.page:17 +#: C/pgp-userid.page:16 C/ssh-create.page:18 C/ssh-export.page:17 +#: C/ssh-import.page:17 C/ssh-import.page:22 C/subkeys-add.page:17 +#: C/subkeys-examine.page:17 C/subkeys-revoke.page:17 +msgid "2013" +msgstr "2013" + +#. (itstool) path: info/desc +#: C/about-diff-private-public.page:19 +msgid "" +"A public key is used to encrypt communication. A private key is used to " +"decrypt it." +msgstr "" +"Kunci publik digunakan untuk mengenkripsi komunikasi. Kunci privat digunakan " +"untuk mendekripsi komunikasi." + +#. (itstool) path: page/title +#: C/about-diff-private-public.page:23 +msgid "Public Key vs Private Key" +msgstr "Kunci Publik vs Kunci Privat" + +#. (itstool) path: page/p +#: C/about-diff-private-public.page:25 +msgid "" +"Although Public Keys and Private Keys are both referred to " +"as keys, it helps to think of them a bit differently. Try to think " +"of a Public Key as being like a padlock, and a Private Key " +"as being like a key that unlocks the padlock." +msgstr "" +"Meskipun Kunci Publik dan Kunci Privat disebut sebagai " +"kunci, tetapi keduanya sedikit berbeda. Cobalah untuk memikirkan " +"Kunci Publik seperti gembok, dan Kunci Privat sebagai " +"seperti kunci yang membuka gembok." + +#. (itstool) path: section/title +#: C/about-diff-private-public.page:31 +msgid "An Example: Sending a Secret Message in a Box" +msgstr "Contoh: Mengirim Pesan Rahasia dalam Kotak" + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:33 +msgid "" +"Let's use an example to see how this works. Imagine that you want your " +"friend to send you a secret message in a box. You could give your friend a " +"box and a padlock, but only you would have the key that unlocks the padlock." +msgstr "" +"Mari kita gunakan contoh untuk melihat bagaimana hal ini bekerja. Bayangkan " +"Anda ingin teman Anda untuk mengirimkan pesan rahasia dalam sebuah kotak. " +"Anda bisa memberikan teman Anda kotak dan gembok, tetapi hanya Anda yang " +"akan memiliki kunci untuk membuka gembok." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:38 +msgid "" +"Your friend could put their message in the box, lock the padlock, and then " +"send you the locked box in the mail. When you receive it, you would use your " +"key to unlock the box." +msgstr "" +"Teman Anda bisa menempatkan pesan mereka didalam kotak, mengunci gembok, dan " +"kemudian mengirimkan kotak terkunci dalam surat. Bila Anda menerimanya, Anda " +"akan menggunakan kunci untuk membuka kotak." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:42 +msgid "" +"This is similar to how a Public Key and a Private Key " +"work. Like the padlock, you can freely give out your Public Key. " +"This will make it easy for anyone to securely encrypt, or lock, a message " +"that they want to send to you." +msgstr "" +"Hal ini mirip dengan bagaimana sebuah Kunci Publik dan Kunci " +"Privat bekerja. Seperti gembok, Anda dapat dengan bebas memberikan " +"Kunci Publik. Hal ini Ini akan mempermudah bagi siapa saja untuk " +"mengenkripsi dengan aman, atau mengunci, pesan yang ingin mereka kirim " +"kepada Anda." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:47 +msgid "" +"On the other hand, a Private Key is like the key that allows you to " +"decrypt, or unlock, the padlock. Because the Private Key is used to " +"decrypt secure messages, you will want to keep your Private Key " +"safe." +msgstr "" +"Disisi lain, sebuah Kunci Privat adalah kunci yang memungkinkan " +"Anda untuk mendekripsi, atau membuka gembok. Karena Kunci Privat " +"digunakan untuk mendekripsi pesan dengan aman, Anda sebaiknya menjaga " +"Kunci Privat dengan aman." + +#. (itstool) path: credit/name +#: C/about-pgp.page:15 C/glossary.page:15 C/index.page:19 +#: C/introduction.page:21 C/key-servers-add.page:18 +#: C/keyring-change-default.page:14 C/keyring-create.page:16 +#: C/keyring-lock.page:15 C/keyring-unlock.page:15 +#: C/keyring-update-password.page:15 C/keyring.page:20 +#: C/misc-key-backup.page:15 C/misc-key-fingerprint.page:14 +#: C/passwords-stored-create.page:14 C/passwords-view.page:16 +#: C/pgp-create.page:22 C/pgp-delete.page:15 C/pgp-expiration-change.page:14 +#: C/pgp-expired.page:15 C/pgp-export.page:14 C/pgp-import.page:16 +#: C/pgp-photoid.page:15 C/pgp-sign.page:14 C/pgp-subkeys.page:14 +#: C/pgp-sync.page:16 C/pgp-userid-add.page:15 C/pgp-userid-primary.page:14 +#: C/pgp-userid-remove.page:15 C/pgp-userid.page:14 +#: C/ssh-connect-remote.page:19 C/ssh-export.page:15 C/ssh-import.page:15 +#: C/subkeys-add.page:15 C/subkeys-examine.page:15 C/subkeys-revoke.page:15 +msgid "Aruna Sankaranarayanan" +msgstr "Aruna Sankaranarayanan" + +#. (itstool) path: info/desc +#: C/about-pgp.page:20 +msgid "PGP keys are used to sign and encrypt emails and files." +msgstr "" +"Kunci PGP digunakan untuk menandatangani dan mengenkripsi surel dan berkas." + +#. (itstool) path: page/title +#: C/about-pgp.page:23 +msgid "What is a PGP key?" +msgstr "Apa itu kunci PGP?" + +#. (itstool) path: page/p +#: C/about-pgp.page:25 +msgid "" +"A PGP key is a public encryption key. A PGP key can be used to sign and " +"encrypt emails and files. When you create a PGP key, a keypair having a " +"public key and a private key is generated. You can share the public key with " +"anyone who wishes to send you encrypted messages or files, but the private " +"key must be known only to you and used to decrypt received messages." +msgstr "" +"Kunci PGP adalah kunci enkripsi publik. Kunci PGP dapat digunakan untuk " +"menandatangani dan mengenkripsi surel dan berkas. Bila Anda membuat kunci " +"PGP, sebuah pasangan kunci yang berisi kunci publik dan kunci privat akan " +"dihasilkan. Anda dapat berbagi kunci publik dengan siapa saja yang ingin " +"Anda kirimkan pesan terenkripsi atau berkas, tetapi kunci privat harus " +"diketahui hanya oleh Anda dan digunakan untuk mendekripsi pesan yang " +"diterima." + +#. (itstool) path: section/title +#: C/about-pgp.page:32 +msgid "Encrypt and sign data using PGP keys" +msgstr "Mengenkripsi dan menandatangani data menggunakan kunci PGP" + +#. (itstool) path: section/p +#: C/about-pgp.page:34 +msgid "" +"Passwords and Keys is a key management application. Though it " +"cannot be used to encrypt or sign files and messages, you can use it to " +"sign trustworthy keys." +msgstr "" +"Sandi dan Kunci merupakan aplikasi manajemen kunci. Meskipun " +"tidak dapat digunakan untuk mengenkripsi atau menandatangani berkas dan " +"pesan, Anda dapat menggunakannya untuk menandatangani kunci yang dapat dipercaya." + +#. (itstool) path: section/p +#: C/about-pgp.page:38 +msgid "" +"To secure your communication, you can use email clients like Evolution that provide encryption and signing services." +msgstr "" +"Untuk mengamankan komunikasi Anda, Anda dapat menggunakan klien surel " +"seperti Evolution yang menyediakan layanan enkripsi dan " +"penandatanganan." + +#. (itstool) path: info/desc +#: C/about-ssh.page:18 +msgid "" +"SSH keys are used to login to a remote computer, once a secure connection " +"has been established." +msgstr "" +"Kunci SSH digunakan untuk masuk ke komputer jarak jauh, setelah koneksi aman " +"dibentuk." + +#. (itstool) path: page/title +#: C/about-ssh.page:22 +msgid "What is a Secure Shell key?" +msgstr "Apa itu kunci Secure Shell?" + +#. (itstool) path: page/p +#: C/about-ssh.page:24 +msgid "" +"A Secure Shell key, often just called an SSH key, helps " +"you create a secure connection over an unsecured network." +msgstr "" +"Kunci Secure Shell, sering disebut Kunci SSH, membantu " +"Anda membuat sambungan aman melalui jaringan yang tidak aman." + +#. (itstool) path: list/title +#: C/about-ssh.page:28 +msgid "An SSH key actually consists of two parts:" +msgstr "Kunci SSH sebenarnya terdiri dari dua bagian:" + +#. (itstool) path: item/p +#: C/about-ssh.page:29 +msgid "A public key, which is widely available." +msgstr "Sebuah kunci publik, yang tersedia secara luas." + +#. (itstool) path: item/p +#: C/about-ssh.page:30 +msgid "" +"A private key, which is kept secret. The private key is used to unlock " +"messages encrypted with a corresponding public key." +msgstr "" +"Sebuah kunci privat yang dirahasiakan. Kunci privat digunakan untuk membuka " +"pesan yang terenkripsi dengan kunci publik yang sesuai." + +#. (itstool) path: page/p +#: C/about-ssh.page:34 +msgid "" +"The advantage of using an SSH key to create a connection between " +"computers is that only the Public key needs to be sent over the " +"network. Transmissions encrypted with a Public key can only be " +"decoded by unlocking them with the corresponding Private key and a " +"password. Because only the public key is sent over the network, the key's " +"password is kept secret." +msgstr "" +"Keuntungan dari menggunakan kunci SSH untuk membuat koneksi antara " +"komputer adalah bahwa hanya kunci publik yang perlu dikirim melalui " +"jaringan. Transmisi yang dienkripsi dengan kunci publik hanya dapat " +"diterjemahkan dengan membuka kunci privat dan sandi mereka yang " +"sesuai. Karena hanya kunci publik yang dikirim melalui jaringan, kata sandi " +"kunci ini dirahasiakan." + +#. (itstool) path: credit/years +#: C/concepts.page:16 C/key-servers-add.page:25 C/keyring-create.page:28 +#: C/misc-key-backup.page:23 C/passwords-view.page:24 C/pgp-create.page:30 +#: C/pgp-delete.page:23 C/ssh-create.page:23 C/ssh-create.page:28 +msgid "2014" +msgstr "2014" + +#. (itstool) path: info/desc +#: C/concepts.page:19 +msgid "" +"Learn terms and concepts that are relevant to managing passwords and keys." +msgstr "" +"Mempelajari istilah dan konsep yang relevan untuk mengelola kata sandi dan " +"kunci." + +#. (itstool) path: page/title +#: C/concepts.page:23 +msgid "Key Concepts and Terms" +msgstr "Konsep Kunci dan Istilah" + +#. (itstool) path: info/desc +#: C/glossary.page:20 +msgid "A list of basic terms used." +msgstr "Daftar istilah dasar yang digunakan." + +#. (itstool) path: page/title +#: C/glossary.page:23 +msgid "Glossary" +msgstr "Glosarium" + +#. (itstool) path: page/p +#: C/glossary.page:25 +msgid "" +"Passwords and Keys helps you to generate and manage tokens that " +"can be used to protect your files and communication. Here are some basic " +"terms that you will encounter while reading this help:" +msgstr "" +"Sandi dan Kunci membantu Anda untuk menghasilkan dan mengelola " +"token yang dapat digunakan untuk melindungi berkas dan komunikasi. Berikut " +"adalah beberapa istilah dasar yang akan Anda temui saat membaca bantuan ini:" + +#. (itstool) path: item/title +#: C/glossary.page:31 +msgid "Encryption" +msgstr "Enkripsi" + +#. (itstool) path: item/p +#: C/glossary.page:32 +msgid "" +"Encryption is the process of making your important files and data unreadable " +"to anyone but the intended recipient. When you encrypt your data, it becomes " +"a scrambled sequence of numbers and letters. Encryption is done by someone " +"who is sending a protected file, or sending a message in a protected " +"conversation." +msgstr "" +"Enkripsi adalah proses pembuatan berkas penting Anda dan data tidak terbaca " +"kepada siapa pun kecuali penerima yang dimaksud. Bila Anda mengenkripsi data " +"Anda, maka data menjadi urutan acak angka dan huruf. Enkripsi dilakukan oleh " +"seseorang yang mengirim berkas yang dilindungi, atau mengirim pesan dalam " +"percakapan yang dilindungi." + +#. (itstool) path: item/title +#: C/glossary.page:39 +msgid "Algorithm" +msgstr "Algoritma" + +#. (itstool) path: item/p +#: C/glossary.page:40 +msgid "" +"An algorithm is a sequence of steps used to encrypt or decrypt your data." +msgstr "" +"Algoritma adalah urutan langkah-langkah yang digunakan untuk mengenkripsi " +"atau mendekripsi data Anda." + +#. (itstool) path: item/title +#: C/glossary.page:44 +msgid "Decryption" +msgstr "Dekripsi" + +#. (itstool) path: item/p +#: C/glossary.page:45 +msgid "" +"Decryption is the process of retrieving the original text from the encrypted " +"message or file. It is done by the receiver of the protected file or " +"communication. Encrypted messages cannot be understood without decrypting " +"them first." +msgstr "" +"Dekripsi adalah proses mengambil teks asli dari pesan dienkripsi atau " +"berkas. Hal ini dilakukan oleh penerima berkas yang dilindungi atau " +"komunikasi. pesan terenkripsi tidak dapat dipahami tanpa mendekripsinya " +"terlebih dahulu." + +#. (itstool) path: item/title +#: C/glossary.page:51 +msgid "Plaintext" +msgstr "Plaintext" + +#. (itstool) path: item/p +#: C/glossary.page:52 +msgid "" +"Any data or file that is not encrypted, and can therefore be read by anyone " +"who can access it, is called plaintext." +msgstr "" +"Setiap data atau berkas yang tidak dienkripsi, dan oleh sebab itu dapat " +"dibaca oleh siapa saja yang dapat mengaksesnya, disebut plaintext." + +#. (itstool) path: item/title +#: C/glossary.page:56 +msgid "Key" +msgstr "Kunci" + +#. (itstool) path: item/p +#: C/glossary.page:57 +msgid "" +"A key is used to encrypt and decrypt files and communication. A key may also " +"be used to login to a remote computer. Some types of keys are PGP keys and SSH " +"keys." +msgstr "" +"Sebuah kunci digunakan untuk mengenkripsi dan mendekripsi berkas dan " +"komunikasi. Kunci juga dapat digunakan untuk masuk ke komputer jarak jauh. " +"Beberapa jenis kunci antara lain kunci PGP dan kunci SSH." + +#. (itstool) path: item/title +#: C/glossary.page:63 +msgid "Keyring" +msgstr "Ring Kunci" + +#. (itstool) path: item/p +#: C/glossary.page:64 +msgid "A keyring is a collection of passwords or keys." +msgstr "Ring Kunci adalah kumpulan kata sandi atau kunci." + +#. (itstool) path: info/title +#: C/index.page:8 +msgctxt "link" +msgid "Passwords and Keys" +msgstr "Sandi dan Kunci" + +#. (itstool) path: info/title +#: C/index.page:9 +msgctxt "text" +msgid "Passwords and Keys" +msgstr "Sandi dan Kunci" + +#. (itstool) path: credit/name +#: C/index.page:24 C/keyring-create.page:21 C/keyring.page:25 +#: C/ssh-create.page:26 +msgid "Ekaterina Gerasimova" +msgstr "Ekaterina Gerasimova" + +#. (itstool) path: info/desc +#: C/index.page:31 +msgid "" +"Use Passwords and Keys to remember your passwords, and to create " +"and manage PGP and SSH keys." +msgstr "" +"Gunakan Sandi dan Kunci untuk mengingat kata sandi Anda, dan " +"untuk membuat serta mengelola kunci PGP dan SSH." + +#. (itstool) path: page/title +#: C/index.page:34 +msgid "<_:media-1/> Passwords and Keys" +msgstr "<_:media-1/> Sandi dan Kunci" + +#. (itstool) path: section/title +#: C/index.page:40 +msgid "SSH Keys" +msgstr "Kunci SSH" + +#. (itstool) path: section/title +#: C/index.page:45 +msgid "PGP keys" +msgstr "Kunci PGP" + +#. (itstool) path: section/title +#: C/index.page:50 +msgid "Stored passwords and password keyrings" +msgstr "Simpan kata sandi dan kata sandi ring kunci" + +#. (itstool) path: info/desc +#: C/introduction.page:26 +msgid "" +"Use Passwords and Keys to create and manage PGP and SSH keys and " +"to save passwords that are difficult to remember." +msgstr "" +"Gunakan Sandi dan Kunci untuk membuat dan mengelola kunci PGP dan " +"SSH dan untuk menyimpan kata sandi yang sulit untuk diingat." + +#. (itstool) path: page/title +#: C/introduction.page:30 +msgid "Introduction" +msgstr "Pengenalan" + +#. (itstool) path: page/p +#: C/introduction.page:32 +msgid "" +"Welcome to the Passwords and Keys help guide. Passwords and " +"Keys creates and stores security tokens, helping to keep your " +"information secure on your computer, and secure when you send information " +"over a network." +msgstr "" +"Selamat datang di panduan bantuan Sandi dan Kunci. Sandi dan " +"Kunci membuat dan menyimpan token keamanan, membantu menjaga informasi " +"Anda agar aman di komputer Anda, dan aman ketika Anda mengirim informasi " +"melalui jaringan." + +#. (itstool) path: page/p +#: C/introduction.page:36 +msgid "Using Passwords and Keys, you can:" +msgstr "Menggunakan Sandi dan Kunci, Anda dapat:" + +#. (itstool) path: item/p +#: C/introduction.page:40 +msgid "" +"Copy and save passwords that " +"are difficult to remember. To group related passwords, create keyrings." +msgstr "" +"Salin dan simpan kata sandi " +"yang sulit untuk diingat. Untuk kata sandi kelompok terkait, buat ring kunci." + +#. (itstool) path: item/p +#: C/introduction.page:45 +msgid "" +"Create and manage PGP keys." +msgstr "" +"Buat dan atur kunci PGP." + +#. (itstool) path: item/p +#: C/introduction.page:49 +msgid "" +"Create and manage SSH keys." +msgstr "" +"Buat dan atur kunci SSH." + +#. (itstool) path: credit/name +#: C/key-servers-add.page:23 C/misc-key-backup.page:21 C/passwords-view.page:22 +#: C/pgp-create.page:28 C/pgp-delete.page:21 C/ssh-create.page:21 +msgid "Hashem Nasarat" +msgstr "Hashem Nasarat" + +#. (itstool) path: credit/name +#: C/key-servers-add.page:28 C/passwords-view.page:28 +#: C/pgp-retrieve-remote.page:21 +msgid "Andre Klapper" +msgstr "Andre Klapper" + +#. (itstool) path: credit/years +#: C/key-servers-add.page:30 C/passwords-view.page:30 +#: C/pgp-retrieve-remote.page:23 +msgid "2020" +msgstr "2020" + +#. (itstool) path: info/desc +#: C/key-servers-add.page:33 +msgid "" +"Make additions to the list of keyservers in Passwords and Keys" +msgstr "Membuat penambahan daftar peladen kunci di Sandi dan Kunci" + +#. (itstool) path: page/title +#: C/key-servers-add.page:37 +msgid "Add a keyserver" +msgstr "Menambahkan peladen kunci" + +#. (itstool) path: page/p +#: C/key-servers-add.page:38 +msgid "" +"Passwords and Keys have the following keyservers listed by " +"default:" +msgstr "" +"Sandi dan Kunci memiliki peladen kunci berikut yang tercantum " +"secara bawaan:" + +#. (itstool) path: item/p +#: C/key-servers-add.page:42 +msgid "ldap://keyserver.pgp.com" +msgstr "ldap://keyserver.pgp.com" + +#. (itstool) path: steps/title +#: C/key-servers-add.page:47 +msgid "To add a keyserver" +msgstr "Untuk menambahkan peladen kunci" + +#. (itstool) path: item/p +#: C/key-servers-add.page:49 C/pgp-publish.page:44 +#: C/pgp-retrieve-remote.page:39 C/pgp-sync.page:41 +msgid "Press the menu button in the header bar." +msgstr "Tekan tombol menu di bilah kepala." + +#. (itstool) path: item/p +#: C/key-servers-add.page:52 +msgid "Select Preferences." +msgstr "Pilih Preferensi." + +#. (itstool) path: item/p +#: C/key-servers-add.page:55 +msgid "Select the Key Servers tab." +msgstr "Pilih tab Server Kunci." + +#. (itstool) path: item/p +#: C/key-servers-add.page:58 +msgid "Press the Add button." +msgstr "Tekan tombol Tambah." + +#. (itstool) path: item/p +#: C/key-servers-add.page:61 +msgid "" +"In the new dialog, select the appropriate Key Server Type. Key " +"servers are identified by the protocol they use to communicate. Look for the " +"first few letters in the Internet URL of your key server to identify its " +"type." +msgstr "" +"Dalam dialog baru, pilih Tipe Peladen Kunci yang sesuai. Peladen " +"kunci diidentifikasi oleh protokol yang mereka gunakan untuk berkomunikasi. " +"Carilah beberapa huruf pertama dalam URL Internet dari peladen kunci Anda " +"untuk mengidentifikasi jenisnya." + +#. (itstool) path: item/p +#: C/key-servers-add.page:67 +msgid "" +"In the Host field, paste the Internet URL of your " +"key server. Consult the documentation for the key server you're adding to " +"see if it operates on a non-standard port. If so, enter the port after the " +"':'. If you're unsure, leave the text box after the ':' blank." +msgstr "" +"Dalam kolom Host, tempel URL Internet dari " +"peladen kunci Anda. Periksa dokumentasi untuk peladen kunci yang Anda " +"tambahkan untuk melihat apakah itu beroperasi pada port non-standar. Jika " +"demikian, masukkan port setelah ':'. Jika Anda tidak yakin, biarkan kotak " +"teks kosong setelah ':'." + +#. (itstool) path: item/p +#: C/key-servers-add.page:74 +msgid "Press Save to finish." +msgstr "Tekan Simpan untuk mengakhiri." + +#. (itstool) path: info/desc +#: C/keyring-change-default.page:19 +msgid "Save new passwords to a different keyring by default." +msgstr "Simpan sandi baru ke ring kunci yang berbeda secara bawaan." + +#. (itstool) path: page/title +#: C/keyring-change-default.page:22 +msgid "Change the default keyring" +msgstr "Ubah ring kunci bawaan" + +#. (itstool) path: page/p +#: C/keyring-change-default.page:24 +msgid "" +"When you add a new password, " +"it is normally added to the default keyring. If you want to add it to a " +"different keyring, you can choose another one while adding the new password, " +"but you can also change the default keyring. The default keyring is normally " +"the Login keyring." +msgstr "" +"Ketika Anda menambah kata sandi baru, biasanya ditambahkan ke ring kunci bawaan. Jika Anda ingin " +"menambahkannya ke ring kunci yang berbeda, Anda dapat memilih satu sama lain " +"sambil menambahkan kata sandi baru, tetapi Anda juga dapat mengubah ring " +"kunci bawaan. Ring kunci bawaan biasanya adalah ring kunci untuk Masuk." + +#. (itstool) path: steps/title +#: C/keyring-change-default.page:32 +msgid "To change the default keyring:" +msgstr "Untuk mengubah ring kunci bawaan:" + +#. (itstool) path: item/p +#: C/keyring-change-default.page:34 +msgid "" +"Select your choice for the default keyring from the list of keyrings under " +"Passwords on the left side panel." +msgstr "" +"Pilih pilihan Anda untuk ring kunci bawaan dari daftar ring kunci dibawah " +"Sandi pada panel sebelah kiri." + +#. (itstool) path: item/p +#: C/keyring-change-default.page:38 +msgid "" +"Right click on the selected keyring and select Set as default." +msgstr "" +"Klik kanan pada ring kunci yang dipilih dan pilih Tetapkan sebagai " +"bawaan." + +#. (itstool) path: note/p +#: C/keyring-change-default.page:44 +msgid "" +"Passwords to some GNOME applications are stored automatically by " +"Passwords and Keys in the Login keyring because it is " +"the default keyring. When you change the default keyring, any new passwords " +"created for GNOME applications will be stored in the new default keyring " +"while GNOME application passwords created before the change will remain in " +"the Login keyring." +msgstr "" +"Kata sandi untuk beberapa aplikasi GNOME disimpan secara otomatis oleh " +"Sandi dan Kunci pada ring kunci Masuk karena merupakan " +"ring kunci bawaan. Ketika Anda mengubah ring kunci bawaan, setiap kata sandi " +"baru yang dibuat untuk aplikasi GNOME akan disimpan pada ring kunci bawaan " +"yang baru sementara sandi aplikasi GNOME yang dibuat sebelum perubahan akan " +"tetap berada pada ring kunci Masuk." + +#. (itstool) path: info/desc +#: C/keyring-create.page:31 +msgid "Use password keyrings to group stored passwords." +msgstr "" +"Menggunakan ring kunci kata sandi untuk kata sandi kelompok yang disimpan." + +#. (itstool) path: page/title +#: C/keyring-create.page:34 +msgid "Create a new keyring" +msgstr "Buat ring kunci baru" + +#. (itstool) path: page/p +#: C/keyring-create.page:36 +msgid "" +"Use keyrings to group related passwords. You " +"can choose to protect your keyring with a password." +msgstr "" +"Gunakan ring kunci untuk kata sandi kelompok " +"terkait. Anda dapat memilih untuk melindungi ring kunci Anda dengan kata " +"sandi." + +#. (itstool) path: steps/title +#: C/keyring-create.page:40 +msgid "Create a new password keyring:" +msgstr "Buat ring kunci kata sandi baru:" + +#. (itstool) path: item/p +#: C/keyring-create.page:42 C/passwords-stored-create.page:32 +#: C/pgp-create.page:42 C/pgp-import.page:39 C/ssh-create.page:41 +#: C/ssh-import.page:39 +msgid "" +"Press the + button in the top-left corner of the " +"window." +msgstr "Tekan tombol + di pojok kiri atas jendela." + +#. (itstool) path: item/p +#: C/keyring-create.page:45 +msgid "Select Password Keyring from the list." +msgstr "Pilih Ring Kunci Sandi dari daftar." + +#. (itstool) path: item/p +#: C/keyring-create.page:48 +msgid "" +"Choose a name for your new keyring, then press Add to continue." +msgstr "" +"Pilih nama untuk ring kunci baru Anda, lalu tekan Tambah untuk melanjutkan." + +#. (itstool) path: item/p +#: C/keyring-create.page:53 +msgid "" +"To password protect your keyring, choose a password, and retype it to " +"confirm your choice. Leave both the fields blank if you want your keyring to " +"remain unlocked at all times." +msgstr "" +"Untuk melindungi kata sandi ring kunci Anda, pilih kata sandi, dan ketik " +"ulang untuk mengkonfirmasi pilihan Anda. Tinggalkan kolom kosong keduanya " +"jika Anda ingin ring kunci Anda untuk tetap terkunci setiap saat." + +#. (itstool) path: item/p +#: C/keyring-create.page:61 +msgid "" +"Press Continue to finish creating the keyring. " +"If you have not protected your keyring with a password, you will need to " +"confirm that this is how you want to proceed." +msgstr "" +"Tekan Lanjutkan untuk menyelesaikan pembuatan " +"ring kunci. Jika Anda ring kunci Anda belum dilindungi dengan kata sandi, " +"Anda perlu untuk mengkonfirmasi bahwa bagaimana Anda ingin melanjutkan." + +#. (itstool) path: page/p +#: C/keyring-create.page:67 +msgid "Your new keyring will now be listed under Passwords." +msgstr "" +"Ring kunci baru Anda sekarang akan terdaftar dibawah Kata Sandi." + +#. (itstool) path: info/desc +#: C/keyring-lock.page:20 +msgid "" +"Lock and password protect your password keyrings to control access to the " +"passwords stored in them." +msgstr "" +"Kunci dan kata sandi melindungi ring kunci kata sandi Anda untuk mengontrol " +"akses ke sandi yang tersimpan di dalamnya." + +#. (itstool) path: page/title +#: C/keyring-lock.page:24 +msgid "Lock your keyrings" +msgstr "Mengunci ring kunci Anda" + +#. (itstool) path: page/p +#: C/keyring-lock.page:26 +msgid "" +"To safe-keep your passwords, store them in a password-protected keyring. " +"When a password-protected keyring is locked, the passwords in it are kept " +"hidden till someone unlocks the keyring " +"with the correct password." +msgstr "" +"Untuk menjaga agar sandi Anda aman, simpan dalam ring kunci yang dilindungi " +"sandi. Ketika ring kunci dilindungi sandi yang terkunci, sandi didalamnya " +"disimpan secara tersembunyi sampai seseorang membuka kunci ring kunci dengan kata sandi yang benar." + +#. (itstool) path: note/p +#: C/keyring-lock.page:32 +msgid "" +"You can choose to protect your keyring with a password while creating it." +msgstr "" +"Anda dapat memilih untuk melindungi ring kunci Anda dengan kata sandi " +"sementara ring kunci sedang dibuat." + +#. (itstool) path: steps/title +#: C/keyring-lock.page:37 +msgid "To lock your password keyring:" +msgstr "Untuk mengunci ring kunci sandi Anda:" + +#. (itstool) path: item/p +#: C/keyring-lock.page:39 +msgid "" +"From the list of keyrings under Passwords on the left side panel, " +"select the keyring to be locked." +msgstr "" +"Dari daftar ring kunci dibawah Sandi pada panel sebelah kiri, " +"pilih ring kunci yang akan dikunci." + +#. (itstool) path: item/p +#: C/keyring-lock.page:43 +msgid "" +"Right click on the selected keyring and select Lock, or click on " +"the small picture of an opened lock next to the name of the password keyring." +msgstr "" +"Klik kanan pada ring kunci yang dipilih dan pilih Kunci, atau " +"klik pada gambar kunci kecil yang dibuka disebelah nama ring kunci sandi." + +#. (itstool) path: info/desc +#: C/keyring-unlock.page:20 +msgid "To view passwords stored inside a locked keyring, unlock it." +msgstr "" +"Untuk melihat kata sandi yang tersimpan didalam ring kunci yang terkunci, " +"buka kunci tersebut." + +#. (itstool) path: page/title +#: C/keyring-unlock.page:23 +msgid "Unlock your keyrings" +msgstr "Membuka ring kunci Anda" + +#. (itstool) path: page/p +#: C/keyring-unlock.page:24 +msgid "" +"A keyring may often be locked to protect " +"the passwords it contains, similar to locking important things safely inside " +"a trunk. In order to look at your passwords, you must unlock the keyring " +"first." +msgstr "" +"Sebuah ring kunci mungkin sering dikunci " +"untuk melindungi kata sandi didalamnya, mirip dengan mengunci hal penting " +"dengan aman didalam runag. Untuk melihat kata sandi Anda, pertama-tama Anda " +"harus membuka ring kunci." + +#. (itstool) path: steps/title +#: C/keyring-unlock.page:30 +msgid "To unlock your keyring:" +msgstr "Untuk membuka ring kunci Anda:" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:32 +msgid "" +"Select the keyring to be unlocked from the panel on your left. It is listed " +"under Passwords." +msgstr "" +"Pilih ring kunci yang akan dibuka dari panel disebelah kiri Anda. Hal ini " +"terdaftar dibawah Kata Sandi." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:36 +msgid "" +"Right click on the selected keyring and select Unlock from the " +"menu, or alternatively, click the small picture of a closed lock next to the " +"keyring name to unlock the keyring." +msgstr "" +"Klik kanan pada ring kunci yang dipilih dan pilih Buka kunci dari " +"menu, atau sebagai alternatif, klik gambar kecil dari kunci tertutup " +"disamping nama ring kunci untuk membuka ring kunci." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:41 +msgid "" +"If the keyring is password-protected, you will be prompted for a password to " +"unlock the keyring. Enter the correct password in the Password " +"field and press Unlock to finish." +msgstr "" +"Jika ring kunci dilindungi kata sandi, Anda akan diminta kata sandi untuk " +"membuka ring kunci. Masukkan kata sandi yang benar pada kolom Kata " +"Sandi dan tekan Buka kunci untuk " +"menyelesaikan." + +#. (itstool) path: note/p +#: C/keyring-unlock.page:49 +msgid "" +"You can choose to password-protect your keyrings while creating them." +msgstr "" +"Anda dapat memilih untuk menggunakan kata sandi untuk melindungi ring kunci " +"Anda saat membuatnya." + +#. (itstool) path: info/desc +#: C/keyring-update-password.page:20 +msgid "" +"Keep updating the passwords to your keyrings to ensure that they are " +"protected well." +msgstr "" +"Terus memperbarui kata sandi untuk ring kunci Anda untuk memastikan bahwa " +"hal tersebut dilindungi dengan baik." + +#. (itstool) path: page/title +#: C/keyring-update-password.page:25 +msgid "Update the keyring password" +msgstr "Memperbarui kata sandi ring kunci" + +#. (itstool) path: page/p +#: C/keyring-update-password.page:27 +msgid "" +"The password to unlock your keyring can be " +"updated at any time." +msgstr "" +"Kata sandi untuk membuka ring kunci Anda dapat " +"diperbarui setiap saat." + +#. (itstool) path: steps/title +#: C/keyring-update-password.page:31 +msgid "To update the password for a password keyring:" +msgstr "Untuk memperbarui kata sandi untuk kata sandi ring kunci:" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:33 +msgid "" +"Select the password keyring from the list, under Passwords, on " +"the left side panel." +msgstr "" +"Pilih ring kunci sandi dari daftar, dibawah Sandi, pada panel " +"sebelah kiri." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:37 +msgid "" +"Right click on the selected password keyring and select Change " +"Password." +msgstr "" +"Klik kanan pada sandi ring kunci dipilih dan pilih Ubah Kata Sandi." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:41 +msgid "" +"Type your old password to authenticate yourself and press Continue." +msgstr "" +"Ketik kata sandi lama Anda untuk mengotentikasi diri sendiri dan tekan Lanjutkan." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:45 +msgid "" +"In the new dialog, type your new password, retype it to confirm the new " +"password and press the Continue button to finish." +msgstr "" +"Dalam dialog baru, ketik kata sandi baru Anda, ketik ulang untuk " +"mengkonfirmasi kata sandi baru dan tekan tombol Lanjutkan untuk menyelesaikan." + +#. (itstool) path: info/desc +#: C/keyring.page:30 +msgid "A keyring is used to group related passwords and keys." +msgstr "" +"Sebuah ring kunci digunakan untuk kata sandi dan kunci kelompok terkait." + +#. (itstool) path: page/title +#: C/keyring.page:33 +msgid "What is a keyring?" +msgstr "Apa itu ring kunci?" + +#. (itstool) path: page/p +#: C/keyring.page:35 +msgid "" +"Much like a keyring in real life allows you to keep certain sets of keys " +"together, a keyring in Passwords and Keys allows you to keep " +"passwords and keys in separate groups." +msgstr "" +"Banyak ring kunci dalam kehidupan nyata memungkinkan Anda untuk menyimpan " +"set kunci tertentu bersama-sama, ring kunci pada Sandi dan Kunci " +"memungkinkan Anda untuk menyimpan sandi dan kunci dalam kelompok yang " +"terpisah." + +#. (itstool) path: page/p +#: C/keyring.page:39 +msgid "" +"When you open Passwords and Keys for the first time, you will see " +"keys and password grouped together. In the Login keyring, you may " +"find stored passwords for GNOME applications such as Web, " +"Online Accounts etc. The Login keyring is the default " +"keyring in Passwords and keys." +msgstr "" +"Ketika Anda membuka Sandi dan Kunci untuk pertama kalinya, Anda " +"akan melihat kunci dan kata sandi dikelompokkan bersama. Dalam ring kunci " +"Log Masuk, Anda mungkin akan menemukan kata sandi yang disimpan " +"untuk aplikasi GNOME seperti Web, Akun Daring dll. " +"Ring kunci Log Masuk adalah ring kunci bawaan pada Sandi dan " +"Kunci." + +#. (itstool) path: p/link +#: C/legal.xml:4 +msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" +msgstr "Creative Commons Attribution-ShareAlike 3.0 Unported License" + +#. (itstool) path: license/p +#: C/legal.xml:3 +msgid "This work is licensed under a <_:link-1/>." +msgstr "Karya ini berada dibawah lisensi <_:link-1/>." + +#. (itstool) path: info/desc +#: C/misc-key-backup.page:26 +msgid "Keep a copy of your keys in an external device." +msgstr "Menyimpan salinan kunci Anda dalam perangkat eksternal." + +#. (itstool) path: page/title +#: C/misc-key-backup.page:29 +msgid "Securely back-up your keys" +msgstr "Amankan cadangan kunci Anda" + +#. (itstool) path: page/p +#: C/misc-key-backup.page:31 +msgid "" +"It is always advisable to save a copy of your keys on an external memory " +"device like a USB drive. The device should then be kept locked or stored " +"somewhere safe. This way you will always have a copy of the key if your " +"computer breaks or if the data on your computer is corrupted in some way." +msgstr "" +"Dianjurkan untuk selalu menyimpan salinan kunci Anda pada perangkat memori " +"eksternal seperti USB drive. Perangkat kemudian harus disimpan dalam keadaan " +"terkunci atau disimpan di tempat yang aman. Dengan cara ini Anda akan selalu " +"memiliki salinan kunci jika komputer Anda rusak atau jika data pada komputer " +"Anda cacat dengan beberapa cara." + +#. (itstool) path: steps/title +#: C/misc-key-backup.page:37 +msgid "To back-up your keys:" +msgstr "Untuk merekam-cadang kunci Anda:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:39 +msgid "Export your key files:" +msgstr "Ekspor berkas kunci Anda:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:41 +msgid "Export your PGP keys." +msgstr "Ekspor kunci PGP Anda." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:42 +msgid "Export your SSH keys." +msgstr "Ekspor kunci SSH Anda." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:46 +msgid "Copy the exported files on an external disk." +msgstr "Salin berkas yang telah diekspor pada disk eksternal." + +#. (itstool) path: info/desc +#: C/misc-key-fingerprint.page:19 +msgid "" +"The key fingerprint is a unique ID for each key, often used to verify the " +"ownership of a key" +msgstr "" +"Sidik jari kunci adalah ID unik untuk setiap kunci, sering digunakan untuk " +"memverifikasi kepemilikan kunci" + +#. (itstool) path: page/title +#: C/misc-key-fingerprint.page:23 +msgid "What is a key fingerprint?" +msgstr "Apa itu sidik jari kunci?" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:25 +msgid "" +"The fingerprint of a key is a unique sequence of letters and numbers used to " +"identify the key. Just like the fingerprints of two different people, the " +"fingerprints of two different keys can never be identical. The fingerprint " +"is the best way to identify a particular key." +msgstr "" +"Sidik jari kunci adalah urutan yang unik dari huruf dan angka yang digunakan " +"untuk mengidentifikasi kunci. Sama seperti sidik jari dari dua orang yang " +"berbeda, sidik jari merupakan dua kunci berbeda yang tidak identik. Sidik " +"jari adalah cara terbaik untuk mengidentifikasi kunci tertentu." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:30 +msgid "" +"A key has several properties like the name and email of the key owner, key " +"type, key expiration date and so on. When you are searching for a public key " +"and you find multiple keys with the same properties, the only way to " +"identify the key you are looking for is to compare the fingerprints of the " +"two keys with the fingerprint of the key you require." +msgstr "" +"Kunci memiliki beberapa properti seperti nama dan surel dari pemilik kunci, " +"jenis kunci, tanggal kedaluwarsa kunci dan sebagainya. Bila Anda sedang " +"mencari kunci publik dan Anda menemukan beberapa kunci dengan properti yang " +"sama, satu-satunya cara untuk mengidentifikasi kunci yang Anda cari adalah " +"membandingkan sidik jari dari dua kunci dengan sidik jari dari kunci yang " +"Anda butuhkan." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:36 +msgid "" +"It is the fingerprint of a key that is verified when you try to login to a " +"remote computer using SSH. While " +"signing a PGP key, you must always " +"check the key fingerprint and verify the key owner's identity to ensure that " +"you are signing the correct key." +msgstr "" +"Ini adalah sidik jari dari kunci yang diverifikasi ketika Anda mencoba untuk " +"masuk ke komputer jarak jauh menggunakan SSH. Ketika menandatangani kunci PGP, " +"Anda harus selalu memeriksa sidik jari kunci dan memverifikasi identitas " +"pemilik kunci untuk memastikan bahwa Anda menandatangani kunci yang benar." + +#. (itstool) path: section/title +#: C/misc-key-fingerprint.page:43 +msgid "Fingerprints on Passwords and Keys" +msgstr "Sidik jari pada Sandi dan Kunci" + +#. (itstool) path: section/p +#: C/misc-key-fingerprint.page:45 +msgid "" +"You can look at the fingerprint of a key on Passwords and Keys by " +"checking the properties of the key." +msgstr "" +"Anda dapat melihat sidik jari dari kunci pada Sandi dan Kunci " +"dengan memeriksa properti dari kunci." + +#. (itstool) path: steps/title +#: C/misc-key-fingerprint.page:49 +msgid "To check the fingerprint of a key:" +msgstr "Untuk memeriksa sidik jari kunci:" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:51 C/pgp-photoid.page:44 C/pgp-publish.page:37 +#: C/subkeys-add.page:31 +msgid "Select GnuPG keys from the left side panel." +msgstr "Pilih kunci GnuPG dari panel sebelah kiri." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:54 C/pgp-expiration-change.page:31 +msgid "Select the PGP key from the list." +msgstr "Pilih kunci PGP dari daftar." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:57 +msgid "" +"Right click the key and select Properties." +msgstr "Klik kanan kunci dan pilih Properti." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:61 C/pgp-expiration-change.page:37 +msgid "In the new dialog, select the Details tab." +msgstr "Dalam dialog baru, pilih tab Rincian." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:64 +msgid "You can see the fingerprint of the key on the left hand side." +msgstr "Anda dapat melihat sidik jari dari kunci pada sisi kiri." + +#. (itstool) path: info/desc +#: C/passwords-stored-create.page:19 +msgid "Passwords and keys can remember your passwords for you." +msgstr "Sandi dan Kunci dapat mengingat kata sandi Anda untuk Anda." + +#. (itstool) path: page/title +#: C/passwords-stored-create.page:23 +msgid "Store your passwords" +msgstr "Simpan kata sandi Anda" + +#. (itstool) path: page/p +#: C/passwords-stored-create.page:25 +msgid "" +"Passwords and Keys automatically stores passwords for certain " +"GNOME applications in the Login keyring. Additionally, you can " +"store any other password you want to remember." +msgstr "" +"Sandi dan Kunci otomatis menyimpan kata sandi untuk aplikasi " +"GNOME tertentu dalam ring kunci Masuk. Selain itu, Anda dapat " +"menyimpan kata sandi lain yang ingin Anda ingat." + +#. (itstool) path: steps/title +#: C/passwords-stored-create.page:30 +msgid "To create a new stored password:" +msgstr "Untuk membuat kata sandi baru tersimpan:" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:35 +msgid "Select Password from the list." +msgstr "Pilih Kata Sandi dari daftar." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:38 +msgid "" +"Select the password keyring in which you want to store your password from " +"the Keyring menu." +msgstr "" +"Pilih ring kunci sandi dimana Anda ingin menyimpan sandi Anda dari menu " +"Ring kunci." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:42 +msgid "" +"You can add additional information about the password in the " +"Description field, like the date of creation, or the name of the " +"application it protects, etc." +msgstr "" +"Anda dapat menambahkan informasi tambahan tentang sandi pada kolom " +"Deskripsi, seperti tanggal pembuatan, atau nama aplikasi yang " +"melindungi, dll." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:47 +msgid "" +"Type the password in the Password field. You can tick the Show password checkbox if you want to see the " +"password text while typing it out." +msgstr "" +"Ketik kata sandi pada Kata Sandi. Anda dapat mencentang Tampilkan kata sandi jika Anda ingin melihat teks " +"kata sandi saat mengetiknya." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:52 +msgid "Press the Add button to finish." +msgstr "Tekan tombol Tambah untuk menyelesaikan." + +#. (itstool) path: note/p +#: C/passwords-stored-create.page:57 +msgid "" +"The default keyring is displayed as the first choice in the Keyring drop down menu. You can change " +"the default keyring." +msgstr "" +"Ring kunci bawaan ditampilkan sebagai pilihan pertama dalam menu drop down " +"Ring kunci. Anda dapat mengubah ring kunci bawaan." + +#. (itstool) path: info/desc +#: C/passwords-view.page:33 +msgid "Check a stored password which you have forgotten." +msgstr "Memeriksa kata sandi tersimpan yang Anda lupa." + +#. (itstool) path: page/title +#: C/passwords-view.page:36 +msgid "View stored passwords" +msgstr "Lihat kata sandi tersimpan" + +#. (itstool) path: page/p +#: C/passwords-view.page:38 +msgid "" +"If you ever forget a password stored in Passwords and Keys, you can view the contents of the " +"stored password in Passwords and Keys to refresh your memory." +msgstr "" +"Jika Anda lupa kata sandi yang tersimpan dalam Sandi dan Kunci, Anda dapat melihat isi " +"dari kata sandi yang disimpan dalam Sandi dan Kunci untuk " +"menyegarkan ingatan Anda." + +#. (itstool) path: steps/title +#: C/passwords-view.page:44 +msgid "To view a password:" +msgstr "Untuk melihat suatu kata sandi:" + +#. (itstool) path: item/p +#: C/passwords-view.page:46 +msgid "" +"In the side bar on the left, select the keyring which contains the password." +msgstr "" +"Di bilah samping di sebelah kiri, pilih ring kunci yang berisi kata sandi." + +#. (itstool) path: item/p +#: C/passwords-view.page:50 +msgid "" +"Unlock the password keyring that " +"contains your password. A list of passwords stored in the keyring will be " +"displayed." +msgstr "" +"Buka kunci kata sandi ring kunci yang " +"berisi sandi Anda. Daftar kata sandi yang disimpan dalam ring kunci akan " +"ditampilkan." + +#. (itstool) path: note/p +#: C/passwords-view.page:53 +msgid "Your Login keyring is already unlocked by default." +msgstr "Ring kunci Login Anda telah terbuka secara baku." + +#. (itstool) path: item/p +#: C/passwords-view.page:56 +msgid "" +"Right click on the password you want to check, and select Properties." +msgstr "" +"Klik kanan pada kata sandi Anda yang ingin diperiksa, dan pilih " +"Properti." + +#. (itstool) path: item/p +#: C/passwords-view.page:60 +msgid "Select the <_:media-1/> icon to view the password." +msgstr "Pilih ikon <_:media-1/> untuk melihat sandi." + +#. (itstool) path: note/p +#: C/passwords-view.page:67 +msgid "" +"Since the contents of any unlocked keyrings are available to programs you " +"may be running, and Passwords and Keys does not seek to give a " +"false sense of security, the contents of unlocked keyrings are able to be " +"viewed without entering the password." +msgstr "" +"Karena isi dari ring kunci yang tidak terkunci tersedia untuk program yang " +"mungkin Anda jalankan, dan Sandi dan Kunci tidak berusaha untuk " +"memberikan rasa aman, isi ring kunci yang tidak terkunci dapat dilihat tanpa " +"memasukkan sandi." + +#. (itstool) path: note/p +#: C/passwords-view.page:71 +msgid "" +"This means that if you are logged-in, the contents of the Login " +"keyring will available without entering a password from Passwords and " +"Keys." +msgstr "" +"Ini berarti bahwa jika Anda sudah masuk, isi dari ring kunci Masuk akan tersedia tanpa memasukkan kata sandi dari Sandi dan Kunci." + +#. (itstool) path: note/p +#: C/passwords-view.page:74 +msgid "" +"If you need to lend your computer to another person, it is recommended that " +"you create a user account for them, or allow them to use a guest account." +msgstr "" +"Jika Anda perlu untuk meminjamkan komputer Anda ke orang lain, dianjurkan " +"agar Anda membuat akun mereka, atau membolehkan mereka untuk menggunakan " +"akun tamu." + +#. (itstool) path: info/desc +#: C/pgp-create.page:33 +msgid "Create and use GnuPG keys for encrypting and signing emails." +msgstr "" +"Membuat dan menggunakan kunci GnuPG untuk mengenkripsi dan menandatangani " +"surel." + +#. (itstool) path: page/title +#: C/pgp-create.page:36 +msgid "Create PGP keys" +msgstr "Membuat kunci PGP" + +#. (itstool) path: page/p +#: C/pgp-create.page:38 +msgid "To make a new PGP key:" +msgstr "Untuk membuat kunci PGP baru:" + +#. (itstool) path: item/p +#: C/pgp-create.page:45 +msgid "Select GPG Key from the list." +msgstr "Pilih Kunci PGP dari daftar." + +#. (itstool) path: item/p +#: C/pgp-create.page:48 +msgid "Enter your full name in the Full Name field." +msgstr "Masukkan nama lengkap Anda pada kolom Nama Lengkap." + +#. (itstool) path: item/p +#: C/pgp-create.page:51 +msgid "Optionally, add your email address and a comment to describe the key." +msgstr "" +"Sebagai opsional, tambahkan alamat surel Anda dan komentar untuk " +"menggambarkan kunci." + +#. (itstool) path: item/p +#: C/pgp-create.page:55 +msgid "Press Create." +msgstr "Tekan Buat." + +#. (itstool) path: item/p +#: C/pgp-create.page:58 +msgid "" +"In the password dialog, enter a password for the key. Retype the password to " +"confirm your choice." +msgstr "" +"Dalam dialog kata sandi, masukkan kata sandi untuk kunci. Ketik ulang kata " +"sandi untuk mengkonfirmasi pilihan Anda." + +#. (itstool) path: item/p +#: C/pgp-create.page:62 +msgid "Press OK to finish." +msgstr "Tekan OK untuk menyelesaikan." + +#. (itstool) path: page/p +#: C/pgp-create.page:66 +msgid "" +"Passwords and Keys will take some time to generate your key. " +"While your key is being created, move your mouse around, press some keys on " +"your keyboard, or browse the web. This will help Passwords and Keys to create a truly random key. The key will be listed under GnuPG " +"keys." +msgstr "" +"Sandi dan Kunci akan menyita beberapa waktu untuk menghasilkan " +"kunci Anda. Sementara kunci Anda sedang dibuat, gerakkan tetikus Anda, tekan " +"beberapa tombol pada papan tik Anda, atau meramban web. Hal ini akan " +"membantu Sandi dan Kunci untuk membuat kunci yang benar-benar " +"acak. Kunci tersebut akan terdaftar dibawah Kunci GnuPG." + +#. (itstool) path: note/p +#: C/pgp-create.page:73 +msgid "" +"The Full Name, Email Address and Comment " +"details of a GnuPG key are called the user ID of the key." +msgstr "" +"Nama Lengkap, Alamat Surel dan detil Komentar dari kunci GnuPG disebut sebagai user ID dari kunci." + +#. (itstool) path: section/title +#: C/pgp-create.page:79 +msgid "Advanced PGP key options" +msgstr "Opsi lanjutan kunci PGP" + +#. (itstool) path: section/p +#: C/pgp-create.page:81 +msgid "" +"Under Advanced key options, you can choose custom values for " +"encryption type, key strength and key expiration date." +msgstr "" +"Di bawah Opsi kunci tingkat lanjut Anda dapat memilih nilai " +"khusus untuk jenis enkripsi, kekuatan kunci, dan tanggal kedaluwarsa kunci." + +#. (itstool) path: item/title +#: C/pgp-create.page:86 +msgid "Encryption type" +msgstr "Tipe enkripsi" + +#. (itstool) path: item/p +#: C/pgp-create.page:87 +msgid "" +"Depending on your needs, create keys that can be used for signing only or " +"for both encryption and signing. The RSA and DSA-Elgamal algorithms generate " +"equally secure keys." +msgstr "" +"Tergantung pada kebutuhan Anda, membuat kunci dapat digunakan untuk " +"menandatangani saja atau untuk enkripsi dan penandatanganan. Algoritma RSA " +"dan DSA-Elgamal menghasilkan kunci yang sama amannya." + +#. (itstool) path: item/title +#: C/pgp-create.page:92 +msgid "Key Strength" +msgstr "Kekuatan Kunci" + +#. (itstool) path: item/p +#: C/pgp-create.page:93 +msgid "" +"The key strength is measured in terms of the size of the key in bits. It is " +"difficult and more time consuming to break a strong key, but strong keys " +"will slow down the encryption and signing process. You should choose your " +"key strength in Passwords and Keys depending on how long you want " +"to use the key. A small key is sufficient for short term use while a large " +"key is more suitable for long term use." +msgstr "" +"Kekuatan kunci diukur dari segi ukuran kunci dalam bit. Hal ini akan sulit " +"dan lebih memakan waktu untuk memecahkan kunci yang kuat, tapi kunci yang " +"kuat akan memperlambat proses enkripsi dan penandatanganan. Anda harus " +"memilih kekuatan kunci Anda pada Sandi dan Kunci tergantung pada " +"berapa lama Anda ingin menggunakan kunci. Sebuah kunci kecil sudah cukup " +"untuk penggunaan jangka pendek sementara kunci besar lebih cocok untuk " +"penggunaan jangka panjang." + +#. (itstool) path: item/title +#: C/pgp-create.page:101 +msgid "Expiration Date" +msgstr "Tanggal Kedaluwarsa" + +#. (itstool) path: item/p +#: C/pgp-create.page:102 +msgid "" +"When a key expires, certain actions no longer " +"work. In Passwords and Keys, you can either set your key " +"to Never Expire or select an expiration date " +"for it." +msgstr "" +"Ketika kunci kedaluwarsa, tindakan tertentu tidak " +"lagi bekerja. Dalam Sandi dan Kunci, Anda dapat mengatur " +"kunci Anda untuk Tidak pernah kedaluwarsa atau " +"pilih tanggal kedaluwarsa dan waktunya." + +#. (itstool) path: item/p +#: C/pgp-create.page:106 +msgid "" +"It is recommended that you set an expiration date in case you lose access to " +"the key. Even if your key expires, you can change the expiration to a later date." +msgstr "" +"Disarankan agar Anda menetapkan tanggal kedaluwarsa jika Anda kehilangan " +"akses ke kunci. Bahkan jika kunci Anda kedaluwarsa, Anda dapat mengubah tanggal kedaluwarsa kemudian." + +#. (itstool) path: info/desc +#: C/pgp-delete.page:26 +msgid "" +"Delete local copies of your keys or the keys of people you communicate with." +msgstr "" +"Hapus salinan kunci lokal atau kunci dari orang yang Anda berkomunikasi " +"dengannya." + +#. (itstool) path: page/title +#: C/pgp-delete.page:30 +msgid "Delete an existing key" +msgstr "Hapus kunci yang ada" + +#. (itstool) path: page/p +#: C/pgp-delete.page:32 +msgid "" +"If you are no longer communicating with someone, you can delete the copy of " +"their GnuPG key on your computer using Passwords and Keys. You " +"can also permanently delete a key you own as long it has never been " +"published on a key server. Deleting a GnuPG key deletes both the public key " +"and the secret key." +msgstr "" +"Jika Anda tidak lagi berkomunikasi dengan seseorang, Anda dapat menghapus " +"salinan kunci GnuPG mereka pada komputer Anda menggunakan Sandi dan " +"Kunci. Anda juga dapat secara permanen menghapus kunci yang Anda " +"memiliki sepanjang belum pernah dipublikasikan pada peladen kunci. Menghapus " +"kunci GnuPG berarti menghapus kunci publik dan kunci privat." + +#. (itstool) path: steps/title +#: C/pgp-delete.page:39 +msgid "To delete a key:" +msgstr "Untuk menghapus kunci:" + +#. (itstool) path: item/p +#: C/pgp-delete.page:41 +msgid "Select the key." +msgstr "Pilih kunci." + +#. (itstool) path: item/p +#: C/pgp-delete.page:45 +msgid "Right click, and choose Delete." +msgstr "Klik kanan, dan pilih Hapus." + +#. (itstool) path: note/p +#: C/pgp-delete.page:47 +msgid "" +"When you delete a GnuPG key that has been published on a key server, you " +"only delete the key in your GnuPG keyring because a copy of the public key " +"will still be present on some key server." +msgstr "" +"Ketika Anda menghapus kunci GnuPG yang telah diterbitkan pada peladen kunci, " +"Anda hanya menghapus kunci dalam ring kunci GnuPG Anda karena salinan kunci " +"publik masih akan ada pada beberapa peladen kunci." + +#. (itstool) path: note/p +#: C/pgp-delete.page:50 +msgid "" +"If you delete your GnuPG key, this means that your private key will be " +"permanently deleted, even though your public key can still be retrieved from a key server and used to " +"encrypt messages to you that you won't be able to read! To prevent such a " +"key from being used, retrieve and revoke the key. The revoked key can then " +"be synced with a key server to prevent people " +"from retrieving and using it." +msgstr "" +"Jika Anda menghapus kunci GnuPG Anda, ini berarti bahwa kunci privat Anda " +"akan dihapus secara permanen, meskipun kunci publik Anda masih bisa diambil dari peladen kunci dan digunakan " +"untuk mengenkripsi pesan kepada Anda dimana Anda tidak akan dapat membaca! " +"Untuk mencegah kunci tersebut digunakan, diambil dan dicabut, Kunci yang " +"dicabut dapat disinkronkan dengan peladen " +"kunci untuk mencegah orang mengambil dan menggunakannya." + +#. (itstool) path: item/p +#: C/pgp-delete.page:64 +msgid "" +"In the new dialog, confirm the deletion by ticking the I understand that this secret key will be permanently deleted " +"checkbox, and press the Delete button to finish." +msgstr "" +"Dalam dialog baru, konfirmasi penghapusan dengan mencentang Saya mengerti bahwa kunci rahasia ini akan dihapus secara " +"permanen, dan tekan tombol Hapus untuk " +"menyelesaikan." + +#. (itstool) path: info/desc +#: C/pgp-expiration-change.page:19 +msgid "Advance or postpone the expiration date of your keys." +msgstr "Memajukan atau menunda tanggal kedaluwarsa kunci Anda." + +#. (itstool) path: page/title +#: C/pgp-expiration-change.page:22 +msgid "Change the expiration date of your keys" +msgstr "Mengubah tanggal kedaluwarsa kunci Anda" + +#. (itstool) path: page/p +#: C/pgp-expiration-change.page:24 +msgid "" +"If your PGP key has expired but you wish to continue its use, you can change " +"its expiry date. You can also change the expiration settings to have a key " +"expire on an earlier date." +msgstr "" +"Jika kunci PGP Anda telah kedaluwarsa tetapi Anda ingin melanjutkan " +"penggunaannya, Anda dapat mengubah tanggal kedaluwarsanya. Anda juga dapat " +"mengubah pengaturan kedaluwarsa untuk memiliki kunci yang kedaluwarsa pada " +"tanggal yang lebih awal." + +#. (itstool) path: steps/title +#: C/pgp-expiration-change.page:29 +msgid "To change the expiration date of a PGP key:" +msgstr "Untuk mengubah tanggal kedaluwarsa kunci PGP:" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:34 +msgid "Right click on the selected key and select Properties." +msgstr "Klik kanan pada tombol yang dipilih dan pilih Properti." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:42 +msgid "" +"To change the expiration date of the master key, press the small button with " +"the picture of a calendar next to Expires, on the right side of " +"the dialog. You can then select the new expiration date from the calendar." +msgstr "" +"Untuk mengubah tanggal berakhirnya kunci master, tekan tombol kecil dengan " +"gambar kalender disebelah Kedaluwarsa, pada sisi kanan dialog. " +"Anda kemudian dapat memilih tanggal kedaluwarsa baru dari kalender." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:48 +msgid "" +"To change the expiration date of a subkey, " +"expand the Subkeys panel and select the subkey from the list. " +"Press the Expire button on the left of the panel " +"and select the new expiration date." +msgstr "" +"Untuk mengubah tanggal kedaluwarsa dari subkunci, perluas panel Subkuncidan pilih subkunci dari daftar. " +"Tekan tombol Kedaluwarsa pada sebelah kiri panel " +"dan pilih tanggal kedaluwarsa baru." + +#. (itstool) path: note/p +#: C/pgp-expiration-change.page:59 +msgid "" +"If you are changing the expiration date of a key that has been published, " +"you must synchronize the key with the key " +"server after making the desired changes." +msgstr "" +"Jika Anda mengubah tanggal kedaluwarsa kunci yang telah diterbitkan, Anda " +"harus melakukan sinkronisasi kunci dengan " +"peladen kunci setelah membuat perubahan yang diinginkan." + +#. (itstool) path: info/desc +#: C/pgp-expired.page:20 +msgid "Can I still use it? Can expiration dates be changed?" +msgstr "Dapatkah saya menggunakannya? Dapatkah tanggal kedaluwarsa diubah?" + +#. (itstool) path: page/title +#: C/pgp-expired.page:23 +msgid "What happens if my key expires?" +msgstr "Apa yang terjadi jika kunci saya kedaluwarsa?" + +#. (itstool) path: page/p +#: C/pgp-expired.page:25 +msgid "When your key expires, it becomes invalid. This means:" +msgstr "" +"Ketika kunci Anda kedaluwarsa, hal itu menjadi tidak berlaku. Ini berarti:" + +#. (itstool) path: item/p +#: C/pgp-expired.page:29 +msgid "It can no longer be used to encrypt and decrypt messages." +msgstr "Tidak bisa lagi digunakan untuk mengenkripsi dan mendekripsi pesan." + +#. (itstool) path: item/p +#: C/pgp-expired.page:32 +msgid "It cannot sign other keys or receive signatures from other keys." +msgstr "" +"Tidak dapat menandatangani kunci lain atau menerima tanda tangan dari kunci " +"lainnya." + +#. (itstool) path: page/p +#: C/pgp-expired.page:37 +msgid "" +"Depending on how long you want your key to be valid, you can set an expiration date for it. By default, " +"Passwords and Keys sets all keys to be valid forever. That is, " +"the keys never expire." +msgstr "" +"Tergantung pada berapa lama Anda ingin kunci Anda menjadi valid, Anda dapat " +"mengatur tanggal kedaluwarsa. " +"Secara bawaan, Sandi dan Kunci mengatur semua kunci valid " +"selamanya. Yaitu, kunci tidak pernah kedaluwarsa." + +#. (itstool) path: page/p +#: C/pgp-expired.page:42 +msgid "" +"The expiration date on a key can be changed anytime, even after the key has expired. However, if you " +"want to stop using the expired key, you should delete or revoke it." +msgstr "" +"Tanggal kedaluwarsa pada kunci dapat diubah kapan saja, bahkan setelah kuncinya telah berakhir. Namun, " +"jika Anda ingin berhenti menggunakan kunci kedaluwarsa, Anda harus menghapus atau mencabut." + +#. (itstool) path: note/p +#: C/pgp-expired.page:49 +msgid "" +"If you have any messages encrypted with an expired key, you must change the " +"expiration date on the key to decrypt such messages before deleting or " +"revoking it." +msgstr "" +"Jika Anda memiliki pesan yang dienkripsi dengan kunci kedaluwarsa, Anda " +"harus mengubah tanggal kedaluwarsa pada kunci untuk mendekripsi pesan " +"tersebut sebelum menghapus atau mencabutnya." + +#. (itstool) path: info/desc +#: C/pgp-export.page:19 +msgid "Export your public and private PGP keys to store them in keyfiles." +msgstr "" +"Ekspor kunci publik dan privat PGP Anda untuk disimpan dalam berkas kunci." + +#. (itstool) path: page/title +#: C/pgp-export.page:23 +msgid "Export PGP keys" +msgstr "Ekspor kunci PGP" + +#. (itstool) path: page/p +#: C/pgp-export.page:25 +msgid "" +"Export the contents of your PGP keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Ekspor isi dari kunci PGP Anda dan menyimpannya dalam berkas kunci, miliki " +"cadangan kunci Anda atau berbagi kunci publik Anda dengan seseorang." + +#. (itstool) path: section/title +#: C/pgp-export.page:29 +msgid "To export your public PGP key:" +msgstr "Untuk mengekspor kunci publik PGP Anda:" + +#. (itstool) path: item/p +#: C/pgp-export.page:33 C/pgp-export.page:62 C/pgp-userid-add.page:36 +#: C/pgp-userid-primary.page:32 C/pgp-userid-remove.page:31 +msgid "Select the GnuPG keys keyring from the left side panel." +msgstr "Pilih ring kunci kunci GnuPG dari panel sebelah kiri." + +#. (itstool) path: item/p +#: C/pgp-export.page:37 C/pgp-export.page:66 +msgid "" +"Select the Personal PGP key that has to be exported, from the " +"list." +msgstr "Pilih Kunci pribadi PGP yang harus diekspor, dari daftar." + +#. (itstool) path: item/p +#: C/pgp-export.page:41 C/ssh-export.page:42 +msgid "" +"Right-click on the key and select Export…." +msgstr "Klik kanan kunci dan pilih Ekspor…." + +#. (itstool) path: item/p +#: C/pgp-export.page:44 +msgid "" +"To store the keys in the ASCII format, select Armored PGP keys " +"from the menu at the bottom of the export window" +msgstr "" +"Untuk menyimpan kunci dalam format ASCII, pilih Kunci PGP lapis baja dari menu di bagian dasar tombol jendela ekspor" + +#. (itstool) path: item/p +#: C/pgp-export.page:49 C/pgp-export.page:77 +msgid "" +"Choose a location for your keyfile, and press Export to finish." +msgstr "" +"Pilih lokasi untuk berkas kunci Anda, dan tekan Ekspor untuk menyelesaikan." + +#. (itstool) path: section/title +#: C/pgp-export.page:58 +msgid "To export your private PGP key:" +msgstr "Untuk mengekspor kunci privat PGP Anda:" + +#. (itstool) path: item/p +#: C/pgp-export.page:70 C/subkeys-add.page:37 +msgid "" +"Right click on the selected key and select PropertiesDetails." +msgstr "" +"Klik kanan pada tombol yang dipilih dan pilih PropertiRincian." + +#. (itstool) path: item/p +#: C/pgp-export.page:74 +msgid "Press the Export button." +msgstr "Tekan tombol Ekspor." + +#. (itstool) path: info/desc +#: C/pgp-import.page:26 +msgid "Import keys from keyfiles into Passwords and Keys." +msgstr "Impor kunci dari berkas kunci kedalam Sandi dan Kunci." + +#. (itstool) path: page/title +#: C/pgp-import.page:29 +msgid "Import PGP keys" +msgstr "Impor kunci PGP" + +#. (itstool) path: page/p +#: C/pgp-import.page:31 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports PGP keys from your computer. You can also manually " +"import a particular key, if it has not been imported already." +msgstr "" +"Jika Anda telah menerima berkas kunci melalui surel, Anda mungkin ingin " +"mengimpornya ke Sandi dan Kunci. Dalam kebanyakan kasus, " +"Sandi dan Kunci otomatis mengimpor kunci PGP dari komputer Anda. " +"Anda juga dapat secara manual mengimpor kunci tertentu, jika belum diimpor." + +#. (itstool) path: steps/title +#: C/pgp-import.page:37 C/ssh-import.page:37 +msgid "How do I manually import a key?" +msgstr "Bagaimana cara mengimpor kunci secara manual?" + +#. (itstool) path: item/p +#: C/pgp-import.page:42 C/ssh-import.page:42 +msgid "Select Import from file… from the list." +msgstr "Pilih Impor dari berkas… dari daftar." + +#. (itstool) path: item/p +#: C/pgp-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. PGP keys end with " +"pgp or asc, GPG keys end with gpg." +msgstr "" +"Dalam dialog baru, pilih kunci yang ingin Anda impor. Kunci PGP diakhiri " +"dengan pgp atau asc, kunci GPG diakhiri dengan " +"gpg." + +#. (itstool) path: item/p +#: C/pgp-import.page:50 C/ssh-import.page:49 +msgid "Click Open." +msgstr "Klik Buka." + +#. (itstool) path: page/p +#: C/pgp-import.page:54 +msgid "" +"Once imported, the PGP and GPG keys are listed under GnuPG keys." +msgstr "" +"Setelah diimpor, kunci PGP dan GPG terdaftar dibawah kunci GnuPG." + +#. (itstool) path: info/desc +#: C/pgp-photoid.page:20 +msgid "" +"Include a photo ID with your existing keys so that people can identify them " +"easily." +msgstr "" +"Sertakan ID foto dengan kunci yang ada sehingga orang dapat mengidentifikasi " +"dengan mudah." + +#. (itstool) path: page/title +#: C/pgp-photoid.page:24 +msgid "Attach a photo to your key" +msgstr "Melampirkan foto ke kunci Anda" + +#. (itstool) path: page/p +#: C/pgp-photoid.page:26 +msgid "" +"You can attach a photo ID to your PGP keys so that everyone can verify the " +"ownership of your keys after looking at your photo. Though a key with an " +"attached photo will provide a slightly better level of security than a key " +"with no photo, checking the photo on a key is not as safe as checking the " +"fingerprint of the key because " +"anyone having your photos can create a key with your photo ID while the key " +"fingerprint cannot be mimicked." +msgstr "" +"Anda dapat melampirkan foto ID ke kunci PGP Anda sehingga setiap orang dapat " +"memverifikasi kepemilikan kunci Anda setelah melihat foto Anda. Meskipun " +"kunci dengan foto terlampir akan memberikan tingkat keamanan yang sedikit " +"lebih baik dari kunci dengan tidak ada foto, memeriksa foto pada kunci " +"adalah hal yang tidak aman seperti memeriksa sidik jari dari kunci karena siapa pun yang memiliki " +"foto Anda dapat membuat kunci dengan foto ID Anda sementara sidik jari kunci " +"tidak dapat ditiru." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:35 +msgid "" +"Unlike the restrictions in GPG, the photo ID you want to upload " +"need not be in the JPEG format. Passwords and Keys " +"lets you upload your photo in png, jpg and several " +"other common image formats." +msgstr "" +"Berbeda dengan pembatasan pada GPG, ID foto yang ingin Anda " +"unggah tidak perlu dalam format JPEG. Sandi dan Kunci memungkinkan Anda mengunggah foto Anda dalam png, " +"jpg dan beberapa format gambar umum lainnya." + +#. (itstool) path: steps/title +#: C/pgp-photoid.page:42 +msgid "To attach a photo ID to a PGP key:" +msgstr "Untuk melampirkan foto ID pada kunci PGP:" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:47 +msgid "Select the PGP key." +msgstr "Pilih kunci PGP." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:50 +msgid "" +"Right click on the chosen key and select Properties Owner." +msgstr "" +"Klik kanan pada kunci yang dipilih dan pilih Properti Pemilik." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:55 +msgid "" +"Press the + button on the left hand side to add " +"a photo." +msgstr "" +"Tekan tombol yang ditandai dengan + pada sisi " +"kiri untuk menambahkan foto." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:59 +msgid "Select the photo from your computer." +msgstr "Pilih foto dari komputer Anda." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:62 +msgid "Click Close to finish." +msgstr "Tekan Tutup untuk menyelesaikan." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:67 +msgid "" +"The photos you select should be small in size, preferably about 120 by 150 " +"pixels. Since a photo ID is always attached to its key, a large photo will " +"increase the key size and slow down all operations that use the key. " +"Passwords and Keys resizes large photos to the optimal size after " +"asking for your confirmation." +msgstr "" +"Foto yang Anda pilih harus dalam ukuran kecil, sebaiknya sekitar 120 oleh " +"150 piksel. Karena ID foto selalu melekat kunci, foto yang besar akan " +"meningkatkan ukuran kunci dan memperlambat semua operasi yang menggunakan " +"kunci. Sandi dan Kunci mengubah ukuran foto yang besar untuk " +"ukuran optimal setelah meminta konfirmasi Anda." + +#. (itstool) path: credit/name +#: C/pgp-publish.page:16 C/pgp-retrieve-remote.page:16 +msgid "Aruna" +msgstr "Aruna" + +#. (itstool) path: info/desc +#: C/pgp-publish.page:21 +msgid "" +"Publish your public keys on key servers, or export and mail them to your friends." +msgstr "" +"Publikasikan kunci publik Anda pada peladen kunci, atau ekspor dan kirim melalui surel kepada teman-teman Anda." + +#. (itstool) path: page/title +#: C/pgp-publish.page:25 +msgid "Share your public keys" +msgstr "Bagikan kunci publik Anda" + +#. (itstool) path: page/p +#: C/pgp-publish.page:27 +msgid "" +"If you want people to send you encrypted communication, you must share your " +"GnuPG key with them. To share your key with a selected few " +"people, export it and mail the resulting " +"keyfile to them. To allow anyone to retrieve and use your public key, publish it on a key server." +msgstr "" +"Jika Anda ingin seseorang untuk mengirimkan komunikasi yang terenkripsi, " +"Anda harus membagikan kunci GnuPG Anda dengan mereka. Untuk " +"berbagi kunci Anda dengan beberapa orang yang dipilih, ekspor dan kirim berkas kunci yang dihasilkan pada mereka. " +"Untuk membolehkan siapa saja mengambil dan menggunakan kunci publik Anda, publikasikan pada peladen kunci." + +#. (itstool) path: steps/title +#: C/pgp-publish.page:35 +msgid "How do I publish my key on a key server?" +msgstr "Bagaimana cara mempublikasikan kunci pada peladen kunci?" + +#. (itstool) path: item/p +#: C/pgp-publish.page:40 +msgid "" +"From the list, select the Personal PGP key you want to publish." +msgstr "" +"Dari daftar, pilih Kunci PGP pribadi Anda yang ingin " +"dipublikasikan." + +#. (itstool) path: item/p +#: C/pgp-publish.page:47 C/pgp-sync.page:44 +msgid "Select Sync and publish keys…." +msgstr "" +"Pilih Selaraskan dan publikasikan kunci…." + +#. (itstool) path: item/p +#: C/pgp-publish.page:50 +msgid "" +"Press the Key Servers button to see the list of " +"key servers on which you can publish your public key." +msgstr "" +"Tekan tombol Peladen Kunci untuk melihat daftar " +"peladen utama dimana Anda dapat mempublikasikan kunci publik Anda." + +#. (itstool) path: item/p +#: C/pgp-publish.page:54 +msgid "" +"To publish your key on a key server, select the key server from the " +"Publish keys to menu." +msgstr "" +"Untuk mempublikasikan kunci Anda pada peladen kunci, pilih peladen kunci " +"dari menu Publikasikan kunci ke." + +#. (itstool) path: item/p +#: C/pgp-publish.page:58 +msgid "" +"Close the Preferences window to go back to the previous dialog." +msgstr "" +"Tutup jendela Preferensi untuk kembali ke dialog sebelumnya." + +#. (itstool) path: item/p +#: C/pgp-publish.page:62 +msgid "Press Sync to finish." +msgstr "Tekan Sinkronisasi untuk menyelesaikan." + +#. (itstool) path: note/p +#: C/pgp-publish.page:77 +msgid "You need to be connected to the Internet while publishing your keys." +msgstr "Anda harus terhubung dengan Internet saat penerbitan kunci Anda." + +#. (itstool) path: note/title +#: C/pgp-publish.page:81 +msgid "What is a keyserver?" +msgstr "Apa itu peladen kunci?" + +#. (itstool) path: note/p +#: C/pgp-publish.page:82 +msgid "" +"Key servers are computers that store copies of public encryption keys " +"submitted to them, and share these copies with other key servers through the " +"Internet." +msgstr "" +"Peladen kunci adalah komputer yang menyimpan salinan dari kunci enkripsi " +"publik yang didaftarkan kepada mereka, dan berbagi salinan ini dengan " +"peladen kunci lain melalui Internet." + +#. (itstool) path: info/desc +#: C/pgp-retrieve-remote.page:26 +msgid "" +"If you want to send an urgent encrypted message to someone, but do not have " +"their key, you can retrieve their key from a remote key server." +msgstr "" +"Jika Anda ingin mengirim pesan terenkripsi yang mendesak untuk seseorang, " +"tapi tidak memiliki kunci mereka, Anda dapat mengambil kunci mereka dari " +"peladen kunci jarak jauh." + +#. (itstool) path: page/title +#: C/pgp-retrieve-remote.page:31 +msgid "Retrieve remote keys" +msgstr "Mengambil kunci jarak jauh" + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:33 +msgid "" +"You can retrieve someone's public GnuPG key from the Internet and store it " +"in Passwords and Keys." +msgstr "" +"Anda dapat mengambil kunci GnuPG publik seseorang dari Internet dan " +"menyimpannya dalam Sandi dan Kunci." + +#. (itstool) path: steps/title +#: C/pgp-retrieve-remote.page:37 +msgid "To retrieve a remote key:" +msgstr "Untuk mengambil kunci jarak jauh:" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:42 +msgid "Select Find remote keys…." +msgstr "Pilih Temukan kunci jarak jauh…." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:45 +msgid "" +"Enter information about the key you wish to retrieve in the field provided. " +"Details like key ID or the key owner's email address give more accurate " +"results than the name of the key owner." +msgstr "" +"Masukkan informasi tentang kunci yang akan diambil pada kolom yang " +"disediakan. Rincian seperti kunci ID atau alamat surel pemilik kunci ini " +"akan memberikan hasil yang lebih akurat dibandingkan dengan nama pemilik " +"kunci." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:50 +msgid "Press the Search button." +msgstr "Tekan tombol Cari." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:53 +msgid "" +"From the list of search results, select the key you want to import, and " +"press the Download button on the right." +msgstr "" +"Dari daftar hasil pencarian, pilih kunci yang ingin Anda impor, dan tekan " +"tombol Unduh di sebelah kanan." + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:58 +msgid "The imported key will be listed in the GnuPG keys keyring." +msgstr "" +"Kunci yang sudah diimpor akan tercantum dalam ring kunci kunci GnuPG." + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:61 +msgid "" +"If you want more information about a key, before importing it, select it and " +"press Enter or double-click it. This opens a new window that " +"displays information like the key ID, key fingerprint, level of trust, " +"owner's name, etc." +msgstr "" +"Jika Anda menginginkan informasi selengkapnya tentang suatu kunci, sebelum " +"mengimpornya, pilih kunci tersebut dan tekan Enter atau klik " +"ganda kunci tersebut. Ini membuka jendela baru yang menampilkan informasi " +"seperti ID kunci, sidik jari kunci, tingkat kepercayaan, nama pemilik, dll." + +#. (itstool) path: info/desc +#: C/pgp-sign.page:19 +msgid "If you trust a key, you can sign it." +msgstr "Jika Anda mempercayai kunci, Anda dapat menandatanganinya." + +#. (itstool) path: page/title +#: C/pgp-sign.page:22 +msgid "Sign keys" +msgstr "Menandatangani kunci" + +#. (itstool) path: page/p +#: C/pgp-sign.page:24 +msgid "" +"To show that you trust and vouch for the genuineness of someone's key, you " +"can sign it. A person's key must be signed only after you compare the user ID on the key with a valid proof of their " +"identity, such as a passport, driver's license, or similar. If the two IDs " +"match, the key is said to be trustworthy." +msgstr "" +"Untuk menunjukkan bahwa Anda percaya dan menjamin keaslian kunci seseorang, " +"Anda dapat menandatanganinya. kunci seseorang harus ditandatangani hanya " +"setelah Anda membandingkan ID pengguna pada " +"kunci dengan bukti yang sah dari identitas mereka, seperti paspor, SIM, atau " +"yang serupa. Jika dua ID cocok, kunci dapat dikatakan dipercaya." + +#. (itstool) path: steps/title +#: C/pgp-sign.page:31 +msgid "To sign a key:" +msgstr "Untuk menandatangani kunci:" + +#. (itstool) path: item/p +#: C/pgp-sign.page:33 +msgid "" +"Import the remote key or keyfile containing the key to be signed into " +"Passwords and Keys." +msgstr "" +"Impor kunci jarak jauh atau berkas kunci yang mengandung kunci yang akan " +"masuk ke Sandi dan Kunci." + +#. (itstool) path: item/p +#: C/pgp-sign.page:38 +msgid "From the list of GnuPG keys select the imported key." +msgstr "Dari daftar kunci GnuPG pilih kunci yang diimpor." + +#. (itstool) path: item/p +#: C/pgp-sign.page:41 +msgid "" +"Right click the key and select PropertiesTrust." +msgstr "" +"Klik kanan kunci dan pilih PropertiPercaya." + +#. (itstool) path: item/p +#: C/pgp-sign.page:45 +msgid "Press the Sign this Key button." +msgstr "Tekan tombol Tandatangani Kunci Ini." + +#. (itstool) path: item/p +#: C/pgp-sign.page:48 +msgid "" +"Depending on how carefully you have checked the key, choose one out of Not at all, Casually or Very carefully." +msgstr "" +"Tergantung pada bagaimana kehati-hatian Anda dalam memeriksa kunci, pilih " +"salah satu dari Tidak sama sekali, Begitu saja atau Sangat hati-hati." + +#. (itstool) path: item/p +#: C/pgp-sign.page:54 +msgid "" +"Decide if you want to revoke your signature at a later date and if you want " +"to make your signature public, by ticking the checkboxes provided." +msgstr "" +"Putuskan apakah Anda ingin mencabut tanda tangan Anda dikemudian hari dan " +"jika Anda ingin membuat tanda tangan publik Anda, dengan mencentang kotak " +"centang yang disediakan." + +#. (itstool) path: item/p +#: C/pgp-sign.page:59 +msgid "" +"When you own more than one PGP key, select the key you want to sign with, " +"from the list next to Signer." +msgstr "" +"Bila Anda memiliki lebih dari satu kunci PGP, pilih kunci yang ingin " +"ditandatangani, dari daftar di sebelah Penandatangan." + +#. (itstool) path: item/p +#: C/pgp-sign.page:63 +msgid "Press the Sign button to finish." +msgstr "" +"Tekan tombol Tandatangani untuk menyelesaikan." + +#. (itstool) path: note/title +#: C/pgp-sign.page:68 +msgid "Can I sign my own keys?" +msgstr "Dapatkah saya menandatangani kunci saya sendiri?" + +#. (itstool) path: note/p +#: C/pgp-sign.page:69 +msgid "" +"When you create a new GnuPG key, " +"it is automatically signed by you. Any new subkeys created using a GnuPG key, will also be signed " +"automatically." +msgstr "" +"Ketika Anda membuat kunci GnuPG " +"baru, maka secara otomatis akan ditandatangani oleh Anda. Setiap subkunci " +"baru yang dibuat menggunakan kunci " +"GnuPG, juga akan ditandatangani secara otomatis." + +#. (itstool) path: info/desc +#: C/pgp-subkeys.page:19 +msgid "" +"A subkey is always bound to a master key in a PGP keypair. It is used for " +"encryption." +msgstr "" +"Sebuah subkunci selalu terikat dengan kunci master dalam pasangan kunci PGP. " +"Hal ini digunakan untuk enkripsi." + +#. (itstool) path: page/title +#: C/pgp-subkeys.page:23 +msgid "What is a subkey?" +msgstr "Apa itu subkunci?" + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:25 +msgid "" +"Though it is very important to keep your keys safe, it can become quite " +"tedious to do so when you have many keys. Passwords and Keys " +"provides a simple solution to key safety by using subkeys for " +"signing and encryption." +msgstr "" +"Meskipun sangat penting untuk menjaga kunci Anda tetap aman, hal ini bisa " +"menjadi sedikit membosankan untuk melakukannya ketika Anda memiliki banyak " +"kunci. Sandi dan Kunci memberikan solusi sederhana untuk " +"keselamatan kunci dengan menggunakan subkunci untuk enkripsi dan " +"penandatanganan." + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:30 +msgid "" +"Whenever you create a new public encryption " +"key, a keypair is generated instead of a single key. This keypair " +"consists of a main key, also called the master key and a " +"subkey. A master key can be used to create additional subkeys that " +"are then bound to it." +msgstr "" +"Setiap kali Anda membuat kunci enkripsi " +"publik yang baru, sebuah pasangan kunci akan dihasilkan alih-alih " +"satu kunci. Pasangan kunci ini terdiri dari kunci utama, disebut juga " +"kunci master dan subkunci. Sebuah kunci master dapat " +"digunakan untuk membuat subkunci tambahan yang kemudian terikat untuk itu." + +#. (itstool) path: list/title +#: C/pgp-subkeys.page:37 +msgid "What does each key in a keypair do?" +msgstr "Apa yang dilakukan setiap kunci dalam pasangan kunci?" + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:39 +msgid "" +"The master key is used for signing " +"other keys, creating subkeys and revoking subkeys. Your master key must be kept very safe. Signatures of trust " +"are also collected on your master key. If the master key is compromised, you " +"have no choice but to revoke it and all the subkeys attached to it." +msgstr "" +"Kunci master digunakan untuk menandatangani kunci lainnya, membuat subkunci dan mencabut subkunci. Kunci master Anda harus tetap " +"aman. Tanda tangan yang dipercaya juga dikumpulkan dalam kunci master Anda. " +"Jika kunci master mengalami bahaya, Anda tidak punya pilihan selain " +"mencabutnya dan semua subkunci yang melekat padanya." + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:47 +msgid "" +"The default subkey is used for encryption and decryption of " +"messages. Additional subkeys can be created for signing. Though it is " +"important that your subkeys are kept safe, you can always revoke a subkey if " +"it is compromised and create a new one with the original master key." +msgstr "" +"Subkunci bawaan digunakan untuk enkripsi dan dekripsi pesan. " +"Subkunci tambahan dapat dibuat untuk penandatanganan. Meskipun penting bahwa " +"subkunci Anda disimpan dengan aman, Anda selalu dapat mencabut subkunci jika " +"itu membahayakan dan membuat yang baru dengan kunci master asli." + +#. (itstool) path: section/title +#: C/pgp-subkeys.page:56 +msgid "More about subkeys" +msgstr "Lebih lanjut tentang subkunci" + +#. (itstool) path: info/desc +#: C/pgp-sync.page:21 +msgid "" +"Synchronize information present in your local key with the corresponding key " +"on a key server." +msgstr "" +"Sinkronisasikan informasi kini pada kunci lokal Anda dengan kunci yang " +"sesuai pada peladen kunci." + +#. (itstool) path: page/title +#: C/pgp-sync.page:25 +msgid "Synchronize your keys" +msgstr "Sinkronisasikan kunci Anda" + +#. (itstool) path: page/p +#: C/pgp-sync.page:27 +msgid "" +"PGP keys in your keyring have to be synchronized with a key server to ensure " +"that any changes made to the key on the key server, like a new signature, " +"are updated in your local copy of the key. Similarly, when you change " +"information on your local key copy, like the expiration date, or when you " +"sign someone's key, you should synchronize the keys to update the changes on " +"the remote copy of the key. You need a working Internet connection to " +"synchronize your keys." +msgstr "" +"Kunci PGP dalam ring kunci Anda harus disinkronkan dengan peladen kunci " +"untuk memastikan bahwa setiap perubahan yang dibuat ke kunci pada peladen " +"kunci, seperti tanda tangan baru, diperbarui dalam salinan kunci lokal Anda. " +"Demikian pula, ketika Anda mengubah informasi pada salinan kunci lokal Anda, " +"seperti tanggal kedaluwarsa, atau ketika Anda mendaftarkan kunci seseorang, " +"Anda harus menyinkronkan kunci untuk memperbarui perubahan pada salinan " +"kunci jarak jauh. Anda membutuhkan koneksi internet untuk melakukan " +"sinkronisasi kunci Anda." + +#. (itstool) path: steps/title +#: C/pgp-sync.page:36 +msgid "How do I synchronize a key?" +msgstr "Bagaimana cara sinkronisasi kunci?" + +#. (itstool) path: item/p +#: C/pgp-sync.page:38 +msgid "Select the PGP key you wish to synchronize." +msgstr "Pilih kunci PGP yang ingin Anda sinkronkan." + +#. (itstool) path: item/p +#: C/pgp-sync.page:47 +msgid "" +"Click the Sync button to synchronize your key." +msgstr "" +"Klik tombol Sinkronisasikan untuk menyinkronkan " +"kunci Anda." + +#. (itstool) path: note/title +#: C/pgp-sync.page:53 +msgid "Why is the Sync button not clickable?" +msgstr "" +"Mengapa tombol Sinkronisasi tidak dapat diklik?" + +#. (itstool) path: note/p +#: C/pgp-sync.page:55 +msgid "" +"Only PGP keys that have been published on a key server can be synchronized. " +"If the Sync button is not clickable, check if " +"the key has been published on a key server. In the case of synchronizing " +"your own keys, publish them before " +"synchronizing them." +msgstr "" +"Hanya kunci PGP yang telah dipublikasikan pada peladen kunci yang dapat " +"disinkronkan. Jika tombol Sinkronisasikan tidak " +"dapat diklik, periksa apakah kunci telah diterbitkan pada peladen kunci. " +"Dalam kasus sinkronisasi kunci Anda sendiri, terbitkan terlebih dahulu sebelum sinkronisasi." + +#. (itstool) path: info/desc +#: C/pgp-userid-add.page:20 +msgid "" +"Having many user IDs helps you to use the same key to communicate with " +"different people." +msgstr "" +"Memiliki banyak ID pengguna membantu Anda untuk menggunakan kunci yang sama " +"ketika berkomunikasi dengan orang yang berbeda." + +#. (itstool) path: page/title +#: C/pgp-userid-add.page:24 +msgid "Add extra user IDs to a key" +msgstr "Menambahkan ID pengguna ekstra untuk kunci" + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:26 +msgid "" +"A key can have multiple user IDs. This is helpful when you want to use the " +"same key while communicating with several people and one of them does not " +"recognize, say, the email address in your user ID. This person may not want " +"to import your public key since it contains information that they do not " +"know. In such scenarios, if you do not want to create a new key with a " +"different user ID, you can attach a new user ID to your existing key." +msgstr "" +"Kunci dapat memiliki beberapa ID pengguna. Hal ini bermanfaat ketika Anda " +"ingin menggunakan kunci yang sama saat berkomunikasi dengan beberapa orang " +"dan salah satu dari mereka tidak mengakui, katakanlah, alamat surel di ID " +"pengguna Anda. Orang ini mungkin tidak ingin mengimpor kunci publik Anda " +"karena mengandung informasi yang mereka tidak tahu. Dalam skenario seperti " +"itu, jika Anda tidak ingin membuat kunci baru dengan ID pengguna yang " +"berbeda, Anda dapat melampirkan ID pengguna baru untuk kunci yang ada." + +#. (itstool) path: steps/title +#: C/pgp-userid-add.page:34 +msgid "To add an extra user ID:" +msgstr "Untuk menambahkan ID pengguna ekstra:" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:39 +msgid "From the list, select the Personal PGP key of your choice." +msgstr "Dari daftar, pilih Kunci PGP pribadi pilihan Anda." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:43 +msgid "" +"Right click on the key and select Properties Names " +"and Signatures." +msgstr "" +"Klik kanan pada kunci tersebut dan pilih Properti " +"Nama dan Tanda Tangan." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:47 +msgid "" +"Click the Add Name button to add a new user ID." +msgstr "" +"Klik tombol Tambah Nama untuk menambahkan ID " +"pengguna baru." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:51 +msgid "" +"In the new dialog, fill in details like Full Name, Email " +"Address and Key Comment for the new user ID." +msgstr "" +"Dalam dialog baru, isi rincian seperti Nama Lengkap, Alamat " +"Surel dan Komentar Kunci untuk ID pengguna baru." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:56 +msgid "" +"Enter the correct passphrase and click OK to " +"finish." +msgstr "" +"Masukkan frasa sandi yang benar dan klik OK " +"untuk menyelesaikan." + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:61 +msgid "" +"Your new user ID will now be listed under the Names and Signatures panel." +msgstr "" +"ID pengguna baru Anda sekarang akan terdaftar dibawah panel Nama dan " +"Tandatangan." + +#. (itstool) path: note/p +#: C/pgp-userid-add.page:65 +msgid "" +"If your key has been published on a key server, synchronize it after adding new user IDs to update the remote copy " +"of the key." +msgstr "" +"Jika kunci Anda telah dipublikasikan pada peladen kunci, sinkronisasikan setelah menambahkan ID pengguna baru untuk " +"memperbarui salinan kunci jarak jauh." + +#. (itstool) path: info/desc +#: C/pgp-userid-primary.page:19 +msgid "Change your default user ID" +msgstr "Mengubah ID pengguna bawaan Anda" + +#. (itstool) path: page/title +#: C/pgp-userid-primary.page:22 +msgid "What is a primary user ID?" +msgstr "Apa yang dimaksud dengan ID pengguna utama?" + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:24 +msgid "" +"When you have multiple user IDs, one of the user IDs is made the primary " +"user ID. Passwords and Keys will attach the primary user ID by " +"default with your key information, while encrypting or signing, unless you " +"explicitly choose another user ID instead." +msgstr "" +"Bila Anda memiliki beberapa ID pengguna, salah satu ID pengguna dibuat ID " +"pengguna utama. Sandi dan Kunci akan melampirkan ID pengguna " +"utama secara bawaan dengan informasi kunci Anda ketika enkripsi atau " +"penandatanganan, kecuali Anda secara eksplisit memilih ID pengguna lain " +"sebagai gantinya." + +#. (itstool) path: steps/title +#: C/pgp-userid-primary.page:30 +msgid "To change the primary user ID in a PGP key:" +msgstr "Untuk mengubah ID pengguna utama pada kunci PGP:" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:35 C/pgp-userid-remove.page:34 +#: C/subkeys-add.page:34 +msgid "Select the Personal PGP key from the list." +msgstr "Pilih Kunci PGP Pribadi dari daftar." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:38 +msgid "" +"Right click on the selected key and select Properties " +"Names and Signatures." +msgstr "" +"Klik kanan pada kunci yang dipilih dan pilih Properti " +"Nama dan Tanda Tangan." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:43 +msgid "" +"Select the new primary user ID from the list and click Primary." +msgstr "" +"Pilih ID pengguna utama baru dari daftar dan klik Utama." + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:48 +msgid "" +"The user ID will move to the top of the Names and Signatures list " +"to become your primary user ID." +msgstr "" +"ID pengguna akan pindah ke atas daftar Nama dan Tanda Tangan dan " +"menjadi ID pengguna utama Anda." + +#. (itstool) path: note/p +#: C/pgp-userid-primary.page:52 +msgid "" +"Sync your keys after changing your primary user ID to update the remote " +"copies of your key." +msgstr "" +"Sinkronkan kunci Anda setelah mengubah ID pengguna utama Anda untuk " +"memperbarui salinan kunci jarak jauh Anda." + +#. (itstool) path: info/desc +#: C/pgp-userid-remove.page:20 +msgid "Remove extra user IDs" +msgstr "Hapus ID pengguna tambahan" + +#. (itstool) path: page/title +#: C/pgp-userid-remove.page:23 +msgid "Detach a user ID from a key" +msgstr "Lepaskan ID pengguna dari kunci" + +#. (itstool) path: page/p +#: C/pgp-userid-remove.page:25 +msgid "" +"While it is essential that all keys have at least one user ID, you can " +"remove any additional user IDs that you have attached to the key." +msgstr "" +"Sementara itu, merupakan hal yang penting bahwa semua kunci memiliki " +"setidaknya satu ID pengguna, Anda dapat menghapus ID pengguna tambahan yang " +"telah dilampirkan ke kunci." + +#. (itstool) path: steps/title +#: C/pgp-userid-remove.page:29 +msgid "To remove a user ID from a PGP key:" +msgstr "Untuk menghapus ID pengguna dari kunci PGP:" + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:37 +msgid "" +"Right click on the selected key and choose Properties " +"Names and Signatures." +msgstr "" +"Klik kanan pada kunci yang dipilih dan pilih Properti " +"Nama dan Tanda Tangan." + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:42 +msgid "" +"Select the user ID you want to remove and click Delete." +msgstr "" +"Pilih ID pengguna yang ingin Anda hapus dan klik Hapus." + +#. (itstool) path: note/p +#: C/pgp-userid-remove.page:48 +msgid "" +"Synchronize your keys after detaching the " +"user ID to update the changes on the remote copy of the key." +msgstr "" +"Sinkronisasikan kunci Anda setelah melepaskan " +"ID pengguna untuk memperbarui perubahan pada salinan kunci jarak jauh." + +#. (itstool) path: info/desc +#: C/pgp-userid.page:19 +msgid "Create keys with good user IDs and learn to add and remove user IDs." +msgstr "" +"Buat kunci dengan ID pengguna yang baik dan pelajari untuk menambah dan " +"menghapus ID pengguna." + +#. (itstool) path: page/title +#: C/pgp-userid.page:23 +msgid "What is a user ID?" +msgstr "Apa itu ID pengguna?" + +#. (itstool) path: page/p +#: C/pgp-userid.page:25 +msgid "" +"When you create a key, you provide details, like your name, email and a key " +"description. This information together constitutes a user ID. A good user ID " +"helps people to recognize your key when they are trying to retrieve or import " +"it. It is important to fill in authentic information while creating your " +"user ID." +msgstr "" +"Ketika Anda membuat kunci, Anda akan memberikan rincian, seperti nama Anda, " +"surel dan deskripsi kunci. Informasi ini secara bersama-sama merupakan ID " +"pengguna. Sebuah ID pengguna yang baik membantu orang untuk mengenali kunci " +"Anda ketika mereka mencoba untuk mengambil atau mengimpor. Hal ini " +"penting untuk mengisi informasi yang otentik ketika membuat ID pengguna." + +#. (itstool) path: section/title +#: C/pgp-userid.page:33 +msgid "Add, remove user IDs" +msgstr "Menambah, menghapus ID pengguna" + +#. (itstool) path: info/desc +#: C/ssh-connect-remote.page:23 +msgid "Use SSH keys to log in to another computer without entering a password." +msgstr "" +"Gunakan kunci SSH untuk masuk ke komputer lain tanpa memasukkan kata sandi." + +#. (itstool) path: page/title +#: C/ssh-connect-remote.page:27 +msgid "Connect to other computers" +msgstr "Terhubung ke komputer lain" + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:29 +msgid "" +"You can use Passwords and Keys to install your SSH key onto a " +"remote computer that can run an SSH server. You can also set up your SSH key for remote login " +"while creating the key." +msgstr "" +"Anda dapat menggunakan Sandi dan Kunci untuk memasang kunci SSH " +"Anda ke komputer jarak jauh yang dapat menjalankan peladen SSH. Anda juga " +"dapat mengatur kunci SSH " +"untuk masuk jarak jauh keika membuat kunci." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:36 +msgid "" +"Right click on the SSH key and select Configure Key for " +"Secure Shell…." +msgstr "" +"Klik kanan pada Kunci SSH dan pilih Tata Kunci bagi Secure " +"Shell…." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:40 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH, and press " +"Set Up." +msgstr "" +"Pada jendela dialog yang terbuka, masukkan Alamat peladen yang " +"biasanya Anda digunakan untuk masuk ke komputer jarak jauh melalui SSH, dan " +"tekan Atur." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:45 C/ssh-create.page:106 +msgid "" +"The program will now attempt to connect to the specified Server " +"address with the entered Login Name. If there are any " +"problems in accessing the remote computer, a pop-up window will appear that " +"explains the problem, and you can try again. Make sure that you have a " +"network connection and that the remote computer is on and accessible." +msgstr "" +"Program ini sekarang akan mencoba untuk terhubung ke Alamat peladen dengan Nama Log Masuk yang dimasukkan. Jika ada masalah " +"dalam mengakses komputer jarak jauh, jendela pop-up akan muncul yang akan " +"menjelaskan masalah, dan Anda dapat mencoba lagi. Pastikan bahwa Anda " +"memiliki koneksi jaringan dan komputer jarak jauh menyala serta dapat " +"diakses." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:53 C/ssh-create.page:114 +msgid "" +"If connection to the remote computer was successful, a dialog box will " +"appear which asks for the Password you use to log in to the " +"remote computer. Enter your password, then press OK." +msgstr "" +"Jika koneksi ke komputer jarak jauh berhasil, kotak dialog akan muncul yang " +"meminta Kata Sandi yang Anda gunakan untuk masuk ke komputer " +"jarak jauh. Masukkan kata sandi Anda, lalu tekan OK." + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:60 +msgid "" +"You should now be able to log in to the remote computer via SSH without a " +"password." +msgstr "" +"Anda sekarang seharusnya dapat masuk ke komputer jarak jauh melalui SSH " +"tanpa sandi." + +#. (itstool) path: info/desc +#: C/ssh-create.page:31 +msgid "Create SSH keys to log in to other computers." +msgstr "Buat kunci SSH untuk masuk ke komputer lain." + +#. (itstool) path: page/title +#: C/ssh-create.page:34 +msgid "Create a new SSH key" +msgstr "Buat kunci SSH baru" + +#. (itstool) path: page/p +#: C/ssh-create.page:36 +msgid "" +"An SSH key will help you to create a secure connection between computers. " +"Creating an SSH key creates both a Public and a Private " +"key. Here is how to create a new key:" +msgstr "" +"Kunci SSH akan membantu Anda untuk membuat sambungan aman antara komputer. " +"Membuat kunci SSH menciptakan kunci Publik dan Privat. " +"Berikut adalah cara untuk membuat kunci baru:" + +#. (itstool) path: item/p +#: C/ssh-create.page:42 +msgid "Select Secure Shell Key from the list." +msgstr "Pilih Kunci Secure Shell dari daftar." + +#. (itstool) path: item/p +#: C/ssh-create.page:43 +msgid "" +"Enter a description for the key. The key description will help you to " +"identify the key later. For example, you could enter the date for the day, " +"something about how the key will be used, or the server name on which you " +"intend to install the key. The description field is optional, and how you " +"describe the key is entirely up to you." +msgstr "" +"Masukkan deskripsi untuk kunci. Deskripsi kunci akan membantu Anda untuk " +"mengidentifikasi kunci nantinya. Misalnya, Anda bisa masukkan tanggal untuk " +"hari, sesuatu tentang bagaimana kunci akan digunakan, atau nama peladen " +"dimana Anda berniat untuk memasang kunci. Kolom deskripsi adalah opsional, " +"dan bagaimana Anda menggambarkan kunci adalah sepenuhnya terserah Anda." + +#. (itstool) path: item/p +#: C/ssh-create.page:48 +msgid "" +"You can also change default settings for encryption type or key strength." +msgstr "" +"Anda juga dapat mengubah pengaturan bawaan untuk jenis enkripsi atau " +"kekuatan kunci." + +#. (itstool) path: page/p +#: C/ssh-create.page:52 +msgid "" +"At this point, you can just create your key, or create your key and install " +"it on a remote computer to enable password-free login." +msgstr "" +"Pada titik ini, Anda hanya dapat membuat kunci Anda, atau membuat kunci Anda " +"dan memasangnya pada komputer jarak jauh untuk mengaktifkan kata sandi bebas " +"masuk." + +#. (itstool) path: section/title +#: C/ssh-create.page:56 +msgid "Create your key and do not set up remote login" +msgstr "Buat kunci Anda dan jangan atur untuk masuk jarak jauh" + +#. (itstool) path: section/p +#: C/ssh-create.page:57 +msgid "You can create the SSH key, and choose to set it up later." +msgstr "Anda dapat membuat kunci SSH, dan memilih untuk mengaturnya nanti." + +#. (itstool) path: item/p +#: C/ssh-create.page:61 +msgid "Press the Just Create Key button." +msgstr "Tekan tombol Hanya Buat Kunci." + +#. (itstool) path: item/p +#: C/ssh-create.page:64 +msgid "" +"Type a passphrase for your SSH key and press OK." +msgstr "" +"Ketik frasa sandi untuk kunci SSH Anda dan tekan OK." + +#. (itstool) path: item/p +#: C/ssh-create.page:68 +msgid "" +"Retype the passphrase and press OK to finish." +msgstr "" +"Ketik ulang frasa sandi dan tekan OK untuk " +"menyelesaikan." + +#. (itstool) path: section/p +#: C/ssh-create.page:73 +msgid "The SSH key will now be listed in the OpenSSH keys keyring." +msgstr "" +"Kunci SSH sekarang akan tercantum dalam ring kunci Kunci OpenSSH." + +#. (itstool) path: note/p +#: C/ssh-create.page:77 +msgid "" +"When you try to use your SSH key, your operating system will prompt you for " +"the passphrase used during creation. This ensures that if someone gets " +"access to your SSH key, they can't use it without the passphrase." +msgstr "" +"Ketika Anda mencoba untuk menggunakan kunci SSH Anda, sistem operasi Anda " +"akan meminta Anda frasa sandi untuk digunakan selama pembuatan. Hal ini " +"memastikan bahwa jika seseorang mendapat akses ke kunci SSH Anda, mereka " +"tidak bisa menggunakannya tanpa frasa sandi." + +#. (itstool) path: section/title +#: C/ssh-create.page:86 +msgid "Create your key and install it on a remote computer" +msgstr "Buat kunci Anda dan pasang pada komputer jarak jauh" + +#. (itstool) path: section/p +#: C/ssh-create.page:87 +msgid "" +"One of the most useful things about having an SSH key is that you can " +"install the public key on a remote computer. Doing this allows you to log in " +"to a remote computer with SSH without needing to enter your password every " +"time." +msgstr "" +"Salah satu hal yang paling berguna tentang memiliki kunci SSH adalah bahwa " +"Anda dapat memasang kunci publik pada komputer jarak jauh. Melakukan hal ini " +"memungkinkan Anda untuk masuk ke komputer jarak jauh dengan SSH tanpa perlu " +"memasukkan kata sandi Anda setiap waktu." + +#. (itstool) path: item/p +#: C/ssh-create.page:94 +msgid "" +"Press the Create and Set Up button, and follow " +"the above instructions on entering a passphrase." +msgstr "" +"Tekan tombol Buat dan Atur, dan ikuti petunjuk " +"diatas untuk memasukkan frasa sandi." + +#. (itstool) path: item/p +#: C/ssh-create.page:98 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH." +msgstr "" +"Pada jendela dialog yang terbuka, masukkan Alamat peladen yang " +"biasa Anda gunakan untuk masuk ke komputer jarak jauh melalui SSH." + +#. (itstool) path: item/p +#: C/ssh-create.page:102 +msgid "" +"Ensure that the Login name you use on the remote computer is " +"correct, and press Set Up." +msgstr "" +"Pastikan bahwa Nama Masuk yang Anda gunakan pada komputer jarak " +"jauh benar, dan tekan Atur." + +#. (itstool) path: section/p +#: C/ssh-create.page:121 +msgid "" +"The public part of the selected SSH key will now be installed on the remote " +"computer and configured to allow password-free SSH login. You should now be " +"able to log in to the remote computer via SSH without a password." +msgstr "" +"Bagian umum dari kunci SSH yang dipilih sekarang akan dipasang pada komputer " +"jarak jauh dan dikonfigurasi untuk memungkinkan kata sandi bebas masuk SSH. " +"Anda sekarang harus dapat masuk ke komputer jarak jauh melalui SSH tanpa " +"sandi." + +#. (itstool) path: note/p +#: C/ssh-create.page:127 +msgid "" +"If SSH key authentication fails and you cannot use password authentication, " +"contact the service administrator for further help." +msgstr "" +"Jika otentikasi kunci SSH gagal dan Anda tidak dapat menggunakan otentikasi " +"kata sandi, hubungi administrator layanan untuk bantuan lebih lanjut." + +#. (itstool) path: info/desc +#: C/ssh-export.page:20 +msgid "Export your public and private SSH keys to store them in keyfiles." +msgstr "" +"Ekspor kunci publik dan privat SSH untuk menyimpannya dalam berkas kunci." + +#. (itstool) path: page/title +#: C/ssh-export.page:24 +msgid "Export SSH keys" +msgstr "Ekspor kunci SSH" + +#. (itstool) path: page/p +#: C/ssh-export.page:26 +msgid "" +"Export the contents of your SSH keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Ekspor isi dari kunci SSH Anda dan menyimpannya pada berkas kunci, untuk " +"memiliki cadangan kunci Anda atau untuk berbagi kunci publik Anda dengan " +"seseorang." + +#. (itstool) path: section/title +#: C/ssh-export.page:30 +msgid "To export your public SSH key:" +msgstr "Untuk mengekspor kunci publik SSH Anda:" + +#. (itstool) path: item/p +#: C/ssh-export.page:34 C/ssh-export.page:57 +msgid "Select the OpenSSH keys keyring from the left side panel." +msgstr "Pilih ring kunci kunci OpenSSHdari panel sebelah kiri." + +#. (itstool) path: item/p +#: C/ssh-export.page:38 C/ssh-export.page:61 +msgid "" +"Select the Personal SSH key, that has to be exported, from the " +"list." +msgstr "Pilih Kunci SSH pribadi yang harus diekspor dari daftar." + +#. (itstool) path: item/p +#: C/ssh-export.page:45 +msgid "" +"Press the Export button to save the exported " +"public key on your computer." +msgstr "" +"Tekan tombol Eksporuntuk menyimpan kunci publik " +"yang diekspor pada komputer Anda." + +#. (itstool) path: section/title +#: C/ssh-export.page:53 +msgid "To export your private SSH key:" +msgstr "Untuk mengekspor kunci privat SSH Anda:" + +#. (itstool) path: item/p +#: C/ssh-export.page:65 +msgid "" +"Right click on the selected key and select Properties." +msgstr "" +"Klik kanan pada kunci yang dipilih dan pilih Properti." + +#. (itstool) path: item/p +#: C/ssh-export.page:69 +msgid "" +"Press the Export button to save the exported " +"private key on your computer." +msgstr "" +"Tekan tombol Eksporuntuk menyimpan kunci privat " +"yang diekspor pada komputer Anda." + +#. (itstool) path: note/p +#: C/ssh-export.page:75 +msgid "" +"Keep the exported private key file in a safe location, since the contents of " +"the file must be kept private, to prevent misuse of your key." +msgstr "" +"Simpan berkas kunci privat yang diekspor di lokasi yang aman, karena isi " +"berkas harus dirahasiakan, untuk mencegah penyalahgunaan kunci Anda." + +#. (itstool) path: info/desc +#: C/ssh-import.page:25 +msgid "Import SSH keys from keyfiles into Passwords and Keys." +msgstr "Impor kunci SSH dari berkas kunci ke Sandi dan Kunci." + +#. (itstool) path: page/title +#: C/ssh-import.page:28 +msgid "Import SSH keys" +msgstr "Impor kunci SSH" + +#. (itstool) path: page/p +#: C/ssh-import.page:30 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports SSH keys from the ~/.ssh directory on " +"your computer. You can also manually import keys into Passwords and " +"Keys." +msgstr "" +"Jika Anda telah menerima berkas kunci melalui surel, Anda mungkin ingin " +"mengimpornya ke Sandi dan Kunci. Dalam kebanyakan kasus, " +"Sandi dan Kunci otomatis mengimpor kunci SSH dari direktori " +"~/.ssh pada komputer Anda. Anda juga dapat secara manual " +"mengimpor kunci ke Sandi dan Kunci." + +#. (itstool) path: item/p +#: C/ssh-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. Public SSH keys end " +"with .pub." +msgstr "" +"Dalam dialog baru, pilih tombol yang ingin Anda impor. kunci publik SSH " +"diakhiri dengan .pub." + +#. (itstool) path: page/p +#: C/ssh-import.page:53 +msgid "" +"Imported keys are automatically grouped according to their type. So, " +"SSH keys are listed in the OpenSSH keys section." +msgstr "" +"Kunci yang diimpor secara otomatis dikelompokkan menurut jenis. Jadi, kunci " +"SSH tercantum dalam bagian OpenSSH keys." + +#. (itstool) path: info/desc +#: C/subkeys-add.page:20 +msgid "Additional subkeys make your master key more secure." +msgstr "Subkunci tambahan membuat kunci master Anda lebih aman." + +#. (itstool) path: page/title +#: C/subkeys-add.page:23 +msgid "Add extra subkeys" +msgstr "Menambahkan subkunci ekstra" + +#. (itstool) path: page/p +#: C/subkeys-add.page:25 +msgid "" +"You can add extra subkeys to the same master key. You have to choose the " +"right subkey each time you want to encrypt or sign when you do this." +msgstr "" +"Anda dapat menambahkan subkunci ekstra untuk kunci master yang sama. Anda " +"harus memilih subkunci yang tepat setiap kali Anda ingin mengenkripsi atau " +"menandatangani saat Anda melakukan hal ini." + +#. (itstool) path: steps/title +#: C/subkeys-add.page:29 +msgid "To add extra subkeys to a PGP key:" +msgstr "Untuk menambahkan subkunci ekstra untuk kunci PGP:" + +#. (itstool) path: item/p +#: C/subkeys-add.page:41 C/subkeys-examine.page:41 +msgid "If the Subkeys panel is not expanded, expand it." +msgstr "Jika panel Subkunci tidak diperluas, perluaslah." + +#. (itstool) path: item/p +#: C/subkeys-add.page:44 +msgid "Click the Add button to add a new subkey." +msgstr "" +"Klik tombol Tambah untuk menambahkan subkunci " +"baru." + +#. (itstool) path: item/p +#: C/subkeys-add.page:48 +msgid "" +"Choose the right properties for your key by selecting the appropriate " +"Key Type, Key Length and Expiration Date " +"and click OK." +msgstr "" +"Pilih properti yang tepat untuk kunci Anda dengan memilih Jenis Kunci, Panjang Kunci dan Tanggal Kedaluwarsa yang " +"sesuai dan klik OK." + +#. (itstool) path: note/p +#: C/subkeys-add.page:55 +msgid "" +"Always ensure that your subkey expires before your master key since a subkey " +"is useless when its master key has expired." +msgstr "" +"Selalu pastikan bahwa subkunci Anda kedaluwarasa sebelum kunci master Anda " +"karena subkunci tidak berguna ketika kunci masternya telah kedaluwarsa." + +#. (itstool) path: info/desc +#: C/subkeys-examine.page:20 +msgid "See all the subkeys listed under a PGP key." +msgstr "Lihat semua subkunci yang terdaftar dibawah kunci PGP." + +#. (itstool) path: page/title +#: C/subkeys-examine.page:23 +msgid "Where are my subkeys listed?" +msgstr "Dimana subkunci saya terdaftar?" + +#. (itstool) path: page/p +#: C/subkeys-examine.page:25 +msgid "" +"You can check the contents of a keypair to see the properties of a subkey." +msgstr "" +"Anda dapat memeriksa isi dari pasangan kunci untuk melihat properti dari " +"subkunci." + +#. (itstool) path: steps/title +#: C/subkeys-examine.page:29 +msgid "To see all the subkeys in a PGP key:" +msgstr "Untuk melihat semua subkunci pada kunci PGP:" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:31 +msgid "Select the GnuPG keys from the left side panel." +msgstr "Pilih Kunci GnuPG dari panel sebelah kiri." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:34 +msgid "Select the Personal PGP key." +msgstr "Pilih Kunci PGP pribadi." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:37 +msgid "" +"Right click on the key chosen in the previous step and select " +"PropertiesDetails." +msgstr "" +"Klik kanan pada kunci yang dipilih pada langkah sebelumnya dan pilih " +"PropertiRincian." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:44 +msgid "All the subkeys for the selected PGP key will be listed in the panel." +msgstr "" +"Semua subkunci untuk kunci PGP yang dipilih akan terdaftar dalam panel." + +#. (itstool) path: note/p +#: C/subkeys-examine.page:50 +msgid "" +"While signing another key, Passwords and Keys automatically " +"chooses the master key for signing, when you select a GnuPG keys " +"keypair to sign with." +msgstr "" +"Saat menandatangani kunci lain, Sandi dan Kunci otomatis memilih " +"kunci master untuk penandatanganan, ketika Anda memilih pasangan kunci " +"kunci GnuPG untuk menandatanganinya." + +#. (itstool) path: info/desc +#: C/subkeys-revoke.page:20 +msgid "Revoke a subkey that has been compromised or is not being used." +msgstr "Mencabut subkunci yang telah membahayakan atau tidak sedang digunakan." + +#. (itstool) path: page/title +#: C/subkeys-revoke.page:24 +msgid "Revoke your subkeys" +msgstr "Cabut subkunci Anda" + +#. (itstool) path: page/p +#: C/subkeys-revoke.page:26 +msgid "" +"If your subkey has been compromised or is no longer in use, it might be a " +"good idea to revoke it to prevent misuse of the key." +msgstr "" +"Jika subkunci Anda telah disusupi atau tidak lagi digunakan, mungkin ide " +"yang baik adalah mencabutnya untuk mencegah penyalahgunaan kunci." + +#. (itstool) path: steps/title +#: C/subkeys-revoke.page:30 +msgid "To revoke a subkey:" +msgstr "Untuk mencabut subkunci:" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:32 +msgid "" +"Navigate to the Subkeys " +"panel." +msgstr "" +"Arahkan ke panel Subkunci." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:47 +msgid "" +"Select the subkey from the list and press the Revoke button." +msgstr "" +"Pilih subkunci dari daftar dan tekan tombol Cabut." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:51 +msgid "" +"In the new dialog, select a reason for revoking the key. Optionally, " +"describe your reason in more detail in the Description field." +msgstr "" +"Dalam dialog baru, pilih alasan untuk mencabut kunci. Secara opsional, " +"jelaskan alasan Anda secara lebih rinci dalam kolom Deskripsi." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:56 +msgid "Press the Revoke button." +msgstr "Tekan tombol Cabut ." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:59 +msgid "You will have to unlock the key with its passphrase." +msgstr "Anda harus membuka kunci dengan frasa sandinya." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:62 +msgid "" +"The Status of the subkey changes to Revoked in the " +"Subkeys panel." +msgstr "" +"Status perubahan subkunci yang Dicabut ada pada panel " +"Subkunci." + +#. (itstool) path: note/p +#: C/subkeys-revoke.page:68 +msgid "" +"If you have published your subkey, you " +"must synchronize it with the key servers " +"after revoking it to apply the revocation on all copies of the key." +msgstr "" +"Jika Anda telah menerbitkan subkunci Anda, " +"Anda harus melakukan sinkronisasi dengan " +"peladen kunci setelah mencabut untuk menerapkan pencabutan pada semua " +"salinan kunci." diff --git a/help/meson.build b/help/meson.build new file mode 100644 index 00000000..14ae5d92 --- /dev/null +++ b/help/meson.build @@ -0,0 +1,54 @@ +help_pages = [ + 'about-diff-private-public.page', + 'about-pgp.page', + 'about-ssh.page', + 'concepts.page', + 'glossary.page', + 'index.page', + 'introduction.page', + 'key-servers-add.page', + 'keyring-change-default.page', + 'keyring-create.page', + 'keyring-lock.page', + 'keyring-unlock.page', + 'keyring-update-password.page', + 'keyring.page', + 'legal.xml', + 'misc-key-backup.page', + 'misc-key-fingerprint.page', + 'passwords-stored-create.page', + 'passwords-view.page', + 'pgp-create.page', + 'pgp-delete.page', + 'pgp-expiration-change.page', + 'pgp-expired.page', + 'pgp-export.page', + 'pgp-import.page', + 'pgp-photoid.page', + 'pgp-publish.page', + 'pgp-retrieve-remote.page', + 'pgp-sign.page', + 'pgp-subkeys.page', + 'pgp-sync.page', + 'pgp-userid-add.page', + 'pgp-userid-primary.page', + 'pgp-userid-remove.page', + 'pgp-userid.page', + 'ssh-connect-remote.page', + 'ssh-create.page', + 'ssh-export.page', + 'ssh-import.page', + 'subkeys-add.page', + 'subkeys-examine.page', + 'subkeys-revoke.page', +] + +help_media = [ + 'media/dialog-password-symbolic.svg', + 'media/org.gnome.seahorse.Application.svg', +] + +gnome.yelp(meson.project_name(), + sources: help_pages, + media: help_media, +) diff --git a/help/pl/pl.po b/help/pl/pl.po new file mode 100644 index 00000000..c6c01ef8 --- /dev/null +++ b/help/pl/pl.po @@ -0,0 +1,3168 @@ +# Polish translation for seahorse help. +# Copyright © 2017-2020 the seahorse authors. +# This file is distributed under the same license as the seahorse help. +# Piotr Drąg , 2017-2020. +# Aviary.pl , 2017-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse-help\n" +"POT-Creation-Date: 2020-07-31 17:47+0000\n" +"PO-Revision-Date: 2020-08-22 20:05+0200\n" +"Last-Translator: Piotr Drąg \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "" +"Piotr Drąg , 2017-2020\n" +"Aviary.pl , 2017-2020" + +#. (itstool) path: credit/name +#: C/about-diff-private-public.page:14 C/about-ssh.page:13 C/concepts.page:14 +#: C/index.page:14 C/introduction.page:15 C/keyring-create.page:26 +#: C/keyring.page:15 C/pgp-create.page:16 C/pgp-import.page:21 +#: C/ssh-connect-remote.page:14 C/ssh-create.page:16 C/ssh-import.page:20 +msgid "Jim Campbell" +msgstr "Jim Campbell" + +#. (itstool) path: credit/years +#: C/about-diff-private-public.page:16 C/about-pgp.page:17 C/about-ssh.page:15 +#: C/glossary.page:17 C/index.page:16 C/index.page:21 C/index.page:26 +#: C/introduction.page:17 C/introduction.page:23 C/key-servers-add.page:20 +#: C/keyring-change-default.page:16 C/keyring-create.page:18 +#: C/keyring-create.page:23 C/keyring-lock.page:17 C/keyring-unlock.page:17 +#: C/keyring-update-password.page:17 C/keyring.page:17 C/keyring.page:22 +#: C/keyring.page:27 C/misc-key-backup.page:17 C/misc-key-fingerprint.page:16 +#: C/passwords-stored-create.page:16 C/passwords-view.page:18 +#: C/pgp-create.page:18 C/pgp-create.page:24 C/pgp-delete.page:17 +#: C/pgp-expiration-change.page:16 C/pgp-expired.page:17 C/pgp-export.page:16 +#: C/pgp-import.page:18 C/pgp-import.page:23 C/pgp-photoid.page:17 +#: C/pgp-publish.page:18 C/pgp-retrieve-remote.page:18 C/pgp-sign.page:16 +#: C/pgp-subkeys.page:16 C/pgp-sync.page:18 C/pgp-userid-add.page:17 +#: C/pgp-userid-primary.page:16 C/pgp-userid-remove.page:17 +#: C/pgp-userid.page:16 C/ssh-create.page:18 C/ssh-export.page:17 +#: C/ssh-import.page:17 C/ssh-import.page:22 C/subkeys-add.page:17 +#: C/subkeys-examine.page:17 C/subkeys-revoke.page:17 +msgid "2013" +msgstr "2013" + +#. (itstool) path: info/desc +#: C/about-diff-private-public.page:19 +msgid "" +"A public key is used to encrypt communication. A private key is used to " +"decrypt it." +msgstr "" +"Klucz publiczny jest używany do szyfrowania komunikacji. Klucz prywatny jest " +"używany do jej odszyfrowania." + +#. (itstool) path: page/title +#: C/about-diff-private-public.page:23 +msgid "Public Key vs Private Key" +msgstr "Klucz publiczny a klucz prywatny" + +#. (itstool) path: page/p +#: C/about-diff-private-public.page:25 +msgid "" +"Although Public Keys and Private Keys are both referred to " +"as keys, it helps to think of them a bit differently. Try to think " +"of a Public Key as being like a padlock, and a Private Key " +"as being like a key that unlocks the padlock." +msgstr "" +"Chociaż klucze publiczneklucze prywatne są nazywane " +"kluczami, to można o nich myśleć trochę inaczej. Klucz " +"publiczny jest jak kłódka, a klucz prywatny jest jak klucz do " +"tej kłódki." + +#. (itstool) path: section/title +#: C/about-diff-private-public.page:31 +msgid "An Example: Sending a Secret Message in a Box" +msgstr "Przykład: wysyłanie tajnej wiadomości w pudełku" + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:33 +msgid "" +"Let's use an example to see how this works. Imagine that you want your " +"friend to send you a secret message in a box. You could give your friend a " +"box and a padlock, but only you would have the key that unlocks the padlock." +msgstr "" +"Przykładowo, wyobraź sobie, że chcesz odebrać od znajomego tajną wiadomość " +"w pudełku. Możesz dać mu pudełko i kłódkę, ale zachować dla siebie klucz do " +"kłódki." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:38 +msgid "" +"Your friend could put their message in the box, lock the padlock, and then " +"send you the locked box in the mail. When you receive it, you would use your " +"key to unlock the box." +msgstr "" +"Znajomy umieszcza wiadomość w pudełku, zamyka kłódkę i wysyła zamknięte " +"pudełko pocztą. Po odebraniu można użyć klucza, aby je otworzyć." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:42 +msgid "" +"This is similar to how a Public Key and a Private Key " +"work. Like the padlock, you can freely give out your Public Key. " +"This will make it easy for anyone to securely encrypt, or lock, a message " +"that they want to send to you." +msgstr "" +"Podobnie działają klucze publiczneklucze prywatne. Tak " +"jak kłódkę, można swobodnie rozdawać swój klucz publiczny. Ułatwia " +"to wszystkim bezpiecznie zaszyfrować wiadomość do Ciebie." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:47 +msgid "" +"On the other hand, a Private Key is like the key that allows you to " +"decrypt, or unlock, the padlock. Because the Private Key is used to " +"decrypt secure messages, you will want to keep your Private Key " +"safe." +msgstr "" +"Z drugiej strony, klucz prywatny jest jak klucz umożliwiający " +"odszyfrowanie „kłódki”. Ponieważ klucz prywatny jest używany do " +"odszyfrowywania zabezpieczonych wiadomości, nie należy go nikomu ujawniać." + +#. (itstool) path: credit/name +#: C/about-pgp.page:15 C/glossary.page:15 C/index.page:19 +#: C/introduction.page:21 C/key-servers-add.page:18 +#: C/keyring-change-default.page:14 C/keyring-create.page:16 +#: C/keyring-lock.page:15 C/keyring-unlock.page:15 +#: C/keyring-update-password.page:15 C/keyring.page:20 +#: C/misc-key-backup.page:15 C/misc-key-fingerprint.page:14 +#: C/passwords-stored-create.page:14 C/passwords-view.page:16 +#: C/pgp-create.page:22 C/pgp-delete.page:15 C/pgp-expiration-change.page:14 +#: C/pgp-expired.page:15 C/pgp-export.page:14 C/pgp-import.page:16 +#: C/pgp-photoid.page:15 C/pgp-sign.page:14 C/pgp-subkeys.page:14 +#: C/pgp-sync.page:16 C/pgp-userid-add.page:15 C/pgp-userid-primary.page:14 +#: C/pgp-userid-remove.page:15 C/pgp-userid.page:14 +#: C/ssh-connect-remote.page:19 C/ssh-export.page:15 C/ssh-import.page:15 +#: C/subkeys-add.page:15 C/subkeys-examine.page:15 C/subkeys-revoke.page:15 +msgid "Aruna Sankaranarayanan" +msgstr "Aruna Sankaranarayanan" + +#. (itstool) path: info/desc +#: C/about-pgp.page:20 +msgid "PGP keys are used to sign and encrypt emails and files." +msgstr "" +"Klucze PGP są używane do podpisywania i szyfrowania wiadomości e-mail " +"i plików." + +#. (itstool) path: page/title +#: C/about-pgp.page:23 +msgid "What is a PGP key?" +msgstr "Czym jest klucz PGP?" + +#. (itstool) path: page/p +#: C/about-pgp.page:25 +msgid "" +"A PGP key is a public encryption key. A PGP key can be used to sign and " +"encrypt emails and files. When you create a PGP key, a keypair having a " +"public key and a private key is generated. You can share the public key with " +"anyone who wishes to send you encrypted messages or files, but the private " +"key must be known only to you and used to decrypt received messages." +msgstr "" +"Klucz PGP to publiczny klucz szyfrowania. Może on być używany do " +"podpisywania i szyfrowania wiadomości e-mail i plików. Podczas tworzenia " +"klucza PGP tworzona jest para kluczy: publiczny i prywatny. Można udostępnić " +"klucz publiczny każdemu, kto chce wysyłać do Ciebie zaszyfrowane wiadomości " +"lub pliki, ale klucz prywatny, używany do odszyfrowywania odebranych " +"wiadomości, nie może być jawny dla nikogo." + +#. (itstool) path: section/title +#: C/about-pgp.page:32 +msgid "Encrypt and sign data using PGP keys" +msgstr "Szyfrowanie i podpisywanie danych za pomocą kluczy PGP" + +#. (itstool) path: section/p +#: C/about-pgp.page:34 +msgid "" +"Passwords and Keys is a key management application. Though it " +"cannot be used to encrypt or sign files and messages, you can use it to " +"sign trustworthy keys." +msgstr "" +"Hasła i klucze to program do zarządzania kluczami. Chociaż nie " +"może być używany do szyfrowania ani podpisywania plików i wiadomości, to " +"można go używać do podpisywania zaufanych " +"kluczy." + +#. (itstool) path: section/p +#: C/about-pgp.page:38 +msgid "" +"To secure your communication, you can use email clients like Evolution that provide encryption and signing services." +msgstr "" +"Aby zabezpieczyć komunikację, można używać klienta poczty, takiego jak " +"Evolution, który dostarcza usługi szyfrowania i podpisywania." + +#. (itstool) path: info/desc +#: C/about-ssh.page:18 +msgid "" +"SSH keys are used to login to a remote computer, once a secure connection " +"has been established." +msgstr "" +"Klucze SSH są używane do logowania na zdalnych komputerach po nawiązaniu " +"zabezpieczonego połączenia." + +#. (itstool) path: page/title +#: C/about-ssh.page:22 +msgid "What is a Secure Shell key?" +msgstr "Czym jest klucz SSH?" + +#. (itstool) path: page/p +#: C/about-ssh.page:24 +msgid "" +"A Secure Shell key, often just called an SSH key, helps " +"you create a secure connection over an unsecured network." +msgstr "" +"Klucz SSH pomaga nawiązać zabezpieczone połączenie przez " +"niezabezpieczoną sieć." + +#. (itstool) path: list/title +#: C/about-ssh.page:28 +msgid "An SSH key actually consists of two parts:" +msgstr "Klucz SSH zwykle składa się z dwóch części:" + +#. (itstool) path: item/p +#: C/about-ssh.page:29 +msgid "A public key, which is widely available." +msgstr "Klucza publicznego, dostępnego dla każdego," + +#. (itstool) path: item/p +#: C/about-ssh.page:30 +msgid "" +"A private key, which is kept secret. The private key is used to unlock " +"messages encrypted with a corresponding public key." +msgstr "" +"Niejawnego klucza prywatnego. Jest on używany do odblokowywania wiadomości " +"zaszyfrowanych za pomocą odpowiedniego klucza publicznego." + +#. (itstool) path: page/p +#: C/about-ssh.page:34 +msgid "" +"The advantage of using an SSH key to create a connection between " +"computers is that only the Public key needs to be sent over the " +"network. Transmissions encrypted with a Public key can only be " +"decoded by unlocking them with the corresponding Private key and a " +"password. Because only the public key is sent over the network, the key's " +"password is kept secret." +msgstr "" +"Używanie klucza SSH do nawiązywania połączenia między komputerami " +"ma tę zaletę, że tylko klucz publiczny musi zostać wysłany przez " +"sieć. Połączenia zaszyfrowane za pomocą klucza publicznego mogą być " +"dekodowane tylko przez odblokowanie za pomocą odpowiedniego klucza " +"prywatnego i hasła. Ponieważ tylko klucz publiczny jest wysyłany przez " +"sieć, hasło klucza pozostaje niejawne." + +#. (itstool) path: credit/years +#: C/concepts.page:16 C/key-servers-add.page:25 C/keyring-create.page:28 +#: C/misc-key-backup.page:23 C/passwords-view.page:24 C/pgp-create.page:30 +#: C/pgp-delete.page:23 C/ssh-create.page:23 C/ssh-create.page:28 +msgid "2014" +msgstr "2014" + +#. (itstool) path: info/desc +#: C/concepts.page:19 +msgid "" +"Learn terms and concepts that are relevant to managing passwords and keys." +msgstr "Terminy i pojęcia istotne przy zarządzaniu hasłami i kluczami." + +#. (itstool) path: page/title +#: C/concepts.page:23 +msgid "Key Concepts and Terms" +msgstr "Najważniejsze pojęcia i terminy" + +#. (itstool) path: info/desc +#: C/glossary.page:20 +msgid "A list of basic terms used." +msgstr "Lista podstawowych terminów." + +#. (itstool) path: page/title +#: C/glossary.page:23 +msgid "Glossary" +msgstr "Słownik" + +#. (itstool) path: page/p +#: C/glossary.page:25 +msgid "" +"Passwords and Keys helps you to generate and manage tokens that " +"can be used to protect your files and communication. Here are some basic " +"terms that you will encounter while reading this help:" +msgstr "" +"Program Hasła i klucze pomaga tworzyć i zarządzać tokenami " +"używanymi do ochrony plików i komunikacji. Poniżej znajduje się kilka " +"podstawowych terminów używanych w tym dokumencie." + +#. (itstool) path: item/title +#: C/glossary.page:31 +msgid "Encryption" +msgstr "Szyfrowanie" + +#. (itstool) path: item/p +#: C/glossary.page:32 +msgid "" +"Encryption is the process of making your important files and data unreadable " +"to anyone but the intended recipient. When you encrypt your data, it becomes " +"a scrambled sequence of numbers and letters. Encryption is done by someone " +"who is sending a protected file, or sending a message in a protected " +"conversation." +msgstr "" +"Szyfrowanie sprawia, że ważne pliki i dane są nieczytelne dla wszystkich " +"poza wskazanym odbiorcą. Po zaszyfrowaniu dane stają się losową mieszanką " +"liczb i liter. Szyfrowanie jest wykonywane przez osobę wysyłającą chroniony " +"plik lub wysyłającą wiadomość w chronionej rozmowie." + +#. (itstool) path: item/title +#: C/glossary.page:39 +msgid "Algorithm" +msgstr "Algorytm" + +#. (itstool) path: item/p +#: C/glossary.page:40 +msgid "" +"An algorithm is a sequence of steps used to encrypt or decrypt your data." +msgstr "" +"Algorytm to sekwencja kroków używanych do zaszyfrowania lub odszyfrowania " +"danych." + +#. (itstool) path: item/title +#: C/glossary.page:44 +msgid "Decryption" +msgstr "Odszyfrowanie" + +#. (itstool) path: item/p +#: C/glossary.page:45 +msgid "" +"Decryption is the process of retrieving the original text from the encrypted " +"message or file. It is done by the receiver of the protected file or " +"communication. Encrypted messages cannot be understood without decrypting " +"them first." +msgstr "" +"Odszyfrowanie przetwarza zaszyfrowaną wiadomość lub plik na oryginalny " +"tekst. Robi to odbiorca chronionego pliku lub komunikacji. Zaszyfrowane " +"wiadomości są nieczytelne bez odszyfrowania." + +#. (itstool) path: item/title +#: C/glossary.page:51 +msgid "Plaintext" +msgstr "Zwykły tekst" + +#. (itstool) path: item/p +#: C/glossary.page:52 +msgid "" +"Any data or file that is not encrypted, and can therefore be read by anyone " +"who can access it, is called plaintext." +msgstr "" +"Wszystkie dane lub pliki, które nie są zaszyfrowane, więc mogą zostać " +"odczytane przez każdego, kto ma do nich dostęp, są nazywane zwykłym tekstem." + +#. (itstool) path: item/title +#: C/glossary.page:56 +msgid "Key" +msgstr "Klucz" + +#. (itstool) path: item/p +#: C/glossary.page:57 +msgid "" +"A key is used to encrypt and decrypt files and communication. A key may also " +"be used to login to a remote computer. Some types of keys are PGP keys and SSH " +"keys." +msgstr "" +"Klucz jest używany do szyfrowania i odszyfrowywania plików i komunikacji. " +"Klucz może być także używany do logowania na zdalnym komputerze. Niektóre " +"rodzaje kluczy to klucze PGP i klucze SSH." + +#. (itstool) path: item/title +#: C/glossary.page:63 +msgid "Keyring" +msgstr "Baza kluczy" + +#. (itstool) path: item/p +#: C/glossary.page:64 +msgid "A keyring is a collection of passwords or keys." +msgstr "Baza kluczy to zbiór haseł i kluczy." + +#. (itstool) path: info/title +#: C/index.page:8 +msgctxt "link" +msgid "Passwords and Keys" +msgstr "Hasła i klucze" + +#. (itstool) path: info/title +#: C/index.page:9 +msgctxt "text" +msgid "Passwords and Keys" +msgstr "Hasła i klucze" + +#. (itstool) path: credit/name +#: C/index.page:24 C/keyring-create.page:21 C/keyring.page:25 +#: C/ssh-create.page:26 +msgid "Ekaterina Gerasimova" +msgstr "Ekaterina Gerasimova" + +#. (itstool) path: info/desc +#: C/index.page:31 +msgid "" +"Use Passwords and Keys to remember your passwords, and to create " +"and manage PGP and SSH keys." +msgstr "" +"Program Hasła i klucze umożliwia zapamiętywanie haseł oraz " +"tworzenie i zarządzanie kluczami PGP i SSH." + +#. (itstool) path: page/title +#: C/index.page:34 +msgid "<_:media-1/> Passwords and Keys" +msgstr "<_:media-1/> Hasła i klucze" + +#. (itstool) path: section/title +#: C/index.page:40 +msgid "SSH Keys" +msgstr "Klucze SSH" + +#. (itstool) path: section/title +#: C/index.page:45 +msgid "PGP keys" +msgstr "Klucze PGP" + +#. (itstool) path: section/title +#: C/index.page:50 +msgid "Stored passwords and password keyrings" +msgstr "Przechowywane hasła i bazy haseł" + +#. (itstool) path: info/desc +#: C/introduction.page:26 +msgid "" +"Use Passwords and Keys to create and manage PGP and SSH keys and " +"to save passwords that are difficult to remember." +msgstr "" +"Program Hasła i klucze umożliwia tworzenie i zarządzanie kluczami " +"PGP i SSH oraz zapisywanie trudnych do zapamiętania haseł." + +#. (itstool) path: page/title +#: C/introduction.page:30 +msgid "Introduction" +msgstr "Wprowadzenie" + +#. (itstool) path: page/p +#: C/introduction.page:32 +msgid "" +"Welcome to the Passwords and Keys help guide. Passwords and " +"Keys creates and stores security tokens, helping to keep your " +"information secure on your computer, and secure when you send information " +"over a network." +msgstr "" +"Witamy w pomocy programu Hasła i klucze. Umożliwia on tworzenie " +"i przechowywanie tokenów zabezpieczeń, pomagając zabezpieczać informacje " +"użytkownika na komputerze i podczas ich przesyłania przez sieć." + +#. (itstool) path: page/p +#: C/introduction.page:36 +msgid "Using Passwords and Keys, you can:" +msgstr "Za pomocą programu Hasła i klucze można:" + +#. (itstool) path: item/p +#: C/introduction.page:40 +msgid "" +"Copy and save passwords that " +"are difficult to remember. To group related passwords, create keyrings." +msgstr "" +"Kopiować i zapisywać trudne do " +"zapamiętania hasła. Aby grupować powiązane hasła, utwórz bazy kluczy." + +#. (itstool) path: item/p +#: C/introduction.page:45 +msgid "" +"Create and manage PGP keys." +msgstr "" +"Tworzyć i zarządzać kluczami PGP." + +#. (itstool) path: item/p +#: C/introduction.page:49 +msgid "" +"Create and manage SSH keys." +msgstr "" +"Tworzyć i zarządzać kluczami SSH." + +#. (itstool) path: credit/name +#: C/key-servers-add.page:23 C/misc-key-backup.page:21 C/passwords-view.page:22 +#: C/pgp-create.page:28 C/pgp-delete.page:21 C/ssh-create.page:21 +msgid "Hashem Nasarat" +msgstr "Hashem Nasarat" + +#. (itstool) path: credit/name +#: C/key-servers-add.page:28 C/passwords-view.page:28 +#: C/pgp-retrieve-remote.page:21 +msgid "Andre Klapper" +msgstr "Andre Klapper" + +#. (itstool) path: credit/years +#: C/key-servers-add.page:30 C/passwords-view.page:30 +#: C/pgp-retrieve-remote.page:23 +msgid "2020" +msgstr "2020" + +#. (itstool) path: info/desc +#: C/key-servers-add.page:33 +msgid "" +"Make additions to the list of keyservers in Passwords and Keys" +msgstr "Dodawanie serwerów kluczy w programie Hasła i klucze" + +#. (itstool) path: page/title +#: C/key-servers-add.page:37 +msgid "Add a keyserver" +msgstr "Dodawanie serwera kluczy" + +#. (itstool) path: page/p +#: C/key-servers-add.page:38 +msgid "" +"Passwords and Keys have the following keyservers listed by " +"default:" +msgstr "Program Hasła i klucze domyślnie ma te serwery kluczy:" + +#. (itstool) path: item/p +#: C/key-servers-add.page:42 +msgid "ldap://keyserver.pgp.com" +msgstr "ldap://keyserver.pgp.com" + +#. (itstool) path: steps/title +#: C/key-servers-add.page:47 +msgid "To add a keyserver" +msgstr "Aby dodać serwer kluczy:" + +#. (itstool) path: item/p +#: C/key-servers-add.page:49 C/pgp-publish.page:44 +#: C/pgp-retrieve-remote.page:39 C/pgp-sync.page:41 +msgid "Press the menu button in the header bar." +msgstr "Kliknij przycisk menu na pasku nagłówka." + +#. (itstool) path: item/p +#: C/key-servers-add.page:52 +msgid "Select Preferences." +msgstr "Wybierz Preferencje." + +#. (itstool) path: item/p +#: C/key-servers-add.page:55 +msgid "Select the Key Servers tab." +msgstr "Wybierz kartę Serwery kluczy." + +#. (itstool) path: item/p +#: C/key-servers-add.page:58 +msgid "Press the Add button." +msgstr "Kliknij przycisk Dodaj." + +#. (itstool) path: item/p +#: C/key-servers-add.page:61 +msgid "" +"In the new dialog, select the appropriate Key Server Type. Key " +"servers are identified by the protocol they use to communicate. Look for the " +"first few letters in the Internet URL of your key server to identify its " +"type." +msgstr "" +"W nowym oknie wybierz odpowiedni Typ serwera kluczy. Serwery " +"kluczy są identyfikowane według protokołu używanego do komunikacji. Sprawdź " +"pierwsze kilka liter w adresie URL serwera kluczy, aby zidentyfikować jego " +"typ." + +#. (itstool) path: item/p +#: C/key-servers-add.page:67 +msgid "" +"In the Host field, paste the Internet URL of your " +"key server. Consult the documentation for the key server you're adding to " +"see if it operates on a non-standard port. If so, enter the port after the " +"':'. If you're unsure, leave the text box after the ':' blank." +msgstr "" +"W polu Adres wklej adres URL serwera kluczy. " +"Sprawdź w dokumentacji dodawanego serwera kluczy, czy działa on na " +"niestandardowym porcie. Jeśli tak, to wpisz port po znaku „:”. Jeśli nie ma " +"pewności, zostaw pole po znaku „:” puste." + +#. (itstool) path: item/p +#: C/key-servers-add.page:74 +msgid "Press Save to finish." +msgstr "Kliknij przycisk Zapisz, aby ukończyć." + +#. (itstool) path: info/desc +#: C/keyring-change-default.page:19 +msgid "Save new passwords to a different keyring by default." +msgstr "Zapisywanie nowych haseł w innej bazie kluczy." + +#. (itstool) path: page/title +#: C/keyring-change-default.page:22 +msgid "Change the default keyring" +msgstr "Zmiana domyślnej bazy kluczy" + +#. (itstool) path: page/p +#: C/keyring-change-default.page:24 +msgid "" +"When you add a new password, " +"it is normally added to the default keyring. If you want to add it to a " +"different keyring, you can choose another one while adding the new password, " +"but you can also change the default keyring. The default keyring is normally " +"the Login keyring." +msgstr "" +"Nowe hasło jest zwykle " +"dodawane do domyślnej bazy kluczy. Aby dodać je do innej bazy, można wybrać " +"ją podczas dodawania nowego hasła, ale można także zmienić domyślną bazę " +"kluczy. Zwykle domyślna baza to Baza kluczy konta." + +#. (itstool) path: steps/title +#: C/keyring-change-default.page:32 +msgid "To change the default keyring:" +msgstr "Aby zmienić domyślną bazę kluczy:" + +#. (itstool) path: item/p +#: C/keyring-change-default.page:34 +msgid "" +"Select your choice for the default keyring from the list of keyrings under " +"Passwords on the left side panel." +msgstr "" +"Wybierz nową domyślną bazę kluczy z listy pod napisem Hasła " +"w panelu po lewej stronie." + +#. (itstool) path: item/p +#: C/keyring-change-default.page:38 +msgid "" +"Right click on the selected keyring and select Set as default." +msgstr "" +"Kliknij wybraną bazę kluczy prawym przyciskiem myszy i wybierz Ustaw " +"jako domyślne." + +#. (itstool) path: note/p +#: C/keyring-change-default.page:44 +msgid "" +"Passwords to some GNOME applications are stored automatically by " +"Passwords and Keys in the Login keyring because it is " +"the default keyring. When you change the default keyring, any new passwords " +"created for GNOME applications will be stored in the new default keyring " +"while GNOME application passwords created before the change will remain in " +"the Login keyring." +msgstr "" +"Hasła części programów GNOME są automatycznie przechowywane przez program " +"Hasła i kluczeBazie kluczy konta, ponieważ jest ona " +"domyślna. Po zmianie domyślnej bazy kluczy nowe hasła tworzone przez " +"programy GNOME będą przechowywane w nowej domyślnej bazie, podczas gdy hasła " +"utworzone przed zmianą pozostaną w Bazie kluczy konta." + +#. (itstool) path: info/desc +#: C/keyring-create.page:31 +msgid "Use password keyrings to group stored passwords." +msgstr "Używanie baz haseł do grupowania przechowywanych haseł." + +#. (itstool) path: page/title +#: C/keyring-create.page:34 +msgid "Create a new keyring" +msgstr "Tworzenie nowej bazy kluczy" + +#. (itstool) path: page/p +#: C/keyring-create.page:36 +msgid "" +"Use keyrings to group related passwords. You " +"can choose to protect your keyring with a password." +msgstr "" +"Bazy kluczy umożliwiają grupowanie powiązanych " +"haseł. Można wybrać ochronę bazy za pomocą hasła." + +#. (itstool) path: steps/title +#: C/keyring-create.page:40 +msgid "Create a new password keyring:" +msgstr "Aby utworzyć nową bazę haseł:" + +#. (itstool) path: item/p +#: C/keyring-create.page:42 C/passwords-stored-create.page:32 +#: C/pgp-create.page:42 C/pgp-import.page:39 C/ssh-create.page:41 +#: C/ssh-import.page:39 +msgid "" +"Press the + button in the top-left corner of the " +"window." +msgstr "" +"Kliknij przycisk + w górnym lewym rogu okna." + +#. (itstool) path: item/p +#: C/keyring-create.page:45 +msgid "Select Password Keyring from the list." +msgstr "Wybierz Baza haseł z listy." + +#. (itstool) path: item/p +#: C/keyring-create.page:48 +msgid "" +"Choose a name for your new keyring, then press Add to continue." +msgstr "" +"Wybierz nazwę nowej bazy kluczy, a następnie kliknij przycisk Dodaj, aby kontynuować." + +#. (itstool) path: item/p +#: C/keyring-create.page:53 +msgid "" +"To password protect your keyring, choose a password, and retype it to " +"confirm your choice. Leave both the fields blank if you want your keyring to " +"remain unlocked at all times." +msgstr "" +"Aby ochronić bazę kluczy hasłem, wybierz je, a następnie wpisz jeszcze raz, " +"aby potwierdzić wybór. Zostaw oba pola puste, aby baza była otwarta przez " +"cały czas." + +#. (itstool) path: item/p +#: C/keyring-create.page:61 +msgid "" +"Press Continue to finish creating the keyring. " +"If you have not protected your keyring with a password, you will need to " +"confirm that this is how you want to proceed." +msgstr "" +"Kliknij przycisk Kontynuuj, aby ukończyć " +"tworzenie bazy kluczy. Jeśli nie ochroniono bazy hasłem, to należy to " +"potwierdzić." + +#. (itstool) path: page/p +#: C/keyring-create.page:67 +msgid "Your new keyring will now be listed under Passwords." +msgstr "Nowa baza kluczy będzie teraz na liście pod napisem Hasła." + +#. (itstool) path: info/desc +#: C/keyring-lock.page:20 +msgid "" +"Lock and password protect your password keyrings to control access to the " +"passwords stored in them." +msgstr "" +"Blokowanie i ochranianie bazy kluczy hasłem, aby kontrolować dostęp do " +"przechowywanych w niej haseł." + +#. (itstool) path: page/title +#: C/keyring-lock.page:24 +msgid "Lock your keyrings" +msgstr "Blokowanie baz kluczy" + +#. (itstool) path: page/p +#: C/keyring-lock.page:26 +msgid "" +"To safe-keep your passwords, store them in a password-protected keyring. " +"When a password-protected keyring is locked, the passwords in it are kept " +"hidden till someone unlocks the keyring " +"with the correct password." +msgstr "" +"Aby zabezpieczyć hasła, przechowuj je w bazie kluczy chronionej hasłem. " +"Kiedy taka baza jest zablokowana, hasła w niej przechowywane są ukryte do " +"chwili odblokowania bazy za pomocą " +"właściwego hasła." + +#. (itstool) path: note/p +#: C/keyring-lock.page:32 +msgid "" +"You can choose to protect your keyring with a password while creating it." +msgstr "" +"Można wybrać ochronę bazy kluczy haseł podczas jej tworzenia." + +#. (itstool) path: steps/title +#: C/keyring-lock.page:37 +msgid "To lock your password keyring:" +msgstr "Aby zablokować bazę haseł:" + +#. (itstool) path: item/p +#: C/keyring-lock.page:39 +msgid "" +"From the list of keyrings under Passwords on the left side panel, " +"select the keyring to be locked." +msgstr "" +"Z listy baz kluczy pod napisem Hasła w panelu po lewej stronie " +"wybierz bazę do zablokowania." + +#. (itstool) path: item/p +#: C/keyring-lock.page:43 +msgid "" +"Right click on the selected keyring and select Lock, or click on " +"the small picture of an opened lock next to the name of the password keyring." +msgstr "" +"Kliknij wybraną bazę kluczy prawym przyciskiem myszy i wybierz " +"Zablokuj lub kliknij małą ikonę otwartej kłódki obok nazwy bazy." + +#. (itstool) path: info/desc +#: C/keyring-unlock.page:20 +msgid "To view passwords stored inside a locked keyring, unlock it." +msgstr "" +"Aby wyświetlić hasła przechowywane w zablokowanej bazie kluczy, odblokuj ją." + +#. (itstool) path: page/title +#: C/keyring-unlock.page:23 +msgid "Unlock your keyrings" +msgstr "Odblokowywanie baz kluczy" + +#. (itstool) path: page/p +#: C/keyring-unlock.page:24 +msgid "" +"A keyring may often be locked to protect " +"the passwords it contains, similar to locking important things safely inside " +"a trunk. In order to look at your passwords, you must unlock the keyring " +"first." +msgstr "" +"Baza kluczy często może być zablokowana, " +"aby chronić zawarte w niej hasła, podobnie jak ważne rzeczy zamykane są " +"w bagażniku. Aby wyświetlić hasła, należy najpierw odblokować bazę kluczy." + +#. (itstool) path: steps/title +#: C/keyring-unlock.page:30 +msgid "To unlock your keyring:" +msgstr "Aby odblokować bazę kluczy:" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:32 +msgid "" +"Select the keyring to be unlocked from the panel on your left. It is listed " +"under Passwords." +msgstr "" +"Wybierz bazę kluczy do odblokowania z panelu po lewej stronie. Bazy znajdują " +"się pod napisem Hasła." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:36 +msgid "" +"Right click on the selected keyring and select Unlock from the " +"menu, or alternatively, click the small picture of a closed lock next to the " +"keyring name to unlock the keyring." +msgstr "" +"Kliknij wybraną bazę kluczy prawym przyciskiem myszy i z menu wybierz " +"Odblokuj lub kliknij małą ikonę zamkniętej kłódki obok nazwy " +"bazy, aby ją odblokować." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:41 +msgid "" +"If the keyring is password-protected, you will be prompted for a password to " +"unlock the keyring. Enter the correct password in the Password " +"field and press Unlock to finish." +msgstr "" +"Jeśli baza kluczy jest chroniona hasłem, to zostanie wyświetlona prośba " +"o jego podanie. Wpisz właściwe hasło w polu Hasło i kliknij " +"przycisk Odblokuj, aby ukończyć." + +#. (itstool) path: note/p +#: C/keyring-unlock.page:49 +msgid "" +"You can choose to password-protect your keyrings while creating them." +msgstr "" +"Można wybrać ochronę bazy hasłem podczas jej tworzenia." + +#. (itstool) path: info/desc +#: C/keyring-update-password.page:20 +msgid "" +"Keep updating the passwords to your keyrings to ensure that they are " +"protected well." +msgstr "Aktualizuj hasła do baz kluczy, aby dobrze je chronić." + +#. (itstool) path: page/title +#: C/keyring-update-password.page:25 +msgid "Update the keyring password" +msgstr "Aktualizacja hasła bazy kluczy" + +#. (itstool) path: page/p +#: C/keyring-update-password.page:27 +msgid "" +"The password to unlock your keyring can be " +"updated at any time." +msgstr "" +"W każdej chwili można zaktualizować hasło odblokowujące bazę kluczy." + +#. (itstool) path: steps/title +#: C/keyring-update-password.page:31 +msgid "To update the password for a password keyring:" +msgstr "Aby zaktualizować hasło do bazy:" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:33 +msgid "" +"Select the password keyring from the list, under Passwords, on " +"the left side panel." +msgstr "" +"Wybierz bazę haseł z listy, pod napisem Hasła, w panelu po lewej " +"stronie." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:37 +msgid "" +"Right click on the selected password keyring and select Change " +"Password." +msgstr "" +"Kliknij wybraną bazę haseł prawym przyciskiem myszy i wybierz Zmień " +"hasło." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:41 +msgid "" +"Type your old password to authenticate yourself and press Continue." +msgstr "" +"Wpisz poprzednie hasło, aby się uwierzytelnić i kliknij przycisk Kontynuuj." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:45 +msgid "" +"In the new dialog, type your new password, retype it to confirm the new " +"password and press the Continue button to finish." +msgstr "" +"W nowym oknie wpisz nowe hasło, wpisz je jeszcze raz, aby potwierdzić, " +"i kliknij przycisk Konynuuj, aby ukończyć." + +#. (itstool) path: info/desc +#: C/keyring.page:30 +msgid "A keyring is used to group related passwords and keys." +msgstr "Baza kluczy jest używana do grupowania powiązanych haseł i kluczy." + +#. (itstool) path: page/title +#: C/keyring.page:33 +msgid "What is a keyring?" +msgstr "Czym jest baza klucza?" + +#. (itstool) path: page/p +#: C/keyring.page:35 +msgid "" +"Much like a keyring in real life allows you to keep certain sets of keys " +"together, a keyring in Passwords and Keys allows you to keep " +"passwords and keys in separate groups." +msgstr "" +"Baza kluczy w programie Hasła i klucze umożliwia przechowywanie " +"haseł i kluczy w oddzielnych grupach." + +#. (itstool) path: page/p +#: C/keyring.page:39 +msgid "" +"When you open Passwords and Keys for the first time, you will see " +"keys and password grouped together. In the Login keyring, you may " +"find stored passwords for GNOME applications such as Web, " +"Online Accounts etc. The Login keyring is the default " +"keyring in Passwords and keys." +msgstr "" +"Po otwarciu programu Hasła i klucze po raz pierwszy zostaną " +"wyświetlone grupy kluczy i haseł. W Bazie kluczy konta można " +"znaleźć przechowywane hasła dla programów GNOME, takich jak WWW, " +"Konta online itp. Baza kluczy konta jest domyślną bazą " +"programu Hasła i klucze." + +#. (itstool) path: p/link +#: C/legal.xml:4 +msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" +msgstr "Creative Commons Attribution-Share Alike 3.0 Unported" + +#. (itstool) path: license/p +#: C/legal.xml:3 +msgid "This work is licensed under a <_:link-1/>." +msgstr "Na warunkach licencji <_:link-1/>." + +#. (itstool) path: info/desc +#: C/misc-key-backup.page:26 +msgid "Keep a copy of your keys in an external device." +msgstr "Przechowywanie kopii kluczy na zewnętrznym urządzeniu." + +#. (itstool) path: page/title +#: C/misc-key-backup.page:29 +msgid "Securely back-up your keys" +msgstr "Kopia zapasowa kluczy" + +#. (itstool) path: page/p +#: C/misc-key-backup.page:31 +msgid "" +"It is always advisable to save a copy of your keys on an external memory " +"device like a USB drive. The device should then be kept locked or stored " +"somewhere safe. This way you will always have a copy of the key if your " +"computer breaks or if the data on your computer is corrupted in some way." +msgstr "" +"Zawsze wskazane jest zapisanie kopii kluczy na zewnętrznym urządzeniu do " +"przechowywania danych, takim jak dysk USB. Urządzenie powinno być zamknięte " +"lub przechowywane w bezpiecznym miejscu. W ten sposób zawsze będzie dostępna " +"kopia klucza, jeśli komputer ulegnie awarii lub jeśli dane na komputerze " +"zostaną w jakiś sposób uszkodzone." + +#. (itstool) path: steps/title +#: C/misc-key-backup.page:37 +msgid "To back-up your keys:" +msgstr "Aby utworzyć kopię zapasową kluczy:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:39 +msgid "Export your key files:" +msgstr "Wyeksportuj pliki kluczy:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:41 +msgid "Export your PGP keys." +msgstr "Wyeksportuj klucze PGP." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:42 +msgid "Export your SSH keys." +msgstr "Wyeksportuj klucze SSH." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:46 +msgid "Copy the exported files on an external disk." +msgstr "Skopiuj wyeksportowane pliki na zewnętrzny dysk." + +#. (itstool) path: info/desc +#: C/misc-key-fingerprint.page:19 +msgid "" +"The key fingerprint is a unique ID for each key, often used to verify the " +"ownership of a key" +msgstr "" +"Odcisk klucza to jego unikalny identyfikator, zwykle używany do sprawdzania " +"własności klucza." + +#. (itstool) path: page/title +#: C/misc-key-fingerprint.page:23 +msgid "What is a key fingerprint?" +msgstr "Czym jest odcisk klucza?" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:25 +msgid "" +"The fingerprint of a key is a unique sequence of letters and numbers used to " +"identify the key. Just like the fingerprints of two different people, the " +"fingerprints of two different keys can never be identical. The fingerprint " +"is the best way to identify a particular key." +msgstr "" +"Odcisk klucza to unikalna sekwencja liter i liczb używana do identyfikacji " +"klucza. Podobnie jak odciski palców dwóch osób, odciski dwóch różnych kluczy " +"nie mogą być takie same. Odcisk to najlepszy sposób na identyfikację " +"konkretnego klucza." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:30 +msgid "" +"A key has several properties like the name and email of the key owner, key " +"type, key expiration date and so on. When you are searching for a public key " +"and you find multiple keys with the same properties, the only way to " +"identify the key you are looking for is to compare the fingerprints of the " +"two keys with the fingerprint of the key you require." +msgstr "" +"Klucz ma kilka właściwości, takich jak nazwa i adres e-mail jego " +"właściciela, typ, data wygaśnięcia i tak dalej. Kiedy podczas wyszukiwania " +"klucza publicznego znaleziono wiele kluczy o takich samych właściwościach, " +"to jedynym sposobem na zidentyfikowanie właściwego jest porównanie ich " +"odcisków." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:36 +msgid "" +"It is the fingerprint of a key that is verified when you try to login to a " +"remote computer using SSH. While " +"signing a PGP key, you must always " +"check the key fingerprint and verify the key owner's identity to ensure that " +"you are signing the correct key." +msgstr "" +"To odcisk klucza jest sprawdzany podczas logowania na zdalnym komputerze za " +"pomocą protokołu SSH. Podczas " +"podpisywania klucza PGP należy zawsze " +"sprawdzać jego odcisk i tożsamość właściciela, aby upewnić się, że " +"podpisywany jest właściwy klucz." + +#. (itstool) path: section/title +#: C/misc-key-fingerprint.page:43 +msgid "Fingerprints on Passwords and Keys" +msgstr "Odciski w programie Hasła i klucze" + +#. (itstool) path: section/p +#: C/misc-key-fingerprint.page:45 +msgid "" +"You can look at the fingerprint of a key on Passwords and Keys by " +"checking the properties of the key." +msgstr "" +"Można wyświetlić odcisk klucza w programie Hasła i klucze " +"sprawdzając właściwości klucza." + +#. (itstool) path: steps/title +#: C/misc-key-fingerprint.page:49 +msgid "To check the fingerprint of a key:" +msgstr "Aby sprawdzić odcisk klucza:" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:51 C/pgp-photoid.page:44 C/pgp-publish.page:37 +#: C/subkeys-add.page:31 +msgid "Select GnuPG keys from the left side panel." +msgstr "Wybierz Klucze GnuPG z panelu po lewej stronie." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:54 C/pgp-expiration-change.page:31 +msgid "Select the PGP key from the list." +msgstr "Wybierz klucz PGP z listy." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:57 +msgid "" +"Right click the key and select Properties." +msgstr "" +"Kliknij klucz prawym przyciskiem myszy i wybierz Właściwości." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:61 C/pgp-expiration-change.page:37 +msgid "In the new dialog, select the Details tab." +msgstr "W nowym oknie wybierz kartę Szczegóły." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:64 +msgid "You can see the fingerprint of the key on the left hand side." +msgstr "Po lewej stronie wyświetlany jest odcisk klucza." + +#. (itstool) path: info/desc +#: C/passwords-stored-create.page:19 +msgid "Passwords and keys can remember your passwords for you." +msgstr "" +"Program Hasła i klucze może zapamiętywać hasła za użytkownika." + +#. (itstool) path: page/title +#: C/passwords-stored-create.page:23 +msgid "Store your passwords" +msgstr "Przechowywanie haseł" + +#. (itstool) path: page/p +#: C/passwords-stored-create.page:25 +msgid "" +"Passwords and Keys automatically stores passwords for certain " +"GNOME applications in the Login keyring. Additionally, you can " +"store any other password you want to remember." +msgstr "" +"Program Hasła i klucze automatycznie przechowuje hasła dla " +"pewnych programów GNOME w Bazie kluczy konta. Dodatkowo można " +"przechować dowolne inne hasło." + +#. (itstool) path: steps/title +#: C/passwords-stored-create.page:30 +msgid "To create a new stored password:" +msgstr "Aby przechować nowe hasło:" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:35 +msgid "Select Password from the list." +msgstr "Wybierz Hasło z listy." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:38 +msgid "" +"Select the password keyring in which you want to store your password from " +"the Keyring menu." +msgstr "" +"Wybierz bazę haseł, w której przechować hasło z menu Baza kluczy." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:42 +msgid "" +"You can add additional information about the password in the " +"Description field, like the date of creation, or the name of the " +"application it protects, etc." +msgstr "" +"Można dodać dodatkowe informacje o haśle w polu Opis, takie jak " +"data utworzenia, nazwa programu itp." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:47 +msgid "" +"Type the password in the Password field. You can tick the Show password checkbox if you want to see the " +"password text while typing it out." +msgstr "" +"Wpisz hasło w polu Hasło. Można zaznaczyć pole wyboru Wyświetlanie hasła, jeśli ma być widoczne podczas " +"wpisywania." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:52 +msgid "Press the Add button to finish." +msgstr "Kliknij przycisk Dodaj, aby ukończyć." + +#. (itstool) path: note/p +#: C/passwords-stored-create.page:57 +msgid "" +"The default keyring is displayed as the first choice in the Keyring drop down menu. You can change " +"the default keyring." +msgstr "" +"Domyślna baza kluczy jest wyświetlana jako pierwsza w rozwijanym menu " +"Baza kluczy. Można zmienić " +"domyślną bazę." + +#. (itstool) path: info/desc +#: C/passwords-view.page:33 +msgid "Check a stored password which you have forgotten." +msgstr "Sprawdzanie przechowanych haseł, aby je sobie przypomnieć." + +#. (itstool) path: page/title +#: C/passwords-view.page:36 +msgid "View stored passwords" +msgstr "Wyświetlanie przechowywanych haseł" + +#. (itstool) path: page/p +#: C/passwords-view.page:38 +msgid "" +"If you ever forget a password stored in Passwords and Keys, you can view the contents of the " +"stored password in Passwords and Keys to refresh your memory." +msgstr "" +"Jeśli zapomniano hasła przechowywanego w programie Hasła i klucze, to można je " +"wyświetlić." + +#. (itstool) path: steps/title +#: C/passwords-view.page:44 +msgid "To view a password:" +msgstr "Aby wyświetlić hasło:" + +#. (itstool) path: item/p +#: C/passwords-view.page:46 +msgid "" +"In the side bar on the left, select the keyring which contains the password." +msgstr "Na panelu bocznym po lewej wybierz bazę haseł, która zawiera to hasło." + +#. (itstool) path: item/p +#: C/passwords-view.page:50 +msgid "" +"Unlock the password keyring that " +"contains your password. A list of passwords stored in the keyring will be " +"displayed." +msgstr "" +"Odblokuj bazę zawierającą to hasło. " +"Zostanie wyświetlona lista haseł przechowywanych w bazie kluczy." + +#. (itstool) path: note/p +#: C/passwords-view.page:53 +msgid "Your Login keyring is already unlocked by default." +msgstr "Baza kluczy konta jest domyślnie odblokowana." + +#. (itstool) path: item/p +#: C/passwords-view.page:56 +msgid "" +"Right click on the password you want to check, and select Properties." +msgstr "" +"Kliknij hasło do sprawdzenia prawym przyciskiem myszy i wybierz " +"Właściwości." + +#. (itstool) path: item/p +#: C/passwords-view.page:60 +msgid "Select the <_:media-1/> icon to view the password." +msgstr "Kliknij ikonę <_:media-1/>, aby wyświetlić hasło." + +#. (itstool) path: note/p +#: C/passwords-view.page:67 +msgid "" +"Since the contents of any unlocked keyrings are available to programs you " +"may be running, and Passwords and Keys does not seek to give a " +"false sense of security, the contents of unlocked keyrings are able to be " +"viewed without entering the password." +msgstr "" +"Ponieważ zawartość odblokowanych baz kluczy jest dostępna dla działających " +"programów, a program Hasła i klucze nie ma na celu zapewniania " +"fałszywego poczucia bezpieczeństwa, zawartość odblokowanych baz kluczy może " +"być wyświetlana bez podania hasła." + +#. (itstool) path: note/p +#: C/passwords-view.page:71 +msgid "" +"This means that if you are logged-in, the contents of the Login " +"keyring will available without entering a password from Passwords and " +"Keys." +msgstr "" +"Oznacza to, że jeśli użytkownik jest zalogowany, jego Baza kluczy " +"konta jest dostępna w programie Hasła i klucze bez " +"podawania hasła." + +#. (itstool) path: note/p +#: C/passwords-view.page:74 +msgid "" +"If you need to lend your computer to another person, it is recommended that " +"you create a user account for them, or allow them to use a guest account." +msgstr "" +"Kiedy komputer jest pożyczany innej osobie, to zalecane jest utworzenie dla " +"niej oddzielnego konta użytkownika, albo włączenie konta gościa." + +#. (itstool) path: info/desc +#: C/pgp-create.page:33 +msgid "Create and use GnuPG keys for encrypting and signing emails." +msgstr "" +"Tworzenie i używanie kluczy GnuPG do szyfrowania i podpisywania wiadomości e-" +"mail." + +#. (itstool) path: page/title +#: C/pgp-create.page:36 +msgid "Create PGP keys" +msgstr "Tworzenie kluczy PGP" + +#. (itstool) path: page/p +#: C/pgp-create.page:38 +msgid "To make a new PGP key:" +msgstr "Aby utworzyć nowy klucz PGP:" + +#. (itstool) path: item/p +#: C/pgp-create.page:45 +msgid "Select GPG Key from the list." +msgstr "Wybierz Klucz GPG z listy." + +#. (itstool) path: item/p +#: C/pgp-create.page:48 +msgid "Enter your full name in the Full Name field." +msgstr "Wpisz swoje imię i nazwisko w polu Imię i nazwisko." + +#. (itstool) path: item/p +#: C/pgp-create.page:51 +msgid "Optionally, add your email address and a comment to describe the key." +msgstr "Opcjonalnie dodaj swój adres e-mail i komentarz opisujący klucz." + +#. (itstool) path: item/p +#: C/pgp-create.page:55 +msgid "Press Create." +msgstr "Kliknij przycisk Utwórz." + +#. (itstool) path: item/p +#: C/pgp-create.page:58 +msgid "" +"In the password dialog, enter a password for the key. Retype the password to " +"confirm your choice." +msgstr "" +"W oknie hasła wpisz hasło dla klucza. Wpisz je jeszcze raz, aby potwierdzić " +"wybór." + +#. (itstool) path: item/p +#: C/pgp-create.page:62 +msgid "Press OK to finish." +msgstr "Kliknij przycisk OK, aby ukończyć." + +#. (itstool) path: page/p +#: C/pgp-create.page:66 +msgid "" +"Passwords and Keys will take some time to generate your key. " +"While your key is being created, move your mouse around, press some keys on " +"your keyboard, or browse the web. This will help Passwords and Keys to create a truly random key. The key will be listed under GnuPG " +"keys." +msgstr "" +"Program Hasła i klucze po jakimś czasie utworzy klucz. Podczas " +"tworzenia klucza ruszaj myszą, naciskaj klawisze lub przeglądaj Internet. " +"Pomoże to w utworzeniu naprawdę losowego klucza. Utworzony klucz znajdzie " +"się pod napisem Klucze GnuPG." + +#. (itstool) path: note/p +#: C/pgp-create.page:73 +msgid "" +"The Full Name, Email Address and Comment " +"details of a GnuPG key are called the user ID of the key." +msgstr "" +"Imię i nazwisko, Adres e-mailKomentarz " +"klucza GnuPG są nazywane identyfikatorem " +"użytkownika klucza." + +#. (itstool) path: section/title +#: C/pgp-create.page:79 +msgid "Advanced PGP key options" +msgstr "Zaawansowane opcje klucza PGP" + +#. (itstool) path: section/p +#: C/pgp-create.page:81 +msgid "" +"Under Advanced key options, you can choose custom values for " +"encryption type, key strength and key expiration date." +msgstr "" +"W sekcji Zaawansowane opcje klucza można wybrać niestandardowe " +"wartości dla typu szyfrowania oraz siły i daty wygaśnięcia klucza." + +#. (itstool) path: item/title +#: C/pgp-create.page:86 +msgid "Encryption type" +msgstr "Typ szyfrowania" + +#. (itstool) path: item/p +#: C/pgp-create.page:87 +msgid "" +"Depending on your needs, create keys that can be used for signing only or " +"for both encryption and signing. The RSA and DSA-Elgamal algorithms generate " +"equally secure keys." +msgstr "" +"W zależności od potrzeb, utwórz klucze, których można używać tylko do " +"podpisywania lub do podpisywania i szyfrowania. Klucze utworzone za pomocą " +"algorytmów RSA i DSA-ElGamal są jednakowo bezpieczne." + +#. (itstool) path: item/title +#: C/pgp-create.page:92 +msgid "Key Strength" +msgstr "Siła klucza" + +#. (itstool) path: item/p +#: C/pgp-create.page:93 +msgid "" +"The key strength is measured in terms of the size of the key in bits. It is " +"difficult and more time consuming to break a strong key, but strong keys " +"will slow down the encryption and signing process. You should choose your " +"key strength in Passwords and Keys depending on how long you want " +"to use the key. A small key is sufficient for short term use while a large " +"key is more suitable for long term use." +msgstr "" +"Siła klucza jest mierzona pod względem rozmiaru klucza w bitach. Złamanie " +"silnego klucza jest trudniejsze i zajmuje więcej czasu, ale silny klucz " +"spowalnia szyfrowanie i podpisywanie. Należy wybrać siłę klucza w programie " +"Hasła i klucze w zależności od czasu, przez jaki klucz ma być " +"używany. Mały klucz jest wystarczający na krótki czas, a duży klucz jest " +"bardziej odpowiedni na dłuższy czas." + +#. (itstool) path: item/title +#: C/pgp-create.page:101 +msgid "Expiration Date" +msgstr "Data wygaśnięcia" + +#. (itstool) path: item/p +#: C/pgp-create.page:102 +msgid "" +"When a key expires, certain actions no longer " +"work. In Passwords and Keys, you can either set your key " +"to Never Expire or select an expiration date " +"for it." +msgstr "" +"Po wygaśnięciu klucza pewne działania przestają " +"działać. W programie Hasła i klucze można włączyć opcję " +"Nigdy nie wygasa lub ustawić datę wygaśnięcia." + +#. (itstool) path: item/p +#: C/pgp-create.page:106 +msgid "" +"It is recommended that you set an expiration date in case you lose access to " +"the key. Even if your key expires, you can change the expiration to a later date." +msgstr "" +"Zalecane jest ustawienie daty wygaśnięcia, w razie gdyby utracono dostęp do " +"klucza. Nawet jeśli klucz wygasa, można zmienić datę wygaśnięcia na późniejszą." + +#. (itstool) path: info/desc +#: C/pgp-delete.page:26 +msgid "" +"Delete local copies of your keys or the keys of people you communicate with." +msgstr "" +"Usuwanie lokalnych kopii swoich kluczy lub kluczy osób, z którymi prowadzona " +"jest komunikacja." + +#. (itstool) path: page/title +#: C/pgp-delete.page:30 +msgid "Delete an existing key" +msgstr "Usuwanie istniejącego klucza" + +#. (itstool) path: page/p +#: C/pgp-delete.page:32 +msgid "" +"If you are no longer communicating with someone, you can delete the copy of " +"their GnuPG key on your computer using Passwords and Keys. You " +"can also permanently delete a key you own as long it has never been " +"published on a key server. Deleting a GnuPG key deletes both the public key " +"and the secret key." +msgstr "" +"Jeśli z kimś nie jest już prowadzona komunikacja, to można usunąć kopię " +"klucza GnuPG tej osoby z komputera za pomocą programu Hasła i klucze. Można także trwale usunąć własny klucz, jeśli nigdy nie został " +"opublikowany na serwerze kluczy. Usunięcie klucza GnuPG usuwa klucz " +"publiczny i klucz prywatny." + +#. (itstool) path: steps/title +#: C/pgp-delete.page:39 +msgid "To delete a key:" +msgstr "Aby usunąć klucz:" + +#. (itstool) path: item/p +#: C/pgp-delete.page:41 +msgid "Select the key." +msgstr "Zaznacz klucz." + +#. (itstool) path: item/p +#: C/pgp-delete.page:45 +msgid "Right click, and choose Delete." +msgstr "Kliknij prawym przyciskiem myszy i wybierz Usuń." + +#. (itstool) path: note/p +#: C/pgp-delete.page:47 +msgid "" +"When you delete a GnuPG key that has been published on a key server, you " +"only delete the key in your GnuPG keyring because a copy of the public key " +"will still be present on some key server." +msgstr "" +"Usunięcie klucza GnuPG opublikowanego na serwerze spowoduje usunięcie tylko " +"klucza w lokalnej bazie kluczy GnuPG, ponieważ kopia klucza publicznego " +"będzie nadal obecna na jakimś serwerze kluczy." + +#. (itstool) path: note/p +#: C/pgp-delete.page:50 +msgid "" +"If you delete your GnuPG key, this means that your private key will be " +"permanently deleted, even though your public key can still be retrieved from a key server and used to " +"encrypt messages to you that you won't be able to read! To prevent such a " +"key from being used, retrieve and revoke the key. The revoked key can then " +"be synced with a key server to prevent people " +"from retrieving and using it." +msgstr "" +"Usunięcie klucza GPG oznacza, że klucz prywatny zostanie trwale usunięty, " +"mimo że klucz publiczny nadal może zostać pobrany z serwera kluczy i użyty do zaszyfrowania wiadomości, " +"których nie będzie można odczytać. Aby uniemożliwić użycie takiego klucza, " +"pobierz go i unieważnij. Następnie można zsynchronizować unieważniony klucz z serwerem kluczy, aby inni nie " +"mogli go pobierać i używać." + +#. (itstool) path: item/p +#: C/pgp-delete.page:64 +msgid "" +"In the new dialog, confirm the deletion by ticking the I understand that this secret key will be permanently deleted " +"checkbox, and press the Delete button to finish." +msgstr "" +"W nowym oknie potwierdź usunięcie zaznaczając pole wyboru Rozumiem, że ten tajny klucz zostanie trwale usunięty " +"i kliknij przycisk Usuń, aby ukończyć." + +#. (itstool) path: info/desc +#: C/pgp-expiration-change.page:19 +msgid "Advance or postpone the expiration date of your keys." +msgstr "Przyspieszenie i przekładanie daty wygaśnięcia kluczy." + +#. (itstool) path: page/title +#: C/pgp-expiration-change.page:22 +msgid "Change the expiration date of your keys" +msgstr "Zmiana daty wygaśnięcia kluczy" + +#. (itstool) path: page/p +#: C/pgp-expiration-change.page:24 +msgid "" +"If your PGP key has expired but you wish to continue its use, you can change " +"its expiry date. You can also change the expiration settings to have a key " +"expire on an earlier date." +msgstr "" +"Jeśli klucz PGP ma datę wygaśnięcia, ale chcesz nadal go używać, można ją " +"zmienić. Można także zmienić ustawienia wygasania, aby klucz wygasł " +"wcześniej." + +#. (itstool) path: steps/title +#: C/pgp-expiration-change.page:29 +msgid "To change the expiration date of a PGP key:" +msgstr "Aby zmienić datę wygaśnięcia klucza PGP:" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:34 +msgid "Right click on the selected key and select Properties." +msgstr "" +"Kliknij wybrany klucz prawym przyciskiem myszy i wybierz Właściwości." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:42 +msgid "" +"To change the expiration date of the master key, press the small button with " +"the picture of a calendar next to Expires, on the right side of " +"the dialog. You can then select the new expiration date from the calendar." +msgstr "" +"Aby zmienić datę wygaśnięcia głównego klucza, kliknij mały przycisk z ikoną " +"kalendarza obok napisu Wygasa po prawej stronie okna. Następnie " +"można wybrać nową datę wygaśnięcia z kalendarza." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:48 +msgid "" +"To change the expiration date of a subkey, " +"expand the Subkeys panel and select the subkey from the list. " +"Press the Expire button on the left of the panel " +"and select the new expiration date." +msgstr "" +"Aby zmienić datę wygaśnięcia podklucza, " +"rozwiń panel Podklucze i wybierz podklucz z listy. Kliknij " +"przycisk Wygaś po lewej stronie panelu i wybierz " +"nową datę wygaśnięcia." + +#. (itstool) path: note/p +#: C/pgp-expiration-change.page:59 +msgid "" +"If you are changing the expiration date of a key that has been published, " +"you must synchronize the key with the key " +"server after making the desired changes." +msgstr "" +"Jeśli zmieniana jest data wygaśnięcia opublikowanego klucza, należy zsynchronizować go z serwerem kluczy po " +"wprowadzeniu zmian." + +#. (itstool) path: info/desc +#: C/pgp-expired.page:20 +msgid "Can I still use it? Can expiration dates be changed?" +msgstr "Czy można go nadal używać? Czy można zmieniać daty wygaśnięcia?" + +#. (itstool) path: page/title +#: C/pgp-expired.page:23 +msgid "What happens if my key expires?" +msgstr "Co dzieje się po wygaśnięciu klucza?" + +#. (itstool) path: page/p +#: C/pgp-expired.page:25 +msgid "When your key expires, it becomes invalid. This means:" +msgstr "Po wygaśnięciu klucz staje się nieprawidłowy. Oznacza to:" + +#. (itstool) path: item/p +#: C/pgp-expired.page:29 +msgid "It can no longer be used to encrypt and decrypt messages." +msgstr "" +"Nie można go już używać do zaszyfrowywania i odszyfrowywania wiadomości." + +#. (itstool) path: item/p +#: C/pgp-expired.page:32 +msgid "It cannot sign other keys or receive signatures from other keys." +msgstr "" +"Nie można nim podpisywać innych kluczy ani pobierać podpisów z innych kluczy." + +#. (itstool) path: page/p +#: C/pgp-expired.page:37 +msgid "" +"Depending on how long you want your key to be valid, you can set an expiration date for it. By default, " +"Passwords and Keys sets all keys to be valid forever. That is, " +"the keys never expire." +msgstr "" +"W zależności od czasu, przez jaki klucz ma być prawidłowy, można ustawić jego datę wygaśnięcia. Domyślnie " +"program Hasła i klucze nie ustawia daty wygaśnięcia kluczy. " +"Oznacza to, że klucze nigdy nie wygasają." + +#. (itstool) path: page/p +#: C/pgp-expired.page:42 +msgid "" +"The expiration date on a key can be changed anytime, even after the key has expired. However, if you " +"want to stop using the expired key, you should delete or revoke it." +msgstr "" +"Data wygaśnięcia może zostać zmieniona w każdej chwili, nawet po wygaśnięciu klucza. Jeśli jednak klucz po " +"wygaśnięciu nie ma być używany, należy go usunąć lub unieważnić." + +#. (itstool) path: note/p +#: C/pgp-expired.page:49 +msgid "" +"If you have any messages encrypted with an expired key, you must change the " +"expiration date on the key to decrypt such messages before deleting or " +"revoking it." +msgstr "" +"Jeśli są jakieś wiadomości zaszyfrowane za pomocą klucza po wygaśnięciu, to " +"należy zmienić jego datę wygaśnięcia, aby je odszyfrować przed usunięciem " +"lub unieważnieniem." + +#. (itstool) path: info/desc +#: C/pgp-export.page:19 +msgid "Export your public and private PGP keys to store them in keyfiles." +msgstr "" +"Eksportowanie publicznych i prywatnych kluczy PGP, aby przechowywać je " +"w plikach kluczy." + +#. (itstool) path: page/title +#: C/pgp-export.page:23 +msgid "Export PGP keys" +msgstr "Eksportowanie kluczy PGP" + +#. (itstool) path: page/p +#: C/pgp-export.page:25 +msgid "" +"Export the contents of your PGP keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Można wyeksportować zawartość kluczy PGP i przechowywać je w plikach kluczy, " +"aby mieć ich kopię zapasową lub udostępnić komuś klucz publiczny." + +#. (itstool) path: section/title +#: C/pgp-export.page:29 +msgid "To export your public PGP key:" +msgstr "Aby wyeksportować publiczny klucz PGP:" + +#. (itstool) path: item/p +#: C/pgp-export.page:33 C/pgp-export.page:62 C/pgp-userid-add.page:36 +#: C/pgp-userid-primary.page:32 C/pgp-userid-remove.page:31 +msgid "Select the GnuPG keys keyring from the left side panel." +msgstr "Wybierz bazę Klucze GnuPG z panelu po lewej stronie." + +#. (itstool) path: item/p +#: C/pgp-export.page:37 C/pgp-export.page:66 +msgid "" +"Select the Personal PGP key that has to be exported, from the " +"list." +msgstr "Wybierz Osobisty klucz PGP do wyeksportowania z listy." + +#. (itstool) path: item/p +#: C/pgp-export.page:41 C/ssh-export.page:42 +msgid "" +"Right-click on the key and select Export…." +msgstr "" +"Kliknij klucz prawym przyciskiem myszy i wybierz Wyeksportuj…." + +#. (itstool) path: item/p +#: C/pgp-export.page:44 +msgid "" +"To store the keys in the ASCII format, select Armored PGP keys " +"from the menu at the bottom of the export window" +msgstr "" +"Aby przechować klucze w formacie ASCII, wybierz Opakowane klucze PGP z menu na dole okna eksportu." + +#. (itstool) path: item/p +#: C/pgp-export.page:49 C/pgp-export.page:77 +msgid "" +"Choose a location for your keyfile, and press Export to finish." +msgstr "" +"Wybierz położenie pliku klucza i kliknij przycisk Wyeksportuj, aby ukończyć." + +#. (itstool) path: section/title +#: C/pgp-export.page:58 +msgid "To export your private PGP key:" +msgstr "Aby wyeksportować prywatny klucz PGP:" + +#. (itstool) path: item/p +#: C/pgp-export.page:70 C/subkeys-add.page:37 +msgid "" +"Right click on the selected key and select PropertiesDetails." +msgstr "" +"Kliknij wybrany klucz prawym przyciskiem myszy i wybierz " +"WłaściwościSzczegóły." + +#. (itstool) path: item/p +#: C/pgp-export.page:74 +msgid "Press the Export button." +msgstr "Kliknij przycisk Wyeksportuj." + +#. (itstool) path: info/desc +#: C/pgp-import.page:26 +msgid "Import keys from keyfiles into Passwords and Keys." +msgstr "" +"Importowanie kluczy z plików kluczy do programu Hasła i klucze." + +#. (itstool) path: page/title +#: C/pgp-import.page:29 +msgid "Import PGP keys" +msgstr "Importowanie kluczy PGP" + +#. (itstool) path: page/p +#: C/pgp-import.page:31 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports PGP keys from your computer. You can also manually " +"import a particular key, if it has not been imported already." +msgstr "" +"Jeśli odebrano plik klucza pocztą e-mail, to można go zaimportować do " +"programu Hasła i klucze. W większości przypadków program " +"Hasła i klucze automatycznie importuje klucze PGP z komputera. " +"Można także ręcznie zaimportować konkretny klucz, jeśli nie został jeszcze " +"zaimportowany." + +#. (itstool) path: steps/title +#: C/pgp-import.page:37 C/ssh-import.page:37 +msgid "How do I manually import a key?" +msgstr "Jak ręcznie zaimportować klucz?" + +#. (itstool) path: item/p +#: C/pgp-import.page:42 C/ssh-import.page:42 +msgid "Select Import from file… from the list." +msgstr "Wybierz Zaimportuj z pliku… z listy." + +#. (itstool) path: item/p +#: C/pgp-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. PGP keys end with " +"pgp or asc, GPG keys end with gpg." +msgstr "" +"W nowym oknie wybierz klucz do zaimportowania. Klucze PGP kończą się " +"rozszerzeniem pgp lub asc, a klucze GPG kończą się " +"rozszerzeniem gpg." + +#. (itstool) path: item/p +#: C/pgp-import.page:50 C/ssh-import.page:49 +msgid "Click Open." +msgstr "Kliknij przycisk Otwórz." + +#. (itstool) path: page/p +#: C/pgp-import.page:54 +msgid "" +"Once imported, the PGP and GPG keys are listed under GnuPG keys." +msgstr "" +"Po zaimportowaniu klucze PGP i GPG znajdą się pod napisem Klucze " +"GnuPG." + +#. (itstool) path: info/desc +#: C/pgp-photoid.page:20 +msgid "" +"Include a photo ID with your existing keys so that people can identify them " +"easily." +msgstr "" +"Dołączanie zdjęcia do istniejących kluczy, aby inni mogli je łatwo " +"identyfikować." + +#. (itstool) path: page/title +#: C/pgp-photoid.page:24 +msgid "Attach a photo to your key" +msgstr "Dołączanie zdjęcia do klucza" + +#. (itstool) path: page/p +#: C/pgp-photoid.page:26 +msgid "" +"You can attach a photo ID to your PGP keys so that everyone can verify the " +"ownership of your keys after looking at your photo. Though a key with an " +"attached photo will provide a slightly better level of security than a key " +"with no photo, checking the photo on a key is not as safe as checking the " +"fingerprint of the key because " +"anyone having your photos can create a key with your photo ID while the key " +"fingerprint cannot be mimicked." +msgstr "" +"Można dołączyć zdjęcie do kluczy PGP, aby inni mogli potwierdzić ich " +"właściciela przez spojrzenie na zdjęcie. Chociaż klucz z dołączonym zdjęciem " +"zapewnia nieco wyższy poziom bezpieczeństwa niż klucz bez zdjęcia, to " +"sprawdzanie zdjęcia klucza nie jest tak bezpieczne, jak sprawdzanie jego " +"odcisku, ponieważ każdy, kto ma " +"to zdjęcie może utworzyć klucz z tym zdjęciem, a odcisku klucza nie można " +"naśladować." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:35 +msgid "" +"Unlike the restrictions in GPG, the photo ID you want to upload " +"need not be in the JPEG format. Passwords and Keys " +"lets you upload your photo in png, jpg and several " +"other common image formats." +msgstr "" +"W przeciwieństwie do ograniczeń w GPG, zdjęcie nie musi być " +"w formacie JPEG. Program Hasła i klucze umożliwia " +"ustawienie zdjęcia w formacie PNG, JPG i kilku " +"innych popularnych formatach obrazów." + +#. (itstool) path: steps/title +#: C/pgp-photoid.page:42 +msgid "To attach a photo ID to a PGP key:" +msgstr "Aby dołączyć zdjęcie do klucza PGP:" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:47 +msgid "Select the PGP key." +msgstr "Wybierz klucz PGP." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:50 +msgid "" +"Right click on the chosen key and select Properties Owner." +msgstr "" +"Kliknij wybrany klucz prawym przyciskiem myszy i wybierz Właściwości Właściciel." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:55 +msgid "" +"Press the + button on the left hand side to add " +"a photo." +msgstr "" +"Kliknij przycisk + po lewej stronie, aby dodać " +"zdjęcie." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:59 +msgid "Select the photo from your computer." +msgstr "Wybierz zdjęcie z komputera." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:62 +msgid "Click Close to finish." +msgstr "Kliknij przycisk Zamknij, aby ukończyć." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:67 +msgid "" +"The photos you select should be small in size, preferably about 120 by 150 " +"pixels. Since a photo ID is always attached to its key, a large photo will " +"increase the key size and slow down all operations that use the key. " +"Passwords and Keys resizes large photos to the optimal size after " +"asking for your confirmation." +msgstr "" +"Wybrane zdjęcie powinno być małe, najlepiej około 120 na 150 pikseli. " +"Ponieważ zdjęcie jest zawsze dołączane do klucza, duże zdjęcie zwiększy " +"rozmiar klucza i spowolni wszystkie działania używające klucza. Program " +"Hasła i klucze zmienia rozmiar dużych zdjęć na optymalny po " +"potwierdzeniu." + +#. (itstool) path: credit/name +#: C/pgp-publish.page:16 C/pgp-retrieve-remote.page:16 +msgid "Aruna" +msgstr "Aruna" + +#. (itstool) path: info/desc +#: C/pgp-publish.page:21 +msgid "" +"Publish your public keys on key servers, or export and mail them to your friends." +msgstr "" +"Publikowanie kluczy publicznych na serwerach kluczy oraz eksportowanie i wysyłanie ich do znajomych." + +#. (itstool) path: page/title +#: C/pgp-publish.page:25 +msgid "Share your public keys" +msgstr "Udostępnianie kluczy publicznych" + +#. (itstool) path: page/p +#: C/pgp-publish.page:27 +msgid "" +"If you want people to send you encrypted communication, you must share your " +"GnuPG key with them. To share your key with a selected few " +"people, export it and mail the resulting " +"keyfile to them. To allow anyone to retrieve and use your public key, publish it on a key server." +msgstr "" +"Aby móc odbierać zaszyfrowaną komunikację, należy udostępnić klucz " +"GnuPG innym osobom. Aby udostępnić go tylko wybranej grupie, wyeksportuj go i wyślij plik klucza pocztą e-" +"mail. Aby wszyscy mogli pobrać " +"i używać klucza publicznego, opublikuj go na serwerze kluczy." + +#. (itstool) path: steps/title +#: C/pgp-publish.page:35 +msgid "How do I publish my key on a key server?" +msgstr "Jak opublikować klucz na serwerze kluczy?" + +#. (itstool) path: item/p +#: C/pgp-publish.page:40 +msgid "" +"From the list, select the Personal PGP key you want to publish." +msgstr "Z listy wybierz Osobisty klucz PGP do opublikowania." + +#. (itstool) path: item/p +#: C/pgp-publish.page:47 C/pgp-sync.page:44 +msgid "Select Sync and publish keys…." +msgstr "" +"Wybierz Zsynchronizuj i opublikuj klucze…." + +#. (itstool) path: item/p +#: C/pgp-publish.page:50 +msgid "" +"Press the Key Servers button to see the list of " +"key servers on which you can publish your public key." +msgstr "" +"Kliknij przycisk Serwery kluczy, aby wyświetlić " +"listę serwerów kluczy, na których można opublikować klucz publiczny." + +#. (itstool) path: item/p +#: C/pgp-publish.page:54 +msgid "" +"To publish your key on a key server, select the key server from the " +"Publish keys to menu." +msgstr "" +"Aby opublikować klucz na serwerze kluczy, wybierz go z menu " +"Publikowanie kluczy na." + +#. (itstool) path: item/p +#: C/pgp-publish.page:58 +msgid "" +"Close the Preferences window to go back to the previous dialog." +msgstr "Zamknij okno Preferencje, aby wrócić do poprzedniego okna." + +#. (itstool) path: item/p +#: C/pgp-publish.page:62 +msgid "Press Sync to finish." +msgstr "" +"Kliknij przycisk Zsynchronizuj, aby ukończyć." + +#. (itstool) path: note/p +#: C/pgp-publish.page:77 +msgid "You need to be connected to the Internet while publishing your keys." +msgstr "Do opublikowania kluczy potrzebne jest połączenie z Internetem." + +#. (itstool) path: note/title +#: C/pgp-publish.page:81 +msgid "What is a keyserver?" +msgstr "Czym jest serwer kluczy?" + +#. (itstool) path: note/p +#: C/pgp-publish.page:82 +msgid "" +"Key servers are computers that store copies of public encryption keys " +"submitted to them, and share these copies with other key servers through the " +"Internet." +msgstr "" +"Serwery kluczy to komputery, które przechowują wysłane do nich kopie " +"publicznych kluczy szyfrowania i udostępniają je innym serwerom kluczy przez " +"Internet." + +#. (itstool) path: info/desc +#: C/pgp-retrieve-remote.page:26 +msgid "" +"If you want to send an urgent encrypted message to someone, but do not have " +"their key, you can retrieve their key from a remote key server." +msgstr "" +"Aby wysłać pilną zaszyfrowaną wiadomość do kogoś, ale nie ma jej klucza, to " +"można go pobrać ze zdalnego serwera kluczy." + +#. (itstool) path: page/title +#: C/pgp-retrieve-remote.page:31 +msgid "Retrieve remote keys" +msgstr "Pobieranie zdalnych kluczy" + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:33 +msgid "" +"You can retrieve someone's public GnuPG key from the Internet and store it " +"in Passwords and Keys." +msgstr "" +"Można pobrać publiczny klucz GnuPG innej osoby z Internetu i przechować go " +"w programie Hasła i klucze." + +#. (itstool) path: steps/title +#: C/pgp-retrieve-remote.page:37 +msgid "To retrieve a remote key:" +msgstr "Aby pobrać zdalny klucz:" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:42 +msgid "Select Find remote keys…." +msgstr "Wybierz Wyszukaj zdalne klucze…." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:45 +msgid "" +"Enter information about the key you wish to retrieve in the field provided. " +"Details like key ID or the key owner's email address give more accurate " +"results than the name of the key owner." +msgstr "" +"Wprowadź informacje o kluczu do pobrania w podanych polach. Identyfikator " +"klucza i adres e-mail właściciela klucza dają dokładniejsze wyniki niż " +"nazwisko właściciela." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:50 +msgid "Press the Search button." +msgstr "Kliknij przycisk Wyszukaj." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:53 +msgid "" +"From the list of search results, select the key you want to import, and " +"press the Download button on the right." +msgstr "" +"Z listy wyników wyszukiwania wybierz klucz do zaimportowania i kliknij " +"przycisk Pobierz po prawej." + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:58 +msgid "The imported key will be listed in the GnuPG keys keyring." +msgstr "" +"Zaimportowany klucz będzie wyświetlany w bazie Klucze GnuPG." + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:61 +msgid "" +"If you want more information about a key, before importing it, select it and " +"press Enter or double-click it. This opens a new window that " +"displays information like the key ID, key fingerprint, level of trust, " +"owner's name, etc." +msgstr "" +"Aby uzyskać więcej informacji o kluczu przed jego zaimportowaniem, wybierz " +"go i naciśnij klawisz Enter lub kliknij go podwójnie. Zostanie " +"otwarte nowe okno z informacjami, takimi jak identyfikator klucza, jego " +"odcisk, poziom zaufania, nazwisko właściciela itp." + +#. (itstool) path: info/desc +#: C/pgp-sign.page:19 +msgid "If you trust a key, you can sign it." +msgstr "Jeśli klucz jest zaufany, to można go podpisać." + +#. (itstool) path: page/title +#: C/pgp-sign.page:22 +msgid "Sign keys" +msgstr "Podpisywanie kluczy" + +#. (itstool) path: page/p +#: C/pgp-sign.page:24 +msgid "" +"To show that you trust and vouch for the genuineness of someone's key, you " +"can sign it. A person's key must be signed only after you compare the user ID on the key with a valid proof of their " +"identity, such as a passport, driver's license, or similar. If the two IDs " +"match, the key is said to be trustworthy." +msgstr "" +"Aby okazać zaufanie i poręczyć prawdziwość czyjegoś klucza, można go " +"podpisać. Należy to robić tylko po porównaniu identyfikatora użytkownika na kluczu z prawomocnym dowodem " +"tożsamości, takim jak dowód osobisty, paszport, prawo jazdy lub podobny " +"dokument. Jeśli tożsamość się zgadza, to klucz jest zaufany." + +#. (itstool) path: steps/title +#: C/pgp-sign.page:31 +msgid "To sign a key:" +msgstr "Aby podpisać klucz:" + +#. (itstool) path: item/p +#: C/pgp-sign.page:33 +msgid "" +"Import the remote key or keyfile containing the key to be signed into " +"Passwords and Keys." +msgstr "" +"Zaimportuj zdalny klucz lub plik klucza zawierający klucz do podpisania do " +"programu Hasła i klucze." + +#. (itstool) path: item/p +#: C/pgp-sign.page:38 +msgid "From the list of GnuPG keys select the imported key." +msgstr "Z listy Klucze GnuPG wybierz zaimportowany klucz." + +#. (itstool) path: item/p +#: C/pgp-sign.page:41 +msgid "" +"Right click the key and select PropertiesTrust." +msgstr "" +"Kliknij klucz prawym przyciskiem myszy i wybierz WłaściwościZaufanie." + +#. (itstool) path: item/p +#: C/pgp-sign.page:45 +msgid "Press the Sign this Key button." +msgstr "Kliknij przycisk Podpisz ten klucz." + +#. (itstool) path: item/p +#: C/pgp-sign.page:48 +msgid "" +"Depending on how carefully you have checked the key, choose one out of Not at all, Casually or Very carefully." +msgstr "" +"W zależności od przeprowadzonej weryfikacji wybierz Wcale, Pobieżnie lub Bardzo dokładnie." + +#. (itstool) path: item/p +#: C/pgp-sign.page:54 +msgid "" +"Decide if you want to revoke your signature at a later date and if you want " +"to make your signature public, by ticking the checkboxes provided." +msgstr "" +"Zdecyduj, czy unieważnić podpis w przyszłości i czy podpis ma być publiczny, " +"zaznaczając podane pola wyboru." + +#. (itstool) path: item/p +#: C/pgp-sign.page:59 +msgid "" +"When you own more than one PGP key, select the key you want to sign with, " +"from the list next to Signer." +msgstr "" +"Jeśli jest więcej niż jeden klucz PGP, wybierz klucz, którym podpisać, " +"z listy obok napisu Osoba podpisująca." + +#. (itstool) path: item/p +#: C/pgp-sign.page:63 +msgid "Press the Sign button to finish." +msgstr "Kliknij przycisk Podpisz, aby ukończyć." + +#. (itstool) path: note/title +#: C/pgp-sign.page:68 +msgid "Can I sign my own keys?" +msgstr "Czy można podpisywać własne klucze?" + +#. (itstool) path: note/p +#: C/pgp-sign.page:69 +msgid "" +"When you create a new GnuPG key, " +"it is automatically signed by you. Any new subkeys created using a GnuPG key, will also be signed " +"automatically." +msgstr "" +"Po utworzeniu nowego klucza GnuPG jest on automatycznie podpisywany. Ewentualne podklucze utworzone za pomocą klucza GnuPG także " +"zostaną automatycznie podpisane." + +#. (itstool) path: info/desc +#: C/pgp-subkeys.page:19 +msgid "" +"A subkey is always bound to a master key in a PGP keypair. It is used for " +"encryption." +msgstr "" +"Podklucz jest zawsze przypisany do głównego klucza w parze kluczy PGP. Jest " +"używany do szyfrowania." + +#. (itstool) path: page/title +#: C/pgp-subkeys.page:23 +msgid "What is a subkey?" +msgstr "Czym jest podklucz?" + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:25 +msgid "" +"Though it is very important to keep your keys safe, it can become quite " +"tedious to do so when you have many keys. Passwords and Keys " +"provides a simple solution to key safety by using subkeys for " +"signing and encryption." +msgstr "" +"Chociaż bezpieczeństwo kluczy jest bardzo ważne, staje się to uciążliwe przy " +"dużej liczbie kluczy. Program Hasła i klucze dostarcza proste " +"rozwiązanie: podklucze do podpisywania i szyfrowania." + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:30 +msgid "" +"Whenever you create a new public encryption " +"key, a keypair is generated instead of a single key. This keypair " +"consists of a main key, also called the master key and a " +"subkey. A master key can be used to create additional subkeys that " +"are then bound to it." +msgstr "" +"Kiedy tworzony jest nowy publiczny klucz " +"szyfrowania, tworzona jest para kluczy zamiast jednego klucza. Para " +"kluczy składa się z głównego klucza, zwanego także głównym kluczem, " +"i podklucza. Można używać głównego klucza do tworzenia dodatkowych " +"podkluczy, przypisanych do głównego." + +#. (itstool) path: list/title +#: C/pgp-subkeys.page:37 +msgid "What does each key in a keypair do?" +msgstr "Co robią klucze w parze?" + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:39 +msgid "" +"The master key is used for signing " +"other keys, creating subkeys and revoking subkeys. Your master key must be kept very safe. Signatures of trust " +"are also collected on your master key. If the master key is compromised, you " +"have no choice but to revoke it and all the subkeys attached to it." +msgstr "" +"Główny klucz jest używany do podpisywania innych kluczy, tworzenia podkluczy i unieważniania podkluczy. Główny klucz musi być bardzo chroniony. " +"Zbiera on także podpisy zaufania. Jeśli zostanie ujawniony, to jedynym " +"wyjściem jest unieważnienie głównego klucza i wszystkich przypisanych do " +"niego podkluczy." + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:47 +msgid "" +"The default subkey is used for encryption and decryption of " +"messages. Additional subkeys can be created for signing. Though it is " +"important that your subkeys are kept safe, you can always revoke a subkey if " +"it is compromised and create a new one with the original master key." +msgstr "" +"Domyślny podklucz jest używany do szyfrowania i odszyfrowywania " +"wiadomości. Można tworzyć dodatkowe podklucze do podpisywania. Chociaż " +"bezpieczeństwo podkluczy jest ważne, zawsze można unieważnić podklucz, jeśli " +"zostanie ujawniony, i utworzyć nowy za pomocą oryginalnego głównego klucza." + +#. (itstool) path: section/title +#: C/pgp-subkeys.page:56 +msgid "More about subkeys" +msgstr "Więcej informacji o podkluczach" + +#. (itstool) path: info/desc +#: C/pgp-sync.page:21 +msgid "" +"Synchronize information present in your local key with the corresponding key " +"on a key server." +msgstr "" +"Synchronizowanie informacji w lokalnym kluczu z odpowiednim kluczem na " +"serwerze kluczy." + +#. (itstool) path: page/title +#: C/pgp-sync.page:25 +msgid "Synchronize your keys" +msgstr "Synchronizowanie kluczy" + +#. (itstool) path: page/p +#: C/pgp-sync.page:27 +msgid "" +"PGP keys in your keyring have to be synchronized with a key server to ensure " +"that any changes made to the key on the key server, like a new signature, " +"are updated in your local copy of the key. Similarly, when you change " +"information on your local key copy, like the expiration date, or when you " +"sign someone's key, you should synchronize the keys to update the changes on " +"the remote copy of the key. You need a working Internet connection to " +"synchronize your keys." +msgstr "" +"Klucze PGP w bazie kluczy muszą być synchronizowane z serwerem kluczem, aby " +"zmiany wprowadzone w kluczu na serwerze, takie jak nowy podpis, zostały " +"zaktualizowane w lokalnej kopii klucza. Podobnie po zmianie informacji " +"w lokalnej kopii klucza, takich jak data wygaśnięcia, oraz po podpisaniu " +"czyjegoś klucza należy zsynchronizować klucze, aby zaktualizować zmiany " +"w zdalnej kopii klucza. Do tego potrzebne jest połączenie z Internetem." + +#. (itstool) path: steps/title +#: C/pgp-sync.page:36 +msgid "How do I synchronize a key?" +msgstr "Jak zsynchronizować klucz?" + +#. (itstool) path: item/p +#: C/pgp-sync.page:38 +msgid "Select the PGP key you wish to synchronize." +msgstr "Wybierz klucz PGP do zsynchronizowania." + +#. (itstool) path: item/p +#: C/pgp-sync.page:47 +msgid "" +"Click the Sync button to synchronize your key." +msgstr "" +"Kliknij przycisk Zsynchronizuj, aby " +"zsynchronizować klucz." + +#. (itstool) path: note/title +#: C/pgp-sync.page:53 +msgid "Why is the Sync button not clickable?" +msgstr "" +"Dlaczego nie da się kliknąć przycisku Zsynchronizuj?" + +#. (itstool) path: note/p +#: C/pgp-sync.page:55 +msgid "" +"Only PGP keys that have been published on a key server can be synchronized. " +"If the Sync button is not clickable, check if " +"the key has been published on a key server. In the case of synchronizing " +"your own keys, publish them before " +"synchronizing them." +msgstr "" +"Tylko klucze PGP opublikowane na serwerze kluczy mogą być synchronizowane. " +"Jeśli przycisku Zsynchronizuj nie da się " +"kliknąć, to sprawdź, czy klucz został opublikowany na serwerze kluczy. " +"W przypadku synchronizowania własnych kluczy opublikuj je przed synchronizacją." + +#. (itstool) path: info/desc +#: C/pgp-userid-add.page:20 +msgid "" +"Having many user IDs helps you to use the same key to communicate with " +"different people." +msgstr "" +"Kilka identyfikatorów użytkownika pomaga używać tego samego klucza do " +"komunikacji z różnymi osobami." + +#. (itstool) path: page/title +#: C/pgp-userid-add.page:24 +msgid "Add extra user IDs to a key" +msgstr "Dodawanie dodatkowych identyfikatorów użytkownika do klucza" + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:26 +msgid "" +"A key can have multiple user IDs. This is helpful when you want to use the " +"same key while communicating with several people and one of them does not " +"recognize, say, the email address in your user ID. This person may not want " +"to import your public key since it contains information that they do not " +"know. In such scenarios, if you do not want to create a new key with a " +"different user ID, you can attach a new user ID to your existing key." +msgstr "" +"Klucz może mieć więcej niż jeden identyfikator użytkownika. Jest to pomocne " +"do używania tego samego klucza do komunikacji z wieloma osobami i jedna " +"z nich nie rozpoznaje, na przykład, adresu e-mail w identyfikatorze " +"użytkownika. Ta osoba może nie chcieć zaimportować klucza publicznego, jako " +"że zawiera on nieznane jej informacje. W takich przypadkach, aby nie tworzyć " +"nowego klucza z innym identyfikatorem użytkownika, można dołączyć nowy " +"identyfikator do istniejącego klucza." + +#. (itstool) path: steps/title +#: C/pgp-userid-add.page:34 +msgid "To add an extra user ID:" +msgstr "Aby dodać dodatkowy identyfikator użytkownika:" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:39 +msgid "From the list, select the Personal PGP key of your choice." +msgstr "Z listy wybierz Osobisty klucz PGP." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:43 +msgid "" +"Right click on the key and select Properties Names " +"and Signatures." +msgstr "" +"Kliknij klucz prawym przyciskiem myszy i wybierz Właściwości Nazwy i podpisy." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:47 +msgid "" +"Click the Add Name button to add a new user ID." +msgstr "" +"Kliknij przycisk Dodaj nazwę, aby dodać nowy " +"identyfikator użytkownika." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:51 +msgid "" +"In the new dialog, fill in details like Full Name, Email " +"Address and Key Comment for the new user ID." +msgstr "" +"W nowym oknie wypełnij informacje, takie jak Imię i nazwisko, " +"Adres e-mailKomentarz klucza, dla nowego " +"identyfikatora użytkownika." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:56 +msgid "" +"Enter the correct passphrase and click OK to " +"finish." +msgstr "" +"Wpisz właściwe hasło i kliknij przycisk OK, aby " +"ukończyć." + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:61 +msgid "" +"Your new user ID will now be listed under the Names and Signatures panel." +msgstr "" +"Nowy identyfikator użytkownika będzie wyświetlany w panelu Nazwy " +"i podpisy." + +#. (itstool) path: note/p +#: C/pgp-userid-add.page:65 +msgid "" +"If your key has been published on a key server, synchronize it after adding new user IDs to update the remote copy " +"of the key." +msgstr "" +"Jeśli klucz został opublikowany na serwerze kluczy, zsynchronizuj go po dodaniu nowych identyfikatorów użytkownika, " +"aby zaktualizować jego zdalną kopię." + +#. (itstool) path: info/desc +#: C/pgp-userid-primary.page:19 +msgid "Change your default user ID" +msgstr "Zmiana domyślnego identyfikatora użytkownika" + +#. (itstool) path: page/title +#: C/pgp-userid-primary.page:22 +msgid "What is a primary user ID?" +msgstr "Czym jest główny identyfikator użytkownika?" + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:24 +msgid "" +"When you have multiple user IDs, one of the user IDs is made the primary " +"user ID. Passwords and Keys will attach the primary user ID by " +"default with your key information, while encrypting or signing, unless you " +"explicitly choose another user ID instead." +msgstr "" +"Jeśli klucz ma wiele identyfikatorów użytkownika, to jeden z nich jest " +"głównym identyfikatorem. Program Hasła i klucze domyślnie dołączy " +"główny identyfikator użytkownika do informacji o kluczu podczas szyfrowania " +"i podpisywania, chyba że zostanie wybrany inny identyfikator." + +#. (itstool) path: steps/title +#: C/pgp-userid-primary.page:30 +msgid "To change the primary user ID in a PGP key:" +msgstr "Aby zmienić główny identyfikator użytkownika w kluczu PGP:" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:35 C/pgp-userid-remove.page:34 +#: C/subkeys-add.page:34 +msgid "Select the Personal PGP key from the list." +msgstr "Wybierz Osobisty klucz PGP z listy." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:38 +msgid "" +"Right click on the selected key and select Properties " +"Names and Signatures." +msgstr "" +"Kliknij wybrany klucz prawym przyciskiem myszy i wybierz " +"Właściwości Nazwy i podpisy." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:43 +msgid "" +"Select the new primary user ID from the list and click Primary." +msgstr "" +"Wybierz nowy główny identyfikator użytkownika z listy i kliknij przycisk " +"Główny." + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:48 +msgid "" +"The user ID will move to the top of the Names and Signatures list " +"to become your primary user ID." +msgstr "" +"Identyfikator użytkownika zostanie przeniesiony na górę listy Nazwy " +"i podpisy i ustawiony jako główny." + +#. (itstool) path: note/p +#: C/pgp-userid-primary.page:52 +msgid "" +"Sync your keys after changing your primary user ID to update the remote " +"copies of your key." +msgstr "" +"Zsynchronizuj klucze po zmianie głównego identyfikatora użytkownika, aby " +"zaktualizować zdalne kopie klucza." + +#. (itstool) path: info/desc +#: C/pgp-userid-remove.page:20 +msgid "Remove extra user IDs" +msgstr "Usuwanie dodatkowych identyfikatorów użytkownika" + +#. (itstool) path: page/title +#: C/pgp-userid-remove.page:23 +msgid "Detach a user ID from a key" +msgstr "Odłączanie identyfikatora użytkownika z klucza" + +#. (itstool) path: page/p +#: C/pgp-userid-remove.page:25 +msgid "" +"While it is essential that all keys have at least one user ID, you can " +"remove any additional user IDs that you have attached to the key." +msgstr "" +"Chociaż wszystkie klucze muszą mieć co najmniej jeden identyfikator " +"użytkownika, można usuwać dodatkowe identyfikatory dołączone do klucza." + +#. (itstool) path: steps/title +#: C/pgp-userid-remove.page:29 +msgid "To remove a user ID from a PGP key:" +msgstr "Aby usunąć identyfikator użytkownika z klucza PGP:" + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:37 +msgid "" +"Right click on the selected key and choose Properties " +"Names and Signatures." +msgstr "" +"Kliknij wybrany klucz prawym przyciskiem myszy i wybierz " +"Właściwości Nazwy i podpisy." + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:42 +msgid "" +"Select the user ID you want to remove and click Delete." +msgstr "" +"Wybierz identyfikator użytkownika do usunięcia i kliknij przycisk Usuń." + +#. (itstool) path: note/p +#: C/pgp-userid-remove.page:48 +msgid "" +"Synchronize your keys after detaching the " +"user ID to update the changes on the remote copy of the key." +msgstr "" +"Zsynchronizuj klucze po odłączeniu " +"identyfikatora użytkownika, aby zaktualizować zmiany w zdalnej kopii klucza." + +#. (itstool) path: info/desc +#: C/pgp-userid.page:19 +msgid "Create keys with good user IDs and learn to add and remove user IDs." +msgstr "" +"Tworzenie kluczy z dobrymi identyfikatorami użytkownika oraz dodawanie " +"i usuwanie identyfikatorów." + +#. (itstool) path: page/title +#: C/pgp-userid.page:23 +msgid "What is a user ID?" +msgstr "Czym jest identyfikator użytkownika?" + +#. (itstool) path: page/p +#: C/pgp-userid.page:25 +msgid "" +"When you create a key, you provide details, like your name, email and a key " +"description. This information together constitutes a user ID. A good user ID " +"helps people to recognize your key when they are trying to retrieve or import " +"it. It is important to fill in authentic information while creating your " +"user ID." +msgstr "" +"W czasie tworzenia klucza podaje się informacje, takie jak nazwisko, adres e-" +"mail i opis klucza. Razem składają się one na identyfikator użytkownika. " +"Dobry identyfikator pomaga innym rozpoznawać klucz podczas jego pobierania i importowania. Ważne jest wypełnienie prawdziwych informacji " +"podczas tworzenia identyfikatora użytkownika." + +#. (itstool) path: section/title +#: C/pgp-userid.page:33 +msgid "Add, remove user IDs" +msgstr "Dodawanie i usuwanie identyfikatorów użytkownika" + +#. (itstool) path: info/desc +#: C/ssh-connect-remote.page:23 +msgid "Use SSH keys to log in to another computer without entering a password." +msgstr "" +"Używanie kluczy SSH do logowania na innym komputerze bez wpisywania hasła." + +#. (itstool) path: page/title +#: C/ssh-connect-remote.page:27 +msgid "Connect to other computers" +msgstr "Łączenie z innymi komputerami" + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:29 +msgid "" +"You can use Passwords and Keys to install your SSH key onto a " +"remote computer that can run an SSH server. You can also set up your SSH key for remote login " +"while creating the key." +msgstr "" +"Można używać programu Hasła i klucze do zainstalowania klucza SSH " +"na zdalnym komputerze, który może działać jako serwer SSH. Można także przygotować klucz SSH do " +"zdalnego logowania podczas tworzenia klucza." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:36 +msgid "" +"Right click on the SSH key and select Configure Key for " +"Secure Shell…." +msgstr "" +"Kliknij klucz SSH prawym przyciskiem myszy i wybierz " +"Skonfiguruj klucz dla SSH…." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:40 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH, and press " +"Set Up." +msgstr "" +"W oknie, które zostanie otwarte, wpisz Adres serwera zwykle " +"używanego do logowania na zdalnym komputerze przez protokół SSH i kliknij " +"przycisk Przygotuj." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:45 C/ssh-create.page:106 +msgid "" +"The program will now attempt to connect to the specified Server " +"address with the entered Login Name. If there are any " +"problems in accessing the remote computer, a pop-up window will appear that " +"explains the problem, and you can try again. Make sure that you have a " +"network connection and that the remote computer is on and accessible." +msgstr "" +"Program spróbuje połączyć się z podanym Adresem serwera za pomocą " +"wpisanego Loginu. Jeśli wystąpią jakieś problemy z dostępem do " +"zdalnego komputera, to pojawi się okno wyjaśniające problem i można " +"spróbować ponownie. Upewnij się, że połączenie z Internetem działa, a zdalny " +"komputer jest włączony i dostępny." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:53 C/ssh-create.page:114 +msgid "" +"If connection to the remote computer was successful, a dialog box will " +"appear which asks for the Password you use to log in to the " +"remote computer. Enter your password, then press OK." +msgstr "" +"Jeśli połączenie ze zdalnym komputerem się powiedzie, to pojawi się okno " +"z prośbą o Hasło używane do logowania na zdalnym komputerze. " +"Wpisz hasło, a następnie kliknij przycisk OK." + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:60 +msgid "" +"You should now be able to log in to the remote computer via SSH without a " +"password." +msgstr "" +"Logowanie na zdalnym komputerze przez protokół SSH powinno teraz być możliwe " +"bez podawania hasła." + +#. (itstool) path: info/desc +#: C/ssh-create.page:31 +msgid "Create SSH keys to log in to other computers." +msgstr "Tworzenie kluczy SSH do logowania na innych komputerach." + +#. (itstool) path: page/title +#: C/ssh-create.page:34 +msgid "Create a new SSH key" +msgstr "Tworzenie nowego klucza SSH" + +#. (itstool) path: page/p +#: C/ssh-create.page:36 +msgid "" +"An SSH key will help you to create a secure connection between computers. " +"Creating an SSH key creates both a Public and a Private " +"key. Here is how to create a new key:" +msgstr "" +"Klucz SSH pomaga w utworzeniu zabezpieczonego połączenia między komputerami. " +"Utworzenie klucza SSH tworzy klucz publicznyprywatny. " +"Aby utworzyć nowy klucz:" + +#. (itstool) path: item/p +#: C/ssh-create.page:42 +msgid "Select Secure Shell Key from the list." +msgstr "Wybierz Klucz SSH z listy." + +#. (itstool) path: item/p +#: C/ssh-create.page:43 +msgid "" +"Enter a description for the key. The key description will help you to " +"identify the key later. For example, you could enter the date for the day, " +"something about how the key will be used, or the server name on which you " +"intend to install the key. The description field is optional, and how you " +"describe the key is entirely up to you." +msgstr "" +"Wpisz opis klucza. Pomoże on później identyfikować klucz. Na przykład, można " +"wpisać datę, coś o przeznaczeniu klucza lub nazwę serwera, na którym " +"zostanie zainstalowany. Pole opisu jest opcjonalne, a treść opisu jest " +"dowolna." + +#. (itstool) path: item/p +#: C/ssh-create.page:48 +msgid "" +"You can also change default settings for encryption type or key strength." +msgstr "" +"Można także zmienić domyślne ustawienia typu szyfrowania i siły klucza." + +#. (itstool) path: page/p +#: C/ssh-create.page:52 +msgid "" +"At this point, you can just create your key, or create your key and install " +"it on a remote computer to enable password-free login." +msgstr "" +"Na tym etapie można tylko utworzyć klucz lub utworzyć go i zainstalować na " +"zdalnym komputerze, aby umożliwić logowanie bez hasła." + +#. (itstool) path: section/title +#: C/ssh-create.page:56 +msgid "Create your key and do not set up remote login" +msgstr "Tworzenie klucza bez przygotowywania zdalnego logowania" + +#. (itstool) path: section/p +#: C/ssh-create.page:57 +msgid "You can create the SSH key, and choose to set it up later." +msgstr "Można utworzyć klucz SSH, ale przygotować go później." + +#. (itstool) path: item/p +#: C/ssh-create.page:61 +msgid "Press the Just Create Key button." +msgstr "Kliknij przycisk Utwórz tylko klucz." + +#. (itstool) path: item/p +#: C/ssh-create.page:64 +msgid "" +"Type a passphrase for your SSH key and press OK." +msgstr "" +"Wpisz hasła dla klucza SSH i kliknij przycisk OK." + +#. (itstool) path: item/p +#: C/ssh-create.page:68 +msgid "" +"Retype the passphrase and press OK to finish." +msgstr "" +"Wpisz hasło jeszcze raz i kliknij przycisk OK, " +"aby ukończyć." + +#. (itstool) path: section/p +#: C/ssh-create.page:73 +msgid "The SSH key will now be listed in the OpenSSH keys keyring." +msgstr "Klucz SSH będzie wyświetlany w bazie Klucze OpenSSH." + +#. (itstool) path: note/p +#: C/ssh-create.page:77 +msgid "" +"When you try to use your SSH key, your operating system will prompt you for " +"the passphrase used during creation. This ensures that if someone gets " +"access to your SSH key, they can't use it without the passphrase." +msgstr "" +"Podczas używania klucza SSH system operacyjny zapyta o hasło ustawione " +"podczas jego tworzenia. Zapewnia to, że jeśli ktoś uzyska dostęp do klucza, " +"to nie może go używać bez hasła." + +#. (itstool) path: section/title +#: C/ssh-create.page:86 +msgid "Create your key and install it on a remote computer" +msgstr "Tworzenie klucza i instalowanie go na zdalnym komputerze" + +#. (itstool) path: section/p +#: C/ssh-create.page:87 +msgid "" +"One of the most useful things about having an SSH key is that you can " +"install the public key on a remote computer. Doing this allows you to log in " +"to a remote computer with SSH without needing to enter your password every " +"time." +msgstr "" +"Jedną z największych zalet posiadania klucza SSH jest możliwość " +"zainstalowania publicznego klucza na zdalnym komputerze. Umożliwia to " +"logowanie na zdalnym komputerze za pomocą protokołu SSH bez potrzeby " +"wpisywania hasła za każdym razem." + +#. (itstool) path: item/p +#: C/ssh-create.page:94 +msgid "" +"Press the Create and Set Up button, and follow " +"the above instructions on entering a passphrase." +msgstr "" +"Kliknij przycisk Utwórz i przygotuj i postępuj " +"zgodnie z instrukcją podawania hasła powyżej." + +#. (itstool) path: item/p +#: C/ssh-create.page:98 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH." +msgstr "" +"W oknie, które zostanie otwarte, wpisz Adres serwera zwykle " +"używanego do logowania na zdalnym komputerze przez protokół SSH." + +#. (itstool) path: item/p +#: C/ssh-create.page:102 +msgid "" +"Ensure that the Login name you use on the remote computer is " +"correct, and press Set Up." +msgstr "" +"Upewnij się, że Login używany na zdalnym komputerze jest " +"właściwy, i kliknij przycisk Przygotuj." + +#. (itstool) path: section/p +#: C/ssh-create.page:121 +msgid "" +"The public part of the selected SSH key will now be installed on the remote " +"computer and configured to allow password-free SSH login. You should now be " +"able to log in to the remote computer via SSH without a password." +msgstr "" +"Publiczna część wybranego klucza SSH zostanie teraz zainstalowana na zdalnym " +"komputerze i skonfigurowana do logowania przez protokół SSH bez hasła." + +#. (itstool) path: note/p +#: C/ssh-create.page:127 +msgid "" +"If SSH key authentication fails and you cannot use password authentication, " +"contact the service administrator for further help." +msgstr "" +"Jeśli uwierzytelnienie klucza SSH się nie powiedzie i nie można " +"uwierzytelnić się hasłem, to skontaktuj się z administratorem usługi." + +#. (itstool) path: info/desc +#: C/ssh-export.page:20 +msgid "Export your public and private SSH keys to store them in keyfiles." +msgstr "" +"Eksportowanie publicznych i prywatnych kluczy SSH, aby przechowywać je " +"w plikach kluczy." + +#. (itstool) path: page/title +#: C/ssh-export.page:24 +msgid "Export SSH keys" +msgstr "Eksportowanie kluczy SSH" + +#. (itstool) path: page/p +#: C/ssh-export.page:26 +msgid "" +"Export the contents of your SSH keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Można wyeksportować zawartość kluczy SSH i przechowywać je w plikach kluczy, " +"aby mieć ich kopię zapasową lub udostępnić komuś klucz publiczny." + +#. (itstool) path: section/title +#: C/ssh-export.page:30 +msgid "To export your public SSH key:" +msgstr "Aby wyeksportować publiczny klucz SSH:" + +#. (itstool) path: item/p +#: C/ssh-export.page:34 C/ssh-export.page:57 +msgid "Select the OpenSSH keys keyring from the left side panel." +msgstr "Wybierz bazę Klucze OpenSSH z panelu po lewej stronie." + +#. (itstool) path: item/p +#: C/ssh-export.page:38 C/ssh-export.page:61 +msgid "" +"Select the Personal SSH key, that has to be exported, from the " +"list." +msgstr "Wybierz Osobisty klucz SSH do wyeksportowania z listy." + +#. (itstool) path: item/p +#: C/ssh-export.page:45 +msgid "" +"Press the Export button to save the exported " +"public key on your computer." +msgstr "" +"Kliknij przycisk Wyeksportuj, aby zapisać " +"wyeksportowany klucz publiczny na komputerze." + +#. (itstool) path: section/title +#: C/ssh-export.page:53 +msgid "To export your private SSH key:" +msgstr "Aby wyeksportować prywatny klucz SSH:" + +#. (itstool) path: item/p +#: C/ssh-export.page:65 +msgid "" +"Right click on the selected key and select Properties." +msgstr "" +"Kliknij klucz prawym przyciskiem myszy i wybierz Właściwości." + +#. (itstool) path: item/p +#: C/ssh-export.page:69 +msgid "" +"Press the Export button to save the exported " +"private key on your computer." +msgstr "" +"Kliknij przycisk Wyeksportuj, aby zapisać " +"wyeksportowany klucz prywatny na komputerze." + +#. (itstool) path: note/p +#: C/ssh-export.page:75 +msgid "" +"Keep the exported private key file in a safe location, since the contents of " +"the file must be kept private, to prevent misuse of your key." +msgstr "" +"Przechowuj wyeksportowany klucz prywatny w bezpiecznym miejscu, ponieważ " +"jego zawartość musi być niejawna, aby uniemożliwić nadużycie klucza." + +#. (itstool) path: info/desc +#: C/ssh-import.page:25 +msgid "Import SSH keys from keyfiles into Passwords and Keys." +msgstr "" +"Importowanie kluczy SSH z plików kluczy do programu Hasła i klucze." + +#. (itstool) path: page/title +#: C/ssh-import.page:28 +msgid "Import SSH keys" +msgstr "Importowanie kluczy SSH" + +#. (itstool) path: page/p +#: C/ssh-import.page:30 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports SSH keys from the ~/.ssh directory on " +"your computer. You can also manually import keys into Passwords and " +"Keys." +msgstr "" +"Jeśli odebrano plik klucza pocztą e-mail, to można go zaimportować do " +"programu Hasła i klucze. W większości przypadków program " +"Hasła i klucze automatycznie importuje klucze SSH z katalogu " +"~/.ssh na komputerze. Można także ręcznie zaimportować " +"konkretny klucz, jeśli nie został jeszcze zaimportowany." + +#. (itstool) path: item/p +#: C/ssh-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. Public SSH keys end " +"with .pub." +msgstr "" +"W nowym oknie wybierz klucz do zaimportowania. Publiczne klucze SSH kończą " +"się rozszerzeniem .pub." + +#. (itstool) path: page/p +#: C/ssh-import.page:53 +msgid "" +"Imported keys are automatically grouped according to their type. So, " +"SSH keys are listed in the OpenSSH keys section." +msgstr "" +"Zaimportowane klucze są automatycznie grupowane według typu. Klucze " +"SSH są wyświetlane w sekcji Klucze OpenSSH." + +#. (itstool) path: info/desc +#: C/subkeys-add.page:20 +msgid "Additional subkeys make your master key more secure." +msgstr "Dodatkowe podklucze zabezpieczają główny klucz." + +#. (itstool) path: page/title +#: C/subkeys-add.page:23 +msgid "Add extra subkeys" +msgstr "Dodawanie dodatkowych podkluczy" + +#. (itstool) path: page/p +#: C/subkeys-add.page:25 +msgid "" +"You can add extra subkeys to the same master key. You have to choose the " +"right subkey each time you want to encrypt or sign when you do this." +msgstr "" +"Można dodać dodatkowe podklucze do tego samego głównego klucza. Należy " +"wybrać właściwy podklucz za każdym razem, kiedy coś jest szyfrowane lub " +"podpisywane, jeśli dodano podklucze." + +#. (itstool) path: steps/title +#: C/subkeys-add.page:29 +msgid "To add extra subkeys to a PGP key:" +msgstr "Aby dodać dodatkowe podklucze do klucza PGP:" + +#. (itstool) path: item/p +#: C/subkeys-add.page:41 C/subkeys-examine.page:41 +msgid "If the Subkeys panel is not expanded, expand it." +msgstr "Jeśli panel Podklucze jest zwinięty, rozwiń go." + +#. (itstool) path: item/p +#: C/subkeys-add.page:44 +msgid "Click the Add button to add a new subkey." +msgstr "" +"Kliknij przycisk Dodaj, aby dodać nowy podklucz." + +#. (itstool) path: item/p +#: C/subkeys-add.page:48 +msgid "" +"Choose the right properties for your key by selecting the appropriate " +"Key Type, Key Length and Expiration Date " +"and click OK." +msgstr "" +"Wybierz właściwe właściwości dla klucza wybierając odpowiedni Typ " +"klucza, Długość kluczaDatę wygaśnięcia, " +"i kliknij przycisk OK." + +#. (itstool) path: note/p +#: C/subkeys-add.page:55 +msgid "" +"Always ensure that your subkey expires before your master key since a subkey " +"is useless when its master key has expired." +msgstr "" +"Zawsze upewniaj się, że podklucz wygasa przed głównym kluczem, jako że " +"podklucz jest bezużyteczny, jeśli jego główny klucz wygasł." + +#. (itstool) path: info/desc +#: C/subkeys-examine.page:20 +msgid "See all the subkeys listed under a PGP key." +msgstr "Wyświetlanie wszystkich podkluczy klucza PGP." + +#. (itstool) path: page/title +#: C/subkeys-examine.page:23 +msgid "Where are my subkeys listed?" +msgstr "Gdzie znajdę moje podklucze?" + +#. (itstool) path: page/p +#: C/subkeys-examine.page:25 +msgid "" +"You can check the contents of a keypair to see the properties of a subkey." +msgstr "" +"Można sprawdzić zawartość pary kluczy, aby wyświetlić właściwości podklucza." + +#. (itstool) path: steps/title +#: C/subkeys-examine.page:29 +msgid "To see all the subkeys in a PGP key:" +msgstr "Aby wyświetlić wszystkie podklucze w kluczu PGP:" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:31 +msgid "Select the GnuPG keys from the left side panel." +msgstr "Wybierz Klucze GnuPG z panelu po lewej stronie." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:34 +msgid "Select the Personal PGP key." +msgstr "Wybierz Osobisty klucz PGP." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:37 +msgid "" +"Right click on the key chosen in the previous step and select " +"PropertiesDetails." +msgstr "" +"Kliknij klucz wybrany w poprzednim kroku prawym przyciskiem myszy i wybierz " +"WłaściwościSzczegóły." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:44 +msgid "All the subkeys for the selected PGP key will be listed in the panel." +msgstr "Wszystkie podklucze wybranego klucza PGP będą wyświetlone w panelu." + +#. (itstool) path: note/p +#: C/subkeys-examine.page:50 +msgid "" +"While signing another key, Passwords and Keys automatically " +"chooses the master key for signing, when you select a GnuPG keys " +"keypair to sign with." +msgstr "" +"Podczas podpisywania innego klucza program Hasła i klucze " +"automatycznie wybiera główny klucz po wybraniu pary kluczy GnuPG, " +"za pomocą której podpisać." + +#. (itstool) path: info/desc +#: C/subkeys-revoke.page:20 +msgid "Revoke a subkey that has been compromised or is not being used." +msgstr "Unieważnianie podklucza, który został ujawniony lub nie jest używany." + +#. (itstool) path: page/title +#: C/subkeys-revoke.page:24 +msgid "Revoke your subkeys" +msgstr "Unieważnianie podkluczy" + +#. (itstool) path: page/p +#: C/subkeys-revoke.page:26 +msgid "" +"If your subkey has been compromised or is no longer in use, it might be a " +"good idea to revoke it to prevent misuse of the key." +msgstr "" +"Jeśli podklucz został ujawniony lub nie jest już używany, to dobrze jest go " +"unieważnić, aby uniknąć jego nadużycia." + +#. (itstool) path: steps/title +#: C/subkeys-revoke.page:30 +msgid "To revoke a subkey:" +msgstr "Aby unieważnić podklucz:" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:32 +msgid "" +"Navigate to the Subkeys " +"panel." +msgstr "" +"Przejdź do panelu Podklucze." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:47 +msgid "" +"Select the subkey from the list and press the Revoke button." +msgstr "" +"Wybierz podklucz z listy i kliknij przycisk Unieważnij." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:51 +msgid "" +"In the new dialog, select a reason for revoking the key. Optionally, " +"describe your reason in more detail in the Description field." +msgstr "" +"W nowym oknie wybierz przyczynę unieważnienia klucza. Opcjonalnie bardziej " +"szczegółowo opisz przyczynę w polu Opis." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:56 +msgid "Press the Revoke button." +msgstr "Kliknij przycisk Unieważnij." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:59 +msgid "You will have to unlock the key with its passphrase." +msgstr "Będzie trzeba odblokować klucz za pomocą jego hasła." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:62 +msgid "" +"The Status of the subkey changes to Revoked in the " +"Subkeys panel." +msgstr "" +"Stan podklucza zmieni się na Unieważniony w panelu " +"Podklucze." + +#. (itstool) path: note/p +#: C/subkeys-revoke.page:68 +msgid "" +"If you have published your subkey, you " +"must synchronize it with the key servers " +"after revoking it to apply the revocation on all copies of the key." +msgstr "" +"Jeśli opublikowano podklucz, to należy " +"zsynchronizować go z serwerami kluczy po " +"unieważnieniu, aby zastosować unieważnienie na wszystkich kopiach klucza." diff --git a/help/pt_BR/pt_BR.po b/help/pt_BR/pt_BR.po new file mode 100644 index 00000000..1e43f6dc --- /dev/null +++ b/help/pt_BR/pt_BR.po @@ -0,0 +1,3361 @@ +# Brazilian Portuguese translation for seahorse. +# Copyright (C) 2020 seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# Rafael Fontenelle , 2018-2019. +# Fábio Nogueira , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"POT-Creation-Date: 2020-02-19 06:50+0000\n" +"PO-Revision-Date: 2020-02-19 13:32-0300\n" +"Last-Translator: Fábio Nogueira \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Poedit 2.3\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "" +"Rafael Fontenelle , 2018, 2019\n" +"Fábio Nogueira , 2020" + +#. (itstool) path: credit/name +#: C/about-diff-private-public.page:14 C/about-ssh.page:13 C/concepts.page:14 +#: C/index.page:14 C/introduction.page:15 C/keyring-create.page:26 +#: C/keyring.page:15 C/pgp-create.page:16 C/pgp-import.page:21 +#: C/ssh-connect-remote.page:14 C/ssh-create.page:16 C/ssh-import.page:20 +msgid "Jim Campbell" +msgstr "Jim Campbell" + +#. (itstool) path: credit/years +#: C/about-diff-private-public.page:16 C/about-pgp.page:17 C/about-ssh.page:15 +#: C/glossary.page:17 C/index.page:16 C/index.page:21 C/index.page:26 +#: C/introduction.page:17 C/introduction.page:23 C/key-servers-add.page:19 +#: C/keyring-change-default.page:16 C/keyring-create.page:18 +#: C/keyring-create.page:23 C/keyring-lock.page:17 C/keyring-unlock.page:17 +#: C/keyring-update-password.page:17 C/keyring.page:17 C/keyring.page:22 +#: C/keyring.page:27 C/misc-key-backup.page:17 C/misc-key-fingerprint.page:16 +#: C/passwords-stored-create.page:16 C/passwords-view.page:18 +#: C/pgp-create.page:18 C/pgp-create.page:24 C/pgp-delete.page:17 +#: C/pgp-expiration-change.page:16 C/pgp-expired.page:17 C/pgp-export.page:16 +#: C/pgp-import.page:18 C/pgp-import.page:23 C/pgp-photoid.page:17 +#: C/pgp-publish.page:17 C/pgp-retrieve-remote.page:17 C/pgp-sign.page:16 +#: C/pgp-subkeys.page:16 C/pgp-sync.page:17 C/pgp-userid-add.page:17 +#: C/pgp-userid-primary.page:16 C/pgp-userid-remove.page:17 +#: C/pgp-userid.page:16 C/ssh-create.page:18 C/ssh-export.page:17 +#: C/ssh-import.page:17 C/ssh-import.page:22 C/subkeys-add.page:17 +#: C/subkeys-examine.page:17 C/subkeys-revoke.page:17 +msgid "2013" +msgstr "2013" + +#. (itstool) path: info/desc +#: C/about-diff-private-public.page:19 +msgid "" +"A public key is used to encrypt communication. A private key is used to " +"decrypt it." +msgstr "" +"Uma chave pública é usada para criptografar a comunicação. Uma chave privada " +"é usada para descriptografá-lo." + +#. (itstool) path: page/title +#: C/about-diff-private-public.page:23 +msgid "Public Key vs Private Key" +msgstr "Chave pública versus chave privada" + +#. (itstool) path: page/p +#: C/about-diff-private-public.page:25 +msgid "" +"Although Public Keys and Private Keys are both referred to " +"as keys, it helps to think of them a bit differently. Try to think " +"of a Public Key as being like a padlock, and a Private Key " +"as being like a key that unlocks the padlock." +msgstr "" +"Embora chaves públicas e chaves privadas sejam chamadas de " +"chaves, é útil pensar nelas de maneira um pouco diferente. Tente " +"pensar em uma chave pública como sendo um cadeado e uma chave " +"privada como sendo uma chave que destranca o cadeado." + +#. (itstool) path: section/title +#: C/about-diff-private-public.page:31 +msgid "An Example: Sending a Secret Message in a Box" +msgstr "Um exemplo: Enviar uma mensagem secreta em uma caixa" + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:33 +msgid "" +"Let's use an example to see how this works. Imagine that you want your " +"friend to send you a secret message in a box. You could give your friend a " +"box and a padlock, but only you would have the key that unlocks the padlock." +msgstr "" +"Vamos usar um exemplo para ver como isso funciona. Imagine que você quer que " +"seu amigo lhe envie uma mensagem secreta em uma caixa. Você poderia dar ao " +"seu amigo uma caixa e um cadeado, mas só você teria a chave que destranca o " +"cadeado." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:38 +msgid "" +"Your friend could put their message in the box, lock the padlock, and then " +"send you the locked box in the mail. When you receive it, you would use your " +"key to unlock the box." +msgstr "" +"Seu amigo pode colocar a mensagem dele na caixa, trancar o cadeado e enviar " +"a caixa trancada pelo correio. Quando você recebê-lo, você usaria sua chave " +"para destrancar a caixa." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:42 +msgid "" +"This is similar to how a Public Key and a Private Key " +"work. Like the padlock, you can freely give out your Public Key. " +"This will make it easy for anyone to securely encrypt, or lock, a message " +"that they want to send to you." +msgstr "" +"Isso é semelhante à forma como uma chave pública e uma chave " +"privada funcionam. Como o cadeado, você pode distribuir livremente sua " +"chave pública. Isso tornará mais fácil para qualquer pessoa " +"criptografar, ou trancar, com segurança uma mensagem que deseja enviar para " +"você." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:47 +msgid "" +"On the other hand, a Private Key is like the key that allows you to " +"decrypt, or unlock, the padlock. Because the Private Key is used to " +"decrypt secure messages, you will want to keep your Private Key " +"safe." +msgstr "" +"Por outro lado, uma chave privada é como a chave que permite " +"descriptografar, ou destrancar, o cadeado. Como a chave privada é " +"usada para descriptografar mensagens seguras, você deve manter sua chave " +"privada segura." + +#. (itstool) path: credit/name +#: C/about-pgp.page:15 C/glossary.page:15 C/index.page:19 +#: C/introduction.page:21 C/key-servers-add.page:17 +#: C/keyring-change-default.page:14 C/keyring-create.page:16 +#: C/keyring-lock.page:15 C/keyring-unlock.page:15 +#: C/keyring-update-password.page:15 C/keyring.page:20 +#: C/misc-key-backup.page:15 C/misc-key-fingerprint.page:14 +#: C/passwords-stored-create.page:14 C/passwords-view.page:16 +#: C/pgp-create.page:22 C/pgp-delete.page:15 C/pgp-expiration-change.page:14 +#: C/pgp-expired.page:15 C/pgp-export.page:14 C/pgp-import.page:16 +#: C/pgp-photoid.page:15 C/pgp-sign.page:14 C/pgp-subkeys.page:14 +#: C/pgp-sync.page:15 C/pgp-userid-add.page:15 C/pgp-userid-primary.page:14 +#: C/pgp-userid-remove.page:15 C/pgp-userid.page:14 +#: C/ssh-connect-remote.page:19 C/ssh-export.page:15 C/ssh-import.page:15 +#: C/subkeys-add.page:15 C/subkeys-examine.page:15 C/subkeys-revoke.page:15 +msgid "Aruna Sankaranarayanan" +msgstr "Aruna Sankaranarayanan" + +#. (itstool) path: info/desc +#: C/about-pgp.page:20 +msgid "PGP keys are used to sign and encrypt emails and files." +msgstr "" +"As chaves PGP são usadas para assinar e criptografar e-mails e arquivos." + +#. (itstool) path: page/title +#: C/about-pgp.page:23 +msgid "What is a PGP key?" +msgstr "O que é uma chave PGP?" + +#. (itstool) path: page/p +#: C/about-pgp.page:25 +msgid "" +"A PGP key is a public encryption key. A PGP key can be used to sign and " +"encrypt emails and files. When you create a PGP key, a keypair having a " +"public key and a private key is generated. You can share the public key with " +"anyone who wishes to send you encrypted messages or files, but the private " +"key must be known only to you and used to decrypt received messages." +msgstr "" +"Uma chave PGP é uma chave de criptografia pública. Uma chave PGP pode ser " +"usada para assinar e criptografar e-mails e arquivos. Quando você cria uma " +"chave PGP, um par de chaves com uma chave pública e uma chave privada é " +"gerado. Você pode compartilhar a chave pública com qualquer pessoa que " +"deseje enviar mensagens ou arquivos criptografados, mas a chave privada deve " +"ser conhecida apenas por você e usada para descriptografar as mensagens " +"recebidas." + +#. (itstool) path: section/title +#: C/about-pgp.page:32 +msgid "Encrypt and sign data using PGP keys" +msgstr "Criptografar e assinar dados usando chaves PGP" + +#. (itstool) path: section/p +#: C/about-pgp.page:34 +msgid "" +"Passwords and Keys is a key management application. Though it " +"cannot be used to encrypt or sign files and messages, you can use it to " +"sign trustworthy keys." +msgstr "" +"O Senhas e chaves é um aplicativo de gerenciamento de chaves. " +"Embora ele não possa ser usado para criptografar ou assinar arquivos e " +"mensagens, você pode usá-lo para assinar " +"chaves confiáveis." + +#. (itstool) path: section/p +#: C/about-pgp.page:38 +msgid "" +"To secure your communication, you can use email clients like Evolution that provide encryption and signing services." +msgstr "" +"Para proteger sua comunicação, você pode usar clientes de e-mail como o " +"Evolution que fornecem serviços de criptografia e assinatura." + +#. (itstool) path: info/desc +#: C/about-ssh.page:18 +msgid "" +"SSH keys are used to login to a remote computer, once a secure connection " +"has been established." +msgstr "" +"As chaves SSH são usadas para acessar um computador remoto, depois que uma " +"conexão segura é estabelecida." + +#. (itstool) path: page/title +#: C/about-ssh.page:22 +msgid "What is a Secure Shell key?" +msgstr "O que é uma chave de Shell Seguro?" + +#. (itstool) path: page/p +#: C/about-ssh.page:24 +msgid "" +"A Secure Shell key, often just called an SSH key, helps " +"you create a secure connection over an unsecured network." +msgstr "" +"Uma chave de Shell Segura (em inglês, Secure Shell), muitas vezes " +"chamada apenas de chave SSH, ajuda você a criar uma conexão segura " +"em uma rede desprotegida." + +#. (itstool) path: list/title +#: C/about-ssh.page:28 +msgid "An SSH key actually consists of two parts:" +msgstr "Uma chave SSH, na verdade, consiste em duas partes:" + +#. (itstool) path: item/p +#: C/about-ssh.page:29 +msgid "A public key, which is widely available." +msgstr "Uma chave pública, que está amplamente disponível." + +#. (itstool) path: item/p +#: C/about-ssh.page:30 +msgid "" +"A private key, which is kept secret. The private key is used to unlock " +"messages encrypted with a corresponding public key." +msgstr "" +"Uma chave privada, que é mantida em segredo. A chave privada é usada para " +"desbloquear mensagens criptografadas com uma chave pública correspondente." + +#. (itstool) path: page/p +#: C/about-ssh.page:34 +msgid "" +"The advantage of using an SSH key to create a connection between " +"computers is that only the Public key needs to be sent over the " +"network. Transmissions encrypted with a Public key can only be " +"decoded by unlocking them with the corresponding Private key and a " +"password. Because only the public key is sent over the network, the key's " +"password is kept secret." +msgstr "" +"A vantagem de usar uma chave SSH para criar uma conexão entre " +"computadores é que somente a chave pública precisa ser enviada pela " +"rede. As transmissões criptografadas com uma chave pública só podem " +"ser decodificadas ao serem desbloqueadas com a chave privada e uma " +"senha. Como somente a chave pública é enviada pela rede, a senha da chave é " +"mantida em segredo." + +#. (itstool) path: credit/years +#: C/concepts.page:16 C/key-servers-add.page:24 C/keyring-create.page:28 +#: C/misc-key-backup.page:23 C/passwords-view.page:24 C/pgp-create.page:30 +#: C/pgp-delete.page:23 C/ssh-create.page:23 C/ssh-create.page:28 +msgid "2014" +msgstr "2014" + +#. (itstool) path: info/desc +#: C/concepts.page:19 +msgid "" +"Learn terms and concepts that are relevant to managing passwords and keys." +msgstr "" +"Aprenda termos e conceitos relevantes para o gerenciamento de senhas e " +"chaves." + +#. (itstool) path: page/title +#: C/concepts.page:23 +msgid "Key Concepts and Terms" +msgstr "Conceitos e termos principais" + +#. (itstool) path: info/desc +#: C/glossary.page:20 +msgid "A list of basic terms used." +msgstr "Uma lista de termos básicos usados." + +#. (itstool) path: page/title +#: C/glossary.page:23 +msgid "Glossary" +msgstr "Glossário" + +#. (itstool) path: page/p +#: C/glossary.page:25 +msgid "" +"Passwords and Keys helps you to generate and manage tokens that " +"can be used to protect your files and communication. Here are some basic " +"terms that you will encounter while reading this help:" +msgstr "" +"O Senhas e chaves ajuda você a gerar e gerenciar tokens que podem " +"ser usados para proteger seus arquivos e comunicação. Aqui estão alguns " +"termos básicos que você encontrará ao ler esta ajuda:" + +#. (itstool) path: item/title +#: C/glossary.page:31 +msgid "Encryption" +msgstr "Criptografia" + +#. (itstool) path: item/p +#: C/glossary.page:32 +msgid "" +"Encryption is the process of making your important files and data unreadable " +"to anyone but the intended recipient. When you encrypt your data, it becomes " +"a scrambled sequence of numbers and letters. Encryption is done by someone " +"who is sending a protected file, or sending a message in a protected " +"conversation." +msgstr "" +"Criptografia é o processo de tornar seus arquivos e dados importantes " +"ilegíveis para qualquer pessoa, exceto o destinatário pretendido. Quando " +"você criptografa seus dados, torna-se uma sequência embaralhada de números e " +"letras. A criptografia é feita por alguém que está enviando um arquivo " +"protegido ou enviando uma mensagem em uma conversa protegida." + +#. (itstool) path: item/title +#: C/glossary.page:39 +msgid "Algorithm" +msgstr "Algoritmo" + +#. (itstool) path: item/p +#: C/glossary.page:40 +msgid "" +"An algorithm is a sequence of steps used to encrypt or decrypt your data." +msgstr "" +"Um algoritmo é uma sequência de etapas usada para criptografar ou " +"descriptografar seus dados." + +#. (itstool) path: item/title +#: C/glossary.page:44 +msgid "Decryption" +msgstr "Descriptografia" + +#. (itstool) path: item/p +#: C/glossary.page:45 +msgid "" +"Decryption is the process of retrieving the original text from the encrypted " +"message or file. It is done by the receiver of the protected file or " +"communication. Encrypted messages cannot be understood without decrypting " +"them first." +msgstr "" +"Descriptografia é o processo de recuperar o texto original da mensagem ou " +"arquivo criptografado. Isso é feito pelo receptor do arquivo protegido ou " +"comunicação. Mensagens criptografadas não podem ser entendidas sem " +"descriptografá-las primeiro." + +#. (itstool) path: item/title +#: C/glossary.page:51 +msgid "Plaintext" +msgstr "Texto simples" + +#. (itstool) path: item/p +#: C/glossary.page:52 +msgid "" +"Any data or file that is not encrypted, and can therefore be read by anyone " +"who can access it, is called plaintext." +msgstr "" +"Qualquer dado ou arquivo que não seja criptografado e, portanto, pode ser " +"lido por qualquer pessoa que possa acessá-lo, é chamado de texto simples." + +#. (itstool) path: item/title +#: C/glossary.page:56 +msgid "Key" +msgstr "Chave" + +#. (itstool) path: item/p +#: C/glossary.page:57 +msgid "" +"A key is used to encrypt and decrypt files and communication. A key may also " +"be used to login to a remote computer. Some types of keys are PGP keys and SSH " +"keys." +msgstr "" +"Uma chave é usada para criptografar e descriptografar arquivos e " +"comunicação. Uma chave também pode ser usada para acessar um computador " +"remoto. Alguns tipos de chaves são chaves PGP e chaves SSH." + +#. (itstool) path: item/title +#: C/glossary.page:63 +msgid "Keyring" +msgstr "Chaveiro" + +#. (itstool) path: item/p +#: C/glossary.page:64 +msgid "A keyring is a collection of passwords or keys." +msgstr "Um chaveiro é uma coleção de senhas ou chaves." + +#. (itstool) path: info/title +#: C/index.page:8 +msgctxt "link" +msgid "Passwords and Keys" +msgstr "Senhas e chaves" + +#. (itstool) path: info/title +#: C/index.page:9 +msgctxt "text" +msgid "Passwords and Keys" +msgstr "Senhas e chaves" + +#. (itstool) path: credit/name +#: C/index.page:24 C/keyring-create.page:21 C/keyring.page:25 +#: C/ssh-create.page:26 +msgid "Ekaterina Gerasimova" +msgstr "Ekaterina Gerasimova" + +#. (itstool) path: info/desc +#: C/index.page:31 +msgid "" +"Use Passwords and Keys to remember your passwords, and to create " +"and manage PGP and SSH keys." +msgstr "" +"Use Senhas e chaves para lembrar suas senhas e para criar e " +"gerenciar chaves PGP e SSH." + +#. (itstool) path: page/title +#: C/index.page:34 +msgid "<_:media-1/> Passwords and Keys" +msgstr "<_:media-1/> Senhas e chaves" + +#. (itstool) path: section/title +#: C/index.page:40 +msgid "SSH Keys" +msgstr "Chaves SSH" + +#. (itstool) path: section/title +#: C/index.page:45 +msgid "PGP keys" +msgstr "Chaves PGP" + +#. (itstool) path: section/title +#: C/index.page:50 +msgid "Stored passwords and password keyrings" +msgstr "Senhas armazenadas e chaveiros de senhas" + +#. (itstool) path: info/desc +#: C/introduction.page:26 +msgid "" +"Use Passwords and Keys to create and manage PGP and SSH keys and " +"to save passwords that are difficult to remember." +msgstr "" +"Use Senhas e chaves para criar e gerenciar chaves PGP e SSH e " +"para salvar senhas que são difíceis de lembrar." + +#. (itstool) path: page/title +#: C/introduction.page:30 +msgid "Introduction" +msgstr "Introdução" + +#. (itstool) path: page/p +#: C/introduction.page:32 +msgid "" +"Welcome to the Passwords and Keys help guide. Passwords and " +"Keys creates and stores security tokens, helping to keep your " +"information secure on your computer, and secure when you send information " +"over a network." +msgstr "" +"Bem-vindo ao guia de ajuda do Senhas e chaves. Senhas e " +"chaves cria e armazena tokens de segurança, ajudando a manter suas " +"informações seguras em seu computador e protegidas quando você envia " +"informações pela rede." + +#. (itstool) path: page/p +#: C/introduction.page:36 +msgid "Using Passwords and Keys, you can:" +msgstr "Usando o Senhas e chaves, você pode:" + +#. (itstool) path: item/p +#: C/introduction.page:40 +msgid "" +"Copy and save passwords that " +"are difficult to remember. To group related passwords, create keyrings." +msgstr "" +"Copiar e salvar senhas " +"difíceis de lembrar. Para agrupar senhas relacionadas, crie chaveiros." + +#. (itstool) path: item/p +#: C/introduction.page:45 +msgid "" +"Create and manage PGP keys." +msgstr "" +"Criar e gerenciar chaves PGP." + +#. (itstool) path: item/p +#: C/introduction.page:49 +msgid "" +"Create and manage SSH keys." +msgstr "" +"Criar e gerenciar chaves SSH." + +#. (itstool) path: credit/name +#: C/key-servers-add.page:22 C/misc-key-backup.page:21 C/passwords-view.page:22 +#: C/pgp-create.page:28 C/pgp-delete.page:21 C/ssh-create.page:21 +msgid "Hashem Nasarat" +msgstr "Hashem Nasarat" + +#. (itstool) path: credit/name +#: C/key-servers-add.page:27 C/passwords-view.page:28 +msgid "Andre Klapper" +msgstr "Andre Klapper" + +#. (itstool) path: credit/years +#: C/key-servers-add.page:29 C/passwords-view.page:30 +msgid "2020" +msgstr "2020" + +#. (itstool) path: info/desc +#: C/key-servers-add.page:32 +msgid "" +"Make additions to the list of keyservers in Passwords and Keys" +msgstr "" +"Faça adições à lista de servidores de chaves em Senhas e chaves" + +#. (itstool) path: page/title +#: C/key-servers-add.page:36 +msgid "Add a keyserver" +msgstr "Adicionando um servidor de chaves" + +#. (itstool) path: page/p +#: C/key-servers-add.page:37 +msgid "" +"Passwords and Keys have the following keyservers listed by " +"default:" +msgstr "" +"Senhas e chaves possui os seguintes servidores de chaves listados " +"por padrão:" + +#. (itstool) path: item/p +#: C/key-servers-add.page:41 +msgid "ldap://keyserver.pgp.com" +msgstr "ldap://keyserver.pgp.com" + +#. (itstool) path: steps/title +#: C/key-servers-add.page:46 +msgid "To add a keyserver" +msgstr "Para adicionar um servidor de chaves" + +#. (itstool) path: item/p +#: C/key-servers-add.page:48 +msgid "" +"Press the menu button in the top-right corner of the window and select Preferences." +msgstr "" +"Pressione o botão de menu no canto superior direito da janela e selecione " +"Preferências." + +#. (itstool) path: item/p +#: C/key-servers-add.page:52 +msgid "Select the Key Servers tab." +msgstr "Selecione a aba Servidores de chaves." + +#. (itstool) path: item/p +#: C/key-servers-add.page:55 +msgid "Press the Add button." +msgstr "Pressione o botão Adicionar." + +#. (itstool) path: item/p +#: C/key-servers-add.page:58 +msgid "" +"In the new dialog, select the appropriate Key Server Type. Key " +"servers are identified by the protocol they use to communicate. Look for the " +"first few letters in the Internet URL of your key server to identify its " +"type." +msgstr "" +"Na nova caixa de diálogo, selecione o Tipo de servidor de chaves " +"apropriado. Os servidores de chaves são identificados pelo protocolo que " +"eles usam para se comunicar. Procure as primeiras letras no URL de Internet " +"do seu servidor principal para identificar seu tipo." + +#. (itstool) path: item/p +#: C/key-servers-add.page:64 +msgid "" +"In the Host field, paste the Internet URL of your " +"key server. Consult the documentation for the key server you're adding to " +"see if it operates on a non-standard port. If so, enter the port after the " +"':'. If you're unsure, leave the text box after the ':' blank." +msgstr "" +"No campo Servidor, cole o URL de Internet do seu " +"servidor de chaves. Consulte a documentação do servidor de chaves que você " +"está adicionando para ver se ele opera em uma porta não padrão. Em caso " +"afirmativo, insira a porta após o “:”. Se não tiver certeza, deixe a caixa " +"de texto após o “:” em branco." + +#. (itstool) path: item/p +#: C/key-servers-add.page:71 +msgid "Press Save to finish." +msgstr "Pressione Salvar para finalizar." + +#. (itstool) path: info/desc +#: C/keyring-change-default.page:19 +msgid "Save new passwords to a different keyring by default." +msgstr "Salve novas senhas em um chaveiro diferente por padrão." + +#. (itstool) path: page/title +#: C/keyring-change-default.page:22 +msgid "Change the default keyring" +msgstr "Alterando o chaveiro padrão" + +#. (itstool) path: page/p +#: C/keyring-change-default.page:24 +msgid "" +"When you add a new password, " +"it is normally added to the default keyring. If you want to add it to a " +"different keyring, you can choose another one while adding the new password, " +"but you can also change the default keyring. The default keyring is normally " +"the Login keyring." +msgstr "" +"Quando você adiciona uma nova senha, ela normalmente é adicionada ao chaveiro padrão. Se você quiser " +"adicioná-la a um chaveiro diferente, poderá escolher outro ao adicionar a " +"nova senha, mas também poderá alterar o chaveiro padrão. O chaveiro padrão é " +"normalmente o chaveiro Login." + +#. (itstool) path: steps/title +#: C/keyring-change-default.page:32 +msgid "To change the default keyring:" +msgstr "Para alterar o chaveiro padrão:" + +#. (itstool) path: item/p +#: C/keyring-change-default.page:34 +msgid "" +"Select your choice for the default keyring from the list of keyrings under " +"Passwords on the left side panel." +msgstr "" +"Selecione sua escolha para o chaveiro padrão da lista de chaveiros sob " +"Senhas no painel lateral." + +#. (itstool) path: item/p +#: C/keyring-change-default.page:38 +msgid "" +"Right click on the selected keyring and select Set as default." +msgstr "" +"Clique com o botão direito no chaveiro selecionado e selecione Definir " +"como padrão." + +#. (itstool) path: note/p +#: C/keyring-change-default.page:44 +msgid "" +"Passwords to some GNOME applications are stored automatically by " +"Passwords and Keys in the Login keyring because it is " +"the default keyring. When you change the default keyring, any new passwords " +"created for GNOME applications will be stored in the new default keyring " +"while GNOME application passwords created before the change will remain in " +"the Login keyring." +msgstr "" +"As senhas para alguns aplicativos do GNOME são armazenadas automaticamente " +"por Senhas e chaves no chaveiro Login porque é o " +"chaveiro padrão. Quando você altera o chaveiro padrão, qualquer nova senha " +"criada para os aplicativos GNOME será armazenada no novo chaveiro padrão, " +"enquanto as senhas do aplicativo GNOME criadas antes da alteração " +"permanecerão no chaveiro Login." + +#. (itstool) path: info/desc +#: C/keyring-create.page:31 +msgid "Use password keyrings to group stored passwords." +msgstr "Use chaveiros de senhas para agrupar senhas armazenadas." + +#. (itstool) path: page/title +#: C/keyring-create.page:34 +msgid "Create a new keyring" +msgstr "Criando um novo chaveiro" + +#. (itstool) path: page/p +#: C/keyring-create.page:36 +msgid "" +"Use keyrings to group related passwords. You " +"can choose to protect your keyring with a password." +msgstr "" +"Use chaveiros para agrupar senhas " +"relacionadas. Você pode optar por proteger seu chaveiro com uma senha." + +#. (itstool) path: steps/title +#: C/keyring-create.page:40 +msgid "Create a new password keyring:" +msgstr "Criando um novo chaveiro de senha:" + +#. (itstool) path: item/p +#: C/keyring-create.page:42 C/passwords-stored-create.page:32 +#: C/pgp-create.page:42 C/pgp-import.page:39 C/ssh-create.page:41 +#: C/ssh-import.page:39 +msgid "" +"Press the + button in the top-left corner of the " +"window." +msgstr "" +"Pressione o botão + na canto superior esquerdo " +"da janela." + +#. (itstool) path: item/p +#: C/keyring-create.page:45 +msgid "Select Password Keyring from the list." +msgstr "Selecione Chaveiro de senhas da lista." + +#. (itstool) path: item/p +#: C/keyring-create.page:48 +msgid "" +"Choose a name for your new keyring, then press Add to continue." +msgstr "" +"Escolha um nome para o seu novo chaveiro e pressione Adicionar para continuar." + +#. (itstool) path: item/p +#: C/keyring-create.page:53 +msgid "" +"To password protect your keyring, choose a password, and retype it to " +"confirm your choice. Leave both the fields blank if you want your keyring to " +"remain unlocked at all times." +msgstr "" +"Para proteger seu chaveiro com senha, escolha uma senha e redigite-a para " +"confirmar sua escolha. Deixe ambos os campos em branco se quiser que seu " +"chaveiro permaneça sempre desbloqueado." + +#. (itstool) path: item/p +#: C/keyring-create.page:61 +msgid "" +"Press Continue to finish creating the keyring. " +"If you have not protected your keyring with a password, you will need to " +"confirm that this is how you want to proceed." +msgstr "" +"Pressione Continuar para terminar de criar o " +"chaveiro. Se você não protegeu seu chaveiro com uma senha, você precisará " +"confirmar que é assim que você deseja prosseguir." + +#. (itstool) path: page/p +#: C/keyring-create.page:67 +msgid "Your new keyring will now be listed under Passwords." +msgstr "Seu novo chaveiro será agora listado em Senhas." + +#. (itstool) path: info/desc +#: C/keyring-lock.page:20 +msgid "" +"Lock and password protect your password keyrings to control access to the " +"passwords stored in them." +msgstr "" +"Bloqueie e proteja com senha os seus chaveiros de senhas para controlar o " +"acesso às senhas armazenadas neles." + +#. (itstool) path: page/title +#: C/keyring-lock.page:24 +msgid "Lock your keyrings" +msgstr "Bloqueando seus chaveiros" + +#. (itstool) path: page/p +#: C/keyring-lock.page:26 +msgid "" +"To safe-keep your passwords, store them in a password-protected keyring. " +"When a password-protected keyring is locked, the passwords in it are kept " +"hidden till someone unlocks the keyring " +"with the correct password." +msgstr "" +"Para manter suas senhas com segurança, armazene-as em um chaveiro protegido " +"por senha. Quando um chaveiro protegido por senha é bloqueado, as senhas " +"nele são mantidas ocultas até que alguém desbloqueie o chaveiro com a senha correta." + +#. (itstool) path: note/p +#: C/keyring-lock.page:32 +msgid "" +"You can choose to protect your keyring with a password while creating it." +msgstr "" +"Você pode optar por proteger o seu chaveiro com uma senha ao criá-lo." + +#. (itstool) path: steps/title +#: C/keyring-lock.page:37 +msgid "To lock your password keyring:" +msgstr "Para bloquear seu chaveiro de senhas:" + +#. (itstool) path: item/p +#: C/keyring-lock.page:39 +msgid "" +"From the list of keyrings under Passwords on the left side panel, " +"select the keyring to be locked." +msgstr "" +"A partir da lista de chaveiros sob Senhas no painel lateral " +"esquerdo, selecione o chaveiro a ser bloqueado." + +#. (itstool) path: item/p +#: C/keyring-lock.page:43 +msgid "" +"Right click on the selected keyring and select Lock, or click on " +"the small picture of an opened lock next to the name of the password keyring." +msgstr "" +"Clique com o botão direito do mouse no chaveiro selecionado e selecione " +"Bloquear, ou clique na pequena figura de um cadeado aberto ao " +"lado do nome do chaveiro de senha." + +#. (itstool) path: info/desc +#: C/keyring-unlock.page:20 +msgid "To view passwords stored inside a locked keyring, unlock it." +msgstr "" +"Para visualizar as senhas armazenadas dentro de um chaveiro bloqueado, " +"desbloqueie-o." + +#. (itstool) path: page/title +#: C/keyring-unlock.page:23 +msgid "Unlock your keyrings" +msgstr "Desbloqueando seus chaveiros" + +#. (itstool) path: page/p +#: C/keyring-unlock.page:24 +msgid "" +"A keyring may often be locked to protect " +"the passwords it contains, similar to locking important things safely inside " +"a trunk. In order to look at your passwords, you must unlock the keyring " +"first." +msgstr "" +"Um chaveiro pode ser frequentemente bloqueado para proteger as senhas que ele contém, similar a bloquear coisas " +"importantes com segurança dentro de um tronco. Para ver suas senhas, você " +"deve desbloquear o chaveiro primeiro." + +#. (itstool) path: steps/title +#: C/keyring-unlock.page:30 +msgid "To unlock your keyring:" +msgstr "Para desbloquear seus chaveiros:" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:32 +msgid "" +"Select the keyring to be unlocked from the panel on your left. It is listed " +"under Passwords." +msgstr "" +"Selecione o chaveiro a ser desbloqueado no painel à sua esquerda. Está " +"listado em Senhas." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:36 +msgid "" +"Right click on the selected keyring and select Unlock from the " +"menu, or alternatively, click the small picture of a closed lock next to the " +"keyring name to unlock the keyring." +msgstr "" +"Clique com o botão direito do mouse no chaveiro selecionado e selecione " +"Desbloquear no menu ou, alternativamente, clique na pequena " +"figura de uma fechadura fechada ao lado do nome do chaveiro para desbloquear " +"o chaveiro." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:41 +msgid "" +"If the keyring is password-protected, you will be prompted for a password to " +"unlock the keyring. Enter the correct password in the Password " +"field and press Unlock to finish." +msgstr "" +"Se o chaveiro estiver protegido por senha, será solicitada uma senha para " +"desbloquear o chaveiro. Digite a senha correta no campo Senha e " +"pressione Desbloquear para finalizar." + +#. (itstool) path: note/p +#: C/keyring-unlock.page:49 +msgid "" +"You can choose to password-protect your keyrings while creating them." +msgstr "" +"Você pode optar por proteger seus chaveiros por senha ao criá-los." + +#. (itstool) path: info/desc +#: C/keyring-update-password.page:20 +msgid "" +"Keep updating the passwords to your keyrings to ensure that they are " +"protected well." +msgstr "" +"Continue atualizando as senhas para seus chaveiros para garantir que eles " +"estejam bem protegidos." + +#. (itstool) path: page/title +#: C/keyring-update-password.page:25 +msgid "Update the keyring password" +msgstr "Atualizando a senha de chaveiro" + +#. (itstool) path: page/p +#: C/keyring-update-password.page:27 +msgid "" +"The password to unlock your keyring can be " +"updated at any time." +msgstr "" +"A senha para desbloquear seu chaveiro pode ser " +"atualizada a qualquer momento." + +#. (itstool) path: steps/title +#: C/keyring-update-password.page:31 +msgid "To update the password for a password keyring:" +msgstr "Para atualizar a senha para um chaveiro de senhas:" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:33 +msgid "" +"Select the password keyring from the list, under Passwords, on " +"the left side panel." +msgstr "" +"Selecione o chaveiro de senhas da lista, em Senhas, no painel " +"lateral esquerdo." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:37 +msgid "" +"Right click on the selected password keyring and select Change " +"Password." +msgstr "" +"Clique com o botão direito no chaveiro selecionado e selecione Alterar " +"senha." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:41 +msgid "" +"Type your old password to authenticate yourself and press Continue." +msgstr "" +"Digite sua senha antiga para se autenticar e pressione Continuar." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:45 +msgid "" +"In the new dialog, type your new password, retype it to confirm the new " +"password and press the Continue button to finish." +msgstr "" +"Na nova caixa de diálogo, digite sua nova senha, digite-a novamente para " +"confirmar a nova senha e pressione o botão Continuar para finalizar." + +#. (itstool) path: info/desc +#: C/keyring.page:30 +msgid "A keyring is used to group related passwords and keys." +msgstr "Um chaveiro é usado para agrupar senhas e chaves relacionadas." + +#. (itstool) path: page/title +#: C/keyring.page:33 +msgid "What is a keyring?" +msgstr "O que é um chaveiro?" + +#. (itstool) path: page/p +#: C/keyring.page:35 +msgid "" +"Much like a keyring in real life allows you to keep certain sets of keys " +"together, a keyring in Passwords and Keys allows you to keep " +"passwords and keys in separate groups." +msgstr "" +"Assim como um chaveiro na vida real permite que você mantenha determinados " +"conjuntos de chaves juntos, um chaveiro no Senhas e chaves " +"permite que você mantenha senhas e chaves em grupos separados." + +#. (itstool) path: page/p +#: C/keyring.page:39 +msgid "" +"When you open Passwords and Keys for the first time, you will see " +"keys and password grouped together. In the Login keyring, you may " +"find stored passwords for GNOME applications such as Web, " +"Accounts etc. The Login keyring is the default keyring " +"in Passwords and keys." +msgstr "" +"Quando você abrir Senhas e chaves pela primeira vez, verá as " +"chaves e a senha agrupadas. No chaveiro Login, você pode " +"encontrar senhas armazenadas para aplicativos GNOME, como Web, " +"Contas etc. O chaveiro Login é o chaveiro padrão em " +"Senhas e chaves." + +#. (itstool) path: p/link +#: C/legal.xml:4 +msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" +msgstr "Creative Commons Atribuição-CompartilhaIgual 3.0 Não Adaptada" + +#. (itstool) path: license/p +#: C/legal.xml:3 +msgid "This work is licensed under a <_:link-1/>." +msgstr "Esta obra é licenciada sob uma licença <_:link-1/>." + +#. (itstool) path: info/desc +#: C/misc-key-backup.page:26 +msgid "Keep a copy of your keys in an external device." +msgstr "Mantenha uma cópia das suas chaves em um dispositivo externo." + +#. (itstool) path: page/title +#: C/misc-key-backup.page:29 +msgid "Securely back-up your keys" +msgstr "Fazendo backup seguro de suas chaves" + +#. (itstool) path: page/p +#: C/misc-key-backup.page:31 +msgid "" +"It is always advisable to save a copy of your keys on an external memory " +"device like a USB drive. The device should then be kept locked or stored " +"somewhere safe. This way you will always have a copy of the key if your " +"computer breaks or if the data on your computer is corrupted in some way." +msgstr "" +"É sempre aconselhável salvar uma cópia de suas chaves em um dispositivo de " +"memória externa, como uma unidade USB. O dispositivo deve então ser mantido " +"bloqueado ou armazenado em algum lugar seguro. Dessa forma, você sempre terá " +"uma cópia da chave se o computador quebrar ou se os dados do computador " +"estiverem corrompidos de alguma forma." + +#. (itstool) path: steps/title +#: C/misc-key-backup.page:37 +msgid "To back-up your keys:" +msgstr "Para fazer um backup de suas chaves:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:39 +msgid "Export your key files:" +msgstr "Exporte seus arquivos de chave:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:41 +msgid "Export your PGP keys." +msgstr "Exporte suas chaves PGP." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:42 +msgid "Export your SSH keys." +msgstr "Exporte suas chaves SSH." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:46 +msgid "Copy the exported files on an external disk." +msgstr "Copie os arquivos exportados em um disco externo." + +#. (itstool) path: info/desc +#: C/misc-key-fingerprint.page:19 +msgid "" +"The key fingerprint is a unique ID for each key, often used to verify the " +"ownership of a key" +msgstr "" +"A impressão digital da chave é uma ID exclusiva para cada chave, geralmente " +"usada para verificar a propriedade de uma chave" + +#. (itstool) path: page/title +#: C/misc-key-fingerprint.page:23 +msgid "What is a key fingerprint?" +msgstr "O que é um impressão digital?" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:25 +msgid "" +"The fingerprint of a key is a unique sequence of letters and numbers used to " +"identify the key. Just like the fingerprints of two different people, the " +"fingerprints of two different keys can never be identical. The fingerprint " +"is the best way to identify a particular key." +msgstr "" +"A impressão digital de uma chave é uma sequência única de letras e números " +"usada para identificar a chave. Assim como as impressões digitais de duas " +"pessoas diferentes, as impressões digitais de duas chaves diferentes nunca " +"podem ser idênticas. A impressão digital é a melhor maneira de identificar " +"uma chave específica." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:30 +msgid "" +"A key has several properties like the name and email of the key owner, key " +"type, key expiration date and so on. When you are searching for a public key " +"and you find multiple keys with the same properties, the only way to " +"identify the key you are looking for is to compare the fingerprints of the " +"two keys with the fingerprint of the key you require." +msgstr "" +"Uma chave tem várias propriedades, como o nome e o e-mail do proprietário da " +"chave, tipo de chave, data de expiração da chave e assim por diante. Quando " +"você está procurando por uma chave pública e encontra várias chaves com as " +"mesmas propriedades, a única maneira de identificar a chave que você está " +"procurando é comparar as impressões digitais das duas chaves com a impressão " +"digital da chave desejada." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:36 +msgid "" +"It is the fingerprint of a key that is verified when you try to login to a " +"remote computer using SSH. While " +"signing a PGP key, you must always " +"check the key fingerprint and verify the key owner's identity to ensure that " +"you are signing the correct key." +msgstr "" +"É a impressão digital de uma chave que é verificada quando você tenta fazer " +"login em um computador remoto usando SSH. Ao assinar uma chave PGP, você " +"deve sempre verificar a impressão digital da chave e verificar a identidade " +"do proprietário da chave para garantir que você está assinando a chave " +"correta." + +#. (itstool) path: section/title +#: C/misc-key-fingerprint.page:43 +msgid "Fingerprints on Passwords and Keys" +msgstr "Impressões digitais no Senhas e chaves" + +#. (itstool) path: section/p +#: C/misc-key-fingerprint.page:45 +msgid "" +"You can look at the fingerprint of a key on Passwords and Keys by " +"checking the properties of the key." +msgstr "" +"Você pode examinar a impressão digital de uma chave em Senhas e Chaves, verificando as propriedades da chave." + +#. (itstool) path: steps/title +#: C/misc-key-fingerprint.page:49 +msgid "To check the fingerprint of a key:" +msgstr "Para verificar a impressão digital de uma chave:" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:51 C/pgp-photoid.page:44 C/pgp-publish.page:36 +#: C/subkeys-add.page:31 +msgid "Select GnuPG keys from the left side panel." +msgstr "Selecione Chaves GnuPG do painel lateral esquerdo." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:54 C/pgp-expiration-change.page:31 +msgid "Select the PGP key from the list." +msgstr "Selecione a chave PGP da lista." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:57 +msgid "" +"Right click the key and select Properties." +msgstr "" +"Clique com o botão direito do mouse na chave e selecione Propriedades." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:61 C/pgp-expiration-change.page:37 +msgid "In the new dialog, select the Details tab." +msgstr "Na nova caixa de diálogo, selecione a aba Detalhes." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:64 +msgid "You can see the fingerprint of the key on the left hand side." +msgstr "Você pode ver a impressão digital da chave no lado esquerdo." + +#. (itstool) path: info/desc +#: C/passwords-stored-create.page:19 +msgid "Passwords and keys can remember your passwords for you." +msgstr "Senhas e chaves pode lembrar de suas senhas para você." + +#. (itstool) path: page/title +#: C/passwords-stored-create.page:23 +msgid "Store your passwords" +msgstr "Armazenando suas senhas" + +#. (itstool) path: page/p +#: C/passwords-stored-create.page:25 +msgid "" +"Passwords and Keys automatically stores passwords for certain " +"GNOME applications in the Login keyring. Additionally, you can " +"store any other password you want to remember." +msgstr "" +"Senhas e chaves armazena automaticamente senhas para determinados " +"aplicativos do GNOME no chaveiro Login. Além disso, você pode " +"armazenar qualquer outra senha que queira lembrar." + +#. (itstool) path: steps/title +#: C/passwords-stored-create.page:30 +msgid "To create a new stored password:" +msgstr "Para criar uma nova senha armazenada:" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:35 +msgid "Select Password from the list." +msgstr "Selecione Senha da lista." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:38 +msgid "" +"Select the password keyring in which you want to store your password from " +"the Keyring menu." +msgstr "" +"Selecione o chaveiro de senhas no qual você deseja armazenar sua senha no " +"menu Chaveiro." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:42 +msgid "" +"You can add additional information about the password in the " +"Description field, like the date of creation, or the name of the " +"application it protects, etc." +msgstr "" +"Você pode adicionar informações adicionais sobre a senha no campo " +"Descrição, como a data de criação ou o nome do aplicativo " +"protegido, etc." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:47 +msgid "" +"Type the password in the Password field. You can tick the Show password checkbox if you want to see the " +"password text while typing it out." +msgstr "" +"Digite a senha no campo Senha. Você pode marcar a caixa de " +"seleção Mostrar senha se quiser ver o texto da " +"senha ao digitá-lo." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:52 +msgid "Press the Add button to finish." +msgstr "" +"Pressione o botão Adicionar para finalizar." + +#. (itstool) path: note/p +#: C/passwords-stored-create.page:57 +msgid "" +"The default keyring is displayed as the first choice in the Keyring drop down menu. You can change " +"the default keyring." +msgstr "" +"O chaveiro padrão é exibido como a primeira opção no menu suspenso " +"Chaveiro. Você pode alterar " +"o chaveiro padrão." + +#. (itstool) path: info/desc +#: C/passwords-view.page:33 +msgid "Check a stored password which you have forgotten." +msgstr "Verifique uma senha armazenada que você esqueceu." + +#. (itstool) path: page/title +#: C/passwords-view.page:36 +msgid "View stored passwords" +msgstr "Vendo senhas armazenadas" + +#. (itstool) path: page/p +#: C/passwords-view.page:38 +msgid "" +"If you ever forget a password stored in Passwords and Keys, you can view the contents of the " +"stored password in Passwords and Keys to refresh your memory." +msgstr "" +"Se você esquecer alguma senha armazenada em Senhas e chaves, poderá visualizar o " +"conteúdo da senha armazenada em Senhas e chaves para refrescar " +"sua memória." + +#. (itstool) path: steps/title +#: C/passwords-view.page:44 +msgid "To view a password:" +msgstr "Para ver uma senha:" + +#. (itstool) path: item/p +#: C/passwords-view.page:46 +msgid "" +"In the side bar on the left, select the keyring which contains the password." +msgstr "Na barra lateral à esquerda, selecione o chaveiro que contém a senha." + +#. (itstool) path: item/p +#: C/passwords-view.page:50 +msgid "" +"Unlock the password keyring that " +"contains your password. A list of passwords stored in the keyring will be " +"displayed." +msgstr "" +"Desbloqueie o chaveiro de senhas que " +"contém sua senha. Uma lista de senhas armazenadas no chaveiro será exibida." + +#. (itstool) path: note/p +#: C/passwords-view.page:53 +msgid "Your Login keyring is already unlocked by default." +msgstr "Seu chaveiro de Login já está desbloqueado por padrão." + +#. (itstool) path: item/p +#: C/passwords-view.page:56 +msgid "" +"Right click on the password you want to check, and select Properties." +msgstr "" +"Clique com o botão direito do mouse na senha que deseja verificar e " +"selecione Propriedades." + +#. (itstool) path: item/p +#: C/passwords-view.page:60 +msgid "Select the <_:media-1/> icon to view the password." +msgstr "Selecione o ícone <_:media-1/> para ver a senha." + +#. (itstool) path: note/p +#: C/passwords-view.page:67 +msgid "" +"Since the contents of any unlocked keyrings are available to programs you " +"may be running, and Passwords and Keys does not seek to give a " +"false sense of security, the contents of unlocked keyrings are able to be " +"viewed without entering the password." +msgstr "" +"Como o conteúdo de qualquer chaveiro desbloqueado está disponível para os " +"programas que você pode estar executando, e Senhas e chaves não " +"oferece uma falsa sensação de segurança, o conteúdo dos chaveiros " +"desbloqueados pode ser visualizado sem entrar com a senha." + +#. (itstool) path: note/p +#: C/passwords-view.page:71 +msgid "" +"This means that if you are logged-in, the contents of the Login " +"keyring will available without entering a password from Passwords and " +"Keys." +msgstr "" +"Isso significa que, se você estiver autenticado, o conteúdo do chaveiro " +"Login estará disponível sem inserir uma senha de Senhas e " +"chaves." + +#. (itstool) path: note/p +#: C/passwords-view.page:74 +msgid "" +"If you need to lend your computer to another person, it is recommended that " +"you create a user account for them, or allow them to use a guest account." +msgstr "" +"Se você precisar emprestar seu computador a outra pessoa, é recomendável " +"criar uma conta de usuário para ela ou permitir que ela use uma conta de " +"convidado." + +#. (itstool) path: info/desc +#: C/pgp-create.page:33 +msgid "Create and use GnuPG keys for encrypting and signing emails." +msgstr "Crie e use chaves GnuPG para criptografar e assinar e-mails." + +#. (itstool) path: page/title +#: C/pgp-create.page:36 +msgid "Create PGP keys" +msgstr "Criando chaves PGP" + +#. (itstool) path: page/p +#: C/pgp-create.page:38 +msgid "To make a new PGP key:" +msgstr "Para fazer uma nova chave PGP:" + +#. (itstool) path: item/p +#: C/pgp-create.page:45 +msgid "Select PGP Key from the list." +msgstr "Selecione Chave PGP da lista." + +#. (itstool) path: item/p +#: C/pgp-create.page:48 +msgid "Enter your full name in the Full Name field." +msgstr "Digite seu nome completo no campo Nome completo." + +#. (itstool) path: item/p +#: C/pgp-create.page:51 +msgid "Optionally, add your email address and a comment to describe the key." +msgstr "" +"Opcionalmente, adicione seu endereço de e-mail e um comentário para " +"descrever a chave." + +#. (itstool) path: item/p +#: C/pgp-create.page:55 +msgid "Press Create." +msgstr "Pressione Criar." + +#. (itstool) path: item/p +#: C/pgp-create.page:58 +msgid "" +"In the password dialog, enter a password for the key. Retype the password to " +"confirm your choice." +msgstr "" +"Na caixa de diálogo de senha, insira uma senha para a chave. Digite " +"novamente a senha para confirmar sua escolha." + +#. (itstool) path: item/p +#: C/pgp-create.page:62 +msgid "Press OK to finish." +msgstr "Pressione OK para finalizar." + +#. (itstool) path: page/p +#: C/pgp-create.page:66 +msgid "" +"Passwords and Keys will take some time to generate your key. " +"While your key is being created, move your mouse around, press some keys on " +"your keyboard, or browse the web. This will help Passwords and Keys to create a truly random key. The key will be listed under GnuPG " +"keys." +msgstr "" +"Senhas e chaves levará algum tempo para gerar sua chave. Enquanto " +"sua chave estiver sendo criada, mova o mouse, pressione algumas teclas no " +"teclado ou navegue na Web. Isso ajudará o Senhas e chaves a criar " +"uma chave verdadeiramente aleatória. A chave será listada em Chaves " +"GnuPG." + +#. (itstool) path: note/p +#: C/pgp-create.page:73 +msgid "" +"The Full Name, Email Address and Comment " +"details of a GnuPG key are called the user ID of the key." +msgstr "" +"Os detalhes Nome completo, Endereço de e-mail e " +"Comentário de uma chave GnuPG são chamados de ID de usuário da chave." + +#. (itstool) path: section/title +#: C/pgp-create.page:79 +msgid "Advanced PGP key options" +msgstr "Opções avançadas de chave PGP" + +#. (itstool) path: section/p +#: C/pgp-create.page:81 +msgid "" +"Under Advanced key options you can choose custom values for " +"encryption type, key strength and key expiration date." +msgstr "" +"Sob Opções avançadas de chave, você pode escolher valores " +"personalizados para tipo de criptografia, força de chave e data de expiração " +"da chave." + +#. (itstool) path: item/title +#: C/pgp-create.page:86 +msgid "Encryption type" +msgstr "Tipo de criptografia" + +#. (itstool) path: item/p +#: C/pgp-create.page:87 +msgid "" +"Depending on your needs, create keys that can be used for signing only or " +"for both encryption and signing. The RSA and DSA-Elgamal algorithms generate " +"equally secure keys." +msgstr "" +"Dependendo de suas necessidades, crie chaves que podem ser usadas somente " +"para assinatura ou para criptografia e assinatura. Os algoritmos RSA e DSA-" +"Elgamal geram chaves igualmente seguras." + +#. (itstool) path: item/title +#: C/pgp-create.page:92 +msgid "Key Strength" +msgstr "Força da chave" + +#. (itstool) path: item/p +#: C/pgp-create.page:93 +msgid "" +"The key strength is measured in terms of the size of the key in bits. It is " +"difficult and more time consuming to break a strong key, but strong keys " +"will slow down the encryption and signing process. You should choose your " +"key strength in Passwords and Keys depending on how long you want " +"to use the key. A small key is sufficient for short term use while a large " +"key is more suitable for long term use." +msgstr "" +"A força da chave é medida em termos do tamanho da chave em bits. É difícil e " +"mais demorado quebrar uma chave forte, mas as chaves fortes retardarão o " +"processo de criptografia e assinatura. Você deve escolher a força de sua " +"chave em Senhas e chaves, dependendo de quanto tempo deseja usar " +"a chave. Uma chave pequena é suficiente para uso a curto prazo, enquanto uma " +"chave grande é mais adequada para uso a longo prazo." + +#. (itstool) path: item/title +#: C/pgp-create.page:101 +msgid "Expiration Date" +msgstr "Data de expiração" + +#. (itstool) path: item/p +#: C/pgp-create.page:102 +msgid "" +"When a key expires, certain actions no longer " +"work. In Passwords and Keys, you can either set your key " +"to Never Expire, or select an expiration date " +"and time for it." +msgstr "" +"Quando uma chave expira, certas ações não " +"funcionam mais. Em Senhas e chaves, você pode definir sua " +"chave para Nunca expirar ou selecionar uma " +"data e hora de expiração para ela." + +#. (itstool) path: item/p +#: C/pgp-create.page:106 +msgid "" +"It is recommended that you set an expiration date in case you lose access to " +"the key. Even if your key expires, you can change the expiration to a later date." +msgstr "" +"É recomendável que você defina uma data de expiração caso perca o acesso à " +"chave. Mesmo que sua chave expire, você pode alterar a expiração para uma data posterior." + +#. (itstool) path: info/desc +#: C/pgp-delete.page:26 +msgid "" +"Delete local copies of your keys or the keys of people you communicate with." +msgstr "" +"Exclua cópias locais de suas chaves ou as chaves das pessoas com quem você " +"se comunica." + +#. (itstool) path: page/title +#: C/pgp-delete.page:30 +msgid "Delete an existing key" +msgstr "Excluindo uma chave existente" + +#. (itstool) path: page/p +#: C/pgp-delete.page:32 +msgid "" +"If you are no longer communicating with someone, you can delete the copy of " +"their GnuPG key on your computer using Passwords and Keys. You " +"can also permanently delete a key you own as long it has never been " +"published on a key server. Deleting a GnuPG key deletes both the public key " +"and the secret key." +msgstr "" +"Se você não estiver mais se comunicando com alguém, você pode excluir a " +"cópia da chave GnuPG no computador usando Senhas e chaves. Você " +"também pode excluir permanentemente uma chave sua desde que ela nunca tenha " +"sido publicada em um servidor de chaves. A exclusão de uma chave GnuPG " +"exclui a chave pública e a secreta." + +#. (itstool) path: steps/title +#: C/pgp-delete.page:39 +msgid "To delete a key:" +msgstr "Para excluir uma chave:" + +#. (itstool) path: item/p +#: C/pgp-delete.page:41 +msgid "Select the key." +msgstr "Selecione a chave." + +#. (itstool) path: item/p +#: C/pgp-delete.page:45 +msgid "Right click, and choose Delete." +msgstr "Clique com o botão direito e escolha Excluir." + +#. (itstool) path: note/p +#: C/pgp-delete.page:47 +msgid "" +"When you delete a GnuPG key that has been published on a key server, you " +"only delete the key in your GnuPG keyring because a copy of the public key " +"will still be present on some key server." +msgstr "" +"Quando você exclui uma chave GnuPG que foi publicada em um servidor de " +"chaves, você apenas exclui a chave em seu chaveiro do GnuPG porque uma cópia " +"da chave pública ainda estará presente em algum servidor de chaves." + +#. (itstool) path: note/p +#: C/pgp-delete.page:50 +msgid "" +"If you delete your GnuPG key, this means that your private key will be " +"permanently deleted, even though your public key can still be retrieved from a key server and used to " +"encrypt messages to you that you won't be able to read! To prevent such a " +"key from being used, retrieve and revoke the key. The revoked key can then " +"be synced with a key server to prevent people " +"from retrieving and using it." +msgstr "" +"Se você excluir sua chave GnuPG, isso significa que sua chave privada será " +"excluída permanentemente, mesmo que sua chave pública ainda possa ser obtida de um servidor de chaves e usada " +"para criptografar mensagens para você que você não será capaz de ler! Para " +"evitar que essa chave seja usada, recupere e revogue a chave. A chave " +"revogada pode então ser sincronizada com um " +"servidor de chaves para impedir que as pessoas a obtenham e usem-na." + +#. (itstool) path: item/p +#: C/pgp-delete.page:64 +msgid "" +"In the new dialog, confirm the deletion by ticking the I understand that this secret key will be permanently deleted " +"checkbox, and press the Delete button to finish." +msgstr "" +"Na nova caixa de diálogo, confirme a exclusão marcando a caixa de seleção " +"Eu compreendo que todos os itens serão " +"permanentemente excluídos e pressione o botão Excluir para finalizar." + +#. (itstool) path: info/desc +#: C/pgp-expiration-change.page:19 +msgid "Advance or postpone the expiration date of your keys." +msgstr "Avance ou adie a data de expiração de suas chaves." + +#. (itstool) path: page/title +#: C/pgp-expiration-change.page:22 +msgid "Change the expiration date of your keys" +msgstr "Alterando a data de expiração de suas chaves" + +#. (itstool) path: page/p +#: C/pgp-expiration-change.page:24 +msgid "" +"If your PGP key has expired but you wish to continue its use, you can change " +"its expiry date. You can also change the expiration settings to have a key " +"expire on an earlier date." +msgstr "" +"Se a sua chave PGP expirou, mas você deseja continuar seu uso, você pode " +"alterar sua data de expiração. Você também pode alterar as configurações de " +"expiração para que uma chave expire em uma data anterior." + +#. (itstool) path: steps/title +#: C/pgp-expiration-change.page:29 +msgid "To change the expiration date of a PGP key:" +msgstr "Para alterar a data de expiração de uma chave PGP:" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:34 +msgid "Right click on the selected key and select Properties." +msgstr "" +"Clique com o botão direito na chave selecionada e selecione " +"Propriedades." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:42 +msgid "" +"To change the expiration date of the master key, press the small button with " +"the picture of a calendar next to Expires, on the right side of " +"the dialog. You can then select the new expiration date from the calendar." +msgstr "" +"Para alterar a data de expiração da chave mestra, pressione o botão pequeno " +"com a imagem de um calendário ao lado de Expira, no lado direito " +"da caixa de diálogo. Você pode então selecionar a nova data de expiração no " +"calendário." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:48 +msgid "" +"To change the expiration date of a subkey, " +"expand the Subkeys panel and select the subkey from the list. " +"Press the Expire button on the left of the panel " +"and select the new expiration date." +msgstr "" +"Para alterar a data de expiração de uma subchave, expanda o painel Subchaves e selecione a subchave da " +"lista. Pressione o botão Expirar à esquerda do " +"painel e selecione a nova data de expiração." + +#. (itstool) path: note/p +#: C/pgp-expiration-change.page:59 +msgid "" +"If you are changing the expiration date of a key that has been published, " +"you must synchronize the key with the key " +"server after making the desired changes." +msgstr "" +"Se você está alterando a data de expiração de uma chave que foi publicada, " +"você deve sincronizar a chave com o servidor " +"de chaves depois de fazer as alterações desejadas." + +#. (itstool) path: info/desc +#: C/pgp-expired.page:20 +msgid "Can I still use it? Can expiration dates be changed?" +msgstr "Ainda posso usá-la? Datas de expiração podem ser alteradas?" + +#. (itstool) path: page/title +#: C/pgp-expired.page:23 +msgid "What happens if my key expires?" +msgstr "O que acontece se minha chave expirar?" + +#. (itstool) path: page/p +#: C/pgp-expired.page:25 +msgid "When your key expires, it becomes invalid. This means:" +msgstr "Quando sua chave expira, ela se torna inválida. Isso significa:" + +#. (itstool) path: item/p +#: C/pgp-expired.page:29 +msgid "It can no longer be used to encrypt and decrypt messages." +msgstr "" +"Ela não pode mais ser usado para criptografar e descriptografar mensagens." + +#. (itstool) path: item/p +#: C/pgp-expired.page:32 +msgid "It cannot sign other keys or receive signatures from other keys." +msgstr "" +"Não pode assinar outras chaves ou receber assinaturas de outras chaves." + +#. (itstool) path: page/p +#: C/pgp-expired.page:37 +msgid "" +"Depending on how long you want your key to be valid, you can set an expiration date for it. By default, " +"Passwords and Keys sets all keys to be valid forever. That is, " +"the keys never expire." +msgstr "" +"Dependendo de quanto tempo você quer que sua chave seja válida, você pode " +"definir uma data de expiração para " +"ela. Por padrão, Senhas e chaves define todas as chaves como " +"válidas para sempre. Ou seja, as chaves nunca expiram." + +#. (itstool) path: page/p +#: C/pgp-expired.page:42 +msgid "" +"The expiration date on a key can be changed anytime, even after the key has expired. However, if you " +"want to stop using the expired key, you should delete or revoke it." +msgstr "" +"A data de expiração de uma chave pode ser alterada a qualquer momento, mesmo depois que a chave expirar. " +"Entretanto, se você quiser parar de usar a chave expirada, você deve exclui-la ou revogá-" +"la." + +#. (itstool) path: note/p +#: C/pgp-expired.page:49 +msgid "" +"If you have any messages encrypted with an expired key, you must change the " +"expiration date on the key to decrypt such messages before deleting or " +"revoking it." +msgstr "" +"Se você tiver alguma mensagem criptografada com uma chave expirada, deverá " +"alterar a data de expiração da chave para descriptografar essas mensagens " +"antes de exclui-las ou revogá-las." + +#. (itstool) path: info/desc +#: C/pgp-export.page:19 +msgid "Export your public and private PGP keys to store them in keyfiles." +msgstr "" +"Exporte suas chaves PGP públicas e privadas para armazená-las em arquivos de " +"chave." + +#. (itstool) path: page/title +#: C/pgp-export.page:23 +msgid "Export PGP keys" +msgstr "Exportando chaves PGP" + +#. (itstool) path: page/p +#: C/pgp-export.page:25 +msgid "" +"Export the contents of your PGP keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Exporte o conteúdo de suas chaves PGP e armazene-as em arquivos de chave, " +"para ter um backup de suas chaves ou para compartilhar sua chave pública com " +"alguém." + +#. (itstool) path: section/title +#: C/pgp-export.page:29 +msgid "To export your public PGP key" +msgstr "Para exportar sua chave PGP pública" + +#. (itstool) path: item/p +#: C/pgp-export.page:33 C/pgp-export.page:62 C/pgp-userid-add.page:36 +#: C/pgp-userid-primary.page:32 C/pgp-userid-remove.page:31 +msgid "Select the GnuPG keys keyring from the left side panel." +msgstr "" +"Selecione o chaveiro das Chaves GnuPG do painel lateral esquerdo." + +#. (itstool) path: item/p +#: C/pgp-export.page:37 C/pgp-export.page:66 +msgid "" +"Select the Personal PGP key that has to be exported, from the " +"list." +msgstr "" +"Selecione a Chave PGP pessoal que deve ser exportada da lista." + +#. (itstool) path: item/p +#: C/pgp-export.page:41 C/ssh-export.page:42 +msgid "" +"Right-click on the key and select Export…." +msgstr "" +"Clique com o botão direito do mouse na chave e selecione Exportar…." + +#. (itstool) path: item/p +#: C/pgp-export.page:44 +msgid "" +"To store the keys in the ASCII format, select Armored PGP keys " +"from the menu at the bottom of the export window" +msgstr "" +"Para armazenar as chaves no formato ASCII, selecione Chaves PGP " +"blindadas no menu na parte inferior da janela de exportar" + +#. (itstool) path: item/p +#: C/pgp-export.page:49 C/pgp-export.page:77 +msgid "" +"Choose a location for your keyfile, and press Export to finish." +msgstr "" +"Escolha um local para seu arquivo de chave e pressione Exportar para finalizar." + +#. (itstool) path: section/title +#: C/pgp-export.page:58 +msgid "To export your private PGP key" +msgstr "Para exportar sua chave PGP privada" + +#. (itstool) path: item/p +#: C/pgp-export.page:70 C/subkeys-add.page:37 +msgid "" +"Right click on the selected key and select PropertiesDetails." +msgstr "" +"Clique com o botão direito do mouse na chave selecionada e selecione " +"PropriedadesDetalhes." + +#. (itstool) path: item/p +#: C/pgp-export.page:74 +msgid "Press the Export button." +msgstr "Pressione o botão Exportar." + +#. (itstool) path: info/desc +#: C/pgp-import.page:26 +msgid "Import keys from keyfiles into Passwords and Keys." +msgstr "Importe as chaves dos arquivos de chave no Senhas e chaves." + +#. (itstool) path: page/title +#: C/pgp-import.page:29 +msgid "Import PGP keys" +msgstr "Importando chaves PGP" + +#. (itstool) path: page/p +#: C/pgp-import.page:31 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports PGP keys from your computer. You can also manually " +"import a particular key, if it has not been imported already." +msgstr "" +"Se você tiver recebido um arquivo de chave por e-mail, poderá importá-lo " +"para Senhas e chaves. Na maioria dos casos, Senhas e chaves importa automaticamente as chaves PGP do seu computador. Você também " +"pode importar manualmente uma chave específica, se ela ainda não tiver sido " +"importada." + +#. (itstool) path: steps/title +#: C/pgp-import.page:37 C/ssh-import.page:37 +msgid "How do I manually import a key?" +msgstr "Como eu importo manualmente uma chave?" + +#. (itstool) path: item/p +#: C/pgp-import.page:42 C/ssh-import.page:42 +msgid "Select Import from file… from the list." +msgstr "Selecione Importar de arquivo… da lista." + +#. (itstool) path: item/p +#: C/pgp-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. PGP keys end with " +"pgp or asc, GPG keys end with gpg." +msgstr "" +"Na nova caixa de diálogo, selecione a chave que você deseja importar. Chaves " +"PGP terminam com pgp ou asc, as chaves GPG " +"terminam com gpg." + +#. (itstool) path: item/p +#: C/pgp-import.page:50 C/ssh-import.page:49 +msgid "Click Open." +msgstr "Clique em Abrir." + +#. (itstool) path: page/p +#: C/pgp-import.page:54 +msgid "" +"Once imported, the PGP and GPG keys are listed under GnuPG keys." +msgstr "" +"Uma vez importadas, as chaves PGP e GPG são listadas em chaves GnuPG." + +#. (itstool) path: info/desc +#: C/pgp-photoid.page:20 +msgid "" +"Include a photo ID with your existing keys so that people can identify them " +"easily." +msgstr "" +"Inclua uma ID de foto com suas chaves existentes para que as pessoas possam " +"identificá-las facilmente." + +#. (itstool) path: page/title +#: C/pgp-photoid.page:24 +msgid "Attach a photo to your key" +msgstr "Anexando uma foto a sua chave" + +#. (itstool) path: page/p +#: C/pgp-photoid.page:26 +msgid "" +"You can attach a photo ID to your PGP keys so that everyone can verify the " +"ownership of your keys after looking at your photo. Though a key with an " +"attached photo will provide a slightly better level of security than a key " +"with no photo, checking the photo on a key is not as safe as checking the " +"fingerprint of the key because " +"anyone having your photos can create a key with your photo ID while the key " +"fingerprint cannot be mimicked." +msgstr "" +"Você pode anexar uma ID de foto às suas chaves PGP para que todos possam " +"verificar a quem pertence as suas chaves depois de observar sua foto. Embora " +"uma chave com uma foto anexada forneça um nível um pouco melhor de segurança " +"do que uma chave sem foto, verificar a foto em uma tecla não é tão seguro " +"quanto verificar a impressão digital da chave porque qualquer pessoa que tenha suas fotos pode criar uma " +"chave com a sua ID de foto, enquanto a impressão digital da chave não pode " +"ser imitada." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:35 +msgid "" +"Unlike the restrictions in GPG, the photo ID you want to upload " +"need not be in the JPEG format. Passwords and Keys " +"lets you upload your photo in png, jpg and several " +"other common image formats." +msgstr "" +"Ao contrário das restrições no GPG, a ID de foto que você deseja " +"enviar não precisa estar no formato JPEG. Senhas e chaves permite que você envie sua foto em png, jpg e " +"vários outros formatos comuns de imagem." + +#. (itstool) path: steps/title +#: C/pgp-photoid.page:42 +msgid "To attach a photo ID to a PGP key:" +msgstr "Para anexar uma ID de foto a uma chave PGP:" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:47 +msgid "Select the PGP key." +msgstr "Selecione a chave PGP." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:50 +msgid "" +"Right click on the chosen key and select Properties Owner." +msgstr "" +"Clique com o botão direito do mouse na chave escolhida e selecione " +"PropriedadesDono." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:55 +msgid "" +"Press the button marked with a + on the left " +"hand side to add a photo." +msgstr "" +"Pressione o botão marcado com um + no lado " +"esquerdo para adicionar uma foto." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:59 +msgid "Select the photo from your computer." +msgstr "Selecione a foto de seu computador." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:62 +msgid "Click Close to finish." +msgstr "Clique em Fechar para finalizar." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:67 +msgid "" +"The photos you select should be small in size, preferably about 120 by 150 " +"pixels. Since a photo ID is always attached to its key, a large photo will " +"increase the key size and slow down all operations that use the key. " +"Passwords and Keys resizes large photos to the optimal size after " +"asking for your confirmation." +msgstr "" +"As fotos selecionadas devem ser de tamanho pequeno, preferencialmente de 120 " +"por 150 pixels. Como uma ID de foto é sempre anexada à sua chave, uma foto " +"grande aumenta o tamanho da chave e desacelera todas as operações que usam a " +"chave. Senhas e chaves redimensiona fotos grandes para o tamanho " +"ideal após solicitar sua confirmação." + +#. (itstool) path: credit/name +#: C/pgp-publish.page:15 C/pgp-retrieve-remote.page:15 +msgid "Aruna" +msgstr "Aruna" + +#. (itstool) path: info/desc +#: C/pgp-publish.page:20 +msgid "" +"Publish your public keys on key servers, or export and mail them to your friends." +msgstr "" +"Publique suas chaves públicas em servidores de chaves ou exporte e envie-as para seus amigos." + +#. (itstool) path: page/title +#: C/pgp-publish.page:24 +msgid "Share your public keys" +msgstr "Compartilhando suas chaves públicas" + +#. (itstool) path: page/p +#: C/pgp-publish.page:26 +msgid "" +"If you want people to send you encrypted communication, you must share your " +"GnuPG key with them. To share your key with a selected few " +"people, export it and mail the resulting " +"keyfile to them. To allow anyone to retrieve and use your public key, publish it on a key server." +msgstr "" +"Se você deseja que as pessoas lhe enviem uma comunicação criptografada, você " +"deve compartilhar sua Chave GnuPG com elas. Para compartilhar sua " +"chave com poucas pessoas selecionadas, exporte-a e envie o arquivo de chave resultante para ela. Para permitir que " +"qualquer pessoa obtenha e use sua " +"chave pública, publique-a em um servidor de chaves." + +#. (itstool) path: steps/title +#: C/pgp-publish.page:34 +msgid "How do I publish my key on a key server?" +msgstr "Como eu publico minha chave em um servidor de chaves?" + +#. (itstool) path: item/p +#: C/pgp-publish.page:39 +msgid "" +"From the list, select the Personal PGP key you want to publish." +msgstr "" +"Na lista, selecione a Chave PGP pessoal que deseja publicar." + +#. (itstool) path: item/p +#: C/pgp-publish.page:43 C/pgp-sync.page:40 +msgid "" +"Press the menu button in the top-right corner of the window and select Sync and Publish Keys…." +msgstr "" +"Pressione o botão de menu no canto superior direito da janela e selecione " +"Sincronizar e publicar chaves…." + +#. (itstool) path: item/p +#: C/pgp-publish.page:47 +msgid "" +"Press the Key Servers button to see the list of " +"key servers on which you can publish your public key." +msgstr "" +"Pressione o botão Servidores de chaves para ver " +"a lista dos principais servidores nos quais você pode publicar sua chave " +"pública." + +#. (itstool) path: item/p +#: C/pgp-publish.page:51 +msgid "" +"To publish your key on a key server, select the key server from the " +"Publish keys to menu." +msgstr "" +"Para publicar sua chave em um servidor de chaves, selecione o servidor de " +"chaves no menu Publicar chaves para." + +#. (itstool) path: item/p +#: C/pgp-publish.page:55 +msgid "" +"Press Close to go back to the previous dialog." +msgstr "" +"Pressione Fechar para voltar ao diálogo anterior." + +#. (itstool) path: item/p +#: C/pgp-publish.page:59 +msgid "Press Sync to finish." +msgstr "Pressione Sincronizar para finalizar." + +#. (itstool) path: note/p +#: C/pgp-publish.page:74 +msgid "You need to be connected to the Internet while publishing your keys." +msgstr "Você precisa estar conectado à Internet enquanto publica suas chaves." + +#. (itstool) path: note/title +#: C/pgp-publish.page:78 +msgid "What is a keyserver?" +msgstr "O que é um servidor de chaves?" + +#. (itstool) path: note/p +#: C/pgp-publish.page:79 +msgid "" +"Key servers are computers that store copies of public encryption keys " +"submitted to them, and share these copies with other key servers through the " +"Internet." +msgstr "" +"Servidores de chaves são computadores que armazenam cópias de chaves de " +"criptografia públicas enviadas a eles e compartilham essas cópias com outros " +"servidores importantes através da Internet." + +#. (itstool) path: info/desc +#: C/pgp-retrieve-remote.page:20 +msgid "" +"If you want to send an urgent encrypted message to someone, but do not have " +"their key, you can retrieve their key from a remote key server." +msgstr "" +"Se você quiser enviar uma mensagem criptografada urgente para alguém, mas " +"não tiver a chave dessa pessoa, poderá obter esta chave de um servidor de " +"chaves remoto." + +#. (itstool) path: page/title +#: C/pgp-retrieve-remote.page:25 +msgid "Retrieve remote keys" +msgstr "Obtendo chaves remotas" + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:27 +msgid "" +"You can retrieve someone's public GnuPG key from the Internet and store it " +"in Passwords and Keys." +msgstr "" +"Você pode obter a chave GnuPG pública de alguém da Internet e armazená-la em " +"Senhas e chaves." + +#. (itstool) path: steps/title +#: C/pgp-retrieve-remote.page:31 +msgid "To retrieve a remote key:" +msgstr "Para obter uma chave remota:" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:33 +msgid "" +"Press the menu button in the top-right corner of the window and select Find Remote Keys…." +msgstr "" +"Pressione o botão de menu no canto superior direito da janela e selecione " +"Localizar chaves remotas…." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:37 +msgid "" +"Enter information about the key you wish to retrieve in the field provided. " +"Details like key ID or the key owner's email address give more accurate " +"results than the name of the key owner." +msgstr "" +"Insira informações sobre a chave que você deseja obter no campo fornecido. " +"Detalhes como a ID da chave ou o endereço de e-mail do dono da chave " +"fornecem resultados mais precisos do que o nome do dono da chave." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:42 +msgid "Press the Search button." +msgstr "Pressione o botão Pesquisar." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:45 +msgid "" +"From the list of search results, select the key you want to import, right " +"click on it and select Import. Alternatively, " +"you can also press the Import button present at " +"the top of the dialog after selecting the key." +msgstr "" +"Na lista de resultados da pesquisa, selecione a chave que deseja importar, " +"clique com o botão direito e selecione Importar. Alternativamente, você também pode pressionar o botão Importar presente no topo da caixa de diálogo depois de " +"selecionar a chave." + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:52 +msgid "The imported key will be listed in the GnuPG keys keyring." +msgstr "A chave importada será listada no chaveiro de Chaves GnuPG." + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:55 +msgid "" +"If you want more information about a key, before importing it, select it, " +"and press the properties button found at the top of the dialog. " +"Alternatively you can also right click on the key and select Properties. This opens a new window that displays " +"information like the key ID, key fingerprint, level of trust, owner's name, " +"etc." +msgstr "" +"Se você quiser mais informações sobre uma chave, antes de importá-la, " +"selecione-a e pressione o botão de propriedades localizado na parte superior " +"da caixa de diálogo. Alternativamente, você também pode clicar com o botão " +"direito na tecla e selecionar Propriedades. " +"Isso abre uma nova janela que exibe informações como a ID da chave, a " +"impressão digital da chave, o nível de confiança, o nome do dono etc." + +#. (itstool) path: info/desc +#: C/pgp-sign.page:19 +msgid "If you trust a key, you can sign it." +msgstr "Se você confiar em uma chave, você pode assiná-la." + +#. (itstool) path: page/title +#: C/pgp-sign.page:22 +msgid "Sign keys" +msgstr "Assinando chaves" + +#. (itstool) path: page/p +#: C/pgp-sign.page:24 +msgid "" +"To show that you trust and vouch for the genuineness of someone's key, you " +"can sign it. A person's key must be signed only after you compare the user ID on the key with a valid proof of their " +"identity, such as a passport, driver's license, or similar. If the two IDs " +"match, the key is said to be trustworthy." +msgstr "" +"Para mostrar que você confia e atesta a genuinidade da chave de alguém, você " +"pode assiná-la. A chave de uma pessoa deve ser assinada somente após você " +"comparar a ID de usuário na chave com uma " +"prova válida de sua identidade, como passaporte, carteira de motorista ou " +"similar. Se as duas IDs coincidirem, a chave é considerada confiável." + +#. (itstool) path: steps/title +#: C/pgp-sign.page:31 +msgid "To sign a key:" +msgstr "Para assinar uma chave:" + +#. (itstool) path: item/p +#: C/pgp-sign.page:33 +msgid "" +"Import the remote key or keyfile containing the key to be signed into " +"Passwords and Keys." +msgstr "" +"Importe a chave remota ou arquivo de chave contendo a chave a ser assinada " +"no Senhas e chaves." + +#. (itstool) path: item/p +#: C/pgp-sign.page:38 +msgid "From the list of GnuPG keys select the imported key." +msgstr "Na lista de Chaves GnuPG, selecione a chave importada." + +#. (itstool) path: item/p +#: C/pgp-sign.page:41 +msgid "" +"Right click the key and select PropertiesTrust." +msgstr "" +"Clique com o botão direito do mouse e selecione PropriedadesConfiar." + +#. (itstool) path: item/p +#: C/pgp-sign.page:45 +msgid "Press the Sign this Key button." +msgstr "Pressione o botão Assinar esta chave." + +#. (itstool) path: item/p +#: C/pgp-sign.page:48 +msgid "" +"Depending on how carefully you have checked the key, choose one out of Not at all, Casually or Very carefully." +msgstr "" +"Dependendo de quão cuidadosamente você verificou a chave, escolha um entre " +"De modo algum, Despreocupadamente ou Cuidadosamente." + +#. (itstool) path: item/p +#: C/pgp-sign.page:54 +msgid "" +"Decide if you want to revoke your signature at a later date and if you want " +"to make your signature public, by ticking the checkboxes provided." +msgstr "" +"Decida se você deseja revogar sua assinatura em uma data posterior e se " +"deseja tornar sua assinatura pública, marcando as caixas de seleção " +"fornecidas." + +#. (itstool) path: item/p +#: C/pgp-sign.page:59 +msgid "" +"When you own more than one PGP key, select the key you want to sign with, " +"from the list next to Signer." +msgstr "" +"Quando você possui mais de uma chave PGP, selecione a chave com a qual " +"deseja assinar, na lista ao lado de Signatário." + +#. (itstool) path: item/p +#: C/pgp-sign.page:63 +msgid "Press the Sign button to finish." +msgstr "Pressione o botão Assinar para finalizar." + +#. (itstool) path: note/title +#: C/pgp-sign.page:68 +msgid "Can I sign my own keys?" +msgstr "Posso assinar minhas próprias chaves?" + +#. (itstool) path: note/p +#: C/pgp-sign.page:69 +msgid "" +"When you create a new GnuPG key, " +"it is automatically signed by you. Any new subkeys created using a GnuPG key, will also be signed " +"automatically." +msgstr "" +"Quando você cria uma nova Chave GnuPG, ela é automaticamente assinada por você. Quaisquer novas subchaves " +"criadas usando uma Chave GnuPG, " +"também serão assinadas automaticamente." + +#. (itstool) path: info/desc +#: C/pgp-subkeys.page:19 +msgid "" +"A subkey is always bound to a master key in a PGP keypair. It is used for " +"encryption." +msgstr "" +"Uma subchave está sempre vinculada a uma chave mestra em um par de chaves " +"PGP. É usada para criptografia." + +#. (itstool) path: page/title +#: C/pgp-subkeys.page:23 +msgid "What is a subkey?" +msgstr "O que é uma subchave?" + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:25 +msgid "" +"Though it is very important to keep your keys safe, it can become quite " +"tedious to do so when you have many keys. Passwords and Keys " +"provides a simple solution to key safety by using subkeys for " +"signing and encryption." +msgstr "" +"Embora seja muito importante manter suas chaves seguras, pode ser muito " +"tedioso fazê-lo quando você tem muitas chaves. Senhas e chaves " +"fornece uma solução simples para a segurança chave usando subchaves " +"para assinatura e criptografia." + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:30 +msgid "" +"Whenever you create a new public encryption " +"key, a keypair is generated instead of a single key. This keypair " +"consists of a main key, also called the master key and a " +"subkey. A master key can be used to create additional subkeys that " +"are then bound to it." +msgstr "" +"Sempre que você cria uma nova chave pública " +"de criptografia, um par de chaves é gerado em vez de uma única " +"chave. Esse par de chaves consiste em uma chave principal, também chamada de " +"chave mestra e uma subchave. Uma chave mestra pode ser " +"usada para criar subchaves adicionais que são vinculadas a ela." + +#. (itstool) path: list/title +#: C/pgp-subkeys.page:37 +msgid "What does each key in a keypair do?" +msgstr "O que cada chave em um par de chaves faz?" + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:39 +msgid "" +"The master key is used for signing " +"other keys, creating subkeys and revoking subkeys. Your master key must be kept very safe. Signatures of trust " +"are also collected on your master key. If the master key is compromised, you " +"have no choice but to revoke it and all the subkeys attached to it." +msgstr "" +"A chave mestra é usada para assinar " +"outras chaves, criar subchaves e revogar subchaves. Sua chave mestra deve ser mantida muito segura. Assinaturas " +"de confiança também são coletadas em sua chave mestra. Se a chave mestra " +"estiver comprometida, você não terá escolha a não ser revogá-la e todas as " +"subchaves anexadas a ela." + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:47 +msgid "" +"The default subkey is used for encryption and decryption of " +"messages. Additional subkeys can be created for signing. Though it is " +"important that your subkeys are kept safe, you can always revoke a subkey if " +"it is compromised and create a new one with the original master key." +msgstr "" +"A subchave padrão é usada para criptografia e descriptografia de " +"mensagens. Subchaves adicionais podem ser criadas para assinatura. Embora " +"seja importante que suas subchaves sejam mantidas em segurança, você sempre " +"poderá revogar uma subchave se ela estiver comprometida e criar uma nova com " +"a chave mestra original." + +#. (itstool) path: section/title +#: C/pgp-subkeys.page:56 +msgid "More about subkeys" +msgstr "Mais sobre subchaves" + +#. (itstool) path: info/desc +#: C/pgp-sync.page:20 +msgid "" +"Synchronize information present in your local key with the corresponding key " +"on a key server." +msgstr "" +"Sincronize as informações presentes na sua chave local com a chave " +"correspondente em um servidor de chaves." + +#. (itstool) path: page/title +#: C/pgp-sync.page:24 +msgid "Synchronize your keys" +msgstr "Sincronizando suas chaves" + +#. (itstool) path: page/p +#: C/pgp-sync.page:26 +msgid "" +"PGP keys in your keyring have to be synchronized with a key server to ensure " +"that any changes made to the key on the key server, like a new signature, " +"are updated in your local copy of the key. Similarly, when you change " +"information on your local key copy, like the expiration date, or when you " +"sign someone's key, you should synchronize the keys to update the changes on " +"the remote copy of the key. You need a working Internet connection to " +"synchronize your keys." +msgstr "" +"As chaves PGP no seu chaveiro precisam ser sincronizadas com um servidor de " +"chaves para garantir que quaisquer alterações feitas na chave no servidor de " +"chaves, como uma nova assinatura, sejam atualizadas na sua cópia local da " +"chave. Da mesma forma, quando você altera informações na sua cópia de chave " +"local, como a data de expiração, ou quando você assina a chave de alguém, " +"você deve sincronizar as chaves para atualizar as alterações na cópia remota " +"da chave. Você precisa de uma conexão com a Internet para sincronizar suas " +"chaves." + +#. (itstool) path: steps/title +#: C/pgp-sync.page:35 +msgid "How do I synchronize a key?" +msgstr "Como eu sincronizo uma chave?" + +#. (itstool) path: item/p +#: C/pgp-sync.page:37 +msgid "Select the PGP key you wish to synchronize." +msgstr "Selecione a chave PGP que você deseja sincronizar." + +#. (itstool) path: item/p +#: C/pgp-sync.page:44 +msgid "" +"Click the Sync button to synchronize your key." +msgstr "" +"Clique no botão Sincronizar para sincronizar sua " +"chave." + +#. (itstool) path: note/title +#: C/pgp-sync.page:50 +msgid "Why is the Sync button not clickable?" +msgstr "" +"Por que o botão Sincronizar não é clicável?" + +#. (itstool) path: note/p +#: C/pgp-sync.page:52 +msgid "" +"Only PGP keys that have been published on a key server can be synchronized. " +"If the Sync button is not clickable, check if " +"the key has been published on a key server. In the case of synchronizing " +"your own keys, publish them, before synchronizing them." +msgstr "" +"Apenas chaves PGP que foram publicadas em um servidor de chaves podem ser " +"sincronizadas. Se o botão Sincronizar não for " +"clicável, verifique se a chave foi publicada em um servidor de chaves. No " +"caso de sincronizar suas próprias chaves, publique-as antes de sincronizá-" +"las." + +#. (itstool) path: info/desc +#: C/pgp-userid-add.page:20 +msgid "" +"Having many user IDs helps you to use the same key to communicate with " +"different people." +msgstr "" +"Ter muitas IDs de usuário ajuda você a usar a mesma chave para se comunicar " +"com pessoas diferentes." + +#. (itstool) path: page/title +#: C/pgp-userid-add.page:24 +msgid "Add extra user IDs to a key" +msgstr "Adicionando IDs de usuário extra para uma chave" + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:26 +msgid "" +"A key can have multiple user IDs. This is helpful when you want to use the " +"same key while communicating with several people and one of them does not " +"recognize, say, the email address in your user ID. This person may not want " +"to import your public key since it contains information that they do not " +"know. In such scenarios, if you do not want to create a new key with a " +"different user ID, you can attach a new user ID to your existing key." +msgstr "" +"Uma chave pode ter várias IDs de usuário. Isso é útil quando você deseja " +"usar a mesma chave durante a comunicação com várias pessoas e uma delas não " +"reconhece, digamos, o endereço de e-mail em sua ID de usuário. Essa pessoa " +"pode não querer importar sua chave pública, pois ela contém informações que " +"eles não conhecem. Nesses cenários, se você não quiser criar uma nova chave " +"com uma ID de usuário diferente, poderá anexar uma nova ID de usuário à sua " +"chave existente." + +#. (itstool) path: steps/title +#: C/pgp-userid-add.page:34 +msgid "To add an extra user ID:" +msgstr "Para adicionar uma ID de usuário extra:" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:39 +msgid "From the list, select the Personal PGP key of your choice." +msgstr "Na lista, selecione a Chave PGP pessoal de sua escolha." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:43 +msgid "" +"Right click on the key and select Properties Names " +"and Signatures." +msgstr "" +"Clique com o botão direito do mouse e selecione Propriedades Nomes e assinaturas." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:47 +msgid "" +"Click the Add Name button to add a new user ID." +msgstr "" +"Clique no botão Adicionar nome para adicionar " +"uma nova ID de usuário." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:51 +msgid "" +"In the new dialog, fill in details like Full Name, Email " +"Address and Key Comment for the new user ID." +msgstr "" +"Na nova caixa de diálogo, preencha os detalhes como Nome completo, Endereço de e-mail e Comentário da chave para a " +"nova ID de usuário." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:56 +msgid "" +"Enter the correct passphrase and click OK to " +"finish." +msgstr "" +"Digite a senha correta e clique em OK para " +"finalizar." + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:61 +msgid "" +"Your new user ID will now be listed under the Names and Signatures panel." +msgstr "" +"Sua nova ID de usuário agora será listado no painel Nomes e " +"assinaturas." + +#. (itstool) path: note/p +#: C/pgp-userid-add.page:65 +msgid "" +"If your key has been published on a key server, synchronize it after adding new user IDs to update the remote copy " +"of the key." +msgstr "" +"Se sua chave foi publicada em um servidor de chaves, sincronize-a após adicionar novos IDs de usuário para atualizar a " +"cópia remota da chave." + +#. (itstool) path: info/desc +#: C/pgp-userid-primary.page:19 +msgid "Change your default user ID" +msgstr "Altere sua ID de usuário padrão" + +#. (itstool) path: page/title +#: C/pgp-userid-primary.page:22 +msgid "What is a primary user ID?" +msgstr "O que é uma ID de usuário primária?" + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:24 +msgid "" +"When you have multiple user IDs, one of the user IDs is made the primary " +"user ID. Passwords and Keys will attach the primary user ID by " +"default with your key information, while encrypting or signing, unless you " +"explicitly choose another user ID instead." +msgstr "" +"Quando você tem várias IDs do usuário, uma das IDs do usuário é feita com a " +"ID do usuário principal. Senhas e chaves anexará a ID do usuário " +"primária, por padrão, com suas informações principais, enquanto criptografam " +"ou assinam, a menos que você escolha explicitamente outra ID de usuário." + +#. (itstool) path: steps/title +#: C/pgp-userid-primary.page:30 +msgid "To change the primary user ID in a PGP key:" +msgstr "Para alterar a ID de usuário primária em uma chave de PGP:" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:35 C/pgp-userid-remove.page:34 +#: C/subkeys-add.page:34 +msgid "Select the Personal PGP key from the list." +msgstr "Selecione a Chave PGP pessoal da lista." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:38 +msgid "" +"Right click on the selected key and select Properties " +"Names and Signatures." +msgstr "" +"Clique com o botão direito do mouse na chave selecionada e selecione " +"Propriedades Nomes e assinaturas." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:43 +msgid "" +"Select the new primary user ID from the list and click Primary." +msgstr "" +"Selecione a nova ID de usuário primária na lista e clique em Primária." + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:48 +msgid "" +"The user ID will move to the top of the Names and Signatures list " +"to become your primary user ID." +msgstr "" +"A ID de usuário irá para o topo da lista Nomes e assinaturas para " +"se tornar sua ID de usuário primária." + +#. (itstool) path: note/p +#: C/pgp-userid-primary.page:52 +msgid "" +"Sync your keys after changing your primary user ID to update the remote " +"copies of your key." +msgstr "" +"Sincronize suas chaves depois de alterar sua ID de usuário primária para " +"atualizar as cópias remotas da sua chave." + +#. (itstool) path: info/desc +#: C/pgp-userid-remove.page:20 +msgid "Remove extra user IDs" +msgstr "Remova IDs de usuário extras" + +#. (itstool) path: page/title +#: C/pgp-userid-remove.page:23 +msgid "Detach a user ID from a key" +msgstr "Desanexando uma ID de usuário de uma chave" + +#. (itstool) path: page/p +#: C/pgp-userid-remove.page:25 +msgid "" +"While it is essential that all keys have at least one user ID, you can " +"remove any additional user IDs that you have attached to the key." +msgstr "" +"Embora seja essencial que todas as chaves tenham pelo menos uma ID de " +"usuário, você pode remover quaisquer IDs de usuário adicionais que você " +"anexou à chave." + +#. (itstool) path: steps/title +#: C/pgp-userid-remove.page:29 +msgid "To remove a user ID from a PGP key:" +msgstr "Para remover uma ID de usuário de uma chave PGP:" + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:37 +msgid "" +"Right click on the selected key and choose Properties " +"Names and Signatures." +msgstr "" +"Clique com o botão direito do mouse na chave selecionada e escolha " +"Propriedades Nomes e assinaturas." + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:42 +msgid "" +"Select the user ID you want to remove and click Delete." +msgstr "" +"Selecione a ID do usuário que você deseja remover e clique em Excluir." + +#. (itstool) path: note/p +#: C/pgp-userid-remove.page:48 +msgid "" +"Synchronize your keys after detaching the " +"user ID to update the changes on the remote copy of the key." +msgstr "" +"Sincronize suas chaves depois de desanexar a " +"ID do usuário para atualizar as alterações na cópia remota da chave." + +#. (itstool) path: info/desc +#: C/pgp-userid.page:19 +msgid "Create keys with good user IDs and learn to add and remove user IDs." +msgstr "" +"Crie chaves com boas IDs de usuário e aprenda a adicionar ou remover IDs de " +"usuário." + +#. (itstool) path: page/title +#: C/pgp-userid.page:23 +msgid "What is a user ID?" +msgstr "O que é uma ID de usuário?" + +#. (itstool) path: page/p +#: C/pgp-userid.page:25 +msgid "" +"When you create a key, you provide details, like your name, email and a key " +"description. This information together constitutes a user ID. A good user ID " +"helps people to recognize your key when they are trying to retrieve or import " +"it. It is important to fill in authentic information while creating your " +"user ID." +msgstr "" +"Ao criar uma chave, você fornece detalhes, como seu nome, e-mail e uma " +"descrição de chave. Essas informações juntas constituem uma ID do usuário. " +"Uma boa ID de usuário ajuda as pessoas a reconhecerem sua chave quando " +"tentam obtê-la ou importá-la. É importante preencher informações autênticas ao " +"criar sua ID de usuário." + +#. (itstool) path: section/title +#: C/pgp-userid.page:33 +msgid "Add, remove user IDs" +msgstr "Adicionando, removendo IDs de usuário" + +#. (itstool) path: info/desc +#: C/ssh-connect-remote.page:23 +msgid "Use SSH keys to log in to another computer without entering a password." +msgstr "" +"Use as chaves SSH para se autenticar em outro computador sem digitar uma " +"senha." + +#. (itstool) path: page/title +#: C/ssh-connect-remote.page:27 +msgid "Connect to other computers" +msgstr "Conectando a outros computadores" + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:29 +msgid "" +"You can use Passwords and Keys to install your SSH key onto a " +"remote computer that can run an SSH server. You can also set up your SSH key for remote login " +"while creating the key." +msgstr "" +"Você pode usar Senhas e chaves para instalar sua chave SSH em um " +"computador remoto que possa executar um servidor SSH. Você também pode configurar a sua chave SSH " +"para autenticação remota enquanto cria a chave." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:36 +msgid "" +"Right click on the SSH key and select Configure Key for " +"Secure Shell…." +msgstr "" +"Clique com o botão direito do mouse na Chave SSH e selecione " +"Configurar chave para SSH…." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:40 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH, and press " +"Set Up." +msgstr "" +"Na janela de diálogo que é aberta, digite o Endereço do servidor " +"que você normalmente usa para se autenticar no computador remoto via SSH e " +"pressione Configurar." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:45 C/ssh-create.page:106 +msgid "" +"The program will now attempt to connect to the specified Server " +"address with the entered Login Name. If there are any " +"problems in accessing the remote computer, a pop-up window will appear that " +"explains the problem, and you can try again. Make sure that you have a " +"network connection and that the remote computer is on and accessible." +msgstr "" +"O programa tentará agora se conectar ao Endereço do servidor " +"especificado com o Usuário inserido. Se houver algum problema no " +"acesso ao computador remoto, uma janela aparecerá. Isso explica o problema e " +"você pode tentar novamente. Certifique-se de que você tenha uma conexão de " +"rede e que o computador remoto esteja ligado e acessível." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:53 C/ssh-create.page:114 +msgid "" +"If connection to the remote computer was successful, a dialog box will " +"appear which asks for the Password you use to log in to the " +"remote computer. Enter your password, then press OK." +msgstr "" +"Se a conexão com o computador remoto tiver sido bem-sucedida, uma caixa de " +"diálogo será exibida solicitando a Senha usada para se autenticar " +"no computador remoto. Digite sua senha e pressione OK." + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:60 +msgid "" +"You should now be able to log in to the remote computer via SSH without a " +"password." +msgstr "" +"Agora você deve conseguir se autenticar no computador remoto via SSH sem uma " +"senha." + +#. (itstool) path: info/desc +#: C/ssh-create.page:31 +msgid "Create SSH keys to log in to other computers." +msgstr "Crie as chaves SSH para se autenticar a outros computadores." + +#. (itstool) path: page/title +#: C/ssh-create.page:34 +msgid "Create a new SSH key" +msgstr "Criando uma nova chave SSH" + +#. (itstool) path: page/p +#: C/ssh-create.page:36 +msgid "" +"An SSH key will help you to create a secure connection between computers. " +"Creating an SSH key creates both a Public and a Private " +"key. Here is how to create a new key:" +msgstr "" +"Uma chave SSH ajudará você a criar uma conexão segura entre computadores. A " +"criação de uma chave SSH cria uma chave pública e uma chave " +"privada. Aqui está como criar uma nova chave:" + +#. (itstool) path: item/p +#: C/ssh-create.page:42 +msgid "Select Secure Shell Key from the list." +msgstr "Selecione Chave de SSH da lista." + +#. (itstool) path: item/p +#: C/ssh-create.page:43 +msgid "" +"Enter a description for the key. The key description will help you to " +"identify the key later. For example, you could enter the date for the day, " +"something about how the key will be used, or the server name on which you " +"intend to install the key. The description field is optional, and how you " +"describe the key is entirely up to you." +msgstr "" +"Digite uma descrição para a chave. A descrição da chave ajudará você a " +"identificar a chave mais tarde. Por exemplo, você pode inserir a data do " +"dia, algo sobre como a chave será usada ou o nome do servidor no qual " +"pretende instalar a chave. O campo de descrição é opcional e como você " +"descreve a chave depende inteiramente de você." + +#. (itstool) path: item/p +#: C/ssh-create.page:48 +msgid "" +"You can also change default settings for encryption type or key strength." +msgstr "" +"Você também pode alterar as configurações padrão para o tipo de criptografia " +"ou força da chave." + +#. (itstool) path: page/p +#: C/ssh-create.page:52 +msgid "" +"At this point, you can just create your key, or create your key and install " +"it on a remote computer to enable password-free login." +msgstr "" +"Neste ponto, você pode simplesmente criar sua chave, ou criar sua chave e " +"instalá-la em um computador remoto para permitir a autenticação sem senha." + +#. (itstool) path: section/title +#: C/ssh-create.page:56 +msgid "Create your key and do not set up remote login" +msgstr "Criando sua chave e não configurando a autenticação remota" + +#. (itstool) path: section/p +#: C/ssh-create.page:57 +msgid "You can create the SSH key, and choose to set it up later." +msgstr "Você pode criar a chave SSH e escolher configurá-la posteriormente." + +#. (itstool) path: item/p +#: C/ssh-create.page:61 +msgid "Press the Just Create Key button." +msgstr "Pressione o botão Apenas criar chave." + +#. (itstool) path: item/p +#: C/ssh-create.page:64 +msgid "" +"Type a passphrase for your SSH key and press OK." +msgstr "" +"Digite uma frase secreta para sua chave SSH e pressione OK." + +#. (itstool) path: item/p +#: C/ssh-create.page:68 +msgid "" +"Retype the passphrase and press OK to finish." +msgstr "" +"Digite novamente a frase secreta e pressione OK " +"para finalizar." + +#. (itstool) path: section/p +#: C/ssh-create.page:73 +msgid "The SSH key will now be listed in the OpenSSH keys keyring." +msgstr "" +"A chave SSH será agora listada no chaveiro de Chaves OpenSSH." + +#. (itstool) path: note/p +#: C/ssh-create.page:77 +msgid "" +"When you try to use your SSH key, your operating system will prompt you for " +"the passphrase used during creation. This ensures that if someone gets " +"access to your SSH key, they can't use it without the passphrase." +msgstr "" +"Quando você tenta usar sua chave SSH, seu sistema operacional solicitará a " +"frase secreta usada durante a criação. Isso garante que, se alguém obtiver " +"acesso à sua chave SSH, não conseguirá usá-la sem a frase secreta." + +#. (itstool) path: section/title +#: C/ssh-create.page:86 +msgid "Create your key and install it on a remote computer" +msgstr "Criando sua chave e instalando-a em um computador remoto" + +#. (itstool) path: section/p +#: C/ssh-create.page:87 +msgid "" +"One of the most useful things about having an SSH key is that you can " +"install the public key on a remote computer. Doing this allows you to log in " +"to a remote computer with SSH without needing to enter your password every " +"time." +msgstr "" +"Uma das coisas mais úteis sobre ter uma chave SSH é que você pode instalar a " +"chave pública em um computador remoto. Isso permite que você se autentique " +"em um computador remoto com SSH sem precisar digitar sua senha todas as " +"vezes." + +#. (itstool) path: item/p +#: C/ssh-create.page:94 +msgid "" +"Press the Create and Set Up button, and follow " +"the above instructions on entering a passphrase." +msgstr "" +"Pressione o botão Criar e configurar e siga as " +"instruções acima sobre como digitar uma frase secreta." + +#. (itstool) path: item/p +#: C/ssh-create.page:98 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH." +msgstr "" +"Na janela de diálogo que é aberta, digite o Endereço do servidor " +"que você normalmente usa para se autenticar no computador remoto via SSH." + +#. (itstool) path: item/p +#: C/ssh-create.page:102 +msgid "" +"Ensure that the Login name you use on the remote computer is " +"correct, and press Set Up." +msgstr "" +"Certifique-se de que o Usuário usado por você no computador " +"remoto esteja correto e pressione Configurar." + +#. (itstool) path: section/p +#: C/ssh-create.page:121 +msgid "" +"The public part of the selected SSH key will now be installed on the remote " +"computer and configured to allow password-free SSH login. You should now be " +"able to log in to the remote computer via SSH without a password." +msgstr "" +"A parte pública da chave SSH selecionada será agora instalada no computador " +"remoto e configurada para permitir autenticação SSH sem senha. Agora você " +"deve conseguir se autenticar no computador remoto via SSH sem uma senha." + +#. (itstool) path: note/p +#: C/ssh-create.page:127 +msgid "" +"If SSH key authentication fails and you cannot use password authentication, " +"contact the service administrator for further help." +msgstr "" +"Se a autenticação da chave SSH falhar e você não puder usar a autenticação " +"por senha, entre em contato com o administrador do serviço para obter mais " +"ajuda." + +#. (itstool) path: info/desc +#: C/ssh-export.page:20 +msgid "Export your public and private SSH keys to store them in keyfiles." +msgstr "" +"Exporte suas chaves SSH públicas e privadas para armazená-las em arquivos de " +"chave." + +#. (itstool) path: page/title +#: C/ssh-export.page:24 +msgid "Export SSH keys" +msgstr "Exportando chaves SSH" + +#. (itstool) path: page/p +#: C/ssh-export.page:26 +msgid "" +"Export the contents of your SSH keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Exporte o conteúdo de suas chaves SSH e armazene-as em arquivos de chave, " +"para ter um backup de suas chaves ou para compartilhar sua chave pública com " +"alguém." + +#. (itstool) path: section/title +#: C/ssh-export.page:30 +msgid "To export your public SSH key:" +msgstr "Para exportar sua chave SSH pública:" + +#. (itstool) path: item/p +#: C/ssh-export.page:34 C/ssh-export.page:57 +msgid "Select the OpenSSH keys keyring from the left side panel." +msgstr "" +"Selecione o chaveiro das Chaves OpenSSH do painel lateral " +"esquerdo." + +#. (itstool) path: item/p +#: C/ssh-export.page:38 C/ssh-export.page:61 +msgid "" +"Select the Personal SSH key, that has to be exported, from the " +"list." +msgstr "" +"Selecione a Chave SSH pessoal que deve ser exportada da lista." + +#. (itstool) path: item/p +#: C/ssh-export.page:45 +msgid "" +"Press the Export button to save the exported " +"public key on your computer." +msgstr "" +"Pressione o botão Exportar para salvar a chave " +"pública exportada no seu computador." + +#. (itstool) path: section/title +#: C/ssh-export.page:53 +msgid "To export your private SSH key:" +msgstr "Para exportar sua chave SSH privada:" + +#. (itstool) path: item/p +#: C/ssh-export.page:65 +msgid "" +"Right click on the selected key and select Properties." +msgstr "" +"Clique com o botão direito do mouse na chave selecionada e selecione Propriedades." + +#. (itstool) path: item/p +#: C/ssh-export.page:69 +msgid "" +"Press the Export button to save the exported " +"private key on your computer." +msgstr "" +"Pressione o botão Exportar para salvar a chave " +"privada exportada no seu computador." + +#. (itstool) path: note/p +#: C/ssh-export.page:75 +msgid "" +"Keep the exported private key file in a safe location, since the contents of " +"the file must be kept private, to prevent misuse of your key." +msgstr "" +"Mantenha o arquivo da chave privada exportada em um local seguro, pois o " +"conteúdo do arquivo deve ser mantido em sigilo para evitar o uso indevido da " +"sua chave." + +#. (itstool) path: info/desc +#: C/ssh-import.page:25 +msgid "Import SSH keys from keyfiles into Passwords and Keys." +msgstr "" +"Importe as chaves SSH dos arquivos de chave no Senhas e chaves." + +#. (itstool) path: page/title +#: C/ssh-import.page:28 +msgid "Import SSH keys" +msgstr "Importando chaves SSH" + +#. (itstool) path: page/p +#: C/ssh-import.page:30 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports SSH keys from the ~/.ssh directory on " +"your computer. You can also manually import keys into Passwords and " +"Keys." +msgstr "" +"Se você tiver recebido um arquivo de chave por e-mail, poderá importá-lo " +"para Senhas e chaves. Na maioria dos casos, Senhas e chaves importa automaticamente as chaves SSH do diretório ~/.ssh " +"em seu computador. Você também pode importar manualmente chaves para " +"Senhas e chaves." + +#. (itstool) path: item/p +#: C/ssh-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. Public SSH keys end " +"with .pub." +msgstr "" +"Na nova caixa de diálogo, selecione a chave que você deseja importar. Chaves " +"SSH públicas terminam com .pub." + +#. (itstool) path: page/p +#: C/ssh-import.page:53 +msgid "" +"Imported keys are automatically grouped according to their type. So, " +"SSH keys are listed in the OpenSSH keys section." +msgstr "" +"As chaves importadas são automaticamente agrupadas de acordo com o seu tipo. " +"Portanto, as chaves SSH estão listadas na seção chaves " +"OpenSSH." + +#. (itstool) path: info/desc +#: C/subkeys-add.page:20 +msgid "Additional subkeys make your master key more secure." +msgstr "Subchaves adicionais tornam sua chave mestra mais segura." + +#. (itstool) path: page/title +#: C/subkeys-add.page:23 +msgid "Add extra subkeys" +msgstr "Adicionando subchaves extras" + +#. (itstool) path: page/p +#: C/subkeys-add.page:25 +msgid "" +"You can add extra subkeys to the same master key. You have to choose the " +"right subkey each time you want to encrypt or sign when you do this." +msgstr "" +"Você pode adicionar subchaves extras à mesma chave mestra. Você precisa " +"escolher a subchave correta sempre que quiser criptografar ou assinar quando " +"fizer isso." + +#. (itstool) path: steps/title +#: C/subkeys-add.page:29 +msgid "To add extra subkeys to a PGP key:" +msgstr "Para adicionar subchaves extras a uma chave PGP:" + +#. (itstool) path: item/p +#: C/subkeys-add.page:41 C/subkeys-examine.page:41 +msgid "If the Subkeys panel is not expanded, expand it." +msgstr "Se o painel Subchaves não estiver expandido, expanda-o." + +#. (itstool) path: item/p +#: C/subkeys-add.page:44 +msgid "Click the Add button to add a new subkey." +msgstr "" +"Clique no botão Adicionar para adicionar uma " +"nova subchave." + +#. (itstool) path: item/p +#: C/subkeys-add.page:48 +msgid "" +"Choose the right properties for your key by selecting the appropriate " +"Key Type, Key Length and Expiration Date " +"and click OK." +msgstr "" +"Escolha as propriedades corretas para a sua chave, selecionando o Tipo " +"de chave apropriado, Tamanho da chave e Data de " +"expiração e clique em OK." + +#. (itstool) path: note/p +#: C/subkeys-add.page:55 +msgid "" +"Always ensure that your subkey expires before your master key since a subkey " +"is useless when its master key has expired." +msgstr "" +"Sempre certifique-se de que sua subchave expira antes de sua chave mestra, " +"pois uma subchave é inútil quando sua chave mestra expirou." + +#. (itstool) path: info/desc +#: C/subkeys-examine.page:20 +msgid "See all the subkeys listed under a PGP key." +msgstr "Veja todas as subchaves listadas sob uma chave PGP." + +#. (itstool) path: page/title +#: C/subkeys-examine.page:23 +msgid "Where are my subkeys listed?" +msgstr "Onde minhas subchaves estão listadas?" + +#. (itstool) path: page/p +#: C/subkeys-examine.page:25 +msgid "" +"You can check the contents of a keypair to see the properties of a subkey." +msgstr "" +"Você pode verificar o conteúdo de um par de chaves para ver as propriedades " +"de uma subchave." + +#. (itstool) path: steps/title +#: C/subkeys-examine.page:29 +msgid "To see all the subkeys in a PGP key:" +msgstr "Para ver todas as subchaves em uma chave PGP:" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:31 +msgid "Select the GnuPG keys from the left side panel." +msgstr "Selecione as Chaves GnuPG do painel lateral esquerdo." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:34 +msgid "Select the Personal PGP key." +msgstr "Selecione a Chave PGP pessoal." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:37 +msgid "" +"Right click on the key chosen in the previous step and select " +"PropertiesDetails." +msgstr "" +"Clique com o botão direito do mouse na chave escolhida e selecione " +"PropriedadesDetalhes." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:44 +msgid "All the subkeys for the selected PGP key will be listed in the panel." +msgstr "Todas as subchaves da chave PGP selecionada serão listadas no painel." + +#. (itstool) path: note/p +#: C/subkeys-examine.page:50 +msgid "" +"While signing another key, Passwords and Keys automatically " +"chooses the master key for signing, when you select a GnuPG keys " +"keypair to sign with." +msgstr "" +"Ao assinar outra chave, Senhas e chaves escolhe automaticamente a " +"chave mestra para assinatura, quando você seleciona um par de chaves de " +"Chaves GnuPG com a qual se assinará." + +#. (itstool) path: info/desc +#: C/subkeys-revoke.page:20 +msgid "Revoke a subkey that has been compromised or is not being used." +msgstr "Revogue uma subchave que foi comprometida ou não está sendo usada." + +#. (itstool) path: page/title +#: C/subkeys-revoke.page:24 +msgid "Revoke your subkeys" +msgstr "Revogando suas subchaves" + +#. (itstool) path: page/p +#: C/subkeys-revoke.page:26 +msgid "" +"If your subkey has been compromised or is no longer in use, it might be a " +"good idea to revoke it to prevent misuse of the key." +msgstr "" +"Se sua subchave tiver sido comprometida ou não estiver mais em uso, convém " +"revogá-la para evitar o uso indevido da chave." + +#. (itstool) path: steps/title +#: C/subkeys-revoke.page:30 +msgid "To revoke a subkey:" +msgstr "Para revogar uma subchave:" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:32 +msgid "" +"Navigate to the Subkeys " +"panel." +msgstr "" +"Navegue para o painel Subchaves." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:47 +msgid "" +"Select the subkey from the list and press the Revoke button." +msgstr "" +"Selecione a subchave da lista e pressione o botão Revogar." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:51 +msgid "" +"In the new dialog, select a reason for revoking the key. Optionally, " +"describe your reason in more detail in the Description field." +msgstr "" +"Na nova caixa de diálogo, selecione um motivo para revogar a chave. " +"Opcionalmente, descreva seu motivo com mais detalhes no campo " +"Descrição." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:56 +msgid "Press the Revoke button." +msgstr "Pressione o botão Revogar." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:59 +msgid "You will have to unlock the key with its passphrase." +msgstr "Você terá que desbloquear a chave com sua frase secreta." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:62 +msgid "" +"The Status of the subkey changes to Revoked in the " +"Subkeys panel." +msgstr "" +"O Status da subchave muda para Revogada no painel " +"Subchaves." + +#. (itstool) path: note/p +#: C/subkeys-revoke.page:68 +msgid "" +"If you have published your subkey, you " +"must synchronize it with the key servers " +"after revoking it to apply the revocation on all copies of the key." +msgstr "" +"Se você publicou sua subchave, você deve " +"sincronizá-la com os servidores de chaves " +"depois de revogá-la para aplicar a revogação em todas as cópias da chave." + +#~ msgid "hkp://pool.sks-keyservers.net" +#~ msgstr "hkp://pool.sks-keyservers.net" + +#~ msgid "" +#~ "Select Edit Preferences" +#~ msgstr "" +#~ "Selecione Editar Preferências" + +#~ msgid "" +#~ "Select View By " +#~ "keyring." +#~ msgstr "" +#~ "Selecione Ver Por chaveiro." + +#~ msgid "" +#~ "Expand the Passwords panel, if necessary, and tick the Show password checkbox to view the password." +#~ msgstr "" +#~ "Expanda o painel Senhas, se necessário, e marque a caixa de " +#~ "seleção Mostrar senha para ver a senha." + +#~ msgid "" +#~ "Select the key. (You may need to show all keys, with ViewShow any )" +#~ msgstr "" +#~ "Selecione a chave. (Você pode precisar mostrar todas as chaves, com " +#~ " VerMostrar " +#~ "todos )" + +#~ msgid "" +#~ "Right click, and choose Delete. Alternatively you can also " +#~ "select Edit Delete to delete the key." +#~ msgstr "" +#~ "Clique com o botão direito e escolha Excluir. " +#~ "Alternativamente, você também pode selecionar Editar Excluir para " +#~ "excluir a chave." + +#~ msgid "" +#~ "Select Remote Sync and Publish Keys…." +#~ msgstr "" +#~ "Selecione Remoto Sincronizar e publicar chaves…." + +#~ msgid "" +#~ "Select Remote Find Remote Keys…." +#~ msgstr "" +#~ "Selecione Remoto Localizar chaves remotas…." + +#~ msgid "" +#~ "If you cannot see the retrieved key, please select ViewShow any." +#~ msgstr "" +#~ "Se você não puder ver a chave obtida, selecione Ver " +#~ "Mostrar todos." + +#~ msgid "" +#~ "Select File New…" +#~ "." +#~ msgstr "" +#~ "Selecione Arquivo Novo…." + +#~ msgid "" +#~ "Choose Password Keyring and press Continue." +#~ msgstr "" +#~ "Escolha Chaveiro de senhas e pressione Continuar." + +#~ msgid "" +#~ "Select Stored Password from the list and press Continue." +#~ msgstr "" +#~ "Selecione Senha armazenada na lista e pressione Continuar." + +#~ msgid "Select FileNew…." +#~ msgstr "Selecione ArquivoNovo…." + +#~ msgid "" +#~ "Select PGP Key from the list and press Continue." +#~ msgstr "" +#~ "Selecione Chave PGP na lista e pressione Continuar." + +#~ msgid "Key type" +#~ msgstr "Tipo de chave" + +#~ msgid "Select FileExport…." +#~ msgstr "Selecione ArquivoExportar…." + +#~ msgid "" +#~ "Select Secure Shell Key and then click Continue." +#~ msgstr "Selecione Chave SSH e clique em Continuar." + +#~ msgid "" +#~ "Press the Export Private Key button to save " +#~ "the exported private key on your computer." +#~ msgstr "" +#~ "Pressione o botão Exportar chave privada para " +#~ "salvar a chave privada exportada no seu computador." + +#~ msgid "Select the Personal PGP key list." +#~ msgstr "Selecione a Chave PGP pessoal da lista." diff --git a/help/ru/ru.po b/help/ru/ru.po new file mode 100644 index 00000000..e9b55091 --- /dev/null +++ b/help/ru/ru.po @@ -0,0 +1,4704 @@ +# Translation of seahorse help into Russian. +# Vasiliy Faronov , 2008. +# Stas Solovey , 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse trunk\n" +"POT-Creation-Date: 2014-04-18 11:24+0000\n" +"PO-Revision-Date: 2014-04-18 18:53+0300\n" +"Last-Translator: Stas Solovey \n" +"Language-Team: Русский \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n" +"X-Generator: Gtranslator 2.91.6\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "" +"Vasiliy Faronov , 2008. \n" +"Stas Solovey , 2014." + +#. (itstool) path: credit/name +#: C/glossary.page:15 C/index.page:18 C/introduction.page:21 +#: C/key-servers-add.page:13 C/keyring-change-default.page:14 +#: C/keyring-create.page:16 C/keyring-lock.page:15 C/keyring-unlock.page:15 +#: C/keyring-update-password.page:15 C/keyring.page:20 +#: C/misc-key-backup.page:16 C/misc-key-fingerprint.page:16 +#: C/passwords-stored-create.page:13 C/passwords-view.page:15 +#: C/passwords.page:17 C/pgp-create.page:21 C/pgp-delete.page:15 +#: C/pgp-expiration-change.page:14 C/pgp-expired.page:15 C/pgp-export.page:14 +#: C/pgp-import.page:15 C/pgp-photoid.page:15 C/pgp-sign.page:14 +#: C/pgp-subkeys.page:14 C/pgp-sync.page:15 C/pgp-userid-add.page:15 +#: C/pgp-userid-primary.page:14 C/pgp-userid-remove.page:15 +#: C/pgp-userid.page:14 C/pgp.page:16 C/ssh-connect-remote.page:19 +#: C/ssh-export.page:14 C/ssh-import.page:15 C/subkeys-add.page:15 +#: C/subkeys-examine.page:15 C/subkeys-revoke.page:15 +msgid "Aruna Sankaranarayanan" +msgstr "Аруна Санкаранараянан (Aruna Sankaranarayanan)" + +#. (itstool) path: credit/years +#: C/glossary.page:17 C/index.page:15 C/index.page:20 C/index.page:25 +#: C/introduction.page:17 C/introduction.page:23 C/key-servers-add.page:15 +#: C/keyring-change-default.page:16 C/keyring-create.page:18 +#: C/keyring-create.page:23 C/keyring-lock.page:17 C/keyring-unlock.page:17 +#: C/keyring-update-password.page:17 C/keyring.page:17 C/keyring.page:22 +#: C/keyring.page:27 C/misc-key-backup.page:18 C/misc-key-fingerprint.page:18 +#: C/passwords-stored-create.page:15 C/passwords-view.page:17 +#: C/passwords.page:19 C/pgp-create.page:17 C/pgp-create.page:23 +#: C/pgp-delete.page:17 C/pgp-expiration-change.page:16 C/pgp-expired.page:17 +#: C/pgp-export.page:16 C/pgp-import.page:17 C/pgp-import.page:22 +#: C/pgp-photoid.page:17 C/pgp-publish.page:17 C/pgp-retrieve-remote.page:17 +#: C/pgp-sign.page:16 C/pgp-subkeys.page:16 C/pgp-sync.page:17 +#: C/pgp-userid-add.page:17 C/pgp-userid-primary.page:16 +#: C/pgp-userid-remove.page:17 C/pgp-userid.page:16 C/pgp.page:18 +#: C/ssh-create.page:17 C/ssh-export.page:16 C/ssh-import.page:17 +#: C/ssh-import.page:22 C/ssh.page:18 C/subkeys-add.page:17 +#: C/subkeys-examine.page:17 C/subkeys-revoke.page:17 +msgid "2013" +msgstr "2013" + +#. (itstool) path: info/desc +#: C/glossary.page:20 +msgid "A list of basic terms used." +msgstr "" + +#. (itstool) path: page/title +#: C/glossary.page:23 +msgid "Glossary" +msgstr "" + +#. (itstool) path: page/p +#: C/glossary.page:25 +msgid "" +"Passwords and Keys helps you to generate and manage tokens that " +"can be used to protect your files and communication. Here are some basic " +"terms that you will encounter while reading this help:" +msgstr "" + +#. (itstool) path: item/title +#: C/glossary.page:31 +msgid "Encryption" +msgstr "Шифрование" + +#. (itstool) path: item/p +#: C/glossary.page:32 +msgid "" +"Encryption is the process of making your important files and data unreadable " +"to anyone but the intended recipient. When you encrypt your data, it becomes " +"a scrambled sequence of numbers and letters. Encryption is done by someone " +"who is sending a protected file, or sending a message in a protected " +"conversation." +msgstr "" + +#. (itstool) path: item/title +#: C/glossary.page:39 +msgid "Algorithm" +msgstr "Алгоритм" + +#. (itstool) path: item/p +#: C/glossary.page:40 +msgid "" +"An algorithm is a sequence of steps used to encrypt or decrypt your data." +msgstr "" + +#. (itstool) path: item/title +#: C/glossary.page:44 +#, fuzzy +#| msgid "Decrypting Files" +msgid "Decryption" +msgstr "Расшифровка файлов" + +#. (itstool) path: item/p +#: C/glossary.page:45 +msgid "" +"Decryption is the process of retrieving the original text from the encrypted " +"message or file. It is done by the receiver of the protected file or " +"communication. Encrypted messages cannot be understood without decrypting " +"them first." +msgstr "" + +#. (itstool) path: item/title +#: C/glossary.page:51 +msgid "Plaintext" +msgstr "" + +#. (itstool) path: item/p +#: C/glossary.page:52 +msgid "" +"Any data or file that is not encrypted, and can therefore be read by anyone " +"who can access it, is called plaintext." +msgstr "" + +#. (itstool) path: item/title +#: C/glossary.page:56 +msgid "Key" +msgstr "Ключ" + +#. (itstool) path: item/p +#: C/glossary.page:57 +msgid "" +"A key is used to encrypt and decrypt files and communication. A key may also " +"be used to login to a remote computer. Some types of keys are PGP keys and SSH keys." +msgstr "" + +#. (itstool) path: item/title +#: C/glossary.page:63 +#, fuzzy +#| msgid "Key Sharing" +msgid "Keyring" +msgstr "Обмен ключами" + +#. (itstool) path: item/p +#: C/glossary.page:64 +msgid "A keyring is a collection of passwords or keys." +msgstr "" + +#. (itstool) path: info/title +#: C/index.page:7 +#, fuzzy +#| msgid "About Passwords and Encryption Keys" +msgctxt "link" +msgid "Passwords and Keys" +msgstr "О программе" + +#. (itstool) path: info/title +#: C/index.page:8 +#, fuzzy +#| msgid "About Passwords and Encryption Keys" +msgctxt "text" +msgid "Passwords and Keys" +msgstr "О программе" + +#. (itstool) path: credit/name +#: C/index.page:13 C/introduction.page:15 C/keyring.page:15 +#: C/pgp-create.page:15 C/pgp-import.page:20 C/ssh-connect-remote.page:14 +#: C/ssh-create-vs-setup.page:14 C/ssh-create.page:15 C/ssh-import.page:20 +#: C/ssh.page:16 +msgid "Jim Campbell" +msgstr "Джим Кэмпбелл (Jim Campbell)" + +#. (itstool) path: credit/name +#: C/index.page:23 C/keyring-create.page:21 C/keyring.page:25 +msgid "Ekaterina Gerasimova" +msgstr "Екатерина Герасимова (Ekaterina Gerasimova)" + +#. (itstool) path: info/desc +#: C/index.page:30 +#, fuzzy +#| msgid "" +#| "You can use Passwords and Encryption Keys to " +#| "create and manage PGP and SSH keys." +msgid "" +"Use Passwords and Keys to remember your passwords, and to create " +"and manage PGP and SSH keys." +msgstr "" +"С помощью Паролей и ключей шифрования вы можете " +"создавать и управлять ключами PGP и SSH." + +#. (itstool) path: page/title +#: C/index.page:33 +msgid "<_:media-1/> Passwords and Keys" +msgstr "<_:media-1/> Пароли и ключи" + +#. (itstool) path: section/title +#: C/index.page:39 +#, fuzzy +#| msgid "Provides access to the keys and passwords in the keyring." +msgid "Stored passwords and password keyrings" +msgstr "Обеспечивают доступ к ключам и паролям в брелоке." + +#. (itstool) path: section/title +#: C/index.page:43 +msgid "PGP keys" +msgstr "" + +#. (itstool) path: section/title +#: C/index.page:47 +msgid "SSH Keys" +msgstr "" + +#. (itstool) path: info/desc +#: C/introduction.page:26 +msgid "" +"Use Passwords and Keys to create and manage PGP and SSH keys and " +"to save passwords that are difficult to remember." +msgstr "" + +#. (itstool) path: page/title +#: C/introduction.page:30 +msgid "Introduction" +msgstr "Введение" + +#. (itstool) path: page/p +#: C/introduction.page:32 +msgid "" +"Welcome to the Passwords and Keys help guide. Passwords and " +"Keys creates and stores security tokens, helping to keep your " +"information secure on your computer, and secure when you send information " +"over a network." +msgstr "" + +#. (itstool) path: page/p +#: C/introduction.page:36 +#, fuzzy +#| msgid "Starting Passwords and Encryption Keys" +msgid "Using Passwords and Keys, you can:" +msgstr "Запуск Паролей и ключей шифрования" + +#. (itstool) path: item/p +#: C/introduction.page:40 +msgid "" +"Copy and save passwords that " +"are difficult to remember. To group related passwords, create keyrings." +msgstr "" + +#. (itstool) path: item/p +#: C/introduction.page:45 +msgid "" +"Create and manage " +"PGP keys." +msgstr "" + +#. (itstool) path: item/p +#: C/introduction.page:49 +msgid "" +"Create and manage " +"SSH keys." +msgstr "" + +#. (itstool) path: credit/name +#: C/key-servers-add.page:18 C/misc-key-backup.page:22 +#: C/passwords-view.page:21 C/pgp-create.page:27 C/pgp-delete.page:21 +#: C/ssh-create.page:20 +msgid "Hashem Nasarat" +msgstr "Хашем Насарат (Hashem Nasarat)" + +#. (itstool) path: credit/years +#: C/key-servers-add.page:20 C/misc-key-backup.page:24 +#: C/passwords-view.page:23 C/pgp-create.page:29 C/pgp-delete.page:23 +#: C/ssh-create.page:22 +msgid "2014" +msgstr "2014" + +#. (itstool) path: info/desc +#: C/key-servers-add.page:23 +msgid "" +"Make additions to the list of keyservers in Passwords and Keys" +msgstr "" + +#. (itstool) path: page/title +#: C/key-servers-add.page:27 +msgid "Add a keyserver" +msgstr "" + +#. (itstool) path: page/p +#: C/key-servers-add.page:28 +#, fuzzy +#| msgid "" +#| "The Passwords and Encryption Keys window " +#| "contains the following elements:" +msgid "" +"Passwords and Keys have the following keyservers listed by " +"default:" +msgstr "" +"Окно Пароли и ключи шифрования состоит из " +"следующих частей:" + +#. (itstool) path: item/p +#: C/key-servers-add.page:32 +msgid "hkp://pool.sks-keyservers.net" +msgstr "hkp://pool.sks-keyservers.net" + +#. (itstool) path: item/p +#: C/key-servers-add.page:35 +msgid "ldap://keyserver.pgp.com" +msgstr "ldap://keyserver.pgp.com" + +#. (itstool) path: steps/title +#: C/key-servers-add.page:40 +msgid "To add a keyserver" +msgstr "" + +#. (itstool) path: item/p +#: C/key-servers-add.page:42 +#, fuzzy +#| msgid "" +#| "Choose EditPreferences," +msgid "" +"Select Edit Preferences" +msgstr "" +"выберите ПравкаПараметры;" + +#. (itstool) path: item/p +#: C/key-servers-add.page:46 +#, fuzzy +#| msgid "Click on Add Name." +msgid "Press the Add button." +msgstr "нажмите Добавить." + +#. (itstool) path: item/p +#: C/key-servers-add.page:49 +msgid "" +"In the new dialog, select the appropriate Key Server Type. Key " +"servers are identified by the protocol they use to communicate. Look for the " +"first few letters in the Internet URL of your key server to identify its " +"type." +msgstr "" + +#. (itstool) path: item/p +#: C/key-servers-add.page:55 +msgid "" +"In the Host field, paste the Internet URL of your " +"key server. Consult the documentation for the key server you're adding to " +"see if it operates on a non-standard port. If so, enter the port after the " +"':'. If you're unsure, leave the text box after the ':' blank." +msgstr "" + +#. (itstool) path: item/p +#: C/key-servers-add.page:62 C/pgp-create.page:62 +msgid "Press OK to finish." +msgstr "" + +#. (itstool) path: info/desc +#: C/keyring-change-default.page:19 +msgid "Save new passwords to a different keyring by default." +msgstr "" + +#. (itstool) path: page/title +#: C/keyring-change-default.page:22 +msgid "Change the default keyring" +msgstr "" + +#. (itstool) path: page/p +#: C/keyring-change-default.page:24 +msgid "" +"When you add a new password, " +"it is normally added to the default keyring. If you want to add it to a " +"different keyring, you can chose another one while adding the new password, " +"but you can also change the default keyring. The default keyring is normally " +"the Login keyring." +msgstr "" + +#. (itstool) path: steps/title +#: C/keyring-change-default.page:32 +msgid "To change the default keyring:" +msgstr "" + +#. (itstool) path: item/p +#: C/keyring-change-default.page:34 +msgid "" +"Select your choice for the default keyring from the list of keyrings under " +"Passwords on the left side panel." +msgstr "" + +#. (itstool) path: item/p +#: C/keyring-change-default.page:38 +#, fuzzy +#| msgid "" +#| "Right click on any selected file and choose Encrypt," +msgid "" +"Right click on the selected keyring and select Set as default." +msgstr "" +"щёлкните правой кнопкой мыши на любом из выделенных файлов и выберите " +"Зашифровать;" + +#. (itstool) path: note/p +#: C/keyring-change-default.page:44 +msgid "" +"Passwords to some GNOME applications are stored automatically by " +"Passwords and Keys in the Login keyring because it is " +"the default keyring. When you change the default keyring, any new passwords " +"created for GNOME applications will be stored in the new default keyring " +"while GNOME application passwords created before the change will remain in " +"the Login keyring." +msgstr "" + +#. (itstool) path: info/desc +#: C/keyring-create.page:26 +msgid "Use password keyrings to group stored passwords." +msgstr "" + +#. (itstool) path: page/title +#: C/keyring-create.page:29 +#, fuzzy +#| msgid "Create new keys." +msgid "Create a new keyring" +msgstr "создать новые ключи." + +#. (itstool) path: page/p +#: C/keyring-create.page:31 +msgid "" +"Use keyrings to group related passwords. You " +"can choose to protect your keyring with a password." +msgstr "" + +#. (itstool) path: steps/title +#: C/keyring-create.page:35 +#, fuzzy +#| msgid "Create new keys." +msgid "Create a new password keyring:" +msgstr "создать новые ключи." + +#. (itstool) path: item/p +#: C/keyring-create.page:37 C/passwords-stored-create.page:31 +#, fuzzy +#| msgid "" +#| "Choose KeyCreate New Key" +msgid "" +"Select File New…." +msgstr "" +"Выберите КлючСоздать новый ключ." + +#. (itstool) path: item/p +#: C/keyring-create.page:41 +#, fuzzy +#| msgid "" +#| "Select PGP Key and click Continue" +msgid "" +"Choose Password Keyring and press Continue." +msgstr "" +"Выберите Ключ PGP и нажмите Продолжить" + +#. (itstool) path: item/p +#: C/keyring-create.page:45 +msgid "" +"Choose a name for your new keyring, then press OK to continue." +msgstr "" + +#. (itstool) path: item/p +#: C/keyring-create.page:50 +msgid "" +"To password protect your keyring, choose a password, and retype it to " +"confirm your choice. Leave both the fields blank if you want your keyring to " +"remain unlocked at all times." +msgstr "" + +#. (itstool) path: item/p +#: C/keyring-create.page:58 +msgid "" +"Press Continue to finish creating the keyring. " +"If you have not protected your keyring with a password, you will need to " +"confirm that this is how you want to proceed." +msgstr "" + +#. (itstool) path: page/p +#: C/keyring-create.page:64 +msgid "Your new keyring will now be listed under Passwords." +msgstr "" + +#. (itstool) path: info/desc +#: C/keyring-lock.page:20 +msgid "" +"Lock and password protect your password keyrings to control access to the " +"passwords stored in them." +msgstr "" + +#. (itstool) path: page/title +#: C/keyring-lock.page:24 +#, fuzzy +#| msgid "Backup your keys and keyring," +msgid "Lock your keyrings" +msgstr "делать резервные копии ключей и брелока;" + +#. (itstool) path: page/p +#: C/keyring-lock.page:26 +msgid "" +"To safe-keep your passwords, store them in a password-protected keyring. " +"When a password-protected keyring is locked, the passwords in it are kept " +"hidden till someone unlocks the keyring " +"with the correct password." +msgstr "" + +#. (itstool) path: note/p +#: C/keyring-lock.page:32 +msgid "" +"You can choose to protect your keyring with a password while creating it." +msgstr "" + +#. (itstool) path: steps/title +#: C/keyring-lock.page:37 +#, fuzzy +#| msgid "Backup your keys and keyring," +msgid "To lock your password keyring:" +msgstr "делать резервные копии ключей и брелока;" + +#. (itstool) path: item/p +#: C/keyring-lock.page:39 +msgid "" +"From the list of keyrings under Passwords on the left side panel, " +"select the keyring to be locked." +msgstr "" + +#. (itstool) path: item/p +#: C/keyring-lock.page:43 +msgid "" +"Right click on the selected keyring and select Lock, or click on " +"the small picture of an opened lock next to the name of the password keyring." +msgstr "" + +#. (itstool) path: info/desc +#: C/keyring-unlock.page:20 +msgid "To view passwords stored inside a locked keyring, unlock it." +msgstr "" + +#. (itstool) path: page/title +#: C/keyring-unlock.page:23 +#, fuzzy +#| msgid "Backup your keys and keyring," +msgid "Unlock your keyrings" +msgstr "делать резервные копии ключей и брелока;" + +#. (itstool) path: page/p +#: C/keyring-unlock.page:24 +msgid "" +"A keyring may often be locked to protect " +"the passwords it contains, similar to locking important things safely inside " +"a trunk. In order to look at your passwords, you must unlock the keyring " +"first." +msgstr "" + +#. (itstool) path: steps/title +#: C/keyring-unlock.page:30 +msgid "To unlock your keyring:" +msgstr "" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:32 +msgid "" +"Select the keyring to be unlocked from the panel on your left. It is listed " +"under Passwords." +msgstr "" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:36 +msgid "" +"Right click on the selected keyring and select Unlock from the " +"menu, or alternatively, click the small picture of a closed lock next to the " +"keyring name to unlock the keyring." +msgstr "" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:41 +msgid "" +"If the keyring is password-protected, you will be prompted for a password to " +"unlock the keyring. Enter the correct password in the Password " +"field and press Unlock to finish." +msgstr "" + +#. (itstool) path: note/p +#: C/keyring-unlock.page:49 +msgid "" +"You can choose to password-protect your keyrings while creating them." +msgstr "" + +#. (itstool) path: info/desc +#: C/keyring-update-password.page:20 +msgid "" +"Keep updating the passwords to your keyrings to ensure that they are " +"protected well." +msgstr "" + +#. (itstool) path: page/title +#: C/keyring-update-password.page:25 +#, fuzzy +#| msgid "Changing the Passphrase" +msgid "Update the keyring password" +msgstr "Изменение пароля" + +#. (itstool) path: page/p +#: C/keyring-update-password.page:27 +msgid "" +"The password to unlock your keyring can be " +"updated at any time." +msgstr "" + +#. (itstool) path: steps/title +#: C/keyring-update-password.page:31 +msgid "To update the password for a password keyring:" +msgstr "" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:33 +msgid "" +"Select the password keyring from the list, under Passwords, on " +"the left side panel." +msgstr "" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:37 +msgid "" +"Right click on the selected password keyring and select Change " +"Password." +msgstr "" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:41 +msgid "" +"Type your old password to authenticate yourself and press Continue." +msgstr "" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:45 +msgid "" +"In the new dialog, type your new password, retype it to confirm the new " +"password and press the Continue button to finish." +msgstr "" + +#. (itstool) path: info/desc +#: C/keyring.page:30 +msgid "A keyring is used to group related passwords and keys." +msgstr "" + +#. (itstool) path: page/title +#: C/keyring.page:33 +msgid "What is a keyring?" +msgstr "" + +#. (itstool) path: page/p +#: C/keyring.page:35 +msgid "" +"Much like a keyring in real life allows you to keep certain sets of keys " +"together, a keyring in Passwords and Keys allows you to keep " +"passwords and keys in separate groups." +msgstr "" + +#. (itstool) path: page/p +#: C/keyring.page:39 +msgid "" +"When you open Passwords and Keys for the first time, you will see " +"keys and password grouped together. In the Login keyring, you may " +"find stored passwords for GNOME applications such as Epiphany, " +"Accounts etc. The Login keyring is the default keyring " +"in Passwords and keys." +msgstr "" + +#. (itstool) path: p/link +#: C/legal.xml:4 +msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" +msgstr "" + +#. (itstool) path: license/p +#: C/legal.xml:3 +msgid "This work is licensed under a <_:link-1/>." +msgstr "" + +#. (itstool) path: info/desc +#: C/misc-key-backup.page:27 +msgid "Keep a copy of your keys in an external device." +msgstr "" + +#. (itstool) path: page/title +#: C/misc-key-backup.page:30 +msgid "Securely back-up your keys" +msgstr "" + +#. (itstool) path: page/p +#: C/misc-key-backup.page:32 +msgid "" +"It is always advisable to save a copy of your keys on an external memory " +"device like a USB drive. The device should then be kept locked or stored " +"somewhere safe. This way you will always have a copy of the key if your " +"computer breaks or if the data on your computer is corrupted in some way." +msgstr "" + +#. (itstool) path: steps/title +#: C/misc-key-backup.page:38 +#, fuzzy +#| msgid "Backup your keys and keyring," +msgid "To back-up your keys:" +msgstr "делать резервные копии ключей и брелока;" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:40 +msgid "Export your key files:" +msgstr "" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:42 +msgid "Export your PGP keys." +msgstr "" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:43 +msgid "Export your SSH keys." +msgstr "" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:47 +msgid "Copy the exported files on an external disk." +msgstr "" + +#. (itstool) path: info/desc +#: C/misc-key-fingerprint.page:21 +#, fuzzy +#| msgid "" +#| "The fingerprint is a unique string of characters that exactly identifies " +#| "a key." +msgid "" +"The key fingerprint is a unique ID for each key, often used to verify the " +"ownership of a key" +msgstr "" +"Отпечаток — это уникальная строка символов, которая точно обозначает ключ." + +#. (itstool) path: page/title +#: C/misc-key-fingerprint.page:25 +msgid "What is a key fingerprint?" +msgstr "" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:27 +msgid "" +"The fingerprint of a key is a unique sequence of letters and numbers used to " +"identify the key. Just like the fingerprints of two different people, the " +"fingerprints of two different keys can never be identical. The fingerprint " +"is the best way to identify a particular key." +msgstr "" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:32 +msgid "" +"A key has several properties like the name and email of the key owner, key " +"type, key expiration date and so on. When you are searching for a public key " +"and you find multiple keys with the same properties, the only way to " +"identify the key you are looking for is to compare the fingerprints of the " +"two keys with the fingerprint of the key you require." +msgstr "" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:38 +msgid "" +"It is the fingerprint of a key that is verified when you try to login to a " +"remote computer using SSH. While signing a PGP key, you must always check the key fingerprint and " +"verify the key owner's identity to ensure that you are signing the correct " +"key." +msgstr "" + +#. (itstool) path: section/title +#: C/misc-key-fingerprint.page:45 +#, fuzzy +#| msgid "Starting Passwords and Encryption Keys" +msgid "Fingerprints on Passwords and Keys" +msgstr "Запуск Паролей и ключей шифрования" + +#. (itstool) path: section/p +#: C/misc-key-fingerprint.page:47 +msgid "" +"You can look at the fingerprint of a key on Passwords and Keys by " +"checking the properties of the key." +msgstr "" + +#. (itstool) path: steps/title +#: C/misc-key-fingerprint.page:51 +msgid "To check the fingerprint of a key:" +msgstr "" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:53 C/pgp-photoid.page:44 C/pgp-publish.page:36 +#: C/subkeys-add.page:31 +msgid "Select GnuPG keys from the left side panel." +msgstr "" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:56 C/pgp-expiration-change.page:31 +#, fuzzy +#| msgid "Select the key from the main window," +msgid "Select the PGP key from the list." +msgstr "выделите ключ в главном окне;" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:59 +#, fuzzy +#| msgid "" +#| "Right click on any selected file and choose Encrypt," +msgid "" +"Right click the key and select Properties." +msgstr "" +"щёлкните правой кнопкой мыши на любом из выделенных файлов и выберите " +"Зашифровать;" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:63 C/pgp-expiration-change.page:37 +#, fuzzy +#| msgid "Select the Details tab." +msgid "In the new dialog, select the Details tab." +msgstr "выберите вкладку Подробности." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:66 +msgid "You can see the fingerprint of the key on the left hand side." +msgstr "" + +#. (itstool) path: info/desc +#: C/passwords-stored-create.page:18 +msgid "Passwords and keys can remember your passwords for you." +msgstr "" + +#. (itstool) path: page/title +#: C/passwords-stored-create.page:22 +msgid "Store your passwords" +msgstr "" + +#. (itstool) path: page/p +#: C/passwords-stored-create.page:24 +msgid "" +"Passwords and Keys automatically stores passwords for certain " +"GNOME applications in the Login keyring. Additionally, you can " +"store any other password you want to remember." +msgstr "" + +#. (itstool) path: steps/title +#: C/passwords-stored-create.page:29 +msgid "To create a new stored password:" +msgstr "" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:35 +#, fuzzy +#| msgid "" +#| "Select Secure Shell Key and click " +#| "Continue" +msgid "" +"Select Stored Password from the list and press Continue." +msgstr "" +"Выберите Ключ SSH и нажмите Продолжить." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:39 +msgid "" +"Select the password keyring in which you want to store your password from " +"the Keyring menu." +msgstr "" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:43 +msgid "" +"You can add additional information about the password in the " +"Description field, like the date of creation, or the name of the " +"application it protects, etc." +msgstr "" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:48 +msgid "" +"Type the password in the Password field. You can tick the Show password checkbox if you want to see the " +"password text while typing it out." +msgstr "" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:53 +msgid "Press the Add button to finish." +msgstr "" + +#. (itstool) path: note/p +#: C/passwords-stored-create.page:58 +msgid "" +"The default keyring is displayed as the first choice in the Keyring drop down menu. You can change " +"the default keyring." +msgstr "" + +#. (itstool) path: info/desc +#: C/passwords-view.page:26 +msgid "" +"Use Passwords and Keys to check a stored password you have " +"forgotten." +msgstr "" + +#. (itstool) path: page/title +#: C/passwords-view.page:30 +msgid "View stored passwords" +msgstr "" + +#. (itstool) path: page/p +#: C/passwords-view.page:32 +msgid "" +"If you ever forget a password stored in Passwords and Keys, you can view the contents of the " +"stored password in Passwords and Keys to refresh your memory." +msgstr "" + +#. (itstool) path: steps/title +#: C/passwords-view.page:38 +msgid "To view your passwords:" +msgstr "" + +#. (itstool) path: item/p +#: C/passwords-view.page:43 +msgid "" +"Select View By " +"keyring." +msgstr "" + +#. (itstool) path: item/p +#: C/passwords-view.page:47 +msgid "" +"Unlock the password keyring that " +"contains your password. A list of passwords stored in the keyring will be " +"displayed." +msgstr "" + +#. (itstool) path: item/p +#: C/passwords-view.page:52 +msgid "" +"Right click on the password you want to check, and select Properties." +msgstr "" + +#. (itstool) path: item/p +#: C/passwords-view.page:56 +msgid "" +"Expand the Passwords panel, if necessary, and tick the Show password checkbox to view the password." +msgstr "" + +#. (itstool) path: note/p +#: C/passwords-view.page:63 +msgid "" +"Since the contents of any unlocked keyrings are available to programs you " +"may be running, and Passwords and Keys does not seek to give a " +"false sense of security, the contents of unlocked keyrings are able to be " +"viewed without entering the password." +msgstr "" + +#. (itstool) path: note/p +#: C/passwords-view.page:67 +msgid "" +"This means that if you are logged-in, the contents of the Login " +"keyring will available without entering a password from Passwords and " +"Keys." +msgstr "" + +#. (itstool) path: note/p +#: C/passwords-view.page:70 +msgid "" +"If you need to lend your computer to another person, it is recommended that " +"you create a user account for them, or allow them to use a guest account." +msgstr "" + +#. (itstool) path: info/desc +#: C/passwords.page:22 +msgid "" +"Store passwords for various applications in Passwords and Keys. " +"Group related passwords in password keyrings to make them easy to find." +msgstr "" + +#. (itstool) path: page/title +#: C/passwords.page:28 +#, fuzzy +#| msgid "Create and manage PGP and SSH keys," +msgid "Create and manage passwords and keyrings" +msgstr "создавать и управлять ключами PGP и SSH;" + +#. (itstool) path: info/desc +#: C/pgp-create.page:32 +msgid "Create and use GnuPG keys for encrypting and signing emails." +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-create.page:35 +#, fuzzy +#| msgid "Create new keys." +msgid "Create PGP keys" +msgstr "создать новые ключи." + +#. (itstool) path: page/p +#: C/pgp-create.page:37 +msgid "To make a new PGP key:" +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-create.page:41 C/ssh-create.page:35 +msgid "Select FileNew…." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-create.page:44 +#, fuzzy +#| msgid "" +#| "Select PGP Key and click Continue" +msgid "" +"Select PGP Key from the list and press Continue." +msgstr "" +"Выберите Ключ PGP и нажмите Продолжить" + +#. (itstool) path: item/p +#: C/pgp-create.page:48 +msgid "Enter your full name in the Full Name field." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-create.page:51 +msgid "Optionally, add your email address and a comment to describe the key." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-create.page:55 +#, fuzzy +#| msgid "Select the Details tab." +msgid "Press Create." +msgstr "выберите вкладку Подробности." + +#. (itstool) path: item/p +#: C/pgp-create.page:58 +msgid "" +"In the password dialog, enter a password for the key. Retype the password to " +"confirm your choice." +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-create.page:66 +msgid "" +"Passwords and Keys will take some time to generate your key. " +"While your key is being created, move your mouse around, press some keys on " +"your keyboard, or browse the web. This will help Passwords and Keys to create a truly random key. The key will be listed under GnuPG " +"keys." +msgstr "" + +#. (itstool) path: note/p +#: C/pgp-create.page:73 +msgid "" +"The Full Name, Email Address and Comment " +"details of a GnuPG key are called the user ID of the key." +msgstr "" + +#. (itstool) path: section/title +#: C/pgp-create.page:79 +#, fuzzy +#| msgid "Advanced options" +msgid "Advanced PGP key options" +msgstr "Дополнительные параметры" + +#. (itstool) path: section/p +#: C/pgp-create.page:81 +#, fuzzy +#| msgid "" +#| "Expand the Advanced key options section to specify " +#| "the following options for a new key:" +msgid "" +"Expand the Advanced key options panel to choose custom values for " +"key type, key strength and key expiration date." +msgstr "" +"Разверните раздел Дополнительные параметры ключа, чтобы " +"указать следующие параметры для нового ключа:" + +#. (itstool) path: item/title +#: C/pgp-create.page:86 +#, fuzzy +#| msgid "Key Type" +msgid "Key type" +msgstr "Тип ключа" + +#. (itstool) path: item/p +#: C/pgp-create.page:87 +msgid "" +"Depending on your needs, create keys that can be used for signing only or " +"for both encryption and signing. The RSA and DSA-Elgamal algorithms generate " +"equally secure keys." +msgstr "" + +#. (itstool) path: item/title +#: C/pgp-create.page:92 +#, fuzzy +#| msgid "Key Length" +msgid "Key Strength" +msgstr "Длина ключа" + +#. (itstool) path: item/p +#: C/pgp-create.page:93 +msgid "" +"The key strength is measured in terms of the size of the key in bits. It is " +"difficult and more time consuming to break a strong key, but strong keys " +"will slow down the encryption and signing process. You should choose your " +"key strength in Passwords and Keys depending on how long you want " +"to use the key. A small key is sufficient for short term use while a large " +"key is more suitable for long term use." +msgstr "" + +#. (itstool) path: item/title +#: C/pgp-create.page:101 +msgid "Expiration Date" +msgstr "Срок истечения" + +#. (itstool) path: item/p +#: C/pgp-create.page:102 +msgid "" +"When a key expires, certain actions no longer " +"work. In Passwords and Keys, you can either set your key " +"to Never Expire, or select an expiration date " +"and time for it." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-create.page:106 +msgid "" +"It is recommended that you set an expiration date in case you lose access to " +"the key. Even if your key expires, you can change the expiration to a later date." +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-delete.page:26 +msgid "" +"Delete local copies of your keys or the keys of people you communicate with." +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-delete.page:30 +#, fuzzy +#| msgid "Deleting a Subkey" +msgid "Delete an existing key" +msgstr "Удаление подключа" + +#. (itstool) path: page/p +#: C/pgp-delete.page:32 +msgid "" +"If you are no longer communicating with someone, you can delete the copy of " +"their GnuPG key on your computer using Passwords and Keys. You " +"can also permanently delete a key you own as long it has never been " +"published on a key server. Deleting a GnuPG key deletes both the public key " +"and the secret key." +msgstr "" + +#. (itstool) path: steps/title +#: C/pgp-delete.page:39 +#, fuzzy +#| msgid "Deleting a Subkey" +msgid "To delete a key:" +msgstr "Удаление подключа" + +#. (itstool) path: item/p +#: C/pgp-delete.page:41 +msgid "" +"Select the key. (You may need to show all keys, with ViewShow any )" +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-delete.page:48 +#, fuzzy +#| msgid "" +#| "Right click on it and choose Delete key or choose " +#| "EditDelete Key." +msgid "" +"Right click, and choose Delete. Alternatively you can also select " +"Edit Delete to delete the key." +msgstr "" +"щёлкните на нём правой кнопкой мыши и выберите Удалить ключ, или выберите ПравкаУдалить ключ." + +#. (itstool) path: note/p +#: C/pgp-delete.page:52 +msgid "" +"When you delete a GnuPG key that has been published on a key server, you " +"only delete the key in your GnuPG keyring because a copy of the public key " +"will still be present on some key server." +msgstr "" + +#. (itstool) path: note/p +#: C/pgp-delete.page:55 +msgid "" +"If you delete your GnuPG key, this means that your private key will be " +"permanently deleted, even though your public key can still be retrieved from a key server and used to " +"encrypt messages to you that you won't be able to read! To prevent such a " +"key from being used, retrieve and revoke the key. The revoked key can then " +"be synced with a key server to prevent people " +"from retrieving and using it." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-delete.page:69 +msgid "" +"In the new dialog, confirm the deletion by ticking the I understand that this secret key will be permanently deleted " +"checkbox, and press the Delete button to finish." +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-expiration-change.page:19 +msgid "Advance or postpone the expiration date of your keys." +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-expiration-change.page:22 +msgid "Change the expiration date of your keys" +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-expiration-change.page:24 +msgid "" +"If your PGP key has expired but you wish to continue its use, you can change " +"its expiry date. You can also change the expiration settings to have a key " +"expire on an earlier date." +msgstr "" + +#. (itstool) path: steps/title +#: C/pgp-expiration-change.page:29 +msgid "To change the expiration date of a PGP key:" +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:34 +#, fuzzy +#| msgid "" +#| "Right click on any selected file and choose Encrypt," +msgid "Right click on the selected key and select Properties." +msgstr "" +"щёлкните правой кнопкой мыши на любом из выделенных файлов и выберите " +"Зашифровать;" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:42 +msgid "" +"To change the expiration date of the master key, press the small button with " +"the picture of a calendar next to Expires, on the right side of " +"the dialog. You can then select the new expiration date from the calendar." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:48 +msgid "" +"To change the expiration date of a subkey, " +"expand the Subkeys panel and select the subkey from the list. " +"Press the Expire button on the left of the panel " +"and select the new expiration date." +msgstr "" + +#. (itstool) path: note/p +#: C/pgp-expiration-change.page:59 +msgid "" +"If you are changing the expiration date of a key that has been published, " +"you must synchronize the key with the key " +"server after making the desired changes." +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-expired.page:20 +msgid "Can I still use it? Can expiration dates be changed?" +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-expired.page:23 +msgid "What happens if my key expires?" +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-expired.page:25 +msgid "When your key expires, it becomes invalid. This means:" +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-expired.page:29 +msgid "It can no longer be used to encrypt and decrypt messages." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-expired.page:32 +msgid "It cannot sign other keys or receive signatures from other keys." +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-expired.page:37 +msgid "" +"Depending on how long you want your key to be valid, you can set an expiration date for it. By default, " +"Passwords and Keys sets all keys to be valid forever. That is, " +"the keys never expire." +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-expired.page:42 +msgid "" +"The expiration date on a key can be changed anytime, even after the key has expired. However, if you " +"want to stop using the expired key, you should delete or revoke it." +msgstr "" + +#. (itstool) path: note/p +#: C/pgp-expired.page:49 +msgid "" +"If you have any messages encrypted with an expired key, you must change the " +"expiration date on the key to decrypt such messages before deleting or " +"revoking it." +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-export.page:19 +msgid "Export your public and private PGP keys to store them in keyfiles." +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-export.page:23 +#, fuzzy +#| msgid "Exporting Keys" +msgid "Export PGP keys" +msgstr "Экспорт ключей" + +#. (itstool) path: page/p +#: C/pgp-export.page:25 +msgid "" +"Export the contents of your PGP keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" + +#. (itstool) path: section/title +#: C/pgp-export.page:29 +msgid "To export your public PGP key" +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-export.page:33 C/pgp-export.page:61 C/pgp-userid-add.page:36 +#: C/pgp-userid-primary.page:32 C/pgp-userid-remove.page:31 +msgid "Select the GnuPG keys keyring from the left side panel." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-export.page:37 C/pgp-export.page:65 +msgid "" +"Select the Personal PGP key that has to be exported, from the " +"list." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-export.page:41 C/ssh-export.page:41 +msgid "Select FileExport…." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-export.page:44 +msgid "" +"To store the keys in the ASCII format, select Armored PGP keys " +"from the menu above the Export button." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-export.page:49 C/pgp-export.page:76 +msgid "" +"Choose a location for your keyfile, and press Export to finish." +msgstr "" + +#. (itstool) path: section/title +#: C/pgp-export.page:57 +msgid "To export your private PGP key" +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-export.page:69 C/ssh-export.page:64 C/subkeys-add.page:37 +#, fuzzy +#| msgid "" +#| "Right click on any selected file and choose Encrypt," +msgid "" +"Right click on the selected key and select PropertiesDetails." +msgstr "" +"щёлкните правой кнопкой мыши на любом из выделенных файлов и выберите " +"Зашифровать;" + +#. (itstool) path: item/p +#: C/pgp-export.page:73 +msgid "Press the Export button." +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-import.page:25 +msgid "Import keys from keyfiles into Passwords and Keys." +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-import.page:28 +#, fuzzy +#| msgid "Importing Keys" +msgid "Import PGP keys" +msgstr "Импорт ключей" + +#. (itstool) path: page/p +#: C/pgp-import.page:30 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports PGP keys from your computer. You can also manually " +"import a particular key, if it has not been imported already." +msgstr "" + +#. (itstool) path: steps/title +#: C/pgp-import.page:36 C/ssh-import.page:37 +msgid "How do I manually import a key?" +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-import.page:38 C/ssh-import.page:39 +msgid "" +"Select FileImport…." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-import.page:42 +msgid "" +"In the new dialog, select the key you wish to import. PGP keys end with " +"pgp or asc, GPG keys end with gpg." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-import.page:47 C/ssh-import.page:47 +#, fuzzy +#| msgid "Click on Sign." +msgid "Click Open." +msgstr "нажмите Подписать." + +#. (itstool) path: page/p +#: C/pgp-import.page:51 +msgid "" +"Once imported, the PGP and GPG keys are listed under GnuPG keys." +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-photoid.page:20 +msgid "" +"Include a photo ID with your existing keys so that people can identify them " +"easily." +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-photoid.page:24 +msgid "Attach a photo to your key" +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-photoid.page:26 +msgid "" +"You can attach a photo ID to your PGP keys so that everyone can verify the " +"ownership of your keys after looking at your photo. Though a key with an " +"attached photo will provide a slightly better level of security than a key " +"with no photo, checking the photo on a key is not as safe as checking the " +"fingerprint of the key because " +"anyone having your photos can create a key with your photo ID while the key " +"fingerprint cannot be mimicked." +msgstr "" + +#. (itstool) path: note/p +#: C/pgp-photoid.page:35 +msgid "" +"Unlike the restrictions in GPG, the photo ID you want to upload " +"need not be in the JPEG format. Passwords and Keys " +"lets you upload your photo in png, jpg and several " +"other common image formats." +msgstr "" + +#. (itstool) path: steps/title +#: C/pgp-photoid.page:42 +msgid "To attach a photo ID to a PGP key:" +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:47 +msgid "Select the PGP key." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:50 +msgid "" +"Right click on the chosen key and select Properties Owner." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:55 +msgid "" +"Press the button marked with a + on the left " +"hand side to add a photo." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:59 +msgid "Select the photo from your computer." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:62 +#, fuzzy +#| msgid "Click on Revoke." +msgid "Click Close to finish." +msgstr "Нажмите Отозвать." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:67 +msgid "" +"The photos you select should be small in size, preferably about 120 by 150 " +"pixels. Since a photo ID is always attached to its key, a large photo will " +"increase the key size and slow down all operations that use the key. " +"Passwords and Keys resizes large photos to the optimal size after " +"asking for your confirmation." +msgstr "" + +#. (itstool) path: credit/name +#: C/pgp-publish.page:15 C/pgp-retrieve-remote.page:15 +msgid "Aruna" +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-publish.page:20 +msgid "" +"Publish your public keys on key servers, or export and mail them to your friends." +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-publish.page:24 +#, fuzzy +#| msgid "Share your keys with others," +msgid "Share your public keys" +msgstr "обмениваться ключами с другими;" + +#. (itstool) path: page/p +#: C/pgp-publish.page:26 +msgid "" +"If you want people to send you encrypted communication, you must share your " +"GnuPG key with them. To share your key with a selected few " +"people, export it and mail the resulting " +"keyfile to them. To allow anyone to retrieve and use your public key, publish it on a key server." +msgstr "" + +#. (itstool) path: steps/title +#: C/pgp-publish.page:34 +msgid "How do I publish my key on a key server?" +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-publish.page:39 +msgid "" +"From the list, select the Personal PGP key you want to publish." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-publish.page:43 C/pgp-sync.page:40 +msgid "" +"Select Remote Sync " +"and Publish Keys…." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-publish.page:47 +msgid "" +"Press the Key Servers button to see the list of " +"key servers on which you can publish your public key." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-publish.page:51 +msgid "" +"To publish your key on a key server, select the key server from the " +"Publish keys to menu." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-publish.page:55 +msgid "" +"Press Close to go back to the previous dialog." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-publish.page:59 +msgid "Press Sync to finish." +msgstr "" + +#. (itstool) path: note/p +#: C/pgp-publish.page:74 +msgid "You need to be connected to the Internet while publishing your keys." +msgstr "" + +#. (itstool) path: note/title +#: C/pgp-publish.page:78 +msgid "What is a keyserver?" +msgstr "" + +#. (itstool) path: note/p +#: C/pgp-publish.page:79 +msgid "" +"Key servers are computers that store copies of public encryption keys " +"submitted to them, and share these copies with other key servers through the " +"Internet." +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-retrieve-remote.page:20 +msgid "" +"If you want to send an urgent encrypted message to someone, but do not have " +"their key, you can retrieve their key from a remote key server." +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-retrieve-remote.page:25 +msgid "Retrieve remote keys" +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:27 +msgid "" +"You can retrieve someone's public GnuPG key from the Internet and store it " +"in Passwords and Keys." +msgstr "" + +#. (itstool) path: steps/title +#: C/pgp-retrieve-remote.page:31 +#, fuzzy +#| msgid "To create a Secure Shell key:" +msgid "To retrieve a remote key:" +msgstr "Чтобы создать ключ SSH:" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:33 +msgid "" +"Select Remote Find " +"Remote Keys…." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:37 +msgid "" +"Enter information about the key you wish to retrieve in the field provided. " +"Details like key ID or the key owner's email address give more accurate " +"results than the name of the key owner." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:42 +msgid "Press the Search button." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:45 +msgid "" +"From the list of search results, select the key you want to import, right " +"click on it and select Import. Alternatively, " +"you can also press the Import button present at " +"the top of the dialog after selecting the key." +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:52 +msgid "The imported key will be listed in the GnuPG keys keyring." +msgstr "" + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:55 +msgid "" +"If you cannot see the retrieved key, please select ViewShow any." +msgstr "" + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:60 +msgid "" +"If you want more information about a key, before importing it, select it, " +"and press the properties button found at the top of the dialog. " +"Alternatively you can also right click on the key and select Properties. This opens a new window that displays " +"information like the key ID, key fingerprint, level of trust, owner's name, " +"etc." +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-sign.page:19 +msgid "If you trust a key, you can sign it." +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-sign.page:22 +#, fuzzy +#| msgid "Signing a Key" +msgid "Sign keys" +msgstr "Подписывание ключа" + +#. (itstool) path: page/p +#: C/pgp-sign.page:24 +msgid "" +"To show that you trust and vouch for the genuineness of someone's key, you " +"can sign it. A person's key must be signed only after you compare the user ID on the key with a valid proof of their " +"identity, such as a passport, driver's license, or similar. If the two IDs " +"match, the key is said to be trustworthy." +msgstr "" + +#. (itstool) path: steps/title +#: C/pgp-sign.page:31 +msgid "To sign a key:" +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-sign.page:33 +msgid "" +"Import the remote key or keyfile containing the key to be signed into " +"Passwords and Keys." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-sign.page:38 +msgid "From the list of GnuPG keys select the imported key." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-sign.page:41 +msgid "" +"Right click the key and select PropertiesTrust." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-sign.page:45 +#, fuzzy +#| msgid "Click on Sign." +msgid "Press the Sign this Key button." +msgstr "нажмите Подписать." + +#. (itstool) path: item/p +#: C/pgp-sign.page:48 +msgid "" +"Depending on how carefully you have checked the key, choose one out of Not at all, Casually or Very carefully." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-sign.page:54 +msgid "" +"Decide if you want to revoke your signature at a later date and if you want " +"to make your signature public, by ticking the checkboxes provided." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-sign.page:59 +msgid "" +"When you own more than one PGP key, select the key you want to sign with, " +"from the list next to Signer." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-sign.page:63 +#, fuzzy +#| msgid "Click on Sign." +msgid "Press the Sign button to finish." +msgstr "нажмите Подписать." + +#. (itstool) path: note/title +#: C/pgp-sign.page:68 +msgid "Can I sign my own keys?" +msgstr "" + +#. (itstool) path: note/p +#: C/pgp-sign.page:69 +msgid "" +"When you create a new GnuPG key, " +"it is automatically signed by you. Any new subkeys created using a GnuPG key, will also be signed " +"automatically." +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-subkeys.page:19 +msgid "" +"A subkey is always bound to a master key in a PGP keypair. It is used for " +"encryption." +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-subkeys.page:23 +msgid "What is a subkey?" +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:25 +msgid "" +"Though it is very important to keep your keys safe, it can become quite " +"tedious to do so when you have many keys. Passwords and Keys " +"provides a simple solution to key safety by using subkeys for " +"signing and encryption." +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:30 +msgid "" +"Whenever you create a new public encryption " +"key, a keypair is generated instead of a single key. This keypair " +"consists of a main key, also called the master key and a " +"subkey. A master key can be used to create additional subkeys that " +"are then bound to it." +msgstr "" + +#. (itstool) path: list/title +#: C/pgp-subkeys.page:37 +msgid "What does each key in a keypair do?" +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:39 +msgid "" +"The master key is used for signing " +"other keys, creating subkeys and revoking subkeys. Your master key must be kept very safe. Signatures of trust " +"are also collected on your master key. If the master key is compromised, you " +"have no choice but to revoke it and all the subkeys attached to it." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:47 +msgid "" +"The default subkey is used for encryption and decryption of " +"messages. Additional subkeys can be created for signing. Though it is " +"important that your subkeys are kept safe, you can always revoke a subkey if " +"it is compromised and create a new one with the original master key." +msgstr "" + +#. (itstool) path: section/title +#: C/pgp-subkeys.page:56 +msgid "More about subkeys" +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-sync.page:20 +msgid "" +"Synchronize information present in your local key with the corresponding key " +"on a key server." +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-sync.page:24 +msgid "Synchronize your keys" +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-sync.page:26 +msgid "" +"PGP keys in your keyring have to be synchronized with a key server to ensure " +"that any changes made to the key on the key server, like a new signature, " +"are updated in your local copy of the key. Similarly, when you change " +"information on your local key copy, like the expiration date, or when you " +"sign someone's key, you should synchronize the keys to update the changes on " +"the remote copy of the key. You need a working Internet connection to " +"synchronize your keys." +msgstr "" + +#. (itstool) path: steps/title +#: C/pgp-sync.page:35 +msgid "How do I synchronize a key?" +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-sync.page:37 +msgid "Select the PGP key you wish to synchronize." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-sync.page:44 +#, fuzzy +#| msgid "Click on the Delete button on the left." +msgid "" +"Click the Sync button to synchronize your key." +msgstr "Нажмите кнопку Удалить слева." + +#. (itstool) path: note/title +#: C/pgp-sync.page:50 +msgid "Why is the Sync button not clickable?" +msgstr "" + +#. (itstool) path: note/p +#: C/pgp-sync.page:52 +msgid "" +"Only PGP keys that have been published on a key server can be synchronized. " +"If the Sync button is not clickable, check if " +"the key has been published on a key server. In the case of synchronizing " +"your own keys, publish them, before synchronizing them." +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-userid-add.page:20 +msgid "" +"Having many user IDs helps you to use the same key to communicate with " +"different people." +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-userid-add.page:24 +msgid "Add extra user IDs to a key" +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:26 +msgid "" +"A key can have multiple user IDs. This is helpful when you want to use the " +"same key while communicating with several people and one of them does not " +"recognize, say, the email address in your user ID. This person may not want " +"to import your public key since it contains information that they do not " +"know. In such scenarios, if you do not want to create a new key with a " +"different user ID, you can attach a new user ID to your existing key." +msgstr "" + +#. (itstool) path: steps/title +#: C/pgp-userid-add.page:34 +#, fuzzy +#| msgid "Adding a User ID" +msgid "To add an extra user ID:" +msgstr "Добавление идентификатора пользователя" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:39 +msgid "From the list, select the Personal PGP key of your choice." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:43 +msgid "" +"Right click on the key and select Properties Names " +"and Signatures." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:47 +#, fuzzy +#| msgid "Click on Add Name." +msgid "" +"Click the Add Name button to add a new user ID." +msgstr "нажмите Добавить." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:51 +msgid "" +"In the new dialog, fill in details like Full Name, Email " +"Address and Key Comment for the new user ID." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:56 +#, fuzzy +#| msgid "Enter the new passphrase and click OK." +msgid "" +"Enter the correct passphrase and click OK to " +"finish." +msgstr "Введите новый пароль и нажмите OK." + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:61 +msgid "" +"Your new user ID will now be listed under the Names and Signatures panel." +msgstr "" + +#. (itstool) path: note/p +#: C/pgp-userid-add.page:65 +msgid "" +"If your key has been published on a key server, synchronize it after adding new user IDs to update the remote copy " +"of the key." +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-userid-primary.page:19 +msgid "Change your default user ID" +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-userid-primary.page:22 +msgid "What is a primary user ID?" +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:24 +msgid "" +"When you have multiple user IDs, one of the user IDs is made the primary " +"user ID. Passwords and Keys will attach the primary user ID by " +"default with your key information, while encrypting or signing, unless you " +"explicitly choose another user ID instead." +msgstr "" + +#. (itstool) path: steps/title +#: C/pgp-userid-primary.page:30 +msgid "To change the primary user ID in a PGP key:" +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:35 C/subkeys-add.page:34 +msgid "Select the Personal PGP key from the list." +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:38 +#, fuzzy +#| msgid "" +#| "Right click on any selected file and choose Sign," +msgid "" +"Right click on the selected key and select Properties " +"Names and Signatures." +msgstr "" +"щёлкните правой кнопкой мыши на любом из выделенных файлов и выберите " +"Подписать;" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:43 +msgid "" +"Select the new primary user ID from the list and click Primary." +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:48 +msgid "" +"The user ID will move to the top of the Names and Signatures list " +"to become your primary user ID." +msgstr "" + +#. (itstool) path: note/p +#: C/pgp-userid-primary.page:52 +msgid "" +"Sync your keys after changing your primary user ID to update the remote " +"copies of your key." +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-userid-remove.page:20 +msgid "Remove extra user IDs" +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-userid-remove.page:23 +msgid "Detach a user ID from a key" +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-userid-remove.page:25 +msgid "" +"While it is essential that all keys have at least one user ID, you can " +"remove any additional user IDs that you have attached to the key." +msgstr "" + +#. (itstool) path: steps/title +#: C/pgp-userid-remove.page:29 +msgid "To remove a user ID from a PGP key:" +msgstr "" + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:34 +#, fuzzy +#| msgid "Select the Details tab." +msgid "Select the Personal PGP key list." +msgstr "выберите вкладку Подробности." + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:37 +#, fuzzy +#| msgid "" +#| "Right click on any selected file and choose Sign," +msgid "" +"Right click on the selected key and choose Properties " +"Names and Signatures." +msgstr "" +"щёлкните правой кнопкой мыши на любом из выделенных файлов и выберите " +"Подписать;" + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:42 +#, fuzzy +#| msgid "" +#| "Select the people you want to encrypt the text to, and click " +#| "OK." +msgid "" +"Select the user ID you want to remove and click Delete." +msgstr "" +"выберите людей, для которых хотите зашифровать текст, и нажмите " +"OK." + +#. (itstool) path: note/p +#: C/pgp-userid-remove.page:48 +msgid "" +"Synchronize your keys after detaching the " +"user ID to update the changes on the remote copy of the key." +msgstr "" + +#. (itstool) path: info/desc +#: C/pgp-userid.page:19 +msgid "Create keys with good user IDs and learn to add and remove user IDs." +msgstr "" + +#. (itstool) path: page/title +#: C/pgp-userid.page:23 +msgid "What is a user ID?" +msgstr "" + +#. (itstool) path: page/p +#: C/pgp-userid.page:25 +msgid "" +"When you create a key, you provide details, like your name, email and a key " +"description. This information together constitutes a user ID. A good user ID " +"helps people to recognize your key when they are trying to retrieve or import " +"it. It is important to fill in authentic information while creating your " +"user ID." +msgstr "" + +#. (itstool) path: section/title +#: C/pgp-userid.page:33 +#, fuzzy +#| msgid "Adding a User ID" +msgid "Add, remove user IDs" +msgstr "Добавление идентификатора пользователя" + +#. (itstool) path: info/desc +#: C/pgp.page:21 +msgid "" +"A PGP key is a public encryption key that can be used to sign and encrypt " +"emails and files. When you create a PGP key, a keypair having a public key " +"and a private key is generated. You can share the public key with anyone who " +"wishes to send you encrypted messages or files, but the private key must be " +"known only to you and used to decrypt received messages." +msgstr "" + +#. (itstool) path: page/title +#: C/pgp.page:28 +#, fuzzy +#| msgid "Create and manage PGP and SSH keys," +msgid "Create and manage PGP key" +msgstr "создавать и управлять ключами PGP и SSH;" + +#. (itstool) path: info/desc +#: C/ssh-connect-remote.page:23 +msgid "Use SSH keys to log in to another computer without entering a password." +msgstr "" + +#. (itstool) path: page/title +#: C/ssh-connect-remote.page:27 +msgid "Connect to other computers" +msgstr "" + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:29 +msgid "" +"You can use Passwords and Keys to install your SSH key onto a " +"remote computer that can run an SSH server. You can also set up your SSH key for remote login " +"while creating the key." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:36 +msgid "" +"Right click on the SSH key and select Configure Key for " +"Secure Shell…." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:40 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH, and press " +"Set Up." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:45 C/ssh-create.page:101 +msgid "" +"The program will now attempt to connect to the specified Server " +"address with the entered Login Name.If there are any " +"problems in accessing the remote computer, a pop-up window will appear that " +"explains the problem, and you can try again. Make sure that you have a " +"network connection and that the remote computer is on and accessible." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:53 C/ssh-create.page:109 +msgid "" +"If connection to the remote computer was successful, a dialog box will " +"appear which asks for the Password you use to log in to the " +"remote computer. Enter your password, then press OK." +msgstr "" + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:60 +msgid "" +"You should now be able to log in to the remote computer via SSH without a " +"password." +msgstr "" + +#. (itstool) path: info/desc +#: C/ssh-create-vs-setup.page:18 +msgid "How do I create a new SSH key and set it up?" +msgstr "" + +#. (itstool) path: page/title +#: C/ssh-create-vs-setup.page:21 +msgid "SSH key creation and setup" +msgstr "" + +#. (itstool) path: page/p +#: C/ssh-create-vs-setup.page:23 +msgid "Short introductory text..." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-create-vs-setup.page:26 +msgid "First step..." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-create-vs-setup.page:27 +msgid "Second step..." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-create-vs-setup.page:28 +msgid "Third step..." +msgstr "" + +#. (itstool) path: info/desc +#: C/ssh-create.page:25 +msgid "Create SSH keys to log in to other computers." +msgstr "" + +#. (itstool) path: page/title +#: C/ssh-create.page:28 +#, fuzzy +#| msgid "Create new keys." +msgid "Create a new SSH key" +msgstr "создать новые ключи." + +#. (itstool) path: page/p +#: C/ssh-create.page:30 +msgid "" +"An SSH key will help you to create a secure connection between computers. " +"Creating an SSH key creates both a Public and a Private " +"key. Here is how to create a new key:" +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-create.page:36 +#, fuzzy +#| msgid "" +#| "Select Secure Shell Key and click " +#| "Continue" +msgid "Select Secure Shell Key and then click Continue." +msgstr "" +"Выберите Ключ SSH и нажмите Продолжить." + +#. (itstool) path: item/p +#: C/ssh-create.page:38 +msgid "" +"Enter a description for the key. The key description will help you to " +"identify the key later. For example, you could enter the date for the day, " +"something about how the key will be used, or the server name on which you " +"intend to install the key. The description field is optional, and how you " +"describe the key is entirely up to you." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-create.page:43 +msgid "" +"You can change default settings for encryption type or key strength by " +"expanding the Advanced key options panel." +msgstr "" + +#. (itstool) path: page/p +#: C/ssh-create.page:47 +msgid "" +"At this point, you can just create your key, or create your key and install " +"it on a remote computer to enable password-free login." +msgstr "" + +#. (itstool) path: section/title +#: C/ssh-create.page:51 +msgid "Create your key and do not set up remote login" +msgstr "" + +#. (itstool) path: section/p +#: C/ssh-create.page:52 +msgid "You can create the SSH key, and choose to set it up later." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-create.page:56 +msgid "Press the Just Create Key button." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-create.page:59 +msgid "" +"Type a passphrase for your SSH key and press OK." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-create.page:63 +#, fuzzy +#| msgid "Enter the new passphrase and click OK." +msgid "" +"Retype the passphrase and press OK to finish." +msgstr "Введите новый пароль и нажмите OK." + +#. (itstool) path: section/p +#: C/ssh-create.page:68 +msgid "The SSH key will now be listed in the OpenSSH keys keyring." +msgstr "" + +#. (itstool) path: note/p +#: C/ssh-create.page:72 +msgid "" +"When you try to use your SSH key, your operating system will prompt you for " +"the passphrase used during creation. This ensures that if someone gets " +"access to your SSH key, they can't use it without the passphrase." +msgstr "" + +#. (itstool) path: section/title +#: C/ssh-create.page:81 +msgid "Create your key and install it on a remote computer" +msgstr "" + +#. (itstool) path: section/p +#: C/ssh-create.page:82 +msgid "" +"One of the most useful things about having an SSH key is that you can " +"install the public key on a remote computer. Doing this allows you to log in " +"to a remote computer with SSH without needing to enter your password every " +"time." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-create.page:89 +msgid "" +"Press the Create and Set Up button, and follow " +"the instructions on entering a passphrase, above." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-create.page:93 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-create.page:97 +msgid "" +"Ensure that the Login name you use on the remote computer is " +"correct, and press Set Up." +msgstr "" + +#. (itstool) path: section/p +#: C/ssh-create.page:116 +msgid "" +"The public part of the selected SSH key will now be installed on the remote " +"computer and configured to allow password-free SSH login. You should now be " +"able to log in to the remote computer via SSH without a password." +msgstr "" + +#. (itstool) path: note/p +#: C/ssh-create.page:122 +msgid "" +"Password-free login will currently only available when done from your " +"current local computer. When logging in, the SSH program will read the " +"installed public part of the SSH key on the remote computer and verify it " +"with the private part of the SSH key on your local computer. If this " +"authentication fails or is unavailable (e.g. on other local computers you " +"may have), SSH will resort to using a login password to authenticate. You " +"may also repeat the above steps on a different local computer to install " +"more than one public key on the remote." +msgstr "" + +#. (itstool) path: info/desc +#: C/ssh-export.page:19 +msgid "Export your public and private SSH keys to store them in keyfiles." +msgstr "" + +#. (itstool) path: page/title +#: C/ssh-export.page:23 +#, fuzzy +#| msgid "Exporting Keys" +msgid "Export SSH keys" +msgstr "Экспорт ключей" + +#. (itstool) path: page/p +#: C/ssh-export.page:25 +msgid "" +"Export the contents of your SSH keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" + +#. (itstool) path: section/title +#: C/ssh-export.page:29 +msgid "To export your public SSH key:" +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-export.page:33 C/ssh-export.page:56 +msgid "Select the OpenSSH keys keyring from the left side panel." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-export.page:37 C/ssh-export.page:60 +msgid "" +"Select the Personal SSH key, that has to be exported, from the " +"list." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-export.page:44 +msgid "" +"Press the Export button to save the exported " +"public key on your computer." +msgstr "" + +#. (itstool) path: section/title +#: C/ssh-export.page:52 +msgid "To export your private SSH key:" +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-export.page:68 +msgid "" +"Press the Export Private Key button to save the " +"exported private key on your computer." +msgstr "" + +#. (itstool) path: note/p +#: C/ssh-export.page:74 +msgid "" +"Keep the exported private key file in a safe location, since the contents of " +"the file must be kept private, to prevent misuse of your key." +msgstr "" + +#. (itstool) path: info/desc +#: C/ssh-import.page:25 +msgid "Import SSH keys from keyfiles into Passwords and Keys." +msgstr "" + +#. (itstool) path: page/title +#: C/ssh-import.page:28 +#, fuzzy +#| msgid "Importing Keys" +msgid "Import SSH keys" +msgstr "Импорт ключей" + +#. (itstool) path: page/p +#: C/ssh-import.page:30 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports SSH keys from the ~/.ssh directory on " +"your computer. You can also manually import keys into Passwords and " +"Keys." +msgstr "" + +#. (itstool) path: item/p +#: C/ssh-import.page:43 +msgid "" +"In the new dialog, select the key you wish to import. Public SSH keys end " +"with .pub." +msgstr "" + +#. (itstool) path: page/p +#: C/ssh-import.page:51 +msgid "" +"Imported keys are automatically grouped according to their type. So, " +"SSH keys are listed in the OpenSSH keys section." +msgstr "" + +#. (itstool) path: info/desc +#: C/ssh.page:21 +msgid "" +"An SSH key helps you create a secure connection over an unsecured " +"network. SSH keys are most often used in situations where data " +"security is important. For example, a system administrator would use an " +"SSH key when connecting to a remote server to perform system " +"updates. A software developer would use an SSH key to submit " +"updated software code to a remote software repository." +msgstr "" + +#. (itstool) path: page/title +#: C/ssh.page:29 +#, fuzzy +#| msgid "Create and manage PGP and SSH keys," +msgid "Create and manage SSH Keys" +msgstr "создавать и управлять ключами PGP и SSH;" + +#. (itstool) path: info/desc +#: C/subkeys-add.page:20 +msgid "Additional subkeys make your master key more secure." +msgstr "" + +#. (itstool) path: page/title +#: C/subkeys-add.page:23 +#, fuzzy +#| msgid "Adding a Subkey" +msgid "Add extra subkeys" +msgstr "Добавление подключа" + +#. (itstool) path: page/p +#: C/subkeys-add.page:25 +msgid "" +"You can add extra subkeys to the same master key. You have to choose the " +"right subkey each time you want to encrypt or sign when you do this." +msgstr "" + +#. (itstool) path: steps/title +#: C/subkeys-add.page:29 +msgid "To add extra subkeys to a PGP key:" +msgstr "" + +#. (itstool) path: item/p +#: C/subkeys-add.page:41 C/subkeys-examine.page:41 +msgid "If the Subkeys panel is not expanded, expand it." +msgstr "" + +#. (itstool) path: item/p +#: C/subkeys-add.page:44 +#, fuzzy +#| msgid "Click Create to create the new key pair." +msgid "Click the Add button to add a new subkey." +msgstr "" +"Нажмите Создать, чтобы создать новую пару ключей." + +#. (itstool) path: item/p +#: C/subkeys-add.page:48 +msgid "" +"Choose the right properties for your key by selecting the appropriate " +"Key Type, Key Length and Expiration Date " +"and click OK." +msgstr "" + +#. (itstool) path: note/p +#: C/subkeys-add.page:55 +msgid "" +"Always ensure that your subkey expires before your master key since a subkey " +"is useless when its master key has expired." +msgstr "" + +#. (itstool) path: info/desc +#: C/subkeys-examine.page:20 +msgid "See all the subkeys listed under a PGP key." +msgstr "" + +#. (itstool) path: page/title +#: C/subkeys-examine.page:23 +msgid "Where are my subkeys listed?" +msgstr "" + +#. (itstool) path: page/p +#: C/subkeys-examine.page:25 +msgid "" +"You can check the contents of a keypair to see the properties of a subkey." +msgstr "" + +#. (itstool) path: steps/title +#: C/subkeys-examine.page:29 +msgid "To see all the subkeys in a PGP key:" +msgstr "" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:31 +msgid "Select the GnuPG keys from the left side panel." +msgstr "" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:34 +#, fuzzy +#| msgid "Select the Details tab." +msgid "Select the Personal PGP key." +msgstr "выберите вкладку Подробности." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:37 +msgid "" +"Right click on the key chosen in the previous step and select " +"PropertiesDetails." +msgstr "" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:44 +msgid "All the subkeys for the selected PGP key will be listed in the panel." +msgstr "" + +#. (itstool) path: note/p +#: C/subkeys-examine.page:50 +msgid "" +"While signing another key, Passwords and Keys automatically " +"chooses the master key for signing, when you select a GnuPG keys " +"keypair to sign with." +msgstr "" + +#. (itstool) path: info/desc +#: C/subkeys-revoke.page:20 +msgid "Revoke a subkey that has been compromised or is not being used." +msgstr "" + +#. (itstool) path: page/title +#: C/subkeys-revoke.page:24 +#, fuzzy +#| msgid "Revoking a Subkey" +msgid "Revoke your subkeys" +msgstr "Отзыв подключа" + +#. (itstool) path: page/p +#: C/subkeys-revoke.page:26 +msgid "" +"If your subkey has been compromised or is no longer in use, it might be a " +"good idea to revoke it to prevent misuse of the key." +msgstr "" + +#. (itstool) path: steps/title +#: C/subkeys-revoke.page:30 +#, fuzzy +#| msgid "Revoking a Subkey" +msgid "To revoke a subkey:" +msgstr "Отзыв подключа" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:32 +msgid "" +"Navigate to the Subkeys " +"panel." +msgstr "" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:47 +#, fuzzy +#| msgid "" +#| "Select the people you would like to encypt the file to, and then click " +#| "OK." +msgid "" +"Select the subkey from the list and press the Revoke button." +msgstr "" +"выберите людей, для которых вы хотите зашифровать файл, и нажмите " +"OK." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:51 +msgid "" +"In the new dialog, select a reason for revoking the key. Optionally, " +"describe your reason in more detail in the Description field." +msgstr "" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:56 +#, fuzzy +#| msgid "Click on Revoke." +msgid "Press the Revoke button." +msgstr "Нажмите Отозвать." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:59 +msgid "You will have to unlock the key with its passphrase." +msgstr "" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:62 +msgid "" +"The Status of the subkey changes to Revoked in the " +"Subkeys panel." +msgstr "" + +#. (itstool) path: note/p +#: C/subkeys-revoke.page:68 +msgid "" +"If you have published your subkey, you " +"must synchronize it with the key servers " +"after revoking it to apply the revocation on all copies of the key." +msgstr "" + +#, fuzzy +#~| msgid "" +#~| "@@image: 'figures/seahorse-window.png'; " +#~| "md5=d52b0902a24b89d5aadc50e64f471c7d" +#~ msgctxt "_" +#~ msgid "" +#~ "external ref='figures/seahorse-window.png' " +#~ "md5='d52b0902a24b89d5aadc50e64f471c7d'" +#~ msgstr "" +#~ "@@image: 'figures/seahorse-window.png'; " +#~ "md5=d52b0902a24b89d5aadc50e64f471c7d" + +#, fuzzy +#~| msgid "Passwords and Encryption Keys Manual" +#~ msgid "Passwords and Keys Manual" +#~ msgstr "Руководство по паролям и ключам шифрования" + +#~ msgid "Seahorse Project" +#~ msgstr "Проект Seahorse" + +#, fuzzy +#~| msgid "" +#~| "Permission is granted to copy, distribute and/or modify this document " +#~| "under the terms of the GNU Free Documentation License (GFDL), Version " +#~| "1.1 or any later version published by the Free Software Foundation with " +#~| "no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. " +#~| "You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this " +#~| "manual." +#~ msgid "" +#~ "Permission is granted to copy, distribute and/or modify this document " +#~ "under the terms of the GNU Free Documentation License (GFDL), Version 1.1 " +#~ "or any later version published by the Free Software Foundation with no " +#~ "Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You " +#~ "can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this manual." +#~ msgstr "" +#~ "Разрешается копировать, распространять и/или изменять этот документ на " +#~ "условиях лицензии GNU Free Documentation License (GFDL), версии 1.1 или " +#~ "любой более поздней версии, опубликованной Фондом свободного программного " +#~ "обеспечения (Free Software Foundation), без неизменяемых частей и без " +#~ "текстов на обложках. Вы можете найти копию лицензии GFDL по этой ссылке или в файле COPYING-DOCS, " +#~ "распространяемом с этим документом." + +#~ msgid "" +#~ "This manual is part of a collection of GNOME manuals distributed under " +#~ "the GFDL. If you want to distribute this manual separately from the " +#~ "collection, you can do so by adding a copy of the license to the manual, " +#~ "as described in section 6 of the license." +#~ msgstr "" +#~ "Это руководство — часть документации GNOME, которая распространяется на " +#~ "условиях лицензии GFDL. Если вы хотите распространять это руководство " +#~ "отдельно от остальной документации, вам следует приложить к руководству " +#~ "копию лицензии, как описано в разделе 6 лицензии." + +#~ msgid "" +#~ "Many of the names used by companies to distinguish their products and " +#~ "services are claimed as trademarks. Where those names appear in any GNOME " +#~ "documentation, and the members of the GNOME Documentation Project are " +#~ "made aware of those trademarks, then the names are in capital letters or " +#~ "initial capital letters." +#~ msgstr "" +#~ "Некоторые имена и марки используются компаниями для обозначения их " +#~ "продуктов и услуг и являются торговыми марками. Там, где эти имена " +#~ "присутствуют в документации и где участники проекта документирования " +#~ "GNOME знают об этом, имена выделяются заглавными буквами или начальной " +#~ "заглавной буквой." + +#~ msgid "" +#~ "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, " +#~ "EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES " +#~ "THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS " +#~ "MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE " +#~ "RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR " +#~ "MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR " +#~ "MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL " +#~ "WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY " +#~ "SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES " +#~ "AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED " +#~ "VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS " +#~ "DISCLAIMER; AND" +#~ msgstr "" +#~ "ДОКУМЕНТ РАСПРОСТРАНЯЕТСЯ «КАК ЕСТЬ», БЕЗ ВСЯКИХ ГАРАНТИЙ, ЯВНЫХ ИЛИ " +#~ "НЕЯВНЫХ, ВКЛЮЧАЯ, БЕЗ ОГРАНИЧЕНИЙ, ГАРАНТИИ ТОГО, ЧТО ДОКУМЕНТ ИЛИ " +#~ "ИЗМЕНЁННАЯ ВЕРСИЯ ДОКУМЕНТА СВОБОДНА ОТ ДЕФЕКТОВ, ПРИГОДНА К ПРОДАЖЕ, " +#~ "ПРИГОДНА К ИСПОЛЬЗОВАНИЮ В ОПРЕДЕЛЁННЫХ ЦЕЛЯХ ИЛИ НЕ НАРУШАЕТ ЗАКОНЫ. " +#~ "ВЕСЬ РИСК, КАСАЮЩИЙСЯ КАЧЕСТВА, ТОЧНОСТИ ИЛИ ПРАВИЛЬНОСТИ ДОКУМЕНТА ИЛИ " +#~ "ИЗМЕНЁННЫХ ВЕРСИЙ ДОКУМЕНТА, ЛЕЖИТ НА ВАС. ЕСЛИ ДОКУМЕНТ ИЛИ ИЗМЕНЁННАЯ " +#~ "ВЕРСИЯ ДОКУМЕНТА ИМЕЕТ НЕДОСТАТКИ, ВЫ (А НЕ АВТОР ДОКУМЕНТА ИЛИ ЕГО " +#~ "ПОМОЩНИК) БЕРЁТЕ НА СЕБЯ СТОИМОСТЬ ЛЮБОЙ НЕОБХОДИМОЙ ДОРАБОТКИ, КОРРЕКЦИИ " +#~ "ИЛИ ВОССТАНОВЛЕНИЯ. ЭТОТ ОТКАЗ ОТ ГАРАНТИЙ СОСТАВЛЯЕТ ВАЖНУЮ ЧАСТЬ " +#~ "ЛИЦЕНЗИИ. НИКАКОЕ ИСПОЛЬЗОВАНИЕ ДОКУМЕНТА ИЛИ ИЗМЕНЁННОЙ ВЕРСИИ ДОКУМЕНТА " +#~ "НЕ ДОПУСКАЕТСЯ БЕЗ ДАННОГО ПРЕДУПРЕЖДЕНИЯ И" + +#~ msgid "" +#~ "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT " +#~ "(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL " +#~ "WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED " +#~ "VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE " +#~ "LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR " +#~ "CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, " +#~ "DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR " +#~ "MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR " +#~ "RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, " +#~ "EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH " +#~ "DAMAGES." +#~ msgstr "" +#~ "НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ И НИ ПРИ КАКОМ ЗАКОННОМ СПОСОБЕ, НИ ПО " +#~ "КАКОМУ СОГЛАШЕНИЮ ИЛИ ДРУГОЙ ПРИЧИНЕ, АВТОР, СОЗДАТЕЛЬ, ПОМОЩНИКИ ИЛИ " +#~ "РАСПРОСТРАНИТЕЛИ ДОКУМЕНТА НЕ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ПРЯМОЙ, КОСВЕННЫЙ, " +#~ "СПЕЦИАЛЬНЫЙ, СЛУЧАЙНЫЙ ИЛИ ПРЕДНАМЕРЕННЫЙ УЩЕРБ ЛЮБОГО СВОЙСТВА, ВКЛЮЧАЯ, " +#~ "БЕЗ ОГРАНИЧЕНИЯ, ПОТЕРЮ ЖЕЛАНИЯ, РАБОТОСПОСОБНОСТИ, КОМПЬЮТЕРНЫЕ СБОИ ИЛИ " +#~ "ПОЛОМКИ, ИЛИ ЛЮБОЙ ДРУГОЙ УЩЕРБ ИЛИ ПОТЕРИ, ВОЗНИКАЮЩИЕ ВСЛЕДСТВИЕ ИЛИ " +#~ "СВЯЗАННЫЕ С ИСПОЛЬЗОВАНИЕМ ДОКУМЕНТА ИЛИ ИЗМЕНЁННЫХ ВЕРСИЙ ДОКУМЕНТА, " +#~ "ДАЖЕ ЕСЛИ СТОРОНА БЫЛА УВЕДОМЛЕНА О ВОЗМОЖНОСТИ ТАКОГО УЩЕРБА." + +#, fuzzy +#~| msgid "" +#~| "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE " +#~| "TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER " +#~| "UNDERSTANDING THAT: " +#~ msgid "" +#~ "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE " +#~ "TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER " +#~ "UNDERSTANDING THAT: <_:orderedlist-1/>" +#~ msgstr "" +#~ "ДОКУМЕНТ И ИЗМЕНЁННЫЕ ВЕРСИИ ДОКУМЕНТА ПРЕДОСТАВЛЯЮТСЯ ПОЛЬЗОВАТЕЛЮ НА " +#~ "УСЛОВИЯХ ЛИЦЕНЗИИ GNU FREE DOCUMENTATION LICENSE С УВЕДОМЛЕНИЕМ О ТОМ, " +#~ "ЧТО: " + +#~ msgid "Adam Schreiber sadam@clemson.edu" +#~ msgstr "Adam Schreiber sadam@clemson.edu" + +#~ msgid "Milo Casagrande milo_casagrande@yahoo.it" +#~ msgstr "Milo Casagrande milo_casagrande@yahoo.it" + +#~ msgid "Jacob Perkins" +#~ msgstr "Jacob Perkins" + +#, fuzzy +#~| msgid "" +#~| "This manual describes version 0.9.9 of Passwords and Encryption Keys" +#~ msgid "This manual describes version 2.28.x of Passwords and Keys" +#~ msgstr "" +#~ "Это руководство описывает версию 0.9.9 программы паролей и ключей " +#~ "шифрования." + +#~ msgid "Feedback" +#~ msgstr "Обратная связь" + +#, fuzzy +#~| msgid "" +#~| "To report a bug or make a suggestion regarding the " +#~| "Passwords and Encryption Keys application or " +#~| "this manual, follow the directions in the Gnome Feedback Page." +#~ msgid "" +#~ "To report a bug or make a suggestion regarding the Passwords " +#~ "and Keys application or this manual, follow the directions " +#~ "in the Gnome Feedback " +#~ "Page." +#~ msgstr "" +#~ "Чтобы сообщить об ошибке или сделать предложение по программе " +#~ "Пароли и ключи шифрования или по этому " +#~ "руководству, следуйте указаниям в документе Обратная связь с GNOME." + +#, fuzzy +#~| msgid "" +#~| "Passwords and Encryption Keys is the " +#~| "application for managing encryption keys for the GNOME Desktop" +#~ msgid "" +#~ "Passwords and Keys is the application for " +#~ "managing encryption keys for the GNOME Desktop" +#~ msgstr "" +#~ "Пароли и ключи шифрования — это программа для " +#~ "управления ключами шифрования в среде GNOME." + +#, fuzzy +#~| msgid "Encryption Keys" +#~ msgid "Encryption Keys" +#~ msgstr "Ключи шифрования" + +#, fuzzy +#~| msgid "" +#~| "Passwords and Encryption Keys provides a " +#~| "front end to many of the features of Gnu Privacy Guard (GPG) and integrates with " +#~| "multiple components of the GNOME desktop." +#~ msgid "" +#~ "Passwords and Keys provides a front end to " +#~ "many of the features of Gnu Privacy Guard (GPG) and integrates with multiple " +#~ "components of the GNOME " +#~ "desktop." +#~ msgstr "" +#~ "Пароли и ключи шифрования — это оболочка для " +#~ "многих возможностей GNU " +#~ "Privacy Guard (GPG). Она тесно встраивается в рабочую среду " +#~ "GNOME." + +#~ msgid "Export and import PGP and SSH keys," +#~ msgstr "экспортировать и импортировать ключи PGP и SSH;" + +#, fuzzy +#~| msgid "" +#~| "With Passwords and Encryption Keys you can: " +#~| "" +#~ msgid "" +#~ "With Passwords and Keys you can: <_:" +#~ "itemizedlist-1/>" +#~ msgstr "" +#~ "С помощью Паролей и ключей шифрования вы " +#~ "можете: " + +#~ msgid "Getting Started" +#~ msgstr "Начало работы" + +#, fuzzy +#~| msgid "" +#~| "You can start Passwords and Encryption Keys " +#~| "in the following ways:" +#~ msgid "" +#~ "You can start Passwords and Keys in the " +#~ "following ways:" +#~ msgstr "" +#~ "Запустить Пароли и ключи шифрования можно " +#~ "следующими способами:" + +#~ msgid "Applications menu" +#~ msgstr "Меню Приложения" + +#, fuzzy +#~| msgid "" +#~| "Choose OtherPassword and " +#~| "Encryption Keys." +#~ msgid "" +#~ "Choose Accessories Password " +#~ "and Keys ." +#~ msgstr "" +#~ "Выберите ПрочиеПароли и ключи " +#~ "шифрования." + +#~ msgid "Command Line" +#~ msgstr "Командная строка" + +#~ msgid "Type seahorse then press Return." +#~ msgstr "" +#~ "Введите seahorse и нажмите Enter." + +#, fuzzy +#~| msgid "" +#~| "When You Start Passwords and Encryption Keys" +#~ msgid "When You Start Passwords and Keys" +#~ msgstr "При запуске Паролей и ключей шифрования" + +#, fuzzy +#~| msgid "" +#~| "When you start Passwords and Encryption Keys, " +#~| "the Password and Encryption Keys window is " +#~| "displayed." +#~ msgid "" +#~ "When you start Passwords and Keys, the " +#~ "Password and Keys window is displayed." +#~ msgstr "" +#~ "При запуске Паролей и ключей шифрования " +#~ "появляется главное окно." + +#, fuzzy +#~| msgid "The Passwords and Encryption Keys Window" +#~ msgid "The Passwords and Keys Window" +#~ msgstr "Окно Пароли и ключи шифрования" + +#~ msgid "Menubar" +#~ msgstr "Строка меню" + +#, fuzzy +#~| msgid "" +#~| "The menus on the menubar contain all of the commands that you need to " +#~| "perform tasks in Passwords and Encryption Keys." +#~ msgid "" +#~ "The menus on the menubar contain all of the commands that you need to " +#~ "perform tasks in Passwords and Keys." +#~ msgstr "" +#~ "Меню содержат все команды, которые нужны для работы с " +#~ "Паролями и ключами шифрования." + +#~ msgid "Toolbar" +#~ msgstr "Панель инструментов" + +#~ msgid "Use the toolbar to quickly access commonly-used commands." +#~ msgstr "" +#~ "С помощью панели инструментов вы можете быстро обратиться к часто " +#~ "используемым командам." + +#~ msgid "Keys and Passwords Tabs" +#~ msgstr "Вкладки ключей и паролей" + +#~ msgid "First time options" +#~ msgstr "Первые шаги" + +#~ msgid "" +#~ "Provides fast access to useful actions for first time users. From here " +#~ "you can:" +#~ msgstr "" +#~ "Позволяют быстро выполнить действия, полезные для начинающих " +#~ "пользователей. Отсюда вы можете:" + +#~ msgid "Browse the help system," +#~ msgstr "просмотреть справку;" + +#~ msgid "Import keys in the keyring," +#~ msgstr "импортировать ключи в брелок;" + +#~ msgid "Creating OpenPGP Keys" +#~ msgstr "Создание ключей OpenPGP" + +#~ msgid "" +#~ "OpenPGP is a non proprietary protocol for encrypting e-mail with the use " +#~ "of public key cryptography based on PGP. It defines " +#~ "standard formats for encrypted messages, signatures, private keys and " +#~ "certificates for exchanging public keys." +#~ msgstr "" +#~ "OpenPGP — это свободный протокол для шифрования электронной почты с " +#~ "помощью открытых ключей. Он основан на PGP. OpenPGP " +#~ "определяет стандартные виды зашифрованных сообщений, подписей, закрытых " +#~ "ключей, а также сертификатов для обмена открытыми ключами." + +#~ msgid "" +#~ "Public key cryptography is a concept which involves the use of two keys: " +#~ "a public key, that you can give to anyone with whom " +#~ "you would like to communicate, and a private key " +#~ "which is private and must be kept secret." +#~ msgstr "" +#~ "Криптография с открытым ключом — это система, в которой используется два " +#~ "ключа: открытый ключ, который вы можете отдавать " +#~ "всем, с кем хотите обмениваться информацией; и закрытый ключ, который должен храниться в тайне." + +#~ msgid "" +#~ "Enter your full name (first - last), your e-mail address and any " +#~ "additional information. You can also specify advanced options for the " +#~ "key: see below." +#~ msgstr "" +#~ "Введите своё полное имя (имя и фамилию), адрес электронной почты и любые " +#~ "дополнительные сведения. Также вы можете указать дополнительные " +#~ "параметры: смотрите ниже." + +#~ msgid "" +#~ "The Passphrase for New PGP Key dialog will open. " +#~ "Enter the passphrase twice for your new key." +#~ msgstr "" +#~ "Появится диалог Пароль для нового ключа PGP. Введите " +#~ "в нём дважды пароль для вашего нового ключа." + +#, fuzzy +#~| msgid "To create OpenPGP keys: " +#~ msgid "To create OpenPGP keys: <_:orderedlist-1/>" +#~ msgstr "Чтобы создать ключ OpenPGP: " + +#~ msgid "" +#~ "Use similar practices to generating a strong password when choosing a " +#~ "passphrase. The main difference between a password and a passphrase is " +#~ "that, in a passphrase, spaces are valid characters." +#~ msgstr "" +#~ "Постарайтесь придумать надёжный пароль. Обратите внимание, что в этом " +#~ "пароле вы можете использовать пробелы." + +#~ msgid "" +#~ "Expand the Advanced key options section to specify " +#~ "the following options for a new key:" +#~ msgstr "" +#~ "Разверните раздел Дополнительные параметры ключа, " +#~ "чтобы указать следующие параметры ключа:" + +#~ msgid "" +#~ "This field specifies the encryption algorithms used to generate your keys." +#~ msgstr "" +#~ "В этом поле указываются алгоритмы шифрования, с помощью которых создаются " +#~ "ключи." + +#~ msgid "DSA ElGamal" +#~ msgstr "DSA ElGamal" + +#~ msgid "" +#~ "This is the suggested choice as it will allow you to encrypt, decrypt, " +#~ "sign and verify as needed." +#~ msgstr "" +#~ "Это рекомендуемый вариант. Он позволит вам зашифровывать, расшифровывать, " +#~ "подписывать и проверять." + +#, fuzzy +#~| msgid "DSA ElGamal" +#~ msgid "DSA" +#~ msgstr "DSA ElGamal" + +#~ msgid "Will allow signing only." +#~ msgstr "Позволит вам только подписывать." + +#, fuzzy +#~| msgid "DSA ElGamal" +#~ msgid "RSA" +#~ msgstr "DSA ElGamal" + +#, fuzzy +#~| msgid "Key Strength (bits)" +#~ msgid "Key Strength (bits)" +#~ msgstr "Прочность ключа (биты)" + +#~ msgid "" +#~ "This is the length of the key in bits. The longer the key, the more " +#~ "secure it will be, provided a strong passphrase is used. Conversely, " +#~ "performing any operation with a longer key will require more time than it " +#~ "would with a shorter key. Acceptable values are between 1024 and 4096 " +#~ "bits. At least 2048 bits is recommended." +#~ msgstr "" +#~ "Это длина ключа в битах. Чем длиннее ключ, тем он будет надёжнее — при " +#~ "условии, что выбран хороший пароль. С другой стороны, чем длиннее ключ, " +#~ "тем больше времени уйдёт на выполнение всевозможных действий с его " +#~ "помощью. Допустимые значения — от 1024 до 4096 бит. Рекомендуется " +#~ "использовать не меньше 2048 бит." + +#~ msgid "" +#~ "Sign your new key with your old one before it expires to preserve your " +#~ "trust status." +#~ msgstr "" +#~ "Подпишите свой новый ключ старым, пока он не истёк. Это позволит вам " +#~ "сохранить свой статус доверия." + +#, fuzzy +#~| msgid "" +#~| "This is the date at which the key will cease to be usable for performing " +#~| "encryption or signing operations. 6 months is a reasonable time to set " +#~| "it to. You will have to either change the expiration date or generate a " +#~| "new key or subkey after this amount of time passes. " +#~ msgid "" +#~ "This is the date at which the key will cease to be usable for performing " +#~ "encryption or signing operations. 6 months is a reasonable time to set it " +#~ "to. You will have to either change the expiration date or generate a new " +#~ "key or subkey after this amount of time passes. <_:note-1/>" +#~ msgstr "" +#~ "Это дата, начиная с которой ключ больше нельзя будет использовать для " +#~ "шифрования и подписывания. Разумный срок — 6 месяцев. После того, как " +#~ "истечёт этот срок, вам нужно будет либо изменить дату, либо создать новый " +#~ "ключ (или подключ)." + +#~ msgid "Creating Secure Shell Keys" +#~ msgstr "Создание ключей SSH" + +#~ msgid "" +#~ "Secure Shell (SSH) is a way of logging into a remote " +#~ "computer to execute commands on that machine. SSH keys are used in key-" +#~ "based authentication system, as an alternative to the default password " +#~ "authentication system. With key-based authentication there is no need to " +#~ "manually type a password to authenticate." +#~ msgstr "" +#~ "SSH — это способ войти в удалённую компьютерную " +#~ "систему и выполнять на ней команды. В SSH есть система идентификации на " +#~ "основе ключей — это альтернатива обычной системе, основанной на паролях. " +#~ "При идентификации с помощью ключа нет нужды вручную вводить пароль." + +#~ msgid "" +#~ "Secure Shell keys are made of two keys: a private key, that must be kept secret, and a public key which can be uploaded to any computer you need to access." +#~ msgstr "" +#~ "Ключи SSH состоят из двух частей: закрытого ключа, " +#~ "который должен храниться в тайне, и открытого ключа, " +#~ "который можно загружать на любой компьютер, к которому вы желаете иметь " +#~ "доступ по SSH." + +#~ msgid "" +#~ "Enter a description of what the key is to be used for. You can use your e-" +#~ "mail address or any other reminder. You can also specify advanced options " +#~ "for the key: see below." +#~ msgstr "" +#~ "Опишите цель, для которой будет использоваться ключ. Вы можете " +#~ "использовать свой электронный адрес или любые другие сведения, которые " +#~ "помогут вам вспомнить предназначение ключа. Также вы можете указать " +#~ "дополнительные параметры для ключа: смотрите ниже." + +#~ msgid "" +#~ "Click Just Create Key to create the new key, or " +#~ "Create and Set Up to create the key and set up " +#~ "another computer to use it for authentication." +#~ msgstr "" +#~ "Нажмите Просто создать ключ, чтобы создать новый " +#~ "ключ; или Создать и установить, чтобы создать " +#~ "новый ключ и установить его на другом компьютере для идентификации." + +#~ msgid "" +#~ "The Passphrase for New Secure Shell Key dialog " +#~ "opens. Enter the passphrase twice for your new key." +#~ msgstr "" +#~ "Появится диалог Пароль для нового ключа SSH. Введите " +#~ "в нём дважды пароль для вашего нового ключа." + +#~ msgid "" +#~ "This field specifies the encryption algorithms used to generate your key." +#~ msgstr "" +#~ "В этом поле указываются алгоритмы шифрования, с помощью которых создаётся " +#~ "ключ." + +#~ msgid "" +#~ "Use the Rivest-ShamirAdleman (RSA) algorithm to create the SSH key. This is the preferred and more " +#~ "secure choice." +#~ msgstr "" +#~ "Использовать для создания ключа SSH алгоритм Rivest-" +#~ "ShamirAdleman (RSA). Это предпочтительный, " +#~ "наиболее надёжный вариант." + +#~ msgid "" +#~ "Use the Digital Signature Algorithm (DSA) to create the SSH key." +#~ msgstr "" +#~ "Использовать для создания ключа SSH алгоритм Digital Signature " +#~ "Algorithm (DSA)." + +#~ msgid "OpenPGP Key Properties" +#~ msgstr "Свойства ключа OpenPGP" + +#~ msgid "The descriptions in this section apply to all OpenPGP keys." +#~ msgstr "Изложенное в этом разделе касается всех ключей OpenPGP." + +#~ msgid "Select the PGP key from the main window," +#~ msgstr "выделите ключ PGP в главном окне;" + +#~ msgid "" +#~ "Double click on it or choose Properties from the " +#~ "toolbar," +#~ msgstr "" +#~ "дважды щёлкните на нём или нажмите Свойства на " +#~ "панели инструментов;" + +#, fuzzy +#~| msgid "" +#~| "To view properties of a PGP key: " +#~ msgid "" +#~ "To view properties of a PGP key: <_:itemizedlist-1/>" +#~ msgstr "" +#~ "Чтобы просмотреть свойства ключа PGP: " + +#~ msgid "Properties" +#~ msgstr "Свойства" + +#, fuzzy +#~| msgid "Select the Details tab." +#~ msgid "Fingerprint" +#~ msgstr "выберите вкладку Подробности." + +#, fuzzy +#~| msgid "Select the Details tab." +#~ msgid "KeyID" +#~ msgstr "выберите вкладку Подробности." + +#~ msgid "" +#~ "The KeyID is similar to the Fingerprint. However the KeyID only contains " +#~ "the last 8 characters of the fingerprint. Most of the time it is possible " +#~ "to identify a key with only the KeyID, but occasionally two keys may have " +#~ "the same ID." +#~ msgstr "" +#~ "Идентификатор ключа похож на его отпечаток. Однако идентификатор содержит " +#~ "только последние 8 символов отпечатка. Обычно можно обозначить ключ с " +#~ "помощью одного только идентификатора, но иногда у двух ключей бывает один " +#~ "и тот же идентификатор." + +#, fuzzy +#~| msgid "Select the Details tab." +#~ msgid "Type" +#~ msgstr "выберите вкладку Подробности." + +#~ msgid "" +#~ "Specifies the encryption algorithm used to generate a key. DSA keys can " +#~ "only sign. ElGamal keys are used to encrypt." +#~ msgstr "" +#~ "Указывает алгоритм шифрования, с помощью которого был создан ключ. Ключи " +#~ "DSA позволяют только подписывать. Ключи ElGamal позволяют также и " +#~ "шифровать." + +#~ msgid "Indicates the date the key was created." +#~ msgstr "Указывает дату создания ключа." + +#, fuzzy +#~| msgid "Select the Details tab." +#~ msgid "Expires" +#~ msgstr "выберите вкладку Подробности." + +#~ msgid "Indicates the date the key can no longer be used." +#~ msgstr "" +#~ "Указывает дату, начиная с которой ключ более нельзя будет использовать." + +#, fuzzy +#~| msgid "Select the Details tab." +#~ msgid "Strength" +#~ msgstr "выберите вкладку Подробности." + +#~ msgid "" +#~ "A long key is not enough to make up for the use of a weak passphrase." +#~ msgstr "" +#~ "Если ключ защищён плохим паролем, то он будет ненадёжен, сколь бы длинным " +#~ "он ни был." + +#, fuzzy +#~| msgid "" +#~| "Indicates the length in bits of a key. In general the longer the key, " +#~| "the more security it provides. " +#~ msgid "" +#~ "Indicates the length in bits of a key. In general the longer the key, the " +#~ "more security it provides. <_:note-1/>" +#~ msgstr "" +#~ "Указывает длину ключа в битах. Как правило, чем длиннее ключ, тем большую " +#~ "степень безопасности он обеспечивает. " + +#~ msgid "Trust" +#~ msgstr "Доверие" + +#~ msgid "" +#~ "Trust is an indication of how sure you are of a person's ability to " +#~ "correctly extend the web of trust. When you are faced with a key you have " +#~ "not signed, the validity of that person's key will be determined based on " +#~ "the signatures they have collected and how well or not you trust the " +#~ "people who have made those signatures. By default, an unknown key will " +#~ "require 3 signatures with marginal trust value or 1 fully trusted " +#~ "signature." +#~ msgstr "" +#~ "Доверие — это показатель того, насколько вы уверены в способности " +#~ "человека правильно расширять сеть доверия. Когда встретится ключ, который " +#~ "вы не подписали, его достоверность будет определяться исходя из того, " +#~ "какие подписи собрал владелец этого ключа, и того, насколько вы доверяете " +#~ "авторам этих подписей. По умолчанию неизвестный ключ требует 3 подписи, " +#~ "которым вы слабо доверяете, или 1 подпись, который вы полностью доверяете." + +#~ msgid "" +#~ "Unknown: You are not familiar with the person's " +#~ "ability to sign keys correctly." +#~ msgstr "" +#~ "Неизвестно: Вы ничего не знаете о способности " +#~ "человека правильно подписывать ключи." + +#~ msgid "Never: This person cannot correctly sign keys." +#~ msgstr "" +#~ "Не доверяю: Этот человек не может правильно " +#~ "подписывать ключи." + +#~ msgid "" +#~ "Marginal: This person checks for photo ID before " +#~ "signing a key, but does not necessarily scrutinize the IDs." +#~ msgstr "" +#~ "Слабо: Этот человек проверяет фотографию, прежде чем " +#~ "подписать ключ, но не всегда тщательно изучает документы." + +#~ msgid "" +#~ "Full: This person scrutinizes each and every " +#~ "person's photo IDs before signing them (e.g. they only sign keys that " +#~ "truely belong to the person asking for the signature)." +#~ msgstr "" +#~ "Полностью: Этот человек тщательно проверяет " +#~ "документы и фотографию, прежде чем подписывать ключ. Иными словами, он " +#~ "подписывает только те ключи, которые действительно принадлежат тому, кто " +#~ "просит их подписать." + +#~ msgid "" +#~ "Ultimate: This level of trust should only be " +#~ "assigned to your own keys." +#~ msgstr "" +#~ "Безоговорочно: Этот уровень доверия следует " +#~ "назначать только вашим собственным ключам." + +#~ msgid "Enabling and Disabling Keys" +#~ msgstr "Включение и отключение ключей" + +#~ msgid "" +#~ "When a key is enabled, it can be used to perform encryption operations. " +#~ "When a key is disabled, it cannot be used to encrypt to or verify " +#~ "signatures made by it." +#~ msgstr "" +#~ "Когда ключ включён, его можно использовать для шифрования. Когда ключ " +#~ "отключён, его нельзя использовать ни для шифрования, ни для проверки " +#~ "сделанных им подписей." + +#~ msgid "" +#~ "A key can no longer be used to perform key operations after it has " +#~ "expired. Changing a key's expiration date to a point in the future re-" +#~ "enables it. A good general practice would be to have a master key that " +#~ "never expires and multiple subkeys that do and are signed by the master " +#~ "key." +#~ msgstr "" +#~ "После того, как ключ истекает, его нельзя использовать для выполнения " +#~ "действий. Заново включить ключ можно, сменив его срок истечения на какую-" +#~ "нибудь дату в будущем. Хорошая практика — иметь один главный ключ, " +#~ "который никогда не истекает, и много подключей, которые истекают и " +#~ "подписаны главным ключом." + +#~ msgid "User IDs" +#~ msgstr "Идентификаторы пользователей" + +#~ msgid "" +#~ "User IDs allow multiple identities and email addresses to be used with " +#~ "the same key." +#~ msgstr "" +#~ "Идентификаторы пользователей дают возможность применять с одним ключом " +#~ "несколько имён и электронных адресов." + +#~ msgid "Name (comment) <email address>" +#~ msgstr "Имя (комментарий) <адрес электронной почты>" + +#, fuzzy +#~| msgid "They usually take the form of: " +#~ msgid "They usually take the form of: <_:programlisting-1/>" +#~ msgstr "Обычно они имеют вид: " + +#~ msgid "" +#~ "Adding a user ID is useful when you want to have an identity for your job " +#~ "and one for your friends." +#~ msgstr "" +#~ "Полезно добавить идентификатор пользователя, если вы хотите по-разному " +#~ "представляться на работе и друзьям." + +#~ msgid "" +#~ "Double click on it or choose Properties from the " +#~ "toolbar," +#~ msgstr "" +#~ "дважды щёлкните на нём или нажмите Свойства на " +#~ "панели инструментов;" + +#~ msgid "Select the Names and Signatures tab," +#~ msgstr "выберите вкладку Имена и подписи;" + +#, fuzzy +#~| msgid "To add a user ID to a key: " +#~ msgid "To add a user ID to a key: <_:itemizedlist-1/>" +#~ msgstr "Чтобы добавить к ключу идентификатор пользователя: " + +#~ msgid "" +#~ "After following the instructions above, you will be presented with a " +#~ "dialog to fill in. The fields are detailed below." +#~ msgstr "" +#~ "После того, как вы это сделаете, появится диалог, который нужно " +#~ "заполнить. Поля этого диалога описаны ниже." + +#~ msgid "<first> <last>" +#~ msgstr "<имя> <фамилия>" + +#, fuzzy +#~| msgid "" +#~| "Enter your full name in the form A middle name or " +#~| "initial is optional." +#~ msgid "" +#~ "Enter your full name in the form <_:programlisting-1/> A middle name or " +#~ "initial is optional." +#~ msgstr "" +#~ "Введите своё полное имя в виде При желании можно " +#~ "добавить отчество или инициал." + +#~ msgid "You must enter at least 5 characters in this field." +#~ msgstr "В этом поле надо ввести хотя бы 5 символов." + +#, fuzzy +#~| msgid "Select the Details tab." +#~ msgid "Email Address" +#~ msgstr "выберите вкладку Подробности." + +#~ msgid "" +#~ "Your email address is how most people will locate your key on a key " +#~ "server or other key provider. Make sure it is correct before continuing." +#~ msgstr "" +#~ "Большинство людей будут искать ваш ключ на сервере ключей по вашему " +#~ "электронному адресу. Убедитесь, что ввели его правильно, прежде чем " +#~ "продолжать." + +#~ msgid "" +#~ "<username>@<" +#~ "domainname>" +#~ msgstr "" +#~ "<пользователь>@<домен>" +#~ "" + +#, fuzzy +#~| msgid "It should be of the form " +#~ msgid "It should be of the form <_:programlisting-1/>" +#~ msgstr "Он должен иметь вид " + +#, fuzzy +#~| msgid "Select the Details tab." +#~ msgid "Key Comment" +#~ msgstr "выберите вкладку Подробности." + +#~ msgid "" +#~ "The comment field can be used to place any additional information into " +#~ "the displayed name of your new ID. This information can be searched for " +#~ "on key servers." +#~ msgstr "" +#~ "В поле комментария можно поместить любые дополнительные сведения. Они " +#~ "будут включены в отображаемое имя вашего нового идентификатора. Эти " +#~ "сведения можно искать на серверах ключей." + +#~ msgid "Photo IDs" +#~ msgstr "Фотографии" + +#~ msgid "" +#~ "Photo IDs allow a key owner to embed one or more pictures of themselves " +#~ "in a key. These identities can be signed just like normal user IDs. A " +#~ "photo ID must be in JPEG format and is recommended to be no larger than " +#~ "240x288 pixels." +#~ msgstr "" +#~ "Владелец ключа может внедрить в него одну или несколько своих фотографий. " +#~ "Эти фотографии могут быть подписаны, как и обычные идентификаторы " +#~ "пользователя. Фотография должна быть в формате JPEG. Желательно делать её " +#~ "не крупнее 240×288 пикселов." + +#, fuzzy +#~| msgid "" +#~| "If the chosen image is not of the required file type or size " +#~| "Passwords and Encryption Keys can resize and " +#~| "convert it on the fly from any image format supported by the " +#~| "GDK library." +#~ msgid "" +#~ "If the chosen image is not of the required file type or size " +#~ "Passwords and Keys can resize and convert it " +#~ "on the fly from any image format supported by the GDK " +#~ "library." +#~ msgstr "" +#~ "Если выбранное изображение имеет неправильный тип или размер, программа " +#~ "Пароли и ключи шифрования может «на лету» " +#~ "преобразовать и сжать его из любого формата, поддерживаемого библиотекой " +#~ "GDK." + +#~ msgid "Changing the Passphrase" +#~ msgstr "Изменение пароля" + +#~ msgid "Click on Change Passphrase." +#~ msgstr "Нажмите Изменить пароль." + +#, fuzzy +#~| msgid "To change the passphrase assigned to a key: " +#~ msgid "To change the passphrase assigned to a key: <_:itemizedlist-1/>" +#~ msgstr "Чтобы изменить пароль, назначенный ключу: " + +#~ msgid "Deleting a Key" +#~ msgstr "Удаление ключа" + +#, fuzzy +#~| msgid "" +#~| "Right click on it and choose Delete Key or choose " +#~| "EditDelete Key." +#~ msgid "" +#~ "Right click on it and choose Delete Key or choose " +#~ " Edit Delete Key ." +#~ msgstr "" +#~ "Щёлкните на нём правой кнопкой мыши и выберите Удалить ключ, или выберите ПравкаУдалить ключ." + +#, fuzzy +#~| msgid "To delete a key from your keyring: " +#~ msgid "To delete a key from your keyring: <_:itemizedlist-1/>" +#~ msgstr "Чтобы удалить ключ из вашего брелока: " + +#~ msgid "You can delete your keys, trusted keys and collected keys." +#~ msgstr "" +#~ "Вы можете удалять собственные ключи, доверяемые ключи и собранные ключи." + +#~ msgid "OpenPGP Subkey Properties" +#~ msgstr "Свойства подключей OpenPGP" + +#~ msgid "" +#~ "Each OpenPGP key has a single master key used to sign only. Subkeys are " +#~ "used to encrypt and to sign as well. In this way, if your sub key is " +#~ "compromised, you don't need to revoke your master key." +#~ msgstr "" +#~ "У каждого ключа OpenPGP есть один главный ключ, который используется " +#~ "только для подписывания. Подключи применяются для шифрования и также для " +#~ "подписывания. Таким образом, если ваш подключ будет скомпрометирован, вам " +#~ "не понадобится отзывать свой главный ключ." + +#, fuzzy +#~| msgid "Select the Details tab." +#~ msgid "ID" +#~ msgstr "выберите вкладку Подробности." + +#~ msgid "This is the identifier of the subkey." +#~ msgstr "Это идентификатор подключа." + +#~ msgid "" +#~ "Specifies the encryption algorithm used to generate a subkey. " +#~ "DSA keys can only sign, ElGamal keys are used to " +#~ "encrypt while RSA keys are used to sign or to encrypt." +#~ msgstr "" +#~ "Указывает алгоритм шифрования, с помощью которого был создан подключ. " +#~ "Ключи DSA позволяют только подписывать, ключи ElGamal " +#~ "— только шифровать, а ключи RSA — и подписывать, и " +#~ "шифровать." + +#, fuzzy +#~| msgid "Select the Details tab." +#~ msgid "Status" +#~ msgstr "выберите вкладку Подробности." + +#~ msgid "Indicates the status of the key." +#~ msgstr "Указывает состояние ключа." + +#, fuzzy +#~| msgid "" +#~| "Indicates the length in bits of the key. In general the longer the key, " +#~| "the more security it provides. " +#~ msgid "" +#~ "Indicates the length in bits of the key. In general the longer the key, " +#~ "the more security it provides. <_:note-1/>" +#~ msgstr "" +#~ "Указывает длину ключа в битах. Как правило, чем длиннее ключ, тем большую " +#~ "степень безопасности он обеспечивает. " + +#~ msgid "" +#~ "To add a subkey to a key, from the Subkeys section " +#~ "click on Add button." +#~ msgstr "" +#~ "Чтобы добавить к ключу подключ, в разделе Подключи " +#~ "нажмите кнопку Добавить." + +#~ msgid "Specifies the encryption algorithm used to generate a subkey." +#~ msgstr "" +#~ "Указывает алгоритм шифрования, с помощью которого создаётся подключ." + +#~ msgid "" +#~ "Use the Digital Signature Algorithm (DSA) to create the subkey. This subkey can sign only." +#~ msgstr "" +#~ "Использовать алгоритм Digital Signature Algorithm " +#~ "(DSA) для создания подключа. Такой подключ сможет " +#~ "только подписывать." + +#~ msgid "ElGamal" +#~ msgstr "ElGamal" + +#~ msgid "" +#~ "Use the ElGamal algorithm to create the subkey. This " +#~ "subkey can encrypt only." +#~ msgstr "" +#~ "Использовать алгоритм ElGamal для создания подключа. " +#~ "Такой подключ сможет только шифровать." + +#~ msgid "RSA" +#~ msgstr "RSA" + +#~ msgid "" +#~ "Use the Rivest-Shamir Adleman (RSA) algorithm to create the subkey. This subkey can be used to sign " +#~ "or encrypt, but you have to create two different subkeys." +#~ msgstr "" +#~ "Использовать алгоритм Rivest-Shamir Adleman " +#~ "(RSA) для создания подключа. Такой подключ может как " +#~ "подписывать, так и шифровать, но вам придётся создать два разных подключа." + +#~ msgid "" +#~ "Indicates the length in bits of the subkey. In general the longer the " +#~ "key, the more security it provides." +#~ msgstr "" +#~ "Указывает длину подключа в битах. Как правило, чем длиннее ключ, тем " +#~ "большую степень безопасности он обеспечивает." + +#~ msgid "Indicates the date the subkey can no longer be used." +#~ msgstr "" +#~ "Указывает дату, начиная с которой ключ более нельзя будет использовать." + +#~ msgid "Changing a Subkey Expiration Date" +#~ msgstr "Смена срока истечения ключа" + +#~ msgid "Click on the Expire button on the left," +#~ msgstr "нажмите кнопку Истекает слева;" + +#~ msgid "" +#~ "From the date dialog choose the new expiration date or select " +#~ "Never expires for no expiration date." +#~ msgstr "" +#~ "в диалоге даты выберите новую дату истечения, или выберите " +#~ "Никогда не истекает." + +#, fuzzy +#~| msgid "" +#~| "To change a subkey expiration date, select the subkey from the " +#~| "Subkeys section, then: " +#~ msgid "" +#~ "To change a subkey expiration date, select the subkey from the " +#~ "Subkeys section, then: <_:itemizedlist-1/>" +#~ msgstr "" +#~ "Чтобы изменить срок истечения подключа, выделите его в разделе " +#~ "Подключи, затем: " + +#~ msgid "Click on the Revoke button on the left," +#~ msgstr "Нажмите кнопку Отозвать слева." + +#~ msgid "Choose a reason why to revoke the subkey:" +#~ msgstr "Выберите причину, по которой хотите отозвать ключ:" + +#~ msgid "No Reason" +#~ msgstr "Нет причины" + +#~ msgid "There isn't a specific reason to revoke the key." +#~ msgstr "Нет никакой определённой причины для отзыва ключа." + +#~ msgid "Compromised" +#~ msgstr "Скомпрометирован" + +#~ msgid "The key has been compromised." +#~ msgstr "Ключ скомпрометирован." + +#~ msgid "Superseded" +#~ msgstr "Заменён" + +#~ msgid "The key has been superseded by another one." +#~ msgstr "Ключ заменён на другой." + +#~ msgid "Not Used" +#~ msgstr "Не используется" + +#~ msgid "The key is not used anymore." +#~ msgstr "Ключ больше не используется." + +#~ msgid "Enter a description of why you are revoking the key," +#~ msgstr "Введите описание того, почему вы отзываете ключ." + +#, fuzzy +#~| msgid "" +#~| "To revoke a subkey, select the subkey from the Subkeys section, then: " +#~ msgid "" +#~ "To revoke a subkey, select the subkey from the Subkeys section, then: <_:itemizedlist-1/>" +#~ msgstr "" +#~ "Чтобы отозвать подключ, выделите его в разделе Подключи, затем: " + +#~ msgid "The effect of revoking a subkey is immediate." +#~ msgstr "Ключ отзывается немедленно." + +#, fuzzy +#~| msgid "" +#~| "To delete a subkey, select the subkey from the Subkeys section, then: " +#~ msgid "" +#~ "To delete a subkey, select the subkey from the Subkeys section, then: <_:itemizedlist-1/>" +#~ msgstr "" +#~ "Чтобы удалить подключ, выделите его в разделе Подключи, затем: " + +#~ msgid "Secure Shell Key Properties" +#~ msgstr "Свойства ключей SSH" + +#~ msgid "" +#~ "The descriptions in this section apply to all SSH keys." +#~ msgstr "" +#~ "Изложенное в этом разделе касается всех ключей SSH." + +#~ msgid "Select the Secure Shell key from the main window," +#~ msgstr "выделите ключ SSH в главном окне;" + +#, fuzzy +#~| msgid "" +#~| "To view properties of a SSH key: " +#~ msgid "" +#~ "To view properties of a SSH key: <_:itemizedlist-1/>" +#~ msgstr "" +#~ "Чтобы просмотреть свойства ключа SSH: " + +#~ msgid "Specifies the encryption algorithm used to generate a key." +#~ msgstr "Указывает алгоритм шифрования, с помощью которого был создан ключ." + +#, fuzzy +#~| msgid "Select the Details tab." +#~ msgid "Location" +#~ msgstr "выберите вкладку Подробности." + +#~ msgid "" +#~ "This is the location where the private key has been " +#~ "stored." +#~ msgstr "" +#~ "Это местоположение, в котором хранится закрытый ключ." + +#~ msgid "Deleting a Secure Shell Key" +#~ msgstr "Удаление ключа SSH" + +#~ msgid "Select the SSH key from the main window," +#~ msgstr "выделите ключ SSH в главном окне;" + +#, fuzzy +#~| msgid "To delete a Secure Shell key: " +#~ msgid "To delete a Secure Shell key: <_:itemizedlist-1/>" +#~ msgstr "Чтобы удалить ключ SSH: " + +#, fuzzy +#~| msgid "" +#~| "To import keys choose KeyImport and select, from " +#~| "the file chooser, a file containing at least one ASCII armored public " +#~| "key." +#~ msgid "" +#~ "To import keys choose File " +#~ "Import and select, from the file " +#~ "chooser, a file containing at least one ASCII armored public key." +#~ msgstr "" +#~ "Чтобы импортировать ключи, выберите КлючИмпортировать, затем в " +#~ "диалоге выбора файла укажите файл, содержащий хотя бы один публичный " +#~ "ключ, обёрнутый в ASCII." + +#~ msgid "Select an ASCII armored public block of text," +#~ msgstr "выделите публичный блок текста, обёрнутый в ASCII;" + +#~ msgid "Copy it to the clipboard," +#~ msgstr "скопируйте его в буфер обмена;" + +#, fuzzy +#~| msgid "" +#~| "Choose EditPaste Keys." +#~ msgid "" +#~ "Choose Edit Paste Keys ." +#~ msgstr "" +#~ "выберите ПравкаВставить " +#~ "ключи." + +#, fuzzy +#~| msgid "" +#~| "Importing can also be performed by pasting the keys inside " +#~| "Passwords and Encryption Keys: " +#~ msgid "" +#~ "Importing can also be performed by pasting the keys inside " +#~ "Passwords and Keys: <_:itemizedlist-1/>" +#~ msgstr "" +#~ "Также можно импортировать ключи, вставляя их в программе " +#~ "Пароли и ключи шифрования: " + +#, fuzzy +#~| msgid "" +#~| "To export keys, select the keys in the main window and choose " +#~| "KeyExport." +#~ msgid "" +#~ "To export keys, select the keys in the main window and choose " +#~ " File Export ." +#~ msgstr "" +#~ "Чтобы экспортировать ключи, выделите их в главном окне и выберите " +#~ "КлючЭкспортировать." + +#~ msgid "Select the keys in the main window," +#~ msgstr "выделите ключи в главном окне;" + +#, fuzzy +#~| msgid "" +#~| "Choose EditCopy Keys." +#~ msgid "" +#~ "Choose Edit Copy Keys ." +#~ msgstr "" +#~ "выберите ПравкаКопировать " +#~ "ключи." + +#, fuzzy +#~| msgid "" +#~| "You can also export keys to the clipboard in an ASCII armored block of " +#~| "text: " +#~ msgid "" +#~ "You can also export keys to the clipboard in an ASCII armored block of " +#~ "text: <_:itemizedlist-1/>" +#~ msgstr "" +#~ "Также вы можете экспортировать ключи в буфер обмена в виде текстового " +#~ "блока, обёрнутого в ASCII: " + +#~ msgid "" +#~ "Signing another person's key means you are giving trust to that person. " +#~ "Before signing a key, you have to carefully check the key's fingerprint " +#~ "to be sure that the key really belongs to that person." +#~ msgstr "" +#~ "Если вы подписываете ключ другого человека, это значит, что вы доверяете " +#~ "этому человеку. Прежде, чем подписывать ключ, вы должны тщательно " +#~ "проверить его отпечаток, чтобы убедиться, что ключ действительно " +#~ "принадлежит этому человеку." + +#~ msgid "" +#~ "Select the key you want to sign from the Trusted Keys or Other Collected Keys tabs," +#~ msgstr "" +#~ "выделите ключ, который хотите подписать, на вкладке Доверяемые " +#~ "ключи или Другие собранные ключи;" + +#, fuzzy +#~| msgid "" +#~| "Choose Sign from the toolbar or " +#~| "KeySign," +#~ msgid "" +#~ "Choose Sign from the toolbar or " +#~ "File Sign ," +#~ msgstr "" +#~ "нажмите Подписать на панели инструментов, или " +#~ "выберите КлючПодписать;" + +#~ msgid "Select how carefully the key has been checked," +#~ msgstr "укажите, насколько тщательно вы проверили ключ;" + +#~ msgid "" +#~ "Indicate if the signature should be local to your keyring, and if your " +#~ "signature can be revoked," +#~ msgstr "" +#~ "укажите, должна ли подпись быть замкнутой в вашем брелоке, и можете ли вы " +#~ "её отозвать впоследствии;" + +#, fuzzy +#~| msgid "To sign a key in your keyring: " +#~ msgid "To sign a key in your keyring: <_:itemizedlist-1/>" +#~ msgstr "Чтобы подписать ключ из вашего брелока: " + +#~ msgid "Preferences" +#~ msgstr "Параметры" + +#, fuzzy +#~| msgid "" +#~| "This section describes the preferences settable by choosing " +#~| "SystemPreferencesEncryption Preferences from the panel or EditPreferences from within " +#~| "Passwords and Encryption Keys." +#~ msgid "" +#~ "This section describes the preferences settable in Passwords " +#~ "and Keys by choosing Edit " +#~ "Preferences from within " +#~ "Passwords and Keys." +#~ msgstr "" +#~ "В этом разделе описаны параметры, которые можно настроить, выбрав " +#~ "СистемаПараметрыШифрование и брелоки " +#~ "на панели, либо выбрав ПравкаПараметры из программы " +#~ "Пароли и ключи шифрования." + +#, fuzzy +#~| msgid "Backing up Keyrings" +#~ msgid "Creating Keyrings" +#~ msgstr "Резервное копирование брелоков" + +#, fuzzy +#~| msgid "" +#~| "To change the master password of the key ring, type the original " +#~| "password in the Original Master Password text box, " +#~| "the new password in the New Master Password text " +#~| "box and confirm it in the Confirm Master Password " +#~| "text box. To apply the settings, press Apply. If " +#~| "the original master password is correct, you will get a status message " +#~| "indicating the success of the operation. If the master password is not " +#~| "correct you will be asked to check its correctness." +#~ msgid "" +#~ "To change the unlock password of the keyring, first select the " +#~ "appropriate keyring and then press Change Unlock Password button. You will then be prompted to type the old password in " +#~ "the Old password text box, the new password in the " +#~ "New password text box and confirm it in the " +#~ "Confirm password text box. To apply the settings, " +#~ "press Change. If the old password is correct, you " +#~ "will get a status message indicating the success of the operation. If the " +#~ "old password is not correct you will be asked to check its correctness." +#~ msgstr "" +#~ "Чтобы изменить главный пароль брелока, введите исходный пароль в поле " +#~ "Исходный главный пароль, новый пароль — в поле " +#~ "Новый главный пароль, и подтвердите его в поле " +#~ "Подтвердите главный пароль. Чтобы применить " +#~ "параметры, нажмите Применить. Если исходный пароль " +#~ "введён правильно, вам будет выдано сообщение о том, что смена пароля " +#~ "прошла успешно. Иначе вам будет предложено исправить пароль." + +#, fuzzy +#~| msgid "Backing up Keyrings" +#~ msgid "Removing Keyrings" +#~ msgstr "Резервное копирование брелоков" + +#, fuzzy +#~| msgid "" +#~| "To export keys, select the keys in the main window and choose " +#~| "KeyExport." +#~ msgid "" +#~ "To remove a keyring, first select the appropriate keyring and then from " +#~ "the menu choose Edit Delete." +#~ msgstr "" +#~ "Чтобы экспортировать ключи, выделите их в главном окне и выберите " +#~ "КлючЭкспортировать." + +#~ msgid "Key Servers" +#~ msgstr "Серверы ключей" + +#~ msgid "" +#~ "Keep your and other's keys up to date by syncing keys periodically with " +#~ "remote keyservers. Syncing will make sure that you have the latest " +#~ "signatures made on all of your keys so that the web of trust will be the " +#~ "most useful." +#~ msgstr "" +#~ "Обновляйте свои и чужие ключи, синхронизируя их с удалёнными серверами " +#~ "ключей. Это позволит вам постоянно иметь самые новые подписи на всех " +#~ "ваших ключах, так что сеть доверия будет наиболее полезной." + +#, fuzzy +#~| msgid "" +#~| "Passwords and Encryption Keys provides " +#~| "support for HKP and LDAP keyservers." +#~ msgid "" +#~ "Passwords and Keys provides support for HKP " +#~ "and LDAP keyservers." +#~ msgstr "" +#~ "Программа Пароли и ключи шифрования " +#~ "поддерживает серверы ключей HKP и LDAP." + +#, fuzzy +#~| msgid "" +#~| "HKP keyservers are ordinary web based keyservers such as the popular " +#~| "hkp://pgp.mit." +#~| "edu:11371, also accessible at http://pgp.mit.edu." +#~ msgid "" +#~ "HKP keyservers are ordinary web based keyservers such as the popular " +#~ "hkp://pool.sks-" +#~ "keyservers.net, also accessible at http://sks-keyservers.net." +#~ msgstr "" +#~ "Серверы ключей HKP — это обычные серверы, входящие в состав Всемирной " +#~ "паутины, например, популярный сервер hkp://pgp.mit.edu:11371 (также доступный " +#~ "по адресу http://pgp.mit." +#~ "edu)." + +#~ msgid "" +#~ "LDAP keyservers are less common, but use the standard " +#~ "LDAP protocol to serve keys. ldap://keyserver.pgp.com is a good LDAP server." +#~ msgstr "" +#~ "Серверы ключей LDAP менее распространены, но " +#~ "используют для передачи ключей стандартный протокол LDAP. Хороший LDAP-" +#~ "сервер — ldap://" +#~ "keyserver.pgp.com." + +#, fuzzy +#~| msgid "" +#~| "Key Sharing is provided by DNS-SD, also known as Bonjour or Rendevous. " +#~| "Enabling key sharing will add the local Passwords and " +#~| "Encryption Keys users' public key rings to the remote " +#~| "search dialog. Using these local \"key servers\" will most likely be " +#~| "faster than accessing remote servers." +#~ msgid "" +#~ "Key Sharing is provided by DNS-SD, also known as Bonjour or Rendevous. " +#~ "Enabling key sharing will add the local Passwords and Keys users' public key rings to the remote search dialog. Using " +#~ "these local \"key servers\" will most likely be faster than accessing " +#~ "remote servers." +#~ msgstr "" +#~ "Обмен ключами обеспечивается системой DNS-SD, также известной как Bonjour " +#~ "и Rendezvous. Если включить обмен ключами, то брелоки пользователей " +#~ "программы Пароли и ключи шифрования из " +#~ "локальной сети будут доступны в диалоге удалённого поиска. Скорее всего, " +#~ "обращение к таким «серверам» будет происходить быстрее, чем к удалённым " +#~ "серверам." + +#, fuzzy +#~| msgid "" +#~| "Passwords and Encryption Keys, its associated " +#~| "plugins, the preferences applet and the panel applet are known " +#~| "collectively as Seahorse. Seahorse was written by Jacob Perkins. The " +#~| "current maintainers are Stef Walter and Adam Schreiber. This manual is " +#~| "by Adam Schreiber. The project's web site was designed by Jim Pharis. To " +#~| "find more information about Seahorse, the project , please visit the " +#~| "Seahorse web page." +#~ msgid "" +#~ "Passwords and Keys, its associated plugins, " +#~ "the preferences applet and the panel applet are known collectively as " +#~ "Seahorse. Seahorse was written by Jacob Perkins. The current maintainers " +#~ "are Stef Walter and Adam Schreiber. This manual is by Adam Schreiber. The " +#~ "project's web site was designed by Jim Pharis. To find more information " +#~ "about Seahorse, the project , please visit the Seahorse web page." +#~ msgstr "" +#~ "Программа Пароли и ключи шифрования, связанные " +#~ "с ней модули, инструмент параметров и апплет панели вместе называются " +#~ "Seahorse. Seahorse написал Джейкоб Перкинс (Jacob Perkins). Ныне Seahorse " +#~ "сопровождается Стефом Уолтером (Stef Walter) и Адамом Шрайбером (Adam " +#~ "Schreiber). Это руководство написал Адам Шрайбер. Веб-сайт проекта " +#~ "разработал Джим Фэрис (Jim Pharis). Подробнее о Seahorse вы можете узнать " +#~ "на веб-сайте проекта." + +#, fuzzy +#~| msgid "" +#~| "To report a bug or make a suggestion regarding this application or this " +#~| "manual, follow the directions in the Feedback section of the GNOME User Guide." +#~ msgid "" +#~ "To report a bug or make a suggestion regarding this application or this " +#~ "manual, follow the directions in the Feedback section of the GNOME User Guide." +#~ msgstr "" +#~ "Чтобы сообщить об ошибке или сделать предложение по Seahorse или этому " +#~ "руководству, следуйте указаниям в разделе обратной связи руководства пользователя " +#~ "GNOME." + +#, fuzzy +#~| msgid "" +#~| "This program is distributed under the terms of the GNU General Public " +#~| "license as published by the Free Software Foundation; either version 2 " +#~| "of the License, or (at your option) any later version. A copy of this license is included " +#~| "with this documentation; another can be found in the file COPYING " +#~| "included with the source code of this program." +#~ msgid "" +#~ "This program is distributed under the terms of the GNU General Public " +#~ "license as published by the Free Software Foundation; either version 2 of " +#~ "the License, or (at your option) any later version. A copy of this license is included with this " +#~ "documentation; another can be found in the file COPYING included with the " +#~ "source code of this program." +#~ msgstr "" +#~ "Эта программа распространяется на условиях лицензии GNU General Public " +#~ "License, опубликованной фондом Free Software Foundation; либо версии 2 " +#~ "этой лицензии, либо (на ваш выбор) любой более поздней версии. Копия этой лицензии прилагается к " +#~ "документации; ещё одну можно найти в файле COPYING, который прилагается к " +#~ "исходному тексту программы." + +#, fuzzy +#~| msgid "" +#~| "Permission is granted to copy, distribute and/or modify this document " +#~| "under the terms of the GNU Free Documentation License (GFDL), Version " +#~| "1.1 or any later version published by the Free Software Foundation with " +#~| "no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. " +#~| "You can find a copy of the GFDL at this link or in the file COPYING-DOCS distributed with this " +#~| "manual." +#~ msgid "" +#~ "Permission is granted to copy, distribute and/or modify this document " +#~ "under the terms of the GNU Free Documentation License (GFDL), Version 1.1 " +#~ "or any later version published by the Free Software Foundation with no " +#~ "Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You " +#~ "can find a copy of the GFDL at this <_:ulink-1/> or in the file COPYING-" +#~ "DOCS distributed with this manual." +#~ msgstr "" +#~ "Разрешается копировать, распространять и/или изменять этот документ на " +#~ "условиях лицензии GNU Free Documentation License (GFDL), версии 1.1 или " +#~ "любой более поздней версии, опубликованной Фондом свободного программного " +#~ "обеспечения (Free Software Foundation), без неизменяемых частей и без " +#~ "текстов на обложках. Вы можете найти копию лицензии GFDL по этой ссылке или в файле COPYING-DOCS, " +#~ "распространяемом с этим документом." + +#~ msgid "2005, 2006, 2007, 2008" +#~ msgstr "2005, 2006, 2007, 2008" + +#~ msgid "Jacob Perkins and Adam Schreiber" +#~ msgstr "Jacob Perkins и Adam Schreiber" + +#~ msgid "Jacob" +#~ msgstr "Jacob" + +#~ msgid "Perkins" +#~ msgstr "Perkins" + +#~ msgid "Adam" +#~ msgstr "Adam" + +#~ msgid "Schreiber" +#~ msgstr "Schreiber" + +#~ msgid "sadam@clemson.edu" +#~ msgstr "sadam@clemson.edu" + +#~ msgid "Passwords and Encryption Keys Manual V0.9.1" +#~ msgstr "Руководство по паролям и ключам шифрования V0.9.1" + +#~ msgid "November 2006" +#~ msgstr "ноябрь 2006" + +#~ msgid "Passwords and Encryption Keys Manual V0.9.0" +#~ msgstr "Руководство по паролям и ключам шифрования V0.9.0" + +#~ msgid "July 2005" +#~ msgstr "июль 2005" + +#~ msgid "Passwords and Encryption Keys Manual V0.7.0" +#~ msgstr "Руководство по паролям и ключам шифрования V0.7.0" + +#~ msgid "February 2003" +#~ msgstr "февраль 2003" + +#~ msgid "Seahorse" +#~ msgstr "Seahorse" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "A drop-in replacement for gpg-agent" +#~ msgstr "готовая замена gpg-agent;" + +#~ msgid "A DNS-SD HKP key server" +#~ msgstr "HKP-сервер ключей для DNS-SD;" + +#~ msgid "" +#~ "Plugins for Gedit, Nautilus and Epiphany" +#~ msgstr "" +#~ "модули для Gedit, Nautilus и Epiphany;" + +#~ msgid "A panel applet for encrypting text on the clipboard" +#~ msgstr "апплет панели, чтобы шифровать текст, хранящийся в буфере обмена." + +#~ msgid "" +#~ "Features of Passwords and Encryption Keys " +#~ "include: " +#~ msgstr "" +#~ "Вот некоторые из возможностей Паролей и ключей шифрования:" + +#~ msgid "Cache your passphrase so you don't have to keep typing it," +#~ msgstr "" +#~ "хранить свой пароль, чтобы не надо было каждый раз набирать его снова;" + +#~ msgid "Encrypt and decrypt the clipboard." +#~ msgstr "зашифровывать и расшифровывать то, что находится в буфере обмена." + +#~ msgid "Passwords and Encryption Keys" +#~ msgstr "Пароли и ключи шифрования" + +#~ msgid "Show the window." +#~ msgstr "Показывает окно ." + +#~ msgid "DSA" +#~ msgstr "DSA" + +#~ msgid "Fingerprint" +#~ msgstr "Отпечаток" + +#~ msgid "Type" +#~ msgstr "Тип" + +#~ msgid "Created" +#~ msgstr "Создан" + +#~ msgid "Expires" +#~ msgstr "Истекает" + +#~ msgid "Strength" +#~ msgstr "Прочность" + +#~ msgid "Full Name" +#~ msgstr "Полное имя" + +#~ msgid "Email Address" +#~ msgstr "Электронный адрес" + +#~ msgid "Key Comment" +#~ msgstr "Комментарий к ключу" + +#~ msgid "ID" +#~ msgstr "Идентификатор" + +#~ msgid "Status" +#~ msgstr "Состояние" + +#~ msgid "Location" +#~ msgstr "Местоположение" + +#~ msgid "" +#~ "Choose KeyBack up Keyrings," +#~ msgstr "" +#~ "выберите КлючСделать " +#~ "резервную копию брелоков;" + +#~ msgid "" +#~ "Enter a file name with a valid archive extension and specify the location " +#~ "to save the archive." +#~ msgstr "" +#~ "введите имя файла, укажите расширение архива и выберите место, в котором " +#~ "нужно сохранить архив." + +#~ msgid "" +#~ "You can choose any of the archive types file-roller supports." +#~ msgstr "" +#~ "Вы можете выбрать любой тип архивов, который поддерживает " +#~ "file-roller." + +#~ msgid "" +#~ "To back up your public and private keyrings to an archived file: " +#~ "" +#~ msgstr "" +#~ "Чтобы сделать архивный файл с резервной копей ваших открытых и закрытых " +#~ "брелоков: " + +#~ msgid "File Manager Integration" +#~ msgstr "Интеграция с файловым менеджером" + +#~ msgid "" +#~ "Passwords and Encryption Keys integrates with " +#~ "Nautilus. You can encrypt, decrypt, sign and verify files as well as " +#~ "import public keys from the file manager window without launching " +#~ "Passwords and Encryption Keys." +#~ msgstr "" +#~ "Программа Пароли и ключи шифрования " +#~ "встраивается в Nautilus. Вы можете зашифровывать, " +#~ "расшифровывать, подписывать и проверять файлы, а также импортировать " +#~ "открытые ключи, из окна файлового менеджера — не запуская " +#~ "Пароли и ключи шифрования." + +#~ msgid "Encrypting Files" +#~ msgstr "Зашифровка файлов" + +#~ msgid "Select one or more files from the file manager," +#~ msgstr "выделите один или несколько файлов в файловом менеджере;" + +#~ msgid "" +#~ "To encrypt files from the file manager, perform the following steps: " +#~ "" +#~ msgstr "" +#~ "Чтобы зашифровать файлы из файлового менеджера, сделайте следующее: " +#~ "" + +#~ msgid "Signing Files" +#~ msgstr "Подписывание файлов" + +#~ msgid "If asked, enter the passphrase of your private key." +#~ msgstr "если нужно, введите пароль своего закрытого ключа." + +#~ msgid "" +#~ "To sign files from the file manager, perform the following steps: " +#~ "" +#~ msgstr "" +#~ "Чтобы подписать файлы из файлового менеджера, сделайте следующее: " +#~ "" + +#~ msgid "Double click on the file you want to decrypt," +#~ msgstr "дважды щёлкните на файле, который хотите расшифровать;" + +#~ msgid "" +#~ "To decrypt an encrypted file from the file manager, perform the following " +#~ "steps: " +#~ msgstr "" +#~ "Чтобы расшифровать зашифрованный файл из файлового менеджера, сделайте " +#~ "следующее: " + +#~ msgid "Verifing Signatures" +#~ msgstr "Проверка подписей" + +#~ msgid "" +#~ "To verify files, simply double click on the the detached signature file." +#~ msgstr "" +#~ "Чтобы проверить файлы, просто дважды щёлкните на откреплённом файле " +#~ "подписи." + +#~ msgid "" +#~ "Detached signature file names often take the form <file name>.sig" +#~ msgstr "Имена откреплённых файлов подписей часто имеют вид ‹имя файла›.sig" + +#~ msgid "Text Editor Integration" +#~ msgstr "Интеграция с текстовым редактором" + +#~ msgid "" +#~ "Run Gedit by choosing " +#~ "ApplicationsAccessoriesText Editor," +#~ msgstr "" +#~ "запустите Gedit, выбрав " +#~ "ПриложенияСтандартныеТекстовый редактор;" + +#~ msgid "" +#~ "In the Plugin tab, select the Text " +#~ "Encryption plugin." +#~ msgstr "" +#~ "на вкладке Модули выберите модуль " +#~ "Шифрование текста." + +#~ msgid "" +#~ "To enable Text Encryption plugin in Gedit, the GNOME text editor, " +#~ "perform the following steps: " +#~ msgstr "" +#~ "Чтобы включить модуль шифрования текста в Gedit — текстовом редакторе " +#~ "GNOME — сделайте следующее: " + +#~ msgid "Encrypting Text" +#~ msgstr "Зашифровка текста" + +#~ msgid "" +#~ "Select the text you want to encrypt, and choose " +#~ "EditEncrypt," +#~ msgstr "" +#~ "выделите текст, который хотите зашифровать, и выберите " +#~ "ПравкаЗашифровать;" + +#~ msgid "" +#~ "To encrypt a selection of text from Gedit, " +#~ "perform the following steps: You can now copy or save " +#~ "the encrypted text." +#~ msgstr "" +#~ "Чтобы зашифровать участок текста в Gedit, " +#~ "сделайте следующее: Теперь вы можете скопировать или " +#~ "сохранить зашифрованный текст." + +#~ msgid "Signing Text" +#~ msgstr "Подписывание текста" + +#~ msgid "" +#~ "Select the text you want to sign and choose EditSign," +#~ msgstr "" +#~ "выделите текст, который хотите подписать, и выберите " +#~ "ПравкаПодписать;" + +#~ msgid "Insert, if asked, the passphrase of your private key." +#~ msgstr "если нужно, введите пароль своего закрытого ключа." + +#~ msgid "" +#~ "To sign a selection of text from Gedit, " +#~ "perform the following steps: You can now copy or save " +#~ "the signed text." +#~ msgstr "" +#~ "Чтобы подписать участок текста в Gedit, " +#~ "сделайте следующее: Теперь вы можете скопировать или " +#~ "сохранить подписанный текст." + +#~ msgid "Decrypting/Verifing Text" +#~ msgstr "Расшифровка и проверка текста" + +#~ msgid "" +#~ "Select the text you want to decrypt/verify and choose " +#~ "EditDecrypt/Verify," +#~ msgstr "" +#~ "выделите текст, который хотите расшифровать или проверить, и выберите " +#~ "ПравкаРасшифровать или " +#~ "проверить;" + +#~ msgid "" +#~ "To decrypt and/or verify a selection of text from Gedit, perform the following steps: You can now " +#~ "copy or save the decrypted text." +#~ msgstr "" +#~ "Чтобы расшифровать и/или проверить участок текста в Gedit, сделайте следующее: Теперь вы можете " +#~ "скопировать или сохранить расшифрованный текст." + +#~ msgid "" +#~ "This section describes the preferences settable in Passwords " +#~ "and Encryption Keys." +#~ msgstr "" +#~ "В этом разделе описываются параметры, которые можно настроить для " +#~ "Паролей и ключей шифрования." + +#~ msgid "View preferences" +#~ msgstr "Параметры внешнего вида" + +#~ msgid "These options control wich columns are visible in the key manager." +#~ msgstr "" +#~ "Эти параметры управляют тем, какие столбцы показываются в списке ключей." + +#~ msgid "" +#~ "To access this options choose View from the menubar." +#~ msgstr "" +#~ "Чтобы изменить эти параметры, выберите меню Вид из строки меню." + +#~ msgid "Types" +#~ msgstr "Тип" + +#~ msgid "" +#~ "Shows the Type column, indicating whether the key is " +#~ "an OpenPGP, SSH key or a S/MIME certificate." +#~ msgstr "" +#~ "Показывать столбец Тип, в котором указан тип ключа: " +#~ "OpenPGP, SSH или сертификат S/MIME." + +#~ msgid "Certificates are not yet supported." +#~ msgstr "Сертификаты пока не поддерживаются." + +#~ msgid "Expiry" +#~ msgstr "Истекает" + +#~ msgid "" +#~ "Shows the Expiration Date column, indicating the " +#~ "date after which a key can no longer be used to encrypt or to sign." +#~ msgstr "" +#~ "Показывать столбец Истекает, в котором указана дата, " +#~ "начиная с которой ключ больше нельзя будет использовать для шифрования и " +#~ "подписывания." + +#~ msgid "" +#~ "Shows the Trust column, indicating the level at " +#~ "which you trust the person to verify the identity of other people when " +#~ "they sign keys." +#~ msgstr "" +#~ "Показывать столбец Доверие, в котором указано, " +#~ "насколько вы доверяете способности владельца ключа проверять личность " +#~ "других людей и подписывать их ключи." + +#~ msgid "Validity" +#~ msgstr "Достоверность" + +#~ msgid "" +#~ "Shows the Validity column, indicating how well you " +#~ "know the key belongs to the person claiming it as their own." +#~ msgstr "" +#~ "Показывать столбец Достоверность, в котором указано, " +#~ "насколько вы уверены в том, что ключ действительно принадлежит указанному " +#~ "владельцу." + +#~ msgid "Encryption Preferences" +#~ msgstr "Параметры шифрования" + +#~ msgid "Encryption Settings" +#~ msgstr "Параметры шифрования" + +#~ msgid "Default Key" +#~ msgstr "Ключ по умолчанию" + +#~ msgid "" +#~ "This is the key that will be used by Passwords and " +#~ "Encryption Keys to sign files. It will also be the key that " +#~ "files will be encrypted to if encrypt to self is selected." +#~ msgstr "" +#~ "Это ключ, который будет использоваться программой Пароли и " +#~ "ключи шифрования для подписывания файлов. Этот же ключ " +#~ "будет использоваться при шифровании файлов, если вы выберете шифрование " +#~ "для себя." + +#~ msgid "When encrypting, always include myself as a recipient" +#~ msgstr "При шифровании включать меня в список получателей" + +#~ msgid "" +#~ "Sets the encrypt to self option, whether or not you will be added to the " +#~ "recipients list for all files encrypted by Passwords and " +#~ "Encryption Keys." +#~ msgstr "" +#~ "Этот параметр определяет, будете ли вы добавляться в список получателей " +#~ "для всех файлов, шифруемых программой Пароли и ключи " +#~ "шифрования." + +#~ msgid "" +#~ "If you do not select this and you do not select yourself as a recipient " +#~ "you will not be unable to decrypt any files you encrypt." +#~ msgstr "" +#~ "Если вы не выберете этот параметр, и при этом не добавите себя в список " +#~ "получателей сами, вы не сможете расшифровать файлы, которые зашифруете." + +#~ msgid "Passphrase Cache" +#~ msgstr "Память паролей" + +#~ msgid "" +#~ "Enabling Passwords and Encryption Keys's " +#~ "passphrase caching ability will allow you to perform many operations that " +#~ "require entering your passphrase without re-entering it every time. " +#~ "seahorse-daemon takes the place of gpg-agent. Letting the cached passphrases expire is usually a good idea. " +#~ "This will then require re-entering your passphrase, but adds security." +#~ msgstr "" +#~ "Программа Пароли и ключи шифрования может " +#~ "запоминать ваши пароли. В этом случае вы сможете выполнять многие " +#~ "действия, требующие вашего пароля, не вводя пароль каждый раз. " +#~ "seahorse-daemon заменяет gpg-agent. " +#~ "Обычно желательно, чтобы память паролей истекала. При этом время от " +#~ "времени потребуется снова вводить пароль, но зато повысится безопасность." + +#~ msgid "Never remember passphrases" +#~ msgstr "Никогда не запоминать пароли" + +#~ msgid "Sets to not remember any passphrase." +#~ msgstr "Указывает, что пароли никогда не будут запоминаться." + +#~ msgid "Remember passphrases for ... minutes" +#~ msgstr "Запоминать пароли на ... минут" + +#~ msgid "" +#~ "Sets the amount of time, in minutes, for storing passphrases. Use the " +#~ "spin box to set the desired time." +#~ msgstr "" +#~ "Указывает длительность памяти паролей, в минутах. Выберите желаемое время " +#~ "с помощью числового поля." + +#~ msgid "Always remember passphrases whenever logged in" +#~ msgstr "Всегда запоминать пароли на весь сеанс" + +#~ msgid "" +#~ "Sets to remember any passphrases whenever you are logged in the session." +#~ msgstr "Указывает, что все пароли будут запоминаться на всё время сеанса." + +#~ msgid "Ask me before using a cached passphrase" +#~ msgstr "Спрашивать меня перед использованием пароля из памяти" + +#~ msgid "Sets to ask you before using a stored passphrase." +#~ msgstr "" +#~ "Указывает, что надо спрашивать вас, прежде чем использовать пароль из " +#~ "памяти." + +#~ msgid "Automatically load Secure Shell keys" +#~ msgstr "Автоматически загружать ключи SSH" + +#~ msgid "Sets to automatically cache any Secure Shell key." +#~ msgstr "Указывает, что надо автоматически запоминать любой ключ SSH." + +#~ msgid "HKP Servers" +#~ msgstr "Серверы HKP" + +#~ msgid "LDAP" +#~ msgstr "LDAP" + +#~ msgid " Keyservers" +#~ msgstr "Серверы ключей " + +#~ msgid "GNOME Keyring" +#~ msgstr "GNOME Keyring" + +#~ msgid "" +#~ "You can change the password of the default key ring created the first " +#~ "time you saved a password, a passphrase to access a SSH server or any " +#~ "other secret during a GNOME session." +#~ msgstr "" +#~ "Вы можете изменить пароль брелока по умолчанию, который был создан при " +#~ "первом сохранении пароля (или любой другой тайны) в сеансе GNOME." + +#~ msgid "To clear all the text boxes, press Clear." +#~ msgstr "Чтобы очистить все поля, нажмите Очистить." diff --git a/help/sv/sv.po b/help/sv/sv.po new file mode 100644 index 00000000..4a6c91f4 --- /dev/null +++ b/help/sv/sv.po @@ -0,0 +1,3327 @@ +# Swedish translation for seahorse. +# Copyright © 2016-2020 seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# Isak Östlund , 2016, 2020. +# Anders Jonsson , 2018, 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"POT-Creation-Date: 2020-07-31 17:47+0000\n" +"PO-Revision-Date: 2020-09-07 22:43+0200\n" +"Last-Translator: Isak Östlund \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "" +"Isak Östlund , 2016\n" +"Anders Jonsson , 2020\n" +"Skicka synpunkter på översättningen till\n" +"." + +#. (itstool) path: credit/name +#: C/about-diff-private-public.page:14 C/about-ssh.page:13 C/concepts.page:14 +#: C/index.page:14 C/introduction.page:15 C/keyring-create.page:26 +#: C/keyring.page:15 C/pgp-create.page:16 C/pgp-import.page:21 +#: C/ssh-connect-remote.page:14 C/ssh-create.page:16 C/ssh-import.page:20 +msgid "Jim Campbell" +msgstr "Jim Campbell" + +#. (itstool) path: credit/years +#: C/about-diff-private-public.page:16 C/about-pgp.page:17 C/about-ssh.page:15 +#: C/glossary.page:17 C/index.page:16 C/index.page:21 C/index.page:26 +#: C/introduction.page:17 C/introduction.page:23 C/key-servers-add.page:20 +#: C/keyring-change-default.page:16 C/keyring-create.page:18 +#: C/keyring-create.page:23 C/keyring-lock.page:17 C/keyring-unlock.page:17 +#: C/keyring-update-password.page:17 C/keyring.page:17 C/keyring.page:22 +#: C/keyring.page:27 C/misc-key-backup.page:17 C/misc-key-fingerprint.page:16 +#: C/passwords-stored-create.page:16 C/passwords-view.page:18 +#: C/pgp-create.page:18 C/pgp-create.page:24 C/pgp-delete.page:17 +#: C/pgp-expiration-change.page:16 C/pgp-expired.page:17 C/pgp-export.page:16 +#: C/pgp-import.page:18 C/pgp-import.page:23 C/pgp-photoid.page:17 +#: C/pgp-publish.page:18 C/pgp-retrieve-remote.page:18 C/pgp-sign.page:16 +#: C/pgp-subkeys.page:16 C/pgp-sync.page:18 C/pgp-userid-add.page:17 +#: C/pgp-userid-primary.page:16 C/pgp-userid-remove.page:17 +#: C/pgp-userid.page:16 C/ssh-create.page:18 C/ssh-export.page:17 +#: C/ssh-import.page:17 C/ssh-import.page:22 C/subkeys-add.page:17 +#: C/subkeys-examine.page:17 C/subkeys-revoke.page:17 +msgid "2013" +msgstr "2013" + +#. (itstool) path: info/desc +#: C/about-diff-private-public.page:19 +msgid "" +"A public key is used to encrypt communication. A private key is used to " +"decrypt it." +msgstr "" +"En öppen nyckel används för att kryptera kommunikation. En privat nyckel " +"används för dekryptering." + +#. (itstool) path: page/title +#: C/about-diff-private-public.page:23 +msgid "Public Key vs Private Key" +msgstr "Öppen nyckel mot privat nyckel" + +#. (itstool) path: page/p +#: C/about-diff-private-public.page:25 +msgid "" +"Although Public Keys and Private Keys are both referred to " +"as keys, it helps to think of them a bit differently. Try to think " +"of a Public Key as being like a padlock, and a Private Key " +"as being like a key that unlocks the padlock." +msgstr "" +"Trots att öppna nycklar och privata nycklar båda kallas " +"nycklar så hjälper det att tänka på dem på ett annat sätt. " +"Föreställ dig att den öppna nyckeln är ett hänglås och den " +"privata nyckeln är nyckeln som låser upp hänglåset." + +#. (itstool) path: section/title +#: C/about-diff-private-public.page:31 +msgid "An Example: Sending a Secret Message in a Box" +msgstr "Ett exempel: Att skicka ett hemligt meddelande i en låda" + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:33 +msgid "" +"Let's use an example to see how this works. Imagine that you want your " +"friend to send you a secret message in a box. You could give your friend a " +"box and a padlock, but only you would have the key that unlocks the padlock." +msgstr "" +"Vi använder ett exempel för att visa hur det här fungerar. Du vill att en " +"vän skickar ett hemligt meddelande till dig i en låda. Du kan ge din vän en " +"låda och ett hänglås, men endast du har nyckeln till hänglåset." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:38 +msgid "" +"Your friend could put their message in the box, lock the padlock, and then " +"send you the locked box in the mail. When you receive it, you would use your " +"key to unlock the box." +msgstr "" +"Din vän kan lägga meddelandet i lådan, låsa hänglåset, och sedan skicka den " +"låsta lådan med posten. När du får lådan så låser du upp den med din nyckel." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:42 +msgid "" +"This is similar to how a Public Key and a Private Key " +"work. Like the padlock, you can freely give out your Public Key. " +"This will make it easy for anyone to securely encrypt, or lock, a message " +"that they want to send to you." +msgstr "" +"Det här är hur en öppen nyckel och en privat nyckel " +"fungerar. Precis som med hänglåset kan du fritt ge ut din öppna nyckel. Det här gör det lätt för vem som helst att säkert kryptera, eller låsa, " +"ett meddelande som de vill skicka till dig." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:47 +msgid "" +"On the other hand, a Private Key is like the key that allows you to " +"decrypt, or unlock, the padlock. Because the Private Key is used to " +"decrypt secure messages, you will want to keep your Private Key " +"safe." +msgstr "" +"Å andra sidan, en privat nyckel är nyckeln som låter dig " +"dekryptera, eller låsa upp, hänglåset. Eftersom den privata nyckeln " +"används för att dekryptera hemliga meddelanden vill du hålla den privata " +"nyckeln i säkert förvar." + +#. (itstool) path: credit/name +#: C/about-pgp.page:15 C/glossary.page:15 C/index.page:19 +#: C/introduction.page:21 C/key-servers-add.page:18 +#: C/keyring-change-default.page:14 C/keyring-create.page:16 +#: C/keyring-lock.page:15 C/keyring-unlock.page:15 +#: C/keyring-update-password.page:15 C/keyring.page:20 +#: C/misc-key-backup.page:15 C/misc-key-fingerprint.page:14 +#: C/passwords-stored-create.page:14 C/passwords-view.page:16 +#: C/pgp-create.page:22 C/pgp-delete.page:15 C/pgp-expiration-change.page:14 +#: C/pgp-expired.page:15 C/pgp-export.page:14 C/pgp-import.page:16 +#: C/pgp-photoid.page:15 C/pgp-sign.page:14 C/pgp-subkeys.page:14 +#: C/pgp-sync.page:16 C/pgp-userid-add.page:15 C/pgp-userid-primary.page:14 +#: C/pgp-userid-remove.page:15 C/pgp-userid.page:14 +#: C/ssh-connect-remote.page:19 C/ssh-export.page:15 C/ssh-import.page:15 +#: C/subkeys-add.page:15 C/subkeys-examine.page:15 C/subkeys-revoke.page:15 +msgid "Aruna Sankaranarayanan" +msgstr "Aruna Sankaranarayanan" + +#. (itstool) path: info/desc +#: C/about-pgp.page:20 +msgid "PGP keys are used to sign and encrypt emails and files." +msgstr "" +"PGP-nycklar används till att signera och kryptera e-postmeddelanden och " +"filer." + +#. (itstool) path: page/title +#: C/about-pgp.page:23 +msgid "What is a PGP key?" +msgstr "Vad är en PGP-nyckel?" + +#. (itstool) path: page/p +#: C/about-pgp.page:25 +msgid "" +"A PGP key is a public encryption key. A PGP key can be used to sign and " +"encrypt emails and files. When you create a PGP key, a keypair having a " +"public key and a private key is generated. You can share the public key with " +"anyone who wishes to send you encrypted messages or files, but the private " +"key must be known only to you and used to decrypt received messages." +msgstr "" +"En PGP-nyckel är en öppen krypteringsnyckel. En PGP-nyckel kan användas för " +"att kryptera e-postmeddelanden och filer. När du skapar en PGP-nyckel så " +"genereras ett nyckelpar med en öppen och en privat nyckel. Du kan dela ut " +"den öppna nyckeln till vem som helst som vill skicka krypterade meddelanden " +"eller filer, men den privata nyckeln måste hållas hemlig och användas till " +"att dekryptera mottagna meddelanden." + +#. (itstool) path: section/title +#: C/about-pgp.page:32 +msgid "Encrypt and sign data using PGP keys" +msgstr "Kryptera och signera data med PGP-nycklar" + +#. (itstool) path: section/p +#: C/about-pgp.page:34 +msgid "" +"Passwords and Keys is a key management application. Though it " +"cannot be used to encrypt or sign files and messages, you can use it to " +"sign trustworthy keys." +msgstr "" +"Lösenord och nycklar är ett nyckelhanteringsprogram. Trots att " +"det inte kan användas till att kryptera eller signera filer och meddelanden " +"så kan du signera pålitliga nycklar." + +#. (itstool) path: section/p +#: C/about-pgp.page:38 +msgid "" +"To secure your communication, you can use email clients like Evolution that provide encryption and signing services." +msgstr "" +"För att säkra din kommunikation kan du använda e-postklienter såsom " +"Evolution som erbjuder krypterings- och signeringstjänster." + +#. (itstool) path: info/desc +#: C/about-ssh.page:18 +msgid "" +"SSH keys are used to login to a remote computer, once a secure connection " +"has been established." +msgstr "" +"SSH-nycklar används för att logga in på en fjärransluten dator när en säker " +"anslutning väl har upprättats." + +#. (itstool) path: page/title +#: C/about-ssh.page:22 +msgid "What is a Secure Shell key?" +msgstr "Vad är en Secure Shell-nyckel?" + +#. (itstool) path: page/p +#: C/about-ssh.page:24 +msgid "" +"A Secure Shell key, often just called an SSH key, helps " +"you create a secure connection over an unsecured network." +msgstr "" +"En Secure Shell-nyckel, vanligtvis kallad SSH-nyckel, " +"hjälper dig skapa en säker anslutning över ett oskyddat nätverk." + +#. (itstool) path: list/title +#: C/about-ssh.page:28 +msgid "An SSH key actually consists of two parts:" +msgstr "En SSH-nyckel består egentligen av två delar:" + +#. (itstool) path: item/p +#: C/about-ssh.page:29 +msgid "A public key, which is widely available." +msgstr "En öppen nyckel, som är allmänt tillgänglig." + +#. (itstool) path: item/p +#: C/about-ssh.page:30 +msgid "" +"A private key, which is kept secret. The private key is used to unlock " +"messages encrypted with a corresponding public key." +msgstr "" +"En privat nyckel, som hålls hemlig. Den privata nyckeln används för att låsa " +"upp meddelanden krypterade med den motsvarande öppna nyckeln." + +#. (itstool) path: page/p +#: C/about-ssh.page:34 +msgid "" +"The advantage of using an SSH key to create a connection between " +"computers is that only the Public key needs to be sent over the " +"network. Transmissions encrypted with a Public key can only be " +"decoded by unlocking them with the corresponding Private key and a " +"password. Because only the public key is sent over the network, the key's " +"password is kept secret." +msgstr "" +"Fördelen med att använda en SSH-nyckel för att ansluta till datorer " +"är att endast den öppna nyckeln behöver skickas över nätverket. " +"Överföringar krypterade med en öppen nyckel kan bara avkodas genom " +"att låsa upp dem med motsvarande privata nyckeln och ett lösenord. " +"Nyckelns lösenord hålls hemligt eftersom endast den öppna nyckeln skickas " +"över nätverket." + +#. (itstool) path: credit/years +#: C/concepts.page:16 C/key-servers-add.page:25 C/keyring-create.page:28 +#: C/misc-key-backup.page:23 C/passwords-view.page:24 C/pgp-create.page:30 +#: C/pgp-delete.page:23 C/ssh-create.page:23 C/ssh-create.page:28 +msgid "2014" +msgstr "2014" + +#. (itstool) path: info/desc +#: C/concepts.page:19 +msgid "" +"Learn terms and concepts that are relevant to managing passwords and keys." +msgstr "" +"Lär dig uttryck och begrepp som är relevanta till att hantera lösenord och " +"nycklar." + +#. (itstool) path: page/title +#: C/concepts.page:23 +msgid "Key Concepts and Terms" +msgstr "Huvudbegrepp och uttryck" + +#. (itstool) path: info/desc +#: C/glossary.page:20 +msgid "A list of basic terms used." +msgstr "En lista med grundläggande uttryck som används." + +#. (itstool) path: page/title +#: C/glossary.page:23 +msgid "Glossary" +msgstr "Ordlista" + +#. (itstool) path: page/p +#: C/glossary.page:25 +msgid "" +"Passwords and Keys helps you to generate and manage tokens that " +"can be used to protect your files and communication. Here are some basic " +"terms that you will encounter while reading this help:" +msgstr "" +"Lösenord och nycklar hjälper dig att generera och hantera element " +"som kan användas till att skydda dina filer och din kommunikation. Här är " +"några grundläggande uttryck som du kommer att stöta på i den här hjälpen:" + +#. (itstool) path: item/title +#: C/glossary.page:31 +msgid "Encryption" +msgstr "Kryptering" + +#. (itstool) path: item/p +#: C/glossary.page:32 +msgid "" +"Encryption is the process of making your important files and data unreadable " +"to anyone but the intended recipient. When you encrypt your data, it becomes " +"a scrambled sequence of numbers and letters. Encryption is done by someone " +"who is sending a protected file, or sending a message in a protected " +"conversation." +msgstr "" +"Kryptering är processen som gör dina viktiga filer och data oläsbara för " +"alla förutom den avsedda mottagaren. När du krypterar data blir den en " +"förvrängd serie av siffror och bokstäver. Kryptering görs av den som skickar " +"en skyddad fil eller skickar ett meddelande i en skyddad konversation." + +#. (itstool) path: item/title +#: C/glossary.page:39 +msgid "Algorithm" +msgstr "Algoritm" + +#. (itstool) path: item/p +#: C/glossary.page:40 +msgid "" +"An algorithm is a sequence of steps used to encrypt or decrypt your data." +msgstr "En algoritm är de steg som tas för att kryptera eller dekryptera data." + +#. (itstool) path: item/title +#: C/glossary.page:44 +msgid "Decryption" +msgstr "Dekryptering" + +#. (itstool) path: item/p +#: C/glossary.page:45 +msgid "" +"Decryption is the process of retrieving the original text from the encrypted " +"message or file. It is done by the receiver of the protected file or " +"communication. Encrypted messages cannot be understood without decrypting " +"them first." +msgstr "" +"Dekryptering är processen som återställer originaltexten av ett krypterat " +"meddelande eller fil. Det görs av mottagaren av den skyddade filen eller " +"meddelandet. Krypterade meddelanden kan inte tydas utan att de dekrypteras " +"först." + +#. (itstool) path: item/title +#: C/glossary.page:51 +msgid "Plaintext" +msgstr "Oformaterad text" + +#. (itstool) path: item/p +#: C/glossary.page:52 +msgid "" +"Any data or file that is not encrypted, and can therefore be read by anyone " +"who can access it, is called plaintext." +msgstr "" +"Data eller fil som inte är krypterad och kan därför läsas av samtliga med " +"tillgång kallas oformaterad text." + +#. (itstool) path: item/title +#: C/glossary.page:56 +msgid "Key" +msgstr "Nyckel" + +#. (itstool) path: item/p +#: C/glossary.page:57 +msgid "" +"A key is used to encrypt and decrypt files and communication. A key may also " +"be used to login to a remote computer. Some types of keys are PGP keys and SSH " +"keys." +msgstr "" +"En nyckel används för att kryptera och dekryptera filer och meddelanden. En " +"nyckel kan också användas för att logga in på en fjärransluten dator. Några " +"nyckeltyper är PGP-nycklar och SSH-nycklar." + +#. (itstool) path: item/title +#: C/glossary.page:63 +msgid "Keyring" +msgstr "Nyckelring" + +#. (itstool) path: item/p +#: C/glossary.page:64 +msgid "A keyring is a collection of passwords or keys." +msgstr "En nyckelring är en samling lösenord och nycklar." + +#. (itstool) path: info/title +#: C/index.page:8 +msgctxt "link" +msgid "Passwords and Keys" +msgstr "Lösenord och nycklar" + +#. (itstool) path: info/title +#: C/index.page:9 +msgctxt "text" +msgid "Passwords and Keys" +msgstr "Lösenord och nycklar" + +#. (itstool) path: credit/name +#: C/index.page:24 C/keyring-create.page:21 C/keyring.page:25 +#: C/ssh-create.page:26 +msgid "Ekaterina Gerasimova" +msgstr "Ekaterina Gerasimova" + +#. (itstool) path: info/desc +#: C/index.page:31 +msgid "" +"Use Passwords and Keys to remember your passwords, and to create " +"and manage PGP and SSH keys." +msgstr "" +"Använd Lösenord och nycklar för att komma ihåg dina lösenord samt " +"för att skapa och hantera PGP- och SSH-nycklar." + +#. (itstool) path: page/title +#: C/index.page:34 +msgid "<_:media-1/> Passwords and Keys" +msgstr "<_:media-1/> Lösenord och nycklar" + +#. (itstool) path: section/title +#: C/index.page:40 +msgid "SSH Keys" +msgstr "SSH-nycklar" + +#. (itstool) path: section/title +#: C/index.page:45 +msgid "PGP keys" +msgstr "PGP-nycklar" + +#. (itstool) path: section/title +#: C/index.page:50 +msgid "Stored passwords and password keyrings" +msgstr "Lagrade lösenord och lösenordsnyckelringar" + +#. (itstool) path: info/desc +#: C/introduction.page:26 +msgid "" +"Use Passwords and Keys to create and manage PGP and SSH keys and " +"to save passwords that are difficult to remember." +msgstr "" +"Använd Lösenord och nycklar för att skapa och hantera PGP- och " +"SSH-nycklar samt för att spara lättglömda lösenord." + +#. (itstool) path: page/title +#: C/introduction.page:30 +msgid "Introduction" +msgstr "Introduktion" + +#. (itstool) path: page/p +#: C/introduction.page:32 +msgid "" +"Welcome to the Passwords and Keys help guide. Passwords and " +"Keys creates and stores security tokens, helping to keep your " +"information secure on your computer, and secure when you send information " +"over a network." +msgstr "" +"Välkommen till hjälpguiden för Lösenord och nycklar. " +"Lösenord och nycklar skapar och lagrar säkerhetselement som " +"håller din information säker på din dator och när du skickar information " +"över ett nätverk." + +#. (itstool) path: page/p +#: C/introduction.page:36 +msgid "Using Passwords and Keys, you can:" +msgstr "Med hjälp av Lösenord och nycklar kan du:" + +#. (itstool) path: item/p +#: C/introduction.page:40 +msgid "" +"Copy and save passwords that " +"are difficult to remember. To group related passwords, create keyrings." +msgstr "" +"Kopiera och spara lösenord som " +"är lätta att glömma. För att gruppera relaterade lösenord, skapa nyckelringar." + +#. (itstool) path: item/p +#: C/introduction.page:45 +msgid "" +"Create and manage PGP keys." +msgstr "" +"Skapa och hantera PGP-nycklar." + +#. (itstool) path: item/p +#: C/introduction.page:49 +msgid "" +"Create and manage SSH keys." +msgstr "" +"Skapa och hantera SSH-nycklar." + +#. (itstool) path: credit/name +#: C/key-servers-add.page:23 C/misc-key-backup.page:21 C/passwords-view.page:22 +#: C/pgp-create.page:28 C/pgp-delete.page:21 C/ssh-create.page:21 +msgid "Hashem Nasarat" +msgstr "Hashem Nasarat" + +#. (itstool) path: credit/name +#: C/key-servers-add.page:28 C/passwords-view.page:28 +#: C/pgp-retrieve-remote.page:21 +msgid "Andre Klapper" +msgstr "Andre Klapper" + +#. (itstool) path: credit/years +#: C/key-servers-add.page:30 C/passwords-view.page:30 +#: C/pgp-retrieve-remote.page:23 +msgid "2020" +msgstr "2020" + +#. (itstool) path: info/desc +#: C/key-servers-add.page:33 +msgid "" +"Make additions to the list of keyservers in Passwords and Keys" +msgstr "" +"Göra tillägg i listan med nyckelservrar i Lösenord och nycklar" + +#. (itstool) path: page/title +#: C/key-servers-add.page:37 +msgid "Add a keyserver" +msgstr "Lägg till en nyckelserver" + +#. (itstool) path: page/p +#: C/key-servers-add.page:38 +msgid "" +"Passwords and Keys have the following keyservers listed by " +"default:" +msgstr "" +"Lösenord och nycklar har följande nyckelservrar som standard:" + +#. (itstool) path: item/p +#: C/key-servers-add.page:42 +msgid "ldap://keyserver.pgp.com" +msgstr "ldap://keyserver.pgp.com" + +#. (itstool) path: steps/title +#: C/key-servers-add.page:47 +msgid "To add a keyserver" +msgstr "För att lägga till en nyckelserver" + +#. (itstool) path: item/p +#: C/key-servers-add.page:49 C/pgp-publish.page:44 +#: C/pgp-retrieve-remote.page:39 C/pgp-sync.page:41 +msgid "Press the menu button in the header bar." +msgstr "Tryck på menyknappen i rubrikraden." + +#. (itstool) path: item/p +#: C/key-servers-add.page:52 +msgid "Select Preferences." +msgstr "Välj Inställningar." + +#. (itstool) path: item/p +#: C/key-servers-add.page:55 +msgid "Select the Key Servers tab." +msgstr "Välj fliken Nyckelservrar." + +#. (itstool) path: item/p +#: C/key-servers-add.page:58 +msgid "Press the Add button." +msgstr "Tryck på knappen Lägg till." + +#. (itstool) path: item/p +#: C/key-servers-add.page:61 +msgid "" +"In the new dialog, select the appropriate Key Server Type. Key " +"servers are identified by the protocol they use to communicate. Look for the " +"first few letters in the Internet URL of your key server to identify its " +"type." +msgstr "" +"I den nya dialogrutan, välj en passande Typ av nyckelserver. " +"Nyckelservrar identifieras av protokollet de använder för kommunikation. De " +"första bokstäverna i nyckelserverns URL identifierar protokollet." + +#. (itstool) path: item/p +#: C/key-servers-add.page:67 +msgid "" +"In the Host field, paste the Internet URL of your " +"key server. Consult the documentation for the key server you're adding to " +"see if it operates on a non-standard port. If so, enter the port after the " +"':'. If you're unsure, leave the text box after the ':' blank." +msgstr "" +"I fältet för Värd, klistra in nyckelserverns URL. " +"Läs dokumentationen för nyckelservern du lägger till för att se om den " +"använder en icke-standardport. Om så är fallet skriv in portnummer efter " +"':'. Lämna textfältet efter ':' blankt om du är osäker." + +#. (itstool) path: item/p +#: C/key-servers-add.page:74 +msgid "Press Save to finish." +msgstr "Tryck Spara för att slutföra." + +#. (itstool) path: info/desc +#: C/keyring-change-default.page:19 +msgid "Save new passwords to a different keyring by default." +msgstr "Spara nya lösenord till en annan nyckelring som standardval." + +#. (itstool) path: page/title +#: C/keyring-change-default.page:22 +msgid "Change the default keyring" +msgstr "Ändra förvald nyckelring" + +#. (itstool) path: page/p +#: C/keyring-change-default.page:24 +msgid "" +"When you add a new password, " +"it is normally added to the default keyring. If you want to add it to a " +"different keyring, you can choose another one while adding the new password, " +"but you can also change the default keyring. The default keyring is normally " +"the Login keyring." +msgstr "" +"När du lägger till ett nytt lösenord läggs det vanligtvis i den förvalda nyckelringen. Om du vill lägga " +"till den i en annan nyckelring så kan du välja en när du lägger till " +"lösenordet, men du kan även ändra förvald nyckelring. Inloggning " +"är vanligtvis den förvalda nyckelringen." + +#. (itstool) path: steps/title +#: C/keyring-change-default.page:32 +msgid "To change the default keyring:" +msgstr "För att ändra den förvalda nyckelringen:" + +#. (itstool) path: item/p +#: C/keyring-change-default.page:34 +msgid "" +"Select your choice for the default keyring from the list of keyrings under " +"Passwords on the left side panel." +msgstr "" +"Välj vilken nyckelring som ska användas som standardvalet under " +"Lösenord på panelen till vänster." + +#. (itstool) path: item/p +#: C/keyring-change-default.page:38 +msgid "" +"Right click on the selected keyring and select Set as default." +msgstr "" +"Högerklicka den valda nyckelringen och välj Använd som standardval." + +#. (itstool) path: note/p +#: C/keyring-change-default.page:44 +msgid "" +"Passwords to some GNOME applications are stored automatically by " +"Passwords and Keys in the Login keyring because it is " +"the default keyring. When you change the default keyring, any new passwords " +"created for GNOME applications will be stored in the new default keyring " +"while GNOME application passwords created before the change will remain in " +"the Login keyring." +msgstr "" +"Lösenord till vissa GNOME-program lagras automatiskt av Lösenord och " +"nycklar i nyckelringen Inloggning därför att det är den " +"förvalda nyckelringen. När du ändrar den förvalda nyckelringen så lagras " +"alla nya lösenord skapade för GNOME-program i den nya nyckelringen medan " +"lösenord skapade före ändringen ligger kvar i nyckelringen Inloggning." + +#. (itstool) path: info/desc +#: C/keyring-create.page:31 +msgid "Use password keyrings to group stored passwords." +msgstr "Använd lösenordsnyckelringar för att gruppera lagrade lösenord." + +#. (itstool) path: page/title +#: C/keyring-create.page:34 +msgid "Create a new keyring" +msgstr "Skapa en ny nyckelring" + +#. (itstool) path: page/p +#: C/keyring-create.page:36 +msgid "" +"Use keyrings to group related passwords. You " +"can choose to protect your keyring with a password." +msgstr "" +"Använd nyckelringar för att gruppera lösenord. " +"Du kan välja att skydda din nyckelring med ett lösenord." + +#. (itstool) path: steps/title +#: C/keyring-create.page:40 +msgid "Create a new password keyring:" +msgstr "Skapa en ny lösenordsnyckelring:" + +#. (itstool) path: item/p +#: C/keyring-create.page:42 C/passwords-stored-create.page:32 +#: C/pgp-create.page:42 C/pgp-import.page:39 C/ssh-create.page:41 +#: C/ssh-import.page:39 +msgid "" +"Press the + button in the top-left corner of the " +"window." +msgstr "" +"Tryck på knappen + i fönstrets övre vänstra hörn." + +#. (itstool) path: item/p +#: C/keyring-create.page:45 +msgid "Select Password Keyring from the list." +msgstr "Välj Lösenordsnyckelring från listan." + +#. (itstool) path: item/p +#: C/keyring-create.page:48 +msgid "" +"Choose a name for your new keyring, then press Add to continue." +msgstr "" +"Välj ett namn för din nya nyckelring och tryck sedan Lägg till för att fortsätta." + +#. (itstool) path: item/p +#: C/keyring-create.page:53 +msgid "" +"To password protect your keyring, choose a password, and retype it to " +"confirm your choice. Leave both the fields blank if you want your keyring to " +"remain unlocked at all times." +msgstr "" +"För att lösenordsskydda din nyckelring, välj ett lösenord, repetera det för " +"att verifiera ditt val. Lämna båda fält blanka om du vill att nyckelringen " +"alltid ska vara upplåst." + +#. (itstool) path: item/p +#: C/keyring-create.page:61 +msgid "" +"Press Continue to finish creating the keyring. " +"If you have not protected your keyring with a password, you will need to " +"confirm that this is how you want to proceed." +msgstr "" +"Tryck Fortsätt för att skapa nyckelringen. Om du " +"inte har valt ett lösenord så kommer du behöva bekräfta ditt val." + +#. (itstool) path: page/p +#: C/keyring-create.page:67 +msgid "Your new keyring will now be listed under Passwords." +msgstr "Din nya nyckelring kommer nu listas under Lösenord." + +#. (itstool) path: info/desc +#: C/keyring-lock.page:20 +msgid "" +"Lock and password protect your password keyrings to control access to the " +"passwords stored in them." +msgstr "" +"Lås och lösenordsskydda dina lösenordsnyckelringar för att kontrollera " +"tillgången till lösenorden som lagrats." + +#. (itstool) path: page/title +#: C/keyring-lock.page:24 +msgid "Lock your keyrings" +msgstr "Lås dina nyckelringar" + +#. (itstool) path: page/p +#: C/keyring-lock.page:26 +msgid "" +"To safe-keep your passwords, store them in a password-protected keyring. " +"When a password-protected keyring is locked, the passwords in it are kept " +"hidden till someone unlocks the keyring " +"with the correct password." +msgstr "" +"För att säkra dina lösenord, lagra dem i en lösenordsskyddad nyckelring. När " +"en lösenordsskyddad nyckelring är låst så är lösenorden i den dolda till " +"nyckelringen låses upp med korrekt " +"lösenord." + +#. (itstool) path: note/p +#: C/keyring-lock.page:32 +msgid "" +"You can choose to protect your keyring with a password while creating it." +msgstr "" +"Du kan välja att lösenordsskydda din nyckelring när du skapar den." + +#. (itstool) path: steps/title +#: C/keyring-lock.page:37 +msgid "To lock your password keyring:" +msgstr "För att låsa dina lösenordsnyckelring:" + +#. (itstool) path: item/p +#: C/keyring-lock.page:39 +msgid "" +"From the list of keyrings under Passwords on the left side panel, " +"select the keyring to be locked." +msgstr "" +"Från listan med nyckelringar under Lösenord på den vänstra " +"panelen, välj nyckelringen som ska låsas." + +#. (itstool) path: item/p +#: C/keyring-lock.page:43 +msgid "" +"Right click on the selected keyring and select Lock, or click on " +"the small picture of an opened lock next to the name of the password keyring." +msgstr "" +"Högerklicka på den valda nyckelringen och välj Lås, eller klicka " +"på miniatyrbilden av ett öppet hänglås bredvid lösenordsnyckelringens namn." + +#. (itstool) path: info/desc +#: C/keyring-unlock.page:20 +msgid "To view passwords stored inside a locked keyring, unlock it." +msgstr "" +"För att visa lösenord lagrade i en låst nyckelring behöver du låsa upp den." + +#. (itstool) path: page/title +#: C/keyring-unlock.page:23 +msgid "Unlock your keyrings" +msgstr "Lås upp dina nyckelringar" + +#. (itstool) path: page/p +#: C/keyring-unlock.page:24 +msgid "" +"A keyring may often be locked to protect " +"the passwords it contains, similar to locking important things safely inside " +"a trunk. In order to look at your passwords, you must unlock the keyring " +"first." +msgstr "" +"En nyckelring är ofta låst för att skydda " +"lösenorden lagrade inuti. På samma sätt som man låser in viktiga saker i en " +"koffert. För att visa dina lösenord måste du först låsa upp nyckelringen." + +#. (itstool) path: steps/title +#: C/keyring-unlock.page:30 +msgid "To unlock your keyring:" +msgstr "För att låsa upp din nyckelring:" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:32 +msgid "" +"Select the keyring to be unlocked from the panel on your left. It is listed " +"under Passwords." +msgstr "" +"Välj nyckelringen du vill låsa upp från panelen på vänster sida. Den listas " +"under Lösenord." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:36 +msgid "" +"Right click on the selected keyring and select Unlock from the " +"menu, or alternatively, click the small picture of a closed lock next to the " +"keyring name to unlock the keyring." +msgstr "" +"Högerklicka på den valda nyckelringen och välj Lås upp från " +"menyn, eller klicka på miniatyrbilden av ett låst hänglås bredvid " +"nyckelringens namn för att låsa upp den." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:41 +msgid "" +"If the keyring is password-protected, you will be prompted for a password to " +"unlock the keyring. Enter the correct password in the Password " +"field and press Unlock to finish." +msgstr "" +"Om nyckelringen är lösenordsskyddad kommer du behöva lösenordet för att låsa " +"upp nyckelringen. Skriv in korrekt lösenord i fältet Lösenord och " +"tryck på Lås upp för att avsluta." + +#. (itstool) path: note/p +#: C/keyring-unlock.page:49 +msgid "" +"You can choose to password-protect your keyrings while creating them." +msgstr "" +"Du kan välja att lösenordsskydda dina nyckelringar när du skapar dem." + +#. (itstool) path: info/desc +#: C/keyring-update-password.page:20 +msgid "" +"Keep updating the passwords to your keyrings to ensure that they are " +"protected well." +msgstr "" +"Håll lösenorden till dina nyckelringar uppdaterade för att maximera deras " +"säkerhet." + +#. (itstool) path: page/title +#: C/keyring-update-password.page:25 +msgid "Update the keyring password" +msgstr "Uppdatera lösenordet till nyckelringen" + +#. (itstool) path: page/p +#: C/keyring-update-password.page:27 +msgid "" +"The password to unlock your keyring can be " +"updated at any time." +msgstr "" +"Lösenordet som låser upp din nyckelring kan " +"uppdateras när som helst." + +#. (itstool) path: steps/title +#: C/keyring-update-password.page:31 +msgid "To update the password for a password keyring:" +msgstr "För att uppdatera en lösenordsnyckelrings lösenord:" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:33 +msgid "" +"Select the password keyring from the list, under Passwords, on " +"the left side panel." +msgstr "" +"Välj lösenordsnyckelringen från listan under Lösenord på panelen " +"till vänster." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:37 +msgid "" +"Right click on the selected password keyring and select Change " +"Password." +msgstr "" +"Högerklicka på den valda lösenordsnyckelringen och välj Ändra lösenord." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:41 +msgid "" +"Type your old password to authenticate yourself and press Continue." +msgstr "" +"Skriv in ditt gamla lösenord för att autentisera dig och tryck på Fortsätt." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:45 +msgid "" +"In the new dialog, type your new password, retype it to confirm the new " +"password and press the Continue button to finish." +msgstr "" +"Skriv in ditt nya lösenord i det nya fältet, verifiera lösenordet genom att " +"repetera det och tryck sedan på Fortsätt." + +#. (itstool) path: info/desc +#: C/keyring.page:30 +msgid "A keyring is used to group related passwords and keys." +msgstr "" +"En nyckelring används för att gruppera relaterade lösenord och nycklar." + +#. (itstool) path: page/title +#: C/keyring.page:33 +msgid "What is a keyring?" +msgstr "Vad är en nyckelring?" + +#. (itstool) path: page/p +#: C/keyring.page:35 +msgid "" +"Much like a keyring in real life allows you to keep certain sets of keys " +"together, a keyring in Passwords and Keys allows you to keep " +"passwords and keys in separate groups." +msgstr "" +"Likt hur en nyckelring till vardags låter dig hålla reda på nycklar så kan " +"en nyckelring i Lösenord och nycklar hålla lösenord och nycklar i " +"grupper." + +#. (itstool) path: page/p +#: C/keyring.page:39 +msgid "" +"When you open Passwords and Keys for the first time, you will see " +"keys and password grouped together. In the Login keyring, you may " +"find stored passwords for GNOME applications such as Web, " +"Online Accounts etc. The Login keyring is the default " +"keyring in Passwords and keys." +msgstr "" +"När du öppnar Lösenord och nycklar för första gången kommer du " +"att se nycklar och lösenord grupperade. I nyckelringen Inloggning " +"kan du se lagrade lösenord för GNOME-program som Webb, " +"Nätkonton med flera. Nyckelringen Inloggning är den " +"förvalda nyckelringen i Lösenord och nycklar." + +#. (itstool) path: p/link +#: C/legal.xml:4 +msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" +msgstr "Creative Commons Erkännande-DelaLika 3.0 Unported" + +#. (itstool) path: license/p +#: C/legal.xml:3 +msgid "This work is licensed under a <_:link-1/>." +msgstr "Detta verk är licenserat under licensen <_:link-1/>." + +#. (itstool) path: info/desc +#: C/misc-key-backup.page:26 +msgid "Keep a copy of your keys in an external device." +msgstr "Behåll en kopia av dina nycklar på ett externt medium." + +#. (itstool) path: page/title +#: C/misc-key-backup.page:29 +msgid "Securely back-up your keys" +msgstr "Säkerhetskopiera dina nycklar" + +#. (itstool) path: page/p +#: C/misc-key-backup.page:31 +msgid "" +"It is always advisable to save a copy of your keys on an external memory " +"device like a USB drive. The device should then be kept locked or stored " +"somewhere safe. This way you will always have a copy of the key if your " +"computer breaks or if the data on your computer is corrupted in some way." +msgstr "" +"Det är rekommenderat att spara en kopia av dina nycklar på ett externt " +"medium såsom ett USB-minne. Mediet bör sedan låsas in eller lagras på en " +"säker plats. På så sätt har du alltid en kopia av din nyckel ifall datorn " +"går sönder eller om data korrumperas på något sätt." + +#. (itstool) path: steps/title +#: C/misc-key-backup.page:37 +msgid "To back-up your keys:" +msgstr "För att säkerhetskopiera dina nycklar:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:39 +msgid "Export your key files:" +msgstr "Exportera dina nyckelfiler:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:41 +msgid "Export your PGP keys." +msgstr "Exportera dina PGP-nycklar." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:42 +msgid "Export your SSH keys." +msgstr "Exportera dina SSH-nycklar." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:46 +msgid "Copy the exported files on an external disk." +msgstr "Kopiera de exporterade filerna till ett externt medium." + +#. (itstool) path: info/desc +#: C/misc-key-fingerprint.page:19 +msgid "" +"The key fingerprint is a unique ID for each key, often used to verify the " +"ownership of a key" +msgstr "" +"En nyckels fingeravtryck är ett unikt ID för varje nyckel som ofta används " +"för att verifiera äganderätten av en nyckel" + +#. (itstool) path: page/title +#: C/misc-key-fingerprint.page:23 +msgid "What is a key fingerprint?" +msgstr "Vad är en nyckels fingeravtryck?" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:25 +msgid "" +"The fingerprint of a key is a unique sequence of letters and numbers used to " +"identify the key. Just like the fingerprints of two different people, the " +"fingerprints of two different keys can never be identical. The fingerprint " +"is the best way to identify a particular key." +msgstr "" +"En nyckels fingeravtryck är en unik sekvens med bokstäver och siffror som " +"identifierar nyckeln. Precis som fingeravtryck från två olika personer så " +"kan fingeravtryck från två olika nycklar aldrig vara identiska. " +"Fingeravtrycket är det bästa sättet att identifiera en viss nyckel med." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:30 +msgid "" +"A key has several properties like the name and email of the key owner, key " +"type, key expiration date and so on. When you are searching for a public key " +"and you find multiple keys with the same properties, the only way to " +"identify the key you are looking for is to compare the fingerprints of the " +"two keys with the fingerprint of the key you require." +msgstr "" +"En nyckel har flera egenskaper, såsom namnet och e-postadressen av nyckelns " +"ägare, nyckeltyp, utgångsdatum o.s.v. När du letar efter en öppen nyckel och " +"du hittar flera nycklar med samma egenskaper så kan nyckeln du letar efter " +"endast identifieras genom att jämföra fingeravtrycket av de två nycklarna " +"med fingeravtrycket på nyckeln du söker." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:36 +msgid "" +"It is the fingerprint of a key that is verified when you try to login to a " +"remote computer using SSH. While " +"signing a PGP key, you must always " +"check the key fingerprint and verify the key owner's identity to ensure that " +"you are signing the correct key." +msgstr "" +"Det är en nyckels fingeravtryck som kontrolleras när du loggar in på en " +"fjärransluten dator via SSH. När du " +"signerar en PGP-nyckel bör du alltid " +"kontrollera nyckelns fingeravtryck och kontrollera nyckelägarens identitet " +"för att säkerställa att du signerar rätt nyckel." + +#. (itstool) path: section/title +#: C/misc-key-fingerprint.page:43 +msgid "Fingerprints on Passwords and Keys" +msgstr "Fingeravtryck på Lösenord och nycklar" + +#. (itstool) path: section/p +#: C/misc-key-fingerprint.page:45 +msgid "" +"You can look at the fingerprint of a key on Passwords and Keys by " +"checking the properties of the key." +msgstr "" +"Du kan se en nyckels fingeravtryck i Lösenord och nycklar genom " +"att visa nyckelns egenskaper." + +#. (itstool) path: steps/title +#: C/misc-key-fingerprint.page:49 +msgid "To check the fingerprint of a key:" +msgstr "För att kontrollera en nyckels fingeravtryck:" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:51 C/pgp-photoid.page:44 C/pgp-publish.page:37 +#: C/subkeys-add.page:31 +msgid "Select GnuPG keys from the left side panel." +msgstr "Välj GnuPG-nycklar från panelen till vänster." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:54 C/pgp-expiration-change.page:31 +msgid "Select the PGP key from the list." +msgstr "Välj en PGP-nyckel från listan." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:57 +msgid "" +"Right click the key and select Properties." +msgstr "" +"Högerklicka på nyckeln och välj Egenskaper." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:61 C/pgp-expiration-change.page:37 +msgid "In the new dialog, select the Details tab." +msgstr "In den nya dialogen, välj fliken Detaljer." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:64 +msgid "You can see the fingerprint of the key on the left hand side." +msgstr "Du kan se nyckelns fingeravtryck på vänster sida." + +#. (itstool) path: info/desc +#: C/passwords-stored-create.page:19 +msgid "Passwords and keys can remember your passwords for you." +msgstr "Lösenord och nycklar kommer ihåg dina lösenord åt dig." + +#. (itstool) path: page/title +#: C/passwords-stored-create.page:23 +msgid "Store your passwords" +msgstr "Lagra dina lösenord" + +#. (itstool) path: page/p +#: C/passwords-stored-create.page:25 +msgid "" +"Passwords and Keys automatically stores passwords for certain " +"GNOME applications in the Login keyring. Additionally, you can " +"store any other password you want to remember." +msgstr "" +"Lösenord och nycklar lagrar automatiskt lösenord för vissa GNOME-" +"program i nyckelringen Inloggning. Du kan även lagra andra " +"lösenord som du vill komma ihåg." + +#. (itstool) path: steps/title +#: C/passwords-stored-create.page:30 +msgid "To create a new stored password:" +msgstr "För att skapa en nytt lagrat lösenord:" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:35 +msgid "Select Password from the list." +msgstr "Välj Lösenord från listan." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:38 +msgid "" +"Select the password keyring in which you want to store your password from " +"the Keyring menu." +msgstr "" +"Välj den lösenordsnyckelring där du vill lagra ditt lösenord från menyn " +"Nyckelring." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:42 +msgid "" +"You can add additional information about the password in the " +"Description field, like the date of creation, or the name of the " +"application it protects, etc." +msgstr "" +"Du kan lägga till information om lösenordet i fältet Beskrivning, " +"som datum då lösenordet skapades, eller namnet på programmet den skyddar, o." +"s.v." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:47 +msgid "" +"Type the password in the Password field. You can tick the Show password checkbox if you want to see the " +"password text while typing it out." +msgstr "" +"Skriv lösenordet i fältet Lösenord. Du kan bocka i Visa lösenord om du vill visa lösenordet medan du skriver " +"det." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:52 +msgid "Press the Add button to finish." +msgstr "" +"Tryck på knappen Lägg till för att avsluta." + +#. (itstool) path: note/p +#: C/passwords-stored-create.page:57 +msgid "" +"The default keyring is displayed as the first choice in the Keyring drop down menu. You can change " +"the default keyring." +msgstr "" +"Den förvalda nyckelringen visas som första val i rullgardinsmenyn " +"Nyckelring. Du kan ändra " +"den förvalda nyckelringen." + +#. (itstool) path: info/desc +#: C/passwords-view.page:33 +msgid "Check a stored password which you have forgotten." +msgstr "Visa ett lagrat lösenord som du har glömt bort." + +#. (itstool) path: page/title +#: C/passwords-view.page:36 +msgid "View stored passwords" +msgstr "Visa lagrade lösenord" + +#. (itstool) path: page/p +#: C/passwords-view.page:38 +msgid "" +"If you ever forget a password stored in Passwords and Keys, you can view the contents of the " +"stored password in Passwords and Keys to refresh your memory." +msgstr "" +"Om du glömmer ett lösenord som lagrats i Lösenord och nycklar kan du som en påminnelse " +"visa dess innehåll." + +#. (itstool) path: steps/title +#: C/passwords-view.page:44 +msgid "To view a password:" +msgstr "För att visa ett lösenord:" + +#. (itstool) path: item/p +#: C/passwords-view.page:46 +msgid "" +"In the side bar on the left, select the keyring which contains the password." +msgstr "" +"Välj den nyckelring som innehåller lösenordet i sidopanelen till vänster." + +#. (itstool) path: item/p +#: C/passwords-view.page:50 +msgid "" +"Unlock the password keyring that " +"contains your password. A list of passwords stored in the keyring will be " +"displayed." +msgstr "" +"Lås upp lösenordsnyckelringen som " +"innehåller ditt lösenord. En lista med lagrade lösenord i nyckelringen " +"kommer att visas." + +#. (itstool) path: note/p +#: C/passwords-view.page:53 +msgid "Your Login keyring is already unlocked by default." +msgstr "Din nyckelring Inloggning är redan upplåst som standard." + +#. (itstool) path: item/p +#: C/passwords-view.page:56 +msgid "" +"Right click on the password you want to check, and select Properties." +msgstr "" +"Högerklicka på lösenordet som du vill kontrollera och välj Egenskaper." + +#. (itstool) path: item/p +#: C/passwords-view.page:60 +msgid "Select the <_:media-1/> icon to view the password." +msgstr "Välj ikonen <_:media-1/> för att se lösenordet." + +#. (itstool) path: note/p +#: C/passwords-view.page:67 +msgid "" +"Since the contents of any unlocked keyrings are available to programs you " +"may be running, and Passwords and Keys does not seek to give a " +"false sense of security, the contents of unlocked keyrings are able to be " +"viewed without entering the password." +msgstr "" +"Eftersom innehållet av upplåsta nyckelringar är tillgängliga för program som " +"körs, och Lösenord och nyckelringar inte vill ge en falsk " +"säkerhetskänsla, så kan innehållet av upplåsta nyckelringar ses utan att " +"lösenord krävs." + +#. (itstool) path: note/p +#: C/passwords-view.page:71 +msgid "" +"This means that if you are logged-in, the contents of the Login " +"keyring will available without entering a password from Passwords and " +"Keys." +msgstr "" +"Det här betyder att om du är inloggad så kan innehållet av nyckelringen " +"Inloggning vara tillgängligt utan krav på lösenord från " +"Lösenord och nycklar." + +#. (itstool) path: note/p +#: C/passwords-view.page:74 +msgid "" +"If you need to lend your computer to another person, it is recommended that " +"you create a user account for them, or allow them to use a guest account." +msgstr "" +"Om du behöver låna ut din dator rekommenderas det att du skapar ett separat " +"användarkonto för dem, eller låter dem använda ett gästkonto." + +#. (itstool) path: info/desc +#: C/pgp-create.page:33 +msgid "Create and use GnuPG keys for encrypting and signing emails." +msgstr "Skapa och använd GnuPG-nycklar för att kryptera och signera e-post." + +#. (itstool) path: page/title +#: C/pgp-create.page:36 +msgid "Create PGP keys" +msgstr "Skapa PGP-nycklar" + +#. (itstool) path: page/p +#: C/pgp-create.page:38 +msgid "To make a new PGP key:" +msgstr "För att skapa en ny PGP-nyckel:" + +#. (itstool) path: item/p +#: C/pgp-create.page:45 +msgid "Select GPG Key from the list." +msgstr "Välj GPG-nyckel från listan." + +#. (itstool) path: item/p +#: C/pgp-create.page:48 +msgid "Enter your full name in the Full Name field." +msgstr "Skriv in ditt namn i fältet Fullständigt namn." + +#. (itstool) path: item/p +#: C/pgp-create.page:51 +msgid "Optionally, add your email address and a comment to describe the key." +msgstr "" +"Om du vill kan du lägga till din e-postadress och en kommentar som beskriver " +"nyckeln." + +#. (itstool) path: item/p +#: C/pgp-create.page:55 +msgid "Press Create." +msgstr "Tryck på Skapa." + +#. (itstool) path: item/p +#: C/pgp-create.page:58 +msgid "" +"In the password dialog, enter a password for the key. Retype the password to " +"confirm your choice." +msgstr "" +"Skriv in ett lösenord för nyckeln i lösenordsfältet. Verifiera lösenordet " +"genom att skriva det igen." + +#. (itstool) path: item/p +#: C/pgp-create.page:62 +msgid "Press OK to finish." +msgstr "Tryck OK för att avsluta." + +#. (itstool) path: page/p +#: C/pgp-create.page:66 +msgid "" +"Passwords and Keys will take some time to generate your key. " +"While your key is being created, move your mouse around, press some keys on " +"your keyboard, or browse the web. This will help Passwords and Keys to create a truly random key. The key will be listed under GnuPG " +"keys." +msgstr "" +"Det kommer att ta tid för Lösenord och nycklar att generera din " +"nyckel. Medan din nyckel skapas, flytta på musen, tryck på några knappar på " +"tangentbordet, eller surfa på webben. Detta hjälper Lösenord och " +"nycklar att skapa en verkligt slumpmässig nyckel. Nyckeln kommer att " +"listas under GnuPG-nycklar." + +#. (itstool) path: note/p +#: C/pgp-create.page:73 +msgid "" +"The Full Name, Email Address and Comment " +"details of a GnuPG key are called the user ID of the key." +msgstr "" +"Delarna Fullständigt namn, E-postadress och " +"Kommentar av en GnuPG-nyckel kallas för nyckelns användaridentitet." + +#. (itstool) path: section/title +#: C/pgp-create.page:79 +msgid "Advanced PGP key options" +msgstr "Avancerade alternativ för PGP-nycklar" + +#. (itstool) path: section/p +#: C/pgp-create.page:81 +msgid "" +"Under Advanced key options, you can choose custom values for " +"encryption type, key strength and key expiration date." +msgstr "" +"Under Avancerade nyckelalternativ kan du välja anpassade värden " +"för krypteringstyp, nyckelstyrka och utgångsdatum för nyckeln." + +#. (itstool) path: item/title +#: C/pgp-create.page:86 +msgid "Encryption type" +msgstr "Krypteringstyp" + +#. (itstool) path: item/p +#: C/pgp-create.page:87 +msgid "" +"Depending on your needs, create keys that can be used for signing only or " +"for both encryption and signing. The RSA and DSA-Elgamal algorithms generate " +"equally secure keys." +msgstr "" +"Beroende på dina behov, skapa nycklar som endast används för signering eller " +"för både kryptering och signering. Både algoritmerna RSA och DSA-Elgamal " +"skapar lika säkra nycklar." + +#. (itstool) path: item/title +#: C/pgp-create.page:92 +msgid "Key Strength" +msgstr "Nyckelstyrka" + +#. (itstool) path: item/p +#: C/pgp-create.page:93 +msgid "" +"The key strength is measured in terms of the size of the key in bits. It is " +"difficult and more time consuming to break a strong key, but strong keys " +"will slow down the encryption and signing process. You should choose your " +"key strength in Passwords and Keys depending on how long you want " +"to use the key. A small key is sufficient for short term use while a large " +"key is more suitable for long term use." +msgstr "" +"Nyckelns styrka mäts i bitar. Det är svårare och mer tidskrävande att knäcka " +"ett starkt lösenord, men starka nycklar fördröjer processen för kryptering " +"och signering. Du bör välja nyckelstyrka i Lösenord och nycklar " +"efter hur länge du vill använda nyckeln. En kort nyckel räcker kortsiktigt " +"medan en lång nyckel passar bättre för långsiktigt användande." + +#. (itstool) path: item/title +#: C/pgp-create.page:101 +msgid "Expiration Date" +msgstr "Utgångsdatum" + +#. (itstool) path: item/p +#: C/pgp-create.page:102 +msgid "" +"When a key expires, certain actions no longer " +"work. In Passwords and Keys, you can either set your key " +"to Never Expire or select an expiration date " +"for it." +msgstr "" +"När en nyckel utgår fungerar vissa funktioner " +"inte längre. I Lösenord och nycklar kan du antingen ändra " +"din nyckel till Utgår aldrig, eller välja ett " +"utgångsdatum och tid för nyckeln." + +#. (itstool) path: item/p +#: C/pgp-create.page:106 +msgid "" +"It is recommended that you set an expiration date in case you lose access to " +"the key. Even if your key expires, you can change the expiration to a later date." +msgstr "" +"Det rekommenderas att du sätter ett utgångsdatum ifall du förlorar tillgång " +"till nyckeln. Även om din nyckel utgår kan du ändra utgångsdatumet." + +#. (itstool) path: info/desc +#: C/pgp-delete.page:26 +msgid "" +"Delete local copies of your keys or the keys of people you communicate with." +msgstr "" +"Ta bort lokala kopior av dina nycklar eller nycklar till andra som du " +"kommunicerar med." + +#. (itstool) path: page/title +#: C/pgp-delete.page:30 +msgid "Delete an existing key" +msgstr "Ta bort en existerande nyckel" + +#. (itstool) path: page/p +#: C/pgp-delete.page:32 +msgid "" +"If you are no longer communicating with someone, you can delete the copy of " +"their GnuPG key on your computer using Passwords and Keys. You " +"can also permanently delete a key you own as long it has never been " +"published on a key server. Deleting a GnuPG key deletes both the public key " +"and the secret key." +msgstr "" +"Om du inte längre är i kontakt med en person kan du ta bort din kopia av " +"deras GnuPG-nyckel från din dator med hjälp av Lösenord och nycklar. Du kan även permanent ta bort en nyckel som du äger så länge som den " +"inte blivit publicerad på en nyckelserver. Både den öppna och den hemliga " +"nyckeln raderas när en GnuPG-nyckel tas bort." + +#. (itstool) path: steps/title +#: C/pgp-delete.page:39 +msgid "To delete a key:" +msgstr "För att ta bort en nyckel:" + +#. (itstool) path: item/p +#: C/pgp-delete.page:41 +msgid "Select the key." +msgstr "Välj nyckeln." + +#. (itstool) path: item/p +#: C/pgp-delete.page:45 +msgid "Right click, and choose Delete." +msgstr "Högerklicka och välj Ta bort." + +#. (itstool) path: note/p +#: C/pgp-delete.page:47 +msgid "" +"When you delete a GnuPG key that has been published on a key server, you " +"only delete the key in your GnuPG keyring because a copy of the public key " +"will still be present on some key server." +msgstr "" +"När du tar bort en GnuPG-nyckel som har publicerats till en nyckelserver så " +"kan du endast ta bort nyckeln från din egna GnuPG-nyckelring eftersom en " +"kopia av den öppna nyckeln fortfarande finns på en nyckelserver." + +#. (itstool) path: note/p +#: C/pgp-delete.page:50 +msgid "" +"If you delete your GnuPG key, this means that your private key will be " +"permanently deleted, even though your public key can still be retrieved from a key server and used to " +"encrypt messages to you that you won't be able to read! To prevent such a " +"key from being used, retrieve and revoke the key. The revoked key can then " +"be synced with a key server to prevent people " +"from retrieving and using it." +msgstr "" +"Om du tar bort din GnuPG-nyckel betyder det att din privata nyckel tas bort " +"permanent, även om din öppna nyckel kan hämtas från en nyckelserver och användas för att kryptera " +"meddelanden till dig som du inte kan läsa! För att förhindra att en sådan " +"nyckel används kan du spärra nyckeln. Den spärrade nyckeln kan därefter " +"synkroniseras med en nyckelserver för att " +"förhindra att nyckeln används av andra." + +#. (itstool) path: item/p +#: C/pgp-delete.page:64 +msgid "" +"In the new dialog, confirm the deletion by ticking the I understand that this secret key will be permanently deleted " +"checkbox, and press the Delete button to finish." +msgstr "" +"I den nya dialogrutan, bekräfta raderingen genom att bocka i Jag förstår att denna hemliga nyckel kommer tas bort permanent och tryck på knappen Ta bort för att " +"avsluta." + +#. (itstool) path: info/desc +#: C/pgp-expiration-change.page:19 +msgid "Advance or postpone the expiration date of your keys." +msgstr "Flytta utgångsdatumet framåt eller bakåt på dina nycklar." + +#. (itstool) path: page/title +#: C/pgp-expiration-change.page:22 +msgid "Change the expiration date of your keys" +msgstr "Ändra utgångsdatumet på dina nycklar" + +#. (itstool) path: page/p +#: C/pgp-expiration-change.page:24 +msgid "" +"If your PGP key has expired but you wish to continue its use, you can change " +"its expiry date. You can also change the expiration settings to have a key " +"expire on an earlier date." +msgstr "" +"Om din PGP-nyckel har utgått men du vill fortsätta att använda den så kan du " +"ändra utgångsdatumet. Du kan även ändra utgångsdatumet så att nyckeln utgår " +"vid ett tidigare datum." + +#. (itstool) path: steps/title +#: C/pgp-expiration-change.page:29 +msgid "To change the expiration date of a PGP key:" +msgstr "För att ändra utgångsdatumet på en PGP-nyckel:" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:34 +msgid "Right click on the selected key and select Properties." +msgstr "Högerklicka på den valda nyckeln och välj Egenskaper." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:42 +msgid "" +"To change the expiration date of the master key, press the small button with " +"the picture of a calendar next to Expires, on the right side of " +"the dialog. You can then select the new expiration date from the calendar." +msgstr "" +"För att ändra utgångsdatumet på en huvudnyckel, tryck på knappen med en bild " +"på en kalender, bredvid Går ut, på höger sida av dialogrutan. Du " +"kan sedan välja ett nytt utgångsdatum i kalendern." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:48 +msgid "" +"To change the expiration date of a subkey, " +"expand the Subkeys panel and select the subkey from the list. " +"Press the Expire button on the left of the panel " +"and select the new expiration date." +msgstr "" +"För att ändra utgångsdatumet på en undernyckel, expandera panelen Undernycklar och välj undernyckeln från " +"listan. Klicka på knappen Utgång till vänster " +"sida av panelen och välj ett nytt utgångsdatum." + +#. (itstool) path: note/p +#: C/pgp-expiration-change.page:59 +msgid "" +"If you are changing the expiration date of a key that has been published, " +"you must synchronize the key with the key " +"server after making the desired changes." +msgstr "" +"Om du ändrar utgångsdatum på en publicerad nyckel måste du synkronisera den med nyckelservern efteråt." + +#. (itstool) path: info/desc +#: C/pgp-expired.page:20 +msgid "Can I still use it? Can expiration dates be changed?" +msgstr "Kan jag fortfarande använda den? Kan utgångsdatumet ändras?" + +#. (itstool) path: page/title +#: C/pgp-expired.page:23 +msgid "What happens if my key expires?" +msgstr "Vad händer om min nyckel har utgått?" + +#. (itstool) path: page/p +#: C/pgp-expired.page:25 +msgid "When your key expires, it becomes invalid. This means:" +msgstr "När din nyckel gått ut blir den ogiltig. Det betyder att:" + +#. (itstool) path: item/p +#: C/pgp-expired.page:29 +msgid "It can no longer be used to encrypt and decrypt messages." +msgstr "" +"Det kan inte längre användas för att kryptera och dekryptera meddelanden." + +#. (itstool) path: item/p +#: C/pgp-expired.page:32 +msgid "It cannot sign other keys or receive signatures from other keys." +msgstr "" +"Den kan inte signera andra nycklar eller ta emot signaturer från andra " +"nycklar." + +#. (itstool) path: page/p +#: C/pgp-expired.page:37 +msgid "" +"Depending on how long you want your key to be valid, you can set an expiration date for it. By default, " +"Passwords and Keys sets all keys to be valid forever. That is, " +"the keys never expire." +msgstr "" +"Beroende på hur länge du vill att din nyckel ska vara giltig kan du ställa in ett utgångsdatum. Förvalt för " +"Lösenord och nycklar är att alla nycklar har obegränsad " +"giltighet. Då utgår nycklar aldrig." + +#. (itstool) path: page/p +#: C/pgp-expired.page:42 +msgid "" +"The expiration date on a key can be changed anytime, even after the key has expired. However, if you " +"want to stop using the expired key, you should delete or revoke it." +msgstr "" +"Utgångsdatumet på en nyckel kan ändras när som helst även om nyckeln har gått ut. Om du däremot vill sluta " +"använda en utgången nyckel bör du ta bort " +"eller spärra den." + +#. (itstool) path: note/p +#: C/pgp-expired.page:49 +msgid "" +"If you have any messages encrypted with an expired key, you must change the " +"expiration date on the key to decrypt such messages before deleting or " +"revoking it." +msgstr "" +"Om du har meddelanden krypterade med en utgången nyckel måste du ändra " +"utgångsdatumet på nyckeln för att dekryptera meddelanden innan du tar bort " +"eller återkallar den." + +#. (itstool) path: info/desc +#: C/pgp-export.page:19 +msgid "Export your public and private PGP keys to store them in keyfiles." +msgstr "" +"Exportera din öppna och privata PGP-nyckel för att förvara dem i nyckelfiler." + +#. (itstool) path: page/title +#: C/pgp-export.page:23 +msgid "Export PGP keys" +msgstr "Exportera PGP-nycklar" + +#. (itstool) path: page/p +#: C/pgp-export.page:25 +msgid "" +"Export the contents of your PGP keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Exportera innehållet av dina PGP-nycklar och förvara dem i nyckelfiler för " +"att ha en säkerhetskopia av dina nycklar eller för att dela ut din öppna " +"nyckel till någon." + +#. (itstool) path: section/title +#: C/pgp-export.page:29 +msgid "To export your public PGP key:" +msgstr "För att exportera din öppna PGP-nyckel:" + +#. (itstool) path: item/p +#: C/pgp-export.page:33 C/pgp-export.page:62 C/pgp-userid-add.page:36 +#: C/pgp-userid-primary.page:32 C/pgp-userid-remove.page:31 +msgid "Select the GnuPG keys keyring from the left side panel." +msgstr "" +"Välj nyckelringen GnuPG-nycklar från panelen på vänster sida." + +#. (itstool) path: item/p +#: C/pgp-export.page:37 C/pgp-export.page:66 +msgid "" +"Select the Personal PGP key that has to be exported, from the " +"list." +msgstr "" +"Från listan Personlig PGP-nyckel, välj den nyckel som ska " +"exporteras." + +#. (itstool) path: item/p +#: C/pgp-export.page:41 C/ssh-export.page:42 +msgid "" +"Right-click on the key and select Export…." +msgstr "" +"Högerklicka på nyckeln och välj Exportera…." + +#. (itstool) path: item/p +#: C/pgp-export.page:44 +msgid "" +"To store the keys in the ASCII format, select Armored PGP keys " +"from the menu at the bottom of the export window" +msgstr "" +"För att lagra nycklar i ASCII-format, välj Textbaserade PGP-nycklar från menyn längst ner i exportfönstret" + +#. (itstool) path: item/p +#: C/pgp-export.page:49 C/pgp-export.page:77 +msgid "" +"Choose a location for your keyfile, and press Export to finish." +msgstr "" +"Välj plats för din nyckelfil och tryck Exportera." + +#. (itstool) path: section/title +#: C/pgp-export.page:58 +msgid "To export your private PGP key:" +msgstr "För att exportera din privata PGP-nyckel:" + +#. (itstool) path: item/p +#: C/pgp-export.page:70 C/subkeys-add.page:37 +msgid "" +"Right click on the selected key and select PropertiesDetails." +msgstr "" +"Högerklicka på den valda nyckeln och välj EgenskaperDetaljer." + +#. (itstool) path: item/p +#: C/pgp-export.page:74 +msgid "Press the Export button." +msgstr "Tryck på Exportera." + +#. (itstool) path: info/desc +#: C/pgp-import.page:26 +msgid "Import keys from keyfiles into Passwords and Keys." +msgstr "" +"Importera nycklar från nyckelfiler till Lösenord och nycklar." + +#. (itstool) path: page/title +#: C/pgp-import.page:29 +msgid "Import PGP keys" +msgstr "Importera PGP-nycklar" + +#. (itstool) path: page/p +#: C/pgp-import.page:31 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports PGP keys from your computer. You can also manually " +"import a particular key, if it has not been imported already." +msgstr "" +"Om du har mottagit en nyckelfil via e-post kan du importera den in i " +"Lösenord och nycklar. I de flesta fall importerar Lösenord " +"och nycklar automatiskt PGP-nycklar från din dator. Du kan även " +"importera en nyckel manuellt, om den inte redan har importerats." + +#. (itstool) path: steps/title +#: C/pgp-import.page:37 C/ssh-import.page:37 +msgid "How do I manually import a key?" +msgstr "Hur importerar jag manuellt en nyckel?" + +#. (itstool) path: item/p +#: C/pgp-import.page:42 C/ssh-import.page:42 +msgid "Select Import from file… from the list." +msgstr "Välj Importera från fil… från listan." + +#. (itstool) path: item/p +#: C/pgp-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. PGP keys end with " +"pgp or asc, GPG keys end with gpg." +msgstr "" +"I den nya dialogrutan, välj nyckeln du vill importera. PGP-nycklar slutar " +"med filändelsen pgp eller asc, GPG-nycklar slutar " +"med gpg." + +#. (itstool) path: item/p +#: C/pgp-import.page:50 C/ssh-import.page:49 +msgid "Click Open." +msgstr "Tryck på Öppna." + +#. (itstool) path: page/p +#: C/pgp-import.page:54 +msgid "" +"Once imported, the PGP and GPG keys are listed under GnuPG keys." +msgstr "" +"PGP- och GPG-nycklar visas under GnuPG-nycklar när de har " +"importerats." + +#. (itstool) path: info/desc +#: C/pgp-photoid.page:20 +msgid "" +"Include a photo ID with your existing keys so that people can identify them " +"easily." +msgstr "" +"Inkludera ett foto-ID med dina befintliga nycklar så att andra kan " +"identifiera dem lättare." + +#. (itstool) path: page/title +#: C/pgp-photoid.page:24 +msgid "Attach a photo to your key" +msgstr "Fäst ett foto till din nyckel" + +#. (itstool) path: page/p +#: C/pgp-photoid.page:26 +msgid "" +"You can attach a photo ID to your PGP keys so that everyone can verify the " +"ownership of your keys after looking at your photo. Though a key with an " +"attached photo will provide a slightly better level of security than a key " +"with no photo, checking the photo on a key is not as safe as checking the " +"fingerprint of the key because " +"anyone having your photos can create a key with your photo ID while the key " +"fingerprint cannot be mimicked." +msgstr "" +"Du kan fästa ett foto-ID till din PGP-nyckel så att alla kan verifiera " +"äganderätten av dina nycklar efter att ha sett fotografiet. Trots att en " +"nyckel med ett foto knutet till den ökar säkerheten något än en nyckel utan " +"foto så är det inte lika säkert som att kontrollera nyckelns fingeravtryck eftersom vem som helst som har " +"tillgång till dina foton kan skapa en nyckel med ditt foto-ID medan nyckelns " +"fingeravtryck inte kan imiteras." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:35 +msgid "" +"Unlike the restrictions in GPG, the photo ID you want to upload " +"need not be in the JPEG format. Passwords and Keys " +"lets you upload your photo in png, jpg and several " +"other common image formats." +msgstr "" +"Till skillnad från begränsningarna i GPG behöver inte ditt foto-" +"ID som du vill ladda upp vara i JPEG-format. Lösenord och " +"nycklar låter dig ladda upp ett foto i png, jpg och flera andra vanliga bildformat." + +#. (itstool) path: steps/title +#: C/pgp-photoid.page:42 +msgid "To attach a photo ID to a PGP key:" +msgstr "För att fästa en fotoidentifikation till en PGP-nyckel:" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:47 +msgid "Select the PGP key." +msgstr "Välj PGP-nyckeln." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:50 +msgid "" +"Right click on the chosen key and select Properties Owner." +msgstr "" +"Högerklicka den valda nyckeln och välj Egenskaper Ägare." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:55 +msgid "" +"Press the + button on the left hand side to add " +"a photo." +msgstr "" +"Tryck på +-knappen på vänster sida för att lägga " +"till ett foto." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:59 +msgid "Select the photo from your computer." +msgstr "Välj ett foto från din dator." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:62 +msgid "Click Close to finish." +msgstr "Tryck Stäng för att avsluta." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:67 +msgid "" +"The photos you select should be small in size, preferably about 120 by 150 " +"pixels. Since a photo ID is always attached to its key, a large photo will " +"increase the key size and slow down all operations that use the key. " +"Passwords and Keys resizes large photos to the optimal size after " +"asking for your confirmation." +msgstr "" +"De foton du väljer bör vara av mindre storlek, helst omkring 120 x 150 " +"pixlar. Eftersom ett foto-ID alltid är knuten till sin nyckel så kommer ett " +"stort foto att öka storleken på nyckeln och fördröja alla operationer som " +"använder nyckeln. Lösenord och nycklar ändrar storleken på stora " +"bilder till den optimala storleken efter ditt tillåtande." + +#. (itstool) path: credit/name +#: C/pgp-publish.page:16 C/pgp-retrieve-remote.page:16 +msgid "Aruna" +msgstr "Aruna" + +#. (itstool) path: info/desc +#: C/pgp-publish.page:21 +msgid "" +"Publish your public keys on key servers, or export and mail them to your friends." +msgstr "" +"Publicera dina öppna nycklar på nyckelservrar eller exportera och e-posta dem till dina vänner." + +#. (itstool) path: page/title +#: C/pgp-publish.page:25 +msgid "Share your public keys" +msgstr "Dela ut dina öppna nycklar" + +#. (itstool) path: page/p +#: C/pgp-publish.page:27 +msgid "" +"If you want people to send you encrypted communication, you must share your " +"GnuPG key with them. To share your key with a selected few " +"people, export it and mail the resulting " +"keyfile to them. To allow anyone to retrieve and use your public key, publish it on a key server." +msgstr "" +"Om du vill att andra ska skicka krypterade meddelanden till dig behöver du " +"dela ut din GnuPG-nyckel. För att dela ut din nyckel med några få " +"människor, exportera den och e-posta " +"nyckelfilen till dem. För att tillåta vem som helst att hämta och använda din öppna nyckel behöver du " +"publicera den på en nyckelserver." + +#. (itstool) path: steps/title +#: C/pgp-publish.page:35 +msgid "How do I publish my key on a key server?" +msgstr "Hur publicerar jag min nyckel till en nyckelserver?" + +#. (itstool) path: item/p +#: C/pgp-publish.page:40 +msgid "" +"From the list, select the Personal PGP key you want to publish." +msgstr "Välj den Personliga PGP-nyckel som du vill publicera." + +#. (itstool) path: item/p +#: C/pgp-publish.page:47 C/pgp-sync.page:44 +msgid "Select Sync and publish keys…." +msgstr "" +"Välj Synkronisera och publicera nycklar…." + +#. (itstool) path: item/p +#: C/pgp-publish.page:50 +msgid "" +"Press the Key Servers button to see the list of " +"key servers on which you can publish your public key." +msgstr "" +"Tryck på knappen Nyckelservrar för att se en " +"lista med nyckelservrar som du kan publicera din öppna nyckel på." + +#. (itstool) path: item/p +#: C/pgp-publish.page:54 +msgid "" +"To publish your key on a key server, select the key server from the " +"Publish keys to menu." +msgstr "" +"För att publicera din nyckel på en nyckelserver, välj nyckelserver från " +"menyn Publicera nycklar på." + +#. (itstool) path: item/p +#: C/pgp-publish.page:58 +msgid "" +"Close the Preferences window to go back to the previous dialog." +msgstr "" +"Stäng Inställningar för att gå tillbaka till föregående " +"dialogruta." + +#. (itstool) path: item/p +#: C/pgp-publish.page:62 +msgid "Press Sync to finish." +msgstr "Tryck Synkronisera för att avsluta." + +#. (itstool) path: note/p +#: C/pgp-publish.page:77 +msgid "You need to be connected to the Internet while publishing your keys." +msgstr "" +"Du behöver vara ansluten till internet medan du publicerar dina nycklar." + +#. (itstool) path: note/title +#: C/pgp-publish.page:81 +msgid "What is a keyserver?" +msgstr "Vad är en nyckelserver?" + +#. (itstool) path: note/p +#: C/pgp-publish.page:82 +msgid "" +"Key servers are computers that store copies of public encryption keys " +"submitted to them, and share these copies with other key servers through the " +"Internet." +msgstr "" +"Nyckelservrar är datorer som lagrar kopior av öppna krypteringsnycklar som " +"lämnats och delar med sig av dessa med andra nyckelservrar över internet." + +#. (itstool) path: info/desc +#: C/pgp-retrieve-remote.page:26 +msgid "" +"If you want to send an urgent encrypted message to someone, but do not have " +"their key, you can retrieve their key from a remote key server." +msgstr "" +"Ifall du vill skicka ett brådskande meddelande till någon, men du inte har " +"deras nyckel, så kan du hämta den från en nyckelserver." + +#. (itstool) path: page/title +#: C/pgp-retrieve-remote.page:31 +msgid "Retrieve remote keys" +msgstr "Hämta fjärrnycklar" + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:33 +msgid "" +"You can retrieve someone's public GnuPG key from the Internet and store it " +"in Passwords and Keys." +msgstr "" +"Du kan hämta någons öppna GnuPG-nyckel från internet och lagra den i " +"Lösenord och nycklar." + +#. (itstool) path: steps/title +#: C/pgp-retrieve-remote.page:37 +msgid "To retrieve a remote key:" +msgstr "För att ta emot en fjärrnyckel:" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:42 +msgid "Select Find remote keys…." +msgstr "Välj Sök fjärrnycklar…." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:45 +msgid "" +"Enter information about the key you wish to retrieve in the field provided. " +"Details like key ID or the key owner's email address give more accurate " +"results than the name of the key owner." +msgstr "" +"Skriv in information i fältet om nyckeln du vill hitta. Detaljer som nyckel-" +"ID eller nyckelägarens e-postadress ger mer exakta sökresultat än namnet på " +"ägaren av nyckeln." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:50 +msgid "Press the Search button." +msgstr "Tryck på knappen Sök." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:53 +msgid "" +"From the list of search results, select the key you want to import, and " +"press the Download button on the right." +msgstr "" +"Från sökresultatlistan, markera nyckeln du vill importera och tryck på " +"knappen Hämta till höger." + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:58 +msgid "The imported key will be listed in the GnuPG keys keyring." +msgstr "" +"Den importerade nyckeln kommer listas under nyckelringen GnuPG-nycklar." + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:61 +msgid "" +"If you want more information about a key, before importing it, select it and " +"press Enter or double-click it. This opens a new window that " +"displays information like the key ID, key fingerprint, level of trust, " +"owner's name, etc." +msgstr "" +"Om du vill ha mer information angående en nyckel innan du importerar den, " +"markera den och tryck Enter eller dubbelklicka på den. Det här " +"öppnar ett nytt fönster med information som nyckelns ID, fingeravtryck, " +"tillitsnivå, ägarens namn o.s.v." + +#. (itstool) path: info/desc +#: C/pgp-sign.page:19 +msgid "If you trust a key, you can sign it." +msgstr "Om du litar på en nyckel kan du signera den." + +#. (itstool) path: page/title +#: C/pgp-sign.page:22 +msgid "Sign keys" +msgstr "Signera nycklar" + +#. (itstool) path: page/p +#: C/pgp-sign.page:24 +msgid "" +"To show that you trust and vouch for the genuineness of someone's key, you " +"can sign it. A person's key must be signed only after you compare the user ID on the key with a valid proof of their " +"identity, such as a passport, driver's license, or similar. If the two IDs " +"match, the key is said to be trustworthy." +msgstr "" +"För att visa din tillit och bekräfta äktheten av någons nyckel så kan du " +"signera den. En persons nyckel bör endast signeras efter att du jämfört " +"deras nyckels användaridentitet med deras " +"identitetshandling - såsom ett pass, körkort, eller liknande. Om " +"identiteterna matchar anses nyckeln pålitlig." + +#. (itstool) path: steps/title +#: C/pgp-sign.page:31 +msgid "To sign a key:" +msgstr "För att signera en nyckel:" + +#. (itstool) path: item/p +#: C/pgp-sign.page:33 +msgid "" +"Import the remote key or keyfile containing the key to be signed into " +"Passwords and Keys." +msgstr "" +"Importera fjärrnyckeln eller nyckelfilen som innehåller den nyckel som ska " +"signeras in i Lösenord och nycklar." + +#. (itstool) path: item/p +#: C/pgp-sign.page:38 +msgid "From the list of GnuPG keys select the imported key." +msgstr "" +"Från listan med GnuPG-nycklar, välj den importerade nyckeln." + +#. (itstool) path: item/p +#: C/pgp-sign.page:41 +msgid "" +"Right click the key and select PropertiesTrust." +msgstr "" +"Högerklicka på nyckeln och välj EgenskaperTillit." + +#. (itstool) path: item/p +#: C/pgp-sign.page:45 +msgid "Press the Sign this Key button." +msgstr "Tryck på knappen Signera denna nyckel." + +#. (itstool) path: item/p +#: C/pgp-sign.page:48 +msgid "" +"Depending on how carefully you have checked the key, choose one out of Not at all, Casually or Very carefully." +msgstr "" +"Beroende på hur noggrant du har kontrollerat en nyckel kan du välja en av " +"följande: Inte alls, Flyktigt, eller Mycket " +"noggrant." + +#. (itstool) path: item/p +#: C/pgp-sign.page:54 +msgid "" +"Decide if you want to revoke your signature at a later date and if you want " +"to make your signature public, by ticking the checkboxes provided." +msgstr "" +"Bestäm om du vill spärra din signatur vid ett senare tillfälle och om du " +"vill publicera din signatur genom att bocka i försedda kryssrutor." + +#. (itstool) path: item/p +#: C/pgp-sign.page:59 +msgid "" +"When you own more than one PGP key, select the key you want to sign with, " +"from the list next to Signer." +msgstr "" +"När du innehar fler än en PGP-nyckel, välj den nyckel du vill signera med " +"från lista intill Signerare." + +#. (itstool) path: item/p +#: C/pgp-sign.page:63 +msgid "Press the Sign button to finish." +msgstr "Tryck på Signera för att avsluta." + +#. (itstool) path: note/title +#: C/pgp-sign.page:68 +msgid "Can I sign my own keys?" +msgstr "Kan jag signera min egen nyckel?" + +#. (itstool) path: note/p +#: C/pgp-sign.page:69 +msgid "" +"When you create a new GnuPG key, " +"it is automatically signed by you. Any new subkeys created using a GnuPG key, will also be signed " +"automatically." +msgstr "" +"När du skapar en ny GnuPG-nyckel " +"signeras den automatiskt av dig. Nya undernycklar som skapas med hjälp av en GnuPG-nyckel kommer " +"automatiskt att signeras." + +#. (itstool) path: info/desc +#: C/pgp-subkeys.page:19 +msgid "" +"A subkey is always bound to a master key in a PGP keypair. It is used for " +"encryption." +msgstr "" +"En undernyckel är alltid bunden till en huvudnyckel i ett PGP-nyckelpar. Den " +"används för kryptering." + +#. (itstool) path: page/title +#: C/pgp-subkeys.page:23 +msgid "What is a subkey?" +msgstr "Vad är en undernyckel?" + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:25 +msgid "" +"Though it is very important to keep your keys safe, it can become quite " +"tedious to do so when you have many keys. Passwords and Keys " +"provides a simple solution to key safety by using subkeys for " +"signing and encryption." +msgstr "" +"Trots att det är viktigt att dina nycklar hålls säkra kan det bli tråkigt " +"när du har flera nycklar. Lösenord och nycklar ger en lätt " +"lösning till nyckelsäkerhet med hjälp av undernycklar för signering " +"och kryptering." + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:30 +msgid "" +"Whenever you create a new public encryption " +"key, a keypair is generated instead of a single key. This keypair " +"consists of a main key, also called the master key and a " +"subkey. A master key can be used to create additional subkeys that " +"are then bound to it." +msgstr "" +"Varje gång du skapar en ny öppen " +"krypteringsnyckel genereras ett nyckelpar istället för en ensam " +"nyckel. Nyckelparet består av en huvudnyckel och en " +"undernyckel. En huvudnyckel kan användas för att skapa ytterligare " +"undernycklar som sedan är bundna till huvudnyckeln." + +#. (itstool) path: list/title +#: C/pgp-subkeys.page:37 +msgid "What does each key in a keypair do?" +msgstr "Vad gör varje nyckel i ett nyckelpar?" + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:39 +msgid "" +"The master key is used for signing " +"other keys, creating subkeys and revoking subkeys. Your master key must be kept very safe. Signatures of trust " +"are also collected on your master key. If the master key is compromised, you " +"have no choice but to revoke it and all the subkeys attached to it." +msgstr "" +"Huvudnyckeln används för signering " +"av andra nycklar, skapande av undernycklar och för att spärra undernycklar. Din huvudnyckel måste hållas säker. " +"Signeringar för tillit samlas också med din huvudnyckel. Om huvudnyckelns " +"säkerhet äventyrats har du inget annat väl än att spärra den och alla " +"anknutna undernycklar." + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:47 +msgid "" +"The default subkey is used for encryption and decryption of " +"messages. Additional subkeys can be created for signing. Though it is " +"important that your subkeys are kept safe, you can always revoke a subkey if " +"it is compromised and create a new one with the original master key." +msgstr "" +"Den förvalda undernyckeln används för att kryptera och dekryptera " +"meddelanden. Extra undernycklar kan skapas för signering. Det är viktigt att " +"dina undernycklar hålls säkra, du kan alltid spärra en undernyckel om den " +"äventyrats och skapa en ny med den ursprungliga huvudnyckeln." + +#. (itstool) path: section/title +#: C/pgp-subkeys.page:56 +msgid "More about subkeys" +msgstr "Mer om undernycklar" + +#. (itstool) path: info/desc +#: C/pgp-sync.page:21 +msgid "" +"Synchronize information present in your local key with the corresponding key " +"on a key server." +msgstr "" +"Synkronisera information tillgänglig i din lokala nyckel med den motsvarande " +"nyckeln på en nyckelserver." + +#. (itstool) path: page/title +#: C/pgp-sync.page:25 +msgid "Synchronize your keys" +msgstr "Synkronisera dina nycklar" + +#. (itstool) path: page/p +#: C/pgp-sync.page:27 +msgid "" +"PGP keys in your keyring have to be synchronized with a key server to ensure " +"that any changes made to the key on the key server, like a new signature, " +"are updated in your local copy of the key. Similarly, when you change " +"information on your local key copy, like the expiration date, or when you " +"sign someone's key, you should synchronize the keys to update the changes on " +"the remote copy of the key. You need a working Internet connection to " +"synchronize your keys." +msgstr "" +"PGP-nycklar i din nyckelring måste synkroniseras med en nyckelserver för att " +"säkerställa att ändringar gjorda på nyckeln, som en ny signatur, uppdateras " +"i din lokala kopia av nyckeln. På samma sätt bör du synkronisera nycklar " +"till en nyckelserver när du ändrat information på dina lokala nycklar, såsom " +"utgångsdatum eller signering av andras nycklar. Du behöver en fungerande " +"internetanslutning för att synkronisera nycklar." + +#. (itstool) path: steps/title +#: C/pgp-sync.page:36 +msgid "How do I synchronize a key?" +msgstr "Hur synkroniserar jag en nyckel?" + +#. (itstool) path: item/p +#: C/pgp-sync.page:38 +msgid "Select the PGP key you wish to synchronize." +msgstr "Välj den PGP-nyckel du vill synkronisera." + +#. (itstool) path: item/p +#: C/pgp-sync.page:47 +msgid "" +"Click the Sync button to synchronize your key." +msgstr "" +"Klicka på knappen Synkronisera för att " +"synkronisera din nyckel." + +#. (itstool) path: note/title +#: C/pgp-sync.page:53 +msgid "Why is the Sync button not clickable?" +msgstr "" +"Varför är knappen Synkronisera inte klickbar?" + +#. (itstool) path: note/p +#: C/pgp-sync.page:55 +msgid "" +"Only PGP keys that have been published on a key server can be synchronized. " +"If the Sync button is not clickable, check if " +"the key has been published on a key server. In the case of synchronizing " +"your own keys, publish them before " +"synchronizing them." +msgstr "" +"Endast PGP-nycklar som har publicerats på en nyckelserver kan synkroniseras. " +"Om knappen Synkronisera inte går att klicka på, " +"kontrollera ifall nyckeln redan publicerats på en nyckelserver. För att " +"synkronisera dina egna nycklar, publicera dem först och synkronisera efteråt." + +#. (itstool) path: info/desc +#: C/pgp-userid-add.page:20 +msgid "" +"Having many user IDs helps you to use the same key to communicate with " +"different people." +msgstr "" +"Med flera användaridentiteter kan du använda samma nyckel för att " +"kommunicera med olika personer." + +#. (itstool) path: page/title +#: C/pgp-userid-add.page:24 +msgid "Add extra user IDs to a key" +msgstr "Lägg till extra användaridentiteter till en nyckel" + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:26 +msgid "" +"A key can have multiple user IDs. This is helpful when you want to use the " +"same key while communicating with several people and one of them does not " +"recognize, say, the email address in your user ID. This person may not want " +"to import your public key since it contains information that they do not " +"know. In such scenarios, if you do not want to create a new key with a " +"different user ID, you can attach a new user ID to your existing key." +msgstr "" +"En nyckel kan ha flera användaridentiteter. Det här hjälper när du vill " +"använda samma nyckel för att kommunicera med flera människor och en av dem " +"inte känner igen, exempelvis, e-postadressen i din användaridentitet. Den " +"här personen kanske inte vill importera din öppna nyckel eftersom den " +"innehåller information de inte känner igen. I sådana fall, om du inte vill " +"skapa en ny nyckel med en ny användaridentitet , kan du knyta en ny " +"användaridentitet till din nuvarande nyckel." + +#. (itstool) path: steps/title +#: C/pgp-userid-add.page:34 +msgid "To add an extra user ID:" +msgstr "För att lägga till en extra användaridentitet:" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:39 +msgid "From the list, select the Personal PGP key of your choice." +msgstr "Från listan, välj valfri Personlig PGP-nyckel." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:43 +msgid "" +"Right click on the key and select Properties Names " +"and Signatures." +msgstr "" +"Högerklicka på nyckeln och välj Egenskaper Namn och " +"signaturer." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:47 +msgid "" +"Click the Add Name button to add a new user ID." +msgstr "" +"Klicka på knappen Lägg till namn för att lägga " +"till en ny användaridentitet." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:51 +msgid "" +"In the new dialog, fill in details like Full Name, Email " +"Address and Key Comment for the new user ID." +msgstr "" +"I den nya dialogrutan, skriv in detaljer som Fullständigt namn, " +"E-postadress, och Nyckelkommentar för den nya " +"användaridentiteten." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:56 +msgid "" +"Enter the correct passphrase and click OK to " +"finish." +msgstr "Skriv in korrekt lösenord och klicka OK." + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:61 +msgid "" +"Your new user ID will now be listed under the Names and Signatures panel." +msgstr "" +"Din nya användaridentitet kommer nu listas under panelen Namn och " +"signaturer." + +#. (itstool) path: note/p +#: C/pgp-userid-add.page:65 +msgid "" +"If your key has been published on a key server, synchronize it after adding new user IDs to update the remote copy " +"of the key." +msgstr "" +"Om din nyckel har publicerats på en nyckelserver, synkronisera den efter nya användaridentiteter har lagts till för " +"att uppdatera fjärrkopian av nyckeln." + +#. (itstool) path: info/desc +#: C/pgp-userid-primary.page:19 +msgid "Change your default user ID" +msgstr "Ändra din förvalda användaridentitet" + +#. (itstool) path: page/title +#: C/pgp-userid-primary.page:22 +msgid "What is a primary user ID?" +msgstr "Vilken är den primära användaridentiteten?" + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:24 +msgid "" +"When you have multiple user IDs, one of the user IDs is made the primary " +"user ID. Passwords and Keys will attach the primary user ID by " +"default with your key information, while encrypting or signing, unless you " +"explicitly choose another user ID instead." +msgstr "" +"När du har flera användaridentiteter görs en av dem till den primära " +"användaridentiteten. Lösenord och nycklar kommer som standard att " +"knyta den primära användaridentiteten med din nyckels information, medan den " +"krypterar eller signerar, om du inte istället väljer en annan " +"användaridentitet." + +#. (itstool) path: steps/title +#: C/pgp-userid-primary.page:30 +msgid "To change the primary user ID in a PGP key:" +msgstr "För att ändra den primära användaridentiteten för en PGP-nyckel:" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:35 C/pgp-userid-remove.page:34 +#: C/subkeys-add.page:34 +msgid "Select the Personal PGP key from the list." +msgstr "Välj Personlig PGP-nyckel från listan." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:38 +msgid "" +"Right click on the selected key and select Properties " +"Names and Signatures." +msgstr "" +"Högerklicka på den valda nyckeln och välj Egenskaper " +"Namn och signaturer." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:43 +msgid "" +"Select the new primary user ID from the list and click Primary." +msgstr "" +"Välj den nya primära användaridentiteten från listan och klicka på Primär." + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:48 +msgid "" +"The user ID will move to the top of the Names and Signatures list " +"to become your primary user ID." +msgstr "" +"Användaridentiteten kommer att flyttas till toppen av listan Nyckelnamn " +"och signaturer och bli din primära användaridentitet." + +#. (itstool) path: note/p +#: C/pgp-userid-primary.page:52 +msgid "" +"Sync your keys after changing your primary user ID to update the remote " +"copies of your key." +msgstr "" +"Synkronisera din nyckel efter den primära användaridentiteten ändrats för " +"att uppdatera fjärrkopior av din nyckel." + +#. (itstool) path: info/desc +#: C/pgp-userid-remove.page:20 +msgid "Remove extra user IDs" +msgstr "Ta bort extra användaridentiteter" + +#. (itstool) path: page/title +#: C/pgp-userid-remove.page:23 +msgid "Detach a user ID from a key" +msgstr "Ta bort användaridentitet från en nyckel" + +#. (itstool) path: page/p +#: C/pgp-userid-remove.page:25 +msgid "" +"While it is essential that all keys have at least one user ID, you can " +"remove any additional user IDs that you have attached to the key." +msgstr "" +"Det är nödvändigt att samtliga nycklar har minst en användaridentitet, men " +"du kan ta bort extra användaridentiteter som du har bundit till nyckeln." + +#. (itstool) path: steps/title +#: C/pgp-userid-remove.page:29 +msgid "To remove a user ID from a PGP key:" +msgstr "För att ta bort en användaridentitet från en PGP-nyckel:" + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:37 +msgid "" +"Right click on the selected key and choose Properties " +"Names and Signatures." +msgstr "" +"Högerklicka på den valda nyckeln och välj Egenskaper " +"Namn och signaturer." + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:42 +msgid "" +"Select the user ID you want to remove and click Delete." +msgstr "" +"Välj användaridentiteten som du vill ta bort och klicka på Ta bort." + +#. (itstool) path: note/p +#: C/pgp-userid-remove.page:48 +msgid "" +"Synchronize your keys after detaching the " +"user ID to update the changes on the remote copy of the key." +msgstr "" +"Synkronisera dina nycklar efter att " +"användaridentiteten tagits bort för att uppdatera ändringarna på fjärrkopian " +"av nyckeln." + +#. (itstool) path: info/desc +#: C/pgp-userid.page:19 +msgid "Create keys with good user IDs and learn to add and remove user IDs." +msgstr "" +"Skapa nycklar med bra användaridentiteter och lär dig lägga till och ta bort " +"användaridentiteter." + +#. (itstool) path: page/title +#: C/pgp-userid.page:23 +msgid "What is a user ID?" +msgstr "Vad är en användaridentitet?" + +#. (itstool) path: page/p +#: C/pgp-userid.page:25 +msgid "" +"When you create a key, you provide details, like your name, email and a key " +"description. This information together constitutes a user ID. A good user ID " +"helps people to recognize your key when they are trying to retrieve or import " +"it. It is important to fill in authentic information while creating your " +"user ID." +msgstr "" +"När du skapar en nyckel lägger du till ditt namn, e-postadress, och en " +"beskrivning. Den här informationen bildar en användaridentitet. En bra " +"användaridentitet hjälper andra att hitta din nyckel när de försöker hämta eller importera den. Det är viktigt att fylla i äkta information när du " +"skapar din användaridentitet." + +#. (itstool) path: section/title +#: C/pgp-userid.page:33 +msgid "Add, remove user IDs" +msgstr "Lägg till, ta bort användaridentiteter" + +#. (itstool) path: info/desc +#: C/ssh-connect-remote.page:23 +msgid "Use SSH keys to log in to another computer without entering a password." +msgstr "" +"Använd SSH-nycklar för att logga in på andra datorer utan att knappa in ett " +"lösenord." + +#. (itstool) path: page/title +#: C/ssh-connect-remote.page:27 +msgid "Connect to other computers" +msgstr "Anslut till andra datorer" + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:29 +msgid "" +"You can use Passwords and Keys to install your SSH key onto a " +"remote computer that can run an SSH server. You can also set up your SSH key for remote login " +"while creating the key." +msgstr "" +"Du kan använda Lösenord och nycklar för att installera din SSH-" +"nyckel på en fjärransluten dator som kan köra en SSH-server. Du kan även " +"ställa in din SSH-nyckel " +"för fjärranslutningar när du skapar nyckeln." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:36 +msgid "" +"Right click on the SSH key and select Configure Key for " +"Secure Shell…." +msgstr "" +"Högerklicka på SSH-nyckeln och välj Konfigurera nyckel för " +"Secure Shell...." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:40 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH, and press " +"Set Up." +msgstr "" +"I dialogrutan som öppnas, fyll i den Serveradress som du " +"vanligtvis använder för att logga in på den fjärranslutna datorn via SSH och " +"tryck på Konfigurera." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:45 C/ssh-create.page:106 +msgid "" +"The program will now attempt to connect to the specified Server " +"address with the entered Login Name. If there are any " +"problems in accessing the remote computer, a pop-up window will appear that " +"explains the problem, and you can try again. Make sure that you have a " +"network connection and that the remote computer is on and accessible." +msgstr "" +"Programmet kommer nu att försöka ansluta till servern angiven i " +"Serveradress med valt Inloggningsnamn. Om programmet " +"stöter på problem vid anslutningen till den fjärranslutna datorn så visas " +"ett poppuppfönster som förklarar problemet och du kan försöka igen. Se till " +"att du har en internetanslutning och att den fjärranslutna datorn är igång " +"och tillgänglig." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:53 C/ssh-create.page:114 +msgid "" +"If connection to the remote computer was successful, a dialog box will " +"appear which asks for the Password you use to log in to the " +"remote computer. Enter your password, then press OK." +msgstr "" +"Om anslutning till en fjärransluten dator lyckades så kommer en dialogruta " +"som frågar efter Lösenordet som krävs för att logga in på den " +"fjärranslutna datorn. Skriv in ditt lösenord och tryck sen OK." + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:60 +msgid "" +"You should now be able to log in to the remote computer via SSH without a " +"password." +msgstr "" +"Du bör nu kunna logga in på en fjärransluten dator via SSH utan ett lösenord." + +#. (itstool) path: info/desc +#: C/ssh-create.page:31 +msgid "Create SSH keys to log in to other computers." +msgstr "Skapa SSH-nycklar för att logga in på andra datorer." + +#. (itstool) path: page/title +#: C/ssh-create.page:34 +msgid "Create a new SSH key" +msgstr "Skapa en ny SSH-nyckel" + +#. (itstool) path: page/p +#: C/ssh-create.page:36 +msgid "" +"An SSH key will help you to create a secure connection between computers. " +"Creating an SSH key creates both a Public and a Private " +"key. Here is how to create a new key:" +msgstr "" +"En SSH-nyckel hjälper dig att säkert ansluta till andra datorer. När du " +"skapar en SSH-nyckel skapas både en öppen och en privat " +"nyckel. Så här skapar du en ny nyckel:" + +#. (itstool) path: item/p +#: C/ssh-create.page:42 +msgid "Select Secure Shell Key from the list." +msgstr "Välj Secure Shell-nyckel från listan." + +#. (itstool) path: item/p +#: C/ssh-create.page:43 +msgid "" +"Enter a description for the key. The key description will help you to " +"identify the key later. For example, you could enter the date for the day, " +"something about how the key will be used, or the server name on which you " +"intend to install the key. The description field is optional, and how you " +"describe the key is entirely up to you." +msgstr "" +"Fyll i en beskrivning för nyckeln. Nyckelbeskrivningen hjälper dig " +"identifiera nyckeln senare. Till exempel kan du fylla i dagens datum, hur " +"nyckeln ska användas, eller servernamnet du planerar att installera nyckeln " +"på. Fältet för nyckelbeskrivning är valfritt och hur du beskriver nyckeln är " +"helt upp till dig." + +#. (itstool) path: item/p +#: C/ssh-create.page:48 +msgid "" +"You can also change default settings for encryption type or key strength." +msgstr "" +"Du kan också ändra de förvalda inställningarna för krypteringstyp eller " +"nyckelstyrka." + +#. (itstool) path: page/p +#: C/ssh-create.page:52 +msgid "" +"At this point, you can just create your key, or create your key and install " +"it on a remote computer to enable password-free login." +msgstr "" +"I detta skede kan du skapa din nyckel, eller skapa din nyckel och installera " +"den på en fjärransluten dator för att möjliggöra lösenordsfri inloggning." + +#. (itstool) path: section/title +#: C/ssh-create.page:56 +msgid "Create your key and do not set up remote login" +msgstr "Skapa din nyckel och ställ inte in fjärrinloggning" + +#. (itstool) path: section/p +#: C/ssh-create.page:57 +msgid "You can create the SSH key, and choose to set it up later." +msgstr "Du kan skapa SSH-nyckeln och ställa in den vid ett senare tillfälle." + +#. (itstool) path: item/p +#: C/ssh-create.page:61 +msgid "Press the Just Create Key button." +msgstr "Tryck på knappen Skapa bara nyckel." + +#. (itstool) path: item/p +#: C/ssh-create.page:64 +msgid "" +"Type a passphrase for your SSH key and press OK." +msgstr "" +"Skriv in ett lösenord för din SSH-nyckel och tryck OK." + +#. (itstool) path: item/p +#: C/ssh-create.page:68 +msgid "" +"Retype the passphrase and press OK to finish." +msgstr "" +"Repetera lösenordet och tryck OK för att avsluta." + +#. (itstool) path: section/p +#: C/ssh-create.page:73 +msgid "The SSH key will now be listed in the OpenSSH keys keyring." +msgstr "SSH-nyckeln listas nu i nyckelringen OpenSSH-nycklar." + +#. (itstool) path: note/p +#: C/ssh-create.page:77 +msgid "" +"When you try to use your SSH key, your operating system will prompt you for " +"the passphrase used during creation. This ensures that if someone gets " +"access to your SSH key, they can't use it without the passphrase." +msgstr "" +"När du försöker använda din SSH-nyckel kommer ditt operativsystem fråga " +"efter lösenordet till nyckeln. På så sätt kan någon som får tag i din SSH-" +"nyckel inte använda den utan lösenordet." + +#. (itstool) path: section/title +#: C/ssh-create.page:86 +msgid "Create your key and install it on a remote computer" +msgstr "Skapa din nyckel och installera den på en fjärransluten dator" + +#. (itstool) path: section/p +#: C/ssh-create.page:87 +msgid "" +"One of the most useful things about having an SSH key is that you can " +"install the public key on a remote computer. Doing this allows you to log in " +"to a remote computer with SSH without needing to enter your password every " +"time." +msgstr "" +"En av de mest användbara anledningarna att ha en SSH-nyckel är att du kan " +"installera den öppna nyckeln på en fjärransluten dator. På så sätt kan du " +"logga in på en fjärransluten dator via SSH utan att skriva in ett lösenord " +"varje gång." + +#. (itstool) path: item/p +#: C/ssh-create.page:94 +msgid "" +"Press the Create and Set Up button, and follow " +"the above instructions on entering a passphrase." +msgstr "" +"Tryck på Skapa och konfigurera och följ " +"instruktionerna för att skriva in lösenord." + +#. (itstool) path: item/p +#: C/ssh-create.page:98 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH." +msgstr "" +"I dialogfönster som öppnas, fyll i Serveradressen som du " +"vanligtvis använder för att logga in på en fjärransluten dator via SSH." + +#. (itstool) path: item/p +#: C/ssh-create.page:102 +msgid "" +"Ensure that the Login name you use on the remote computer is " +"correct, and press Set Up." +msgstr "" +"Säkerställ att Inloggningsnamnet du använder på den fjärranslutna " +"datorn är korrekt och klicka på Konfigurera." + +#. (itstool) path: section/p +#: C/ssh-create.page:121 +msgid "" +"The public part of the selected SSH key will now be installed on the remote " +"computer and configured to allow password-free SSH login. You should now be " +"able to log in to the remote computer via SSH without a password." +msgstr "" +"Den öppna delen av den valda SSH-nyckeln kommer nu installeras på den " +"fjärranslutna datorn och konfigureras för att tillåta lösenordsfri SSH-" +"inloggning. Du bör nu kunna logga in på fjärrdatorn via SSH utan ett " +"lösenord." + +#. (itstool) path: note/p +#: C/ssh-create.page:127 +msgid "" +"If SSH key authentication fails and you cannot use password authentication, " +"contact the service administrator for further help." +msgstr "" +"Om autentisering med SSH-nyckel misslyckas och du inte kan använda " +"lösenordsautentisering, kontakta administratören för att få hjälp." + +#. (itstool) path: info/desc +#: C/ssh-export.page:20 +msgid "Export your public and private SSH keys to store them in keyfiles." +msgstr "" +"Exportera dina öppna och privata SSH-nycklar för att förvara dem i " +"nyckelfiler." + +#. (itstool) path: page/title +#: C/ssh-export.page:24 +msgid "Export SSH keys" +msgstr "Exportera SSH-nycklar" + +#. (itstool) path: page/p +#: C/ssh-export.page:26 +msgid "" +"Export the contents of your SSH keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Exportera innehållet av dina SSH-nycklar och förvara dem i nyckelfiler för " +"att ha en säkerhetskopia av dina nycklar eller för att dela ut din öppna " +"nyckel till någon." + +#. (itstool) path: section/title +#: C/ssh-export.page:30 +msgid "To export your public SSH key:" +msgstr "För att exportera din öppna SSH-nyckel:" + +#. (itstool) path: item/p +#: C/ssh-export.page:34 C/ssh-export.page:57 +msgid "Select the OpenSSH keys keyring from the left side panel." +msgstr "Välj nyckeln OpenSSH-nycklar från panelen på vänster sida." + +#. (itstool) path: item/p +#: C/ssh-export.page:38 C/ssh-export.page:61 +msgid "" +"Select the Personal SSH key, that has to be exported, from the " +"list." +msgstr "" +"Välj den Personliga SSH-nyckeln från listan som ska exporteras." + +#. (itstool) path: item/p +#: C/ssh-export.page:45 +msgid "" +"Press the Export button to save the exported " +"public key on your computer." +msgstr "" +"Tryck på knappen Exportera för att spara den " +"exporterade öppna nyckeln på din dator." + +#. (itstool) path: section/title +#: C/ssh-export.page:53 +msgid "To export your private SSH key:" +msgstr "För att exportera din privata SSH-nyckel:" + +#. (itstool) path: item/p +#: C/ssh-export.page:65 +msgid "" +"Right click on the selected key and select Properties." +msgstr "" +"Högerklicka på den valda nyckeln och välj Egenskaper." + +#. (itstool) path: item/p +#: C/ssh-export.page:69 +msgid "" +"Press the Export button to save the exported " +"private key on your computer." +msgstr "" +"Tryck på knappen Exportera för att spara den " +"exporterade privata nyckeln på din dator." + +#. (itstool) path: note/p +#: C/ssh-export.page:75 +msgid "" +"Keep the exported private key file in a safe location, since the contents of " +"the file must be kept private, to prevent misuse of your key." +msgstr "" +"Håll den exporterade privata nyckelfilen på en säker plats, eftersom dess " +"innehåll måste hållas privat för att undvika missbruk av din nyckel." + +#. (itstool) path: info/desc +#: C/ssh-import.page:25 +msgid "Import SSH keys from keyfiles into Passwords and Keys." +msgstr "" +"Importera SSH-nycklar från nyckelfiler till Lösenord och nycklar." + +#. (itstool) path: page/title +#: C/ssh-import.page:28 +msgid "Import SSH keys" +msgstr "Importera SSH-nycklar" + +#. (itstool) path: page/p +#: C/ssh-import.page:30 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports SSH keys from the ~/.ssh directory on " +"your computer. You can also manually import keys into Passwords and " +"Keys." +msgstr "" +"Om du mottagit en nyckelfil via e-post kan du importera den in i " +"Lösenord och nycklar. I de flesta fall importerar Lösenord " +"och nycklar automatiskt SSH-nycklar från mappen ~/.ssh på " +"din dator. Du kan även manuellt importera nycklar in i Lösenord och " +"nycklar." + +#. (itstool) path: item/p +#: C/ssh-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. Public SSH keys end " +"with .pub." +msgstr "" +"I den nya dialogrutan, välj nyckeln du vill importera. Öppna SSH-nycklar " +"slutar med .pub." + +#. (itstool) path: page/p +#: C/ssh-import.page:53 +msgid "" +"Imported keys are automatically grouped according to their type. So, " +"SSH keys are listed in the OpenSSH keys section." +msgstr "" +"Importerade nycklar grupperas automatiskt efter deras typ. Så SSH-nycklar visas under OpenSSH-nycklar." + +#. (itstool) path: info/desc +#: C/subkeys-add.page:20 +msgid "Additional subkeys make your master key more secure." +msgstr "Ytterligare undernycklar gör din huvudnyckel säkrare." + +#. (itstool) path: page/title +#: C/subkeys-add.page:23 +msgid "Add extra subkeys" +msgstr "Lägg till extra undernycklar" + +#. (itstool) path: page/p +#: C/subkeys-add.page:25 +msgid "" +"You can add extra subkeys to the same master key. You have to choose the " +"right subkey each time you want to encrypt or sign when you do this." +msgstr "" +"Du kan lägga till extra undernycklar till samma huvudnyckel. Du behöver i så " +"fall välja rätt undernyckel vid kryptering eller signering." + +#. (itstool) path: steps/title +#: C/subkeys-add.page:29 +msgid "To add extra subkeys to a PGP key:" +msgstr "För att lägga till extra undernycklar till en PGP-nyckel:" + +#. (itstool) path: item/p +#: C/subkeys-add.page:41 C/subkeys-examine.page:41 +msgid "If the Subkeys panel is not expanded, expand it." +msgstr "" +"Expandera panelen Undernycklar om den inte redan är expanderad." + +#. (itstool) path: item/p +#: C/subkeys-add.page:44 +msgid "Click the Add button to add a new subkey." +msgstr "" +"Klicka på knappen Lägg till för att lägga till " +"en ny undernyckel." + +#. (itstool) path: item/p +#: C/subkeys-add.page:48 +msgid "" +"Choose the right properties for your key by selecting the appropriate " +"Key Type, Key Length and Expiration Date " +"and click OK." +msgstr "" +"Välj rätt egenskaper för din nyckel genom att välja en passande " +"Nyckeltyp, Nyckellängd och Utgångsdatum och " +"tryck på OK." + +#. (itstool) path: note/p +#: C/subkeys-add.page:55 +msgid "" +"Always ensure that your subkey expires before your master key since a subkey " +"is useless when its master key has expired." +msgstr "" +"Försäkra dig alltid om att undernyckeln utgår före huvudnyckeln eftersom en " +"undernyckel är oanvändbar när huvudnyckeln har utgått." + +#. (itstool) path: info/desc +#: C/subkeys-examine.page:20 +msgid "See all the subkeys listed under a PGP key." +msgstr "Visa alla undernycklar under en PGP-nyckel." + +#. (itstool) path: page/title +#: C/subkeys-examine.page:23 +msgid "Where are my subkeys listed?" +msgstr "Var listas mina undernycklar?" + +#. (itstool) path: page/p +#: C/subkeys-examine.page:25 +msgid "" +"You can check the contents of a keypair to see the properties of a subkey." +msgstr "" +"Du kan visa innehållet av ett nyckelpar för att se en undernyckels " +"egenskaper." + +#. (itstool) path: steps/title +#: C/subkeys-examine.page:29 +msgid "To see all the subkeys in a PGP key:" +msgstr "För att se alla undernycklar i en PGP-nyckel:" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:31 +msgid "Select the GnuPG keys from the left side panel." +msgstr "Välj GnuPG-nycklar från det vänstra panelen." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:34 +msgid "Select the Personal PGP key." +msgstr "Välj Personlig PGP-nyckel." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:37 +msgid "" +"Right click on the key chosen in the previous step and select " +"PropertiesDetails." +msgstr "" +"Högerklicka på nyckeln som valdes tidigare och välj EgenskaperDetaljer." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:44 +msgid "All the subkeys for the selected PGP key will be listed in the panel." +msgstr "" +"Samtliga undernycklar för den valda PGP-nyckeln kommer att visas i panelen." + +#. (itstool) path: note/p +#: C/subkeys-examine.page:50 +msgid "" +"While signing another key, Passwords and Keys automatically " +"chooses the master key for signing, when you select a GnuPG keys " +"keypair to sign with." +msgstr "" +"När du signerar en annan nyckel så väljer Lösenord och nycklar " +"automatiskt huvudnyckeln för signering när du väljer ett nyckelpar till " +"GnuPG-nyckeln att signera med." + +#. (itstool) path: info/desc +#: C/subkeys-revoke.page:20 +msgid "Revoke a subkey that has been compromised or is not being used." +msgstr "" +"Spärra en undernyckel vars säkerhet har äventyrats eller inte längre används." + +#. (itstool) path: page/title +#: C/subkeys-revoke.page:24 +msgid "Revoke your subkeys" +msgstr "Spärra dina undernycklar" + +#. (itstool) path: page/p +#: C/subkeys-revoke.page:26 +msgid "" +"If your subkey has been compromised or is no longer in use, it might be a " +"good idea to revoke it to prevent misuse of the key." +msgstr "" +"Om din undernyckels säkerhet har äventyrats eller inte längre används kan " +"det vara en god idé att spärra den för att förhindra missbruk av nyckeln." + +#. (itstool) path: steps/title +#: C/subkeys-revoke.page:30 +msgid "To revoke a subkey:" +msgstr "För att spärra en undernyckel:" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:32 +msgid "" +"Navigate to the Subkeys " +"panel." +msgstr "" +"Navigera till panelen " +"Undernycklar." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:47 +msgid "" +"Select the subkey from the list and press the Revoke button." +msgstr "" +"Välj undernyckeln från listan och tryck på knappen Spärra." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:51 +msgid "" +"In the new dialog, select a reason for revoking the key. Optionally, " +"describe your reason in more detail in the Description field." +msgstr "" +"I den nya dialogrutan, välj en anledning för att spärra nyckeln. " +"Alternativt, skriv en detaljerad anledning i fältet Beskrivning." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:56 +msgid "Press the Revoke button." +msgstr "Tryck på knappen Spärra." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:59 +msgid "You will have to unlock the key with its passphrase." +msgstr "Du behöver låsa upp nyckeln med dess lösenord." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:62 +msgid "" +"The Status of the subkey changes to Revoked in the " +"Subkeys panel." +msgstr "" +"Statusen av en undernyckel ändras till Spärrad i " +"panelen Undernycklar." + +#. (itstool) path: note/p +#: C/subkeys-revoke.page:68 +msgid "" +"If you have published your subkey, you " +"must synchronize it with the key servers " +"after revoking it to apply the revocation on all copies of the key." +msgstr "" +"Om du har publicerat din undernyckel så " +"måste du synkronisera den mot nyckelservrar " +"efter den spärras för att spärrningen ska gälla på alla kopior av nyckeln." + +#~ msgid "" +#~ "Press the menu button in the top-right corner of the window and select " +#~ "Preferences." +#~ msgstr "" +#~ "Tryck på menyknappen i fönstrets övre högra hörn och välj Inställningar." + +#~ msgid "" +#~ "Press the menu button in the top-right corner of the window and select " +#~ "Sync and Publish Keys…." +#~ msgstr "" +#~ "Tryck på menyknappen i fönstrets övre högra hörn och välj Synkronisera och publicera nycklar…." + +#~ msgid "" +#~ "Press the menu button in the top-right corner of the window and select " +#~ "Find Remote Keys…." +#~ msgstr "" +#~ "Tryck på menyknappen i fönstrets övre högra hörn och välj Sök fjärrnycklar…." + +#~ msgid "hkp://pool.sks-keyservers.net" +#~ msgstr "hkp://pool.sks-keyservers.net" + +#~ msgid "" +#~ "Select Edit Preferences" +#~ msgstr "" +#~ "Välj Redigera Inställningar" + +#~ msgid "" +#~ "Select View By " +#~ "keyring." +#~ msgstr "" +#~ "Välj Visa Efter " +#~ "nyckelring." + +#~ msgid "" +#~ "Expand the Passwords panel, if necessary, and tick the Show password checkbox to view the password." +#~ msgstr "" +#~ "Expandera panelen Lösenord, vid behov, och bocka i Visa lösenord för att visa lösenord." + +#~ msgid "" +#~ "Select the key. (You may need to show all keys, with ViewShow any )" +#~ msgstr "" +#~ "Välj nyckeln. (Du kan även behöva visa alla nycklar via VisaVisa alla )" + +#~ msgid "" +#~ "Right click, and choose Delete. Alternatively you can also " +#~ "select Edit Delete to delete the key." +#~ msgstr "" +#~ "Högerklicka, och välj Ta bort. Alternativt kan du också välja " +#~ "Redigera Ta " +#~ "bort för att radera nyckeln." + +#~ msgid "" +#~ "Select Remote Find Remote Keys…." +#~ msgstr "" +#~ "Välj Fjärr Sök " +#~ "fjärrnycklar...." + +#~ msgid "" +#~ "If you cannot see the retrieved key, please select ViewShow any." +#~ msgstr "" +#~ "Om du inte kan se den mottagna nyckeln, välj VisaVisa alla." + +#~ msgid "" +#~ "Select File New…" +#~ "." +#~ msgstr "" +#~ "Välj Arkiv Ny…." + +#~ msgid "" +#~ "Choose Password Keyring and press Continue." +#~ msgstr "" +#~ "Välj Lösenordsnyckelring och tryck på Fortsätt." + +#~ msgid "" +#~ "Select Stored Password from the list and press Continue." +#~ msgstr "" +#~ "Välj Lagrat lösenord från listan och tryck Fortsätt." + +#~ msgid "Select FileNew…." +#~ msgstr "Välj ArkivNy…." + +#~ msgid "" +#~ "Select PGP Key from the list and press Continue." +#~ msgstr "" +#~ "Välj PGP-nyckel från listan och tryck Fortsätt." + +#~ msgid "Key type" +#~ msgstr "Nyckeltyp" + +#~ msgid "Select FileExport…." +#~ msgstr "Välj ArkivExportera…." + +#~ msgid "" +#~ "Select Secure Shell Key and then click Continue." +#~ msgstr "" +#~ "Välj Secure Shell-nyckel och klicka sen på Fortsätt." + +#~ msgid "" +#~ "Press the Export Private Key button to save " +#~ "the exported private key on your computer." +#~ msgstr "" +#~ "Tryck på Exportera privat nyckel för att " +#~ "spara den exporterade privata nyckeln på din dator." + +#~ msgid "Select the Personal PGP key list." +#~ msgstr "Välj listan Personlig PGP-nyckel." diff --git a/help/uk/uk.po b/help/uk/uk.po new file mode 100644 index 00000000..1b82a2ef --- /dev/null +++ b/help/uk/uk.po @@ -0,0 +1,3278 @@ +# Ukrainian translation for seahorse. +# Copyright (C) 2020 seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# +# Yuri Chornoivan , 2020. +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"POT-Creation-Date: 2020-07-31 17:47+0000\n" +"PO-Revision-Date: 2020-08-01 09:08+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 20.07.70\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "Юрій Чорноіван , 2020" + +#. (itstool) path: credit/name +#: C/about-diff-private-public.page:14 C/about-ssh.page:13 C/concepts.page:14 +#: C/index.page:14 C/introduction.page:15 C/keyring-create.page:26 +#: C/keyring.page:15 C/pgp-create.page:16 C/pgp-import.page:21 +#: C/ssh-connect-remote.page:14 C/ssh-create.page:16 C/ssh-import.page:20 +msgid "Jim Campbell" +msgstr "Jim Campbell" + +#. (itstool) path: credit/years +#: C/about-diff-private-public.page:16 C/about-pgp.page:17 C/about-ssh.page:15 +#: C/glossary.page:17 C/index.page:16 C/index.page:21 C/index.page:26 +#: C/introduction.page:17 C/introduction.page:23 C/key-servers-add.page:20 +#: C/keyring-change-default.page:16 C/keyring-create.page:18 +#: C/keyring-create.page:23 C/keyring-lock.page:17 C/keyring-unlock.page:17 +#: C/keyring-update-password.page:17 C/keyring.page:17 C/keyring.page:22 +#: C/keyring.page:27 C/misc-key-backup.page:17 C/misc-key-fingerprint.page:16 +#: C/passwords-stored-create.page:16 C/passwords-view.page:18 +#: C/pgp-create.page:18 C/pgp-create.page:24 C/pgp-delete.page:17 +#: C/pgp-expiration-change.page:16 C/pgp-expired.page:17 C/pgp-export.page:16 +#: C/pgp-import.page:18 C/pgp-import.page:23 C/pgp-photoid.page:17 +#: C/pgp-publish.page:18 C/pgp-retrieve-remote.page:18 C/pgp-sign.page:16 +#: C/pgp-subkeys.page:16 C/pgp-sync.page:18 C/pgp-userid-add.page:17 +#: C/pgp-userid-primary.page:16 C/pgp-userid-remove.page:17 +#: C/pgp-userid.page:16 C/ssh-create.page:18 C/ssh-export.page:17 +#: C/ssh-import.page:17 C/ssh-import.page:22 C/subkeys-add.page:17 +#: C/subkeys-examine.page:17 C/subkeys-revoke.page:17 +msgid "2013" +msgstr "2013" + +#. (itstool) path: info/desc +#: C/about-diff-private-public.page:19 +msgid "" +"A public key is used to encrypt communication. A private key is used to " +"decrypt it." +msgstr "" +"Відкритий ключ використовується для шифрування обміну даними. Для " +"розшифровування використовується закритий ключ." + +#. (itstool) path: page/title +#: C/about-diff-private-public.page:23 +msgid "Public Key vs Private Key" +msgstr "Відкритий і закритий ключ" + +#. (itstool) path: page/p +#: C/about-diff-private-public.page:25 +msgid "" +"Although Public Keys and Private Keys are both referred to " +"as keys, it helps to think of them a bit differently. Try to think " +"of a Public Key as being like a padlock, and a Private Key " +"as being like a key that unlocks the padlock." +msgstr "" +"Хоча і відкриті ключі, і закриті ключі називаються " +"ключами, варто розуміти, що вони є дещо різними. Відкритий " +"ключ спробуйте уявляти як замок, а Закритий ключ — як ключ, " +"який відкриває цей замок." + +#. (itstool) path: section/title +#: C/about-diff-private-public.page:31 +msgid "An Example: Sending a Secret Message in a Box" +msgstr "Приклад: надсилання секретного повідомлення у скриньці" + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:33 +msgid "" +"Let's use an example to see how this works. Imagine that you want your " +"friend to send you a secret message in a box. You could give your friend a " +"box and a padlock, but only you would have the key that unlocks the padlock." +msgstr "" +"Щоб зрозуміти, як це працює, розгляньмо приклад. Уявіть собі, що ви хочете, " +"щоб вам надіслали секретне повідомлення приятелю. Ви даєте йому скриньку і " +"замок, але ключ, який відмикатиме замок, лишаєте у себе." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:38 +msgid "" +"Your friend could put their message in the box, lock the padlock, and then " +"send you the locked box in the mail. When you receive it, you would use your " +"key to unlock the box." +msgstr "" +"Ваш приятель може покласти повідомлення до скриньки, замкнути замок, а потім " +"надіслати вам закриту скриньку поштою. Коли ви отримаєте скриньку, ви можете " +"скористатися ключем і відімкнути замок." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:42 +msgid "" +"This is similar to how a Public Key and a Private Key " +"work. Like the padlock, you can freely give out your Public Key. " +"This will make it easy for anyone to securely encrypt, or lock, a message " +"that they want to send to you." +msgstr "" +"Увесь цей приклад подібний до роботи відкритого ключа і " +"закритого ключа. Подібно до замка, ви можете надавати іншим особам " +"відкритий ключ. Він зробить простим для будь-кого безпечне " +"шифрування, або замкнення, повідомлень, які вам надсилатимуть." + +#. (itstool) path: section/p +#: C/about-diff-private-public.page:47 +msgid "" +"On the other hand, a Private Key is like the key that allows you to " +"decrypt, or unlock, the padlock. Because the Private Key is used to " +"decrypt secure messages, you will want to keep your Private Key " +"safe." +msgstr "" +"З іншого боку, закритий ключ подібний до звичайного ключа — він " +"надасть вам змогу розшифрувати дані або відімкнути замок. Оскільки " +"закритий ключ використовується для розшифровування захищених " +"повідомлень, вам слід тримати ваш закритий ключ у захищеному місці." + +#. (itstool) path: credit/name +#: C/about-pgp.page:15 C/glossary.page:15 C/index.page:19 +#: C/introduction.page:21 C/key-servers-add.page:18 +#: C/keyring-change-default.page:14 C/keyring-create.page:16 +#: C/keyring-lock.page:15 C/keyring-unlock.page:15 +#: C/keyring-update-password.page:15 C/keyring.page:20 +#: C/misc-key-backup.page:15 C/misc-key-fingerprint.page:14 +#: C/passwords-stored-create.page:14 C/passwords-view.page:16 +#: C/pgp-create.page:22 C/pgp-delete.page:15 C/pgp-expiration-change.page:14 +#: C/pgp-expired.page:15 C/pgp-export.page:14 C/pgp-import.page:16 +#: C/pgp-photoid.page:15 C/pgp-sign.page:14 C/pgp-subkeys.page:14 +#: C/pgp-sync.page:16 C/pgp-userid-add.page:15 C/pgp-userid-primary.page:14 +#: C/pgp-userid-remove.page:15 C/pgp-userid.page:14 +#: C/ssh-connect-remote.page:19 C/ssh-export.page:15 C/ssh-import.page:15 +#: C/subkeys-add.page:15 C/subkeys-examine.page:15 C/subkeys-revoke.page:15 +msgid "Aruna Sankaranarayanan" +msgstr "Aruna Sankaranarayanan" + +#. (itstool) path: info/desc +#: C/about-pgp.page:20 +msgid "PGP keys are used to sign and encrypt emails and files." +msgstr "" +"Ключі PGP використовують для підписування та шифрування повідомлень та " +"файлів." + +#. (itstool) path: page/title +#: C/about-pgp.page:23 +msgid "What is a PGP key?" +msgstr "Що таке ключ PGP?" + +#. (itstool) path: page/p +#: C/about-pgp.page:25 +msgid "" +"A PGP key is a public encryption key. A PGP key can be used to sign and " +"encrypt emails and files. When you create a PGP key, a keypair having a " +"public key and a private key is generated. You can share the public key with " +"anyone who wishes to send you encrypted messages or files, but the private " +"key must be known only to you and used to decrypt received messages." +msgstr "" +"Ключ PGP є відкритим ключем шифрування. Ключем PGP можна скористатися для " +"підписування і шифрування повідомлень і файлів. Коли ви створюєте ключ PGP, " +"комп'ютер створює відкритий і закритий ключі. Ви можете надати відкритий " +"ключ будь-якій зацікавленій у надсиланні вам зашифрованих повідомлень і " +"файлів особі, але закритий ключ має бути відомим лише вам — його буде " +"використано для розшифровування отриманих даних." + +#. (itstool) path: section/title +#: C/about-pgp.page:32 +msgid "Encrypt and sign data using PGP keys" +msgstr "Шифрування і підписування даних за допомогою ключів PGP" + +#. (itstool) path: section/p +#: C/about-pgp.page:34 +msgid "" +"Passwords and Keys is a key management application. Though it " +"cannot be used to encrypt or sign files and messages, you can use it to " +"sign trustworthy keys." +msgstr "" +"Паролі й ключі — програма для керування ключами. Хоча нею не " +"можна скористатися для шифрування або підписування файлів і повідомлень, нею " +"можна скористатися для підписування варти " +"довіри ключів." + +#. (itstool) path: section/p +#: C/about-pgp.page:38 +msgid "" +"To secure your communication, you can use email clients like Evolution that provide encryption and signing services." +msgstr "" +"Щоб убезпечити ваш обмін даними, ви можете скористатися клієнтами " +"електронної пошти, подібними до Evolution, у яких передбачено " +"служби шифрування і підписування." + +#. (itstool) path: info/desc +#: C/about-ssh.page:18 +msgid "" +"SSH keys are used to login to a remote computer, once a secure connection " +"has been established." +msgstr "" +"Ключі SSH використовують для входу до віддалених комп'ютерів після " +"встановлення безпечного з'єднання." + +#. (itstool) path: page/title +#: C/about-ssh.page:22 +msgid "What is a Secure Shell key?" +msgstr "Що таке ключ безпечної оболонки (SSH)?" + +#. (itstool) path: page/p +#: C/about-ssh.page:24 +msgid "" +"A Secure Shell key, often just called an SSH key, helps " +"you create a secure connection over an unsecured network." +msgstr "" +"Ключ безпечно оболонки, який часто називається ключем SSH, " +"допоможе вам створити захищене шифрування з'єднання за допомогою незахищеної " +"мережі." + +#. (itstool) path: list/title +#: C/about-ssh.page:28 +msgid "An SSH key actually consists of two parts:" +msgstr "Сам ключ SSH насправді складається з двох частин:" + +#. (itstool) path: item/p +#: C/about-ssh.page:29 +msgid "A public key, which is widely available." +msgstr "Відкритий ключ, який є загальнодоступним." + +#. (itstool) path: item/p +#: C/about-ssh.page:30 +msgid "" +"A private key, which is kept secret. The private key is used to unlock " +"messages encrypted with a corresponding public key." +msgstr "" +"Закритий ключ, який слід тримати у таємниці. Закритий ключ використовують " +"для розшифровування повідомлень, які було зашифровано відповідним відкритим " +"ключем." + +#. (itstool) path: page/p +#: C/about-ssh.page:34 +msgid "" +"The advantage of using an SSH key to create a connection between " +"computers is that only the Public key needs to be sent over the " +"network. Transmissions encrypted with a Public key can only be " +"decoded by unlocking them with the corresponding Private key and a " +"password. Because only the public key is sent over the network, the key's " +"password is kept secret." +msgstr "" +"Перевагою використання ключа SSH для створення з'єднання між " +"комп'ютерами є те, що мережею потрібно надсилати лише відкритий ключ. Передані дані, які зашифровано відкритим ключем, можна " +"розшифрувати лише відімкнувши їх за допомогою закритого ключа і " +"пароля. Оскільки мережею надсилається лише відкритий ключ, пароль ключа " +"лишиться таємним." + +#. (itstool) path: credit/years +#: C/concepts.page:16 C/key-servers-add.page:25 C/keyring-create.page:28 +#: C/misc-key-backup.page:23 C/passwords-view.page:24 C/pgp-create.page:30 +#: C/pgp-delete.page:23 C/ssh-create.page:23 C/ssh-create.page:28 +msgid "2014" +msgstr "2014" + +#. (itstool) path: info/desc +#: C/concepts.page:19 +msgid "" +"Learn terms and concepts that are relevant to managing passwords and keys." +msgstr "" +"Ознайомтеся із термінами і поняттями, які пов'язано із керування паролями та " +"ключами." + +#. (itstool) path: page/title +#: C/concepts.page:23 +msgid "Key Concepts and Terms" +msgstr "Поняття і терміни, які пов'язано із ключами" + +#. (itstool) path: info/desc +#: C/glossary.page:20 +msgid "A list of basic terms used." +msgstr "Список основних використаних термінів." + +#. (itstool) path: page/title +#: C/glossary.page:23 +msgid "Glossary" +msgstr "Глосарій" + +#. (itstool) path: page/p +#: C/glossary.page:25 +msgid "" +"Passwords and Keys helps you to generate and manage tokens that " +"can be used to protect your files and communication. Here are some basic " +"terms that you will encounter while reading this help:" +msgstr "" +"Паролі й ключі допоможуть вам створювати ключі і керувати " +"ключами, якими можна користуватися для захисту ваших файлів і обміну даними. " +"Ось декілька основних термінів, які зустрінуться вам під час читання цього " +"підручника:" + +#. (itstool) path: item/title +#: C/glossary.page:31 +msgid "Encryption" +msgstr "Шифрування" + +#. (itstool) path: item/p +#: C/glossary.page:32 +msgid "" +"Encryption is the process of making your important files and data unreadable " +"to anyone but the intended recipient. When you encrypt your data, it becomes " +"a scrambled sequence of numbers and letters. Encryption is done by someone " +"who is sending a protected file, or sending a message in a protected " +"conversation." +msgstr "" +"Шифрування — процес, за допомогою якого важливі файли і дані роблять " +"непридатними до читання для будь-кого, окрім їхнього отримувача. Після " +"шифрування дані стають заплутаною послідовністю чисел і літер. Шифрування " +"виконується кимось, хто надсилає захищений файл, або під час надсилання " +"повідомлення у захищеному спілкуванні." + +#. (itstool) path: item/title +#: C/glossary.page:39 +msgid "Algorithm" +msgstr "Алгоритм" + +#. (itstool) path: item/p +#: C/glossary.page:40 +msgid "" +"An algorithm is a sequence of steps used to encrypt or decrypt your data." +msgstr "" +"Алгоритм є послідовністю кроків, які використовуються для шифрування та " +"розшифровування ваших даних." + +#. (itstool) path: item/title +#: C/glossary.page:44 +msgid "Decryption" +msgstr "Розшифровування" + +#. (itstool) path: item/p +#: C/glossary.page:45 +msgid "" +"Decryption is the process of retrieving the original text from the encrypted " +"message or file. It is done by the receiver of the protected file or " +"communication. Encrypted messages cannot be understood without decrypting " +"them first." +msgstr "" +"Розшифровування — процес отримання початкового повідомлення на основі " +"зашифрованого повідомлення або файла. Розшифровування виконується " +"отримувачем захищеного файла або отримувачем зашифрованих даних спілкування. " +"Зашифровані повідомлення є непридатними для читання без розшифровування." + +#. (itstool) path: item/title +#: C/glossary.page:51 +msgid "Plaintext" +msgstr "Звичайний текст" + +#. (itstool) path: item/p +#: C/glossary.page:52 +msgid "" +"Any data or file that is not encrypted, and can therefore be read by anyone " +"who can access it, is called plaintext." +msgstr "" +"Будь-які дані або файл, який не зашифровано, а тому може бути прочитано будь-" +"ким, хто має до нього доступ, будемо називати звичайним текстом." + +#. (itstool) path: item/title +#: C/glossary.page:56 +msgid "Key" +msgstr "Ключ" + +#. (itstool) path: item/p +#: C/glossary.page:57 +msgid "" +"A key is used to encrypt and decrypt files and communication. A key may also " +"be used to login to a remote computer. Some types of keys are PGP keys and SSH " +"keys." +msgstr "" +"Ключ використовується для шифрування та розшифровування файлів та обміну " +"даними. Ключем також можна скористатися для входу до віддалених комп'ютерів. " +"Серед типів ключів ключі PGP і ключі SSH." + +#. (itstool) path: item/title +#: C/glossary.page:63 +msgid "Keyring" +msgstr "Сховище ключів" + +#. (itstool) path: item/p +#: C/glossary.page:64 +msgid "A keyring is a collection of passwords or keys." +msgstr "Сховище ключів — збірка паролів або ключів." + +#. (itstool) path: info/title +#: C/index.page:8 +msgctxt "link" +msgid "Passwords and Keys" +msgstr "Паролі й ключі" + +#. (itstool) path: info/title +#: C/index.page:9 +msgctxt "text" +msgid "Passwords and Keys" +msgstr "Паролі й ключі" + +#. (itstool) path: credit/name +#: C/index.page:24 C/keyring-create.page:21 C/keyring.page:25 +#: C/ssh-create.page:26 +msgid "Ekaterina Gerasimova" +msgstr "Єкатерина Герасимова (Ekaterina Gerasimova)" + +#. (itstool) path: info/desc +#: C/index.page:31 +msgid "" +"Use Passwords and Keys to remember your passwords, and to create " +"and manage PGP and SSH keys." +msgstr "" +"Користування Паролями й ключами для запам'ятовування ваших " +"паролів та для створення і керування вашими ключами PGP і SSH." + +#. (itstool) path: page/title +#: C/index.page:34 +msgid "<_:media-1/> Passwords and Keys" +msgstr "<_:media-1/> Паролі й ключі" + +#. (itstool) path: section/title +#: C/index.page:40 +msgid "SSH Keys" +msgstr "Ключі SSH" + +#. (itstool) path: section/title +#: C/index.page:45 +msgid "PGP keys" +msgstr "Ключ PGP" + +#. (itstool) path: section/title +#: C/index.page:50 +msgid "Stored passwords and password keyrings" +msgstr "Збережені паролі і сховища паролів" + +#. (itstool) path: info/desc +#: C/introduction.page:26 +msgid "" +"Use Passwords and Keys to create and manage PGP and SSH keys and " +"to save passwords that are difficult to remember." +msgstr "" +"Користування Паролями й ключами для створення і керування вашими " +"ключами PGP і SSH та збереження паролів, які складно запам'ятати." + +#. (itstool) path: page/title +#: C/introduction.page:30 +msgid "Introduction" +msgstr "Вступ" + +#. (itstool) path: page/p +#: C/introduction.page:32 +msgid "" +"Welcome to the Passwords and Keys help guide. Passwords and " +"Keys creates and stores security tokens, helping to keep your " +"information secure on your computer, and secure when you send information " +"over a network." +msgstr "" +"Ласкаво просимо до підручника з Паролів й ключів. Програма " +"Паролі й ключі створює і зберігає ключі захисту, які допомагають " +"у безпечному зберіганні інформації на вашому комп'ютері та захищають дані, " +"які ви надсилаєте мережею." + +#. (itstool) path: page/p +#: C/introduction.page:36 +msgid "Using Passwords and Keys, you can:" +msgstr "За допомогою Паролів й ключів ви можете:" + +#. (itstool) path: item/p +#: C/introduction.page:40 +msgid "" +"Copy and save passwords that " +"are difficult to remember. To group related passwords, create keyrings." +msgstr "" +"Копіювати і зберігати паролі, " +"які складно запам'ятати. Щоб згрупувати пов'язані паролі, ви можете створювати в'язки ключів." + +#. (itstool) path: item/p +#: C/introduction.page:45 +msgid "" +"Create and manage PGP keys." +msgstr "" +"Створювати ключі PGP і керувати ними." + +#. (itstool) path: item/p +#: C/introduction.page:49 +msgid "" +"Create and manage SSH keys." +msgstr "" +"Створювати ключі SSH і керувати ними." + +#. (itstool) path: credit/name +#: C/key-servers-add.page:23 C/misc-key-backup.page:21 C/passwords-view.page:22 +#: C/pgp-create.page:28 C/pgp-delete.page:21 C/ssh-create.page:21 +msgid "Hashem Nasarat" +msgstr "Хашим Насарат (Hashem Nasarat)" + +#. (itstool) path: credit/name +#: C/key-servers-add.page:28 C/passwords-view.page:28 +#: C/pgp-retrieve-remote.page:21 +msgid "Andre Klapper" +msgstr "Андре Клаппер (Andre Klapper)" + +#. (itstool) path: credit/years +#: C/key-servers-add.page:30 C/passwords-view.page:30 +#: C/pgp-retrieve-remote.page:23 +msgid "2020" +msgstr "2020" + +#. (itstool) path: info/desc +#: C/key-servers-add.page:33 +msgid "" +"Make additions to the list of keyservers in Passwords and Keys" +msgstr "Додавання серверів ключів до списку Паролів й ключів" + +#. (itstool) path: page/title +#: C/key-servers-add.page:37 +msgid "Add a keyserver" +msgstr "Додавання сервера ключів" + +#. (itstool) path: page/p +#: C/key-servers-add.page:38 +msgid "" +"Passwords and Keys have the following keyservers listed by " +"default:" +msgstr "" +"До списку Паролів й ключів типово включено такі сервери ключів:" + +#. (itstool) path: item/p +#: C/key-servers-add.page:42 +msgid "ldap://keyserver.pgp.com" +msgstr "ldap://keyserver.pgp.com" + +#. (itstool) path: steps/title +#: C/key-servers-add.page:47 +msgid "To add a keyserver" +msgstr "Щоб додати сервер ключів, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/key-servers-add.page:49 C/pgp-publish.page:44 +#: C/pgp-retrieve-remote.page:39 C/pgp-sync.page:41 +msgid "Press the menu button in the header bar." +msgstr "Натисніть кнопку меню на панелі заголовка." + +#. (itstool) path: item/p +#: C/key-servers-add.page:52 +msgid "Select Preferences." +msgstr "Виберіть пункт Параметри." + +#. (itstool) path: item/p +#: C/key-servers-add.page:55 +msgid "Select the Key Servers tab." +msgstr "Виберіть вкладку Сервери ключів." + +#. (itstool) path: item/p +#: C/key-servers-add.page:58 +msgid "Press the Add button." +msgstr "Натисніть кнопку Додати." + +#. (itstool) path: item/p +#: C/key-servers-add.page:61 +msgid "" +"In the new dialog, select the appropriate Key Server Type. Key " +"servers are identified by the protocol they use to communicate. Look for the " +"first few letters in the Internet URL of your key server to identify its " +"type." +msgstr "" +"У новому діалоговому вікні виберіть відповідний Тип сервера ключів. Сервери ключів ідентифікуються за протоколом обміну даних. Щоб " +"визначити тип сервера, слід скористатися першими декількома літерами у " +"інтернет-адресі сервера ключів." + +#. (itstool) path: item/p +#: C/key-servers-add.page:67 +msgid "" +"In the Host field, paste the Internet URL of your " +"key server. Consult the documentation for the key server you're adding to " +"see if it operates on a non-standard port. If so, enter the port after the " +"':'. If you're unsure, leave the text box after the ':' blank." +msgstr "" +"У поле Вузол вставте інтернет-адресу вашого " +"сервера ключів. Зверніться до документації щодо сервера ключів, який ви " +"додаєте, щоб дізнатися, чи працюватиме він на нестандартному порті. Якщо " +"так, введіть порт після «:». Якщо ви не певні, залиште частину після «:» " +"порожньою." + +#. (itstool) path: item/p +#: C/key-servers-add.page:74 +msgid "Press Save to finish." +msgstr "" +"Натисніть кнопку Зберегти, щоб завершити " +"налаштовування." + +#. (itstool) path: info/desc +#: C/keyring-change-default.page:19 +msgid "Save new passwords to a different keyring by default." +msgstr "Типове збереження нових паролів до іншого в'язки ключів." + +#. (itstool) path: page/title +#: C/keyring-change-default.page:22 +msgid "Change the default keyring" +msgstr "Зміна типової в'язки ключів" + +#. (itstool) path: page/p +#: C/keyring-change-default.page:24 +msgid "" +"When you add a new password, " +"it is normally added to the default keyring. If you want to add it to a " +"different keyring, you can choose another one while adding the new password, " +"but you can also change the default keyring. The default keyring is normally " +"the Login keyring." +msgstr "" +"Якщо ви додаєте новий пароль, " +"його буде додано до типової в'язки ключів. Якщо ви хочете додати його до " +"іншої в'язки ключів, ви можете вибрати її при додаванні нового пароля, але " +"ви також можете змінити типову в'язку ключів. Зазвичай, типовою в'язкою " +"ключів є Вхід." + +#. (itstool) path: steps/title +#: C/keyring-change-default.page:32 +msgid "To change the default keyring:" +msgstr "Щоб змінити типову в'язку ключів, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/keyring-change-default.page:34 +msgid "" +"Select your choice for the default keyring from the list of keyrings under " +"Passwords on the left side panel." +msgstr "" +"Виберіть бажану для вас в'язку ключів зі списку в'язок ключів Паролі на лівій бічній панелі." + +#. (itstool) path: item/p +#: C/keyring-change-default.page:38 +msgid "" +"Right click on the selected keyring and select Set as default." +msgstr "" +"Клацніть правою кнопкою на вибраній в'язці ключів і виберіть пункт " +"Встановити типовим." + +#. (itstool) path: note/p +#: C/keyring-change-default.page:44 +msgid "" +"Passwords to some GNOME applications are stored automatically by " +"Passwords and Keys in the Login keyring because it is " +"the default keyring. When you change the default keyring, any new passwords " +"created for GNOME applications will be stored in the new default keyring " +"while GNOME application passwords created before the change will remain in " +"the Login keyring." +msgstr "" +"Паролі до деяких програм GNOME автоматично зберігаються Паролями й " +"ключами до в'язки ключів Вхід, оскільки ця в'язка є " +"типовою. Якщо ви зміните типове сховище ключів, усі паролі, створені для " +"програм GNOME буде збережено у новій типові в'язці ключів, а паролі для " +"програм GNOME, які було створено до зміни, лишаться у в'язці ключів " +"Вхід." + +#. (itstool) path: info/desc +#: C/keyring-create.page:31 +msgid "Use password keyrings to group stored passwords." +msgstr "Використання в'язок ключів для групування збережених паролів." + +#. (itstool) path: page/title +#: C/keyring-create.page:34 +msgid "Create a new keyring" +msgstr "Створення в'язки ключів" + +#. (itstool) path: page/p +#: C/keyring-create.page:36 +msgid "" +"Use keyrings to group related passwords. You " +"can choose to protect your keyring with a password." +msgstr "" +"Скористайтеся в'язками ключів для групування " +"пов'язаних між собою паролів. Ви можете захистити ваше сховище ключів " +"паролем." + +#. (itstool) path: steps/title +#: C/keyring-create.page:40 +msgid "Create a new password keyring:" +msgstr "Щоб створити в'язку ключів для паролів, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/keyring-create.page:42 C/passwords-stored-create.page:32 +#: C/pgp-create.page:42 C/pgp-import.page:39 C/ssh-create.page:41 +#: C/ssh-import.page:39 +msgid "" +"Press the + button in the top-left corner of the " +"window." +msgstr "" +"Натисніть кнопку + у верхньому лівому куті вікна " +"програми." + +#. (itstool) path: item/p +#: C/keyring-create.page:45 +msgid "Select Password Keyring from the list." +msgstr "" +"Виберіть у списку пункт В'язка ключів для паролів." + +#. (itstool) path: item/p +#: C/keyring-create.page:48 +msgid "" +"Choose a name for your new keyring, then press Add to continue." +msgstr "" +"Виберіть назву для вашої нової в'язки ключів і натисніть кнопку Додати." + +#. (itstool) path: item/p +#: C/keyring-create.page:53 +msgid "" +"To password protect your keyring, choose a password, and retype it to " +"confirm your choice. Leave both the fields blank if you want your keyring to " +"remain unlocked at all times." +msgstr "" +"Щоб захистити вашу в'язку ключів паролем, виберіть пароль і повторно введіть " +"його, щоб підтвердити ваш вибір. Не заповнюйте обидва поля, якщо ви хочете, " +"щоб в'язка ключів лишалася відімкненою увесь час." + +#. (itstool) path: item/p +#: C/keyring-create.page:61 +msgid "" +"Press Continue to finish creating the keyring. " +"If you have not protected your keyring with a password, you will need to " +"confirm that this is how you want to proceed." +msgstr "" +"Натисніть кнопку Продовжити, щоб завершити " +"створення в'язки ключів. Якщо ви не захистили вашу в'язку ключів паролем, " +"вам доведеться підтвердити ваше бажання." + +#. (itstool) path: page/p +#: C/keyring-create.page:67 +msgid "Your new keyring will now be listed under Passwords." +msgstr "Вашу нову в'язку ключів буде показано у списку Паролі." + +#. (itstool) path: info/desc +#: C/keyring-lock.page:20 +msgid "" +"Lock and password protect your password keyrings to control access to the " +"passwords stored in them." +msgstr "" +"Заблокуйте і захистіть паролем ваші в'язки паролів для керування доступом до " +"паролів, що у них зберігаються." + +#. (itstool) path: page/title +#: C/keyring-lock.page:24 +msgid "Lock your keyrings" +msgstr "Замикання ваших в'язок ключів" + +#. (itstool) path: page/p +#: C/keyring-lock.page:26 +msgid "" +"To safe-keep your passwords, store them in a password-protected keyring. " +"When a password-protected keyring is locked, the passwords in it are kept " +"hidden till someone unlocks the keyring " +"with the correct password." +msgstr "" +"Для убезпечення ваших паролів зберігайте їх у захищеній паролем в'язці " +"ключів. Якщо в'язку ключів захищено паролем, паролі у ній залишатимуться " +"прихованими, аж доки хтось не відімкне " +"в'язку паролів належним паролем." + +#. (itstool) path: note/p +#: C/keyring-lock.page:32 +msgid "" +"You can choose to protect your keyring with a password while creating it." +msgstr "" +"Ви можете захистити ваше сховище ключів паролем під час його створення." + +#. (itstool) path: steps/title +#: C/keyring-lock.page:37 +msgid "To lock your password keyring:" +msgstr "Щоб замкнути вашу в'язку ключів, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/keyring-lock.page:39 +msgid "" +"From the list of keyrings under Passwords on the left side panel, " +"select the keyring to be locked." +msgstr "" +"Зі списку в'язок ключів під написом Паролі на лівій бічній панелі " +"виберіть в'язку ключів, яку буде захищено." + +#. (itstool) path: item/p +#: C/keyring-lock.page:43 +msgid "" +"Right click on the selected keyring and select Lock, or click on " +"the small picture of an opened lock next to the name of the password keyring." +msgstr "" +"Клацніть правою кнопкою на вибраній в'язці ключів і виберіть пункт " +"Блокувати або клацніть на малому зображенні відкритого замка " +"поряд із пунктом із назвою в'язки ключів." + +#. (itstool) path: info/desc +#: C/keyring-unlock.page:20 +msgid "To view passwords stored inside a locked keyring, unlock it." +msgstr "" +"Щоб переглянути паролі, які зберігаються у захищеній в'язці ключів, " +"розблокуйте її." + +#. (itstool) path: page/title +#: C/keyring-unlock.page:23 +msgid "Unlock your keyrings" +msgstr "Розблоковування ваших в'язок ключів" + +#. (itstool) path: page/p +#: C/keyring-unlock.page:24 +msgid "" +"A keyring may often be locked to protect " +"the passwords it contains, similar to locking important things safely inside " +"a trunk. In order to look at your passwords, you must unlock the keyring " +"first." +msgstr "" +"В'язку ключів часто може бути заблоковано " +"для захисту паролів, які у ній містяться, подібно до замикання важливих " +"речей у сейфі. Щоб переглянути ваші паролі, вам доведеться спочатку " +"розблокувати в'язку ключів." + +#. (itstool) path: steps/title +#: C/keyring-unlock.page:30 +msgid "To unlock your keyring:" +msgstr "Щоб розблокувати вашу в'язку ключів, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/keyring-unlock.page:32 +msgid "" +"Select the keyring to be unlocked from the panel on your left. It is listed " +"under Passwords." +msgstr "" +"Виберіть в'язку ключів, яку слід розблокувати, на панелі ліворуч. В'язку " +"ключів буде показано у списку Паролі." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:36 +msgid "" +"Right click on the selected keyring and select Unlock from the " +"menu, or alternatively, click the small picture of a closed lock next to the " +"keyring name to unlock the keyring." +msgstr "" +"Клацніть правою кнопкою на вибраній в'язці ключів і виберіть пункт " +"Розблокувати або клацніть на малому зображенні замкненого замка " +"поряд із пунктом із назвою в'язки ключів, щоб розблокувати в'язку ключів." + +#. (itstool) path: item/p +#: C/keyring-unlock.page:41 +msgid "" +"If the keyring is password-protected, you will be prompted for a password to " +"unlock the keyring. Enter the correct password in the Password " +"field and press Unlock to finish." +msgstr "" +"Якщо в'язку ключів захищено паролем, програма попросить вас ввести пароль " +"для розблокування в'язки ключів. Введіть належний пароль у поле Пароль і натисніть кнопку Розблокувати, щоб " +"завершити розблокування." + +#. (itstool) path: note/p +#: C/keyring-unlock.page:49 +msgid "" +"You can choose to password-protect your keyrings while creating them." +msgstr "" +"Ви можете захистити ваші в'язки ключів під час їхнього створення." + +#. (itstool) path: info/desc +#: C/keyring-update-password.page:20 +msgid "" +"Keep updating the passwords to your keyrings to ensure that they are " +"protected well." +msgstr "" +"Час від часу оновлюйте паролі до ваших в'язок ключів, щоб забезпечити " +"надійність їхнього захисту." + +#. (itstool) path: page/title +#: C/keyring-update-password.page:25 +msgid "Update the keyring password" +msgstr "Оновлення в'язки ключів для паролів" + +#. (itstool) path: page/p +#: C/keyring-update-password.page:27 +msgid "" +"The password to unlock your keyring can be " +"updated at any time." +msgstr "" +"Ви можете будь-коли оновити пароль для розблоковування вашої в'язки ключів." + +#. (itstool) path: steps/title +#: C/keyring-update-password.page:31 +msgid "To update the password for a password keyring:" +msgstr "Щоб оновити пароль до в'язки ключів, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/keyring-update-password.page:33 +msgid "" +"Select the password keyring from the list, under Passwords, on " +"the left side panel." +msgstr "" +"Виберіть в'язку ключів для паролів зі списку Паролі на лівій " +"бічній панелі." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:37 +msgid "" +"Right click on the selected password keyring and select Change " +"Password." +msgstr "" +"Клацніть правою кнопкою на вибраній в'язці ключів і виберіть пункт " +"Змінити пароль." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:41 +msgid "" +"Type your old password to authenticate yourself and press Continue." +msgstr "" +"Введіть ваш старий пароль для розпізнавання і натисніть кнопку Продовжити." + +#. (itstool) path: item/p +#: C/keyring-update-password.page:45 +msgid "" +"In the new dialog, type your new password, retype it to confirm the new " +"password and press the Continue button to finish." +msgstr "" +"У діалоговому вікні, яке буде відкрито, введіть новий пароль, повторіть його " +"введення для підтвердження і натисніть кнопку Продовжити, щоб завершити внесення змін." + +#. (itstool) path: info/desc +#: C/keyring.page:30 +msgid "A keyring is used to group related passwords and keys." +msgstr "" +"В'язка ключів використовується для групування пов'язаних паролів і ключів." + +#. (itstool) path: page/title +#: C/keyring.page:33 +msgid "What is a keyring?" +msgstr "Що таке в'язка ключів?" + +#. (itstool) path: page/p +#: C/keyring.page:35 +msgid "" +"Much like a keyring in real life allows you to keep certain sets of keys " +"together, a keyring in Passwords and Keys allows you to keep " +"passwords and keys in separate groups." +msgstr "" +"Подібно до звичайної в'язки ключів ви можете зберігати певні набори ключів " +"разом — в'язка ключів у програмі Паролі й ключі надає вам змогу " +"тримати паролі й ключі в окремих групах." + +#. (itstool) path: page/p +#: C/keyring.page:39 +msgid "" +"When you open Passwords and Keys for the first time, you will see " +"keys and password grouped together. In the Login keyring, you may " +"find stored passwords for GNOME applications such as Web, " +"Online Accounts etc. The Login keyring is the default " +"keyring in Passwords and keys." +msgstr "" +"Після першого запуску програми Паролі й ключі ви побачите ключі і " +"паролі зібрані разом. У в'язці ключів Вхід ви знайдете збережені " +"паролі для програм GNOME, зокрема Тенет, Облікових записів в " +"інтернеті тощо. В'язка ключів Вхід є типовою в'язкою ключів " +"у програмі Паролі й ключі." + +#. (itstool) path: p/link +#: C/legal.xml:4 +msgid "Creative Commons Attribution-ShareAlike 3.0 Unported License" +msgstr "Creative Commons Attribution-ShareAlike 3.0 Unported License" + +#. (itstool) path: license/p +#: C/legal.xml:3 +msgid "This work is licensed under a <_:link-1/>." +msgstr "Ця робота розповсюджується за умов дотримання <_:link-1/>." + +#. (itstool) path: info/desc +#: C/misc-key-backup.page:26 +msgid "Keep a copy of your keys in an external device." +msgstr "Зберігання копії ваших ключів на зовнішньому пристрої." + +#. (itstool) path: page/title +#: C/misc-key-backup.page:29 +msgid "Securely back-up your keys" +msgstr "Безпечне резервне копіювання ваших ключів" + +#. (itstool) path: page/p +#: C/misc-key-backup.page:31 +msgid "" +"It is always advisable to save a copy of your keys on an external memory " +"device like a USB drive. The device should then be kept locked or stored " +"somewhere safe. This way you will always have a copy of the key if your " +"computer breaks or if the data on your computer is corrupted in some way." +msgstr "" +"Завжди варто зберігати копію ваших ключів на пристрої зовнішньої пам'яті, " +"зокрема флешці. Відповідний пристрій слід зберігати у захищеному безпечному " +"місці. Таким чином, у вас завжди буде копія ключа у випадку втрати " +"комп'ютера або пошкодження даних на основному носії даних." + +#. (itstool) path: steps/title +#: C/misc-key-backup.page:37 +msgid "To back-up your keys:" +msgstr "Для створення резервної копії ваших ключів, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:39 +msgid "Export your key files:" +msgstr "Експортуйте ваші файли ключів:" + +#. (itstool) path: item/p +#: C/misc-key-backup.page:41 +msgid "Export your PGP keys." +msgstr "Експортування ваших ключів PGP." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:42 +msgid "Export your SSH keys." +msgstr "Експортування ваших ключів SSH." + +#. (itstool) path: item/p +#: C/misc-key-backup.page:46 +msgid "Copy the exported files on an external disk." +msgstr "Скопіюйте експортовані файли на зовнішній диск." + +#. (itstool) path: info/desc +#: C/misc-key-fingerprint.page:19 +msgid "" +"The key fingerprint is a unique ID for each key, often used to verify the " +"ownership of a key" +msgstr "" +"Відбиток ключа — унікальний ідентифікатор для кожного ключа, яким часто " +"користуються для перевірки ідентичності власника ключа" + +#. (itstool) path: page/title +#: C/misc-key-fingerprint.page:23 +msgid "What is a key fingerprint?" +msgstr "Що таке відбиток ключа?" + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:25 +msgid "" +"The fingerprint of a key is a unique sequence of letters and numbers used to " +"identify the key. Just like the fingerprints of two different people, the " +"fingerprints of two different keys can never be identical. The fingerprint " +"is the best way to identify a particular key." +msgstr "" +"Відбитком ключа є унікальна послідовність літер і цифр, яка використовується " +"для ідентифікації ключа. Подібно до відбитків пальців людей, відбитки двох " +"різних ключів ніколи не бувають однаковими. Відбиток є найкращим способом " +"ідентифікації певного ключа." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:30 +msgid "" +"A key has several properties like the name and email of the key owner, key " +"type, key expiration date and so on. When you are searching for a public key " +"and you find multiple keys with the same properties, the only way to " +"identify the key you are looking for is to compare the fingerprints of the " +"two keys with the fingerprint of the key you require." +msgstr "" +"У ключа є декілька властивостей, зокрема ім'я та адреса електронної пошти " +"власника ключа, тип ключ, строк дії ключа тощо. Якщо під час пошуку " +"відкритого ключа ви знайдете декілька ключів із однаковими властивостями, " +"єдиним способом ідентифікації потрібного вам ключа є порівняння відбитків " +"двох ключів із відбитком потрібного вам ключа." + +#. (itstool) path: page/p +#: C/misc-key-fingerprint.page:36 +msgid "" +"It is the fingerprint of a key that is verified when you try to login to a " +"remote computer using SSH. While " +"signing a PGP key, you must always " +"check the key fingerprint and verify the key owner's identity to ensure that " +"you are signing the correct key." +msgstr "" +"Це той самий відбиток ключа, який перевіряє програма коли ви входите до " +"системи віддаленого комп'ютера за допомогою SSH. Під час підписування ключа PGP вам слід завжди перевіряти відбиток ключа та ідентичність власника " +"ключа, щоб переконатися, що ви підписуєте належний ключ." + +#. (itstool) path: section/title +#: C/misc-key-fingerprint.page:43 +msgid "Fingerprints on Passwords and Keys" +msgstr "Відбитки у Паролях й ключах" + +#. (itstool) path: section/p +#: C/misc-key-fingerprint.page:45 +msgid "" +"You can look at the fingerprint of a key on Passwords and Keys by " +"checking the properties of the key." +msgstr "" +"Переглянути відбиток ключа у програмі Паролі й ключі можна за " +"допомогою вікна властивостей ключа." + +#. (itstool) path: steps/title +#: C/misc-key-fingerprint.page:49 +msgid "To check the fingerprint of a key:" +msgstr "Щоб перевірити відбиток ключа, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:51 C/pgp-photoid.page:44 C/pgp-publish.page:37 +#: C/subkeys-add.page:31 +msgid "Select GnuPG keys from the left side panel." +msgstr "Виберіть пункт Ключі GnuPG на лівій бічній панелі." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:54 C/pgp-expiration-change.page:31 +msgid "Select the PGP key from the list." +msgstr "Виберіть ключ PGP зі списку." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:57 +msgid "" +"Right click the key and select Properties." +msgstr "" +"Клацніть на пункті ключа правою кнопкою миші і виберіть у контекстному меню " +"пункт Властивості." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:61 C/pgp-expiration-change.page:37 +msgid "In the new dialog, select the Details tab." +msgstr "" +"У відкритому діалоговому вікні перейдіть на вкладку Подробиці." + +#. (itstool) path: item/p +#: C/misc-key-fingerprint.page:64 +msgid "You can see the fingerprint of the key on the left hand side." +msgstr "Відбиток ключа буде показано ліворуч." + +#. (itstool) path: info/desc +#: C/passwords-stored-create.page:19 +msgid "Passwords and keys can remember your passwords for you." +msgstr "Паролі й ключі можуть запам'ятовувати ваші паролі." + +#. (itstool) path: page/title +#: C/passwords-stored-create.page:23 +msgid "Store your passwords" +msgstr "Збереження ваших паролів" + +#. (itstool) path: page/p +#: C/passwords-stored-create.page:25 +msgid "" +"Passwords and Keys automatically stores passwords for certain " +"GNOME applications in the Login keyring. Additionally, you can " +"store any other password you want to remember." +msgstr "" +"Паролі й ключі автоматично зберігають паролі для деяких програм " +"GNOME у в'язці ключів Вхід. Крім того, ви можете зберігати будь-" +"які інші паролі, які слід запам'ятати." + +#. (itstool) path: steps/title +#: C/passwords-stored-create.page:30 +msgid "To create a new stored password:" +msgstr "Щоб створити запис збереженого пароля, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:35 +msgid "Select Password from the list." +msgstr "Виберіть у списку пункт Пароль." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:38 +msgid "" +"Select the password keyring in which you want to store your password from " +"the Keyring menu." +msgstr "" +"Виберіть в'язку паролів, у якій ви хочете зберегти ваш пароль у меню " +"В'язка паролів." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:42 +msgid "" +"You can add additional information about the password in the " +"Description field, like the date of creation, or the name of the " +"application it protects, etc." +msgstr "" +"Ви можете додати додаткові відомості щодо пароля до поля Опис, " +"зокрема вказати дату стоврення або назву програми, для якої призначено " +"пароль." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:47 +msgid "" +"Type the password in the Password field. You can tick the Show password checkbox if you want to see the " +"password text while typing it out." +msgstr "" +"Введіть пароль до поля Пароль. Ви можете позначити пункт Показати пароль, якщо хочете бачити текст пароля " +"під час набирання." + +#. (itstool) path: item/p +#: C/passwords-stored-create.page:52 +msgid "Press the Add button to finish." +msgstr "" +"Натисніть кнопку Додати, щоб завершити додавання." + +#. (itstool) path: note/p +#: C/passwords-stored-create.page:57 +msgid "" +"The default keyring is displayed as the first choice in the Keyring drop down menu. You can change " +"the default keyring." +msgstr "" +"Типову в'язку ключів буде показано як перший пункт у спадному меню " +"В'язка ключів. Ви можете змінити типову в'язку ключів." + +#. (itstool) path: info/desc +#: C/passwords-view.page:33 +msgid "Check a stored password which you have forgotten." +msgstr "Отримання збереженого пароля, який ви забули." + +#. (itstool) path: page/title +#: C/passwords-view.page:36 +msgid "View stored passwords" +msgstr "Перегляд збережених паролів" + +#. (itstool) path: page/p +#: C/passwords-view.page:38 +msgid "" +"If you ever forget a password stored in Passwords and Keys, you can view the contents of the " +"stored password in Passwords and Keys to refresh your memory." +msgstr "" +"Якщо ви забудете пароль, який збережено у програмі Паролі й ключі, ви можете " +"переглянути дані збереженого пароля у Паролі й ключі, щоб згадати " +"пароль." + +#. (itstool) path: steps/title +#: C/passwords-view.page:44 +msgid "To view a password:" +msgstr "Щоб переглянути пароль, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/passwords-view.page:46 +msgid "" +"In the side bar on the left, select the keyring which contains the password." +msgstr "На бічній панелі ліворуч виберіть в'язку ключів, яка містить пароль." + +#. (itstool) path: item/p +#: C/passwords-view.page:50 +msgid "" +"Unlock the password keyring that " +"contains your password. A list of passwords stored in the keyring will be " +"displayed." +msgstr "" +"Розблокуйте в'язку паролів, яка містить " +"ваш пароль. Буде показано список паролів, які збережено у в'язці ключів." + +#. (itstool) path: note/p +#: C/passwords-view.page:53 +msgid "Your Login keyring is already unlocked by default." +msgstr "Типово, вашу в'язку Вхід вже розблоковано." + +#. (itstool) path: item/p +#: C/passwords-view.page:56 +msgid "" +"Right click on the password you want to check, and select Properties." +msgstr "" +"Клацніть правою кнопкою миші на паролі, який ви хочете згадати, і виберіть " +"пункт Властивості." + +#. (itstool) path: item/p +#: C/passwords-view.page:60 +msgid "Select the <_:media-1/> icon to view the password." +msgstr "Натисніть піктограму <_:media-1/>, щоб переглянути пароль." + +#. (itstool) path: note/p +#: C/passwords-view.page:67 +msgid "" +"Since the contents of any unlocked keyrings are available to programs you " +"may be running, and Passwords and Keys does not seek to give a " +"false sense of security, the contents of unlocked keyrings are able to be " +"viewed without entering the password." +msgstr "" +"Оскільки дані будь-якої розблокованої в'язки доступні програмам, які ви " +"можете запустити, а розробники Паролів й ключів не хочуть " +"надавати вам оманливого відчуття безпеки, вміст розблокованих в'язок ключів " +"можна переглядати без введення пароля." + +#. (itstool) path: note/p +#: C/passwords-view.page:71 +msgid "" +"This means that if you are logged-in, the contents of the Login " +"keyring will available without entering a password from Passwords and " +"Keys." +msgstr "" +"Це означає, що якщо ви увійшли до свого облікового запису, вміст в'язки " +"ключів Вхід буде доступним без введення пароля у Паролях й " +"ключах." + +#. (itstool) path: note/p +#: C/passwords-view.page:74 +msgid "" +"If you need to lend your computer to another person, it is recommended that " +"you create a user account for them, or allow them to use a guest account." +msgstr "" +"Якщо ви спільно користуєтеся комп'ютером з кимось іншим, рекомендуємо вам " +"створити окремі облікові записи для інших користувачів або дозволити їм " +"користуватися гостьовим обліковим записом." + +#. (itstool) path: info/desc +#: C/pgp-create.page:33 +msgid "Create and use GnuPG keys for encrypting and signing emails." +msgstr "" +"Створення ключів GnuPG та користування ними для шифрування та підписування " +"поштових повідомлень." + +#. (itstool) path: page/title +#: C/pgp-create.page:36 +msgid "Create PGP keys" +msgstr "Створення ключів PGP" + +#. (itstool) path: page/p +#: C/pgp-create.page:38 +msgid "To make a new PGP key:" +msgstr "Щоб створити ключ PGP, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/pgp-create.page:45 +msgid "Select GPG Key from the list." +msgstr "Виберіть пункт Ключ GPG зі списку." + +#. (itstool) path: item/p +#: C/pgp-create.page:48 +msgid "Enter your full name in the Full Name field." +msgstr "Вкажіть ваше ім'я повністю у полі Ім'я повністю." + +#. (itstool) path: item/p +#: C/pgp-create.page:51 +msgid "Optionally, add your email address and a comment to describe the key." +msgstr "" +"Якщо хочете, додайте вашу адресу електронної пошти та коментар із описом " +"ключа." + +#. (itstool) path: item/p +#: C/pgp-create.page:55 +msgid "Press Create." +msgstr "Натисніть кнопку Створити." + +#. (itstool) path: item/p +#: C/pgp-create.page:58 +msgid "" +"In the password dialog, enter a password for the key. Retype the password to " +"confirm your choice." +msgstr "" +"У діалоговому вікні паролів введіть пароль до ключа. Повторіть введення " +"пароля, щоб підтвердити ваш вибір." + +#. (itstool) path: item/p +#: C/pgp-create.page:62 +msgid "Press OK to finish." +msgstr "Натисніть кнопку Гаразд, щоб завершити." + +#. (itstool) path: page/p +#: C/pgp-create.page:66 +msgid "" +"Passwords and Keys will take some time to generate your key. " +"While your key is being created, move your mouse around, press some keys on " +"your keyboard, or browse the web. This will help Passwords and Keys to create a truly random key. The key will be listed under GnuPG " +"keys." +msgstr "" +"Паролям й ключам знадобиться певний час для створення вашого " +"ключа. Доки програма створюватиме ключ, рухайте вказівник миші, натискайте " +"клавіші або переглядайте якісь сторінки в інтернеті. Це допоможе " +"Паролям й ключам створити стійкіший до зламу ключ. Створений ключ " +"буде показано у списку Ключі GnuPG." + +#. (itstool) path: note/p +#: C/pgp-create.page:73 +msgid "" +"The Full Name, Email Address and Comment " +"details of a GnuPG key are called the user ID of the key." +msgstr "" +"Записи Ім'я повністю, Адреса ел. пошти та " +"Коментар ключа GnuPG називаються ідентифікатором користувача ключа." + +#. (itstool) path: section/title +#: C/pgp-create.page:79 +msgid "Advanced PGP key options" +msgstr "Додаткові параметри ключа PGP" + +#. (itstool) path: section/p +#: C/pgp-create.page:81 +#| msgid "" +#| "Under Advanced key options you can choose custom values for " +#| "encryption type, key strength and key expiration date." +msgid "" +"Under Advanced key options, you can choose custom values for " +"encryption type, key strength and key expiration date." +msgstr "" +"За допомогою панелі Додаткові параметри ключа ви можете вибрати " +"нетипові значення для типу шифрування, міцності ключа та строку дії ключа." + +#. (itstool) path: item/title +#: C/pgp-create.page:86 +msgid "Encryption type" +msgstr "Тип шифрування" + +#. (itstool) path: item/p +#: C/pgp-create.page:87 +msgid "" +"Depending on your needs, create keys that can be used for signing only or " +"for both encryption and signing. The RSA and DSA-Elgamal algorithms generate " +"equally secure keys." +msgstr "" +"Залежно від ваших потреб, створюйте ключі, які можна буде використати лише " +"для підписування або для шифрування і підписування. Алгоритми RSA та DSA-" +"Elgamal дають ключі із однаковим степенем захисту." + +#. (itstool) path: item/title +#: C/pgp-create.page:92 +msgid "Key Strength" +msgstr "Міцність ключа" + +#. (itstool) path: item/p +#: C/pgp-create.page:93 +msgid "" +"The key strength is measured in terms of the size of the key in bits. It is " +"difficult and more time consuming to break a strong key, but strong keys " +"will slow down the encryption and signing process. You should choose your " +"key strength in Passwords and Keys depending on how long you want " +"to use the key. A small key is sufficient for short term use while a large " +"key is more suitable for long term use." +msgstr "" +"Міцність ключа співмірна до розміру ключа у бітах. Міцні ключі складніше і " +"довше зламувати, але використання дуже міцних ключів уповільнює процес " +"шифрування і підписування. Вам слід вибирати міцність ключа у Паролях й " +"ключах залежно від того, наскільки довго ви маєте намір користуватися " +"ключем. Ключа з малою міцністю достатньо для короткотермінового " +"використання, а ключі із високою міцністю можна використовувати довго." + +#. (itstool) path: item/title +#: C/pgp-create.page:101 +msgid "Expiration Date" +msgstr "Закінчується дія" + +#. (itstool) path: item/p +#: C/pgp-create.page:102 +#| msgid "" +#| "When a key expires, certain actions no longer " +#| "work. In Passwords and Keys, you can either set your " +#| "key to Never Expire, or select an " +#| "expiration date for it." +msgid "" +"When a key expires, certain actions no longer " +"work. In Passwords and Keys, you can either set your key " +"to Never Expire or select an expiration date " +"for it." +msgstr "" +"Коли вичерпується строк дії ключа, з ним стає " +"неможливим виконати певні дії. У Паролях й ключах ви " +"можете вказати, що у вашого ключа Ніколи не " +"закінчується термін дії або вибрати дату завершення строку дії." + +#. (itstool) path: item/p +#: C/pgp-create.page:106 +msgid "" +"It is recommended that you set an expiration date in case you lose access to " +"the key. Even if your key expires, you can change the expiration to a later date." +msgstr "" +"Рекомендуємо встановити строк дії ключа для випадку втрати доступу до ключа. " +"Якщо строк дії ключа буде вичерпано, і ви захочете продовжити ним " +"користуватися, ви можете продовжити " +"строк дії ключа." + +#. (itstool) path: info/desc +#: C/pgp-delete.page:26 +msgid "" +"Delete local copies of your keys or the keys of people you communicate with." +msgstr "" +"Вилучення локальних копій ваших ключів або ключів тих, із ким ви обмінюєтеся " +"даними." + +#. (itstool) path: page/title +#: C/pgp-delete.page:30 +msgid "Delete an existing key" +msgstr "Вилучення наявного ключа" + +#. (itstool) path: page/p +#: C/pgp-delete.page:32 +msgid "" +"If you are no longer communicating with someone, you can delete the copy of " +"their GnuPG key on your computer using Passwords and Keys. You " +"can also permanently delete a key you own as long it has never been " +"published on a key server. Deleting a GnuPG key deletes both the public key " +"and the secret key." +msgstr "" +"Якщо ви більше не маєте наміру обмінюватися даними з кимось, ви можете " +"вилучити копію його ключа GnuPG з вашого комп'ютера за допомогою " +"Паролів й ключів. Ви також можете остаточно вилучити ваш власний " +"ключ, якщо його ніколи не було оприлюднено за допомогою сервера ключів. " +"Вилучення ключа GnuPG призводить до вилучення відкритого і закритого ключів." + +#. (itstool) path: steps/title +#: C/pgp-delete.page:39 +msgid "To delete a key:" +msgstr "Щоб вилучити ключ, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/pgp-delete.page:41 +msgid "Select the key." +msgstr "Виберіть ключ." + +#. (itstool) path: item/p +#: C/pgp-delete.page:45 +msgid "Right click, and choose Delete." +msgstr "" +"Клацніть правою кнопкою на його пункті і виберіть у контекстному меню пункт " +"Вилучити." + +#. (itstool) path: note/p +#: C/pgp-delete.page:47 +msgid "" +"When you delete a GnuPG key that has been published on a key server, you " +"only delete the key in your GnuPG keyring because a copy of the public key " +"will still be present on some key server." +msgstr "" +"Якщо ви вилучите ключ GnuPG, який було оприлюднено на сервері ключів, ви " +"можете лише вилучити ключ з вашої в'язки ключів GnuPG, оскільки копія " +"відкритого ключа лишиться на зберіганні на якомусь із серверів ключів." + +#. (itstool) path: note/p +#: C/pgp-delete.page:50 +msgid "" +"If you delete your GnuPG key, this means that your private key will be " +"permanently deleted, even though your public key can still be retrieved from a key server and used to " +"encrypt messages to you that you won't be able to read! To prevent such a " +"key from being used, retrieve and revoke the key. The revoked key can then " +"be synced with a key server to prevent people " +"from retrieving and using it." +msgstr "" +"Якщо ви вилучите власний ключ GnuPG, це означатиме, що ваш закритий ключ " +"буде назавжди вилучено. Хоча ваш відкритий ключ усе ще можна буде отримати з сервера ключів і використати для " +"шифрування повідомлень для вас, ви не зможете прочитати отримані " +"повідомлення! Щоб запобігти використанню непридатного ключа, ключ слід " +"отримати і відкликати. Відкликаний ключ згодом може бути синхронізовано з сервером ключів для запобігання його " +"отриманню і використанню." + +#. (itstool) path: item/p +#: C/pgp-delete.page:64 +msgid "" +"In the new dialog, confirm the deletion by ticking the I understand that this secret key will be permanently deleted " +"checkbox, and press the Delete button to finish." +msgstr "" +"У новому діалоговому вікні підтвердьте вилучення позначенням пункту Я розумію, що ця таємний ключ остаточно буде вилучено. Потім натисніть кнопку Вилучити, щоб " +"завершити вилучення." + +#. (itstool) path: info/desc +#: C/pgp-expiration-change.page:19 +msgid "Advance or postpone the expiration date of your keys." +msgstr "" +"Зменшення терміну дії або відкладення моменту вичерпання строку дії ваших " +"ключів." + +#. (itstool) path: page/title +#: C/pgp-expiration-change.page:22 +msgid "Change the expiration date of your keys" +msgstr "Зміна строку дії ваших ключів" + +#. (itstool) path: page/p +#: C/pgp-expiration-change.page:24 +msgid "" +"If your PGP key has expired but you wish to continue its use, you can change " +"its expiry date. You can also change the expiration settings to have a key " +"expire on an earlier date." +msgstr "" +"Якщо строк дії вашого ключа PGP вичерпано, але ви хочете продовжувати ним " +"користуватися, ви можете змінити дату завершення його строку дії. Ви також " +"можете змінити параметри строку дій так, щоб строк дії ключа було вичерпано " +"раніше." + +#. (itstool) path: steps/title +#: C/pgp-expiration-change.page:29 +msgid "To change the expiration date of a PGP key:" +msgstr "Щоб змінити строк дії ключа PGP, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:34 +msgid "Right click on the selected key and select Properties." +msgstr "" +"Клацніть на пункті ключа правою кнопкою миші і виберіть у контекстному меню " +"пункт Властивості." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:42 +msgid "" +"To change the expiration date of the master key, press the small button with " +"the picture of a calendar next to Expires, on the right side of " +"the dialog. You can then select the new expiration date from the calendar." +msgstr "" +"Щоб змінити строк дії основного ключа, натисніть маленьку кнопку із " +"зображенням календаря, яку розташовано поруч із написом Закінчується " +"дія у правій частині діалогового вікна. Далі, ви можете вибрати нову " +"дату строку завершення дії з календаря." + +#. (itstool) path: item/p +#: C/pgp-expiration-change.page:48 +msgid "" +"To change the expiration date of a subkey, " +"expand the Subkeys panel and select the subkey from the list. " +"Press the Expire button on the left of the panel " +"and select the new expiration date." +msgstr "" +"Щоб змінити строк дії підключа, розгорніть " +"панель Підключі і виберіть підключ зі списку. Натисніть кнопку " +"Закінчується дія на лівій панелі і виберіть нову " +"дату строку завершення дії." + +#. (itstool) path: note/p +#: C/pgp-expiration-change.page:59 +msgid "" +"If you are changing the expiration date of a key that has been published, " +"you must synchronize the key with the key " +"server after making the desired changes." +msgstr "" +"Якщо ви змінюєте строк дії ключа, який було оприлюднено, вам слід синхронізувати ключ із сервером ключів після внесення " +"бажаних змін." + +#. (itstool) path: info/desc +#: C/pgp-expired.page:20 +msgid "Can I still use it? Can expiration dates be changed?" +msgstr "" +"Чи можна продовжити користування ключем? Чи можна змінити строк дії ключа?" + +#. (itstool) path: page/title +#: C/pgp-expired.page:23 +msgid "What happens if my key expires?" +msgstr "Що трапиться, якщо строк дії вашого ключа буде вичерпано?" + +#. (itstool) path: page/p +#: C/pgp-expired.page:25 +msgid "When your key expires, it becomes invalid. This means:" +msgstr "" +"Якщо строк дії ключа вичерпано, ключ стає некоректним. Це означає ось що:" + +#. (itstool) path: item/p +#: C/pgp-expired.page:29 +msgid "It can no longer be used to encrypt and decrypt messages." +msgstr "" +"Ключем більше не можна користуватися для шифрування та розшифровування " +"повідомлень." + +#. (itstool) path: item/p +#: C/pgp-expired.page:32 +msgid "It cannot sign other keys or receive signatures from other keys." +msgstr "" +"Ключем не можна підписувати інші ключі або отримувати підписи з інших ключів." + +#. (itstool) path: page/p +#: C/pgp-expired.page:37 +msgid "" +"Depending on how long you want your key to be valid, you can set an expiration date for it. By default, " +"Passwords and Keys sets all keys to be valid forever. That is, " +"the keys never expire." +msgstr "" +"Залежно від того, наскільки довго ви маєте намір вважати ваш ключ чинним, ви " +"можете встановити для ключа строк " +"завершення дії. Типово, Паролі й ключі встановлюють " +"необмежений строк дії для усіх ключів. Це означає, що ключі вважатимуться " +"дійсними нескінченно довго." + +#. (itstool) path: page/p +#: C/pgp-expired.page:42 +msgid "" +"The expiration date on a key can be changed anytime, even after the key has expired. However, if you " +"want to stop using the expired key, you should delete or revoke it." +msgstr "" +"Строк завершення дії ключа можна будь-коли змінити навіть після завершення строку дії ключа. Втім, якщо ви " +"хочете припинити користування ключем, строк дії якого вичерпано, вам слід " +"вилучити або відкликати його." + +#. (itstool) path: note/p +#: C/pgp-expired.page:49 +msgid "" +"If you have any messages encrypted with an expired key, you must change the " +"expiration date on the key to decrypt such messages before deleting or " +"revoking it." +msgstr "" +"Якщо у вас є якісь повідомлення, які було зашифровано за допомогою ключа, " +"строк дії якого вичерпано, вам слід змінити дату завершення строку дії " +"ключа, щоб розшифрувати такі повідомлення, до того, як ви вилучите і " +"відкличете ключ." + +#. (itstool) path: info/desc +#: C/pgp-export.page:19 +msgid "Export your public and private PGP keys to store them in keyfiles." +msgstr "" +"Експортування вашого відкритого і закритого ключів PGP для зберігання їх у " +"форматі файлів ключів." + +#. (itstool) path: page/title +#: C/pgp-export.page:23 +msgid "Export PGP keys" +msgstr "Експортування ключів PGP" + +#. (itstool) path: page/p +#: C/pgp-export.page:25 +msgid "" +"Export the contents of your PGP keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Ви можете експортувати дані ваших ключів PGP і зберегти їх у файлах ключів, " +"щоб мати резервну копію ваших ключів або поділитися вашим відкритим ключем " +"із кимось." + +#. (itstool) path: section/title +#: C/pgp-export.page:29 +msgid "To export your public PGP key:" +msgstr "Експортування вашого відкритого ключа PGP:" + +#. (itstool) path: item/p +#: C/pgp-export.page:33 C/pgp-export.page:62 C/pgp-userid-add.page:36 +#: C/pgp-userid-primary.page:32 C/pgp-userid-remove.page:31 +msgid "Select the GnuPG keys keyring from the left side panel." +msgstr "Виберіть в'язку ключів Ключі GnuPG на лівій бічній панелі." + +#. (itstool) path: item/p +#: C/pgp-export.page:37 C/pgp-export.page:66 +msgid "" +"Select the Personal PGP key that has to be exported, from the " +"list." +msgstr "" +"Виберіть у списку Особистий ключ PGP, який слід експортувати." + +#. (itstool) path: item/p +#: C/pgp-export.page:41 C/ssh-export.page:42 +msgid "" +"Right-click on the key and select Export…." +msgstr "" +"Клацніть правою кнопкою миші на пункті ключа і виберіть у контекстному меню " +"пункт Експортувати…." + +#. (itstool) path: item/p +#: C/pgp-export.page:44 +msgid "" +"To store the keys in the ASCII format, select Armored PGP keys " +"from the menu at the bottom of the export window" +msgstr "" +"Щоб зберегти ключі у форматі ASCII, виберіть Захищені ключі через PGP з меню у нижній частині вікна експортування" + +#. (itstool) path: item/p +#: C/pgp-export.page:49 C/pgp-export.page:77 +msgid "" +"Choose a location for your keyfile, and press Export to finish." +msgstr "" +"Виберіть місце для вашого файла ключа і натисніть кнопку Експортувати, щоб завершити процес експортування." + +#. (itstool) path: section/title +#: C/pgp-export.page:58 +msgid "To export your private PGP key:" +msgstr "Експортування вашого закритого ключа PGP:" + +#. (itstool) path: item/p +#: C/pgp-export.page:70 C/subkeys-add.page:37 +msgid "" +"Right click on the selected key and select PropertiesDetails." +msgstr "" +"Клацніть правою кнопкою миші на позначеному пункті ключа і виберіть у " +"контекстному меню пункт ВластивостіПодробиці." + +#. (itstool) path: item/p +#: C/pgp-export.page:74 +msgid "Press the Export button." +msgstr "Натисніть кнопку Експортувати." + +#. (itstool) path: info/desc +#: C/pgp-import.page:26 +msgid "Import keys from keyfiles into Passwords and Keys." +msgstr "Імпортування ключів з файлів ключів до Паролів й ключів." + +#. (itstool) path: page/title +#: C/pgp-import.page:29 +msgid "Import PGP keys" +msgstr "Імпортування ключів PGP" + +#. (itstool) path: page/p +#: C/pgp-import.page:31 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports PGP keys from your computer. You can also manually " +"import a particular key, if it has not been imported already." +msgstr "" +"Якщо ви отримали файл ключа електронною поштою, ви можете імпортувати його " +"до Паролів й ключів. У більшості випадків Паролі й ключі автоматично імпортує ключі PGP з вашого комп'ютера. Ви також можете " +"імпортувати певний ключ вручну, якщо його ще не було імпортовано." + +#. (itstool) path: steps/title +#: C/pgp-import.page:37 C/ssh-import.page:37 +msgid "How do I manually import a key?" +msgstr "Як імпортувати ключ вручну?" + +#. (itstool) path: item/p +#: C/pgp-import.page:42 C/ssh-import.page:42 +msgid "Select Import from file… from the list." +msgstr "" +"Виберіть у списку пункт Імпортувати з файла…." + +#. (itstool) path: item/p +#: C/pgp-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. PGP keys end with " +"pgp or asc, GPG keys end with gpg." +msgstr "" +"У діалоговому вікні, яке буде відкрито, виберіть ключ, який ви хочете " +"імпортувати. Файли ключів PGP мають назви із суфіксами pgp та " +"asc, файли ключів GPG мають суфікс назви gpg." + +#. (itstool) path: item/p +#: C/pgp-import.page:50 C/ssh-import.page:49 +msgid "Click Open." +msgstr "Натисніть кнопку Відкрити»." + +#. (itstool) path: page/p +#: C/pgp-import.page:54 +msgid "" +"Once imported, the PGP and GPG keys are listed under GnuPG keys." +msgstr "" +"Після імпортування ключі PGP і GPG буде включено до списку Ключі " +"GnuPG." + +#. (itstool) path: info/desc +#: C/pgp-photoid.page:20 +msgid "" +"Include a photo ID with your existing keys so that people can identify them " +"easily." +msgstr "" +"Включення фотоідентифікатора до наявних ключів для спрощення ідентифікації " +"ключів іншими особами." + +#. (itstool) path: page/title +#: C/pgp-photoid.page:24 +msgid "Attach a photo to your key" +msgstr "Долучення фотографії до вашого ключа" + +#. (itstool) path: page/p +#: C/pgp-photoid.page:26 +msgid "" +"You can attach a photo ID to your PGP keys so that everyone can verify the " +"ownership of your keys after looking at your photo. Though a key with an " +"attached photo will provide a slightly better level of security than a key " +"with no photo, checking the photo on a key is not as safe as checking the " +"fingerprint of the key because " +"anyone having your photos can create a key with your photo ID while the key " +"fingerprint cannot be mimicked." +msgstr "" +"Ви можете долучити фотоідентифікатор до ваших ключів PGP, щоб кожен між " +"перевірити їхню ідентичність за допомогою вашої фотографії. Хоча ключ із " +"фотографією захищено трошки краще, ніж ключ без фотографії, ідентифікація " +"ключа за фотографією не є такою ж безпечною, які перевірка відбитка ключа, оскільки будь-хто, у кого є ваші " +"фотографії, може створити ключ із вашим фотоідентифікатором, а відбиток " +"ключа не можна підробити." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:35 +msgid "" +"Unlike the restrictions in GPG, the photo ID you want to upload " +"need not be in the JPEG format. Passwords and Keys " +"lets you upload your photo in png, jpg and several " +"other common image formats." +msgstr "" +"На відміну від обмежено у GPG, фотоідентифікатор, який ви хочете " +"вивантажити, не обов'язково має зберігатися у форматі JPEG. " +"Паролі й ключі надають вам змогу вивантажувати ваші фотографії у " +"форматах png, jpg і декількох інших поширених " +"форматах зображень." + +#. (itstool) path: steps/title +#: C/pgp-photoid.page:42 +msgid "To attach a photo ID to a PGP key:" +msgstr "Щоб долучити фотоідентифікатор до ключа PGP, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/pgp-photoid.page:47 +msgid "Select the PGP key." +msgstr "Виберіть ключ PGP." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:50 +msgid "" +"Right click on the chosen key and select Properties Owner." +msgstr "" +"Клацніть правою кнопкою миші на пункті ключа і виберіть у контекстному меню " +"пункт Властивості Власник." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:55 +msgid "" +"Press the + button on the left hand side to add " +"a photo." +msgstr "" +"Натисніть кнопку зі значком + у лівій частині " +"вікна, щоб додати фотографію." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:59 +msgid "Select the photo from your computer." +msgstr "Виберіть фотографію з вашого комп'ютера." + +#. (itstool) path: item/p +#: C/pgp-photoid.page:62 +msgid "Click Close to finish." +msgstr "На завершення натисніть кнопку Закрити." + +#. (itstool) path: note/p +#: C/pgp-photoid.page:67 +msgid "" +"The photos you select should be small in size, preferably about 120 by 150 " +"pixels. Since a photo ID is always attached to its key, a large photo will " +"increase the key size and slow down all operations that use the key. " +"Passwords and Keys resizes large photos to the optimal size after " +"asking for your confirmation." +msgstr "" +"Вибрана вами фотографія має бути невеликою за розміром, бажано близько 120 " +"на 150 пікселів. Оскільки фотоідентифікатор завжди долучено до його ключа, " +"великі фотографії збільшують розміри ключа і уповільнюють усі дії, у яких " +"використовується цей ключ. Паролі й ключі змінюють розміри " +"великих фотографій до оптимальних після підтвердження вами цієї дії." + +#. (itstool) path: credit/name +#: C/pgp-publish.page:16 C/pgp-retrieve-remote.page:16 +msgid "Aruna" +msgstr "Aruna" + +#. (itstool) path: info/desc +#: C/pgp-publish.page:21 +msgid "" +"Publish your public keys on key servers, or export and mail them to your friends." +msgstr "" +"Оприлюднення ваших відкритих ключів на серверах ключів або експортування і надсилання електронною поштою вашим друзям." + +#. (itstool) path: page/title +#: C/pgp-publish.page:25 +msgid "Share your public keys" +msgstr "Оприлюднення ваших відкритих ключів" + +#. (itstool) path: page/p +#: C/pgp-publish.page:27 +msgid "" +"If you want people to send you encrypted communication, you must share your " +"GnuPG key with them. To share your key with a selected few " +"people, export it and mail the resulting " +"keyfile to them. To allow anyone to retrieve and use your public key, publish it on a key server." +msgstr "" +"Якщо ви хочете, щоб вам надсилали зашифровані дані, вам слід поділитися " +"вашим ключем GnuPG із тими, хто надсилатиме дані. Якщо ви хочете " +"поділитися ключем лише із декількома вибраними особами, експортуйте ключ і надішліть файл ключа електронною поштою " +"вашим кореспондентам. Щоб надати доступ будь-кому до отримання та використання вашого відкритого ключа, " +"оприлюдніть його на сервері ключів." + +#. (itstool) path: steps/title +#: C/pgp-publish.page:35 +msgid "How do I publish my key on a key server?" +msgstr "Як оприлюднити ключ на сервері ключів?" + +#. (itstool) path: item/p +#: C/pgp-publish.page:40 +msgid "" +"From the list, select the Personal PGP key you want to publish." +msgstr "" +"У списку виберіть Особистий ключ PGP, який ви хочете оприлюднити." + +#. (itstool) path: item/p +#: C/pgp-publish.page:47 C/pgp-sync.page:44 +msgid "Select Sync and publish keys…." +msgstr "" +"Виберіть пункт Синхронізувати та опублікувати ключі…" +"." + +#. (itstool) path: item/p +#: C/pgp-publish.page:50 +msgid "" +"Press the Key Servers button to see the list of " +"key servers on which you can publish your public key." +msgstr "" +"Натисніть кнопку Сервери ключів, щоб переглянути " +"список серверів ключів, на яких ви можете оприлюднити ваш відкритий ключ." + +#. (itstool) path: item/p +#: C/pgp-publish.page:54 +msgid "" +"To publish your key on a key server, select the key server from the " +"Publish keys to menu." +msgstr "" +"Щоб оприлюднити ключ на сервері ключів, виберіть сервер ключів у меню " +"Публікувати ключі у." + +#. (itstool) path: item/p +#: C/pgp-publish.page:58 +msgid "" +"Close the Preferences window to go back to the previous dialog." +msgstr "" +"Закрийте вікно Параметри, щоб повернутися до попереднього вікна." + +#. (itstool) path: item/p +#: C/pgp-publish.page:62 +msgid "Press Sync to finish." +msgstr "" +"Натисніть кнопку Синхронізувати, щоб завершити " +"процедуру синхронізації." + +#. (itstool) path: note/p +#: C/pgp-publish.page:77 +msgid "You need to be connected to the Internet while publishing your keys." +msgstr "" +"Для оприлюднення ваших ключів вам знадобиться працездатне з'єднання із " +"інтернетом." + +#. (itstool) path: note/title +#: C/pgp-publish.page:81 +msgid "What is a keyserver?" +msgstr "Що таке сервер ключів?" + +#. (itstool) path: note/p +#: C/pgp-publish.page:82 +msgid "" +"Key servers are computers that store copies of public encryption keys " +"submitted to them, and share these copies with other key servers through the " +"Internet." +msgstr "" +"Сервери ключів — комп'ютери, на яких зберігаються надіслані на них копії " +"відкритих ключів. Ці комп'ютери розповсюджують копії ключа на інші " +"комп'ютери за допомогою інтернету." + +#. (itstool) path: info/desc +#: C/pgp-retrieve-remote.page:26 +msgid "" +"If you want to send an urgent encrypted message to someone, but do not have " +"their key, you can retrieve their key from a remote key server." +msgstr "" +"Якщо ви терміново хочете надіслати комусь зашифроване повідомлення, але не " +"маєте ключа вашого кореспондента, ви можете отримати його ключ із " +"віддаленого сервера ключів." + +#. (itstool) path: page/title +#: C/pgp-retrieve-remote.page:31 +msgid "Retrieve remote keys" +msgstr "Отримання віддалених ключів" + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:33 +msgid "" +"You can retrieve someone's public GnuPG key from the Internet and store it " +"in Passwords and Keys." +msgstr "" +"Ви можете отримати чийсь відкритий ключ GnuPG з інтернету і зберегти його у " +"Паролях й ключах." + +#. (itstool) path: steps/title +#: C/pgp-retrieve-remote.page:37 +msgid "To retrieve a remote key:" +msgstr "Щоб отримати віддалений ключ, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:42 +msgid "Select Find remote keys…." +msgstr "Виберіть пункт Знайти ключі у мережі…." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:45 +msgid "" +"Enter information about the key you wish to retrieve in the field provided. " +"Details like key ID or the key owner's email address give more accurate " +"results than the name of the key owner." +msgstr "" +"Введіть дані щодо ключа, який хочете отримати, у поля показаного вікна. " +"Подробиці, зокрема ідентифікатор ключа або адреса електронної пошти " +"власника, надають змогу отримати кращі результати пошуку, ніж просто ім'я " +"власника ключа." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:50 +msgid "Press the Search button." +msgstr "Натисніть кнопку Шукати." + +#. (itstool) path: item/p +#: C/pgp-retrieve-remote.page:53 +msgid "" +"From the list of search results, select the key you want to import, and " +"press the Download button on the right." +msgstr "" +"У списку результатів пошуку виберіть ключ, який слід імпортувати і натисніть " +"кнопку Отримати праворуч." + +#. (itstool) path: page/p +#: C/pgp-retrieve-remote.page:58 +msgid "The imported key will be listed in the GnuPG keys keyring." +msgstr "" +"Імпортований ключ буде показано у в'язці ключів Ключі GnuPG." + +#. (itstool) path: note/p +#: C/pgp-retrieve-remote.page:61 +msgid "" +"If you want more information about a key, before importing it, select it and " +"press Enter or double-click it. This opens a new window that " +"displays information like the key ID, key fingerprint, level of trust, " +"owner's name, etc." +msgstr "" +"Якщо вам потрібно більше інформації щодо ключа, перш ніж ви його імпортуєте, " +"позначте пункт ключа і натисніть Enter або двічі клацніть на " +"ньому. У результаті буде відкрито нове вікно із відомостями щодо " +"ідентифікатора ключа, відбитка ключа, рівня довіри до ключа, власника ключа " +"тощо." + +#. (itstool) path: info/desc +#: C/pgp-sign.page:19 +msgid "If you trust a key, you can sign it." +msgstr "Якщо ви довіряєте ключу, ви можете його підписати." + +#. (itstool) path: page/title +#: C/pgp-sign.page:22 +msgid "Sign keys" +msgstr "Підписування ключів" + +#. (itstool) path: page/p +#: C/pgp-sign.page:24 +msgid "" +"To show that you trust and vouch for the genuineness of someone's key, you " +"can sign it. A person's key must be signed only after you compare the user ID on the key with a valid proof of their " +"identity, such as a passport, driver's license, or similar. If the two IDs " +"match, the key is said to be trustworthy." +msgstr "" +"Щоб продемонструвати вашу довіру та поручительство щодо справжності певного " +"ключа, ви можете підписати його. Ключ певної особи слід підписувати, лише " +"якщо ви порівняли ідентифікатор користувача " +"ключа і певними доказами щодо ідентичності користувача, зокрема паспортом, " +"водійськими правами або подібними документами. Якщо два ідентифікатора особи " +"збігаються, кажуть, що ключ є довіреним." + +#. (itstool) path: steps/title +#: C/pgp-sign.page:31 +msgid "To sign a key:" +msgstr "Щоб підписати ключ, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/pgp-sign.page:33 +msgid "" +"Import the remote key or keyfile containing the key to be signed into " +"Passwords and Keys." +msgstr "" +"Імпортуйте віддалений ключ або " +"файл ключа, що містить дані ключа, який ви " +"хочете підписати, до Паролів й ключів." + +#. (itstool) path: item/p +#: C/pgp-sign.page:38 +msgid "From the list of GnuPG keys select the imported key." +msgstr "Зі списку Ключі GnuPG виберіть імпортований ключ." + +#. (itstool) path: item/p +#: C/pgp-sign.page:41 +msgid "" +"Right click the key and select PropertiesTrust." +msgstr "" +"Клацніть правою кнопкою миші на ключі і виберіть пункт " +"ВластивостіДовіряти." + +#. (itstool) path: item/p +#: C/pgp-sign.page:45 +msgid "Press the Sign this Key button." +msgstr "Натисніть кнопку Підписати ключ." + +#. (itstool) path: item/p +#: C/pgp-sign.page:48 +msgid "" +"Depending on how carefully you have checked the key, choose one out of Not at all, Casually or Very carefully." +msgstr "" +"Залежно від того, наскільки ретельно було перевірено ключ, виберіть один із " +"варіантів: Ніяк, Поверхнево або Дуже обережно." + +#. (itstool) path: item/p +#: C/pgp-sign.page:54 +msgid "" +"Decide if you want to revoke your signature at a later date and if you want " +"to make your signature public, by ticking the checkboxes provided." +msgstr "" +"Вкажіть, чи бажаєте ви мати можливість пізніше відкликати підпис, і чи " +"бажаєте ви оприлюднити ваш підпис, позначивши відповідні пункти." + +#. (itstool) path: item/p +#: C/pgp-sign.page:59 +msgid "" +"When you own more than one PGP key, select the key you want to sign with, " +"from the list next to Signer." +msgstr "" +"Якщо у вас є декілька ключів PGP, виберіть ключ, за допомогою якого ви " +"хочете оформити підпис, зі списку, розташованого поруч із міткою Авто " +"підпису." + +#. (itstool) path: item/p +#: C/pgp-sign.page:63 +msgid "Press the Sign button to finish." +msgstr "" +"Натисніть кнопку Підписати, щоб завершити " +"процедуру." + +#. (itstool) path: note/title +#: C/pgp-sign.page:68 +msgid "Can I sign my own keys?" +msgstr "Чи можна підписувати власні ключі?" + +#. (itstool) path: note/p +#: C/pgp-sign.page:69 +msgid "" +"When you create a new GnuPG key, " +"it is automatically signed by you. Any new subkeys created using a GnuPG key, will also be signed " +"automatically." +msgstr "" +"Коли ви створюєте ключ GnuPG, " +"програма автоматично підписує ваш ключ. Усі нові підключі, які створено за допомогою ключа GnuPG, також " +"буде автоматично підписано." + +#. (itstool) path: info/desc +#: C/pgp-subkeys.page:19 +msgid "" +"A subkey is always bound to a master key in a PGP keypair. It is used for " +"encryption." +msgstr "" +"Підключ завжди пов'язується із основним ключем у пару ключів PGP. Підключ " +"використовують для шифрування." + +#. (itstool) path: page/title +#: C/pgp-subkeys.page:23 +msgid "What is a subkey?" +msgstr "Що таке підключ?" + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:25 +msgid "" +"Though it is very important to keep your keys safe, it can become quite " +"tedious to do so when you have many keys. Passwords and Keys " +"provides a simple solution to key safety by using subkeys for " +"signing and encryption." +msgstr "" +"Хоча безпечне зберігання ваших ключів є дуже важливим, ця справа є дуже " +"марудною, якщо у вас багато ключів. У Паролях й ключах " +"реалізовано просте рішення для захисту ключів — підключі для " +"підписування і шифрування." + +#. (itstool) path: page/p +#: C/pgp-subkeys.page:30 +msgid "" +"Whenever you create a new public encryption " +"key, a keypair is generated instead of a single key. This keypair " +"consists of a main key, also called the master key and a " +"subkey. A master key can be used to create additional subkeys that " +"are then bound to it." +msgstr "" +"Кожного разу, коли ви створюєте відкритий " +"ключ для шифрування, програма створюватиме пару ключів, замість " +"одного ключа. Ця пара ключів складатиметься із основного ключа, який також " +"називають майстер-ключем, та підключа. Основним ключем " +"можна скористатися для створення додаткових підключів, які буде з ним " +"пов'язано." + +#. (itstool) path: list/title +#: C/pgp-subkeys.page:37 +msgid "What does each key in a keypair do?" +msgstr "Які завдання у кожного з ключів у парі ключів?" + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:39 +msgid "" +"The master key is used for signing " +"other keys, creating subkeys and revoking subkeys. Your master key must be kept very safe. Signatures of trust " +"are also collected on your master key. If the master key is compromised, you " +"have no choice but to revoke it and all the subkeys attached to it." +msgstr "" +"Основний ключ використовується для підписування інших ключів, створення підключів і відкликання підключів. Ваш основний ключ слід дуже " +"надійно захистити. Підписи довіри також зберігаються у вашому основному " +"ключі. Якщо основний ключ буде скомпрометовано, вам доведеться відкликати " +"його і усі пов'язані із ним підключі." + +#. (itstool) path: item/p +#: C/pgp-subkeys.page:47 +msgid "" +"The default subkey is used for encryption and decryption of " +"messages. Additional subkeys can be created for signing. Though it is " +"important that your subkeys are kept safe, you can always revoke a subkey if " +"it is compromised and create a new one with the original master key." +msgstr "" +"Типовий підключ використовується для шифрування і розшифрування " +"повідомлень електронної пошти. Можна створити додаткові підключі для " +"підписування. Хоча ваші підключі теж треба тримати у захищеному місці, ви " +"завжди можете відкликати підключ, якщо його було скомпрометовано і створити " +"новий за допомогою початкового основного ключа." + +#. (itstool) path: section/title +#: C/pgp-subkeys.page:56 +msgid "More about subkeys" +msgstr "Докладніше про підключі" + +#. (itstool) path: info/desc +#: C/pgp-sync.page:21 +msgid "" +"Synchronize information present in your local key with the corresponding key " +"on a key server." +msgstr "" +"Синхронізація відомостей у вашому локальному ключі із відповідним ключем на " +"сервері ключів." + +#. (itstool) path: page/title +#: C/pgp-sync.page:25 +msgid "Synchronize your keys" +msgstr "Синхронізація ваших ключів" + +#. (itstool) path: page/p +#: C/pgp-sync.page:27 +msgid "" +"PGP keys in your keyring have to be synchronized with a key server to ensure " +"that any changes made to the key on the key server, like a new signature, " +"are updated in your local copy of the key. Similarly, when you change " +"information on your local key copy, like the expiration date, or when you " +"sign someone's key, you should synchronize the keys to update the changes on " +"the remote copy of the key. You need a working Internet connection to " +"synchronize your keys." +msgstr "" +"Ключі PGP у вашій в'язці ключів слід синхронізувати із сервером ключів, щоб " +"забезпечити зберігання усі змін, зокрема нових підписів, які було внесено до " +"ключа на сервері, у вашій локальній копії ключа. Так само, якщо ви зміните " +"якісь дані ключа у вашій локальній копії, зокрема встановите новий строк дії " +"чи підпишете чийсь ключ, вам слід синхронізувати ключі, для оновлення даних " +"у віддаленій копії ключа. Для синхронізації ключів вам знадобиться " +"працездатне з'єднання з інтернетом." + +#. (itstool) path: steps/title +#: C/pgp-sync.page:36 +msgid "How do I synchronize a key?" +msgstr "Як синхронізувати ключ?" + +#. (itstool) path: item/p +#: C/pgp-sync.page:38 +msgid "Select the PGP key you wish to synchronize." +msgstr "Позначте ключ PGP, дані якого слід синхронізувати." + +#. (itstool) path: item/p +#: C/pgp-sync.page:47 +msgid "" +"Click the Sync button to synchronize your key." +msgstr "" +"Натисніть кнопку Синхронізувати, щоб " +"синхронізувати ваш ключ." + +#. (itstool) path: note/title +#: C/pgp-sync.page:53 +msgid "Why is the Sync button not clickable?" +msgstr "Чому кнопка Синхронізувати є неактивною?" + +#. (itstool) path: note/p +#: C/pgp-sync.page:55 +msgid "" +"Only PGP keys that have been published on a key server can be synchronized. " +"If the Sync button is not clickable, check if " +"the key has been published on a key server. In the case of synchronizing " +"your own keys, publish them before " +"synchronizing them." +msgstr "" +"Синхронізувати можна лише ключі PGP, які було оприлюднено на сервері ключів. " +"Якщо кнопка Синхронізувати є неактивною, " +"перевірте, чи було оприлюднено ключ на сервері ключів. Якщо це ваш власний " +"ключ, оприлюдніть його, перш ніж " +"синхронізувати." + +#. (itstool) path: info/desc +#: C/pgp-userid-add.page:20 +msgid "" +"Having many user IDs helps you to use the same key to communicate with " +"different people." +msgstr "" +"Наявність декількох ідентифікаторів користувача допоможе вам скористатися " +"тим самим ключем для обміну даними з різними особами." + +#. (itstool) path: page/title +#: C/pgp-userid-add.page:24 +msgid "Add extra user IDs to a key" +msgstr "Додавання ідентифікаторів користувача до ключа" + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:26 +msgid "" +"A key can have multiple user IDs. This is helpful when you want to use the " +"same key while communicating with several people and one of them does not " +"recognize, say, the email address in your user ID. This person may not want " +"to import your public key since it contains information that they do not " +"know. In such scenarios, if you do not want to create a new key with a " +"different user ID, you can attach a new user ID to your existing key." +msgstr "" +"Ключ може бути пов'язано із декількома ідентифікаторами користувача. Це " +"корисно, якщо ви хочете використовувати той самий ключ для спілкування із " +"декількома особами, і одна з них не розпізнає, скажімо, адреси електронної " +"пошти у вашому ідентифікаторі користувача. Ця особа може не захотіти " +"імпортувати ваш відкритий ключ через те, що у ньому містяться дані, які вона " +"не може підтвердити. У таких випадках, якщо ви не хочете створювати новий " +"ключ із іншим ідентифікатором користувача, ви можете долучити новий " +"ідентифікатор користувача до вашого наявного ключа." + +#. (itstool) path: steps/title +#: C/pgp-userid-add.page:34 +msgid "To add an extra user ID:" +msgstr "Щоб додати до ключа ідентифікатор користувача, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:39 +msgid "From the list, select the Personal PGP key of your choice." +msgstr "У списку виберіть потрібний Особистий ключ PGP." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:43 +msgid "" +"Right click on the key and select Properties Names " +"and Signatures." +msgstr "" +"Клацніть правою кнопкою на пункті ключа і виберіть у контекстному меню пункт " +"Властивості Імена та підписи." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:47 +msgid "" +"Click the Add Name button to add a new user ID." +msgstr "" +"Натисніть кнопку Додати ім'я, щоб додати новий " +"ідентифікатор користувача." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:51 +msgid "" +"In the new dialog, fill in details like Full Name, Email " +"Address and Key Comment for the new user ID." +msgstr "" +"У діалоговому вікні, яке буде відкрито, вкажіть подробиці, зокрема Ім'я " +"повністю, Адресу ел. пошти та Коментар до ключа " +"для нового ідентифікатора користувача." + +#. (itstool) path: item/p +#: C/pgp-userid-add.page:56 +msgid "" +"Enter the correct passphrase and click OK to " +"finish." +msgstr "" +"Введіть належний пароль і натисніть кнопку Гаразд, щоб завершити процедуру." + +#. (itstool) path: page/p +#: C/pgp-userid-add.page:61 +msgid "" +"Your new user ID will now be listed under the Names and Signatures panel." +msgstr "" +"Тепер ваш новий ідентифікатор користувача буде показано на панелі Імена " +"та підписи." + +#. (itstool) path: note/p +#: C/pgp-userid-add.page:65 +msgid "" +"If your key has been published on a key server, synchronize it after adding new user IDs to update the remote copy " +"of the key." +msgstr "" +"Якщо ваш ключ було оприлюднено на сервері ключів, синхронізуйте його після додавання нового ідентифікатора " +"користувача, щоб оновити віддалену копію ключа." + +#. (itstool) path: info/desc +#: C/pgp-userid-primary.page:19 +msgid "Change your default user ID" +msgstr "Зміна вашого типового ідентифікатора користувача" + +#. (itstool) path: page/title +#: C/pgp-userid-primary.page:22 +msgid "What is a primary user ID?" +msgstr "Що таке «основний ідентифікатор користувача»?" + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:24 +msgid "" +"When you have multiple user IDs, one of the user IDs is made the primary " +"user ID. Passwords and Keys will attach the primary user ID by " +"default with your key information, while encrypting or signing, unless you " +"explicitly choose another user ID instead." +msgstr "" +"Якщо у вас є декілька ідентифікаторів користувача, один з цих " +"ідентифікаторів можна зробити основним. Паролі й ключі типово " +"долучать основний ідентифікатор користувача до даних вашого ключа під час " +"шифрування або підписування, якщо ви не виберете явним чином інший " +"ідентифікатор користувача." + +#. (itstool) path: steps/title +#: C/pgp-userid-primary.page:30 +msgid "To change the primary user ID in a PGP key:" +msgstr "" +"Щоб змінити основний ідентифікатор користувача у ключі PGP, виконайте такі " +"дії:" + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:35 C/pgp-userid-remove.page:34 +#: C/subkeys-add.page:34 +msgid "Select the Personal PGP key from the list." +msgstr "Виберіть у списку Особистий ключ PGP." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:38 +msgid "" +"Right click on the selected key and select Properties " +"Names and Signatures." +msgstr "" +"Клацніть правою кнопкою на пункті ключа і виберіть у контекстному меню пункт " +"Властивості Імена та підписи." + +#. (itstool) path: item/p +#: C/pgp-userid-primary.page:43 +msgid "" +"Select the new primary user ID from the list and click Primary." +msgstr "" +"Виберіть новий основний ідентифікатор користувача зі списку і натисніть " +"кнопку Первинний." + +#. (itstool) path: page/p +#: C/pgp-userid-primary.page:48 +msgid "" +"The user ID will move to the top of the Names and Signatures list " +"to become your primary user ID." +msgstr "" +"Ідентифікатор користувача буде пересунуто на перше місце у списку Імена " +"та підписи — він стане вашим основним ідентифікатором користувача." + +#. (itstool) path: note/p +#: C/pgp-userid-primary.page:52 +msgid "" +"Sync your keys after changing your primary user ID to update the remote " +"copies of your key." +msgstr "" +"Виконайте синхронізацію ваших ключів після зміни основного ідентифікатора " +"користувача, щоб оновити віддалені копії вашого ключа." + +#. (itstool) path: info/desc +#: C/pgp-userid-remove.page:20 +msgid "Remove extra user IDs" +msgstr "Вилучення зайвих ідентифікаторів користувача" + +#. (itstool) path: page/title +#: C/pgp-userid-remove.page:23 +msgid "Detach a user ID from a key" +msgstr "Від'єднання ідентифікатора користувача від ключа" + +#. (itstool) path: page/p +#: C/pgp-userid-remove.page:25 +msgid "" +"While it is essential that all keys have at least one user ID, you can " +"remove any additional user IDs that you have attached to the key." +msgstr "" +"У кожного ключа має бути принаймні один ідентифікатор користувача, але ви " +"можете вилучити будь-які додаткові ідентифікатори користувача, які було " +"пов'язано із ключем." + +#. (itstool) path: steps/title +#: C/pgp-userid-remove.page:29 +msgid "To remove a user ID from a PGP key:" +msgstr "Щоб вилучити запис ідентифікатора користувача з ключа PGP:" + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:37 +msgid "" +"Right click on the selected key and choose Properties " +"Names and Signatures." +msgstr "" +"Клацніть правою кнопкою на пункті ключа і виберіть у контекстному меню пункт " +"Властивості Імена та підписи." + +#. (itstool) path: item/p +#: C/pgp-userid-remove.page:42 +msgid "" +"Select the user ID you want to remove and click Delete." +msgstr "" +"Виберіть ідентифікатор користувача, який ви хочете вилучити, і натисніть " +"кнопку Вилучити." + +#. (itstool) path: note/p +#: C/pgp-userid-remove.page:48 +msgid "" +"Synchronize your keys after detaching the " +"user ID to update the changes on the remote copy of the key." +msgstr "" +"Синхронізуйте ваші ключі після вилучення " +"запису ідентифікатора користувача, щоб внести зміни до віддаленої копії " +"ключа." + +#. (itstool) path: info/desc +#: C/pgp-userid.page:19 +msgid "Create keys with good user IDs and learn to add and remove user IDs." +msgstr "" +"Створення ключів із якісними ідентифікаторами користувача та настанови з " +"додавання та вилучення ідентифікаторів користувача." + +#. (itstool) path: page/title +#: C/pgp-userid.page:23 +msgid "What is a user ID?" +msgstr "Що таке ідентифікатор користувача?" + +#. (itstool) path: page/p +#: C/pgp-userid.page:25 +msgid "" +"When you create a key, you provide details, like your name, email and a key " +"description. This information together constitutes a user ID. A good user ID " +"helps people to recognize your key when they are trying to retrieve or import " +"it. It is important to fill in authentic information while creating your " +"user ID." +msgstr "" +"При створенні ключа ви надаєте певні дані, зокрема ваше ім'я, адресу " +"електронної пошти та опис ключа. Разом ці дані складають ідентифікатор " +"користувача. Якісний ідентифікатор користувача допомагає людям розпізнавати " +"ваш ключ, коли вони намагаються отримати або імпортувати його. Важливо вказати " +"правдиву інформацію під час створення вашого ідентифікатора користувача." + +#. (itstool) path: section/title +#: C/pgp-userid.page:33 +msgid "Add, remove user IDs" +msgstr "Додавання, вилучення ідентифікаторів користувачів" + +#. (itstool) path: info/desc +#: C/ssh-connect-remote.page:23 +msgid "Use SSH keys to log in to another computer without entering a password." +msgstr "" +"Використання ключів SSH для встановлення з'єднання із іншим комп'ютером без " +"введення пароля." + +#. (itstool) path: page/title +#: C/ssh-connect-remote.page:27 +msgid "Connect to other computers" +msgstr "З'єднання із іншими комп'ютерами" + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:29 +msgid "" +"You can use Passwords and Keys to install your SSH key onto a " +"remote computer that can run an SSH server. You can also set up your SSH key for remote login " +"while creating the key." +msgstr "" +"Ви можете скористатися Паролями й ключами для встановлення вашого " +"ключа SSH на віддаленому комп'ютері, який може працювати у режимі сервера " +"SSH. Ви також можете налаштувати сервер на використання вашого ключа SSH для віддаленого входу " +"до системи під час створення ключа." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:36 +msgid "" +"Right click on the SSH key and select Configure Key for " +"Secure Shell…." +msgstr "" +"Клацніть правою кнопкою миші на ключі SSH і виберіть у " +"контекстному меню пункт Налаштовувати ключ для SSH…." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:40 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH, and press " +"Set Up." +msgstr "" +"У діалоговому вікні, яке буде відкрито, введіть Адресу сервера, " +"якою ви зазвичай користуєтеся для входу на віддалений комп'ютер за допомогою " +"SSH, і натисніть кнопку Налаштувати." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:45 C/ssh-create.page:106 +msgid "" +"The program will now attempt to connect to the specified Server " +"address with the entered Login Name. If there are any " +"problems in accessing the remote computer, a pop-up window will appear that " +"explains the problem, and you can try again. Make sure that you have a " +"network connection and that the remote computer is on and accessible." +msgstr "" +"Програма спробує встановити з'єднання із вказаною Адресою сервера " +"з використанням введеного Облікового запису. Якщо під час спроби " +"отримання доступу до віддаленого комп'ютера виникнуть проблеми, програма " +"покаже контекстне вікно із поясненням причин проблем, і ви з можете " +"повторити спробу. Переконайтеся, що з'єднання із мережею є працездатним, і " +"що віддалений комп'ютер увімкнено, і він є доступним." + +#. (itstool) path: item/p +#: C/ssh-connect-remote.page:53 C/ssh-create.page:114 +msgid "" +"If connection to the remote computer was successful, a dialog box will " +"appear which asks for the Password you use to log in to the " +"remote computer. Enter your password, then press OK." +msgstr "" +"Якщо програмі вдалося встановити з'єднання із віддаленим комп'ютером, буде " +"показано діалогову панель із запитом Пароля, яким слід " +"скористатися для входу до системи віддаленого комп'ютера. Введіть пароль і " +"натисніть кнопку Гаразд." + +#. (itstool) path: page/p +#: C/ssh-connect-remote.page:60 +msgid "" +"You should now be able to log in to the remote computer via SSH without a " +"password." +msgstr "" +"Тепер ви можете входити до віддаленої системи за допомогою SSH без пароля." + +#. (itstool) path: info/desc +#: C/ssh-create.page:31 +msgid "Create SSH keys to log in to other computers." +msgstr "Створення ключа SSH для входу до систем інших комп'ютерів." + +#. (itstool) path: page/title +#: C/ssh-create.page:34 +msgid "Create a new SSH key" +msgstr "Створення ключа SSH" + +#. (itstool) path: page/p +#: C/ssh-create.page:36 +msgid "" +"An SSH key will help you to create a secure connection between computers. " +"Creating an SSH key creates both a Public and a Private " +"key. Here is how to create a new key:" +msgstr "" +"Ключ SSH допоможе вам створити захищене з'єднання між комп'ютерами. " +"Створення ключа SSH призведе до створення одразу відкритого і " +"закритого ключів. Ось як створити ключ:" + +#. (itstool) path: item/p +#: C/ssh-create.page:42 +msgid "Select Secure Shell Key from the list." +msgstr "Виберіть у списку пункт Ключ SSH." + +#. (itstool) path: item/p +#: C/ssh-create.page:43 +msgid "" +"Enter a description for the key. The key description will help you to " +"identify the key later. For example, you could enter the date for the day, " +"something about how the key will be used, or the server name on which you " +"intend to install the key. The description field is optional, and how you " +"describe the key is entirely up to you." +msgstr "" +"Введіть опис ключа. Опис ключа допоможе вам згодом ідентифікувати ключ. " +"Наприклад, ви можете ввести дату, щось щодо того, як ключ буде використано, " +"або назву сервера, на якому ви хочете встановити ключ. Поле опису є " +"необов'язковим — ви можете описати ключ довільним чином." + +#. (itstool) path: item/p +#: C/ssh-create.page:48 +msgid "" +"You can also change default settings for encryption type or key strength." +msgstr "" +"Ви також можете змінити типові параметри для типу шифрування або міцності " +"ключа." + +#. (itstool) path: page/p +#: C/ssh-create.page:52 +msgid "" +"At this point, you can just create your key, or create your key and install " +"it on a remote computer to enable password-free login." +msgstr "" +"На цьому кроці ви можете просто створити ваш ключ або створити ваш ключ і " +"встановити його на віддаленому комп'ютері для уможливлення безпарольного " +"входу." + +#. (itstool) path: section/title +#: C/ssh-create.page:56 +msgid "Create your key and do not set up remote login" +msgstr "Створення вашого ключа без налаштовування віддаленого входу" + +#. (itstool) path: section/p +#: C/ssh-create.page:57 +msgid "You can create the SSH key, and choose to set it up later." +msgstr "Ви можете створити ключ SSH і налаштувати його пізніше." + +#. (itstool) path: item/p +#: C/ssh-create.page:61 +msgid "Press the Just Create Key button." +msgstr "Натисніть кнопку Просто створити ключ." + +#. (itstool) path: item/p +#: C/ssh-create.page:64 +msgid "" +"Type a passphrase for your SSH key and press OK." +msgstr "" +"Введіть пароль до вашого ключа SSH і натисніть кнопку Гаразд." + +#. (itstool) path: item/p +#: C/ssh-create.page:68 +msgid "" +"Retype the passphrase and press OK to finish." +msgstr "" +"Повторно введіть пароль і натисніть кнопку Гаразд." + +#. (itstool) path: section/p +#: C/ssh-create.page:73 +msgid "The SSH key will now be listed in the OpenSSH keys keyring." +msgstr "" +"Після цього ключ SSH буде показано у в'язці ключів Ключі OpenSSH." + +#. (itstool) path: note/p +#: C/ssh-create.page:77 +msgid "" +"When you try to use your SSH key, your operating system will prompt you for " +"the passphrase used during creation. This ensures that if someone gets " +"access to your SSH key, they can't use it without the passphrase." +msgstr "" +"Коли ви спробуєте скористатися вашим ключем SSH, ваша операційна система " +"попросить вас ввести пароль, який було вказано під час створення ключа. " +"Таким чином, якщо хтось отримає доступ до вашого ключа SSH, він не зможе " +"скористатися ним без пароля." + +#. (itstool) path: section/title +#: C/ssh-create.page:86 +msgid "Create your key and install it on a remote computer" +msgstr "Створення вашого ключа і встановлення його на віддаленому комп'ютері" + +#. (itstool) path: section/p +#: C/ssh-create.page:87 +msgid "" +"One of the most useful things about having an SSH key is that you can " +"install the public key on a remote computer. Doing this allows you to log in " +"to a remote computer with SSH without needing to enter your password every " +"time." +msgstr "" +"Однією із найкорисніших можливостей ключа SSH є те, що ви можете встановити " +"відкритий ключ на віддаленому комп'ютері. Після цього ви зможете входити до " +"системи віддаленого комп'ютера за допомогою SSH без потреби у введенні " +"пароля під час кожної спроби з'єднання." + +#. (itstool) path: item/p +#: C/ssh-create.page:94 +msgid "" +"Press the Create and Set Up button, and follow " +"the above instructions on entering a passphrase." +msgstr "" +"Натисніть кнопку Створити та встановити і " +"виконайте наведені вище настанови щодо введення пароля." + +#. (itstool) path: item/p +#: C/ssh-create.page:98 +msgid "" +"In the dialog window that opens, enter the Server address that " +"you normally use to log in to the remote computer via SSH." +msgstr "" +"У діалоговому вікні, яке буде відкрито, введіть Адресу сервера, " +"якою ви зазвичай користуєтеся для входу на віддалений комп'ютер за допомогою " +"SSH." + +#. (itstool) path: item/p +#: C/ssh-create.page:102 +msgid "" +"Ensure that the Login name you use on the remote computer is " +"correct, and press Set Up." +msgstr "" +"Переконайтеся, що Обліковий запис, який ви використовуєте на " +"віддаленому комп'ютері, вказано правильно, і натисніть кнопку " +"Налаштувати." + +#. (itstool) path: section/p +#: C/ssh-create.page:121 +msgid "" +"The public part of the selected SSH key will now be installed on the remote " +"computer and configured to allow password-free SSH login. You should now be " +"able to log in to the remote computer via SSH without a password." +msgstr "" +"Після цього відкриту частину вибраного ключа SSH буде встановлено на " +"віддаленому комп'ютері і налаштовано на використання безпарольного входу " +"SSH. Такий безпарольний вхід надасть вам змогу входити до системи " +"віддаленого комп'ютера за допомогою SSH без введення пароля." + +#. (itstool) path: note/p +#: C/ssh-create.page:127 +msgid "" +"If SSH key authentication fails and you cannot use password authentication, " +"contact the service administrator for further help." +msgstr "" +"Якщо розпізнавання за ключем SSH не працює і ви не можете скористатися " +"розпізнаванням за паролем, попросіть про допомогу адміністратора вашої " +"системи." + +#. (itstool) path: info/desc +#: C/ssh-export.page:20 +msgid "Export your public and private SSH keys to store them in keyfiles." +msgstr "" +"Експортування вашого відкритого і закритого ключів SSH для зберігання їх у " +"форматі файлів ключів." + +#. (itstool) path: page/title +#: C/ssh-export.page:24 +msgid "Export SSH keys" +msgstr "Експортування ключів SSH" + +#. (itstool) path: page/p +#: C/ssh-export.page:26 +msgid "" +"Export the contents of your SSH keys and store them in keyfiles, to have a " +"backup of your keys or to share your public key with someone." +msgstr "" +"Ви можете експортувати дані ваших ключів SSH і зберегти їх у файлах ключів, " +"щоб мати резервну копію ваших ключів або поділитися вашим відкритим ключем " +"із кимось." + +#. (itstool) path: section/title +#: C/ssh-export.page:30 +msgid "To export your public SSH key:" +msgstr "Експортування вашого відкритого ключа SSH:" + +#. (itstool) path: item/p +#: C/ssh-export.page:34 C/ssh-export.page:57 +msgid "Select the OpenSSH keys keyring from the left side panel." +msgstr "" +"Виберіть в'язку ключів Ключі OpenSSH на лівій бічній панелі." + +#. (itstool) path: item/p +#: C/ssh-export.page:38 C/ssh-export.page:61 +msgid "" +"Select the Personal SSH key, that has to be exported, from the " +"list." +msgstr "" +"Виберіть у списку Особистий ключ SSH, який слід експортувати." + +#. (itstool) path: item/p +#: C/ssh-export.page:45 +msgid "" +"Press the Export button to save the exported " +"public key on your computer." +msgstr "" +"Натисніть кнопку Експортувати, щоб зберегти " +"експортований відкритий ключ на вашому комп'ютері." + +#. (itstool) path: section/title +#: C/ssh-export.page:53 +msgid "To export your private SSH key:" +msgstr "Експортування вашого закритого ключа SSH:" + +#. (itstool) path: item/p +#: C/ssh-export.page:65 +msgid "" +"Right click on the selected key and select Properties." +msgstr "" +"Клацніть на пункті ключа правою кнопкою миші і виберіть у контекстному меню " +"пункт Властивості." + +#. (itstool) path: item/p +#: C/ssh-export.page:69 +msgid "" +"Press the Export button to save the exported " +"private key on your computer." +msgstr "" +"Натисніть кнопку Експортувати, щоб зберегти " +"експортований закритий ключ на вашому комп'ютері." + +#. (itstool) path: note/p +#: C/ssh-export.page:75 +msgid "" +"Keep the exported private key file in a safe location, since the contents of " +"the file must be kept private, to prevent misuse of your key." +msgstr "" +"Зберігайте експортований файл закритого ключа у безпечному місці, оскільки " +"вміст файла має бути конфіденційним, щоб запобігти використанню вашого ключа " +"зловмисниками." + +#. (itstool) path: info/desc +#: C/ssh-import.page:25 +msgid "Import SSH keys from keyfiles into Passwords and Keys." +msgstr "" +"Імпортування ключів SSH з файлів ключів до Паролів й ключів." + +#. (itstool) path: page/title +#: C/ssh-import.page:28 +msgid "Import SSH keys" +msgstr "Імпортування ключів SSH" + +#. (itstool) path: page/p +#: C/ssh-import.page:30 +msgid "" +"If you have received a key file by email, you might want to import it into " +"Passwords and Keys. In most cases, Passwords and Keys " +"automatically imports SSH keys from the ~/.ssh directory on " +"your computer. You can also manually import keys into Passwords and " +"Keys." +msgstr "" +"Якщо ви отримали файл ключа електронною поштою, ви можете імпортувати його " +"до Паролів й ключів. У більшості випадків Паролі й ключі автоматично імпортує ключі SSH з каталогу ~/.ssh на вашому " +"комп'ютері. Ви також можете вручну імпортувати ключі до Паролів й " +"ключів." + +#. (itstool) path: item/p +#: C/ssh-import.page:45 +msgid "" +"In the new dialog, select the key you wish to import. Public SSH keys end " +"with .pub." +msgstr "" +"У діалоговому вікні, яке буде відкрито, виберіть ключ, який ви хочете " +"імпортувати. Назви файлів ключів SSH завершуються суфіксом .pub." + +#. (itstool) path: page/p +#: C/ssh-import.page:53 +msgid "" +"Imported keys are automatically grouped according to their type. So, " +"SSH keys are listed in the OpenSSH keys section." +msgstr "" +"Імпортовані ключі буде автоматично згруповано за типом. Отже, ключі " +"SSH буде зібрано у розділі Ключі OpenSSH." + +#. (itstool) path: info/desc +#: C/subkeys-add.page:20 +msgid "Additional subkeys make your master key more secure." +msgstr "Додаткові підключі роблять ваш основний ключ захищенішим." + +#. (itstool) path: page/title +#: C/subkeys-add.page:23 +msgid "Add extra subkeys" +msgstr "Додавання підключів" + +#. (itstool) path: page/p +#: C/subkeys-add.page:25 +msgid "" +"You can add extra subkeys to the same master key. You have to choose the " +"right subkey each time you want to encrypt or sign when you do this." +msgstr "" +"Ви можете додати декілька підключів до вашого основного ключа. Після цього " +"ви зможете вибирати належний підключ кожного разу, коли ви захочете " +"зашифрувати або підписати дані." + +#. (itstool) path: steps/title +#: C/subkeys-add.page:29 +msgid "To add extra subkeys to a PGP key:" +msgstr "Щоб додати підключі до ключа PGP, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/subkeys-add.page:41 C/subkeys-examine.page:41 +msgid "If the Subkeys panel is not expanded, expand it." +msgstr "Якщо панель Підключі не розгорнуто, розгорніть її." + +#. (itstool) path: item/p +#: C/subkeys-add.page:44 +msgid "Click the Add button to add a new subkey." +msgstr "" +"Натисніть кнопку Додати, щоб додати новий " +"підключ." + +#. (itstool) path: item/p +#: C/subkeys-add.page:48 +msgid "" +"Choose the right properties for your key by selecting the appropriate " +"Key Type, Key Length and Expiration Date " +"and click OK." +msgstr "" +"Виберіть належні властивості для вашого ключа, вибравши відповідний Тип " +"ключа, Довжину ключа та Термін дії, і натисніть " +"кнопку Гаразд." + +#. (itstool) path: note/p +#: C/subkeys-add.page:55 +msgid "" +"Always ensure that your subkey expires before your master key since a subkey " +"is useless when its master key has expired." +msgstr "" +"Завершення терміну дії вашого підключа завжди має передувати завершенню " +"терміну дії вашого основного ключа, оскільки підключ не можна " +"використовувати, коли спливе строк дії основного ключа." + +#. (itstool) path: info/desc +#: C/subkeys-examine.page:20 +msgid "See all the subkeys listed under a PGP key." +msgstr "Перегляд усіх підключів ключа PGP." + +#. (itstool) path: page/title +#: C/subkeys-examine.page:23 +msgid "Where are my subkeys listed?" +msgstr "Де можна переглянути список підключів?" + +#. (itstool) path: page/p +#: C/subkeys-examine.page:25 +msgid "" +"You can check the contents of a keypair to see the properties of a subkey." +msgstr "" +"Щоб переглянути властивості підключа, ознайомтеся із вмістом пари ключів." + +#. (itstool) path: steps/title +#: C/subkeys-examine.page:29 +msgid "To see all the subkeys in a PGP key:" +msgstr "Щоб переглянути усі підключі ключа PGP, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/subkeys-examine.page:31 +msgid "Select the GnuPG keys from the left side panel." +msgstr "Виберіть в'язку ключів Ключі GnuPG на лівій бічній панелі." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:34 +msgid "Select the Personal PGP key." +msgstr "Виберіть у списку Особистий ключ PGP." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:37 +msgid "" +"Right click on the key chosen in the previous step and select " +"PropertiesDetails." +msgstr "" +"Клацніть правою кнопкою миші на пункті ключа, який було позначено на " +"попередньому кроці, і виберіть у контекстному меню пункт " +"ВластивостіПодробиці." + +#. (itstool) path: item/p +#: C/subkeys-examine.page:44 +msgid "All the subkeys for the selected PGP key will be listed in the panel." +msgstr "Усі підключі для вибраного ключа PGP буде показано у списку на панелі." + +#. (itstool) path: note/p +#: C/subkeys-examine.page:50 +msgid "" +"While signing another key, Passwords and Keys automatically " +"chooses the master key for signing, when you select a GnuPG keys " +"keypair to sign with." +msgstr "" +"Під час підписування іншого ключа Паролі й ключі автоматично " +"виберуть основний ключ для підписування, коли ви виберете пару ключів " +"Ключі GnuPG для підписування." + +#. (itstool) path: info/desc +#: C/subkeys-revoke.page:20 +msgid "Revoke a subkey that has been compromised or is not being used." +msgstr "" +"Відкликання підключа, який було скомпрометовано, або підключа, який не " +"використовується." + +#. (itstool) path: page/title +#: C/subkeys-revoke.page:24 +msgid "Revoke your subkeys" +msgstr "Відкликання ваших підключів" + +#. (itstool) path: page/p +#: C/subkeys-revoke.page:26 +msgid "" +"If your subkey has been compromised or is no longer in use, it might be a " +"good idea to revoke it to prevent misuse of the key." +msgstr "" +"Якщо ваш підключ було скомпрометовано або ви більше ним не користуєтеся, " +"варто його відкликати для запобігання потраплянню підключа у руки " +"зловмисників." + +#. (itstool) path: steps/title +#: C/subkeys-revoke.page:30 +msgid "To revoke a subkey:" +msgstr "Щоб відкликати підключ, виконайте такі дії:" + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:32 +msgid "" +"Navigate to the Subkeys " +"panel." +msgstr "" +"Перейдіть до панелі Підключі." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:47 +msgid "" +"Select the subkey from the list and press the Revoke button." +msgstr "" +"Виберіть підключ зі списку і натисніть кнопку Відкликати." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:51 +msgid "" +"In the new dialog, select a reason for revoking the key. Optionally, " +"describe your reason in more detail in the Description field." +msgstr "" +"У діалоговому вікні, яке буде відкрито, виберіть причину відкликання ключа. " +"Якщо хочете, опишіть вашу причину докладніше у полі Опис." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:56 +msgid "Press the Revoke button." +msgstr "Натисніть кнопку Відкликати." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:59 +msgid "You will have to unlock the key with its passphrase." +msgstr "Вам доведеться розблокувати ключ за допомогою пароля." + +#. (itstool) path: item/p +#: C/subkeys-revoke.page:62 +msgid "" +"The Status of the subkey changes to Revoked in the " +"Subkeys panel." +msgstr "" +"Стан підключа на панелі Підключі буде змінено на " +"Відкликано." + +#. (itstool) path: note/p +#: C/subkeys-revoke.page:68 +msgid "" +"If you have published your subkey, you " +"must synchronize it with the key servers " +"after revoking it to apply the revocation on all copies of the key." +msgstr "" +"Якщо ваш ключ було оприлюднено, вам слід " +"синхронізувати його з серверами ключів після " +"відкликання, щоб відкликання було застосовано до усіх копій ключа." diff --git a/libegg/egg-datetime.c b/libegg/egg-datetime.c new file mode 100644 index 00000000..0e321d14 --- /dev/null +++ b/libegg/egg-datetime.c @@ -0,0 +1,2336 @@ +/* + * Copyright (C) 2002-2005 Sebastian Rittau + * $Id$ + * + * Based on GnomeDateEdit by Miguel de Icaza. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with the Gnome Library; if not, see + * . + */ + +#include + +#include + +#include +#include +#include + +#include +#include +#include + +#include "egg-datetime.h" + +#ifdef G_OS_WIN32 +/* The gmtime() in Microsoft's C library *is* thread-safe. It has no gmtime_r(). */ + +static struct tm * +gmtime_r (const time_t *timep, struct tm *result) +{ + struct tm *tmp = gmtime (timep); + + if (tmp == NULL) + return NULL; + + memcpy (result, tmp, sizeof (struct tm)); + + return result; +} + +/* Ditto for localtime() and localtime_r(). */ + +static struct tm * +localtime_r (const time_t *timep, struct tm *result) +{ + struct tm *tmp = localtime (timep); + + if (tmp == NULL) + return NULL; + + memcpy (result, tmp, sizeof (struct tm)); + + return result; +} + +#endif + +#ifndef _ +#define _(x) (x) +#endif + + +/* TODO: + * o "now" button in calendar popup? + * o timezone support + * o Implement time list as a popup a la Evo, or time as a spin button? + * o In lazy mode: choose a different way to mark an invalid date instead + * of just blanking the widget. + */ + +/* FIXME: + * o limit GtkCalendar to clamp times + */ + + +/* from libgnomeui */ +static void +_add_atk_name_desc (GtkWidget *widget, gchar *name, gchar *desc) +{ + AtkObject *aobj; + + g_return_if_fail (GTK_IS_WIDGET (widget)); + + aobj = gtk_widget_get_accessible (widget); + + if (name) + atk_object_set_name (aobj, name); + if (desc) + atk_object_set_description (aobj, desc); +} + +static void +_add_atk_relation (GtkWidget *widget1, GtkWidget *widget2, + AtkRelationType w1_to_w2, AtkRelationType w2_to_w1) +{ + AtkObject *atk_widget1; + AtkObject *atk_widget2; + AtkRelationSet *relation_set; + AtkRelation *relation; + AtkObject *targets[1]; + + atk_widget1 = gtk_widget_get_accessible (widget1); + atk_widget2 = gtk_widget_get_accessible (widget2); + + /* Create the widget1 -> widget2 relation */ + relation_set = atk_object_ref_relation_set (atk_widget1); + targets[0] = atk_widget2; + relation = atk_relation_new (targets, 1, w1_to_w2); + atk_relation_set_add (relation_set, relation); + g_object_unref (relation); + + /* Create the widget2 -> widget1 relation */ + relation_set = atk_object_ref_relation_set (atk_widget2); + targets[0] = atk_widget1; + relation = atk_relation_new (targets, 1, w2_to_w1); + atk_relation_set_add (relation_set, relation); + g_object_unref (relation); +} + +/* + * Time List Declarations + */ + +#define TIMELIST(x) GTK_SCROLLED_WINDOW(x) +#define Timelist GtkScrolledWindow + +static GtkWidget *timelist_new (void); +static void timelist_set_list (Timelist *timelist, guint8 minhour, guint8 minminute, guint8 maxhour, guint8 maxminute); +static void timelist_set_time (Timelist *timelist, guint8 hour, guint8 minute); +static gboolean timelist_get_time (Timelist *timelist, guint8 *hour, guint8 *minute); +static void timelist_clamp (Timelist *timelist, guint8 minhour, guint8 minminute, guint8 maxhour, guint8 maxminute); +static void timelist_set_selection_callback (Timelist *timelist, void (*cb)(void), gpointer data); + +/* + * Class and Object Handling + */ + +struct _EggDateTimePrivate +{ + /* Children */ + + GtkWidget *date_box; + GtkWidget *date_entry; + GtkWidget *date_button; + GtkWidget *time_box; + GtkWidget *time_entry; + GtkWidget *time_button; + GtkWidget *cal_popup; + GtkWidget *calendar; + GtkWidget *time_popup; + GtkWidget *timelist; + + /* Flags */ + + EggDateTimeDisplayMode display_mode; + gboolean lazy; + gboolean week_start_monday; + + /* Current Date/Time */ + + gboolean date_valid; + GDateYear year; + GDateMonth month; + GDateDay day; + gboolean time_valid; + guint8 hour; + guint8 minute; + guint8 second; + + /* Clamp Values */ + + guint16 clamp_minyear, clamp_maxyear; + guint8 clamp_minmonth, clamp_maxmonth; + guint8 clamp_minday, clamp_maxday; + guint8 clamp_minhour, clamp_maxhour; + guint8 clamp_minminute, clamp_maxminute; + guint8 clamp_minsecond, clamp_maxsecond; +}; + +enum { + SIGNAL_DATE_CHANGED, + SIGNAL_TIME_CHANGED, + SIGNAL_LAST +}; + +enum { + ARG_DISPLAY_MODE = 1, + ARG_LAZY, + ARG_YEAR, + ARG_MONTH, + ARG_DAY, + ARG_HOUR, + ARG_MINUTE, + ARG_SECOND, + ARG_CLAMP_MINYEAR, + ARG_CLAMP_MINMONTH, + ARG_CLAMP_MINDAY, + ARG_CLAMP_MINHOUR, + ARG_CLAMP_MINMINUTE, + ARG_CLAMP_MINSECOND, + ARG_CLAMP_MAXYEAR, + ARG_CLAMP_MAXMONTH, + ARG_CLAMP_MAXDAY, + ARG_CLAMP_MAXHOUR, + ARG_CLAMP_MAXMINUTE, + ARG_CLAMP_MAXSECOND +}; + + +static gint egg_datetime_signals [SIGNAL_LAST] = { 0 }; + + +static void egg_datetime_class_init (EggDateTimeClass *klass); +static void egg_datetime_init (EggDateTime *edt); +static void egg_datetime_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec); +static void egg_datetime_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec); + +static void egg_datetime_destroy (GtkWidget *widget); + +static void egg_datetime_finalize (GObject *object); + +static gchar *get_time_string (guint8 hour, guint8 minute, guint8 second); + +static gboolean date_focus_out (EggDateTime *edt, GtkEntry *entry); +static gboolean time_focus_out (EggDateTime *edt, GtkEntry *entry); +static void date_arrow_toggled (EggDateTime *edt, GtkToggleButton *button); +static void time_arrow_toggled (EggDateTime *edt, GtkToggleButton *button); +static void cal_popup_changed (EggDateTime *edt, GtkCalendar *calendar); +static void cal_popup_double_click (EggDateTime *edt, GtkCalendar *calendar); +static gboolean cal_popup_key_pressed (EggDateTime *edt, GdkEventKey *event, GtkWidget *widget); +static gboolean cal_popup_button_pressed (EggDateTime *edt, GdkEventButton *event, GtkWidget *widget); +static gboolean cal_popup_closed (EggDateTime *edt, GtkWindow *popup); +static void cal_popup_hide (EggDateTime *edt); +static void time_popup_changed (EggDateTime *edt, Timelist *timelist); +static gboolean time_popup_key_pressed (EggDateTime *edt, GdkEventKey *event, GtkWidget *widget); +static gboolean time_popup_button_pressed (EggDateTime *edt, GdkEventButton *event, GtkWidget *widget); +static gboolean time_popup_closed (EggDateTime *edt, GtkWindow *popup); +static void time_popup_hide (EggDateTime *edt); + +static void apply_display_mode (EggDateTime *edt); +static void clamp_time_labels (EggDateTime *edt); +static void parse_date (EggDateTime *edt); +static void parse_time (EggDateTime *edt); +static void normalize_date (EggDateTime *edt); +static void normalize_time (EggDateTime *edt); +static void parse_and_update_date (EggDateTime *edt); +static void parse_and_update_time (EggDateTime *edt); +static void update_date_label (EggDateTime *edt); +static void update_time_label (EggDateTime *edt); + + +static GtkBoxClass *parent_class = NULL; + + +GType +egg_datetime_get_type (void) +{ + static GType datetime_type = 0; + + if (!datetime_type) { + static const GTypeInfo datetime_info = { + sizeof (EggDateTimeClass), + NULL, /* base_init */ + NULL, /* base_finalize */ + (GClassInitFunc) egg_datetime_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (EggDateTime), + 0, /* n_preallocs */ + (GInstanceInitFunc) egg_datetime_init + }; + + datetime_type = g_type_register_static (GTK_TYPE_BOX, "EggDateTime", &datetime_info, 0); + } + + return datetime_type; +} + +static void +egg_datetime_class_init (EggDateTimeClass *klass) +{ + GObjectClass *o_class; + GParamSpec *pspec; + + parent_class = g_type_class_peek_parent (klass); + + o_class = (GObjectClass *) klass; + + o_class->finalize = egg_datetime_finalize; + o_class->set_property = egg_datetime_set_property; + o_class->get_property = egg_datetime_get_property; + + ((GtkWidgetClass*)klass)->destroy = egg_datetime_destroy; + + + /* Properties */ + + pspec = g_param_spec_uint ("display-flags", + _("Display flags"), + _("Displayed date and/or time properties"), + 0, G_MAXUINT, EGG_DATETIME_DISPLAY_DATE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_DISPLAY_MODE, pspec); + pspec = g_param_spec_boolean ("lazy", + _("Lazy mode"), + _("Lazy mode doesn’t normalize entered date and time values"), + FALSE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_LAZY, pspec); + pspec = g_param_spec_uint ("year", + _("Year"), + _("Displayed year"), + 1, 9999, 2000, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_YEAR, pspec); + pspec = g_param_spec_uint ("month", + _("Month"), + _("Displayed month"), + G_DATE_JANUARY, G_DATE_DECEMBER, G_DATE_JANUARY, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_MONTH, pspec); + pspec = g_param_spec_uint ("day", + _("Day"), + _("Displayed day of month"), + 1, 31, 1, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_DAY, pspec); + pspec = g_param_spec_uint ("hour", + _("Hour"), + _("Displayed hour"), + 0, 23, 0, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_HOUR, pspec); + pspec = g_param_spec_uint ("minute", + _("Minute"), + _("Displayed minute"), + 0, 59, 0, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_MINUTE, pspec); + pspec = g_param_spec_uint ("second", + _("Second"), + _("Displayed second"), + 0, 59, 0, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_SECOND, pspec); + pspec = g_param_spec_uint ("clamp-minyear", + _("Lower limit year"), + _("Year part of the lower date limit"), + 1, 9999, 1, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_CLAMP_MINYEAR, pspec); + pspec = g_param_spec_uint ("clamp-maxyear", + _("Upper limit year"), + _("Year part of the upper date limit"), + 1, 9999, 9999, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_CLAMP_MAXYEAR, pspec); + pspec = g_param_spec_uint ("clamp-minmonth", + _("Lower limit month"), + _("Month part of the lower date limit"), + G_DATE_JANUARY, G_DATE_DECEMBER, G_DATE_JANUARY, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_CLAMP_MINMONTH, pspec); + pspec = g_param_spec_uint ("clamp-maxmonth", + _("Upper limit month"), + _("Month part of the upper date limit"), + G_DATE_JANUARY, G_DATE_DECEMBER, G_DATE_DECEMBER, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_CLAMP_MAXMONTH, pspec); + pspec = g_param_spec_uint ("clamp-minday", + _("Lower limit day"), + _("Day of month part of the lower date limit"), + 1, 31, 1, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_CLAMP_MINDAY, pspec); + pspec = g_param_spec_uint ("clamp-maxday", + _("Upper limit day"), + _("Day of month part of the upper date limit"), + 1, 31, 31, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_CLAMP_MAXDAY, pspec); + pspec = g_param_spec_uint ("clamp-minhour", + _("Lower limit hour"), + _("Hour part of the lower time limit"), + 0, 23, 0, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_CLAMP_MINHOUR, pspec); + pspec = g_param_spec_uint ("clamp-maxhour", + _("Upper limit hour"), + _("Hour part of the upper time limit"), + 0, 23, 23, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_CLAMP_MAXHOUR, pspec); + pspec = g_param_spec_uint ("clamp-minminute", + _("Lower limit minute"), + _("Minute part of the lower time limit"), + 0, 59, 0, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_CLAMP_MINMINUTE, pspec); + pspec = g_param_spec_uint ("clamp-maxminute", + _("Upper limit minute"), + _("Minute part of the upper time limit"), + 0, 59, 59, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_CLAMP_MAXMINUTE, pspec); + pspec = g_param_spec_uint ("clamp-minsecond", + _("Lower limit second"), + _("Second part of the lower time limit"), + 0, 59, 0, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_CLAMP_MINSECOND, pspec); + pspec = g_param_spec_uint ("clamp-maxsecond", + _("Upper limit second"), + _("Second part of the upper time limit"), + 0, 59, 59, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT); + g_object_class_install_property (o_class, ARG_CLAMP_MAXSECOND, pspec); + + /* Signals */ + + egg_datetime_signals [SIGNAL_DATE_CHANGED] = + g_signal_new ("date-changed", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET (EggDateTimeClass, date_changed), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + + egg_datetime_signals [SIGNAL_TIME_CHANGED] = + g_signal_new ("time-changed", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET (EggDateTimeClass, time_changed), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); +} + +static void +egg_datetime_init (EggDateTime *edt) +{ + EggDateTimePrivate *priv; + GtkWidget *arrow; + GtkCalendarDisplayOptions cal_options; + const gchar *week_start; + + priv = g_new0 (EggDateTimePrivate, 1); + edt->priv = priv; + + /* Translate to calendar:week_start:1 if you want Monday to be the + * first day of the week; otherwise translate to calendar:week_start:0. + * Do *not* translate it to anything else, if it isn't calendar:week_start:1 + * or calendar:week_start:0 it will not work. + */ + week_start = _("calendar:week_start:0"); + if (strcmp (week_start, "calendar:week_start:1") == 0) + priv->week_start_monday = TRUE; + else if (strcmp (week_start, "calendar:week_start:0") == 0) + priv->week_start_monday = FALSE; + else + g_warning ("Whoever translated calendar:week_start:0 did so wrongly.\n"); + + priv->date_valid = FALSE; + priv->time_valid = FALSE; + + /* Initialize Widgets */ + + gtk_box_set_spacing (GTK_BOX (edt), 4); + + /* Date Widgets */ + + priv->date_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_pack_start (GTK_BOX (edt), priv->date_box, TRUE, TRUE, 0); + + priv->date_entry = gtk_entry_new (); + gtk_entry_set_width_chars (GTK_ENTRY (priv->date_entry), 12); + _add_atk_name_desc (priv->date_entry, _("Date"), _("Enter the date directly")); + g_signal_connect_swapped (G_OBJECT (priv->date_entry), "focus-out-event", + G_CALLBACK (date_focus_out), edt); + gtk_widget_show (priv->date_entry); + gtk_box_pack_start (GTK_BOX (priv->date_box), priv->date_entry, TRUE, TRUE, 0); + + priv->date_button = gtk_toggle_button_new (); + _add_atk_name_desc (priv->date_button, _("Select Date"), _("Select the date from a calendar")); + gtk_box_pack_start (GTK_BOX (priv->date_box), priv->date_button, FALSE, FALSE, 0); + arrow = gtk_image_new_from_icon_name ("pan-down-symbolic", GTK_ICON_SIZE_BUTTON); + gtk_container_add (GTK_CONTAINER (priv->date_button), arrow); + gtk_widget_show (arrow); + g_signal_connect_swapped (G_OBJECT (priv->date_button), "toggled", + G_CALLBACK (date_arrow_toggled), edt); + + _add_atk_relation (priv->date_button, priv->date_entry, + ATK_RELATION_CONTROLLER_FOR, ATK_RELATION_CONTROLLED_BY); + + /* Time Widgets */ + + priv->time_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_pack_start (GTK_BOX (edt), priv->time_box, TRUE, TRUE, 0); + + priv->time_entry = gtk_entry_new (); + gtk_entry_set_width_chars (GTK_ENTRY (priv->time_entry), 10); + _add_atk_name_desc (priv->time_entry, _("Time"), _("Enter the time directly")); + g_signal_connect_swapped (G_OBJECT (priv->time_entry), "focus-out-event", + G_CALLBACK (time_focus_out), edt); + gtk_widget_show (priv->time_entry); + gtk_box_pack_start (GTK_BOX (priv->time_box), priv->time_entry, TRUE, TRUE, 0); + + priv->time_button = gtk_toggle_button_new (); + _add_atk_name_desc (priv->date_button, _("Select Time"), _("Select the time from a list")); + gtk_box_pack_start (GTK_BOX (priv->time_box), priv->time_button, FALSE, FALSE, 0); + arrow = gtk_image_new_from_icon_name ("pan-down-symbolic", GTK_ICON_SIZE_BUTTON); + gtk_container_add (GTK_CONTAINER (priv->time_button), arrow); + gtk_widget_show (arrow); + g_signal_connect_swapped (G_OBJECT (priv->time_button), "toggled", + G_CALLBACK (time_arrow_toggled), edt); + + _add_atk_relation (priv->time_button, priv->time_entry, + ATK_RELATION_CONTROLLER_FOR, ATK_RELATION_CONTROLLED_BY); + + /* Calendar Popup */ + + priv->cal_popup = gtk_window_new (GTK_WINDOW_POPUP); + gtk_widget_set_events (priv->cal_popup, + gtk_widget_get_events (priv->cal_popup) | GDK_KEY_PRESS_MASK); + gtk_window_set_resizable (GTK_WINDOW (priv->cal_popup), FALSE); + g_signal_connect_swapped (G_OBJECT (priv->cal_popup), "delete-event", + G_CALLBACK (cal_popup_closed), edt); + g_signal_connect_swapped (G_OBJECT (priv->cal_popup), "key-press-event", + G_CALLBACK (cal_popup_key_pressed), edt); + g_signal_connect_swapped (G_OBJECT (priv->cal_popup), "button-press-event", + G_CALLBACK (cal_popup_button_pressed), edt); + + priv->calendar = gtk_calendar_new (); + cal_options = GTK_CALENDAR_SHOW_DAY_NAMES | GTK_CALENDAR_SHOW_HEADING; + gtk_calendar_set_display_options (GTK_CALENDAR (priv->calendar), cal_options); + gtk_container_add (GTK_CONTAINER (priv->cal_popup), priv->calendar); + g_signal_connect_swapped (G_OBJECT (priv->calendar), "day-selected", + G_CALLBACK (cal_popup_changed), edt); + g_signal_connect_swapped (G_OBJECT (priv->calendar), "day-selected-double-click", + G_CALLBACK (cal_popup_double_click), edt); + gtk_widget_show (priv->calendar); + + /* Time Popup */ + + priv->time_popup = gtk_window_new (GTK_WINDOW_POPUP); + gtk_widget_set_events (priv->time_popup, + gtk_widget_get_events (priv->time_popup) | GDK_KEY_PRESS_MASK); + gtk_window_set_resizable (GTK_WINDOW (priv->time_popup), FALSE); + g_signal_connect_swapped (G_OBJECT (priv->time_popup), "delete-event", + G_CALLBACK (time_popup_closed), edt); + g_signal_connect_swapped (G_OBJECT (priv->time_popup), "key-press-event", + G_CALLBACK (time_popup_key_pressed), edt); + g_signal_connect_swapped (G_OBJECT (priv->time_popup), "button-press-event", + G_CALLBACK (time_popup_button_pressed), edt); + + priv->timelist = timelist_new (); + timelist_set_selection_callback (TIMELIST (priv->timelist), G_CALLBACK (time_popup_changed), edt); + gtk_widget_set_size_request (priv->timelist, -1, 400); + gtk_container_add (GTK_CONTAINER (priv->time_popup), priv->timelist); + gtk_widget_show (priv->timelist); +} + +static void +egg_datetime_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + EggDateTime *edt; + EggDateTimePrivate *priv; + + g_return_if_fail (object != NULL); + g_return_if_fail (EGG_IS_DATETIME (object)); + + edt = EGG_DATETIME (object); + priv = edt->priv; + + switch (property_id) { + case ARG_DISPLAY_MODE: + egg_datetime_set_display_mode (edt, g_value_get_uint (value)); + break; + case ARG_LAZY: + egg_datetime_set_lazy (edt, g_value_get_boolean (value)); + break; + case ARG_YEAR: + priv->year = g_value_get_uint (value); + break; + case ARG_MONTH: + priv->minute = g_value_get_uint (value); + break; + case ARG_DAY: + priv->day = g_value_get_uint (value); + break; + case ARG_HOUR: + priv->hour = g_value_get_uint (value); + break; + case ARG_MINUTE: + priv->minute = g_value_get_uint (value); + break; + case ARG_SECOND: + priv->second = g_value_get_uint (value); + break; + case ARG_CLAMP_MINYEAR: + priv->clamp_minyear = g_value_get_uint (value); + break; + case ARG_CLAMP_MINMONTH: + priv->clamp_minmonth = g_value_get_uint (value); + break; + case ARG_CLAMP_MINDAY: + priv->clamp_minday = g_value_get_uint (value); + break; + case ARG_CLAMP_MINHOUR: + priv->clamp_minhour = g_value_get_uint (value); + break; + case ARG_CLAMP_MINMINUTE: + priv->clamp_minminute = g_value_get_uint (value); + break; + case ARG_CLAMP_MINSECOND: + priv->clamp_minsecond = g_value_get_uint (value); + break; + case ARG_CLAMP_MAXYEAR: + priv->clamp_maxyear = g_value_get_uint (value); + break; + case ARG_CLAMP_MAXMONTH: + priv->clamp_maxmonth = g_value_get_uint (value); + break; + case ARG_CLAMP_MAXDAY: + priv->clamp_maxday = g_value_get_uint (value); + break; + case ARG_CLAMP_MAXHOUR: + priv->clamp_maxhour = g_value_get_uint (value); + break; + case ARG_CLAMP_MAXMINUTE: + priv->clamp_maxminute = g_value_get_uint (value); + break; + case ARG_CLAMP_MAXSECOND: + priv->clamp_maxsecond = g_value_get_uint (value); + break; + } +} + +static void +egg_datetime_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + EggDateTimePrivate *priv; + + g_return_if_fail (object != NULL); + g_return_if_fail (EGG_IS_DATETIME (object)); + + priv = EGG_DATETIME (object)->priv; + + switch (property_id) { + case ARG_DISPLAY_MODE: + g_value_set_uint (value, (guint) priv->display_mode); + break; + case ARG_LAZY: + g_value_set_boolean (value, priv->lazy); + break; + case ARG_YEAR: + g_value_set_uint (value, priv->year); + break; + case ARG_MONTH: + g_value_set_uint (value, priv->month); + break; + case ARG_DAY: + g_value_set_uint (value, priv->day); + break; + case ARG_HOUR: + g_value_set_uint (value, priv->hour); + break; + case ARG_MINUTE: + g_value_set_uint (value, priv->minute); + break; + case ARG_SECOND: + g_value_set_uint (value, priv->second); + break; + case ARG_CLAMP_MINYEAR: + g_value_set_uint (value, priv->clamp_minyear); + break; + case ARG_CLAMP_MINMONTH: + g_value_set_uint (value, priv->clamp_minmonth); + break; + case ARG_CLAMP_MINDAY: + g_value_set_uint (value, priv->clamp_minday); + break; + case ARG_CLAMP_MINHOUR: + g_value_set_uint (value, priv->clamp_minhour); + break; + case ARG_CLAMP_MINMINUTE: + g_value_set_uint (value, priv->clamp_minminute); + break; + case ARG_CLAMP_MINSECOND: + g_value_set_uint (value, priv->clamp_minsecond); + break; + case ARG_CLAMP_MAXYEAR: + g_value_set_uint (value, priv->clamp_maxyear); + break; + case ARG_CLAMP_MAXMONTH: + g_value_set_uint (value, priv->clamp_maxmonth); + break; + case ARG_CLAMP_MAXDAY: + g_value_set_uint (value, priv->clamp_maxday); + break; + case ARG_CLAMP_MAXHOUR: + g_value_set_uint (value, priv->clamp_maxhour); + break; + case ARG_CLAMP_MAXMINUTE: + g_value_set_uint (value, priv->clamp_maxminute); + break; + case ARG_CLAMP_MAXSECOND: + g_value_set_uint (value, priv->clamp_maxsecond); + break; + } +} + +static void +egg_datetime_destroy (GtkWidget *widget) +{ + EggDateTime *edt = EGG_DATETIME (widget); + EggDateTimePrivate *priv = edt->priv; + + if (priv->cal_popup) { + gtk_widget_destroy (priv->cal_popup); + priv->cal_popup = NULL; + } + + if (priv->time_popup) { + gtk_widget_destroy (priv->time_popup); + priv->time_popup = NULL; + } + + if (GTK_WIDGET_CLASS (parent_class)->destroy) + (* GTK_WIDGET_CLASS (parent_class)->destroy) (widget); +} + +static void +egg_datetime_finalize (GObject *object) +{ + EggDateTime *edt = EGG_DATETIME (object); + + g_free (edt->priv); + + if (G_OBJECT_CLASS (parent_class)->finalize) + (* G_OBJECT_CLASS (parent_class)->finalize) (object); +} + +/* + * Utility Functions + */ + +/* Determine the number of bits, time_t uses. */ +static guint +time_t_bits (void) { + guint i; + time_t t; + + for (t = 1, i = 0; t != 0; t = t << 1, i++) + ; + + return i; +} + +static gchar * +get_time_string (guint8 hour, guint8 minute, guint8 second) +{ + gchar *s; + + /* Translators: set this to anything else if you want to use a + * 24 hour clock. + */ + if (!strcmp (_("24hr: no"), "24hr: no")) { + const gchar *ampm_s; + + if (hour < 12) + ampm_s = _("AM"); + else + ampm_s = _("PM"); + + hour %= 12; + if (hour == 0) + hour = 12; + + if (second <= 59) + /* Translators: This is hh:mm:ss AM/PM. */ + s = g_strdup_printf (_("%02d:%02d:%02d %s"), hour, minute, second, ampm_s); + else + /* Translators: This is hh:mm AM/PM. */ + s = g_strdup_printf (_("%02d:%02d %s"), hour, minute, ampm_s); + } else { + if (second <= 59) + /* Translators: This is hh:mm:ss. */ + s = g_strdup_printf (_("%02d:%02d:%02d"), hour, minute, second); + else + /* Translators: This is hh:mm. */ + s = g_strdup_printf (_("%02d:%02d"), hour, minute); + } + + return s; +} + +static void +popup_position (GtkWidget *widget, GtkWindow *popup) +{ + GtkAllocation allocation; + GtkRequisition requisition; + gint x, y, width, height; + + gtk_widget_get_preferred_size (GTK_WIDGET (popup), &requisition, NULL); + gdk_window_get_origin (gtk_widget_get_window (widget), &x, &y); + + gtk_widget_get_allocation (widget, &allocation); + x += allocation.x; + y += allocation.y; + width = allocation.width; + height = allocation.height; + + x += width - requisition.width; + y += height; + + if (x < 0) + x = 0; + if (y < 0) + y = 0; + + gtk_window_move (popup, x, y); +} + +static void +popup_show (GtkWindow *popup) +{ + g_autoptr(GdkCursor) cursor = NULL; + GdkDisplay *display; + + gtk_widget_show (GTK_WIDGET (popup)); + gtk_widget_grab_focus (GTK_WIDGET (popup)); + gtk_grab_add (GTK_WIDGET (popup)); + + display = gdk_display_get_default (); + cursor = gdk_cursor_new_for_display (display, GDK_ARROW); + gdk_seat_grab (gdk_display_get_default_seat (display), + gtk_widget_get_window (GTK_WIDGET (popup)), + GDK_OWNERSHIP_APPLICATION, + TRUE, + cursor, + NULL, + NULL, + NULL); +} + +static void +popup_hide (GtkWindow *popup) +{ + GdkDisplay *display; + + gtk_widget_hide (GTK_WIDGET (popup)); + gtk_grab_remove (GTK_WIDGET (popup)); + + display = gdk_display_get_default (); + gdk_seat_ungrab (gdk_display_get_default_seat (display)); +} + +/* + * Calendar Popup + */ + +static void +date_arrow_toggled (EggDateTime *edt, GtkToggleButton *button) +{ + EggDateTimePrivate *priv = edt->priv; + + if (!gtk_toggle_button_get_active (button)) + return; + + /* Set Date */ + + parse_date (edt); + + gtk_calendar_select_month (GTK_CALENDAR (priv->calendar), priv->month - 1, priv->year); + gtk_calendar_select_day (GTK_CALENDAR (priv->calendar), priv->day); + + /* Position Popup */ + + popup_position (priv->date_button, GTK_WINDOW (priv->cal_popup)); + + /* Show Popup */ + + popup_show (GTK_WINDOW (priv->cal_popup)); +} + +static void +cal_popup_changed (EggDateTime *edt, GtkCalendar *calendar) +{ + guint year, month, day; + + gtk_calendar_get_date (GTK_CALENDAR (edt->priv->calendar), &year, &month, &day); + + edt->priv->year = year; + edt->priv->month = month + 1; + edt->priv->day = day; + edt->priv->date_valid = TRUE; + + normalize_date (edt); + update_date_label (edt); + + g_signal_emit (G_OBJECT (edt), egg_datetime_signals[SIGNAL_DATE_CHANGED], 0); +} + +static void +cal_popup_double_click (EggDateTime *edt, GtkCalendar *calendar) +{ + cal_popup_hide (edt); +} + +static gboolean +cal_popup_key_pressed (EggDateTime *edt, GdkEventKey *event, GtkWidget *widget) +{ + if (event->keyval != GDK_Escape) + return FALSE; + + g_signal_stop_emission_by_name (G_OBJECT (widget), "key_press_event"); + + cal_popup_hide (edt); + + return TRUE; +} + +static gboolean +cal_popup_button_pressed (EggDateTime *edt, GdkEventButton *event, GtkWidget *widget) +{ + GtkWidget *child; + + child = gtk_get_event_widget ((GdkEvent *) event); + + /* We don't ask for button press events on the grab widget, so + * if an event is reported directly to the grab widget, it must + * be on a window outside the application (and thus we remove + * the popup window). Otherwise, we check if the widget is a child + * of the grab widget, and only remove the popup window if it + * is not. + */ + if (child != widget) { + while (child) { + if (child == widget) + return FALSE; + child = gtk_widget_get_parent (child); + } + } + + cal_popup_hide (edt); + + return TRUE; +} + +static gboolean +cal_popup_closed (EggDateTime *edt, GtkWindow *popup) +{ + cal_popup_hide (edt); + + return TRUE; +} + +static void +cal_popup_hide (EggDateTime *edt) +{ + EggDateTimePrivate *priv = edt->priv; + + popup_hide (GTK_WINDOW (priv->cal_popup)); + + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->date_button), FALSE); + gtk_widget_grab_focus (priv->date_entry); + + g_signal_emit (G_OBJECT (edt), egg_datetime_signals[SIGNAL_DATE_CHANGED], 0); +} + +/* + * Time Popup + */ + +static void +time_arrow_toggled (EggDateTime *edt, GtkToggleButton *button) +{ + EggDateTimePrivate *priv = edt->priv; + + if (!gtk_toggle_button_get_active (button)) + return; + + /* Set Time */ + + parse_time (edt); + + timelist_set_time (TIMELIST (priv->timelist), priv->hour, priv->minute); + + /* Position Popup */ + + popup_position (priv->time_button, GTK_WINDOW (priv->time_popup)); + + /* Show Popup */ + + popup_show (GTK_WINDOW (priv->time_popup)); +} + +static void +time_popup_changed (EggDateTime *edt, Timelist *timelist) +{ + EggDateTimePrivate *priv = edt->priv; + + if (!timelist_get_time (timelist, &priv->hour, &priv->minute)) + return; + + priv->second = 0; + priv->time_valid = TRUE; + + normalize_time (edt); + update_time_label (edt); + + g_signal_emit (G_OBJECT (edt), egg_datetime_signals[SIGNAL_TIME_CHANGED], 0); +} + +static gboolean +time_popup_key_pressed (EggDateTime *edt, GdkEventKey *event, GtkWidget *widget) +{ + if (event->keyval != GDK_Escape) + return FALSE; + + g_signal_stop_emission_by_name (G_OBJECT (widget), "key_press_event"); + + time_popup_hide (edt); + + return TRUE; +} + +static gboolean +time_popup_button_pressed (EggDateTime *edt, GdkEventButton *event, GtkWidget *widget) +{ + GtkWidget *child; + + child = gtk_get_event_widget ((GdkEvent *) event); + + /* We don't ask for button press events on the grab widget, so + * if an event is reported directly to the grab widget, it must + * be on a window outside the application (and thus we remove + * the popup window). Otherwise, we check if the widget is a child + * of the grab widget, and only remove the popup window if it + * is not. + */ + if (child != widget) { + while (child) { + if (child == widget) + return FALSE; + child = gtk_widget_get_parent (child); + } + } + + time_popup_hide (edt); + + return TRUE; +} + +static gboolean +time_popup_closed (EggDateTime *edt, GtkWindow *popup) +{ + time_popup_hide (edt); + + return TRUE; +} + +static void +time_popup_hide (EggDateTime *edt) +{ + EggDateTimePrivate *priv = edt->priv; + + popup_hide (GTK_WINDOW (priv->time_popup)); + + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->time_button), FALSE); + gtk_widget_grab_focus (priv->time_entry); + + g_signal_emit (G_OBJECT (edt), egg_datetime_signals[SIGNAL_TIME_CHANGED], 0); +} + +/* + * Callbacks + */ + +static gboolean +date_focus_out (EggDateTime *edt, GtkEntry *entry) +{ + parse_date (edt); + update_date_label (edt); + + g_signal_emit (G_OBJECT (edt), egg_datetime_signals[SIGNAL_DATE_CHANGED], 0); + + return FALSE; +} + +static gboolean +time_focus_out (EggDateTime *edt, GtkEntry *entry) +{ + parse_time (edt); + update_time_label (edt); + + g_signal_emit (G_OBJECT (edt), egg_datetime_signals[SIGNAL_TIME_CHANGED], 0); + + return FALSE; +} + +/* + * Private Methods + */ + +static void +apply_display_mode (EggDateTime *edt) +{ + if (edt->priv->display_mode & EGG_DATETIME_DISPLAY_DATE) + gtk_widget_show (edt->priv->date_box); + else + gtk_widget_hide (edt->priv->date_box); + if (edt->priv->display_mode & EGG_DATETIME_DISPLAY_MONTH) + gtk_widget_show (edt->priv->date_button); + else + gtk_widget_hide (edt->priv->date_button); + + if (edt->priv->display_mode & EGG_DATETIME_DISPLAY_TIME) + gtk_widget_show (edt->priv->time_box); + else + gtk_widget_hide (edt->priv->time_box); + if (edt->priv->display_mode & EGG_DATETIME_DISPLAY_HOUR) + gtk_widget_show (edt->priv->time_button); + else + gtk_widget_hide (edt->priv->time_button); +} + +static void +clamp_time_labels (EggDateTime *edt) +{ + EggDateTimePrivate *priv = edt->priv; + + timelist_clamp (TIMELIST (priv->timelist), + priv->clamp_minhour, + priv->clamp_minminute, + priv->clamp_maxhour, + priv->clamp_maxminute); +} + +/* Updates the date entry to the current date. */ +static void +update_date_label (EggDateTime *edt) +{ + EggDateTimePrivate *priv = edt->priv; + gchar *s; + + if (!priv->date_valid) { + gtk_entry_set_text (GTK_ENTRY (priv->date_entry), ""); + return; + } + + /* TODO: should handle other display modes as well... */ + + /* Translators: This is YYYY-MM-DD */ + s = g_strdup_printf (_("%04d-%02d-%02d"), priv->year, priv->month, priv->day); + gtk_entry_set_text (GTK_ENTRY (priv->date_entry), s); + g_free (s); +} + +/* Updates the time entry to the current time. */ +static void +update_time_label (EggDateTime *edt) +{ + EggDateTimePrivate *priv = edt->priv; + gchar *s; + + if (!priv->time_valid) { + gtk_entry_set_text (GTK_ENTRY (priv->time_entry), ""); + return; + } + + /* TODO: should handle other display modes as well... */ + + if ((priv->display_mode & EGG_DATETIME_DISPLAY_SECOND) || + (priv->display_mode & EGG_DATETIME_DISPLAY_SECOND_OPT)) + s = get_time_string (priv->hour, priv->minute, priv->second); + else + s = get_time_string (priv->hour, priv->minute, 0xff); + + gtk_entry_set_text (GTK_ENTRY (priv->time_entry), s); + + g_free (s); +} + +/* Parse the current date entry and normalize the date. */ +static void +parse_date (EggDateTime *edt) +{ + GDate date; + + g_date_set_parse (&date, gtk_entry_get_text (GTK_ENTRY (edt->priv->date_entry))); + if (!g_date_valid (&date)) { + if (edt->priv->lazy) + edt->priv->date_valid = FALSE; + return; + } + + edt->priv->year = date.year; + edt->priv->month = date.month; + edt->priv->day = date.day; + edt->priv->date_valid = TRUE; + + normalize_date (edt); +} + +/* Parse the current time entry and normalize the time. */ +static void +parse_time (EggDateTime *edt) +{ + const gchar *s; + gchar *scp; + unsigned int hour, minute, second = 0; + size_t len1, len2, len3; + + /* Retrieve and Parse String */ + + s = gtk_entry_get_text (GTK_ENTRY (edt->priv->time_entry)); + + /* Translators: This is hh:mm:ss. */ + if (sscanf (s, _("%u:%u:%u"), &hour, &minute, &second) < 2) { + if (sscanf (s, "%u:%u:%u", &hour, &minute, &second) < 2) { + if (edt->priv->lazy) + edt->priv->time_valid = FALSE; + return; + } + } + + if (hour > 23 || minute > 59 || second > 59) { + if (edt->priv->lazy) + edt->priv->time_valid = FALSE; + return; + } + + /* AM/PM Handling */ + + scp = g_strdup (s); + scp = g_strchomp (scp); + + len1 = strlen (_("AM")); + len2 = strlen (_("PM")); + len3 = strlen (scp); + + if (len1 < len3 && !strcasecmp (scp + len3 - len1, _("AM"))) { + if (hour == 12) + hour = 0; + } + if (len2 < len3 && !strcasecmp (scp + len3 - len2, _("PM"))) { + if (hour == 12) + hour = 0; + hour += 12; + } + + /* Store Time */ + + edt->priv->hour = hour; + edt->priv->minute = minute; + edt->priv->second = second; + edt->priv->time_valid = TRUE; + + /* Cleanup */ + + g_free (scp); + + normalize_time (edt); +} + +/* Clamp the current date to the date clamp range if lazy is turned off. */ +static void +normalize_date (EggDateTime *edt) +{ + GDate date, min_date, max_date; + + if (edt->priv->lazy) + return; + + g_date_clear (&date, 1); + g_date_set_dmy (&date, edt->priv->day, edt->priv->month, edt->priv->year); + g_date_clear (&min_date, 1); + g_date_set_dmy (&min_date, edt->priv->clamp_minday, edt->priv->clamp_minmonth, edt->priv->clamp_minyear); + g_date_clear (&max_date, 1); + g_date_set_dmy (&max_date, edt->priv->clamp_maxday, edt->priv->clamp_maxmonth, edt->priv->clamp_maxyear); + + g_date_clamp (&date, &min_date, &max_date); + + edt->priv->year = date.year; + edt->priv->month = date.month; + edt->priv->day = date.day; + edt->priv->date_valid = TRUE; +} + +/* Clamp the current time to the time clamp range if lazy is turned off. */ +static void +normalize_time (EggDateTime *edt) +{ + if (edt->priv->lazy) + return; + + if (edt->priv->hour < edt->priv->clamp_minhour) { + edt->priv->hour = edt->priv->clamp_minhour; + edt->priv->minute = edt->priv->clamp_minminute; + edt->priv->second = edt->priv->clamp_minsecond; + } else if (edt->priv->hour == edt->priv->clamp_minhour) { + if (edt->priv->minute < edt->priv->clamp_minminute) { + edt->priv->minute = edt->priv->clamp_minminute; + edt->priv->second = edt->priv->clamp_minsecond; + } else if (edt->priv->minute == edt->priv->clamp_minminute) { + if (edt->priv->second < edt->priv->clamp_minsecond) + edt->priv->second = edt->priv->clamp_minsecond; + } + } + + if (edt->priv->hour > edt->priv->clamp_maxhour) { + edt->priv->hour = edt->priv->clamp_maxhour; + edt->priv->minute = edt->priv->clamp_maxminute; + edt->priv->second = edt->priv->clamp_maxsecond; + } else if (edt->priv->hour == edt->priv->clamp_maxhour) { + if (edt->priv->minute > edt->priv->clamp_maxminute) { + edt->priv->minute = edt->priv->clamp_maxminute; + edt->priv->second = edt->priv->clamp_maxsecond; + } else if (edt->priv->minute == edt->priv->clamp_maxminute) { + if (edt->priv->second > edt->priv->clamp_maxsecond) + edt->priv->second = edt->priv->clamp_maxsecond; + } + } + + edt->priv->time_valid = TRUE; +} + +static void +parse_and_update_date (EggDateTime *edt) +{ + if (edt->priv->lazy) + return; + + parse_date (edt); + update_date_label (edt); +} + +static void +parse_and_update_time (EggDateTime *edt) +{ + if (edt->priv->lazy) + return; + + parse_time (edt); + update_time_label (edt); +} + +/* + * Public Methods + */ + +/** + * egg_datetime_new: + * + * Creates a new #EggDateTime widget. By default this widget will show + * only the date component and is set to the current date and time. + * + * Return value: a newly created #EggDateTime widget + **/ +GtkWidget * +egg_datetime_new (void) +{ + EggDateTime *edt; + + edt = g_object_new (EGG_TYPE_DATETIME, "orientation", GTK_ORIENTATION_HORIZONTAL, NULL); + egg_datetime_set_from_time_t (edt, time (NULL)); + + return GTK_WIDGET (edt); +} + +/** + * egg_datetime_new_from_time_t: + * @t: initial time and date + * + * Creates a new #EggDateTime widget and sets it to the date and time + * given as @t argument. This does also call egg_datetime_set_clamp_time_t(). + * By default this widget will show only the date component. + * + * Return value: a newly created #EggDateTime widget + **/ +GtkWidget * +egg_datetime_new_from_time_t (time_t t) +{ + EggDateTime *edt; + + g_return_val_if_fail (t >= 0, NULL); + + edt = g_object_new (EGG_TYPE_DATETIME, NULL); + egg_datetime_set_from_time_t (edt, t); + egg_datetime_set_clamp_time_t (edt); + + return GTK_WIDGET (edt); +} + +/** + * egg_datetime_new_from_struct_tm: + * @tm: initial time and date + * + * Creates a new #EggDateTime widget and sets it to the date and time + * given as @tm argument. By default this widget will show only the date + * component. + * + * Return value: a newly created #EggDateTime widget + **/ +GtkWidget * +egg_datetime_new_from_struct_tm (struct tm *tm) +{ + EggDateTime *edt; + + g_return_val_if_fail (tm != NULL, NULL); + + edt = g_object_new (EGG_TYPE_DATETIME, NULL); + egg_datetime_set_from_struct_tm (edt, tm); + + return GTK_WIDGET (edt); +} + +/** + * egg_datetime_new_from_gdate: + * @date: initial time and date + * + * Creates a new #EggDateTime widget and sets it to the date and time + * given as @date argument. By default this widget will show only the + * date component. + * + * Return value: a newly created #EggDateTime widget + **/ +GtkWidget * +egg_datetime_new_from_gdate (GDate *date) +{ + EggDateTime *edt; + + g_return_val_if_fail (date != NULL, NULL); + + edt = g_object_new (EGG_TYPE_DATETIME, NULL); + egg_datetime_set_from_gdate (edt, date); + + return GTK_WIDGET (edt); +} + +/** + * egg_datetime_new_from_datetime: + * @year: initial year + * @month: initial month + * @day: initial day + * @hour: initial hour + * @minute: initial minute + * @second: initial second + * + * Creates a new #EggDateTime widget and sets it to the date and time + * given as arguments. + * + * Return value: a newly created #EggDateTime widget + **/ +GtkWidget * +egg_datetime_new_from_datetime (GDateYear year, GDateMonth month, GDateDay day, guint8 hour, guint8 minute, guint8 second) +{ + EggDateTime *edt; + + edt = g_object_new (EGG_TYPE_DATETIME, NULL); + egg_datetime_set_date (edt, year, month, day); + egg_datetime_set_time (edt, hour, minute, second); + + return GTK_WIDGET (edt); +} + +/** + * egg_datetime_set_none: + * @edt: an #EggDateTime + * + * Sets the date to an invalid value. If lazy mode is turned off the date + * and time will be set to a random value. + **/ +void +egg_datetime_set_none (EggDateTime *edt) +{ + g_return_if_fail (edt != NULL); + g_return_if_fail (EGG_IS_DATETIME (edt)); + + edt->priv->date_valid = FALSE; + edt->priv->time_valid = FALSE; + + update_date_label (edt); + update_time_label (edt); + + g_signal_emit (G_OBJECT (edt), egg_datetime_signals[SIGNAL_DATE_CHANGED], 0); + g_signal_emit (G_OBJECT (edt), egg_datetime_signals[SIGNAL_TIME_CHANGED], 0); +} + +/** + * egg_datetime_set_from_time_t: + * @edt: an #EggDateTime + * @t: date and time to set the widget to + * + * Sets the date and time of the widget to @t. + **/ +void +egg_datetime_set_from_time_t (EggDateTime *edt, time_t t) +{ + struct tm tm; + + g_return_if_fail (edt != NULL); + g_return_if_fail (EGG_IS_DATETIME (edt)); + + if (localtime_r (&t, &tm)) { + egg_datetime_set_date (edt, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday); + egg_datetime_set_time (edt, tm.tm_hour, tm.tm_min, tm.tm_sec); + } else + egg_datetime_set_none (edt); +} + +/** + * egg_datetime_get_as_time_t: + * @edt: an #EggDateTime + * @t: pointer to a %time_t value + * + * Returns the current time as a %time_t value. If the currently entered + * value is invalid and lazy mode is turned on or if the entered date + * can't be represented as a %time_t value, the value is set to -1 and + * FALSE is returned. + * + * Return value: success indicator + **/ +gboolean +egg_datetime_get_as_time_t (EggDateTime *edt, time_t *t) +{ + struct tm tm; + GDateYear year; + GDateMonth month; + GDateDay day; + guint8 hour, minute, second; + + g_return_val_if_fail (edt != NULL, FALSE); + g_return_val_if_fail (EGG_IS_DATETIME (edt), FALSE); + + if (!t) + return FALSE; + + if (!egg_datetime_get_date (edt, &year, &month, &day)) { + *t = -1; + return FALSE; + } + if (!egg_datetime_get_time (edt, &hour, &minute, &second)) { + *t = -1; + return FALSE; + } + + memset (&tm, 0, sizeof (struct tm)); + tm.tm_year = year - 1900; + tm.tm_mon = month - 1; + tm.tm_mday = day; + tm.tm_hour = hour; + tm.tm_min = minute; + tm.tm_sec = second; + + *t = mktime (&tm); + + if (*t < 0) { + *t = -1; + return FALSE; + } + + return TRUE; +} + +/** + * egg_datetime_set_from_struct_tm: + * @edt: an #EggDateTime + * @tm: date and time to set the widget to + * + * Sets the date and time of the widget to @tm. + **/ +void +egg_datetime_set_from_struct_tm (EggDateTime *edt, struct tm *tm) +{ + g_return_if_fail (edt != NULL); + g_return_if_fail (EGG_IS_DATETIME (edt)); + g_return_if_fail (tm != NULL); + + egg_datetime_set_date (edt, tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday); + egg_datetime_set_time (edt, tm->tm_hour, tm->tm_min, tm->tm_sec); +} + +/** + * egg_datetime_get_as_struct_tm: + * @edt: an #EggDateTime + * @tm: pointer to an allocated struct tm + * + * Fill the supplied struct tm with the widget's current date and time. + * If the currently entered value is invalid and lazy mode is turned + * on or if the entered date can't be represented as a struct tm, the + * struct is filled with invalid data and FALSE is returned. + * + * Return value: success indicator + **/ +gboolean +egg_datetime_get_as_struct_tm (EggDateTime *edt, struct tm *tm) +{ + GDateYear year; + GDateMonth month; + GDateDay day; + guint8 hour, minute, second; + + g_return_val_if_fail (edt != NULL, FALSE); + g_return_val_if_fail (EGG_IS_DATETIME (edt), FALSE); + + if (!tm) + return FALSE; + + memset (tm, 0, sizeof (struct tm)); + + if (!egg_datetime_get_date (edt, &year, &month, &day)) + return FALSE; + if (!egg_datetime_get_time (edt, &hour, &minute, &second)) + return FALSE; + + tm->tm_year = year - 1900; + tm->tm_mon = month - 1; + tm->tm_mday = day; + tm->tm_hour = hour; + tm->tm_min = minute; + tm->tm_sec = second; + + mktime (tm); + + return TRUE; +} + +/** + * egg_datetime_set_from_gdate: + * @edt: an #EggDateTime + * @date: date to set the widget to + * + * Sets the date of the widget to @date. The time will remain unchanged. + **/ +void +egg_datetime_set_from_gdate (EggDateTime *edt, GDate *date) +{ + g_return_if_fail (edt != NULL); + g_return_if_fail (EGG_IS_DATETIME (edt)); + g_return_if_fail (date != NULL); + + if (g_date_valid (date)) + egg_datetime_set_date (edt, date->year, date->month, date->day); + else + egg_datetime_set_none (edt); +} + +/** + * egg_datetime_get_as_gdate: + * @edt: an #EggDateTime + * @date: pointer to an allocated #GDate + * + * Fills the supplied #GDate with the widget's current date. If the + * currently entered date value is invalid and lazy mode is turned + * on or if the entered date can't be represented as a #GDate, the + * @date is set to an invalid value and FALSE is returned. + * + * Return value: success indicator + **/ +gboolean +egg_datetime_get_as_gdate (EggDateTime *edt, GDate *date) +{ + GDateYear year; + GDateMonth month; + GDateDay day; + + g_return_val_if_fail (edt != NULL, FALSE); + g_return_val_if_fail (EGG_IS_DATETIME (edt), FALSE); + + if (!date) + return FALSE; + + g_date_clear (date, 1); + + if (!egg_datetime_get_date (edt, &year, &month, &day)) + return FALSE; + + g_date_set_dmy (date, day, month, year); + + return TRUE; +} + +/** + * egg_datetime_set_date: + * @edt: an #EggDateTime + * @year: a #guint16 between 1 and 9999 + * @month: a #guint8 between 1 and 12 + * @day: a #guint8 between 1 and 28-31 (depending on @month) + * + * Sets the date of the widget. The time will remain unchanged. + **/ +void +egg_datetime_set_date (EggDateTime *edt, GDateYear year, GDateMonth month, GDateDay day) +{ + g_return_if_fail (edt != NULL); + g_return_if_fail (EGG_IS_DATETIME (edt)); + g_return_if_fail (year >= 1 && year <= 9999); + g_return_if_fail (month >= 1 && month <= 12); + g_return_if_fail (day >= 1 && day <= g_date_get_days_in_month (month, year)); + + edt->priv->year = year; + edt->priv->month = month; + edt->priv->day = day; + edt->priv->date_valid = TRUE; + + normalize_date (edt); + update_date_label (edt); + + g_signal_emit (G_OBJECT (edt), egg_datetime_signals[SIGNAL_DATE_CHANGED], 0); +} + +/** + * egg_datetime_get_date: + * @edt: an #EggDateTime + * @year: a pointer to a #guint16 or %NULL + * @month: a pointer to #guint8 or %NULL + * @day: a pointer to a #guint8 or %NULL + * + * Fills the supplied arguments with the widget's current date. If the + * currently entered date value is invalid and lazy mode is turned + * on, the arguments are set to %EGG_DATETIME_INVALID_DATE and FALSE + * is returned. + * + * Return value: success indicator + **/ +gboolean +egg_datetime_get_date (EggDateTime *edt, GDateYear *year, GDateMonth *month, GDateDay *day) +{ + g_return_val_if_fail (edt != NULL, FALSE); + g_return_val_if_fail (EGG_IS_DATETIME (edt), FALSE); + + parse_date (edt); + + if (!edt->priv->date_valid) { + if (year) + *year = 0; + if (month) + *month = 0; + if (day) + *day = 0; + return FALSE; + } + + if (year) + *year = edt->priv->year; + if (month) + *month = edt->priv->month; + if (day) + *day = edt->priv->day; + + return TRUE; +} + +/** + * egg_datetime_set_time: + * @edt: an #EggDateTime + * @hour: a #guint8 between 0 and 23 + * @minute: a #guint8 between 0 and 59 + * @second: a #guint8 between 0 and 59 + * + * Sets the time of the widget. The date will remain unchanged. + **/ +void +egg_datetime_set_time (EggDateTime *edt, guint8 hour, guint8 minute, guint8 second) +{ + g_return_if_fail (edt != NULL); + g_return_if_fail (EGG_IS_DATETIME (edt)); + g_return_if_fail (hour <= 23); + g_return_if_fail (minute <= 59); + g_return_if_fail (second <= 59); + + edt->priv->hour = hour; + edt->priv->minute = minute; + edt->priv->second = second; + edt->priv->time_valid = TRUE; + + normalize_time (edt); + update_time_label (edt); + + g_signal_emit (G_OBJECT (edt), egg_datetime_signals[SIGNAL_TIME_CHANGED], 0); +} + +/** + * egg_datetime_get_date: + * @edt: an #EggDateTime + * @hour: a pointer to a #guint8 or %NULL + * @minute: a pointer to #guint8 or %NULL + * @second: a pointer to a #guint8 or %NULL + * + * Fills the supplied arguments with the widget's current time. If the + * currently entered time value is invalid and lazy mode is turned + * on, the arguments are set to %EGG_DATETIME_INVALID_TIME and FALSE + * is returned. + * + * Return value: success indicator + **/ +gboolean +egg_datetime_get_time (EggDateTime *edt, guint8 *hour, guint8 *minute, guint8 *second) +{ + g_return_val_if_fail (edt != NULL, FALSE); + g_return_val_if_fail (EGG_IS_DATETIME (edt), FALSE); + + parse_time (edt); + + if (!edt->priv->time_valid) { + if (hour) + *hour = 0xff; + if (minute) + *minute = 0xff; + if (second) + *second = 0xff; + return FALSE; + } + + if (hour) + *hour = edt->priv->hour; + if (minute) + *minute = edt->priv->minute; + if (second) + *second = edt->priv->second; + + return TRUE; +} + +/** + * egg_datetime_set_lazy: + * @edt: an #EggDateTime + * @lazy: a boolean value + * + * Turns the widget's lazy mode on or off. In lazy mode the widget will + * allow invalid values to be entered. If lazy mode is turned off the + * widget will normalize all invalid values entered in the date and time + * widgets to the nearest valid value. This guarantees that the get methods + * will always return valid values. + * + * Lazy mode defaults to %TRUE. + **/ +void +egg_datetime_set_lazy (EggDateTime *edt, gboolean lazy) +{ + g_return_if_fail (edt != NULL); + g_return_if_fail (EGG_IS_DATETIME (edt)); + + edt->priv->lazy = lazy ? TRUE : FALSE; + + parse_and_update_date (edt); + parse_and_update_time (edt); + + g_signal_emit (G_OBJECT (edt), egg_datetime_signals[SIGNAL_DATE_CHANGED], 0); + g_signal_emit (G_OBJECT (edt), egg_datetime_signals[SIGNAL_TIME_CHANGED], 0); +} + +/** + * egg_datetime_get_lazy: + * @edt: an #EggDateTime + * + * Returns whether the widget is in lazy mode. + * + * Return value: a boolean value + **/ +gboolean +egg_datetime_get_lazy (EggDateTime *edt) +{ + g_return_val_if_fail (edt != NULL, FALSE); + g_return_val_if_fail (EGG_IS_DATETIME (edt), FALSE); + + return edt->priv->lazy; +} + +/** + * egg_datetime_set_display_mode: + * @edt: an #EggDateTime + * @mode: new display mode + * + * Sets the widget's new display mode to @mode. The display mode defaults + * to %EGG_DATETIME_DISPLAY_DATE. + **/ +void +egg_datetime_set_display_mode (EggDateTime *edt, EggDateTimeDisplayMode mode) +{ + g_return_if_fail (edt != NULL); + g_return_if_fail (EGG_IS_DATETIME (edt)); + + edt->priv->display_mode = mode; + + apply_display_mode (edt); +} + +/** + * egg_datetime_get_display_mode: + * @edt: an #EggDateTime + * + * Returns the current display mode. + * + * Return value: The current display mode. + **/ +EggDateTimeDisplayMode +egg_datetime_get_display_mode (EggDateTime *edt) +{ + g_return_val_if_fail (edt != NULL, 0); + g_return_val_if_fail (EGG_IS_DATETIME (edt), 0); + + return edt->priv->display_mode; +} + +/** + * egg_datetime_set_clamp_date: + * @edt: an #EggDateTime + * @minyear: minimum year + * @minmonth: minimum month + * @minday: minimum day + * @maxyear: maximum year + * @maxmonth: maximum month + * @maxday: maximum day + * + * Limits the allowed dates to the range given. If lazy mode is + * turned off, dates that are outside of this range are snapped to the + * minimum or maximum date. Otherwise such dates return an invalid value. + * + * This defaults to the minimum date 1-1-1 and maximum date 9999-12-31. + * The maximum year is always limited to 9999. + **/ +void +egg_datetime_set_clamp_date (EggDateTime *edt, + GDateYear minyear, + GDateMonth minmonth, + GDateDay minday, + GDateYear maxyear, + GDateMonth maxmonth, + GDateDay maxday) +{ + if (maxyear > 9999) + maxyear = 9999; + + g_return_if_fail (minyear >= 1 && minyear <= 9999 && maxyear >= 1); + g_return_if_fail (minmonth >= 1 && minmonth <= 12 && maxmonth >= 1 && maxmonth <= 12); + g_return_if_fail (minday >= 1 && minday <= g_date_get_days_in_month (minmonth, minyear)); + g_return_if_fail (maxday >= 1 && maxday <= g_date_get_days_in_month (maxmonth, maxyear)); + g_return_if_fail (minyear <= maxyear); + g_return_if_fail (minyear < maxyear || minmonth <= maxmonth); + g_return_if_fail (minyear < maxyear || minmonth < maxmonth || minday <= maxday); + + edt->priv->clamp_minyear = minyear; + edt->priv->clamp_minmonth = minmonth; + edt->priv->clamp_minday = minday; + edt->priv->clamp_maxyear = maxyear; + edt->priv->clamp_maxmonth = maxmonth; + edt->priv->clamp_maxday = maxday; + + parse_and_update_date (edt); + + g_signal_emit (G_OBJECT (edt), egg_datetime_signals[SIGNAL_DATE_CHANGED], 0); +} + +/** + * egg_datetime_set_clamp_time: + * @edt: an #EggDateTime + * @minhour: minimum hour + * @minminute: minimum minute + * @minsecond: minimum second + * @maxhour: maximum hour + * @maxminute: maximum minute + * @maxsecond: maximum second + * + * Limits the allowed times to the range given. If lazy mode is turned + * off, times that are outside of this range are snapped to the minimum or + * maximum time. Otherwise such times return an invalid value. + **/ +void +egg_datetime_set_clamp_time (EggDateTime *edt, guint8 minhour, guint8 minminute, guint8 minsecond, guint8 maxhour, guint8 maxminute, guint8 maxsecond) +{ + g_return_if_fail (minhour <= 23 && maxhour <= 23); + g_return_if_fail (minminute <= 59 && maxminute <= 59); + g_return_if_fail (minsecond <= 59 && maxsecond <= 59); + g_return_if_fail (minhour <= maxhour); + g_return_if_fail (minhour < maxhour || minminute <= maxminute); + g_return_if_fail (minhour < maxhour || minminute < maxminute || minsecond <= maxsecond); + + edt->priv->clamp_minhour = minhour; + edt->priv->clamp_minminute = minminute; + edt->priv->clamp_minsecond = minsecond; + edt->priv->clamp_maxhour = maxhour; + edt->priv->clamp_maxminute = maxminute; + edt->priv->clamp_maxsecond = maxsecond; + + clamp_time_labels (edt); + parse_and_update_time (edt); + + g_signal_emit (G_OBJECT (edt), egg_datetime_signals[SIGNAL_TIME_CHANGED], 0); +} + +/** + * egg_datetime_set_clamp_time_t: + * @edt: an #EggDateTime + * + * Clamps the allowed dates of the widget to valid #time_t values. + * The time clamp settings are not changed. + **/ +void +egg_datetime_set_clamp_time_t (EggDateTime *edt) +{ + time_t t; + struct tm start_tm, end_tm; + guint bits; + guint16 year; + guint8 month, day; + + g_return_if_fail (edt != NULL); + g_return_if_fail (EGG_IS_DATETIME (edt)); + + t = 0; + gmtime_r (&t, &start_tm); + + /* evil hack */ + bits = time_t_bits (); + t = ~0; + t &= ~(1 << (bits - 1)); + + gmtime_r (&t, &end_tm); + + /* Subtract one day from the end date, since not all times of + * the last day can be represented. + */ + + year = end_tm.tm_year + 1900; + month = end_tm.tm_mon + 1; + day = end_tm.tm_mday; + + if (--day == 0) { + if (--month == 0) { + year--; + month = 12; + } + + day = g_date_get_days_in_month (month, year); + } + + egg_datetime_set_clamp_date (edt, start_tm.tm_year + 1900, start_tm.tm_mon + 1, start_tm.tm_mday, year, month, day); +} + +/** + * egg_datetime_get_clamp_date: + * @edt: an #EggDateTime + * @minyear: #guint16 pointer or %NULL + * @minmonth: #guint8 pointer or %NULL + * @minday: #guint8 pointer or %NULL + * @maxyear: #guint16 pointer or %NULL + * @maxmonth: #guint8 pointer or %NULL + * @maxday: #guint8 pointer or %NULL + * + * Returns the current date limit settings. + **/ +void +egg_datetime_get_clamp_date (EggDateTime *edt, + GDateYear *minyear, + GDateMonth *minmonth, + GDateDay *minday, + GDateYear *maxyear, + GDateMonth *maxmonth, + GDateDay *maxday) +{ + g_return_if_fail (edt != NULL); + g_return_if_fail (EGG_IS_DATETIME (edt)); + + if (minyear) + *minyear = edt->priv->clamp_minyear; + if (minmonth) + *minmonth = edt->priv->clamp_minmonth; + if (minday) + *minday = edt->priv->clamp_minday; + if (maxyear) + *maxyear = edt->priv->clamp_maxyear; + if (maxmonth) + *maxmonth = edt->priv->clamp_maxmonth; + if (maxday) + *maxday = edt->priv->clamp_maxday; +} + +/** + * egg_datetime_get_clamp_time: + * @edt: an #EggDateTime + * @minhour: #guint8 pointer or %NULL + * @minminute: #guint8 pointer or %NULL + * @minsecond: #guint8 pointer or %NULL + * @maxhour: #guint8 pointer or %NULL + * @maxminute: #guint8 pointer or %NULL + * @maxsecond: #guint8 pointer or %NULL + * + * Returns the current time limit settings. + **/ +void +egg_datetime_get_clamp_time (EggDateTime *edt, guint8 *minhour, guint8 *minminute, guint8 *minsecond, guint8 *maxhour, guint8 *maxminute, guint8 *maxsecond) +{ + g_return_if_fail (edt != NULL); + g_return_if_fail (EGG_IS_DATETIME (edt)); + + if (minhour) + *minhour = edt->priv->clamp_minhour; + if (minminute) + *minminute = edt->priv->clamp_minminute; + if (minsecond) + *minsecond = edt->priv->clamp_minsecond; + if (maxhour) + *maxhour = edt->priv->clamp_maxhour; + if (maxminute) + *maxminute = edt->priv->clamp_maxminute; + if (maxsecond) + *maxsecond = edt->priv->clamp_maxsecond; +} + +/** + * egg_datetime_get_date_layout: + * @edt: an #EggDateTime + * + * Gets the PangoLayout used to display the date. See gtk_entry_get_layout() + * for more information. The returned layout is owned by the date/time + * widget so need not be freed by the caller. + * + * Return value: the #PangoLayout for this widget's date part + */ +PangoLayout * +egg_datetime_get_date_layout (EggDateTime *edt) +{ + g_return_val_if_fail (edt != NULL, NULL); + g_return_val_if_fail (EGG_IS_DATETIME (edt), NULL); + + return gtk_entry_get_layout (GTK_ENTRY (edt->priv->date_entry)); +} + +/** + * egg_datetime_get_time_layout: + * @edt: an #EggDateTime + * + * Gets the PangoLayout used to display the time. See gtk_entry_get_layout() + * for more information. The returned layout is owned by the date/time + * widget so need not be freed by the caller. + * + * Return value: the #PangoLayout for this widget's time part + */ +PangoLayout * +egg_datetime_get_time_layout (EggDateTime *edt) +{ + g_return_val_if_fail (edt != NULL, NULL); + g_return_val_if_fail (EGG_IS_DATETIME (edt), NULL); + + return gtk_entry_get_layout (GTK_ENTRY (edt->priv->time_entry)); +} + +/**************************************************************************/ + +/* This is a private time list widget implementation for use as time popup. + */ + +static GtkWidget * +timelist_new (void) +{ + GtkWidget *timelist; + GtkWidget *list; + GtkListStore *model; + GtkTreeSelection *selection; + GtkCellRenderer *renderer; + + timelist = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (timelist), + GTK_POLICY_NEVER, + GTK_POLICY_ALWAYS); + + model = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_UINT); + list = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model)); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list), FALSE); + gtk_widget_show (list); + + renderer = gtk_cell_renderer_text_new (); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (list), + -1, + _("Time"), + renderer, + "text", 0, + NULL); + + gtk_container_add (GTK_CONTAINER (timelist), list); + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (list)); + gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE); + + timelist_set_list (TIMELIST (timelist), 00, 00, 23, 59); + + return timelist; +} + +static void +timelist_set_list (Timelist *timelist, + guint8 minhour, guint8 minminute, + guint8 maxhour, guint8 maxminute) +{ + GtkWidget *tree = gtk_bin_get_child (GTK_BIN (timelist)); + GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree)); + gint minidx, maxidx; + gint i; + + minidx = minhour * 2 + (minminute + 29) / 30; + maxidx = maxhour * 2 + (maxminute + 29) / 30; + + for (i = minidx; i < maxidx; i++) { + GtkTreeIter iter; + gchar *s; + guint hour, minute; + + hour = i / 2; + minute = (i % 2) * 30; + + s = get_time_string (hour, minute, 0xff); + + gtk_list_store_append (GTK_LIST_STORE (model), &iter); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, + 0, s, + 1, hour * 100 + minute, + -1); + + g_free (s); + } +} + +static void +timelist_set_time (Timelist *timelist, guint8 hour, guint8 minute) +{ + GtkWidget *tree = gtk_bin_get_child (GTK_BIN (timelist)); + GtkTreeModel *model; + GtkTreeSelection *selection; + GtkTreeIter iter; + + model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree)); + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); + + if (!gtk_tree_model_get_iter_first (model, &iter)) + return; + + do { + guint time; + + gtk_tree_model_get (model, &iter, 1, &time, -1); + + if (time / 100 == hour && time % 100 == minute) { + gtk_tree_selection_select_iter (selection, &iter); + return; + } + + } while (gtk_tree_model_iter_next (model, &iter)); + + gtk_tree_selection_unselect_all (selection); +} + +static gboolean +timelist_get_time (Timelist *timelist, guint8 *hour, guint8 *minute) +{ + GtkWidget *tree = gtk_bin_get_child (GTK_BIN (timelist)); + GtkTreeSelection *selection; + GtkTreeModel *model; + GtkTreeIter iter; + guint time; + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); + + if (!gtk_tree_selection_get_selected (selection, &model, &iter)) + return FALSE; + + gtk_tree_model_get (model, &iter, 1, &time, -1); + + if (hour) + *hour = time / 100; + if (minute) + *minute = time % 100; + + return TRUE; +} + +static void +timelist_clamp (Timelist *timelist, + guint8 minhour, guint8 minminute, + guint8 maxhour, guint8 maxminute) +{ + timelist_set_list (timelist, minhour, minminute, maxhour, maxminute); +} + +static void +timelist_selection_cb (Timelist *timelist, GtkTreeSelection *selection) +{ + void (*cb)(gpointer, Timelist *); + gpointer data; + + cb = g_object_get_data (G_OBJECT (selection), "cb"); + data = g_object_get_data (G_OBJECT (selection), "data"); + + cb (data, timelist); +} + +static void +timelist_set_selection_callback (Timelist *timelist, void (*cb)(void), gpointer data) +{ + GtkWidget *tree = gtk_bin_get_child (GTK_BIN (timelist)); + GtkTreeSelection *selection; + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree)); + + g_object_set_data (G_OBJECT (selection), "cb", cb); + g_object_set_data (G_OBJECT (selection), "data", data); + g_signal_connect_swapped (G_OBJECT (selection), "changed", + G_CALLBACK (timelist_selection_cb), timelist); +} diff --git a/libegg/egg-datetime.h b/libegg/egg-datetime.h new file mode 100644 index 00000000..f8184528 --- /dev/null +++ b/libegg/egg-datetime.h @@ -0,0 +1,123 @@ +/* + * Copyright (C) 2002, 2003 Sebastian Rittau + * $Id$ + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with the Gnome Library; if not, see + * . + */ + +#ifndef __EGG_DATETIME_H__ +#define __EGG_DATETIME_H__ + +#include + +#include + +#include + +G_BEGIN_DECLS + +typedef enum +{ + /* don't use the following values for now... */ + EGG_DATETIME_DISPLAY_YEAR = 1 << 0, + EGG_DATETIME_DISPLAY_MONTH = 1 << 1, + EGG_DATETIME_DISPLAY_DAY = 1 << 2, + EGG_DATETIME_DISPLAY_HOUR = 1 << 3, + EGG_DATETIME_DISPLAY_MINUTE = 1 << 4, + EGG_DATETIME_DISPLAY_SECOND = 1 << 5, + EGG_DATETIME_DISPLAY_YEAR_OPT = 1 << 6, + EGG_DATETIME_DISPLAY_MONTH_OPT = 1 << 7, + EGG_DATETIME_DISPLAY_DAY_OPT = 1 << 8, + EGG_DATETIME_DISPLAY_HOUR_OPT = 1 << 9, + EGG_DATETIME_DISPLAY_MINUTE_OPT = 1 << 10, + EGG_DATETIME_DISPLAY_SECOND_OPT = 1 << 11 +} EggDateTimeDisplayMode; + +/* ... use these instead */ +#define EGG_DATETIME_DISPLAY_DATE (EGG_DATETIME_DISPLAY_YEAR | EGG_DATETIME_DISPLAY_MONTH | EGG_DATETIME_DISPLAY_DAY) +#define EGG_DATETIME_DISPLAY_TIME (EGG_DATETIME_DISPLAY_HOUR | EGG_DATETIME_DISPLAY_MINUTE) +#define EGG_DATETIME_DISPLAY_TIME_SECONDS (EGG_DATETIME_DISPLAY_HOUR | EGG_DATETIME_DISPLAY_MINUTE | EGG_DATETIME_DISPLAY_SECOND) + +#define EGG_DATETIME_INVALID_DATE (0) +#define EGG_DATETIME_INVALID_TIME (0xff) + + +#define EGG_TYPE_DATETIME (egg_datetime_get_type ()) +#define EGG_DATETIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_DATETIME, EggDateTime)) +#define EGG_DATETIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_DATETIME, EggDateTimeClass)) +#define EGG_IS_DATETIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_DATETIME)) +#define EGG_IS_DATETIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_DATETIME)) +#define EGG_DATETIME_GET_CLASS(obj) (G_TYPE_CHECK_GET_CLASS ((obj), EGG_TYPE_DATETIME, EggDateTimeClass)) + +typedef struct _EggDateTime EggDateTime; +typedef struct _EggDateTimeClass EggDateTimeClass; +typedef struct _EggDateTimePrivate EggDateTimePrivate; + +struct _EggDateTime +{ + GtkBox parent; + + EggDateTimePrivate *priv; +}; + +struct _EggDateTimeClass +{ + GtkBoxClass parent_class; + + /* Signals */ + + void (*date_changed) (EggDateTime *edt); + void (*time_changed) (EggDateTime *edt); +}; + + +/* Constructors */ +GType egg_datetime_get_type (void); +GtkWidget *egg_datetime_new (void); +GtkWidget *egg_datetime_new_from_time_t (time_t t); +GtkWidget *egg_datetime_new_from_struct_tm (struct tm *tm); +GtkWidget *egg_datetime_new_from_gdate (GDate *date); +GtkWidget *egg_datetime_new_from_datetime (GDateYear year, GDateMonth month, GDateDay day, guint8 hour, guint8 minute, guint8 second); + +/* Accessors */ +void egg_datetime_set_none (EggDateTime *edt); +void egg_datetime_set_from_time_t (EggDateTime *edt, time_t t); +gboolean egg_datetime_get_as_time_t (EggDateTime *edt, time_t *t); +void egg_datetime_set_from_struct_tm (EggDateTime *edt, struct tm *tm); +gboolean egg_datetime_get_as_struct_tm (EggDateTime *edt, struct tm *tm); +void egg_datetime_set_from_gdate (EggDateTime *edt, GDate *date); +gboolean egg_datetime_get_as_gdate (EggDateTime *edt, GDate *date); +void egg_datetime_set_date (EggDateTime *edt, GDateYear year, GDateMonth month, GDateDay day); +gboolean egg_datetime_get_date (EggDateTime *edt, GDateYear *year, GDateMonth *month, GDateDay *day); +void egg_datetime_set_time (EggDateTime *edt, guint8 hour, guint8 minute, guint8 second); +gboolean egg_datetime_get_time (EggDateTime *edt, guint8 *hour, guint8 *minute, guint8 *second); + +void egg_datetime_set_lazy (EggDateTime *edt, gboolean lazy); +gboolean egg_datetime_get_lazy (EggDateTime *edt); +void egg_datetime_set_display_mode (EggDateTime *edt, EggDateTimeDisplayMode mode); +EggDateTimeDisplayMode egg_datetime_get_display_mode (EggDateTime *edt); + +void egg_datetime_set_clamp_date (EggDateTime *edt, GDateYear minyear, GDateMonth minmonth, GDateDay minday, GDateYear maxyear, GDateMonth maxmonth, GDateDay maxday); +void egg_datetime_set_clamp_time (EggDateTime *edt, guint8 minhour, guint8 minminute, guint8 minsecond, guint8 maxhour, guint8 maxminute, guint8 maxsecond); +void egg_datetime_set_clamp_time_t (EggDateTime *edt); +void egg_datetime_get_clamp_date (EggDateTime *edt, GDateYear *minyear, GDateMonth *minmonth, GDateDay *minday, GDateYear *maxyear, GDateMonth *maxmonth, GDateDay *maxday); +void egg_datetime_get_clamp_time (EggDateTime *edt, guint8 *minhour, guint8 *minminute, guint8 *minsecond, guint8 *maxhour, guint8 *maxminute, guint8 *maxsecond); + +PangoLayout *egg_datetime_get_date_layout (EggDateTime *edt); +PangoLayout *egg_datetime_get_time_layout (EggDateTime *edt); + +G_END_DECLS + +#endif /* __EGG_DATETIME_H__ */ diff --git a/libegg/eggtreemultidnd.c b/libegg/eggtreemultidnd.c new file mode 100644 index 00000000..54500440 --- /dev/null +++ b/libegg/eggtreemultidnd.c @@ -0,0 +1,415 @@ +/* eggtreemultidnd.c + * Copyright (C) 2001 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, see + * . + */ + +#ifdef HAVE_CONFIG_H +#include +#endif + +#include +#include +#include "eggtreemultidnd.h" + +#define EGG_TREE_MULTI_DND_STRING "EggTreeMultiDndString" + +typedef struct +{ + guint pressed_button; + gint x; + gint y; + guint motion_notify_handler; + guint button_release_handler; + guint drag_data_get_handler; + GList *event_list; +} EggTreeMultiDndData; + +/* CUT-N-PASTE from gtktreeview.c */ +typedef struct _TreeViewDragInfo TreeViewDragInfo; +struct _TreeViewDragInfo +{ + GdkModifierType start_button_mask; + GtkTargetList *source_target_list; + GdkDragAction source_actions; + + GtkTargetList *dest_target_list; + + guint source_set : 1; + guint dest_set : 1; +}; + + +GType +egg_tree_multi_drag_source_get_type (void) +{ + static GType our_type = 0; + + if (!our_type) + { + const GTypeInfo our_info = + { + sizeof (EggTreeMultiDragSourceIface), /* class_size */ + NULL, /* base_init */ + NULL, /* base_finalize */ + NULL, + NULL, /* class_finalize */ + NULL, /* class_data */ + 0, + 0, /* n_preallocs */ + NULL + }; + + our_type = g_type_register_static (G_TYPE_INTERFACE, "EggTreeMultiDragSource", &our_info, 0); + } + + return our_type; +} + + +/** + * egg_tree_multi_drag_source_row_draggable: + * @drag_source: a #EggTreeMultiDragSource + * @path: row on which user is initiating a drag + * + * Asks the #EggTreeMultiDragSource whether a particular row can be used as + * the source of a DND operation. If the source doesn't implement + * this interface, the row is assumed draggable. + * + * Return value: %TRUE if the row can be dragged + **/ +gboolean +egg_tree_multi_drag_source_row_draggable (EggTreeMultiDragSource *drag_source, + GList *path_list) +{ + EggTreeMultiDragSourceIface *iface = EGG_TREE_MULTI_DRAG_SOURCE_GET_IFACE (drag_source); + + g_return_val_if_fail (EGG_IS_TREE_MULTI_DRAG_SOURCE (drag_source), FALSE); + g_return_val_if_fail (iface->row_draggable != NULL, FALSE); + g_return_val_if_fail (path_list != NULL, FALSE); + + if (iface->row_draggable) + return (* iface->row_draggable) (drag_source, path_list); + else + return TRUE; +} + + +/** + * egg_tree_multi_drag_source_drag_data_delete: + * @drag_source: a #EggTreeMultiDragSource + * @path: row that was being dragged + * + * Asks the #EggTreeMultiDragSource to delete the row at @path, because + * it was moved somewhere else via drag-and-drop. Returns %FALSE + * if the deletion fails because @path no longer exists, or for + * some model-specific reason. Should robustly handle a @path no + * longer found in the model! + * + * Return value: %TRUE if the row was successfully deleted + **/ +gboolean +egg_tree_multi_drag_source_drag_data_delete (EggTreeMultiDragSource *drag_source, + GList *path_list) +{ + EggTreeMultiDragSourceIface *iface = EGG_TREE_MULTI_DRAG_SOURCE_GET_IFACE (drag_source); + + g_return_val_if_fail (EGG_IS_TREE_MULTI_DRAG_SOURCE (drag_source), FALSE); + g_return_val_if_fail (iface->drag_data_delete != NULL, FALSE); + g_return_val_if_fail (path_list != NULL, FALSE); + + return (* iface->drag_data_delete) (drag_source, path_list); +} + +/** + * egg_tree_multi_drag_source_drag_data_get: + * @drag_source: a #EggTreeMultiDragSource + * @path: row that was dragged + * @selection_data: a #EggSelectionData to fill with data from the dragged row + * + * Asks the #EggTreeMultiDragSource to fill in @selection_data with a + * representation of the row at @path. @selection_data->target gives + * the required type of the data. Should robustly handle a @path no + * longer found in the model! + * + * Return value: %TRUE if data of the required type was provided + **/ +gboolean +egg_tree_multi_drag_source_drag_data_get (EggTreeMultiDragSource *drag_source, + GList *path_list, + GtkSelectionData *selection_data) +{ + EggTreeMultiDragSourceIface *iface = EGG_TREE_MULTI_DRAG_SOURCE_GET_IFACE (drag_source); + + g_return_val_if_fail (EGG_IS_TREE_MULTI_DRAG_SOURCE (drag_source), FALSE); + g_return_val_if_fail (iface->drag_data_get != NULL, FALSE); + g_return_val_if_fail (path_list != NULL, FALSE); + g_return_val_if_fail (selection_data != NULL, FALSE); + + return (* iface->drag_data_get) (drag_source, path_list, selection_data); +} + +static void +stop_drag_check (GtkWidget *widget) +{ + EggTreeMultiDndData *priv_data; + GList *l; + + priv_data = g_object_get_data (G_OBJECT (widget), EGG_TREE_MULTI_DND_STRING); + + for (l = priv_data->event_list; l != NULL; l = l->next) + gdk_event_free (l->data); + + g_list_free (priv_data->event_list); + priv_data->event_list = NULL; + g_signal_handler_disconnect (widget, priv_data->motion_notify_handler); + g_signal_handler_disconnect (widget, priv_data->button_release_handler); +} + +static gboolean +egg_tree_multi_drag_button_release_event (GtkWidget *widget, + GdkEventButton *event, + gpointer data) +{ + EggTreeMultiDndData *priv_data; + GList *l; + + priv_data = g_object_get_data (G_OBJECT (widget), EGG_TREE_MULTI_DND_STRING); + + for (l = priv_data->event_list; l != NULL; l = l->next) + gtk_propagate_event (widget, l->data); + + stop_drag_check (widget); + + return FALSE; +} + +static void +selection_foreach (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) +{ + GList **list_ptr; + + list_ptr = (GList **) data; + + *list_ptr = g_list_prepend (*list_ptr, gtk_tree_row_reference_new (model, path)); +} + +static void +path_list_free (GList *path_list) +{ + g_list_foreach (path_list, (GFunc) gtk_tree_row_reference_free, NULL); + g_list_free (path_list); +} + +static void +set_context_data (GdkDragContext *context, + GList *path_list) +{ + g_object_set_data_full (G_OBJECT (context), + "egg-tree-view-multi-source-row", + path_list, + (GDestroyNotify) path_list_free); +} + +static GList * +get_context_data (GdkDragContext *context) +{ + return g_object_get_data (G_OBJECT (context), + "egg-tree-view-multi-source-row"); +} + +/* CUT-N-PASTE from gtktreeview.c */ +static TreeViewDragInfo* +get_info (GtkTreeView *tree_view) +{ + return g_object_get_data (G_OBJECT (tree_view), "gtk-tree-view-drag-info"); +} + + +static void +egg_tree_multi_drag_drag_data_get (GtkWidget *widget, + GdkDragContext *context, + GtkSelectionData *selection_data, + guint info, + guint time) +{ + GtkTreeView *tree_view; + GtkTreeModel *model; + TreeViewDragInfo *di; + GList *path_list; + + tree_view = GTK_TREE_VIEW (widget); + + model = gtk_tree_view_get_model (tree_view); + + if (model == NULL) + return; + + di = get_info (GTK_TREE_VIEW (widget)); + + if (di == NULL) + return; + + path_list = get_context_data (context); + + if (path_list == NULL) + return; + + /* We can implement the GTK_TREE_MODEL_ROW target generically for + * any model; for DragSource models there are some other targets + * we also support. + */ + + if (EGG_IS_TREE_MULTI_DRAG_SOURCE (model)) + { + egg_tree_multi_drag_source_drag_data_get (EGG_TREE_MULTI_DRAG_SOURCE (model), + path_list, + selection_data); + } +} + +static gboolean +egg_tree_multi_drag_motion_event (GtkWidget *widget, + GdkEventMotion *event, + gpointer data) +{ + EggTreeMultiDndData *priv_data; + + priv_data = g_object_get_data (G_OBJECT (widget), EGG_TREE_MULTI_DND_STRING); + + if (gtk_drag_check_threshold (widget, + priv_data->x, + priv_data->y, + event->x, + event->y)) + { + GList *path_list = NULL; + GtkTreeSelection *selection; + GtkTreeModel *model; + GdkDragContext *context; + TreeViewDragInfo *di; + + di = get_info (GTK_TREE_VIEW (widget)); + + if (di == NULL) + return FALSE; + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget)); + stop_drag_check (widget); + gtk_tree_selection_selected_foreach (selection, selection_foreach, &path_list); + path_list = g_list_reverse (path_list); + model = gtk_tree_view_get_model (GTK_TREE_VIEW (widget)); + if (egg_tree_multi_drag_source_row_draggable (EGG_TREE_MULTI_DRAG_SOURCE (model), path_list)) + { + + context = gtk_drag_begin_with_coordinates (widget, + gtk_drag_source_get_target_list (widget), + di->source_actions, + priv_data->pressed_button, + (GdkEvent *) event, + -1, -1); + set_context_data (context, path_list); + gtk_drag_set_icon_default (context); + + } + else + { + path_list_free (path_list); + } + } + + return TRUE; +} + +static gboolean +egg_tree_multi_drag_button_press_event (GtkWidget *widget, + GdkEventButton *event, + gpointer data) +{ + GtkTreeView *tree_view; + GtkTreePath *path = NULL; + GtkTreeViewColumn *column = NULL; + gint cell_x, cell_y; + GtkTreeSelection *selection; + EggTreeMultiDndData *priv_data; + + tree_view = GTK_TREE_VIEW (widget); + priv_data = g_object_get_data (G_OBJECT (tree_view), EGG_TREE_MULTI_DND_STRING); + if (priv_data == NULL) + { + priv_data = g_new0 (EggTreeMultiDndData, 1); + g_object_set_data (G_OBJECT (tree_view), EGG_TREE_MULTI_DND_STRING, priv_data); + } + + if (g_list_find (priv_data->event_list, event)) + return FALSE; + + if (priv_data->event_list) + { + /* save the event to be propagated in order */ + priv_data->event_list = g_list_append (priv_data->event_list, gdk_event_copy ((GdkEvent*)event)); + return TRUE; + } + + if (event->type == GDK_2BUTTON_PRESS) + return FALSE; + + gtk_tree_view_get_path_at_pos (tree_view, + event->x, event->y, + &path, &column, + &cell_x, &cell_y); + + selection = gtk_tree_view_get_selection (tree_view); + + if (path && gtk_tree_selection_path_is_selected (selection, path)) + { + priv_data->pressed_button = event->button; + priv_data->x = event->x; + priv_data->y = event->y; + priv_data->event_list = g_list_append (priv_data->event_list, gdk_event_copy ((GdkEvent*)event)); + priv_data->motion_notify_handler = + g_signal_connect (G_OBJECT (tree_view), "motion_notify_event", G_CALLBACK (egg_tree_multi_drag_motion_event), NULL); + priv_data->button_release_handler = + g_signal_connect (G_OBJECT (tree_view), "button_release_event", G_CALLBACK (egg_tree_multi_drag_button_release_event), NULL); + + if (priv_data->drag_data_get_handler == 0) + { + priv_data->drag_data_get_handler = + g_signal_connect (G_OBJECT (tree_view), "drag_data_get", G_CALLBACK (egg_tree_multi_drag_drag_data_get), NULL); + } + + gtk_tree_path_free (path); + + return TRUE; + } + + if (path) + { + gtk_tree_path_free (path); + } + + return FALSE; +} + +void +egg_tree_multi_drag_add_drag_support (GtkTreeView *tree_view) +{ + g_return_if_fail (GTK_IS_TREE_VIEW (tree_view)); + g_signal_connect (G_OBJECT (tree_view), "button_press_event", G_CALLBACK (egg_tree_multi_drag_button_press_event), NULL); +} + diff --git a/libegg/eggtreemultidnd.h b/libegg/eggtreemultidnd.h new file mode 100644 index 00000000..b6a971a5 --- /dev/null +++ b/libegg/eggtreemultidnd.h @@ -0,0 +1,73 @@ +/* eggtreednd.h + * Copyright (C) 2001 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, see + * . + */ + +#ifndef __EGG_TREE_MULTI_DND_H__ +#define __EGG_TREE_MULTI_DND_H__ + +#include + +G_BEGIN_DECLS + +#define EGG_TYPE_TREE_MULTI_DRAG_SOURCE (egg_tree_multi_drag_source_get_type ()) +#define EGG_TREE_MULTI_DRAG_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_TREE_MULTI_DRAG_SOURCE, EggTreeMultiDragSource)) +#define EGG_IS_TREE_MULTI_DRAG_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_TREE_MULTI_DRAG_SOURCE)) +#define EGG_TREE_MULTI_DRAG_SOURCE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), EGG_TYPE_TREE_MULTI_DRAG_SOURCE, EggTreeMultiDragSourceIface)) + +typedef struct _EggTreeMultiDragSource EggTreeMultiDragSource; /* Dummy typedef */ +typedef struct _EggTreeMultiDragSourceIface EggTreeMultiDragSourceIface; + +struct _EggTreeMultiDragSourceIface +{ + GTypeInterface g_iface; + + /* VTable - not signals */ + gboolean (* row_draggable) (EggTreeMultiDragSource *drag_source, + GList *path_list); + + gboolean (* drag_data_get) (EggTreeMultiDragSource *drag_source, + GList *path_list, + GtkSelectionData *selection_data); + + gboolean (* drag_data_delete) (EggTreeMultiDragSource *drag_source, + GList *path_list); +}; + +GType egg_tree_multi_drag_source_get_type (void) G_GNUC_CONST; + +/* Returns whether the given row can be dragged */ +gboolean egg_tree_multi_drag_source_row_draggable (EggTreeMultiDragSource *drag_source, + GList *path_list); + +/* Deletes the given row, or returns FALSE if it can't */ +gboolean egg_tree_multi_drag_source_drag_data_delete (EggTreeMultiDragSource *drag_source, + GList *path_list); + + +/* Fills in selection_data with type selection_data->target based on the row + * denoted by path, returns TRUE if it does anything + */ +gboolean egg_tree_multi_drag_source_drag_data_get (EggTreeMultiDragSource *drag_source, + GList *path_list, + GtkSelectionData *selection_data); +void egg_tree_multi_drag_add_drag_support (GtkTreeView *tree_view); + + + +G_END_DECLS + +#endif /* __EGG_TREE_MULTI_DND_H__ */ diff --git a/libegg/meson.build b/libegg/meson.build new file mode 100644 index 00000000..7e8f6e01 --- /dev/null +++ b/libegg/meson.build @@ -0,0 +1,41 @@ +# Libeggdatetime +libeggdatetime_dependencies = [ + gtk, + config, +] + +libeggdatetime_cflags = [ + '-DGTK_DISABLE_DEPRECATED', + '-DGDK_DISABLE_DEPRECATED', + '-DG_DISABLE_DEPRECATED', +] + +libeggdatetime_lib = static_library('libeggdatetime', + files('egg-datetime.c'), + c_args: libeggdatetime_cflags, + dependencies: libeggdatetime_dependencies, +) + + +# Libtreemultidnd +libtreemultidnd_dependencies = [ + gtk, + config, +] + +libtreemultidnd_cflags = [ + '-DGTK_DISABLE_DEPRECATED', + '-DGDK_DISABLE_DEPRECATED', + '-DG_DISABLE_DEPRECATED', +] + +libtreemultidnd_lib = static_library('libtreemultidnd', + files('eggtreemultidnd.c'), + c_args: libtreemultidnd_cflags, + dependencies: libtreemultidnd_dependencies, +) + +libtreemultidnd_dep = declare_dependency( + link_with: libtreemultidnd_lib, + include_directories: include_directories('..'), +) diff --git a/libseahorse/meson.build b/libseahorse/meson.build new file mode 100644 index 00000000..b37777bd --- /dev/null +++ b/libseahorse/meson.build @@ -0,0 +1,32 @@ +libseahorse_marshaller = gnome.genmarshal('seahorse-marshal', + sources: 'seahorse-marshal.list', + prefix: 'seahorse_marshal', +) + + +libseahorse_sources = files( + 'seahorse-bind.c', + 'seahorse-object-list.c', + 'seahorse-object-model.c', + 'seahorse-progress.c', + 'seahorse-util.c', + 'seahorse-widget.c', +) + +libseahorse_deps = [ + glib_deps, + gcr, + libsecret, + libtreemultidnd_dep, + common_dep, +] + +libseahorse_lib = static_library('libseahorse', + [ libseahorse_sources, libseahorse_marshaller ], + dependencies: libseahorse_deps, + include_directories: include_directories('..'), +) + +libseahorse_dep = declare_dependency( + link_with: libseahorse_lib, +) diff --git a/libseahorse/seahorse-bind.c b/libseahorse/seahorse-bind.c new file mode 100644 index 00000000..562924e4 --- /dev/null +++ b/libseahorse/seahorse-bind.c @@ -0,0 +1,534 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-bind.h" + +#include + +static gboolean +value_equal (const GValue *a, const GValue *b) +{ + gboolean retval; + const gchar *stra, *strb; + + if (G_VALUE_TYPE (a) != G_VALUE_TYPE (b)) + return FALSE; + + switch (G_VALUE_TYPE (a)) + { + case G_TYPE_BOOLEAN: + if (g_value_get_boolean (a) < g_value_get_boolean (b)) + retval = FALSE; + else if (g_value_get_boolean (a) == g_value_get_boolean (b)) + retval = TRUE; + else + retval = FALSE; + break; + case G_TYPE_UCHAR: + if (g_value_get_uchar (a) < g_value_get_uchar (b)) + retval = FALSE; + else if (g_value_get_uchar (a) == g_value_get_uchar (b)) + retval = TRUE; + else + retval = FALSE; + break; + case G_TYPE_INT: + if (g_value_get_int (a) < g_value_get_int (b)) + retval = FALSE; + else if (g_value_get_int (a) == g_value_get_int (b)) + retval = TRUE; + else + retval = FALSE; + break; + case G_TYPE_UINT: + if (g_value_get_uint (a) < g_value_get_uint (b)) + retval = FALSE; + else if (g_value_get_uint (a) == g_value_get_uint (b)) + retval = TRUE; + else + retval = FALSE; + break; + case G_TYPE_LONG: + if (g_value_get_long (a) < g_value_get_long (b)) + retval = FALSE; + else if (g_value_get_long (a) == g_value_get_long (b)) + retval = TRUE; + else + retval = FALSE; + break; + case G_TYPE_ULONG: + if (g_value_get_ulong (a) < g_value_get_ulong (b)) + retval = FALSE; + else if (g_value_get_ulong (a) == g_value_get_ulong (b)) + retval = TRUE; + else + retval = FALSE; + break; + case G_TYPE_INT64: + if (g_value_get_int64 (a) < g_value_get_int64 (b)) + retval = FALSE; + else if (g_value_get_int64 (a) == g_value_get_int64 (b)) + retval = TRUE; + else + retval = FALSE; + break; + case G_TYPE_UINT64: + if (g_value_get_uint64 (a) < g_value_get_uint64 (b)) + retval = FALSE; + else if (g_value_get_uint64 (a) == g_value_get_uint64 (b)) + retval = TRUE; + else + retval = FALSE; + break; + case G_TYPE_FLOAT: + if (g_value_get_float (a) < g_value_get_float (b)) + retval = FALSE; + else if (g_value_get_float (a) == g_value_get_float (b)) + retval = TRUE; + else + retval = FALSE; + break; + case G_TYPE_DOUBLE: + if (g_value_get_double (a) < g_value_get_double (b)) + retval = FALSE; + else if (g_value_get_double (a) == g_value_get_double (b)) + retval = TRUE; + else + retval = FALSE; + break; + case G_TYPE_STRING: + stra = g_value_get_string (a); + strb = g_value_get_string (b); + if (stra == strb) + retval = TRUE; + else if (!stra || !strb) + retval = FALSE; + else + retval = g_utf8_collate (stra, strb) == 0; + break; + case G_TYPE_POINTER: + retval = (g_value_get_pointer (a) == g_value_get_pointer (b)); + break; + case G_TYPE_BOXED: + retval = (g_value_get_boxed (a) == g_value_get_boxed (b)); + break; + case G_TYPE_OBJECT: + retval = (g_value_get_object (a) == g_value_get_object (b)); + break; + default: + if (G_VALUE_HOLDS_ENUM (a)) { + retval = (g_value_get_enum (a) == g_value_get_enum (b)); + } else if (G_VALUE_HOLDS_FLAGS (a)) { + retval = (g_value_get_flags (a) == g_value_get_flags (b)); + } else { + /* Default case is not equal */ + retval = FALSE; + } + break; + } + + return retval; +} + +static GHashTable *all_bindings = NULL; + +typedef struct _Binding { + GObject *obj_src; + GParamSpec *prop_src; + GParamSpec *prop_dest; + GList *obj_dests; + + gulong connection; + SeahorseTransform transform; + gboolean processing; + + gint references; +} Binding; + +static void binding_unref (Binding *binding); +static void binding_ref (Binding *binding); + +static void +binding_src_gone (gpointer data, GObject *was) +{ + Binding *binding = (Binding*)data; + g_assert (binding->obj_src == was); + binding->obj_src = NULL; + binding_unref (binding); +} + +static void +binding_dest_gone (gpointer data, GObject *was) +{ + Binding *binding = (Binding*)data; + GList *at; + + at = g_list_find (binding->obj_dests, was); + g_assert (at != NULL); + + /* Remove it from the list */ + binding->obj_dests = g_list_delete_link (binding->obj_dests, at); + + /* If no more destination objects, then go away */ + if (!binding->obj_dests) + binding_unref (binding); +} + +static void +binding_ref (Binding *binding) +{ + g_assert (binding); + ++binding->references; +} + +static void +binding_unref (Binding *binding) +{ + GList *l; + + g_assert (binding); + + g_assert (binding->references > 0); + --binding->references; + if (binding->references > 0) + return; + + if (G_IS_OBJECT (binding->obj_src)) { + g_signal_handler_disconnect (binding->obj_src, binding->connection); + g_object_weak_unref (binding->obj_src, binding_src_gone, binding); + binding->obj_src = NULL; + } + + for (l = binding->obj_dests; l; l = g_list_next (l)) { + if (G_IS_OBJECT (l->data)) + g_object_weak_unref (l->data, binding_dest_gone, binding); + } + g_list_free (binding->obj_dests); + binding->obj_dests = NULL; + + g_assert (binding->prop_src); + g_param_spec_unref (binding->prop_src); + binding->prop_src = NULL; + + g_assert (binding->prop_dest); + g_param_spec_unref (binding->prop_dest); + binding->prop_dest = NULL; + + g_free (binding); + + /* Remove from the list of all bindings */ + g_assert (all_bindings); + g_hash_table_remove (all_bindings, binding); + if (g_hash_table_size (all_bindings) == 0) { + g_hash_table_destroy (all_bindings); + all_bindings = NULL; + } +} + +static void +bind_transfer (Binding *binding, gboolean forward) +{ + GValue src, dest, check; + GList *l; + + g_assert (binding->obj_src); + g_assert (binding->obj_dests); + + /* IMPORTANT: No return during this fuction */ + binding_ref (binding); + binding->processing = TRUE; + + /* Get the value from the source object */ + memset (&src, 0, sizeof (src)); + g_value_init (&src, binding->prop_src->value_type); + g_object_get_property (binding->obj_src, binding->prop_src->name, &src); + + /* Transform the value */ + memset (&dest, 0, sizeof (dest)); + g_value_init (&dest, binding->prop_dest->value_type); + if ((binding->transform) (&src, &dest)) { + + + for (l = binding->obj_dests; l; l = g_list_next (l)) { + + /* Get the current value of the destination object */ + memset (&check, 0, sizeof (check)); + g_value_init (&check, binding->prop_dest->value_type); + g_object_get_property (l->data, binding->prop_dest->name, &check); + + /* Set the property on the destination object */ + if (!value_equal (&dest, &check)) + g_object_set_property (l->data, binding->prop_dest->name, &dest); + + g_value_unset (&check); + } + + } else { + + g_warning ("couldn't transform value from '%s' to '%s' when trying to " + "transfer bound property from %s.%s to %s.%s", + g_type_name (binding->prop_src->value_type), + g_type_name (binding->prop_dest->value_type), + G_OBJECT_CLASS_NAME (G_OBJECT_GET_CLASS (binding->obj_src)), + binding->prop_src->name, + G_OBJECT_CLASS_NAME (G_OBJECT_GET_CLASS (binding->obj_dests->data)), + binding->prop_dest->name); + } + + g_value_unset (&src); + g_value_unset (&dest); + + binding->processing = FALSE; + binding_unref (binding); +} + +static void +binding_fire (GObject *gobject, GParamSpec *pspec, gpointer data) +{ + Binding *binding = (Binding*)data; + g_assert (gobject == binding->obj_src); + g_assert (pspec == binding->prop_src); + g_assert (binding->transform); + + if (!binding->processing) + bind_transfer (binding, TRUE); +} + +gpointer +seahorse_bind_property (const gchar *prop_src, gpointer obj_src, + const gchar *prop_dest, gpointer obj_dest) +{ + g_return_val_if_fail (G_IS_OBJECT (obj_src), NULL); + g_return_val_if_fail (prop_src, NULL); + g_return_val_if_fail (G_IS_OBJECT (obj_dest), NULL); + g_return_val_if_fail (prop_dest, NULL); + + return seahorse_bind_property_full (prop_src, obj_src, + g_value_transform, + prop_dest, obj_dest, NULL); +} + +gpointer +seahorse_bind_property_full (const gchar *prop_src, gpointer obj_src, + SeahorseTransform transform, + const gchar *prop_dest, ...) +{ + GObjectClass *cls; + GParamSpec *spec_src; + GParamSpec *spec_dest; + GParamSpec *spec; + Binding *binding; + gchar *detail; + GObject *dest; + GList *dests, *l; + va_list va; + + g_return_val_if_fail (transform, NULL); + g_return_val_if_fail (G_IS_OBJECT (obj_src), NULL); + g_return_val_if_fail (prop_src, NULL); + g_return_val_if_fail (prop_dest, NULL); + + cls = G_OBJECT_GET_CLASS (obj_src); + spec_src = g_object_class_find_property (cls, prop_src); + if (!spec_src) { + g_warning ("no property with the name '%s' exists in object of class '%s'", + prop_src, G_OBJECT_CLASS_NAME (cls)); + return NULL; + } + + dests = NULL; + spec_dest = NULL; + va_start(va, prop_dest); + for (;;) { + dest = G_OBJECT (va_arg (va, GObject*)); + if (!dest) + break; + + g_return_val_if_fail (G_IS_OBJECT (dest), NULL); + + cls = G_OBJECT_GET_CLASS (dest); + spec = g_object_class_find_property (cls, prop_dest); + if (!spec) { + g_warning ("no property with the name '%s' exists in object of class '%s'", + prop_dest, G_OBJECT_CLASS_NAME (cls)); + return NULL; + } + + if (spec_dest && spec->value_type != spec_dest->value_type) { + g_warning ("destination property '%s' has a different type between objects in binding: %s != %s", + prop_dest, g_type_name (spec_dest->value_type), g_type_name (spec->value_type)); + return NULL; + } + + dests = g_list_prepend (dests, dest); + spec_dest = spec; + } + + g_return_val_if_fail (spec_dest, NULL); + g_return_val_if_fail (dests, NULL); + + binding = g_new0 (Binding, 1); + + binding->obj_src = obj_src; + g_object_weak_ref (obj_src, binding_src_gone, binding); + binding->prop_src = spec_src; + g_param_spec_ref (spec_src); + binding->transform = transform; + detail = g_strdup_printf ("notify::%s", prop_src); + binding->connection = g_signal_connect (obj_src, detail, G_CALLBACK (binding_fire), binding); + g_free (detail); + + binding->obj_dests = dests; + binding->prop_dest = spec_dest; + g_param_spec_ref (spec_dest); + for (l = binding->obj_dests; l; l = g_list_next (l)) + g_object_weak_ref (l->data, binding_dest_gone, binding); + + binding->references = 1; + + /* Note this in all bindings */ + if (!all_bindings) + all_bindings = g_hash_table_new (g_direct_hash, g_direct_equal); + g_hash_table_insert (all_bindings, binding, binding); + + /* Transfer the first time */ + binding_fire (obj_src, spec_src, binding); + + return binding; +} + +static GHashTable *all_transfers = NULL; + +typedef struct _Transfer { + GObject *object; + GObject *dest; + gulong connection; + SeahorseTransfer callback; +} Transfer; + +static void transfer_free (Transfer *transfer); + +static void +transfer_gone (gpointer data, GObject *was) +{ + Transfer *transfer = (Transfer*)data; + if (transfer->object == was) + transfer->object = NULL; + else if (transfer->dest == was) + transfer->dest = NULL; + else + g_assert_not_reached (); + transfer_free (transfer); +} + +static void +transfer_free (Transfer *transfer) +{ + g_assert (transfer); + + if (G_IS_OBJECT (transfer->object)) { + g_object_weak_unref (transfer->object, transfer_gone, transfer); + g_signal_handler_disconnect (transfer->object, transfer->connection); + transfer->object = NULL; + } + + if (G_IS_OBJECT (transfer->dest)) { + g_object_weak_unref (transfer->dest, transfer_gone, transfer); + transfer->dest = NULL; + } + + g_free (transfer); + + /* Remove from the list of all notifies */ + g_assert (all_transfers); + g_hash_table_remove (all_transfers, transfer); + if (g_hash_table_size (all_transfers) == 0) { + g_hash_table_destroy (all_transfers); + all_transfers = NULL; + } +} + +static void +transfer_fire (GObject *object, GParamSpec *spec, gpointer data) +{ + Transfer *transfer = (Transfer*)data; + g_assert (transfer->object == object); + (transfer->callback) (object, transfer->dest); +} + +gpointer +seahorse_bind_objects (const gchar *property, gpointer object, + SeahorseTransfer callback, gpointer dest) +{ + GObjectClass *cls; + Transfer *transfer; + gchar *detail; + + g_return_val_if_fail (G_IS_OBJECT (object), NULL); + g_return_val_if_fail (G_IS_OBJECT (dest), NULL); + g_return_val_if_fail (callback, NULL); + + if (property) { + cls = G_OBJECT_GET_CLASS (object); + if (!g_object_class_find_property (cls, property)) { + g_warning ("no property with the name '%s' exists in object of class '%s'", + property, G_OBJECT_CLASS_NAME (cls)); + return NULL; + } + } + + transfer = g_new0 (Transfer, 1); + + transfer->object = object; + g_object_weak_ref (object, transfer_gone, transfer); + transfer->dest = dest; + g_object_weak_ref (dest, transfer_gone, transfer); + transfer->callback = callback; + + if (property) { + detail = g_strdup_printf ("notify::%s", property); + transfer->connection = g_signal_connect (object, detail, G_CALLBACK (transfer_fire), transfer); + g_free (detail); + } else { + transfer->connection = g_signal_connect (object, "notify", G_CALLBACK (transfer_fire), transfer); + } + + /* Note this in all bindings */ + if (!all_transfers) + all_transfers = g_hash_table_new (g_direct_hash, g_direct_equal); + g_hash_table_insert (all_transfers, transfer, transfer); + + /* Transfer the first time */ + transfer_fire (object, NULL, transfer); + + return transfer; +} + +void +seahorse_bind_disconnect (gpointer what) +{ + g_return_if_fail (what); + if (all_bindings && g_hash_table_lookup (all_bindings, what)) + binding_unref ((Binding*)what); + else if (all_transfers && g_hash_table_lookup (all_transfers, what)) + transfer_free ((Transfer*)what); +} diff --git a/libseahorse/seahorse-bind.h b/libseahorse/seahorse-bind.h new file mode 100644 index 00000000..a9a3e99a --- /dev/null +++ b/libseahorse/seahorse-bind.h @@ -0,0 +1,42 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#ifndef SEAHORSEBIND_H_ +#define SEAHORSEBIND_H_ + +#include + +typedef gboolean (*SeahorseTransform) (const GValue *src, GValue *dest); + +gpointer seahorse_bind_property (const gchar *prop_src, gpointer obj_src, + const gchar *prop_dest, gpointer obj_dest); + +gpointer seahorse_bind_property_full (const gchar *prop_src, gpointer obj_src, + SeahorseTransform transform, + const gchar *prop_dest, ...) G_GNUC_NULL_TERMINATED; + +typedef gboolean (*SeahorseTransfer) (GObject *src, GObject *dest); + +gpointer seahorse_bind_objects (const gchar *property, gpointer obj_src, + SeahorseTransfer transfer, gpointer obj_dest); + +void seahorse_bind_disconnect (gpointer binding); + +#endif /* SEAHORSEBIND_H_ */ diff --git a/libseahorse/seahorse-marshal.list b/libseahorse/seahorse-marshal.list new file mode 100644 index 00000000..fa712ded --- /dev/null +++ b/libseahorse/seahorse-marshal.list @@ -0,0 +1,5 @@ +VOID:STRING,DOUBLE +VOID:OBJECT,UINT +VOID:OBJECT,POINTER +VOID:OBJECT,UINT,POINTER +VOID:OBJECT,OBJECT diff --git a/libseahorse/seahorse-object-list.c b/libseahorse/seahorse-object-list.c new file mode 100644 index 00000000..ef4f5938 --- /dev/null +++ b/libseahorse/seahorse-object-list.c @@ -0,0 +1,84 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#include "seahorse-object-list.h" + +GList* +seahorse_object_list_append (GList *original, gpointer object) +{ + g_return_val_if_fail (G_IS_OBJECT (object), original); + return g_list_append (original, g_object_ref (object)); +} + +GList* +seahorse_object_list_prepend (GList *original, gpointer object) +{ + g_return_val_if_fail (G_IS_OBJECT (object), original); + return g_list_prepend (original, g_object_ref (object)); +} + +GList* +seahorse_object_list_remove (GList *original, gpointer object) +{ + GList *at; + + g_return_val_if_fail (G_IS_OBJECT (object), original); + + at = g_list_find (original, object); + if (at != NULL) { + g_object_unref (object); + return g_list_delete_link (original, at); + } + + return original; +} + +GList* +seahorse_object_list_copy (GList *original) +{ + GList *l, *copy; + + copy = g_list_copy (original); + for (l = copy; l; l = g_list_next (l)) + g_object_ref (l->data); + + return copy; +} + +void +seahorse_object_list_free (gpointer list) +{ + GList *l; + + for (l = list; l; l = g_list_next (l)) + g_object_unref (l->data); + g_list_free (list); +} + +GType +seahorse_object_list_type (void) +{ + static GType type = 0; + if (!type) + type = g_boxed_type_register_static ("GList_GObject", + (GBoxedCopyFunc)seahorse_object_list_copy, + (GBoxedFreeFunc)seahorse_object_list_free); + return type; +} diff --git a/libseahorse/seahorse-object-list.h b/libseahorse/seahorse-object-list.h new file mode 100644 index 00000000..3bde5f25 --- /dev/null +++ b/libseahorse/seahorse-object-list.h @@ -0,0 +1,41 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#include +#include + +#ifndef SEAHORSEOBJECTLIST_H_ +#define SEAHORSEOBJECTLIST_H_ + +#define SEAHORSE_BOXED_OBJECT_LIST (seahorse_object_list_type ()) + +GType seahorse_object_list_type (void); + +GList* seahorse_object_list_append (GList *original, gpointer object); + +GList* seahorse_object_list_prepend (GList *original, gpointer object); + +GList* seahorse_object_list_remove (GList *original, gpointer object); + +GList* seahorse_object_list_copy (GList *original); + +void seahorse_object_list_free (gpointer list); + +#endif /* SEAHORSEOBJECTLIST_H_ */ diff --git a/libseahorse/seahorse-object-model.c b/libseahorse/seahorse-object-model.c new file mode 100644 index 00000000..a8f5ee72 --- /dev/null +++ b/libseahorse/seahorse-object-model.c @@ -0,0 +1,446 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include + +#include "seahorse-bind.h" +#include "seahorse-object-model.h" +#include "seahorse-marshal.h" + +/** + * SeahorseObjectModel: + * + * A GtkTreeModel that can assign certain rows as + * 'key rows' which are updated when a key is updated. + */ + +enum { + PROP_0, + PROP_DATA_COLUMN, +}; + +enum { + UPDATE_ROW, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + +struct _SeahorseObjectModel { + GtkTreeStore parent; + GHashTable *rows; + gint data_column; +}; + +G_DEFINE_TYPE (SeahorseObjectModel, seahorse_object_model, GTK_TYPE_TREE_STORE); + +/* Internal data stored at 0 in the tree store in order to keep track + * of the location, key-store and key. + */ +typedef struct { + SeahorseObjectModel *self; + GPtrArray *refs; /* GtkTreeRowReference pointers */ + GObject *object; /* The key we're dealing with */ + gpointer binding; +} SeahorseObjectRow; + +/* ----------------------------------------------------------------------------- + * INTERNAL + */ + +static void +key_notify (GObject *object, + SeahorseObjectModel *self) +{ + SeahorseObjectRow *skrow; + GtkTreeIter iter; + GtkTreePath *path; + guint i; + + skrow = g_hash_table_lookup (self->rows, object); + if (!skrow) + return; + + for (i = 0; i < skrow->refs->len; i++) { + + path = gtk_tree_row_reference_get_path (g_ptr_array_index (skrow->refs, i)); + if (path) { + gtk_tree_model_get_iter (GTK_TREE_MODEL (self), &iter, path); + g_signal_emit (self, signals[UPDATE_ROW], 0, object, &iter); + gtk_tree_path_free (path); + } + } +} + +static void +key_destroyed (gpointer data, GObject *was) +{ + SeahorseObjectModel *self = SEAHORSE_OBJECT_MODEL (data); + SeahorseObjectRow *skrow = g_hash_table_lookup (self->rows, was); + if (skrow) { + skrow->object = NULL; + skrow->binding = NULL; + g_hash_table_remove (self->rows, was); + } +} + + +static gboolean +remove_each (GObject *object, + gchar *path, + SeahorseObjectModel *self) +{ + return TRUE; +} + +static SeahorseObjectRow * +key_row_new (SeahorseObjectModel *self, + GObject *object) +{ + SeahorseObjectRow *skrow; + + g_assert (SEAHORSE_IS_OBJECT_MODEL (self)); + g_assert (G_IS_OBJECT (object)); + + skrow = g_new0 (SeahorseObjectRow, 1); + skrow->refs = g_ptr_array_new (); + skrow->self = self; + skrow->object = object; + skrow->binding = seahorse_bind_objects (NULL, object, (SeahorseTransfer)key_notify, self); + + g_object_weak_ref (G_OBJECT (object), key_destroyed, self); + + return skrow; +} + +static void +key_row_free (SeahorseObjectRow *skrow) +{ + SeahorseObjectModel *self = skrow->self; + GtkTreeRowReference *ref; + GtkTreePath *path; + GtkTreeIter iter; + guint i; + + g_return_if_fail (self->data_column != -1); + + for (i = 0; i < skrow->refs->len; i++) { + + ref = (GtkTreeRowReference*)g_ptr_array_index (skrow->refs, i); + if (ref) { + path = gtk_tree_row_reference_get_path (ref); + if (path) { + gtk_tree_model_get_iter (GTK_TREE_MODEL (self), &iter, path); + gtk_tree_store_set (GTK_TREE_STORE (self), &iter, + self->data_column, NULL, -1); + gtk_tree_path_free (path); + } + gtk_tree_row_reference_free (ref); + } + + } + + if (skrow->binding) + seahorse_bind_disconnect (skrow->binding); + if (skrow->object) + g_object_weak_unref (G_OBJECT (skrow->object), key_destroyed, skrow->self); + + g_ptr_array_free (skrow->refs, TRUE); + g_free (skrow); +} + +static void +row_inserted (SeahorseObjectModel *self, GtkTreePath *path, GtkTreeIter *iter, + gpointer user_data) +{ + g_return_if_fail (self->data_column != -1); + /* XXX: The following line causes problems with GtkTreeModelFilter */ + /* gtk_tree_store_set (GTK_TREE_STORE (self), iter, self->data_column, NULL, -1); */ +} + +/* ----------------------------------------------------------------------------- + * OBJECT + */ + +static void +seahorse_object_model_init (SeahorseObjectModel *self) +{ + self->rows = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)key_row_free); + self->data_column = -1; + g_signal_connect (self, "row-inserted", G_CALLBACK (row_inserted), NULL); +} + +static void +seahorse_object_model_set_property (GObject *gobject, guint prop_id, + const GValue *value, GParamSpec *pspec) +{ + SeahorseObjectModel *self = SEAHORSE_OBJECT_MODEL (gobject); + + switch (prop_id) { + case PROP_DATA_COLUMN: + g_assert (self->data_column == -1); + self->data_column = g_value_get_uint (value); + break; + } +} + +static void +seahorse_object_model_get_property (GObject *gobject, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + SeahorseObjectModel *self = SEAHORSE_OBJECT_MODEL (gobject); + + switch (prop_id) { + case PROP_DATA_COLUMN: + g_value_set_uint (value, self->data_column); + break; + } +} + +static void +seahorse_object_model_dispose (GObject *gobject) +{ + SeahorseObjectModel *self = SEAHORSE_OBJECT_MODEL (gobject); + + /* Release all our pointers and stuff */ + g_hash_table_foreach_remove (self->rows, (GHRFunc)remove_each, self); + G_OBJECT_CLASS (seahorse_object_model_parent_class)->dispose (gobject); +} + +static void +seahorse_object_model_finalize (GObject *gobject) +{ + SeahorseObjectModel *self = SEAHORSE_OBJECT_MODEL (gobject); + + if (self->rows) + g_hash_table_destroy (self->rows); + self->rows = NULL; + + G_OBJECT_CLASS (seahorse_object_model_parent_class)->finalize (gobject); +} + +static void +seahorse_object_model_class_init (SeahorseObjectModelClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->dispose = seahorse_object_model_dispose; + gobject_class->finalize = seahorse_object_model_finalize; + gobject_class->set_property = seahorse_object_model_set_property; + gobject_class->get_property = seahorse_object_model_get_property; + + g_object_class_install_property (gobject_class, PROP_DATA_COLUMN, + g_param_spec_uint ("data-column", "Column data is stored", "Column where internal data is stored", + 0, ~0, 0, G_PARAM_READWRITE | G_PARAM_READWRITE)); + + signals[UPDATE_ROW] = g_signal_new ("update-row", SEAHORSE_TYPE_OBJECT_MODEL, + G_SIGNAL_RUN_FIRST, 0, NULL, NULL, + seahorse_marshal_VOID__OBJECT_POINTER, + G_TYPE_NONE, 2, SEAHORSE_TYPE_OBJECT, G_TYPE_POINTER); +} + +/* ----------------------------------------------------------------------------- + * PUBLIC + */ + + +SeahorseObjectModel* +seahorse_object_model_new (gint n_columns, GType *types) +{ + SeahorseObjectModel *model; + + model = g_object_new (SEAHORSE_TYPE_OBJECT_MODEL, NULL); + seahorse_object_model_set_column_types (model, n_columns, types); + + return model; +} + +void +seahorse_object_model_set_column_types (SeahorseObjectModel *self, gint n_columns, + GType *types) +{ + GType *itypes; + + g_return_if_fail (SEAHORSE_IS_OBJECT_MODEL (self)); + + itypes = g_new0(GType, n_columns + 1); + memcpy (itypes, types, n_columns * sizeof (GType)); + + itypes[n_columns] = G_TYPE_POINTER; + self->data_column = n_columns; + gtk_tree_store_set_column_types (GTK_TREE_STORE (self), n_columns + 1, itypes); + + g_free (itypes); +} + +void +seahorse_object_model_set_row_object (SeahorseObjectModel *self, + GtkTreeIter *iter, + GObject *object) +{ + SeahorseObjectRow *skrow; + GtkTreePath *path; + GtkTreePath *ipath; + guint i; + + g_return_if_fail (SEAHORSE_IS_OBJECT_MODEL (self)); + g_return_if_fail (G_IS_OBJECT (object) || object == NULL); + g_return_if_fail (self->data_column >= 0); + + /* Add the row/key association */ + if (object) { + + /* Do we already have a row for this key? */ + skrow = (SeahorseObjectRow*)g_hash_table_lookup (self->rows, object); + if (!skrow) { + skrow = key_row_new (self, object); + + /* Put it in our row cache */ + g_hash_table_replace (self->rows, object, skrow); + } + + path = gtk_tree_model_get_path (GTK_TREE_MODEL (self), iter); + g_ptr_array_add (skrow->refs, gtk_tree_row_reference_new (GTK_TREE_MODEL (self), path)); + gtk_tree_path_free (path); + + /* Remove the row/key association */ + } else { + + gtk_tree_model_get (GTK_TREE_MODEL (self), iter, self->data_column, &skrow, -1); + if (skrow) { + + ipath = gtk_tree_model_get_path (GTK_TREE_MODEL (self), iter); + g_return_if_fail (ipath != NULL); + + for (i = 0; i < skrow->refs->len; i++) { + + path = gtk_tree_row_reference_get_path (g_ptr_array_index (skrow->refs, i)); + + /* Check if they're the same or invalid, remove */ + if (!path || gtk_tree_path_compare (path, ipath) == 0) { + gtk_tree_row_reference_free (g_ptr_array_index (skrow->refs, i)); + g_ptr_array_remove_index_fast (skrow->refs, i); + i--; + } + + if (path) + gtk_tree_path_free (path); + } + + /* If we no longer have rows associated with this key, then remove */ + if (skrow->refs->len == 0) + g_hash_table_remove (self->rows, skrow->object); + } + } + + gtk_tree_store_set (GTK_TREE_STORE (self), iter, + self->data_column, object ? skrow : NULL, -1); + + if (object) + key_notify (object, self); +} + +GObject * +seahorse_object_model_get_row_key (SeahorseObjectModel *self, GtkTreeIter *iter) +{ + SeahorseObjectRow *skrow; + + g_return_val_if_fail (SEAHORSE_IS_OBJECT_MODEL (self), NULL); + g_return_val_if_fail (self->data_column >= 0, NULL); + + gtk_tree_model_get (GTK_TREE_MODEL (self), iter, self->data_column, &skrow, -1); + if (!skrow) + return NULL; + g_assert (G_IS_OBJECT (skrow->object)); + return skrow->object; +} + +void +seahorse_object_model_remove_rows_for_object (SeahorseObjectModel *self, + GObject *object) +{ + SeahorseObjectRow *skrow; + GtkTreeIter iter; + GtkTreePath *path; + guint i; + + g_return_if_fail (SEAHORSE_IS_OBJECT_MODEL (self)); + g_return_if_fail (G_IS_OBJECT (object)); + g_return_if_fail (self->data_column >= 0); + + skrow = (SeahorseObjectRow*)g_hash_table_lookup (self->rows, object); + if (!skrow) + return; + + for (i = 0; i < skrow->refs->len; i++) { + + path = gtk_tree_row_reference_get_path (g_ptr_array_index (skrow->refs, i)); + if (path) { + gtk_tree_model_get_iter (GTK_TREE_MODEL (self), &iter, path); + gtk_tree_store_remove (GTK_TREE_STORE (self), &iter); + gtk_tree_path_free (path); + } + } + + /* We no longer have rows associated with this key, then remove */ + g_hash_table_remove (self->rows, object); +} + +GList* +seahorse_object_model_get_rows_for_object (SeahorseObjectModel *self, + GObject *object) +{ + GList *rows = NULL; + SeahorseObjectRow *skrow; + GtkTreeIter *iter; + GtkTreePath *path; + guint i; + + g_return_val_if_fail (SEAHORSE_IS_OBJECT_MODEL (self), NULL); + g_return_val_if_fail (G_IS_OBJECT (object), NULL); + + skrow = (SeahorseObjectRow*)g_hash_table_lookup (self->rows, object); + if (!skrow) + return NULL; + + for (i = 0; i < skrow->refs->len; i++) { + + path = gtk_tree_row_reference_get_path (g_ptr_array_index (skrow->refs, i)); + if (path) { + iter = g_new0(GtkTreeIter, 1); + gtk_tree_model_get_iter (GTK_TREE_MODEL (self), iter, path); + rows = g_list_prepend (rows, iter); + gtk_tree_path_free (path); + } + } + + return rows; +} + +void +seahorse_object_model_free_rows (GList *rows) +{ + GList *l; + for (l = rows; l; l = g_list_next (l)) + g_free (l->data); + g_list_free (rows); +} diff --git a/libseahorse/seahorse-object-model.h b/libseahorse/seahorse-object-model.h new file mode 100644 index 00000000..aa56c31a --- /dev/null +++ b/libseahorse/seahorse-object-model.h @@ -0,0 +1,51 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +#include "seahorse-common.h" + +#define SEAHORSE_TYPE_OBJECT_MODEL (seahorse_object_model_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseObjectModel, seahorse_object_model, + SEAHORSE, OBJECT_MODEL, + GtkTreeStore) + +SeahorseObjectModel* seahorse_object_model_new (gint n_columns, + GType *types); + +void seahorse_object_model_set_column_types (SeahorseObjectModel *self, + gint n_columns, + GType *types); + +void seahorse_object_model_set_row_object (SeahorseObjectModel *self, + GtkTreeIter *iter, + GObject *object); + +GObject* seahorse_object_model_get_row_key (SeahorseObjectModel *self, + GtkTreeIter *iter); + +GList* seahorse_object_model_get_rows_for_object (SeahorseObjectModel *self, + GObject *object); + +void seahorse_object_model_remove_rows_for_object (SeahorseObjectModel *self, + GObject *object); + +void seahorse_object_model_free_rows (GList *rows); diff --git a/libseahorse/seahorse-progress.c b/libseahorse/seahorse-progress.c new file mode 100644 index 00000000..bf9bdeab --- /dev/null +++ b/libseahorse/seahorse-progress.c @@ -0,0 +1,644 @@ +/* + * Seahorse + * + * Copyright (C) 2004 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-progress.h" +#include "seahorse-widget.h" + +#include +#include +#include + +typedef enum { + TASK_PART_PREPPED = 1, + TASK_PART_BEGUN, + TASK_PART_ENDED +} TrackedState; + +typedef struct { + gconstpointer progress_tag; + gchar *details; + TrackedState state; +} TrackedPart; + +typedef struct { + GCancellable *cancellable; + gulong cancelled_sig; + + SeahorseWidget *swidget; + GtkBuilder *builder; + gchar *title; + gchar *notice; + gboolean showing; + + GQueue *parts; + gint parts_prepped; + gint parts_begun; + gint parts_ended; +} TrackedTask; + +static GHashTable *tracked_tasks = NULL; + +static void +tracked_part_free (gpointer data) +{ + TrackedPart *part = data; + g_free (part->details); + g_free (part); +} + +static gint +find_part_progress_tag (gconstpointer part_data, + gconstpointer progress_tag) +{ + TrackedPart *part = (TrackedPart *)part_data; + return (part->progress_tag == progress_tag) ? 0 : 1; +} + +static gint +find_part_begun_with_details (gconstpointer part_data, + gconstpointer unused) +{ + TrackedPart *part = (TrackedPart *)part_data; + return (part->state == TASK_PART_BEGUN && part->details) ? 0 : 1; +} + +static TrackedPart * +tracked_part_find (TrackedTask *task, + GCompareFunc func, + gconstpointer user_data) +{ + GList *part = g_queue_find_custom (task->parts, user_data, func); + return part ? part->data : NULL; +} + +static void +on_cancellable_gone (gpointer user_data, + GObject *where_the_object_was) +{ + TrackedTask *task; + + g_assert (tracked_tasks); + task = g_hash_table_lookup (tracked_tasks, where_the_object_was); + g_assert ((gpointer)task->cancellable == (gpointer)where_the_object_was); + task->cancellable = NULL; + task->cancelled_sig = 0; + + if (!g_hash_table_remove (tracked_tasks, where_the_object_was)) + g_assert_not_reached (); +} + +static void +on_cancellable_cancelled (GCancellable *cancellable, + gpointer user_data) +{ + g_assert (tracked_tasks); + g_assert (((TrackedTask *)user_data)->cancellable == cancellable); + if (!g_hash_table_remove (tracked_tasks, cancellable)) + g_assert_not_reached (); +} + +static void +tracked_task_free (gpointer data) +{ + TrackedTask *task = data; + if (task->cancellable) { + g_object_weak_unref (G_OBJECT (task->cancellable), + on_cancellable_gone, task); + + /* Use this because g_cancellable_disconnect() deadlocks */ + if (task->cancelled_sig) + g_signal_handler_disconnect (task->cancellable, + task->cancelled_sig); + } + + g_queue_foreach (task->parts, (GFunc)tracked_part_free, NULL); + g_queue_free (task->parts); + g_free (task->title); + g_free (task->notice); + if (task->builder) + g_object_unref (task->builder); + if (task->swidget) + g_object_unref (task->swidget); + g_free (task); +} + +static gboolean +on_pulse_timeout (gpointer user_data) +{ + GtkProgressBar *progress = GTK_PROGRESS_BAR (user_data); + + if (gtk_progress_bar_get_pulse_step (progress) != 0) { + gtk_progress_bar_pulse (progress); + return TRUE; + } + + return FALSE; +} + +static void +start_pulse (GtkProgressBar *progress) +{ + guint stag; + + gtk_progress_bar_set_pulse_step (progress, 0.05); + gtk_progress_bar_pulse (progress); + + stag = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (progress), "pulse-timer")); + + /* Start a pulse timer */ + if (stag == 0) { + stag = g_timeout_add (100, on_pulse_timeout, progress); + g_object_set_data_full (G_OBJECT (progress), "pulse-timer", + GINT_TO_POINTER (stag), (GDestroyNotify)g_source_remove); + } +} + +static void +stop_pulse (GtkProgressBar *progress) +{ + gtk_progress_bar_set_pulse_step (progress, 0.0); + + /* This causes the destroy callback to be called */ + g_object_set_data (G_OBJECT (progress), "pulse-timer", NULL); +} + +static void +progress_update_display (TrackedTask *task) +{ + GtkProgressBar *progress = NULL; + GtkStatusbar *status = NULL; + GtkLabel *label = NULL; + GtkWidget *widget; + TrackedPart *part; + gdouble fraction; + guint id; + + if (task->builder == NULL) + return; + + /* Dig out our progress display stuff */ + widget = GTK_WIDGET (gtk_builder_get_object (task->builder, "progress-bar")); + if (widget == NULL) + g_warning ("cannot display progress because seahorse window has no progress widget"); + else + progress = GTK_PROGRESS_BAR (widget); + widget = GTK_WIDGET (gtk_builder_get_object (task->builder, "status")); + if (GTK_IS_STATUSBAR (widget)) { + status = GTK_STATUSBAR (widget); + } else { + widget = GTK_WIDGET (gtk_builder_get_object (task->builder, "progress-details")); + if (GTK_IS_LABEL (widget)) + label = GTK_LABEL (widget); + } + + /* The details is the first on a begun part */ + part = tracked_part_find (task, find_part_begun_with_details, NULL); + if (status) { + id = gtk_statusbar_get_context_id (status, "operation-progress"); + gtk_statusbar_pop (status, id); + if (part != NULL) + gtk_statusbar_push (status, id, part->details); + } else if (label) { + gtk_label_set_text (label, part ? part->details : ""); + } + + /* If all parts are running simultaneously then indeterminate */ + if (task->parts_prepped == 0 && task->parts_ended == 0) { + fraction = -1; + } else { + fraction = (gdouble)task->parts_ended / + (gdouble)task->parts->length; + } + + if (progress) { + if (fraction >= 0.0) { + stop_pulse (progress); + gtk_progress_bar_set_fraction (progress, fraction); + } else { + start_pulse (progress); + } + } +} + +static TrackedTask * +progress_lookup_or_create_task (GCancellable *cancellable) +{ + TrackedTask *task; + + if (tracked_tasks == NULL) + tracked_tasks = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, tracked_task_free); + + task = g_hash_table_lookup (tracked_tasks, cancellable); + if (task == NULL) { + if (g_cancellable_is_cancelled (cancellable)) + return NULL; + + task = g_new0 (TrackedTask, 1); + task->cancellable = cancellable; + g_object_weak_ref (G_OBJECT (task->cancellable), + on_cancellable_gone, task); + task->parts = g_queue_new (); + + g_hash_table_insert (tracked_tasks, cancellable, task); + task->cancelled_sig = g_cancellable_connect (cancellable, + G_CALLBACK (on_cancellable_cancelled), + task, NULL); + } + + return task; +} + +static void +progress_prep_va (GCancellable *cancellable, + gconstpointer progress_tag, + const gchar *details, + va_list va) +{ + TrackedTask *task; + TrackedPart *part; + + task = progress_lookup_or_create_task (cancellable); + + /* Perhaps already cancelled? */ + if (task == NULL) + return; + + part = tracked_part_find (task, find_part_progress_tag, progress_tag); + if (part == NULL) { + part = g_new0 (TrackedPart, 1); + if (details && details[0]) + part->details = g_strdup_vprintf (details, va); + part->progress_tag = progress_tag; + part->state = TASK_PART_PREPPED; + g_queue_push_tail (task->parts, part); + task->parts_prepped++; + } else { + g_warning ("already tracking progress for this part of the operation"); + } + + /* If the dialog is being displayed, update it */ + g_assert (task->parts_prepped + task->parts_begun + task->parts_ended == (gint)task->parts->length); + progress_update_display (task); +} + +void +seahorse_progress_prep (GCancellable *cancellable, + gconstpointer progress_tag, + const gchar *details, + ...) +{ + va_list va; + + if (!cancellable) + return; + + g_return_if_fail (G_IS_CANCELLABLE (cancellable)); + + va_start (va, details); + progress_prep_va (cancellable, progress_tag, details, va); + va_end (va); +} + +void +seahorse_progress_begin (GCancellable *cancellable, + gconstpointer progress_tag) +{ + TrackedTask *task = NULL; + TrackedPart *part; + + if (!cancellable) + return; + + g_return_if_fail (G_IS_CANCELLABLE (cancellable)); + if (g_cancellable_is_cancelled (cancellable)) + return; + + if (tracked_tasks) + task = g_hash_table_lookup (tracked_tasks, cancellable); + if (task == NULL) { + g_warning ("caller is trying to begin part for task that does not exist"); + return; + } + + part = tracked_part_find (task, find_part_progress_tag, progress_tag); + if (part == NULL) { + g_warning ("caller is trying to begin part of task that does not exist"); + return; + } + + switch (part->state) { + case TASK_PART_PREPPED: + part->state = TASK_PART_BEGUN; + task->parts_begun++; + task->parts_prepped--; + break; + case TASK_PART_BEGUN: + g_warning ("caller is trying to begin part of task that has already begun"); + return; + case TASK_PART_ENDED: + g_warning ("caller is trying to begin part of task that has already ended"); + return; + default: + g_assert_not_reached (); + break; + } + + g_assert (task->parts_prepped + task->parts_begun + task->parts_ended == (gint)task->parts->length); + progress_update_display (task); +} + +void +seahorse_progress_prep_and_begin (GCancellable *cancellable, + gconstpointer progress_tag, + const gchar *details, + ...) +{ + va_list va; + + if (!cancellable) + return; + + g_return_if_fail (G_IS_CANCELLABLE (cancellable)); + + va_start (va, details); + progress_prep_va (cancellable, progress_tag, details, va); + seahorse_progress_begin (cancellable, progress_tag); + va_end (va); +} + +void +seahorse_progress_update (GCancellable *cancellable, + gconstpointer progress_tag, + const gchar *details, + ...) +{ + TrackedTask *task = NULL; + TrackedPart *part; + va_list va; + + if (!cancellable) + return; + + g_return_if_fail (G_IS_CANCELLABLE (cancellable)); + if (g_cancellable_is_cancelled (cancellable)) + return; + + if (tracked_tasks) + task = g_hash_table_lookup (tracked_tasks, cancellable); + if (task == NULL) { + g_warning ("caller is trying to update part for task that does not exist"); + return; + } + + part = tracked_part_find (task, find_part_progress_tag, progress_tag); + if (part == NULL) { + g_warning ("caller is trying to update part of task that does not exist"); + return; + } + + switch (part->state) { + case TASK_PART_PREPPED: + case TASK_PART_BEGUN: + g_free (part->details); + if (details && details[0]) { + va_start (va, details); + part->details = g_strdup_vprintf (details, va); + va_end (va); + } + break; + case TASK_PART_ENDED: + g_warning ("caller is trying to update part of task that has already ended"); + return; + default: + g_assert_not_reached (); + return; + } + + g_assert (task->parts_prepped + task->parts_begun + task->parts_ended == (gint)task->parts->length); + progress_update_display (task); +} + +void +seahorse_progress_end (GCancellable *cancellable, + gconstpointer progress_tag) +{ + TrackedTask *task = NULL; + TrackedPart *part; + + if (!cancellable) + return; + + g_return_if_fail (G_IS_CANCELLABLE (cancellable)); + if (g_cancellable_is_cancelled (cancellable)) + return; + + if (tracked_tasks) + task = g_hash_table_lookup (tracked_tasks, cancellable); + if (task == NULL) { + g_warning ("caller is trying to end part for task that does not exist"); + return; + } + + part = tracked_part_find (task, find_part_progress_tag, progress_tag); + if (part == NULL) { + g_warning ("caller is trying to end part of task that does not exist"); + return; + } + + switch (part->state) { + case TASK_PART_PREPPED: + g_warning ("caller is trying to end part of task that has not begun"); + return; + case TASK_PART_BEGUN: + part->state = TASK_PART_ENDED; + task->parts_begun--; + task->parts_ended++; + break; + case TASK_PART_ENDED: + g_warning ("caller is trying to end part of task that has already ended"); + return; + default: + g_assert_not_reached (); + break; + } + + g_assert (task->parts_prepped + task->parts_begun + task->parts_ended == (gint)task->parts->length); + progress_update_display (task); +} + +static int +on_window_delete_event (GtkWidget *widget, + GdkEvent *event, + gpointer user_data) +{ + TrackedTask *task = NULL; + + /* Guard against going away before we display */ + if (tracked_tasks) + task = g_hash_table_lookup (tracked_tasks, user_data); + if (task != NULL) + g_cancellable_cancel (task->cancellable); + + return TRUE; /* allow window to close */ +} + +static void +on_cancel_button_clicked (GtkButton *button, + gpointer user_data) +{ + TrackedTask *task = NULL; + + /* Guard against going away before we display */ + if (tracked_tasks) + task = g_hash_table_lookup (tracked_tasks, user_data); + if (task != NULL) + g_cancellable_cancel (task->cancellable); +} + +static gboolean +on_timeout_show_progress (gpointer user_data) +{ + TrackedTask *task = NULL; + SeahorseWidget *swidget; + GtkWidget *widget; + GtkWindow *window; + gchar *text; + + /* Guard against going away before we display */ + if (tracked_tasks) + task = g_hash_table_lookup (tracked_tasks, user_data); + if (task == NULL) + return FALSE; /* don't call again */ + + swidget = seahorse_widget_new_allow_multiple ("progress", NULL); + g_return_val_if_fail (swidget != NULL, FALSE); + + window = GTK_WINDOW (seahorse_widget_get_toplevel (swidget)); + g_signal_connect (window, "delete_event", + G_CALLBACK (on_window_delete_event), task->cancellable); + gtk_window_move (window, 10, 10); + + /* Setup the title */ + if (task->title) { + gtk_window_set_title (window, task->title); + + /* The main message title */ + widget = seahorse_widget_get_widget (swidget, "progress-title"); + text = g_strdup_printf ("%s", task->title); + gtk_label_set_markup (GTK_LABEL (widget), text); + g_free (text); + } + + /* Setup the notice */ + if (task->notice) { + widget = seahorse_widget_get_widget (swidget, "progress-notice"); + gtk_label_set_label (GTK_LABEL (widget), task->notice); + gtk_widget_show (widget); + } + + /* Setup the cancel button */ + widget = seahorse_widget_get_widget (swidget, "progress-cancel"); + g_signal_connect (widget, "clicked", G_CALLBACK (on_cancel_button_clicked), + task->cancellable); + + /* Allow attach to work */ + task->showing = FALSE; + seahorse_progress_attach (task->cancellable, swidget->gtkbuilder); + gtk_widget_show (GTK_WIDGET (window)); + task->swidget = swidget; + + return FALSE; /* don't call again */ +} + +void +seahorse_progress_show (GCancellable *cancellable, + const gchar *title, + gboolean delayed) +{ + seahorse_progress_show_with_notice (cancellable, title, NULL, delayed); +} + +void +seahorse_progress_show_with_notice (GCancellable *cancellable, + const gchar *title, + const gchar *notice, + gboolean delayed) +{ + TrackedTask *task; + + g_return_if_fail (title != NULL && title[0] != '\0'); + + if (!cancellable) + return; + + g_return_if_fail (G_IS_CANCELLABLE (cancellable)); + + task = progress_lookup_or_create_task (cancellable); + + /* Perhaps already cancelled? */ + if (task == NULL) + return; + + if (task->showing) { + g_warning ("caller is trying to show progress for a task which already has displayed progress"); + return; + } + + g_free (task->title); + task->title = g_strdup (title); + task->notice = g_strdup (notice); + task->showing = TRUE; + + if (delayed) + g_timeout_add_seconds (2, on_timeout_show_progress, cancellable); + else + on_timeout_show_progress (cancellable); +} + +void +seahorse_progress_attach (GCancellable *cancellable, + GtkBuilder *builder) +{ + TrackedTask *task; + + if (!cancellable) + return; + + g_return_if_fail (G_IS_CANCELLABLE (cancellable)); + + task = progress_lookup_or_create_task (cancellable); + + /* Perhaps already cancelled? */ + if (task == NULL) + return; + + if (task->showing) { + g_warning ("caller is trying to show progress for a task which already has displayed progress"); + return; + } + + task->showing = TRUE; + task->builder = g_object_ref (builder); + + progress_update_display (task); +} diff --git a/libseahorse/seahorse-progress.h b/libseahorse/seahorse-progress.h new file mode 100644 index 00000000..4034cec1 --- /dev/null +++ b/libseahorse/seahorse-progress.h @@ -0,0 +1,62 @@ +/* + * Seahorse + * + * Copyright (C) 2004 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/* Parts from evolution-data-server */ + +#ifndef __SEAHORSE_PROGRESS_H__ +#define __SEAHORSE_PROGRESS_H__ + +#include +#include + +void seahorse_progress_prep (GCancellable *cancellable, + gconstpointer progress_tag, + const gchar *detail, + ...); + +void seahorse_progress_begin (GCancellable *cancellable, + gconstpointer progress_tag); + +void seahorse_progress_prep_and_begin (GCancellable *cancellable, + gconstpointer progress_tag, + const gchar *detail, + ...); + +void seahorse_progress_update (GCancellable *cancellable, + gconstpointer progress_tag, + const gchar *detail, + ...); + +void seahorse_progress_end (GCancellable *cancellable, + gconstpointer progress_tag); + +void seahorse_progress_show (GCancellable *cancellable, + const gchar *title, + gboolean delayed); + +void seahorse_progress_show_with_notice (GCancellable *cancellable, + const gchar *title, + const gchar *notice, + gboolean delayed); + +void seahorse_progress_attach (GCancellable *cancellable, + GtkBuilder *builder); + +#endif /* __SEAHORSE_PROGRESS_H__ */ diff --git a/libseahorse/seahorse-progress.ui b/libseahorse/seahorse-progress.ui new file mode 100644 index 00000000..fcf04e62 --- /dev/null +++ b/libseahorse/seahorse-progress.ui @@ -0,0 +1,152 @@ + + + + + True + False + 5 + center-on-parent + 400 + dialog + + + True + False + vertical + 2 + + + True + False + end + + + gtk-cancel + True + True + True + False + False + True + + + False + False + 0 + + + + + False + True + end + 0 + + + + + True + False + 5 + 12 + + + True + False + 12 + + + True + False + gtk-dialog-authentication + 6 + 0.0 + + + False + True + 0 + + + + + True + False + + + True + False + 0 + True + + + False + False + 0 + + + + + True + False + 0 + + + + False + False + 1 + + + + + False + False + False + + + False + True + 2 + + + + + True + True + 1 + + + + + True + True + 0 + + + + + True + False + 0.1 + + + False + False + 1 + + + + + True + True + 1 + + + + + + progress-cancel + + + diff --git a/libseahorse/seahorse-util.c b/libseahorse/seahorse-util.c new file mode 100644 index 00000000..d51f9ee9 --- /dev/null +++ b/libseahorse/seahorse-util.c @@ -0,0 +1,399 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * Copyright (C) 2004-2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-common.h" + +#include "seahorse-util.h" +#include "seahorse-widget.h" + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +/** + * seahorse_util_handle_error: + * @error: The #GError to print, and clear + * @desc: The heading of the box + * @...: Parameters to insert into the format string desc. + * + * Displays an error box. The message is the error message. + * Won't display cancel errors. + */ +void +seahorse_util_handle_error (GError **error, + gpointer parent, + const char* description, + ...) +{ + gchar *text = NULL; + GtkWidget *widget = NULL; + va_list ap; + + if (!error || !(*error) || + g_error_matches (*error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) { + g_clear_error (error); + return; + } + + va_start (ap, description); + if (description) + text = g_strdup_vprintf (description, ap); + va_end (ap); + + if (parent == NULL) + widget = NULL; + else if (GTK_IS_WIDGET (parent)) + widget = GTK_WIDGET (parent); + else if (GTK_IS_WINDOW (parent)) + widget = GTK_WIDGET (parent); + else if (SEAHORSE_IS_WIDGET (parent)) + widget = seahorse_widget_get_toplevel (parent); + else + g_warning ("unsupported 'parent' argument passed to seahorse_util_handle_error() "); + + g_dbus_error_strip_remote_error (*error); + seahorse_util_show_error (widget, text, + (*error)->message ? (*error)->message : ""); + g_free (text); + g_clear_error (error); +} + +/** + * seahorse_util_error_domain: + * + * Returns: The GError domain for generic seahorse errors + **/ +GQuark +seahorse_util_error_domain () +{ + static GQuark q = 0; + if(q == 0) + q = g_quark_from_static_string ("seahorse-error"); + return q; +} + +/** + * seahorse_util_get_date_string: + * @time: Time value to parse + * + * Creates a string representation of @time for use with gpg. + * + * Returns: A string representing @time. The returned string should be freed + * with #g_free when no longer needed. + **/ +gchar* +seahorse_util_get_date_string (const time_t time) +{ + GDate *created_date; + gchar *created_string; + + if (time == 0) + return "0"; + + created_date = g_date_new (); + g_date_set_time_t (created_date, time); + created_string = g_new (gchar, 11); + g_date_strftime (created_string, 11, "%Y-%m-%d", created_date); + return created_string; +} + +/** + * seahorse_util_print_fd: + * @fd: The file descriptor to write to + * @s: The data to write + * + * Returns: FALSE on error, TRUE on success + **/ +gboolean +seahorse_util_print_fd (int fd, const char* s) +{ + /* Guarantee all data is written */ + int r, l = strlen (s); + + while (l > 0) { + + r = write (fd, s, l); + + if (r == -1) { + if (errno == EPIPE) + return FALSE; + if (errno != EAGAIN && errno != EINTR) { + g_critical ("couldn't write data to socket: %s", strerror (errno)); + return FALSE; + } + + } else { + s += r; + l -= r; + } + } + + return TRUE; +} + +/** + * seahorse_util_printf_fd: + * @fd: The file descriptor to write to + * @fmt: The printf format of the data to write + * @...: The parameters to insert + * + * Returns: TRUE on success, FALSE on error + **/ +gboolean +seahorse_util_printf_fd (int fd, const char* fmt, ...) +{ + gchar* t; + va_list ap; + gboolean ret; + + va_start (ap, fmt); + t = g_strdup_vprintf (fmt, ap); + va_end (ap); + + ret = seahorse_util_print_fd (fd, t); + g_free (t); + return ret; +} + +/** + * seahorse_util_read_data_block: + * @buf: A string buffer to write the data to. + * @input: The input stream to read from. + * @start: The start signature to look for. + * @end: The end signature to look for. + * + * Breaks out one block of data (usually a key) + * + * Returns: The number of bytes copied. + */ +guint +seahorse_util_read_data_block (GString *buf, GInputStream *input, + const gchar *start, const gchar* end) +{ + const gchar *t; + guint copied = 0; + gchar ch; + gsize read; + + /* Look for the beginning */ + t = start; + while (g_input_stream_read_all (input, &ch, 1, &read, NULL, NULL) && read == 1) { + + /* Match next char */ + if (*t == ch) + t++; + + /* Did we find the whole string? */ + if (!*t) { + buf = g_string_append (buf, start); + copied += strlen (start); + break; + } + } + + /* Look for the end */ + t = end; + while (g_input_stream_read_all (input, &ch, 1, &read, NULL, NULL) && read == 1) { + + /* Match next char */ + if (*t == ch) + t++; + + buf = g_string_append_c (buf, ch); + copied++; + + /* Did we find the whole string? */ + if (!*t) + break; + } + + return copied; +} + +/** + * seahorse_util_write_file_private: + * @filename: file to write to + * @contents: nul-terminated string to write to the file + * @err: error of the write operation + * + * Returns: #TRUE on success, #FALSE if an error occured + */ +gboolean +seahorse_util_write_file_private (const gchar* filename, const gchar* contents, GError **err) +{ + mode_t mask = umask (0077); + gboolean ret = g_file_set_contents (filename, contents, -1, err); + umask (mask); + return ret; +} + +/** + * sort_objects_by_source: + * @k1: the first seahorse object + * @k2: The second seahorse object + * + * Sorts the seahorse objects by their source + * + * Returns: if source of k1k2. If the sources are equal it returns 0 + */ +static gint +sort_objects_by_place (GObject *k1, + GObject *k2) +{ + SeahorsePlace *sk1 = NULL; + SeahorsePlace *sk2 = NULL; + + g_assert (G_IS_OBJECT (k1)); + g_assert (G_IS_OBJECT (k2)); + + g_object_get (k1, "place", &sk1, NULL); + g_object_get (k2, "place", &sk2, NULL); + + if (sk1 == sk2) + return 0; + return sk1 < sk2 ? -1 : 1; +} + +/** + * seahorse_util_objects_sort: + * @objects: #GObject #GList to sort + * + * The objects are sorted by their source + * + * Returns: The sorted list + */ +GList * +seahorse_util_objects_sort_by_place (GList *objects) +{ + return g_list_sort (objects, (GCompareFunc)sort_objects_by_place); +} + + +/** + * seahorse_util_objects_splice: + * @objects: A #GList of #GObject. Must be sorted + * + * Splices the list at the source disconuity + * + * Returns: The second part of the list. + */ +GList * +seahorse_util_objects_splice_by_place (GList *objects) +{ + SeahorsePlace *psk = NULL; + SeahorsePlace *sk; + GList *prev = NULL; + + /* Note that the objects must be sorted */ + for ( ; objects; objects = g_list_next (objects)) { + g_return_val_if_fail (G_IS_OBJECT (objects->data), NULL); + sk = NULL; + g_object_get (objects->data, "place", &sk, NULL); + g_return_val_if_fail (sk != NULL, NULL); + + /* Found a disconuity */ + if (psk && sk != psk) { + g_assert (prev != NULL); + + /* Break the list */ + prev->next = NULL; + + /* And return the new list */ + return objects; + } + + psk = sk; + prev = objects; + } + + return NULL; +} + +/** + * seahorse_util_string_lower: + * @s: ASCII string to change + * + * The whole ASCII string will be lower cased. + */ +void +seahorse_util_string_lower (gchar *s) +{ + for ( ; *s; s++) + *s = g_ascii_tolower (*s); +} + +/** + * seahorse_util_parse_version: + * + * @version: Version number string in the form xx.yy.zz + * + * Converts an (up to) four-part version number into a 64-bit + * unsigned integer for simple comparison. + * + * Returns: SeahorseVersion + **/ +SeahorseVersion +seahorse_util_parse_version (const char *version) +{ + SeahorseVersion ret = 0, tmp = 0; + int offset = 48; + gchar **tokens = g_strsplit (version, ".", 5); + int i; + for (i=0; tokens[i] && offset >= 0; i++) { + tmp = atoi(tokens[i]); + ret += tmp << offset; + offset -= 16; + } + g_strfreev(tokens); + return ret; +} + +guint +seahorse_ulong_hash (gconstpointer v) +{ + const signed char *p = v; + guint32 i, h = *p; + + for(i = 0; i < sizeof (gulong); ++i) + h = (h << 5) - h + *(p++); + + return h; +} + +gboolean +seahorse_ulong_equal (gconstpointer v1, + gconstpointer v2) +{ + return *((const gulong*)v1) == *((const gulong*)v2); +} diff --git a/libseahorse/seahorse-util.h b/libseahorse/seahorse-util.h new file mode 100644 index 00000000..fe144a29 --- /dev/null +++ b/libseahorse/seahorse-util.h @@ -0,0 +1,84 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * Copyright (C) 2004-2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/** + * A bunch of miscellaneous utility functions. + */ + +#ifndef __SEAHORSE_UTIL_H__ +#define __SEAHORSE_UTIL_H__ + +#include +#include + +typedef guint64 SeahorseVersion; + +gchar* seahorse_util_get_date_string (const time_t time); + + +#define SEAHORSE_ERROR (seahorse_util_error_domain ()) + +GQuark seahorse_util_error_domain (void); + +void seahorse_util_handle_error (GError **error, + gpointer parent, + const gchar* description, + ...); + +guint seahorse_util_read_data_block (GString *buf, + GInputStream* input, + const gchar *start, + const gchar* end); + +gboolean seahorse_util_print_fd (int fd, + const char* data); + +gboolean seahorse_util_printf_fd (int fd, + const char* data, ...); + +gboolean seahorse_util_write_file_private (const gchar* filename, + const gchar* contents, + GError **err); + +GList * seahorse_util_objects_sort_by_place (GList *objects); + +GList * seahorse_util_objects_splice_by_place (GList *objects); + +void seahorse_util_string_lower (gchar *s); + +SeahorseVersion seahorse_util_parse_version (const char *version); + +guint seahorse_ulong_hash (gconstpointer v); + +gboolean seahorse_ulong_equal (gconstpointer v1, + gconstpointer v2); + +#define seahorse_util_version(a,b,c,d) ((SeahorseVersion)a << 48) + ((SeahorseVersion)b << 32) \ + + ((SeahorseVersion)c << 16) + (SeahorseVersion)d + +#define seahorse_util_wait_until(expr) \ + while (!(expr)) { \ + while (g_main_context_pending(NULL) && !(expr)) \ + g_main_context_iteration (NULL, FALSE); \ + g_thread_yield (); \ + } + +#endif /* __SEAHORSE_UTIL_H__ */ diff --git a/libseahorse/seahorse-widget.c b/libseahorse/seahorse-widget.c new file mode 100644 index 00000000..3b1bd2a6 --- /dev/null +++ b/libseahorse/seahorse-widget.c @@ -0,0 +1,601 @@ +/* + * Seahorse + * + * Copyright (C) 2002 Jacob Perkins + * Copyright (C) 2005 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-widget.h" + +#include "seahorse-common.h" + +#include + +#include + +/** + * SECTION:seahorse-widget + * @short_description: wrapping gtk-builder widgets to simplify usage. + * @include:seahorse-widget.h + * + **/ + +#define STATUS "status" + +enum { + PROP_0, + PROP_NAME +}; + +enum { + DESTROY, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + +static void class_init (SeahorseWidgetClass *klass); +static void object_init (SeahorseWidget *swidget); + +static void object_dispose (GObject *gobject); +static void object_finalize (GObject *gobject); + +static void object_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); + +static void object_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); + +/* signal functions */ +G_MODULE_EXPORT void on_widget_closed (GtkWidget *widget, + SeahorseWidget *swidget); + +G_MODULE_EXPORT void on_widget_help (GtkWidget *widget, + SeahorseWidget *swidget); + +G_MODULE_EXPORT gboolean on_widget_delete_event (GtkWidget *widget, + GdkEvent *event, + SeahorseWidget *swidget); + +static GObjectClass *parent_class = NULL; + +/* Hash of widgets with name as key */ +static GHashTable *widgets = NULL; + +/** + * seahorse_widget_get_type: + * + * Registers the widget type "SeahorseWidget" + * + * Returns: The widget identifier + */ +GType +seahorse_widget_get_type (void) +{ + static GType widget_type = 0; + + if (!widget_type) { + static const GTypeInfo widget_info = { + sizeof (SeahorseWidgetClass), NULL, NULL, + (GClassInitFunc) class_init, + NULL, NULL, sizeof (SeahorseWidget), 0, (GInstanceInitFunc) object_init + }; + + widget_type = g_type_register_static (G_TYPE_OBJECT, "SeahorseWidget", + &widget_info, 0); + } + + return widget_type; +} + +static void +seahorse_widget_constructed (GObject *object) +{ + SeahorseWidget *self = SEAHORSE_WIDGET (object); + GtkWindow *window; + gint width, height; + gchar *path; + + G_OBJECT_CLASS (parent_class)->constructed (object); + + /* Load window size for windows that aren't dialogs */ + window = GTK_WINDOW (seahorse_widget_get_toplevel (self)); + if (!GTK_IS_DIALOG (window)) { + path = g_strdup_printf ("/apps/seahorse/windows/%s/", self->name); + self->settings = g_settings_new_with_path ("org.gnome.seahorse.window", path); + g_free (path); + + width = g_settings_get_int (self->settings, "width"); + height = g_settings_get_int (self->settings, "height"); + + if (width > 0 && height > 0) + gtk_window_resize (window, width, height); + } + + if(!widgets) + widgets = g_hash_table_new ((GHashFunc)g_str_hash, (GCompareFunc)g_str_equal); + g_hash_table_insert (widgets, g_strdup (self->name), self); + + /* gtk_application_add_window (seahorse_application_get (), */ + /* GTK_WINDOW (seahorse_widget_get_widget (self, self->name))); */ +} + +/** +* klass: the #SeahorseWidgetClass +* +* Initialises the SeahorseWidgetClass +* +**/ +static void +class_init (SeahorseWidgetClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + GtkCssProvider *css_provider; + + parent_class = g_type_class_peek_parent (klass); + + gobject_class->constructed = seahorse_widget_constructed; + gobject_class->dispose = object_dispose; + gobject_class->finalize = object_finalize; + gobject_class->set_property = object_set_property; + gobject_class->get_property = object_get_property; + + g_object_class_install_property (gobject_class, PROP_NAME, + g_param_spec_string ("name", "Widget name", "Name of gtkbuilder file and main widget", + NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + + signals[DESTROY] = g_signal_new ("destroy", SEAHORSE_TYPE_WIDGET, + G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (SeahorseWidgetClass, destroy), + NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + + css_provider = gtk_css_provider_new (); + gtk_css_provider_load_from_resource (css_provider, "/org/gnome/Seahorse/seahorse.css"); + gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), + GTK_STYLE_PROVIDER (css_provider), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + g_object_unref (css_provider); +} + +/** +* swidget: The #SeahorseWidget being initialised +* +* Connects the destroy-signal +* +**/ +static void +object_init (SeahorseWidget *swidget) +{ + +} + +static void +object_dispose (GObject *object) +{ + SeahorseWidget *swidget = SEAHORSE_WIDGET (object); + + if (!swidget->in_destruction) { + swidget->in_destruction = TRUE; + g_signal_emit (swidget, signals[DESTROY], 0); + swidget->in_destruction = FALSE; + } + + G_OBJECT_CLASS (parent_class)->dispose (object); +} + +/** +* gobject: The #SeahorseWidget to finalize +* +* Disconnects callbacks, destroys main window widget, +* and frees the xml definition and any other data +* +**/ +static void +object_finalize (GObject *gobject) +{ + SeahorseWidget *swidget; + + swidget = SEAHORSE_WIDGET (gobject); + + /* Remove widget from hash and destroy hash if empty */ + if (widgets) { + g_hash_table_remove (widgets, swidget->name); + if (g_hash_table_size (widgets) == 0) { + g_hash_table_destroy (widgets); + widgets = NULL; + } + } + + /* gtk_application_remove_window (seahorse_application_get (), */ + /* GTK_WINDOW (seahorse_widget_get_widget (swidget, swidget->name))); */ + + if (seahorse_widget_get_widget (swidget, swidget->name)) { + gtk_widget_destroy (GTK_WIDGET (seahorse_widget_get_widget (swidget, swidget->name))); + } + + g_object_unref (swidget->gtkbuilder); + swidget->gtkbuilder = NULL; + + g_clear_object (&swidget->settings); + g_free (swidget->name); + + G_OBJECT_CLASS (parent_class)->finalize (gobject); +} + +/** +* object: the object to set the value for +* prop_id: the id of the property to set +* value: the value to set +* pspec: ignored +* +* Only property PROP_NAME is available so far +* +**/ +static void +object_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) +{ + SeahorseWidget *swidget; + GtkWidget *w; + char *path; + GError *error = NULL; + + swidget = SEAHORSE_WIDGET (object); + + switch (prop_id) { + /* Loads gtkbuilder xml definition from name, connects common callbacks */ + case PROP_NAME: + g_return_if_fail (swidget->name == NULL); + swidget->name = g_value_dup_string (value); + path = g_strdup_printf ("/org/gnome/Seahorse/seahorse-%s.ui", + swidget->name); + swidget->gtkbuilder = gtk_builder_new (); + gtk_builder_add_from_resource (swidget->gtkbuilder, path, &error); + if (error) + { + g_warning ("Error parsing %s: %s\n", path, error->message); + g_error_free (error); + } + g_free (path); + g_return_if_fail (swidget->gtkbuilder != NULL); + + gtk_builder_connect_signals (swidget->gtkbuilder, swidget); + + w = GTK_WIDGET (seahorse_widget_get_widget (swidget, swidget->name)); + /*TODO: glade_xml_ensure_accel (swidget->gtkbuilder);*/ + + gtk_window_set_icon_name (GTK_WINDOW (w), "seahorse"); + break; + } +} + +/** +* object: the object to get the property for +* prop_id: ID of the property +* value: Value to return +* pspec: ignored +* +* Only the property PROP_NAME is available so far +* +**/ +static void +object_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) + +{ + SeahorseWidget *swidget; + swidget = SEAHORSE_WIDGET (object); + + switch (prop_id) { + case PROP_NAME: + g_value_set_string (value, swidget->name); + break; + default: + break; + } +} + +/** + * on_widget_help: + * @widget: The widget + * @swidget: The #SeahorseWidget + * + * Shows help to the widget + * + */ +G_MODULE_EXPORT void +on_widget_help (GtkWidget *widget, SeahorseWidget *swidget) +{ + seahorse_widget_show_help (swidget); +} + + +/** + * on_widget_closed: + * @widget: ignored + * @swidget: The #SeahorseWidget + * + * Closes the widget, calls destroy-function + * + */ +/* Destroys widget */ +G_MODULE_EXPORT void +on_widget_closed (GtkWidget *widget, SeahorseWidget *swidget) +{ + seahorse_widget_destroy (swidget); +} + + +/** + * on_widget_delete_event: + * @widget: the widget being deleted + * @event: ignored + * @swidget: the #SeahorseWidget + * + * + * + * Returns: FALSE + */ +/* Closed widget */ +G_MODULE_EXPORT gboolean +on_widget_delete_event (GtkWidget *widget, GdkEvent *event, SeahorseWidget *swidget) +{ + on_widget_closed (widget, swidget); + return FALSE; /* propogate event */ +} + +/** + * seahorse_widget_new: + * @name: Name of widget, filename part of gtkbuilder file, and name of main window + * @parent: GtkWindow to make the parent of the new swidget + * + * Creates a new #SeahorseWidget. Date is read from the gtk-builder file + * seahorse-%name%.ui + * + * Returns: The new #SeahorseWidget, or NULL if the widget already exists + **/ +SeahorseWidget* +seahorse_widget_new (const gchar *name, GtkWindow *parent) +{ + /* Check if have widget hash */ + SeahorseWidget *swidget = seahorse_widget_find (name); + GtkWindow *window; + + /* If widget already exists, present */ + if (swidget != NULL) { + gtk_window_present (GTK_WINDOW (seahorse_widget_get_widget (swidget, swidget->name))); + return NULL; + } + + /* If widget doesn't already exist, create & insert into hash */ + swidget = g_object_new (SEAHORSE_TYPE_WIDGET, "name", name, NULL); + if (parent != NULL) { + window = GTK_WINDOW (seahorse_widget_get_widget (swidget, swidget->name)); + gtk_window_set_transient_for (window, parent); + } + + return swidget; +} + +/** + * seahorse_widget_new_allow_multiple: + * @name: Name of widget, filename part of gtkbuilder file, and name of main window + * @parent: GtkWindow to make the parent of the new swidget + * + * Creates a new #SeahorseWidget without checking if it already exists. + * + * Returns: The new #SeahorseWidget + **/ +SeahorseWidget* +seahorse_widget_new_allow_multiple (const gchar *name, GtkWindow *parent) +{ + GtkWindow *window; + SeahorseWidget *swidget; + + swidget = g_object_new (SEAHORSE_TYPE_WIDGET, "name", name, NULL); + + if (parent != NULL) { + window = GTK_WINDOW (seahorse_widget_get_widget (swidget, swidget->name)); + gtk_window_set_transient_for (window, parent); + } + + gtk_builder_connect_signals (swidget->gtkbuilder, NULL); + return swidget; +} + +/** + * seahorse_widget_find: + * @name: The name to look for + * + * Returns: The widget with the @name or NULL if not found + */ +SeahorseWidget* +seahorse_widget_find (const gchar *name) + +{ + /* Check if have widget hash */ + if (widgets != NULL) + return SEAHORSE_WIDGET (g_hash_table_lookup (widgets, name)); + return NULL; +} + +/** + * seahorse_widget_show_help: + * @swidget: The #SeahorseWidget. + * + * Show help appropriate for the top level widget. + */ +void +seahorse_widget_show_help (SeahorseWidget *swidget) +{ + GError *error = NULL; + gchar *document = NULL; + GtkWidget *dialog = NULL; + + if (g_str_equal (swidget->name, "key-manager") || + g_str_equal (swidget->name, "keyserver-results")) { + document = g_strdup ("help:" PACKAGE "/introduction"); + } else { + document = g_strdup_printf ("help:" PACKAGE "/%s", swidget->name); + } + + if (!g_app_info_launch_default_for_uri (document, NULL, &error)) { + dialog = gtk_message_dialog_new (GTK_WINDOW (seahorse_widget_get_toplevel (swidget)), + GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, + _("Could not display help: %s"), error->message); + g_signal_connect (G_OBJECT (dialog), "response", G_CALLBACK (gtk_widget_destroy), NULL); + gtk_widget_show (dialog); + } + + g_free (document); + + if (error) + g_error_free (error); +} + +/** + * seahorse_widget_get_name: + * @swidget: The widget to get the name for + * + * Returns: The name of the widget + */ +const gchar* +seahorse_widget_get_name (SeahorseWidget *swidget) +{ + g_return_val_if_fail (SEAHORSE_IS_WIDGET (swidget), NULL); + return swidget->name; +} + +/** + * seahorse_widget_get_toplevel: + * @swidget: The seahorse widget + * + * Return the top level widget in this seahorse widget + * + * Returns: The top level widget + **/ +GtkWidget* +seahorse_widget_get_toplevel (SeahorseWidget *swidget) +{ + GtkWidget *widget = GTK_WIDGET (seahorse_widget_get_widget (swidget, swidget->name)); + g_return_val_if_fail (widget != NULL, NULL); + return widget; +} + +/** + * seahorse_widget_get_widget: + * @swidget: a #SeahorseWidget + * @identifier: the name of the widget to get + * + * Returns: the widget named @identifier in @swidget + */ +GtkWidget* +seahorse_widget_get_widget (SeahorseWidget *swidget, const char *identifier) +{ + GtkWidget *widget = GTK_WIDGET (gtk_builder_get_object (swidget->gtkbuilder, identifier)); + if (widget == NULL) + g_warning ("could not find widget %s for seahorse-%s.ui", identifier, swidget->name); + return widget; +} + +/** + * seahorse_widget_show: + * @swidget: #SeahorseWidget to show + * + * Show the toplevel widget in the gtkbuilder file. + **/ +void +seahorse_widget_show (SeahorseWidget *swidget) +{ + GtkWidget *widget; + + widget = GTK_WIDGET (seahorse_widget_get_widget (swidget, swidget->name)); + g_return_if_fail (widget != NULL); + gtk_widget_show (widget); +} + +/** + * seahorse_widget_set_visible: + * @swidget: the #SeahorseWidget + * @identifier: The identifier of the widget to set visibility for + * @visible: TRUE to show the widget, FALSE to hide it + * + */ +void +seahorse_widget_set_visible (SeahorseWidget *swidget, const char *identifier, + gboolean visible) + +{ + GtkWidget *widget = GTK_WIDGET (seahorse_widget_get_widget (swidget, identifier)); + g_return_if_fail (widget != NULL); + + if (visible) + gtk_widget_show (widget); + else + gtk_widget_hide (widget); +} + +/** + * seahorse_widget_set_sensitive: + * @swidget: the #SeahorseWidget to find the widget @identifier in + * @identifier: the name of the widget to set sensitive + * @sensitive: TRUE if the widget should be switched to sensitive + * + * Sets the widget @identifier 's sensitivity to @sensitive + */ +void +seahorse_widget_set_sensitive (SeahorseWidget *swidget, const char *identifier, + gboolean sensitive) +{ + GtkWidget *widget = GTK_WIDGET (seahorse_widget_get_widget (swidget, identifier)); + g_return_if_fail (widget != NULL); + gtk_widget_set_sensitive (widget, sensitive); +} + +/** + * seahorse_widget_destroy: + * @self: #SeahorseWidget to destroy + * + * Unrefs @swidget. + **/ +void +seahorse_widget_destroy (SeahorseWidget *self) +{ + GtkWidget *widget; + gint width, height; + + g_return_if_fail (self != NULL && SEAHORSE_IS_WIDGET (self)); + widget = seahorse_widget_get_toplevel (self); + + /* Save window size */ + if (self->settings) { + + gtk_window_get_size (GTK_WINDOW (widget), &width, &height); + + g_settings_set_int (self->settings, "width", width); + g_settings_set_int (self->settings, "height", height); + } + + /* Destroy Widget */ + if (!self->destroying) { + self->destroying = TRUE; + gtk_widget_destroy (seahorse_widget_get_toplevel (self)); + g_object_unref (self); + } +} diff --git a/libseahorse/seahorse-widget.h b/libseahorse/seahorse-widget.h new file mode 100644 index 00000000..f4ab2c57 --- /dev/null +++ b/libseahorse/seahorse-widget.h @@ -0,0 +1,107 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * Copyright (C) 2005 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#ifndef __SEAHORSE_WIDGET_H__ +#define __SEAHORSE_WIDGET_H__ + +#include +#include + +#define SEAHORSE_TYPE_WIDGET (seahorse_widget_get_type ()) +#define SEAHORSE_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_WIDGET, SeahorseWidget)) +#define SEAHORSE_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_TYPE_WIDGET, SeahorseWidgetClass)) +#define SEAHORSE_IS_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_TYPE_WIDGET)) +#define SEAHORSE_IS_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_TYPE_WIDGET)) +#define SEAHORSE_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_TYPE_WIDGET, SeahorseWidgetClass)) + +typedef struct _SeahorseWidget SeahorseWidget; +typedef struct _SeahorseWidgetClass SeahorseWidgetClass; + +/** + * SeahorseWidget: + * @parent: The parent #GObject + * @gtkbuilder: The #GtkBuilder object for the #SeahorseWidget + * @name: The name of the gtkbuilder file + * + * A window created from a gtkbuilder file. + * + * - All SeahorseWidget objects are destroyed when the SeahorseContext + * goes bye-bye. + * - Implements fun GtkUIManager stuff. + * + * Signals: + * destroy: The window was destroyed. + * + * Properties: + * name: (gchar*) The name of the gtkbuilder file to load. + */ + +struct _SeahorseWidget { + GObject parent; + + /*< public >*/ + GtkBuilder *gtkbuilder; + gchar *name; + + /*< private >*/ + gboolean destroying; + gboolean in_destruction; + GSettings *settings; +}; + +struct _SeahorseWidgetClass { + GObjectClass parent_class; + + /*< signals >*/ + void (*destroy) (SeahorseWidget *swidget); +}; + +GType seahorse_widget_get_type (void) G_GNUC_CONST; + +SeahorseWidget* seahorse_widget_new (const gchar *name, + GtkWindow *parent); + +SeahorseWidget* seahorse_widget_new_allow_multiple (const gchar *name, + GtkWindow *parent); + +SeahorseWidget* seahorse_widget_find (const gchar *name); + +const gchar* seahorse_widget_get_name (SeahorseWidget *swidget); + +GtkWidget* seahorse_widget_get_toplevel (SeahorseWidget *swidget); + +GtkWidget* seahorse_widget_get_widget (SeahorseWidget *swidget, + const char *identifier); + +void seahorse_widget_show (SeahorseWidget *swidget); + +void seahorse_widget_show_help (SeahorseWidget *swidget); + +void seahorse_widget_set_visible (SeahorseWidget *swidget, + const char *identifier, + gboolean visible); + +void seahorse_widget_set_sensitive (SeahorseWidget *swidget, + const char *identifier, + gboolean sensitive); + +void seahorse_widget_destroy (SeahorseWidget *swidget); + +#endif /* __SEAHORSE_WIDGET_H__ */ diff --git a/libseahorse/seahorse.css b/libseahorse/seahorse.css new file mode 100644 index 00000000..a6e0563c --- /dev/null +++ b/libseahorse/seahorse.css @@ -0,0 +1,65 @@ +.seahorse-sidebar-item-header { + margin-top: 6px; + font-weight: bold; +} + +.seahorse-sidebar-item { + margin: 0 3px 0 12px; +} + +.seahorse-sidebar-item > label { + margin: 3px 0 3px 0; +} + +.seahorse-sidebar-item > button { + padding: 0; + margin: 0; +} + +.seahorse-item-listbox { + border: 1px solid @borders; + min-width: 400px; +} + +.seahorse-item-listbox > row { + border-bottom: 1px groove @borders; +} + +.seahorse-item-listbox > row:last-child { + border-bottom: 0; +} + +.seahorse-item-listbox-row { + margin: 12px; +} + +.seahorse-item-listbox-row > .seahorse-item-listbox-row-description { + font-size: small; +} + +.new-item-list { + background-color: transparent; +} + +.pane-separator { + border-width: 1px 1px 0 0; + border-style: solid; + border-color: shade (@theme_bg_color, 0.66); +} + +levelbar .strength-weak { + background-color: #cc0000; + border-color: #cc0000; +} + +levelbar .strength-low { + background-color: #f5ce00; + border-color: #f5ce00; +} + +levelbar .strength-medium, +levelbar .strength-good, +levelbar .strength-high { + background-color: #73d216; + border-color: #73d216; +} diff --git a/meson.build b/meson.build new file mode 100644 index 00000000..0b332410 --- /dev/null +++ b/meson.build @@ -0,0 +1,194 @@ +project('seahorse', ['vala', 'c'], + version: '3.38.0.1', + meson_version: '>= 0.51', + license: 'GPL2+', +) + +gnome = import('gnome') +i18n = import('i18n') + +# Some variables +cc = meson.get_compiler('c') +valac = meson.get_compiler('vala') +buildtype = get_option('buildtype') + +seahorse_prefix = get_option('prefix') +po_dir = meson.source_root() / 'po' +libexecbindir = seahorse_prefix / get_option('libexecdir') / meson.project_name() + +# Application ID +if get_option('profile') == 'default' + application_id = 'org.gnome.seahorse.Application' +else + application_id = 'org.gnome.seahorse.ApplicationDevel' +endif + +# Dependencies +min_glib_version = '2.58' +min_gcr_version = '3.11.91' +accepted_gpg_versions = [ '2.0.12', '2.1.4', '2.2.0' ] +gpg_check_version = find_program('build-aux' / 'gpg_check_version.py') + +glib_deps = [ + dependency('glib-2.0', version: '>=' + min_glib_version), + dependency('gobject-2.0', version: '>=' + min_glib_version), + dependency('gio-2.0', version: '>=' + min_glib_version), + dependency('gio-unix-2.0',version: '>=' + min_glib_version), + dependency('gmodule-2.0', version: '>=' + min_glib_version), +] +gtk = dependency('gtk+-3.0', version: '>= 3.22.0') +libhandy_dep = dependency('libhandy-1', version: '>= 1.0.0', required: false) +if not libhandy_dep.found() + libhandy_subproj = subproject( + 'libhandy', + default_options: [ + 'examples=false', + 'glade_catalog=disabled', + 'tests=false', + 'vapi=true', + ] + ) + + # Make sure to also get the VAPI file + libhandy_dep = declare_dependency( + dependencies: [ + libhandy_subproj.get_variable('libhandy_dep'), + libhandy_subproj.get_variable('libhandy_vapi'), + ] + ) +endif +gcr = dependency('gcr-3', version: '>=' + min_gcr_version) +gcr_ui = dependency('gcr-ui-3', version: '>=' + min_gcr_version) +libsecret = dependency('libsecret-1', version: '>= 0.16') +libpwquality = dependency('pwquality') +posix = valac.find_library('posix') +ssh_bin = find_program('ssh') +ssh_keygen = find_program('ssh-keygen') +gpg_bin = find_program('gpg2', 'gpg', required: get_option('pgp-support')) +gpgme_dep = dependency('gpgme', version: '>= 1.7.0', required: get_option('pgp-support')) + +if get_option('pgp-support') + gpg_version_check = run_command([gpg_check_version, gpg_bin.path(), accepted_gpg_versions ]) + gpg_version = gpg_version_check.stdout() + message('GnuPG Version: @0@'.format(gpg_version)) + if get_option('check-compatible-gpg') and gpg_version_check.returncode() != 0 + error('Incompatible version of GnuPG. Accepted versions are: @0@'.format(accepted_gpg_versions)) + endif +endif + +pkcs11_dep = valac.find_library('pkcs11', required: get_option('pkcs11-support')) +if get_option('pkcs11-support') and not pkcs11_dep.found() + error('Required library "pkcs11" not found (needed for PKCS#11 support)') +endif + +if get_option('ldap-support') + libldap = cc.find_library('ldap') + liblber = cc.find_library('lber') + if not libldap.found() + error('Required library "ldap" not found (needed for LDAP support)') + elif not liblber.found() + error('Required library "lber" not found (needed for LDAP support)') + endif +endif + +libsoup = dependency('libsoup-2.4', version: '>= 2.33.92', required: get_option('hkp-support')) +avahi_client = dependency('avahi-client', required: get_option('key-sharing')) +avahi_glib = dependency('avahi-glib', version: '>= 0.6', required: get_option('key-sharing')) + + +# Project-wide flags +add_project_arguments([ + '--target-glib=@0@'.format(min_glib_version), + ], + language: 'vala', +) +add_project_arguments([ + '-DGCR_API_SUBJECT_TO_CHANGE', + '-DGCK_API_SUBJECT_TO_CHANGE', + '-DSECRET_WITH_UNSTABLE', + '-include', 'config.h', + # Don't care about unused parameters (which can happen a lot with callbacks) + '-Wno-unused-parameter', + '-Wno-missing-field-initializers', + ], + language: 'c', +) + + +# configuration +conf = configuration_data() + +conf.set_quoted('VERSION', '@VCS_TAG@') +conf.set_quoted('PACKAGE', meson.project_name()) +conf.set_quoted('PACKAGE_NAME', meson.project_name()) +conf.set_quoted('PACKAGE_VERSION', '@VCS_TAG@') +conf.set_quoted('PACKAGE_STRING', '@0@ @1@'.format(meson.project_name(), meson.project_version())) +conf.set_quoted('PKGDATADIR', get_option('datadir') / meson.project_name()) +conf.set_quoted('EXECDIR', libexecbindir) +conf.set_quoted('LOCALEDIR', seahorse_prefix / get_option('localedir')) +conf.set_quoted('APPLICATION_ID', application_id) +conf.set_quoted('PROFILE', get_option('profile')) +conf.set_quoted('GETTEXT_PACKAGE', meson.project_name()) +conf.set_quoted('G_LOG_DOMAIN', meson.project_name()) +conf.set('WITH_DEBUG', buildtype.contains('debug')) +conf.set10('_DEBUG', buildtype.contains('debug')) +conf.set('HAVE_STRSEP', cc.has_function('strsep')) +conf.set('WITH_PGP', get_option('pgp-support')) +conf.set('WITH_PKCS11', get_option('pkcs11-support')) +conf.set('WITH_LDAP', get_option('ldap-support')) +conf.set('WITH_HKP', get_option('hkp-support')) +conf.set('WITH_SOUP', get_option('hkp-support')) +conf.set('WITH_KEYSERVER', get_option('keyservers-support')) +conf.set('WITH_SHARING', get_option('key-sharing')) +conf.set_quoted('SSH_KEYGEN_PATH', ssh_keygen.path()) +conf.set_quoted('SSH_PATH', ssh_bin.path()) +if get_option('pgp-support') + conf.set_quoted('GNUPG', gpg_bin.path()) + gpg_version_split = gpg_version.split('.') + conf.set('GPG_MAJOR', gpg_version_split[0]) + conf.set('GPG_MINOR', gpg_version_split[1]) + conf.set('GPG_MICRO', gpg_version_split[2]) +endif + +vcs_tag( + input: configure_file( + output: 'config.h.in', + configuration: conf + ), + output: 'config.h' +) + +config_file = configure_file( + output: 'config.h', + configuration: conf, +) + +config = declare_dependency( + sources: config_file, + dependencies: [ + valac.find_library('config', dirs: meson.source_root() / 'common'), + ], + include_directories: include_directories('.'), +) + +# Post-install scripts +meson.add_install_script('build-aux' / 'meson_post_install.py') + +# subdirs +subdir('po') +subdir('data') +if get_option('help') + subdir('help') +endif +subdir('common') +subdir('libegg') +subdir('gkr') +subdir('ssh') +if get_option('pgp-support') + subdir('pgp') +endif +if get_option('pkcs11-support') + subdir('pkcs11') +endif +subdir('libseahorse') +subdir('src') diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 00000000..b9dd441b --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,10 @@ +option('help', type: 'boolean', value: true, description: 'Build help') +option('profile', type: 'combo', choices: [ 'default', 'development' ], value: 'default', description: 'Indicate whether this is a nightly build (used for CI purposes)') +option('pgp-support', type: 'boolean', value: true, description: 'Add support PGP keys') +option('check-compatible-gpg', type: 'boolean', value: true, description: 'Perform a rudimentary check if the GPG and GPG versions are compatible') +option('pkcs11-support', type: 'boolean', value: true, description: 'Add support for PKCS#11 objects') +option('keyservers-support', type: 'boolean', value: true, description: 'Add support for keyservers') +option('hkp-support', type: 'boolean', value: true, description: 'Add support for keyservers using LDAP') +option('ldap-support', type: 'boolean', value: true, description: 'Add support for keyservers using HKP') +option('key-sharing', type: 'boolean', value: true, description: 'Add support for DNS-SD key sharing') +option('manpage', type: 'boolean', value: false, description: 'Build and install the manpage (requires xsltproc)') diff --git a/pgp/meson.build b/pgp/meson.build new file mode 100644 index 00000000..7f1010d9 --- /dev/null +++ b/pgp/meson.build @@ -0,0 +1,96 @@ +pgp_sources = files( + 'seahorse-combo-keys.c', + 'seahorse-discovery.c', + 'seahorse-gpgme.c', + 'seahorse-gpgme-add-subkey.c', + 'seahorse-gpgme-add-uid.c', + 'seahorse-gpgme-data.c', + 'seahorse-gpgme-expires-dialog.c', + 'seahorse-gpgme-exporter.c', + 'seahorse-gpgme-generate-dialog.c', + 'seahorse-gpgme-key.c', + 'seahorse-gpgme-key-deleter.c', + 'seahorse-gpgme-key-op.c', + 'seahorse-gpgme-keyring.c', + 'seahorse-gpgme-photo.c', + 'seahorse-gpgme-photos.c', + 'seahorse-gpgme-revoke.c', + 'seahorse-gpgme-secret-deleter.c', + 'seahorse-gpgme-sign-dialog.c', + 'seahorse-gpgme-subkey.c', + 'seahorse-gpgme-uid.c', + 'seahorse-gpg-op.c', + 'seahorse-gpg-options.c', + 'seahorse-pgp-actions.c', + 'seahorse-pgp-backend.c', + 'seahorse-pgp-key.c', + 'seahorse-pgp-key-properties.c', + 'seahorse-pgp-keysets.c', + 'seahorse-pgp-photo.c', + 'seahorse-pgp-signature.c', + 'seahorse-pgp-subkey.c', + 'seahorse-pgp-uid.c', + 'seahorse-signer.c', + 'seahorse-transfer.c', + 'seahorse-unknown.c', + 'seahorse-unknown-source.c', +) + +pgp_dependencies = [ + glib_deps, + gcr, + gpgme_dep, + common_dep, +] + +pgp_c_flags = [ +] + +if get_option('ldap-support') + pgp_sources = [ pgp_sources, 'seahorse-ldap-source.c' ] + pgp_dependencies += [ + libldap, + liblber, + ] + pgp_c_flags += '-DLDAP_DEPRECATED' +endif + +if get_option('hkp-support') + pgp_sources += [ pgp_sources, 'seahorse-hkp-source.c' ] + pgp_dependencies += libsoup +endif + +if get_option('keyservers-support') + pgp_sources = [ + pgp_sources, + 'seahorse-server-source.c', + 'seahorse-keyserver-search.c', + 'seahorse-keyserver-sync.c', + 'seahorse-keyserver-results.c', + ] +endif + +if get_option('key-sharing') + pgp_dependencies += [ + avahi_client, + avahi_glib, + ] +endif + +pgp_lib = static_library('seahorse-pgp', + pgp_sources, + dependencies: pgp_dependencies, + c_args: pgp_c_flags, +) + +pgp_dep = declare_dependency( + link_with: pgp_lib, + include_directories: include_directories('.'), +) + +# xloadimage helper binary +xloadimage = executable('xloadimage', + 'seahorse-xloadimage.c', + install: true, + install_dir: libexecbindir, +) diff --git a/pgp/seahorse-combo-keys.c b/pgp/seahorse-combo-keys.c new file mode 100644 index 00000000..3c73d6a4 --- /dev/null +++ b/pgp/seahorse-combo-keys.c @@ -0,0 +1,362 @@ +/* + * Seahorse + * + * Copyright (C) 2004-2006 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-combo-keys.h" + +#include "seahorse-common.h" + +enum { + COMBO_LABEL, + COMBO_MARKUP, + COMBO_POINTER, + N_COLUMNS +}; + +typedef struct { + GHashTable *labels; + gboolean collision; +} ComboClosure; + +static void +combo_closure_free (gpointer data) +{ + ComboClosure *closure = data; + g_hash_table_destroy (closure->labels); + g_slice_free (ComboClosure, closure); +} + +static ComboClosure * +combo_closure_new (void) +{ + ComboClosure *closure = g_slice_new0 (ComboClosure); + closure->labels = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); + return closure; +} + +static void +refresh_all_markup_in_combo (GtkComboBox *combo) +{ + GtkTreeModel *model; + gpointer object; + GtkTreeIter iter; + gboolean valid; + + model = gtk_combo_box_get_model (combo); + valid = gtk_tree_model_get_iter_first (model, &iter); + + while (valid) { + gtk_tree_model_get (model, &iter, COMBO_POINTER, &object, -1); + g_object_notify (object, "label"); + valid = gtk_tree_model_iter_next (model, &iter); + } +} + +static gchar * +calculate_markup_for_object (GtkComboBox *combo, + const char *label, + SeahorseObject *object) +{ + ComboClosure *closure; + char *markup; + + closure = g_object_get_data (G_OBJECT (combo), "combo-keys-closure"); + + if (!closure->collision) { + if (g_hash_table_lookup (closure->labels, label)) { + closure->collision = TRUE; + refresh_all_markup_in_combo (combo); + } else { + g_hash_table_insert (closure->labels, g_strdup (label), "X"); + } + } + + if (closure->collision && SEAHORSE_PGP_IS_KEY (object)) { + const char *keyid; + const char *ident; + + keyid = seahorse_pgp_key_get_keyid (SEAHORSE_PGP_KEY (object)); + ident = seahorse_pgp_key_calc_identifier (keyid); + markup = g_markup_printf_escaped ("%s [%s]", label, ident); + } else { + markup = g_markup_escape_text (label, -1); + } + + return markup; +} + +static void +on_label_changed (GObject *obj, + GParamSpec *param, + gpointer user_data) +{ + SeahorseObject *object = SEAHORSE_OBJECT (obj); + GtkComboBox *combo = GTK_COMBO_BOX (user_data); + ComboClosure *closure; + GtkTreeModel *model; + GtkTreeIter iter; + gboolean valid; + gchar *previous; + gchar *markup; + gpointer pntr; + const gchar *label; + + closure = g_object_get_data (G_OBJECT (combo), "combo-keys-closure"); + model = gtk_combo_box_get_model (combo); + valid = gtk_tree_model_get_iter_first (model, &iter); + + while (valid) { + gtk_tree_model_get (model, &iter, COMBO_POINTER, &pntr, COMBO_LABEL, &previous, -1); + if (SEAHORSE_OBJECT (pntr) == object) { + + /* Remove this from label collision checks */ + g_hash_table_remove (closure->labels, previous); + + /* Calculate markup taking into account label collisions */ + label = seahorse_object_get_label (object); + markup = calculate_markup_for_object (combo, label, object); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, + COMBO_LABEL, label, + COMBO_MARKUP, markup, + -1); + g_free (markup); + break; + } + + g_free (previous); + valid = gtk_tree_model_iter_next (model, &iter); + } +} + +static void +on_collection_added (GcrCollection *collection, + GObject *obj, + gpointer user_data) +{ + SeahorseObject *object = SEAHORSE_OBJECT (obj); + GtkComboBox *combo = GTK_COMBO_BOX (user_data); + GtkListStore *model; + GtkTreeIter iter; + const gchar *label; + gchar *markup; + + model = GTK_LIST_STORE (gtk_combo_box_get_model (combo)); + + label = seahorse_object_get_label (object); + markup = calculate_markup_for_object (combo, label, object); + + gtk_list_store_append (model, &iter); + gtk_list_store_set (model, &iter, + COMBO_LABEL, label, + COMBO_MARKUP, markup, + COMBO_POINTER, object, + -1); + + g_free (markup); + + g_signal_connect (object, "notify::label", G_CALLBACK (on_label_changed), combo); +} + +static void +on_collection_removed (GcrCollection *collection, + GObject *obj, + gpointer user_data) +{ + ComboClosure *closure = g_object_get_data (user_data, "combo-keys-closure"); + SeahorseObject *object = SEAHORSE_OBJECT (obj); + GtkComboBox *combo = GTK_COMBO_BOX (user_data); + GtkTreeModel *model; + GtkTreeIter iter; + gchar *previous; + gpointer pntr; + gboolean valid; + + model = gtk_combo_box_get_model (combo); + valid = gtk_tree_model_get_iter_first (model, &iter); + + while (valid) { + gtk_tree_model_get (model, &iter, + COMBO_LABEL, &previous, + COMBO_POINTER, &pntr, + -1); + + if (SEAHORSE_OBJECT (pntr) == object) { + g_hash_table_remove (closure->labels, previous); + gtk_list_store_remove (GTK_LIST_STORE (model), &iter); + break; + } + + g_free (previous); + valid = gtk_tree_model_iter_next (model, &iter); + } + + g_signal_handlers_disconnect_by_func (object, on_label_changed, combo); +} + +static void +on_combo_destroy (GtkComboBox *combo, + gpointer user_data) +{ + GcrCollection *collection = GCR_COLLECTION (user_data); + GList *objects, *l; + + objects = gcr_collection_get_objects (collection); + for (l = objects; l != NULL; l = g_list_next (l)) + g_signal_handlers_disconnect_by_func (l->data, on_label_changed, combo); + g_list_free (objects); + g_signal_handlers_disconnect_by_func (collection, on_collection_added, combo); + g_signal_handlers_disconnect_by_func (collection, on_collection_removed, combo); +} + +/* ----------------------------------------------------------------------------- + * PUBLIC CALLS + */ + +void +seahorse_combo_keys_attach (GtkComboBox *combo, + GcrCollection *collection, + const gchar *none_option) +{ + GtkTreeModel *model; + GtkTreeIter iter; + GtkCellRenderer *renderer; + GList *l, *objects; + + g_object_set_data_full (G_OBJECT (combo), "combo-keys-closure", + combo_closure_new (), combo_closure_free); + + /* Setup the None Option */ + model = gtk_combo_box_get_model (combo); + if (!model) { + model = GTK_TREE_MODEL (gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, + G_TYPE_STRING, G_TYPE_POINTER)); + gtk_combo_box_set_model (combo, model); + + gtk_cell_layout_clear (GTK_CELL_LAYOUT (combo)); + renderer = gtk_cell_renderer_text_new (); + + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, TRUE); + gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combo), renderer, + "markup", COMBO_MARKUP); + } + + /* Setup the object list */ + objects = gcr_collection_get_objects (collection); + for (l = objects; l != NULL; l = g_list_next (l)) + on_collection_added (collection, l->data, combo); + g_list_free (objects); + + g_signal_connect_after (collection, "added", G_CALLBACK (on_collection_added), combo); + g_signal_connect_after (collection, "removed", G_CALLBACK (on_collection_removed), combo); + + if (none_option) { + gtk_list_store_prepend (GTK_LIST_STORE (model), &iter); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, + COMBO_LABEL, NULL, + COMBO_MARKUP, none_option, + COMBO_POINTER, NULL, + -1); + } + + gtk_tree_model_get_iter_first (model, &iter); + gtk_combo_box_set_active_iter (combo, &iter); + + g_signal_connect_data (combo, "destroy", G_CALLBACK (on_combo_destroy), + g_object_ref (collection), (GClosureNotify)g_object_unref, 0); +} + +void +seahorse_combo_keys_set_active_id (GtkComboBox *combo, + const gchar *keyid) +{ + SeahorsePgpKey *key; + GtkTreeModel *model; + GtkTreeIter iter; + gboolean valid; + gpointer pointer; + guint i; + + g_return_if_fail (GTK_IS_COMBO_BOX (combo)); + + model = gtk_combo_box_get_model (combo); + g_return_if_fail (model != NULL); + + valid = gtk_tree_model_get_iter_first (model, &iter); + i = 0; + + while (valid) { + gtk_tree_model_get (model, &iter, + COMBO_POINTER, &pointer, + -1); + + key = SEAHORSE_PGP_KEY (pointer); + + if (!keyid) { + if (!key) { + gtk_combo_box_set_active_iter (combo, &iter); + break; + } + } else if (key != NULL) { + if (g_strcmp0 (seahorse_pgp_key_get_keyid (key), keyid) == 0) { + gtk_combo_box_set_active_iter (combo, &iter); + break; + } + } + + valid = gtk_tree_model_iter_next (model, &iter); + i++; + } +} + +void +seahorse_combo_keys_set_active (GtkComboBox *combo, + SeahorsePgpKey *key) +{ + seahorse_combo_keys_set_active_id (combo, + key == NULL ? NULL : seahorse_pgp_key_get_keyid (key)); +} + +SeahorsePgpKey * +seahorse_combo_keys_get_active (GtkComboBox *combo) +{ + GtkTreeModel *model; + GtkTreeIter iter; + gpointer pointer; + + g_return_val_if_fail (GTK_IS_COMBO_BOX (combo), NULL); + + model = gtk_combo_box_get_model (combo); + g_return_val_if_fail (model != NULL, NULL); + + gtk_combo_box_get_active_iter(combo, &iter); + + gtk_tree_model_get (model, &iter, + COMBO_POINTER, &pointer, + -1); + + return SEAHORSE_PGP_KEY (pointer); +} + +const gchar * +seahorse_combo_keys_get_active_id (GtkComboBox *combo) +{ + SeahorsePgpKey *key = seahorse_combo_keys_get_active (combo); + return key == NULL ? 0 : seahorse_pgp_key_get_keyid (key); +} diff --git a/pgp/seahorse-combo-keys.h b/pgp/seahorse-combo-keys.h new file mode 100644 index 00000000..1a2c32b9 --- /dev/null +++ b/pgp/seahorse-combo-keys.h @@ -0,0 +1,46 @@ +/* + * Seahorse + * + * Copyright (C) 2004-2006 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/** + * seahorse_combo_keys_*: Shows a list of keys in a dropdown for selection. + * + * - Attaches to a GtkComboBox + * - Gets its list of keys from a SeahorseSet. + */ + +#pragma once + +#include "seahorse-pgp-key.h" + +#include +#include + +void seahorse_combo_keys_attach (GtkComboBox *combo, + GcrCollection *collection, + const gchar *none_option); + +void seahorse_combo_keys_set_active_id (GtkComboBox *combo, + const gchar *keyid); + +void seahorse_combo_keys_set_active (GtkComboBox *combo, + SeahorsePgpKey *key); + +SeahorsePgpKey * seahorse_combo_keys_get_active (GtkComboBox *combo); + +const gchar * seahorse_combo_keys_get_active_id (GtkComboBox *combo); diff --git a/pgp/seahorse-discovery.c b/pgp/seahorse-discovery.c new file mode 100644 index 00000000..5d263c1c --- /dev/null +++ b/pgp/seahorse-discovery.c @@ -0,0 +1,463 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-discovery.h" +#include "seahorse-pgp-backend.h" +#include "seahorse-server-source.h" + +#ifdef WITH_SHARING +#include +#include +#include +#include +#include +#endif /* WITH_SHARING */ + +#include "libseahorse/seahorse-util.h" + +#define HKP_SERVICE_TYPE "_pgpkey-hkp._tcp." + +/* + * DEBUG: Define if we want to show discoveries from this + * host. Normally these are suppressed + */ +/* #define DISCOVER_THIS_HOST 1 */ + + +/** + * SECTION:seahorse-dns-sd + * @short_description: Seahorse Service Discovery handles (finds, removes,...) Avahi services + * @include:libseahorse/seahorse-dns-sd.h + * + **/ + + +struct _SeahorseDiscoveryPriv { +#ifdef WITH_SHARING + AvahiClient *client; + AvahiServiceBrowser *browser; + AvahiGLibPoll *poll; +#else + char no_use; +#endif +}; + +enum { + ADDED, + REMOVED, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + +G_DEFINE_TYPE (SeahorseDiscovery, seahorse_discovery, G_TYPE_OBJECT); + +/* ----------------------------------------------------------------------------- + * INTERNAL + */ + +#ifdef WITH_SHARING + +/** +* self: A SeahorseDiscovery object +* +* Disconnects avahi +* +**/ +static void +disconnect (SeahorseDiscovery *self) +{ + if (self->priv->browser && self->priv->client) + avahi_service_browser_free (self->priv->browser); + self->priv->browser = NULL; + + if (self->priv->client) + avahi_client_free (self->priv->client); + self->priv->client = NULL; + + if (self->priv->poll) + avahi_glib_poll_free (self->priv->poll); + self->priv->poll = NULL; +} + +/** +* resolver: The avahi resolver +* iface: The avahi interface +* proto: The avahi protocol +* event: the avahi event +* name: name of the service +* type: must be HKP_SERVICE_TYPE +* domain: ignored +* host_name: ignored +* address: address of the service +* port: port of the service +* txt: ignored +* flags: +* data: userdata +* +* Resolves the avahi callback (AvahiServiceResolverCallback) +* +**/ +static void +resolve_callback (AvahiServiceResolver *resolver, AvahiIfIndex iface, AvahiProtocol proto, + AvahiResolverEvent event, const char *name, const char *type, const char *domain, + const char *host_name, const AvahiAddress *address, uint16_t port, + AvahiStringList *txt, AvahiLookupResultFlags flags, void *data) +{ + SeahorseDiscovery *self = SEAHORSE_DISCOVERY (data); + gchar *service_name; + gchar *service_uri; + gchar *ipname; + + g_assert (SEAHORSE_IS_DISCOVERY (self)); + + switch(event) { + case AVAHI_RESOLVER_FAILURE: + g_warning ("couldn't resolve service '%s': %s", name, + avahi_strerror (avahi_client_errno (self->priv->client))); + break; + + case AVAHI_RESOLVER_FOUND: + /* Make sure it's our type ... */ + /* XXX Is the service always guaranteed to be ascii? */ + if (g_ascii_strcasecmp (HKP_SERVICE_TYPE, type) != 0) + break; + +#ifndef DISCOVER_THIS_HOST + /* And that it's local */ + if (flags & AVAHI_LOOKUP_RESULT_LOCAL) + break; +#endif + + ipname = g_new0(gchar, AVAHI_ADDRESS_STR_MAX); + avahi_address_snprint (ipname, AVAHI_ADDRESS_STR_MAX, address); + + service_uri = g_strdup_printf ("hkp://%s:%d", ipname, (int)port); + service_name = g_strdup (name); + + g_hash_table_replace (self->services, service_name, service_uri); + g_signal_emit (self, signals[ADDED], 0, service_name); + + /* Add it to the context */ + if (!seahorse_pgp_backend_lookup_remote (NULL, service_uri)) { + SeahorseServerSource *ssrc = seahorse_server_source_new (service_uri); + g_return_if_fail (ssrc != NULL); + seahorse_pgp_backend_add_remote (NULL, service_uri, ssrc); + g_object_unref (ssrc); + } + + g_debug ("added: %s %s\n", service_name, service_uri); + break; + + default: + break; + }; + + /* One result is enough for us */ + avahi_service_resolver_free (resolver); +} + +/** +* browser: The avahi browser +* iface: the interface +* proto: the protocol +* event: the event that happened while browsing (failure, new, remove) +* name: name of the service +* type: HKP_SERVICE_TYPE is expected +* domain: domain of the service +* flags: ignored +* data: userdata, type SeahorseDiscovery +* +* Called when a service is discovered while browsing. +* It is a AvahiServiceBrowserCallback +* +**/ +static void +browse_callback(AvahiServiceBrowser *browser, AvahiIfIndex iface, AvahiProtocol proto, + AvahiBrowserEvent event, const char *name, const char *type, + const char *domain, AvahiLookupResultFlags flags, void* data) +{ + SeahorseDiscovery *self = SEAHORSE_DISCOVERY (data); + const gchar *uri; + + g_assert (SEAHORSE_IS_DISCOVERY (self)); + g_assert (browser == self->priv->browser); + + /* XXX Is the service always guaranteed to be ascii? */ + if (g_ascii_strcasecmp (HKP_SERVICE_TYPE, type) != 0) + return; + + switch (event) { + case AVAHI_BROWSER_FAILURE: + g_warning ("failure browsing for services: %s", + avahi_strerror (avahi_client_errno (self->priv->client))); + disconnect (self); + break; + + case AVAHI_BROWSER_NEW: + if (!avahi_service_resolver_new (self->priv->client, iface, proto, name, type, + domain, AVAHI_PROTO_UNSPEC, 0, resolve_callback, self)) + g_warning ("couldn't start resolver for service '%s': %s\n", name, + avahi_strerror (avahi_client_errno (self->priv->client))); + break; + + case AVAHI_BROWSER_REMOVE: + uri = g_hash_table_lookup (self->services, name); + if (uri != NULL) { + /* Remove it from the main context */ + seahorse_pgp_backend_remove_remote (NULL, uri); + } + + /* And remove it from our tables */ + g_hash_table_remove (self->services, name); + g_signal_emit (self, signals[REMOVED], 0, name); + g_debug ("removed: %s\n", name); + break; + + default: + break; + } +} + +/** +* client: Will be part of a potential error message +* state: the state of the avahi connection +* data: A SeahorseDiscovery object +* +* Handles AVAHI_CLIENT_FAILURE errors in state +* +**/ +static void +client_callback (AvahiClient *client, AvahiClientState state, void *data) +{ + SeahorseDiscovery *self = SEAHORSE_DISCOVERY (data); + + g_assert (SEAHORSE_IS_DISCOVERY (self)); + + /* Disconnect when failed */ + if (state == AVAHI_CLIENT_FAILURE) { + g_return_if_fail (client == self->priv->client); + g_warning ("failure communicating with to avahi: %s", + avahi_strerror (avahi_client_errno (client))); + disconnect (self); + } +} + +#endif /* WITH_SHARING */ + +/* ----------------------------------------------------------------------------- + * OBJECT + */ + + +/** +* self: The SeahorseDiscovery to init +* +* When compiled WITH_SHARING avahi will also be initialised and it will browse +* for avahi services. +**/ +static void +seahorse_discovery_init (SeahorseDiscovery *self) +{ + self->priv = g_new0 (SeahorseDiscoveryPriv, 1); + self->services = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); + +#ifdef WITH_SHARING + { + int aerr; + avahi_set_allocator (avahi_glib_allocator ()); + + self->priv->poll = avahi_glib_poll_new (NULL, G_PRIORITY_DEFAULT); + if (!self->priv->poll) { + g_warning ("couldn't initialize avahi glib poll integration"); + return; + } + + self->priv->client = avahi_client_new (avahi_glib_poll_get (self->priv->poll), + 0, client_callback, self, &aerr); + if (!self->priv->client) { + g_message ("DNS-SD initialization failed: %s", avahi_strerror (aerr)); + return; + } + + self->priv->browser = avahi_service_browser_new (self->priv->client, AVAHI_IF_UNSPEC, + AVAHI_PROTO_UNSPEC, HKP_SERVICE_TYPE, NULL, 0, + browse_callback, self); + if (!self->priv->browser) { + g_message ("Browsing for DNS-SD services failed: %s", + avahi_strerror (avahi_client_errno (self->priv->client))); + return; + } + } +#endif /* WITH_SHARING */ +} + +/** +* gobject: A SeahorseDiscovery object +* +* Disposes the object +* +**/ +static void +seahorse_discovery_dispose (GObject *gobject) +{ +#ifdef WITH_SHARING + SeahorseDiscovery *self = SEAHORSE_DISCOVERY (gobject); + disconnect (self); +#endif + + G_OBJECT_CLASS (seahorse_discovery_parent_class)->dispose (gobject); +} + + +/** +* gobject: A SeahorseDiscovery object +* +* free private vars +* +**/ +static void +seahorse_discovery_finalize (GObject *gobject) +{ + SeahorseDiscovery *self = SEAHORSE_DISCOVERY (gobject); + +#ifdef WITH_SHARING + g_assert (self->priv->browser == NULL); + g_assert (self->priv->client == NULL); +#endif + + if (self->services) + g_hash_table_destroy (self->services); + self->services = NULL; + + g_free (self->priv); + self->priv = NULL; + + G_OBJECT_CLASS (seahorse_discovery_parent_class)->finalize (gobject); +} + +/** +* klass: The SeahorseDiscoveryClass to initialise +* +* The class will use the signals "added" and "removed" +* +**/ +static void +seahorse_discovery_class_init (SeahorseDiscoveryClass *klass) +{ + GObjectClass *gclass; + + seahorse_discovery_parent_class = g_type_class_peek_parent (klass); + gclass = G_OBJECT_CLASS (klass); + + gclass->dispose = seahorse_discovery_dispose; + gclass->finalize = seahorse_discovery_finalize; + + signals[ADDED] = g_signal_new ("added", SEAHORSE_TYPE_DISCOVERY, + G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (SeahorseDiscoveryClass, added), + NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); + signals[REMOVED] = g_signal_new ("removed", SEAHORSE_TYPE_DISCOVERY, + G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (SeahorseDiscoveryClass, removed), + NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); +} + +/* ----------------------------------------------------------------------------- + * PUBLIC + */ + +/** + * seahorse_discovery_new: + * + * + * + * Returns: A new #SeahorseDiscovery object + */ +SeahorseDiscovery* +seahorse_discovery_new (void) +{ + return g_object_new (SEAHORSE_TYPE_DISCOVERY, NULL); +} + +/** + * seahorse_discovery_list: + * @self: A #SeahorseDiscovery. It's services will be added to the list + * + * + * + * Returns: the services in @self + */ +gchar ** +seahorse_discovery_list (SeahorseDiscovery *self) +{ + GHashTableIter iter; + GPtrArray *result = g_ptr_array_new (); + gpointer key; + + g_return_val_if_fail (SEAHORSE_IS_DISCOVERY (self), NULL); + g_hash_table_iter_init (&iter, self->services); + while (g_hash_table_iter_next (&iter, &key, NULL)) + g_ptr_array_add (result, g_strdup (key)); + + return (gchar **)g_ptr_array_free (result, FALSE); +} + +/** + * seahorse_discovery_get_uri: + * @self: Service discovery object + * @service: The service to get the uri for + * + * + * + * Returns: The URI of the service @service in @self + */ +const gchar* +seahorse_discovery_get_uri (SeahorseDiscovery *self, + const gchar *service) +{ + g_return_val_if_fail (SEAHORSE_IS_DISCOVERY (self), NULL); + return (const gchar*)g_hash_table_lookup (self->services, service); +} + +/** + * seahorse_discovery_get_uris: + * @self: The service discovery object + * @services: A list of services + * + * The returned uris in the list are copied and must be freed with g_free. + * + * Returns: uris for the services + */ +gchar ** +seahorse_discovery_get_uris (SeahorseDiscovery *self, + const gchar **services) +{ + GPtrArray *result = g_ptr_array_new (); + const gchar *uri; + guint i; + + for (i = 0; services && services[i] != NULL; i++) { + uri = g_hash_table_lookup (self->services, services[i]); + g_ptr_array_add (result, g_strdup (uri)); + } + + g_ptr_array_add (result, NULL); + return (gchar **)g_ptr_array_free (result, FALSE); +} diff --git a/pgp/seahorse-discovery.h b/pgp/seahorse-discovery.h new file mode 100644 index 00000000..73bd15c8 --- /dev/null +++ b/pgp/seahorse-discovery.h @@ -0,0 +1,78 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include +#include + +#define SEAHORSE_TYPE_DISCOVERY (seahorse_discovery_get_type ()) +#define SEAHORSE_DISCOVERY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_DISCOVERY, SeahorseDiscovery)) +#define SEAHORSE_DISCOVERY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_TYPE_DISCOVERY, SeahorseDiscoveryClass)) +#define SEAHORSE_IS_DISCOVERY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_TYPE_DISCOVERY)) +#define SEAHORSE_IS_DISCOVERY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_TYPE_DISCOVERY)) +#define SEAHORSE_DISCOVERY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_TYPE_DISCOVERY, SeahorseDiscoveryClass)) + +typedef struct _SeahorseDiscovery SeahorseDiscovery; +typedef struct _SeahorseDiscoveryClass SeahorseDiscoveryClass; +typedef struct _SeahorseDiscoveryPriv SeahorseDiscoveryPriv; + +/** + * SeahorseDiscovery: + * @parent: The parent #GObject + * @services: A #GHashTable of known services + * + * Listens for DNS-SD shared keys on the network and + * adds SeahorseKeySoruce objects to the SeahorseContext as necessary. + * + * Signals: + * added: A new shared key source was found. + * removed: A shared key source went away. + */ + +struct _SeahorseDiscovery { + GObject parent; + + GHashTable *services; + SeahorseDiscoveryPriv *priv; +}; + +struct _SeahorseDiscoveryClass { + GObjectClass parent_class; + + /* A relevant service appeared on the network */ + void (*added) (SeahorseDiscovery *ssd, + const gchar* service); + + /* A service disappeared */ + void (*removed) (SeahorseDiscovery *ssd, + const gchar* service); +}; + +GType seahorse_discovery_get_type (void); + +SeahorseDiscovery* seahorse_discovery_new (void); + +gchar ** seahorse_discovery_list (SeahorseDiscovery *ssd); + +const gchar* seahorse_discovery_get_uri (SeahorseDiscovery *ssd, + const gchar *service); + +gchar ** seahorse_discovery_get_uris (SeahorseDiscovery *ssd, + const gchar **services); diff --git a/pgp/seahorse-gpg-op.c b/pgp/seahorse-gpg-op.c new file mode 100644 index 00000000..ac4fc177 --- /dev/null +++ b/pgp/seahorse-gpg-op.c @@ -0,0 +1,87 @@ +/* + * Seahorse + * + * Copyright (C) 2004 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include +#include +#include + +#include "pgp/seahorse-gpg-op.h" +#include "pgp/seahorse-gpgme.h" + +static gpgme_error_t +execute_gpg_command (gpgme_ctx_t ctx, const gchar *args, gchar **std_out, + gchar **std_err) +{ + gpgme_engine_info_t engine; + gpgme_error_t gerr; + GError *err = NULL; + gint status; + gchar *cmd; + + gerr = gpgme_get_engine_info (&engine); + g_return_val_if_fail (GPG_IS_OK (gerr), gerr); + + /* Look for the OpenPGP engine */ + while (engine && engine->protocol != GPGME_PROTOCOL_OpenPGP) + engine = engine->next; + + g_return_val_if_fail (engine != NULL && engine->file_name, GPG_E (GPG_ERR_INV_ENGINE)); + + gerr = GPG_OK; + + cmd = g_strdup_printf ("%s --batch %s", engine->file_name, args); + if (!g_spawn_command_line_sync (cmd, std_out, std_err, &status, &err) || + status != 0) { + gerr = GPG_E (GPG_ERR_GENERAL); + if(err != NULL) + g_error_free (err); + } + + g_free (cmd); + return gerr; +} + +gpgme_error_t +seahorse_gpg_op_num_uids (gpgme_ctx_t ctx, const char *pattern, guint *number) +{ + gchar *output = NULL; + gpgme_error_t err; + gchar *args; + gchar *found = NULL; + + g_return_val_if_fail (pattern != NULL, GPG_E (GPG_ERR_INV_VALUE)); + args = g_strdup_printf ("--list-keys '%s'", pattern); + + err = execute_gpg_command (ctx, args, &output, NULL); + g_free (args); + + if (!GPG_IS_OK (err)) + return err; + + found = output; + while ((found = strstr(found, "uid")) != NULL) { + *number = *number + 1; + found += 3; + } + + g_free (output); + return GPG_OK; +} diff --git a/pgp/seahorse-gpg-op.h b/pgp/seahorse-gpg-op.h new file mode 100644 index 00000000..563d68ce --- /dev/null +++ b/pgp/seahorse-gpg-op.h @@ -0,0 +1,28 @@ +/* + * Seahorse + * + * Copyright (C) 2004 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include "config.h" + +#include + +gpgme_error_t seahorse_gpg_op_num_uids (gpgme_ctx_t ctx, + const char *pattern, + guint *number); diff --git a/pgp/seahorse-gpg-options.c b/pgp/seahorse-gpg-options.c new file mode 100644 index 00000000..a5ade388 --- /dev/null +++ b/pgp/seahorse-gpg-options.c @@ -0,0 +1,551 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-gpg-options.h" + +#include "seahorse-gpgme.h" + +#include "libseahorse/seahorse-util.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define GPG_CONF_HEADER "# FILE CREATED BY SEAHORSE\n\n" +#define GPG_VERSION_PREFIX1 "1." +#define GPG_VERSION_PREFIX2 "2." + +static gchar *gpg_homedir; +static gboolean gpg_options_inited = FALSE; + +static gboolean +create_file (const gchar *file, mode_t mode, GError **err) +{ + int fd; + g_assert (err && !*err); + + if ((fd = open (file, O_CREAT | O_TRUNC | O_WRONLY, mode)) == -1) { + g_set_error (err, G_IO_CHANNEL_ERROR, g_io_channel_error_from_errno (errno), + "%s", g_strerror (errno)); + return FALSE; + } + + /* Write the header when we make a new file */ + if (write (fd, GPG_CONF_HEADER, strlen (GPG_CONF_HEADER)) == -1) { + g_set_error (err, G_IO_CHANNEL_ERROR, g_io_channel_error_from_errno (errno), + "%s", strerror (errno)); + } + + close (fd); + return *err ? FALSE : TRUE; +} + +/* Finds relevant configuration file, creates if not found */ +static gchar * +find_config_file (gboolean read, GError **err) +{ + gchar *conf = NULL; + + g_assert (!err || !*err); + + if (!gpg_options_inited) + return NULL; + if (!gpg_homedir) + return NULL; + + /* Check for and open ~/.gnupg/gpg.conf */ + conf = g_strconcat (gpg_homedir, "/gpg.conf", NULL); + if (g_file_test (conf, G_FILE_TEST_IS_REGULAR | G_FILE_TEST_EXISTS)) + return conf; + g_free (conf); + + /* Check for and open ~/.gnupg/options */ + conf = g_strconcat (gpg_homedir, "/options", NULL); + if (g_file_test (conf, G_FILE_TEST_IS_REGULAR | G_FILE_TEST_EXISTS)) + return conf; + g_free (conf); + + /* Make sure directory exists */ + if (!g_file_test (gpg_homedir, G_FILE_TEST_EXISTS)) { + if (mkdir (gpg_homedir, 0700) == -1) { + g_set_error (err, G_IO_CHANNEL_ERROR, + g_io_channel_error_from_errno (errno), + "%s", strerror (errno)); + return NULL; + } + } + + /* For writers just return the file name */ + conf = g_strconcat (gpg_homedir, "/gpg.conf", NULL); + if (!read) + return conf; + + /* ... for readers we create ~/.gnupg/gpg.conf */ + if (create_file (conf, 0600, err)) + return conf; + g_free (conf); + + return NULL; +} + +static GArray* +read_config_file (GError **err) +{ + GError *e = NULL; + gboolean ret; + GArray *array; + gchar *conf, *contents; + gchar **lines, **l; + + g_assert (!err || !*err); + if (!err) + err = &e; + + conf = find_config_file (TRUE, err); + if (conf == NULL) + return NULL; + + ret = g_file_get_contents (conf, &contents, NULL, err); + g_free (conf); + + if (!ret) + return FALSE; + + lines = g_strsplit (contents, "\n", -1); + g_free (contents); + + array = g_array_new (TRUE, TRUE, sizeof (gchar**)); + for (l = lines; *l; l++) + g_array_append_val (array, *l); + + /* We took ownership of the individual lines */ + g_free (lines); + return array; +} + +static gboolean +write_config_file (GArray *array, GError **err) +{ + GError *e = NULL; + gchar *conf, *contents; + + g_assert (!err || !*err); + if (!err) + err = &e; + + conf = find_config_file (FALSE, err); + if (conf == NULL) + return FALSE; + + contents = g_strjoinv ("\n", (gchar**)(array->data)); + seahorse_util_write_file_private (conf, contents, err); + g_free (contents); + + return *err ? FALSE : TRUE; +} + +static void +free_string_array (GArray *array) +{ + gchar** lines = (gchar**)g_array_free (array, FALSE); + g_strfreev (lines); +} + +#define HOME_PREFIX "\nHome: " + +/* Discovers .gnupg home directory by running gpg */ +static gboolean +parse_home_directory (gpgme_engine_info_t engine, GError **err) +{ + gboolean found = FALSE; + gchar *sout = NULL; + gchar *serr = NULL; + gchar *t; + gchar *x; + gint status; + gboolean b; + + g_assert (engine); + g_assert (engine->file_name); + + /* We run /usr/bin/gpg --version */ + t = g_strconcat (engine->file_name, " --version", NULL); + b = g_spawn_command_line_sync (t, &sout, &serr, &status, err); + g_free (t); + + if (b) { + if (sout && WIFEXITED (status) && WEXITSTATUS (status) == 0) { + /* Look for Home: */ + t = strstr (sout, HOME_PREFIX); + if (t != NULL) { + t += strlen (HOME_PREFIX); + x = strchr (t, '\n'); + if (x != NULL && x != t) { + *x = 0; + g_strstrip (t); + + g_free (gpg_homedir); + + /* If it's not a rooted path then expand */ + if (t[0] == '~') { + gpg_homedir = g_strconcat (g_get_home_dir(), ++t, NULL); + } else { + gpg_homedir = g_strdup (t); + } + found = TRUE; + } + } + } + + if (!found) + b = FALSE; + } + + if (sout) + g_free (sout); + if (serr) + g_free (serr); + + return b; +} + +/* Initializes the gpg-options static info */ +static gboolean +gpg_options_init (GError **err) +{ + gpgme_error_t gerr; + gpgme_engine_info_t engine; + + if (gpg_options_inited) + return TRUE; + + gerr = gpgme_get_engine_info (&engine); + if (seahorse_gpgme_propagate_error (gerr, err)) + return FALSE; + + /* Look for the OpenPGP engine */ + while (engine && engine->protocol != GPGME_PROTOCOL_OpenPGP) + engine = engine->next; + + /* + * Make sure it's the right version for us to be messing + * around with the configuration file. + */ + if (!engine || !engine->version || !engine->file_name || + !(g_str_has_prefix (engine->version, GPG_VERSION_PREFIX1) || + g_str_has_prefix (engine->version, GPG_VERSION_PREFIX2))) { + seahorse_gpgme_propagate_error (GPG_E (GPG_ERR_INV_ENGINE), err); + return FALSE; + } + + /* Now run the binary and read in the home directory */ + if (!parse_home_directory (engine, err)) + return FALSE; + + gpg_options_inited = TRUE; + return TRUE; +} + +/** + * seahorse_gpg_homedir + * + * Returns: The home dir that GPG uses for it's keys and configuration + **/ +const gchar * +seahorse_gpg_homedir (void) +{ + if (!gpg_options_init (NULL)) + return NULL; + return gpg_homedir; +} + +/** + * seahorse_gpg_options_find + * + * @option: The option to find + * @value: Returns the value, or NULL when not found + * @err: Returns an error value when errors + * + * Find the value for a given option in the gpg config file. + * Values without a value are returned as an empty string. + * On success be sure to free *value after you're done with it. + * + * Returns: TRUE if success, FALSE if not + **/ +gboolean +seahorse_gpg_options_find (const gchar *option, gchar **value, GError **err) +{ + const gchar *options[2]; + + options[0] = option; + options[1] = NULL; + + return seahorse_gpg_options_find_vals (options, value, err); +} + +/** + * seahorse_gpg_options_find_vals + * + * @option: null terminated array of option names + * @value: An array of pointers for return values + * @err: Returns an error value when errors + * + * Find the value for a given options in the gpg config file. + * Values without a value are returned as an empty string. + * On success be sure to free all *value after you're done + * with them. values should be at least as big as options + * + * Returns: TRUE if success, FALSE if not + **/ +gboolean +seahorse_gpg_options_find_vals (const gchar *options[], gchar *values[], + GError **err) +{ + GError *e = NULL; + GArray *lines; + const gchar **opt; + gchar *line; + gchar *t; + guint i, j; + + g_assert (!err || !*err); + if (!err) + err = &e; + + if (!gpg_options_init (err)) + return FALSE; + + lines = read_config_file (err); + if (!lines) + return FALSE; + + /* Clear out all values */ + for (i = 0, opt = options; *opt != NULL; opt++, i++) + values[i] = NULL; + + for (j = 0; j < lines->len; j++) { + line = g_array_index (lines, gchar*, j); + g_assert (line != NULL); + + g_strstrip (line); + + /* Ignore comments and blank lines */ + if (line[0] != '#' && line[0] != 0) { + for (i = 0, opt = options; *opt != NULL; opt++, i++) { + if (g_str_has_prefix (line, *opt)) { + t = line + strlen (*opt); + if (t[0] == 0 || g_ascii_isspace (t[0])) { + /* + * We found a value. Fill it in. The caller + * frees this stuff. Note that we don't short + * circuit the search because for gpg options + * can be specified multiple times, and the + * last one wins. + */ + + g_free (values[i]); + values[i] = g_strdup (t); + g_strstrip (values[i]); + break; /* Done with this line */ + } + } + } + } + } + + free_string_array (lines); + + return *err ? FALSE : TRUE; +} + +/* Figure out needed changes to configuration file */ +static void +process_conf_edits (GArray *lines, const gchar *options[], gchar *values[]) +{ + gboolean comment; + gchar *t; + gchar *n; + gchar *line; + guint i, j; + + for (j = 0; j < lines->len; j++) { + line = g_array_index (lines, gchar*, j); + g_assert (line != NULL); + + /* + * Does this line have an ending? + * We use this below when appending lines. + */ + n = line; + + /* Don't use g_strstrip as we don't want to modify the line */ + while (*n && g_ascii_isspace (*n)) + n++; + + /* Ignore blank lines */ + if (n[0] != 0) { + comment = FALSE; + + /* We look behind comments to see if we need to uncomment them */ + if (n[0] == '#') { + n++; + comment = TRUE; + + while (*n && g_ascii_isspace (*n)) + n++; + } + + for (i = 0; options[i] != NULL; i++) { + if (!g_str_has_prefix (n, options[i])) + continue; + + t = n + strlen (options[i]); + if (t[0] != 0 && !g_ascii_isspace (t[0])) + continue; + + /* Are we setting this value? */ + if (values[i]) { + /* At this point we're rewriting the line, so we + * can modify the old line */ + *t = 0; + + /* A line with a value */ + if (values[i][0]) + n = g_strconcat (n, " ", values[i], NULL); + + /* A setting without a value */ + else + n = g_strdup (n); + + /* + * We're done with this option, all other instances + * of it need to be commented out + */ + values[i] = NULL; + } + + /* Otherwise we're removing the value */ + else if (!comment) { + n = g_strconcat ("# ", n, NULL); + } + + line = n; + + /* Done with this line */ + break; + } + } + + if (g_array_index (lines, gchar*, j) != line) { + g_free (g_array_index (lines, gchar*, j)); + g_array_index (lines, gchar*, j) = line; + } + } + + /* Append any that haven't been added but need to */ + for (i = 0; options[i] != NULL; i++) { + /* Are we setting this value? */ + if (values[i]) { + + /* A line with a value */ + if (values[i][0]) + n = g_strconcat (options[i], " ", values[i], NULL); + + /* A setting without a value */ + else + n = g_strdup (options[i]); + + g_array_append_val (lines, n); + } + } +} + +/** + * seahorse_gpg_options_change + * + * @option: The option to change + * @value: The value to change it to + * @err: Returns an error value when errors + * + * Changes the given option in the gpg config file. + * If value is NULL, the option will be deleted. If you want + * an empty value, set value to an empty string. + * + * Returns: TRUE if success, FALSE if not + **/ +gboolean +seahorse_gpg_options_change (const gchar *option, const gchar *value, + GError **err) +{ + const gchar *options[2]; + + options[0] = option; + options[1] = NULL; + + return seahorse_gpg_options_change_vals (options, (gchar **)&value, err); +} + +/** + * seahorse_gpg_options_change_vals + * + * @option: null-terminated array of option names to change + * @value: The values to change respective option to + * @err: Returns an error value when errors + * + * Changes the given option in the gpg config file. + * If a value is NULL, the option will be deleted. If you want + * an empty value, set value to an empty string. + * + * Returns: TRUE if success, FALSE if not + **/ +gboolean +seahorse_gpg_options_change_vals (const gchar *options[], gchar *values[], + GError **err) +{ + GError *e = NULL; + GArray *lines; + + g_assert (!err || !*err); + if (!err) + err = &e; + + if (!gpg_options_init (err)) + return FALSE; + + lines = read_config_file (err); + if (!lines) + return FALSE; + + process_conf_edits (lines, options, values); + + write_config_file (lines, err); + free_string_array (lines); + + return *err ? FALSE : TRUE; +} diff --git a/pgp/seahorse-gpg-options.h b/pgp/seahorse-gpg-options.h new file mode 100644 index 00000000..73c53c2f --- /dev/null +++ b/pgp/seahorse-gpg-options.h @@ -0,0 +1,40 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/** + * A collection of functions for changing options in gpg.conf. + */ + +#pragma once + +#include + +const gchar * seahorse_gpg_homedir (void); + +gboolean seahorse_gpg_options_find(const gchar* option, + gchar** value, GError** err); + +gboolean seahorse_gpg_options_find_vals(const gchar* options[], + gchar* values[], GError** err); + +gboolean seahorse_gpg_options_change(const gchar* option, + const gchar* value, GError** err); + +gboolean seahorse_gpg_options_change_vals(const gchar* options[], + gchar* values[], GError** err); diff --git a/pgp/seahorse-gpgme-add-subkey.c b/pgp/seahorse-gpgme-add-subkey.c new file mode 100644 index 00000000..7803d778 --- /dev/null +++ b/pgp/seahorse-gpgme-add-subkey.c @@ -0,0 +1,316 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include + +#include "config.h" +#include "libseahorse/seahorse-util.h" +#include "libegg/egg-datetime.h" +#include "seahorse-gpgme-add-subkey.h" +#include "seahorse-gpgme-key-op.h" + + +/** + * SECTION:seahorse-gpgme-add-subkey + * @short_description: A dialog that allows a user to add a new subkey to a + * key + **/ + +struct _SeahorseGpgmeAddSubkey { + GtkDialog parent_instance; + + SeahorseGpgmeKey *key; + + GtkTreeModel *types_model; + GtkWidget *type_combo; + + GtkWidget *length_spinner; + + GtkWidget *datetime_placeholder; + GtkWidget *expires_datetime; + GtkWidget *never_expires_check; +}; + +enum { + PROP_0, + PROP_KEY, +}; + +G_DEFINE_TYPE (SeahorseGpgmeAddSubkey, seahorse_gpgme_add_subkey, GTK_TYPE_DIALOG) + +enum { + COMBO_STRING, + COMBO_INT, + N_COLUMNS +}; + +static void +handler_gpgme_add_subkey_type_changed (GtkComboBox *combo, + gpointer user_data) +{ + SeahorseGpgmeAddSubkey *self = SEAHORSE_GPGME_ADD_SUBKEY (user_data); + int type; + GtkSpinButton *length; + GtkTreeModel *model; + GtkTreeIter iter; + + length = GTK_SPIN_BUTTON (self->length_spinner); + + model = gtk_combo_box_get_model (combo); + gtk_combo_box_get_active_iter (combo, &iter); + gtk_tree_model_get (model, &iter, + COMBO_INT, &type, + -1); + + switch (type) { + /* DSA */ + case 0: + gtk_spin_button_set_range (length, DSA_MIN, DSA_MAX); + gtk_spin_button_set_value (length, LENGTH_DEFAULT < DSA_MAX ? LENGTH_DEFAULT : DSA_MAX); + break; + /* ElGamal */ + case 1: + gtk_spin_button_set_range (length, ELGAMAL_MIN, LENGTH_MAX); + gtk_spin_button_set_value (length, LENGTH_DEFAULT); + break; + /* RSA */ + default: + gtk_spin_button_set_range (length, RSA_MIN, LENGTH_MAX); + gtk_spin_button_set_value (length, LENGTH_DEFAULT); + break; + } +} + +static void +on_gpgme_add_subkey_never_expires_toggled (GtkToggleButton *togglebutton, + gpointer user_data) +{ + SeahorseGpgmeAddSubkey *self = SEAHORSE_GPGME_ADD_SUBKEY (user_data); + + gtk_widget_set_sensitive (self->expires_datetime, + !gtk_toggle_button_get_active (togglebutton)); +} + +SeahorseKeyEncType +seahorse_gpgme_add_subkey_get_active_type (SeahorseGpgmeAddSubkey *self) +{ + GtkTreeIter iter; + int type; + + g_return_val_if_fail (SEAHORSE_GPGME_IS_ADD_SUBKEY (self), 0); + + gtk_combo_box_get_active_iter (GTK_COMBO_BOX (self->type_combo), &iter); + gtk_tree_model_get (self->types_model, &iter, + COMBO_INT, &type, + -1); + + switch (type) { + case 0: + return DSA; + case 1: + return ELGAMAL; + case 2: + return RSA_SIGN; + default: + return RSA_ENCRYPT; + } +} + +gulong +seahorse_gpgme_add_subkey_get_expires (SeahorseGpgmeAddSubkey *self) +{ + time_t expires; + + g_return_val_if_fail (SEAHORSE_GPGME_IS_ADD_SUBKEY (self), 0); + + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->never_expires_check))) + return 0; + + egg_datetime_get_as_time_t (EGG_DATETIME (self->expires_datetime), + &expires); + return expires; +} + +guint +seahorse_gpgme_add_subkey_get_keysize (SeahorseGpgmeAddSubkey *self) +{ + g_return_val_if_fail (SEAHORSE_GPGME_IS_ADD_SUBKEY (self), 0); + + return gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (self->length_spinner)); +} + +static void +seahorse_gpgme_add_subkey_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeAddSubkey *self = SEAHORSE_GPGME_ADD_SUBKEY (object); + + switch (prop_id) { + case PROP_KEY: + g_value_set_object (value, self->key); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +seahorse_gpgme_add_subkey_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeAddSubkey *self = SEAHORSE_GPGME_ADD_SUBKEY (object); + + switch (prop_id) { + case PROP_KEY: + g_clear_object (&self->key); + self->key = g_value_dup_object (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +seahorse_gpgme_add_subkey_finalize (GObject *obj) +{ + SeahorseGpgmeAddSubkey *self = SEAHORSE_GPGME_ADD_SUBKEY (obj); + + g_clear_object (&self->key); + + G_OBJECT_CLASS (seahorse_gpgme_add_subkey_parent_class)->finalize (obj); +} + +static void +seahorse_gpgme_add_subkey_constructed (GObject *obj) +{ + SeahorseGpgmeAddSubkey *self = SEAHORSE_GPGME_ADD_SUBKEY (obj); + g_autofree char *title = NULL; + + G_OBJECT_CLASS (seahorse_gpgme_add_subkey_parent_class)->constructed (obj); + + title = g_strdup_printf (_("Add subkey to %s"), + seahorse_object_get_label (SEAHORSE_OBJECT (self->key))); + gtk_window_set_title (GTK_WINDOW (self), title); +} + +static void +seahorse_gpgme_add_subkey_init (SeahorseGpgmeAddSubkey *self) +{ + GtkTreeIter iter; + GtkCellRenderer *renderer; + + gtk_widget_init_template (GTK_WIDGET (self)); + + self->types_model = GTK_TREE_MODEL (gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_INT)); + gtk_combo_box_set_model (GTK_COMBO_BOX (self->type_combo), + GTK_TREE_MODEL (self->types_model)); + + gtk_cell_layout_clear (GTK_CELL_LAYOUT (self->type_combo)); + renderer = gtk_cell_renderer_text_new (); + + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (self->type_combo), renderer, TRUE); + gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (self->type_combo), renderer, + "text", COMBO_STRING); + + gtk_list_store_append (GTK_LIST_STORE (self->types_model), &iter); + gtk_list_store_set (GTK_LIST_STORE (self->types_model), &iter, + COMBO_STRING, _("DSA (sign only)"), + COMBO_INT, 0, + -1); + + gtk_combo_box_set_active_iter (GTK_COMBO_BOX (self->type_combo), &iter); + + gtk_list_store_append (GTK_LIST_STORE (self->types_model), &iter); + gtk_list_store_set (GTK_LIST_STORE (self->types_model), &iter, + COMBO_STRING, _("ElGamal (encrypt only)"), + COMBO_INT, 1, + -1); + + gtk_list_store_append (GTK_LIST_STORE (self->types_model), &iter); + gtk_list_store_set (GTK_LIST_STORE (self->types_model), &iter, + COMBO_STRING, _("RSA (sign only)"), + COMBO_INT, 2, + -1); + + gtk_list_store_append (GTK_LIST_STORE (self->types_model), &iter); + gtk_list_store_set (GTK_LIST_STORE (self->types_model), &iter, + COMBO_STRING, _("RSA (encrypt only)"), + COMBO_INT, 3, + -1); + + self->expires_datetime = egg_datetime_new (); + gtk_container_add (GTK_CONTAINER (self->datetime_placeholder), + self->expires_datetime); + gtk_widget_show (self->expires_datetime); + gtk_widget_set_sensitive (self->expires_datetime, FALSE); +} + +static void +seahorse_gpgme_add_subkey_class_init (SeahorseGpgmeAddSubkeyClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + gobject_class->constructed = seahorse_gpgme_add_subkey_constructed; + gobject_class->get_property = seahorse_gpgme_add_subkey_get_property; + gobject_class->set_property = seahorse_gpgme_add_subkey_set_property; + gobject_class->finalize = seahorse_gpgme_add_subkey_finalize; + + g_object_class_install_property (gobject_class, PROP_KEY, + g_param_spec_object ("key", "GPGME key", + "The GPGME key which we're adding a new subkey to", + SEAHORSE_GPGME_TYPE_KEY, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); + + gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/Seahorse/seahorse-gpgme-add-subkey.ui"); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeAddSubkey, type_combo); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeAddSubkey, length_spinner); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeAddSubkey, datetime_placeholder); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeAddSubkey, never_expires_check); + gtk_widget_class_bind_template_callback (widget_class, handler_gpgme_add_subkey_type_changed); + gtk_widget_class_bind_template_callback (widget_class, on_gpgme_add_subkey_never_expires_toggled); +} + +/** + * seahorse_add_subkey_new: + * @key: A #SeahorseGpgmeKey + * + * Creates a new #SeahorseGpgmeAddSubkey dialog for adding a user ID to @skey. + */ +SeahorseGpgmeAddSubkey * +seahorse_gpgme_add_subkey_new (SeahorseGpgmeKey *key, GtkWindow *parent) +{ + g_autoptr(SeahorseGpgmeAddSubkey) self = NULL; + + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (key), NULL); + + self = g_object_new (SEAHORSE_GPGME_TYPE_ADD_SUBKEY, + "key", key, + "transient-for", parent, + "use-header-bar", 1, + NULL); + + return g_steal_pointer (&self); +} diff --git a/pgp/seahorse-gpgme-add-subkey.h b/pgp/seahorse-gpgme-add-subkey.h new file mode 100644 index 00000000..d1ab6437 --- /dev/null +++ b/pgp/seahorse-gpgme-add-subkey.h @@ -0,0 +1,40 @@ +/* + * Seahorse + * + * Copyright (C) 2020 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +#include "pgp/seahorse-gpgme.h" +#include "pgp/seahorse-gpgme-key.h" +#include "pgp/seahorse-gpgme-subkey.h" + +#define SEAHORSE_GPGME_TYPE_ADD_SUBKEY (seahorse_gpgme_add_subkey_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseGpgmeAddSubkey, seahorse_gpgme_add_subkey, + SEAHORSE_GPGME, ADD_SUBKEY, + GtkDialog) + +SeahorseGpgmeAddSubkey* seahorse_gpgme_add_subkey_new (SeahorseGpgmeKey *pkey, + GtkWindow *parent); + +SeahorseKeyEncType seahorse_gpgme_add_subkey_get_active_type (SeahorseGpgmeAddSubkey *self); + +guint seahorse_gpgme_add_subkey_get_keysize (SeahorseGpgmeAddSubkey *self); + +gulong seahorse_gpgme_add_subkey_get_expires (SeahorseGpgmeAddSubkey *self); diff --git a/pgp/seahorse-gpgme-add-subkey.ui b/pgp/seahorse-gpgme-add-subkey.ui new file mode 100644 index 00000000..7b687e82 --- /dev/null +++ b/pgp/seahorse-gpgme-add-subkey.ui @@ -0,0 +1,163 @@ + + + + + 1024 + 768 + 1024 + 1 + 128 + + + diff --git a/pgp/seahorse-gpgme-add-uid.c b/pgp/seahorse-gpgme-add-uid.c new file mode 100644 index 00000000..ed9b70a2 --- /dev/null +++ b/pgp/seahorse-gpgme-add-uid.c @@ -0,0 +1,251 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-gpgme-add-uid.h" + +#include "seahorse-gpgme-key-op.h" +#include "libseahorse/seahorse-util.h" + +#include + +/** + * SECTION:seahorse-gpgme-add-uid + * @short_description: A dialog that allows a user to add a new UID to a key + **/ + +struct _SeahorseGpgmeAddUid { + GtkDialog parent_instance; + + SeahorseGpgmeKey *key; + + GtkWidget *name_entry; + GtkWidget *email_entry; + GtkWidget *comment_entry; +}; + +enum { + PROP_0, + PROP_KEY, +}; + +G_DEFINE_TYPE (SeahorseGpgmeAddUid, seahorse_gpgme_add_uid, GTK_TYPE_DIALOG) + +static gboolean +check_name_input (SeahorseGpgmeAddUid *self) +{ + const gchar *name; + + name = gtk_entry_get_text (GTK_ENTRY (self->name_entry)); + return strlen (name) >= 5; +} + +static gboolean +check_email_input (SeahorseGpgmeAddUid *self) +{ + const gchar *email; + + email = gtk_entry_get_text (GTK_ENTRY (self->email_entry)); + return strlen (email) == 0 || g_pattern_match_simple ("?*@?*", email); +} + +static void +check_ok (SeahorseGpgmeAddUid *self) +{ + gtk_dialog_set_response_sensitive (GTK_DIALOG (self), + GTK_RESPONSE_OK, + check_name_input (self) + && check_email_input (self)); +} + +static void +on_name_entry_changed (GtkEditable *editable, gpointer user_data) +{ + SeahorseGpgmeAddUid *self = SEAHORSE_GPGME_ADD_UID (user_data); + check_ok (self); +} + +static void +on_email_entry_changed (GtkEditable *editable, gpointer user_data) +{ + SeahorseGpgmeAddUid *self = SEAHORSE_GPGME_ADD_UID (user_data); + check_ok (self); +} + +static void +seahorse_gpgme_add_uid_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeAddUid *self = SEAHORSE_GPGME_ADD_UID (object); + + switch (prop_id) { + case PROP_KEY: + g_value_set_object (value, self->key); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +seahorse_gpgme_add_uid_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeAddUid *self = SEAHORSE_GPGME_ADD_UID (object); + + switch (prop_id) { + case PROP_KEY: + g_clear_object (&self->key); + self->key = g_value_dup_object (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +seahorse_gpgme_add_uid_finalize (GObject *obj) +{ + SeahorseGpgmeAddUid *self = SEAHORSE_GPGME_ADD_UID (obj); + + g_clear_object (&self->key); + + G_OBJECT_CLASS (seahorse_gpgme_add_uid_parent_class)->finalize (obj); +} + +static void +seahorse_gpgme_add_uid_constructed (GObject *obj) +{ + SeahorseGpgmeAddUid *self = SEAHORSE_GPGME_ADD_UID (obj); + const gchar *user; + + G_OBJECT_CLASS (seahorse_gpgme_add_uid_parent_class)->constructed (obj); + + user = seahorse_object_get_label (SEAHORSE_OBJECT (self->key)); + gtk_window_set_title (GTK_WINDOW (self), + g_strdup_printf (_("Add user ID to %s"), user)); +} + +static void +seahorse_gpgme_add_uid_init (SeahorseGpgmeAddUid *self) +{ + gtk_widget_init_template (GTK_WIDGET (self)); +} + +static void +seahorse_gpgme_add_uid_class_init (SeahorseGpgmeAddUidClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + gobject_class->constructed = seahorse_gpgme_add_uid_constructed; + gobject_class->get_property = seahorse_gpgme_add_uid_get_property; + gobject_class->set_property = seahorse_gpgme_add_uid_set_property; + gobject_class->finalize = seahorse_gpgme_add_uid_finalize; + + g_object_class_install_property (gobject_class, PROP_KEY, + g_param_spec_object ("key", "GPGME key", + "The GPGME key which we're adding a new UID to", + SEAHORSE_GPGME_TYPE_KEY, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); + + gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/Seahorse/seahorse-gpgme-add-uid.ui"); + + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeAddUid, name_entry); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeAddUid, email_entry); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeAddUid, comment_entry); + + gtk_widget_class_bind_template_callback (widget_class, on_name_entry_changed); + gtk_widget_class_bind_template_callback (widget_class, on_email_entry_changed); +} + +/** + * seahorse_add_uid_new: + * @skey: #SeahorseKey + * + * Creates a new #SeahorseGpgmeAddUid dialog for adding a user ID to @skey. + */ +SeahorseGpgmeAddUid * +seahorse_gpgme_add_uid_new (SeahorseGpgmeKey *pkey, GtkWindow *parent) +{ + g_autoptr(SeahorseGpgmeAddUid) self = NULL; + + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), NULL); + + self = g_object_new (SEAHORSE_GPGME_TYPE_ADD_UID, + "key", pkey, + "transient-for", parent, + "use-header-bar", 1, + NULL); + + return g_steal_pointer (&self); +} + +static void +on_gpgme_key_op_uid_added (GObject *source, GAsyncResult *result, gpointer user_data) +{ + g_autoptr(SeahorseGpgmeAddUid) dialog = SEAHORSE_GPGME_ADD_UID (user_data); + SeahorseGpgmeKey *key = SEAHORSE_GPGME_KEY (source); + g_autoptr(GError) error = NULL; + + if (!seahorse_gpgme_key_op_add_uid_finish (key, result, &error)) { + GtkWindow *window = gtk_window_get_transient_for (GTK_WINDOW (dialog)); + seahorse_util_show_error (GTK_WIDGET (window), + _("Couldn’t add user ID"), + error->message); + return; + } + + seahorse_gpgme_key_refresh (key); + gtk_widget_destroy (GTK_WIDGET (g_steal_pointer (&dialog))); +} + +void +seahorse_gpgme_add_uid_run_dialog (SeahorseGpgmeKey *pkey, GtkWindow *parent) +{ + g_autoptr(SeahorseGpgmeAddUid) dialog = NULL; + GtkResponseType response; + const gchar *name, *email, *comment; + + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (pkey)); + + dialog = seahorse_gpgme_add_uid_new (pkey, parent); + response = gtk_dialog_run (GTK_DIALOG (dialog)); + if (response != GTK_RESPONSE_OK) { + gtk_widget_destroy (GTK_WIDGET (g_steal_pointer (&dialog))); + return; + } + + name = gtk_entry_get_text (GTK_ENTRY (dialog->name_entry)); + email = gtk_entry_get_text (GTK_ENTRY (dialog->email_entry)); + comment = gtk_entry_get_text (GTK_ENTRY (dialog->comment_entry)); + + seahorse_gpgme_key_op_add_uid_async (pkey, + name, email, comment, + NULL, + on_gpgme_key_op_uid_added, + g_steal_pointer (&dialog)); +} diff --git a/pgp/seahorse-gpgme-add-uid.h b/pgp/seahorse-gpgme-add-uid.h new file mode 100644 index 00000000..08524462 --- /dev/null +++ b/pgp/seahorse-gpgme-add-uid.h @@ -0,0 +1,34 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include +#include "seahorse-gpgme-key.h" + +#define SEAHORSE_GPGME_TYPE_ADD_UID (seahorse_gpgme_add_uid_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseGpgmeAddUid, seahorse_gpgme_add_uid, + SEAHORSE_GPGME, ADD_UID, + GtkDialog) + +SeahorseGpgmeAddUid * seahorse_gpgme_add_uid_new (SeahorseGpgmeKey *pkey, + GtkWindow *parent); + +void seahorse_gpgme_add_uid_run_dialog (SeahorseGpgmeKey *pkey, + GtkWindow *parent); diff --git a/pgp/seahorse-gpgme-add-uid.ui b/pgp/seahorse-gpgme-add-uid.ui new file mode 100644 index 00000000..30f73fdd --- /dev/null +++ b/pgp/seahorse-gpgme-add-uid.ui @@ -0,0 +1,142 @@ + + + + + diff --git a/pgp/seahorse-gpgme-data.c b/pgp/seahorse-gpgme-data.c new file mode 100644 index 00000000..73863398 --- /dev/null +++ b/pgp/seahorse-gpgme-data.c @@ -0,0 +1,413 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-gpgme.h" +#include "seahorse-gpgme-data.h" + +#include +#include + +#include + +#include +#include +#include +#include +#include + +static int +handle_gio_error (GError *err) +{ + g_return_val_if_fail (err, -1); + + if (err->message) + g_message ("%s", err->message); + + switch (err->code) { + case G_IO_ERROR_FAILED: + errno = EIO; + break; + case G_IO_ERROR_NOT_FOUND: + errno = ENOENT; + break; + case G_IO_ERROR_EXISTS: + errno = EEXIST; + break; + case G_IO_ERROR_IS_DIRECTORY: + errno = EISDIR; + break; + case G_IO_ERROR_NOT_DIRECTORY: + errno = ENOTDIR; + break; + case G_IO_ERROR_NOT_EMPTY: + errno = ENOTEMPTY; + break; + case G_IO_ERROR_NOT_REGULAR_FILE: + case G_IO_ERROR_NOT_SYMBOLIC_LINK: + case G_IO_ERROR_NOT_MOUNTABLE_FILE: + errno = EBADF; + break; + case G_IO_ERROR_FILENAME_TOO_LONG: + errno = ENAMETOOLONG; + break; + case G_IO_ERROR_INVALID_FILENAME: + errno = EINVAL; + break; + case G_IO_ERROR_TOO_MANY_LINKS: + errno = EMLINK; + break; + case G_IO_ERROR_NO_SPACE: + errno = ENOSPC; + break; + case G_IO_ERROR_INVALID_ARGUMENT: + errno = EINVAL; + break; + case G_IO_ERROR_PERMISSION_DENIED: + errno = EPERM; + break; + case G_IO_ERROR_NOT_SUPPORTED: + errno = ENOTSUP; + break; + case G_IO_ERROR_NOT_MOUNTED: + errno = ENOENT; + break; + case G_IO_ERROR_ALREADY_MOUNTED: + errno = EALREADY; + break; + case G_IO_ERROR_CLOSED: + errno = EBADF; + break; + case G_IO_ERROR_CANCELLED: + errno = EINTR; + break; + case G_IO_ERROR_PENDING: + errno = EALREADY; + break; + case G_IO_ERROR_READ_ONLY: + errno = EACCES; + break; + case G_IO_ERROR_CANT_CREATE_BACKUP: + errno = EIO; + break; + case G_IO_ERROR_WRONG_ETAG: + errno = EACCES; + break; + case G_IO_ERROR_TIMED_OUT: + errno = EIO; + break; + case G_IO_ERROR_WOULD_RECURSE: + errno = ELOOP; + break; + case G_IO_ERROR_BUSY: + errno = EBUSY; + break; + case G_IO_ERROR_WOULD_BLOCK: + errno = EWOULDBLOCK; + break; + case G_IO_ERROR_HOST_NOT_FOUND: + errno = EHOSTDOWN; + break; + case G_IO_ERROR_WOULD_MERGE: + errno = EIO; + break; + case G_IO_ERROR_FAILED_HANDLED: + errno = 0; + break; + default: + errno = EIO; + break; + }; + + g_error_free (err); + return -1; +} + +/* ---------------------------------------------------------------------------------------- + * OUTPUT + */ + +/* Called by gpgme to read data */ +static ssize_t +output_write(void *handle, const void *buffer, size_t size) +{ + GOutputStream* output = handle; + GError *err = NULL; + gsize written; + + g_return_val_if_fail (G_IS_OUTPUT_STREAM (output), -1); + + if (!g_output_stream_write_all (output, buffer, size, &written, NULL, &err)) + return handle_gio_error (err); + + if (!g_output_stream_flush (output, NULL, &err)) + return handle_gio_error (err); + + return written; +} + +/* Called from gpgme to seek a file */ +static off_t +output_seek (void *handle, off_t offset, int whence) +{ + GSeekable *seek; + GSeekType from = 0; + GError *err = NULL; + GOutputStream* output = handle; + + g_return_val_if_fail (G_IS_OUTPUT_STREAM (output), -1); + + if (!G_IS_SEEKABLE (output)) { + errno = EOPNOTSUPP; + return -1; + } + + switch(whence) + { + case SEEK_SET: + from = G_SEEK_SET; + break; + case SEEK_CUR: + from = G_SEEK_CUR; + break; + case SEEK_END: + from = G_SEEK_END; + break; + default: + g_assert_not_reached(); + break; + }; + + seek = G_SEEKABLE (output); + if (!g_seekable_seek (seek, offset, from, NULL, &err)) + return handle_gio_error (err); + + return offset; +} + +/* Called by gpgme to close a file */ +static void +output_release (void *handle) +{ + GOutputStream* output = handle; + g_return_if_fail (G_IS_OUTPUT_STREAM (output)); + + g_object_unref (output); +} + +/* GPGME vfs file operations */ +static struct gpgme_data_cbs output_cbs = +{ + NULL, + output_write, + output_seek, + output_release +}; + +gpgme_data_t +seahorse_gpgme_data_output (GOutputStream* output) +{ + gpgme_error_t gerr; + gpgme_data_t ret = NULL; + + g_return_val_if_fail (G_IS_OUTPUT_STREAM (output), NULL); + + gerr = gpgme_data_new_from_cbs (&ret, &output_cbs, output); + if (!GPG_IS_OK (gerr)) + return NULL; + + g_object_ref (output); + return ret; +} + +/* ------------------------------------------------------------------------------------- + * INPUT STREAMS + */ + +/* Called by gpgme to read data */ +static ssize_t +input_read (void *handle, void *buffer, size_t size) +{ + GInputStream* input = handle; + GError *err = NULL; + gsize nread; + + g_return_val_if_fail (G_IS_INPUT_STREAM (input), -1); + + if (!g_input_stream_read_all (input, buffer, size, &nread, NULL, &err)) + return handle_gio_error (err); + + return nread; +} + +/* Called from gpgme to seek a file */ +static off_t +input_seek (void *handle, off_t offset, int whence) +{ + GSeekable *seek; + GSeekType from = 0; + GError *err = NULL; + GInputStream* input = handle; + + g_return_val_if_fail (G_IS_INPUT_STREAM (input), -1); + + if (!G_IS_SEEKABLE (input)) { + errno = EOPNOTSUPP; + return -1; + } + + switch(whence) + { + case SEEK_SET: + from = G_SEEK_SET; + break; + case SEEK_CUR: + from = G_SEEK_CUR; + break; + case SEEK_END: + from = G_SEEK_END; + break; + default: + g_assert_not_reached(); + break; + }; + + seek = G_SEEKABLE (input); + if (!g_seekable_seek (seek, offset, from, NULL, &err)) + return handle_gio_error (err); + + return offset; +} + +/* Called by gpgme to close a file */ +static void +input_release (void *handle) +{ + GInputStream* input = handle; + g_return_if_fail (G_IS_INPUT_STREAM (input)); + + g_object_unref (input); +} + +/* GPGME vfs file operations */ +static struct gpgme_data_cbs input_cbs = +{ + input_read, + NULL, + input_seek, + input_release +}; + +gpgme_data_t +seahorse_gpgme_data_input (GInputStream* input) +{ + gpgme_error_t gerr; + gpgme_data_t ret = NULL; + + g_return_val_if_fail (G_IS_INPUT_STREAM (input), NULL); + + gerr = gpgme_data_new_from_cbs (&ret, &input_cbs, input); + if (!GPG_IS_OK (gerr)) + return NULL; + + g_object_ref (input); + return ret; +} + +gpgme_data_t +seahorse_gpgme_data_new () +{ + gpgme_error_t gerr; + gpgme_data_t data; + + gerr = gpgme_data_new (&data); + if (!GPG_IS_OK (gerr)) { + if (gpgme_err_code_to_errno (gerr) == ENOMEM || + gpgme_err_code (gerr) == GPG_ERR_ENOMEM) { + + g_error ("%s: failed to allocate gpgme_data_t", G_STRLOC); + + } else { + /* The only reason this should fail is above */ + g_assert_not_reached (); + + /* Just in case */ + abort (); + } + } + + return data; +} + +gpgme_data_t +seahorse_gpgme_data_new_from_mem (const char *buffer, size_t size, gboolean copy) +{ + gpgme_data_t data; + gpgme_error_t gerr; + + gerr = gpgme_data_new_from_mem (&data, buffer, size, copy ? 1 : 0); + if (!GPG_IS_OK (gerr)) { + if (gpgme_err_code_to_errno (gerr) == ENOMEM || + gpgme_err_code (gerr) == GPG_ERR_ENOMEM) { + + g_error ("%s: failed to allocate gpgme_data_t", G_STRLOC); + + } else { + /* The only reason this should fail is above */ + g_assert_not_reached (); + + /* Just in case */ + abort (); + } + } + + return data; +} + +int +seahorse_gpgme_data_write_all (gpgme_data_t data, const void* buffer, size_t len) +{ + guchar *text = (guchar*)buffer; + gint written = 0; + + if (len < 0) + len = strlen ((gchar*)text); + + while (len > 0) { + written = gpgme_data_write (data, (void*)text, len); + if (written < 0) { + if (errno == EAGAIN || errno == EINTR) + continue; + return -1; + } + + len -= written; + text += written; + } + + return written; +} + +void +seahorse_gpgme_data_release (gpgme_data_t data) +{ + if (data) + gpgme_data_release (data); +} diff --git a/pgp/seahorse-gpgme-data.h b/pgp/seahorse-gpgme-data.h new file mode 100644 index 00000000..33b4e5dc --- /dev/null +++ b/pgp/seahorse-gpgme-data.h @@ -0,0 +1,46 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +/** + * A gpgme_data_t implementation which maps to a gio handle. + * Allows for accessing data on remote machines (ie: smb, sftp) + */ + +#pragma once + +#include +#include + +gpgme_data_t seahorse_gpgme_data_input (GInputStream* input); + +gpgme_data_t seahorse_gpgme_data_output (GOutputStream* output); + +/* + * GTK/Glib use a model where if allocation fails, the program exits. These + * helper functions extend certain GPGME calls to provide the same behavior. + */ + +gpgme_data_t seahorse_gpgme_data_new (void); + +void seahorse_gpgme_data_release (gpgme_data_t data); + +int seahorse_gpgme_data_write_all (gpgme_data_t data, const void* buffer, size_t len); + +gpgme_data_t seahorse_gpgme_data_new_from_mem (const char *buffer, size_t size, gboolean copy); diff --git a/pgp/seahorse-gpgme-dialogs.h b/pgp/seahorse-gpgme-dialogs.h new file mode 100644 index 00000000..bf73debd --- /dev/null +++ b/pgp/seahorse-gpgme-dialogs.h @@ -0,0 +1,67 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * Copyright (C) 2004-2005 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/* + * Various UI elements and dialogs used in pgp component. + */ + +#pragma once + +#include + +#include "pgp/seahorse-gpgme-key.h" +#include "pgp/seahorse-gpgme-photo.h" +#include "pgp/seahorse-gpgme-subkey.h" +#include "pgp/seahorse-gpgme-keyring.h" +#include "pgp/seahorse-gpgme-uid.h" +#include "libseahorse/seahorse-widget.h" + +void seahorse_gpgme_generate_register (void); + +void seahorse_gpgme_generate_show (SeahorseGpgmeKeyring *keyring, + GtkWindow *parent, + const char * name, + const char *email, + const gchar *comment); + +void seahorse_gpgme_generate_key (SeahorseGpgmeKeyring *keyring, + const gchar *name, + const gchar *email, + const gchar *comment, + guint type, + guint bits, + time_t expires, + GtkWindow *parent); + +void seahorse_gpgme_add_revoker_new (SeahorseGpgmeKey *pkey, + GtkWindow *parent); + +void seahorse_gpgme_expires_new (SeahorseGpgmeSubkey *subkey, + GtkWindow *parent); + +void seahorse_gpgme_revoke_new (SeahorseGpgmeSubkey *subkey, + GtkWindow *parent); + +gboolean seahorse_gpgme_photo_add (SeahorseGpgmeKey *pkey, + GtkWindow *parent, + const gchar *path); + +gboolean seahorse_gpgme_photo_delete (SeahorseGpgmePhoto *photo, + GtkWindow *parent); diff --git a/pgp/seahorse-gpgme-expires-dialog.c b/pgp/seahorse-gpgme-expires-dialog.c new file mode 100644 index 00000000..4a5b5ea4 --- /dev/null +++ b/pgp/seahorse-gpgme-expires-dialog.c @@ -0,0 +1,223 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-gpgme-expires-dialog.h" +#include "seahorse-gpgme-key-op.h" +#include "seahorse-gpgme-subkey.h" + +#include "libseahorse/seahorse-util.h" + +#include + +#include + +struct _SeahorseGpgmeExpiresDialog { + GtkDialog parent_instance; + + SeahorseGpgmeSubkey *subkey; + + GtkWidget *calendar; + GtkWidget *never_expires_check; +}; + +enum { + PROP_0, + PROP_SUBKEY, + N_PROPS +}; +static GParamSpec *obj_props[N_PROPS] = { NULL, }; + +G_DEFINE_TYPE (SeahorseGpgmeExpiresDialog, seahorse_gpgme_expires_dialog, GTK_TYPE_DIALOG) + +static void +seahorse_gpgme_expires_dialog_response (GtkDialog *dialog, int response) +{ + SeahorseGpgmeExpiresDialog *self = SEAHORSE_GPGME_EXPIRES_DIALOG (dialog); + gpgme_error_t err; + time_t expiry = 0; + + if (response != GTK_RESPONSE_OK) + return; + + if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->never_expires_check))) { + struct tm when; + + memset (&when, 0, sizeof (when)); + gtk_calendar_get_date (GTK_CALENDAR (self->calendar), + (guint*) &(when.tm_year), + (guint*) &(when.tm_mon), + (guint*) &(when.tm_mday)); + when.tm_year -= 1900; + expiry = mktime (&when); + + if (expiry <= time (NULL)) { + seahorse_util_show_error (self->calendar, _("Invalid expiry date"), + _("The expiry date must be in the future")); + return; + } + } + + gtk_widget_set_sensitive (gtk_dialog_get_content_area (GTK_DIALOG (self)), FALSE); + + if (expiry != (time_t)seahorse_pgp_subkey_get_expires (SEAHORSE_PGP_SUBKEY (self->subkey))) { + err = seahorse_gpgme_key_op_set_expires (self->subkey, expiry); + if (!GPG_IS_OK (err)) + seahorse_gpgme_handle_error (err, _("Couldn’t change expiry date")); + } +} + +static void +on_gpgme_expire_toggled (GtkWidget *widget, + gpointer user_data) +{ + SeahorseGpgmeExpiresDialog *self = SEAHORSE_GPGME_EXPIRES_DIALOG (user_data); + + gtk_widget_set_sensitive (self->calendar, + !gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->never_expires_check))); +} + +static void +seahorse_gpgme_expires_dialog_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeExpiresDialog *self = SEAHORSE_GPGME_EXPIRES_DIALOG (object); + + switch (prop_id) { + case PROP_SUBKEY: + g_value_set_object (value, self->subkey); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +seahorse_gpgme_expires_dialog_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeExpiresDialog *self = SEAHORSE_GPGME_EXPIRES_DIALOG (object); + + switch (prop_id) { + case PROP_SUBKEY: + g_clear_object (&self->subkey); + self->subkey = g_value_dup_object (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +seahorse_gpgme_expires_dialog_finalize (GObject *obj) +{ + SeahorseGpgmeExpiresDialog *self = SEAHORSE_GPGME_EXPIRES_DIALOG (obj); + + g_clear_object (&self->subkey); + + G_OBJECT_CLASS (seahorse_gpgme_expires_dialog_parent_class)->finalize (obj); +} + +static void +seahorse_gpgme_expires_dialog_constructed (GObject *obj) +{ + SeahorseGpgmeExpiresDialog *self = SEAHORSE_GPGME_EXPIRES_DIALOG (obj); + g_autofree char *title = NULL; + const char *label; + gulong expires; + + G_OBJECT_CLASS (seahorse_gpgme_expires_dialog_parent_class)->constructed (obj); + + label = seahorse_pgp_subkey_get_description (SEAHORSE_PGP_SUBKEY (self->subkey)); + title = g_strdup_printf (_("Expiry: %s"), label); + gtk_window_set_title (GTK_WINDOW (self), title); + + expires = seahorse_pgp_subkey_get_expires (SEAHORSE_PGP_SUBKEY (self->subkey)); + if (expires == 0) { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->never_expires_check), TRUE); + gtk_widget_set_sensitive (self->calendar, FALSE); + } else { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->never_expires_check), FALSE); + gtk_widget_set_sensitive (self->calendar, TRUE); + } + + if (expires) { + struct tm t; + time_t time = (time_t)expires; + if (gmtime_r (&time, &t)) { + gtk_calendar_select_month (GTK_CALENDAR (self->calendar), t.tm_mon, t.tm_year + 1900); + gtk_calendar_select_day (GTK_CALENDAR (self->calendar), t.tm_mday); + } + } +} + +static void +seahorse_gpgme_expires_dialog_init (SeahorseGpgmeExpiresDialog *self) +{ + gtk_widget_init_template (GTK_WIDGET (self)); +} + +static void +seahorse_gpgme_expires_dialog_class_init (SeahorseGpgmeExpiresDialogClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkDialogClass *dialog_class = GTK_DIALOG_CLASS (klass); + + gobject_class->constructed = seahorse_gpgme_expires_dialog_constructed; + gobject_class->get_property = seahorse_gpgme_expires_dialog_get_property; + gobject_class->set_property = seahorse_gpgme_expires_dialog_set_property; + gobject_class->finalize = seahorse_gpgme_expires_dialog_finalize; + + obj_props[PROP_SUBKEY] = + g_param_spec_object ("subkey", "Subkey", + "Subkey", + SEAHORSE_GPGME_TYPE_SUBKEY, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS); + + g_object_class_install_properties (gobject_class, N_PROPS, obj_props); + + gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/Seahorse/seahorse-gpgme-expires-dialog.ui"); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeExpiresDialog, calendar); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeExpiresDialog, never_expires_check); + gtk_widget_class_bind_template_callback (widget_class, on_gpgme_expire_toggled); + + dialog_class->response = seahorse_gpgme_expires_dialog_response; +} + +GtkDialog * +seahorse_gpgme_expires_dialog_new (SeahorseGpgmeSubkey *subkey, + GtkWindow *parent) +{ + g_return_val_if_fail (SEAHORSE_GPGME_IS_SUBKEY (subkey), NULL); + + return g_object_new (SEAHORSE_GPGME_TYPE_EXPIRES_DIALOG, + "subkey", subkey, + "use-header-bar", 1, + NULL); +} diff --git a/pgp/seahorse-gpgme-expires-dialog.h b/pgp/seahorse-gpgme-expires-dialog.h new file mode 100644 index 00000000..3ac8a22d --- /dev/null +++ b/pgp/seahorse-gpgme-expires-dialog.h @@ -0,0 +1,33 @@ +/* + * Seahorse + * + * Copyright (C) 2020 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +#include "pgp/seahorse-gpgme-key.h" +#include "pgp/seahorse-gpgme-subkey.h" + +#define SEAHORSE_GPGME_TYPE_EXPIRES_DIALOG (seahorse_gpgme_expires_dialog_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseGpgmeExpiresDialog, seahorse_gpgme_expires_dialog, + SEAHORSE_GPGME, EXPIRES_DIALOG, + GtkDialog) + +GtkDialog* seahorse_gpgme_expires_dialog_new (SeahorseGpgmeSubkey *subkey, + GtkWindow *parent); diff --git a/pgp/seahorse-gpgme-expires-dialog.ui b/pgp/seahorse-gpgme-expires-dialog.ui new file mode 100644 index 00000000..2d73d897 --- /dev/null +++ b/pgp/seahorse-gpgme-expires-dialog.ui @@ -0,0 +1,57 @@ + + + + + diff --git a/pgp/seahorse-gpgme-exporter.c b/pgp/seahorse-gpgme-exporter.c new file mode 100644 index 00000000..0fc69f57 --- /dev/null +++ b/pgp/seahorse-gpgme-exporter.c @@ -0,0 +1,419 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + * + * Author: Stef Walter + */ + +#include "config.h" + +#include "seahorse-gpgme.h" +#include "seahorse-gpgme-data.h" +#include "seahorse-gpgme-exporter.h" +#include "seahorse-gpgme-key.h" +#include "seahorse-gpgme-keyring.h" +#include "seahorse-gpg-op.h" + +#include "libseahorse/seahorse-progress.h" +#include "libseahorse/seahorse-util.h" + +#include + +#include + +struct _SeahorseGpgmeExporter { + GObject parent; + + GList *objects; + gboolean armor; + gboolean secret; +}; + +enum { + PROP_0, + PROP_FILENAME, + PROP_CONTENT_TYPE, + PROP_FILE_FILTER, + PROP_ARMOR, + PROP_SECRET +}; + +static void seahorse_gpgme_exporter_iface_init (SeahorseExporterIface *iface); + +G_DEFINE_TYPE_WITH_CODE (SeahorseGpgmeExporter, seahorse_gpgme_exporter, G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE (SEAHORSE_TYPE_EXPORTER, seahorse_gpgme_exporter_iface_init); +); + +static gchar * +seahorse_gpgme_exporter_get_filename (SeahorseExporter* exporter) +{ + SeahorseGpgmeExporter *self = SEAHORSE_GPGME_EXPORTER (exporter); + const gchar *basename = NULL; + gchar *filename; + + g_return_val_if_fail (self->objects, NULL); + + /* Multiple objects */ + if (self->objects->next) + basename = _("Multiple Keys"); + else if (self->objects->data) + basename = seahorse_object_get_nickname (self->objects->data); + if (basename == NULL) + basename = _("Key Data"); + + if (self->armor) + filename = g_strconcat (basename, ".asc", NULL); + else + filename = g_strconcat (basename, ".pgp", NULL); + g_strstrip (filename); + g_strdelimit (filename, SEAHORSE_BAD_FILENAME_CHARS, '_'); + return filename; +} + +static const gchar * +seahorse_gpgme_exporter_get_content_type (SeahorseExporter* exporter) +{ + SeahorseGpgmeExporter *self = SEAHORSE_GPGME_EXPORTER (exporter); + if (self->armor) + return "application/pgp-keys"; + else + return "application/pgp-keys+armor"; +} + +static GtkFileFilter * +seahorse_gpgme_exporter_get_file_filter (SeahorseExporter* exporter) +{ + SeahorseGpgmeExporter *self = SEAHORSE_GPGME_EXPORTER (exporter); + GtkFileFilter *filter = gtk_file_filter_new (); + + if (self->armor) { + gtk_file_filter_set_name (filter, _("Armored PGP keys")); + gtk_file_filter_add_mime_type (filter, "application/pgp-keys+armor"); + gtk_file_filter_add_pattern (filter, "*.asc"); + } else { + gtk_file_filter_set_name (filter, _("PGP keys")); + gtk_file_filter_add_mime_type (filter, "application/pgp-keys"); + gtk_file_filter_add_pattern (filter, "*.pgp"); + gtk_file_filter_add_pattern (filter, "*.gpg"); + } + + return filter; +} + +static void +seahorse_gpgme_exporter_init (SeahorseGpgmeExporter *self) +{ + +} + +static void +seahorse_gpgme_exporter_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeExporter *self = SEAHORSE_GPGME_EXPORTER (object); + SeahorseExporter *exporter = SEAHORSE_EXPORTER (object); + + switch (prop_id) { + case PROP_FILENAME: + g_value_take_string (value, seahorse_gpgme_exporter_get_filename (exporter)); + break; + case PROP_CONTENT_TYPE: + g_value_set_string (value, seahorse_gpgme_exporter_get_content_type (exporter)); + break; + case PROP_FILE_FILTER: + g_value_take_object (value, seahorse_gpgme_exporter_get_file_filter (exporter)); + break; + case PROP_ARMOR: + g_value_set_boolean (value, self->armor); + break; + case PROP_SECRET: + g_value_set_boolean (value, self->secret); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +seahorse_gpgme_exporter_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeExporter *self = SEAHORSE_GPGME_EXPORTER (object); + + switch (prop_id) { + case PROP_ARMOR: + self->armor = g_value_get_boolean (value); + g_object_notify (G_OBJECT (self), "filename"); + g_object_notify (G_OBJECT (self), "file-filter"); + g_object_notify (G_OBJECT (self), "content-type"); + break; + case PROP_SECRET: + self->secret = g_value_get_boolean (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +seahorse_gpgme_exporter_finalize (GObject *obj) +{ + SeahorseGpgmeExporter *self = SEAHORSE_GPGME_EXPORTER (obj); + + g_list_free_full (self->objects, g_object_unref); + + G_OBJECT_CLASS (seahorse_gpgme_exporter_parent_class)->finalize (obj); +} + +static void +seahorse_gpgme_exporter_class_init (SeahorseGpgmeExporterClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->finalize = seahorse_gpgme_exporter_finalize; + gobject_class->set_property = seahorse_gpgme_exporter_set_property; + gobject_class->get_property = seahorse_gpgme_exporter_get_property; + + g_object_class_override_property (gobject_class, PROP_FILENAME, "filename"); + g_object_class_override_property (gobject_class, PROP_CONTENT_TYPE, "content-type"); + g_object_class_override_property (gobject_class, PROP_FILE_FILTER, "file-filter"); + + g_object_class_install_property (gobject_class, PROP_ARMOR, + g_param_spec_boolean ("armor", "Armor", "Armor encoding", + FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_SECRET, + g_param_spec_boolean ("secret", "Secret", "Secret key export", + FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); +} + +static GList * +seahorse_gpgme_exporter_get_objects (SeahorseExporter *exporter) +{ + SeahorseGpgmeExporter *self = SEAHORSE_GPGME_EXPORTER (exporter); + return self->objects; +} + +static gboolean +seahorse_gpgme_exporter_add_object (SeahorseExporter *exporter, + GObject *object) +{ + SeahorseGpgmeExporter *self = SEAHORSE_GPGME_EXPORTER (exporter); + SeahorseGpgmeKey *key; + + if (SEAHORSE_GPGME_IS_KEY (object)) { + key = SEAHORSE_GPGME_KEY (object); + if (self->secret && seahorse_gpgme_key_get_private (key) == NULL) + return FALSE; + + self->objects = g_list_append (self->objects, g_object_ref (key)); + g_object_notify (G_OBJECT (self), "filename"); + return TRUE; + } + + return FALSE; +} + +typedef struct { + GPtrArray *keyids; + gint at; + gpgme_data_t data; + gpgme_ctx_t gctx; + GMemoryOutputStream *output; +} GpgmeExportClosure; + +static void +gpgme_export_closure_free (gpointer data) +{ + GpgmeExportClosure *closure = data; + gpgme_data_release (closure->data); + g_clear_pointer (&closure->gctx, gpgme_release); + g_ptr_array_free (closure->keyids, TRUE); + g_free (closure); +} + + +static gboolean +on_keyring_export_complete (gpgme_error_t gerr, + gpointer user_data) +{ + GTask *task = G_TASK (user_data); + SeahorseGpgmeExporter *self = g_task_get_source_object (task); + GpgmeExportClosure *closure = g_task_get_task_data (task); + g_autoptr(GError) error = NULL; + guint flags = 0; + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return FALSE; /* don't call again */ + } + + if (closure->at >= 0) + seahorse_progress_end (g_task_get_cancellable (task), + closure->keyids->pdata[closure->at]); + + g_assert (closure->at < (gint)closure->keyids->len); + closure->at++; + + if (closure->at == (gint)closure->keyids->len) { + g_task_return_pointer (task, g_steal_pointer (&closure->output), g_object_unref); + return FALSE; /* don't run this again */ + } + + /* Do the next key in the list */ + if (self->secret) + flags |= GPGME_EXPORT_MODE_SECRET; + gerr = gpgme_op_export_start (closure->gctx, closure->keyids->pdata[closure->at], + flags, closure->data); + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return FALSE; /* don't run this again */ + } + + seahorse_progress_begin (g_task_get_cancellable (task), + closure->keyids->pdata[closure->at]); + return TRUE; /* call this source again */ +} + +static void +seahorse_gpgme_exporter_export_async (SeahorseExporter *exporter, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + SeahorseGpgmeExporter *self = SEAHORSE_GPGME_EXPORTER (exporter); + g_autoptr(GTask) task = NULL; + GpgmeExportClosure *closure; + g_autoptr(GError) error = NULL; + gpgme_error_t gerr = 0; + g_autoptr(GSource) gsource = NULL; + GList *l; + + task = g_task_new (exporter, cancellable, callback, user_data); + closure = g_new0 (GpgmeExportClosure, 1); + closure->gctx = seahorse_gpgme_keyring_new_context (&gerr); + closure->output = G_MEMORY_OUTPUT_STREAM (g_memory_output_stream_new (NULL, 0, g_realloc, g_free)); + closure->data = seahorse_gpgme_data_output (G_OUTPUT_STREAM (closure->output)); + closure->keyids = g_ptr_array_new_with_free_func (g_free); + closure->at = -1; + g_task_set_task_data (task, closure, gpgme_export_closure_free); + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + gpgme_set_armor (closure->gctx, self->armor); + + /* Building list */ + for (l = self->objects; l != NULL; l = g_list_next (l)) { + SeahorsePgpKey *key; + gchar *keyid; + + key = SEAHORSE_PGP_KEY (l->data); + keyid = g_strdup (seahorse_pgp_key_get_keyid (key)); + seahorse_progress_prep (cancellable, keyid, NULL); + g_ptr_array_add (closure->keyids, keyid); + } + + gsource = seahorse_gpgme_gsource_new (closure->gctx, cancellable); + g_source_set_callback (gsource, (GSourceFunc)on_keyring_export_complete, + g_object_ref (task), g_object_unref); + + /* Get things started */ + if (on_keyring_export_complete (0, task)) + g_source_attach (gsource, g_main_context_default ()); +} + +static guchar * +seahorse_gpgme_exporter_export_finish (SeahorseExporter *exporter, + GAsyncResult *result, + gsize *size, + GError **error) +{ + g_autoptr(GMemoryOutputStream) output = NULL; + + g_return_val_if_fail (g_task_is_valid (result, exporter), NULL); + + output = g_task_propagate_pointer (G_TASK (result), error); + if (output == NULL) + return NULL; + + g_output_stream_close (G_OUTPUT_STREAM (output), NULL, NULL); + *size = g_memory_output_stream_get_data_size (output); + return g_memory_output_stream_steal_data (output); +} + +static void +seahorse_gpgme_exporter_iface_init (SeahorseExporterIface *iface) +{ + iface->add_object = seahorse_gpgme_exporter_add_object; + iface->export = seahorse_gpgme_exporter_export_async; + iface->export_finish = seahorse_gpgme_exporter_export_finish; + iface->get_objects = seahorse_gpgme_exporter_get_objects; + iface->get_filename = seahorse_gpgme_exporter_get_filename; + iface->get_content_type = seahorse_gpgme_exporter_get_content_type; + iface->get_file_filter = seahorse_gpgme_exporter_get_file_filter; +} + +SeahorseExporter * +seahorse_gpgme_exporter_new (GObject *object, + gboolean armor, + gboolean secret) +{ + SeahorseExporter *exporter; + + g_return_val_if_fail (secret == FALSE || armor == TRUE, NULL); + + exporter = g_object_new (SEAHORSE_GPGME_TYPE_EXPORTER, + "armor", armor, + "secret", secret, + NULL); + + if (!seahorse_exporter_add_object (exporter, object)) + g_return_val_if_reached (NULL); + + return exporter; +} + + +SeahorseExporter * +seahorse_gpgme_exporter_new_multiple (GList *keys, + gboolean armor) +{ + SeahorseExporter *exporter; + GList *l; + + exporter = g_object_new (SEAHORSE_GPGME_TYPE_EXPORTER, + "armor", armor, + "secret", FALSE, + NULL); + + for (l = keys; l != NULL; l = g_list_next (l)) { + if (!seahorse_exporter_add_object (exporter, l->data)) + g_return_val_if_reached (NULL); + } + + return exporter; +} diff --git a/pgp/seahorse-gpgme-exporter.h b/pgp/seahorse-gpgme-exporter.h new file mode 100644 index 00000000..3d676d58 --- /dev/null +++ b/pgp/seahorse-gpgme-exporter.h @@ -0,0 +1,36 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + * + * Author: Stef Walter + */ + +#pragma once + +#include + +#include "seahorse-common.h" + +#define SEAHORSE_GPGME_TYPE_EXPORTER (seahorse_gpgme_exporter_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseGpgmeExporter, seahorse_gpgme_exporter, SEAHORSE_GPGME, EXPORTER, GObject) + +SeahorseExporter * seahorse_gpgme_exporter_new (GObject *object, + gboolean armor, + gboolean secret); + +SeahorseExporter * seahorse_gpgme_exporter_new_multiple (GList *keys, + gboolean armor); diff --git a/pgp/seahorse-gpgme-generate-dialog.c b/pgp/seahorse-gpgme-generate-dialog.c new file mode 100644 index 00000000..7c17897a --- /dev/null +++ b/pgp/seahorse-gpgme-generate-dialog.c @@ -0,0 +1,395 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-gpgme-generate-dialog.h" + +#include "seahorse-pgp-backend.h" +#include "seahorse-gpgme.h" +#include "seahorse-gpgme-key.h" +#include "seahorse-gpgme-key-op.h" +#include "seahorse-gpgme-keyring.h" + +#include "seahorse-common.h" + +#include "libegg/egg-datetime.h" + +#include "libseahorse/seahorse-progress.h" +#include "libseahorse/seahorse-util.h" + +#include + +#include +#include + +/** + * SECTION:seahorse-gpgme-generate + * @short_description: This file contains creation dialogs for pgp key creation. + * + **/ + +struct _SeahorseGpgmeGenerateDialog { + GtkDialog parent_instance; + + SeahorseGpgmeKeyring *keyring; + + GtkWidget *name_entry; + GtkWidget *email_entry; + GtkWidget *comment_entry; + + GtkWidget *algorithm_choice; + GtkWidget *bits_entry; + + GtkWidget *expires_check; + GtkWidget *expiry_date_container; + GtkWidget *expiry_date; +}; + +enum { + PROP_0, + PROP_KEYRING, + N_PROPS +}; +static GParamSpec *obj_props[N_PROPS] = { NULL, }; + +G_DEFINE_TYPE (SeahorseGpgmeGenerateDialog, seahorse_gpgme_generate_dialog, GTK_TYPE_DIALOG) + +typedef struct _AlgorithmDesc { + const gchar* desc; + guint type; + guint min; + guint max; + guint def; +} AlgorithmDesc; + +static AlgorithmDesc available_algorithms[] = { + { N_("RSA"), RSA_RSA, RSA_MIN, LENGTH_MAX, LENGTH_DEFAULT }, + { N_("DSA ElGamal"), DSA_ELGAMAL, ELGAMAL_MIN, LENGTH_MAX, LENGTH_DEFAULT }, + { N_("DSA (sign only)"), DSA, DSA_MIN, DSA_MAX, LENGTH_DEFAULT }, + { N_("RSA (sign only)"), RSA_SIGN, RSA_MIN, LENGTH_MAX, LENGTH_DEFAULT } +}; + +static void +on_generate_key_complete (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + SeahorseCatalog *catalog = SEAHORSE_CATALOG (user_data); + GError *error = NULL; + + if (!seahorse_gpgme_key_op_generate_finish (SEAHORSE_GPGME_KEYRING (source), result, &error)) { + seahorse_util_handle_error (&error, + GTK_WINDOW (catalog), + _("Couldn’t generate PGP key")); + return; + } + + g_action_group_activate_action (G_ACTION_GROUP (catalog), + "focus-place", + g_variant_new_string ("gnupg")); +} + +/** + * gpgme_generate_key: + * @sksrc: the seahorse source + * @name: the user's full name + * @email: the user's email address + * @comment: a comment, added to the key + * @type: key type like DSA_ELGAMAL + * @bits: the number of bits for the key to generate (2048) + * @expires: expiry date can be 0 + * + * Displays a password generation box and creates a key afterwards. For the key + * data it uses @name @email and @comment ncryption is chosen by @type and @bits + * @expire sets the expiry date + * + */ +void +seahorse_gpgme_generate_key (SeahorseGpgmeKeyring *keyring, + const char *name, + const char *email, + const char *comment, + guint type, + guint bits, + time_t expires, + GtkWindow *parent) +{ + GCancellable *cancellable; + const gchar *pass; + SeahorsePassphrasePrompt *dialog; + const gchar *notice; + + dialog = seahorse_passphrase_prompt_show_dialog (_("Passphrase for New PGP Key"), + _("Enter the passphrase for your new key twice."), + NULL, NULL, TRUE); + gtk_window_set_transient_for (GTK_WINDOW (dialog), parent); + if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) { + pass = seahorse_passphrase_prompt_get_text (dialog); + cancellable = g_cancellable_new (); + seahorse_gpgme_key_op_generate_async (keyring, name, email, comment, + pass, type, bits, expires, + cancellable, on_generate_key_complete, + parent); + + /* Has line breaks because GtkLabel is completely broken WRT wrapping */ + notice = _("When creating a key we need to generate a lot of\n" + "random data and we need you to help. It’s a good\n" + "idea to perform some other action like typing on\n" + "the keyboard, moving the mouse, using applications.\n" + "This gives the system the random data that it needs."); + seahorse_progress_show_with_notice (cancellable, _("Generating key"), notice, FALSE); + g_object_unref (cancellable); + } + + gtk_widget_destroy (GTK_WIDGET (dialog)); +} + +/* If the name has more than 5 characters, this sets the ok button sensitive */ +static void +on_gpgme_generate_entry_changed (GtkEditable *editable, + gpointer user_data) +{ + SeahorseGpgmeGenerateDialog *self = SEAHORSE_GPGME_GENERATE_DIALOG (user_data); + g_autofree char *name = NULL; + gboolean name_long_enough; + + /* A 5 character name is required */ + name = g_strdup (gtk_entry_get_text (GTK_ENTRY (self->name_entry))); + name_long_enough = name && strlen (g_strstrip (name)) >= 5; + + /* If not, show the user and disable the create button */ + if (!name_long_enough) { + g_object_set (self->name_entry, + "secondary-icon-name", "dialog-warning-symbolic", + "secondary-icon-tooltip-text", _("Name must be at least 5 characters long."), + NULL); + } else { + g_object_set (self->name_entry, "secondary-icon-name", NULL, NULL); + } + + gtk_dialog_set_response_sensitive (GTK_DIALOG (self), GTK_RESPONSE_OK, name_long_enough); +} + +/* Handles the expires toggle button feedback */ +static void +on_gpgme_generate_expires_toggled (GtkToggleButton *button, + gpointer user_data) +{ + SeahorseGpgmeGenerateDialog *self = SEAHORSE_GPGME_GENERATE_DIALOG (user_data); + + gtk_widget_set_sensitive (self->expiry_date_container, + !gtk_toggle_button_get_active (button)); +} + +/* Changes the bit range depending on the algorithm set */ +static void +on_gpgme_generate_algorithm_changed (GtkComboBox *combo, + gpointer user_data) +{ + SeahorseGpgmeGenerateDialog *self = SEAHORSE_GPGME_GENERATE_DIALOG (user_data); + int sel; + + sel = gtk_combo_box_get_active (combo); + g_assert (sel < (int)G_N_ELEMENTS (available_algorithms)); + + gtk_spin_button_set_range (GTK_SPIN_BUTTON (self->bits_entry), + available_algorithms[sel].min, + available_algorithms[sel].max); + + /* Set sane default key length */ + if (available_algorithms[sel].def > available_algorithms[sel].max) + gtk_spin_button_set_value (GTK_SPIN_BUTTON (self->bits_entry), available_algorithms[sel].max); + else + gtk_spin_button_set_value (GTK_SPIN_BUTTON (self->bits_entry), available_algorithms[sel].def); +} + +static void +seahorse_gpgme_generate_dialog_response (GtkDialog *dialog, int response) +{ + SeahorseGpgmeGenerateDialog *self = SEAHORSE_GPGME_GENERATE_DIALOG (dialog); + g_autofree char *name = NULL; + const char *email, *comment; + int sel; + guint type; + time_t expires; + guint bits; + + if (response != GTK_RESPONSE_OK) + return; + + /* Make sure the name is the right length. Should've been checked earlier */ + name = g_strdup (gtk_entry_get_text (GTK_ENTRY (self->name_entry))); + g_return_if_fail (name); + name = g_strstrip (name); + g_return_if_fail (strlen(name) >= 5); + + email = gtk_entry_get_text (GTK_ENTRY (self->email_entry)); + comment = gtk_entry_get_text (GTK_ENTRY (self->comment_entry)); + + /* The algorithm */ + sel = gtk_combo_box_get_active (GTK_COMBO_BOX (self->algorithm_choice)); + g_assert (sel <= (int) G_N_ELEMENTS(available_algorithms)); + type = available_algorithms[sel].type; + + /* The number of bits */ + bits = gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (self->bits_entry)); + if (bits < available_algorithms[sel].min || bits > available_algorithms[sel].max) { + bits = available_algorithms[sel].def; + g_message ("invalid key size: %s defaulting to %u", available_algorithms[sel].desc, bits); + } + + /* The expiry */ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->expires_check))) + expires = 0; + else + egg_datetime_get_as_time_t (EGG_DATETIME (self->expiry_date), &expires); + + /* Less confusing with less on the screen */ + gtk_widget_hide (GTK_WIDGET (self)); + + seahorse_gpgme_generate_key (self->keyring, + name, email, comment, type, bits, expires, + gtk_window_get_transient_for (GTK_WINDOW (self))); +} + +static void +seahorse_gpgme_generate_dialog_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeGenerateDialog *self = SEAHORSE_GPGME_GENERATE_DIALOG (object); + + switch (prop_id) { + case PROP_KEYRING: + g_value_set_object (value, self->keyring); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +seahorse_gpgme_generate_dialog_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeGenerateDialog *self = SEAHORSE_GPGME_GENERATE_DIALOG (object); + + switch (prop_id) { + case PROP_KEYRING: + g_clear_object (&self->keyring); + self->keyring = g_value_dup_object (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +seahorse_gpgme_generate_dialog_finalize (GObject *obj) +{ + SeahorseGpgmeGenerateDialog *self = SEAHORSE_GPGME_GENERATE_DIALOG (obj); + + g_clear_object (&self->keyring); + + G_OBJECT_CLASS (seahorse_gpgme_generate_dialog_parent_class)->finalize (obj); +} + +static void +seahorse_gpgme_generate_dialog_init (SeahorseGpgmeGenerateDialog *self) +{ + time_t expires; + guint i; + + gtk_widget_init_template (GTK_WIDGET (self)); + + /* The algorithms */ + gtk_combo_box_text_remove (GTK_COMBO_BOX_TEXT (self->algorithm_choice), 0); + for (i = 0; i < G_N_ELEMENTS(available_algorithms); i++) { + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (self->algorithm_choice), + _(available_algorithms[i].desc)); + } + gtk_combo_box_set_active (GTK_COMBO_BOX (self->algorithm_choice), 0); + on_gpgme_generate_algorithm_changed (GTK_COMBO_BOX (self->algorithm_choice), + self); + + expires = time (NULL); + expires += (60 * 60 * 24 * 365); /* Seconds in a year */ + + /* Default expiry date */ + self->expiry_date = egg_datetime_new_from_time_t (expires); + gtk_box_pack_start (GTK_BOX (self->expiry_date_container), + self->expiry_date, TRUE, TRUE, 0); + gtk_widget_set_sensitive (self->expiry_date, FALSE); + gtk_widget_show (self->expiry_date); + + on_gpgme_generate_entry_changed (NULL, self); +} + +static void +seahorse_gpgme_generate_dialog_class_init (SeahorseGpgmeGenerateDialogClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkDialogClass *dialog_class = GTK_DIALOG_CLASS (klass); + + gobject_class->get_property = seahorse_gpgme_generate_dialog_get_property; + gobject_class->set_property = seahorse_gpgme_generate_dialog_set_property; + gobject_class->finalize = seahorse_gpgme_generate_dialog_finalize; + + obj_props[PROP_KEYRING] = + g_param_spec_object ("keyring", "keyring", + "Keyring to use for generating", + SEAHORSE_TYPE_GPGME_KEYRING, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS); + + g_object_class_install_properties (gobject_class, N_PROPS, obj_props); + + gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/Seahorse/seahorse-gpgme-generate-dialog.ui"); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeGenerateDialog, name_entry); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeGenerateDialog, email_entry); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeGenerateDialog, comment_entry); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeGenerateDialog, algorithm_choice); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeGenerateDialog, bits_entry); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeGenerateDialog, expiry_date_container); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeGenerateDialog, expires_check); + gtk_widget_class_bind_template_callback (widget_class, on_gpgme_generate_entry_changed); + gtk_widget_class_bind_template_callback (widget_class, on_gpgme_generate_expires_toggled); + gtk_widget_class_bind_template_callback (widget_class, on_gpgme_generate_algorithm_changed); + + dialog_class->response = seahorse_gpgme_generate_dialog_response; +} + +GtkDialog * +seahorse_gpgme_generate_dialog_new (SeahorseGpgmeKeyring *keyring, + GtkWindow *parent) +{ + return g_object_new (SEAHORSE_GPGME_TYPE_GENERATE_DIALOG, + "keyring", keyring, + "use-header-bar", 1, + NULL); +} diff --git a/pgp/seahorse-gpgme-generate-dialog.h b/pgp/seahorse-gpgme-generate-dialog.h new file mode 100644 index 00000000..113a4f20 --- /dev/null +++ b/pgp/seahorse-gpgme-generate-dialog.h @@ -0,0 +1,34 @@ +/* + * Seahorse + * + * Copyright (C) 2020 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +#include "pgp/seahorse-gpgme-keyring.h" + +#define SEAHORSE_GPGME_TYPE_GENERATE_DIALOG (seahorse_gpgme_generate_dialog_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseGpgmeGenerateDialog, seahorse_gpgme_generate_dialog, + SEAHORSE_GPGME, GENERATE_DIALOG, + GtkDialog) + +void seahorse_gpgme_generate_register (void); + +GtkDialog* seahorse_gpgme_generate_dialog_new (SeahorseGpgmeKeyring *keyring, + GtkWindow *parent); diff --git a/pgp/seahorse-gpgme-generate-dialog.ui b/pgp/seahorse-gpgme-generate-dialog.ui new file mode 100644 index 00000000..d821830b --- /dev/null +++ b/pgp/seahorse-gpgme-generate-dialog.ui @@ -0,0 +1,311 @@ + + + + + 512 + 8192 + 2048 + 512 + 1 + + + + + + + + + diff --git a/pgp/seahorse-gpgme-key-deleter.c b/pgp/seahorse-gpgme-key-deleter.c new file mode 100644 index 00000000..61d52c31 --- /dev/null +++ b/pgp/seahorse-gpgme-key-deleter.c @@ -0,0 +1,173 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + * + * Author: Stef Walter + */ + +#include "config.h" + +#include "seahorse-gpgme.h" +#include "seahorse-gpgme-key-deleter.h" +#include "seahorse-gpgme-key-op.h" + +#include "seahorse-common.h" + +#include + +#define SEAHORSE_GPGME_KEY_DELETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_TYPE_GPGME_KEY_DELETER, SeahorseGpgmeKeyDeleterClass)) +#define SEAHORSE_IS_GPGME_KEY_DELETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_TYPE_GPGME_KEY_DELETER)) +#define SEAHORSE_GPGME_KEY_DELETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_TYPE_GPGME_KEY_DELETER, SeahorseGpgmeKeyDeleterClass)) + +typedef struct _SeahorseGpgmeKeyDeleterClass SeahorseGpgmeKeyDeleterClass; + +struct _SeahorseGpgmeKeyDeleter { + SeahorseDeleter parent; + GList *keys; +}; + +struct _SeahorseGpgmeKeyDeleterClass { + SeahorseDeleterClass parent_class; +}; + +G_DEFINE_TYPE (SeahorseGpgmeKeyDeleter, seahorse_gpgme_key_deleter, SEAHORSE_TYPE_DELETER); + +static void +seahorse_gpgme_key_deleter_init (SeahorseGpgmeKeyDeleter *self) +{ +} + +static void +seahorse_gpgme_key_deleter_finalize (GObject *obj) +{ + SeahorseGpgmeKeyDeleter *self = SEAHORSE_GPGME_KEY_DELETER (obj); + + g_list_free_full (self->keys, g_object_unref); + + G_OBJECT_CLASS (seahorse_gpgme_key_deleter_parent_class)->finalize (obj); +} + +static GtkDialog * +seahorse_gpgme_key_deleter_create_confirm (SeahorseDeleter *deleter, + GtkWindow *parent) +{ + SeahorseGpgmeKeyDeleter *self = SEAHORSE_GPGME_KEY_DELETER (deleter); + GtkDialog *dialog; + g_autofree gchar *prompt = NULL; + guint num; + + num = g_list_length (self->keys); + if (num == 1) { + prompt = g_strdup_printf (_("Are you sure you want to permanently delete %s?"), + seahorse_object_get_label (SEAHORSE_OBJECT (self->keys->data))); + } else { + prompt = g_strdup_printf (ngettext ("Are you sure you want to permanently delete %d keys?", + "Are you sure you want to permanently delete %d keys?", + num), + num); + } + + dialog = seahorse_delete_dialog_new (parent, "%s", prompt); + + return g_object_ref (dialog); +} + +static GList * +seahorse_gpgme_key_deleter_get_objects (SeahorseDeleter *deleter) +{ + SeahorseGpgmeKeyDeleter *self = SEAHORSE_GPGME_KEY_DELETER (deleter); + return self->keys; +} + +static gboolean +seahorse_gpgme_key_deleter_add_object (SeahorseDeleter *deleter, + GObject *object) +{ + SeahorseGpgmeKeyDeleter *self = SEAHORSE_GPGME_KEY_DELETER (deleter); + + if (!SEAHORSE_GPGME_IS_KEY (object)) + return FALSE; + self->keys = g_list_append (self->keys, g_object_ref (object)); + return TRUE; +} + +static void +seahorse_gpgme_key_deleter_delete_async (SeahorseDeleter *deleter, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + SeahorseGpgmeKeyDeleter *self = SEAHORSE_GPGME_KEY_DELETER (deleter); + g_autoptr(GTask) task = NULL; + GList *l; + + task = g_task_new (self, cancellable, callback, user_data); + + for (l = self->keys; l != NULL && !g_cancellable_is_cancelled (cancellable); + l = g_list_next (l)) { + gpgme_error_t gerr; + g_autoptr(GError) error = NULL; + + gerr = seahorse_gpgme_key_op_delete (l->data); + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + } + + g_task_return_boolean (task, TRUE); +} + +static gboolean +seahorse_gpgme_key_deleter_delete_finish (SeahorseDeleter *deleter, + GAsyncResult *result, + GError **error) +{ + SeahorseGpgmeKeyDeleter *self = SEAHORSE_GPGME_KEY_DELETER (deleter); + + g_return_val_if_fail (g_task_is_valid (result, self), FALSE); + + return g_task_propagate_boolean (G_TASK (result), error); +} + +static void +seahorse_gpgme_key_deleter_class_init (SeahorseGpgmeKeyDeleterClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + SeahorseDeleterClass *deleter_class = SEAHORSE_DELETER_CLASS (klass); + + gobject_class->finalize = seahorse_gpgme_key_deleter_finalize; + + deleter_class->add_object = seahorse_gpgme_key_deleter_add_object; + deleter_class->create_confirm = seahorse_gpgme_key_deleter_create_confirm; + deleter_class->delete = seahorse_gpgme_key_deleter_delete_async; + deleter_class->delete_finish = seahorse_gpgme_key_deleter_delete_finish; + deleter_class->get_objects = seahorse_gpgme_key_deleter_get_objects; +} + +SeahorseDeleter * +seahorse_gpgme_key_deleter_new (SeahorseGpgmeKey *item) +{ + SeahorseDeleter *deleter; + + deleter = g_object_new (SEAHORSE_TYPE_GPGME_KEY_DELETER, NULL); + if (!seahorse_deleter_add_object (deleter, G_OBJECT (item))) + g_assert_not_reached (); + + return deleter; +} diff --git a/pgp/seahorse-gpgme-key-deleter.h b/pgp/seahorse-gpgme-key-deleter.h new file mode 100644 index 00000000..6ae7d8c3 --- /dev/null +++ b/pgp/seahorse-gpgme-key-deleter.h @@ -0,0 +1,38 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + * + * Author: Stef Walter + */ + +#pragma once + +#include + +#include "seahorse-common.h" +#include "seahorse-gpgme-key.h" + +#define SEAHORSE_TYPE_GPGME_KEY_DELETER (seahorse_gpgme_key_deleter_get_type ()) +#define SEAHORSE_GPGME_KEY_DELETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_GPGME_KEY_DELETER, SeahorseGpgmeKeyDeleter)) +#define SEAHORSE_IS_GPGME_KEY_DELETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_TYPE_GPGME_KEY_DELETER)) + +typedef struct _SeahorseGpgmeKeyDeleter SeahorseGpgmeKeyDeleter; + +GType seahorse_gpgme_key_deleter_get_type (void) G_GNUC_CONST; + +SeahorseDeleter * seahorse_gpgme_key_deleter_new (SeahorseGpgmeKey *key); diff --git a/pgp/seahorse-gpgme-key-op.c b/pgp/seahorse-gpgme-key-op.c new file mode 100644 index 00000000..1960ec39 --- /dev/null +++ b/pgp/seahorse-gpgme-key-op.c @@ -0,0 +1,2421 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * Copyright (C) 2004 Stefan Walter + * Copyright (C) 2005 Adam Schreiber + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-gpgme-key-op.h" + +#include "seahorse-gpgme.h" +#include "seahorse-gpgme-data.h" +#include "seahorse-gpg-op.h" + +#include "libseahorse/seahorse-object-list.h" +#include "libseahorse/seahorse-progress.h" +#include "libseahorse/seahorse-util.h" + +#include +#include + +#include +#include +#include +#include + +#define PROMPT "keyedit.prompt" +#define QUIT "quit" +#define SAVE "keyedit.save.okay" +#define YES "Y" +#define NO "N" + +#define PRINT(args) if(!seahorse_util_print_fd args) return GPG_E (GPG_ERR_GENERAL) +#define PRINTF(args) if(!seahorse_util_printf_fd args) return GPG_E (GPG_ERR_GENERAL) + +#define GPG_UNKNOWN 1 +#define GPG_NEVER 2 +#define GPG_MARGINAL 3 +#define GPG_FULL 4 +#define GPG_ULTIMATE 5 + +static void +on_key_op_progress (void *opaque, + const char *what, + int type, + int current, + int total) +{ + GTask *task = G_TASK (opaque); + seahorse_progress_update (g_task_get_cancellable (task), task, "%s", what); +} + +static gboolean +on_key_op_generate_complete (gpgme_error_t gerr, + gpointer user_data) +{ + GTask *task = G_TASK (user_data); + g_autoptr(GError) error = NULL; + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return FALSE; /* don't call again */ + } + + seahorse_progress_end (g_task_get_cancellable (task), task); + g_task_return_boolean (task, TRUE); + return FALSE; /* don't call again */ +} + + +/** + * seahorse_gpgme_key_op_generate: + * @sksrc: #SeahorseSource + * @name: User ID name, must be at least 5 characters long + * @email: Optional user ID email + * @comment: Optional user ID comment + * @passphrase: Passphrase for key + * @type: Key type. Supported types are #DSA_ELGAMAL, #DSA, #RSA_SIGN, and #RSA_RSA + * @length: Length of key, must be within the range of @type specified by #SeahorseKeyLength + * @expires: Expiration date of key + * + * Tries to generate a new key based on given parameters. + **/ +void +seahorse_gpgme_key_op_generate_async (SeahorseGpgmeKeyring *keyring, + const gchar *name, + const gchar *email, + const gchar *comment, + const gchar *passphrase, + const SeahorseKeyEncType type, + const guint length, + const time_t expires, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + const gchar* key_type; + g_autofree gchar *common = NULL, *start = NULL, *expires_date = NULL; + gpgme_ctx_t gctx; + g_autoptr(GTask) task = NULL; + g_autoptr(GError) error = NULL; + const gchar *parms; + gpgme_error_t gerr = 0; + g_autoptr(GSource) gsource = NULL; + + g_return_if_fail (SEAHORSE_IS_GPGME_KEYRING (keyring)); + g_return_if_fail (name); + g_return_if_fail (strlen (name) > 4); + g_return_if_fail (passphrase); + + /* Check lengths for each type */ + switch (type) { + case DSA_ELGAMAL: + g_return_if_fail (length >= ELGAMAL_MIN || length <= LENGTH_MAX); + break; + case DSA: + g_return_if_fail (length >= DSA_MIN || length <= DSA_MAX); + break; + case RSA_RSA: + case RSA_SIGN: + g_return_if_fail (length >= RSA_MIN || length <= LENGTH_MAX); + break; + default: + g_return_if_reached (); + break; + } + + if (expires != 0) + expires_date = seahorse_util_get_date_string (expires); + else + expires_date = g_strdup ("0"); + + /* Common xml */ + common = g_strdup_printf ("Name-Real: %s\nExpire-Date: %s\nPassphrase: %s\n" + "", name, expires_date, passphrase); + if (email != NULL && strlen (email) > 0) + common = g_strdup_printf ("Name-Email: %s\n%s", email, common); + if (comment != NULL && strlen (comment) > 0) + common = g_strdup_printf ("Name-Comment: %s\n%s", comment, common); + + if (type == DSA || type == DSA_ELGAMAL) + key_type = "Key-Type: DSA\nKey-Usage: sign"; + else + key_type = "Key-Type: RSA\nKey-Usage: sign"; + + start = g_strdup_printf ("\n%s\nKey-Length: ", key_type); + + /* Subkey xml */ + if (type == DSA_ELGAMAL) + parms = g_strdup_printf ("%s%d\nSubkey-Type: ELG-E\nSubkey-Length: %d\nSubkey-Usage: encrypt\n%s", + start, (length < DSA_MAX) ? length : DSA_MAX, length, common); + else if (type == RSA_RSA) + parms = g_strdup_printf ("%s%d\nSubkey-Type: RSA\nSubkey-Length: %d\nSubkey-Usage: encrypt\n%s", + start, length, length, common); + else + parms = g_strdup_printf ("%s%d\n%s", start, length, common); + + gctx = seahorse_gpgme_keyring_new_context (&gerr); + + task = g_task_new (keyring, cancellable, callback, user_data); + gpgme_set_progress_cb (gctx, on_key_op_progress, task); + g_task_set_task_data (task, gctx, (GDestroyNotify) gpgme_release); + + seahorse_progress_prep_and_begin (cancellable, task, NULL); + gsource = seahorse_gpgme_gsource_new (gctx, cancellable); + g_source_set_callback (gsource, (GSourceFunc)on_key_op_generate_complete, + g_object_ref (task), g_object_unref); + + if (gerr == 0) + gerr = gpgme_op_genkey_start (gctx, parms, NULL, NULL); + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + g_source_attach (gsource, g_main_context_default ()); +} + +gboolean +seahorse_gpgme_key_op_generate_finish (SeahorseGpgmeKeyring *keyring, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (g_task_is_valid (result, keyring), FALSE); + + return g_task_propagate_boolean (G_TASK (result), error); +} + +/* helper function for deleting @skey */ +static gpgme_error_t +op_delete (SeahorseGpgmeKey *pkey, gboolean secret) +{ + SeahorseGpgmeKeyring *keyring; + gpgme_error_t gerr; + gpgme_key_t key; + gpgme_ctx_t ctx; + + keyring = SEAHORSE_GPGME_KEYRING (seahorse_object_get_place (SEAHORSE_OBJECT (pkey))); + g_return_val_if_fail (SEAHORSE_IS_GPGME_KEYRING (keyring), GPG_E (GPG_ERR_INV_KEYRING)); + + g_object_ref (pkey); + + seahorse_util_wait_until ((key = seahorse_gpgme_key_get_public (pkey)) != NULL); + + ctx = seahorse_gpgme_keyring_new_context (&gerr); + if (ctx == NULL) + return gerr; + + gerr = gpgme_op_delete (ctx, key, secret); + if (GPG_IS_OK (gerr)) + seahorse_gpgme_keyring_remove_key (keyring, SEAHORSE_GPGME_KEY (pkey)); + + gpgme_release (ctx); + g_object_unref (pkey); + return gerr; +} + +gpgme_error_t +seahorse_gpgme_key_op_delete (SeahorseGpgmeKey *pkey) +{ + return op_delete (pkey, FALSE); +} + + +gpgme_error_t +seahorse_gpgme_key_op_delete_pair (SeahorseGpgmeKey *pkey) +{ + return op_delete (pkey, TRUE); +} + +/* Main key edit setup, structure, and a good deal of method content borrowed from gpa */ + +/* Edit action function */ +typedef gpgme_error_t (*SeahorseEditAction) (guint state, + gpointer data, + gint fd); +/* Edit transit function */ +typedef guint (*SeahorseEditTransit) (guint current_state, + gpgme_status_code_t status, + const gchar *args, + gpointer data, + gpgme_error_t *err); + +/* Edit parameters */ +typedef struct +{ + guint state; + gpgme_error_t err; + SeahorseEditAction action; + SeahorseEditTransit transit; + gpointer data; + +} SeahorseEditParm; + +/* Creates new edit parameters with defaults */ +static SeahorseEditParm* +seahorse_edit_parm_new (guint state, SeahorseEditAction action, + SeahorseEditTransit transit, gpointer data) +{ + SeahorseEditParm *parms; + + parms = g_new0 (SeahorseEditParm, 1); + parms->state = state; + parms->err = GPG_OK; + parms->action = action; + parms->transit = transit; + parms->data = data; + + return parms; +} + +/* Edit callback for gpgme */ +static gpgme_error_t +seahorse_gpgme_key_op_edit (gpointer data, gpgme_status_code_t status, + const gchar *args, int fd) +{ + SeahorseEditParm *parms = (SeahorseEditParm*)data; + + /* Ignore these status lines, as they don't require any response */ + if (status == GPGME_STATUS_EOF || status == GPGME_STATUS_GOT_IT || + status == GPGME_STATUS_NEED_PASSPHRASE || status == GPGME_STATUS_GOOD_PASSPHRASE || + status == GPGME_STATUS_BAD_PASSPHRASE || status == GPGME_STATUS_USERID_HINT || + status == GPGME_STATUS_SIGEXPIRED || status == GPGME_STATUS_KEYEXPIRED || + status == GPGME_STATUS_PROGRESS || status == GPGME_STATUS_KEY_CREATED || + status == GPGME_STATUS_ALREADY_SIGNED || status == GPGME_STATUS_MISSING_PASSPHRASE || + status == GPGME_STATUS_KEY_CONSIDERED) + return parms->err; + + g_debug ("[edit key] state: %d / status: %d / args: %s", + parms->state, status, args); + + /* Choose the next state based on the current one and the input */ + parms->state = parms->transit (parms->state, status, args, parms->data, &parms->err); + + /* Choose the action based on the state */ + if (GPG_IS_OK (parms->err)) + parms->err = parms->action (parms->state, parms->data, fd); + + return parms->err; +} + +/* Common edit operation */ +static gpgme_error_t +edit_gpgme_key (gpgme_ctx_t ctx, + gpgme_key_t key, + SeahorseEditParm *parms) +{ + gboolean own_context = FALSE; + gpgme_data_t out; + gpgme_error_t gerr; + + g_assert (key); + g_assert (parms); + + gpgme_key_ref (key); + + if (ctx == NULL) { + ctx = seahorse_gpgme_keyring_new_context (&gerr); + if (ctx == NULL) + return gerr; + own_context = TRUE; + } + + out = seahorse_gpgme_data_new (); + + /* do edit callback, release data */ + gerr = gpgme_op_edit (ctx, key, seahorse_gpgme_key_op_edit, parms, out); + + if (gpgme_err_code (gerr) == GPG_ERR_BAD_PASSPHRASE) { + seahorse_util_show_error(NULL, _("Wrong password"), _("This was the third time you entered a wrong password. Please try again.")); + } + + seahorse_gpgme_data_release (out); + if (own_context) + gpgme_release (ctx); + gpgme_key_unref (key); + return gerr; +} + +static gpgme_error_t +edit_refresh_gpgme_key (gpgme_ctx_t ctx, gpgme_key_t key, SeahorseEditParm *parms) +{ + gpgme_error_t gerr; + + gerr = edit_gpgme_key (ctx, key, parms); + if (GPG_IS_OK (gerr)) + seahorse_gpgme_key_refresh_matching (key); + + return gerr; +} + +static gpgme_error_t +edit_key (SeahorseGpgmeKey *pkey, SeahorseEditParm *parms) +{ + SeahorseGpgmeKeyring *keyring; + gpgme_error_t gerr; + gpgme_key_t key; + gpgme_ctx_t ctx; + + keyring = SEAHORSE_GPGME_KEYRING (seahorse_object_get_place (SEAHORSE_OBJECT (pkey))); + g_return_val_if_fail (SEAHORSE_IS_GPGME_KEYRING (keyring), GPG_E (GPG_ERR_INV_KEYRING)); + + g_object_ref (pkey); + + seahorse_util_wait_until ((key = seahorse_gpgme_key_get_public (pkey)) != NULL); + + ctx = seahorse_gpgme_keyring_new_context (&gerr); + if (ctx != NULL) { + gerr = edit_refresh_gpgme_key (ctx, key, parms); + gpgme_release (ctx); + } + + g_object_unref (pkey); + return gerr; +} + +typedef struct +{ + guint index; + gchar *command; + gboolean expire; + SeahorseSignCheck check; +} SignParm; + +typedef enum +{ + SIGN_START, + SIGN_UID, + SIGN_COMMAND, + SIGN_EXPIRE, + SIGN_CONFIRM, + SIGN_CHECK, + SIGN_QUIT, + SIGN_ERROR +} SignState; + +/* action helper for signing a key */ +static gpgme_error_t +sign_action (guint state, gpointer data, int fd) +{ + SignParm *parm = (SignParm*)data; + + switch (state) { + /* select uid */ + case SIGN_UID: + PRINTF ((fd, "uid %d", parm->index)); + break; + case SIGN_COMMAND: + PRINT ((fd, parm->command)); + break; + /* if expires */ + case SIGN_EXPIRE: + PRINT ((fd, (parm->expire) ? YES : "N")); + break; + case SIGN_CONFIRM: + PRINT ((fd, YES)); + break; + case SIGN_CHECK: + PRINTF ((fd, "%d", parm->check)); + break; + case SIGN_QUIT: + PRINT ((fd, QUIT)); + break; + default: + return GPG_E (GPG_ERR_GENERAL); + } + + PRINT ((fd, "\n")); + return GPG_OK; +} + +/* transition helper for signing a key */ +static guint +sign_transit (guint current_state, gpgme_status_code_t status, + const gchar *args, gpointer data, gpgme_error_t *err) +{ + guint next_state; + + switch (current_state) { + /* start state, need to select uid */ + case SIGN_START: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = SIGN_UID; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (SIGN_ERROR); + } + break; + /* selected uid, go to command */ + case SIGN_UID: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = SIGN_COMMAND; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (SIGN_ERROR); + } + break; + case SIGN_COMMAND: + /* if doing all uids, confirm */ + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "keyedit.sign_all.okay")) + next_state = SIGN_CONFIRM; + else if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "sign_uid.okay")) + next_state = SIGN_CONFIRM; + /* need to do expires */ + else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "sign_uid.expire")) + next_state = SIGN_EXPIRE; + /* need to do check */ + else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "sign_uid.class")) + next_state = SIGN_CHECK; + /* if it's already signed then send back an error */ + else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) { + next_state = SIGN_ERROR; + *err = GPG_E (GPG_ERR_EALREADY); + /* All other stuff is unexpected */ + } else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (SIGN_ERROR); + } + break; + /* did expire, go to check */ + case SIGN_EXPIRE: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "sign_uid.class")) + next_state = SIGN_CHECK; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (SIGN_ERROR); + } + break; + case SIGN_CONFIRM: + /* need to do check */ + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "sign_uid.class")) + next_state = SIGN_CHECK; + else if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "sign_uid.okay")) + next_state = SIGN_CONFIRM; + /* need to do expire */ + else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "sign_uid.expire")) + next_state = SIGN_EXPIRE; + /* quit */ + else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = SIGN_QUIT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (SIGN_ERROR); + } + break; + /* did check, go to confirm */ + case SIGN_CHECK: + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "sign_uid.okay")) + next_state = SIGN_CONFIRM; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (SIGN_ERROR); + } + break; + /* quit, go to confirm to save */ + case SIGN_QUIT: + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE)) + next_state = SIGN_CONFIRM; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (SIGN_ERROR); + } + break; + /* error, go to quit */ + case SIGN_ERROR: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = SIGN_QUIT; + else + next_state = SIGN_ERROR; + break; + + default: + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (SIGN_ERROR); + break; + } + + return next_state; +} + +static gpgme_error_t +sign_process (gpgme_key_t signed_key, gpgme_key_t signing_key, guint sign_index, + SeahorseSignCheck check, SeahorseSignOptions options) +{ + SeahorseEditParm *parms; + SignParm sign_parm; + gpgme_ctx_t ctx; + gpgme_error_t gerr; + + ctx = seahorse_gpgme_keyring_new_context (&gerr); + if (ctx == NULL) + return gerr; + + gerr = gpgme_signers_add (ctx, signing_key); + if (!GPG_IS_OK (gerr)) + return gerr; + + sign_parm.index = sign_index; + sign_parm.expire = ((options & SIGN_EXPIRES) != 0); + sign_parm.check = check; + sign_parm.command = g_strdup_printf ("%s%ssign", + (options & SIGN_NO_REVOKE) ? "nr" : "", + (options & SIGN_LOCAL) ? "l" : ""); + + parms = seahorse_edit_parm_new (SIGN_START, sign_action, sign_transit, &sign_parm); + + gerr = edit_refresh_gpgme_key (ctx, signed_key, parms); + g_free (sign_parm.command); + g_free (parms); + + gpgme_release (ctx); + + return gerr; +} + +gpgme_error_t +seahorse_gpgme_key_op_sign_uid (SeahorseGpgmeUid *uid, SeahorseGpgmeKey *signer, + SeahorseSignCheck check, SeahorseSignOptions options) +{ + gpgme_key_t signing_key; + gpgme_key_t signed_key; + guint sign_index; + + seahorse_gpgme_key_get_private (signer); + + g_return_val_if_fail (SEAHORSE_GPGME_IS_UID (uid), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (signer), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + + signing_key = seahorse_gpgme_key_get_private (signer); + g_return_val_if_fail (signing_key, GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + + signed_key = seahorse_gpgme_uid_get_pubkey (uid); + g_return_val_if_fail (signing_key, GPG_E (GPG_ERR_INV_VALUE)); + + sign_index = seahorse_gpgme_uid_get_actual_index (uid); + + return sign_process (signed_key, signing_key, sign_index, check, options); +} + +gpgme_error_t +seahorse_gpgme_key_op_sign (SeahorseGpgmeKey *pkey, SeahorseGpgmeKey *signer, + SeahorseSignCheck check, SeahorseSignOptions options) +{ + gpgme_key_t signing_key; + gpgme_key_t signed_key; + + seahorse_gpgme_key_get_private (signer); + + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (signer), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + + signing_key = seahorse_gpgme_key_get_private (signer); + g_return_val_if_fail (signing_key, GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + + signed_key = seahorse_gpgme_key_get_public (pkey); + + return sign_process (signed_key, signing_key, 0, check, options); +} + +static gboolean +on_key_op_change_pass_complete (gpgme_error_t gerr, + gpointer user_data) +{ + GTask *task = G_TASK (user_data); + g_autoptr(GError) error = NULL; + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return FALSE; /* don't call again */ + } + + seahorse_progress_end (g_task_get_cancellable (task), task); + g_task_return_boolean (task, TRUE); + return FALSE; /* don't call again */ +} + +/** + * seahorse_gpgme_key_op_change_pass_async: + * @pkey: The key that you want to change the password of + * @cancellable: (nullable): A #GCancellable + * @callback: The callback that will be called when the operation finishes + * @user_data: (closure callback): User data passed on to @callback + * + * Changes the password of @pkey. The actual changing will be done by GPGME, so + * this function doesn't allow to specify the new password. + */ +void +seahorse_gpgme_key_op_change_pass_async (SeahorseGpgmeKey *pkey, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_autoptr(GTask) task = NULL; + gpgme_ctx_t gctx; + gpgme_error_t gerr; + g_autoptr(GError) error = NULL; + g_autoptr(GSource) gsource = NULL; + gpgme_key_t key; + + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (pkey)); + g_return_if_fail (seahorse_object_get_usage (SEAHORSE_OBJECT (pkey)) == SEAHORSE_USAGE_PRIVATE_KEY); + + gctx = seahorse_gpgme_keyring_new_context (&gerr); + + task = g_task_new (pkey, cancellable, callback, user_data); + gpgme_set_progress_cb (gctx, on_key_op_progress, task); + g_task_set_task_data (task, gctx, (GDestroyNotify) gpgme_release); + + seahorse_progress_prep_and_begin (cancellable, task, NULL); + gsource = seahorse_gpgme_gsource_new (gctx, cancellable); + g_source_set_callback (gsource, (GSourceFunc)on_key_op_change_pass_complete, + g_object_ref (task), g_object_unref); + + key = seahorse_gpgme_key_get_private (pkey); + if (gerr == 0) + gerr = gpgme_op_passwd_start (gctx, key, 0); + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + g_source_attach (gsource, g_main_context_default ()); +} + +gboolean +seahorse_gpgme_key_op_change_pass_finish (SeahorseGpgmeKey *pkey, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (g_task_is_valid (result, pkey), FALSE); + + return g_task_propagate_boolean (G_TASK (result), error); +} + +typedef enum +{ + TRUST_START, + TRUST_COMMAND, + TRUST_VALUE, + TRUST_CONFIRM, + TRUST_QUIT, + TRUST_ERROR +} TrustState; + +/* action helper for setting trust of a key */ +static gpgme_error_t +edit_trust_action (guint state, gpointer data, int fd) +{ + gint trust = GPOINTER_TO_INT (data); + + switch (state) { + /* enter command */ + case TRUST_COMMAND: + PRINT ((fd, "trust")); + break; + /* enter numeric trust value */ + case TRUST_VALUE: + PRINTF ((fd, "%d", trust)); + break; + /* confirm ultimate or if save */ + case TRUST_CONFIRM: + PRINT ((fd, YES)); + break; + /* quit */ + case TRUST_QUIT: + PRINT ((fd, QUIT)); + break; + default: + return GPG_E (GPG_ERR_GENERAL); + } + + PRINT ((fd, "\n")); + return GPG_OK; +} + +/* transition helper for setting trust of a key */ +static guint +edit_trust_transit (guint current_state, gpgme_status_code_t status, + const gchar *args, gpointer data, gpgme_error_t *err) +{ + guint next_state; + + switch (current_state) { + /* start state */ + case TRUST_START: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = TRUST_COMMAND; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (TRUST_ERROR); + } + break; + /* did command, next is value */ + case TRUST_COMMAND: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "edit_ownertrust.value")) + next_state = TRUST_VALUE; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (TRUST_ERROR); + } + break; + /* did value, go to quit or confirm ultimate */ + case TRUST_VALUE: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = TRUST_QUIT; + else if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "edit_ownertrust.set_ultimate.okay")) + next_state = TRUST_CONFIRM; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (TRUST_ERROR); + } + break; + /* did confirm ultimate, go to quit */ + case TRUST_CONFIRM: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = TRUST_QUIT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (TRUST_ERROR); + } + break; + /* did quit, go to confirm to finish op */ + case TRUST_QUIT: + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE)) + next_state = TRUST_CONFIRM; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (TRUST_ERROR); + } + break; + /* error, go to quit */ + case TRUST_ERROR: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = TRUST_QUIT; + else + next_state = TRUST_ERROR; + break; + default: + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (TRUST_ERROR); + break; + } + + return next_state; +} + +/** + * seahorse_gpgme_key_op_set_trust: + * @pkey: #SeahorseGpgmeKey whose trust will be changed + * @trust: New trust value that must be at least #SEAHORSE_VALIDITY_NEVER. + * If @pkey is a #SeahorseKeyPair, then @trust cannot be #SEAHORSE_VALIDITY_UNKNOWN. + * If @pkey is not a #SeahorseKeyPair, then @trust cannot be #SEAHORSE_VALIDITY_ULTIMATE. + * + * Tries to change the owner trust of @pkey to @trust. + * + * Returns: Error value + **/ +gpgme_error_t +seahorse_gpgme_key_op_set_trust (SeahorseGpgmeKey *pkey, SeahorseValidity trust) +{ + SeahorseEditParm *parms; + gint menu_choice; + + g_debug ("[GPGME_KEY_OP] set_trust: trust = %i", trust); + + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + g_return_val_if_fail (trust >= SEAHORSE_VALIDITY_NEVER, GPG_E (GPG_ERR_INV_VALUE)); + g_return_val_if_fail (seahorse_gpgme_key_get_trust (pkey) != trust, GPG_E (GPG_ERR_INV_VALUE)); + + if (seahorse_object_get_usage (SEAHORSE_OBJECT (pkey)) == SEAHORSE_USAGE_PRIVATE_KEY) + g_return_val_if_fail (trust != SEAHORSE_VALIDITY_UNKNOWN, GPG_E (GPG_ERR_INV_VALUE)); + else + g_return_val_if_fail (trust != SEAHORSE_VALIDITY_ULTIMATE, GPG_E (GPG_ERR_INV_VALUE)); + + switch (trust) { + case SEAHORSE_VALIDITY_NEVER: + menu_choice = GPG_NEVER; + break; + case SEAHORSE_VALIDITY_UNKNOWN: + menu_choice = GPG_UNKNOWN; + break; + case SEAHORSE_VALIDITY_MARGINAL: + menu_choice = GPG_MARGINAL; + break; + case SEAHORSE_VALIDITY_FULL: + menu_choice = GPG_FULL; + break; + case SEAHORSE_VALIDITY_ULTIMATE: + menu_choice = GPG_ULTIMATE; + break; + default: + menu_choice = 1; + } + + parms = seahorse_edit_parm_new (TRUST_START, edit_trust_action, + edit_trust_transit, GINT_TO_POINTER (menu_choice)); + + return edit_key (pkey, parms); +} + +typedef enum { + DISABLE_START, + DISABLE_COMMAND, + DISABLE_QUIT, + DISABLE_ERROR +} DisableState; + +/* action helper for disable/enable a key */ +static gpgme_error_t +edit_disable_action (guint state, gpointer data, int fd) +{ + const gchar *command = data; + + switch (state) { + case DISABLE_COMMAND: + PRINT ((fd, command)); + break; + case DISABLE_QUIT: + PRINT ((fd, QUIT)); + break; + default: + break; + } + + PRINT ((fd, "\n")); + return GPG_OK; +} + +/* transition helper for disable/enable a key */ +static guint +edit_disable_transit (guint current_state, gpgme_status_code_t status, + const gchar *args, gpointer data, gpgme_error_t *err) +{ + guint next_state; + + switch (current_state) { + /* start, do command */ + case DISABLE_START: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = DISABLE_COMMAND; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (DISABLE_ERROR); + } + break; + /* did command, quit */ + case DISABLE_COMMAND: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = DISABLE_QUIT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (DISABLE_ERROR); + } + /* error, quit */ + case DISABLE_ERROR: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = DISABLE_QUIT; + else + next_state = DISABLE_ERROR; + break; + default: + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (DISABLE_ERROR); + break; + } + + return next_state; +} + +/** + * seahorse_gpgme_key_op_set_disabled: + * @skey: #SeahorseKey to change + * @disabled: New disabled state + * + * Tries to change disabled state of @skey to @disabled. + * + * Returns: Error value + **/ +gpgme_error_t +seahorse_gpgme_key_op_set_disabled (SeahorseGpgmeKey *pkey, gboolean disabled) +{ + gchar *command; + SeahorseEditParm *parms; + + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + + /* Get command and op */ + if (disabled) + command = "disable"; + else + command = "enable"; + + parms = seahorse_edit_parm_new (DISABLE_START, edit_disable_action, edit_disable_transit, command); + + return edit_key (pkey, parms); +} + +typedef struct +{ + guint index; + time_t expires; +} ExpireParm; + +typedef enum +{ + EXPIRE_START, + EXPIRE_SELECT, + EXPIRE_COMMAND, + EXPIRE_DATE, + EXPIRE_QUIT, + EXPIRE_SAVE, + EXPIRE_ERROR +} ExpireState; + +/* action helper for changing expiration date of a key */ +static gpgme_error_t +edit_expire_action (guint state, gpointer data, int fd) +{ + ExpireParm *parm = (ExpireParm*)data; + + switch (state) { + /* selected key */ + case EXPIRE_SELECT: + PRINTF ((fd, "key %d", parm->index)); + break; + case EXPIRE_COMMAND: + PRINT ((fd, "expire")); + break; + /* set date */ + case EXPIRE_DATE: + PRINT ((fd, (parm->expires) ? + seahorse_util_get_date_string (parm->expires) : "0")); + break; + case EXPIRE_QUIT: + PRINT ((fd, QUIT)); + break; + case EXPIRE_SAVE: + PRINT ((fd, YES)); + break; + case EXPIRE_ERROR: + break; + default: + return GPG_E (GPG_ERR_GENERAL); + } + + PRINT ((fd, "\n")); + return GPG_OK; +} + +/* transition helper for changing expiration date of a key */ +static guint +edit_expire_transit (guint current_state, gpgme_status_code_t status, + const gchar *args, gpointer data, gpgme_error_t *err) +{ + guint next_state; + + switch (current_state) { + /* start state, selected key */ + case EXPIRE_START: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = EXPIRE_SELECT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (EXPIRE_ERROR); + } + break; + /* selected key, do command */ + case EXPIRE_SELECT: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = EXPIRE_COMMAND; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (EXPIRE_ERROR); + } + break; + /* did command, set expires */ + case EXPIRE_COMMAND: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "keygen.valid")) + next_state = EXPIRE_DATE; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (EXPIRE_ERROR); + } + break; + /* set expires, quit */ + case EXPIRE_DATE: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = EXPIRE_QUIT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (EXPIRE_ERROR); + } + break; + /* quit, save */ + case EXPIRE_QUIT: + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE)) + next_state = EXPIRE_SAVE; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (EXPIRE_ERROR); + } + break; + /* error, quit */ + case EXPIRE_ERROR: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = EXPIRE_QUIT; + else + next_state = EXPIRE_ERROR; + break; + default: + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (EXPIRE_ERROR); + break; + } + return next_state; +} + +gpgme_error_t +seahorse_gpgme_key_op_set_expires (SeahorseGpgmeSubkey *subkey, const time_t expires) +{ + ExpireParm exp_parm; + SeahorseEditParm *parms; + gpgme_key_t key; + + g_return_val_if_fail (SEAHORSE_GPGME_IS_SUBKEY (subkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + g_return_val_if_fail (expires != (time_t)seahorse_pgp_subkey_get_expires (SEAHORSE_PGP_SUBKEY (subkey)), GPG_E (GPG_ERR_INV_VALUE)); + + key = seahorse_gpgme_subkey_get_pubkey (subkey); + g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE)); + + exp_parm.index = seahorse_pgp_subkey_get_index (SEAHORSE_PGP_SUBKEY (subkey)); + exp_parm.expires = expires; + + parms = seahorse_edit_parm_new (EXPIRE_START, edit_expire_action, edit_expire_transit, &exp_parm); + + return edit_refresh_gpgme_key (NULL, key, parms); +} + +typedef enum { + ADD_REVOKER_START, + ADD_REVOKER_COMMAND, + ADD_REVOKER_SELECT, + ADD_REVOKER_CONFIRM, + ADD_REVOKER_QUIT, + ADD_REVOKER_ERROR +} AddRevokerState; + +/* action helper for adding a revoker */ +static gpgme_error_t +add_revoker_action (guint state, gpointer data, int fd) +{ + gchar *keyid = (gchar*)data; + + switch (state) { + case ADD_REVOKER_COMMAND: + PRINT ((fd, "addrevoker")); + break; + /* select revoker */ + case ADD_REVOKER_SELECT: + PRINT ((fd, keyid)); + break; + case ADD_REVOKER_CONFIRM: + PRINT ((fd, YES)); + break; + case ADD_REVOKER_QUIT: + PRINT ((fd, QUIT)); + break; + default: + return GPG_E (GPG_ERR_GENERAL); + } + + PRINT ((fd, "\n")); + return GPG_OK; +} + +/* transition helper for adding a revoker */ +static guint +add_revoker_transit (guint current_state, gpgme_status_code_t status, + const gchar *args, gpointer data, gpgme_error_t *err) +{ + guint next_state; + + switch (current_state) { + /* start, do command */ + case ADD_REVOKER_START: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = ADD_REVOKER_COMMAND; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (ADD_REVOKER_ERROR); + } + break; + /* did command, select revoker */ + case ADD_REVOKER_COMMAND: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "keyedit.add_revoker")) + next_state = ADD_REVOKER_SELECT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (ADD_REVOKER_ERROR); + } + break; + /* selected revoker, confirm */ + case ADD_REVOKER_SELECT: + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "keyedit.add_revoker.okay")) + next_state = ADD_REVOKER_CONFIRM; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (ADD_REVOKER_ERROR); + } + break; + /* confirmed, quit */ + case ADD_REVOKER_CONFIRM: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = ADD_REVOKER_QUIT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (ADD_REVOKER_ERROR); + } + break; + /* quit, confirm(=save) */ + case ADD_REVOKER_QUIT: + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE)) + next_state = ADD_REVOKER_CONFIRM; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (ADD_REVOKER_ERROR); + } + break; + /* error, quit */ + case ADD_REVOKER_ERROR: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = ADD_REVOKER_QUIT; + else + next_state = ADD_REVOKER_ERROR; + break; + default: + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (ADD_REVOKER_ERROR); + break; + } + + return next_state; +} + +gpgme_error_t +seahorse_gpgme_key_op_add_revoker (SeahorseGpgmeKey *pkey, SeahorseGpgmeKey *revoker) +{ + SeahorseEditParm *parms; + const gchar *keyid; + + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (revoker), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + g_return_val_if_fail (seahorse_object_get_usage (SEAHORSE_OBJECT (pkey)) == SEAHORSE_USAGE_PRIVATE_KEY, GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + g_return_val_if_fail (seahorse_object_get_usage (SEAHORSE_OBJECT (revoker)) == SEAHORSE_USAGE_PRIVATE_KEY, GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + + keyid = seahorse_pgp_key_get_keyid (SEAHORSE_PGP_KEY (pkey)); + g_return_val_if_fail (keyid, GPG_E (GPG_ERR_INV_VALUE)); + + parms = seahorse_edit_parm_new (ADD_REVOKER_START, add_revoker_action, + add_revoker_transit, (gpointer)keyid); + + return edit_key (pkey, parms); +} + +static gboolean +on_key_op_add_uid_complete (gpgme_error_t gerr, + gpointer user_data) +{ + GTask *task = G_TASK (user_data); + g_autoptr(GError) error = NULL; + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return FALSE; /* don't call again */ + } + + seahorse_progress_end (g_task_get_cancellable (task), task); + g_task_return_boolean (task, TRUE); + return FALSE; /* don't call again */ +} + +void +seahorse_gpgme_key_op_add_uid_async (SeahorseGpgmeKey *pkey, + const gchar *name, + const gchar *email, + const gchar *comment, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_autoptr(GTask) task = NULL; + gpgme_ctx_t gctx; + gpgme_error_t gerr; + g_autoptr(GError) error = NULL; + g_autoptr(GSource) gsource = NULL; + gpgme_key_t key; + g_autofree gchar* uid = NULL; + + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (pkey)); + g_return_if_fail (seahorse_object_get_usage (SEAHORSE_OBJECT (pkey)) == SEAHORSE_USAGE_PRIVATE_KEY); + + gctx = seahorse_gpgme_keyring_new_context (&gerr); + + task = g_task_new (pkey, cancellable, callback, user_data); + gpgme_set_progress_cb (gctx, on_key_op_progress, task); + g_task_set_task_data (task, gctx, (GDestroyNotify) gpgme_release); + + seahorse_progress_prep_and_begin (cancellable, task, NULL); + gsource = seahorse_gpgme_gsource_new (gctx, cancellable); + g_source_set_callback (gsource, (GSourceFunc)on_key_op_add_uid_complete, + g_object_ref (task), g_object_unref); + + key = seahorse_gpgme_key_get_private (pkey); + uid = seahorse_pgp_uid_calc_label (name, email, comment); + if (gerr == 0) + gerr = gpgme_op_adduid_start (gctx, key, uid, 0); + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + g_source_attach (gsource, g_main_context_default ()); +} + +gboolean +seahorse_gpgme_key_op_add_uid_finish (SeahorseGpgmeKey *pkey, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (g_task_is_valid (result, pkey), FALSE); + + return g_task_propagate_boolean (G_TASK (result), error); +} + +void +seahorse_gpgme_key_op_add_subkey_async (SeahorseGpgmeKey *pkey, + SeahorseKeyEncType type, + guint length, + gulong expires, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_autoptr(GTask) task = NULL; + gpgme_ctx_t gctx; + gpgme_error_t gerr; + g_autoptr(GError) error = NULL; + gpgme_key_t key; + const char *algo; + g_autofree char *algo_full = NULL; + g_autoptr(GSource) gsource = NULL; + guint flags = 0; + + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (pkey)); + g_return_if_fail (seahorse_object_get_usage (SEAHORSE_OBJECT (pkey)) == + SEAHORSE_USAGE_PRIVATE_KEY); + + gctx = seahorse_gpgme_keyring_new_context (&gerr); + + task = g_task_new (pkey, cancellable, callback, user_data); + gpgme_set_progress_cb (gctx, on_key_op_progress, task); + g_task_set_task_data (task, gctx, (GDestroyNotify) gpgme_release); + + seahorse_progress_prep_and_begin (cancellable, task, NULL); + gsource = seahorse_gpgme_gsource_new (gctx, cancellable); + g_source_set_callback (gsource, (GSourceFunc)on_key_op_add_uid_complete, + g_object_ref (task), g_object_unref); + + /* Get the actual secret key */ + key = seahorse_gpgme_key_get_private (pkey); + + /* Get the algo string as GPG(ME) expects it */ + algo = seahorse_gpgme_get_algo_string (type); + g_return_if_fail (algo); + algo_full = g_strdup_printf ("%s%u", algo, length); + + /* 0 means "no expire" for us (GPGME picks a default otherwise) */ + if (expires == 0) + flags |= GPGME_CREATE_NOEXPIRE; + + /* Add usage flags */ + switch (type) { + case RSA_SIGN: + flags |= GPGME_CREATE_SIGN; + break; + case RSA_ENCRYPT: + flags |= GPGME_CREATE_ENCR; + break; + default: + break; + } + + if (gerr == 0) + gerr = gpgme_op_createsubkey_start (gctx, key, algo_full, 0, expires, flags); + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + g_source_attach (gsource, g_main_context_default ()); +} + +gboolean +seahorse_gpgme_key_op_add_subkey_finish (SeahorseGpgmeKey *pkey, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (g_task_is_valid (result, pkey), FALSE); + + seahorse_gpgme_key_refresh (pkey); + return g_task_propagate_boolean (G_TASK (result), error); +} + +typedef enum { + DEL_KEY_START, + DEL_KEY_SELECT, + DEL_KEY_COMMAND, + DEL_KEY_CONFIRM, + DEL_KEY_QUIT, + DEL_KEY_ERROR +} DelKeyState; + +/* action helper for deleting a subkey */ +static gpgme_error_t +del_key_action (guint state, gpointer data, int fd) +{ + switch (state) { + /* select key */ + case DEL_KEY_SELECT: + PRINTF ((fd, "key %d", GPOINTER_TO_UINT (data))); + break; + case DEL_KEY_COMMAND: + PRINT ((fd, "delkey")); + break; + case DEL_KEY_CONFIRM: + PRINT ((fd, YES)); + break; + case DEL_KEY_QUIT: + PRINT ((fd, QUIT)); + break; + default: + return GPG_E (GPG_ERR_GENERAL); + } + + PRINT ((fd, "\n")); + return GPG_OK; +} + +/* transition helper for deleting a subkey */ +static guint +del_key_transit (guint current_state, gpgme_status_code_t status, + const gchar *args, gpointer data, gpgme_error_t *err) +{ + guint next_state; + + switch (current_state) { + /* start, select key */ + case DEL_KEY_START: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = DEL_KEY_SELECT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (DEL_KEY_ERROR); + } + break; + /* selected key, do command */ + case DEL_KEY_SELECT: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = DEL_KEY_COMMAND; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (DEL_KEY_ERROR); + } + break; + case DEL_KEY_COMMAND: + /* did command, confirm */ + if (status == GPGME_STATUS_GET_BOOL && g_str_equal + (args, "keyedit.remove.subkey.okay")) + next_state = DEL_KEY_CONFIRM; + /* did command, quit */ + else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = DEL_KEY_QUIT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (DEL_KEY_ERROR); + } + break; + /* confirmed, quit */ + case DEL_KEY_CONFIRM: + next_state = DEL_KEY_QUIT; + break; + /* quit, confirm(=save) */ + case DEL_KEY_QUIT: + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE)) + next_state = DEL_KEY_CONFIRM; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (DEL_KEY_ERROR); + } + break; + /* error, quit */ + case DEL_KEY_ERROR: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = DEL_KEY_QUIT; + else + next_state = DEL_KEY_ERROR; + break; + default: + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (DEL_KEY_ERROR); + break; + } + + return next_state; +} + +gpgme_error_t +seahorse_gpgme_key_op_del_subkey (SeahorseGpgmeSubkey *subkey) +{ + SeahorseEditParm *parms; + gpgme_key_t key; + int index; + + g_return_val_if_fail (SEAHORSE_GPGME_IS_SUBKEY (subkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + + key = seahorse_gpgme_subkey_get_pubkey (subkey); + g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE)); + + index = seahorse_pgp_subkey_get_index (SEAHORSE_PGP_SUBKEY (subkey)); + parms = seahorse_edit_parm_new (DEL_KEY_START, del_key_action, + del_key_transit, GUINT_TO_POINTER (index)); + + return edit_refresh_gpgme_key (NULL, key, parms); +} + +typedef struct +{ + guint index; + SeahorseRevokeReason reason; + const gchar *description; +} RevSubkeyParm; + +typedef enum { + REV_SUBKEY_START, + REV_SUBKEY_SELECT, + REV_SUBKEY_COMMAND, + REV_SUBKEY_CONFIRM, + REV_SUBKEY_REASON, + REV_SUBKEY_DESCRIPTION, + REV_SUBKEY_ENDDESC, + REV_SUBKEY_QUIT, + REV_SUBKEY_ERROR +} RevSubkeyState; + +/* action helper for revoking a subkey */ +static gpgme_error_t +rev_subkey_action (guint state, gpointer data, int fd) +{ + RevSubkeyParm *parm = (RevSubkeyParm*)data; + + switch (state) { + case REV_SUBKEY_SELECT: + PRINTF ((fd, "key %d", parm->index)); + break; + case REV_SUBKEY_COMMAND: + PRINT ((fd, "revkey")); + break; + case REV_SUBKEY_CONFIRM: + PRINT ((fd, YES)); + break; + case REV_SUBKEY_REASON: + PRINTF ((fd, "%d", parm->reason)); + break; + case REV_SUBKEY_DESCRIPTION: + PRINTF ((fd, "%s", parm->description)); + break; + case REV_SUBKEY_ENDDESC: + /* Need empty line, which is written at the end */ + break; + case REV_SUBKEY_QUIT: + PRINT ((fd, QUIT)); + break; + default: + g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL)); + } + + PRINT ((fd, "\n")); + return GPG_OK; +} + +/* transition helper for revoking a subkey */ +static guint +rev_subkey_transit (guint current_state, gpgme_status_code_t status, + const gchar *args, gpointer data, gpgme_error_t *err) +{ + guint next_state; + + switch (current_state) { + /* start, select key */ + case REV_SUBKEY_START: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = REV_SUBKEY_SELECT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (REV_SUBKEY_ERROR); + } + break; + /* selected key, do command */ + case REV_SUBKEY_SELECT: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = REV_SUBKEY_COMMAND; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (REV_SUBKEY_ERROR); + } + break; + /* did command, confirm */ + case REV_SUBKEY_COMMAND: + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "keyedit.revoke.subkey.okay")) + next_state = REV_SUBKEY_CONFIRM; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (REV_SUBKEY_ERROR); + } + break; + case REV_SUBKEY_CONFIRM: + /* did confirm, do reason */ + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "ask_revocation_reason.code")) + next_state = REV_SUBKEY_REASON; + /* did confirm, quit */ + else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = REV_SUBKEY_QUIT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (REV_SUBKEY_ERROR); + } + break; + /* did reason, do description */ + case REV_SUBKEY_REASON: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "ask_revocation_reason.text")) + next_state = REV_SUBKEY_DESCRIPTION; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (REV_SUBKEY_ERROR); + } + break; + case REV_SUBKEY_DESCRIPTION: + /* did description, end it */ + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "ask_revocation_reason.text")) + next_state = REV_SUBKEY_ENDDESC; + /* did description, confirm */ + else if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "ask_revocation_reason.okay")) + next_state = REV_SUBKEY_CONFIRM; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (REV_SUBKEY_ERROR); + } + break; + /* ended description, confirm */ + case REV_SUBKEY_ENDDESC: + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "ask_revocation_reason.okay")) + next_state = REV_SUBKEY_CONFIRM; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (REV_SUBKEY_ERROR); + } + break; + /* quit, confirm(=save) */ + case REV_SUBKEY_QUIT: + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE)) + next_state = REV_SUBKEY_CONFIRM; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (REV_SUBKEY_ERROR); + } + break; + /* error, quit */ + case REV_SUBKEY_ERROR: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = REV_SUBKEY_QUIT; + else + next_state = REV_SUBKEY_ERROR; + break; + default: + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (REV_SUBKEY_ERROR); + break; + } + + return next_state; +} + +gpgme_error_t +seahorse_gpgme_key_op_revoke_subkey (SeahorseGpgmeSubkey *subkey, SeahorseRevokeReason reason, + const gchar *description) +{ + RevSubkeyParm rev_parm; + SeahorseEditParm *parms; + gpgme_subkey_t gsubkey; + gpgme_key_t key; + + g_return_val_if_fail (SEAHORSE_GPGME_IS_SUBKEY (subkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + + gsubkey = seahorse_gpgme_subkey_get_subkey (subkey); + g_return_val_if_fail (!gsubkey->revoked, GPG_E (GPG_ERR_INV_VALUE)); + + key = seahorse_gpgme_subkey_get_pubkey (subkey); + g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE)); + + rev_parm.index = seahorse_pgp_subkey_get_index (SEAHORSE_PGP_SUBKEY (subkey)); + rev_parm.reason = reason; + rev_parm.description = description; + + parms = seahorse_edit_parm_new (REV_SUBKEY_START, rev_subkey_action, + rev_subkey_transit, &rev_parm); + + return edit_refresh_gpgme_key (NULL, key, parms); +} + +typedef struct { + guint index; +} PrimaryParm; + +typedef enum { + PRIMARY_START, + PRIMARY_SELECT, + PRIMARY_COMMAND, + PRIMARY_QUIT, + PRIMARY_SAVE, + PRIMARY_ERROR +} PrimaryState; + +/* action helper for setting primary uid */ +static gpgme_error_t +primary_action (guint state, gpointer data, int fd) +{ + PrimaryParm *parm = (PrimaryParm*)data; + + switch (state) { + case PRIMARY_SELECT: + /* Note that the GPG id is not 0 based */ + PRINTF ((fd, "uid %d", parm->index)); + break; + case PRIMARY_COMMAND: + PRINT ((fd, "primary")); + break; + case PRIMARY_QUIT: + PRINT ((fd, QUIT)); + break; + case PRIMARY_SAVE: + PRINT ((fd, YES)); + break; + default: + g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL)); + break; + } + + PRINT ((fd, "\n")); + return GPG_OK; +} + +/* transition helper for setting primary key */ +static guint +primary_transit (guint current_state, gpgme_status_code_t status, + const gchar *args, gpointer data, gpgme_error_t *err) +{ + guint next_state; + + switch (current_state) { + + /* start, select key */ + case PRIMARY_START: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = PRIMARY_SELECT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PRIMARY_ERROR); + } + break; + + /* selected key, do command */ + case PRIMARY_SELECT: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = PRIMARY_COMMAND; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PRIMARY_ERROR); + } + break; + + /* did command, quit */ + case PRIMARY_COMMAND: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = PRIMARY_QUIT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PRIMARY_ERROR); + } + break; + + /* quitting so save */ + case PRIMARY_QUIT: + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE)) + next_state = PRIMARY_SAVE; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PRIMARY_ERROR); + } + break; + + /* error, quit */ + case PRIMARY_ERROR: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = PRIMARY_QUIT; + else + next_state = PRIMARY_ERROR; + break; + + default: + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PRIMARY_ERROR); + break; + } + + return next_state; +} + +static gboolean +on_key_op_make_primary_complete (gpgme_error_t gerr, + gpointer user_data) +{ + GTask *task = G_TASK (user_data); + SeahorseGpgmeUid *uid = SEAHORSE_GPGME_UID (g_task_get_source_object (task)); + SeahorsePgpKey *parent_key = NULL; + g_autoptr(GError) error = NULL; + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return FALSE; /* don't call again */ + } + + parent_key = seahorse_pgp_uid_get_parent (SEAHORSE_PGP_UID (uid)); + seahorse_gpgme_key_refresh (SEAHORSE_GPGME_KEY (parent_key)); + + g_task_return_boolean (task, TRUE); + return FALSE; /* don't call again */ +} + +void +seahorse_gpgme_key_op_make_primary_async (SeahorseGpgmeUid *uid, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_autoptr(GTask) task = NULL; + gpgme_ctx_t gctx; + gpgme_error_t gerr; + g_autoptr(GError) error = NULL; + g_autoptr(GSource) gsource = NULL; + gpgme_key_t key = NULL; + gpgme_user_id_t gpg_uid = NULL; + + g_return_if_fail (SEAHORSE_GPGME_IS_UID (uid)); + + gpg_uid = seahorse_gpgme_uid_get_userid (uid); + g_return_if_fail (!gpg_uid->revoked && !gpg_uid->invalid); + + key = seahorse_gpgme_uid_get_pubkey (uid); + g_return_if_fail (key); + + gctx = seahorse_gpgme_keyring_new_context (&gerr); + + task = g_task_new (uid, cancellable, callback, user_data); + gpgme_set_progress_cb (gctx, on_key_op_progress, task); + g_task_set_task_data (task, gctx, (GDestroyNotify) gpgme_release); + + seahorse_progress_prep_and_begin (cancellable, task, NULL); + gsource = seahorse_gpgme_gsource_new (gctx, cancellable); + g_source_set_callback (gsource, G_SOURCE_FUNC (on_key_op_make_primary_complete), + g_object_ref (task), g_object_unref); + + if (gerr == 0) + gerr = gpgme_op_set_uid_flag_start (gctx, key, gpg_uid->uid, "primary", NULL); + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + g_source_attach (gsource, g_main_context_default ()); +} + +gboolean +seahorse_gpgme_key_op_make_primary_finish (SeahorseGpgmeUid *uid, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (SEAHORSE_GPGME_IS_UID (uid), FALSE); + g_return_val_if_fail (g_task_is_valid (result, uid), FALSE); + + return g_task_propagate_boolean (G_TASK (result), error); +} + + +typedef struct { + guint index; +} DelUidParm; + +typedef enum { + DEL_UID_START, + DEL_UID_SELECT, + DEL_UID_COMMAND, + DEL_UID_CONFIRM, + DEL_UID_QUIT, + DEL_UID_SAVE, + DEL_UID_ERROR +} DelUidState; + +/* action helper for removing a uid */ +static gpgme_error_t +del_uid_action (guint state, gpointer data, int fd) +{ + DelUidParm *parm = (DelUidParm*)data; + + switch (state) { + case DEL_UID_SELECT: + PRINTF ((fd, "uid %d", parm->index)); + break; + case DEL_UID_COMMAND: + PRINT ((fd, "deluid")); + break; + case DEL_UID_CONFIRM: + PRINT ((fd, YES)); + break; + case DEL_UID_QUIT: + PRINT ((fd, QUIT)); + break; + case DEL_UID_SAVE: + PRINT ((fd, YES)); + break; + default: + g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL)); + break; + } + + PRINT ((fd, "\n")); + return GPG_OK; +} + +/* transition helper for setting deleting a uid */ +static guint +del_uid_transit (guint current_state, gpgme_status_code_t status, + const gchar *args, gpointer data, gpgme_error_t *err) +{ + guint next_state; + + switch (current_state) { + + /* start, select key */ + case DEL_UID_START: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = DEL_UID_SELECT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (DEL_UID_ERROR); + } + break; + + /* selected key, do command */ + case DEL_UID_SELECT: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = DEL_UID_COMMAND; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (DEL_UID_ERROR); + } + break; + + /* did command, confirm */ + case DEL_UID_COMMAND: + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "keyedit.remove.uid.okay")) + next_state = DEL_UID_CONFIRM; + else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = DEL_UID_QUIT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (REV_SUBKEY_ERROR); + } + break; + + /* confirmed, quit */ + case DEL_UID_CONFIRM: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = DEL_UID_QUIT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (DEL_UID_ERROR); + } + break; + + /* quitted so save */ + case DEL_UID_QUIT: + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE)) + next_state = DEL_UID_SAVE; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (REV_SUBKEY_ERROR); + } + break; + + /* error, quit */ + case DEL_UID_ERROR: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = DEL_UID_QUIT; + else + next_state = DEL_UID_ERROR; + break; + + default: + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (DEL_UID_ERROR); + break; + } + + return next_state; +} + +gpgme_error_t +seahorse_gpgme_key_op_del_uid (SeahorseGpgmeUid *uid) +{ + DelUidParm del_uid_parm; + SeahorseEditParm *parms; + gpgme_key_t key; + + g_return_val_if_fail (SEAHORSE_GPGME_IS_UID (uid), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + + key = seahorse_gpgme_uid_get_pubkey (uid); + g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE)); + + del_uid_parm.index = seahorse_gpgme_uid_get_actual_index (uid); + + parms = seahorse_edit_parm_new (DEL_UID_START, del_uid_action, + del_uid_transit, &del_uid_parm); + + return edit_refresh_gpgme_key (NULL, key, parms); +} + +typedef struct { + const gchar *filename; +} PhotoIdAddParm; + +typedef enum { + PHOTO_ID_ADD_START, + PHOTO_ID_ADD_COMMAND, + PHOTO_ID_ADD_URI, + PHOTO_ID_ADD_BIG, + PHOTO_ID_ADD_QUIT, + PHOTO_ID_ADD_SAVE, + PHOTO_ID_ADD_ERROR +} PhotoIdAddState; + +/* action helper for adding a photoid to a #SeahorseKey */ +static gpgme_error_t +photoid_add_action (guint state, gpointer data, int fd) +{ + PhotoIdAddParm *parm = (PhotoIdAddParm*)data; + + switch (state) { + case PHOTO_ID_ADD_COMMAND: + PRINT ((fd, "addphoto")); + break; + case PHOTO_ID_ADD_URI: + PRINT ((fd, parm->filename)); + break; + case PHOTO_ID_ADD_BIG: + PRINT ((fd, YES)); + break; + case PHOTO_ID_ADD_QUIT: + PRINT ((fd, QUIT)); + break; + case PHOTO_ID_ADD_SAVE: + PRINT ((fd, YES)); + break; + default: + g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL)); + break; + } + + seahorse_util_print_fd (fd, "\n"); + return GPG_OK; +} + +static guint +photoid_add_transit (guint current_state, gpgme_status_code_t status, + const gchar *args, gpointer data, gpgme_error_t *err) +{ + guint next_state; + + switch (current_state) { + + case PHOTO_ID_ADD_START: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = PHOTO_ID_ADD_COMMAND; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PHOTO_ID_ADD_ERROR); + } + break; + case PHOTO_ID_ADD_COMMAND: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "photoid.jpeg.add")) { + next_state = PHOTO_ID_ADD_URI; + } else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PHOTO_ID_ADD_ERROR); + } + break; + case PHOTO_ID_ADD_URI: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) { + next_state = PHOTO_ID_ADD_QUIT; + } else if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, "photoid.jpeg.size")) { + next_state = PHOTO_ID_ADD_BIG; + } else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PHOTO_ID_ADD_ERROR); + } + break; + case PHOTO_ID_ADD_BIG: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) { + next_state = PHOTO_ID_ADD_QUIT; + /* This happens when the file is invalid or can't be accessed */ + } else if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, "photoid.jpeg.add")) { + *err = GPG_E (GPG_ERR_USER_1); + return PHOTO_ID_ADD_ERROR; + } else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PHOTO_ID_ADD_ERROR); + } + break; + case PHOTO_ID_ADD_QUIT: + if (status == GPGME_STATUS_GET_BOOL && g_str_equal (args, SAVE)) { + next_state = PHOTO_ID_ADD_SAVE; + } else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PHOTO_ID_ADD_ERROR); + } + break; + default: + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PHOTO_ID_ADD_ERROR); + break; + } + + return next_state; +} + +gpgme_error_t +seahorse_gpgme_key_op_photo_add (SeahorseGpgmeKey *pkey, const gchar *filename) +{ + SeahorseEditParm *parms; + PhotoIdAddParm photoid_add_parm; + gpgme_key_t key; + + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + g_return_val_if_fail (filename, GPG_E (GPG_ERR_INV_VALUE)); + + key = seahorse_gpgme_key_get_public (pkey); + g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE)); + + photoid_add_parm.filename = filename; + + parms = seahorse_edit_parm_new (PHOTO_ID_ADD_START, photoid_add_action, + photoid_add_transit, &photoid_add_parm); + + return edit_refresh_gpgme_key (NULL, key, parms); +} + +gpgme_error_t +seahorse_gpgme_key_op_photo_delete (SeahorseGpgmePhoto *photo) +{ + DelUidParm del_uid_parm; + SeahorseEditParm *parms; + gpgme_key_t key; + + g_return_val_if_fail (SEAHORSE_IS_GPGME_PHOTO (photo), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + + key = seahorse_gpgme_photo_get_pubkey (photo); + g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE)); + + del_uid_parm.index = seahorse_gpgme_photo_get_index (photo); + + parms = seahorse_edit_parm_new (DEL_UID_START, del_uid_action, + del_uid_transit, &del_uid_parm); + + return edit_refresh_gpgme_key (NULL, key, parms); +} + +typedef struct { + GList *photos; + guint uid; + guint num_uids; + char *output_file; + gpgme_key_t key; +} PhotoIdLoadParm; + +typedef enum { + PHOTO_ID_LOAD_START, + PHOTO_ID_LOAD_SELECT, + PHOTO_ID_LOAD_OUTPUT_IMAGE, + PHOTO_ID_LOAD_DESELECT, + PHOTO_ID_LOAD_QUIT, + PHOTO_ID_LOAD_ERROR +} PhotoIdLoadState; + +/* action helper for getting a list of photoids attached to a #SeahorseKey */ +static gpgme_error_t +photoid_load_action (guint state, gpointer data, int fd) +{ + PhotoIdLoadParm *parm = (PhotoIdLoadParm*)data; + + switch (state) { + case PHOTO_ID_LOAD_SELECT: + PRINTF ((fd, "uid %d", parm->uid)); + break; + case PHOTO_ID_LOAD_OUTPUT_IMAGE: + PRINT ((fd, "showphoto")); + break; + case PHOTO_ID_LOAD_DESELECT: + PRINTF ((fd, "uid %d", parm->uid)); + break; + case PHOTO_ID_LOAD_QUIT: + PRINT ((fd, QUIT)); + break; + default: + g_return_val_if_reached (GPG_E (GPG_ERR_GENERAL)); + break; + } + + seahorse_util_print_fd (fd, "\n"); + return GPG_OK; +} + +static guint +photoid_load_transit (guint current_state, gpgme_status_code_t status, + const gchar *args, gpointer data, gpgme_error_t *err) +{ + PhotoIdLoadParm *parm = (PhotoIdLoadParm*)data; + SeahorseGpgmePhoto *photo; + GdkPixbuf *pixbuf = NULL; + guint next_state = 0; + struct stat st; + GError *error = NULL; + + switch (current_state) { + + /* start, get photoid list */ + case PHOTO_ID_LOAD_START: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) + next_state = PHOTO_ID_LOAD_SELECT; + else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PHOTO_ID_LOAD_ERROR); + } + break; + + case PHOTO_ID_LOAD_SELECT: + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) { + next_state = PHOTO_ID_LOAD_OUTPUT_IMAGE; + } else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PHOTO_ID_LOAD_ERROR); + } + break; + + case PHOTO_ID_LOAD_OUTPUT_IMAGE: + + if (g_file_test (parm->output_file, G_FILE_TEST_EXISTS)) { + + photo = seahorse_gpgme_photo_new (parm->key, NULL, parm->uid); + parm->photos = g_list_append (parm->photos, photo); + + if (g_stat (parm->output_file, &st) == -1) { + g_warning ("couldn't stat output image file '%s': %s", parm->output_file, + g_strerror (errno)); + + } else if (st.st_size > 0) { + pixbuf = gdk_pixbuf_new_from_file (parm->output_file, &error); + if (pixbuf == NULL) { + g_warning ("Loading image %s failed: %s", parm->output_file, + error && error->message ? error->message : "unknown"); + g_error_free (error); + } + } + + g_unlink (parm->output_file); + + /* Load a 'missing' icon */ + if (!pixbuf) { + pixbuf = gtk_icon_theme_load_icon (gtk_icon_theme_get_default (), + "gnome-unknown", 48, 0, NULL); + } + + seahorse_pgp_photo_set_pixbuf (SEAHORSE_PGP_PHOTO (photo), pixbuf); + g_object_unref (pixbuf); + } + + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) { + next_state = PHOTO_ID_LOAD_DESELECT; + } else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PHOTO_ID_LOAD_ERROR); + } + break; + + case PHOTO_ID_LOAD_DESELECT: + if (parm->uid < parm->num_uids) { + parm->uid = parm->uid + 1; + g_debug ("PhotoIDLoad Next UID %i", parm->uid); + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) { + next_state = PHOTO_ID_LOAD_SELECT; + } else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PHOTO_ID_LOAD_ERROR); + } + } else { + if (status == GPGME_STATUS_GET_LINE && g_str_equal (args, PROMPT)) { + next_state = PHOTO_ID_LOAD_QUIT; + g_debug ("PhotoIDLoad Quiting Load"); + } else { + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PHOTO_ID_LOAD_ERROR); + } + } + break; + + case PHOTO_ID_LOAD_QUIT: + /* Shouldn't be reached */ + *err = GPG_E (GPG_ERR_GENERAL); + g_debug ("PhotoIDLoad Reached Quit"); + g_return_val_if_reached (PHOTO_ID_LOAD_ERROR); + break; + + default: + *err = GPG_E (GPG_ERR_GENERAL); + g_return_val_if_reached (PHOTO_ID_LOAD_ERROR); + break; + } + + return next_state; +} + +gpgme_error_t +seahorse_gpgme_key_op_photos_load (SeahorseGpgmeKey *pkey) +{ + /* Make sure there's enough room for the .jpg extension */ + gchar image_path[] = "/tmp/seahorse-photoid-XXXXXX\0\0\0\0"; + + SeahorseEditParm *parms; + PhotoIdLoadParm photoid_load_parm; + gpgme_error_t gerr; + gpgme_key_t key; + const gchar *oldpath; + const gchar *keyid; + gchar *path; + gint fd; + + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + + key = seahorse_gpgme_key_get_public (pkey); + g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE)); + g_return_val_if_fail (key->subkeys && key->subkeys->keyid, GPG_E (GPG_ERR_INV_VALUE)); + keyid = key->subkeys->keyid; + + g_debug ("PhotoIDLoad Start"); + + fd = g_mkstemp (image_path); + if(fd == -1) { + gerr = GPG_E(GPG_ERR_GENERAL); + + } else { + + g_unlink(image_path); + close(fd); + strcat (image_path, ".jpg"); + + photoid_load_parm.uid = 1; + photoid_load_parm.num_uids = 0; + photoid_load_parm.photos = NULL; + photoid_load_parm.output_file = image_path; + photoid_load_parm.key = key; + + g_debug ("PhotoIdLoad KeyID %s", keyid); + gerr = seahorse_gpg_op_num_uids (NULL, keyid, &(photoid_load_parm.num_uids)); + g_debug ("PhotoIDLoad Number of UIDs %i", photoid_load_parm.num_uids); + + if (GPG_IS_OK (gerr)) { + + setenv ("SEAHORSE_IMAGE_FILE", image_path, 1); + oldpath = getenv("PATH"); + + path = g_strdup_printf ("%s:%s", EXECDIR, getenv ("PATH")); + setenv ("PATH", path, 1); + g_free (path); + + parms = seahorse_edit_parm_new (PHOTO_ID_LOAD_START, photoid_load_action, + photoid_load_transit, &photoid_load_parm); + + /* generate list */ + gerr = edit_gpgme_key (NULL, key, parms); + setenv ("PATH", oldpath, 1); + + if (GPG_IS_OK (gerr)) + seahorse_pgp_key_set_photos (SEAHORSE_PGP_KEY (pkey), photoid_load_parm.photos); + } + + seahorse_object_list_free (photoid_load_parm.photos); + } + + g_debug ("PhotoIDLoad Done"); + + return gerr; +} + +gpgme_error_t +seahorse_gpgme_key_op_photo_primary (SeahorseGpgmePhoto *photo) +{ + PrimaryParm pri_parm; + SeahorseEditParm *parms; + gpgme_key_t key; + + g_return_val_if_fail (SEAHORSE_IS_GPGME_PHOTO (photo), GPG_E (GPG_ERR_WRONG_KEY_USAGE)); + + key = seahorse_gpgme_photo_get_pubkey (photo); + g_return_val_if_fail (key, GPG_E (GPG_ERR_INV_VALUE)); + + pri_parm.index = seahorse_gpgme_photo_get_index (photo); + + parms = seahorse_edit_parm_new (PRIMARY_START, primary_action, + primary_transit, &pri_parm); + + return edit_refresh_gpgme_key (NULL, key, parms); +} diff --git a/pgp/seahorse-gpgme-key-op.h b/pgp/seahorse-gpgme-key-op.h new file mode 100644 index 00000000..3cecd996 --- /dev/null +++ b/pgp/seahorse-gpgme-key-op.h @@ -0,0 +1,162 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include +#include +#include + +#include "pgp/seahorse-gpgme-key.h" +#include "pgp/seahorse-gpgme-keyring.h" +#include "pgp/seahorse-gpgme-subkey.h" +#include "pgp/seahorse-gpgme-uid.h" +#include "pgp/seahorse-gpgme-photo.h" + +typedef enum { + /* Unknown key check */ + SIGN_CHECK_NO_ANSWER, + /* Key not checked */ + SIGN_CHECK_NONE, + /* Key casually checked */ + SIGN_CHECK_CASUAL, + /* Key carefully checked */ + SIGN_CHECK_CAREFUL +} SeahorseSignCheck; + +typedef enum { + /* If signature is local */ + SIGN_LOCAL = 1 << 0, + /* If signature is non-revocable */ + SIGN_NO_REVOKE = 1 << 1, + /* If signature expires with key */ + SIGN_EXPIRES = 1 << 2 +} SeahorseSignOptions; + +typedef enum { + /* No revocation reason */ + REVOKE_NO_REASON = 0, + /* Key compromised */ + REVOKE_COMPROMISED = 1, + /* Key replaced */ + REVOKE_SUPERSEDED = 2, + /* Key no longer used */ + REVOKE_NOT_USED = 3 +} SeahorseRevokeReason; + +void seahorse_gpgme_key_op_generate_async (SeahorseGpgmeKeyring *keyring, + const gchar *name, + const gchar *email, + const gchar *comment, + const gchar *passphrase, + SeahorseKeyEncType type, + guint length, + time_t expires, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +gboolean seahorse_gpgme_key_op_generate_finish (SeahorseGpgmeKeyring *keyring, + GAsyncResult *Result, + GError **error); + +gpgme_error_t seahorse_gpgme_key_op_delete (SeahorseGpgmeKey *pkey); + +gpgme_error_t seahorse_gpgme_key_op_delete_pair (SeahorseGpgmeKey *pkey); + +gpgme_error_t seahorse_gpgme_key_op_sign (SeahorseGpgmeKey *key, + SeahorseGpgmeKey *signer, + SeahorseSignCheck check, + SeahorseSignOptions options); + +gpgme_error_t seahorse_gpgme_key_op_sign_uid (SeahorseGpgmeUid *uid, + SeahorseGpgmeKey *signer, + SeahorseSignCheck check, + SeahorseSignOptions options); + +void seahorse_gpgme_key_op_change_pass_async (SeahorseGpgmeKey *pkey, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +gboolean seahorse_gpgme_key_op_change_pass_finish (SeahorseGpgmeKey *pkey, + GAsyncResult *Result, + GError **error); + +gpgme_error_t seahorse_gpgme_key_op_set_trust (SeahorseGpgmeKey *pkey, + SeahorseValidity validity); + +gpgme_error_t seahorse_gpgme_key_op_set_disabled (SeahorseGpgmeKey *pkey, + gboolean disabled); + +gpgme_error_t seahorse_gpgme_key_op_set_expires (SeahorseGpgmeSubkey *subkey, + time_t expires); + +gpgme_error_t seahorse_gpgme_key_op_add_revoker (SeahorseGpgmeKey *pkey, + SeahorseGpgmeKey *revoker); + +void seahorse_gpgme_key_op_add_uid_async (SeahorseGpgmeKey *pkey, + const gchar *name, + const gchar *email, + const gchar *comment, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +gboolean seahorse_gpgme_key_op_add_uid_finish (SeahorseGpgmeKey *pkey, + GAsyncResult *result, + GError **error); + +void seahorse_gpgme_key_op_make_primary_async (SeahorseGpgmeUid *uid, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +gboolean seahorse_gpgme_key_op_make_primary_finish (SeahorseGpgmeUid *uid, + GAsyncResult *result, + GError **error); + +gpgme_error_t seahorse_gpgme_key_op_del_uid (SeahorseGpgmeUid *uid); + +void seahorse_gpgme_key_op_add_subkey_async (SeahorseGpgmeKey *pkey, + SeahorseKeyEncType type, + guint length, + gulong expires, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +gboolean seahorse_gpgme_key_op_add_subkey_finish (SeahorseGpgmeKey *pkey, + GAsyncResult *result, + GError **error); + +gpgme_error_t seahorse_gpgme_key_op_del_subkey (SeahorseGpgmeSubkey *subkey); + +gpgme_error_t seahorse_gpgme_key_op_revoke_subkey (SeahorseGpgmeSubkey *subkey, + SeahorseRevokeReason reason, + const gchar *description); + +gpgme_error_t seahorse_gpgme_key_op_photo_add (SeahorseGpgmeKey *pkey, + const gchar *filename); + +gpgme_error_t seahorse_gpgme_key_op_photo_delete (SeahorseGpgmePhoto *photo); + +gpgme_error_t seahorse_gpgme_key_op_photos_load (SeahorseGpgmeKey *key); + +gpgme_error_t seahorse_gpgme_key_op_photo_primary (SeahorseGpgmePhoto *photo); diff --git a/pgp/seahorse-gpgme-key.c b/pgp/seahorse-gpgme-key.c new file mode 100644 index 00000000..0fda7239 --- /dev/null +++ b/pgp/seahorse-gpgme-key.c @@ -0,0 +1,713 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ +#include "config.h" + +#include "seahorse-gpgme.h" +#include "seahorse-gpgme-exporter.h" +#include "seahorse-gpgme-key-op.h" +#include "seahorse-gpgme-key-deleter.h" +#include "seahorse-gpgme-photo.h" +#include "seahorse-gpgme-keyring.h" +#include "seahorse-gpgme-secret-deleter.h" +#include "seahorse-gpgme-uid.h" +#include "seahorse-pgp-backend.h" +#include "seahorse-pgp-key.h" + +#include "seahorse-common.h" + +#include "libseahorse/seahorse-object-list.h" +#include "libseahorse/seahorse-util.h" + +#include + +#include + +enum { + PROP_0, + PROP_PUBKEY, + PROP_SECKEY, + PROP_VALIDITY, + PROP_TRUST +}; + +struct _SeahorseGpgmeKey { + SeahorsePgpKey parent_instance; + + gpgme_key_t pubkey; /* The public key */ + gpgme_key_t seckey; /* The secret key */ + gboolean has_secret; /* Whether we have a secret key or not */ + + GList *uids; /* We keep a copy of the uids. */ + + int list_mode; /* What to load our public key as */ + gboolean photos_loaded; /* Photos were loaded */ + + gint block_loading; /* Loading is blocked while this flag is set */ +}; + +static void seahorse_gpgme_key_deletable_iface (SeahorseDeletableIface *iface); +static void seahorse_gpgme_key_exportable_iface (SeahorseExportableIface *iface); + +G_DEFINE_TYPE_WITH_CODE (SeahorseGpgmeKey, seahorse_gpgme_key, SEAHORSE_PGP_TYPE_KEY, + G_IMPLEMENT_INTERFACE (SEAHORSE_TYPE_EXPORTABLE, seahorse_gpgme_key_exportable_iface); + G_IMPLEMENT_INTERFACE (SEAHORSE_TYPE_DELETABLE, seahorse_gpgme_key_deletable_iface); +); + +static gboolean +load_gpgme_key (const gchar *keyid, + int mode, + int secret, + gpgme_key_t *key) +{ + GError *error = NULL; + gpgme_ctx_t ctx; + gpgme_error_t gerr; + + ctx = seahorse_gpgme_keyring_new_context (&gerr); + if (gerr != 0) + return FALSE; + + gpgme_set_keylist_mode (ctx, mode); + gerr = gpgme_op_keylist_start (ctx, keyid, secret); + if (GPG_IS_OK (gerr)) { + gerr = gpgme_op_keylist_next (ctx, key); + gpgme_op_keylist_end (ctx); + } + + gpgme_release (ctx); + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_message ("couldn't load GPGME key: %s", error->message); + g_clear_error (&error); + return FALSE; + } + + return TRUE; +} + +static void +load_key_public (SeahorseGpgmeKey *self, int list_mode) +{ + gpgme_key_t key = NULL; + const gchar *keyid; + gboolean ret; + + if (self->block_loading) + return; + + list_mode |= self->list_mode; + + keyid = seahorse_pgp_key_get_keyid (SEAHORSE_PGP_KEY (self)); + ret = load_gpgme_key (keyid, list_mode, FALSE, &key); + if (ret) { + self->list_mode = list_mode; + seahorse_gpgme_key_set_public (self, key); + gpgme_key_unref (key); + } +} + +static gboolean +require_key_public (SeahorseGpgmeKey *self, int list_mode) +{ + if (!self->pubkey || (self->list_mode & list_mode) != list_mode) + load_key_public (self, list_mode); + return self->pubkey && (self->list_mode & list_mode) == list_mode; +} + +static void +load_key_private (SeahorseGpgmeKey *self) +{ + gpgme_key_t key = NULL; + const gchar *keyid; + gboolean ret; + + if (!self->has_secret || self->block_loading) + return; + + keyid = seahorse_pgp_key_get_keyid (SEAHORSE_PGP_KEY (self)); + ret = load_gpgme_key (keyid, GPGME_KEYLIST_MODE_LOCAL, TRUE, &key); + if (ret) { + seahorse_gpgme_key_set_private (self, key); + gpgme_key_unref (key); + } +} + +static gboolean +require_key_private (SeahorseGpgmeKey *self) +{ + if (!self->seckey) + load_key_private (self); + return self->seckey != NULL; +} + +static gboolean +require_key_uids (SeahorseGpgmeKey *self) +{ + return require_key_public (self, GPGME_KEYLIST_MODE_LOCAL); +} + +static gboolean +require_key_subkeys (SeahorseGpgmeKey *self) +{ + return require_key_public (self, GPGME_KEYLIST_MODE_LOCAL); +} + +static void +load_key_photos (SeahorseGpgmeKey *self) +{ + gpgme_error_t gerr; + + if (self->block_loading) + return; + + gerr = seahorse_gpgme_key_op_photos_load (self); + if (!GPG_IS_OK (gerr)) + g_message ("couldn't load key photos: %s", gpgme_strerror (gerr)); + else + self->photos_loaded = TRUE; +} + +static gboolean +require_key_photos (SeahorseGpgmeKey *self) +{ + if (!self->photos_loaded) + load_key_photos (self); + return self->photos_loaded; +} + +static void +renumber_actual_uids (SeahorseGpgmeKey *self) +{ + GArray *index_map; + GList *photos, *uids, *l; + guint index, i; + + g_assert (SEAHORSE_GPGME_IS_KEY (self)); + + /* + * This function is necessary because the uid stored in a gpgme_user_id_t + * struct is only usable with gpgme functions. Problems will be caused if + * that uid is used with functions found in seahorse-gpgme-key-op.h. This + * function is only to be called with uids from gpgme_user_id_t structs. + */ + + ++self->block_loading; + photos = seahorse_pgp_key_get_photos (SEAHORSE_PGP_KEY (self)); + uids = self->uids; + --self->block_loading; + + /* First we build a bitmap of where all the photo uid indexes are */ + index_map = g_array_new (FALSE, TRUE, sizeof (gboolean)); + for (l = photos; l; l = g_list_next (l)) { + index = seahorse_gpgme_photo_get_index (l->data); + if (index >= index_map->len) + g_array_set_size (index_map, index + 1); + g_array_index (index_map, gboolean, index) = TRUE; + } + + /* Now for each UID we add however many photo indexes are below the gpgme index */ + for (l = uids; l; l = g_list_next (l)) { + index = seahorse_gpgme_uid_get_gpgme_index (l->data); + for (i = 0; i < index_map->len && i < index; ++i) { + if(g_array_index (index_map, gboolean, index)) + ++index; + } + seahorse_gpgme_uid_set_actual_index (l->data, index + 1); + } + + g_array_free (index_map, TRUE); +} + +static void +realize_uids (SeahorseGpgmeKey *self) +{ + gpgme_user_id_t guid; + SeahorseGpgmeUid *uid; + GList *results = NULL; + gboolean changed = FALSE; + GList *uids; + + uids = self->uids; + guid = self->pubkey ? self->pubkey->uids : NULL; + + /* Look for out of sync or missing UIDs */ + while (uids != NULL) { + g_return_if_fail (SEAHORSE_GPGME_IS_UID (uids->data)); + uid = SEAHORSE_GPGME_UID (uids->data); + uids = g_list_next (uids); + + /* Bring this UID up to date */ + if (guid && seahorse_gpgme_uid_is_same (uid, guid)) { + if (seahorse_gpgme_uid_get_userid (uid) != guid) { + g_object_set (uid, "pubkey", self->pubkey, "userid", guid, NULL); + changed = TRUE; + } + results = seahorse_object_list_append (results, uid); + guid = guid->next; + } + } + + /* Add new UIDs */ + while (guid != NULL) { + uid = seahorse_gpgme_uid_new (self, guid); + changed = TRUE; + results = seahorse_object_list_append (results, uid); + g_object_unref (uid); + guid = guid->next; + } + + if (changed) + seahorse_pgp_key_set_uids (SEAHORSE_PGP_KEY (self), results); + seahorse_object_list_free (results); +} + +static void +realize_subkeys (SeahorseGpgmeKey *self) +{ + gpgme_subkey_t gsubkey; + SeahorseGpgmeSubkey *subkey; + GList *list = NULL; + + if (self->pubkey) { + + for (gsubkey = self->pubkey->subkeys; gsubkey; gsubkey = gsubkey->next) { + subkey = seahorse_gpgme_subkey_new (self->pubkey, gsubkey); + list = seahorse_object_list_prepend (list, subkey); + g_object_unref (subkey); + } + + list = g_list_reverse (list); + } + + seahorse_pgp_key_set_subkeys (SEAHORSE_PGP_KEY (self), list); + seahorse_object_list_free (list); +} + +void +seahorse_gpgme_key_realize (SeahorseGpgmeKey *self) +{ + SeahorseUsage usage; + guint flags; + + if (!self->pubkey) + return; + + if (!require_key_public (self, GPGME_KEYLIST_MODE_LOCAL)) + g_return_if_reached (); + + g_return_if_fail (self->pubkey); + g_return_if_fail (self->pubkey->subkeys); + + /* Update the sub UIDs */ + realize_uids (self); + realize_subkeys (self); + + /* The flags */ + flags = SEAHORSE_FLAG_EXPORTABLE | SEAHORSE_FLAG_DELETABLE; + + if (!self->pubkey->disabled && !self->pubkey->expired && + !self->pubkey->revoked && !self->pubkey->invalid) { + if (seahorse_gpgme_key_get_validity (self) >= SEAHORSE_VALIDITY_MARGINAL) + flags |= SEAHORSE_FLAG_IS_VALID; + if (self->pubkey->can_encrypt) + flags |= SEAHORSE_FLAG_CAN_ENCRYPT; + if (self->seckey && self->pubkey->can_sign) + flags |= SEAHORSE_FLAG_CAN_SIGN; + } + + if (self->pubkey->expired) + flags |= SEAHORSE_FLAG_EXPIRED; + + if (self->pubkey->revoked) + flags |= SEAHORSE_FLAG_REVOKED; + + if (self->pubkey->disabled) + flags |= SEAHORSE_FLAG_DISABLED; + + if (seahorse_gpgme_key_get_trust (self) >= SEAHORSE_VALIDITY_MARGINAL && + !self->pubkey->revoked && !self->pubkey->disabled && + !self->pubkey->expired) + flags |= SEAHORSE_FLAG_TRUSTED; + + /* The type */ + if (self->seckey) { + usage = SEAHORSE_USAGE_PRIVATE_KEY; + flags |= SEAHORSE_FLAG_PERSONAL; + } else { + usage = SEAHORSE_USAGE_PUBLIC_KEY; + } + + g_object_set (self, + "usage", usage, + "object-flags", flags, + NULL); + + seahorse_pgp_key_realize (SEAHORSE_PGP_KEY (self)); +} + +void +seahorse_gpgme_key_ensure_signatures (SeahorseGpgmeKey *self) +{ + require_key_public (self, GPGME_KEYLIST_MODE_LOCAL | GPGME_KEYLIST_MODE_SIGS); +} + +void +seahorse_gpgme_key_refresh (SeahorseGpgmeKey *self) +{ + if (self->pubkey) + load_key_public (self, self->list_mode); + if (self->seckey) + load_key_private (self); + if (self->photos_loaded) + load_key_photos (self); +} + +static GList* +seahorse_gpgme_key_get_uids (SeahorsePgpKey *base) +{ + SeahorseGpgmeKey *self = SEAHORSE_GPGME_KEY (base); + require_key_uids (self); + return SEAHORSE_PGP_KEY_CLASS (seahorse_gpgme_key_parent_class)->get_uids (base); +} + +static void +seahorse_gpgme_key_set_uids (SeahorsePgpKey *base, GList *uids) +{ + SeahorseGpgmeKey *self = SEAHORSE_GPGME_KEY (base); + + SEAHORSE_PGP_KEY_CLASS (seahorse_gpgme_key_parent_class)->set_uids (base, uids); + + /* Keep our own copy of the UID list */ + seahorse_object_list_free (self->uids); + self->uids = seahorse_object_list_copy (uids); + + renumber_actual_uids (self); +} + +static GList* +seahorse_gpgme_key_get_subkeys (SeahorsePgpKey *base) +{ + SeahorseGpgmeKey *self = SEAHORSE_GPGME_KEY (base); + require_key_subkeys (self); + return SEAHORSE_PGP_KEY_CLASS (seahorse_gpgme_key_parent_class)->get_subkeys (base); +} + +static GList* +seahorse_gpgme_key_get_photos (SeahorsePgpKey *base) +{ + SeahorseGpgmeKey *self = SEAHORSE_GPGME_KEY (base); + require_key_photos (self); + return SEAHORSE_PGP_KEY_CLASS (seahorse_gpgme_key_parent_class)->get_photos (base); +} + +static void +seahorse_gpgme_key_set_photos (SeahorsePgpKey *base, GList *photos) +{ + SeahorseGpgmeKey *self = SEAHORSE_GPGME_KEY (base); + self->photos_loaded = TRUE; + SEAHORSE_PGP_KEY_CLASS (seahorse_gpgme_key_parent_class)->set_photos (base, photos); + renumber_actual_uids (self); +} + +static SeahorseDeleter * +seahorse_gpgme_key_create_deleter (SeahorseDeletable *deletable) +{ + SeahorseGpgmeKey *self = SEAHORSE_GPGME_KEY (deletable); + if (self->seckey) + return seahorse_gpgme_secret_deleter_new (self); + else + return seahorse_gpgme_key_deleter_new (self); +} + +static gboolean +seahorse_gpgme_key_get_deletable (SeahorseDeletable *deletable) +{ + gboolean can; + g_object_get (deletable, "deletable", &can, NULL); + return can; +} + +static void +seahorse_gpgme_key_deletable_iface (SeahorseDeletableIface *iface) +{ + iface->create_deleter = seahorse_gpgme_key_create_deleter; + iface->get_deletable = seahorse_gpgme_key_get_deletable; +} + +static GList * +seahorse_gpgme_key_create_exporters (SeahorseExportable *exportable, + SeahorseExporterType type) +{ + GList *result = NULL; + + if (type != SEAHORSE_EXPORTER_TYPE_TEXTUAL) + result = g_list_append (result, seahorse_gpgme_exporter_new (G_OBJECT (exportable), FALSE, FALSE)); + result = g_list_append (result, seahorse_gpgme_exporter_new (G_OBJECT (exportable), TRUE, FALSE)); + + return result; +} + +static gboolean +seahorse_gpgme_key_get_exportable (SeahorseExportable *exportable) +{ + gboolean can; + g_object_get (exportable, "exportable", &can, NULL); + return can; +} + +static void +seahorse_gpgme_key_exportable_iface (SeahorseExportableIface *iface) +{ + iface->create_exporters = seahorse_gpgme_key_create_exporters; + iface->get_exportable = seahorse_gpgme_key_get_exportable; +} + +gpgme_key_t +seahorse_gpgme_key_get_public (SeahorseGpgmeKey *self) +{ + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (self), NULL); + if (require_key_public (self, GPGME_KEYLIST_MODE_LOCAL)) + return self->pubkey; + return NULL; +} + +void +seahorse_gpgme_key_set_public (SeahorseGpgmeKey *self, gpgme_key_t key) +{ + GObject *obj; + + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (self)); + + if (self->pubkey) + gpgme_key_unref (self->pubkey); + self->pubkey = key; + if (self->pubkey) { + gpgme_key_ref (self->pubkey); + self->list_mode |= self->pubkey->keylist_mode; + } + + obj = G_OBJECT (self); + g_object_freeze_notify (obj); + seahorse_gpgme_key_realize (self); + g_object_notify (obj, "fingerprint"); + g_object_notify (obj, "validity"); + g_object_notify (obj, "trust"); + g_object_notify (obj, "expires"); + g_object_notify (obj, "length"); + g_object_notify (obj, "algo"); + g_object_thaw_notify (obj); +} + +gpgme_key_t +seahorse_gpgme_key_get_private (SeahorseGpgmeKey *self) +{ + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (self), NULL); + if (require_key_private (self)) + return self->seckey; + return NULL; +} + +void +seahorse_gpgme_key_set_private (SeahorseGpgmeKey *self, gpgme_key_t key) +{ + GObject *obj; + + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (self)); + + if (self->seckey) + gpgme_key_unref (self->seckey); + self->seckey = key; + if (self->seckey) + gpgme_key_ref (self->seckey); + + obj = G_OBJECT (self); + g_object_freeze_notify (obj); + seahorse_gpgme_key_realize (self); + g_object_thaw_notify (obj); +} + +SeahorseValidity +seahorse_gpgme_key_get_validity (SeahorseGpgmeKey *self) +{ + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (self), SEAHORSE_VALIDITY_UNKNOWN); + + if (!require_key_public (self, GPGME_KEYLIST_MODE_LOCAL)) + return SEAHORSE_VALIDITY_UNKNOWN; + + g_return_val_if_fail (self->pubkey, SEAHORSE_VALIDITY_UNKNOWN); + g_return_val_if_fail (self->pubkey->uids, SEAHORSE_VALIDITY_UNKNOWN); + + if (self->pubkey->revoked) + return SEAHORSE_VALIDITY_REVOKED; + if (self->pubkey->disabled) + return SEAHORSE_VALIDITY_DISABLED; + return seahorse_gpgme_convert_validity (self->pubkey->uids->validity); +} + +SeahorseValidity +seahorse_gpgme_key_get_trust (SeahorseGpgmeKey *self) +{ + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (self), SEAHORSE_VALIDITY_UNKNOWN); + if (!require_key_public (self, GPGME_KEYLIST_MODE_LOCAL)) + return SEAHORSE_VALIDITY_UNKNOWN; + + return seahorse_gpgme_convert_validity (self->pubkey->owner_trust); +} + +void +seahorse_gpgme_key_refresh_matching (gpgme_key_t key) +{ + SeahorseGpgmeKey *gkey; + + g_return_if_fail (key->subkeys->keyid); + + gkey = seahorse_gpgme_keyring_lookup (seahorse_pgp_backend_get_default_keyring (NULL), + key->subkeys->keyid); + if (gkey != NULL) + seahorse_gpgme_key_refresh (gkey); +} + +static void +seahorse_gpgme_key_init (SeahorseGpgmeKey *self) +{ +} + +static void +seahorse_gpgme_key_object_constructed (GObject *object) +{ + SeahorseGpgmeKey *self = SEAHORSE_GPGME_KEY (object); + + G_OBJECT_CLASS (seahorse_gpgme_key_parent_class)->constructed (object); + + seahorse_gpgme_key_realize (self); +} + +static void +seahorse_gpgme_key_get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + SeahorseGpgmeKey *self = SEAHORSE_GPGME_KEY (object); + + switch (prop_id) { + case PROP_PUBKEY: + g_value_set_boxed (value, seahorse_gpgme_key_get_public (self)); + break; + case PROP_SECKEY: + g_value_set_boxed (value, seahorse_gpgme_key_get_private (self)); + break; + case PROP_VALIDITY: + g_value_set_uint (value, seahorse_gpgme_key_get_validity (self)); + break; + case PROP_TRUST: + g_value_set_uint (value, seahorse_gpgme_key_get_trust (self)); + break; + } +} + +static void +seahorse_gpgme_key_set_property (GObject *object, guint prop_id, const GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeKey *self = SEAHORSE_GPGME_KEY (object); + + switch (prop_id) { + case PROP_PUBKEY: + seahorse_gpgme_key_set_public (self, g_value_get_boxed (value)); + break; + case PROP_SECKEY: + seahorse_gpgme_key_set_private (self, g_value_get_boxed (value)); + break; + } +} + +static void +seahorse_gpgme_key_object_dispose (GObject *obj) +{ + SeahorseGpgmeKey *self = SEAHORSE_GPGME_KEY (obj); + + if (self->pubkey) + gpgme_key_unref (self->pubkey); + if (self->seckey) + gpgme_key_unref (self->seckey); + self->pubkey = self->seckey = NULL; + + seahorse_object_list_free (self->uids); + self->uids = NULL; + + G_OBJECT_CLASS (seahorse_gpgme_key_parent_class)->dispose (obj); +} + +static void +seahorse_gpgme_key_object_finalize (GObject *obj) +{ + SeahorseGpgmeKey *self = SEAHORSE_GPGME_KEY (obj); + + g_assert (self->pubkey == NULL); + g_assert (self->seckey == NULL); + g_assert (self->uids == NULL); + + G_OBJECT_CLASS (seahorse_gpgme_key_parent_class)->finalize (G_OBJECT (self)); +} + +static void +seahorse_gpgme_key_class_init (SeahorseGpgmeKeyClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + SeahorsePgpKeyClass *pgp_class = SEAHORSE_PGP_KEY_CLASS (klass); + + gobject_class->constructed = seahorse_gpgme_key_object_constructed; + gobject_class->dispose = seahorse_gpgme_key_object_dispose; + gobject_class->finalize = seahorse_gpgme_key_object_finalize; + gobject_class->set_property = seahorse_gpgme_key_set_property; + gobject_class->get_property = seahorse_gpgme_key_get_property; + + pgp_class->get_uids = seahorse_gpgme_key_get_uids; + pgp_class->set_uids = seahorse_gpgme_key_set_uids; + pgp_class->get_subkeys = seahorse_gpgme_key_get_subkeys; + pgp_class->get_photos = seahorse_gpgme_key_get_photos; + pgp_class->set_photos = seahorse_gpgme_key_set_photos; + + g_object_class_install_property (gobject_class, PROP_PUBKEY, + g_param_spec_boxed ("pubkey", "GPGME Public Key", "GPGME Public Key that this object represents", + SEAHORSE_GPGME_BOXED_KEY, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_SECKEY, + g_param_spec_boxed ("seckey", "GPGME Secret Key", "GPGME Secret Key that this object represents", + SEAHORSE_GPGME_BOXED_KEY, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_override_property (gobject_class, PROP_VALIDITY, "validity"); + g_object_class_override_property (gobject_class, PROP_TRUST, "trust"); +} + +SeahorseGpgmeKey* +seahorse_gpgme_key_new (SeahorsePlace *sksrc, + gpgme_key_t pubkey, + gpgme_key_t seckey) +{ + g_return_val_if_fail (pubkey || seckey, NULL); + + return g_object_new (SEAHORSE_GPGME_TYPE_KEY, + "place", sksrc, + "pubkey", pubkey, + "seckey", seckey, + NULL); +} diff --git a/pgp/seahorse-gpgme-key.h b/pgp/seahorse-gpgme-key.h new file mode 100644 index 00000000..7f0d6e18 --- /dev/null +++ b/pgp/seahorse-gpgme-key.h @@ -0,0 +1,57 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +#include + +#include "seahorse-pgp-key.h" + +#define SEAHORSE_GPGME_TYPE_KEY (seahorse_gpgme_key_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseGpgmeKey, seahorse_gpgme_key, + SEAHORSE_GPGME, KEY, + SeahorsePgpKey) + +SeahorseGpgmeKey* seahorse_gpgme_key_new (SeahorsePlace *sksrc, + gpgme_key_t pubkey, + gpgme_key_t seckey); + +void seahorse_gpgme_key_refresh (SeahorseGpgmeKey *self); + +void seahorse_gpgme_key_realize (SeahorseGpgmeKey *self); + +void seahorse_gpgme_key_ensure_signatures (SeahorseGpgmeKey *self); + +gpgme_key_t seahorse_gpgme_key_get_public (SeahorseGpgmeKey *self); + +void seahorse_gpgme_key_set_public (SeahorseGpgmeKey *self, + gpgme_key_t key); + +gpgme_key_t seahorse_gpgme_key_get_private (SeahorseGpgmeKey *self); + +void seahorse_gpgme_key_set_private (SeahorseGpgmeKey *self, + gpgme_key_t key); + +void seahorse_gpgme_key_refresh_matching (gpgme_key_t key); + +SeahorseValidity seahorse_gpgme_key_get_validity (SeahorseGpgmeKey *self); + +SeahorseValidity seahorse_gpgme_key_get_trust (SeahorseGpgmeKey *self); diff --git a/pgp/seahorse-gpgme-keyring.c b/pgp/seahorse-gpgme-keyring.c new file mode 100644 index 00000000..19a834a6 --- /dev/null +++ b/pgp/seahorse-gpgme-keyring.c @@ -0,0 +1,1034 @@ +/* + * Seahorse + * + * Copyright (C) 2004-2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#undef G_LOG_DOMAIN +#define G_LOG_DOMAIN "operation" + +#include "seahorse-gpgme-keyring.h" + +#include "seahorse-gpgme-data.h" +#include "seahorse-gpgme.h" +#include "seahorse-gpgme-key-op.h" +#include "seahorse-gpg-options.h" +#include "seahorse-pgp-actions.h" +#include "seahorse-pgp-key.h" + +#include "seahorse-common.h" + +#include "libseahorse/seahorse-progress.h" +#include "libseahorse/seahorse-util.h" + +#include + +#include + +#include +#include +#include +#include + +enum { + PROP_0, + PROP_LABEL, + PROP_DESCRIPTION, + PROP_ICON, + PROP_CATEGORY, + PROP_URI, + PROP_ACTIONS, + PROP_ACTION_PREFIX, + PROP_MENU_MODEL, + PROP_SHOW_IF_EMPTY, + N_PROPS +}; + +/* Amount of keys to load in a batch */ +#define DEFAULT_LOAD_BATCH 50 + +enum { + LOAD_FULL = 0x01, + LOAD_PHOTOS = 0x02 +}; + +static gpgme_error_t +passphrase_get (gconstpointer dummy, const gchar *passphrase_hint, + const char* passphrase_info, int flags, int fd) +{ + SeahorsePassphrasePrompt *dialog; + gpgme_error_t err; + gchar **split_uid = NULL; + gchar *label = NULL; + gchar *errmsg = NULL; + const gchar *pass; + gboolean confirm = FALSE; + + if (passphrase_info && strlen(passphrase_info) < 16) { + flags |= SEAHORSE_PASS_NEW; + confirm = TRUE; + } + + if (passphrase_hint) + split_uid = g_strsplit (passphrase_hint, " ", 2); + + if (flags & SEAHORSE_PASS_BAD) + errmsg = g_strdup_printf (_("Wrong passphrase.")); + + if (split_uid && split_uid[0] && split_uid[1]) { + if (flags & SEAHORSE_PASS_NEW) + label = g_strdup_printf (_("Enter new passphrase for “%s”"), split_uid[1]); + else + label = g_strdup_printf (_("Enter passphrase for “%s”"), split_uid[1]); + } else { + if (flags & SEAHORSE_PASS_NEW) + label = g_strdup (_("Enter new passphrase")); + else + label = g_strdup (_("Enter passphrase")); + } + + g_strfreev (split_uid); + + dialog = seahorse_passphrase_prompt_show_dialog (_("Passphrase"), errmsg ? errmsg : label, + NULL, NULL, confirm); + g_free (label); + g_free (errmsg); + + switch (gtk_dialog_run (GTK_DIALOG (dialog))) { + case GTK_RESPONSE_ACCEPT: + pass = seahorse_passphrase_prompt_get_text (dialog); + seahorse_util_printf_fd (fd, "%s\n", pass); + err = GPG_OK; + break; + default: + err = GPG_E (GPG_ERR_CANCELED); + break; + }; + + gtk_widget_destroy (GTK_WIDGET (dialog)); + return err; +} + +struct _SeahorseGpgmeKeyring { + GObject parent_instance; + + GHashTable *keys; + guint scheduled_refresh; /* Source for refresh timeout */ + GFileMonitor *monitor_handle; /* For monitoring the .gnupg directory */ + GList *orphan_secret; /* Orphan secret keys */ + GActionGroup *actions; +}; + +static void seahorse_gpgme_keyring_place_iface (SeahorsePlaceIface *iface); + +static void seahorse_gpgme_keyring_collection_iface (GcrCollectionIface *iface); + +G_DEFINE_TYPE_WITH_CODE (SeahorseGpgmeKeyring, seahorse_gpgme_keyring, G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE (GCR_TYPE_COLLECTION, seahorse_gpgme_keyring_collection_iface); + G_IMPLEMENT_INTERFACE (SEAHORSE_TYPE_PLACE, seahorse_gpgme_keyring_place_iface); +); + +typedef struct { + SeahorseGpgmeKeyring *keyring; + gpgme_ctx_t gctx; + GHashTable *checks; + gint parts; + gint loaded; +} keyring_list_closure; + +static void +keyring_list_free (gpointer data) +{ + keyring_list_closure *closure = data; + if (closure->gctx) + gpgme_release (closure->gctx); + if (closure->checks) + g_hash_table_destroy (closure->checks); + g_clear_object (&closure->keyring); + g_free (closure); +} + +/* Add a key to the context */ +static SeahorseGpgmeKey* +add_key_to_context (SeahorseGpgmeKeyring *self, + gpgme_key_t key) +{ + SeahorseGpgmeKey *pkey = NULL; + SeahorseGpgmeKey *prev; + const gchar *keyid; + gpgme_key_t seckey; + GList *l; + + g_return_val_if_fail (key->subkeys && key->subkeys->keyid, NULL); + + keyid = key->subkeys->keyid; + g_return_val_if_fail (keyid, NULL); + + g_assert (SEAHORSE_IS_GPGME_KEYRING (self)); + prev = seahorse_gpgme_keyring_lookup (self, keyid); + + /* Check if we can just replace the key on the object */ + if (prev != NULL) { + if (key->secret) + g_object_set (prev, "seckey", key, NULL); + else + g_object_set (prev, "pubkey", key, NULL); + return prev; + } + + /* Create a new key with secret */ + if (key->secret) { + pkey = seahorse_gpgme_key_new (SEAHORSE_PLACE (self), NULL, key); + + /* Since we don't have a public key yet, save this away */ + self->orphan_secret = g_list_append (self->orphan_secret, pkey); + + /* No key was loaded as far as everyone is concerned */ + return NULL; + } + + /* Just a new public key */ + + /* Check for orphans */ + for (l = self->orphan_secret; l; l = g_list_next (l)) { + + seckey = seahorse_gpgme_key_get_private (l->data); + g_return_val_if_fail (seckey && seckey->subkeys && seckey->subkeys->keyid, NULL); + g_assert (seckey); + + /* Look for a matching key */ + if (g_str_equal (keyid, seckey->subkeys->keyid)) { + + /* Set it up properly */ + pkey = SEAHORSE_GPGME_KEY (l->data); + g_object_set (pkey, "pubkey", key, NULL); + + /* Remove item from orphan list cleanly */ + self->orphan_secret = g_list_remove_link (self->orphan_secret, l); + g_list_free (l); + break; + } + } + + if (pkey == NULL) + pkey = seahorse_gpgme_key_new (SEAHORSE_PLACE (self), key, NULL); + + /* Add to context */ + g_hash_table_insert (self->keys, g_strdup (keyid), pkey); + gcr_collection_emit_added (GCR_COLLECTION (self), G_OBJECT (pkey)); + + return pkey; +} + + +/* Remove the given key from the context */ +static void +remove_key (SeahorseGpgmeKeyring *self, + const gchar *keyid) +{ + SeahorseGpgmeKey *key; + + key = g_hash_table_lookup (self->keys, keyid); + if (key != NULL) + seahorse_gpgme_keyring_remove_key (self, key); +} + +/* Completes one batch of key loading */ +static gboolean +on_idle_list_batch_of_keys (gpointer data) +{ + GTask *task = G_TASK (data); + keyring_list_closure *closure = g_task_get_task_data (task); + SeahorseGpgmeKey *pkey; + GHashTableIter iter; + gpgme_key_t key; + guint batch; + g_autofree gchar *detail = NULL; + const gchar *keyid; + + /* We load until done if batch is zero */ + batch = DEFAULT_LOAD_BATCH; + + while (batch-- > 0) { + if (!GPG_IS_OK (gpgme_op_keylist_next (closure->gctx, &key))) { + + gpgme_op_keylist_end (closure->gctx); + + /* If we were a refresh loader, then we remove the keys we didn't find */ + if (closure->checks) { + g_hash_table_iter_init (&iter, closure->checks); + while (g_hash_table_iter_next (&iter, (gpointer *)&keyid, NULL)) + remove_key (closure->keyring, keyid); + } + + seahorse_progress_end (g_task_get_cancellable (task), task); + g_task_return_boolean (task, TRUE); + return FALSE; /* Remove event handler */ + } + + g_return_val_if_fail (key->subkeys && key->subkeys->keyid, FALSE); + + /* During a refresh if only new or removed keys */ + if (closure->checks) { + /* Make note that this key exists in key ring */ + g_hash_table_remove (closure->checks, key->subkeys->keyid); + } + + pkey = add_key_to_context (closure->keyring, key); + + /* Load additional info */ + if (pkey && closure->parts & LOAD_PHOTOS) + seahorse_gpgme_key_op_photos_load (pkey); + + gpgme_key_unref (key); + closure->loaded++; + } + + detail = g_strdup_printf (ngettext("Loaded %d key", "Loaded %d keys", closure->loaded), closure->loaded); + seahorse_progress_update (g_task_get_cancellable (task), task, detail); + + return TRUE; +} + +static void +on_keyring_list_cancelled (GCancellable *cancellable, + gpointer user_data) +{ + GTask *task = G_TASK (user_data); + keyring_list_closure *closure = g_task_get_task_data (task); + + gpgme_op_keylist_end (closure->gctx); +} + +static void +seahorse_gpgme_keyring_list_async (SeahorseGpgmeKeyring *self, + const gchar **patterns, + gint parts, + gboolean secret, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_autoptr(GTask) task = NULL; + keyring_list_closure *closure; + SeahorseObject *object; + gpgme_error_t gerr = 0; + GHashTableIter iter; + g_autoptr(GError) error = NULL; + + task = g_task_new (self, cancellable, callback, user_data); + + closure = g_new0 (keyring_list_closure, 1); + closure->parts = parts; + closure->gctx = seahorse_gpgme_keyring_new_context (&gerr); + closure->keyring = g_object_ref (self); + g_task_set_task_data (task, closure, keyring_list_free); + + /* Start the key listing */ + if (closure->gctx) { + if (parts & LOAD_FULL) + gpgme_set_keylist_mode (closure->gctx, GPGME_KEYLIST_MODE_SIGS | + gpgme_get_keylist_mode (closure->gctx)); + if (patterns) + gerr = gpgme_op_keylist_ext_start (closure->gctx, patterns, secret, 0); + else + gerr = gpgme_op_keylist_start (closure->gctx, NULL, secret); + } + + if (gerr != 0) { + seahorse_gpgme_propagate_error (gerr, &error); + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + /* Loading all the keys? */ + if (patterns == NULL) { + gchar *keyid; + + closure->checks = g_hash_table_new_full (seahorse_pgp_keyid_hash, + seahorse_pgp_keyid_equal, + g_free, NULL); + g_hash_table_iter_init (&iter, self->keys); + while (g_hash_table_iter_next (&iter, (gpointer *)&keyid, (gpointer *)&object)) { + if ((secret && seahorse_object_get_usage (object) == SEAHORSE_USAGE_PRIVATE_KEY) || + (!secret && seahorse_object_get_usage (object) == SEAHORSE_USAGE_PUBLIC_KEY)) { + keyid = g_strdup (keyid); + g_hash_table_insert (closure->checks, keyid, keyid); + } + } + } + + seahorse_progress_prep_and_begin (cancellable, task, NULL); + if (cancellable) + g_cancellable_connect (cancellable, + G_CALLBACK (on_keyring_list_cancelled), + task, NULL); + + g_idle_add_full (G_PRIORITY_LOW, on_idle_list_batch_of_keys, + g_steal_pointer (&task), g_object_unref); +} + +static gboolean +seahorse_gpgme_keyring_list_finish (SeahorseGpgmeKeyring *keyring, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (g_task_is_valid (result, keyring), FALSE); + + return g_task_propagate_boolean (G_TASK (result), error); +} + +static void +cancel_scheduled_refresh (SeahorseGpgmeKeyring *self) +{ + if (self->scheduled_refresh != 0) { + g_debug ("cancelling scheduled refresh event"); + g_source_remove (self->scheduled_refresh); + self->scheduled_refresh = 0; + } +} + +static gboolean +scheduled_dummy (gpointer user_data) +{ + SeahorseGpgmeKeyring *self = SEAHORSE_GPGME_KEYRING (user_data); + g_debug ("dummy refresh event occurring now"); + self->scheduled_refresh = 0; + return FALSE; /* don't run again */ +} + +typedef struct { + SeahorseGpgmeKeyring *self; + const gchar **patterns; +} keyring_load_closure; + +static void +on_keyring_public_list_complete (GObject *source, + GAsyncResult *result, + gpointer user_data); + +static void +on_keyring_secret_list_complete (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + g_autoptr(GTask) task = G_TASK (user_data); + GCancellable *cancellable = g_task_get_cancellable (task); + keyring_load_closure *closure = g_task_get_task_data (task); + SeahorseGpgmeKeyring *self = closure->self; + const gchar **patterns = closure->patterns; + g_autoptr(GError) error = NULL; + + if (!seahorse_gpgme_keyring_list_finish (SEAHORSE_GPGME_KEYRING (source), + result, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + /* Public keys */ + seahorse_gpgme_keyring_list_async (self, patterns, 0, FALSE, cancellable, + on_keyring_public_list_complete, + g_steal_pointer (&task)); +} + +static void +on_keyring_public_list_complete (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + g_autoptr(GTask) task = G_TASK (user_data); + g_autoptr(GError) error = NULL; + + if (!seahorse_gpgme_keyring_list_finish (SEAHORSE_GPGME_KEYRING (source), + result, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + g_task_return_boolean (task, TRUE); +} + +static void +seahorse_gpgme_keyring_load_full_async (SeahorseGpgmeKeyring *self, + const gchar **patterns, + gint parts, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_autoptr(GTask) task = NULL; + keyring_load_closure *closure; + + /* Schedule a dummy refresh. This blocks all monitoring for a while */ + cancel_scheduled_refresh (self); + self->scheduled_refresh = g_timeout_add (500, scheduled_dummy, self); + g_debug ("scheduled a dummy refresh"); + + g_debug ("refreshing keys..."); + + task = g_task_new (self, cancellable, callback, user_data); + closure = g_new0 (keyring_load_closure, 1); + closure->self = self; + closure->patterns = patterns; + g_task_set_task_data (task, closure, g_free); + + /* Secret keys */ + seahorse_gpgme_keyring_list_async (self, patterns, 0, TRUE, cancellable, + on_keyring_secret_list_complete, + g_object_ref (task)); + + /* Public keys -- see on_keyring_secret_list_complete() */ +} + +SeahorseGpgmeKey * +seahorse_gpgme_keyring_lookup (SeahorseGpgmeKeyring *self, + const gchar *keyid) +{ + g_return_val_if_fail (SEAHORSE_IS_GPGME_KEYRING (self), NULL); + g_return_val_if_fail (keyid != NULL, NULL); + + return g_hash_table_lookup (self->keys, keyid); +} + +void +seahorse_gpgme_keyring_remove_key (SeahorseGpgmeKeyring *self, + SeahorseGpgmeKey *key) +{ + const gchar *keyid; + + g_return_if_fail (SEAHORSE_IS_GPGME_KEYRING (self)); + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (key)); + + keyid = seahorse_pgp_key_get_keyid (SEAHORSE_PGP_KEY (key)); + g_return_if_fail (g_hash_table_lookup (self->keys, keyid) == key); + + g_object_ref (key); + g_hash_table_remove (self->keys, keyid); + gcr_collection_emit_removed (GCR_COLLECTION (self), G_OBJECT (key)); + g_object_unref (key); + +} + +static void +seahorse_gpgme_keyring_load_async (SeahorsePlace *place, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + SeahorseGpgmeKeyring *self = SEAHORSE_GPGME_KEYRING (place); + seahorse_gpgme_keyring_load_full_async (self, NULL, 0, cancellable, + callback, user_data); +} + +static gboolean +seahorse_gpgme_keyring_load_finish (SeahorsePlace *place, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (g_task_is_valid (result, place), FALSE); + + return g_task_propagate_boolean (G_TASK (result), error); +} + +typedef struct { + SeahorseGpgmeKeyring *keyring; + gpgme_ctx_t gctx; + gpgme_data_t data; + gchar **patterns; +} keyring_import_closure; + +static void +keyring_import_free (gpointer data) +{ + keyring_import_closure *closure = data; + if (closure->gctx) + gpgme_release (closure->gctx); + gpgme_data_release (closure->data); + g_object_unref (closure->keyring); + g_strfreev (closure->patterns); + g_free (closure); +} + +static void +on_keyring_import_loaded (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + g_autoptr(GTask) task = G_TASK (user_data); + keyring_import_closure *closure = g_task_get_task_data (task); + g_autoptr(GList) keys = NULL; + guint i; + + for (i = 0; closure->patterns[i] != NULL; i++) { + SeahorseObject *object; + + object = g_hash_table_lookup (closure->keyring->keys, closure->patterns[i]); + if (object == NULL) { + g_warning ("imported key but then couldn't find it in keyring: %s", + closure->patterns[i]); + continue; + } + + keys = g_list_prepend (keys, object); + } + + seahorse_progress_end (g_task_get_cancellable (task), task); + g_task_return_pointer (task, g_steal_pointer (&keys), (GDestroyNotify) g_list_free); +} + +static gboolean +on_keyring_import_complete (gpgme_error_t gerr, gpointer user_data) +{ + GTask *task = G_TASK (user_data); + keyring_import_closure *closure = g_task_get_task_data (task); + gpgme_import_result_t results; + gpgme_import_status_t import; + GError *error = NULL; + const gchar *msg; + gint i; + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return FALSE; /* don't call again */ + } + + /* Figure out which keys were imported */ + results = gpgme_op_import_result (closure->gctx); + if (results == NULL) { + g_task_return_pointer (task, NULL, NULL); + return FALSE; /* don't call again */ + } + + /* Dig out all the fingerprints for use as load patterns */ + closure->patterns = g_new0 (gchar*, results->considered + 1); + for (i = 0, import = results->imports; + i < results->considered && import; + import = import->next) { + if (GPG_IS_OK (import->result)) + closure->patterns[i++] = g_strdup (import->fpr); + } + + /* See if we've managed to import any ... */ + if (closure->patterns[0] == NULL) { + /* ... try and find out why */ + if (results->considered > 0 && results->no_user_id) { + msg = _("Invalid key data (missing UIDs). This may be due to a computer with a date set in the future or a missing self-signature."); + g_task_return_new_error (task, SEAHORSE_ERROR, -1, "%s", msg); + } + + g_task_return_pointer (task, NULL, NULL); + return FALSE; /* don't call again */ + } + + /* Reload public keys */ + seahorse_gpgme_keyring_load_full_async (closure->keyring, (const gchar **)closure->patterns, + LOAD_FULL, g_task_get_cancellable (task), + on_keyring_import_loaded, g_object_ref (task)); + + return FALSE; /* don't call again */ +} + +void +seahorse_gpgme_keyring_import_async (SeahorseGpgmeKeyring *self, + GInputStream *input, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_autoptr(GTask) task = NULL; + keyring_import_closure *closure; + gpgme_error_t gerr = 0; + g_autoptr(GError) error = NULL; + g_autoptr(GSource) gsource = NULL; + + task = g_task_new (self, cancellable, callback, user_data); + closure = g_new0 (keyring_import_closure, 1); + closure->gctx = seahorse_gpgme_keyring_new_context (&gerr); + closure->data = seahorse_gpgme_data_input (input); + closure->keyring = g_object_ref (self); + g_task_set_task_data (task, closure, keyring_import_free); + + if (gerr == 0) { + seahorse_progress_prep_and_begin (cancellable, task, NULL); + gsource = seahorse_gpgme_gsource_new (closure->gctx, cancellable); + g_source_set_callback (gsource, (GSourceFunc)on_keyring_import_complete, + g_steal_pointer (&task), g_object_unref); + gerr = gpgme_op_import_start (closure->gctx, closure->data); + } + + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + g_source_attach (gsource, g_main_context_default ()); +} + +GList * +seahorse_gpgme_keyring_import_finish (SeahorseGpgmeKeyring *self, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (g_task_is_valid (result, self), NULL); + + return g_task_propagate_pointer (G_TASK (result), error); +} + +static gboolean +scheduled_refresh (gpointer user_data) +{ + SeahorseGpgmeKeyring *self = SEAHORSE_GPGME_KEYRING (user_data); + + g_debug ("scheduled refresh event ocurring now"); + cancel_scheduled_refresh (self); + seahorse_gpgme_keyring_load_async (SEAHORSE_PLACE (self), NULL, NULL, NULL); + + return FALSE; /* don't run again */ +} + +static void +monitor_gpg_homedir (GFileMonitor *handle, GFile *file, GFile *other_file, + GFileMonitorEvent event_type, gpointer user_data) +{ + SeahorseGpgmeKeyring *self = SEAHORSE_GPGME_KEYRING (user_data); + gchar *name; + + if (event_type == G_FILE_MONITOR_EVENT_CHANGED || + event_type == G_FILE_MONITOR_EVENT_DELETED || + event_type == G_FILE_MONITOR_EVENT_CREATED) { + + name = g_file_get_basename (file); + if (g_str_has_suffix (name, ".gpg")) { + if (self->scheduled_refresh == 0) { + g_debug ("scheduling refresh event due to file changes"); + self->scheduled_refresh = g_timeout_add (500, scheduled_refresh, self); + } + } + } +} + +static void +seahorse_gpgme_keyring_init (SeahorseGpgmeKeyring *self) +{ + GError *err = NULL; + const gchar *gpg_homedir; + GFile *file; + + self->keys = g_hash_table_new_full (seahorse_pgp_keyid_hash, + seahorse_pgp_keyid_equal, + g_free, g_object_unref); + + self->scheduled_refresh = 0; + self->monitor_handle = NULL; + + gpg_homedir = seahorse_gpg_homedir (); + if (gpg_homedir) { + file = g_file_new_for_path (gpg_homedir); + g_return_if_fail (file != NULL); + + self->monitor_handle = g_file_monitor_directory (file, G_FILE_MONITOR_NONE, NULL, &err); + g_object_unref (file); + + if (self->monitor_handle) { + g_signal_connect (self->monitor_handle, "changed", + G_CALLBACK (monitor_gpg_homedir), self); + } else { + g_warning ("couldn't monitor the GPG home directory: %s: %s", + gpg_homedir, err && err->message ? err->message : ""); + } + } +} + +static gchar * +seahorse_gpgme_keyring_get_label (SeahorsePlace *place) +{ + return g_strdup (_("GnuPG keys")); +} + +static void +seahorse_gpgme_keyring_set_label (SeahorsePlace *place, const char *label) +{ +} + +static gchar * +seahorse_gpgme_keyring_get_description (SeahorsePlace *place) +{ + return g_strdup (_("GnuPG: default keyring directory")); +} + +static GIcon * +seahorse_gpgme_keyring_get_icon (SeahorsePlace *place) +{ + return g_themed_icon_new (GCR_ICON_GNUPG); +} + +static SeahorsePlaceCategory +seahorse_gpgme_keyring_get_category (SeahorsePlace *place) +{ + return SEAHORSE_PLACE_CATEGORY_KEYS; +} + +static GActionGroup * +seahorse_gpgme_keyring_get_actions (SeahorsePlace *place) +{ + SeahorseGpgmeKeyring *self = SEAHORSE_GPGME_KEYRING (place); + if (self->actions) + return g_object_ref (self->actions); + return NULL; +} + +static const gchar * +seahorse_gpgme_keyring_get_action_prefix (SeahorsePlace* self) +{ + return NULL; +} + +static GMenuModel * +seahorse_gpgme_keyring_get_menu_model (SeahorsePlace *place) +{ + return NULL; +} + +static gchar * +seahorse_gpgme_keyring_get_uri (SeahorsePlace *place) +{ + return g_strdup ("gnupg://"); +} + +static gboolean +seahorse_gpgme_keyring_get_show_if_empty (SeahorsePlace *place) +{ + return TRUE; +} + +static void +seahorse_gpgme_keyring_get_property (GObject *obj, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + SeahorsePlace *place = SEAHORSE_PLACE (obj); + + switch (prop_id) { + case PROP_LABEL: + g_value_take_string (value, seahorse_gpgme_keyring_get_label (place)); + break; + case PROP_DESCRIPTION: + g_value_take_string (value, seahorse_gpgme_keyring_get_description (place)); + break; + case PROP_ICON: + g_value_take_object (value, seahorse_gpgme_keyring_get_icon (place)); + break; + case PROP_CATEGORY: + g_value_set_enum (value, seahorse_gpgme_keyring_get_category (place)); + break; + case PROP_URI: + g_value_take_string (value, seahorse_gpgme_keyring_get_uri (place)); + break; + case PROP_ACTIONS: + g_value_take_object (value, seahorse_gpgme_keyring_get_actions (place)); + break; + case PROP_ACTION_PREFIX: + g_value_set_string (value, seahorse_gpgme_keyring_get_action_prefix (place)); + break; + case PROP_MENU_MODEL: + g_value_take_object (value, seahorse_gpgme_keyring_get_menu_model (place)); + break; + case PROP_SHOW_IF_EMPTY: + g_value_set_boolean (value, TRUE); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec); + break; + } +} + +static void +seahorse_gpgme_keyring_set_property (GObject *obj, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + SeahorsePlace *place = SEAHORSE_PLACE (obj); + + switch (prop_id) { + case PROP_LABEL: + seahorse_gpgme_keyring_set_label (place, g_value_get_boxed (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec); + break; + } +} + +static void +seahorse_gpgme_keyring_dispose (GObject *object) +{ + SeahorseGpgmeKeyring *self = SEAHORSE_GPGME_KEYRING (object); + GList *l; + + g_hash_table_remove_all (self->keys); + + cancel_scheduled_refresh (self); + g_clear_object (&self->monitor_handle); + + for (l = self->orphan_secret; l != NULL; l = g_list_next (l)) + g_object_unref (l->data); + g_clear_pointer (&self->orphan_secret, g_list_free); + + G_OBJECT_CLASS (seahorse_gpgme_keyring_parent_class)->dispose (object); +} + +static void +seahorse_gpgme_keyring_finalize (GObject *object) +{ + SeahorseGpgmeKeyring *self = SEAHORSE_GPGME_KEYRING (object); + + g_clear_object (&self->actions); + g_hash_table_destroy (self->keys); + + /* All monitoring and scheduling should be done */ + g_assert (self->scheduled_refresh == 0); + g_assert (self->monitor_handle == 0); + + G_OBJECT_CLASS (seahorse_gpgme_keyring_parent_class)->finalize (object); +} + +static void +seahorse_gpgme_keyring_class_init (SeahorseGpgmeKeyringClass *klass) +{ + GObjectClass *gobject_class; + + g_debug ("init gpgme version %s", gpgme_check_version (NULL)); + +#ifdef ENABLE_NLS + gpgme_set_locale (NULL, LC_CTYPE, setlocale (LC_CTYPE, NULL)); + gpgme_set_locale (NULL, LC_MESSAGES, setlocale (LC_MESSAGES, NULL)); +#endif + + gobject_class = G_OBJECT_CLASS (klass); + gobject_class->get_property = seahorse_gpgme_keyring_get_property; + gobject_class->set_property = seahorse_gpgme_keyring_set_property; + gobject_class->dispose = seahorse_gpgme_keyring_dispose; + gobject_class->finalize = seahorse_gpgme_keyring_finalize; + + g_object_class_override_property (gobject_class, PROP_LABEL, "label"); + g_object_class_override_property (gobject_class, PROP_DESCRIPTION, "description"); + g_object_class_override_property (gobject_class, PROP_URI, "uri"); + g_object_class_override_property (gobject_class, PROP_ICON, "icon"); + g_object_class_override_property (gobject_class, PROP_CATEGORY, "category"); + g_object_class_override_property (gobject_class, PROP_ACTIONS, "actions"); + g_object_class_override_property (gobject_class, PROP_ACTION_PREFIX, "action-prefix"); + g_object_class_override_property (gobject_class, PROP_MENU_MODEL, "menu-model"); + g_object_class_override_property (gobject_class, PROP_SHOW_IF_EMPTY, "show-if-empty"); +} + +static void +seahorse_gpgme_keyring_place_iface (SeahorsePlaceIface *iface) +{ + iface->load = seahorse_gpgme_keyring_load_async; + iface->load_finish = seahorse_gpgme_keyring_load_finish; + iface->get_actions = seahorse_gpgme_keyring_get_actions; + iface->get_action_prefix = seahorse_gpgme_keyring_get_action_prefix; + iface->get_menu_model = seahorse_gpgme_keyring_get_menu_model; + iface->get_description = seahorse_gpgme_keyring_get_description; + iface->get_icon = seahorse_gpgme_keyring_get_icon; + iface->get_category = seahorse_gpgme_keyring_get_category; + iface->get_label = seahorse_gpgme_keyring_get_label; + iface->set_label = seahorse_gpgme_keyring_set_label; + iface->get_uri = seahorse_gpgme_keyring_get_uri; + iface->get_show_if_empty = seahorse_gpgme_keyring_get_show_if_empty; +} + +static guint +seahorse_gpgme_keyring_get_length (GcrCollection *collection) +{ + SeahorseGpgmeKeyring *self = SEAHORSE_GPGME_KEYRING (collection); + return g_hash_table_size (self->keys); +} + +static GList * +seahorse_gpgme_keyring_get_objects (GcrCollection *collection) +{ + SeahorseGpgmeKeyring *self = SEAHORSE_GPGME_KEYRING (collection); + return g_hash_table_get_values (self->keys); +} + +static gboolean +seahorse_gpgme_keyring_contains (GcrCollection *collection, + GObject *object) +{ + SeahorseGpgmeKeyring *self = SEAHORSE_GPGME_KEYRING (collection); + const gchar *keyid; + + if (!SEAHORSE_GPGME_IS_KEY (object)) + return FALSE; + + keyid = seahorse_pgp_key_get_keyid (SEAHORSE_PGP_KEY (object)); + return g_hash_table_lookup (self->keys, keyid) == object; +} + +static void +seahorse_gpgme_keyring_collection_iface (GcrCollectionIface *iface) +{ + iface->get_objects = seahorse_gpgme_keyring_get_objects; + iface->get_length = seahorse_gpgme_keyring_get_length; + iface->contains = seahorse_gpgme_keyring_contains; +} + +/** + * seahorse_gpgme_keyring_new + * + * Creates a new PGP key source + * + * Returns: The key source. + **/ +SeahorseGpgmeKeyring * +seahorse_gpgme_keyring_new (void) +{ + return g_object_new (SEAHORSE_TYPE_GPGME_KEYRING, NULL); +} + +gpgme_ctx_t +seahorse_gpgme_keyring_new_context (gpgme_error_t *gerr) +{ + gpgme_protocol_t proto = GPGME_PROTOCOL_OpenPGP; + gpgme_error_t error = 0; + gpgme_ctx_t ctx = NULL; + + error = gpgme_engine_check_version (proto); + if (error == 0) + error = gpgme_new (&ctx); + if (error == 0) + error = gpgme_set_protocol (ctx, proto); + + if (error != 0) { + g_message ("couldn't initialize gnupg properly: %s", + gpgme_strerror (error)); + if (gerr) + *gerr = error; + return NULL; + } + + gpgme_set_passphrase_cb (ctx, (gpgme_passphrase_cb_t)passphrase_get, NULL); + gpgme_set_keylist_mode (ctx, GPGME_KEYLIST_MODE_LOCAL); + if (gerr) + *gerr = 0; + return ctx; +} diff --git a/pgp/seahorse-gpgme-keyring.h b/pgp/seahorse-gpgme-keyring.h new file mode 100644 index 00000000..52aa54d5 --- /dev/null +++ b/pgp/seahorse-gpgme-keyring.h @@ -0,0 +1,67 @@ +/* + * Seahorse + * + * Copyright (C) 2004 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/** + * SeahorseGpgmeKeyring: A key keyring for PGP keys retrieved from GPGME. + * + * - Derived from SeahorseKeyring + * - Since GPGME represents secret keys as seperate from public keys, this + * class takes care to combine them into one logical SeahorsePGPKey object. + * - Adds the keys it loads to the SeahorseContext. + * - Eventually a lot of stuff from seahorse-op.* should probably be merged + * into this class. + * - Monitors ~/.gnupg for changes and reloads the key ring as necessary. + * + * Properties: + * location: (SeahorseLocation) The location of keys that come from this + * keyring. (ie: SEAHORSE_LOCATION_LOCAL, SEAHORSE_LOCATION_REMOTE) + */ + +#pragma once + +#include +#include +#include + +#include "seahorse-gpgme-key.h" + +#define SEAHORSE_TYPE_GPGME_KEYRING (seahorse_gpgme_keyring_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseGpgmeKeyring, seahorse_gpgme_keyring, + SEAHORSE, GPGME_KEYRING, + GObject); + +SeahorseGpgmeKeyring * seahorse_gpgme_keyring_new (void); + +gpgme_ctx_t seahorse_gpgme_keyring_new_context (gpgme_error_t *gerr); + +SeahorseGpgmeKey * seahorse_gpgme_keyring_lookup (SeahorseGpgmeKeyring *self, + const gchar *keyid); + +void seahorse_gpgme_keyring_remove_key (SeahorseGpgmeKeyring *self, + SeahorseGpgmeKey *key); + +void seahorse_gpgme_keyring_import_async (SeahorseGpgmeKeyring *self, + GInputStream *input, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GList * seahorse_gpgme_keyring_import_finish (SeahorseGpgmeKeyring *self, + GAsyncResult *result, + GError **error); diff --git a/pgp/seahorse-gpgme-photo.c b/pgp/seahorse-gpgme-photo.c new file mode 100644 index 00000000..cc85ae07 --- /dev/null +++ b/pgp/seahorse-gpgme-photo.c @@ -0,0 +1,166 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-gpgme.h" +#include "seahorse-gpgme-photo.h" + +#include + +#include + +enum { + PROP_0, + PROP_PUBKEY, + PROP_INDEX +}; + +struct _SeahorseGpgmePhoto { + SeahorsePgpPhoto parent_instance; + + gpgme_key_t pubkey; /* Key that this photo is on */ + guint index; /* The GPGME index of the photo */ +}; + +G_DEFINE_TYPE (SeahorseGpgmePhoto, seahorse_gpgme_photo, SEAHORSE_PGP_TYPE_PHOTO); + +/* ----------------------------------------------------------------------------- + * OBJECT + */ + +static void +seahorse_gpgme_photo_init (SeahorseGpgmePhoto *self) +{ +} + +static GObject* +seahorse_gpgme_photo_constructor (GType type, guint n_props, GObjectConstructParam *props) +{ + GObject *obj = G_OBJECT_CLASS (seahorse_gpgme_photo_parent_class)->constructor (type, n_props, props); + SeahorseGpgmePhoto *self = NULL; + + if (obj) { + self = SEAHORSE_GPGME_PHOTO (obj); + g_return_val_if_fail (self->pubkey, NULL); + } + + return obj; +} + +static void +seahorse_gpgme_photo_get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + SeahorseGpgmePhoto *self = SEAHORSE_GPGME_PHOTO (object); + + switch (prop_id) { + case PROP_PUBKEY: + g_value_set_boxed (value, seahorse_gpgme_photo_get_pubkey (self)); + break; + case PROP_INDEX: + g_value_set_uint (value, seahorse_gpgme_photo_get_index (self)); + break; + } +} + +static void +seahorse_gpgme_photo_set_property (GObject *object, guint prop_id, const GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmePhoto *self = SEAHORSE_GPGME_PHOTO (object); + + switch (prop_id) { + case PROP_PUBKEY: + g_return_if_fail (!self->pubkey); + self->pubkey = g_value_get_boxed (value); + if (self->pubkey) + gpgme_key_ref (self->pubkey); + break; + case PROP_INDEX: + seahorse_gpgme_photo_set_index (self, g_value_get_uint (value)); + break; + } +} + +static void +seahorse_gpgme_photo_finalize (GObject *gobject) +{ + SeahorseGpgmePhoto *self = SEAHORSE_GPGME_PHOTO (gobject); + + g_clear_pointer (&self->pubkey, gpgme_key_unref); + + G_OBJECT_CLASS (seahorse_gpgme_photo_parent_class)->finalize (gobject); +} + +static void +seahorse_gpgme_photo_class_init (SeahorseGpgmePhotoClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->constructor = seahorse_gpgme_photo_constructor; + gobject_class->finalize = seahorse_gpgme_photo_finalize; + gobject_class->set_property = seahorse_gpgme_photo_set_property; + gobject_class->get_property = seahorse_gpgme_photo_get_property; + + g_object_class_install_property (gobject_class, PROP_PUBKEY, + g_param_spec_boxed ("pubkey", "Public Key", "GPGME Public Key that this subkey is on", + SEAHORSE_GPGME_BOXED_KEY, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + + g_object_class_install_property (gobject_class, PROP_INDEX, + g_param_spec_uint ("index", "Index", "Index of photo UID", + 0, G_MAXUINT, 0, G_PARAM_READWRITE)); +} + +/* ----------------------------------------------------------------------------- + * PUBLIC + */ + +SeahorseGpgmePhoto* +seahorse_gpgme_photo_new (gpgme_key_t pubkey, GdkPixbuf *pixbuf, guint index) +{ + return g_object_new (SEAHORSE_TYPE_GPGME_PHOTO, + "pubkey", pubkey, + "pixbuf", pixbuf, + "index", index, NULL); +} + +gpgme_key_t +seahorse_gpgme_photo_get_pubkey (SeahorseGpgmePhoto *self) +{ + g_return_val_if_fail (SEAHORSE_IS_GPGME_PHOTO (self), NULL); + g_return_val_if_fail (self->pubkey, NULL); + return self->pubkey; +} + +guint +seahorse_gpgme_photo_get_index (SeahorseGpgmePhoto *self) +{ + g_return_val_if_fail (SEAHORSE_IS_GPGME_PHOTO (self), 0); + return self->index; +} + +void +seahorse_gpgme_photo_set_index (SeahorseGpgmePhoto *self, guint index) +{ + g_return_if_fail (SEAHORSE_IS_GPGME_PHOTO (self)); + + self->index = index; + g_object_notify (G_OBJECT (self), "index"); +} diff --git a/pgp/seahorse-gpgme-photo.h b/pgp/seahorse-gpgme-photo.h new file mode 100644 index 00000000..bcd45fde --- /dev/null +++ b/pgp/seahorse-gpgme-photo.h @@ -0,0 +1,43 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +#include + +#include "pgp/seahorse-gpgme.h" +#include "pgp/seahorse-pgp-photo.h" + +#define SEAHORSE_TYPE_GPGME_PHOTO (seahorse_gpgme_photo_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseGpgmePhoto, seahorse_gpgme_photo, + SEAHORSE, GPGME_PHOTO, + SeahorsePgpPhoto); + +SeahorseGpgmePhoto* seahorse_gpgme_photo_new (gpgme_key_t key, + GdkPixbuf *pixbuf, + guint index); + +gpgme_key_t seahorse_gpgme_photo_get_pubkey (SeahorseGpgmePhoto *self); + +guint seahorse_gpgme_photo_get_index (SeahorseGpgmePhoto *self); + +void seahorse_gpgme_photo_set_index (SeahorseGpgmePhoto *self, + guint index); diff --git a/pgp/seahorse-gpgme-photos.c b/pgp/seahorse-gpgme-photos.c new file mode 100644 index 00000000..48abd122 --- /dev/null +++ b/pgp/seahorse-gpgme-photos.c @@ -0,0 +1,339 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-gpgme-dialogs.h" + +#include "seahorse-gpgme-key-op.h" + +#include "libseahorse/seahorse-widget.h" +#include "libseahorse/seahorse-util.h" + +#include + +#include + +#include +#include +#include + +#define DEFAULT_WIDTH 120 +#define DEFAULT_HEIGHT 150 +#define LARGE_WIDTH 240 +#define LARGE_HEIGHT 288 + +static gboolean +calc_scale (gint *width, gint *height) +{ + gdouble ratio, recpx, imgpx; + + recpx = DEFAULT_WIDTH + DEFAULT_HEIGHT; + imgpx = (*width) + (*height); + + if (imgpx <= recpx) + return FALSE; + + /* + * Keep aspect ratio, and don't squash large aspect ratios + * unnecessarily. + */ + ratio = imgpx / recpx; + *height = ((gdouble)(*height)) / ratio; + *width = ((gdouble)(*width)) / ratio; + return TRUE; +} + +static guint +suggest_resize (GtkWindow *parent) +{ + GtkWidget *dlg; + guint response; + + dlg = gtk_message_dialog_new_with_markup (parent, + GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, + _("The photo is too large\nThe recommended size for a photo on your key is %d × %d pixels."), + DEFAULT_WIDTH, DEFAULT_HEIGHT); + + gtk_dialog_add_buttons (GTK_DIALOG (dlg), + _("_Cancel"), GTK_RESPONSE_CANCEL, + _("_Don’t Resize"), GTK_RESPONSE_REJECT, + _("_Resize"), GTK_RESPONSE_ACCEPT, + NULL); + + response = gtk_dialog_run (GTK_DIALOG (dlg)); + gtk_widget_destroy (dlg); + + return response; +} + +static gboolean +save_to_fd (const gchar *buf, gsize count, GError **error, gpointer data) +{ + int fd = GPOINTER_TO_INT (data); + gssize written; + + written = write (fd, buf, count); + if (written != (gssize) count) { + g_set_error (error, G_FILE_ERROR, g_file_error_from_errno (errno), + "%s", g_strerror (errno)); + return FALSE; + } + + return TRUE; +} + +static gboolean +prepare_photo_id (GtkWindow *parent, gchar *path, gchar **result, GError **error) +{ + GdkPixbuf *pixbuf = NULL; + GdkPixbuf *sampled; + GdkPixbufFormat *format; + gint width, height; + gboolean rewrite = FALSE; + gboolean resample = FALSE; + gboolean suggest = FALSE; + gboolean r; + gchar *name; + struct stat sb; + int fd; + + g_assert (path); + g_assert (result); + g_assert (!error || !*error); + + *result = NULL; + + format = gdk_pixbuf_get_file_info (path, &width, &height); + if (!format) { + g_set_error (error, SEAHORSE_ERROR, -1, + _("This is not a image file, or an unrecognized kind of image file. Try to use a JPEG image.")); + return FALSE; + } + + /* Check if it's a JPEG */ + name = gdk_pixbuf_format_get_name (format); + r = g_strcmp0 (name, "jpeg") == 0; + g_free (name); + + /* JPEGs we can use straight up */ + if (r) { + + /* If so we may just be able to use it straight up */ + if (stat (path, &sb) != -1) { + + /* Large file size, suggest resampling */ + if (sb.st_size > 8192) + suggest = TRUE; + } + + /* Other formats */ + } else { + rewrite = TRUE; + + /* Check for large, but allow strange orientations */ + if ((width + height) > (LARGE_WIDTH + LARGE_HEIGHT)) + suggest = TRUE; + } + + /* Suggest to the user that we resize the photo */ + if (suggest) { + switch (suggest_resize (parent)) { + case GTK_RESPONSE_ACCEPT: + resample = TRUE; + rewrite = TRUE; + break; + case GTK_RESPONSE_REJECT: + resample = FALSE; + break; + default: + /* FALSE with error not set = cancel */ + return FALSE; + } + } + + /* No rewrite */ + if (!rewrite) + return TRUE; + + /* Load the photo if necessary */ + pixbuf = gdk_pixbuf_new_from_file (path, error); + if (!pixbuf) + return FALSE; + + /* Resize it properly */ + if (resample && calc_scale (&width, &height)) { + sampled = gdk_pixbuf_scale_simple (pixbuf, width, height, + GDK_INTERP_BILINEAR); + g_object_unref (pixbuf); + + g_return_val_if_fail (sampled != NULL, FALSE); + pixbuf = sampled; + sampled = NULL; + } + + /* And write it out to a temp */ + fd = g_file_open_tmp ("seahorse-photo.XXXXXX", result, error); + if (fd == -1) { + g_object_unref (pixbuf); + return FALSE; + } + + r = gdk_pixbuf_save_to_callback (pixbuf, save_to_fd, GINT_TO_POINTER (fd), + "jpeg", error, "quality", "75", NULL); + + close (fd); + g_object_unref (pixbuf); + + if (!r) { + g_free (*result); + *result = NULL; + return FALSE; + } + + return TRUE; +} + + +static void +add_image_files (GtkWidget *dialog) +{ + GtkFileFilter* filter; + GSList *formats, *l; + gchar **mimes, **t; + + filter = gtk_file_filter_new (); + gtk_file_filter_set_name (filter, _("All image files")); + formats = gdk_pixbuf_get_formats (); + for (l = formats; l; l = g_slist_next (l)) { + mimes = gdk_pixbuf_format_get_mime_types ((GdkPixbufFormat*)l->data); + for (t = mimes; *t; t++) + gtk_file_filter_add_mime_type (filter, *t); + g_strfreev (mimes); + } + g_slist_free (formats); + gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter); + gtk_file_chooser_set_filter (GTK_FILE_CHOOSER (dialog), filter); + + filter = gtk_file_filter_new (); + gtk_file_filter_set_name (filter, _("All JPEG files")); + gtk_file_filter_add_mime_type (filter, "image/jpeg"); + gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter); + + filter = gtk_file_filter_new (); + gtk_file_filter_set_name (filter, _("All files")); + gtk_file_filter_add_pattern (filter, "*"); + gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog), filter); +} + + +gboolean +seahorse_gpgme_photo_add (SeahorseGpgmeKey *pkey, + GtkWindow *parent, + const gchar *path) +{ + gchar *filename = NULL; + gchar *tempfile = NULL; + GError *error = NULL; + gpgme_error_t gerr; + GtkWidget *chooser; + gboolean res = TRUE; + + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (pkey), FALSE); + + if (NULL == path) { + chooser = gtk_file_chooser_dialog_new (_("Choose Photo to Add to Key"), parent, + GTK_FILE_CHOOSER_ACTION_OPEN, + _("_Cancel"), GTK_RESPONSE_CANCEL, + _("_Open"), GTK_RESPONSE_ACCEPT, + NULL); + + gtk_dialog_set_default_response (GTK_DIALOG (chooser), GTK_RESPONSE_ACCEPT); + gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (chooser), TRUE); + add_image_files (chooser); + + if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_ACCEPT) + filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser)); + + gtk_widget_destroy (chooser); + + if (!filename) + return FALSE; + } else { + filename = g_strdup (path); + } + + if (!prepare_photo_id (parent, filename, &tempfile, &error)) { + seahorse_util_handle_error (&error, NULL, _("Couldn’t prepare photo")); + return FALSE; + } + + gerr = seahorse_gpgme_key_op_photo_add (pkey, tempfile ? tempfile : filename); + if (!GPG_IS_OK (gerr)) { + + /* A special error value set by seahorse_key_op_photoid_add to + denote an invalid format file */ + if (gerr == GPG_E (GPG_ERR_USER_1)) + seahorse_util_show_error (NULL, _("Couldn’t add photo"), + _("The file could not be loaded. It may be in an invalid format")); + else + seahorse_gpgme_handle_error (gerr, _("Couldn’t add photo")); + res = FALSE; + } + + g_free (filename); + if (tempfile) { + unlink (tempfile); + g_free (tempfile); + } + + return res; +} + +gboolean +seahorse_gpgme_photo_delete (SeahorseGpgmePhoto *photo, GtkWindow *parent) +{ + gpgme_error_t gerr; + GtkWidget *dlg; + gint response; + + g_return_val_if_fail (SEAHORSE_IS_GPGME_PHOTO (photo), FALSE); + + dlg = gtk_message_dialog_new (parent, GTK_DIALOG_MODAL, + GTK_MESSAGE_QUESTION, GTK_BUTTONS_NONE, + _("Are you sure you want to remove the current photo from your key?")); + + gtk_dialog_add_button (GTK_DIALOG (dlg), _("_Delete"), GTK_RESPONSE_ACCEPT); + gtk_dialog_add_button (GTK_DIALOG (dlg), _("_Cancel"), GTK_RESPONSE_REJECT); + + response = gtk_dialog_run (GTK_DIALOG (dlg)); + gtk_widget_destroy (dlg); + + if (response != GTK_RESPONSE_ACCEPT) + return FALSE; + + gerr = seahorse_gpgme_key_op_photo_delete (photo); + if (!GPG_IS_OK (gerr)) { + seahorse_gpgme_handle_error (gerr, _("Couldn’t delete photo")); + return FALSE; + } + + return TRUE; +} diff --git a/pgp/seahorse-gpgme-revoke.c b/pgp/seahorse-gpgme-revoke.c new file mode 100644 index 00000000..cace82af --- /dev/null +++ b/pgp/seahorse-gpgme-revoke.c @@ -0,0 +1,176 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-gpgme-dialogs.h" +#include "seahorse-gpgme-key-op.h" +#include "seahorse-pgp-dialogs.h" + +#include "libseahorse/seahorse-util.h" + +#include + +#include + +enum { + COLUMN_TEXT, + COLUMN_TOOLTIP, + COLUMN_INT, + N_COLUMNS +}; + + +void on_gpgme_revoke_ok_clicked (GtkButton *button, + gpointer user_data); + +G_MODULE_EXPORT void +on_gpgme_revoke_ok_clicked (GtkButton *button, + gpointer user_data) +{ + SeahorseWidget *swidget = SEAHORSE_WIDGET (user_data); + SeahorseRevokeReason reason; + SeahorseGpgmeSubkey *subkey; + const gchar *description; + gpgme_error_t err; + GtkWidget *widget; + GtkTreeModel *model; + GtkTreeIter iter; + GValue value; + + widget = GTK_WIDGET (seahorse_widget_get_widget (swidget, "reason")); + model = gtk_combo_box_get_model (GTK_COMBO_BOX (widget)); + gtk_combo_box_get_active_iter (GTK_COMBO_BOX (widget), &iter); + + memset (&value, 0, sizeof(value)); + gtk_tree_model_get_value (model, &iter, COLUMN_INT, &value); + reason = g_value_get_int (&value); + g_value_unset (&value); + + description = gtk_entry_get_text (GTK_ENTRY (seahorse_widget_get_widget (swidget, "description"))); + subkey = g_object_get_data (G_OBJECT (swidget), "subkey"); + g_return_if_fail (SEAHORSE_GPGME_IS_SUBKEY (subkey)); + + err = seahorse_gpgme_key_op_revoke_subkey (subkey, reason, description); + if (!GPG_IS_OK (err)) + seahorse_gpgme_handle_error (err, _("Couldn’t revoke subkey")); + seahorse_widget_destroy (swidget); +} + +void +seahorse_gpgme_revoke_new (SeahorseGpgmeSubkey *subkey, GtkWindow *parent) +{ + SeahorseWidget *swidget; + gchar *title; + const gchar *label; + GtkWidget *widget; + GtkListStore *store; + GtkTreeIter iter; + GtkCellRenderer *renderer; + + g_return_if_fail (SEAHORSE_GPGME_IS_SUBKEY (subkey)); + + swidget = seahorse_widget_new ("revoke", parent); + g_return_if_fail (swidget != NULL); + + label = seahorse_pgp_subkey_get_description (SEAHORSE_PGP_SUBKEY (subkey)); + title = g_strdup_printf (_("Revoke: %s"), label); + gtk_window_set_title (GTK_WINDOW (seahorse_widget_get_widget (swidget, swidget->name)), title); + g_free (title); + + g_object_set_data (G_OBJECT (swidget), "subkey", subkey); + + /* Initialize List Store for the Combo Box */ + store = gtk_list_store_new(N_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INT); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + COLUMN_TEXT, _("No reason"), + COLUMN_TOOLTIP, _("No reason for revoking key"), + COLUMN_INT, REVOKE_NO_REASON, + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + COLUMN_TEXT, _("Compromised"), + COLUMN_TOOLTIP, _("Key has been compromised"), + COLUMN_INT, REVOKE_COMPROMISED, + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + COLUMN_TEXT, _("Superseded"), + COLUMN_TOOLTIP, _("Key has been superseded"), + COLUMN_INT, REVOKE_SUPERSEDED, + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + COLUMN_TEXT, _("Not Used"), + COLUMN_TOOLTIP, _("Key is no longer used"), + COLUMN_INT, REVOKE_NOT_USED, + -1); + + /* Finish Setting Up Combo Box */ + widget = GTK_WIDGET (seahorse_widget_get_widget (swidget, "reason")); + + gtk_combo_box_set_model (GTK_COMBO_BOX (widget), GTK_TREE_MODEL (store)); + gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0); + + renderer = gtk_cell_renderer_text_new (); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (widget), renderer, TRUE); + gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (widget), renderer, + "text", COLUMN_TEXT, + NULL); +} + +void +seahorse_gpgme_add_revoker_new (SeahorseGpgmeKey *pkey, GtkWindow *parent) +{ + SeahorseGpgmeKey *revoker; + GtkWidget *dialog; + gint response; + gpgme_error_t err; + const gchar *userid1, *userid2; + + g_return_if_fail (pkey != NULL && SEAHORSE_GPGME_IS_KEY (pkey)); + + revoker = SEAHORSE_GPGME_KEY (seahorse_signer_get (parent)); + if (revoker == NULL) + return; + + userid1 = seahorse_object_get_label (SEAHORSE_OBJECT (revoker)); + userid2 = seahorse_object_get_label (SEAHORSE_OBJECT (pkey)); + + dialog = gtk_message_dialog_new (parent, GTK_DIALOG_MODAL, + GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO, + _("You are about to add %s as a revoker for %s." + " This operation cannot be undone! Are you sure you want to continue?"), + userid1, userid2); + + response = gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); + + if (response != GTK_RESPONSE_YES) + return; + + err = seahorse_gpgme_key_op_add_revoker (pkey, revoker); + if (!GPG_IS_OK (err)) + seahorse_gpgme_handle_error (err, _("Couldn’t add revoker")); +} diff --git a/pgp/seahorse-gpgme-secret-deleter.c b/pgp/seahorse-gpgme-secret-deleter.c new file mode 100644 index 00000000..b30dcca2 --- /dev/null +++ b/pgp/seahorse-gpgme-secret-deleter.c @@ -0,0 +1,169 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + * + * Author: Stef Walter + */ + +#include "config.h" + +#include "seahorse-gpgme.h" +#include "seahorse-gpgme-key-op.h" +#include "seahorse-gpgme-secret-deleter.h" + +#include "seahorse-common.h" + +#include + +#define SEAHORSE_GPGME_SECRET_DELETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_TYPE_GPGME_SECRET_DELETER, SeahorseGpgmeSecretDeleterClass)) +#define SEAHORSE_IS_GPGME_SECRET_DELETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_TYPE_GPGME_SECRET_DELETER)) +#define SEAHORSE_GPGME_SECRET_DELETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_TYPE_GPGME_SECRET_DELETER, SeahorseGpgmeSecretDeleterClass)) + +typedef struct _SeahorseGpgmeSecretDeleterClass SeahorseGpgmeSecretDeleterClass; + +struct _SeahorseGpgmeSecretDeleter { + SeahorseDeleter parent; + SeahorseGpgmeKey *key; + GList *keys; +}; + +struct _SeahorseGpgmeSecretDeleterClass { + SeahorseDeleterClass parent_class; +}; + +G_DEFINE_TYPE (SeahorseGpgmeSecretDeleter, seahorse_gpgme_secret_deleter, SEAHORSE_TYPE_DELETER); + +static GtkDialog * +seahorse_gpgme_secret_deleter_create_confirm (SeahorseDeleter *deleter, + GtkWindow *parent) +{ + SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter); + GtkDialog *dialog; + g_autofree gchar *prompt = NULL; + + prompt = g_strdup_printf (_("Are you sure you want to permanently delete %s?"), + seahorse_object_get_label (SEAHORSE_OBJECT (self->key))); + + dialog = seahorse_delete_dialog_new (parent, "%s", prompt); + + seahorse_delete_dialog_set_check_label (SEAHORSE_DELETE_DIALOG (dialog), _("I understand that this secret key will be permanently deleted.")); + seahorse_delete_dialog_set_check_require (SEAHORSE_DELETE_DIALOG (dialog), TRUE); + + return g_object_ref (dialog); +} + +static GList * +seahorse_gpgme_secret_deleter_get_objects (SeahorseDeleter *deleter) +{ + SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter); + return self->keys; +} + +static gboolean +seahorse_gpgme_secret_deleter_add_object (SeahorseDeleter *deleter, + GObject *object) +{ + SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter); + + if (!SEAHORSE_GPGME_IS_KEY (object)) + return FALSE; + if (self->key) + return FALSE; + if (seahorse_object_get_usage (SEAHORSE_OBJECT (object)) != SEAHORSE_USAGE_PRIVATE_KEY) + return FALSE; + self->key = SEAHORSE_GPGME_KEY (g_object_ref (object)); + self->keys = g_list_append (self->keys, object); + return TRUE; +} + +static void +seahorse_gpgme_secret_deleter_delete_async (SeahorseDeleter *deleter, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter); + g_autoptr(GTask) task = NULL; + g_autoptr(GError) error = NULL; + gpgme_error_t gerr; + + task = g_task_new (self, cancellable, callback, user_data); + + gerr = seahorse_gpgme_key_op_delete_pair (self->key); + if (seahorse_gpgme_propagate_error (gerr, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + g_task_return_boolean (task, TRUE); +} + +static gboolean +seahorse_gpgme_secret_deleter_delete_finish (SeahorseDeleter *deleter, + GAsyncResult *result, + GError **error) +{ + SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter); + + g_return_val_if_fail (g_task_is_valid (result, self), FALSE); + + return g_task_propagate_boolean (G_TASK (result), error); +} + +static void +seahorse_gpgme_secret_deleter_init (SeahorseGpgmeSecretDeleter *self) +{ +} + +static void +seahorse_gpgme_secret_deleter_finalize (GObject *obj) +{ + SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (obj); + + g_clear_object (&self->key); + g_list_free (self->keys); + + G_OBJECT_CLASS (seahorse_gpgme_secret_deleter_parent_class)->finalize (obj); +} + +static void +seahorse_gpgme_secret_deleter_class_init (SeahorseGpgmeSecretDeleterClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + SeahorseDeleterClass *deleter_class = SEAHORSE_DELETER_CLASS (klass); + + gobject_class->finalize = seahorse_gpgme_secret_deleter_finalize; + + deleter_class->add_object = seahorse_gpgme_secret_deleter_add_object; + deleter_class->create_confirm = seahorse_gpgme_secret_deleter_create_confirm; + deleter_class->delete = seahorse_gpgme_secret_deleter_delete_async; + deleter_class->delete_finish = seahorse_gpgme_secret_deleter_delete_finish; + deleter_class->get_objects = seahorse_gpgme_secret_deleter_get_objects; +} + +SeahorseDeleter * +seahorse_gpgme_secret_deleter_new (SeahorseGpgmeKey *key) +{ + SeahorseDeleter *deleter; + + deleter = g_object_new (SEAHORSE_TYPE_GPGME_SECRET_DELETER, NULL); + if (!seahorse_deleter_add_object (deleter, G_OBJECT (key))) + g_assert_not_reached (); + + return deleter; +} diff --git a/pgp/seahorse-gpgme-secret-deleter.h b/pgp/seahorse-gpgme-secret-deleter.h new file mode 100644 index 00000000..dc8b9751 --- /dev/null +++ b/pgp/seahorse-gpgme-secret-deleter.h @@ -0,0 +1,38 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + * + * Author: Stef Walter + */ + +#pragma once + +#include + +#include "seahorse-common.h" +#include "seahorse-gpgme-key.h" + +#define SEAHORSE_TYPE_GPGME_SECRET_DELETER (seahorse_gpgme_secret_deleter_get_type ()) +#define SEAHORSE_GPGME_SECRET_DELETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_GPGME_SECRET_DELETER, SeahorseGpgmeSecretDeleter)) +#define SEAHORSE_IS_GPGME_SECRET_DELETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_TYPE_GPGME_SECRET_DELETER)) + +typedef struct _SeahorseGpgmeSecretDeleter SeahorseGpgmeSecretDeleter; + +GType seahorse_gpgme_secret_deleter_get_type (void) G_GNUC_CONST; + +SeahorseDeleter * seahorse_gpgme_secret_deleter_new (SeahorseGpgmeKey *key); diff --git a/pgp/seahorse-gpgme-sign-dialog.c b/pgp/seahorse-gpgme-sign-dialog.c new file mode 100644 index 00000000..1059f29e --- /dev/null +++ b/pgp/seahorse-gpgme-sign-dialog.c @@ -0,0 +1,305 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * Copyright (C) 2006 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-combo-keys.h" +#include "seahorse-gpgme-sign-dialog.h" +#include "seahorse-gpgme-key-op.h" +#include "seahorse-pgp-keysets.h" + +#include "seahorse-common.h" + +#include "libseahorse/seahorse-util.h" + +#include + +struct _SeahorseGpgmeSignDialog { + GtkDialog parent_instance; + + SeahorseObject *to_sign; + + GtkWidget *to_sign_name_label; + + GtkWidget *sign_display_not; + GtkWidget *sign_display_casual; + GtkWidget *sign_display_careful; + + GtkWidget *sign_choice_not; + GtkWidget *sign_choice_casual; + GtkWidget *sign_choice_careful; + + GtkWidget *sign_option_local; + GtkWidget *sign_option_revocable; + + GtkWidget *signer_select; + GtkWidget *signer_frame; +}; + +enum { + PROP_0, + PROP_TO_SIGN, + N_PROPS +}; +static GParamSpec *obj_props[N_PROPS] = { NULL, }; + +G_DEFINE_TYPE (SeahorseGpgmeSignDialog, seahorse_gpgme_sign_dialog, GTK_TYPE_DIALOG) + + +static void +on_collection_changed (GcrCollection *collection, + GObject *object, + gpointer user_data) +{ + SeahorseGpgmeSignDialog *self = SEAHORSE_GPGME_SIGN_DIALOG (user_data); + + gtk_widget_set_visible (self->signer_frame, + gcr_collection_get_length (collection) > 1); +} + +static void +on_gpgme_sign_choice_toggled (GtkToggleButton *toggle, + gpointer user_data) +{ + SeahorseGpgmeSignDialog *self = SEAHORSE_GPGME_SIGN_DIALOG (user_data); + + /* Figure out choice */ + gtk_widget_set_visible (self->sign_display_not, + gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->sign_choice_not))); + + gtk_widget_set_visible (self->sign_display_casual, + gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->sign_choice_casual))); + + gtk_widget_set_visible (self->sign_display_careful, + gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->sign_choice_careful))); +} + +static void +seahorse_gpgme_sign_dialog_response (GtkDialog *dialog, int response) +{ + SeahorseGpgmeSignDialog *self = SEAHORSE_GPGME_SIGN_DIALOG (dialog); + SeahorseSignCheck check; + SeahorseSignOptions options = 0; + SeahorsePgpKey *signer; + gpgme_error_t err; + + if (response != GTK_RESPONSE_OK) + return; + + /* Figure out choice */ + check = SIGN_CHECK_NO_ANSWER; + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->sign_choice_not))) + check = SIGN_CHECK_NONE; + else { + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->sign_choice_casual))) + check = SIGN_CHECK_CASUAL; + else { + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->sign_choice_careful))) + check = SIGN_CHECK_CAREFUL; + } + } + + /* Local signature */ + if (gtk_switch_get_active (GTK_SWITCH (self->sign_option_local))) + options |= SIGN_LOCAL; + + /* Revocable signature */ + if (!gtk_switch_get_active (GTK_SWITCH (self->sign_option_revocable))) + options |= SIGN_NO_REVOKE; + + /* Signer */ + signer = seahorse_combo_keys_get_active (GTK_COMBO_BOX (self->signer_select)); + + g_assert (!signer || (SEAHORSE_GPGME_IS_KEY (signer) && + seahorse_object_get_usage (SEAHORSE_OBJECT (signer)) == SEAHORSE_USAGE_PRIVATE_KEY)); + + if (SEAHORSE_GPGME_IS_UID (self->to_sign)) + err = seahorse_gpgme_key_op_sign_uid (SEAHORSE_GPGME_UID (self->to_sign), SEAHORSE_GPGME_KEY (signer), check, options); + else if (SEAHORSE_GPGME_IS_KEY (self->to_sign)) + err = seahorse_gpgme_key_op_sign (SEAHORSE_GPGME_KEY (self->to_sign), SEAHORSE_GPGME_KEY (signer), check, options); + else + g_assert (FALSE); + + + if (!GPG_IS_OK (err)) { + if (gpgme_err_code (err) == GPG_ERR_EALREADY) { + GtkWidget *w; + + w = gtk_message_dialog_new (GTK_WINDOW (self), GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, + _("This key was already signed by\n“%s”"), + seahorse_object_get_label (SEAHORSE_OBJECT (signer))); + gtk_dialog_run (GTK_DIALOG (w)); + gtk_widget_destroy (w); + } else + seahorse_gpgme_handle_error (err, _("Couldn’t sign key")); + } +} + +static void +seahorse_gpgme_sign_dialog_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeSignDialog *self = SEAHORSE_GPGME_SIGN_DIALOG (object); + + switch (prop_id) { + case PROP_TO_SIGN: + g_value_set_object (value, self->to_sign); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +seahorse_gpgme_sign_dialog_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeSignDialog *self = SEAHORSE_GPGME_SIGN_DIALOG (object); + + switch (prop_id) { + case PROP_TO_SIGN: + g_clear_object (&self->to_sign); + self->to_sign = g_value_dup_object (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +seahorse_gpgme_sign_dialog_finalize (GObject *obj) +{ + SeahorseGpgmeSignDialog *self = SEAHORSE_GPGME_SIGN_DIALOG (obj); + + g_clear_object (&self->to_sign); + + G_OBJECT_CLASS (seahorse_gpgme_sign_dialog_parent_class)->finalize (obj); +} + +static void +seahorse_gpgme_sign_dialog_constructed (GObject *obj) +{ + SeahorseGpgmeSignDialog *self = SEAHORSE_GPGME_SIGN_DIALOG (obj); + g_autofree char *userid = NULL; + + G_OBJECT_CLASS (seahorse_gpgme_sign_dialog_parent_class)->constructed (obj); + + userid = g_markup_printf_escaped("%s", + seahorse_object_get_label (self->to_sign)); + gtk_label_set_markup (GTK_LABEL (self->to_sign_name_label), userid); + + /* Initial choice */ + on_gpgme_sign_choice_toggled (NULL, self); + + /* Other question's default state */ + gtk_switch_set_active (GTK_SWITCH (self->sign_option_local), FALSE); + gtk_switch_set_active (GTK_SWITCH (self->sign_option_revocable), TRUE); +} + +static void +seahorse_gpgme_sign_dialog_init (SeahorseGpgmeSignDialog *self) +{ + gtk_widget_init_template (GTK_WIDGET (self)); +} + +static void +seahorse_gpgme_sign_dialog_class_init (SeahorseGpgmeSignDialogClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkDialogClass *dialog_class = GTK_DIALOG_CLASS (klass); + + gobject_class->constructed = seahorse_gpgme_sign_dialog_constructed; + gobject_class->get_property = seahorse_gpgme_sign_dialog_get_property; + gobject_class->set_property = seahorse_gpgme_sign_dialog_set_property; + gobject_class->finalize = seahorse_gpgme_sign_dialog_finalize; + + obj_props[PROP_TO_SIGN] = + g_param_spec_object ("to-sign", "Item to be signed", + "The GPGME key or uid you want to sign", + SEAHORSE_TYPE_OBJECT, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS); + + g_object_class_install_properties (gobject_class, N_PROPS, obj_props); + + gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/Seahorse/seahorse-gpgme-sign-dialog.ui"); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeSignDialog, to_sign_name_label); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeSignDialog, sign_display_not); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeSignDialog, sign_display_casual); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeSignDialog, sign_display_careful); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeSignDialog, sign_choice_not); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeSignDialog, sign_choice_casual); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeSignDialog, sign_choice_careful); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeSignDialog, sign_option_local); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeSignDialog, sign_option_revocable); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeSignDialog, signer_frame); + gtk_widget_class_bind_template_child (widget_class, SeahorseGpgmeSignDialog, signer_select); + gtk_widget_class_bind_template_callback (widget_class, on_gpgme_sign_choice_toggled); + + dialog_class->response = seahorse_gpgme_sign_dialog_response; +} + +SeahorseGpgmeSignDialog * +seahorse_gpgme_sign_dialog_new (SeahorseObject *to_sign) +{ + g_autoptr(SeahorseGpgmeSignDialog) self = NULL; + GcrCollection *collection; + + g_return_val_if_fail (SEAHORSE_GPGME_IS_KEY (to_sign) || + SEAHORSE_GPGME_IS_UID (to_sign), NULL); + + /* If no signing keys then we can't sign */ + collection = seahorse_keyset_pgp_signers_new (); + if (gcr_collection_get_length (collection) == 0) { + /* TODO: We should be giving an error message that allows them to + generate or import a key */ + seahorse_util_show_error (NULL, _("No keys usable for signing"), + _("You have no personal PGP keys that can be used to indicate your trust of this key.")); + return NULL; + } + + self = g_object_new (SEAHORSE_GPGME_TYPE_SIGN_DIALOG, + "to-sign", to_sign, + "use-header-bar", 1, + NULL); + + /* Signature area */ + g_signal_connect_object (collection, "added", + G_CALLBACK (on_collection_changed), self, 0); + g_signal_connect_object (collection, "removed", + G_CALLBACK (on_collection_changed), self, 0); + on_collection_changed (collection, NULL, self); + + /* Signer box */ + seahorse_combo_keys_attach (GTK_COMBO_BOX (self->signer_select), + collection, NULL); + + g_object_unref (collection); + + return g_steal_pointer (&self); +} diff --git a/pgp/seahorse-gpgme-sign-dialog.h b/pgp/seahorse-gpgme-sign-dialog.h new file mode 100644 index 00000000..f99a81af --- /dev/null +++ b/pgp/seahorse-gpgme-sign-dialog.h @@ -0,0 +1,32 @@ +/* + * Seahorse + * + * Copyright (C) 2020 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +#include "pgp/seahorse-gpgme-key.h" +#include "pgp/seahorse-gpgme-uid.h" + +#define SEAHORSE_GPGME_TYPE_SIGN_DIALOG (seahorse_gpgme_sign_dialog_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseGpgmeSignDialog, seahorse_gpgme_sign_dialog, + SEAHORSE_GPGME, SIGN_DIALOG, + GtkDialog) + +SeahorseGpgmeSignDialog* seahorse_gpgme_sign_dialog_new (SeahorseObject *to_sign); diff --git a/pgp/seahorse-gpgme-sign-dialog.ui b/pgp/seahorse-gpgme-sign-dialog.ui new file mode 100644 index 00000000..cf03894d --- /dev/null +++ b/pgp/seahorse-gpgme-sign-dialog.ui @@ -0,0 +1,344 @@ + + + + + diff --git a/pgp/seahorse-gpgme-subkey.c b/pgp/seahorse-gpgme-subkey.c new file mode 100644 index 00000000..6901ce66 --- /dev/null +++ b/pgp/seahorse-gpgme-subkey.c @@ -0,0 +1,233 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-gpgme.h" +#include "seahorse-gpgme-subkey.h" +#include "seahorse-gpgme-uid.h" + +#include + +#include + +enum { + PROP_0, + PROP_PUBKEY, + PROP_SUBKEY +}; + +struct _SeahorseGpgmeSubkey { + SeahorsePgpSubkey parent_instance; + + gpgme_key_t pubkey; /* The public key that this subkey is part of */ + gpgme_subkey_t subkey; /* The subkey referred to */ +}; + +G_DEFINE_TYPE (SeahorseGpgmeSubkey, seahorse_gpgme_subkey, SEAHORSE_PGP_TYPE_SUBKEY); + + +gpgme_key_t +seahorse_gpgme_subkey_get_pubkey (SeahorseGpgmeSubkey *self) +{ + g_return_val_if_fail (SEAHORSE_GPGME_IS_SUBKEY (self), NULL); + g_return_val_if_fail (self->pubkey, NULL); + return self->pubkey; +} + +gpgme_subkey_t +seahorse_gpgme_subkey_get_subkey (SeahorseGpgmeSubkey *self) +{ + g_return_val_if_fail (SEAHORSE_GPGME_IS_SUBKEY (self), NULL); + g_return_val_if_fail (self->subkey, NULL); + return self->subkey; +} + +void +seahorse_gpgme_subkey_set_subkey (SeahorseGpgmeSubkey *self, gpgme_subkey_t subkey) +{ + g_autofree gchar *description = NULL, *fingerprint = NULL, *name = NULL; + SeahorsePgpSubkey *base; + const gchar *algo_type; + GObject *obj; + gpgme_subkey_t sub; + gint i, index; + guint flags; + + g_return_if_fail (SEAHORSE_GPGME_IS_SUBKEY (self)); + g_return_if_fail (subkey); + + /* Make sure that this subkey is in the pubkey */ + index = -1; + for (i = 0, sub = self->pubkey->subkeys; sub; ++i, sub = sub->next) { + if (sub == subkey) { + index = i; + break; + } + } + g_return_if_fail (index >= 0); + + /* Calculate the algorithm */ + algo_type = gpgme_pubkey_algo_name (subkey->pubkey_algo); + if (algo_type == NULL) + algo_type = C_("Algorithm", "Unknown"); + else if (g_str_equal ("Elg", algo_type) || g_str_equal("ELG-E", algo_type)) + algo_type = _("ElGamal"); + + /* Additional properties */ + fingerprint = seahorse_pgp_subkey_calc_fingerprint (subkey->fpr); + name = seahorse_gpgme_uid_calc_name (self->pubkey->uids); + description = seahorse_pgp_subkey_calc_description (name, index); + + self->subkey = subkey; + + obj = G_OBJECT (self); + g_object_freeze_notify (obj); + + base = SEAHORSE_PGP_SUBKEY (self); + seahorse_pgp_subkey_set_index (base, index); + seahorse_pgp_subkey_set_keyid (base, subkey->keyid); + seahorse_pgp_subkey_set_algorithm (base, algo_type); + seahorse_pgp_subkey_set_length (base, subkey->length); + seahorse_pgp_subkey_set_description (base, description); + seahorse_pgp_subkey_set_fingerprint (base, fingerprint); + seahorse_pgp_subkey_set_created (base, subkey->timestamp); + seahorse_pgp_subkey_set_expires (base, subkey->expires); + + /* The order below is significant */ + flags = 0; + if (subkey->revoked) + flags |= SEAHORSE_FLAG_REVOKED; + if (subkey->expired) + flags |= SEAHORSE_FLAG_EXPIRED; + if (subkey->disabled) + flags |= SEAHORSE_FLAG_DISABLED; + if (flags == 0 && !subkey->invalid) + flags |= SEAHORSE_FLAG_IS_VALID; + if (subkey->can_encrypt) + flags |= SEAHORSE_FLAG_CAN_ENCRYPT; + if (subkey->can_sign) + flags |= SEAHORSE_FLAG_CAN_SIGN; + if (subkey->can_certify) + flags |= SEAHORSE_FLAG_CAN_CERTIFY; + if (subkey->can_authenticate) + flags |= SEAHORSE_FLAG_CAN_AUTHENTICATE; + + seahorse_pgp_subkey_set_flags (base, flags); + + g_object_notify (obj, "subkey"); + g_object_thaw_notify (obj); +} + +static void +seahorse_gpgme_subkey_init (SeahorseGpgmeSubkey *self) +{ +} + +static GObject* +seahorse_gpgme_subkey_constructor (GType type, guint n_props, GObjectConstructParam *props) +{ + GObject *obj; + SeahorseGpgmeSubkey *self = NULL; + + obj = G_OBJECT_CLASS (seahorse_gpgme_subkey_parent_class)->constructor (type, n_props, props); + if (obj) { + self = SEAHORSE_GPGME_SUBKEY (obj); + g_return_val_if_fail (self->pubkey, NULL); + } + + return obj; +} + +static void +seahorse_gpgme_subkey_get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + SeahorseGpgmeSubkey *self = SEAHORSE_GPGME_SUBKEY (object); + + switch (prop_id) { + case PROP_PUBKEY: + g_value_set_boxed (value, seahorse_gpgme_subkey_get_pubkey (self)); + break; + case PROP_SUBKEY: + g_value_set_pointer (value, seahorse_gpgme_subkey_get_subkey (self)); + break; + } +} + +static void +seahorse_gpgme_subkey_set_property (GObject *object, guint prop_id, const GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeSubkey *self = SEAHORSE_GPGME_SUBKEY (object); + + switch (prop_id) { + case PROP_PUBKEY: + g_return_if_fail (!self->pubkey); + self->pubkey = g_value_get_boxed (value); + if (self->pubkey) + gpgme_key_ref (self->pubkey); + break; + case PROP_SUBKEY: + seahorse_gpgme_subkey_set_subkey (self, g_value_get_pointer (value)); + break; + } +} + +static void +seahorse_gpgme_subkey_finalize (GObject *gobject) +{ + SeahorseGpgmeSubkey *self = SEAHORSE_GPGME_SUBKEY (gobject); + + /* Unref the key */ + if (self->pubkey) + gpgme_key_unref (self->pubkey); + self->pubkey = NULL; + self->subkey = NULL; + + G_OBJECT_CLASS (seahorse_gpgme_subkey_parent_class)->finalize (gobject); +} + +static void +seahorse_gpgme_subkey_class_init (SeahorseGpgmeSubkeyClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->constructor = seahorse_gpgme_subkey_constructor; + gobject_class->finalize = seahorse_gpgme_subkey_finalize; + gobject_class->set_property = seahorse_gpgme_subkey_set_property; + gobject_class->get_property = seahorse_gpgme_subkey_get_property; + + g_object_class_install_property (gobject_class, PROP_PUBKEY, + g_param_spec_boxed ("pubkey", "Public Key", "GPGME Public Key that this subkey is on", + SEAHORSE_GPGME_BOXED_KEY, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT_ONLY)); + + g_object_class_install_property (gobject_class, PROP_SUBKEY, + g_param_spec_pointer ("subkey", "Subkey", "GPGME Subkey", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); +} + +SeahorseGpgmeSubkey* +seahorse_gpgme_subkey_new (gpgme_key_t pubkey, gpgme_subkey_t subkey) +{ + return g_object_new (SEAHORSE_GPGME_TYPE_SUBKEY, + "pubkey", pubkey, + "subkey", subkey, NULL); +} diff --git a/pgp/seahorse-gpgme-subkey.h b/pgp/seahorse-gpgme-subkey.h new file mode 100644 index 00000000..248a269d --- /dev/null +++ b/pgp/seahorse-gpgme-subkey.h @@ -0,0 +1,41 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +#include + +#include "pgp/seahorse-pgp-subkey.h" + +#define SEAHORSE_GPGME_TYPE_SUBKEY (seahorse_gpgme_subkey_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseGpgmeSubkey, seahorse_gpgme_subkey, + SEAHORSE_GPGME, SUBKEY, + SeahorsePgpSubkey) + +SeahorseGpgmeSubkey* seahorse_gpgme_subkey_new (gpgme_key_t pubkey, + gpgme_subkey_t subkey); + +gpgme_key_t seahorse_gpgme_subkey_get_pubkey (SeahorseGpgmeSubkey *self); + +gpgme_subkey_t seahorse_gpgme_subkey_get_subkey (SeahorseGpgmeSubkey *self); + +void seahorse_gpgme_subkey_set_subkey (SeahorseGpgmeSubkey *self, + gpgme_subkey_t subkey); diff --git a/pgp/seahorse-gpgme-uid.c b/pgp/seahorse-gpgme-uid.c new file mode 100644 index 00000000..8570513b --- /dev/null +++ b/pgp/seahorse-gpgme-uid.c @@ -0,0 +1,374 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-gpgme.h" +#include "seahorse-gpgme-uid.h" +#include "seahorse-pgp-key.h" +#include "seahorse-pgp-signature.h" + +#include "libseahorse/seahorse-object-list.h" + +#include + +#include + +enum { + PROP_0, + PROP_PUBKEY, + PROP_USERID, + PROP_GPGME_INDEX, + PROP_ACTUAL_INDEX +}; + +struct _SeahorseGpgmeUid { + SeahorsePgpUid parent_instance; + + gpgme_key_t pubkey; /* The public key that this uid is part of */ + gpgme_user_id_t userid; /* The userid referred to */ + guint gpgme_index; /* The GPGME index of the UID */ + gint actual_index; /* The actual index of this UID */ +}; + +G_DEFINE_TYPE (SeahorseGpgmeUid, seahorse_gpgme_uid, SEAHORSE_PGP_TYPE_UID); + +static gchar* +convert_string (const gchar *str) +{ + if (!str) + return NULL; + + /* If not utf8 valid, assume latin 1 */ + if (!g_utf8_validate (str, -1, NULL)) + return g_convert (str, -1, "UTF-8", "ISO-8859-1", NULL, NULL, NULL); + + return g_strdup (str); +} + +static void +realize_signatures (SeahorseGpgmeUid *self) +{ + gpgme_key_sig_t gsig; + SeahorsePgpSignature *sig; + GList *sigs = NULL; + guint flags; + + g_return_if_fail (self->pubkey); + g_return_if_fail (self->userid); + + /* If this key was loaded without signatures, then leave them as is */ + if ((self->pubkey->keylist_mode & GPGME_KEYLIST_MODE_SIGS) == 0) + return; + + for (gsig = self->userid->signatures; gsig; gsig = gsig->next) { + sig = seahorse_pgp_signature_new (gsig->keyid); + + /* Order of parsing these flags is important */ + flags = 0; + if (gsig->revoked) + flags |= SEAHORSE_FLAG_REVOKED; + if (gsig->expired) + flags |= SEAHORSE_FLAG_EXPIRED; + if (flags == 0 && !gsig->invalid) + flags = SEAHORSE_FLAG_IS_VALID; + if (gsig->exportable) + flags |= SEAHORSE_FLAG_EXPORTABLE; + + seahorse_pgp_signature_set_flags (sig, flags); + sigs = g_list_prepend (sigs, sig); + } + + seahorse_pgp_uid_set_signatures (SEAHORSE_PGP_UID (self), sigs); + seahorse_object_list_free (sigs); +} + +static gboolean +compare_strings (const gchar *a, const gchar *b) +{ + if (a == b) + return TRUE; + if (!a || !b) + return FALSE; + return g_str_equal (a, b); +} + +static gboolean +compare_pubkeys (gpgme_key_t a, gpgme_key_t b) +{ + g_assert (a); + g_assert (b); + + g_return_val_if_fail (a->subkeys, FALSE); + g_return_val_if_fail (b->subkeys, FALSE); + + return compare_strings (a->subkeys->keyid, b->subkeys->keyid); +} + +/* ----------------------------------------------------------------------------- + * OBJECT + */ + +gpgme_key_t +seahorse_gpgme_uid_get_pubkey (SeahorseGpgmeUid *self) +{ + g_return_val_if_fail (SEAHORSE_GPGME_IS_UID (self), NULL); + g_return_val_if_fail (self->pubkey, NULL); + return self->pubkey; +} + +gpgme_user_id_t +seahorse_gpgme_uid_get_userid (SeahorseGpgmeUid *self) +{ + g_return_val_if_fail (SEAHORSE_GPGME_IS_UID (self), NULL); + g_return_val_if_fail (self->userid, NULL); + return self->userid; +} + +void +seahorse_gpgme_uid_set_userid (SeahorseGpgmeUid *self, gpgme_user_id_t userid) +{ + SeahorsePgpUid *base; + GObject *obj; + gpgme_user_id_t uid; + gchar *string; + gint index, i; + + g_return_if_fail (SEAHORSE_GPGME_IS_UID (self)); + g_return_if_fail (userid); + + if (self->userid) + g_return_if_fail (seahorse_gpgme_uid_is_same (self, userid)); + + /* Make sure that this userid is in the pubkey */ + index = -1; + for (i = 0, uid = self->pubkey->uids; uid; ++i, uid = uid->next) { + if(userid == uid) { + index = i; + break; + } + } + + g_return_if_fail (index >= 0); + + self->userid = userid; + self->gpgme_index = index; + + obj = G_OBJECT (self); + g_object_freeze_notify (obj); + g_object_notify (obj, "userid"); + g_object_notify (obj, "gpgme_index"); + + base = SEAHORSE_PGP_UID (self); + + string = convert_string (userid->comment); + seahorse_pgp_uid_set_comment (base, string); + g_free (string); + + string = convert_string (userid->email); + seahorse_pgp_uid_set_email (base, string); + g_free (string); + + string = convert_string (userid->name); + seahorse_pgp_uid_set_name (base, string); + g_free (string); + + realize_signatures (self); + + seahorse_pgp_uid_set_validity (base, seahorse_gpgme_convert_validity (userid->validity)); + + g_object_thaw_notify (obj); +} + +guint +seahorse_gpgme_uid_get_gpgme_index (SeahorseGpgmeUid *self) +{ + g_return_val_if_fail (SEAHORSE_GPGME_IS_UID (self), 0); + return self->gpgme_index; +} + +guint +seahorse_gpgme_uid_get_actual_index (SeahorseGpgmeUid *self) +{ + g_return_val_if_fail (SEAHORSE_GPGME_IS_UID (self), 0); + if(self->actual_index < 0) + return self->gpgme_index + 1; + return self->actual_index; +} + +void +seahorse_gpgme_uid_set_actual_index (SeahorseGpgmeUid *self, guint actual_index) +{ + g_return_if_fail (SEAHORSE_GPGME_IS_UID (self)); + self->actual_index = actual_index; + g_object_notify (G_OBJECT (self), "actual-index"); +} + +gchar* +seahorse_gpgme_uid_calc_label (gpgme_user_id_t userid) +{ + g_return_val_if_fail (userid, NULL); + return convert_string (userid->uid); +} + +gchar* +seahorse_gpgme_uid_calc_name (gpgme_user_id_t userid) +{ + g_return_val_if_fail (userid, NULL); + return convert_string (userid->name); +} + +gchar* +seahorse_gpgme_uid_calc_markup (gpgme_user_id_t userid, guint flags) +{ + g_autofree gchar *email = NULL, *name = NULL, *comment = NULL; + + g_return_val_if_fail (userid, NULL); + + name = convert_string (userid->name); + email = convert_string (userid->email); + comment = convert_string (userid->comment); + + return seahorse_pgp_uid_calc_markup (name, email, comment, flags); +} + +gboolean +seahorse_gpgme_uid_is_same (SeahorseGpgmeUid *self, gpgme_user_id_t userid) +{ + g_return_val_if_fail (SEAHORSE_GPGME_IS_UID (self), FALSE); + g_return_val_if_fail (userid, FALSE); + + return compare_strings (self->userid->uid, userid->uid); +} + +static void +seahorse_gpgme_uid_init (SeahorseGpgmeUid *self) +{ + self->gpgme_index = 0; + self->actual_index = -1; +} + +static void +seahorse_gpgme_uid_get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + SeahorseGpgmeUid *self = SEAHORSE_GPGME_UID (object); + + switch (prop_id) { + case PROP_PUBKEY: + g_value_set_boxed (value, seahorse_gpgme_uid_get_pubkey (self)); + break; + case PROP_USERID: + g_value_set_pointer (value, seahorse_gpgme_uid_get_userid (self)); + break; + case PROP_GPGME_INDEX: + g_value_set_uint (value, seahorse_gpgme_uid_get_gpgme_index (self)); + break; + case PROP_ACTUAL_INDEX: + g_value_set_uint (value, seahorse_gpgme_uid_get_actual_index (self)); + break; + } +} + +static void +seahorse_gpgme_uid_set_property (GObject *object, guint prop_id, const GValue *value, + GParamSpec *pspec) +{ + SeahorseGpgmeUid *self = SEAHORSE_GPGME_UID (object); + gpgme_key_t pubkey; + + switch (prop_id) { + case PROP_PUBKEY: + pubkey = g_value_get_boxed (value); + g_return_if_fail (pubkey); + + if (pubkey != self->pubkey) { + + if (self->pubkey) { + /* Should always be set to the same actual key */ + g_return_if_fail (compare_pubkeys (pubkey, self->pubkey)); + gpgme_key_unref (self->pubkey); + } + + self->pubkey = g_value_get_boxed (value); + if (self->pubkey) + gpgme_key_ref (self->pubkey); + + /* This is expected to be set shortly along with pubkey */ + self->userid = NULL; + } + break; + case PROP_ACTUAL_INDEX: + seahorse_gpgme_uid_set_actual_index (self, g_value_get_uint (value)); + break; + case PROP_USERID: + seahorse_gpgme_uid_set_userid (self, g_value_get_pointer (value)); + break; + } +} + +static void +seahorse_gpgme_uid_object_finalize (GObject *gobject) +{ + SeahorseGpgmeUid *self = SEAHORSE_GPGME_UID (gobject); + + g_clear_pointer (&self->pubkey, gpgme_key_unref); + self->userid = NULL; + + G_OBJECT_CLASS (seahorse_gpgme_uid_parent_class)->finalize (gobject); +} + +static void +seahorse_gpgme_uid_class_init (SeahorseGpgmeUidClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->finalize = seahorse_gpgme_uid_object_finalize; + gobject_class->set_property = seahorse_gpgme_uid_set_property; + gobject_class->get_property = seahorse_gpgme_uid_get_property; + + g_object_class_install_property (gobject_class, PROP_PUBKEY, + g_param_spec_boxed ("pubkey", "Public Key", "GPGME Public Key that this uid is on", + SEAHORSE_GPGME_BOXED_KEY, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_USERID, + g_param_spec_pointer ("userid", "User ID", "GPGME User ID", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_GPGME_INDEX, + g_param_spec_uint ("gpgme-index", "GPGME Index", "GPGME User ID Index", + 0, G_MAXUINT, 0, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_ACTUAL_INDEX, + g_param_spec_uint ("actual-index", "Actual Index", "Actual GPG Index", + 0, G_MAXUINT, 0, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); +} + +SeahorseGpgmeUid* +seahorse_gpgme_uid_new (SeahorseGpgmeKey *parent, + gpgme_user_id_t userid) +{ + return g_object_new (SEAHORSE_GPGME_TYPE_UID, + "parent", parent, + "pubkey", seahorse_gpgme_key_get_public (parent), + "userid", userid, NULL); +} diff --git a/pgp/seahorse-gpgme-uid.h b/pgp/seahorse-gpgme-uid.h new file mode 100644 index 00000000..d9ce64c2 --- /dev/null +++ b/pgp/seahorse-gpgme-uid.h @@ -0,0 +1,61 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +#include + +#include "seahorse-common.h" + +#include "pgp/seahorse-gpgme-key.h" +#include "pgp/seahorse-pgp-uid.h" + +#define SEAHORSE_GPGME_TYPE_UID (seahorse_gpgme_uid_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseGpgmeUid, seahorse_gpgme_uid, + SEAHORSE_GPGME, UID, + SeahorsePgpUid) + +SeahorseGpgmeUid* seahorse_gpgme_uid_new (SeahorseGpgmeKey *parent, + gpgme_user_id_t userid); + +gpgme_key_t seahorse_gpgme_uid_get_pubkey (SeahorseGpgmeUid *self); + +gpgme_user_id_t seahorse_gpgme_uid_get_userid (SeahorseGpgmeUid *self); + +void seahorse_gpgme_uid_set_userid (SeahorseGpgmeUid *self, + gpgme_user_id_t userid); + +guint seahorse_gpgme_uid_get_gpgme_index (SeahorseGpgmeUid *self); + +guint seahorse_gpgme_uid_get_actual_index (SeahorseGpgmeUid *self); + +void seahorse_gpgme_uid_set_actual_index (SeahorseGpgmeUid *self, + guint actual_index); + +gchar* seahorse_gpgme_uid_calc_name (gpgme_user_id_t userid); + +gchar* seahorse_gpgme_uid_calc_label (gpgme_user_id_t userid); + +gchar* seahorse_gpgme_uid_calc_markup (gpgme_user_id_t userid, + guint flags); + +gboolean seahorse_gpgme_uid_is_same (SeahorseGpgmeUid *self, + gpgme_user_id_t userid); diff --git a/pgp/seahorse-gpgme.c b/pgp/seahorse-gpgme.c new file mode 100644 index 00000000..deed86e5 --- /dev/null +++ b/pgp/seahorse-gpgme.c @@ -0,0 +1,531 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#include "config.h" + +#undef G_LOG_DOMAIN +#define G_LOG_DOMAIN "operation" + +#include "seahorse-gpgme.h" + +#include "libseahorse/seahorse-util.h" + +#include + +/** + * SECTION:seahorse-gpgme + * @short_description: gpgme specific error and data conversion functions + * @include:seahorse-gpgme.h + * + **/ + +/** + * seahorse_gpgme_error_domain: + * + * + * Returns: A Quark with the content "seahorse-gpgme-error" + */ +GQuark +seahorse_gpgme_error_domain (void) +{ + static GQuark q = 0; + if (q == 0) + q = g_quark_from_static_string ("seahorse-gpgme-error"); + return q; +} + +gboolean +seahorse_gpgme_propagate_error (gpgme_error_t gerr, GError** error) +{ + gpgme_err_code_t code; + + /* Make sure this is actually an error */ + code = gpgme_err_code (gerr); + if (code == 0) + return FALSE; + + /* Special case some error messages */ + switch (code) { + case GPG_ERR_DECRYPT_FAILED: + g_set_error_literal (error, SEAHORSE_GPGME_ERROR, code, + _("Decryption failed. You probably do not have the decryption key.")); + break; + case GPG_ERR_CANCELED: + g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_CANCELLED, + _("The operation was cancelled")); + break; + default: + g_set_error_literal (error, SEAHORSE_GPGME_ERROR, code, + gpgme_strerror (gerr)); + break; + } + + return TRUE; +} + +/** + * seahorse_gpgme_handle_error: + * @err: the gpgme error to handle (display) + * @desc: a printf formated string + * @...: varargs to fill into this string + * + * Creates the heading of an error out of desc and the varargs. Displays the error + * + * The content of the error box is supported by gpgme (#gpgme_strerror) + * + * Some errors are not displayed. + * + */ +void +seahorse_gpgme_handle_error (gpgme_error_t err, const char* desc, ...) +{ + gchar *t = NULL; + + switch (gpgme_err_code(err)) { + case GPG_ERR_CANCELED: + case GPG_ERR_NO_ERROR: + case GPG_ERR_ECANCELED: + return; + default: + break; + } + + va_list ap; + va_start(ap, desc); + + if (desc) + t = g_strdup_vprintf (desc, ap); + + va_end(ap); + + seahorse_util_show_error (NULL, t, gpgme_strerror (err)); + g_free(t); +} + +/** + * ref_return_key: + * @key: the gpgme key + * + * Acquires an additional gpgme reference for the key + * + * Returns: the key + */ +static gpgme_key_t +ref_return_key (gpgme_key_t key) +{ + gpgme_key_ref (key); + return key; +} + +/** + * seahorse_gpgme_boxed_key_type: + * + * Creates a new boxed type "gpgme_key_t" + * + * Returns: the new boxed type + */ +GType +seahorse_gpgme_boxed_key_type (void) +{ + static GType type = 0; + if (!type) + type = g_boxed_type_register_static ("gpgme_key_t", + (GBoxedCopyFunc)ref_return_key, + (GBoxedFreeFunc)gpgme_key_unref); + return type; +} + +/** + * seahorse_gpgme_convert_validity: + * @validity: the gpgme validity of a key + * + * converts the gpgme validity to the seahorse validity + * + * Returns: The seahorse validity + */ +SeahorseValidity +seahorse_gpgme_convert_validity (gpgme_validity_t validity) +{ + switch (validity) { + case GPGME_VALIDITY_NEVER: + return SEAHORSE_VALIDITY_NEVER; + case GPGME_VALIDITY_MARGINAL: + return SEAHORSE_VALIDITY_MARGINAL; + case GPGME_VALIDITY_FULL: + return SEAHORSE_VALIDITY_FULL; + case GPGME_VALIDITY_ULTIMATE: + return SEAHORSE_VALIDITY_ULTIMATE; + case GPGME_VALIDITY_UNDEFINED: + case GPGME_VALIDITY_UNKNOWN: + default: + return SEAHORSE_VALIDITY_UNKNOWN; + } +} + +/* + * Based on the values in ask_algo() in gnupg's g10/keygen.c + * http://cvs.gnupg.org/cgi-bin/viewcvs.cgi/trunk/g10/keygen.c?rev=HEAD&root=GnuPG&view=log + */ +const struct _SeahorseKeyTypeTable KEYTYPES_2012 = + { .rsa_sign=4, .rsa_enc=6, .dsa_sign=3, .elgamal_enc=5 }; +const struct _SeahorseKeyTypeTable KEYTYPES_140 = + { .rsa_sign=5, .rsa_enc=6, .dsa_sign=2, .elgamal_enc=4 }; +const struct _SeahorseKeyTypeTable KEYTYPES_124 = + { .rsa_sign=4, .rsa_enc=5, .dsa_sign=2, .elgamal_enc=3 }; +const struct _SeahorseKeyTypeTable KEYTYPES_120 = + { .rsa_sign=5, .rsa_enc=6, .dsa_sign=2, .elgamal_enc=3 }; + +const SeahorseVersion VER_2012 = seahorse_util_version(2,0,12,0); +const SeahorseVersion VER_190 = seahorse_util_version(1,9,0,0); +const SeahorseVersion VER_1410 = seahorse_util_version(1,4,10,0); +const SeahorseVersion VER_140 = seahorse_util_version(1,4,0,0); +const SeahorseVersion VER_124 = seahorse_util_version(1,2,4,0); +const SeahorseVersion VER_120 = seahorse_util_version(1,2,0,0); + +/** + * seahorse_gpgme_get_keytype_table: + * + * @table: The requested keytype table + * + * Based on the gpg version in use, sets @table + * to contain the numbers that gpg uses in its CLI + * for adding new subkeys. This tends to get broken + * at random by new versions of gpg, but there's no good + * API for this. + * + * Returns GPG_ERR_USER_2 if gpg is too old. + * + * Returns: gpgme_error_t + **/ +gpgme_error_t +seahorse_gpgme_get_keytype_table (SeahorseKeyTypeTable *table) +{ + gpgme_error_t gerr; + gpgme_engine_info_t engine; + SeahorseVersion ver; + + gerr = gpgme_get_engine_info (&engine); + g_return_val_if_fail (GPG_IS_OK (gerr), gerr); + + while (engine && engine->protocol != GPGME_PROTOCOL_OpenPGP) + engine = engine->next; + g_return_val_if_fail (engine != NULL, GPG_E (GPG_ERR_GENERAL)); + + ver = seahorse_util_parse_version (engine->version); + + if (ver >= VER_2012 || (ver >= VER_1410 && ver < VER_190)) + *table = (SeahorseKeyTypeTable)&KEYTYPES_2012; + else if (ver >= VER_140 || ver >= VER_190) + *table = (SeahorseKeyTypeTable)&KEYTYPES_140; + else if (ver >= VER_124) + *table = (SeahorseKeyTypeTable)&KEYTYPES_124; + else if (ver >= VER_120) + *table = (SeahorseKeyTypeTable)&KEYTYPES_120; + else // older versions not supported + gerr = GPG_E (GPG_ERR_USER_2); + + return gerr; +} + +/** + * seahorse_gpgme_get_algo_string: + * @type: The algo type + * + * Returns: (transfer none): A string version of the algorithm, which can be + * used for GPGME functions like gpgme_op_create(sub)key. + */ +const char * +seahorse_gpgme_get_algo_string (SeahorseKeyEncType type) +{ + switch (type) { + case DSA: + return "dsa"; + case RSA_RSA: + case RSA_SIGN: + case RSA_ENCRYPT: + return "rsa"; + case ELGAMAL: + return "elg"; + default: + return NULL; + } + + g_return_val_if_reached (NULL); +} + +typedef struct _WatchData { + GSource *gsource; + gboolean registered; + GPollFD poll_fd; + + /* GPGME watch info */ + gpgme_io_cb_t fnc; + void *fnc_data; + +} WatchData; + +typedef gboolean (*SeahorseGpgmeCallback) (gpgme_error_t status, + gpointer user_data); + +typedef struct { + GSource source; + gpgme_ctx_t gctx; + struct gpgme_io_cbs io_cbs; + gboolean busy; + GList *watches; + GCancellable *cancellable; + gint cancelled_sig; + gboolean finished; + gpgme_error_t status; +} SeahorseGpgmeGSource; + +static gboolean +seahorse_gpgme_gsource_prepare (GSource *gsource, + gint *timeout) +{ + SeahorseGpgmeGSource *gpgme_gsource = (SeahorseGpgmeGSource *)gsource; + + if (gpgme_gsource->finished) + return TRUE; + + /* No other way, but to poll */ + *timeout = -1; + return FALSE; +} + +static gboolean +seahorse_gpgme_gsource_check (GSource *gsource) +{ + SeahorseGpgmeGSource *gpgme_gsource = (SeahorseGpgmeGSource *)gsource; + WatchData *watch; + GList *l; + + for (l = gpgme_gsource->watches; l != NULL; l = g_list_next (l)) { + watch = l->data; + if (watch->registered && watch->poll_fd.revents) + return TRUE; + } + + if (gpgme_gsource->finished) + return TRUE; + + return FALSE; +} + +static gboolean +seahorse_gpgme_gsource_dispatch (GSource *gsource, + GSourceFunc callback, + gpointer user_data) +{ + SeahorseGpgmeGSource *gpgme_gsource = (SeahorseGpgmeGSource *)gsource; + WatchData *watch; + GList *l, *watches; + + watches = g_list_copy (gpgme_gsource->watches); + for (l = watches; l != NULL; l = g_list_next (l)) { + watch = l->data; + if (watch->registered && watch->poll_fd.revents) { + g_debug ("GPGME OP: io for GPGME on %d", watch->poll_fd.fd); + g_assert (watch->fnc); + watch->poll_fd.revents = 0; + (watch->fnc) (watch->fnc_data, watch->poll_fd.fd); + } + } + g_list_free (watches); + + if (gpgme_gsource->finished) + return ((SeahorseGpgmeCallback)callback) (gpgme_gsource->status, + user_data); + + return TRUE; +} + +static void +seahorse_gpgme_gsource_finalize (GSource *gsource) +{ + SeahorseGpgmeGSource *gpgme_gsource = (SeahorseGpgmeGSource *)gsource; + g_cancellable_disconnect (gpgme_gsource->cancellable, + gpgme_gsource->cancelled_sig); + g_clear_object (&gpgme_gsource->cancellable); +} + +static GSourceFuncs seahorse_gpgme_gsource_funcs = { + seahorse_gpgme_gsource_prepare, + seahorse_gpgme_gsource_check, + seahorse_gpgme_gsource_dispatch, + seahorse_gpgme_gsource_finalize, +}; + +static void +register_watch (WatchData *watch) +{ + if (watch->registered) + return; + + g_debug ("GPGME OP: registering watch %d", watch->poll_fd.fd); + + watch->registered = TRUE; + g_source_add_poll (watch->gsource, &watch->poll_fd); +} + +static void +unregister_watch (WatchData *watch) +{ + if (!watch->registered) + return; + + g_debug ("GPGME OP: unregistering watch %d", watch->poll_fd.fd); + + watch->registered = FALSE; + g_source_remove_poll (watch->gsource, &watch->poll_fd); +} + +/* Register a callback. */ +static gpg_error_t +on_gpgme_add_watch (void *user_data, + int fd, + int dir, + gpgme_io_cb_t fnc, + void *fnc_data, + void **tag) +{ + SeahorseGpgmeGSource *gpgme_gsource = user_data; + WatchData *watch; + + g_debug ("PGPOP: request to register watch %d", fd); + + watch = g_new0 (WatchData, 1); + watch->registered = FALSE; + watch->poll_fd.fd = fd; + if (dir) + watch->poll_fd.events = (G_IO_IN | G_IO_HUP | G_IO_ERR); + else + watch->poll_fd.events = (G_IO_OUT | G_IO_ERR); + watch->fnc = fnc; + watch->fnc_data = fnc_data; + watch->gsource = (GSource*)gpgme_gsource; + + /* + * If the context is busy, we already have a START event, and can + * register watches freely. + */ + if (gpgme_gsource->busy) + register_watch (watch); + + gpgme_gsource->watches = g_list_append (gpgme_gsource->watches, watch); + *tag = watch; + + return GPG_OK; +} + +static void +on_gpgme_remove_watch (void *tag) +{ + WatchData *watch = (WatchData*)tag; + SeahorseGpgmeGSource *gpgme_gsource = (SeahorseGpgmeGSource*)watch->gsource; + + gpgme_gsource->watches = g_list_remove (gpgme_gsource->watches, watch); + unregister_watch (watch); + g_free (watch); +} + +static void +on_gpgme_event (void *user_data, + gpgme_event_io_t type, + void *type_data) +{ + SeahorseGpgmeGSource *gpgme_gsource = user_data; + gpg_error_t *gerr; + GList *l; + + switch (type) { + + /* Called when the GPGME context starts an operation */ + case GPGME_EVENT_START: + gpgme_gsource->busy = TRUE; + gpgme_gsource->finished = FALSE; + g_debug ("PGPOP: start event"); + + /* Since we weren't supposed to register these before, do it now */ + for (l = gpgme_gsource->watches; l != NULL; l= g_list_next (l)) + register_watch (l->data); + break; + + /* Called when the GPGME context is finished with an op */ + case GPGME_EVENT_DONE: + gpgme_gsource->busy = FALSE; + gerr = (gpgme_error_t *)type_data; + g_debug ("PGPOP: done event (err: %d)", *gerr); + + /* Make sure we have no extra watches left over */ + for (l = gpgme_gsource->watches; l != NULL; l = g_list_next (l)) + unregister_watch (l->data); + + /* And try to figure out a good response */ + gpgme_gsource->finished = TRUE; + gpgme_gsource->status = *gerr; + break; + + case GPGME_EVENT_NEXT_KEY: + case GPGME_EVENT_NEXT_TRUSTITEM: + default: + /* Ignore unsupported event types */ + break; + } +} + +static void +on_gpgme_gsource_cancelled (GCancellable *cancellable, + gpointer user_data) +{ + SeahorseGpgmeGSource *gpgme_gsource = user_data; + if (gpgme_gsource->busy) + gpgme_cancel (gpgme_gsource->gctx); +} + +GSource * +seahorse_gpgme_gsource_new (gpgme_ctx_t gctx, + GCancellable *cancellable) +{ + SeahorseGpgmeGSource *gpgme_gsource; + GSource *gsource; + + gsource = g_source_new (&seahorse_gpgme_gsource_funcs, + sizeof (SeahorseGpgmeGSource)); + + gpgme_gsource = (SeahorseGpgmeGSource *)gsource; + gpgme_gsource->gctx = gctx; + gpgme_gsource->io_cbs.add = on_gpgme_add_watch; + gpgme_gsource->io_cbs.add_priv = gsource; + gpgme_gsource->io_cbs.remove = on_gpgme_remove_watch; + gpgme_gsource->io_cbs.event = on_gpgme_event; + gpgme_gsource->io_cbs.event_priv = gsource; + gpgme_set_io_cbs (gctx, &gpgme_gsource->io_cbs); + + if (cancellable) { + gpgme_gsource->cancellable = g_object_ref (cancellable); + gpgme_gsource->cancelled_sig = g_cancellable_connect (cancellable, + G_CALLBACK (on_gpgme_gsource_cancelled), + gpgme_gsource, NULL); + } + + return gsource; +} diff --git a/pgp/seahorse-gpgme.h b/pgp/seahorse-gpgme.h new file mode 100644 index 00000000..9c85212f --- /dev/null +++ b/pgp/seahorse-gpgme.h @@ -0,0 +1,95 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#pragma once + +#include +#include + +#include + +#include "seahorse-common.h" + +typedef struct _SeahorseKeyTypeTable *SeahorseKeyTypeTable; + +struct _SeahorseKeyTypeTable { + int rsa_sign, rsa_enc, dsa_sign, elgamal_enc; +}; + +/* TODO: I think these are extraneous and can be removed. In actuality OK == 0 */ +#define GPG_IS_OK(e) (gpgme_err_code (e) == GPG_ERR_NO_ERROR) +#define GPG_OK (gpgme_error (GPG_ERR_NO_ERROR)) +#define GPG_E(e) (gpgme_error (e)) + +#define SEAHORSE_GPGME_ERROR (seahorse_gpgme_error_domain ()) + +GQuark seahorse_gpgme_error_domain (void); + +gboolean seahorse_gpgme_propagate_error (gpgme_error_t gerr, + GError** error); + +void seahorse_gpgme_handle_error (gpgme_error_t err, + const gchar* desc, ...); + +#define SEAHORSE_GPGME_BOXED_KEY (seahorse_gpgme_boxed_key_type ()) + +GType seahorse_gpgme_boxed_key_type (void); + +SeahorseValidity seahorse_gpgme_convert_validity (gpgme_validity_t validity); + +gpgme_error_t seahorse_gpgme_get_keytype_table (SeahorseKeyTypeTable *table); + +GSource * seahorse_gpgme_gsource_new (gpgme_ctx_t gctx, + GCancellable *cancellable); + +typedef enum { + RSA_RSA = 1, + DSA_ELGAMAL = 2, + DSA = 3, + RSA_SIGN = 4, + ELGAMAL = 5, + RSA_ENCRYPT = 6 +} SeahorseKeyEncType; + +/* Length ranges for key types */ +typedef enum { + /* Minimum length for #DSA. */ + DSA_MIN = 768, + /* Maximum length for #DSA. */ +#if ( GPG_MAJOR == 2 && GPG_MINOR == 0 && GPG_MICRO < 12 ) || \ + ( GPG_MAJOR == 1 && ( GPG_MINOR < 4 || GPG_MICRO < 10 ) ) + DSA_MAX = 1024, +#else + DSA_MAX = 3072, +#endif + /* Minimum length for #ELGAMAL. Maximum length is #LENGTH_MAX. */ + ELGAMAL_MIN = 768, + /* Minimum length of #RSA_SIGN and #RSA_ENCRYPT. Maximum length is + * #LENGTH_MAX. + */ + RSA_MIN = 1024, + /* Maximum length for #ELGAMAL, #RSA_SIGN, and #RSA_ENCRYPT. */ + LENGTH_MAX = 4096, + /* Default length for #ELGAMAL, #RSA_SIGN, #RSA_ENCRYPT, and #DSA. */ + LENGTH_DEFAULT = 2048 +} SeahorseKeyLength; + +const char * seahorse_gpgme_get_algo_string (SeahorseKeyEncType type); diff --git a/pgp/seahorse-hkp-source.c b/pgp/seahorse-hkp-source.c new file mode 100644 index 00000000..35d741f7 --- /dev/null +++ b/pgp/seahorse-hkp-source.c @@ -0,0 +1,1051 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include +#include + +#include + +#include "seahorse-hkp-source.h" + +#include "seahorse-pgp-key.h" +#include "seahorse-pgp-subkey.h" +#include "seahorse-pgp-uid.h" + +#include "seahorse-common.h" + +#include "libseahorse/seahorse-object-list.h" +#include "libseahorse/seahorse-progress.h" +#include "libseahorse/seahorse-util.h" + +#include + +/** + * SECTION: seahorse-hkp-source + * @short_description: Implements the HKP (HTTP Keyserver protocol) Source object + * @include: seahorse-hkp-source.h + * + * See: http://tools.ietf.org/html/draft-shaw-openpgp-hkp-00 + **/ + +#ifdef WITH_HKP + +#define PGP_KEY_BEGIN "-----BEGIN PGP PUBLIC KEY BLOCK-----" +#define PGP_KEY_END "-----END PGP PUBLIC KEY BLOCK-----" + +#define SOUP_MESSAGE_IS_ERROR(msg) \ + (SOUP_STATUS_IS_TRANSPORT_ERROR((msg)->status_code) || \ + SOUP_STATUS_IS_CLIENT_ERROR((msg)->status_code) || \ + SOUP_STATUS_IS_SERVER_ERROR((msg)->status_code)) + +G_DEFINE_QUARK (seahorse-hkp-error, seahorse_hkp_error); + +struct _SeahorseHKPSource { + SeahorseServerSource parent; +}; + +G_DEFINE_TYPE (SeahorseHKPSource, seahorse_hkp_source, SEAHORSE_TYPE_SERVER_SOURCE); + +/** + * self: The SeahorseSource to use as server for the uri + * path: The path to add to the SOUP uri + * + * Returns: A #SoupUri with server, port and paths + */ +static SoupURI* +get_http_server_uri (SeahorseHKPSource *self, const char *path) +{ + g_autoptr(SoupURI) uri = NULL; + g_autofree gchar *server = NULL; + gchar *port; + + g_object_get (self, "key-server", &server, NULL); + g_return_val_if_fail (server != NULL, NULL); + + uri = soup_uri_new (NULL); + soup_uri_set_scheme (uri, SOUP_URI_SCHEME_HTTP); + + /* If it already has a port then use that */ + port = strchr (server, ':'); + if (port) { + *port++ = '\0'; + soup_uri_set_port (uri, atoi (port)); + } else { + /* default HKP port */ + soup_uri_set_port (uri, 11371); + } + + soup_uri_set_host (uri, server); + soup_uri_set_path (uri, path); + + return g_steal_pointer (&uri); +} + +static SoupSession * +create_hkp_soup_session (void) +{ + SoupSession *session; +#ifdef WITH_DEBUG + g_autoptr(SoupLogger) logger = NULL; + const gchar *env; +#endif + + session = soup_session_new (); + +#ifdef WITH_DEBUG + env = g_getenv ("G_MESSAGES_DEBUG"); + if (env && strstr (env, "seahorse")) { + logger = soup_logger_new (SOUP_LOGGER_LOG_BODY, -1); + soup_session_add_feature (session, SOUP_SESSION_FEATURE (logger)); + } +#endif + + return session; +} + + +/* Thanks to GnuPG */ +/** +* line: The line to modify +* +* +* Remove anything and de-urlencode in place. Note +* that this requires all brackets to be closed on the same line. It +* also means that the result is never larger than the input. +* +**/ +static void +dehtmlize (gchar *line) +{ + int parsedindex = 0; + gchar *parsed = line; + + g_return_if_fail (line); + + while (*line != '\0') { + switch(*line) { + case '<': + while (*line != '>' && *line != '\0') + line++; + if (*line!='\0') + line++; + break; + case '&': + if ((*(line + 1) != '\0' && g_ascii_tolower (*(line + 1)) == 'l') && + (*(line + 2) != '\0' && g_ascii_tolower (*(line + 2)) == 't') && + (*(line + 3) != '\0' && *(line + 3) == ';')) { + parsed[parsedindex++] = '<'; + line += 4; + break; + } else if ((*(line + 1) != '\0' && g_ascii_tolower (*(line + 1)) == 'g') && + (*(line + 2) != '\0' && g_ascii_tolower (*(line + 2)) == 't') && + (*(line + 3) != '\0' && *(line + 3) == ';')) { + parsed[parsedindex++] = '>'; + line += 4; + break; + } else if((*(line + 1) != '\0' && g_ascii_tolower (*(line + 1)) == 'a') && + (*(line + 2) != '\0' && g_ascii_tolower (*(line + 2))=='m') && + (*(line + 3) != '\0' && g_ascii_tolower (*(line + 3))=='p') && + (*(line + 4) != '\0' && *(line + 4) == ';')) { + parsed[parsedindex++] = '&'; + line += 5; + break; + } + /* Fall through */ + default: + parsed[parsedindex++] = *line; + line++; + break; + }; + } + + parsed[parsedindex] = '\0'; + + /* + * Chop off any trailing whitespace. Note that the HKP servers have + * \r\n as line endings, and the NAI HKP servers have just \n. + */ + + if (parsedindex > 0) { + parsedindex--; + while (g_ascii_isspace (((unsigned char*)parsed)[parsedindex])) { + parsed[parsedindex] = '\0'; + if (parsedindex == 0) + break; + parsedindex--; + } + } +} + +/** + * parse_hkp_date: + * @text: The date string to parse, YYYY-MM-DD + * + * + * + * Returns: 0 on error or the timestamp + */ +static unsigned int +parse_hkp_date (const gchar *text) +{ + int year, month, day; + struct tm tmbuf; + time_t stamp; + + if (strlen (text) != 10 || text[4] != '-' || text[7] != '-') + return 0; + + /* YYYY-MM-DD */ + sscanf (text, "%4d-%2d-%2d", &year, &month, &day); + + /* some basic checks */ + if (year < 1970 || month < 1 || month > 12 || day < 1 || day > 31) + return 0; + + memset (&tmbuf, 0, sizeof tmbuf); + tmbuf.tm_mday = day; + tmbuf.tm_mon = month - 1; + tmbuf.tm_year = year - 1900; + tmbuf.tm_isdst = -1; + + stamp = mktime (&tmbuf); + return stamp == (time_t)-1 ? 0 : stamp; +} + +static const gchar * +get_fingerprint_string (const gchar *line) +{ + const gchar *p; + + p = line; + while (*p && g_ascii_isspace (*p)) + p++; + + if (g_ascii_strncasecmp (p, "fingerprint=", 12) == 0) + return p + 12; + + return NULL; +} + +/** +* response: The HKP server response to parse +* +* Extracts the key data from the HKP server response +* +* Returns A GList of keys +**/ +static GList* +parse_hkp_index (const gchar *response) +{ + /* Luckily enough, both the HKP server and NAI HKP interface to their + * LDAP server are close enough in output so the same function can + * parse them both. */ + + /* pub 2048/3CB3B415 1998/04/03 David M. Shaw <dshaw@jabberwocky.com> */ + + g_auto(GStrv) lines = NULL; + gchar **l; + + SeahorsePgpKey *key = NULL; + SeahorsePgpSubkey *subkey_with_id = NULL; + GList *keys = NULL; + GList *subkeys = NULL; + GList *uids = NULL; + SeahorseFlags flags; + + lines = g_strsplit (response, "\n", 0); + for (l = lines; *l; l++) { + gchar *line, *t; + + line = *l; + dehtmlize (line); + + g_debug ("%s", line); + + /* Start a new key */ + if (g_ascii_strncasecmp (line, "pub ", 4) == 0) { + g_auto(GStrv) v = NULL; + gchar *fingerprint, *fpr = NULL; + const gchar *algo; + gboolean has_uid = TRUE; + SeahorsePgpSubkey *subkey; + + t = line + 4; + while (*t && g_ascii_isspace (*t)) + t++; + + v = g_strsplit_set (t, " ", 3); + if (!v[0] || !v[1] || !v[2]) { + g_message ("Invalid key line from server: %s", line); + continue; + } + + flags = SEAHORSE_FLAG_EXPORTABLE; + + /* Cut the length and fingerprint */ + fpr = strchr (v[0], '/'); + if (fpr == NULL) { + g_message ("couldn't find key fingerprint in line from server: %s", line); + fpr = ""; + } else { + *(fpr++) = 0; + } + + /* Check out the key type */ + switch (g_ascii_toupper (v[0][strlen (v[0]) - 1])) { + case 'D': + algo = "DSA"; + break; + case 'R': + algo = "RSA"; + break; + default: + algo = ""; + break; + }; + + /* Format the date for our parse function */ + g_strdelimit (v[1], "/", '-'); + + /* Cleanup the UID */ + g_strstrip (v[2]); + + if (g_ascii_strcasecmp (v[2], "*** KEY REVOKED ***") == 0) { + flags |= SEAHORSE_FLAG_REVOKED; + has_uid = FALSE; + } + + if (key) { + seahorse_pgp_key_set_uids (SEAHORSE_PGP_KEY (key), uids); + g_list_free_full (uids, g_object_unref); + seahorse_pgp_key_set_subkeys (SEAHORSE_PGP_KEY (key), subkeys); + g_list_free_full (subkeys, g_object_unref); + seahorse_pgp_key_realize (SEAHORSE_PGP_KEY (key)); + uids = subkeys = NULL; + subkey_with_id = NULL; + key = NULL; + } + + key = seahorse_pgp_key_new (); + keys = g_list_prepend (keys, key); + g_object_set (key, "object-flags", flags, NULL); + + /* Add all the info to the key */ + subkey = seahorse_pgp_subkey_new (); + seahorse_pgp_subkey_set_keyid (subkey, fpr); + subkey_with_id = subkey; + + fingerprint = seahorse_pgp_subkey_calc_fingerprint (fpr); + seahorse_pgp_subkey_set_fingerprint (subkey, fingerprint); + g_free (fingerprint); + + seahorse_pgp_subkey_set_flags (subkey, flags); + seahorse_pgp_subkey_set_created (subkey, parse_hkp_date (v[1])); + seahorse_pgp_subkey_set_length (subkey, strtol (v[0], NULL, 10)); + seahorse_pgp_subkey_set_algorithm (subkey, algo); + subkeys = g_list_prepend (subkeys, subkey); + + /* And the UID if one was found */ + if (has_uid) { + SeahorsePgpUid *uid = seahorse_pgp_uid_new (key, v[2]); + uids = g_list_prepend (uids, uid); + } + + /* A UID for the key */ + } else if (key && g_ascii_strncasecmp (line, " ", 4) == 0) { + SeahorsePgpUid *uid; + + g_strstrip (line); + uid = seahorse_pgp_uid_new (key, line); + uids = g_list_prepend (uids, uid); + + /* Signatures */ + } else if (key && g_ascii_strncasecmp (line, "sig ", 4) == 0) { + /* TODO: Implement signatures */ + + } else if (key && subkey_with_id) { + const char *fingerprint_str; + g_autofree gchar *pretty_fingerprint = NULL; + + fingerprint_str = get_fingerprint_string (line); + if (fingerprint_str == NULL) + continue; + + pretty_fingerprint = seahorse_pgp_subkey_calc_fingerprint (fingerprint_str); + + /* FIXME: we don't check that the fingerprint actually matches + * the key's ID. We also don't validate the fingerprint at + * all; the keyserver may have returned some garbage and we + * don't notice. */ + if (pretty_fingerprint[0] != 0) + seahorse_pgp_subkey_set_fingerprint (subkey_with_id, pretty_fingerprint); + } + } + + if (key) { + seahorse_pgp_key_set_uids (SEAHORSE_PGP_KEY (key), g_list_reverse (uids)); + g_list_free_full (uids, g_object_unref); + seahorse_pgp_key_set_subkeys (SEAHORSE_PGP_KEY (key), g_list_reverse (subkeys)); + g_list_free_full (subkeys, g_object_unref); + seahorse_pgp_key_realize (SEAHORSE_PGP_KEY (key)); + } + + return keys; +} + +/** +* response: The server response +* +* Parses the response and extracts an error message +* +* Free the error message with g_free after usage +* +* Returns NULL if there was no error. The error message else +**/ +static gchar* +get_send_result (const gchar *response) +{ + gchar **lines, **l; + gchar *t; + gchar *last = NULL; + gboolean is_error = FALSE; + + if (!*response) + return g_strdup (""); + + lines = g_strsplit (response, "\n", 0); + + for (l = lines; *l; l++) { + + dehtmlize (*l); + g_strstrip (*l); + + if (!(*l)[0]) + continue; + + t = g_ascii_strdown (*l, -1); + + /* Look for the word 'error' */ + if (strstr (t, "error")) + is_error = TRUE; + + g_free (t); + + if ((*l)[0]) + last = *l; + } + + /* Use last line as the message */ + last = is_error ? g_strdup (last) : NULL; + + g_strfreev (lines); + + return last; +} + +/** + * detect_key: + * @text: The ASCII armoured key + * @len: Length of the ASCII block or -1 + * @start: Returned, start of the key + * @end: Returned, end of the key + * + * Finds a key in a char* block + * + * Returns: FALSE if no key is contained, TRUE else + */ +static gboolean +detect_key (const gchar *text, gint len, const gchar **start, const gchar **end) +{ + const gchar *t; + + if (len == -1) + len = strlen (text); + + /* Find the first of the headers */ + if ((t = g_strstr_len (text, len, PGP_KEY_BEGIN)) == NULL) + return FALSE; + if (start) + *start = t; + + /* Find the end of that block */ + if ((t = g_strstr_len (t, len - (t - text), PGP_KEY_END)) == NULL) + return FALSE; + if (end) + *end = t; + + return TRUE; +} + +static gboolean +hkp_message_propagate_error (SeahorseHKPSource *self, + SoupMessage *message, + GError **error) +{ + gchar *server; + g_autofree gchar *text = NULL; + + if (!SOUP_MESSAGE_IS_ERROR (message)) + return FALSE; + + if (message->status_code == SOUP_STATUS_CANCELLED) { + g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_CANCELLED, + _("The operation was cancelled")); + return TRUE; + } + + g_object_get (self, "key-server", &server, NULL); + + /* Make the body lower case, and no tags */ + text = g_strndup (message->response_body->data, message->response_body->length); + if (text != NULL) { + dehtmlize (text); + seahorse_util_string_lower (text); + } + + if (text && strstr (text, "no keys")) + return FALSE; /* not found is not an error */ + + if (text && strstr (text, "too many")) { + g_set_error (error, HKP_ERROR_DOMAIN, 0, + _("Search was not specific enough. Server “%s” found too many keys."), server); + } else { + g_set_error (error, HKP_ERROR_DOMAIN, message->status_code, + _("Couldn’t communicate with server “%s”: %s"), + server, message->reason_phrase); + } + + return TRUE; +} + +static void +on_session_cancelled (GCancellable *cancellable, + gpointer user_data) +{ + SoupSession *session = user_data; + soup_session_abort (session); +} + +typedef struct { + SeahorseHKPSource *source; + GCancellable *cancellable; + gulong cancelled_sig; + SoupSession *session; + gint requests; + GcrSimpleCollection *results; +} source_search_closure; + +static void +source_search_free (gpointer data) +{ + source_search_closure *closure = data; + g_object_unref (closure->source); + g_cancellable_disconnect (closure->cancellable, closure->cancelled_sig); + g_clear_object (&closure->cancellable); + g_object_unref (closure->session); + g_clear_object (&closure->results); + g_free (closure); +} + +static void +on_search_message_complete (SoupSession *session, + SoupMessage *message, + gpointer user_data) +{ + g_autoptr(GTask) task = G_TASK (user_data); + source_search_closure *closure = g_task_get_task_data (task); + g_autoptr(GError) error = NULL; + GList *keys, *l; + + seahorse_progress_end (closure->cancellable, message); + + if (hkp_message_propagate_error (closure->source, message, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + keys = parse_hkp_index (message->response_body->data); + for (l = keys; l; l = g_list_next (l)) { + g_object_set (l->data, "place", closure->source, NULL); + gcr_simple_collection_add (closure->results, l->data); + } + g_list_free_full (keys, g_object_unref); + + g_task_return_boolean (task, TRUE); +} + +static gboolean +is_hex_keyid (const gchar *match) +{ + const gchar *text = match; + + if (strlen (match) != 8) + return FALSE; + + while (*text != '\0') { + if (!((*text >= 0x30 && *text <= 0x39) || + (*text >= 0x41 && *text <= 0x46) || + (*text >= 0x61 && *text <= 0x66))) + return FALSE; + text++; + } + + return TRUE; +} + +static void +seahorse_hkp_source_search_async (SeahorseServerSource *source, + const gchar *match, + GcrSimpleCollection *results, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + SeahorseHKPSource *self = SEAHORSE_HKP_SOURCE (source); + source_search_closure *closure; + g_autoptr(GTask) task = NULL; + g_autoptr(GHashTable) form = NULL; + SoupMessage *message; + g_autoptr(SoupURI) uri = NULL; + gchar hexfpr[11]; + + task = g_task_new (source, cancellable, callback, user_data); + closure = g_new0 (source_search_closure, 1); + closure->source = g_object_ref (self); + closure->cancellable = cancellable ? g_object_ref (cancellable) : NULL; + closure->session = create_hkp_soup_session (); + closure->results = g_object_ref (results); + g_task_set_task_data (task, closure, source_search_free); + + uri = get_http_server_uri (self, "/pks/lookup"); + g_return_if_fail (uri); + + form = g_hash_table_new (g_str_hash, g_str_equal); + g_hash_table_insert (form, "op", "index"); + + if (is_hex_keyid (match)) { + strncpy (hexfpr, "0x", 3); + strncpy (hexfpr + 2, match, 9); + g_hash_table_insert (form, "search", hexfpr); + } else { + g_hash_table_insert (form, "search", (char *)match); + } + + g_hash_table_insert (form, "fingerprint", "on"); + + soup_uri_set_query_from_form (uri, form); + message = soup_message_new_from_uri ("GET", uri); + + seahorse_progress_prep_and_begin (cancellable, message, NULL); + + soup_session_queue_message (closure->session, g_steal_pointer (&message), + on_search_message_complete, + g_steal_pointer (&task)); + + if (cancellable) + closure->cancelled_sig = g_cancellable_connect (cancellable, + G_CALLBACK (on_session_cancelled), + closure->session, NULL); +} + +static gboolean +seahorse_hkp_source_search_finish (SeahorseServerSource *source, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (SEAHORSE_IS_HKP_SOURCE (source), FALSE); + g_return_val_if_fail (g_task_is_valid (result, source), FALSE); + + return g_task_propagate_boolean (G_TASK (result), error); +} + +typedef struct { + SeahorseHKPSource *source; + GInputStream *input; + GCancellable *cancellable; + gulong cancelled_sig; + SoupSession *session; + gint requests; +} source_import_closure; + +static void +source_import_free (gpointer data) +{ + source_import_closure *closure = data; + g_object_unref (closure->source); + g_object_unref (closure->input); + g_cancellable_disconnect (closure->cancellable, closure->cancelled_sig); + g_clear_object (&closure->cancellable); + g_object_unref (closure->session); + g_free (closure); +} + +static void +on_import_message_complete (SoupSession *session, + SoupMessage *message, + gpointer user_data) +{ + g_autoptr(GTask) task = G_TASK (user_data); + source_import_closure *closure = g_task_get_task_data (task); + g_autoptr(GError) error = NULL; + g_autofree gchar *errmsg = NULL; + + g_assert (closure->requests > 0); + seahorse_progress_end (closure->cancellable, GUINT_TO_POINTER (closure->requests)); + closure->requests--; + + if (hkp_message_propagate_error (closure->source, message, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + if ((errmsg = get_send_result (message->response_body->data)) != NULL) { + g_task_return_new_error (task, HKP_ERROR_DOMAIN, message->status_code, + "%s", errmsg); + return; + } + + /* A successful status from the server is all we want in this case */ + if (closure->requests == 0) { + /* We don't know which keys got imported, so just return NULL */ + g_task_return_pointer (task, NULL, NULL); + } +} + +static void +seahorse_hkp_source_import_async (SeahorseServerSource *source, + GInputStream *input, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + SeahorseHKPSource *self = SEAHORSE_HKP_SOURCE (source); + g_autoptr(GTask) task = NULL; + source_import_closure *closure; + g_autoptr(GList) keydata = NULL; + g_autoptr(GHashTable) form = NULL; + g_autoptr(SoupURI) uri = NULL; + GList *l; + + task = g_task_new (source, cancellable, callback, user_data); + closure = g_new0 (source_import_closure, 1); + closure->cancellable = cancellable ? g_object_ref (cancellable) : NULL; + closure->input = g_object_ref (input); + closure->source = g_object_ref (self); + closure->session = create_hkp_soup_session (); + g_task_set_task_data (task, closure, source_import_free); + + for (;;) { + g_autoptr(GString) buf = g_string_sized_new (2048); + guint len; + + len = seahorse_util_read_data_block (buf, input, + "-----BEGIN PGP PUBLIC KEY BLOCK-----", + "-----END PGP PUBLIC KEY BLOCK-----"); + if (len <= 0) + break; + + keydata = g_list_prepend (keydata, + g_string_free (g_steal_pointer (&buf), FALSE)); + } + + if (g_list_length (keydata) == 0) { + g_task_return_pointer (task, NULL, NULL); + return; + } + + /* Figure out the URI we're sending to */ + uri = get_http_server_uri (self, "/pks/add"); + g_return_if_fail (uri); + + /* New operation and away we go */ + keydata = g_list_reverse (keydata); + + form = g_hash_table_new (g_str_hash, g_str_equal); + for (l = keydata; l; l = g_list_next (l)) { + g_autoptr(SoupMessage) message = NULL; + gchar *key; + + g_assert (l->data != NULL); + g_hash_table_remove_all (form); + + g_hash_table_insert (form, "keytext", l->data); + key = soup_form_encode_urlencoded (form); + + message = soup_message_new_from_uri ("POST", uri); + soup_message_set_request (message, "application/x-www-form-urlencoded", + SOUP_MEMORY_TAKE, key, strlen (key)); + + soup_session_queue_message (closure->session, + g_steal_pointer (&message), + on_import_message_complete, + g_object_ref (task)); + + closure->requests++; + seahorse_progress_prep_and_begin (cancellable, GUINT_TO_POINTER (closure->requests), NULL); + } + + if (cancellable) + closure->cancelled_sig = g_cancellable_connect (cancellable, + G_CALLBACK (on_session_cancelled), + closure->session, NULL); + + for (l = keydata; l != NULL; l = g_list_next (l)) + g_free (l->data); +} + +static GList * +seahorse_hkp_source_import_finish (SeahorseServerSource *source, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (g_task_is_valid (result, source), NULL); + + return g_task_propagate_pointer (G_TASK (result), error); +} + + +typedef struct { + SeahorseHKPSource *source; + GString *data; + gsize data_len; + GCancellable *cancellable; + gulong cancelled_sig; + SoupSession *session; + gint requests; +} ExportClosure; + +static void +export_closure_free (gpointer data) +{ + ExportClosure *closure = data; + g_object_unref (closure->source); + if (closure->data) + g_string_free (closure->data, TRUE); + g_cancellable_disconnect (closure->cancellable, closure->cancelled_sig); + g_clear_object (&closure->cancellable); + g_object_unref (closure->session); + g_free (closure); +} + +static void +on_export_message_complete (SoupSession *session, + SoupMessage *message, + gpointer user_data) +{ + g_autoptr(GTask) task = G_TASK (user_data); + ExportClosure *closure = g_task_get_task_data (task); + g_autoptr(GError) error = NULL; + const gchar *start, *end, *text; + guint len; + + seahorse_progress_end (closure->cancellable, message); + + if (hkp_message_propagate_error (closure->source, message, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + end = text = message->response_body->data; + len = message->response_body->length; + + for (;;) { + len -= end - text; + text = end; + + if (!detect_key (text, len, &start, &end)) + break; + + g_string_append_len (closure->data, start, end - start); + g_string_append_c (closure->data, '\n'); + } + + g_assert (closure->requests > 0); + closure->requests--; + + if (closure->requests == 0) { + closure->data_len = closure->data->len; + g_task_return_pointer (task, + g_string_free (g_steal_pointer (&closure->data), FALSE), + g_free); + } +} + +static void +seahorse_hkp_source_export_async (SeahorseServerSource *source, + const gchar **keyids, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + SeahorseHKPSource *self = SEAHORSE_HKP_SOURCE (source); + ExportClosure *closure; + g_autoptr(GTask) task = NULL; + SoupURI *uri; + g_autoptr(GHashTable) form = NULL; + gchar hexfpr[11]; + gint i; + + task = g_task_new (self, cancellable, callback, user_data); + closure = g_new0 (ExportClosure, 1); + closure->source = g_object_ref (self); + closure->data = g_string_sized_new (1024); + closure->session = create_hkp_soup_session (); + closure->cancellable = cancellable ? g_object_ref (cancellable) : NULL; + g_task_set_task_data (task, closure, export_closure_free); + + if (!keyids || !keyids[0]) { + g_task_return_pointer (task, NULL, NULL); + return; + } + + uri = get_http_server_uri (self, "/pks/lookup"); + g_return_if_fail (uri); + + /* prepend the hex prefix (0x) to make keyservers happy */ + strncpy (hexfpr, "0x", 3); + + form = g_hash_table_new (g_str_hash, g_str_equal); + for (i = 0; keyids[i] != NULL; i++) { + const gchar *fpr = keyids[i]; + guint len; + SoupMessage *message; + + g_hash_table_remove_all (form); + + /* Get the key id and limit it to 8 characters */ + len = strlen (fpr); + if (len > 8) + fpr += (len - 8); + + strncpy (hexfpr + 2, fpr, 9); + + /* The get key URI */ + g_hash_table_insert (form, "op", "get"); + g_hash_table_insert (form, "search", (char *)hexfpr); + soup_uri_set_query_from_form (uri, form); + + message = soup_message_new_from_uri ("GET", uri); + + soup_session_queue_message (closure->session, message, + on_export_message_complete, + g_object_ref (task)); + + closure->requests++; + seahorse_progress_prep_and_begin (cancellable, message, NULL); + } + + if (cancellable) + closure->cancelled_sig = g_cancellable_connect (cancellable, + G_CALLBACK (on_session_cancelled), + closure->session, NULL); +} + +static gpointer +seahorse_hkp_source_export_finish (SeahorseServerSource *source, + GAsyncResult *result, + gsize *size, + GError **error) +{ + ExportClosure *closure; + + g_return_val_if_fail (size != NULL, NULL); + g_return_val_if_fail (g_task_is_valid (result, source), NULL); + + closure = g_task_get_task_data (G_TASK (result)); + *size = closure->data_len; + return g_task_propagate_pointer (G_TASK (result), error); +} + +static void +seahorse_hkp_source_init (SeahorseHKPSource *hsrc) +{ +} + +static void +seahorse_hkp_source_class_init (SeahorseHKPSourceClass *klass) +{ + SeahorseServerSourceClass *server_class = SEAHORSE_SERVER_SOURCE_CLASS (klass); + + server_class->search_async = seahorse_hkp_source_search_async; + server_class->search_finish = seahorse_hkp_source_search_finish; + server_class->export_async = seahorse_hkp_source_export_async; + server_class->export_finish = seahorse_hkp_source_export_finish; + server_class->import_async = seahorse_hkp_source_import_async; + server_class->import_finish = seahorse_hkp_source_import_finish; + + seahorse_servers_register_type ("hkp", _("HTTP Key Server"), seahorse_hkp_is_valid_uri); +} +/** + * seahorse_hkp_source_new: + * @uri: The server to connect to + * + * Creates a new key source for an HKP PGP server. + * + * Returns: A new HKP Key Source + */ +SeahorseHKPSource* +seahorse_hkp_source_new (const gchar *uri, const gchar *host) +{ + g_return_val_if_fail (seahorse_hkp_is_valid_uri (uri), NULL); + g_return_val_if_fail (host && *host, NULL); + + return g_object_new (SEAHORSE_TYPE_HKP_SOURCE, "uri", uri, + "key-server", host, NULL); +} + +/** + * seahorse_hkp_is_valid_uri: + * @uri: The uri to check + * + * Returns: Whether the passed uri is valid for an HKP key source + */ +gboolean +seahorse_hkp_is_valid_uri (const gchar *uri) +{ + SoupURI *soup; + gboolean ret = FALSE; + + g_return_val_if_fail (uri && uri[0], FALSE); + + /* Replace 'hkp' with 'http' at the beginning of the URI */ + if (strncasecmp (uri, "hkp:", 4) == 0) { + g_autofree gchar *t = g_strdup_printf ("http:%s", uri + 4); + soup = soup_uri_new (t); + /* Not 'hkp', but maybe 'http' */ + } else { + soup = soup_uri_new (uri); + } + + if (soup) { + /* Must be http or https, have a host. No querystring, user, path, passwd etc... */ + if ((soup->scheme == SOUP_URI_SCHEME_HTTP || soup->scheme == SOUP_URI_SCHEME_HTTPS) && + !soup->user && !soup->password && !soup->query && !soup->fragment && + soup->host && soup->host[0] && g_str_equal (soup->path ? soup->path : "/", "/")) + ret = TRUE; + soup_uri_free (soup); + } + + return ret; +} + +#endif /* WITH_HKP */ diff --git a/pgp/seahorse-hkp-source.h b/pgp/seahorse-hkp-source.h new file mode 100644 index 00000000..03fcc0d9 --- /dev/null +++ b/pgp/seahorse-hkp-source.h @@ -0,0 +1,49 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/** + * SeahorseHKPSource: A key source which searches HTTP PGP key servers. + * + * - Derived from SeahorseServerSource. + * - Adds found keys to SeahorseContext. + * - Used by SeahorseServiceDiscovery for retrieving shared keys. + */ + +#pragma once + +#include "config.h" +#include "seahorse-server-source.h" + +#ifdef WITH_HKP + +#define SEAHORSE_TYPE_HKP_SOURCE (seahorse_hkp_source_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseHKPSource, seahorse_hkp_source, + SEAHORSE, HKP_SOURCE, + SeahorseServerSource) + +SeahorseHKPSource* seahorse_hkp_source_new (const gchar *uri, + const gchar *host); + +gboolean seahorse_hkp_is_valid_uri (const gchar *uri); + + +#define HKP_ERROR_DOMAIN (seahorse_hkp_error_quark()) +GQuark seahorse_hkp_error_quark (void); + +#endif /* WITH_HKP */ diff --git a/pgp/seahorse-keyserver-results.c b/pgp/seahorse-keyserver-results.c new file mode 100644 index 00000000..a6e6d7e7 --- /dev/null +++ b/pgp/seahorse-keyserver-results.c @@ -0,0 +1,409 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-keyserver-results.h" + +#include "seahorse-pgp-backend.h" +#include "seahorse-gpgme-keyring.h" +#include "seahorse-keyserver-search.h" + +#include "libseahorse/seahorse-progress.h" +#include "libseahorse/seahorse-util.h" + +#include + +#include + +#define SEAHORSE_TYPE_KEYSERVER_RESULTS_ROW (seahorse_keyserver_results_row_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseKeyserverResultsRow, seahorse_keyserver_results_row, SEAHORSE, KEYSERVER_RESULTS_ROW, GtkListBoxRow) + +struct _SeahorseKeyserverResultsRow { + GtkListBoxRow parent; + + GObject *key; + GtkButton *import_button; +}; + +G_DEFINE_TYPE (SeahorseKeyserverResultsRow, seahorse_keyserver_results_row, GTK_TYPE_LIST_BOX_ROW); + +static void +on_import_complete (GObject *source, GAsyncResult *result, gpointer user_data) +{ + SeahorsePgpBackend *backend = SEAHORSE_PGP_BACKEND (source); + g_autoptr(SeahorseKeyserverResultsRow) row = + SEAHORSE_KEYSERVER_RESULTS_ROW (user_data); + const gchar *result_icon_name; + g_autoptr(GtkWidget) result_icon = NULL; + g_autofree gchar *result_tooltip = NULL; + g_autoptr(GError) err = NULL; + + if (!seahorse_pgp_backend_transfer_finish (backend, result, &err)) { + result_icon_name = "dialog-warning-symbolic"; + result_tooltip = g_strdup_printf (_("Couldn’t import key: %s"), + err->message); + } else { + result_icon_name = "emblem-ok-symbolic"; + result_tooltip = g_strdup (_("Key import succeeded")); + } + + result_icon = gtk_image_new_from_icon_name (result_icon_name, + GTK_ICON_SIZE_BUTTON); + gtk_button_set_image (row->import_button, g_steal_pointer (&result_icon)); + gtk_widget_set_tooltip_text (GTK_WIDGET (row->import_button), + result_tooltip); +} + +static void +on_import_button_clicked (GtkButton *import_button, gpointer user_data) +{ + SeahorseKeyserverResultsRow *row = user_data; + g_autoptr(GtkWidget) spinner = NULL; + g_autoptr(GList) keys = NULL; + g_autoptr(GCancellable) cancellable = NULL; + SeahorsePgpBackend *backend; + SeahorseGpgmeKeyring *keyring; + + /* Let the button show a spinner while importing */ + gtk_widget_set_sensitive (GTK_WIDGET (import_button), FALSE); + spinner = gtk_spinner_new (); + gtk_spinner_start (GTK_SPINNER (spinner)); + gtk_button_set_image (import_button, g_steal_pointer (&spinner)); + + /* Now import the key */ + keys = g_list_append (keys, row->key); + cancellable = g_cancellable_new (); + backend = seahorse_pgp_backend_get (); + keyring = seahorse_pgp_backend_get_default_keyring (backend); + seahorse_pgp_backend_transfer_async (backend, keys, + SEAHORSE_PLACE (keyring), + cancellable, on_import_complete, + g_object_ref (row)); +} + +static void +seahorse_keyserver_results_row_class_init (SeahorseKeyserverResultsRowClass *klass) +{ +} + +static void +seahorse_keyserver_results_row_init (SeahorseKeyserverResultsRow *row) +{ +} + +static SeahorseKeyserverResultsRow* +seahorse_keyserver_results_row_new (GObject *item) +{ + g_autoptr(SeahorseKeyserverResultsRow) row = NULL; + g_autoptr(GtkWidget) grid = NULL; + g_autoptr(GtkWidget) label = NULL; + g_autoptr(GtkWidget) import_button = NULL; + gchar *item_label; + gboolean item_exportable; + + g_object_get (item, "markup", &item_label, "exportable", &item_exportable, + NULL); + + row = g_object_new (SEAHORSE_TYPE_KEYSERVER_RESULTS_ROW, NULL); + gtk_list_box_row_set_selectable (GTK_LIST_BOX_ROW (row), FALSE); + gtk_widget_set_sensitive (GTK_WIDGET (row), item_exportable); + gtk_widget_show (GTK_WIDGET (row)); + row->key = item; + + grid = gtk_grid_new (); + g_object_set (grid, "margin", 6, NULL); + gtk_widget_show (grid); + + label = gtk_label_new (item_label); + gtk_widget_set_hexpand (label, TRUE); + gtk_label_set_xalign (GTK_LABEL (label), 0); + gtk_label_set_use_markup (GTK_LABEL (label), TRUE); + gtk_widget_show (label); + gtk_grid_attach (GTK_GRID (grid), g_steal_pointer (&label), 0, 0, 1, 1); + + import_button = gtk_button_new_from_icon_name ("document-save-symbolic", + GTK_ICON_SIZE_BUTTON); + row->import_button = GTK_BUTTON (import_button); + g_signal_connect_object (import_button, "clicked", + G_CALLBACK (on_import_button_clicked), row, 0); + gtk_widget_set_visible (import_button, TRUE); + gtk_widget_set_valign (import_button, GTK_ALIGN_START); + gtk_widget_set_halign (import_button, GTK_ALIGN_END); + gtk_style_context_add_class (gtk_widget_get_style_context (import_button), + "flat"); + if (item_exportable) + gtk_widget_set_tooltip_text (import_button, _("Import")); + else + gtk_widget_set_tooltip_text (import_button, _("Can’t import key")); + gtk_grid_attach (GTK_GRID (grid), g_steal_pointer (&import_button), 1, 0, 1, 1); + + gtk_container_add (GTK_CONTAINER (row), g_steal_pointer (&grid)); + + return g_steal_pointer (&row); +} + + +enum { + PROP_0, + PROP_SEARCH +}; + +struct _SeahorseKeyserverResults { + GtkDialog parent; + + GtkBuilder *builder; + + char *search_string; + GcrSimpleCollection *collection; + GtkListBox *key_list; +}; + +G_DEFINE_TYPE (SeahorseKeyserverResults, seahorse_keyserver_results, GTK_TYPE_DIALOG); + +static void +on_row_activated (GtkListBox *key_list, GtkListBoxRow *row, gpointer user_data) +{ + SeahorseKeyserverResults *self = SEAHORSE_KEYSERVER_RESULTS (user_data); + SeahorseKeyserverResultsRow *_row = SEAHORSE_KEYSERVER_RESULTS_ROW (row); + + g_return_if_fail (SEAHORSE_IS_VIEWABLE (_row->key)); + + seahorse_viewable_view (_row->key, GTK_WINDOW (self)); +} + +static void +on_item_added (GcrCollection *collection, GObject *item, gpointer user_data) +{ + SeahorseKeyserverResults *self = SEAHORSE_KEYSERVER_RESULTS (user_data); + g_autoptr(SeahorseKeyserverResultsRow) row = NULL; + + g_return_if_fail (G_IS_OBJECT (item)); + + row = seahorse_keyserver_results_row_new (item); + gtk_list_box_insert (self->key_list, + GTK_WIDGET (g_steal_pointer (&row)), + -1); +} + +static void +key_list_header_func (GtkListBoxRow *row, GtkListBoxRow *prev, gpointer unused) +{ + if (prev == NULL) + return; + + if (gtk_list_box_row_get_header (row) == NULL) { + g_autoptr(GtkWidget) separator = NULL; + + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); + gtk_list_box_row_set_header (row, g_steal_pointer (&separator)); + } +} + +static gboolean +on_delete_event (GtkWidget* widget, GdkEvent* event, gpointer user_data) +{ + SeahorseKeyserverResults *self = SEAHORSE_KEYSERVER_RESULTS (user_data); + + gtk_widget_destroy (GTK_WIDGET (self)); + return TRUE; +} + +static void +seahorse_keyserver_results_constructed (GObject *obj) +{ + SeahorseKeyserverResults *self = SEAHORSE_KEYSERVER_RESULTS (obj); + GtkWindow *window = GTK_WINDOW (self); + g_autofree gchar* title = NULL; + + G_OBJECT_CLASS (seahorse_keyserver_results_parent_class)->constructed (obj); + + if (g_utf8_strlen (self->search_string, -1) == 0) { + title = g_strdup (_("Remote keys")); + } else { + title = g_strdup_printf (_("Remote keys containing “%s”"), self->search_string); + } + + gtk_window_set_default_size (window, 640, 476); + gtk_window_set_title (window, title); + gtk_widget_set_visible (GTK_WIDGET (window), TRUE); + + g_signal_connect (window, "delete-event", + G_CALLBACK (on_delete_event), self); + + self->builder = gtk_builder_new_from_resource ("/org/gnome/Seahorse/seahorse-keyserver-results.ui"); + gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (self))), + GTK_WIDGET (gtk_builder_get_object (self->builder, "keyserver-results"))); + + /* init key list */ + self->key_list = GTK_LIST_BOX (gtk_builder_get_object (self->builder, "key_list")); + gtk_list_box_set_header_func (self->key_list, key_list_header_func, NULL, NULL); + g_signal_connect_object (self->key_list, "row-activated", + G_CALLBACK (on_row_activated), self, 0); + gtk_widget_show (GTK_WIDGET (self->key_list)); + + /* Make sure the listbox gets updated with the collection */ + g_signal_connect_object (self->collection, "added", + G_CALLBACK (on_item_added), self, 0); + + /* Set focus to the current key list */ + gtk_widget_grab_focus (GTK_WIDGET (self->key_list)); +} + +static void +seahorse_keyserver_results_init (SeahorseKeyserverResults *self) +{ + self->collection = GCR_SIMPLE_COLLECTION (gcr_simple_collection_new ()); +} + +static void +seahorse_keyserver_results_finalize (GObject *obj) +{ + SeahorseKeyserverResults *self = SEAHORSE_KEYSERVER_RESULTS (obj); + + g_clear_pointer (&self->search_string, g_free); + g_clear_object (&self->collection); + g_clear_object (&self->builder); + + G_OBJECT_CLASS (seahorse_keyserver_results_parent_class)->finalize (obj); +} + +static void +seahorse_keyserver_results_set_property (GObject *obj, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + SeahorseKeyserverResults *self = SEAHORSE_KEYSERVER_RESULTS (obj); + const gchar* str; + + switch (prop_id) { + case PROP_SEARCH: + /* Many key servers ignore spaces at the beginning and end, so we do too */ + str = g_value_get_string (value); + if (!str) + str = ""; + self->search_string = g_strstrip (g_utf8_casefold (str, -1)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec); + break; + } +} + +static void +seahorse_keyserver_results_get_property (GObject *obj, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + SeahorseKeyserverResults *self = SEAHORSE_KEYSERVER_RESULTS (obj); + + switch (prop_id) { + case PROP_SEARCH: + g_value_set_string (value, seahorse_keyserver_results_get_search (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec); + break; + } +} + +static void +seahorse_keyserver_results_class_init (SeahorseKeyserverResultsClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->constructed = seahorse_keyserver_results_constructed; + gobject_class->finalize = seahorse_keyserver_results_finalize; + gobject_class->set_property = seahorse_keyserver_results_set_property; + gobject_class->get_property = seahorse_keyserver_results_get_property; + + g_object_class_install_property (G_OBJECT_CLASS (klass), PROP_SEARCH, + g_param_spec_string ("search", "search", "search", NULL, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); +} + +static void +on_search_completed (GObject *source, GAsyncResult *result, gpointer user_data) +{ + SeahorseKeyserverResults *self = SEAHORSE_KEYSERVER_RESULTS (user_data); + SeahorsePgpBackend *backend = seahorse_pgp_backend_get (); + g_autoptr(GError) error = NULL; + + seahorse_pgp_backend_search_remote_finish (backend, result, &error); + if (error != NULL) { + g_dbus_error_strip_remote_error (error); + seahorse_util_show_error (GTK_WIDGET (self), + _("The search for keys failed."), + error->message); + } + + g_object_unref (self); +} + +/** + * seahorse_keyserver_results_show: + * @search_text: The text to search for + * @parent: A GTK window as parent (or NULL) + * + * Creates a search results window and adds the operation to it's progress status. + */ +void +seahorse_keyserver_results_show (const gchar* search_text, GtkWindow *parent) +{ + SeahorseKeyserverResults* self; + g_autoptr(GCancellable) cancellable = NULL; + + g_return_if_fail (search_text != NULL); + + self = g_object_new (SEAHORSE_TYPE_KEYSERVER_RESULTS, + "search", search_text, + "transient-for", parent, + NULL); + + /* Destorys itself with destroy */ + g_object_ref_sink (self); + + cancellable = g_cancellable_new (); + + seahorse_pgp_backend_search_remote_async (seahorse_pgp_backend_get (), + search_text, + self->collection, + cancellable, on_search_completed, + g_object_ref (self)); + + seahorse_progress_attach (cancellable, self->builder); +} + +/** + * seahorse_keyserver_results_get_search: + * @self: SeahorseKeyserverResults object to get the search string from + * + * Returns: The search string in from the results + */ +const gchar* +seahorse_keyserver_results_get_search (SeahorseKeyserverResults* self) +{ + g_return_val_if_fail (SEAHORSE_IS_KEYSERVER_RESULTS (self), NULL); + return self->search_string; +} diff --git a/pgp/seahorse-keyserver-results.h b/pgp/seahorse-keyserver-results.h new file mode 100644 index 00000000..00c10df7 --- /dev/null +++ b/pgp/seahorse-keyserver-results.h @@ -0,0 +1,41 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#pragma once + +#include +#include +#include + +#include "seahorse-common.h" + +G_BEGIN_DECLS + + +#define SEAHORSE_TYPE_KEYSERVER_RESULTS (seahorse_keyserver_results_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseKeyserverResults, seahorse_keyserver_results, SEAHORSE, KEYSERVER_RESULTS, GtkDialog) + +void seahorse_keyserver_results_show (const gchar *search_text, GtkWindow *parent); + +const gchar* seahorse_keyserver_results_get_search (SeahorseKeyserverResults* self); + + +G_END_DECLS diff --git a/pgp/seahorse-keyserver-results.ui b/pgp/seahorse-keyserver-results.ui new file mode 100644 index 00000000..6e670452 --- /dev/null +++ b/pgp/seahorse-keyserver-results.ui @@ -0,0 +1,57 @@ + + + + + + True + vertical + 12 + + + True + True + 40 + 24 + 0 + Double click on a key to inspect it, or click the import button to import it into your local keyring. + + + + + True + True + automatic + in + 24 + 0 + 0 + + + True + True + True + False + + + + + + + True + horizontal + + + True + True + 0.10000000149 + + + + + True + + + + + + diff --git a/pgp/seahorse-keyserver-search.c b/pgp/seahorse-keyserver-search.c new file mode 100644 index 00000000..ecdedcd6 --- /dev/null +++ b/pgp/seahorse-keyserver-search.c @@ -0,0 +1,438 @@ +/* + * Seahorse + * + * Copyright (C) 2004-2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-keyserver-search.h" + +#include "seahorse-discovery.h" +#include "seahorse-keyserver-results.h" +#include "seahorse-pgp-backend.h" + +#include "seahorse-common.h" + +#include "libseahorse/seahorse-util.h" +#include "libseahorse/seahorse-widget.h" + +/** + * SECTION:seahorse-keyserver-search + * @short_description: Contains the functions to start a search for keys on a + * keyserver. + **/ + +struct _SeahorseKeyserverSearch { + GtkDialog parent_instance; + + GtkWidget *search_entry; + GtkWidget *key_server_list; + GtkWidget *shared_keys_list; +}; + +G_DEFINE_TYPE (SeahorseKeyserverSearch, seahorse_keyserver_search, GTK_TYPE_DIALOG) + +/** + * KeyserverSelection: + * @names: A list of keyserver names + * @uris: A list of keyserver URIs + * @all: TRUE if all keyservers are selected + **/ +typedef struct _KeyserverSelection { + GPtrArray *names; + GPtrArray *uris; + gboolean all; +} KeyserverSelection; + + +/* Selection Retrieval ------------------------------------------------------ */ + +/** + * widget: CHECK_BUTTON widget to read + * selection: will be updated depending on the state of the widget + * + * Adds the name/uri of the checked widget to the selection + * + **/ +static void +get_checks (GtkWidget *widget, KeyserverSelection *selection) +{ + const gchar *value; + + if (!GTK_IS_CHECK_BUTTON (widget)) + return; + + /* Pull in the selected name and uri */ + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) { + value = gtk_button_get_label (GTK_BUTTON (widget)); + g_ptr_array_add (selection->names, g_strdup (value)); + value = g_object_get_data (G_OBJECT (widget), "keyserver-uri"); + g_ptr_array_add (selection->uris, g_strdup (value)); + + /* Note that not all checks are selected */ + } else { + selection->all = FALSE; + } +} + +/** + * extracts all keyservers in the sub-widgets "key-server-list" and + * "shared-keys-list" and fills a KeyserverSelection structure. + * + * returns the selection + **/ +static KeyserverSelection* +get_keyserver_selection (SeahorseKeyserverSearch *self) +{ + KeyserverSelection *selection; + + selection = g_new0 (KeyserverSelection, 1); + selection->all = TRUE; + selection->uris = g_ptr_array_new_with_free_func (g_free); + selection->names = g_ptr_array_new_with_free_func (g_free); + + /* Key servers */ + gtk_container_foreach (GTK_CONTAINER (self->key_server_list), (GtkCallback)get_checks, selection); + /* Shared Key */ + gtk_container_foreach (GTK_CONTAINER (self->shared_keys_list), (GtkCallback)get_checks, selection); + + g_ptr_array_add (selection->uris, NULL); + g_ptr_array_add (selection->names, NULL); + + return selection; +} + +/** + * selection: The selection to free + * + * All data (string lists, structures) are freed + * + **/ +static void +free_keyserver_selection (KeyserverSelection *selection) +{ + if (selection) { + g_ptr_array_free (selection->uris, TRUE); + g_ptr_array_free (selection->names, TRUE); + g_free (selection); + } +} + +/** + * widget: a CHECK_BUTTON + * checked: out- TRUE if the button is active, stays the same else. + * + **/ +static void +have_checks (GtkWidget *widget, gboolean *checked) +{ + if (GTK_IS_CHECK_BUTTON (widget)) { + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) + *checked = TRUE; + } +} + +/* returns TRUE if at least one of the key servers was selected */ +static gboolean +have_keyserver_selection (SeahorseKeyserverSearch *self) +{ + gboolean checked = FALSE; + + /* Key servers */ + gtk_container_foreach (GTK_CONTAINER (self->key_server_list), (GtkCallback)have_checks, &checked); + /* Shared keys */ + gtk_container_foreach (GTK_CONTAINER (self->shared_keys_list), (GtkCallback)have_checks, &checked); + + return checked; +} + +/* Enables the "search" button if the edit-field contains text and at least a + * server is selected */ +static void +on_keyserver_search_control_changed (GtkWidget *widget, gpointer user_data) +{ + SeahorseKeyserverSearch *self = SEAHORSE_KEYSERVER_SEARCH (user_data); + gboolean enabled = TRUE; + + /* Need to have at least one key server selected ... */ + if (!have_keyserver_selection (self)) { + enabled = FALSE; + + /* ... and some search text */ + } else { + g_autofree gchar *text = NULL; + + text = gtk_editable_get_chars (GTK_EDITABLE (self->search_entry), 0, -1); + if (!text || !text[0]) + enabled = FALSE; + } + + gtk_dialog_set_response_sensitive (GTK_DIALOG (self), GTK_RESPONSE_ACCEPT, enabled); +} + +/* Initial Selection -------------------------------------------------------- */ + +static void +foreach_child_select_checks (GtkWidget *widget, gpointer user_data) +{ + gchar **names = user_data; + guint i; + + if (GTK_IS_CHECK_BUTTON (widget)) { + g_autofree gchar *name = NULL; + gboolean checked; + + name = g_utf8_casefold (gtk_button_get_label (GTK_BUTTON (widget)), -1); + checked = !(names != NULL && names[0] != NULL); + for (i = 0; names && names[i] != NULL; i++) { + if (g_utf8_collate (names[i], name) == 0) { + checked = TRUE; + break; + } + } + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), checked); + } +} + +/* Reads key servers from settings and updates the UI content. */ +static void +select_inital_keyservers (SeahorseKeyserverSearch *self) +{ + SeahorseAppSettings *app_settings; + gchar **names; + guint i; + + app_settings = seahorse_app_settings_instance (); + names = seahorse_app_settings_get_last_search_servers (app_settings, NULL); + + /* We do case insensitive matches */ + for (i = 0; names[i] != NULL; i++) { + gchar *name; + + name = g_utf8_casefold (names[i], -1); + g_free (names[i]); + names[i] = name; + } + + gtk_container_foreach (GTK_CONTAINER (self->key_server_list), foreach_child_select_checks, names); + gtk_container_foreach (GTK_CONTAINER (self->shared_keys_list), foreach_child_select_checks, names); +} + +/* Populating Lists --------------------------------------------------------- */ + +/** + * widget: a check button + * unchecked: a hash table containing the state of the servers + * + * If the button is not checked, the hash table entry associate with it will be + * replaced with "" + * + **/ +static void +remove_checks (GtkWidget *widget, GHashTable *unchecked) +{ + if (GTK_IS_CHECK_BUTTON (widget)) { + + if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) + g_hash_table_replace (unchecked, + g_strdup (gtk_button_get_label (GTK_BUTTON (widget))), ""); + + gtk_widget_destroy (widget); + } +} + +/** +* box: the GTK_CONTAINER with the checkboxes +* uris: the uri list of the keyservers +* names: the keyserver names +* +* Updates the box and adds checkboxes containing names/uris. The check-status +* of already existing check boxes is not changed. +**/ +static void +populate_keyserver_list (SeahorseKeyserverSearch *self, GtkWidget *box, gchar **uris, + gchar **names) +{ + GtkContainer *cont = GTK_CONTAINER (box); + GHashTable *unchecked; + gboolean any = FALSE; + GtkWidget *check; + guint i; + + /* Remove all checks, and note which ones were unchecked */ + unchecked = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); + gtk_container_foreach (cont, (GtkCallback)remove_checks, unchecked); + + /* Now add the new ones back */ + for (i = 0; uris && uris[i] && names && names[i]; i++) { + any = TRUE; + + /* A new checkbox with this the name as the label */ + check = gtk_check_button_new_with_label (names[i]); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check), + g_hash_table_lookup (unchecked, names[i]) == NULL); + g_signal_connect (check, "toggled", G_CALLBACK (on_keyserver_search_control_changed), self); + gtk_widget_show (check); + + /* Save URI and set it as the tooltip */ + g_object_set_data_full (G_OBJECT (check), "keyserver-uri", g_strdup (uris[i]), g_free); + gtk_widget_set_tooltip_text (check, uris[i]); + + gtk_container_add (cont, check); + } + + g_hash_table_destroy (unchecked); + + /* Only display the container if we had some checks */ + gtk_widget_set_visible (box, any); +} + +static void +on_settings_keyservers_changed (GSettings *settings, const gchar *key, gpointer user_data) +{ + SeahorseKeyserverSearch *self = SEAHORSE_KEYSERVER_SEARCH (user_data); + g_auto(GStrv) keyservers = NULL; + g_auto(GStrv) names = NULL; + + keyservers = seahorse_servers_get_uris (); + names = seahorse_servers_get_names (); + populate_keyserver_list (self, self->key_server_list, keyservers, names); +} + +/** +* ssd: the SeahorseServiceDiscovery. List-data is read from there +* name: ignored +* +* refreshes the "shared-keys-list" +* +**/ +static void +refresh_shared_keys (SeahorseDiscovery *ssd, + const gchar *name, + gpointer user_data) +{ + SeahorseKeyserverSearch *self = SEAHORSE_KEYSERVER_SEARCH (user_data); + g_auto(GStrv) keyservers = NULL; + g_auto(GStrv) names = NULL; + + names = seahorse_discovery_list (ssd); + keyservers = seahorse_discovery_get_uris (ssd, (const gchar **)names); + populate_keyserver_list (self, self->shared_keys_list, keyservers, names); +} + +/* -------------------------------------------------------------------------- */ + +gchar * +seahorse_keyserver_search_get_search_text (SeahorseKeyserverSearch *self) +{ + g_return_val_if_fail (SEAHORSE_IS_KEYSERVER_SEARCH (self), NULL); + + return g_strdup (gtk_entry_get_text (GTK_ENTRY (self->search_entry))); +} + +/* Extracts data, stores it in settings and starts a search using the entered + * search data. */ +static void +on_keyserver_search_ok_clicked (GtkButton *button, gpointer user_data) +{ + SeahorseKeyserverSearch *self = SEAHORSE_KEYSERVER_SEARCH (user_data); + KeyserverSelection *selection; + + /* The keyservers to search, and save for next time */ + selection = get_keyserver_selection (self); + g_return_if_fail (selection->uris != NULL); + g_settings_set_strv (G_SETTINGS (seahorse_app_settings_instance ()), "last-search-servers", + selection->all ? NULL : (const gchar * const*)selection->uris->pdata); + + free_keyserver_selection (selection); +} + +static void +cleanup_signals (GtkWidget *widget, gpointer user_data) +{ + SeahorseKeyserverSearch *self = SEAHORSE_KEYSERVER_SEARCH (user_data); + SeahorseDiscovery *ssd = seahorse_pgp_backend_get_discovery (NULL); + g_signal_handlers_disconnect_by_func (ssd, refresh_shared_keys, self); +} + +static void +seahorse_keyserver_search_init (SeahorseKeyserverSearch *self) +{ + g_autofree gchar *search_text = NULL; + SeahorsePgpSettings *settings; + SeahorseDiscovery *ssd; + + gtk_widget_init_template (GTK_WIDGET (self)); + + search_text = seahorse_app_settings_get_last_search_text (seahorse_app_settings_instance ()); + if (search_text != NULL) { + gtk_entry_set_text (GTK_ENTRY (self->search_entry), search_text); + gtk_editable_select_region (GTK_EDITABLE (self->search_entry), 0, -1); + } + + /* The key servers to list */ + settings = seahorse_pgp_settings_instance (); + on_settings_keyservers_changed (G_SETTINGS (settings), "keyservers", self); + g_signal_connect_object (settings, "changed::keyservers", + G_CALLBACK (on_settings_keyservers_changed), self, 0); + + /* Any shared keys to list */ + ssd = seahorse_pgp_backend_get_discovery (NULL); + refresh_shared_keys (ssd, NULL, self); + g_signal_connect (ssd, "added", G_CALLBACK (refresh_shared_keys), self); + g_signal_connect (ssd, "removed", G_CALLBACK (refresh_shared_keys), self); + g_signal_connect (GTK_WINDOW (self), "destroy", G_CALLBACK (cleanup_signals), self); + + select_inital_keyservers (self); + on_keyserver_search_control_changed (NULL, self); +} + +static void +seahorse_keyserver_search_class_init (SeahorseKeyserverSearchClass *klass) +{ + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + gtk_widget_class_set_template_from_resource (widget_class, "/org/gnome/Seahorse/seahorse-keyserver-search.ui"); + + gtk_widget_class_bind_template_child (widget_class, SeahorseKeyserverSearch, search_entry); + gtk_widget_class_bind_template_child (widget_class, SeahorseKeyserverSearch, key_server_list); + gtk_widget_class_bind_template_child (widget_class, SeahorseKeyserverSearch, shared_keys_list); + + gtk_widget_class_bind_template_callback (widget_class, on_keyserver_search_control_changed); + gtk_widget_class_bind_template_callback (widget_class, on_keyserver_search_ok_clicked); +} + +/** + * seahorse_keyserver_search_show: + * @parent: the parent window to connect this window to + * + * Shows a remote search window. + * + * Returns: the new window. + */ +SeahorseKeyserverSearch * +seahorse_keyserver_search_new (GtkWindow *parent) +{ + g_autoptr(SeahorseKeyserverSearch) self = NULL; + + self = g_object_new (SEAHORSE_TYPE_KEYSERVER_SEARCH, + "use-header-bar", 1, + NULL); + + return g_steal_pointer (&self); +} diff --git a/pgp/seahorse-keyserver-search.h b/pgp/seahorse-keyserver-search.h new file mode 100644 index 00000000..89990ac3 --- /dev/null +++ b/pgp/seahorse-keyserver-search.h @@ -0,0 +1,33 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + * + * Author: Stef Walter + */ + +#pragma once + +#include + +#define SEAHORSE_TYPE_KEYSERVER_SEARCH (seahorse_keyserver_search_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseKeyserverSearch, seahorse_keyserver_search, + SEAHORSE, KEYSERVER_SEARCH, + GtkDialog) + +SeahorseKeyserverSearch * seahorse_keyserver_search_new (GtkWindow *parent); + +gchar * seahorse_keyserver_search_get_search_text (SeahorseKeyserverSearch *self); diff --git a/pgp/seahorse-keyserver-search.ui b/pgp/seahorse-keyserver-search.ui new file mode 100644 index 00000000..f12d5d28 --- /dev/null +++ b/pgp/seahorse-keyserver-search.ui @@ -0,0 +1,154 @@ + + + + + diff --git a/pgp/seahorse-keyserver-sync.c b/pgp/seahorse-keyserver-sync.c new file mode 100644 index 00000000..3d93c0dc --- /dev/null +++ b/pgp/seahorse-keyserver-sync.c @@ -0,0 +1,239 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-keyserver-sync.h" + +#include "seahorse-pgp-backend.h" +#include "seahorse-transfer.h" + +#include "seahorse-common.h" + +#include "libseahorse/seahorse-progress.h" +#include "libseahorse/seahorse-util.h" +#include "libseahorse/seahorse-widget.h" + +#include + +void on_sync_ok_clicked (GtkButton *button, + SeahorseWidget *swidget); + +void on_sync_configure_clicked (GtkButton *button, + SeahorseWidget *swidget); + +static void +on_transfer_upload_complete (GObject *object, + GAsyncResult *result, + gpointer user_data) +{ + SeahorsePlace *place = SEAHORSE_PLACE (user_data); + GError *error = NULL; + gchar *publish_to; + + if (!seahorse_pgp_backend_transfer_finish (SEAHORSE_PGP_BACKEND (object), result, &error)) { + publish_to = seahorse_app_settings_get_server_publish_to (seahorse_app_settings_instance ()); + seahorse_util_handle_error (&error, NULL, + _("Couldn’t publish keys to server"), publish_to); + g_free (publish_to); + } + + g_object_unref (place); +} + +static void +on_transfer_download_complete (GObject *object, + GAsyncResult *result, + gpointer user_data) +{ + SeahorsePlace *place = SEAHORSE_PLACE (user_data); + GError *error = NULL; + gchar *keyserver; + + if (!seahorse_transfer_finish (result, &error)) { + g_object_get (place, "key-server", &keyserver, NULL); + seahorse_util_handle_error (&error, NULL, + _("Couldn’t retrieve keys from server: %s"), keyserver); + g_free (keyserver); + } + + g_object_unref (place); +} + +G_MODULE_EXPORT void +on_sync_ok_clicked (GtkButton *button, SeahorseWidget *swidget) +{ + GList *keys; + + keys = (GList*)g_object_get_data (G_OBJECT (swidget), "publish-keys"); + keys = g_list_copy (keys); + + seahorse_widget_destroy (swidget); + + seahorse_keyserver_sync (keys); + g_list_free (keys); +} + +G_MODULE_EXPORT void +on_sync_configure_clicked (GtkButton *button, SeahorseWidget *swidget) +{ + SeahorsePrefs *prefs_dialog = seahorse_prefs_new (GTK_WINDOW (seahorse_widget_get_widget (swidget, swidget->name)), "keyserver-tab"); + gtk_dialog_run (GTK_DIALOG (prefs_dialog)); + gtk_widget_destroy (GTK_WIDGET (prefs_dialog)); +} + +static void +update_message (SeahorseWidget *swidget) +{ + GtkWidget *widget; + GtkWidget *widget2; + GtkWidget *sync_button; + gchar *text; + + widget = seahorse_widget_get_widget (swidget, "publish-message"); + widget2 = seahorse_widget_get_widget (swidget, "sync-message"); + sync_button = seahorse_widget_get_widget (swidget, "sync-button"); + + text = seahorse_app_settings_get_server_publish_to (seahorse_app_settings_instance ()); + if (text && text[0]) { + gtk_widget_show (widget); + gtk_widget_hide (widget2); + gtk_widget_set_sensitive (sync_button, TRUE); + } else { + gtk_widget_hide (widget); + gtk_widget_show (widget2); + gtk_widget_set_sensitive (sync_button, FALSE); + } + g_free (text); +} + +static void +on_settings_publish_to_changed (GSettings *settings, const gchar *key, gpointer user_data) +{ + SeahorseWidget *swidget = SEAHORSE_WIDGET (user_data); + update_message (swidget); +} + +/** + * seahorse_keyserver_sync_show + * @keys: The keys to synchronize + * + * Shows a synchronize window. + * + * Returns the new window. + **/ +GtkWindow* +seahorse_keyserver_sync_show (GList *keys, GtkWindow *parent) +{ + SeahorseWidget *swidget; + GtkWindow *win; + GtkWidget *w; + guint n; + gchar *t; + + swidget = seahorse_widget_new_allow_multiple ("keyserver-sync", parent); + g_return_val_if_fail (swidget != NULL, NULL); + + win = GTK_WINDOW (seahorse_widget_get_widget (swidget, swidget->name)); + + /* The details message */ + n = g_list_length (keys); + t = g_strdup_printf (ngettext ("%d key is selected for synchronizing", + "%d keys are selected for synchronizing", n), n); + + w = GTK_WIDGET (seahorse_widget_get_widget (swidget, "detail-message")); + g_return_val_if_fail (swidget != NULL, win); + gtk_label_set_markup (GTK_LABEL (w), t); + g_free (t); + + /* The right help message */ + update_message (swidget); + g_signal_connect_object (seahorse_app_settings_instance (), "changed::server-publish-to", + G_CALLBACK (on_settings_publish_to_changed), swidget, 0); + + keys = g_list_copy (keys); + g_return_val_if_fail (!keys || SEAHORSE_IS_OBJECT (keys->data), win); + g_object_set_data_full (G_OBJECT (swidget), "publish-keys", keys, + (GDestroyNotify)g_list_free); + + return win; +} + +void +seahorse_keyserver_sync (GList *keys) +{ + SeahorseServerSource *source; + SeahorseGpgmeKeyring *keyring; + gchar *keyserver; + GCancellable *cancellable; + gchar **keyservers; + GPtrArray *keyids; + GList *l; + guint i; + + if (!keys) + return; + + cancellable = g_cancellable_new (); + + keyids = g_ptr_array_new (); + for (l = keys; l != NULL; l = g_list_next (l)) + g_ptr_array_add (keyids, (gchar *)seahorse_pgp_key_get_keyid (l->data)); + g_ptr_array_add (keyids, NULL); + + /* And now synchronizing keys from the servers */ + keyservers = seahorse_servers_get_uris (); + for (i = 0; keyservers[i] != NULL; i++) { + source = seahorse_pgp_backend_lookup_remote (NULL, keyservers[i]); + + /* This can happen if the URI scheme is not supported */ + if (source == NULL) + continue; + + keyring = seahorse_pgp_backend_get_default_keyring (NULL); + seahorse_transfer_keyids_async (SEAHORSE_SERVER_SOURCE (source), + SEAHORSE_PLACE (keyring), + (const gchar **)keyids->pdata, + cancellable, + on_transfer_download_complete, + g_object_ref (source)); + } + + g_ptr_array_free (keyids, TRUE); + g_strfreev (keyservers); + + /* Publishing keys online */ + keyserver = seahorse_app_settings_get_server_publish_to (seahorse_app_settings_instance ()); + if (keyserver && keyserver[0]) { + source = seahorse_pgp_backend_lookup_remote (NULL, keyserver); + + /* This can happen if the URI scheme is not supported */ + if (source != NULL) { + seahorse_pgp_backend_transfer_async (NULL, keys, SEAHORSE_PLACE (source), + cancellable, on_transfer_upload_complete, + g_object_ref (source)); + } + } + + g_free (keyserver); + + seahorse_progress_show (cancellable, _("Synchronizing keys…"), FALSE); + g_object_unref (cancellable); +} diff --git a/pgp/seahorse-keyserver-sync.h b/pgp/seahorse-keyserver-sync.h new file mode 100644 index 00000000..43bf5394 --- /dev/null +++ b/pgp/seahorse-keyserver-sync.h @@ -0,0 +1,28 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Adam Schreiber + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +void seahorse_keyserver_sync (GList *keys); + + +GtkWindow* seahorse_keyserver_sync_show (GList *keys, + GtkWindow *parent); diff --git a/pgp/seahorse-keyserver-sync.ui b/pgp/seahorse-keyserver-sync.ui new file mode 100644 index 00000000..70aa2c93 --- /dev/null +++ b/pgp/seahorse-keyserver-sync.ui @@ -0,0 +1,180 @@ + + + + + + gtk-properties + + + gtk-refresh + + + True + 5 + Sync Keys + center + dialog + + + True + 2 + + + True + 5 + 12 + + + True + 12 + + + True + 0 + 0 + gtk-network + 5 + + + False + 0 + + + + + True + 12 + + + True + 0 + 0 + This will publish the keys in your key ring so they’re available for others to use. You’ll also get any changes others have made since you received their keys. + True + + + False + False + 0 + + + + + 0 + 0 + This will retrieve any changes others have made since you received their keys. No key server has been chosen for publishing, so your keys will not be made available to others. + True + + + False + False + 1 + + + + + True + 0 + 0 + + True + True + + + False + False + 2 + + + + + False + False + 1 + + + + + False + False + 0 + + + + + False + 1 + + + + + True + end + + + _Key Servers + True + True + True + False + configure-image + True + + + + False + False + 0 + + + + + gtk-cancel + True + True + True + False + True + + + + False + False + 1 + + + + + _Sync + True + True + True + True + True + False + sync-image + True + + + + False + False + 2 + + + + + False + end + 0 + + + + + + configure + button3 + sync-button + + + diff --git a/pgp/seahorse-ldap-source.c b/pgp/seahorse-ldap-source.c new file mode 100644 index 00000000..415fc4ee --- /dev/null +++ b/pgp/seahorse-ldap-source.c @@ -0,0 +1,1414 @@ +/* + * Seahorse + * + * Copyright (C) 2004 - 2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include +#include +#include + +#include + +#include "seahorse-ldap-source.h" + +#include "seahorse-pgp-key.h" +#include "seahorse-pgp-subkey.h" +#include "seahorse-pgp-uid.h" + +#include "seahorse-common.h" + +#include "libseahorse/seahorse-object-list.h" +#include "libseahorse/seahorse-progress.h" +#include "libseahorse/seahorse-util.h" + +#include + +#ifdef WITH_SOUP +#include +#endif + +#ifdef WITH_LDAP + +/* Amount of keys to load in a batch */ +#define DEFAULT_LOAD_BATCH 30 + +struct _SeahorseLDAPSource { + SeahorseServerSource parent; +}; + +/* ----------------------------------------------------------------------------- + * SERVER INFO + */ + +typedef struct _LDAPServerInfo { + char *base_dn; /* The base dn where PGP keys are found */ + char *key_attr; /* The attribute of PGP key data */ + guint version; /* The version of the PGP server software */ +} LDAPServerInfo; + +static void +free_ldap_server_info (LDAPServerInfo *sinfo) +{ + if (sinfo) { + g_free (sinfo->base_dn); + g_free (sinfo->key_attr); + g_free (sinfo); + } +} + +static void +set_ldap_server_info (SeahorseLDAPSource *lsrc, LDAPServerInfo *sinfo) +{ + g_object_set_data_full (G_OBJECT (lsrc), "server-info", sinfo, + (GDestroyNotify)free_ldap_server_info); +} + +static LDAPServerInfo* +get_ldap_server_info (SeahorseLDAPSource *lsrc, gboolean force) +{ + LDAPServerInfo *sinfo; + + sinfo = g_object_get_data (G_OBJECT (lsrc), "server-info"); + + /* When we're asked to force getting the data, we fill in + * some defaults */ + if (!sinfo && force) { + sinfo = g_new0 (LDAPServerInfo, 1); + sinfo->base_dn = g_strdup ("OU=ACTIVE,O=PGP KEYSPACE,C=US"); + sinfo->key_attr = g_strdup ("pgpKey"); + sinfo->version = 0; + set_ldap_server_info (lsrc, sinfo); + } + + return sinfo; +} + +static void +destroy_ldap (gpointer data) +{ + if (data) + ldap_unbind_ext ((LDAP *) data, NULL, NULL); +} + +/* ----------------------------------------------------------------------------- + * LDAP HELPERS + */ + +#define LDAP_ERROR_DOMAIN (get_ldap_error_domain()) + +static char** +get_ldap_values (LDAP *ld, LDAPMessage *entry, const char *attribute) +{ + GArray *array; + struct berval **bv; + char *value; + int num, i; + + bv = ldap_get_values_len (ld, entry, attribute); + if (!bv) + return NULL; + + array = g_array_new (TRUE, TRUE, sizeof (char*)); + num = ldap_count_values_len (bv); + for(i = 0; i < num; i++) { + value = g_strndup (bv[i]->bv_val, bv[i]->bv_len); + g_array_append_val(array, value); + } + + return (char**)g_array_free (array, FALSE); +} + +#ifdef WITH_DEBUG + +static void +dump_ldap_entry (LDAP *ld, LDAPMessage *res) +{ + BerElement *pos; + char *t; + + t = ldap_get_dn (ld, res); + g_debug ("dn: %s\n", t); + ldap_memfree (t); + + for (t = ldap_first_attribute (ld, res, &pos); t; + t = ldap_next_attribute (ld, res, pos)) { + g_auto(GStrv) values = NULL; + char **v; + + values = get_ldap_values (ld, res, t); + for (v = values; *v; v++) + g_debug ("%s: %s\n", t, *v); + + ldap_memfree (t); + } + + ber_free (pos, 0); +} + +#endif /* WITH_DEBUG */ + +static GQuark +get_ldap_error_domain () +{ + static GQuark q = 0; + if(q == 0) + q = g_quark_from_static_string ("seahorse-ldap-error"); + return q; +} + +static char* +get_string_attribute (LDAP *ld, LDAPMessage *res, const char *attribute) +{ + g_auto(GStrv) vals = NULL; + char *v; + + vals = get_ldap_values (ld, res, attribute); + if (!vals) + return NULL; + v = vals[0] ? g_strdup (vals[0]) : NULL; + return v; +} + +static gboolean +get_boolean_attribute (LDAP* ld, LDAPMessage *res, const char *attribute) +{ + g_auto(GStrv) vals = NULL; + gboolean b; + + vals = get_ldap_values (ld, res, attribute); + if (!vals) + return FALSE; + b = vals[0] && atoi (vals[0]) == 1; + return b; +} + +static long int +get_int_attribute (LDAP* ld, LDAPMessage *res, const char *attribute) +{ + g_auto(GStrv) vals = NULL; + long int d; + + vals = get_ldap_values (ld, res, attribute); + if (!vals) + return 0; + d = vals[0] ? atoi (vals[0]) : 0; + return d; +} + +static long int +get_date_attribute (LDAP* ld, LDAPMessage *res, const char *attribute) +{ + g_auto(GStrv) vals = NULL; + struct tm t; + long int d = 0; + + vals = get_ldap_values (ld, res, attribute); + if (!vals) + return 0; + + if (vals[0]) { + memset(&t, 0, sizeof (t)); + + /* YYYYMMDDHHmmssZ */ + sscanf(vals[0], "%4d%2d%2d%2d%2d%2d", + &t.tm_year, &t.tm_mon, &t.tm_mday, + &t.tm_hour, &t.tm_min, &t.tm_sec); + + t.tm_year -= 1900; + t.tm_isdst = -1; + t.tm_mon--; + + d = mktime (&t); + } + + return d; +} + +static const char* +get_algo_attribute (LDAP* ld, LDAPMessage *res, const char *attribute) +{ + g_auto(GStrv) vals = NULL; + const char *a = NULL; + + vals = get_ldap_values (ld, res, attribute); + if (!vals) + return 0; + + if (vals[0]) { + if (g_ascii_strcasecmp (vals[0], "DH/DSS") == 0 || + g_ascii_strcasecmp (vals[0], "Elg") == 0 || + g_ascii_strcasecmp (vals[0], "Elgamal") == 0 || + g_ascii_strcasecmp (vals[0], "DSS/DH") == 0) + a = "Elgamal"; + if (g_ascii_strcasecmp (vals[0], "RSA") == 0) + a = "RSA"; + if (g_ascii_strcasecmp (vals[0], "DSA") == 0) + a = "DSA"; + } + + return a; +} + +/* + * Escapes a value so it's safe to use in an LDAP filter. Also trims + * any spaces which cause problems with some LDAP servers. + */ +static char* +escape_ldap_value (const char *v) +{ + GString *value; + char* result; + + g_assert (v); + value = g_string_sized_new (strlen(v)); + + for ( ; *v; v++) { + switch(*v) { + case '#': case ',': case '+': case '\\': + case '/': case '\"': case '<': case '>': case ';': + value = g_string_append_c (value, '\\'); + value = g_string_append_c (value, *v); + continue; + }; + + if(*v < 32 || *v > 126) { + g_string_append_printf (value, "\\%02X", *v); + continue; + } + + value = g_string_append_c (value, *v); + } + + result = g_string_free (value, FALSE); + g_strstrip (result); + return result; +} + +typedef gboolean (*SeahorseLdapCallback) (LDAPMessage *result, + gpointer user_data); + +typedef struct { + GSource source; + LDAP *ldap; + int ldap_op; + GCancellable *cancellable; + gboolean cancelled; + int cancelled_sig; +} SeahorseLdapGSource; + +static gboolean +seahorse_ldap_gsource_prepare (GSource *gsource, + int *timeout) +{ + SeahorseLdapGSource *ldap_gsource = (SeahorseLdapGSource *)gsource; + + if (ldap_gsource->cancelled) + return TRUE; + + /* No other way, but to poll */ + *timeout = 50; + return FALSE; +} + +static gboolean +seahorse_ldap_gsource_check (GSource *gsource) +{ + return TRUE; +} + +static gboolean +seahorse_ldap_gsource_dispatch (GSource *gsource, + GSourceFunc callback, + gpointer user_data) +{ + SeahorseLdapGSource *ldap_gsource = (SeahorseLdapGSource *)gsource; + struct timeval timeout; + LDAPMessage *result; + gboolean ret; + int rc, i; + + if (ldap_gsource->cancelled) { + ((SeahorseLdapCallback)callback) (NULL, user_data); + return FALSE; + } + + for (i = 0; i < DEFAULT_LOAD_BATCH; i++) { + + /* This effects a poll */ + timeout.tv_sec = 0; + timeout.tv_usec = 0; + + rc = ldap_result (ldap_gsource->ldap, ldap_gsource->ldap_op, + 0, &timeout, &result); + if (rc == -1) { + g_warning ("ldap_result failed with rc = %d, errno = %s", + rc, g_strerror (errno)); + return G_SOURCE_REMOVE; + } + + /* Timeout */ + if (rc == 0) + return G_SOURCE_CONTINUE; + + ret = ((SeahorseLdapCallback)callback) (result, user_data); + ldap_msgfree (result); + + if (!ret) + return G_SOURCE_REMOVE; + } + + return G_SOURCE_CONTINUE; +} + +static void +seahorse_ldap_gsource_finalize (GSource *gsource) +{ + SeahorseLdapGSource *ldap_gsource = (SeahorseLdapGSource *)gsource; + g_cancellable_disconnect (ldap_gsource->cancellable, + ldap_gsource->cancelled_sig); + g_clear_object (&ldap_gsource->cancellable); +} + +static GSourceFuncs seahorse_ldap_gsource_funcs = { + seahorse_ldap_gsource_prepare, + seahorse_ldap_gsource_check, + seahorse_ldap_gsource_dispatch, + seahorse_ldap_gsource_finalize, +}; + +static void +on_ldap_gsource_cancelled (GCancellable *cancellable, + gpointer user_data) +{ + SeahorseLdapGSource *ldap_gsource = user_data; + ldap_gsource->cancelled = TRUE; +} + +static GSource * +seahorse_ldap_gsource_new (LDAP *ldap, + int ldap_op, + GCancellable *cancellable) +{ + GSource *gsource; + SeahorseLdapGSource *ldap_gsource; + + gsource = g_source_new (&seahorse_ldap_gsource_funcs, + sizeof (SeahorseLdapGSource)); + + ldap_gsource = (SeahorseLdapGSource *)gsource; + ldap_gsource->ldap = ldap; + ldap_gsource->ldap_op = ldap_op; + + if (cancellable) { + ldap_gsource->cancellable = g_object_ref (cancellable); + ldap_gsource->cancelled_sig = g_cancellable_connect (cancellable, + G_CALLBACK (on_ldap_gsource_cancelled), + ldap_gsource, NULL); + } + + return gsource; +} + +static gboolean +seahorse_ldap_source_propagate_error (SeahorseLDAPSource *self, + int rc, GError **error) +{ + g_autofree char *server = NULL; + + if (rc == LDAP_SUCCESS) + return FALSE; + + g_object_get (self, "key-server", &server, NULL); + g_set_error (error, LDAP_ERROR_DOMAIN, rc, _("Couldn’t communicate with %s: %s"), + server, ldap_err2string (rc)); + + return TRUE; +} + +typedef struct { + LDAP *ldap; +} ConnectClosure; + +static void +connect_closure_free (gpointer data) +{ + ConnectClosure *closure = data; + if (closure->ldap) + ldap_unbind_ext (closure->ldap, NULL, NULL); + g_free (closure); +} + +static gboolean +on_connect_server_info_completed (LDAPMessage *result, + gpointer user_data) +{ + GTask *task = G_TASK (user_data); + ConnectClosure *closure = g_task_get_task_data (task); + GCancellable *cancellable = g_task_get_cancellable (task); + SeahorseLDAPSource *self = SEAHORSE_LDAP_SOURCE (g_task_get_source_object (task)); + char *message; + int code; + int type; + int rc; + + type = ldap_msgtype (result); + g_return_val_if_fail (type == LDAP_RES_SEARCH_ENTRY || type == LDAP_RES_SEARCH_RESULT, FALSE); + + /* If we have results then fill in the server info */ + if (type == LDAP_RES_SEARCH_ENTRY) { + LDAPServerInfo *sinfo; + + g_debug ("Server Info Result"); +#ifdef WITH_DEBUG + dump_ldap_entry (closure->ldap, result); +#endif + + /* NOTE: When adding attributes here make sure to add them to kServerAttributes */ + sinfo = g_new0 (LDAPServerInfo, 1); + sinfo->version = get_int_attribute (closure->ldap, result, "version"); + sinfo->base_dn = get_string_attribute (closure->ldap, result, "basekeyspacedn"); + if (!sinfo->base_dn) + sinfo->base_dn = get_string_attribute (closure->ldap, result, "pgpbasekeyspacedn"); + sinfo->key_attr = g_strdup (sinfo->version > 1 ? "pgpkeyv2" : "pgpkey"); + set_ldap_server_info (self, sinfo); + + return G_SOURCE_CONTINUE; + } + + rc = ldap_parse_result (closure->ldap, result, &code, NULL, &message, + NULL, NULL, 0); + g_return_val_if_fail (rc == LDAP_SUCCESS, FALSE); + + if (code != LDAP_SUCCESS) + g_warning ("operation to get LDAP server info failed: %s", message); + + ldap_memfree (message); + + g_task_return_pointer (task, g_steal_pointer (&closure->ldap), destroy_ldap); + seahorse_progress_end (cancellable, task); + return G_SOURCE_REMOVE; +} + +static const char *SERVER_ATTRIBUTES[] = { + "basekeyspacedn", + "pgpbasekeyspacedn", + "version", + NULL +}; + +static gboolean +on_connect_bind_completed (LDAPMessage *result, + gpointer user_data) +{ + GTask *task = G_TASK (user_data); + ConnectClosure *closure = g_task_get_task_data (task); + GCancellable *cancellable = g_task_get_cancellable (task); + SeahorseLDAPSource *self = SEAHORSE_LDAP_SOURCE (g_task_get_source_object (task)); + LDAPServerInfo *sinfo; + g_autoptr(GError) error = NULL; + char *message; + int ldap_op; + int code; + int rc; + g_autoptr(GSource) gsource = NULL; + + g_return_val_if_fail (ldap_msgtype (result) == LDAP_RES_BIND, FALSE); + + /* The result of the bind operation */ + rc = ldap_parse_result (closure->ldap, result, &code, NULL, &message, + NULL, NULL, 0); + g_return_val_if_fail (rc == LDAP_SUCCESS, FALSE); + ldap_memfree (message); + + if (seahorse_ldap_source_propagate_error (self, rc, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return G_SOURCE_REMOVE; + } + + /* Check if we need server info */ + sinfo = get_ldap_server_info (self, FALSE); + if (sinfo != NULL) { + g_task_return_pointer (task, g_steal_pointer (&closure->ldap), destroy_ldap); + seahorse_progress_end (cancellable, task); + return G_SOURCE_REMOVE; + } + + /* Retrieve the server info */ + rc = ldap_search_ext (closure->ldap, "cn=PGPServerInfo", LDAP_SCOPE_BASE, + "(objectclass=*)", (char **)SERVER_ATTRIBUTES, 0, + NULL, NULL, NULL, 0, &ldap_op); + + if (seahorse_ldap_source_propagate_error (self, rc, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return G_SOURCE_REMOVE; + } + + gsource = seahorse_ldap_gsource_new (closure->ldap, ldap_op, cancellable); + g_source_set_callback (gsource, + G_SOURCE_FUNC (on_connect_server_info_completed), + g_object_ref (task), g_object_unref); + g_source_attach (gsource, g_main_context_default ()); + + return G_SOURCE_REMOVE; +} + +static void +once_resolved_start_connect (SeahorseLDAPSource *self, + GTask *task, + const char *address) +{ + ConnectClosure *closure = g_task_get_task_data (task); + GCancellable *cancellable = g_task_get_cancellable (task); + g_autofree char *server = NULL; + char *text; + g_autoptr(GError) error = NULL; + int port = LDAP_PORT; + g_autofree char *url = NULL; + int rc; + struct berval cred; + int ldap_op; + g_autoptr(GSource) gsource = NULL; + + /* Now that we've resolved our address, connect via IP */ + g_object_get (self, "key-server", &server, NULL); + g_return_if_fail (server && server[0]); + + if ((text = strchr (server, ':')) != NULL) { + *text = 0; + text++; + port = atoi (text); + if (port <= 0 || port >= G_MAXUINT16) { + g_warning ("invalid port number: %s (using default)", text); + port = LDAP_PORT; + } + } + + url = g_strdup_printf ("ldap://%s:%u", address, port); + rc = ldap_initialize (&closure->ldap, url); + + if (seahorse_ldap_source_propagate_error (self, rc, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + /* Start the bind operation */ + cred.bv_val = ""; + cred.bv_len = 0; + + rc = ldap_sasl_bind (closure->ldap, NULL, LDAP_SASL_SIMPLE, &cred, NULL, + NULL, &ldap_op); + if (seahorse_ldap_source_propagate_error (self, rc, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + gsource = seahorse_ldap_gsource_new (closure->ldap, ldap_op, cancellable); + g_source_set_callback (gsource, G_SOURCE_FUNC (on_connect_bind_completed), + g_object_ref (task), g_object_unref); + g_source_attach (gsource, g_main_context_default ()); +} + +#ifdef WITH_SOUP + +static void +on_address_resolved_complete (SoupAddress *address, + guint status, + gpointer user_data) +{ + g_autoptr(GTask) task = user_data; + SeahorseLDAPSource *self = SEAHORSE_LDAP_SOURCE (g_task_get_source_object (task)); + GCancellable *cancellable = g_task_get_cancellable (task); + g_autofree char *server = NULL; + + g_object_get (self, "key-server", &server, NULL); + g_return_if_fail (server && server[0]); + seahorse_progress_update (cancellable, task, _("Connecting to: %s"), server); + + /* DNS failed */ + if (!SOUP_STATUS_IS_SUCCESSFUL (status)) { + g_task_return_new_error (task, SEAHORSE_ERROR, -1, + _("Couldn’t resolve address: %s"), + soup_address_get_name (address)); + return; + } + + /* Yay resolved */ + once_resolved_start_connect (self, task, soup_address_get_physical (address)); +} + +#endif /* WITH_SOUP */ + +static void +seahorse_ldap_source_connect_async (SeahorseLDAPSource *source, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_autoptr(GTask) task = NULL; + ConnectClosure *closure; + g_autofree char *server = NULL; + char *pos; +#ifdef WITH_SOUP + SoupAddress *address = NULL; +#endif + + task = g_task_new (source, cancellable, callback, user_data); + g_task_set_source_tag (task, seahorse_ldap_source_connect_async); + + closure = g_new0 (ConnectClosure, 1); + g_task_set_task_data (task, closure, connect_closure_free); + + g_object_get (source, "key-server", &server, NULL); + g_return_if_fail (server && server[0]); + if ((pos = strchr (server, ':')) != NULL) + *pos = 0; + + seahorse_progress_prep_and_begin (cancellable, task, NULL); + + /* If we have libsoup, try and resolve asynchronously */ +#ifdef WITH_SOUP + address = soup_address_new (server, LDAP_PORT); + seahorse_progress_update (cancellable, task, + _("Resolving server address: %s"), server); + + soup_address_resolve_async (address, NULL, cancellable, + on_address_resolved_complete, + g_steal_pointer (&task)); + g_object_unref (address); +#else /* !WITH_SOUP */ + + once_resolved_start_connect (source, task, server); + +#endif +} + +static LDAP * +seahorse_ldap_source_connect_finish (SeahorseLDAPSource *source, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (g_task_is_valid (result, source), NULL); + g_return_val_if_fail (g_task_get_source_tag (G_TASK (result)) == + seahorse_ldap_source_connect_async, NULL); + + return g_task_propagate_pointer (G_TASK (result), error); +} + +G_DEFINE_TYPE (SeahorseLDAPSource, seahorse_ldap_source, SEAHORSE_TYPE_SERVER_SOURCE); + +static void +seahorse_ldap_source_init (SeahorseLDAPSource *self) +{ +} + +typedef struct { + char *filter; + LDAP *ldap; + GcrSimpleCollection *results; +} SearchClosure; + +static void +search_closure_free (gpointer data) +{ + SearchClosure *closure = data; + g_clear_object (&closure->results); + g_free (closure->filter); + if (closure->ldap) + ldap_unbind_ext (closure->ldap, NULL, NULL); + g_free (closure); +} + +static const char *PGP_ATTRIBUTES[] = { + "pgpcertid", + "pgpuserid", + "pgprevoked", + "pgpdisabled", + "pgpkeycreatetime", + "pgpkeyexpiretime" + "pgpkeysize", + "pgpkeytype", + NULL +}; + +/* Add a key to the key source from an LDAP entry */ +static void +search_parse_key_from_ldap_entry (SeahorseLDAPSource *self, + GcrSimpleCollection *results, + LDAP *ldap, + LDAPMessage *res) +{ + const char *algo; + long int timestamp; + long int expires; + g_autofree char *fpr = NULL; + g_autofree char *uidstr = NULL; + gboolean revoked; + gboolean disabled; + int length; + + g_return_if_fail (ldap_msgtype (res) == LDAP_RES_SEARCH_ENTRY); + + fpr = get_string_attribute (ldap, res, "pgpcertid"); + uidstr = get_string_attribute (ldap, res, "pgpuserid"); + revoked = get_boolean_attribute (ldap, res, "pgprevoked"); + disabled = get_boolean_attribute (ldap, res, "pgpdisabled"); + timestamp = get_date_attribute (ldap, res, "pgpkeycreatetime"); + expires = get_date_attribute (ldap, res, "pgpkeyexpiretime"); + algo = get_algo_attribute (ldap, res, "pgpkeytype"); + length = get_int_attribute (ldap, res, "pgpkeysize"); + + if (fpr && uidstr) { + SeahorsePgpSubkey *subkey; + g_autoptr(SeahorsePgpKey) key = NULL; + g_autofree char *fingerprint = NULL; + SeahorsePgpUid *uid; + GList *list; + guint flags; + + /* Build up a subkey */ + subkey = seahorse_pgp_subkey_new (); + seahorse_pgp_subkey_set_keyid (subkey, fpr); + fingerprint = seahorse_pgp_subkey_calc_fingerprint (fpr); + seahorse_pgp_subkey_set_fingerprint (subkey, fingerprint); + seahorse_pgp_subkey_set_created (subkey, timestamp); + seahorse_pgp_subkey_set_expires (subkey, expires); + seahorse_pgp_subkey_set_algorithm (subkey, algo); + seahorse_pgp_subkey_set_length (subkey, length); + + flags = SEAHORSE_FLAG_EXPORTABLE; + if (revoked) + flags |= SEAHORSE_FLAG_REVOKED; + if (disabled) + flags |= SEAHORSE_FLAG_DISABLED; + seahorse_pgp_subkey_set_flags (subkey, flags); + + key = seahorse_pgp_key_new (); + + /* Build up a uid */ + uid = seahorse_pgp_uid_new (key, uidstr); + if (revoked) + seahorse_pgp_uid_set_validity (uid, SEAHORSE_VALIDITY_REVOKED); + + /* Now build them into a key */ + list = g_list_prepend (NULL, uid); + seahorse_pgp_key_set_uids (key, list); + seahorse_object_list_free (list); + list = g_list_prepend (NULL, subkey); + seahorse_pgp_key_set_subkeys (key, list); + seahorse_object_list_free (list); + g_object_set (key, + "object-flags", flags, + "place", self, + NULL); + + seahorse_pgp_key_realize (key); + gcr_simple_collection_add (results, G_OBJECT (key)); + } +} + +static gboolean +on_search_search_completed (LDAPMessage *result, + gpointer user_data) +{ + GTask *task = G_TASK (user_data); + SeahorseLDAPSource *self = SEAHORSE_LDAP_SOURCE (g_task_get_source_object (task)); + SearchClosure *closure = g_task_get_task_data (task); + GCancellable *cancellable = g_task_get_cancellable (task); + g_autoptr(GError) error = NULL; + int type; + int rc; + int code; + char *message; + + type = ldap_msgtype (result); + g_return_val_if_fail (type == LDAP_RES_SEARCH_ENTRY || type == LDAP_RES_SEARCH_RESULT, FALSE); + + /* An LDAP entry */ + if (type == LDAP_RES_SEARCH_ENTRY) { + g_debug ("Retrieved Key Entry"); +#ifdef WITH_DEBUG + dump_ldap_entry (closure->ldap, result); +#endif + + search_parse_key_from_ldap_entry (self, closure->results, + closure->ldap, result); + return G_SOURCE_CONTINUE; + } + + /* All entries done */ + rc = ldap_parse_result (closure->ldap, result, &code, NULL, + &message, NULL, NULL, 0); + g_return_val_if_fail (rc == LDAP_SUCCESS, FALSE); + + /* Error codes that we ignore */ + switch (code) { + case LDAP_SIZELIMIT_EXCEEDED: + code = LDAP_SUCCESS; + break; + }; + + if (code != LDAP_SUCCESS) + g_task_return_new_error (task, LDAP_ERROR_DOMAIN, code, "%s", message); + else if (seahorse_ldap_source_propagate_error (self, code, &error)) + g_task_return_error (task, g_steal_pointer (&error)); + else + g_task_return_boolean (task, TRUE); + + ldap_memfree (message); + seahorse_progress_end (cancellable, task); + + return G_SOURCE_REMOVE; +} + +static void +on_search_connect_completed (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + SeahorseLDAPSource *self = SEAHORSE_LDAP_SOURCE (source); + g_autoptr(GTask) task = G_TASK (user_data); + SearchClosure *closure = g_task_get_task_data (task); + GCancellable *cancellable = g_task_get_cancellable (task); + g_autoptr(GError) error = NULL; + LDAPServerInfo *sinfo; + int ldap_op; + int rc; + g_autoptr(GSource) gsource = NULL; + + closure->ldap = seahorse_ldap_source_connect_finish (self, result, &error); + if (error != NULL) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + sinfo = get_ldap_server_info (self, TRUE); + + g_debug ("Searching Server ... base: %s, filter: %s", + sinfo->base_dn, closure->filter); + + rc = ldap_search_ext (closure->ldap, sinfo->base_dn, LDAP_SCOPE_SUBTREE, + closure->filter, (char **)PGP_ATTRIBUTES, 0, + NULL, NULL, NULL, 0, &ldap_op); + + if (seahorse_ldap_source_propagate_error (self, rc, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + gsource = seahorse_ldap_gsource_new (closure->ldap, ldap_op, cancellable); + g_source_set_callback (gsource, G_SOURCE_FUNC (on_search_search_completed), + g_steal_pointer (&task), g_object_unref); + g_source_attach (gsource, g_main_context_default ()); +} + + +static void +seahorse_ldap_source_search_async (SeahorseServerSource *source, + const char *match, + GcrSimpleCollection *results, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + SeahorseLDAPSource *self = SEAHORSE_LDAP_SOURCE (source); + SearchClosure *closure; + g_autoptr(GTask) task = NULL; + g_autofree char *text = NULL; + + task = g_task_new (source, cancellable, callback, user_data); + g_task_set_source_tag (task, seahorse_ldap_source_search_async); + closure = g_new0 (SearchClosure, 1); + closure->results = g_object_ref (results); + text = escape_ldap_value (match); + closure->filter = g_strdup_printf ("(pgpuserid=*%s*)", text); + g_task_set_task_data (task, closure, search_closure_free); + + seahorse_progress_prep_and_begin (cancellable, task, NULL); + + seahorse_ldap_source_connect_async (self, cancellable, + on_search_connect_completed, + g_steal_pointer (&task)); +} + +static gboolean +seahorse_ldap_source_search_finish (SeahorseServerSource *source, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (SEAHORSE_IS_LDAP_SOURCE (source), FALSE); + g_return_val_if_fail (g_task_is_valid (result, source), FALSE); + + return g_task_propagate_boolean (G_TASK (result), error); +} + +typedef struct { + GPtrArray *keydatas; + int current_index; + LDAP *ldap; +} ImportClosure; + +static void +import_closure_free (gpointer data) +{ + ImportClosure *closure = data; + g_ptr_array_free (closure->keydatas, TRUE); + if (closure->ldap) + ldap_unbind_ext (closure->ldap, NULL, NULL); + g_free (closure); +} + +static void import_send_key (SeahorseLDAPSource *self, GTask *task); + +/* Called when results come in for a key send */ +static gboolean +on_import_add_completed (LDAPMessage *result, + gpointer user_data) +{ + GTask *task = G_TASK (user_data); + ImportClosure *closure = g_task_get_task_data (task); + SeahorseLDAPSource *self = SEAHORSE_LDAP_SOURCE (g_task_get_source_object (task)); + GError *error = NULL; + char *message; + int code; + int rc; + + g_return_val_if_fail (ldap_msgtype (result) == LDAP_RES_ADD, FALSE); + + rc = ldap_parse_result (closure->ldap, result, &code, NULL, + &message, NULL, NULL, 0); + g_return_val_if_fail (rc == LDAP_SUCCESS, FALSE); + + /* TODO: Somehow communicate this to the user */ + if (code == LDAP_ALREADY_EXISTS) + code = LDAP_SUCCESS; + + ldap_memfree (message); + + if (seahorse_ldap_source_propagate_error (self, code, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return G_SOURCE_REMOVE; + } + + import_send_key (self, task); + return G_SOURCE_REMOVE; +} + +static void +import_send_key (SeahorseLDAPSource *self, GTask *task) +{ + ImportClosure *closure = g_task_get_task_data (task); + GCancellable *cancellable = g_task_get_cancellable (task); + LDAPServerInfo *sinfo; + g_autofree char *base = NULL; + LDAPMod mod; + LDAPMod *attrs[2]; + char *values[2]; + g_autoptr(GSource) gsource = NULL; + GError *error = NULL; + char *keydata; + int ldap_op; + int rc; + + if (closure->current_index >= 0) { + keydata = g_ptr_array_index (closure->keydatas, closure->current_index); + seahorse_progress_end (cancellable, keydata); + } + + closure->current_index++; + + /* All done, complete operation */ + if (closure->current_index == (int) closure->keydatas->len) { + g_task_return_boolean (task, TRUE); + return; + } + + keydata = g_ptr_array_index (closure->keydatas, closure->current_index); + seahorse_progress_begin (cancellable, keydata); + values[0] = keydata; + values[1] = NULL; + + sinfo = get_ldap_server_info (self, TRUE); + memset (&mod, 0, sizeof (mod)); + mod.mod_op = LDAP_MOD_ADD; + mod.mod_type = sinfo->key_attr; + mod.mod_values = values; + + attrs[0] = &mod; + attrs[1] = NULL; + + base = g_strdup_printf ("pgpCertid=virtual,%s", sinfo->base_dn); + rc = ldap_add_ext (closure->ldap, base, attrs, NULL, NULL, &ldap_op); + + if (seahorse_ldap_source_propagate_error (self, rc, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + gsource = seahorse_ldap_gsource_new (closure->ldap, ldap_op, cancellable); + g_source_set_callback (gsource, G_SOURCE_FUNC (on_import_add_completed), + g_object_ref (task), g_object_unref); + g_source_attach (gsource, g_main_context_default ()); +} + +static void +on_import_connect_completed (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + g_autoptr(GTask) task = G_TASK (user_data); + ImportClosure *closure = g_task_get_task_data (task); + SeahorseLDAPSource *self = SEAHORSE_LDAP_SOURCE (source); + g_autoptr(GError) error = NULL; + + closure->ldap = seahorse_ldap_source_connect_finish (self, result, &error); + if (error != NULL) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + import_send_key (self, task); +} + +static void +seahorse_ldap_source_import_async (SeahorseServerSource *source, + GInputStream *input, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + SeahorseLDAPSource *self = SEAHORSE_LDAP_SOURCE (source); + g_autoptr(GTask) task = NULL; + ImportClosure *closure; + + task = g_task_new (source, cancellable, callback, user_data); + g_task_set_source_tag (task, seahorse_ldap_source_import_async); + + closure = g_new0 (ImportClosure, 1); + closure->current_index = -1; + g_task_set_task_data (task, closure, import_closure_free); + + closure->keydatas = g_ptr_array_new_with_free_func (g_free); + for (;;) { + g_autoptr(GString) buf = g_string_sized_new (2048); + guint len; + g_autofree char *keydata = NULL; + + len = seahorse_util_read_data_block (buf, input, "-----BEGIN PGP PUBLIC KEY BLOCK-----", + "-----END PGP PUBLIC KEY BLOCK-----"); + if (len <= 0) + break; + + keydata = g_string_free (g_steal_pointer (&buf), FALSE); + seahorse_progress_prep (cancellable, keydata, NULL); + g_ptr_array_add (closure->keydatas, g_steal_pointer (&keydata)); + } + + seahorse_ldap_source_connect_async (self, cancellable, + on_import_connect_completed, + g_steal_pointer (&task)); +} + +static GList * +seahorse_ldap_source_import_finish (SeahorseServerSource *source, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (g_task_is_valid (result, source), NULL); + g_return_val_if_fail (g_task_get_source_tag (G_TASK (result)) == + seahorse_ldap_source_import_async, NULL); + + if (!g_task_propagate_boolean (G_TASK (result), error)) + return NULL; + + /* We don't know the keys that were imported, since this is a server */ + return NULL; +} + +typedef struct { + GPtrArray *fingerprints; + int current_index; + GString *data; + LDAP *ldap; +} ExportClosure; + +static void +export_closure_free (gpointer data) +{ + ExportClosure *closure = data; + g_ptr_array_free (closure->fingerprints, TRUE); + if (closure->data) + g_string_free (closure->data, TRUE); + if (closure->ldap) + ldap_unbind_ext (closure->ldap, NULL, NULL); + g_free (closure); +} + +static void export_retrieve_key (SeahorseLDAPSource *self, + GTask *task); + +static gboolean +on_export_search_completed (LDAPMessage *result, + gpointer user_data) +{ + GTask *task = G_TASK (user_data); + ExportClosure *closure = g_task_get_task_data (task); + SeahorseLDAPSource *self = SEAHORSE_LDAP_SOURCE (g_task_get_source_object (task)); + LDAPServerInfo *sinfo; + char *message; + GError *error = NULL; + int code; + int type; + int rc; + + type = ldap_msgtype (result); + g_return_val_if_fail (type == LDAP_RES_SEARCH_ENTRY || type == LDAP_RES_SEARCH_RESULT, FALSE); + sinfo = get_ldap_server_info (self, TRUE); + + /* An LDAP Entry */ + if (type == LDAP_RES_SEARCH_ENTRY) { + g_autofree char *key = NULL; + + g_debug ("Server Info Result"); +#ifdef WITH_DEBUG + dump_ldap_entry (closure->ldap, result); +#endif + + key = get_string_attribute (closure->ldap, result, sinfo->key_attr); + if (key == NULL) { + g_warning ("key server missing pgp key data"); + seahorse_ldap_source_propagate_error (self, LDAP_NO_SUCH_OBJECT, &error); + g_task_return_error (task, g_steal_pointer (&error)); + return G_SOURCE_REMOVE; + } + + g_string_append (closure->data, key); + g_string_append_c (closure->data, '\n'); + + return G_SOURCE_CONTINUE; + } + + /* No more entries, result */ + rc = ldap_parse_result (closure->ldap, result, &code, NULL, + &message, NULL, NULL, 0); + g_return_val_if_fail (rc == LDAP_SUCCESS, FALSE); + + if (seahorse_ldap_source_propagate_error (self, code, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return G_SOURCE_REMOVE; + } + + ldap_memfree (message); + + /* Process more keys if possible */ + export_retrieve_key (self, task); + return G_SOURCE_REMOVE; +} + +static void +export_retrieve_key (SeahorseLDAPSource *self, + GTask *task) +{ + ExportClosure *closure = g_task_get_task_data (task); + GCancellable *cancellable = g_task_get_cancellable (task); + LDAPServerInfo *sinfo; + g_autofree char *filter = NULL; + char *attrs[2]; + g_autoptr(GSource) gsource = NULL; + const char *fingerprint; + g_autoptr(GError) error = NULL; + int length, rc; + int ldap_op; + + if (closure->current_index > 0) { + fingerprint = g_ptr_array_index (closure->fingerprints, + closure->current_index); + seahorse_progress_end (cancellable, fingerprint); + } + + closure->current_index++; + + /* All done, complete operation */ + if (closure->current_index == (int) closure->fingerprints->len) { + g_task_return_boolean (task, TRUE); + return; + } + + fingerprint = g_ptr_array_index (closure->fingerprints, + closure->current_index); + seahorse_progress_begin (cancellable, fingerprint); + length = strlen (fingerprint); + if (length > 16) + fingerprint += (length - 16); + + filter = g_strdup_printf ("(pgpcertid=%.16s)", fingerprint); + sinfo = get_ldap_server_info (self, TRUE); + + attrs[0] = sinfo->key_attr; + attrs[1] = NULL; + + rc = ldap_search_ext (closure->ldap, sinfo->base_dn, LDAP_SCOPE_SUBTREE, + filter, attrs, 0, + NULL, NULL, NULL, 0, &ldap_op); + + if (seahorse_ldap_source_propagate_error (self, rc, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + gsource = seahorse_ldap_gsource_new (closure->ldap, ldap_op, cancellable); + g_source_set_callback (gsource, (GSourceFunc)on_export_search_completed, + g_object_ref (task), g_object_unref); + g_source_attach (gsource, g_main_context_default ()); +} + +static void +on_export_connect_completed (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + SeahorseLDAPSource *self = SEAHORSE_LDAP_SOURCE (source); + g_autoptr(GTask) task = G_TASK (user_data); + ExportClosure *closure = g_task_get_task_data (task); + g_autoptr(GError) error = NULL; + + closure->ldap = seahorse_ldap_source_connect_finish (self, result, &error); + if (error != NULL) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + export_retrieve_key (self, task); +} + +static void +seahorse_ldap_source_export_async (SeahorseServerSource *source, + const char **keyids, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + SeahorseLDAPSource *self = SEAHORSE_LDAP_SOURCE (source); + ExportClosure *closure; + g_autoptr(GTask) task = NULL; + + task = g_task_new (self, cancellable, callback, user_data); + g_task_set_source_tag (task, seahorse_ldap_source_export_async); + + closure = g_new0 (ExportClosure, 1); + closure->data = g_string_sized_new (1024); + closure->fingerprints = g_ptr_array_new_with_free_func (g_free); + for (int i = 0; keyids[i] != NULL; i++) { + char *fingerprint = g_strdup (keyids[i]); + + g_ptr_array_add (closure->fingerprints, fingerprint); + seahorse_progress_prep (cancellable, fingerprint, NULL); + } + closure->current_index = -1; + g_task_set_task_data (task, closure, export_closure_free); + + seahorse_ldap_source_connect_async (self, cancellable, + on_export_connect_completed, + g_steal_pointer (&task)); +} + +static gpointer +seahorse_ldap_source_export_finish (SeahorseServerSource *source, + GAsyncResult *result, + gsize *size, + GError **error) +{ + ExportClosure *closure; + gpointer output; + + g_return_val_if_fail (size != NULL, NULL); + g_return_val_if_fail (g_task_is_valid (result, source), NULL); + + if (!g_task_propagate_boolean (G_TASK (result), error)) + return NULL; + + closure = g_task_get_task_data (G_TASK (result)); + *size = closure->data->len; + output = g_string_free (closure->data, FALSE); + closure->data = NULL; + return output; +} + +/* Initialize the basic class stuff */ +static void +seahorse_ldap_source_class_init (SeahorseLDAPSourceClass *klass) +{ + SeahorseServerSourceClass *server_class = SEAHORSE_SERVER_SOURCE_CLASS (klass); + + server_class->search_async = seahorse_ldap_source_search_async; + server_class->search_finish = seahorse_ldap_source_search_finish; + server_class->export_async = seahorse_ldap_source_export_async; + server_class->export_finish = seahorse_ldap_source_export_finish; + server_class->import_async = seahorse_ldap_source_import_async; + server_class->import_finish = seahorse_ldap_source_import_finish; + + seahorse_servers_register_type ("ldap", _("LDAP Key Server"), seahorse_ldap_is_valid_uri); +} + +/** + * seahorse_ldap_source_new + * @uri: The server to connect to + * + * Creates a new key source for an LDAP PGP server. + * + * Returns: A new LDAP Key Source + */ +SeahorseLDAPSource* +seahorse_ldap_source_new (const char* uri, const char *host) +{ + g_return_val_if_fail (seahorse_ldap_is_valid_uri (uri), NULL); + g_return_val_if_fail (host && *host, NULL); + return g_object_new (SEAHORSE_TYPE_LDAP_SOURCE, "key-server", host, + "uri", uri, NULL); +} + +/** + * seahorse_ldap_is_valid_uri + * @uri: The uri to check + * + * Returns: Whether the passed uri is valid for an ldap key source + */ +gboolean +seahorse_ldap_is_valid_uri (const char *uri) +{ + LDAPURLDesc *url; + int r; + + g_return_val_if_fail (uri && *uri, FALSE); + + r = ldap_url_parse (uri, &url); + if (r == LDAP_URL_SUCCESS) { + /* Some checks to make sure it's a simple URI */ + if (!(url->lud_host && url->lud_host[0]) || + (url->lud_dn && url->lud_dn[0]) || + (url->lud_attrs || url->lud_attrs)) + r = LDAP_URL_ERR_PARAM; + + ldap_free_urldesc (url); + } + + return r == LDAP_URL_SUCCESS; +} + +#endif /* WITH_LDAP */ diff --git a/pgp/seahorse-ldap-source.h b/pgp/seahorse-ldap-source.h new file mode 100644 index 00000000..f338c67a --- /dev/null +++ b/pgp/seahorse-ldap-source.h @@ -0,0 +1,43 @@ +/* + * Seahorse + * + * Copyright (C) 2004 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/** + * SeahorseHKPSource: A key source which searches LDAP PGP key servers. + * + * - Derived from SeahorseServerSource. + * - Adds found keys to SeahorseContext. + */ + +#pragma once + +#include "seahorse-server-source.h" + +#ifdef WITH_LDAP + +#define SEAHORSE_TYPE_LDAP_SOURCE (seahorse_ldap_source_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorseLDAPSource, seahorse_ldap_source, + SEAHORSE, LDAP_SOURCE, + SeahorseServerSource) + +SeahorseLDAPSource* seahorse_ldap_source_new (const char *uri, + const char *host); + +gboolean seahorse_ldap_is_valid_uri (const char *uri); + +#endif /* WITH_LDAP */ diff --git a/pgp/seahorse-pgp-actions.c b/pgp/seahorse-pgp-actions.c new file mode 100644 index 00000000..1dd6774c --- /dev/null +++ b/pgp/seahorse-pgp-actions.c @@ -0,0 +1,195 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#include "config.h" + +#include + +#include "seahorse-gpgme-dialogs.h" +#include "seahorse-gpgme-generate-dialog.h" +#include "seahorse-gpgme-key.h" +#include "seahorse-gpgme-key-op.h" +#include "seahorse-gpgme-uid.h" +#include "seahorse-pgp-backend.h" +#include "seahorse-pgp-actions.h" +#include "seahorse-pgp-dialogs.h" +#include "seahorse-keyserver-results.h" +#include "seahorse-keyserver-search.h" +#include "seahorse-keyserver-sync.h" + +#include "seahorse-common.h" + +#include "libseahorse/seahorse-object-list.h" +#include "libseahorse/seahorse-util.h" + +GType seahorse_pgp_backend_actions_get_type (void) G_GNUC_CONST; +#define SEAHORSE_PGP_TYPE_BACKEND_ACTIONS (seahorse_pgp_backend_actions_get_type ()) +#define SEAHORSE_PGP_BACKEND_ACTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_PGP_TYPE_BACKEND_ACTIONS, SeahorsePgpBackendActions)) +#define SEAHORSE_PGP_BACKEND_ACTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_PGP_TYPE_BACKEND_ACTIONS, SeahorsePgpBackendActionsClass)) +#define SEAHORSE_PGP_IS_BACKEND_ACTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_PGP_TYPE_BACKEND_ACTIONS)) +#define SEAHORSE_PGP_IS_BACKEND_ACTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_PGP_TYPE_BACKEND_ACTIONS)) +#define SEAHORSE_PGP_BACKEND_ACTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_PGP_TYPE_BACKEND_ACTIONS, SeahorsePgpBackendActionsClass)) + +typedef struct { + SeahorseActionGroup parent_instance; +} SeahorsePgpBackendActions; + +typedef struct { + SeahorseActionGroupClass parent_class; +} SeahorsePgpBackendActionsClass; + +G_DEFINE_TYPE (SeahorsePgpBackendActions, seahorse_pgp_backend_actions, SEAHORSE_TYPE_ACTION_GROUP); + +#ifdef WITH_KEYSERVER + +static void +on_remote_find (GSimpleAction *action, + GVariant *param, + gpointer user_data) +{ + SeahorseActionGroup *actions = SEAHORSE_ACTION_GROUP (user_data); + SeahorseCatalog *catalog = NULL; + g_autoptr(SeahorseKeyserverSearch) search_dialog = NULL; + gint response; + g_autofree gchar *search_text = NULL; + + /* Make a new "Find remote keys" dialog */ + catalog = seahorse_action_group_get_catalog (actions); + search_dialog = seahorse_keyserver_search_new (GTK_WINDOW (catalog)); + + /* Run it and get the search text */ + response = gtk_dialog_run (GTK_DIALOG (search_dialog)); + search_text = seahorse_keyserver_search_get_search_text (search_dialog); + + /* We can safely destroy it */ + gtk_widget_destroy (GTK_WIDGET (g_steal_pointer (&search_dialog))); + + /* If the user pressed "Search", make it happen */ + if (response == GTK_RESPONSE_ACCEPT) { + /* Get search text and save it for next time */ + g_return_if_fail (search_text && *search_text); + + seahorse_app_settings_set_last_search_text (seahorse_app_settings_instance (), + search_text); + seahorse_keyserver_results_show (search_text, GTK_WINDOW (catalog)); + } + + g_clear_object (&catalog); +} + +static void +on_remote_sync (GSimpleAction *action, + GVariant *param, + gpointer user_data) +{ + SeahorseActionGroup *actions = SEAHORSE_ACTION_GROUP (user_data); + SeahorseGpgmeKeyring *keyring; + SeahorseCatalog *catalog; + GList *objects = NULL; + GList *keys = NULL; + GList *l; + + catalog = seahorse_action_group_get_catalog (actions); + if (catalog != NULL) { + objects = seahorse_catalog_get_selected_objects (catalog); + for (l = objects; l != NULL; l = g_list_next (l)) { + if (SEAHORSE_PGP_IS_KEY (l->data)) + keys = g_list_prepend (keys, l->data); + } + g_list_free (objects); + } + g_object_unref (catalog); + + if (keys == NULL) { + keyring = seahorse_pgp_backend_get_default_keyring (NULL); + keys = gcr_collection_get_objects (GCR_COLLECTION (keyring)); + } + + seahorse_keyserver_sync_show (keys, GTK_WINDOW (catalog)); + g_list_free (keys); +} + +#endif /* WITH_KEYSERVER */ + +static void +on_pgp_generate_key (GSimpleAction *action, + GVariant *param, + gpointer user_data) +{ + SeahorseActionGroup *actions = SEAHORSE_ACTION_GROUP (user_data); + SeahorseGpgmeKeyring* keyring; + SeahorseCatalog *catalog; + GtkDialog *dialog; + + keyring = seahorse_pgp_backend_get_default_keyring (NULL); + g_return_if_fail (keyring != NULL); + + catalog = seahorse_action_group_get_catalog (actions); + + dialog = seahorse_gpgme_generate_dialog_new (keyring, GTK_WINDOW (catalog)); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (GTK_WIDGET (dialog)); + + g_clear_object (&catalog); +} + +static const GActionEntry ACTION_ENTRIES[] = { + { "pgp-generate-key", on_pgp_generate_key }, +#ifdef WITH_KEYSERVER + { "remote-sync", on_remote_sync }, + { "remote-find", on_remote_find } +#endif /* WITH_KEYSERVER */ +}; + +static void +seahorse_pgp_backend_actions_init (SeahorsePgpBackendActions *self) +{ + GActionMap *action_map = G_ACTION_MAP (self); + + g_action_map_add_action_entries (action_map, + ACTION_ENTRIES, + G_N_ELEMENTS (ACTION_ENTRIES), + self); +} + +static void +seahorse_pgp_backend_actions_class_init (SeahorsePgpBackendActionsClass *klass) +{ + +} + +SeahorseActionGroup * +seahorse_pgp_backend_actions_instance (void) +{ + static SeahorseActionGroup *actions = NULL; + + if (actions == NULL) { + actions = g_object_new (SEAHORSE_PGP_TYPE_BACKEND_ACTIONS, + "prefix", "pgp", + NULL); + g_object_add_weak_pointer (G_OBJECT (actions), + (gpointer *)&actions); + } else { + g_object_ref (actions); + } + + return actions; +} diff --git a/pgp/seahorse-pgp-actions.h b/pgp/seahorse-pgp-actions.h new file mode 100644 index 00000000..dd83bfa2 --- /dev/null +++ b/pgp/seahorse-pgp-actions.h @@ -0,0 +1,26 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#pragma once + +#include + +SeahorseActionGroup * seahorse_pgp_backend_actions_instance (void); diff --git a/pgp/seahorse-pgp-backend.c b/pgp/seahorse-pgp-backend.c new file mode 100644 index 00000000..854dbd7c --- /dev/null +++ b/pgp/seahorse-pgp-backend.c @@ -0,0 +1,730 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-gpgme-dialogs.h" +#include "seahorse-pgp-actions.h" +#include "seahorse-pgp-backend.h" +#include "seahorse-server-source.h" +#include "seahorse-transfer.h" +#include "seahorse-unknown-source.h" + +#include "seahorse-common.h" + +#include "libseahorse/seahorse-progress.h" +#include "libseahorse/seahorse-util.h" + +#include + +#include + +enum { + PROP_0, + PROP_NAME, + PROP_LABEL, + PROP_DESCRIPTION, + PROP_ACTIONS, + PROP_LOADED +}; + +static SeahorsePgpBackend *pgp_backend = NULL; + +struct _SeahorsePgpBackend { + GObject parent; + + SeahorseGpgmeKeyring *keyring; + SeahorseDiscovery *discovery; + SeahorseUnknownSource *unknown; + GHashTable *remotes; + SeahorseActionGroup *actions; + gboolean loaded; +}; + +static void seahorse_pgp_backend_iface (SeahorseBackendIface *iface); + +static void seahorse_pgp_backend_collection_init (GcrCollectionIface *iface); + +G_DEFINE_TYPE_WITH_CODE (SeahorsePgpBackend, seahorse_pgp_backend, G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE (GCR_TYPE_COLLECTION, seahorse_pgp_backend_collection_init); + G_IMPLEMENT_INTERFACE (SEAHORSE_TYPE_BACKEND, seahorse_pgp_backend_iface); +); + +static void +seahorse_pgp_backend_init (SeahorsePgpBackend *self) +{ + g_return_if_fail (pgp_backend == NULL); + pgp_backend = self; + + self->remotes = g_hash_table_new_full (g_str_hash, g_str_equal, + g_free, g_object_unref); + + self->actions = seahorse_pgp_backend_actions_instance (); +} + +#ifdef WITH_KEYSERVER + +static void +on_settings_keyservers_changed (GSettings *settings, + gchar *key, + gpointer user_data) +{ + SeahorsePgpBackend *self = SEAHORSE_PGP_BACKEND (user_data); + SeahorseServerSource *source; + gchar **keyservers; + GHashTable *check; + const gchar *uri; + GHashTableIter iter; + guint i; + + check = g_hash_table_new (g_str_hash, g_str_equal); + g_hash_table_iter_init (&iter, self->remotes); + while (g_hash_table_iter_next (&iter, (gpointer*)&uri, (gpointer*)&source)) + g_hash_table_replace (check, (gpointer)uri, source); + + /* Load and strip names from keyserver list */ + keyservers = seahorse_servers_get_uris (); + + for (i = 0; keyservers[i] != NULL; i++) { + uri = keyservers[i]; + + /* If we don't have a keysource then add it */ + if (!g_hash_table_lookup (self->remotes, uri)) { + source = seahorse_server_source_new (uri); + if (source != NULL) { + seahorse_pgp_backend_add_remote (self, uri, source); + g_object_unref (source); + } + } + + /* Mark this one as present */ + g_hash_table_remove (check, uri); + } + + /* Now remove any extras */ + g_hash_table_iter_init (&iter, check); + while (g_hash_table_iter_next (&iter, (gpointer*)&uri, NULL)) + seahorse_pgp_backend_remove_remote (self, uri); + + g_hash_table_destroy (check); + g_strfreev (keyservers); +} + +#endif /* WITH_KEYSERVER */ + +static void +on_place_loaded (GObject *object, + GAsyncResult *result, + gpointer user_data) +{ + SeahorsePgpBackend *backend = user_data; + gboolean ok; + GError *error; + + error = NULL; + ok = seahorse_place_load_finish (SEAHORSE_PLACE (object), result, &error); + + if (!ok) { + g_warning ("Failed to initialize PGP backend: %s", error->message); + g_error_free (error); + } + + backend->loaded = TRUE; + g_object_notify (G_OBJECT (backend), "loaded"); + + g_object_unref (backend); +} + +static void +seahorse_pgp_backend_constructed (GObject *obj) +{ + SeahorsePgpBackend *self = SEAHORSE_PGP_BACKEND (obj); + + G_OBJECT_CLASS (seahorse_pgp_backend_parent_class)->constructed (obj); + + self->keyring = seahorse_gpgme_keyring_new (); + seahorse_place_load (SEAHORSE_PLACE (self->keyring), NULL, on_place_loaded, + g_object_ref (self)); + + self->discovery = seahorse_discovery_new (); + self->unknown = seahorse_unknown_source_new (); + +#ifdef WITH_KEYSERVER + g_signal_connect (seahorse_pgp_settings_instance (), "changed::keyservers", + G_CALLBACK (on_settings_keyservers_changed), self); + + /* Initial loading */ + on_settings_keyservers_changed (G_SETTINGS (seahorse_pgp_settings_instance ()), "keyservers", self); +#endif +} + +static const gchar * +seahorse_pgp_backend_get_name (SeahorseBackend *backend) +{ + return SEAHORSE_PGP_NAME; +} + +static const gchar * +seahorse_pgp_backend_get_label (SeahorseBackend *backend) +{ + return _("PGP Keys"); +} + +static const gchar * +seahorse_pgp_backend_get_description (SeahorseBackend *backend) +{ + return _("PGP keys are for encrypting email or files"); +} + +static SeahorseActionGroup * +seahorse_pgp_backend_get_actions (SeahorseBackend *backend) +{ + SeahorsePgpBackend *self = SEAHORSE_PGP_BACKEND (backend); + return g_object_ref (self->actions); +} + +static gboolean +seahorse_pgp_backend_get_loaded (SeahorseBackend *backend) +{ + g_return_val_if_fail (SEAHORSE_PGP_IS_BACKEND (backend), FALSE); + + return SEAHORSE_PGP_BACKEND (backend)->loaded; +} + +static void +seahorse_pgp_backend_get_property (GObject *obj, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + SeahorseBackend *backend = SEAHORSE_BACKEND (obj); + + switch (prop_id) { + case PROP_NAME: + g_value_set_string (value, seahorse_pgp_backend_get_name (backend)); + break; + case PROP_LABEL: + g_value_set_string (value, seahorse_pgp_backend_get_label (backend)); + break; + case PROP_DESCRIPTION: + g_value_set_string (value, seahorse_pgp_backend_get_description (backend)); + break; + case PROP_ACTIONS: + g_value_take_object (value, seahorse_pgp_backend_get_actions (backend)); + break; + case PROP_LOADED: + g_value_set_boolean (value, seahorse_pgp_backend_get_loaded (backend)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec); + break; + } +} + +static void +seahorse_pgp_backend_finalize (GObject *obj) +{ + SeahorsePgpBackend *self = SEAHORSE_PGP_BACKEND (obj); + +#ifdef WITH_KEYSERVER + g_signal_handlers_disconnect_by_func (seahorse_pgp_settings_instance (), + on_settings_keyservers_changed, self); +#endif + + g_clear_object (&self->keyring); + g_clear_object (&self->discovery); + g_clear_object (&self->unknown); + g_hash_table_destroy (self->remotes); + g_clear_object (&self->actions); + pgp_backend = NULL; + + G_OBJECT_CLASS (seahorse_pgp_backend_parent_class)->finalize (obj); +} + +static void +seahorse_pgp_backend_class_init (SeahorsePgpBackendClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->constructed = seahorse_pgp_backend_constructed; + gobject_class->finalize = seahorse_pgp_backend_finalize; + gobject_class->get_property = seahorse_pgp_backend_get_property; + + g_object_class_override_property (gobject_class, PROP_NAME, "name"); + g_object_class_override_property (gobject_class, PROP_LABEL, "label"); + g_object_class_override_property (gobject_class, PROP_DESCRIPTION, "description"); + g_object_class_override_property (gobject_class, PROP_ACTIONS, "actions"); + g_object_class_override_property (gobject_class, PROP_LOADED, "loaded"); +} + +static guint +seahorse_pgp_backend_get_length (GcrCollection *collection) +{ + return 1; +} + +static GList * +seahorse_pgp_backend_get_objects (GcrCollection *collection) +{ + SeahorsePgpBackend *self = SEAHORSE_PGP_BACKEND (collection); + return g_list_append (NULL, self->keyring); +} + +static gboolean +seahorse_pgp_backend_contains (GcrCollection *collection, + GObject *object) +{ + SeahorsePgpBackend *self = SEAHORSE_PGP_BACKEND (collection); + return G_OBJECT (self->keyring) == object; +} + +static void +seahorse_pgp_backend_collection_init (GcrCollectionIface *iface) +{ + iface->contains = seahorse_pgp_backend_contains; + iface->get_length = seahorse_pgp_backend_get_length; + iface->get_objects = seahorse_pgp_backend_get_objects; +} + +static SeahorsePlace * +seahorse_pgp_backend_lookup_place (SeahorseBackend *backend, + const gchar *uri) +{ + SeahorsePgpBackend *self = SEAHORSE_PGP_BACKEND (backend); + if (g_str_equal (uri, "gnupg://")) + return SEAHORSE_PLACE (seahorse_pgp_backend_get_default_keyring (self)); + return NULL; +} + +static void +seahorse_pgp_backend_iface (SeahorseBackendIface *iface) +{ + iface->lookup_place = seahorse_pgp_backend_lookup_place; + iface->get_actions = seahorse_pgp_backend_get_actions; + iface->get_description = seahorse_pgp_backend_get_description; + iface->get_label = seahorse_pgp_backend_get_label; + iface->get_name = seahorse_pgp_backend_get_name; + iface->get_loaded = seahorse_pgp_backend_get_loaded; +} + +SeahorsePgpBackend * +seahorse_pgp_backend_get (void) +{ + g_return_val_if_fail (pgp_backend, NULL); + return pgp_backend; +} + +void +seahorse_pgp_backend_initialize (void) +{ + SeahorsePgpBackend *self; + + g_return_if_fail (pgp_backend == NULL); + self = g_object_new (SEAHORSE_PGP_TYPE_BACKEND, NULL); + + seahorse_backend_register (SEAHORSE_BACKEND (self)); + g_object_unref (self); + + g_return_if_fail (pgp_backend != NULL); + + gpgme_set_engine_info (GPGME_PROTOCOL_OpenPGP, NULL, NULL); +} + +SeahorseGpgmeKeyring * +seahorse_pgp_backend_get_default_keyring (SeahorsePgpBackend *self) +{ + self = self ? self : seahorse_pgp_backend_get (); + g_return_val_if_fail (SEAHORSE_PGP_IS_BACKEND (self), NULL); + g_return_val_if_fail (self->keyring, NULL); + return self->keyring; +} + +SeahorsePgpKey * +seahorse_pgp_backend_get_default_key (SeahorsePgpBackend *self) +{ + SeahorsePgpKey *key = NULL; + SeahorsePgpSettings *settings; + const gchar *keyid; + gchar *value; + + self = self ? self : seahorse_pgp_backend_get (); + g_return_val_if_fail (SEAHORSE_PGP_IS_BACKEND (self), NULL); + + settings = seahorse_pgp_settings_instance (); + if (settings != NULL) { + value = seahorse_pgp_settings_get_default_key (settings); + if (value != NULL && value[0]) { + if (g_str_has_prefix (value, "openpgp:")) + keyid = value + strlen ("openpgp:"); + else + keyid = value; + key = SEAHORSE_PGP_KEY (seahorse_gpgme_keyring_lookup (self->keyring, keyid)); + } + g_free (value); + } + + return key; +} + +#ifdef WITH_KEYSERVER + +SeahorseDiscovery * +seahorse_pgp_backend_get_discovery (SeahorsePgpBackend *self) +{ + self = self ? self : seahorse_pgp_backend_get (); + g_return_val_if_fail (SEAHORSE_PGP_IS_BACKEND (self), NULL); + g_return_val_if_fail (self->discovery, NULL); + return self->discovery; +} + +SeahorseServerSource * +seahorse_pgp_backend_lookup_remote (SeahorsePgpBackend *self, + const gchar *uri) +{ + self = self ? self : seahorse_pgp_backend_get (); + g_return_val_if_fail (SEAHORSE_PGP_IS_BACKEND (self), NULL); + + return g_hash_table_lookup (self->remotes, uri); +} + +void +seahorse_pgp_backend_add_remote (SeahorsePgpBackend *self, + const gchar *uri, + SeahorseServerSource *source) +{ + self = self ? self : seahorse_pgp_backend_get (); + g_return_if_fail (SEAHORSE_PGP_IS_BACKEND (self)); + g_return_if_fail (uri != NULL); + g_return_if_fail (SEAHORSE_IS_SERVER_SOURCE (source)); + g_return_if_fail (g_hash_table_lookup (self->remotes, uri) == NULL); + + g_hash_table_insert (self->remotes, g_strdup (uri), g_object_ref (source)); +} + +void +seahorse_pgp_backend_remove_remote (SeahorsePgpBackend *self, + const gchar *uri) +{ + self = self ? self : seahorse_pgp_backend_get (); + g_return_if_fail (SEAHORSE_PGP_IS_BACKEND (self)); + g_return_if_fail (uri != NULL); + + g_hash_table_remove (self->remotes, uri); +} + +typedef struct { + gint num_searches; +} search_remote_closure; + +static void +search_remote_closure_free (gpointer user_data) +{ + search_remote_closure *closure = user_data; + g_free (closure); +} + +static void +on_source_search_ready (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + g_autoptr(GTask) task = G_TASK (user_data); + search_remote_closure *closure = g_task_get_task_data (task); + g_autoptr(GError) error = NULL; + + g_return_if_fail (closure->num_searches > 0); + + if (!seahorse_server_source_search_finish (SEAHORSE_SERVER_SOURCE (source), + result, &error)) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + closure->num_searches--; + seahorse_progress_end (g_task_get_cancellable (task), + GINT_TO_POINTER (closure->num_searches)); + + if (closure->num_searches == 0) + g_task_return_boolean (task, TRUE); +} + +void +seahorse_pgp_backend_search_remote_async (SeahorsePgpBackend *self, + const gchar *search, + GcrSimpleCollection *results, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + search_remote_closure *closure; + g_autoptr(GTask) task = NULL; + SeahorseServerSource *source; + g_autoptr(GHashTable) servers = NULL; + GHashTableIter iter; + g_auto(GStrv) names = NULL; + guint i; + + self = self ? self : seahorse_pgp_backend_get (); + g_return_if_fail (SEAHORSE_PGP_IS_BACKEND (self)); + + /* Get a list of all selected key servers */ + names = g_settings_get_strv (G_SETTINGS (seahorse_app_settings_instance ()), "last-search-servers"); + if (names != NULL && names[0] != NULL) { + servers = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); + for (i = 0; names[i] != NULL; i++) + g_hash_table_insert (servers, g_strdup (names[i]), GINT_TO_POINTER (TRUE)); + } + + task = g_task_new (self, cancellable, callback, user_data); + closure = g_new0 (search_remote_closure, 1); + g_task_set_task_data (task, closure, search_remote_closure_free); + + g_hash_table_iter_init (&iter, self->remotes); + while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&source)) { + if (servers) { + g_autofree gchar *uri = NULL; + g_object_get (source, "uri", &uri, NULL); + if (!g_hash_table_lookup (servers, uri)) + continue; + } + + seahorse_progress_prep_and_begin (cancellable, GINT_TO_POINTER (closure->num_searches), NULL); + seahorse_server_source_search_async (source, search, results, cancellable, + on_source_search_ready, g_object_ref (task)); + closure->num_searches++; + } + + if (closure->num_searches == 0) + g_task_return_boolean (task, FALSE); +} + +gboolean +seahorse_pgp_backend_search_remote_finish (SeahorsePgpBackend *self, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (SEAHORSE_PGP_IS_BACKEND (self), FALSE); + g_return_val_if_fail (g_task_is_valid (result, self), FALSE); + + return g_task_propagate_boolean (G_TASK (result), error); +} + +typedef struct { + gint num_transfers; +} transfer_closure; + +static void +transfer_closure_free (gpointer user_data) +{ + transfer_closure *closure = user_data; + g_free (closure); +} + +static void +on_source_transfer_ready (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + g_autoptr(GTask) task = G_TASK (user_data); + transfer_closure *closure = g_task_get_task_data (task); + g_autoptr(GError) error = NULL; + + g_return_if_fail (closure->num_transfers > 0); + + seahorse_transfer_finish (result, &error); + if (error != NULL) { + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + closure->num_transfers--; + seahorse_progress_end (g_task_get_cancellable (task), + GINT_TO_POINTER (closure->num_transfers)); + + if (closure->num_transfers == 0) + g_task_return_boolean (task, TRUE); +} + +void +seahorse_pgp_backend_transfer_async (SeahorsePgpBackend *self, + GList *keys, + SeahorsePlace *to, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + transfer_closure *closure; + SeahorseObject *object; + g_autoptr(GTask) task = NULL; + SeahorsePlace *from; + + self = self ? self : seahorse_pgp_backend_get (); + g_return_if_fail (SEAHORSE_PGP_IS_BACKEND (self)); + g_return_if_fail (SEAHORSE_IS_PLACE (to)); + + task = g_task_new (self, cancellable, callback, user_data); + closure = g_new0 (transfer_closure, 1); + g_task_set_task_data (task, closure, transfer_closure_free); + + keys = g_list_copy (keys); + /* Sort by key place */ + keys = seahorse_util_objects_sort_by_place (keys); + + while (keys) { + GList *next; + + /* break off one set (same keysource) */ + next = seahorse_util_objects_splice_by_place (keys); + + g_assert (SEAHORSE_IS_OBJECT (keys->data)); + object = SEAHORSE_OBJECT (keys->data); + + /* Export from this key place */ + from = seahorse_object_get_place (object); + g_return_if_fail (SEAHORSE_IS_PLACE (from)); + + if (from != to) { + /* Start a new transfer operation between the two places */ + seahorse_progress_prep_and_begin (cancellable, GINT_TO_POINTER (closure->num_transfers), NULL); + seahorse_transfer_keys_async (from, to, keys, cancellable, + on_source_transfer_ready, g_object_ref (task)); + closure->num_transfers++; + } + + g_list_free (keys); + keys = next; + } + + if (closure->num_transfers == 0) + g_task_return_boolean (task, TRUE); +} + +gboolean +seahorse_pgp_backend_transfer_finish (SeahorsePgpBackend *self, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (SEAHORSE_PGP_IS_BACKEND (self), FALSE); + g_return_val_if_fail (g_task_is_valid (result, self), FALSE); + + return g_task_propagate_boolean (G_TASK (result), error); +} + +void +seahorse_pgp_backend_retrieve_async (SeahorsePgpBackend *self, + const gchar **keyids, + SeahorsePlace *to, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + transfer_closure *closure; + g_autoptr(GTask) task = NULL; + SeahorsePlace *place; + GHashTableIter iter; + + g_return_if_fail (SEAHORSE_PGP_IS_BACKEND (self)); + g_return_if_fail (SEAHORSE_IS_PLACE (to)); + + task = g_task_new (self, cancellable, callback, user_data); + closure = g_new0 (transfer_closure, 1); + g_task_set_task_data (task, closure, transfer_closure_free); + + g_hash_table_iter_init (&iter, self->remotes); + while (g_hash_table_iter_next (&iter, NULL, (gpointer *)&place)) { + /* Start a new transfer operation between the two places */ + seahorse_progress_prep_and_begin (cancellable, + GINT_TO_POINTER (closure->num_transfers), NULL); + seahorse_transfer_keyids_async (SEAHORSE_SERVER_SOURCE (place), + to, keyids, cancellable, + on_source_transfer_ready, g_object_ref (task)); + closure->num_transfers++; + } + + if (closure->num_transfers == 0) + g_task_return_boolean (task, TRUE); +} + +gboolean +seahorse_pgp_backend_retrieve_finish (SeahorsePgpBackend *self, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (SEAHORSE_PGP_IS_BACKEND (self), FALSE); + g_return_val_if_fail (g_task_is_valid (result, self), FALSE); + + return g_task_propagate_boolean (G_TASK (result), error); +} + +#endif /* WITH_KEYSERVER */ + +GList * +seahorse_pgp_backend_discover_keys (SeahorsePgpBackend *self, + const gchar **keyids, + GCancellable *cancellable) +{ + GList *robjects = NULL; + SeahorseGpgmeKey *key; + SeahorseObject *object; + g_autoptr(GPtrArray) todiscover = NULL; + gint i; + + self = self ? self : seahorse_pgp_backend_get (); + g_return_val_if_fail (SEAHORSE_PGP_IS_BACKEND (self), NULL); + + todiscover = g_ptr_array_new (); + + /* Check all the ids */ + for (i = 0; keyids[i] != NULL; i++) { + const gchar *keyid = keyids[i]; + + /* Do we know about this object? */ + key = seahorse_gpgme_keyring_lookup (self->keyring, keyid); + + /* No such object anywhere, discover it */ + if (key == NULL) { + g_ptr_array_add (todiscover, (gchar *)keyid); + continue; + } + + /* Our return value */ + robjects = g_list_prepend (robjects, key); + } + + if (todiscover->len > 0) { + g_ptr_array_add (todiscover, NULL); + keyids = (const gchar **)todiscover->pdata; + +#ifdef WITH_KEYSERVER + /* Start a discover process on all todiscover */ + if (seahorse_app_settings_get_server_auto_retrieve (seahorse_app_settings_instance ())) + seahorse_pgp_backend_retrieve_async (self, keyids, SEAHORSE_PLACE (self->keyring), + cancellable, NULL, NULL); +#endif + + /* Add unknown objects for all these */ + for (i = 0; keyids[i] != NULL; i++) { + object = seahorse_unknown_source_add_object (self->unknown, keyids[i], cancellable); + robjects = g_list_prepend (robjects, object); + } + } + + return robjects; +} diff --git a/pgp/seahorse-pgp-backend.h b/pgp/seahorse-pgp-backend.h new file mode 100644 index 00000000..d5ac9fda --- /dev/null +++ b/pgp/seahorse-pgp-backend.h @@ -0,0 +1,105 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + * + * Author: Stef Walter + */ + +#pragma once + +#include +#include + +#include + +#include "seahorse-discovery.h" +#include "seahorse-gpgme-keyring.h" +#include "seahorse-pgp-key.h" +#include "seahorse-server-source.h" + +G_BEGIN_DECLS + +#define SEAHORSE_PGP_NAME "openpgp" +#define SEAHORSE_PGP_TYPE_STR SEAHORSE_PGP_NAME +#define SEAHORSE_PGP g_quark_from_string (SEAHORSE_PGP_NAME) + +void seahorse_pgp_backend_initialize (void); + +#define SEAHORSE_PGP_TYPE_BACKEND (seahorse_pgp_backend_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorsePgpBackend, seahorse_pgp_backend, SEAHORSE_PGP, BACKEND, GObject) + +SeahorsePgpBackend * seahorse_pgp_backend_get (void); + +SeahorseGpgmeKeyring * seahorse_pgp_backend_get_default_keyring (SeahorsePgpBackend *self); + +SeahorsePgpKey * seahorse_pgp_backend_get_default_key (SeahorsePgpBackend *self); + +#ifdef WITH_KEYSERVER + +SeahorseDiscovery * seahorse_pgp_backend_get_discovery (SeahorsePgpBackend *self); + +SeahorseServerSource * seahorse_pgp_backend_lookup_remote (SeahorsePgpBackend *self, + const gchar *uri); + +void seahorse_pgp_backend_add_remote (SeahorsePgpBackend *self, + const gchar *uri, + SeahorseServerSource *source); + +void seahorse_pgp_backend_remove_remote (SeahorsePgpBackend *self, + const gchar *uri); + +void seahorse_pgp_backend_search_remote_async (SeahorsePgpBackend *self, + const gchar *search, + GcrSimpleCollection *results, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +gboolean seahorse_pgp_backend_search_remote_finish (SeahorsePgpBackend *self, + GAsyncResult *result, + GError **error); + +void seahorse_pgp_backend_transfer_async (SeahorsePgpBackend *self, + GList *keys, + SeahorsePlace *to, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +gboolean seahorse_pgp_backend_transfer_finish (SeahorsePgpBackend *self, + GAsyncResult *result, + GError **error); + +void seahorse_pgp_backend_retrieve_async (SeahorsePgpBackend *self, + const gchar **keyids, + SeahorsePlace *to, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +gboolean seahorse_pgp_backend_retrieve_finish (SeahorsePgpBackend *self, + GAsyncResult *result, + GError **error); +#endif /* WITH_KEYSERVER */ + +GList* seahorse_pgp_backend_discover_keys (SeahorsePgpBackend *self, + const gchar **keyids, + GCancellable *cancellable); + + +G_END_DECLS diff --git a/pgp/seahorse-pgp-dialogs.h b/pgp/seahorse-pgp-dialogs.h new file mode 100644 index 00000000..5e062adb --- /dev/null +++ b/pgp/seahorse-pgp-dialogs.h @@ -0,0 +1,40 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * Copyright (C) 2004-2005 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/* + * Various UI elements and dialogs used in pgp component. + */ + +#pragma once + +#include + +#include "pgp/seahorse-pgp-key.h" + +SeahorsePgpKey* seahorse_signer_get (GtkWindow *parent); + + +#define SEAHORSE_PGP_TYPE_KEY_PROPERTIES (seahorse_pgp_key_properties_get_type ()) +G_DECLARE_FINAL_TYPE (SeahorsePgpKeyProperties, seahorse_pgp_key_properties, + SEAHORSE_PGP, KEY_PROPERTIES, + GtkDialog); + +GtkWindow * seahorse_pgp_key_properties_new (SeahorsePgpKey *pkey, + GtkWindow *parent); diff --git a/pgp/seahorse-pgp-key-properties.c b/pgp/seahorse-pgp-key-properties.c new file mode 100644 index 00000000..d1e4820d --- /dev/null +++ b/pgp/seahorse-pgp-key-properties.c @@ -0,0 +1,1950 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * Copyright (C) 2005 Jim Pharis + * Copyright (C) 2005-2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2019 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-pgp-dialogs.h" +#include "seahorse-gpgme-add-subkey.h" +#include "seahorse-gpgme-add-uid.h" +#include "seahorse-gpgme-dialogs.h" +#include "seahorse-gpgme-expires-dialog.h" +#include "seahorse-gpgme-exporter.h" +#include "seahorse-gpgme-key.h" +#include "seahorse-gpgme-key-op.h" +#include "seahorse-gpgme-sign-dialog.h" +#include "seahorse-pgp-backend.h" +#include "seahorse-gpg-op.h" +#include "seahorse-pgp-dialogs.h" +#include "seahorse-pgp-key.h" +#include "seahorse-pgp-uid.h" +#include "seahorse-pgp-signature.h" +#include "seahorse-pgp-subkey.h" + +#include "seahorse-common.h" + +#include "libseahorse/seahorse-object-model.h" +#include "libseahorse/seahorse-util.h" + +#include +#include + +#include +#include + +#define PUBLIC_KEY_PROPERTIES_UI "/org/gnome/Seahorse/seahorse-pgp-public-key-properties.ui" +#define PRIVATE_KEY_PROPERTIES_UI "/org/gnome/Seahorse/seahorse-pgp-private-key-properties.ui" + +enum { + PROP_0, + PROP_KEY, +}; + +struct _SeahorsePgpKeyProperties { + GtkDialog parent_instance; + + SeahorsePgpKey *key; + + GSimpleActionGroup *action_group; + + /* Common widgets */ + GtkWidget *revoked_area; + GtkWidget *expired_area; + GtkLabel *expired_message; + + GtkImage *photoid; + GtkEventBox *photo_event_box; + + GtkLabel *owner_name_label; + GtkLabel *owner_email_label; + GtkLabel *owner_comment_label; + GtkLabel *owner_keyid_label; + GtkWidget *owner_photo_previous_button; + GtkWidget *owner_photo_next_button; + GtkLabel *details_id_label; + GtkLabel *details_fingerprint_label; + GtkLabel *details_algo_label; + GtkLabel *details_created_label; + GtkLabel *details_strength_label; + GtkLabel *details_expires_label; + GtkBox *indicate_trust_box; + GtkComboBox *details_trust_combobox; + GtkTreeView *details_subkey_tree; + + /* Private key widgets */ + GtkTreeView *names_tree; + GtkWidget *owner_photo_frame; + GtkWidget *owner_photo_add_button; + GtkWidget *owner_photo_delete_button; + GtkWidget *owner_photo_primary_button; + + /* Public key widgets */ + GtkTreeView *owner_userid_tree; + GtkTreeView *signatures_tree; + GtkWidget *signatures_area; + GtkWidget *uids_area; + GtkWidget *trust_page; + GtkLabel *trust_sign_label; + GtkLabel *trust_revoke_label; + GtkWidget *manual_trust_area; + GtkWidget *sign_area; + GtkWidget *revoke_area; + GtkLabel *trust_marginal_label; + GtkSwitch *trust_marginal_switch; + GtkToggleButton *signatures_toggle; +}; + +G_DEFINE_TYPE (SeahorsePgpKeyProperties, seahorse_pgp_key_properties, GTK_TYPE_DIALOG) + +static void +set_action_enabled (SeahorsePgpKeyProperties *self, + const gchar *action_str, + gboolean enabled) +{ + GAction *action; + + action = g_action_map_lookup_action (G_ACTION_MAP (self->action_group), + action_str); + g_simple_action_set_enabled (G_SIMPLE_ACTION (action), enabled); +} + +static gpointer +get_selected_object (GtkTreeView *widget, guint column) +{ + GtkTreeSelection *selection; + GtkTreeIter iter; + GtkTreeModel *model; + GList *rows; + gpointer object = NULL; + + model = gtk_tree_view_get_model (widget); + + selection = gtk_tree_view_get_selection (widget); + g_assert (gtk_tree_selection_get_mode (selection) == GTK_SELECTION_SINGLE); + + rows = gtk_tree_selection_get_selected_rows (selection, NULL); + + if (g_list_length (rows) > 0) { + gtk_tree_model_get_iter (model, &iter, rows->data); + gtk_tree_model_get (model, &iter, column, &object, -1); + if (object) + g_object_unref (object); + } + + g_list_foreach (rows, (GFunc)gtk_tree_path_free, NULL); + g_list_free (rows); + + return object; +} + +static void +on_pgp_signature_row_activated (GtkTreeView *treeview, + GtkTreePath *path, + GtkTreeViewColumn *arg2, + gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + GObject *object = NULL; + GtkTreeModel *model; + GtkTreeIter iter; + + model = gtk_tree_view_get_model (treeview); + + if (GTK_IS_TREE_MODEL_FILTER (model)) + model = gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (model)); + + g_return_if_fail (gtk_tree_model_get_iter (model, &iter, path)); + + object = seahorse_object_model_get_row_key (SEAHORSE_OBJECT_MODEL (model), &iter); + if (object != NULL && SEAHORSE_PGP_IS_KEY (object)) { + GtkWindow *parent; + g_autoptr(GtkWindow) dialog = NULL; + + parent = GTK_WINDOW (gtk_widget_get_parent (GTK_WIDGET (self))); + dialog = seahorse_pgp_key_properties_new (SEAHORSE_PGP_KEY (object), + parent); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (GTK_WIDGET (dialog)); + } +} + +static void +unique_strings (GPtrArray *keyids) +{ + guint i; + + g_ptr_array_sort (keyids, (GCompareFunc)g_ascii_strcasecmp); + for (i = 0; i + 1 < keyids->len; ) { + if (g_ascii_strcasecmp (keyids->pdata[i], keyids->pdata[i + 1]) == 0) + g_ptr_array_remove_index (keyids, i); + else + i++; + } +} + +/* ----------------------------------------------------------------------------- + * NAMES PAGE (PRIVATE KEYS) + */ + +enum { + UIDSIG_OBJECT, + UIDSIG_ICON, + UIDSIG_NAME, + UIDSIG_KEYID, + UIDSIG_N_COLUMNS +}; + +static GType uidsig_columns[] = { + G_TYPE_OBJECT, /* index */ + 0 /* later */, /* icon */ + G_TYPE_STRING, /* name */ + G_TYPE_STRING /* keyid */ +}; + +static SeahorsePgpUid* +names_get_selected_uid (SeahorsePgpKeyProperties *self) +{ + return get_selected_object (self->names_tree, UIDSIG_OBJECT); +} + +static void +on_uids_add (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (self->key)); + seahorse_gpgme_add_uid_run_dialog (SEAHORSE_GPGME_KEY (self->key), + GTK_WINDOW (self)); +} + +static void +on_uids_make_primary_cb (GObject *source, GAsyncResult *res, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorseGpgmeUid *uid = SEAHORSE_GPGME_UID (source); + g_autoptr(GError) error = NULL; + + if (!seahorse_gpgme_key_op_make_primary_finish (uid, res, &error)) { + GtkWindow *window; + window = gtk_window_get_transient_for (GTK_WINDOW (self)); + seahorse_util_show_error (GTK_WIDGET (window), + _("Couldn’t change primary user ID"), + error->message); + } +} + +static void +on_uids_make_primary (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorsePgpUid *uid; + + uid = names_get_selected_uid (self); + if (!uid) + return; + + g_return_if_fail (SEAHORSE_GPGME_IS_UID (uid)); + seahorse_gpgme_key_op_make_primary_async (SEAHORSE_GPGME_UID (uid), + NULL, + on_uids_make_primary_cb, self); +} + +static void +on_uids_delete (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorsePgpUid *uid; + gboolean ret; + g_autofree gchar *message = NULL; + gpgme_error_t gerr; + + uid = names_get_selected_uid (self); + if (uid == NULL) + return; + + g_return_if_fail (SEAHORSE_GPGME_IS_UID (uid)); + message = g_strdup_printf (_("Are you sure you want to permanently delete the “%s” user ID?"), + seahorse_object_get_label (SEAHORSE_OBJECT (uid))); + ret = seahorse_delete_dialog_prompt (GTK_WINDOW (self), message); + + if (ret == FALSE) + return; + + gerr = seahorse_gpgme_key_op_del_uid (SEAHORSE_GPGME_UID (uid)); + if (!GPG_IS_OK (gerr)) + seahorse_gpgme_handle_error (gerr, _("Couldn’t delete user ID")); +} + +static void +on_uids_sign (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorsePgpUid *uid; + SeahorseGpgmeSignDialog *dialog; + + uid = names_get_selected_uid (self); + if (uid == NULL) + return; + + g_return_if_fail (SEAHORSE_GPGME_IS_UID (uid)); + + dialog = seahorse_gpgme_sign_dialog_new (SEAHORSE_OBJECT (uid)); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (GTK_WIDGET (dialog)); +} + +static void +on_uids_revoke (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + /* TODO: */ +/* SeahorseObject *skey; + gint index; + Glist *keys = NULL; + + skey = self->key; + index = names_get_selected_uid (swidget); + + if (index >= 1) { + seahorse_revoke_show (SEAHORSE_PGP_KEY (skey), index - 1); + +#ifdef WITH_KEYSERVER + if (g_settings_get_boolean(AUTOSYNC_KEY) == TRUE) { + keys = g_list_append (keys, skey); + seahorse_keyserver_sync (keys); + g_list_free(keys); + } +#endif + }*/ +} + +static void +update_names (GtkTreeSelection *selection, SeahorsePgpKeyProperties *self) +{ + SeahorsePgpUid *uid = names_get_selected_uid (self); + gint index = -1; + + if (uid && SEAHORSE_GPGME_IS_UID (uid)) + index = seahorse_gpgme_uid_get_gpgme_index (SEAHORSE_GPGME_UID (uid)); + + set_action_enabled (self, "uids.make-primary", index > 0); + set_action_enabled (self, "uids.sign", index >= 0); + set_action_enabled (self, "uids.delete", index >= 0); +} + +/* Is called whenever a signature key changes, to update row */ +static void +names_update_row (SeahorseObjectModel *skmodel, SeahorseObject *object, + GtkTreeIter *iter, SeahorsePgpKeyProperties *self) +{ + g_autoptr(GIcon) icon = NULL; + const gchar *name, *id; + + icon = g_themed_icon_new (SEAHORSE_PGP_IS_KEY (object) ? + SEAHORSE_ICON_SIGN : "dialog-question"); + name = seahorse_object_get_markup (object); + id = seahorse_object_get_identifier (object); + + gtk_tree_store_set (GTK_TREE_STORE (skmodel), iter, + UIDSIG_OBJECT, NULL, + UIDSIG_ICON, icon, + /* TRANSLATORS: [Unknown] signature name */ + UIDSIG_NAME, name ? name : _("[Unknown]"), + UIDSIG_KEYID, id, -1); +} + +static void +names_populate (SeahorsePgpKeyProperties *self, GtkTreeStore *store, SeahorsePgpKey *pkey) +{ + GObject *object; + GtkTreeIter uiditer, sigiter; + GList *keys, *l; + GList *uids, *u; + GList *sigs, *s; + + /* Insert all the fun-ness */ + uids = seahorse_pgp_key_get_uids (pkey); + + for (u = uids; u; u = g_list_next (u)) { + SeahorsePgpUid *uid; + g_autoptr(GIcon) icon = NULL; + g_autoptr(GPtrArray) keyids = NULL; + g_autoptr(GCancellable) cancellable = NULL; + + uid = SEAHORSE_PGP_UID (u->data); + icon = g_themed_icon_new ("avatar-default-symbolic"); + gtk_tree_store_append (store, &uiditer, NULL); + gtk_tree_store_set (store, &uiditer, + UIDSIG_OBJECT, uid, + UIDSIG_ICON, icon, + UIDSIG_NAME, seahorse_object_get_markup (SEAHORSE_OBJECT (uid)), + -1); + + keyids = g_ptr_array_new (); + + /* Build a list of all the keyids */ + sigs = seahorse_pgp_uid_get_signatures (uid); + for (s = sigs; s; s = g_list_next (s)) { + /* Never show self signatures, they're implied */ + if (seahorse_pgp_key_has_keyid (pkey, seahorse_pgp_signature_get_keyid (s->data))) + continue; + g_ptr_array_add (keyids, (gpointer)seahorse_pgp_signature_get_keyid (s->data)); + } + + g_ptr_array_add (keyids, NULL); + + /* + * Pass it to 'DiscoverKeys' for resolution/download, cancellable + * ties search scope together + */ + cancellable = g_cancellable_new (); + keys = seahorse_pgp_backend_discover_keys (NULL, (const gchar **)keyids->pdata, cancellable); + + /* Add the keys to the store */ + for (l = keys; l; l = g_list_next (l)) { + object = G_OBJECT (l->data); + gtk_tree_store_append (store, &sigiter, &uiditer); + + /* This calls the 'update-row' callback, to set the values for the key */ + seahorse_object_model_set_row_object (SEAHORSE_OBJECT_MODEL (store), &sigiter, object); + } + } +} + +static void +do_names (SeahorsePgpKeyProperties *self) +{ + GtkTreeStore *store; + GtkCellRenderer *renderer; + + if (seahorse_object_get_usage (SEAHORSE_OBJECT (self->key)) != SEAHORSE_USAGE_PRIVATE_KEY) + return; + + /* Clear/create table store */ + g_return_if_fail (self->names_tree != NULL); + + store = GTK_TREE_STORE (gtk_tree_view_get_model (self->names_tree)); + if (store) { + gtk_tree_store_clear (store); + + } else { + g_assert (UIDSIG_N_COLUMNS == G_N_ELEMENTS (uidsig_columns)); + uidsig_columns[UIDSIG_ICON] = G_TYPE_ICON; + + /* This is our first time so create a store */ + store = GTK_TREE_STORE (seahorse_object_model_new (UIDSIG_N_COLUMNS, uidsig_columns)); + g_signal_connect (store, "update-row", G_CALLBACK (names_update_row), self); + + /* Icon column */ + renderer = gtk_cell_renderer_pixbuf_new (); + gtk_tree_view_insert_column_with_attributes (self->names_tree, + -1, "", renderer, + "gicon", UIDSIG_ICON, NULL); + + renderer = gtk_cell_renderer_text_new (); + g_object_set (renderer, "yalign", 0.0, "xalign", 0.0, NULL); + gtk_tree_view_insert_column_with_attributes (self->names_tree, + /* TRANSLATORS: The name and email set on the PGP key */ + -1, _("Name/Email"), renderer, + "markup", UIDSIG_NAME, NULL); + + /* The signature ID column */ + renderer = gtk_cell_renderer_text_new (); + g_object_set (renderer, "yalign", 0.0, "xalign", 0.0, NULL); + gtk_tree_view_insert_column_with_attributes (self->names_tree, + -1, _("Signature ID"), renderer, + "text", UIDSIG_KEYID, NULL); + } + + names_populate (self, store, self->key); + + gtk_tree_view_set_model (self->names_tree, GTK_TREE_MODEL(store)); + gtk_tree_view_expand_all (self->names_tree); + + update_names (NULL, self); +} + +/* ----------------------------------------------------------------------------- + * PHOTO ID AREA + */ + +/* drag-n-drop uri data */ +enum { + TARGET_URI, +}; + +static GtkTargetEntry target_list[] = { + { "text/uri-list", 0, TARGET_URI } }; + +static void +on_pgp_owner_photo_drag_received (GtkWidget *widget, + GdkDragContext *context, + gint x, + gint y, + GtkSelectionData *sel_data, + guint target_type, + guint time, + gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + gboolean dnd_success = FALSE; + gint len = 0; + + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (self->key)); + + /* + * This needs to be improved, support should be added for remote images + * and there has to be a better way to get rid of the trailing \r\n appended + * to the end of the path after the call to g_filename_from_uri + */ + if ((sel_data != NULL) && (gtk_selection_data_get_length (sel_data) >= 0)) { + g_auto(GStrv) uri_list = NULL; + + g_return_if_fail (target_type == TARGET_URI); + + uri_list = gtk_selection_data_get_uris (sel_data); + while (uri_list && uri_list[len]) { + g_autofree gchar *uri; + + uri = g_filename_from_uri (uri_list[len], NULL, NULL); + if (!uri) + continue; + + dnd_success = seahorse_gpgme_photo_add (SEAHORSE_GPGME_KEY (self->key), + GTK_WINDOW (self), uri); + if (!dnd_success) + break; + len++; + } + } + + gtk_drag_finish (context, dnd_success, FALSE, time); +} + +static void +on_photos_add (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (self->key)); + + if (seahorse_gpgme_photo_add (SEAHORSE_GPGME_KEY (self->key), + GTK_WINDOW (self), NULL)) + g_object_set_data (G_OBJECT (self), "current-photoid", NULL); +} + +static void +on_photos_delete (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorseGpgmePhoto *photo; + + photo = g_object_get_data (G_OBJECT (self), "current-photoid"); + g_return_if_fail (SEAHORSE_IS_GPGME_PHOTO (photo)); + + if (seahorse_gpgme_key_op_photo_delete (photo)) + g_object_set_data (G_OBJECT (self), "current-photoid", NULL); +} + +static void +on_photos_make_primary (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + gpgme_error_t gerr; + SeahorseGpgmePhoto *photo; + + photo = g_object_get_data (G_OBJECT (self), "current-photoid"); + g_return_if_fail (SEAHORSE_IS_GPGME_PHOTO (photo)); + + gerr = seahorse_gpgme_key_op_photo_primary (photo); + if (!GPG_IS_OK (gerr)) + seahorse_gpgme_handle_error (gerr, _("Couldn’t change primary photo")); +} + +static void +set_photoid_state (SeahorsePgpKeyProperties *self) +{ + SeahorseUsage etype; + SeahorsePgpPhoto *photo; + gboolean is_gpgme; + GdkPixbuf *pixbuf; + GList *photos; + + etype = seahorse_object_get_usage (SEAHORSE_OBJECT (self->key)); + photos = seahorse_pgp_key_get_photos (self->key); + + photo = g_object_get_data (G_OBJECT (self), "current-photoid"); + g_return_if_fail (!photo || SEAHORSE_PGP_IS_PHOTO (photo)); + is_gpgme = SEAHORSE_GPGME_IS_KEY (self->key); + + if (etype == SEAHORSE_USAGE_PRIVATE_KEY) { + gtk_widget_set_visible (self->owner_photo_add_button, is_gpgme); + gtk_widget_set_visible (self->owner_photo_primary_button, + is_gpgme && photos && photos->next); + gtk_widget_set_visible (self->owner_photo_delete_button, + is_gpgme && photo); + } + + /* Display both of these when there is more than one photo id */ + gtk_widget_set_visible (self->owner_photo_previous_button, + photos && photos->next); + gtk_widget_set_visible (self->owner_photo_next_button, + photos && photos->next); + + /* Change sensitivity if first/last photo id */ + set_action_enabled (self, "photos.previous", + photo && photos && photo != g_list_first (photos)->data); + set_action_enabled (self, "photos.next", + photo && photos && photo != g_list_last (photos)->data); + + pixbuf = photo ? seahorse_pgp_photo_get_pixbuf (photo) : NULL; + if (pixbuf) + gtk_image_set_from_pixbuf (self->photoid, pixbuf); +} + +static void +do_photo_id (SeahorsePgpKeyProperties *self) +{ + GList *photos; + + photos = seahorse_pgp_key_get_photos (self->key); + if (!photos) + g_object_set_data (G_OBJECT (self), "current-photoid", NULL); + else + g_object_set_data_full (G_OBJECT (self), "current-photoid", + g_object_ref (photos->data), g_object_unref); + + set_photoid_state (self); +} + +static void +on_photos_next (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorsePgpPhoto *photo; + GList *photos; + + photos = seahorse_pgp_key_get_photos (self->key); + photo = g_object_get_data (G_OBJECT (self), "current-photoid"); + if (photo) { + g_return_if_fail (SEAHORSE_PGP_IS_PHOTO (photo)); + photos = g_list_find (photos, photo); + if (photos && photos->next) + g_object_set_data_full (G_OBJECT (self), "current-photoid", + g_object_ref (photos->next->data), + g_object_unref); + } + + set_photoid_state (self); +} + +static void +on_photos_previous (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorsePgpPhoto *photo; + GList *photos; + + photos = seahorse_pgp_key_get_photos (self->key); + photo = g_object_get_data (G_OBJECT (self), "current-photoid"); + if (photo) { + g_return_if_fail (SEAHORSE_PGP_IS_PHOTO (photo)); + photos = g_list_find (photos, photo); + if (photos && photos->prev) + g_object_set_data_full (G_OBJECT (self), "current-photoid", + g_object_ref (photos->prev->data), + g_object_unref); + } + + set_photoid_state (self); +} + +static void +on_pgp_owner_photoid_button (GtkWidget *widget, + GdkEvent *event, + gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + const gchar *action_str; + + if (event->type != GDK_SCROLL) + return; + + switch (((GdkEventScroll *) event)->direction) { + case GDK_SCROLL_UP: + action_str = "photos.previous"; + break; + case GDK_SCROLL_DOWN: + action_str = "photos.next"; + break; + default: + return; + } + + g_action_group_activate_action (G_ACTION_GROUP (self->action_group), + action_str, NULL); +} + +/* ----------------------------------------------------------------------------- + * OWNER PAGE + */ + +/* owner uid list */ +enum { + UID_OBJECT, + UID_ICON, + UID_MARKUP, + UID_N_COLUMNS +}; + +static GType uid_columns[] = { + G_TYPE_OBJECT, /* object */ + 0 /* later */, /* icon */ + G_TYPE_STRING, /* name */ + G_TYPE_STRING, /* email */ + G_TYPE_STRING /* comment */ +}; + +static void +on_gpgme_key_change_pass_done (GObject *source, + GAsyncResult *res, + gpointer user_data) +{ + g_autoptr(SeahorsePgpKeyProperties) self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorseGpgmeKey *pkey = SEAHORSE_GPGME_KEY (source); + g_autoptr(GError) error = NULL; + + if (!seahorse_gpgme_key_op_change_pass_finish (pkey, res, &error)) { + GtkWindow *window; + window = gtk_window_get_transient_for (GTK_WINDOW (self)); + seahorse_util_show_error (GTK_WIDGET (window), + _("Error changing password"), + error->message); + } +} + +static void +on_change_password (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorseUsage usage; + + usage = seahorse_object_get_usage (SEAHORSE_OBJECT (self->key)); + g_return_if_fail (usage == SEAHORSE_USAGE_PRIVATE_KEY); + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (self->key)); + + seahorse_gpgme_key_op_change_pass_async (SEAHORSE_GPGME_KEY (self->key), + NULL, + on_gpgme_key_change_pass_done, + g_object_ref (self)); +} + +static void +do_owner (SeahorsePgpKeyProperties *self) +{ + GtkCellRenderer *renderer; + GtkListStore *store; + GtkTreeIter iter; + guint flags; + const gchar *label; + GList *uids, *l; + + flags = seahorse_object_get_flags (SEAHORSE_OBJECT (self->key)); + + /* Display appropriate warnings */ + gtk_widget_set_visible (self->expired_area, flags & SEAHORSE_FLAG_EXPIRED); + gtk_widget_set_visible (self->revoked_area, flags & SEAHORSE_FLAG_REVOKED); + + /* Update the expired message */ + if (flags & SEAHORSE_FLAG_EXPIRED) { + gulong expires_date; + g_autofree gchar *message = NULL; + g_autofree gchar *date_str = NULL; + + expires_date = seahorse_pgp_key_get_expires (self->key); + if (expires_date == 0) { + /* TRANSLATORS: (unknown) expiry date */ + date_str = g_strdup (_("(unknown)")); + } else { + date_str = seahorse_util_get_display_date_string (expires_date); + } + + message = g_strdup_printf (_("This key expired on: %s"), date_str); + gtk_label_set_text (self->expired_message, message); + } + + /* Hide trust page when above */ + if (self->trust_page != NULL) { + gtk_widget_set_visible (self->trust_page, !((flags & SEAHORSE_FLAG_EXPIRED) || + (flags & SEAHORSE_FLAG_REVOKED) || + (flags & SEAHORSE_FLAG_DISABLED))); + } + + /* Hide or show the uids area */ + uids = seahorse_pgp_key_get_uids (self->key); + if (self->uids_area != NULL) + gtk_widget_set_visible (self->uids_area, uids != NULL); + if (uids != NULL) { + g_autofree gchar *title = NULL; + g_autofree gchar *email_escaped = NULL; + g_autofree gchar *email_label = NULL; + SeahorsePgpUid *uid; + + uid = SEAHORSE_PGP_UID (uids->data); + + label = seahorse_pgp_uid_get_name (uid); + gtk_label_set_text (self->owner_name_label, label); + + if (seahorse_object_get_usage (SEAHORSE_OBJECT (self->key)) != SEAHORSE_USAGE_PRIVATE_KEY) { + /* Translators: the 1st part of the title is the owner's name */ + title = g_strdup_printf (_("%s — Public key"), label); + } else { + /* Translators: the 1st part of the title is the owner's name */ + title = g_strdup_printf (_("%s — Private key"), label); + } + gtk_window_set_title (GTK_WINDOW (self), title); + + label = seahorse_pgp_uid_get_email (uid); + if (label && *label) { + email_escaped = g_markup_escape_text (label, -1); + email_label = g_strdup_printf ("%s", label, email_escaped); + gtk_label_set_markup (self->owner_email_label, email_label); + } + + label = seahorse_pgp_uid_get_comment (uid); + gtk_label_set_text (self->owner_comment_label, label); + + label = seahorse_object_get_identifier (SEAHORSE_OBJECT (self->key)); + gtk_label_set_text (self->owner_keyid_label, label); + } + + /* Clear/create table store */ + if (self->owner_userid_tree) { + store = GTK_LIST_STORE (gtk_tree_view_get_model (self->owner_userid_tree)); + + if (store) { + gtk_list_store_clear (GTK_LIST_STORE (store)); + + } else { + g_assert (UID_N_COLUMNS != G_N_ELEMENTS (uid_columns)); + uid_columns[1] = G_TYPE_ICON; + + /* This is our first time so create a store */ + store = gtk_list_store_newv (UID_N_COLUMNS, (GType*)uid_columns); + + /* Make the columns for the view */ + renderer = gtk_cell_renderer_pixbuf_new (); + gtk_tree_view_insert_column_with_attributes (self->owner_userid_tree, + -1, "", renderer, + "gicon", UID_ICON, NULL); + + gtk_tree_view_insert_column_with_attributes (self->owner_userid_tree, + -1, _("Name"), gtk_cell_renderer_text_new (), + "markup", UID_MARKUP, NULL); + } + + for (l = uids; l; l = g_list_next (l)) { + const gchar *markup; + g_autoptr(GIcon) icon = NULL; + + markup = seahorse_object_get_markup (l->data); + icon = g_themed_icon_new ("avatar-default-symbolic"); + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + UID_OBJECT, l->data, + UID_ICON, icon, + UID_MARKUP, markup, -1); + } + + gtk_tree_view_set_model (self->owner_userid_tree, GTK_TREE_MODEL (store)); + } + + do_photo_id (self); +} + +/* ----------------------------------------------------------------------------- + * DETAILS PAGE + */ + +/* details subkey list */ +enum { + SUBKEY_OBJECT, + SUBKEY_ID, + SUBKEY_TYPE, + SUBKEY_USAGE, + SUBKEY_CREATED, + SUBKEY_EXPIRES, + SUBKEY_STATUS, + SUBKEY_LENGTH, + SUBKEY_N_COLUMNS +}; + +const GType subkey_columns[] = { + G_TYPE_OBJECT, /* SUBKEY_OBJECT */ + G_TYPE_STRING, /* SUBKEY_ID */ + G_TYPE_STRING, /* SUBKEY_TYPE */ + G_TYPE_STRING, /* SUBKEY_USAGE */ + G_TYPE_STRING, /* SUBKEY_CREATED */ + G_TYPE_STRING, /* SUBKEY_EXPIRES */ + G_TYPE_STRING, /* SUBKEY_STATUS */ + G_TYPE_UINT /* SUBKEY_LENGTH */ +}; + +/* trust combo box list */ +enum { + TRUST_LABEL, + TRUST_VALIDITY, + TRUST_N_COLUMNS +}; + +const GType trust_columns[] = { + G_TYPE_STRING, /* label */ + G_TYPE_INT /* validity */ +}; + +static SeahorsePgpSubkey* +get_selected_subkey (SeahorsePgpKeyProperties *self) +{ + return get_selected_object (self->details_subkey_tree, SUBKEY_OBJECT); +} + +static void +details_subkey_selected (GtkTreeSelection *selection, SeahorsePgpKeyProperties *self) +{ + SeahorsePgpSubkey* subkey; + guint flags = 0; + + subkey = get_selected_object (self->details_subkey_tree, SUBKEY_OBJECT); + if (subkey) + flags = seahorse_pgp_subkey_get_flags (subkey); + + set_action_enabled (self, "subkeys.change-expires", subkey != NULL); + set_action_enabled (self, "subkeys.revoke", + subkey != NULL && !(flags & SEAHORSE_FLAG_REVOKED)); + set_action_enabled (self, "subkeys.delete", subkey != NULL); +} + +static void +on_add_subkey_completed (GObject *object, GAsyncResult *res, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + g_autoptr(GError) error = NULL; + + if (!seahorse_gpgme_key_op_add_subkey_finish (SEAHORSE_GPGME_KEY (self->key), + res, &error)) { + seahorse_util_handle_error (&error, self, NULL); + } +} + +static void +on_subkeys_add (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorseGpgmeAddSubkey *dialog; + int response; + SeahorseKeyEncType type; + guint length; + gulong expires; + + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (self->key)); + + dialog = seahorse_gpgme_add_subkey_new (SEAHORSE_GPGME_KEY (self->key), + GTK_WINDOW (self)); + + response = gtk_dialog_run (GTK_DIALOG (dialog)); + if (response != GTK_RESPONSE_OK) { + gtk_widget_destroy (GTK_WIDGET (dialog)); + return; + } + + length = seahorse_gpgme_add_subkey_get_keysize (dialog); + type = seahorse_gpgme_add_subkey_get_active_type (dialog); + expires = seahorse_gpgme_add_subkey_get_expires (dialog); + seahorse_gpgme_key_op_add_subkey_async (SEAHORSE_GPGME_KEY (self->key), + type, length, expires, NULL, + on_add_subkey_completed, self); + + gtk_widget_destroy (GTK_WIDGET (dialog)); +} + +static void +on_subkeys_delete (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorsePgpSubkey *subkey; + guint index; + gboolean ret; + const gchar *label; + g_autofree gchar *message = NULL; + gpgme_error_t err; + + subkey = get_selected_subkey (self); + if (!subkey) + return; + + g_return_if_fail (SEAHORSE_GPGME_IS_SUBKEY (subkey)); + + index = seahorse_pgp_subkey_get_index (subkey); + label = seahorse_object_get_label (SEAHORSE_OBJECT (self->key)); + message = g_strdup_printf (_("Are you sure you want to permanently delete subkey %d of %s?"), index, label); + ret = seahorse_delete_dialog_prompt (GTK_WINDOW (self), message); + + if (ret == FALSE) + return; + + err = seahorse_gpgme_key_op_del_subkey (SEAHORSE_GPGME_SUBKEY (subkey)); + if (!GPG_IS_OK (err)) + seahorse_gpgme_handle_error (err, _("Couldn’t delete subkey")); +} + +static void +on_subkeys_revoke (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorsePgpSubkey *subkey = get_selected_subkey (self); + if (subkey != NULL) + return; + + g_return_if_fail (SEAHORSE_GPGME_IS_SUBKEY (subkey)); + seahorse_gpgme_revoke_new (SEAHORSE_GPGME_SUBKEY (subkey), + GTK_WINDOW (self)); +} + +static void +on_subkeys_change_expires (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorsePgpSubkey *subkey; + GList *subkeys; + GtkDialog *dialog; + + subkey = get_selected_subkey (self); + if (subkey == NULL) { + subkeys = seahorse_pgp_key_get_subkeys (self->key); + if (subkeys) + subkey = subkeys->data; + } + + g_return_if_fail (SEAHORSE_GPGME_IS_SUBKEY (subkey)); + + if (subkey == NULL) + return; + + dialog = seahorse_gpgme_expires_dialog_new (SEAHORSE_GPGME_SUBKEY (subkey), + GTK_WINDOW (self)); + gtk_dialog_run (dialog); + gtk_widget_destroy (GTK_WIDGET (dialog)); +} + +static void +on_pgp_details_trust_changed (GtkComboBox *selection, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + gint trust; + GtkTreeModel *model; + GtkTreeIter iter; + + if (!gtk_combo_box_get_active_iter (selection, &iter)) + return; + + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (self->key)); + + model = gtk_combo_box_get_model (selection); + gtk_tree_model_get (model, &iter, TRUST_VALIDITY, &trust, -1); + + if (seahorse_pgp_key_get_trust (self->key) != trust) { + gpgme_error_t err; + + err = seahorse_gpgme_key_op_set_trust (SEAHORSE_GPGME_KEY (self->key), + trust); + if (err) + seahorse_gpgme_handle_error (err, _("Unable to change trust")); + } +} + +static void +on_export_complete (GObject *source, GAsyncResult *result, gpointer user_data) +{ + g_autoptr(GtkWindow) parent = GTK_WINDOW (user_data); + GError *error = NULL; + + seahorse_exporter_export_to_file_finish (SEAHORSE_EXPORTER (source), result, &error); + if (error != NULL) + seahorse_util_handle_error (&error, parent, _("Couldn’t export key")); +} + +static void +export_key_to_file (SeahorsePgpKeyProperties *self, gboolean secret) +{ + GList *exporters = NULL; + GtkWindow *window; + g_autofree gchar *directory = NULL; + g_autoptr(GFile) file = NULL; + SeahorseExporter *exporter = NULL; + + exporters = g_list_append (exporters, + seahorse_gpgme_exporter_new (G_OBJECT (self->key), TRUE, secret)); + + window = GTK_WINDOW (self); + if (seahorse_exportable_prompt (exporters, window, &directory, &file, &exporter)) { + seahorse_exporter_export_to_file (exporter, file, TRUE, NULL, + on_export_complete, g_object_ref (window)); + } + + g_clear_object (&exporter); + g_list_free_full (exporters, g_object_unref); +} + +static void +on_export_secret (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + + export_key_to_file (self, TRUE); +} + +static void +on_export_public (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + + export_key_to_file (self, FALSE); +} + +static void +on_change_expires (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + GList *subkeys; + GtkDialog *dialog; + + subkeys = seahorse_pgp_key_get_subkeys (self->key); + g_return_if_fail (subkeys); + + dialog = seahorse_gpgme_expires_dialog_new (SEAHORSE_GPGME_SUBKEY (subkeys->data), + GTK_WINDOW (self)); + gtk_dialog_run (dialog); + gtk_widget_destroy (GTK_WIDGET (dialog)); +} + +static void +setup_trust_combobox (SeahorsePgpKeyProperties *self) +{ + SeahorseUsage etype; + GtkListStore *model; + GtkCellRenderer *text_cell = gtk_cell_renderer_text_new (); + + etype = seahorse_object_get_usage (SEAHORSE_OBJECT (self->key)); + + gtk_cell_layout_clear (GTK_CELL_LAYOUT (self->details_trust_combobox)); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (self->details_trust_combobox), + text_cell, FALSE); + gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (self->details_trust_combobox), + text_cell, + "text", TRUST_LABEL, + NULL); + + /* Initialize the store */ + model = gtk_list_store_newv (TRUST_N_COLUMNS, (GType*)trust_columns); + + if (etype != SEAHORSE_USAGE_PRIVATE_KEY) { + gtk_list_store_insert_with_values (model, NULL, -1, + TRUST_LABEL, seahorse_validity_get_string (SEAHORSE_VALIDITY_UNKNOWN), + TRUST_VALIDITY, SEAHORSE_VALIDITY_UNKNOWN, + -1); + + gtk_list_store_insert_with_values (model, NULL, -1, + TRUST_LABEL, seahorse_validity_get_string (SEAHORSE_VALIDITY_NEVER), + TRUST_VALIDITY, SEAHORSE_VALIDITY_NEVER, + -1); + } + + gtk_list_store_insert_with_values (model, NULL, -1, + TRUST_LABEL, seahorse_validity_get_string (SEAHORSE_VALIDITY_MARGINAL), + TRUST_VALIDITY, SEAHORSE_VALIDITY_MARGINAL, + -1); + + gtk_list_store_insert_with_values (model, NULL, -1, + TRUST_LABEL, seahorse_validity_get_string (SEAHORSE_VALIDITY_FULL), + TRUST_VALIDITY, SEAHORSE_VALIDITY_FULL, + -1); + if (etype == SEAHORSE_USAGE_PRIVATE_KEY) { + gtk_list_store_insert_with_values (model, NULL, -1, + TRUST_LABEL, seahorse_validity_get_string (SEAHORSE_VALIDITY_ULTIMATE), + TRUST_VALIDITY, SEAHORSE_VALIDITY_ULTIMATE, + -1); + } + + gtk_combo_box_set_model (self->details_trust_combobox, GTK_TREE_MODEL (model)); +} + +static void +do_details (SeahorsePgpKeyProperties *self) +{ + SeahorsePgpSubkey *subkey; + GtkListStore *store; + GtkTreeModel *model; + GtkTreeIter iter; + gchar dbuffer[G_ASCII_DTOSTR_BUF_SIZE]; + g_autofree gchar *fp_label = NULL; + g_autofree gchar *created_str = NULL; + g_autofree gchar *expires_str = NULL; + const gchar *label; + gint trust; + GList *subkeys, *l; + gboolean valid; + + subkeys = seahorse_pgp_key_get_subkeys (self->key); + g_return_if_fail (subkeys && subkeys->data); + subkey = SEAHORSE_PGP_SUBKEY (subkeys->data); + + label = seahorse_object_get_identifier (SEAHORSE_OBJECT (self->key)); + gtk_label_set_text (self->details_id_label, label); + + fp_label = g_strdup (seahorse_pgp_key_get_fingerprint (self->key)); + if (strlen (fp_label) > 24 && g_ascii_isspace (fp_label[24])) + fp_label[24] = '\n'; + gtk_label_set_text (self->details_fingerprint_label, fp_label); + + label = seahorse_pgp_key_get_algo (self->key); + gtk_label_set_text (self->details_algo_label, label); + + created_str = seahorse_util_get_display_date_string (seahorse_pgp_subkey_get_created (subkey)); + gtk_label_set_text (self->details_created_label, created_str); + + g_ascii_dtostr (dbuffer, G_ASCII_DTOSTR_BUF_SIZE, seahorse_pgp_subkey_get_length (subkey)); + gtk_label_set_text (self->details_strength_label, dbuffer); + + gulong expires = seahorse_pgp_subkey_get_expires (subkey); + if (!SEAHORSE_GPGME_IS_KEY (self->key)) + expires_str = NULL; + else if (expires == 0) + expires_str = g_strdup (C_("Expires", "Never")); + else + expires_str = seahorse_util_get_display_date_string (expires); + gtk_label_set_text (self->details_expires_label, expires_str); + + gtk_widget_set_visible (GTK_WIDGET (self->indicate_trust_box), + SEAHORSE_GPGME_IS_KEY (self->key)); + gtk_widget_set_sensitive (GTK_WIDGET (self->details_trust_combobox), + !(seahorse_object_get_flags (SEAHORSE_OBJECT (self->key)) & SEAHORSE_FLAG_DISABLED)); + + model = gtk_combo_box_get_model (self->details_trust_combobox); + valid = gtk_tree_model_get_iter_first (model, &iter); + while (valid) { + gtk_tree_model_get (model, &iter, + TRUST_VALIDITY, &trust, + -1); + + if (trust == seahorse_pgp_key_get_trust (self->key)) { + g_signal_handlers_block_by_func (self->details_trust_combobox, on_pgp_details_trust_changed, self); + gtk_combo_box_set_active_iter (self->details_trust_combobox, &iter); + g_signal_handlers_unblock_by_func (self->details_trust_combobox, on_pgp_details_trust_changed, self); + break; + } + + valid = gtk_tree_model_iter_next (model, &iter); + } + + /* Clear/create table store */ + store = GTK_LIST_STORE (gtk_tree_view_get_model (self->details_subkey_tree)); + if (store) { + gtk_list_store_clear (store); + } else { + + /* This is our first time so create a store */ + store = gtk_list_store_newv (SUBKEY_N_COLUMNS, (GType*)subkey_columns); + gtk_tree_view_set_model (self->details_subkey_tree, GTK_TREE_MODEL (store)); + + /* Make the columns for the view */ + gtk_tree_view_insert_column_with_attributes (self->details_subkey_tree, + -1, _("ID"), gtk_cell_renderer_text_new (), + "text", SUBKEY_ID, NULL); + gtk_tree_view_insert_column_with_attributes (self->details_subkey_tree, + -1, _("Type"), gtk_cell_renderer_text_new (), + "text", SUBKEY_TYPE, NULL); + gtk_tree_view_insert_column_with_attributes (self->details_subkey_tree, + -1, _("Usage"), gtk_cell_renderer_text_new (), + "text", SUBKEY_USAGE, NULL); + gtk_tree_view_insert_column_with_attributes (self->details_subkey_tree, + -1, _("Created"), gtk_cell_renderer_text_new (), + "text", SUBKEY_CREATED, NULL); + gtk_tree_view_insert_column_with_attributes (self->details_subkey_tree, + -1, _("Expires"), gtk_cell_renderer_text_new (), + "text", SUBKEY_EXPIRES, NULL); + gtk_tree_view_insert_column_with_attributes (self->details_subkey_tree, + -1, _("Status"), gtk_cell_renderer_text_new (), + "text", SUBKEY_STATUS, NULL); + gtk_tree_view_insert_column_with_attributes (self->details_subkey_tree, + -1, _("Strength"), gtk_cell_renderer_text_new (), + "text", SUBKEY_LENGTH, NULL); + } + + for (l = subkeys; l; l = g_list_next (l)) { + const gchar *status = NULL; + g_autofree gchar *expiration_date = NULL; + g_autofree gchar *created_date = NULL; + g_autofree gchar *usage = NULL; + gulong expires; + guint flags; + + subkey = SEAHORSE_PGP_SUBKEY (l->data); + expires = seahorse_pgp_subkey_get_expires (subkey); + flags = seahorse_pgp_subkey_get_flags (subkey); + status = ""; + + if (flags & SEAHORSE_FLAG_REVOKED) + status = _("Revoked"); + else if (flags & SEAHORSE_FLAG_EXPIRED) + status = _("Expired"); + else if (flags & SEAHORSE_FLAG_DISABLED) + status = _("Disabled"); + else if (flags & SEAHORSE_FLAG_IS_VALID) + status = _("Good"); + + if (expires == 0) + expiration_date = g_strdup (C_("Expires", "Never")); + else + expiration_date = seahorse_util_get_display_date_string (expires); + + created_date = seahorse_util_get_display_date_string (seahorse_pgp_subkey_get_created (subkey)); + + usage = seahorse_pgp_subkey_get_usage (subkey); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + SUBKEY_OBJECT, subkey, + SUBKEY_ID, seahorse_pgp_subkey_get_keyid (subkey), + SUBKEY_TYPE, seahorse_pgp_subkey_get_algorithm (subkey), + SUBKEY_USAGE, usage, + SUBKEY_CREATED, created_date, + SUBKEY_EXPIRES, expiration_date, + SUBKEY_STATUS, status, + SUBKEY_LENGTH, seahorse_pgp_subkey_get_length (subkey), + -1); + } +} + +/* ----------------------------------------------------------------------------- + * TRUST PAGE (PUBLIC KEYS) + */ + +enum { + SIGN_ICON, + SIGN_NAME, + SIGN_KEYID, + SIGN_TRUSTED, + SIGN_N_COLUMNS +}; + +static GType sign_columns[] = { + 0 /* later */, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_BOOLEAN +}; + +static void +on_toggle_action (GSimpleAction *action, GVariant *param, gpointer user_data) { + GVariant *old_state, *new_state; + + old_state = g_action_get_state (G_ACTION (action)); + new_state = g_variant_new_boolean (!g_variant_get_boolean (old_state)); + g_action_change_state (G_ACTION (action), new_state); +} + +static void +on_trust_marginal_changed (GSimpleAction *action, GVariant *new_state, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorseValidity trust; + gpgme_error_t err; + + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (self->key)); + + trust = g_variant_get_boolean (new_state) ? + SEAHORSE_VALIDITY_MARGINAL : SEAHORSE_VALIDITY_UNKNOWN; + g_simple_action_set_state (action, new_state); + + if (seahorse_pgp_key_get_trust (self->key) != trust) { + err = seahorse_gpgme_key_op_set_trust (SEAHORSE_GPGME_KEY (self->key), trust); + if (err) + seahorse_gpgme_handle_error (err, _("Unable to change trust")); + } +} + +/* Is called whenever a signature key changes */ +static void +trust_update_row (SeahorseObjectModel *skmodel, SeahorseObject *object, + GtkTreeIter *iter, gpointer user_data) +{ + gboolean trusted = FALSE; + g_autoptr(GIcon) icon = NULL; + const gchar *name, *id; + + if (seahorse_object_get_usage (object) == SEAHORSE_USAGE_PRIVATE_KEY) + trusted = TRUE; + else if (seahorse_object_get_flags (object) & SEAHORSE_FLAG_TRUSTED) + trusted = TRUE; + + icon = g_themed_icon_new (SEAHORSE_PGP_IS_KEY (object) ? + SEAHORSE_ICON_SIGN : "dialog-question"); + name = seahorse_object_get_label (object); + id = seahorse_object_get_identifier (object); + + gtk_tree_store_set (GTK_TREE_STORE (skmodel), iter, + SIGN_ICON, icon, + /* TRANSLATORS: [Unknown] signature name */ + SIGN_NAME, name ? name : _("[Unknown]"), + SIGN_KEYID, id, + SIGN_TRUSTED, trusted, + -1); +} + +static void +signatures_populate_model (SeahorsePgpKeyProperties *self, SeahorseObjectModel *skmodel) +{ + GtkTreeIter iter; + gboolean have_sigs = FALSE; + g_autoptr(GPtrArray) rawids = NULL; + GList *keys, *l, *uids; + GList *sigs, *s; + + if (self->signatures_tree == NULL) + return; + + rawids = g_ptr_array_new (); + uids = seahorse_pgp_key_get_uids (self->key); + + /* Build a list of all the keyids */ + for (l = uids; l; l = g_list_next (l)) { + sigs = seahorse_pgp_uid_get_signatures (l->data); + for (s = sigs; s; s = g_list_next (s)) { + /* Never show self signatures, they're implied */ + if (seahorse_pgp_key_has_keyid (self->key, + seahorse_pgp_signature_get_keyid (s->data))) + continue; + have_sigs = TRUE; + g_ptr_array_add (rawids, (gchar *)seahorse_pgp_signature_get_keyid (s->data)); + } + } + + /* Strip out duplicates */ + unique_strings (rawids); + g_ptr_array_add (rawids, NULL); + + /* Only show signatures area when there are signatures */ + gtk_widget_set_visible (self->signatures_area, have_sigs); + + if (skmodel) { + g_autoptr(GCancellable) cancellable = NULL; + + /* Pass it to 'DiscoverKeys' for resolution/download. cancellable ties + * search scope together */ + cancellable = g_cancellable_new (); + keys = seahorse_pgp_backend_discover_keys (NULL, (const gchar **)rawids->pdata, cancellable); + + /* Add the keys to the store */ + for (l = keys; l; l = g_list_next (l)) { + GObject *object = G_OBJECT (l->data); + + gtk_tree_store_append (GTK_TREE_STORE (skmodel), &iter, NULL); + /* This calls the 'update-row' callback, to set the values for the key */ + seahorse_object_model_set_row_object (SEAHORSE_OBJECT_MODEL (skmodel), &iter, object); + } + } +} + +/* Refilter when the user toggles the 'only show trusted' checkbox */ +static void +on_pgp_trusted_toggled (GtkToggleButton *toggle, GtkTreeModelFilter *filter) +{ + /* Set flag on the store */ + GtkTreeModel *model = gtk_tree_model_filter_get_model (filter); + g_object_set_data (G_OBJECT (model), "only-trusted", + GINT_TO_POINTER (gtk_toggle_button_get_active (toggle))); + gtk_tree_model_filter_refilter (filter); +} + +/* Add a signature */ +static void +on_sign_key (GSimpleAction *action, GVariant *param, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + SeahorseGpgmeSignDialog *dialog; + + g_return_if_fail (SEAHORSE_GPGME_IS_KEY (self->key)); + + dialog = seahorse_gpgme_sign_dialog_new (SEAHORSE_OBJECT (self->key)); + + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (GTK_WIDGET (dialog)); +} + +/* When the 'only display trusted' check is checked, hide untrusted rows */ +static gboolean +trust_filter (GtkTreeModel *model, GtkTreeIter *iter, gpointer userdata) +{ + /* Read flag on the store */ + gboolean trusted = FALSE; + gtk_tree_model_get (model, iter, SIGN_TRUSTED, &trusted, -1); + return !g_object_get_data (G_OBJECT (model), "only-trusted") || trusted; +} + +static gboolean +key_have_signatures (SeahorsePgpKey *pkey, guint types) +{ + GList *uids, *u; + GList *sigs, *s; + + uids = seahorse_pgp_key_get_uids (pkey); + for (u = uids; u; u = g_list_next (u)) { + sigs = seahorse_pgp_uid_get_signatures (u->data); + for (s = sigs; s; s = g_list_next (s)) { + if (seahorse_pgp_signature_get_sigtype (s->data) & types) + return TRUE; + } + } + + return FALSE; +} + +static void +do_trust (SeahorsePgpKeyProperties *self) +{ + GtkTreeStore *store; + GtkTreeModelFilter *filter; + gboolean sigpersonal; + GtkCellRenderer *renderer; + GAction *trust_action; + + if (seahorse_object_get_usage (SEAHORSE_OBJECT (self->key)) != SEAHORSE_USAGE_PUBLIC_KEY) + return; + + /* Remote keys */ + if (!SEAHORSE_GPGME_IS_KEY (self->key)) { + gtk_widget_set_visible (self->manual_trust_area, FALSE); + gtk_widget_set_visible (GTK_WIDGET (self->trust_marginal_switch), TRUE); + gtk_widget_set_sensitive (GTK_WIDGET (self->trust_marginal_switch), FALSE); + gtk_widget_set_visible (self->sign_area, FALSE); + gtk_widget_set_visible (self->revoke_area, FALSE); + + /* Local keys */ + } else { + guint trust; + gboolean managed = FALSE; + + trust = seahorse_pgp_key_get_trust (self->key); + + switch (trust) { + /* We shouldn't be seeing this page with these trusts */ + case SEAHORSE_VALIDITY_REVOKED: + case SEAHORSE_VALIDITY_DISABLED: + return; + /* Trust is specified manually */ + case SEAHORSE_VALIDITY_ULTIMATE: + case SEAHORSE_VALIDITY_NEVER: + managed = FALSE; + break; + /* We manage the trust through this page */ + case SEAHORSE_VALIDITY_FULL: + case SEAHORSE_VALIDITY_MARGINAL: + case SEAHORSE_VALIDITY_UNKNOWN: + managed = TRUE; + break; + default: + g_warning ("unknown trust value: %d", trust); + g_assert_not_reached (); + return; + } + + /* Managed and unmanaged areas */ + gtk_widget_set_visible (self->manual_trust_area, !managed); + gtk_widget_set_visible (GTK_WIDGET (self->trust_marginal_switch), managed); + trust_action = g_action_map_lookup_action (G_ACTION_MAP (self->action_group), + "trust-marginal"); + + /* Managed check boxes */ + if (managed) { + GVariant *state; + state = g_variant_new_boolean (trust != SEAHORSE_VALIDITY_UNKNOWN); + g_simple_action_set_state (G_SIMPLE_ACTION (trust_action), state); + } + + /* Signing and revoking */ + sigpersonal = key_have_signatures (self->key, SKEY_PGPSIG_PERSONAL); + gtk_widget_set_visible (self->sign_area, !sigpersonal); + gtk_widget_set_visible (self->revoke_area, sigpersonal); + } + + /* The actual signatures listing */ + if (self->signatures_tree != NULL) { + filter = GTK_TREE_MODEL_FILTER (gtk_tree_view_get_model (self->signatures_tree)); + + if (filter) { + /* First time create the store */ + store = GTK_TREE_STORE (gtk_tree_model_filter_get_model (filter)); + gtk_tree_store_clear (store); + } else { + /* Create a new SeahorseObjectModel store.... */ + sign_columns[SIGN_ICON] = G_TYPE_ICON; + store = GTK_TREE_STORE (seahorse_object_model_new (SIGN_N_COLUMNS, (GType*)sign_columns)); + g_signal_connect (store, "update-row", + G_CALLBACK (trust_update_row), self); + + /* .... and a filter to go ontop of it */ + filter = GTK_TREE_MODEL_FILTER (gtk_tree_model_filter_new (GTK_TREE_MODEL (store), NULL)); + gtk_tree_model_filter_set_visible_func (filter, + (GtkTreeModelFilterVisibleFunc)trust_filter, NULL, NULL); + + /* Make the colunms for the view */ + renderer = gtk_cell_renderer_pixbuf_new (); + g_object_set (renderer, "stock-size", GTK_ICON_SIZE_LARGE_TOOLBAR, NULL); + gtk_tree_view_insert_column_with_attributes (self->signatures_tree, + -1, "", renderer, + "gicon", SIGN_ICON, NULL); + gtk_tree_view_insert_column_with_attributes (self->signatures_tree, + /* TRANSLATORS: The name and email set on the PGP key */ + -1, _("Name/Email"), gtk_cell_renderer_text_new (), + "text", SIGN_NAME, NULL); + gtk_tree_view_insert_column_with_attributes (self->signatures_tree, + -1, _("Key ID"), gtk_cell_renderer_text_new (), + "text", SIGN_KEYID, NULL); + + gtk_tree_view_set_model (self->signatures_tree, GTK_TREE_MODEL (filter)); + + g_signal_connect (self->signatures_toggle, "toggled", + G_CALLBACK (on_pgp_trusted_toggled), filter); + gtk_toggle_button_set_active (self->signatures_toggle, TRUE); + } + + signatures_populate_model (self, SEAHORSE_OBJECT_MODEL (store)); + } +} + +/* ----------------------------------------------------------------------------- + * GENERAL + */ + +static const GActionEntry PRIVATE_KEY_ACTIONS[] = { + { "change-password", on_change_password }, + { "change-expires", on_change_expires }, + { "export-secret", on_export_secret }, + { "export-public", on_export_public }, + { "uids.add", on_uids_add }, + { "uids.delete", on_uids_delete }, + { "uids.make-primary", on_uids_make_primary }, + { "uids.revoke", on_uids_revoke }, + { "uids.sign", on_uids_sign }, + { "photos.add", on_photos_add }, + { "photos.delete", on_photos_delete }, + { "photos.previous", on_photos_previous }, + { "photos.next", on_photos_next }, + { "photos.make-primary", on_photos_make_primary }, + { "subkeys.add", on_subkeys_add }, + { "subkeys.delete", on_subkeys_delete }, + { "subkeys.revoke", on_subkeys_revoke }, + { "subkeys.change-expires", on_subkeys_change_expires }, +}; + +static const GActionEntry PUBLIC_KEY_ACTIONS[] = { + { "sign-key", on_sign_key }, + { "trust-marginal", on_toggle_action, NULL, "false", on_trust_marginal_changed }, + { "photos.previous", on_photos_previous }, + { "photos.next", on_photos_next }, +}; + +static void +key_notify (GObject *object, GParamSpec *pspec, gpointer user_data) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (user_data); + + do_owner (self); + do_names (self); + do_trust (self); + do_details (self); +} + +static void +get_common_widgets (SeahorsePgpKeyProperties *self, GtkBuilder *builder) +{ + self->owner_name_label = GTK_LABEL (gtk_builder_get_object (builder, "owner-name-label")); + self->owner_email_label = GTK_LABEL (gtk_builder_get_object (builder, "owner-email-label")); + self->owner_comment_label = GTK_LABEL (gtk_builder_get_object (builder, "owner-comment-label")); + self->owner_keyid_label = GTK_LABEL (gtk_builder_get_object (builder, "owner-keyid-label")); + self->owner_photo_previous_button = GTK_WIDGET (gtk_builder_get_object (builder, "owner-photo-previous-button")); + self->owner_photo_next_button = GTK_WIDGET (gtk_builder_get_object (builder, "owner-photo-next-button")); + self->revoked_area = GTK_WIDGET (gtk_builder_get_object (builder, "revoked-area")); + self->expired_area = GTK_WIDGET (gtk_builder_get_object (builder, "expired-area")); + self->expired_message = GTK_LABEL (gtk_builder_get_object (builder, "expired-message")); + self->photoid = GTK_IMAGE (gtk_builder_get_object (builder, "photoid")); + self->photo_event_box = GTK_EVENT_BOX (gtk_builder_get_object (builder, "photo-event-box")); + self->details_id_label = GTK_LABEL (gtk_builder_get_object (builder, "details-id-label")); + self->details_fingerprint_label = GTK_LABEL (gtk_builder_get_object (builder, "details-fingerprint-label")); + self->details_algo_label = GTK_LABEL (gtk_builder_get_object (builder, "details-algo-label")); + self->details_created_label = GTK_LABEL (gtk_builder_get_object (builder, "details-created-label")); + self->details_strength_label = GTK_LABEL (gtk_builder_get_object (builder, "details-strength-label")); + self->details_expires_label = GTK_LABEL (gtk_builder_get_object (builder, "details-expires-label")); + self->indicate_trust_box = GTK_BOX (gtk_builder_get_object (builder, "indicate_trust_box")); + self->details_trust_combobox = GTK_COMBO_BOX (gtk_builder_get_object (builder, "details-trust-combobox")); + self->details_subkey_tree = GTK_TREE_VIEW (gtk_builder_get_object (builder, "details-subkey-tree")); + + g_signal_connect_object (self->photo_event_box, "scroll-event", + G_CALLBACK (on_pgp_owner_photoid_button), + self, 0); + g_signal_connect_object (self->details_trust_combobox, "changed", + G_CALLBACK (on_pgp_details_trust_changed), + self, 0); +} + +static void +create_public_key_dialog (SeahorsePgpKeyProperties *self) +{ + g_autoptr(GtkBuilder) builder = NULL; + GtkWidget *content_area, *content; + const gchar *user; + g_autofree gchar *user_escaped = NULL; + + builder = gtk_builder_new_from_resource (PUBLIC_KEY_PROPERTIES_UI); + gtk_builder_connect_signals (builder, self); + + content_area = gtk_dialog_get_content_area (GTK_DIALOG (self)); + content = GTK_WIDGET (gtk_builder_get_object (builder, "window-content")); + gtk_container_add (GTK_CONTAINER (content_area), content); + + g_action_map_add_action_entries (G_ACTION_MAP (self->action_group), + PUBLIC_KEY_ACTIONS, + G_N_ELEMENTS (PUBLIC_KEY_ACTIONS), + self); + gtk_widget_insert_action_group (GTK_WIDGET (self), + "props", + G_ACTION_GROUP (self->action_group)); + + get_common_widgets (self, builder); + + self->signatures_tree = GTK_TREE_VIEW (gtk_builder_get_object (builder, "signatures-tree")); + self->signatures_area = GTK_WIDGET (gtk_builder_get_object (builder, "signatures-area")); + self->uids_area = GTK_WIDGET (gtk_builder_get_object (builder, "uids-area")); + self->trust_page = GTK_WIDGET (gtk_builder_get_object (builder, "trust-page")); + self->trust_sign_label = GTK_LABEL (gtk_builder_get_object (builder, "trust-sign-label")); + self->trust_revoke_label = GTK_LABEL (gtk_builder_get_object (builder, "trust-revoke-label")); + self->manual_trust_area = GTK_WIDGET (gtk_builder_get_object (builder, "manual-trust-area")); + self->sign_area = GTK_WIDGET (gtk_builder_get_object (builder, "sign-area")); + self->revoke_area = GTK_WIDGET (gtk_builder_get_object (builder, "revoke-area")); + self->trust_marginal_switch = GTK_SWITCH (gtk_builder_get_object (builder, "trust-marginal-switch")); + self->trust_marginal_label = GTK_LABEL (gtk_builder_get_object (builder, "trust-marginal-label")); + self->signatures_toggle = GTK_TOGGLE_BUTTON (gtk_builder_get_object (builder, "signatures-toggle")); + self->owner_userid_tree = GTK_TREE_VIEW (gtk_builder_get_object (builder, "owner-userid-tree")); + + setup_trust_combobox (self); + do_owner (self); + do_details (self); + do_trust (self); + + g_signal_connect_object (self->signatures_tree, "row-activated", + G_CALLBACK (on_pgp_signature_row_activated), + self, 0); + + /* Fill in trust labels with name. */ + user = seahorse_object_get_label (SEAHORSE_OBJECT (self->key)); + user_escaped = g_markup_escape_text (user, -1); + + { + g_autofree gchar *text = NULL; + text = g_strdup_printf(_("I trust signatures from “%s” on other keys"), + user); + gtk_label_set_label (self->trust_marginal_label, text); + } + + { + g_autofree gchar *text = NULL; + text = g_strdup_printf(_("If you believe that the person that owns this key is “%s”, sign this key:"), + user_escaped); + gtk_label_set_markup (self->trust_sign_label, text); + } + + { + g_autofree gchar *text = NULL; + text = g_strdup_printf(_("If you no longer trust that “%s” owns this key, revoke your signature:"), + user_escaped); + gtk_label_set_markup (self->trust_revoke_label, text); + } +} + +static void +create_private_key_dialog (SeahorsePgpKeyProperties *self) +{ + g_autoptr(GtkBuilder) builder = NULL; + GtkWidget *content_area, *content; + GtkTreeSelection *selection; + + builder = gtk_builder_new_from_resource (PRIVATE_KEY_PROPERTIES_UI); + + content_area = gtk_dialog_get_content_area (GTK_DIALOG (self)); + content = GTK_WIDGET (gtk_builder_get_object (builder, "window-content")); + gtk_container_add (GTK_CONTAINER (content_area), content); + + g_action_map_add_action_entries (G_ACTION_MAP (self->action_group), + PRIVATE_KEY_ACTIONS, + G_N_ELEMENTS (PRIVATE_KEY_ACTIONS), + self); + gtk_widget_insert_action_group (GTK_WIDGET (self), + "props", + G_ACTION_GROUP (self->action_group)); + + get_common_widgets (self, builder); + + self->names_tree = GTK_TREE_VIEW (gtk_builder_get_object (builder, "names-tree")); + self->owner_photo_frame = GTK_WIDGET (gtk_builder_get_object (builder, "owner-photo-frame")); + self->owner_photo_add_button = GTK_WIDGET (gtk_builder_get_object (builder, "owner-photo-add-button")); + self->owner_photo_delete_button = GTK_WIDGET (gtk_builder_get_object (builder, "owner-photo-delete-button")); + self->owner_photo_primary_button = GTK_WIDGET (gtk_builder_get_object (builder, "owner-photo-primary-button")); + + setup_trust_combobox (self); + do_owner (self); + do_names (self); + do_details (self); + + /* Allow DnD on the photo frame */ + g_signal_connect_object (self->owner_photo_frame, "drag-data-received", + G_CALLBACK (on_pgp_owner_photo_drag_received), + self, 0); + gtk_drag_dest_set (self->owner_photo_frame, + GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_HIGHLIGHT | GTK_DEST_DEFAULT_DROP, + target_list, G_N_ELEMENTS (target_list), + GDK_ACTION_COPY); + + /* Enable and disable buttons as subkeys are selected */ + g_signal_connect (gtk_tree_view_get_selection (self->details_subkey_tree), + "changed", G_CALLBACK (details_subkey_selected), self); + details_subkey_selected (NULL, self); + + /* Enable and disable buttons as UIDs are selected */ + selection = gtk_tree_view_get_selection (self->names_tree); + g_signal_connect (selection, "changed", G_CALLBACK (update_names), self); +} + +static void +seahorse_pgp_key_properties_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (object); + + switch (prop_id) { + case PROP_KEY: + g_value_set_object (value, self->key); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +seahorse_pgp_key_properties_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (object); + + switch (prop_id) { + case PROP_KEY: + g_clear_object (&self->key); + self->key = g_value_dup_object (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +seahorse_pgp_key_properties_finalize (GObject *obj) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (obj); + + g_clear_object (&self->key); + g_clear_object (&self->action_group); + + G_OBJECT_CLASS (seahorse_pgp_key_properties_parent_class)->finalize (obj); +} + +static void +seahorse_pgp_key_properties_constructed (GObject *obj) +{ + SeahorsePgpKeyProperties *self = SEAHORSE_PGP_KEY_PROPERTIES (obj); + SeahorseUsage usage; + + G_OBJECT_CLASS (seahorse_pgp_key_properties_parent_class)->constructed (obj); + + usage = seahorse_object_get_usage (SEAHORSE_OBJECT (self->key)); + if (usage == SEAHORSE_USAGE_PUBLIC_KEY) + create_public_key_dialog (self); + else + create_private_key_dialog (self); + + g_signal_connect_object (self->key, "notify", + G_CALLBACK (key_notify), self, 0); +} + +static void +seahorse_pgp_key_properties_init (SeahorsePgpKeyProperties *self) +{ + self->action_group = g_simple_action_group_new (); +} + +static void +seahorse_pgp_key_properties_class_init (SeahorsePgpKeyPropertiesClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->constructed = seahorse_pgp_key_properties_constructed; + gobject_class->get_property = seahorse_pgp_key_properties_get_property; + gobject_class->set_property = seahorse_pgp_key_properties_set_property; + gobject_class->finalize = seahorse_pgp_key_properties_finalize; + + g_object_class_install_property (gobject_class, PROP_KEY, + g_param_spec_object ("key", "PGP key", + "The PGP key of which we're showing the details", + SEAHORSE_PGP_TYPE_KEY, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); +} + +GtkWindow * +seahorse_pgp_key_properties_new (SeahorsePgpKey *pkey, GtkWindow *parent) +{ + g_autoptr(SeahorsePgpKeyProperties) dialog = NULL; + + /* This causes the key source to get any specific info about the key */ + if (SEAHORSE_GPGME_IS_KEY (pkey)) { + seahorse_gpgme_key_refresh (SEAHORSE_GPGME_KEY (pkey)); + seahorse_gpgme_key_ensure_signatures (SEAHORSE_GPGME_KEY (pkey)); + } + + dialog = g_object_new (SEAHORSE_PGP_TYPE_KEY_PROPERTIES, + "key", pkey, + "transient-for", parent, + NULL); + + return GTK_WINDOW (g_steal_pointer (&dialog)); +} diff --git a/pgp/seahorse-pgp-key.c b/pgp/seahorse-pgp-key.c new file mode 100644 index 00000000..3ffe12e1 --- /dev/null +++ b/pgp/seahorse-pgp-key.c @@ -0,0 +1,713 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ +#include "config.h" + +#include "seahorse-pgp-dialogs.h" +#include "seahorse-pgp-key.h" +#include "seahorse-pgp-uid.h" +#include "seahorse-pgp-subkey.h" + +#include "libseahorse/seahorse-object-list.h" +#include "libseahorse/seahorse-util.h" + +#include + +#include + +#include + +enum { + PROP_0, + PROP_PHOTOS, + PROP_SUBKEYS, + PROP_UIDS, + PROP_FINGERPRINT, + PROP_VALIDITY, + PROP_TRUST, + PROP_EXPIRES, + PROP_LENGTH, + PROP_ALGO, + PROP_DESCRIPTION +}; + +static void seahorse_pgp_key_viewable_iface (SeahorseViewableIface *iface); + +typedef struct _SeahorsePgpKeyPrivate { + gchar *keyid; + GList *uids; /* All the UID objects */ + GList *subkeys; /* All the Subkey objects */ + GList *photos; /* List of photos */ +} SeahorsePgpKeyPrivate; + +G_DEFINE_TYPE_WITH_CODE (SeahorsePgpKey, seahorse_pgp_key, SEAHORSE_TYPE_OBJECT, + G_ADD_PRIVATE (SeahorsePgpKey) + G_IMPLEMENT_INTERFACE (SEAHORSE_TYPE_VIEWABLE, seahorse_pgp_key_viewable_iface); +); + +/* + * PGP key ids can be of varying lengths. Shorter keyids are the last + * characters of the longer ones. When hashing match on the last 8 + * characters. + */ + +guint +seahorse_pgp_keyid_hash (gconstpointer v) +{ + const gchar *keyid = v; + gsize len = strlen (keyid); + if (len > 8) + keyid += len - 8; + return g_str_hash (keyid); +} + +gboolean +seahorse_pgp_keyid_equal (gconstpointer v1, + gconstpointer v2) +{ + const gchar *keyid_1 = v1; + const gchar *keyid_2 = v2; + gsize len_1 = strlen (keyid_1); + gsize len_2 = strlen (keyid_2); + + if (len_1 != len_2 && len_1 >= 8 && len_2 >= 8) { + keyid_1 += len_1 - 8; + keyid_2 += len_2 - 8; + } + return g_str_equal (keyid_1, keyid_2); +} + +static const gchar* +calc_short_name (SeahorsePgpKey *self) +{ + GList *uids = seahorse_pgp_key_get_uids (self); + return uids ? seahorse_pgp_uid_get_name (uids->data) : NULL; +} + +static gchar* +calc_name (SeahorsePgpKey *self) +{ + GList *uids = seahorse_pgp_key_get_uids (self); + return uids ? seahorse_pgp_uid_calc_label (seahorse_pgp_uid_get_name (uids->data), + seahorse_pgp_uid_get_email (uids->data), + seahorse_pgp_uid_get_comment (uids->data)) : g_strdup (""); +} + +static gchar * +calc_markup (SeahorsePgpKey *self) +{ + guint flags = seahorse_object_get_flags (SEAHORSE_OBJECT (self)); + GList *uids; + GString *result; + gchar *text; + const gchar *name; + const gchar *email; + const gchar *comment; + const gchar *primary = NULL; + guint i = 0; + + uids = seahorse_pgp_key_get_uids (self); + + result = g_string_new ("'); + + /* The first name is the key name */ + if (uids != NULL) { + name = seahorse_pgp_uid_get_name (uids->data); + text = g_markup_escape_text (name, -1); + g_string_append (result, text); + g_free (text); + primary = name; + } + + g_string_append (result, ""); + if (uids != NULL) { + email = seahorse_pgp_uid_get_email (uids->data); + if (email && !email[0]) + email = NULL; + comment = seahorse_pgp_uid_get_comment (uids->data); + if (comment && !comment[0]) + comment = NULL; + text = g_markup_printf_escaped ("\n%s%s%s%s%s", + email ? email : "", + email ? " " : "", + comment ? "'" : "", + comment ? comment : "", + comment ? "'" : ""); + g_string_append (result, text); + g_free (text); + uids = uids->next; + } + + for (i = 0; uids != NULL; i++, uids = g_list_next (uids)) { + g_string_append_c (result, '\n'); + + // If we already have more than 5 UIDs, ellipsze the list. + // Otherwise we get huge rows in the list of GPG keys + if (i == 4) { + int n_others = g_list_length (uids); + g_autofree char *others_str = NULL; + + g_string_append_printf (result, + ngettext ("(and %d other)", + "(and %d others)", + n_others), + n_others); + + break; + } + + name = seahorse_pgp_uid_get_name (uids->data); + if (name && !name[0]) + name = NULL; + if (g_strcmp0 (name, primary) == 0) + name = NULL; + email = seahorse_pgp_uid_get_email (uids->data); + if (email && !email[0]) + email = NULL; + comment = seahorse_pgp_uid_get_comment (uids->data); + if (comment && !comment[0]) + comment = NULL; + text = g_markup_printf_escaped ("%s%s%s%s%s%s%s", + name ? name : "", + name ? ": " : "", + email ? email : "", + email ? " " : "", + comment ? "'" : "", + comment ? comment : "", + comment ? "'" : ""); + g_string_append (result, text); + g_free (text); + uids = uids->next; + } + + g_string_append (result, ""); + + return g_string_free (result, FALSE); +} + +/* ----------------------------------------------------------------------------- + * OBJECT + */ + +static GList* +_seahorse_pgp_key_get_uids (SeahorsePgpKey *self) +{ + SeahorsePgpKeyPrivate *priv = seahorse_pgp_key_get_instance_private (self); + + g_return_val_if_fail (SEAHORSE_PGP_IS_KEY (self), NULL); + return priv->uids; +} + +static void +_seahorse_pgp_key_set_uids (SeahorsePgpKey *self, GList *uids) +{ + SeahorsePgpKeyPrivate *priv = seahorse_pgp_key_get_instance_private (self); + + g_return_if_fail (SEAHORSE_PGP_IS_KEY (self)); + + seahorse_object_list_free (priv->uids); + priv->uids = seahorse_object_list_copy (uids); + + g_object_notify (G_OBJECT (self), "uids"); +} + +static GList* +_seahorse_pgp_key_get_subkeys (SeahorsePgpKey *self) +{ + SeahorsePgpKeyPrivate *priv = seahorse_pgp_key_get_instance_private (self); + + g_return_val_if_fail (SEAHORSE_PGP_IS_KEY (self), NULL); + return priv->subkeys; +} + +static void +_seahorse_pgp_key_set_subkeys (SeahorsePgpKey *self, GList *subkeys) +{ + SeahorsePgpKeyPrivate *priv = seahorse_pgp_key_get_instance_private (self); + const gchar *keyid = NULL; + + g_return_if_fail (SEAHORSE_PGP_IS_KEY (self)); + g_return_if_fail (subkeys); + + keyid = seahorse_pgp_subkey_get_keyid (subkeys->data); + g_return_if_fail (keyid); + + /* The keyid can't change */ + if (priv->keyid) { + if (g_strcmp0 (priv->keyid, keyid) != 0) { + g_warning ("The keyid of a SeahorsePgpKey changed by " + "setting a different subkey on it: %s != %s", + priv->keyid, keyid); + return; + } + + } else { + priv->keyid = g_strdup (keyid); + } + + seahorse_object_list_free (priv->subkeys); + priv->subkeys = seahorse_object_list_copy (subkeys); + + g_object_notify (G_OBJECT (self), "subkeys"); +} + +static GList* +_seahorse_pgp_key_get_photos (SeahorsePgpKey *self) +{ + SeahorsePgpKeyPrivate *priv = seahorse_pgp_key_get_instance_private (self); + + g_return_val_if_fail (SEAHORSE_PGP_IS_KEY (self), NULL); + return priv->photos; +} + +static void +_seahorse_pgp_key_set_photos (SeahorsePgpKey *self, GList *photos) +{ + SeahorsePgpKeyPrivate *priv = seahorse_pgp_key_get_instance_private (self); + + g_return_if_fail (SEAHORSE_PGP_IS_KEY (self)); + + seahorse_object_list_free (priv->photos); + priv->photos = seahorse_object_list_copy (photos); + + g_object_notify (G_OBJECT (self), "photos"); +} + +void +seahorse_pgp_key_realize (SeahorsePgpKey *self) +{ + const gchar *nickname, *keyid; + const gchar *icon_name; + gchar *markup, *name; + const char *identifier; + SeahorseUsage usage; + GList *subkeys; + GIcon *icon; + + subkeys = seahorse_pgp_key_get_subkeys (self); + if (subkeys) { + keyid = seahorse_pgp_subkey_get_keyid (subkeys->data); + identifier = seahorse_pgp_key_calc_identifier (keyid); + } else { + identifier = ""; + } + + name = calc_name (self); + markup = calc_markup (self); + nickname = calc_short_name (self); + + g_object_get (self, "usage", &usage, NULL); + + /* The type */ + if (usage == SEAHORSE_USAGE_PRIVATE_KEY) { + icon_name = GCR_ICON_KEY_PAIR; + } else { + icon_name = GCR_ICON_KEY; + if (usage == SEAHORSE_USAGE_NONE) + g_object_set (self, "usage", SEAHORSE_USAGE_PUBLIC_KEY, NULL); + } + + icon = g_themed_icon_new (icon_name); + g_object_set (self, + "label", name, + "markup", markup, + "nickname", nickname, + "identifier", identifier, + "icon", icon, + NULL); + + g_object_unref (icon); + g_free (markup); + g_free (name); +} + +static GtkWindow * +seahorse_pgp_key_create_viewer (SeahorseViewable *viewable, + GtkWindow *parent) +{ + SeahorsePgpKey *self = SEAHORSE_PGP_KEY (viewable); + g_autoptr(GtkWindow) viewer = NULL; + + viewer = seahorse_pgp_key_properties_new (self, parent); + g_object_ref_sink (viewer); + return GTK_WINDOW (g_steal_pointer (&viewer)); +} + +static void +seahorse_pgp_key_viewable_iface (SeahorseViewableIface *iface) +{ + iface->create_viewer = seahorse_pgp_key_create_viewer; +} + +const char* +seahorse_pgp_key_calc_identifier (const char *keyid) +{ + guint len; + + g_return_val_if_fail (keyid, NULL); + + len = strlen (keyid); + if (len > 16) + keyid += len - 16; + + return keyid; +} + +GList* +seahorse_pgp_key_get_uids (SeahorsePgpKey *self) +{ + g_return_val_if_fail (SEAHORSE_PGP_IS_KEY (self), NULL); + if (!SEAHORSE_PGP_KEY_GET_CLASS (self)->get_uids) + return NULL; + return SEAHORSE_PGP_KEY_GET_CLASS (self)->get_uids (self); +} + +void +seahorse_pgp_key_set_uids (SeahorsePgpKey *self, GList *uids) +{ + g_return_if_fail (SEAHORSE_PGP_IS_KEY (self)); + g_return_if_fail (SEAHORSE_PGP_KEY_GET_CLASS (self)->set_uids); + SEAHORSE_PGP_KEY_GET_CLASS (self)->set_uids (self, uids); +} + +GList* +seahorse_pgp_key_get_subkeys (SeahorsePgpKey *self) +{ + g_return_val_if_fail (SEAHORSE_PGP_IS_KEY (self), NULL); + if (!SEAHORSE_PGP_KEY_GET_CLASS (self)->get_subkeys) + return NULL; + return SEAHORSE_PGP_KEY_GET_CLASS (self)->get_subkeys (self); +} + +void +seahorse_pgp_key_set_subkeys (SeahorsePgpKey *self, GList *subkeys) +{ + g_return_if_fail (SEAHORSE_PGP_IS_KEY (self)); + g_return_if_fail (SEAHORSE_PGP_KEY_GET_CLASS (self)->set_subkeys); + SEAHORSE_PGP_KEY_GET_CLASS (self)->set_subkeys (self, subkeys); +} + +GList* +seahorse_pgp_key_get_photos (SeahorsePgpKey *self) +{ + g_return_val_if_fail (SEAHORSE_PGP_IS_KEY (self), NULL); + if (!SEAHORSE_PGP_KEY_GET_CLASS (self)->get_photos) + return NULL; + return SEAHORSE_PGP_KEY_GET_CLASS (self)->get_photos (self); +} + +void +seahorse_pgp_key_set_photos (SeahorsePgpKey *self, GList *photos) +{ + g_return_if_fail (SEAHORSE_PGP_IS_KEY (self)); + g_return_if_fail (SEAHORSE_PGP_KEY_GET_CLASS (self)->set_photos); + SEAHORSE_PGP_KEY_GET_CLASS (self)->set_photos (self, photos); +} + +const gchar* +seahorse_pgp_key_get_fingerprint (SeahorsePgpKey *self) +{ + GList *subkeys; + + g_return_val_if_fail (SEAHORSE_PGP_IS_KEY (self), NULL); + + subkeys = seahorse_pgp_key_get_subkeys (self); + if (!subkeys) + return ""; + + return seahorse_pgp_subkey_get_fingerprint (subkeys->data); +} + +SeahorseValidity +seahorse_pgp_key_get_validity (SeahorsePgpKey *self) +{ + guint validity = SEAHORSE_VALIDITY_UNKNOWN; + g_object_get (self, "validity", &validity, NULL); + return validity; +} + +gulong +seahorse_pgp_key_get_expires (SeahorsePgpKey *self) +{ + GList *subkeys; + + g_return_val_if_fail (SEAHORSE_PGP_IS_KEY (self), 0); + + subkeys = seahorse_pgp_key_get_subkeys (self); + if (!subkeys) + return 0; + + return seahorse_pgp_subkey_get_expires (subkeys->data); +} + +SeahorseValidity +seahorse_pgp_key_get_trust (SeahorsePgpKey *self) +{ + guint trust = SEAHORSE_VALIDITY_UNKNOWN; + g_object_get (self, "trust", &trust, NULL); + return trust; +} + +guint +seahorse_pgp_key_get_length (SeahorsePgpKey *self) +{ + GList *subkeys; + + g_return_val_if_fail (SEAHORSE_PGP_IS_KEY (self), 0); + + subkeys = seahorse_pgp_key_get_subkeys (self); + if (!subkeys) + return 0; + + return seahorse_pgp_subkey_get_length (subkeys->data); +} + +const gchar* +seahorse_pgp_key_get_algo (SeahorsePgpKey *self) +{ + GList *subkeys; + + g_return_val_if_fail (SEAHORSE_PGP_IS_KEY (self), 0); + + subkeys = seahorse_pgp_key_get_subkeys (self); + if (!subkeys) + return 0; + + return seahorse_pgp_subkey_get_algorithm (subkeys->data); +} + +const gchar* +seahorse_pgp_key_get_keyid (SeahorsePgpKey *self) +{ + GList *subkeys; + + g_return_val_if_fail (SEAHORSE_PGP_IS_KEY (self), 0); + + subkeys = seahorse_pgp_key_get_subkeys (self); + if (!subkeys) + return 0; + + return seahorse_pgp_subkey_get_keyid (subkeys->data); +} + +gboolean +seahorse_pgp_key_has_keyid (SeahorsePgpKey *self, const gchar *match) +{ + GList *subkeys, *l; + SeahorsePgpSubkey *subkey; + const gchar *keyid; + guint n_match, n_keyid; + + g_return_val_if_fail (SEAHORSE_PGP_IS_KEY (self), FALSE); + g_return_val_if_fail (match, FALSE); + + subkeys = seahorse_pgp_key_get_subkeys (self); + if (!subkeys) + return FALSE; + + n_match = strlen (match); + + for (l = subkeys; l && (subkey = SEAHORSE_PGP_SUBKEY (l->data)); l = g_list_next (l)) { + keyid = seahorse_pgp_subkey_get_keyid (subkey); + g_return_val_if_fail (keyid, FALSE); + n_keyid = strlen (keyid); + if (n_match <= n_keyid) { + keyid += (n_keyid - n_match); + if (strncmp (keyid, match, n_match) == 0) + return TRUE; + } + } + + return FALSE; +} + +static void +seahorse_pgp_key_init (SeahorsePgpKey *self) +{ +} + +static void +seahorse_pgp_key_get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + SeahorsePgpKey *self = SEAHORSE_PGP_KEY (object); + SeahorseUsage usage; + + switch (prop_id) { + case PROP_PHOTOS: + g_value_set_boxed (value, seahorse_pgp_key_get_photos (self)); + break; + case PROP_SUBKEYS: + g_value_set_boxed (value, seahorse_pgp_key_get_subkeys (self)); + break; + case PROP_UIDS: + g_value_set_boxed (value, seahorse_pgp_key_get_uids (self)); + break; + case PROP_FINGERPRINT: + g_value_set_string (value, seahorse_pgp_key_get_fingerprint (self)); + break; + case PROP_DESCRIPTION: + g_object_get (self, "usage", &usage, NULL); + if (usage == SEAHORSE_USAGE_PRIVATE_KEY) + g_value_set_string (value, _("Personal PGP key")); + else + g_value_set_string (value, _("PGP key")); + break; + case PROP_EXPIRES: + g_value_set_ulong (value, seahorse_pgp_key_get_expires (self)); + break; + case PROP_LENGTH: + g_value_set_uint (value, seahorse_pgp_key_get_length (self)); + break; + case PROP_ALGO: + g_value_set_string (value, seahorse_pgp_key_get_algo (self)); + break; + case PROP_VALIDITY: + g_value_set_uint (value, SEAHORSE_VALIDITY_UNKNOWN); + break; + case PROP_TRUST: + g_value_set_uint (value, SEAHORSE_VALIDITY_UNKNOWN); + break; + } +} + +static void +seahorse_pgp_key_set_property (GObject *object, guint prop_id, const GValue *value, + GParamSpec *pspec) +{ + SeahorsePgpKey *self = SEAHORSE_PGP_KEY (object); + + switch (prop_id) { + case PROP_UIDS: + seahorse_pgp_key_set_uids (self, g_value_get_boxed (value)); + break; + case PROP_SUBKEYS: + seahorse_pgp_key_set_subkeys (self, g_value_get_boxed (value)); + break; + case PROP_PHOTOS: + seahorse_pgp_key_set_photos (self, g_value_get_boxed (value)); + break; + } +} + +static void +seahorse_pgp_key_object_dispose (GObject *obj) +{ + SeahorsePgpKey *self = SEAHORSE_PGP_KEY (obj); + SeahorsePgpKeyPrivate *priv = seahorse_pgp_key_get_instance_private (self); + + g_clear_pointer (&priv->uids, seahorse_object_list_free); + g_clear_pointer (&priv->photos, seahorse_object_list_free); + g_clear_pointer (&priv->subkeys, seahorse_object_list_free); + + G_OBJECT_CLASS (seahorse_pgp_key_parent_class)->dispose (obj); +} + +static void +seahorse_pgp_key_object_finalize (GObject *obj) +{ + SeahorsePgpKey *self = SEAHORSE_PGP_KEY (obj); + SeahorsePgpKeyPrivate *priv = seahorse_pgp_key_get_instance_private (self); + + g_free (priv->keyid); + g_assert (priv->uids == NULL); + g_assert (priv->photos == NULL); + g_assert (priv->subkeys == NULL); + + G_OBJECT_CLASS (seahorse_pgp_key_parent_class)->finalize (obj); +} + +static void +seahorse_pgp_key_class_init (SeahorsePgpKeyClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->dispose = seahorse_pgp_key_object_dispose; + gobject_class->finalize = seahorse_pgp_key_object_finalize; + gobject_class->set_property = seahorse_pgp_key_set_property; + gobject_class->get_property = seahorse_pgp_key_get_property; + + klass->get_uids = _seahorse_pgp_key_get_uids; + klass->set_uids = _seahorse_pgp_key_set_uids; + klass->get_subkeys = _seahorse_pgp_key_get_subkeys; + klass->set_subkeys = _seahorse_pgp_key_set_subkeys; + klass->get_photos = _seahorse_pgp_key_get_photos; + klass->set_photos = _seahorse_pgp_key_set_photos; + + g_object_class_install_property (gobject_class, PROP_PHOTOS, + g_param_spec_boxed ("photos", "Key Photos", "Photos for the key", + SEAHORSE_BOXED_OBJECT_LIST, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_SUBKEYS, + g_param_spec_boxed ("subkeys", "PGP subkeys", "PGP subkeys", + SEAHORSE_BOXED_OBJECT_LIST, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_UIDS, + g_param_spec_boxed ("uids", "PGP User Ids", "PGP User Ids", + SEAHORSE_BOXED_OBJECT_LIST, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_FINGERPRINT, + g_param_spec_string ("fingerprint", "Fingerprint", "Unique fingerprint for this key", + "", + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_DESCRIPTION, + g_param_spec_string ("description", "Description", "Description for key", + "", + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_VALIDITY, + g_param_spec_uint ("validity", "Validity", "Validity of this key", + 0, G_MAXUINT, 0, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_TRUST, + g_param_spec_uint ("trust", "Trust", "Trust in this key", + 0, G_MAXUINT, 0, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_EXPIRES, + g_param_spec_ulong ("expires", "Expires On", "Date this key expires on", + 0, G_MAXULONG, 0, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_LENGTH, + g_param_spec_uint ("length", "Length", "The length of this key.", + 0, G_MAXUINT, 0, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_ALGO, + g_param_spec_string ("algo", "Algorithm", "The algorithm of this key.", + "", + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); +} + +SeahorsePgpKey* +seahorse_pgp_key_new (void) +{ + return g_object_new (SEAHORSE_PGP_TYPE_KEY, NULL); +} diff --git a/pgp/seahorse-pgp-key.h b/pgp/seahorse-pgp-key.h new file mode 100644 index 00000000..df6c5de8 --- /dev/null +++ b/pgp/seahorse-pgp-key.h @@ -0,0 +1,105 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +#include "seahorse-common.h" + +enum { + SKEY_PGPSIG_TRUSTED = 0x0001, + SKEY_PGPSIG_PERSONAL = 0x0002 +}; + +#define SEAHORSE_PGP_TYPE_KEY (seahorse_pgp_key_get_type ()) +#define SEAHORSE_PGP_KEY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_PGP_TYPE_KEY, SeahorsePgpKey)) +#define SEAHORSE_PGP_KEY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_PGP_TYPE_KEY, SeahorsePgpKeyClass)) +#define SEAHORSE_PGP_IS_KEY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_PGP_TYPE_KEY)) +#define SEAHORSE_PGP_IS_KEY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_PGP_TYPE_KEY)) +#define SEAHORSE_PGP_KEY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_PGP_TYPE_KEY, SeahorsePgpKeyClass)) + + +typedef struct _SeahorsePgpKey SeahorsePgpKey; +typedef struct _SeahorsePgpKeyClass SeahorsePgpKeyClass; + +struct _SeahorsePgpKey { + SeahorseObject parent; +}; + +struct _SeahorsePgpKeyClass { + SeahorseObjectClass parent_class; + + /* virtual methods */ + GList* (*get_uids) (SeahorsePgpKey *self); + void (*set_uids) (SeahorsePgpKey *self, GList *uids); + + GList* (*get_subkeys) (SeahorsePgpKey *self); + void (*set_subkeys) (SeahorsePgpKey *self, GList *uids); + + GList* (*get_photos) (SeahorsePgpKey *self); + void (*set_photos) (SeahorsePgpKey *self, GList *uids); +}; + +G_DEFINE_AUTOPTR_CLEANUP_FUNC (SeahorsePgpKey, g_object_unref) + +GType seahorse_pgp_key_get_type (void); + +SeahorsePgpKey * seahorse_pgp_key_new (void); + +void seahorse_pgp_key_realize (SeahorsePgpKey *self); + +GList* seahorse_pgp_key_get_subkeys (SeahorsePgpKey *self); + +void seahorse_pgp_key_set_subkeys (SeahorsePgpKey *self, + GList *subkeys); + +GList* seahorse_pgp_key_get_uids (SeahorsePgpKey *self); + +void seahorse_pgp_key_set_uids (SeahorsePgpKey *self, + GList *subkeys); + +GList* seahorse_pgp_key_get_photos (SeahorsePgpKey *self); + +void seahorse_pgp_key_set_photos (SeahorsePgpKey *self, + GList *subkeys); + +const gchar* seahorse_pgp_key_get_fingerprint (SeahorsePgpKey *self); + +SeahorseValidity seahorse_pgp_key_get_validity (SeahorsePgpKey *self); + +gulong seahorse_pgp_key_get_expires (SeahorsePgpKey *self); + +SeahorseValidity seahorse_pgp_key_get_trust (SeahorsePgpKey *self); + +guint seahorse_pgp_key_get_length (SeahorsePgpKey *self); + +const gchar* seahorse_pgp_key_get_algo (SeahorsePgpKey *self); + +const gchar* seahorse_pgp_key_get_keyid (SeahorsePgpKey *self); + +gboolean seahorse_pgp_key_has_keyid (SeahorsePgpKey *self, + const gchar *keyid); + +const char* seahorse_pgp_key_calc_identifier (const char *keyid); + +guint seahorse_pgp_keyid_hash (gconstpointer v); + +gboolean seahorse_pgp_keyid_equal (gconstpointer v1, + gconstpointer v2); diff --git a/pgp/seahorse-pgp-keysets.c b/pgp/seahorse-pgp-keysets.c new file mode 100644 index 00000000..53a792d1 --- /dev/null +++ b/pgp/seahorse-pgp-keysets.c @@ -0,0 +1,87 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-pgp-keysets.h" + +#include "seahorse-gpgme-key.h" +#include "seahorse-pgp-backend.h" +#include "seahorse-pgp-key.h" + +#include "seahorse-common.h" + +/* ----------------------------------------------------------------------------- + * COMMON KEYSETS + */ + +static void +on_settings_default_key_changed (GSettings *settings, const gchar *key, gpointer user_data) +{ + /* Default key changed, refresh */ + gcr_filter_collection_refilter (GCR_FILTER_COLLECTION (user_data)); +} + +static gboolean +pgp_signers_match (GObject *obj, + gpointer data) +{ + SeahorsePgpKey *defkey; + SeahorseUsage usage; + SeahorseFlags flags; + + if (!SEAHORSE_GPGME_IS_KEY (obj)) + return FALSE; + + g_object_get (obj, "usage", &usage, "object-flags", &flags, NULL); + if (usage != SEAHORSE_USAGE_PRIVATE_KEY) + return FALSE; + if (!(flags & SEAHORSE_FLAG_CAN_SIGN)) + return FALSE; + if (flags & (SEAHORSE_FLAG_EXPIRED | SEAHORSE_FLAG_REVOKED | SEAHORSE_FLAG_DISABLED)) + return FALSE; + + defkey = seahorse_pgp_backend_get_default_key (NULL); + + /* Default key overrides all, and becomes the only signer available*/ + if (defkey != NULL && + g_strcmp0 (seahorse_pgp_key_get_keyid (defkey), + seahorse_pgp_key_get_keyid (SEAHORSE_PGP_KEY (obj))) != 0) + return FALSE; + + return TRUE; +} + +GcrCollection * +seahorse_keyset_pgp_signers_new (void) +{ + GcrCollection *collection; + SeahorseGpgmeKeyring *keyring; + + keyring = seahorse_pgp_backend_get_default_keyring (NULL); + collection = gcr_filter_collection_new_with_callback (GCR_COLLECTION (keyring), + pgp_signers_match, + NULL, NULL); + + g_signal_connect_object (seahorse_pgp_settings_instance (), "changed::default-key", + G_CALLBACK (on_settings_default_key_changed), collection, 0); + + return collection; +} diff --git a/pgp/seahorse-pgp-keysets.h b/pgp/seahorse-pgp-keysets.h new file mode 100644 index 00000000..10064f77 --- /dev/null +++ b/pgp/seahorse-pgp-keysets.h @@ -0,0 +1,32 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#ifndef SEAPGPKEYSETS_H_ +#define SEAPGPKEYSETS_H_ + +#include + +/* ----------------------------------------------------------------------------- + * SOME COMMON KEYSETS + */ + +GcrCollection * seahorse_keyset_pgp_signers_new (void); + +#endif /*SEAPGPKEYSETS_H_*/ diff --git a/pgp/seahorse-pgp-photo.c b/pgp/seahorse-pgp-photo.c new file mode 100644 index 00000000..4935473a --- /dev/null +++ b/pgp/seahorse-pgp-photo.c @@ -0,0 +1,127 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-pgp-photo.h" + +#include + +#include + +enum { + PROP_0, + PROP_PIXBUF +}; + +typedef struct _SeahorsePgpPhotoPrivate { + GdkPixbuf *pixbuf; +} SeahorsePgpPhotoPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (SeahorsePgpPhoto, seahorse_pgp_photo, G_TYPE_OBJECT); + +static void +seahorse_pgp_photo_init (SeahorsePgpPhoto *self) +{ +} + +static void +seahorse_pgp_photo_get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + SeahorsePgpPhoto *self = SEAHORSE_PGP_PHOTO (object); + + switch (prop_id) { + case PROP_PIXBUF: + g_value_set_object (value, seahorse_pgp_photo_get_pixbuf (self)); + break; + } +} + +static void +seahorse_pgp_photo_set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) +{ + SeahorsePgpPhoto *self = SEAHORSE_PGP_PHOTO (object); + + switch (prop_id) { + case PROP_PIXBUF: + seahorse_pgp_photo_set_pixbuf (self, g_value_get_object (value)); + break; + } +} + +static void +seahorse_pgp_photo_finalize (GObject *gobject) +{ + SeahorsePgpPhoto *self = SEAHORSE_PGP_PHOTO (gobject); + SeahorsePgpPhotoPrivate *priv = + seahorse_pgp_photo_get_instance_private (self); + + g_clear_object (&priv->pixbuf); + + G_OBJECT_CLASS (seahorse_pgp_photo_parent_class)->finalize (gobject); +} + +static void +seahorse_pgp_photo_class_init (SeahorsePgpPhotoClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->finalize = seahorse_pgp_photo_finalize; + gobject_class->set_property = seahorse_pgp_photo_set_property; + gobject_class->get_property = seahorse_pgp_photo_get_property; + + g_object_class_install_property (gobject_class, PROP_PIXBUF, + g_param_spec_object ("pixbuf", "Pixbuf", "Photo Pixbuf", + GDK_TYPE_PIXBUF, G_PARAM_READWRITE)); +} + +SeahorsePgpPhoto* +seahorse_pgp_photo_new (GdkPixbuf *pixbuf) +{ + return g_object_new (SEAHORSE_PGP_TYPE_PHOTO, "pixbuf", pixbuf, NULL); +} + +GdkPixbuf* +seahorse_pgp_photo_get_pixbuf (SeahorsePgpPhoto *self) +{ + SeahorsePgpPhotoPrivate *priv; + + g_return_val_if_fail (SEAHORSE_PGP_IS_PHOTO (self), NULL); + + priv = seahorse_pgp_photo_get_instance_private (self); + return priv->pixbuf; +} + +void +seahorse_pgp_photo_set_pixbuf (SeahorsePgpPhoto *self, GdkPixbuf* pixbuf) +{ + SeahorsePgpPhotoPrivate *priv; + + g_return_if_fail (SEAHORSE_PGP_IS_PHOTO (self)); + + priv = seahorse_pgp_photo_get_instance_private (self); + g_clear_object (&priv->pixbuf); + priv->pixbuf = pixbuf; + if (priv->pixbuf) + g_object_ref (priv->pixbuf); + + g_object_notify (G_OBJECT (self), "pixbuf"); +} diff --git a/pgp/seahorse-pgp-photo.h b/pgp/seahorse-pgp-photo.h new file mode 100644 index 00000000..4a9e8dc6 --- /dev/null +++ b/pgp/seahorse-pgp-photo.h @@ -0,0 +1,39 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include +#include + +#define SEAHORSE_PGP_TYPE_PHOTO (seahorse_pgp_photo_get_type ()) +G_DECLARE_DERIVABLE_TYPE (SeahorsePgpPhoto, seahorse_pgp_photo, + SEAHORSE_PGP, PHOTO, + GObject); + +struct _SeahorsePgpPhotoClass { + GObjectClass parent_class; +}; + +SeahorsePgpPhoto* seahorse_pgp_photo_new (GdkPixbuf *pixbuf); + +GdkPixbuf* seahorse_pgp_photo_get_pixbuf (SeahorsePgpPhoto *self); + +void seahorse_pgp_photo_set_pixbuf (SeahorsePgpPhoto *self, + GdkPixbuf *pixbuf); diff --git a/pgp/seahorse-pgp-private-key-properties.ui b/pgp/seahorse-pgp-private-key-properties.ui new file mode 100644 index 00000000..071a1e95 --- /dev/null +++ b/pgp/seahorse-pgp-private-key-properties.ui @@ -0,0 +1,1091 @@ + + + + + + + + + + + Unknown + + + Never + + + Marginal + + + Full + + + Ultimate + + + + +
+ + Export _secret key + props.export-secret + + + Export _public key + props.export-public + +
+
+ + True + True + True + + + True + vertical + 12 + + + 12 + horizontal + + + True + dialog-error + 6 + + + + + True + vertical + 6 + + + True + 0 + This key has been revoked + + + + + + + + True + 0 + The owner of the key revoked the key. It can no longer be used. + 12 + + + + + + + + + 12 + horizontal + + + True + dialog-error + 6 + + + + + True + vertical + 6 + + + True + 0 + This key has expired + + + + + + + + True + 0 + 12 + This key expired on: (placeholder) + + + + + 1 + + + + + + + True + horizontal + 12 + 18 + + + True + horizontal + + + True + vertical + 6 + 6 + 0 + + + True + + + 150 + 160 + True + avatar-default-symbolic + 6 + + + + + + + True + horizontal + 6 + + + True + True + False + props.photos.add + + + Add a photo to this key + + + + + True + gtk-add + + + + + + + True + True + False + props.photos.delete + + + Remove this photo from this key + + + + + True + gtk-delete + + + + + + + True + True + False + props.photos.make-primary + + + Make this photo the primary photo + + + + + True + gtk-go-up + + + + + + + True + + + + + True + True + False + False + props.photos.previous + + + Go to previous photo + + + + + True + go-previous + + + + + + + True + True + False + props.photos.next + + + Go to next photo + + + + + True + go-next + + + + + + + + + + + + + True + vertical + 12 + + + True + 3 + 12 + 6 + + + True + vertical + 3 + 12 + + + True + True + 0 + True + + + + + + + + True + True + 0 + True + True + + + + + 0 + 0 + 2 + + + + + True + 1 + Comment + + + + 1 + 0 + + + + + True + True + 0 + True + + + 1 + 1 + + + + + True + 1 + 0 + Key ID + + + + 2 + 0 + + + + + True + True + 0 + True + + + 2 + 1 + + + + + + + True + True + False + end + Change _Passphrase + True + props.change-password + + + + + + + + + + + True + 3 + 3 + Owner + + + + + True + vertical + 12 + 6 + + + True + 0 + Key Names and Signatures + + + + + + + + True + horizontal + 6 + 6 + + + True + vertical + + + True + True + False + 6 + props.uids.make-primary + + + True + horizontal + center + 2 + + + True + gtk-go-up + + + + + True + Primary + True + + + + + + + + + True + True + False + 6 + props.uids.sign + + + True + horizontal + center + 2 + + + True + gtk-index + + + + + True + Sign + True + + + + + + + + + True + True + False + 6 + props.uids.delete + + + True + horizontal + center + 2 + + + True + gtk-delete + + + + + True + Delete + True + + + + + + + + + True + True + False + 6 + props.uids.add + + + True + horizontal + center + 2 + + + True + gtk-add + + + + + True + _Add Name + True + + + + + + + + + False + True + False + 6 + props.uids.revoke + + + True + center + horizontal + 2 + + + True + gtk-cancel + + + + + True + Revoke + True + + + + + + + + + + + True + True + True + automatic + automatic + in + + + True + True + 6 + + + + + + + + + + + True + 3 + 3 + Names and Signatures + + + + + True + vertical + 12 + 12 + + + True + horizontal + 12 + True + + + True + vertical + 12 + + + True + 0 + none + + + True + 12 + 6 + 6 + 12 + + + True + 0 + 0 + Key ID: + + + 0 + 0 + + + + + True + True + 0 + 0 + True + + + 0 + 1 + + + + + True + 0 + 0 + Type: + + + 1 + 0 + + + + + True + True + 0 + 0 + True + + + 1 + 1 + + + + + True + 0 + 0 + Strength: + + + 2 + 0 + + + + + True + True + 0 + 0 + True + + + 2 + 1 + + + + + + + True + Technical Details + + + + + + + + + + True + 0 + none + + + True + True + 6 + 12 + 0 + 0 + True + True + + + + + True + Fingerprint + + + + + + + + + + + + True + vertical + 12 + + + True + 0 + none + + + True + 12 + 6 + 6 + 12 + + + True + 0 + 0 + Created: + + + 0 + 0 + + + + + True + True + 0 + True + + + 0 + 1 + + + + + True + 0 + 0.25 + Expires: + + + 1 + 0 + + + + + True + horizontal + 6 + + + True + True + 0 + 0.25 + True + + + + + True + True + False + props.change-expires + + + True + x-office-calendar + + + + + + + 1 + 1 + + + + + + + True + Dates + + + + + + + + + + True + 0 + none + + + True + 12 + 6 + 6 + 12 + + + True + Override Owner _Trust: + True + + + 0 + 0 + + + + + True + model1 + + + + 0 + + + + + 0 + 1 + + + + + True + _Export to file + start + True + export_menu + + + 1 + 0 + 2 + + + + + + + True + Actions + + + + + + + + + + + + + + True + horizontal + + + + + True + True + True + + + True + horizontal + + + True + vertical + 12 + + + True + True + False + 6 + props.subkeys.add + + + True + horizontal + center + 2 + + + True + gtk-add + + + + + True + Add + True + + + + + + + + + True + True + False + 6 + props.subkeys.change-expires + + + True + horizontal + center + 2 + + + True + x-office-calendar + + + + + True + Expire + True + + + + + + + + + True + True + False + 6 + props.subkeys.revoke + + + True + horizontal + center + 2 + + + True + gtk-close + + + + + True + Revoke + True + + + + + + + + + gtk-delete + True + True + False + 6 + True + props.subkeys.delete + + + + + + + True + True + automatic + automatic + in + + + True + True + + + + + True + + + + + + + True + _Subkeys + True + + + + + + + + 2 + + + + + + + True + 3 + 3 + Details + + + 2 + False + + + + diff --git a/pgp/seahorse-pgp-public-key-properties.ui b/pgp/seahorse-pgp-public-key-properties.ui new file mode 100644 index 00000000..7b21ef48 --- /dev/null +++ b/pgp/seahorse-pgp-public-key-properties.ui @@ -0,0 +1,920 @@ + + + + + + + + + + + Unknown + + + Never + + + Marginally + + + Fully + + + Ultimately + + + + + True + True + True + + + True + vertical + False + 12 + + + False + horizontal + 12 + + + True + False + dialog-error + 6 + + + + + True + vertical + False + 6 + + + True + False + 0 + This key has been revoked + + + + + + + + True + False + 0 + 12 + The owner of the key revoked the key. It can no longer be used. + + + + + + + + + False + horizontal + 12 + + + True + False + dialog-error + 6 + + + + + True + vertical + False + 6 + + + True + False + 0 + This key has expired + + + + + + + + True + False + 0 + 12 + This key expired on: (placeholder) + + + + + + + + + True + horizontal + 12 + 18 + + + True + vertical + 6 + + + True + False + + + 150 + 160 + True + False + avatar-default-symbolic + 6 + + + + + + + True + horizontal + center + 6 + + + True + True + False + False + props.photos.previous + + + True + go-previous + + + + + + + True + True + False + props.photos.next + + + True + horizontal + False + 2 + + + True + go-next + + + + + + + + + + + + + True + vertical + 6 + + + True + False + 3 + 12 + 6 + + + True + vertical + 3 + 12 + + + True + True + start + True + + + + + + + + True + True + start + True + + + + + 0 + 0 + 2 + + + + + True + False + 1 + Comment + + + + 1 + 0 + + + + + True + True + 0 + True + + + 1 + 1 + + + + + True + False + 1 + 0 + Key ID + + + + 2 + 0 + + + + + True + True + 0 + True + + + 2 + 1 + + + + + + + True + True + + + 130 + True + True + never + in + 3 + + + True + True + False + + + + + + + + + + True + False + _Other Names: + True + + + + + + + + + + + + + + + + True + False + 3 + 3 + Owner + + + + + True + vertical + False + 12 + 24 + + + True + vertical + False + 6 + + + True + False + 0 + 0 + Your trust of this key + + + + + + + + True + False + 0 + 4 + 4 + Your trust is manually specified on the <i>Details</i> tab. + True + + + + + True + horizontal + + + True + True + 0 + True + True + 70 + trust-marginal-switch + + + + + True + end + center + True + False + props.trust-marginal + + + + + + + True + horizontal + False + 12 + + + True + True + False + 0 + True + True + 70 + + + + + True + end + center + True + False + props.sign-key + + + True + horizontal + False + 2 + + + True + False + gtk-index + + + + + True + False + _Sign this Key + True + + + + + + + + + + + True + horizontal + False + 12 + + + True + False + 0 + True + True + 70 + + + + + True + False + True + False + + + True + horizontal + False + 2 + + + True + False + gtk-remove + + + + + True + False + _Revoke Signature + True + + + + + + + + + + + + + False + vertical + 6 + + + True + False + 0 + _People who have signed this key: + True + + + + + + + + True + in + + + True + True + True + + + + + + + + + + _Only display the signatures of people I trust + True + True + False + True + 0.5 + True + + + + + + + + + True + False + 3 + 3 + Trust + + + + + True + vertical + False + 12 + 12 + + + True + horizontal + False + 12 + True + + + True + vertical + False + 18 + + + True + vertical + False + 6 + + + True + False + 0 + Technical Details: + + + + + + + + True + False + 12 + 6 + 12 + + + True + False + 0 + 0 + Key ID: + + + 0 + 0 + + + + + True + True + 0 + 0 + True + + + 0 + 1 + + + + + True + False + 0 + 0 + Type: + + + 1 + 0 + + + + + True + True + 0 + 0 + True + + + 1 + 1 + + + + + True + False + 0 + 0 + Strength: + + + 2 + 0 + + + + + True + True + 0 + 0 + True + + + 2 + 1 + + + + + + + + + True + vertical + False + 6 + + + True + False + 0 + Fingerprint: + + + + + + + + True + True + 0 + 0 + PLAC EHOL DER0 9023 435F +B4C3 4349 0932 7854 3452 + True + True + 12 + + + + + + + + + True + vertical + False + 18 + + + True + vertical + False + 6 + + + True + False + 0 + Dates: + + + + + + + + True + False + 12 + 6 + 12 + + + True + False + 0 + 0 + Created: + + + 0 + 0 + + + + + True + True + 0 + True + + + 0 + 1 + + + + + True + False + 0 + 0 + Expires: + + + 1 + 0 + + + + + True + True + 0 + True + + + 1 + 1 + + + + + + + + + True + vertical + False + 6 + + + True + False + 0 + Indicate trust: + + + + + + + + True + horizontal + False + 12 + 12 + + + True + False + You _trust the owner: + True + details-trust-combobox + + + + + True + False + model1 + + + + 0 + + + + + + + + + + + + + + + True + True + + + True + True + in + True + 6 + 12 + + + 100 + True + True + + + + + + + + + + True + False + _Subkeys + True + + + + + + + + + + + + True + False + 3 + 3 + Details + + + + diff --git a/pgp/seahorse-pgp-signature.c b/pgp/seahorse-pgp-signature.c new file mode 100644 index 00000000..e39f4dd8 --- /dev/null +++ b/pgp/seahorse-pgp-signature.c @@ -0,0 +1,207 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-gpgme-key.h" +#include "seahorse-gpgme-keyring.h" +#include "seahorse-pgp-backend.h" +#include "seahorse-pgp-key.h" +#include "seahorse-pgp-signature.h" + +#include + +#include + +enum { + PROP_0, + PROP_KEYID, + PROP_FLAGS, + PROP_SIGTYPE +}; + +typedef struct _SeahorsePgpSignaturePrivate { + guint flags; + gchar *keyid; +} SeahorsePgpSignaturePrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (SeahorsePgpSignature, seahorse_pgp_signature, G_TYPE_OBJECT); + +guint +seahorse_pgp_signature_get_flags (SeahorsePgpSignature *self) +{ + SeahorsePgpSignaturePrivate *priv + = seahorse_pgp_signature_get_instance_private (self); + + g_return_val_if_fail (SEAHORSE_PGP_IS_SIGNATURE (self), 0); + return priv->flags; +} + +void +seahorse_pgp_signature_set_flags (SeahorsePgpSignature *self, guint flags) +{ + SeahorsePgpSignaturePrivate *priv + = seahorse_pgp_signature_get_instance_private (self); + GObject *obj; + + g_return_if_fail (SEAHORSE_PGP_IS_SIGNATURE (self)); + priv->flags = flags; + + obj = G_OBJECT (self); + g_object_freeze_notify (obj); + g_object_notify (obj, "flags"); + g_object_notify (obj, "sigtype"); + g_object_thaw_notify (obj); +} + +const gchar* +seahorse_pgp_signature_get_keyid (SeahorsePgpSignature *self) +{ + SeahorsePgpSignaturePrivate *priv + = seahorse_pgp_signature_get_instance_private (self); + + g_return_val_if_fail (SEAHORSE_PGP_IS_SIGNATURE (self), NULL); + return priv->keyid; +} + +void +seahorse_pgp_signature_set_keyid (SeahorsePgpSignature *self, const gchar *keyid) +{ + SeahorsePgpSignaturePrivate *priv + = seahorse_pgp_signature_get_instance_private (self); + GObject *obj; + + g_return_if_fail (SEAHORSE_PGP_IS_SIGNATURE (self)); + g_free (priv->keyid); + priv->keyid = g_strdup (keyid); + + obj = G_OBJECT (self); + g_object_freeze_notify (obj); + g_object_notify (obj, "keyid"); + g_object_notify (obj, "sigtype"); + g_object_thaw_notify (obj); +} + +guint +seahorse_pgp_signature_get_sigtype (SeahorsePgpSignature *self) +{ + SeahorsePgpSignaturePrivate *priv + = seahorse_pgp_signature_get_instance_private (self); + SeahorseGpgmeKeyring *keyring; + SeahorseGpgmeKey *key; + SeahorseObject *obj; + + g_return_val_if_fail (SEAHORSE_PGP_IS_SIGNATURE (self), 0); + + keyring = seahorse_pgp_backend_get_default_keyring (NULL); + key = seahorse_gpgme_keyring_lookup (keyring, priv->keyid); + + if (key != NULL) { + obj = SEAHORSE_OBJECT (key); + if (seahorse_object_get_usage (obj) == SEAHORSE_USAGE_PRIVATE_KEY) + return SKEY_PGPSIG_TRUSTED | SKEY_PGPSIG_PERSONAL; + if (seahorse_object_get_flags (obj) & SEAHORSE_FLAG_TRUSTED) + return SKEY_PGPSIG_TRUSTED; + } + + return 0; +} + +static void +seahorse_pgp_signature_get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + SeahorsePgpSignature *self = SEAHORSE_PGP_SIGNATURE (object); + + switch (prop_id) { + case PROP_KEYID: + g_value_set_string (value, seahorse_pgp_signature_get_keyid (self)); + break; + case PROP_FLAGS: + g_value_set_uint (value, seahorse_pgp_signature_get_flags (self)); + break; + case PROP_SIGTYPE: + g_value_set_uint (value, seahorse_pgp_signature_get_sigtype (self)); + break; + } +} + +static void +seahorse_pgp_signature_set_property (GObject *object, guint prop_id, const GValue *value, + GParamSpec *pspec) +{ + SeahorsePgpSignature *self = SEAHORSE_PGP_SIGNATURE (object); + + switch (prop_id) { + case PROP_KEYID: + seahorse_pgp_signature_set_keyid (self, g_value_get_string (value)); + break; + case PROP_FLAGS: + seahorse_pgp_signature_set_flags (self, g_value_get_uint (value)); + break; + } +} + +static void +seahorse_pgp_signature_finalize (GObject *gobject) +{ + SeahorsePgpSignature *self = SEAHORSE_PGP_SIGNATURE (gobject); + SeahorsePgpSignaturePrivate *priv + = seahorse_pgp_signature_get_instance_private (self); + + g_clear_pointer (&priv->keyid, g_free); + + G_OBJECT_CLASS (seahorse_pgp_signature_parent_class)->finalize (gobject); +} + +static void +seahorse_pgp_signature_init (SeahorsePgpSignature *self) +{ +} + +static void +seahorse_pgp_signature_class_init (SeahorsePgpSignatureClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->finalize = seahorse_pgp_signature_finalize; + gobject_class->set_property = seahorse_pgp_signature_set_property; + gobject_class->get_property = seahorse_pgp_signature_get_property; + + g_object_class_install_property (gobject_class, PROP_KEYID, + g_param_spec_string ("keyid", "Key ID", "GPG Key ID", + "", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_FLAGS, + g_param_spec_uint ("flags", "Flags", "PGP signature flags", + 0, G_MAXUINT, 0, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_SIGTYPE, + g_param_spec_uint ("sigtype", "Sig Type", "PGP signature type", + 0, G_MAXUINT, 0, + G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); +} + +SeahorsePgpSignature* +seahorse_pgp_signature_new (const gchar *keyid) +{ + return g_object_new (SEAHORSE_PGP_TYPE_SIGNATURE, "keyid", keyid, NULL); +} diff --git a/pgp/seahorse-pgp-signature.h b/pgp/seahorse-pgp-signature.h new file mode 100644 index 00000000..365f1e4b --- /dev/null +++ b/pgp/seahorse-pgp-signature.h @@ -0,0 +1,48 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +#include "seahorse-common.h" + +#define SEAHORSE_PGP_TYPE_SIGNATURE (seahorse_pgp_signature_get_type ()) +G_DECLARE_DERIVABLE_TYPE (SeahorsePgpSignature, seahorse_pgp_signature, + SEAHORSE_PGP, SIGNATURE, + GObject) + + +struct _SeahorsePgpSignatureClass { + GObjectClass parent_class; +}; + +SeahorsePgpSignature* seahorse_pgp_signature_new (const gchar *keyid); + +const gchar* seahorse_pgp_signature_get_keyid (SeahorsePgpSignature *self); + +void seahorse_pgp_signature_set_keyid (SeahorsePgpSignature *self, + const gchar *keyid); + +guint seahorse_pgp_signature_get_flags (SeahorsePgpSignature *self); + +void seahorse_pgp_signature_set_flags (SeahorsePgpSignature *self, + guint flags); + +guint seahorse_pgp_signature_get_sigtype (SeahorsePgpSignature *self); diff --git a/pgp/seahorse-pgp-subkey.c b/pgp/seahorse-pgp-subkey.c new file mode 100644 index 00000000..4a3fa705 --- /dev/null +++ b/pgp/seahorse-pgp-subkey.c @@ -0,0 +1,513 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-gpgme.h" +#include "seahorse-pgp-subkey.h" +#include "seahorse-pgp-uid.h" + +#include + +#include + +enum { + PROP_0, + PROP_INDEX, + PROP_KEYID, + PROP_FLAGS, + PROP_LENGTH, + PROP_ALGORITHM, + PROP_CREATED, + PROP_EXPIRES, + PROP_DESCRIPTION, + PROP_FINGERPRINT, + N_PROPS +}; +static GParamSpec *obj_props[N_PROPS] = { NULL, }; + +typedef struct _SeahorsePgpSubkeyPrivate { + guint index; + gchar *keyid; + guint flags; + guint length; + gchar *algorithm; + gulong created; + gulong expires; + gchar *description; + gchar *fingerprint; +} SeahorsePgpSubkeyPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (SeahorsePgpSubkey, seahorse_pgp_subkey, G_TYPE_OBJECT); + +guint +seahorse_pgp_subkey_get_index (SeahorsePgpSubkey *self) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_val_if_fail (SEAHORSE_PGP_IS_SUBKEY (self), 0); + + priv = seahorse_pgp_subkey_get_instance_private (self); + return priv->index; +} + +void +seahorse_pgp_subkey_set_index (SeahorsePgpSubkey *self, guint index) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_if_fail (SEAHORSE_PGP_IS_SUBKEY (self)); + + priv = seahorse_pgp_subkey_get_instance_private (self); + priv->index = index; + g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_INDEX]); +} + +const gchar* +seahorse_pgp_subkey_get_keyid (SeahorsePgpSubkey *self) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_val_if_fail (SEAHORSE_PGP_IS_SUBKEY (self), NULL); + + priv = seahorse_pgp_subkey_get_instance_private (self); + return priv->keyid; +} + +void +seahorse_pgp_subkey_set_keyid (SeahorsePgpSubkey *self, const gchar *keyid) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_if_fail (SEAHORSE_PGP_IS_SUBKEY (self)); + + priv = seahorse_pgp_subkey_get_instance_private (self); + g_free (priv->keyid); + priv->keyid = g_strdup (keyid); + g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_KEYID]); +} + +guint +seahorse_pgp_subkey_get_flags (SeahorsePgpSubkey *self) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_val_if_fail (SEAHORSE_PGP_IS_SUBKEY (self), 0); + + priv = seahorse_pgp_subkey_get_instance_private (self); + return priv->flags; +} + +void +seahorse_pgp_subkey_set_flags (SeahorsePgpSubkey *self, guint flags) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_if_fail (SEAHORSE_PGP_IS_SUBKEY (self)); + + priv = seahorse_pgp_subkey_get_instance_private (self); + priv->flags = flags; + g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_FLAGS]); +} + +guint +seahorse_pgp_subkey_get_length (SeahorsePgpSubkey *self) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_val_if_fail (SEAHORSE_PGP_IS_SUBKEY (self), 0); + + priv = seahorse_pgp_subkey_get_instance_private (self); + return priv->length; +} + +void +seahorse_pgp_subkey_set_length (SeahorsePgpSubkey *self, guint length) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_if_fail (SEAHORSE_PGP_IS_SUBKEY (self)); + + priv = seahorse_pgp_subkey_get_instance_private (self); + priv->length = length; + g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_LENGTH]); +} + +gchar * +seahorse_pgp_subkey_get_usage (SeahorsePgpSubkey *self) +{ + typedef struct { + unsigned int flag; + const char *name; + } FlagNames; + + const FlagNames flag_names[] = { + { SEAHORSE_FLAG_CAN_ENCRYPT, N_("Encrypt") }, + { SEAHORSE_FLAG_CAN_SIGN, N_("Sign") }, + { SEAHORSE_FLAG_CAN_CERTIFY, N_("Certify") }, + { SEAHORSE_FLAG_CAN_AUTHENTICATE, N_("Authenticate") } + }; + + SeahorsePgpSubkeyPrivate *priv; + GString *str; + gboolean previous; + uint i; + + g_return_val_if_fail (SEAHORSE_PGP_IS_SUBKEY (self), NULL); + + priv = seahorse_pgp_subkey_get_instance_private (self); + str = g_string_new (NULL); + previous = FALSE; + + for (i = 0; i < G_N_ELEMENTS (flag_names); i++) { + if (priv->flags & flag_names[i].flag) { + if (previous) + g_string_append (str, ", "); + + previous = TRUE; + g_string_append (str, _(flag_names[i].name)); + } + } + + return g_string_free (str, FALSE); +} + +const gchar* +seahorse_pgp_subkey_get_algorithm (SeahorsePgpSubkey *self) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_val_if_fail (SEAHORSE_PGP_IS_SUBKEY (self), NULL); + + priv = seahorse_pgp_subkey_get_instance_private (self); + return priv->algorithm; +} + +void +seahorse_pgp_subkey_set_algorithm (SeahorsePgpSubkey *self, const gchar *algorithm) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_if_fail (SEAHORSE_PGP_IS_SUBKEY (self)); + + priv = seahorse_pgp_subkey_get_instance_private (self); + g_free (priv->algorithm); + priv->algorithm = g_strdup (algorithm); + g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_ALGORITHM]); +} + +gulong +seahorse_pgp_subkey_get_created (SeahorsePgpSubkey *self) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_val_if_fail (SEAHORSE_PGP_IS_SUBKEY (self), 0); + + priv = seahorse_pgp_subkey_get_instance_private (self); + return priv->created; +} + +void +seahorse_pgp_subkey_set_created (SeahorsePgpSubkey *self, gulong created) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_if_fail (SEAHORSE_PGP_IS_SUBKEY (self)); + + priv = seahorse_pgp_subkey_get_instance_private (self); + priv->created = created; + g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_CREATED]); +} + +gulong +seahorse_pgp_subkey_get_expires (SeahorsePgpSubkey *self) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_val_if_fail (SEAHORSE_PGP_IS_SUBKEY (self), 0); + + priv = seahorse_pgp_subkey_get_instance_private (self); + return priv->expires; +} + +void +seahorse_pgp_subkey_set_expires (SeahorsePgpSubkey *self, gulong expires) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_if_fail (SEAHORSE_PGP_IS_SUBKEY (self)); + + priv = seahorse_pgp_subkey_get_instance_private (self); + priv->expires = expires; + g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_EXPIRES]); +} + +const gchar* +seahorse_pgp_subkey_get_fingerprint (SeahorsePgpSubkey *self) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_val_if_fail (SEAHORSE_PGP_IS_SUBKEY (self), NULL); + + priv = seahorse_pgp_subkey_get_instance_private (self); + return priv->fingerprint; +} + +void +seahorse_pgp_subkey_set_fingerprint (SeahorsePgpSubkey *self, const gchar *fingerprint) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_if_fail (SEAHORSE_PGP_IS_SUBKEY (self)); + + priv = seahorse_pgp_subkey_get_instance_private (self); + g_free (priv->fingerprint); + priv->fingerprint = g_strdup (fingerprint); + g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_FINGERPRINT]); +} + +const gchar* +seahorse_pgp_subkey_get_description (SeahorsePgpSubkey *self) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_val_if_fail (SEAHORSE_PGP_IS_SUBKEY (self), NULL); + + priv = seahorse_pgp_subkey_get_instance_private (self); + return priv->description; +} + +void +seahorse_pgp_subkey_set_description (SeahorsePgpSubkey *self, const gchar *description) +{ + SeahorsePgpSubkeyPrivate *priv; + + g_return_if_fail (SEAHORSE_PGP_IS_SUBKEY (self)); + + priv = seahorse_pgp_subkey_get_instance_private (self); + g_free (priv->description); + priv->description = g_strdup (description); + g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_DESCRIPTION]); +} + +gchar* +seahorse_pgp_subkey_calc_description (const gchar *name, guint index) +{ + if (name == NULL) + name = _("Key"); + + if (index == 0) + return g_strdup (name); + + return g_strdup_printf (_("Subkey %d of %s"), index, name); +} + +/* Takes runs of hexadecimal digits, possibly with whitespace among them, and + * formats them nicely in groups of four digits. + */ +gchar* +seahorse_pgp_subkey_calc_fingerprint (const gchar *raw_fingerprint) +{ + const gchar *raw; + GString *string; + guint i, len; + guint num_digits; + gchar *fpr; + + raw = raw_fingerprint; + g_return_val_if_fail (raw != NULL, NULL); + + string = g_string_new (""); + len = strlen (raw); + + num_digits = 0; + for (i = 0; i < len; i++) { + if (g_ascii_isxdigit (raw[i])) { + g_string_append_c (string, g_ascii_toupper (raw[i])); + num_digits++; + + if (num_digits > 0 && num_digits % 4 == 0) + g_string_append (string, " "); + } + } + + fpr = string->str; + g_string_free (string, FALSE); + + g_strchomp (fpr); + + return fpr; +} + +static void +seahorse_pgp_subkey_get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + SeahorsePgpSubkey *self = SEAHORSE_PGP_SUBKEY (object); + + switch (prop_id) { + case PROP_INDEX: + g_value_set_uint (value, seahorse_pgp_subkey_get_index (self)); + break; + case PROP_KEYID: + g_value_set_string (value, seahorse_pgp_subkey_get_keyid (self)); + break; + case PROP_FLAGS: + g_value_set_uint (value, seahorse_pgp_subkey_get_flags (self)); + break; + case PROP_LENGTH: + g_value_set_uint (value, seahorse_pgp_subkey_get_length (self)); + break; + case PROP_ALGORITHM: + g_value_set_string (value, seahorse_pgp_subkey_get_algorithm (self)); + break; + case PROP_CREATED: + g_value_set_ulong (value, seahorse_pgp_subkey_get_created (self)); + break; + case PROP_EXPIRES: + g_value_set_ulong (value, seahorse_pgp_subkey_get_expires (self)); + break; + case PROP_DESCRIPTION: + g_value_set_string (value, seahorse_pgp_subkey_get_description (self)); + break; + case PROP_FINGERPRINT: + g_value_set_string (value, seahorse_pgp_subkey_get_fingerprint (self)); + break; + } +} + +static void +seahorse_pgp_subkey_set_property (GObject *object, guint prop_id, const GValue *value, + GParamSpec *pspec) +{ + SeahorsePgpSubkey *self = SEAHORSE_PGP_SUBKEY (object); + + switch (prop_id) { + case PROP_INDEX: + seahorse_pgp_subkey_set_index (self, g_value_get_uint (value)); + break; + case PROP_KEYID: + seahorse_pgp_subkey_set_keyid (self, g_value_get_string (value)); + break; + case PROP_FLAGS: + seahorse_pgp_subkey_set_flags (self, g_value_get_uint (value)); + break; + case PROP_LENGTH: + seahorse_pgp_subkey_set_length (self, g_value_get_uint (value)); + break; + case PROP_ALGORITHM: + seahorse_pgp_subkey_set_algorithm (self, g_value_get_string (value)); + break; + case PROP_CREATED: + seahorse_pgp_subkey_set_created (self, g_value_get_ulong (value)); + break; + case PROP_EXPIRES: + seahorse_pgp_subkey_set_expires (self, g_value_get_ulong (value)); + break; + case PROP_FINGERPRINT: + seahorse_pgp_subkey_set_fingerprint (self, g_value_get_string (value)); + break; + case PROP_DESCRIPTION: + seahorse_pgp_subkey_set_description (self, g_value_get_string (value)); + break; + } +} + +static void +seahorse_pgp_subkey_finalize (GObject *gobject) +{ + SeahorsePgpSubkey *self = SEAHORSE_PGP_SUBKEY (gobject); + SeahorsePgpSubkeyPrivate *priv + = seahorse_pgp_subkey_get_instance_private (self); + + g_clear_pointer (&priv->algorithm, g_free); + g_clear_pointer (&priv->fingerprint, g_free); + g_clear_pointer (&priv->description, g_free); + g_clear_pointer (&priv->keyid, g_free); + + G_OBJECT_CLASS (seahorse_pgp_subkey_parent_class)->finalize (gobject); +} + +static void +seahorse_pgp_subkey_init (SeahorsePgpSubkey *self) +{ +} + +static void +seahorse_pgp_subkey_class_init (SeahorsePgpSubkeyClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->finalize = seahorse_pgp_subkey_finalize; + gobject_class->set_property = seahorse_pgp_subkey_set_property; + gobject_class->get_property = seahorse_pgp_subkey_get_property; + + obj_props[PROP_INDEX] = + g_param_spec_uint ("index", "Index", "PGP subkey index", + 0, G_MAXUINT, 0, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + obj_props[PROP_KEYID] = + g_param_spec_string ("keyid", "Key ID", "GPG Key ID", + "", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + obj_props[PROP_FLAGS] = + g_param_spec_uint ("flags", "Flags", "PGP subkey flags", + 0, G_MAXUINT, 0, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + obj_props[PROP_LENGTH] = + g_param_spec_uint ("length", "Length", "PGP key length", + 0, G_MAXUINT, 0, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + obj_props[PROP_ALGORITHM] = + g_param_spec_string ("algorithm", "Algorithm", "GPG Algorithm", + "", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + obj_props[PROP_CREATED] = + g_param_spec_ulong ("created", "Created On", "Date this key was created on", + 0, G_MAXULONG, 0, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + obj_props[PROP_EXPIRES] = + g_param_spec_ulong ("expires", "Expires On", "Date this key expires on", + 0, G_MAXULONG, 0, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + obj_props[PROP_DESCRIPTION] = + g_param_spec_string ("description", "Description", "Key Description", + "", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + obj_props[PROP_FINGERPRINT] = + g_param_spec_string ("fingerprint", "Fingerprint", "PGP Key Fingerprint", + "", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + g_object_class_install_properties (gobject_class, N_PROPS, obj_props); +} + +SeahorsePgpSubkey* +seahorse_pgp_subkey_new (void) +{ + return g_object_new (SEAHORSE_PGP_TYPE_SUBKEY, NULL); +} diff --git a/pgp/seahorse-pgp-subkey.h b/pgp/seahorse-pgp-subkey.h new file mode 100644 index 00000000..09270f06 --- /dev/null +++ b/pgp/seahorse-pgp-subkey.h @@ -0,0 +1,87 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +#include "seahorse-common.h" + +#define SEAHORSE_PGP_TYPE_SUBKEY (seahorse_pgp_subkey_get_type ()) +G_DECLARE_DERIVABLE_TYPE (SeahorsePgpSubkey, seahorse_pgp_subkey, + SEAHORSE_PGP, SUBKEY, + GObject) + +struct _SeahorsePgpSubkeyClass { + GObjectClass parent_class; +}; + +SeahorsePgpSubkey* seahorse_pgp_subkey_new (void); + +guint seahorse_pgp_subkey_get_index (SeahorsePgpSubkey *self); + +void seahorse_pgp_subkey_set_index (SeahorsePgpSubkey *self, + guint index); + +const gchar* seahorse_pgp_subkey_get_keyid (SeahorsePgpSubkey *self); + +void seahorse_pgp_subkey_set_keyid (SeahorsePgpSubkey *self, + const gchar *keyid); + +guint seahorse_pgp_subkey_get_flags (SeahorsePgpSubkey *self); + +void seahorse_pgp_subkey_set_flags (SeahorsePgpSubkey *self, + guint flags); + +const gchar* seahorse_pgp_subkey_get_algorithm (SeahorsePgpSubkey *self); + +void seahorse_pgp_subkey_set_algorithm (SeahorsePgpSubkey *self, + const gchar *algorithm); + +guint seahorse_pgp_subkey_get_length (SeahorsePgpSubkey *self); + +void seahorse_pgp_subkey_set_length (SeahorsePgpSubkey *self, + guint index); + +gchar * seahorse_pgp_subkey_get_usage (SeahorsePgpSubkey *self); + +gulong seahorse_pgp_subkey_get_created (SeahorsePgpSubkey *self); + +void seahorse_pgp_subkey_set_created (SeahorsePgpSubkey *self, + gulong created); + +gulong seahorse_pgp_subkey_get_expires (SeahorsePgpSubkey *self); + +void seahorse_pgp_subkey_set_expires (SeahorsePgpSubkey *self, + gulong expires); + +const gchar* seahorse_pgp_subkey_get_description (SeahorsePgpSubkey *self); + +void seahorse_pgp_subkey_set_description (SeahorsePgpSubkey *self, + const gchar *description); + +gchar* seahorse_pgp_subkey_calc_description (const gchar *name, + guint index); + +const gchar* seahorse_pgp_subkey_get_fingerprint (SeahorsePgpSubkey *self); + +void seahorse_pgp_subkey_set_fingerprint (SeahorsePgpSubkey *self, + const gchar *description); + +gchar* seahorse_pgp_subkey_calc_fingerprint (const gchar *raw_fingerprint); diff --git a/pgp/seahorse-pgp-uid.c b/pgp/seahorse-pgp-uid.c new file mode 100644 index 00000000..ed5309c7 --- /dev/null +++ b/pgp/seahorse-pgp-uid.c @@ -0,0 +1,572 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-pgp-key.h" +#include "seahorse-pgp-uid.h" +#include "seahorse-pgp-signature.h" + +#include "libseahorse/seahorse-object-list.h" + +#include + +#include + +enum { + PROP_0, + PROP_PARENT, + PROP_SIGNATURES, + PROP_VALIDITY, + PROP_NAME, + PROP_EMAIL, + PROP_COMMENT +}; + +struct _SeahorsePgpUidPrivate { + SeahorsePgpKey *parent; + GList *signatures; + SeahorseValidity validity; + gboolean realized; + gchar *name; + gchar *email; + gchar *comment; +}; + +G_DEFINE_TYPE_WITH_PRIVATE (SeahorsePgpUid, seahorse_pgp_uid, SEAHORSE_TYPE_OBJECT); + +/* ----------------------------------------------------------------------------- + * INTERNAL HELPERS + */ + +static gchar* +convert_string (const gchar *str) +{ + if (!str) + return NULL; + + /* If not utf8 valid, assume latin 1 */ + if (!g_utf8_validate (str, -1, NULL)) + return g_convert (str, -1, "UTF-8", "ISO-8859-1", NULL, NULL, NULL); + + return g_strdup (str); +} + +#ifndef HAVE_STRSEP +/* code taken from glibc-2.2.1/sysdeps/generic/strsep.c */ +char * +strsep (char **stringp, const char *delim) +{ + char *begin, *end; + + begin = *stringp; + if (begin == NULL) + return NULL; + + /* A frequent case is when the delimiter string contains only one + character. Here we don't need to call the expensive `strpbrk' + function and instead work using `strchr'. */ + if (delim[0] == '\0' || delim[1] == '\0') { + char ch = delim[0]; + + if (ch == '\0') + end = NULL; + else { + if (*begin == ch) + end = begin; + else if (*begin == '\0') + end = NULL; + else + end = strchr (begin + 1, ch); + } + } else + /* Find the end of the token. */ + end = strpbrk (begin, delim); + + if (end) { + /* Terminate the token and set *STRINGP past NUL character. */ + *end++ = '\0'; + *stringp = end; + } else + /* No more delimiters; this is the last token. */ + *stringp = NULL; + + return begin; +} +#endif /*HAVE_STRSEP*/ + +/* Copied from GPGME */ +static void +parse_user_id (const gchar *uid, gchar **name, gchar **email, gchar **comment) +{ + gchar *src, *tail; + g_autofree gchar *x = NULL; + int in_name = 0; + int in_email = 0; + int in_comment = 0; + + x = tail = src = g_strdup (uid); + + while (*src) { + if (in_email) { + if (*src == '<') + /* Not legal but anyway. */ + in_email++; + else if (*src == '>') { + if (!--in_email && !*email) { + *email = tail; + *src = 0; + tail = src + 1; + } + } + } else if (in_comment) { + if (*src == '(') + in_comment++; + else if (*src == ')') { + if (!--in_comment && !*comment) { + *comment = tail; + *src = 0; + tail = src + 1; + } + } + } else if (*src == '<') { + if (in_name) { + if (!*name) { + *name = tail; + *src = 0; + tail = src + 1; + } + in_name = 0; + } else + tail = src + 1; + + in_email = 1; + } else if (*src == '(') { + if (in_name) { + if (!*name) { + *name = tail; + *src = 0; + tail = src + 1; + } + in_name = 0; + } + in_comment = 1; + } else if (!in_name && *src != ' ' && *src != '\t') { + in_name = 1; + } + src++; + } + + if (in_name) { + if (!*name) { + *name = tail; + *src = 0; + tail = src + 1; + } + } + + /* Let unused parts point to an EOS. */ + *name = g_strdup (*name ? *name : ""); + *email = g_strdup (*email ? *email : ""); + *comment = g_strdup (*comment ? *comment : ""); + + g_strstrip (*name); + g_strstrip (*email); + g_strstrip (*comment); +} + + +/* ----------------------------------------------------------------------------- + * OBJECT + */ + +void +seahorse_pgp_uid_realize (SeahorsePgpUid *self) +{ + SeahorsePgpUidPrivate *priv = seahorse_pgp_uid_get_instance_private (self); + g_autofree gchar *markup = NULL; + g_autofree gchar *label = NULL; + + /* Don't realize if no name present */ + if (!priv->name) + return; + + priv->realized = TRUE; + + label = seahorse_pgp_uid_calc_label (priv->name, priv->email, priv->comment); + markup = seahorse_pgp_uid_calc_markup (priv->name, priv->email, priv->comment, 0); + g_object_set (self, "markup", markup, "label", label, NULL); +} + +static void +seahorse_pgp_uid_init (SeahorsePgpUid *self) +{ + g_object_set (self, "icon", NULL, "usage", SEAHORSE_USAGE_IDENTITY, NULL); +} + +static void +seahorse_pgp_uid_constructed (GObject *object) +{ + G_OBJECT_CLASS (seahorse_pgp_uid_parent_class)->constructed (object); + seahorse_pgp_uid_realize (SEAHORSE_PGP_UID (object)); +} + +static void +seahorse_pgp_uid_get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + SeahorsePgpUid *self = SEAHORSE_PGP_UID (object); + + switch (prop_id) { + case PROP_SIGNATURES: + g_value_set_boxed (value, seahorse_pgp_uid_get_signatures (self)); + break; + case PROP_PARENT: + g_value_set_object (value, seahorse_pgp_uid_get_parent (self)); + break; + case PROP_VALIDITY: + g_value_set_uint (value, seahorse_pgp_uid_get_validity (self)); + break; + case PROP_NAME: + g_value_set_string (value, seahorse_pgp_uid_get_name (self)); + break; + case PROP_EMAIL: + g_value_set_string (value, seahorse_pgp_uid_get_email (self)); + break; + case PROP_COMMENT: + g_value_set_string (value, seahorse_pgp_uid_get_comment (self)); + break; + } +} + +static void +seahorse_pgp_uid_set_property (GObject *object, guint prop_id, const GValue *value, + GParamSpec *pspec) +{ + SeahorsePgpUid *self = SEAHORSE_PGP_UID (object); + SeahorsePgpUidPrivate *priv = seahorse_pgp_uid_get_instance_private (self); + + switch (prop_id) { + case PROP_SIGNATURES: + seahorse_pgp_uid_set_signatures (self, g_value_get_boxed (value)); + break; + case PROP_PARENT: + g_return_if_fail (priv->parent == NULL); + priv->parent = g_value_get_object (value); + break; + case PROP_VALIDITY: + seahorse_pgp_uid_set_validity (self, g_value_get_uint (value)); + break; + case PROP_NAME: + seahorse_pgp_uid_set_name (self, g_value_get_string (value)); + break; + case PROP_EMAIL: + seahorse_pgp_uid_set_email (self, g_value_get_string (value)); + break; + case PROP_COMMENT: + seahorse_pgp_uid_set_comment (self, g_value_get_string (value)); + break; + } +} + +static void +seahorse_pgp_uid_object_finalize (GObject *gobject) +{ + SeahorsePgpUid *self = SEAHORSE_PGP_UID (gobject); + SeahorsePgpUidPrivate *priv = seahorse_pgp_uid_get_instance_private (self); + + g_clear_pointer (&priv->signatures, seahorse_object_list_free); + g_clear_pointer (&priv->name, g_free); + g_clear_pointer (&priv->email, g_free); + g_clear_pointer (&priv->comment, g_free); + + G_OBJECT_CLASS (seahorse_pgp_uid_parent_class)->finalize (gobject); +} + +static void +seahorse_pgp_uid_class_init (SeahorsePgpUidClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->constructed = seahorse_pgp_uid_constructed; + gobject_class->finalize = seahorse_pgp_uid_object_finalize; + gobject_class->set_property = seahorse_pgp_uid_set_property; + gobject_class->get_property = seahorse_pgp_uid_get_property; + + g_object_class_install_property (gobject_class, PROP_VALIDITY, + g_param_spec_uint ("validity", "Validity", "Validity of this identity", + 0, G_MAXUINT, 0, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_PARENT, + g_param_spec_object ("parent", "Parent Key", "Parent Key", + SEAHORSE_PGP_TYPE_KEY, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_CONSTRUCT_ONLY)); + + g_object_class_install_property (gobject_class, PROP_NAME, + g_param_spec_string ("name", "Name", "User ID name", + "", G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_EMAIL, + g_param_spec_string ("email", "Email", "User ID email", + "", G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_COMMENT, + g_param_spec_string ("comment", "Comment", "User ID comment", + "", G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + g_object_class_install_property (gobject_class, PROP_SIGNATURES, + g_param_spec_boxed ("signatures", "Signatures", "Signatures on this UID", + SEAHORSE_BOXED_OBJECT_LIST, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); +} + +/* ----------------------------------------------------------------------------- + * PUBLIC + */ + +SeahorsePgpUid * +seahorse_pgp_uid_new (SeahorsePgpKey *parent, + const gchar *uid_string) +{ + g_autofree gchar *name = NULL; + g_autofree gchar *email = NULL; + g_autofree gchar *comment = NULL; + + if (uid_string) + parse_user_id (uid_string, &name, &email, &comment); + + return g_object_new (SEAHORSE_PGP_TYPE_UID, + "parent", parent, + "name", name, + "email", email, + "comment", comment, + NULL); +} + +SeahorsePgpKey * +seahorse_pgp_uid_get_parent (SeahorsePgpUid *self) +{ + SeahorsePgpUidPrivate *priv = seahorse_pgp_uid_get_instance_private (self); + + g_return_val_if_fail (SEAHORSE_PGP_IS_UID (self), NULL); + return priv->parent; +} + +GList* +seahorse_pgp_uid_get_signatures (SeahorsePgpUid *self) +{ + SeahorsePgpUidPrivate *priv = seahorse_pgp_uid_get_instance_private (self); + + g_return_val_if_fail (SEAHORSE_PGP_IS_UID (self), NULL); + return priv->signatures; +} + +void +seahorse_pgp_uid_set_signatures (SeahorsePgpUid *self, GList *signatures) +{ + SeahorsePgpUidPrivate *priv = seahorse_pgp_uid_get_instance_private (self); + + g_return_if_fail (SEAHORSE_PGP_IS_UID (self)); + + seahorse_object_list_free (priv->signatures); + priv->signatures = seahorse_object_list_copy (signatures); + + g_object_notify (G_OBJECT (self), "signatures"); +} + +SeahorseValidity +seahorse_pgp_uid_get_validity (SeahorsePgpUid *self) +{ + SeahorsePgpUidPrivate *priv = seahorse_pgp_uid_get_instance_private (self); + + g_return_val_if_fail (SEAHORSE_PGP_IS_UID (self), SEAHORSE_VALIDITY_UNKNOWN); + return priv->validity; +} + +void +seahorse_pgp_uid_set_validity (SeahorsePgpUid *self, SeahorseValidity validity) +{ + SeahorsePgpUidPrivate *priv = seahorse_pgp_uid_get_instance_private (self); + + g_return_if_fail (SEAHORSE_PGP_IS_UID (self)); + priv->validity = validity; + g_object_notify (G_OBJECT (self), "validity"); +} + +const gchar* +seahorse_pgp_uid_get_name (SeahorsePgpUid *self) +{ + SeahorsePgpUidPrivate *priv = seahorse_pgp_uid_get_instance_private (self); + + g_return_val_if_fail (SEAHORSE_PGP_IS_UID (self), NULL); + if (!priv->name) + priv->name = g_strdup (""); + return priv->name; +} + +void +seahorse_pgp_uid_set_name (SeahorsePgpUid *self, const gchar *name) +{ + SeahorsePgpUidPrivate *priv = seahorse_pgp_uid_get_instance_private (self); + GObject *obj; + + g_return_if_fail (SEAHORSE_PGP_IS_UID (self)); + + g_free (priv->name); + priv->name = convert_string (name); + + obj = G_OBJECT (self); + g_object_freeze_notify (obj); + if (!priv->realized) + seahorse_pgp_uid_realize (self); + g_object_notify (obj, "name"); + g_object_thaw_notify (obj); +} + +const gchar* +seahorse_pgp_uid_get_email (SeahorsePgpUid *self) +{ + SeahorsePgpUidPrivate *priv = seahorse_pgp_uid_get_instance_private (self); + + g_return_val_if_fail (SEAHORSE_PGP_IS_UID (self), NULL); + if (!priv->email) + priv->email = g_strdup (""); + return priv->email; +} + +void +seahorse_pgp_uid_set_email (SeahorsePgpUid *self, const gchar *email) +{ + SeahorsePgpUidPrivate *priv = seahorse_pgp_uid_get_instance_private (self); + GObject *obj; + + g_return_if_fail (SEAHORSE_PGP_IS_UID (self)); + + g_free (priv->email); + priv->email = convert_string (email); + + obj = G_OBJECT (self); + g_object_freeze_notify (obj); + if (!priv->realized) + seahorse_pgp_uid_realize (self); + g_object_notify (obj, "email"); + g_object_thaw_notify (obj); +} + +const gchar* +seahorse_pgp_uid_get_comment (SeahorsePgpUid *self) +{ + SeahorsePgpUidPrivate *priv = seahorse_pgp_uid_get_instance_private (self); + + g_return_val_if_fail (SEAHORSE_PGP_IS_UID (self), NULL); + if (!priv->comment) + priv->comment = g_strdup (""); + return priv->comment; +} + +void +seahorse_pgp_uid_set_comment (SeahorsePgpUid *self, const gchar *comment) +{ + SeahorsePgpUidPrivate *priv = seahorse_pgp_uid_get_instance_private (self); + GObject *obj; + + g_return_if_fail (SEAHORSE_PGP_IS_UID (self)); + + g_free (priv->comment); + priv->comment = convert_string (comment); + + obj = G_OBJECT (self); + g_object_freeze_notify (obj); + if (!priv->realized) + seahorse_pgp_uid_realize (self); + g_object_notify (obj, "comment"); + g_object_thaw_notify (obj); +} + +gchar* +seahorse_pgp_uid_calc_label (const gchar *name, const gchar *email, + const gchar *comment) +{ + GString *string; + + g_return_val_if_fail (name, NULL); + + string = g_string_new (""); + g_string_append (string, name); + + if (email && email[0]) { + g_string_append (string, " <"); + g_string_append (string, email); + g_string_append (string, ">"); + } + + if (comment && comment[0]) { + g_string_append (string, " ("); + g_string_append (string, comment); + g_string_append (string, ")"); + } + + return g_string_free (string, FALSE); +} + +gchar* +seahorse_pgp_uid_calc_markup (const gchar *name, const gchar *email, + const gchar *comment, guint flags) +{ + const gchar *format; + gboolean strike = FALSE; + gboolean grayed = FALSE; + + g_return_val_if_fail (name, NULL); + + if (flags & SEAHORSE_FLAG_EXPIRED || flags & SEAHORSE_FLAG_REVOKED || + flags & SEAHORSE_FLAG_DISABLED) + strike = TRUE; + if (!(flags & SEAHORSE_FLAG_TRUSTED)) + grayed = TRUE; + + if (strike && grayed) + format = "%s%s%s%s%s%s"; + else if (grayed) + format = "%s%s%s%s%s%s"; + else if (strike) + format = "%s%s%s%s%s%s"; + else + format = "%s%s%s%s%s%s"; + + return g_markup_printf_escaped (format, name, + email && email[0] ? " " : "", + email && email[0] ? email : "", + comment && comment[0] ? " '" : "", + comment && comment[0] ? comment : "", + comment && comment[0] ? "'" : ""); +} + +GQuark +seahorse_pgp_uid_calc_id (GQuark key_id, guint index) +{ + g_autofree gchar *str = NULL; + GQuark id = 0; + + str = g_strdup_printf ("%s:%u", g_quark_to_string (key_id), index + 1); + id = g_quark_from_string (str); + + return id; +} diff --git a/pgp/seahorse-pgp-uid.h b/pgp/seahorse-pgp-uid.h new file mode 100644 index 00000000..b3a31de9 --- /dev/null +++ b/pgp/seahorse-pgp-uid.h @@ -0,0 +1,94 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +#include "seahorse-common.h" + +#include "seahorse-pgp-key.h" + +#define SEAHORSE_PGP_TYPE_UID (seahorse_pgp_uid_get_type ()) + +#define SEAHORSE_PGP_UID(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_PGP_TYPE_UID, SeahorsePgpUid)) +#define SEAHORSE_PGP_UID_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_PGP_TYPE_UID, SeahorsePgpUidClass)) +#define SEAHORSE_PGP_IS_UID(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_PGP_TYPE_UID)) +#define SEAHORSE_PGP_IS_UID_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_PGP_TYPE_UID)) +#define SEAHORSE_PGP_UID_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_PGP_TYPE_UID, SeahorsePgpUidClass)) + +typedef struct _SeahorsePgpUid SeahorsePgpUid; +typedef struct _SeahorsePgpUidClass SeahorsePgpUidClass; +typedef struct _SeahorsePgpUidPrivate SeahorsePgpUidPrivate; + +struct _SeahorsePgpUid { + SeahorseObject parent; +}; + +struct _SeahorsePgpUidClass { + SeahorseObjectClass parent_class; +}; + +G_DEFINE_AUTOPTR_CLEANUP_FUNC (SeahorsePgpUid, g_object_unref) + +GType seahorse_pgp_uid_get_type (void); + +SeahorsePgpUid* seahorse_pgp_uid_new (SeahorsePgpKey *parent, + const gchar *uid_string); + +SeahorsePgpKey * seahorse_pgp_uid_get_parent (SeahorsePgpUid *self); + +void seahorse_pgp_uid_realize (SeahorsePgpUid *self); + +GList* seahorse_pgp_uid_get_signatures (SeahorsePgpUid *self); + +void seahorse_pgp_uid_set_signatures (SeahorsePgpUid *self, + GList *signatures); + +SeahorseValidity seahorse_pgp_uid_get_validity (SeahorsePgpUid *self); + +void seahorse_pgp_uid_set_validity (SeahorsePgpUid *self, + SeahorseValidity validity); + +const gchar* seahorse_pgp_uid_get_name (SeahorsePgpUid *self); + +void seahorse_pgp_uid_set_name (SeahorsePgpUid *self, + const gchar *name); + +const gchar* seahorse_pgp_uid_get_email (SeahorsePgpUid *self); + +void seahorse_pgp_uid_set_email (SeahorsePgpUid *self, + const gchar *comment); + +const gchar* seahorse_pgp_uid_get_comment (SeahorsePgpUid *self); + +void seahorse_pgp_uid_set_comment (SeahorsePgpUid *self, + const gchar *comment); + +gchar* seahorse_pgp_uid_calc_label (const gchar *name, + const gchar *email, + const gchar *comment); + +gchar* seahorse_pgp_uid_calc_markup (const gchar *name, + const gchar *email, + const gchar *comment, + guint flags); + +GQuark seahorse_pgp_uid_calc_id (GQuark key_id, + guint index); diff --git a/pgp/seahorse-revoke.ui b/pgp/seahorse-revoke.ui new file mode 100644 index 00000000..e2db53da --- /dev/null +++ b/pgp/seahorse-revoke.ui @@ -0,0 +1,189 @@ + + + + + + True + 5 + dialog + + + + True + 2 + + + True + 5 + 2 + 2 + 12 + 6 + + + True + + + 1 + 2 + + + + + + True + Reason for revoking the key + + + True + 0 + _Reason: + True + reason + + + + + GTK_FILL + + + + + + True + 0 + _Description: + True + description + + + 1 + 2 + GTK_FILL + + + + + + True + True + Optional description of revocation + True + + + 1 + 2 + 1 + 2 + + + + + + 1 + + + + + True + end + + + gtk-help + True + True + True + False + True + + + + False + False + 0 + + + + + gtk-cancel + True + True + True + False + True + + + + False + False + 1 + + + + + True + True + True + True + False + Revoke key + + + + True + 0 + 0 + + + True + 2 + + + True + gtk-ok + + + False + False + 0 + + + + + True + Re_voke + True + + + False + False + 1 + + + + + + + + + False + False + 2 + + + + + False + end + 0 + + + + + + helpbutton1 + cancelbutton1 + okbutton1 + + + diff --git a/pgp/seahorse-server-source.c b/pgp/seahorse-server-source.c new file mode 100644 index 00000000..c23ddb1e --- /dev/null +++ b/pgp/seahorse-server-source.c @@ -0,0 +1,572 @@ +/* + * Seahorse + * + * Copyright (C) 2004 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include + +#include "seahorse-server-source.h" + +#include "seahorse-hkp-source.h" +#include "seahorse-ldap-source.h" +#include "seahorse-pgp-key.h" + +#include "seahorse-common.h" + +#include "libseahorse/seahorse-util.h" + +#include + +#include +#include + +/** + * SECTION:seahorse-server-source + * @short_description: Objects for handling of internet sources of keys (hkp/ldap) + * @include:seahorse-server-source.h + * + **/ + +enum { + PROP_0, + PROP_LABEL, + PROP_DESCRIPTION, + PROP_ICON, + PROP_CATEGORY, + PROP_KEY_SERVER, + PROP_URI, + PROP_ACTIONS, + PROP_ACTION_PREFIX, + PROP_MENU_MODEL, + PROP_SHOW_IF_EMPTY, + N_PROPS +}; + +/* ----------------------------------------------------------------------------- + * SERVER SOURCE + */ + +typedef struct _SeahorseServerSourcePrivate { + gchar *server; + gchar *uri; +} SeahorseServerSourcePrivate; + +static void seahorse_server_source_collection_init (GcrCollectionIface *iface); + +static void seahorse_server_source_place_iface (SeahorsePlaceIface *iface); + +G_DEFINE_TYPE_WITH_CODE (SeahorseServerSource, seahorse_server_source, G_TYPE_OBJECT, + G_ADD_PRIVATE (SeahorseServerSource) + G_IMPLEMENT_INTERFACE (GCR_TYPE_COLLECTION, seahorse_server_source_collection_init); + G_IMPLEMENT_INTERFACE (SEAHORSE_TYPE_PLACE, seahorse_server_source_place_iface); +); + +/* GObject handlers */ +static void seahorse_server_source_finalize (GObject *gobject); +static void seahorse_server_get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec); +static void seahorse_server_set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec); + +static void +seahorse_server_source_class_init (SeahorseServerSourceClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->finalize = seahorse_server_source_finalize; + gobject_class->set_property = seahorse_server_set_property; + gobject_class->get_property = seahorse_server_get_property; + + g_object_class_override_property (gobject_class, PROP_LABEL, "label"); + g_object_class_override_property (gobject_class, PROP_DESCRIPTION, "description"); + g_object_class_override_property (gobject_class, PROP_ICON, "icon"); + g_object_class_override_property (gobject_class, PROP_CATEGORY, "category"); + g_object_class_override_property (gobject_class, PROP_ACTIONS, "actions"); + g_object_class_override_property (gobject_class, PROP_ACTION_PREFIX, "action-prefix"); + g_object_class_override_property (gobject_class, PROP_MENU_MODEL, "menu-model"); + g_object_class_override_property (gobject_class, PROP_SHOW_IF_EMPTY, "show-if-empty"); + + g_object_class_install_property (gobject_class, PROP_KEY_SERVER, + g_param_spec_string ("key-server", "Key Server", + "Key Server to search on", "", + G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE)); + + g_object_class_install_property (gobject_class, PROP_URI, + g_param_spec_string ("uri", "Key Server URI", + "Key Server full URI", "", + G_PARAM_READWRITE)); +} + +static void +seahorse_server_source_init (SeahorseServerSource *ssrc) +{ +} + +static void +seahorse_server_source_finalize (GObject *gobject) +{ + SeahorseServerSource *ssrc = SEAHORSE_SERVER_SOURCE (gobject); + SeahorseServerSourcePrivate *priv = + seahorse_server_source_get_instance_private (ssrc); + + g_free (priv->server); + g_free (priv->uri); + + G_OBJECT_CLASS (seahorse_server_source_parent_class)->finalize (gobject); +} + +static void +seahorse_server_source_load (SeahorsePlace *self, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_return_if_reached (); +} + +static gboolean +seahorse_server_source_load_finish (SeahorsePlace *self, + GAsyncResult *res, + GError **error) +{ + g_return_val_if_reached (FALSE); +} + +static gchar * +seahorse_server_source_get_label (SeahorsePlace* self) +{ + SeahorseServerSource *ssrc = SEAHORSE_SERVER_SOURCE (self); + SeahorseServerSourcePrivate *priv = + seahorse_server_source_get_instance_private (ssrc); + + return g_strdup (priv->server); +} + +static void +seahorse_server_source_set_label (SeahorsePlace *self, const char *label) +{ +} + +static gchar * +seahorse_server_source_get_description (SeahorsePlace* self) +{ + SeahorseServerSource *ssrc = SEAHORSE_SERVER_SOURCE (self); + SeahorseServerSourcePrivate *priv = + seahorse_server_source_get_instance_private (ssrc); + + return g_strdup (priv->uri); +} + +static gchar * +seahorse_server_source_get_uri (SeahorsePlace* self) +{ + SeahorseServerSource *ssrc = SEAHORSE_SERVER_SOURCE (self); + SeahorseServerSourcePrivate *priv = + seahorse_server_source_get_instance_private (ssrc); + + return g_strdup (priv->uri); +} + +static GIcon * +seahorse_server_source_get_icon (SeahorsePlace* self) +{ + return g_themed_icon_new (NULL); +} + +static SeahorsePlaceCategory +seahorse_server_source_get_category (SeahorsePlace *place) +{ + return SEAHORSE_PLACE_CATEGORY_KEYS; +} + +static GActionGroup * +seahorse_server_source_get_actions (SeahorsePlace* self) +{ + return NULL; +} + +static const gchar * +seahorse_server_source_get_action_prefix (SeahorsePlace* self) +{ + return NULL; +} + +static GMenuModel * +seahorse_server_source_get_menu_model (SeahorsePlace* self) +{ + return NULL; +} + +static gboolean +seahorse_server_source_get_show_if_empty (SeahorsePlace *place) +{ + return TRUE; +} + +static void +seahorse_server_source_place_iface (SeahorsePlaceIface *iface) +{ + iface->load = seahorse_server_source_load; + iface->load_finish = seahorse_server_source_load_finish; + iface->get_actions = seahorse_server_source_get_actions; + iface->get_action_prefix = seahorse_server_source_get_action_prefix; + iface->get_menu_model = seahorse_server_source_get_menu_model; + iface->get_description = seahorse_server_source_get_description; + iface->get_icon = seahorse_server_source_get_icon; + iface->get_category = seahorse_server_source_get_category; + iface->get_label = seahorse_server_source_get_label; + iface->set_label = seahorse_server_source_set_label; + iface->get_uri = seahorse_server_source_get_uri; + iface->get_show_if_empty = seahorse_server_source_get_show_if_empty; +} + +/** +* object: A SeahorseServerSource object +* prop_id: The ID of the property to set +* value: The value to set +* pspec: ignored +* +* Properties that can be set: +* PROP_KEY_SERVER, PROP_URI +* +**/ +static void +seahorse_server_set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) +{ + SeahorseServerSource *ssrc = SEAHORSE_SERVER_SOURCE (object); + SeahorseServerSourcePrivate *priv = + seahorse_server_source_get_instance_private (ssrc); + + switch (prop_id) { + case PROP_LABEL: + seahorse_server_source_set_label (SEAHORSE_PLACE (ssrc), + g_value_get_boxed (value)); + break; + case PROP_KEY_SERVER: + g_assert (priv->server == NULL); + priv->server = g_strdup (g_value_get_string (value)); + g_return_if_fail (priv->server && priv->server[0]); + break; + case PROP_URI: + g_free (priv->uri); + priv->uri = g_strdup (g_value_get_string (value)); + g_return_if_fail (priv->uri && priv->uri[0]); + break; + default: + break; + } +} + +/** +* object: A #SeahorseServerSource object +* prop_id: The id of the property +* value: The value to get +* pspec: ignored +* +* The properties that can be read are: +* PROP_KEY_SERVER, PROP_URI +* +**/ +static void +seahorse_server_get_property (GObject *obj, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + SeahorseServerSource *self = SEAHORSE_SERVER_SOURCE (obj); + SeahorsePlace *place = SEAHORSE_PLACE (self); + SeahorseServerSourcePrivate *priv = + seahorse_server_source_get_instance_private (self); + + switch (prop_id) { + case PROP_LABEL: + g_value_take_string (value, seahorse_server_source_get_label (place)); + break; + case PROP_KEY_SERVER: + g_value_set_string (value, priv->server); + break; + case PROP_DESCRIPTION: + g_value_take_string (value, seahorse_server_source_get_description (place)); + break; + case PROP_URI: + g_value_take_string (value, seahorse_server_source_get_uri (place)); + break; + case PROP_ICON: + g_value_take_object (value, seahorse_server_source_get_icon (place)); + break; + case PROP_CATEGORY: + g_value_set_enum (value, seahorse_server_source_get_category (place)); + break; + case PROP_ACTIONS: + g_value_set_object (value, seahorse_server_source_get_actions (place)); + break; + case PROP_ACTION_PREFIX: + g_value_set_string (value, seahorse_server_source_get_action_prefix (place)); + break; + case PROP_MENU_MODEL: + g_value_set_object (value, seahorse_server_source_get_menu_model (place)); + break; + case PROP_SHOW_IF_EMPTY: + g_value_set_boolean (value, TRUE); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec); + break; + } +} + +static guint +seahorse_server_source_get_length (GcrCollection *collection) +{ + return 0; +} + +static GList * +seahorse_server_source_get_objects (GcrCollection *collection) +{ + return NULL; +} + +static gboolean +seahorse_server_source_contains (GcrCollection *collection, + GObject *object) +{ + return FALSE; +} + +static void +seahorse_server_source_collection_init (GcrCollectionIface *iface) +{ + /* This is implemented because SeahorseSource requires it */ + iface->get_length = seahorse_server_source_get_length; + iface->get_objects = seahorse_server_source_get_objects; + iface->contains = seahorse_server_source_contains; +} + +/* -------------------------------------------------------------------------- + * METHODS + */ + +/** +* uri: the uri to parse +* scheme: the scheme ("http") of this uri +* host: the host part of the uri +* +* +* Code adapted from GnuPG (file g10/keyserver.c) +* +* Returns FALSE if the separation failed +**/ +static gboolean +parse_keyserver_uri (char *uri, const char **scheme, const char **host) +{ + int assume_ldap = 0; + + g_assert (uri != NULL); + g_assert (scheme != NULL && host != NULL); + + *scheme = NULL; + *host = NULL; + + /* Get the scheme */ + + *scheme = strsep(&uri, ":"); + if (uri == NULL) { + /* Assume LDAP if there is no scheme */ + assume_ldap = 1; + uri = (char*)*scheme; + *scheme = "ldap"; + } + + if (assume_ldap || (uri[0] == '/' && uri[1] == '/')) { + /* Two slashes means network path. */ + + /* Skip over the "//", if any */ + if (!assume_ldap) + uri += 2; + + /* Get the host */ + *host = strsep (&uri, "/"); + if (*host[0] == '\0') + return FALSE; + } + + if (*scheme[0] == '\0') + return FALSE; + + return TRUE; +} + +/** + * seahorse_server_source_new: + * @server: The server uri to create an object for + * + * Creates a #SeahorseServerSource object out of @server. Depending + * on the defines at compilation time other sources are supported + * (ldap, hkp) + * + * Returns: A new SeahorseServerSource or NULL + */ +SeahorseServerSource* +seahorse_server_source_new (const gchar *server) +{ + SeahorseServerSource *ssrc = NULL; + const gchar *scheme; + const gchar *host; + gchar *uri, *t; + + g_return_val_if_fail (server && server[0], NULL); + + uri = g_strdup (server); + + if (!parse_keyserver_uri (uri, &scheme, &host)) { + g_warning ("invalid uri passed: %s", server); + + + } else { + +#ifdef WITH_LDAP + /* LDAP Uris */ + if (g_ascii_strcasecmp (scheme, "ldap") == 0) + ssrc = SEAHORSE_SERVER_SOURCE (seahorse_ldap_source_new (server, host)); + else +#endif /* WITH_LDAP */ + +#ifdef WITH_HKP + /* HKP Uris */ + if (g_ascii_strcasecmp (scheme, "hkp") == 0) { + + ssrc = SEAHORSE_SERVER_SOURCE (seahorse_hkp_source_new (server, host)); + + /* HTTP Uris */ + } else if (g_ascii_strcasecmp (scheme, "http") == 0 || + g_ascii_strcasecmp (scheme, "https") == 0) { + + /* If already have a port */ + if (strchr (host, ':')) + ssrc = SEAHORSE_SERVER_SOURCE (seahorse_hkp_source_new (server, host)); + + /* No port make sure to use defaults */ + else { + t = g_strdup_printf ("%s:%d", host, + (g_ascii_strcasecmp (scheme, "http") == 0) ? 80 : 443); + ssrc = SEAHORSE_SERVER_SOURCE (seahorse_hkp_source_new (server, t)); + g_free (t); + } + + } else +#endif /* WITH_HKP */ + + g_message ("unsupported key server uri scheme: %s", scheme); + } + + g_free (uri); + return ssrc; +} + +void +seahorse_server_source_search_async (SeahorseServerSource *self, + const gchar *match, + GcrSimpleCollection *results, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_return_if_fail (SEAHORSE_IS_SERVER_SOURCE (self)); + g_return_if_fail (match != NULL); + g_return_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable)); + g_return_if_fail (SEAHORSE_SERVER_SOURCE_GET_CLASS (self)->search_async); + SEAHORSE_SERVER_SOURCE_GET_CLASS (self)->search_async (self, match, results, + cancellable, callback, user_data); +} + +gboolean +seahorse_server_source_search_finish (SeahorseServerSource *self, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (SEAHORSE_IS_SERVER_SOURCE (self), FALSE); + g_return_val_if_fail (G_IS_ASYNC_RESULT (result), FALSE); + g_return_val_if_fail (error == NULL || *error == NULL, FALSE); + g_return_val_if_fail (SEAHORSE_SERVER_SOURCE_GET_CLASS (self)->search_finish, FALSE); + return SEAHORSE_SERVER_SOURCE_GET_CLASS (self)->search_finish (self, result, error); +} + +void +seahorse_server_source_export_async (SeahorseServerSource *self, + const gchar **keyids, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + SeahorseServerSourceClass *klass; + + g_return_if_fail (SEAHORSE_IS_SERVER_SOURCE (self)); + g_return_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable)); + + klass = SEAHORSE_SERVER_SOURCE_GET_CLASS (self); + g_return_if_fail (klass->export_async); + (klass->export_async) (self, keyids, cancellable, callback, user_data); +} + +gpointer +seahorse_server_source_export_finish (SeahorseServerSource *self, + GAsyncResult *result, + gsize *size, + GError **error) +{ + SeahorseServerSourceClass *klass; + + g_return_val_if_fail (SEAHORSE_IS_SERVER_SOURCE (self), NULL); + g_return_val_if_fail (G_IS_ASYNC_RESULT (result), NULL); + g_return_val_if_fail (size != NULL, NULL); + g_return_val_if_fail (error == NULL || *error == NULL, NULL); + + klass = SEAHORSE_SERVER_SOURCE_GET_CLASS (self); + g_return_val_if_fail (klass->export_async != NULL, NULL); + g_return_val_if_fail (klass->export_finish != NULL, NULL); + return (klass->export_finish) (self, result, size, error); +} + +void +seahorse_server_source_import_async (SeahorseServerSource *source, + GInputStream *input, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_return_if_fail (SEAHORSE_IS_SERVER_SOURCE (source)); + g_return_if_fail (G_IS_INPUT_STREAM (input)); + g_return_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable)); + g_return_if_fail (SEAHORSE_SERVER_SOURCE_GET_CLASS (source)->import_async); + SEAHORSE_SERVER_SOURCE_GET_CLASS (source)->import_async (source, input, cancellable, + callback, user_data); +} + +GList * +seahorse_server_source_import_finish (SeahorseServerSource *source, + GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (SEAHORSE_IS_SERVER_SOURCE (source), NULL); + g_return_val_if_fail (G_IS_ASYNC_RESULT (result), NULL); + g_return_val_if_fail (error == NULL || *error == NULL, NULL); + g_return_val_if_fail (SEAHORSE_SERVER_SOURCE_GET_CLASS (source)->import_finish, NULL); + return SEAHORSE_SERVER_SOURCE_GET_CLASS (source)->import_finish (source, result, error); +} diff --git a/pgp/seahorse-server-source.h b/pgp/seahorse-server-source.h new file mode 100644 index 00000000..bbdc4c2e --- /dev/null +++ b/pgp/seahorse-server-source.h @@ -0,0 +1,118 @@ +/* + * Seahorse + * + * Copyright (C) 2004 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/** + * SeahorseServerSource: A base class for key sources that retrieve keys + * from remote key servers. + * + * - Derived from SeahorseSource. + * - Also includes functions for parsing keyserver URIs and mapping them + * to the appropriate key sources (such as SeahorseHKPSource) + * - There's some GPGME specific stuff in here that may eventually need to be + * moved elsewhere. + * + * Properties: + * key-type: (GQuark) The type of keys generated (ie: SKEY_PGP) + * location: (gchar*) The location of keys from this key source (ie: SEAHORSE_LOCATION_REMOTE) + * key-server: (gchar*) The host:port of the keyserver to search. + * uri: (gchar*) Only for remote key sources. The full URI of the keyserver + * being used. + */ + +#pragma once + +#include "seahorse-pgp-key.h" + +#include + +#define SEAHORSE_TYPE_SERVER_SOURCE (seahorse_server_source_get_type ()) +G_DECLARE_DERIVABLE_TYPE (SeahorseServerSource, seahorse_server_source, + SEAHORSE, SERVER_SOURCE, + GObject) + +struct _SeahorseServerSourceClass { + GObjectClass parent_class; + + void (* import_async) (SeahorseServerSource *source, + GInputStream *input, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + + GList * (* import_finish) (SeahorseServerSource *source, + GAsyncResult *result, + GError **error); + + void (*export_async) (SeahorseServerSource *source, + const gchar **keyids, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + + gpointer (*export_finish) (SeahorseServerSource *source, + GAsyncResult *result, + gsize *size, + GError **error); + + void (*search_async) (SeahorseServerSource *source, + const gchar *match, + GcrSimpleCollection *results, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + + gboolean (*search_finish) (SeahorseServerSource *source, + GAsyncResult *result, + GError **error); +}; + +SeahorseServerSource* seahorse_server_source_new (const gchar *uri); + +void seahorse_server_source_search_async (SeahorseServerSource *self, + const gchar *match, + GcrSimpleCollection *results, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +gboolean seahorse_server_source_search_finish (SeahorseServerSource *self, + GAsyncResult *result, + GError **error); + +void seahorse_server_source_import_async (SeahorseServerSource *self, + GInputStream *input, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +GList * seahorse_server_source_import_finish (SeahorseServerSource *self, + GAsyncResult *result, + GError **error); + +void seahorse_server_source_export_async (SeahorseServerSource *self, + const gchar **keyids, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +gpointer seahorse_server_source_export_finish (SeahorseServerSource *self, + GAsyncResult *result, + gsize *size, + GError **error); diff --git a/pgp/seahorse-signer.c b/pgp/seahorse-signer.c new file mode 100755 index 00000000..07a7e975 --- /dev/null +++ b/pgp/seahorse-signer.c @@ -0,0 +1,123 @@ +/* + * Seahorse + * + * Copyright (C) 2004-2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include + +#include "seahorse-pgp-dialogs.h" + +#include "seahorse-combo-keys.h" +#include "seahorse-pgp-key.h" +#include "seahorse-pgp-keysets.h" + +#include "seahorse-common.h" + +#include "libseahorse/seahorse-progress.h" +#include "libseahorse/seahorse-widget.h" +#include "libseahorse/seahorse-util.h" + +#include + +#include + +SeahorsePgpKey* +seahorse_signer_get (GtkWindow *parent) +{ + SeahorseWidget *swidget; + GcrCollection *collection; + SeahorsePgpKey *key = NULL; + GtkWidget *combo; + GtkWidget *widget; + gint response; + gboolean done = FALSE; + gboolean ok = FALSE; + GSettings *settings; + const gchar *keyid; + gchar *id; + guint nkeys; + + collection = seahorse_keyset_pgp_signers_new (); + nkeys = gcr_collection_get_length (collection); + + /* If no signing keys then we can't sign */ + if (nkeys == 0) { + /* TODO: We should be giving an error message that allows them to + generate or import a key */ + seahorse_util_show_error (NULL, _("No keys usable for signing"), + _("You have no personal PGP keys that can be used to sign a document or message.")); + return NULL; + } + + /* If only one key (probably default) then return it immediately */ + if (nkeys == 1) { + GList *keys = gcr_collection_get_objects (collection); + key = keys->data; + g_list_free (keys); + g_object_unref (collection); + return key; + } + + swidget = seahorse_widget_new ("signer", parent); + g_return_val_if_fail (swidget != NULL, NULL); + + combo = GTK_WIDGET (seahorse_widget_get_widget (swidget, "signer-select")); + g_return_val_if_fail (combo != NULL, NULL); + seahorse_combo_keys_attach (GTK_COMBO_BOX (combo), collection, NULL); + g_object_unref (collection); + + settings = G_SETTINGS (seahorse_pgp_settings_instance ()); + + /* Select the last key used */ + id = g_settings_get_string (settings, "last-signer"); + if (!id || !id[0]) + keyid = NULL; + else if (g_str_has_prefix (id, "openpgp:")) + keyid = id + strlen ("openpgp:"); + else + keyid = id; + seahorse_combo_keys_set_active_id (GTK_COMBO_BOX (combo), keyid); + g_free (id); + + widget = seahorse_widget_get_toplevel (swidget); + seahorse_widget_show (swidget); + + while (!done) { + response = gtk_dialog_run (GTK_DIALOG (widget)); + switch (response) { + case GTK_RESPONSE_HELP: + break; + case GTK_RESPONSE_OK: + ok = TRUE; + default: + done = TRUE; + break; + } + } + + if (ok) { + key = seahorse_combo_keys_get_active (GTK_COMBO_BOX (combo)); + + /* Save this as the last key signed with */ + g_settings_set_string (settings, "last-signer", + key ? seahorse_pgp_key_get_keyid (key) : NULL); + } + + seahorse_widget_destroy (swidget); + return key; +} diff --git a/pgp/seahorse-signer.ui b/pgp/seahorse-signer.ui new file mode 100644 index 00000000..5b726a6b --- /dev/null +++ b/pgp/seahorse-signer.ui @@ -0,0 +1,106 @@ + + + + + + 5 + Choose Signing Key + False + True + 400 + normal + + + True + 2 + + + True + 5 + 12 + + + True + 0 + _Sign message with key: + True + + + False + False + 0 + + + + + True + + + True + + + 0 + + + + + 1 + + + + + False + 1 + + + + + True + end + + + gtk-cancel + True + True + True + False + True + + + False + False + 0 + + + + + gtk-ok + True + True + True + True + True + False + True + + + False + False + 1 + + + + + False + end + 0 + + + + + + cancel + ok + + + diff --git a/pgp/seahorse-transfer.c b/pgp/seahorse-transfer.c new file mode 100644 index 00000000..292acd6a --- /dev/null +++ b/pgp/seahorse-transfer.c @@ -0,0 +1,299 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#undef G_LOG_DOMAIN +#define G_LOG_DOMAIN "operation" + +#include "seahorse-transfer.h" + +#include "seahorse-server-source.h" +#include "seahorse-gpgme-exporter.h" +#include "seahorse-gpgme-keyring.h" + +#include "seahorse-common.h" + +#include "libseahorse/seahorse-object-list.h" +#include "libseahorse/seahorse-progress.h" +#include "libseahorse/seahorse-util.h" + +#include + +#include + +typedef struct { + SeahorsePlace *from; + SeahorsePlace *to; + char **keyids; + GList *keys; +} TransferClosure; + +static void +transfer_closure_free (gpointer user_data) +{ + TransferClosure *closure = user_data; + g_clear_object (&closure->from); + g_clear_object (&closure->to); + g_strfreev (closure->keyids); + seahorse_object_list_free (closure->keys); + g_free (closure); +} + +static void +on_source_import_ready (GObject *object, + GAsyncResult *result, + gpointer user_data) +{ + g_autoptr(GTask) task = G_TASK (user_data); + TransferClosure *closure = g_task_get_task_data (task); + GCancellable *cancellable = g_task_get_cancellable (task); + GError *error = NULL; + g_autoptr(GList) results = NULL; + + g_debug ("[transfer] import done"); + seahorse_progress_end (cancellable, &closure->to); + + if (SEAHORSE_IS_GPGME_KEYRING (closure->to)) { + results = seahorse_gpgme_keyring_import_finish (SEAHORSE_GPGME_KEYRING (closure->to), + result, &error); + } else { + results = seahorse_server_source_import_finish (SEAHORSE_SERVER_SOURCE (closure->to), + result, &error); + } + + if (results != NULL) + g_cancellable_set_error_if_cancelled (cancellable, &error); + + if (error != NULL) + g_task_return_error (task, g_steal_pointer (&error)); + else + g_task_return_boolean (task, TRUE); +} + +static void +on_source_export_ready (GObject *object, + GAsyncResult *result, + gpointer user_data) +{ + g_autoptr(GTask) task = G_TASK (user_data); + TransferClosure *closure = g_task_get_task_data (task); + GCancellable *cancellable = g_task_get_cancellable (task); + GError *error = NULL; + gsize stream_size; + g_autoptr(GInputStream) input = NULL; + gpointer stream_data = NULL; + + g_debug ("[transfer] export done"); + seahorse_progress_end (cancellable, &closure->from); + + if (SEAHORSE_IS_SERVER_SOURCE (closure->from)) { + stream_data = seahorse_server_source_export_finish (SEAHORSE_SERVER_SOURCE (object), + result, &stream_size, &error); + + } else if (SEAHORSE_IS_GPGME_KEYRING (closure->from)) { + stream_data = seahorse_exporter_export_finish (SEAHORSE_EXPORTER (object), result, + &stream_size, &error); + + } else { + g_warning ("unsupported source for export: %s", G_OBJECT_TYPE_NAME (object)); + } + + if (error == NULL) + g_cancellable_set_error_if_cancelled (cancellable, &error); + + if (error != NULL) { + g_debug ("[transfer] stopped after export"); + g_task_return_error (task, g_steal_pointer (&error)); + return; + } + + seahorse_progress_begin (cancellable, &closure->to); + + if (!stream_size) { + g_debug ("[transfer] nothing to import"); + seahorse_progress_end (cancellable, &closure->to); + g_task_return_boolean (task, TRUE); + return; + } + + input = g_memory_input_stream_new_from_data (stream_data, stream_size, g_free); + stream_data = NULL; + stream_size = 0; + + g_debug ("[transfer] starting import"); + if (SEAHORSE_IS_GPGME_KEYRING (closure->to)) { + seahorse_gpgme_keyring_import_async (SEAHORSE_GPGME_KEYRING (closure->to), + input, cancellable, + on_source_import_ready, + g_steal_pointer (&task)); + } else { + seahorse_server_source_import_async (SEAHORSE_SERVER_SOURCE (closure->to), + input, cancellable, + on_source_import_ready, + g_steal_pointer (&task)); + } + + g_free (stream_data); +} + +static gboolean +on_timeout_start_transfer (gpointer user_data) +{ + GTask *task = G_TASK (user_data); + TransferClosure *closure = g_task_get_task_data (task); + GCancellable *cancellable = g_task_get_cancellable (task); + + g_assert (SEAHORSE_IS_PLACE (closure->from)); + + seahorse_progress_begin (cancellable, &closure->from); + if (SEAHORSE_IS_SERVER_SOURCE (closure->from)) { + g_assert (closure->keyids != NULL); + seahorse_server_source_export_async (SEAHORSE_SERVER_SOURCE (closure->from), + (const char **) closure->keyids, + cancellable, on_source_export_ready, + g_object_ref (task)); + return G_SOURCE_REMOVE; + } + + if (SEAHORSE_IS_GPGME_KEYRING (closure->from)) { + SeahorseExporter *exporter = NULL; + + g_assert (closure->keys != NULL); + exporter = seahorse_gpgme_exporter_new_multiple (closure->keys, TRUE); + seahorse_exporter_export (exporter, cancellable, + on_source_export_ready, g_object_ref (task)); + g_object_unref (exporter); + return G_SOURCE_REMOVE; + } + + g_warning ("unsupported source for transfer: %s", G_OBJECT_TYPE_NAME (closure->from)); + return G_SOURCE_REMOVE; +} + +void +seahorse_transfer_keys_async (SeahorsePlace *from, + SeahorsePlace *to, + GList *keys, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_autoptr(GTask) task = NULL; + TransferClosure *closure; + + g_return_if_fail (SEAHORSE_IS_PLACE (from)); + g_return_if_fail (SEAHORSE_IS_PLACE (to)); + + task = g_task_new (NULL, cancellable, callback, user_data); + g_task_set_source_tag (task, seahorse_transfer_finish); + + if (!keys) { + g_task_return_boolean (task, TRUE); + return; + } + + closure = g_new0 (TransferClosure, 1); + closure->from = g_object_ref (from); + closure->to = g_object_ref (to); + g_task_set_task_data (task, closure, transfer_closure_free); + + if (SEAHORSE_IS_GPGME_KEYRING (from)) { + closure->keys = seahorse_object_list_copy (keys); + + } else { + GPtrArray *keyids; + GList *l; + + keyids = g_ptr_array_new (); + for (l = keys; l != NULL; l = g_list_next (l)) + g_ptr_array_add (keyids, g_strdup (seahorse_pgp_key_get_keyid (l->data))); + g_ptr_array_add (keyids, NULL); + closure->keyids = (char **)g_ptr_array_free (keyids, FALSE); + } + + seahorse_progress_prep (cancellable, &closure->from, + SEAHORSE_IS_GPGME_KEYRING (closure->from) ? + _("Exporting data") : _("Retrieving data")); + seahorse_progress_prep (cancellable, &closure->to, + SEAHORSE_IS_GPGME_KEYRING (closure->to) ? + _("Importing data") : _("Sending data")); + + g_debug ("starting export"); + + /* We delay and continue from a callback */ + g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, 0, + on_timeout_start_transfer, + g_steal_pointer (&task), g_object_unref); +} + +void +seahorse_transfer_keyids_async (SeahorseServerSource *from, + SeahorsePlace *to, + const char **keyids, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_autoptr(GTask) task = NULL; + TransferClosure *closure; + + g_return_if_fail (SEAHORSE_IS_SERVER_SOURCE (from)); + g_return_if_fail (SEAHORSE_PLACE (to)); + + task = g_task_new (NULL, cancellable, callback, user_data); + g_task_set_source_tag (task, seahorse_transfer_finish); + + if (!keyids || !keyids[0]) { + g_task_return_boolean (task, TRUE); + return; + } + + closure = g_new0 (TransferClosure, 1); + closure->from = SEAHORSE_PLACE (g_object_ref (from)); + closure->to = g_object_ref (to); + closure->keyids = g_strdupv ((char **)keyids); + g_task_set_task_data (task, closure, transfer_closure_free); + + seahorse_progress_prep (cancellable, &closure->from, + SEAHORSE_IS_GPGME_KEYRING (closure->from) ? + _("Exporting data") : _("Retrieving data")); + seahorse_progress_prep (cancellable, &closure->to, + SEAHORSE_IS_GPGME_KEYRING (closure->to) ? + _("Importing data") : _("Sending data")); + + g_debug ("starting export"); + + /* We delay and continue from a callback */ + g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, 0, + on_timeout_start_transfer, + g_steal_pointer (&task), g_object_unref); +} + +gboolean +seahorse_transfer_finish (GAsyncResult *result, + GError **error) +{ + g_return_val_if_fail (g_task_is_valid (result, NULL), FALSE); + g_return_val_if_fail (g_task_get_source_tag (G_TASK (result)) + == seahorse_transfer_finish, FALSE); + + return g_task_propagate_boolean (G_TASK (result), error); +} diff --git a/pgp/seahorse-transfer.h b/pgp/seahorse-transfer.h new file mode 100644 index 00000000..7943ab06 --- /dev/null +++ b/pgp/seahorse-transfer.h @@ -0,0 +1,42 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include "seahorse-common.h" + +#include "seahorse-server-source.h" + +void seahorse_transfer_keyids_async (SeahorseServerSource *from, + SeahorsePlace *to, + const char **keyids, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +void seahorse_transfer_keys_async (SeahorsePlace *from, + SeahorsePlace *to, + GList *keys, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data); + +gboolean seahorse_transfer_finish (GAsyncResult *result, + GError **error); diff --git a/pgp/seahorse-unknown-source.c b/pgp/seahorse-unknown-source.c new file mode 100644 index 00000000..a4f4a308 --- /dev/null +++ b/pgp/seahorse-unknown-source.c @@ -0,0 +1,318 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-unknown-source.h" + +#include "seahorse-pgp-key.h" +#include "seahorse-unknown.h" + +#include + +#include + +enum { + PROP_0, + PROP_LABEL, + PROP_DESCRIPTION, + PROP_ICON, + PROP_CATEGORY, + PROP_URI, + PROP_ACTIONS, + PROP_ACTION_PREFIX, + PROP_MENU_MODEL, + PROP_SHOW_IF_EMPTY, + N_PROPS +}; + +struct _SeahorseUnknownSource { + GObject parent; + GHashTable *keys; +}; + +struct _SeahorseUnknownSourceClass { + GObjectClass parent_class; +}; + +static void seahorse_unknown_source_collection_iface (GcrCollectionIface *iface); + +static void seahorse_unknown_source_place_iface (SeahorsePlaceIface *iface); + +G_DEFINE_TYPE_WITH_CODE (SeahorseUnknownSource, seahorse_unknown_source, G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE (GCR_TYPE_COLLECTION, seahorse_unknown_source_collection_iface); + G_IMPLEMENT_INTERFACE (SEAHORSE_TYPE_PLACE, seahorse_unknown_source_place_iface); +); + +static void +seahorse_unknown_source_init (SeahorseUnknownSource *self) +{ + self->keys = g_hash_table_new_full (seahorse_pgp_keyid_hash, + seahorse_pgp_keyid_equal, + g_free, g_object_unref); +} + +static void +seahorse_unknown_source_load (SeahorsePlace *self, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_return_if_reached (); +} + +static gboolean +seahorse_unknown_source_load_finish (SeahorsePlace *self, + GAsyncResult *res, + GError **error) +{ + g_return_val_if_reached (FALSE); +} + +static gchar * +seahorse_unknown_source_get_label (SeahorsePlace* self) +{ + return g_strdup (""); +} + +static void +seahorse_unknown_source_set_label (SeahorsePlace *self, const char *label) +{ +} + +static gchar * +seahorse_unknown_source_get_description (SeahorsePlace* self) +{ + return NULL; +} + +static gchar * +seahorse_unknown_source_get_uri (SeahorsePlace* self) +{ + return NULL; +} + +static GIcon * +seahorse_unknown_source_get_icon (SeahorsePlace* self) +{ + return NULL; +} + +static SeahorsePlaceCategory +seahorse_unknown_source_get_category (SeahorsePlace *place) +{ + return SEAHORSE_PLACE_CATEGORY_KEYS; +} + +static GActionGroup * +seahorse_unknown_source_get_actions (SeahorsePlace* self) +{ + return NULL; +} + +static const gchar * +seahorse_unknown_source_get_action_prefix (SeahorsePlace* self) +{ + return NULL; +} + +static GMenuModel * +seahorse_unknown_source_get_menu_model (SeahorsePlace* self) +{ + return NULL; +} + +static gboolean +seahorse_unknown_source_get_show_if_empty (SeahorsePlace *place) +{ + return TRUE; +} + +static void +seahorse_unknown_source_get_property (GObject *obj, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + SeahorsePlace *place = SEAHORSE_PLACE (obj); + + switch (prop_id) { + case PROP_LABEL: + g_value_take_string (value, seahorse_unknown_source_get_label (place)); + break; + case PROP_DESCRIPTION: + g_value_take_string (value, seahorse_unknown_source_get_description (place)); + break; + case PROP_URI: + g_value_take_string (value, seahorse_unknown_source_get_uri (place)); + break; + case PROP_ICON: + g_value_take_object (value, seahorse_unknown_source_get_icon (place)); + break; + case PROP_CATEGORY: + g_value_set_enum (value, seahorse_unknown_source_get_category (place)); + break; + case PROP_ACTIONS: + g_value_take_object (value, seahorse_unknown_source_get_actions (place)); + break; + case PROP_ACTION_PREFIX: + g_value_set_string (value, seahorse_unknown_source_get_action_prefix (place)); + break; + case PROP_MENU_MODEL: + g_value_take_object (value, seahorse_unknown_source_get_menu_model (place)); + break; + case PROP_SHOW_IF_EMPTY: + g_value_set_boolean (value, TRUE); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec); + break; + } +} + +static void +seahorse_unknown_source_set_property (GObject *obj, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + SeahorsePlace *place = SEAHORSE_PLACE (obj); + + switch (prop_id) { + case PROP_LABEL: + seahorse_unknown_source_set_label (place, g_value_get_boxed (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec); + break; + } +} + +static void +seahorse_unknown_source_finalize (GObject *obj) +{ + SeahorseUnknownSource *self = SEAHORSE_UNKNOWN_SOURCE (obj); + + g_hash_table_destroy (self->keys); + + G_OBJECT_CLASS (seahorse_unknown_source_parent_class)->finalize (obj); +} + +static void +seahorse_unknown_source_class_init (SeahorseUnknownSourceClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->get_property = seahorse_unknown_source_get_property; + gobject_class->set_property = seahorse_unknown_source_set_property; + gobject_class->finalize = seahorse_unknown_source_finalize; + + g_object_class_override_property (gobject_class, PROP_LABEL, "label"); + g_object_class_override_property (gobject_class, PROP_DESCRIPTION, "description"); + g_object_class_override_property (gobject_class, PROP_ICON, "icon"); + g_object_class_override_property (gobject_class, PROP_CATEGORY, "category"); + g_object_class_override_property (gobject_class, PROP_ACTIONS, "actions"); + g_object_class_override_property (gobject_class, PROP_ACTION_PREFIX, "action-prefix"); + g_object_class_override_property (gobject_class, PROP_MENU_MODEL, "menu-model"); + g_object_class_override_property (gobject_class, PROP_URI, "uri"); + g_object_class_override_property (gobject_class, PROP_SHOW_IF_EMPTY, "show-if-empty"); +} + +static guint +seahorse_unknown_source_get_length (GcrCollection *collection) +{ + SeahorseUnknownSource *self = SEAHORSE_UNKNOWN_SOURCE (collection); + return g_hash_table_size (self->keys); +} + +static GList * +seahorse_unknown_source_get_objects (GcrCollection *collection) +{ + SeahorseUnknownSource *self = SEAHORSE_UNKNOWN_SOURCE (collection); + return g_hash_table_get_values (self->keys); +} + +static gboolean +seahorse_unknown_source_contains (GcrCollection *collection, + GObject *object) +{ + SeahorseUnknownSource *self = SEAHORSE_UNKNOWN_SOURCE (collection); + const gchar *identifier = seahorse_object_get_identifier (SEAHORSE_OBJECT (object)); + return g_hash_table_lookup (self->keys, identifier) == object; +} + +static void +seahorse_unknown_source_collection_iface (GcrCollectionIface *iface) +{ + iface->contains = seahorse_unknown_source_contains; + iface->get_length = seahorse_unknown_source_get_length; + iface->get_objects = seahorse_unknown_source_get_objects; +} + +static void +seahorse_unknown_source_place_iface (SeahorsePlaceIface *iface) +{ + iface->load = seahorse_unknown_source_load; + iface->load_finish = seahorse_unknown_source_load_finish; + iface->get_actions = seahorse_unknown_source_get_actions; + iface->get_menu_model = seahorse_unknown_source_get_menu_model; + iface->get_description = seahorse_unknown_source_get_description; + iface->get_icon = seahorse_unknown_source_get_icon; + iface->get_category = seahorse_unknown_source_get_category; + iface->get_label = seahorse_unknown_source_get_label; + iface->set_label = seahorse_unknown_source_set_label; + iface->get_uri = seahorse_unknown_source_get_uri; + iface->get_show_if_empty = seahorse_unknown_source_get_show_if_empty; +} + +SeahorseUnknownSource* +seahorse_unknown_source_new (void) +{ + return g_object_new (SEAHORSE_TYPE_UNKNOWN_SOURCE, NULL); +} + +static void +on_cancellable_gone (gpointer user_data, + GObject *where_the_object_was) +{ + /* TODO: Change the icon */ +} + +SeahorseObject * +seahorse_unknown_source_add_object (SeahorseUnknownSource *self, + const gchar *keyid, + GCancellable *cancellable) +{ + SeahorseObject *object; + + g_return_val_if_fail (keyid != NULL, NULL); + g_return_val_if_fail (!cancellable || G_IS_CANCELLABLE (cancellable), NULL); + + object = g_hash_table_lookup (self->keys, keyid); + if (object == NULL) { + object = SEAHORSE_OBJECT (seahorse_unknown_new (self, keyid, NULL)); + g_hash_table_insert (self->keys, g_strdup (keyid), object); + } + + if (cancellable) + g_object_weak_ref (G_OBJECT (cancellable), on_cancellable_gone, object); + + return object; +} diff --git a/pgp/seahorse-unknown-source.h b/pgp/seahorse-unknown-source.h new file mode 100644 index 00000000..a9f6a1b2 --- /dev/null +++ b/pgp/seahorse-unknown-source.h @@ -0,0 +1,42 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include "seahorse-common.h" + +#define SEAHORSE_TYPE_UNKNOWN_SOURCE (seahorse_unknown_source_get_type ()) +#define SEAHORSE_UNKNOWN_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_UNKNOWN_SOURCE, SeahorseUnknownSource)) +#define SEAHORSE_UNKNOWN_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_TYPE_UNKNOWN_SOURCE, SeahorseUnknownSourceClass)) +#define SEAHORSE_IS_UNKNOWN_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_TYPE_UNKNOWN_SOURCE)) +#define SEAHORSE_IS_UNKNOWN_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_TYPE_UNKNOWN_SOURCE)) +#define SEAHORSE_UNKNOWN_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_TYPE_UNKNOWN_SOURCE, SeahorseUnknownSourceClass)) + +typedef struct _SeahorseUnknownSource SeahorseUnknownSource; +typedef struct _SeahorseUnknownSourceClass SeahorseUnknownSourceClass; +typedef struct _SeahorseUnknownSourcePrivate SeahorseUnknownSourcePrivate; + +GType seahorse_unknown_source_get_type (void); + +SeahorseUnknownSource* seahorse_unknown_source_new (void); + +SeahorseObject* seahorse_unknown_source_add_object (SeahorseUnknownSource *self, + const gchar *keyid, + GCancellable *cancellable); diff --git a/pgp/seahorse-unknown.c b/pgp/seahorse-unknown.c new file mode 100644 index 00000000..319620e4 --- /dev/null +++ b/pgp/seahorse-unknown.c @@ -0,0 +1,67 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-pgp-key.h" +#include "seahorse-unknown.h" +#include "seahorse-unknown-source.h" + +#include + +G_DEFINE_TYPE (SeahorseUnknown, seahorse_unknown, SEAHORSE_TYPE_OBJECT); + +/* ----------------------------------------------------------------------------- + * OBJECT + */ + + +static void +seahorse_unknown_init (SeahorseUnknown *self) +{ + +} + +static void +seahorse_unknown_class_init (SeahorseUnknownClass *klass) +{ + +} + +/* ----------------------------------------------------------------------------- + * PUBLIC METHODS + */ + +SeahorseUnknown* +seahorse_unknown_new (SeahorseUnknownSource *source, + const gchar *keyid, + const gchar *display) +{ + const char *identifier; + + if (!display) + display = _("Unavailable"); + identifier = seahorse_pgp_key_calc_identifier (keyid); + + return g_object_new (SEAHORSE_TYPE_UNKNOWN, + "place", source, + "label", display, + "identifier", identifier, + NULL); +} diff --git a/pgp/seahorse-unknown.h b/pgp/seahorse-unknown.h new file mode 100644 index 00000000..304b2398 --- /dev/null +++ b/pgp/seahorse-unknown.h @@ -0,0 +1,52 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#pragma once + +#include + +#include "seahorse-common.h" +#include "seahorse-unknown-source.h" + +#define SEAHORSE_TYPE_UNKNOWN (seahorse_unknown_get_type ()) +#define SEAHORSE_UNKNOWN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_UNKNOWN, SeahorseUnknown)) +#define SEAHORSE_UNKNOWN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_TYPE_UNKNOWN, SeahorseUnknownClass)) +#define SEAHORSE_IS_UNKNOWN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_TYPE_UNKNOWN)) +#define SEAHORSE_IS_UNKNOWN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_TYPE_UNKNOWN)) +#define SEAHORSE_UNKNOWN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_TYPE_UNKNOWN, SeahorseUnknownClass)) + +typedef struct _SeahorseUnknown SeahorseUnknown; +typedef struct _SeahorseUnknownClass SeahorseUnknownClass; + +struct _SeahorseUnknown { + SeahorseObject parent; + + /*< public >*/ + gchar *display; +}; + +struct _SeahorseUnknownClass { + SeahorseObjectClass parent_class; +}; + +GType seahorse_unknown_get_type (void); + +SeahorseUnknown* seahorse_unknown_new (SeahorseUnknownSource *usrc, + const gchar *keyid, + const gchar *display); diff --git a/pgp/seahorse-xloadimage.c b/pgp/seahorse-xloadimage.c new file mode 100644 index 00000000..8b2b9125 --- /dev/null +++ b/pgp/seahorse-xloadimage.c @@ -0,0 +1,55 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +#include +#include + +#define BUF_SIZE 4096 + +int main (int argc, char* argv[]) +{ + unsigned char buf[BUF_SIZE]; + const char* fname; + size_t len; + FILE* f; + + fname = getenv ("SEAHORSE_IMAGE_FILE"); + if (!fname) { + fprintf (stderr, "seahorse-xloadimage: specify output file in $SEAHORSE_IMAGE_FILE\n"); + exit (2); + } + + f = fopen (fname, "wb"); + if (!f) { + fprintf (stderr, "seahorse-xloadimage: couldn't open output file: %s", fname); + exit (1); + } + + do { + len = fread (buf, sizeof(unsigned char), BUF_SIZE, stdin); + } while (fwrite (buf, sizeof(unsigned char), len, f) == BUF_SIZE); + + if (ferror (f)) { + fprintf (stderr, "seahorse-xloadimage: couldn't write to output file: %s", fname); + exit (1); + } + + fclose(f); + return 0; +} diff --git a/pkcs11/certificate-der-exporter.vala b/pkcs11/certificate-der-exporter.vala new file mode 100644 index 00000000..57e6ec25 --- /dev/null +++ b/pkcs11/certificate-der-exporter.vala @@ -0,0 +1,85 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2012 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + * Author: Stef Walter + */ + +namespace Seahorse { + +public class CertificateDerExporter : GLib.Object, Exporter { + private Gcr.Certificate _certificate; + private GLib.List _objects; + + public CertificateDerExporter(Gcr.Certificate certificate) + { + this._certificate = certificate; + this._objects.append(certificate); + } + + public string filename { + owned get { + string? label = null; + if (this._certificate != null) { + label = this._certificate.label; + if (label == null) + label = this._certificate.description; + } + if (label == null) + label = _("Certificate"); + + string filename = label + ".crt"; + return filename.delimit(BAD_FILENAME_CHARS, '_'); + } + } + + public string content_type { + get { return "application/pkix-cert"; } + } + + public Gtk.FileFilter file_filter { + owned get { + var filter = new Gtk.FileFilter(); + filter.set_name(_("Certificates (DER encoded)")); + filter.add_mime_type ("application/pkix-cert"); + filter.add_mime_type ("application/x-x509-ca-cert"); + filter.add_mime_type ("application/x-x509-user-cert"); + filter.add_pattern ("*.cer"); + filter.add_pattern ("*.crt"); + filter.add_pattern ("*.cert"); + + return filter; + + } + } + + public unowned GLib.List get_objects() { + return this._objects; + } + + public bool add_object(GLib.Object obj) { + return false; + } + + public async uchar[] export(GLib.Cancellable? cancellable) + throws GLib.Error { + return this._certificate.get_der_data(); + } + +} + +} diff --git a/pkcs11/cryptoki.vapi b/pkcs11/cryptoki.vapi new file mode 100644 index 00000000..3fb709a0 --- /dev/null +++ b/pkcs11/cryptoki.vapi @@ -0,0 +1,397 @@ +/* + * Seahorse + * + * Copyright (C) 2018 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +/** + * Although there are some VAPI files that take care of the bindings to + * Cryptoki, they are woefully inadequate, so maintain our own bindings here + * for now. + * + * Most of these were made by taking some stuff of the header and doing some + * regex magix on them. + */ +[CCode (cprefix = "CK_")] +namespace Cryptoki { + [CCode (cname = "ulong", cprefix = "CKA_", has_type_id = false)] + public enum Attribute { + CLASS, + TOKEN, + PRIVATE, + LABEL, + APPLICATION, + VALUE, + OBJECT_ID, + CERTIFICATE_TYPE, + ISSUER, + SERIAL_NUMBER, + AC_ISSUER, + OWNER, + ATTR_TYPES, + TRUSTED, + CERTIFICATE_CATEGORY, + JAVA_MIDP_SECURITY_DOMAIN, + URL, + HASH_OF_SUBJECT_PUBLIC_KEY, + HASH_OF_ISSUER_PUBLIC_KEY, + CHECK_VALUE, + KEY_TYPE, + SUBJECT, + ID, + SENSITIVE, + ENCRYPT, + DECRYPT, + WRAP, + UNWRAP, + SIGN, + SIGN_RECOVER, + VERIFY, + VERIFY_RECOVER, + DERIVE, + START_DATE, + END_DATE, + MODULUS, + MODULUS_BITS, + PUBLIC_EXPONENT, + PRIVATE_EXPONENT, + PRIME_1, + PRIME_2, + EXPONENT_1, + EXPONENT_2, + COEFFICIENT, + PRIME, + SUBPRIME, + BASE, + PRIME_BITS, + SUB_PRIME_BITS, + VALUE_BITS, + VALUE_LEN, + EXTRACTABLE, + LOCAL, + NEVER_EXTRACTABLE, + ALWAYS_SENSITIVE, + KEY_GEN_MECHANISM, + MODIFIABLE, + COPYABLE, + ECDSA_PARAMS, + EC_PARAMS, + EC_POINT, + SECONDARY_AUTH, + AUTH_PIN_FLAGS, + ALWAYS_AUTHENTICATE, + WRAP_WITH_TRUSTED, + OTP_FORMAT, + OTP_LENGTH, + OTP_TIME_INTERVAL, + OTP_USER_FRIENDLY_MODE, + OTP_CHALLENGE_REQUIREMENT, + OTP_TIME_REQUIREMENT, + OTP_COUNTER_REQUIREMENT, + OTP_PIN_REQUIREMENT, + OTP_USER_IDENTIFIER, + OTP_SERVICE_IDENTIFIER, + OTP_SERVICE_LOGO, + OTP_SERVICE_LOGO_TYPE, + OTP_COUNTER, + OTP_TIME, + GOSTR3410_PARAMS, + GOSTR3411_PARAMS, + GOST28147_PARAMS, + HW_FEATURE_TYPE, + RESET_ON_INIT, + HAS_RESET, + PIXEL_X, + PIXEL_Y, + RESOLUTION, + CHAR_ROWS, + CHAR_COLUMNS, + COLOR, + BITS_PER_PIXEL, + CHAR_SETS, + ENCODING_METHODS, + MIME_TYPES, + MECHANISM_TYPE, + REQUIRED_CMS_ATTRIBUTES, + DEFAULT_CMS_ATTRIBUTES, + SUPPORTED_CMS_ATTRIBUTES, + WRAP_TEMPLATE, + UNWRAP_TEMPLATE, + ALLOWED_MECHANISMS, + VENDOR_DEFINED, + } + + [CCode (cname = "ulong", cprefix = "CKM_", has_type_id = false)] + public enum MechanismType { + RSA_PKCS_KEY_PAIR_GEN, + RSA_PKCS, + RSA_9796, + RSA_X_509, + MD2_RSA_PKCS, + MD5_RSA_PKCS, + SHA1_RSA_PKCS, + RIPEMD128_RSA_PKCS, + RIPEMD160_RSA_PKCS, + RSA_PKCS_OAEP, + RSA_X9_31_KEY_PAIR_GEN, + RSA_X9_31, + SHA1_RSA_X9_31, + RSA_PKCS_PSS, + SHA1_RSA_PKCS_PSS, + DSA_KEY_PAIR_GEN, + DSA, + DSA_SHA1, + DH_PKCS_KEY_PAIR_GEN, + DH_PKCS_DERIVE, + X9_42_DH_KEY_PAIR_GEN, + X9_42_DH_DERIVE, + X9_42_DH_HYBRID_DERIVE, + X9_42_MQV_DERIVE, + SHA256_RSA_PKCS, + SHA384_RSA_PKCS, + SHA512_RSA_PKCS, + SHA256_RSA_PKCS_PSS, + SHA384_RSA_PKCS_PSS, + SHA512_RSA_PKCS_PSS, + RC2_KEY_GEN, + RC2_ECB, + RC2_CBC, + RC2_MAC, + RC2_MAC_GENERAL, + RC2_CBC_PAD, + RC4_KEY_GEN, + RC4, + DES_KEY_GEN, + DES_ECB, + DES_CBC, + DES_MAC, + DES_MAC_GENERAL, + DES_CBC_PAD, + DES2_KEY_GEN, + DES3_KEY_GEN, + DES3_ECB, + DES3_CBC, + DES3_MAC, + DES3_MAC_GENERAL, + DES3_CBC_PAD, + CDMF_KEY_GEN, + CDMF_ECB, + CDMF_CBC, + CDMF_MAC, + CDMF_MAC_GENERAL, + CDMF_CBC_PAD, + DES_OFB64, + DES_OFB8, + DES_CFB64, + DES_CFB8, + MD2, + MD2_HMAC, + MD2_HMAC_GENERAL, + MD5, + MD5_HMAC, + MD5_HMAC_GENERAL, + SHA_1, + SHA_1_HMAC, + SHA_1_HMAC_GENERAL, + RIPEMD128, + RIPEMD128_HMAC, + RIPEMD128_HMAC_GENERAL, + RIPEMD160, + RIPEMD160_HMAC, + RIPEMD160_HMAC_GENERAL, + SHA256, + SHA256_HMAC, + SHA256_HMAC_GENERAL, + SHA384, + SHA384_HMAC, + SHA384_HMAC_GENERAL, + SHA512, + SHA512_HMAC, + SHA512_HMAC_GENERAL, + SECURID_KEY_GEN, + SECURID, + HOTP_KEY_GEN, + HOTP, + ACTI, + ACTI_KEY_GEN, + CAST_KEY_GEN, + CAST_ECB, + CAST_CBC, + CAST_MAC, + CAST_MAC_GENERAL, + CAST_CBC_PAD, + CAST3_KEY_GEN, + CAST3_ECB, + CAST3_CBC, + CAST3_MAC, + CAST3_MAC_GENERAL, + CAST3_CBC_PAD, + CAST5_KEY_GEN, + CAST128_KEY_GEN, + CAST5_ECB, + CAST128_ECB, + CAST5_CBC, + CAST128_CBC, + CAST5_MAC, + CAST128_MAC, + CAST5_MAC_GENERAL, + CAST128_MAC_GENERAL, + CAST5_CBC_PAD, + CAST128_CBC_PAD, + RC5_KEY_GEN, + RC5_ECB, + RC5_CBC, + RC5_MAC, + RC5_MAC_GENERAL, + RC5_CBC_PAD, + IDEA_KEY_GEN, + IDEA_ECB, + IDEA_CBC, + IDEA_MAC, + IDEA_MAC_GENERAL, + IDEA_CBC_PAD, + GENERIC_SECRET_KEY_GEN, + CONCATENATE_BASE_AND_KEY, + CONCATENATE_BASE_AND_DATA, + CONCATENATE_DATA_AND_BASE, + XOR_BASE_AND_DATA, + EXTRACT_KEY_FROM_KEY, + SSL3_PRE_MASTER_KEY_GEN, + SSL3_MASTER_KEY_DERIVE, + SSL3_KEY_AND_MAC_DERIVE, + SSL3_MASTER_KEY_DERIVE_DH, + TLS_PRE_MASTER_KEY_GEN, + TLS_MASTER_KEY_DERIVE, + TLS_KEY_AND_MAC_DERIVE, + TLS_MASTER_KEY_DERIVE_DH, + TLS_PRF, + SSL3_MD5_MAC, + SSL3_SHA1_MAC, + MD5_KEY_DERIVATION, + MD2_KEY_DERIVATION, + SHA1_KEY_DERIVATION, + SHA256_KEY_DERIVATION, + SHA384_KEY_DERIVATION, + SHA512_KEY_DERIVATION, + PBE_MD2_DES_CBC, + PBE_MD5_DES_CBC, + PBE_MD5_CAST_CBC, + PBE_MD5_CAST3_CBC, + PBE_MD5_CAST5_CBC, + PBE_MD5_CAST128_CBC, + PBE_SHA1_CAST5_CBC, + PBE_SHA1_CAST128_CBC, + PBE_SHA1_RC4_128, + PBE_SHA1_RC4_40, + PBE_SHA1_DES3_EDE_CBC, + PBE_SHA1_DES2_EDE_CBC, + PBE_SHA1_RC2_128_CBC, + PBE_SHA1_RC2_40_CBC, + PKCS5_PBKD2, + PBA_SHA1_WITH_SHA1_HMAC, + WTLS_PRE_MASTER_KEY_GEN, + WTLS_MASTER_KEY_DERIVE, + WTLS_MASTER_KEY_DERIVE_DH_ECC, + WTLS_PRF, + WTLS_SERVER_KEY_AND_MAC_DERIVE, + WTLS_CLIENT_KEY_AND_MAC_DERIVE, + KEY_WRAP_LYNKS, + KEY_WRAP_SET_OAEP, + CMS_SIG, + SKIPJACK_KEY_GEN, + SKIPJACK_ECB64, + SKIPJACK_CBC64, + SKIPJACK_OFB64, + SKIPJACK_CFB64, + SKIPJACK_CFB32, + SKIPJACK_CFB16, + SKIPJACK_CFB8, + SKIPJACK_WRAP, + SKIPJACK_PRIVATE_WRAP, + SKIPJACK_RELAYX, + KEA_KEY_PAIR_GEN, + KEA_KEY_DERIVE, + FORTEZZA_TIMESTAMP, + BATON_KEY_GEN, + BATON_ECB128, + BATON_ECB96, + BATON_CBC128, + BATON_COUNTER, + BATON_SHUFFLE, + BATON_WRAP, + ECDSA_KEY_PAIR_GEN, + EC_KEY_PAIR_GEN, + ECDSA, + ECDSA_SHA1, + ECDH1_DERIVE, + ECDH1_COFACTOR_DERIVE, + ECMQV_DERIVE, + JUNIPER_KEY_GEN, + JUNIPER_ECB128, + JUNIPER_CBC128, + JUNIPER_COUNTER, + JUNIPER_SHUFFLE, + JUNIPER_WRAP, + FASTHASH, + AES_KEY_GEN, + AES_ECB, + AES_CBC, + AES_MAC, + AES_MAC_GENERAL, + AES_CBC_PAD, + BLOWFISH_KEY_GEN, + BLOWFISH_CBC, + TWOFISH_KEY_GEN, + TWOFISH_CBC, + DES_ECB_ENCRYPT_DATA, + DES_CBC_ENCRYPT_DATA, + DES3_ECB_ENCRYPT_DATA, + DES3_CBC_ENCRYPT_DATA, + AES_ECB_ENCRYPT_DATA, + AES_CBC_ENCRYPT_DATA, + GOSTR3410_KEY_PAIR_GEN, + GOSTR3410, + GOSTR3410_WITH_GOSTR3411, + GOSTR3410_KEY_WRAP, + GOSTR3410_DERIVE, + GOSTR3411, + GOSTR3411_HMAC, + GOST28147_KEY_GEN, + GOST28147_ECB, + GOST28147, + GOST28147_MAC, + GOST28147_KEY_WRAP, + DSA_PARAMETER_GEN, + DH_PKCS_PARAMETER_GEN, + X9_42_DH_PARAMETER_GEN, + VENDOR_DEFINED, + } + + [CCode (cname = "ulong", cprefix = "CKO_", has_type_id = false)] + public enum ObjectClass { + DATA, + CERTIFICATE, + PUBLIC_KEY, + PRIVATE_KEY, + SECRET_KEY, + HW_FEATURE, + DOMAIN_PARAMETERS, + MECHANISM, + OTP_KEY, + VENDOR_DEFINED, + } +} diff --git a/pkcs11/meson.build b/pkcs11/meson.build new file mode 100644 index 00000000..342bc1c9 --- /dev/null +++ b/pkcs11/meson.build @@ -0,0 +1,37 @@ +pkcs11_sources = files( + 'certificate-der-exporter.vala', + 'pkcs11-certificate.vala', + 'pkcs11-deleter.vala', + 'pkcs11-generate.vala', + 'pkcs11-key-deleter.vala', + 'pkcs11-module.vala', + 'pkcs11-private-key.vala', + 'pkcs11-properties.vala', + 'pkcs11-request.vala', + 'pkcs11-token.vala', + + 'cryptoki.vapi', + 'seahorse-pkcs11-backend.c', +) + +pkcs11_deps = [ + glib_deps, + gcr_ui, + pkcs11_dep, + common_dep, +] + +pkcs11_vala_args = [ + '--gresources', resources_xml, +] + +pkcs11_lib = static_library('seahorse-pkcs11', + pkcs11_sources, + dependencies: pkcs11_deps, + vala_args: pkcs11_vala_args, +) + +pkcs11_dep = declare_dependency( + link_with: pkcs11_lib, + include_directories: include_directories('.'), +) diff --git a/pkcs11/pkcs11-certificate.vala b/pkcs11/pkcs11-certificate.vala new file mode 100644 index 00000000..03e626cf --- /dev/null +++ b/pkcs11/pkcs11-certificate.vala @@ -0,0 +1,244 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2013 Red Hat, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + */ + +namespace Seahorse { +namespace Pkcs11 { + +public class Certificate : Gck.Object, Gcr.Comparable, Gcr.Certificate, + Gck.ObjectCache, Deletable, Exportable, Viewable { + public Token? place { + owned get { return (Token?)this._token.get(); } + set { this._token.set(value); } + } + + public Flags object_flags { + get { ensure_flags(); return this._flags; } + } + + public Gtk.ActionGroup? actions { + get { return null; } + } + + public PrivateKey? partner { + owned get { return (PrivateKey?)this._private_key.get(); } + set { + this._private_key.set(value); + this._icon = null; + this.notify_property("partner"); + this.notify_property("icon"); + this.notify_property("description"); + } + } + + public Gck.Attributes attributes { + owned get { return this._attributes; } + set { + this._attributes = value; + this.notify_property("attributes"); + } + } + + public bool deletable { + get { + var token = this.place; + if (token == null) + return false; + return token.is_deletable(this); + } + } + + public bool exportable { + get { return this._der != null; } + } + + public GLib.Icon icon { + owned get { + if (this._icon != null) + return this._icon; + var icon = new GLib.ThemedIcon(Gcr.ICON_CERTIFICATE); + if (this._private_key.get() != null) { + var eicon = new GLib.ThemedIcon (Gcr.ICON_KEY); + var emblem = new GLib.Emblem (eicon); + this._icon = new GLib.EmblemedIcon (icon, emblem); + } else { + this._icon = icon; + } + return this._icon; + } + } + + public string description { + owned get { + ensure_flags (); + if (this._private_key.get() != null) + return _("Personal certificate and key"); + if ((this._flags & Flags.PERSONAL) == Flags.PERSONAL) + return _("Personal certificate"); + else + return _("Certificate"); + } + } + + public string? label { + owned get { return get_subject_name(); } + } + + public string? subject { + owned get { return get_subject_name(); } + } + + public string? markup { + owned get { return get_markup_text(); } + } + + public string? issuer { + owned get { return get_issuer_name(); } + } + + public GLib.Date expiry { + owned get { return get_expiry_date(); } + } + + private GLib.WeakRef _token; + private Gck.Attributes? _attributes; + private unowned Gck.Attribute? _der; + private GLib.WeakRef _private_key; + private GLib.Icon? _icon; + private Flags _flags; + + private static uint8[] EMPTY = { }; + + construct { + this._flags = (Flags)uint.MAX; + this._der = null; + this._private_key = GLib.WeakRef(null); + this._token = GLib.WeakRef(null); + + this.notify.connect((pspec) => { + if (pspec.name != "attributes") + return; + if (this._attributes != null) + this._der = this._attributes.find(CKA.VALUE); + notify_property ("label"); + notify_property ("markup"); + notify_property ("subject"); + notify_property ("issuer"); + notify_property ("expiry"); + }); + + if (this._attributes != null) + this._der = this._attributes.find(CKA.VALUE); + } + + public override void dispose() { + this.partner = null; + base.dispose(); + } + + public Gtk.Window? create_viewer(Gtk.Window? parent) { + var viewer = new Pkcs11.Properties(this, parent); + viewer.show(); + return viewer; + } + + public Seahorse.Deleter create_deleter() { + Seahorse.Deleter deleter; + + PrivateKey? key = this.partner; + if (key == null) { + deleter = new Pkcs11.Deleter(this); + } else { + deleter = key.create_deleter(); + if (!deleter.add_object(this)) + GLib.return_val_if_reached(null); + } + + return deleter; + } + + public GLib.List create_exporters(ExporterType type) { + var exporters = new GLib.List(); + + if (this.exportable) { + var exporter = new CertificateDerExporter(this); + exporters.append(exporter); + } + + return exporters; + } + + public void fill(Gck.Attributes attributes) { + Gck.Builder builder = new Gck.Builder(Gck.BuilderFlags.NONE); + + if (this._attributes != null) + builder.add_all(this._attributes); + builder.set_all(attributes); + this._attributes = builder.steal(); + this.notify_property("attributes"); + } + + [CCode (array_length_type = "gsize")] + public unowned uint8[] get_der_data() { + if (this._der == null) + return EMPTY; + return this._der.get_data(); + } + + public int compare (Gcr.Comparable? other) { + if (other == null) + return -1; + unowned uint8[] data1 = this.get_der_data(); + unowned uint8[] data2 = ((Gcr.Certificate)other).get_der_data(); + return Gcr.Comparable.memcmp(data1, data2); + } + + private Flags calc_is_personal_and_trusted() { + ulong category = 0; + bool is_ca; + + /* If a matching private key, then this is personal*/ + if (this._private_key.get() != null) + return Flags.PERSONAL | Flags.TRUSTED; + + if (this._attributes != null && + this._attributes.find_ulong (CKA.CERTIFICATE_CATEGORY, out category)) { + if (category == 2) + return 0; + else if (category == 1) + return Flags.PERSONAL; + } + + if (get_basic_constraints (out is_ca, null)) + return is_ca ? 0 : Flags.PERSONAL; + + return Flags.PERSONAL; + } + + private void ensure_flags() { + if (this._flags == uint.MAX) + this._flags = Flags.EXPORTABLE | calc_is_personal_and_trusted (); + } +} + +} +} diff --git a/pkcs11/pkcs11-deleter.vala b/pkcs11/pkcs11-deleter.vala new file mode 100644 index 00000000..475b30c4 --- /dev/null +++ b/pkcs11/pkcs11-deleter.vala @@ -0,0 +1,83 @@ +/* + * Seahorse + * + * Copyright (C) 2013 Red Hat Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * Author: Stef Walter + */ + +namespace Seahorse { +namespace Pkcs11 { + +public class Deleter : Seahorse.Deleter { + protected GLib.List objects; + + public override Gtk.Dialog create_confirm(Gtk.Window? parent) { + var num = this.objects.length(); + if (num == 1) { + string label; + this.objects.data.get("label", out label); + return new DeleteDialog(parent, _("Are you sure you want to permanently delete %s?"), label); + } else { + return new DeleteDialog(parent, GLib.ngettext ("Are you sure you want to permanently delete %d certificate?", + "Are you sure you want to permanently delete %d certificates?", num), num); + } + } + + public Deleter(Gck.Object object) { + if (!add_object(object)) + GLib.assert_not_reached(); + } + + public override unowned GLib.List get_objects() { + return this.objects; + } + + public override bool add_object (GLib.Object obj) { + if (obj is Certificate) { + this.objects.append((Gck.Object)obj); + return true; + } + return false; + } + + public override async bool delete(GLib.Cancellable? cancellable) throws GLib.Error { + var objects = this.objects.copy(); + foreach (var object in objects) { + try { + yield object.destroy_async(cancellable); + + Token? token; + object.get("place", out token); + if (token != null) + token.remove_object(object); + + } catch (GLib.Error e) { + /* Ignore objects that have gone away */ + if (e.domain != Gck.Error.get_quark() || + e.code != CKR.OBJECT_HANDLE_INVALID) + throw e; + } + } + return true; + } +} + + +} +} diff --git a/pkcs11/pkcs11-generate.vala b/pkcs11/pkcs11-generate.vala new file mode 100644 index 00000000..adb575aa --- /dev/null +++ b/pkcs11/pkcs11-generate.vala @@ -0,0 +1,276 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +// FIXME: damn broken bindings +extern Gcr.CollectionModel gcr_collection_model_new(Gcr.Collection collection, + Gcr.CollectionModelMode mode, ...); + +[GtkTemplate (ui = "/org/gnome/Seahorse/seahorse-pkcs11-generate.ui")] +public class Seahorse.Pkcs11.Generate : Gtk.Dialog { + + [GtkChild] + private Gtk.Entry label_entry; + + private Pkcs11.Token? token; + [GtkChild] + private Gtk.ComboBox token_box; + private Gcr.CollectionModel? token_model; + + private Gck.Mechanism? mechanism; + private Gtk.ListStore? mechanism_store; + [GtkChild] + private Gtk.ComboBox mechanism_box; + + [GtkChild] + private Gtk.SpinButton key_bits; + + private Cancellable? cancellable; + private Gck.Attributes? pub_attrs; + private Gck.Attributes? prv_attrs; + + private enum Column { + LABEL, + TYPE, + N_COLS + } + + private struct Mechanism { + ulong mechanism_type; + unowned string label; + } + private const Mechanism[] AVAILABLE_MECHANISMS = { + { Cryptoki.MechanismType.RSA_PKCS_KEY_PAIR_GEN, N_("RSA") }, + }; + + construct { + this.use_header_bar = 1; + this.key_bits.set_range(0, int.MAX); /* updated later */ + this.key_bits.set_increments(128, 128); + this.key_bits.set_value(2048); + + // The mechanism + this.mechanism_store = new Gtk.ListStore(2, typeof(string), typeof(ulong)); + this.mechanism_store.set_default_sort_func(on_mechanism_sort); + this.mechanism_store.set_sort_column_id(Gtk.TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, Gtk.SortType.ASCENDING); + this.mechanism_box.set_model(this.mechanism_store); + Gtk.CellRenderer renderer = new Gtk.CellRendererText(); + this.mechanism_box.pack_start(renderer, true); + this.mechanism_box.add_attribute(renderer, "markup", Column.LABEL); + this.mechanism_box.changed.connect(on_mechanism_changed); + + // The tokens + Gcr.Collection collection = Pkcs11.Backend.get_writable_tokens(null, Cryptoki.MechanismType.RSA_PKCS_KEY_PAIR_GEN); + this.token_model = gcr_collection_model_new(collection, Gcr.CollectionModelMode.LIST, + "icon", typeof(Icon), "label", typeof(string), + null); + this.token_model.set_sort_column_id(1, Gtk.SortType.ASCENDING); + this.token_box.set_model(this.token_model); + Gtk.CellRendererPixbuf icon_renderer = new Gtk.CellRendererPixbuf(); + icon_renderer.stock_size = Gtk.IconSize.BUTTON; + this.token_box.pack_start(icon_renderer, false); + this.token_box.add_attribute(icon_renderer, "gicon", 0); + renderer = new Gtk.CellRendererText(); + this.token_box.pack_start(renderer, true); + this.token_box.add_attribute(renderer, "text", 1); + this.token_box.changed.connect(on_token_changed); + if (collection.get_length() > 0) + this.token_box.active = 0; + + set_default_response (Gtk.ResponseType.OK); + + update_response (); + } + + public Generate(Gtk.Window? parent) { + GLib.Object(transient_for: parent); + } + + ~Generate() { + this.token = null; + this.token_model = null; + + this.mechanism = null; + this.mechanism_store = null; + + this.cancellable = null; + this.pub_attrs = this.prv_attrs = null; + } + + private void update_response() { + set_response_sensitive(Gtk.ResponseType.OK, this.token != null && this.mechanism != null); + } + + private unowned string? get_available_mechanism_label (ulong type) { + foreach (Mechanism mechanism in AVAILABLE_MECHANISMS) { + if (mechanism.mechanism_type == type) + return mechanism.label; + } + + return null; + } + + private void on_token_changed(Gtk.ComboBox combo_box) { + this.token = null; + + Gtk.TreeIter iter; + if (combo_box.get_active_iter(out iter)) { + this.token = (Pkcs11.Token) this.token_model.object_for_iter(iter); + } + + bool valid = this.mechanism_store.get_iter_first(out iter); + if (this.token != null) { + for (uint i = 0; i < this.token.mechanisms.length; i++) { + ulong type = this.token.mechanisms.index(i); + unowned string? label = get_available_mechanism_label (type); + if (label == null) + continue; + while (valid) { + ulong otype; + this.mechanism_store.get(iter, Column.TYPE, out otype); + if (otype == type) + break; + valid = this.mechanism_store.remove(ref iter); + } + if (!valid) + this.mechanism_store.append(out iter); + this.mechanism_store.set(iter, Column.TYPE, type, + Column.LABEL, label); + valid = this.mechanism_store.iter_next(ref iter); + } + } + while (valid) + valid = this.mechanism_store.remove(ref iter); + + /* Select first mechanism if none are selected */ + if (!this.mechanism_box.get_active_iter(out iter)) + if (this.mechanism_store.get_iter_first(out iter)) + this.mechanism_box.set_active_iter(iter); + + update_response (); + } + + private void on_mechanism_changed(Gtk.ComboBox? widget) { + this.mechanism = null; + + Gtk.TreeIter iter; + if (widget.get_active_iter(out iter)) { + this.mechanism = Gck.Mechanism(); + this.mechanism_store.get(iter, Column.TYPE, out this.mechanism.type); + + Gck.Slot slot = token.slot; + Gck.MechanismInfo info = slot.get_mechanism_info(this.mechanism.type); + + ulong min = info.min_key_size; + ulong max = info.max_key_size; + + if (min < 512 && max >= 512) + min = 512; + if (max > 16384 && min <= 16384) + max = 16384; + this.key_bits.set_range(min, max); + } + + this.key_bits.sensitive = (this.mechanism != null); + + update_response(); + } + + private int on_mechanism_sort (Gtk.TreeModel? model, Gtk.TreeIter a, Gtk.TreeIter b) { + string label_a, label_b; + model.get(a, Column.LABEL, out label_a); + model.get(b, Column.LABEL, out label_b); + return label_a.collate(label_b); + } + + public override void response (int response_id) { + if (response_id == Gtk.ResponseType.OK) + generate.begin(); + + hide(); + } + + private async void generate() { + assert(this.token != null); + + prepare_generate(); + + GLib.TlsInteraction interaction = new Seahorse.Interaction(this.transient_for); + Progress.show(this.cancellable, _("Generating key"), false); + + try { + Gck.Session session = yield Gck.Session.open_async(this.token.slot, + Gck.SessionOptions.READ_WRITE | Gck.SessionOptions.LOGIN_USER, + interaction, this.cancellable); + Gck.Object pub, priv; + yield session.generate_key_pair_async(this.mechanism, this.pub_attrs, this.prv_attrs, + this.cancellable, out pub, out priv); + yield this.token.load(this.cancellable); + this.cancellable = null; + this.pub_attrs = this.prv_attrs = null; + } catch (Error e) { + Util.show_error(null, _("Couldn’t generate private key"), e.message); + } + } + + private void prepare_generate() { + const uchar[] rsa_public_exponent = { 0x01, 0x00, 0x01 }; /* 65537 in bytes */ + + Gck.Builder publi = new Gck.Builder(Gck.BuilderFlags.SECURE_MEMORY); + Gck.Builder priva = new Gck.Builder(Gck.BuilderFlags.SECURE_MEMORY); + + assert (this.cancellable == null); + assert (this.mechanism != null); + + publi.add_ulong(Cryptoki.Attribute.CLASS, Cryptoki.ObjectClass.PUBLIC_KEY); + priva.add_ulong(Cryptoki.Attribute.CLASS, Cryptoki.ObjectClass.PRIVATE_KEY); + + publi.add_boolean(Cryptoki.Attribute.TOKEN, true); + priva.add_boolean(Cryptoki.Attribute.TOKEN, true); + + priva.add_boolean(Cryptoki.Attribute.PRIVATE, true); + priva.add_boolean(Cryptoki.Attribute.SENSITIVE, true); + + string label = this.label_entry.text; + publi.add_string(Cryptoki.Attribute.LABEL, label); + priva.add_string(Cryptoki.Attribute.LABEL, label); + + if (this.mechanism.type == Cryptoki.MechanismType.RSA_PKCS_KEY_PAIR_GEN) { + publi.add_boolean(Cryptoki.Attribute.ENCRYPT, true); + publi.add_boolean(Cryptoki.Attribute.VERIFY, true); + publi.add_boolean(Cryptoki.Attribute.WRAP, true); + + priva.add_boolean(Cryptoki.Attribute.DECRYPT, true); + priva.add_boolean(Cryptoki.Attribute.SIGN, true); + priva.add_boolean(Cryptoki.Attribute.UNWRAP, true); + + publi.add_data(Cryptoki.Attribute.PUBLIC_EXPONENT, rsa_public_exponent); + publi.add_ulong(Cryptoki.Attribute.MODULUS_BITS, this.key_bits.get_value_as_int()); + } else { + warning("currently no support for this mechanism"); + } + + this.prv_attrs = priva.steal(); + this.pub_attrs = publi.steal(); + + publi.clear(); + priva.clear(); + } +} diff --git a/pkcs11/pkcs11-key-deleter.vala b/pkcs11/pkcs11-key-deleter.vala new file mode 100644 index 00000000..3b34dbc6 --- /dev/null +++ b/pkcs11/pkcs11-key-deleter.vala @@ -0,0 +1,78 @@ +/* + * Seahorse + * + * Copyright (C) 2013 Red Hat Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * Author: Stef Walter + */ + +namespace Seahorse { +namespace Pkcs11 { + +class KeyDeleter : Deleter { + private Certificate? _cert; + private PrivateKey? _key; + private string? _label; + + public override Gtk.Dialog create_confirm(Gtk.Window? parent) { + var dialog = new DeleteDialog(parent, _("Are you sure you want to permanently delete %s?"), this._label); + dialog.check_label = _("I understand that this key will be permanently deleted."); + dialog.check_require = true; + return dialog; + } + + public KeyDeleter(Gck.Object cert_or_key) { + base(cert_or_key); + } + + public override bool add_object (GLib.Object obj) { + GLib.Object? partner; + + if (obj is PrivateKey) { + if (this._key != null) + return false; + if (this._cert != null) { + partner = this._cert.partner; + if (partner != obj) + return false; + } + this._key = (PrivateKey)obj; + this.objects.prepend(this._key); + + } else if (obj is Certificate) { + if (this._cert != null) + return false; + if (this._key != null) { + partner = this._key.partner; + if (partner != obj) + return false; + } + this._cert = (Certificate)obj; + this.objects.prepend(this._cert); + } else { + return false; + } + + if (this._label == null) + obj.get("label", out this._label); + return true; + } +} + +} +} diff --git a/pkcs11/pkcs11-module.vala b/pkcs11/pkcs11-module.vala new file mode 100644 index 00000000..87d5ea29 --- /dev/null +++ b/pkcs11/pkcs11-module.vala @@ -0,0 +1,26 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2012 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * + * Author: Stef Walter + */ + +namespace Seahorse { + +public const string PKCS11_NAME = "pkcs11"; + +} diff --git a/pkcs11/pkcs11-private-key.vala b/pkcs11/pkcs11-private-key.vala new file mode 100644 index 00000000..c6adcfa9 --- /dev/null +++ b/pkcs11/pkcs11-private-key.vala @@ -0,0 +1,132 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2013 Red Hat Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + */ + +namespace Seahorse { +namespace Pkcs11 { + +public class PrivateKey : Gck.Object, Gck.ObjectCache, + Deletable, Exportable, Viewable { + public Token? place { + owned get { return (Token?)this._token.get(); } + set { this._token.set(value); } + } + + public Flags object_flags { + get { return Flags.PERSONAL; } + } + + public Gtk.ActionGroup? actions { + get { return null; } + } + + public Certificate? partner { + owned get { return (Certificate?)this._certificate.get(); } + set { + this._certificate.set(value); + notify_property("partner"); + notify_property("description"); + } + } + + public string? label { + owned get { + if (this._attributes != null) { + string label; + if (this._attributes.find_string(CKA.LABEL, out label)) + return label; + } + Certificate? cert = this.partner; + if (cert != null) + return cert.label; + return _("Unnamed private key"); + } + } + + public string? markup { + owned get { return GLib.Markup.escape_text(this.label, -1); } + } + + public string? description { + get { return _("Private key"); } + } + + public GLib.Icon? icon { + get { + if (this._icon == null) + this._icon = new GLib.ThemedIcon(Gcr.ICON_KEY); + return this._icon; + } + } + + public Gck.Attributes attributes { + owned get { return this._attributes; } + set { + this._attributes = value; + notify_property("attributes"); + } + } + + public bool deletable { + get { + Token ?token = this.place; + return token == null ? false : token.is_deletable(this); + } + } + + public bool exportable { + get { return false; } + } + + private GLib.WeakRef _token; + private Gck.Attributes? _attributes; + private GLib.WeakRef _certificate; + private GLib.Icon? _icon; + + public void fill(Gck.Attributes attributes) { + Gck.Builder builder = new Gck.Builder(Gck.BuilderFlags.NONE); + if (this._attributes != null) + builder.add_all(this._attributes); + builder.set_all(attributes); + this._attributes = builder.steal(); + notify_property("attributes"); + } + + public Seahorse.Deleter create_deleter() { + return new KeyDeleter(this); + } + + public GLib.List create_exporters(ExporterType type) { + /* In the future we may exporters here, but for now no exporting */ + var exporters = new GLib.List(); + return exporters; + } + + public Gtk.Window? create_viewer(Gtk.Window? parent) { + var viewer = new Pkcs11.Properties(this, parent); + viewer.show(); + return viewer; + } +} + +} +} diff --git a/pkcs11/pkcs11-properties.vala b/pkcs11/pkcs11-properties.vala new file mode 100644 index 00000000..01b6adb3 --- /dev/null +++ b/pkcs11/pkcs11-properties.vala @@ -0,0 +1,180 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2013 Red Hat Inc. + * Copyright (C) 2020 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * Author: Stef Walter + */ + +[GtkTemplate (ui = "/org/gnome/Seahorse/seahorse-pkcs11-properties.ui")] +public class Seahorse.Pkcs11.Properties : Gtk.Dialog { + + public Gck.Object object { construct; get; } + + /* [GtkChild] */ + /* private Gtk.HeaderBar header; */ + [GtkChild] + private Gtk.Button delete_button; + [GtkChild] + private Gtk.Button export_button; + [GtkChild] + private Gtk.Button request_certificate_button; + + [GtkChild] + private Gtk.Box content; + + private Gcr.Viewer _viewer; + private GLib.Cancellable _cancellable; + private Gck.Object _request_key; + + public Properties(Gck.Object object, Gtk.Window window) { + GLib.Object(object: object, transient_for: window); + } + + construct { + this._cancellable = new GLib.Cancellable(); + + this._viewer = Gcr.Viewer.new_scrolled(); + this.content.pack_start(this._viewer); + this._viewer.set_hexpand(true); + this._viewer.set_vexpand(true); + this._viewer.show(); + + /* ... */ + + this.object.bind_property("deletable", this.delete_button, "visible", + BindingFlags.SYNC_CREATE); + this.object.bind_property("exportable", this.export_button, "visible", + BindingFlags.SYNC_CREATE); + + object.notify["label"].connect(() => { update_label(); }); + update_label(); + add_renderer_for_object(this.object); + check_certificate_request_capable(this.object); + + GLib.Object? partner; + this.object.get("partner", out partner); + if (partner != null) { + add_renderer_for_object(partner); + check_certificate_request_capable(partner); + } + + GLib.List exporters = null; + if (this.object is Exportable) + exporters = ((Exportable)this.object).create_exporters(ExporterType.ANY); + + this.export_button.set_visible(exporters != null); + + this._viewer.grab_focus(); + } + + public override void dispose() { + this._cancellable.cancel(); + base.dispose(); + } + + private void update_label() { + string? label; + string? description; + this.object.get("label", out label, "description", out description); + if (label == null || label == "") + label = _("Unnamed"); + this.title = "%s - %s".printf(label, description); + } + + private void add_renderer_for_object(GLib.Object object) { + Gck.Attributes? attributes = null; + string? label = null; + + object.get("label", &label, "attributes", &attributes); + if (attributes != null) { + var renderer = Gcr.Renderer.create(label, attributes); + if (renderer != null) { + object.bind_property("label", renderer, "label", + GLib.BindingFlags.DEFAULT); + object.bind_property("attributes", renderer, "attributes", + GLib.BindingFlags.DEFAULT); + + if (renderer.get_class().find_property("object") != null) + renderer.set("object", object); + + this._viewer.add_renderer(renderer); + } + } + } + + [GtkCallback] + private void on_export_button_clicked(Gtk.Button export_button) { + GLib.List objects = null; + objects.append(this.object); + try { + Exportable.export_to_prompt_wait(objects, this); + } catch (GLib.Error err) { + Util.show_error(this, _("Failed to export certificate"), err.message); + } + } + + [GtkCallback] + private void on_delete_button_clicked(Gtk.Button delete_button) { + GLib.Object? partner; + this.object.get("partner", out partner); + + Deleter deleter; + if (partner != null || this.object is PrivateKey) { + deleter = new KeyDeleter((Gck.Object)this.object); + if (!deleter.add_object(partner)) + GLib.assert_not_reached(); + } else { + deleter = new Deleter((Gck.Object)this.object); + } + + if (deleter.prompt(this)) { + deleter.delete.begin(this._cancellable, (obj, res) => { + try { + if (deleter.delete.end(res)) + this.destroy(); + } catch (GLib.Error err) { + Util.show_error(this, _("Couldn’t delete"), err.message); + } + }); + } + } + + [GtkCallback] + private void on_request_certificate_button_clicked(Gtk.Button request_button) { + Request.prompt(this, this._request_key); + } + + private void check_certificate_request_capable(GLib.Object object) { + if (!(object is PrivateKey)) + return; + + Gcr.CertificateRequest.capable_async.begin((PrivateKey)object, this._cancellable, (obj, res) => { + try { + if (Gcr.CertificateRequest.capable_async.end(res)) { + this.request_certificate_button.set_visible(true); + this._request_key = (PrivateKey)object; + } + } catch (GLib.Error err) { + GLib.message("couldn't check capabilities of private key: %s", err.message); + } + }); + } +} diff --git a/pkcs11/pkcs11-request.vala b/pkcs11/pkcs11-request.vala new file mode 100644 index 00000000..688acd4d --- /dev/null +++ b/pkcs11/pkcs11-request.vala @@ -0,0 +1,157 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2013 Red Hat Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA + * 02111-1307, USA. + * + * Stef Walter + */ + +namespace Seahorse { +namespace Pkcs11 { + +public class Request : Gtk.Dialog { + public PrivateKey private_key { construct; get; } + + Gtk.Entry _name_entry; + uint8[] _encoded; + + construct { + var builder = new Gtk.Builder(); + var path = "/org/gnome/Seahorse/seahorse-pkcs11-request.ui"; + try { + builder.add_from_resource(path); + } catch (GLib.Error err) { + GLib.warning("couldn't load ui file: %s", path); + return; + } + + this.set_resizable(false); + var content = this.get_content_area(); + var widget = (Gtk.Widget)builder.get_object("pkcs11-request"); + content.add(widget); + widget.show(); + + this._name_entry = (Gtk.Entry)builder.get_object("request-name"); + this._name_entry.changed.connect(() => { update_response(); }); + + // The buttons + this.add_buttons(_("_Cancel"), Gtk.ResponseType.CANCEL, + _("Create"), Gtk.ResponseType.OK); + this.set_default_response (Gtk.ResponseType.OK); + + this.update_response (); + + if (!(this.private_key is Gck.Object)) { + GLib.critical("private key is not of type %s", typeof(Gck.Object).name()); + } + } + + public static void prompt(Gtk.Window? parent, + Gck.Object private_key) { + var dialog = (Request)GLib.Object.new(typeof(Request), transient_for: parent, + private_key: private_key); + dialog.run(); + } + + public override void response(int response_id) { + if (response_id == Gtk.ResponseType.OK) { + var interaction = new Interaction(this.transient_for); + var session = this.private_key.get_session(); + session.set_interaction(interaction); + + var req = Gcr.CertificateRequest.prepare(Gcr.CertificateRequestFormat.CERTIFICATE_REQUEST_PKCS10, + this.private_key); + req.set_cn(this._name_entry.get_text()); + req.complete_async.begin(null, (obj, res) => { + try { + req.complete_async.end(res); + this.save_certificate_request(req, this.transient_for); + } catch (GLib.Error err) { + Util.show_error(this.transient_for, _("Couldn’t create certificate request"), err.message); + } + }); + + this.hide(); + } + } + + private void update_response() { + string name = this._name_entry.get_text(); + this.set_response_sensitive(Gtk.ResponseType.OK, name != ""); + } + + private static string BAD_FILENAME_CHARS = "/\\<>|?*"; + + private void save_certificate_request(Gcr.CertificateRequest req, + Gtk.Window? parent) { + var chooser = new Gtk.FileChooserNative(_("Save certificate request"), + parent, Gtk.FileChooserAction.SAVE, + _("_Save"), _("_Cancel")); + + chooser.set_local_only(false); + + var der_filter = new Gtk.FileFilter(); + der_filter.set_name(_("Certificate request")); + der_filter.add_mime_type("application/pkcs10"); + der_filter.add_pattern("*.p10"); + der_filter.add_pattern("*.csr"); + chooser.add_filter(der_filter); + chooser.set_filter(der_filter); + + var pem_filter = new Gtk.FileFilter(); + pem_filter.set_name(_("PEM encoded request")); + pem_filter.add_mime_type("application/pkcs10+pem"); + pem_filter.add_pattern("*.pem"); + chooser.add_filter(pem_filter); + + string? label; + this.private_key.get("label", out label); + if (label == null || label == "") + label = "Certificate Request"; + var filename = label + ".csr"; + filename = filename.delimit(BAD_FILENAME_CHARS, '_'); + chooser.set_current_name(filename); + + chooser.set_do_overwrite_confirmation(true); + + var response = chooser.run(); + if (response == Gtk.ResponseType.ACCEPT) { + bool textual = chooser.get_filter() == pem_filter; + this._encoded = req.encode(textual); + + var file = chooser.get_file(); + file.replace_contents_async.begin(this._encoded, null, false, + GLib.FileCreateFlags.NONE, + null, (obj, res) => { + try { + string new_etag; + file.replace_contents_async.end(res, out new_etag); + } catch (GLib.Error err) { + Util.show_error(parent, _("Couldn’t save certificate request"), err.message); + } + }); + } + + chooser.destroy(); + } +} + +} +} diff --git a/pkcs11/pkcs11-token.vala b/pkcs11/pkcs11-token.vala new file mode 100644 index 00000000..28db57fc --- /dev/null +++ b/pkcs11/pkcs11-token.vala @@ -0,0 +1,508 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2013 Red Hat, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the + * Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, + * Boston, MA 02111-1307, USA. + */ + +namespace Seahorse { +namespace Pkcs11 { + +public class Token : GLib.Object, Gcr.Collection, Place, Lockable { + + public bool unlockable { + get { + this.ensure_token_info(); + if ((this._info.flags & CKF.LOGIN_REQUIRED) == 0) + return false; + if ((this._info.flags & CKF.USER_PIN_INITIALIZED) == 0) + return false; + return !is_session_logged_in(this._session); + } + } + + public bool lockable { + get { + this.ensure_token_info(); + if ((this._info.flags & CKF.LOGIN_REQUIRED) == 0) + return false; + if ((this._info.flags & CKF.USER_PIN_INITIALIZED) == 0) + return false; + return is_session_logged_in(this._session); + } + } + + public Gck.TokenInfo info { + get { return this.ensure_token_info(); } + } + + public Gck.Session session { + get { return this._session; } + set { + this._session = session; + notify_property("session"); + notify_property("lockable"); + notify_property("unlockable"); + } + } + + public Gck.Slot slot { + get { return this._slot; } + construct { this._slot = value; } + } + + public string label { + owned get { + var token = this._slot.get_token_info(); + if (token == null) + return C_("Label", "Unknown"); + return token.label; + } + set { + } + } + + public string description { + owned get { + var token = this._slot.get_token_info(); + if (token == null) + return ""; + return token.manufacturer_id; + } + } + + public string uri { + owned get { return this._uri; } + } + + public GLib.Icon icon { + owned get { + var token = this._slot.get_token_info(); + if (token == null) + return new GLib.ThemedIcon("dialog-question"); + return Gcr.icon_for_token(token); + } + } + + public Place.Category category { + get { return Place.Category.CERTIFICATES; } + } + + public GLib.ActionGroup? actions { + owned get { return null; } + } + + public unowned string? action_prefix { + get { return null; } + } + + public MenuModel? menu_model { + owned get { return null; } + } + + public Flags object_flags { + get { return 0; } + } + + public bool show_if_empty { + get { return false; } + } + + public unowned GLib.Array mechanisms { + get { + if (this._mechanisms == null) + this._mechanisms = this._slot.get_mechanisms(); + return this._mechanisms; + } + } + + private Gck.Slot _slot; + private string _uri; + private Gck.TokenInfo? _info; + private GLib.Array _mechanisms; + private Gck.Session? _session; + private GLib.HashTable _object_for_handle; + private GLib.HashTable> _objects_for_id; + private GLib.HashTable _id_for_object; + private GLib.HashTable _objects_visible; + + public Token(Gck.Slot slot) { + GLib.Object( + slot: slot + ); + } + + construct { + this._object_for_handle = new GLib.HashTable(ulong_hash, ulong_equal); + this._objects_for_id = new GLib.HashTable>(Gck.Attribute.hash, Gck.Attribute.equal); + this._id_for_object = new GLib.HashTable(GLib.direct_hash, GLib.direct_equal); + this._objects_visible = new GLib.HashTable(GLib.direct_hash, GLib.direct_equal); + + /* TODO: Does this happen in the background? It really should. */ + this.load.begin(null); + + var data = new Gck.UriData(); + this.ensure_token_info(); + data.token_info = this._info; + this._uri = Gck.uri_build(data, Gck.UriFlags.FOR_TOKEN); + } + + public override void dispose() { + this._slot = null; + this._session = null; + } + + public async bool lock(GLib.TlsInteraction? interaction, + GLib.Cancellable? cancellable) throws GLib.Error { + if (!is_session_logged_in(this._session)) + return true; + + yield this._session.logout_async(cancellable); + return yield this.load(cancellable); + } + + public async bool unlock(GLib.TlsInteraction? interaction, + GLib.Cancellable? cancellable) throws GLib.Error { + if (is_session_logged_in (this._session)) + return true; + if (this._session != null) { + return yield this._session.login_interactive_async(CKU.USER, interaction, cancellable); + } else { + var options = calculate_session_options(); + this._session = yield this._slot.open_session_async(options | Gck.SessionOptions.LOGIN_USER, + cancellable); + return true; + } + } + + public bool contains (GLib.Object object) { + return this._objects_visible.lookup(object) != null; + } + + public uint get_length() { + return this._objects_visible.size(); + } + + public GLib.List get_objects() { + return this._objects_visible.get_values(); + } + + public bool is_deletable(Gck.Object object) { + this.ensure_token_info(); + + if ((this._info.flags & CKF.WRITE_PROTECTED) == CKF.WRITE_PROTECTED) + return false; + + Gck.Attributes? attributes; + object.get("attributes", out attributes); + + if (attributes != null) { + bool ret = true; + attributes.find_boolean(CKA.MODIFIABLE, out ret); + return ret; + } + + return false; + } + + public void remove_object(Gck.Object object) { + GLib.List objects = null; + objects.append(object); + remove_objects(objects.copy()); + } + + public bool has_mechanism(ulong mechanism) { + return Gck.mechanisms_check(this.mechanisms, mechanism, Gck.INVALID); + } + + private static bool is_session_logged_in(Gck.Session? session) { + if (session == null) + return false; + var info = session.get_info(); + return (info != null) && + (info.state == CKS.RW_USER_FUNCTIONS || + info.state == CKS.RO_USER_FUNCTIONS || + info.state == CKS.RW_SO_FUNCTIONS); + } + + private unowned Gck.TokenInfo ensure_token_info() { + if (this._info == null) + this.update_token_info(); + return this._info; + } + + private void update_token_info() { + var info = this._slot.get_token_info(); + if (info != null) { + this._info = info; + this.notify_property("info"); + this.notify_property("lockable"); + this.notify_property("unlockable"); + } + } + + private void update_id_map(GLib.Object object, + Gck.Attribute* id) { + bool add = false; + bool remove = false; + + var pid = this._id_for_object.lookup(object); + if (id == null) { + if (pid != null) { + id = pid; + remove = true; + } + } else { + if (pid == null) { + add = true; + } else if (!id->equal(pid)) { + remove = true; + add = true; + } + } + + if (add) { + unowned GLib.GenericArray? objects; + objects = this._objects_for_id.lookup(id); + if (objects == null) { + var objs = new GLib.GenericArray(); + this._objects_for_id.insert(id, objs); + objects = objs; + } + objects.add(object); + this._id_for_object.insert(object, id); + } + + /* Remove this object from the map */ + if (remove) { + if (!this._id_for_object.remove(object)) + GLib.assert_not_reached(); + var objects = this._objects_for_id.lookup(id); + GLib.assert(objects != null); + GLib.assert(objects.length > 0); + if (objects.length == 1) { + if (!this._objects_for_id.remove(id)) + GLib.assert_not_reached(); + } else { + if (!objects.remove(object)) + GLib.assert_not_reached(); + } + } + } + + private GLib.Object? lookup_id_map(GLib.Type object_type, + Gck.Attribute* id) { + if (id == null) + return null; + var objects = this._objects_for_id.lookup(id); + if (objects == null) + return null; + for (var i = 0; i < objects.length; i++) { + if (objects[i].get_type().is_a(object_type)) + return objects[i]; + } + return null; + } + + private void update_visibility(GLib.List objects, + bool visible) { + foreach (var object in objects) { + bool have = (this._objects_visible.lookup(object) != null); + if (!have && visible) { + this._objects_visible.insert(object, object); + this.emit_added(object); + } else if (have && !visible) { + if (!this._objects_visible.remove(object)) + GLib.assert_not_reached(); + this.emit_removed(object); + } + } + + } + + private static bool make_certificate_key_pair(Certificate certificate, + PrivateKey private_key) { + if (certificate.partner != null || private_key.partner != null) + return false; + certificate.partner = private_key; + private_key.partner = certificate; + return true; + } + + private static GLib.Object? break_certificate_key_pair(GLib.Object object) { + GLib.Object? pair = null; + if (object is Certificate) { + var certificate = (Certificate)object; + pair = certificate.partner; + certificate.partner = null; + } else if (object is PrivateKey) { + var private_key = (PrivateKey)object; + pair = private_key.partner; + private_key.partner = null; + } + return pair; + } + + private void receive_objects(GLib.List objects) { + var show = new GLib.List(); + var hide = new GLib.List(); + + foreach (var object in objects) { + if (!(object is Gck.Object && object is Gck.ObjectCache)) + continue; + var handle = ((Gck.Object)object).handle; + var attrs = ((Gck.ObjectCache)object).attributes; + + var prev = this._object_for_handle.lookup(handle); + if (prev == null) { + this._object_for_handle.insert(handle, object); + object.set("place", this); + } else if (prev != object) { + object.set("attributes", attrs); + object = prev; + } + + unowned Gck.Attribute? id = null; + if (attrs != null) + id = attrs.find(CKA.ID); + this.update_id_map(object, id); + + if (object is Certificate) { + var pair = this.lookup_id_map(typeof(PrivateKey), id); + if (pair != null && make_certificate_key_pair((Certificate)object, (PrivateKey)pair)) + hide.prepend(pair); + show.prepend(object); + } else if (object is PrivateKey) { + var pair = this.lookup_id_map(typeof(Certificate), id); + if (pair != null && make_certificate_key_pair((Certificate)pair, (PrivateKey)object)) + hide.prepend(object); + else + show.prepend(object); + } else { + show.prepend(object); + } + } + + update_visibility(hide, false); + update_visibility(show, true); + } + + private void remove_objects(GLib.List objects) { + var depaired = new GLib.List(); + var hide = new GLib.List(); + + foreach (var object in objects) { + var pair = break_certificate_key_pair(object); + if (pair != null) + depaired.prepend(pair); + update_id_map(object, null); + hide.prepend(object); + } + + /* Remove the ownership of these */ + foreach (var object in objects) { + var handle = ((Gck.Object)object).handle; + object.set("place", null); + this._object_for_handle.remove(handle); + } + + update_visibility(hide, false); + + /* Add everything that was paired */ + receive_objects(depaired); + } + + private Gck.SessionOptions calculate_session_options() { + this.ensure_token_info(); + if ((this._info.flags & CKF.WRITE_PROTECTED) == CKF.WRITE_PROTECTED) + return Gck.SessionOptions.READ_ONLY; + else + return Gck.SessionOptions.READ_WRITE; + } + + public async bool load(GLib.Cancellable? cancellable) throws GLib.Error { + var checks = new GLib.HashTable(ulong_hash, ulong_equal); + + /* Make note of all the objects that were there */ + this.update_token_info(); + foreach (var object in this.get_objects()) { + var handle = ((Gck.Object)object).handle; + checks.insert(handle, object); + } + + if (this._session == null) { + var options = this.calculate_session_options(); + this._session = yield this._slot.open_session_async(options, cancellable); + } + + var builder = new Gck.Builder(Gck.BuilderFlags.NONE); + builder.add_boolean(CKA.TOKEN, true); + builder.add_ulong(CKA.CLASS, CKO.CERTIFICATE); + + const ulong[] CERTIFICATE_ATTRS = { + CKA.VALUE, + CKA.ID, + CKA.LABEL, + CKA.CLASS, + CKA.CERTIFICATE_CATEGORY, + CKA.MODIFIABLE + }; + + var enumerator = this._session.enumerate_objects(builder.end()); + enumerator.set_object_type(typeof(Certificate), CERTIFICATE_ATTRS); + + builder = new Gck.Builder(Gck.BuilderFlags.NONE); + builder.add_boolean(CKA.TOKEN, true); + builder.add_ulong(CKA.CLASS, CKO.PRIVATE_KEY); + + const ulong[] KEY_ATTRS = { + CKA.MODULUS_BITS, + CKA.ID, + CKA.LABEL, + CKA.CLASS, + CKA.KEY_TYPE, + CKA.MODIFIABLE, + }; + + var chained = this._session.enumerate_objects(builder.end()); + chained.set_object_type(typeof(PrivateKey), KEY_ATTRS); + enumerator.set_chained(chained); + + for (;;) { + var objects = yield enumerator.next_async(16, cancellable); + + /* Otherwise we're done, remove everything not found */ + if (objects == null) { + remove_objects(checks.get_values()); + return true; + } + + this.receive_objects(objects); + + /* Remove all objects that were found from the check table */ + foreach (var object in objects) { + var handle = ((Gck.Object)object).handle; + checks.remove(handle); + } + } + } +} + +} +} diff --git a/pkcs11/seahorse-pkcs11-backend.c b/pkcs11/seahorse-pkcs11-backend.c new file mode 100644 index 00000000..b7ea21e1 --- /dev/null +++ b/pkcs11/seahorse-pkcs11-backend.c @@ -0,0 +1,443 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#include "config.h" + +#include "seahorse-pkcs11-backend.h" + +#include "pkcs11/seahorse-pkcs11.h" + +#include "seahorse-common.h" + +#include "libseahorse/seahorse-util.h" + +#include + +#include + +#include + +enum { + PROP_0, + PROP_NAME, + PROP_LABEL, + PROP_DESCRIPTION, + PROP_ACTIONS, + PROP_LOADED, +}; + +void seahorse_pkcs11_backend_initialize (void); + +static SeahorsePkcs11Backend *pkcs11_backend = NULL; + +struct _SeahorsePkcs11Backend { + GObject parent; + SeahorseActionGroup *actions; + GList *tokens; + GList *blacklist; + gboolean loaded; +}; + +struct _SeahorsePkcs11BackendClass { + GObjectClass parent_class; +}; + +static const char *token_blacklist[] = { + "pkcs11:manufacturer=Gnome%20Keyring;serial=1:SSH:HOME", + "pkcs11:manufacturer=Gnome%20Keyring;serial=1:SECRET:MAIN", + "pkcs11:manufacturer=Mozilla%20Foundation;token=NSS%20Generic%20Crypto%20Services", + NULL +}; + +static void +on_generate_activate (GSimpleAction *action, GVariant *param, gpointer user_data); + +static const GActionEntry ACTION_ENTRIES[] = { + { "pkcs11-generate-key", on_generate_activate } +}; + +static void seahorse_pkcs11_backend_iface (SeahorseBackendIface *iface); + +static void seahorse_pkcs11_backend_collection_init (GcrCollectionIface *iface); + +G_DEFINE_TYPE_WITH_CODE (SeahorsePkcs11Backend, seahorse_pkcs11_backend, G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE (GCR_TYPE_COLLECTION, seahorse_pkcs11_backend_collection_init) + G_IMPLEMENT_INTERFACE (SEAHORSE_TYPE_BACKEND, seahorse_pkcs11_backend_iface); +); + +static void +init_actions (SeahorsePkcs11Backend *self) +{ + self->actions = g_object_new (SEAHORSE_TYPE_ACTION_GROUP, + "prefix", "pkcs11", + NULL); + g_action_map_add_action_entries (G_ACTION_MAP (self->actions), + ACTION_ENTRIES, + G_N_ELEMENTS (ACTION_ENTRIES), + self->actions); +} + +static void +seahorse_pkcs11_backend_init (SeahorsePkcs11Backend *self) +{ + GError *error = NULL; + GckUriData *uri; + guint i; + + g_return_if_fail (pkcs11_backend == NULL); + pkcs11_backend = self; + + for (i = 0; token_blacklist[i] != NULL; i++) { + uri = gck_uri_parse (token_blacklist[i], GCK_URI_FOR_TOKEN | GCK_URI_FOR_MODULE, &error); + if (uri == NULL) { + g_warning ("couldn't parse pkcs11 blacklist uri: %s", error->message); + g_clear_error (&error); + } + self->blacklist = g_list_prepend (self->blacklist, uri); + } + + init_actions (self); +} + +static gboolean +is_token_usable (SeahorsePkcs11Backend *self, + GckSlot *slot, + GckTokenInfo *token) +{ + GList *l; + + if (!(token->flags & CKF_TOKEN_INITIALIZED)) { + /* _gcr_debug ("token is not importable: %s: not initialized", token->label); */ + return FALSE; + } + if ((token->flags & CKF_LOGIN_REQUIRED) && + !(token->flags & CKF_USER_PIN_INITIALIZED)) { + /* _gcr_debug ("token is not importable: %s: user pin not initialized", token->label); */ + return FALSE; + } + + for (l = self->blacklist; l != NULL; l = g_list_next (l)) { + if (gck_slot_match (slot, l->data)) + return FALSE; + } + + return TRUE; +} + +static void +on_initialized_registered (GObject *unused, + GAsyncResult *result, + gpointer user_data) +{ + SeahorsePkcs11Backend *self = SEAHORSE_PKCS11_BACKEND (user_data); + SeahorsePlace *place; + GList *slots, *s; + GList *modules, *m; + GError *error = NULL; + GckTokenInfo *token; + + modules = gck_modules_initialize_registered_finish (result, &error); + if (error != NULL) { + g_warning ("%s", error->message); + g_clear_error (&error); + } + + for (m = modules; m != NULL; m = g_list_next (m)) { + slots = gck_module_get_slots (m->data, TRUE); + for (s = slots; s; s = g_list_next (s)) { + token = gck_slot_get_token_info (s->data); + if (token == NULL) + continue; + if (is_token_usable (self, s->data, token)) { + place = SEAHORSE_PLACE (seahorse_pkcs11_token_new (s->data)); + self->tokens = g_list_append (self->tokens, place); + gcr_collection_emit_added (GCR_COLLECTION (self), G_OBJECT (place)); + } + gck_token_info_free (token); + } + + /* These will have been refed by the source above */ + gck_list_unref_free (slots); + } + + self->loaded = TRUE; + g_object_notify (G_OBJECT (self), "loaded"); + + gck_list_unref_free (modules); + g_object_unref (self); +} + +static void +seahorse_pkcs11_backend_constructed (GObject *obj) +{ + SeahorsePkcs11Backend *self = SEAHORSE_PKCS11_BACKEND (obj); + + G_OBJECT_CLASS (seahorse_pkcs11_backend_parent_class)->constructed (obj); + + gck_modules_initialize_registered_async (NULL, on_initialized_registered, + g_object_ref (self)); +} + +static const gchar * +seahorse_pkcs11_backend_get_name (SeahorseBackend *backend) +{ + return SEAHORSE_PKCS11_NAME; +} + +static const gchar * +seahorse_pkcs11_backend_get_label (SeahorseBackend *backend) +{ + return _("Certificates"); +} + +static const gchar * +seahorse_pkcs11_backend_get_description (SeahorseBackend *backend) +{ + return _("X.509 certificates and related keys"); +} + +static gboolean +seahorse_pkcs11_backend_get_loaded (SeahorseBackend *backend) +{ + g_return_val_if_fail (SEAHORSE_IS_PKCS11_BACKEND (backend), FALSE); + + return SEAHORSE_PKCS11_BACKEND (backend)->loaded; +} + +static SeahorseActionGroup * +seahorse_pkcs11_backend_get_actions (SeahorseBackend *backend) +{ + return g_object_ref (SEAHORSE_PKCS11_BACKEND (backend)->actions); +} + +static void +seahorse_pkcs11_backend_get_property (GObject *obj, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + SeahorseBackend *backend = SEAHORSE_BACKEND (obj); + + switch (prop_id) { + case PROP_NAME: + g_value_set_string (value, seahorse_pkcs11_backend_get_name (backend)); + break; + case PROP_LABEL: + g_value_set_string (value, seahorse_pkcs11_backend_get_label (backend)); + break; + case PROP_DESCRIPTION: + g_value_set_string (value, seahorse_pkcs11_backend_get_description (backend)); + break; + case PROP_ACTIONS: + g_value_take_object (value, seahorse_pkcs11_backend_get_actions (backend)); + break; + case PROP_LOADED: + g_value_set_boolean (value, seahorse_pkcs11_backend_get_loaded (backend)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec); + break; + } +} + +static void +seahorse_pkcs11_backend_dispose (GObject *obj) +{ + SeahorsePkcs11Backend *self = SEAHORSE_PKCS11_BACKEND (obj); + + g_list_free_full (self->tokens, g_object_unref); + self->tokens = NULL; + + G_OBJECT_CLASS (seahorse_pkcs11_backend_parent_class)->dispose (obj); +} + +static void +seahorse_pkcs11_backend_finalize (GObject *obj) +{ + SeahorsePkcs11Backend *self = SEAHORSE_PKCS11_BACKEND (obj); + + g_list_free_full (self->blacklist, (GDestroyNotify)gck_uri_data_free); + g_clear_object (&self->actions); + g_assert (self->tokens == NULL); + g_return_if_fail (pkcs11_backend == self); + pkcs11_backend = NULL; + + G_OBJECT_CLASS (seahorse_pkcs11_backend_parent_class)->finalize (obj); +} + +static void +seahorse_pkcs11_backend_class_init (SeahorsePkcs11BackendClass *klass) +{ + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->constructed = seahorse_pkcs11_backend_constructed; + gobject_class->dispose = seahorse_pkcs11_backend_dispose; + gobject_class->finalize = seahorse_pkcs11_backend_finalize; + gobject_class->get_property = seahorse_pkcs11_backend_get_property; + + g_object_class_override_property (gobject_class, PROP_NAME, "name"); + g_object_class_override_property (gobject_class, PROP_LABEL, "label"); + g_object_class_override_property (gobject_class, PROP_DESCRIPTION, "description"); + g_object_class_override_property (gobject_class, PROP_ACTIONS, "actions"); + g_object_class_override_property (gobject_class, PROP_LOADED, "loaded"); +} + +static guint +seahorse_pkcs11_backend_get_length (GcrCollection *collection) +{ + SeahorsePkcs11Backend *self = SEAHORSE_PKCS11_BACKEND (collection); + return g_list_length (self->tokens); +} + +static GList * +seahorse_pkcs11_backend_get_objects (GcrCollection *collection) +{ + SeahorsePkcs11Backend *self = SEAHORSE_PKCS11_BACKEND (collection); + return g_list_copy (self->tokens); +} + +static gboolean +seahorse_pkcs11_backend_contains (GcrCollection *collection, + GObject *object) +{ + SeahorsePkcs11Backend *self = SEAHORSE_PKCS11_BACKEND (collection); + return g_list_find (self->tokens, object) != NULL; +} + +static void +seahorse_pkcs11_backend_collection_init (GcrCollectionIface *iface) +{ + iface->contains = seahorse_pkcs11_backend_contains; + iface->get_length = seahorse_pkcs11_backend_get_length; + iface->get_objects = seahorse_pkcs11_backend_get_objects; +} + +static SeahorsePlace * +seahorse_pkcs11_backend_lookup_place (SeahorseBackend *backend, + const gchar *uri) +{ + SeahorsePkcs11Backend *self = SEAHORSE_PKCS11_BACKEND (backend); + GckUriData *uri_data; + GList *l; + + if (!g_str_has_prefix (uri, "pkcs11:")) + return NULL; + + uri_data = gck_uri_parse (uri, GCK_URI_FOR_TOKEN | GCK_URI_FOR_MODULE, NULL); + if (uri_data == NULL) + return NULL; + + for (l = self->tokens; l != NULL; l = g_list_next (l)) { + if (gck_slot_match (seahorse_pkcs11_token_get_slot (l->data), uri_data)) + break; + } + + gck_uri_data_free (uri_data); + return l != NULL ? l->data : NULL; +} + +static void +seahorse_pkcs11_backend_iface (SeahorseBackendIface *iface) +{ + iface->lookup_place = seahorse_pkcs11_backend_lookup_place; + iface->get_actions = seahorse_pkcs11_backend_get_actions; + iface->get_description = seahorse_pkcs11_backend_get_description; + iface->get_label = seahorse_pkcs11_backend_get_label; + iface->get_name = seahorse_pkcs11_backend_get_name; + iface->get_loaded = seahorse_pkcs11_backend_get_loaded; +} + +void +seahorse_pkcs11_backend_initialize (void) +{ + SeahorsePkcs11Backend *self; + + g_return_if_fail (pkcs11_backend == NULL); + self = g_object_new (SEAHORSE_TYPE_PKCS11_BACKEND, NULL); + + seahorse_backend_register (SEAHORSE_BACKEND (self)); + g_object_unref (self); + + g_return_if_fail (pkcs11_backend != NULL); +} + +SeahorsePkcs11Backend * +seahorse_pkcs11_backend_get (void) +{ + g_return_val_if_fail (pkcs11_backend, NULL); + return pkcs11_backend; +} + +static gboolean +on_filter_writable (GObject *object, + gpointer user_data) +{ + SeahorsePkcs11Token *token = SEAHORSE_PKCS11_TOKEN (object); + guint mechanism = GPOINTER_TO_UINT (user_data); + GckTokenInfo *info; + + info = seahorse_pkcs11_token_get_info (token); + g_return_val_if_fail (info != NULL, FALSE); + + if (info->flags & CKF_WRITE_PROTECTED) + return FALSE; + + if (mechanism != G_MAXUINT) { + if (!seahorse_pkcs11_token_has_mechanism (token, (gulong)mechanism)) + return FALSE; + } + + return TRUE; +} + +GcrCollection * +seahorse_pkcs11_backend_get_writable_tokens (SeahorsePkcs11Backend *self, + gulong with_mechanism) +{ + gpointer mechanism; + + self = self ? self : seahorse_pkcs11_backend_get (); + g_return_val_if_fail (SEAHORSE_IS_PKCS11_BACKEND (self), NULL); + + if (with_mechanism == GCK_INVALID) + mechanism = GUINT_TO_POINTER (G_MAXUINT); + else + mechanism = GUINT_TO_POINTER (with_mechanism); + + return gcr_filter_collection_new_with_callback (GCR_COLLECTION (self), + on_filter_writable, + mechanism, NULL); +} + +static void +on_generate_activate (GSimpleAction *action, + GVariant *param, + gpointer user_data) +{ + SeahorseActionGroup *actions = SEAHORSE_ACTION_GROUP (user_data); + SeahorseCatalog *catalog; + SeahorsePkcs11Generate *dialog; + + catalog = seahorse_action_group_get_catalog (actions); + dialog = seahorse_pkcs11_generate_new (GTK_WINDOW (catalog)); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (GTK_WIDGET (dialog)); + g_clear_object (&catalog); +} diff --git a/pkcs11/seahorse-pkcs11-backend.h b/pkcs11/seahorse-pkcs11-backend.h new file mode 100644 index 00000000..ddcfd2fc --- /dev/null +++ b/pkcs11/seahorse-pkcs11-backend.h @@ -0,0 +1,46 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +#ifndef SEAHORSE_PKCS11_BACKEND_H_ +#define SEAHORSE_PKCS11_BACKEND_H_ + +#include + +#define SEAHORSE_PKCS11_STR "pkcs11" +#define SEAHORSE_PKCS11 (g_quark_from_static_string (SEAHORSE_PKCS11_STR)) + +#define SEAHORSE_TYPE_PKCS11_BACKEND (seahorse_pkcs11_backend_get_type ()) +#define SEAHORSE_PKCS11_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_PKCS11_BACKEND, SeahorsePkcs11Backend)) +#define SEAHORSE_PKCS11_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_TYPE_PKCS11_BACKEND, SeahorsePkcs11BackendClass)) +#define SEAHORSE_IS_PKCS11_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_TYPE_PKCS11_BACKEND)) +#define SEAHORSE_IS_PKCS11_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_TYPE_PKCS11_BACKEND)) +#define SEAHORSE_PKCS11_BACKEND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_TYPE_PKCS11_BACKEND, SeahorsePkcs11BackendClass)) + +typedef struct _SeahorsePkcs11Backend SeahorsePkcs11Backend; +typedef struct _SeahorsePkcs11BackendClass SeahorsePkcs11BackendClass; + +GType seahorse_pkcs11_backend_get_type (void) G_GNUC_CONST; + +SeahorsePkcs11Backend * seahorse_pkcs11_backend_get (void); + +GcrCollection * seahorse_pkcs11_backend_get_writable_tokens (SeahorsePkcs11Backend *self, + gulong with_mechanism); + +#endif /* SEAHORSE_PKCS11_BACKEND_H_ */ diff --git a/pkcs11/seahorse-pkcs11-generate.ui b/pkcs11/seahorse-pkcs11-generate.ui new file mode 100644 index 00000000..f240c722 --- /dev/null +++ b/pkcs11/seahorse-pkcs11-generate.ui @@ -0,0 +1,201 @@ + + + + + diff --git a/pkcs11/seahorse-pkcs11-properties.ui b/pkcs11/seahorse-pkcs11-properties.ui new file mode 100644 index 00000000..0c7b7838 --- /dev/null +++ b/pkcs11/seahorse-pkcs11-properties.ui @@ -0,0 +1,57 @@ + + + + + diff --git a/pkcs11/seahorse-pkcs11-request.ui b/pkcs11/seahorse-pkcs11-request.ui new file mode 100644 index 00000000..d9fed6ec --- /dev/null +++ b/pkcs11/seahorse-pkcs11-request.ui @@ -0,0 +1,114 @@ + + + + + True + False + 7 + 12 + + + True + False + 0 + 48 + application-certificate + + + False + True + 0 + + + + + True + False + 12 + + + True + False + 0 + 0 + Create a certificate request file. + + + False + False + 0 + + + + + True + False + 6 + 12 + + + True + False + The common name (CN) placed in the certificate request. + 0 + Name (CN): + + + 0 + 0 + 1 + 1 + + + + + True + True + + True + True + + + 1 + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + False + True + 1 + + + + + False + True + 1 + + + + diff --git a/po/ChangeLog b/po/ChangeLog new file mode 100644 index 00000000..a344af3f --- /dev/null +++ b/po/ChangeLog @@ -0,0 +1,3413 @@ +=== seahorse 2.26.1 === + +2009-04-12 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2009-04-10 Tommi Vainikainen + + * fi.po: Fixes to Finnish translation (revoke -> mitätöidä). + +2009-04-05 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +2009-03-03 Baris Cicek + + * tr.po: Updated Turkish translation. + +2009-03-24 Shankar Prasad + + * kn.po: Updated Kannada translations. + +2009-03-18 Djihed Afifi + + * ar.po: Updated Arabic translation by Usama Akkad. + +2009-03-17 Ignacio Casal Quinteiro + + * gl.po: Updated Galician translation by Suso Baleato. + +2009-03-17 Petr Kovar + + * cs.po: Updated Czech translation by Vitezslav Kotrla. + +2009-03-16 Krishnababu K + + * te.po: Updated Telugu Translation. + +2009-03-16 Manoj Kumar Giri + + * or.po: Updated Oriya Translation. + +2009-03-16 Amitakhya Phukan + + * LINGUAS: Added as. + * as.po: Updated Assamese translations. + +2009-03-15 Sandeep Shedmake + + * mr.po: Updated Marathi Translations. + +=== seahorse 2.26.0 === + +2009-03-14 Kenneth Nielsen + + * da.po: Updated Danish translation by Ask H. Larsen + +2009-03-14 Nickolay V. Shmyrev + + * ru.po: Updated Russian translation. + +2009-03-14 Ani Peter + + * ml.po: Updated Malayalam Translations + +2009-03-13 Erdal Ronahi + + * ku.po: Added Kurdish translation + * LINGUAS: Added Kurdish (ku) translation + +2009-03-13 Priit Laes + + * et.po: Translation updated by Mattias Põldaru + +2009-03-12 Duarte Loreto + + * pt.po: Fixed an error on the Portuguese translation. + +2009-03-13 Gintautas Miliauskas + + * lt.po: Updated Lithuanian translation by Vytautas Rėkus. + +2009-03-12 Kostas Papadimas + + * el.po: Updated Greek translation by Jennie Petoumenou. + +2009-03-12 Sweta Kothari + + * gu.po: Committed Gujarati Translation. + +2009-03-11 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +2009-03-12 Runa Bhattacharjee + + * bn_IN.po: Updated partial Bengali India Translations + +2009-03-11 Krishnababu K + + * te.po: Updated Telugu Translation. + +2009-03-10 Mario Blättermann + + * de.po: Updated German translation + +2009-03-10 I. Felix + + * ta.po: Tamil Translation updated + +2009-03-09 Rajesh Ranjan + + * hi.po: Updated Hindi Translation. + +2009-03-06 Milo Casagrande + + * it.po: Updated Italian translation. + +2009-03-04 Tomasz Dominikowski + + * pl.po: Updated Polish translation + +2009-03-03 Gabor Kelemen + + * hu.po: Translation updated. + +=== seahorse 2.25.92 === + +2009-03-01 Og Maciel + + * it.po: Updated Italian translation by Milo Casagrande. + +2009-03-01 Takeshi AIHANA + + * ja.po: Updated Japanese translation. + +2009-02-28 Duarte Loreto + + * pt.po: Updated Portuguese translation. + +2009-02-28 Chao-Hsiung Liao + + * zh_HK.po: Updated Traditional Chinese translation(Hong Kong). + * zh_TW.po: Updated Traditional Chinese translation(Taiwan). + +2009-02-26 Og Maciel + + * pt_BR.po: Updated Brazilian Portuguese translation by + André Gondim and reviewed by Vladimir Melo.. + +2009-02-26 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +2009-02-24 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2009-02-23 Philip Withnall + + * en_GB.po: Updated British English translation. + +2009-02-23 Gil Forcada + + * ca.po: Updated Catalan translation. + +2009-02-23 Og Maciel + + * pt_BR.po: Updated Brazilian Portuguese translation by + André Gondim. + +2009-02-23 Alexander Shopov + + * bg.po: Updated Bulgarian translation by + Alexander Shopov + +2009-02-21 Claude Paroz + + * fr.po: Updated French translation by Bruno Brouard and Claude Paroz. + +2009-02-19 I. Felix + + * ta.po: Tamil Translation updated by Tirumurthi Vasudevan + +2009-02-19 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2009-02-18 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2009-02-18 Inaki Larranaga Murgoitio + + * eu.po: Updated Basque translation. + +2009-02-17 Gabor Kelemen + + * hu.po: Translation updated. + +2009-02-17 Changwoo Ryu + + * ko.po: Updated Korean translation. + +2009-02-17 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2009-02-16 Wouter Bolsterlee + + * nl.po: Updated Dutch translation by Wouter Bolsterlee. + +2009-02-16 Gabor Kelemen + + * hu.po: Translation updated. + +2009-02-16 Gabor Kelemen + + * POTFILES.in: Added two missing files that were in .skip + +2009-02-16 Adam Schreiber + + * POTFILES.skip: remove unnecessary files + +2009-02-15 Kenneth Nielsen + + * da.po: Updated Danish translation by Ask H. Larsen + +2009-02-15 Jorge Gonzalez + + * es.po: Updated initial Spanish translation + +2009-02-15 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2009-02-14 Wouter Bolsterlee + + * nl.po: Updated Dutch translation by Wouter Bolsterlee. + +=== seahorse 2.25.91 === + +2009-02-14 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2009-02-14 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2009-02-14 Chao-Hsiung Liao + + * zh_HK.po: Updated Traditional Chinese translation(Hong Kong). + * zh_TW.po: Updated Traditional Chinese translation(Taiwan). + +2009-02-13 Inaki Larranaga Murgoitio + + * eu.po: Updated Basque translation. + +2009-02-13 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2009-02-12 Gil Forcada + + * ca.po: Updated Catalan translation. + +2009-02-11 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2009-02-09 Gabor Kelemen + + * hu.po: Translation updated. + +2009-02-08 Clytie Siddall + + * vi.po: Updated Vietnamese translation. + +2009-02-04 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +==================== 2.25.90 =========================== +>>>>>>> .r2801 +2009-02-02 Stef Walter + + * POTFILES.in: Removed + libcryptui/crui-x509-cert.c + libcryptui/crui-x509-cert-basics.c + libcryptui/crui-x509-cert-basics.glade + libcryptui/crui-x509-cert-dialog.c + libcryptui/crui-x509-cert-basics.ui + + * POTFILES.in: Added + pkcs11/seahorse-pkcs11-certificate-props.c + +2009-02-02 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2009-02-01 Adam Schreiber + + * POTFILES.in: Add 2 files + +2009-02-01 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2009-02-01 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2009-01-30 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2009-01-29 Kjartan Maraas + + * POTFILES.in: Add and remove some files. + * nb.po: Updated Norwegian bokmål translation. + +2009-01-23 Changwoo Ryu + + * ko.po: Updated Korean translation. + +2009-01-16 Og Maciel + + * pt_BR.po: Updated Brazilian Portuguese translation by + Henrique P. Machado. + +2009-01-12 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +2009-01-09 Daniel Nylander + + * sv.po: Updated Swedish translation. + +==================== 2.25.4 ==================== + +2009-01-06 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-12-21 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2008-12-15 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2008-12-13 Leonardo Ferreira Fontenelle + + * pt_BR.po: Minor fixes to the Brazilian Portuguese translation. + +2008-11-30 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2008-11-28 Petr Kovar + + * cs.po: Updated Czech translation by Vitezslav Kotrla. + +2008-11-23 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2008-11-22 Stef Walter + + * POTFILES.in: Removed gkr/seahorse-gkr-commands.vala and + added gkr/seahorse-gkr-commands.c + +2008-11-22 Stef Walter + + * POTFILES.in: added pkcs11/seahorse-pkcs11-commands.c, + pkcs11/seahorse-pkcs11-certificate.c, libcryptui/crui-x509-cert.c, + libcryptui/crui-x509-cert-basics.c, libcryptui/crui-x509-cert-basics.glade, + libcryptui/crui-x509-cert-dialog.c, + + * POTFILES.in: removed pkcs11/seahorse-pkcs11-certificate.vala + +2008-11-22 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-11-16 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-11-14 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2008-10-25 Leonardo Ferreira Fontenelle + + * pt_BR.po: Updated Brazilian Portuguese translation. + +2008-10-22 Simos Xenitellis + + * el.po: Updated Greek translation by Nick Agianniotis. + +2008-10-19 Djihed Afifi + + * ar.po: Updated Arabic Translation by Usama Akkad. + +=== seahorse 2.24.1 === + +2008-10-19 Dafydd Harries + + * cy.po: Add initial translation by Dafydd Crosby. + +2008-10-17 Gabor Kelemen + + * hu.po: Translation updated. + +2008-10-14 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2008-10-12 Ignacio Casal Quinteiro + + * gl.po: Updated Galician translation + +2008-10-12 Gil Forcada + + * ca.po: Updated Catalan translation. + +2008-10-12 Leonardo Ferreira Fontenelle + + * pt_BR.po: Fixed terminology in the Brazilian Portuguese translation. + +2008-10-11 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2008-10-11 Ignacio Casal Quinteiro + + * gl.po: Updated Galician translation. + +2008-10-07 Philip Withnall + + * en_GB.po: Fixed bad translation. (Closes: #555323) + +2008-10-04 Nickolay V. Shmyrev + + * ru.po: Updated Russian translation. + +2008-09-30 Og Maciel + + * pt_BR.po: Updated Brazilian Portuguese translation by Vladimir Melo. + +2008-09-25 Jovan Naumovski + + * mk.po: Updated Macedonian translation. + +2009-09-25 Gil Forcada + + * ca.po: Updated Catalan translation. + +2008-09-22 Ankitkumar Patel + + * gu.po: Updated Gujarati Translations. + +2008-09-22 Leonardo Ferreira Fontenelle + + * pt_BR.po: Fixed terminology in the Brazilian Portuguese translation. + +2008-09-22 Petr Kovar + + * cs.po: Updated Czech translation by Lucas Lommer, + reviewed by Vitezslav Kotrla. + +2008-09-21 Praveen Arimbrathodiyil + + * ml.po: Malayalam translation updated by Jeffrey Antony. + +2008-09-22 Kenneth Nielsen + + * da.po: Updated Danish translation by Kenneth Nielsen + +2009-09-21 Gil Forcada + + * ca.po: Updated Catalan translation. + +2008-09-21 Gintautas Miliauskas + + * lt.po: Updated Lithuanian translation. + +2008-09-21 Runa Bhattacharjee + + * bn_IN.po: Updated Bengali India Translation + +=== seahorse 2.24.0 === + +2008-09-20 Kenneth Nielsen + + * da.po: Updated Danish translation by Ask H. Larsen + +2008-09-21 Runa Bhattacharjee + + * bn_IN.po: Partially updated Bengali India Translation + +2008-09-20 Goran Rakić + + * sr.po, sr@latin.po: Updated Serbian translation (by cp6linux.org team). + +2008-09-20 Runa Bhattacharjee + + * bn_IN.po: Partially updated Bengali India Translation + +2008-09-19 Gabor Kelemen + + * hu.po: Translation updated. + +2008-09-19 Djihed Afifi + + * ar.po: Updated Arabic Translation by Usama Akkad. + +2008-09-18 Hendrik Richter + + * de.po: Updated German translation. + +2008-09-18 Inaki Larrañaga Murgoitio + + * eu.po: Updated Basque translation. + +2008-09-18 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2008-09-18 Chao-Hsiung Liao + + * zh_HK.po: Updated Traditional Chinese translation(Hong Kong). + * zh_TW.po: Updated Traditional Chinese translation(Taiwan). + +2008-09-18 Djihed Afifi + + * ar.po: Updated Arabic Translation by Khaled Hosny. + +2008-09-15 Runa Bhattacharjee + + * bn_IN.po: Updated Bengali India Translation + +2008-09-15 Djihed Afifi + + * ar.po: Updated Arabic Translation by Khaled Hosny. + +2008-09-14 Luca Ferretti + + * it.po: Updated Italian translation by Milo Casagrande. + +2008-09-14 Baris Cicek + + * tr.po: Updated Turkish Translation. + +2008-09-13 Changwoo Ryu + + * ko.po: Updated Korean translation. + +2008-09-12 Shankar Prasad + + * kn.po: Updated Kannada translation. + +2008-09-12 Philip Withnall + + * en_GB.po: Updated British English translation. + +2008-09-11 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2008-09-09 Luca Ferretti + + * it.po: Updated Italian translation by Milo Casagrande. + +2008-09-09 Robert Sedak + + * hr.po: Updated Croatian translation. + +2008-09-09 Sandeep Shedmake + + * mr.po: Updated Marathi translations + +2008-09-09 I. Felix + + * ta.po: Tamil Translation updated by Tirumurthi Vasudevan + +=== seahorse 2.23.92 === +2008-09-09 Rajesh Ranjan + + * hi.po: Updated Hindi Translation. + +2008-09-07 Duarte Loreto + + * pt.po: Updated Portuguese translation. + +2008-09-07 Wouter Bolsterlee + + * nl.po: Updated Dutch translation by Wouter Bolsterlee. + +2008-09-07 Wouter Bolsterlee + + * POTFILES.in: Remove C# hack, it wasn't needed after + all (actually, it even broke string extraction). + +2008-09-07 Wouter Bolsterlee + + * POTFILES.in: Treat Vala files as C# so that + intltool-update no longer errors out. Removed mentioned + file that no longer exists as well. + +2008-09-06 Takeshi AIHANA + + * ja.po: Updated Japanese translation. + +2008-09-06 Philip Withnall + + * en_GB.po: Updated British English translation. + +2008-09-05 Tomasz Dominikowski + + * pl.po: Updated Polish translation + +2008-09-05 Alexander Shopov + + * bg.po: Updated Bulgarian translation by + Alexander Shopov + +2008-09-04 Alexander Shopov + + * bg.po: Updated Bulgarian translation by + Alexander Shopov + +=== seahorse 2.23.91 === + +2008-08-16 Robert-André Mauchin + + * fr.po: Updated French translation. + +2008-08-30 Mario Blättermann + + * de.po: Updated German translation + +2008-08-29 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-08-28 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2008-08-28 Inaki Larranaga Murgoitio + + * eu.po: Updated Basque translation. + +2008-08-27 Priit Laes + + * et.po: Translation updated by Ivar Smolin + +2008-08-27 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2008-08-27 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +2008-08-27 Ignacio Casal Quinteiro + + * gl.po: Updated Galician translation + +2008-08-27 Leonardo Ferreira Fontenelle + + * pt_BR.po: Updated Brazilian Portuguese translation. + +2008-08-27 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-08-25 Goran Rakic + + * LINGUAS, sr@latin.po, sr@Latn.po: Conversion from sr@Latn to sr@latin. + +2008-08-25 Jovan Naumovski + + * mk.po: Updated Macedonian translation. + +2008-08-25 Sandeep Shedmake + + * mr.po: Updated Marathi translations + +2008-08-22 Tomasz Dominikowski + + * pl.po: Updated Polish translation + +2008-08-20 Chao-Hsiung Liao + + * zh_HK.po: Updated Traditional Chinese translation(Hong Kong). + * zh_TW.po: Updated Traditional Chinese translation(Taiwan). + +2008-08-19 Priit Laes + + * et.po: Translation updated by Ivar Smolin + +=== seahorse 2.23.90 === + +2008-08-17 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +2008-08-16 Claude Paroz + + * fr.po: Updated French translation by Robert-André Mauchin and Claude + Paroz. + +2008-08-16 Priit Laes + + * et.po: Translation updated by Ivar Smolin + +2008-08-16 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2008-08-14 Duarte Loreto + + * pt.po: Updated Portuguese translation. + +2008-08-12 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2008-08-11 Leonardo Ferreira Fontenelle + + * pt_BR.po: Brazilian Portuguese translation updated by Djavan + Fagundes. + +2008-08-08 Sweta Kothari + + * gu.po: Committed Gujarati Translation. + +2008-08-08 Priit Laes + + * et.po: Translation updated by Ivar Smolin + +2008-08-6 Djihed Afifi + + * ar.po: Updated Arabic Translation by Khaled Hosny. + +2008-08-05 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2008-08-04 Ignacio Casal Quinteiro + + * gl.po: Updated Galician translation + +2008-08-04 Jorge Gonzalez + + * es.po: Updated Spanish translation + +=== seahorse 2.23.6 === + +2008-08-03 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-07-30 Duarte Loreto + + * pt.po: Updated Portuguese translation. + +2008-07-29 Djihed Afifi + + * ar.po: Updated Arabic Translation by Khaled Hosny. + +2008-07-28 Ignacio Casal Quinteiro + + * gl.po: Updated Galician Translation. + +2008-07-28 Kjartan Maraas + + * POTFILES.in: Remove some files that don't exist any more. + * nb.po: Updated Norwegian bokmål translation. + +2008-07-24 Leonardo Ferreira Fontenelle + + * pt_BR.po: Terminology fixes by Vladimir Melo. + +2008-07-22 Priit Laes + + * et.po: Translation updated by Ivar Smolin + +=== seahorse 2.23.5 === + +2008-07-21 Andre Klapper + + * de.po: Fixed a typo. Patch by Nicolas Kaiser. + http://mail.gnome.org/archives/gnome-de/2008-July/msg00129.html + +2008-07-20 Ignacio Casal Quinteiro + + * gl.po: Updated Galician Translation. + +2008-07-20 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-07-20 Yair Hershkovitz + + * he.po: Updated Hebrew translation. + +2008-07-19 Ignacio Casal Quinteiro + + * gl.po: Updated Galician Translation. + +2008-07-17 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2008-07-10 Matej Urbančič + + * sl.po: Updated Slovenian Translation. + +2008-07-10 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2008-07-09 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-07-09 Kjartan Maraas + + * POTFILES.in: Add missing file. + * nb.po: Updated Norwegian bokmål translation. + +2008-07-06 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-07-05 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-07-03 Yannig Marchegay + + * oc.po: Updated Occitan translation. + +2008-07-01 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +2008-06-28 Stef Walter + + * POTFILES.in: + * POTFILES.skip: Updated for big refactoring + +2008-06-28 Alexander Shopov + + * bg.po: Updated Bulgarian translation by + Alexander Shopov + +2008-06-24 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2008-06-23 Gil Forcada + + * ca.po: Fix to Catalan translation by David Planella. + +2008-06-23 Andre Klapper + + * de.po: Fixed bug #539421. + +2008-06-23 Yair Hershkovitz + + * he.po: Updated Hebrew translation. + +2008-06-21 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-06-18 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2008-06-11 Yannig Marchegay + + * oc.po: Updated Occitan translation. + +2008-06-11 Djihed Afifi + + * ar.po: Updated Arabic Translation by Khaled Hosny. + +2008-06-07 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +2008-06-06 Yair Hershkovitz + + * he.po: Updated Hebrew translation. + +2008-06-03 Priit Laes + + * et.po: Translation updated by Ivar Smolin + +2008-06-02 Clytie Siddall + + * vi.po: Updated Vietnamese translation. + +2008-06-01 Ignacio Casal Quinteiro + + * gl.po: Updated Galician Translation. + +2008-06-01 Jovan Naumovski + + * mk.po: Updated Macedonian translation. + +2008-06-01 Gabor Kelemen + + * hu.po: Translation updated by Máté Őry. + +2008-05-22 Djihed Afifi + + * ar.po: Updated Arabic Translation by Khaled Hosny. + +2008-05-19 Djihed Afifi + + * ar.po: Updated Arabic Translation by Khaled Hosny. + +2008-05-10 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-05-06 Kjartan Maraas + + * POTFILES.in: Fix some missing files. + * nb.po: Updated Norwegian bokmål translation. + +2008-05-03 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-05-02 Yair Hershkovitz + + * he.po: Updated Hebrew translation. + +2008-04-02 Eskild Hustvedt + + * nn.po: Added Norwegian Nynorsk translation + +2008-04-02 Petr Kovar + + * cs.po: Fixed Czech translation by Vitezslav Kotrla + (bug #525425). + +2008-03-26 Wouter Bolsterlee + + * nl.po: Updated Dutch translation by Wouter Bolsterlee. + +2008-03-20 Vasiliy Faronov + + * ru.po: Updated Russian translation. + +2008-03-12 Simos Xenitellis + + * el.po: Updated Greek translation. + +2008-03-11 Baris Cicek + + * tr.po: Updated Turkish translation + +2008-03-10 Ani Peter + + * ml.po: Updated Malayalam Translation + +=== seahorse 2.23.0 === + +2008-03-09 Gabor Kelemen + + * hu.po: Translation updated + +2008-03-09 Gintautas Miliauskas + + * lt.po: Updated Lithuanian translation. + +=== seahorse 2.22.0 === + +2008-03-09 Kenneth Nielsen + + * da.po: Updated Danish translation + +2008-03-09 Yuri Kozlov + + * ru.po: Updated Russian translation. + +2008-03-08 Jovan Naumovski + + * mk.po: Updated Macedonian translation. + +2008-03-08 Runa Bhattacharjee + + * bn_IN.po: Corrected errors related to plural forms + +2008-03-08 Maxim Dziumanenko + + * uk.po: Update Ukrainian translation. + +2008-03-07 I. Felix + + * ta.po: Tamil Translation updated by Tirumurthi Vasudevan + +2008-03-06 Stéphane Raimbault + + * fr.po: Updated French translation. + +2008-03-03 Rahul Bhalerao + + * mr.po: Added Marathi translations from Sandeep Shedmake. + * LINGUAS: Added an entry for Marathi(mr). + +2008-03-03 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +2008-03-03 Philip Withnall + + * en_GB.po: Updated British English translation. + +2008-03-01 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-03-01 Takeshi AIHANA + + * ja.po: Updated Japanese translation. + +2008-03-01 Chao-Hsiung Liao + + * zh_HK.po: Updated Traditional Chinese translation(Hong Kong). + * zh_TW.po: Updated Traditional Chinese translation(Taiwan). + +2008-02-27 Djihed Afifi + + * ar.po: Updated Arabic Translation by Khaled Hosny. + +=== seahorse 2.21.92 === + +2008-02-24 Petr Kovar + + * cs.po: Updated Czech translation by Vitezslav Kotrla. + +2008-02-22 Artur Flinta + + * pl.po: Updated Polish translation by GNOME PL Team. + +2008-02-22 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2008-02-22 Ilkka Tuohela + + * fi.po: Updated Finnish translation (bug #490774). + +2008-02-18 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +2008-02-17 Vincent van Adrighem + + * nl.po: Translation updated by Daniel van Eeden. + +2008-02-17 Yair Hershkovitz + + * he.po: Updated Hebrew translation. + +2008-02-17 Changwoo Ryu + + * ko.po: Updated Korean translation. + +2008-02-17 Nguyễn Thái Ngọc Duy + + * vi.po: Updated vi.po + +2008-02-16 Luca Ferretti + + * it.po: Updated Italian translation by Milo Casagrande. + +2008-02-16 Claude Paroz + + * fr.po: Updated French translation by Robert-André Mauchin. + +2008-02-15 Gil Forcada + + * ca.po: Updated Catalan translation. + +2008-02-15 Runa Bhattacharjee + + * kn.po: Added Kannada Translations by Shankar Prasad + * LINGUAS: Added Kannada (kn) to the List of Languages + +2008-02-14 Pawan Chitrakar + + * ne.po: Updated Nepali Translation. + +2008-02-12 Duarte Loreto + + * pt.po: Updated Portuguese translation. + +2008-02-12 Hendrik Richter + + * de.po: Updated German translation, by + Philipp Kerling + +2008-02-11 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-02-10 Djihed Afifi + + * ar.po: Updated Arabic Translation by Khaled Hosny. + +2008-02-10 Djihed Afifi + + * ar.po: Updated Arabic Translation by Abou Manal. + +2008-02-09 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2008-02-08 Tommi Vainikainen + + * fi.po: Updated Finnish translation. + +2008-02-08 Yair Hershkovitz + + * he.po: Updated Hebrew translation. + +2008-02-07 Artur Flinta + + * pl.po: Updated Polish translation by GNOME PL Team. + +2008-02-03 Priit Laes + + * et.po: Translation updated by Ivar Smolin + +2008-02-02 Ignacio Casal Quinteiro + + * gl.po: Updated Galician Translation. + +2008-02-02 Leonardo Ferreira Fontenelle + + * pt_BR.po: Brazilian Portuguese translation updated by Luiz Armesto. + +2008-02-01 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2008-01-31 Djihed Afifi + + * ar.po: Updated Arabic Translation by Djihed Afifi. + +2008-01-29 Yannig Marchegay + + * oc.po: Updated Occitan translation. + +2008-01-29 Jonh Wendell + + * pt_BR.po: Brazilian Portuguese translation updated by Luiz Armesto + and Pedro de Medeiros. + +2008-01-29 Jorge Gonzalez + + * es.po: Updated Spanish translation + +=== seahorse 2.21.90 === + +2008-01-28 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2008-01-28 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2008-01-27 Kjartan Maraas + + * POTFILES.in: Add missing file. + * nb.po: Updated Norwegian bokmål translation. + +2008-01-24 Gil Forcada + + * POTFILES.in: Fixed to pass intltool-update -m. + +2008-01-21 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +2008-01-19 Gil Forcada + + * ca.po: Updated Catalan translation. + +2008-01-18 Gil Forcada + + * tr.po: Updated Turkish translation to pass msgfmt -cv. + +2008-01-11 Nikos Charonitakis + + * el.po: Updated Greek translation. + +2008-01-07 Priit Laes + + * et.po: Translation updated by Ivar Smolin + +2008-01-05 Clytie Siddall + + * vi.po: Updated Vietnamese translation. + +2008-01-02 Priit Laes + + * et.po: Translation updated by Ivar Smolin + +2007-12-31 Yannig Marchegay + + * oc.po: Updated Occitan translation. + +2007-12-30 Seán de Búrca + + * ga.po: Added Irish translation. + * LINGUAS: Added Irish. + +2007-12-30 Leonardo Ferreira Fontenelle + + * pt_BR.po: Brazilian Portuguese translation updated by Luiz Armesto. + +2007-12-28 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2007-12-24 Djihed Afifi + + * ar.po: Updated Arabic Translation by Djihed Afifi. + +2007-12-17 Jorge Gonzalez + + * es.po: Updated Spanish translation + +=== seahorse 2.21.4 === + +2007-12-17 Espen Stefansen + + * nb.po: Updated Norwegian Bokmål translation. + +2007-12-17 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2007-12-15 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2007-12-11 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2007-12-10 Matej Urbančič + + * sl.po: Updated Slovenian Translation. + +2007-12-09 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2007-12-08 Stef Walter + + * POTFILES.in: Add libseahorse/seahorse-add-keyring.glade, + libseahorse/seahorse-prefs-keyrings.c + +2007-12-06 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +=== seahorse 2.21.3 === + +2007-12-01 Stef Walter + + * POTFILES.in: remove agent/seahorse-agent-ssh.c + +2007-11-14 Leonardo Ferreira Fontenelle + + * pt_BR.po: Brazilian Portuguese translation updated by Luiz Armesto. + +2007-11-13 Ihar Hrachyshka + + * be@latin.po: Updated Belarusian Latin translation. + +2007-11-12 Matej Urbančič + + * sl.po: Updated Slovenian translation + +2007-11-12 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2007-11-07 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2007-11-06 Ihar Hrachyshka + + * be@latin.po: Updated Belarusian Latin translation. + +2007-11-03 Ignacio Casal Quinteiro + + * gl.po: Updated Galician Translation. + +2007-11-02 Espen Stefansen + + * nb.po: Updated Norwegian bokmål translation. + +2007-11-01 Jorge Gonzalez + + * es/es.po: Updated Spanish translation + +2007-10-23 Djihed Afifi + + * ar.po: Updated Arabic Translation by Sohaib Afifi. + +2007-10-21 Djihed Afifi + + * ar.po: Updated Arabic Translation by Sohaib Afifi. + +2007-10-21 Djihed Afifi + + * ar.po: Updated Arabic Translation by Sohaib Afifi. + +=== seahorse-2.20.1 === + +2007-10-15 Matej Urbančič + + * sl.po: Updated Slovenian translation. + +2007-10-10 Josep Puigdemont i Casamajó + + * ca.po: Updated Catalan translation. + +2007-09-29 Danishka Navin + + * si.po: Added Sinhala Translation. + * LINGUAS: Added Sinhala Translation. + + +2007-09-28 Takeshi AIHANA + + * ja.po: Translation improved. + +2007-09-25 Kostas Papadimas + + * el.po: Updated Greek translation by Dimitrios Typaldos . + +2007-09-23 Ihar Hrachyshka + + * be@latin.po: Added Belarusian Latin translation. + * LINGUAS: Added be@latin. + +2007-09-22 Changwoo Ryu + + * ko.po: Updated Korean translation. + +2007-09-17 Baris Cicek + + * tr.po: Updated Turkish translation from Deniz Kocak + +2007-09-17 Espen Stefansen + + * nb.po: Updated Norwegian bokmål translation. + +=== seahorse-2.20 === + +2007-09-17 Hendrik Brandt + + * de.po: Bugfix in German translation. + +2007-09-17 Priit Laes + + * et.po: Estonian translation updated by Ivar Smolin. + +2007-09-17 Gil Forcada + + * ca.po: Updated Catalan translation. + +2007-09-17 Gintautas Miliauskas + + * lt.po: Updated Lithuanian translation. + +2007-09-15 Artur Flinta + + * pl.po: Updated Polish translation by GNOME PL Team. + +2007-09-13 Djihed Afifi + + * ar.po: Updated Arabic Translation by Sohaib Afifi. + +2007-09-14 Gabor Kelemen + + * hu.po: Translation updated. + +2007-09-13 Espen Stefansen + + * nb.po: Updated Norwegian bokmål translation. + +2007-09-13 Jamil Ahmed + + * bn.po: Updated Bengali Translation. + * LINGUAS: Added Bengali (bn). + +2007-09-12 Maxim Dziumanenko + + * uk.po: Update Ukrainian translation. + +2007-09-12 Sunil Mohan Adapa + + * te.po: Added Telugu translation done by + Srinivasa Chary . + +2007-09-12 Alexander Shopov + + * bg.po: Updated Bulgarian translation by + Alexander Shopov + +2007-09-12 Ani Peter + + * ml.po: Updated Malayalam Translation + +2007-09-11 Clytie Siddall + + * vi.po: Updated Vietnamese translation. + +2007-09-10 Hendrik Richter + + * de.po: Updated German translation, by + Tim Bordemann + +2007-09-09 Luca Ferretti + + * it.po Updated Italian translation by + Milo Casagrande . + +2007-09-06 Wouter Bolsterlee + + * nl.po: Translation updated by Wouter Bolsterlee. + +2007-09-05 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +2007-09-04 Nickolay V. Shmyrev + + * ru.po: Updated Russian translation. + +2007-09-04 Alessio Frusciante + + * it.po: Updated Italian translation by + Milo Casagrande . + +2007-09-04 Jovan Naumovski + + * mk.po: Updated Macedonian translation. + +2007-09-03 Clytie Siddall + + * vi.po: Updated Vietnamese translation. + +2007-09-03 Ignacio Casal Quinteiro + + * gl.po: Updated Galician Translation. + +2007-09-03 Priit Laes + + * et.po: Estonian translation updates by Ivar Smolin + +2007-09-01 Takeshi AIHANA + + * ja.po: Updated Japanese translation. + +2007-08-30 Priit Laes + + * et.po: Estonian translation updates by Ivar Smolin + +2007-08-30 Runa Bhattacharjee + + * bn_IN.po: Updated Bengali India Translation. + +2007-08-29 I. Felix + + * ta.po: Tamil Translation updated by Tirumurthi Vasudevan + +2007-08-28 Priit Laes + + * et.po: Estonian translation updates by Ivar Smolin + +=== seahorse-2.19.91 === + +2007-08-26 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2007-08-24 Duarte Loreto + + * pt.po: Updated Portuguese translation. + +2007-08-24 Kenneth Nielsen + + * da.po: Updated Danish translation + +2007-08-23 Raphael Higino + + * pt_BR.po: Updated Brazilian Portuguese translation + +2007-08-23 Ankit Patel + + * gu.po: Updated Gujarati Translation. + +2007-08-23 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2007-08-22 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2007-08-22 Stéphane Raimbault + + * fr.po: Updated French translation by Claude Paroz. + +2007-08-21 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2007-08-21 Priit Laes + + * et.po: Estonian translation updates by Ivar Smolin + +2007-08-21 Josep Puigdemont i Casamajó + + * ca.po: Updated Catalan translation. + +2007-08-20 Nikos Charonitakis + + * el.po: Updated Greek translation. + +2007-08-16 Priit Laes + + * et.po: Estonian translation update by Ivar Smolin. + +2007-08-14 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +=== seahorse-2.19.90 === + +2007-08-12 Hendrik Richter + + * de.po: Updated German translation, by + Tim Bordemann + +2007-08-09 Ankit Patel + + * gu.po: Updated Gujarati Translation. + +2007-08-09 Kjartan Maraas + + * nb.po: Updated translation from Espen Stefansen. + +2007-08-05 Raphael Higino + + * pt_BR.po: Updated Brazilian Portuguese translation + +2007-08-05 Leonardo Ferreira Fontenelle + + * pt_BR.po: s/_Conteúdo/S_umário; see bug #461308. + +2007-07-24 Priit Laes + + * et.po: Estonian translation update by Ivar Smolin. + +2007-07-23 Matic Žgur + + * sl.po: Updated Slovenian translation. + +2007-07-23 Gintautas Miliauskas + + * lt.po: Updated Lithuanian translation. + +2007-07-21 Wouter Bolsterlee + + * nl.po: Translation updated by Wouter Bolsterlee. + +2007-07-21 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2007-07-20 Raivis Dejus + + * lv.po: Added Latvian Translation. + * LINGUAS: Added Latvian Translation. + +2007-07-18 Takeshi AIHANA + + * ja.po: Updated Japanese translation. + +2007-07-18 Gabor Kelemen + + * hu.po: Translation updated. + +2007-07-16 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2007-07-13 I. Felix + + * ta.po: Tamil Translation updated by Tirumurthi Vasudevan + +2007-07-12 I. Felix + + * ta.po: Tamil Translation updated by Tirumurthi Vasudevan + +2007-07-09 Rajesh Ranjan + + * hi.po: Hindi Translation updated + +2007-07-09 Rajesh Ranjan + + * hi.po: Hindi Translation added + +2007-07-09 I. Felix + + * ta.po: Tamil Translation updated by Tirumurthi Vasudevan + +=== seahorse-2.19.5 === + +2007-07-06 I. Felix + + * ta.po: Tamil Translation updated by Tirumurthi Vasudevan + * LINGUAS: Added Tamil (ta) to The List of Languages. + +2007-07-03 Artur Flinta + + * pl.po: Updated Polish translation by GNOME PL Team. + +2007-07-02 Nguyễn Thái Ngọc Duy + + * vi.po: Updated Vietnamese translation. + +2007-07-02 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2007-07-01 Nguyễn Thái Ngọc Duy + + * vi.po: Updated Vietnamese translation. + +2007-06-28 Clytie Siddall + + * vi.po: Updated Vietnamese translation. + +2007-06-24 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2007-06-24 Jorge Gonzalez + + * es.po: Updated Spanish translation + +2007-06-23 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +2007-06-19 Jorge Gonzalez + + * es.po: Updated Spanish translation + +=== seahorse-2.19.4 === + +2007-06-17 Priit Laes + + * et.po: Estonian translation update by Ivar Smolin. + +2007-06-13 Pema Geyleg + + * dz.po: Updated dzongkha translation. + +2007-06-08 Subhransu Behera + + * or.po: Updated Oriya Translation. + +2007-06-08 Subhransu Behera + + * LINGUAS: Added Oriya (or) to the list. + * or.po: Updated Oriya Translation. + + +2007-05-29 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2007-05-27 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2007-05-25 Stéphane Raimbault + + * fr.po: Merged French translation from gnome-2-18. + +2007-05-23 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2007-05-22 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2007-05-18 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2007-05-15 David Lodge + + * en_GB.po: Updated British English translation + +2007-05-11 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2007-05-09 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2007-05-4 Djihed Afifi + + * ar.po: Updated Arabic Translation by Khaled Hosny. + +2007-04-23 David Lodge + + * en_GB.po: Updated British English translation + +2007-04-22 Jorge Gonzalez + + * es.po: Updated Spanish translation. + +2007-04-21 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2007-04-12 Gintautas Miliauskas + + * lt.po: Updated Lithuanian translation. + +2007-04-12 Priit Laes + + * et.po: Updated Estonian translation by Ivar Smolin . + +2007-04-09 Gabor Kelemen + + * hu.po: Translation updated. + +2007-04-08 Ignacio Casal Quinteiro + + * gl.po: Updated Galician Translation. + +2007-04-04 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2007-04-01 Alexander Shopov + + * bg.po: Updated Bulgarian translation by + Alexander Shopov + +2007-03-29 Priit Laes + + * et.po: Updated Estonian translation by Ivar Smolin . + +2007-03-28 Gintautas Miliauskas + + * lt.po: Updated Lithuanian translation. + +2007-03-26 Nikos Charonitakis + + * el.po: Fixed an error on Greek translation. + +2007-03-26 Ignacio Casal Quinteiro + + * gl.po: Updated Galician Translation. + +2007-03-23 Peter Bach + + * da.po: Updated Danish translstion. + +2007-03-22 Priit Laes + + * et.po: Updated Estonian translation by Ivar Smolin . + +2007-03-17 Takeshi AIHANA + + * ja.po: Updated Japanese translation. + +2007-03-13 Ankit Patel + + * gu.po: Updated Gujarati Translation. + +2007-03-13 Gintautas Miliauskas + + * lt.po: Updated Lithuanian translation. + +2007-03-12 Baris Cicek + + * tr.po: Updated Turkish translation + +2007-03-12 Takeshi AIHANA + + * ja.po: Updated Japanese translation (not completed yet). + +2007-03-12 Nikos Charonitakis + + * el.po: Updated Greek translation. + +2007-03-12 Ankit Patel + + * gu.po: Added Gujarati Translation. + +007-03-11 Gabor Kelemen + + * hu.po: Translation updated. + +2007-03-11 Gintautas Miliauskas + + * lt.po: Added Lithuanian translation. + * LINGUAS: Added lt. + +2007-03-10 Nickolay V. Shmyrev + + * ru.po: Updated Russian translation. + +2007-03-10 Hendrik Richter + + * de.po: Updated German translation, by + Henrik Kröger, Tim Bordemann + +2007-03-10 Changwoo Ryu + + * LINGUAS: Added ko. + +2007-03-07 Priit Laes + + * et.po: Updated Estonian translation by Ivar Smolin . + +2007-03-07 Hendrik Richter + + * de.po: Updated German translation, by + Henrik Kröger, Tim Bordemann + +2007-03-07 Runa Bhattacharjee + + * bn_IN.po: Added Bengali India Translation. + * LINGUAS: Added Bengali India (bn_IN) to the list of languages. + +2007-03-06 Jovan Naumovski + + * mk.po: Updated Macedonian translation. + +2007-03-06 Hendrik Richter + + * de.po: Updated German translation, by + Henrik Kröger + +2007-03-06 David Lodge + + * en_GB.po: Updated English (British) translation + +2007-03-05 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2007-03-05 Maxim Dziumanenko + + * uk.po: Update Ukrainian translation. + +2007-03-04 Josep Puigdemont i Casamajó + + * ca.po: Updated Catalan translation. + +2007-03-04 Chao-Hsiung Liao + + * zh_HK.po: Updated Traditional Chinese translation(Hong Kong). + * zh_TW.po: Updated Traditional Chinese translation(Taiwan). + +2007-03-04 Priit Laes + + * et.po: Updated Estonian translation by Ivar Smolin . + +2007-03-02 Priit Laes + + * et.po: Updated Estonian translation by Ivar Smolin . + +2007-03-01 Alessio Frusciante + + * it.po: Updated Italian translation by + Milo Casagrande . + +2007-03-01 Priit Laes + + * et.po: Updated Estonian translation by Ivar Smolin . + +2007-03-01 Changwoo Ryu + + * ko.po: Updated Korean translation. + +2007-02-28 Priit Laes + + * et.po: Updated Estonian translation by Ivar Smolin . + +2007-02-28 Changwoo Ryu + + * ko.po: Added Korean translation. + +2007-02-27 Abel Cheung + + * zh_HK.po: New Chinese (Hong Kong) translation. + * LINGUAS: Added zh_HK. + +2007-02-26 Pema geyleg + + * LINGUAS: Added dz to the list. + * dz.po: Added dzongkha Translation. + +2007-02-25 Alexander Shopov + + * bg.po: Updated Bulgarian translation by + Alexander Shopov + +2007-02-25 Stéphane Raimbault + + * fr.po: Updated French translation by Stéphane Raimbault and + Claude Paroz. + +2007-02-25 Duarte Loreto + + * pt.po: Updated Portuguese translation. + +2007-02-25 Priit Laes + + * et.po, LINGUAS: Added Estonian translation. + +2007-02-25 Kjartan Maraas + + * nb.po: Updated Norwegian bokmål translation. + +2007-02-24 Yair Hershkovitz + + * he.po: Updated Hebrew ranslation + +2007-02-24 Nguyễn Thái Ngọc Duy + + * vi.po: Updated Vietnamese translation. + +2007-02-24 Matic Zgur + + * sl.po: Updated Slovenian translation. + +=== seahorse-0.9.92 === + +2007-02-23 Raphael Higino + + * pt_BR.po: Updated Brazilian Portuguese. + +2007-02-23 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2007-02-22 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2007-02-21 Djihed Afifi + + * ar.po: Updated Arabic Translation by Ahmad Farghal. + +2007-02-20 Alessio Frusciante + + * it.po: Updated Italian translation by + Milo Casagrande . + +2007-02-19 Ignacio Casal Quinteiro + + * gl.po: Updated Galician Translation. + +2007-02-19 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2007-02-18 Josep Puigdemont i Casamajó + + * ca.po: Updated Catalan translation. + +2007-02-17 Duarte Loreto + + * pt.po: Updated Portuguese translation. + +2007-02-17 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2007-02-16 David Lodge + + * en_GB.po: Updated English (British) translation + +2007-02-16 Yair Hershkovitz + + * he.po: Added Hebrew translation. + * LINGUAS: Added "he". + +2007-02-16 Nickolay V. Shmyrev + + * ru.po: Updated Russian translation. + +2007-02-16 Djihed Afifi + + * ar.po: Updated Arabic Translation by Ahmad Farghal. + +2007-02-16 Djihed Afifi + + * ar.po: Updated Arabic Translation by Djihed Afifi. + +2007-02-16 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2007-02-15 Alexander Shopov + + * bg.po: Updated Bulgarian translation by + Alexander Shopov + +2007-02-15 Ignacio Casal Quinteiro + + * gl.po: Updated Galician Translation. + +2007-02-13 Duarte Loreto + + * pt.po: Updated Portuguese translation. + +=== seahorse-0.9.91 === + +2007-02-12 Ignacio Casal Quinteiro + + * gl.po: Updated Galician Translation. + +2007-02-11 Djihed Afifi + + * ar.po: Updated Arabic Translation by Khaled Hosny. + +2007-02-11 David Lodge + + * en_GB.po: Updated English (British) translation + +2007-02-11 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2007-02-11 Josep Puigdemont i Casamajó + + * ca.po: Updated Catalan translation. + +2007-02-10 Stéphane Raimbault + + * fr.po: + +2007-02-10 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2007-02-10 Leonardo Ferreira Fontenelle + + * pt_BR.po: Updated Brazilian Portuguese translation. + +2007-02-9 Djihed Afifi + + * ar.po: Updated Arabic Translation by Khaled Hosny. + +2007-02-09 David Lodge + + * en_GB.po: Updated English (British) translation + +2007-02-8 Djihed Afifi + + * ar.po: Updated Arabic Translation by Khaled Hosny. + +2007-02-08 Josep Puigdemont i Casamajó + + * ca.po: Updated Catalan translation. + +2007-02-06 Theppitak Karoonboonyanan + + * th.po: Updated Thai translation. + +2007-02-04 Stéphane Raimbault + + * fr.po: Updated French translation by Claude Paroz et Stéphane + Raimbault. + +2007-02-05 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2007-02-05 Leonardo Ferreira Fontenelle + + * pt_BR.po: Minor update and fixes in Brazilian Portuguese + translation. + +2007-02-04 Jovan Naumovski + + * mk.po: Updated Macedonian translation. + +2007-02-03 Leonardo Ferreira Fontenelle + + * pt_BR.po: Updated Brazilian Portuguese translation by Luiz Fernando + S. Armesto . + +2007-02-02 Theppitak Karoonboonyanan + + * th.po: Added Thai translation. + * LINGUAS: Added 'th'. + +2007-02-01 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2007-01-30 Alessio Frusciante + + * it.po: Updated Italian translation by + Milo Casagrande . + +2007-01-28 Ignacio Casal Quinteiro + + * gl.po: Added Galician Translation. + * LINGUAS: Added 'gl'. + +2007-01-22 Kostas Papadimas + + * el.po: Added Greek translation. + * LINGUAS: Added el. + +2007-01-15 Josep Puigdemont i Casamajó + + * ca.po: Updated Catalan translation. + +2007-01-15 Vincent van Adrighem + + * nl.po: Translation updated by Reinout van Schouwen and myself. + +2007-01-13 Djihed Afifi + + * ar.po: Updated Arabic Translation by Khaled Hosny. + +2007-01-11 Josep Puigdemont i Casamajó + + * ca.po: Updated Catalan translation. + +2007-01-01 David Lodge + + * en_GB.po: Updated English (British) translation + +2006-12-27 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2006-12-26 Adam Schreiber + + * POTFILES.in: Removed libseahorse/eggtrayicon.c + * POTFILES.skip: Added. + +2006-12-24 Clytie Siddall + + * vi.po: Added Vietnamese translation. + +2006-12-21 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2006-12-19 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2006-12-19 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2006-12-13 Daniel Nylander + + * sv.po: Updated Swedish translation. + * POTFILES.in: Added 'agent/seahorse-agent-main.c' + +2006-12-11 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2006-12-05 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2006-12-02 Francisco Javier F. Serrador + + * es.po: Updated SPanish translation. + +2006-11-24 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2006-11-19 Daniel Nylander + + * sv.po: Updated Swedish translation. + * POTFILES.in: + Added libcryptui/cryptui-key-list.c + libseahorse/seahorse-notification.c + libseahorse/seahorse-notify.glade + libseahorse/seahorse-unknown-source.c + +2006-11-18 Djihed Afifi + + * ar.po: Added Arabic Translation. + * LINGUAS: Added ar. + +2006-11-17 Adam Schreiber + + * POTFILES.in: + Added plugins/epiphany/seahorse-extension.c, + plugins/epiphany/seahorse.ephy-extension.in.in + +2006-11-17 Gabor Kelemen + + * hu.po: Translation updated. + +2006-11-14 Daniel Nylander + + * sv.po: Updated Swedish translation. + +2006-10-28 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2006-10-27 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2006-10-27 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2006-10-26 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2006-10-09 Alessio Frusciante + + * it.po: Updated Italian translation by + Milo Casagrande . + +2006-09-16 Nate Nielsen + + * POTFILES.in: Added src/seahorse-gkeyring-*.c, + src/seahorse-gkeyring-item-properties.glade + +2006-09-15 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2006-09-09 Nate Nielsen + + * POTFILES.in: Removed src/seahorse-preferences.* + +2006-09-04 Nate Nielsen + + * POTFILES.in: Removed libseahorse/seahorse-key-store.c + +2006-09-04 Josep Puigdemont i Casamajó + + * ca.po: Updated Catalan translation rebased from seahorse-0-8. + +2006-08-24 Nate Nielsen + + * POTFILES.in: Removed bonobo/Seahorse_PGP_File_Listener.server.in.in + +2006-08-22 Artur Flinta + + * pl.po: Updated Polish translation by GNOME PL Team. + +2006-08-18 Nate Nielsen + + * POTFILES.in: Added src/seahorse-pgp-generate.* + * POTFILES.in: Removed src/seahorse-generate-adv.* and + src/seahorse-generate-druid.* + +2006-08-13 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2006-07-25 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2006-07-24 Christophe Merlet + + * fr.po: Updated French translation from + Jonathan Ernst . + +2006-07-06 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + * POTFILES.in: Applied changes suggested by intltool-update -m + +2006-07-04 Nate Nielsen + + * POTFILES.in: Added plugins/gedit/seahorse-gedit-plugin.c + +2006-06-15 Hendrik Richter + + * de.po: Updated German translation. + +2006-05-07 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2006-04-24 Nate Nielsen + + POTFILES.in: Added plugins/nautilus/seahorse-tool* + +2006-04-12 Nate Nielsen + + POTFILES.in Added daemon/seahorse-service-crypto.c + +2006-03-25 Nate Nielsen + + POTFILES.in Added src/seahorse-photos.c + +2006-03-22 Nate Nielsen + + POTFILES.in Added/Removed private key glade files + +2006-03-22 Nate Nielsen + + POTFILES.in: Added new SSH files + +2006-02-01 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2005-12-30 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2005-12-26 Adam Weinberger + + * POTFILES.in: Added missing files. + * en_CA.po: Updated Canadian English translation. + +2005-12-12 Abel Cheung + + * zh_TW.po: Fix mnemonic keys. + +2005-11-30 Alexander Shopov + + * bg.po: Updated Bulgarian translation by + Alexander Shopov + +2005-11-17 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-11-11 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2005-11-06 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-11-05 Adam Weinberger + + * POTFILES.in: Removed missing files. + * en_CA.po: Updated Canadian English translation. + +2005-11-01 Adam Weinberger + + * POTFILES.in: Added missing files. + * en_CA.po: Updated Canadian English translation. + +2005-10-19 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-10-12 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-10-10 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation + +2005-10-04 Pawan Chitrakar + + * ne.po: Added Nepali Translation + +2005-09-06 Adam Weinberger + + * POTFILES.in: Added missing files. + * en_CA.po: Updated Canadian English translation. + +2005-08-27 Josep Puigdemont + + * ca.po: Updated Catalan translation. + +2005-08-26 Christophe Merlet + + * fr.po: Updated French translation from + David Soulayrol . + +2005-08-16 Adam Weinberger + + * POTFILES.skip: Removed missing files. + * en_CA.po: Updated Canadian English translation. + +2005-07-31 Ilkka Tuohela + + * fi.po: Bulk updates to Finnish translation + for new gnome.fi website. + +2005-07-22 Adam Weinberger + + * POTFILES.in: Added missing files. + * en_CA.po: Updated Canadian English translation. + +2005-07-18 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-07-17 Christophe Merlet + + * fr.po: Updated French translation from + David Soulayrol . + +2005-07-04 Hendrik Richter + + * de.po: Fixed German translation by + Jens Seidel . + +2005-06-22 Abel Cheung + + * zh_TW.po: Fix language team reference. + +2005-06-08 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-06-04 Chao-Hsiung Liao + + * zh_TW.po: Added Traditional Chinese translation. + +2005-05-23 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-05-20 Nate Nielsen + + * POTFILES.in: Added daemon/seahorse-sharing.c + +2005-05-20 Adam Weinberger + + * POTFILES.in: Remove removed file. + * en_CA.po: Updated Canadian English translation. + +2005-05-19 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-05-06 Josep Puigdemont + + * ca.po: Updated Catalan translation. + +2005-05-06 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2005-05-04 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-05-01 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2005-05-01 Gabor Kelemen + + * hu.po: Hungarian translation updated. + +2005-04-30 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2005-04-27 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-04-25 Gareth Owen + + * en_GB.po: Updated British English translation. + +2005-04-25 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-04-24 Nate Nielsen + + * POTFILES.in: Added libseahorse/seahorse-hkp-source.c, + libseahorse/seahorse-add-keyserver.glade + +2005-04-24 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2005-04-24 Gabor Kelemen + + * hu.po: Hungarian translation updated. + +2005-04-21 Gabor Kelemen + + * hu.po: Hungarian translation updated. + +2005-04-19 David Lodge + + * en_GB.po: Updated British English translation. + +2005-04-16 Takeshi AIHANA + + * ja.po: Updated Japanese translation. + +2005-04-15 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2005-04-12 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-04-11 Vincent van Adrighem + + * nl.po: Translation updated by Tino Meinen. + +2005-04-07 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-04-06 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-04-05 Nate Nielsen + + * POTFILES.in: Added libseahorse/seahorse-progress.glade, + src/seahorse-keyserver-sync.c, src/seahorse-keyserver-sync.glade + +2005-04-02 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-04-01 Steve Murphy + + * rw.po: Added Kinyarwanda translation. + +2005-04-01 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-03-31 Nate Nielsen + + * POTFILES.in: Added plugins/nautilus-ext/seahorse-nautilus.c, + src/seahorse-expires.* + +2005-03-31 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-03-29 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-03-27 Josep Puigdemont + + * ca.po: Updated Catalan translation. + +2005-03-26 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2005-03-23 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-03-22 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2005-03-19 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-03-18 Gabor Kelemen + + * hu.po: Hungarian translation updated. + +2005-03-13 David Lodge + + * en_GB.po: Updated British translation. + +2005-03-08 Duarte Loreto + + * pt.po: Updated Portuguese translation. + +2005-03-05 Christophe Merlet + + * fr.po: Updated French translation from + David Soulayrol . + +2005-03-05 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2005-03-04 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-02-25 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2005-02-23 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-02-23 Takeshi AIHANA + + * ja.po: Updated Japanese translation. + +2005-02-19 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-02-19 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2005-02-18 Kjartan Maraas + + * nb.po: Add this. + +2005-02-16 Alexander Shopov + + * bg.po: Added Bulgarian translation by + Iassen Pramatarov + +2005-02-15 David Lodge + + * en_GB.po: Update English (British) translation. + +2005-02-14 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-02-14 Nate Nielsen + + * POTFILES.in: Added libseahorse/seahorse-signer.glade + +2005-02-13 David Lodge + + * en_GB.po: Updated British translation. + +2005-02-13 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2005-02-12 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2005-02-09 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-02-08 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2005-02-07 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-02-01 Vincent van Adrighem + + * nl.po: Translation updated by Tino Meinen. + +2005-01-23 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-01-23 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2005-01-09 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2005-01-08 Vincent van Adrighem + + * nl.po: Translation updated by Tino Meinen. + +2005-01-07 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2005-01-07 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2005-01-06 Nate Nielsen + + * POTFILES.in: Added libseahorse/seahorse-ldap-source.c + +2005-01-01 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2004-12-26 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-12-25 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-12-23 Nate Nielsen + + * POTFILES.in: Added src/seahorse-pgp-encrypted.desktop.in + src/seahorse-pgp-signature.desktop.in + +2004-12-19 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-12-16 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-12-07 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-12-07 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-12-06 Vincent van Adrighem + + * nl.po: Translation updated by Tino Meinen. + +2004-12-05 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-12-04 Duarte Loreto + + * pt.po: Updated Portuguese translation. + +2004-12-03 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-12-01 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-11-29 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-11-28 Nate Nielsen + + * POTFILES.in: Added libseahorse/seahorse-server-source.c, + src/seahorse-keyserver-results.*, src/seahorse-keyserver-search.* + +2004-11-28 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2004-11-27 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-11-27 Nate Nielsen + + * POTFILES.in: Added plugins/gedit/seahorse-gedit.schemas.in + +2004-11-24 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-11-24 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-11-21 Nate Nielsen + + * POTFILES.in: Removed plugins/nautilus/seahorse-pgp-preferences-cache.c, + plugins/nautilus/seahorse-pgp-preferences.glade, + * POTFILES.in: Added (in libseahorse) seahorse-prefs-cache.c, seahorse-prefs.c, + seahorse-prefs.glade, libseahorse/seahorse-pgp-source.c, seahorse-widget.c + +2004-11-18 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2004-11-09 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-11-07 Vincent van Adrighem + + * nl.po: Translation updated by Tino Meinen. + +2004-11-06 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-11-06 Takeshi AIHANA + + * ja.po: Updated Japanese translation. + +2004-11-01 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-10-31 Vincent van Adrighem + + * nl.po: Translation updated by Tino Meinen. + +2004-10-31 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-10-30 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2004-10-28 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-10-28 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-10-27 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-10-26 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-10-25 Francisco Javier F. Serrador + + * es.po: Updated Spanih translation. + +2004-10-25 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-10-25 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-10-23 Raphael Higino + + * pt_BR.po: Updated Brazilian Portuguese translation. + +2004-10-20 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-10-19 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-10-18 David Lodge + + * en_GB.po: Updated British English translation. + +2004-10-17 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-10-17 David Lodge + + * en_GB.po: Updated British English translation. + +2004-10-16 Danilo Šegan + + * sr.po, sr@Latn.po: Updated Serbian translation. + + * POTFILES.in: Added missing files. + +2004-10-15 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-10-14 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-10-14 Nate Nielsen + + * POTFILES.in: Added agent/, plugins/nautilus/seahorse-pgp-preferences.glade, + plugins/nautilus/seahorse-pgp-preferrences-cache.c + * POTFILES.in: Added plugins/gedit/ + +2004-10-14 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-10-13 Nate Nielsen + + * POTFILES.in: Added seahorse-process-multiple.c, seahorse-multi-encrypt.glade + +2004-10-13 David Lodge + + * en_GB.po: Updated British English translation. + +2004-10-12 Raphael Higino + + * pt_BR.po: Updated Brazilian Portuguese translation. + +2004-10-12 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-10-11 Nate Nielsen + + * POTFILES.in: Removed seahorse-import.glade, seahorse-export.glade + +2004-10-10 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-10-09 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-10-09 Vincent van Adrighem + + * nl.po: Translation updated by Tino Meinen. + +2004-10-05 David Lodge + + * en_GB.po: Updated British English translation. + +2004-10-05 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-10-04 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-10-04 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2004-09-26 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-09-19 Vincent van Adrighem + + * nl.po: Translation updated by Tino Meinen. + +2004-09-18 Funda Wang + + * zh_CN.po: Updated Simplified Chinese translation. + +2004-09-11 Adam Weinberger + + * en_CA.po: Updated Canadian English translation. + +2004-09-05 Ilkka Tuohela + + * fi.po: Updated Finnish translation. + +2004-09-03 Laurent Dhima + + * sq.po: Added Albanian translation. + +2004-08-31 Stanislav Visnovsky + + * sk.po: Updated Slovak translation by Ivan Noris. + +2004-08-13 Tommi Vainikainen + + * fi.po: Unified some fields in po headers for Finnish team. + +2004-06-09 Stanislav Visnovsky + + * sk.po: Added Slovak translation by Ivan Noris. + +2004-05-21 Baris Cicek + + * tr.po: Updated Turkish Translation + +2004-05-03 Vincent van Adrighem + + * nl.po: Translation updated. + +2004-04-24 Christophe Merlet + + * fr.po: Updated French translation. + +2004-04-22 Maxim Dziumanenko + + * uk.po: Updated Ukrainian translation + +2004-04-03 Takeshi AIHANA + + * ja.po: Updated Japanese translation. + +2004-04-02 Christian Rose + + * sv.po: Updated Swedish translation. + +2004-03-30 Adam Weinberger + + * en_CA.po: Added Canadian English translation. + +2004-03-25 Gareth Owen + + * en_GB.po: Added British English translation + +2004-03-22 Gustavo Maciel Dias Vieira + + * pt_BR.po: Updated Brazilian Portuguese translation done by Max + Reinhold Jahnke . + +2004-03-18 Duarte Loreto + + * pt.po: Updated and revised Portuguese translation. + +2004-03-18 Robert Sedak + + * hr.po: Updated Croatian translation. + +2004-03-04 Artur Flinta + + * pl.po: Updated Polish translation by GNOME PL Team. + +2004-02-29 Christophe Merlet + + * fr.po: Updated French translation. + +2004-02-16 Manuel Borchers + + * de.po: Updated German translation. + +2004-02-07 Robert Sedak + + * hr.po: Updated Croatian translation. + +2004-01-31 Kjartan Maraas + + * no.po: Updated Norwegian translation. + +2004-01-28 Miloslav Trmac + + * cs.po: Fixed Czech translation. + +2004-01-27 Vincent van Adrighem + + * nl.po: Translation updated by Tino Meinen. + +2004-01-17 Vincent van Adrighem + + * nl.po: Translation updated by Tino Meinen. + +2004-01-17 Danilo Šegan + + * sr.po, sr@Latn.po: Updated Serbian translation. + +2004-01-15 Danilo Šegan + + * sr.po, sr@Latn.po: Updated Serbian translation. + +2004-01-14 Francisco Javier F. Serrador + + * es.po: Updated Spanish translation. + +2004-01-13 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2003-01-05 Jacob Perkins + + * POTFILES.in: Added seahorse-generate-adv.glade, + seahorse-generate-druid.glade, seahorse-generate-select.glade. + Removed seahorse-generate.glade. + +2003-12-06 Iñaki Larrañaga + + * eu.po: Added Basque (eu) translation by + Andoni Saenz de Santamaria . + +2003-10-21 Hasbullah Bin Pit + + * ms.po: Updated Malay translation. + +2003-09-20 Christophe Merlet + + * fr.po: Updated French translation. + +2003-09-05 Artur Flinta + + * pl.po: Updated Polish translation. + +2003-09-01 Artur Flinta + + * pl.po: Updated Polish translation. + +2003-09-01 Metin Amiroff + + * az.po: Added Azerbaijani translation. + +2003-08-29 Artur Flinta + + * pl.po: Updated Polish translation. + +2003-08-27 Vincent van Adrighem + + * nl.po: Dutch translation updated by Kees van den Broek. + +2003-08-24 Kjartan Maraas + + * no.po: Update Norwegian translation. + +2003-08-23 Artur Flinta + + * pl.po: Updated Polish translation. + +2003-08-19 Danilo Šegan + + * sr.po, sr@Latn.po: Updated Serbian translation. + +2003-08-18 Vincent van Adrighem + + * nl.po: Dutch translation updated by Tino Meinen. + +2003-07-19 Christophe Merlet + + * fr.po: Updated French translation. + +2003-07-17 Vincent van Adrighem + + * nl.po: Dutch translation updated by Kees van den Broek. + +2003-07-14 Pablo Gonzalo del Campo + + * es.po: Updated Spanish translation by + Francisco Javier F. Serrador . + +2003-07-12 Andras Timar + + * hu.po: Updated Hungarian translation. + +2003-07-07 Vincent van Adrighem + + * nl.po: Dutch translation updated by Kees van den Broek. + +2003-07-02 Vincent van Adrighem + + * nl.po: Dutch translation updated by Tino Meinen. + +2003-06-29 Valek Filippov + + * ru.po: Updated russian translation. + +2003-06-23 Vincent van Adrighem + + * nl.po: Dutch translation updated by Kees van den Broek. + +2003-05-28 Alessio Frusciante + + * it.po: Added Italian translation by + Luigi Maselli + +2003-05-23 Pablo Gonzalo del Campo + + * es.po: Updated Spanish translatio by + Francisco Javier Fernandez + +2003-05-20 Christophe Merlet + + * fr.po: Updated French translation. + +2003-05-15 Evandro Fernandes Giovanini + + * pt_BR.po: Updated Brazilian Portuguese translation + from Fabio Rafael da Rosa . + +2003-05-12 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2003-05-08 Duarte Loreto + + * pt.po: Added Portuguese translation. + +2003-05-06 Danilo Šegan + + * sr.po, sr@Latn.po: Added Serbian translation by + http://Prevod.org/. + +2003-05-03 Takeshi AIHANA + + * ja.po: Updated Japanese translation. + +2003-05-02 Christian Rose + + * sv.po: Updated Swedish translation. + +2003-05-02 Christian Rose + + * sv.po: Updated Swedish translation. + +2003-04-25 Jacob Perkins + + * ca.po: Added Catalan translation from + Josep Mones i Teixidor + +2003-04-09 Jacob Perkins + + * Added main.c to POTFILES.in + +2003-04-04 Jacob Perkins + + * Updated POTFILES.in to reflect restructuring changes + +2003-04-04 Christophe Merlet + + * fr.po: Updated French translation. + +2003-03-26 Hasbullah Bin Pit + + * ms.po: Added Malay translation. + +2003-03-21 Jacob Perkins + + * POTFILES.in: Added missing dialog files + +2003-03-08 Jacob Perkins + + * POTFILES.in: Changed location of seahorse-key-properties, + fixes bug 107879 + +2003-03-04 Takeshi AIHANA + + * ja.po: Updated Japanese translation. + +2003-03-01 Jacob Perkins + + * POTFILES.in: Added new file dialogs + +2003-02-17 Jacob Perkins + + * POTFILES.in: Removed seahorse-add-revoker, seahorse-file-manager. + Added seahorse-encrypt-file, seahorse-decrypt-file, seahorse-revoke.c + +2003-02-16 Jacob Perkins + + * POTFILES.in: Added seahorse-add-revoker + +2003-02-15 Jacob Perkins + + * POTFILES.in: Added seahorse-sign + +2003-02-12 Evandro Fernandes Giovanini + + * pt_BR.po: Updated Brazilian Portuguese translation + from Fabio Rafael da Rosa . + +2003-02-12 Christophe Merlet + + * fr.po: Updated French translation from + Stephane Blondin . + +2003-02-10 Christophe Merlet + + * fr.po: Updated French translation from + Stephane Blondin . + +2003-02-10 Takeshi AIHANA + + * ja.po: Updated Japanese translation. + +2003-02-08 Jose Carlos Garcia Sogo + + * es.po: Updated Spanish translation. + +2003-02-05 Andras Timar + + * hu.po: Updated Hungarian translation. + +2003-02-02 German Poo-Caaman~o + + * es.po: Updated Spanish translation. + +2003-01-29 Jacob Perkins + + * POTFILES.in: Removed about.glade2; + added seahorse-key-manager.c, seahorse-add-subkey.glade2 + +2003-01-26 Jose Carlos Garcia Sogo + + * es.po: Updated Spanish translation. + +2003-01-25 Jacob Perkins + + * POTFILES.in: Removed unecessary files, added add-uid + +2003-01-25 Takeshi AIHANA + + * ja.po: Updated Japanese translation + +2003-01-25 Kjartan Maraas + + * no.po: Updated Norwegian translation. + +2003-01-24 Miloslav Trmac + + * cs.po: Updated Czech translation. + +2003-01-19 Christian Meyer + + * de.po: Updated German translation. + +2003-01-19 Christian Rose + + * sv.po: Updated Swedish translation. + +2003-01-18 Vincent van Adrighem + + * nl.po: Dutch translation updated by Tino Meinen. + +2003-01-17 Jose Carlos Garcia Sogo + + * es.po: Updated Spanish translation + +2003-01-17 Vincent van Adrighem + + * nl.po: Dutch translation added by Tino Meinen. + +2003-01-17 Christian Rose + + * sv.po: Updated Swedish translation. + +2003-01-13 Jose Carlos Garcia Sogo + + * es.po: Updated Spanish translation + +2003-01-12 Christian Rose + + * sv.po: Updated Swedish translation. + +2003-01-12 Christian Rose + + * .cvsignore: Added. + * POTFILES.in: Sorted and added missing files. + * cs.po, da.po, fi.po, fr.po, ja.po, no.po, ru.po, sl.po, sv.po, + tr.po, uk.po, zh_CN.po: Added old seahorse translations from GNOME + cvs. + * *.po: Converted to UTF-8. + +10 Jan 2003; Jacob Perkins + + Updated POTFILES.in for 0.6.0 + +24 Nov 2002; Jacob Perkins + + added german translation courtesy of Erich Schubert + +6 Oct 2002; Jacob Perkins + + added more interface and c files + still not sure if string or glade file is necessary + +5 Oct 2002; Jacob Perkins + + added necessary source files to POTFILES.in + not sure which is necessary, translatable string or glade files diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 00000000..38107691 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,86 @@ +# please keep this list sorted alphabetically +# +ar +as +ast +az +be +be@latin +bg +bn +bn_IN +br +bs +ca +ca@valencia +cs +cy +da +de +dz +el +en_CA +en_GB +en@shaw +eo +es +et +eu +fa +fi +fr +fur +ga +gd +gl +gu +he +hi +hr +hu +id +is +it +ja +kk +kn +ko +ku +lt +lv +mai +mk +ml +mr +ms +nb +ne +nl +nn +oc +or +pa +pl +pt +pt_BR +ro +ru +rw +si +sk +sl +sq +sr +sr@latin +sv +ta +te +tg +th +tr +ug +uk +vi +zh_CN +zh_HK +zh_TW diff --git a/po/POTFILES.in b/po/POTFILES.in new file mode 100644 index 00000000..6f448c92 --- /dev/null +++ b/po/POTFILES.in @@ -0,0 +1,123 @@ +# List of source files containing translatable strings. +# Please keep this file sorted alphabetically. +common/add-keyserver-dialog.vala +common/catalog.vala +common/delete-dialog.vala +common/exportable.vala +common/object.vala +common/interaction.vala +common/passphrase-prompt.vala +common/place.vala +common/prefs.vala +common/seahorse-add-keyserver.ui +common/seahorse-prefs.ui +common/util.vala +common/validity.vala +data/gtk/help-overlay.ui +data/org.gnome.seahorse.gschema.xml +data/org.gnome.seahorse.manager.gschema.xml +data/org.gnome.seahorse.window.gschema.xml +data/org.gnome.seahorse.Application.appdata.xml.in +data/org.gnome.seahorse.Application.desktop.in.in +gkr/gkr-backend.vala +gkr/gkr-item-add.vala +gkr/gkr-item-info.vala +gkr/gkr-item-properties.vala +gkr/gkr-item.vala +gkr/gkr-keyring-add.vala +gkr/gkr-keyring-properties.vala +gkr/gkr-keyring-permission.vala +gkr/gkr-keyring.vala +gkr/gkr-password-entry.vala +gkr/seahorse-gkr-add-item.ui +gkr/seahorse-gkr-add-keyring.ui +gkr/seahorse-gkr-item-properties.ui +gkr/seahorse-gkr-keyring.ui +libegg/egg-datetime.c +libseahorse/seahorse-progress.ui +libseahorse/seahorse-util.c +libseahorse/seahorse-widget.c +pgp/seahorse-gpgme-add-subkey.c +pgp/seahorse-gpgme-add-subkey.ui +pgp/seahorse-gpgme-add-uid.c +pgp/seahorse-gpgme-add-uid.ui +pgp/seahorse-gpgme.c +pgp/seahorse-gpgme-expires-dialog.c +pgp/seahorse-gpgme-expires-dialog.ui +pgp/seahorse-gpgme-exporter.c +pgp/seahorse-gpgme-generate-dialog.c +pgp/seahorse-gpgme-generate-dialog.ui +pgp/seahorse-gpgme-key.c +pgp/seahorse-gpgme-key-deleter.c +pgp/seahorse-gpgme-key-op.c +pgp/seahorse-gpgme-keyring.c +pgp/seahorse-gpgme-photos.c +pgp/seahorse-gpgme-revoke.c +pgp/seahorse-gpgme-secret-deleter.c +pgp/seahorse-gpgme-sign-dialog.c +pgp/seahorse-gpgme-sign-dialog.ui +pgp/seahorse-gpgme-subkey.c +pgp/seahorse-gpg-options.c +pgp/seahorse-hkp-source.c +pgp/seahorse-keyserver-results.c +pgp/seahorse-keyserver-results.ui +pgp/seahorse-keyserver-search.c +pgp/seahorse-keyserver-search.ui +pgp/seahorse-keyserver-sync.c +pgp/seahorse-keyserver-sync.ui +pgp/seahorse-ldap-source.c +pgp/seahorse-pgp-actions.c +pgp/seahorse-pgp-backend.c +pgp/seahorse-pgp-key.c +pgp/seahorse-pgp-key-properties.c +pgp/seahorse-pgp-private-key-properties.ui +pgp/seahorse-pgp-public-key-properties.ui +pgp/seahorse-pgp-subkey.c +pgp/seahorse-revoke.ui +pgp/seahorse-server-source.c +pgp/seahorse-signer.c +pgp/seahorse-signer.ui +pgp/seahorse-transfer.c +pgp/seahorse-unknown.c +pgp/seahorse-unknown-source.c +pkcs11/certificate-der-exporter.vala +pkcs11/pkcs11-certificate.vala +pkcs11/pkcs11-deleter.vala +pkcs11/pkcs11-generate.vala +pkcs11/pkcs11-key-deleter.vala +pkcs11/pkcs11-private-key.vala +pkcs11/pkcs11-properties.vala +pkcs11/pkcs11-request.vala +pkcs11/pkcs11-token.vala +pkcs11/seahorse-pkcs11-backend.c +pkcs11/seahorse-pkcs11-generate.ui +pkcs11/seahorse-pkcs11-properties.ui +pkcs11/seahorse-pkcs11-request.ui +src/application.vala +src/import-dialog.vala +src/key-manager.vala +src/main.vala +src/seahorse-change-passphrase.ui +src/seahorse-key-manager.ui +src/seahorse-key-manager-widgets.ui +src/search-provider.vala +src/sidebar.vala +ssh/actions.vala +ssh/algorithm.vala +ssh/backend.vala +ssh/deleter.vala +ssh/errors.vala +ssh/exporter.vala +ssh/generate.vala +ssh/key-data.vala +ssh/key-length-chooser.vala +ssh/key-properties.vala +ssh/key.vala +ssh/operation.vala +ssh/seahorse-ssh-askpass.c +ssh/seahorse-ssh-generate.ui +ssh/seahorse-ssh-key-properties.ui +ssh/seahorse-ssh-upload.ui +ssh/source.vala +ssh/ssh.vala +ssh/upload.vala diff --git a/po/POTFILES.skip b/po/POTFILES.skip new file mode 100644 index 00000000..4ddcbea2 --- /dev/null +++ b/po/POTFILES.skip @@ -0,0 +1,53 @@ +# List of source files that should *not* be translated. +# Please keep this file sorted alphabetically. +common/catalog.c +common/delete-dialog.c +common/exportable.c +common/interaction.c +common/object.c +common/passphrase-prompt.c +common/place.c +common/prefs.c +common/util.c +common/validity.c +data/org.gnome.seahorse.Application.desktop.in +gkr/gkr-backend.c +gkr/gkr-item-add.c +gkr/gkr-item-info.c +gkr/gkr-item.c +gkr/gkr-item-properties.c +gkr/gkr-keyring-add.c +gkr/gkr-keyring.c +gkr/gkr-keyring-properties.c +gkr/gkr-password-entry.c +pkcs11/certificate-der-exporter.c +pkcs11/pkcs11-certificate.c +pkcs11/pkcs11-deleter.c +pkcs11/pkcs11-generate.c +pkcs11/pkcs11-key-deleter.c +pkcs11/pkcs11-private-key.c +pkcs11/pkcs11-properties.c +pkcs11/pkcs11-request.c +pkcs11/pkcs11-token.c +src/application.c +src/import-dialog.c +src/key-manager.c +src/main.c +src/search-provider.c +src/sidebar.c +ssh/actions.c +ssh/algorithm.c +ssh/backend.c +ssh/deleter.c +ssh/errors.c +ssh/exporter.c +ssh/generate.c +ssh/key.c +ssh/key-data.c +ssh/key-length-chooser.c +ssh/key-properties.c +ssh/operation.c +ssh/source.c +ssh/ssh.c +ssh/upload.c +subprojects/libhandy diff --git a/po/ar.po b/po/ar.po new file mode 100644 index 00000000..bdc50fd7 --- /dev/null +++ b/po/ar.po @@ -0,0 +1,3632 @@ +# translation of seahorse.HEAD.po to Arabic +# Arabic translations for PACKAGE package. +# Copyright (C) 2006 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Khaled Hosny , 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2019. +# Ahmad Farghal , 2007. +# Usama Akkad , 2008. +msgid "" +msgstr "" +"Project-Id-Version: seahorse.HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-06-12 21:15+0200\n" +"PO-Revision-Date: 2019-06-12 21:59+0200\n" +"Last-Translator: Khaled Hosny \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" +"X-Generator: Virtaal 0.7.1\n" +"X-Poedit-Language: Arabic\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "أضِف خادوم مفاتيح" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "مخصّص" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "ألغِ" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "احفظ" + +#: common/catalog.vala:116 +msgid "Cannot delete" +msgstr "تعذّر الحذف" + +#: common/catalog.vala:130 common/key-manager-store.vala:418 +msgid "Couldn’t export keys" +msgstr "تعذّر تصدير المفاتيح" + +#: common/catalog.vala:140 +msgid "Couldn’t export data" +msgstr "تعذّر تصدير البيانات" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-photos.c:76 pgp/seahorse-gpgme-photos.c:264 +#: pgp/seahorse-gpgme-photos.c:324 pgp/seahorse-pgp-generate.ui:287 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:249 +msgid "_Cancel" +msgstr "أ_لغِ" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: pkcs11/pkcs11-properties.vala:201 src/sidebar.vala:650 +msgid "_Delete" +msgstr "_احذف" + +#: common/exportable.vala:192 pgp/seahorse-pgp-private-key-properties.ui:909 +#: ssh/seahorse-ssh-key-properties.ui:280 +msgid "Export" +msgstr "صدِّر" + +#: common/interaction.vala:61 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "ادخل كلمة السر أو رمز PIN ل‍: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "أكِّد:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_حسنا" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "كلمة السر:" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "التفضيلات" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "لا: لا تنشر المفاتيح" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "ليس عنوانا سليما لخادوم مفاتيح." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "اتصل بمدير نظامك أو بمدير خادوم المفاتيح لتحصل على مساعدة." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "مسار" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "عنصر مؤقت أولي" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "نوع خادوم المفاتيح:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "المستضيف:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "اسم المستضيف أو عنوان الخادوم." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "المنفذ الذي يتم الوصول إلى الخادوم عبره." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "ا_بحث عن المفاتيح بواسطة:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "ا_نشر المفاتيح في:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "ا_جلب المفاتيح آليا من خواديم المفاتيح" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "_زامن المفاتيح المعدّلة آليا مع خواديم المفاتيح" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "خواديم المفاتيح" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "غير معروفة" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "أبدًا" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "هامشية" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "كاملة" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "نهائية" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "معطلة" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "منقوضة" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "اجلب المفاتيح آليا" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"ما إذا كان من المتعين الحصول آليا على المفاتيح المعدّلة من خادوم المفاتيح " +"المبدئي أم لا." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "انشر المفاتيح آليا" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "ما إذا كان من المتعين نشر المفاتيح المعدّلة آليا أم لا." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "انشر في خادوم المفاتيح هذا" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"خادوم المفاتيح الذي ستنشر به مفاتيح PGP. أو اجعله خاليا لتثبِّط نشر مفاتيح PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "آخر نمط بحث في خادوم مفاتيح" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "آخر نمط بحث بُحِث عنه في خادوم مفاتيح." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "آخر خادوم مفاتيح استُخدِم" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "آخر خادوم مفاتيح بُحث به أو فارغا لكل خواديم المفاتيح." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "أظهر شريط حلقات المفاتيح الجانبي" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "أظهر شريط حلقات المفاتيح الجانبي في «حصان البحر»." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "ما العناصر التي ستعرض" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "عرض اللوح الجانبي" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "العرض المبدئي للوح الجانبي." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "حلقة المفاتيح المختارة" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "العمود الذي سترتب مفاتيح «حصان البحر» طبقا له" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"حدد العمود الذي سترتب نافذة مدير مفاتيح «حصان البحر» طبقا له. أسماء الأعمدة " +"هي 'name'، و 'id'، و 'validity'، و 'expires'، و trust' و 'type'. ضع '-' أمام " +"اسم العمود لترتب تنازليا." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "اظهر عمود الصلاحية" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "لم يعد مًستخدما بعد الآن." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "اظهر عمود انتهاء الصلاحية" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "أظهر عمود الثقة" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "أظهر عمود النوع" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "عرض النّافذة" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "عرض النّافذة (بالبكسل)." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "ارتفاع النّافذة" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "ارتفاع النّافذة (بالبكسل)." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "«حصان البحر»" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "أدِر كلمات سرّك ومفاتيح تعميتك" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"«حصان البحر» هو تطبيق جنوم لإدارة مفاتيح التعمية. يتكامل أيضا مع مدير ملفات " +"جنوم و محررها و أماكم أخرى لتوفير خدمات التعمية." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:13 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:168 +#: src/seahorse-key-manager.ui:277 +msgid "Passwords and Keys" +msgstr "كلمات السرِّ ومفاتيح التعمية" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "حلقة مفاتيح;تعمية;سرية;أمن;ssh;" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.seahorse.Application.desktop.in.in:11 +msgid "org.gnome.seahorse.Application" +msgstr "org.gnome.seahorse.Application" + +#: gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "كلمات السر" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "كلمات السر الخاصة والأسرار المحفوظة" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:604 +msgid "Couldn’t unlock" +msgstr "تعذّر الفتح" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "تعذّر إضافة العنصر" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "أتريد حفظ التغييرات في هذا العنصر؟" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "انفُذ إلى مشاركة أو مورِد على شبكة" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "انفُذ لموقع وِب" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "يفتح مفتاح PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "يفتح مفتاح صدفة آمنة" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "كلمة سر أو ولوج محفوظ" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "مُؤهلات الشبكة" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:191 +msgid "Password" +msgstr "كلمة السر" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "تعذّر تغيير كلمة السر." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "تعذّر وضع وصف." + +#: gkr/gkr-item-properties.vala:268 +msgid "Error deleting the password." +msgstr "خطأ في حذف كلمة السر." + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item.vala:425 +msgid "IM account password for " +msgstr "كلمة سر حساب المراسلة الفورية " + +#: gkr/gkr-item.vala:485 +msgid "Wi-Fi password" +msgstr "كلمة سر واي فاي" + +#: gkr/gkr-item.vala:490 +msgid "Password or secret" +msgstr "كلمة سر" + +#: gkr/gkr-item.vala:491 +msgid "Network password" +msgstr "كلمة السر الشبكة" + +#: gkr/gkr-item.vala:492 +msgid "Stored note" +msgstr "ملاحظة محفوظة" + +#: gkr/gkr-item.vala:493 +msgid "Keyring password" +msgstr "كلمة السر حلقة مفاتيح" + +#: gkr/gkr-item.vala:494 +msgid "Encryption key password" +msgstr "كلمة سر مفتاح تعمية" + +#: gkr/gkr-item.vala:495 +msgid "Key storage password" +msgstr "كلم سر مخزن مفاتيح" + +#: gkr/gkr-item.vala:496 +msgid "GNOME Web password" +msgstr "كلمة سر «وِب جنوم»" + +#: gkr/gkr-item.vala:497 +msgid "Google Chrome password" +msgstr "كلمة سر جوجل كروم" + +#: gkr/gkr-item.vala:498 +msgid "GNOME Online Accounts password" +msgstr "كلمة سر حسابات جنوم على الإنترنت" + +#: gkr/gkr-item.vala:499 +msgid "Telepathy password" +msgstr "كلمة سر تليباثي" + +#: gkr/gkr-item.vala:500 +msgid "Instant messaging password" +msgstr "كلمة سر التراسل الفوري" + +#: gkr/gkr-item.vala:501 +msgid "Network Manager secret" +msgstr "سر مدير الشبكة" + +#: gkr/gkr-item.vala:502 +msgid "Network connection secret" +msgstr "سر اتصال الشبكة" + +#: gkr/gkr-item.vala:565 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "أمتأكد من رغبتك بحذف كلمة السر ”%s“؟" + +#: gkr/gkr-item.vala:567 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "أمتأكد من رغبتك بحذف %d كلمات سر؟" +msgstr[1] "أمتأكد من رغبتك بحذف كلمة سر واحدة؟" +msgstr[2] "أمتأكد من رغبتك بحذف كلمتي سر؟" +msgstr[3] "أمتأكد من رغبتك بحذف %d كلمات سر؟" +msgstr[4] "أمتأكد من رغبتك بحذف %d كلمة سر؟" +msgstr[5] "أمتأكد من رغبتك بحذف %d كلمة سر؟" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "تعذّر إضافة حلقة مفاتيح" + +#: gkr/gkr-keyring-properties.vala:66 +msgid "Unknown date" +msgstr "تاريخ مجهول" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "حلقة مفاتيح تُفتح آليا عن ولوج المستخدم" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "حلقة مفاتيح لحفظ كلمات السر" + +#: gkr/gkr-keyring.vala:192 +msgid "Couldn’t set default keyring" +msgstr "تعذّر تحديد حلقة المفاتيح المبدئية" + +#: gkr/gkr-keyring.vala:219 gkr/gkr-keyring.vala:224 +msgid "Couldn’t change keyring password" +msgstr "تعذّر تغيير كلمة سر حلقة المفاتيح" + +#: gkr/gkr-keyring.vala:243 +msgid "_Set as default" +msgstr "اجعلها المب_دئية" + +#: gkr/gkr-keyring.vala:244 +msgid "Change _Password" +msgstr "_غيّر كلمة السر" + +#: gkr/gkr-keyring.vala:255 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "أمتأكد من رغبتك بحذف حلقة مفاتيح كلمات السر ”%s“؟" + +#: gkr/gkr-keyring.vala:258 +msgid "I understand that all items will be permanently deleted." +msgstr "أفهم أن كل العناصر ستحذف للأبد." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "أظهر\\أخفِ كلمة السر" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "أضف كلمة سر" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_حلقة المفاتيح:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description:" +msgstr "ال_وصف:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_كلمة السر:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:980 +msgid "Add" +msgstr "أضِف" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "أضِف حلقة كلمات سر" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "من فضلك اختر اسما للحلقة الجديدة. ستسأل عن كلمة سر للفتح." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "اسم الحلقة الجديدة:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "خصائص العنصر" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "الوصف" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "انسخ" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "الاستخدام" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1217 +msgid "Type" +msgstr "النّوع" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "الخادوم" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "الولوج" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1103 +#: pgp/seahorse-pgp-public-key-properties.ui:915 +msgid "Details" +msgstr "التفاصيل" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "احذف كلمة السر" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "خصائص حلقة المفاتيح" + +#: gkr/seahorse-gkr-keyring.ui:23 src/seahorse-key-manager.ui:487 +msgid "Keyring is locked" +msgstr "حلقة المفاتيح موصدة" + +#: gkr/seahorse-gkr-keyring.ui:33 src/seahorse-key-manager.ui:497 +msgid "Unlock" +msgstr "افتح" + +#: gkr/seahorse-gkr-keyring.ui:46 +msgid "Keyring is unlocked" +msgstr "حلقة المفاتيح مفتوحة" + +#: gkr/seahorse-gkr-keyring.ui:56 +msgid "Lock" +msgstr "أوصد" + +#: gkr/seahorse-gkr-keyring.ui:102 pgp/seahorse-pgp-key-properties.c:851 +msgid "Name" +msgstr "الاسم" + +#: gkr/seahorse-gkr-keyring.ui:130 +msgid "Created on" +msgstr "تاريخ الإنشاء" + +#: gkr/seahorse-gkr-keyring.ui:160 +msgid "Change password" +msgstr "غيّر كلمة السر" + +#: gkr/seahorse-gkr-keyring.ui:167 +msgid "Set as default" +msgstr "اجعلها المبدئية" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "اعرض الشارات" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "خصائص التاريخ و/أو الوقت المعروضة" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "الطور الكسول" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "الطور الكسول لا يُطبّع قيم التاريخ والوقت المدخلة" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "السنة" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "السنة المعروضة" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "الشهر" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "الشهر المعروض" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "اليوم" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "يوم الشهر المعروض" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "الساعة" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "الساعة المعروضة" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "الدقيقة" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "الدقيقة المعروضة" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "الثانية" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "الثانية المعروضة" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "سنة الحد الأدنى" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "جزء السنة من تاريخ الحد الأدنى" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "سنة الحد الأقصى" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "جزء السنة من تاريخ الحد الأقصى" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "شهر الحد الأدنى" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "جزء الشهر من تاريخ الحد الأدنى" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "شهر الحد الأقصى" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "جزء الشهر من تاريخ الحد الأقصى" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "يوم الحد الأدنى" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "جزء اليوم من تاريخ الحد الأدنى" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "يوم الحد الأقصى" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "جزء اليوم من تاريخ الحد الأقصى" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "ساعة الحد الأدنى" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "جزء الساعة من تاريخ الحد الأدنى" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "ساعة الحد الأقصى" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "جزء الساعة من تاريخ الحد الأقصى" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "دقيقة الحد الأدنى" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "جزء الدقيقة من تاريخ الحد الأدنى" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "دقيقة الحد الأقصى" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "جزء الدقيقة من تاريخ الحد الأقصى" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "ثانية الحد الأدنى" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "جزء الثانية من تاريخ الحد الأدنى" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "ثانية الحد الأقصى" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "جزء الثانية من تاريخ الحد الأدنى" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "التاريخ" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "أدخِل التاريخ مباشرة" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "اختر تاريخا" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "اختر تاريخا من التقويم" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "الوقت" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "أدخل الوقت مباشرة" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "اختر وقتا" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "اختر وقتا من القائمة" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: no" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1259 +#: libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "ص" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1260 +#: libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "م" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%I02d:%I02d:%I02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%I02d:%I02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%I02d:%I02d:%I02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%I02d:%I02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%I04d-%I02d-%I02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%Iu:%Iu:%Iu" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "تعذّر عرض المساعدة: %s" + +#: pgp/seahorse-add-subkey.ui:31 +msgid "Never E_xpires" +msgstr "لا ينت_هي أبدا" + +#: pgp/seahorse-add-subkey.ui:35 +msgid "If key never expires" +msgstr "إذا كان المفتاح لا ينتهي أبدًا" + +#: pgp/seahorse-add-subkey.ui:65 pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "نوع ال_مفتاح:" + +#: pgp/seahorse-add-subkey.ui:78 +msgid "Key _Length:" +msgstr "_طول المفتاح:" + +#: pgp/seahorse-add-subkey.ui:93 +msgid "Expiration Date:" +msgstr "تاريخ الانتهاء:" + +#: pgp/seahorse-add-subkey.ui:112 +msgid "Length of Key" +msgstr "طول المفتاح" + +#: pgp/seahorse-add-subkey.ui:194 +msgid "Generate a new subkey" +msgstr "ولِّد مفتاح فرعي جديد" + +#: pgp/seahorse-expires.ui:22 +msgid "_Never expires" +msgstr "لا _ينتهي أبدا" + +#: pgp/seahorse-expires.ui:80 pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "انقض المفتاح" + +#: pgp/seahorse-expires.ui:106 +msgid "C_hange" +msgstr "_غيِّر" + +#: pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn’t add subkey" +msgstr "تعذّر إضافة مفتاح فرعي" + +#: pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "أضِف مفتاحا فرعيا إلى %s" + +#: pgp/seahorse-gpgme-add-subkey.c:196 pgp/seahorse-gpgme-generate.c:78 +msgid "DSA (sign only)" +msgstr "‏DSA (توقيع فقط)" + +#: pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "الجمل (تعمية فقط)" + +#: pgp/seahorse-gpgme-add-subkey.c:210 pgp/seahorse-gpgme-generate.c:79 +msgid "RSA (sign only)" +msgstr "‏RSA (توقيع فقط)" + +#: pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "‏RSA (تعمية فقط)" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "أضف معرّف المستخدم إلى %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "تعذّر إضافة معرّف المستخدم" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "أضف معرّف المستخدم" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-pgp-generate.ui:66 +msgid "Full _Name" +msgstr "الاسم ال_كامل" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "يجب أن يكون طوله 5 محارف على الأقل" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-pgp-generate.ui:97 +msgid "_Email Address" +msgstr "_عنوان البريد الإلكتروني" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "عنوان بريد إلكتروني اختياري" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "_تعليق المُفتاح" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "تعليق اختياري يصف المفتاح" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "أنشئ معرّف مستخدم جديد" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "فشل استخراج التعمية. ؤبما لا تملك مفتاح التعمية." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:515 +msgid "The operation was cancelled" +msgstr "أُلغيت العملية" + +#: pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "تاريخ انتهاء غير سليم" + +#: pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "يجب أن يكون تاريخ انتهاء الصلاحية في المستقبل" + +#: pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn’t change expiry date" +msgstr "تعذّر تغيير تاريخ الانتهاء" + +#: pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "انتهاء الصلاحية: %s" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "مفاتيح متعددة" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "بيانات المفتاح" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "مفاتيح PGP محصّنة" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "مفاتيح PGP" + +#: pgp/seahorse-gpgme-generate.c:76 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:141 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate.c:77 +msgid "DSA ElGamal" +msgstr "خوارزمية الجمل للتوقيع الإلكتروني" + +#: pgp/seahorse-gpgme-generate.c:129 +msgid "Couldn’t generate PGP key" +msgstr "تعذّر توليد مفتاح PGP" + +#: pgp/seahorse-gpgme-generate.c:168 +msgid "Passphrase for New PGP Key" +msgstr "عبارة السر لمفتاح PGP الجديد" + +#: pgp/seahorse-gpgme-generate.c:169 +msgid "Enter the passphrase for your new key twice." +msgstr "أدخل عبارة السر لمفتاحك الجديد مرتين." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate.c:181 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"عند إنشاء مفتاح نحتاج لتوليد الكثير من البيانات\n" +"العشوائية و نحتاج لمساعدتك. سيفيد إجراؤك لبعض\n" +"الأعمال مثل استخدام لوحة المفاتيح أو تحريك الفأرة\n" +"أو استخدام بعض التطبيقات. سيُزوّد هذا النظام بالبيانات\n" +"العشوائية التي يحتاجها." + +#: pgp/seahorse-gpgme-generate.c:186 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "يجري توليد المفتاح" + +#: pgp/seahorse-gpgme-generate.c:313 +msgid "Name must be at least 5 characters long." +msgstr "يجب أن يكون طول الاسم ٥ محارف على الأقل." + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "أمتأكد أنك تريد حذف %s نهائيا؟" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "أمتأكد من رغبتك بحذف %d مفاتيح نهائيا؟" +msgstr[1] "أمتأكد من رغبتك بحذف مفتاح واحد نهائيا؟" +msgstr[2] "أمتأكد من رغبتك بحذف مفتاحين نهائيا؟" +msgstr[3] "أمتأكد من رغبتك بحذف %d مفاتيح نهائيا؟" +msgstr[4] "أمتأكد من رغبتك بحذف %d مفتاحا نهائيا؟" +msgstr[5] "أمتأكد من رغبتك بحذف %d مفتاح نهائيا؟" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "كلمة السر خطأ" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "هذه المرة الثالثة التي تدخل فيها كلمة سر خطأ. أعد المحاولة من فضلك." + +#: pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "عبارة السر خاطئة." + +#: pgp/seahorse-gpgme-keyring.c:93 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "أدخل عبارة سر جديدة لـ”%s“" + +#: pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "أدخل عبارة سر ”%s“" + +#: pgp/seahorse-gpgme-keyring.c:98 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "أدخل عبارة سر جديدة" + +#: pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "أدخل عبارة السر" + +#: pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "عبارة السر" + +#: pgp/seahorse-gpgme-keyring.c:300 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "لم تُحمّل أي مفاتيح" +msgstr[1] "حُمِّل مفتاح واحد" +msgstr[2] "حُمِّل مفتاحين" +msgstr[3] "حُمِّلت %Id مفاتيح" +msgstr[4] "حُمِّل %Id مفتاحا" +msgstr[5] "حُمِّل %Id مفتاح" + +#: pgp/seahorse-gpgme-keyring.c:625 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"بيانات غير صالحة (تفتقد UID). قد يكون هذا بسبب حاسوب ضُبط تاريخه إلى تاريخ " +"مستقبلي أو لفقد التوقيع الذاتي." + +#: pgp/seahorse-gpgme-keyring.c:755 +msgid "GnuPG keys" +msgstr "مفاتيح GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:766 +msgid "GnuPG: default keyring directory" +msgstr "‏GnuPG: دليل حلقة المفاتيح المبدئي" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"الصورة كبيرة جدا\n" +"المقاس المنصوح به لمفتاحك هو %Id × %Id بكسِل." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_لا تُغير الحجم" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "أ_عِد التحجيم" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"لليس هذا بملف صورة، أو بنوع معروف من مفات الصور. حاوِل استخدام صورة JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "كل ملفات الصور" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "كل ملفات JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:292 +msgid "All files" +msgstr "كل الملفات" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "اختر صورة لتُضاف إلى المفتاح" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:250 +msgid "_Open" +msgstr "ا_فتح" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "تعذّر تجهيز الصورة" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "تعذّر إضافة الصورة" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "تعذّر تحميل الملف. قد يكون بتنسيق غير صالح" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "أواثق من رغبتك في حذف الصورة الحالية من المفتاح؟" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "تعذّر حذف الصورة" + +#: pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn’t revoke subkey" +msgstr "تعذّر نقض المفتاح الفرعي" + +#: pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "انقض: %s" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "لا سبب" + +#: pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "لا سبب لسحب المفتاح" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "معرّض للمخاطِر" + +#: pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "لقد تعرّض هذا المفتاح للخطر" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "أُلغِي" + +#: pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "أُلغِي المفتاح" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "غير مُستخدَم" + +#: pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "لم يعد هذا المفتاح مًستخدما بعد الآن" + +#: pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"أنت على وشك إضافة %s كناقض لـ %s. لا يمكن التراجع في هذا! أواثق من رغبتك في " +"المتابعة؟" + +#: pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn’t add revoker" +msgstr "تعذّر إضافة الناقض" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "أفهم أن هذا المفتاح السري سيحذف للأبد." + +#: pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"سبق أن وقّع هذا المفتاح\n" +"“%s”" + +#: pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn’t sign key" +msgstr "تعذّر توقيع المفتاح" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign.c:163 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "لا توجد مفاتيح قابلة للتوقيع" + +#: pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "لا تملك مفتاح PGP شخصي يُمكن استخدامه ليبيِّن ثقتك في هذا المفتاح." + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "غير معروف" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "الجمل" + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "لم يكن البحث محددًا بما فيه الكفاية. وجد الخادوم ”%s“ مفاتيح كثيرة." + +#: pgp/seahorse-hkp-source.c:536 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "تعذّر التواصل مع الخادوم ”%s“:‏ %s" + +#: pgp/seahorse-hkp-source.c:999 +msgid "HTTP Key Server" +msgstr "خادوم مفاتيح HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "تعذّر استيراد المفتاح: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "نجح استيراد المفتاح" + +#: pgp/seahorse-keyserver-results.c:154 src/import-dialog.vala:38 +msgid "Import" +msgstr "استورد" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "تعذّر استيراد المفتاح" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "المفاتيح البعيدة" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "المفاتيح البعيدة التي تحتوي ”%s“" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "فشل البحث عن المفاتيح." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"انقر نقرًا مزدوجًا على المفتاح لفحصه، أو انقر على زر الاستيراد لاستيراده إلى " +"حلقة مفاتيحك المحلية." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "اعثر على مفاتيح بعيدة" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"سيُعثر هذا على مفاتيح الآخرين عبى الإنترنت. يُمكن بعد ذلك استيراد هذه المفاتيح " +"إلى حلقة مفاتيحك المحليّة." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "ا_بحث عن المفاتيح التي تحتوي: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "مكان البحث:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "خواديم المفاتيح:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "المفاتيح المُشاركة القريبة منِّي:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "ا_بحث" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "تعذر نشر المفاتيح على الخادوم" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "تعذّر الحصول على المفاتيح من الخادوم: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "لم تُحدّد مفاتيح للمُزامنة" +msgstr[1] "حُدِّد مفتاح واحد للمُزامنة" +msgstr[2] "حُدِّد مفتاحين للمُزامنة" +msgstr[3] "حُدِّدت %Id مفاتيح للمُزامنة" +msgstr[4] "حُدِّد %Id مفتاحًا للمُزامنة" +msgstr[5] "حُدِّد %Id مفتاح للمُزامنة" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "يجري مزامنة المفاتيح…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "زامِن المفاتيح" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"سيُنشر هذا المفاتيح في حلقة مفاتيحك لتتوفّر للآخرين ليستخدموها. ستحصل أيضا " +"على أي تغييرات أجراها الآخرون منذ تلقيّت مفاتيحهم." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"سيحصل هذا على أي تغييرات قام با الآخرون منذ تلقّيت مفاتيحهم. لم يُحدد أي خادوم " +"مفاتيح للنشر، لذا لن تتوفّر مفاتيحك للآخرون." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_خواديم المفاتيح" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_زامِن" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "تعذّر التواصل مع %s:‏ %s" + +#: pgp/seahorse-ldap-source.c:649 +#, c-format +msgid "Connecting to: %s" +msgstr "يتصل بـ: %s" + +#: pgp/seahorse-ldap-source.c:655 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "تعذّر حل العنوان: %s" + +#: pgp/seahorse-ldap-source.c:699 +#, c-format +msgid "Resolving server address: %s" +msgstr "يجري حل عنوان الخادوم: %s" + +#: pgp/seahorse-ldap-source.c:1434 +msgid "LDAP Key Server" +msgstr "خادوم مفاتيح LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "مفاتيح PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "مفاتيح PGP لتعمية البريد والملفات" + +#: pgp/seahorse-pgp-generate.ui:18 +msgid "New PGP key" +msgstr "مفتاح PGP جديد" + +#: pgp/seahorse-pgp-generate.ui:47 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "يسمح لك مفتاح PGP بتعمية البريد الإلكتروني أو الملفات للآخرين." + +#: pgp/seahorse-pgp-generate.ui:129 pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "خيارات المفتاح ال_متقدّمة" + +#: pgp/seahorse-pgp-generate.ui:143 +msgid "_Comment" +msgstr "ال_تعليق" + +#: pgp/seahorse-pgp-generate.ui:174 +msgid "Encryption _Type" +msgstr "_نوع التعمية" + +#: pgp/seahorse-pgp-generate.ui:204 +msgid "Key _Strength (bits)" +msgstr "شدة المفتاح (بالبِتات)" + +#: pgp/seahorse-pgp-generate.ui:234 +msgid "E_xpiration Date" +msgstr "تاريخ ا_نتهاء الصلاحية" + +#: pgp/seahorse-pgp-generate.ui:256 +msgid "Ne_ver Expires" +msgstr "لا تنتهي صلاحيته أ_بدًا" + +#: pgp/seahorse-pgp-generate.ui:297 +msgid "C_reate" +msgstr "أن_شيء" + +#: pgp/seahorse-pgp-generate.ui:304 +msgid "Generate a new key" +msgstr "ولِّد مفتاحًا جديدًا" + +#: pgp/seahorse-pgp-key.c:555 +msgid "Personal PGP key" +msgstr "مفتاح PGP سري" + +#: pgp/seahorse-pgp-key.c:557 +msgid "PGP key" +msgstr "مفتاح PGP" + +#: pgp/seahorse-pgp-key-properties.c:245 +msgid "Couldn’t change primary user ID" +msgstr "تعذّر تغيير معرّف المستخدم الأوليّ" + +#: pgp/seahorse-pgp-key-properties.c:280 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "أمتأكدٌ أنّك تريد حذف معرّف المستخدم ”%s“ نهائيا؟" + +#: pgp/seahorse-pgp-key-properties.c:289 +msgid "Couldn’t delete user ID" +msgstr "تعذر حذف معرّف المستخدم" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:361 pgp/seahorse-pgp-key-properties.c:1351 +msgid "[Unknown]" +msgstr "[مجهول]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:457 pgp/seahorse-pgp-key-properties.c:1556 +msgid "Name/Email" +msgstr "اسم/بريد إلكتروني" + +#: pgp/seahorse-pgp-key-properties.c:464 +msgid "Signature ID" +msgstr "معرّف التوقيع" + +#: pgp/seahorse-pgp-key-properties.c:570 +msgid "Couldn’t change primary photo" +msgstr "تعذّر تغيير الصورة الأوّلية" + +#: pgp/seahorse-pgp-key-properties.c:730 +msgid "Error changing password" +msgstr "خطأ في تغيير كلمة السر" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:776 +msgid "(unknown)" +msgstr "(مجهول)" + +#: pgp/seahorse-pgp-key-properties.c:781 +#, c-format +msgid "This key expired on: %s" +msgstr "انتهت صلاحية هذا المفتاح في: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:809 +#, c-format +msgid "%s — Public key" +msgstr "‏%s — مفتاح علني" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:812 +#, c-format +msgid "%s — Private key" +msgstr "‏%s — مفتاح سري" + +#: pgp/seahorse-pgp-key-properties.c:965 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "أمتأكدٌ أنّك تريد حذف المفتاح الفرعي %Id من %s نهائيًا؟" + +#: pgp/seahorse-pgp-key-properties.c:973 +msgid "Couldn’t delete subkey" +msgstr "تعذّر حذف المفتاح الفرعي" + +#: pgp/seahorse-pgp-key-properties.c:1032 +#: pgp/seahorse-pgp-key-properties.c:1325 +msgid "Unable to change trust" +msgstr "تعذّر تغيير الثقة" + +#: pgp/seahorse-pgp-key-properties.c:1044 ssh/key-properties.vala:185 +msgid "Couldn’t export key" +msgstr "تعذّر تصدير المفتاح" + +#: pgp/seahorse-pgp-key-properties.c:1175 +#: pgp/seahorse-pgp-key-properties.c:1259 +msgctxt "Expires" +msgid "Never" +msgstr "أبدًا" + +#: pgp/seahorse-pgp-key-properties.c:1214 +msgid "ID" +msgstr "المعرّف" + +#: pgp/seahorse-pgp-key-properties.c:1220 +msgid "Usage" +msgstr "الاستخدام" + +#: pgp/seahorse-pgp-key-properties.c:1223 +msgid "Created" +msgstr "تاريخ الإنشاء" + +#: pgp/seahorse-pgp-key-properties.c:1226 +msgid "Expires" +msgstr "تاريخ انتهاء الصلاحية" + +#: pgp/seahorse-pgp-key-properties.c:1229 +msgid "Status" +msgstr "الحالة" + +#: pgp/seahorse-pgp-key-properties.c:1232 +msgid "Strength" +msgstr "الشدة" + +#: pgp/seahorse-pgp-key-properties.c:1250 +msgid "Revoked" +msgstr "منقوض" + +#: pgp/seahorse-pgp-key-properties.c:1252 +msgid "Expired" +msgstr "منتهي الصلاحية" + +#: pgp/seahorse-pgp-key-properties.c:1254 +msgid "Disabled" +msgstr "معطل" + +#: pgp/seahorse-pgp-key-properties.c:1256 +msgid "Good" +msgstr "جيّد" + +#: pgp/seahorse-pgp-key-properties.c:1559 +#: pgp/seahorse-pgp-private-key-properties.ui:333 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "معرّف المفتاح" + +#: pgp/seahorse-pgp-key-properties.c:1700 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "أثِق بتوقيع ”%s“ على المفاتيح الأخرى" + +#: pgp/seahorse-pgp-key-properties.c:1707 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"إذا كنت تثق في أن الشخص الذي يمتلك هذا المفتاح هو ”%s“، وقّع هذا " +"المفتاح:" + +#: pgp/seahorse-pgp-key-properties.c:1714 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "إذا لم تعد تثق في أن ”%s“ يمتلك هذا المفتاح، انقض توقيعك:" + +#: pgp/seahorse-pgp-private-key-properties.ui:56 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "نُقِض هذا المفتاح" + +#: pgp/seahorse-pgp-private-key-properties.ui:66 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "لقد نُقِض هذا المفتح من قِبَل مالِكه. لم يعد من الممكن استخدامه." + +#: pgp/seahorse-pgp-private-key-properties.ui:94 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "انتهت صلاحية هذا المفتاح" + +#: pgp/seahorse-pgp-private-key-properties.ui:159 +msgid "Add a photo to this key" +msgstr "أضِف صورة لهذا المفتاح" + +#: pgp/seahorse-pgp-private-key-properties.ui:178 +msgid "Remove this photo from this key" +msgstr "ازل هذه الصورة من هذا المفتاح" + +#: pgp/seahorse-pgp-private-key-properties.ui:197 +msgid "Make this photo the primary photo" +msgstr "اجعل هذه الصورة الأوليّة" + +#: pgp/seahorse-pgp-private-key-properties.ui:222 +msgid "Go to previous photo" +msgstr "إذهب إلى الصورة السابقة" + +#: pgp/seahorse-pgp-private-key-properties.ui:241 +msgid "Go to next photo" +msgstr "إذهب إلى الصورة التالية" + +#: pgp/seahorse-pgp-private-key-properties.ui:306 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "التعليق" + +#: pgp/seahorse-pgp-private-key-properties.ui:363 +#: ssh/seahorse-ssh-key-properties.ui:294 +msgid "Change _Passphrase" +msgstr "غيِّر _عبارة السر" + +#: pgp/seahorse-pgp-private-key-properties.ui:379 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "المالك" + +#: pgp/seahorse-pgp-private-key-properties.ui:392 +msgid "Key Names and Signatures" +msgstr "أسماء المفاتيح و التوقيعات" + +#: pgp/seahorse-pgp-private-key-properties.ui:430 +msgid "Primary" +msgstr "أوّلي" + +#: pgp/seahorse-pgp-private-key-properties.ui:460 pgp/seahorse-pgp-subkey.c:160 +msgid "Sign" +msgstr "وقِّع" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:490 +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Delete" +msgstr "احذف" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:520 +msgid "_Add Name" +msgstr "أ_ضف اسمًا" + +#: pgp/seahorse-pgp-private-key-properties.ui:550 +#: pgp/seahorse-pgp-private-key-properties.ui:1040 +msgid "Revoke" +msgstr "انقض" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:586 +msgid "Names and Signatures" +msgstr "أسماء وتوقيعات" + +#: pgp/seahorse-pgp-private-key-properties.ui:623 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "معرّف المفتاح:" + +#: pgp/seahorse-pgp-private-key-properties.ui:648 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "النّوع:" + +#: pgp/seahorse-pgp-private-key-properties.ui:673 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "الشدة:" + +#: pgp/seahorse-pgp-private-key-properties.ui:698 +msgid "Technical Details" +msgstr "التفاصيل التقنية" + +#: pgp/seahorse-pgp-private-key-properties.ui:726 +#: ssh/seahorse-ssh-key-properties.ui:174 +msgid "Fingerprint" +msgstr "البصمة" + +#: pgp/seahorse-pgp-private-key-properties.ui:758 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "تاريخ الإنشاء:" + +#: pgp/seahorse-pgp-private-key-properties.ui:782 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "تنتهي صلاحيته:" + +#: pgp/seahorse-pgp-private-key-properties.ui:828 +msgid "Dates" +msgstr "التّواريخ" + +#: pgp/seahorse-pgp-private-key-properties.ui:851 +msgid "Override Owner _Trust:" +msgstr "تخطّى _ثقة المالِك:" + +#: pgp/seahorse-pgp-private-key-properties.ui:879 +msgid "_Export Secret Key:" +msgstr "_صدِّر المفتاح السري:" + +#: pgp/seahorse-pgp-private-key-properties.ui:926 +msgid "Actions" +msgstr "الإجراءات" + +#: pgp/seahorse-pgp-private-key-properties.ui:1010 +msgid "Expire" +msgstr "انهِ صلاحيّته" + +#: pgp/seahorse-pgp-private-key-properties.ui:1084 +#: pgp/seahorse-pgp-public-key-properties.ui:898 +msgid "_Subkeys" +msgstr "المفاتيح ال_فرعية" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "هامشية" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "كاملة" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "نهائية" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "الأسما_ء الأخرى:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "ثقتك في هذا المفتاح" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "تحدد ثِقتك يدويا في لِسان التفاصيل." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_وقِّع هذا المفتاح" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "ا_نقض التوقيع" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "الأشخاص الذين وقّعوا هذا المفتاح:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "لا تظهر _سوى توقيعات من أثق بهم" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "الثقة" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "التفاصيل التقنية:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "البصمة:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "التّواريخ:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate Trust:" +msgstr "بيِّن الثقة:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _Trust the Owner:" +msgstr "_تثِق في المالك:" + +#: pgp/seahorse-pgp-subkey.c:159 +msgid "Encrypt" +msgstr "عمِّ" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Certify" +msgstr "اعتمد" + +#: pgp/seahorse-pgp-subkey.c:162 +msgid "Authenticate" +msgstr "وثّق" + +#: pgp/seahorse-pgp-subkey.c:311 +msgid "Key" +msgstr "مفتاح" + +#: pgp/seahorse-pgp-subkey.c:316 +#, c-format +msgid "Subkey %d of %s" +msgstr "المفتاح الفرعي %Id من %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "سبب سحب المفتاح" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "ال_سبب:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "وصف إختياري للسحب" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "أَبْ_طِل" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "لا توجد مفاتيح PGP شخصية يمكن استخدامها لتوقيع الملف أو الرسالة." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "اختر مفتاح التوقيع" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_وقّع الرسالة بالمفتاح:" + +#: pgp/seahorse-sign.ui:6 +msgid "Sign Key" +msgstr "وقّع المفتاح" + +#: pgp/seahorse-sign.ui:27 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "بالتوقيع تبيِّن أنك تثق في انتماء هذا المفتاح إلى:" + +#: pgp/seahorse-sign.ui:34 +msgid "Key Name" +msgstr "اسم المفتاح" + +#: pgp/seahorse-sign.ui:54 +msgid "How carefully have you checked this key?" +msgstr "ما مدى حرصك عند فحص هذا المُفتاح؟" + +#: pgp/seahorse-sign.ui:84 +msgid "_Not at all" +msgstr "_بتاتا" + +#: pgp/seahorse-sign.ui:95 +msgid "_Casually" +msgstr "_معتاد" + +#: pgp/seahorse-sign.ui:107 +msgid "_Very Carefully" +msgstr "بحر_ص شديد" + +#: pgp/seahorse-sign.ui:134 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"بتاتًا: يعني أنك تؤمن بأن المفتاح ملك للشخص الذي يدعي ملكيته لكنك لم " +"تستطع أو لم تتحقق من هذه الحقيقة." + +#: pgp/seahorse-sign.ui:147 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"معتاد: يعني أنك قمت بتحقق عادي من أن هذا المفتاح ملك للشخص الذي يدِّعي " +"ملكيته. مثلا، قد تقرأ بصمة المفتاح مع المالك عبر الهاتف." + +#: pgp/seahorse-sign.ui:168 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"بحرص شديد: اختر هذا إذا كنت واثقا بشكل تام من أن هذا المفتاح أصيل." + +#: pgp/seahorse-sign.ui:184 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"يمكنك استخدام هوية صورة يصعب تزويرها (مثل جواز السفر) لتتأكد شخصيا من أن " +"الاسم في المفتاح صحيح. يجب أن تكون قد استخدمت البريد أيضا لتتأكد من أن " +"العناوين تخصّ المالك." + +#: pgp/seahorse-sign.ui:215 +msgid "How others will see this signature:" +msgstr "كيف سيرى الآخرون هذا التوقيع:" + +#: pgp/seahorse-sign.ui:232 +msgid "_Others may not see this signature" +msgstr "يمكن للآ_خرين رؤية هذا التوقيع" + +#: pgp/seahorse-sign.ui:243 +msgid "I can _revoke this signature at a later date." +msgstr "يمكنني _نقض هذا التوقيع في وقت لاحق." + +#: pgp/seahorse-sign.ui:268 +msgid "Sign key as:" +msgstr "وقع المفتاح باسم:" + +#: pgp/seahorse-sign.ui:286 +msgid "_Signer:" +msgstr "ال_مُوقّع:" + +#: pgp/seahorse-sign.ui:321 +msgid "_Sign" +msgstr "_وقِّع" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "يصدّر البيانات" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "يجلب البيانات" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "يستورد البيانات" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "يرسل البيانات" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "غير متوفّر" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "شهادة" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "الشّهادة (بترميز DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "شهادة ومفتاح شخصييْن" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "شهادة شخصية" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "أمتأكد من رغبتك بحذف %d معرّفات نهائيا؟" +msgstr[1] "أمتأكد من رغبتك بحذف معرّف واحد نهائيا؟" +msgstr[2] "أمتأكد من رغبتك بحذف معرّفين نهائيا؟" +msgstr[3] "أمتأكد من رغبتك بحذف %d معرّفات نهائيا؟" +msgstr[4] "أمتأكد من رغبتك بحذف %d معرّفا نهائيا؟" +msgstr[5] "أمتأكد من رغبتك بحذف %d معرّف نهائيا؟" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "تعذّر توليد المفتاح السري" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "أفهم أن هذا المفتاح سيحذف للأبد." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "مفتاح سري بلا اسم" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:225 +msgid "Private key" +msgstr "مفتاح سري" + +#: pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "بلا اسم" + +#: pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "فشل تصدير الشهادة" + +#: pkcs11/pkcs11-properties.vala:188 src/sidebar.vala:620 +msgid "Couldn’t delete" +msgstr "تعذّر الحذف" + +#: pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "_صدِّر" + +#: pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "صدّر الشهادة" + +#: pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "احذف هذه الشهادة أو المفتاح" + +#: pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "ا_طلب شهادة" + +#: pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "أنشئ ملف طلب شهادة لهذا المفتاح" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "أنشئ" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "تعذّر إنشاء طلب الشهادة" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "احفظ طلب الشهادة" + +#: pkcs11/pkcs11-request.vala:107 +msgid "_Save" +msgstr "ا_حفظ" + +#: pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "طلب شهادة" + +#: pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "طلب بترميز PEM" + +#: pkcs11/pkcs11-request.vala:149 +msgid "Couldn’t save certificate request" +msgstr "تعذّر حفظ طلب الشهادة" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "غير معروف" + +#: pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "الشّهادات" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "شهادات X.509 والمفاتيح المتعلقة بها" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "مفتاح سري جديد" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "أنشئ مفتاحًا سريا جديدًا" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "العنوان:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "محفوظ في:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 ssh/seahorse-ssh-generate.ui:158 +msgid "Key _Strength (bits):" +msgstr "شدة المفتاح (ثنائيات):" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "أنشئ ملف طلب شهادة." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "لم يوضع اسم شائع (CN) في طلب الشهادة." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "الا_سم (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "المساهمات:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "إصدارة هذا التطبيق" + +#: src/application.vala:170 +msgid "translator-credits" +msgstr "" +"فريق عربآيز للترجة http://www.arabeyes.org:\n" +"خالد حسني " + +#: src/application.vala:173 +msgid "Seahorse Project Homepage" +msgstr "صفحة مشروع «حصان البحر»" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "البيانات التي ستُستورَد" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "فشل الاستيراد" + +#. The prompt +#: src/key-manager.vala:247 ssh/operation.vala:324 +msgid "Import Key" +msgstr "استورد مفتاح" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:258 +msgid "All key files" +msgstr "كل ملفات المفاتيح" + +#: src/key-manager.vala:323 +msgid "Dropped text" +msgstr "النص المُفلت" + +#: src/key-manager.vala:351 +msgid "Clipboard text" +msgstr "نص الحافظة" + +#: src/key-manager.vala:443 +msgid "Couldn’t unlock keyring" +msgstr "تعذّر فتح حلقة المفاتيح" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "غيّر عبارة السر" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "_عبارة سر جديدة:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "أكِّد عبارة السر الجديدة" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "أ_كد عبارة السر:" + +#: src/seahorse-key-manager.ui:6 +msgid "Filter items:" +msgstr "رشّح العناصر:" + +#: src/seahorse-key-manager.ui:8 +msgid "Show p_ersonal" +msgstr "أظهر ال_شخصية" + +#: src/seahorse-key-manager.ui:13 +msgid "Show _trusted" +msgstr "أظهر المو_ثوقة" + +#: src/seahorse-key-manager.ui:18 +msgid "Show an_y" +msgstr "أظهر ال_كل" + +#: src/seahorse-key-manager.ui:25 +msgid "_Combine all keyrings" +msgstr "ا_دمج كل حلقات المفاتيح" + +#: src/seahorse-key-manager.ui:31 +msgid "_Find remote keys…" +msgstr "اع_ثر على مفاتيح بعيدة…" + +#: src/seahorse-key-manager.ui:36 +msgid "_Sync and publish keys…" +msgstr "_زامن وانشر المفاتيح…" + +#: src/seahorse-key-manager.ui:43 +msgid "_Preferences" +msgstr "التف_ضيلات" + +#: src/seahorse-key-manager.ui:48 +msgid "_Help" +msgstr "_مساعدة" + +#: src/seahorse-key-manager.ui:52 +msgid "_About Passwords and Keys" +msgstr "_عن كلمات السرِّ والمفاتيح" + +#: src/seahorse-key-manager.ui:89 +msgid "Secure Shell key" +msgstr "مفتاح صدفة آمنة" + +#: src/seahorse-key-manager.ui:96 +msgid "Used to access other computers" +msgstr "يُستخدم للاتصال بالحواسيب الأخرى" + +#: src/seahorse-key-manager.ui:123 +msgid "GPG key" +msgstr "مفتاح GPG" + +#: src/seahorse-key-manager.ui:130 +msgid "Used to encrypt email and files" +msgstr "يُستُخدم لتعمية البريد و الملفات" + +#: src/seahorse-key-manager.ui:157 +msgid "Password keyring" +msgstr "حلقة مفاتيح كلمات السر" + +#: src/seahorse-key-manager.ui:164 +msgid "Used to store application and network passwords" +msgstr "تستخدم لحفظ كلمات سر التطبيقات و الشبكة" + +#: src/seahorse-key-manager.ui:198 +msgid "Safely store a password or secret" +msgstr "احفظ كلمة سر أو أمر سري بأمان" + +#: src/seahorse-key-manager.ui:232 +msgid "Used to request a certificate" +msgstr "يستخدم لطلب الشهادات" + +#: src/seahorse-key-manager.ui:258 +msgid "Import from file…" +msgstr "استورد من ملف…" + +#: src/seahorse-key-manager.ui:283 +msgid "Add a new key or item" +msgstr "أضف مفتاحا أو عنصرا جديدا" + +#: src/seahorse-key-manager.ui:314 +msgid "Search for a key or password" +msgstr "ابحث عن مفتاح أو كلمة سر" + +#: src/seahorse-key-manager.ui:361 +msgid "Filter" +msgstr "رشّح" + +#: src/seahorse-key-manager.ui:455 +msgid "This collection seems to be empty" +msgstr "يبدو أن هذه التجميعة خالية" + +#: src/seahorse-key-manager-widgets.ui:6 +msgid "Export…" +msgstr "صدِّر…" + +#: src/seahorse-key-manager-widgets.ui:19 +msgid "Properties" +msgstr "الخصائص" + +#: src/seahorse-key-manager-widgets.ui:23 +msgid "Configure Key for Secure Shell…" +msgstr "اضبط مفتاح الصدفة الآمنة…" + +#: src/sidebar.vala:586 +msgid "Couldn’t lock" +msgstr "تعذّر الإيصاد" + +#. Lock and unlock items +#: src/sidebar.vala:637 +msgid "_Lock" +msgstr "أو_صد" + +#: src/sidebar.vala:642 +msgid "_Unlock" +msgstr "ا_فتح" + +#. Properties item +#: src/sidebar.vala:659 +msgid "_Properties" +msgstr "ال_خصائص" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "صدفة آمنة" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "يُستخدم للاتصال بالحواسيب الأخرى بأمان" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "أمتأكد من رغبتك في حذف مفتاح الصدفة الآمنة ”%s“؟" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "أمتأكد من رغبتك بحذف %u مفاتيح الصدفة الآمنة؟" +msgstr[1] "أمتأكد من رغبتك بحذف مفتاح صدفة آمنة؟" +msgstr[2] "أمتأكد من رغبتك بحذف مفتاحيْ صدفة آمنة؟" +msgstr[3] "أمتأكد من رغبتك بحذف %u مفاتيح صدفة آمنة؟" +msgstr[4] "أمتأكد من رغبتك بحذف %u مفتاح صدفة آمنة؟" +msgstr[5] "أمتأكد من رغبتك بحذف %u مفتاح صدفة آمنة؟" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "مفاتيح صدفة آمنة سرية" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "مفاتيح صدفة آمنة علنية" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "مفتاح صدفة آمنة" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "لا ملف مفتاح عام متوفر لهذا المفتاح." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "تعذّر توليد مفتاح صدفة آمنة" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "تعذّر توليد مفتاح صدفة آمنة" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "يجري إنشاء مفتاح صدفة آمنة" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "١٠٢٤ بتة" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "٢٥٦ بتة" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "نوع مفتاح مجهول" + +#: ssh/key-properties.vala:75 +msgid "Unknown type" +msgstr "نوع مجهول" + +#: ssh/key-properties.vala:99 +msgid "Couldn’t rename key." +msgstr "تعذّر تغيير اسم المفتاح." + +#: ssh/key-properties.vala:125 +msgid "Couldn’t change authorization for key." +msgstr "تعذّر تغيير سماحية المفتاح." + +#: ssh/key-properties.vala:141 +msgid "Couldn’t change passphrase for key." +msgstr "تعذّر تغيير عبارة سر المفتاح." + +#: ssh/key-properties.vala:165 +msgid "Error deleting the SSH key." +msgstr "خطأ في حذف مفتاح الصدفة الآمنة." + +#: ssh/key.vala:45 +msgid "Personal SSH key" +msgstr "مفتاح صدفة آمنة سري" + +#: ssh/key.vala:45 +msgid "SSH key" +msgstr "مفتاح صدفة آمنة" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:115 +msgid "(Unreadable Secure Shell Key)" +msgstr "(مفتاح صدفة آمنة غير مقروء)" + +#. No comment, but loaded +#: ssh/key.vala:118 ssh/key.vala:122 +msgid "Secure Shell Key" +msgstr "مفتاح صدفة آمنة" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "كلمة سر المستضيف البعيد" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "أدخل عبارة سر المفتاح" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "عبارة سر لمفتاح الصدفة الآمنة الجديد" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "استيراد المفتاح: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "يستورد المفتاح. أدخل عبارة السر" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "عبارة سر لمفتاح الصدفة الآمنة:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "عبارة سر المفتاح القديمة" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "أدخل عبارة السر القديمة لـ: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "عبارة سر مفتاح جديدة" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "أدخل عبارة السر الجديدة لـ: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "أدخل عبارة السر الجديدة مرة أخرى: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "مفتاح صدفة آمنة جديد" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "يسمح لك مفتاح الصدفة الآمنة (SSH) بالاتصال بشكل آمن بحواسيب أخرى." + +#: ssh/seahorse-ssh-generate.ui:108 +msgid "Your email address, or a reminder of what this key is for." +msgstr "عنوان بريدك الإلكتروني، وأي مُذكِّر آخر لماهية هذا المفتاح." + +#: ssh/seahorse-ssh-generate.ui:124 +msgid "Encryption _Type:" +msgstr "_نوع التعمية:" + +#: ssh/seahorse-ssh-generate.ui:142 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:143 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:144 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:186 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"إذا كان هناك حاسوب ترغب في استعمال هذا المفتاح معه، يمكنك ضبط ذلك الحاسوب " +"ليتعرّف على مفتاحك الجديد." + +#: ssh/seahorse-ssh-generate.ui:212 +msgid "_Just Create Key" +msgstr "أنشئ مفتاح _فقط" + +#: ssh/seahorse-ssh-generate.ui:226 +msgid "_Create and Set Up" +msgstr "أ_نشيء واضبط" + +#: ssh/seahorse-ssh-key-properties.ui:16 +msgid "SSH Key Properties" +msgstr "خصائص مفتاح الصدفة الآمنة" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:55 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "الاسم" + +#: ssh/seahorse-ssh-key-properties.ui:88 +msgid "Algorithm" +msgstr "الخوارزمية" + +#: ssh/seahorse-ssh-key-properties.ui:115 +msgid "Key Length" +msgstr "طول المفتاح" + +#: ssh/seahorse-ssh-key-properties.ui:142 +msgid "Location" +msgstr "الموضع" + +#: ssh/seahorse-ssh-key-properties.ui:220 +msgid "Remote Access" +msgstr "الوصول عن بعد" + +#: ssh/seahorse-ssh-key-properties.ui:233 +msgid "Allows accessing this computer remotely" +msgstr "يتيح الوصول لهذا الحاسوب عن بعد" + +#: ssh/seahorse-ssh-key-properties.ui:311 +msgid "Delete SSH Key" +msgstr "احذف مفتاح الصدغة الآمنة" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "اضبط الحاسوب لاتصال SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"لتستخدم مفتاح الصدفة الآمنة خاصتك مع حاسوب آخر يستخدم SSH، يجب أن يكون لك " +"بالفعل حساب ولوج على ذاك الحاسوب." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_عنوان الخادوم:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "مثلا: fileserver.example.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "اسم ال_ولوج:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "_ركِّب" + +#: ssh/source.vala:42 +msgid "OpenSSH keys" +msgstr "مفاتيح OpenSSH" + +#: ssh/source.vala:47 +#, c-format +msgid "OpenSSH: %s" +msgstr "‏OpenSSH: %s" + +#: ssh/source.vala:51 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:245 +msgid "No private key file is available for this key." +msgstr "لا ملف مفتاح خاص متوفر لهذا المفتاح." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "تعذّر إعداد مفتاح الصدفة الآمنة على الحاسوب البعيد." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "اضبط مفاتيح الصدفة الآمنة…" + +#~ msgid "New password keyring" +#~ msgstr "حلقة مفاتيح كلمات سر جديدة" + +#~ msgid "New password..." +#~ msgstr "كلمة سر جديدة..." + +#~ msgid "Stored Password" +#~ msgstr "كلمات السر المحفوظة" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "عادة ما تحفظ التطبيقات كلمات السر في حلقة المفاتيح المبدئية." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "غير كلمة سر حلقة مفاتيح تخزين كلمات الير" + +#~ msgid "_Show Password" +#~ msgstr "أ_ظهر كلمة السر" + +#~ msgid "Updating password" +#~ msgstr "يُحدّث كلمة السر" + +#~ msgid "Name:" +#~ msgstr "الاسم:" + +#~ msgid "Keyring" +#~ msgstr "حلقة مفاتيح" + +#~ msgid "- System Settings" +#~ msgstr "- إعدادات النظام" + +#~ msgid "_File" +#~ msgstr "_ملف" + +#~ msgid "E_xport..." +#~ msgstr "_صدِّر..." + +#~ msgid "Export to a file" +#~ msgstr "صدّر إلى ملف" + +#~ msgid "_Edit" +#~ msgstr "_تحرير" + +#~ msgid "Copy to the clipboard" +#~ msgstr "انسخ للحافظة" + +#~ msgid "Delete selected items" +#~ msgstr "احذف العناصر المختارة" + +#~ msgid "Show the properties of this item" +#~ msgstr "أظهر خصائص هذا العنصر" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "أظهر خصائص حلقة المفاتيح هذه" + +#~ msgid "Prefere_nces" +#~ msgstr "التف_ضيلات" + +#~ msgid "Change preferences for this program" +#~ msgstr "غيّر تفضيلات هذا البرنامج" + +#~ msgid "_View" +#~ msgstr "_عرض" + +#~ msgid "About this program" +#~ msgstr "عن هذا البرنامج" + +#~ msgid "_Contents" +#~ msgstr "ال_محتويات" + +#~ msgid "Show Seahorse help" +#~ msgstr "اعرض مساعدة حصان البحر" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%OG-%Om-%Od" + +#~ msgid "PGP Key" +#~ msgstr "مفتاح PGP" + +#~ msgid "Importing keys from key servers" +#~ msgstr "يجري استيراد المفاتيح من خادوم المفاتيح" + +#~ msgid "_Remote" +#~ msgstr "_بعيد" + +#~ msgid "_Find Remote Keys..." +#~ msgstr "اع_ثر على مفاتيح بعيدة..." + +#~ msgid "Search for keys on a key server" +#~ msgstr "ابحث عن مفاتيح في خادوم المفاتيح" + +#~ msgid "_Import" +#~ msgstr "ا_ستورد" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "استورد المفاتيح المُنتقاة لحلقة المفاتيح المحليّة" + +#~ msgid "Synchronizing keys..." +#~ msgstr "يجري مزامنة المفاتيح..." + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "انشر و/أو زامن مفاتيحك مع من على الخط." + +#~ msgid "Marginal" +#~ msgstr "هامشي" + +#~ msgid "Full" +#~ msgstr "كامل" + +#~ msgid "Ultimate" +#~ msgstr "نهائي" + +#~ msgid "Photo " +#~ msgstr "الصورة " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "الاسم:" + +#~ msgid "Email:" +#~ msgstr "البريد الإلكتروني:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "استخرج تعمية الملفات والبريد الإلكتروني المرسل إليك." + +#~ msgid "Private PGP Key" +#~ msgstr "مفتاح PGP سري" + +#~ msgid "Encrypt files and email to the key's owner" +#~ msgstr "عمِّ ملفات وأرسلها إلى مالك المفتاح" + +#~ msgid "Public PGP Key" +#~ msgstr "مفتاح PGP علني" + +#~ msgid "Continue" +#~ msgstr "تابع" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "ا_ختر نوع العنصر الذي ترغب بإنشائه:" + +#~ msgid "_New" +#~ msgstr "_جديد" + +#~ msgid "Close this program" +#~ msgstr "أغلق هذا البرنامج" + +#~ msgid "_New..." +#~ msgstr "_جديد..." + +#~ msgid "Create a new key or item" +#~ msgstr "أنشئ مفتاحا أو عنصرا جديدا" + +#~ msgid "_Import..." +#~ msgstr "ا_ستورد..." + +#~ msgid "Import from the clipboard" +#~ msgstr "استورد من الحافظة" + +#~ msgid "By _keyring" +#~ msgstr "ب_حلقة المفاتيح:" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "أظهر المفاتيح والشهادات وكلمات السر الخاصة" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "أظهر المفاتيح والشهادات وكلمات السر الموثوقة" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "أظهر المفاتيح والشهادات وكلمات السر" + +#~ msgid "First time options:" +#~ msgstr "خيارات المرة الأولى:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "ولِّد مفتاحا جديدا لك:" + +#~ msgid "Import existing keys from a file:" +#~ msgstr "استورد مفاتيح موجودة من ملف:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "لتبدأ بالتعمية ستحتاج مفاتيح." + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "أرسل مفتاح الصدفة الآمنة العلني لجهاز آخر، لتُفعِّل الولوج باستخدام هذا " +#~ "المفتاح." + +#~ msgid "Ssh Key" +#~ msgstr "مفتاح صدفة آمنة" + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "يستخدم للنفاذ لحواسيب أخرى (مثلا: عبر الطرفية)" + +#~ msgid "Identifier:" +#~ msgstr "المعرِّف:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "الاسم:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "يُ_سمح لمالك هذا المفتاح بالاتصال بهذا الحاسوب" + +#~ msgid "This only applies to the %s account." +#~ msgstr "ينطبق هذا فقط على حساب %s." + +#~ msgid "E_xport Complete Key" +#~ msgstr "_صدِّر المفتاح كاملًا" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "لقد انتهى أمر ssh بشكل غير متوقّع." + +#~ msgid "The SSH command failed." +#~ msgstr "فشل أمر SSH." + +#~ msgid "_Computer Name:" +#~ msgstr "اسم ال_حاسوب:" + +#~ msgid "Password:" +#~ msgstr "كلمة السر:" + +#~ msgid "Key Servers:" +#~ msgstr "خواديم المفاتيح:" + +#~ msgid "Never" +#~ msgstr "أبدًا" + +#~ msgid "Key ID:" +#~ msgstr "معرّف المفتاح:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "الاسم:" + +#~ msgid "Comment:" +#~ msgstr "تعليق:" + +#~ msgid "Use:" +#~ msgstr "الاستخدام:" + +#~ msgid "Type:" +#~ msgstr "النوع:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "أسماء وتوقيعات المفاتيح" + +#~ msgid "Dates" +#~ msgstr "تواريخ" + +#~ msgid "Actions" +#~ msgstr "إجراءات" + +#~ msgid "Dates:" +#~ msgstr "التواريخ:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "الاسم:" + +#~ msgid "Trust" +#~ msgstr "الثقة" + +#~ msgid "Strength:" +#~ msgstr "الشدة:" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "مُنِع الوصول لحلقة المفاتيح" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "رقيب حلقة مفاتيح جنوم غير مشغل" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "لقد فُتحت حلقة المفتيح مُسبقا" + +#~ msgid "No such key ring exists" +#~ msgstr "ليس ثمّة مفتاح" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "تعذر التواصل مع رقيب حلقة المفاتيح" + +#~ msgid "The item already exists" +#~ msgstr "العنصر موجود مسبقا" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "خطأ داخلي أثناء محاولة الوصول لحلقة مفاتيح جنوم" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "لا تشغِّل seahorse-daemon كعفريت" + +#~ msgid "couldn't fork process" +#~ msgstr "تعذّر تشعيب العملية" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "عفريت التعمية (حصان البحر)" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "نوع مفتاح مجهول أو غير صالح: %s" + +#~ msgid "This keytype is not supported: %s" +#~ msgstr "نوع المفتاح هذا غير مدعوم: %s" + +#~ msgid "Support for this feature was not enabled at build time" +#~ msgstr "لم يفعّل دعم هذه الخاصية أثناء البناء" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "مفتاح مجهول أو غير صالح: %s" + +#~ msgid "Signed by expired on %s." +#~ msgstr "وقّعه انتهت صلاحيته في %s." + +#~ msgid "Invalid Signature" +#~ msgstr "توقيع غير صالح" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "وقّعه في %s انتهت صلاحيته." + +#~ msgid "Expired Signature" +#~ msgstr "توقيع منتهي الصلاحية" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "وقّعه نُقِض في %s." + +#~ msgid "Revoked Signature" +#~ msgstr "توقيع منقوض" + +#~ msgid "Signed by on %s." +#~ msgstr "وقّعه في %s." + +#~ msgid "Good Signature" +#~ msgstr "توقيع سليم" + +#~ msgid "Signing key not in keyring." +#~ msgstr "مفتاح التوقيع ليس في حلقة المفاتيح." + +#~ msgid "Unknown Signature" +#~ msgstr "توقيع مجهول" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "توقيع سيء أو مُزوّر. لقد عُدِّلت البيانات المُوقّعة." + +#~ msgid "Bad Signature" +#~ msgstr "توقيع سيّء" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "مُوقِّع مجهول أو غير صالح: %s" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "لا يصلح المفتاح للتوقيع: %s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "مُستلِم مجهول أو غير صالح: %s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "ليس المفتاخ مُستلِما صالحا للتعمية: %s" + +#~ msgid "No recipients specified" +#~ msgstr "لم يحدّد أي مُستلِم" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "نوع مفتاح غير صالح لاستخراج التعمية: %s" + +#~ msgid "No signer specified" +#~ msgstr "لم يحدّد أي مُوقِّع" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "نوع مفتاح غير صالح للتحقق: %s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "معرّف مفتاح غير صالح: %s" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "قائمة بخواديم المفاتيح أو مسارات لمفاتيح PGP البعيدة. في الإصدارة الأخيرة " +#~ "يُمكن تضمين اسم عرض، بإلحاق مسافة ثم الاسم." + +#~ msgid "Auto Sync Keys" +#~ msgstr "زامن المفاتيح آليا" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "يتحكم في ظهور عمود انتهاء الصلاحية في مدير المفاتيح." + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "يتحكم في ظهور عمود الثقة في مدير المفاتيح." + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "يتحكم في ظهور عمود النوع في مدير المفاتيح." + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "يتحكم في ظهور عمود الصلاحية في مدير المفاتيح." + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "فعِّل مُشاركة DNS-SD" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "فعِّل مُشاركة ‪DNS-SD (Apple Bonjour)‬ للمفاتيح. يجب أن يكون seahorse-daemon " +#~ "مُشتغلا وأن يكون قد بُنِي بدعم HKP و DNS-SD." + +#~ msgid "ID of the default key" +#~ msgstr "هويّة المفتاح المبدئي" + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "" +#~ "إذا ضُبِط لصحيح، فستُصبح الملفات المعمّاة بواسطة حصان البحر مرمّزة بأسكي مصفّح." + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "" +#~ "إذا ضُبِط لصحيح، سيُضاف المُفتاح المبدئي دائما إلى قائمة مُستلِمي التعمية." + +#~ msgid "Last key used to sign a message." +#~ msgstr "آخر مفتاح استُخدِم لتوقيع رسالة." + +#~ msgid "PGP Key servers" +#~ msgstr "خواديم مفاتيح PGP" + +#~ msgid "Show expires column in key manager" +#~ msgstr "اعرض عمود انتهاء الصلاحية في مدير المفاتيح" + +#~ msgid "Show trust column in key manager" +#~ msgstr "اعرض عمود الثقة في مدير المفاتيح" + +#~ msgid "Show type column in key manager" +#~ msgstr "اعرض عمود النوع في مدير المفاتيح" + +#~ msgid "Show validity column in key manager" +#~ msgstr "اعرض عمود الصلاحية في مدير المفاتيح" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "حدد العمود الذي سترتب نافذة المستلمين طبقا له، الأعمدة هي 'name' و 'id'. " +#~ "ضع '-' أمام اسم العمود لترتب تنازليا." + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "معرّف آخر مفتاح سري استخدم لتوقيع رسالة." + +#~ msgid "The column to sort the recipients by" +#~ msgstr "العمود الذي سيرتب المستلمون طبقا له" + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "" +#~ "يحدد هذا المفتاح المبدئي الذي سيستخدم في عمليات معيّنة، غالبا التوقيع." + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "ما إذا كان سيُعمِّي دائما بالمفتاح المبدئي" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "فيما إذا سيستخدم أسكي مُحصّن" + +#~ msgid "Couldn't set application access." +#~ msgstr "تعذّر ضبط نفاذ التطبيق." + +#~ msgid "Path:" +#~ msgstr "المسار:" + +#~ msgid "Permissions:" +#~ msgstr "الصلاحيات:" + +#~ msgid "_Read" +#~ msgstr "_اقرأ" + +#~ msgid "_Write" +#~ msgstr "ا_كتب" + +#~ msgid "Passwords: %s" +#~ msgstr "كلمات السر: %s" + +#~ msgid "Passwords: %s" +#~ msgstr "كلمات السر: %s" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "أوصد حلقة مفاتيح تخزين كلمات السر بحيث تحتاج إلى كلمة سر رئيسية لفتحها." + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "" +#~ "افتح حلقة مفاتيح تخزين كلمات السر بكلمة السر الرئيسية بحيث تتاح للاستخدام." + +#~ msgid "Saving item..." +#~ msgstr "يحفظ العنصر..." + +#~ msgid "Deleting item..." +#~ msgstr "يحذف العنصر..." + +#~ msgid "Listing password keyrings" +#~ msgstr "يسرد حلقات المفاتيح" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "لا مفاتيح تعمية لتأدية العملية التي طلبتها. برنامج كلمات السر و " +#~ "مفاتيح التعمية لن يبدأ لذا عليك إنشاء مفتاح أو استيراد واحد." + +#~ msgid "All Keys" +#~ msgstr "كل المفاتيح" + +#~ msgid "Selected Recipients" +#~ msgstr "المستلمون المُحددون" + +#~ msgid "Search Results" +#~ msgstr "نتائج البحث" + +#~ msgid "Search _for:" +#~ msgstr "ا_بحث عن:" + +#~ msgid "None (Don't Sign)" +#~ msgstr "لا شيء (لا تُوقِّع)" + +#~ msgid "Sign this message as %s" +#~ msgstr "وقع الرسالة كـ %s" + +#~ msgid "_Sign message as:" +#~ msgstr "_وقِّع الرسالة كـ:" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "ليس الملف ملف .desktop سليم" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "إصدارة ملف سطح مكتب غير معروفة '%s'" + +#~ msgid "Starting %s" +#~ msgstr "بدء %s" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "التطبيق لا يقبل مستندات في سطر الأوامر" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "خيار إطلاق غير معروف %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "تعذّر تمرير مسارات المستندات إلى 'Type=Link' في مدخلة سطح المكتب" + +#~ msgid "Not a launchable item" +#~ msgstr "عنصر لا يُطلق" + +#~ msgid "Disable connection to session manager" +#~ msgstr "عطّل الاتصال بمدير الجلسات" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "حدد ملفا يحتوي الإعدادات المحفوظة" + +#~ msgid "FILE" +#~ msgstr "FILE" + +#~ msgid "Specify session management ID" +#~ msgstr "حدد معرف إدارة الجلسة" + +#~ msgid "Session management options:" +#~ msgstr "خيارات إدارة الجلسات:" + +#~ msgid "Show session management options" +#~ msgstr "اعرض خيارات إدارة الجلسات" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "لم تستورَد أي مفاتيح" +#~ msgstr[1] "استورِد مفتاح واحد" +#~ msgstr[2] "استورِد مفتاحين" +#~ msgstr[3] "استورِد %i مفاتيح" +#~ msgstr[4] "استورِد %i مفتاحا" +#~ msgstr[5] "استورِد %i مفتاح" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "لم تستورد مفاتيح لـ" +#~ msgstr[1] "استورد مفتاح واحد لـ" +#~ msgstr[2] "استورد مفتاحين لـ" +#~ msgstr[3] "استوردت مفاتيح لـ" +#~ msgstr[4] "استوردت مفاتيح لـ" +#~ msgstr[5] "استوردت مفاتيح لـ" + +#~ msgid "Notification Messages" +#~ msgstr "رسائل التنبيه" + +#~ msgid "Symmetric Key" +#~ msgstr "مفتاح متماثل" + +#~ msgid "Credentials" +#~ msgstr "الاعتمادات" + +#~ msgid "Identity" +#~ msgstr "الهوية" + +#~ msgid "Progress Title" +#~ msgstr "عنوان التقدّم" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "تعذّر تشغيل مُأرشف الملفات" + +#~ msgid "Couldn't package files" +#~ msgstr "تعذّر تحزيم الملفات" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "لم تُكمل عملية مُأرشف الملفات بنجاح" + +#~ msgid "Archive files" +#~ msgstr "ملفات الأرشيفات" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "يوجد بالفعل ملف بهذا الاسم.\n" +#~ "\n" +#~ "أترغب في استبداله بملف جديد؟" + +#~ msgid "_Replace" +#~ msgstr "است_بدل" + +#~ msgid "Loading Keys..." +#~ msgstr "يجري تحميل المفاتيح..." + +#~ msgid "Uploading keys..." +#~ msgstr "يرفع المفاتيح..." + +#~ msgid "Retrieving keys..." +#~ msgstr "يجلب المفاتيح..." + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "يبحث عن المفاتيح التي تحتوي '%s'..." + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "يبحث عن معرّف المفتاح '%s'..." + +#~ msgid "Retrieving remote keys..." +#~ msgstr "يجلب المفاتيح البعيدة..." + +#~ msgid "Sending keys to key server..." +#~ msgstr "يرسل المفاتيح لخادوم المفاتيح..." + +#~ msgid "_Sign Key..." +#~ msgstr "_وقّع المفتاح..." + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "أمتأكد من رغبتك بحذف مفاتيح و معرّفات %d نهائيا؟" + +#~ msgid "Algorithms here" +#~ msgstr "الخوازميات هنا" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "تعذّر تصدير المفتاح إلى \"%s\"" + +#~ msgid "Export Complete Key" +#~ msgstr "صدِّر المفتاح كاملًا" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "أمتأكد من رغبتك بحذف الشهادة '%s'؟" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "أمتأكد من رغبتك بحذف %d شهادة؟" +#~ msgstr[1] "أمتأكد من رغبتك بحذف شهادة واحدة؟" +#~ msgstr[2] "أمتأكد من رغبتك بحذف شهادتين؟" +#~ msgstr[3] "أمتأكد من رغبتك بحذف %d شهادات؟" +#~ msgstr[4] "أمتأكد من رغبتك بحذف %d شهادة؟" +#~ msgstr[5] "أمتأكد من رغبتك بحذف %d شهادة؟" + +#~ msgid "Create New ..." +#~ msgstr "أن_شئ جديدًا..." + +#~ msgid "Selected %d key" +#~ msgid_plural "Selected %d keys" +#~ msgstr[0] "لا مفاتيح محددة" +#~ msgstr[1] "مفتاح واحد محدد" +#~ msgstr[2] "مفتاحين محددين" +#~ msgstr[3] "%Id مفاتيح محددة" +#~ msgstr[4] "%Id مفتاحا محددا" +#~ msgstr[5] "%Id مفتاح محدد" + +#~ msgid "Importing keys" +#~ msgstr "يستورد المفاتيح" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "نوع مفتاح لم يُتعرّف عليه" + +#~ msgid "T_ypes" +#~ msgstr "الأ_نواع" + +#~ msgid "_Expiry" +#~ msgstr "انتهاء ال_صلاحية" + +#~ msgid "_Trust" +#~ msgstr "ال_ثقة" + +#~ msgid "_Validity" +#~ msgstr "ال_صلاحية" + +#~ msgid "Other _Keys" +#~ msgstr "مفاتيح أ_خرى" + +#~ msgid "Validity" +#~ msgstr "الصلاحية" + +#~ msgid "Expiration Date" +#~ msgstr "تاريخ انتهاء الصلاحية" + +#~ msgid "_Expand All" +#~ msgstr "و_سّع الكل" + +#~ msgid "Expand all listings" +#~ msgstr "وسِّع كل السّرْد" + +#~ msgid "_Collapse All" +#~ msgstr "إ_طوِ الكل" + +#~ msgid "Collapse all listings" +#~ msgstr "إطوِ كل السّرْد" + +#~ msgid "Export public key" +#~ msgstr "صدّر المفتاح العلني" + +#~ msgid "Exporting keys" +#~ msgstr "يصدّر المفاتيح" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "تعذّر الحصول على البيانات من خادوم المفاتيح" + +#~ msgid "Retrieving keys" +#~ msgstr "يجلب المفاتيح" + +#~ msgid "Deleting..." +#~ msgstr "يحذف..." + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "‏%s مفتاح سري. أمتأكد أنك ترغب في المواصلة؟" + +#~ msgctxt "" +#~ "This text refers to deleting an item from its type's backing store." +#~ msgid "_Delete" +#~ msgstr "ا_حذف" + +#~ msgid "_Key Description:" +#~ msgstr "و_صف المفتاح:" + +#~ msgid "Invalid" +#~ msgstr "غير صالح" + +#~ msgid "Private Secure Shell Key" +#~ msgstr "مفتاح صدفة آمنة سري" + +#~ msgid "Public Secure Shell Key" +#~ msgstr "مفتاح صدفة آمنة علني" + +#~ msgid "Passphrase:" +#~ msgstr "عبارة السر:" + +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "أدخل عبارة سر لمفتاح صدفتك الآمنة الجديد." + +#~ msgid "Couldn't share keys" +#~ msgstr "تعذّر مشاركة المفاتيح" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "تعذّر نشر معلومات الاستكشاف عبر الشبكة." + +#~ msgid "%s's encryption keys" +#~ msgstr "مفاتيح تعمية %s" + +#~ msgid "Key Sharing" +#~ msgstr "مشاركة المفاتيح" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "تسمح مشاركة مفاتيح للأناس الآخرون على شبكتك باستخدام المفاتيح التي " +#~ "جمعتها. يعني هذا أن بإمكانهم تعمية الأشياء آليا لك أو لهؤلاء الذين " +#~ "تعرفهم، بدون أن تحتاج لإرسال مفاتيحك إليهم.\n" +#~ "\n" +#~ "ملحوظة:لن يعرض هذا مفاتيحك الشخصية للخطر." + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "_شارك مفاتيحي مع الآخرين على شبكتي" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "حُدِّد س من المفاتيح للمُزامنة" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/nate/.ssh/blah_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" + +#~ msgid "Create a PGP Key" +#~ msgstr "أنشئ مفتاح PGP جديد" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginal\n" +#~ "Full\n" +#~ "Ultimate" +#~ msgstr "" +#~ "مجهول\n" +#~ "أبدا\n" +#~ "هامشي\n" +#~ "كامل\n" +#~ "نهائي" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginally\n" +#~ "Fully\n" +#~ "Ultimately" +#~ msgstr "" +#~ "مجهول\n" +#~ "أبدا\n" +#~ "هامشي\n" +#~ "كامل\n" +#~ "نهائي" + +#~ msgid "Other _Collected Keys" +#~ msgstr "مفاتيح _مجمّعة أخرى" + +#~ msgid "_Trusted Keys" +#~ msgstr "المفاتيح المو_ثوق بها" + +#~ msgid "Removing item" +#~ msgstr "يُحذف العنصر" + +#~ msgid "Couldn't get default password keyring" +#~ msgstr "لا وجود لكلمة سر مبدئية في حلقة المفاتيح" + +#~ msgid "Couldn't get list of password keyrings" +#~ msgstr "تعذّر سرد حلقات كلمات السر" + +#~ msgid "Couldn't remove keyring" +#~ msgstr "تعذّر حذف حلقة المفاتيح" + +#~ msgid "Are you sure you want to permanently delete the '%s' keyring?" +#~ msgstr "أمتأكدٌ أنّك تريد حذف حلقة المفاتيح '%s' نهائيًّا؟" + +#~ msgid "Default Keyring" +#~ msgstr "حلقة المفاتيح المبدئيّة" + +#~ msgid "Password Keyrings" +#~ msgstr "حلقات كلمات السر" + +#~ msgid "Password and Encryption Settings" +#~ msgstr "إعدادات كلمة السرِّ والتعمية" + +#~ msgid "_Add Keyring" +#~ msgstr "أ_ضِف حلقة مفاتيح" + +#~ msgid "_Remove Keyring" +#~ msgstr "ا_حذف حلقة المفاتيح" + +#~ msgid "Unknown Key: %s" +#~ msgstr "مفتاح مجهول: %s" + +#~ msgid "Unavailable Key" +#~ msgstr "مفتاح غير متوفّر" + +#~ msgid "X509 Certificate" +#~ msgstr "شهادة X509" + +#~ msgid "Loading..." +#~ msgstr "يُحمّل..." + +#~ msgid "Invalid or unrecognized object." +#~ msgstr "كائن غير صالح أو غير معروف." + +#~ msgid "Exporting is not yet supported." +#~ msgstr "التصدير غير مدعوم بعد." + +#~ msgid "Expiry for Subkey %d of %s" +#~ msgstr "الانتهاء للمفتاح الفرعي %Id من %s" + +#~ msgid "_Quit" +#~ msgstr "إ_نهِ" + +#~ msgid "Import keys into your key ring from a file" +#~ msgstr "استورد المفاتيح إلى حلقة مفاتيحك من ملف" + +#~ msgid "_Close" +#~ msgstr "أ_غلق" + +#, fuzzy +#~ msgid "_Key" +#~ msgstr "مفتاح" + +#, fuzzy +#~ msgid "E_xport Public Key..." +#~ msgstr "_صدِّر المفتاح كاملًا" + +#, fuzzy +#~ msgid "_Copy Public Key" +#~ msgstr "مفتاح PGP علني" + +#, fuzzy +#~ msgid "Copy public part of selected keys to the clipboard" +#~ msgstr "استورد مفاتيح من الحافظة" + +#~ msgid "Secure Shell Passphrase" +#~ msgstr "عبارة سر صدفة آمنة" + +#~ msgid "Secure Shell Key Passphrase" +#~ msgstr "عبارة سر مفتاح صدفة آمنة" + +#~ msgid "Enter the passphrase for: %s" +#~ msgstr "أدخل عبارة سر: %s" + +#~ msgid "Save this passphrase in my keyring" +#~ msgstr "احفظ عبارة السر في حلقة مفاتيحي" diff --git a/po/as.po b/po/as.po new file mode 100644 index 00000000..8635d127 --- /dev/null +++ b/po/as.po @@ -0,0 +1,3449 @@ +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Amitakhya Phukan , 2009. +# Nilamdyuti Goswami , 2011, 2012, 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: as\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2014-08-18 10:25+0000\n" +"PO-Revision-Date: 2014-08-18 19:54+0530\n" +"Last-Translator: Nilamdyuti Goswami \n" +"Language-Team: Assamese \n" +"Language: as\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: ../data/seahorse.appdata.xml.in.h:1 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"Seahorse হল এটা GNOME এপ্লিকেচন যাৰ সহায়ত ইনক্ৰিপষণ কি'সমূহ ব্যৱস্থাপনা কৰিব " +"পাৰি। ই লগতে ইনক্ৰিপষণ কাৰ্য্যসমূহ কৰিবলৈ nautilus, gedit আৰু অন্য স্থানৰ " +"সৈতে " +"অনুকূলন কৰে।" + +#: ../data/seahorse.appdata.xml.in.h:2 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don't have to keep typing it and backup your keys and keyring." +msgstr "" +"seahorse ৰ সৈতে আপুনি PGP কি'সমূহ সৃষ্টি আৰু ব্যৱস্থাপনা কৰিব পাৰিব, SSH " +"কি'সমূহ " +"সৃষ্টি আৰু ব্যৱস্থাপনা কৰিব পাৰিব, কি' চাৰ্ভাৰসমূহৰ পৰা কি'সমূহ প্ৰকাশ আৰু " +"উদ্ধাৰ কৰিব " +"পাৰিব, আপোনাৰ পাচফ্ৰেইছ ক্যাশ কৰিব পাৰিব যাতে আপুনি ইয়াক আৰু টাইপ কৰিব নালাগে " +"আৰু " +"আপোনাৰ কি'সমূহ আৰু কি'ৰিংৰ বেকআপ লব পাৰিব।" + +#: ../data/seahorse.desktop.in.in.h:1 ../common/catalog.vala:285 +#: ../src/seahorse-key-manager.c:660 +msgid "Passwords and Keys" +msgstr "পাছৱৰ্ডসমূহ আৰু কি'সমূহ" + +#: ../data/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "পাছৱৰ্ড আৰু এনক্ৰিপশন-কি' ব্যৱস্থাপনা কৰক" + +#: ../data/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "keyring;encryption;security;sign;ssh;" + +#: ../common/catalog.vala:257 +msgid "Contributions:" +msgstr "বৰঙণিসমূহ:" + +# +#: ../common/catalog.vala:287 +msgid "translator-credits" +msgstr "" +"অমিতাক্ষ ফুকন (aphukan@fedoraproject.org), নীলমদ্যুতি গোস্বামী " +"(ngoswami@redhat." +"com)" + +# +#: ../common/catalog.vala:290 +msgid "Seahorse Project Homepage" +msgstr "Seahorse প্ৰকল্পৰ ঘৰ-পৃষ্ঠা" + +#: ../common/catalog.vala:308 +msgid "Cannot delete" +msgstr "মচিব নোৱাৰি" + +#: ../common/catalog.vala:331 ../libseahorse/seahorse-key-manager-store.c:440 +msgid "Couldn't export keys" +msgstr "কি' এক্সপোৰ্ট কৰিবলৈ বিফল" + +#: ../common/catalog.vala:342 +msgid "Couldn't export data" +msgstr "তথ্য এক্সপোৰ্ট কৰিব নোৱাৰি" + +#: ../common/catalog.vala:358 ../libseahorse/seahorse-widget.c:459 +#, c-format +msgid "Could not display help: %s" +msgstr "সহায়িকা প্ৰদৰ্শন কৰা নগল: %s" + +# +#. Top menu items +#: ../common/catalog.vala:364 +msgid "_File" +msgstr "ফাইল (_F)" + +#: ../common/catalog.vala:365 +msgid "E_xport..." +msgstr "এক্সপোৰ্ট কৰক (_x)..." + +#: ../common/catalog.vala:366 +msgid "Export to a file" +msgstr "ফাইললে এক্সপোৰ্ট কৰক" + +# +#: ../common/catalog.vala:367 +msgid "_Edit" +msgstr "সম্পাদনা (_E)" + +#: ../common/catalog.vala:370 +msgid "Copy to the clipboard" +msgstr "ক্লিপবৰ্ডত কপি কৰক" + +#: ../common/catalog.vala:371 ../pkcs11/pkcs11-properties.vala:201 +#: ../src/seahorse-sidebar.c:954 +msgid "_Delete" +msgstr "মচি পেলাওক (_D)" + +#: ../common/catalog.vala:372 +msgid "Delete selected items" +msgstr "নিৰ্বাচিত সামগ্ৰী মচি পেলাওক" + +#: ../common/catalog.vala:374 +msgid "Show the properties of this item" +msgstr "এই বস্তুৰ বৈশিষ্ট্যসমূহ দেখুৱাওক" + +#: ../common/catalog.vala:376 +msgid "Show the properties of this keyring" +msgstr "এই কি'ৰিংৰ বৈশিষ্ট্যসমূহ দেখুৱাওক" + +# +#: ../common/catalog.vala:377 +msgid "Prefere_nces" +msgstr "পছন্দসমূহ (_n)" + +#: ../common/catalog.vala:378 +msgid "Change preferences for this program" +msgstr "এই প্ৰগ্ৰামৰ বাবে পছন্দসমূহ পৰিবৰ্তন কৰক" + +# +#: ../common/catalog.vala:379 +msgid "_View" +msgstr "দৰ্শন (_V)" + +# +#: ../common/catalog.vala:380 +msgid "_Help" +msgstr "সহায় (_H)" + +#: ../common/catalog.vala:382 +msgid "About this program" +msgstr "এই প্ৰগ্ৰামৰ বিষয়ে" + +# +#: ../common/catalog.vala:383 +msgid "_Contents" +msgstr "সমল (_C)" + +#: ../common/catalog.vala:384 +msgid "Show Seahorse help" +msgstr "Seahorse সংক্ৰান্ত সহায়তা প্ৰদৰ্শন কৰা হ'ব" + +# +#: ../common/exportable.vala:192 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "এক্সপোৰ্ট কৰক" + +#: ../gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "পাছৱৰ্ডসমূহ" + +#: ../gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "সংৰক্ষিত ব্যক্তিগত পাছৱৰ্ডসমূহ, তথ্যসমূহ আৰু গোপন তথ্যসমূহ" + +#: ../gkr/gkr-backend.vala:241 +msgid "New password keyring" +msgstr "নতুন পাছৱৰ্ড কি'ৰিং" + +#: ../gkr/gkr-backend.vala:242 ../gkr/gkr-backend.vala:249 +msgid "Used to store application and network passwords" +msgstr "এপ্লিকেচন আৰু নেটৱৰ্কৰ পাছৱৰ্ড সংৰক্ষণ কৰিবলৈ ব্যবহৃত হয়" + +#: ../gkr/gkr-backend.vala:243 +msgid "New password..." +msgstr "নতুন পাছৱৰ্ড..." + +#: ../gkr/gkr-backend.vala:244 ../gkr/gkr-backend.vala:251 +msgid "Safely store a password or secret." +msgstr "পাছৱৰ্ড অথবা গোপন তথ্য নিৰাপদভাবে সংৰক্ষণ কৰক।" + +#: ../gkr/gkr-backend.vala:248 +msgid "Password Keyring" +msgstr "পাছৱৰ্ডৰ কি'ৰিং" + +#: ../gkr/gkr-backend.vala:250 +msgid "Stored Password" +msgstr "সংৰক্ষিত পাছৱৰ্ড" + +#: ../gkr/gkr-item-add.vala:24 +msgid "Add Password" +msgstr "পাছৱৰ্ড যোগ কৰক" + +#: ../gkr/gkr-item-add.vala:101 +msgid "Couldn't add item" +msgstr "বস্তু যোগ কৰিব নোৱাৰি" + +#: ../gkr/gkr-item-properties.vala:136 +msgid "Access a network share or resource" +msgstr "এটা নেটৱৰ্ক অংশীদাৰী বা তথ্যসমূহৰ সৈতে সংযোগ স্থাপন কৰক" + +#: ../gkr/gkr-item-properties.vala:139 +msgid "Access a website" +msgstr "এটা ৱেবছাইট অভিগম কৰক" + +#: ../gkr/gkr-item-properties.vala:142 +msgid "Unlocks a PGP key" +msgstr "এটা PGP কি' খোলক" + +#: ../gkr/gkr-item-properties.vala:145 +msgid "Unlocks a Secure Shell key" +msgstr "এটা সুৰক্ষিত শ্বেল কি' খোলক" + +#: ../gkr/gkr-item-properties.vala:148 +msgid "Saved password or login" +msgstr "সংৰক্ষিত পাছৱৰ্ড বা লগিন" + +#: ../gkr/gkr-item-properties.vala:161 +msgid "Network Credentials" +msgstr "নেটৱৰ্কৰ তথ্যসমূহ" + +# +#: ../gkr/gkr-item-properties.vala:166 +msgid "Password" +msgstr "পাছৱৰ্ড" + +#: ../gkr/gkr-item-properties.vala:235 +msgid "Couldn't change password." +msgstr "পাছৱৰ্ড পৰিবৰ্তন কৰা সম্ভব নহয়।" + +#: ../gkr/gkr-item-properties.vala:273 +msgid "Couldn't set description." +msgstr "বিৱৰণ স্থাপন কৰা সম্ভব নহয়।" + +#. Translators: This should be the same as the string in empathy +#: ../gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "বাবে IM একাওন্ট পাছৱৰ্ড" + +#: ../gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "পাছৱৰ্ড অথবা গোপন" + +#: ../gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "নেটৱৰ্ক পাছৱৰ্ড" + +#: ../gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "সংৰক্ষিত টোকা" + +#: ../gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "কি'ৰিং পাছৱৰ্ড" + +#: ../gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "ইনক্ৰিপষণ কি পাছৱৰ্ড" + +#: ../gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "কি' সংৰক্ষণ পাছৱৰ্ড" + +#: ../gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "Google Chrome পাছৱৰ্ড" + +#: ../gkr/gkr-item.vala:451 +msgid "Gnome Online Accounts password" +msgstr "Gnome অনলাইন একাওন্ট পাছৱৰ্ড" + +#: ../gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "টেলিপেথী পাছৱৰ্ড" + +#: ../gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "তৎক্ষণাত বাৰ্তা পাছৱৰ্ড" + +#: ../gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "নেটৱৰ্ক ব্যৱস্থাপক গোপণ" + +#: ../gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "আপুনি কি নিশ্চিতৰূপে '%s' পাছৱৰ্ড আঁতৰাবলৈ ইচ্ছুক?" + +#: ../gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "আপুনি নিশ্চিতৰূপে '%d' পাছৱৰ্ড আঁতৰাবলৈ ইচ্ছুক?" +msgstr[1] "আপুনি নিশ্চিতৰূপে %d পাছৱৰ্ড আঁতৰাবলৈ ইচ্ছুক?" + +#: ../gkr/gkr-keyring-add.vala:25 +msgid "Add Password Keyring" +msgstr "পাছৱৰ্ড কি'ৰিং যোগ কৰক" + +#: ../gkr/gkr-keyring-add.vala:55 +msgid "Couldn't add keyring" +msgstr "কি'ৰিং যোগ কৰিবলৈ ব্যৰ্থ" + +#: ../gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "এটা কি'ৰিং যি লগিনত স্বচালিতভাৱে আনলক হয়" + +#: ../gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "পাছৱৰ্ডসমূহ সংৰক্ষণ কৰিবলে ব্যৱহৃত এটা কি'ৰিং" + +#: ../gkr/gkr-keyring.vala:174 +msgid "Couldn't set default keyring" +msgstr "অবিকল্পিত কি'ৰিং নিৰ্ধাৰণ কৰিবলৈ ব্যৰ্থ" + +#: ../gkr/gkr-keyring.vala:198 ../gkr/gkr-keyring.vala:203 +msgid "Couldn't change keyring password" +msgstr "কি'ৰিং পাছৱৰ্ড পৰিবৰ্তন কৰিবলৈ ব্যৰ্থ" + +#: ../gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "অবিকল্পিত ৰূপে নিৰ্ধাৰণ কৰক (_S)" + +#: ../gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "এপ্লিকেচনসমূহ সাধাৰণত নতুন পাছৱৰ্ড অবিকল্পিত কি'ৰিংত সংৰক্ষণ কৰে।" + +#: ../gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "পাছৱৰ্ড পৰিবৰ্তন কৰক (_P)" + +#: ../gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "পাছৱৰ্ড সংৰক্ষণ কি'ৰিংৰ আনলক পাছৱৰ্ড পৰিবৰ্তন কৰক" + +#: ../gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "আপুনি কি নিশ্চিতৰূপে '%s' পাছৱৰ্ড কি'ৰিং আঁতৰাবলৈ ইচ্ছুক?" + +#: ../gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "মই বুজি পাও যে সকলো বস্তু স্থায়ীভাৱে মচি পেলোৱা হব।" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"অনুগ্ৰহ কৰি নতুন কি'ৰিংৰ নাম বাছক। আনলক কৰাৰ বাবে পাছৱৰ্ড লিখাৰ অনুৰোধ জনোৱা " +"হ'ব।" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "নতুন কি'ৰিংৰ নাম:" + +# +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "বিৱৰণ (_D):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +msgid "_Password:" +msgstr "পাছৱৰ্ড (_P):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Show Password" +msgstr "পাছৱৰ্ড প্ৰদৰ্শন কৰা হ'ব (_S)" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Keyring:" +msgstr "কি'ৰিং (_K):" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "ব্যবহাৰ কৰক:" + +# +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "ধৰণ:" + +# +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Server:" +msgstr "চাৰ্ভাৰ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Login:" +msgstr "লগিন:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Show pass_word" +msgstr "পাছৱৰ্ড দেখুৱাওক (_w)" + +# +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../libseahorse/seahorse-passphrase.c:179 ../ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "পাছৱৰ্ড:" + +# +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +#: ../pgp/seahorse-pgp-subkey.c:402 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "কি'" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "কাৰিকৰী বিৱৰণসমূহ:" + +# +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "বিবৰণসমূহ" + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Name:" +msgstr "নাম:" + +# +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "সৃষ্টি কৰা হৈছিল:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring" +msgstr "কি'ৰিং" + +#: ../libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "ফ্লেগসমূহ দেখুৱাওক" + +#: ../libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "তাৰিখ আৰু/অথবা সময় সংক্ৰান্ত প্ৰদৰ্শিত বৈশিষ্ট্য" + +#: ../libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "অলস অৱস্থা" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "অলস অৱস্থাত সুমুৱা তাৰিখ আৰু সময় মানসমূহ স্বাভাৱিক নকৰে" + +# +#: ../libegg/egg-datetime.c:328 +msgid "Year" +msgstr "বছৰ" + +#: ../libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "প্ৰদৰ্শিত বছৰ" + +# +#: ../libegg/egg-datetime.c:334 +msgid "Month" +msgstr "মাহ" + +#: ../libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "প্ৰদৰ্শিত মাহ" + +#: ../libegg/egg-datetime.c:340 +msgid "Day" +msgstr "দিন" + +#: ../libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "মাহৰ প্ৰদৰ্শিত দিন" + +#: ../libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "ঘন্টা" + +#: ../libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "প্ৰদৰ্শিত ঘন্টা" + +#: ../libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "মিনিট" + +#: ../libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "প্ৰদৰ্শিত মিনিট" + +#: ../libegg/egg-datetime.c:358 +msgid "Second" +msgstr "ছেকেণ্ড" + +#: ../libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "প্ৰদৰ্শিত ছেকেণ্ড" + +#: ../libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "বছৰৰ সৰ্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "তাৰিখৰ সৰ্বনিম্ন মানৰ মাজত বছৰৰ অংশ" + +#: ../libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "বছৰৰ সৰ্বাধিক মান" + +#: ../libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "তাৰিখৰ সৰ্বাধিক মানৰ মাজত বছৰৰ অংশ" + +#: ../libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "মাহৰ সৰ্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "তাৰিখৰ সৰ্বনিম্ন মানৰ মাজত মাহৰ অংশ" + +#: ../libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "মাহৰ সৰ্বাধিক মান" + +#: ../libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "তাৰিখৰ সৰ্বাধিক মানৰ মাজত মাহৰ অংশ" + +#: ../libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "দিনৰ সৰ্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "তাৰিখৰ সৰ্বনিম্ন মানৰ মাজত মাহৰ দিনৰ অংশ" + +#: ../libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "দিনৰ সৰ্বাধিক মান" + +#: ../libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "তাৰিখৰ সৰ্বাধিক মানৰ মাজত মাহৰ দিনৰ অংশ" + +#: ../libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "ঘন্টাৰ সৰ্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "তাৰিখৰ সৰ্বনিম্ন মানৰ মাজত ঘন্টাৰ অংশ" + +#: ../libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "ঘন্টাৰ সৰ্বাধিক মান" + +#: ../libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "তাৰিখৰ সৰ্বাধিক মানৰ মাজত ঘন্টাৰ অংশ" + +#: ../libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "মিনিটৰ সৰ্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "তাৰিখৰ সৰ্বনিম্ন মানৰ মাজত মিনিটৰ অংশ" + +#: ../libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "মিনিটৰ সৰ্বাধিক মান" + +#: ../libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "তাৰিখৰ সৰ্বাধিক মানৰ মাজত মিনিটৰ অংশ" + +#: ../libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "ছেকেণ্ডৰ সৰ্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "তাৰিখৰ সৰ্বনিম্ন মানৰ মাজত ছেকেণ্ডৰ অংশ" + +#: ../libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "ছেকেণ্ডৰ সৰ্বাধিক মান" + +#: ../libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "তাৰিখৰ সৰ্বাধিক মানৰ মাজত ছেকেণ্ডৰ অংশ" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +# +#: ../libegg/egg-datetime.c:495 +msgid "Date" +msgstr "তাৰিখ" + +#: ../libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "প্ৰত্যক্ষভাৱে তাৰিখ লিখক" + +# +#: ../libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "তাৰিখ বাছক" + +#: ../libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "এটা কেলেন্ডাৰ পৰা তাৰিখ বাছক" + +# +#: ../libegg/egg-datetime.c:520 ../libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "সময়" + +#: ../libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "প্ৰত্যক্ষভাৱে সময় লিখক" + +#: ../libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "সময় বাছক" + +#: ../libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "এটা তালিকা পৰা সময় বাছক" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:796 ../libegg/egg-datetime.c:1259 +#: ../libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:798 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "প্ৰাৰম্ভিক অস্থায়ী বস্তু" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "কি' চাৰ্ভাৰ যোগ কৰক" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "কি' চাৰ্ভাৰৰ ধৰণ:" + +# +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "হস্ট:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "চাৰ্ভাৰৰ হস্টনাম অথবা ঠিকনা।" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "চাৰ্ভাৰ ব্যৱহাৰৰ বাবে চিহ্নিত পোৰ্ট।" + +#: ../libseahorse/seahorse-application.c:114 +msgid "Version of this application" +msgstr "এই এপ্লিকেচনৰ সংস্কৰণ সংখ্যা" + +#: ../libseahorse/seahorse-application.c:120 +#: ../libseahorse/seahorse-application.c:164 +msgid "- System Settings" +msgstr "- চিস্টেম সংহতিসমূহ" + +#: ../libseahorse/seahorse-application.c:160 +msgid "Don't display a window" +msgstr "এটা উইন্ডো প্ৰদৰ্শন নকৰিব" + +#: ../libseahorse/seahorse-interaction.c:98 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "PIN অথবা পাছৱৰ্ড সুমুৱাওক: %s" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:241 +msgid "Confirm:" +msgstr "নিশ্চিত কৰক:" + +#: ../libseahorse/seahorse-prefs.c:65 +msgid "Not a valid Key Server address." +msgstr "এটা বৈধ কি' চাৰ্ভাৰৰ ঠিকনা নহয়" + +#: ../libseahorse/seahorse-prefs.c:66 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "" +"সহায়ৰ বাবে চিস্টেম প্ৰশাসক অথবা কি' চাৰ্ভাৰৰ প্ৰশাসকৰ সৈতে যোগাযোগ কৰক।" + +#: ../libseahorse/seahorse-prefs.c:179 +msgid "URL" +msgstr "URL" + +# +#: ../libseahorse/seahorse-prefs.c:349 +msgid "Custom" +msgstr "স্বনিৰ্বাচিত" + +#: ../libseahorse/seahorse-prefs.c:402 +msgid "None: Don't publish keys" +msgstr "শূণ্য: কি' প্ৰকাশ নকৰিব" + +# +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "পছন্দসমূহ" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "কি' সন্ধানৰ মাধ্যম (_F):" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "কি'সমূহ প্ৰকাশিত কৰা হ'ব (_P):" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "কি'ৰিং পৰা স্বচালিতভাবে কি' প্ৰাপ্ত কৰিবলৈ ব্যৰ্থ (_k)" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "পৰিবৰ্তিত কি'সমূহ স্বচালিতভাবে কি' চাৰ্ভাৰৰ সৈতে সংমিহলি কৰা হ'ব (_m)" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "কি' চাৰ্ভাৰসমূহ" + +#: ../libseahorse/seahorse-validity.c:38 +#: ../pgp/seahorse-pgp-key-properties.c:1251 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "অজ্ঞাত" + +# +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1257 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "কেতিয়াও নহয়" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "আংশিক" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "পূৰ্ণ" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "চৰম" + +#: ../libseahorse/seahorse-validity.c:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "অসামৰ্থবান" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "প্ৰত্যাখ্যাত" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "কেতিয়াও অৱসান নঘটে (_x)" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "কি'ৰ মেয়াদ কেতিয়াও পূৰ্ণ না হ'লে" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "কি'ৰ ধৰণ (_T):" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "কি'ৰ দৈৰ্ঘ্য (_L):" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "অৱসানৰ তাৰিখ:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "কি'ৰ দৈৰ্ঘ্য" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "নতুন উপ-কি' সৃজন কৰক" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "ব্যবহাৰকাৰীৰ ID যোগ কৰক" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "অন্তত ৫ অক্ষৰ বিশিষ্ট হোৱা আবশ্যক" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "বৈকল্পিক ই-মেইল ঠিকনা" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "কি'ৰ বিবৰণ উল্লেখকাৰী বৈকল্পিক মন্তব্য" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "সম্পূৰ্ণ নাম (_N):" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "ই-মেইল ঠিকনা (_E):" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "কি'ৰ মন্তব্য (_m):" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "নতুন ব্যবহাৰকাৰীৰ ID সৃষ্টি কৰক" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "কেতিয়াও অৱসান নঘটিব (_N)" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "কি' প্ৰত্যাহাৰ কৰক" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "পৰিবৰ্তন কৰক (_h)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn't add subkey" +msgstr "উপ-কি' যোগ কৰা নাযায়" + +#: ../pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "%s লে উপ-কি' যোগ কৰক" + +#: ../pgp/seahorse-gpgme-add-subkey.c:196 ../pgp/seahorse-gpgme-generate.c:132 +msgid "DSA (sign only)" +msgstr "DSA (অকল স্বাক্ষৰ)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (অকল এনক্ৰিপশন)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:210 ../pgp/seahorse-gpgme-generate.c:133 +msgid "RSA (sign only)" +msgstr "RSA (অকল স্বাক্ষৰ)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (অকল এনক্ৰিপশন)" + +#: ../pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn't add user id" +msgstr "ব্যবহাৰকাৰীৰ id যোগ কৰিবলৈ ব্যৰ্থ" + +#: ../pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "%s লে ব্যৱহাৰকাৰী ID যোগ কৰক" + +# +#: ../pgp/seahorse-gpgme.c:71 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "ডিক্ৰিপশন কৰিবলৈ ব্যৰ্থ। সম্ভবত ডিক্ৰিপশন-কি উপস্থিত নাই।" + +#: ../pgp/seahorse-gpgme.c:75 ../pgp/seahorse-hkp-source.c:548 +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The operation was cancelled" +msgstr "কাৰ্য্য বাতিল কৰা হৈছিল।" + +#: ../pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "অৱসানৰ তাৰিখ বৈধ নহয়" + +#: ../pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "অৱসানৰ ক্ষেত্ৰত ভৱিষ্যতৰ এটা তাৰিখ নিৰ্ধাৰণ কৰা আবশ্যক" + +#: ../pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn't change expiry date" +msgstr "অৱসানৰ তাৰিখ পৰিবৰ্তন কৰিবলৈ ব্যৰ্থ" + +#: ../pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "অৱসান: %s" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "একাধিক কি'" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "কি'ৰ তথ্য" + +#: ../pgp/seahorse-gpgme-exporter.c:116 +msgid "Armored PGP keys" +msgstr "কৱচিত PGP কি'সমূহ" + +#: ../pgp/seahorse-gpgme-exporter.c:120 +msgid "PGP keys" +msgstr "PGP কি'সমূহ" + +#: ../pgp/seahorse-gpgme-generate.c:93 +msgid "PGP Key" +msgstr "PGP-কি'" + +#: ../pgp/seahorse-gpgme-generate.c:94 +msgid "Used to encrypt email and files" +msgstr "ই-মেইল আৰু ফাইল এনক্ৰিপ্ট কৰিবলৈ ব্যবহৃত" + +#: ../pgp/seahorse-gpgme-generate.c:130 +#: ../pkcs11/seahorse-pkcs11-generate.c:90 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:131 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: ../pgp/seahorse-gpgme-generate.c:180 +msgid "Couldn't generate PGP key" +msgstr "PGP-কি' সৃষ্টি কৰিবলৈ ব্যৰ্থ" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "নতুন PGP-কি'ৰ পাচফ্ৰেইছ" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "নতুন কি'ৰ পাচফ্ৰেইছ দুবাৰ লিখা আবশ্যক।" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It's a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"এটা কি' সৃষ্টি কৰোতে আমাৰ ভালেমান যাদৃচ্ছিক তথ্য সৃজন কৰাৰ\n" +"প্ৰয়োজন হয় আৰু আমি আপোনাৰ সহায় বিচাৰো। কিছুমান অন্য কাৰ্য্য\n" +"কৰা যেনে কিবৰ্ডত টাইপ কৰা, মাউছ গমন কৰোৱা, এপ্লিকেচনসমূহ ব্যৱহাৰ\n" +"কৰাটো এটা ভাল বুদ্ধি। ই চিস্টেমক তাৰ প্ৰয়োজনীয় যাদৃচ্ছিক তথ্য প্ৰদান কৰে।" + +#: ../pgp/seahorse-gpgme-generate.c:231 +#: ../pkcs11/seahorse-pkcs11-generate.c:458 +msgid "Generating key" +msgstr "কি' সৃষ্টি কৰিবলৈ ব্যৰ্থ" + +#: ../pgp/seahorse-gpgme-key-deleter.c:77 +#: ../pgp/seahorse-gpgme-secret-deleter.c:76 ../pkcs11/pkcs11-deleter.vala:35 +#: ../pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "আপুনি কি' নিশ্চিতৰূপে %s স্থায়ীভাবে আঁতৰাবলৈ ইচ্ছুক?" + +#: ../pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "আপুনি নিশ্চিতৰূপে %d কি'সমূহক স্থায়ীৰূপে আঁতৰাবলৈ ইচ্ছুক নে?" +msgstr[1] "আপুনি নিশ্চিতৰূপে %d কি'সমূহক স্থায়ীৰূপে আঁতৰাবলৈ ইচ্ছুক নে?" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "Wrong password" +msgstr "ভুল পাছৱৰ্ড" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"এইটো লৈ তিনি নম্বৰ বাৰ আপুনি ভুল পাছৱৰ্ড সুমুৱাইছে। অনুগ্ৰহ কৰি পুনৰ চেষ্টা " +"কৰক।" + +#: ../pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "ভুল পাচফ্ৰেইছ।" + +#: ../pgp/seahorse-gpgme-keyring.c:93 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "'%s' ৰ বাবে নতুন পাচফ্ৰেইছ লিখক" + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "'%s' ৰ পাচফ্ৰেইছ লিখক" + +# +#: ../pgp/seahorse-gpgme-keyring.c:98 +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "নতুন পাচফ্ৰেইছ লিখক" + +# +#: ../pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "পাচফ্ৰেইছ লিখক" + +# +#: ../pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "পাচফ্ৰেইছ" + +#: ../pgp/seahorse-gpgme-keyring.c:306 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d কি' ল'ড কৰা হৈছে" +msgstr[1] "%d কি'সমূহ ল'ড কৰা হৈছে" + +#: ../pgp/seahorse-gpgme-keyring.c:653 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"অবৈধ কি' তথ্য (সন্ধানহীন UIDs)। ই এটা কমপিউটাৰ যাৰ তাৰিখ ভৱিষ্যতত সংহতি কৰা " +"আছে " +"অথবা এটা সন্ধানহীন স্ব-স্বাক্ষৰৰ বাবে হব পাৰে।" + +#: ../pgp/seahorse-gpgme-keyring.c:806 +msgid "GnuPG keys" +msgstr "GnuPG কি'সমূহ" + +#: ../pgp/seahorse-gpgme-keyring.c:812 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: অবিকল্পিত কি'ৰিং ডাইৰেকটৰি" + +#: ../pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"ফটোৰ মাপ অত্যন্ত ডাঙৰ\n" +"কি'ৰ বাবে ফটোৰ প্ৰস্তাবিত মান হল %d x %d পিক্সেল।" + +#: ../pgp/seahorse-gpgme-photos.c:77 +msgid "_Don't Resize" +msgstr "মাপ পৰিবৰ্তন কৰা নহব (_D)" + +# +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "মাপ পৰিবৰ্তন (_R)" + +#: ../pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"এইটো সম্ভবত ছবিৰ ফাইল নহয় অথবা পৰিচিত ধৰণৰ ছবিৰ ফাইল নহয়। JPEG ছবিৰ ব্যৱহাৰৰ " +"চেষ্টা কৰক।" + +#: ../pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "সকলো ছবিৰ ফাইল" + +#: ../pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "সকলো JPEG ফাইল" + +# +#: ../pgp/seahorse-gpgme-photos.c:241 ../src/seahorse-key-manager.c:288 +msgid "All files" +msgstr "সকলো ফাইল" + +#: ../pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "কি'ৰ সৈতে যোগ কৰাৰ বাবে ফটো বাছক" + +#: ../pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn't prepare photo" +msgstr "ফটো প্ৰস্তুত কৰিব নোৱাৰি" + +#: ../pgp/seahorse-gpgme-photos.c:294 ../pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn't add photo" +msgstr "ছবি যোগ কৰিবলৈ ব্যৰ্থ" + +#: ../pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "ফাইল ল'ড কৰা নাযায়। সম্ভবত বৈধ বিন্যাস নহয়।" + +#: ../pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "আপুনি কি নিশ্চিতৰূপে কি' পৰা বৰ্তমান ফটো আঁতৰাবলৈ ইচ্ছুক?" + +#: ../pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn't delete photo" +msgstr "ছবি আঁতৰাবলৈ ব্যৰ্থ" + +#: ../pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn't revoke subkey" +msgstr "উপ-কি' প্ৰত্যাহাৰ কৰিবলৈ ব্যৰ্থ" + +#: ../pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "প্ৰত্যাহাৰ কৰক: %s" + +# +#: ../pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "বিনা কাৰণে" + +#: ../pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "কি' প্ৰত্যাহাৰৰ কোনো কাৰণ নাই" + +#: ../pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "আপোচ কৰা" + +#: ../pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "কি' আপোচ কৰা হৈছে" + +#: ../pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "প্ৰতিস্থাপিত" + +#: ../pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "কি' প্ৰতিস্থাপিত হৈছে" + +#: ../pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "ব্যবহৃত নহয়" + +#: ../pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "এই কি' এতিয়া ব্যবহত নহয়" + +#: ../pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"আপুনি %s ক %s ৰ বাবে এজন প্ৰত্যাখক হিচাপে যোগ কৰিব লৈছে। এই কাৰ্য্য বাতিল " +"কৰিব " +"নোৱাৰি! আপুনি চলাই নিবলে নিশ্চিত নে?" + +#: ../pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn't add revoker" +msgstr "প্ৰত্যাখক যোগ কৰিব পৰা নগল" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:82 +msgid "I understand that this secret key will be permanently deleted." +msgstr "মই বুজি পাও যে এই গোপণ কি' স্থায়ীভাৱে মচি পেলোৱা হব।" + +#: ../pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" +"এইটো কি' ইতিমধ্যে স্বাক্ষৰিত কৰা হৈছে\n" +"\"%s\" দ্বাৰা" + +#: ../pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn't sign key" +msgstr "কি' স্বাক্ষৰ কৰিবলৈ ব্যৰ্থ" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:163 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "স্বাক্ষৰৰ বাবে কোনো কি ব্যবহাৰযোগ্য নহয়" + +#: ../pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"আপোনাৰ ওচৰত কোনো ব্যক্তিগত PGP কি' নাই যাক এই কি'ৰ বাবে আপোনাৰ ভৰষা " +"চিনাক্তকৰাৰ " +"কাৰণে ব্যৱহাৰ কৰিব পাৰি।" + +#: ../pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "অজ্ঞাত" + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:566 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" +"সুনিৰ্দিষ্ট সন্ধান প্ৰয়োগ কৰা নহয়। '%s' চাৰ্ভাৰ দ্বাৰা একাধিক কি' বিচাৰি পোৱা " +"গৈছে।" + +#: ../pgp/seahorse-hkp-source.c:569 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "'%s' চাৰ্ভাৰৰ সৈতে সংযোগ স্থাপন কৰিবলৈ ব্যৰ্থ: %s" + +#: ../pgp/seahorse-hkp-source.c:1079 +msgid "HTTP Key Server" +msgstr "HTTP কি' চাৰ্ভাৰ" + +# +#: ../pgp/seahorse-keyserver-results.c:168 +msgid "Couldn't import keys" +msgstr "কি' ইমপোৰ্ট কৰিবলৈ ব্যৰ্থ" + +#: ../pgp/seahorse-keyserver-results.c:211 +msgid "Importing keys from key servers" +msgstr "কি' চাৰ্ভাৰ পৰা কি ইমপোৰ্ট কৰাৰ প্ৰণালী" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:237 ../src/seahorse-key-manager.c:501 +msgid "_Remote" +msgstr "দূৰবৰ্তী (_R)" + +# +#: ../pgp/seahorse-keyserver-results.c:239 +msgid "Close this window" +msgstr "এই উইন্ডোটো বন্ধ কৰক" + +#: ../pgp/seahorse-keyserver-results.c:243 ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys..." +msgstr "দূৰবৰ্তী কি সন্ধান কৰক...(_F)" + +#: ../pgp/seahorse-keyserver-results.c:244 ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "কি' চাৰ্ভাৰৰ মাজত কি সন্ধান কৰক" + +# +#: ../pgp/seahorse-keyserver-results.c:248 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "ইমপোৰ্ট (_I)" + +#: ../pgp/seahorse-keyserver-results.c:249 +msgid "Import selected keys to local key ring" +msgstr "নিৰ্বাচিত কি'সমূহ স্থানীয় কি'ৰিংৰ মাজত ইমপোৰ্ট কৰক" + +#: ../pgp/seahorse-keyserver-results.c:280 +msgid "Remote Keys" +msgstr "দূৰবৰ্তী কি'" + +#: ../pgp/seahorse-keyserver-results.c:282 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "'%s' ৰ সৈতে দূৰবৰ্তী কি'" + +#: ../pgp/seahorse-keyserver-results.c:485 +msgid "The search for keys failed." +msgstr "কি'সমূহৰ বাবে সন্ধান ব্যৰ্থ হল।" + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "দূৰবৰ্তী কি' সন্ধান কৰক" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"ইয়াৰ দ্বাৰা ইন্টাৰনেটৰ অন্যৰ বাবে কি' সন্ধান কৰা হ'ব। ইয়াৰ পিছত স্থানীয় " +"কি'ৰিংৰ " +"মাজত এই কি' ইমপোৰ্ট কৰা হ'ব।" + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "অন্তৰ্ভুক্ত কৰা কি'সমূহ সন্ধান কৰক (_S): " + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "কি' চাৰ্ভাৰসমূহ:" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "মোৰ ওচৰত থকা অংশীদাৰী কি'সমূহ:" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "কত সন্ধান কৰা হব:" + +# +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "সন্ধান (_S)" + +#: ../pgp/seahorse-keyserver-sync.c:56 +msgid "Couldn't publish keys to server" +msgstr "চাৰ্ভাৰ কি' প্ৰকাশ কৰিবলৈ ব্যৰ্থ" + +#: ../pgp/seahorse-keyserver-sync.c:75 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "চাৰ্ভাৰ পৰা কি' উদ্ধাৰ কৰিবলৈ ব্যৰ্থ: %s" + +#: ../pgp/seahorse-keyserver-sync.c:159 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "সংমিহলি কৰাৰ বাবে %d কি' নিৰ্বাচন কৰা হৈছে।" +msgstr[1] "সংমিহলি কৰাৰ বাবে %d কি' নিৰ্বাচন কৰা হৈছে।" + +#: ../pgp/seahorse-keyserver-sync.c:239 +msgid "Synchronizing keys..." +msgstr "কি' সুসংগতি..." + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "কি' সংমিহলি কৰক" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"ই কি'সমূহক আপোনাৰ কি' ৰিংত প্ৰকাশ কৰিব যাতে সিহত অন্যৰ ব্যৱহাৰৰ বাবে উপলব্ধ " +"থাকে। " +"আপুনি লগতে অন্য কৰা যিকোনো পৰিবৰ্তন প্ৰাপ্ত কৰিব যিহেতু আপুনি সিহতৰ কি'সমূহ " +"গ্ৰহণ " +"কৰিছে।" + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"ই অন্য কৰা যিকোনো পৰিবৰ্তন উদ্ধাৰ কৰিব যিহেতু আপুনি সিহতৰ কি গ্ৰহণ কৰিছে। " +"কোনো কি' " +"চাৰ্ভাৰক প্ৰকাশনৰ বাবে নিৰ্বাচন কৰা হোৱা নাই, সেয়েহে আপোনাৰ কি'সমূহ অন্যলে " +"উপলব্ধ " +"কৰোৱা নহব।" + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "কি' চাৰ্ভাৰসমূহ (_K)" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "সংমিহলি কৰক (_S)" + +#: ../pgp/seahorse-ldap-source.c:436 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "'%s' ৰ সৈতে সংযোগ কৰিবলৈ ব্যৰ্থ: %s" + +#: ../pgp/seahorse-ldap-source.c:646 +#, c-format +msgid "Connecting to: %s" +msgstr "সংযোগ স্থাপন কৰা হৈছে: %s" + +#: ../pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "চিহ্নিত ঠিকনা মীমাংসা কৰিবলৈ ব্যৰ্থ: %s" + +#: ../pgp/seahorse-ldap-source.c:696 +#, c-format +msgid "Resolving server address: %s" +msgstr "চাৰ্ভাৰৰ ঠিকনা মীমাংসা কৰিবলৈ ব্যৰ্থ: %s" + +#: ../pgp/seahorse-ldap-source.c:1431 +msgid "LDAP Key Server" +msgstr "LDAP কি' চাৰ্ভাৰ" + +#: ../pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys..." +msgstr "কি' সংমিহলি আৰু প্ৰকাশ কৰক...(_S)" + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "অন-লাইন উপস্থিত কি'ৰ সৈতে আপোনাৰ কি' সংমিহলি আৰু/অথবা প্ৰকাশ কৰক।" + +#: ../pgp/seahorse-pgp-backend.c:167 +msgid "PGP Keys" +msgstr "PGP কি'সমূহ" + +#: ../pgp/seahorse-pgp-backend.c:173 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP কি'সমূহ ই-মেইল অথবা ফাইলসমূহ ইনক্ৰিপ্ট কৰি আছে" + +# +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "সৃষ্টি কৰক (_r)" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "এটা নতুন কি' সৃষ্টি কৰক" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP কি'ৰ সহায় অন্য ব্যক্তিৰ পাঠানো ই-মেইল আৰু ফাইল এনক্ৰিপ্ট কৰা যাবে।" + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Ne_ver Expires" +msgstr "মেয়াদ পূৰ্ণ নহয় (_v)" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "_Comment:" +msgstr "বিবৃতি: (_C)" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "এনক্ৰিপশনেৰ ধৰণ: (_T)" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "কি'ৰ ক্ষমতা (বিট): (_S)" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "অৱসানৰ তাৰিখ: (_x)" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "উন্নত কি' বিকল্পসমূহ (_A)" + +#: ../pgp/seahorse-pgp-key.c:351 +msgid "Personal PGP key" +msgstr "ব্যক্তিগত PGP কি" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "PGP key" +msgstr "PGP কি" + +#: ../pgp/seahorse-pgp-key-properties.c:317 +msgid "Couldn't change primary user ID" +msgstr "ব্যবহাৰকাৰীৰ প্ৰধান ID পৰিবৰ্তন কৰা নাযায়" + +#: ../pgp/seahorse-pgp-key-properties.c:336 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "আপুনি কি' নিশ্চিতৰূপে '%s' ব্যবহাৰকাৰীৰ ID স্থায়ীভাবে আঁতৰাবলৈ ইচ্ছুক?" + +#: ../pgp/seahorse-pgp-key-properties.c:346 +msgid "Couldn't delete user ID" +msgstr "ব্যবহাৰকাৰীৰ ID আঁতৰাবলৈ ব্যৰ্থ" + +#: ../pgp/seahorse-pgp-key-properties.c:421 +#: ../pgp/seahorse-pgp-key-properties.c:1576 +msgid "[Unknown]" +msgstr "[অজানা]" + +#: ../pgp/seahorse-pgp-key-properties.c:530 +#: ../pgp/seahorse-pgp-key-properties.c:1859 +msgid "Name/Email" +msgstr "নাম/ই-মেইল" + +#: ../pgp/seahorse-pgp-key-properties.c:537 +msgid "Signature ID" +msgstr "স্বাক্ষৰৰ ID" + +#: ../pgp/seahorse-pgp-key-properties.c:670 +msgid "Couldn't change primary photo" +msgstr "প্ৰধান ফটো পৰিবৰ্তন কৰিবলৈ ব্যৰ্থ" + +# +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:904 +msgid "(unknown)" +msgstr "(অজ্ঞাত)" + +#: ../pgp/seahorse-pgp-key-properties.c:907 +#, c-format +msgid "This key expired on: %s" +msgstr "কি'ৰ অৱসানৰ তাৰিখ: %s" + +# +#: ../pgp/seahorse-pgp-key-properties.c:970 +msgid "Name" +msgstr "নাম" + +#: ../pgp/seahorse-pgp-key-properties.c:1085 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "আপুনি নিশ্চিতৰূপে স্থায়ীৰূপে আঁতৰাবলৈ ইচ্ছুক নে উপকি' %d %s ৰ?" + +#: ../pgp/seahorse-pgp-key-properties.c:1094 +msgid "Couldn't delete subkey" +msgstr "উপ-কি' আঁতৰাবলৈ ব্যৰ্থ" + +#: ../pgp/seahorse-pgp-key-properties.c:1134 +#: ../pgp/seahorse-pgp-key-properties.c:1550 +msgid "Unable to change trust" +msgstr "ভৰষা সলনি কৰিব নোৱাৰি" + +#: ../pgp/seahorse-pgp-key-properties.c:1148 +#: ../ssh/seahorse-ssh-key-properties.c:205 +msgid "Couldn't export key" +msgstr "কি' এক্সপোৰ্ট কৰিব পৰা নগল" + +#: ../pgp/seahorse-pgp-key-properties.c:1264 +msgid "Marginal" +msgstr "আংশিক" + +# +#: ../pgp/seahorse-pgp-key-properties.c:1270 +msgid "Full" +msgstr "পূৰ্ণ" + +#: ../pgp/seahorse-pgp-key-properties.c:1276 +msgid "Ultimate" +msgstr "চৰম" + +# +#: ../pgp/seahorse-pgp-key-properties.c:1382 +#: ../pgp/seahorse-pgp-key-properties.c:1475 +msgctxt "Expires" +msgid "Never" +msgstr "কেতিয়াও নহয়" + +#: ../pgp/seahorse-pgp-key-properties.c:1429 +msgid "ID" +msgstr "ID" + +# +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "Type" +msgstr "ধৰণ" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Usage" +msgstr "ব্যৱহাৰ" + +# +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "সৃষ্টিৰ সময়" + +# +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "মেয়াদ পূৰ্ণ হ'ব" + +# +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "অবস্থা" + +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "ক্ষমতা" + +#: ../pgp/seahorse-pgp-key-properties.c:1466 +msgid "Revoked" +msgstr "প্ৰত্যাখ্যাত" + +#: ../pgp/seahorse-pgp-key-properties.c:1468 +msgid "Expired" +msgstr "মেয়াদ উত্তীৰ্ণ" + +# +#: ../pgp/seahorse-pgp-key-properties.c:1470 +msgid "Disabled" +msgstr "অসামৰ্থবান" + +#: ../pgp/seahorse-pgp-key-properties.c:1472 +msgid "Good" +msgstr "ভাল" + +#: ../pgp/seahorse-pgp-key-properties.c:1862 +msgid "Key ID" +msgstr "কি'ৰ ID" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "কি'ৰ বৈশিষ্ট্যসমূহ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "চিহ্নিত কি' প্ৰত্যাখ্যাত কৰা হৈছে" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "কি'ৰ গৰাকীয়ে কি' প্ৰত্যাহাৰ কৰিলে। ইয়াক আৰু ব্যৱহাৰ কৰিব নোৱাৰি।" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "চিহ্নিত কি'ৰ অৱসান হৈছে" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "কি'ৰ বাবে ছবি যোগ কৰক" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "বৰ্তমান কি' পৰা চিহ্নিত ছবি মচি ফেলা হ'ব" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "চিহ্নিত ছবিটি প্ৰধান ছবি ৰূপে ধাৰ্য কৰা হ'ব" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "পূৰ্ববৰ্তী ছবিতে পিছিয়ে যান" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "পৰবৰ্তী ছবিতে এগিয়ে চলুন" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "ফ'টো" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "কি'ৰ ID:" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "নাম:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "ই-মেইল:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "মন্তব্য:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "আপোনাৰ দ্বাৰা প্ৰাপ্ত ফাইল আৰু ই-মেইল ডি-ক্ৰিপ্ট কৰা হ'ব।" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "ব্যক্তিগত PGP-কি'" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "পাচফ্ৰেইছ পৰিবৰ্তন কৰক (_P)" + +# +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "গৰাকী" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "কি' নাম আৰু স্বাক্ষৰসমূহ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "প্ৰধান" + +# +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "স্বাক্ষৰ কৰক" + +# +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "মচি পেলাওক" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "নাম যোগ কৰক (_A)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "প্ৰত্যাহাৰ কৰক" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "নাম আৰু স্বাক্ষৰসমূহ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "ক্ষমতা:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "কাৰিকৰী বিৱৰণসমূহ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "ফিংগাৰপ্ৰিন্ট" + +# +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "মেয়াদ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "তাৰিখসমূহ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "গৰাকীৰ ভৰষা অভাৰৰাইড কৰক (_T):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Secret Key:" +msgstr "গোপন কি' এক্সপোৰ্ট কৰক (_E):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "Actions" +msgstr "কাৰ্য্যসমূহ" + +# +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "যোগ কৰক" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "অৱসান" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "উপ-কি'সমূহ (_S)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "আংশিকভাৱে" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "সম্পূৰ্ণভাৱে" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "অৱশেষত" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key's owner" +msgstr "ফাইল এনক্ৰিপ্ট কৰক আৰু কি'ৰ গৰাকীলে ই-মেইল কৰক" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "সাৰ্বজনীন PGP-কি'" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "অন্য নামসমূহ (_O):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "এই কি'ৰ ওপৰত আপোনাৰ ভৰষা" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "আপোনাৰ ভৰষা হস্তচালিতভাৱে বিৱৰণসমূহ টেবত ধাৰ্য্য কৰা আছে।" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "অন্য কি'ৰ বাবে '%s'ৰ স্বাক্ষৰ বিশ্বাস কৰা হ'ব" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" +"যদি আপুনি ভাৱে যে এই কি'ৰ অধিকাৰী মানুহজন '%s', এই কি স্বাক্ষৰ কৰক:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "এই কি' স্বাক্ষৰ কৰক (_S)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" +"যদি আপুনি নাভাৱে যে '%s' এই কি'ৰ অধিকাৰী, আপোনাৰ স্বাক্ষৰ প্ৰত্যাহাৰ কৰক<" +"/i>:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "স্বাক্ষৰ প্ৰত্যাহাৰ কৰক (_R)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "এই কি' স্বাক্ষৰকাৰী ব্যবহাৰকাৰীসকল (_P):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "অকল বিশ্বস্ত ব্যক্তিৰ স্বাক্ষৰ প্ৰদৰ্শন কৰা হ'ব (_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "ভৰষাৰ মাত্ৰা" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "ফিংগাৰপ্ৰিন্ট:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "তাৰিখসমূহ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "ভৰষাৰ মাত্ৰা চিহ্নিত কৰক:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "গৰাকী আপোনাৰ বিশ্বস্ত: (_T)" + +#: ../pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "ইনক্ৰিপ্ট কৰক" + +#: ../pgp/seahorse-pgp-subkey.c:293 +#| msgid "Certificate" +msgid "Certify" +msgstr "প্ৰমাণীত কৰক" + +#: ../pgp/seahorse-pgp-subkey.c:294 +#| msgid "Certificate" +msgid "Authenticate" +msgstr "প্ৰমাণীত কৰক" + +#: ../pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "উপ-কি' %d, %sৰ" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "এই কি' প্ৰত্যাহাৰ কৰাৰ কাৰণ" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "কাৰণ (_R):" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "প্ৰত্যাহাৰৰ বৈকল্পিক বিৱৰণ" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "প্ৰত্যাহাৰ কৰক (_v)" + +#: ../pgp/seahorse-signer.c:62 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"কোনো নথি অথবা বাৰ্তা স্বাক্ষৰ কৰাৰ বাবে আপোনাৰ কোনো ব্যক্তিগত PGP-কি' উপস্থিত " +"নাই।" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "কি' সহযোগে বাৰ্তা স্বাক্ষৰ কৰা হ'ব (_S)" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "কি' স্বাক্ষৰ কৰক" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "স্বাক্ষৰ কৰি আপুনি এই কি'ৰ প্ৰতি ভৰষাৰ ইংগিত দিয়ে:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "কি'ৰ নাম" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "এই কিটো পুঙ্খানুপুঙ্খভাবে পৰীক্ষা কৰা হৈছে নে?" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "কেতিয়াও নহয় (_N)" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "সহজভাৱে (_C)" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "পুঙ্খানুপুঙ্খভাবে (_V)" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"কেতিয়াও নহয়: বুজায় যে আপুনি ভাৱে কি সেই মানুহজনৰ ওচৰত আছে যোনে ইয়াৰ " +"অধিকাৰিত্ব দাবি কৰে, কিন্তু আপুনি ইয়াক সত্য বুলি সতাসত্য নিৰূপণ কৰিব নোৱাৰিলে " +"বা " +"নকৰিলে।" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"সহজভাৱে: বুজায় যে আপুনি সহজভাৱে সতাসত্য নিৰূপণ কৰিছে যে কি এনে এজন " +"মানুহৰ " +"ওচৰত আছে যোনে ইয়াৰ অধিকাৰিত্ব দাবি কৰিছে। উদাহৰণস্বৰূপ, আপুনি ফোনত গৰাকীৰ কি " +"ফিংগাৰপ্ৰিন্ট পঢ়িব পাৰিব।" + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"সাৱধাণে: ইয়াক কেৱল তেতিয়াহে বাছক যেতিয়া আপুনি কিটো সম্পূৰ্ণ সঠিক বুলি " +"সুনিশ্চিত।" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"আপুনি এটা জালিয়াতী কৰিবলে কঠিন ফটো পৰিচয় (যেনে এটা পাচপোৰ্ট) ব্যৱহাৰ কৰিব " +"পাৰে " +"ব্যক্তিগতভাৱে নিৰীক্ষণ কৰিবলে যে কিত থকা নাম সঠিক। আপুনি হয়তো ই-মেইল ঠিকনা " +"ব্যৱহাৰ কৰিছে নিৰীক্ষণ কৰিবলে যে ই-মেইল ঠিকনা গৰাকীৰ হয়।" + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "অন্যৰ বাবে এই স্বাক্ষৰ কেনেধৰণে প্ৰদৰ্শন কৰা হ'ব:" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "এই স্বাক্ষৰ অন্যৰ বাবে দৃশ্যমান নহব (_O)" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "মই এই স্বাক্ষৰক এটা পিছৰ তাৰিখত প্ৰত্যাহাৰ কৰিব পাৰো (_r)।" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "কি'ক এই ধৰণে স্বাক্ষৰ কৰক :" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "স্বাক্ষৰকাৰী (_S):" + +# +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "স্বাক্ষৰ কৰক (_S)" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "তথ্য এক্সপোৰ্ট কৰা হৈছে" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "তথ্য উদ্ধাৰ কৰা হৈছে" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "তথ্য ইমপোৰ্ট কৰা" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "তথ্য প্ৰেৰণ কৰা" + +#: ../pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "উপলব্ধ নহয়" + +# +#: ../pkcs11/certificate-der-exporter.vala:43 +#: ../pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "প্ৰমাণপত্ৰ" + +#: ../pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "প্ৰমাণপত্ৰসমূহ (DER এনক'ড কৰা)" + +#: ../pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "ব্যক্তিগত প্ৰমাণপত্ৰ আৰু কি'" + +#: ../pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "ব্যক্তিগত প্ৰমাণপত্ৰ" + +#: ../pkcs11/seahorse-pkcs11-backend.c:184 +msgid "Certificates" +msgstr "প্ৰমাণপত্ৰসমূহ" + +#: ../pkcs11/seahorse-pkcs11-backend.c:190 +msgid "X.509 certificates and related keys" +msgstr "X.509 প্ৰমাণপত্ৰসমূহ আৰু প্ৰাসংগিক কি'সমূহ" + +#: ../pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "আপুনি নিশ্চিতৰূপে %d প্ৰমাণপত্ৰক স্থায়ীৰূপে আঁতৰাবলৈ ইচ্ছুক নে?" +msgstr[1] "আপুনি নিশ্চিতৰূপে %d প্ৰমাণপত্ৰসমূহক স্থায়ীৰূপে আঁতৰাবলৈ ইচ্ছুক নে?" + +#: ../pkcs11/seahorse-pkcs11-generate.c:113 +msgid "Couldn't generate private key" +msgstr "ব্যক্তিগত কি সৃজন কৰিব পৰা নগল" + +#: ../pkcs11/seahorse-pkcs11-generate.c:412 ../pkcs11/pkcs11-request.vala:56 +msgid "Create" +msgstr "সৃষ্টি কৰক" + +#: ../pkcs11/seahorse-pkcs11-generate.c:505 +#: ../pkcs11/pkcs11-private-key.vala:70 +msgid "Private key" +msgstr "গোপনীয় কি'" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +msgid "Used to request a certificate" +msgstr "এটা প্ৰমাণপত্ৰ অনুৰোধ কৰাৰ বাবে ব্যৱহৃত" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "এটা নতুন ব্যক্তিগত কি' সৃষ্টি কৰক" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "লেবেল:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "সংৰক্ষিত:" + +#: ../pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "মই বুজি পাও যে এই কি স্থায়ীভাৱে মচি পেলোৱা হব।" + +#: ../pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "নাম নহোৱা" + +#: ../pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "প্ৰমাণপত্ৰ এক্সপোৰ্ট কৰিবলে ব্যৰ্থ" + +#: ../pkcs11/pkcs11-properties.vala:188 ../src/seahorse-sidebar.c:873 +msgid "Couldn't delete" +msgstr "মচিব পৰা নগল" + +#: ../pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "এক্সপোৰ্ট কৰক (_E)" + +#: ../pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "প্ৰমাণপত্ৰ এক্সপোৰ্ট কৰক" + +#: ../pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "এই প্ৰমাণপত্ৰ অথবা কি' মচি পেলাওক" + +#: ../pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "প্ৰমাণপত্ৰ অনুৰোধ কৰক (_C)" + +#: ../pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "এই কি'ৰ বাবে এটা প্ৰমাণপত্ৰ অনুৰোধ ফাইল সৃষ্টি কৰক" + +#: ../pkcs11/pkcs11-request.vala:87 +msgid "Couldn't create certificate request" +msgstr "প্ৰমাণপত্ৰ অনুৰোধ সৃষ্টি কৰিব পৰা নগল" + +#: ../pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "প্ৰমাণপত্ৰ অনুৰোধ সংৰক্ষণ কৰক" + +#: ../pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "প্ৰমাণপত্ৰ অনুৰোধ" + +#: ../pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "PEM এনক'ডেড অনুৰোধ" + +#: ../pkcs11/pkcs11-request.vala:149 +msgid "Couldn't save certificate request" +msgstr "প্ৰমাণপত্ৰ অনুৰোধ সংৰক্ষণ কৰিব পৰা নগল" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "এটা প্ৰমাণপত্ৰ অনুৰোধ ফাইল সৃষ্টি কৰক।" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "প্ৰমাণপত্ৰ অনুৰোধত স্থাপন কৰা সাধাৰণ নাম (CN)।" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "নাম (CN):" + +#: ../pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "নামবিহিন গোপনীয় কি'" + +#: ../pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "অজ্ঞাত" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "পাচফ্ৰেইছ পৰিবৰ্তন কৰক" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "নতুন পাচফ্ৰেইছ (_P):" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "নতুন পাচফ্ৰেইছ নিশ্চিত কৰক" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "পাচফ্ৰেইছ নিশ্চিত কৰক (_f):" + +#: ../src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "চলাই নিয়ক" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "সৃষ্টিৰ বাবে বস্তুৰ ধৰণ নিৰ্ধাৰণ কৰক (_S):" + +#: ../src/seahorse-import-dialog.c:95 +msgid "Import failed" +msgstr "ইমপোৰ্ট ব্যৰ্থ হল" + +#: ../src/seahorse-import-dialog.c:113 +msgid "Import" +msgstr "ইমপোৰ্ট কৰক" + +#: ../src/seahorse-import-dialog.c:126 +msgid "Data to be imported:" +msgstr "ইমপোৰ্ট কৰিব লগিয়া তথ্য:" + +# +#: ../src/seahorse-key-manager.c:242 ../ssh/seahorse-ssh-operation.c:870 +msgid "Import Key" +msgstr "কি' ইমপোৰ্ট কৰক" + +# +#: ../src/seahorse-key-manager.c:254 +msgid "All key files" +msgstr "সকলো কি' ফাইল" + +#: ../src/seahorse-key-manager.c:355 +msgid "Dropped text" +msgstr "বাদ দিয়া লিখনি" + +#: ../src/seahorse-key-manager.c:391 +msgid "Clipboard text" +msgstr "ক্লিপবৰ্ড লিখনি" + +#: ../src/seahorse-key-manager.c:502 +msgid "_New" +msgstr "নতুন (_N)" + +#: ../src/seahorse-key-manager.c:504 +msgid "Close this program" +msgstr "এই প্ৰগ্ৰাম বন্ধ কৰক" + +#: ../src/seahorse-key-manager.c:505 ../src/seahorse-key-manager.c:507 +msgid "_New..." +msgstr "নতুন (_N)..." + +#: ../src/seahorse-key-manager.c:506 +msgid "Create a new key or item" +msgstr "নতুন কি' অথবা বস্তু সৃষ্টি কৰক" + +#: ../src/seahorse-key-manager.c:508 +msgid "Add a new key or item" +msgstr "এটা নতুন কি' অথবা বস্তু যোগ কৰক" + +#: ../src/seahorse-key-manager.c:509 +msgid "_Import..." +msgstr "ইমপোৰ্ট কৰক...(_I)" + +#: ../src/seahorse-key-manager.c:510 +msgid "Import from a file" +msgstr "এটা ফাইল পৰা ইমপোৰ্ট কৰক" + +#: ../src/seahorse-key-manager.c:512 +msgid "Import from the clipboard" +msgstr "ক্লিপ-বৰ্ড পৰা ইমপোৰ্ট কৰক" + +#: ../src/seahorse-key-manager.c:516 +msgid "By _Keyring" +msgstr "কি'ৰিংৰ সহায়ত (_K)" + +#: ../src/seahorse-key-manager.c:517 +msgid "Show sidebar listing keyrings" +msgstr "কাষবাৰ তালিকাভুক্ত কি'ৰিংসমূহ দেখুৱাওক" + +#: ../src/seahorse-key-manager.c:521 +msgid "Show _Personal" +msgstr "ব্যক্তিগত দেখুৱাওক (_P)" + +#: ../src/seahorse-key-manager.c:522 +msgid "Only show personal keys, certificates and passwords" +msgstr "কেৱল ব্যক্তিগত কি'সমূহ, প্ৰমাণপত্ৰসমূহ আৰু পাছৱৰ্ডসমূহ দেখুৱাওক" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show _Trusted" +msgstr "ভৰষাবান দেখুৱাওক (_T)" + +#: ../src/seahorse-key-manager.c:524 +msgid "Only show trusted keys, certificates and passwords" +msgstr "কেৱল ভৰষাবান কি'সমূহ, প্ৰমাণপত্ৰসমূহ আৰু পাছৱৰ্ডসমূহ দেখুৱাওক" + +#: ../src/seahorse-key-manager.c:525 +msgid "Show _Any" +msgstr "যিকোনো দেখুৱাওক (_A)" + +#: ../src/seahorse-key-manager.c:526 +msgid "Show all keys, certificates and passwords" +msgstr "সকলো কি'সমূহ, প্ৰমাণপত্ৰসমূহ আৰু পাছৱৰ্ডসমূহ দেখুৱাওক" + +#: ../src/seahorse-key-manager.c:745 +msgid "Filter" +msgstr "পৰিস্ৰাৱক" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "প্ৰথমবাৰ প্ৰযোজ্য বিকল্পসমূহ:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "নিজেৰ ব্যৱহাৰৰ বাবে এটা নতুন কি' সৃষ্টি কৰক: " + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "এটা ফাইল পৰা উপস্থিত কি' ইমপোৰ্ট কৰক: " + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "এনক্ৰিপশন ব্যৱহাৰৰ বাবে কি'ৰ উপস্থিতি আবশ্যক।" + +#: ../src/seahorse-sidebar.c:797 +msgid "Couldn't lock" +msgstr "লক কৰিব পৰা নগল" + +#: ../src/seahorse-sidebar.c:834 +msgid "Couldn't unlock" +msgstr "আনলক কৰিব পৰা নগল" + +#: ../src/seahorse-sidebar.c:941 +msgid "_Lock" +msgstr "লক কৰক (_L)" + +# +#: ../src/seahorse-sidebar.c:946 +msgid "_Unlock" +msgstr "আনলক (_U)" + +#: ../src/seahorse-sidebar.c:965 +msgid "_Properties" +msgstr "বৈশিষ্ট্যসমূহ (_P)" + +#: ../ssh/seahorse-ssh-actions.c:97 +msgid "Configure Key for _Secure Shell..." +msgstr "সুৰক্ষিত শেলেৰ বাবে কি' সংৰূপণ কৰক...(_S)" + +#: ../ssh/seahorse-ssh-actions.c:98 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"ৰাজহুৱা সুৰক্ষিত শ্বেল কি'ক অন্য মেচিনলে প্ৰেৰণ কৰক, আৰু সেই কি' ব্যৱহাৰ কৰি " +"লগিন " +"সামৰ্থবান কৰক।" + +#: ../ssh/seahorse-ssh-askpass.c:78 ../ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "সুৰক্ষিত শ্বেল পাচফ্ৰেইছ লিখক:" + +#: ../ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "পুৰনি কি'ৰ পাচফ্ৰেইছ" + +#: ../ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "পুৰনি পাচফ্ৰেইছ লিখক: %s" + +#: ../ssh/seahorse-ssh-askpass.c:105 ../ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "নতুন কি'ৰ পাচফ্ৰেইছ" + +#: ../ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "নতুন পাচফ্ৰেইছ লিখক: %s" + +#: ../ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "নতুন পাচফ্ৰেইছ আকৌ সুমুৱাওক: %s" + +#: ../ssh/seahorse-ssh-backend.c:88 +msgid "Secure Shell" +msgstr "সুৰক্ষিত শ্বেল" + +#: ../ssh/seahorse-ssh-backend.c:94 +msgid "Keys used to connect securely to other computers" +msgstr "অন্য কমপিউটাৰসমূহৰ সৈতে সংযোগ কৰিবলে ব্যৱহৃত কি'সমূহ" + +#: ../ssh/seahorse-ssh-deleter.c:80 ../ssh/seahorse-ssh-deleter.c:85 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "আপুনি কি নিশ্চিতৰূপে '%s'ৰ সুৰক্ষিত শ্বেল কি' আঁতৰাবলৈ ইচ্ছুক?" + +#: ../ssh/seahorse-ssh-deleter.c:90 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "আপুনি কি নিশ্চিতৰূপে %d সুৰক্ষিত শ্বেল কি' আঁতৰাবলৈ ইচ্ছুক?" +msgstr[1] "আপুনি কি নিশ্চিতৰূপে %d সুৰক্ষিত শ্বেল কি' আঁতৰাবলৈ ইচ্ছুক?" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "SSH Key" +msgstr "SSH কি'" + +#: ../ssh/seahorse-ssh-exporter.c:124 +msgid "Secret SSH keys" +msgstr "গোপণ SSH কি'সমূহ" + +#: ../ssh/seahorse-ssh-exporter.c:128 +msgid "Public SSH keys" +msgstr "ৰাজহুৱা SSH কি'সমূহ" + +#: ../ssh/seahorse-ssh-exporter.c:297 +msgid "No public key file is available for this key." +msgstr "এই কি'ৰ বাবে কোনো গোপনীয় কি' ফাইল উপলব্ধ নাই।" + +#: ../ssh/seahorse-ssh-generate.c:52 ../ssh/seahorse-ssh-key.c:109 +#: ../ssh/seahorse-ssh-key.c:113 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "সুৰক্ষিত শ্বেল কি'" + +#: ../ssh/seahorse-ssh-generate.c:53 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "অন্য কমপিউটাৰত অভিগম কৰিবলৈ ব্যবহৃত (উদাহৰণ: টাৰ্মিনালেৰ মাধ্যমে)" + +#: ../ssh/seahorse-ssh-generate.c:107 ../ssh/seahorse-ssh-generate.c:123 +msgid "Couldn't generate Secure Shell key" +msgstr "সুৰক্ষিত শ্বেল কি' সৃষ্টি কৰিবলৈ ব্যৰ্থ" + +#: ../ssh/seahorse-ssh-generate.c:190 +msgid "Creating Secure Shell Key" +msgstr "সুৰক্ষিত শ্বেল কি' সৃষ্টি কৰা হৈছে" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "নতুন সুৰক্ষিত শ্বেল কি'" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "অকল কি' সৃষ্টি কৰক (_J)" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "সৃষ্টি আৰু প্ৰস্তুত কৰক (_C)" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"এটা সুৰক্ষিত শ্বেল (SSH) কি' আপোনাক অন্য কমপিউটাৰৰ সৈতে সুৰক্ষিতভাৱে সংযোগ " +"কৰাৰ " +"অনুমতি দিয়ে।" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr "আপোনাৰ ই-মেইল ঠিকনা, অথবা কি'টো কিহৰ বাবে তাৰ এটা সোঁৱৰণি।" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"যদি এটা কমপিউটাৰ যাৰ সৈতে আপুনি এই কি ব্যৱহাৰ কৰিব বিচাৰে উপস্থিত আছে, আপুনি " +"আপোনাৰ নতুন কি চিনাক্ত কৰিবলে সেই কমপিউটাৰক সংস্থাপন কৰিব পাৰে।" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "(Unreadable Secure Shell Key)" +msgstr "(সুৰক্ষিত শ্বেল কি' পাঠযোগ্য নহয়)" + +#: ../ssh/seahorse-ssh-key.c:213 +msgid "Personal SSH key" +msgstr "ব্যক্তিগত SSH কি'" + +#: ../ssh/seahorse-ssh-key.c:215 +msgid "SSH key" +msgstr "SSH কি'" + +#: ../ssh/seahorse-ssh-key-properties.c:79 +msgid "Couldn't rename key." +msgstr "কি'ৰ নাম পৰিবৰ্তন কৰা নাযায়।" + +#: ../ssh/seahorse-ssh-key-properties.c:134 +msgid "Couldn't change authorization for key." +msgstr "কি'ৰ অনুমতি পৰিবৰ্তন কৰা নাযায়" + +#: ../ssh/seahorse-ssh-key-properties.c:171 +msgid "Couldn't change passphrase for key." +msgstr "কি'ৰ পাচফ্ৰেইছ পৰিবৰ্তন কৰা নাযায়।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "পৰিচয়ক:" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "নাম:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "অন্য কমপিউটাৰৰ সৈতে সংযোগ স্থাপন কৰিবলৈ ব্যবহৃত।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "এই কি'ৰ গৰাকীক এই কমপিউটাৰলে সংযোগ কৰাৰ অনুমতি আছে (_a)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "এইটো অকল %s একাউন্টৰ ক্ষেত্ৰত প্ৰযোজ্য।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "এলগোৰিথম:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "অৱস্থান:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "সম্পূৰ্ণ কি' এক্সপোৰ্ট কৰক (_x)" + +#: ../ssh/seahorse-ssh-operation.c:204 +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH পাছৱৰ্ড অপ্ৰত্যাশিতভাবে বন্ধ কৰা হৈছে।" + +#: ../ssh/seahorse-ssh-operation.c:214 +msgid "The SSH command failed." +msgstr "SSH পাছৱৰ্ড বিফল।" + +#: ../ssh/seahorse-ssh-operation.c:523 +msgid "Remote Host Password" +msgstr "দূৰবৰ্তী হস্টৰ পাছৱৰ্ড" + +#: ../ssh/seahorse-ssh-operation.c:610 +msgid "Enter Key Passphrase" +msgstr "কি'ৰ পাচফ্ৰেইছ লিখক" + +#: ../ssh/seahorse-ssh-operation.c:701 +msgid "Passphrase for New Secure Shell Key" +msgstr "নতুন সুৰক্ষিত শ্বেল কি'ৰ পাচফ্ৰেইছ লিখক" + +#: ../ssh/seahorse-ssh-operation.c:887 +#, c-format +msgid "Importing key: %s" +msgstr "কি' ইমপোৰ্ট কৰা হৈছে: %s" + +#: ../ssh/seahorse-ssh-operation.c:889 +msgid "Importing key. Enter passphrase" +msgstr "কি' ইমপোৰ্ট কৰা হৈছে। পাচফ্ৰেইছ লিখক।" + +#: ../ssh/seahorse-ssh-source.c:219 +msgid "OpenSSH keys" +msgstr "OpenSSH কি'সমূহ" + +#: ../ssh/seahorse-ssh-source.c:226 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ../ssh/seahorse-ssh-source.c:974 +msgid "No private key file is available for this key." +msgstr "এই কি'ৰ বাবে কোনো গোপনীয় কি'ৰ ফাইল উপস্থিত নাই।" + +#: ../ssh/seahorse-ssh-upload.c:48 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "দূৰবৰ্তী কমপিউটাৰৰ মাজত সুৰক্ষিত শ্বেল কি' সংৰূপণ কৰিবলৈ ব্যৰ্থ।" + +#: ../ssh/seahorse-ssh-upload.c:131 +msgid "Configuring Secure Shell Keys..." +msgstr "সুৰক্ষিত শ্বেল কি' সংৰূপণ কৰা হৈছে..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "SSH সংযোগেৰ বাবে কমপিউটাৰ প্ৰস্তুত কৰক" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"আপোনাৰ সুৰক্ষিত শ্বেল কি' SSH ব্যৱহাৰ কৰা অন্য কমপিউটাৰৰ সৈতে ব্যৱহাৰ কৰিবলে, " +"আপোনাৰ সেই কমপিউটাৰত এটা লগিন একাওন্ট থকা আৱশ্যক।" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "উদাহৰণ: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Server address:" +msgstr "চাৰ্ভাৰৰ ঠিকনা (_S):" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login name:" +msgstr "লগিন নাম (_L):" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "প্ৰস্তুত কৰক (_S)" + +#~ msgid "Ssh Key" +#~ msgstr "Ssh কি'" + +#~ msgid "Updating password" +#~ msgstr "পাছৱৰ্ড আপডেইট কৰা হৈছে" + +#~ msgid "Keyring Properties" +#~ msgstr "কি'ৰিংৰ বৈশিষ্ট্য" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "_Computer Name:" +#~ msgstr "কমপিউটাৰৰ নাম (_C):" + +# +#~ msgid "Password:" +#~ msgstr "পাছৱৰ্ড:" + +#~ msgid "Key Servers:" +#~ msgstr "কি' চাৰ্ভাৰসমূহ:" + +#~ msgid "Never" +#~ msgstr "কেতিয়াও নহয়" + +#~ msgid "Key ID:" +#~ msgstr "কি'ৰ ID:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "নাম:" + +#~ msgid "Comment:" +#~ msgstr "মন্তব্য:" + +#~ msgid "Use:" +#~ msgstr "ব্যবহাৰ:" + +# +#~ msgid "Type:" +#~ msgstr "ধৰণ:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "কি'ৰ নাম আৰু স্বাক্ষৰ" + +#~ msgid "Dates" +#~ msgstr "তাৰিখ" + +# +#~ msgid "Actions" +#~ msgstr "কৰ্ম" + +#~ msgid "Dates:" +#~ msgstr "তাৰিখ:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "নাম:" + +#~ msgid "Trust" +#~ msgstr "ভৰষা" + +#~ msgid "Strength:" +#~ msgstr "ক্ষমতা:" + +#~ msgid "Login keyring" +#~ msgstr "লগিন কি'ৰিং" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "কি'ৰিংৰ অভিগম কৰিবলে দিয়া নহয়" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "gnome-keyring ডিমন স্বক্ৰিয় নহয়" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "কি'ৰিং ইতিমধ্যে আনলক" + +#~ msgid "No such key ring exists" +#~ msgstr "সেই নামৰ কি'ৰিং অনুপস্থিত" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "কি'ৰিং ডিমনৰ সৈতে সংযোগস্থাপন কৰা সম্ভব নহয়" + +#~ msgid "The item already exists" +#~ msgstr "এই বস্তুটি বৰ্তমান উপস্থিত" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "gnome-keyring ব্যবহাৰ কৰিবলৈ অভ্যন্তৰীণ সমস্যা" + +#~ msgid "Algorithms here" +#~ msgstr "এলগোৰিথমসমূহ ইয়াত" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "seahorse-daemon ডিমন ৰূপে সঞ্চালন কৰা নহব" + +#~ msgid "couldn't fork process" +#~ msgstr "প্ৰসেস fork (ফৰ্ক) কৰা সম্ভব নহয়" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "এনক্ৰিপশন ডিমন (Seahorse)" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "অবৈধ অথবা অজানা কি'ৰ ধৰণ: %s" + +#~| msgid "This key expired on: %s" +#~ msgid "This keytype is not supported: %s" +#~ msgstr "এই keytype সমৰ্থিত নহয়: %s" + +#~ msgid "Support for this feature was not enabled at build time" +#~ msgstr "বনোৱাৰ সময়ত এই বৈশিষ্টৰ বাবে সমৰ্থন সামৰ্থবান কৰা হোৱা নাছিল" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "অবৈধ অথবা অজানা কি: %s" + +#~ msgid "Signed by expired on %s." +#~ msgstr "" +#~ " দ্বাৰা স্বাক্ষৰিত। এইটো মেয়াদ পূৰ্ণ হৈছে %sএ।" + +# +#~ msgid "Invalid Signature" +#~ msgstr "অবৈধ স্বাক্ষৰ" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "" +#~ " দ্বাৰা স্বাক্ষৰিত। %sএ এইটোৰ মেয়াদ পূৰ্ণ হৈছে।" + +# +#~ msgid "Expired Signature" +#~ msgstr "মেয়াদ উত্তীৰ্ণ স্বাক্ষৰ" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "" +#~ "যিটি দিয়ে স্বাক্ষৰ কৰা হৈছে বাতিল কৰাৰ তাৰিখ " +#~ "%s।" + +# +#~ msgid "Revoked Signature" +#~ msgstr "বাতিল কৰা স্বাক্ষৰ" + +#~ msgid "Signed by on %s." +#~ msgstr " দ্বাৰা %sএ স্বাক্ষৰ কৰা হৈছে।" + +# +#~ msgid "Good Signature" +#~ msgstr "বৈধ স্বাক্ষৰ" + +# +#~ msgid "Signing key not in keyring." +#~ msgstr "স্বাক্ষৰ ব্যবহৃত কি কি'ৰিং এ অনুপস্থিত।" + +# +#~ msgid "Unknown Signature" +#~ msgstr "অজ্ঞাত স্বাক্ষৰ" + +# +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "অবৈধ বা জাল স্বাক্ষৰ। স্বাক্ষৰ কৰা তথ্যিৰ পৰিবৰ্তন ঘটেছে।" + +# +#~ msgid "Bad Signature" +#~ msgstr "অবৈধ স্বাক্ষৰ" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "অবৈধ অথবা অজানা স্বাক্ষৰকাৰী: %s" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "স্বাক্ষৰ কৰাৰ বাবে, কি বৈধ নহয়: %s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "অবৈধ অথবা অজানা প্ৰাপক: %s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "এনক্ৰিপশনপৰ বাবে এই কিটো বৈধ প্ৰাপক নহয়: %s" + +#~ msgid "No recipients specified" +#~ msgstr "প্ৰাপক নিৰ্ধাৰণ কৰা নহয়" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "ডিক্ৰিপশনেৰ বাবে অবৈধ প্ৰকৃতিৰ কি: %s" + +#~ msgid "Please set clearuri" +#~ msgstr "অনুগ্ৰহ কৰি clearuri সংহতি কৰা" + +#~ msgid "Please set crypturi" +#~ msgstr "অনুগ্ৰহ কৰি crypturi সংহতি কৰা" + +#~ msgid "Error opening clearuri" +#~ msgstr "clearuri খোলোতে ত্ৰুটি" + +#~ msgid "No signer specified" +#~ msgstr "স্বাক্ষৰকাৰী নিৰ্ধাৰণ কৰা নহয়" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "পৰীক্ষণেৰ বাবে অবৈধ প্ৰকৃতিৰ কি: %s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "কি'ৰ id অবৈধ: %s" + +# +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "দূৰবৰ্তী কি খোঁজাৰ বাবে কি চাৰ্ভাৰৰ URIৰ তালিকা। পৰবৰ্তী সংস্কৰণে এটা নাম যোগ " +#~ "কৰা সম্ভব হ'ব পাৰে এটা ৰিক্ত স্থানেৰ পিছত নাম যোগ কৰি।" + +#~ msgid "Auto Retrieve Keys" +#~ msgstr "স্বচালিতভাবে কি পুনৰুদ্ধাৰ কৰা হ'ব" + +#~ msgid "Auto Sync Keys" +#~ msgstr "স্বচালিতভাবে কি সুংগত কৰা হ'ব" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "কি' পৰিচালন ব্যবস্থাৰ অৱসান স্তম্ভৰ প্ৰদৰ্শন নিয়ন্ত্ৰণ কৰা হয়।" + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "কি' পৰিচালন ব্যবস্থাৰ বিশ্বস্ততা স্তম্ভৰ প্ৰদৰ্শন নিয়ন্ত্ৰণ কৰা হয়।" + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "কি' পৰিচালন ব্যবস্থাৰ প্ৰকৃতি স্তম্ভৰ প্ৰদৰ্শন নিয়ন্ত্ৰণ কৰা হয়।" + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "কি' পৰিচালন ব্যবস্থাৰ বৈধতা স্তম্ভৰ প্ৰদৰ্শন নিয়ন্ত্ৰণ কৰা হয়।" + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "DNS-SD অংশীদাৰী সক্ৰিয় কৰা হ'ব" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "DNS-SD (Apple Bonjour) অংশীদাৰী সক্ৰিয় কৰা হ'ব। seahorse-daemon সক্ৰিয় থকা " +#~ "প্ৰয়োজনীয় আৰু HKP আৰু DNS-SD সৈতে প্ৰস্তুত কৰা দৰকাৰ।" + +#~ msgid "ID of the default key" +#~ msgstr "অবিকল্পিত কি'ৰ ID" + +# +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "" +#~ "মান সত্য হ'লে, seahorse দ্বাৰা এনক্ৰিপ্ট কৰা ফাইল ASCII আৰ্মাৰ এনকোডেড হ'ব।" + +# +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "মান সত্য হ'লে অবিকল্পিত কি সবসময় এনক্ৰিপশন প্ৰাপকৰ তালিকায় যুক্ত হ'ব।" + +#~ msgid "Last key server search pattern" +#~ msgstr "সৰ্বশেষ কি চাৰ্ভাৰ খোঁজেৰ বিন্যাস" + +#~ msgid "Last key servers used" +#~ msgstr "সৰ্বশেষ ব্যবহৃত কি চাৰ্ভাৰ" + +# +#~ msgid "Last key used to sign a message." +#~ msgstr "বাৰ্তা স্বাক্ষৰ কৰাৰ উদ্দেশ্যি সৰ্বশেষ ব্যবহৃত কি।" + +# +#~ msgid "PGP Key servers" +#~ msgstr "PGP-কি চাৰ্ভাৰ" + +#~ msgid "Publish keys to this key server." +#~ msgstr "চিহ্নিত কি চাৰ্ভাৰ উপস্থিত কি প্ৰকাশিত কৰা হ'ব।" + +#~ msgid "Show expires column in key manager" +#~ msgstr "কি' পৰিচালনব্যবস্থাৰ অধীন অৱসানৰ কলাম প্ৰদৰ্শন কৰা হ'ব" + +#~ msgid "Show trust column in key manager" +#~ msgstr "কি' পৰিচালনব্যবস্থাৰ অধীন বিশ্বস্ততাৰ কলাম প্ৰদৰ্শন কৰা হ'ব" + +#~ msgid "Show type column in key manager" +#~ msgstr "কি' পৰিচালনব্যবস্থাৰ অধীন প্ৰকৃতি কলাম প্ৰদৰ্শন কৰা হ'ব" + +#~ msgid "Show validity column in key manager" +#~ msgstr "কি' পৰিচালনব্যবস্থাৰ অধীন বৈধতা কলাম প্ৰদৰ্শন কৰা হ'ব" + +# +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "প্ৰাপক তালিকাৰ উইন্ডোৰ ক্ৰমবিন্যাস কৰিবলৈ ব্যবহাৰযোগ্য কলাম নিৰ্ধাৰণ কৰক। স্তম্ভৰ " +#~ "নাম হল: 'name' আৰু 'id'। ডাঙৰৰ পৰা ছোট অনুক্ৰমে সুবিন্যাস্ত কৰাৰ বাবে স্তম্ভৰ " +#~ "নামৰ পূৰ্বে '-' লিখক।" + +#~ msgid "" +#~ "Specify the column to sort the seahorse key manager main window by. " +#~ "Columns are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. " +#~ "Put a '-' in front of the column name to sort in descending order." +#~ msgstr "" +#~ "Specify the column to sort the seahorse key manager main window by. " +#~ "Columns are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. " +#~ "Put a '-' in front of the column name to sort in descending order." + +# +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "শেষবাৰ যি গোপন কি দিয়ে এই বাৰ্তা স্বাক্ষৰ কৰা হৈছে তাৰ ID।" + +# +#~ msgid "The column to sort the recipients by" +#~ msgstr "প্ৰাপক তালিকাৰ ক্ৰমবিন্যাস নিৰ্ধাৰণেৰ বাবে ব্যবহৃত কলাম" + +#~ msgid "The column to sort the seahorse keys by" +#~ msgstr "seahorse-কি তালিকাৰ ক্ৰমবিন্যাস নিৰ্ধাৰণেৰ বাবে ব্যবহৃত কলাম" + +#~ msgid "" +#~ "The key server to publish PGP keys to. Or empty to suppress publishing of " +#~ "PGP keys." +#~ msgstr "" +#~ "যে কি চাৰ্ভাৰএ PGP কি প্ৰকাশ কৰা হ'ব। অথবা PGP কি'ৰ প্ৰকাশ বন্ধ কৰাৰ বাবে " +#~ "মচি পেলাওক।" + +#~ msgid "" +#~ "The last key server a search was performed against or empty for all key " +#~ "servers." +#~ msgstr "" +#~ "সন্ধানৰ বাবে ব্যবহৃত সৰ্বশেষ কি চাৰ্ভাৰ অথবা সকল কি চাৰ্ভাৰ সন্ধানৰ বাবে ৰিক্ত " +#~ "ৰাখুন।" + +#~ msgid "The last search pattern searched for against a key server." +#~ msgstr "কি' চাৰ্ভাৰ সন্ধানৰ বাবে সৰ্বশেষ ব্যবহৃত বিন্যাস।" + +# +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "" +#~ "সুনিৰ্দিষ্ট কৰ্ম, মূলত স্বাক্ষৰ কৰাৰ বাবে ব্যবহাৰযোগ্য অবিকল্পিত-কি ইয়াৰ দ্বাৰা " +#~ "নিৰ্ধাৰিত হ'ব।" + +#~ msgid "" +#~ "Whether or not keys should be automatically retrieved from key servers." +#~ msgstr "কি' চাৰ্ভাৰ পৰা স্বচালিতৰূপে কি প্ৰাপ্ত কৰা হ'ব কি না।" + +#~ msgid "" +#~ "Whether or not modified keys should be automatically synced with the " +#~ "default key server." +#~ msgstr "পৰিবৰ্তিত কি'সমূহ অবিকল্পিত কি চাৰ্ভাৰৰ সৈতে সংমিহলি কৰা হ'ব কি না।" + +# +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "অবিকল্পিত-কি দ্বাৰা সৰ্বদা এনক্ৰিপ্ট কৰা হ'ব কি না" + +# +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "ASCII Armor ব্যবহাৰ কৰা হ'ব কি না" + +#~ msgid "Web Password" +#~ msgstr "ৱেব পাছৱৰ্ড" + +#~ msgid "Couldn't set application access." +#~ msgstr "এপ্লিকেচনৰ সংযোগ স্থাপন সম্ভব নহয়।" + +#~ msgid "Path:" +#~ msgstr "পথ: " + +#~ msgid "Permissions:" +#~ msgstr "অনুমতি: " + +# +#~ msgid "_Read" +#~ msgstr "পড়া (_R)" + +# +#~ msgid "_Write" +#~ msgstr "লিখা (_W)" + +#~ msgid "Passwords: %s" +#~ msgstr "পাছৱৰ্ড: %s" + +#~ msgid "Passwords: %s" +#~ msgstr "পাছৱৰ্ড:: %s" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." + +#~ msgid "Saving item..." +#~ msgstr "সংৰক্ষণ কৰা হৈছে..." + +#~ msgid "Deleting item..." +#~ msgstr "বস্তু মচি ফেলা হৈছে..." + +#~ msgid "Listing password keyrings" +#~ msgstr "পাছৱৰ্ড কি'ৰিংৰ তালিকা প্ৰস্তুতি" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "।" + +#~ msgid "All Keys" +#~ msgstr "সকলো কি" + +#~ msgid "Selected Recipients" +#~ msgstr "নিৰ্বাচিত প্ৰাপক" + +# +#~ msgid "Search Results" +#~ msgstr "বিচাৰক ফলাফল" + +#~ msgid "Search _for:" +#~ msgstr "সন্ধান কৰা হ'ব: (_f)" + +#~ msgid "None (Don't Sign)" +#~ msgstr "শূণ্য (স্বাক্ষৰ কৰা নহব)" + +#~ msgid "Sign this message as %s" +#~ msgstr "%s ৰূপে বাৰ্তা স্বাক্ষৰ কৰা হ'ব" + +#~ msgid "_Sign message as:" +#~ msgstr "বাৰ্তা স্বাক্ষৰৰ বাবে ব্যবহৃত হ'ব: (_S)" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "বৈধ .desktop ফাইল নহয় " + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "ডেস্কটপ ফাইলৰ অজ্ঞাত সংস্কৰণ '%s'" + +#~ msgid "Starting %s" +#~ msgstr "%s আৰম্ভ কৰা হৈছে" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "এই এপ্লিকেচন দ্বাৰা পাছৱৰ্ড-শাৰীেৰ মাধ্যমে ফাইল গ্ৰহণ কৰা নহয়" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "প্ৰাৰম্ভকালীন বিকল্প পৰিচিত নহয় : %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "'Type=Link' ডেস্কটপ এনট্ৰিৰ ক্ষেত্ৰত ডকুমেন্টেৰ URI উল্লেখ কৰা যাব না" + +#~ msgid "Not a launchable item" +#~ msgstr "প্ৰাৰম্ভ কৰাৰ যোগ্য বস্তু নহয় " + +# +#~ msgid "Disable connection to session manager" +#~ msgstr "অধিবেশন পৰিচালন ব্যৱস্থাৰ সৈতে সংযোগ বিচ্ছিন্ন কৰা হ'ব" + +# +#~ msgid "Specify file containing saved configuration" +#~ msgstr "সংৰক্ষিত বিন্যাস সহ ফাইল চিহ্নিত কৰক" + +# +#~ msgid "FILE" +#~ msgstr "ফাইল: [1]" + +# +#~ msgid "Specify session management ID" +#~ msgstr "অধিবেশন ব্যৱস্থাপনাৰ ID উল্লেখ কৰক" + +# +#~ msgid "Session management options:" +#~ msgstr "অধিবেশন ব্যৱস্থাপনা সংক্ৰান্ত বিকল্প:" + +# +#~ msgid "Show session management options" +#~ msgstr "অধিবেশন ব্যৱস্থাপনা সংক্ৰান্ত বিকল্প প্ৰদৰ্শন কৰা হ'ব" + +# +#~ msgid "Key Imported" +#~ msgid_plural "Keys Imported" +#~ msgstr[0] "কি' ইমপোৰ্ট কৰা হৈছে" +#~ msgstr[1] "কি' ইমপোৰ্ট কৰা হৈছে" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "%i কি ইমপোৰ্ট কৰা হৈছে" +#~ msgstr[1] "%i কি ইমপোৰ্ট কৰা হৈছে" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "চিহ্নিত বস্তুৰ বাবে কি ইমপোৰ্ট কৰা হৈছে" +#~ msgstr[1] "চিহ্নিত বস্তুৰ বাবে কি ইমপোৰ্ট কৰা হৈছে" + +# +#~ msgid "Notification Messages" +#~ msgstr "সূচনামূলক বাৰ্তা" + +#~ msgid "Symmetric Key" +#~ msgstr "Symmetric Key" + +#~ msgid "Credentials" +#~ msgstr "Credentials" + +# +#~ msgid "Identity" +#~ msgstr "পৰিচয়" + +# +#~ msgid "Progress Title" +#~ msgstr "প্ৰগতিসূচক শিৰোনাম" + +# +#~ msgid "Couldn't run file-roller" +#~ msgstr "file-roller সঞ্চালন কৰিবলৈ ব্যৰ্থ" + +# +#~ msgid "Couldn't package files" +#~ msgstr "ফাইল প্যাকেজ কৰিবলৈ ব্যৰ্থ" + +# +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "file-rollerৰ কৰ্ম সাফল্যিৰ সৈতে সমাপ্ত নহয়" + +# +#~ msgid "Archive files" +#~ msgstr "আৰ্কাইভ ফাইল" + +# +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "এই নামৰ এটা ফাইল বৰ্তমান উপস্থিত আছে।\n" +#~ "\n" +#~ "এই ফাইলটিৰ পৰিবৰ্তে নতুন ফাইলটি স্থাপন কৰা হ'ব কি?" + +# +#~ msgid "_Replace" +#~ msgstr "প্ৰতিস্থাপন (_R)" + +#~ msgid "Loading Keys..." +#~ msgstr "কি' ল'ড কৰা হৈছে..." + +#~ msgid "Uploading keys..." +#~ msgstr "কি' আপল'ড কৰা হৈছে..." + +#~ msgid "Retrieving keys..." +#~ msgstr "কি' পুনৰুদ্ধাৰ কৰা হৈছে..." + +#~ msgid "Searching for keys on: %s" +#~ msgstr "চিহ্নিত স্থানে কি সন্ধান কৰা হৈছে: %s" + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "'%s' সহ কি সন্ধান কৰা হ'ব..." + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "কিid '%s' সন্ধান কৰক..." + +#~ msgid "Retrieving remote keys..." +#~ msgstr "দূৰবৰ্তী-কি উদ্ধাৰ কৰা হৈছে..." + +#~ msgid "Sending keys to key server..." +#~ msgstr "কি' চাৰ্ভাৰ কি পাঠানো হৈছে..." + +#~ msgid "_Sign Key..." +#~ msgstr "কি' স্বাক্ষৰ কৰক...(_S)" + +#~ msgid "Sign public key" +#~ msgstr "সাৰ্বজনীন-কি স্বাক্ষৰ কৰক" + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "আপুনি কি নিশ্চিতৰূপে %d কি আৰু পৰিচয় স্থায়ীভাবে আঁতৰাবলৈ ইচ্ছুক?" + +#~ msgid "New PGP Key" +#~ msgstr "নতুন PGP-কি" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "\"%s\"এ কি এক্সপোৰ্ট কৰিবলৈ ব্যৰ্থ" + +#~ msgid "Export Complete Key" +#~ msgstr "সম্পূৰ্ণ কি এক্সপোৰ্ট কৰক" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "আপুনি কি নিশ্চিতৰূপে '%s' প্ৰমাণপত্ৰ আঁতৰাবলৈ ইচ্ছুক?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "আপুনি কি নিশ্চিতৰূপে '%d' প্ৰমাণপত্ৰ আঁতৰাবলৈ ইচ্ছুক?" +#~ msgstr[1] "আপুনি কি নিশ্চিতৰূপে %d প্ৰমাণপত্ৰ আঁতৰাবলৈ ইচ্ছুক?" + +#~ msgid "Create New ..." +#~ msgstr "নতুন সৃষ্টি কৰক..." + +#~ msgid "Selected %d key" +#~ msgid_plural "Selected %d keys" +#~ msgstr[0] "নিৰ্বাচিত %d কি" +#~ msgstr[1] "নিৰ্বাচিত %d কি" + +#~ msgid "Importing keys" +#~ msgstr "কি' ইমপোৰ্ট কৰা হৈছে" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "অপৰিচিত ধৰণৰ কি অথবা তাৰিখৰ বিন্যাস বৈধ নহয়" + +#~ msgid "T_ypes" +#~ msgstr "ধৰণ (_y)" + +#~ msgid "Show type column" +#~ msgstr "ধৰণৰ কলাম প্ৰদৰ্শন কৰা হ'ব" + +#~ msgid "_Expiry" +#~ msgstr "মেয়াদ পূৰ্তী (_E)" + +#~ msgid "Show expiry column" +#~ msgstr "অৱসানৰ কলাম প্ৰদৰ্শন কৰা হ'ব" + +#~ msgid "_Trust" +#~ msgstr "ভৰষাৰ মাত্ৰা (_T)" + +#~ msgid "Show owner trust column" +#~ msgstr "ব্যবহাৰকাৰীৰ ভৰষাৰ মাত্ৰা চিহ্নকাৰী কলাম প্ৰদৰ্শন কৰা হ'ব" + +#~ msgid "_Validity" +#~ msgstr "বৈধতা (_V)" + +#~ msgid "Show validity column" +#~ msgstr "বৈধতাৰ কলাম প্ৰদৰ্শন কৰা হ'ব" + +#~ msgid "Other _Keys" +#~ msgstr "অন্য কি (_K)" + +#~ msgid "Validity" +#~ msgstr "বৈধতা" + +#~ msgid "Expiration Date" +#~ msgstr "অৱসানৰ তাৰিখ" + +# +#~ msgid "_Expand All" +#~ msgstr "সমস্ত প্ৰসাৰণ কৰা হ'ব (_E)" + +#~ msgid "Expand all listings" +#~ msgstr "সকল তালিকা প্ৰসাৰিত কৰক" + +# +#~ msgid "_Collapse All" +#~ msgstr "সমস্ত গুটিয়ে ফেলা হ'ব (_C)" + +#~ msgid "Collapse all listings" +#~ msgstr "সকল তালিকা সংকুচিত কৰক" + +#~ msgid "Synchronizing keys" +#~ msgstr "কি' সুসংগতি" + +#~ msgid "Export public key" +#~ msgstr "সাৰ্বজনীন-কি এক্সপোৰ্ট কৰক" + +#~ msgid "Exporting keys" +#~ msgstr "কি' এক্সপোৰ্ট কৰা হৈছে" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "কি' চাৰ্ভাৰ পৰা তথ্য উদ্ধাৰ কৰিবলৈ ব্যৰ্থ" + +#~ msgid "Deleting..." +#~ msgstr "মচি ফেলা হৈছে..." + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s is a private key. Are you sure you want to proceed?" + +# +#~ msgctxt "" +#~ "This text refers to deleting an item from its type's backing store." +#~ msgid "_Delete" +#~ msgstr "মচি পেলাওক (_D)" + +#~ msgid "_Key Description:" +#~ msgstr "কি'ৰ বিবৰণ: (_K)" + +# +#~ msgid "Invalid" +#~ msgstr "অবৈধ" + +#~ msgid "Private Secure Shell Key" +#~ msgstr "গোপনীয় সুৰক্ষিত শ্বেল কি" + +#~ msgid "Public Secure Shell Key" +#~ msgstr "সাৰ্বজনীন সুৰক্ষিত শ্বেল কি" + +# +#~ msgid "Passphrase:" +#~ msgstr "পাচফ্ৰেইছ:" + +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "নতুন সুৰক্ষিত শ্বেল কি'ৰ পাচফ্ৰেইছ লিখক।" + +#~ msgid "Seahorse Daemon" +#~ msgstr "Seahorse ডিমন" + +#~ msgid "Couldn't share keys" +#~ msgstr "কি' অংশীদাৰী কৰিবলৈ ব্যৰ্থ" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "নেটৱৰ্ক আবিষ্কাৰ তথ্য প্ৰদান কৰা সম্ভব নহয়।" + +#~ msgid "%s's encryption keys" +#~ msgstr "%sৰ এনক্ৰিপশন-কি" + +#~ msgid "Key Sharing" +#~ msgstr "কি'ৰ যৌথ ব্যবহাৰ" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "নেটৱৰ্কৰ অন্য ব্যবহাৰকাৰীৰ সৈতে আমাৰ কি'সমূহ বিনিময় কৰা হ'ব (_S)" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "সুসংগতিৰ বাবে X কি নিৰ্বাচন কৰা হৈছে" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/nate/.ssh/blah_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" + +#~ msgid "Create a PGP Key" +#~ msgstr "এটা PGP-কি সৃষ্টি কৰক" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginal\n" +#~ "Full\n" +#~ "Ultimate" +#~ msgstr "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginal\n" +#~ "Full\n" +#~ "Ultimate" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginally\n" +#~ "Fully\n" +#~ "Ultimately" +#~ msgstr "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginally\n" +#~ "Fully\n" +#~ "Ultimately" + +#~ msgid "_Trusted Keys" +#~ msgstr "কি' ল'ড কৰিবলৈ বিফল" + +#~ msgid "" +#~ "One or more of the deleted keys are private keys. Are you sure you want " +#~ "to proceed?" +#~ msgstr "" +#~ "One or more of the deleted keys are private keys. Are you sure you want " +#~ "to proceed?" diff --git a/po/ast.po b/po/ast.po new file mode 100644 index 00000000..6c20736d --- /dev/null +++ b/po/ast.po @@ -0,0 +1,2931 @@ +# Asturian translation for seahorse. +# Copyright (C) 2010 seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=seahorse&component=general\n" +"POT-Creation-Date: 2010-01-02 23:18+0000\n" +"PO-Revision-Date: 2010-01-04 18:10+0100\n" +"Last-Translator: astur \n" +"Language-Team: Asturian \n" +"Language: ast\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Poedit-Language: asturian\n" + +#: ../daemon/seahorse-daemon.c:69 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "Nun executar seahorse-daemon como degorriu" + +#: ../daemon/seahorse-daemon.c:99 +msgid "couldn't fork process" +msgstr "Nun pudo bifurcase'l procesu" + +#: ../daemon/seahorse-daemon.c:105 +msgid "couldn't create new process group" +msgstr "Nun pudo crease nuevu procesu de grupu" + +#: ../daemon/seahorse-daemon.c:255 +msgid "Encryption Daemon (Seahorse)" +msgstr "Degorriu Encriptación (Seahorse)" + +#: ../daemon/seahorse-daemon.desktop.in.in.h:1 +msgid "Seahorse Daemon" +msgstr "Degorriu de Seahorse" + +#: ../daemon/seahorse-service.c:157 +#: ../daemon/seahorse-service.c:195 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "Tipu de clave inválida o non reconocía: %s" + +#: ../daemon/seahorse-service.c:259 +#: ../daemon/seahorse-service-keyset.c:180 +#: ../daemon/seahorse-service-keyset.c:223 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "Clave inválida o non reconocida: %s" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:202 +#, c-format +msgid "Signed by expired on %s." +msgstr "Robláu por fina en %s." + +#: ../daemon/seahorse-service-crypto.c:203 +msgid "Invalid Signature" +msgstr "Robla non válida" + +#: ../daemon/seahorse-service-crypto.c:209 +#, c-format +msgid "Signed by on %s Expired." +msgstr "Roblao por en %s Finao." + +#: ../daemon/seahorse-service-crypto.c:210 +msgid "Expired Signature" +msgstr "Robla finada" + +#: ../daemon/seahorse-service-crypto.c:216 +#, c-format +msgid "Signed by Revoked on %s." +msgstr "Roblao por Tornao en %s." + +#: ../daemon/seahorse-service-crypto.c:217 +msgid "Revoked Signature" +msgstr "Robla Torgada" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:223 +#, c-format +msgid "Signed by on %s." +msgstr "Roblao por en %s." + +#: ../daemon/seahorse-service-crypto.c:224 +msgid "Good Signature" +msgstr "Robla bona" + +#: ../daemon/seahorse-service-crypto.c:229 +msgid "Signing key not in keyring." +msgstr "La clave de la robla nun ta nel depósitu de llaves." + +#: ../daemon/seahorse-service-crypto.c:230 +msgid "Unknown Signature" +msgstr "Robla Desconocía" + +#: ../daemon/seahorse-service-crypto.c:234 +msgid "Bad or forged signature. The signed data was modified." +msgstr "Robla mala o falsificada. Los datos de la robla modificáronse." + +#: ../daemon/seahorse-service-crypto.c:235 +msgid "Bad Signature" +msgstr "Robla Mala" + +#: ../daemon/seahorse-service-crypto.c:243 +msgid "Couldn't verify signature." +msgstr "Nun pudo verificase la robla." + +#: ../daemon/seahorse-service-crypto.c:314 +#: ../daemon/seahorse-service-crypto.c:436 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "Roblante inválidu o non reconocíu: %s" + +#: ../daemon/seahorse-service-crypto.c:321 +#: ../daemon/seahorse-service-crypto.c:443 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "Llave non válida pa roblar: %s" + +#: ../daemon/seahorse-service-crypto.c:333 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "Destinatariu non válidu o non reconocíu: %s" + +#: ../daemon/seahorse-service-crypto.c:341 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "Llave nun ye un destinatariu pa encriptación: %s" + +#: ../daemon/seahorse-service-crypto.c:350 +#, c-format +msgid "No recipients specified" +msgstr "Nun hai destinatarios especificaos" + +#: ../daemon/seahorse-service-crypto.c:431 +#, c-format +msgid "No signer specified" +msgstr "Nun s'especificó firmante" + +#: ../daemon/seahorse-service-crypto.c:503 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "Llave non válida pa desencriptar: %s" + +#: ../daemon/seahorse-service-crypto.c:583 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "Llave non válida pa verificar: %s" + +#: ../daemon/seahorse-service-keyset.c:273 +#, c-format +msgid "Invalid key id: %s" +msgstr "Identificador de llave non válidu: %s" + +#: ../daemon/seahorse-sharing.c:84 +#: ../daemon/seahorse-sharing.c:269 +msgid "Couldn't share keys" +msgstr "Nun pueden compartise les llaves" + +#: ../daemon/seahorse-sharing.c:85 +msgid "Can't publish discovery information on the network." +msgstr "Nun puede espublizase información sobre'l descubrimientu na rede." + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s". +#: ../daemon/seahorse-sharing.c:112 +#, c-format +msgid "%s's encryption keys" +msgstr "Llaves encriptaes %s" + +#: ../data/seahorse.schemas.in.h:1 +msgid "A list of key server URIs to search for remote PGP keys. In later versions a display name can be included, by appending a space and then the name." +msgstr "Una llista d'URIs de sirvidores de claves pa guetar claves PGP remotes. Nes caberes versiones puede incluyise un nome de pantalla, amestando un espaciu y darréu el nome." + +#: ../data/seahorse.schemas.in.h:2 +msgid "Auto Retrieve Keys" +msgstr "Llaves d'autorecuperacion" + +#: ../data/seahorse.schemas.in.h:3 +msgid "Auto Sync Keys" +msgstr "Llaves d'autosincronización" + +#: ../data/seahorse.schemas.in.h:4 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "Controlar la visibilidá de la columna d'espiración pal alministrador de llaves." + +#: ../data/seahorse.schemas.in.h:5 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "Controlar la visibilidá de la columna real pal alministrador de llaves." + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the type column for the key manager." +msgstr "Controlar la visibilidá del columna de tipu pal xestor de llaves." + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "Controlar la visibilidá de la columna de validación pal xestor de llaves." + +#: ../data/seahorse.schemas.in.h:8 +msgid "Enable DNS-SD sharing" +msgstr "Habilitar compartición DNS-SD" + +#: ../data/seahorse.schemas.in.h:9 +msgid "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be running and must be built with HKP and DNS-SD support." +msgstr "Habilitar DNS-SD (Apple Bonjour) compartiendo llaves. Degorriu seahorse debe executase y facese con soporte HKP y DNS-SD." + +#: ../data/seahorse.schemas.in.h:10 +msgid "ID of the default key" +msgstr "Identificador de llave por defeutu" + +#: ../data/seahorse.schemas.in.h:11 +msgid "If set to true, then files encrypted with seahorse will be ASCII armor encoded." +msgstr "Si ta activao, entós los ficheros encriptaos con seahorse tarán codificaos n'ASCII." + +#: ../data/seahorse.schemas.in.h:12 +msgid "If set to true, then the default key will always be added to an encryption recipients list." +msgstr "Si ta activo, entós la llave por defeutu siempre s'amestará a la llista de conteníos encriptaos." + +#: ../data/seahorse.schemas.in.h:13 +msgid "Last key server search pattern" +msgstr "Caberu patrón de gueta pal sirvidor de claves" + +#: ../data/seahorse.schemas.in.h:14 +msgid "Last key servers used" +msgstr "Caberu sirvidor de claves usáu" + +#: ../data/seahorse.schemas.in.h:15 +msgid "Last key used to sign a message." +msgstr "Cabera llave usada pa roblar un mensaxe." + +#: ../data/seahorse.schemas.in.h:16 +msgid "PGP Key servers" +msgstr "Sirvidores de claves PGP" + +#: ../data/seahorse.schemas.in.h:17 +msgid "Publish keys to this key server." +msgstr "Espublizar claves a esti sirvidor de claves." + +#: ../data/seahorse.schemas.in.h:18 +msgid "Show expires column in key manager" +msgstr "Amosar columna d'espiración nel xestor de llaves" + +#: ../data/seahorse.schemas.in.h:19 +msgid "Show trust column in key manager" +msgstr "Amosar columna confianza nel xestor de llaves" + +#: ../data/seahorse.schemas.in.h:20 +msgid "Show type column in key manager" +msgstr "Amosar columna tipu nel xestor de llaves" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Show validity column in key manager" +msgstr "Amosar columna validación nel xestor de llaves" + +#: ../data/seahorse.schemas.in.h:22 +msgid "Specify the column to sort the recipients window by. Columns are: 'name' and 'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "Especifica la columna pa ordenar el conteníu de la ventana. Columnes son: 'nome' y 'identificador'. Pon un '-' delantre'l nome la columna pa ordenala descendentemente." + +#: ../data/seahorse.schemas.in.h:23 +msgid "Specify the column to sort the seahorse key manager main window by. Columns are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in front of the column name to sort in descending order." +msgstr "Especifica la columna pa ordenar la ventana principal del xestor de llaves seahorse. Columnes son: 'nome', 'identificador', 'validación', 'expira', 'confianza', y 'tipu'. Pon un '-' delantre'l nome la columna pa ordenala descendentemente." + +#: ../data/seahorse.schemas.in.h:24 +msgid "The ID of the last secret key used to sign a message." +msgstr "L'Identificador de la cabera llave secreta usáu pa roblar un mensaxe." + +#: ../data/seahorse.schemas.in.h:25 +msgid "The column to sort the recipients by" +msgstr "La columna pa ordenar el conteníu por" + +#: ../data/seahorse.schemas.in.h:26 +msgid "The column to sort the seahorse keys by" +msgstr "La columna pa ordenar les llaves seahorse por" + +#: ../data/seahorse.schemas.in.h:27 +msgid "The key server to publish PGP keys to. Or empty to suppress publishing of PGP keys." +msgstr "El sirvidor de claves au espublizar les claves PGP. O vacío pa torgar l'espublizamientu de claves PGP." + +#: ../data/seahorse.schemas.in.h:28 +msgid "The last key server a search was performed against or empty for all key servers." +msgstr "El caberu sirvidor de claves escontra'l que se fizo una gueta, o vacío pa tolos sirvidores de claves." + +#: ../data/seahorse.schemas.in.h:29 +msgid "The last search pattern searched for against a key server." +msgstr "El caberu patrón de gueta restoláu escontra un sirvidor de claves." + +#: ../data/seahorse.schemas.in.h:30 +msgid "This specifies the default key to use for certain operations, mainly signing." +msgstr "Esto especifica la llave por defectu a usar pa ciertes operaciones, principalmente robles." + +#: ../data/seahorse.schemas.in.h:31 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Si les claves tienen de recuperase automáticamente dende sirvidores de claves." + +#: ../data/seahorse.schemas.in.h:32 +msgid "Whether or not modified keys should be automatically synced with the default key server." +msgstr "Si les claves modificaes tienen de sincronizase automaticamente col sirvidor de claves predetermináu." + +#: ../data/seahorse.schemas.in.h:33 +msgid "Whether to always encrypt to default key" +msgstr "Si siempre encriptar la llave por defectu" + +#: ../data/seahorse.schemas.in.h:34 +msgid "Whether to use ASCII Armor" +msgstr "Si usar proteción ASCII" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "Amestar aniellu de claves" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "Nome del nuevu aniellu de claves" + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "Please choose a name for the new keyring. You will be prompted for an unlock password." +msgstr "Por favor, escueyi un nome pal nuevu aniellu de claves. Va entrugásete por una contraseña de desbloquéu." + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "El nome del host o direción del sirvidor." + +#: ../gkr/seahorse-gkr-add-item.c:60 +#: ../gkr/seahorse-gkr-add-keyring.c:73 +msgid "Couldn't add keyring" +msgstr "Nun puede amestase aniellu de claves" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +msgid "Add Password" +msgstr "Amestar contraseña" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:17 +#: ../pgp/seahorse-revoke.xml.h:5 +msgid "_Description:" +msgstr "_Descripción:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Keyring:" +msgstr "_Depósitu de claves:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Password:" +msgstr "_Contraseña:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +msgid "_Show Password" +msgstr "_Amosar contraseña" + +#: ../gkr/seahorse-gkr-item.c:470 +msgid "Web Password" +msgstr "Contraseña Web" + +#: ../gkr/seahorse-gkr-item.c:472 +msgid "Network Password" +msgstr "Contraseña de rede" + +#: ../gkr/seahorse-gkr-item.c:474 +#: ../gkr/seahorse-gkr-item-properties.c:107 +msgid "Password" +msgstr "Contraseña" + +#: ../gkr/seahorse-gkr-item-commands.c:78 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "¿De xuru que quies desaniciar la contraseña '%s'?" + +#: ../gkr/seahorse-gkr-item-commands.c:81 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "¿Tas seguru de que quies desaniciar %d contraseña?" +msgstr[1] "¿Tas seguru de que quies desaniciar %d contraseñes?" + +#: ../gkr/seahorse-gkr-item-properties.c:66 +msgid "Access a network share or resource" +msgstr "Acceder a rede compartida o recursu" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a website" +msgstr "Acceder a sitiu web" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Unlocks a PGP key" +msgstr "Quitar pesllera a llave PGP" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a Secure Shell key" +msgstr "Quitar pesllera a llave Secure Shell" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Saved password or login" +msgstr "Contraseña o usuariu guardaos" + +#: ../gkr/seahorse-gkr-item-properties.c:102 +msgid "Network Credentials" +msgstr "Credenciales de rede" + +#: ../gkr/seahorse-gkr-item-properties.c:245 +msgid "Couldn't change password." +msgstr "Nun pudo camudase contraseña." + +#: ../gkr/seahorse-gkr-item-properties.c:347 +msgid "Couldn't set description." +msgstr "Nun pudo afitase descripción." + +#: ../gkr/seahorse-gkr-item-properties.c:641 +msgid "Couldn't set application access." +msgstr "Nun pudo afitase accesu d'aplicación" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +msgid "Password:" +msgstr "Contraseña:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 +msgid "Path:" +msgstr "Ruta:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +msgid "Permissions:" +msgstr "Permisos:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Technical Details:" +msgstr "Detalles Teunicos:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Applications" +msgstr "Aplicaciones" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:72 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Details" +msgstr "Detalles" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Key" +msgstr "Llave" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Key Properties" +msgstr "Propiedaes Llave" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +msgid "Login:" +msgstr "Identificación:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +msgid "Server:" +msgstr "Sirvidor" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +msgid "Show pass_word" +msgstr "_Amosar contraseña" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +msgid "Type:" +msgstr "Tipu:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:14 +msgid "Use:" +msgstr "Usu:" + +#. To translators: This is the infinitive not the imperative. This string refers to the ability of an application to delete this secret from its key ring. +#: ../gkr/seahorse-gkr-item-properties.xml.h:16 +msgid "_Delete" +msgstr "_Desaniciar" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:19 +msgid "_Read" +msgstr "Llee_r" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:21 +msgid "_Write" +msgstr "_Escribir" + +#: ../gkr/seahorse-gkr-keyring.c:193 +msgid "Listing passwords" +msgstr "Llistando contraseñes" + +#: ../gkr/seahorse-gkr-keyring.c:354 +#, c-format +msgid "Passwords: %s" +msgstr "Contraseñes: %s" + +#: ../gkr/seahorse-gkr-keyring.c:355 +#, c-format +msgid "Passwords: %s" +msgstr "Contraseñes: %s" + +#: ../gkr/seahorse-gkr-keyring-commands.c:119 +msgid "Password Keyring" +msgstr "Aniellu de contraseñes" + +#: ../gkr/seahorse-gkr-keyring-commands.c:120 +msgid "Used to store application and network passwords" +msgstr "Allugamientu pa les contraseñes d'aplicaciones y rede:" + +#: ../gkr/seahorse-gkr-keyring-commands.c:121 +msgid "Stored Password" +msgstr "Contraseña atroxada" + +#: ../gkr/seahorse-gkr-keyring-commands.c:122 +msgid "Safely store a password or secret." +msgstr "Atroxar una contraseña o un secretu de mou seguru" + +#: ../gkr/seahorse-gkr-keyring-commands.c:136 +msgid "Couldn't unlock keyring" +msgstr "Nun pudo desbloquiase l'aniellu de claves" + +#: ../gkr/seahorse-gkr-keyring-commands.c:177 +msgid "Couldn't lock keyring" +msgstr "Nun pudo bloquiase l'aniellu de claves" + +#: ../gkr/seahorse-gkr-keyring-commands.c:218 +msgid "Couldn't set default keyring" +msgstr "Nun pudo afitase l'aniellu de claves predetermináu" + +#: ../gkr/seahorse-gkr-keyring-commands.c:257 +msgid "Couldn't change keyring password" +msgstr "Nun puede camudase la contraseña del aniellu de claves" + +#: ../gkr/seahorse-gkr-keyring-commands.c:288 +msgid "_Lock" +msgstr "_Bloquiar" + +#: ../gkr/seahorse-gkr-keyring-commands.c:289 +msgid "Lock the password storage keyring so a master password is required to unlock it." +msgstr "Bloquiar l'aniellu d'atroxamientu de contraseñes pa que faiga falta una contraseña mayestra pa desbloquialu." + +#: ../gkr/seahorse-gkr-keyring-commands.c:290 +msgid "_Unlock" +msgstr "_Desbloquiar" + +#: ../gkr/seahorse-gkr-keyring-commands.c:291 +msgid "Unlock the password storage keyring with a master password so it is available for use." +msgstr "Desbloquiar l'aniellu d'atroxamientu de contraseñes con una contraseña mayestra pa que quede tresnáu pa usase" + +#: ../gkr/seahorse-gkr-keyring-commands.c:292 +msgid "_Set as default" +msgstr "Con_señar como predetermináu" + +#: ../gkr/seahorse-gkr-keyring-commands.c:293 +msgid "Applications usually store new passwords in the default keyring." +msgstr "Les aplicaciones, atroxen davezu les contraseñes nueves nel aniellu de claves predetermináu." + +#: ../gkr/seahorse-gkr-keyring-commands.c:294 +msgid "Change _Password" +msgstr "Camudar la _contraseña" + +#: ../gkr/seahorse-gkr-keyring-commands.c:295 +msgid "Change the unlock password of the password storage keyring" +msgstr "Camudar la contraseña de desbloquéu del aniellu d'atroxamientu de contraseñes" + +#: ../gkr/seahorse-gkr-keyring-commands.c:360 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "¿Tas seguru de que quies desaniciar la contraseña «%s»?" + +#. ----------------------------------------------------------------------------- +#. * PUBLIC +#. +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Created:" +msgstr "Creáu:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +msgid "Keyring" +msgstr "Depósitu de claves" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring Properties" +msgstr "Propiedaes del depósitu de claves" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "_Name:" +msgstr "_Nome:" + +#: ../gkr/seahorse-gkr-operation.c:168 +msgid "Access to the key ring was denied" +msgstr "Acesu denegáu al aniellu de claves" + +#: ../gkr/seahorse-gkr-operation.c:171 +msgid "The gnome-keyring daemon is not running" +msgstr "El degorriu gnome-keyring nun ta executándose" + +#: ../gkr/seahorse-gkr-operation.c:174 +msgid "The key ring has already been unlocked" +msgstr "L'aniellu de claves yá ta desbloquiáu" + +#: ../gkr/seahorse-gkr-operation.c:177 +msgid "No such key ring exists" +msgstr "Nun esiste esi aniellu de claves" + +#: ../gkr/seahorse-gkr-operation.c:180 +msgid "Couldn't communicate with key ring daemon" +msgstr "Ensin comunicación col degorriu del aniellu de claves" + +#: ../gkr/seahorse-gkr-operation.c:183 +msgid "The item already exists" +msgstr "L'elementu yá esiste" + +#: ../gkr/seahorse-gkr-operation.c:189 +msgid "Internal error accessing gnome-keyring" +msgstr "Error internu acediendo al gnome-keyring" + +#: ../gkr/seahorse-gkr-operation.c:238 +#: ../gkr/seahorse-gkr-operation.c:264 +msgid "Saving item..." +msgstr "Guardando elementu..." + +#: ../gkr/seahorse-gkr-operation.c:300 +msgid "Deleting item..." +msgstr "Desaniciando elementu..." + +#: ../gkr/seahorse-gkr-operation.c:325 +msgid "Deleting keyring..." +msgstr "Desaniciando depósitu de claves..." + +#: ../gkr/seahorse-gkr-source.c:234 +msgid "Listing password keyrings" +msgstr "Llistando aniellos de contraseñes" + +#: ../libcryptui/cryptui.c:272 +msgid "No encryption keys were found with which to perform the operation you requested. The program Passwords and Encryption Keys will now be started so that you may either create a key or import one." +msgstr "Nun s'alcontraron claves de cifráu coles que facer la operación que solicitó. Agora reaniciaráse'l programa Contraseñes y claves de cifráu pa que puedas criar una clave o importala." + +#: ../libcryptui/cryptui-key-chooser.c:173 +msgid "All Keys" +msgstr "Toles claves" + +#: ../libcryptui/cryptui-key-chooser.c:174 +msgid "Selected Recipients" +msgstr "Conteníos escoyíos" + +#: ../libcryptui/cryptui-key-chooser.c:175 +msgid "Search Results" +msgstr "Resultaos de la gueta" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:185 +msgid "Search _for:" +msgstr "Guetar _por:" + +#: ../libcryptui/cryptui-key-chooser.c:243 +msgid "None (Don't Sign)" +msgstr "Dengún (Ensin Roblar)" + +#: ../libcryptui/cryptui-key-chooser.c:256 +#, c-format +msgid "Sign this message as %s" +msgstr "Roblar esti mensaxe como %s" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:278 +msgid "_Sign message as:" +msgstr "_Roblar menxase como:" + +#. TODO: Icons +#. The name column +#: ../libcryptui/cryptui-key-list.c:140 +#: ../pgp/seahorse-pgp-key-properties.c:839 +#: ../src/seahorse-key-manager-store.c:829 +msgid "Name" +msgstr "Nome" + +#. The keyid column +#: ../libcryptui/cryptui-key-list.c:145 +#: ../pgp/seahorse-pgp-key-properties.c:1743 +#: ../src/seahorse-key-manager-store.c:841 +msgid "Key ID" +msgstr "ID de la clave" + +#: ../libegg/egg-datetime.c:313 +msgid "Display flags" +msgstr "Amosar flags" + +#: ../libegg/egg-datetime.c:314 +msgid "Displayed date and/or time properties" +msgstr "Amosar propiedaes de fecha y/o hora" + +#: ../libegg/egg-datetime.c:319 +msgid "Lazy mode" +msgstr "Mou folganzán" + +#: ../libegg/egg-datetime.c:320 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "Mou folganzán nun normaliza valores de feches y hores metíos" + +#: ../libegg/egg-datetime.c:325 +msgid "Year" +msgstr "Añu" + +#: ../libegg/egg-datetime.c:326 +msgid "Displayed year" +msgstr "Amosar añu" + +#: ../libegg/egg-datetime.c:331 +msgid "Month" +msgstr "Mes" + +#: ../libegg/egg-datetime.c:332 +msgid "Displayed month" +msgstr "Amosar mes" + +#: ../libegg/egg-datetime.c:337 +msgid "Day" +msgstr "Día" + +#: ../libegg/egg-datetime.c:338 +msgid "Displayed day of month" +msgstr "Amosar día del mes" + +#: ../libegg/egg-datetime.c:343 +msgid "Hour" +msgstr "Hora" + +#: ../libegg/egg-datetime.c:344 +msgid "Displayed hour" +msgstr "Amosar hora" + +#: ../libegg/egg-datetime.c:349 +msgid "Minute" +msgstr "Minutu" + +#: ../libegg/egg-datetime.c:350 +msgid "Displayed minute" +msgstr "Amosar minutu" + +#: ../libegg/egg-datetime.c:355 +msgid "Second" +msgstr "Segundos" + +#: ../libegg/egg-datetime.c:356 +msgid "Displayed second" +msgstr "Amosar segundos" + +#: ../libegg/egg-datetime.c:361 +msgid "Lower limit year" +msgstr "Llímite del añu per debaxo" + +#: ../libegg/egg-datetime.c:362 +msgid "Year part of the lower date limit" +msgstr "Parte del añu del llímite fecha per debaxo" + +#: ../libegg/egg-datetime.c:367 +msgid "Upper limit year" +msgstr "Llímite del añu per enrriba" + +#: ../libegg/egg-datetime.c:368 +msgid "Year part of the upper date limit" +msgstr "Parte del añu pal llímite de fecha superior" + +#: ../libegg/egg-datetime.c:373 +msgid "Lower limit month" +msgstr "Llímite inferior pal mes" + +#: ../libegg/egg-datetime.c:374 +msgid "Month part of the lower date limit" +msgstr "Parte del mes pal llímite inferior de fecha" + +#: ../libegg/egg-datetime.c:379 +msgid "Upper limit month" +msgstr "Llímite superior pal mes" + +#: ../libegg/egg-datetime.c:380 +msgid "Month part of the upper date limit" +msgstr "Parte del mes pal llímite superior de fecha" + +#: ../libegg/egg-datetime.c:385 +msgid "Lower limit day" +msgstr "Llímite superior pal día" + +#: ../libegg/egg-datetime.c:386 +msgid "Day of month part of the lower date limit" +msgstr "Día del mes parte del llímite de fecha inferior" + +#: ../libegg/egg-datetime.c:391 +msgid "Upper limit day" +msgstr "Llímite superior del día" + +#: ../libegg/egg-datetime.c:392 +msgid "Day of month part of the upper date limit" +msgstr "Parte del día mensual pal llímite de fecha superior" + +#: ../libegg/egg-datetime.c:397 +msgid "Lower limit hour" +msgstr "Llímite inferior d'hora" + +#: ../libegg/egg-datetime.c:398 +msgid "Hour part of the lower time limit" +msgstr "Parte d'hora del llímite inferior d'hora" + +#: ../libegg/egg-datetime.c:403 +msgid "Upper limit hour" +msgstr "Llímite superior d'hora" + +#: ../libegg/egg-datetime.c:404 +msgid "Hour part of the upper time limit" +msgstr "Parte d'hora pal llímite superior d'hora" + +#: ../libegg/egg-datetime.c:409 +msgid "Lower limit minute" +msgstr "Llímite inferior pa minutos" + +#: ../libegg/egg-datetime.c:410 +msgid "Minute part of the lower time limit" +msgstr "Parte de minutos pal llímite inferior d'hora" + +#: ../libegg/egg-datetime.c:415 +msgid "Upper limit minute" +msgstr "Llímite superior de minutos" + +#: ../libegg/egg-datetime.c:416 +msgid "Minute part of the upper time limit" +msgstr "Parte de minutos pal llímite superior d'hora" + +#: ../libegg/egg-datetime.c:421 +msgid "Lower limit second" +msgstr "Llímite inferior pa segundos" + +#: ../libegg/egg-datetime.c:422 +msgid "Second part of the lower time limit" +msgstr "Segunda parte del llímite inferior d'hora" + +#: ../libegg/egg-datetime.c:427 +msgid "Upper limit second" +msgstr "Llímite superior de segundos" + +#: ../libegg/egg-datetime.c:428 +msgid "Second part of the upper time limit" +msgstr "Segunda parte del llímite superior d'hora" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:470 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: ../libegg/egg-datetime.c:492 +msgid "Date" +msgstr "Fecha" + +#: ../libegg/egg-datetime.c:492 +msgid "Enter the date directly" +msgstr "Introduz la fecha direutamente" + +#: ../libegg/egg-datetime.c:499 +msgid "Select Date" +msgstr "Seleiciona Fecha" + +#: ../libegg/egg-datetime.c:499 +msgid "Select the date from a calendar" +msgstr "Seleicionar fecha dende un calendariu" + +#: ../libegg/egg-datetime.c:517 +#: ../libegg/egg-datetime.c:2192 +msgid "Time" +msgstr "Hora" + +#: ../libegg/egg-datetime.c:517 +msgid "Enter the time directly" +msgstr "Introduz la hora direutamente" + +#: ../libegg/egg-datetime.c:524 +msgid "Select Time" +msgstr "Seleiciona Hora" + +#: ../libegg/egg-datetime.c:524 +msgid "Select the time from a list" +msgstr "Seleiciona la hora dende una llista" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:791 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:795 +#: ../libegg/egg-datetime.c:1253 +#: ../libegg/egg-datetime.c:1257 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:797 +#: ../libegg/egg-datetime.c:1254 +#: ../libegg/egg-datetime.c:1261 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:805 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:808 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:812 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:815 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1169 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1234 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libegg/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "El ficheru nun ye un ficheru .desktop válidu" + +#: ../libegg/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "La versión «%s» del ficheru desktop nun se reconoz" + +#: ../libegg/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "Entamando %s" + +#: ../libegg/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "L'aplicación nun aceuta documentos na llinia d'ordes" + +#: ../libegg/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "Escoyeta de llanzamientu non reconocida: %d" + +#: ../libegg/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "Nun pueden pasase URIs de documentos a una entrada d'escritoriu «Type=Link»" + +#: ../libegg/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "Nun ye un elementu llanzable" + +#: ../libegg/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "Desactivar la conexón col xestor de sesiones" + +#: ../libegg/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "Conseñar el ficheru que contién la configuración atroxada" + +#: ../libegg/eggsmclient.c:228 +msgid "FILE" +msgstr "FICHERU" + +#: ../libegg/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "Conseñar la ID de xestión de sesión" + +#: ../libegg/eggsmclient.c:231 +#: ../pgp/seahorse-pgp-key-properties.c:1312 +msgid "ID" +msgstr "ID" + +#: ../libegg/eggsmclient.c:252 +msgid "Session management options:" +msgstr "Esbilla de xestión de sesión:" + +#: ../libegg/eggsmclient.c:253 +msgid "Show session management options" +msgstr "Amosar les opciones de la xestión de sesión" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "Amestar Sirvidor de Claves" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Host:" +msgstr "Host:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Key Server Type:" +msgstr "Tipu de Sirvidor Claves" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid "The port to access the server on." +msgstr "El puertu p'acceder al sirvidor." + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "initial temporary item" +msgstr "elementu temporal anicial" + +#: ../libseahorse/seahorse-notification.c:566 +#: ../libseahorse/seahorse-notification.c:594 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "Clave importada" +msgstr[1] "Claves importaes" + +#: ../libseahorse/seahorse-notification.c:570 +#: ../libseahorse/seahorse-notification.c:593 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "Importada %i clave" +msgstr[1] "Importaes %i claves" + +#: ../libseahorse/seahorse-notification.c:572 +#, c-format +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "Importada una clave pa" +msgstr[1] "Importaes claves pa" + +#: ../libseahorse/seahorse-notify.xml.h:1 +msgid "Notification Messages" +msgstr "Avisu Mensaxes" + +#: ../libseahorse/seahorse-object.c:317 +msgid "Symmetric Key" +msgstr "Clave simétrica" + +#: ../libseahorse/seahorse-object.c:320 +msgid "Public Key" +msgstr "Clave pública" + +#: ../libseahorse/seahorse-object.c:323 +msgid "Private Key" +msgstr "Clave Privada" + +#: ../libseahorse/seahorse-object.c:326 +msgid "Credentials" +msgstr "Credenciales" + +#. +#. * Translators: "This object is a means of storing items such as +#. * name, email address, etc. that make up one's digital identity. +#. +#: ../libseahorse/seahorse-object.c:333 +msgid "Identity" +msgstr "Identidá" + +#: ../libseahorse/seahorse-passphrase.c:194 +msgid "Passphrase" +msgstr "Frase pa contraseña" + +#: ../libseahorse/seahorse-passphrase.c:197 +#: ../ssh/seahorse-ssh-operation.c:480 +msgid "Password:" +msgstr "Contraseña:" + +#: ../libseahorse/seahorse-passphrase.c:260 +msgid "Confirm:" +msgstr "Confirmar:" + +#: ../libseahorse/seahorse-prefs.c:63 +msgid "Not a valid Key Server address." +msgstr "La direición del sirvidor de claves nun ye válida." + +#: ../libseahorse/seahorse-prefs.c:64 +msgid "For help contact your system adminstrator or the administrator of the key server." +msgstr "P'aida contauta col alministrador del sistema o l'alministrador del sirvidor de llaves." + +#: ../libseahorse/seahorse-prefs.c:173 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:353 +msgid "Custom" +msgstr "Personalizao" + +#: ../libseahorse/seahorse-prefs.c:420 +msgid "None: Don't publish keys" +msgstr "Dengún: Nun espublizar claves" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Automatically retrieve keys from _key servers" +msgstr "Recuperar claves automáticamente dende sirvidores de _claves" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Sincronizar automáticamente les contraseñes ca_mudaes colos sirvidores de _claves" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "Key Servers" +msgstr "Sirvidores de Claves" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Key Sharing" +msgstr "Compartir Clave" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Preferences" +msgstr "Preferencies" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've collected. This means they can automatically encrypt things for you or those you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." +msgstr "" +"Compartir les sos claves permite a otres persones na so rede usar les claves que vusté reunió. Esto significa que pue cifrar automáticamente coses pa vusté o aquellos a los que vusté conoz ensin tener qu'unvia-yos a ellos la so clave.\n" +"\n" +"Nota: Les sos claves personales nun quedarán comprometíes." + +#: ../libseahorse/seahorse-prefs.xml.h:9 +msgid "_Find keys via:" +msgstr "_Guetar claves vía:" + +#: ../libseahorse/seahorse-prefs.xml.h:10 +msgid "_Publish keys to:" +msgstr "Es_publizar claves a:" + +#: ../libseahorse/seahorse-prefs.xml.h:11 +msgid "_Share my keys with others on my network" +msgstr "_Compartir les mios claves con otros na mio rede" + +#: ../libseahorse/seahorse-progress.xml.h:1 +msgid "Progress Title" +msgstr "Títulu Progresu" + +#: ../libseahorse/seahorse-unknown.c:67 +msgid "Unavailable" +msgstr "Nun disponible" + +#: ../libseahorse/seahorse-util.c:237 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-util.c:513 +msgid "Key Data" +msgstr "Data de la clave" + +#: ../libseahorse/seahorse-util.c:515 +msgid "Multiple Keys" +msgstr "Claves múltiples" + +#: ../libseahorse/seahorse-util.c:771 +msgid "Couldn't run file-roller" +msgstr "Nun puede executase file-roller" + +#: ../libseahorse/seahorse-util.c:777 +msgid "Couldn't package files" +msgstr "Nun pueden empaquetase ficheros" + +#: ../libseahorse/seahorse-util.c:778 +msgid "The file-roller process did not complete successfully" +msgstr "El procesu file-roller nun pudó completase satisfactoriamente" + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:954 +msgid "All key files" +msgstr "Tolos ficheros de clave" + +#: ../libseahorse/seahorse-util.c:965 +#: ../libseahorse/seahorse-util.c:1013 +#: ../pgp/seahorse-gpgme-photos.c:242 +msgid "All files" +msgstr "Tolos ficheros" + +#: ../libseahorse/seahorse-util.c:1006 +msgid "Archive files" +msgstr "Archivar ficheros" + +#: ../libseahorse/seahorse-util.c:1076 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" +"Yá hai un ficheru con esti nome.\n" +"\n" +"¿Quies trocalu por uno nuevu?" + +#: ../libseahorse/seahorse-util.c:1079 +msgid "_Replace" +msgstr "_Trocar" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-gpgme-subkey.c:197 +#: ../pgp/seahorse-pgp-key-properties.c:1131 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Unknown" +msgstr "Desconocíu" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1137 +msgctxt "Validity" +msgid "Never" +msgstr "Enxamás" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-key-properties.c:1144 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:33 +msgid "Marginal" +msgstr "Marxinal" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-key-properties.c:1150 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +msgid "Full" +msgstr "Completu" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-key-properties.c:1156 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Ultimate" +msgstr "Cabero" + +#: ../libseahorse/seahorse-validity.c:50 +#: ../pgp/seahorse-pgp-key-properties.c:1349 +msgid "Disabled" +msgstr "Desactivao" + +#: ../libseahorse/seahorse-validity.c:52 +#: ../pgp/seahorse-pgp-key-properties.c:1345 +msgid "Revoked" +msgstr "Revocao" + +#: ../libseahorse/seahorse-widget.c:464 +#, c-format +msgid "Could not display help: %s" +msgstr "Nun puede amosase l'aida: %s" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Expiration Date:" +msgstr "Fecha Espiración:" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "Generate a new subkey" +msgstr "Xenerar una subclave nueva" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +msgid "If key never expires" +msgstr "Si la clave nunca nun espira" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "_Llonxitú de la clave:" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Key _Type:" +msgstr "_Tipu de clave:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "Llonxitú de la clave" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Never E_xpires" +msgstr "Enxamás E_spira" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "Amestar ID Usuariu" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Create the new user ID" +msgstr "Crear un nuevu ID usuariu" + +#: ../pgp/seahorse-add-uid.xml.h:3 +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Full _Name:" +msgstr "_Nome Completu:" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Key Co_mment:" +msgstr "Co_mentariu de la clave:" + +#: ../pgp/seahorse-add-uid.xml.h:5 +msgid "Must be at least 5 characters long" +msgstr "Tien de tener al menos 5 carauteres llonxitú" + +#: ../pgp/seahorse-add-uid.xml.h:6 +msgid "Optional comment describing key" +msgstr "Comentariu opcional pa describir la clave" + +#: ../pgp/seahorse-add-uid.xml.h:7 +msgid "Optional email address" +msgstr "Corréu ellectrónicu opcional" + +#: ../pgp/seahorse-add-uid.xml.h:8 +#: ../pgp/seahorse-pgp-generate.xml.h:13 +msgid "_Email Address:" +msgstr "Direción Corréu _Ellectrónicu" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "C_hange" +msgstr "_Camudar" + +#: ../pgp/seahorse-expires.xml.h:2 +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Revoke key" +msgstr "Revocar clave" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "_Never expires" +msgstr "_Enxamás espira" + +#: ../pgp/seahorse-gpgme-add-subkey.c:144 +msgid "Couldn't add subkey" +msgstr "Nun puede amestase subclave" + +#: ../pgp/seahorse-gpgme-add-subkey.c:163 +#, c-format +msgid "Add subkey to %s" +msgstr "Amestar subclave a %s" + +#: ../pgp/seahorse-gpgme-add-subkey.c:179 +#: ../pgp/seahorse-gpgme-generate.c:117 +msgid "DSA (sign only)" +msgstr "DSA (sólo roblar)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:187 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (sólo encriptar)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:193 +#: ../pgp/seahorse-gpgme-generate.c:118 +msgid "RSA (sign only)" +msgstr "RSA (sólo roblar)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:199 +msgid "RSA (encrypt only)" +msgstr "RSA (sólo encriptar)" + +#: ../pgp/seahorse-gpgme-add-uid.c:85 +msgid "Couldn't add user id" +msgstr "Nun puede amestase id usuariu" + +#: ../pgp/seahorse-gpgme-add-uid.c:107 +#, c-format +msgid "Add user ID to %s" +msgstr "Amestar ID usuariu a %s" + +#: ../pgp/seahorse-gpgme.c:72 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Falló desencriptar. Probablemente nun tengas la clave pa desencriptar." + +#: ../pgp/seahorse-gpgme-expires.c:58 +msgid "Invalid expiry date" +msgstr "Robla inválida" + +#: ../pgp/seahorse-gpgme-expires.c:59 +msgid "The expiry date must be in the future" +msgstr "La data de caducidá tien que ser nel futuru" + +#: ../pgp/seahorse-gpgme-expires.c:72 +msgid "Couldn't change expiry date" +msgstr "Nun puede camudase fecha d'espiración" + +#: ../pgp/seahorse-gpgme-expires.c:131 +#, c-format +msgid "Expiry: %s" +msgstr "Caducidá: %s" + +#: ../pgp/seahorse-gpgme-generate.c:79 +msgid "PGP Key" +msgstr "Clave PGP" + +#: ../pgp/seahorse-gpgme-generate.c:80 +msgid "Used to encrypt email and files" +msgstr "Usar pa encriptar corréu ellectrónicu y ficheros" + +#: ../pgp/seahorse-gpgme-generate.c:115 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:116 +msgid "DSA Elgamal" +msgstr "DSA Elgamal" + +#: ../pgp/seahorse-gpgme-generate.c:134 +msgid "Couldn't generate PGP key" +msgstr "Nun puede xenerase la clave PGP" + +#: ../pgp/seahorse-gpgme-generate.c:258 +msgid "Passphrase for New PGP Key" +msgstr "Frase de contraseña pa la nueva clave PGP" + +#: ../pgp/seahorse-gpgme-generate.c:259 +msgid "Enter the passphrase for your new key twice." +msgstr "Escribi la frase de contraseña pa to clave nueva dos vegaes." + +#: ../pgp/seahorse-gpgme-generate.c:268 +msgid "Couldn't generate key" +msgstr "Nun puede xenerase la clave" + +#: ../pgp/seahorse-gpgme-generate.c:270 +msgid "Generating key" +msgstr "Xenerando clave" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"La semeya ye enforma grande\n" +"El tamañu recomendáu pa una semeya na to clave ye de %d x %d píxeles." + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "_Nun redimensionar" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "_Redimensionar" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "This is not a image file, or an unrecognized kind of image file. Try to use a JPEG image." +msgstr "Esto nun ye un ficheru d'imaxe, o un ficheru d'imaxe non reconocíu. Tenta d'usar una imaxe JPEG." + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "Tolos ficheros d'imaxe" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "Tolos ficheros JPEG" + +#: ../pgp/seahorse-gpgme-photos.c:261 +msgid "Choose Photo to Add to Key" +msgstr "Escoyer semeya p'amestar a la clave" + +#: ../pgp/seahorse-gpgme-photos.c:290 +#: ../pgp/seahorse-gpgme-photos.c:294 +msgid "Couldn't add photo" +msgstr "Nun puede amestase semeya" + +#: ../pgp/seahorse-gpgme-photos.c:291 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "El ficheru nun puede cargase. Ye posible que nun tenga un formatu válidu" + +#: ../pgp/seahorse-gpgme-photos.c:320 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "¿De xuru que quies desaniciar la semeya actual de la to clave?" + +#: ../pgp/seahorse-gpgme-photos.c:333 +msgid "Couldn't delete photo" +msgstr "Nun puede desaniciase semeya" + +#: ../pgp/seahorse-gpgme-revoke.c:70 +msgid "Couldn't revoke subkey" +msgstr "Nun puede revocase la subclave" + +#: ../pgp/seahorse-gpgme-revoke.c:91 +#, c-format +msgid "Revoke: %s" +msgstr "Revocar: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:102 +msgid "No reason" +msgstr "Ensin razón" + +#: ../pgp/seahorse-gpgme-revoke.c:103 +msgid "No reason for revoking key" +msgstr "Nun hai razón pa revocar la clave" + +#: ../pgp/seahorse-gpgme-revoke.c:109 +msgid "Compromised" +msgstr "Comprometío" + +#: ../pgp/seahorse-gpgme-revoke.c:110 +msgid "Key has been compromised" +msgstr "La clave ta comprometida" + +#: ../pgp/seahorse-gpgme-revoke.c:116 +msgid "Superseded" +msgstr "Obsoleta" + +#: ../pgp/seahorse-gpgme-revoke.c:117 +msgid "Key has been superseded" +msgstr "La clave ta obsoleta" + +#: ../pgp/seahorse-gpgme-revoke.c:123 +msgid "Not Used" +msgstr "Nun usao" + +#: ../pgp/seahorse-gpgme-revoke.c:124 +msgid "Key is no longer used" +msgstr "La clave yá nun se usa" + +#: ../pgp/seahorse-gpgme-revoke.c:161 +#, c-format +msgid "You are about to add %s as a revoker for %s. This operation cannot be undone! Are you sure you want to continue?" +msgstr "Vas a amestar a %s como revocador pa %s. Esta operación nun pue desfacese. ¿Daveres que quies siguir?" + +#: ../pgp/seahorse-gpgme-revoke.c:173 +msgid "Couldn't add revoker" +msgstr "Nun puede amestase revocación" + +#: ../pgp/seahorse-gpgme-sign.c:96 +msgid "Couldn't sign key" +msgstr "Nun puede roblase clave" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:149 +#: ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "Nun hai claves afayadices pa roblar" + +#: ../pgp/seahorse-gpgme-sign.c:150 +msgid "You have no personal PGP keys that can be used to indicate your trust of this key." +msgstr "Nun tienes denguna clave PGP personal que se pueda usar pa conseñar el to enfotu nesta clave." + +#: ../pgp/seahorse-gpgme-source.c:99 +#, c-format +msgid "Wrong passphrase." +msgstr "Frase contraseña incorreuta." + +#: ../pgp/seahorse-gpgme-source.c:103 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "Introduz una nueva frase contraseña pa '%s'" + +#: ../pgp/seahorse-gpgme-source.c:105 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "Introduz frase contraseña pa '%s'" + +#: ../pgp/seahorse-gpgme-source.c:108 +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Enter new passphrase" +msgstr "Introduz nueva frase contraseña" + +#: ../pgp/seahorse-gpgme-source.c:110 +msgid "Enter passphrase" +msgstr "Introduz frase contraseña" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../pgp/seahorse-gpgme-source.c:722 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d clave cargada" +msgstr[1] "%d claves cargades" + +#: ../pgp/seahorse-gpgme-source.c:777 +msgid "Loading Keys..." +msgstr "Cargando Claves..." + +#: ../pgp/seahorse-gpgme-source.c:820 +msgid "Invalid key data (missing UIDs). This may be due to a computer with a date set in the future or a missing self-signature." +msgstr "Datos de clave inválidos (faltan UIDs). Esto pue debese a un equipu con una data afitada nel futuru o una autorobla faltante." + +#: ../pgp/seahorse-gpgme-source.c:910 +#: ../src/seahorse-key-manager.c:538 +msgid "Importing Keys" +msgstr "Importando Claves" + +#: ../pgp/seahorse-gpgme-source.c:946 +msgid "Exporting Keys" +msgstr "Esportando Claves" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:330 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "La gueta nun foi enforma específica. El sirvidor '%s' atopó abondes claves." + +#: ../pgp/seahorse-hkp-source.c:332 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "Nun puede comunicase col sirvidor '%s': %s" + +#: ../pgp/seahorse-hkp-source.c:576 +msgid "Searching for keys..." +msgstr "Guetando por claves..." + +#: ../pgp/seahorse-hkp-source.c:647 +msgid "Uploading keys..." +msgstr "Xubiendo claves..." + +#: ../pgp/seahorse-hkp-source.c:725 +msgid "Retrieving keys..." +msgstr "Algamando claves..." + +#: ../pgp/seahorse-hkp-source.c:831 +#, c-format +msgid "Searching for keys on: %s" +msgstr "Guetando por claves en: %s" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../pgp/seahorse-hkp-source.c:908 +#: ../pgp/seahorse-hkp-source.c:981 +#: ../pgp/seahorse-ldap-source.c:668 +#, c-format +msgid "Connecting to: %s" +msgstr "Coneutando a: %s" + +#: ../pgp/seahorse-hkp-source.c:1005 +msgid "HTTP Key Server" +msgstr "Sirvidor de claves HTTP" + +#: ../pgp/seahorse-ldap-source.c:459 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "Nun puede comunicase con '%s': %s" + +#: ../pgp/seahorse-ldap-source.c:641 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "Nun puede resolvese direción: %s" + +#: ../pgp/seahorse-ldap-source.c:719 +#, c-format +msgid "Resolving server address: %s" +msgstr "Resolviendo direición del sirvidor: %s" + +#: ../pgp/seahorse-ldap-source.c:955 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "Guetando por claves que contienen '%s'..." + +#: ../pgp/seahorse-ldap-source.c:983 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "Guetando por id clave '%s'..." + +#: ../pgp/seahorse-ldap-source.c:1089 +msgid "Retrieving remote keys..." +msgstr "Algamando claves remotes..." + +#: ../pgp/seahorse-ldap-source.c:1221 +msgid "Sending keys to key server..." +msgstr "Unviando les claves al sirvidor de claves..." + +#: ../pgp/seahorse-ldap-source.c:1423 +msgid "LDAP Key Server" +msgstr "Sirvidor de claves LDAP" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "_Sign Key..." +msgstr "_Roblar Contraseña..." + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "Sign public key" +msgstr "Roblar clave pública" + +#: ../pgp/seahorse-pgp-commands.c:171 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "¿De xuru que quies desaniciar dafechu %s?" + +#: ../pgp/seahorse-pgp-commands.c:176 +#, c-format +msgid "Are you sure you want to permanently delete %d keys and identities?" +msgstr "¿De xuru que quies desaniciar dafechu %d claves y identidaes?" + +#: ../pgp/seahorse-pgp-commands.c:178 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgstr "¿De xuru que quies desaniciar dafechu %d claves?" + +#: ../pgp/seahorse-pgp-commands.c:180 +#, c-format +msgid "Are you sure you want to permanently delete %d identities?" +msgstr "¿De xuru que quies desaniciar dafechu les identidaes %d?" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "_Advanced key options" +msgstr "Opciones _avanzaes de clave" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "Una clave PGP permítete encriptar correos ellectrónicos o ficheros pa otra xente." + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "Algorithms here" +msgstr "Algoritmos equí" + +#: ../pgp/seahorse-pgp-generate.xml.h:4 +msgid "C_reate" +msgstr "C_rear" + +#: ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "E_xpiration Date:" +msgstr "Fecha E_spiración:" + +#: ../pgp/seahorse-pgp-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "Encryption _Type:" +msgstr "_Tipu encriptación" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Generate a new key" +msgstr "Xenerar una clave nueva" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 +#: ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Key _Strength (bits):" +msgstr "Fuerc_ia de la clave (bits):" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +msgid "Ne_ver Expires" +msgstr "En_xamás Espira" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "New PGP Key" +msgstr "Nueva clave PGP" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +msgid "_Comment:" +msgstr "_Comentariu:" + +#: ../pgp/seahorse-pgp-key.c:201 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Private PGP Key" +msgstr "Clave privada PGP" + +#: ../pgp/seahorse-pgp-key.c:204 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "Public PGP Key" +msgstr "Clave pública PGP" + +#: ../pgp/seahorse-pgp-key.c:583 +#: ../pgp/seahorse-pgp-key-properties.c:1347 +msgid "Expired" +msgstr "Espirada" + +#: ../pgp/seahorse-pgp-key-properties.c:224 +msgid "Couldn't change primary user ID" +msgstr "Nun puede camudase ID usuariu principal" + +#: ../pgp/seahorse-pgp-key-properties.c:241 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "¿De xuru que quies desaniciar dafechu l'ID d'usuariu '%s'?" + +#: ../pgp/seahorse-pgp-key-properties.c:251 +msgid "Couldn't delete user ID" +msgstr "Nun puede desaniciase ID usuariu" + +#: ../pgp/seahorse-pgp-key-properties.c:333 +#: ../pgp/seahorse-pgp-key-properties.c:1462 +msgid "[Unknown]" +msgstr "[Desconocíu]" + +#: ../pgp/seahorse-pgp-key-properties.c:426 +#: ../pgp/seahorse-pgp-key-properties.c:1740 +msgid "Name/Email" +msgstr "Nome/Corréu-e" + +#: ../pgp/seahorse-pgp-key-properties.c:431 +msgid "Signature ID" +msgstr "ID Robla" + +#: ../pgp/seahorse-pgp-key-properties.c:552 +msgid "Couldn't change primary photo" +msgstr "Nun puede camudase semeya principal" + +#: ../pgp/seahorse-pgp-key-properties.c:775 +msgid "(unknown)" +msgstr "(desconocíu)" + +#: ../pgp/seahorse-pgp-key-properties.c:778 +#, c-format +msgid "This key expired on: %s" +msgstr "Esta clave espira el: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:946 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "¿De xuru que quies desaniciar dafechu la subclave %d de %s?" + +#: ../pgp/seahorse-pgp-key-properties.c:955 +msgid "Couldn't delete subkey" +msgstr "Nun puede desaniciase subclave" + +#: ../pgp/seahorse-pgp-key-properties.c:991 +#: ../pgp/seahorse-pgp-key-properties.c:1425 +msgid "Unable to change trust" +msgstr "Nun puede camudase autenticidá" + +#: ../pgp/seahorse-pgp-key-properties.c:1005 +#: ../src/seahorse-viewer.c:315 +#: ../ssh/seahorse-ssh-key-properties.c:167 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "Nun puede esportase la clave a \"%s\"" + +#: ../pgp/seahorse-pgp-key-properties.c:1033 +#: ../ssh/seahorse-ssh-key-properties.c:191 +msgid "Export Complete Key" +msgstr "Esportar clave completa" + +#: ../pgp/seahorse-pgp-key-properties.c:1058 +#: ../ssh/seahorse-ssh-key-properties.c:213 +msgid "Couldn't export key." +msgstr "Nun puede esportase la clave." + +#: ../pgp/seahorse-pgp-key-properties.c:1265 +#: ../pgp/seahorse-pgp-key-properties.c:1354 +msgctxt "Expires" +msgid "Never" +msgstr "Enxamás" + +#. The key type column +#: ../pgp/seahorse-pgp-key-properties.c:1315 +#: ../src/seahorse-key-manager-store.c:860 +msgid "Type" +msgstr "Triba" + +#: ../pgp/seahorse-pgp-key-properties.c:1318 +msgid "Created" +msgstr "Creao" + +#: ../pgp/seahorse-pgp-key-properties.c:1321 +msgid "Expires" +msgstr "Espira" + +#: ../pgp/seahorse-pgp-key-properties.c:1324 +msgid "Status" +msgstr "Estáu" + +#: ../pgp/seahorse-pgp-key-properties.c:1327 +msgid "Strength" +msgstr "Llonxitú" + +#: ../pgp/seahorse-pgp-key-properties.c:1351 +msgid "Good" +msgstr "Bona" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +msgid "Actions" +msgstr "Aciones" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgid "Comment:" +msgstr "Comentariu:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgid "Dates" +msgstr "Feches" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgid "Email:" +msgstr "Corréu ellectronicu:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgid "Fingerprint" +msgstr "Buelga dactilar:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +msgid "Key ID:" +msgstr "ID de clave:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +msgid "Key Names and Signatures" +msgstr "Nomes de claves y robles" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +#: ../ssh/seahorse-ssh-key-properties.xml.h:5 +msgid "Name:" +msgstr "Nome:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "Photo " +msgstr "Semeya " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Technical Details" +msgstr "Detalles Téunicos" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:10 +msgid "This key has been revoked" +msgstr "Esta clave revocóse" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "This key has expired" +msgstr "Esta clave espiró" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:12 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Type:" +msgstr "Triba:" + +#. To translators: This is the noun not the verb. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:15 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Use:" +msgstr "Usu:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "_Subkeys" +msgstr "_Subclaves" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +msgid "Add" +msgstr "Amestar" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:18 +msgid "Add a photo to this key" +msgstr "Amestar una semeya a esta clave" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +msgid "Change _Passphrase" +msgstr "Camudar _Frase Contraseña" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +msgid "Decrypt files and email sent to you." +msgstr "Descriptar ficheros y corréu-e unviáu a ti." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:22 +msgid "Delete" +msgstr "Desaniciar" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +msgid "Expire" +msgstr "Espirar" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:22 +msgid "Expires:" +msgstr "Espira:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Export" +msgstr "Esportar" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +msgid "Go to next photo" +msgstr "Dir a la semeya siguiente" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Go to previous photo" +msgstr "Dir a la semeya anterior" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +msgid "Key ID:" +msgstr "ID de clave:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Make this photo the primary photo" +msgstr "Facer esta semeya la semaya principal" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "Names and Signatures" +msgstr "Nomes y Robles" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +msgid "Never" +msgstr "Enxamás" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:36 +msgid "Override Owner _Trust:" +msgstr "Sobreescribir _Autenticidá del Propietariu:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "Owner" +msgstr "Propietariu" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +msgid "Primary" +msgstr "Principal" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Remove this photo from this key" +msgstr "Desaniciar esta semeya d'esta clave" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +msgid "Revoke" +msgstr "Revocar" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +msgid "Sign" +msgstr "Roblar" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "Strength:" +msgstr "Llonxitú:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "El propietariu d'esta clave revocóla. Nun puede usase más." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "_Add Name" +msgstr "_Amestar Nome" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "_Export Complete Key:" +msgstr "_Esportar clave completa" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgid "Dates:" +msgstr "Feches:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Fingerprint:" +msgstr "Buelga dactilar:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgid "Indicate Trust:" +msgstr "Indicar Autenticidá:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Your trust of this key" +msgstr "La to confianza nesta clave" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:16 +msgid "_Other Names:" +msgstr "_Otros Nomes:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgid "_People who have signed this key:" +msgstr "_Xente que robló esta clave:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Encrypt files and email to the key's owner " +msgstr "Encriptar ficheros y correos ellectrónicos pal propietariu de la clave " + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "Fully" +msgstr "Dafechu" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "Fíome de les robles de '%s' n'otres claves" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:27 +#, no-c-format +msgid "If you believe that the person that owns this key is '%s', sign this key:" +msgstr "Si camienta qu'el propietariu d'esta clave ye «%s», roble esta clave:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:29 +#, no-c-format +msgid "If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "Si nun tien enfotu en que «%s» seya'l propietariu d'esta clave, revoque la so robla:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:32 +msgid "Marginally" +msgstr "Marxinalmente" + +#. Trust column +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../src/seahorse-key-manager-store.c:854 +msgid "Trust" +msgstr "Autenticidá" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +msgid "Ultimately" +msgstr "Caberamente" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "You _Trust the Owner:" +msgstr "Autentifica al Propietariu:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Your trust is manually specified on the Details tab." +msgstr "La to autentificación especifícase manualmente na llingüeta Detalles." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "_Only display the signatures of people I trust" +msgstr "Namá_i amosar les robles de les persones que yo autentifique" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "_Revoke Signature" +msgstr "_Revocar Robla" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Sign this Key" +msgstr "Roblar e_sta clave" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "Subclave %d de %s" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Optional description of revocation" +msgstr "Descripción opcional pa la revocación" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "Re_voke" +msgstr "Re_vocar" + +#: ../pgp/seahorse-revoke.xml.h:3 +msgid "Reason for revoking the key" +msgstr "Razón pa revocar la clave" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "_Reason:" +msgstr "_Razón:" + +#: ../pgp/seahorse-signer.c:62 +msgid "You have no personal PGP keys that can be used to sign a document or message." +msgstr "Nun tien claves PGP personales que se puedan usar pa roblar un documentu o mensax." + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "How carefully have you checked this key?" +msgstr "¿Con cuántu procuru comprobaste esta clave?" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "How others will see this signature:" +msgstr "Cómo verán otros esta robla:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Sign key as:" +msgstr "Roblar clave como:" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "Casually: means you have done a casual verification that the key is owned by the person who claims to own it. For example, you could read the key fingerprint to the owner over the phone. " +msgstr "Casualmente: quier dicir que ficiste una verificación ensin procuru de que la clave pertenez a la persona que diz tenela. Por exemplu, podríes llee-y la buelga de la clave al propietariu per teléfonu. " + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "Key Name" +msgstr "Nome de clave" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "Not at all: means you believe the key is owned by the person who claims to own it, but you could not or did not verify this to be a fact." +msgstr "Non del tou: quier dicir que crees que la clave pertenez a la persona que diz tenela, pero que nun comprobaste qu'esto sea verdadero." + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "Very Carefully: Select this only if you are absolutely sure that this key is genuine." +msgstr "Con munchu procuru: escueyi esto sólo si tas seguru dafechu de qu'esta clave ye auténtica." + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Roblando, indiques la to autenticidá a esta clave baxo:" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "I can _revoke this signature at a later date." +msgstr "Puedo _revocar esta robla n'otru momentu." + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "Sign Key" +msgstr "Roblar clave" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "You could use a hard to forge photo identification (such as a passport) to personally check that the name on the key is correct. You should have also used email to check that the email address belongs to the owner." +msgstr "Puedes usar una semeya d'identificación difícil de falsificar (como el DNI o pasaporte) pa comprobar personalmente que'l nome de la clave ye correutu. Tendríes qu'haber usao tamién el corréu pa comprobar que les señes de corréu electrónicu pertenecen al dueñu." + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "_Casually" +msgstr "_Casualmente" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Not at all" +msgstr "_Non too" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "_Others may not see this signature" +msgstr "_Otros nun pueden ver esta robla" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "_Sign" +msgstr "_Roblar" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "_Roblante:" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Very Carefully" +msgstr "_Munchu curiáu" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "_Roblar mensaxe con clave:" + +#: ../pkcs11/seahorse-pkcs11-certificate.c:107 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:68 +msgid "Certificate" +msgstr "Certificáu" + +#: ../pkcs11/seahorse-pkcs11-commands.c:108 +#, c-format +msgid "Are you sure you want to delete the certificate '%s'?" +msgstr "¿Tas seguru de que quies desaniciar el certificáu «%s»?" + +#: ../pkcs11/seahorse-pkcs11-commands.c:111 +#, c-format +msgid "Are you sure you want to delete %d certificate?" +msgid_plural "Are you sure you want to delete %d certificates?" +msgstr[0] "¿Tas seguru de que quies desaniciar %d certificáu?" +msgstr[1] "¿Tas seguru de que quies desaniciar %d certificaos?" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "Camudar frase contraseña" + +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Con_firm Passphrase:" +msgstr "Con_firmar frase contraseña:" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "Confirm new passphrase" +msgstr "Confirmar la frase contraseña nueva" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "New _Passphrase:" +msgstr "Nueva _frase contraseña:" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "Alministra tos contraseñes y claves de cifráu" + +#: ../src/seahorse.desktop.in.in.h:2 +#: ../src/seahorse-key-manager.c:857 +msgid "Passwords and Encryption Keys" +msgstr "Contraseñes y claves de cifráu" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "_Escueyi la clase de clave que quies crear:" + +#: ../src/seahorse-generate-select.xml.h:2 +msgid "C_ontinue" +msgstr "_Continuar" + +#: ../src/seahorse-generate-select.xml.h:3 +msgid "Create New ..." +msgstr "_Crear clave nueva…" + +#: ../src/seahorse-key-manager.c:233 +#: ../src/seahorse-keyserver-results.c:108 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "%d clave seleicionada" +msgstr[1] "%d claves seleicionaes" + +#: ../src/seahorse-key-manager.c:404 +#: ../src/seahorse-key-manager.c:464 +#: ../src/seahorse-key-manager.c:527 +#: ../src/seahorse-viewer.c:482 +msgid "Couldn't import keys" +msgstr "Nun pueden importase claves" + +#: ../src/seahorse-key-manager.c:409 +#: ../src/seahorse-viewer.c:487 +msgid "Imported keys" +msgstr "Claves importaes" + +#: ../src/seahorse-key-manager.c:458 +msgid "Importing keys" +msgstr "Importando claves" + +#: ../src/seahorse-key-manager.c:481 +#: ../ssh/seahorse-ssh-operation.c:1017 +msgid "Import Key" +msgstr "Importar claves" + +#: ../src/seahorse-key-manager.c:527 +msgid "Unrecognized key type, or invalid data format" +msgstr "Tipu de clave non reconocíu, o formatu de datos non válidu" + +#: ../src/seahorse-key-manager.c:725 +#: ../src/seahorse-keyserver-results.c:207 +msgid "_Remote" +msgstr "_Remotu" + +#: ../src/seahorse-key-manager.c:727 +msgid "Close this program" +msgstr "Zarrar esti programa" + +#: ../src/seahorse-key-manager.c:728 +msgid "_New..." +msgstr "_Nueva…" + +#: ../src/seahorse-key-manager.c:729 +msgid "Create a new key or item" +msgstr "Crear una clave o elementu nuevu" + +#: ../src/seahorse-key-manager.c:730 +msgid "_Import..." +msgstr "_Importar..." + +#: ../src/seahorse-key-manager.c:731 +msgid "Import from a file" +msgstr "Importar dende un ficheru" + +#: ../src/seahorse-key-manager.c:733 +msgid "Import from the clipboard" +msgstr "Importar dende'l cartafueyu" + +#: ../src/seahorse-key-manager.c:738 +#: ../src/seahorse-keyserver-results.c:217 +msgid "_Find Remote Keys..." +msgstr "_Guetar claves remotes..." + +#: ../src/seahorse-key-manager.c:739 +#: ../src/seahorse-keyserver-results.c:218 +msgid "Search for keys on a key server" +msgstr "Guetar por claves nun sirvidor de claves" + +#: ../src/seahorse-key-manager.c:740 +msgid "_Sync and Publish Keys..." +msgstr "_Sincronizar y espublizar claves..." + +#: ../src/seahorse-key-manager.c:741 +msgid "Publish and/or synchronize your keys with those online." +msgstr "Espublizar y/o sincronizar les tos claves online." + +#: ../src/seahorse-key-manager.c:746 +msgid "T_ypes" +msgstr "T_ipos:" + +#: ../src/seahorse-key-manager.c:746 +msgid "Show type column" +msgstr "Mostrar columna tipu" + +#: ../src/seahorse-key-manager.c:748 +msgid "_Expiry" +msgstr "_Espira" + +#: ../src/seahorse-key-manager.c:748 +msgid "Show expiry column" +msgstr "Amosar columna d'espiración" + +#: ../src/seahorse-key-manager.c:750 +msgid "_Trust" +msgstr "_Autentificar" + +#: ../src/seahorse-key-manager.c:750 +msgid "Show owner trust column" +msgstr "Amosar columna autentificar propietariu" + +#: ../src/seahorse-key-manager.c:752 +msgid "_Validity" +msgstr "_Validar" + +#: ../src/seahorse-key-manager.c:752 +msgid "Show validity column" +msgstr "Amosar columna validar" + +#: ../src/seahorse-key-manager.c:926 +msgid "Filter:" +msgstr "Peñera:" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "Opciones de primera vegada:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "Xenerar una nueva clave propia: " + +#: ../src/seahorse-key-manager.xml.h:3 +msgid "Import existing keys from a file:" +msgstr "Importar claves esistentes de un ficheru:" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "My _Personal Keys" +msgstr "Les mios claves _personales" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "Other _Keys" +msgstr "_Otres claves" + +#: ../src/seahorse-key-manager.xml.h:6 +msgid "To get started with encryption you will need keys." +msgstr "Pa entamar con encriptación vas necesitar claves." + +#: ../src/seahorse-key-manager.xml.h:7 +#: ../src/seahorse-viewer.c:546 +msgid "_Import" +msgstr "_Importar" + +#: ../src/seahorse-key-manager.xml.h:8 +msgid "_Passwords" +msgstr "_Contraseñes" + +#: ../src/seahorse-key-manager-store.c:649 +#: ../src/seahorse-viewer.c:282 +msgid "Couldn't export keys" +msgstr "Nun pueden esportase claves" + +#: ../src/seahorse-key-manager-store.c:847 +msgid "Validity" +msgstr "Validar" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:866 +msgid "Expiration Date" +msgstr "Fecha Espiración" + +#: ../src/seahorse-keyserver-results.c:209 +msgid "Close this window" +msgstr "Zarrar esta ventana" + +#: ../src/seahorse-keyserver-results.c:210 +msgid "_Expand All" +msgstr "_Espandir Too" + +#: ../src/seahorse-keyserver-results.c:211 +msgid "Expand all listings" +msgstr "Espandir tolos llistaos" + +#: ../src/seahorse-keyserver-results.c:212 +msgid "_Collapse All" +msgstr "_Rexuntar Too" + +#: ../src/seahorse-keyserver-results.c:213 +msgid "Collapse all listings" +msgstr "Rexuntar tolos llistaos" + +#: ../src/seahorse-keyserver-results.c:275 +msgid "Remote Keys" +msgstr "Claves Remotes" + +#: ../src/seahorse-keyserver-results.c:277 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "Claves remotes que contienen '%s'" + +#: ../src/seahorse-keyserver-search.xml.h:1 +msgid "Key Servers:" +msgstr "Sirvidores de Claves:" + +#: ../src/seahorse-keyserver-search.xml.h:2 +msgid "Shared Keys Near Me:" +msgstr "Claves compartíes próximes:" + +#: ../src/seahorse-keyserver-search.xml.h:3 +msgid "Find Remote Keys" +msgstr "Guetar claves remotes" + +#: ../src/seahorse-keyserver-search.xml.h:4 +msgid "This will find keys for others on the Internet. These keys can then be imported into your local key ring." +msgstr "Esto guetará claves pa otros n'Internet. Estes claves puen importase nel so depósitu llocal de claves." + +#: ../src/seahorse-keyserver-search.xml.h:5 +msgid "Where to search:" +msgstr "Onde guetar:" + +#: ../src/seahorse-keyserver-search.xml.h:6 +msgid "_Search" +msgstr "_Guetar" + +#: ../src/seahorse-keyserver-search.xml.h:7 +msgid "_Search for keys containing: " +msgstr "_Guetar por claves que contienen: " + +#: ../src/seahorse-keyserver-sync.c:45 +msgid "Couldn't publish keys to server" +msgstr "Nun pueden espublizase claves al sirvidor" + +#: ../src/seahorse-keyserver-sync.c:61 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "Nun pueden recuperase claves dende'l sirvidor: %s" + +#: ../src/seahorse-keyserver-sync.c:155 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d clave ta seleicionada pa sincronizar" +msgstr[1] "%d claves tan seleicionaes pa sincronizar" + +#: ../src/seahorse-keyserver-sync.c:216 +msgid "Synchronizing keys" +msgstr "Sincronizando claves" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:248 +msgid "Synchronizing keys..." +msgstr "Sincronizando claves..." + +#: ../src/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "Sincronizar Claves" + +#: ../src/seahorse-keyserver-sync.xml.h:2 +msgid "This will publish the keys in your key ring so they're available for others to use. You'll also get any changes others have made since you received their keys." +msgstr "Esto espublizará les claves del so depósitu de claves de mou que tarán disponibles pa qu'otros les usen. Tamién obtendrá cualesquier cambéu qu'otros faigan dende que recibió les sos claves." + +#: ../src/seahorse-keyserver-sync.xml.h:3 +msgid "This will retrieve any changes others have made since you received their keys. No key server has been chosen for publishing, so your keys will not be made available to others." +msgstr "Esto obtendrá cualesquier cambéu que faigan otros dende que recibió les sos claves. Nun s'escoyó dengún sirvidor de claves pa espublizar, de mou que les sos claves nun tarán disponibles pa otros." + +#: ../src/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "Sirvidores de _Claves" + +#: ../src/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "_Sincronizar" + +#: ../src/seahorse-main.c:62 +msgid "Version of this application" +msgstr "Versión d'esta aplicación" + +#: ../src/seahorse-main.c:78 +#: ../src/seahorse-viewer.c:170 +msgid "Encryption Key Manager" +msgstr "Xestor de claves d'encriptación" + +#: ../src/seahorse-viewer.c:141 +msgid "Contributions:" +msgstr "Contribuciones:" + +#: ../src/seahorse-viewer.c:172 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Iñigo Varela https://launchpad.net/~malditoastur\n" +" Marcos https://launchpad.net/~marcos.alvarez.costales\n" +" Xandru Martino https://launchpad.net/~xandru-martino\n" +" Xuacu Saturio https://launchpad.net/~xuacusk8" + +#: ../src/seahorse-viewer.c:175 +msgid "Seahorse Project Homepage" +msgstr "Páxina web de Seahorse" + +#. Top menu items +#: ../src/seahorse-viewer.c:194 +msgid "_File" +msgstr "_Ficheru" + +#: ../src/seahorse-viewer.c:195 +msgid "_Edit" +msgstr "_Editar" + +#: ../src/seahorse-viewer.c:196 +msgid "_View" +msgstr "_Ver" + +#: ../src/seahorse-viewer.c:197 +msgid "_Help" +msgstr "_Aida" + +#: ../src/seahorse-viewer.c:199 +msgid "Prefere_nces" +msgstr "Prefere_ncies" + +#: ../src/seahorse-viewer.c:200 +msgid "Change preferences for this program" +msgstr "Cambia les preferencies d'esti programa" + +#: ../src/seahorse-viewer.c:203 +msgid "About this program" +msgstr "Tocante a esti programa" + +#: ../src/seahorse-viewer.c:204 +msgid "_Contents" +msgstr "_Índiz" + +#: ../src/seahorse-viewer.c:205 +msgid "Show Seahorse help" +msgstr "Amosar aida de Seahorse" + +#: ../src/seahorse-viewer.c:302 +msgid "Export public key" +msgstr "Esportar clave pública" + +#: ../src/seahorse-viewer.c:320 +msgid "Exporting keys" +msgstr "Esportando claves" + +#: ../src/seahorse-viewer.c:345 +msgid "Couldn't retrieve data from key server" +msgstr "Nun se puen obtener los datos del sirvidor de claves" + +#. Translators: "Copied" is a verb (used as a status indicator), not an adjective for the word "keys" +#: ../src/seahorse-viewer.c:364 +msgid "Copied keys" +msgstr "Claves copiaes" + +#: ../src/seahorse-viewer.c:384 +msgid "Retrieving keys" +msgstr "Obteniendo claves" + +#: ../src/seahorse-viewer.c:399 +msgid "Couldn't delete." +msgstr "Nun pudo desaniciase." + +#: ../src/seahorse-viewer.c:433 +msgid "Deleting..." +msgstr "Desaniciando..." + +#: ../src/seahorse-viewer.c:459 +#, c-format +msgid "%s is a private key. Are you sure you want to proceed?" +msgstr "%s ye una clave privao. ¿De xuru que quies siguir?" + +#: ../src/seahorse-viewer.c:507 +msgid "Importing keys from key servers" +msgstr "Importando les claves dende sirvidores de claves" + +#: ../src/seahorse-viewer.c:533 +msgid "Show properties" +msgstr "Amosar propiedaes de la clave" + +#: ../src/seahorse-viewer.c:534 +msgctxt "This text refers to deleting an item from its type's backing store." +msgid "_Delete" +msgstr "_Desaniciar" + +#: ../src/seahorse-viewer.c:535 +msgid "Delete selected items" +msgstr "Desaniciar les claves escoyíes" + +#: ../src/seahorse-viewer.c:539 +msgid "E_xport..." +msgstr "E_sportar..." + +#: ../src/seahorse-viewer.c:540 +msgid "Export to a file" +msgstr "Esportar parte de la clave pública a un ficheru" + +#: ../src/seahorse-viewer.c:542 +msgid "Copy to the clipboard" +msgstr "Copiar al cartafueyu" + +#: ../src/seahorse-viewer.c:547 +msgid "Import selected keys to local key ring" +msgstr "Importar les claves escoyíes al aniellu de claves llocal" + +#: ../ssh/seahorse-ssh-askpass.c:99 +msgid "Enter your Secure Shell passphrase:" +msgstr "Introduz la to frase contraseña pa Secure Shell" + +#: ../ssh/seahorse-ssh-commands.c:85 +msgid "Configure Key for _Secure Shell..." +msgstr "Configurar clave pa Secure Shell..." + +#: ../ssh/seahorse-ssh-commands.c:86 +msgid "Send public Secure Shell key to another machine, and enable logins using that key." +msgstr "Unvia la clave pública de shell segura a otra máquina, y activar anicios de sesión usando esa clave." + +#: ../ssh/seahorse-ssh-commands.c:115 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "¿De xuru que quies desaniciar la clave Secure Shell '%s'?" + +#: ../ssh/seahorse-ssh-commands.c:118 +#, c-format +msgid "Are you sure you want to delete %d secure shell keys?" +msgstr "¿De xuru que quies desaniciar %d claves Secure Shell?" + +#: ../ssh/seahorse-ssh-generate.c:59 +#: ../ssh/seahorse-ssh-key.c:91 +#: ../ssh/seahorse-ssh-key.c:95 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Secure Shell Key" +msgstr "Clave Secure Shell" + +#: ../ssh/seahorse-ssh-generate.c:60 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "Usada p'acceder a otros ordenadores (ex. vía terminal)" + +#: ../ssh/seahorse-ssh-generate.c:90 +msgid "Couldn't generate Secure Shell key" +msgstr "Nun puede xenerase la clave Secure Shell" + +#: ../ssh/seahorse-ssh-generate.c:205 +msgid "Creating Secure Shell Key" +msgstr "Creando clave Secure Shell" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "Use your email address, and any other reminder you need about what this key is for." +msgstr "Usa tos señes de corréu, y cualquier recordatoriu que necesites pa saber pa qué val esta clave." + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "A Secure Shell (SSH) key lets you connect securely to trusted computers using SSH, without entering a different password for each of them." +msgstr "Una clave de Shell Segura (SSH) permite coneutase de mou seguru con ordenadores de confianza usando SSH, ensin escribir una contraseña distinta para caún d'ellos." + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "If there is already a computer you want to use this key with, you can set up that computer to recognize your key now. " +msgstr "Si yá hai un equipu pal que quieras usar esta clave, puedes configurar esi ordenador pa reconocer to clave agora. " + +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "New Secure Shell Key" +msgstr "Nueva clave Secure Shell" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "_Create and Set Up" +msgstr "_Crear y Afitar" + +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Just Create Key" +msgstr "_Namái crear clave" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "_Key Description:" +msgstr "Descripción de _clave:" + +#: ../ssh/seahorse-ssh-key.c:87 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Clave Secure Shell nun lleible)" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "Invalid" +msgstr "Nun válida" + +#: ../ssh/seahorse-ssh-key.c:116 +msgid "Private Secure Shell Key" +msgstr "Clave privada Secure Shell" + +#: ../ssh/seahorse-ssh-key.c:119 +msgid "Public Secure Shell Key" +msgstr "Clave pública Secure Shell" + +#: ../ssh/seahorse-ssh-key-properties.c:71 +msgid "Couldn't rename key." +msgstr "Nun puede renomase la clave." + +#: ../ssh/seahorse-ssh-key-properties.c:112 +msgid "Couldn't change authorization for key." +msgstr "Nun puede camudase l'autorización pa la clave." + +#: ../ssh/seahorse-ssh-key-properties.c:127 +msgid "Couldn't change passphrase for key." +msgstr "Nun se pudo camudar la frase de pasu pa la clave." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Algorithm:" +msgstr "Algoritmu:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Identifier:" +msgstr "Identificador:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Location:" +msgstr "Llocalización:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgid "Strength:" +msgstr "Llonxitú:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:8 +msgid "Trust" +msgstr "Autentificación" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:13 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "Esto sólo aplica na cuenta '%s'." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "E_xport Complete Key" +msgstr "E_sportar clave completa" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "El propietariu d'esta clave ta _autorizáu pa coneutar con esti ordenador" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "Used to connect to other computers." +msgstr "Usao pa coneutar a otros ordenadores." + +#: ../ssh/seahorse-ssh-operation.c:143 +#: ../ssh/seahorse-ssh-operation.c:732 +#, c-format +msgid "The SSH command was terminated unexpectedly." +msgstr "El comandu SSH finó de secute." + +#: ../ssh/seahorse-ssh-operation.c:151 +#: ../ssh/seahorse-ssh-operation.c:739 +msgid "The SSH command failed." +msgstr "El comandu SSH falló." + +#: ../ssh/seahorse-ssh-operation.c:445 +#: ../ssh/seahorse-ssh-operation.c:477 +msgid "Secure Shell key" +msgstr "Clave Secure Shell" + +#: ../ssh/seahorse-ssh-operation.c:448 +msgid "Passphrase:" +msgstr "Frase contraseña:" + +#. Just prompt over and over again +#: ../ssh/seahorse-ssh-operation.c:762 +msgid "Remote Host Password" +msgstr "Contraseña del equipu remotu" + +#: ../ssh/seahorse-ssh-operation.c:850 +msgid "Old Key Passphrase" +msgstr "Contraseña antigua de la clave" + +#: ../ssh/seahorse-ssh-operation.c:851 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Introduz la frase contraseña antigua pa: %s" + +#: ../ssh/seahorse-ssh-operation.c:855 +msgid "New Key Passphrase" +msgstr "Contraseña nueva de la clave" + +#: ../ssh/seahorse-ssh-operation.c:856 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Introduz la frase contraseña nueva pa: %s" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Enter Key Passphrase" +msgstr "Escribi la fras contraseña de la clave" + +#: ../ssh/seahorse-ssh-operation.c:931 +msgid "Passphrase for New Secure Shell Key" +msgstr "Fras contraseña pa la nueva clave Secure Shell" + +#: ../ssh/seahorse-ssh-operation.c:932 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "Introduz una fras contraseña pa la to nueva clave Secure Shell." + +#: ../ssh/seahorse-ssh-operation.c:1013 +#, c-format +msgid "Importing key: %s" +msgstr "Importando clave: %s" + +#: ../ssh/seahorse-ssh-operation.c:1015 +msgid "Importing key. Enter passphrase" +msgstr "Importando clave. Escribi la fras contraseña" + +#: ../ssh/seahorse-ssh-source.c:825 +msgid "No private key file is available for this key." +msgstr "Nun hai ficheru de clave privada disponible pa esta clave." + +#: ../ssh/seahorse-ssh-upload.c:45 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "Nun pueden configurase claves Secure Shell nel ordenador remotu." + +#. Show the progress window if necessary +#: ../ssh/seahorse-ssh-upload.c:181 +msgid "Configuring Secure Shell Keys..." +msgstr "Configurando claves Secure Shell..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "eg: fileserver.example.com:port" +msgstr "ej: sirvidor.exemplu.com:puertu" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "Establez Ordenador pa Conexones SSH" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "To use your Secure Shell key with another computer that uses SSH, you must already have a login account on that computer." +msgstr "Para usar to clave de Shell Segura con otru equipu que use SSH has tener yá una cuenta de shell nesi ordenador." + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "Nome _Ordenador:" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "Nome _Identificación:" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "_Afitar" + diff --git a/po/az.po b/po/az.po new file mode 100644 index 00000000..f9fbf44a --- /dev/null +++ b/po/az.po @@ -0,0 +1,2159 @@ +# seahorse.HEAD.po faylının Azərbaycan dilinə tərcüməsi +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# Mətin Əmirov , 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse.HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-02-03 19:44-0700\n" +"PO-Revision-Date: 2003-09-01 09:08+0300\n" +"Last-Translator: Mətin Əmirov \n" +"Language-Team: Azərbaycan \n" +"Language: az\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.0.1\n" + +#: agent/eggtrayicon.c:121 +msgid "Orientation" +msgstr "" + +#: agent/eggtrayicon.c:122 +msgid "The orientation of the tray." +msgstr "" + +#: agent/gtk-secure-entry.c:457 +msgid "Cursor Position" +msgstr "" + +#: agent/gtk-secure-entry.c:459 +msgid "The current position of the insertion cursor in chars" +msgstr "" + +#: agent/gtk-secure-entry.c:466 +msgid "Selection Bound" +msgstr "" + +#: agent/gtk-secure-entry.c:468 +msgid "" +"The position of the opposite end of the selection from the cursor in chars" +msgstr "" + +#: agent/gtk-secure-entry.c:475 +msgid "Maximum length" +msgstr "" + +#: agent/gtk-secure-entry.c:477 +msgid "Maximum number of characters for this entry. Zero if no maximum" +msgstr "" + +#: agent/gtk-secure-entry.c:485 +msgid "Has Frame" +msgstr "" + +#: agent/gtk-secure-entry.c:487 +msgid "FALSE removes outside bevel from entry" +msgstr "" + +#: agent/gtk-secure-entry.c:496 +msgid "Invisible character" +msgstr "" + +#: agent/gtk-secure-entry.c:498 +msgid "The character to use when masking entry contents (in \"password mode\")" +msgstr "" + +#: agent/gtk-secure-entry.c:507 +msgid "Activates default" +msgstr "" + +#: agent/gtk-secure-entry.c:509 +msgid "" +"Whether to activate the default widget (such as the default button in a " +"dialog) when Enter is pressed" +msgstr "" + +#: agent/gtk-secure-entry.c:514 +msgid "Width in chars" +msgstr "" + +#: agent/gtk-secure-entry.c:516 +msgid "Number of characters to leave space for in the entry" +msgstr "" + +#: agent/gtk-secure-entry.c:524 +msgid "Scroll offset" +msgstr "" + +#: agent/gtk-secure-entry.c:526 +msgid "Number of pixels of the entry scrolled off the screen to the left" +msgstr "" + +#: agent/gtk-secure-entry.c:533 +msgid "Text" +msgstr "" + +#: agent/gtk-secure-entry.c:535 +msgid "The contents of the entry" +msgstr "" + +#: agent/gtk-secure-entry.c:692 +msgid "Select on focus" +msgstr "" + +#: agent/gtk-secure-entry.c:694 +msgid "Whether to select the contents of an entry when it is focused" +msgstr "" + +#: agent/seahorse-agent-actions.c:97 +msgid "Password:" +msgstr "" + +#: agent/seahorse-agent-actions.c:98 +msgid "Please enter a password to use." +msgstr "" + +#: agent/seahorse-agent-cache.c:46 +msgid "Unparseable Key ID" +msgstr "" + +#: agent/seahorse-agent-cache.c:47 +msgid "Unknown/Invalid Key" +msgstr "" + +#: agent/seahorse-agent-cache.glade.h:1 +msgid "" +"Warning: Your system is not configured to cache passwords are in " +"secure memory." +msgstr "" + +#: agent/seahorse-agent-cache.glade.h:2 +msgid "Cached GPG Passwords" +msgstr "" + +#: agent/seahorse-agent-cache.glade.h:3 +msgid "Clear GPG password cache" +msgstr "" + +#: agent/seahorse-agent-cache.glade.h:4 +msgid "_Clear Cache" +msgstr "" + +#: agent/seahorse-agent-cache.glade.h:5 +msgid "_Show Window" +msgstr "" + +#: agent/seahorse-agent-prompt.c:200 +msgid "GPG Password" +msgstr "" + +#: agent/seahorse-agent-prompt.c:365 +msgid "Authorize Password Access" +msgstr "" + +#: agent/seahorse-agent-prompt.c:400 +msgid "The password is cached in memory." +msgstr "" + +#: agent/seahorse-agent-prompt.c:417 +msgid "_Authorize" +msgstr "" + +#. Make the column +#: agent/seahorse-agent-status.c:126 +msgid "Cached GPG Keys" +msgstr "" + +#. Warn and put in defaults +#: agent/seahorse-agent.c:100 +msgid "couldn't read gpg configuration, will try to create" +msgstr "" + +#: agent/seahorse-agent.c:122 +#, c-format +msgid "couldn't modify gpg configuration: %s" +msgstr "" + +#: agent/seahorse-agent.c:142 +msgid "couldn't fork process" +msgstr "" + +#: agent/seahorse-agent.c:148 +msgid "couldn't create new process group" +msgstr "" + +#: agent/seahorse-agent.c:178 +#, c-format +msgid "usage: seahorse-agent [-cdv]\n" +msgstr "" + +#: agent/seahorse-agent.c:276 +msgid "couldn't drop privileges properly" +msgstr "" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:1 +msgid "Decrypt..." +msgstr "" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:2 +msgid "Decryption operations on PGP encrypted files" +msgstr "" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:3 +msgid "Encrypt and sign operations on files" +msgstr "" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:4 +msgid "Encrypt..." +msgstr "" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:5 +msgid "Import" +msgstr "İdxal Et" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:6 +msgid "Import operation on PGP key files" +msgstr "" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:7 +msgid "Seahorse PGP decrypt operations" +msgstr "" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:8 +msgid "Seahorse PGP encrypt and sign operations" +msgstr "" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:9 +msgid "Seahorse PGP import operation" +msgstr "" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:10 +msgid "Seahorse PGP verify operation" +msgstr "" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:11 +msgid "Sign" +msgstr "" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:12 +msgid "Verify" +msgstr "Təsdiqlə" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:13 +msgid "Verify operation on PGP signed files" +msgstr "" + +#: data/seahorse.schemas.in.h:1 +msgid "A list of key server URIs to search for remote PGP keys." +msgstr "" + +#: data/seahorse.schemas.in.h:2 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "" + +#: data/seahorse.schemas.in.h:3 +msgid "Controls the visibility of the length column for the key manager." +msgstr "" + +#: data/seahorse.schemas.in.h:4 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "" + +#: data/seahorse.schemas.in.h:5 +msgid "Controls the visibility of the type column for the key manager." +msgstr "" + +#: data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "" + +#: data/seahorse.schemas.in.h:7 +msgid "Expire passwords in the cache" +msgstr "" + +#: data/seahorse.schemas.in.h:8 +msgid "How often to show progress during listing" +msgstr "" + +#: data/seahorse.schemas.in.h:9 +msgid "ID of the default key" +msgstr "" + +#: data/seahorse.schemas.in.h:10 +msgid "" +"If set to true, then all output from pgp operations will be ASCII text. " +"Files will have a '.asc' extension." +msgstr "" + +#: data/seahorse.schemas.in.h:11 +msgid "" +"If set to true, then output from certain pgp operations will be in canonical " +"text mode. Text mode is generally only needed for RFC 2015 signatures. RFC " +"3156 removes the need for text mode." +msgstr "" + +#: data/seahorse.schemas.in.h:12 +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "" + +#: data/seahorse.schemas.in.h:13 +msgid "Last keyserver search pattern" +msgstr "" + +#: data/seahorse.schemas.in.h:14 +msgid "Last keyserver used" +msgstr "" + +#: data/seahorse.schemas.in.h:15 +msgid "PGP Key servers" +msgstr "" + +#: data/seahorse.schemas.in.h:16 +msgid "Prompt before using GPG passwords in cache" +msgstr "" + +#: data/seahorse.schemas.in.h:17 +msgid "" +"Set to 'true' to have seahorse-agent prompt before giving out passwords it " +"has cached." +msgstr "" + +#: data/seahorse.schemas.in.h:18 +msgid "Show expires column in key manager" +msgstr "" + +#: data/seahorse.schemas.in.h:19 +msgid "Show length column in key manager" +msgstr "" + +#: data/seahorse.schemas.in.h:20 +msgid "Show trust column in key manager" +msgstr "" + +#: data/seahorse.schemas.in.h:21 +msgid "Show type column in key manager" +msgstr "" + +#: data/seahorse.schemas.in.h:22 +msgid "Show validity column in key manager" +msgstr "" + +#: data/seahorse.schemas.in.h:23 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name', " +"'id' and 'validity', Put a '-' in front of the column name to sort in " +"descending order." +msgstr "" + +#: data/seahorse.schemas.in.h:24 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', 'length' and 'type'. Put " +"a '-' in front of the column name to sort in descending order." +msgstr "" + +#: data/seahorse.schemas.in.h:25 +msgid "The column to sort the recipients by" +msgstr "" + +#: data/seahorse.schemas.in.h:26 +msgid "The column to sort the seahorse keys by" +msgstr "" + +#: data/seahorse.schemas.in.h:27 +msgid "" +"The last keyserver a search was performed against. Or empty for all " +"keyservers." +msgstr "" + +#: data/seahorse.schemas.in.h:28 +msgid "The last search pattern searched for against a keyserver." +msgstr "" + +#: data/seahorse.schemas.in.h:29 +msgid "The time (in minutes) to cache GPG passwords" +msgstr "" + +#: data/seahorse.schemas.in.h:30 +msgid "" +"This is the amount of time, specified in minutes, to cache GPG passwords in " +"seahorse-agent." +msgstr "" + +#: data/seahorse.schemas.in.h:31 +msgid "" +"This option enables the GPG password cache in the seahorse-agent daemon." +msgstr "" + +#: data/seahorse.schemas.in.h:32 +msgid "" +"This specifies how often the progress signal is emitted during a listing " +"operation. By default, the signal is emitted for every 20 keys processed. A " +"value of -1 will cause the signal to never be emitted." +msgstr "" + +#: data/seahorse.schemas.in.h:33 +msgid "" +"This specifies the default key to use for certain operations, mainly signing." +msgstr "" + +#: data/seahorse.schemas.in.h:34 +msgid "" +"When set seahorse-agent expires GPG passwords in it's cache after a peried " +"of time." +msgstr "" + +#: data/seahorse.schemas.in.h:35 +msgid "Whether the GPG password cache is enabled" +msgstr "" + +#: data/seahorse.schemas.in.h:36 +msgid "Whether to always encrypt to default key" +msgstr "" + +#: data/seahorse.schemas.in.h:37 +msgid "Whether to use ASCII Armor" +msgstr "" + +#: data/seahorse.schemas.in.h:38 +msgid "Whether to use canonical text mode" +msgstr "" + +#. Make the column +#: libseahorse/seahorse-key-store.c:750 src/seahorse-key-properties.c:380 +#: src/seahorse-key-properties.c:474 +msgid "Name" +msgstr "Ad" + +#. Make the column +#: libseahorse/seahorse-key-store.c:753 src/seahorse-key-properties.c:377 +msgid "Key ID" +msgstr "" + +#: libseahorse/seahorse-ldap-source.c:651 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "" + +#. TODO: We can update a percentage when there's more than one key +#: libseahorse/seahorse-ldap-source.c:825 +msgid "Retrieving remote keys..." +msgstr "" + +#. TODO: We can update a percentage when there's more than one key +#: libseahorse/seahorse-ldap-source.c:950 +msgid "Sending keys to key server..." +msgstr "" + +#: libseahorse/seahorse-passphrase.c:61 +#, c-format +msgid "Bad passphrase! Try again for '%s'" +msgstr "" + +#: libseahorse/seahorse-passphrase.c:63 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "" + +#: libseahorse/seahorse-passphrase.c:65 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "" + +#: libseahorse/seahorse-passphrase.glade.h:1 +#: libseahorse/seahorse-recipients.glade.h:1 src/seahorse-add-uid.glade.h:1 +#: src/seahorse-change-passphrase.glade.h:1 +#: src/seahorse-generate-adv.glade.h:1 src/seahorse-generate-druid.glade.h:1 +#: src/seahorse-keyserver-search.glade.h:1 +#: src/seahorse-multi-encrypt.glade.h:1 src/seahorse-revoke.glade.h:1 +msgid "*" +msgstr "*" + +#: libseahorse/seahorse-passphrase.glade.h:2 +msgid "Enter Passphrase" +msgstr "" + +#: libseahorse/seahorse-passphrase.glade.h:3 +msgid "Passphrase for key" +msgstr "" + +#: libseahorse/seahorse-prefs-cache.c:352 +msgid "Couldn't open the Session Properties" +msgstr "" + +#: libseahorse/seahorse-prefs-cache.c:365 +msgid "Couldn't start the 'seahorse-agent' program" +msgstr "" + +#: libseahorse/seahorse-prefs-cache.c:367 +msgid "The 'seahorse-agent' program exited unsucessfully." +msgstr "" + +#: libseahorse/seahorse-prefs-cache.c:415 +msgid "Another password caching agent is running. Disabling cache preferences." +msgstr "" + +#: libseahorse/seahorse-prefs.c:36 +msgid "[Add a key server here]" +msgstr "" + +#: libseahorse/seahorse-prefs.c:190 +msgid "URL" +msgstr "" + +#: libseahorse/seahorse-prefs.c:315 +msgid "_Ascii Armor" +msgstr "" + +#: libseahorse/seahorse-prefs.c:317 +msgid "_Text Mode" +msgstr "" + +#: libseahorse/seahorse-prefs.c:319 +msgid "_Encrypt to Self" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:1 +msgid " minutes" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:2 +msgid "" +"Note: The 'seahorse-agent' program was started. This program is " +"necessary in order for caching of passwords. " +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:3 +msgid "" +"Warning: The 'seahorse-agent' program is not running. This program is " +"necessary in order for caching of passwords. " +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:4 +msgid "Cache _GPG passwords in memory" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:5 +msgid "Encryption Settings" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:6 +msgid "Key Servers" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:7 +msgid "Key Servers:" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:8 +#: plugins/nautilus/seahorse-pgp-preferences.c:48 +#: plugins/nautilus/seahorse-pgp-preferences.desktop.in.h:2 +msgid "PGP Preferences" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:9 +msgid "Password Cache" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:10 +#, fuzzy +msgid "Session Properties" +msgstr "%s Xüsusiyyətləri" + +#: libseahorse/seahorse-prefs.glade.h:11 +msgid "Start seahorse-agent" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:12 +msgid "You can add it to your Startup Programs in: " +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:13 +msgid "_Ask me before using a cached password" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:14 +msgid "_Default Key:" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:15 +msgid "_Expire passwords from memory after " +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:16 +msgid "_Use default key to sign" +msgstr "" + +#. TODO: We can use the GPGME progress to make this more accurate +#: libseahorse/seahorse-pgp-source.c:524 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "" +msgstr[1] "" + +#: libseahorse/seahorse-pgp-source.c:588 +msgid "Loading Keys..." +msgstr "" + +#: libseahorse/seahorse-recipients-store.c:153 +#: src/seahorse-key-manager-store.c:285 +msgid "Validity" +msgstr "" + +#: libseahorse/seahorse-recipients.c:54 +#, c-format +msgid "Selected %d recipient" +msgid_plural "Selected %d recipients" +msgstr[0] "" +msgstr[1] "" + +#: libseahorse/seahorse-recipients.c:58 +#, c-format +msgid "Selected %d not fully valid recipient" +msgid_plural "Selected %d not fully valid recipients" +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATOR: This string will become +#. * "Selected %d recipients (%d not fully valid)" +#: libseahorse/seahorse-recipients.c:66 +#, c-format +msgid "Selected %d recipient " +msgid_plural "Selected %d recipients " +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATOR: This string will become +#. * "Selected %d recipients (%d not fully valid)" +#: libseahorse/seahorse-recipients.c:71 +#, c-format +msgid "(%d not fully valid)" +msgid_plural "(%d not fully valid)" +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATOR: "%s%s" are "Selected %d recipients (%d not fully valid)" +#. * Swap order with "%2$s%1$s" if needed +#. TRANSLATOR: "%s%s" are "You have selected %d files and %d folders" +#. * Swap order with "%2$s%1$s" if needed +#: libseahorse/seahorse-recipients.c:76 src/seahorse-process-multiple.c:58 +#, c-format +msgid "%s%s" +msgstr "" + +#: libseahorse/seahorse-recipients.glade.h:2 +msgid "" +"All Keys\n" +"Selected Keys\n" +"Search Results" +msgstr "" + +#: libseahorse/seahorse-recipients.glade.h:5 +msgid "Choose Keys" +msgstr "" + +#: libseahorse/seahorse-recipients.glade.h:6 +msgid "Search _for: " +msgstr "" + +#: libseahorse/seahorse-signatures.c:49 +#, fuzzy +msgid "[Unknown Key]" +msgstr "Namə'lum" + +#: libseahorse/seahorse-signatures.c:66 +#, c-format +msgid "%s: Good signature from (expired) '%s' on %s" +msgstr "" + +#: libseahorse/seahorse-signatures.c:70 +#, c-format +msgid "%s: Expired signature from '%s' on %s" +msgstr "" + +#: libseahorse/seahorse-signatures.c:74 +#, c-format +msgid "%s: Good signature from (revoked) '%s' on %s" +msgstr "" + +#: libseahorse/seahorse-signatures.c:78 +#, c-format +msgid "%s: Good signature from '%s' on %s" +msgstr "" + +#: libseahorse/seahorse-signatures.c:82 +#, c-format +msgid "%s: Signing key not in key ring" +msgstr "" + +#: libseahorse/seahorse-signatures.c:85 +#, c-format +msgid "%s: Bad signature" +msgstr "" + +#: libseahorse/seahorse-signatures.c:88 +#, c-format +msgid "%s: Not a signature" +msgstr "" + +#: libseahorse/seahorse-signatures.c:91 +#, c-format +msgid "%s: Verification error" +msgstr "" + +#: libseahorse/seahorse-signatures.glade.h:1 +msgid "Signatures found are listed below: " +msgstr "" + +#: libseahorse/seahorse-signatures.glade.h:2 +msgid "Signature Verification" +msgstr "" + +#: libseahorse/seahorse-util.c:127 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: libseahorse/seahorse-util.c:701 +msgid "Couldn't run file-roller" +msgstr "" + +#: libseahorse/seahorse-util.c:706 +msgid "The file-roller process did not complete successfully" +msgstr "" + +#: libseahorse/seahorse-util.c:746 +msgid "All PGP key files" +msgstr "" + +#: libseahorse/seahorse-util.c:752 libseahorse/seahorse-util.c:792 +msgid "All files" +msgstr "" + +#: libseahorse/seahorse-util.c:785 +msgid "Archive files" +msgstr "" + +#: libseahorse/seahorse-util.c:814 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" + +#: libseahorse/seahorse-util.c:817 +msgid "_Replace" +msgstr "" + +#: libseahorse/seahorse-validity.c:31 src/seahorse-key-manager-store.c:148 +#: src/seahorse-key-properties.glade.h:20 +msgid "Unknown" +msgstr "Namə'lum" + +#: libseahorse/seahorse-validity.c:33 src/seahorse-key-properties.glade.h:10 +msgid "Never" +msgstr "Qətiyyən" + +#: libseahorse/seahorse-validity.c:35 src/seahorse-key-properties.glade.h:8 +msgid "Marginal" +msgstr "" + +#: libseahorse/seahorse-validity.c:37 src/seahorse-key-properties.glade.h:6 +msgid "Full" +msgstr "" + +#: libseahorse/seahorse-validity.c:39 src/seahorse-key-properties.glade.h:18 +msgid "Ultimate" +msgstr "" + +#: libseahorse/seahorse-validity.c:41 +msgid "Disabled" +msgstr "Qeyri-fəal" + +#: libseahorse/seahorse-validity.c:43 src/seahorse-key-properties.c:204 +msgid "Revoked" +msgstr "" + +#: libseahorse/seahorse-widget.c:210 +#, c-format +msgid "Could not display help: %s" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:45 +msgid "_Encrypt..." +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:48 +msgid "PGP Encrypt the selected text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:50 +msgid "Decr_ypt/Verify" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:53 +msgid "Decrypt and/or Verify PGP text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:55 +msgid "Sig_n..." +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:58 +msgid "PGP Sign the selected text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:220 +msgid "Couldn't encrypt text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:227 +msgid "Encrypted text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:245 +msgid "Couldn't import keys" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:248 +msgid "Keys found but not imported" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:269 plugins/gedit/seahorse-gedit.c:290 +msgid "Couldn't decrypt text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:353 +msgid "No PGP encrypted or signed text is selected." +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:384 +msgid "Decrypted text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:391 +msgid "Verified text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:422 +#, c-format +msgid "Block %d" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:437 +#, c-format +msgid "Imported %d key" +msgid_plural "Imported %d keys" +msgstr[0] "" +msgstr[1] "" + +#: plugins/gedit/seahorse-gedit.c:475 plugins/gedit/seahorse-gedit.c:486 +msgid "Couldn't sign text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:493 +msgid "Signed text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.schemas.in.h:1 +msgid "Enable the seahorse PGP encryption plugin for gedit." +msgstr "" + +#: plugins/gedit/seahorse-gedit.schemas.in.h:2 +msgid "Enable the seahorse gedit plugin" +msgstr "" + +#: plugins/gedit/seahorse-pgp.gedit-plugin.desktop.in.h:1 +msgid "PGP Encryption" +msgstr "" + +#: plugins/gedit/seahorse-pgp.gedit-plugin.desktop.in.h:2 +msgid "The PGP encrypt plugin performs encryption operations on text." +msgstr "" + +#: plugins/nautilus/seahorse-pgp-preferences.desktop.in.h:1 +msgid "Configure PGP" +msgstr "" + +#: src/main.c:48 +msgid "Import keys from the file" +msgstr "" + +#: src/main.c:51 +msgid "Encrypt file" +msgstr "" + +#: src/main.c:54 +msgid "Sign file with default key" +msgstr "" + +#: src/main.c:57 +msgid "Encrypt and sign file with default key" +msgstr "" + +#: src/main.c:60 +msgid "Decrypt encrypted file" +msgstr "" + +#: src/main.c:63 +msgid "Verify signature file" +msgstr "" + +#: src/main.c:66 +msgid "Read list of URIs on standard in" +msgstr "" + +#: src/main.c:146 src/seahorse-key-manager.c:112 +#, c-format +msgid "Couldn't import keys from \"%s\"" +msgstr "" + +#: src/main.c:154 +#, fuzzy +msgid "Imported key" +msgstr "İdxal Et" + +#: src/main.c:155 +#, c-format +msgid "Imported %d keys" +msgstr "" + +#: src/main.c:193 +#, c-format +msgid "Choose Encrypted File Name for '%s'" +msgstr "" + +#: src/main.c:205 +#, c-format +msgid "Couldn't encrypt \"%s\"" +msgstr "" + +#: src/main.c:258 +#, c-format +msgid "Choose Signature File Name for '%s'" +msgstr "" + +#: src/main.c:266 +#, c-format +msgid "Couldn't sign \"%s\"" +msgstr "" + +#: src/main.c:298 +#, c-format +msgid "Choose Decrypted File Name for '%s'" +msgstr "" + +#: src/main.c:305 +#, c-format +msgid "Couldn't decrypt \"%s\"" +msgstr "" + +#: src/main.c:357 +#, c-format +msgid "Choose Original File for '%s'" +msgstr "" + +#: src/main.c:385 +#, c-format +msgid "Couldn't verify \"%s\"" +msgstr "" + +#: src/main.c:431 src/seahorse.desktop.in.h:1 +msgid "GPG Keys Manager" +msgstr "" + +#: src/seahorse-add-subkey.c:110 +msgid "Couldn't add subkey" +msgstr "" + +#: src/seahorse-add-subkey.c:126 +#, c-format +msgid "Add subkey to %s" +msgstr "" + +#: src/seahorse-add-subkey.glade.h:1 src/seahorse-generate-adv.glade.h:5 +msgid "DSA (sign only)" +msgstr "" + +#: src/seahorse-add-subkey.glade.h:2 +msgid "ElGamal (encrypt only)" +msgstr "" + +#. expires +#: src/seahorse-add-subkey.glade.h:3 src/seahorse-generate-adv.glade.h:6 +#: src/seahorse-generate-druid.glade.h:14 src/seahorse-key-properties.c:209 +msgid "Expiration Date:" +msgstr "" + +#: src/seahorse-add-subkey.glade.h:4 +msgid "Generate a new subkey" +msgstr "" + +#: src/seahorse-add-subkey.glade.h:5 src/seahorse-generate-adv.glade.h:10 +#: src/seahorse-key-properties.c:232 +msgid "If key never expires" +msgstr "" + +#: src/seahorse-add-subkey.glade.h:6 src/seahorse-generate-adv.glade.h:12 +msgid "Key _Length:" +msgstr "" + +#: src/seahorse-add-subkey.glade.h:7 src/seahorse-generate-adv.glade.h:13 +msgid "Key _Type:" +msgstr "" + +#: src/seahorse-add-subkey.glade.h:8 src/seahorse-generate-adv.glade.h:14 +msgid "Key type / algorithm" +msgstr "" + +#: src/seahorse-add-subkey.glade.h:9 src/seahorse-generate-adv.glade.h:15 +msgid "Length of Key" +msgstr "" + +#: src/seahorse-add-subkey.glade.h:10 src/seahorse-generate-adv.glade.h:17 +#: src/seahorse-key-properties.c:230 +msgid "Never E_xpires" +msgstr "" + +#: src/seahorse-add-subkey.glade.h:11 +msgid "RSA (encrypt only)" +msgstr "" + +#: src/seahorse-add-subkey.glade.h:12 src/seahorse-generate-adv.glade.h:21 +msgid "RSA (sign only)" +msgstr "" + +#: src/seahorse-add-uid.c:81 +msgid "Couldn't add user id" +msgstr "" + +#: src/seahorse-add-uid.c:104 +#, c-format +msgid "Add user ID to %s" +msgstr "" + +#: src/seahorse-add-uid.glade.h:2 +msgid "Add User ID" +msgstr "" + +#: src/seahorse-add-uid.glade.h:3 +msgid "Create the new user ID" +msgstr "" + +#: src/seahorse-add-uid.glade.h:4 src/seahorse-generate-adv.glade.h:7 +msgid "Full _Name:" +msgstr "" + +#: src/seahorse-add-uid.glade.h:5 src/seahorse-generate-adv.glade.h:11 +msgid "Key Co_mment:" +msgstr "" + +#: src/seahorse-add-uid.glade.h:6 src/seahorse-generate-adv.glade.h:16 +msgid "Must be at least 5 characters long" +msgstr "" + +#: src/seahorse-add-uid.glade.h:7 src/seahorse-generate-adv.glade.h:18 +#: src/seahorse-generate-druid.glade.h:23 +msgid "Optional comment describing key" +msgstr "" + +#: src/seahorse-add-uid.glade.h:8 src/seahorse-generate-adv.glade.h:19 +#: src/seahorse-generate-druid.glade.h:24 +msgid "Optional email address" +msgstr "" + +#: src/seahorse-add-uid.glade.h:9 src/seahorse-generate-adv.glade.h:22 +msgid "_Email Address:" +msgstr "e_Poçt Ünvanı:" + +#: src/seahorse-change-passphrase.glade.h:2 +msgid "Change Passphrase" +msgstr "" + +#: src/seahorse-change-passphrase.glade.h:3 +#: src/seahorse-generate-adv.glade.h:2 +msgid "Con_firm Passphrase:" +msgstr "" + +#: src/seahorse-change-passphrase.glade.h:4 +msgid "Confirm new passphrase" +msgstr "" + +#: src/seahorse-change-passphrase.glade.h:5 +msgid "Enter new passphrase" +msgstr "" + +#: src/seahorse-change-passphrase.glade.h:6 +msgid "New _Passphrase:" +msgstr "" + +#: src/seahorse-delete.c:39 +#, c-format +msgid "%s is a key pair! Do you still want to delete it?" +msgstr "" + +#: src/seahorse-delete.c:70 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "" + +#: src/seahorse-delete.c:116 +msgid "Couldn't delete key" +msgstr "" + +#: src/seahorse-delete.c:134 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" + +#: src/seahorse-delete.c:156 +msgid "Couldn't delete subkey" +msgstr "" + +#: src/seahorse-delete.c:174 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "" + +#: src/seahorse-delete.c:197 +msgid "Couldn't delete user id" +msgstr "" + +#: src/seahorse-generate-adv.c:141 src/seahorse-generate-druid.c:167 +msgid "Couldn't generate key" +msgstr "" + +#: src/seahorse-generate-adv.glade.h:3 +msgid "Confirmation of passphrase" +msgstr "" + +#: src/seahorse-generate-adv.glade.h:4 +msgid "DSA & ElGamal" +msgstr "" + +#: src/seahorse-generate-adv.glade.h:8 +msgid "Generate a Key" +msgstr "" + +#: src/seahorse-generate-adv.glade.h:9 +msgid "Generate a new key" +msgstr "" + +#: src/seahorse-generate-adv.glade.h:20 src/seahorse-generate-druid.glade.h:26 +msgid "Passphrase to secure key" +msgstr "" + +#: src/seahorse-generate-adv.glade.h:23 +msgid "_Generate" +msgstr "" + +#: src/seahorse-generate-adv.glade.h:24 +msgid "_Passphrase:" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:2 +msgid "" +"Before selecting apply to start key generation, please make sure all of your " +"previous settings are correct." +msgstr "" + +#: src/seahorse-generate-druid.glade.h:3 +msgid "" +"Choosing a passphrase is an integral part of creating a strong key. Like a " +"password, a passphrase should contain letters, numbers, and punctuation. " +"Additionally, a passphrase can contain spaces, meaning it can contain many " +"words. \n" +"\n" +"You should pick a phrase that is easy to rememeber and contains punctuation. " +"Take this phrase, adjust the case of various letters, and change some of the " +"letters into numbers or punctuation, reminiscent of \"leet speak\", but " +"don't make it so obscure to the point where you can't remember it." +msgstr "" + +#: src/seahorse-generate-druid.glade.h:6 +msgid "Comment:" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:7 +msgid "Confirm" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:8 +msgid "Confirm Passphrase:" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:9 +msgid "Confirm passphrase" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:10 +msgid "Date the Key Expires" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:11 +#, fuzzy +msgid "Email Address:" +msgstr "e_Poçt Ünvanı:" + +#: src/seahorse-generate-druid.glade.h:12 +msgid "Enter Name - Must be at least five letters." +msgstr "" + +#: src/seahorse-generate-druid.glade.h:13 src/seahorse-key-manager-store.c:289 +msgid "Expiration Date" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:15 +msgid "Extra High Security" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:16 +msgid "Full Name:" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:17 +msgid "High Security" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:18 +msgid "Key Generation Assistant" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:19 +msgid "Key Generation Assistant Complete" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:20 +msgid "" +"Keys must be given an appropriate expiration date. For most people, the " +"default option of \"never expires\" is sufficient. If you only plan on using " +"the key for a certain period of time, i.e. for a specific project, you " +"should pick an expiration date after the projected completion of your " +"project. After the expiration date, your private key will still be able to " +"decrypt messages or data encrypted with your public key. However, your " +"private key will no longer sign messages or data." +msgstr "" + +#: src/seahorse-generate-druid.glade.h:21 +msgid "Medium Security" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:22 src/seahorse-key-manager-store.c:192 +#: src/seahorse-key-properties.c:216 +msgid "Never Expires" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:25 +msgid "Passphrase" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:27 +msgid "Passphrase:" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:28 +msgid "Personal Information" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:29 +msgid "Seahorse Key Generation Assistant" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:30 +msgid "Security Level" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:31 +msgid "" +"The Medium Security level is the default and should be acceptable for " +"general everyday usage. \n" +"\n" +"The High Security level should be selected if you know your data will be " +"actively scrutinized. The Extra High level should be selected if you know " +"your data is actively scrutinized and will be under cryptographic attack." +msgstr "" + +#: src/seahorse-generate-druid.glade.h:34 +msgid "" +"This assistant will guide you through the steps of creating a GPG key pair." +msgstr "" + +#: src/seahorse-generate-druid.glade.h:35 +msgid "" +"To create a key and tie it to your identity, the following information is " +"needed: Full Name, Email Address, and Comment. \n" +"\n" +"These values will be given to the name of your key in the following " +"manner: \n" +"\n" +"Full Name (Comment) ." +msgstr "" + +#: src/seahorse-generate-druid.glade.h:40 +msgid "druidpage_pass" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:41 +msgid "druidpage_pinfo" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:42 +msgid "keygen_druid" +msgstr "" + +#: src/seahorse-generate-select.glade.h:1 +msgid "Advanced" +msgstr "" + +#: src/seahorse-generate-select.glade.h:2 +msgid "Assistant" +msgstr "" + +#: src/seahorse-generate-select.glade.h:3 +msgid "Continue" +msgstr "" + +#: src/seahorse-generate-select.glade.h:4 +msgid "Generate Key" +msgstr "" + +#: src/seahorse-generate-select.glade.h:5 +msgid "Generate a key via the assistant." +msgstr "" + +#: src/seahorse-generate-select.glade.h:6 +msgid "Generate a key with the advanced dialog." +msgstr "" + +#: src/seahorse-generate-select.glade.h:7 +msgid "Select a method to generate your new key:" +msgstr "" + +#: src/seahorse-generate-select.glade.h:8 +msgid "radio_druid" +msgstr "" + +#: src/seahorse-key-manager-store.c:136 +msgid "RSA" +msgstr "" + +#: src/seahorse-key-manager-store.c:138 +msgid "RSA-E" +msgstr "" + +#: src/seahorse-key-manager-store.c:140 +msgid "RSA-S" +msgstr "" + +#: src/seahorse-key-manager-store.c:142 +msgid "ELG-E" +msgstr "" + +#: src/seahorse-key-manager-store.c:144 +msgid "DSA" +msgstr "" + +#: src/seahorse-key-manager-store.c:146 +msgid "ELG" +msgstr "" + +#: src/seahorse-key-manager-store.c:185 src/seahorse-key-properties.c:206 +msgid "Expired" +msgstr "Vaxtı Bitib" + +#: src/seahorse-key-manager-store.c:293 +msgid "Trust" +msgstr "" + +#: src/seahorse-key-manager-store.c:297 +msgid "Length" +msgstr "Uzunluq" + +#: src/seahorse-key-manager-store.c:301 +msgid "Type" +msgstr "Növ" + +#: src/seahorse-key-manager.c:101 +#, fuzzy +msgid "Import Key" +msgstr "İdxal Et" + +#: src/seahorse-key-manager.c:133 +msgid "Couldn't import keys from clipboard" +msgstr "" + +#: src/seahorse-key-manager.c:170 +msgid "Couldn't export key to clipboard" +msgstr "" + +#: src/seahorse-key-manager.c:200 +msgid "Export Key" +msgstr "" + +#: src/seahorse-key-manager.c:213 src/seahorse-keyserver-results.c:129 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "" + +#: src/seahorse-key-manager.c:230 +msgid "Backup Keyrings to Archive" +msgstr "" + +#: src/seahorse-key-manager.c:399 +msgid "translator_credits" +msgstr "" +"Vasif İsmailoğlu \n" +"Mətin Əmirov " + +#: src/seahorse-key-manager.c:419 +msgid "seahorse" +msgstr "" + +#: src/seahorse-key-manager.c:584 +#, c-format +msgid "Couldn't import key from \"%s\"" +msgstr "" + +#: src/seahorse-key-manager.glade.h:1 +msgid "First time options:" +msgstr "" + +#: src/seahorse-key-manager.glade.h:2 +msgid "Add P_hoto ID..." +msgstr "" + +#: src/seahorse-key-manager.glade.h:3 +msgid "Add Sub_key..." +msgstr "" + +#: src/seahorse-key-manager.glade.h:4 +msgid "Add _Revoker..." +msgstr "" + +#: src/seahorse-key-manager.glade.h:5 +msgid "Add _User ID..." +msgstr "" + +#: src/seahorse-key-manager.glade.h:6 +msgid "Add a new subkey" +msgstr "" + +#: src/seahorse-key-manager.glade.h:7 +msgid "Add a new user ID" +msgstr "" + +#: src/seahorse-key-manager.glade.h:8 +msgid "Add a photo ID" +msgstr "" + +#: src/seahorse-key-manager.glade.h:9 +msgid "Add the default key as a revoker" +msgstr "" + +#: src/seahorse-key-manager.glade.h:10 +msgid "Backup all keys" +msgstr "" + +#: src/seahorse-key-manager.glade.h:11 +msgid "Change passphrase of secret key" +msgstr "" + +#: src/seahorse-key-manager.glade.h:12 +msgid "Collapse all listings" +msgstr "" + +#: src/seahorse-key-manager.glade.h:13 +msgid "Create a new key" +msgstr "" + +#: src/seahorse-key-manager.glade.h:14 +msgid "Create a revocation certificate" +msgstr "" + +#: src/seahorse-key-manager.glade.h:15 +msgid "Delete key" +msgstr "" + +#: src/seahorse-key-manager.glade.h:16 +msgid "E_xport" +msgstr "" + +#: src/seahorse-key-manager.glade.h:17 +msgid "E_xport..." +msgstr "" + +#: src/seahorse-key-manager.glade.h:18 +msgid "Expand all listings" +msgstr "" + +#: src/seahorse-key-manager.glade.h:19 +#: src/seahorse-keyserver-results.glade.h:2 +msgid "Export key" +msgstr "" + +#: src/seahorse-key-manager.glade.h:20 +#: src/seahorse-keyserver-results.glade.h:3 +msgid "Export public key" +msgstr "" + +#: src/seahorse-key-manager.glade.h:21 +msgid "Filter: " +msgstr "" + +#: src/seahorse-key-manager.glade.h:22 +msgid "Generate a new key of your own: " +msgstr "" + +#: src/seahorse-key-manager.glade.h:23 +msgid "Import existing keys from a file:" +msgstr "" + +#: src/seahorse-key-manager.glade.h:24 +msgid "Import keys" +msgstr "" + +#: src/seahorse-key-manager.glade.h:25 +#: src/seahorse-keyserver-results.glade.h:8 +msgid "Seahorse - GPG Key Manager" +msgstr "" + +#: src/seahorse-key-manager.glade.h:26 +msgid "Search for keys on a key server" +msgstr "" + +#: src/seahorse-key-manager.glade.h:27 +#: src/seahorse-keyserver-results.glade.h:9 +msgid "Show Seahorse help" +msgstr "" + +#: src/seahorse-key-manager.glade.h:28 +#: src/seahorse-keyserver-results.glade.h:10 +msgid "Show key properties" +msgstr "" + +#: src/seahorse-key-manager.glade.h:29 +#: src/seahorse-keyserver-results.glade.h:11 +msgid "Sign key" +msgstr "" + +#: src/seahorse-key-manager.glade.h:30 +msgid "Sign public key" +msgstr "" + +#: src/seahorse-key-manager.glade.h:31 +msgid "To get started with encryption you'll need keys." +msgstr "" + +#: src/seahorse-key-manager.glade.h:32 +msgid "_Backup Keyrings..." +msgstr "" + +#: src/seahorse-key-manager.glade.h:33 +msgid "_Change Passphrase..." +msgstr "" + +#: src/seahorse-key-manager.glade.h:34 +msgid "_Collapse All" +msgstr "Hamısını _Sıxışdır" + +#: src/seahorse-key-manager.glade.h:35 +#: src/seahorse-keyserver-results.glade.h:12 +msgid "_Contents" +msgstr "_Məzmun" + +#: src/seahorse-key-manager.glade.h:36 +msgid "_Copy" +msgstr "" + +#: src/seahorse-key-manager.glade.h:37 +#: src/seahorse-keyserver-results.glade.h:13 +msgid "_Copy Key" +msgstr "" + +#: src/seahorse-key-manager.glade.h:38 src/seahorse-key-properties.glade.h:25 +msgid "_Delete" +msgstr "_Sil" + +#: src/seahorse-key-manager.glade.h:39 +#, fuzzy +msgid "_Delete Key" +msgstr "_Sil" + +#: src/seahorse-key-manager.glade.h:40 +msgid "_Expand All" +msgstr "" + +#: src/seahorse-key-manager.glade.h:41 +msgid "_Find Remote Keys..." +msgstr "" + +#: src/seahorse-key-manager.glade.h:42 +msgid "_Generate Revocation Certificate..." +msgstr "" + +#: src/seahorse-key-manager.glade.h:43 +#: src/seahorse-keyserver-results.glade.h:14 +msgid "_Import" +msgstr "_İdxal Et" + +#: src/seahorse-key-manager.glade.h:44 +msgid "_Import..." +msgstr "_İdxal Et..." + +#: src/seahorse-key-manager.glade.h:45 +#: src/seahorse-keyserver-results.glade.h:16 +msgid "_Key" +msgstr "" + +#: src/seahorse-key-manager.glade.h:46 +msgid "_New..." +msgstr "" + +#: src/seahorse-key-manager.glade.h:47 +msgid "_Paste Key" +msgstr "" + +#: src/seahorse-key-manager.glade.h:48 +#: src/seahorse-keyserver-results.glade.h:17 +msgid "_Properties" +msgstr "_Xassələr" + +#: src/seahorse-key-manager.glade.h:49 +msgid "_Remote Search" +msgstr "" + +#: src/seahorse-key-manager.glade.h:50 src/seahorse-key-properties.glade.h:28 +#: src/seahorse-sign.glade.h:17 +msgid "_Sign" +msgstr "" + +#: src/seahorse-key-manager.glade.h:51 +msgid "_Sign..." +msgstr "" + +#. key id +#: src/seahorse-key-properties.c:179 +msgid "Key ID:" +msgstr "" + +#: src/seahorse-key-properties.c:179 +msgid "Key identifier" +msgstr "" + +#. type +#: src/seahorse-key-properties.c:184 +msgid "Type:" +msgstr "Növ:" + +#: src/seahorse-key-properties.c:184 +msgid "Algorithm" +msgstr "" + +#. created +#: src/seahorse-key-properties.c:192 +msgid "Created:" +msgstr "" + +#: src/seahorse-key-properties.c:192 +msgid "Key creation date" +msgstr "" + +#. length +#: src/seahorse-key-properties.c:196 +msgid "Length:" +msgstr "Uzunluq:" + +#. status +#: src/seahorse-key-properties.c:201 +msgid "Status:" +msgstr "Vəziyyət:" + +#: src/seahorse-key-properties.c:202 +msgid "Good" +msgstr "" + +#: src/seahorse-key-properties.c:266 +#, c-format +msgid "%s Properties" +msgstr "%s Xüsusiyyətləri" + +#: src/seahorse-key-properties.c:302 +msgid "All Signatures" +msgstr "" + +#: src/seahorse-key-properties.c:553 +msgid "Couldn't change primary user ID" +msgstr "" + +#: src/seahorse-key-properties.c:626 src/seahorse-key-properties.glade.h:27 +msgid "_Revoke" +msgstr "" + +#: src/seahorse-key-properties.c:630 +#, c-format +msgid "Revoke subkey %d" +msgstr "" + +#: src/seahorse-key-properties.c:639 +#, c-format +msgid "Subkey %d" +msgstr "" + +#: src/seahorse-key-properties.c:651 +#, c-format +msgid "Delete subkey %d" +msgstr "" + +#: src/seahorse-key-properties.glade.h:1 +msgid "All" +msgstr "Hamısı" + +#: src/seahorse-key-properties.glade.h:2 +msgid "Change _Passphrase" +msgstr "" + +#: src/seahorse-key-properties.glade.h:3 +msgid "Dis_abled" +msgstr "" + +#: src/seahorse-key-properties.glade.h:4 +msgid "Disabled keys cannot be used for operations" +msgstr "" + +#: src/seahorse-key-properties.glade.h:5 +msgid "Fingerprint:" +msgstr "" + +#: src/seahorse-key-properties.glade.h:7 +msgid "Fully trust owner" +msgstr "" + +#: src/seahorse-key-properties.glade.h:9 +msgid "Marginally trust owner" +msgstr "" + +#: src/seahorse-key-properties.glade.h:11 +msgid "Never trust owner" +msgstr "" + +#: src/seahorse-key-properties.glade.h:12 +msgid "Owner _Trust:" +msgstr "" + +#: src/seahorse-key-properties.glade.h:13 +msgid "Owner is unknown" +msgstr "" + +#: src/seahorse-key-properties.glade.h:14 +msgid "Primary ID:" +msgstr "" + +#: src/seahorse-key-properties.glade.h:15 +msgid "Primary Key" +msgstr "" + +#: src/seahorse-key-properties.glade.h:16 +msgid "Signatures" +msgstr "" + +#: src/seahorse-key-properties.glade.h:17 +msgid "Trust placed in owner's ability to sign keys" +msgstr "" + +#: src/seahorse-key-properties.glade.h:19 +msgid "Unique key identifier" +msgstr "" + +#: src/seahorse-key-properties.glade.h:21 +msgid "User IDs" +msgstr "" + +#: src/seahorse-key-properties.glade.h:22 +#, fuzzy +msgid "User IDs:" +msgstr "İstifadəçi ID'si" + +#: src/seahorse-key-properties.glade.h:23 +msgid "Your personal key" +msgstr "" + +#: src/seahorse-key-properties.glade.h:24 +msgid "_Add" +msgstr "" + +#: src/seahorse-key-properties.glade.h:26 +msgid "_Primary" +msgstr "" + +#: src/seahorse-key-properties.glade.h:29 +msgid "_Signatures:" +msgstr "" + +#: src/seahorse-keyserver-results.c:87 src/seahorse-keyserver-results.c:156 +msgid "Couldn't retrieve key data from key server" +msgstr "" + +#: src/seahorse-keyserver-results.c:100 +msgid "Couldn't import keys into keyring" +msgstr "" + +#: src/seahorse-keyserver-results.c:121 +msgid "Save Remote Keys" +msgstr "" + +#: src/seahorse-keyserver-results.c:217 +#, c-format +msgid "Selected %d keys" +msgstr "" + +#: src/seahorse-keyserver-results.c:301 +#, fuzzy +msgid "Remote Keys" +msgstr "İdxal Et" + +#: src/seahorse-keyserver-results.c:303 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "" + +#: src/seahorse-keyserver-results.glade.h:1 +msgid "Copy the selected key to the clipboard" +msgstr "" + +#: src/seahorse-keyserver-results.glade.h:4 +msgid "Find Remote Keys on Key Servers" +msgstr "" + +#: src/seahorse-keyserver-results.glade.h:5 +msgid "Find Remote Keys..." +msgstr "" + +#: src/seahorse-keyserver-results.glade.h:6 +msgid "Import selected keys to local keyring" +msgstr "" + +#: src/seahorse-keyserver-results.glade.h:7 +msgid "Save the key to a file" +msgstr "" + +#: src/seahorse-keyserver-results.glade.h:15 +#, fuzzy +msgid "_Import to Keyring..." +msgstr "_İdxal Et..." + +#. The all key servers option +#: src/seahorse-keyserver-search.c:195 +msgid "All Key Servers" +msgstr "" + +#: src/seahorse-keyserver-search.glade.h:2 +msgid "Find Remote Keys" +msgstr "" + +#: src/seahorse-keyserver-search.glade.h:3 +msgid "Search _for key containing:" +msgstr "" + +#: src/seahorse-keyserver-search.glade.h:4 +msgid "Where to search:" +msgstr "" + +#: src/seahorse-keyserver-search.glade.h:5 +msgid "_Search" +msgstr "" + +#: src/seahorse-multi-encrypt.glade.h:2 +msgid "You have selected multiple files or folders" +msgstr "" + +#: src/seahorse-multi-encrypt.glade.h:3 +msgid "" +"Because the files are located remotely, each file will be encrypted " +"seperately." +msgstr "" + +#: src/seahorse-multi-encrypt.glade.h:4 +msgid "Encrypt Multiple Files" +msgstr "" + +#: src/seahorse-multi-encrypt.glade.h:5 +msgid "Encrypt each file seperately" +msgstr "" + +#: src/seahorse-multi-encrypt.glade.h:6 +msgid "Encrypt packed together in a package" +msgstr "" + +#: src/seahorse-multi-encrypt.glade.h:7 +msgid "Package Name:" +msgstr "" + +#: src/seahorse-multi-encrypt.glade.h:8 +msgid "Packaging:" +msgstr "" + +#: src/seahorse-multi-encrypt.glade.h:9 +msgid "encrypted-package.rar" +msgstr "" + +#: src/seahorse-pgp-encrypted.desktop.in.h:1 +msgid "Decrypt PGP File (Seahorse)" +msgstr "" + +#: src/seahorse-pgp-signature.desktop.in.h:1 +msgid "Verify PGP Signature (Seahorse)" +msgstr "" + +#: src/seahorse-preferences.c:49 src/seahorse-preferences.glade.h:3 +msgid "Key Manager" +msgstr "" + +#: src/seahorse-preferences.c:54 +msgid "Visible Columns:" +msgstr "" + +#: src/seahorse-preferences.c:63 +msgid "_Validity" +msgstr "" + +#: src/seahorse-preferences.c:65 src/seahorse-sign.glade.h:13 +msgid "_Expires" +msgstr "" + +#: src/seahorse-preferences.c:67 +msgid "_Trust" +msgstr "" + +#: src/seahorse-preferences.c:69 +msgid "_Length" +msgstr "" + +#: src/seahorse-preferences.c:71 +msgid "T_ype" +msgstr "" + +#: src/seahorse-preferences.glade.h:1 +msgid "Close Preferences" +msgstr "" + +#: src/seahorse-preferences.glade.h:2 +#, fuzzy +msgid "Default Key:" +msgstr "_Sil" + +#: src/seahorse-preferences.glade.h:4 +msgid "Preferences Help" +msgstr "" + +#: src/seahorse-preferences.glade.h:5 +msgid "Seahorse Preferences" +msgstr "" + +#: src/seahorse-preferences.glade.h:6 +msgid "Visible Columns" +msgstr "" + +#. TRANSLATOR: This string will become +#. * "You have selected %d files and %d folders" +#: src/seahorse-process-multiple.c:48 +#, c-format +msgid "You have selected %d file " +msgid_plural "You have selected %d files " +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATOR: This string will become +#. * "You have selected %d files and %d folders" +#: src/seahorse-process-multiple.c:53 +#, c-format +msgid "and %d folder" +msgid_plural "and %d folders" +msgstr[0] "" +msgstr[1] "" + +#. should never be called for just one file +#: src/seahorse-process-multiple.c:66 +#, c-format +msgid "You have selected %d files" +msgstr "" + +#: src/seahorse-process-multiple.c:70 +#, c-format +msgid "You have selected %d folder" +msgid_plural "You have selected %d folders" +msgstr[0] "" +msgstr[1] "" + +#: src/seahorse-revoke.c:52 +msgid "Couldn't revoke subkey" +msgstr "" + +#: src/seahorse-revoke.c:76 +#, c-format +msgid "Revoke Subkey %d of %s" +msgstr "" + +#: src/seahorse-revoke.c:78 +#, c-format +msgid "Revoke %s" +msgstr "" + +#: src/seahorse-revoke.c:105 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" + +#: src/seahorse-revoke.c:120 +msgid "Couldn't add revoker" +msgstr "" + +#: src/seahorse-revoke.glade.h:2 +msgid "Compromised" +msgstr "" + +#: src/seahorse-revoke.glade.h:3 +msgid "Key has been compromised" +msgstr "" + +#: src/seahorse-revoke.glade.h:4 +msgid "Key has been superseded" +msgstr "" + +#: src/seahorse-revoke.glade.h:5 +msgid "Key is no longer used" +msgstr "" + +#: src/seahorse-revoke.glade.h:6 +msgid "No Reason" +msgstr "" + +#: src/seahorse-revoke.glade.h:7 +msgid "No reason for revoking key" +msgstr "" + +#: src/seahorse-revoke.glade.h:8 +msgid "Not Used" +msgstr "" + +#: src/seahorse-revoke.glade.h:9 +msgid "Optional description of revocation" +msgstr "" + +#: src/seahorse-revoke.glade.h:10 +msgid "Re_voke" +msgstr "" + +#: src/seahorse-revoke.glade.h:11 +msgid "Reason for revoking the key" +msgstr "" + +#: src/seahorse-revoke.glade.h:12 +msgid "Revoke key" +msgstr "" + +#: src/seahorse-revoke.glade.h:13 +msgid "Superseded" +msgstr "" + +#: src/seahorse-revoke.glade.h:14 +msgid "_Description:" +msgstr "_İzahat:" + +#: src/seahorse-revoke.glade.h:15 +msgid "_Reason:" +msgstr "" + +#: src/seahorse-sign.c:57 +msgid "Couldn't sign key" +msgstr "" + +#: src/seahorse-sign.c:81 +#, c-format +msgid "Are you sure you want to sign all user IDs for %s?" +msgstr "" + +#: src/seahorse-sign.c:127 +#, c-format +msgid "Are you sure you want to sign the '%s' user ID?" +msgstr "" + +#: src/seahorse-sign.glade.h:1 +msgid "Casually" +msgstr "" + +#: src/seahorse-sign.glade.h:2 +msgid "Default answer" +msgstr "" + +#: src/seahorse-sign.glade.h:3 +msgid "Have casually checked key" +msgstr "" + +#: src/seahorse-sign.glade.h:4 +msgid "Have checked key very carefully" +msgstr "" + +#: src/seahorse-sign.glade.h:5 +msgid "Have not checked key" +msgstr "" + +#: src/seahorse-sign.glade.h:6 +msgid "If signature can be revoked" +msgstr "" + +#: src/seahorse-sign.glade.h:7 +msgid "If signature expires with key" +msgstr "" + +#: src/seahorse-sign.glade.h:8 +msgid "" +"If signature is local to the key ring and won't be exported with the key" +msgstr "" + +#: src/seahorse-sign.glade.h:9 +msgid "No answer" +msgstr "" + +#: src/seahorse-sign.glade.h:10 +msgid "Not at all" +msgstr "" + +#: src/seahorse-sign.glade.h:11 +msgid "Sign Key" +msgstr "" + +#: src/seahorse-sign.glade.h:12 +msgid "Very carefully" +msgstr "" + +#: src/seahorse-sign.glade.h:14 +msgid "_How carefully have you checked this key?" +msgstr "" + +#: src/seahorse-sign.glade.h:15 +msgid "_Local" +msgstr "_Yerli" + +#: src/seahorse-sign.glade.h:16 +msgid "_Revocable" +msgstr "" + +#: src/seahorse.desktop.in.h:2 +msgid "Manage your GPG keys" +msgstr "" + +#~ msgid "FILE" +#~ msgstr "FAYL" + +#~ msgid "_Toolbar" +#~ msgstr "_Vasitə Çubuğu" + +#~ msgid "Compression" +#~ msgstr "Sıxışdırma" diff --git a/po/be.po b/po/be.po new file mode 100644 index 00000000..92dceeaf --- /dev/null +++ b/po/be.po @@ -0,0 +1,2907 @@ +# Rosetta Contributors and Canonical Ltd, 2010. +# Yuri Matsuk , 2011. +# Olya Matsuk , 2011, 2012. +# Kasia Bondarava , 2012. +# Ihar Hrachyshka , 2012, 2013, 2014. +# Yuras Shumovich , 2017. +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2018-08-12 17:17+0000\n" +"PO-Revision-Date: 2018-08-13 16:13+0300\n" +"Last-Translator: Yuras Shumovich \n" +"Language-Team: Belarusian \n" +"Language: be\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Poedit 2.0.8\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Новы сервер ключоў" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Уласны" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:112 +#: gkr/seahorse-gkr-add-keyring.ui:82 pkcs11/seahorse-pkcs11-generate.ui:186 +#: src/seahorse-generate-select.ui:62 +msgid "Cancel" +msgstr "Скасаваць" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Захаваць" + +#: common/catalog.vala:249 +msgid "Contributions:" +msgstr "Удзельнікі:" + +#: common/catalog.vala:275 data/seahorse.desktop.in.in:3 +#: src/key-manager.vala:82 +msgid "Passwords and Keys" +msgstr "Паролі і ключы" + +#: common/catalog.vala:277 +msgid "translator-credits" +msgstr "" +"Alexander Vlasov https://launchpad.net/~sachavav\n" +"Iryna Nikanchuk https://launchpad.net/~unetriste-deactivatedaccount\n" +"Yuri Matsuk \n" +"Kasia Bondarava\n" +"Юрась Шумовіч " + +#: common/catalog.vala:280 +msgid "Seahorse Project Homepage" +msgstr "Старонка праекта Seahorse" + +#: common/catalog.vala:298 +msgid "Cannot delete" +msgstr "Немагчыма выдаліць" + +#: common/catalog.vala:321 common/key-manager-store.vala:375 +msgid "Couldn’t export keys" +msgstr "Не ўдалося экспартаваць ключы" + +#: common/catalog.vala:332 +msgid "Couldn’t export data" +msgstr "Не ўдалося экспартаваць даныя" + +#: common/catalog.vala:348 libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Не ўдалося паказаць даведку: %s" + +#. Top menu items +#: common/catalog.vala:354 +msgid "_File" +msgstr "_Файл" + +#: common/catalog.vala:355 +msgid "E_xport…" +msgstr "Э_кспартаваць..." + +#: common/catalog.vala:356 +msgid "Export to a file" +msgstr "Экспартаваць у файл" + +#: common/catalog.vala:357 +msgid "_Edit" +msgstr "_Праўка" + +#: common/catalog.vala:358 +msgid "_Copy" +msgstr "_Капіраваць" + +#: common/catalog.vala:359 +msgid "Copy to the clipboard" +msgstr "Скапіраваць у буфер абмену" + +#. Translators: This text refers to deleting an item from its type's backing store +#. Delete item +#: common/catalog.vala:361 common/delete-dialog.vala:91 +#: pkcs11/pkcs11-properties.vala:201 src/sidebar.vala:655 +msgid "_Delete" +msgstr "_Выдаліць" + +#: common/catalog.vala:362 +msgid "Delete selected items" +msgstr "Выдаліць вылучаныя элементы" + +#. Properties item +#: common/catalog.vala:363 common/catalog.vala:365 src/sidebar.vala:664 +msgid "_Properties" +msgstr "_Уласцівасці" + +#: common/catalog.vala:364 +msgid "Show the properties of this item" +msgstr "Паказаць уласцівасці гэтага элемента" + +#: common/catalog.vala:366 +msgid "Show the properties of this keyring" +msgstr "Паказаць уласцівасці гэтай вязкі ключоў" + +#: common/catalog.vala:367 +msgid "Prefere_nces" +msgstr "_Настройкі" + +#: common/catalog.vala:368 +msgid "Change preferences for this program" +msgstr "Змяніць настройкі гэтай праграмы" + +#: common/catalog.vala:369 +msgid "_View" +msgstr "_Від" + +#: common/catalog.vala:370 +msgid "_Help" +msgstr "_Дапамога" + +#: common/catalog.vala:371 +msgid "_About" +msgstr "_Аб праграме" + +#: common/catalog.vala:372 +msgid "About this program" +msgstr "Аб гэтай праграме" + +#: common/catalog.vala:373 +msgid "_Contents" +msgstr "_Змест" + +#: common/catalog.vala:374 +msgid "Show Seahorse help" +msgstr "Паказаць даведку Seahorse" + +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 src/import-dialog.vala:30 +#: src/key-manager.vala:237 +msgid "_Cancel" +msgstr "_Скасаваць" + +#: common/exportable.vala:192 pgp/seahorse-pgp-private-key-properties.ui:1426 +msgid "Export" +msgstr "Экспартаваць" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Пацвярджэнне:" + +#: common/passphrase-prompt.vala:121 +msgid "_OK" +msgstr "_Добра" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Пароль:" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Настройкі" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Нічога: не публікаваць ключы" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Хібны адрас сервера ключоў." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Для дапамогі звярніцеся да свайго сістэмнага адміністратара ці " +"адміністратара сервера ключоў." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL-адрас" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "пачатковы часовы элемент" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Тып сервера ключоў:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Хост:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:59 +#: ssh/seahorse-ssh-upload.ui:127 +msgid "The host name or address of the server." +msgstr "Назва хоста ці адрас сервера." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Порт для доступу да сервера." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Шукаць ключы на:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Публікаваць ключы на:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Аўтаматычна атрымліваць _ключы з сервераў" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Аўтаматычна сінхранізаваць _мадыфікаваныя ключы з серверамі" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Серверы ключоў" + +#: common/validity.vala:38 pgp/seahorse-pgp-key-properties.c:1246 +#: pgp/seahorse-pgp-private-key-properties.ui:12 +#: pgp/seahorse-pgp-public-key-properties.ui:12 +msgctxt "Validity" +msgid "Unknown" +msgstr "Невядома" + +#: common/validity.vala:40 pgp/seahorse-pgp-key-properties.c:1252 +#: pgp/seahorse-pgp-private-key-properties.ui:15 +#: pgp/seahorse-pgp-public-key-properties.ui:15 +msgctxt "Validity" +msgid "Never" +msgstr "Ніколі" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:18 +msgctxt "Validity" +msgid "Marginal" +msgstr "Абмежавана" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:21 +msgctxt "Validity" +msgid "Full" +msgstr "Поўнасцю" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:24 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Абсалютна" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Выключана" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Адклікана" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Аўтаматычна атрымоўваць ключы" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Ці аўтаматычна атрымоўваць _ключы з сервераў ключоў." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Аўтаматычна публікаваць ключы" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Ці аўтаматычна публікаваць змененыя _ключы." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Публікаваць ключы на гэтым серверы ключоў" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Сервер ключоў, на якім публікаваць PGP ключы. Пакіньце пустым, каб скасаваць " +"публікацыю PGP ключоў." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Апошні шаблон пошуку сервера ключоў" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Апошні шаблон, выкарыстаны для пошуку на серверы ключоў." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Апошнія выкарыстаныя серверы ключоў" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Апошні сервер ключоў, на якім ажыццяўляўся пошук, ці пуста для ўсіх сервераў " +"ключоў." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Паказаць паліцу вязак ключоў" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Паказаць паліцу вязак ключоў у Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Якія элементы паказваць" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Якія элементы паказваць. Калі пуста, паказваць усе элементы; калі \"personal" +"\" (асабістыя), паказваць асабістыя ключы; калі \"trusted\" (давераныя), " +"паказваць давераныя ключы." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Шырыня бакавой паліцы" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Прадвызначаная шырыня бакавой паліцы." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Выбраныя вязкі ключоў" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "URL-адрасы вязак ключоў, выдраных на бакавой паліцы." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Слупок, па якім сартаваць ключы Seahorse" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Вызначае слупок, па якім трэба сартаваць у галоўным акне кіраўніка ключоў " +"Seahorse. Магчымыя слупкі: \"name\" (імя), \"id\" (ідэнтыфікатар), \"validity" +"\" (правільнасць), \"expires\" (тэрмін прыдатрасці), \"trust\" (давер) і " +"\"type\" (тып). Дадайце \"-\" у пачатак назвы слупка, каб сартаваць у " +"адваротным кірунку." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Паказаць слупок правільнасці" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Больш не выкарыстоўваецца." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Паказаць слупок з тэрмінам прыдатнасці" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Паказаць слупок даверу" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Паказаць слупок тыпу" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Шырыня акна" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Шырыня акна (ў пікселах)." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Вышыня акна" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Вышыня акна (ў пікселах)." + +#: data/seahorse.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/seahorse.appdata.xml.in:7 data/seahorse.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Кіраванне паролямі і ключамі шыфравання" + +#: data/seahorse.appdata.xml.in:9 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"Seahorse, праграма для асяроддзя GNOME для кіравання ключамі шыфравання. Яна " +"інтэгруецца з Наўтылусам, рэдактарам gedit ды іншымі праграмамі, якія " +"патрабуюць доступ да шыфравання." + +#: data/seahorse.appdata.xml.in:13 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"З дапамогай Seahorse можна ствараць і кіраваць PGP- і SSH-ключамі, " +"публікаваць і сцягваць ключы з сервераў, запамінаць пароль дзеля таго, каб " +"не трэба было яго штораз уводзіць, а таксама рабіць запасныя копіі вашых " +"ключоў ды іх вязак." + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/seahorse.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "вязка ключоў;шыфраванне;бяспека;подпіс;ssh;" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/seahorse.desktop.in.in:11 +msgid "seahorse" +msgstr "seahorse" + +#: gkr/gkr-backend.vala:43 +msgid "Passwords" +msgstr "Паролі" + +#: gkr/gkr-backend.vala:47 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Захаваныя асабістыя паролі, мандаты і сакрэты" + +#: gkr/gkr-backend.vala:255 +msgid "New password keyring" +msgstr "Новая вязка парольных ключоў" + +#: gkr/gkr-backend.vala:256 gkr/gkr-backend.vala:263 +msgid "Used to store application and network passwords" +msgstr "Выкарыстоўваецца для захавання пароляў праграм і сеткавых пароляў" + +#: gkr/gkr-backend.vala:257 +msgid "New password…" +msgstr "Новы пароль..." + +#: gkr/gkr-backend.vala:258 gkr/gkr-backend.vala:265 +msgid "Safely store a password or secret." +msgstr "Бяспечна захоўвае паролі і сакрэты." + +#: gkr/gkr-backend.vala:262 +msgid "Password Keyring" +msgstr "Вязка парольных ключоў" + +#: gkr/gkr-backend.vala:264 +msgid "Stored Password" +msgstr "Захаваны пароль" + +#: gkr/gkr-item-add.vala:106 +msgid "Couldn’t add item" +msgstr "Не ўдалося дадаць элемент" + +#: gkr/gkr-item-properties.vala:108 +msgid "Save changes for this item?" +msgstr "Захаваць змены для гэтага элемента?" + +#: gkr/gkr-item-properties.vala:125 +msgid "Access a network share or resource" +msgstr "Доступ да сеткавых рэсурсаў" + +#: gkr/gkr-item-properties.vala:128 +msgid "Access a website" +msgstr "Доступ да сеціўнай пляцоўкі" + +#: gkr/gkr-item-properties.vala:131 +msgid "Unlocks a PGP key" +msgstr "Разблакіруе ключ PGP" + +#: gkr/gkr-item-properties.vala:134 +msgid "Unlocks a Secure Shell key" +msgstr "Разблакіруе ключ SSH" + +#: gkr/gkr-item-properties.vala:137 +msgid "Saved password or login" +msgstr "Захаваны пароль або імя для ўваходу" + +#: gkr/gkr-item-properties.vala:149 +msgid "Network Credentials" +msgstr "Сеткавыя мандаты" + +#: gkr/gkr-item-properties.vala:154 gkr/seahorse-gkr-item-properties.ui:77 +msgid "Password" +msgstr "Пароль" + +#: gkr/gkr-item-properties.vala:208 +msgid "Couldn’t change password." +msgstr "Не ўдалося змяніць пароль." + +#: gkr/gkr-item-properties.vala:232 +msgid "Couldn’t set description." +msgstr "Не ўдалося наставіць апісанне." + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "Пароль камунікацыйнага конта для " + +#: gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "Пароль ці сакрэт" + +#: gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "Сеткавы пароль" + +#: gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "Захаваная нататка" + +#: gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "Пароль да вязкі ключоў" + +#: gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "Пароль да ключа шыфравання" + +#: gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "Пароль да сховішча ключоў" + +#: gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "Пароль да Google Chrome" + +#: gkr/gkr-item.vala:451 +msgid "GNOME Online Accounts password" +msgstr "Пароль да сеткавых контаў GNOME" + +#: gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "Пароль да Telepathy" + +#: gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "Пароль для абмену імгненнымі паведамленнямі" + +#: gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "Сакрэт Сеткавага кіраўніка" + +#: gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Сапраўды выдаліць пароль \"%s\"?" + +#: gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Сапраўды выдаліць %d пароль?" +msgstr[1] "Сапраўды выдаліць %d паролі?" +msgstr[2] "Сапраўды выдаліць %d пароляў?" + +#: gkr/gkr-keyring-add.vala:55 +msgid "Couldn’t add keyring" +msgstr "Не ўдалося дадаць вязку ключоў" + +#: gkr/gkr-keyring-properties.vala:66 +msgid "Unknown date" +msgstr "Невядомая дата" + +#: gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "Вязка ключоў, якая аўтаматычна разблакіруецца пры уваходзе" + +#: gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "Вязка ключоў для захавання пароляў" + +#: gkr/gkr-keyring.vala:174 +msgid "Couldn’t set default keyring" +msgstr "Не ўдалося наставіць прадвызначаную вязку ключоў" + +#: gkr/gkr-keyring.vala:198 gkr/gkr-keyring.vala:203 +msgid "Couldn’t change keyring password" +msgstr "Не ўдалося змяніць пароль да вязкі ключоў" + +#: gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "_Зрабіць прадвызначанай" + +#: gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "" +"Праграмы звычайна захоўваюць новыя паролі ў прадвызначанай вязцы ключоў." + +#: gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "Змяніць _пароль" + +#: gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "Змяніць пароль, патрэбны для разблакіравання вязкі ключоў з паролямі" + +#: gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Сапраўды выдаліць вязку пароляў \"%s\"?" + +#: gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "Я разумею, што ўсе элементы будуць незваротна выдалены." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Паказаць/схаваць пароль" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Даданне пароля" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Вязка ключоў:" + +#: gkr/seahorse-gkr-add-item.ui:45 gkr/seahorse-gkr-item-properties.ui:50 +#: pgp/seahorse-revoke.ui:55 ssh/seahorse-ssh-generate.ui:78 +msgid "_Description:" +msgstr "_Апісанне:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Пароль:" + +#: gkr/seahorse-gkr-add-item.ui:93 +msgid "_Show Password" +msgstr "_Паказаць пароль" + +#: gkr/seahorse-gkr-add-item.ui:119 gkr/seahorse-gkr-add-keyring.ui:89 +msgid "OK" +msgstr "Добра" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Дадаць вязак парольных ключоў" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Абярыце назву для новай вязкі ключоў. Пазней спатрэбіцца пароль для " +"разблакіравання." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Назва новай вязкі ключоў:" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:101 +#: pgp/seahorse-pgp-private-key-properties.ui:552 +#: pgp/seahorse-pgp-public-key-properties.ui:398 +msgid "Use:" +msgstr "Выкарыстанне:" + +#: gkr/seahorse-gkr-item-properties.ui:127 +#: pgp/seahorse-pgp-private-key-properties.ui:566 +#: pgp/seahorse-pgp-private-key-properties.ui:1105 +#: pgp/seahorse-pgp-public-key-properties.ui:513 +#: pgp/seahorse-pgp-public-key-properties.ui:1179 +#: ssh/seahorse-ssh-key-properties.ui:81 +msgid "Type:" +msgstr "Тып:" + +#: gkr/seahorse-gkr-item-properties.ui:152 +msgid "Server:" +msgstr "Сервер:" + +#: gkr/seahorse-gkr-item-properties.ui:176 +msgid "Login:" +msgstr "Імя для ўваходу:" + +#: gkr/seahorse-gkr-item-properties.ui:215 pgp/seahorse-pgp-subkey.c:402 +#: ssh/seahorse-ssh-key-properties.ui:233 +msgid "Key" +msgstr "Ключ" + +#: gkr/seahorse-gkr-item-properties.ui:260 +#: pgp/seahorse-pgp-public-key-properties.ui:1107 +#: ssh/seahorse-ssh-key-properties.ui:376 +msgid "Technical Details:" +msgstr "Тэхнічныя падрабязнасці:" + +#: gkr/seahorse-gkr-item-properties.ui:280 +#: pgp/seahorse-pgp-private-key-properties.ui:1721 +#: pgp/seahorse-pgp-public-key-properties.ui:1567 +#: ssh/seahorse-ssh-key-properties.ui:413 +msgid "Details" +msgstr "Падрабязнасці" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Уласцівасці вязкі ключоў" + +#: gkr/seahorse-gkr-keyring.ui:23 +msgid "Keyring is unlocked" +msgstr "Вязка ключоў разблакіравана" + +#: gkr/seahorse-gkr-keyring.ui:33 +msgid "Unlock" +msgstr "Разблакіраваць" + +#: gkr/seahorse-gkr-keyring.ui:46 +msgid "Keyring is locked" +msgstr "Вязка ключоў заблакіравана" + +#: gkr/seahorse-gkr-keyring.ui:56 +msgid "Lock" +msgstr "Заблакіраваць" + +#: gkr/seahorse-gkr-keyring.ui:102 pgp/seahorse-pgp-key-properties.c:965 +msgid "Name" +msgstr "Назва" + +#: gkr/seahorse-gkr-keyring.ui:130 +msgid "Created on" +msgstr "Дата стварэння" + +#: gkr/seahorse-gkr-keyring.ui:160 +msgid "Change password" +msgstr "Змяніць пароль" + +#: gkr/seahorse-gkr-keyring.ui:167 +msgid "Set as default" +msgstr "Зрабіць прадвызначанай" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Паказваць сцяжкі" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Уласцівасці паказу даты і часу" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Лянотны рэжым" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Лянотны рэжым не нармалізуе ўведзеныя значэнні даты і часу" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Год" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Паказаны год" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Месяц" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Паказаны месяц" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Дзень" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Паказаны дзень месяца" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Гадзіна" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Паказаная гадзіна" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Хвіліна" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Паказаная хвіліна" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Секунда" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Паказаная секунда" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Год ніжняй граніцы" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Год з ніжняй граніцы даты" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Год верхняй граніцы" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Год з верхняй граніцы даты" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Месяц ніжняй граніцы" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Месяц з ніжняй граніцы даты" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Месяц верхняй граніцы" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Месяц з верхняй граніцы даты" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Дзень ніжняй граніцы" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Дзень месяца з ніжняй граніцы даты" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Дзень верхняй граніцы" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Дзень месяца з верхняй граніцы даты" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Гадзіна ніжняй граніцы" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Гадзіна з ніжняй граніцы часу" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Гадзіна верхняй граніцы" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Гадзіна з верхняй граніцы часу" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Хвіліна ніжняй граніцы" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Хвіліна з ніжняй граніцы часу" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Хвіліна верхняй граніцы" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Хвіліна з верхняй граніцы часу" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Секунда ніжняй граніцы" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Секунда з ніжняй граніцы часу" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Секунда верхняй граніцы" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Секунда з верхняй граніцы часу" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Дата" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Увядзіце дату" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Абярыце дату" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Абярыце дату з календара" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "Час" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Увядзіце час" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Абярыце час" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Абярыце час са спіса" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1259 +#: libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1260 +#: libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%3$02d-%2$02d-%1$04d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-interaction.c:97 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Увядзіце PIN-код ці пароль для: %s" + +#: pgp/seahorse-add-subkey.ui:31 +msgid "Never E_xpires" +msgstr "_Ніколі не састарэе" + +#: pgp/seahorse-add-subkey.ui:35 +msgid "If key never expires" +msgstr "Калі ключ ніколі не састарэе" + +#: pgp/seahorse-add-subkey.ui:65 pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Тып ключа:" + +#: pgp/seahorse-add-subkey.ui:78 +msgid "Key _Length:" +msgstr "_Даўжыня ключа:" + +#: pgp/seahorse-add-subkey.ui:93 +msgid "Expiration Date:" +msgstr "Тэрмін прыдатнасці:" + +#: pgp/seahorse-add-subkey.ui:112 +msgid "Length of Key" +msgstr "Даўжыня ключа" + +#: pgp/seahorse-add-subkey.ui:194 +msgid "Generate a new subkey" +msgstr "Згенераваць новы падключ" + +#: pgp/seahorse-add-uid.ui:8 +msgid "Add User ID" +msgstr "Дадаць ID карыстальніка" + +#: pgp/seahorse-add-uid.ui:28 +msgid "Must be at least 5 characters long" +msgstr "Пароль мусіць складацца прынамсі з пяці знакаў" + +#: pgp/seahorse-add-uid.ui:42 +msgid "Optional email address" +msgstr "Неабавязковы адрас электроннай пошты" + +#: pgp/seahorse-add-uid.ui:58 +msgid "Optional comment describing key" +msgstr "Неабавязковы каментарый, які апісвае ключ" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-add-uid.ui:73 pgp/seahorse-pgp-generate.ui:86 +msgid "Full _Name:" +msgstr "Поўнае і_мя:" + +#: pgp/seahorse-add-uid.ui:86 pgp/seahorse-pgp-generate.ui:114 +msgid "_Email Address:" +msgstr "_Адрас электроннай пошты:" + +#: pgp/seahorse-add-uid.ui:101 +msgid "Key Co_mment:" +msgstr "_Каментарый да ключа:" + +#: pgp/seahorse-add-uid.ui:162 +msgid "Create the new user ID" +msgstr "Стварыць новы ID карыстальніка" + +#: pgp/seahorse-expires.ui:22 +msgid "_Never expires" +msgstr "_Ніколі не састарэе" + +#: pgp/seahorse-expires.ui:80 pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Адклікаць ключ" + +#: pgp/seahorse-expires.ui:106 +msgid "C_hange" +msgstr "_Змяніць" + +#: pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn’t add subkey" +msgstr "Не ўдалося дадаць падключ" + +#: pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "Дадаць падключ да %s" + +#: pgp/seahorse-gpgme-add-subkey.c:196 pgp/seahorse-gpgme-generate.c:131 +msgid "DSA (sign only)" +msgstr "DSA (толькі подпіс)" + +#: pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (толькі шыфраванне)" + +#: pgp/seahorse-gpgme-add-subkey.c:210 pgp/seahorse-gpgme-generate.c:132 +msgid "RSA (sign only)" +msgstr "RSA (толькі подпіс)" + +#: pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (толькі шыфраванне)" + +#: pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn’t add user id" +msgstr "Не ўдалося дадаць ID карыстальніка" + +#: pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "Дадаць ID карыстальніка да %s" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Памылка расшыфравання. Магчыма, у вас няма адпаведнага ключа." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:549 +msgid "The operation was cancelled" +msgstr "Аперацыя была скасавана" + +#: pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "Хібная дата тэрміну прыдатнасці" + +#: pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "Дата тэрміну прыдатнасці мусіць быць у будучыні" + +#: pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn’t change expiry date" +msgstr "Не ўдалося змяніць дату тэрміну прыдатнасці" + +#: pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "Тэрмін прадатнасці: %s" + +#: pgp/seahorse-gpgme-exporter.c:81 +msgid "Multiple Keys" +msgstr "Некалькі ключоў" + +#: pgp/seahorse-gpgme-exporter.c:85 +msgid "Key Data" +msgstr "Даныя ключа" + +#: pgp/seahorse-gpgme-exporter.c:113 +msgid "Armored PGP keys" +msgstr "Абароненыя ключы PGP" + +#: pgp/seahorse-gpgme-exporter.c:117 +msgid "PGP keys" +msgstr "Ключы PGP" + +#: pgp/seahorse-gpgme-generate.c:92 +msgid "PGP Key" +msgstr "Ключ PGP" + +#: pgp/seahorse-gpgme-generate.c:93 +msgid "Used to encrypt email and files" +msgstr "Для шыфравання электронных лістоў і файлаў" + +#: pgp/seahorse-gpgme-generate.c:129 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:141 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate.c:130 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate.c:179 +msgid "Couldn’t generate PGP key" +msgstr "Не ўдалося згенераваць ключ PGP" + +#: pgp/seahorse-gpgme-generate.c:212 +msgid "Passphrase for New PGP Key" +msgstr "Парольная фраза для новага ключа PGP" + +#: pgp/seahorse-gpgme-generate.c:213 +msgid "Enter the passphrase for your new key twice." +msgstr "Двойчы ўвядзіце парольную фразу для вашага новага ключа." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate.c:225 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Пры стварэнні ключа трэба згенераваць шмат выпадковых даных,\n" +"і для гэтага патрабуецца ваша дапамога. Калі ласка, выконвайце\n" +"разнастайныя дзеянні, напрыклад, уводзьце тэкст з клавіятуры,\n" +"варушыце мыш, карыстайцеся праграмамі. Такая актыўнасць дасць\n" +"сістэме дастатковую колькасць выпадковых даных." + +#: pgp/seahorse-gpgme-generate.c:230 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Генерацыя ключа" + +#: pgp/seahorse-gpgme-generate.c:357 +msgid "Name must be at least 5 characters long." +msgstr "Імя мусіць складацца прынамсі з пяці знакаў." + +#: pgp/seahorse-gpgme-key-deleter.c:77 pgp/seahorse-gpgme-secret-deleter.c:76 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Сапраўды незваротна выдаліць %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Сапраўды незваротна выдаліць %d ключ?" +msgstr[1] "Сапраўды незваротна выдаліць %d ключы?" +msgstr[2] "Сапраўды незваротна выдаліць %d ключоў?" + +#: pgp/seahorse-gpgme-key-op.c:378 +msgid "Wrong password" +msgstr "Няправільны пароль" + +#: pgp/seahorse-gpgme-key-op.c:378 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Вы тройчы ўвялі няправільны пароль. Паспрабуйце яшчэ раз." + +#: pgp/seahorse-gpgme-keyring.c:88 +#, c-format +msgid "Wrong passphrase." +msgstr "Няправільная парольная фраза." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Увядзіце новую парольную фразу для \"%s\"" + +#: pgp/seahorse-gpgme-keyring.c:94 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Увядзіце парольную фразу для \"%s\"" + +#: pgp/seahorse-gpgme-keyring.c:97 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Увядзіце новую парольную фразу" + +#: pgp/seahorse-gpgme-keyring.c:99 +msgid "Enter passphrase" +msgstr "Увядзіце парольную фразу" + +#: pgp/seahorse-gpgme-keyring.c:104 +msgid "Passphrase" +msgstr "Парольная фраза" + +#: pgp/seahorse-gpgme-keyring.c:305 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Загружаны %d ключ" +msgstr[1] "Загружаны %d ключы" +msgstr[2] "Загружана %d ключоў" + +#: pgp/seahorse-gpgme-keyring.c:652 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Няправільныя даныя ключа (адсутнічаюць UID-ідэнтыфікатары). Прычынай можа " +"быць камп'ютар з датай, настаўленай у будучыні, альбо адсутнасць самаподпісу." + +#: pgp/seahorse-gpgme-keyring.c:805 +msgid "GnuPG keys" +msgstr "Ключы GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:816 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: прадвызначаны каталог вязкі ключоў" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Фотаздымак надта вялікі\n" +"Рэкамендаваны памер фотаздымка для вашага ключа - %d x %d пікселаў." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Не змяняць памер" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Змяніць памер" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Гэта не выява або невядомы тып выявы. Паспрабуйце ўжыць выяву ў фармаце JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Усе файлы выяў" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Усе JPEG-файлы" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:280 +msgid "All files" +msgstr "Усе файлы" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Абярыце фотаздымак, які трэба дадаць да ключа" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Не ўдалося падрыхтаваць фотаздымак" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Не ўдалося дадаць фотаздымак" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Не ўдалося загрузіць файл. Магчыма, ён мае хібны фармат." + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Сапраўды выдаліць бягучы фотаздымак з вашага ключа?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Не ўдалося выдаліць фотаздымак" + +#: pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn’t revoke subkey" +msgstr "Не ўдалося адклікаць падключ" + +#: pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "Адклікаць: %s" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "Без прычыны" + +#: pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "Няма прычыны для адклікання ключа" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "Скампраметаваны" + +#: pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "Ключ быў скампраметаваны" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "Заменены" + +#: pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "Ключ быў заменены" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "Не выкарыстоўваецца" + +#: pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "Ключ больш не выкарыстоўваецца" + +#: pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Вы збіраецеся адклікаць %2$s, дадаўшы %1$s. Гэтую аперацыю нельга ануляваць! " +"Ці вы сапраўды хочаце працягнуць?" + +#: pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn’t add revoker" +msgstr "Не ўдалося дадаць ключ для адклікання" + +#: pgp/seahorse-gpgme-secret-deleter.c:81 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Я разумею, што гэты сакрэтны ключ будзе незваротна выдалены." + +#: pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Гэты ключ ужо быў падпісаны\n" +"\"%s\"" + +#: pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn’t sign key" +msgstr "Не ўдалося падпісаць ключ" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign.c:163 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Няма ключоў, прыдатных для падпісання" + +#: pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"У вас няма асабістых ключоў PGP, якія вы маглі б выкарыстаць, каб " +"пацвердзіць давер да гэтага ключа." + +#: pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Невядома" + +#: pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:567 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Крытэрый пошуку не быў дастаткова акрэслены. Сервер \"%s\" знайшоў надта " +"шмат ключоў." + +#: pgp/seahorse-hkp-source.c:570 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Не ўдалося звязацца з серверам \"%s\": %s" + +#: pgp/seahorse-hkp-source.c:1080 +msgid "HTTP Key Server" +msgstr "HTTP-сервер ключоў" + +#: pgp/seahorse-keyserver-results.c:167 +msgid "Couldn’t import keys" +msgstr "Не ўдалося імпартаваць ключы" + +#: pgp/seahorse-keyserver-results.c:210 +msgid "Importing keys from key servers" +msgstr "Імпартаванне ключоў з сервераў" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: pgp/seahorse-keyserver-results.c:236 src/key-manager.vala:52 +msgid "_Remote" +msgstr "_Аддалена" + +#: pgp/seahorse-keyserver-results.c:238 +msgid "Close this window" +msgstr "Закрыць гэта акно" + +#: pgp/seahorse-keyserver-results.c:242 pgp/seahorse-pgp-actions.c:112 +msgid "_Find Remote Keys…" +msgstr "_Пошук аддаленых ключоў..." + +#: pgp/seahorse-keyserver-results.c:243 pgp/seahorse-pgp-actions.c:113 +msgid "Search for keys on a key server" +msgstr "Шукаць ключы на серверы" + +#: pgp/seahorse-keyserver-results.c:247 src/seahorse-key-manager.ui:222 +msgid "_Import" +msgstr "І_мпартаваць" + +#: pgp/seahorse-keyserver-results.c:248 +msgid "Import selected keys to local key ring" +msgstr "Імпартаваць вылучаныя ключы ў мясцовую вязку ключоў" + +#: pgp/seahorse-keyserver-results.c:279 +msgid "Remote Keys" +msgstr "Аддаленыя ключы" + +#: pgp/seahorse-keyserver-results.c:281 +#, c-format +msgid "Remote Keys Containing “%s”" +msgstr "Аддаленыя ключы, якія змяшчаюць \"%s\"" + +#: pgp/seahorse-keyserver-results.c:482 +msgid "The search for keys failed." +msgstr "Не ўдалося выканаць пошук ключоў." + +#: pgp/seahorse-keyserver-search.ui:12 +msgid "Find Remote Keys" +msgstr "Пошук аддаленых ключоў" + +#: pgp/seahorse-keyserver-search.ui:48 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Пошук ключоў іншых карыстальнікаў у Інтэрнэце. Пазней гэтыя ключы можна " +"імпартаваць у вашую мясцовую вязку ключоў." + +#: pgp/seahorse-keyserver-search.ui:72 +msgid "_Search for keys containing: " +msgstr "_Шукаць ключы, якія змяшчаюць: " + +#: pgp/seahorse-keyserver-search.ui:127 +msgid "Key Servers:" +msgstr "Серверы ключоў:" + +#: pgp/seahorse-keyserver-search.ui:153 +msgid "Shared Keys Near Me:" +msgstr "Апублікаваныя паблізу ключы:" + +#: pgp/seahorse-keyserver-search.ui:180 +msgid "Where to search:" +msgstr "Месца для пошуку:" + +#: pgp/seahorse-keyserver-search.ui:223 +msgid "_Search" +msgstr "_Пошук" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Не ўдалося апублікаваць ключы на серверы" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Не ўдалося атрымаць ключы з сервера: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d ключ вылучаны для сінхранізацыі" +msgstr[1] "%d ключы вылучаны для сінхранізацыі" +msgstr[2] "%d ключоў вылучаны для сінхранізацыі" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Сінхранізацыя ключоў..." + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Сінхранізацыя ключоў" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Ключы з вашай вязкі будуць апублікаваны на серверы і стануць даступнымі для " +"іншых карыстальнікаў. Вы таксама атрымаеце змены, якія зроблены іншымі " +"карыстальнікамі пасля таго, як вы атрымалі іх ключы." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Вы будзеце атрымліваць змены, якія зроблены іншымі карыстальнікамі пасля " +"таго, як вы атрымалі іх ключы. Вы не абралі сервер ключоў для публікацыі, " +"таму вашы ключы не будуць даступнымі для іншых карыстальнікаў." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Серверы ключоў" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "Сін_хранізаваць" + +#: pgp/seahorse-ldap-source.c:435 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Не ўдалося звязацца з \"%s\": %s" + +#: pgp/seahorse-ldap-source.c:645 +#, c-format +msgid "Connecting to: %s" +msgstr "Злучэнне з: %s" + +#: pgp/seahorse-ldap-source.c:651 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Не ўдалося вызначыць адрас: %s" + +#: pgp/seahorse-ldap-source.c:695 +#, c-format +msgid "Resolving server address: %s" +msgstr "Вызначэнне адрасу сервера: %s" + +#: pgp/seahorse-ldap-source.c:1430 +msgid "LDAP Key Server" +msgstr "LDAP-сервер ключоў" + +#: pgp/seahorse-pgp-actions.c:117 +msgid "_Sync and Publish Keys…" +msgstr "_Сінхранізаваць і апублікаваць ключы..." + +#: pgp/seahorse-pgp-actions.c:118 +msgid "Publish and/or synchronize your keys with those online." +msgstr "Апублікаваць і сінхранізаваць вашы ключы з апублікаванымі на серверах." + +#: pgp/seahorse-pgp-backend.c:192 +msgid "PGP Keys" +msgstr "Ключы PGP" + +#: pgp/seahorse-pgp-backend.c:198 +msgid "PGP keys are for encrypting email or files" +msgstr "Ключы PGP ужываюцца для шыфравання электронных лістоў ці файлаў" + +#: pgp/seahorse-pgp-generate.ui:18 +msgid "New PGP key" +msgstr "Новы ключ PGP" + +#: pgp/seahorse-pgp-generate.ui:67 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Ключ PGP дазваляе шыфраваць электронныя лісты ці файлы для іншых людзей." + +#: pgp/seahorse-pgp-generate.ui:143 pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Прасунутыя параметры ключа" + +#: pgp/seahorse-pgp-generate.ui:160 +msgid "_Comment:" +msgstr "_Каментарый:" + +#: pgp/seahorse-pgp-generate.ui:188 ssh/seahorse-ssh-generate.ui:124 +msgid "Encryption _Type:" +msgstr "Тып _шыфравання:" + +#: pgp/seahorse-pgp-generate.ui:215 pkcs11/seahorse-pkcs11-generate.ui:151 +#: ssh/seahorse-ssh-generate.ui:158 +msgid "Key _Strength (bits):" +msgstr "_Трываласць ключа (бітаў):" + +#: pgp/seahorse-pgp-generate.ui:242 +msgid "E_xpiration Date:" +msgstr "Т_эрмін прыдатнасці:" + +#: pgp/seahorse-pgp-generate.ui:261 +msgid "Ne_ver Expires" +msgstr "Ні_колі не састарэе" + +#: pgp/seahorse-pgp-generate.ui:305 +msgid "C_reate" +msgstr "С_тварыць" + +#: pgp/seahorse-pgp-generate.ui:312 +msgid "Generate a new key" +msgstr "Згенераваць новы ключ" + +#: pgp/seahorse-pgp-key.c:349 +msgid "Personal PGP key" +msgstr "Асабісты ключ PGP" + +#: pgp/seahorse-pgp-key.c:351 +msgid "PGP key" +msgstr "Ключ PGP" + +#: pgp/seahorse-pgp-key-properties.c:312 +msgid "Couldn’t change primary user ID" +msgstr "Не ўдалося змяніць асноўны ID карыстальніка" + +#: pgp/seahorse-pgp-key-properties.c:331 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Сапраўды незваротна выдаліць ID карыстальніка \"%s\"?" + +#: pgp/seahorse-pgp-key-properties.c:341 +msgid "Couldn’t delete user ID" +msgstr "Не ўдалося выдаліць ID карыстальніка" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:416 pgp/seahorse-pgp-key-properties.c:1571 +msgid "[Unknown]" +msgstr "[Невядома]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:525 pgp/seahorse-pgp-key-properties.c:1854 +msgid "Name/Email" +msgstr "Імя/Адрас электроннай пошты" + +#: pgp/seahorse-pgp-key-properties.c:532 +msgid "Signature ID" +msgstr "Ідэнтыфікатар подпісу" + +#: pgp/seahorse-pgp-key-properties.c:665 +msgid "Couldn’t change primary photo" +msgstr "Не ўдалося змяніць асноўны фотаздымак" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:899 +msgid "(unknown)" +msgstr "(невядома)" + +#: pgp/seahorse-pgp-key-properties.c:902 +#, c-format +msgid "This key expired on: %s" +msgstr "Тэрмін прыдатнасці ключа: %s" + +#: pgp/seahorse-pgp-key-properties.c:1080 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Сапраўды незваротна выдаліць падключ %d з %s?" + +#: pgp/seahorse-pgp-key-properties.c:1089 +msgid "Couldn’t delete subkey" +msgstr "Не ўдалося выдаліць падключ" + +#: pgp/seahorse-pgp-key-properties.c:1129 +#: pgp/seahorse-pgp-key-properties.c:1545 +msgid "Unable to change trust" +msgstr "Не ўдалося змяніць узровень даверу" + +#: pgp/seahorse-pgp-key-properties.c:1143 ssh/key-properties.vala:174 +msgid "Couldn’t export key" +msgstr "Не ўдалося экспартаваць ключ" + +#: pgp/seahorse-pgp-key-properties.c:1259 +msgid "Marginal" +msgstr "Абмежавана" + +#: pgp/seahorse-pgp-key-properties.c:1265 +msgid "Full" +msgstr "Поўнасцю" + +#: pgp/seahorse-pgp-key-properties.c:1271 +msgid "Ultimate" +msgstr "Абсалютна" + +#: pgp/seahorse-pgp-key-properties.c:1377 +#: pgp/seahorse-pgp-key-properties.c:1470 +msgctxt "Expires" +msgid "Never" +msgstr "Ніколі" + +#: pgp/seahorse-pgp-key-properties.c:1424 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1427 +msgid "Type" +msgstr "Тып" + +#: pgp/seahorse-pgp-key-properties.c:1430 +msgid "Usage" +msgstr "Выкарыстанне" + +#: pgp/seahorse-pgp-key-properties.c:1433 +msgid "Created" +msgstr "Дата стварэння" + +#: pgp/seahorse-pgp-key-properties.c:1436 +msgid "Expires" +msgstr "Тэрмін прыдатнасці" + +#: pgp/seahorse-pgp-key-properties.c:1439 +msgid "Status" +msgstr "Стан" + +#: pgp/seahorse-pgp-key-properties.c:1442 +msgid "Strength" +msgstr "Трываласць" + +#: pgp/seahorse-pgp-key-properties.c:1461 +msgid "Revoked" +msgstr "Адклікана" + +#: pgp/seahorse-pgp-key-properties.c:1463 +msgid "Expired" +msgstr "Састарэлы" + +#: pgp/seahorse-pgp-key-properties.c:1465 +msgid "Disabled" +msgstr "Выключана" + +#: pgp/seahorse-pgp-key-properties.c:1467 +msgid "Good" +msgstr "Добры" + +#: pgp/seahorse-pgp-key-properties.c:1857 +msgid "Key ID" +msgstr "ID ключа" + +#: pgp/seahorse-pgp-private-key-properties.ui:31 +#: pgp/seahorse-pgp-public-key-properties.ui:32 +msgid "Key Properties" +msgstr "Уласцівасці ключа" + +#: pgp/seahorse-pgp-private-key-properties.ui:69 +#: pgp/seahorse-pgp-public-key-properties.ui:76 +msgid "This key has been revoked" +msgstr "Гэты ключ быў адкліканы" + +#: pgp/seahorse-pgp-private-key-properties.ui:88 +#: pgp/seahorse-pgp-public-key-properties.ui:97 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Уласнік ключа адклікаў яго. Ім больш нельга карыстацца." + +#: pgp/seahorse-pgp-private-key-properties.ui:131 +#: pgp/seahorse-pgp-public-key-properties.ui:148 +msgid "This key has expired" +msgstr "Тэрмін прыдатнасці гэтага ключа вычарпаны" + +#: pgp/seahorse-pgp-private-key-properties.ui:221 +msgid "Add a photo to this key" +msgstr "Дадаць фотаздымак да гэтага ключа" + +#: pgp/seahorse-pgp-private-key-properties.ui:245 +msgid "Remove this photo from this key" +msgstr "Выдаліць фотаздымак з гэтага ключа" + +#: pgp/seahorse-pgp-private-key-properties.ui:269 +msgid "Make this photo the primary photo" +msgstr "Зрабіць гэты фотаздымак асноўным" + +#: pgp/seahorse-pgp-private-key-properties.ui:302 +msgid "Go to previous photo" +msgstr "Перайсці да папярэдняга фотаздымка" + +#: pgp/seahorse-pgp-private-key-properties.ui:326 +msgid "Go to next photo" +msgstr "Перайсці да наступнага фотаздымка" + +#. A photograph +#: pgp/seahorse-pgp-private-key-properties.ui:388 +#: pgp/seahorse-pgp-public-key-properties.ui:351 +msgid "Photo " +msgstr "Фотаздымак " + +#: pgp/seahorse-pgp-private-key-properties.ui:424 +#: pgp/seahorse-pgp-private-key-properties.ui:1065 +#: pgp/seahorse-pgp-public-key-properties.ui:428 +#: pgp/seahorse-pgp-public-key-properties.ui:1137 +msgid "Key ID:" +msgstr "ID ключа:" + +#. Name of key, usually a persons name +#: pgp/seahorse-pgp-private-key-properties.ui:441 +#: pgp/seahorse-pgp-public-key-properties.ui:462 +msgctxt "name-of-key" +msgid "Name:" +msgstr "Назва:" + +#: pgp/seahorse-pgp-private-key-properties.ui:457 +#: pgp/seahorse-pgp-public-key-properties.ui:479 +msgid "Email:" +msgstr "Электронны адрас:" + +#: pgp/seahorse-pgp-private-key-properties.ui:473 +#: pgp/seahorse-pgp-public-key-properties.ui:496 +msgid "Comment:" +msgstr "Каментарый:" + +#: pgp/seahorse-pgp-private-key-properties.ui:582 +msgid "Decrypt files and email sent to you." +msgstr "Для расшыфравання файлаў і электронных лістоў, высланых вам." + +#: pgp/seahorse-pgp-private-key-properties.ui:595 +msgid "Private PGP Key" +msgstr "Прыватны ключ PGP" + +#: pgp/seahorse-pgp-private-key-properties.ui:648 +#: ssh/seahorse-ssh-key-properties.ui:144 +msgid "Change _Passphrase" +msgstr "Змяніць _парольную фразу" + +#: pgp/seahorse-pgp-private-key-properties.ui:690 +#: pgp/seahorse-pgp-public-key-properties.ui:667 +msgid "Owner" +msgstr "Уласнік" + +#: pgp/seahorse-pgp-private-key-properties.ui:705 +msgid "Key Names and Signatures" +msgstr "Назвы ключоў і подпісы" + +#: pgp/seahorse-pgp-private-key-properties.ui:757 +msgid "Primary" +msgstr "Асноўны" + +#: pgp/seahorse-pgp-private-key-properties.ui:808 pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "Падпісаць" + +#: pgp/seahorse-pgp-private-key-properties.ui:859 +msgid "Delete" +msgstr "Выдаліць" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:910 +msgid "_Add Name" +msgstr "_Дадаць назву" + +#: pgp/seahorse-pgp-private-key-properties.ui:958 +#: pgp/seahorse-pgp-private-key-properties.ui:1648 +msgid "Revoke" +msgstr "Адклікаць" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:1022 +msgid "Names and Signatures" +msgstr "Назвы і подпісы" + +#: pgp/seahorse-pgp-private-key-properties.ui:1091 +#: pgp/seahorse-pgp-public-key-properties.ui:1164 +msgid "Strength:" +msgstr "Трываласць:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1153 +msgid "Technical Details" +msgstr "Тэхнічныя падрабязнасці" + +#: pgp/seahorse-pgp-private-key-properties.ui:1189 +msgid "Fingerprint" +msgstr "Адбітак" + +#: pgp/seahorse-pgp-private-key-properties.ui:1232 +#: pgp/seahorse-pgp-public-key-properties.ui:1340 +msgid "Created:" +msgstr "Дата стварэння:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1304 +#: pgp/seahorse-pgp-public-key-properties.ui:1353 +msgid "Expires:" +msgstr "Тэрмін прыдатнасці:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1320 +msgid "Dates" +msgstr "Даты" + +#: pgp/seahorse-pgp-private-key-properties.ui:1374 +msgid "Override Owner _Trust:" +msgstr "Змяніць узровень да_веру да ўласніка:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1386 +msgid "_Export Secret Key:" +msgstr "_Экспартаваць сакрэтны ключ:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1456 +msgid "Actions" +msgstr "Дзеянні" + +#: pgp/seahorse-pgp-private-key-properties.ui:1531 +msgid "Add" +msgstr "Дадаць" + +#: pgp/seahorse-pgp-private-key-properties.ui:1580 +msgid "Expire" +msgstr "Тэрмін прыдатнасці" + +#: pgp/seahorse-pgp-private-key-properties.ui:1700 +#: pgp/seahorse-pgp-public-key-properties.ui:1543 +msgid "_Subkeys" +msgstr "_Падключы" + +#: pgp/seahorse-pgp-public-key-properties.ui:18 +msgctxt "Validity" +msgid "Marginally" +msgstr "Абмежавана" + +#: pgp/seahorse-pgp-public-key-properties.ui:21 +msgctxt "Validity" +msgid "Fully" +msgstr "Поўнасцю" + +#: pgp/seahorse-pgp-public-key-properties.ui:24 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Абсалютна" + +#: pgp/seahorse-pgp-public-key-properties.ui:413 +msgid "Encrypt files and email to the key’s owner" +msgstr "Для шыфравання файлаў і электронных лістоў для ўласніка ключа" + +#: pgp/seahorse-pgp-public-key-properties.ui:577 +msgid "Public PGP Key" +msgstr "Адкрыты ключ PGP" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:629 +msgid "_Other Names:" +msgstr "І_ншыя назвы:" + +#: pgp/seahorse-pgp-public-key-properties.ui:709 +msgid "Your trust of this key" +msgstr "Ваш узровень даверу да гэтага ключа" + +#: pgp/seahorse-pgp-public-key-properties.ui:736 +msgid "Your trust is manually specified on the Details tab." +msgstr "Ваш узровень даверу вызначаны ўручную ў картцы Падрабязнасці." + +#: pgp/seahorse-pgp-public-key-properties.ui:752 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Я давяраю подпісам \"%s\" на іншых ключах" + +#: pgp/seahorse-pgp-public-key-properties.ui:784 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Калі вы верыце, што ўласнік гэтага ключа - гэта \"%s\", падпішыце " +"гэты ключ:" + +#: pgp/seahorse-pgp-public-key-properties.ui:835 +msgid "_Sign this Key" +msgstr "_Падпісаць гэты ключ" + +#: pgp/seahorse-pgp-public-key-properties.ui:875 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Калі вы больш не верыце, што гэтым ключом валодае \"%s\", адклікайце " +"свой подпіс:" + +#: pgp/seahorse-pgp-public-key-properties.ui:926 +msgid "_Revoke Signature" +msgstr "_Адклікаць подпіс" + +#: pgp/seahorse-pgp-public-key-properties.ui:987 +msgid "_People who have signed this key:" +msgstr "_Людзі, якія падпісалі гэты ключ:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1033 +msgid "_Only display the signatures of people I trust" +msgstr "Паказваць _толькі подпісы людзей, якім я давяраю" + +#: pgp/seahorse-pgp-public-key-properties.ui:1073 +#: ssh/seahorse-ssh-key-properties.ui:168 +msgid "Trust" +msgstr "Давер" + +#: pgp/seahorse-pgp-public-key-properties.ui:1246 +#: ssh/seahorse-ssh-key-properties.ui:347 +msgid "Fingerprint:" +msgstr "Адбітак:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1310 +msgid "Dates:" +msgstr "Даты:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1416 +msgid "Indicate Trust:" +msgstr "Узровень даверу:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1441 +msgid "You _Trust the Owner:" +msgstr "_Вы давяраеце ўласніку:" + +#: pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "Зашыфраваць" + +#: pgp/seahorse-pgp-subkey.c:293 +msgid "Certify" +msgstr "Сведчыць" + +#: pgp/seahorse-pgp-subkey.c:294 +msgid "Authenticate" +msgstr "Ідэнтыфікаваць" + +#: pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "Падключ %d з %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Прычына адклікання ключа" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Прычына:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Неабавязковае апісанне адклікання" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "_Адклікаць" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"У вас няма асабістых ключоў PGP, якія вы маглі б выкарыстаць для подпісу " +"дакумента ці паведамлення." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Абярыце ключ для падпісання" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Падпісаць паведамленне з дапамогай ключа:" + +#: pgp/seahorse-sign.ui:7 +msgid "Sign Key" +msgstr "Падпісанне ключа" + +#: pgp/seahorse-sign.ui:42 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"Сваім подпісам вы пацвярджаеце сваю ўпэўненасць у тым, што гэты ключ " +"належыць:" + +#: pgp/seahorse-sign.ui:54 +msgid "Key Name" +msgstr "Назва ключа" + +#: pgp/seahorse-sign.ui:86 +msgid "How carefully have you checked this key?" +msgstr "Наколькі рупліва вы праверылі гэты ключ?" + +#: pgp/seahorse-sign.ui:118 +msgid "_Not at all" +msgstr "_Зусім не правяраў" + +#: pgp/seahorse-sign.ui:132 +msgid "_Casually" +msgstr "_Няўважліва" + +#: pgp/seahorse-sign.ui:147 +msgid "_Very Carefully" +msgstr "_Вельмі рупліва" + +#: pgp/seahorse-sign.ui:180 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Зусім не правяраў: вы верыце, што гэты ключ належыць асобе, якая " +"прадставілася яго ўласнікам, але вы не можаце праверыць ці не правяралі " +"сапраўднасць гэтага факта." + +#: pgp/seahorse-sign.ui:197 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Няўважліва: вы няўважліва праверылі, што гэты ключ належыць асобе, " +"якая прадставілася яго ўласнікам. Напрыклад, вы можаце прачытаць адбітак " +"ключа ўласніку па тэлефоне." + +#: pgp/seahorse-sign.ui:221 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Вельмі рупліва: Абярыце гэты параметр, толькі калі вы цалкам " +"упэўнены, што гэты ключ сапраўдны." + +#: pgp/seahorse-sign.ui:240 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Вы можаце выкарыстаць цяжкі для падробкі фотаздымак для ідэнтыфікацыі (як у " +"пашпарце), каб асабіста праверыць, што назва ключа беспамылковая. Таксама вы " +"можаце выкарыстаць адрас электроннай пошты, каб праверыць, што адрас " +"сапраўды належыць уласніку." + +#: pgp/seahorse-sign.ui:289 +msgid "How others will see this signature:" +msgstr "Як гэты подпіс будзе выглядаць для іншых:" + +#: pgp/seahorse-sign.ui:310 +msgid "_Others may not see this signature" +msgstr "І_ншыя не могуць бачыць гэты подпіс" + +#: pgp/seahorse-sign.ui:326 +msgid "I can _revoke this signature at a later date." +msgstr "Я магу _адклікаць гэты подпіс пазней." + +#: pgp/seahorse-sign.ui:363 +msgid "Sign key as:" +msgstr "Падпісаць ключ як:" + +#: pgp/seahorse-sign.ui:385 +msgid "_Signer:" +msgstr "_Падпісант:" + +#: pgp/seahorse-sign.ui:487 +msgid "_Sign" +msgstr "_Падпісаць" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "Экспартаванне даных" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "Атрыманне даных" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "Імпартаванне даных" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "Высыланне даных" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Недаступна" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Сертыфікат" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Сертыфікаты (кадаванне: DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Асабісты сертыфікат і ключ" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Асабісты сертыфікат" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Сапраўды незваротна выдаліць %d сертыфікат?" +msgstr[1] "Сапраўды незваротна выдаліць %d сертыфікаты?" +msgstr[2] "Сапраўды незваротна выдаліць %d сертыфікатаў?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Не ўдалося згенераваць закрыты ключ" + +#: pkcs11/pkcs11-generate.vala:284 pkcs11/pkcs11-private-key.vala:70 +msgid "Private key" +msgstr "Закрыты ключ" + +#: pkcs11/pkcs11-generate.vala:285 +msgid "Used to request a certificate" +msgstr "Для запыту сертыфіката" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Я разумею, што гэты ключ будзе незваротна выдалены." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Закрыты ключ без назвы" + +#: pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "Без назвы" + +#: pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "Не ўдалося экспартаваць сертыфікат" + +#: pkcs11/pkcs11-properties.vala:188 src/sidebar.vala:622 +msgid "Couldn’t delete" +msgstr "Не ўдалося выдаліць" + +#: pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "_Экспартаваць" + +#: pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "Экспартаваць сертыфікат" + +#: pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "Выдаліць гэты сертыфікат ці ключ" + +#: pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "_Запытаць сертыфікат" + +#: pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "Стварыць файл запыту сертыфіката для гэтага ключа" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Стварыць" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Не ўдалося стварыць запыт сертыфіката" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Захаваць запыт сертыфіката" + +#: pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "Запыт сертыфіката" + +#: pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "Закадаваны запыт (PEM)" + +#: pkcs11/pkcs11-request.vala:149 +msgid "Couldn’t save certificate request" +msgstr "Не ўдалося захаваць запыт сертыфіката" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Невядома" + +#: pkcs11/seahorse-pkcs11-backend.c:187 +msgid "Certificates" +msgstr "Сертыфікаты" + +#: pkcs11/seahorse-pkcs11-backend.c:193 +msgid "X.509 certificates and related keys" +msgstr "X.509-сертыфікаты і звязаныя ключы" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Новы закрыты ключ" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Стварыць новы закрыты ключ" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Цэтлік:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Захавана ў:" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Стварэнне файла запыту сертыфіката." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Агульная назва (CN) змешчаная ў запыце сертыфіката." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Назва (CN):" + +#: src/application.vala:64 +msgid "Version of this application" +msgstr "Версія гэтай праграмы" + +#: src/application.vala:69 src/application.vala:105 +msgid "- System Settings" +msgstr "- Сістэмныя настройкі" + +#: src/application.vala:100 +msgid "Don't display a window" +msgstr "Не паказваць акно" + +#: src/import-dialog.vala:34 +msgid "Import" +msgstr "Імпартаваць" + +#: src/import-dialog.vala:40 +msgid "Data to be imported:" +msgstr "Даныя для імпартавання:" + +#: src/import-dialog.vala:75 +msgid "Import failed" +msgstr "Не ўдалося імпартаваць" + +#: src/key-manager.vala:53 +msgid "_New" +msgstr "_Новы" + +#: src/key-manager.vala:54 +msgid "_Quit" +msgstr "_Выхад" + +#: src/key-manager.vala:54 +msgid "Close this program" +msgstr "Закрыць гэту праграму" + +#: src/key-manager.vala:55 +msgid "_New…" +msgstr "_Новы..." + +#: src/key-manager.vala:55 +msgid "Create a new key or item" +msgstr "Стварыць новы ключ або элемент" + +#: src/key-manager.vala:56 +msgid "_Import…" +msgstr "І_мпартаваць..." + +#: src/key-manager.vala:56 +msgid "Import from a file" +msgstr "Імпартаваць з файла" + +#: src/key-manager.vala:57 +msgid "_Paste" +msgstr "_Уставіць" + +#: src/key-manager.vala:57 +msgid "Import from the clipboard" +msgstr "Імпартаваць з буфера абмену" + +#: src/key-manager.vala:61 +msgid "By _Keyring" +msgstr "Па _вязках ключоў" + +#: src/key-manager.vala:61 +msgid "Show sidebar listing keyrings" +msgstr "Паказаць бакавую паліцу з пералікам вязак ключоў" + +#: src/key-manager.vala:65 +msgid "Show _Personal" +msgstr "Паказваць _асабістае" + +#: src/key-manager.vala:65 +msgid "Only show personal keys, certificates and passwords" +msgstr "Паказваць толькі асабістыя ключы, сертыфікаты і паролі" + +#: src/key-manager.vala:66 +msgid "Show _Trusted" +msgstr "Паказваць _праверанае" + +#: src/key-manager.vala:66 +msgid "Only show trusted keys, certificates and passwords" +msgstr "Паказваць толькі правераныя ключы, сертыфікаты і паролі" + +#: src/key-manager.vala:67 +msgid "Show _Any" +msgstr "Паказваць у_сё" + +#: src/key-manager.vala:67 +msgid "Show all keys, certificates and passwords" +msgstr "Паказваць усе ключы, сертыфікаты і паролі" + +#. The prompt +#: src/key-manager.vala:235 ssh/operation.vala:320 +msgid "Import Key" +msgstr "Імпартаваць ключ" + +#: src/key-manager.vala:238 +msgid "_Open" +msgstr "_Адкрыць" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:246 +msgid "All key files" +msgstr "Усе файлы ключоў" + +#: src/key-manager.vala:318 +msgid "Dropped text" +msgstr "Перацягнуты тэкст" + +#: src/key-manager.vala:341 +msgid "Clipboard text" +msgstr "Тэкст з буфера абмену" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Змяненне парольнай фразы" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "_Новая парольная фраза:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Пацвердзіце новую парольную фразу" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Пац_вярджэнне парольнай фразы:" + +#: src/seahorse-generate-select.ui:5 +msgid "New item" +msgstr "Новы элемент" + +#: src/seahorse-generate-select.ui:21 +msgid "_Select the type of item to create:" +msgstr "_Абярыце тып новага элемента:" + +#: src/seahorse-generate-select.ui:69 +msgid "Continue" +msgstr "Працягнуць" + +#: src/seahorse-key-manager.ui:57 +msgid "Add a new key or item" +msgstr "Стварыць новы ключ або элемент" + +#: src/seahorse-key-manager.ui:74 +msgid "Filter" +msgstr "Фільтр" + +#: src/seahorse-key-manager.ui:124 +msgid "First time options:" +msgstr "Пачатковыя параметры:" + +#: src/seahorse-key-manager.ui:179 +msgid "Generate a new key of your own: " +msgstr "Згенераваць новы асабісты ключ: " + +#: src/seahorse-key-manager.ui:250 +msgid "Import existing keys from a file:" +msgstr "Імпартаваць наяўныя ключы з файла:" + +#: src/seahorse-key-manager.ui:282 +msgid "To get started with encryption you will need keys." +msgstr "Каб пачаць шыфраванне, вам спатрэбяцца ключы." + +#: src/sidebar.vala:589 +msgid "Couldn’t lock" +msgstr "Не ўдалося заблакіраваць" + +#: src/sidebar.vala:606 +msgid "Couldn’t unlock" +msgstr "Не ўдалося разблакіраваць" + +#. Lock and unlock items +#: src/sidebar.vala:642 +msgid "_Lock" +msgstr "_Заблакіраваць" + +#: src/sidebar.vala:647 +msgid "_Unlock" +msgstr "_Разблакіраваць" + +#: ssh/actions.vala:26 +msgid "Configure Key for _Secure Shell…" +msgstr "_Настроіць ключ для SSH..." + +#: ssh/actions.vala:27 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"Паслаць адкрыты ключ SSH на іншы камп'ютар і дазволіць уваход пры дапамозе " +"гэтага ключа." + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "SSH" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Ключы для бяспечнага злучэння з іншымі камп'ютарамі" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Сапраўды выдаліць ключ SSH \"%s\"?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Сапраўды выдаліць %u ключ бяспечнай абалонкі?" +msgstr[1] "Сапраўды выдаліць %u ключы бяспечнай абалонкі?" +msgstr[2] "Сапраўды выдаліць %u ключоў бяспечнай абалонкі?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Сакрэтныя ключы SSH" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Адкрытыя ключы SSH" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Ключ SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Для гэтага ключа няма даступнага файла адкрытага ключа." + +#. No comment, but loaded +#: ssh/generate.vala:28 ssh/key.vala:120 ssh/key.vala:124 +#: ssh/seahorse-ssh-key-properties.ui:96 +msgid "Secure Shell Key" +msgstr "Ключ SSH" + +#: ssh/generate.vala:29 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "Для доступу да іншых камп'ютараў (напрыклад, праз тэрмінал)" + +#: ssh/generate.vala:115 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Не ўдалося загрузіць згенераваты ключ SSH" + +#: ssh/generate.vala:119 +msgid "Couldn’t generate Secure Shell key" +msgstr "Не ўдалося згенераваць ключ SSH" + +#: ssh/generate.vala:122 +msgid "Creating Secure Shell Key" +msgstr "Стварэнне ключа SSH" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 біты" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 бітаў" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Ключ невядомага тыпу!" + +#: ssh/key-properties.vala:88 +msgid "Unknown type" +msgstr "Невядомы тып" + +#: ssh/key-properties.vala:112 +msgid "Couldn’t rename key." +msgstr "Не ўдалося пераназваць ключ." + +#: ssh/key-properties.vala:138 +msgid "Couldn’t change authorization for key." +msgstr "Не ўдалося змяніць упаўнаважанне для ключа." + +#: ssh/key-properties.vala:154 +msgid "Couldn’t change passphrase for key." +msgstr "Не ўдалося змяніць парольную фразу для ключа." + +#: ssh/key.vala:45 +msgid "Personal SSH key" +msgstr "Асабісты ключ SSH" + +#: ssh/key.vala:45 +msgid "SSH key" +msgstr "Ключ SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:117 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Нечытальны ключ SSH)" + +#: ssh/operation.vala:215 +msgid "Remote Host Password" +msgstr "Пароль да аддаленага хоста" + +#: ssh/operation.vala:258 +msgid "Enter Key Passphrase" +msgstr "Увядзіце парольную фразу для ключа" + +#: ssh/operation.vala:284 +msgid "Passphrase for New Secure Shell Key" +msgstr "Парольная фраза для новага ключа SSH" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:317 +#, c-format +msgid "Importing key: %s" +msgstr "Імпартаванне ключа: %s" + +#: ssh/operation.vala:317 +msgid "Importing key. Enter passphrase" +msgstr "Імпартаванне ключа. Увядзіце парольную фразу." + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Увядзіце парольную фразу да SSH:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Старая парольная фраза ключа" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Увядзіце старую парольную фразу для: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Новая парольная фраза ключа" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Увядзіце новую парольную фразу для: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Увядзіце новую парольную фразу яшчэ раз: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Новы ключ SSH" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "Ключ SSH дазваляе вам бяспечна злучацца з іншымі камп'ютарамі." + +#: ssh/seahorse-ssh-generate.ui:108 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Адрас вашай электроннай пошты ці напамін пра тое, для чаго прызначаны гэты " +"ключ." + +#: ssh/seahorse-ssh-generate.ui:142 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:143 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:144 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:186 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Калі ёсць камп'ютар, для якога вы хочаце выкарыстоўваць гэты ключ, вы можаце " +"наладзіць яго, каб ён пазнаваў гэты ключ." + +#: ssh/seahorse-ssh-generate.ui:212 +msgid "_Just Create Key" +msgstr "_Проста стварыць ключ" + +#: ssh/seahorse-ssh-generate.ui:226 +msgid "_Create and Set Up" +msgstr "_Стварыць і наладзіць" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "Назва:" + +#: ssh/seahorse-ssh-key-properties.ui:108 +msgid "Identifier:" +msgstr "Ідэнтыфікатар:" + +#: ssh/seahorse-ssh-key-properties.ui:187 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "_Уласнік гэтага ключа ўпаўнаважаны для злучэння з гэтым камп'ютарам" + +#: ssh/seahorse-ssh-key-properties.ui:205 +#, c-format +msgid "This only applies to the %s account." +msgstr "Толькі для конта %s." + +#: ssh/seahorse-ssh-key-properties.ui:262 +msgid "Algorithm:" +msgstr "Алгарытм:" + +#: ssh/seahorse-ssh-key-properties.ui:290 +msgid "Key length:" +msgstr "Даўжыня ключа:" + +#: ssh/seahorse-ssh-key-properties.ui:317 +msgid "Location:" +msgstr "Месцазнаходжанне:" + +#: ssh/seahorse-ssh-key-properties.ui:391 +msgid "E_xport Complete Key" +msgstr "_Экспартаваць поўны ключ" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Наладзіць камп'ютар для злучэння праз SSH" + +#: ssh/seahorse-ssh-upload.ui:33 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Каб выкарыстоўваць ваш ключ SSH з іншым камп'ютарам, які выкарыстоўвае SSH, " +"вы павінны мець конт для ўваходу на гэты камп'ютар." + +#: ssh/seahorse-ssh-upload.ui:74 +msgid "eg: fileserver.example.com:port" +msgstr "напрыклад: fileserver.example.com:порт" + +#: ssh/seahorse-ssh-upload.ui:99 +msgid "_Server address:" +msgstr "_Адрас сервера:" + +#: ssh/seahorse-ssh-upload.ui:111 +msgid "_Login name:" +msgstr "І_мя для ўваходу:" + +#: ssh/seahorse-ssh-upload.ui:162 +msgid "Set Up" +msgstr "Наладзіць" + +#: ssh/source.vala:42 +msgid "OpenSSH keys" +msgstr "Ключы OpenSSH" + +#: ssh/source.vala:47 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:51 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:237 +msgid "No private key file is available for this key." +msgstr "Для гэтага ключа няма даступнага файла закрытага ключа." + +#: ssh/upload.vala:66 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Не ўдалося настроіць канфігурацыю ключоў SSH на аддаленым камп'ютары." + +#: ssh/upload.vala:70 +msgid "Configuring Secure Shell Keys…" +msgstr "Настройка канфігурацыі ключоў SSH..." + +#~ msgid "%Y-%m-%d" +#~ msgstr "%d-%m-%Y" + +#~ msgid "Name:" +#~ msgstr "Назва:" + +#~ msgid "Keyring" +#~ msgstr "Вязка ключоў" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Правайдар пошуку яшчэ не загружаны" + +#~ msgid "Used to connect to other computers." +#~ msgstr "Для злучэння з іншымі камп'ютарамі." + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "Загад SSH нечакана спынены." + +#~ msgid "The SSH command failed." +#~ msgstr "Памылка загаду SSH." + +#~ msgid "E_xport..." +#~ msgstr "_Экспартаваць..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Шукаць аддаленыя ключы..." + +#~ msgid "_New..." +#~ msgstr "_Новы..." + +#~ msgid "_Import..." +#~ msgstr "І_мпартаваць..." diff --git a/po/be@latin.po b/po/be@latin.po new file mode 100644 index 00000000..04cfd358 --- /dev/null +++ b/po/be@latin.po @@ -0,0 +1,3580 @@ +# Biełaruski pierakład seahorse +# Copyright (C) 2007 Ihar Hrachyshka +# This file is distributed under the same license as the seahorse package. +# Ihar Hrachyshka , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse.HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-11-13 21:01+0200\n" +"PO-Revision-Date: 2007-09-23 17:23+0300\n" +"Last-Translator: Ihar Hrachyshka \n" +"Language-Team: Belarusian Latin \n" +"Language: be@latin\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: ../agent/seahorse-agent-actions.c:129 +#: ../libseahorse/seahorse-ssh-operation.c:443 +msgid "Passphrase:" +msgstr "Parol:" + +#: ../agent/seahorse-agent-actions.c:130 +msgid "Please enter a passphrase to use." +msgstr "Uviadzi žadany parol." + +#. Warn and put in defaults +#: ../agent/seahorse-agent.c:101 +msgid "couldn't read gpg configuration, will try to create" +msgstr "niemahčyma pračytać kanfihuracyju gpg, pasprabujem stvaryć" + +#: ../agent/seahorse-agent.c:119 +#, c-format +msgid "couldn't modify gpg configuration: %s" +msgstr "niemahčyma madyfikavać kanfihuracyju gpg: %s" + +#: ../agent/seahorse-agent-cache.c:70 +msgid "Unparseable Key ID" +msgstr "Nierazabrany ID kluča" + +#: ../agent/seahorse-agent-cache.c:71 +msgid "Unknown/Invalid Key" +msgstr "Nieviadomy/Niapravilny kluč" + +#: ../agent/seahorse-agent-cache.c:523 +#, c-format +msgid "PGP Key: %s" +msgstr "Kluč PGP: %s" + +#: ../agent/seahorse-agent-cache.glade.h:1 +msgid "" +"Warning: Your system is not configured to cache passphrases in secure " +"memory." +msgstr "" +"Uvaha: Tvaja systema nie skanfihuravanaja, kab trymać paroli ŭ " +"bieśpiečnaj pamiaci." + +#: ../agent/seahorse-agent-cache.glade.h:2 +msgid "Cache _Preferences" +msgstr "_Nałady keša" + +#: ../agent/seahorse-agent-cache.glade.h:3 +msgid "Cached Encryption Keys" +msgstr "Utrymvanyja klučy šyfravańnia" + +#: ../agent/seahorse-agent-cache.glade.h:4 +msgid "Change passphrase cache settings." +msgstr "Źmiani nałady kešu dla parolaŭ." + +#: ../agent/seahorse-agent-cache.glade.h:5 +msgid "Clear passphrase cache" +msgstr "Ačyść keš dla parolaŭ" + +#: ../agent/seahorse-agent-cache.glade.h:6 +msgid "_Clear Cache" +msgstr "_Ačyść keš" + +#: ../agent/seahorse-agent-cache.glade.h:7 +msgid "_Show Window" +msgstr "_Pakažy vakno" + +#: ../agent/seahorse-agent-main.c:50 +msgid "Do not daemonize seahorse-agent" +msgstr "Nie rabi demana z seahorse-agent'a" + +#: ../agent/seahorse-agent-main.c:54 +msgid "Print variables in for a C type shell" +msgstr "Pakažy źmiennyja dla abałonki C-typu" + +#: ../agent/seahorse-agent-main.c:57 +msgid "" +"Display variables instead of editing conf files (gpg.conf, SSH agent socket)" +msgstr "" +"Pakažy źmiennyja zamiest redahavańnia kanfihuracyjnych fajłaŭ (gpg.conf, " +"sokiet ahienta SSH)" + +#: ../agent/seahorse-agent-main.c:60 +msgid "Execute other arguments on the command line" +msgstr "Vykanaj inšyja arhumenty z zahadnaha radka" + +#: ../agent/seahorse-agent-main.c:64 +msgid "Allow GPG agent request from any display" +msgstr "Dazvol zapyty da ahienta GPG ź luboha dyspłeju" + +#: ../agent/seahorse-agent-main.c:67 +msgid "command..." +msgstr "zahad..." + +#: ../agent/seahorse-agent-main.c:89 ../daemon/seahorse-daemon.c:72 +msgid "couldn't fork process" +msgstr "niemahčyma adhalinavać praces" + +#: ../agent/seahorse-agent-main.c:95 ../daemon/seahorse-daemon.c:78 +msgid "couldn't create new process group" +msgstr "niemahčyma stvaryć novuju hrupu pracesaŭ" + +#: ../agent/seahorse-agent-main.c:224 +msgid "Encryption Key Agent (Seahorse)" +msgstr "Ahient dla klučoŭ šyfravańnia (Seahorse)" + +#: ../agent/seahorse-agent-main.c:232 +msgid "no command specified to execute" +msgstr "zahad dla vykanańnia nie akreśleny" + +#: ../agent/seahorse-agent-prompt.c:216 +msgid "Authorize Passphrase Access" +msgstr "Dostup z aŭtaryzacyjaj parolem" + +#: ../agent/seahorse-agent-prompt.c:252 +msgid "The passphrase is cached in memory." +msgstr "Parol źmieščany ŭ pamiaci." + +#: ../agent/seahorse-agent-prompt.c:257 +msgid "Always ask me before using a cached passphrase" +msgstr "Zaŭsiody pytajsia paćvierdžańnia vykarystańnia parolaŭ z kešu" + +#: ../agent/seahorse-agent-prompt.c:274 +msgid "_Authorize" +msgstr "_Aŭtaryzuj" + +#. Make the uid column +#: ../agent/seahorse-agent-status.c:150 +msgid "Key Name" +msgstr "Nazva kluča" + +#: ../daemon/seahorse-daemon.c:54 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "Nie ŭruchamlaj seahorse-daemon jak demana" + +#: ../daemon/seahorse-daemon.c:188 +msgid "Encryption Daemon (Seahorse)" +msgstr "Deman šyfravańnia (Seahorse)" + +#: ../daemon/seahorse-service.c:103 ../daemon/seahorse-service.c:128 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "Niapravilny ci niezrazumieły typ kluča: %s" + +#: ../daemon/seahorse-service.c:186 ../daemon/seahorse-service-keyset.c:123 +#: ../daemon/seahorse-service-keyset.c:152 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "Niapravilny ci niezrazumieły kluč: %s" + +#: ../daemon/seahorse-service-crypto.c:120 +#: ../daemon/seahorse-service-crypto.c:227 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "Niapravilny ci niezrazumieły padpiščyk: %s" + +#: ../daemon/seahorse-service-crypto.c:127 +#: ../daemon/seahorse-service-crypto.c:234 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "Kluč nieprydatny dla padpisańnia: %s" + +#: ../daemon/seahorse-service-crypto.c:139 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "Niapravilny ci niezrazumieły adrasat: %s" + +#: ../daemon/seahorse-service-crypto.c:147 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "Kluč nie źjaŭlajecca pravilnym adrasatam dla šyfravańnia: %s" + +#: ../daemon/seahorse-service-crypto.c:156 +#, c-format +msgid "No recipients specified" +msgstr "Adrasaty nie akreślenyja" + +#: ../daemon/seahorse-service-crypto.c:222 +#, c-format +msgid "No signer specified" +msgstr "Padpiščyk nie akreśleny" + +#: ../daemon/seahorse-service-crypto.c:277 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "Niapravilny typ kluča dla rasšyfroŭki: %s" + +#: ../daemon/seahorse-service-crypto.c:339 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "Niapravilny typ kluča dla spraŭdžańnia: %s" + +#: ../daemon/seahorse-service-keyset.c:186 +#, c-format +msgid "Invalid key id: %s" +msgstr "Niapravilny id kluča: %s" + +#: ../daemon/seahorse-sharing.c:71 ../daemon/seahorse-sharing.c:215 +msgid "Couldn't share keys" +msgstr "Niemahčyma dać dostup da klučoŭ" + +#: ../daemon/seahorse-sharing.c:72 +msgid "Can't publish discovery information on the network." +msgstr "Niemahčyma apublikavać źviestki dla pošuku ŭ sietcy." + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s". +#: ../daemon/seahorse-sharing.c:92 +#, c-format +msgid "%s's encryption keys" +msgstr "Klučy šyfravańnia dla %s" + +#: ../data/seahorse.schemas.in.h:1 +msgid "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." +msgstr "" +"Śpis spasyłak na servery klučoŭ, dzie treba šukać addalenyja klučy PGP. U " +"paźniejšych versijach možna ŭłučyć bačnuju nazvu, dadaŭšy ŭ kaniec prabieł i " +"paśla nazvu." + +#: ../data/seahorse.schemas.in.h:2 +msgid "" +"After performing an decrypt or verify operation from the applet, display the " +"resulting text in a window." +msgstr "" +"Paśla aperacyi rasšyfroŭki ci spraŭdžańnia z apletu, pakažy vynikovy tekst u " +"vaknie." + +#: ../data/seahorse.schemas.in.h:3 +msgid "" +"After performing an encrypt or signing operation from the applet, display " +"the resulting text in a window." +msgstr "" +"Paśla aperacyi šyfravańnia ci padpisańnia z apletu, pakažy vynikovy tekst u " +"vaknie." + +#: ../data/seahorse.schemas.in.h:4 +msgid "Auto Retrieve Keys" +msgstr "Aŭtamatyčna atrymvaj klučy" + +#: ../data/seahorse.schemas.in.h:5 +msgid "Auto Sync Keys" +msgstr "Aŭtamatyčna synchranizuj klučy" + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "Kiruje bačnaściu kalony zakančeńnia terminu ŭ kiraŭniku klučoŭ." + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "Kiruje bačnaściu kalony davieru ŭ kiraŭniku klučoŭ." + +#: ../data/seahorse.schemas.in.h:8 +msgid "Controls the visibility of the type column for the key manager." +msgstr "Kiruje bačnaściu kalony typu ŭ kiraŭniku klučoŭ." + +#: ../data/seahorse.schemas.in.h:9 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "Kiruje bačnaściu kalony sapraŭdnaści ŭ kiraŭniku klučoŭ." + +#: ../data/seahorse.schemas.in.h:10 +msgid "Display cache reminder in the notification area" +msgstr "Pakazvaj nahadvańni ab kešy ŭ abšary nahadvańniaŭ" + +#: ../data/seahorse.schemas.in.h:11 +msgid "Display clipboard after decrypting" +msgstr "Pakažy bufer paśla rasšyfroŭki" + +#: ../data/seahorse.schemas.in.h:12 +msgid "Display clipboard after encrypting" +msgstr "Pakažy bufer paśla šyfravańnia" + +#: ../data/seahorse.schemas.in.h:13 +msgid "Enable DNS-SD sharing" +msgstr "Uklučy supolny dostup DNS-SD" + +#: ../data/seahorse.schemas.in.h:14 +msgid "" +"Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +"running and must be built with HKP and DNS-SD support." +msgstr "" +"Uklučaje supolny dostup da klučoŭ DNS-SD (Apple Bonjour). seahorse-daemon " +"pavinny być uruchomlenym, pryčym zbudavany z padtrymkaj HKP i DNS-SD." + +#: ../data/seahorse.schemas.in.h:15 +msgid "Expire passwords in the cache" +msgstr "Źniapraŭdžvaj paroli ŭ kešy" + +#: ../data/seahorse.schemas.in.h:16 +msgid "ID of the default key" +msgstr "ID zmoŭčanaha kluča" + +#: ../data/seahorse.schemas.in.h:17 +msgid "" +"If set to 'gnome' uses gnome-keyring to cache passwords. When set to " +"'internal' uses internal cache." +msgstr "" +"Kali \"gnome\", užyvaje gnome-keyring, kab zachoŭvać u kešy paroli. Kali " +"\"internal\", užyvaje ŭnutrany keš." + +#: ../data/seahorse.schemas.in.h:18 +msgid "" +"If set to true, then files encrypted with seahorse will be ASCII armor " +"encoded." +msgstr "" +"Kali ŭklučana, fajły, zašyfravanyja z dapamohaj seahorse, buduć zakadavanyja " +"abaronaj ASCII." + +#: ../data/seahorse.schemas.in.h:19 +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "" +"Kali ŭklučana, zmoŭčany kluč zaŭsiody budzie dadavacca da śpisu adrasataŭ " +"šyfravańnia." + +#: ../data/seahorse.schemas.in.h:20 +msgid "Last key server search pattern" +msgstr "Apošni ŭzor pošuku na servery klučoŭ" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Last key servers used" +msgstr "Apošnija zadziejničanyja servery klučoŭ" + +#: ../data/seahorse.schemas.in.h:22 +msgid "Last key used to sign a message." +msgstr "Apošni kluč, užyty dla padpisańnia paviedamleńnia." + +#: ../data/seahorse.schemas.in.h:23 +msgid "PGP Key servers" +msgstr "Servery klučoŭ PGP" + +#: ../data/seahorse.schemas.in.h:24 +msgid "Prompt before using GPG passwords in cache" +msgstr "Pytajsia paćvierdžańnia pierad vykarystańniem parolaŭ GPG z kešu" + +#: ../data/seahorse.schemas.in.h:25 +msgid "Publish keys to this key server." +msgstr "Publičnyja klučy dla hetaha servera klučoŭ." + +#: ../data/seahorse.schemas.in.h:26 +msgid "" +"Reflect the contents of the clipboard (whether encrypted, signed, etc...) in " +"the panel applet icon." +msgstr "" +"Pakazvaj źmieściva buferu (zašyfravanaje, padpisanaje i h.d.) u ikonie " +"apletu dla paneli." + +#: ../data/seahorse.schemas.in.h:27 +msgid "" +"Set to 'true' to enable display of the cache reminder in the notification " +"area of your panel." +msgstr "" +"Uklučy, kab pakazvać nahadvańni kešu ŭ abšary nahadvańniaŭ na tvajoj paneli." + +#: ../data/seahorse.schemas.in.h:28 +msgid "" +"Set to 'true' to have seahorse-agent prompt before giving out passwords it " +"has cached." +msgstr "" +"Uklučy, kab seahorse-agent pytaŭsia paćvierdžańnia pierad razdačaj parolaŭ z " +"kešu." + +#: ../data/seahorse.schemas.in.h:29 +msgid "Show clipboard state in panel" +msgstr "Pakazvaj stan buferu ŭ paneli" + +#: ../data/seahorse.schemas.in.h:30 +msgid "Show expires column in key manager" +msgstr "Pakazvaj kalonu zakančeńnia terminu ŭ kiraŭniku klučoŭ" + +#: ../data/seahorse.schemas.in.h:31 +msgid "Show trust column in key manager" +msgstr "Pakazvaj kalonu davieru ŭ kiraŭniku klučoŭ" + +#: ../data/seahorse.schemas.in.h:32 +msgid "Show type column in key manager" +msgstr "Pakazvaj kalonu typu ŭ kiraŭniku klučoŭ" + +#: ../data/seahorse.schemas.in.h:33 +msgid "Show validity column in key manager" +msgstr "Pakazvaj kalonu sapraŭdnaści ŭ kiraŭniku klučoŭ" + +#: ../data/seahorse.schemas.in.h:34 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name' and " +"'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "" +"Akreśl kalonu, dla jakoj treba sartavać adrasataŭ u vaknie. Kalony: \"name" +"\" (nazva) i \"id\". Ustaŭ \"-\" pierad nazvaj kalony, kab sartavać u " +"advarotnym paradku." + +#: ../data/seahorse.schemas.in.h:35 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." +msgstr "" +"Akreśl kalonu, dla jakoj treba sartavać źmieściva hałoŭnaha vakna kiraŭnika " +"klučoŭ Seahorse. Kalony: \"name\" (nazva), \"id\", \"validity" +"\" (sapraŭdnaść), \"expires\" (zakančeńnie terminu), \"trust\" (davier) i " +"\"type\" (typ). Ustaŭ \"-\" pierad nazvaj kalony, kab sartavać u advarotnym " +"paradku." + +#: ../data/seahorse.schemas.in.h:36 +msgid "The ID of the last secret key used to sign a message." +msgstr "" +"ID apošniaha sakretnaha kluča, vykarystanaha dla padpisańnia paviedamleńnia." + +#: ../data/seahorse.schemas.in.h:37 +msgid "The column to sort the recipients by" +msgstr "Kalona dla sartavańnia adrasataŭ" + +#: ../data/seahorse.schemas.in.h:38 +msgid "The column to sort the seahorse keys by" +msgstr "Kalona dla sartavańnia klučoŭ Seahorse" + +#: ../data/seahorse.schemas.in.h:39 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Server klučoŭ, kudy publikavać klučy PGP. Ci pusty, kab nie publikavać klučy " +"PGP." + +#: ../data/seahorse.schemas.in.h:40 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Apošni server klučoŭ, dzie ažyćciaŭlaŭsia pošuk, albo pustota, kali " +"vykarystoŭvalisia ŭsie servery." + +#: ../data/seahorse.schemas.in.h:41 +msgid "The last search pattern searched for against a key server." +msgstr "Apošni ŭzor pošuku na servery klučoŭ." + +#: ../data/seahorse.schemas.in.h:42 +msgid "The time (in minutes) to cache GPG passwords" +msgstr "Čas (u chvilinach), kab kešavać paroli GPG" + +#: ../data/seahorse.schemas.in.h:43 +msgid "" +"This is the amount of time, specified in minutes, to cache GPG passwords in " +"seahorse-agent." +msgstr "" +"Heta peryjad, akreśleny ŭ chvilinach, kab kešavać paroli GPG ŭ seahorse-" +"agent." + +#: ../data/seahorse.schemas.in.h:44 +msgid "" +"This option enables the GPG password cache in the seahorse-agent program. " +"The 'use-agent' setting in gpg.conf affects this setting." +msgstr "" +"Hetaja opcyja ŭklučaje keš dla parolaŭ GPG ŭ prahramie seahorse-agent. " +"Nałada \"use-agent\" u gpg.conf upłyvaje na hetuju naładu." + +#: ../data/seahorse.schemas.in.h:45 +msgid "" +"This specifies the default key to use for certain operations, mainly signing." +msgstr "Heta zmoŭčany kluč dla niekatorych aperacyj, pieravažna padpisańnia." + +#: ../data/seahorse.schemas.in.h:46 +msgid "" +"When set seahorse-agent will try to automatically load the users SSH keys " +"when needed. This is equivalent to using the ssh-add utility." +msgstr "" +"Kali ŭklučana, seahorse-agent budzie sprabavać autamatyčna zahružać " +"vymahanyja klučy SSH karystalnikaŭ. Heta padobna na vykarystańnie pryłady " +"ssh-add." + +#: ../data/seahorse.schemas.in.h:47 +msgid "" +"When set, seahorse-agent expires GPG passwords in its cache after a period " +"of time." +msgstr "" +"Kali ŭklučana, seahorse-agent źniapraŭdžvaje paroli GPG ŭ svaim kešy praz " +"peŭny čas." + +#: ../data/seahorse.schemas.in.h:48 +msgid "Where to store cached passwords." +msgstr "Dzie trymać kešavanyja paroli." + +#: ../data/seahorse.schemas.in.h:49 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Ci treba aŭtamatyčna atrymvać klučy z serveraŭ klučoŭ." + +#: ../data/seahorse.schemas.in.h:50 +msgid "" +"Whether or not modified keys should be automatically synced with the default " +"key server." +msgstr "" +"Ci treba aŭtamatyčna synchranizavać madyfikavanyja klučy sa zmoŭčanym " +"serveram klučoŭ." + +#: ../data/seahorse.schemas.in.h:51 +msgid "Whether the GPG password cache is enabled" +msgstr "Ci ŭklučany keš dla parolaŭ GPG" + +#: ../data/seahorse.schemas.in.h:52 +msgid "Whether to always encrypt to default key" +msgstr "Ci zaŭsiody šyfravać zmoŭčanym klučom" + +#: ../data/seahorse.schemas.in.h:53 +msgid "Whether to automatically load SSH keys on demand." +msgstr "Ci aŭtamatyčna zahružać vymahanyja klučy SSH." + +#: ../data/seahorse.schemas.in.h:54 +msgid "Whether to use ASCII Armor" +msgstr "Ci ŭžyvać abaronu ASCII" + +#: ../libcryptui/cryptui-key-chooser.c:156 +msgid "All Keys" +msgstr "Usie klučy" + +#: ../libcryptui/cryptui-key-chooser.c:157 +msgid "Selected Recipients" +msgstr "Abranyja adrasaty" + +#: ../libcryptui/cryptui-key-chooser.c:158 +msgid "Search Results" +msgstr "Vyniki pošuku" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:168 +msgid "Search _for:" +msgstr "Š_ukaj:" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:223 +msgid "_Sign message as:" +msgstr "_Padpišy paviedamleńnie jak:" + +#: ../libcryptui/cryptui-key-chooser.c:235 +msgid "None (Don't Sign)" +msgstr "Niama (Nie padpisvaj)" + +#. TODO: Icons +#: ../libcryptui/cryptui-key-list.c:117 +#: ../src/seahorse-key-manager-store.c:954 +#: ../src/seahorse-key-properties.c:871 +msgid "Name" +msgstr "Nazva" + +#: ../libcryptui/cryptui-key-list.c:120 +#: ../src/seahorse-key-manager-store.c:966 +#: ../src/seahorse-key-properties.c:1725 +msgid "Key ID" +msgstr "ID kluča" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:2 +msgid "Add Key Server" +msgstr "Dadaj server klučoŭ" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:3 +msgid "Host:" +msgstr "Host:" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:4 +msgid "Key Server Type:" +msgstr "Typ servera klučoŭ:" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:5 +#: ../src/seahorse-ssh-upload.glade.h:3 +msgid "The host name or address of the server." +msgstr "Nazva hostu ci adras servera." + +#: ../libseahorse/seahorse-add-keyserver.glade.h:6 +msgid "The port to access the server on." +msgstr "Port dla dostupu da servera." + +#: ../libseahorse/seahorse-hkp-source.c:358 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "Pošuk byŭ ćmianym. Server \"%s\" znajšoŭ nadta šmat klučoŭ." + +#: ../libseahorse/seahorse-hkp-source.c:360 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "Niemahčyma źviazacca z serveram \"%s\": %s" + +#: ../libseahorse/seahorse-hkp-source.c:563 +msgid "Searching for keys..." +msgstr "Pošuk klučoŭ..." + +#: ../libseahorse/seahorse-hkp-source.c:639 +msgid "Uploading keys..." +msgstr "Publikavańnie klučoŭ..." + +#: ../libseahorse/seahorse-hkp-source.c:715 +msgid "Retrieving keys..." +msgstr "Atrymańnie klučoŭ..." + +#: ../libseahorse/seahorse-hkp-source.c:764 +#, c-format +msgid "Searching for keys on: %s" +msgstr "Pošuk klučoŭ na: %s" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../libseahorse/seahorse-hkp-source.c:857 +#: ../libseahorse/seahorse-hkp-source.c:929 +#: ../libseahorse/seahorse-ldap-source.c:656 +#, c-format +msgid "Connecting to: %s" +msgstr "Spałučeńnie z: %s" + +#: ../libseahorse/seahorse-ldap-source.c:449 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "Niemahčyma źviazacca z \"%s\": %s" + +#: ../libseahorse/seahorse-ldap-source.c:629 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "Niemahčyma vyjaśnić adras: %s" + +#: ../libseahorse/seahorse-ldap-source.c:705 +#, c-format +msgid "Resolving server address: %s" +msgstr "Vyjaśnieńnie adrasu servera: %s" + +#: ../libseahorse/seahorse-ldap-source.c:883 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "Pošuk klučoŭ, jakija ŭtrymvajuć \"%s\"..." + +#: ../libseahorse/seahorse-ldap-source.c:910 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "Pošuk kluča z id \"%s\"..." + +#: ../libseahorse/seahorse-ldap-source.c:1011 +msgid "Retrieving remote keys..." +msgstr "Atrymańnie addalenych klučoŭ..." + +#: ../libseahorse/seahorse-ldap-source.c:1144 +msgid "Sending keys to key server..." +msgstr "Dasyłańnie klučoŭ na server klučoŭ..." + +#: ../libseahorse/seahorse-notification.c:559 +#: ../libseahorse/seahorse-notification.c:589 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "Kluč impartavany" +msgstr[1] "Klučy impartavanyja" +msgstr[2] "Klučy impartavanyja" + +#: ../libseahorse/seahorse-notification.c:563 +#: ../libseahorse/seahorse-notification.c:588 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "Impartavany %i kluč" +msgstr[1] "Impartavanyja %i klučy" +msgstr[2] "Impartavanyja %i klučoŭ" + +#: ../libseahorse/seahorse-notification.c:565 +#, c-format +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "Impartavany kluč dla" +msgstr[1] "Impartavanyja klučy dla" +msgstr[2] "Impartavanyja klučy dla" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../libseahorse/seahorse-notification.c:617 +#, c-format +msgid "Signed by expired on %s." +msgstr "Padpisaŭ skončyŭsia termin %s." + +#: ../libseahorse/seahorse-notification.c:618 +msgid "Invalid Signature" +msgstr "Niapravilny podpis" + +#: ../libseahorse/seahorse-notification.c:624 +#, c-format +msgid "Signed by on %s Expired." +msgstr "Padpisaŭ %s Skončany termin." + +#: ../libseahorse/seahorse-notification.c:625 +msgid "Expired Signature" +msgstr "Podpis sa skončanym terminam" + +#: ../libseahorse/seahorse-notification.c:631 +#, c-format +msgid "Signed by Revoked on %s." +msgstr "Padpisaŭ Skasavany %s." + +#: ../libseahorse/seahorse-notification.c:632 +msgid "Revoked Signature" +msgstr "Skasavany podpis" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../libseahorse/seahorse-notification.c:638 +#, c-format +msgid "Signed by on %s." +msgstr "Padpisaŭ %s." + +#: ../libseahorse/seahorse-notification.c:639 +msgid "Good Signature" +msgstr "Dobry podpis" + +#: ../libseahorse/seahorse-notification.c:644 +msgid "Signing key not in keyring." +msgstr "Kluča podpisu niama ŭ klučniku." + +#: ../libseahorse/seahorse-notification.c:645 +msgid "Unknown Signature" +msgstr "Nieviadomy podpis" + +#: ../libseahorse/seahorse-notification.c:649 +msgid "Bad or forged signature. The signed data was modified." +msgstr "Kiepski ci padrobleny podpis. Źviestki podpisu byli zmadyfikavanyja." + +#: ../libseahorse/seahorse-notification.c:650 +msgid "Bad Signature" +msgstr "Kiepski podpis" + +#: ../libseahorse/seahorse-notification.c:658 +msgid "Couldn't verify signature." +msgstr "Niemahčyma pravieryć podpis." + +#: ../libseahorse/seahorse-notify.glade.h:1 +msgid "Notification Messages" +msgstr "Paviedamleńni nahadvańniaŭ" + +#: ../libseahorse/seahorse-passphrase.c:175 +msgid "Passphrase" +msgstr "Parol" + +#: ../libseahorse/seahorse-passphrase.c:178 +msgid "Password:" +msgstr "Parol:" + +#: ../libseahorse/seahorse-passphrase.c:242 +msgid "Confirm:" +msgstr "Paćvierdź:" + +#: ../libseahorse/seahorse-passphrase.c:325 +#, c-format +msgid "Wrong passphrase." +msgstr "Błahi parol." + +#: ../libseahorse/seahorse-passphrase.c:329 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "Uviadzi novy parol dla \"%s\"" + +#: ../libseahorse/seahorse-passphrase.c:331 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "Uviadzi parol dla \"%s\"" + +#: ../libseahorse/seahorse-passphrase.c:334 +#: ../src/seahorse-change-passphrase.glade.h:4 +msgid "Enter new passphrase" +msgstr "Uviadzi novy parol" + +#: ../libseahorse/seahorse-passphrase.c:336 +msgid "Enter passphrase" +msgstr "Uviadzi parol" + +#: ../libseahorse/seahorse-pgp-key.c:140 ../libseahorse/seahorse-ssh-key.c:112 +#: ../src/seahorse-gkeyring-item.c:231 +msgid "Invalid" +msgstr "Niapravilny" + +#: ../libseahorse/seahorse-pgp-key.c:162 +#: ../src/seahorse-pgp-public-key-properties.glade.h:30 +msgid "Public PGP Key" +msgstr "Publičny kluč PGP" + +#: ../libseahorse/seahorse-pgp-key.c:165 +#: ../src/seahorse-pgp-private-key-properties.glade.h:35 +msgid "Private PGP Key" +msgstr "Pryvatny kluč PGP" + +#: ../libseahorse/seahorse-pgp-key.c:694 ../libseahorse/seahorse-validity.c:31 +#: ../src/seahorse-key-properties.c:1099 +msgid "Unknown" +msgstr "Nieviadomy" + +#: ../libseahorse/seahorse-pgp-key.c:696 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../libseahorse/seahorse-pgp-source.c:367 +#: ../libseahorse/seahorse-server-source.c:209 +#: ../src/seahorse-generate-select.c:142 +msgid "PGP Key" +msgstr "Kluč PGP" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../libseahorse/seahorse-pgp-source.c:723 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Zahružany %d kluč" +msgstr[1] "Zahružanyja %d klučy" +msgstr[2] "Zahružanyja %d klučoŭ" + +#: ../libseahorse/seahorse-pgp-source.c:778 +msgid "Loading Keys..." +msgstr "Zahruzka klučoŭ..." + +#: ../libseahorse/seahorse-pgp-source.c:821 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Niapravilnyja źviestki kluča (nie staje UIDaŭ). Pryčynaj moža być kamputar z " +"dataj u budučyni albo niastača samapodpisu." + +#: ../libseahorse/seahorse-pgp-source.c:942 ../src/seahorse-key-manager.c:446 +#: ../src/seahorse-key-manager.c:494 +msgid "Importing Keys" +msgstr "Impartavańnie klučoŭ" + +#: ../libseahorse/seahorse-pgp-source.c:975 +msgid "Exporting Keys" +msgstr "Ekspartavańnie klučoŭ" + +#: ../libseahorse/seahorse-prefs.c:62 +msgid "Not a valid Key Server address." +msgstr "Niapravilny adras servera klučoŭ." + +#: ../libseahorse/seahorse-prefs.c:63 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "" +"Pa dapamohu źviažysia z tvaim systemnym administrataram albo administrataram " +"servera klučoŭ." + +#: ../libseahorse/seahorse-prefs.c:174 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:359 +msgid "Custom" +msgstr "Asablivy" + +#: ../libseahorse/seahorse-prefs.c:429 +msgid "None: Don't publish keys" +msgstr "Niama: nie publikuj klučoŭ" + +#: ../libseahorse/seahorse-prefs.c:699 +msgid "None. Prompt for a key." +msgstr "Niama. Pytajsia kluča." + +#: ../libseahorse/seahorse-prefs-cache.c:226 +msgid "Couldn't open the Session Properties" +msgstr "Niemahčyma adčynić Ułaścivaści sesii" + +#: ../libseahorse/seahorse-prefs-cache.c:239 +msgid "Couldn't start the 'seahorse-agent' program" +msgstr "Niemahčyma ŭruchomić prahramu \"seahorse-agent\"" + +#: ../libseahorse/seahorse-prefs-cache.c:241 +msgid "The 'seahorse-agent' program exited unsuccessfully." +msgstr "Prahrama \"seahorse-agent\" vyjšła biespaśpiachova." + +#: ../libseahorse/seahorse-prefs.glade.h:1 +msgid "Defaults" +msgstr "Zmoŭčańni" + +#: ../libseahorse/seahorse-prefs.glade.h:2 +msgid "" +"Note: The 'seahorse-agent' program has been started. This program is " +"necessary in order to cache passphrases. " +msgstr "" +"Uvaha: Prahrama \"seahorse-agent\" była ŭruchomlenaja. Hetaja " +"prahrama patrebnaja, kab kešavać paroli." + +#: ../libseahorse/seahorse-prefs.glade.h:3 +msgid "Remember PGP Passphrases" +msgstr "Zapaminaj paroli PGP" + +#: ../libseahorse/seahorse-prefs.glade.h:4 +msgid "Secure Shell Keys" +msgstr "Klučy SSH" + +#: ../libseahorse/seahorse-prefs.glade.h:5 +msgid "" +"Warning: The 'seahorse-agent' program is not running. This program is " +"necessary in order to cache passphrases. " +msgstr "" +"Aściarožna: Prahrama \"seahorse-agent\" nie ŭruchomlenaja. Hetaja " +"prahrama patrebnaja, kab kešavać paroli." + +#: ../libseahorse/seahorse-prefs.glade.h:6 +msgid "A non-supported PGP passphrase caching agent is running." +msgstr "Uruchomleny niaŭzhodnieny ahient kešavańnia parolaŭ PGP." + +#: ../libseahorse/seahorse-prefs.glade.h:7 +msgid "No SSH caching agent is running. Cannot load Secure Shell keys." +msgstr "" +"Ahient kešavańnia SSH nie ŭruchomleny. Niemahčyma zahruzić klučy SSH." + +#: ../libseahorse/seahorse-prefs.glade.h:8 +msgid "This key is used to sign messages when no other key is chosen" +msgstr "" +"Hety kluč užyvajecca, kab padpisvać paviedamleńni, kali nie akreśleny " +"inšy parol" + +#: ../libseahorse/seahorse-prefs.glade.h:9 +msgid "As_k me before using a cached passphrase" +msgstr "_Spytaj mianie pierad vykarystańniem parolnaj frazy z kešu" + +#: ../libseahorse/seahorse-prefs.glade.h:10 +msgid "Automatically load _Secure Shell keys" +msgstr "Aŭtamatyčna zahružaj klučy _SSH" + +#: ../libseahorse/seahorse-prefs.glade.h:11 +msgid "Automatically retrieve keys from _key servers" +msgstr "Aŭtamatyčna atrymvaj klučy z _serveraŭ klučoŭ" + +#: ../libseahorse/seahorse-prefs.glade.h:12 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Aŭtamatyčna synchranizuj z_madyfikavanyja klučy z serverami klučoŭ" + +#: ../libseahorse/seahorse-prefs.glade.h:13 +msgid "" +"Changing the master password failed. Make certain that you entered the " +"correct original master password." +msgstr "" +"Pamyłka źmieny hałoŭnaha parolu. Pravier, ci pravilny dziejny hałoŭny parol " +"ty ŭvioŭ." + +#: ../libseahorse/seahorse-prefs.glade.h:14 +msgid "Confirm ne_w master password:" +msgstr "Paćvierdź _novy hałouny parol:" + +#: ../libseahorse/seahorse-prefs.glade.h:15 +msgid "Current _master password:" +msgstr "Dziejny _hałoŭny parol:" + +#: ../libseahorse/seahorse-prefs.glade.h:16 +#: ../plugins/nautilus/seahorse-pgp-preferences.c:74 +msgid "Encryption Preferences" +msgstr "Nałady šyfravańnia" + +#: ../libseahorse/seahorse-prefs.glade.h:17 +msgid "Encryption Settings" +msgstr "Nałady šyfravańnia" + +#: ../libseahorse/seahorse-prefs.glade.h:18 +msgid "GNOME Keyring" +msgstr "Klučnik GNOME" + +#: ../libseahorse/seahorse-prefs.glade.h:19 +msgid "" +"GNOME Keyring stores passwords, network keys, passphrases and other secrets " +"required for authentication. A master password is used to protect " +"these secrets. The master password can be changed below." +msgstr "" +"Klučnik GNOME zachoŭvaje paroli, sietkavyja klučy, paroli j inšyja " +"sakretnyja źviestki, patrebnyja dla aŭtaryzacyi. Hałoŭny parol " +"abaraniaje hetyja sakrety. Hałoŭny parol možna źmianić nižej." + +#: ../libseahorse/seahorse-prefs.glade.h:20 +msgid "Key Servers" +msgstr "Servery klučoŭ" + +#: ../libseahorse/seahorse-prefs.glade.h:21 +msgid "Key Sharing" +msgstr "Supolny dostup da klučoŭ" + +#: ../libseahorse/seahorse-prefs.glade.h:22 +msgid "Passphrase Cache" +msgstr "Keš parolaŭ" + +#: ../libseahorse/seahorse-prefs.glade.h:23 +msgid "Session _Properties" +msgstr "_Ułaścivaści sesii" + +#: ../libseahorse/seahorse-prefs.glade.h:24 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've " +"collected. This means they can automatically encrypt things for you or those " +"you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." +msgstr "" +"Supolny dostup da tvaich klučoŭ daje inšym ludziam z tvajoj sietki " +"vykarystoŭvać sabranyja taboju klučy. Heta značyć, jany zmohuć aŭtamatyčna " +"šyfravać rečy dla ciabie ci viadomych tabie ludziej, pryčym tabie nia treba " +"dasyłać im svoj kluč.\n" +"\n" +"Uvaha: Tvaje persanalnyja klučy nia buduć skamprametavanymi." + +#: ../libseahorse/seahorse-prefs.glade.h:27 +msgid "Start sea_horse-agent" +msgstr "Uruchom sea_horse-agent" + +#: ../libseahorse/seahorse-prefs.glade.h:28 +msgid "The master password was successfully changed." +msgstr "Hałoŭny parol paśpiachova źmianiŭsia." + +#: ../libseahorse/seahorse-prefs.glade.h:29 +msgid "" +"To avoid manually starting the 'seahorse-agent' in the future\n" +"add it to the Session Manager. " +msgstr "" +"Kab nadalej nie ŭruchamlać uručnuju prahramu \"seahorse-agent\",\n" +"dadaj jaje ŭ Kiraŭniku sesij." + +#: ../libseahorse/seahorse-prefs.glade.h:31 +msgid "When _encrypting, always include myself as a recipient" +msgstr "Pry _šyfravańni zaŭždy ŭłučaj mianie jak adrasata" + +#: ../libseahorse/seahorse-prefs.glade.h:32 +msgid "_Always remember passphrases whenever logged in" +msgstr "_Zaŭsiody pomni paroli, kali b ni ŭvajšoŭ" + +#: ../libseahorse/seahorse-prefs.glade.h:33 +msgid "_Default key:" +msgstr "_Zmoŭčany kluč:" + +#: ../libseahorse/seahorse-prefs.glade.h:34 +msgid "_Find keys via:" +msgstr "_Šukaj klučy praz:" + +#: ../libseahorse/seahorse-prefs.glade.h:35 +msgid "_Never remember passphrases" +msgstr "_Nikoli nia pamiataj parolaŭ" + +#: ../libseahorse/seahorse-prefs.glade.h:36 +msgid "_New master password:" +msgstr "_Novy hałoŭny parol:" + +#: ../libseahorse/seahorse-prefs.glade.h:37 +msgid "_Publish keys to:" +msgstr "_Publikuj klučy na:" + +#: ../libseahorse/seahorse-prefs.glade.h:38 +msgid "_Remember passphrases for" +msgstr "_Pomni paroli" + +#: ../libseahorse/seahorse-prefs.glade.h:39 +msgid "_Share my keys with others on my network" +msgstr "_Razdavaj maje klučy inšym udzielnikam majoj sietki" + +#: ../libseahorse/seahorse-prefs.glade.h:40 +msgid "minutes" +msgstr "chvilin" + +#: ../libseahorse/seahorse-progress.glade.h:1 +msgid "Progress Title" +msgstr "Zahałovak vakna prahresu" + +#: ../libseahorse/seahorse-server-source.c:466 +msgid "LDAP Key Server" +msgstr "Server klučoŭ LDAP" + +#: ../libseahorse/seahorse-server-source.c:469 +msgid "HTTP Key Server" +msgstr "Server klučoŭ HTTP" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../libseahorse/seahorse-signer.c:57 ../src/seahorse-sign.c:159 +msgid "No keys usable for signing" +msgstr "Nie staje klučoŭ, prydatnych dziela padpisańnia" + +#: ../libseahorse/seahorse-signer.c:58 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"U ciabie niama persanalnych klučoŭ PGP, prydatnych dla padpisańnia dakumentu " +"ci paviedamleńnia." + +#: ../libseahorse/seahorse-signer.glade.h:1 +msgid "_Sign message with key:" +msgstr "_Padpišy paviedamleńnie z dapamohaj kluča:" + +#: ../libseahorse/seahorse-ssh-askpass.c:94 +msgid "Enter your Secure Shell passphrase:" +msgstr "Uviadzi svoj parol SSH:" + +#: ../libseahorse/seahorse-ssh-key.c:90 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Niečytelny kluč SSH)" + +#: ../libseahorse/seahorse-ssh-key.c:94 ../libseahorse/seahorse-ssh-key.c:98 +#: ../libseahorse/seahorse-ssh-source.c:746 +#: ../src/seahorse-generate-select.c:145 +#: ../src/seahorse-ssh-key-properties.glade.h:20 +msgid "Secure Shell Key" +msgstr "Kluč SSH" + +#: ../libseahorse/seahorse-ssh-key.c:126 +msgid "Private Secure Shell Key" +msgstr "Pryvatny kluč SSH" + +#: ../libseahorse/seahorse-ssh-key.c:129 +msgid "Public Secure Shell Key" +msgstr "Publičny kluč SSH" + +#: ../libseahorse/seahorse-ssh-operation.c:133 +#: ../libseahorse/seahorse-ssh-operation.c:695 +#, c-format +msgid "The SSH command was terminated unexpectedly." +msgstr "Zahad SSH niečakana skončany." + +#: ../libseahorse/seahorse-ssh-operation.c:141 +#: ../libseahorse/seahorse-ssh-operation.c:702 +msgid "The SSH command failed." +msgstr "Pamyłka zahadu SSH." + +#: ../libseahorse/seahorse-ssh-operation.c:439 +msgid "Secure Shell key" +msgstr "Kluč SSH" + +#. Just prompt over and over again +#: ../libseahorse/seahorse-ssh-operation.c:725 +msgid "Secure Shell Passphrase" +msgstr "Parol SSH" + +#: ../libseahorse/seahorse-ssh-operation.c:811 +msgid "Old Key Passphrase" +msgstr "Stary parol dla kluča" + +#: ../libseahorse/seahorse-ssh-operation.c:812 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Uviadzi stary parol dla: %s" + +#: ../libseahorse/seahorse-ssh-operation.c:816 +msgid "New Key Passphrase" +msgstr "Novy parol dla kluča" + +#: ../libseahorse/seahorse-ssh-operation.c:817 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Uviadzi novy parol dla: %s" + +#: ../libseahorse/seahorse-ssh-operation.c:825 +msgid "Enter Key Passphrase" +msgstr "Uviadzi parol dla kluča" + +#: ../libseahorse/seahorse-ssh-operation.c:893 +msgid "Passphrase for New Secure Shell Key" +msgstr "Parol dla novaha kluča SSH" + +#: ../libseahorse/seahorse-ssh-operation.c:894 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "Uviadzi parol dla svajho novaha kluča SSH." + +#: ../libseahorse/seahorse-ssh-operation.c:1028 +msgid "Secure Shell Key Passphrase" +msgstr "Parol dla kluča SSH" + +#: ../libseahorse/seahorse-ssh-operation.c:1028 +#, c-format +msgid "Enter the passphrase for: %s" +msgstr "Uviadzi parol dla: %s" + +#: ../libseahorse/seahorse-ssh-operation.c:1029 +msgid "Save this passphrase in my keyring" +msgstr "Zachavaj hety parol u maim klučniku" + +#: ../libseahorse/seahorse-ssh-operation.c:1101 +#, c-format +msgid "Importing key: %s" +msgstr "Impartavańnie kluča: %s" + +#: ../libseahorse/seahorse-ssh-operation.c:1103 +msgid "Importing key. Enter passphrase" +msgstr "Impartavańnie kluča. Uviadzi parol" + +#: ../libseahorse/seahorse-ssh-operation.c:1105 +#: ../src/seahorse-key-manager.c:507 +#: ../src/seahorse-pgp-keys.desktop.in.in.h:1 +msgid "Import Key" +msgstr "Impartuj kluč" + +#: ../libseahorse/seahorse-unknown-key.c:67 +msgid "Unavailable" +msgstr "Niedastupny" + +#: ../libseahorse/seahorse-unknown-key.c:87 +#, c-format +msgid "Unknown Key: %s" +msgstr "Nieviadomy kluč: %s" + +#: ../libseahorse/seahorse-unknown-key.c:119 +msgid "Unknown Key" +msgstr "Nieviadomy kluč" + +#: ../libseahorse/seahorse-unknown-source.c:128 +msgid "Unavailable Key" +msgstr "Niedastupny kluč" + +#: ../libseahorse/seahorse-util.c:172 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Pamyłka rasšyfroŭki. Ty nia maješ kluča dziela rasšyfroŭki." + +#: ../libseahorse/seahorse-util.c:222 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-util.c:413 +msgid "Key Data" +msgstr "Źviestki kluča" + +#: ../libseahorse/seahorse-util.c:415 +msgid "Multiple Keys" +msgstr "Šmatlikija klučy" + +#: ../libseahorse/seahorse-util.c:728 +msgid "Couldn't run file-roller" +msgstr "Niemahčyma ŭruchomić file-roller'a" + +#: ../libseahorse/seahorse-util.c:733 +#: ../plugins/nautilus/seahorse-tool-files.c:830 +msgid "Couldn't package files" +msgstr "Niemahčyma zapakavać fajły" + +#: ../libseahorse/seahorse-util.c:734 +msgid "The file-roller process did not complete successfully" +msgstr "Praces file-roller nia skončyŭsia paśpiachova" + +#: ../libseahorse/seahorse-util.c:744 +msgid "Couldn't set permissions on backup file." +msgstr "Niemahčyma akreślić dazvoły dla rezervovaha fajłu." + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:848 +msgid "All key files" +msgstr "Usie fajły klučoŭ" + +#: ../libseahorse/seahorse-util.c:859 ../libseahorse/seahorse-util.c:899 +#: ../src/seahorse-photos.c:239 +msgid "All files" +msgstr "Usie fajły" + +#: ../libseahorse/seahorse-util.c:892 +msgid "Archive files" +msgstr "Archiŭnyja fajły" + +#: ../libseahorse/seahorse-util.c:933 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" +"Fajł z takoj nazvaj užo isnuje.\n" +"\n" +"Chočaš zamianić jaho na novy fajł?" + +#: ../libseahorse/seahorse-util.c:936 +msgid "_Replace" +msgstr "_Zamiani" + +#: ../libseahorse/seahorse-validity.c:33 ../src/seahorse-key-properties.c:1105 +#: ../src/seahorse-key-properties.c:1237 ../src/seahorse-key-properties.c:1309 +msgid "Never" +msgstr "Nikoli" + +#: ../libseahorse/seahorse-validity.c:35 ../src/seahorse-key-properties.c:1112 +msgid "Marginal" +msgstr "Pamiežny" + +#: ../libseahorse/seahorse-validity.c:37 ../src/seahorse-key-properties.c:1118 +msgid "Full" +msgstr "Poŭny" + +#: ../libseahorse/seahorse-validity.c:39 ../src/seahorse-key-properties.c:1124 +msgid "Ultimate" +msgstr "Kančatkovy" + +#: ../libseahorse/seahorse-validity.c:41 +msgid "Disabled" +msgstr "Vyklučany" + +#: ../libseahorse/seahorse-validity.c:43 ../src/seahorse-key-properties.c:1305 +msgid "Revoked" +msgstr "Skasavany" + +#: ../libseahorse/seahorse-widget.c:326 +#, c-format +msgid "Could not display help: %s" +msgstr "Niemahčyma pakazać dapamohu: %s" + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:1 +msgid "Clipboard Text Encryption" +msgstr "Šyfravańnie tekstu ŭ bufery" + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:2 +msgid "Encrypt, decrypt or sign the clipboard (uses PGP type encryption)." +msgstr "" +"Šyfruj, rasšyfroŭvaj ci padpisvaj bufer (užyvaje šyfravańnie typu PGP)." + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:3 +msgid "Seahorse Applet Factory" +msgstr "Fabryka apletu Seahorse" + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:1 +#: ../src/seahorse-key-manager.c:1198 +msgid "_About" +msgstr "_Ab" + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:2 +#: ../src/seahorse-key-manager.c:1182 ../src/seahorse-keyserver-results.c:381 +msgid "_Help" +msgstr "_Dapamoha" + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:3 +msgid "_Preferences" +msgstr "_Nałady" + +#: ../plugins/applet/seahorse-applet.c:309 +msgid "seahorse-applet" +msgstr "seahorse-applet" + +#: ../plugins/applet/seahorse-applet.c:311 +#: ../plugins/applet/seahorse-applet.c:836 +msgid "Use PGP/GPG to encrypt/decrypt/sign/verify/import the clipboard." +msgstr "" +"Užyj PGP/GPG, kab šyfravać/rasšyfroŭvać/padpisvać/pravieryć/impartavać bufer." + +#: ../plugins/applet/seahorse-applet.c:316 ../src/seahorse-key-manager.c:866 +msgid "translator-credits" +msgstr "Ihar Hračyška " + +#: ../plugins/applet/seahorse-applet.c:319 ../src/seahorse-key-manager.c:869 +msgid "Seahorse Project Homepage" +msgstr "Chatnija staronka prajektu Seahorse" + +#. Get the recipient list +#: ../plugins/applet/seahorse-applet.c:375 +#: ../plugins/epiphany/seahorse-extension.c:251 +#: ../plugins/gedit/seahorse-gedit.c:332 +msgid "Choose Recipient Keys" +msgstr "Abiary klučy adrasataŭ" + +#: ../plugins/applet/seahorse-applet.c:394 +msgid "Encrypted Text" +msgstr "Zašyfravany tekst" + +#: ../plugins/applet/seahorse-applet.c:396 +msgid "Encryption Failed" +msgstr "Pamyłka šyfravańnia" + +#: ../plugins/applet/seahorse-applet.c:397 +msgid "The clipboard could not be encrypted." +msgstr "Niemahčyma zašyfravać źmieściva buferu." + +#: ../plugins/applet/seahorse-applet.c:431 +#: ../plugins/epiphany/seahorse-extension.c:296 +#: ../plugins/gedit/seahorse-gedit.c:611 +msgid "Choose Key to Sign with" +msgstr "Abiary kluč dla padpisańnia" + +#: ../plugins/applet/seahorse-applet.c:450 +msgid "Signed Text" +msgstr "Padpisany tekst" + +#: ../plugins/applet/seahorse-applet.c:452 +msgid "Signing Failed" +msgstr "Pamyłka padpisańnia" + +#: ../plugins/applet/seahorse-applet.c:453 +msgid "The clipboard could not be Signed." +msgstr "Niemahčyma padpisać źmieściva buferu." + +#: ../plugins/applet/seahorse-applet.c:496 +#: ../plugins/epiphany/seahorse-extension.c:340 +msgid "Import Failed" +msgstr "Pamyłka impartavańnia" + +#: ../plugins/applet/seahorse-applet.c:497 +#: ../plugins/epiphany/seahorse-extension.c:341 +msgid "Keys were found but not imported." +msgstr "Klučy znojdzienyja, ale nie zimpartavanyja." + +#: ../plugins/applet/seahorse-applet.c:528 +#: ../plugins/epiphany/seahorse-extension.c:374 +msgid "Decrypting Failed" +msgstr "Pamyłka rasšyfroŭki" + +#: ../plugins/applet/seahorse-applet.c:529 +#: ../plugins/epiphany/seahorse-extension.c:375 +msgid "Text may be malformed." +msgstr "Tekst moža być paškodžanym." + +#: ../plugins/applet/seahorse-applet.c:580 +msgid "No PGP key or message was found on clipboard" +msgstr "U bufery nia znojdzieny kluč ci paviedamleńnie PGP" + +#: ../plugins/applet/seahorse-applet.c:581 +msgid "No PGP data found." +msgstr "Źviestki PGP nia znojdzienyja." + +#. TRANSLATORS: This means 'The text that was decrypted' +#: ../plugins/applet/seahorse-applet.c:616 +msgid "Decrypted Text" +msgstr "Rasšyfravany tekst" + +#: ../plugins/applet/seahorse-applet.c:685 +msgid "Could not display the help file" +msgstr "Niemahčyma pakazać fajł dapamohi" + +#: ../plugins/applet/seahorse-applet.c:748 +msgid "_Encrypt Clipboard" +msgstr "_Zašyfruj bufer" + +#: ../plugins/applet/seahorse-applet.c:755 +msgid "_Sign Clipboard" +msgstr "_Padpišy bufer" + +#: ../plugins/applet/seahorse-applet.c:762 +msgid "_Decrypt/Verify Clipboard" +msgstr "_Rasšyfruj/Pravier bufer" + +#: ../plugins/applet/seahorse-applet.c:768 +msgid "_Import Keys from Clipboard" +msgstr "_Impartuj klučy z buferu" + +#: ../plugins/applet/seahorse-applet.c:833 +#: ../plugins/applet/seahorse-applet.c:835 +msgid "Encryption Applet" +msgstr "Aplet šyfravańnia" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:1 +msgid "Display clipboard contents after:" +msgstr "Pakazvaj źmieściva buferu praz:" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:2 +msgid "Clipboard Encryption Preferences" +msgstr "Nałady šyfravańnia buferu" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:3 +msgid "_Decrypting or verifying the clipboard" +msgstr "_Rasšyfroŭka ci pravierka buferu" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:4 +msgid "_Encrypting or signing the clipboard" +msgstr "_Šyfravańnie ci padpisańnie buferu" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:5 +msgid "_Show clipboard state in panel" +msgstr "_Pakazvaj stan buferu ŭ paneli" + +#: ../plugins/epiphany/seahorse-extension.c:602 +msgid "_Encrypt" +msgstr "_Zašyfruj" + +#: ../plugins/epiphany/seahorse-extension.c:609 +#: ../src/seahorse-sign.glade.h:21 +msgid "_Sign" +msgstr "_Padpišy" + +#: ../plugins/epiphany/seahorse-extension.c:616 +msgid "_Decrypt/Verify" +msgstr "_Rasšyfruj/Pravier" + +#: ../plugins/epiphany/seahorse-extension.c:623 +msgid "_Import Key" +msgstr "_Impartuj kluč" + +#: ../plugins/gedit/seahorse-gedit.c:265 +msgid "Couldn't connect to seahorse-daemon" +msgstr "Niemahčyma spałučycca z seahorse-daemon" + +#: ../plugins/gedit/seahorse-gedit.c:354 +msgid "Encrypted text" +msgstr "Zašyfravany tekst" + +#: ../plugins/gedit/seahorse-gedit.c:357 +msgid "Couldn't encrypt text" +msgstr "Niemahčyma zašyfravać tekst" + +#: ../plugins/gedit/seahorse-gedit.c:387 ../src/seahorse-key-manager.c:387 +#: ../src/seahorse-key-manager.c:455 ../src/seahorse-key-manager.c:478 +msgid "Couldn't import keys" +msgstr "Niemahčyma zimpartavać klučy" + +#: ../plugins/gedit/seahorse-gedit.c:396 +msgid "Keys found but not imported" +msgstr "Klučy znojdzienyja, ale nie zimpartavanyja" + +#: ../plugins/gedit/seahorse-gedit.c:430 +msgid "Couldn't decrypt text" +msgstr "Niemahčyma rasšyfravać tekst" + +#: ../plugins/gedit/seahorse-gedit.c:462 +msgid "Couldn't verify text" +msgstr "Niemahčyma pravieryć tekst" + +#: ../plugins/gedit/seahorse-gedit.c:510 +msgid "No encrypted or signed text is selected." +msgstr "Zašyfravany ci padpisany tekst nia vyłučany." + +#: ../plugins/gedit/seahorse-gedit.c:540 +msgid "Decrypted text" +msgstr "Rasšyfravany tekst" + +#: ../plugins/gedit/seahorse-gedit.c:547 +msgid "Verified text" +msgstr "Pravierany tekst" + +#: ../plugins/gedit/seahorse-gedit.c:582 +#: ../plugins/nautilus/seahorse-tool.c:374 ../src/seahorse-key-manager.c:396 +#, c-format +msgid "Imported %d key" +msgid_plural "Imported %d keys" +msgstr[0] "Impartavany %d kluč" +msgstr[1] "Impartavanyja %d klučy" +msgstr[2] "Impartavanyja %d klučoŭ" + +#: ../plugins/gedit/seahorse-gedit.c:633 +msgid "Signed text" +msgstr "Padpisany tekst" + +#: ../plugins/gedit/seahorse-gedit.c:636 +msgid "Couldn't sign text" +msgstr "Niemahčyma padpisać tekst" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:133 +msgid "_Encrypt..." +msgstr "_Zašyfruj..." + +#: ../plugins/gedit/seahorse-gedit-plugin.c:134 +msgid "Encrypt the selected text" +msgstr "Zašyfruj vyłučany tekst" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:135 +msgid "Decr_ypt/Verify" +msgstr "Ras_šyfruj/Pravier" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:136 +msgid "Decrypt and/or Verify text" +msgstr "Rasšyfruj i/ci pravier tekst" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:137 +msgid "Sig_n..." +msgstr "P_adpišy..." + +#: ../plugins/gedit/seahorse-gedit-plugin.c:138 +msgid "Sign the selected text" +msgstr "Padpišy vyłučany tekst" + +#: ../plugins/gedit/seahorse-gedit.schemas.in.h:1 +msgid "Enable the seahorse encryption plugin for gedit." +msgstr "Uklučy plugi šyfravańnia Seahorse dla gedit." + +#: ../plugins/gedit/seahorse-gedit.schemas.in.h:2 +msgid "Enable the seahorse gedit plugin" +msgstr "Uklučy plugi Seahorse dla gedit" + +#: ../plugins/gedit/seahorse-pgp.gedit-plugin.desktop.in.h:1 +msgid "Text Encryption" +msgstr "Šyfravańnie tekstu" + +#: ../plugins/gedit/seahorse-pgp.gedit-plugin.desktop.in.h:2 +msgid "This plugin performs encryption operations on text." +msgstr "Hety plugin vykonvaje šyfravańnie tekstu." + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:161 +msgid "Encrypt..." +msgstr "Zašyfruj..." + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:162 +msgid "Encrypt (and optionally sign) the selected file" +msgid_plural "Encrypt the selected files" +msgstr[0] "Zašyfruj (i kali treba, padpišy) abrany fajł" +msgstr[1] "Zašyfruj abranyja fajły" +msgstr[2] "Zašyfruj abranyja fajły" + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:168 +#: ../src/seahorse-pgp-private-key-properties.glade.h:38 +msgid "Sign" +msgstr "Padpišy" + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:169 +msgid "Sign the selected file" +msgid_plural "Sign the selected files" +msgstr[0] "Padpišy abrany fajł" +msgstr[1] "Padpišy abranyja fajły" +msgstr[2] "Padpišy abranyja fajły" + +#: ../plugins/nautilus/seahorse-pgp-preferences.c:43 +#: ../plugins/nautilus/seahorse-pgp-preferences.c:47 +msgid "For internal use" +msgstr "Dla ŭnutranaha karystańnia" + +#: ../plugins/nautilus/seahorse-pgp-preferences.desktop.in.h:1 +msgid "Configure key servers and other encryption settings" +msgstr "Kanfihuruj servery klučoŭ i inšyja nałady šyfravańnia" + +#: ../plugins/nautilus/seahorse-pgp-preferences.desktop.in.h:2 +msgid "Encryption and Keyrings" +msgstr "Šyfravańnie j klučniki" + +#: ../plugins/nautilus/seahorse-tool.c:52 +msgid "Import keys from the file" +msgstr "Impartuj klučy z fajłu" + +#: ../plugins/nautilus/seahorse-tool.c:54 +msgid "Encrypt file" +msgstr "Zašyfruj fajł" + +#: ../plugins/nautilus/seahorse-tool.c:56 +msgid "Sign file with default key" +msgstr "Padpišy fajł zmoŭčanym klučom" + +#: ../plugins/nautilus/seahorse-tool.c:58 +msgid "Encrypt and sign file with default key" +msgstr "Zašyfruj i padpišy fajł zmoŭčanym klučom" + +#: ../plugins/nautilus/seahorse-tool.c:60 +msgid "Decrypt encrypted file" +msgstr "Rasšyfruj zašyfravany fajł" + +#: ../plugins/nautilus/seahorse-tool.c:62 +msgid "Verify signature file" +msgstr "Pravier fajł podpisu" + +#: ../plugins/nautilus/seahorse-tool.c:64 +msgid "Read list of URIs on standard in" +msgstr "Pračytaj śpis URI sa standartnaha ŭvachodu" + +#: ../plugins/nautilus/seahorse-tool.c:66 +msgid "file..." +msgstr "fajł..." + +#: ../plugins/nautilus/seahorse-tool.c:128 +msgid "Choose Recipients" +msgstr "Abiary adrasataŭ" + +#: ../plugins/nautilus/seahorse-tool.c:190 +#: ../plugins/nautilus/seahorse-tool.c:272 +msgid "Couldn't load keys" +msgstr "Niemahčyma zahruziić klučy" + +#: ../plugins/nautilus/seahorse-tool.c:206 +#, c-format +msgid "Choose Encrypted File Name for '%s'" +msgstr "Abiary nazvu zašyfravanaha fajłu dla \"%s\"" + +#: ../plugins/nautilus/seahorse-tool.c:256 +msgid "Choose Signer" +msgstr "Abiary padpiščyka" + +#: ../plugins/nautilus/seahorse-tool.c:291 +#, c-format +msgid "Choose Signature File Name for '%s'" +msgstr "Abiary nazvu fajłu podpisu dla \"%s\"" + +#: ../plugins/nautilus/seahorse-tool.c:372 +#, c-format +msgid "Imported key" +msgstr "Impartavany kluč" + +#. File to decrypt to +#: ../plugins/nautilus/seahorse-tool.c:396 +#, c-format +msgid "Choose Decrypted File Name for '%s'" +msgstr "Abiary nazvu rasšyfravanaha fajłu dla \"%s\"" + +#: ../plugins/nautilus/seahorse-tool.c:452 +#, c-format +msgid "Choose Original File for '%s'" +msgstr "Abiary pačatkovy fajł dla \"%s\"" + +#. +#. * TODO: What should happen with multiple files at this point. +#. * The last thing we want to do is cascade a big pile of error +#. * dialogs at the user. +#. +#: ../plugins/nautilus/seahorse-tool.c:524 +#, c-format +msgid "No valid signatures found" +msgstr "Pravilnyja podpisy nia znojdzienyja" + +#: ../plugins/nautilus/seahorse-tool.c:577 +msgid "File Encryption Tool" +msgstr "Pryłada dla šyfravańnia fajłaŭ" + +#: ../plugins/nautilus/seahorse-tool.c:600 +msgid "Encrypting" +msgstr "Šyfravańnie" + +#: ../plugins/nautilus/seahorse-tool.c:601 +#, c-format +msgid "Couldn't encrypt file: %s" +msgstr "Niemahčyma zašyfravać fajł: %s" + +#: ../plugins/nautilus/seahorse-tool.c:609 +msgid "Signing" +msgstr "Padpisańnie" + +#: ../plugins/nautilus/seahorse-tool.c:610 +#, c-format +msgid "Couldn't sign file: %s" +msgstr "Niemahčyma padpisać fajł: %s" + +#: ../plugins/nautilus/seahorse-tool.c:615 +msgid "Importing" +msgstr "Impartavańnie" + +#: ../plugins/nautilus/seahorse-tool.c:616 +#, c-format +msgid "Couldn't import keys from file: %s" +msgstr "Niemahčyma zimpartavać klučy z fajłu: %s" + +#: ../plugins/nautilus/seahorse-tool.c:622 +msgid "Decrypting" +msgstr "Rasšyfroŭka" + +#: ../plugins/nautilus/seahorse-tool.c:623 +#, c-format +msgid "Couldn't decrypt file: %s" +msgstr "Niemahčyma rasšyfravać fajł: %s" + +#: ../plugins/nautilus/seahorse-tool.c:628 +msgid "Verifying" +msgstr "Pravierka" + +#: ../plugins/nautilus/seahorse-tool.c:629 +#, c-format +msgid "Couldn't verify file: %s" +msgstr "Niemahčyma pravieryć fajł: %s" + +#: ../plugins/nautilus/seahorse-tool-files.c:114 +msgid "Ace (.ace)" +msgstr "Ace (.ace)" + +#: ../plugins/nautilus/seahorse-tool-files.c:115 +msgid "Ar (.ar)" +msgstr "Ar (.ar)" + +#: ../plugins/nautilus/seahorse-tool-files.c:116 +msgid "Arj (.arj)" +msgstr "Arj (.arj)" + +#: ../plugins/nautilus/seahorse-tool-files.c:123 +msgid "Ear (.ear)" +msgstr "Ear (.ear)" + +#: ../plugins/nautilus/seahorse-tool-files.c:124 +msgid "Self-extracting zip (.exe)" +msgstr "Samaraspakoŭny zip (.exe)" + +#: ../plugins/nautilus/seahorse-tool-files.c:126 +msgid "Jar (.jar)" +msgstr "Jar (.jar)" + +#: ../plugins/nautilus/seahorse-tool-files.c:127 +msgid "Lha (.lzh)" +msgstr "Lha (.lzh)" + +#: ../plugins/nautilus/seahorse-tool-files.c:129 +msgid "Rar (.rar)" +msgstr "Rar (.rar)" + +#: ../plugins/nautilus/seahorse-tool-files.c:131 +msgid "Tar uncompressed (.tar)" +msgstr "Nieskampresavany tar (.tar)" + +#: ../plugins/nautilus/seahorse-tool-files.c:132 +msgid "Tar compressed with bzip (.tar.bz)" +msgstr "Tar, skampresavany bzipam (.tar.bz)" + +#: ../plugins/nautilus/seahorse-tool-files.c:133 +msgid "Tar compressed with bzip2 (.tar.bz2)" +msgstr "Tar, skampresavany bzip2 (.tar.bz2)" + +#: ../plugins/nautilus/seahorse-tool-files.c:134 +msgid "Tar compressed with gzip (.tar.gz)" +msgstr "Tar, skampresavany gzipam (.tar.gz)" + +#: ../plugins/nautilus/seahorse-tool-files.c:135 +msgid "Tar compressed with lzop (.tar.lzo)" +msgstr "Tar, skampresavany lzopam (.tar.lzo)" + +#: ../plugins/nautilus/seahorse-tool-files.c:136 +msgid "Tar compressed with compress (.tar.Z)" +msgstr "Tar, skampresavany compressam (.tar.Z)" + +#: ../plugins/nautilus/seahorse-tool-files.c:138 +msgid "War (.war)" +msgstr "War (.war)" + +#: ../plugins/nautilus/seahorse-tool-files.c:139 +msgid "Zip (.zip)" +msgstr "Zip (.zip)" + +#: ../plugins/nautilus/seahorse-tool-files.c:140 +msgid "Zoo (.zoo)" +msgstr "Zoo (.zoo)" + +#: ../plugins/nautilus/seahorse-tool-files.c:141 +msgid "7-Zip (.7z)" +msgstr "7-Zip (.7z)" + +#. TRANSLATOR: This string will become +#. * "You have selected %d files and %d folders" +#: ../plugins/nautilus/seahorse-tool-files.c:318 +#, c-format +msgid "You have selected %d file " +msgid_plural "You have selected %d files " +msgstr[0] "Ty zaznačyŭ %d fajł " +msgstr[1] "Ty zaznačyŭ %d fajły " +msgstr[2] "Ty zaznačyŭ %d fajłaŭ " + +#. TRANSLATOR: This string will become +#. * "You have selected %d files and %d folders" +#: ../plugins/nautilus/seahorse-tool-files.c:323 +#, c-format +msgid "and %d folder" +msgid_plural "and %d folders" +msgstr[0] "i %d kataloh" +msgstr[1] "i %d katalohi" +msgstr[2] "i %d katalohaŭ" + +#. TRANSLATOR: "%s%s" are "You have selected %d files and %d folders" +#. * Swap order with "%2$s%1$s" if needed +#: ../plugins/nautilus/seahorse-tool-files.c:328 +#, c-format +msgid "%s%s" +msgstr "%s%s" + +#. should never be called for just one file +#: ../plugins/nautilus/seahorse-tool-files.c:337 +#, c-format +msgid "You have selected %d files" +msgstr "Ty zaznačyŭ %d fajłaŭ" + +#: ../plugins/nautilus/seahorse-tool-files.c:342 +#, c-format +msgid "You have selected %d folder" +msgid_plural "You have selected %d folders" +msgstr[0] "Ty zaznačyŭ %d kataloh" +msgstr[1] "Ty zaznačyŭ %d katalohi" +msgstr[2] "Ty zaznačyŭ %d katalohaŭ" + +#: ../plugins/nautilus/seahorse-tool-files.c:811 +msgid "Preparing..." +msgstr "Padrychtoŭka..." + +#: ../plugins/nautilus/seahorse-tool-files.c:820 +#: ../plugins/nautilus/seahorse-tool-files.c:843 +msgid "Couldn't list files" +msgstr "Niemahčyma pakazać śpis fajłaŭ" + +#: ../src/main.c:61 ../src/seahorse-key-manager.c:861 +msgid "Encryption Key Manager" +msgstr "Kiraŭnik klučoŭ šyfravańnia" + +#: ../src/seahorse-add-subkey.c:134 +msgid "Couldn't add subkey" +msgstr "Niemahčyma dadać padkluč" + +#: ../src/seahorse-add-subkey.c:154 +#, c-format +msgid "Add subkey to %s" +msgstr "Dadaj padkluč da %s" + +#: ../src/seahorse-add-subkey.c:171 ../src/seahorse-pgp-generate.c:44 +msgid "DSA (sign only)" +msgstr "DSA (tolki podpis)" + +#: ../src/seahorse-add-subkey.c:179 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (tolki šyfravańnie)" + +#: ../src/seahorse-add-subkey.c:185 ../src/seahorse-pgp-generate.c:45 +msgid "RSA (sign only)" +msgstr "RSA (tolki podpis)" + +#: ../src/seahorse-add-subkey.c:191 +msgid "RSA (encrypt only)" +msgstr "RSA (tolki šyfravańnie)" + +#: ../src/seahorse-add-subkey.glade.h:1 +msgid "Expiration Date:" +msgstr "Data zakančeńnia terminu dziejańnia:" + +#: ../src/seahorse-add-subkey.glade.h:2 +msgid "Generate a new subkey" +msgstr "Zhieneruj novy padkluč" + +#: ../src/seahorse-add-subkey.glade.h:3 +msgid "If key never expires" +msgstr "Kali kluč nikoli nie zakančvaje termin dziejańnia" + +#: ../src/seahorse-add-subkey.glade.h:4 +msgid "Key _Length:" +msgstr "_Daŭžynia kluča:" + +#: ../src/seahorse-add-subkey.glade.h:5 +msgid "Key _Type:" +msgstr "_Typ kluča:" + +#: ../src/seahorse-add-subkey.glade.h:6 +msgid "Length of Key" +msgstr "Daŭžynia kluča" + +#: ../src/seahorse-add-subkey.glade.h:7 +msgid "Never E_xpires" +msgstr "Nikoli nie _kančajecca termin" + +#: ../src/seahorse-add-uid.c:82 +msgid "Couldn't add user id" +msgstr "Niemahčyma dadać id karystalnika" + +#: ../src/seahorse-add-uid.c:104 +#, c-format +msgid "Add user ID to %s" +msgstr "Dadaj ID karystalnika da %s" + +#: ../src/seahorse-add-uid.glade.h:1 +msgid "Add User ID" +msgstr "Dadaj ID karystalnika" + +#: ../src/seahorse-add-uid.glade.h:2 +msgid "Create the new user ID" +msgstr "Stvary novy ID karystalnika" + +#: ../src/seahorse-add-uid.glade.h:3 ../src/seahorse-pgp-generate.glade.h:8 +msgid "Full _Name:" +msgstr "Poŭnaja _nazva:" + +#: ../src/seahorse-add-uid.glade.h:4 +msgid "Key Co_mment:" +msgstr "_Kamentar da kluča:" + +#: ../src/seahorse-add-uid.glade.h:5 +msgid "Must be at least 5 characters long" +msgstr "Musić być jak mienš 5 znakaŭ u daŭžyniu" + +#: ../src/seahorse-add-uid.glade.h:6 +msgid "Optional comment describing key" +msgstr "Nieabaviazkovy kamentar, jaki apisvaje kluč" + +#: ../src/seahorse-add-uid.glade.h:7 +msgid "Optional email address" +msgstr "Nieabaviazkovy adras e-mail" + +#: ../src/seahorse-add-uid.glade.h:8 ../src/seahorse-pgp-generate.glade.h:14 +msgid "_Email Address:" +msgstr "Adras _e-mail:" + +#: ../src/seahorse-change-passphrase.glade.h:1 +msgid "Change Passphrase" +msgstr "Źmiani parol" + +#: ../src/seahorse-change-passphrase.glade.h:2 +msgid "Con_firm Passphrase:" +msgstr "_Paćvierdź parol:" + +#: ../src/seahorse-change-passphrase.glade.h:3 +msgid "Confirm new passphrase" +msgstr "Paćvierdź novy parol" + +#: ../src/seahorse-change-passphrase.glade.h:5 +msgid "New _Passphrase:" +msgstr "Novy _parol:" + +#: ../src/seahorse-delete.c:40 +#, c-format +msgid "" +"%s is a private key. Make sure you have a backup. Do you still want to " +"delete it?" +msgstr "" +"%s źjaŭlajecca pryvatnym klučom. Pravier, ci maješ rezervovuju kopiju. Ty " +"jašče chočaš vydalić jaho?" + +#: ../src/seahorse-delete.c:74 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Ty sapraŭdy chočaš nazaŭždy vydalić %s?" + +#: ../src/seahorse-delete.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d key?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Ty sapraŭdy chočaš nazaŭždy vydalić %d kluč?" +msgstr[1] "Ty sapraŭdy chočaš nazaŭždy vydalić %d klučy?" +msgstr[2] "Ty sapraŭdy chočaš nazaŭždy vydalić %d klučoŭ?" + +#: ../src/seahorse-delete.c:124 +msgid "Couldn't delete key" +msgstr "Niemahčyma vydalić kluč" + +#: ../src/seahorse-delete.c:139 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Ty sapraŭdy chočaš nazaŭždy vydalić padkluč %d z %s?" + +#: ../src/seahorse-delete.c:162 +msgid "Couldn't delete subkey" +msgstr "Niemahčyma vydalić padkluč" + +#: ../src/seahorse-delete.c:181 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "Ty sapraŭdy chočaš nazaŭždy vydalić ID karystalnika \"%s\"?" + +#: ../src/seahorse-delete.c:206 +msgid "Couldn't delete user id" +msgstr "Niemahčyma vydalić id karystalnika" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "Kiruj parolami j klučami šyfravańnia" + +#: ../src/seahorse.desktop.in.in.h:2 ../src/seahorse-key-manager.glade.h:7 +msgid "Passwords and Encryption Keys" +msgstr "Paroli j klučy šyfravańnia" + +#: ../src/seahorse-expires.c:67 +msgid "Couldn't change expiry date" +msgstr "Niemahčyma źmianić datu zakančeńnia terminu" + +#: ../src/seahorse-expires.c:131 +#, c-format +msgid "Expiry for Subkey %d of %s" +msgstr "Zakančeńnie terminu dla padkluča %d z %s" + +#: ../src/seahorse-expires.c:133 +#, c-format +msgid "Expiry for %s" +msgstr "Zakančeńnie terminu dla %s" + +#: ../src/seahorse-expires.glade.h:1 +msgid "C_hange" +msgstr "_Źmiani" + +#: ../src/seahorse-expires.glade.h:2 ../src/seahorse-revoke.glade.h:4 +msgid "Revoke key" +msgstr "Anuluj kluč" + +#: ../src/seahorse-expires.glade.h:3 +msgid "_Never expires" +msgstr "_Nikoli nie kančajecca termin" + +#: ../src/seahorse-generate-select.c:143 +msgid "Used to encrypt email and files" +msgstr "Dla šyfravańnia e-maiłaŭ i fajłaŭ" + +#: ../src/seahorse-generate-select.c:146 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "Dla dostupu da inšych kamputaraŭ (naprykład, praz terminał)" + +#: ../src/seahorse-generate-select.glade.h:1 +msgid "_Select the kind of key you wish to create:" +msgstr "_Abiary typ kluča, jaki ty chočaš stvaryć:" + +#: ../src/seahorse-generate-select.glade.h:2 +msgid "C_ontinue" +msgstr "P_raciahvaj" + +#: ../src/seahorse-generate-select.glade.h:3 +msgid "Create a New Key" +msgstr "Stvary novy kluč" + +#: ../src/seahorse-gkeyring-item.c:248 +msgid "Web Password" +msgstr "Web parol" + +#: ../src/seahorse-gkeyring-item.c:250 +msgid "Network Password" +msgstr "Sietkavy parol" + +#: ../src/seahorse-gkeyring-item.c:252 +#: ../src/seahorse-gkeyring-item-properties.c:116 +#: ../src/seahorse-gkeyring-source.c:525 +msgid "Password" +msgstr "Parol" + +#: ../src/seahorse-gkeyring-item-properties.c:90 +msgid "Access a network share or resource" +msgstr "Atrymaj dostup da sietkavaha resursu" + +#: ../src/seahorse-gkeyring-item-properties.c:94 +msgid "Access a website" +msgstr "Atrymaj dostup da web-sajtu" + +#: ../src/seahorse-gkeyring-item-properties.c:98 +msgid "Unlocks a PGP key" +msgstr "Razblakuje kluč PGP" + +#: ../src/seahorse-gkeyring-item-properties.c:101 +msgid "Unlocks a Secure Shell key" +msgstr "Razblakuje kluč SSH" + +#: ../src/seahorse-gkeyring-item-properties.c:104 +msgid "Saved password or login" +msgstr "Zapisany parol ci ŭvachod" + +#: ../src/seahorse-gkeyring-item-properties.c:116 +msgid "Network Credentials" +msgstr "Sietkavyja paśviedčańni" + +#: ../src/seahorse-gkeyring-item-properties.c:177 +msgid "Couldn't change password." +msgstr "Niemahčyma źmianić parol." + +#: ../src/seahorse-gkeyring-item-properties.c:284 +msgid "Couldn't set description." +msgstr "Niemahčyma akreślić apisańnie." + +#: ../src/seahorse-gkeyring-item-properties.glade.h:1 +msgid "Password:" +msgstr "Parol:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:2 +#: ../src/seahorse-pgp-public-key-properties.glade.h:9 +#: ../src/seahorse-ssh-key-properties.glade.h:9 +msgid "Technical Details:" +msgstr "Techničnyja detali:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:3 +#: ../src/seahorse-pgp-private-key-properties.glade.h:22 +#: ../src/seahorse-pgp-public-key-properties.glade.h:19 +#: ../src/seahorse-ssh-key-properties.glade.h:16 +msgid "Details" +msgstr "Detali" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:4 +#: ../src/seahorse-ssh-key-properties.glade.h:18 +msgid "Key" +msgstr "Kluč" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:5 +#: ../src/seahorse-pgp-private-key-properties.glade.h:29 +#: ../src/seahorse-pgp-public-key-properties.glade.h:28 +#: ../src/seahorse-ssh-key-properties.glade.h:19 +msgid "Key Properties" +msgstr "Ułaścivaści kluča" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:6 +msgid "Login:" +msgstr "Login:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:7 +msgid "Server:" +msgstr "Server:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:8 +msgid "Show pass_word" +msgstr "Pakažy _parol" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:9 +#: ../src/seahorse-pgp-private-key-properties.glade.h:41 +#: ../src/seahorse-pgp-public-key-properties.glade.h:35 +msgid "Type:" +msgstr "Typ:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:10 +msgid "Use:" +msgstr "Užyćcio:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:11 +#: ../src/seahorse-revoke.glade.h:5 +msgid "_Description:" +msgstr "_Apisańnie:" + +#: ../src/seahorse-gkeyring-operation.c:206 +msgid "Access to the key ring was denied" +msgstr "Dostup da źviazki klučoŭ zabaronieny" + +#: ../src/seahorse-gkeyring-operation.c:209 +msgid "The gnome-keyring daemon is not running" +msgstr "Deman gnome-keyring nie ŭruchomleny" + +#: ../src/seahorse-gkeyring-operation.c:212 +msgid "The key ring has already been unlocked" +msgstr "Źviezka klučoŭ užo razblakavanaja" + +#: ../src/seahorse-gkeyring-operation.c:215 +msgid "No such key ring exists" +msgstr "Takoj źviazki klučoŭ nie isnuje" + +#: ../src/seahorse-gkeyring-operation.c:218 +msgid "Couldn't communicate with key ring daemon" +msgstr "Niemahčyma źviazacca z demanam źviazak klučoŭ" + +#: ../src/seahorse-gkeyring-operation.c:221 +msgid "The item already exists" +msgstr "Element užo isnuje" + +#: ../src/seahorse-gkeyring-operation.c:227 +msgid "Internal error accessing gnome-keyring" +msgstr "Unutranaja pamyłka dostupu da gnome-keyring" + +#: ../src/seahorse-gkeyring-operation.c:286 +msgid "Saving item..." +msgstr "Zapis elementu..." + +#: ../src/seahorse-gkeyring-source.c:358 +msgid "Retrieving key" +msgstr "Atrymańnie kluča" + +#. Start listing of ids +#: ../src/seahorse-gkeyring-source.c:372 +msgid "Listing passwords" +msgstr "Atrymańnie śpisu parolaŭ" + +#: ../src/seahorse-key-manager.c:435 +msgid "Couldn't read file" +msgstr "Niemahčyma pračytać fajł" + +#: ../src/seahorse-key-manager.c:478 +msgid "Unrecognized key type, or invalid data format" +msgstr "Niezrazumieły typ kluča albo niapravilny farmat źviestak" + +#: ../src/seahorse-key-manager.c:552 ../src/seahorse-keyserver-results.c:218 +msgid "Couldn't retrieve data from key server" +msgstr "Niemahčyma atrymać źviestki z servera klučoŭ" + +#: ../src/seahorse-key-manager.c:568 ../src/seahorse-keyserver-results.c:234 +#, c-format +msgid "Copied %d key" +msgid_plural "Copied %d keys" +msgstr[0] "Skapijavany %d kluč" +msgstr[1] "Skapijavanyja %d klučy" +msgstr[2] "Skapijavanyja %d klučoŭ" + +#: ../src/seahorse-key-manager.c:592 ../src/seahorse-keyserver-results.c:194 +#: ../src/seahorse-keyserver-results.c:259 +msgid "Retrieving keys" +msgstr "Atrymańnie klučoŭ" + +#: ../src/seahorse-key-manager.c:618 +msgid "Couldn't export key" +msgstr "Niemahčyma ekspartavać kluč" + +#: ../src/seahorse-key-manager.c:638 +msgid "Export public key" +msgstr "Ekspartuj publičny kluč" + +#: ../src/seahorse-key-manager.c:648 ../src/seahorse-key-properties.c:1038 +#: ../src/seahorse-ssh-key-properties.c:240 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "Niemahčyma ekspartavać kluč u \"%s\"" + +#: ../src/seahorse-key-manager.c:660 +msgid "Exporting keys" +msgstr "Ekspartavańnie klučoŭ" + +#: ../src/seahorse-key-manager.c:679 +msgid "Back up Key Rings to Archive" +msgstr "Stvary rezervovy archiŭ dla źviazak klučoŭ" + +#: ../src/seahorse-key-manager.c:833 +msgid "Contributions:" +msgstr "Spryjańnie:" + +#: ../src/seahorse-key-manager.c:859 +msgid "seahorse" +msgstr "seahorse" + +#: ../src/seahorse-key-manager.c:942 ../src/seahorse-keyserver-results.c:300 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "Zaznačany %d kluč" +msgstr[1] "Zaznačanyja %d klučy" +msgstr[2] "Zaznačanyja %d klučoŭ" + +#. Top menu items +#: ../src/seahorse-key-manager.c:1179 ../src/seahorse-keyserver-results.c:379 +msgid "_Key" +msgstr "_Kluč" + +#: ../src/seahorse-key-manager.c:1180 ../src/seahorse-keyserver-results.c:380 +msgid "_Edit" +msgstr "_Redahuj" + +#: ../src/seahorse-key-manager.c:1181 +msgid "_View" +msgstr "_Vyhlad" + +#. Key Actions +#: ../src/seahorse-key-manager.c:1185 +msgid "_Create New Key..." +msgstr "_Stvary novy kluč..." + +#: ../src/seahorse-key-manager.c:1186 +msgid "Create a new personal key" +msgstr "Stvary novy persanalny kluč" + +#: ../src/seahorse-key-manager.c:1187 +msgid "_Import..." +msgstr "_Impartuj..." + +#: ../src/seahorse-key-manager.c:1188 +msgid "Import keys into your key ring from a file" +msgstr "Impartuj klučy ŭ svaju źviazku klučoŭ z fajłu" + +#: ../src/seahorse-key-manager.c:1189 +msgid "_Back up Key Rings..." +msgstr "_Rezervuj źviazki klučoŭ..." + +#: ../src/seahorse-key-manager.c:1190 +msgid "Back up all keys" +msgstr "Rezervuj usie klučy" + +#: ../src/seahorse-key-manager.c:1191 +msgid "Paste _Keys" +msgstr "Uklej _klučy" + +#: ../src/seahorse-key-manager.c:1192 +msgid "Import keys from the clipboard" +msgstr "Impartuj klučy z buferu" + +#: ../src/seahorse-key-manager.c:1194 +msgid "_Quit" +msgstr "_Vyjdzi" + +#: ../src/seahorse-key-manager.c:1195 +msgid "Close this program" +msgstr "Začyni hetuju prahramu" + +#: ../src/seahorse-key-manager.c:1196 +msgid "Prefere_nces" +msgstr "_Nałady" + +#: ../src/seahorse-key-manager.c:1197 +msgid "Change preferences for this program" +msgstr "Źmiani nałady hetaj prahramy" + +#: ../src/seahorse-key-manager.c:1199 +msgid "About this program" +msgstr "Ab hetaj prahramie" + +#: ../src/seahorse-key-manager.c:1201 +msgid "_Remote" +msgstr "_Addaleny" + +#: ../src/seahorse-key-manager.c:1203 ../src/seahorse-keyserver-results.c:385 +msgid "_Contents" +msgstr "_Źmieściva" + +#: ../src/seahorse-key-manager.c:1204 ../src/seahorse-keyserver-results.c:386 +msgid "Show Seahorse help" +msgstr "Pakažy dapamohu Seahorse" + +#: ../src/seahorse-key-manager.c:1208 +msgid "T_ypes" +msgstr "T_ypy" + +#: ../src/seahorse-key-manager.c:1209 +msgid "Show type column" +msgstr "Pakažy kalonu typaŭ" + +#: ../src/seahorse-key-manager.c:1210 +msgid "_Expiry" +msgstr "_Termin" + +#: ../src/seahorse-key-manager.c:1211 +msgid "Show expiry column" +msgstr "Pakažy kalonu terminaŭ zakančeńnia dziejańnia" + +#: ../src/seahorse-key-manager.c:1212 +msgid "_Trust" +msgstr "_Davier" + +#: ../src/seahorse-key-manager.c:1213 +msgid "Show owner trust column" +msgstr "Pakažy kalonu davieru da ŭładalnika" + +#: ../src/seahorse-key-manager.c:1214 +msgid "_Validity" +msgstr "_Sapraŭdnaść" + +#: ../src/seahorse-key-manager.c:1215 +msgid "Show validity column" +msgstr "Pakažy kalonu sapraŭdnaści" + +#: ../src/seahorse-key-manager.c:1219 ../src/seahorse-keyserver-results.c:397 +msgid "P_roperties" +msgstr "_Ułaścivaści" + +#: ../src/seahorse-key-manager.c:1220 ../src/seahorse-keyserver-results.c:398 +msgid "Show key properties" +msgstr "Pakažy ŭłaścivaści kluča" + +#: ../src/seahorse-key-manager.c:1221 +msgid "E_xport Public Key..." +msgstr "_Ekspartuj publičny kluč..." + +#: ../src/seahorse-key-manager.c:1222 +msgid "Export public part of key to a file" +msgstr "Ekspartuj publičnuju častku kluča ŭ fajł" + +#: ../src/seahorse-key-manager.c:1223 +msgid "_Copy Public Key" +msgstr "_Skapijuj publičny kluč" + +#: ../src/seahorse-key-manager.c:1224 +msgid "Copy public part of selected keys to the clipboard" +msgstr "Skapijuj publičnuju častku zaznačanych klučoŭ u bufer" + +#: ../src/seahorse-key-manager.c:1225 +msgid "_Delete Key" +msgstr "_Vydal kluč" + +#: ../src/seahorse-key-manager.c:1226 +msgid "Delete selected keys" +msgstr "Vydal zaznačanyja klučy" + +#: ../src/seahorse-key-manager.c:1230 +msgid "_Sign..." +msgstr "_Padpišy..." + +#: ../src/seahorse-key-manager.c:1231 +msgid "Sign public key" +msgstr "Padpišy publičny kluč" + +#: ../src/seahorse-key-manager.c:1235 +msgid "Set Up Computer for _Secure Shell..." +msgstr "Kanfihuruj kamputar dla _SSH..." + +#: ../src/seahorse-key-manager.c:1236 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"Dašli publičny kluč SSH na inšy kamputar i dazvol uvachod z dapamohaj hetaha " +"kluča." + +#: ../src/seahorse-key-manager.c:1240 ../src/seahorse-keyserver-results.c:406 +msgid "_Find Remote Keys..." +msgstr "_Šukaj addalenyja klučy..." + +#: ../src/seahorse-key-manager.c:1241 ../src/seahorse-keyserver-results.c:407 +msgid "Search for keys on a key server" +msgstr "Šukaj klučy na servery klučoŭ" + +#: ../src/seahorse-key-manager.c:1242 +msgid "_Sync and Publish Keys..." +msgstr "_Synchranizuj i apublikuj klučy..." + +#: ../src/seahorse-key-manager.c:1243 +msgid "Publish and/or synchronize your keys with those online." +msgstr "Apublikuj i/ci synchranizuj svaje klučy sa źmieščanymi ŭ internecie." + +#: ../src/seahorse-key-manager.glade.h:1 +msgid "First time options:" +msgstr "Opcyi pieršaha razu:" + +#: ../src/seahorse-key-manager.glade.h:2 +msgid "Filter:" +msgstr "Filter:" + +#: ../src/seahorse-key-manager.glade.h:3 +msgid "Generate a new key of your own: " +msgstr "Zhieneruj svoj novy kluč: " + +#: ../src/seahorse-key-manager.glade.h:4 +msgid "Import existing keys from a file:" +msgstr "Impartuj najaŭnyja klučy z fajłu:" + +#: ../src/seahorse-key-manager.glade.h:5 +msgid "My _Personal Keys" +msgstr "Maje _persanalnyja klučy" + +#: ../src/seahorse-key-manager.glade.h:6 +msgid "Other _Collected Keys" +msgstr "Inšyja _sabranyja klučy" + +#: ../src/seahorse-key-manager.glade.h:8 +msgid "To get started with encryption you will need keys." +msgstr "Kab šyfravać, treba mieć klučy." + +#: ../src/seahorse-key-manager.glade.h:9 +#: ../src/seahorse-keyserver-results.c:395 +msgid "_Import" +msgstr "_Impartuj" + +#: ../src/seahorse-key-manager.glade.h:10 +msgid "_Passwords" +msgstr "_Paroli" + +#: ../src/seahorse-key-manager.glade.h:11 +msgid "_Trusted Keys" +msgstr "_Davieranyja klučy" + +#: ../src/seahorse-key-manager-store.c:311 +#: ../src/seahorse-key-properties.c:1306 +msgid "Expired" +msgstr "Zakončyŭsia termin dziejańnia" + +#: ../src/seahorse-key-manager-store.c:364 +msgid "User ID" +msgstr "ID karystalnika" + +#: ../src/seahorse-key-manager-store.c:697 +msgid "Couldn't retrieve key data" +msgstr "Niemahčyma atrymać źviestki ab klučy" + +#: ../src/seahorse-key-manager-store.c:729 +msgid "Couldn't write key to file" +msgstr "Niemahčyma zapisać kluč u fajł" + +#: ../src/seahorse-key-manager-store.c:972 +msgid "Validity" +msgstr "Sapraŭdnaść" + +#. Trust column +#: ../src/seahorse-key-manager-store.c:979 +#: ../src/seahorse-pgp-public-key-properties.glade.h:34 +msgid "Trust" +msgstr "Davier" + +#. The key type column +#: ../src/seahorse-key-manager-store.c:985 +#: ../src/seahorse-key-properties.c:1284 +msgid "Type" +msgstr "Typ" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:991 +msgid "Expiration Date" +msgstr "Data zakančeńnia terminu" + +#: ../src/seahorse-key-properties.c:208 +msgid "Couldn't change primary user ID" +msgstr "Niemahčyma źmianić hałoŭny ID karystalnika" + +#: ../src/seahorse-key-properties.c:304 ../src/seahorse-key-properties.c:1436 +msgid "[Unknown]" +msgstr "[Nieviadomy]" + +#: ../src/seahorse-key-properties.c:402 ../src/seahorse-key-properties.c:1722 +msgid "Name/Email" +msgstr "Nazva/E-mail" + +#: ../src/seahorse-key-properties.c:407 +msgid "Signature ID" +msgstr "ID podpisu" + +#: ../src/seahorse-key-properties.c:558 +msgid "Couldn't change primary photo" +msgstr "Niemahčyma źmianić hałoŭnuju fatahrafiju" + +#: ../src/seahorse-key-properties.c:806 +msgid "(unknown)" +msgstr "(nieviadomy)" + +#: ../src/seahorse-key-properties.c:809 +#, c-format +msgid "This key expired on: %s" +msgstr "Data zakančeńnia terminu kluča: %s" + +#: ../src/seahorse-key-properties.c:992 ../src/seahorse-key-properties.c:1386 +#: ../src/seahorse-key-properties.c:1405 +msgid "Unable to change trust" +msgstr "Niemahčyma źmianić davier" + +#: ../src/seahorse-key-properties.c:1013 +#: ../src/seahorse-ssh-key-properties.c:215 +msgid "Export Complete Key" +msgstr "Ekspartuj uvieś kluč" + +#: ../src/seahorse-key-properties.c:1281 +msgid "ID" +msgstr "ID" + +#: ../src/seahorse-key-properties.c:1287 +msgid "Created" +msgstr "Stvorany" + +#: ../src/seahorse-key-properties.c:1290 +msgid "Expires" +msgstr "Kaniec terminu dziejańnia" + +#: ../src/seahorse-key-properties.c:1293 +msgid "Status" +msgstr "Status" + +#: ../src/seahorse-key-properties.c:1296 +msgid "Strength" +msgstr "Siła" + +#: ../src/seahorse-key-properties.c:1305 ../src/seahorse-key-properties.c:1306 +msgid "Good" +msgstr "Dobraja" + +#: ../src/seahorse-keyserver-results.c:107 +msgid "Couldn't import keys into key ring" +msgstr "Niemahčyma zimpartavać klučy ŭ źviazku klučoŭ" + +#: ../src/seahorse-keyserver-results.c:128 +msgid "Importing keys from key servers" +msgstr "Impartavańnia klučoŭ z serveraŭ klučoŭ" + +#: ../src/seahorse-keyserver-results.c:147 +#: ../src/seahorse-keyserver-results.c:181 +#, c-format +msgid "Couldn't write keys to file: %s" +msgstr "Niemahčyma zapisać klučy ŭ fajł: %s" + +#: ../src/seahorse-keyserver-results.c:170 +msgid "Save Remote Keys" +msgstr "Zapišy addalenyja klučy" + +#: ../src/seahorse-keyserver-results.c:353 +msgid "No matching keys found" +msgstr "Adpaviednyja klučy nia znojdzienyja" + +#: ../src/seahorse-keyserver-results.c:383 +msgid "_Close" +msgstr "_Začyni" + +#: ../src/seahorse-keyserver-results.c:384 +msgid "Close this window" +msgstr "Začyni hetaje vakno" + +#: ../src/seahorse-keyserver-results.c:388 +msgid "_Expand All" +msgstr "_Razharni ŭsio" + +#: ../src/seahorse-keyserver-results.c:389 +msgid "Expand all listings" +msgstr "Razharni ŭsie śpisy" + +#: ../src/seahorse-keyserver-results.c:390 +msgid "_Collapse All" +msgstr "_Zharni ŭsio" + +#: ../src/seahorse-keyserver-results.c:391 +msgid "Collapse all listings" +msgstr "Zharni ŭsie śpisy" + +#: ../src/seahorse-keyserver-results.c:396 +msgid "Import selected keys to local key ring" +msgstr "Impartuj zaznačanyja klučy ŭ lakalnuju źviazku klučoŭ" + +#: ../src/seahorse-keyserver-results.c:399 +msgid "Save Key As..." +msgstr "Zapišy kluč jak..." + +#: ../src/seahorse-keyserver-results.c:400 +msgid "Save selected keys as a file" +msgstr "Zapišy zaznačanyja klučy ŭ fajł" + +#: ../src/seahorse-keyserver-results.c:401 +msgid "_Copy Key" +msgstr "_Skapijuj kluč" + +#: ../src/seahorse-keyserver-results.c:402 +msgid "Copy selected keys to the clipboard" +msgstr "Skapijuj zaznačanyja klučy ŭ bufer" + +#: ../src/seahorse-keyserver-results.c:464 +msgid "Remote Keys" +msgstr "Addalenyja klučy" + +#: ../src/seahorse-keyserver-results.c:466 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "Addalenyja klučy, jakija ŭtrymlivajuć \"%s\"" + +#: ../src/seahorse-keyserver-results.glade.h:1 +msgid "Remote Encryption Keys" +msgstr "Addalenyja klučy šyfravańnia" + +#: ../src/seahorse-keyserver-search.glade.h:1 +msgid "Key Servers:" +msgstr "Servery klučoŭ:" + +#: ../src/seahorse-keyserver-search.glade.h:2 +msgid "Shared Keys Near Me:" +msgstr "Supolnyja klučy kala mianie:" + +#: ../src/seahorse-keyserver-search.glade.h:3 +msgid "Find Remote Keys" +msgstr "Šukaj addalenyja klučy" + +#: ../src/seahorse-keyserver-search.glade.h:4 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Šukaje klučy inšych ludziej u internecie. Paśla hetyja klučy možna " +"impartavać u tvaju lakalnuju źviazku klučoŭ." + +#: ../src/seahorse-keyserver-search.glade.h:5 +msgid "Where to search:" +msgstr "Dzie šukać:" + +#: ../src/seahorse-keyserver-search.glade.h:6 +msgid "_Search" +msgstr "_Šukaj" + +#: ../src/seahorse-keyserver-search.glade.h:7 +msgid "_Search for keys containing: " +msgstr "_Šukaj klučy, jakija ŭtrymlivajuć: " + +#: ../src/seahorse-keyserver-sync.c:44 +#, c-format +msgid "Couldn't publish keys to server: %s" +msgstr "Niemahčyma apublikavać klučy na servery: %s" + +#: ../src/seahorse-keyserver-sync.c:59 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "Niemahčyma atrymać klučy z servera: %s" + +#: ../src/seahorse-keyserver-sync.c:147 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d kluč abrany, kab synchranizavać" +msgstr[1] "%d klučy abranyja, kab synchranizavać" +msgstr[2] "%d klučoŭ abranyja, kab synchranizavać" + +#: ../src/seahorse-keyserver-sync.c:214 +msgid "Synchronizing keys" +msgstr "Synchranizacyja klučoŭ" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:246 +msgid "Synchronizing keys..." +msgstr "Synchranizacyja klučoŭ..." + +#: ../src/seahorse-keyserver-sync.glade.h:1 +msgid "X keys are selected for synchronizing" +msgstr "Klučy X abranyja, kab synchranizavać" + +#: ../src/seahorse-keyserver-sync.glade.h:2 +msgid "Sync Keys" +msgstr "Synchranizuj klučy" + +#: ../src/seahorse-keyserver-sync.glade.h:3 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"Publikuje klučy z tvajoj lakalnaj źviazki klučoŭ, kab imi mahli karystacca " +"inšyja ludzi. Taksama ty budzieš atrymvać źmieny, zroblenyja inšymi paśla " +"taho, jak ty atrymaŭ ichnyja klučy." + +#: ../src/seahorse-keyserver-sync.glade.h:4 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Atrymaje źmieny, zroblenyja inšymi paśla taho, jak ty atrymaŭ ichnyja klučy. " +"Server klučoŭ dla publikavańnia nie abrany, tamu tvaje klučy nia buduć " +"dastupnymi dla inšych." + +#: ../src/seahorse-keyserver-sync.glade.h:5 +msgid "_Key Servers" +msgstr "_Servery klučoŭ" + +#: ../src/seahorse-keyserver-sync.glade.h:6 +msgid "_Sync" +msgstr "_Synchranizuj" + +#: ../src/seahorse-multi-encrypt.glade.h:1 +msgid "You have selected multiple files or folders" +msgstr "Ty zaznačyŭ niekalki fajłaŭ ci katalohaŭ" + +#: ../src/seahorse-multi-encrypt.glade.h:2 +msgid "" +"Because the files are located remotely, each file will be encrypted " +"separately." +msgstr "" +"Fajły zachoŭvajucca addalena, a tamu kožny fajł budzie zašyfravany paasobku." + +#: ../src/seahorse-multi-encrypt.glade.h:3 +msgid "Encrypt Multiple Files" +msgstr "Zašyfruj niekalki fajłaŭ" + +#: ../src/seahorse-multi-encrypt.glade.h:4 +msgid "Encrypt each file separately" +msgstr "Zašyfruj kožny fajł paasobku" + +#: ../src/seahorse-multi-encrypt.glade.h:5 +msgid "Encrypt packed together in a package" +msgstr "Zašyfruj, skłaŭšy ŭ adzin pakunak" + +#: ../src/seahorse-multi-encrypt.glade.h:6 +msgid "Package Name:" +msgstr "Nazva pakunka:" + +#: ../src/seahorse-multi-encrypt.glade.h:7 +msgid "Packaging:" +msgstr "Pakavańnie:" + +#: ../src/seahorse-multi-encrypt.glade.h:8 +msgid "encrypted-package" +msgstr "encrypted-package" + +#: ../src/seahorse-pgp-encrypted.desktop.in.in.h:1 +msgid "Decrypt File" +msgstr "Rasšyfruj fajł" + +#: ../src/seahorse-pgp-generate.c:43 +msgid "DSA Elgamal" +msgstr "DSA Elgamal" + +#: ../src/seahorse-pgp-generate.c:54 +msgid "Couldn't generate PGP key" +msgstr "Niemahčyma zhieneravać kluč PGP" + +#: ../src/seahorse-pgp-generate.c:138 +msgid "Passphrase for New PGP Key" +msgstr "Parol dla novaha kluča PGP" + +#: ../src/seahorse-pgp-generate.c:139 +msgid "Enter the passphrase for your new key twice." +msgstr "Uviadzi dvojčy parol dla novaha kluča." + +#: ../src/seahorse-pgp-generate.c:148 +msgid "Couldn't generate key" +msgstr "Niemahčyma zhieneravać kluč" + +#: ../src/seahorse-pgp-generate.c:150 +msgid "Generating key" +msgstr "Hieneracyja kluča" + +#: ../src/seahorse-pgp-generate.glade.h:1 +#: ../src/seahorse-ssh-generate.glade.h:1 +msgid "_Advanced key options" +msgstr "_Pašyranyja opcyi kluča" + +#: ../src/seahorse-pgp-generate.glade.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Kluč PGP dazvalaje tabie šyfravać e-maiły ci fajły dla adpraŭki inšym " +"ludziam." + +#: ../src/seahorse-pgp-generate.glade.h:3 +msgid "Algorithms here" +msgstr "Alharytmy" + +#: ../src/seahorse-pgp-generate.glade.h:4 +msgid "C_reate" +msgstr "_Stvary" + +#: ../src/seahorse-pgp-generate.glade.h:5 +msgid "Create a PGP Key" +msgstr "Stvary kluč PGP" + +#: ../src/seahorse-pgp-generate.glade.h:6 +msgid "E_xpiration Date:" +msgstr "_Data zakančeńnia terminu:" + +#: ../src/seahorse-pgp-generate.glade.h:7 +#: ../src/seahorse-ssh-generate.glade.h:7 +msgid "Encryption _Type:" +msgstr "_Typ šyfravańnia:" + +#: ../src/seahorse-pgp-generate.glade.h:9 +msgid "Generate a new key" +msgstr "Zhieneruj novy kluč" + +#: ../src/seahorse-pgp-generate.glade.h:10 +#: ../src/seahorse-ssh-generate.glade.h:10 +msgid "Key _Strength (bits):" +msgstr "_Siła kluča (bitaŭ):" + +#: ../src/seahorse-pgp-generate.glade.h:11 +msgid "Ne_ver Expires" +msgstr "_Nikoli nie zakančvajecca" + +#: ../src/seahorse-pgp-generate.glade.h:12 +msgid "New PGP Key" +msgstr "Novy kluč PGP" + +#: ../src/seahorse-pgp-generate.glade.h:13 +msgid "_Comment:" +msgstr "_Kamentar:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:1 +msgid "Actions" +msgstr "Dziejańni" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:2 +#: ../src/seahorse-pgp-public-key-properties.glade.h:1 +msgid "Comment:" +msgstr "Kamentar:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:3 +msgid "Dates" +msgstr "Daty" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:4 +#: ../src/seahorse-pgp-public-key-properties.glade.h:3 +msgid "Email:" +msgstr "E-mail:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:5 +msgid "Fingerprint" +msgstr "Adbitak palcaŭ" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:6 +#: ../src/seahorse-pgp-public-key-properties.glade.h:6 +msgid "Key ID:" +msgstr "ID kluča:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:7 +msgid "Key Names and Signatures" +msgstr "Nazvy klučoŭ i podpisy" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:8 +#: ../src/seahorse-pgp-public-key-properties.glade.h:7 +#: ../src/seahorse-ssh-key-properties.glade.h:7 +msgid "Name:" +msgstr "Nazva:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:9 +#: ../src/seahorse-pgp-public-key-properties.glade.h:8 +msgid "Photo " +msgstr "Fota" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:10 +msgid "Technical Details" +msgstr "Techničnyja detali" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:11 +#: ../src/seahorse-pgp-public-key-properties.glade.h:10 +msgid "This key has been revoked" +msgstr "Hety kluč anulavany" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:12 +#: ../src/seahorse-pgp-public-key-properties.glade.h:11 +msgid "This key has expired" +msgstr "Dla hetaha kluča zakončyŭsia termin dziejańnia" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:13 +#: ../src/seahorse-pgp-public-key-properties.glade.h:12 +#: ../src/seahorse-ssh-key-properties.glade.h:11 +msgid "Type:" +msgstr "Typ:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:14 +#: ../src/seahorse-pgp-public-key-properties.glade.h:13 +#: ../src/seahorse-ssh-key-properties.glade.h:12 +msgid "Use:" +msgstr "Užyj:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:15 +#: ../src/seahorse-pgp-public-key-properties.glade.h:17 +msgid "_Subkeys" +msgstr "_Padklučy" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:16 +msgid "Add" +msgstr "Dadaj" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:17 +msgid "Add a photo to this key" +msgstr "Dadaj fatahrafiju da hetaha kluča" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:18 +#: ../src/seahorse-ssh-key-properties.glade.h:15 +msgid "Change _Passphrase" +msgstr "Źmiani _parol" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:19 +#: ../src/seahorse-pgp-public-key-properties.glade.h:18 +msgid "Created:" +msgstr "Stvorany:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:20 +msgid "Decrypt files and email sent to you." +msgstr "Rasšyfruj fajły j e-maiły, dasłanyja tabie." + +#: ../src/seahorse-pgp-private-key-properties.glade.h:21 +msgid "Delete" +msgstr "Vydal" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:23 +msgid "Expire" +msgstr "Kaniec terminu" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:24 +#: ../src/seahorse-pgp-public-key-properties.glade.h:21 +msgid "Expires:" +msgstr "Kaniec terminu:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:25 +msgid "Export" +msgstr "Ekspartuj" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:26 +msgid "Go to next photo" +msgstr "Pierajdzi da nastupnaj fatahrafii" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:27 +msgid "Go to previous photo" +msgstr "Pierajdzi da papiaredniaj fatahrafii" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:28 +#: ../src/seahorse-pgp-public-key-properties.glade.h:27 +msgid "Key ID:" +msgstr "ID kluča:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:30 +msgid "Make this photo the primary photo" +msgstr "Zrabi hetuju fatahrafiju hałoŭnaj" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:31 +msgid "Names and Signatures" +msgstr "Nazvy j podpisy" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:32 +msgid "Override Owner _Trust:" +msgstr "Zamiani _davier da ŭładalnika:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:33 +#: ../src/seahorse-pgp-public-key-properties.glade.h:29 +msgid "Owner" +msgstr "Uładalnik" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:34 +msgid "Primary" +msgstr "Hałoŭnaja" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:36 +msgid "Remove this photo from this key" +msgstr "Vydal fatahrafiju z hetaha kluča" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:37 +msgid "Revoke" +msgstr "Skasuj" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:39 +#: ../src/seahorse-pgp-public-key-properties.glade.h:31 +msgid "Strength:" +msgstr "Siła:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:40 +#: ../src/seahorse-pgp-public-key-properties.glade.h:32 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Uładalnik kluča skasavaŭ jaho. Bolš im nielha karystacca." + +#: ../src/seahorse-pgp-private-key-properties.glade.h:42 +msgid "" +"Unknown\n" +"Never\n" +"Marginal\n" +"Full\n" +"Ultimate" +msgstr "" +"Nieviadomy\n" +"Nikoli\n" +"Pamiežny\n" +"Poŭny\n" +"Kančatkovy" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:47 +msgid "_Add Name" +msgstr "_Dadaj nazvu" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:48 +msgid "_Export Complete Key:" +msgstr "_Ekspartuj poŭny kluč:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:2 +msgid "Dates:" +msgstr "Daty:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:4 +#: ../src/seahorse-ssh-key-properties.glade.h:4 +msgid "Fingerprint:" +msgstr "Adbitak palcaŭ:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:5 +msgid "Indicate Trust:" +msgstr "Indykatar davieru:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:14 +msgid "Your trust of this key" +msgstr "Tvoj davier da hetaha kluča" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:15 +msgid "_Other Names:" +msgstr "_Inšyja nazvy:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:16 +msgid "_People who have signed this key:" +msgstr "_Ludzi, jakija padpisali hety kluč:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:20 +msgid "Encrypt files and email to the key's owner " +msgstr "Zašyfruj fajły j e-mail da ŭładalnika kluča " + +#: ../src/seahorse-pgp-public-key-properties.glade.h:23 +#, no-c-format +msgid "I have checked that this key belongs to '%s'" +msgstr "Ja pravieryŭ, što hety kluč naležyć \"%s\"" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:25 +#, no-c-format +msgid "I trust signatures from '%s' on other keys " +msgstr "Ja daviaraju podpisam ad \"%s\" dla inšych klučoŭ " + +#: ../src/seahorse-pgp-public-key-properties.glade.h:26 +msgid "" +"If you no longer trust this person's identity, revoke your signature:" +msgstr "" +"Kali bolš nie daviaraješ sapraŭdnaści hetaj asoby, skasuj svoj podpis:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:33 +msgid "To indicate your trust of this key to others, sign this key:" +msgstr "" +"Kab paznačyć dla inšych, što ty daviaraješ hetamu kluču, padpišy hety " +"kluč:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:36 +msgid "" +"Unknown\n" +"Never\n" +"Marginally\n" +"Fully\n" +"Ultimately" +msgstr "" +"Nieviadoma\n" +"Nikoli\n" +"Pamiežna\n" +"Całkam\n" +"Kančatkova" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:41 +msgid "You _Trust the Owner:" +msgstr "Ty _daviaraješ uładalniku:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:42 +msgid "Your trust is manually specified on the Details tab." +msgstr "Tvoj davier uručnuju akreśleny na kartcy Detali." + +#: ../src/seahorse-pgp-public-key-properties.glade.h:43 +msgid "_Only display the signatures of people I trust" +msgstr "Pakazvaj _tolki podpisy ludziej, jakim ja daviaraju" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:44 +msgid "_Revoke Signature" +msgstr "_Skasuj podpis" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:45 +msgid "_Sign this Key" +msgstr "_Padpišy hety kluč" + +#: ../src/seahorse-pgp-signature.desktop.in.in.h:1 +msgid "Verify Signature" +msgstr "Pravier podpis" + +#: ../src/seahorse-photos.c:70 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"Fatahrafija nadta vialikaja\n" +"Rekamendavany pamier fatahrafii dla tvajho kluča %d x %d pikselaŭ." + +#: ../src/seahorse-photos.c:75 +msgid "_Don't Resize" +msgstr "_Nie źmianiaj pamieraŭ" + +#: ../src/seahorse-photos.c:76 +msgid "_Resize" +msgstr "_Źmiani pamiery" + +#: ../src/seahorse-photos.c:125 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Heta nie vyjava, albo vyjava niezrazumiełaha typu. Pasprabuj vyjavu JPEG." + +#: ../src/seahorse-photos.c:221 +msgid "All image files" +msgstr "Usie vyjavy" + +#: ../src/seahorse-photos.c:234 +msgid "All JPEG files" +msgstr "Usie fajły JPEG" + +#: ../src/seahorse-photos.c:258 +msgid "Choose Photo to Add to Key" +msgstr "Abiary fatahrafiju, kab dadać da kluča" + +#: ../src/seahorse-photos.c:285 ../src/seahorse-photos.c:289 +msgid "Couldn't add photo" +msgstr "Niemahčyma dadać fatahrafiju" + +#: ../src/seahorse-photos.c:286 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Niemahčyma zahruzić fajł. Mabyć, jon u niapravilnym farmacie" + +#: ../src/seahorse-photos.c:316 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Ty sapraŭdy chočaš vydalić dziejnuju fatahrafiju sa svajho kluča?" + +#: ../src/seahorse-photos.c:329 +msgid "Couldn't delete photo" +msgstr "Niemahčyma vydalić fatahrafiju" + +#: ../src/seahorse-revoke.c:72 +msgid "Couldn't revoke subkey" +msgstr "Niemahčyma skasavać padkluč" + +#: ../src/seahorse-revoke.c:99 +#, c-format +msgid "Revoke Subkey %d of %s" +msgstr "Skasuj padkluč %d z %s" + +#: ../src/seahorse-revoke.c:101 +#, c-format +msgid "Revoke %s" +msgstr "Skasuj %s" + +#: ../src/seahorse-revoke.c:112 +msgid "No reason" +msgstr "Biez pryčyny" + +#: ../src/seahorse-revoke.c:113 +msgid "No reason for revoking key" +msgstr "Niama pryčyny dziela skasavańnia kluča" + +#: ../src/seahorse-revoke.c:119 +msgid "Compromised" +msgstr "Skamprametavany" + +#: ../src/seahorse-revoke.c:120 +msgid "Key has been compromised" +msgstr "Kluč byŭ skamprametavany" + +#: ../src/seahorse-revoke.c:126 +msgid "Superseded" +msgstr "Pierakryty" + +#: ../src/seahorse-revoke.c:127 +msgid "Key has been superseded" +msgstr "Kluč byŭ pierakryty" + +#: ../src/seahorse-revoke.c:133 +msgid "Not Used" +msgstr "Nie vykarystoŭvajecca" + +#: ../src/seahorse-revoke.c:134 +msgid "Key is no longer used" +msgstr "Kluč bolš nie vykarystoŭvajecca" + +#: ../src/seahorse-revoke.c:173 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Ty dadaješ %s, kasujučy %s. Hetuju aperacyju nielha anulavać! Ty sapraŭdy " +"chočaš praciahnuć?" + +#: ../src/seahorse-revoke.c:188 +msgid "Couldn't add revoker" +msgstr "Niemahčyma dadać kasavańnia" + +#: ../src/seahorse-revoke.glade.h:1 +msgid "Optional description of revocation" +msgstr "Nieabaviazkovaje apisańnie kasavańnia" + +#: ../src/seahorse-revoke.glade.h:2 +msgid "Re_voke" +msgstr "S_kasuj" + +#: ../src/seahorse-revoke.glade.h:3 +msgid "Reason for revoking the key" +msgstr "Pryčyna kasavańnia kluča" + +#: ../src/seahorse-revoke.glade.h:6 +msgid "_Reason:" +msgstr "_Pryčyna:" + +#: ../src/seahorse-sign.c:97 +msgid "Couldn't sign key" +msgstr "Niemahčyma padpisać kluč" + +#: ../src/seahorse-sign.c:160 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"U ciabie niama persanalnych klučoŭ PGP, jakija ty možaš vykarystać, kab " +"paćvierdzić davier da hetaha kluča." + +#: ../src/seahorse-sign.glade.h:1 +msgid "How carefully have you checked this key?" +msgstr "Nakolki rupliva ty pravieryŭ hety kluč?" + +#: ../src/seahorse-sign.glade.h:2 +msgid "How others will see this signature:" +msgstr "Jak inšyja buduć bačyć hety podpis:" + +#: ../src/seahorse-sign.glade.h:3 +msgid "Sign key as:" +msgstr "Padpišy kluč jak:" + +#: ../src/seahorse-sign.glade.h:4 +msgid "" +"Casually: means you have done a casual verification that the key\n" +"is owned by the person who claims to own it. For example, you could\n" +"read the key fingerprint to the owner over the phone. " +msgstr "" +"Mimabiehła: ty mimabiehła pravieryŭ, što kluč naležyć asobie, jakaja\n" +"śćviardžaje heta. Naprykład, ty možaš pračytać adbitak palcaŭ kluča\n" +"ŭładalniku pa telefonie." + +#: ../src/seahorse-sign.glade.h:7 +msgid "Key Name" +msgstr "Nazva kluča" + +#: ../src/seahorse-sign.glade.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who \n" +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Zusim nie praviaraŭ: ty pavieryŭ, što hety kluč naležyć asobie,\n" +"jakaja śćviardžaje heta, ale ty nia možaš ci nie pravieraŭ sapraŭdnaść " +"hetaha faktu." + +#: ../src/seahorse-sign.glade.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that " +"this\n" +"key is genuine." +msgstr "" +"Vielmi rupliva: Abiary heta, tolki kali ty całkam upeŭnieny, što " +"hety\n" +"kluč sapraŭdny." + +#: ../src/seahorse-sign.glade.h:12 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"Padpisvajučy, ty paznačaješ, što daviaraješ prynaležnaści hetaha kluča hetaj " +"asobie:" + +#: ../src/seahorse-sign.glade.h:13 +msgid "I can _revoke this signature at a later date." +msgstr "Ja mahu _skasavać hety podpis paźniej." + +#: ../src/seahorse-sign.glade.h:14 +msgid "" +"You could use a hard to forge photo identification (such as a passport) \n" +"to personally check that the name on the key is correct. You should \n" +"have also used email to check that the email address belongs to the\n" +"owner." +msgstr "" +"Ty možaš vykarystać niezabyŭnuju fatahrafiju (jak na pašparcie),\n" +"kab asabista pravieryć, što nazva kluča pravilnaja. Taksama ty možaš\n" +"vykarystać adras e-maiłu, kab pravieryć, što adras e-maiłu sapraŭdy naležyć\n" +"uładalniku." + +#: ../src/seahorse-sign.glade.h:18 +msgid "_Casually" +msgstr "_Mimabiehła" + +#: ../src/seahorse-sign.glade.h:19 +msgid "_Not at all" +msgstr "_Zusim nie praviaraŭ" + +#: ../src/seahorse-sign.glade.h:20 +msgid "_Others may not see this signature" +msgstr "_Inšyja nia mohuć bačyć hetaha podpisu" + +#: ../src/seahorse-sign.glade.h:22 +msgid "_Signer:" +msgstr "_Padpiščyk:" + +#: ../src/seahorse-sign.glade.h:23 +msgid "_Very Carefully" +msgstr "_Vielmi rupliva" + +#: ../src/seahorse-ssh-generate.c:43 +msgid "Couldn't generate Secure Shell key" +msgstr "Niemahčyma zhieneravać kluč SSH" + +#: ../src/seahorse-ssh-generate.c:149 +msgid "Creating Secure Shell Key" +msgstr "Stvareńnie kluča SSH" + +#: ../src/seahorse-ssh-generate.glade.h:2 +msgid "" +"Use your email address, and any other reminder\n" +" you need about what this key is for." +msgstr "" +"Užyj svoj adras e-maiłu i inšuju infarmacyju\n" +"dla akreśleńnia mety hetaha kluča." + +#: ../src/seahorse-ssh-generate.glade.h:4 +msgid "" +"A Secure Shell (SSH) key lets you connect securely to trusted\n" +"computers using SSH, without entering a different password \n" +"for each of them." +msgstr "" +"Kluč SSH dazvalaje biaśpiečna spałučacca z davieranymi\n" +"kamputarami praz SSH, nia ŭvodziačy roznych parolaŭ\n" +"dla kožnaha ź ich." + +#: ../src/seahorse-ssh-generate.glade.h:8 +msgid "" +"If there is already a computer you want to use this key with, you \n" +"can set up that computer to recognize your key now. " +msgstr "" +"Kali ŭžo jość kamputar, dla jakoha treba ŭžyć hety kluč, ty\n" +"možaš skanfihuravać hety kamputar, kab toj raspaznaŭ tvoj kluč." + +#: ../src/seahorse-ssh-generate.glade.h:11 +msgid "New Secure Shell Key" +msgstr "Novy kluč SSH" + +#: ../src/seahorse-ssh-generate.glade.h:12 +msgid "_Create and Set Up" +msgstr "_Stvary j skanfihuruj" + +#: ../src/seahorse-ssh-generate.glade.h:13 +msgid "_Just Create Key" +msgstr "_Prosta stvary kluč" + +#: ../src/seahorse-ssh-generate.glade.h:14 +msgid "_Key Description:" +msgstr "_Apisańnie kluča:" + +#: ../src/seahorse-ssh-key-properties.c:117 +msgid "Couldn't rename key." +msgstr "Niemahčyma źmianić nazvu kluča." + +#: ../src/seahorse-ssh-key-properties.c:157 +msgid "Couldn't change authorization for key." +msgstr "Niemahčyma źmianić login dla kluča." + +#: ../src/seahorse-ssh-key-properties.c:171 +msgid "Couldn't change passhrase for key." +msgstr "Niemahčyma źmianić parol dla kluča." + +#: ../src/seahorse-ssh-key-properties.glade.h:1 +msgid "/home/nate/.ssh/blah_rsa" +msgstr "/home/nate/.ssh/blah_rsa" + +#: ../src/seahorse-ssh-key-properties.glade.h:2 +msgid "00:00:00:00:00" +msgstr "00:00:00:00:00" + +#: ../src/seahorse-ssh-key-properties.glade.h:3 +msgid "Algorithm:" +msgstr "Alharytm:" + +#: ../src/seahorse-ssh-key-properties.glade.h:5 +msgid "Identifier:" +msgstr "Identyfikatar:" + +#: ../src/seahorse-ssh-key-properties.glade.h:6 +msgid "Location:" +msgstr "Pałažeńnie:" + +#: ../src/seahorse-ssh-key-properties.glade.h:8 +msgid "Strength:" +msgstr "Siła:" + +#: ../src/seahorse-ssh-key-properties.glade.h:10 +msgid "Trust" +msgstr "Davier" + +#: ../src/seahorse-ssh-key-properties.glade.h:14 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "Heta ŭpłyvaje tolki na kont \"%s\"." + +#: ../src/seahorse-ssh-key-properties.glade.h:17 +msgid "E_xport Complete Key" +msgstr "_Ekspartuj poŭny kluč" + +#: ../src/seahorse-ssh-key-properties.glade.h:21 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" +"Uładalnik hetaha kluča _aŭtaryzavany dla spałučeńnia z hetym kamputaram" + +#: ../src/seahorse-ssh-key-properties.glade.h:22 +msgid "Used to connect to other computers." +msgstr "Dla spałučeńnia ź inšymi kamputarami." + +#: ../src/seahorse-ssh-upload.c:42 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "Niemahčyma skanfihuravać klučy SSH na addalenym kamputary." + +#. Show the progress window if necessary +#: ../src/seahorse-ssh-upload.c:177 +msgid "Configuring Secure Shell Keys..." +msgstr "Kanfihuravańnie klučoŭ SSH..." + +#: ../src/seahorse-ssh-upload.glade.h:1 +msgid "eg: fileserver.example.com" +msgstr "naprykład: fileserver.example.com" + +#: ../src/seahorse-ssh-upload.glade.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "Skanfihuruj kamputar dla spałučeńnia praz SSH" + +#: ../src/seahorse-ssh-upload.glade.h:4 +msgid "" +"To use your Secure Shell key with another computer that\n" +"uses SSH, you must already have a login account on that \n" +"computer." +msgstr "" +"Kab vykarystać kluč SSH ź inšym kamputaram,\n" +"jaki vykarystoŭvaje SSH, ty pavinny ŭžo mieć kont\n" +"dla uvachodu na hetym kamputary." + +#: ../src/seahorse-ssh-upload.glade.h:7 +msgid "_Computer Name:" +msgstr "Nazva _kamputara:" + +#: ../src/seahorse-ssh-upload.glade.h:8 +msgid "_Login Name:" +msgstr "Nazva _loginu:" + +#: ../src/seahorse-ssh-upload.glade.h:9 +msgid "_Set Up" +msgstr "_Skanfihuruj" + +#~ msgid "couldn't drop privileges properly" +#~ msgstr "niemahčyma pravilna admovicca ad pryvilejaŭ" + +#~ msgid "Original Master Password:" +#~ msgstr "Dziejny hałoŭny parol:" + +#~ msgid "Progress Message" +#~ msgstr "Paviedamleńnie ab prahresie" + +#~ msgid "Progress Status" +#~ msgstr "Status vykanańnia" + +#~ msgid "Description:" +#~ msgstr "Apisańnie:" + +#~ msgid "Login:" +#~ msgstr "Login:" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#~ msgid "[details]\n" +#~ msgstr "[detali]\n" + +#~ msgid "[login]" +#~ msgstr "[login]" + +#~ msgid "[server]" +#~ msgstr "[server]" diff --git a/po/bg.po b/po/bg.po new file mode 100644 index 00000000..5c0030ca --- /dev/null +++ b/po/bg.po @@ -0,0 +1,2627 @@ +# Bulgarian translation of seahorse po-file. +# Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. +# Copyright (C) 2011, 2017 Krasimir Chonov . +# This file is distributed under the same license as the seahorse package. +# Iassen Pramatarov , 2005. +# Alexander Shopov , 2005, 2007, 2008, 2009, 2010, 2011, 2012. +# Alexander Shopov , 2017. +# Krasimir Chonov , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-09-14 22:28+0200\n" +"PO-Revision-Date: 2017-09-14 22:28+0200\n" +"Last-Translator: Alexander Shopov \n" +"Language-Team: Bulgarian \n" +"Language: bg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/seahorse.appdata.xml.in.h:1 +msgid "Seahorse" +msgstr "Seahorse" + +#: ../data/seahorse.appdata.xml.in.h:2 ../data/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "Управление на паролите и ключовете за шифриране" + +#: ../data/seahorse.appdata.xml.in.h:3 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"Seahorse е програма от GNOME за управлението на ключове за шифриране. Тя е " +"интегрирана с nautilus, gedit и други места за криптографски действия." + +#: ../data/seahorse.appdata.xml.in.h:4 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Със Seahorse може: да създавате и управлявате ключове за PGP и SSH, да " +"публикувате и изтегляте ключове от сървъри, да кеширате основни пароли си в " +"паметта, за да не се налага непрекъснато да ги въвеждате и може да правите " +"резервни копия на ключовете и ключодържателите." + +#: ../data/seahorse.desktop.in.in.h:1 ../common/catalog.vala:285 +#: ../src/seahorse-key-manager.c:660 +msgid "Passwords and Keys" +msgstr "Пароли и ключове" + +#: ../data/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" +"ключодържател;шифриране;шифроване;дешифриране;сигурност;подписване;keyring;" +"encryption;security;sign;ssh;" + +#: ../common/catalog.vala:257 +msgid "Contributions:" +msgstr "Сътрудници:" + +#: ../common/catalog.vala:287 +msgid "translator-credits" +msgstr "" +"Ясен Праматаров \n" +"Александър Шопов \n" +"\n" +"Проектът за превод на GNOME има нужда от подкрепа.\n" +"Научете повече за нас на http://gnome.cult." +"bg\n" +"Докладвайте за грешки на http://gnome." +"cult.bg/bugs" + +#: ../common/catalog.vala:290 +msgid "Seahorse Project Homepage" +msgstr "Страница на проекта Seahorse" + +#: ../common/catalog.vala:308 +msgid "Cannot delete" +msgstr "Неуспешно изтриване" + +#: ../common/catalog.vala:331 ../libseahorse/seahorse-key-manager-store.c:443 +msgid "Couldn’t export keys" +msgstr "Неуспешно изнасяне на ключове" + +#: ../common/catalog.vala:342 +msgid "Couldn’t export data" +msgstr "Неуспешно изнасяне на данни" + +#: ../common/catalog.vala:358 ../libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Помощта не може да бъде показана: %s" + +#. Top menu items +#: ../common/catalog.vala:364 +msgid "_File" +msgstr "_Файл" + +#: ../common/catalog.vala:365 +msgid "E_xport…" +msgstr "_Изнасяне…" + +#: ../common/catalog.vala:366 +msgid "Export to a file" +msgstr "Изнасяне към файл" + +#: ../common/catalog.vala:367 +msgid "_Edit" +msgstr "_Редактиране" + +#: ../common/catalog.vala:370 +msgid "Copy to the clipboard" +msgstr "Изнасяне към буфера за обмен" + +#: ../common/catalog.vala:371 ../pkcs11/pkcs11-properties.vala:201 +#: ../src/seahorse-sidebar.c:954 +msgid "_Delete" +msgstr "_Изтриване" + +#: ../common/catalog.vala:372 +msgid "Delete selected items" +msgstr "Изтриване на избраните обекти" + +#: ../common/catalog.vala:374 +msgid "Show the properties of this item" +msgstr "Показване на настройките на обекта" + +#: ../common/catalog.vala:376 +msgid "Show the properties of this keyring" +msgstr "Показване на настройките на ключодържателя" + +#: ../common/catalog.vala:377 +msgid "Prefere_nces" +msgstr "_Настройки" + +#: ../common/catalog.vala:378 +msgid "Change preferences for this program" +msgstr "Промяна на настройките на програмата" + +#: ../common/catalog.vala:379 +msgid "_View" +msgstr "_Изглед" + +#: ../common/catalog.vala:380 +msgid "_Help" +msgstr "Помо_щ" + +#: ../common/catalog.vala:382 +msgid "About this program" +msgstr "Относно тази програма" + +#: ../common/catalog.vala:383 +msgid "_Contents" +msgstr "_Ръководство" + +#: ../common/catalog.vala:384 +msgid "Show Seahorse help" +msgstr "Показване на ръководството на Seahorse" + +#: ../common/exportable.vala:192 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "Изнасяне" + +#. TRANSLATORS: this date (Year-month-day) is used to display +#. * when something happened, e.g. when a key was created. Feel +#. * free to put it in the correct order for your language. +#. +#: ../common/util.vala:63 +msgid "%Y-%m-%d" +msgstr "%3$d.%2$m.%1$Y г." + +#: ../gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Пароли" + +#: ../gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Запазени лични пароли, удостоверения за самоличност и ключове" + +#: ../gkr/gkr-backend.vala:251 +msgid "New password keyring" +msgstr "Ключодържател за нови пароли" + +#: ../gkr/gkr-backend.vala:252 ../gkr/gkr-backend.vala:259 +msgid "Used to store application and network passwords" +msgstr "Използва се за съхраняване на паролите за програмите и мрежата" + +#: ../gkr/gkr-backend.vala:253 +msgid "New password…" +msgstr "Нова парола…" + +#: ../gkr/gkr-backend.vala:254 ../gkr/gkr-backend.vala:261 +msgid "Safely store a password or secret." +msgstr "Защитено съхраняване на парола или ключ." + +#: ../gkr/gkr-backend.vala:258 +msgid "Password Keyring" +msgstr "Парола за ключодържателя" + +#: ../gkr/gkr-backend.vala:260 +msgid "Stored Password" +msgstr "Съхранена парола" + +#: ../gkr/gkr-item-add.vala:24 +msgid "Add Password" +msgstr "Добавяне на парола" + +#: ../gkr/gkr-item-add.vala:101 +msgid "Couldn’t add item" +msgstr "Неуспешно добавяне" + +#: ../gkr/gkr-item-properties.vala:136 +msgid "Access a network share or resource" +msgstr "Достъп до ресурс споделен по мрежата" + +#: ../gkr/gkr-item-properties.vala:139 +msgid "Access a website" +msgstr "Достъп до уеб сайт" + +#: ../gkr/gkr-item-properties.vala:142 +msgid "Unlocks a PGP key" +msgstr "Отключване на ключ за PGP" + +#: ../gkr/gkr-item-properties.vala:145 +msgid "Unlocks a Secure Shell key" +msgstr "Отключване на ключ за SSH" + +#: ../gkr/gkr-item-properties.vala:148 +msgid "Saved password or login" +msgstr "Запазени пароли и имена" + +#: ../gkr/gkr-item-properties.vala:161 +msgid "Network Credentials" +msgstr "Мрежово удостоверяване на самоличност" + +#: ../gkr/gkr-item-properties.vala:166 +msgid "Password" +msgstr "Парола" + +#: ../gkr/gkr-item-properties.vala:235 +msgid "Couldn’t change password." +msgstr "Неуспешна промяна на паролата." + +#: ../gkr/gkr-item-properties.vala:275 +msgid "Couldn’t set description." +msgstr "Неуспешно задаване на описание." + +#. Translators: This should be the same as the string in empathy +#: ../gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "Парола за мрежа за мигновени съобщения: " + +#: ../gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "Парола или ключ" + +#: ../gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "Парола за мрежата" + +#: ../gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "Съхранена бележка" + +#: ../gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "Парола за ключодържател" + +#: ../gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "Парола за ключ за шифриране" + +#: ../gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "Парола за съхранените ключове" + +#: ../gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "Парола за Google Chrome" + +#: ../gkr/gkr-item.vala:451 +msgid "Gnome Online Accounts password" +msgstr "Парола за регистрация в GNOME" + +#: ../gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "Парола за Telepathy" + +#: ../gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "Парола за мигновени съобщения" + +#: ../gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "Ключ за Network Manager" + +#: ../gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Сигурни ли сте, че искате да изтриете паролата „%s“?" + +#: ../gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Сигурни ли сте, че искате да изтриете %d парола?" +msgstr[1] "Сигурни ли сте, че искате да изтриете %d пароли?" + +#: ../gkr/gkr-keyring-add.vala:25 +msgid "Add Password Keyring" +msgstr "Добавяне на ключодържател" + +#: ../gkr/gkr-keyring-add.vala:55 +msgid "Couldn’t add keyring" +msgstr "Неуспешно добавяне на ключодържател" + +#: ../gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "Ключодържател, който автоматично се отключва при влизане в системата" + +#: ../gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "Ключодържател за пароли" + +#: ../gkr/gkr-keyring.vala:174 +msgid "Couldn’t set default keyring" +msgstr "Неуспешно задаване на стандартен ключодържател" + +#: ../gkr/gkr-keyring.vala:198 ../gkr/gkr-keyring.vala:203 +msgid "Couldn’t change keyring password" +msgstr "Неуспешна промяна на паролата на ключодържателя" + +#: ../gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "_Задаване като стандартният" + +#: ../gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "Обикновено приложенията съхраняват паролите в този ключодържател." + +#: ../gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "_Смяна на паролата" + +#: ../gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "Смяна на паролата за отключване на ключодържателя" + +#: ../gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Сигурни ли сте, че искате да изтриете ключодържателя „%s“?" + +#: ../gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "Ясно ми е, че всичко в него ще бъде окончателно изтрито." + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Изберете име на новия ключодържател. Ще бъдете запитани за парола за " +"отключването му." + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "Име на нов ключодържател:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "_Описание:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +msgid "_Password:" +msgstr "_Парола:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Show Password" +msgstr "_Показване на парола" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Keyring:" +msgstr "_Ключодържател:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "Употреба:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "Вид:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Server:" +msgstr "Сървър:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Login:" +msgstr "Потребителско име:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Show pass_word" +msgstr "_Показване на пароли" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../libseahorse/seahorse-passphrase.c:179 ../ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Парола:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 ../pgp/seahorse-pgp-subkey.c:402 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "Ключ" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "Технически детайли:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "Подробности" + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Name:" +msgstr "Име:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "Създаден:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring" +msgstr "Ключодържател" + +#: ../libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Показани флагове" + +#: ../libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Показани свойства на датата и/или времето" + +#: ../libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Мързелив режим" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Мързеливият режим не нормализира въведените стойности за дата и час" + +#: ../libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Година" + +#: ../libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Показана година" + +#: ../libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Месец" + +#: ../libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Показан месец" + +#: ../libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Ден" + +#: ../libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Показан ден от месец" + +#: ../libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Час" + +#: ../libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Показан час" + +#: ../libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Минута" + +#: ../libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Показана минута" + +#: ../libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Секунда" + +#: ../libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Показана секунда" + +#: ../libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Начална година" + +#: ../libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Частта за годината на началната дата" + +#: ../libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Крайна година" + +#: ../libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Частта за годината от крайната дата" + +#: ../libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Начален месец" + +#: ../libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Частта за месеца от началната дата" + +#: ../libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Краен месец" + +#: ../libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Частта за месеца от крайната дата" + +#: ../libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Начален ден" + +#: ../libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Частта за деня от месеца от началната дата" + +#: ../libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Краен ден" + +#: ../libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Частта за деня от месеца от крайната дата" + +#: ../libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Начален час" + +#: ../libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Частта за часа от началната дата" + +#: ../libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Краен час" + +#: ../libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Частта за часа от крайната дата" + +#: ../libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Начална минута" + +#: ../libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Частта за минутите от началната дата" + +#: ../libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Крайна минута" + +#: ../libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Частта за минутите от крайната дата" + +#: ../libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Начална секунда" + +#: ../libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Частта за секундите от началната дата" + +#: ../libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Крайна секунда" + +#: ../libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Частта за секундите от крайната дата" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: ../libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Дата" + +#: ../libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Пряко въвеждане на датата" + +#: ../libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Избор на дата" + +#: ../libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Избор на датата от календар" + +#: ../libegg/egg-datetime.c:520 ../libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "Време" + +#: ../libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Пряко въвеждане на времето" + +#: ../libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Избор на време" + +#: ../libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Избор на времето от списък" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: ../libegg/egg-datetime.c:796 ../libegg/egg-datetime.c:1259 +#: ../libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "пр. об." + +#: ../libegg/egg-datetime.c:798 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "сл. об." + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "първоначален, временен обект" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "Добавяне на сървър с ключове" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "Вид на сървъра с ключове:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "Хост:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "Името на хоста или адреса на сървъра с ключове." + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "Порт за свързване към сървъра." + +#: ../libseahorse/seahorse-application.c:108 +msgid "Version of this application" +msgstr "Версията на програмата" + +#: ../libseahorse/seahorse-application.c:114 +#: ../libseahorse/seahorse-application.c:158 +msgid "- System Settings" +msgstr "— системни настройки" + +#: ../libseahorse/seahorse-application.c:154 +msgid "Don't display a window" +msgstr "Без отваряне на прозорци" + +#: ../libseahorse/seahorse-interaction.c:98 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Въведете ПИН или парола за: %s" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:241 +msgid "Confirm:" +msgstr "Потвърждаване:" + +#: ../libseahorse/seahorse-prefs.c:65 +msgid "Not a valid Key Server address." +msgstr "Неправилен адрес на сървър с ключове." + +#: ../libseahorse/seahorse-prefs.c:66 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"За помощ се обърнете към системния администратор или администратора на " +"сървъра с ключове." + +#: ../libseahorse/seahorse-prefs.c:179 +msgid "URL" +msgstr "Адрес" + +#: ../libseahorse/seahorse-prefs.c:349 +msgid "Custom" +msgstr "Потребителски" + +#: ../libseahorse/seahorse-prefs.c:402 +msgid "None: Don’t publish keys" +msgstr "няма — ключовете няма да се публикуват" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "Настройки" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "_Търсене на ключове чрез:" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "П_убликуване на ключове към:" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "_Автоматично получаване на ключовете от сървърите за ключове" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Автоматично _сверяване на променените ключове със сървърите за ключове" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "Сървъри с ключове" + +#: ../libseahorse/seahorse-search-provider.c:186 +msgid "The search provider is not loaded yet" +msgstr "Търсенето не е заредено" + +#: ../libseahorse/seahorse-validity.c:38 +#: ../pgp/seahorse-pgp-key-properties.c:1251 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "Неизвестно" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1257 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "никаква" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "донякъде" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "пълна" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "най-пълна" + +#: ../libseahorse/seahorse-validity.c:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "изключена" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "анулирана" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "_Никога не изтича" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "Ако ключът никога не изтича" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "_Вид на ключа:" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "_Дължина на ключа:" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "Дата на изтичане:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "Дължина на ключа" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "Създаване на нов подключ" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "Добавяне на идентификатор на потребител" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "Трябва да бъде с дължина поне 5 знака" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "Незадължителен адрес на е-поща" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "Незадължително описание на ключа" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "_Пълно име:" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "_Адрес на е-поща:" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "Ко_ментар към ключа:" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "Създаване на нов идентификатор на потребител" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "_Не изтича никога" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "Анулиране на ключ" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "_Промяна" + +#: ../pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn’t add subkey" +msgstr "Неуспешно добавяне на подключ" + +#: ../pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "Добавяне на подключ към %s" + +#: ../pgp/seahorse-gpgme-add-subkey.c:196 ../pgp/seahorse-gpgme-generate.c:132 +msgid "DSA (sign only)" +msgstr "DSA (само подписване)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (само шифриране)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:210 ../pgp/seahorse-gpgme-generate.c:133 +msgid "RSA (sign only)" +msgstr "RSA (само подписване)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (само шифриране)" + +#: ../pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn’t add user id" +msgstr "Неуспешно добавяне на идентификатор на потребител" + +#: ../pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "Добавяне на идентификатор на потребител към %s" + +#: ../pgp/seahorse-gpgme.c:71 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Неуспешно дешифриране. Вероятно не притежавате ключа за дешифриране." + +#: ../pgp/seahorse-gpgme.c:75 ../pgp/seahorse-hkp-source.c:548 +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The operation was cancelled" +msgstr "Задачата беше отказана" + +#: ../pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "Грешна дата на изтичане" + +#: ../pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "Датата на изтичане трябва да е в бъдещето" + +#: ../pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn’t change expiry date" +msgstr "Неуспешна промяна на датата на изтичане" + +#: ../pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "Изтичане: %s" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "Множество ключове" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "Данни за ключ" + +#: ../pgp/seahorse-gpgme-exporter.c:116 +msgid "Armored PGP keys" +msgstr "Ключове за PGP в ASCII" + +#: ../pgp/seahorse-gpgme-exporter.c:120 +msgid "PGP keys" +msgstr "Ключове за PGP" + +#: ../pgp/seahorse-gpgme-generate.c:93 +msgid "PGP Key" +msgstr "Ключ за PGP" + +#: ../pgp/seahorse-gpgme-generate.c:94 +msgid "Used to encrypt email and files" +msgstr "Използва се за шифриране на поща и файлове" + +#: ../pgp/seahorse-gpgme-generate.c:130 ../pkcs11/seahorse-pkcs11-generate.c:90 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:131 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: ../pgp/seahorse-gpgme-generate.c:180 +msgid "Couldn’t generate PGP key" +msgstr "Неуспешно създаване на ключ за PGP" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "Парола за новия ключ за PGP" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "Въведете двукратно паролата за новия си ключ." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"При създаването на ключ трябва да се генерират множество\n" +"случайни данни. Можете да помогнете за това. Добра идея е\n" +"да извършвате действия като да пишете на клавиатурата, да\n" +"местите мишката, да използвате програмите. Това предоставя на\n" +"системата случайни събития, които са необходими за процеса." + +#: ../pgp/seahorse-gpgme-generate.c:231 +#: ../pkcs11/seahorse-pkcs11-generate.c:458 +msgid "Generating key" +msgstr "Създаване на ключ" + +#: ../pgp/seahorse-gpgme-key-deleter.c:77 +#: ../pgp/seahorse-gpgme-secret-deleter.c:76 ../pkcs11/pkcs11-deleter.vala:35 +#: ../pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Сигурни ли сте, че искате окончателно да изтриете „%s“?" + +#: ../pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Сигурни ли сте, че искате окончателно да изтриете %d ключ?" +msgstr[1] "Сигурни ли сте, че искате окончателно да изтриете %d ключа?" + +#: ../pgp/seahorse-gpgme-key-op.c:378 +msgid "Wrong password" +msgstr "Грешна парола" + +#: ../pgp/seahorse-gpgme-key-op.c:378 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Трети пореден път въвеждате неправилна парола. Пробвайте отново." + +#: ../pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "Неправилна парола." + +#: ../pgp/seahorse-gpgme-keyring.c:93 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Въведете нова парола за „%s“" + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Въведете парола за „%s“" + +#: ../pgp/seahorse-gpgme-keyring.c:98 ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "Въведете нова парола" + +#: ../pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "Въведете парола" + +#: ../pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "Парола" + +#: ../pgp/seahorse-gpgme-keyring.c:306 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Зареден е %d ключ" +msgstr[1] "Заредени са %d ключа" + +#: ../pgp/seahorse-gpgme-keyring.c:653 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Грешни данни за ключ (липсва потребителски идентификатор). Може да се дължи " +"на компютър със системна дата в бъдещето или липсващ собствен подпис." + +#: ../pgp/seahorse-gpgme-keyring.c:806 +msgid "GnuPG keys" +msgstr "Ключове за GnuPG" + +#: ../pgp/seahorse-gpgme-keyring.c:817 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: стандартна папка за ключодържатели" + +#: ../pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Изображението е прекалено голямо\n" +"Препоръчителният размер на изображение за ключа ви е %d × %d пиксела." + +#: ../pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Без преоразмеряване" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Преоразмеряване" + +#: ../pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Това не е файл с изображение или е от неразпознат вид. Пробвайте с JPEG." + +#: ../pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Всички файлове с изображения" + +#: ../pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Всички файлове, формат JPEG" + +#: ../pgp/seahorse-gpgme-photos.c:241 ../src/seahorse-key-manager.c:288 +msgid "All files" +msgstr "Всички файлове" + +#: ../pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Изберете изображение, което да прикачите към ключа" + +#: ../pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Неуспешно подготвяне на изображение" + +#: ../pgp/seahorse-gpgme-photos.c:294 ../pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Неуспешно добавяне на изображение" + +#: ../pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Файлът не бе зареден. Може да е в грешен формат" + +#: ../pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Сигурни ли сте, че искате да изтриете изображението от ключа си?" + +#: ../pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Неуспешно изтриване на изображение" + +#: ../pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn’t revoke subkey" +msgstr "Неуспешно анулиране на подключ" + +#: ../pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "Анулиране: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "Липсва причина" + +#: ../pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "Липсва причина за анулиране на ключа" + +#: ../pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "Компрометиран" + +#: ../pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "Ключът е компрометиран" + +#: ../pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "Заменен" + +#: ../pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "Ключът е заменен" + +#: ../pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "Не се ползва" + +#: ../pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "Ключът вече не се ползва" + +#: ../pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Що добавите %s като анулиращ %s. Това действие е необратимо! Сигурни ли сте, " +"че искате да го направите?" + +#: ../pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn’t add revoker" +msgstr "Неуспешно добавяне на анулиращ" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:82 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Ясно ми е, че този ключ ще бъде окончателно изтрит." + +#: ../pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Ключът вече е подписан от:\n" +"„%s“" + +#: ../pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn’t sign key" +msgstr "Неуспешно подписване на ключ" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:163 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "Няма ключове, които стават за подпис" + +#: ../pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Нямате лични ключове за PGP, които да могат да се използват, за да укажете " +"доверието си към този ключ." + +#: ../pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Неизвестен" + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:566 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Търсеното не е било достатъчно специфично. Сървърът „%s“ съдържа прекалено " +"много съвпадащи ключове." + +#: ../pgp/seahorse-hkp-source.c:569 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Неуспешна връзка към сървъра „%s“: %s" + +#: ../pgp/seahorse-hkp-source.c:1079 +msgid "HTTP Key Server" +msgstr "Сървър с ключове по HTTP" + +#: ../pgp/seahorse-keyserver-results.c:168 +msgid "Couldn’t import keys" +msgstr "Ключовете не могат да бъдат внесени" + +#: ../pgp/seahorse-keyserver-results.c:211 +msgid "Importing keys from key servers" +msgstr "Внасяне на ключове от сървъри с ключове" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:237 ../src/seahorse-key-manager.c:501 +msgid "_Remote" +msgstr "_SSH" + +#: ../pgp/seahorse-keyserver-results.c:239 +msgid "Close this window" +msgstr "Затваряне на този прозорец" + +#: ../pgp/seahorse-keyserver-results.c:243 ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys…" +msgstr "_Откриване на отдалечени ключове…" + +#: ../pgp/seahorse-keyserver-results.c:244 ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "Търсене на ключове в сървър с ключове" + +#: ../pgp/seahorse-keyserver-results.c:248 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "_Внасяне" + +#: ../pgp/seahorse-keyserver-results.c:249 +msgid "Import selected keys to local key ring" +msgstr "Внасяне на избраните ключове в локалния ключодържател" + +#: ../pgp/seahorse-keyserver-results.c:280 +msgid "Remote Keys" +msgstr "Отдалечени ключове" + +#: ../pgp/seahorse-keyserver-results.c:282 +#, c-format +msgid "Remote Keys Containing “%s”" +msgstr "Отдалечени ключове, съдържащи „%s“" + +#: ../pgp/seahorse-keyserver-results.c:485 +msgid "The search for keys failed." +msgstr "Неуспешно търсене за ключове." + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "Откриване на отдалечени ключове" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Ще се търсят чужди ключове по Интернет. След това ще можете да ги внесете в " +"ключодържателя си." + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "_Търсене на ключове, съдържащи: " + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "Сървъри с ключове:" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "Споделени ключове наблизо:" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "Къде да се търси:" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "_Търсене на" + +#: ../pgp/seahorse-keyserver-sync.c:56 +msgid "Couldn’t publish keys to server" +msgstr "Неуспешно публикуване на ключовете до сървъра" + +#: ../pgp/seahorse-keyserver-sync.c:75 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Неуспешно получаване на ключовете от сървър: %s" + +#: ../pgp/seahorse-keyserver-sync.c:159 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "За сверяване е избран %d ключ" +msgstr[1] "За сверяване са избрани %d ключа" + +#: ../pgp/seahorse-keyserver-sync.c:239 +msgid "Synchronizing keys…" +msgstr "Сверяване на ключове…" + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "Сверяване" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Публикуване на ключовете от ключодържателя ви, за да са достъпни за другите " +"хора. Ще получите и промените, които са правени по чуждите ключове откакто " +"сте ги получили." + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Ще получите промените, които са правени по чуждите ключове откакто сте ги " +"получили. Не сте избрали сървър за публикуване и вашите ключове няма да са " +"достъпни за другите хора." + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "_Сървъри с ключове" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "_Сверяване" + +#: ../pgp/seahorse-ldap-source.c:436 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Неуспешна връзка към „%s“: %s" + +#: ../pgp/seahorse-ldap-source.c:646 +#, c-format +msgid "Connecting to: %s" +msgstr "Свързване с %s" + +#: ../pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Неуспешно откриване на адреса: %s" + +#: ../pgp/seahorse-ldap-source.c:696 +#, c-format +msgid "Resolving server address: %s" +msgstr "Откриване на адреса на сървър: %s" + +#: ../pgp/seahorse-ldap-source.c:1431 +msgid "LDAP Key Server" +msgstr "Сървър с ключове по LDAP" + +#: ../pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys…" +msgstr "_Сверяване/публикуване на ключове…" + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "Публикуване/сверяване на вашите ключове с тези на сървър." + +#: ../pgp/seahorse-pgp-backend.c:193 +msgid "PGP Keys" +msgstr "Ключове за PGP" + +#: ../pgp/seahorse-pgp-backend.c:199 +msgid "PGP keys are for encrypting email or files" +msgstr "Ключовете за PGP се използват за шифриране на поща и файлове" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "_Създаване" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "Създаване на нов ключ" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Ключът за PGP ви позволява да шифрирате е-пощата или файловете до други хора." + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Ne_ver Expires" +msgstr "_Никога не изтича" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "_Comment:" +msgstr "_Коментар:" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "_Вид шифриране:" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "Си_ла на ключа (битове):" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "Дата на _изтичане:" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "_Допълнителни настройки на ключ" + +#: ../pgp/seahorse-pgp-key.c:351 +msgid "Personal PGP key" +msgstr "Личен ключ за PGP" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "PGP key" +msgstr "Ключ за PGP" + +#: ../pgp/seahorse-pgp-key-properties.c:317 +msgid "Couldn’t change primary user ID" +msgstr "Неуспешна промяна на основния идентификатор на потребител" + +#: ../pgp/seahorse-pgp-key-properties.c:336 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "" +"Сигурни ли сте, че искате окончателно да изтриете идентификатора на " +"потребител „%s“?" + +#: ../pgp/seahorse-pgp-key-properties.c:346 +msgid "Couldn’t delete user ID" +msgstr "Неуспешно изтриване на идентификатора на потребител" + +#. TRANSLATORS: [Unknown] signature name +#: ../pgp/seahorse-pgp-key-properties.c:421 +#: ../pgp/seahorse-pgp-key-properties.c:1576 +msgid "[Unknown]" +msgstr "[Неизвестно]" + +#. TRANSLATORS: The name and email set on the PGP key +#: ../pgp/seahorse-pgp-key-properties.c:530 +#: ../pgp/seahorse-pgp-key-properties.c:1859 +msgid "Name/Email" +msgstr "Име/е-поща" + +#: ../pgp/seahorse-pgp-key-properties.c:537 +msgid "Signature ID" +msgstr "Идентификатор на подпис" + +#: ../pgp/seahorse-pgp-key-properties.c:670 +msgid "Couldn’t change primary photo" +msgstr "Неуспешна промяна на основното изображение" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:904 +msgid "(unknown)" +msgstr "(неизвестно)" + +#: ../pgp/seahorse-pgp-key-properties.c:907 +#, c-format +msgid "This key expired on: %s" +msgstr "Този ключ изтече на: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:970 +msgid "Name" +msgstr "Име" + +#: ../pgp/seahorse-pgp-key-properties.c:1085 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Сигурни ли сте, че искате окончателно да изтриете %d подключ на „%s“?" + +#: ../pgp/seahorse-pgp-key-properties.c:1094 +msgid "Couldn’t delete subkey" +msgstr "Неуспешно изтриване на подключ" + +#: ../pgp/seahorse-pgp-key-properties.c:1134 +#: ../pgp/seahorse-pgp-key-properties.c:1550 +msgid "Unable to change trust" +msgstr "Доверието не може да се промени" + +#: ../pgp/seahorse-pgp-key-properties.c:1148 +#: ../ssh/seahorse-ssh-key-properties.c:205 +msgid "Couldn’t export key" +msgstr "Неуспешно изнасяне на ключ" + +#: ../pgp/seahorse-pgp-key-properties.c:1264 +msgid "Marginal" +msgstr "донякъде" + +#: ../pgp/seahorse-pgp-key-properties.c:1270 +msgid "Full" +msgstr "пълно" + +#: ../pgp/seahorse-pgp-key-properties.c:1276 +msgid "Ultimate" +msgstr "най-пълно" + +#: ../pgp/seahorse-pgp-key-properties.c:1382 +#: ../pgp/seahorse-pgp-key-properties.c:1475 +msgctxt "Expires" +msgid "Never" +msgstr "Никога" + +#: ../pgp/seahorse-pgp-key-properties.c:1429 +msgid "ID" +msgstr "ИДЕНТИФИКАТОР" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "Type" +msgstr "Вид" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Usage" +msgstr "Употреба" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "Създаден" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "Изтича на" + +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "Състояние:" + +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "Сила" + +#: ../pgp/seahorse-pgp-key-properties.c:1466 +msgid "Revoked" +msgstr "Анулиран" + +#: ../pgp/seahorse-pgp-key-properties.c:1468 +msgid "Expired" +msgstr "Изтекъл" + +#: ../pgp/seahorse-pgp-key-properties.c:1470 +msgid "Disabled" +msgstr "Изключена" + +#: ../pgp/seahorse-pgp-key-properties.c:1472 +msgid "Good" +msgstr "Добро" + +#: ../pgp/seahorse-pgp-key-properties.c:1862 +msgid "Key ID" +msgstr "Идентификатор" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "Настройки на ключа" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "Този ключ е бил анулиран" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" +"Притежателят на ключа го е анулирал. Ключът повече не може да бъде ползван." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "Този ключ е изтекъл" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "Прикачане на изображение към този ключ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "Изтриване на изображението от ключа" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "Това изображение да е основното" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "Към предишното изображение" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "Към следващото изображение" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "Изображение " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "Идентификатор на ключ:" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "Име:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "Е-поща" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "Коментар:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "Дешифриране на файловете и е-пощата, които ви пращат." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "Частен ключ за PGP" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "Смяна на _паролата" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "Притежател" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "Имена на ключове и подписи" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "Основно" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "Подписване" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "Изтриване" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "_Добавяне на име" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "Анулиране" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "Имена и подписи" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "Сила:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "Технически детайли" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "Извадка" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "Изтича на:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "Дати" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "_Преодоляване на доверието на притежателя" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Secret Key:" +msgstr "_Изнасяне на таен ключ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "Actions" +msgstr "Действия" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "Прикачане" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "Изтичане" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "По_дключове" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "Донякъде" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "Пълно" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Най-пълно" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key’s owner" +msgstr "Шифриране на файлове и е-поща до притежателя на ключа" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "Публичен ключ за PGP" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "_Други имена:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "Доверието ви в този ключ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "Доверието се указва ръчно в подпрозореца Подробности." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Имам доверие на подписаните от „%s“ други ключове" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Ако вярвате, че човекът притежаващ този ключ е „%s“, подпишете ключа:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "Подписване на _този ключ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Ако вече не вярвате, че човекът притежаващ този ключ е „%s“, анулирайте подписа си:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "_Анулиране на подпис" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "_Хората, които са подписали този ключ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "Да се показват подписите _само на хората, на които се доверявам" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "Доверие" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "Извадка:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "Дати:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "Указване на доверие" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "Имам _доверие на притежателя:" + +#: ../pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "Шифриране" + +#: ../pgp/seahorse-pgp-subkey.c:293 +msgid "Certify" +msgstr "Сертифициране" + +#: ../pgp/seahorse-pgp-subkey.c:294 +msgid "Authenticate" +msgstr "Упълномощаване" + +#: ../pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "Подключ %d от %s" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "Причина за анулиране на ключа" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "_Причина:" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "Незадължително описание на причината за анулирането" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "Ан_улиране" + +#: ../pgp/seahorse-signer.c:62 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Не притежавате лични ключове за PGP, които стават за подписване на документи " +"или съобщения." + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "Подписване на файл с _ключа:" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "Подписване на ключ" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Подписвайки този ключ, вие указвате доверие, че той принадлежи на:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "Име на ключа" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "Колко внимателно сте проверили този ключ?" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "_Въобще не" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "_Небрежно" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "_Много внимателно" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Въобще не: означава, че вярвате, че ключът се притежава от човека, " +"който твърди това, но не сте се уверили, че това е така." + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Небрежно: означава, че сте извършили небрежна проверка, че ключът се " +"притежава от човека, който твърди това. Например можете да прочетете на " +"притежателя отпечатъка на ключа по телефона." + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"С голямо внимание: изберете това, само ако сте напълно сигурни, че " +"този ключ е автентичен." + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Можете да използвате някакъв документ за идентификация (напр. паспорт), в " +"който има снимка и е трудно да се фалшифицира, за да се уверите лично, че " +"името на ключа е вярно. Трябва да сте използвали и е-поща, за да проверите, " +"че адресът е на притежателя." + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "Как другите ще видят този подпис:" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "Другите да _не могат да видят този подпис" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "Мога да _анулирам този подпис на по-късен етап." + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "Подписване на ключа като:" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "_Подписал:" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "_Подписване" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "Изнасяне на данни" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "Получаване на данни" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "Внасяне на данни" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "Изпращане на данни" + +#: ../pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Недостъпен" + +#: ../pkcs11/certificate-der-exporter.vala:43 +#: ../pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Сертификат" + +#: ../pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Сертификати (формат DER)" + +#: ../pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Личен сертификат и ключ" + +#: ../pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Личен сертификат" + +#: ../pkcs11/seahorse-pkcs11-backend.c:189 +msgid "Certificates" +msgstr "Сертификати" + +#: ../pkcs11/seahorse-pkcs11-backend.c:195 +msgid "X.509 certificates and related keys" +msgstr "Сертификати за X.509 и прилежащите ключове" + +#: ../pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Сигурни ли сте, че искате окончателно да изтриете %d сертификат?" +msgstr[1] "Сигурни ли сте, че искате окончателно да изтриете %d сертификати?" + +#: ../pkcs11/seahorse-pkcs11-generate.c:113 +msgid "Couldn’t generate private key" +msgstr "Неуспешно създаване на частен ключ" + +#: ../pkcs11/seahorse-pkcs11-generate.c:412 ../pkcs11/pkcs11-request.vala:56 +msgid "Create" +msgstr "Създаване" + +#: ../pkcs11/seahorse-pkcs11-generate.c:505 +#: ../pkcs11/pkcs11-private-key.vala:70 +msgid "Private key" +msgstr "Частен ключ" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +msgid "Used to request a certificate" +msgstr "Използва се за заявка на сертификат" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "Създаване на нов частен ключ" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "Етикет:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "Съхранен в:" + +#: ../pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Ясно ми е, че този ключ ще бъде окончателно изтрит." + +#: ../pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "Без име" + +#: ../pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "Неуспешно изнасяне на сертификат" + +#: ../pkcs11/pkcs11-properties.vala:188 ../src/seahorse-sidebar.c:873 +msgid "Couldn’t delete" +msgstr "Неуспешно изтриване" + +#: ../pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "_Изнасяне" + +#: ../pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "Изнасяне на сертификата" + +#: ../pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "Изтриване на сертификата или ключа" + +#: ../pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "_Заявка за сертификат" + +#: ../pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "Заявка за сертификат за този ключ" + +#: ../pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Неуспешно създаване на заявка за сертификат" + +#: ../pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Запазване на заявка за сертификат" + +#: ../pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "Заявка за сертификат" + +#: ../pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "Заявка шифрирана с PEM" + +#: ../pkcs11/pkcs11-request.vala:149 +msgid "Couldn’t save certificate request" +msgstr "Неуспешно запазване на заявка за сертификат" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "Създаване на файл със заявка за сертификат." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "Общото име (CN) в заявката за сертификат." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "Име (CN):" + +#: ../pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Ненаименован частен ключ" + +#: ../pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Неизвестно" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "Смяна на паролата" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "Нова _парола:" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "Потвърждаване на новата парола" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "_Потвърждаване на паролата:" + +#: ../src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "Продължаване" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "_Избор на вида обект, който искате да създадете:" + +#: ../src/seahorse-import-dialog.c:95 +msgid "Import failed" +msgstr "Неуспешно внасяне" + +#: ../src/seahorse-import-dialog.c:113 +msgid "Import" +msgstr "Внасяне" + +#: ../src/seahorse-import-dialog.c:126 +msgid "Data to be imported:" +msgstr "Данни за внасяне:" + +#: ../src/seahorse-key-manager.c:242 ../ssh/seahorse-ssh-operation.c:870 +msgid "Import Key" +msgstr "Внасяне на ключ" + +#: ../src/seahorse-key-manager.c:254 +msgid "All key files" +msgstr "Всички файлове с ключове" + +#: ../src/seahorse-key-manager.c:355 +msgid "Dropped text" +msgstr "Поставен текст" + +#: ../src/seahorse-key-manager.c:391 +msgid "Clipboard text" +msgstr "Текст от буфера за обмен" + +#: ../src/seahorse-key-manager.c:502 +msgid "_New" +msgstr "_Нов" + +#: ../src/seahorse-key-manager.c:504 +msgid "Close this program" +msgstr "Спиране на тази програма" + +#: ../src/seahorse-key-manager.c:505 ../src/seahorse-key-manager.c:507 +msgid "_New…" +msgstr "_Нов…" + +#: ../src/seahorse-key-manager.c:506 +msgid "Create a new key or item" +msgstr "Създаване на нов ключ или обект" + +#: ../src/seahorse-key-manager.c:508 +msgid "Add a new key or item" +msgstr "Добавяне на нов ключ или обект" + +#: ../src/seahorse-key-manager.c:509 +msgid "_Import…" +msgstr "_Внасяне…" + +#: ../src/seahorse-key-manager.c:510 +msgid "Import from a file" +msgstr "Внасяне от файл" + +#: ../src/seahorse-key-manager.c:512 +msgid "Import from the clipboard" +msgstr "Внасяне от буфера за обмен" + +#: ../src/seahorse-key-manager.c:516 +msgid "By _Keyring" +msgstr "По _ключодържател" + +#: ../src/seahorse-key-manager.c:517 +msgid "Show sidebar listing keyrings" +msgstr "Странична лента с ключодържателите" + +#: ../src/seahorse-key-manager.c:521 +msgid "Show _Personal" +msgstr "Показване на _личните" + +#: ../src/seahorse-key-manager.c:522 +msgid "Only show personal keys, certificates and passwords" +msgstr "Показване само на личните ключове, сертификати и пароли" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show _Trusted" +msgstr "Показване на _доверените" + +#: ../src/seahorse-key-manager.c:524 +msgid "Only show trusted keys, certificates and passwords" +msgstr "Показване само на доверените ключове, сертификати и пароли" + +#: ../src/seahorse-key-manager.c:525 +msgid "Show _Any" +msgstr "Показване на _всички" + +#: ../src/seahorse-key-manager.c:526 +msgid "Show all keys, certificates and passwords" +msgstr "Показване на всички ключове, сертификати и пароли" + +#: ../src/seahorse-key-manager.c:745 +msgid "Filter" +msgstr "Филтър" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "Първоначални настройки:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "Създаване на нов ключ:" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "Внасяне на налични ключове от файл:" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "Трябват ви ключове, за да шифрирате." + +#: ../src/seahorse-sidebar.c:797 +msgid "Couldn’t lock" +msgstr "Неуспешно заключване" + +#: ../src/seahorse-sidebar.c:834 +msgid "Couldn’t unlock" +msgstr "Неуспешно отключване" + +#: ../src/seahorse-sidebar.c:941 +msgid "_Lock" +msgstr "_Заключване" + +#: ../src/seahorse-sidebar.c:946 +msgid "_Unlock" +msgstr "_Отключване" + +#: ../src/seahorse-sidebar.c:965 +msgid "_Properties" +msgstr "_Настройки" + +#: ../ssh/seahorse-ssh-actions.c:97 +msgid "Configure Key for _Secure Shell…" +msgstr "На_стройване на ключ за SSH…" + +#: ../ssh/seahorse-ssh-actions.c:98 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"Изпращане на ключа за SSH до друга машина и позволяване на влизането чрез " +"същия ключ." + +#: ../ssh/seahorse-ssh-askpass.c:78 ../ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Въведете паролата за SSH:" + +#: ../ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Стара парола на ключ" + +#: ../ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Въведете старата парола за %s" + +#: ../ssh/seahorse-ssh-askpass.c:105 ../ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Нова парола за ключ" + +#: ../ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Въведете нова парола за: %s" + +#: ../ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Отново въведете новата парола за: %s" + +#: ../ssh/seahorse-ssh-backend.c:115 +msgid "Secure Shell" +msgstr "SSH" + +#: ../ssh/seahorse-ssh-backend.c:121 +msgid "Keys used to connect securely to other computers" +msgstr "Ключове за сигурна връзка към други компютри" + +#: ../ssh/seahorse-ssh-deleter.c:80 ../ssh/seahorse-ssh-deleter.c:85 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Сигурни ли сте, че искате да изтриете ключа за SSH — „%s“?" + +#: ../ssh/seahorse-ssh-deleter.c:90 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "Сигурни ли сте, че искате да изтриете %d ключ за SSH?" +msgstr[1] "Сигурни ли сте, че искате да изтриете %d ключа за SSH?" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "SSH Key" +msgstr "Ключ за SSH" + +#: ../ssh/seahorse-ssh-exporter.c:124 +msgid "Secret SSH keys" +msgstr "Частни ключове за SSH" + +#: ../ssh/seahorse-ssh-exporter.c:128 +msgid "Public SSH keys" +msgstr "Публични ключове за SSH" + +#: ../ssh/seahorse-ssh-exporter.c:297 +msgid "No public key file is available for this key." +msgstr "За тази ключ липсва публичен." + +#: ../ssh/seahorse-ssh-generate.c:52 ../ssh/seahorse-ssh-key.c:109 +#: ../ssh/seahorse-ssh-key.c:113 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "Ключ за SSH" + +#: ../ssh/seahorse-ssh-generate.c:53 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "Използва се за достъп до други компютри (напр. чрез терминал)" + +#: ../ssh/seahorse-ssh-generate.c:107 ../ssh/seahorse-ssh-generate.c:123 +msgid "Couldn’t generate Secure Shell key" +msgstr "Неуспешно създаване на ключ за SSH" + +#: ../ssh/seahorse-ssh-generate.c:190 +msgid "Creating Secure Shell Key" +msgstr "Създаване на ключ за SSH" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "Нов ключ за SSH" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "_Просто създаване на ключ" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "_Създаване и настройка" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Ключът за SSH (сигурна обвивка) ви дава възможност да се свързвате сигурно " +"към други компютри чрез SSH." + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Адресът ви за е-поща или друга информация, която да ви напомня за какво е " +"този ключ." + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "Можете да настроите компютър да разпознава този ключ, ако желаете." + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Ключът за SSH не може да бъде прочетен)" + +#: ../ssh/seahorse-ssh-key.c:213 +msgid "Personal SSH key" +msgstr "Личен ключ за SSH" + +#: ../ssh/seahorse-ssh-key.c:215 +msgid "SSH key" +msgstr "Ключ за SSH" + +#: ../ssh/seahorse-ssh-key-properties.c:79 +msgid "Couldn’t rename key." +msgstr "Неуспешно преименуване на ключ." + +#: ../ssh/seahorse-ssh-key-properties.c:134 +msgid "Couldn’t change authorization for key." +msgstr "Неуспешна промяна на упълномощаването за ключа." + +#: ../ssh/seahorse-ssh-key-properties.c:171 +msgid "Couldn’t change passphrase for key." +msgstr "Неуспешна промяна на паролата за ключа." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "Идентификатор:" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "Име:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "Използва се за връзка към други компютри." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "Притежателят на този ключ е _упълномощен да се свърже с този компютър" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "Това се отнася само до потребителя %s." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "Алгоритъм:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "Място:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "_Изнасяне на пълен ключ" + +#: ../ssh/seahorse-ssh-operation.c:204 +msgid "The SSH command was terminated unexpectedly." +msgstr "Командата за SSH завърши неочаквано." + +#: ../ssh/seahorse-ssh-operation.c:214 +msgid "The SSH command failed." +msgstr "Командата за SSH бе неуспешна." + +#: ../ssh/seahorse-ssh-operation.c:523 +msgid "Remote Host Password" +msgstr "Парола за отдалечения компютър" + +#: ../ssh/seahorse-ssh-operation.c:610 +msgid "Enter Key Passphrase" +msgstr "Въведете паролата за ключа" + +#: ../ssh/seahorse-ssh-operation.c:701 +msgid "Passphrase for New Secure Shell Key" +msgstr "Парола за новия ключ за SSH" + +#: ../ssh/seahorse-ssh-operation.c:887 +#, c-format +msgid "Importing key: %s" +msgstr "Внасяне на ключа: %s" + +#: ../ssh/seahorse-ssh-operation.c:889 +msgid "Importing key. Enter passphrase" +msgstr "Внасяне на ключ. Въведете парола" + +#: ../ssh/seahorse-ssh-source.c:219 +msgid "OpenSSH keys" +msgstr "Ключове за OpenSSH" + +#: ../ssh/seahorse-ssh-source.c:231 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ../ssh/seahorse-ssh-source.c:999 +msgid "No private key file is available for this key." +msgstr "За тази ключ липсва частен." + +#: ../ssh/seahorse-ssh-upload.c:48 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Ключовете за SSH до отдалечения компютър не можаха да бъдат настроени." + +#: ../ssh/seahorse-ssh-upload.c:131 +msgid "Configuring Secure Shell Keys…" +msgstr "Настройване на ключовете за SSH…" + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "Настройване на компютър за връзка по SSH" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"За да използвате ключа си за SSH с друг компютър, трябва да имате достъп до " +"другата машина — валидно потребителско име." + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "напр: файлов-сървър.нейде.com:порт" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Server address:" +msgstr "_Адрес на сървър:" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login name:" +msgstr "_Потребителско име:" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "_Настройки" diff --git a/po/bn.po b/po/bn.po new file mode 100644 index 00000000..401bfa9c --- /dev/null +++ b/po/bn.po @@ -0,0 +1,3091 @@ +# Bengali Translation of the Seahorse. +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Runa Bhattacharjee , 2007. +# Runa Bhattacharjee , 2008. +# Sankarshan Mukhopadhyay , 2008. +# Runa Bhattacharjee , 2008, 2009. +# Maruf Ovee , 2009. +# Israt Jahan , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: bn\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=seahorse&component=general\n" +"POT-Creation-Date: 2010-02-07 21:07+0000\n" +"PO-Revision-Date: 2010-03-25 12:07+0600\n" +"Last-Translator: Israt Jahan \n" +"Language-Team: Bengali \n" +"Language: bn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../daemon/seahorse-daemon.c:69 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "seahorse-daemon ডেমন হিসেবে চালানো হবে না" + +#: ../daemon/seahorse-daemon.c:99 +msgid "couldn't fork process" +msgstr "প্রসেস ফর্ক করা সম্ভব হয়নি" + +#: ../daemon/seahorse-daemon.c:105 +msgid "couldn't create new process group" +msgstr "নতুন প্রসেস গ্রুপ নির্মাণ করতে ব্যর্থ" + +#: ../daemon/seahorse-daemon.c:255 +msgid "Encryption Daemon (Seahorse)" +msgstr "এনক্রিপশন ডেমন (Seahorse)" + +#: ../daemon/seahorse-service.c:161 ../daemon/seahorse-service.c:267 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "অকার্যকর অথবা অজানা কী-এর ধরন: %s" + +#: ../daemon/seahorse-service.c:229 +#| msgid "This key expired on: %s" +msgid "This keytype is not supported: %s" +msgstr "কী টাইপ সমর্থিত নয়: %s" + +#: ../daemon/seahorse-service.c:331 ../daemon/seahorse-service-keyset.c:180 +#: ../daemon/seahorse-service-keyset.c:223 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "অকার্যকর অথবা অজানা কী: %s" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:204 +#, c-format +msgid "Signed by expired on %s." +msgstr " দ্বারা স্বাক্ষরিত। এটি মেয়াদ পূর্ণ হয়েছে %s-এ।" + +#: ../daemon/seahorse-service-crypto.c:205 +msgid "Invalid Signature" +msgstr "অবৈধ স্বাক্ষর" + +#: ../daemon/seahorse-service-crypto.c:211 +#, c-format +msgid "Signed by on %s Expired." +msgstr "" +" দ্বারা স্বাক্ষরিত। %s-এ এটির মেয়াদ পূর্ণ হয়েছে।" + +#: ../daemon/seahorse-service-crypto.c:212 +msgid "Expired Signature" +msgstr "মেয়াদ উত্তীর্ণ স্বাক্ষর" + +#: ../daemon/seahorse-service-crypto.c:218 +#, c-format +msgid "Signed by Revoked on %s." +msgstr "" +"যেটি দিয়ে স্বাক্ষর করা হয়েছে বাতিল করার তারিখ %s।" + +#: ../daemon/seahorse-service-crypto.c:219 +msgid "Revoked Signature" +msgstr "বাতিল করা স্বাক্ষর" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:225 +#, c-format +msgid "Signed by on %s." +msgstr " দ্বারা %s-এ স্বাক্ষর করা হয়েছে।" + +#: ../daemon/seahorse-service-crypto.c:226 +msgid "Good Signature" +msgstr "বৈধ স্বাক্ষর" + +#: ../daemon/seahorse-service-crypto.c:231 +msgid "Signing key not in keyring." +msgstr "স্বাক্ষরে ব্যবহৃত কী কী-রিং এ অনুপস্থিত।" + +#: ../daemon/seahorse-service-crypto.c:232 +msgid "Unknown Signature" +msgstr "অজানা স্বাক্ষর" + +#: ../daemon/seahorse-service-crypto.c:236 +msgid "Bad or forged signature. The signed data was modified." +msgstr "অকার্যকর বা জাল স্বাক্ষর। স্বাক্ষর করা তথ্যের পরিবর্তন ঘটেছে।" + +#: ../daemon/seahorse-service-crypto.c:237 +msgid "Bad Signature" +msgstr "অকার্যকর স্বাক্ষর" + +#: ../daemon/seahorse-service-crypto.c:245 +msgid "Couldn't verify signature." +msgstr "স্বাক্ষর যাচাই করা সম্ভব হয়নি।" + +#: ../daemon/seahorse-service-crypto.c:315 +#: ../daemon/seahorse-service-crypto.c:644 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "অকার্যকর অথবা অজানা স্বাক্ষরকারী: %s" + +#: ../daemon/seahorse-service-crypto.c:322 +#: ../daemon/seahorse-service-crypto.c:651 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "স্বাক্ষর করার উদ্দেশ্যে, কী বৈধ নয়: %s" + +#: ../daemon/seahorse-service-crypto.c:333 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "অবৈধ অথবা অজানা প্রাপক: %s" + +#: ../daemon/seahorse-service-crypto.c:341 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "এনক্রিপশনপর জন্য এই কী-টি বৈধ প্রাপক নয়: %s" + +#: ../daemon/seahorse-service-crypto.c:350 +#, c-format +msgid "No recipients specified" +msgstr "প্রাপক নির্ধারণ করা হয়নি" + +#: ../daemon/seahorse-service-crypto.c:432 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "ডিক্রিপশনের জন্য অকার্যকর প্রকৃতির কী: %s" + +#: ../daemon/seahorse-service-crypto.c:546 +#: ../daemon/seahorse-service-crypto.c:744 +#, c-format +msgid "Please set clearuri" +msgstr "অনুগ্রহ করে clearuri সেট করুন" + +#: ../daemon/seahorse-service-crypto.c:552 +#: ../daemon/seahorse-service-crypto.c:750 +#, c-format +msgid "Please set crypturi" +msgstr "অনুগ্রহ করে crypturi সেট করুন" + +#: ../daemon/seahorse-service-crypto.c:562 +#| msgid "Error openin clearuri" +msgid "Error opening clearuri" +msgstr "clearuri খুলতে ত্রুটি" + +#: ../daemon/seahorse-service-crypto.c:639 +#, c-format +msgid "No signer specified" +msgstr "স্বাক্ষরকারী নির্ধারণ করা হয়নি" + +#: ../daemon/seahorse-service-crypto.c:828 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "পরীক্ষণের জন্য অকার্যকর প্রকৃতির কী: %s" + +#: ../daemon/seahorse-service-keyset.c:273 +#, c-format +msgid "Invalid key id: %s" +msgstr "কী-এর id অবৈধ: %s" + +#: ../daemon/seahorse-sharing.c:84 ../daemon/seahorse-sharing.c:269 +msgid "Couldn't share keys" +msgstr "কী শেয়ার করতে ব্যর্থ" + +#: ../daemon/seahorse-sharing.c:85 +msgid "Can't publish discovery information on the network." +msgstr "নেটওয়ার্ক-এ আবিষ্কার তথ্য প্রদান করা সম্ভব হয়নি।" + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s". +#: ../daemon/seahorse-sharing.c:112 +#, c-format +msgid "%s's encryption keys" +msgstr "%s-এর এনক্রিপশন-কী" + +#: ../data/seahorse.schemas.in.h:1 +msgid "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." +msgstr "" +"দূরবর্তী কী খোঁজার জন্য কী সার্ভার-এর URI-এর তালিকা। পরবর্তী সংস্করণে একটি নাম যোগ " +"করা সম্ভব হতে পারে একটি ফাঁকা স্থানের পরে নাম যোগ করে।" + +#: ../data/seahorse.schemas.in.h:2 +msgid "Auto Retrieve Keys" +msgstr "স্বয়ংক্রিয়ভাবে কী পুনরুদ্ধার করা হবে" + +#: ../data/seahorse.schemas.in.h:3 +msgid "Auto Sync Keys" +msgstr "স্বয়ংক্রিয়ভাবে কী সুংগত করা হবে" + +#: ../data/seahorse.schemas.in.h:4 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "কী পরিচালন ব্যবস্থার মেয়াদপূর্তী কলামের প্রদর্শন নিয়ন্ত্রণ করা হয়।" + +#: ../data/seahorse.schemas.in.h:5 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "কী পরিচালন ব্যবস্থার বিশ্বস্ততা কলামের প্রদর্শন নিয়ন্ত্রণ করা হয়।" + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the type column for the key manager." +msgstr "কী পরিচালন ব্যবস্থার প্রকৃতি কলামের প্রদর্শন নিয়ন্ত্রণ করা হয়।" + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "কী পরিচালন ব্যবস্থার বৈধতা কলামের প্রদর্শন নিয়ন্ত্রণ করা হয়।" + +#: ../data/seahorse.schemas.in.h:8 +msgid "Enable DNS-SD sharing" +msgstr "DNS-SD শেয়ার সক্রিয় করা হবে" + +#: ../data/seahorse.schemas.in.h:9 +msgid "" +"Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +"running and must be built with HKP and DNS-SD support." +msgstr "" +"DNS-SD (Apple Bonjour) শেয়ার সক্রিয় করা হবে। seahorse-daemon সক্রিয় থাকা " +"প্রয়োজনীয় এবং HKP ও DNS-SD সাথে প্রস্তুত করা দরকার।" + +#: ../data/seahorse.schemas.in.h:10 +msgid "ID of the default key" +msgstr "ডিফল্ট কী-এর ID" + +#: ../data/seahorse.schemas.in.h:11 +msgid "" +"If set to true, then files encrypted with seahorse will be ASCII armor " +"encoded." +msgstr "মান সত্য হলে, seahorse দ্বারা এনক্রিপ্ট করা ফাইল ASCII আর্মার এনকোডেড হবে।" + +#: ../data/seahorse.schemas.in.h:12 +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "মান সত্য হলে ডিফল্ট কী সবসময় এনক্রিপশন প্রাপকদের তালিকায় যুক্ত হবে।" + +#: ../data/seahorse.schemas.in.h:13 +msgid "Last key server search pattern" +msgstr "সর্বশেষ কী সার্ভার খোঁজের বিন্যাস" + +#: ../data/seahorse.schemas.in.h:14 +msgid "Last key servers used" +msgstr "সর্বশেষ ব্যবহৃত কী-সার্ভার" + +#: ../data/seahorse.schemas.in.h:15 +msgid "Last key used to sign a message." +msgstr "বার্তা স্বাক্ষর করার উদ্দেশ্যে সর্বশেষ ব্যবহৃত কী।" + +#: ../data/seahorse.schemas.in.h:16 +msgid "PGP Key servers" +msgstr "PGP-কী সার্ভার" + +#: ../data/seahorse.schemas.in.h:17 +msgid "Publish keys to this key server." +msgstr "চিহ্নিত কী-সার্ভারে উপস্থিত কী প্রকাশিত করা হবে।" + +#: ../data/seahorse.schemas.in.h:18 +msgid "Show expires column in key manager" +msgstr "কী পরিচালনব্যবস্থার অধীন মেয়াদপূর্তীর কলাম প্রদর্শন করা হবে" + +#: ../data/seahorse.schemas.in.h:19 +msgid "Show trust column in key manager" +msgstr "কী পরিচালনব্যবস্থার অধীন বিশ্বস্ততার কলাম প্রদর্শন করা হবে" + +#: ../data/seahorse.schemas.in.h:20 +msgid "Show type column in key manager" +msgstr "কী পরিচালনব্যবস্থার অধীন প্রকৃতি কলাম প্রদর্শন করা হবে" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Show validity column in key manager" +msgstr "কী পরিচালনব্যবস্থার অধীন বৈধতা কলাম প্রদর্শন করা হবে" + +#: ../data/seahorse.schemas.in.h:22 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name' and " +"'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "" +"প্রাপক তালিকার উইন্ডোর ক্রমবিন্যাস করতে ব্যবহারযোগ্য কলাম নির্ধারণ করুন। কলামের নাম " +"হল: 'name' ও 'id'। বড় থেকে ছোট অনুক্রমে সুবিন্যাস্ত করার জন্য কলামের নামের পূর্বে " +"'-' লিখুন।" + +#: ../data/seahorse.schemas.in.h:23 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." +msgstr "" +"seahorse কি পরিচালনব্যবস্থার প্রধান উইন্ডো সুবিন্যস্ত করার জন্য ব্যবহারযোগ্য কলাম " +"চিহ্নিত করুন। উপলব্ধ কলামগুলো হলো: 'name', 'id', 'validity', 'expires', 'trust', " +"ও 'type'। অবরোহী ক্রমবিন্যাস নির্ধারণের জন্য কলামের নামের পূর্বে একটি '-' চিহ্ন " +"সংযুক্ত করুন।" + +#: ../data/seahorse.schemas.in.h:24 +msgid "The ID of the last secret key used to sign a message." +msgstr "শেষবার যে গোপন কী দিয়ে এই বার্তা স্বাক্ষর করা হয়েছে তার ID।" + +#: ../data/seahorse.schemas.in.h:25 +msgid "The column to sort the recipients by" +msgstr "প্রাপক তালিকার ক্রমবিন্যাস নির্ধারণের জন্য ব্যবহৃত কলাম" + +#: ../data/seahorse.schemas.in.h:26 +msgid "The column to sort the seahorse keys by" +msgstr "seahorse-কী তালিকার ক্রমবিন্যাস নির্ধারণের জন্য ব্যবহৃত কলাম" + +#: ../data/seahorse.schemas.in.h:27 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"যে কী সার্ভার-এ PGP কি প্রকাশ করা হবে। অথবা PGP কী-এর প্রকাশ বন্ধ করার জন্য মুছে " +"ফেলুন।" + +#: ../data/seahorse.schemas.in.h:28 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"অনুসন্ধানের জন্য ব্যবহৃত সর্বশেষ কী-সার্ভার অথবা সকল কী-সার্ভারে অনুসন্ধানের জন্য ফাঁকা " +"রাখুন।" + +#: ../data/seahorse.schemas.in.h:29 +msgid "The last search pattern searched for against a key server." +msgstr "কী-সার্ভারে অনুসন্ধানের জন্য সর্বশেষ ব্যবহৃত বিন্যাস।" + +#: ../data/seahorse.schemas.in.h:30 +msgid "" +"This specifies the default key to use for certain operations, mainly signing." +msgstr "" +"সুনির্দিষ্ট কর্ম, মূলত স্বাক্ষর করার জন্য ব্যবহারযোগ্য ডিফল্ট-কী এর দ্বারা নির্ধারিত হবে।" + +#: ../data/seahorse.schemas.in.h:31 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "কী-সার্ভার থেকে স্বয়ংক্রিয়রূপে কী প্রাপ্ত করা হবে কি না।" + +#: ../data/seahorse.schemas.in.h:32 +msgid "" +"Whether or not modified keys should be automatically synced with the default " +"key server." +msgstr "পরিবর্তিত কী-গুলো ডিফল্ট কী-সার্ভারের সাথে সুসংগত করা হবে কি না।" + +#: ../data/seahorse.schemas.in.h:33 +msgid "Whether to always encrypt to default key" +msgstr "ডিফল্ট-কী দ্বারা সর্বদা এনক্রিপ্ট করা হবে কি না" + +#: ../data/seahorse.schemas.in.h:34 +msgid "Whether to use ASCII Armor" +msgstr "ASCII Armor ব্যবহার করা হবে কি না" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "পাসওয়ার্ড কী রিং যোগ করুন" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "নতুন কী-রিংয়ের নাম:" + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"অনুগ্রহ করে নতুন কী-রিংয়ের নাম নির্বাচন করুন। আন-লক করার জন্য পাসওয়ার্ড লেখার অনুরোধ " +"জানানো হবে।" + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "সার্ভারের হোস্ট-নেম অথবা ঠিকানা।" + +#: ../gkr/seahorse-gkr-add-item.c:61 ../gkr/seahorse-gkr-add-keyring.c:73 +msgid "Couldn't add keyring" +msgstr "কী-রিং যোগ করতে ব্যর্থ" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +msgid "Add Password" +msgstr "পাসওয়ার্ড যোগ করুন" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:17 ../pgp/seahorse-revoke.xml.h:5 +msgid "_Description:" +msgstr "বিবরণ (_D):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Keyring:" +msgstr "কী-রিং (_K):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Password:" +msgstr "পাসওয়ার্ড: (_P)" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +msgid "_Show Password" +msgstr "পাসওয়ার্ড প্রদর্শন করা হবে (_S)" + +#: ../gkr/seahorse-gkr-item.c:470 +msgid "Web Password" +msgstr "ওয়েব পাসওয়ার্ড" + +#: ../gkr/seahorse-gkr-item.c:472 +msgid "Network Password" +msgstr "নেটওয়ার্ক পাসওয়ার্ড" + +#: ../gkr/seahorse-gkr-item.c:474 ../gkr/seahorse-gkr-item-properties.c:107 +msgid "Password" +msgstr "পাসওয়ার্ড" + +#: ../gkr/seahorse-gkr-item-commands.c:78 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "আপনি কি নিশ্চিতরূপে '%s' পাসওয়ার্ড মুছে ফেলতে ইচ্ছুক?" + +#: ../gkr/seahorse-gkr-item-commands.c:81 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "আপনি কি নিশ্চিতরূপে %d পাসওয়ার্ড মুছে ফেলতে ইচ্ছুক?" +msgstr[1] "আপনি কি নিশ্চিতরূপে %d পাসওয়ার্ড মুছে ফেলতে ইচ্ছুক?" + +#: ../gkr/seahorse-gkr-item-properties.c:66 +msgid "Access a network share or resource" +msgstr "একটি নেটওয়ার্ক শেয়ার বা তথ্যসমূহের সাথে সংযোগ স্থাপন করুন" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a website" +msgstr "একটি ওয়েবসাইট-এর সাথে সংযোগ স্থাপন করুন" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Unlocks a PGP key" +msgstr "একটি PGP কি খুলুন" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a Secure Shell key" +msgstr "একটি নিরাপদ শেল কী খুলুন" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Saved password or login" +msgstr "সংরক্ষিত পাসওয়ার্ড বা লগ-ইন" + +#: ../gkr/seahorse-gkr-item-properties.c:102 +msgid "Network Credentials" +msgstr "নেটওয়ার্ক-এর বৈশিষ্ট্য" + +#: ../gkr/seahorse-gkr-item-properties.c:245 +msgid "Couldn't change password." +msgstr "পাসওয়ার্ড পরিবর্তন করা সম্ভব হয়নি।" + +#: ../gkr/seahorse-gkr-item-properties.c:350 +msgid "Couldn't set description." +msgstr "বর্ণনা স্থাপন করা সম্ভব হয়নি।" + +#: ../gkr/seahorse-gkr-item-properties.c:651 +msgid "Couldn't set application access." +msgstr "অ্যাপ্লিকেশন-এর সংযোগ স্থাপন সম্ভব হয়নি।" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +msgid "Password:" +msgstr "পাসওয়ার্ড:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 +msgid "Path:" +msgstr "পাথ: " + +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +msgid "Permissions:" +msgstr "অনুমতি: " + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Technical Details:" +msgstr "প্রযুক্তি বৈশিষ্ট্য:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Applications" +msgstr "অ্যাপ্লিকেশন" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:72 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Details" +msgstr "বর্ণনা" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Key" +msgstr "কী" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Key Properties" +msgstr "কী-এর বৈশিষ্ট্য" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +msgid "Login:" +msgstr "লগ-ইন:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +msgid "Server:" +msgstr "সার্ভার:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +msgid "Show pass_word" +msgstr "পাসওয়ার্ড প্রদর্শন করুন (_w)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +msgid "Type:" +msgstr "ধরন:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:14 +msgid "Use:" +msgstr "ব্যবহার করুন:" + +#. To translators: This is the infinitive not the imperative. This string refers to the ability of an application to delete this secret from its key ring. +#: ../gkr/seahorse-gkr-item-properties.xml.h:16 +msgid "_Delete" +msgstr "মুছে ফেলুন (_D)" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:19 +msgid "_Read" +msgstr "পাঠ (_R)" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:21 +msgid "_Write" +msgstr "লিখুন (_W)" + +#: ../gkr/seahorse-gkr-keyring.c:193 +msgid "Listing passwords" +msgstr "পাসওয়ার্ড-এর তালিকা প্রস্তুতি" + +#: ../gkr/seahorse-gkr-keyring.c:354 +#, c-format +msgid "Passwords: %s" +msgstr "পাসওয়ার্ড: %s" + +#: ../gkr/seahorse-gkr-keyring.c:355 +#, c-format +msgid "Passwords: %s" +msgstr "পাসওয়ার্ড: %s" + +#: ../gkr/seahorse-gkr-keyring-commands.c:119 +msgid "Password Keyring" +msgstr "পাসওয়ার্ডের কী-রিং" + +#: ../gkr/seahorse-gkr-keyring-commands.c:120 +msgid "Used to store application and network passwords" +msgstr "অ্যাপ্লিকেশন ও নেটওয়ার্কের পাসওয়ার্ড সংরক্ষণ করতে ব্যবহৃত হয়" + +#: ../gkr/seahorse-gkr-keyring-commands.c:121 +msgid "Stored Password" +msgstr "সংরক্ষিত পাসওয়ার্ড" + +#: ../gkr/seahorse-gkr-keyring-commands.c:122 +msgid "Safely store a password or secret." +msgstr "পাসওয়ার্ড অথবা গোপন তথ্য নিরাপদভাবে সংরক্ষণ করুন।" + +#: ../gkr/seahorse-gkr-keyring-commands.c:136 +msgid "Couldn't unlock keyring" +msgstr "কি-রিং আন-লক করতে ব্যর্থ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:177 +msgid "Couldn't lock keyring" +msgstr "কী-রিং অবরুদ্ধ করতে ব্যর্থ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:218 +msgid "Couldn't set default keyring" +msgstr "ডিফল্ট কী-রিং নির্ধারণ করতে ব্যর্থ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:257 +msgid "Couldn't change keyring password" +msgstr "কী-রিং পাসওয়ার্ড পরিবর্তন করতে ব্যর্থ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:288 +msgid "_Lock" +msgstr "অবরুদ্ধ করুন (_L)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:289 +msgid "" +"Lock the password storage keyring so a master password is required to unlock " +"it." +msgstr "" +"পাসওয়ার্ড সংরক্ষণের কী-রিংটি লক করে দিন। এর ফলে এটি অনবরুদ্ধ করার জন্য একটি প্রধান " +"পাসওয়ার্ড ব্যবহার করা আবশ্যক হবে।" + +#: ../gkr/seahorse-gkr-keyring-commands.c:290 +msgid "_Unlock" +msgstr "অনবরুদ্ধ করুন (_U)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:291 +msgid "" +"Unlock the password storage keyring with a master password so it is " +"available for use." +msgstr "" +"পাসওয়ার্ড সংরক্ষণের কী-রিংটি ব্যবহারের জন্য বিদ্যমান করার উদ্দেশ্যে একটি প্রধান " +"পাসওয়ার্ড সহযোগে তা অনবরুদ্ধ করুন।" + +#: ../gkr/seahorse-gkr-keyring-commands.c:292 +msgid "_Set as default" +msgstr "ডিফল্ট রূপে নির্ধারণ করুন (_S)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:293 +msgid "Applications usually store new passwords in the default keyring." +msgstr "" +"অ্যাপ্লিকেশনগুলো দ্বারা সাধারণত ডিফল্ট কী-রিংয়ের মধ্যে নতুন পাসওয়ার্ড সংরক্ষণ করা হবে।" + +#: ../gkr/seahorse-gkr-keyring-commands.c:294 +msgid "Change _Password" +msgstr "পাসওয়ার্ড পরিবর্তন করুন (_P)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:295 +msgid "Change the unlock password of the password storage keyring" +msgstr "পাসওয়ার্ড সংরক্ষণের কী-রিং অনবরুদ্ধ করার পাসওয়ার্ড পরিবর্তন করুন" + +#: ../gkr/seahorse-gkr-keyring-commands.c:360 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "আপনি কি নিশ্চিতরূপে '%s' পাসওয়ার্ড কী-রিং মুছে ফেলতে ইচ্ছুক?" + +#. ----------------------------------------------------------------------------- +#. * PUBLIC +#. +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Created:" +msgstr "নিমার্ণের সময়কাল:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +msgid "Keyring" +msgstr "কী-রিং" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring Properties" +msgstr "কী-রিংয়ের বৈশিষ্ট্য" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "_Name:" +msgstr "নাম (_N):" + +#: ../gkr/seahorse-gkr-operation.c:168 +msgid "Access to the key ring was denied" +msgstr "কী রিং-এর সাথে সংযোগস্থাপন করতে দেওয়া হয়নি" + +#: ../gkr/seahorse-gkr-operation.c:171 +msgid "The gnome-keyring daemon is not running" +msgstr "gnome-keyring ডেমন স্বক্রিয় নয়" + +#: ../gkr/seahorse-gkr-operation.c:174 +msgid "The key ring has already been unlocked" +msgstr "কী রিং-টি খোলা অবস্থায় রয়েছে" + +#: ../gkr/seahorse-gkr-operation.c:177 +msgid "No such key ring exists" +msgstr "ঐ নামের কী রিং অনুপস্থিত" + +#: ../gkr/seahorse-gkr-operation.c:180 +msgid "Couldn't communicate with key ring daemon" +msgstr "কী রিং ডেমন-এর সাথে সংযোগস্থাপন করা সম্ভব হয়নি" + +#: ../gkr/seahorse-gkr-operation.c:183 +msgid "The item already exists" +msgstr "এই আইটেমটি বর্তমানে উপস্থিত" + +#: ../gkr/seahorse-gkr-operation.c:189 +msgid "Internal error accessing gnome-keyring" +msgstr "gnome-কী রিং ব্যবহার করতে অভ্যন্তরীণ সমস্যা" + +#: ../gkr/seahorse-gkr-operation.c:238 ../gkr/seahorse-gkr-operation.c:264 +msgid "Saving item..." +msgstr "সংরক্ষণ করা হচ্ছে..." + +#: ../gkr/seahorse-gkr-operation.c:300 +msgid "Deleting item..." +msgstr "আইটেম মুছে ফেলা হচ্ছে..." + +#: ../gkr/seahorse-gkr-operation.c:325 +msgid "Deleting keyring..." +msgstr "কী-রিং মুছে ফেলা হচ্ছে..." + +#: ../gkr/seahorse-gkr-source.c:234 +msgid "Listing password keyrings" +msgstr "পাসওয়ার্ড কী-রিংয়ের তালিকা প্রস্তুতি" + +#: ../libcryptui/cryptui.c:272 +msgid "" +"No encryption keys were found with which to perform the operation you " +"requested. The program Passwords and Encryption Keys will now be " +"started so that you may either create a key or import one." +msgstr "" +"No encryption keys were found with which to perform the operation you " +"requested. The program Passwords and Encryption Keys will now be " +"started so that you may either create a key or import one." + +#: ../libcryptui/cryptui-key-chooser.c:173 +msgid "All Keys" +msgstr "সবধরনের কী" + +#: ../libcryptui/cryptui-key-chooser.c:174 +msgid "Selected Recipients" +msgstr "নির্বাচিত প্রাপক" + +#: ../libcryptui/cryptui-key-chooser.c:175 +msgid "Search Results" +msgstr "অনুসন্ধানের ফলাফল" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:185 +msgid "Search _for:" +msgstr "অনুসন্ধান করা হবে (_f):" + +#: ../libcryptui/cryptui-key-chooser.c:243 +msgid "None (Don't Sign)" +msgstr "একটিও না (স্বাক্ষর করা হবে না)" + +#: ../libcryptui/cryptui-key-chooser.c:256 +#, c-format +msgid "Sign this message as %s" +msgstr "%s রূপে বার্তা স্বাক্ষর করা হবে" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:278 +msgid "_Sign message as:" +msgstr "বার্তা স্বাক্ষরের জন্য ব্যবহৃত হবে: (_S)" + +#. TODO: Icons +#. The name column +#: ../libcryptui/cryptui-key-list.c:140 +#: ../pgp/seahorse-pgp-key-properties.c:839 +#: ../src/seahorse-key-manager-store.c:829 +msgid "Name" +msgstr "নাম" + +#. The keyid column +#: ../libcryptui/cryptui-key-list.c:145 +#: ../pgp/seahorse-pgp-key-properties.c:1743 +#: ../src/seahorse-key-manager-store.c:841 +msgid "Key ID" +msgstr "কী-এর ID" + +#: ../libegg/egg-datetime.c:313 +msgid "Display flags" +msgstr "বৈশিষ্ট্য প্রদর্শন করুন" + +#: ../libegg/egg-datetime.c:314 +msgid "Displayed date and/or time properties" +msgstr "তারিখ এবং/অথবা সময় সংক্রান্ত প্রদর্শিত বৈশিষ্ট্য" + +#: ../libegg/egg-datetime.c:319 +msgid "Lazy mode" +msgstr "অলস মোড" + +#: ../libegg/egg-datetime.c:320 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "তারিখ ও সময়ের অন্তর্ভুক্ত তথ্যগুলি অলস মোডে নর্মালাইজ করা হয় না" + +#: ../libegg/egg-datetime.c:325 +msgid "Year" +msgstr "বৎসর" + +#: ../libegg/egg-datetime.c:326 +msgid "Displayed year" +msgstr "প্রদর্শিত বৎসর" + +#: ../libegg/egg-datetime.c:331 +msgid "Month" +msgstr "মাস" + +#: ../libegg/egg-datetime.c:332 +msgid "Displayed month" +msgstr "প্রদর্শিত মাস" + +#: ../libegg/egg-datetime.c:337 +msgid "Day" +msgstr "দিন" + +#: ../libegg/egg-datetime.c:338 +msgid "Displayed day of month" +msgstr "মাসের প্রদর্শিত দিন" + +#: ../libegg/egg-datetime.c:343 +msgid "Hour" +msgstr "ঘন্টা" + +#: ../libegg/egg-datetime.c:344 +msgid "Displayed hour" +msgstr "প্রদর্শিত ঘন্টা" + +#: ../libegg/egg-datetime.c:349 +msgid "Minute" +msgstr "মিনিট" + +#: ../libegg/egg-datetime.c:350 +msgid "Displayed minute" +msgstr "প্রদর্শিত মিনিট" + +#: ../libegg/egg-datetime.c:355 +msgid "Second" +msgstr "সেকন্ড" + +#: ../libegg/egg-datetime.c:356 +msgid "Displayed second" +msgstr "প্রদর্শিত সেকেন্ড" + +#: ../libegg/egg-datetime.c:361 +msgid "Lower limit year" +msgstr "বৎসরের সর্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:362 +msgid "Year part of the lower date limit" +msgstr "তারিখের সর্বনিম্ন মানের মধ্যে বৎসরের অংশ" + +#: ../libegg/egg-datetime.c:367 +msgid "Upper limit year" +msgstr "বৎসরের সর্বাধিক মান" + +#: ../libegg/egg-datetime.c:368 +msgid "Year part of the upper date limit" +msgstr "তারিখের সর্বাধিক মানের মধ্যে বৎসরের অংশ" + +#: ../libegg/egg-datetime.c:373 +msgid "Lower limit month" +msgstr "মাসের সর্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:374 +msgid "Month part of the lower date limit" +msgstr "তারিখের সর্বনিম্ন মানের মধ্যে মাসের অংশ" + +#: ../libegg/egg-datetime.c:379 +msgid "Upper limit month" +msgstr "মাসের সর্বাধিক মান" + +#: ../libegg/egg-datetime.c:380 +msgid "Month part of the upper date limit" +msgstr "তারিখের সর্বাধিক মানের মধ্যে মাসের অংশ" + +#: ../libegg/egg-datetime.c:385 +msgid "Lower limit day" +msgstr "দিনের সর্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:386 +msgid "Day of month part of the lower date limit" +msgstr "তারিখের সর্বনিম্ন মানের মধ্যে মাসের দিনের অংশ" + +#: ../libegg/egg-datetime.c:391 +msgid "Upper limit day" +msgstr "দিনের সর্বাধিক মান" + +#: ../libegg/egg-datetime.c:392 +msgid "Day of month part of the upper date limit" +msgstr "তারিখের সর্বাধিক মানের মধ্যে মাসের দিনের অংশ" + +#: ../libegg/egg-datetime.c:397 +msgid "Lower limit hour" +msgstr "ঘন্টার সর্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:398 +msgid "Hour part of the lower time limit" +msgstr "তারিখের সর্বনিম্ন মানের মধ্যে ঘন্টার অংশ" + +#: ../libegg/egg-datetime.c:403 +msgid "Upper limit hour" +msgstr "ঘন্টার সর্বাধিক মান" + +#: ../libegg/egg-datetime.c:404 +msgid "Hour part of the upper time limit" +msgstr "তারিখের সর্বাধিক মানের মধ্যে ঘন্টার অংশ" + +#: ../libegg/egg-datetime.c:409 +msgid "Lower limit minute" +msgstr "মিনিটের সর্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:410 +msgid "Minute part of the lower time limit" +msgstr "তারিখের সর্বনিম্ন মানের মধ্যে মিনিটের অংশ" + +#: ../libegg/egg-datetime.c:415 +msgid "Upper limit minute" +msgstr "মিনিটের সর্বাধিক মান" + +#: ../libegg/egg-datetime.c:416 +msgid "Minute part of the upper time limit" +msgstr "তারিখের সর্বাধিক মানের মধ্যে মিনিটের অংশ" + +#: ../libegg/egg-datetime.c:421 +msgid "Lower limit second" +msgstr "সেকেন্ডের সর্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:422 +msgid "Second part of the lower time limit" +msgstr "তারিখের সর্বনিম্ন মানের মধ্যে সেকেন্ডের অংশ" + +#: ../libegg/egg-datetime.c:427 +msgid "Upper limit second" +msgstr "সেকেন্ডের সর্বাধিক মান" + +#: ../libegg/egg-datetime.c:428 +msgid "Second part of the upper time limit" +msgstr "তারিখের সর্বাধিক মানের মধ্যে সেকেন্ডের অংশ" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:470 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:492 +msgid "Date" +msgstr "দিন" + +#: ../libegg/egg-datetime.c:492 +msgid "Enter the date directly" +msgstr "সরাসরি তারিখ লিখুন" + +#: ../libegg/egg-datetime.c:499 +msgid "Select Date" +msgstr "তারিখ নির্বাচন করুন" + +#: ../libegg/egg-datetime.c:499 +msgid "Select the date from a calendar" +msgstr "ক্যালেন্ডার থেকে তারিখ নির্বাচন করুন" + +#: ../libegg/egg-datetime.c:517 ../libegg/egg-datetime.c:2192 +msgid "Time" +msgstr "সময়" + +#: ../libegg/egg-datetime.c:517 +msgid "Enter the time directly" +msgstr "সরাসরি সময় লিখুন" + +#: ../libegg/egg-datetime.c:524 +msgid "Select Time" +msgstr "সময় নির্বাচন করুন" + +#: ../libegg/egg-datetime.c:524 +msgid "Select the time from a list" +msgstr "তালিকা থেকে সময় নির্বাচন করুন" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:791 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:795 ../libegg/egg-datetime.c:1253 +#: ../libegg/egg-datetime.c:1257 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:797 ../libegg/egg-datetime.c:1254 +#: ../libegg/egg-datetime.c:1261 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:805 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%1$02d:%2$02d:%3$02d %4$s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:808 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:812 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:815 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1169 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1234 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libegg/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "এটি বৈধ .desktop ফাইল নয়" + +#: ../libegg/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "ডেস্কটপ ফাইলের অজ্ঞাত সংস্করণ '%s'" + +#: ../libegg/eggdesktopfile.c:968 +#, c-format +msgid "Starting %s" +msgstr "%s আরম্ভ করা হচ্ছে" + +#: ../libegg/eggdesktopfile.c:1110 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "অ্যাপ্লিকেশন দ্বারা কমান্ড-লাইনের মাধ্যমে নথি গ্রহণ করা হয় না" + +#: ../libegg/eggdesktopfile.c:1178 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "প্রারম্ভিক অপশন অজানা: %d" + +#: ../libegg/eggdesktopfile.c:1383 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "'Type=Link' ডেস্কটপ এনট্রির ক্ষেত্রে নথিপত্রের URI উল্লেখ করা সম্ভব নয়" + +#: ../libegg/eggdesktopfile.c:1404 +#, c-format +msgid "Not a launchable item" +msgstr "প্রারম্ভ করার যোগ্য বস্তু নয়" + +#: ../libegg/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "সেশন পরিচালনব্যবস্থার সাথে সংযোগ বিচ্ছিন্ন করা হবে" + +#: ../libegg/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "সংরক্ষিত কনফিগারেশন ধারণকারী ফাইল উল্লেখ করুন" + +#: ../libegg/eggsmclient.c:228 +msgid "FILE" +msgstr "FILE" + +#: ../libegg/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "সেশন পরিচালনার ID উল্লেখ করুন" + +#: ../libegg/eggsmclient.c:231 ../pgp/seahorse-pgp-key-properties.c:1312 +msgid "ID" +msgstr "ID" + +#: ../libegg/eggsmclient.c:252 +msgid "Session management options:" +msgstr "সেশন পরিচালনা সংক্রান্ত অপশন:" + +#: ../libegg/eggsmclient.c:253 +msgid "Show session management options" +msgstr "সেশান পরিচালনা সংক্রান্ত অপশন প্রদর্শন করা হবে" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "কী-সার্ভার যোগ করুন" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Host:" +msgstr "হোস্ট:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Key Server Type:" +msgstr "কী-সার্ভারের ধরন:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid "The port to access the server on." +msgstr "সার্ভার ব্যবহারের জন্য চিহ্নিত পোর্ট।" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "initial temporary item" +msgstr "প্রারম্ভিক অস্থায়ী বস্তু" + +#: ../libseahorse/seahorse-notification.c:566 +#: ../libseahorse/seahorse-notification.c:594 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "কী ইম্পোর্ট করা হয়েছে" +msgstr[1] "কি ইম্পোর্ট করা হয়েছে" + +#: ../libseahorse/seahorse-notification.c:570 +#: ../libseahorse/seahorse-notification.c:593 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "%i-টি কী ইম্পোর্ট করা হয়েছে" +msgstr[1] "%i-টি কি ইম্পোর্ট করা হয়েছে" + +#: ../libseahorse/seahorse-notification.c:572 +#, c-format +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "চিহ্নিত বস্তুর জন্য কী ইম্পোর্ট করা হয়েছে" +msgstr[1] "চিহ্নিত বস্তুর জন্য কি ইম্পোর্ট করা হয়েছে" + +#: ../libseahorse/seahorse-notify.xml.h:1 +msgid "Notification Messages" +msgstr "সূচনামূলক বার্তা" + +#: ../libseahorse/seahorse-object.c:317 +msgid "Symmetric Key" +msgstr "সিমেট্রিক কী" + +#: ../libseahorse/seahorse-object.c:320 +msgid "Public Key" +msgstr "পাবলিক কী" + +#: ../libseahorse/seahorse-object.c:323 +msgid "Private Key" +msgstr "প্রাইভেট কী" + +#: ../libseahorse/seahorse-object.c:326 +msgid "Credentials" +msgstr "পরিচিতি তথ্য" + +#. +#. * Translators: "This object is a means of storing items such as +#. * name, email address, etc. that make up one's digital identity. +#. +#: ../libseahorse/seahorse-object.c:333 +msgid "Identity" +msgstr "পরিচয়" + +#: ../libseahorse/seahorse-passphrase.c:196 +msgid "Passphrase" +msgstr "পরিচিত-পংক্তি" + +#: ../libseahorse/seahorse-passphrase.c:199 +#: ../ssh/seahorse-ssh-operation.c:480 +msgid "Password:" +msgstr "পাসওয়ার্ড:" + +#: ../libseahorse/seahorse-passphrase.c:264 +msgid "Confirm:" +msgstr "নিশ্চায়ণ:" + +#: ../libseahorse/seahorse-prefs.c:62 +msgid "Not a valid Key Server address." +msgstr "কী সার্ভারের বৈধ ঠিকানা নয়" + +#: ../libseahorse/seahorse-prefs.c:63 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "" +"সাহায্যের জন্য সিস্টেম প্রশাসকের অথবা কি-সার্ভারের প্রশাসকের সাথে যোগাযোগ করুন।" + +#: ../libseahorse/seahorse-prefs.c:172 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:352 +msgid "Custom" +msgstr "স্বনির্ধারিত" + +#: ../libseahorse/seahorse-prefs.c:419 +msgid "None: Don't publish keys" +msgstr "একটিও না: কী প্রকাশ করা হবে না" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Automatically retrieve keys from _key servers" +msgstr "কী-রিং থেকে স্বয়ংক্রিয়ভাবে কী পেতে ব্যর্থ (_k)" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "পরিবর্তিত কী-গুলো স্বয়ংক্রিয়ভাবে কী-সার্ভারের সাথে সুসংগত করা হবে (_m)" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "Key Servers" +msgstr "কী-সার্ভার" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Key Sharing" +msgstr "কী-এর যৌথ ব্যবহার" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Preferences" +msgstr "পছন্দ" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've " +"collected. This means they can automatically encrypt things for you or those " +"you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." +msgstr "" +"যৌথ ব্যবহারের জন্য কী বিদ্যমান করা হলে, আপনার নেটওয়ার্কের মধ্যে উপস্থিত অন্যান্য " +"ব্যবহারকারীরা আপনার সংগ্রহ করা কী-গুলো ব্যবহার করতে সক্ষম হবেন। এর ফলে, তারা " +"আপনার অথবা আপনার পরিচিতদের হয়ে স্বয়ংক্রিয়ভাবে বিভিন্ন সামগ্রী এনক্রিপ্ট করতে সক্ষম " +"হবেন এবং এর জন্য আপনাকে আপনার কী তাদেরকে পাঠাতে হবে না।\n" +"\n" +"উল্লেখ্য: এর ফলে আপনার ব্যক্তিগত কী ক্ষতিগ্রস্ত হবে না।" + +#: ../libseahorse/seahorse-prefs.xml.h:9 +msgid "_Find keys via:" +msgstr "কী অনুসন্ধানের মাধ্যম (_F):" + +#: ../libseahorse/seahorse-prefs.xml.h:10 +msgid "_Publish keys to:" +msgstr "চিহ্নিত কি-সার্ভারে উপস্থিত কী প্রকাশিত করা হবে: (_P)" + +#: ../libseahorse/seahorse-prefs.xml.h:11 +msgid "_Share my keys with others on my network" +msgstr "নেটওয়ার্কের অন্যান্য ব্যবহারকারীদের সাথে আমার কী-গুলো বিনিময় করা হবে (_S)" + +#: ../libseahorse/seahorse-progress.xml.h:1 +msgid "Progress Title" +msgstr "অগ্রগতি শিরোনাম" + +#: ../libseahorse/seahorse-unknown.c:67 +msgid "Unavailable" +msgstr "বিদ্যমান নয়" + +#: ../libseahorse/seahorse-util.c:237 +msgid "%Y-%m-%d" +msgstr "%1$Y-%2$m-%3$d" + +#: ../libseahorse/seahorse-util.c:513 +msgid "Key Data" +msgstr "কী-এর তথ্য" + +#: ../libseahorse/seahorse-util.c:515 +msgid "Multiple Keys" +msgstr "একাধিক কী" + +#: ../libseahorse/seahorse-util.c:771 +msgid "Couldn't run file-roller" +msgstr "file-roller চালাতে ব্যর্থ" + +#: ../libseahorse/seahorse-util.c:777 +msgid "Couldn't package files" +msgstr "ফাইল প্যাকেজ করতে ব্যর্থ" + +#: ../libseahorse/seahorse-util.c:778 +msgid "The file-roller process did not complete successfully" +msgstr "file-roller-এর কাজ সাফল্যের সাথে সমাপ্ত হয়নি" + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:954 +msgid "All key files" +msgstr "সর্বধরনের কী-এর ফাইল" + +#: ../libseahorse/seahorse-util.c:965 ../libseahorse/seahorse-util.c:1013 +#: ../pgp/seahorse-gpgme-photos.c:242 +msgid "All files" +msgstr "সর্বধরনের ফাইল" + +#: ../libseahorse/seahorse-util.c:1006 +msgid "Archive files" +msgstr "আর্কাইভ ফাইল" + +#: ../libseahorse/seahorse-util.c:1076 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" +"এই নামের একটি ফাইল বর্তমানে উপস্থিত রয়েছে।\n" +"\n" +"এই ফাইলটির পরিবর্তে নতুন ফাইলটি স্থাপন করা হবে কি?" + +#: ../libseahorse/seahorse-util.c:1079 +msgid "_Replace" +msgstr "প্রতিস্থাপন (_R)" + +#: ../libseahorse/seahorse-validity.c:40 ../pgp/seahorse-gpgme-subkey.c:197 +#: ../pgp/seahorse-pgp-key-properties.c:1131 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Unknown" +msgstr "অজানা" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1137 +msgctxt "Validity" +msgid "Never" +msgstr "কখনো নয়" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-key-properties.c:1144 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:33 +msgid "Marginal" +msgstr "আংশিক" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-key-properties.c:1150 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +msgid "Full" +msgstr "সম্পূর্ণ" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-key-properties.c:1156 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Ultimate" +msgstr "সর্বাধিক" + +#: ../libseahorse/seahorse-validity.c:50 +#: ../pgp/seahorse-pgp-key-properties.c:1349 +msgid "Disabled" +msgstr "নিষ্ক্রিয়" + +#: ../libseahorse/seahorse-validity.c:52 +#: ../pgp/seahorse-pgp-key-properties.c:1345 +msgid "Revoked" +msgstr "প্রত্যাখ্যাত" + +#: ../libseahorse/seahorse-widget.c:464 +#, c-format +msgid "Could not display help: %s" +msgstr "সহায়ক তথ্য প্রদর্শন করতে ব্যর্থ: %s" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Expiration Date:" +msgstr "মেয়াদপূর্তীর তারিখ:" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "Generate a new subkey" +msgstr "নতুন সাব-কী নির্মাণ করুন" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +msgid "If key never expires" +msgstr "কী-এর মেয়াদ কখনো পূর্ণ না হলে" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "কী-এর দৈর্ঘ্য (_L):" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Key _Type:" +msgstr "কী-এর ধরন (_T):" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "কী-এর দৈর্ঘ্য" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Never E_xpires" +msgstr "মেয়াদ পূর্ণ হবে না (_x)" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "ব্যবহারকারীর ID যোগ করুন" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Create the new user ID" +msgstr "নতুন ব্যবহারকারীর ID তৈরি করুন" + +#: ../pgp/seahorse-add-uid.xml.h:3 ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Full _Name:" +msgstr "সম্পূর্ণ নাম (_N):" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Key Co_mment:" +msgstr "কী সংক্রান্ত বিবৃতি (_m):" + +#: ../pgp/seahorse-add-uid.xml.h:5 +msgid "Must be at least 5 characters long" +msgstr "অন্তত ৫ অক্ষর বিশিষ্ট হওয়া আবশ্যক" + +#: ../pgp/seahorse-add-uid.xml.h:6 +msgid "Optional comment describing key" +msgstr "কী-এর বিবরণ উল্লেখকারী বিবৃতি (ঐচ্ছিক)" + +#: ../pgp/seahorse-add-uid.xml.h:7 +msgid "Optional email address" +msgstr "ই-মেইল ঠিকানা (ঐচ্ছিক)" + +#: ../pgp/seahorse-add-uid.xml.h:8 ../pgp/seahorse-pgp-generate.xml.h:13 +msgid "_Email Address:" +msgstr "ই-মেইল ঠিকানা (_E):" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "C_hange" +msgstr "পরিবর্তন করুন (_h)" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:4 +msgid "Revoke key" +msgstr "কি প্রত্যাখ্যান করুন" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "_Never expires" +msgstr "মেয়াদ পূর্ণ হবে না (_N)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:144 +msgid "Couldn't add subkey" +msgstr "সাব-কী যোগ করা যায়নি" + +#: ../pgp/seahorse-gpgme-add-subkey.c:163 +#, c-format +msgid "Add subkey to %s" +msgstr "%s-এ সাব-কী যোগ করুন" + +#: ../pgp/seahorse-gpgme-add-subkey.c:179 ../pgp/seahorse-gpgme-generate.c:117 +msgid "DSA (sign only)" +msgstr "DSA (শুধুমাত্র স্বাক্ষর)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:187 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (শুধুমাত্র এনক্রিপশন)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:193 ../pgp/seahorse-gpgme-generate.c:118 +msgid "RSA (sign only)" +msgstr "RSA (শুধুমাত্র স্বাক্ষর)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:199 +msgid "RSA (encrypt only)" +msgstr "RSA (শুধুমাত্র এনক্রিপশন)" + +#: ../pgp/seahorse-gpgme-add-uid.c:85 +msgid "Couldn't add user id" +msgstr "ব্যবহারকারীর id যোগ করতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-add-uid.c:107 +#, c-format +msgid "Add user ID to %s" +msgstr "%s-এ ব্যবহারকারীর ID যোগ করুন" + +#: ../pgp/seahorse-gpgme.c:72 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "ডিক্রিপশন করতে ব্যর্থ। সম্ভবত ডিক্রিপশন-কী উপস্থিত নেই।" + +#: ../pgp/seahorse-gpgme-expires.c:58 +msgid "Invalid expiry date" +msgstr "মেয়াদপূর্তীর তারিখ বৈধ নয়" + +#: ../pgp/seahorse-gpgme-expires.c:59 +msgid "The expiry date must be in the future" +msgstr "মেয়াদপূর্তীর ক্ষেত্রে ভবিষ্যতের একটি তারিখ নির্ধারণ করা আবশ্যক" + +#: ../pgp/seahorse-gpgme-expires.c:72 +msgid "Couldn't change expiry date" +msgstr "মেয়াদপূর্তীর তারিখ পরিবর্তন করতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-expires.c:131 +#, c-format +msgid "Expiry: %s" +msgstr "মেয়াদপূর্তী: %s" + +#: ../pgp/seahorse-gpgme-generate.c:79 +msgid "PGP Key" +msgstr "PGP-কী" + +#: ../pgp/seahorse-gpgme-generate.c:80 +msgid "Used to encrypt email and files" +msgstr "ই-মেইল ও ফাইল এনক্রিপ্ট করতে ব্যবহৃত" + +#: ../pgp/seahorse-gpgme-generate.c:115 ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:116 +msgid "DSA Elgamal" +msgstr "DSA Elgamal" + +#: ../pgp/seahorse-gpgme-generate.c:134 +msgid "Couldn't generate PGP key" +msgstr "PGP-কী নির্মাণ করতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-generate.c:194 +msgid "Passphrase for New PGP Key" +msgstr "নতুন PGP-কী এর পরিচয়-পংক্তি" + +#: ../pgp/seahorse-gpgme-generate.c:195 +msgid "Enter the passphrase for your new key twice." +msgstr "নতুন কী-এর পরিচয়-পংক্তি দুইবার লেখা আবশ্যক।" + +#: ../pgp/seahorse-gpgme-generate.c:204 +msgid "Couldn't generate key" +msgstr "কী নির্মাণ করতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-generate.c:206 +msgid "Generating key" +msgstr "কী নির্মাণ করতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-key-op.c:300 +#| msgid "Show pass_word" +msgid "Wrong password" +msgstr "ভুল পাসওয়ার্ড (_w)" + +#: ../pgp/seahorse-gpgme-key-op.c:300 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "তৃতীয়বারের মত ভুল পাসওয়ার্ড দিয়েছেন। অনুগ্রহ করে আবার চেষ্টা করুন।" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"ছবির মাপ অত্যন্ত বড়\n" +"কী-এর জন্য ছবির প্রস্তাবিত মান হলো %1$d x %2$d পিক্সেল।" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "মাপ পরিবর্তন করা হবে না (_D)" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "মান পরিবর্তন করা হবে (_R)" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"এটি সম্ভবত ছবির ফাইল নয় অথবা পরিচিত ধরনের ছবির ফাইল নয়। JPEG ছবির ব্যবহারের " +"প্রয়াস করুন।" + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "সর্বধরনের ছবির ফাইল" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "সর্বধরনের JPEG ফাইল" + +#: ../pgp/seahorse-gpgme-photos.c:261 +msgid "Choose Photo to Add to Key" +msgstr "কী-এর সাথে যোগ করার উদ্দেশ্যে ছবি নির্বাচন করুন" + +#: ../pgp/seahorse-gpgme-photos.c:290 ../pgp/seahorse-gpgme-photos.c:294 +msgid "Couldn't add photo" +msgstr "ছবি যোগ করতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-photos.c:291 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "ফাইল লোড করা যায়নি। সম্ভবত বৈধ বিন্যাস নয়।" + +#: ../pgp/seahorse-gpgme-photos.c:320 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "আপনি কি নিশ্চিতরূপে আপনার কী থেকে বর্তমান ছবি মুছে ফেলতে ইচ্ছুক?" + +#: ../pgp/seahorse-gpgme-photos.c:333 +msgid "Couldn't delete photo" +msgstr "ছবি মুছে ফেলতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-revoke.c:70 +msgid "Couldn't revoke subkey" +msgstr "সাব-কি প্রত্যাখ্যান করতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-revoke.c:91 +#, c-format +msgid "Revoke: %s" +msgstr "প্রত্যাখ্যান করুন: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:102 +msgid "No reason" +msgstr "কারণ ছাড়া" + +#: ../pgp/seahorse-gpgme-revoke.c:103 +msgid "No reason for revoking key" +msgstr "কী প্রত্যাখ্যানের কোনো কারণ নেই" + +#: ../pgp/seahorse-gpgme-revoke.c:109 +msgid "Compromised" +msgstr "ক্ষতিগ্রস্ত" + +#: ../pgp/seahorse-gpgme-revoke.c:110 +msgid "Key has been compromised" +msgstr "এই কী ক্ষতিগ্রস্ত হয়েছে" + +#: ../pgp/seahorse-gpgme-revoke.c:116 +msgid "Superseded" +msgstr "অতিক্রান্ত" + +#: ../pgp/seahorse-gpgme-revoke.c:117 +msgid "Key has been superseded" +msgstr "এই কী অতিক্রান্ত করা হয়েছে" + +#: ../pgp/seahorse-gpgme-revoke.c:123 +msgid "Not Used" +msgstr "ব্যবহৃত নয়" + +#: ../pgp/seahorse-gpgme-revoke.c:124 +msgid "Key is no longer used" +msgstr "এই কী এখন ব্যবহত হয় না" + +#: ../pgp/seahorse-gpgme-revoke.c:161 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"আপনি %1$s-কে %2$s-এর প্রত্যাহারকারী রূপে যোগ করতে চলেছেন। এই কাজ বাতিল করা যাবে " +"না! আপনি কি নিশ্চিতরূপে এগিয়ে যেতে ইচ্ছুক?" + +#: ../pgp/seahorse-gpgme-revoke.c:173 +msgid "Couldn't add revoker" +msgstr "প্রত্যাহারকারী যোগ করা যায়নি" + +#: ../pgp/seahorse-gpgme-sign.c:96 +msgid "Couldn't sign key" +msgstr "কী স্বাক্ষর করতে ব্যর্থ" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:149 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "স্বাক্ষরের জন্য কোনো কী ব্যবহারযোগ্য নয়" + +#: ../pgp/seahorse-gpgme-sign.c:150 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"এই কী-এর প্রতি আপনার বিশ্বাসের মাত্রা দর্শানোর উদ্দেশ্যে আপনার কোনো ব্যক্তিগত PGP-কী " +"উপস্থিত নেই।" + +#: ../pgp/seahorse-gpgme-source.c:99 +#, c-format +msgid "Wrong passphrase." +msgstr "ভুল পরিচিতি-পংক্তি।" + +#: ../pgp/seahorse-gpgme-source.c:103 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "'%s'-এর জন্য নতুন পরিচিতি-পংক্তি লিখুন" + +#: ../pgp/seahorse-gpgme-source.c:105 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "'%s'-এর পরিচিতি-পংক্তি লিখুন" + +#: ../pgp/seahorse-gpgme-source.c:108 +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Enter new passphrase" +msgstr "নতুন পরিচিতি-পংক্তি লিখুন" + +#: ../pgp/seahorse-gpgme-source.c:110 +msgid "Enter passphrase" +msgstr "পরিচিতি-পংক্তি লিখুন" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../pgp/seahorse-gpgme-source.c:722 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d-টি কী লোড করা হয়েছে" +msgstr[1] "%d-টি কি লোড করা হয়েছে" + +#: ../pgp/seahorse-gpgme-source.c:777 +msgid "Loading Keys..." +msgstr "কী লোড করা হচ্ছে..." + +#: ../pgp/seahorse-gpgme-source.c:820 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"কী-এর তথ্য বৈধ নয় (UID অনুপস্থিত)। ভবিষ্যতের তারিখ বহনকারী কোনো কম্পিউটার অথবা " +"স্বয়ং করা স্বাক্ষরের অনুপস্থিতির ফলে এই সমস্যা দেখা দিতে পারে।" + +#: ../pgp/seahorse-gpgme-source.c:910 ../src/seahorse-key-manager.c:538 +msgid "Importing Keys" +msgstr "কী ইম্পোর্ট করা হচ্ছে" + +#: ../pgp/seahorse-gpgme-source.c:946 +msgid "Exporting Keys" +msgstr "কী এক্সপোর্ট করা হচ্ছে" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:330 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" +"সুনির্দিষ্ট অনুসন্ধান প্রয়োগ করা হয়নি। '%s' সার্ভার দ্বারা একাধিক কী সনাক্ত হয়েছে।" + +#: ../pgp/seahorse-hkp-source.c:332 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "'%1$s' সার্ভারের সাথে সংযোগ স্থাপন করতে ব্যর্থ: %2$s" + +#: ../pgp/seahorse-hkp-source.c:576 +msgid "Searching for keys..." +msgstr "কী অনুসন্ধান করা হচ্ছে..." + +#: ../pgp/seahorse-hkp-source.c:647 +msgid "Uploading keys..." +msgstr "কী আপলোড করা হচ্ছে..." + +#: ../pgp/seahorse-hkp-source.c:725 +msgid "Retrieving keys..." +msgstr "কী পুনরুদ্ধার করা হচ্ছে..." + +#: ../pgp/seahorse-hkp-source.c:831 +#, c-format +msgid "Searching for keys on: %s" +msgstr "চিহ্নিত স্থানে কী অনুসন্ধান করা হচ্ছে: %s" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../pgp/seahorse-hkp-source.c:908 ../pgp/seahorse-hkp-source.c:981 +#: ../pgp/seahorse-ldap-source.c:668 +#, c-format +msgid "Connecting to: %s" +msgstr "সংযোগ স্থাপন করা হচ্ছে: %s" + +#: ../pgp/seahorse-hkp-source.c:1005 +msgid "HTTP Key Server" +msgstr "HTTP কী-সার্ভার" + +#: ../pgp/seahorse-ldap-source.c:459 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "'%1$s'-এর সাথে সংযোগ করতে ব্যর্থ: %2$s" + +#: ../pgp/seahorse-ldap-source.c:641 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "চিহ্নিত ঠিকানা মীমাংসা করতে ব্যর্থ: %s" + +#: ../pgp/seahorse-ldap-source.c:719 +#, c-format +msgid "Resolving server address: %s" +msgstr "সার্ভারের ঠিকানা মীমাংসা করতে ব্যর্থ: %s" + +#: ../pgp/seahorse-ldap-source.c:955 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "'%s' সহ কী অনুসন্ধান করা হবে..." + +#: ../pgp/seahorse-ldap-source.c:983 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "কী-id '%s' অনুসন্ধান করুন..." + +#: ../pgp/seahorse-ldap-source.c:1089 +msgid "Retrieving remote keys..." +msgstr "দূরবর্তী-কী উদ্ধার করা হচ্ছে..." + +#: ../pgp/seahorse-ldap-source.c:1221 +msgid "Sending keys to key server..." +msgstr "কী-সার্ভারে কি পাঠানো হচ্ছে..." + +#: ../pgp/seahorse-ldap-source.c:1423 +msgid "LDAP Key Server" +msgstr "LDAP কী-সার্ভার" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "_Sign Key..." +msgstr "কী স্বাক্ষর করুন...(_S)" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "Sign public key" +msgstr "সার্বজনীন-কী স্বাক্ষর করুন" + +#: ../pgp/seahorse-pgp-commands.c:171 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "আপনি কি নিশ্চিতরূপে %s স্থায়ীভাবে মুছে ফেলতে ইচ্ছুক?" + +#: ../pgp/seahorse-pgp-commands.c:176 +#, c-format +msgid "Are you sure you want to permanently delete %d keys and identities?" +msgstr "আপনি কি নিশ্চিতরূপে %d কী ও পরিচয় স্থায়ীভাবে মুছে ফেলতে ইচ্ছুক?" + +#: ../pgp/seahorse-pgp-commands.c:178 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgstr "আপনি কি নিশ্চিতরূপে %d-টি কী স্থায়ীভাবে মুছে ফেলতে ইচ্ছুক?" + +#: ../pgp/seahorse-pgp-commands.c:180 +#, c-format +msgid "Are you sure you want to permanently delete %d identities?" +msgstr "আপনি কি নিশ্চিতরূপে %d-টি পরিচয় স্থায়ীভাবে মুছে ফেলতে ইচ্ছুক?" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "_Advanced key options" +msgstr "কী সংক্রান্ত উন্নত অপশন (_A)" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"PGP কী-র সাহায্যে অন্যান্য ব্যক্তিদের পাঠানো ই-মেইল ও ফাইল এনক্রিপ্ট করা যাবে।" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "Algorithms here" +msgstr "এখানে অ্যালগোরিদম" + +#: ../pgp/seahorse-pgp-generate.xml.h:4 +msgid "C_reate" +msgstr "নির্মাণ করুন (_r)" + +#: ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "E_xpiration Date:" +msgstr "মেয়াদপূর্তীর তারিখ (_x):" + +#: ../pgp/seahorse-pgp-generate.xml.h:6 ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "Encryption _Type:" +msgstr "এনক্রিপশনের ধরন (_T):" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Generate a new key" +msgstr "একটি নতুন কী নির্মাণ করুন" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Key _Strength (bits):" +msgstr "কী-এর ক্ষমতা (বিট): (_S)" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +msgid "Ne_ver Expires" +msgstr "মেয়াদ পূর্ণ হয় না (_v)" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "New PGP Key" +msgstr "নতুন PGP-কী" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +msgid "_Comment:" +msgstr "বিবৃতি (_C):" + +#: ../pgp/seahorse-pgp-key.c:201 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Private PGP Key" +msgstr "ব্যক্তিগত PGP-কী" + +#: ../pgp/seahorse-pgp-key.c:204 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "Public PGP Key" +msgstr "সার্বজনীন PGP-কী" + +#: ../pgp/seahorse-pgp-key.c:583 ../pgp/seahorse-pgp-key-properties.c:1347 +msgid "Expired" +msgstr "মেয়াদ উত্তীর্ণ" + +#: ../pgp/seahorse-pgp-key-properties.c:224 +msgid "Couldn't change primary user ID" +msgstr "ব্যবহারকারীর প্রধান ID পরিবর্তন করা যায়নি" + +#: ../pgp/seahorse-pgp-key-properties.c:241 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "আপনি কি নিশ্চিতরূপে '%s' ব্যবহারকারীর ID স্থায়ীভাবে মুছে ফেলতে ইচ্ছুক?" + +#: ../pgp/seahorse-pgp-key-properties.c:251 +msgid "Couldn't delete user ID" +msgstr "ব্যবহারকারীর ID মুছে ফেলতে ব্যর্থ" + +#: ../pgp/seahorse-pgp-key-properties.c:333 +#: ../pgp/seahorse-pgp-key-properties.c:1462 +msgid "[Unknown]" +msgstr "[অজানা]" + +#: ../pgp/seahorse-pgp-key-properties.c:426 +#: ../pgp/seahorse-pgp-key-properties.c:1740 +msgid "Name/Email" +msgstr "নাম/ই-মেইল" + +#: ../pgp/seahorse-pgp-key-properties.c:431 +msgid "Signature ID" +msgstr "স্বাক্ষরের ID" + +#: ../pgp/seahorse-pgp-key-properties.c:552 +msgid "Couldn't change primary photo" +msgstr "প্রধান ছবি পরিবর্তন করতে ব্যর্থ" + +#: ../pgp/seahorse-pgp-key-properties.c:775 +msgid "(unknown)" +msgstr "(অজানা)" + +#: ../pgp/seahorse-pgp-key-properties.c:778 +#, c-format +msgid "This key expired on: %s" +msgstr "কী-এর মেয়াদপূর্তীর তারিখ: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:946 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" +"আপনি কি নিশ্চিতরূপে সাব-কী %1$d, %2$s-yর সাব-কী স্থায়ী রূপে মুছে ফেলতে ইচ্ছুক?" + +#: ../pgp/seahorse-pgp-key-properties.c:955 +msgid "Couldn't delete subkey" +msgstr "সাব-কী মুছে ফেলতে ব্যর্থ" + +#: ../pgp/seahorse-pgp-key-properties.c:991 +#: ../pgp/seahorse-pgp-key-properties.c:1425 +msgid "Unable to change trust" +msgstr "বিশ্বাসের তথ্য পরিবর্তন করতে ব্যর্থ" + +#: ../pgp/seahorse-pgp-key-properties.c:1005 ../src/seahorse-viewer.c:315 +#: ../ssh/seahorse-ssh-key-properties.c:167 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "\"%s\"-এ কী এক্সপোর্ট করতে ব্যর্থ" + +#: ../pgp/seahorse-pgp-key-properties.c:1033 +#: ../ssh/seahorse-ssh-key-properties.c:191 +msgid "Export Complete Key" +msgstr "সম্পূর্ণ কী এক্সপোর্ট করুন" + +#: ../pgp/seahorse-pgp-key-properties.c:1058 +#: ../ssh/seahorse-ssh-key-properties.c:213 +msgid "Couldn't export key." +msgstr "কী এক্সপোর্ট করতে ব্যর্থ।" + +#: ../pgp/seahorse-pgp-key-properties.c:1265 +#: ../pgp/seahorse-pgp-key-properties.c:1354 +msgctxt "Expires" +msgid "Never" +msgstr "কখনো নয়" + +#. The key type column +#: ../pgp/seahorse-pgp-key-properties.c:1315 +#: ../src/seahorse-key-manager-store.c:860 +msgid "Type" +msgstr "ধরন" + +#: ../pgp/seahorse-pgp-key-properties.c:1318 +msgid "Created" +msgstr "নির্মাণের তারিখ" + +#: ../pgp/seahorse-pgp-key-properties.c:1321 +msgid "Expires" +msgstr "মেয়াদপূর্তী" + +#: ../pgp/seahorse-pgp-key-properties.c:1324 +msgid "Status" +msgstr "অবস্থা" + +#: ../pgp/seahorse-pgp-key-properties.c:1327 +msgid "Strength" +msgstr "ক্ষমতা" + +#: ../pgp/seahorse-pgp-key-properties.c:1351 +msgid "Good" +msgstr "ভালো" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +msgid "Actions" +msgstr "কাজ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgid "Comment:" +msgstr "মন্তব্য:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgid "Dates" +msgstr "তারিখ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgid "Email:" +msgstr "ই-মেইল:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgid "Fingerprint" +msgstr "ফিঙ্গার-প্রিন্ট" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +msgid "Key ID:" +msgstr "কী-এর ID:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +msgid "Key Names and Signatures" +msgstr "কী-এর নাম ও স্বাক্ষর" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +#: ../ssh/seahorse-ssh-key-properties.xml.h:5 +msgid "Name:" +msgstr "নাম:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "Photo " +msgstr "ছবি " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Technical Details" +msgstr "প্রযুক্তিগত বিবরণ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:10 +msgid "This key has been revoked" +msgstr "চিহ্নিত কী প্রত্যাখ্যাত হয়েছে" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "This key has expired" +msgstr "চিহ্নিত কী-এর মেয়াদ পূর্ণ হয়েছে" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:12 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Type:" +msgstr "ধরন:" + +#. To translators: This is the noun not the verb. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:15 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Use:" +msgstr "ব্যবহার:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "_Subkeys" +msgstr "সাব-কী (_S)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +msgid "Add" +msgstr "যোগ করুন" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:18 +msgid "Add a photo to this key" +msgstr "কী-এর জন্য ছবি যোগ করুন" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +msgid "Change _Passphrase" +msgstr "পরিচয়-পংক্তি পরিবর্তন করুন (_P)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +msgid "Decrypt files and email sent to you." +msgstr "আপনার দ্বারা প্রাপ্ত ফাইল ও ই-মেইল ডি-ক্রিপ্ট করা হবে।" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:22 +msgid "Delete" +msgstr "মুছে ফেলুন" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +msgid "Expire" +msgstr "মেয়াদপূর্তী" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:22 +msgid "Expires:" +msgstr "মেয়াদপূর্তী:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Export" +msgstr "এক্সপোর্ট করুন" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +msgid "Go to next photo" +msgstr "পরবর্তী ছবিতে এগিয়ে চলুন" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Go to previous photo" +msgstr "পূর্ববর্তী ছবিতে পিছিয়ে যান" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +msgid "Key ID:" +msgstr "কী-এর ID:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Make this photo the primary photo" +msgstr "চিহ্নিত ছবিটি প্রধান ছবি রূপে ধার্য করা হবে" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "Names and Signatures" +msgstr "নাম ও স্বাক্ষর" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +msgid "Never" +msgstr "কখনো নয়" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:36 +msgid "Override Owner _Trust:" +msgstr "মালিকের বিশ্বাসের তথ্য উপেক্ষা করা হবে: (_T)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "Owner" +msgstr "মালিক" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +msgid "Primary" +msgstr "প্রধান" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Remove this photo from this key" +msgstr "বর্তমান কী থেকে চিহ্নিত ছবি মুছে ফেলা হবে" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +msgid "Revoke" +msgstr "প্রত্যাখ্যান করুন" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +msgid "Sign" +msgstr "স্বাক্ষর করুন" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "Strength:" +msgstr "ক্ষমতা:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "কী-এর মালিক দ্বারা কী টি প্রত্যাহার করা হয়েছে। এটি আর ব্যবহার করা যাবে না।" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "_Add Name" +msgstr "নাম যোগ করুন (_A)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "_Export Complete Key:" +msgstr "সম্পূর্ণ কি এক্সপোর্ট করুন (_E):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgid "Dates:" +msgstr "তারিখ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Fingerprint:" +msgstr "ফিঙ্গার-প্রিন্ট:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgid "Indicate Trust:" +msgstr "বিশ্বাসের মাত্রা চিহ্নিত করুন:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Your trust of this key" +msgstr "এই কী-এর উপর আপনার বিশ্বাসের মাত্রা" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:16 +msgid "_Other Names:" +msgstr "অন্যান্য নাম (_O):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgid "_People who have signed this key:" +msgstr "এই কি স্বাক্ষরকারী ব্যবহারকারীরা (_P):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Encrypt files and email to the key's owner " +msgstr "কী-এর মালিকের জন্য ফাইল ও ই-মেইল এনক্রিপ্ট করুন " + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "Fully" +msgstr "সম্পূর্ণ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "অন্যান্য কী-এর জন্য '%s'-এর স্বাক্ষর বিশ্বাস করা হবে" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:27 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" +"এই কী-এর মালিকানা যদি নিশ্চিতরূপে '%s'-এর অধীন ধার্য করা সম্ভব হয় তাহলে এই কী-টি " +"স্বাক্ষর করুন:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:29 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" +"এই কী-এর মালিকানা যদি নিশ্চিতরূপে '%s'-এর অধীন ধার্য করা সম্ভব না হয় তাহলে আপনার " +"স্বাক্ষর প্রত্যাহার করুন:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:32 +msgid "Marginally" +msgstr "আংশিক" + +#. Trust column +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../src/seahorse-key-manager-store.c:854 +msgid "Trust" +msgstr "বিশ্বাসের মাত্রা" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +msgid "Ultimately" +msgstr "সর্বাধিক" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "You _Trust the Owner:" +msgstr "মালিক আপনার বিশ্বস্ত: (_T)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Your trust is manually specified on the Details tab." +msgstr "" +"বিবরণ শীর্ষক ট্যাবের মধ্যে আপনার বিশ্বাস সংক্রান্ত তথ্য ব্যবহারকারী দ্বারা " +"উল্লিখিত হবে।" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "_Only display the signatures of people I trust" +msgstr "শুধুমাত্রা বিশ্বস্ত ব্যক্তিদের স্বাক্ষর প্রদর্শন করা হবে (_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "_Revoke Signature" +msgstr "স্বাক্ষর প্রত্যাখ্যান করুন (_R)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Sign this Key" +msgstr "এই কী স্বাক্ষর করুন (_S)" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "সাব-কি %1$d, %2$s-এর" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Optional description of revocation" +msgstr "প্রত্যাহার সম্পর্কে ঐচ্ছিক বিবরণ" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "Re_voke" +msgstr "প্রত্যাহার করুন (_v)" + +#: ../pgp/seahorse-revoke.xml.h:3 +msgid "Reason for revoking the key" +msgstr "কি প্রত্যাহার করার কারণ" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "_Reason:" +msgstr "কারণ (_R):" + +#: ../pgp/seahorse-signer.c:62 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"কোনো নথি অথবা বার্তা স্বাক্ষর করার উদ্দেশ্যে আপনার কোনো ব্যক্তিগত PGP-কি উপস্থিত নেই।" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "How carefully have you checked this key?" +msgstr "এই কী-টি সতর্কভাবে পরীক্ষা করা হয়েছে কি না?" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "How others will see this signature:" +msgstr "অন্যান্যদের জন্য এই কী-টি কীভাবে প্রদর্শন করা হবে:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Sign key as:" +msgstr "কি স্বাক্ষরের :" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone. " +msgstr "" +"সাধারণভাবে: অর্থাৎ কী-এর মালিকানা যাচাই করার উদ্দেশ্যে বিশেষ পরীক্ষা করা " +"হয়নি। উদাহরণস্বরূপ, আপনি ফোনের মাধ্যমে কী-এর মালিকের সাথে কথা বলে কী-এর " +"ফিংগারপ্রিন্ট যাচাই করেছেন। " + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "Key Name" +msgstr "কী-এর নাম" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"যাচাই করা হয়নি: অর্থাৎ কী-মালিকানা সম্পর্কিত তথ্য আপনি বিশ্বাস করেছেন কিন্তু " +"তা যাচাই করার কোনো উদ্যোগ নেওয়া হয়নি।" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"খুব সতর্কভাবে: কী-টির বৈধতা সম্পর্কে সম্পূর্ণরূপে নিশ্চিত হলে এই অপশনটি " +"নির্বাচন করুন।" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"স্বাক্ষর করা হলে, আপনি চিহ্নিত ব্যক্তির অধীন এই কী-এর মালিকানা সম্পর্কে আপনার " +"বিশ্বাস ধার্য করছেন:" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "I can _revoke this signature at a later date." +msgstr "ভবিষ্যতে আমি এই স্বাক্ষর প্রত্যাহার করতে সক্ষম। ( _r)" + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "Sign Key" +msgstr "কী স্বাক্ষর করুন" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"কী-র সাথে যুক্ত নাম যাচাই করার জন্য ছবি সহ কোনো পরিচয় প্রমাণ পত্র (যেমন পাসপোর্ট) " +"ব্যবহার করা যেতে পারে। এই ধরনের পরিচয় পত্র নকল করা কঠিন। উপরন্তু, ই-মেইল দ্বারা " +"মালিকার ই-মেইল ঠিকানা যাচাই করাও বাঞ্ছনীয়।" + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "_Casually" +msgstr "সাধারণভাবে (_C)" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Not at all" +msgstr "যাচাই করা হয়নি (_N)" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "_Others may not see this signature" +msgstr "এই স্বাক্ষর অন্যান্যদের জন্য দৃশ্যমান হবে না (_O)" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "_Sign" +msgstr "স্বাক্ষর করুন (_S)" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "স্বাক্ষরকারী (_S):" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Very Carefully" +msgstr "খুব সতর্কভাবে (_V)" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "কী সহযোগে বার্তা স্বাক্ষর করা হবে (_S)" + +#: ../pkcs11/seahorse-pkcs11-certificate.c:107 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:68 +msgid "Certificate" +msgstr "সার্টিফিকেট" + +#: ../pkcs11/seahorse-pkcs11-commands.c:108 +#, c-format +msgid "Are you sure you want to delete the certificate '%s'?" +msgstr "আপনি কি নিশ্চিতরূপে '%s' সার্টিফিকেট মুছে ফেলতে ইচ্ছুক?" + +#: ../pkcs11/seahorse-pkcs11-commands.c:111 +#, c-format +msgid "Are you sure you want to delete %d certificate?" +msgid_plural "Are you sure you want to delete %d certificates?" +msgstr[0] "আপনি কি নিশ্চিতরূপে %d সার্টিফিকেট মুছে ফেলতে ইচ্ছুক?" +msgstr[1] "আপনি কি নিশ্চিতরূপে %d পাসওয়ার্ড মুছে ফেলতে ইচ্ছুক?" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "পরিচিতি-পংক্তি পরিবর্তন করুন" + +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Con_firm Passphrase:" +msgstr "পরিচয়-পংক্তি নিশ্চিত করুন: (_f)" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "Confirm new passphrase" +msgstr "নতুন পরিচয়-পংক্তি নিশ্চিত করুন" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "New _Passphrase:" +msgstr "নতুন পরিচয়-পংক্তি: (_P)" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "পাসওয়ার্ড ও এনক্রিপশন-কী পরিচালনা করুন" + +#: ../src/seahorse.desktop.in.in.h:2 ../src/seahorse-key-manager.c:857 +msgid "Passwords and Encryption Keys" +msgstr "পাসওয়ার্ড ও এনক্রিপশন কী" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "নির্মাণের উদ্দেশ্যে বস্তুর ধরন নির্ধারণ করুন: (_S)" + +#: ../src/seahorse-generate-select.xml.h:2 +msgid "C_ontinue" +msgstr "এগিয়ে চলুন (_o)" + +#: ../src/seahorse-generate-select.xml.h:3 +msgid "Create New ..." +msgstr "নতুন নির্মাণ করুন..." + +#: ../src/seahorse-key-manager.c:233 ../src/seahorse-keyserver-results.c:108 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "নির্বাচিত %d-টি কী" +msgstr[1] "নির্বাচিত %d-টি কি" + +#: ../src/seahorse-key-manager.c:404 ../src/seahorse-key-manager.c:464 +#: ../src/seahorse-key-manager.c:527 ../src/seahorse-viewer.c:482 +msgid "Couldn't import keys" +msgstr "কী ইম্পোর্ট করতে ব্যর্থ" + +#: ../src/seahorse-key-manager.c:409 ../src/seahorse-viewer.c:487 +msgid "Imported keys" +msgstr "ইম্পোর্ট করা কী" + +#: ../src/seahorse-key-manager.c:458 +msgid "Importing keys" +msgstr "কী ইম্পোর্ট করা হচ্ছে" + +#: ../src/seahorse-key-manager.c:481 ../ssh/seahorse-ssh-operation.c:1017 +msgid "Import Key" +msgstr "কী ইম্পোর্ট করুন" + +#: ../src/seahorse-key-manager.c:527 +msgid "Unrecognized key type, or invalid data format" +msgstr "অপরিচিত ধরনের কি অথবা তারিখের বিন্যাস বৈধ নয়" + +#: ../src/seahorse-key-manager.c:725 ../src/seahorse-keyserver-results.c:207 +msgid "_Remote" +msgstr "দূরবর্তী (_R)" + +#: ../src/seahorse-key-manager.c:727 +msgid "Close this program" +msgstr "এই প্রোগ্রাম বন্ধ করুন" + +#: ../src/seahorse-key-manager.c:728 +msgid "_New..." +msgstr "নতুন...(_N)" + +#: ../src/seahorse-key-manager.c:729 +msgid "Create a new key or item" +msgstr "নতুন কী অথবা আইটেম নির্মাণ করুন" + +#: ../src/seahorse-key-manager.c:730 +msgid "_Import..." +msgstr "ইম্পোর্ট করুন...(_I)" + +#: ../src/seahorse-key-manager.c:731 +msgid "Import from a file" +msgstr "একটি ফাইল থেকে ইম্পোর্ট করুন" + +#: ../src/seahorse-key-manager.c:733 +msgid "Import from the clipboard" +msgstr "ক্লিপ-বোর্ড থেকে ইম্পোর্ট করুন" + +#: ../src/seahorse-key-manager.c:738 ../src/seahorse-keyserver-results.c:217 +msgid "_Find Remote Keys..." +msgstr "দূরবর্তী কী অনুসন্ধান করুন...(_F)" + +#: ../src/seahorse-key-manager.c:739 ../src/seahorse-keyserver-results.c:218 +msgid "Search for keys on a key server" +msgstr "কী-সার্ভারের মধ্যে কি অনুসন্ধান করুন" + +#: ../src/seahorse-key-manager.c:740 +msgid "_Sync and Publish Keys..." +msgstr "কী সুসংগত ও প্রকাশ করুন...(_S)" + +#: ../src/seahorse-key-manager.c:741 +msgid "Publish and/or synchronize your keys with those online." +msgstr "অন-লাইন উপস্থিত কী-এর সাথে আপনার কি সুসংগত এবং/অথবা প্রকাশ করুন।" + +#: ../src/seahorse-key-manager.c:746 +msgid "T_ypes" +msgstr "ধরন (_y)" + +#: ../src/seahorse-key-manager.c:746 +msgid "Show type column" +msgstr "ধরনের কলাম প্রদর্শন করা হবে" + +#: ../src/seahorse-key-manager.c:748 +msgid "_Expiry" +msgstr "মেয়াদ পূর্তী (_E)" + +#: ../src/seahorse-key-manager.c:748 +msgid "Show expiry column" +msgstr "মেয়াদপূর্তীর কলাম প্রদর্শন করা হবে" + +#: ../src/seahorse-key-manager.c:750 +msgid "_Trust" +msgstr "বিশ্বাসের মাত্রা (_T)" + +#: ../src/seahorse-key-manager.c:750 +msgid "Show owner trust column" +msgstr "ব্যবহারকারীর বিশ্বাসের মাত্রা চিহ্নকারী কলাম প্রদর্শন করা হবে" + +#: ../src/seahorse-key-manager.c:752 +msgid "_Validity" +msgstr "বৈধতা (_V)" + +#: ../src/seahorse-key-manager.c:752 +msgid "Show validity column" +msgstr "বৈধতার কলাম প্রদর্শন করা হবে" + +#: ../src/seahorse-key-manager.c:926 +msgid "Filter:" +msgstr "পরিশোধক:" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "প্রথমবার প্রযোজ্য অপশন:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "নিজের ব্যবহারের জন্য একটি নতুন কী নির্মাণ করুন: " + +#: ../src/seahorse-key-manager.xml.h:3 +msgid "Import existing keys from a file:" +msgstr "একটি ফাইল থেকে উপস্থিত কী ইম্পোর্ট করুন: " + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "My _Personal Keys" +msgstr "আমার ব্যক্তিগত কী (_P)" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "Other _Keys" +msgstr "অন্যান্য কী (_K)" + +#: ../src/seahorse-key-manager.xml.h:6 +msgid "To get started with encryption you will need keys." +msgstr "এনক্রিপশন ব্যবহারের জন্য কী-এর উপস্থিতি আবশ্যক।" + +#: ../src/seahorse-key-manager.xml.h:7 ../src/seahorse-viewer.c:546 +msgid "_Import" +msgstr "ইম্পোর্ট করুন (_I)" + +#: ../src/seahorse-key-manager.xml.h:8 +msgid "_Passwords" +msgstr "পাসওয়ার্ড (_P)" + +#: ../src/seahorse-key-manager-store.c:649 ../src/seahorse-viewer.c:282 +msgid "Couldn't export keys" +msgstr "কী এক্সপোর্ট করতে ব্যর্থ" + +#: ../src/seahorse-key-manager-store.c:847 +msgid "Validity" +msgstr "বৈধতা" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:866 +msgid "Expiration Date" +msgstr "মেয়াদপূর্তীর তারিখ" + +#: ../src/seahorse-keyserver-results.c:209 +msgid "Close this window" +msgstr "এই উইন্ডো বন্ধ করুন" + +#: ../src/seahorse-keyserver-results.c:210 +msgid "_Expand All" +msgstr "সমস্ত প্রসারিত করুন (_E)" + +#: ../src/seahorse-keyserver-results.c:211 +msgid "Expand all listings" +msgstr "সকল তালিকা প্রসারিত করুন" + +#: ../src/seahorse-keyserver-results.c:212 +msgid "_Collapse All" +msgstr "সকল সংকুচিত করুন (_C)" + +#: ../src/seahorse-keyserver-results.c:213 +msgid "Collapse all listings" +msgstr "সকল তালিকা সংকুচিত করুন" + +#: ../src/seahorse-keyserver-results.c:275 +msgid "Remote Keys" +msgstr "দূরবর্তী কী" + +#: ../src/seahorse-keyserver-results.c:277 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "'%s' সহ দূরবর্তী কী" + +#: ../src/seahorse-keyserver-search.xml.h:1 +msgid "Key Servers:" +msgstr "কী সার্ভার:" + +#: ../src/seahorse-keyserver-search.xml.h:2 +msgid "Shared Keys Near Me:" +msgstr "নিকটবর্তী যৌথ ব্যবহারের কী:" + +#: ../src/seahorse-keyserver-search.xml.h:3 +msgid "Find Remote Keys" +msgstr "দূরবর্তী কী অনুসন্ধান করুন" + +#: ../src/seahorse-keyserver-search.xml.h:4 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"এর দ্বারা ইন্টারনেটে অন্যান্যদের কী অনুসন্ধান করা হবে এবং এর পরে স্থানীয় কী-রিংয়ের " +"মধ্যে এই কি ইম্পোর্ট করা হবে।" + +#: ../src/seahorse-keyserver-search.xml.h:5 +msgid "Where to search:" +msgstr "অনুসন্ধান স্থল:" + +#: ../src/seahorse-keyserver-search.xml.h:6 +msgid "_Search" +msgstr "অনুসন্ধান (_S)" + +#: ../src/seahorse-keyserver-search.xml.h:7 +msgid "_Search for keys containing: " +msgstr "চিহ্নিত সামগ্রী সহ কী অনুসন্ধান করা হবে: (_S)" + +#: ../src/seahorse-keyserver-sync.c:45 +msgid "Couldn't publish keys to server" +msgstr "সার্ভারে কী প্রকাশ করতে ব্যর্থ" + +#: ../src/seahorse-keyserver-sync.c:61 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "সার্ভার থেকে কি উদ্ধার করতে ব্যর্থ: %s" + +#: ../src/seahorse-keyserver-sync.c:155 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "সুসংগত করার উদ্দেশ্যে %d-টি কী নির্বাচন করা হয়েছে।" +msgstr[1] "সুসংগত করার উদ্দেশ্যে %d-টি কি নির্বাচন করা হয়েছে।" + +#: ../src/seahorse-keyserver-sync.c:216 +msgid "Synchronizing keys" +msgstr "কী সুসংগতি" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:248 +msgid "Synchronizing keys..." +msgstr "কী সুসংগতি..." + +#: ../src/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "কি সুসংগত করুন" + +#: ../src/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"এর ফলে, অন্যান্য ব্যবহারকারীদের দ্বারা প্রয়োগের জন্য আপনার কী-রিংয়ের মধ্যে উপস্থিত " +"সকল কী প্রকাশ করা হবে। অন্যান্য ব্যবহারকারীরা তাদের কী-তে কোনো পরিবর্তন করে থাকলে " +"সেগুলোও আপনি পেতে সক্ষম হবেন।" + +#: ../src/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"অন্যান্য ব্যবহারকারীদের কী পাওয়ার পরে সেগুলোর মধ্যে কোনো পরিবর্তন করা হয়ে থাকলে " +"সংশ্লিষ্ট পরিবর্তনগুলো এর ফলে পাওয়া যাবে। প্রকাশনার জন্য কোনো কী-সার্ভার নির্বাচন " +"করা হয়নি, এর ফলে আপনার কী-গুলো অন্যান্য ব্যবহারকারীদের জন্য বিদ্যমান করা সম্ভব হবে " +"না।" + +#: ../src/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "কী সার্ভার (_K)" + +#: ../src/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "সুসংগত করুন (_S)" + +#: ../src/seahorse-main.c:62 +msgid "Version of this application" +msgstr "এই অ্যাপ্লিকেশনের সংস্করণ সংখ্যা" + +#: ../src/seahorse-main.c:78 ../src/seahorse-viewer.c:170 +msgid "Encryption Key Manager" +msgstr "এনক্রিপশন-কী পরিচালন ব্যবস্থা" + +#: ../src/seahorse-viewer.c:141 +msgid "Contributions:" +msgstr "অংশগ্রহকারী:" + +#: ../src/seahorse-viewer.c:172 +msgid "translator-credits" +msgstr "অঙ্কুর প্রকল্পের পক্ষে, রুণা ভট্টাচার্য্য (runab@redhat.com)\n" +"সঙ্কর্ষণ মুখোপাধ্যায় (sankarshan@randomink.org)\n" +"মারুফ অভি \n" +"ইসরাত জাহান " + +#: ../src/seahorse-viewer.c:175 +msgid "Seahorse Project Homepage" +msgstr "Seahorse প্রজেক্টের হোম-পেজ" + +#. Top menu items +#: ../src/seahorse-viewer.c:194 +msgid "_File" +msgstr "ফাইল (_F)" + +#: ../src/seahorse-viewer.c:195 +msgid "_Edit" +msgstr "সম্পাদনা (_E)" + +#: ../src/seahorse-viewer.c:196 +msgid "_View" +msgstr "প্রদর্শন (_V)" + +#: ../src/seahorse-viewer.c:197 +msgid "_Help" +msgstr "সাহায্য (_H)" + +#: ../src/seahorse-viewer.c:199 +msgid "Prefere_nces" +msgstr "বৈশিষ্ট্যাবলী (_n)" + +#: ../src/seahorse-viewer.c:200 +msgid "Change preferences for this program" +msgstr "এই প্রোগ্রাম সম্পর্কে পছন্দসই মান পরিবর্তন করুন" + +#: ../src/seahorse-viewer.c:203 +msgid "About this program" +msgstr "প্রোগ্রাম পরিচিতি" + +#: ../src/seahorse-viewer.c:204 +msgid "_Contents" +msgstr "সূচী (_C)" + +#: ../src/seahorse-viewer.c:205 +msgid "Show Seahorse help" +msgstr "Seahorse সংক্রান্ত সহায়তা প্রদর্শন করা হবে" + +#: ../src/seahorse-viewer.c:302 +msgid "Export public key" +msgstr "সার্বজনীন-কী এক্সপোর্ট করুন" + +#: ../src/seahorse-viewer.c:320 +msgid "Exporting keys" +msgstr "কী এক্সপোর্ট করা হচ্ছে" + +#: ../src/seahorse-viewer.c:345 +msgid "Couldn't retrieve data from key server" +msgstr "কী-সার্ভার থেকে তথ্য উদ্ধার করতে ব্যর্থ" + +#. Translators: "Copied" is a verb (used as a status indicator), not an adjective for the word "keys" +#: ../src/seahorse-viewer.c:364 +msgid "Copied keys" +msgstr "কী কপি করা হয়েছে" + +#: ../src/seahorse-viewer.c:384 +msgid "Retrieving keys" +msgstr "কী উদ্ধার করা হচ্ছে" + +#: ../src/seahorse-viewer.c:399 +msgid "Couldn't delete." +msgstr "মুছে ফেলতে ব্যর্থ।" + +#: ../src/seahorse-viewer.c:433 +msgid "Deleting..." +msgstr "মুছে ফেলা হচ্ছে..." + +#: ../src/seahorse-viewer.c:459 +#, c-format +msgid "%s is a private key. Are you sure you want to proceed?" +msgstr "%s একটি ব্যক্তিগত কী। আপনি কি নিশ্চিতরূপে এগিয়ে যেতে ইচ্ছুক?" + +#: ../src/seahorse-viewer.c:507 +msgid "Importing keys from key servers" +msgstr "কি সার্ভার থেকে কী ইম্পোর্ট করার প্রণালী" + +#: ../src/seahorse-viewer.c:533 +msgid "Show properties" +msgstr "বৈশিষ্ট্য প্রদর্শন করা হবে" + +#: ../src/seahorse-viewer.c:534 +msgctxt "This text refers to deleting an item from its type's backing store." +msgid "_Delete" +msgstr "মুছে ফেলুন (_D)" + +#: ../src/seahorse-viewer.c:535 +msgid "Delete selected items" +msgstr "নির্বাচিত সামগ্রী মুছে ফেলুন" + +#: ../src/seahorse-viewer.c:539 +msgid "E_xport..." +msgstr "এক্সপোর্ট করুন...(_x)" + +#: ../src/seahorse-viewer.c:540 +msgid "Export to a file" +msgstr "ফাইলের মধ্যে এক্সপোর্ট করুন" + +#: ../src/seahorse-viewer.c:542 +msgid "Copy to the clipboard" +msgstr "ক্লিপ-বোর্ডে অনুলিপি করুন" + +#: ../src/seahorse-viewer.c:547 +msgid "Import selected keys to local key ring" +msgstr "নির্বাচিত কী-গুলো স্থানীয় কী-রিংয়ের মধ্যে ইম্পোর্ট করুন" + +#: ../ssh/seahorse-ssh-askpass.c:99 +msgid "Enter your Secure Shell passphrase:" +msgstr "নিরাপদ শেল পরিচয়-পংক্তি লিখুন:" + +#: ../ssh/seahorse-ssh-commands.c:85 +msgid "Configure Key for _Secure Shell..." +msgstr "নিরাপদ শেলের জন্য কী কনফিগার করুন...(_S)" + +#: ../ssh/seahorse-ssh-commands.c:86 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"সার্বজনীন নিরাপদ শেল কী অন্য একটি মেশিনে পাঠিয়ে দিন ও সংশ্লিষ্ট কী সহযোগে লগ-ইন " +"ব্যবস্থা সক্রিয় করুন।" + +#: ../ssh/seahorse-ssh-commands.c:115 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "আপনি কি নিশ্চিতরূপে '%s'-এর নিরাপদ শেল কী মুছে ফেলতে ইচ্ছুক?" + +#: ../ssh/seahorse-ssh-commands.c:118 +#, c-format +msgid "Are you sure you want to delete %d secure shell keys?" +msgstr "আপনি কি নিশ্চিতরূপে %d-টি নিরাপদ শেল কী মুছে ফেলতে ইচ্ছুক?" + +#: ../ssh/seahorse-ssh-generate.c:59 ../ssh/seahorse-ssh-key.c:91 +#: ../ssh/seahorse-ssh-key.c:95 ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Secure Shell Key" +msgstr "নিরাপদ শেল কী" + +#: ../ssh/seahorse-ssh-generate.c:60 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "অন্যান্য কম্পিউটারের প্রবেশ করতে ব্যবহৃত (উদাহরণ: টার্মিনালের মাধ্যমে)" + +#: ../ssh/seahorse-ssh-generate.c:90 +msgid "Couldn't generate Secure Shell key" +msgstr "নিরাপদ শেল কী নির্মাণ করতে ব্যর্থ" + +#: ../ssh/seahorse-ssh-generate.c:205 +msgid "Creating Secure Shell Key" +msgstr "নিরাপদ শেল কী নির্মাণ করা হচ্ছে" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "" +"Use your email address, and any other reminder you need about what this " +"key is for." +msgstr "" +"এই কি কোন কারণে ব্যবহার করা হবে তা নির্ধারণের জন্য আপনার ই-মেইল ঠিকানা ও " +"অন্যান্য প্রয়োজনীয় তথ্য প্রয়োগ করুন।" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "" +"A Secure Shell (SSH) key lets you connect securely to trusted computers " +"using SSH, without entering a different password for each of them." +msgstr "" +"একটি নিরাপদ শেল (SSH) কী-এর সাহায্যে SSH-এর মাধ্যমে বিশ্বস্ত অন্য কম্পিউটারের সাথে " +"নিরাপদভাবে সংযোগ স্থাপন করা যাবে ও প্রত্যেকটি পৃথক বিশ্বস্ত কম্পিউটারের জন্য পৃথক " +"পাসওয়ার্ড লেখার প্রয়োজন হবে না।" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "" +"If there is already a computer you want to use this key with, you can set up " +"that computer to recognize your key now. " +msgstr "" +"এই কী-টি কোনো কম্পিউটারের সাথে ব্যবহার করতে ইচ্ছুক হলে, সংশ্লিষ্ট কম্পিউটার দ্বারা " +"এই কি সনাক্ত করার উদ্দেশ্যে প্রয়োজনীয় প্রস্তুতি এখন নেওয়া যাবে। " + +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "New Secure Shell Key" +msgstr "নতুন নিরাপদ শেল কী" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "_Create and Set Up" +msgstr "নির্মাণ ও প্রস্তুত করুন (_C)" + +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Just Create Key" +msgstr "শুধুমাত্র কী নির্মাণ করুন (_J)" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "_Key Description:" +msgstr "কী-এর বিবরণ (_K):" + +#: ../ssh/seahorse-ssh-key.c:87 +msgid "(Unreadable Secure Shell Key)" +msgstr "(সিকিউর শেল কী পাঠযোগ্য নয়)" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "Invalid" +msgstr "অকার্যকর" + +#: ../ssh/seahorse-ssh-key.c:116 +msgid "Private Secure Shell Key" +msgstr "গোপনীয় নিরাপদ শেল কী" + +#: ../ssh/seahorse-ssh-key.c:119 +msgid "Public Secure Shell Key" +msgstr "সার্বজনীন নিরাপদ শেল কী" + +#: ../ssh/seahorse-ssh-key-properties.c:71 +msgid "Couldn't rename key." +msgstr "কী-এর নাম পরিবর্তন করা যায়নি।" + +#: ../ssh/seahorse-ssh-key-properties.c:112 +msgid "Couldn't change authorization for key." +msgstr "কী-এর অনুমতি পরিবর্তন করা যায়নি" + +#: ../ssh/seahorse-ssh-key-properties.c:127 +msgid "Couldn't change passphrase for key." +msgstr "কী-র পরিচয়-পংক্তি পরিবর্তন করা যায়নি।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Algorithm:" +msgstr "অ্যালগরিদম:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Identifier:" +msgstr "পরিচয়কারী:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Location:" +msgstr "অবস্থান:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgid "Strength:" +msgstr "ক্ষমতা:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:8 +msgid "Trust" +msgstr "বিশ্বাসের মাত্রা" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:13 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "এটি শুধুমাত্র '%s' অ্যাকাউন্টের ক্ষেত্রে প্রযোজ্য।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "E_xport Complete Key" +msgstr "সম্পূর্ণ কী এক্সপোর্ট করুন (_x)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" +"এই কী-এর মালিক এই কম্পিউটারের সাথে সংযোগ স্থাপন করার উদ্দেশ্যে অনুমোদিত (_a)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "Used to connect to other computers." +msgstr "অন্যান্য কম্পিউটারের সাথে সংযোগ স্থাপন করতে ব্যবহৃত।" + +#: ../ssh/seahorse-ssh-operation.c:143 ../ssh/seahorse-ssh-operation.c:732 +#, c-format +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH কমান্ড অপ্রত্যাশিতভাবে বন্ধ করা হয়েছে।" + +#: ../ssh/seahorse-ssh-operation.c:151 ../ssh/seahorse-ssh-operation.c:739 +msgid "The SSH command failed." +msgstr "SSH কমান্ড বিফল।" + +#: ../ssh/seahorse-ssh-operation.c:445 ../ssh/seahorse-ssh-operation.c:477 +msgid "Secure Shell key" +msgstr "নিরাপদ শেল কী" + +#: ../ssh/seahorse-ssh-operation.c:448 +msgid "Passphrase:" +msgstr "পরিচয়-পংক্তি:" + +#. Just prompt over and over again +#: ../ssh/seahorse-ssh-operation.c:762 +msgid "Remote Host Password" +msgstr "দূরবর্তী হোস্টের পাসওয়ার্ড" + +#: ../ssh/seahorse-ssh-operation.c:850 +msgid "Old Key Passphrase" +msgstr "পুরোনো কী-এর পরিচয়-পংক্তি" + +#: ../ssh/seahorse-ssh-operation.c:851 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "পুরোনো পরিচয়-পংক্তি লিখুন: %s" + +#: ../ssh/seahorse-ssh-operation.c:855 +msgid "New Key Passphrase" +msgstr "নতুন কী-এর পরিচয়-পংক্তি" + +#: ../ssh/seahorse-ssh-operation.c:856 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "নতুন পরিচয়-পংক্তি লিখুন: %s" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Enter Key Passphrase" +msgstr "কী-এর পরিচয়-পংক্তি লিখুন" + +#: ../ssh/seahorse-ssh-operation.c:931 +msgid "Passphrase for New Secure Shell Key" +msgstr "নতুন সিকিউর শেল কী-এর পরিচয়-পংক্তি লিখুন" + +#: ../ssh/seahorse-ssh-operation.c:932 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "নতুন সিকিউর শেল কী-এর পরিচয়-পংক্তি লিখুন।" + +#: ../ssh/seahorse-ssh-operation.c:1013 +#, c-format +msgid "Importing key: %s" +msgstr "কি ইম্পোর্ট করা হচ্ছে: %s" + +#: ../ssh/seahorse-ssh-operation.c:1015 +msgid "Importing key. Enter passphrase" +msgstr "কি ইম্পোর্ট করা হচ্ছে। পরিচয়-পংক্তি লিখুন।" + +#: ../ssh/seahorse-ssh-source.c:825 +msgid "No private key file is available for this key." +msgstr "এই কী-এর জন্য কোনো গোপনীয় কী-এর ফাইল উপস্থিত নেই।" + +#: ../ssh/seahorse-ssh-upload.c:45 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "দূরবর্তী কম্পিউটারের মধ্যে নিরাপদ শেল কী কনফিগার করতে ব্যর্থ।" + +#. Show the progress window if necessary +#: ../ssh/seahorse-ssh-upload.c:181 +msgid "Configuring Secure Shell Keys..." +msgstr "নিরাপদ শেল কী কনফিগার করা হচ্ছে..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "eg: fileserver.example.com:port" +msgstr "উদাহরণ: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "SSH সংযোগের জন্য কম্পিউটার প্রস্তুত করুন" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"SSH প্রয়োগকারী অন্য কোনো কম্পিউটারের সাথে আপনার নিরাপদ শেল কী ব্যবহার করতে ইচ্ছুক " +"হলে, সংশ্লিষ্ট কম্পিউটারের মধ্যে আপনার একটি লগ-ইন অ্যাকাউন্ট উপস্থিত থাকা আবশ্যক।" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "কম্পিউটারের নাম: (_C)" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "লগ-ইন নাম: (_L)" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "সেট আপ (_S)" + +#~ msgid "Seahorse Daemon" +#~ msgstr "Seahorse ডেমন" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "সুসংগতির উদ্দেশ্যে X-টি কি নির্বাচন করা হয়েছে" + +#~ msgid "" +#~ "One or more of the deleted keys are private keys. Are you sure you want " +#~ "to proceed?" +#~ msgstr "" +#~ "এক অথবা একাধিক ব্যক্তিগত কি মুছে ফেলা হয়েছে। আপনি কি নিশ্চিতরূপে এগিয়ে যেতে " +#~ "ইচ্ছুক?" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/nate/.ssh/blah_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" diff --git a/po/bn_IN.po b/po/bn_IN.po new file mode 100644 index 00000000..3762a1da --- /dev/null +++ b/po/bn_IN.po @@ -0,0 +1,3088 @@ +# translation of bn_IN.po to Bengali INDIA +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Runa Bhattacharjee , 2007. +# Runa Bhattacharjee , 2008. +# Sankarshan Mukhopadhyay , 2008. +# Runa Bhattacharjee , 2008, 2009, 2011. +msgid "" +msgstr "" +"Project-Id-Version: bn_IN\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." +"cgi?product=seahorse&component=general\n" +"POT-Creation-Date: 2011-01-19 20:34+0000\n" +"PO-Revision-Date: 2011-03-24 19:23+0530\n" +"Last-Translator: Runa Bhattacharjee \n" +"Language-Team: Bengali (India) \n" +"Language: bn_IN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"\n" +"X-Generator: Lokalize 1.1\n" + +#: ../daemon/seahorse-daemon.c:64 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "seahorse-daemon ডেমন রূপে সঞ্চালন করা হবে না" + +#: ../daemon/seahorse-daemon.c:94 +msgid "couldn't fork process" +msgstr "প্রসেস fork (ফর্ক) করা সম্ভব হয়নি" + +#: ../daemon/seahorse-daemon.c:100 +msgid "couldn't create new process group" +msgstr "নতুন প্রসেস সংকলন নির্মাণ করতে ব্যর্থ" + +#: ../daemon/seahorse-daemon.c:250 +msgid "Encryption Daemon (Seahorse)" +msgstr "এনক্রিপশন ডেমন (Seahorse)" + +#: ../daemon/seahorse-service.c:164 ../daemon/seahorse-service.c:277 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "অবৈধ অথবা অজানা কি-র ধরন: %s" + +#: ../daemon/seahorse-service.c:234 +#, c-format +#| msgid "This key expired on: %s" +msgid "This keytype is not supported: %s" +msgstr "এই keytype সমর্থিত নয়: %s" + +#: ../daemon/seahorse-service.c:241 +#, c-format +msgid "Support for this feature was not enabled at build time" +msgstr "বিল্ড করার সময় এই বৈশিষ্ট্য সমর্থনের বৈশিষ্ট্য সক্রিয় করা হয়নি" + +#: ../daemon/seahorse-service.c:341 ../daemon/seahorse-service-keyset.c:180 +#: ../daemon/seahorse-service-keyset.c:223 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "অবৈধ অথবা অজানা কি: %s" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:204 +#, c-format +msgid "Signed by expired on %s." +msgstr " দ্বারা স্বাক্ষরিত। এটি মেয়াদ পূর্ণ হয়েছে %s-এ।" + +#: ../daemon/seahorse-service-crypto.c:205 +msgid "Invalid Signature" +msgstr "অবৈধ স্বাক্ষর" + +#: ../daemon/seahorse-service-crypto.c:211 +#, c-format +msgid "Signed by on %s Expired." +msgstr " দ্বারা স্বাক্ষরিত। %s-এ এটির মেয়াদ পূর্ণ হয়েছে।" + +#: ../daemon/seahorse-service-crypto.c:212 +msgid "Expired Signature" +msgstr "মেয়াদ উত্তীর্ণ স্বাক্ষর" + +#: ../daemon/seahorse-service-crypto.c:218 +#, c-format +msgid "Signed by Revoked on %s." +msgstr "যেটি দিয়ে স্বাক্ষর করা হয়েছে বাতিল করার তারিখ %s।" + +#: ../daemon/seahorse-service-crypto.c:219 +msgid "Revoked Signature" +msgstr "বাতিল করা স্বাক্ষর" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:225 +#, c-format +msgid "Signed by on %s." +msgstr " দ্বারা %s-এ স্বাক্ষর করা হয়েছে।" + +#: ../daemon/seahorse-service-crypto.c:226 +msgid "Good Signature" +msgstr "বৈধ স্বাক্ষর" + +#: ../daemon/seahorse-service-crypto.c:231 +msgid "Signing key not in keyring." +msgstr "স্বাক্ষরে ব্যবহৃত কি কি রিং এ অনুপস্থিত।" + +#: ../daemon/seahorse-service-crypto.c:232 +msgid "Unknown Signature" +msgstr "অজানা স্বাক্ষর" + +#: ../daemon/seahorse-service-crypto.c:236 +msgid "Bad or forged signature. The signed data was modified." +msgstr "অবৈধ বা জাল স্বাক্ষর। স্বাক্ষর করা তথ্যের পরিবর্তন ঘটেছে।" + +#: ../daemon/seahorse-service-crypto.c:237 +msgid "Bad Signature" +msgstr "অবৈধ স্বাক্ষর" + +#: ../daemon/seahorse-service-crypto.c:245 +msgid "Couldn't verify signature." +msgstr "স্বাক্ষর যাচাই করা সম্ভব হয়নি।" + +#: ../daemon/seahorse-service-crypto.c:317 +#: ../daemon/seahorse-service-crypto.c:646 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "অবৈধ অথবা অজানা স্বাক্ষরকারী: %s" + +#: ../daemon/seahorse-service-crypto.c:324 +#: ../daemon/seahorse-service-crypto.c:653 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "স্বাক্ষর করার উদ্দেশ্যে, কি বৈধ নয়: %s" + +#: ../daemon/seahorse-service-crypto.c:335 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "অবৈধ অথবা অজানা প্রাপক: %s" + +#: ../daemon/seahorse-service-crypto.c:343 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "এনক্রিপশনপর জন্য এই কি-টি বৈধ প্রাপক নয়: %s" + +#: ../daemon/seahorse-service-crypto.c:352 +#, c-format +msgid "No recipients specified" +msgstr "প্রাপক নির্ধারণ করা হয়নি" + +#: ../daemon/seahorse-service-crypto.c:434 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "ডিক্রিপশনের জন্য অবৈধ প্রকৃতির কি: %s" + +#: ../daemon/seahorse-service-crypto.c:548 +#: ../daemon/seahorse-service-crypto.c:746 +#, c-format +msgid "Please set clearuri" +msgstr "অনুগ্রহ করে clearuri নির্ধারণ করুন" + +#: ../daemon/seahorse-service-crypto.c:554 +#: ../daemon/seahorse-service-crypto.c:752 +#, c-format +msgid "Please set crypturi" +msgstr "অনুগ্রহ করে crypturi নির্ধারণ করুন" + +#: ../daemon/seahorse-service-crypto.c:564 +#, c-format +msgid "Error opening clearuri" +msgstr "clearuri খুলতে ত্রুটি" + +#: ../daemon/seahorse-service-crypto.c:641 +#, c-format +msgid "No signer specified" +msgstr "স্বাক্ষরকারী নির্ধারণ করা হয়নি" + +#: ../daemon/seahorse-service-crypto.c:830 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "পরীক্ষণের জন্য অবৈধ প্রকৃতির কি: %s" + +#: ../daemon/seahorse-service-keyset.c:273 +#, c-format +msgid "Invalid key id: %s" +msgstr "কি-র id অবৈধ: %s" + +#: ../data/seahorse.schemas.in.h:1 +msgid "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." +msgstr "" +"দূরবর্তী কি খোঁজার জন্য কি সার্ভার-এর URI-এর তালিকা। পরবর্তী সংস্করণে একটি নাম যোগ " +"করা সম্ভব হতে পারে একটি ফাঁকা স্থানের পরে নাম যোগ করে।" + +#: ../data/seahorse.schemas.in.h:2 +msgid "Auto Retrieve Keys" +msgstr "স্বয়ংক্রিয়ভাবে কি পুনরুদ্ধার করা হবে" + +#: ../data/seahorse.schemas.in.h:3 +msgid "Auto Sync Keys" +msgstr "স্বয়ংক্রিয়ভাবে কি সুংগত করা হবে" + +#: ../data/seahorse.schemas.in.h:4 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "কি পরিচালন ব্যবস্থার মেয়াদপূর্তী কলামের প্রদর্শন নিয়ন্ত্রণ করা হয়।" + +#: ../data/seahorse.schemas.in.h:5 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "কি পরিচালন ব্যবস্থার বিশ্বস্ততা কলামের প্রদর্শন নিয়ন্ত্রণ করা হয়।" + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the type column for the key manager." +msgstr "কি পরিচালন ব্যবস্থার প্রকৃতি কলামের প্রদর্শন নিয়ন্ত্রণ করা হয়।" + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "কি পরিচালন ব্যবস্থার বৈধতা কলামের প্রদর্শন নিয়ন্ত্রণ করা হয়।" + +#: ../data/seahorse.schemas.in.h:8 +msgid "Enable DNS-SD sharing" +msgstr "DNS-SD শেয়ার সক্রিয় করা হবে" + +#: ../data/seahorse.schemas.in.h:9 +msgid "" +"Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +"running and must be built with HKP and DNS-SD support." +msgstr "" +"DNS-SD (Apple Bonjour) শেয়ার সক্রিয় করা হবে। seahorse-daemon সক্রিয় থাকা " +"প্রয়োজনীয় এবং HKP ও DNS-SD সাথে প্রস্তুত করা দরকার।" + +#: ../data/seahorse.schemas.in.h:10 +msgid "ID of the default key" +msgstr "ডিফল্ট কি-র ID" + +#: ../data/seahorse.schemas.in.h:11 +msgid "" +"If set to true, then files encrypted with seahorse will be ASCII armor " +"encoded." +msgstr "মান সত্য (true) হলে, seahorse দ্বারা এনক্রিপ্ট করা ফাইল ASCII আর্মার এনকোডেড হবে।" + +#: ../data/seahorse.schemas.in.h:12 +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "মান সত্য (true) হলে ডিফল্ট কি সবসময় এনক্রিপশন প্রাপকদের তালিকায় যুক্ত হবে।" + +#: ../data/seahorse.schemas.in.h:13 +msgid "Last key server search pattern" +msgstr "সর্বশেষ কি সার্ভার খোঁজের বিন্যাস" + +#: ../data/seahorse.schemas.in.h:14 +msgid "Last key servers used" +msgstr "সর্বশেষ ব্যবহৃত কি-সার্ভার" + +#: ../data/seahorse.schemas.in.h:15 +msgid "Last key used to sign a message." +msgstr "বার্তা স্বাক্ষর করার উদ্দেশ্যে সর্বশেষ ব্যবহৃত কি।" + +#: ../data/seahorse.schemas.in.h:16 +msgid "PGP Key servers" +msgstr "PGP-কি সার্ভার" + +#: ../data/seahorse.schemas.in.h:17 +msgid "Publish keys to this key server." +msgstr "চিহ্নিত কি-সার্ভারে উপস্থিত কি প্রকাশিত করা হবে।" + +#: ../data/seahorse.schemas.in.h:18 +msgid "Show expires column in key manager" +msgstr "কি পরিচালনব্যবস্থার অধীন মেয়াদপূর্তীর কলাম প্রদর্শন করা হবে" + +#: ../data/seahorse.schemas.in.h:19 +msgid "Show trust column in key manager" +msgstr "কি পরিচালনব্যবস্থার অধীন বিশ্বস্ততার কলাম প্রদর্শন করা হবে" + +#: ../data/seahorse.schemas.in.h:20 +msgid "Show type column in key manager" +msgstr "কি পরিচালনব্যবস্থার অধীন প্রকৃতি কলাম প্রদর্শন করা হবে" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Show validity column in key manager" +msgstr "কি পরিচালনব্যবস্থার অধীন বৈধতা কলাম প্রদর্শন করা হবে" + +#: ../data/seahorse.schemas.in.h:22 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name' and " +"'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "" +"প্রাপক তালিকার উইন্ডোর ক্রমবিন্যাস করতে ব্যবহারযোগ্য কলাম নির্ধারণ করুন। কলামের নাম " +"হল: 'name' ও 'id'। বড় থেকে ছোট অনুক্রমে সুবিন্যাস্ত করার জন্য কলামের নামের পূর্বে " +"'-' লিখুন।" + +#: ../data/seahorse.schemas.in.h:23 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." +msgstr "" +"seahorse কি পরিচালনব্যবস্থার প্রধান উইন্ডো সুবিন্যস্ত করার জন্য ব্যবহারযোগ্য কলাম " +"চিহ্নিত করুন। উপলব্ধ কলামগুলি হল: 'name', 'id', 'validity', 'expires', 'trust', " +"ও 'type'। বিপরীত দিশায় ক্রমবিন্যাস নির্ধারণের জন্য কলামের নামের পূর্বে একটি '-' " +"চিহ্ন সংযুক্ত করুন।" + +#: ../data/seahorse.schemas.in.h:24 +msgid "The ID of the last secret key used to sign a message." +msgstr "শেষবার যে গোপন কি দিয়ে এই বার্তা স্বাক্ষর করা হয়েছে তার ID।" + +#: ../data/seahorse.schemas.in.h:25 +msgid "The column to sort the recipients by" +msgstr "প্রাপক তালিকার ক্রমবিন্যাস নির্ধারণের জন্য ব্যবহৃত কলাম" + +#: ../data/seahorse.schemas.in.h:26 +msgid "The column to sort the seahorse keys by" +msgstr "seahorse-কি তালিকার ক্রমবিন্যাস নির্ধারণের জন্য ব্যবহৃত কলাম" + +#: ../data/seahorse.schemas.in.h:27 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"যে কি সার্ভার-এ PGP কি প্রকাশ করা হবে। অথবা PGP কি-এর প্রকাশ বন্ধ করার জন্য মুছে " +"ফেলুন।" + +#: ../data/seahorse.schemas.in.h:28 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"অনুসন্ধানের জন্য ব্যবহৃত সর্বশেষ কি-সার্ভার অথবা সকল কি-সার্ভারে অনুসন্ধানের জন্য ফাঁকা " +"রাখুন।" + +#: ../data/seahorse.schemas.in.h:29 +msgid "The last search pattern searched for against a key server." +msgstr "কি-সার্ভারে অনুসন্ধানের জন্য সর্বশেষ ব্যবহৃত বিন্যাস।" + +#: ../data/seahorse.schemas.in.h:30 +msgid "This specifies the default key to use for certain operations, mainly signing." +msgstr "" +"সুনির্দিষ্ট কর্ম, মূলত স্বাক্ষর করার জন্য ব্যবহারযোগ্য ডিফল্ট-কি এর দ্বারা নির্ধারিত হবে।" + +#: ../data/seahorse.schemas.in.h:31 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "কি-সার্ভার থেকে স্বয়ংক্রিয়রূপে কি প্রাপ্ত করা হবে কি না।" + +#: ../data/seahorse.schemas.in.h:32 +msgid "" +"Whether or not modified keys should be automatically synced with the default " +"key server." +msgstr "পরিবর্তিত কি-গুলি ডিফল্ট কি-সার্ভারের সাথে সুসংগত করা হবে কি না।" + +#: ../data/seahorse.schemas.in.h:33 +msgid "Whether to always encrypt to default key" +msgstr "ডিফল্ট-কি দ্বারা সর্বদা এনক্রিপ্ট করা হবে কি না" + +#: ../data/seahorse.schemas.in.h:34 +msgid "Whether to use ASCII Armor" +msgstr "ASCII Armor ব্যবহার করা হবে কি না" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "পাসওয়ার্ড কি রিং যোগ করুন" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "নতুন কি-রিংয়ের নাম:" + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"অনুগ্রহ করে নতুন কি-রিংয়ের নাম নির্বাচন করুন। আন-লক করার জন্য পাসওয়ার্ড লেখার অনুরোধ " +"জানানো হবে।" + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "সার্ভারের হোস্ট-নেম অথবা ঠিকানা।" + +#: ../gkr/seahorse-gkr-add-item.c:61 ../gkr/seahorse-gkr-add-keyring.c:73 +msgid "Couldn't add keyring" +msgstr "কি-রিং যোগ করতে ব্যর্থ" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +msgid "Add Password" +msgstr "পাসওয়ার্ড যোগ করুন" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:15 ../pgp/seahorse-revoke.xml.h:5 +msgid "_Description:" +msgstr "বিবরণ :(_D)" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Keyring:" +msgstr "কি-রিং: (_K)" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Password:" +msgstr "পাসওয়ার্ড: (_P)" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +msgid "_Show Password" +msgstr "পাসওয়ার্ড প্রদর্শন করা হবে (_S)" + +#: ../gkr/seahorse-gkr-item.c:470 +msgid "Web Password" +msgstr "ওয়েব পাসওয়ার্ড" + +#: ../gkr/seahorse-gkr-item.c:472 +msgid "Network Password" +msgstr "নেটওয়ার্ক পাসওয়ার্ড" + +#: ../gkr/seahorse-gkr-item.c:474 ../gkr/seahorse-gkr-item-properties.c:107 +msgid "Password" +msgstr "পাসওয়ার্ড" + +#: ../gkr/seahorse-gkr-item-commands.c:78 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "আপনি কি নিশ্চিতরূপে '%s' পাসওয়ার্ড মুছে ফেলতে ইচ্ছুক?" + +#: ../gkr/seahorse-gkr-item-commands.c:81 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "আপনি কি নিশ্চিতরূপে %d পাসওয়ার্ড মুছে ফেলতে ইচ্ছুক?" +msgstr[1] "আপনি কি নিশ্চিতরূপে %d পাসওয়ার্ড মুছে ফেলতে ইচ্ছুক?" + +#: ../gkr/seahorse-gkr-item-properties.c:66 +msgid "Access a network share or resource" +msgstr "একটি নেটওয়ার্ক শেয়ার বা তথ্যসমূহের সাথে সংযোগ স্থাপন করুন" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a website" +msgstr "একটি ওয়েবসাইট-এর সাথে সংযোগ স্থাপন করুন" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Unlocks a PGP key" +msgstr "একটি PGP কি খুলুন" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a Secure Shell key" +msgstr "একটি Secure Shell কি খুলুন" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Saved password or login" +msgstr "সংরক্ষিত পাসওয়ার্ড বা লগ-ইন" + +#: ../gkr/seahorse-gkr-item-properties.c:102 +msgid "Network Credentials" +msgstr "নেটওয়ার্ক-এর বৈশিষ্ট্য" + +#: ../gkr/seahorse-gkr-item-properties.c:245 +msgid "Couldn't change password." +msgstr "পাসওয়ার্ড পরিবর্তন করা সম্ভব হয়নি।" + +#: ../gkr/seahorse-gkr-item-properties.c:350 +msgid "Couldn't set description." +msgstr "বর্ণনা স্থাপন করা সম্ভব হয়নি।" + +#: ../gkr/seahorse-gkr-item-properties.c:654 +msgid "Couldn't set application access." +msgstr "অ্যাপ্লিকেশন-এর সংযোগ স্থাপন সম্ভব হয়নি।" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +msgid "Password:" +msgstr "পাসওয়ার্ড:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 +msgid "Path:" +msgstr "পথ: " + +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +msgid "Permissions:" +msgstr "অনুমতি: " + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Technical Details:" +msgstr "প্রযুক্তি বৈশিষ্ট্য:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Applications" +msgstr "অ্যাপ্লিকেশন সমূহ" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:22 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Details" +msgstr "বর্ণনা" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Key" +msgstr "কি" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Key Properties" +msgstr "কি-র বৈশিষ্ট্য" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +msgid "Login:" +msgstr "লগ-ইন:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +msgid "Server:" +msgstr "সার্ভার:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +msgid "Show pass_word" +msgstr "পাসওয়ার্ড প্রদর্শন করুন(_w)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +msgid "Type:" +msgstr "ধরন:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:14 +msgid "Use:" +msgstr "ব্যবহার করুন:" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:17 +msgid "_Read" +msgstr "পাঠ (_R)" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:19 +msgid "_Write" +msgstr "লিখুন(_W)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:20 +#| msgid "_Delete" +msgctxt "infinitive" +msgid "_Delete" +msgstr "মুছে ফেলুন (_D)" + +#: ../gkr/seahorse-gkr-keyring.c:193 +msgid "Listing passwords" +msgstr "পাসওয়ার্ড-এর তালিকা প্রস্তুতি" + +#: ../gkr/seahorse-gkr-keyring.c:354 +#, c-format +msgid "Passwords: %s" +msgstr "পাসওয়ার্ড: %s" + +#: ../gkr/seahorse-gkr-keyring.c:355 +#, c-format +msgid "Passwords: %s" +msgstr "পাসওয়ার্ড:: %s" + +#: ../gkr/seahorse-gkr-keyring-commands.c:119 +msgid "Password Keyring" +msgstr "পাসওয়ার্ডের কি-রিং" + +#: ../gkr/seahorse-gkr-keyring-commands.c:120 +msgid "Used to store application and network passwords" +msgstr "অ্যাপ্লিকেশন ও নেটওয়ার্কের পাসওয়ার্ড সংরক্ষণ করতে ব্যবহৃত হয়" + +#: ../gkr/seahorse-gkr-keyring-commands.c:121 +msgid "Stored Password" +msgstr "সংরক্ষিত পাসওয়ার্ড" + +#: ../gkr/seahorse-gkr-keyring-commands.c:122 +msgid "Safely store a password or secret." +msgstr "পাসওয়ার্ড অথবা গোপন তথ্য নিরাপদভাবে সংরক্ষণ করুন।" + +#: ../gkr/seahorse-gkr-keyring-commands.c:136 +msgid "Couldn't unlock keyring" +msgstr "কি-রিং আন-লক করতে ব্যর্থ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:177 +msgid "Couldn't lock keyring" +msgstr "কি-রিং লক করতে ব্যর্থ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:218 +msgid "Couldn't set default keyring" +msgstr "ডিফল্ট কি-রিং নির্ধারণ করতে ব্যর্থ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:257 +msgid "Couldn't change keyring password" +msgstr "কি-রিং পাসওয়ার্ড পরিবর্তন করতে ব্যর্থ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:288 +msgid "_Lock" +msgstr "লক করুন (_L)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:289 +msgid "" +"Lock the password storage keyring so a master password is required to unlock " +"it." +msgstr "" +"পাসওয়ার্ড সংরক্ষণের কি-রিংটি লক করে দিন। এর ফলে এটি আন-লক করার জন্য একটি প্রধান " +"পাসওয়ার্ড ব্যবহার করা আবশ্যক হবে।" + +#: ../gkr/seahorse-gkr-keyring-commands.c:290 +msgid "_Unlock" +msgstr "আন-লক করুন (_U)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:291 +msgid "" +"Unlock the password storage keyring with a master password so it is " +"available for use." +msgstr "" +"পাসওয়ার্ড সংরক্ষণের কি-রিংটি ব্যবহারের জন্য উপলব্ধ করার উদ্দেশ্যে একটি প্রধান " +"পাসওয়ার্ড সহযোগে তা আন-লক করুন।" + +#: ../gkr/seahorse-gkr-keyring-commands.c:292 +msgid "_Set as default" +msgstr "ডিফল্ট রূপে নির্ধারণ করুন (_S)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:293 +msgid "Applications usually store new passwords in the default keyring." +msgstr "" +"অ্যাপ্লিকেশনগুলি দ্বারা সাধারণত ডিফল্ট কি-রিংয়ের মধ্যে নতুন পাসওয়ার্ড সংরক্ষণ করা হবে।" + +#: ../gkr/seahorse-gkr-keyring-commands.c:294 +msgid "Change _Password" +msgstr "পাসওয়ার্ড পরিবর্তন করুন (_P)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:295 +msgid "Change the unlock password of the password storage keyring" +msgstr "পাসওয়ার্ড সংরক্ষণের কি-রিং আন-লক করার পাসওয়ার্ড পরিবর্তন করুন" + +#: ../gkr/seahorse-gkr-keyring-commands.c:360 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "আপনি কি নিশ্চিতরূপে '%s' পাসওয়ার্ড কি-রিং মুছে ফেলতে ইচ্ছুক?" + +#. ----------------------------------------------------------------------------- +#. * PUBLIC +#. +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Created:" +msgstr "নিমার্ণের সময়কাল:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +msgid "Keyring" +msgstr "কি-রিং" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring Properties" +msgstr "কি-রিংয়ের বৈশিষ্ট্য" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "_Name:" +msgstr "নাম: (_N)" + +#: ../gkr/seahorse-gkr-operation.c:168 +msgid "Access to the key ring was denied" +msgstr "কি রিং-এর সাথে সংযোগস্থাপন করতে দেওয়া হয়নি" + +#: ../gkr/seahorse-gkr-operation.c:171 +msgid "The gnome-keyring daemon is not running" +msgstr "gnome-keyring ডেমন স্বক্রিয় নয়" + +#: ../gkr/seahorse-gkr-operation.c:174 +msgid "The key ring has already been unlocked" +msgstr "কি রিং-টি খোলা অবস্থায় রয়েছে" + +#: ../gkr/seahorse-gkr-operation.c:177 +msgid "No such key ring exists" +msgstr "ঐ নামের কি রিং অনুপস্থিত" + +#: ../gkr/seahorse-gkr-operation.c:180 +msgid "Couldn't communicate with key ring daemon" +msgstr "কি রিং ডেমন-এর সাথে সংযোগস্থাপন করা সম্ভব হয়নি" + +#: ../gkr/seahorse-gkr-operation.c:183 +msgid "The item already exists" +msgstr "এই বস্তুটি বর্তমানে উপস্থিত" + +#: ../gkr/seahorse-gkr-operation.c:189 +msgid "Internal error accessing gnome-keyring" +msgstr "gnome-keyring ব্যবহার করতে অভ্যন্তরীণ সমস্যা" + +#: ../gkr/seahorse-gkr-operation.c:238 ../gkr/seahorse-gkr-operation.c:264 +msgid "Saving item..." +msgstr "সংরক্ষণ করা হচ্ছে..." + +#: ../gkr/seahorse-gkr-operation.c:300 +msgid "Deleting item..." +msgstr "বস্তু মুছে ফেলা হচ্ছে..." + +#: ../gkr/seahorse-gkr-operation.c:325 +msgid "Deleting keyring..." +msgstr "কি-রিং মুছে ফেলা হচ্ছে..." + +#: ../gkr/seahorse-gkr-source.c:234 +msgid "Listing password keyrings" +msgstr "পাসওয়ার্ড কি-রিংয়ের তালিকা প্রস্তুতি" + +#: ../libcryptui/cryptui.c:272 +msgid "" +"No encryption keys were found with which to perform the operation you " +"requested. The program Passwords and Encryption Keys will now be " +"started so that you may either create a key or import one." +msgstr "।" + +#: ../libcryptui/cryptui-key-chooser.c:174 +#: ../libcryptui/cryptui-key-chooser.c:179 +msgid "All Keys" +msgstr "সর্বধরনের কি" + +#: ../libcryptui/cryptui-key-chooser.c:175 +#: ../libcryptui/cryptui-key-chooser.c:180 +msgid "Selected Recipients" +msgstr "নির্বাচিত প্রাপক" + +#: ../libcryptui/cryptui-key-chooser.c:176 +#: ../libcryptui/cryptui-key-chooser.c:181 +msgid "Search Results" +msgstr "অনুসন্ধানের ফলাফল" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:192 +msgid "Search _for:" +msgstr "অনুসন্ধান করা হবে: (_f)" + +#: ../libcryptui/cryptui-key-chooser.c:250 +msgid "None (Don't Sign)" +msgstr "শূণ্য (স্বাক্ষর করা হবে না)" + +#: ../libcryptui/cryptui-key-chooser.c:263 +#, c-format +msgid "Sign this message as %s" +msgstr "%s রূপে বার্তা স্বাক্ষর করা হবে" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:285 +msgid "_Sign message as:" +msgstr "বার্তা স্বাক্ষরের জন্য ব্যবহৃত হবে: (_S)" + +#. TODO: Icons +#. The name column +#: ../libcryptui/cryptui-key-list.c:140 +#: ../pgp/seahorse-pgp-key-properties.c:839 +#: ../src/seahorse-key-manager-store.c:865 +msgid "Name" +msgstr "নাম" + +#. The keyid column +#: ../libcryptui/cryptui-key-list.c:145 +#: ../pgp/seahorse-pgp-key-properties.c:1745 +#: ../src/seahorse-key-manager-store.c:877 +msgid "Key ID" +msgstr "কি-র ID" + +#: ../libegg/egg-datetime.c:325 +msgid "Display flags" +msgstr "বৈশিষ্ট্য প্রদর্শন করুন" + +#: ../libegg/egg-datetime.c:326 +msgid "Displayed date and/or time properties" +msgstr "তারিখ এবং/অথবা সময় সংক্রান্ত প্রদর্শিত বৈশিষ্ট্য" + +#: ../libegg/egg-datetime.c:331 +msgid "Lazy mode" +msgstr "অলস মোড" + +#: ../libegg/egg-datetime.c:332 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "তারিখ ও সময়ের অন্তর্ভুক্ত তথ্যগুলি লেজি মোডে নর্মেলাইজ করা হয় না" + +#: ../libegg/egg-datetime.c:337 +msgid "Year" +msgstr "সাল" + +#: ../libegg/egg-datetime.c:338 +msgid "Displayed year" +msgstr "প্রদর্শিত বৎসর" + +#: ../libegg/egg-datetime.c:343 +msgid "Month" +msgstr "মাস" + +#: ../libegg/egg-datetime.c:344 +msgid "Displayed month" +msgstr "প্রদর্শিত মাস" + +#: ../libegg/egg-datetime.c:349 +msgid "Day" +msgstr "দিন" + +#: ../libegg/egg-datetime.c:350 +msgid "Displayed day of month" +msgstr "মাসের প্রদর্শিত দিন" + +#: ../libegg/egg-datetime.c:355 +msgid "Hour" +msgstr "ঘন্টা" + +#: ../libegg/egg-datetime.c:356 +msgid "Displayed hour" +msgstr "প্রদর্শিত ঘন্টা" + +#: ../libegg/egg-datetime.c:361 +msgid "Minute" +msgstr "মিনিট" + +#: ../libegg/egg-datetime.c:362 +msgid "Displayed minute" +msgstr "প্রদর্শিত মিনিট" + +#: ../libegg/egg-datetime.c:367 +msgid "Second" +msgstr "সেকন্ড" + +#: ../libegg/egg-datetime.c:368 +msgid "Displayed second" +msgstr "প্রদর্শিত সেকেন্ড" + +#: ../libegg/egg-datetime.c:373 +msgid "Lower limit year" +msgstr "বৎসরের সর্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:374 +msgid "Year part of the lower date limit" +msgstr "তারিখের সর্বনিম্ন মানের মধ্যে বৎসরের অংশ" + +#: ../libegg/egg-datetime.c:379 +msgid "Upper limit year" +msgstr "বৎসরের সর্বাধিক মান" + +#: ../libegg/egg-datetime.c:380 +msgid "Year part of the upper date limit" +msgstr "তারিখের সর্বাধিক মানের মধ্যে বৎসরের অংশ" + +#: ../libegg/egg-datetime.c:385 +msgid "Lower limit month" +msgstr "মাসের সর্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:386 +msgid "Month part of the lower date limit" +msgstr "তারিখের সর্বনিম্ন মানের মধ্যে মাসের অংশ" + +#: ../libegg/egg-datetime.c:391 +msgid "Upper limit month" +msgstr "মাসের সর্বাধিক মান" + +#: ../libegg/egg-datetime.c:392 +msgid "Month part of the upper date limit" +msgstr "তারিখের সর্বাধিক মানের মধ্যে মাসের অংশ" + +#: ../libegg/egg-datetime.c:397 +msgid "Lower limit day" +msgstr "দিনের সর্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:398 +msgid "Day of month part of the lower date limit" +msgstr "তারিখের সর্বনিম্ন মানের মধ্যে মাসের দিনের অংশ" + +#: ../libegg/egg-datetime.c:403 +msgid "Upper limit day" +msgstr "দিনের সর্বাধিক মান" + +#: ../libegg/egg-datetime.c:404 +msgid "Day of month part of the upper date limit" +msgstr "তারিখের সর্বাধিক মানের মধ্যে মাসের দিনের অংশ" + +#: ../libegg/egg-datetime.c:409 +msgid "Lower limit hour" +msgstr "ঘন্টার সর্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:410 +msgid "Hour part of the lower time limit" +msgstr "তারিখের সর্বনিম্ন মানের মধ্যে ঘন্টার অংশ" + +#: ../libegg/egg-datetime.c:415 +msgid "Upper limit hour" +msgstr "ঘন্টার সর্বাধিক মান" + +#: ../libegg/egg-datetime.c:416 +msgid "Hour part of the upper time limit" +msgstr "তারিখের সর্বাধিক মানের মধ্যে ঘন্টার অংশ" + +#: ../libegg/egg-datetime.c:421 +msgid "Lower limit minute" +msgstr "মিনিটের সর্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:422 +msgid "Minute part of the lower time limit" +msgstr "তারিখের সর্বনিম্ন মানের মধ্যে মিনিটের অংশ" + +#: ../libegg/egg-datetime.c:427 +msgid "Upper limit minute" +msgstr "মিনিটের সর্বাধিক মান" + +#: ../libegg/egg-datetime.c:428 +msgid "Minute part of the upper time limit" +msgstr "তারিখের সর্বাধিক মানের মধ্যে মিনিটের অংশ" + +#: ../libegg/egg-datetime.c:433 +msgid "Lower limit second" +msgstr "সেকেন্ডের সর্বনিম্ন মান" + +#: ../libegg/egg-datetime.c:434 +msgid "Second part of the lower time limit" +msgstr "তারিখের সর্বনিম্ন মানের মধ্যে সেকেন্ডের অংশ" + +#: ../libegg/egg-datetime.c:439 +msgid "Upper limit second" +msgstr "সেকেন্ডের সর্বাধিক মান" + +#: ../libegg/egg-datetime.c:440 +msgid "Second part of the upper time limit" +msgstr "তারিখের সর্বাধিক মানের মধ্যে সেকেন্ডের অংশ" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:482 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:504 +msgid "Date" +msgstr "দিন" + +#: ../libegg/egg-datetime.c:504 +msgid "Enter the date directly" +msgstr "সরাসরি তারিখ লিখুন" + +#: ../libegg/egg-datetime.c:511 +msgid "Select Date" +msgstr "তারিখ নির্বাচন করুন" + +#: ../libegg/egg-datetime.c:511 +msgid "Select the date from a calendar" +msgstr "বর্ষপঞ্জি থেকে তারিখ নির্বাচন করুন" + +#: ../libegg/egg-datetime.c:529 ../libegg/egg-datetime.c:2213 +msgid "Time" +msgstr "সময়" + +#: ../libegg/egg-datetime.c:529 +msgid "Enter the time directly" +msgstr "সরাসরি সময় লিখুন" + +#: ../libegg/egg-datetime.c:536 +msgid "Select Time" +msgstr "সময় নির্বাচন করুন" + +#: ../libegg/egg-datetime.c:536 +msgid "Select the time from a list" +msgstr "তালিকা থেকে সময় নির্বাচন করুন" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:810 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:814 ../libegg/egg-datetime.c:1274 +#: ../libegg/egg-datetime.c:1278 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:816 ../libegg/egg-datetime.c:1275 +#: ../libegg/egg-datetime.c:1282 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:824 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:827 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:831 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:834 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1190 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1255 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libegg/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "এটি বৈধ .desktop ফাইল নয়" + +#: ../libegg/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "ডেস্কটপ ফাইলের অজ্ঞাত সংস্করণ '%s'" + +#: ../libegg/eggdesktopfile.c:968 +#, c-format +msgid "Starting %s" +msgstr "%s আরম্ভ করা হচ্ছে" + +#: ../libegg/eggdesktopfile.c:1110 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "অ্যাপ্লিকেশন দ্বারা কমান্ড-লাইনের মাধ্যমে নথিপত্র গ্রহণ করা হয় না" + +#: ../libegg/eggdesktopfile.c:1178 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "প্রারম্ভিক বিকল্প অজানা: %d" + +#: ../libegg/eggdesktopfile.c:1383 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "'Type=Link' ডেস্কটপ এনট্রির ক্ষেত্রে নথিপত্রের URI উল্লেখ করা সম্ভব নয়" + +#: ../libegg/eggdesktopfile.c:1404 +#, c-format +msgid "Not a launchable item" +msgstr "প্রারম্ভ করার যোগ্য বস্তু নয়" + +#: ../libegg/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "সেশান পরিচালনব্যবস্থার সাথে সংযোগ বিচ্ছিন্ন করা হবে" + +#: ../libegg/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "সংরক্ষিত কনফিগারেশন ধারণকারী ফাইল উল্লেখ করুন" + +#: ../libegg/eggsmclient.c:228 +msgid "FILE" +msgstr "FILE" + +#: ../libegg/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "সেশান পরিচালনার ID উল্লেখ করুন" + +#: ../libegg/eggsmclient.c:231 ../pgp/seahorse-pgp-key-properties.c:1314 +msgid "ID" +msgstr "ID" + +#: ../libegg/eggsmclient.c:252 +msgid "Session management options:" +msgstr "সেশান পরিচালনা সংক্রান্ত বিকল্প:" + +#: ../libegg/eggsmclient.c:253 +msgid "Show session management options" +msgstr "সেশান পরিচালনা সংক্রান্ত বিকল্প প্রদর্শন করা হবে" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "কি-সার্ভার যোগ করুন" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Host:" +msgstr "হোস্ট:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Key Server Type:" +msgstr "কি-সার্ভারের ধরন:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid "The port to access the server on." +msgstr "সার্ভার ব্যবহারের জন্য চিহ্নিত পোর্ট।" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "initial temporary item" +msgstr "প্রারম্ভিক অস্থায়ী বস্তু" + +#: ../libseahorse/seahorse-notification.c:576 +#: ../libseahorse/seahorse-notification.c:604 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "কি ইম্পোর্ট করা হয়েছে" +msgstr[1] "কি ইম্পোর্ট করা হয়েছে" + +#: ../libseahorse/seahorse-notification.c:580 +#: ../libseahorse/seahorse-notification.c:603 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "%i-টি কি ইম্পোর্ট করা হয়েছে" +msgstr[1] "%i-টি কি ইম্পোর্ট করা হয়েছে" + +#: ../libseahorse/seahorse-notification.c:582 +#, c-format +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "চিহ্নিত বস্তুর জন্য কি ইম্পোর্ট করা হয়েছে" +msgstr[1] "চিহ্নিত বস্তুর জন্য কি ইম্পোর্ট করা হয়েছে" + +#: ../libseahorse/seahorse-notify.xml.h:1 +msgid "Notification Messages" +msgstr "সূচনামূলক বার্তা" + +#: ../libseahorse/seahorse-object.c:317 +msgid "Symmetric Key" +msgstr "সিমেট্রিক কি" + +#: ../libseahorse/seahorse-object.c:320 +msgid "Public Key" +msgstr "সার্বজনীন কি" + +#: ../libseahorse/seahorse-object.c:323 +msgid "Private Key" +msgstr "ব্যক্তিগত-কি" + +#: ../libseahorse/seahorse-object.c:326 +msgid "Credentials" +msgstr "পরিচিতি তথ্য" + +#. +#. * Translators: "This object is a means of storing items such as +#. * name, email address, etc. that make up one's digital identity. +#. +#: ../libseahorse/seahorse-object.c:333 +msgid "Identity" +msgstr "পরিচয়" + +#: ../libseahorse/seahorse-passphrase.c:200 +msgid "Passphrase" +msgstr "পরিচিত-পংক্তি" + +#: ../libseahorse/seahorse-passphrase.c:203 +#: ../ssh/seahorse-ssh-operation.c:480 +msgid "Password:" +msgstr "পাসওয়ার্ড:" + +#: ../libseahorse/seahorse-passphrase.c:269 +msgid "Confirm:" +msgstr "নিশ্চায়ণ:" + +#: ../libseahorse/seahorse-prefs.c:62 +msgid "Not a valid Key Server address." +msgstr "কি সার্ভারের বৈধ ঠিকানা নয়" + +#: ../libseahorse/seahorse-prefs.c:63 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "" +"সাহায্যের জন্য সিস্টেম অ্যাডমিনিস্ট্রেটর অথবা কি-সার্ভারের অ্যাডমিনিস্ট্রেটরের সাথে " +"যোগাযোগ করুন।" + +#: ../libseahorse/seahorse-prefs.c:172 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:352 +msgid "Custom" +msgstr "স্বনির্ধারিত" + +#: ../libseahorse/seahorse-prefs.c:425 +msgid "None: Don't publish keys" +msgstr "শূণ্য: কি প্রকাশ করা হবে না" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Automatically retrieve keys from _key servers" +msgstr "কি-রিং থেকে স্বয়ংক্রিয়ভাবে কি প্রাপ্ত করতে ব্যর্থ (_k)" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "পরিবর্তিত কি-গুলি স্বয়ংক্রিয়ভাবে কি-সার্ভারের সাথে সুসংগত করা হবে (_m)" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "Key Servers" +msgstr "কি-সার্ভার" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Preferences" +msgstr "পছন্দ" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "_Find keys via:" +msgstr "কি অনুসন্ধানের মাধ্যম: (_F)" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "_Publish keys to:" +msgstr "চিহ্নিত কি-সার্ভারে উপস্থিত কি প্রকাশিত করা হবে: (_P)" + +#: ../libseahorse/seahorse-progress.xml.h:1 +msgid "Progress Title" +msgstr "প্রগতিসূচক শিরোনাম" + +#: ../libseahorse/seahorse-unknown.c:67 +msgid "Unavailable" +msgstr "উপলব্ধ নয়" + +#: ../libseahorse/seahorse-util.c:240 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-util.c:516 +msgid "Key Data" +msgstr "কি-র তথ্য" + +#: ../libseahorse/seahorse-util.c:518 +msgid "Multiple Keys" +msgstr "একাধিক কি" + +#: ../libseahorse/seahorse-util.c:774 +msgid "Couldn't run file-roller" +msgstr "file-roller সঞ্চালন করতে ব্যর্থ" + +#: ../libseahorse/seahorse-util.c:780 +msgid "Couldn't package files" +msgstr "ফাইল প্যাকেজ করতে ব্যর্থ" + +#: ../libseahorse/seahorse-util.c:781 +msgid "The file-roller process did not complete successfully" +msgstr "file-roller-র কর্ম সাফল্যের সাথে সমাপ্ত হয়নি" + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:957 +msgid "All key files" +msgstr "সর্বধরনের কি-র ফাইল" + +#: ../libseahorse/seahorse-util.c:968 ../libseahorse/seahorse-util.c:1016 +#: ../pgp/seahorse-gpgme-photos.c:242 +msgid "All files" +msgstr "সর্বধরনের ফাইল" + +#: ../libseahorse/seahorse-util.c:1009 +msgid "Archive files" +msgstr "আর্কাইভ ফাইল" + +#: ../libseahorse/seahorse-util.c:1079 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" +"এই নামের একটি ফাইল বর্তমানে উপস্থিত রয়েছে।\n" +"\n" +"এই ফাইলটির পরিবর্তে নতুন ফাইলটি স্থাপন করা হবে কি?" + +#: ../libseahorse/seahorse-util.c:1082 +msgid "_Replace" +msgstr "প্রতিস্থাপন (_R)" + +#: ../libseahorse/seahorse-validity.c:40 ../pgp/seahorse-gpgme-subkey.c:197 +#: ../pgp/seahorse-pgp-key-properties.c:1133 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +msgid "Unknown" +msgstr "অজানা" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1139 +msgctxt "Validity" +msgid "Never" +msgstr "কখনো নয়" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-key-properties.c:1146 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Marginal" +msgstr "আংশিক" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-key-properties.c:1152 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Full" +msgstr "সম্পূর্ণ" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-key-properties.c:1158 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "Ultimate" +msgstr "সর্বাধিক" + +#: ../libseahorse/seahorse-validity.c:50 +#: ../pgp/seahorse-pgp-key-properties.c:1351 +msgid "Disabled" +msgstr "নিষ্ক্রিয়" + +#: ../libseahorse/seahorse-validity.c:52 +#: ../pgp/seahorse-pgp-key-properties.c:1347 +msgid "Revoked" +msgstr "প্রত্যাখ্যাত" + +#: ../libseahorse/seahorse-widget.c:480 +#, c-format +msgid "Could not display help: %s" +msgstr "সহায়ক তথ্য প্রদর্শন করতে ব্যর্থ: %s" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Expiration Date:" +msgstr "মেয়াদপূর্তীর তারিখ:" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "Generate a new subkey" +msgstr "নতুন সাব-কি নির্মাণ করুন" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +msgid "If key never expires" +msgstr "কি-র মেয়াদ কখনো পূর্ণ না হলে" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "কি-র দৈর্ঘ্য: (_L)" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Key _Type:" +msgstr "কি-র ধরন: (_T)" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "কি-র দৈর্ঘ্য" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Never E_xpires" +msgstr "মেয়াদ পূর্ণ হবে না (_x)" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "ব্যবহারকারীর ID যোগ করুন" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Create the new user ID" +msgstr "নতুন ব্যবহারকারীর ID তৈরি করুন" + +#: ../pgp/seahorse-add-uid.xml.h:3 ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Full _Name:" +msgstr "সম্পূর্ণ নাম: (_N)" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Key Co_mment:" +msgstr "কি সংক্রান্ত বিবৃতি: (_m)" + +#: ../pgp/seahorse-add-uid.xml.h:5 +msgid "Must be at least 5 characters long" +msgstr "অন্তত ৫ অক্ষর বিশিষ্ট হওয়া আবশ্যক" + +#: ../pgp/seahorse-add-uid.xml.h:6 +msgid "Optional comment describing key" +msgstr "কি-র বিবরণ উল্লেখকারী বিবৃতি (ঐচ্ছিক)" + +#: ../pgp/seahorse-add-uid.xml.h:7 +msgid "Optional email address" +msgstr "ই-মেইল ঠিকানা (ঐচ্ছিক)" + +#: ../pgp/seahorse-add-uid.xml.h:8 ../pgp/seahorse-pgp-generate.xml.h:13 +msgid "_Email Address:" +msgstr "ই-মেইল ঠিকানা: (_E)" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "C_hange" +msgstr "পরিবর্তন করুন (_h)" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:4 +msgid "Revoke key" +msgstr "কি প্রত্যাখ্যান করুন" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "_Never expires" +msgstr "মেয়াদ পূর্ণ হবে না (_N)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:147 +msgid "Couldn't add subkey" +msgstr "সাব-কি যোগ করা যায়নি" + +#: ../pgp/seahorse-gpgme-add-subkey.c:166 +#, c-format +msgid "Add subkey to %s" +msgstr "%s-এ সাব-কি যোগ করুন" + +#: ../pgp/seahorse-gpgme-add-subkey.c:182 ../pgp/seahorse-gpgme-generate.c:118 +msgid "DSA (sign only)" +msgstr "DSA (শুধুমাত্র স্বাক্ষর)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:190 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (শুধুমাত্র এনক্রিপশন)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:196 ../pgp/seahorse-gpgme-generate.c:119 +msgid "RSA (sign only)" +msgstr "RSA (শুধুমাত্র স্বাক্ষর)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:202 +msgid "RSA (encrypt only)" +msgstr "RSA (শুধুমাত্র এনক্রিপশন)" + +#: ../pgp/seahorse-gpgme-add-uid.c:85 +msgid "Couldn't add user id" +msgstr "ব্যবহারকারীর id যোগ করতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-add-uid.c:107 +#, c-format +msgid "Add user ID to %s" +msgstr "%s-এ ব্যবহারকারীর ID যোগ করুন" + +#: ../pgp/seahorse-gpgme.c:72 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "ডিক্রিপশন করতে ব্যর্থ। সম্ভবত ডিক্রিপশন-কি উপস্থিত নেই।" + +#: ../pgp/seahorse-gpgme-expires.c:58 +msgid "Invalid expiry date" +msgstr "মেয়াদপূর্তীর তারিখ বৈধ নয়" + +#: ../pgp/seahorse-gpgme-expires.c:59 +msgid "The expiry date must be in the future" +msgstr "মেয়াদপূর্তীর ক্ষেত্রে ভবিষ্যতের একটি তারিখ নির্ধারণ করা আবশ্যক" + +#: ../pgp/seahorse-gpgme-expires.c:72 +msgid "Couldn't change expiry date" +msgstr "মেয়াদপূর্তীর তারিখ পরিবর্তন করতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-expires.c:131 +#, c-format +msgid "Expiry: %s" +msgstr "মেয়াদপূর্তী: %s" + +#: ../pgp/seahorse-gpgme-generate.c:79 +msgid "PGP Key" +msgstr "PGP-কি" + +#: ../pgp/seahorse-gpgme-generate.c:80 +msgid "Used to encrypt email and files" +msgstr "ই-মেইল ও ফাইল এনক্রিপ্ট করতে ব্যবহৃত" + +#: ../pgp/seahorse-gpgme-generate.c:116 ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:117 +msgid "DSA Elgamal" +msgstr "DSA Elgamal" + +#: ../pgp/seahorse-gpgme-generate.c:135 +msgid "Couldn't generate PGP key" +msgstr "PGP-কি নির্মাণ করতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-generate.c:195 +msgid "Passphrase for New PGP Key" +msgstr "নতুন PGP-কির পরিচয়-পংক্তি" + +#: ../pgp/seahorse-gpgme-generate.c:196 +msgid "Enter the passphrase for your new key twice." +msgstr "নতুন কি-র পরিচয়-পংক্তি দুইবার লেখা আবশ্যক।" + +#: ../pgp/seahorse-gpgme-generate.c:205 +msgid "Couldn't generate key" +msgstr "কি নির্মাণ করতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-generate.c:207 +msgid "Generating key" +msgstr "কি নির্মাণ করতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-key-op.c:301 +#| msgid "Show pass_word" +msgid "Wrong password" +msgstr "ভুল পাসওয়ার্ড" + +#: ../pgp/seahorse-gpgme-key-op.c:301 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "এই নিয়ে তৃতীয় বার ভুল পাসওয়ার্ড লেখা হয়েছে। অনুগ্রহ করে পুনরায় প্রয়াস করুন।" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"ফোটোর মাপ অত্যন্ত বড়\n" +"কি-র জন্য ফোটোর প্রস্তাবিত মান হল %d x %d পিক্সেল।" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "মাপ পরিবর্তন করা হবে না (_D)" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "মান পরিবর্তন করা হবে (_R)" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"এটি সম্ভবত ছবির ফাইল নয় অথবা পরিচিত ধরনের ছবির ফাইল নয়। JPEG ছবির ব্যবহারের " +"প্রয়াস করুন।" + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "সর্বধরনের ছবির ফাইল" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "সর্বধরনের JPEG ফাইল" + +#: ../pgp/seahorse-gpgme-photos.c:261 +msgid "Choose Photo to Add to Key" +msgstr "কি-র সাথে যোগ করার উদ্দেশ্যে ফোটো নির্বাচন করুন" + +#: ../pgp/seahorse-gpgme-photos.c:290 ../pgp/seahorse-gpgme-photos.c:294 +msgid "Couldn't add photo" +msgstr "ছবি যোগ করতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-photos.c:291 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "ফাইল লোড করা যায়নি। সম্ভবত বৈধ বিন্যাস নয়।" + +#: ../pgp/seahorse-gpgme-photos.c:320 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "আপনি কি নিশ্চিতরূপে কি থেকে বর্তমান ফোটো মুছে ফেলতে ইচ্ছুক?" + +#: ../pgp/seahorse-gpgme-photos.c:333 +msgid "Couldn't delete photo" +msgstr "ছবি মুছে ফেলতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-revoke.c:70 +msgid "Couldn't revoke subkey" +msgstr "সাব-কি প্রত্যাখ্যান করতে ব্যর্থ" + +#: ../pgp/seahorse-gpgme-revoke.c:91 +#, c-format +msgid "Revoke: %s" +msgstr "প্রত্যাখ্যান করুন: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:102 +msgid "No reason" +msgstr "কারণ বিনা" + +#: ../pgp/seahorse-gpgme-revoke.c:103 +msgid "No reason for revoking key" +msgstr "কি প্রত্যাখ্যানের কোনো কারণ নেই" + +#: ../pgp/seahorse-gpgme-revoke.c:109 +msgid "Compromised" +msgstr "ক্ষতিগ্রস্ত" + +#: ../pgp/seahorse-gpgme-revoke.c:110 +msgid "Key has been compromised" +msgstr "এই কি ক্ষতিগ্রস্ত হয়েছে" + +#: ../pgp/seahorse-gpgme-revoke.c:116 +msgid "Superseded" +msgstr "অতিক্রান্ত" + +#: ../pgp/seahorse-gpgme-revoke.c:117 +msgid "Key has been superseded" +msgstr "এই কি অতিক্রান্ত করা হয়েছে" + +#: ../pgp/seahorse-gpgme-revoke.c:123 +msgid "Not Used" +msgstr "ব্যবহৃত নয়" + +#: ../pgp/seahorse-gpgme-revoke.c:124 +msgid "Key is no longer used" +msgstr "এই কি এখন ব্যবহত হয় না" + +#: ../pgp/seahorse-gpgme-revoke.c:161 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"আপনি %s-কে %s-র প্রত্যাহারকারী রূপে যোগ করতে চলেছেন। এই কর্ম নাকচ করা যাবে না! " +"আপনি কি নিশ্চিতরূপে এগিয়ে যেতে ইচ্ছুক?" + +#: ../pgp/seahorse-gpgme-revoke.c:173 +msgid "Couldn't add revoker" +msgstr "প্রত্যাহারকারী যোগ করা যায়নি" + +#: ../pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" +"এই কি পূর্বেই\n" +"\"%s\" দ্বারা স্বাক্ষরিত হয়েছে" + +#: ../pgp/seahorse-gpgme-sign.c:103 +msgid "Couldn't sign key" +msgstr "কি স্বাক্ষর করতে ব্যর্থ" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:157 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "স্বাক্ষরের জন্য কোনো কি ব্যবহারযোগ্য নয়" + +#: ../pgp/seahorse-gpgme-sign.c:158 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"এই কি-র প্রতি আপনার বিশ্বাসের মাত্রা দর্শানোর উদ্দেশ্যে আপনার কোনো ব্যক্তিগত PGP-কি " +"উপস্থিত নেই।" + +#: ../pgp/seahorse-gpgme-source.c:99 +#, c-format +msgid "Wrong passphrase." +msgstr "ভুল পরিচিতি-পংক্তি।" + +#: ../pgp/seahorse-gpgme-source.c:103 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "'%s'-র জন্য নতুন পরিচিতি-পংক্তি লিখুন" + +#: ../pgp/seahorse-gpgme-source.c:105 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "'%s'-র পরিচিতি-পংক্তি লিখুন" + +#: ../pgp/seahorse-gpgme-source.c:108 +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Enter new passphrase" +msgstr "নতুন পরিচিতি-পংক্তি লিখুন" + +#: ../pgp/seahorse-gpgme-source.c:110 +msgid "Enter passphrase" +msgstr "পরিচিতি-পংক্তি লিখুন" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../pgp/seahorse-gpgme-source.c:722 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d-টি কি লোড করা হয়েছে" +msgstr[1] "%d-টি কি লোড করা হয়েছে" + +#: ../pgp/seahorse-gpgme-source.c:777 +msgid "Loading Keys..." +msgstr "কি লোড করা হচ্ছে..." + +#: ../pgp/seahorse-gpgme-source.c:820 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"কি-র তথ্য বৈধ নয় (UID অনুপস্থিত)। ভবিষ্যতের তারিখ বহনকারী কোনো কম্পিউটার অথবা " +"স্বয়ং করা স্বাক্ষরের অনুপস্থিতির ফলে এই সমস্যা দেখা দিতে পারে।" + +#: ../pgp/seahorse-gpgme-source.c:910 ../src/seahorse-key-manager.c:544 +msgid "Importing Keys" +msgstr "কি ইম্পোর্ট করা হচ্ছে" + +#: ../pgp/seahorse-gpgme-source.c:946 +msgid "Exporting Keys" +msgstr "কি এক্সপোর্ট করা হচ্ছে" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:387 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "সুনির্দিষ্ট অনুসন্ধান প্রয়োগ করা হয়নি। '%s' সার্ভার দ্বারা একাধিক কি সনাক্ত হয়েছে।" + +#: ../pgp/seahorse-hkp-source.c:389 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "'%s' সার্ভারের সাথে সংযোগ স্থাপন করতে ব্যর্থ: %s" + +#: ../pgp/seahorse-hkp-source.c:671 +msgid "Searching for keys..." +msgstr "কি অনুসন্ধান করা হচ্ছে..." + +#: ../pgp/seahorse-hkp-source.c:759 +msgid "Uploading keys..." +msgstr "কি আপলোড করা হচ্ছে..." + +#: ../pgp/seahorse-hkp-source.c:857 +msgid "Retrieving keys..." +msgstr "কি পুনরুদ্ধার করা হচ্ছে..." + +#: ../pgp/seahorse-hkp-source.c:987 +#, c-format +msgid "Searching for keys on: %s" +msgstr "চিহ্নিত স্থানে কি অনুসন্ধান করা হচ্ছে: %s" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../pgp/seahorse-hkp-source.c:1072 ../pgp/seahorse-hkp-source.c:1154 +#: ../pgp/seahorse-ldap-source.c:668 +#, c-format +msgid "Connecting to: %s" +msgstr "সংযোগ স্থাপন করা হচ্ছে: %s" + +#: ../pgp/seahorse-hkp-source.c:1184 +msgid "HTTP Key Server" +msgstr "HTTP কি-সার্ভার" + +#: ../pgp/seahorse-ldap-source.c:459 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "'%s'-র সাথে সংযোগ করতে ব্যর্থ: %s" + +#: ../pgp/seahorse-ldap-source.c:641 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "চিহ্নিত ঠিকানা মীমাংসা করতে ব্যর্থ: %s" + +#: ../pgp/seahorse-ldap-source.c:719 +#, c-format +msgid "Resolving server address: %s" +msgstr "সার্ভারের ঠিকানা মীমাংসা করতে ব্যর্থ: %s" + +#: ../pgp/seahorse-ldap-source.c:955 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "'%s' সহ কি অনুসন্ধান করা হবে..." + +#: ../pgp/seahorse-ldap-source.c:983 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "কি-id '%s' অনুসন্ধান করুন..." + +#: ../pgp/seahorse-ldap-source.c:1089 +msgid "Retrieving remote keys..." +msgstr "দূরবর্তী-কি উদ্ধার করা হচ্ছে..." + +#: ../pgp/seahorse-ldap-source.c:1221 +msgid "Sending keys to key server..." +msgstr "কি-সার্ভারে কি পাঠানো হচ্ছে..." + +#: ../pgp/seahorse-ldap-source.c:1423 +msgid "LDAP Key Server" +msgstr "LDAP কি-সার্ভার" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "_Sign Key..." +msgstr "কি স্বাক্ষর করুন...(_S)" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "Sign public key" +msgstr "সার্বজনীন-কি স্বাক্ষর করুন" + +#: ../pgp/seahorse-pgp-commands.c:171 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "আপনি কি নিশ্চিতরূপে %s স্থায়ীভাবে মুছে ফেলতে ইচ্ছুক?" + +#: ../pgp/seahorse-pgp-commands.c:176 +#, c-format +msgid "Are you sure you want to permanently delete %d keys and identities?" +msgstr "আপনি কি নিশ্চিতরূপে %d কি ও পরিচয় স্থায়ীভাবে মুছে ফেলতে ইচ্ছুক?" + +#: ../pgp/seahorse-pgp-commands.c:178 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgstr "আপনি কি নিশ্চিতরূপে %d-টি কি স্থায়ীভাবে মুছে ফেলতে ইচ্ছুক?" + +#: ../pgp/seahorse-pgp-commands.c:180 +#, c-format +msgid "Are you sure you want to permanently delete %d identities?" +msgstr "আপনি কি নিশ্চিতরূপে %d-টি পরিচয় স্থায়ীভাবে মুছে ফেলতে ইচ্ছুক?" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "_Advanced key options" +msgstr "কি সংক্রান্ত উন্নত বিকল্প (_A)" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP কি-র সাহায্যে অন্যান্য ব্যক্তিদের পাঠানো ই-মেইল ও ফাইল এনক্রিপ্ট করা যাবে।" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "Algorithms here" +msgstr "এখানে অ্যালগোরিদম" + +#: ../pgp/seahorse-pgp-generate.xml.h:4 +msgid "C_reate" +msgstr "নির্মাণ করুন (_r)" + +#: ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "E_xpiration Date:" +msgstr "মেয়াদপূর্তীর তারিখ: (_x)" + +#: ../pgp/seahorse-pgp-generate.xml.h:6 ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "Encryption _Type:" +msgstr "এনক্রিপশনের ধরন: (_T)" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Generate a new key" +msgstr "একটি নতুন কি নির্মাণ করুন" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Key _Strength (bits):" +msgstr "কি-র ক্ষমতা (বিট): (_S)" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +msgid "Ne_ver Expires" +msgstr "মেয়াদ পূর্ণ হয় না (_v)" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "New PGP Key" +msgstr "নতুন PGP-কি" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +msgid "_Comment:" +msgstr "বিবৃতি: (_C)" + +#: ../pgp/seahorse-pgp-key.c:201 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +msgid "Private PGP Key" +msgstr "ব্যক্তিগত PGP-কি" + +#: ../pgp/seahorse-pgp-key.c:204 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "Public PGP Key" +msgstr "সার্বজনীন PGP-কি" + +#: ../pgp/seahorse-pgp-key.c:583 ../pgp/seahorse-pgp-key-properties.c:1349 +msgid "Expired" +msgstr "মেয়াদ উত্তীর্ণ" + +#: ../pgp/seahorse-pgp-key-properties.c:224 +msgid "Couldn't change primary user ID" +msgstr "ব্যবহারকারীর প্রধান ID পরিবর্তন করা যায়নি" + +#: ../pgp/seahorse-pgp-key-properties.c:241 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "আপনি কি নিশ্চিতরূপে '%s' ব্যবহারকারীর ID স্থায়ীভাবে মুছে ফেলতে ইচ্ছুক?" + +#: ../pgp/seahorse-pgp-key-properties.c:251 +msgid "Couldn't delete user ID" +msgstr "ব্যবহারকারীর ID মুছে ফেলতে ব্যর্থ" + +#: ../pgp/seahorse-pgp-key-properties.c:333 +#: ../pgp/seahorse-pgp-key-properties.c:1464 +msgid "[Unknown]" +msgstr "[অজানা]" + +#: ../pgp/seahorse-pgp-key-properties.c:426 +#: ../pgp/seahorse-pgp-key-properties.c:1742 +msgid "Name/Email" +msgstr "নাম/ই-মেইল" + +#: ../pgp/seahorse-pgp-key-properties.c:431 +msgid "Signature ID" +msgstr "স্বাক্ষরের ID" + +#: ../pgp/seahorse-pgp-key-properties.c:552 +msgid "Couldn't change primary photo" +msgstr "প্রধান ফোটো পরিবর্তন করতে ব্যর্থ" + +#: ../pgp/seahorse-pgp-key-properties.c:775 +msgid "(unknown)" +msgstr "(অজানা)" + +#: ../pgp/seahorse-pgp-key-properties.c:778 +#, c-format +msgid "This key expired on: %s" +msgstr "কি-র মেয়াদপূর্তীর তারিখ: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:946 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "আপনি কি নিশ্চিতরূপে সাব-কি %d, %s-র সাব-কি স্থায়ী রূপে মুছে ফেলতে ইচ্ছুক?" + +#: ../pgp/seahorse-pgp-key-properties.c:955 +msgid "Couldn't delete subkey" +msgstr "সাব-কি মুছে ফেলতে ব্যর্থ" + +#: ../pgp/seahorse-pgp-key-properties.c:991 +#: ../pgp/seahorse-pgp-key-properties.c:1427 +msgid "Unable to change trust" +msgstr "বিশ্বাসের তথ্য পরিবর্তন করতে ব্যর্থ" + +#: ../pgp/seahorse-pgp-key-properties.c:1006 ../src/seahorse-viewer.c:290 +#: ../ssh/seahorse-ssh-key-properties.c:168 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "\"%s\"-এ কি এক্সপোর্ট করতে ব্যর্থ" + +#: ../pgp/seahorse-pgp-key-properties.c:1035 +#: ../ssh/seahorse-ssh-key-properties.c:193 +msgid "Export Complete Key" +msgstr "সম্পূর্ণ কি এক্সপোর্ট করুন" + +#: ../pgp/seahorse-pgp-key-properties.c:1060 +#: ../ssh/seahorse-ssh-key-properties.c:215 +msgid "Couldn't export key." +msgstr "কি এক্সপোর্ট করতে বিফল।" + +#: ../pgp/seahorse-pgp-key-properties.c:1267 +#: ../pgp/seahorse-pgp-key-properties.c:1356 +msgctxt "Expires" +msgid "Never" +msgstr "কখনো নয়" + +#. The key type column +#: ../pgp/seahorse-pgp-key-properties.c:1317 +#: ../src/seahorse-key-manager-store.c:896 +msgid "Type" +msgstr "ধরন" + +#: ../pgp/seahorse-pgp-key-properties.c:1320 +msgid "Created" +msgstr "নির্মাণের তারিখ" + +#: ../pgp/seahorse-pgp-key-properties.c:1323 +msgid "Expires" +msgstr "মেয়াদপূর্তী" + +#: ../pgp/seahorse-pgp-key-properties.c:1326 +msgid "Status" +msgstr "অবস্থা" + +#: ../pgp/seahorse-pgp-key-properties.c:1329 +msgid "Strength" +msgstr "ক্ষমতা" + +#: ../pgp/seahorse-pgp-key-properties.c:1353 +msgid "Good" +msgstr "ভাল" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +msgid "Actions" +msgstr "কর্ম" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgid "Comment:" +msgstr "বিবৃতি:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgid "Dates" +msgstr "তারিখ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgid "Email:" +msgstr "ই-মেইল:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgid "Fingerprint" +msgstr "ফিঙ্গার-প্রিন্ট" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +msgid "Key ID:" +msgstr "কি-র ID:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +msgid "Key Names and Signatures" +msgstr "কি-র নাম ও স্বাক্ষর" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "Photo " +msgstr "ছবি " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +msgid "Technical Details" +msgstr "প্রযুক্তিগত বিবরণ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has been revoked" +msgstr "চিহ্নিত কি প্রত্যাখ্যাত হয়েছে" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:10 +msgid "This key has expired" +msgstr "চিহ্নিত কি-র মেয়াদ পূর্ণ হয়েছে" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Type:" +msgstr "ধরন:" + +#. To translators: This is the noun not the verb. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Use:" +msgstr "ব্যবহার:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:15 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgid "_Subkeys" +msgstr "সাব-কি (_S)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +msgid "Add" +msgstr "যোগ করুন" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +msgid "Add a photo to this key" +msgstr "কি-র জন্য ছবি যোগ করুন" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:18 +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +msgid "Change _Passphrase" +msgstr "পরিচয়-পংক্তি পরিবর্তন করুন (_P)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +msgid "Decrypt files and email sent to you." +msgstr "আপনার দ্বারা প্রাপ্ত ফাইল ও ই-মেইল ডি-ক্রিপ্ট করা হবে।" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +msgid "Delete" +msgstr "মুছে ফেলুন" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +msgid "Expire" +msgstr "মেয়াদপূর্তী" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Expires:" +msgstr "মেয়াদপূর্তী:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Export" +msgstr "এক্সপোর্ট করুন" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +msgid "Go to next photo" +msgstr "পরবর্তী ছবিতে এগিয়ে চলুন" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +msgid "Go to previous photo" +msgstr "পূর্ববর্তী ছবিতে পিছিয়ে যান" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:29 +msgid "Key ID:" +msgstr "কি-র ID:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +msgid "Make this photo the primary photo" +msgstr "চিহ্নিত ছবিটি প্রধান ছবি রূপে ধার্য করা হবে" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:33 +msgid "Names and Signatures" +msgstr "নাম ও স্বাক্ষর" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:32 +msgid "Never" +msgstr "কখনো নয়" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Override Owner _Trust:" +msgstr "মালিকের বিশ্বাসের তথ্য উপেক্ষা করা হবে: (_T)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:36 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +msgid "Owner" +msgstr "মালিক" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Primary" +msgstr "প্রধান" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Remove this photo from this key" +msgstr "বর্তমান কি থেকে চিহ্নিত ছবি মুছে ফেলা হবে" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Revoke" +msgstr "প্রত্যাখ্যান করুন" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +msgid "Sign" +msgstr "স্বাক্ষর করুন" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "Strength:" +msgstr "ক্ষমতা:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "কি-র মালিক দ্বারা কি-টি প্রত্যাহার করা হয়েছে। এটি আর ব্যবহার করা যাবে না।" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "_Add Name" +msgstr "নাম যোগ করুন (_A)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "_Export Complete Key:" +msgstr "সম্পূর্ণ কি এক্সপোর্ট করুন: (_E)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +#| msgid "Name:" +msgctxt "name-of-key" +msgid "Name:" +msgstr "নাম:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgid "Dates:" +msgstr "তারিখ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Fingerprint:" +msgstr "ফিঙ্গার-প্রিন্ট:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgid "Indicate Trust:" +msgstr "বিশ্বাসের মাত্রা চিহ্নিত করুন:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Your trust of this key" +msgstr "এই কি-র উপর আপনার বিশ্বাসের মাত্রা" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "_Other Names:" +msgstr "অন্যান্য নাম: (_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:16 +msgid "_People who have signed this key:" +msgstr "এই কি স্বাক্ষরকারী ব্যবহারকারীরা: (_P)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +msgid "Encrypt files and email to the key's owner " +msgstr "কি-র মালিকের জন্য ফাইল ও ই-মেইল এনক্রিপ্ট করুন " + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:22 +msgid "Fully" +msgstr "সম্পূর্ণ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "অন্যান্য কি-র জন্য '%s'-র স্বাক্ষর বিশ্বাস করা হবে" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" +"এই কি-র মালিকানা যদি নিশ্চিতরূপে '%s'-র অধীন ধার্য করা সম্ভব হয় তাহলে এই কি-টি " +"স্বাক্ষর করুন:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" +"এই কি-র মালিকানা যদি নিশ্চিতরূপে '%s'-র অধীন ধার্য করা সম্ভব না হয় তাহলে আপনার " +"স্বাক্ষর প্রত্যাহার করুন:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "Marginally" +msgstr "আংশিক" + +#. Trust column +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../src/seahorse-key-manager-store.c:890 +msgid "Trust" +msgstr "বিশ্বাসের মাত্রা" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +msgid "Ultimately" +msgstr "সর্বাধিক" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "You _Trust the Owner:" +msgstr "মালিক আপনার বিশ্বস্ত: (_T)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Your trust is manually specified on the Details tab." +msgstr "" +"বিবরণ শীর্ষক ট্যাবের মধ্যে আপনার বিশ্বাস সংক্রান্ত তথ্য ব্যবহারকারী দ্বারা " +"উল্লিখিত হবে।" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "_Only display the signatures of people I trust" +msgstr "শুধুমাত্রা বিশ্বস্ত ব্যক্তিদের স্বাক্ষর প্রদর্শন করা হবে (_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "_Revoke Signature" +msgstr "স্বাক্ষর প্রত্যাখ্যান করুন (_R)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "_Sign this Key" +msgstr "এই কি স্বাক্ষর করুন (_S)" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "সাব-কি %d, %s-র" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Optional description of revocation" +msgstr "প্রত্যাহার সম্পর্কে ঐচ্ছিক বিবরণ" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "Re_voke" +msgstr "প্রত্যাহার করুন (_v)" + +#: ../pgp/seahorse-revoke.xml.h:3 +msgid "Reason for revoking the key" +msgstr "কি প্রত্যাহার করার কারণ" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "_Reason:" +msgstr "কারণ: (_R)" + +#: ../pgp/seahorse-signer.c:62 +msgid "You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"কোনো নথি অথবা বার্তা স্বাক্ষর করার উদ্দেশ্যে আপনার কোনো ব্যক্তিগত PGP-কি উপস্থিত নেই।" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "How carefully have you checked this key?" +msgstr "এই কি-টি পুঙ্খানুপুঙ্খভাবে পরীক্ষা করা হয়েছে কি না?" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "How others will see this signature:" +msgstr "অন্যান্যদের জন্য এই কি-টি কীভাবে প্রদর্শন করা হবে:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Sign key as:" +msgstr "কি স্বাক্ষরের :" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone. " +msgstr "" +"সাধারণভাবে: অর্থাৎ কি-র মালিকানা যাচাই করার উদ্দেশ্যে বিশেষ পরীক্ষা করা " +"হয়নি। উদাহরণস্বরূপ, আপনি দূরভাষের মাধ্যমে কি-র মালিকের সাথে কথা বলে কি-র " +"ফিংগারপ্রিন্ট যাচাই করেছেন। " + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "Key Name" +msgstr "কি-র নাম" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"যাচাই করা হয়নি: অর্থাৎ কি-মালিকানা সম্পর্কিত তথ্য আপনি বিশ্বাস করেছেন কিন্তু " +"তা যাচাই করার কোনো উদ্যোগ নেওয়া হয়নি।" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"পুঙ্খানুপুঙ্খ পরীক্ষা: কি-টি বৈধতা সম্পর্কে সম্পূর্ণরূপে নিশ্চিত হলে এই বিকল্পটি " +"নির্বাচন করুন।" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"স্বাক্ষর করা হলে, আপনি চিহ্নিত ব্যক্তির অধীন এই কি-র মালিকানা সম্পর্কে আপনার বিশ্বাস " +"ধার্য করছেন:" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "I can _revoke this signature at a later date." +msgstr "ভবিষ্যতে আমি এই স্বাক্ষর প্রত্যাহার করতে সক্ষম। ( _r)" + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "Sign Key" +msgstr "কি স্বাক্ষর করুন" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"কি-র সাথে যুক্ত নাম যাচাই করার জন্য ছবি সহ কোনো পরিচয় প্রমাণ পত্র (যেমন পাসপোর্ট) " +"ব্যবহার করা যেতে পারে। এই ধরনের পরিচয় পত্র নকল করা কঠিন। উপরন্তু, ই-মেইল দ্বারা " +"মালিকার ই-মেইল ঠিকানা যাচাই করাও বাঞ্ছনীয়।" + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "_Casually" +msgstr "সাধারণভাবে (_C)" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Not at all" +msgstr "যাচাই করা হয়নি (_N)" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "_Others may not see this signature" +msgstr "এই স্বাক্ষর অন্যান্যদের জন্য দৃশ্যমান হবে না (_O)" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "_Sign" +msgstr "স্বাক্ষর করুন (_S)" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "স্বাক্ষরকারী: (_S)" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Very Carefully" +msgstr "পুঙ্খানুপুঙ্খভাবে (_V)" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "কি সহযোগে বার্তা স্বাক্ষর করা হবে (_S)" + +#: ../pkcs11/seahorse-pkcs11-certificate.c:106 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:66 +msgid "Certificate" +msgstr "সার্টিফিকেট" + +#: ../pkcs11/seahorse-pkcs11-commands.c:108 +#, c-format +msgid "Are you sure you want to delete the certificate '%s'?" +msgstr "আপনি কি নিশ্চিতরূপে '%s' সার্টিফিকেট মুছে ফেলতে ইচ্ছুক?" + +#: ../pkcs11/seahorse-pkcs11-commands.c:111 +#, c-format +msgid "Are you sure you want to delete %d certificate?" +msgid_plural "Are you sure you want to delete %d certificates?" +msgstr[0] "আপনি কি নিশ্চিতরূপে %d সার্টিফিকেট মুছে ফেলতে ইচ্ছুক?" +msgstr[1] "আপনি কি নিশ্চিতরূপে %d পাসওয়ার্ড মুছে ফেলতে ইচ্ছুক?" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "পরিচিতি-পংক্তি পরিবর্তন করুন" + +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Con_firm Passphrase:" +msgstr "পরিচয়-পংক্তি নিশ্চিত করুন: (_f)" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "Confirm new passphrase" +msgstr "নতুন পরিচয়-পংক্তি নিশ্চিত করুন" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "New _Passphrase:" +msgstr "নতুন পরিচয়-পংক্তি: (_P)" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "পাসওয়ার্ড ও এনক্রিপশন-কি পরিচালনা করুন" + +#: ../src/seahorse.desktop.in.in.h:2 ../src/seahorse-key-manager.c:862 +msgid "Passwords and Encryption Keys" +msgstr "পাসওয়ার্ড ও এনক্রিপশন কি" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "নির্মাণের উদ্দেশ্যে বস্তুর ধরন নির্ধারণ করুন: (_S)" + +#: ../src/seahorse-generate-select.xml.h:2 +msgid "C_ontinue" +msgstr "এগিয়ে চলুন (_o)" + +#: ../src/seahorse-generate-select.xml.h:3 +msgid "Create New ..." +msgstr "নতুন নির্মাণ করুন..." + +#: ../src/seahorse-key-manager.c:233 ../src/seahorse-keyserver-results.c:108 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "নির্বাচিত %d-টি কি" +msgstr[1] "নির্বাচিত %d-টি কি" + +#: ../src/seahorse-key-manager.c:410 ../src/seahorse-key-manager.c:470 +#: ../src/seahorse-key-manager.c:533 ../src/seahorse-viewer.c:458 +msgid "Couldn't import keys" +msgstr "কি ইম্পোর্ট করতে ব্যর্থ" + +#: ../src/seahorse-key-manager.c:415 ../src/seahorse-viewer.c:463 +msgid "Imported keys" +msgstr "ইম্পোর্ট করা কি" + +#: ../src/seahorse-key-manager.c:464 +msgid "Importing keys" +msgstr "কি ইম্পোর্ট করা হচ্ছে" + +#: ../src/seahorse-key-manager.c:487 ../ssh/seahorse-ssh-operation.c:1017 +msgid "Import Key" +msgstr "কি ইম্পোর্ট করুন" + +#: ../src/seahorse-key-manager.c:533 +msgid "Unrecognized key type, or invalid data format" +msgstr "অপরিচিত ধরনের কি অথবা তারিখের বিন্যাস বৈধ নয়" + +#: ../src/seahorse-key-manager.c:731 ../src/seahorse-keyserver-results.c:245 +msgid "_Remote" +msgstr "দূরবর্তী (_R)" + +#: ../src/seahorse-key-manager.c:733 +msgid "Close this program" +msgstr "এই প্রোগ্রাম বন্ধ করুন" + +#: ../src/seahorse-key-manager.c:734 +msgid "_New..." +msgstr "নতুন...(_N)" + +#: ../src/seahorse-key-manager.c:735 +msgid "Create a new key or item" +msgstr "নতুন কি অথবা বস্তু নির্মাণ করুন" + +#: ../src/seahorse-key-manager.c:736 +msgid "_Import..." +msgstr "ইম্পোর্ট করুন...(_I)" + +#: ../src/seahorse-key-manager.c:737 +msgid "Import from a file" +msgstr "একটি ফাইল থেকে ইম্পোর্ট করুন" + +#: ../src/seahorse-key-manager.c:739 +msgid "Import from the clipboard" +msgstr "ক্লিপ-বোর্ড থেকে ইম্পোর্ট করুন" + +#: ../src/seahorse-key-manager.c:744 ../src/seahorse-keyserver-results.c:255 +msgid "_Find Remote Keys..." +msgstr "দূরবর্তী কি অনুসন্ধান করুন...(_F)" + +#: ../src/seahorse-key-manager.c:745 ../src/seahorse-keyserver-results.c:256 +msgid "Search for keys on a key server" +msgstr "কি-সার্ভারের মধ্যে কি অনুসন্ধান করুন" + +#: ../src/seahorse-key-manager.c:746 +msgid "_Sync and Publish Keys..." +msgstr "কি সুসংগত ও প্রকাশ করুন...(_S)" + +#: ../src/seahorse-key-manager.c:747 +msgid "Publish and/or synchronize your keys with those online." +msgstr "অন-লাইন উপস্থিত কি-র সাথে আপনার কি সুসংগত এবং/অথবা প্রকাশ করুন।" + +#: ../src/seahorse-key-manager.c:752 +msgid "T_ypes" +msgstr "ধরন (_y)" + +#: ../src/seahorse-key-manager.c:752 +msgid "Show type column" +msgstr "ধরনের কলাম প্রদর্শন করা হবে" + +#: ../src/seahorse-key-manager.c:754 +msgid "_Expiry" +msgstr "মেয়াদ পূর্তী (_E)" + +#: ../src/seahorse-key-manager.c:754 +msgid "Show expiry column" +msgstr "মেয়াদপূর্তীর কলাম প্রদর্শন করা হবে" + +#: ../src/seahorse-key-manager.c:756 +msgid "_Trust" +msgstr "বিশ্বাসের মাত্রা (_T)" + +#: ../src/seahorse-key-manager.c:756 +msgid "Show owner trust column" +msgstr "ব্যবহারকারীর বিশ্বাসের মাত্রা চিহ্নকারী কলাম প্রদর্শন করা হবে" + +#: ../src/seahorse-key-manager.c:758 +msgid "_Validity" +msgstr "বৈধতা (_V)" + +#: ../src/seahorse-key-manager.c:758 +msgid "Show validity column" +msgstr "বৈধতার কলাম প্রদর্শন করা হবে" + +#: ../src/seahorse-key-manager.c:931 +msgid "Filter:" +msgstr "ফিল্টার:" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "প্রথমবার প্রযোজ্য বিকল্প:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "নিজের ব্যবহারের জন্য একটি নতুন কি নির্মাণ করুন: " + +#: ../src/seahorse-key-manager.xml.h:3 +msgid "Import existing keys from a file:" +msgstr "একটি ফাইল থেকে উপস্থিত কি ইম্পোর্ট করুন: " + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "My _Personal Keys" +msgstr "আমার ব্যক্তিগত কি (_P)" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "Other _Keys" +msgstr "অন্যান্য কি (_K)" + +#: ../src/seahorse-key-manager.xml.h:6 +msgid "To get started with encryption you will need keys." +msgstr "এনক্রিপশন ব্যবহারের জন্য কি-র উপস্থিতি আবশ্যক।" + +#: ../src/seahorse-key-manager.xml.h:7 ../src/seahorse-viewer.c:522 +msgid "_Import" +msgstr "ইম্পোর্ট করুন (_I)" + +#: ../src/seahorse-key-manager.xml.h:8 +msgid "_Passwords" +msgstr "পাসওয়ার্ড (_P)" + +#: ../src/seahorse-key-manager-store.c:685 ../src/seahorse-viewer.c:256 +msgid "Couldn't export keys" +msgstr "কি এক্সপোর্ট করতে বিফল" + +#: ../src/seahorse-key-manager-store.c:883 +msgid "Validity" +msgstr "বৈধতা" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:902 +msgid "Expiration Date" +msgstr "মেয়াদপূর্তীর তারিখ" + +#: ../src/seahorse-keyserver-results.c:247 +msgid "Close this window" +msgstr "এই উইন্ডো বন্ধ করুন" + +#: ../src/seahorse-keyserver-results.c:248 +msgid "_Expand All" +msgstr "সমস্ত প্রসারিত করুন (_E)" + +#: ../src/seahorse-keyserver-results.c:249 +msgid "Expand all listings" +msgstr "সকল তালিকা প্রসারিত করুন" + +#: ../src/seahorse-keyserver-results.c:250 +msgid "_Collapse All" +msgstr "সকল সংকুচিত করুন (_C)" + +#: ../src/seahorse-keyserver-results.c:251 +msgid "Collapse all listings" +msgstr "সকল তালিকা সংকুচিত করুন" + +#: ../src/seahorse-keyserver-results.c:322 +msgid "Remote Keys" +msgstr "দূরবর্তী কি" + +#: ../src/seahorse-keyserver-results.c:324 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "'%s' সহ দূরবর্তী কি" + +#: ../src/seahorse-keyserver-search.xml.h:1 +msgid "Key Servers:" +msgstr "কি সার্ভার:" + +#: ../src/seahorse-keyserver-search.xml.h:2 +msgid "Shared Keys Near Me:" +msgstr "নিকটবর্তী যৌথ ব্যবহারের কি:" + +#: ../src/seahorse-keyserver-search.xml.h:3 +msgid "Find Remote Keys" +msgstr "দূরবর্তী কি অনুসন্ধান করুন" + +#: ../src/seahorse-keyserver-search.xml.h:4 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"এর দ্বারা ইন্টারনেটে অন্যান্যদের কি অনুসন্ধান করা হবে এবং এর পরে স্থানীয় কি-রিংয়ের " +"মধ্যে এই কি ইম্পোর্ট করা হবে।" + +#: ../src/seahorse-keyserver-search.xml.h:5 +msgid "Where to search:" +msgstr "অনুসন্ধান স্থল:" + +#: ../src/seahorse-keyserver-search.xml.h:6 +msgid "_Search" +msgstr "অনুসন্ধান (_S)" + +#: ../src/seahorse-keyserver-search.xml.h:7 +msgid "_Search for keys containing: " +msgstr "চিহ্নিত সামগ্রী সহ কি অনুসন্ধান করা হবে: (_S)" + +#: ../src/seahorse-keyserver-sync.c:45 +msgid "Couldn't publish keys to server" +msgstr "সার্ভারে কি প্রকাশ করতে ব্যর্থ" + +#: ../src/seahorse-keyserver-sync.c:61 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "সার্ভার থেকে কি উদ্ধার করতে ব্যর্থ: %s" + +#: ../src/seahorse-keyserver-sync.c:155 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "সুসংগত করার উদ্দেশ্যে %d-টি কি নির্বাচন করা হয়েছে।" +msgstr[1] "সুসংগত করার উদ্দেশ্যে %d-টি কি নির্বাচন করা হয়েছে।" + +#: ../src/seahorse-keyserver-sync.c:216 +msgid "Synchronizing keys" +msgstr "কি সুসংগতি" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:248 +msgid "Synchronizing keys..." +msgstr "কি সুসংগতি..." + +#: ../src/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "কি সুসংগত করুন" + +#: ../src/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"এর ফলে, অন্যান্য ব্যবহারকারীদের দ্বারা প্রয়োগের জন্য আপনার কি-রিংয়ের মধ্যে উপস্থিত " +"সকল কি প্রকাশ করা হবে। অন্যান্য ব্যবহারকারীরা তাদের কি-তে কোনো পরিবর্তন করে থাকলে " +"সেগুলিও আপনি প্রাপ্ত করতে সক্ষম হবেন।" + +#: ../src/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"অন্যান্য ব্যবহারকারীদের কি প্রাপ্ত করার পরে সেগুলির মধ্যে কোনো পরিবর্তন করা হয়ে " +"থাকলে সংশ্লিষ্ট পরিবর্তনগুলি এর ফলে পাওয়া যাবে। প্রকাশনার জন্য কোনো কি-সার্ভার " +"নির্বাচন করা হয়নি, এর ফলে আপনার কি-গুলি অন্যান্য ব্যবহারকারীদের জন্য উপলব্ধ করা " +"সম্ভব হবে না।" + +#: ../src/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "কি সার্ভার (_K)" + +#: ../src/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "সুসংগত করুন (_S)" + +#: ../src/seahorse-main.c:62 +msgid "Version of this application" +msgstr "এই অ্যাপ্লিকেশনের সংস্করণ সংখ্যা" + +#: ../src/seahorse-main.c:78 ../src/seahorse-viewer.c:144 +msgid "Encryption Key Manager" +msgstr "এনক্রিপশন-কি পরিচালন ব্যবস্থা" + +#: ../src/seahorse-viewer.c:120 +msgid "Contributions:" +msgstr "অংশগ্রহকারী:" + +#: ../src/seahorse-viewer.c:146 +msgid "translator-credits" +msgstr "রুণা ভট্টাচার্য্য (runab@redhat.com)" + +#: ../src/seahorse-viewer.c:149 +msgid "Seahorse Project Homepage" +msgstr "Seahorse প্রজেক্টের হোম-পেজ" + +#. Top menu items +#: ../src/seahorse-viewer.c:168 +msgid "_File" +msgstr "ফাইল (_F)" + +#: ../src/seahorse-viewer.c:169 +msgid "_Edit" +msgstr "সম্পাদনা (_E)" + +#: ../src/seahorse-viewer.c:170 +msgid "_View" +msgstr "প্রদর্শন (_V)" + +#: ../src/seahorse-viewer.c:171 +msgid "_Help" +msgstr "সাহায্য (_H)" + +#: ../src/seahorse-viewer.c:173 +msgid "Prefere_nces" +msgstr "বৈশিষ্ট্যাবলী (_n)" + +#: ../src/seahorse-viewer.c:174 +msgid "Change preferences for this program" +msgstr "এই প্রোগ্রাম সম্পর্কে পছন্দসই মান পরিবর্তন করুন" + +#: ../src/seahorse-viewer.c:177 +msgid "About this program" +msgstr "প্রোগ্রাম পরিচিতি" + +#: ../src/seahorse-viewer.c:178 +msgid "_Contents" +msgstr "সূচী (_C)" + +#: ../src/seahorse-viewer.c:179 +msgid "Show Seahorse help" +msgstr "Seahorse সংক্রান্ত সহায়তা প্রদর্শন করা হবে" + +#: ../src/seahorse-viewer.c:276 +msgid "Export public key" +msgstr "সার্বজনীন-কি এক্সপোর্ট করুন" + +#: ../src/seahorse-viewer.c:296 +msgid "Exporting keys" +msgstr "কি এক্সপোর্ট করা হচ্ছে" + +#: ../src/seahorse-viewer.c:321 +msgid "Couldn't retrieve data from key server" +msgstr "কি-সার্ভার থেকে তথ্য উদ্ধার করতে ব্যর্থ" + +#. Translators: "Copied" is a verb (used as a status indicator), not an adjective for the word "keys" +#: ../src/seahorse-viewer.c:340 +msgid "Copied keys" +msgstr "কি কপি করা হয়েছে" + +#: ../src/seahorse-viewer.c:360 +msgid "Retrieving keys" +msgstr "কি উদ্ধার করা হচ্ছে" + +#: ../src/seahorse-viewer.c:375 +msgid "Couldn't delete." +msgstr "মুছে ফেলতে ব্যর্থ।" + +#: ../src/seahorse-viewer.c:409 +msgid "Deleting..." +msgstr "মুছে ফেলা হচ্ছে..." + +#: ../src/seahorse-viewer.c:435 +#, c-format +msgid "%s is a private key. Are you sure you want to proceed?" +msgstr "%s একটি ব্যক্তিগত কি। আপনি কি নিশ্চিতরূপে এগিয়ে যেতে ইচ্ছুক?" + +#: ../src/seahorse-viewer.c:483 +msgid "Importing keys from key servers" +msgstr "কি সার্ভার থেকে কি ইম্পোর্ট করার প্রণালী" + +#: ../src/seahorse-viewer.c:509 +msgid "Show properties" +msgstr "বৈশিষ্ট্য প্রদর্শন করা হবে" + +#: ../src/seahorse-viewer.c:510 +msgctxt "This text refers to deleting an item from its type's backing store." +msgid "_Delete" +msgstr "মুছে ফেলুন (_D)" + +#: ../src/seahorse-viewer.c:511 +msgid "Delete selected items" +msgstr "নির্বাচিত সামগ্রী মুছে ফেলুন" + +#: ../src/seahorse-viewer.c:515 +msgid "E_xport..." +msgstr "এক্সপোর্ট করুন...(_x)" + +#: ../src/seahorse-viewer.c:516 +msgid "Export to a file" +msgstr "ফাইলের মধ্যে এক্সপোর্ট করুন" + +#: ../src/seahorse-viewer.c:518 +msgid "Copy to the clipboard" +msgstr "ক্লিপ-বোর্ডে কপি করুন" + +#: ../src/seahorse-viewer.c:523 +msgid "Import selected keys to local key ring" +msgstr "নির্বাচিত কি-গুলি স্থানীয় কি-রিংয়ের মধ্যে ইম্পোর্ট করুন" + +#: ../ssh/seahorse-ssh-askpass.c:99 +msgid "Enter your Secure Shell passphrase:" +msgstr "সিকিউর শেল পরিচয়-পংক্তি লিখুন:" + +#: ../ssh/seahorse-ssh-commands.c:85 +msgid "Configure Key for _Secure Shell..." +msgstr "সিকিউর শেলের জন্য কি কনফিগার করুন...(_S)" + +#: ../ssh/seahorse-ssh-commands.c:86 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"সার্বজনীন সকিউর শেল কি অব্য একটি মেশিনে পাঠিয়ে দিন ও সংশ্লিষ্ট কি সহযোগে লগ-ইন " +"ব্যবস্থা সক্রিয় করুন।" + +#: ../ssh/seahorse-ssh-commands.c:115 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "আপনি কি নিশ্চিতরূপে '%s'-র সিকিউর শেল কি মুছে ফেলতে ইচ্ছুক?" + +#: ../ssh/seahorse-ssh-commands.c:118 +#, c-format +msgid "Are you sure you want to delete %d secure shell keys?" +msgstr "আপনি কি নিশ্চিতরূপে %d-টি সিকিউর শেল কি মুছে ফেলতে ইচ্ছুক?" + +#: ../ssh/seahorse-ssh-generate.c:59 ../ssh/seahorse-ssh-key.c:91 +#: ../ssh/seahorse-ssh-key.c:95 ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Secure Shell Key" +msgstr "সিকিউর শেল কি" + +#: ../ssh/seahorse-ssh-generate.c:60 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "অন্যান্য কম্পিউটারের প্রবেশ করতে ব্যবহৃত (উদাহরণ: টার্মিনালের মাধ্যমে)" + +#: ../ssh/seahorse-ssh-generate.c:90 +msgid "Couldn't generate Secure Shell key" +msgstr "সিকিউর শেল কি নির্মাণ করতে ব্যর্থ" + +#: ../ssh/seahorse-ssh-generate.c:213 +msgid "Creating Secure Shell Key" +msgstr "সিকিউর শেল কি নির্মাণ করা হচ্ছে" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "" +"Use your email address, and any other reminder you need about what this " +"key is for." +msgstr "" +"এই কি কোন কারণে ব্যবহার করা হবে তা নির্ধারণের জন্য আপনার ই-মেইল ঠিকানা ও " +"অন্যান্য প্রয়োজনীয় তথ্য প্রয়োগ করুন।" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "" +"A Secure Shell (SSH) key lets you connect securely to trusted computers " +"using SSH, without entering a different password for each of them." +msgstr "" +"একটি সিকিউর শেল (SSH) কি-র সাহায্যে SSH-র মাধ্যমে বিশ্বস্ত অন্য কম্পিউটারের সাথে " +"নিরাপদভাবে সংযোগ স্থাপন করা যাবে ও প্রত্যেকটি পৃথক বিশ্বস্ত কম্পিউটারের জন্য পৃথক " +"পাসওয়ার্ড লেখার প্রয়োজন হবে না।" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "" +"If there is already a computer you want to use this key with, you can set up " +"that computer to recognize your key now. " +msgstr "" +"এই কি-টি কোনো কম্পিউটারের সাথে ব্যবহার করতে ইচ্ছুক হলে, সংশ্লিষ্ট কম্পিউটার দ্বারা " +"এই কি সনাক্ত করার উদ্দেশ্যে প্রয়োজনীয় প্রস্তুতি এখন নেওয়া যাবে। " + +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "New Secure Shell Key" +msgstr "নতুন সিকিউর শেল কি" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "_Create and Set Up" +msgstr "নির্মাণ ও প্রস্তুত করুন (_C)" + +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Just Create Key" +msgstr "শুধু কি নির্মাণ করুন (_J)" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "_Key Description:" +msgstr "কি-র বিবরণ: (_K)" + +#: ../ssh/seahorse-ssh-key.c:87 +msgid "(Unreadable Secure Shell Key)" +msgstr "(সিকিউর শেল কি পাঠযোগ্য নয়)" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "Invalid" +msgstr "অবৈধ" + +#: ../ssh/seahorse-ssh-key.c:116 +msgid "Private Secure Shell Key" +msgstr "গোপনীয় সিকিউর শেল কি" + +#: ../ssh/seahorse-ssh-key.c:119 +msgid "Public Secure Shell Key" +msgstr "সার্বজনীন সিকিউর শেল কি" + +#: ../ssh/seahorse-ssh-key-properties.c:71 +msgid "Couldn't rename key." +msgstr "কি-র নাম পরিবর্তন করা যায়নি।" + +#: ../ssh/seahorse-ssh-key-properties.c:112 +msgid "Couldn't change authorization for key." +msgstr "কি-র অনুমতি পরিবর্তন করা যায়নি" + +#: ../ssh/seahorse-ssh-key-properties.c:127 +msgid "Couldn't change passphrase for key." +msgstr "কি-র পরিচয়-পংক্তি পরিবর্তন করা যায়নি।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Algorithm:" +msgstr "অ্যালগোরিদম:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Identifier:" +msgstr "পরিচয়কারী:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Location:" +msgstr "অবস্থান:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:5 +msgid "Name:" +msgstr "নাম:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgid "Strength:" +msgstr "ক্ষমতা:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:8 +msgid "Trust" +msgstr "বিশ্বাসের মাত্রা" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:13 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "এটি শুধুমাত্র '%s' অ্যাকাউন্টের ক্ষেত্রে প্রযোজ্য।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "E_xport Complete Key" +msgstr "সম্পূর্ণ কি এক্সপোর্ট করুন (_x)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "এই কি-র মালিক এই কম্পিউটারের সাথে সংযোগ স্থাপন করার উদ্দেশ্যে অনুমোদিত (_a)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "Used to connect to other computers." +msgstr "অন্যান্য কম্পিউটারের সাথে সংযোগ স্থাপন করতে ব্যবহৃত।" + +#: ../ssh/seahorse-ssh-operation.c:143 ../ssh/seahorse-ssh-operation.c:732 +#, c-format +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH কমান্ড অপ্রত্যাশিতভাবে বন্ধ করা হয়েছে।" + +#: ../ssh/seahorse-ssh-operation.c:151 ../ssh/seahorse-ssh-operation.c:739 +msgid "The SSH command failed." +msgstr "SSH কমান্ড বিফল।" + +#: ../ssh/seahorse-ssh-operation.c:445 ../ssh/seahorse-ssh-operation.c:477 +msgid "Secure Shell key" +msgstr "সিকিউর শেল কি" + +#: ../ssh/seahorse-ssh-operation.c:448 +msgid "Passphrase:" +msgstr "পরিচয়-পংক্তি:" + +#. Just prompt over and over again +#: ../ssh/seahorse-ssh-operation.c:762 +msgid "Remote Host Password" +msgstr "দূরবর্তী হোস্টের পাসওয়ার্ড" + +#: ../ssh/seahorse-ssh-operation.c:850 +msgid "Old Key Passphrase" +msgstr "পুরোনো কি-র পরিচয়-পংক্তি" + +#: ../ssh/seahorse-ssh-operation.c:851 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "পুরোনো পরিচয়-পংক্তি লিখুন: %s" + +#: ../ssh/seahorse-ssh-operation.c:855 +msgid "New Key Passphrase" +msgstr "নতুন কি-র পরিচয়-পংক্তি" + +#: ../ssh/seahorse-ssh-operation.c:856 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "নতুন পরিচয়-পংক্তি লিখুন: %s" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Enter Key Passphrase" +msgstr "কি-র পরিচয়-পংক্তি লিখুন" + +#: ../ssh/seahorse-ssh-operation.c:931 +msgid "Passphrase for New Secure Shell Key" +msgstr "নতুন সিকিউর শেল কি-র পরিচয়-পংক্তি লিখুন" + +#: ../ssh/seahorse-ssh-operation.c:932 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "নতুন সিকিউর শেল কি-র পরিচয়-পংক্তি লিখুন।" + +#: ../ssh/seahorse-ssh-operation.c:1013 +#, c-format +msgid "Importing key: %s" +msgstr "কি ইম্পোর্ট করা হচ্ছে: %s" + +#: ../ssh/seahorse-ssh-operation.c:1015 +msgid "Importing key. Enter passphrase" +msgstr "কি ইম্পোর্ট করা হচ্ছে। পরিচয়-পংক্তি লিখুন।" + +#: ../ssh/seahorse-ssh-source.c:825 +msgid "No private key file is available for this key." +msgstr "এই কি-র জন্য কোনো গোপনীয় কি-র ফাইল উপস্থিত নেই।" + +#: ../ssh/seahorse-ssh-upload.c:45 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "দূরবর্তী কম্পিউটারের মধ্যে সিকিউর শেল কি কনফিগার করতে ব্যর্থ।" + +#. Show the progress window if necessary +#: ../ssh/seahorse-ssh-upload.c:181 +msgid "Configuring Secure Shell Keys..." +msgstr "সিকিউর শেল কি কনফিগার করা হচ্ছে..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "eg: fileserver.example.com:port" +msgstr "উদাহরণ: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "SSH সংযোগের জন্য কম্পিউটার প্রস্তুত করুন" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"SSH প্রয়োগকারী অন্য কোনো কম্পিউটারের সাথে আপনার সিকিউর শেল কি ব্যবহার করতে ইচ্ছুক " +"হলে, সংশ্লিষ্ট কম্পিউটারের মধ্যে আপনার একটি লগ-ইন অ্যাকাউন্ট উপস্থিত থাকা আবশ্যক।" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "কম্পিউটারের নাম: (_C)" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "লগ-ইন নাম: (_L)" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "প্রস্তুত করুন(_S)" + +#~ msgid "Seahorse Daemon" +#~ msgstr "Seahorse ডেমন" + +#~ msgid "Couldn't share keys" +#~ msgstr "কি শেয়ার করতে ব্যর্থ" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "নেটওয়ার্ক-এ আবিষ্কার তথ্য প্রদান করা সম্ভব হয়নি।" + +#~ msgid "%s's encryption keys" +#~ msgstr "%s-র এনক্রিপশন-কি" + +#~ msgid "Key Sharing" +#~ msgstr "কি-র যৌথ ব্যবহার" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "যৌথ ব্যবহারের জন্য কি উপলব্ধ করা হলে, আপনার নেটওয়ার্কের মধ্যে উপস্থিত অন্যান্য " +#~ "ব্যবহারকারীরা আপনার সংগ্রহ করা কি-গুলি ব্যবহার করতে সক্ষম হবেন। এর ফলে, তারা " +#~ "আপনার অথবা আপনার পরিচিতদের হয়ে স্বয়ংক্রিয়ভাবে বিভিন্ন সামগ্রী এনক্রিপ্ট করতে " +#~ "সক্ষম হবেন এবং এর জন্য আপনাকে আপনার কি তাদেরকে পাঠাতে হবে না।\n" +#~ "\n" +#~ "উল্লেখ্য: এর ফলে আপনার ব্যক্তিগত কি ক্ষতিগ্রস্ত হবে না।" + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "" +#~ "নেটওয়ার্কের অন্যান্য ব্যবহারকারীদের সাথে আমার কি-গুলি বিনিময় করা হবে (_S)" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "সুসংগতির উদ্দেশ্যে X-টি কি নির্বাচন করা হয়েছে" + +#~ msgid "" +#~ "One or more of the deleted keys are private keys. Are you sure you want " +#~ "to proceed?" +#~ msgstr "" +#~ "এক অথবা একাধিক ব্যক্তিগত কি মুছে ফেলা হয়েছে। আপনি কি নিশ্চিতরূপে এগিয়ে যেতে " +#~ "ইচ্ছুক?" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/nate/.ssh/blah_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" diff --git a/po/br.po b/po/br.po new file mode 100644 index 00000000..7c34cb84 --- /dev/null +++ b/po/br.po @@ -0,0 +1,2967 @@ +# Breton translation for seahorse +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the seahorse package. +# Denis ARNAUD , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=seahorse&component=general\n" +"POT-Creation-Date: 2009-07-28 12:11+0000\n" +"PO-Revision-Date: 2009-08-28 16:08+0100\n" +"Last-Translator: denis \n" +"Language-Team: Britton \n" +"Language: br\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Launchpad-Export-Date: 2009-05-18 14:32+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../daemon/seahorse-daemon.c:69 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "" + +#: ../daemon/seahorse-daemon.c:87 +msgid "couldn't fork process" +msgstr "" + +#: ../daemon/seahorse-daemon.c:93 +msgid "couldn't create new process group" +msgstr "" + +#: ../daemon/seahorse-daemon.c:207 +msgid "Encryption Daemon (Seahorse)" +msgstr "Droukspered enrinegañ (Seahorse)" + +#: ../daemon/seahorse-daemon.desktop.in.in.h:1 +msgid "Seahorse Daemon" +msgstr "Droukspered Seahorse" + +#: ../daemon/seahorse-service.c:110 +#: ../daemon/seahorse-service.c:134 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "Rizh an alch'wez didalvoudek pe dianavezet :%s" + +#: ../daemon/seahorse-service.c:183 +#: ../daemon/seahorse-service-keyset.c:135 +#: ../daemon/seahorse-service-keyset.c:164 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "Alc'hwez didalvoudek pe dianavezet :%s" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:160 +#, c-format +msgid "Signed by expired on %s." +msgstr "Sinet gant diamzeret d'an %s." + +#: ../daemon/seahorse-service-crypto.c:161 +msgid "Invalid Signature" +msgstr "Sinadur didalvoudek" + +#: ../daemon/seahorse-service-crypto.c:167 +#, c-format +msgid "Signed by on %s Expired." +msgstr "Sinet gant d'an %s Diamzeret." + +#: ../daemon/seahorse-service-crypto.c:168 +msgid "Expired Signature" +msgstr "Sinadur diamzeret" + +#: ../daemon/seahorse-service-crypto.c:174 +#, c-format +msgid "Signed by Revoked on %s." +msgstr "Sinet gant Dizorniet d'an %s." + +#: ../daemon/seahorse-service-crypto.c:175 +msgid "Revoked Signature" +msgstr "Alc'hwez dizorniet" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:181 +#, c-format +msgid "Signed by on %s." +msgstr "Sinet gant e %s." + +#: ../daemon/seahorse-service-crypto.c:182 +msgid "Good Signature" +msgstr "Sinadur mat" + +#: ../daemon/seahorse-service-crypto.c:187 +msgid "Signing key not in keyring." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:188 +msgid "Unknown Signature" +msgstr "Sinadur dianav" + +#: ../daemon/seahorse-service-crypto.c:192 +msgid "Bad or forged signature. The signed data was modified." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:193 +msgid "Bad Signature" +msgstr "Sinadur fall" + +#: ../daemon/seahorse-service-crypto.c:201 +msgid "Couldn't verify signature." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:257 +#: ../daemon/seahorse-service-crypto.c:364 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "Siner didalvoudek pe dianavezet :%s" + +#: ../daemon/seahorse-service-crypto.c:264 +#: ../daemon/seahorse-service-crypto.c:371 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "N'eo ket talvoudek an alc'hwez evit ar sinadur :%s" + +#: ../daemon/seahorse-service-crypto.c:276 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "Digemerer didalvoudek pe dianavezet :%s" + +#: ../daemon/seahorse-service-crypto.c:284 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:293 +#, c-format +msgid "No recipients specified" +msgstr "N'eus anv digemerer erspizet ebet" + +#: ../daemon/seahorse-service-crypto.c:359 +#, c-format +msgid "No signer specified" +msgstr "N'eus anv siner erspizet ebet" + +#: ../daemon/seahorse-service-crypto.c:414 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:477 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "" + +#: ../daemon/seahorse-service-keyset.c:200 +#, c-format +msgid "Invalid key id: %s" +msgstr "ID an alc'hwez : %s didalvoudek" + +#: ../daemon/seahorse-sharing.c:72 +#: ../daemon/seahorse-sharing.c:216 +msgid "Couldn't share keys" +msgstr "N'em eus ket rannañ an alc'hwezioù" + +#: ../daemon/seahorse-sharing.c:73 +msgid "Can't publish discovery information on the network." +msgstr "" + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s". +#: ../daemon/seahorse-sharing.c:93 +#, c-format +msgid "%s's encryption keys" +msgstr "alc'hwezioù enrinegañ %s" + +#: ../data/seahorse.schemas.in.h:1 +msgid "A list of key server URIs to search for remote PGP keys. In later versions a display name can be included, by appending a space and then the name." +msgstr "" + +#: ../data/seahorse.schemas.in.h:2 +msgid "Auto Retrieve Keys" +msgstr "Adtapout an alc'hwezioù emgefreek" + +#: ../data/seahorse.schemas.in.h:3 +msgid "Auto Sync Keys" +msgstr "Sinkronaat an alc'hwezioù emgefreek" + +#: ../data/seahorse.schemas.in.h:4 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:5 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the type column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:8 +msgid "Enable DNS-SD sharing" +msgstr "Gweredekaat ar rannañ DNS-SD" + +#: ../data/seahorse.schemas.in.h:9 +msgid "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be running and must be built with HKP and DNS-SD support." +msgstr "" + +#: ../data/seahorse.schemas.in.h:10 +msgid "ID of the default key" +msgstr "ID an alc'hwez dre-ziouer" + +#: ../data/seahorse.schemas.in.h:11 +msgid "If set to true, then files encrypted with seahorse will be ASCII armor encoded." +msgstr "" + +#: ../data/seahorse.schemas.in.h:12 +msgid "If set to true, then the default key will always be added to an encryption recipients list." +msgstr "" + +#: ../data/seahorse.schemas.in.h:13 +msgid "Last key server search pattern" +msgstr "" + +#: ../data/seahorse.schemas.in.h:14 +msgid "Last key servers used" +msgstr "" + +#: ../data/seahorse.schemas.in.h:15 +msgid "Last key used to sign a message." +msgstr "" + +#: ../data/seahorse.schemas.in.h:16 +msgid "PGP Key servers" +msgstr "Servijerien an alc'hwezioù PGP" + +#: ../data/seahorse.schemas.in.h:17 +msgid "Publish keys to this key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:18 +msgid "Show expires column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:19 +msgid "Show trust column in key manager" +msgstr "Diskouez bann fiziañs e-barzh an ardoer alc'hwezioù" + +#: ../data/seahorse.schemas.in.h:20 +msgid "Show type column in key manager" +msgstr "Diskouez bann rizh an ardoer alc'hwezioù" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Show validity column in key manager" +msgstr "Diskouez bann talvoudegezh e-barzh an ardoer alc'hwezioù" + +#: ../data/seahorse.schemas.in.h:22 +msgid "Specify the column to sort the recipients window by. Columns are: 'name' and 'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "" + +#: ../data/seahorse.schemas.in.h:23 +msgid "Specify the column to sort the seahorse key manager main window by. Columns are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in front of the column name to sort in descending order." +msgstr "" + +#: ../data/seahorse.schemas.in.h:24 +msgid "The ID of the last secret key used to sign a message." +msgstr "" + +#: ../data/seahorse.schemas.in.h:25 +msgid "The column to sort the recipients by" +msgstr "" + +#: ../data/seahorse.schemas.in.h:26 +msgid "The column to sort the seahorse keys by" +msgstr "" + +#: ../data/seahorse.schemas.in.h:27 +msgid "The key server to publish PGP keys to. Or empty to suppress publishing of PGP keys." +msgstr "" + +#: ../data/seahorse.schemas.in.h:28 +msgid "The last key server a search was performed against or empty for all key servers." +msgstr "" + +#: ../data/seahorse.schemas.in.h:29 +msgid "The last search pattern searched for against a key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:30 +msgid "This specifies the default key to use for certain operations, mainly signing." +msgstr "" + +#: ../data/seahorse.schemas.in.h:31 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" + +#: ../data/seahorse.schemas.in.h:32 +msgid "Whether or not modified keys should be automatically synced with the default key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:33 +msgid "Whether to always encrypt to default key" +msgstr "" + +#: ../data/seahorse.schemas.in.h:34 +msgid "Whether to use ASCII Armor" +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "Please choose a name for the new keyring. You will be prompted for an unlock password." +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.c:60 +#: ../gkr/seahorse-gkr-add-keyring.c:59 +msgid "Couldn't add keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#| msgid "Password" +msgid "Add Password" +msgstr "Ouzhpennañ ar ger-tremen" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:17 +#: ../pgp/seahorse-revoke.xml.h:5 +msgid "_Description:" +msgstr "_Deskrivadur :" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +#, fuzzy +#| msgid "Key Sharing" +msgid "_Keyring:" +msgstr "Duil_had alc'hwezioù :" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +#| msgid "Password:" +msgid "_Password:" +msgstr "_Ger-tremen :" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +#| msgid "Show pass_word" +msgid "_Show Password" +msgstr "Diskouez ar ger-tremen" + +#: ../gkr/seahorse-gkr-item.c:470 +msgid "Web Password" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:472 +msgid "Network Password" +msgstr "Ger-tremen ar rouedad" + +#: ../gkr/seahorse-gkr-item.c:474 +#: ../gkr/seahorse-gkr-item-properties.c:107 +msgid "Password" +msgstr "Ger tremen" + +#: ../gkr/seahorse-gkr-item-commands.c:78 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "" + +#: ../gkr/seahorse-gkr-item-commands.c:81 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "" +msgstr[1] "" + +#: ../gkr/seahorse-gkr-item-properties.c:66 +msgid "Access a network share or resource" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a website" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Unlocks a PGP key" +msgstr "Dibrennañ un alc'hwez PGP" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a Secure Shell key" +msgstr "Dibrennañ un alc'hwezioù SSH" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Saved password or login" +msgstr "Ger tremen pe anv-implijer enrollet" + +#: ../gkr/seahorse-gkr-item-properties.c:102 +msgid "Network Credentials" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:245 +msgid "Couldn't change password." +msgstr "N'em eus ket kemmañ an ger-tremen" + +#: ../gkr/seahorse-gkr-item-properties.c:347 +msgid "Couldn't set description." +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:641 +msgid "Couldn't set application access." +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +msgid "Password:" +msgstr "Ger-tremen :" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 +msgid "Path:" +msgstr "Treug :" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +msgid "Permissions:" +msgstr "Aotreoù :" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Technical Details:" +msgstr "Munudoù kalvezel" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Applications" +msgstr "Arloadoù" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:72 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Details" +msgstr "Munudoù" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Key" +msgstr "Alc'hwez" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Key Properties" +msgstr "Perzhioù an alc'hwezioù" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +msgid "Login:" +msgstr "Anv tremen :" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +msgid "Server:" +msgstr "Dafariad :" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +msgid "Show pass_word" +msgstr "Diskouez ar _ger-tremen" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +msgid "Type:" +msgstr "Rizh :" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:14 +msgid "Use:" +msgstr "Implijit :" + +#. To translators: This is the infinitive not the imperative. This string refers to the ability of an application to delete this secret from its key ring. +#: ../gkr/seahorse-gkr-item-properties.xml.h:16 +msgid "_Delete" +msgstr "_Dilemel" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:19 +msgid "_Read" +msgstr "_Lenn" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:21 +msgid "_Write" +msgstr "_Skrivañ" + +#: ../gkr/seahorse-gkr-keyring.c:193 +msgid "Listing passwords" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.c:354 +#, c-format +msgid "Passwords: %s" +msgstr "Gerioù tremen : %s" + +#: ../gkr/seahorse-gkr-keyring.c:355 +#, c-format +msgid "Passwords: %s" +msgstr "Gerioù tremen : %s" + +#: ../gkr/seahorse-gkr-keyring-commands.c:94 +msgid "Password Keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:95 +msgid "Used to store application and network passwords" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:96 +#| msgid "Network Password" +msgid "Stored Password" +msgstr "Ger-tremen kadavet" + +#: ../gkr/seahorse-gkr-keyring-commands.c:97 +msgid "Safely store a password or secret." +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:110 +msgid "Couldn't unlock keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:150 +msgid "Couldn't lock keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:190 +msgid "Couldn't set default keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:228 +msgid "Couldn't change keyring password" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:259 +msgid "_Lock" +msgstr "_Prennañ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:260 +msgid "Lock the password storage keyring so a master password is required to unlock it." +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:261 +msgid "_Unlock" +msgstr "_Dibrennañ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:262 +msgid "Unlock the password storage keyring with a master password so it is available for use." +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:263 +#, fuzzy +msgid "_Set as default" +msgstr "Arventenniñ evel dre ziouer" + +#: ../gkr/seahorse-gkr-keyring-commands.c:264 +msgid "Applications usually store new passwords in the default keyring." +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:265 +msgid "Change _Password" +msgstr "Kemmañ ar _ger tremen" + +#: ../gkr/seahorse-gkr-keyring-commands.c:266 +msgid "Change the unlock password of the password storage keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:330 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "" + +#. ----------------------------------------------------------------------------- +#. * PUBLIC +#. +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Created:" +msgstr "Krouet :" + +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +msgid "Keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring Properties" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "_Name:" +msgstr "_Anv :" + +#: ../gkr/seahorse-gkr-operation.c:168 +msgid "Access to the key ring was denied" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:171 +msgid "The gnome-keyring daemon is not running" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:174 +msgid "The key ring has already been unlocked" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:177 +msgid "No such key ring exists" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:180 +msgid "Couldn't communicate with key ring daemon" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:183 +msgid "The item already exists" +msgstr "An ergorenn zo anezhi endeo !" + +#: ../gkr/seahorse-gkr-operation.c:189 +msgid "Internal error accessing gnome-keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:238 +#: ../gkr/seahorse-gkr-operation.c:264 +msgid "Saving item..." +msgstr "Oc'h enrollañ an ergorenn..." + +#: ../gkr/seahorse-gkr-operation.c:300 +msgid "Deleting item..." +msgstr "O dilemel an ergorenn..." + +#: ../gkr/seahorse-gkr-operation.c:325 +msgid "Deleting keyring..." +msgstr "" + +#: ../gkr/seahorse-gkr-source.c:234 +msgid "Listing password keyrings" +msgstr "" + +#: ../libcryptui/cryptui.c:272 +msgid "No encryption keys were found with which to perform the operation you requested. The program Passwords and Encryption Keys will now be started so that you may either create a key or import one." +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:173 +msgid "All Keys" +msgstr "An holl alc'hwezioù" + +#: ../libcryptui/cryptui-key-chooser.c:174 +msgid "Selected Recipients" +msgstr "Degemererien dibabet" + +#: ../libcryptui/cryptui-key-chooser.c:175 +msgid "Search Results" +msgstr "Disoc'hoù ar c'hlask" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:185 +msgid "Search _for:" +msgstr "_Klask :" + +#: ../libcryptui/cryptui-key-chooser.c:243 +msgid "None (Don't Sign)" +msgstr "Tra ebet (Ne sinañ ket)" + +#: ../libcryptui/cryptui-key-chooser.c:256 +#, c-format +msgid "Sign this message as %s" +msgstr "" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:278 +msgid "_Sign message as:" +msgstr "_Sinañ ar gemennadenn evel" + +#. TODO: Icons +#. The name column +#: ../libcryptui/cryptui-key-list.c:140 +#: ../pgp/seahorse-pgp-key-properties.c:839 +#: ../src/seahorse-key-manager-store.c:828 +msgid "Name" +msgstr "Anv" + +#. The keyid column +#: ../libcryptui/cryptui-key-list.c:145 +#: ../pgp/seahorse-pgp-key-properties.c:1743 +#: ../src/seahorse-key-manager-store.c:840 +msgid "Key ID" +msgstr "ID an alc'hwez" + +#: ../libegg/egg-datetime.c:313 +msgid "Display flags" +msgstr "" + +#: ../libegg/egg-datetime.c:314 +msgid "Displayed date and/or time properties" +msgstr "" + +#: ../libegg/egg-datetime.c:319 +msgid "Lazy mode" +msgstr "" + +#: ../libegg/egg-datetime.c:320 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "" + +#: ../libegg/egg-datetime.c:325 +msgid "Year" +msgstr "Bloaz" + +#: ../libegg/egg-datetime.c:326 +msgid "Displayed year" +msgstr "Bloaz skrammet" + +#: ../libegg/egg-datetime.c:331 +msgid "Month" +msgstr "Miz" + +#: ../libegg/egg-datetime.c:332 +msgid "Displayed month" +msgstr "Miz skrammet" + +#: ../libegg/egg-datetime.c:337 +msgid "Day" +msgstr "Deiz" + +#: ../libegg/egg-datetime.c:338 +msgid "Displayed day of month" +msgstr "" + +#: ../libegg/egg-datetime.c:343 +msgid "Hour" +msgstr "Eur" + +#: ../libegg/egg-datetime.c:344 +msgid "Displayed hour" +msgstr "" + +#: ../libegg/egg-datetime.c:349 +msgid "Minute" +msgstr "munutenn" + +#: ../libegg/egg-datetime.c:350 +msgid "Displayed minute" +msgstr "" + +#: ../libegg/egg-datetime.c:355 +msgid "Second" +msgstr "Eilenn" + +#: ../libegg/egg-datetime.c:356 +msgid "Displayed second" +msgstr "" + +#: ../libegg/egg-datetime.c:361 +msgid "Lower limit year" +msgstr "" + +#: ../libegg/egg-datetime.c:362 +msgid "Year part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:367 +msgid "Upper limit year" +msgstr "" + +#: ../libegg/egg-datetime.c:368 +msgid "Year part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:373 +msgid "Lower limit month" +msgstr "" + +#: ../libegg/egg-datetime.c:374 +msgid "Month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:379 +msgid "Upper limit month" +msgstr "" + +#: ../libegg/egg-datetime.c:380 +msgid "Month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:385 +msgid "Lower limit day" +msgstr "" + +#: ../libegg/egg-datetime.c:386 +msgid "Day of month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:391 +msgid "Upper limit day" +msgstr "" + +#: ../libegg/egg-datetime.c:392 +msgid "Day of month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:397 +msgid "Lower limit hour" +msgstr "" + +#: ../libegg/egg-datetime.c:398 +msgid "Hour part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:403 +msgid "Upper limit hour" +msgstr "" + +#: ../libegg/egg-datetime.c:404 +msgid "Hour part of the upper time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:409 +msgid "Lower limit minute" +msgstr "" + +#: ../libegg/egg-datetime.c:410 +msgid "Minute part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:415 +msgid "Upper limit minute" +msgstr "" + +#: ../libegg/egg-datetime.c:416 +msgid "Minute part of the upper time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:421 +msgid "Lower limit second" +msgstr "" + +#: ../libegg/egg-datetime.c:422 +msgid "Second part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:427 +msgid "Upper limit second" +msgstr "" + +#: ../libegg/egg-datetime.c:428 +msgid "Second part of the upper time limit" +msgstr "" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:470 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: ../libegg/egg-datetime.c:492 +msgid "Date" +msgstr "Deiziad" + +#: ../libegg/egg-datetime.c:492 +msgid "Enter the date directly" +msgstr "" + +#: ../libegg/egg-datetime.c:499 +msgid "Select Date" +msgstr "Diuz an deiziad" + +#: ../libegg/egg-datetime.c:499 +msgid "Select the date from a calendar" +msgstr "Diuzit un deiz en deiziadur" + +#: ../libegg/egg-datetime.c:517 +#: ../libegg/egg-datetime.c:2192 +msgid "Time" +msgstr "Eur" + +#: ../libegg/egg-datetime.c:517 +msgid "Enter the time directly" +msgstr "" + +#: ../libegg/egg-datetime.c:524 +msgid "Select Time" +msgstr "Diuz an eur" + +#: ../libegg/egg-datetime.c:524 +msgid "Select the time from a list" +msgstr "Diuzit un eur en el listenn" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:791 +msgid "24hr: no" +msgstr "24hr:" + +#: ../libegg/egg-datetime.c:795 +#: ../libegg/egg-datetime.c:1253 +#: ../libegg/egg-datetime.c:1257 +msgid "AM" +msgstr "DB" + +#: ../libegg/egg-datetime.c:797 +#: ../libegg/egg-datetime.c:1254 +#: ../libegg/egg-datetime.c:1261 +msgid "PM" +msgstr "GM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:805 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:808 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:812 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:815 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1169 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%02d-%02d-%04d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1234 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libegg/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "N'eo ket mat ar restr .desktop" + +#: ../libegg/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "N'eo ket anavet an handelv restr desktop '%s'" + +#: ../libegg/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "O kregiñ %s" + +#: ../libegg/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "An arload ne zedegemer ket an teulioù dre arroudennoù arc'had" + +#: ../libegg/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "Dibarzh lañsañ dianavezet : %d" + +#: ../libegg/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "N'haller lakaat URIoù an teul da dremen d'un enankad war ar burev evel 'Type=Link'" + +#: ../libegg/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "N'eo ket un dra a c'haller lañsañ" + +#: ../libegg/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "Lazhañ kennask ouzh ardoer an estez" + +#: ../libegg/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "Erspizit ar restr gant ar c'hefluniadur enrollet enni" + +#: ../libegg/eggsmclient.c:228 +msgid "FILE" +msgstr "RESTR" + +#: ../libegg/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "Dibab ID ardoadur an estez" + +#: ../libegg/eggsmclient.c:231 +#: ../pgp/seahorse-pgp-key-properties.c:1312 +msgid "ID" +msgstr "Hennader (ID)" + +#: ../libegg/eggsmclient.c:252 +msgid "Session management options:" +msgstr "Dibarzhioù ardeiñ an estez :" + +#: ../libegg/eggsmclient.c:253 +msgid "Show session management options" +msgstr "Diskouez dibarzhioù ardeiñ an estez" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "Ouzhpennañ ur servijer an alc'hwezioù :" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Host:" +msgstr "Ostiz :" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Key Server Type:" +msgstr "Rizh ar servijer an alc'hwezioù :" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid "The port to access the server on." +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "initial temporary item" +msgstr "" + +#: ../libseahorse/seahorse-notification.c:566 +#: ../libseahorse/seahorse-notification.c:594 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "Alc'hwez enporzhiet" +msgstr[1] "Alc'hwezioù enporzhiet" + +#: ../libseahorse/seahorse-notification.c:570 +#: ../libseahorse/seahorse-notification.c:593 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "Alc'hwez enporzhiet %i" +msgstr[1] "Alc'hwezioù enporzhiet %i" + +#: ../libseahorse/seahorse-notification.c:572 +#, c-format +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "" +msgstr[1] "" + +#: ../libseahorse/seahorse-notify.xml.h:1 +msgid "Notification Messages" +msgstr "Kemenadennoù rebuziñ" + +#: ../libseahorse/seahorse-object.c:216 +msgid "Symmetric Key" +msgstr "Alc'hwez kemparzhek" + +#: ../libseahorse/seahorse-object.c:219 +msgid "Public Key" +msgstr "Alc'hwez foran" + +#: ../libseahorse/seahorse-object.c:222 +msgid "Private Key" +msgstr "Alc'hwez prevez" + +#: ../libseahorse/seahorse-object.c:225 +msgid "Credentials" +msgstr "" + +#. +#. * Translators: "This object is a means of storing items such as +#. * name, email address, etc. that make up one's digital identity. +#. +#: ../libseahorse/seahorse-object.c:232 +msgid "Identity" +msgstr "Naoudi" + +#: ../libseahorse/seahorse-passphrase.c:194 +msgid "Passphrase" +msgstr "Lavarenn-tremen" + +#: ../libseahorse/seahorse-passphrase.c:197 +#: ../ssh/seahorse-ssh-operation.c:480 +msgid "Password:" +msgstr "Ger-tremen :" + +#: ../libseahorse/seahorse-passphrase.c:260 +msgid "Confirm:" +msgstr "Kadarnaat :" + +#: ../libseahorse/seahorse-prefs.c:63 +msgid "Not a valid Key Server address." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:64 +msgid "For help contact your system adminstrator or the administrator of the key server." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:173 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:353 +msgid "Custom" +msgstr "Personelaet" + +#: ../libseahorse/seahorse-prefs.c:420 +msgid "None: Don't publish keys" +msgstr "Tra ebet : N'embann ket" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Automatically retrieve keys from _key servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "Key Servers" +msgstr "Servijerien an alc'hwezioù" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Key Sharing" +msgstr "Rannañ alc'hwezioù" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Preferences" +msgstr "Gwellvezioù" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've collected. This means they can automatically encrypt things for you or those you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:9 +msgid "_Find keys via:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:10 +msgid "_Publish keys to:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:11 +msgid "_Share my keys with others on my network" +msgstr "" + +#: ../libseahorse/seahorse-progress.xml.h:1 +msgid "Progress Title" +msgstr "" + +#: ../libseahorse/seahorse-unknown.c:67 +msgid "Unavailable" +msgstr "Dizimplijadus" + +#: ../libseahorse/seahorse-util.c:206 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-util.c:439 +msgid "Key Data" +msgstr "Roadennoù an alc'hwez" + +#: ../libseahorse/seahorse-util.c:441 +msgid "Multiple Keys" +msgstr "Alc'hwezioù lies" + +#: ../libseahorse/seahorse-util.c:696 +msgid "Couldn't run file-roller" +msgstr "" + +#: ../libseahorse/seahorse-util.c:702 +msgid "Couldn't package files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:703 +msgid "The file-roller process did not complete successfully" +msgstr "" + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:812 +msgid "All key files" +msgstr "An holl restroù alc'hwez" + +#: ../libseahorse/seahorse-util.c:823 +#: ../libseahorse/seahorse-util.c:863 +#: ../pgp/seahorse-gpgme-photos.c:242 +msgid "All files" +msgstr "An holl restroù" + +#: ../libseahorse/seahorse-util.c:856 +msgid "Archive files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:905 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" + +#: ../libseahorse/seahorse-util.c:908 +msgid "_Replace" +msgstr "E_rlec'hiañ" + +#: ../libseahorse/seahorse-validity.c:34 +#: ../pgp/seahorse-gpgme-subkey.c:197 +#: ../pgp/seahorse-pgp-key-properties.c:1131 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Unknown" +msgstr "Dianav" + +#: ../libseahorse/seahorse-validity.c:36 +#: ../pgp/seahorse-pgp-key-properties.c:1137 +msgctxt "Validity" +msgid "Never" +msgstr "Biken" + +#: ../libseahorse/seahorse-validity.c:38 +#: ../pgp/seahorse-pgp-key-properties.c:1144 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:33 +msgid "Marginal" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1150 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +msgid "Full" +msgstr "Leun" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1156 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Ultimate" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-key-properties.c:1349 +msgid "Disabled" +msgstr "Diweredekaet" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-key-properties.c:1345 +msgid "Revoked" +msgstr "Dizorniet" + +#: ../libseahorse/seahorse-widget.c:362 +#, c-format +msgid "Could not display help: %s" +msgstr "Ne oa ket tu diskouezh ar skoazell: %s" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Expiration Date:" +msgstr "Deiziad termen :" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "Generate a new subkey" +msgstr "Krouiñ an is-alc'hwez nevez" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +msgid "If key never expires" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "_Hirder an alc'hwez :" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Key _Type:" +msgstr "_Rizh an alc'hwez :" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "Hirder an alc'hwez" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Never E_xpires" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "Ouzhpennañ an ID an arveriad" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Create the new user ID" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:3 +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Full _Name:" +msgstr "A_nv hag anv-bihan :" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Key Co_mment:" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:5 +msgid "Must be at least 5 characters long" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:6 +msgid "Optional comment describing key" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:7 +msgid "Optional email address" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:8 +#: ../pgp/seahorse-pgp-generate.xml.h:13 +msgid "_Email Address:" +msgstr "Chomlec'h post_el" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "C_hange" +msgstr "_Kemmañ" + +#: ../pgp/seahorse-expires.xml.h:2 +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Revoke key" +msgstr "Dizorniañ an alc'hwez" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "_Never expires" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:144 +msgid "Couldn't add subkey" +msgstr "N'em eus ket ouzhpennañ an is-alc'hwez" + +#: ../pgp/seahorse-gpgme-add-subkey.c:163 +#, c-format +msgid "Add subkey to %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:179 +#: ../pgp/seahorse-gpgme-generate.c:96 +msgid "DSA (sign only)" +msgstr "DSA (sinañ hepken)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:187 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (enrinegañ hepken)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:193 +#: ../pgp/seahorse-gpgme-generate.c:97 +msgid "RSA (sign only)" +msgstr "RSA (sinañ hepken)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:199 +msgid "RSA (encrypt only)" +msgstr "RSA (enrinegañ hepken)" + +#: ../pgp/seahorse-gpgme-add-uid.c:85 +msgid "Couldn't add user id" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-uid.c:107 +#, c-format +msgid "Add user ID to %s" +msgstr "" + +#: ../pgp/seahorse-gpgme.c:51 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:58 +msgid "Invalid expiry date" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:59 +msgid "The expiry date must be in the future" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:72 +msgid "Couldn't change expiry date" +msgstr "N'haller ket kemmañ deiziad termen" + +#: ../pgp/seahorse-gpgme-expires.c:131 +#, c-format +msgid "Expiry: %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:65 +msgid "PGP Key" +msgstr "Alch'hwez PGP" + +#: ../pgp/seahorse-gpgme-generate.c:66 +msgid "Used to encrypt email and files" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:95 +msgid "DSA Elgamal" +msgstr "DSA Elgamal" + +#: ../pgp/seahorse-gpgme-generate.c:106 +msgid "Couldn't generate PGP key" +msgstr "N'em eus ket krouiñ an alc'hwez PGP" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "Lavarenn-tremen evit ar alc'hwez PGP nevez" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:223 +msgid "Couldn't generate key" +msgstr "N'em eus ket krouiñ an alc'hwez" + +#: ../pgp/seahorse-gpgme-generate.c:225 +msgid "Generating key" +msgstr "Emaon o krouiñ an alc'hwez" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "_N'admentañ ket" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "Ad_mentañ" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "This is not a image file, or an unrecognized kind of image file. Try to use a JPEG image." +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "An holl restroù skeudenn" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "An holl restroù JPEG" + +#: ../pgp/seahorse-gpgme-photos.c:261 +msgid "Choose Photo to Add to Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:290 +#: ../pgp/seahorse-gpgme-photos.c:294 +msgid "Couldn't add photo" +msgstr "N'em eus ket ouzhpennañ an foto" + +#: ../pgp/seahorse-gpgme-photos.c:291 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:320 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:333 +msgid "Couldn't delete photo" +msgstr "N'em eus ket dilemel al luc'hskeudenn" + +#: ../pgp/seahorse-gpgme-revoke.c:70 +msgid "Couldn't revoke subkey" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:91 +#, c-format +msgid "Revoke: %s" +msgstr "Dizorniañ : %s" + +#: ../pgp/seahorse-gpgme-revoke.c:102 +msgid "No reason" +msgstr "Abeg ebet" + +#: ../pgp/seahorse-gpgme-revoke.c:103 +msgid "No reason for revoking key" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:109 +msgid "Compromised" +msgstr "Lakaet en arvar" + +#: ../pgp/seahorse-gpgme-revoke.c:110 +msgid "Key has been compromised" +msgstr "Lakaet eo bet an alc'hwez en arvar" + +#: ../pgp/seahorse-gpgme-revoke.c:116 +msgid "Superseded" +msgstr "Diamzeret" + +#: ../pgp/seahorse-gpgme-revoke.c:117 +msgid "Key has been superseded" +msgstr "Diamzeret eo bet an alc'hwez" + +#: ../pgp/seahorse-gpgme-revoke.c:123 +msgid "Not Used" +msgstr "Ket arveret" + +#: ../pgp/seahorse-gpgme-revoke.c:124 +msgid "Key is no longer used" +msgstr "N'eo ket ken implijet" + +#: ../pgp/seahorse-gpgme-revoke.c:161 +#, c-format +msgid "You are about to add %s as a revoker for %s. This operation cannot be undone! Are you sure you want to continue?" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:173 +msgid "Couldn't add revoker" +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:96 +msgid "Couldn't sign key" +msgstr "N'em eus ket sinañ an alc'hwez" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:149 +#: ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:150 +msgid "You have no personal PGP keys that can be used to indicate your trust of this key." +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:99 +#, c-format +msgid "Wrong passphrase." +msgstr "Lavarenn-tremen fall" + +#: ../pgp/seahorse-gpgme-source.c:103 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "Roit al lavarenn-tremen nevez evit '%s'" + +#: ../pgp/seahorse-gpgme-source.c:105 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "Roit al lavarenn-tremen evit '%s'" + +#: ../pgp/seahorse-gpgme-source.c:108 +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Enter new passphrase" +msgstr "Roit al lavarenn-tremen nevez" + +#: ../pgp/seahorse-gpgme-source.c:110 +msgid "Enter passphrase" +msgstr "Roit al lavarenn-tremen" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../pgp/seahorse-gpgme-source.c:722 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "" +msgstr[1] "" + +#: ../pgp/seahorse-gpgme-source.c:777 +msgid "Loading Keys..." +msgstr "Emaon o kargañ an alc'hwezioù ..." + +#: ../pgp/seahorse-gpgme-source.c:820 +msgid "Invalid key data (missing UIDs). This may be due to a computer with a date set in the future or a missing self-signature." +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:910 +#: ../src/seahorse-key-manager.c:538 +msgid "Importing Keys" +msgstr "Oc'h enporzhiañ alc'hwezioù" + +#: ../pgp/seahorse-gpgme-source.c:946 +msgid "Exporting Keys" +msgstr "Oc'h ezporzhiañ alc'hwezioù" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:330 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:332 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "N'haller ket mont e darempred gant an dafariad '%s': %s" + +#: ../pgp/seahorse-hkp-source.c:576 +msgid "Searching for keys..." +msgstr "O klask alc'hwezioù ..." + +#: ../pgp/seahorse-hkp-source.c:647 +msgid "Uploading keys..." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:725 +msgid "Retrieving keys..." +msgstr "Oc'h adtapout an alc'hwezioù ..." + +#: ../pgp/seahorse-hkp-source.c:831 +#, c-format +msgid "Searching for keys on: %s" +msgstr "Klask an alc'hwezioù war : %s" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../pgp/seahorse-hkp-source.c:908 +#: ../pgp/seahorse-hkp-source.c:981 +#: ../pgp/seahorse-ldap-source.c:668 +#, c-format +msgid "Connecting to: %s" +msgstr "O kennaskañ ouzh : %s" + +#: ../pgp/seahorse-hkp-source.c:1005 +msgid "HTTP Key Server" +msgstr "Servijer an alc'hwezioù HTTP" + +#: ../pgp/seahorse-ldap-source.c:459 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "N'haller ket mont e darempred gant '%s' : %s" + +#: ../pgp/seahorse-ldap-source.c:641 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:719 +#, c-format +msgid "Resolving server address: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:955 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:982 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "O klask id alc'hwez '%s' ..." + +#: ../pgp/seahorse-ldap-source.c:1087 +msgid "Retrieving remote keys..." +msgstr "Oc'h adtapout an alc'hwezioù a-bell ..." + +#: ../pgp/seahorse-ldap-source.c:1219 +msgid "Sending keys to key server..." +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:1421 +msgid "LDAP Key Server" +msgstr "Servijer an alc'hwezioù LDAP" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "_Sign Key..." +msgstr "_Sinañ an alc'hwez..." + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "Sign public key" +msgstr "Sinañ an alc'hwez foran" + +#: ../pgp/seahorse-pgp-commands.c:171 +#, fuzzy, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Ha sur oc'h e fell deoc'h diverkañ \"%s\" da viken?" + +#: ../pgp/seahorse-pgp-commands.c:176 +#, c-format +msgid "Are you sure you want to permanently delete %d keys and identities?" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.c:178 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.c:180 +#, c-format +msgid "Are you sure you want to permanently delete %d identities?" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "_Advanced key options" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "Algorithms here" +msgstr "Treolioù amañ" + +#: ../pgp/seahorse-pgp-generate.xml.h:4 +msgid "C_reate" +msgstr "K_rouiñ" + +#: ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "E_xpiration Date:" +msgstr "Dei_ziad termen" + +#: ../pgp/seahorse-pgp-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "Encryption _Type:" +msgstr "_Rizh an enrinegadur" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Generate a new key" +msgstr "Krouiñ an alc'hwez nevez" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 +#: ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Key _Strength (bits):" +msgstr "Nerzh an alc'hwez (bits) :" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +msgid "Ne_ver Expires" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "New PGP Key" +msgstr "Alc'hwez PGP nevez" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +msgid "_Comment:" +msgstr "_Askelenn :" + +#: ../pgp/seahorse-pgp-key.c:201 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Private PGP Key" +msgstr "Alc'hwez PGP prevez" + +#: ../pgp/seahorse-pgp-key.c:204 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "Public PGP Key" +msgstr "Alc'hwez PGP foran" + +#: ../pgp/seahorse-pgp-key.c:583 +#: ../pgp/seahorse-pgp-key-properties.c:1347 +msgid "Expired" +msgstr "Diamzeret" + +#: ../pgp/seahorse-pgp-key-properties.c:224 +msgid "Couldn't change primary user ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:241 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:251 +msgid "Couldn't delete user ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:333 +#: ../pgp/seahorse-pgp-key-properties.c:1462 +msgid "[Unknown]" +msgstr "[Dianav]" + +#: ../pgp/seahorse-pgp-key-properties.c:426 +#: ../pgp/seahorse-pgp-key-properties.c:1740 +msgid "Name/Email" +msgstr "Anv/Postel" + +#: ../pgp/seahorse-pgp-key-properties.c:431 +msgid "Signature ID" +msgstr "ID an sinadur" + +#: ../pgp/seahorse-pgp-key-properties.c:552 +msgid "Couldn't change primary photo" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:775 +msgid "(unknown)" +msgstr "(dianav)" + +#: ../pgp/seahorse-pgp-key-properties.c:778 +#, c-format +msgid "This key expired on: %s" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:946 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:955 +msgid "Couldn't delete subkey" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:991 +#: ../pgp/seahorse-pgp-key-properties.c:1425 +msgid "Unable to change trust" +msgstr "N'haller ket kemman ar fiziañs" + +#: ../pgp/seahorse-pgp-key-properties.c:1005 +#: ../src/seahorse-viewer.c:315 +#: ../ssh/seahorse-ssh-key-properties.c:167 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1033 +#: ../ssh/seahorse-ssh-key-properties.c:191 +msgid "Export Complete Key" +msgstr "E_zporzhiañ an alc'hwez en e bezh" + +#: ../pgp/seahorse-pgp-key-properties.c:1058 +#: ../ssh/seahorse-ssh-key-properties.c:213 +msgid "Couldn't export key." +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1265 +#: ../pgp/seahorse-pgp-key-properties.c:1354 +msgctxt "Expires" +msgid "Never" +msgstr "Biken" + +#. The key type column +#: ../pgp/seahorse-pgp-key-properties.c:1315 +#: ../src/seahorse-key-manager-store.c:859 +msgid "Type" +msgstr "Rizh" + +#: ../pgp/seahorse-pgp-key-properties.c:1318 +msgid "Created" +msgstr "Krouet" + +#: ../pgp/seahorse-pgp-key-properties.c:1321 +msgid "Expires" +msgstr "Echuiñ a ra" + +#: ../pgp/seahorse-pgp-key-properties.c:1324 +msgid "Status" +msgstr "Stad" + +#: ../pgp/seahorse-pgp-key-properties.c:1327 +msgid "Strength" +msgstr "Nerzh" + +#: ../pgp/seahorse-pgp-key-properties.c:1351 +msgid "Good" +msgstr "Mad" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +msgid "Actions" +msgstr "Obererezhioù" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgid "Comment:" +msgstr "Askelenn :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgid "Dates" +msgstr "deiziadoù" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgid "Email:" +msgstr "Postel :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgid "Fingerprint" +msgstr "Roudoù biz" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +msgid "Key ID:" +msgstr "ID an alc'hwez :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +msgid "Key Names and Signatures" +msgstr "Anvioù alc'hwez ha sinadurioù" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Name:" +msgstr "Anv :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "Photo " +msgstr "Luc'hskeudenn " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Technical Details" +msgstr "Munudoù kalvezel" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:10 +msgid "This key has been revoked" +msgstr "Dizorniet eo bet an alc'hwez-mañ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "This key has expired" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:12 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Type:" +msgstr "Rizh :" + +#. To translators: This is the noun not the verb. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:15 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +#: ../ssh/seahorse-ssh-key-properties.xml.h:13 +msgid "Use:" +msgstr "Implijout :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "_Subkeys" +msgstr "_Is-alc'hwezioù" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +msgid "Add" +msgstr "Ouzhpennañ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:18 +msgid "Add a photo to this key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Change _Passphrase" +msgstr "Kemmañ al _Lavarenn- tremen" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +msgid "Decrypt files and email sent to you." +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:22 +msgid "Delete" +msgstr "Dilemel" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +msgid "Expire" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:22 +msgid "Expires:" +msgstr "Echuiñ a ra :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Export" +msgstr "Ezporzhiañ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +msgid "Go to next photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Go to previous photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +msgid "Key ID:" +msgstr "ID an alc'hwez :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Make this photo the primary photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "Names and Signatures" +msgstr "Anvioù ha sinadurioù" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#| msgctxt "Validity" +#| msgid "Never" +msgid "Never" +msgstr "Morse" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:36 +msgid "Override Owner _Trust:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "Owner" +msgstr "Perc'henner" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +msgid "Primary" +msgstr "Kentañ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Remove this photo from this key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +msgid "Revoke" +msgstr "Dizorniañ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +msgid "Sign" +msgstr "Sinañ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "Strength:" +msgstr "Nerzh :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "_Add Name" +msgstr "Ouzhpenn_añ an anv" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "_Export Complete Key:" +msgstr "E_zporzhiañ an alc'hwez en e bezh" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgid "Dates:" +msgstr "deiziadoù :" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +#: ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Fingerprint:" +msgstr "Roudoù biz :" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgid "Indicate Trust:" +msgstr "Diskouez an fiziañs :" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Your trust of this key" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:16 +msgid "_Other Names:" +msgstr "Anvioù _all :" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgid "_People who have signed this key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Encrypt files and email to the key's owner " +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +#| msgid "Full" +msgid "Fully" +msgstr "Leun" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:27 +#, no-c-format +msgid "If you believe that the person that owns this key is '%s', sign this key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:29 +#, no-c-format +msgid "If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:32 +msgid "Marginally" +msgstr "" + +#. Trust column +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../src/seahorse-key-manager-store.c:853 +msgid "Trust" +msgstr "Fiziañ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +msgid "Ultimately" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "You _Trust the Owner:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Your trust is manually specified on the Details tab." +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "_Only display the signatures of people I trust" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "_Revoke Signature" +msgstr "Dizo_rniañ an sinadur" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Sign this Key" +msgstr "_Sinañ an alc'hwez-mañ" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Optional description of revocation" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "Re_voke" +msgstr "Di_zorniañ" + +#: ../pgp/seahorse-revoke.xml.h:3 +msgid "Reason for revoking the key" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "_Reason:" +msgstr "_Abeg :" + +#: ../pgp/seahorse-signer.c:62 +msgid "You have no personal PGP keys that can be used to sign a document or message." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "How carefully have you checked this key?" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "How others will see this signature:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Sign key as:" +msgstr "Sinañ an alc'hwez evel :" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "Casually: means you have done a casual verification that the key is owned by the person who claims to own it. For example, you could read the key fingerprint to the owner over the phone. " +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "Key Name" +msgstr "Anv an alc'hwez" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "Not at all: means you believe the key is owned by the person who claims to own it, but you could not or did not verify this to be a fact." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "Very Carefully: Select this only if you are absolutely sure that this key is genuine." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "I can _revoke this signature at a later date." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "Sign Key" +msgstr "Sinañ an alc'hwez" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "You could use a hard to forge photo identification (such as a passport) to personally check that the name on the key is correct. You should have also used email to check that the email address belongs to the owner." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "_Casually" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Not at all" +msgstr "_Damm ebet" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "_Others may not see this signature" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "_Sign" +msgstr "_Sinañ" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "_Siner :" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Very Carefully" +msgstr "" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "_Sinañ ar gemennadenn gant an alc'hwez :" + +#: ../pkcs11/seahorse-pkcs11-certificate.c:107 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:68 +msgid "Certificate" +msgstr "Testeni" + +#: ../pkcs11/seahorse-pkcs11-commands.c:108 +#, c-format +msgid "Are you sure you want to delete the certificate '%s'?" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-commands.c:111 +#, c-format +msgid "Are you sure you want to delete %d certificate?" +msgid_plural "Are you sure you want to delete %d certificates?" +msgstr[0] "" +msgstr[1] "" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "Kemmañ al lavarenn-tremen" + +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Con_firm Passphrase:" +msgstr "_Kadarnaat ar lavarenn-tremen :" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "Confirm new passphrase" +msgstr "Kadarnaat al lavarenn-tremen nevez" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "New _Passphrase:" +msgstr "_Lavarenn tremen nevez" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "Ardeiñ ho tremengerioù hag alc'hwezioù enrinegañ" + +#: ../src/seahorse.desktop.in.in.h:2 +#: ../src/seahorse-key-manager.c:853 +msgid "Passwords and Encryption Keys" +msgstr "Gerioù-tremen hag alc'hwezioù enrinegañ" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "" + +#: ../src/seahorse-generate-select.xml.h:2 +msgid "C_ontinue" +msgstr "K_enderc'hel" + +#: ../src/seahorse-generate-select.xml.h:3 +msgid "Create New ..." +msgstr "" + +#: ../src/seahorse-key-manager.c:233 +#: ../src/seahorse-keyserver-results.c:108 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "%d alc'hwez diuzet" +msgstr[1] "%d alc'hwezioù diuzet" + +#: ../src/seahorse-key-manager.c:404 +#: ../src/seahorse-key-manager.c:464 +#: ../src/seahorse-key-manager.c:527 +#: ../src/seahorse-viewer.c:488 +msgid "Couldn't import keys" +msgstr "N'em eus ket enporzhiañ an alc'hwezioù" + +#: ../src/seahorse-key-manager.c:409 +#: ../src/seahorse-viewer.c:493 +msgid "Imported keys" +msgstr "Alc'hwezioù enporzhiet" + +#: ../src/seahorse-key-manager.c:458 +msgid "Importing keys" +msgstr "Alc'hwezioù enporzhiet" + +#: ../src/seahorse-key-manager.c:481 +#: ../ssh/seahorse-ssh-operation.c:1017 +msgid "Import Key" +msgstr "Enporzhiañ an alc'hwez" + +#: ../src/seahorse-key-manager.c:527 +msgid "Unrecognized key type, or invalid data format" +msgstr "" + +#: ../src/seahorse-key-manager.c:721 +#: ../src/seahorse-keyserver-results.c:207 +msgid "_Remote" +msgstr "A-_bell" + +#: ../src/seahorse-key-manager.c:723 +msgid "Close this program" +msgstr "Serriñ an meziant-mañ" + +#: ../src/seahorse-key-manager.c:724 +msgid "_New..." +msgstr "_Nevez..." + +#: ../src/seahorse-key-manager.c:725 +msgid "Create a new key or item" +msgstr "Krouiñ un alc'hwez pe ergorenn nevez" + +#: ../src/seahorse-key-manager.c:726 +msgid "_Import..." +msgstr "E_nporzhiañ..." + +#: ../src/seahorse-key-manager.c:727 +msgid "Import from a file" +msgstr "" + +#: ../src/seahorse-key-manager.c:729 +msgid "Import from the clipboard" +msgstr "" + +#: ../src/seahorse-key-manager.c:734 +#: ../src/seahorse-keyserver-results.c:217 +msgid "_Find Remote Keys..." +msgstr "_Kavout alc'hwezioù a-bell" + +#: ../src/seahorse-key-manager.c:735 +#: ../src/seahorse-keyserver-results.c:218 +msgid "Search for keys on a key server" +msgstr "" + +#: ../src/seahorse-key-manager.c:736 +msgid "_Sync and Publish Keys..." +msgstr "_Sinkronaat ha embann an alc'hwezioù..." + +#: ../src/seahorse-key-manager.c:737 +msgid "Publish and/or synchronize your keys with those online." +msgstr "" + +#: ../src/seahorse-key-manager.c:742 +msgid "T_ypes" +msgstr "R_izhoù" + +#: ../src/seahorse-key-manager.c:742 +msgid "Show type column" +msgstr "Diskouez bann rizh" + +#: ../src/seahorse-key-manager.c:744 +msgid "_Expiry" +msgstr "" + +#: ../src/seahorse-key-manager.c:744 +msgid "Show expiry column" +msgstr "" + +#: ../src/seahorse-key-manager.c:746 +msgid "_Trust" +msgstr "_Fiziañ" + +#: ../src/seahorse-key-manager.c:746 +msgid "Show owner trust column" +msgstr "" + +#: ../src/seahorse-key-manager.c:748 +msgid "_Validity" +msgstr "Tal_voudegezh" + +#: ../src/seahorse-key-manager.c:748 +msgid "Show validity column" +msgstr "" + +#: ../src/seahorse-key-manager.c:922 +msgid "Filter:" +msgstr "Sil :" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "Dibarzhioù ar wech kentañ :" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "Krouiñ hoc'h alc'hwez nevez deoc'h-c'hwi : " + +#: ../src/seahorse-key-manager.xml.h:3 +msgid "Import existing keys from a file:" +msgstr "Enporzhiañ un alc'hwez a zo anezhañ diouzh ur restr" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "My _Personal Keys" +msgstr "Ma alc'hwezioù _personel" + +#: ../src/seahorse-key-manager.xml.h:5 +#| msgid "Other _Collected Keys" +msgid "Other _Keys" +msgstr "Alc'hwezioù _dastumet all" + +#: ../src/seahorse-key-manager.xml.h:6 +msgid "To get started with encryption you will need keys." +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:7 +#: ../src/seahorse-viewer.c:552 +msgid "_Import" +msgstr "Enporzh_iañ" + +#: ../src/seahorse-key-manager.xml.h:8 +msgid "_Passwords" +msgstr "_Gerioù-tremen" + +#: ../src/seahorse-key-manager-store.c:648 +#: ../src/seahorse-viewer.c:282 +msgid "Couldn't export keys" +msgstr "" + +#: ../src/seahorse-key-manager-store.c:846 +msgid "Validity" +msgstr "Talvoudegezh" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:865 +msgid "Expiration Date" +msgstr "Deiziad termen" + +#: ../src/seahorse-keyserver-results.c:209 +msgid "Close this window" +msgstr "Serriñ ar prenestr-mañ" + +#: ../src/seahorse-keyserver-results.c:210 +msgid "_Expand All" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:211 +msgid "Expand all listings" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:212 +msgid "_Collapse All" +msgstr "_Bihanaat pep tra" + +#: ../src/seahorse-keyserver-results.c:213 +msgid "Collapse all listings" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:275 +msgid "Remote Keys" +msgstr "Alc'hwezioù a-bell" + +#: ../src/seahorse-keyserver-results.c:277 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "" + +#: ../src/seahorse-keyserver-search.xml.h:1 +msgid "Key Servers:" +msgstr "Servijerien an alc'hwezioù :" + +#: ../src/seahorse-keyserver-search.xml.h:2 +msgid "Shared Keys Near Me:" +msgstr "" + +#: ../src/seahorse-keyserver-search.xml.h:3 +msgid "Find Remote Keys" +msgstr "Kavout alc'hwezioù a-bell" + +#: ../src/seahorse-keyserver-search.xml.h:4 +msgid "This will find keys for others on the Internet. These keys can then be imported into your local key ring." +msgstr "" + +#: ../src/seahorse-keyserver-search.xml.h:5 +msgid "Where to search:" +msgstr "" + +#: ../src/seahorse-keyserver-search.xml.h:6 +msgid "_Search" +msgstr "_Klask" + +#: ../src/seahorse-keyserver-search.xml.h:7 +msgid "_Search for keys containing: " +msgstr "" + +#: ../src/seahorse-keyserver-sync.c:45 +msgid "Couldn't publish keys to server" +msgstr "" + +#: ../src/seahorse-keyserver-sync.c:61 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "N'hall ket adtapout an alc'hwezioù diouzh ar servijer : %s" + +#: ../src/seahorse-keyserver-sync.c:155 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "" +msgstr[1] "" + +#: ../src/seahorse-keyserver-sync.c:216 +msgid "Synchronizing keys" +msgstr "O sinkronaat an alc'hwezioù" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:248 +msgid "Synchronizing keys..." +msgstr "O sinkronaat an alc'hwezioù" + +#: ../src/seahorse-keyserver-sync.xml.h:1 +msgid "X keys are selected for synchronizing" +msgstr "" + +#: ../src/seahorse-keyserver-sync.xml.h:2 +msgid "Sync Keys" +msgstr "Sink an alc'hwezioù" + +#: ../src/seahorse-keyserver-sync.xml.h:3 +msgid "This will publish the keys in your key ring so they're available for others to use. You'll also get any changes others have made since you received their keys." +msgstr "" + +#: ../src/seahorse-keyserver-sync.xml.h:4 +msgid "This will retrieve any changes others have made since you received their keys. No key server has been chosen for publishing, so your keys will not be made available to others." +msgstr "" + +#: ../src/seahorse-keyserver-sync.xml.h:5 +msgid "_Key Servers" +msgstr "Servijer alc'h_wezioù" + +#: ../src/seahorse-keyserver-sync.xml.h:6 +msgid "_Sync" +msgstr "_Sink" + +#: ../src/seahorse-main.c:62 +msgid "Version of this application" +msgstr "Handelv an arload-mañ" + +#: ../src/seahorse-main.c:78 +#: ../src/seahorse-viewer.c:170 +msgid "Encryption Key Manager" +msgstr "Ardoer alc'hwezioù enrinegañ" + +#: ../src/seahorse-viewer.c:141 +msgid "Contributions:" +msgstr "" + +#: ../src/seahorse-viewer.c:172 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" Denis ARNAUD https://launchpad.net/~bibar\n" +"\n" +"Launchpad Contributions:\n" +" Denis https://launchpad.net/~bibar" + +#: ../src/seahorse-viewer.c:175 +msgid "Seahorse Project Homepage" +msgstr "Pennbajenn an Raktres Seahorse" + +#. Top menu items +#: ../src/seahorse-viewer.c:194 +msgid "_File" +msgstr "_Restr" + +#: ../src/seahorse-viewer.c:195 +msgid "_Edit" +msgstr "_Embann" + +#: ../src/seahorse-viewer.c:196 +msgid "_View" +msgstr "G_welout" + +#: ../src/seahorse-viewer.c:197 +msgid "_Help" +msgstr "_Skoazell" + +#: ../src/seahorse-viewer.c:199 +msgid "Prefere_nces" +msgstr "_Gwellvezioù" + +#: ../src/seahorse-viewer.c:200 +msgid "Change preferences for this program" +msgstr "Kemmañ ar gwellvezioù evit an meziant-mañ" + +#: ../src/seahorse-viewer.c:203 +msgid "About this program" +msgstr "A-zivout an meziant-mañ" + +#: ../src/seahorse-viewer.c:204 +msgid "_Contents" +msgstr "Endal_c'hadoù" + +#: ../src/seahorse-viewer.c:205 +msgid "Show Seahorse help" +msgstr "Diskouez skoazell Seahorse" + +#: ../src/seahorse-viewer.c:302 +msgid "Export public key" +msgstr "Ezporzhiañ an alc'hwez foran" + +#: ../src/seahorse-viewer.c:320 +msgid "Exporting keys" +msgstr "Oc'h ezporzhiañ alc'hwezioù" + +#: ../src/seahorse-viewer.c:345 +msgid "Couldn't retrieve data from key server" +msgstr "N'hall ket adtapout an roadennoù diouzh ar servijer alc'hwez" + +#. Translators: "Copied" is a verb (used as a status indicator), not an adjective for the word "keys" +#: ../src/seahorse-viewer.c:364 +msgid "Copied keys" +msgstr "Alc'hwezioù eilet" + +#: ../src/seahorse-viewer.c:384 +msgid "Retrieving keys" +msgstr "Oc'h adtapout an alc'hwezioù" + +#: ../src/seahorse-viewer.c:399 +msgid "Couldn't delete." +msgstr "" + +#: ../src/seahorse-viewer.c:433 +msgid "Deleting..." +msgstr "O dilemel..." + +#: ../src/seahorse-viewer.c:462 +#, c-format +msgid "%s is a private key. Are you sure you want to proceed?" +msgstr "" + +#: ../src/seahorse-viewer.c:465 +msgid "One or more of the deleted keys are private keys. Are you sure you want to proceed?" +msgstr "" + +#: ../src/seahorse-viewer.c:513 +msgid "Importing keys from key servers" +msgstr "" + +#: ../src/seahorse-viewer.c:539 +msgid "Show properties" +msgstr "Diskouez perzhioù" + +#: ../src/seahorse-viewer.c:540 +msgctxt "This text refers to deleting an item from its type's backing store." +msgid "_Delete" +msgstr "_Dilemel" + +#: ../src/seahorse-viewer.c:541 +msgid "Delete selected items" +msgstr "" + +#: ../src/seahorse-viewer.c:545 +msgid "E_xport..." +msgstr "E_zporzhiañ..." + +#: ../src/seahorse-viewer.c:546 +msgid "Export to a file" +msgstr "" + +#: ../src/seahorse-viewer.c:548 +msgid "Copy to the clipboard" +msgstr "Eilañ er golver" + +#: ../src/seahorse-viewer.c:553 +msgid "Import selected keys to local key ring" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:99 +msgid "Enter your Secure Shell passphrase:" +msgstr "" + +#: ../ssh/seahorse-ssh-commands.c:85 +msgid "Configure Key for _Secure Shell..." +msgstr "Kefluniañ an alc'hwez evit _SSH..." + +#: ../ssh/seahorse-ssh-commands.c:86 +msgid "Send public Secure Shell key to another machine, and enable logins using that key." +msgstr "" + +#: ../ssh/seahorse-ssh-commands.c:115 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "" + +#: ../ssh/seahorse-ssh-commands.c:118 +#, c-format +msgid "Are you sure you want to delete %d secure shell keys?" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:59 +#: ../ssh/seahorse-ssh-key.c:91 +#: ../ssh/seahorse-ssh-key.c:95 +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "Secure Shell Key" +msgstr "Alc'hwez SSH" + +#: ../ssh/seahorse-ssh-generate.c:60 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:90 +msgid "Couldn't generate Secure Shell key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:205 +msgid "Creating Secure Shell Key" +msgstr "Krouiñ un alc'hwez SSH" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "Use your email address, and any other reminder you need about what this key is for." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "A Secure Shell (SSH) key lets you connect securely to trusted computers using SSH, without entering a different password for each of them." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "If there is already a computer you want to use this key with, you can set up that computer to recognize your key now. " +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "New Secure Shell Key" +msgstr "Alc'hwez SSH nevez" + +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "_Create and Set Up" +msgstr "_Krouiñ hag arventenniñ" + +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Just Create Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "_Key Description:" +msgstr "Deskrivadur an _alc'wez :" + +#: ../ssh/seahorse-ssh-key.c:87 +msgid "(Unreadable Secure Shell Key)" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "Invalid" +msgstr "Didalvoudek" + +#: ../ssh/seahorse-ssh-key.c:116 +msgid "Private Secure Shell Key" +msgstr "Alc'hwez SSH prevez" + +#: ../ssh/seahorse-ssh-key.c:119 +msgid "Public Secure Shell Key" +msgstr "Alc'hwez SSH foran" + +#: ../ssh/seahorse-ssh-key-properties.c:71 +msgid "Couldn't rename key." +msgstr "N'em eus ket adenvel an alc'hwez" + +#: ../ssh/seahorse-ssh-key-properties.c:112 +msgid "Couldn't change authorization for key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:127 +msgid "Couldn't change passphrase for key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "/home/nate/.ssh/blah_rsa" +msgstr "/home/nate/.ssh/blah_rsa" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "00:00:00:00:00" +msgstr "00:00:00:00:00" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Algorithm:" +msgstr "Treol :" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:5 +msgid "Identifier:" +msgstr "Naoudi :" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgid "Location:" +msgstr "Lec'hiadur :" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:8 +msgid "Strength:" +msgstr "Nerzh :" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Trust" +msgstr "Fiziañs" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "E_xport Complete Key" +msgstr "E_zporzhiañ an alc'hwez en e bezh" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:23 +msgid "Used to connect to other computers." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:143 +#: ../ssh/seahorse-ssh-operation.c:732 +#, c-format +msgid "The SSH command was terminated unexpectedly." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:151 +#: ../ssh/seahorse-ssh-operation.c:739 +msgid "The SSH command failed." +msgstr "Sac'het eo an urzhiad SSH" + +#: ../ssh/seahorse-ssh-operation.c:445 +#: ../ssh/seahorse-ssh-operation.c:477 +msgid "Secure Shell key" +msgstr "Alc'hwez SSH" + +#: ../ssh/seahorse-ssh-operation.c:448 +msgid "Passphrase:" +msgstr "Lavarenn-tremen :" + +#. Just prompt over and over again +#: ../ssh/seahorse-ssh-operation.c:762 +msgid "Remote Host Password" +msgstr "Ger tremen ostiz a-bell" + +#: ../ssh/seahorse-ssh-operation.c:850 +msgid "Old Key Passphrase" +msgstr "Lavarenn-tremen kozh alc'hwez" + +#: ../ssh/seahorse-ssh-operation.c:851 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Roit al lavarenn-tremen kozh evit : %s" + +#: ../ssh/seahorse-ssh-operation.c:855 +msgid "New Key Passphrase" +msgstr "Lavarenn-tremen nevez alc'hwez" + +#: ../ssh/seahorse-ssh-operation.c:856 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Roit al lavarenn-tremen nevez evit : %s" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Enter Key Passphrase" +msgstr "Roit lavarenn-tremen alc'hwez" + +#: ../ssh/seahorse-ssh-operation.c:931 +msgid "Passphrase for New Secure Shell Key" +msgstr "Lavarenn tremen evit an alc'hwez SSH nevez" + +#: ../ssh/seahorse-ssh-operation.c:932 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "Roit al lavarenn tremen evit hoc'h alc'hwez SSH nevez." + +#: ../ssh/seahorse-ssh-operation.c:1013 +#, c-format +msgid "Importing key: %s" +msgstr "Oc'h enporzhiañ alc'hwezioù : %s" + +#: ../ssh/seahorse-ssh-operation.c:1015 +msgid "Importing key. Enter passphrase" +msgstr "Oc'h enporzhiañ alc'hwezioù. Roit an lavarenn tremen" + +#: ../ssh/seahorse-ssh-source.c:825 +msgid "No private key file is available for this key." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.c:45 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "" + +#. Show the progress window if necessary +#: ../ssh/seahorse-ssh-upload.c:181 +msgid "Configuring Secure Shell Keys..." +msgstr "O kefluniañ alc'hwezioù SSH..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "eg: fileserver.example.com:port" +msgstr "sk : dafariadrestrou.skouer.com:porzh" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "To use your Secure Shell key with another computer that uses SSH, you must already have a login account on that computer." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "Anv an _urzhiataer :" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "Anv ar_veriad :" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "_Arventennoù" + +#~ msgid "Create a PGP Key" +#~ msgstr "Krouiñ un alc'hwez PGP" +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginal\n" +#~ "Full\n" +#~ "Ultimate" +#~ msgstr "" +#~ "Dianav\n" +#~ "Biken\n" +#~ "A eil izel\n" +#~ "Leun\n" +#~ "Diharz" +#~ msgid "_Trusted Keys" +#~ msgstr "Alc'hwezioù a _fiziañs" + diff --git a/po/bs.po b/po/bs.po new file mode 100644 index 00000000..5c30fd5e --- /dev/null +++ b/po/bs.po @@ -0,0 +1,2613 @@ +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2015-02-26 23:55+0000\n" +"PO-Revision-Date: 2015-02-28 12:08+0100\n" +"Last-Translator: Samir Ribić \n" +"Language-Team: Bosnian \n" +"Language: bs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" +"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Launchpad (build 17341)\n" +"X-Launchpad-Export-Date: 2015-02-15 06:17+0000\n" + +#: ../data/seahorse.appdata.xml.in.h:1 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"Seahorse je GNOME aplikacija za upravljanje ključevima za šifriranje. Takođe " +"se integrira sa nautilusom, geditom i ostalim mjestima za operacije " +"šifriranja." + +#: ../data/seahorse.appdata.xml.in.h:2 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don't have to keep typing it and backup your keys and keyring." +msgstr "" +"Sa seahorse-om možete kreirati i upravljati PGP ključevima, kreirati i " +"upravljati SSH ključevima, objavljivati i popravljati ključeve sa servisa " +"ključeva, kešira vaše lozinke tako da ih ne morate uvijek ukucavati i pravi " +"sigurnosne kopije vaših ključeva i prstena" + +#: ../data/seahorse.desktop.in.in.h:1 ../common/catalog.vala:285 +#: ../src/seahorse-key-manager.c:660 +msgid "Passwords and Keys" +msgstr "Lozinke i ključevi" + +#: ../data/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "Uredite vaše lozinke i ključeve šifrovanja" + +#: ../data/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "prsten ključeva;šifrovanje;bezbjednost;potpisivanje;ssh;" + +#: ../common/catalog.vala:257 +msgid "Contributions:" +msgstr "Doprinosi:" + +#: ../common/catalog.vala:287 +msgid "translator-credits" +msgstr "" +" Irma Solakovic https://launchpad.net/~isolakovic\n" +" Maida Bakovic https://launchpad.net/~maidabakovic\n" +" Samir Ribić https://launchpad.net/~megaribi" + +#: ../common/catalog.vala:290 +msgid "Seahorse Project Homepage" +msgstr "Stranica projekta Seahorse" + +#: ../common/catalog.vala:308 +msgid "Cannot delete" +msgstr "Ne mogu obrisati" + +#: ../common/catalog.vala:331 ../libseahorse/seahorse-key-manager-store.c:440 +msgid "Couldn't export keys" +msgstr "Ne mogu da izvezem ključeve" + +#: ../common/catalog.vala:342 +msgid "Couldn't export data" +msgstr "Nije moguce izvesti podatke" + +#: ../common/catalog.vala:358 ../libseahorse/seahorse-widget.c:465 +#, c-format +msgid "Could not display help: %s" +msgstr "Nisam mogao da prikažem pomoć: %s" + +#. Top mijenu items +#: ../common/catalog.vala:364 +msgid "_File" +msgstr "_Datoteka" + +#: ../common/catalog.vala:365 +msgid "E_xport..." +msgstr "I_zvoz..." + +#: ../common/catalog.vala:366 +msgid "Export to a file" +msgstr "Izvezi u datoteku" + +#: ../common/catalog.vala:367 +msgid "_Edit" +msgstr "_Uredi" + +#: ../common/catalog.vala:370 +msgid "Copy to the clipboard" +msgstr "Kopiraj u ostavu" + +#: ../common/catalog.vala:371 ../pkcs11/pkcs11-properties.vala:201 +#: ../src/seahorse-sidebar.c:954 +msgid "_Delete" +msgstr "_Obriši" + +#: ../common/catalog.vala:372 +msgid "Delete selected items" +msgstr "Obriši odabrane stavke" + +#: ../common/catalog.vala:374 +msgid "Show the properties of this item" +msgstr "Prikaži svojstva ove stavke" + +#: ../common/catalog.vala:376 +msgid "Show the properties of this keyring" +msgstr "Prikaži svojstva ovog prstena ključeva" + +#: ../common/catalog.vala:377 +msgid "Prefere_nces" +msgstr "Podeša_vanja" + +#: ../common/catalog.vala:378 +msgid "Change preferences for this program" +msgstr "Promjeni podešavanja za ovaj program" + +#: ../common/catalog.vala:379 +msgid "_View" +msgstr "_Pogled" + +#: ../common/catalog.vala:380 +msgid "_Help" +msgstr "_Pomoć" + +#: ../common/catalog.vala:382 +msgid "About this program" +msgstr "O ovmo programu" + +#: ../common/catalog.vala:383 +msgid "_Contents" +msgstr "_Sadržaj" + +#: ../common/catalog.vala:384 +msgid "Show Seahorse help" +msgstr "Pokaži pomoć za Seahorse" + +#: ../common/exportable.vala:192 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "Izvezi" + +#: ../gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Lozinke" + +#: ../gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Spremljene lične lozinke, akreditive i tajne" + +#: ../gkr/gkr-backend.vala:241 +msgid "New password keyring" +msgstr "Novi privezak za lozinke" + +#: ../gkr/gkr-backend.vala:242 ../gkr/gkr-backend.vala:249 +msgid "Used to store application and network passwords" +msgstr "Korišteno za spremanje lozinki programa i mreže" + +#: ../gkr/gkr-backend.vala:243 +msgid "New password..." +msgstr "Nova lozinka..." + +#: ../gkr/gkr-backend.vala:244 ../gkr/gkr-backend.vala:251 +msgid "Safely store a password or secret." +msgstr "Sigurno čuva lozinke ili tajne." + +#: ../gkr/gkr-backend.vala:248 +msgid "Password Keyring" +msgstr "Privezak za lozinke" + +#: ../gkr/gkr-backend.vala:250 +msgid "Stored Password" +msgstr "Sačuvane lozinke" + +#: ../gkr/gkr-item-add.vala:24 +msgid "Add Password" +msgstr "Dodaj lozinku" + +#: ../gkr/gkr-item-add.vala:101 +msgid "Couldn't add item" +msgstr "Nije moguće dodati stavku" + +#: ../gkr/gkr-item-properties.vala:136 +msgid "Access a network share or resource" +msgstr "Pristupiti sadržaju dijeljenom na mreži ili resursima" + +#: ../gkr/gkr-item-properties.vala:139 +msgid "Access a website" +msgstr "Pristupi Web stranici" + +#: ../gkr/gkr-item-properties.vala:142 +msgid "Unlocks a PGP key" +msgstr "Otključava PGP ključ" + +#: ../gkr/gkr-item-properties.vala:145 +msgid "Unlocks a Secure Shell key" +msgstr "Otključava ključ osiguranog komandnog okruženja" + +#: ../gkr/gkr-item-properties.vala:148 +msgid "Saved password or login" +msgstr "Sačuvana propusna šifra ili prijavnica" + +#: ../gkr/gkr-item-properties.vala:161 +msgid "Network Credentials" +msgstr "Akreditivi mreže" + +#: ../gkr/gkr-item-properties.vala:166 +msgid "Password" +msgstr "Lozinka" + +#: ../gkr/gkr-item-properties.vala:235 +msgid "Couldn't change password." +msgstr "Nisam mogao da promijenim šifru." + +#: ../gkr/gkr-item-properties.vala:273 +msgid "Couldn't set description." +msgstr "Nisam mogao da postavim opis." + +#. Translators: This should bje the same as the string in empathy +#: ../gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "Lozinka IM računa za " + +#: ../gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "Lozinka ili tajna" + +#: ../gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "Lozinka mreže" + +#: ../gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "Sačuvana bilješka" + +#: ../gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "Lozinka prstena lozinki" + +#: ../gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "Ključ za šifriranje lozinke" + +#: ../gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "Ključ za pohranu lozinke" + +#: ../gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "Lozinka za Google Chrome" + +#: ../gkr/gkr-item.vala:451 +msgid "Gnome Online Accounts password" +msgstr "Lozinka Gnome Online naloga" + +#: ../gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "Telepathy lozinka" + +#: ../gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "Lozinka za IM" + +#: ../gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "Lozinka za mrežni upravitelj" + +#: ../gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "Da li sigurno želite da izbrišete lozinku „%s“?" + +#: ../gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Da li sigurno želite da izbrišete %d lozinku?" +msgstr[1] "Da li sigurno želite da izbrišete %d lozinke?" +msgstr[2] "Da li sigurno želite da izbrišete %d lozinki?" + +#: ../gkr/gkr-keyring-add.vala:25 +msgid "Add Password Keyring" +msgstr "Dodati prsten ključeva propusne riječi" + +#: ../gkr/gkr-keyring-add.vala:55 +msgid "Couldn't add keyring" +msgstr "Nisam mogao da dodam prsten ključeva" + +#: ../gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "Prsten ključeva koji se automatski otključava prilikom prijave" + +#: ../gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "Prsten ključeva za spremanje lozinki" + +#: ../gkr/gkr-keyring.vala:174 +msgid "Couldn't set default keyring" +msgstr "Ne mogu da postavim podrazumijevani prsten ključeva za ključeve" + +#: ../gkr/gkr-keyring.vala:198 ../gkr/gkr-keyring.vala:203 +msgid "Couldn't change keyring password" +msgstr "Nisam mogao da promijenim propusnu riječ prstena ključeva" + +#: ../gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "_Postavi kao zadano" + +#: ../gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "Programi uglavnom skladište nove lozinke u zadanom prstenu ključeva." + +#: ../gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "Izmijeni _lozinku" + +#: ../gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "Izmijeni lozinku za otključavanje privjeska za lozinke" + +#: ../gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "Da li sigurno želite da izbrišete „%s“ prsten ključeva?" + +#: ../gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "Shvaćam da će sve stavke biti trajno izbrisane." + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Molim vas izaberite ime za novi prsten ključeva. Bit će vam zatražena " +"lozinka za otključavanje." + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "Novo ime prstena ključeva:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "_Opis:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +msgid "_Password:" +msgstr "_Lozinka:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Show Password" +msgstr "_Pokaži lozinku" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Keyring:" +msgstr "_Prsten ključeva:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "Upotreba:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "Vrsta:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Server:" +msgstr "Server:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Login:" +msgstr "Prijava:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Show pass_word" +msgstr "Prikaži _lozinku" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../libseahorse/seahorse-passphrase.c:179 ../ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Lozinka:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +#: ../pgp/seahorse-pgp-subkey.c:402 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "Ključ" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "Tehnički detalji:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "Detalji" + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Name:" +msgstr "Naziv:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "Napravljeno:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring" +msgstr "Prsten ključeva" + +#: ../libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Prikaži oznake" + +#: ../libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Prikazane osobine datuma i/ili vremena" + +#: ../libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Lijeni režim" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "Lijeni režim ne normalizuje unijete vrijednosti za datum i vrijeme" + +#: ../libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Godina" + +#: ../libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Prikazana godina" + +#: ../libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mjesec" + +#: ../libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Prikazani mjesec" + +#: ../libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dan" + +#: ../libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Prikazani dan u mjesecu" + +#: ../libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Sat" + +#: ../libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Prikazani čas" + +#: ../libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minuta" + +#: ../libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Prikazani minut" + +#: ../libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Drugo" + +#: ../libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Prikazano drugo" + +#: ../libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Najmanja vrijednost godine" + +#: ../libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Godina za donje ograničenje datuma" + +#: ../libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Najveća vrijednost godine" + +#: ../libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Godina za gornje ograničenje datuma" + +#: ../libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Najmanja vrijednost mjeseca" + +#: ../libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Mjesec za donje ograničenje datuma" + +#: ../libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Najveća vrijednost mjeseca" + +#: ../libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Mjesec za gornje ograničenje datuma" + +#: ../libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Najmanja vrijednost dana" + +#: ../libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Dan za donje ograničenje datuma" + +#: ../libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Najveća vrijednost dana" + +#: ../libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Dan za gornje ograničenje datuma" + +#: ../libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Najmanja vrijednost časa" + +#: ../libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Čas za donje ograničenje datuma" + +#: ../libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Najveća vrijednost časa" + +#: ../libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Čas za gornje ograničenje datuma" + +#: ../libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Najmanja vrijednost minuta" + +#: ../libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Minut za donje ograničenje datuma" + +#: ../libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Najveća vrijednost minuta" + +#: ../libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Minut za gornje ograničenje datuma" + +#: ../libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Najmanja vrijednost sekundi" + +#: ../libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Sekunda za donje ograničenje datuma" + +#: ../libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Najveća vrijednost sekundi" + +#: ../libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Sekunda za gornje ograničenje datuma" + +#. Translate to calendar:week_start:1 if you want Monday to bje the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Datum" + +#: ../libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Unesite datum direktno" + +#: ../libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Odaberi datum" + +#: ../libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Izaberi datum iz kalendara" + +#: ../libegg/egg-datetime.c:520 ../libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "Vrijeme" + +#: ../libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Unesite vrijeme direktno" + +#: ../libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Odaberi vrijeme" + +#: ../libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Izaberi vrijeme sa liste" + +#. Translators: set this to anything else if you want to usi a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:796 ../libegg/egg-datetime.c:1259 +#: ../libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:798 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "početna privremena stavka" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "Dodaj server ključeva" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "Tip servera ključeva:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "Domaćin:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "Ime hosta ili adresa servera." + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "Port kojim se može pristupiti serveru." + +#: ../libseahorse/seahorse-application.c:114 +msgid "Version of this application" +msgstr "Verzija ove aplikacije" + +#: ../libseahorse/seahorse-application.c:120 +#: ../libseahorse/seahorse-application.c:164 +msgid "- System Settings" +msgstr "- Sistemske postavke" + +#: ../libseahorse/seahorse-application.c:160 +msgid "Don't display a window" +msgstr "Ne prikazuj prozor" + +#: ../libseahorse/seahorse-interaction.c:98 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Unesite PIN ili šifru za: %s" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:241 +msgid "Confirm:" +msgstr "Potvrdi:" + +#: ../libseahorse/seahorse-prefs.c:65 +msgid "Not a valid Key Server address." +msgstr "Nevažeća adresa servera ključeva." + +#: ../libseahorse/seahorse-prefs.c:66 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Za pomoć se obratite vašem administratoru sistema ili administratoru servera " +"ključeva." + +#: ../libseahorse/seahorse-prefs.c:179 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:349 +msgid "Custom" +msgstr "Prilagođeno" + +#: ../libseahorse/seahorse-prefs.c:402 +msgid "None: Don't publish keys" +msgstr "Nijedan: Nemoj objavljivati ključeve" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "Postavke" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "_Pronađi ključ preko:" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "_Objavi ključeve na:" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "Automatski preuzmi ključeve sa servera _ključeva" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Automatski sinhronizuj _modifikovane ključeve sa serverima ključeva" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "Serveri ključeva" + +#: ../libseahorse/seahorse-validity.c:38 +#: ../pgp/seahorse-pgp-key-properties.c:1251 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "Nepoznato" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1257 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "Nikad" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "Marginalno" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "Potpuno" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Bezuvjetna" + +#: ../libseahorse/seahorse-validity.c:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Onemogućena" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Opozvano" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "Nikad ne is_tiče" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "Ako ključ nikad ne ističe" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "_Tip ključa:" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "_Dužina ključa:" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "Datum isteka:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "Dužina ključa" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "Napravi novi podključ" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "Dodaj ID korisnika" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "Mora biti dužine bar 5 znakova" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "Neobavezna adresa e-pošte" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "Neobavezna primjedba za opis ključa" + +#. Full nami of the key, usually the nami of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "Puno _ime:" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "_E-mail adresa:" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "Ko_mentar ključa:" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "Napravi novi ID korisnika" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "_Nikad ne ističe" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "Opozovi ključ" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "_Promijeni" + +#: ../pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn't add subkey" +msgstr "Ne mogu da dodam podključ" + +#: ../pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "Dodaj podključ u %s" + +#: ../pgp/seahorse-gpgme-add-subkey.c:196 ../pgp/seahorse-gpgme-generate.c:132 +msgid "DSA (sign only)" +msgstr "DSA (samo potpis)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (samo šifrovanje)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:210 ../pgp/seahorse-gpgme-generate.c:133 +msgid "RSA (sign only)" +msgstr "RSA (samo potpis)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (samo šifrovanje)" + +#: ../pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn't add user id" +msgstr "Ne mogu da dodam ID korisnika" + +#: ../pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "Dodaj ID korisnika u %s" + +#: ../pgp/seahorse-gpgme.c:71 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Dešifrovanje nije uspjelo. Vjerovatno nemate ključ za dešifrovanje." + +#: ../pgp/seahorse-gpgme.c:75 ../pgp/seahorse-hkp-source.c:548 +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The operation was cancelled" +msgstr "Radnja je poništena" + +#: ../pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "Nevažeći datum isteka" + +#: ../pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "Datum isteka mora biti u budućnosti" + +#: ../pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn't change expiry date" +msgstr "Nisam mogao da promijenim datum isteka" + +#: ../pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "Ističe: %s" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "Višestruki ključevi" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "Podaci ključa" + +#: ../pgp/seahorse-gpgme-exporter.c:116 +msgid "Armored PGP keys" +msgstr "Oklopljeni PGP ključevi" + +#: ../pgp/seahorse-gpgme-exporter.c:120 +msgid "PGP keys" +msgstr "PGP ključevi" + +#: ../pgp/seahorse-gpgme-generate.c:93 +msgid "PGP Key" +msgstr "PGP ključ" + +#: ../pgp/seahorse-gpgme-generate.c:94 +msgid "Used to encrypt email and files" +msgstr "Koristi se za šifrovanje e-maila i datoteka" + +#: ../pgp/seahorse-gpgme-generate.c:130 +#: ../pkcs11/seahorse-pkcs11-generate.c:90 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:131 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: ../pgp/seahorse-gpgme-generate.c:180 +msgid "Couldn't generate PGP key" +msgstr "Nisam mogao da generišem PGP ključ" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "Propusna fraza za novi PGP ključ" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "Unesite dva puta propusnu frazu za vaš novi ključ." + +#. Has linije breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It's a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Kada kreiramo ključ, potrebno je generirati mnogo\n" +"nasumičnih podataka i treba nam vaša pomoć. Dobra je\n" +"ideja izvršiti neke druge radnje kao što su pisanje na \n" +"tastaturi, pomjeranje miša, korištenje aplikacija.\n" +"Tako sistem dobija dovoljno nasumičnih podataka koji su mu potrebni." + +#: ../pgp/seahorse-gpgme-generate.c:231 +#: ../pkcs11/seahorse-pkcs11-generate.c:458 +msgid "Generating key" +msgstr "Pravim ključ" + +#: ../pgp/seahorse-gpgme-key-deleter.c:77 +#: ../pgp/seahorse-gpgme-secret-deleter.c:76 ../pkcs11/pkcs11-deleter.vala:35 +#: ../pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Da li ste sigurni da želite trajno obrisati %s?" + +#: ../pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Da li ste sigurni da želite trajno da izbrišete %d ključ?" +msgstr[1] "Da li ste sigurni da želite trajno da izbrišete %d ključa?" +msgstr[2] "Da li ste sigurni da želite trajno da izbrišete %d ključeva?" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "Wrong password" +msgstr "Pogrešna lozinka" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Ovo je treći put da ste unijeli pogrešnu lozinku. Pokušajte ponovo." + +#: ../pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "Pogrešna lozinka." + +#: ../pgp/seahorse-gpgme-keyring.c:93 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "Unesite novu lozinku za „%s“" + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "Unesite lozinku za „%s“" + +#: ../pgp/seahorse-gpgme-keyring.c:98 +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "Unesite novu lozinku" + +#: ../pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "Unesite lozinku" + +#: ../pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "Lozinka" + +#: ../pgp/seahorse-gpgme-keyring.c:306 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Učitah %d ključ" +msgstr[1] "Učitah %d ključa" +msgstr[2] "Učitah %d ključeva" + +#: ../pgp/seahorse-gpgme-keyring.c:653 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Nevažeći podaci ključa (nedostaju UID-i). Ovo se može desiti ako je datum na " +"računaru podešen unaprijed ili ako nedostaje samopotpis." + +#: ../pgp/seahorse-gpgme-keyring.c:806 +msgid "GnuPG keys" +msgstr "GnuPG ključevi" + +#: ../pgp/seahorse-gpgme-keyring.c:812 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: podrazumijevani direktorij prstena ključeva" + +#: ../pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"Fotografija je previše velika\n" +"Preporučena veličina fotografije na vašem ključu je %d x %d piksela." + +#: ../pgp/seahorse-gpgme-photos.c:77 +msgid "_Don't Resize" +msgstr "_Nemoj mijenjati veličinu" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Promijeni veličinu" + +#: ../pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Ova datoteka nije slika, ili je neprepoznata vrsta datoteke slike. Pokušaj " +"koristiti JPEG sliku." + +#: ../pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Sve datoteke slika" + +#: ../pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Sve JPEG datoteke" + +#: ../pgp/seahorse-gpgme-photos.c:241 ../src/seahorse-key-manager.c:288 +msgid "All files" +msgstr "Sve datoteke" + +#: ../pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Izaberite sliku za pridodavanje ključu" + +#: ../pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn't prepare photo" +msgstr "Ne mogu pripremiti fotografiju" + +#: ../pgp/seahorse-gpgme-photos.c:294 ../pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn't add photo" +msgstr "Nisam mogao da dodijelim sliku" + +#: ../pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" +"Datoteka nije mogla biti učitana. Moguće da je u neodgovarajućim formatu" + +#: ../pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "" +"Da li ste sigurni da želite da uklonite trenutnu sliku iz vašeg ključa?" + +#: ../pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn't delete photo" +msgstr "Nisam mogao da izbrišem sliku" + +#: ../pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn't revoke subkey" +msgstr "Ne mogu da povučem podključ" + +#: ../pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "Povuci: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "Bez razloga" + +#: ../pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "Nema razloga za povlačenje ključa" + +#: ../pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "Kompromitirano" + +#: ../pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "Ključ je kompromitovan" + +#: ../pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "Zamijenjen" + +#: ../pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "Ključ je zamijenjen" + +#: ../pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "Nije korišten" + +#: ../pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "Ključ se više ne koristi" + +#: ../pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Upravo ćete dodati %s kao povlačenje za %s. Ova operacija se ne može " +"opozvati! Jeste li sigurni da želite nastaviti?" + +#: ../pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn't add revoker" +msgstr "Ne mogu da dodam opozivača" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:82 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Slažem se da ovaj tajni ključ bude trajno obrisan." + +#: ../pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" +"Ovaj ključ je već potpisao\n" +"\"%s\"" + +#: ../pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn't sign key" +msgstr "Ne mogu da potpišem ključ" + +#. TODO: We should bje giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:163 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "Nema ključeva upotrebljivih za potpisivanje" + +#: ../pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Nemate ličnih PGP ključeva koji bi se mogli iskoristiti da ukažu na vaše " +"povjerenje ovom ključu." + +#: ../pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Nepoznat" + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:566 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" +"Pretraga nije bila dovoljno specificirana. Server '%s' je pronašao previše " +"ključeva." + +#: ../pgp/seahorse-hkp-source.c:569 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "Couldn't communicate with server '%s': %s" + +#: ../pgp/seahorse-hkp-source.c:1079 +msgid "HTTP Key Server" +msgstr "HTTP Server ključeva" + +#: ../pgp/seahorse-keyserver-results.c:168 +msgid "Couldn't import keys" +msgstr "Ne mogu da uvezem ključeve" + +#: ../pgp/seahorse-keyserver-results.c:211 +msgid "Importing keys from key servers" +msgstr "Uvoženje ključeva sa servera ključeva" + +#. TRANSLATORS: The "Remote" mijenu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:237 ../src/seahorse-key-manager.c:501 +msgid "_Remote" +msgstr "_Daljinski" + +#: ../pgp/seahorse-keyserver-results.c:239 +msgid "Close this window" +msgstr "Zatvori ovaj prozor" + +#: ../pgp/seahorse-keyserver-results.c:243 ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys..." +msgstr "_Pronađi udaljene ključeve..." + +#: ../pgp/seahorse-keyserver-results.c:244 ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "Pretraži ključeve na serveru ključeva" + +#: ../pgp/seahorse-keyserver-results.c:248 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "_Uvezi" + +#: ../pgp/seahorse-keyserver-results.c:249 +msgid "Import selected keys to local key ring" +msgstr "Uvezi izabrane ključeve u lokalni prsten ključeva" + +#: ../pgp/seahorse-keyserver-results.c:280 +msgid "Remote Keys" +msgstr "Udaljeni ključevi" + +#: ../pgp/seahorse-keyserver-results.c:282 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "Udaljeni ključevi koji sadrže '%s'" + +#: ../pgp/seahorse-keyserver-results.c:485 +msgid "The search for keys failed." +msgstr "Pretraga za ključevima nije uspjela." + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "Pronađi udaljene ključeve" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Ova opcija pronalazi ključeve za druge na internetu. Ovi ključevi se mogu " +"uvesti u vaš lokalni prsten ključeva." + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "_Traži ključeve koji sadrže: " + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "Serveri ključeva:" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "Dijeljeni ključevi u blizini:" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "Gdje Tražiti:" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "_Traži" + +#: ../pgp/seahorse-keyserver-sync.c:56 +msgid "Couldn't publish keys to server" +msgstr "Ne mogu da objavim ključeve na server" + +#: ../pgp/seahorse-keyserver-sync.c:75 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "Nemoguće preuzeti ključeve sa servera: %s" + +#: ../pgp/seahorse-keyserver-sync.c:159 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d ključ je izabran za sinhornizaciju" +msgstr[1] "%d ključa su izabrana za sinhronizaciju" +msgstr[2] "%d ključeva je izabrano za sinhronizaciju" + +#: ../pgp/seahorse-keyserver-sync.c:239 +msgid "Synchronizing keys..." +msgstr "Sinhronizovanje ključeva..." + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "Sinhronizuj ključeve" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"Ova opcija će objaviti ključeve u vaš prsten ključeva tako da oni budu " +"dostupni drugima na korišćenje. Takođe, pojaviće vam se promjene koje su " +"napravili drugi od vremena kada ste primili njihove ključeve." + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Ova opcija će preuzeti sve promjene koje su napravili drugi od kako ste " +"primili njihove ključeve. Nijeden server ključeva nije izabran za " +"objavljivanje, tako da vaši ključevi neće biti dostupni drugima." + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "Serveri _ključeva" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "_Sinhronizuj" + +#: ../pgp/seahorse-ldap-source.c:436 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "Nije moguća komunikacija sa '%s': %s" + +#: ../pgp/seahorse-ldap-source.c:646 +#, c-format +msgid "Connecting to: %s" +msgstr "Povezivanje na: %s" + +#: ../pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "Nije moguće razriješiti adresu: %s" + +#: ../pgp/seahorse-ldap-source.c:696 +#, c-format +msgid "Resolving server address: %s" +msgstr "Razrješavanje adrese servera: %s" + +#: ../pgp/seahorse-ldap-source.c:1431 +msgid "LDAP Key Server" +msgstr "LDAP server ključeva" + +#: ../pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys..." +msgstr "_Sinhronizuj i objavi ključeve..." + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "Objavi i/ili sinhronizujte vaše ključeve sa onima na mreži." + +#: ../pgp/seahorse-pgp-backend.c:167 +msgid "PGP Keys" +msgstr "PGP ključevi" + +#: ../pgp/seahorse-pgp-backend.c:173 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP ključevi služe za enkripciju e-maila ili fajlova" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "K_reiraj" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "Napravi novi ključ" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"PGP ključ vam omogućava da šifrujete e-poštu ili datoteke koje šaljete " +"drugim ljudima." + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Ne_ver Expires" +msgstr "Nika_da ne ističe" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "_Comment:" +msgstr "_Komentar:" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "_Tip šifrovanja:" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "_Jačina ključa (bitova):" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "Datum i_steka:" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "_Napredne opcije ključa" + +#: ../pgp/seahorse-pgp-key.c:351 +msgid "Personal PGP key" +msgstr "Lični PGP ključ" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "PGP key" +msgstr "PGP ključ" + +#: ../pgp/seahorse-pgp-key-properties.c:317 +msgid "Couldn't change primary user ID" +msgstr "Ne mogu da promijenim ID osnovnog korisnika" + +#: ../pgp/seahorse-pgp-key-properties.c:336 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "Sigurno želite trajno da uklonite ID korisnika „%s“?" + +#: ../pgp/seahorse-pgp-key-properties.c:346 +msgid "Couldn't delete user ID" +msgstr "Nemoguće ukloniti ID korisnika" + +#: ../pgp/seahorse-pgp-key-properties.c:421 +#: ../pgp/seahorse-pgp-key-properties.c:1576 +msgid "[Unknown]" +msgstr "[Nepoznato]" + +#: ../pgp/seahorse-pgp-key-properties.c:530 +#: ../pgp/seahorse-pgp-key-properties.c:1859 +msgid "Name/Email" +msgstr "Ime/E-mail" + +#: ../pgp/seahorse-pgp-key-properties.c:537 +msgid "Signature ID" +msgstr "ID potpisa" + +#: ../pgp/seahorse-pgp-key-properties.c:670 +msgid "Couldn't change primary photo" +msgstr "Nisam mogao da promijenim primarnu sliku" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:904 +msgid "(unknown)" +msgstr "(nepoznato)" + +#: ../pgp/seahorse-pgp-key-properties.c:907 +#, c-format +msgid "This key expired on: %s" +msgstr "Ovaj ključ je istekao: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:970 +msgid "Name" +msgstr "Naziv:" + +#: ../pgp/seahorse-pgp-key-properties.c:1085 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Da li ste sigurni da želite da trajno uklonite podključ %d od %s?" + +#: ../pgp/seahorse-pgp-key-properties.c:1094 +msgid "Couldn't delete subkey" +msgstr "Nemoguće obrisati podključ" + +#: ../pgp/seahorse-pgp-key-properties.c:1134 +#: ../pgp/seahorse-pgp-key-properties.c:1550 +msgid "Unable to change trust" +msgstr "Nemoguće promijeniti povjerenje" + +#: ../pgp/seahorse-pgp-key-properties.c:1148 +#: ../ssh/seahorse-ssh-key-properties.c:205 +msgid "Couldn't export key" +msgstr "Nemoguće da se izveze ključ" + +#: ../pgp/seahorse-pgp-key-properties.c:1264 +msgid "Marginal" +msgstr "Marginalno" + +#: ../pgp/seahorse-pgp-key-properties.c:1270 +msgid "Full" +msgstr "Pun" + +#: ../pgp/seahorse-pgp-key-properties.c:1276 +msgid "Ultimate" +msgstr "Bezuvjetno" + +#: ../pgp/seahorse-pgp-key-properties.c:1382 +#: ../pgp/seahorse-pgp-key-properties.c:1475 +msgctxt "Expires" +msgid "Never" +msgstr "Nikad" + +#: ../pgp/seahorse-pgp-key-properties.c:1429 +msgid "ID" +msgstr "ID" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "Type" +msgstr "Tip" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Usage" +msgstr "Upotreba" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "Kreirano" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "Ističe" + +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "Stanje" + +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "Jačina" + +#: ../pgp/seahorse-pgp-key-properties.c:1466 +msgid "Revoked" +msgstr "Opozvan" + +#: ../pgp/seahorse-pgp-key-properties.c:1468 +msgid "Expired" +msgstr "Istekao" + +#: ../pgp/seahorse-pgp-key-properties.c:1470 +msgid "Disabled" +msgstr "Onemogućeno" + +#: ../pgp/seahorse-pgp-key-properties.c:1472 +msgid "Good" +msgstr "Dobro" + +#: ../pgp/seahorse-pgp-key-properties.c:1862 +msgid "Key ID" +msgstr "ID ključa" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "Osobine tipke" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "Ovaj ključ je ukinut" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Vlasnik ključa je opozvao ključ. Ne može se više koristiti." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "Ovaj ključ je istekao" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "Dodaj fotografiju ovome ključu" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "Ukloni ovu sliku iz ovog ključa" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "Postavi ovu sliku za glavnu sliku" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "Vrati se na prethodnu sliku" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "Pređi na slijedeću sliku" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "Fotografija " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "ID ključa:" + +#. Nami of key, usually a persons nami +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "Ime:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "E-mail:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "Komentar:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "Dešifruj datoteke i e-mail poslani vama." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "Privatni PGP ključ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "Promijeni _lozinku" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "Vlasnik" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "Nazivi ključeva i potpisi" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "Primarni" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "Potpis" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "Obriši" + +#. Add another nami to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "_Dodaj ime" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "Opozovi" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "Imena i potpisi" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "Jačina:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "Tehnički detalji" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "Otisak prsta" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "Ističe:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "Datumi" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "Premosti _povjerenje vlasnika:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Secret Key:" +msgstr "_Izvezi tajni ključ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "Actions" +msgstr "Radnje" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "Dodaj" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "Ističe" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "_Podključevi" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "Marginalno" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "Potpuno" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Bezuslovno" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key's owner" +msgstr "Šifriraj fajlove i pošalji e-mail vlasniku ključa" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "Javni PGP ključ" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "_Ostali nazivi:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "Vaše povjerenje u ovaj ključ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "Vaše povjerenje je ručno specificirano na tabu Detalji." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "Verujem potpisima '%s'-a na drugim ključevima" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" +"Ako vjerujete da je „%s“ osoba koja posjeduje ovaj ključ, potpišite " +"ključ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "_Potpiši ovaj ključ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" +"Ako više ne vjerujete da „%s“ posjeduje ovaj ključ, opozovite vaš " +"potpis:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "_Opozovi potpis" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "_Ljudi koji su potpisali ovaj ključ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "Prikazuj _samo potpise ljudi kojima verujem" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "Povjerenje" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "Otisak prsta:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "Datumi:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "Ukaži na povjerenje:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "_Verujete vlasniku:" + +#: ../pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "Šifriraj" + +#: ../pgp/seahorse-pgp-subkey.c:293 +msgid "Certify" +msgstr "Ovjeri" + +#: ../pgp/seahorse-pgp-subkey.c:294 +msgid "Authenticate" +msgstr "Potvrdi" + +#: ../pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "Podključ %d od %s" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "Razlog za povlačenje ključa" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "_Razlog:" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "Neobavezan opis za povlačenje" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "Po_vuci" + +#: ../pgp/seahorse-signer.c:62 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Nemate ličnih PGP ključeva koji se mogu iskoristiti za potpisivanje " +"dokumenta ili poruke." + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "Potpiši poruku _sa ključem:" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "Potpiši ključ" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Potpisivanjem ukazujete vaše povjerenje da ovaj ključ pripada:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "Ime ključa" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "Koliko ste pažljivo provjerili ovaj ključ?" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "_Nikako" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "_Uobičajeno" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "_Vrlo pažljivo" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Nikako: znači da vjerujete da ključ posjeduje osoba koja koja tvrdi " +"da joj pripada, ali ne možete ili niste verifikovali da je ovo istina." + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Obično: znači da ste uradili običnu verifikaciju da je osoba koja " +"tvrdi da posjeduje ključ zaista vlasnik. Na primjer, mogli ste pročitati " +"otiske ključa vlasniku preko telefona." + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Vrlo pažljivo: Izaberite ovo jedino ako ste u potpunosti sigurni da " +"je ovaj ključ originalan." + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Možete upotrijebiti identifikaciju fotografijom koja se teško falsifikuje " +"(kao što je pasoš) da biste lično provjerili da li je ime na ključu tačno. " +"Takođe bi trebalo da iskoristite e-poštu da provjerite da li adresa e-pošte " +"pripada vlasniku." + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "Kako će drugi vidjeti ovaj potpis:" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "_Drugi možda neće vidjeti ovaj potpis" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "Mogu _opozvati ovaj potpis kasnijeg datuma." + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "Potpiši ključ kao:" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "_Potpisnik:" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "_Potpiši" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "Izvozim podatke" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "Preuzimam podatke" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "Uvozim podatke" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "Šaljem podatke" + +#: ../pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Nedostupno" + +#: ../pkcs11/certificate-der-exporter.vala:43 +#: ../pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certifikat" + +#: ../pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certifikati (DER kodirani)" + +#: ../pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Lični certifikat i ključ" + +#: ../pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Lični certifikat" + +#: ../pkcs11/seahorse-pkcs11-backend.c:184 +msgid "Certificates" +msgstr "Certifikati" + +#: ../pkcs11/seahorse-pkcs11-backend.c:190 +msgid "X.509 certificates and related keys" +msgstr "X.509 certifikati i srodni ključevi" + +#: ../pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Da li ste sigurni da želite trajno obrisati %d certifikat?" +msgstr[1] "Da li ste sigurni da želite trajno obrisati %d certifikata?" +msgstr[2] "Da li ste sigurni da želite trajno obrisati %d certifikata?" + +#: ../pkcs11/seahorse-pkcs11-generate.c:113 +msgid "Couldn't generate private key" +msgstr "Nije uspjelo generisanje privatnog ključa" + +#: ../pkcs11/seahorse-pkcs11-generate.c:412 ../pkcs11/pkcs11-request.vala:56 +msgid "Create" +msgstr "Kreiraj" + +#: ../pkcs11/seahorse-pkcs11-generate.c:505 +#: ../pkcs11/pkcs11-private-key.vala:70 +msgid "Private key" +msgstr "Privatni ključ" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +msgid "Used to request a certificate" +msgstr "Korišteno za zahtijevanje certifikata" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "Napravi novi privatni ključ" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "Oznaka:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "Pohranjeno na:" + +#: ../pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Shvatam da će ovaj ključ biti trajno obrisan." + +#: ../pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "Neimenovano" + +#: ../pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "Nije uspio izvoz certifikata" + +#: ../pkcs11/pkcs11-properties.vala:188 ../src/seahorse-sidebar.c:873 +msgid "Couldn't delete" +msgstr "Nemoguće brisanje" + +#: ../pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "_Izvezi" + +#: ../pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "Izvezite certifikat" + +#: ../pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "Obriši ovaj certifikat ili ključ" + +#: ../pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "Zahtijevaj Certifikat" + +#: ../pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "Kreiraj zahtjev za certifikat za ovaj ključ" + +#: ../pkcs11/pkcs11-request.vala:87 +msgid "Couldn't create certificate request" +msgstr "Nije uspjelo kreiranje zahtjeva za certifikat" + +#: ../pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Sačuvaj zahtjev za certifikat" + +#: ../pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "Zahtjev za certifikat" + +#: ../pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "PEM kodiran zahtjev" + +#: ../pkcs11/pkcs11-request.vala:149 +msgid "Couldn't save certificate request" +msgstr "Nemoguće sačuvati zahtjev za certifikatom" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "Napravi zahtjev za certifikat." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "Uobičajeno ime (CN) je stavljeno na zahtjev za certifikat." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "Ime(CN):" + +#: ../pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Neimenovani privatni ključ" + +#: ../pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Nepoznato" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "Izmijeni lozinku" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "Nova _lozinka:" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "Potvrdi novu lozinku" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "Po_tvrdite lozinku:" + +#: ../src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "Nastavi" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "_Izaberite vrstu stavke koju želite da napravite:" + +#: ../src/seahorse-import-dialog.c:95 +msgid "Import failed" +msgstr "Neuspješan uvoz" + +#: ../src/seahorse-import-dialog.c:113 +msgid "Import" +msgstr "Uvoz" + +#: ../src/seahorse-import-dialog.c:126 +msgid "Data to be imported:" +msgstr "Podatak koji treba unijeti:" + +#: ../src/seahorse-key-manager.c:242 ../ssh/seahorse-ssh-operation.c:870 +msgid "Import Key" +msgstr "Unesi ključ" + +#: ../src/seahorse-key-manager.c:254 +msgid "All key files" +msgstr "Sve datoteke ključeva" + +#: ../src/seahorse-key-manager.c:355 +msgid "Dropped text" +msgstr "Propušteni tekst" + +#: ../src/seahorse-key-manager.c:391 +msgid "Clipboard text" +msgstr "Tekst u međuspremniku" + +#: ../src/seahorse-key-manager.c:502 +msgid "_New" +msgstr "_Novi" + +#: ../src/seahorse-key-manager.c:504 +msgid "Close this program" +msgstr "Zatvori ovaj program" + +#: ../src/seahorse-key-manager.c:505 ../src/seahorse-key-manager.c:507 +msgid "_New..." +msgstr "_Novi..." + +#: ../src/seahorse-key-manager.c:506 +msgid "Create a new key or item" +msgstr "Kreiraj novi ključ ili stavku" + +#: ../src/seahorse-key-manager.c:508 +msgid "Add a new key or item" +msgstr "Dodaj novi ključ ili stavku" + +#: ../src/seahorse-key-manager.c:509 +msgid "_Import..." +msgstr "_Uvezi..." + +#: ../src/seahorse-key-manager.c:510 +msgid "Import from a file" +msgstr "Ubaci iz datoteke" + +#: ../src/seahorse-key-manager.c:512 +msgid "Import from the clipboard" +msgstr "Uvezi iz međuspremnika" + +#: ../src/seahorse-key-manager.c:516 +msgid "By _Keyring" +msgstr "Po _Prstenu ključeva" + +#: ../src/seahorse-key-manager.c:517 +msgid "Show sidebar listing keyrings" +msgstr "Pokaži listu prstena ključeva na bočnoj traci" + +#: ../src/seahorse-key-manager.c:521 +msgid "Show _Personal" +msgstr "Prikaži _Osobni" + +#: ../src/seahorse-key-manager.c:522 +msgid "Only show personal keys, certificates and passwords" +msgstr "Pokaži samo lične ključeve, potvrde i lozinke" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show _Trusted" +msgstr "Prikaži _Povjerljivo" + +#: ../src/seahorse-key-manager.c:524 +msgid "Only show trusted keys, certificates and passwords" +msgstr "Samo pokaži provjerene ključeve, potvrde ili lozinke" + +#: ../src/seahorse-key-manager.c:525 +msgid "Show _Any" +msgstr "Prikaži _Bilo koji" + +#: ../src/seahorse-key-manager.c:526 +msgid "Show all keys, certificates and passwords" +msgstr "Pokaži sve ključeve, potvrde ili lozinke" + +#: ../src/seahorse-key-manager.c:745 +msgid "Filter" +msgstr "Filter" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "Opcije prvog puta:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "Samostalno generišite novi ključ: " + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "Uvezite postojeće ključeve iz datoteke:" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "Da biste započeli sa šifrovanjem biće vam potrebni ključevi." + +#: ../src/seahorse-sidebar.c:797 +msgid "Couldn't lock" +msgstr "Nije moguće zaključati" + +#: ../src/seahorse-sidebar.c:834 +msgid "Couldn't unlock" +msgstr "Nije moguće otključati" + +#: ../src/seahorse-sidebar.c:941 +msgid "_Lock" +msgstr "_Zaključaj" + +#: ../src/seahorse-sidebar.c:946 +msgid "_Unlock" +msgstr "_Otključaj" + +#: ../src/seahorse-sidebar.c:965 +msgid "_Properties" +msgstr "_Svojstva" + +#: ../ssh/seahorse-ssh-actions.c:97 +msgid "Configure Key for _Secure Shell..." +msgstr "Podesi ključeve osiguranog _komandnog okruženja..." + +#: ../ssh/seahorse-ssh-actions.c:98 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"Pošalji javni ključ osiguranog komandnog okruženja na drugu mašinu, i " +"omogući prijavljivanja korišćenjem tog ključa." + +#: ../ssh/seahorse-ssh-askpass.c:78 ../ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Unesite vašu lozinku za osigurano komandno okruženje:" + +#: ../ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Stara lozinka ključa" + +#: ../ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Unesite staru lozinku za: %s" + +#: ../ssh/seahorse-ssh-askpass.c:105 ../ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Nova lozinka ključa" + +#: ../ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Unesite novu lozinku za: %s" + +#: ../ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Unesite ponovo novu lozinku: %s" + +#: ../ssh/seahorse-ssh-backend.c:88 +msgid "Secure Shell" +msgstr "Sigurno komandno okruženje" + +#: ../ssh/seahorse-ssh-backend.c:94 +msgid "Keys used to connect securely to other computers" +msgstr "Ključ koji se koristi da se sigurno spoji na druge računare" + +#: ../ssh/seahorse-ssh-deleter.c:80 ../ssh/seahorse-ssh-deleter.c:85 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "" +"Da li sigurno želite trajno da izbrišete ključ osiguranog komandnog " +"okruženja ’%s'?" + +#: ../ssh/seahorse-ssh-deleter.c:90 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "Da li sigurno želite da obrišete %d ključ sigurnosnog omotača?" +msgstr[1] "Da li sigurno želite da obrišete %d ključa sigurnosnog omotača" +msgstr[2] "Da li sigurno želite da obrišete %d ključeva sigurnosnog omotača" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "SSH Key" +msgstr "SSH Ključ" + +#: ../ssh/seahorse-ssh-exporter.c:124 +msgid "Secret SSH keys" +msgstr "Tajni SSH ključevi" + +#: ../ssh/seahorse-ssh-exporter.c:128 +msgid "Public SSH keys" +msgstr "Javni SSH ključevi" + +#: ../ssh/seahorse-ssh-exporter.c:297 +msgid "No public key file is available for this key." +msgstr "Nijedan javni ključni podatak nije dostupan za ovaj ključ." + +#: ../ssh/seahorse-ssh-generate.c:52 ../ssh/seahorse-ssh-key.c:109 +#: ../ssh/seahorse-ssh-key.c:113 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "Ključ osiguranog komandnog okruženja" + +#: ../ssh/seahorse-ssh-generate.c:53 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "Koristi se za pristup drugim računarima (npr: preko terminala)" + +#: ../ssh/seahorse-ssh-generate.c:107 ../ssh/seahorse-ssh-generate.c:123 +msgid "Couldn't generate Secure Shell key" +msgstr "Nemoguće generisati ključ osiguranog komandnog okruženja" + +#: ../ssh/seahorse-ssh-generate.c:190 +msgid "Creating Secure Shell Key" +msgstr "Kreiranje ključa osiguranog okruženja" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "Novi ključ osiguranog komandnog okruženja" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "_Samo napravi ključ" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "_Napravi i podesi" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Ključ osiguranog okruženja (SSH) dopušta da se sigurno spojite sa drugim " +"računarima." + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Vaša e-mail adresa ili podsjetnik za koji je ovaj ključ." + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"AKo želite ovaj ključ koristiti na nekom računaru, možete podesiti računar " +"tako da prepoznaje taj novi ključ." + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Nečitak ključ osiguranog komandnog okruženja)" + +#: ../ssh/seahorse-ssh-key.c:213 +msgid "Personal SSH key" +msgstr "Lični SSH ključ" + +#: ../ssh/seahorse-ssh-key.c:215 +msgid "SSH key" +msgstr "SSH ključ" + +#: ../ssh/seahorse-ssh-key-properties.c:79 +msgid "Couldn't rename key." +msgstr "Nije moguće premineovati ključ." + +#: ../ssh/seahorse-ssh-key-properties.c:134 +msgid "Couldn't change authorization for key." +msgstr "Nije moguće promijeniti autorizaciju za ovaj ključ." + +#: ../ssh/seahorse-ssh-key-properties.c:171 +msgid "Couldn't change passphrase for key." +msgstr "Nije moguće promijeniti lozinku za ključ." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "Identifikator:" + +#. Nami of key, often a persons nami +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "Naziv:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "Koristi se za povezivanje na druge računare." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "Vlasnik ovog ključa je _autorizovan da se poveže na ovaj računar" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "Ovo se odnosi samo na %s račun." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "Algoritam:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "Lokacija:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "I_zvezi kompletan ključ" + +#: ../ssh/seahorse-ssh-operation.c:204 +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH komanda je neočekivano prekinuta." + +#: ../ssh/seahorse-ssh-operation.c:214 +msgid "The SSH command failed." +msgstr "SSH komanda nije uspjela da se izvrši." + +#: ../ssh/seahorse-ssh-operation.c:523 +msgid "Remote Host Password" +msgstr "Lozinka udaljenog računara" + +#: ../ssh/seahorse-ssh-operation.c:610 +msgid "Enter Key Passphrase" +msgstr "Unesite lozinku ključa" + +#: ../ssh/seahorse-ssh-operation.c:701 +msgid "Passphrase for New Secure Shell Key" +msgstr "Lozinka za novi ključ osiguranog okruženja" + +#: ../ssh/seahorse-ssh-operation.c:887 +#, c-format +msgid "Importing key: %s" +msgstr "Uvoz ključa:%s" + +#: ../ssh/seahorse-ssh-operation.c:889 +msgid "Importing key. Enter passphrase" +msgstr "Uvoz ključa. Unesite lozinku" + +#: ../ssh/seahorse-ssh-source.c:219 +msgid "OpenSSH keys" +msgstr "OpenSSH ključevi" + +#: ../ssh/seahorse-ssh-source.c:226 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ../ssh/seahorse-ssh-source.c:974 +msgid "No private key file is available for this key." +msgstr "Nijedna datoteka privatnih ključeva nije dostupna za ovaj ključ." + +#: ../ssh/seahorse-ssh-upload.c:48 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "" +"Nisam mogao da podesim ključeve osiguranog komandnog okruženja na udaljenom " +"računaru." + +#: ../ssh/seahorse-ssh-upload.c:131 +msgid "Configuring Secure Shell Keys..." +msgstr "Podešavam ključeve osiguranog komandnog okruženja..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "Podesite kompjuter za SSH vezu" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Da biste koristili ključ osiguranog komandnog okruženja na drugom računaru " +"koji koristi SSH, morate na njemu unaprijed imati prijavni nalog." + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "npr: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Server address:" +msgstr "_Server adresa:" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login name:" +msgstr "_Login ime:" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "Pode_šavnje" diff --git a/po/ca.po b/po/ca.po new file mode 100644 index 00000000..119a7c53 --- /dev/null +++ b/po/ca.po @@ -0,0 +1,2862 @@ +# Seahorse translation to Catalan +# Copyright © 2003, 2005, 2006, 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the Seahorse package. +# Josep Monés i Teixidor , 2003. +# Josep Puigdemont i Casamajó , 2005, 2006, 2007. +# Jordi Serratosa , 2012, 2017. +# Josep Sànchez , 2013. +# Gil Forcada , 2007-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-18 15:22+0000\n" +"PO-Revision-Date: 2020-07-22 23:45+0200\n" +"Last-Translator: Gil Forcada \n" +"Language-Team: Catalan \n" +"Language: ca\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Gtranslator 3.36.0\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Afegeix un servidor de claus" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Personalitzat" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Cancel·la" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Desa" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "No es pot suprimir" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "No s'han pogut exportar les claus" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "No s'han pogut exportar les dades" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Cancel·la" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Suprimeix" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Exporta" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Introduïu el PIN o la contrasenya per: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Confirmeu:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_D'acord" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Contrasenya:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Contrasenyes" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Claus" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certificats" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Preferències" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Cap: No publiquis les claus" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "No és una adreça de servidor de claus vàlida." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Si us cal ajuda contacteu el vostre administrador de sistemes o " +"l'administrador del servidor de claus." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "element temporal inicial" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Tipus de servidor de claus:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Ordinador:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "El nom o l'adreça del servidor." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "El port des d'on accedir al servidor." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Cerca les claus a través de:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Publica les claus a:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Obtén les claus automàticament dels _servidors de claus" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" +"Sincronitza automàticament les claus _modificades amb els servidors de claus" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Servidors de claus" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Desconeguda" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Mai" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Marginal" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Completa" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Absoluta" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Inhabilitada" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Revocada" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Vista general" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Ajuda" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Obre el menú" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Crea un ítem nou" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Importa ítem des d'un fitxer" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Cerca" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Llista de dreceres" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Surt" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navegació" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Selecciona l'anell de claus anterior" + +#: data/gtk/help-overlay.ui:76 +#| msgid "Select Date" +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Selecciona l'anell de claus següent" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Mostra la barra lateral (en pantalles petites)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Mostra el contingut de l'anell de claus (en pantalles petites)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Recupera automàticament les claus" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Si les claus s'han de recuperar automàticament dels servidors de claus." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Publica automàticament les claus" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Si les claus modificades s'han de publicar automàticament." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Publica les claus a aquest servidor" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"El servidor de claus al qual publicar les claus PGP. Buit per suprimir la " +"publicació de claus PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Patró de cerca de l'últim servidor de claus" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "L'últim patró de cerca que s'ha cercat al servidor de claus." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Darrers servidors de claus utilitzats" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"L'últim servidor de claus contra el qual es va cercar o buit per tots els " +"servidors de claus." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Mostra la barra lateral amb el llistat d'anells de claus" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Mostra la barra lateral amb el llistat d'anells de claus al Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Quins elements s'han de mostrar" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtra quins elements s'han de mostrar. Si és buit, mostra tots els " +"elements, si és «personal» mostra les claus personals, si és «trusted» " +"mostra les de confiança." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Amplada de la subfinestra lateral" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "L'amplada per defecte de la subfinestra lateral." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Els anells de claus escollits" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Els URIs dels anells de claus escollits a la subfinestra lateral." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "La columna per la qual s'ordenen les claus del Seahose" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Especifiqueu la columna per la qual ordenar la finestra principal del " +"Seahorse. Les columnes són: «name», «id», «validity», «expires», «trust» i " +"«type». Afegiu un «-» davant del nom de la columna per a ordenar-ho en ordre " +"descendent." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Mostra la columna de validesa" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "No es fa servir més." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Mostra la columna de venciment" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Mostra la columna de confiança" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Mostra la columna tipus" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Amplada de la finestra" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Amplada (en píxels) de la finestra." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Alçada de la finestra" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Alçada (en píxels) de la finestra." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Gestioneu les contrasenyes i claus d'encriptació" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "" +"El Seahorse és una aplicació del GNOME per gestionar les claus d'encriptació." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Amb el Seahorse podeu crear i gestionar claus PGP i SSH, publicar i " +"recuperar claus des de servidors, desar en la memòria cau la contrasenya per " +"no haver-la d'introduir i també per crear una còpia de seguretat de les " +"vostres claus i anell de claus." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "El projecte GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Contrasenyes i claus" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "anell de claus;encriptació;seguretat;signatura;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Contrasenyes, credencials i secrets personals emmagatzemats" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "No s'ha pogut desblocar" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "No s'ha pogut afegir l'element" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Contrasenya o secret" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Secret de la connexió de xarxa" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Contrasenya Wi-Fi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Contrasenya de xarxa" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Contrasenya del GNOME Web" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Contrasenya del Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Contrasenya de la missatgeria instantània" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Contrasenya pel compte de missatgeria instantània " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Contrasenya del Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Contrasenya dels comptes en línia del GNOME" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Voleu desar els canvis per aquest element?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Accedeix a un recurs compartit de xarxa" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Accedeix a un lloc web" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Desbloca una clau PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Desbloca una clau d'intèrpret d'ordres segur" + +# FIXME +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Contrasenya desada o entrada" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Credencials de xarxa" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Contrasenya" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "No s'ha pogut canviar la contrasenya." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "No s'ha pogut establir la descripció." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "S'ha produït un error en suprimir la contrasenya." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Nota desada" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Contrasenya de l'anell de claus" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Contrasenya de la clau d'encriptació" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Contrasenya del magatzem de claus" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Secret del gestor de xarxa" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Segur que voleu suprimir la contrasenya «%s»?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Segur que voleu suprimir %d contrasenya?" +msgstr[1] "Segur que voleu suprimir %d contrasenyes?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "No s'ha pogut afegir l'anell de claus" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Data desconeguda" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "" +"Un anell de claus que es desbloqueja automàticament en iniciar la sessió" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Un anell de claus que s'utilitza per desar-hi contrasenyes" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "No s'ha pogut establir l'anell de claus predeterminat" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "No s'ha pogut canviar la contrasenya de l'anell de claus" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Estableix-lo com a predeterminat" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Canvia la _contrasenya" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Segur que voleu suprimir l'anell de claus de contrasenyes «%s»?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Entenc que se suprimiran permanentment tots els elements." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Mostra / Amaga la contrasenya" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Afegeix una contrasenya" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Anell de claus:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Descripció:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Contrasenya:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Afegeix" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Afegeix un anell de claus de contrasenyes" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Trieu un nom per a l'anell de claus nou. Se us demanarà una contrasenya per " +"desblocar-lo." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Nom de l'anell de claus nou:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Propietats de l'element" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Descripció" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Copia" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Utilitza" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Tipus" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Servidor" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Inicia una sessió" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Detalls" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Suprimeix contrasenya" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Propietats de l'anell de claus" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Nom" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Data de creació" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Canvia la contrasenya" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Estableix com a predeterminat" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Mostra els senyaladors" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Propietats de la data i/o hora mostrades" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Mode gandul" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "El mode gandul no normalitza els valors de la data i l'hora introduïts" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Any" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Any mostrat" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mes" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Mes mostrat" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dia" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Dia del mes mostrat" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Hora" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Hora mostrada" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minut" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Minut mostrat" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Segon" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Segon mostrat" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Any límit més antic" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Part de l'any de la data límit més antiga" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Any límit més modern" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Part de l'any de la data límit més moderna" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Mes límit més antic" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Part del mes de la data límit més antiga" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Mes límit més modern" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Part del mes de la data límit més moderna" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Dia límit més antic" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Part del dia del mes de la data límit més antiga" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Dia límit més modern" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Part del dia del mes de la data límit més moderna" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Hora límit més antiga" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Part de l'hora del temps límit més antic" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Hora límit més moderna" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Part de l'hora del temps límit més modern" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Minut límit més antic" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Part del minut del temps límit més antic" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Minut límit més modern" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Part del minut del temps límit més modern" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Segon límit més antic" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Part del segon del temps límit més antic" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Segon límit més modern" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Part del segon del temps límit més modern" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Data" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Introduïu la data directament" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Seleccioneu la data" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Seleccioneu la data en un calendari" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Temps" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Introduïu l'hora directament" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Seleccioneu l'hora" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Seleccioneu l'hora d'una llista" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%3$02d/%2$02d/%1$04d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "No s'ha pogut mostrar l'ajuda: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Afegeix una subclau a %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (només signatura)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (només encriptació)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (només signatura)" + +# +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (només encriptació)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "_Tipus de clau" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "_Longitud de la clau" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Longitud de la clau" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Data de venciment" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "_No venç mai" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Si la clau no venç mai" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Genera una subclau nova" + +# +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Afegeix l'id d'usuari a %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "No s'ha pogut afegir l'id d'usuari" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Afegeix un identificador d'usuari" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_Nom complet" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Ha de tenir almenys 5 caràcters de longitud" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_Adreça electrònica" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Adreça electrònica opcional" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "_Comentari de la clau" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Comentari descriptiu opcional de la clau" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Crea l'identificador d'usuari nou" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"No s'ha pogut desencriptar. Possiblement no teniu la clau de desencriptació." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "S'ha cancel·lat l'operació" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "La data de venciment no és vàlida" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "La data de venciment ha de ser en el futur" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "No s'ha pogut canviar la data de venciment" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Venciment: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_No venç mai" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "Can_via" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Diverses claus" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Dades de la clau" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Claus PGP amb armadura" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Claus PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "No s'ha pogut generar la clau PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Contrasenya per a la clau PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Introduïu dues vegades la contrasenya per a la clau nova." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Quan es crea una clau, s'han de generar moltes\n" +"dades aleatòries, i fa falta l'usuari per\n" +"aconseguir-ho. Per ajudar a crear aquestes dades\n" +"aleatòries, feu altres tasques, com ara: escriure\n" +"amb el teclat, moure el ratolí o utilitzar altres\n" +"aplicacions. Amb això permetreu que el sistema tingui\n" +"les dades aleatòries que necessita." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "S'està generant la clau" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Ha de tenir almenys 5 caràcters de longitud." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Clau nova PGP" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Una clau PGP us permet encriptar correus o fitxers per a altres persones." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Opcions _avançades de la clau" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Comenta" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Tipus d'_encriptació" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Fortalesa de la clau (en bits)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "_Data de venciment" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "No venç _mai" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "C_rea" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Genera una clau nova" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Segur que voleu suprimir permanentment %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Segur que voleu suprimir permanentment %d clau?" +msgstr[1] "Segur que voleu suprimir permanentment %d claus?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "La contrasenya és incorrecta" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Heu introduït malament la contrasenya per tercera vegada, torneu-ho a provar." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Contrasenya equivocada." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Introduïu una contrasenya nova per a «%s»" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Introduïu la contrasenya per a «%s»" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Introduïu una contrasenya nova" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Introduïu la contrasenya" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Contrasenya" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "S'ha carregat %d clau" +msgstr[1] "S'han carregat %d claus" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Les dades de la clau no són vàlides (hi manquen els UID). Pot ser que sigui " +"perquè un ordinador té la data al futur, o que manqui una autosignatura." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Claus GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: directori per defecte de l'anell de claus" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"La fotografia és massa gran\n" +"Es recomana que la mida de la fotografia sigui de %d x %d píxels." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_No redimensionis" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Redimensiona" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Aquest no és un fitxer d'imatge, o no se'n reconeix el tipus. Intenteu fer " +"servir un JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Tots els fitxers d'imatge" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Tots els fitxers JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Tots els fitxers" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Trieu la fotografia per afegir a la clau" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Obre" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "No s'ha pogut preparar la fotografia" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "No s'ha pogut afegir la fotografia" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" +"No s'ha pogut carregar el fitxer, pot ser que estigui en un format no vàlid" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Segur que voleu suprimir la fotografia actual de la vostra clau?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "No s'ha pogut suprimir la fotografia" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "No s'ha pogut revocar la subclau" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Revoca: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Sense motiu" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Cap motiu per la revocació de la clau" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Compromesa" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "La clau ha estat compromesa" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Reemplaçada" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "La clau ha estat reemplaçada" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "No es fa servir" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "La clau no es fa servir més" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Ara afegireu %s com a revocador de %s. Aquesta operació no es pot desfer. " +"Segur que voleu continuar?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "No s'ha pogut afegir el revocador" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Entenc que se suprimirà permanentment el secret." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Aquest clau ja estava signada per\n" +"«%s»" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "No s'ha pogut signar la clau" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "No hi ha claus que es puguin fer servir per signar" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"No teniu cap clau PGP que es pugui emprar per indicar que confieu en aquesta " +"clau." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Signa la clau" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "En signar esteu indicant que confieu que aquesta clau pertany a:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Nom de la clau" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Amb quin deteniment heu comprovat aquesta clau?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_De cap manera" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Informalment" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "Amb _molt deteniment" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"De cap manera: vol dir que creieu que la clau és propietat de la " +"persona que diu ser-ne la propietària, però que no heu pogut verificar-ho." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Informalment: vol dir que heu fet una verificació per sobre que la " +"clau és de la persona que diu ser-ne la propietària. Per exemple, podeu dir-" +"li per telèfon l'empremta digital de la clau." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Amb molt deteniment: seleccioneu aquesta opció només si esteu " +"absolutament segur que aquesta clau és genuïna." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Podríeu emprar una fotografia que sigui difícil de falsificar (com ara un " +"passaport) per verificar personalment que el nom a la clau és correcte. " +"També hauríeu d'haver emprat el correu per verificar que l'adreça pertany al " +"seu propietari." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "La manera en què altres veuran aquesta signatura:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Altres no poden veure aquesta fotografia" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Puc _revocar aquesta clau més endavant." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Signa la clau com a:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Signant:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Signa" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Desconegut" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"La cerca no ha estat prou específica. El servidor «%s» ha trobat massa claus." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "No s'ha pogut comunicar amb el servidor «%s»: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Servidors de claus HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "No s'ha pogut importar la clau: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "S'ha importat la clau amb èxit" + +#: pgp/seahorse-keyserver-results.c:154 +#| msgid "_Import" +msgid "Import" +msgstr "Importa" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "No s'han pogut importar la clau" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Claus remotes" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Claus remotes que contenen «%s»" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Ha fallat la cerca de claus." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Feu doble clic en la clau a inspeccionar, o en el botó a importar per a " +"importar-la a l'anell de claus local." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Cerca claus remotes" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Això cercarà claus d'altres persones a Internet. Aquestes claus es poden " +"importar més tard al vostre anell de claus local." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "Ce_rca claus que continguin: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "On cercar:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Servidors de claus:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Claus compartides a prop meu:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Cerca" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "No s'han pogut publicar les claus al servidor" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "No s'han pogut recuperar les claus del servidor: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "S'ha seleccionat %d clau per sincronitzar" +msgstr[1] "S'han seleccionat %d claus per sincronitzar" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "S'estan sincronitzant les claus..." + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Sincronitza les claus" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Això publicarà les claus del vostre anell de claus de manera que estiguin " +"disponibles per a altres persones. També podreu obtenir els canvis que " +"d'altres hagin fet des de la darrera vegada que vau rebre les seves claus." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Això recuperarà els canvis que d'altres hagin fet des de la darrera vegada " +"que veu rebre les seves claus. Atès que no s'ha seleccionat cap servidor on " +"publicar les vostres claus, no estaran disponibles a altres persones." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Servidors de claus" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Sincronitza" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "No s'ha pogut comunicar amb «%s»: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "S'està connectant a: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "No s'ha pogut resoldre l'adreça: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "S'està resolent l'adreça del servidor: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Servidor de claus LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Claus PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "Les claus PGP serveixen per a l'encriptació de correus i fitxers" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(i %d altra)" +msgstr[1] "(i %d altres)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Clau PGP personal" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Clau PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "No s'ha pogut canviar l'identificador primari de l'usuari" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Segur que voleu suprimir permanentment l'identificador d'usuari «%s»?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "No s'ha pogut suprimir l'identificador d'usuari" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Desconegut]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Nom/adreça electrònica" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Identificador de la signatura" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "No s'ha pogut canviar la fotografia primària" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "S'ha produït un error en canviar la contrasenya" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(desconegut)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Aquesta clau va vèncer el: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — clau pública" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — clau privada" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Segur que voleu suprimir permanentment la subclau %d de %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "No s'ha pogut suprimir la subclau" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "No s'ha pogut canviar la confiança" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "No s'ha pogut exportar la clau" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Mai" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Utilització" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Creada" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Venç" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Estat" + +# FIXME FIXME FIXME (josep) +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Fortalesa" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Revocada" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Ha vençut" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Inhabilitada" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Correcte" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "ID de la clau" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Confio en les signatures de «%s» a altres claus" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "Si creieu que el propietari d'aquesta clau és «%s», signeu-la:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Si ja no creieu que el propietari d'aquesta clau és «%s», revoqueu la " +"vostra signatura:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "_Exporta la clau secreta" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Exporta _la clau pública" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Aquesta clau ha estat revocada" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "El propietari de la clau l'ha revocada, no es pot fer servir més." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Aquesta clau ha vençut" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Afegeix una fotografia a aquesta clau" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Suprimeix aquesta foto d'aquesta clau" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Fes que aquesta foto sigui la primària" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Vés a la foto anterior" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Vés a la foto següent" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Comentari" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Canvia la contrasen_ya" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Propietari" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Noms de clau i signatures" + +# La clau o la foto (josep) +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Primària" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Signa" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Suprimeix" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Afegeix un nom" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Revoca" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Noms i signatures" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Identificador de la clau:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Tipus:" + +# FIXME FIXME FIXME (josep) +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Fortalesa:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Detalls tècnics" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Empremta digital" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Creada:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Venç:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Dates" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "_Canvia la confiança en el propietari:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Exporta al fitxer" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Accions" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Venç" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Subclaus" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Marginal" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Completa" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Absoluta" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Altres noms:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "La confiança que teniu en aquesta clau" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "" +"La confiança que hi teniu s'especifica manualment a la pestanya de " +"Detalls." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Signa aquesta clau" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Revoca la signatura" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Persones que han signat aquesta clau:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Mostra només signatures de gent en qui confiï" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Confiança" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Detalls tècnics:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Empremta digital:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Dates:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +#| msgid "Indicate Trust:" +msgid "Indicate trust:" +msgstr "Indiqueu la confiança:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +#| msgid "You _Trust the Owner:" +msgid "You _trust the owner:" +msgstr "Confieu en el _propietari:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Encripta" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certifica" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Autentica" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Clau" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Subclau %d de %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Motiu pel qual es revoca la clau" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Motiu:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Descripció opcional per a la revocació" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Revoca la clau" + +# +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Re_voca" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"No teniu claus PGP personals que es puguin emprar per signar cap document o " +"missatge." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Trieu la clau de signatura" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Signa el fitxer amb la clau:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "S'estan exportant les dades" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "S'estan recuperant les dades" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "S'estan important les dades" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "S'estan enviant les dades" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "No disponible" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certificat" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certificats (codificats amb DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Certificat i clau personals" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Certificat personal" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Segur que voleu suprimir permanentment %d certificat?" +msgstr[1] "Segur que voleu suprimir permanentment %d certificats?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "No s'ha pogut generar la clau privada" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Entenc que se suprimirà permanentment la contrasenya." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Clau privada sense nom" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Clau privada" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Sense nom" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "No s'ha pogut exportar el certificat" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "No s'ha pogut suprimir" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Crea" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "No s'ha pogut crear la sol·licitud de certificat" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Desa la sol·licitud de certificat" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Desa" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Sol·licitud de certificat" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Sol·licitud codificada amb PEM" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "No s'ha pogut desar la sol·licitud de certificat" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Desconeguda" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Certificats X.509 i claus relacionades" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Clau nova privada" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Crea una clau privada nova" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Etiqueta:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Emmagatzemada a:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Tipus de clau:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Fortalesa de la clau (en bits):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Suprimeix el certificat o la clau" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Exporta el certificat" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Sol·licita un certificat" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Crea un fitxer de sol·licitud de certificat per a aquesta clau" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Crea un fitxer de sol·licitud de certificat." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "El nom comú (CN) de la sol·licitud de certificat." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Nom (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Col·laboracions:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Versió de l'aplicació" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Josep Monés i Teixidor \n" +"Josep Puigdemont i Casamajó " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Pàgina inicial del projecte Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Dades a importar" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importa" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Ha fallat la importació" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Importa clau" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Tots els fitxers de claus" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Text deixat anar" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Text del porta-retalls" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "No s'ha pogut desblocar l'anell de claus" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Canvia la contrasenya" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Contrasen_ya nova:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Con_firmeu la contrasenya nova" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Con_firmeu la contrasenya:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Cerca claus remotes…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Sincronitza i publica les claus…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Preferències" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Ajuda" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "Dre_ceres de teclat" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_Quant al Contrasenyes i claus" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filtra elements:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Mostra els _personals" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Mostra els de _confiança" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Mostra _qualssevol" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Clau d'intèrpret d'ordres segur" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Emprades per a accedir a altres ordinadors" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Clau GPG" + +#: src/seahorse-key-manager.ui:132 +#| msgid "Used to encrypt email and files" +msgid "Used to encrypt emails and files" +msgstr "Emprades per l'encriptació de correus i de fitxers" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Contrasenya de l'anell de claus" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Emprades per emmagatzemar les contrasenyes d'aplicacions i de xarxes" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Emmagatzema de forma segura una contrasenya o un secret" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Emprades per sol·licitar un certificat" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importa des d'un fitxer…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Afegeix una clau o un element nou" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Enrere" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Cerca una clau o contrasenya" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filtre" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Aquesta col·lecció sembla que és buida" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "L'anell de claus està bloquejat" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Desbloca" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Copia el secret" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Exporta..." + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Propietats" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Configura la clau per a l'intèrpret d'ordres segur..." + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Bloca" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Desbloca" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Propietats" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "No s'ha pogut blocar" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Intèrpret d'ordres segur" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "" +"Claus que s'utilitzen per connectar-se de forma segura a altres ordinadors" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Segur que voleu suprimir la clau de l'intèrpret d'ordres segur «%s»?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Segur que voleu suprimir %u clau d'intèrpret d'ordres segur?" +msgstr[1] "Segur que voleu suprimir %u claus d'intèrpret d'ordres segur?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Claus SSH secretes" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Claus SSH públiques" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Clau SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "No hi ha disponible cap fitxer de clau pública per aquesta clau." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "No s'ha pogut carregar la clau nova per a l'intèrpret d'ordres segur" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "No s'ha pogut generar la clau per a l'intèrpret d'ordres segur" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "S'està creant la clau per a l'intèrpret d'ordres segur" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bits" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bits" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Tipus desconegut" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Tipus desconeguda" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "No s'ha pogut canviar el nom a la clau." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "No s'ha pogut canviar l'autorització de la clau." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "No s'ha pogut canviar la contrasenya de la clau." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "S'ha produït un error suprimint la clau SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Clau SSH personal" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Clau SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(No és possible llegir la clau de l'intèrpret d'ordres segur)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Clau d'intèrpret d'ordres segur" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Contrasenya de l'ordinador remot" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Introduïu la contrasenya de la clau" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Contrasenya per a la clau nova de l'intèrpret d'ordres segur" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "S'està important la clau: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "S'està important la clau. Introduïu la contrasenya" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Introduïu la contrasenya de l'intèrpret d'ordres segur:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Contrasenya de la clau antiga" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Introduïu una contrasenya antiga de: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Contrasenya de la clau nova" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Introduïu una contrasenya nova de: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Introduïu un altre cop la contrasenya nova de: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Clau nova d'intèrpret d'ordres segur" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Una clau d'intèrpret d'ordres segur (SSH) us permet connectar de manera " +"segura a altres ordinadors." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Descripció" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"La vostra adreça electrònica o qualsevol altre text que us recordi per a què " +"és aquesta clau." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Si ja sabeu algun ordinador amb el qual vulgueu emprar aquesta clau, podeu " +"configurar-lo per tal que reconegui la clau nova." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Només crea la clau" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Crea i configura" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Propietats de la clau SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nom" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritme" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Longitud de la clau" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Ubicació" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Clau pública" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Copia la clau pública al porta-retalls" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Accés remot" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Permet accedir aquest ordinador remotament" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Exporta" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Suprimeix clau SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Configura l'ordinador per a connexions SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Per utilitzar la clau d'intèrpret d'ordres segur en un altre ordinador que " +"faci servir l'SSH cal que tingueu un compte d'usuari en aquell ordinador." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Adreça del _servidor:" + +# Nota: s'hi ha de deixar "example.com" (RFC 2606) (josep) +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "p. ex.: servidorfitxers.exemple.cat:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "Nom d'_usuari:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Configuració" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Claus d'OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "No hi ha disponible cap fitxer de clau privada per aquesta clau." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "" +"No s'han pogut configurar les claus de l'intèrpret d'ordres segur en " +"l'ordinador remot." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "S'estan configurant les claus de l'intèrpret d'ordres segur..." + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "El Seahorse és una aplicació del GNOME per gestionar les claus " +#~ "d'encriptació. S'integra amb el Nautilus, el gedit i altres programes per " +#~ "realitzar-hi operacions d'encriptació." + +#~ msgid "Keyring is unlocked" +#~ msgstr "L'anell de claus està desbloquejat" + +#~ msgid "Lock" +#~ msgstr "Bloqueja" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "No s'ha pogut afegir la subclau" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Combina tots els anells de claus" + +#~ msgid "Encryption _Type:" +#~ msgstr "Tipus d'_encriptació:" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "OK" +#~ msgstr "D'acord" + +#~ msgid "Full _Name:" +#~ msgstr "_Nom complet:" + +#~ msgid "_Email Address:" +#~ msgstr "_Adreça electrònica:" diff --git a/po/ca@valencia.po b/po/ca@valencia.po new file mode 100644 index 00000000..28b04d44 --- /dev/null +++ b/po/ca@valencia.po @@ -0,0 +1,2651 @@ +# Seahorse translation to Catalan +# Copyright © 2003, 2005, 2006, 2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the Seahorse package. +# Josep Monés i Teixidor , 2003. +# Josep Puigdemont i Casamajó , 2005, 2006, 2007. +# Jordi Serratosa , 2012. +# Josep Sànchez , 2013. +# Gil Forcada , 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" +"product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-10-02 05:22+0000\n" +"PO-Revision-Date: 2016-03-13 14:59+0100\n" +"Last-Translator: Xavi Ivars \n" +"Language-Team: Catalan \n" +"Language: ca-valencia\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bits\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Gtranslator 2.91.6\n" + +#: ../data/seahorse.appdata.xml.in.h:1 +msgid "Seahorse" +msgstr "Seahorse" + +#: ../data/seahorse.appdata.xml.in.h:2 ../data/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "Gestioneu les contrasenyes i claus d'encriptació" + +#: ../data/seahorse.appdata.xml.in.h:3 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"El Seahorse és una aplicació del GNOME per gestionar les claus " +"d'encriptació. S'integra amb el Nautilus, el gedit i altres programes per " +"realitzar-hi operacions d'encriptació." + +#: ../data/seahorse.appdata.xml.in.h:4 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don't have to keep typing it and backup your keys and keyring." +msgstr "" +"Amb el Seahorse podeu crear i gestionar claus PGP i SSH, publicar i " +"recuperar claus des de servidors, guardar la contrasenya per no haver-la " +"d'introduir i també per crear una còpia de seguretat de les vostres claus i " +"anell de claus." + +#: ../data/seahorse.desktop.in.in.h:1 ../common/catalog.vala:285 +#: ../src/seahorse-key-manager.c:660 +msgid "Passwords and Keys" +msgstr "Contrasenyes i claus" + +#: ../data/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "anell de claus;encriptació;seguretat;signatura;ssh;" + +#: ../common/catalog.vala:257 +msgid "Contributions:" +msgstr "Col·laboracions:" + +#: ../common/catalog.vala:287 +msgid "translator-credits" +msgstr "" +"Josep Monés i Teixidor \n" +"Josep Puigdemont i Casamajó " + +#: ../common/catalog.vala:290 +msgid "Seahorse Project Homepage" +msgstr "Pàgina inicial del projecte Seahorse" + +#: ../common/catalog.vala:308 +msgid "Cannot delete" +msgstr "No es pot suprimir" + +#: ../common/catalog.vala:331 ../libseahorse/seahorse-key-manager-store.c:443 +msgid "Couldn't export keys" +msgstr "No s'han pogut exportar les claus" + +#: ../common/catalog.vala:342 +msgid "Couldn't export data" +msgstr "No s'han pogut exportar les dades" + +#: ../common/catalog.vala:358 ../libseahorse/seahorse-widget.c:460 +#, c-format +msgid "Could not display help: %s" +msgstr "No s'ha pogut mostrar l'ajuda: %s" + +#. Top menu items +#: ../common/catalog.vala:364 +msgid "_File" +msgstr "_Fitxer" + +#: ../common/catalog.vala:365 +msgid "E_xport..." +msgstr "E_xporta..." + +#: ../common/catalog.vala:366 +msgid "Export to a file" +msgstr "Exporta a un fitxer" + +#: ../common/catalog.vala:367 +msgid "_Edit" +msgstr "_Edita" + +#: ../common/catalog.vala:370 +msgid "Copy to the clipboard" +msgstr "Copia-ho al porta-retalls" + +#: ../common/catalog.vala:371 ../pkcs11/pkcs11-properties.vala:201 +#: ../src/seahorse-sidebar.c:954 +msgid "_Delete" +msgstr "_Suprimeix" + +#: ../common/catalog.vala:372 +msgid "Delete selected items" +msgstr "Suprimeix els elements seleccionats" + +#: ../common/catalog.vala:374 +msgid "Show the properties of this item" +msgstr "Mostra les propietats de l'element" + +#: ../common/catalog.vala:376 +msgid "Show the properties of this keyring" +msgstr "Mostra les propietats de l'anell de claus" + +#: ../common/catalog.vala:377 +msgid "Prefere_nces" +msgstr "Preferè_ncies" + +#: ../common/catalog.vala:378 +msgid "Change preferences for this program" +msgstr "Canvia les preferències per a este programa" + +#: ../common/catalog.vala:379 +msgid "_View" +msgstr "_Visualitza" + +#: ../common/catalog.vala:380 +msgid "_Help" +msgstr "A_juda" + +#: ../common/catalog.vala:382 +msgid "About this program" +msgstr "Quant a este programa" + +#: ../common/catalog.vala:383 +msgid "_Contents" +msgstr "_Contingut" + +#: ../common/catalog.vala:384 +msgid "Show Seahorse help" +msgstr "Mostra l'ajuda del Seahorse" + +#: ../common/exportable.vala:192 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "Exporta" + +#. TRANSLATORS: this date (Year-month-day) is used to display +#. * when something happened, e.g. when a key was created. Feel +#. * free to put it in the correct order for your language. +#. +#: ../common/util.vala:63 +msgid "%Y-%m-%d" +msgstr "" + +#: ../gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Contrasenyes" + +#: ../gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Contrasenyes, credencials i secrets personals emmagatzemats" + +#: ../gkr/gkr-backend.vala:251 +msgid "New password keyring" +msgstr "Anell de claus de contrasenyes nou" + +#: ../gkr/gkr-backend.vala:252 ../gkr/gkr-backend.vala:259 +msgid "Used to store application and network passwords" +msgstr "S'utilitza per emmagatzemar les contrasenyes d'aplicacions i de xarxes" + +#: ../gkr/gkr-backend.vala:253 +msgid "New password..." +msgstr "Contrasenya nova..." + +#: ../gkr/gkr-backend.vala:254 ../gkr/gkr-backend.vala:261 +msgid "Safely store a password or secret." +msgstr "Emmagatzema de forma segura una contrasenya o un secret." + +#: ../gkr/gkr-backend.vala:258 +msgid "Password Keyring" +msgstr "Anell de claus de contrasenyes" + +#: ../gkr/gkr-backend.vala:260 +msgid "Stored Password" +msgstr "Contrasenya guardada" + +#: ../gkr/gkr-item-add.vala:24 +msgid "Add Password" +msgstr "Afig una contrasenya" + +#: ../gkr/gkr-item-add.vala:101 +msgid "Couldn't add item" +msgstr "No s'ha pogut afegir l'element" + +#: ../gkr/gkr-item-properties.vala:136 +msgid "Access a network share or resource" +msgstr "Accedeix a un recurs compartit de xarxa" + +#: ../gkr/gkr-item-properties.vala:139 +msgid "Access a website" +msgstr "Accedeix a un lloc web" + +#: ../gkr/gkr-item-properties.vala:142 +msgid "Unlocks a PGP key" +msgstr "Desbloca una clau PGP" + +#: ../gkr/gkr-item-properties.vala:145 +msgid "Unlocks a Secure Shell key" +msgstr "Desbloca una clau d'intèrpret d'ordes segur" + +# FIXME +#: ../gkr/gkr-item-properties.vala:148 +msgid "Saved password or login" +msgstr "Contrasenya guardada o entrada" + +#: ../gkr/gkr-item-properties.vala:161 +msgid "Network Credentials" +msgstr "Credencials de xarxa" + +#: ../gkr/gkr-item-properties.vala:166 +msgid "Password" +msgstr "Contrasenya" + +#: ../gkr/gkr-item-properties.vala:235 +msgid "Couldn't change password." +msgstr "No s'ha pogut canviar la contrasenya." + +#: ../gkr/gkr-item-properties.vala:273 +msgid "Couldn't set description." +msgstr "No s'ha pogut establir la descripció." + +#. Translators: This should be the same as the string in empathy +#: ../gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "Contrasenya pel compte de missatgeria instantània " + +#: ../gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "Contrasenya o secret" + +#: ../gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "Contrasenya de xarxa" + +#: ../gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "Nota guardada" + +#: ../gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "Contrasenya de l'anell de claus" + +#: ../gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "Contrasenya de la clau d'encriptació" + +#: ../gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "Contrasenya del magatzem de claus" + +#: ../gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "Contrasenya del Google Chrome" + +#: ../gkr/gkr-item.vala:451 +msgid "Gnome Online Accounts password" +msgstr "Contrasenya dels comptes en línia del GNOME" + +#: ../gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "Contrasenya del Telepathy" + +#: ../gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "Contrasenya de la missatgeria instantània" + +#: ../gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "Secret del gestor de xarxa" + +#: ../gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "Segur que voleu suprimir la contrasenya «%s»?" + +#: ../gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Segur que voleu suprimir %d contrasenya?" +msgstr[1] "Segur que voleu suprimir %d contrasenyes?" + +#: ../gkr/gkr-keyring-add.vala:25 +msgid "Add Password Keyring" +msgstr "Afig un anell de claus de contrasenyes" + +#: ../gkr/gkr-keyring-add.vala:55 +msgid "Couldn't add keyring" +msgstr "No s'ha pogut afegir l'anell de claus" + +#: ../gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "" +"Un anell de claus que es desbloqueja automàticament en iniciar la sessió" + +#: ../gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "Un anell de claus que s'utilitza per guardar-hi contrasenyes" + +#: ../gkr/gkr-keyring.vala:174 +msgid "Couldn't set default keyring" +msgstr "No s'ha pogut establir l'anell de claus predeterminat" + +#: ../gkr/gkr-keyring.vala:198 ../gkr/gkr-keyring.vala:203 +msgid "Couldn't change keyring password" +msgstr "No s'ha pogut canviar la contrasenya de l'anell de claus" + +#: ../gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "_Estableix-lo com a predeterminat" + +#: ../gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "" +"Les aplicacions normalment emmagatzemen les contrasenyes en l'anell de claus " +"predeterminat." + +#: ../gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "Canvia la _contrasenya" + +#: ../gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "" +"Canvia la contrasenya de desblocat de l'anell de claus d'emmagatzematge de " +"contrasenyes" + +#: ../gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "Segur que voleu suprimir l'anell de claus de contrasenyes «%s»?" + +#: ../gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "Entenc que se suprimiran permanentment tots els elements." + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Trieu un nom per a l'anell de claus nou. Se vos demanarà una contrasenya per " +"desblocar-lo." + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "Nom de l'anell de claus nou:" + +# +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "_Descripció:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +msgid "_Password:" +msgstr "_Contrasenya:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Show Password" +msgstr "Mostra la contrasen_ya" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Keyring:" +msgstr "_Anell de claus:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "Ús:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "Tipus:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Server:" +msgstr "Servidor:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Login:" +msgstr "Nom d'usuari:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Show pass_word" +msgstr "Mostra la contrasen_ya" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../libseahorse/seahorse-passphrase.c:179 ../ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Contrasenya:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 ../pgp/seahorse-pgp-subkey.c:402 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "Clau" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "Detalls tècnics:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "Detalls" + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Name:" +msgstr "Nom:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "Creada:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring" +msgstr "Anell de claus" + +#: ../libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Mostra els senyaladors" + +#: ../libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Propietats de la data i/o hora mostrades" + +#: ../libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Mode gandul" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "El mode gandul no normalitza els valors de la data i l'hora introduïts" + +#: ../libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Any" + +#: ../libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Any mostrat" + +#: ../libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mes" + +#: ../libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Mes mostrat" + +#: ../libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dia" + +#: ../libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Dia del mes mostrat" + +#: ../libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Hora" + +#: ../libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Hora mostrada" + +#: ../libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minut" + +#: ../libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Minut mostrat" + +#: ../libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Segon" + +#: ../libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Segon mostrat" + +#: ../libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Any límit més antic" + +#: ../libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Part de l'any de la data límit més antiga" + +#: ../libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Any límit més modern" + +#: ../libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Part de l'any de la data límit més moderna" + +#: ../libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Mes límit més antic" + +#: ../libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Part del mes de la data límit més antiga" + +#: ../libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Mes límit més modern" + +#: ../libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Part del mes de la data límit més moderna" + +#: ../libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Dia límit més antic" + +#: ../libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Part del dia del mes de la data límit més antiga" + +#: ../libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Dia límit més modern" + +#: ../libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Part del dia del mes de la data límit més moderna" + +#: ../libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Hora límit més antiga" + +#: ../libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Part de l'hora del temps límit més antic" + +#: ../libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Hora límit més moderna" + +#: ../libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Part de l'hora del temps límit més modern" + +#: ../libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Minut límit més antic" + +#: ../libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Part del minut del temps límit més antic" + +#: ../libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Minut límit més modern" + +#: ../libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Part del minut del temps límit més modern" + +#: ../libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Segon límit més antic" + +#: ../libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Part del segon del temps límit més antic" + +#: ../libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Segon límit més modern" + +#: ../libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Part del segon del temps límit més modern" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: ../libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Data" + +#: ../libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Introduïu la data directament" + +#: ../libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Seleccioneu la data" + +#: ../libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Seleccioneu la data en un calendari" + +#: ../libegg/egg-datetime.c:520 ../libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "Temps" + +#: ../libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Introduïu l'hora directament" + +#: ../libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Seleccioneu l'hora" + +#: ../libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Seleccioneu l'hora d'una llista" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr" + +#: ../libegg/egg-datetime.c:796 ../libegg/egg-datetime.c:1259 +#: ../libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:798 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%3$02d/%2$02d/%1$04d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "element temporal inicial" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "Afig un servidor de claus" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "Tipus de servidor de claus:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "Ordinador:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "El nom o l'adreça del servidor." + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "El port des d'on accedir al servidor." + +#: ../libseahorse/seahorse-application.c:108 +msgid "Version of this application" +msgstr "Versió de l'aplicació" + +#: ../libseahorse/seahorse-application.c:114 +#: ../libseahorse/seahorse-application.c:158 +msgid "- System Settings" +msgstr "- Paràmetres del sistema" + +#: ../libseahorse/seahorse-application.c:154 +msgid "Don't display a window" +msgstr "No mostres cap finestra" + +#: ../libseahorse/seahorse-interaction.c:98 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Introduïu el PIN o la contrasenya per: %s" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:241 +msgid "Confirm:" +msgstr "Confirmeu:" + +#: ../libseahorse/seahorse-prefs.c:65 +msgid "Not a valid Key Server address." +msgstr "No és una adreça de servidor de claus vàlida." + +#: ../libseahorse/seahorse-prefs.c:66 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Si vos cal ajuda contacteu el vostre administrador de sistemes o " +"l'administrador del servidor de claus." + +#: ../libseahorse/seahorse-prefs.c:179 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:349 +msgid "Custom" +msgstr "Personalitzat" + +#: ../libseahorse/seahorse-prefs.c:402 +msgid "None: Don't publish keys" +msgstr "Cap: No publiques les claus" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "Preferències" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "_Cerca les claus a través de:" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "_Publica les claus a:" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "Obtén les claus automàticament dels _servidors de claus" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" +"Sincronitza automàticament les claus _modificades amb els servidors de claus" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "Servidors de claus" + +#: ../libseahorse/seahorse-search-provider.c:186 +msgid "The search provider is not loaded yet" +msgstr "Encara no s'ha carregat el proveïdor de busca" + +#: ../libseahorse/seahorse-validity.c:38 +#: ../pgp/seahorse-pgp-key-properties.c:1251 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "Desconeguda" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1257 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "Mai" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "Marginal" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "Completa" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Absoluta" + +#: ../libseahorse/seahorse-validity.c:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Inhabilitada" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Revocada" + +# +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "_No venç mai" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "Si la clau no venç mai" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "_Tipus de clau:" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "_Longitud de la clau:" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "Data de venciment:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "Longitud de la clau" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "Genera una subclau nova" + +# +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "Afig un identificador d'usuari" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "Ha de tindre almenys 5 caràcters de longitud" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "Adreça electrònica opcional" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "Comentari descriptiu opcional de la clau" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "_Nom complet:" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "_Adreça electrònica:" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "_Comentari de la clau:" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "Crea l'identificador d'usuari nou" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "_No venç mai" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "Revoca la clau" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "Can_via" + +#: ../pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn't add subkey" +msgstr "No s'ha pogut afegir la subclau" + +#: ../pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "Afig una subclau a %s" + +#: ../pgp/seahorse-gpgme-add-subkey.c:196 ../pgp/seahorse-gpgme-generate.c:132 +msgid "DSA (sign only)" +msgstr "DSA (només signatura)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (només encriptació)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:210 ../pgp/seahorse-gpgme-generate.c:133 +msgid "RSA (sign only)" +msgstr "RSA (només signatura)" + +# +#: ../pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (només encriptació)" + +#: ../pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn't add user id" +msgstr "No s'ha pogut afegir l'id d'usuari" + +# +#: ../pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "Afig l'id d'usuari a %s" + +#: ../pgp/seahorse-gpgme.c:71 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"No s'ha pogut desencriptar. Possiblement no teniu la clau de desencriptació." + +#: ../pgp/seahorse-gpgme.c:75 ../pgp/seahorse-hkp-source.c:548 +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The operation was cancelled" +msgstr "S'ha cancel·lat l'operació" + +#: ../pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "La data de venciment no és vàlida" + +#: ../pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "La data de venciment ha de ser en el futur" + +#: ../pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn't change expiry date" +msgstr "No s'ha pogut canviar la data de venciment" + +#: ../pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "Venciment: %s" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "Diverses claus" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "Dades de la clau" + +#: ../pgp/seahorse-gpgme-exporter.c:116 +msgid "Armored PGP keys" +msgstr "Claus PGP amb armadura" + +#: ../pgp/seahorse-gpgme-exporter.c:120 +msgid "PGP keys" +msgstr "Claus PGP" + +#: ../pgp/seahorse-gpgme-generate.c:93 +msgid "PGP Key" +msgstr "Clau PGP" + +#: ../pgp/seahorse-gpgme-generate.c:94 +msgid "Used to encrypt email and files" +msgstr "Emprades per l'encriptació de correus i de fitxers" + +#: ../pgp/seahorse-gpgme-generate.c:130 ../pkcs11/seahorse-pkcs11-generate.c:90 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:131 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: ../pgp/seahorse-gpgme-generate.c:180 +msgid "Couldn't generate PGP key" +msgstr "No s'ha pogut generar la clau PGP" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "Contrasenya per a la clau PGP" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "Introduïu dues vegades la contrasenya per a la clau nova." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It's a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Quan es crea una clau, s'han de generar moltes\n" +"dades aleatòries, i fa falta l'usuari per\n" +"aconseguir-ho. Per ajudar a crear estes dades\n" +"aleatòries, feu altres tasques, com ara: escriure\n" +"amb el teclat, moure el ratolí o utilitzar altres\n" +"aplicacions. Amb això permetreu que el sistema tinga\n" +"les dades aleatòries que necessita." + +#: ../pgp/seahorse-gpgme-generate.c:231 +#: ../pkcs11/seahorse-pkcs11-generate.c:458 +msgid "Generating key" +msgstr "S'està generant la clau" + +#: ../pgp/seahorse-gpgme-key-deleter.c:77 +#: ../pgp/seahorse-gpgme-secret-deleter.c:76 ../pkcs11/pkcs11-deleter.vala:35 +#: ../pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Segur que voleu suprimir permanentment %s?" + +#: ../pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Segur que voleu suprimir permanentment %d clau?" +msgstr[1] "Segur que voleu suprimir permanentment %d claus?" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "Wrong password" +msgstr "La contrasenya és incorrecta" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Heu introduït malament la contrasenya per tercera vegada, torneu-ho a provar." + +#: ../pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "Contrasenya equivocada." + +#: ../pgp/seahorse-gpgme-keyring.c:93 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "Introduïu una contrasenya nova per a «%s»" + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "Introduïu la contrasenya per a «%s»" + +#: ../pgp/seahorse-gpgme-keyring.c:98 ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "Introduïu una contrasenya nova" + +#: ../pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "Introduïu la contrasenya" + +#: ../pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "Contrasenya" + +#: ../pgp/seahorse-gpgme-keyring.c:306 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "S'ha carregat %d clau" +msgstr[1] "S'han carregat %d claus" + +#: ../pgp/seahorse-gpgme-keyring.c:653 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Les dades de la clau no són vàlides (hi manquen els UID). Pot ser que siga " +"perquè un ordinador té la data al futur, o que manque una autosignatura." + +#: ../pgp/seahorse-gpgme-keyring.c:806 +msgid "GnuPG keys" +msgstr "Claus GnuPG" + +#: ../pgp/seahorse-gpgme-keyring.c:812 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: directori per defecte de l'anell de claus" + +#: ../pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"La fotografia és massa gran\n" +"Es recomana que la mida de la fotografia siga de %d x %d píxels." + +#: ../pgp/seahorse-gpgme-photos.c:77 +msgid "_Don't Resize" +msgstr "_No redimensionis" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Redimensiona" + +#: ../pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Este no és un fitxer d'imatge, o no se'n reconeix el tipus. Intenteu fer " +"servir un JPEG." + +#: ../pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Tots els fitxers d'imatge" + +#: ../pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Tots els fitxers JPEG" + +#: ../pgp/seahorse-gpgme-photos.c:241 ../src/seahorse-key-manager.c:288 +msgid "All files" +msgstr "Tots els fitxers" + +#: ../pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Trieu la fotografia per afegir a la clau" + +#: ../pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn't prepare photo" +msgstr "No s'ha pogut preparar la fotografia" + +#: ../pgp/seahorse-gpgme-photos.c:294 ../pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn't add photo" +msgstr "No s'ha pogut afegir la fotografia" + +#: ../pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" +"No s'ha pogut carregar el fitxer, pot ser que estiga en un format no vàlid." + +#: ../pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Segur que voleu suprimir la fotografia actual de la vostra clau?" + +#: ../pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn't delete photo" +msgstr "No s'ha pogut suprimir la fotografia" + +#: ../pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn't revoke subkey" +msgstr "No s'ha pogut revocar la subclau" + +#: ../pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "Revoca: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "Sense motiu" + +#: ../pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "Cap motiu per la revocació de la clau" + +#: ../pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "Compromesa" + +#: ../pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "La clau ha estat compromesa" + +#: ../pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "Reemplaçada" + +#: ../pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "La clau ha estat reemplaçada" + +#: ../pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "No es fa servir" + +#: ../pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "La clau no es fa servir més" + +#: ../pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Ara afegireu %s com a revocador de %s. Esta operació no es pot desfer. " +"Segur que voleu continuar?" + +#: ../pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn't add revoker" +msgstr "No s'ha pogut afegir el revocador" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:82 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Entenc que se suprimirà permanentment el secret." + +#: ../pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" +"Este clau ja estava signada per\n" +"«%s»" + +#: ../pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn't sign key" +msgstr "No s'ha pogut signar la clau" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:163 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "No hi ha claus que es puguen fer servir per signar" + +#: ../pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"No teniu cap clau PGP que es puga emprar per indicar que confieu en esta " +"clau." + +#: ../pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Desconegut" + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:566 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" +"La busca no ha estat prou específica. El servidor «%s» ha trobat massa claus." + +#: ../pgp/seahorse-hkp-source.c:569 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "No s'ha pogut comunicar amb el servidor «%s»: %s" + +#: ../pgp/seahorse-hkp-source.c:1079 +msgid "HTTP Key Server" +msgstr "Servidors de claus HTTP" + +#: ../pgp/seahorse-keyserver-results.c:168 +msgid "Couldn't import keys" +msgstr "No s'han pogut importar les claus" + +#: ../pgp/seahorse-keyserver-results.c:211 +msgid "Importing keys from key servers" +msgstr "S'estan important claus dels servidors de claus" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:237 ../src/seahorse-key-manager.c:501 +msgid "_Remote" +msgstr "_Remot" + +#: ../pgp/seahorse-keyserver-results.c:239 +msgid "Close this window" +msgstr "Tanca esta finestra" + +#: ../pgp/seahorse-keyserver-results.c:243 ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys..." +msgstr "_Cerca claus remotes..." + +#: ../pgp/seahorse-keyserver-results.c:244 ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "Busca claus en un servidor de claus" + +#: ../pgp/seahorse-keyserver-results.c:248 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "_Importa" + +#: ../pgp/seahorse-keyserver-results.c:249 +msgid "Import selected keys to local key ring" +msgstr "Importa les claus seleccionades a l'anell de claus local" + +#: ../pgp/seahorse-keyserver-results.c:280 +msgid "Remote Keys" +msgstr "Claus remotes" + +#: ../pgp/seahorse-keyserver-results.c:282 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "Claus remotes que contenen «%s»" + +#: ../pgp/seahorse-keyserver-results.c:485 +msgid "The search for keys failed." +msgstr "Ha fallat la busca de claus." + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "Busca claus remotes" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Això cercarà claus d'altres persones a Internet. Estes claus es poden " +"importar més tard al vostre anell de claus local." + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "Ce_rca claus que continguen: " + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "Servidors de claus:" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "Claus compartides a prop meu:" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "On buscar:" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "_Cerca" + +#: ../pgp/seahorse-keyserver-sync.c:56 +msgid "Couldn't publish keys to server" +msgstr "No s'han pogut publicar les claus al servidor" + +#: ../pgp/seahorse-keyserver-sync.c:75 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "No s'han pogut recuperar les claus del servidor: %s" + +#: ../pgp/seahorse-keyserver-sync.c:159 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "S'ha seleccionat %d clau per sincronitzar" +msgstr[1] "S'han seleccionat %d claus per sincronitzar" + +#: ../pgp/seahorse-keyserver-sync.c:239 +msgid "Synchronizing keys..." +msgstr "S'estan sincronitzant les claus..." + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "Sincronitza les claus" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"Això publicarà les claus del vostre anell de claus de manera que estiguen " +"disponibles per a d'altres persones. També podreu obtindre els canvis que " +"d'altres hagen fet des de la darrera vegada que veu rebre les seues claus." + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Això recuperarà els canvis que d'altres hagen fet des de la darrera vegada " +"que veu rebre les seues claus. Atès que no s'ha seleccionat cap servidor on " +"publicar les vostres claus, no estaran disponibles a altres persones." + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "_Servidors de claus" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "_Sincronitza" + +#: ../pgp/seahorse-ldap-source.c:436 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "No s'ha pogut comunicar amb «%s»: %s" + +#: ../pgp/seahorse-ldap-source.c:646 +#, c-format +msgid "Connecting to: %s" +msgstr "S'està connectant a: %s" + +#: ../pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "No s'ha pogut resoldre l'adreça: %s" + +#: ../pgp/seahorse-ldap-source.c:696 +#, c-format +msgid "Resolving server address: %s" +msgstr "S'està resolent l'adreça del servidor: %s" + +#: ../pgp/seahorse-ldap-source.c:1431 +msgid "LDAP Key Server" +msgstr "Servidor de claus LDAP" + +#: ../pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys..." +msgstr "_Sincronitza i publica les claus..." + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "" +"Publiqueu o sincronitzeu les vostres claus amb les que hi haja en línia." + +#: ../pgp/seahorse-pgp-backend.c:193 +msgid "PGP Keys" +msgstr "Claus PGP" + +#: ../pgp/seahorse-pgp-backend.c:199 +msgid "PGP keys are for encrypting email or files" +msgstr "Les claus PGP serveixen per l'encriptació de correus i fitxers" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "C_rea" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "Genera una clau nova" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Una clau PGP vos permet encriptar correus o fitxers per a altres persones." + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Ne_ver Expires" +msgstr "No venç _mai" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "_Comment:" +msgstr "C_omentari:" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "Tipus d'_encriptació:" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "_Força de la clau (en bits):" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "_Data de venciment:" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "Opcions _avançades de la clau" + +#: ../pgp/seahorse-pgp-key.c:351 +msgid "Personal PGP key" +msgstr "Clau PGP personal" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "PGP key" +msgstr "Clau PGP" + +#: ../pgp/seahorse-pgp-key-properties.c:317 +msgid "Couldn't change primary user ID" +msgstr "No s'ha pogut canviar l'identificador primari de l'usuari" + +#: ../pgp/seahorse-pgp-key-properties.c:336 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "Segur que voleu suprimir permanentment l'identificador d'usuari «%s»?" + +#: ../pgp/seahorse-pgp-key-properties.c:346 +msgid "Couldn't delete user ID" +msgstr "No s'ha pogut suprimir l'identificador d'usuari" + +#: ../pgp/seahorse-pgp-key-properties.c:421 +#: ../pgp/seahorse-pgp-key-properties.c:1576 +msgid "[Unknown]" +msgstr "[Desconegut]" + +#: ../pgp/seahorse-pgp-key-properties.c:530 +#: ../pgp/seahorse-pgp-key-properties.c:1859 +msgid "Name/Email" +msgstr "Nom/adreça electrònica" + +#: ../pgp/seahorse-pgp-key-properties.c:537 +msgid "Signature ID" +msgstr "Identificador de la signatura" + +#: ../pgp/seahorse-pgp-key-properties.c:670 +msgid "Couldn't change primary photo" +msgstr "No s'ha pogut canviar la fotografia primària" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:904 +msgid "(unknown)" +msgstr "(desconegut)" + +#: ../pgp/seahorse-pgp-key-properties.c:907 +#, c-format +msgid "This key expired on: %s" +msgstr "Esta clau va vèncer el: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:970 +msgid "Name" +msgstr "Nom" + +#: ../pgp/seahorse-pgp-key-properties.c:1085 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Segur que voleu suprimir permanentment la subclau %d de %s?" + +#: ../pgp/seahorse-pgp-key-properties.c:1094 +msgid "Couldn't delete subkey" +msgstr "No s'ha pogut suprimir la subclau" + +#: ../pgp/seahorse-pgp-key-properties.c:1134 +#: ../pgp/seahorse-pgp-key-properties.c:1550 +msgid "Unable to change trust" +msgstr "No s'ha pogut canviar la confiança" + +#: ../pgp/seahorse-pgp-key-properties.c:1148 +#: ../ssh/seahorse-ssh-key-properties.c:205 +msgid "Couldn't export key" +msgstr "No s'ha pogut exportar la clau" + +#: ../pgp/seahorse-pgp-key-properties.c:1264 +msgid "Marginal" +msgstr "Marginal" + +#: ../pgp/seahorse-pgp-key-properties.c:1270 +msgid "Full" +msgstr "Completa" + +#: ../pgp/seahorse-pgp-key-properties.c:1276 +msgid "Ultimate" +msgstr "Absoluta" + +#: ../pgp/seahorse-pgp-key-properties.c:1382 +#: ../pgp/seahorse-pgp-key-properties.c:1475 +msgctxt "Expires" +msgid "Never" +msgstr "Mai" + +#: ../pgp/seahorse-pgp-key-properties.c:1429 +msgid "ID" +msgstr "ID" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "Type" +msgstr "Tipus" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Usage" +msgstr "Utilització" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "Creada" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "Venç" + +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "Estat" + +# FIXME FIXME FIXME (josep) +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "Força" + +#: ../pgp/seahorse-pgp-key-properties.c:1466 +msgid "Revoked" +msgstr "Revocada" + +#: ../pgp/seahorse-pgp-key-properties.c:1468 +msgid "Expired" +msgstr "Ha vençut" + +#: ../pgp/seahorse-pgp-key-properties.c:1470 +msgid "Disabled" +msgstr "Inhabilitada" + +#: ../pgp/seahorse-pgp-key-properties.c:1472 +msgid "Good" +msgstr "Correcte" + +#: ../pgp/seahorse-pgp-key-properties.c:1862 +msgid "Key ID" +msgstr "ID de la clau" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "Propietats de la clau" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "Esta clau ha estat revocada" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "El propietari de la clau l'ha revocada, no es pot fer servir més." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "Esta clau ha vençut" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "Afig una fotografia a esta clau" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "Suprimeix esta foto d'esta clau" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "Fes que esta foto siga la primària" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "Vés a la foto anterior" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "Vés a la foto següent" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "Fotografia " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "Identificador de la clau:" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "Nom:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "Adreça electrònica:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "Comentari:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "Desencripteu fitxers i correus que vos envien." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "Clau PGP privada" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "Canvia la contrasen_ya" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "Propietari" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "Noms de clau i signatures" + +# La clau o la foto (josep) +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "Primària" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "Signa" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "Suprimeix" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "_Afig un nom" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "Revoca" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "Noms i signatures" + +# FIXME FIXME FIXME (josep) +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "Força:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "Detalls tècnics" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "Empremta digital" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "Venç:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "Dates" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "_Canvia la confiança en el propietari:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Secret Key:" +msgstr "_Exporta la clau secreta:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "Actions" +msgstr "Accions" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "Afig" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "Venç" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "_Subclaus" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "Marginal" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "Completa" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Absoluta" + +# FIXME: "Xifra els fitxers i envia'ls per correu electrònic al " +# "propietari de la clau" ? (David) +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key's owner" +msgstr "Encripta fitxers i correus al propietari de la clau" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "Clau PGP pública" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "_Altres noms:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "La confiança que teniu en esta clau" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "" +"La confiança que hi teniu s'especifica manualment a la pestanya de " +"Detalls." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "Confio en les signatures de «%s» a altres claus" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "Si creieu que el propietari d'esta clau és «%s», signeu-la:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "_Signa esta clau" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" +"Si ja no creieu que el propietari d'esta clau és «%s», revoqueu la " +"vostra signatura:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "_Revoca la signatura" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "_Persones que han signat esta clau:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "_Mostra només signatures de gent en qui confie" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "Confiança" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "Empremta digital:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "Dates:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "Indiqueu la confiança:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "Confieu en el _propietari:" + +#: ../pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "Encripta" + +#: ../pgp/seahorse-pgp-subkey.c:293 +msgid "Certify" +msgstr "Certifica" + +#: ../pgp/seahorse-pgp-subkey.c:294 +msgid "Authenticate" +msgstr "Autentica" + +#: ../pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "Subclau %d de %s" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "Motiu pel qual es revoca la clau" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "_Motiu:" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "Descripció opcional per a la revocació" + +# +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "Re_voca" + +#: ../pgp/seahorse-signer.c:62 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"No teniu claus PGP personals que es puguen emprar per signar cap document o " +"missatge." + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "_Signa el fitxer amb la clau:" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "Signa la clau" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "En signar esteu indicant que confieu que esta clau pertany a:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "Nom de la clau" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "Amb quin deteniment heu comprovat esta clau?" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "_De cap manera" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "_Casualment" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "Amb _molt deteniment" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"De cap manera: vol dir que creieu que la clau és propietat de la " +"persona que diu ser-ne la propietària, però que no heu pogut verificar-ho." + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Casualment: vol dir que heu fet una verificació per sobre que la clau " +"és de la persona que diu ser-ne la propietària. Per exemple, podeu dir-li " +"per telèfon l'empremta digital de la clau." + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Amb molt deteniment: seleccioneu esta opció només si esteu " +"absolutament segur que esta clau és genuïna." + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Podríeu emprar una fotografia que siga difícil de falsificar (com ara un " +"passaport) per verificar personalment que el nom a la clau és correcte. " +"També hauríeu d'haver emprat el correu per verificar que l'adreça pertany al " +"seu propietari." + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "La manera en què altres veuran esta signatura:" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "_Altres no poden veure esta fotografia" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "Puc _revocar esta clau més avant." + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "Signa la clau com a:" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "_Signant:" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "_Signa" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "S'estan exportant les dades" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "S'estan recuperant les dades" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "S'estan important les dades" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "S'estan enviant les dades" + +#: ../pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "No disponible" + +#: ../pkcs11/certificate-der-exporter.vala:43 +#: ../pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certificat" + +#: ../pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certificats (codificats amb DER)" + +#: ../pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Certificat i clau personals" + +#: ../pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Certificat personal" + +#: ../pkcs11/seahorse-pkcs11-backend.c:189 +msgid "Certificates" +msgstr "Certificats" + +#: ../pkcs11/seahorse-pkcs11-backend.c:195 +msgid "X.509 certificates and related keys" +msgstr "Certificats X.509 i claus relacionades" + +#: ../pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Segur que voleu suprimir permanentment %d certificat?" +msgstr[1] "Segur que voleu suprimir permanentment %d certificats?" + +#: ../pkcs11/seahorse-pkcs11-generate.c:113 +msgid "Couldn't generate private key" +msgstr "No s'ha pogut generar la clau privada" + +#: ../pkcs11/seahorse-pkcs11-generate.c:412 ../pkcs11/pkcs11-request.vala:56 +msgid "Create" +msgstr "Crea" + +#: ../pkcs11/seahorse-pkcs11-generate.c:505 +#: ../pkcs11/pkcs11-private-key.vala:70 +msgid "Private key" +msgstr "Clau privada" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +msgid "Used to request a certificate" +msgstr "S'utilitza per sol·licitar un certificat" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "Crea una clau privada nova" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "Etiqueta:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "Emmagatzemada a:" + +#: ../pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Entenc que se suprimirà permanentment la contrasenya." + +#: ../pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "Sense nom" + +#: ../pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "No s'ha pogut exportar el certificat" + +#: ../pkcs11/pkcs11-properties.vala:188 ../src/seahorse-sidebar.c:873 +msgid "Couldn't delete" +msgstr "No s'ha pogut suprimir" + +#: ../pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "_Exporta" + +#: ../pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "Exporta el certificat" + +#: ../pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "Suprimeix el certificat o la clau" + +#: ../pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "Sol·licita un _certificat" + +#: ../pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "Crea un fitxer de sol·licitud de certificat per esta clau" + +#: ../pkcs11/pkcs11-request.vala:87 +msgid "Couldn't create certificate request" +msgstr "No s'ha pogut crear la sol·licitud de certificat" + +#: ../pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Guarda la sol·licitud de certificat" + +#: ../pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "Sol·licitud de certificat" + +#: ../pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "Sol·licitud codificada amb PEM" + +#: ../pkcs11/pkcs11-request.vala:149 +msgid "Couldn't save certificate request" +msgstr "No s'ha pogut guardar la sol·licitud de certificat" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "Crea un fitxer de sol·licitud de certificat." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "El nom comú (CN) de la sol·licitud de certificat." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "Nom (CN):" + +#: ../pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Clau privada sense nom" + +#: ../pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Desconeguda" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "Canvia la contrasenya" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "Contrasen_ya nova:" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "Con_firmeu la contrasenya nova" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "Con_firmeu la contrasenya:" + +#: ../src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "Continua" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "_Seleccioneu el tipus d'element que voleu crear:" + +#: ../src/seahorse-import-dialog.c:95 +msgid "Import failed" +msgstr "Ha fallat la importació" + +#: ../src/seahorse-import-dialog.c:113 +msgid "Import" +msgstr "Importa" + +#: ../src/seahorse-import-dialog.c:126 +msgid "Data to be imported:" +msgstr "Dades a importar:" + +#: ../src/seahorse-key-manager.c:242 ../ssh/seahorse-ssh-operation.c:870 +msgid "Import Key" +msgstr "Importa clau" + +#: ../src/seahorse-key-manager.c:254 +msgid "All key files" +msgstr "Tots els fitxers de claus" + +#: ../src/seahorse-key-manager.c:355 +msgid "Dropped text" +msgstr "Text deixat anar" + +#: ../src/seahorse-key-manager.c:391 +msgid "Clipboard text" +msgstr "Text del porta-retalls" + +#: ../src/seahorse-key-manager.c:502 +msgid "_New" +msgstr "_Nova" + +#: ../src/seahorse-key-manager.c:504 +msgid "Close this program" +msgstr "Ix d'este programa" + +#: ../src/seahorse-key-manager.c:505 ../src/seahorse-key-manager.c:507 +msgid "_New..." +msgstr "_Nova..." + +#: ../src/seahorse-key-manager.c:506 +msgid "Create a new key or item" +msgstr "Crea una clau o un element nou" + +#: ../src/seahorse-key-manager.c:508 +msgid "Add a new key or item" +msgstr "Afig una clau o un element nou" + +#: ../src/seahorse-key-manager.c:509 +msgid "_Import..." +msgstr "_Importa..." + +#: ../src/seahorse-key-manager.c:510 +msgid "Import from a file" +msgstr "Importa des d'un fitxer" + +#: ../src/seahorse-key-manager.c:512 +msgid "Import from the clipboard" +msgstr "Importa des del porta-retalls" + +#: ../src/seahorse-key-manager.c:516 +msgid "By _Keyring" +msgstr "Per _anell de claus" + +#: ../src/seahorse-key-manager.c:517 +msgid "Show sidebar listing keyrings" +msgstr "Mostra la barra lateral amb el llistat d'anells de claus" + +#: ../src/seahorse-key-manager.c:521 +msgid "Show _Personal" +msgstr "Mostra les _personals" + +#: ../src/seahorse-key-manager.c:522 +msgid "Only show personal keys, certificates and passwords" +msgstr "Mostra només les claus, els certificats i les contrasenyes personals" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show _Trusted" +msgstr "Mostra les de _confiança" + +#: ../src/seahorse-key-manager.c:524 +msgid "Only show trusted keys, certificates and passwords" +msgstr "" +"Mostra només les claus, els certificats i les contrasenyes de confiança" + +#: ../src/seahorse-key-manager.c:525 +msgid "Show _Any" +msgstr "Mostra _qualsevol" + +#: ../src/seahorse-key-manager.c:526 +msgid "Show all keys, certificates and passwords" +msgstr "Mostra totes les claus, els certificats i les contrasenyes" + +#: ../src/seahorse-key-manager.c:745 +msgid "Filter" +msgstr "Filtre" + +# FIXME (josep) +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "Opcions de la primera vegada:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "Genereu una clau per a vós mateix: " + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "Importa les claus existents des d'un fitxer:" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "Per poder començar a encriptar vos caldran claus." + +#: ../src/seahorse-sidebar.c:797 +msgid "Couldn't lock" +msgstr "No s'ha pogut blocar" + +#: ../src/seahorse-sidebar.c:834 +msgid "Couldn't unlock" +msgstr "No s'ha pogut desblocar" + +#: ../src/seahorse-sidebar.c:941 +msgid "_Lock" +msgstr "_Bloca" + +#: ../src/seahorse-sidebar.c:946 +msgid "_Unlock" +msgstr "_Desbloca" + +#: ../src/seahorse-sidebar.c:965 +msgid "_Properties" +msgstr "_Propietats" + +#: ../ssh/seahorse-ssh-actions.c:97 +msgid "Configure Key for _Secure Shell..." +msgstr "Configura la clau per a l'intèrpret d'ordes _segur..." + +#: ../ssh/seahorse-ssh-actions.c:98 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"Envia la clau pública de l'intèrpret d'ordes segur a un altre ordinador, i " +"habilita connexions que emprin esta clau." + +#: ../ssh/seahorse-ssh-askpass.c:78 ../ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Introduïu la contrasenya de l'intèrpret d'ordes segur:" + +#: ../ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Contrasenya de la clau antiga" + +#: ../ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Introduïu una contrasenya antiga de: %s" + +#: ../ssh/seahorse-ssh-askpass.c:105 ../ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Contrasenya de la clau nova" + +#: ../ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Introduïu una contrasenya nova de: %s" + +#: ../ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Introduïu un altre cop la contrasenya nova de: %s" + +#: ../ssh/seahorse-ssh-backend.c:115 +msgid "Secure Shell" +msgstr "Intèrpret d'ordes segur" + +#: ../ssh/seahorse-ssh-backend.c:121 +msgid "Keys used to connect securely to other computers" +msgstr "" +"Claus que s'utilitzen per connectar-se de forma segura a altres ordinadors" + +#: ../ssh/seahorse-ssh-deleter.c:80 ../ssh/seahorse-ssh-deleter.c:85 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "Segur que voleu suprimir la clau de l'intèrpret d'ordes segur «%s»?" + +#: ../ssh/seahorse-ssh-deleter.c:90 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "Segur que voleu suprimir %d clau d'intèrpret d'ordes segur?" +msgstr[1] "Segur que voleu suprimir %d claus d'intèrpret d'ordes segur?" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "SSH Key" +msgstr "Clau SSH" + +#: ../ssh/seahorse-ssh-exporter.c:124 +msgid "Secret SSH keys" +msgstr "Claus SSH privades" + +#: ../ssh/seahorse-ssh-exporter.c:128 +msgid "Public SSH keys" +msgstr "Claus SSH públiques" + +#: ../ssh/seahorse-ssh-exporter.c:297 +msgid "No public key file is available for this key." +msgstr "No hi ha disponible cap fitxer de clau pública per esta clau." + +#: ../ssh/seahorse-ssh-generate.c:52 ../ssh/seahorse-ssh-key.c:109 +#: ../ssh/seahorse-ssh-key.c:113 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "Clau d'intèrpret d'ordes segur" + +#: ../ssh/seahorse-ssh-generate.c:53 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "Emprades per accedir a ordinadors (p. ex.: via un terminal)" + +#: ../ssh/seahorse-ssh-generate.c:107 ../ssh/seahorse-ssh-generate.c:123 +msgid "Couldn't generate Secure Shell key" +msgstr "No s'ha pogut generar la clau per a l'intèrpret d'ordes segur" + +#: ../ssh/seahorse-ssh-generate.c:190 +msgid "Creating Secure Shell Key" +msgstr "S'està creant la clau per a l'intèrpret d'ordes segur" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "Clau nova d'intèrpret d'ordes segur" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "_Només crea la clau" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "_Crea i configura" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Una clau d'intèrpret d'ordes segur (SSH) vos permet connectar de manera " +"segura a altres ordinadors." + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"La vostra adreça electrònica o qualsevol altre text que vos recorde per a què " +"és esta clau." + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Si ja sabeu algun ordinador amb el qual vulgueu emprar esta clau, podeu " +"configurar-lo per tal que reconegui la clau nova." + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "(Unreadable Secure Shell Key)" +msgstr "(No és possible llegir la clau de l'intèrpret d'ordes segur)" + +#: ../ssh/seahorse-ssh-key.c:213 +msgid "Personal SSH key" +msgstr "Clau SSH personal" + +#: ../ssh/seahorse-ssh-key.c:215 +msgid "SSH key" +msgstr "Clau SSH" + +#: ../ssh/seahorse-ssh-key-properties.c:79 +msgid "Couldn't rename key." +msgstr "No s'ha pogut canviar el nom a la clau." + +#: ../ssh/seahorse-ssh-key-properties.c:134 +msgid "Couldn't change authorization for key." +msgstr "No s'ha pogut canviar l'autorització de la clau." + +#: ../ssh/seahorse-ssh-key-properties.c:171 +msgid "Couldn't change passphrase for key." +msgstr "No s'ha pogut canviar la contrasenya de la clau." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "Identificador:" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "Nom:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "Emprades per connectar a altres ordinadors." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" +"S'_autoritza al propietari d'esta clau a connectar-se a este ordinador" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "Això només és aplicable al compte %s." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "Algorisme:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "Ubicació:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "E_xporta la clau completa" + +#: ../ssh/seahorse-ssh-operation.c:204 +msgid "The SSH command was terminated unexpectedly." +msgstr "L'orde SSH ha acabat inesperadament." + +#: ../ssh/seahorse-ssh-operation.c:214 +msgid "The SSH command failed." +msgstr "Ha fallat l'orde SSH." + +#: ../ssh/seahorse-ssh-operation.c:523 +msgid "Remote Host Password" +msgstr "Contrasenya de l'ordinador remot" + +#: ../ssh/seahorse-ssh-operation.c:610 +msgid "Enter Key Passphrase" +msgstr "Introduïu la contrasenya de la clau" + +#: ../ssh/seahorse-ssh-operation.c:701 +msgid "Passphrase for New Secure Shell Key" +msgstr "Contrasenya per a la clau nova de l'intèrpret d'ordes segur" + +#: ../ssh/seahorse-ssh-operation.c:887 +#, c-format +msgid "Importing key: %s" +msgstr "S'està important la clau: %s" + +#: ../ssh/seahorse-ssh-operation.c:889 +msgid "Importing key. Enter passphrase" +msgstr "S'està important la clau. Introduïu la contrasenya" + +#: ../ssh/seahorse-ssh-source.c:219 +msgid "OpenSSH keys" +msgstr "Claus d'OpenSSH" + +#: ../ssh/seahorse-ssh-source.c:226 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ../ssh/seahorse-ssh-source.c:974 +msgid "No private key file is available for this key." +msgstr "No hi ha disponible cap fitxer de clau privada per esta clau." + +#: ../ssh/seahorse-ssh-upload.c:48 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "" +"No s'han pogut configurar les claus de l'intèrpret d'ordes segur en " +"l'ordinador remot." + +#: ../ssh/seahorse-ssh-upload.c:131 +msgid "Configuring Secure Shell Keys..." +msgstr "S'estan configurant les claus de l'intèrpret d'ordes segur..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "Configura l'ordinador per a connexions SSH" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Per utilitzar la clau d'intèrpret d'ordes segur en un altre ordinador que " +"faça servir l'SSH cal que tingueu un compte d'usuari en aquell ordinador." + +# Nota: s'hi ha de deixar "example.com" (RFC 2606) (josep) +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "p. ex.: servidorfitxers.exemple.cat:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Server address:" +msgstr "Adreça del _servidor:" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login name:" +msgstr "Nom d'_usuari:" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "_Configuració" diff --git a/po/cs.po b/po/cs.po new file mode 100644 index 00000000..df5322d4 --- /dev/null +++ b/po/cs.po @@ -0,0 +1,2816 @@ +# Czech translation of seahorse. +# Copyright (C) 1996, 2003, 2008, 2011 the author(s) of seahorse. +# Copyright (C) 2004, 2005 Miloslav Trmac . +# This file is distributed under the same license as the seahorse package. +# +# Petr Domansky , 2000. +# Michal Bukovjan , 2003. +# Miloslav Trmac , 2003, 2004, 2005. +# Vitezslav Kotrla , 2008. +# Petr Kovar , 2008. +# Lucas Lommer , 2008. +# Marketa Nykrynova , 2011, 2012. +# Marek Černocký , 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-08-28 10:13+0200\n" +"Last-Translator: Marek Černocký \n" +"Language-Team: čeština \n" +"Language: cs\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" +"X-Generator: Gtranslator 2.91.7\n" +"X-Project-Style: gnome\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Přidání serveru s klíči" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Uživatelský" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Zrušit" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Uložit" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Nezdařilo se smazat" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Nezdařilo se exportovat klíče" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Nezdařilo se exportovat data" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Zrušit" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Smazat" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Exportovat" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Zadejte PIN nebo heslo pro: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Potvrzení:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Budiž" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Heslo:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Hesla" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Klíče" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certifikáty" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Předvolby" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Žádný: Nezveřejňovat klíče" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Chybná adresa serveru klíčů." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "Požádejte o pomoc správce systému nebo správce serveru s klíči." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "Adresa URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "počáteční dočasná položka" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Typ serveru s klíči:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Server:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Název nebo adresa serveru." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Port, na kterém se má přistupovat k serveru." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Hledat klíče pomocí:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "Z_veřejňovat klíče na:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Automaticky _získat klíče ze serverů klíčů" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Automaticky _synchronizovat změněné klíče se servery klíčů" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Servery klíčů" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Nevím" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Nevěřím" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Věřím částečně" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Věřím plně" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Věřím maximálně" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Zakázaný" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Odvolaný" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Přehled" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Nápověda" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Otevřít nabídku" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Vytvořit novou položku" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Naimportovat položku ze souboru" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Hledat" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Seznam klávesových zkratek" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Ukončit" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navigace" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Vybrat předchozí klíčenku" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Vybrat následující klíčenku" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Zobrazit postranní panel (na malých obrazovkách)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Zobrazit obsah klíčenky (na malých obrazovkách)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Automaticky získávat klíče" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Zda klíče mají nebo nemají být získávány automaticky ze serverů s klíči." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Automaticky zveřejňovat klíče" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Zda klíče mají nebo nemají být automaticky zveřejňovány." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Zveřejňovat klíče na tento server s klíči" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Server s klíči pro zveřejnění klíčů PGP. Když je prázdné, zveřejňování klíčů " +"se potlačí." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Poslední vyhledávací vzor serveru s klíči" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Poslední vzor hledání, podle kterého se hledalo vůči serveru s klíči." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Naposledy použité servery s klíči" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Poslední server s klíči, na kterém se provádělo hledání, nebo prázdná " +"hodnota pro všechny servery s klíči." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Zobrazovat postranní panel s klíčenkami" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Zobrazovat v Seahorse postranní panel s klíčenkami" + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Které položky zobrazovat" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtr pro zobrazování položek. Když je prázdný, zobrazují se všechny " +"položky, „personal“ zobrazuje osobní klíče, „trusted“ důvěryhodné klíče." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Šířka postranního panelu" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Výchozí šířka postranního panelu." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Zvolené klíčenky" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Adresy URI klíčenek, které jsou zvolené v postranním panelu." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Sloupec, podle kterého Seahorse řadí klíče" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Určuje sloupec, podle kterého se v hlavním okně správce klíčů Seahorse řadí. " +"Sloupce jsou: „name“ (název), „id“ (ID), „validity“ (platnost), " +"„expires“ (vyprší), „trust“ (důvěra) a „type“ (typ). Pokud chcete řadit v " +"sestupném pořadí, připojte před název sloupce znak „-“." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Zobrazovat sloupec s platností" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Již se nepoužívá." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Zobrazovat sloupec s vypršením" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Zobrazovat sloupec s důvěrou" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Zobrazovat sloupec s typem" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Šířka okna" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Šířka okna (v pixelech)" + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Výška okna" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Výška okna (v pixelech)" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Spravujte svá hesla a šifrovací klíče" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse je aplikace GNOME pro správu šifrovacích klíčů." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Pomocí aplikace seahorse můžete vytvářet a spravovat klíče PGP, vytvářet a " +"spravovat klíče SSH, zveřejňovat a získávat klíče ze serverů, ukládat své " +"heslové fráze do mezipaměti (abste je nemuseli pořád dokola psát) a " +"zálohovat své klíče a klíčenku." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Projekt GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Hesla a klíče" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "klíčenka;klíč;šifrování;bezpečnost;zabezpečení;podpis;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Uložená osobní hesla a přístupové údaje" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Nezdařilo se odemknout" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Nezdařilo se přidat položku" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Heslo nebo tajemství" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Tajemství pro síťová připojení" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Heslo k Wi-Fi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Síťové heslo" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Heslo pro Web GNOME" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Heslo pro Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Heslo pro komunikátor" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Heslo k účtu IM" + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Heslo pro Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Heslo pro Účty on-line GNOME" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Uložit změny pro tuto položku?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Přístup k síťovému sdílenému prostředku" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Přístup k webu" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Odemkne klíč PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Odemkne klíč SSH" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Uložené heslo nebo přihlašovací jméno" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Přihlašovací údaje pro síť" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Heslo" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Nezdařilo se změnit heslo." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Nezdařilo se nastavit popis." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Chyba při mazání hesla" + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Uložená poznámka" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Heslo ke klíčence" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Heslo k zašifrování klíče" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Heslo k úložišti klíčů" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Tajemství pro Správce sítí" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Chcete opravdu smazat heslo „%s“?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Opravdu chcete smazat %d heslo?" +msgstr[1] "Opravdu chcete smazat %d hesla?" +msgstr[2] "Opravdu chcete smazat %d hesel?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Nezdařilo se přidat klíčenku" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Neznámé datum" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Klíčenka se automaticky odemkne při přihlášení" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Klíčenka slouží k ukládání hesel" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Nezdařilo se nastavit výchozí klíčenku" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Nezdařilo se změnit heslo klíčenky" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Nastavit jako výchozí" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Změnit _heslo" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Chcete opravdu smazat klíčenku „%s“?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Chápu, že všechny položky budou trvale smazány." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Zobrazit/skrýt heslo" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Přidat heslo" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Klíčenka:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Popis:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Heslo:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Přidat" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Přidat klíčenku s hesly" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Zvolte prosím název nové klíčenky. Bude třeba zadat heslo pro odemčení." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Název nové klíčenky:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Vlastnosti položky" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Popis" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Kopírovat" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Použití" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Typ" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Server" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Přihlášení" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Podrobnosti" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Smazat heslo" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Vlastnosti klíčenky" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Název" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Vytvořeno" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Změnit heslo" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Nastavit jako výchozí" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Zobrazovat příznaky" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Zobrazeny vlastnosti data a/nebo času" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "„Líný“ režim" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "„Líný“ režim nenormalizuje zadané hodnoty data a času" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Rok" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Zobrazovaný rok" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Měsíc" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Zobrazovaný měsíc" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Den" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Zobrazovaný den v měsíci" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Hodina" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Zobrazovaná hodina" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minuta" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Zobrazovaná minuta" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekunda" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Zobrazovaná sekunda" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Rok spodní meze" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Rok jako součást spodní meze" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Rok horní meze" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Rok jako součást horní meze" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Měsíc spodní meze" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Měsíc jako součást spodní meze" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Měsíc horní meze" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Měsíc jako součást horní meze" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Den spodní meze" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Den v měsíci jako součást spodní meze" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Den horní meze" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Den v měsíci jako součást horní meze " + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Hodina spodní meze" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Hodina jako součást spodní meze" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Hodina horní meze" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Hodina jako součást horní meze" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Minuta spodní meze" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Minuta jako součást spodní meze" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Minuta horní meze" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Minuta jako součást horní meze" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Sekunda spodní meze" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Sekunda jako součást spodní meze" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Sekunda horní meze" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Sekunda jako součást horní meze" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Datum" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Zadat datum přímo" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Vybrat datum" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Zvolit datum z kalendáře" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Čas" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Zadat čas přímo" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Vybrat čas" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Zvolit čas ze seznamu" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "dop." + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "odp." + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Nebylo možno zobrazit nápovědu: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Přidat podklíč k %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (jen pro podpis)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (jen pro zašifrování)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (jen pro podpis)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (jen pro zašifrování)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "_Typ klíče" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Dé_lka klíče" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Délka klíče" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Datum vypršení platnosti" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Nikdy ne_vyprší" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Pokud klíč nikdy nevyprší" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Vygenerovat nový podklíč" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Přidat ID uživatele k %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Nezdařilo se přidat ID uživatele" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Přidat ID uživatele" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Celé _jméno" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Musí být alespoň 5 znaků dlouhé" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_E-mailová adresa" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Nepovinná e-mailová adresa" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Pozná_mka ke klíči" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Nepovinná poznámka popisující klíč" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Vytvořit nové ID uživatele" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Dešifrování selhalo. Pravděpodobně nemáte dešifrovací klíč." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Operace byla zrušena" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Neplatné datum vypršení" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Datum vypršení musí být v budoucnosti" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Nezdařilo se změnit datum vypršení" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Vypršení: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Nevyprší nikdy" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Změnit" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Více klíčů" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Data klíče" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Chráněné klíče PGP" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Klíče PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Nezdařilo se vygenerovat klíč PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Heslo pro nový klíč PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Zadejte dvakrát heslo ke svému novému klíči." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Když se vytváří klíč je nutné vygenerovat hromadu\n" +"náhodných dat a k tomu je potřeba vaše pomoc. Dobrý\n" +"postup je provádět nějaké jiné činnosti, jako psát\n" +"na klávesnici, hýbat myši, používat aplikace. Tím\n" +"se systému dodávají náhodná data, která potřebuje." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Vytváření klíče" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Název musí být alespoň 5 znaků dlouhý" + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Nový klíč PGP" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Klíč PGP umožňuje zašifrovat soubory nebo elektronickou poštu (vždy pro " +"konkrétního příjemce)." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Pokročilé volby" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Poznámka" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_Typ šifrování" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Síla klíče (v bitech)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Datum _vypršení platnosti" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Nikdy ne_vyprší" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "_Vytvořit" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Vygenerovat nový klíč" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Opravdu chcete trvale smazat %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Opravdu chcete trvale smazat %d klíč?" +msgstr[1] "Opravdu chcete trvale smazat %d klíče?" +msgstr[2] "Opravdu chcete trvale smazat %d klíčů?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Špatné heslo" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Toto je potřetí, co jste zadali nesprávné heslo. Zkuste to prosím znovu." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Špatná heslo." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Zadejte nové heslo pro „%s“" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Zadejte heslo pro „%s“" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Zadejte nové heslo" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Zadejte heslo" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Heslo" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Načten %d klíč" +msgstr[1] "Načteny %d klíče" +msgstr[2] "Načteno %d klíčů" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Neplatná data klíče (chybějí UID). Může to být tím, že chybí vlastní podpis, " +"nebo je datum v počítači nastaveno do budoucnosti." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Klíče GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: výchozí adresář klíčenky" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Fotografie je příliš velká\n" +"Doporučená velikost fotografie pro klíč je %d × %d bodů." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Neměnit velikost" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "Změnit _velikost" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Zadaný soubor není obrázek, nebo se jedná o neznámý formát. Zkuste použít " +"obrázek ve formátu JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Všechny obrázkové soubory" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Všechny soubory JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Všechny soubory" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Vyberte fotografii pro přidání ke klíči" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Otevřít" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Nezdařilo se připravit fotografii" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Nezdařilo se přidat fotografii" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Soubor nemohl být načten. Možná je v neplatném formátu" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Opravdu chcete odstranit zvolenou fotografii ze svého klíče?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Nezdařilo se smazat fotografii" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Nezdařilo se odvolat podklíč" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Odvolání: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Žádný důvod" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Žádný důvod odvolání klíče" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Kompromitovaný" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Klíč byl kompromitován" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Nahrazen" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Klíč byl nahrazen" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Nepoužívá se" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Klíč se již nepoužívá" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Chystáte se přidat %s pro odvolání klíče %s. Tato operace nemůže být vrácena " +"zpět! Opravdu chcete pokračovat?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Nezdařilo se přidat odvolání" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Chápu, že tento klíč bude trvale smazán." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Tento klíč byl již podepsán\n" +"„%s“" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Nezdařilo se podepsat klíč" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Žádný klíč pro podpis není k dispozici" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Nemáte žádný osobní klíč PGP, který by bylo možno použít pro určení důvěry " +"tomuto klíči." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Podepsat klíč" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Svým podpisem vyjadřujete svoji důvěru, že vlastníkem tohoto klíče je:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Název klíče" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Jak pečlivě byl tento klíč ověřen?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Vůbec" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Zběžně" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Velmi pečlivě" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Vůbec: Znamená to, že věříte, že klíč je vlastněn osobou, která se za " +"jeho vlastníka prohlašuje. Tato skutečnost ovšem nebyla (nebo nemohla být) " +"nikterak ověřena." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Zběžně: Znamená to, že bylo provedeno pouze nahodilé ověření toho,že " +"je klíč skutečně vlastněn osobou, která se za jeho vlastníka prohlašuje. " +"Můžete například ověřit otisk klíče tak, že ho domnělému vlastníkovi řeknete " +"po telefonu." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Velmi pečlivě: Tuto možnost vyberte pouze tehdy, pokud máte naprostou " +"a nezpochybnitelnou jistotu o původu klíče." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Pro kontrolu jména můžete použít těžko padělatelný doklad, který obsahuje " +"fotografickou identifikaci (například pas). Také adresu elektronické pošty " +"je vhodné ověřit zasláním e-mailu vlastníkovi." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Jak ostatní uvidí tento podpis:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Ostatní nesmí vidět tento podpis" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Tento podpis _může být později odvolán." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Podepsat klíč jako:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Autor podpisu:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Podepsat" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Neznámý" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Zadání nebylo dostatečně přesné. Server „%s“ nalezl příliš mnoho klíčů." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Nelze komunikovat se serverem „%s“: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Servery klíčů HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Nezdařilo se naimportovat klíč: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Import klíče byl úspěšný" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Import" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Nezdařilo se naimportovat klíč" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Vzdálené klíče" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Vzdálené klíče obsahující „%s“" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Hledání klíčů se nezdařilo." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Dvojitým kliknutím klíč prozkoumáte nebo prostým kliknutím jej naimportujete " +"do své místní klíčenky." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Hledat vzdálené klíče" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Hledání klíčů jiných osob na Internetu. Tyto klíče je potom možno vložit do " +"své místní klíčenky." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Hledat klíče obsahující: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Kde hledat:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Servery klíčů:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Sdílené klíče v mé blízkosti:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Hledat" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Nezdařilo se zveřejnit klíče na serveru" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Nezdařilo se získat klíče ze serveru: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "Pro synchronizaci je vybrán %d klíč" +msgstr[1] "Pro synchronizaci jsou vybrány %d klíče" +msgstr[2] "Pro synchronizaci je vybrány %d klíčů" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Synchronizují se klíče…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Synchronizovat klíče" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Timto se zveřejní klíče ve vaší klíčence, aby je mohli používat i ostatní. " +"Také získáte změny, které druzí provedli od té doby, co jste přijali jejich " +"klíče." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Tímto se získají všechny změny klíčů, které ostatní provedli od doby, kdy " +"jste jejich klíče získali. Ke zveřejnění nebyl zvolen server s klíči, takže " +"vaše klíče ostatním zpřístupněny nebudou." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Servery s klíči" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Synchronizovat" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Nelze komunikovat s „%s“: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Připojuje se k: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Nezdařilo se zjistit adresu %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Zjišťuje se adresa serveru: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Servery klíčů LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Klíče PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "Klíče PGP jsou pro zašifrování elektronické pošty nebo souborů" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(a %d další)" +msgstr[1] "(a %d další)" +msgstr[2] "(a %d dalších)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Osobní klíč PGP" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Klíč PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Nezdařilo se změnit hlavní ID uživatele" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Opravdu chcete trvale smazat ID uživatele „%s“?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Nezdařilo se smazat ID uživatele" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Neznámý]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Jméno / E-mail" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "ID podpisu" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Nezdařilo se změnit hlavní fotografii" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Chyba při změně hesla" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(neznámý)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Tento klíč vyprší dne: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — veřejný klíč" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — soukromý klíč" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Opravdu chcete trvale smazat podklíč %d z %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Nezdařilo se smazat podklíč" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Nelze změnit stav důvěry" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Nezdařilo se exportovat klíč" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Nikdy" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Použití" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Vytvořeno" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Vyprší" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Stav" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Síla" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Odvolaný" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Platnost vypršela" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Zakázáno" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "V pořádku" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Klíč ID" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Důvěřuji podpisům, kterými „%s“ opatřuje jiné klíče" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Pokud věříte, že osoba vlastnící tento klíč je „%s“, můžete tento klíč " +"podepsat:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Pokud nadále nevěříte, že osoba „%s“ tento klíč vlastní, můžete odvolat svůj podpis:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Exportovat _tajný klíč" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Ex_portovat veřejný klíč" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Tento klíč byl odvolán" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Vlastník klíče jej odvolat. Klíč je nyní nepoužitelný." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Platnost tohoto klíče vypršela" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Přidat ke klíči fotografii" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Odstranit z klíče tuto fotografii" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Nastavit jako hlavní fotografii" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Předchozí fotografie" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Další fotografie" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Poznámka" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Změnit heslo" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Vlastník" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Jména a podpisy" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Hlavní" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Podepsat" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Smazat" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Přidat jméno" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Odvolat" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Jména a podpisy" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Klíč ID:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Typ:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Síla:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Technické podrobnosti" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Otisk klíče" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Vytvořeno:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Vyprší:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Data" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "_Přebít důvěru vlastníka za:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Exportovat do souboru" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Činnosti" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Vyprší" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Podklíče" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Věřím částečně" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Věřím plně" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Věřím maximálně" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Jiná jména:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Jak moc důvěřujete tomuto klíči" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Úroveň vaší důvěry je ručně zadána v záložce Podrobnosti." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Podepsat klíč" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Odvolat podpis" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Osoby, které podepsaly tento klíč:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "Zobrazit _pouze podpisy osob, kterým důvěřuji" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Důvěra" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Technické podrobnosti:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Otisk klíče:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Data:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Stav důvěry:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "_Důvěra tomuto vlastníkovi:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Šifrovat" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certifikovat" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Ověřovat" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Klíč" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Podklíč %d z %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Důvod odvolání klíče" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Důvod:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Nepovinný popis odvolání" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Odvolat klíč" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "_Odvolat" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Nemáte žádný osobní klíč PGP, který by bylo možno použít k podpisu dokumentu " +"nebo zprávy." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Výběr podepisovacího klíče" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Podepsat zprávu klíčem:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Exportují se data" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Získávají se data" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Importují se data" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Posílají se data" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Nedostupné" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certifikát" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certifikáty (DER kódování)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Osobní certifikát a klíč" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Osobní certifikát" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Chcete opravdu trvale smazat %d certifikát?" +msgstr[1] "Chcete opravdu trvale smazat %d certifikáty?" +msgstr[2] "Chcete opravdu trvale smazat %d certifikátů?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Nezdařilo se vygenerovat soukromý klíč" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Chápu, že tento klíč bude trvale smazán." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Nepojmenovaný soukromý klíč" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Soukromý klíč" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Nepojmenované" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Selhal export certifikátu" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Nezdařilo se smazat" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Vytvořit" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Nezdařilo se vytvořit požadavek na certifikát" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Uložit požadavek na certifikát" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Uložit" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Požadavek na certifikát" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Žádost ve formátu PEM" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Nezdařilo se uložit požadavek na certifikát" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Neznámý" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509 certifikáty a příslušné klíče" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Nový soukromý klíč" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Vytvořit nový soukromý klíč" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Popisek:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Uložené jako:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Typ klíče:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Délka klíče (v bitech):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Smazat tento certifikát nebo klíč" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Vyexportovat certifikát" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Zažádat o certifikát" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Vytvořit požadavek na certifikát pro tento klíč" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Vytvořit požadavek na cetifikát." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Jméno (CN) použité v žádosti o certifikát." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Jméno (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Přispěli:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Verze této aplikace" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Petr Domanský \n" +"Michal Bukovjan \n" +"Miloslav Trmač \n" +"Vítězslav Kotrla \n" +"Petr Kovář \n" +"Lucas Lommer \n" +"Markéta Nykrýnová \n" +"Marek Černocký " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Domovská stránka projektu Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Údaje, které mají být importovány" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Import" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Import selhal" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Import klíče" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Všechny soubory klíčů" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Zkopírovaný text" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Text ze schránky" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Nezdařilo se odemknout klíčenku" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Změna hesla" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Nové _heslo:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Potvrdit nové heslo" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "P_otvrdit heslo:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Hledat vzdálené klíče…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Synchronizovat a zveřejnit klíče…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Předvolby" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Nápověda" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Klávesové zkratky" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "O _aplikaci Hesla a klíče" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Položky filtru:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Zobrazovat oso_bní" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Zobrazovat _důvěryhodné" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Zobrazovat _všechny" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Klíč SSH" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Pro přístup k jiným počítačům" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Klíč GPG" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Pro šifrování souborů a elektronické pošty" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Klíčenka s hesly" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Používá se pro ukládání aplikačních a síťových hesel" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Bezpečně uložit heslo nebo tajemství" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Použít k žádosti o certifikát" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importovat ze souboru…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Přidat nový klíč nebo položku" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Zpět" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Hledat klíč nebo heslo" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filtr" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Tato sada se zdá prázdná" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Klíčenka je zamknutá" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Odemknout" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Zkopírovat tajemství" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Exportovat…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Vlastnosti" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Nastavit klíč pro SSH…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Zamknout" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Odemknout" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Vlastnosti" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Nezdařilo se zamknout" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Secure Shell" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Klíče používané k bezpečnému připojení k jiným počítačům" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Chcete opravdu smazat klíč SSH „%s“?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Chcete opravdu smazat %u klíč SSH?" +msgstr[1] "Chcete opravdu smazat %u klíče SSH?" +msgstr[2] "Chcete opravdu smazat %u klíčů SSH?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Soukromé klíče SSH" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Veřejné klíče SSH" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Klíč SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Pro tento klíč není k dispozici žádný soubor s veřejným klíčem." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Nezdařilo se načíst nově vygenerovaný klíč SSH" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Nezdařilo se vygenerovat klíč SSH" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Vytvoření klíče SSH" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bitů" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bitů" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Neznámý typ klíče!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Neznámý typ" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Nezdařilo se přejmenovat klíč." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Nezdařilo se změnit autorizaci klíče." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Nezdařilo se změnit heslo klíče." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Chyba při mazání klíče SSH" + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Osobní klíč SSH" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Klíč SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Nečitelný SSH klíč)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Klíč SSH" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Odstranit heslo počítače" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Zadejte heslo pro klíč" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Heslo pro nový klíč SSH" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Import klíče: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Import klíče. Zadejte heslo" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Zadejte své heslo k SSH:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Původní heslo" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Zadejte původní heslo pro: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Nové heslo" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Zadejte nové heslo pro: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Zadejte znovu nové heslo pro: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Nový klíč SSH" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "SSH klíč vám umožní bezpečně se připojit na jiné počítače." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Popis" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Vaše e-mailová adresa nebo připomenutí účelu klíče." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Pokud existuje počítač, pro který chcete tento klíč použít, můžete jej pro " +"použití tohoto klíče nastavit." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Pouze vytvořit klíč" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Vytvořit a nastavit" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Vlastnosti klíče SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Název" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritmus" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Délka klíče" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Umístění" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Veřejný klíč" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Zkopírovat veřejný klíč do schránky" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Vzdálený přístup" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Umožňuje vzdálený přístup do tohoto počítače" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Exportovat" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Smazat klíč SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Nastavit počítač pro připojení pomocí SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Aby bylo možné pro připojení ke vzdálenému počítači použít SSH klíč, musí " +"takový počítač používat SSH a také na něm musíte mít uživatelský účet." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Adresa _serveru:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "například: fileserver.neco.cz:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "Přih_lašovací jméno:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Nastavit" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Klíče OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Pro tento klíč není k dispozici žádný soubor se soukromým klíčem." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Na vzdáleném počítači se nezdařilo nastavit SSH klíče." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Nastavují se klíče SSH…" diff --git a/po/cy.po b/po/cy.po new file mode 100644 index 00000000..3a2d4a1b --- /dev/null +++ b/po/cy.po @@ -0,0 +1,2857 @@ +# seahorse in Welsh/yn Gymraeg (cy) +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# Dafydd Crosby , 2008. +# +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-08-20 03:49+0000\n" +"PO-Revision-Date: 2009-05-01 14:32-400\n" +"Last-Translator: Dafydd Crosby \n" +"Language-Team: Cymraeg \n" +"Language: cy\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : (n == 2) ? 1 : 2;\n" + +#: ../daemon/seahorse-daemon.c:66 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "" + +#: ../daemon/seahorse-daemon.c:84 +msgid "couldn't fork process" +msgstr "" + +#: ../daemon/seahorse-daemon.c:90 +msgid "couldn't create new process group" +msgstr "" + +#: ../daemon/seahorse-daemon.c:191 +msgid "Encryption Daemon (Seahorse)" +msgstr "" + +#: ../daemon/seahorse-service.c:110 ../daemon/seahorse-service.c:134 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "" + +#: ../daemon/seahorse-service.c:183 ../daemon/seahorse-service-keyset.c:130 +#: ../daemon/seahorse-service-keyset.c:160 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:142 +#, c-format +msgid "Signed by expired on %s." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:143 +msgid "Invalid Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:149 +#, c-format +msgid "Signed by on %s Expired." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:150 +msgid "Expired Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:156 +#, c-format +msgid "Signed by Revoked on %s." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:157 +msgid "Revoked Signature" +msgstr "" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:163 +#, c-format +msgid "Signed by on %s." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:164 +msgid "Good Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:169 +msgid "Signing key not in keyring." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:170 +msgid "Unknown Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:174 +msgid "Bad or forged signature. The signed data was modified." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:175 +msgid "Bad Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:183 +msgid "Couldn't verify signature." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:239 +#: ../daemon/seahorse-service-crypto.c:346 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:246 +#: ../daemon/seahorse-service-crypto.c:353 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:258 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:266 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:275 +#, c-format +msgid "No recipients specified" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:341 +#, c-format +msgid "No signer specified" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:396 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:459 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "" + +#: ../daemon/seahorse-service-keyset.c:196 +#, c-format +msgid "Invalid key id: %s" +msgstr "" + +#: ../daemon/seahorse-sharing.c:72 ../daemon/seahorse-sharing.c:216 +msgid "Couldn't share keys" +msgstr "" + +#: ../daemon/seahorse-sharing.c:73 +msgid "Can't publish discovery information on the network." +msgstr "" + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s". +#: ../daemon/seahorse-sharing.c:93 +#, c-format +msgid "%s's encryption keys" +msgstr "" + +#: ../data/seahorse.schemas.in.h:1 +msgid "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." +msgstr "" + +#: ../data/seahorse.schemas.in.h:2 +msgid "Auto Retrieve Keys" +msgstr "" + +#: ../data/seahorse.schemas.in.h:3 +msgid "Auto Sync Keys" +msgstr "" + +#: ../data/seahorse.schemas.in.h:4 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:5 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the type column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:8 +msgid "Enable DNS-SD sharing" +msgstr "" + +#: ../data/seahorse.schemas.in.h:9 +msgid "" +"Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +"running and must be built with HKP and DNS-SD support." +msgstr "" + +#: ../data/seahorse.schemas.in.h:10 +msgid "ID of the default key" +msgstr "" + +#: ../data/seahorse.schemas.in.h:11 +msgid "" +"If set to true, then files encrypted with seahorse will be ASCII armor " +"encoded." +msgstr "" + +#: ../data/seahorse.schemas.in.h:12 +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "" + +#: ../data/seahorse.schemas.in.h:13 +msgid "Last key server search pattern" +msgstr "" + +#: ../data/seahorse.schemas.in.h:14 +msgid "Last key servers used" +msgstr "" + +#: ../data/seahorse.schemas.in.h:15 +msgid "Last key used to sign a message." +msgstr "" + +#: ../data/seahorse.schemas.in.h:16 +msgid "PGP Key servers" +msgstr "" + +#: ../data/seahorse.schemas.in.h:17 +msgid "Publish keys to this key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:18 +msgid "Show expires column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:19 +msgid "Show trust column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:20 +msgid "Show type column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Show validity column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:22 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name' and " +"'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "" + +#: ../data/seahorse.schemas.in.h:23 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." +msgstr "" + +#: ../data/seahorse.schemas.in.h:24 +msgid "The ID of the last secret key used to sign a message." +msgstr "" + +#: ../data/seahorse.schemas.in.h:25 +msgid "The column to sort the recipients by" +msgstr "" + +#: ../data/seahorse.schemas.in.h:26 +msgid "The column to sort the seahorse keys by" +msgstr "" + +#: ../data/seahorse.schemas.in.h:27 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" + +#: ../data/seahorse.schemas.in.h:28 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" + +#: ../data/seahorse.schemas.in.h:29 +msgid "The last search pattern searched for against a key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:30 +msgid "" +"This specifies the default key to use for certain operations, mainly signing." +msgstr "" + +#: ../data/seahorse.schemas.in.h:31 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" + +#: ../data/seahorse.schemas.in.h:32 +msgid "" +"Whether or not modified keys should be automatically synced with the default " +"key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:33 +msgid "Whether to always encrypt to default key" +msgstr "" + +#: ../data/seahorse.schemas.in.h:34 +msgid "Whether to use ASCII Armor" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item.c:243 ../pgp/seahorse-pgp-key.c:209 +#: ../ssh/seahorse-ssh-key.c:115 +msgid "Invalid" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item.c:260 +msgid "Web Password" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item.c:262 +msgid "Network Password" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item.c:264 +#: ../gkr/seahorse-gkeyring-item-properties.c:126 +#: ../gkr/seahorse-gkeyring-source.c:676 +msgid "Password" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.c:98 +msgid "Access a network share or resource" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.c:102 +msgid "Access a website" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.c:106 +msgid "Unlocks a PGP key" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.c:109 +msgid "Unlocks a Secure Shell key" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.c:112 +msgid "Saved password or login" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.c:126 +msgid "Network Credentials" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.c:187 +msgid "Couldn't change password." +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.c:295 +msgid "Couldn't set description." +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.c:505 +msgid "Couldn't set application access." +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:1 +msgid "Password:" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:2 +msgid "Path:" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:3 +msgid "Permissions:" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:9 +#: ../ssh/seahorse-ssh-key-properties.glade.h:9 +msgid "Technical Details:" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:5 +msgid "Applications" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:6 +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:20 +#: ../ssh/seahorse-ssh-key-properties.glade.h:17 +msgid "Details" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:7 +#: ../ssh/seahorse-ssh-key-properties.glade.h:19 +msgid "Key" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:8 +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:30 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:30 +#: ../ssh/seahorse-ssh-key-properties.glade.h:20 +msgid "Key Properties" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:9 +msgid "Login:" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:10 +msgid "Server:" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:11 +msgid "Show pass_word" +msgstr "" + +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:36 +msgid "Type:" +msgstr "" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:14 +msgid "Use:" +msgstr "" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:16 +msgid "_Delete" +msgstr "_Dileu" + +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:17 +#: ../pgp/seahorse-revoke.glade.h:5 +msgid "_Description:" +msgstr "" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:19 +msgid "_Read" +msgstr "" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkeyring-item-properties.glade.h:21 +msgid "_Write" +msgstr "" + +#: ../gkr/seahorse-gkeyring-operation.c:205 +msgid "Access to the key ring was denied" +msgstr "" + +#: ../gkr/seahorse-gkeyring-operation.c:208 +msgid "The gnome-keyring daemon is not running" +msgstr "" + +#: ../gkr/seahorse-gkeyring-operation.c:211 +msgid "The key ring has already been unlocked" +msgstr "" + +#: ../gkr/seahorse-gkeyring-operation.c:214 +msgid "No such key ring exists" +msgstr "" + +#: ../gkr/seahorse-gkeyring-operation.c:217 +msgid "Couldn't communicate with key ring daemon" +msgstr "" + +#: ../gkr/seahorse-gkeyring-operation.c:220 +msgid "The item already exists" +msgstr "" + +#: ../gkr/seahorse-gkeyring-operation.c:226 +msgid "Internal error accessing gnome-keyring" +msgstr "" + +#: ../gkr/seahorse-gkeyring-operation.c:283 +#: ../gkr/seahorse-gkeyring-operation.c:315 +msgid "Saving item..." +msgstr "" + +#: ../gkr/seahorse-gkeyring-source.c:408 +msgid "Retrieving key" +msgstr "" + +#. Start listing of ids +#: ../gkr/seahorse-gkeyring-source.c:422 +msgid "Listing passwords" +msgstr "" + +#. Start listing of ids +#: ../gkr/seahorse-gkeyring-source.c:554 +msgid "Removing item" +msgstr "" + +#: ../gkr/seahorse-gkr-commands.vala:63 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "" + +#: ../gkr/seahorse-gkr-commands.vala:65 +#, c-format +msgid "Are you sure you want to delete %d passwords?" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:173 +msgid "All Keys" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:174 +msgid "Selected Recipients" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:175 +msgid "Search Results" +msgstr "" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:185 +msgid "Search _for:" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:243 +msgid "None (Don't Sign)" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:256 +#, c-format +msgid "Sign this message as %s" +msgstr "" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:278 +msgid "_Sign message as:" +msgstr "" + +#. TODO: Icons +#: ../libcryptui/cryptui-key-list.c:117 +#: ../pgp/seahorse-pgp-key-properties.c:905 +#: ../src/seahorse-key-manager-store.c:817 +msgid "Name" +msgstr "" + +#: ../libcryptui/cryptui-key-list.c:120 +#: ../pgp/seahorse-pgp-key-properties.c:1773 +#: ../src/seahorse-key-manager-store.c:829 +msgid "Key ID" +msgstr "" + +#: ../libegg/egg-datetime.c:313 +msgid "Display flags" +msgstr "" + +#: ../libegg/egg-datetime.c:314 +msgid "Displayed date and/or time properties" +msgstr "" + +#: ../libegg/egg-datetime.c:319 +msgid "Lazy mode" +msgstr "" + +#: ../libegg/egg-datetime.c:320 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "" + +#: ../libegg/egg-datetime.c:325 +msgid "Year" +msgstr "Blwyddyn" + +#: ../libegg/egg-datetime.c:326 +msgid "Displayed year" +msgstr "" + +#: ../libegg/egg-datetime.c:331 +msgid "Month" +msgstr "" + +#: ../libegg/egg-datetime.c:332 +msgid "Displayed month" +msgstr "" + +#: ../libegg/egg-datetime.c:337 +msgid "Day" +msgstr "Diwrnod" + +#: ../libegg/egg-datetime.c:338 +msgid "Displayed day of month" +msgstr "" + +#: ../libegg/egg-datetime.c:343 +msgid "Hour" +msgstr "" + +#: ../libegg/egg-datetime.c:344 +msgid "Displayed hour" +msgstr "" + +#: ../libegg/egg-datetime.c:349 +msgid "Minute" +msgstr "" + +#: ../libegg/egg-datetime.c:350 +msgid "Displayed minute" +msgstr "" + +#: ../libegg/egg-datetime.c:355 +msgid "Second" +msgstr "" + +#: ../libegg/egg-datetime.c:356 +msgid "Displayed second" +msgstr "" + +#: ../libegg/egg-datetime.c:361 +msgid "Lower limit year" +msgstr "" + +#: ../libegg/egg-datetime.c:362 +msgid "Year part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:367 +msgid "Upper limit year" +msgstr "" + +#: ../libegg/egg-datetime.c:368 +msgid "Year part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:373 +msgid "Lower limit month" +msgstr "" + +#: ../libegg/egg-datetime.c:374 +msgid "Month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:379 +msgid "Upper limit month" +msgstr "" + +#: ../libegg/egg-datetime.c:380 +msgid "Month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:385 +msgid "Lower limit day" +msgstr "" + +#: ../libegg/egg-datetime.c:386 +msgid "Day of month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:391 +msgid "Upper limit day" +msgstr "" + +#: ../libegg/egg-datetime.c:392 +msgid "Day of month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:397 +msgid "Lower limit hour" +msgstr "" + +#: ../libegg/egg-datetime.c:398 +msgid "Hour part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:403 +msgid "Upper limit hour" +msgstr "" + +#: ../libegg/egg-datetime.c:404 +msgid "Hour part of the upper time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:409 +msgid "Lower limit minute" +msgstr "" + +#: ../libegg/egg-datetime.c:410 +msgid "Minute part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:415 +msgid "Upper limit minute" +msgstr "" + +#: ../libegg/egg-datetime.c:416 +msgid "Minute part of the upper time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:421 +msgid "Lower limit second" +msgstr "" + +#: ../libegg/egg-datetime.c:422 +msgid "Second part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:427 +msgid "Upper limit second" +msgstr "" + +#: ../libegg/egg-datetime.c:428 +msgid "Second part of the upper time limit" +msgstr "" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:470 +msgid "calendar:week_start:0" +msgstr "" + +#: ../libegg/egg-datetime.c:492 +msgid "Date" +msgstr "" + +#: ../libegg/egg-datetime.c:492 +msgid "Enter the date directly" +msgstr "" + +#: ../libegg/egg-datetime.c:499 +msgid "Select Date" +msgstr "" + +#: ../libegg/egg-datetime.c:499 +msgid "Select the date from a calendar" +msgstr "" + +#: ../libegg/egg-datetime.c:517 ../libegg/egg-datetime.c:2192 +msgid "Time" +msgstr "" + +#: ../libegg/egg-datetime.c:517 +msgid "Enter the time directly" +msgstr "" + +#: ../libegg/egg-datetime.c:524 +msgid "Select Time" +msgstr "" + +#: ../libegg/egg-datetime.c:524 +msgid "Select the time from a list" +msgstr "" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:791 +msgid "24hr: no" +msgstr "" + +#: ../libegg/egg-datetime.c:795 ../libegg/egg-datetime.c:1253 +#: ../libegg/egg-datetime.c:1257 +msgid "AM" +msgstr "" + +#: ../libegg/egg-datetime.c:797 ../libegg/egg-datetime.c:1254 +#: ../libegg/egg-datetime.c:1261 +msgid "PM" +msgstr "" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:805 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:808 +#, c-format +msgid "%02d:%02d %s" +msgstr "" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:812 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:815 +#, c-format +msgid "%02d:%02d" +msgstr "" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1169 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1234 +#, c-format +msgid "%u:%u:%u" +msgstr "" + +#: ../libseahorse/seahorse-add-keyring.glade.h:1 +msgid "Add Password Keyring" +msgstr "" + +#: ../libseahorse/seahorse-add-keyring.glade.h:2 +msgid "New Keyring Name:" +msgstr "" + +#: ../libseahorse/seahorse-add-keyring.glade.h:3 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" + +#: ../libseahorse/seahorse-add-keyring.glade.h:4 +#: ../libseahorse/seahorse-add-keyserver.glade.h:5 +#: ../ssh/seahorse-ssh-upload.glade.h:3 +msgid "The host name or address of the server." +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:1 +msgid ":" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:2 +msgid "Add Key Server" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:3 +msgid "Host:" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:4 +msgid "Key Server Type:" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:6 +msgid "The port to access the server on." +msgstr "" + +#: ../libseahorse/seahorse-notification.c:566 +#: ../libseahorse/seahorse-notification.c:594 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "" +msgstr[1] "" + +#: ../libseahorse/seahorse-notification.c:570 +#: ../libseahorse/seahorse-notification.c:593 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "" +msgstr[1] "" + +#: ../libseahorse/seahorse-notification.c:572 +#, c-format +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "" +msgstr[1] "" + +#: ../libseahorse/seahorse-notify.glade.h:1 +msgid "Notification Messages" +msgstr "" + +#: ../libseahorse/seahorse-passphrase.c:174 +msgid "Passphrase" +msgstr "" + +#: ../libseahorse/seahorse-passphrase.c:177 +msgid "Password:" +msgstr "" + +#: ../libseahorse/seahorse-passphrase.c:241 +msgid "Confirm:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:65 +msgid "Not a valid Key Server address." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:66 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:177 +msgid "URL" +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:359 +msgid "Custom" +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:433 +msgid "None: Don't publish keys" +msgstr "" + +#: ../libseahorse/seahorse-prefs-keyrings.c:207 +msgid "Automatically unlocked when user logs in." +msgstr "" + +#: ../libseahorse/seahorse-prefs-keyrings.c:244 +msgid "Couldn't get default password keyring" +msgstr "" + +#: ../libseahorse/seahorse-prefs-keyrings.c:267 +msgid "Couldn't get list of password keyrings" +msgstr "" + +#: ../libseahorse/seahorse-prefs-keyrings.c:322 +msgid "Couldn't set default password keyring" +msgstr "" + +#: ../libseahorse/seahorse-prefs-keyrings.c:404 +msgid "Couldn't remove keyring" +msgstr "" + +#: ../libseahorse/seahorse-prefs-keyrings.c:422 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' keyring?" +msgstr "" + +#: ../libseahorse/seahorse-prefs-keyrings.c:470 +msgid "Couldn't add keyring" +msgstr "" + +#: ../libseahorse/seahorse-prefs-keyrings.c:527 +msgid "Couldn't change keyring password" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:1 +msgid "Default Keyring" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:2 +msgid "Password Keyrings" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:3 +msgid "Automatically retrieve keys from _key servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:4 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:5 +msgid "Change Unlock _Password" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:6 +msgid "Key Servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:7 +msgid "Key Sharing" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:8 +msgid "Password Keyrings" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:9 +msgid "Password and Encryption Settings" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:10 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've " +"collected. This means they can automatically encrypt things for you or those " +"you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:13 +msgid "_Add Keyring" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:14 +msgid "_Find keys via:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:15 +msgid "_Location for application passwords:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:16 +msgid "_Publish keys to:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:17 +msgid "_Remove Keyring" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:18 +msgid "_Share my keys with others on my network" +msgstr "" + +#: ../libseahorse/seahorse-progress.glade.h:1 +msgid "Progress Title" +msgstr "" + +#: ../libseahorse/seahorse-unknown-key.c:70 +msgid "Unavailable" +msgstr "" + +#: ../libseahorse/seahorse-unknown-key.c:90 +#, c-format +msgid "Unknown Key: %s" +msgstr "" + +#: ../libseahorse/seahorse-unknown-key.c:122 +msgid "Unknown Key" +msgstr "" + +#: ../libseahorse/seahorse-unknown-source.c:118 +msgid "Unavailable Key" +msgstr "" + +#: ../libseahorse/seahorse-util.c:203 +msgid "%Y-%m-%d" +msgstr "" + +#: ../libseahorse/seahorse-util.c:429 +msgid "Key Data" +msgstr "" + +#: ../libseahorse/seahorse-util.c:431 +msgid "Multiple Keys" +msgstr "" + +#: ../libseahorse/seahorse-util.c:687 +msgid "Couldn't run file-roller" +msgstr "" + +#: ../libseahorse/seahorse-util.c:693 +msgid "Couldn't package files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:694 +msgid "The file-roller process did not complete successfully" +msgstr "" + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:803 +msgid "All key files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:814 ../libseahorse/seahorse-util.c:854 +#: ../pgp/seahorse-pgp-photos.c:242 +msgid "All files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:847 +msgid "Archive files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:896 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" + +#: ../libseahorse/seahorse-util.c:899 +msgid "_Replace" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:32 ../pgp/seahorse-pgp-key.c:665 +#: ../pgp/seahorse-pgp-key-properties.c:1171 +msgid "Unknown" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:34 +#: ../pgp/seahorse-pgp-key-properties.c:1177 +#: ../pgp/seahorse-pgp-key-properties.c:1309 +#: ../pgp/seahorse-pgp-key-properties.c:1381 +msgid "Never" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:36 +#: ../pgp/seahorse-pgp-key-properties.c:1184 +msgid "Marginal" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:38 +#: ../pgp/seahorse-pgp-key-properties.c:1190 +msgid "Full" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1196 +msgid "Ultimate" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:42 +msgid "Disabled" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-key-properties.c:1377 +msgid "Revoked" +msgstr "" + +#: ../libseahorse/seahorse-widget.c:363 +#, c-format +msgid "Could not display help: %s" +msgstr "" + +#: ../libcryptui/cryptui.c:211 +msgid "" +"No encryption keys were found with which to perform the operation you " +"requested. The program Passwords and Encryption Keys will now be " +"started so that you may either create a key or import one." +msgstr "" + +#. TODO: Calculate something from the subject? +#: ../pkcs11/seahorse-pkcs11-certificate.vala:26 +msgid "Certificate" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-source.vala:33 +msgid "X509 Certificate" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-source.vala:120 +msgid "Loading..." +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-source.vala:381 +msgid "Invalid or unrecognized object." +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-source.vala:398 +msgid "Exporting is not yet supported." +msgstr "" + +#: ../pgp/seahorse-add-subkey.glade.h:1 +msgid "Expiration Date:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.glade.h:2 +msgid "Generate a new subkey" +msgstr "" + +#: ../pgp/seahorse-add-subkey.glade.h:3 +msgid "If key never expires" +msgstr "" + +#: ../pgp/seahorse-add-subkey.glade.h:4 +msgid "Key _Length:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.glade.h:5 +msgid "Key _Type:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.glade.h:6 +msgid "Length of Key" +msgstr "" + +#: ../pgp/seahorse-add-subkey.glade.h:7 +msgid "Never E_xpires" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:1 +msgid "Add User ID" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:2 +msgid "Create the new user ID" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:3 ../pgp/seahorse-pgp-generate.glade.h:8 +msgid "Full _Name:" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:4 +msgid "Key Co_mment:" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:5 +msgid "Must be at least 5 characters long" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:6 +msgid "Optional comment describing key" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:7 +msgid "Optional email address" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:8 ../pgp/seahorse-pgp-generate.glade.h:14 +msgid "_Email Address:" +msgstr "" + +#: ../pgp/seahorse-expires.glade.h:1 +msgid "C_hange" +msgstr "" + +#: ../pgp/seahorse-expires.glade.h:2 ../pgp/seahorse-revoke.glade.h:4 +msgid "Revoke key" +msgstr "" + +#: ../pgp/seahorse-expires.glade.h:3 +msgid "_Never expires" +msgstr "" + +#: ../pgp/seahorse-gpgmex-util.c:55 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:331 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:333 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:553 +msgid "Searching for keys..." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:624 +msgid "Uploading keys..." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:702 +msgid "Retrieving keys..." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:735 ../pgp/seahorse-ldap-source.c:1276 +#: ../pgp/seahorse-pgp-generator.vala:29 ../pgp/seahorse-pgp-source.c:443 +#: ../pgp/seahorse-server-source.c:209 +msgid "PGP Key" +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:769 +#, c-format +msgid "Searching for keys on: %s" +msgstr "" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../pgp/seahorse-hkp-source.c:866 ../pgp/seahorse-hkp-source.c:939 +#: ../pgp/seahorse-ldap-source.c:665 +#, c-format +msgid "Connecting to: %s" +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:975 +msgid "HTTP Key Server" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:456 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:638 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:716 +#, c-format +msgid "Resolving server address: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:920 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:947 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:1052 +msgid "Retrieving remote keys..." +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:1184 +msgid "Sending keys to key server..." +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:1416 +msgid "LDAP Key Server" +msgstr "" + +#: ../pgp/seahorse-pgp-add-subkey.c:166 +msgid "Couldn't add subkey" +msgstr "" + +#: ../pgp/seahorse-pgp-add-subkey.c:187 +#, c-format +msgid "Add subkey to %s" +msgstr "" + +#: ../pgp/seahorse-pgp-add-subkey.c:204 ../pgp/seahorse-pgp-generate.c:51 +msgid "DSA (sign only)" +msgstr "" + +#: ../pgp/seahorse-pgp-add-subkey.c:212 +msgid "ElGamal (encrypt only)" +msgstr "" + +#: ../pgp/seahorse-pgp-add-subkey.c:218 ../pgp/seahorse-pgp-generate.c:52 +msgid "RSA (sign only)" +msgstr "" + +#: ../pgp/seahorse-pgp-add-subkey.c:224 +msgid "RSA (encrypt only)" +msgstr "" + +#: ../pgp/seahorse-pgp-add-uid.c:85 +msgid "Couldn't add user id" +msgstr "" + +#: ../pgp/seahorse-pgp-add-uid.c:107 +#, c-format +msgid "Add user ID to %s" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.vala:29 +msgid "_Sign Key..." +msgstr "" + +#: ../pgp/seahorse-pgp-commands.vala:30 +msgid "Sign public key" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.vala:110 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.vala:114 +#, c-format +msgid "Are you sure you want to permanently delete %d keys and identities?" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.vala:116 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.vala:118 +#, c-format +msgid "Are you sure you want to permanently delete %d identities?" +msgstr "" + +#: ../pgp/seahorse-pgp-expires.c:70 +msgid "Couldn't change expiry date" +msgstr "" + +#: ../pgp/seahorse-pgp-expires.c:134 +#, c-format +msgid "Expiry for Subkey %d of %s" +msgstr "" + +#: ../pgp/seahorse-pgp-expires.c:136 +#, c-format +msgid "Expiry for %s" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.c:50 +msgid "DSA Elgamal" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.c:61 +msgid "Couldn't generate PGP key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.c:168 +msgid "Passphrase for New PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.c:169 +msgid "Enter the passphrase for your new key twice." +msgstr "" + +#: ../pgp/seahorse-pgp-generate.c:178 +msgid "Couldn't generate key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.c:180 +msgid "Generating key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:1 +#: ../ssh/seahorse-ssh-generate.glade.h:1 +msgid "_Advanced key options" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:3 +msgid "Algorithms here" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:4 +msgid "C_reate" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:5 +msgid "Create a PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:6 +msgid "E_xpiration Date:" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:7 +#: ../ssh/seahorse-ssh-generate.glade.h:7 +msgid "Encryption _Type:" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:9 +msgid "Generate a new key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:10 +#: ../ssh/seahorse-ssh-generate.glade.h:10 +msgid "Key _Strength (bits):" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:11 +msgid "Ne_ver Expires" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:12 +msgid "New PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:13 +msgid "_Comment:" +msgstr "" + +#: ../pgp/seahorse-pgp-generator.vala:30 +msgid "Used to encrypt email and files" +msgstr "" + +#: ../pgp/seahorse-pgp-key.c:234 +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:36 +msgid "Private PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-key.c:237 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:32 +msgid "Public PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-key.c:397 ../pgp/seahorse-pgp-key-properties.c:1378 +msgid "Expired" +msgstr "" + +#: ../pgp/seahorse-pgp-key.c:667 +msgid "ElGamal" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:215 +msgid "Couldn't change primary user ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:234 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:245 +msgid "Couldn't delete user ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:336 +#: ../pgp/seahorse-pgp-key-properties.c:1494 +msgid "[Unknown]" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:434 +#: ../pgp/seahorse-pgp-key-properties.c:1770 +msgid "Name/Email" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:439 +msgid "Signature ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:591 +msgid "Couldn't change primary photo" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:839 +msgid "(unknown)" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:842 +#, c-format +msgid "This key expired on: %s" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:996 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1008 +msgid "Couldn't delete subkey" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1044 +#: ../pgp/seahorse-pgp-key-properties.c:1458 +msgid "Unable to change trust" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1060 ../src/seahorse-viewer.vala:408 +#: ../ssh/seahorse-ssh-key-properties.c:214 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1085 +#: ../ssh/seahorse-ssh-key-properties.c:238 +msgid "Export Complete Key" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1110 +#: ../ssh/seahorse-ssh-key-properties.c:260 +msgid "Couldn't export key." +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1353 +msgid "ID" +msgstr "" + +#. The key type column +#: ../pgp/seahorse-pgp-key-properties.c:1356 +#: ../src/seahorse-key-manager-store.c:848 +msgid "Type" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1359 +msgid "Created" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1362 +msgid "Expires" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1365 +msgid "Status" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1368 +msgid "Strength" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1377 +#: ../pgp/seahorse-pgp-key-properties.c:1378 +msgid "Good" +msgstr "" + +#: ../pgp/seahorse-pgp-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" + +#: ../pgp/seahorse-pgp-photos.c:78 +msgid "_Don't Resize" +msgstr "" + +#: ../pgp/seahorse-pgp-photos.c:79 +msgid "_Resize" +msgstr "" + +#: ../pgp/seahorse-pgp-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" + +#: ../pgp/seahorse-pgp-photos.c:224 +msgid "All image files" +msgstr "" + +#: ../pgp/seahorse-pgp-photos.c:237 +msgid "All JPEG files" +msgstr "" + +#: ../pgp/seahorse-pgp-photos.c:261 +msgid "Choose Photo to Add to Key" +msgstr "" + +#: ../pgp/seahorse-pgp-photos.c:290 ../pgp/seahorse-pgp-photos.c:294 +msgid "Couldn't add photo" +msgstr "" + +#: ../pgp/seahorse-pgp-photos.c:291 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" + +#: ../pgp/seahorse-pgp-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "" + +#: ../pgp/seahorse-pgp-photos.c:334 +msgid "Couldn't delete photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:1 +msgid "Actions" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:1 +msgid "Comment:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:3 +msgid "Dates" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:3 +msgid "Email:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:5 +msgid "Fingerprint" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:6 +msgid "Key ID:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:7 +msgid "Key Names and Signatures" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:7 +#: ../ssh/seahorse-ssh-key-properties.glade.h:7 +msgid "Name:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:8 +msgid "Photo " +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:10 +msgid "Technical Details" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:10 +msgid "This key has been revoked" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:12 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:11 +msgid "This key has expired" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:13 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:12 +#: ../ssh/seahorse-ssh-key-properties.glade.h:11 +msgid "Type:" +msgstr "" + +#. To translators: This is the noun not the verb. +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:15 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:14 +#: ../ssh/seahorse-ssh-key-properties.glade.h:13 +msgid "Use:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:18 +msgid "_Subkeys" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:17 +msgid "Add" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:18 +msgid "Add a photo to this key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:19 +#: ../ssh/seahorse-ssh-key-properties.glade.h:16 +msgid "Change _Passphrase" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:19 +msgid "Created:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:21 +msgid "Decrypt files and email sent to you." +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:22 +msgid "Delete" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:24 +msgid "Expire" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:25 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:22 +msgid "Expires:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:26 +msgid "Export" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:27 +msgid "Go to next photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:28 +msgid "Go to previous photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:29 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:29 +msgid "Key ID:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:31 +msgid "Make this photo the primary photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:32 +msgid "Names and Signatures" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:33 +msgid "Override Owner _Trust:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:34 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:31 +msgid "Owner" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:35 +msgid "Primary" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:37 +msgid "Remove this photo from this key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:38 +msgid "Revoke" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:39 +msgid "Sign" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:40 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:33 +msgid "Strength:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:34 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:43 +msgid "" +"Unknown\n" +"Never\n" +"Marginal\n" +"Full\n" +"Ultimate" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:48 +msgid "_Add Name" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:49 +msgid "_Export Complete Key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:2 +msgid "Dates:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:4 +#: ../ssh/seahorse-ssh-key-properties.glade.h:4 +msgid "Fingerprint:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:5 +msgid "Indicate Trust:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:15 +msgid "Your trust of this key" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:16 +msgid "_Other Names:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:17 +msgid "_People who have signed this key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:21 +msgid "Encrypt files and email to the key's owner " +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:24 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:26 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:28 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" + +#. Trust column +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:35 +#: ../src/seahorse-key-manager-store.c:842 +msgid "Trust" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:37 +msgid "" +"Unknown\n" +"Never\n" +"Marginally\n" +"Fully\n" +"Ultimately" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:42 +msgid "You _Trust the Owner:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:43 +msgid "Your trust is manually specified on the Details tab." +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:44 +msgid "_Only display the signatures of people I trust" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:45 +msgid "_Revoke Signature" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:46 +msgid "_Sign this Key" +msgstr "" + +#: ../pgp/seahorse-pgp-revoke.c:75 +msgid "Couldn't revoke subkey" +msgstr "" + +#: ../pgp/seahorse-pgp-revoke.c:102 +#, c-format +msgid "Revoke Subkey %d of %s" +msgstr "" + +#: ../pgp/seahorse-pgp-revoke.c:104 +#, c-format +msgid "Revoke %s" +msgstr "" + +#: ../pgp/seahorse-pgp-revoke.c:115 +msgid "No reason" +msgstr "" + +#: ../pgp/seahorse-pgp-revoke.c:116 +msgid "No reason for revoking key" +msgstr "" + +#: ../pgp/seahorse-pgp-revoke.c:122 +msgid "Compromised" +msgstr "" + +#: ../pgp/seahorse-pgp-revoke.c:123 +msgid "Key has been compromised" +msgstr "" + +#: ../pgp/seahorse-pgp-revoke.c:129 +msgid "Superseded" +msgstr "" + +#: ../pgp/seahorse-pgp-revoke.c:130 +msgid "Key has been superseded" +msgstr "" + +#: ../pgp/seahorse-pgp-revoke.c:136 +msgid "Not Used" +msgstr "" + +#: ../pgp/seahorse-pgp-revoke.c:137 +msgid "Key is no longer used" +msgstr "" + +#: ../pgp/seahorse-pgp-revoke.c:176 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" + +#: ../pgp/seahorse-pgp-revoke.c:191 +msgid "Couldn't add revoker" +msgstr "" + +#: ../pgp/seahorse-pgp-sign.c:96 +msgid "Couldn't sign key" +msgstr "" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-pgp-sign.c:159 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "" + +#: ../pgp/seahorse-pgp-sign.c:160 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" + +#: ../pgp/seahorse-pgp-source.c:100 +#, c-format +msgid "Wrong passphrase." +msgstr "" + +#: ../pgp/seahorse-pgp-source.c:104 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "" + +#: ../pgp/seahorse-pgp-source.c:106 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "" + +#: ../pgp/seahorse-pgp-source.c:109 +#: ../src/seahorse-change-passphrase.glade.h:4 +msgid "Enter new passphrase" +msgstr "" + +#: ../pgp/seahorse-pgp-source.c:111 +msgid "Enter passphrase" +msgstr "" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../pgp/seahorse-pgp-source.c:802 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "" +msgstr[1] "" + +#: ../pgp/seahorse-pgp-source.c:857 +msgid "Loading Keys..." +msgstr "" + +#: ../pgp/seahorse-pgp-source.c:900 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" + +#: ../pgp/seahorse-pgp-source.c:1000 ../src/seahorse-key-manager.vala:552 +msgid "Importing Keys" +msgstr "" + +#: ../pgp/seahorse-pgp-source.c:1036 +msgid "Exporting Keys" +msgstr "" + +#: ../pgp/seahorse-revoke.glade.h:1 +msgid "Optional description of revocation" +msgstr "" + +#: ../pgp/seahorse-revoke.glade.h:2 +msgid "Re_voke" +msgstr "" + +#: ../pgp/seahorse-revoke.glade.h:3 +msgid "Reason for revoking the key" +msgstr "" + +#: ../pgp/seahorse-revoke.glade.h:6 +msgid "_Reason:" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:1 +msgid "How carefully have you checked this key?" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:2 +msgid "How others will see this signature:" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:3 +msgid "Sign key as:" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:4 +msgid "" +"Casually: means you have done a casual verification that the key\n" +"is owned by the person who claims to own it. For example, you could\n" +"read the key fingerprint to the owner over the phone. " +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:7 +msgid "Key Name" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who \n" +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that " +"this\n" +"key is genuine." +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:12 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:13 +msgid "I can _revoke this signature at a later date." +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:14 +msgid "" +"You could use a hard to forge photo identification (such as a passport) \n" +"to personally check that the name on the key is correct. You should \n" +"have also used email to check that the email address belongs to the\n" +"owner." +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:18 +msgid "_Casually" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:19 +msgid "_Not at all" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:20 +msgid "_Others may not see this signature" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:21 +msgid "_Sign" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:22 +msgid "_Signer:" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:23 +msgid "_Very Carefully" +msgstr "" + +#: ../pgp/seahorse-signer.c:62 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" + +#: ../pgp/seahorse-signer.glade.h:1 +msgid "_Sign message with key:" +msgstr "" + +#: ../src/main.c:70 ../src/seahorse-viewer.vala:229 +msgid "Encryption Key Manager" +msgstr "" + +#: ../src/seahorse-change-passphrase.glade.h:1 +msgid "Change Passphrase" +msgstr "" + +#: ../src/seahorse-change-passphrase.glade.h:2 +msgid "Con_firm Passphrase:" +msgstr "" + +#: ../src/seahorse-change-passphrase.glade.h:3 +msgid "Confirm new passphrase" +msgstr "" + +#: ../src/seahorse-change-passphrase.glade.h:5 +msgid "New _Passphrase:" +msgstr "" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "" + +#: ../src/seahorse.desktop.in.in.h:2 ../src/seahorse-key-manager.vala:142 +msgid "Passwords and Encryption Keys" +msgstr "" + +#: ../src/seahorse-generate-select.glade.h:1 +msgid "_Select the kind of key you wish to create:" +msgstr "" + +#: ../src/seahorse-generate-select.glade.h:2 +msgid "C_ontinue" +msgstr "" + +#: ../src/seahorse-generate-select.glade.h:3 +msgid "Create a New Key" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:1 +msgid "First time options:" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:2 +msgid "Generate a new key of your own: " +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:3 +msgid "Import existing keys from a file:" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:4 +msgid "My _Personal Keys" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:5 +msgid "Other _Collected Keys" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:6 +msgid "To get started with encryption you will need keys." +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:7 +#: ../src/seahorse-keyserver-results.vala:53 +msgid "_Import" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:8 +msgid "_Passwords" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:9 +msgid "_Trusted Keys" +msgstr "" + +#: ../src/seahorse-key-manager.vala:105 +#: ../src/seahorse-keyserver-results.vala:37 +msgid "_Remote" +msgstr "" + +#: ../src/seahorse-key-manager.vala:107 +msgid "_Quit" +msgstr "_Gadael" + +#: ../src/seahorse-key-manager.vala:108 +msgid "Close this program" +msgstr "" + +#: ../src/seahorse-key-manager.vala:110 +msgid "_Create New Key..." +msgstr "" + +#: ../src/seahorse-key-manager.vala:111 +msgid "Create a new personal key" +msgstr "" + +#: ../src/seahorse-key-manager.vala:112 +msgid "_Import..." +msgstr "" + +#: ../src/seahorse-key-manager.vala:113 +msgid "Import keys into your key ring from a file" +msgstr "" + +#: ../src/seahorse-key-manager.vala:114 +msgid "Paste _Keys" +msgstr "" + +#: ../src/seahorse-key-manager.vala:115 +msgid "Import keys from the clipboard" +msgstr "" + +#: ../src/seahorse-key-manager.vala:119 +#: ../src/seahorse-keyserver-results.vala:48 +msgid "_Find Remote Keys..." +msgstr "" + +#: ../src/seahorse-key-manager.vala:120 +#: ../src/seahorse-keyserver-results.vala:49 +msgid "Search for keys on a key server" +msgstr "" + +#: ../src/seahorse-key-manager.vala:121 +msgid "_Sync and Publish Keys..." +msgstr "" + +#: ../src/seahorse-key-manager.vala:122 +msgid "Publish and/or synchronize your keys with those online." +msgstr "" + +#: ../src/seahorse-key-manager.vala:126 +msgid "T_ypes" +msgstr "" + +#: ../src/seahorse-key-manager.vala:126 +msgid "Show type column" +msgstr "" + +#: ../src/seahorse-key-manager.vala:127 +msgid "_Expiry" +msgstr "" + +#: ../src/seahorse-key-manager.vala:127 +msgid "Show expiry column" +msgstr "" + +#: ../src/seahorse-key-manager.vala:128 +msgid "_Trust" +msgstr "" + +#: ../src/seahorse-key-manager.vala:128 +msgid "Show owner trust column" +msgstr "" + +#: ../src/seahorse-key-manager.vala:129 +msgid "_Validity" +msgstr "" + +#: ../src/seahorse-key-manager.vala:129 +msgid "Show validity column" +msgstr "" + +#: ../src/seahorse-key-manager.vala:224 +msgid "Filter:" +msgstr "" + +#: ../src/seahorse-key-manager.vala:462 ../src/seahorse-key-manager.vala:509 +#: ../src/seahorse-key-manager.vala:536 +#: ../src/seahorse-keyserver-results.vala:211 +msgid "Couldn't import keys" +msgstr "" + +#: ../src/seahorse-key-manager.vala:466 +#: ../src/seahorse-keyserver-results.vala:215 +msgid "Imported keys" +msgstr "" + +#: ../src/seahorse-key-manager.vala:504 +msgid "Importing keys" +msgstr "" + +#: ../src/seahorse-key-manager.vala:513 ../ssh/seahorse-ssh-operation.c:1094 +msgid "Import Key" +msgstr "" + +#: ../src/seahorse-key-manager.vala:537 +msgid "Unrecognized key type, or invalid data format" +msgstr "" + +#: ../src/seahorse-key-manager.vala:685 +#: ../src/seahorse-keyserver-results.vala:247 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "" +msgstr[1] "" + +#: ../src/seahorse-key-manager-store.c:644 ../src/seahorse-viewer.vala:383 +msgid "Couldn't export keys" +msgstr "" + +#: ../src/seahorse-key-manager-store.c:835 +msgid "Validity" +msgstr "" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:854 +msgid "Expiration Date" +msgstr "" + +#: ../src/seahorse-keyserver-results.vala:39 +msgid "_Close" +msgstr "_Cau" + +#: ../src/seahorse-keyserver-results.vala:40 +msgid "Close this window" +msgstr "" + +#: ../src/seahorse-keyserver-results.vala:41 +msgid "_Expand All" +msgstr "" + +#: ../src/seahorse-keyserver-results.vala:42 +msgid "Expand all listings" +msgstr "" + +#: ../src/seahorse-keyserver-results.vala:43 +msgid "_Collapse All" +msgstr "" + +#: ../src/seahorse-keyserver-results.vala:44 +msgid "Collapse all listings" +msgstr "" + +#: ../src/seahorse-keyserver-results.vala:54 +msgid "Import selected keys to local key ring" +msgstr "" + +#: ../src/seahorse-keyserver-results.vala:65 +msgid "Remote Keys" +msgstr "" + +#: ../src/seahorse-keyserver-results.vala:67 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "" + +#: ../src/seahorse-keyserver-results.vala:226 +msgid "Importing keys from key servers" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:1 +msgid "Key Servers:" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:2 +msgid "Shared Keys Near Me:" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:3 +msgid "Find Remote Keys" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:4 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:5 +msgid "Where to search:" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:6 +msgid "_Search" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:7 +msgid "_Search for keys containing: " +msgstr "" + +#: ../src/seahorse-keyserver-sync.c:45 +msgid "Couldn't publish keys to server" +msgstr "" + +#: ../src/seahorse-keyserver-sync.c:61 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "" + +#: ../src/seahorse-keyserver-sync.c:155 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "" +msgstr[1] "" + +#: ../src/seahorse-keyserver-sync.c:221 +msgid "Synchronizing keys" +msgstr "" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:253 +msgid "Synchronizing keys..." +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:1 +msgid "X keys are selected for synchronizing" +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:2 +msgid "Sync Keys" +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:3 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:4 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:5 +msgid "_Key Servers" +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:6 +msgid "_Sync" +msgstr "" + +#. Top menu items +#: ../src/seahorse-viewer.vala:36 +msgid "_Key" +msgstr "" + +#: ../src/seahorse-viewer.vala:37 +msgid "_Edit" +msgstr "" + +#: ../src/seahorse-viewer.vala:38 +msgid "_View" +msgstr "" + +#: ../src/seahorse-viewer.vala:39 +msgid "_Help" +msgstr "C_ymorth" + +#: ../src/seahorse-viewer.vala:41 +msgid "Prefere_nces" +msgstr "" + +#: ../src/seahorse-viewer.vala:42 +msgid "Change preferences for this program" +msgstr "" + +#: ../src/seahorse-viewer.vala:43 +msgid "_About" +msgstr "_Ynghylch" + +#: ../src/seahorse-viewer.vala:44 +msgid "About this program" +msgstr "" + +#: ../src/seahorse-viewer.vala:45 +msgid "_Contents" +msgstr "" + +#: ../src/seahorse-viewer.vala:46 +msgid "Show Seahorse help" +msgstr "" + +#: ../src/seahorse-viewer.vala:50 +msgid "P_roperties" +msgstr "" + +#: ../src/seahorse-viewer.vala:51 +msgid "Show key properties" +msgstr "" + +#: ../src/seahorse-viewer.vala:52 +msgid "E_xport Public Key..." +msgstr "" + +#: ../src/seahorse-viewer.vala:53 +msgid "Export public part of key to a file" +msgstr "" + +#: ../src/seahorse-viewer.vala:54 +msgid "_Copy Public Key" +msgstr "" + +#: ../src/seahorse-viewer.vala:55 +msgid "Copy public part of selected keys to the clipboard" +msgstr "" + +#: ../src/seahorse-viewer.vala:56 +msgid "_Delete Key" +msgstr "" + +#: ../src/seahorse-viewer.vala:57 +msgid "Delete selected keys" +msgstr "" + +#: ../src/seahorse-viewer.vala:203 +msgid "Contributions:" +msgstr "" + +#: ../src/seahorse-viewer.vala:231 +msgid "translator-credits" +msgstr "" + +#: ../src/seahorse-viewer.vala:234 +msgid "Seahorse Project Homepage" +msgstr "" + +#: ../src/seahorse-viewer.vala:284 +msgid "Couldn't delete." +msgstr "" + +#: ../src/seahorse-viewer.vala:296 +msgid "Deleting..." +msgstr "" + +#: ../src/seahorse-viewer.vala:317 +#, c-format +msgid "%s is a private key. Are you sure you want to proceed?" +msgstr "" + +#: ../src/seahorse-viewer.vala:319 +msgid "" +"One or more of the deleted keys are private keys. Are you sure you want to " +"proceed?" +msgstr "" + +#: ../src/seahorse-viewer.vala:347 +msgid "Couldn't retrieve data from key server" +msgstr "" + +#: ../src/seahorse-viewer.vala:365 +msgid "Copied keys" +msgstr "" + +#: ../src/seahorse-viewer.vala:377 +msgid "Retrieving keys" +msgstr "" + +#: ../src/seahorse-viewer.vala:392 +msgid "Export public key" +msgstr "" + +#: ../src/seahorse-viewer.vala:404 +msgid "Exporting keys" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:101 +msgid "Enter your Secure Shell passphrase:" +msgstr "" + +#: ../ssh/seahorse-ssh-commands.vala:29 +msgid "Configure Key for _Secure Shell..." +msgstr "" + +#: ../ssh/seahorse-ssh-commands.vala:30 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" + +#: ../ssh/seahorse-ssh-commands.vala:77 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "" + +#: ../ssh/seahorse-ssh-commands.vala:79 +#, c-format +msgid "Are you sure you want to delete %d secure shell keys?" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:47 +msgid "Couldn't generate Secure Shell key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:154 +msgid "Creating Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.glade.h:2 +msgid "" +"Use your email address, and any other reminder\n" +" you need about what this key is for." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.glade.h:4 +msgid "" +"A Secure Shell (SSH) key lets you connect securely to trusted\n" +"computers using SSH, without entering a different password \n" +"for each of them." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.glade.h:8 +msgid "" +"If there is already a computer you want to use this key with, you \n" +"can set up that computer to recognize your key now. " +msgstr "" + +#: ../ssh/seahorse-ssh-generate.glade.h:11 +msgid "New Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.glade.h:12 +msgid "_Create and Set Up" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.glade.h:13 +msgid "_Just Create Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.glade.h:14 +msgid "_Key Description:" +msgstr "" + +#: ../ssh/seahorse-ssh-generator.vala:29 ../ssh/seahorse-ssh-key.c:97 +#: ../ssh/seahorse-ssh-key.c:101 ../ssh/seahorse-ssh-key-properties.glade.h:21 +#: ../ssh/seahorse-ssh-source.c:726 +msgid "Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generator.vala:30 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:93 +msgid "(Unreadable Secure Shell Key)" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:129 +msgid "Private Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:132 +msgid "Public Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:118 +msgid "Couldn't rename key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:159 +msgid "Couldn't change authorization for key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:174 +msgid "Couldn't change passhrase for key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:1 +msgid "/home/nate/.ssh/blah_rsa" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:2 +msgid "00:00:00:00:00" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:3 +msgid "Algorithm:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:5 +msgid "Identifier:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:6 +msgid "Location:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:8 +msgid "Strength:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:10 +msgid "Trust" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:15 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:18 +msgid "E_xport Complete Key" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:22 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:23 +msgid "Used to connect to other computers." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:138 ../ssh/seahorse-ssh-operation.c:700 +#, c-format +msgid "The SSH command was terminated unexpectedly." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:146 ../ssh/seahorse-ssh-operation.c:707 +msgid "The SSH command failed." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:444 +msgid "Secure Shell key" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:448 +msgid "Passphrase:" +msgstr "" + +#. Just prompt over and over again +#: ../ssh/seahorse-ssh-operation.c:730 +msgid "Secure Shell Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:818 +msgid "Old Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:819 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:823 +msgid "New Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:824 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:832 +msgid "Enter Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:900 +msgid "Passphrase for New Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:901 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:1036 +msgid "Secure Shell Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:1036 +#, c-format +msgid "Enter the passphrase for: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:1037 +msgid "Save this passphrase in my keyring" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:1090 +#, c-format +msgid "Importing key: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:1092 +msgid "Importing key. Enter passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-source.c:945 +msgid "No private key file is available for this key." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.c:45 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "" + +#. Show the progress window if necessary +#: ../ssh/seahorse-ssh-upload.c:181 +msgid "Configuring Secure Shell Keys..." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.glade.h:1 +msgid "eg: fileserver.example.com" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.glade.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.glade.h:4 +msgid "" +"To use your Secure Shell key with another computer that\n" +"uses SSH, you must already have a login account on that \n" +"computer." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.glade.h:7 +msgid "_Computer Name:" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.glade.h:8 +msgid "_Login Name:" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.glade.h:9 +msgid "_Set Up" +msgstr "" diff --git a/po/da.po b/po/da.po new file mode 100644 index 00000000..6e421188 --- /dev/null +++ b/po/da.po @@ -0,0 +1,4654 @@ +# Danish translation for Seahorse +# Copyright (C) 2000-2018 Free Software Foundation, Inc. +# Birger Langkjer , 2000. +# flemming christensen , 2011, 2012. +# Ask Hjorth Larsen , 2008-2018. +# Alan Mortensen , 2019-20. +# scootergrisen, 2019. +# +# Konventioner +# Passphrase -> adgangsfrase +# Password -> adgangskode +# Cache -> cache. +# Dette er måske ikke den mest elegante løsning, men på dansk findes der ikke et ord af tilsvarende længde der passer godt. Mellemlagring eller hurtigbuffer fra ordlisten er uegnede da de tydeligvis refererer til CPU-cache. +# +# ASCII armor -> ASCII-panser +# decrypt -> dekryptere (i modsætning til f.eks. afkryptere) +# verify -> verificere +# sign -> underskrive +# signature -> underskrift +# remote -> ekstern +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-02-25 19:59+0000\n" +"PO-Revision-Date: 2020-02-26 16:55+0100\n" +"Last-Translator: Alan Mortensen \n" +"Language-Team: Danish \n" +"Language: da\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.0.6\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Tilføj nøgleserver" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Tilpasset" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Annullér" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Gem" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Kan ikke slette" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Kunne ikke eksportere nøgler" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Kunne ikke eksportere data" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:283 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Annullér" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:352 +msgid "_Delete" +msgstr "_Slet" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Eksportér" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Indtast PIN eller adgangskode til: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Bekræft:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_OK" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Adgangskode:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Adgangskoder" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Nøgler" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certifikater" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Indstillinger" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Ingen: Offentliggør ikke nøgler" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Ugyldig nøgleserveradresse." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Kontakt din systemadministrator eller nøgleserverens administrator for hjælp." + +# hvis det skal oversættes til andet end URL, så er det relevant hvorvidt oversættelsen skal begynde med stort eller småt +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "indledningsvis midlertidigt objekt" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Nøgleservertype:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Vært:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Værtsnavn eller adresser for serveren." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Porten der benyttes til at forbinde til serveren." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Find nøgler via:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Offentliggør nøgler til:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Hent automatisk nøgler fra _nøgleservere" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Synkronisér automatisk æ_ndrede nøgler med nøgleservere" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Nøgleservere" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Ukendt" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Aldrig" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Underordnet" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Fuld" + +# "This level of trust should only be assigned to your own keys", står der i dokumentationen, så ultimativ må være en nogenlunde oversættelse +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Ultimativ" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Deaktiveret" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Tilbagekaldt" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Oversigt" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Hjælp" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Åbn menu" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Opret nyt element" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Importér element fra fil" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Søg" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Liste over genveje" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Afslut" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Automatisk nøgleafhentning" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Hvorvidt nøgler automatisk skal hentes fra nøgleservere." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Offentliggør automatisk nøgler" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Hvorvidt ændrede nøgler automatisk skal offentliggøres." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Offentliggør nøgler til denne nøgleserver" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Nøgleserveren hvorpå PGP-nøgler offentliggøres, eller tom hvis PGP-nøgler " +"ikke ønskes offentliggjort." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Sidste nøgleserver-søgestreng" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Det sidste søgemønster anvendt på en nøgleserver." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Sidst benyttede nøgleservere" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Nøgleserveren hvorpå der sidst blev udført en søgning, eller alle " +"nøgleservere hvis tom." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Vis sidebjælke med nøgleringe" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Vis sidebjælke med nøgleringe i Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Hvilke elementer der skal vises" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtrér de elementer, der skal vises. Hvis tom vises alle elementer; hvis " +"“personal” vises personlige nøgler; og hvis “trusted” vises betroede." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Bredden af sideruden" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Siderudens standardbredde." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "De valgte nøgleringe" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "URI'erne for nøgleringene som er valgt i sidebjælken." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Kolonnen hvormed Seahorse-nøglerne sorteres" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Angiv kolonnen hvormed Seahorse-nøglehåndterings hovedvindue sorteres. " +"Kolonnerne er: “name”, “id”, “validity”, “expires”, “trust” og “type”. Skriv " +"en “-” foran kolonnenavnet for at sortere i aftagende rækkefølge." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Vis gyldighedskolonnen" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Ikke længere i brug." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Vis udløbskolonnen" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Hvis tillidskolonnen" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Vis typekolonnen" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Vinduets bredde" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Vinduets bredde i pixel." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Vinduets højde" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Vinduets højde i pixel." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Håndtér dine adgangskoder og krypteringsnøgler" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"Seahorse er et GNOME-program til håndtering af krypteringsnøgler. Det " +"integrerer også med nautilus, gedit og andre steder med henblik på " +"kryptering." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:13 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Med seahorse kan du oprette og håndtere PGP-nøgler, oprette og håndtere SSH-" +"nøgler, offentliggøre og hente nøgler fra nøgleservere, lagre din " +"adgangsfrase så du ikke behøver blive ved med at skrive den, samt " +"sikkerhedskopiere dine nøgler og nøglering." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:94 +msgid "The GNOME Project" +msgstr "GNOME-projektet" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Adgangskoder og nøgler" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "nøglering;kryptering;sikkerhed;signering;underskrift;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Gemte personlige adgangskoder, loginoplysninger og hemmeligheder" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:410 +msgid "Couldn’t unlock" +msgstr "Kunne ikke låse op" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Kunne ikke tilføje element" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Adgangskode eller hemmelighed" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Hemmelighed for Netværksforbindelse" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Adgangskode til wi-fi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Netværksadgangskode" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Adgangskode til GNOME Web" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Adgangskode til Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Adgangskode til samtaleklienter" + +# Grrr, findes ikke i empathy +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "IM-kontoadgangskode for " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Adgangskode til Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Adgangskode til GNOME Onlinekonti" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Gem ændringer for dette element?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Få adgang til en netværksdeling eller ressource" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Få adgang til en hjemmeside" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Låser en PGP-nøgle op" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Låser en SSH-nøgle op" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Gemt adgangskode eller brugernavn" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Loginoplysninger for netværk" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Adgangskode" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Kunne ikke ændre adgangskode." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Kunne ikke anføre beskrivelse." + +#: gkr/gkr-item-properties.vala:268 +msgid "Error deleting the password." +msgstr "Fejl ved sletning af adgangskoden." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Gemt note" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Adgangskode til nøglering" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Adgangskode til krypteringsnøgle" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Adgangskode til nøglelager" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Hemmelighed for Netværkshåndtering" + +#: gkr/gkr-item.vala:312 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Er du sikker på, at du vil slette adgangskoden “%s”?" + +#: gkr/gkr-item.vala:314 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Er du sikker på, at du vil slette %d adgangskode?" +msgstr[1] "Er du sikker på, at du vil slette %d adgangskoder?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Kunne ikke tilføje nøglering" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Ukendt dato" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "En nøglering, der automatisk låses op ved login" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "En nøglering, der bruges til at lagre adgangskoder" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Kunne ikke indstille standardnøglering" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Kunne ikke ændre nøgleringens adgangskode" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Sæt som forvalg" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Skift _adgangskode" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Er du sikker på, at du vil slette adgangskodenøgleringen “%s”?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Jeg forstår at alle elementer vil blive slettet permanent." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Vis/skjul adgangskode" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Tilføj adgangskode" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Nøglering:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Beskrivelse:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Adgangskode:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Tilføj" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Tilføj adgangskode-nøglering" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Vælg venligst et navn til den nye nøglering. Du vil blive spurgt om en " +"adgangskode til oplåsning." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Navn til ny nøglering:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Elementegenskaber" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Beskrivelse" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Kopiér" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Brug" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1280 +msgid "Type" +msgstr "Type" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Server" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Login" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:915 +msgid "Details" +msgstr "Detaljer" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Slet adgangskode" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Egenskaber for nøglering" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:858 +msgid "Name" +msgstr "Navn" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Oprettet" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Skift adgangskode" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Sæt som forvalg" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Vis flag" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Viste egenskaber for dato- og/eller klokkeslæt" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Doven tilstand" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "" +"Doven tilstand normaliserer ikke de angivne værdier for dato og klokkeslæt" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "År" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Viste år" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Måned" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Viste måned" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dag" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Viste dag på måneden" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Time" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Viste time" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minut" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Viste minut" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekund" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Viste sekund" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Nedre grænse for år" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "År-delen af den nedre datogrænse" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Øvre grænse for år" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "År-delen af den øvre datogrænse" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Nedre grænse for måned" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Måned-delen af den nedre datogrænse" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Øvre grænse for måned" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Måned-delen af den øvre datogrænse" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Nedre grænse for dag" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Dagen i måned-delen af den nedre datogrænse" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Øvre grænse for dag" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Dagen i måned-delen af den øvre datogrænse" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Nedre grænse for time" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Time-delen af den nedre tidsgrænse" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Øvre grænse for time" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Time-delen af den øvre tidsgrænse" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Nedre grænse for minut" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Minut-delen af den nedre tidsgrænse" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Øvre grænse for minut" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Minut-delen af den øvre tidsgrænse" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Nedre grænse for sekund" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Sekund-delen af den nedre tidsgrænse" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Øvre grænse for sekund" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Sekund-delen af den øvre tidsgrænse" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Dato" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Indtast datoen direkte" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Vælg dato" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Vælg datoen fra en kalender" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Klokkeslæt" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Indtast klokkeslættet direkte" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Vælg klokkeslæt" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Vælg klokkeslættet fra en liste" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%3$02d/%2$02d-%1$04d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Kunne ikke vise hjælp: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Føj undernøgle til %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (underskriv kun)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (kryptér kun)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (underskriv kun)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (kryptér kun)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Nøgle_type" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Nøgle_længde" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Nøglelængde" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Udløbsdato" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Udløber _aldrig" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Om nøglen aldrig udløber" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Opret en ny undernøgle" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Føj bruger-ID til %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Kunne ikke tilføje bruger-ID" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Tilføj bruger-ID" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Fuldt _navn" + +# denne formulering undgår "lang vs. langt"-diskussionen +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Skal indeholde mindst 5 tegn" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:93 +msgid "_Email Address" +msgstr "_E-mailadresse" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Valgfri e-mailadresse" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "_Nøglekommentar" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Valgfri nøglebeskrivelse" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Opret den nye bruger-ID" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Dekryptering slog fejl. Du har sandsynligvis ikke dekrypteringsnøglen." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Handlingen blev annulleret" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Ugyldig udløbsdato" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Udløbsdatoen skal være i fremtiden" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Kunne ikke ændre udløbsdato" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Udløb: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "Udløber _aldrig" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Ændr" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Adskillige nøgler" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Nøgledata" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Pansrede PGP-nøgler" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP-nøgler" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Kunne ikke generere PGP-nøgle" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Adgangsfrase til ny PGP-nøgle" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Skriv adgangsfrasen til din nye nøgle to gange." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Når der skal oprettes en nøgle skal der genereres \n" +"mange tilfældige data, og her skal du hjælpe. Det\n" +"er en god ide at udføre andre handlinger som at bruge\n" +"tastaturet, bevæge musen elle bruge programmer.\n" +"Dette giver systemet de nødvendige tilfældige data." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Genererer nøgle" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Navnet skal være på mindst 5 tegn." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Ny PGP-nøgle" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"En PGP-nøgle tillader dig at kryptere e-mail eller filer til andre mennesker." + +#: pgp/seahorse-gpgme-generate-dialog.ui:125 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Avancerede nøgleindstillinger" + +#: pgp/seahorse-gpgme-generate-dialog.ui:139 +msgid "_Comment" +msgstr "_Kommentar" + +#: pgp/seahorse-gpgme-generate-dialog.ui:170 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Krypterings_type" + +#: pgp/seahorse-gpgme-generate-dialog.ui:200 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "Nøgle_styrke (bit)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:230 +msgid "E_xpiration Date" +msgstr "_Udløbsdato" + +#: pgp/seahorse-gpgme-generate-dialog.ui:252 +msgid "Ne_ver Expires" +msgstr "Udløber _aldrig" + +#: pgp/seahorse-gpgme-generate-dialog.ui:293 +msgid "C_reate" +msgstr "_Opret" + +#: pgp/seahorse-gpgme-generate-dialog.ui:300 +msgid "Generate a new key" +msgstr "Generér en ny nøgle" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Er du sikker på, at du vil slette %s permanent?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Er du sikker på, at du vil slette %d nøgle permanent?" +msgstr[1] "Er du sikker på, at du vil slette %d nøgler permanent?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Forkert adgangskode" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Dette var tredje gang, du indtastede en forkert adgangskode. Prøv venligst " +"igen." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Forkert adgangsfrase." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Skriv ny adgangsfrase til “%s”" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Skriv adgangsfrase til “%s”" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Skriv ny adgangsfrase" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Skriv adgangsfrase" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Adgangsfrase" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Indlæste %d nøgle" +msgstr[1] "Indlæste %d nøgler" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Ugyldige nøgledata (manglende UID'er). Dette kan skyldes at en computer har " +"dato indstillet til fremtiden eller en manglende egenunderskrift." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG-nøgler" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: standardnøgleringskatalog" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Dette billede er for stort\n" +"Den anbefalede billedstørrelse til din nøgle er %d × %d pixler." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "Skalér _ikke" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Skalér" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Dette er ikke en billedfil, eller også er det en ukendt type billedfil. Prøv " +"at bruge et JPEG-billede." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Alle billedfiler" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Alle JPEG-filer" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Alle filer" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Vælg billede til nøglen" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Åbn" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Kunne ikke klargøre billede" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Kunne ikke tilføje billede" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Filen kunne ikke indlæses. Måske benytter den et ugyldigt format" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Er du sikker på, at du vil fjerne det nuværende billede fra din nøgle?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Kunne ikke slette billede" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Kunne ikke tilbagekalde undernøgle" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Tilbagekald: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Ingen grund" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Ingen grund til at tilbagekalde nøgle" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Kompromitteret" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Nøglen er kompromitteret" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Erstattet" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Nøglen er blevet erstattet" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Ubenyttet" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Nøglen er ikke længere i brug" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Du er ved at tilføje %s som tilbagekalder for %s. Denne operation kan ikke " +"fortrydes! Er du sikker på, at du vil fortsætte?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Kunne ikke tilføje tilbagekalder" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Jeg forstår at denne hemmelige nøgle vil blive slettet permanent." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Denne nøgle var allerede underskrevet af\n" +"“%s”" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Kunne ikke underskrive nøgle" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Ingen brugbare nøgler til at underskrive med" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Du har ingen personlige PGP-nøgler der kan bruges til at angive din tillid " +"til denne nøgle." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Underskriv nøgle" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Ved underskrift udtrykker du din tillid til at denne nøgle tilhører:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Nøglenavn" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Hvor grundigt har du kontrolleret denne nøgle?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Overhovedet ikke" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Uformelt" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Meget omhyggeligt" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Overhovedet ikke: betyder at du tror nøglen tilhører personen der " +"påstår at eje den, men du ikke kunne eller af anden årsag ikke har " +"verificere udsagnet." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Uformelt: betyder at du har foretaget en uformel verificering af at " +"nøglen ejes af personen der påstår at eje den. For eksempel kunne du oplæse " +"nøglens fingeraftryk til ejeren over telefon." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Meget omhyggeligt: Vælg kun denne hvis du er absolut sikker på at " +"denne nøgle er ægte." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Du kan benytte et billede som er svært at forfalske til identifikation " +"(såsom et pas), for personligt at kontrollere at navnet på nøglen er " +"korrekt. Du bør også have brugt e-mail til at kontrollere at e-mailadressen " +"tilhører ejeren." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Hvordan andre vil se denne underskrift:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Andre må ikke se denne underskrift" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Jeg kan _tilbagekalde denne underskrift på et senere tidspunkt." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Underskriv nøgle som:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Underskriver:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Underskriv" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Ukendt" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Søgningen var ikke tilstrækkeligt specifik. Serveren “%s” fandt for mange " +"nøgler." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Kunne ikke kommunikere med serveren “%s”: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP-nøgleserver" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Kunne ikke importere nøgle: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Nøgle importeret" + +#: pgp/seahorse-keyserver-results.c:154 src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importér" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Kan ikke importere nøgle" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Eksterne nøgler" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Eksterne nøgler indeholdende “%s”" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Søgningen efter nøgler mislykkedes." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Dobbeltklik på en nøgle for at inspicere den, eller klik på importknappen " +"for at importere den til din lokale nøglering." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Find eksterne nøgler" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Dette vil finde andres nøgler på Internet. Disse nøgler kan så importeres " +"til din lokale nøglering." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Søg efter nøgler indeholdende: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Sted for søgning:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Nøgleservere:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Delte nøgler nær mig:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Søg" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Kunne ikke offentliggøre nøgler til serveren" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Kunne ikke hente nøgler fra serveren: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d nøgle markeret til synkronisering" +msgstr[1] "%d nøgler markeret til synkronisering" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Synkroniserer nøgler …" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Synkronisér nøgler" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Dette vil offentliggøre nøglerne i din nøglering så de er tilgængelige for " +"andre. Du vil også modtage de ændringer som andre har foretaget siden du " +"modtog deres nøgler." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Dette vil hente de ændringer som andre har foretaget siden du modtog deres " +"nøgler. Ingen nøgleserver er valgt til offentliggørelse, så dine nøgler vil " +"ikke blive offentliggjort for andre." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Nøgleservere" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Synkronisér" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Kunne ikke kommunikere med %s: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Forbinder til: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Kunne ikke finde adressen: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Finder serveradresse: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP-nøgleserver" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP-nøgler" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP-nøgler bruges til at kryptere e-mail eller filer" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(og %d anden)" +msgstr[1] "(og %d andre)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Personlig PGP-nøgle" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP-nøgle" + +#: pgp/seahorse-pgp-key-properties.c:248 +msgid "Couldn’t change primary user ID" +msgstr "Kunne ikke ændre primær bruger-ID" + +#: pgp/seahorse-pgp-key-properties.c:283 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Er du sikker på, at du vil slette bruger-ID'en “%s” permanent?" + +#: pgp/seahorse-pgp-key-properties.c:292 +msgid "Couldn’t delete user ID" +msgstr "Kunne ikke slette bruger-ID" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:368 pgp/seahorse-pgp-key-properties.c:1414 +msgid "[Unknown]" +msgstr "[Ukendt]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:464 pgp/seahorse-pgp-key-properties.c:1624 +msgid "Name/Email" +msgstr "Navn/e-mailadresse" + +#: pgp/seahorse-pgp-key-properties.c:471 +msgid "Signature ID" +msgstr "Underskrifts-ID" + +#: pgp/seahorse-pgp-key-properties.c:577 +msgid "Couldn’t change primary photo" +msgstr "Kunne ikke ændre primært billede" + +#: pgp/seahorse-pgp-key-properties.c:737 +msgid "Error changing password" +msgstr "Fejl ved ændring af adgangskode" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:783 +msgid "(unknown)" +msgstr "(ukendt)" + +#: pgp/seahorse-pgp-key-properties.c:788 +#, c-format +msgid "This key expired on: %s" +msgstr "Denne nøgle udløb den: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:816 +#, c-format +msgid "%s — Public key" +msgstr "%s — offentlig nøgle" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:819 +#, c-format +msgid "%s — Private key" +msgstr "%s — privat nøgle" + +#: pgp/seahorse-pgp-key-properties.c:1005 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Er du sikker på, at du vil slette undernøgle %d fra %s permanent?" + +#: pgp/seahorse-pgp-key-properties.c:1013 +msgid "Couldn’t delete subkey" +msgstr "Kunne ikke slette undernøgle" + +#: pgp/seahorse-pgp-key-properties.c:1077 +#: pgp/seahorse-pgp-key-properties.c:1388 +msgid "Unable to change trust" +msgstr "Kunne ikke ændre tillidsindstilling" + +#: pgp/seahorse-pgp-key-properties.c:1089 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Kunne ikke eksportere nøgle" + +#: pgp/seahorse-pgp-key-properties.c:1238 +#: pgp/seahorse-pgp-key-properties.c:1322 +msgctxt "Expires" +msgid "Never" +msgstr "Aldrig" + +#: pgp/seahorse-pgp-key-properties.c:1277 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1283 +msgid "Usage" +msgstr "Brug" + +#: pgp/seahorse-pgp-key-properties.c:1286 +msgid "Created" +msgstr "Oprettet" + +#: pgp/seahorse-pgp-key-properties.c:1289 +msgid "Expires" +msgstr "Udløber" + +#: pgp/seahorse-pgp-key-properties.c:1292 +msgid "Status" +msgstr "Status" + +#: pgp/seahorse-pgp-key-properties.c:1295 +msgid "Strength" +msgstr "Styrke" + +#: pgp/seahorse-pgp-key-properties.c:1313 +msgid "Revoked" +msgstr "Tilbagekaldt" + +#: pgp/seahorse-pgp-key-properties.c:1315 +msgid "Expired" +msgstr "Udløbet" + +#: pgp/seahorse-pgp-key-properties.c:1317 +msgid "Disabled" +msgstr "Deaktiveret" + +#: pgp/seahorse-pgp-key-properties.c:1319 +msgid "Good" +msgstr "God" + +#: pgp/seahorse-pgp-key-properties.c:1627 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Nøgle-ID" + +#: pgp/seahorse-pgp-key-properties.c:1769 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Jeg stoler på underskrifter fra “%s” på andre nøgler" + +#: pgp/seahorse-pgp-key-properties.c:1776 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Hvis du tror at personen “%s” er denne nøgles ejer, så underskriv " +"denne nøgle:" + +#: pgp/seahorse-pgp-key-properties.c:1783 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Hvis du ikke længere stoler på at “%s” ejer denne nøgle, så tilbagekald din underskrift:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "_Eksportér hemmelig nøgle" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "E_ksportér offentlig nøgle" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Denne nøgle er blevet tilbagekaldt" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" +"Nøglen er blevet tilbagekaldt af dens ejer. Den kan ikke længere bruges." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Denne nøgle er udløbet" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Føj et billede til denne nøgle" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Fjern dette billede fra denne nøgle" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Gør dette til det primære billede" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Gå til forrige billede" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Gå til næste billede" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Kommentar" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Skift _adgangsfrase" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Ejer" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Nøglenavne og underskrifter" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Primær" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Underskriv" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Delete" +msgstr "Slet" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Tilføj navn" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Tilbagekald" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Navne og underskrifter" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Nøgle-ID:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Type:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Styrke:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Tekniske detaljer" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Fingeraftryk" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Oprettet:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Udløber:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Datoer" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Underkend ejers _tillid:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Eksportér til fil" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Handlinger" + +# Bøjning ... ? +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Udløb" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:898 +msgid "_Subkeys" +msgstr "_Undernøgler" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Underordnet" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Fuldt" + +# "This level of trust should only be assigned to your own keys", står der i dokumentationen, så ultimativ må være en nogenlunde oversættelse +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Ultimativt" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Andre navne:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Din tillid til denne nøgle" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Din tillid angives manuelt på Detaljer-fanebladet." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Underskriv denne nøgle" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Tilbagekald underskrift" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Personer som har underskrevet denne nøgle:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "Vis _kun underskrifter fra personer jeg stoler på" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Tillid" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Tekniske detaljer:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Fingeraftryk:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Datoer:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate Trust:" +msgstr "Angiv tillid:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _Trust the Owner:" +msgstr "Du _stoler på ejeren:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Kryptér" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certificér" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Godkend" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Nøgle" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Undernøgle %d fra %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Grund for tilbagekaldelse af nøglen" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Grund:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Valgfri beskrivelse af tilbagekaldelse" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Tilbagekald nøgle" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Tilbage_kald" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Du har ingen personlige PGP-nøgler der kan bruges til at underskrive et " +"dokument eller en meddelelse." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Vælg nøgle til at underskrive med" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Underskriv meddelelse med nøgle:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Eksporterer data" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Henter data" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Importerer data" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Sender data" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Utilgængelig" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certifikat" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certifikater (DER-kodet)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Personligt certifikat og nøgle" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Personligt certifikat" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Er du sikker på, at du vil slette %d certifikat permanent?" +msgstr[1] "Er du sikker på, at du vil slette %d certifikater permanent?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Kunne ikke generere privat nøgle" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Jeg forstår at denne nøgle vil blive slettet permanent." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Unavngivet privat nøgle" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Privat nøgle" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Unavngivet" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Kunne ikke eksportere certifikat" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:426 +msgid "Couldn’t delete" +msgstr "Kunne ikke slette" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Opret" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Kunne ikke oprette certifikatforespørgsel" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Gem certifikatforespørgsel" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Gem" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Certifikatforespørgsel" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM-kodet forespørgsel" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Kunne ikke gemme certifikatforespørgsel" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Ukendt" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509-certifikater og relaterede nøgler" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Ny privat nøgle" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Opret en ny privat nøgle" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Mærkat:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Gemt i:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Nøgle_type:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "Nøgle_styrke (bit):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Slet dette certifikat eller denne nøgle" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Eksportér certifikatet" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Forespørg om certifikat" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Opret en certifikatforespørgselsfil for denne nøgle" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Opret en certifikatforespørgselsfil." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Det fælles navn (CN) placeret i certifikatforespørgslen." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Navn (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Bidrag:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Version af dette program" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Ask Hjorth Larsen\n" +"Flemming Christensen\n" +"Birger Langkjer\n" +"Alan Mortensen\n" +"\n" +"Dansk-gruppen\n" +"Websted http://dansk-gruppen.dk\n" +"E-mail " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Projekthjemmeside for Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Data som skal importeres" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Import mislykkedes" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Importér nøgle" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Alle nøglefiler" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Droppet tekst" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Tekst i udklipsholder" + +#: src/key-manager.vala:468 +msgid "Couldn’t unlock keyring" +msgstr "Kunne ikke låse nøgleringen op" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Ændr adgangsfrase" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Ny _adgangsfrase:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Bekræft ny adgangsfrase" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "_Bekræft adgangsfrase:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Find eksterne nøgler …" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Synkronisér og offentliggør nøgler …" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Indstillinger" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Hjælp" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Tastaturgenveje" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_Om Adgangskoder og nøgler" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filterelementer:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Vis _personlige" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Vis _betroede" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Vis _alle" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "SSH-nøgle" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Bruges til at tilgå andre computere" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG-nøgle" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt email and files" +msgstr "Bruges til at kryptere e-mail og filer" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Adgangskode-nøglering" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Bruges til at lagre program- og netværksadgangskoder" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Gem en adgangskode eller hemmelighed sikkert" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Bruges til at forespørge om et certifikat" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importér fra fil …" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Tilføj ny nøgle eller nyt element" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Tilbage" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Søg efter en nøgle eller adgangskode" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filter" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Denne samling lader til at være tom" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Nøgleringen er låst" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Lås op" + +#: src/seahorse-key-manager-widgets.ui:6 +msgid "Export…" +msgstr "Eksportér …" + +#: src/seahorse-key-manager-widgets.ui:19 +msgid "Properties" +msgstr "Egenskaber" + +#: src/seahorse-key-manager-widgets.ui:23 +msgid "Configure Key for Secure Shell…" +msgstr "Konfigurér nøgle til Secure Shell …" + +#. Lock and unlock items +#: src/sidebar.vala:339 +msgid "_Lock" +msgstr "_Lås" + +#: src/sidebar.vala:344 +msgid "_Unlock" +msgstr "_Lås op" + +#. Properties item +#: src/sidebar.vala:361 +msgid "_Properties" +msgstr "_Egenskaber" + +#: src/sidebar.vala:391 +msgid "Couldn’t lock" +msgstr "Kunne ikke låse" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Secure Shell" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "" +"Nøgler, der bruges til at etablere sikre forbindelser til andre computere" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Er du sikker på, at du vil slette SSH-nøglen “%s”?" + +# ssh = secure shell +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Er du sikker på, at du vil slette %u SSH-nøgle?" +msgstr[1] "Er du sikker på, at du vil slette %u SSH-nøgler?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Hemmelige SSH-nøgler" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Offentlige SSH-nøgler" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH-nøgle" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Der er ingen tilgængelig offentlig nøglefil for denne nøgle." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Kunne ikke indlæse nylig oprettet SSH-nøgle" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Kunne ikke generere SSH-nøgle" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Genererer SSH-nøgle" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bit" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bit" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Ukendt nøgletype!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Ukendt type" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Kunne ikke omdøbe nøgle." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Kunne ikke ændre nøglens godkendelse." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Kunne ikke ændre adgangsfrase for nøglen." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Fejl ved sletning af SSH-nøglen." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Personlig SSH-nøgle" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH-nøgle" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Ulæselig SSH-nøgle)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "SSH-nøgle" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Adgangskode for ekstern vært" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Skriv nøgleadgangsfrase" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Adgangsfrase til ny SSH-nøgle" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Importerer nøgle: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Importerer nøgle. Skriv adgangsfrase" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Skriv din SSH-adgangsfrase:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Adgangsfrase til gammel nøgle" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Skriv den gamle adgangsfrase til: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Ny nøgleadgangsfrase" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Skriv den nye adgangsfrase til: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Skriv den nye adgangsfrase igen: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Ny SSH-nøgle" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"En Secure Shell-nøgle (SSH-nøgle) lader dig forbinde sikkert til andre " +"computere." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Beskrivelse" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Din e-mailadresse, eller en påmindelse om hvad denne nøgle er beregnet til." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Hvis der er en computer, du vil bruge denne nøgle med, kan du sætte den " +"computer op til at genkende din nye nøgle." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "Opret _kun nøgle" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Opret og konfigurér" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Egenskaber for SSH-nøgle" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Navn" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritme" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Nøglelængde" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Placering" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Offentlig nøgle" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Kopiér offentlig nøgle til udklipsholderen" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Ekstern adgang" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Tillader at denne computer kan tilgås fra en ekstern placering" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Eksportér" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Slet SSH-nøgle" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Konfigurér computeren til SSH-forbindelser" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"For at bruge din SSH-nøgle med en anden computer der bruger SSH, skal du " +"allerede have en brugerkonto på den computer." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Serveradresse:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "f.eks.: filserver.eksempel.dk:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Brugernavn:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Konfigurér" + +#: ssh/source.vala:42 +msgid "OpenSSH keys" +msgstr "OpenSSH-nøgler" + +#: ssh/source.vala:47 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:51 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:253 +msgid "No private key file is available for this key." +msgstr "Ingen privat nøglefil er tilgængelig for denne nøgle." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Kunne ikke konfigurere SSH-nøgler på den eksterne computer." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Konfigurerer SSH-nøgler …" + +#~ msgid "Encryption _Type:" +#~ msgstr "Krypterings_type:" + +#~ msgid "" +#~ "Version 3.32 is the first stable release since 3.30, with the following " +#~ "major improvements:" +#~ msgstr "" +#~ "Version 3.32 er den første stabile udgivelse siden 3.30 og indeholder " +#~ "følgende større forbedringer:" + +#~ msgid "A new and contemporary icon" +#~ msgstr "Et nyt tidssvarende ikon" + +#~ msgid "Cleanup of the interface with a headerbar" +#~ msgstr "Oprydning af brugerfladen med en headerlinje" + +#~ msgid "Added an empty state placeholder" +#~ msgstr "Tilføjede en pladsholder til tom tilstand" + +#~ msgid "Passwords filled in in GNOME Web show the website and username" +#~ msgstr "" +#~ "Adgangskoder, som blev udfyldt i GNOME Web, viser webstedet og " +#~ "brugernavnet" + +#~ msgid "User-specific Wi-Fi Passwords are now recognized" +#~ msgstr "Brugerspecifikke wi-fi-adgangskoder genkendes nu" + +#~ msgid "Passwords from Chrome are now more often properly recognized" +#~ msgstr "Adgangskoder fra Chrome genkendes nu oftere korrekt" + +#~ msgid "" +#~ "Application-specific passwords now show the application logo if available" +#~ msgstr "" +#~ "Programspecifikke adgangskoder viser nu programlogoet, hvis det findes" + +#~ msgid "When entering a new password, an indicator shows its strength" +#~ msgstr "Når en ny adgangskode indtastes, så viser en indikator dens styrke" + +#~ msgid "Property dialogs for passwords and keys have undergone a cleanup" +#~ msgstr "Der er ryddet op i egenskabsdialoger til adgangskoder og nøgler" + +#~ msgid "This release also updates translations in several languages." +#~ msgstr "Udgivelsen opdaterer også oversættelser på flere sprog." + +#~ msgid "" +#~ "Version 3.30 is the first stable release since 3.20, with the following " +#~ "major improvements:" +#~ msgstr "" +#~ "Version 3.30 er den første stabile udgivelse siden 3.20 og indeholder " +#~ "følgende større forbedringer:" + +#~ msgid "SSH: Added support for ED25519 and ECDSA keys" +#~ msgstr "SSH: Tilføjet understøttelse af ED25519- og ECDSA-nøgler" + +#~ msgid "SSH: different key length options given the encryption type" +#~ msgstr "" +#~ "SSH: forskellige nøglelængdeindstillinger afhængig af krypteringstypen" + +#~ msgid "GPG: give a hint when a name is too short for a key" +#~ msgstr "GPG: giv et hint når et navn er for kort til en nøgle" + +#~ msgid "GKR: ask for confirmation when changing a password" +#~ msgstr "GKR: spørg om bekræftelse når en adgangskode ændres" + +#~| msgid "Couldn’t change keyring password" +#~ msgid "GKR: fix segfault when changing default keyring password" +#~ msgstr "GKR: ret segfault når adgangskoden til standardnøgleringen ændres" + +#~ msgid "Fixed multi-selection of keys" +#~ msgstr "Rettet valg af flere nøgler" + +#~ msgid "Small tweaks to modernize the UI" +#~ msgstr "Små finjusteringer til modernisering af brugerfladen" + +#~ msgid "Got rid of several deprecated GTK+ widgets" +#~ msgstr "Fjernede flere udgåede GTK+-widgets" + +#~ msgid "Moved to Meson as build system" +#~ msgstr "Flyttet til Meson som byggesystem" + +#~ msgid "Migrated to GitLab and added CI with Flatpak" +#~ msgstr "Overført til GitLab og tilføjet CI med Flatpak" + +#~ msgid "Keyring is unlocked" +#~ msgstr "Nøgleringen er låst op" + +#~ msgid "Lock" +#~ msgstr "Lås" + +#~ msgid "Expiration Date:" +#~ msgstr "Udløbsdato:" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Kunne ikke tilføje undernøgle" + +#~ msgid "Import" +#~ msgstr "Importér" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Kombinér alle nøgleringe" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Full _Name:" +#~ msgstr "Fuldt _navn:" + +#~ msgid "_Email Address:" +#~ msgstr "_E-mailadresse:" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "Programmer lagrer normalt nye adgangskoder i standardnøgleringen." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "" +#~ "Skift adgangskoden, der bruges til at låse nøgleringen til lagring af " +#~ "adgangskoder op" + +#~ msgid "_Show Password" +#~ msgstr "_Vis adgangskode" + +#~ msgid "Marginal" +#~ msgstr "Underordnet" + +#~ msgid "Full" +#~ msgstr "Fuld" + +# "This level of trust should only be assigned to your own keys", står der i dokumentationen, så ultimativ må være en nogenlunde oversættelse +#~ msgid "Ultimate" +#~ msgstr "Ultimativ" + +#~ msgid "Key Properties" +#~ msgstr "Nøgleegenskaber" + +#~ msgid "About" +#~ msgstr "Om" + +#~ msgid "_File" +#~ msgstr "_Fil" + +#~ msgid "_Edit" +#~ msgstr "_Redigér" + +#~ msgid "Delete selected items" +#~ msgstr "Slet markerede elementer" + +#~ msgid "Show the properties of this item" +#~ msgstr "Vis dette elements egenskaber" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Vis denne nøglerings egenskaber" + +#~ msgid "Prefere_nces" +#~ msgstr "_Indstillinger" + +#~ msgid "Change preferences for this program" +#~ msgstr "Ændr indstillinger for dette program" + +#~ msgid "_View" +#~ msgstr "_Vis" + +#~ msgid "About this program" +#~ msgstr "Om dette program" + +#~ msgid "_Contents" +#~ msgstr "_Indhold" + +#~ msgid "Show Seahorse help" +#~ msgstr "Vis Seahorse-hjælp" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Ny adgangskode-nøglering" + +#~ msgid "New password…" +#~ msgstr "Ny adgangskode …" + +#~ msgid "Stored Password" +#~ msgstr "Gemt adgangskode" + +#~ msgid "PGP Key" +#~ msgstr "PGP-nøgle" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Importerer nøgler fra nøgleservere" + +#~ msgid "_Remote" +#~ msgstr "Fjern_systemer" + +#~ msgid "Close this window" +#~ msgstr "Luk dette vindue" + +#~ msgid "Search for keys on a key server" +#~ msgstr "Søg efter nøgler på en nøgleserver" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Importér markerede nøgler til lokal nøglering" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Offentliggør og/eller synkronisér dine nøgler med andre på nettet." + +#~ msgid "Photo " +#~ msgstr "Billede " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Navn:" + +#~ msgid "Email:" +#~ msgstr "E-mail:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Dekryptér filer og e-mail sendt til dig." + +#~ msgid "Private PGP Key" +#~ msgstr "Privat PGP-nøgle" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Kryptér filer og e-mail til nøglens ejer" + +#~ msgid "- System Settings" +#~ msgstr "- Systemindstillinger" + +#~ msgid "Don't display a window" +#~ msgstr "Vis ikke et vindue" + +#~ msgid "_New" +#~ msgstr "_Ny" + +#~ msgid "Close this program" +#~ msgstr "Luk dette program" + +#~ msgid "_New…" +#~ msgstr "_Ny …" + +#~ msgid "_Import…" +#~ msgstr "_Importér …" + +#~ msgid "_Paste" +#~ msgstr "_Indsæt" + +#~ msgid "Import from the clipboard" +#~ msgstr "Importér fra udklipsholderen" + +#~ msgid "By _Keyring" +#~ msgstr "Efter _nøglering" + +#~ msgid "Show sidebar listing keyrings" +#~ msgstr "Vis sidebjælke med nøgleringsoversigt" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Vis kun personlige nøgler, certifikater og adgangskoder" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Vis kun betroede nøgler, certifikater og adgangskoder" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Vis alle nøgler, certifikater og adgangskoder" + +#~ msgid "New item" +#~ msgstr "Nyt element" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Vælg typen af element, du vil oprette:" + +#~ msgid "Continue" +#~ msgstr "Fortsæt" + +#~ msgid "First time options:" +#~ msgstr "Førstegangsindstillinger:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "For at kunne benytte kryptering har du brug for nøgler." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Importér eksisterende nøgler fra en fil:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Generér en ny nøgle til dig selv: " + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Send offentlig SSH-nøgle til en anden maskine og tillad indlogning ved " +#~ "hjælp af den nøgle." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Bruges til at forbinde til andre computere (f.eks. via en terminal)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Navn:" + +# Bedre oversættelse af identifier? +#~ msgid "Identifier:" +#~ msgstr "Kendetegn:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "" +#~ "Ejeren af denne nøgle har _rettigheder til at forbinde til denne computer" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Dette gælder kun for “%s”-kontoen." + +#~ msgid "Key length:" +#~ msgstr "Nøglelængde:" + +#~ msgid "E_xport Complete Key" +#~ msgstr "Eks_portér fuldstændig nøgle" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%d/%m %Y" + +#~ msgid "Name:" +#~ msgstr "Navn:" + +#~ msgid "Keyring" +#~ msgstr "Nøglering" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Søgetjenesten er endnu ikke indlæst" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "SSH-kommandoen blev uventet afbrudt." + +#~ msgid "The SSH command failed." +#~ msgstr "SSH-kommandoen slog fejl." + +#~ msgid "E_xport..." +#~ msgstr "E_ksportér …" + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Find fjerne nøgler …" + +#~ msgid "Synchronizing keys..." +#~ msgstr "Synkroniserer nøgler …" + +#~ msgid "_New..." +#~ msgstr "_Ny …" + +#~ msgid "_Import..." +#~ msgstr "_Importér …" + +#~ msgid "Ssh Key" +#~ msgstr "Ssh-nøgle" + +#~ msgid "Updating password" +#~ msgstr "Opdaterer adgangskode" + +#~ msgid "_Computer Name:" +#~ msgstr "_Computernavn:" + +#~ msgid "Password:" +#~ msgstr "Adgangskode:" + +#~ msgid "Key Servers:" +#~ msgstr "Nøgleservere:" + +#~ msgid "Never" +#~ msgstr "Aldrig" + +#~ msgid "Key ID:" +#~ msgstr "Nøgle-ID:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Navn:" + +#~ msgid "Comment:" +#~ msgstr "Kommentar:" + +#~ msgid "Use:" +#~ msgstr "Brug:" + +#~ msgid "Type:" +#~ msgstr "Type:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "Nøglenavne og underskrifter" + +#~ msgid "Dates" +#~ msgstr "Datoer" + +#~ msgid "Actions" +#~ msgstr "Handlinger" + +#~ msgid "Dates:" +#~ msgstr "Datoer:" + +#~ msgid "Key Name" +#~ msgstr "Nøglenavn" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Navn:" + +# Verbum eller substantiv? +#~ msgid "Trust" +#~ msgstr "Tillid" + +#~ msgid "Strength:" +#~ msgstr "Styrke:" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "Adgang til nøgleringen blev nægtet" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "Dæmonen gnome-keyring kører ikke" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "Nøgleringen er allerede blevet låst op" + +#~ msgid "No such key ring exists" +#~ msgstr "Ingen sådan nøglering findes" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "Kunne ikke kommunikere med nøgleringsdæmon" + +#~ msgid "The item already exists" +#~ msgstr "Objektet findes allerede" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "Intern fejl i adgang til gnome-keyring" + +#~ msgid "Algorithms here" +#~ msgstr "Algoritmer her" + +#~ msgid "Deleting item" +#~ msgid_plural "Deleting items" +#~ msgstr[0] "Sletter element" +#~ msgstr[1] "Sletter elementer" + +#~ msgid "Passwords: %s" +#~ msgstr "Adgangskoder: %s" + +#~ msgid "Passwords: %s" +#~ msgstr "Adgangskoder: %s" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "Lås nøgleringen til lagring af adgangskoder, således at en " +#~ "hovedadgangskode kræves for at låse den op." + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "" +#~ "Lås nøgleringen til lagring af adgangskoder op med en hovedadgangskode, " +#~ "således at den er klar til brug." + +#~ msgid "Couldn't delete keyring" +#~ msgstr "Kunne ikke slette nøglering" + +#~ msgid "Archive files" +#~ msgstr "Arkivfiler" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "En fil med dette navn findes allerede.\n" +#~ "\n" +#~ "Vil du erstatte den med en ny fil?" + +#~ msgid "_Replace" +#~ msgstr "_Erstat" + +#~ msgid "_Sign Key..." +#~ msgstr "_Underskriv nøgle …" + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "" +#~ "Er du sikker på at du vil slette %d nøgler og identiteter permanent?" + +#~ msgid "Couldn't delete public key" +#~ msgstr "Kunne ikke slette offentlig nøgle" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "Kunne ikke eksportere nøgle til “%s”" + +#~ msgid "Export Complete Key" +#~ msgstr "Eksportér fuldstændig nøgle" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "Er du sikker på at du vil slette certifikatet “%s”?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "Er du sikker på at du vil slette %d certifikat?" +#~ msgstr[1] "Er du sikker på at du vil slette %d certifikater?" + +#~ msgid "Deleting" +#~ msgstr "Sletter" + +#~ msgid "Create New ..." +#~ msgstr "Opret ny …" + +#~ msgid "Selected %d key" +#~ msgid_plural "Selected %d keys" +#~ msgstr[0] "Markerede %d nøgle" +#~ msgstr[1] "Markerede %d nøgler" + +#~ msgid "Importing keys" +#~ msgstr "Importerer nøgler" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "Ukendt nøgletype eller ugyldigt dataformat" + +#~ msgid "Importing Keys" +#~ msgstr "Importerer nøgler" + +#~ msgid "T_ypes" +#~ msgstr "T_yper" + +#~ msgid "_Expiry" +#~ msgstr "_Udløb" + +# verb. vs. subst. +#~ msgid "_Trust" +#~ msgstr "_Tillid" + +#~ msgid "_Validity" +#~ msgstr "_Gyldighed" + +#~ msgid "Other _Keys" +#~ msgstr "Andre _nøgler" + +#~ msgid "Validity" +#~ msgstr "Gyldighed" + +#~ msgid "_Expand All" +#~ msgstr "_Udfold alle" + +# Gad vide hvad dette refererer til. +#~ msgid "Expand all listings" +#~ msgstr "Udfold alle kataloger" + +#~ msgid "_Collapse All" +#~ msgstr "_Sammenfold alle" + +#~ msgid "Collapse all listings" +#~ msgstr "Sammenfold alle kataloger" + +#~ msgid "Exporting keys" +#~ msgstr "Eksporterer nøgler" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "Kunne ikke hente data fra nøgleserveren" + +#~ msgid "Retrieving keys" +#~ msgstr "Henter nøgler" + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s er en privat nøgle. Er du sikker på at du vil fortsætte?" + +#~ msgid "Couldn't delete key" +#~ msgstr "Kunne ikke slette nøgle" + +#~ msgid "_Key Description:" +#~ msgstr "_Nøglebeskrivelse:" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "Kør ikke seahorse-daemon som dæmon" + +#~ msgid "couldn't fork process" +#~ msgstr "kunne ikke forgrene proces" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "Krypteringdæmon (Seahorse)" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "Ugyldig eller ukendt nøgletype: %s" + +#~ msgid "This keytype is not supported: %s" +#~ msgstr "Denne nøgletype understøttes ikke: %s" + +#~ msgid "Support for this feature was not enabled at build time" +#~ msgstr "" +#~ "Understøttelse for denne funktionalitet blev ikke aktiveret under " +#~ "kompilering" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "Ugyldig eller ukendt nøgle: %s" + +# Mærkelige tags +#~ msgid "Signed by expired on %s." +#~ msgstr "Underskrevet af udløbet den %s." + +#~ msgid "Invalid Signature" +#~ msgstr "Ugyldig underskrift" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "Underskrevet af den %s Udløbet." + +#~ msgid "Expired Signature" +#~ msgstr "Udløbet underskrift" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "Underskrevet af Tilbagekaldt den %s." + +# Enten en ugyldiggjort underskrift eller også har de ugyldiggjort en underskrift. Oversættelsen kan forstås på begge måder så det skulle være ok +#~ msgid "Revoked Signature" +#~ msgstr "Underskrift tilbagekaldt" + +#~ msgid "Signed by on %s." +#~ msgstr "Underskrevet af den %s." + +#~ msgid "Good Signature" +#~ msgstr "Gyldig underskrift" + +#~ msgid "Signing key not in keyring." +#~ msgstr "Underskriver nøgle der ikke er i nøgleringen." + +#~ msgid "Unknown Signature" +#~ msgstr "Ukendt underskrift" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "" +#~ "Ugyldig eller forfalsket underskrift. De underskrevne data er blevet " +#~ "modificeret." + +#~ msgid "Bad Signature" +#~ msgstr "Ugyldig underskrift" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "Ugyldig eller ukendt underskriver: %s" + +# Det er sprogligt uklart hvorvidt nøglen underskrives, eller hvorvidt den bruges til at underskrive *med*, derfor benyttes en formulering der kan betyde begge dele +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "Nøglen er ikke gyldig til underskrift: %s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "Ugyldig eller ukendt modtager: %s" + +# Hvad betyder dette? +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "Nøglen er ikke en gyldig modtager for kryptering: %s" + +#~ msgid "No recipients specified" +#~ msgstr "Ingen modtagere angivet" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "Ugyldig nøgletype til dekryptering: %s" + +#~ msgid "Please set clearuri" +#~ msgstr "Indstil venligst clearuri" + +#~ msgid "Please set crypturi" +#~ msgstr "Indstil venligst crypturi" + +#~ msgid "Error opening clearuri" +#~ msgstr "Fejl ved åbning af clearuri" + +#~ msgid "No signer specified" +#~ msgstr "Ingen underskriver angivet" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "Ugyldig nøgletype til verificering: %s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "Ugyldig nøgle-ID: %s" + +# "Display name" er tydeligvis et navn som URI'en tilknyttes for at den skal være lettere at huske; andre forslag til oversættelse er velkomne +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "En liste af nøgleserver-URI'er hvorpå der søges efter fjerne PGP-nøgler. " +#~ "I nyere versioner kan et navn inkluderes ved at efterstille et mellemrum " +#~ "og derpå navnet." + +#~ msgid "Auto Sync Keys" +#~ msgstr "Synkronisér nøgler automatisk" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "Bestemmer synligheden af nøglehåndteringens udløbstidskolonne." + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "Bestemmer synligheden af nøglehåndteringens troværdighedskolonne." + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "Bestemmer synligheden af nøglehåndteringens typekolonne." + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "Bestemmer synligheden af nøglehåndteringens gyldighedskolonne." + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "Aktiver DNS-SD deling" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "Aktiverer DNS-SD (Apple Bonjour) deling af nøgler. seahorse-daemon skal " +#~ "køre og skal være kompileret med HKP- og DNS-SD-understøttelse." + +#~ msgid "ID of the default key" +#~ msgstr "ID for standardnøglen" + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "" +#~ "Hvis denne sættes til “true”, vil seahorse ASCII-pansre krypterede filer." + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "" +#~ "Hvis denne sættes til “true”, vil standardnøglen altid blive føjet til " +#~ "modtagerlisten ved kryptering." + +#~ msgid "Last key used to sign a message." +#~ msgstr "Sidst benyttede nøgle til underskrift af meddelelse." + +#~ msgid "PGP Key servers" +#~ msgstr "PGP-nøgleservere" + +#~ msgid "Show expires column in key manager" +#~ msgstr "Vis udløbstidskolonne i nøglehåndtering" + +#~ msgid "Show trust column in key manager" +#~ msgstr "Vis tillidskolonnen i nøglehåndtering" + +#~ msgid "Show type column in key manager" +#~ msgstr "Vis typekolonne i nøglehåndtering" + +#~ msgid "Show validity column in key manager" +#~ msgstr "Vis gyldighedskolonne i nøglehåndtering" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "Angiv kolonnen hvormed modtagervinduet sorteres. Kolonnerne er: “name” og " +#~ "“id”. Skriv “-” foran kolonnenavnet for at sortere i aftagende rækkefølge." + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "" +#~ "ID for den sidste hemmelige nøgle der blev benyttet til at underskrive en " +#~ "meddelelse." + +#~ msgid "The column to sort the recipients by" +#~ msgstr "Kolonnen hvormed modtagere sorteres" + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "" +#~ "Specificerer standardnøglen der benyttes ved visse operationer, " +#~ "hovedsageligt underskrift." + +# Hvad betyder det at kryptere "til" en nøgle? +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "Hvorvidt der altid krypteres til standardnøgle" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "Hvorvidt der benyttes ASCII-pansring" + +#~ msgid "Couldn't set application access." +#~ msgstr "Kunne ikke indstille programadgang." + +#~ msgid "Path:" +#~ msgstr "Sti:" + +#~ msgid "Permissions:" +#~ msgstr "Rettigheder:" + +#~ msgid "_Read" +#~ msgstr "_Læse" + +#~ msgid "_Write" +#~ msgstr "_Skrive" + +#~ msgctxt "infinitive" +#~ msgid "_Delete" +#~ msgstr "_Slette" + +#~ msgid "Saving item..." +#~ msgstr "Gemmer objekt …" + +#~ msgid "Listing password keyrings" +#~ msgstr "Viser adgangskodenøgleringe" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "Der blev ikke fundet nogen krypteringsnøgler til at udføre den " +#~ "forespurgte operation. Programmet Adgangskoder og krypteringsnøgler vil nu blive startet, så du enten kan oprette eller importere en nøgle." + +#~ msgid "All Keys" +#~ msgstr "Alle nøgler" + +#~ msgid "Selected Recipients" +#~ msgstr "Markerede modtagere" + +#~ msgid "Search Results" +#~ msgstr "Søgeresultater" + +#~ msgid "Search _for:" +#~ msgstr "_Søg efter:" + +#~ msgid "None (Don't Sign)" +#~ msgstr "Ingen (underskriv ikke)" + +#~ msgid "Sign this message as %s" +#~ msgstr "Underskriv meddelelse som %s" + +#~ msgid "_Sign message as:" +#~ msgstr "_Underskriv meddelelse som:" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "Filen er ikke en gyldig .desktop-fil" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "Ukendt version af skrivebordsfil “%s”" + +#~ msgid "Starting %s" +#~ msgstr "Starter %s" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "Programmet accepterer ikke dokumenter på kommandolinjen" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "Ukendt opstartstilvalg: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "Kan ikke give dokument-URI'er til en “Type=Link”-skrivebordspost" + +#~ msgid "Not a launchable item" +#~ msgstr "Ikke et kørbart element" + +#~ msgid "Disable connection to session manager" +#~ msgstr "Deaktivér forbindelse til sessionshåndtering" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "Angiv fil indeholdende gemt konfiguration" + +#~ msgid "FILE" +#~ msgstr "FILE" + +#~ msgid "Specify session management ID" +#~ msgstr "Angiv ID for sessionshåndtering" + +#~ msgid "Session management options:" +#~ msgstr "Indstillinger for sessionshåndtering:" + +#~ msgid "Show session management options" +#~ msgstr "Vis indstillinger for sessionshåndtering" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "Importerede %i nøgle" +#~ msgstr[1] "Importerede %i nøgler" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "Importerede en nøgle for" +#~ msgstr[1] "Importerede nøgler for" + +#~ msgid "Notification Messages" +#~ msgstr "Påmindelser" + +#~ msgid "Symmetric Key" +#~ msgstr "Symmetrisk nøgle" + +#~ msgid "Credentials" +#~ msgstr "Akkreditiver" + +#~ msgid "Identity" +#~ msgstr "Identitet" + +# Hvad er dette? +#~ msgid "Progress Title" +#~ msgstr "Forløbstitel" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "Kunne ikke køre Filpakker" + +# Package er flertydig +#~ msgid "Couldn't package files" +#~ msgstr "Kunne ikke pakke filer" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "Filpakker-processen gennemførte ikke sin opgave" + +#~ msgid "Loading Keys..." +#~ msgstr "Indlæser nøgler …" + +#~ msgid "Uploading keys..." +#~ msgstr "Lægger nøgler op …" + +#~ msgid "Retrieving keys..." +#~ msgstr "Henter nøgler …" + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "Søger efter nøgler der indeholder “%s” …" + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "Søger efter nøgle-ID “%s” …" + +#~ msgid "Retrieving remote keys..." +#~ msgstr "Henter fjerne nøgler …" + +#~ msgid "Sending keys to key server..." +#~ msgstr "Sender nøgler til nøgleserver …" + +#~ msgid "Invalid" +#~ msgstr "Ugyldig" + +#~ msgid "Private Secure Shell Key" +#~ msgstr "Privat SSH-nøgle" + +#~ msgid "Public Secure Shell Key" +#~ msgstr "Offentlig SSH-nøgle" + +#~ msgid "Passphrase:" +#~ msgstr "Adgangsfrase:" + +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "Skriv en adgangsfrase til din nye SSH-nøgle." + +#~ msgid "Couldn't share keys" +#~ msgstr "Kunne ikke dele nøgler" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "Kan ikke offentliggøre information om opdagelse på netværket." + +# Dette kan gå galt hvis brugernavnet ender med s. +#~ msgid "%s's encryption keys" +#~ msgstr "%ss krypteringsnøgler" + +#~ msgid "Key Sharing" +#~ msgstr "Nøgledeling" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "Deling af dine nøgler tillader andre mennesker på dit netværk at bruge de " +#~ "nøgler du har samlet. Dette betyder at de automatisk kan kryptere ting " +#~ "for dig eller dine bekendte, uden at du behøver sende dem din nøgle.\n" +#~ "\n" +#~ "Bemærk: Dine personlige nøgler bliver ikke kompromitteret." + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "_Del mine nøgler med andre på mit netværk" + +#~ msgid "Seahorse Daemon" +#~ msgstr "Seahorse-dæmon" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "X nøgler markeret til synkronisering" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/thorkild/.ssh/blah_rsa" + +# Nu må de tage sig sammen +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" + +#~ msgid "Create a PGP Key" +#~ msgstr "Opret en PGP-nøgle" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginal\n" +#~ "Full\n" +#~ "Ultimate" +#~ msgstr "" +#~ "Ukendt\n" +#~ "Aldrig\n" +#~ "Underordnet\n" +#~ "Fuld\n" +#~ "Ultimativ" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginally\n" +#~ "Fully\n" +#~ "Ultimately" +#~ msgstr "" +#~ "Ukendt\n" +#~ "Aldrig\n" +#~ "Underordnet\n" +#~ "Fuldt\n" +#~ "Ultimativt" + +#~ msgid "Other _Collected Keys" +#~ msgstr "Andre _indsamlede nøgler" + +#~ msgid "_Trusted Keys" +#~ msgstr "_Betroede nøgler" + +#~ msgid "" +#~ "One or more of the deleted keys are private keys. Are you sure you want " +#~ "to proceed?" +#~ msgstr "" +#~ "En eller flere af de slettede nøgler er private. Er du sikker på at du " +#~ "vil fortsætte?" + +#~ msgid "Removing item" +#~ msgstr "Fjerner objekt" + +#~ msgid "Couldn't remove keyring" +#~ msgstr "Kunne ikke fjerne nøglering" + +#~ msgid "Are you sure you want to permanently delete the '%s' keyring?" +#~ msgstr "Er du sikker på at du vil slette “%s”-nøgleringen permanent?" + +#~ msgid "Default Keyring" +#~ msgstr "Standardnøglering" + +#~ msgid "_Add Keyring" +#~ msgstr "_Tilføj nøglering" + +#~ msgid "_Remove Keyring" +#~ msgstr "_Fjern nøglering" + +#~ msgid "Unknown Key: %s" +#~ msgstr "Ukendt nøgle: %s" + +#~ msgid "Unavailable Key" +#~ msgstr "Utilgængelig nøgle" + +#~ msgid "X509 Certificate" +#~ msgstr "X509-certifikat" + +#~ msgid "Loading..." +#~ msgstr "Indlæser …" + +#~ msgid "Invalid or unrecognized object." +#~ msgstr "Ugyldigt eller ukendt objekt." + +#~ msgid "Exporting is not yet supported." +#~ msgstr "Eksport understøttes endnu ikke." + +#~ msgid "Expiry for Subkey %d of %s" +#~ msgstr "Udløb af undernøgle %d af %s" + +#~ msgid "Import keys into your key ring from a file" +#~ msgstr "Importér nøgler til din nøglering fra en fil" + +#~ msgid "_Close" +#~ msgstr "_Luk" + +#~ msgid "_Key" +#~ msgstr "_Nøgler" + +#~ msgid "E_xport Public Key..." +#~ msgstr "Eks_portér offentlig nøgle …" + +#~ msgid "_Copy Public Key" +#~ msgstr "_Kopiér offentlig nøgle" + +#~ msgid "Unparseable Key ID" +#~ msgstr "Nøgle-ID kan ikke fortolkes" + +#~ msgid "Unknown/Invalid Key" +#~ msgstr "Ukendt/ugyldig nøgle" + +#~ msgid "PGP Key: %s" +#~ msgstr "PGP-nøgle: %s" + +#~ msgid "Cache _Preferences" +#~ msgstr "Cache_indstillinger" + +#~ msgid "Cached Encryption Keys" +#~ msgstr "Krypteringsnøgler i cache" + +#~ msgid "_Clear Cache" +#~ msgstr "_Ryd cache" + +#~ msgid "_Show Window" +#~ msgstr "_Vis vindue" + +#~ msgid "Do not daemonize seahorse-agent" +#~ msgstr "Gør ikke seahorse-agent til dæmon" + +# Dette ved jeg slet ikke hvad betyder +#~ msgid "Print variables in for a C type shell" +#~ msgstr "Udskriv variable til C-lignende skal" + +#~ msgid "Display environment variables (the default)" +#~ msgstr "Vis miljøvariable (forvalg)" + +# Flertydig +#~ msgid "Allow GPG agent request from any display" +#~ msgstr "Tillad GPG-agentforespørgsel fra enhver skærm" + +#~ msgid "command..." +#~ msgstr "kommando …" + +#~ msgid "Encryption Key Agent (Seahorse)" +#~ msgstr "Krypteringsnøgle-agent (Seahorse)" + +#~ msgid "no command specified to execute" +#~ msgstr "ingen kommando specificeret til eksekvering" + +#~ msgid "_Authorize" +#~ msgstr "_Autorisér" + +#~ msgid "" +#~ "After performing an decrypt or verify operation from the applet, display " +#~ "the resulting text in a window." +#~ msgstr "" +#~ "Vis den resulterende tekst i et vindue efter dekrypterings- eller " +#~ "verificeringsoperation i panelprogrammet." + +#~ msgid "" +#~ "After performing an encrypt or signing operation from the applet, display " +#~ "the resulting text in a window." +#~ msgstr "" +#~ "Vis den resulterende tekst i et vindue efter krypterings- eller " +#~ "underskrivelsesoperation i panelprogrammet." + +#~ msgid "Display cache reminder in the notification area" +#~ msgstr "Vis cachepåmindelse i statusfeltet" + +#~ msgid "" +#~ "Set to 'true' to enable display of the cache reminder in the notification " +#~ "area of your panel." +#~ msgstr "" +#~ "Sæt til “true” for at aktivere visning af cachepåmindelser i panelets " +#~ "statusfelt." + +#~ msgid "None. Prompt for a key." +#~ msgstr "Ingen. Spørg om en nøgle." + +#~ msgid "Default Key" +#~ msgstr "Standardnøgle" + +#~ msgid "This key is used to sign messages when no other key is chosen" +#~ msgstr "" +#~ "Denne nøgle bruges til at underskrive meddelelser når ingen anden " +#~ "nøgle er udvalgt" + +#~ msgid "Encryption" +#~ msgstr "Kryptering" + +#~ msgid "When _encrypting, always include myself as a recipient" +#~ msgstr "Inkludér altid mig selv som modtager under _kryptering" + +#~ msgid "_Default key:" +#~ msgstr "_Standardnøgle:" + +#~ msgid "Couldn't set permissions on backup file." +#~ msgstr "Kunne ikke ændre rettigheder for backupfilen." + +#~ msgid "Seahorse Applet Factory" +#~ msgstr "Seahorse panelprogramsfabrik" + +#~ msgid "seahorse-applet" +#~ msgstr "seahorse-panelprogram" + +#~ msgid "Choose Recipient Keys" +#~ msgstr "Vælg modtagernøgler" + +#~ msgid "Encrypted Text" +#~ msgstr "Krypteret tekst" + +#~ msgid "Encryption Failed" +#~ msgstr "Kryptering mislykkedes" + +#~ msgid "Choose Key to Sign with" +#~ msgstr "Vælg nøglen hvormed der underskrives" + +#~ msgid "Signed Text" +#~ msgstr "Underskrevet tekst" + +#~ msgid "Signing Failed" +#~ msgstr "Underskrift mislykkedes" + +#~ msgid "Keys were found but not imported." +#~ msgstr "Nøgler blev fundet men ikke importeret." + +#~ msgid "Decrypting Failed" +#~ msgstr "Dekryptering fejlede" + +#~ msgid "Text may be malformed." +#~ msgstr "Tekst kan være misdannet." + +#~ msgid "No PGP data found." +#~ msgstr "Ingen PGP-data fundet." + +# Er det datid af "at dekryptere", eller markerer det en tekst som er blevet dekrypteret? +#~ msgid "Decrypted Text" +#~ msgstr "Dekrypteret tekst" + +#~ msgid "Could not display the help file" +#~ msgstr "Kunne ikke vise hjælpefilen" + +#~ msgid "Encryption Applet" +#~ msgstr "Krypteringspanelprogram" + +#~ msgid "_Decrypt/Verify" +#~ msgstr "_Dekryptér/verificér" + +#~ msgid "_Import Key" +#~ msgstr "_Importér nøgle" + +#~ msgid "Couldn't connect to seahorse-daemon" +#~ msgstr "Kunne ikke forbinde til seahorse-daemon" + +#~ msgid "Encrypted text" +#~ msgstr "Krypteret tekst" + +#~ msgid "Couldn't encrypt text" +#~ msgstr "Kunne ikke kryptere tekst" + +#~ msgid "Keys found but not imported" +#~ msgstr "Nøgler fundet men ikke importeret" + +#~ msgid "Couldn't decrypt text" +#~ msgstr "Kunne ikke dekryptere tekst" + +#~ msgid "Couldn't verify text" +#~ msgstr "Kunne ikke verificere tekst" + +#~ msgid "No encrypted or signed text is selected." +#~ msgstr "Ingen krypteret eller underskrevet tekst er markeret." + +#~ msgid "Verified text" +#~ msgstr "Verificeret tekst" + +#~ msgid "Imported %d key" +#~ msgid_plural "Imported %d keys" +#~ msgstr[0] "Importerede %d nøgle" +#~ msgstr[1] "Importerede %d nøgler" + +#~ msgid "Signed text" +#~ msgstr "Underskrevet tekst" + +#~ msgid "Couldn't sign text" +#~ msgstr "Kunne ikke underskrive tekst" + +#~ msgid "_Encrypt..." +#~ msgstr "_Kryptér …" + +#~ msgid "Encrypt the selected text" +#~ msgstr "Kryptér den markerede tekst" + +#~ msgid "Decr_ypt/Verify" +#~ msgstr "Dekr_yptér/verificér" + +#~ msgid "Decrypt and/or Verify text" +#~ msgstr "Dekryptér og/eller verificér tekst" + +#~ msgid "Sig_n..." +#~ msgstr "_Underskriv …" + +#~ msgid "Sign the selected text" +#~ msgstr "Underskriv den markerede tekst" + +#~ msgid "Enable the seahorse encryption plugin for gedit." +#~ msgstr "Aktiver seahorse-krypteringsmodulet til gedit." + +#~ msgid "Enable the seahorse gedit plugin" +#~ msgstr "Aktiver seahorse-modulet til gedit" + +#~ msgid "Text Encryption" +#~ msgstr "Tekstkryptering" + +#~ msgid "This plugin performs encryption operations on text." +#~ msgstr "Dette modul udfører krypteringsoperationer på tekst." + +#~ msgid "Encrypt..." +#~ msgstr "Kryptér …" + +#~ msgid "Encrypt (and optionally sign) the selected file" +#~ msgid_plural "Encrypt the selected files" +#~ msgstr[0] "Kryptér (og eventuelt underskriv) den markerede fil" +#~ msgstr[1] "Kryptér de markerede filer" + +#~ msgid "Sign the selected file" +#~ msgid_plural "Sign the selected files" +#~ msgstr[0] "Underskriv den valgte fil" +#~ msgstr[1] "Underskriv de valgte filer" + +#~ msgid "For internal use" +#~ msgstr "Til intern benyttelse" + +#~ msgid "Encryption Preferences" +#~ msgstr "Krypteringsindstillinger" + +#~ msgid "Configure key servers and other encryption settings" +#~ msgstr "Konfigurér nøgleservere og andre krypteringsindstillinger" + +#~ msgid "Encryption and Keyrings" +#~ msgstr "Kryptering og nøgleringe" + +#~ msgid "Encrypt file" +#~ msgstr "Kryptér fil" + +#~ msgid "Sign file with default key" +#~ msgstr "Underskriv fil med standardnøgle" + +#~ msgid "Encrypt and sign file with default key" +#~ msgstr "Kryptér og underskriv fil med standardnøgle" + +#~ msgid "Decrypt encrypted file" +#~ msgstr "Dekryptér krypteret fil" + +#~ msgid "Verify signature file" +#~ msgstr "Verificér underskriftsfil" + +#~ msgid "Read list of URIs on standard in" +#~ msgstr "Indlæs liste af URI'er fra standard inddata" + +#~ msgid "file..." +#~ msgstr "fil …" + +#~ msgid "Choose Recipients" +#~ msgstr "Vælg modtagere" + +#~ msgid "Choose Encrypted File Name for '%s'" +#~ msgstr "Vælg krypteret filnavn for “%s”" + +#~ msgid "Choose Signature File Name for '%s'" +#~ msgstr "Vælg underskriftsfilnavn for “%s”" + +#~ msgid "Import is complete" +#~ msgstr "Import fuldført" + +#~ msgid "Importing keys ..." +#~ msgstr "Importerer nøgler …" + +#~ msgid "Choose Decrypted File Name for '%s'" +#~ msgstr "Vælg dekrypteret filnavn for “%s”" + +#~ msgid "Choose Original File for '%s'" +#~ msgstr "Vælg original fil for “%s”" + +#~ msgid "No valid signatures found" +#~ msgstr "Ingen gyldige signaturer fundet" + +#~ msgid "File Encryption Tool" +#~ msgstr "Filkrypteringsværktøj" + +#~ msgid "Encrypting" +#~ msgstr "Krypterer" + +#~ msgid "Couldn't encrypt file: %s" +#~ msgstr "Kunne ikke kryptere fil: %s" + +#~ msgid "Signing" +#~ msgstr "Underskriver" + +#~ msgid "Couldn't sign file: %s" +#~ msgstr "Kunne ikke underskrive fil: %s" + +#~ msgid "Couldn't import keys from file: %s" +#~ msgstr "Kunne ikke importere nøgler fra filen: %s" + +#~ msgid "Decrypting" +#~ msgstr "Dekrypterer" + +#~ msgid "Couldn't decrypt file: %s" +#~ msgstr "Kunne ikke dekryptere filen: %s" + +#~ msgid "Verifying" +#~ msgstr "Verificerer" + +#~ msgid "Couldn't verify file: %s" +#~ msgstr "Kunne ikke verificere fil: %s" + +#~ msgid "Ace (.ace)" +#~ msgstr "Ace (.ace)" + +#~ msgid "Ar (.ar)" +#~ msgstr "Ar (.ar)" + +#~ msgid "Arj (.arj)" +#~ msgstr "Arj (.arj)" + +#~ msgid "Ear (.ear)" +#~ msgstr "Ear (.ear)" + +#~ msgid "Self-extracting zip (.exe)" +#~ msgstr "Selvudpakkende zip (.exe)" + +#~ msgid "Jar (.jar)" +#~ msgstr "Jar (.jar)" + +#~ msgid "Lha (.lzh)" +#~ msgstr "Lha (.lzh)" + +#~ msgid "Rar (.rar)" +#~ msgstr "Rar (.rar)" + +#~ msgid "Tar uncompressed (.tar)" +#~ msgstr "Ukomprimeret Tar (.tar)" + +#~ msgid "Tar compressed with bzip (.tar.bz)" +#~ msgstr "bzip-komprimeret Tar (.tar.bz)" + +#~ msgid "Tar compressed with bzip2 (.tar.bz2)" +#~ msgstr "bzip2-komprimeret Tar (.tar.bz2)" + +#~ msgid "Tar compressed with gzip (.tar.gz)" +#~ msgstr "gzip-komprimeret Tar (.tar.gz)" + +#~ msgid "Tar compressed with lzop (.tar.lzo)" +#~ msgstr "lzop-komprimeret Tar (.tar.lzo)" + +#~ msgid "Tar compressed with compress (.tar.Z)" +#~ msgstr "compress-komprimeret Tar (.tar.Z)" + +#~ msgid "War (.war)" +#~ msgstr "War (.war)" + +#~ msgid "Zip (.zip)" +#~ msgstr "Zip (.zip)" + +#~ msgid "Zoo (.zoo)" +#~ msgstr "Zoo (.zoo)" + +#~ msgid "7-Zip (.7z)" +#~ msgstr "7-Zip (.7z)" + +#~ msgid "You have selected %d file " +#~ msgid_plural "You have selected %d files " +#~ msgstr[0] "Du har markeret %d fil " +#~ msgstr[1] "Du har markeret %d filer " + +#~ msgid "%s%s" +#~ msgstr "%s%s" + +#~ msgid "You have selected %d files" +#~ msgstr "Du har markeret %d filer" + +#~ msgid "You have selected %d folder" +#~ msgid_plural "You have selected %d folders" +#~ msgstr[0] "Du har markeret %d mappe" +#~ msgstr[1] "Du har markeret %d mapper" + +#~ msgid "Couldn't list files" +#~ msgstr "Kunne ikke vise filliste" + +#~ msgid "Couldn't read file" +#~ msgstr "Kunne ikke læse fil" + +#~ msgid "Back up Key Rings to Archive" +#~ msgstr "Gem sikkerhedskopier af nøgleringe i et arkiv" + +#~ msgid "_Back up Key Rings..." +#~ msgstr "Lav _sikkerhedskopi af nøgleringe …" + +#~ msgid "Back up all keys" +#~ msgstr "Lav sikkerhedskopi af alle nøgler" + +#~ msgid "Set Up Computer for _Secure Shell..." +#~ msgstr "Konfigurér computer til _SSH …" + +#~ msgid "User ID" +#~ msgstr "Bruger-ID" + +#~ msgid "Couldn't retrieve key data" +#~ msgstr "Kunne ikke hente nøgledata" + +#~ msgid "Couldn't write key to file" +#~ msgstr "Kunne ikke skrive nøgle til fil" + +#~ msgid "Couldn't import keys into key ring" +#~ msgstr "Kunne ikke importere nøgler til nøglering" + +#~ msgid "Couldn't write keys to file: %s" +#~ msgstr "Kunne ikke skrive nøgler til filen: %s" + +#~ msgid "Save Remote Keys" +#~ msgstr "Gem fjerne nøgler" + +#~ msgid "No matching keys found" +#~ msgstr "Ingen passende nøgler fundet" + +#~ msgid "Save Key As..." +#~ msgstr "Gem nøgle som …" + +#~ msgid "Save selected keys as a file" +#~ msgstr "Gem markerede nøgler som en fil" + +#~ msgid "Remote Encryption Keys" +#~ msgstr "Fjerne krypteringsnøgler" + +#~ msgid "You have selected multiple files or folders" +#~ msgstr "Du har valgt adskillige filer eller mapper" + +#~ msgid "" +#~ "Because the files are located remotely, each file will be encrypted " +#~ "separately." +#~ msgstr "Da filerne opbevares fjernt, vil hver fil blive krypteret separat." + +#~ msgid "Encrypt Multiple Files" +#~ msgstr "Kryptér adskillige filer" + +#~ msgid "Encrypt each file separately" +#~ msgstr "Kryptér hver fil separat" + +#~ msgid "Encrypt packed together in a package" +#~ msgstr "Kryptér komprimeret i en pakke" + +#~ msgid "Package Name:" +#~ msgstr "Pakkenavn:" + +# Gad vide hvad dette er +#~ msgid "Packaging:" +#~ msgstr "Pakketype:" + +#~ msgid "encrypted-package" +#~ msgstr "krypteret-pakke" + +#~ msgid "Decrypt File" +#~ msgstr "Dekryptér en fil" + +#~ msgid "I have checked that this key belongs to '%s'" +#~ msgstr "Jeg har kontrolleret at denne nøgle tilhører “%s”" + +#~ msgid "Verify Signature" +#~ msgstr "Verificér signatur" + +#~ msgid "couldn't read gpg configuration, will try to create" +#~ msgstr "kunne ikke læse gpg-indstillingerne - vil forsøge nyoprettelse" + +#~ msgid "couldn't modify gpg configuration: %s" +#~ msgstr "kunne ikke ændre gpg-indstilling: %s" + +#~ msgid "" +#~ "Display variables instead of editing conf files (gpg.conf, SSH agent " +#~ "socket)" +#~ msgstr "" +#~ "Vis variable i stedet for at redigere conf-filer (gpg.conf, sokkel til " +#~ "SSH-agent)" + +#~ msgid "couldn't drop privileges properly" +#~ msgstr "kunne ikke opgive rettighederne korrekt" + +#~ msgid "" +#~ "When set seahorse-agent will try to automatically load the users SSH keys " +#~ "when needed. This is equivalent to using the ssh-add utility." +#~ msgstr "" +#~ "Når denne er indstillet til det, vil seahorse-agent automatisk forsøge at " +#~ "hente brugerens SSH-nøgler når det er nødvendigt. Dette er ækvivalent med " +#~ "at bruge ssh-add værktøjet." + +#~ msgid "Whether to automatically load SSH keys on demand." +#~ msgstr "Hvorvidt SSH-nøgler automatisk indlæses når der er brug for dem." + +#~ msgid "Couldn't open the Session Properties" +#~ msgstr "Kunne ikke åbne sessionindstillingerne" + +#~ msgid "Couldn't start the 'seahorse-agent' program" +#~ msgstr "Kunne ikke starte programmet “seahorse-agent”" + +#~ msgid "The 'seahorse-agent' program exited unsuccessfully." +#~ msgstr "" +#~ "Programmet “seahorse-agent” blev afsluttet uden at have fuldført sin " +#~ "opgave." + +#~ msgid "Secure Shell Keys" +#~ msgstr "SSH-nøgler" + +#~ msgid "" +#~ "No SSH caching agent is running. Cannot load Secure Shell keys." +#~ msgstr "Ingen SSH-cacheagent kører. Kan ikke indlæse SSH-nøgler." + +#~ msgid "Automatically load _Secure Shell keys" +#~ msgstr "Indlæs automatisk _SSH-nøgler" + +# Der refereres til Session Properties flere steder, så det skal nok hedde det samme +#~ msgid "Session Properties" +#~ msgstr "Sessionindstillinger" + +#~ msgid "" +#~ "To avoid manually starting the 'seahorse-agent' in the future\n" +#~ "add it to the Session Manager. " +#~ msgstr "" +#~ "Føj “seahorse-agent” til i sessionshåndteringen hvis du\n" +#~ "ikke ønsker at starte det manuelt i fremtiden. " + +#~ msgid "Progress Message" +#~ msgstr "Forløbsbesked" + +#~ msgid "Progress Status" +#~ msgstr "Forløbsstatus" + +#~ msgid "Login:" +#~ msgstr "Brugernavn:" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#~ msgid "[details]\n" +#~ msgstr "[detaljer]\n" + +#~ msgid "[login]" +#~ msgstr "[brugernavn]" + +#~ msgid "[server]" +#~ msgstr "[server]" + +#~ msgid "Cursor Position" +#~ msgstr "Markørposition" + +# ...antal tegn fra begyndelsen af den streng der implicit refereres til? +#~ msgid "The current position of the insertion cursor in chars" +#~ msgstr "Den nuværende placering af indsætningsmarkøren målt i antal tegn" + +#~ msgid "Selection Bound" +#~ msgstr "Markeringsgrænse" + +# Dette lyder helvedes dårligt. Men det gør det alligevel også på engelsk... +#~ msgid "" +#~ "The position of the opposite end of the selection from the cursor in chars" +#~ msgstr "" +#~ "Placeringen af den modsatte ende af markeringen fra markøren i antal tegn" + +#~ msgid "Maximum length" +#~ msgstr "Maksimal længde" + +#~ msgid "Maximum number of characters for this entry. Zero if no maximum" +#~ msgstr "Maksimalt antal tegn for denne post. Nul hvis intet maksimum" + +# Mystisk. +#~ msgid "Has Frame" +#~ msgstr "Har ramme" + +#~ msgid "FALSE removes outside bevel from entry" +#~ msgstr "FALSE fjerner den ydre skråkant fra posten" + +#~ msgid "Invisible character" +#~ msgstr "Usynligt tegn" + +#~ msgid "" +#~ "Whether to activate the default widget (such as the default button in a " +#~ "dialog) when Enter is pressed" +#~ msgstr "" +#~ "Hvorvidt forvalgskontrollen (såsom den forvalgte knap i en dialog) " +#~ "aktiveres når der trykkes Enter" + +#~ msgid "Width in chars" +#~ msgstr "Bredde i tegn" + +#~ msgid "Number of characters to leave space for in the entry" +#~ msgstr "Antallet af tegn der reserveres plads til i posten" + +#~ msgid "Scroll offset" +#~ msgstr "Rulleudgangspunkt" + +#~ msgid "Number of pixels of the entry scrolled off the screen to the left" +#~ msgstr "" +#~ "Antallet af pixler fra posten der er rullet til venstre ud af skærmen" + +#~ msgid "Text" +#~ msgstr "Tekst" + +#~ msgid "The contents of the entry" +#~ msgstr "Indholdet af posten" + +#~ msgid "Visibility" +#~ msgstr "Synlighed" + +# Hvilken invisible character? Dem er der jo mange af. De må mene flere af slagsen +#~ msgid "Whether contents are drawn using invisible character" +#~ msgstr "Hvorvidt indholdet anføres med usynlige tegn" + +#~ msgid "Key type / algorithm" +#~ msgstr "Nøgletype / algoritme" + +# Type = skriv, eller type=type? Nedenfor står der "use here"... +#~ msgid "[Type here]" +#~ msgstr "[Type her]" + +# Use=brug eller use=funktion? +#~ msgid "[Use here]" +#~ msgstr "[Formål her]" + +# Hvad gør vi med placeholder? +#~ msgid "This key expired on: (placeholder)" +#~ msgstr "Denne nøgle udløb den: (placeholder)" + +#~ msgid "Decrypt..." +#~ msgstr "Afkryptér …" + +#~ msgid "_Ascii Armor" +#~ msgstr "_ASCII-panser" + +#~ msgid "_Text Editor" +#~ msgstr "_Tekstbehandler" + +#~ msgid "C_lear Sign" +#~ msgstr "_Ryd underskrift" + +#~ msgid "Secret Key Ring" +#~ msgstr "Hemmelig nøglering" + +#~ msgid "set the vertical position of the window" +#~ msgstr "sæt den lodrette position på vinduet" + +#~ msgid "make a clear text signature" +#~ msgstr "opret almindelig tekstsignatur?" + +#~ msgid "encrypt" +#~ msgstr "kryptér" + +#~ msgid "decrypt" +#~ msgstr "afkryptér" + +#~ msgid "create ascii armored output" +#~ msgstr "lav ASCII-panseret uddata" + +#~ msgid "sign/encrypt for NAME" +#~ msgstr "underskriv/kryptér for NAME" + +#~ msgid "NAME(or EMAIL-ADDRESS)" +#~ msgstr "NAME(eller EMAIL-ADDRESS)" + +#~ msgid "use file FILE instead of stdin" +#~ msgstr "brug filen FILE istedetfor stdin" + +#~ msgid "write output to file OUTFILE (using - will write to stdout)" +#~ msgstr "skriv uddata til filen OUTFILE (bare '-' vil skrive til stdout)" + +#~ msgid "OUTFILE" +#~ msgstr "OUTFILE" + +#~ msgid "Sign & Encrypt" +#~ msgstr "Underskriv & kryptér" + +#~ msgid " I_nput File... " +#~ msgstr " I_nddatafil … " + +#~ msgid "Te_xt Editor" +#~ msgstr "Te_kstbehandler" + +#~ msgid "Textmode (_b)" +#~ msgstr "Tekstformat (_b)" + +#~ msgid "Si_gn & Encrypt" +#~ msgstr "U_nderskriv & kryptér" + +#~ msgid " O_utput File... " +#~ msgstr " _Uddatafil … " + +#~ msgid " (_P)" +#~ msgstr " (_P)" + +#~ msgid "Verify & Decrypt" +#~ msgstr "Verificér & afkryptér" + +#~ msgid "Verify & _Decrypt" +#~ msgstr "Verificér & _afkryptér" + +#~ msgid "Copyright (c) 1999, 2000 Anthony Mulcahy" +#~ msgstr "Ophavsret (c) 1999, 2000 Anthony Mulcahy" + +#~ msgid "A Gnome frontend for GnuPG" +#~ msgstr "En GNOME frontend for GnuPG" + +#~ msgid ": " +#~ msgstr ": " + +#~ msgid " : " +#~ msgstr " : " + +#~ msgid "certserver.pgp.com" +#~ msgstr "certserver.pgp.com" + +#~ msgid "To Key _File" +#~ msgstr "Til nøgle_fil" + +#~ msgid "Use Proxy" +#~ msgstr "Brug proxy" + +#~ msgid "From Key _File" +#~ msgstr "Fra nøgle_fil" + +#~ msgid "0 (does not expire)" +#~ msgstr "0 (bliver aldrig for gammel)" + +#~ msgid "Permanently Delete Key?" +#~ msgstr "Slet nøgle permanent?" + +#~ msgid "Generate Key Druid" +#~ msgstr "Opret nøgledruide" + +#~ msgid "No GnuPG Directory Found" +#~ msgstr "Ingen GnuPG mappe fundet" + +#~ msgid "" +#~ "Seahorse cannot find any GnuPG directory (\".gnupg\") which means that\n" +#~ "either the GNUPG environment variable isn't properly set or else that " +#~ "you\n" +#~ "will need to generate a Public / Secret Key Pair if this is your first " +#~ "time\n" +#~ "using Seahorse (or GnuPG)." +#~ msgstr "" +#~ "Seahorse kan ikke finde nogen GnuPG mappe (“.gnupg”), hvilket enten\n" +#~ "betyder at GnuPG miljøvariablen er ikke er ordentlig angivet, eller at " +#~ "du\n" +#~ "skal oprette et offentligt / hemmeligt nøglepar hvis det er første gang " +#~ "du\n" +#~ "bruger Seahorse (eller GnuPG)." + +#~ msgid "Generate Public / Secret Key Pair" +#~ msgstr "Opret offentligt / hemmeligt nøglepar" + +#~ msgid "Public / Secret Key Pair Generated" +#~ msgstr "Offentligt / hemmeligt nøglepar oprettet" + +#~ msgid "" +#~ "Your Public / Secret Key Pair have been generated and\n" +#~ "saved to the \".gnupg\" directory.\n" +#~ "\n" +#~ "Please click \"Finish\" to start Seahorse." +#~ msgstr "" +#~ "Dit offentlige / hemmelige nøglepar er blevet oprettet\n" +#~ "og gemt i “.gnupg” mappen.\n" +#~ "\n" +#~ "Klik venligst på “Færdig” for at starte Seahorse." + +#~ msgid "Trust Fully" +#~ msgstr "Stol helt på" + +#~ msgid " Trust Value : " +#~ msgstr " Tillidsværdi : " + +#~ msgid "Don't Know" +#~ msgstr "Ved ikke" + +#~ msgid "Adjust _Trust" +#~ msgstr "Justér _tillid" + +#~ msgid "Permanently Delete UID?" +#~ msgstr "Slet UID permanent?" diff --git a/po/de.po b/po/de.po new file mode 100644 index 00000000..47893930 --- /dev/null +++ b/po/de.po @@ -0,0 +1,3094 @@ +# German translation of seahorse. +# Hendrik Richter , 2005. +# Tim Bordemann , 2007. +# Henrik Kröger , 2007. +# Philipp Kerling , 2008. +# Mario Blättermann , 2008-2013, 2016-2018. +# Hendrik Richter , 2008. +# Christian Kirbach , 2009-2010, 2012. +# Paul Seyfert , 2011-2012, 2015-2016. +# Hendrik Knackstedt , 2012. +# Tobias Endrigkeit , 2013. +# Wolfgang Stöggl , 2015. +# Tim Sabsch , 2018-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-09-08 07:49+0200\n" +"Last-Translator: Tim Sabsch \n" +"Language-Team: Deutsch \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.4.1\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Schlüssel-Server hinzufügen" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Benutzerdefiniert" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Abbrechen" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Speichern" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Löschen ist gescheitert" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Schlüssel konnten nicht exportiert werden" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Daten konnten nicht exportiert werden" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Abbrechen" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Löschen" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Exportieren" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Geben Sie die PIN oder das Passwort ein für: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Wiederholung:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_OK" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Passwort:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Passwörter" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Schlüssel" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Zertifikate" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Einstellungen" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Keiner: Schlüssel nicht veröffentlichen" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Die Adresse des Schlüssel-Servers ist ungültig." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Für Hilfe kontaktieren Sie den Systemadministrator oder den Administrator " +"des Schlüssel-Servers." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "Adresse" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "Anfänglich zwischengespeicherter Eintrag" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Typ des Schlüssel-Servers:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Rechner:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Rechnername oder Adresse des Servers." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Der Port, über den der Server erreicht werden kann." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "Schlüssel _suchen über:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "Schlüssel _veröffentlichen auf:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Schlüssel _automatisch von den Schlüssel-Servern abrufen" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "_Veränderte Schlüssel automatisch mit den Schlüssel-Servern abgleichen" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Schlüssel-Server" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Unbekannt" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Nie" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Geringfügig" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Vollkommen" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Absolut" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Deaktiviert" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Widerrufen" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Übersicht" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Hilfe" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Menü öffnen" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Einen neuen Eintrag anlegen" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Eintrag aus Datei importieren" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Suche" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Liste der Tastenkombinationen" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Beenden" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navigation" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Vorherigen Schlüsselbund auswählen" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Nächsten Schlüsselbund auswählen" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Seitenleiste anzeigen (auf kleinen Bildschirmen)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Schlüsselbund-Inhalte anzeigen (auf kleinen Bildschirmen)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Schlüssel automatisch abrufen" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Legt fest, ob Schlüssel automatisch von den Schlüsselservern abgerufen " +"werden sollen." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Schlüssel automatisch veröffentlichen" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "" +"Legt fest, ob geänderte Schlüssel automatisch veröffentlicht werden sollen." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Schlüssel auf diesem Schlüsselserver veröffentlichen" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Der zuletzt zur Veröffentlichung von PGP-Schlüsseln verwendete " +"Schlüsselserver. Lassen Sie dies leer, um die Veröffentlichung von PGP-" +"Schlüsseln zu verhindern." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Letztes Suchmuster für Schlüsselserver" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "" +"Das zuletzt für die Suche auf einem Schlüsselserver verwendete Suchmuster." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Zuletzt verwendeter Schlüsselserver" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Der letzte Schlüsselserver, auf dem eine Suche durchgeführt wurde. Lassen " +"Sie dies leer, um alle Schlüsselserver zu verwenden." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Schlüsselbund-Seitenleiste anzeigen" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Schlüsselbund-Seitenleiste in der Seitenleiste von Seahorse anzeigen." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Anzuzeigende Einträge" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Legt fest, welche Einträge gefiltert werden sollen. Wenn Sie dies leer " +"lassen, werden alle Einträge angezeigt, mit »personal« Ihre persönlichen " +"Schlüssel und mit »trusted« die vertrauenswürdigen Schlüssel." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Breite der Seitenleiste" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Die vorgegebene Breite der Seitenleiste." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Gewählte Schlüsselbünde" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Die Adressen der in der Seitenleiste ausgewählten Schlüsselbünde." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Die Spalte, nach der Seahorse die Schlüssel durchsuchen soll" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Legt die Spalte fest, nach der das Hauptfenster sortiert werden soll. " +"Mögliche Spaltennamen sind: »name« (Name), »id« (Kennung), " +"»validity« (Gültigkeit), »expires« (Ablaufdatum), " +"»trust« (Vertrauenswürdigkeit) und »type« (Typ). Setzen Sie einem " +"Spaltennamen ein »-« voran, um die Spalte in absteigender Reihenfolge zu " +"sortieren." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Spalte für Gültigkeit anzeigen" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Wird nicht mehr verwendet." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Spalte für Ablaufdatum anzeigen" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Spalte für Vertrauenswürdigkeit anzeigen" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Spalte für Typ anzeigen" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Breite des Fensters" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Breite des Fensters (in Pixeln)." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Höhe des Fensters" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Höhe des Fensters (in Pixeln)." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Verwalten Sie Ihre Passwörter und Schlüssel" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "" +"Seahorse ist eine GNOME-Anwendung zum Verwaltung von kryptografischen " +"Schlüsseln" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Mit Seahorse erstellen und verwalten Sie PGP-Schlüssel, SSH-Schlüssel, " +"veröffentlichen und rufen Sie Schlüssel von Schlüssel-Servern ab, speichern " +"Sie Ihre Passphrasen zwischen, um diese nicht wiederholt eintippen zu " +"müssen, und sichern Sie Ihre Schlüssel und den Schlüsselbund." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Das GNOME-Pojekt" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Passwörter und Verschlüsselung" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "Schlüsselbund;Verschlüsselung;Sicherheit;Signieren;SSH;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Gespeicherte persönliche Passwörter, Zugangsdaten und Geheimnisse" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Entsperren nicht möglich" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Eintrag konnte nicht hinzugefügt werden" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Passwort oder Geheimnis" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Geheimnis der Netzwerkverbindung" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "WLAN-Passwort" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Netzwerk-Passwort" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Passwort für GNOME Web" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Passwort für Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Passwort für Sofortnachrichten" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Sofortnachrichten-Passwort für " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Telepathy-Passwort" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Passwort für GNOME-Online-Konten" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Änderungen für diesen Eintrag speichern?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Zugriff auf eine Netzwerkfreigabe oder Ressource" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Zugriff auf eine Webseite" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Entsperrt einen PGP-Schlüssel" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Entsperrt einen SSH-Schlüssel" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Gespeicherte(s) Passwort oder Benutzerkennung" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Netzwerk-Anmeldedaten" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Passwort" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Das Passwort konnte nicht geändert werden." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Die Beschreibung konnte nicht gespeichert werden." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Fehler beim Löschen des Passworts." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Gespeicherte Notiz" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Schlüsselbund-Passwort" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Verschlüsselungs-Passwort" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Passwort zum Speichern von Schlüsseln" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Geheimnis der Netzwerkverwaltung" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Sind Sie sicher, dass Sie das Passwort »%s« löschen wollen?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Sind Sie sicher, dass Sie %d Passwort löschen wollen?" +msgstr[1] "Sind Sie sicher, dass Sie %d Passwörter löschen wollen?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Schlüsselbund konnte nicht hinzugefügt werden" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Unbekanntes Datum" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Ein Schlüsselbund, der bei der Anmeldung automatisch entsperrt wird" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Ein Schlüsselbund zum Speichern von Passwörtern" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Das Standard-Schlüsselbund konnte nicht gesetzt werden" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Das Schlüsselbund-Passwort konnte nicht geändert werden" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "Zur _Vorgabe machen" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "_Passwort ändern" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "" +"Sind Sie sicher, dass Sie den Passwort-Schlüsselbund »%s« löschen wollen?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Mir ist bewusst, dass alle Einträge unwiderruflich gelöscht werden." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Passwort anzeigen/ausblenden" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Passwort hinzufügen" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Schlüsselbund:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Beschreibung:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Passwort:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Hinzufügen" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Passwort-Schlüsselbund hinzufügen" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Bitte wählen Sie einen Namen für den neuen Schlüsselbund. Sie werden dann " +"nach einem Entsperrpasswort gefragt." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Name des neuen Schlüsselbunds:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Eigenschaften des Eintrags" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Beschreibung" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Kopieren" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Verwendung" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Typ" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Server" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Anmeldename" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Details" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Passwort löschen" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Schlüsselbund-Eigenschaften" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Name" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Erzeugt am" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Passwort ändern" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Zur Vorgabe machen" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Flags anzeigen" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Angezeigte Eigenschaften des Datums und/oder der Zeit" + +# CHECK +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Bequemer Modus" + +# CHECK +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "" +"Im bequemen Modus werden eingegebene Werte für Datum und Zeit nicht " +"normalisiert" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Jahr" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Angezeigtes Jahr" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Monat" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Angezeigter Monat" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Tag" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Angezeigter Tag des Monats" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Stunde" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Angezeigte Stunde" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minute" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Angezeigte Minute" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekunde" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Angezeigte Sekunde" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Untergrenze (Jahr)" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Als Untergrenze angegebenes Jahr" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Obergrenze (Jahr)" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Als Obergrenze angegebenes Jahr" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Untergrenze (Monat)" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Als Untergrenze angegebener Monat" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Obergrenze (Monat)" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Als Obergrenze angegebener Monats" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Untergrenze (Tag)" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Als Untergrenze angegebener Tag des Monats" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Obergrenze (Tag)" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Als Obergrenze angegebener Tag des Monats" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Untergrenze (Stunde)" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Als Untergrenze angegebene Stunde" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Obergrenze (Stunde)" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Als Obergrenze angegebene Stunde" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Untergrenze (Minute)" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Als Untergrenze angegebene Minute" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Obergrenze (Minute)" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Als Obergrenze angegebene Minute" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Untergrenze (Sekunde)" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Als Untergrenze angegebene Sekunde" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Obergrenze (Sekunde)" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Als Obergrenze angegebene Sekunde" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Datum" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Geben Sie das Datum direkt ein" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Datum wählen" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Ein Datum aus einem Kalender auswählen" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Zeit" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Geben Sie die Zeit direkt ein" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Wählen Sie die Zeit" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Die Zeit aus einer Liste auswählen" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: no" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Die Hilfe konnte nicht aufgerufen werden: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Unterschlüssel zu %s hinzufügen" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (nur signieren)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (nur verschlüsseln)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (nur signieren)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (nur verschlüsseln)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Schlüssel-_Typ" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Schlüssel_länge" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Länge des Schlüssels" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Ablaufdatum" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "_Läuft nie ab" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Wenn der Schlüssel nie abläuft" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Einen neuen Unterschlüssel erzeugen" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Benutzerkennung hinzufügen zu: %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Benutzerkennung konnte nicht hinzugefügt werden" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Benutzerkennung hinzufügen" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Vollständiger _Name" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Muss mindestens 5 Zeichen umfassen" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_E-Mail-Adresse" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Optionale E-Mail-Adresse" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Schlüssel-Ko_mmentar" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Optionaler Kommentar, der den Schlüssel beschreibt" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Neue Benutzerkennung anlegen" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"Die Entschlüsselung ist gescheitert. Vermutlich fehlt Ihnen der dazugehörige " +"Schlüssel." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Der Vorgang wurde abgebrochen" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Ungültiges Ablaufdatum" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Das Ablaufdatum muss in der Zukunft liegen" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Das Ablaufdatum konnte nicht geändert werden" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Ablaufdatum: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "Läuft _nie ab" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "Ä_ndern" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Mehrere Schlüssel" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Schlüsseldaten" + +# Gemeint ist wohl hier die Beschränkung ds Schlüsselcodes auf ASCII-Zeichen +# If enabled, it causes PGP to emit ciphertext or keys in ASCII Radix-64 format suitable for transporting through E-mail channels. +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "E-Mail-sichere PGP-Schlüssel" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP-Schlüssel" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA Elgamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Der PGP-Schlüssel konnte nicht erzeugt werden" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Passphrase des neuen PGP-Schlüssels" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Geben Sie die Passphrase des neuen Schlüssels zweimal ein." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Beim Erstellen eines neuen Schlüssels müssen viele\n" +"Zufallszahlen erzeugt werden, wofür Ihre Mithilfe\n" +"erforderlich ist. Es ist hilfreich, wenn Sie den Rechner\n" +"anderweitig benutzen, z.B. auf der Tastatur tippen, die\n" +"Maus bewegen oder andere Anwendungen benutzen.\n" +"Dies erzeugt die notwendigen Zufallszahlen." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Schlüssel wird erstellt" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Der Name muss mindestens 5 Zeichen umfassen." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Neuer PGP-Schlüssel" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Ein PGP-Schlüssel ermöglicht es Ihnen, E-Mails oder Dateien für andere " +"Personen zu verschlüsseln." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Erweiterte Schlüsseleinstellungen" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Kommentar" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Verschlüsselungs-_Typ" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "Schlüssel_länge (bits)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "A_blaufdatum" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Läuft n_ie ab" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "E_rstellen" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Einen neuen Schlüssel erzeugen" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Sind Sie sicher, dass Sie »%s« unwiderruflich löschen wollen?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "" +"Sind Sie sicher, dass Sie %d Schlüssel unwiderruflich löschen wollen?" +msgstr[1] "" +"Sind Sie sicher, dass Sie %d Schlüssel unwiderruflich löschen wollen?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Falsches Passwort" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Dies war das dritte Mal, dass Sie ein falsches Passwort eingegeben haben. " +"Bitte versuchen Sie es erneut." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Falsche Passphrase." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Geben Sie eine neue Passphrase für »%s« ein" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Geben Sie die Passphrase für »%s« ein" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Geben Sie eine neue Passphrase ein" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Geben Sie die Passphrase ein" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Passphrase" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d Schlüssel geladen" +msgstr[1] "%d Schlüssel geladen" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Ungültige Schlüsseldaten (Benutzerkennungen fehlen). Dies kann auf einen " +"Rechner, dessen Systemdatum in der Zukunft liegt oder auf eine fehlende " +"Selbstsignatur zurückzuführen sein." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG-Schlüssel" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: Vorgegebener Ordner für den Schlüsselbund" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Das Foto ist zu groß\n" +"Die empfohlene Größe eines Fotos in Ihrem Schlüssel beträgt %d x %d Pixel." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Größe nicht anpassen" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Größe anpassen" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Dies ist entweder keine Bilddatei oder eine in einem unbekannten Format. " +"Versuchen Sie eine JPEG-Bilddatei zu verwenden." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Alle Bilddateien" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "JPEG-Dateien" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Alle Dateien" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Wählen Sie ein Foto aus, um es zum Schlüssel hinzuzufügen" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Öffnen" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Foto konnte nicht vorbereitet werden" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Foto konnte nicht hinzugefügt werden" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" +"Die Datei konnte nicht geladen werden. Möglicherweise liegt sie in einem " +"ungültigen Format vor" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Sind Sie sicher, das derzeitige Foto aus dem Schlüssel zu löschen?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Foto konnte nicht gelöscht werden" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Unterschlüssel konnte nicht widerrufen werden" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Widerrufen: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Keine Begründung" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Keine Begründung für das Widerrufen des Schlüssels" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Unsicher" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Schlüssel ist nicht mehr sicher" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Ersetzt" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Schlüssel wurde ersetzt" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Nicht verwendet" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Schlüssel wird nicht mehr verwendet" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Sie sind dabei, %s die Möglichkeit einzuräumen, %s zu widerrufen. Dies kann " +"nicht rückgängig gemacht werden. Sind Sie sicher?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "" +"Die Berechtigung, den Schlüssel zu widerrufen, konnte nicht hinzugefügt " +"werden" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "" +"Mir ist bewusst, dass dieser geheime Schlüssel unwiderruflich gelöscht wird." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Der Schlüssel wurde bereits signiert von\n" +"»%s«" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Schlüssel konnte nicht signiert werden" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Keine Schlüssel zum Signieren nutzbar" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Sie besitzen keine PGP-Schlüssel, die dazu genutzt werden könnten, Ihr " +"Vertrauen in diesen Schlüssel anzugeben." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Schlüssel signieren" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"Durch das Signieren bestätigen Sie, dass dieser Schlüssel der\n" +"folgenden Person gehört:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Schlüsselname" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Wie sorgfältig haben Sie den Schlüssel überprüft?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "Ü_berhaupt nicht" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Mäßig" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Sehr sorgfältig" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Überhaupt nicht: Sie glauben, dass dieser Schlüssel der angegebenen " +"Person gehört, sind sich dabei aber nicht sicher." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Mäßig: Sie haben nur mäßig überprüft, ob dieser Schlüssel der Person " +"gehört, die sich als dessen Besitzer ausgibt. Sie können z.B. dem Eigentümer " +"am Telefon den digitalen Fingerabdruck des Schlüssels vorlesen." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Sehr sorgfältig: Wählen Sie dies nur, wenn Sie sich absolut sicher " +"sind, dass dieser Schlüssel authentisch ist." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Sie konnten sich durch einen fälschungssicheren Ausweis (z.B. Reisepass) " +"vergewissern, dass der im Schlüssel angegebene Name richtig ist. Sie sollten " +"außerdem überprüft haben, dass die E-Mail-Adresse dem Schlüsseleigentümer " +"gehört." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Anzeige der Signatur für andere:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Andere sollen diese Signatur nicht sehen können" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "" +"Ich möchte diese Signatur zu einem anderen Zeitpunkt _widerrufen können." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Schlüssel signieren als:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Signierer:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Signieren" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Unbekannt" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Die Eingabe war nicht genau genug. Der Server »%s« hat zu viele Schlüssel " +"gefunden." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Verbindung mit Server »%s« gescheitert: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP-Schlüssel-Server" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Schlüssel konnte nicht importiert werden: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Schlüssel wurde erfolgreich importiert" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Importieren" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Schlüssel kann nicht importiert werden" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Entfernte Schlüssel" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Entfernte Schlüssel, die »%s« enthalten" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Die Suche nach Schlüsseln ist fehlgeschlagen." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Klicken Sie doppelt auf einen Schlüssel, um ihn zu betrachten, oder klicken " +"Sie auf den Importieren-Knopf, um ihn zu Ihrem Schlüsselbund hinzuzufügen." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Entfernte Schlüssel suchen" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Hier können Sie über das Internet nach fremden Schlüsseln suchen. Diese " +"können anschließend in Ihren Schlüsselbund importiert werden." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Suche nach: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Suchort:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Schlüssel-Server:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Freigegebene Schlüssel in meiner Nähe:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Suche" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Schlüssel konnte nicht zum Server übertragen werden" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Schlüssel konnte nicht vom Server abgerufen werden: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d Schlüssel wurde zum Abgleich ausgewählt." +msgstr[1] "%d Schlüssel wurden zum Abgleich ausgewählt." + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Schlüssel werden abgeglichen …" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Schlüssel abgleichen" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Hierdurch werden die Schlüssel in Ihrem Schlüsselbund veröffentlicht, damit " +"andere diese nutzen können. Sie erhalten außerdem alle Veränderungen, die " +"andere vorgenommen haben, seitdem Sie deren Schlüssel erhalten haben." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Es werden nun alle Änderungen von fremden Schlüsseln abgerufen. Da Sie " +"keinen Schlüssel-Server für Veröffentlichungen eingestellt haben, werden " +"Ihre eigenen Schlüssel nicht für andere verfügbar gemacht." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Schlüssel-Server" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Abgleichen" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Verbindung mit »%s« fehlgeschlagen: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Verbinden mit: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Adresse konnte nicht aufgelöst werden: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Server-Adresse wird aufgelöst: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP-Schlüssel-Server" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP-Schlüssel" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "" +"PGP-Schlüssel werden verwendet, um E-Mails und Dateien zu verschlüsseln" + +# bezieht sich auf PGP-Schlüssel +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(und %d weiterer)" +msgstr[1] "(und %d weitere)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Eigener PGP-Schlüssel" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP-Schlüssel" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Die primäre Benutzerkennung konnte nicht geändert werden" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "" +"Sind Sie sicher, dass Sie die Benutzerkennung »%s« unwiderruflich löschen " +"wollen?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Benutzerkennung konnte nicht gelöscht werden" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Unbekannt]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Name / E-Mail" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Signatur-Kennung" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Das primäre Foto konnte nicht geändert werden" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Fehler beim Ändern des Passworts" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(unbekannt)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Dieser Schlüssel ist am abgelaufen am: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Öffentlicher Schlüssel" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Geheimer Schlüssel" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" +"Sind Sie sicher, dass Sie den Unterschlüssel %d von %s unwiderruflich " +"löschen wollen?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Unterschlüssel konnte nicht gelöscht werden" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Die Vertrauenseinstellung konnte nicht geändert werden" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Schlüssel konnte nicht exportiert werden" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Nie" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "Kennung" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Verwendung" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Erzeugt" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Läuft ab" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Status" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Länge" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Widerrufen" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Abgelaufen" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Deaktiviert" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Gut" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Schlüsselkennung" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Ich vertraue Signaturen von »%s« auch bei anderen Schlüsseln" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Signieren Sie diesen Schlüssel, falls Sie darauf vertrauen, dass »%s« " +"der Besitzer dieses Schlüssels ist:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Wenn Sie nicht mehr darauf vertrauen, dass »%s« der Besitzer dieses " +"Schlüssels ist, ziehen Sie Ihre Signatur zurück:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "_Geheimen Schlüssel exportieren" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "_Öffentlichen Schlüssel exportieren" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Dieser Schlüssel wurde widerrufen" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" +"Der Eigentümer hat seinen Schlüssel widerrufen. Dieser kann nicht mehr " +"verwendet werden." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Dieser Schlüssel ist abgelaufen" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Ein Foto zum Schlüssel hinzufügen" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Dieses Foto aus dem Schlüssel entfernen" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Dieses Foto zum primären Foto machen" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Zum vorherigen Foto gehen" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Zum nächsten Foto gehen" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Kommentar" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "_Passphrase ändern" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Eigentümer" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Schlüsselnamen und Signaturen" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Primär" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Signieren" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Löschen" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Name hinzufügen" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Widerrufen" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Namen und Signaturen" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Schlüsselkennung:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Typ:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Länge:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Technische Informationen" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Fingerabdruck" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Erzeugt am:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Läuft ab am:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Daten" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "_Vertrauen in Eigentümer:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "In Datei e_xportieren" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Aktionen" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Ablaufdatum" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Unterschlüssel" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Geringfügig" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Vollständig" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Absolut" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Andere Namen:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Vertrauen in diesen Schlüssel" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Ihr Vertrauen ist im Reiter Details von Hand angegeben." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "Diesen Schlüssel _signieren" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "Signatur _widerrufen" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Personen, die diesen Schlüssel signiert haben:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Nur Signaturen von Personen anzeigen, denen ich vertraue" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Vertrauen" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Technische Informationen:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Fingerabdruck:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Daten:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Vertrauen festlegen:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Sie _vertrauen dem Eigentümer:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Verschlüsseln" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Beglaubigen" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Legitimieren" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Schlüssel" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Unterschlüssel %d von %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Begründung für den Widerruf des Schlüssels" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "Beg_ründung:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Optionale Beschreibung des Widerrufs" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Schlüssel widerrufen" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "_Widerrufen" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Sie haben keine persönlichen Schlüssel, welche zum Signieren eines Dokuments " +"oder einer Nachricht verwendet werden könnten." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Signierschlüssel wählen" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Nachricht mit Schlüssel signieren:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Daten werden exportiert" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Daten werden empfangen" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Daten werden importiert" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Daten werden gesendet" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Nicht verfügbar" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Zertifikat" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Zertifikate (DER-enkodiert)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Persönliches Zertifikat und Schlüssel" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Persönliches Zertifikat" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "" +"Sind Sie sicher, dass Sie %d Zertifikat unwiderruflich löschen wollen?" +msgstr[1] "" +"Sind Sie sicher, dass Sie %d Zertifikate unwiderruflich löschen wollen?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Geheimer Schlüssel konnte nicht erstellt werden" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Mir ist bewusst, dass dieser Schlüssel unwiderruflich gelöscht wird." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Unbenannter geheimer Schlüssel" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Geheimer Schlüssel" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Unbenannt" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Zertifikat konnte nicht exportiert werden" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Löschen ist gescheitert" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Erstellen" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Zertifikatanfrage konnte nicht erstellt werden" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Zertifikatanfrage speichern" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Speichern" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Zertifikatanfrage" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM-enkodierte Anfrage" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Zertifikatanfrage konnte nicht gespeichert werden" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Unbekannt" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509-Zertifikate und zugehörige Schlüssel" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Neuer geheimer Schlüssel" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Einen neuen geheimen Schlüssel erzeugen" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Bezeichnung:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Gespeichert in:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Schlüssel-_Typ:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "Schlüssel_länge (bits):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Dieses Zertifikat oder diesen Schlüssel löschen" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Das Zertifikat exportieren" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Zertifikat anfragen" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Eine Zertifikatanfragen-Datei für diesen Schlüssel erstellen" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Eine Datei für eine Zertifikatanfrage erstellen." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Der allgemeine Name (CN) in der Zertifikatanfrage." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Name (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Mitwirkende:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Version dieser Anwendung" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Christian Meyer \n" +"Martin Bretschneider \n" +"Manuel Borchers \n" +"Henrik Kröger \n" +"Tim Bordemann \n" +"Philipp Kerling \n" +"Mario Blättermann \n" +"Paul Seyfert \n" +"Tim Sabsch " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Seahorse-Projektwebseite" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Zu importierende Daten" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importieren" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Importieren fehlgeschlagen" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Schlüssel importieren" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Schlüsseldateien" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Eingefügter Text" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Text der Zwischenablage" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Schlüsselbund konnte nicht entsperrt werden" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Passphrase ä_ndern" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Neue _Passphrase:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Bestätigen Sie die neue Passphrase" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Passphrase _bestätigen:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "Ent_fernte Schlüssel suchen …" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "Schlüssel _abgleichen und veröffentlichen …" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Einstellungen" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Hilfe" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Tastenkombinationen" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_Info zu Passwörter und Verschlüsselung" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Einträge filtern:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Ei_gene anzeigen" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Ver_trauenswürdige anzeigen" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "A_lle anzeigen" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "SSH-Schlüssel" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Wird verwendet, um auf andere Rechner zuzugreifen" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG-Schlüssel" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Wird verwendet, um E-Mails und Dateien zu verschlüsseln" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Passwort-Schlüsselbund" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Wird zur Speicherung von Netzwerk- und Anwendungspasswörtern verwendet" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Ein Passwort oder Geheimnis sicher verwahren" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Für eine Zertifikatanfrage verwendet" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Aus einer Datei importieren …" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Einen neuen Schlüssel oder Eintrag hinzufügen" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Zurück" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Nach einem Schlüssel oder Passwort suchen" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filter" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Diese Sammlung scheint leer zu sein" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Schlüsselbund ist gesperrt" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Entsperren" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Geheimnis kopieren" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Exportieren …" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Eigenschaften" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "SSH-Schlüssel einrichten …" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Sperren" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Entsperren" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Eigenschaften" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Sperren nicht möglich" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Secure Shell" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Schlüssel zur sicheren Verbindung mit anderen Rechnern" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "" +"Sind Sie sicher, dass Sie den SSH-Schlüssel »%s« unwiderruflich löschen " +"wollen?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "" +"Sind Sie sicher, dass Sie %u SSH-Schlüssel unwiderruflich löschen wollen?" +msgstr[1] "" +"Sind Sie sicher, dass Sie %u SSH-Schlüssel unwiderruflich löschen wollen?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Geheime SSH-Schlüssel" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Öffentliche SSH-Schlüssel" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH-Schlüssel" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Für diesen Schlüssel ist kein öffentlicher Schlüssel verfügbar." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Der neu erzeugte SSH-Schlüssel konnte nicht geladen werden" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Der SSH-Schlüssel konnte nicht erzeugt werden" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "SSH-Schlüssel wird erstellt" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 Bits" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 Bits" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Unbekannter Schlüsseltyp!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Unbekannter Typ" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Schlüssel konnte nicht umbenannt werden." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Die Legitimierung für den Schlüssel konnte nicht geändert werden." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Die Passphrase des Schlüssels konnte nicht geändert werden." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Fehler beim Löschen des SSH-Schlüssels." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Eigener SSH-Schlüssel" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH-Schlüssel" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Unlesbarer SSH-Schlüssel)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "SSH-Schlüssel" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Netzwerk-Passwort" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Geben Sie die Passphrase des Schlüssels ein" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Passphrase des neuen SSH-Schlüssels" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Schlüssel importieren: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Schlüssel wird importiert. Geben Sie die Passphrase ein" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Passphrase für Secure Shell (SSH):" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Alte Passphrase des Schlüssels" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Geben Sie die alte Passphrase ein für: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Neue Passphrase für Schlüssel" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Geben Sie eine neue Passphrase ein für: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Geben Sie die neue Passphrase erneut ein: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Neuer SSH-Schlüssel" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Ein SSH-Schlüssel ermöglicht es Ihnen, sich per SSH auf einem sicheren Weg " +"an anderen Rechnern anzumelden." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Beschreibung" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Ihre E-Mail-Adresse oder ein Erkennungsmerkmal, wofür dieser Schlüssel " +"bestimmt ist." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Falls es bereits einen Rechner gibt, für den Sie diesen Schlüssel nutzen " +"möchten, können Sie den Rechner jetzt so einrichten, dass er Ihren neuen " +"Schlüssel erkennt." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Lediglich Schlüssel erzeugen" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Erstellen und Einrichten" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH-Schlüssel-Eigenschaften" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Name" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algorithmus" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Schlüssellänge" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Ort" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Öffentlicher Schlüssel" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Öffentlichen Schlüssel in die Zwischenablage kopieren" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Entfernter Zugriff" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Entfernten Zugriff auf diesen Rechner zulassen" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Exportieren" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "SSH-Schlüssel _löschen" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Einen Rechner für SSH-Verbindungen einrichten" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Um Ihren SSH-Schlüssel für einen anderen Rechner über SSH nutzen zu können, " +"müssen Sie bereits über ein Benutzerkonto auf diesem Rechner verfügen." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Server-Adresse:" + +# example.com ist speziell für Anschauungszwecke gedacht: +# https://www.iana.org/domains/reserved +# beispiel.com ist dagegen eine kommerziell vergebene Domain. +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "z.B.: dateiserver.example.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Anmeldename:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Einrichten" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH-Schlüssel" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Für diesen Schlüssel ist kein geheimer Schlüssel verfügbar." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "" +"Der SSH-Schlüssel konnte nicht auf dem entfernten Rechner eingerichtet " +"werden." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "SSH-Schlüssel werden eingerichtet …" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse ist eine Anwendung für GNOME zum Verwalten von Kryptografie-" +#~ "Schlüsseln. Es erweitert nautilus, gedit und andere um " +#~ "Verschlüsselungsvorgänge." + +#~ msgid "Keyring is unlocked" +#~ msgstr "Schlüsselbund ist entsperrt" + +#~ msgid "Lock" +#~ msgstr "Sperren" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Unterschlüssel konnte nicht hinzugefügt werden" + +#~ msgid "_Combine all keyrings" +#~ msgstr "Alle Schlüsselbünde _zusammenführen" + +#~ msgid "Encryption _Type:" +#~ msgstr "Verschlüsselungs-_Typ:" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Full _Name:" +#~ msgstr "Vollständiger _Name:" + +#~ msgid "_Email Address:" +#~ msgstr "_E-Mail-Adresse:" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "About Seahorse" +#~ msgstr "Info zu Seahorse" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "" +#~ "Anwendungen speichern üblicherweise neue Passwörter im Standard-" +#~ "Schlüsselbund." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Ändern Sie das Passwort zum Entsperren des Passwort-Schlüsselbundes" + +#~ msgid "_Show Password" +#~ msgstr "Pass_wort zeigen" + +#~ msgid "About" +#~ msgstr "Info" + +#~ msgid "_File" +#~ msgstr "_Datei" + +#~ msgid "_Edit" +#~ msgstr "_Bearbeiten" + +#~ msgid "Delete selected items" +#~ msgstr "Ausgewählte Einträge löschen" + +#~ msgid "Show the properties of this item" +#~ msgstr "Eigenschaften dieses Eintrags anzeigen" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Eigenschaften dieses Schlüsselbunds anzeigen" + +#~ msgid "Prefere_nces" +#~ msgstr "Einstellu_ngen" + +#~ msgid "Change preferences for this program" +#~ msgstr "Programmeinstellungen ändern" + +#~ msgid "_View" +#~ msgstr "_Ansicht" + +#~ msgid "About this program" +#~ msgstr "Über dieses Programm" + +#~ msgid "_Contents" +#~ msgstr "_Inhalt" + +#~ msgid "Show Seahorse help" +#~ msgstr "Hilfe zu Seahorse anzeigen" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Neuer Passwort-Schlüsselbund" + +#~ msgid "New password…" +#~ msgstr "Neues Passwort …" + +#~ msgid "PGP Key" +#~ msgstr "PGP-Schlüssel" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Schlüssel vom Schlüssel-Server importieren" + +#~ msgid "_Remote" +#~ msgstr "_Entfernt" + +#~ msgid "Close this window" +#~ msgstr "Fenster schließen" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Ausgewählte Schlüssel in den Schlüsselbund importieren" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "" +#~ "Veröffentlichen und/oder gleichen Sie Ihre Schlüssel mit den online " +#~ "verfügbaren Schlüsseln ab." + +#~ msgid "Marginal" +#~ msgstr "Geringfügig" + +#~ msgid "Full" +#~ msgstr "Vollkommen" + +#~ msgid "Ultimate" +#~ msgstr "Absolut" + +#~ msgid "Photo " +#~ msgstr "Foto " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "Email:" +#~ msgstr "E-Mail:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Empfangene Dateien und E-Mails entschlüsseln." + +#~ msgid "Private PGP Key" +#~ msgstr "Geheimer PGP-Schlüssel" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Dateien und E-Mails an den Eigentümer verschlüsseln" + +#~ msgid "- System Settings" +#~ msgstr "- Systemeinstellungen" + +#~ msgid "Don't display a window" +#~ msgstr "Kein Fenster anzeigen" + +#~ msgid "_New" +#~ msgstr "_Neu" + +#~ msgid "Close this program" +#~ msgstr "Programm beenden" + +#~ msgid "_New…" +#~ msgstr "_Neu …" + +#~ msgid "_Import…" +#~ msgstr "_Importieren …" + +#~ msgid "_Paste" +#~ msgstr "E_infügen" + +#~ msgid "Import from the clipboard" +#~ msgstr "Aus der Zwischenablage importieren" + +#~ msgid "By _Keyring" +#~ msgstr "Nach _Schlüsselbund" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Nur persönliche Schlüssel, Zertifikate und Passwörter anzeigen" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "" +#~ "Nur vertrauenswürdige Schlüssel, Zertifikate und Passwörter anzeigen" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Alle Schlüssel, Zertifikate und Passwörter anzeigen" + +#~ msgid "New item" +#~ msgstr "Neuer Eintrag" + +#~ msgid "_Select the type of item to create:" +#~ msgstr ">_Wählen Sie die gewünschte Eintragsart aus:" + +#~ msgid "Continue" +#~ msgstr "Weiter" + +#~ msgid "First time options:" +#~ msgstr "Erstmalige Aktionen:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "" +#~ "Um mit Verschlüsselung beginnen zu können, benötigen Sie zunächst " +#~ "Schlüssel." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Einen Schlüssel aus einer Datei importieren:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Einen neuen Schlüssel erzeugen: " + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Den SSH-Schlüssel an einen Rechner senden, um sich damit anzumelden." + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "Identifier:" +#~ msgstr "Schlüsselkennung:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "" +#~ "Der Eigentümer dieses Schlüssels ist _autorisiert, sich mit diesem " +#~ "Rechner zu verbinden" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Dies gilt nur für das Benutzerkonto %s." + +#~ msgid "Key length:" +#~ msgstr "Schlüssellänge:" diff --git a/po/dz.po b/po/dz.po new file mode 100644 index 00000000..c38df23a --- /dev/null +++ b/po/dz.po @@ -0,0 +1,3433 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-04-17 03:26+0100\n" +"PO-Revision-Date: 2007-05-23 21:42+0530\n" +"Last-Translator: Tshewang Norbu \n" +"Language-Team: Dzongkha \n" +"Language: dz\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Poedit-Language: Dzongkha\n" +"X-Poedit-Country: Bhutan\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: ../agent/seahorse-agent-actions.c:134 +#: ../libseahorse/seahorse-ssh-operation.c:445 +msgid "Passphrase:" +msgstr "ཆོག་ཚིག་:" + +#: ../agent/seahorse-agent-actions.c:135 +msgid "Please enter a passphrase to use." +msgstr "ལག་ལེན་འཐབ་ནི་གི་དོན་ལས་ ཆོག་ཚིག་ཅིག་བཙུགས་གནང་།" + +#. Warn and put in defaults +#: ../agent/seahorse-agent.c:101 +msgid "couldn't read gpg configuration, will try to create" +msgstr "ཇི་པི་ཇི་རིམ་སྒྲིག་ལྷག་མ་ཚུགསཔ་ལས་ གསར་བསྐྲུན་འབད་ནི་གི་འབད་རྩོལ་བསྐྱེད་འོང་" + +#: ../agent/seahorse-agent.c:119 +#, c-format +msgid "couldn't modify gpg configuration: %s" +msgstr "ཇི་པི་ཇི་ རིམ་སྒྲིག་ ལེགས་བཅོས་འབད་མ་ཚུགས་: %s" + +#: ../agent/seahorse-agent-cache.c:72 +msgid "Unparseable Key ID" +msgstr "མིང་དཔྱད་འབད་མ་བཏུབ་པའི་ལྡེ་མིག་ ཨའི་ཌི་" + +#: ../agent/seahorse-agent-cache.c:73 +msgid "Unknown/Invalid Key" +msgstr "མ་ཤེས་/ནུས་མེད་ཀྱི་ལྡེ་མིག་" + +#: ../agent/seahorse-agent-cache.c:533 +#, c-format +msgid "PGP Key: %s" +msgstr "པི་ཇི་པི་ ལྡེ་མིག་: %s" + +#: ../agent/seahorse-agent-cache.glade.h:1 +msgid "Warning: Your system is not configured to cache passphrases in secure memory." +msgstr "ཉེན་བརྡ་: ཁྱོད་ཀྱི་རིམ་ལུགས་འདི་ མཐའ་བཙན་དྲན་ཚད་ནང་གི་འདྲ་མཛོད་ཆོག་ཚིག་ལུ་རིམ་སྒྲིག་མ་འབད་བས།" + +#: ../agent/seahorse-agent-cache.glade.h:2 +msgid "Cache _Preferences" +msgstr "Cache _Preferences" + +#: ../agent/seahorse-agent-cache.glade.h:3 +msgid "Cached Encryption Keys" +msgstr "འདྲ་མཛོད་གསང་བཟོས་ལྡེ་མིག་ཚུ་" + +#: ../agent/seahorse-agent-cache.glade.h:4 +msgid "Change passphrase cache settings." +msgstr "ཆོག་ཚིག་འདྲ་མཛོད་སྒྲིག་སྟངས་ཚུ་ བསྒྱུར་བཅོས་འབད།" + +#: ../agent/seahorse-agent-cache.glade.h:5 +msgid "Clear passphrase cache" +msgstr "ཆོག་ཚིག་འདྲ་མཛོད་སེལ་" + +#: ../agent/seahorse-agent-cache.glade.h:6 +msgid "_Clear Cache" +msgstr "འདྲ་མཛོད་སེལ་(_C)" + +#: ../agent/seahorse-agent-cache.glade.h:7 +msgid "_Show Window" +msgstr "སྒོ་སྒྲིག་སྟོན་(_S)" + +#: ../agent/seahorse-agent-main.c:50 +msgid "Do not daemonize seahorse-agent" +msgstr "སི་ཧོརསི་-ལས་ཚབ་ཌེ་མཱོན་མ་འབད་" + +#: ../agent/seahorse-agent-main.c:53 +msgid "Print variables in for a C type shell" +msgstr "སི་ཊ་ཡིབ་ཤལ་ཅིག་གི་དོན་ལས་ འགྱུར་ཅན་ཚུ་དཔར་བསྐྲུན་འབད་" + +#: ../agent/seahorse-agent-main.c:56 +msgid "Display variables instead of editing conf files (gpg.conf, SSH agent socket)" +msgstr "རིམ་སྒྲིག་ཡིག་སྣོད་(gpg.conf ཨེསི་ཨེསི་ཨེཆ་ ལས་ཚབ་སོ་ཀེཊི་)ཀྱི་ཚབ་ལུ་ འགྱུར་ཅན་ཚུ་བཀྲམ་སྟོན་འབད" + +#: ../agent/seahorse-agent-main.c:59 +msgid "Execute other arguments on the command line" +msgstr "བརྡ་བཀོད་གྲལ་ཐིག་གུ་ལུ་ སྒྲུབ་རྟགས་གཞན་ཚུ་ལག་ལེན་འཐབ་" + +#: ../agent/seahorse-agent-main.c:62 +msgid "Allow GPG agent request from any display" +msgstr "བཀྲམ་སྟོན་གང་རུང་ལས་ ཇི་པི་ཇི་ལས་ཚབ་ཞུ་བ་འབད་བཅུག་" + +#: ../agent/seahorse-agent-main.c:65 +msgid "command..." +msgstr "བརྡ་བཀོད..." + +#: ../agent/seahorse-agent-main.c:87 +#: ../daemon/seahorse-daemon.c:72 +msgid "couldn't fork process" +msgstr "ལས་སྦྱོར་འདི་ཁ་སྤེལ་མ་ཚུགས་" + +#: ../agent/seahorse-agent-main.c:93 +#: ../daemon/seahorse-daemon.c:78 +msgid "couldn't create new process group" +msgstr "ལས་སྦྱོར་སྡེ་ཚན་གསརཔ་ གསར་བསྐྲུན་འབད་མ་ཚུགས་" + +#: ../agent/seahorse-agent-main.c:225 +#: ../daemon/seahorse-daemon.c:195 +#: ../plugins/applet/seahorse-applet.c:1013 +#: ../plugins/nautilus/seahorse-tool.c:570 +#: ../src/main.c:59 +msgid "couldn't drop privileges properly" +msgstr "ཁེ་དབང་ཚུ་ལེགས་ཤོམ་སྦེ་བཀོག་བཞག་མ་ཚུགས་" + +#: ../agent/seahorse-agent-main.c:232 +msgid "Encryption Key Agent (Seahorse)" +msgstr "གསང་བཟོ་ལྡེ་མིག་ལས་ཚབ་(སི་ཧོརསི་)" + +#: ../agent/seahorse-agent-main.c:240 +msgid "no command specified to execute" +msgstr "ལག་ལེན་འཐབ་ནི་གི་དོན་ལས་ བརྡ་བཀོད་གསལ་བཀོད་མ་འབད་" + +#: ../agent/seahorse-agent-prompt.c:216 +msgid "Authorize Passphrase Access" +msgstr "ཆོག་ཚིག་འཛུལ་སྤྱོད་ཀྱི་དབང་ཚད་སྤྲོད་" + +#: ../agent/seahorse-agent-prompt.c:252 +msgid "The passphrase is cached in memory." +msgstr "ཆོག་ཚིག་འདི་ དྲན་ཚད་ནང་ལུ་ འདྲ་མཛོད་ལུ་བཙུགས་ཅི་" + +#: ../agent/seahorse-agent-prompt.c:257 +msgid "Always ask me before using a cached passphrase" +msgstr "འདྲ་མཛོད་ནང་བཙུགས་ཡོད་པའི་ཆོག་ཚིག་ཅིག་ལག་ལེན་མ་འཐབ་པའི་ཧེ་མ་ ཨ་རྟག་ར་འདྲི་དགོ་" + +#: ../agent/seahorse-agent-prompt.c:274 +msgid "_Authorize" +msgstr "དབང་ཚད་སྤྲོད་(_A)" + +#. Make the uid column +#: ../agent/seahorse-agent-status.c:151 +msgid "Key Name" +msgstr "ལྡེ་མིང་" + +#: ../daemon/seahorse-daemon.c:54 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "སི་ཧོརསི་-ཌེ་མཱོན་འདི་ ཌེ་མཱོན་བཟུམ་སྦེ་གཡོག་མ་བཀོལ།་" + +#: ../daemon/seahorse-daemon.c:202 +msgid "Encryption Daemon (Seahorse)" +msgstr "གསང་བཟོ་ཌེ་མཱོན་(སི་ཧོརསི་)" + +#: ../daemon/seahorse-service.c:103 +#: ../daemon/seahorse-service.c:127 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "ནུས་མེད་ ཡང་ན་ ངོས་འཛིན་མ་འབད་བའི་ལྡེ་མིག་དབྱེ་བ་: %s" + +#: ../daemon/seahorse-service.c:181 +#: ../daemon/seahorse-service-keyset.c:123 +#: ../daemon/seahorse-service-keyset.c:152 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "ནུས་མེད་ ཡང་ན་ ངོས་འཛིན་མ་འབད་བའི་ལྡེ་མིག་: %s" + +#: ../daemon/seahorse-service-crypto.c:120 +#: ../daemon/seahorse-service-crypto.c:227 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "ནུས་མེད་ ཡང་ན་ ངོས་འཛིན་མ་འབད་བའི་མིང་རྟགས་བཀོད་མི་: %s" + +#: ../daemon/seahorse-service-crypto.c:127 +#: ../daemon/seahorse-service-crypto.c:234 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "མིང་རྟགས་བཀོད་ནི་གི་དོན་ལུ་ ལྡེ་མིག་འདི་ནུས་མེད་ཨིན་པས་: %s" + +#: ../daemon/seahorse-service-crypto.c:139 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "ནུས་མེད་ ཡང་ན་ ངོས་འཛིན་མ་འབད་བའི་ཐོབ་མཁན་: %s" + +#: ../daemon/seahorse-service-crypto.c:147 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "གསང་བཟོའི་དོན་ལུ་ ལྡེ་མིག་འདི་ནུས་མེད་ཀྱི་ཐོབ་མཁན་ཅིག་མེན་: %s" + +#: ../daemon/seahorse-service-crypto.c:156 +msgid "No recipients specified" +msgstr "ཐོབ་མཁན་ཚུ་ གསལ་བཀོད་མ་འབད་" + +#: ../daemon/seahorse-service-crypto.c:222 +msgid "No signer specified" +msgstr "མིང་རྟགས་བཀོད་མི་གསལ་བཀོད་མ་འབད་" + +#: ../daemon/seahorse-service-crypto.c:277 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "གསང་བཤོལ་གྱི་དོན་ལུ་ ནུས་མེད་ལྡེ་མིག་གི་དབྱེ་བ་: %s" + +#: ../daemon/seahorse-service-crypto.c:339 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "བདེན་སྦྱོར་འབད་ནི་ལུ་ ནུས་མེད་ལྡེ་མིག་གི་དབྱེ་བ་: %s" + +#: ../daemon/seahorse-service-keyset.c:186 +#, c-format +msgid "Invalid key id: %s" +msgstr "ནུས་མེད་ལྡེ་མིག་ ཨའི་ཌི་: %s" + +#: ../daemon/seahorse-sharing.c:71 +#: ../daemon/seahorse-sharing.c:215 +msgid "Couldn't share keys" +msgstr "ལྡེ་མིག་ཚུ་རུབ་སྤྱོད་འབད་མ་ཚུགས་" + +#: ../daemon/seahorse-sharing.c:72 +msgid "Can't publish discovery information on the network." +msgstr "ཡོངས་འབྲེལ་གུ་ གསར་རྙེད་བརྡ་དོན་དཔེ་བསྐྲུན་འབད་མི་ཚུགས།" + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s". +#: ../daemon/seahorse-sharing.c:92 +#, c-format +msgid "%s's encryption keys" +msgstr "%s གི་གསང་བཟོ་ལྡེ་མིག་ཚུ་" + +#: ../data/seahorse.schemas.in.h:1 +msgid "A list of key server URIs to search for remote PGP keys. In later versions a display name can be included, by appending a space and then the name." +msgstr "ཐག་རིང་གི་པི་ཇི་པི་ ལྡེ་མིག་འཚོལ་ཞིབ་འབད་ནི་གི་དོན་ལུ་ ལྡེ་མིག་སར་བར་ ཡུ་ཨར་ཨའི་ཨེསི་གི་ཐོ་ཡིག ཤུལ་མའི་ཐོན་རིམ་ནང་ བར་སྟོང་དང་དེ་ལས་མིང་མཇུག་བསྣོན་འབད་བའི་ཐོག་ལས་ བཀྲམ་སྤེལ་མིང་ཅིག་ དེའི་གྲངས་སུ་བཙུགས་བཏུབ་ཨིན།" + +#: ../data/seahorse.schemas.in.h:2 +msgid "After performing an decrypt or verify operation from the applet, display the resulting text in a window." +msgstr "ཨེཔ་ལེཊི་ནང་ལས་ གསང་བཤོལ་གྲུབ་ཚར་བའི་ཤུལ་མ་ ཡང་ན་ བཀོལ་སྤྱོད་བདེན་སྦྱོར་འབད་བའི་ཤུལ་མ་ སྒོ་སྒྲིག་ཅིག་ནང་ལུ་ གྲུབ་འབྲས་འབྱུང་མི་ཚིག་ཡིག་འདི་བཀྲམ་སྟོན་འབད།" + +#: ../data/seahorse.schemas.in.h:3 +msgid "After performing an encrypt or signing operation from the applet, display the resulting text in a window." +msgstr "ཨེཔ་ལེཊི་ནང་ལས་ གསང་བཤོལ་གྲུབ་ཚར་བའི་ཤུལ་མ་ ཡང་ན་ བཀོལ་སྤྱོད་མིང་རྟགས་བཀོད་པའི་ཤུལ་མ་ སྒོ་སྒྲིག་ཅིག་ནང་ལུ་ གྲུབ་འབྲས་འབྱུང་མི་ཚིག་ཡིག་འདི་བཀྲམ་སྟོན་འབད།" + +#: ../data/seahorse.schemas.in.h:4 +msgid "Auto Retrieve Keys" +msgstr "རང་བཞིན་སླར་འདྲེན་ལྡེ་མིག་ཚུ" + +#: ../data/seahorse.schemas.in.h:5 +msgid "Auto Sync Keys" +msgstr "རང་བཞིན་མཉམ་འབྱུང་ལྡེ་མིག་" + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "ལྡེ་མིག་འཛིན་སྐྱོང་པའི་དོན་ལས་ དུས་ཡོལ་ཀེར་ཐིག་གི་མཐོང་གསལ་ཚད་འཛིན་འབདཝ་ཨིན།" + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "ལྡེ་མིག་འཛིན་སྐྱོང་པའི་དོན་ལས་ བློ་གཏད་ཀེར་ཐིག་གི་མཐོང་གསལ་ ཚད་འཛིན་འབདཝ་ཨིན།" + +#: ../data/seahorse.schemas.in.h:8 +msgid "Controls the visibility of the type column for the key manager." +msgstr "ལྡེ་མིག་འཛིན་སྐྱོང་པའི་དོན་ལས་ དབྱེ་བའི་ཀེར་ཐིག་གི་མཐོང་གསལ་ ཚད་འཛིན་འབདཝ་ཨིན།" + +#: ../data/seahorse.schemas.in.h:9 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "ལྡེ་མིག་འཛིན་སྐྱོང་པའི་དོན་ལས་ བློ་གཏད་ཀེར་ཐིག་གི་མཐོང་གསལ་ ཚད་འཛིན་འབདཝ་ཨིན།" + +#: ../data/seahorse.schemas.in.h:10 +msgid "Display cache reminder in the notification area" +msgstr "བརྡ་བསྐུལ་མངའ་ཁོངས་ནང་ འདྲ་མཛོད་དྲན་བསྐུལ་ བཀྲམ་སྟོན་འབད་" + +#: ../data/seahorse.schemas.in.h:11 +msgid "Display clipboard after decrypting" +msgstr "གསང་བཤོལ་འབད་བའི་ཤུལ་མ་ འཛིན་པང་བཀྲམ་སྟོན་འབད་" + +#: ../data/seahorse.schemas.in.h:12 +msgid "Display clipboard after encrypting" +msgstr "གསང་བཟོའི་ཤུལ་མ་ འཛིན་པང་བཀྲམ་སྟོན་འབད་" + +#: ../data/seahorse.schemas.in.h:13 +msgid "Enable DNS-SD sharing" +msgstr "ཌི་ཨེན་ཨེསི་-ཨེསི་ཌི་རུབ་སྤྱོད་ ལྕོགས་ཅན་བཟོ་" + +#: ../data/seahorse.schemas.in.h:14 +msgid "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must running and must be built with HKP and DNS-SD support." +msgstr "ཌི་ཨེན་ཨེསི་-ཨེསི་ཌི་(ཨེ་པཱལ་བཱོན་ཇོར་)ལྡེ་མིག་རུབ་སྤྱོད་ ལྕོགས་ཅན་བཟོཝ་ཨིན། སི་ཧོརསི་-ཌེ་མཱོན་འདི་གཡོག་བཀོལ་ཏེ་བཞག་དགོཔ་དང་ ཨེཅ་ཀེ་པི་དང་ཌི་ཨེན་ཨེསི་-ཨེསི་ཌི་རྒྱབ་སྐྱོར་དང་གཅིག་ཁར་བཟོ་རྩིག་འབད་དགོཔ་ཨིན།" + +#: ../data/seahorse.schemas.in.h:15 +msgid "Expire passwords in the cache" +msgstr "འདྲ་མཛོད་ནང་གི་ དུས་ཡོལ་ཆོག་ཡིག་ཚུ་" + +#: ../data/seahorse.schemas.in.h:16 +msgid "ID of the default key" +msgstr "སྔོན་སྒྲིག་ལྡེ་མིག་གི་ཨའི་ཌི་" + +#: ../data/seahorse.schemas.in.h:17 +msgid "If set to 'gnome' uses gnome-keyring to cache passwords. When set to 'internal' uses internal cache." +msgstr " 'gnome' ལུ་གཞི་སྒྲིག་འབད་དེ་ཡོད་པ་ཅིན་ འདྲ་མཛོད་ཆོག་ཡིག་ལུ་ཇི་ནོམ་-ལྡེ་འཁོར་ལག་ལེན་འཐབ་ཨིན། 'internal' ལུ་གཞི་སྒྲིག་འབད་དེ་ཡོད་པ་ཅིན་ ནང་འཁོད་འདྲ་མཛོད་ལག་ལེན་འཐབ་ཨིན།" + +#: ../data/seahorse.schemas.in.h:18 +msgid "If set to true, then files encrypted with seahorse will be ASCII armor encoded." +msgstr "བདེན་པ་སྦེ་གཞི་སྒྲིག་འབད་དེ་ཡོད་པ་ཅིན་ སི་ཧོརསི་དང་བཅས་གསང་བ་བཟོ་ཡོད་པའི་ཡིག་སྣོད་ཚུ་ ཨེ་ཨེསི་སི་ཨའི་ཨའི་ ཨར་མོར་གྱིས་ཨེན་ཀོཌ་འབད་འོང་།" + +#: ../data/seahorse.schemas.in.h:19 +msgid "If set to true, then the default key will always be added to an encryption recipients list." +msgstr "བདེན་སྦེ་གཞི་སྒྲིག་འབད་དེ་ཡོད་པ་ཅིན་ སྔོན་སྒྲིག་ལྡེ་མིག་འདི་ཨ་རྟག་ར་ གསང་བཟོ་ཐོབ་མཁན་ཐོ་ཡིག་ནང་ཁ་སྐོང་བརྐྱབ་འོང་།" + +#: ../data/seahorse.schemas.in.h:20 +msgid "Last key server search pattern" +msgstr "མཇུག་གི་ ཀི་སར་བར་འཚོལ་ཞིབ་དཔེ་གཞི" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Last key servers used" +msgstr "མཇུག་གི་ ཀི་སར་བར་ལག་ལེན་འཐབ་ཡོདཔ" + +#: ../data/seahorse.schemas.in.h:22 +msgid "Last key used to sign a message." +msgstr "འཕྲིན་དོན་ཅིག་མིང་རྟགས་བཀོལ་ནི་གི་དོན་ལས་ མཇུག་གི་ལྡེ་མིག་ལག་ལེན་འཐབ་ནུག" + +#: ../data/seahorse.schemas.in.h:23 +msgid "PGP Key servers" +msgstr "པི་ཇི་པི་ ལྡེ་མིག་སར་བར་ཚུ་" + +#: ../data/seahorse.schemas.in.h:24 +msgid "Prompt before using GPG passwords in cache" +msgstr "འདྲ་མཛོད་ནང་ལུ་ ཇི་པི་ཇི་ཆོག་ཡིག་ཚུ་ལག་ལེན་མ་འཐབ་པའི་ཧེ་མ་ སྣུས་པ་སྤེལ་དགོ" + +#: ../data/seahorse.schemas.in.h:25 +msgid "Publish keys to this key server." +msgstr "ཀི་སར་བར་ལུ་ ལྡེ་མིག་དཔེ་བསྐྲུན་འབད།" + +#: ../data/seahorse.schemas.in.h:26 +msgid "Reflect the contents of the clipboard (whether encrypted, signed, etc...) in the panel applet icon." +msgstr "པེ་ནཱལ་ཨེཔ་ལེཊི་ངོས་པར་ནང་ལུ་ འཛིན་པང་(གསང་བཟོས་ མིང་རྟགས་བཀོད་ཡོདཔ་ལ་སོགས་པ་ག་ཅི་ཨིན་རུང་)གི་ནང་དོན་ཚུ་ འཆར་སྣང་འབྱུངམ་ཨིན།" + +#: ../data/seahorse.schemas.in.h:27 +msgid "Set to 'false' to disable display of the cache reminder in the notification area of your panel." +msgstr "ཁྱོད་རའི་པེ་ནཱལ་གྱི་བརྡ་བསྐུལ་མངའ་ཁོངས་ནང་ འདྲ་མཛོད་དྲན་བསྐུལ་གྱི་བཀྲམ་སྟོན་ ལྕོགས་མིན་བཟོ་ཐབས་ལུ་ 'false' ལུ་གཞི་སྒྲིག་འབད།" + +#: ../data/seahorse.schemas.in.h:28 +msgid "Set to 'true' to have seahorse-agent prompt before giving out passwords it has cached." +msgstr "འདྲ་མཛོད་ནང་བཙུགས་ཡོད་པའི་ཆོག་ཡིག་ཚུ་ མ་བྱིན་པའི་ཧེ་མ་ སི་ཧོརསི་-ལས་ཚབ་འདི་ནུས་སྤེལ་གྱི་དོན་ལུ་ 'true' ལུ་གཞི་སྒྲིག་འབ་ད།" + +#: ../data/seahorse.schemas.in.h:29 +msgid "Show clipboard state in panel" +msgstr "པེ་ནཱལ་ནང་ལུ་ འཛིན་པང་གནས་ལུགས་སྟོན་" + +#: ../data/seahorse.schemas.in.h:30 +msgid "Show expires column in key manager" +msgstr "ལྡེ་མིག་འཛིན་སྐྱོང་པའི་ནང་ དུས་ཡོལ་ཀེར་ཐིག་སྟོན་" + +#: ../data/seahorse.schemas.in.h:31 +msgid "Show trust column in key manager" +msgstr "ལྡེ་མིག་འཛིན་སྐྱོང་པའི་ནང་ བློ་གཏད་ཀེར་ཐིག་སྟོན་" + +#: ../data/seahorse.schemas.in.h:32 +msgid "Show type column in key manager" +msgstr "ལྡེ་མིག་འཛིན་སྐྱོང་པའི་ནང་ དབྱེ་བའི་ཀེར་ཐིག་སྟོན་" + +#: ../data/seahorse.schemas.in.h:33 +msgid "Show validity column in key manager" +msgstr "ལྡེ་མིག་འཛིན་སྐྱོང་པའི་ནང་ ནུས་ལྡན་དུས་ཚོད་ཀྱི་ཀེར་ཐིག་སྟོན་" + +#: ../data/seahorse.schemas.in.h:34 +msgid "Specify the column to sort the recipients window by. Columns are: 'name' and 'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "ཐོབ་མཁན་གྱི་སྒོ་སྒྲིག་དབྱེ་སེལ་འབད་ནི་གི་དོན་ལས་ ཀེར་ཐིག་གསལ་བཀོད་འབད། ཀེར་ཐིག་ཚུ་: 'name' and 'id' ཚུ་ཨིན། མར་འབབ་གོ་རིམ་གྱི་ཐོག་ལས་དབྱེ་སེལ་འབད་ནི་ལུ་ '-' འདི་ ཀེར་ཐིག་མིང་གི་གདོང་ཁ་བཙུགས།" + +#: ../data/seahorse.schemas.in.h:35 +msgid "Specify the column to sort the seahorse key manager main window by. Columns are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in front of the column name to sort in descending order." +msgstr "སི་ཧོརསི་ལྡེ་མིག་འཛིན་སྐྱོང་པའི་སྒོ་སྒྲིག་སྒོ་སྒྲིག་ངོ་མ་དབྱེ་སེལ་འབད་ནི་གི་དོན་ལུ་ ཀེར་ཐིག་གསལ་བཀོད་འབད། ཀེར་ཐིག་ཚུ་: 'name', 'id', 'validity', 'expires', 'trust', དང་ 'type'ཚུ་ཨིན། '-' འདི་ མར་འབབ་གོ་རིམ་གྱི་ཐོག་ལས་དབྱེ་སེལ་འབད་ནི་ལུ་ ཀེར་ཐིག་མིང་གི་གདོང་ཁར་བཙུགས།" + +#: ../data/seahorse.schemas.in.h:36 +msgid "The ID of the last secret key used to sign a message." +msgstr "མཇུག་གི་གསང་ལྡེའི་ཨའི་ཌི་འདི་ འཕྲིན་དོན་ཅིག་མིང་རྟགས་བཀོད་ནི་གི་དོན་ལུ་ ལག་ལེན་འཐབ་ཡོདཔ།" + +#: ../data/seahorse.schemas.in.h:37 +msgid "The column to sort the recipients by" +msgstr "ཐོབ་མཁན་ཚུ་དབྱེ་སེལ་འབད་ནིའི་ཀེར་ཐིག་" + +#: ../data/seahorse.schemas.in.h:38 +msgid "The column to sort the seahorse keys by" +msgstr "སི་ཧོརསི་ལྡེ་མིག་དབྱེ་སེལ་འབད་ནིའི་ཀེར་ཐིག་" + +#: ../data/seahorse.schemas.in.h:39 +msgid "The key server to publish PGP keys to. Or empty to suppress publishing of PGP keys." +msgstr "པི་ཇི་པི་ལྡེ་མིག་དཔེ་བསྐྲུན་འབད་ནིའི་ལྡེ་འཁོར། ཡང་ན་ པི་ཇི་པི་ལྡེ་མིག་དཔེ་བསྐྲུན་འབད་ནི་ལས་མར་མནོན་འབད་ནི་གི་དོན་ལུ་སྟོངམ་སྟོནམ་ཨིན།" + +#: ../data/seahorse.schemas.in.h:40 +msgid "The last key server a search was performed against or empty for all key servers." +msgstr "ཀི་སར་་བརསི་ཆ་མཉམ་གྱི་དོན་ལུ་སྟོངམ་ ཡང་ན་ རྒྱབ་འགལ་དུ་མཇུག་གི་ཀི་སར་་བར་འཚོལ་ཞིབ་ཅིག་ ལས་འགན་གྲུབ་ཡོདཔ།" + +#: ../data/seahorse.schemas.in.h:41 +msgid "The last search pattern searched for against a key server." +msgstr "ཀི་སར་་བར་ཅིག་གི་རྒྱབ་འགལ་སྦེ་ མཇུག་གི་འཚོལ་ཞིབ་དཔེ་གཞི་ འཚོལ་ཞིབ་འབད་ཡོདཔ།" + +#: ../data/seahorse.schemas.in.h:42 +msgid "The time (in minutes) to cache GPG passwords" +msgstr "པི་ཇི་པི་ཆོག་ཡིག་ཚུ་ འདྲ་མཛོད་ནང་བཙུག་ནིའི་ཆུ་ཚོད་(དཀར་མ་ནང་)" + +#: ../data/seahorse.schemas.in.h:43 +msgid "This is the amount of time, specified in minutes, to cache GPG passwords in seahorse-agent." +msgstr "འ་ནི་འདི་ སི་ཧོརསི་-ལས་ཚབ་ནང་ ཇི་པི་ཇི་ཆོག་ཡིག་ཚུ་འདྲ་མཛོད་ནང་བཙུག་ནིའི་དཀར་ཆ་ནང་གསལ་བཀོད་འབད་ཡོད་པའི་ཆུ་ཚོད་ཀྱི་བསྡོམས་ཨིན།" + +#: ../data/seahorse.schemas.in.h:44 +msgid "This option enables the GPG password cache in the seahorse-agent program. The 'use-agent' setting in gpg.conf affects this setting." +msgstr "གདམ་ཁ་འདི་གིས་ སི་ཧོརསི་-ལས་ཚབ་ལས་རིམ་ནང་ལུ་ ཇི་པི་ཇི་ཆོག་ཡིག་འདྲ་མཛོད་ ལྕོགས་ཅན་བཟོཝ་ཨིན། gpg.conf ནང་གི་ 'use-agent' སྒྲིག་སྟངས་ཀྱིས་ སྒྲིག་སྟངས་ལུ་ཕན་གནོད་རྐྱབ་ཨིན།" + +#: ../data/seahorse.schemas.in.h:45 +msgid "This specifies the default key to use for certain operations, mainly signing." +msgstr "དེ་གིས་ བཀོལ་སྤྱོད་དང་ངོ་མ་ར་ མིང་རྟགས་བཀོད་ནི་གི་དོན་ལུ་ སྔོན་སྒྲིག་ལྡེ་མིག་ལག་ལེན་འཐབ་ནིའི་གསལ་བཀོད་འབདཝ་ཨིན།" + +#: ../data/seahorse.schemas.in.h:46 +msgid "When set seahorse-agent will try to automatically load the users SSH keys when needed. This is equivalent to using the ssh-add utility." +msgstr "སི་ཧོརསི་-ལས་ཚབ་གཞི་སྒྲིག་འབད་ཡོད་པ་ཅིན་ དེ་གིས་ དགོས་མཁོ་བྱུང་ཡོད་པའི་སྐབས་ ལག་ལེན་པའི་ཨེསི་ཨེསི་ལྡེ་མིག་ཚུ་ རང་བཞིན་གྱིས་མངོན་གསལ་འབད་ནིའི་འབད་རྩོལ་བསྐྱེད་འོང་། འ་ནི་འདི་ ཨེསི་ཨེསི་ཨེཅ་-ཁ་སྐོང་སྤྱོད་ཆས་ལག་ལེན་འཐབ་མི་དང་འདྲ་མཉམ་ཨིན།" + +#: ../data/seahorse.schemas.in.h:47 +msgid "When set, seahorse-agent expires GPG passwords in its cache after a period of time." +msgstr "གཞི་སྒྲིག་འབད་ཡོད་པའི་སྐབས་ སི་ཧོརསི་-ལས་ཚབ་ཀྱིས་ དུས་ཚོད་ཧ་ལམ་ཅིག་ལས་ ཇི་པི་ཇི་ཆོག་ཡིག་ཚུ་ འདྲ་མཛོད་ནང་་ལུ་དུས་ཡོལ་འབྱུང་བཅུགཔ་ཨིན།" + +#: ../data/seahorse.schemas.in.h:48 +msgid "Where to store cached passwords." +msgstr "འདྲ་མཛོད་ནང་བཙུགས་ཡོད་པའི་ཆོག་ཡིག་ཚུ་ ག་སྟེ་ལུ་གསོག་འཇོག་འབད་ནི་སྨོ།" + +#: ../data/seahorse.schemas.in.h:49 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "ལེགས་བཅོས་མ་འབདཝ་ ཡང་ན་ འབད་ཡོད་པའི་ལྡེ་མིག་ཚུ་ སྔོན་སྒྲིག་ཀི་སར་་བར་དང་་གཅིག་ཁར་ རང་བཞིན་གྱིས་མཉམ་བྱུང་་འབད་དགོཔ།" + +#: ../data/seahorse.schemas.in.h:50 +msgid "Whether or not modified keys should be automatically synced with the default key server." +msgstr "ལེགས་བཅོས་མ་འབདཝ་ ཡང་ན་ འབད་ཡོད་པའི་ལྡེ་མིག་ཚུ་ སྔོན་སྒྲིག་ཀི་སར་་བར་དང་་གཅིག་ཁར་ རང་བཞིན་གྱིས་མཉམ་བྱུང་འབད་དགོ།" + +#: ../data/seahorse.schemas.in.h:51 +msgid "Whether the GPG password cache is enabled" +msgstr "ཇི་པི་ཇི་ཆོག་ཡིག་འདྲ་མཛོད་འདི་ ལྕོགས་ཅན་བཟོ་སྟེ་ཡོད་ག་མེད་" + +#: ../data/seahorse.schemas.in.h:52 +msgid "Whether to always encrypt to default key" +msgstr "ཨ་རྟག་ར་སྔོན་སྒྲིག་ལྡེ་མིག་ལུ་ གསང་བཟོ་འབད་ཡོད་ག་མེད་" + +#: ../data/seahorse.schemas.in.h:53 +msgid "Whether to automatically load SSH keys on demand." +msgstr "མཁོ་འདོད་དང་འཁྲིལ་ཏེ་ ཨེསི་ཨེསི་ཨེཅ་ལྡེ་མིག་ཚུ་ རང་བཞིན་གྱིས་མངོན་གསལ་འབད་ནི།" + +#: ../data/seahorse.schemas.in.h:54 +msgid "Whether to use ASCII Armor" +msgstr "ཨེ་ཨེསི་སི་ཨའི་ཨའི་ ཨར་མོར་ལག་ལེན་འཐབ་ན་མ་འཐབ་ན་" + +#: ../libcryptui/cryptui-key-chooser.c:156 +msgid "All Keys" +msgstr "ལྡེ་མིག་ཚུ་" + +#: ../libcryptui/cryptui-key-chooser.c:157 +msgid "Selected Recipients" +msgstr "སེལ་འཐུ་འབད་ཡོད་པའི་ཐོབ་མཁན་" + +#: ../libcryptui/cryptui-key-chooser.c:158 +msgid "Search Results" +msgstr "འཚོལ་ཞིབ་གྲུབ་འབྲས་" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:168 +msgid "Search _for:" +msgstr "འཚོལ་ཞིབ་འབད་ནི་:(_f)" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:223 +msgid "_Sign message as:" +msgstr "འཕྲིན་དོན་གུ་རྟགས་བཀལ་:(_S)" + +#: ../libcryptui/cryptui-key-chooser.c:235 +msgid "None (Don't Sign)" +msgstr "ཅི་མེད་(མིང་རྟགས་མ་བཀོད་)" + +#. TODO: Icons +#: ../libcryptui/cryptui-key-list.c:117 +#: ../src/seahorse-key-manager-store.c:954 +#: ../src/seahorse-key-properties.c:866 +msgid "Name" +msgstr "མིང་" + +#: ../libcryptui/cryptui-key-list.c:120 +#: ../src/seahorse-key-manager-store.c:966 +#: ../src/seahorse-key-properties.c:1714 +msgid "Key ID" +msgstr "ལྡེ་མིག་ ཨའི་ཌི་" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:2 +msgid "Add Key Server" +msgstr "ལྡེ་མིག་སར་བར་ ཁ་སྐོང་རྐྱབས་" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:3 +msgid "Host:" +msgstr "ཧོསཊི་:" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:4 +msgid "Key Server Type:" +msgstr "ལྡེ་མིག་སར་བར་དབྱེ་བ་:" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:5 +#: ../src/seahorse-ssh-upload.glade.h:3 +msgid "The host name or address of the server." +msgstr "སར་བར་གྱི་ཧོསཊི་མིང་ ཡང་ན་ ཁ་བྱང་" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:6 +msgid "The port to access the server on." +msgstr "སར་བར་འཇུལ་སྤྱོད་འབད་ནིའི་འདྲེན་ལམ།" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:7 +msgid "initial temporary item" +msgstr "འགོ་ཐོག་གནས་སྐབས་རྣམ་གྲངས་" + +#: ../libseahorse/seahorse-hkp-source.c:358 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "འཚོལ་ཞིབ་འདི་དམིགས་བསལ་གྱི་འཚོལ་ཞིབ་མེན་པས། སར་བར་ '%s' གིས་ ལྡེ་མིག་ལེ་ཤ་ཐོབ་ཡོདཔ།" + +#: ../libseahorse/seahorse-hkp-source.c:360 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "'%s': %s དང་གཅིག་ཁར་ བརྒྱུད་འབྲེལ་འཐབ་མ་ཚུགས་" + +#: ../libseahorse/seahorse-hkp-source.c:563 +msgid "Searching for keys..." +msgstr "ལྡེ་མིག་འཚོལ་དོ་་་་་" + +#: ../libseahorse/seahorse-hkp-source.c:639 +msgid "Uploading keys..." +msgstr "ལྡེ་མིག་མངོན་གསལ་འབད་དོ་་་་་" + +#: ../libseahorse/seahorse-hkp-source.c:715 +msgid "Retrieving keys..." +msgstr "ལྡེ་མིག་སླར་འདྲེན་འབད་དོ་་་་" + +#: ../libseahorse/seahorse-hkp-source.c:764 +#, c-format +msgid "Searching for keys on: %s" +msgstr "ལྡེ་མིག་འཚོལ་དོ་: %s" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../libseahorse/seahorse-hkp-source.c:857 +#: ../libseahorse/seahorse-hkp-source.c:929 +#: ../libseahorse/seahorse-ldap-source.c:656 +#, c-format +msgid "Connecting to: %s" +msgstr "མཐུད་དོ་: %s" + +#: ../libseahorse/seahorse-ldap-source.c:449 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "'%s' དང་གཅིག་ཁར་བརྒྱུད་འབྲེལ་འཐབ་མ་ཚུགས་: %s" + +#: ../libseahorse/seahorse-ldap-source.c:629 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "ཁ་བྱང་མོས་མཐུན་བཟོ་མ་ཚུགས་: %s" + +#: ../libseahorse/seahorse-ldap-source.c:705 +#, c-format +msgid "Resolving server address: %s" +msgstr "སར་བར་ཁ་བྱང་མོས་མཐུན་བཟོ་དོ་: %s" + +#: ../libseahorse/seahorse-ldap-source.c:883 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "'%s'དང་ལྡན་པའི་ལྡེ་མིག་ཚུ་ འཚོལ་ཞིབ་འབད་དོ་་་་" + +#: ../libseahorse/seahorse-ldap-source.c:910 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "ལྡེ་མིག་ཨའི་ཌི་ '%s' འཚོལ་ཞིབ་འབད་དོ་་་" + +#: ../libseahorse/seahorse-ldap-source.c:1011 +msgid "Retrieving remote keys..." +msgstr "ཐག་རིང་ལྡེ་མིག་ཚུ་སླར་འདྲེན་འབད་དོ་་་་་" + +#: ../libseahorse/seahorse-ldap-source.c:1144 +msgid "Sending keys to key server..." +msgstr "ལྡེ་མིག་སར་བར་ལུ་ ལྡེ་མིག་ཚུ་སྐྱེལ་དོ་་་་" + +#: ../libseahorse/seahorse-notification.c:557 +#: ../libseahorse/seahorse-notification.c:573 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "ནང་འདྲེན་འབད་ཡོད་པའི་%i ལྡེ་མིག་" +msgstr[1] "ནང་འདྲེན་འབད་ཡོད་པའི་%i ལྡེ་མིག་ཚུ་" + +#: ../libseahorse/seahorse-notification.c:558 +#: ../libseahorse/seahorse-notification.c:574 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "ལྡེ་མིག་ནང་འདྲེན་འབད་ཡོདཔ་" +msgstr[1] "ལྡེ་མིག་ཚུ་ནང་འདྲེན་འབད་ཡོདཔ་\t" + +#: ../libseahorse/seahorse-notification.c:601 +#, c-format +msgid "Signed by expired on %s." +msgstr " དུས་ཡོལ་ཅན་ གིས་ %sགུ་ མིང་རྟགས་བཀལ་ཡོདཔ།" + +#: ../libseahorse/seahorse-notification.c:602 +msgid "Invalid Signature" +msgstr "ནུས་མེད་ཀྱི་མིང་རྟགས་" + +#: ../libseahorse/seahorse-notification.c:607 +#, c-format +msgid "Signed by on %s Expired." +msgstr "གིས་ %s དུས་ཡོལ་ཅན་གུ་མིང་རྟགས་བཀལ་ཡོདཔ།" + +#: ../libseahorse/seahorse-notification.c:608 +msgid "Expired Signature" +msgstr "དུས་ཡོལ་ཅན་གྱི་མིང་རྟགས་" + +#: ../libseahorse/seahorse-notification.c:613 +#, c-format +msgid "Signed by Revoked on %s." +msgstr " Revokedགིས་ %sགུ་ལུ་མིང་རྟགས་བཀལ་ཡོདཔ།" + +#: ../libseahorse/seahorse-notification.c:614 +msgid "Revoked Signature" +msgstr "ཆ་མེད་བཏང་ཡོད་པའི་མིང་རྟགས་" + +#: ../libseahorse/seahorse-notification.c:619 +#, c-format +msgid "Signed by on %s." +msgstr "གིས་ %sགུ་ལུ་མིང་རྟགས་བཀལ་ཡོདཔ།" + +#: ../libseahorse/seahorse-notification.c:620 +msgid "Good Signature" +msgstr "མིང་རྟགས་ལེགས་ཤོམ་" + +#: ../libseahorse/seahorse-notification.c:625 +msgid "Signing key not in keyring." +msgstr "མིང་རྟགས་ལྡེ་མིག་འདི་ ལྡེ་འཁོར་ནང་མིན་འདུག" + +#: ../libseahorse/seahorse-notification.c:626 +msgid "Unknown Signature" +msgstr "མ་ཤེས་པའི་མིང་རྟགས་" + +#: ../libseahorse/seahorse-notification.c:630 +msgid "Bad or forged signature. The signed data was modified." +msgstr "མིང་རྟགས་བྱང་ཉེས་ ཡང་ན་ རྫུས་མ། མིང་རྟགས་བཀོད་ཡོད་པའི་གནད་སྡུད་འདི་ ལེགས་བཅོས་མ་འབད་བས།" + +#: ../libseahorse/seahorse-notification.c:631 +msgid "Bad Signature" +msgstr "མིང་རྟགས་བྱང་ཉེས་" + +#: ../libseahorse/seahorse-notification.c:639 +msgid "Couldn't verify signature." +msgstr "མིང་རྟགས་བདེན་སྦྱོར་མ་འབད་" + +#: ../libseahorse/seahorse-notify.glade.h:1 +msgid "Notification Messages" +msgstr "བརྡ་བསྐུལ་འཕྲིན་དོན་" + +#: ../libseahorse/seahorse-passphrase.c:175 +msgid "Passphrase" +msgstr "ཆོག་ཚིག་" + +#: ../libseahorse/seahorse-passphrase.c:178 +msgid "Password:" +msgstr "ཆོག་ཡིག་:" + +#: ../libseahorse/seahorse-passphrase.c:242 +msgid "Confirm:" +msgstr "ངེས་དཔྱད་:" + +#: ../libseahorse/seahorse-passphrase.c:325 +msgid "Wrong passphrase." +msgstr "ཕྱི་འགྱུར་ཆོག་ཚིག་" + +#: ../libseahorse/seahorse-passphrase.c:329 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "'%s' དོན་ལུ་ ཆོག་ཚིག་གསརཔ་བཙུགས་" + +#: ../libseahorse/seahorse-passphrase.c:331 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "'%s' དོན་ལུ་ ཆོག་ཚིག་བཙུགས་" + +#: ../libseahorse/seahorse-passphrase.c:334 +#: ../src/seahorse-change-passphrase.glade.h:4 +msgid "Enter new passphrase" +msgstr "ཆོག་ཚིག་གསརཔ་བཙུགས་" + +#: ../libseahorse/seahorse-passphrase.c:336 +msgid "Enter passphrase" +msgstr "ཆོག་ཚིག་བཙུགས་" + +#: ../libseahorse/seahorse-pgp-key.c:140 +#: ../libseahorse/seahorse-ssh-key.c:112 +#: ../src/seahorse-gkeyring-item.c:231 +msgid "Invalid" +msgstr "ནུས་མེད་" + +#: ../libseahorse/seahorse-pgp-key.c:162 +#: ../src/seahorse-pgp-public-key-properties.glade.h:30 +msgid "Public PGP Key" +msgstr "མི་མང་གི་ པི་ཇི་པི་ ལྡེ་མིག་" + +#: ../libseahorse/seahorse-pgp-key.c:165 +#: ../src/seahorse-pgp-private-key-properties.glade.h:35 +msgid "Private PGP Key" +msgstr "སྒེར་གཙང་གི་ པི་ཇི་པི་ལྡེ་མིག་" + +#: ../libseahorse/seahorse-pgp-key.c:694 +#: ../libseahorse/seahorse-validity.c:31 +#: ../src/seahorse-key-properties.c:1090 +msgid "Unknown" +msgstr "མ་ཤེསཔ་" + +#: ../libseahorse/seahorse-pgp-key.c:696 +msgid "ElGamal" +msgstr "ཨི་ཨའི་ག་མཱལ་" + +#: ../libseahorse/seahorse-pgp-source.c:367 +#: ../libseahorse/seahorse-server-source.c:209 +#: ../src/seahorse-generate-select.c:142 +msgid "PGP Key" +msgstr "པི་ཇི་པི་ ལྡེ་མིག་" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../libseahorse/seahorse-pgp-source.c:723 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "མངོན་གསལ་འབད་ཡོད་པའི་%dལྡེ་མིག་" +msgstr[1] "མངོན་གསལ་འབད་ཡོད་པའི་%dལྡེ་མིག་ཚུ་" + +#: ../libseahorse/seahorse-pgp-source.c:778 +msgid "Loading Keys..." +msgstr "ལྡེ་མིག་ཚུ་མངོན་གསལ་འབད་དོ་་་་" + +#: ../libseahorse/seahorse-pgp-source.c:821 +msgid "Invalid key data (missing UIDs). This may be due to a computer with a date set in the future or a missing self-signature." +msgstr "ནུས་མེད་ལྡེ་མིག་གནད་སྡུད་(ཡུ་ཨའི་ཌི་ཚུ་)། དེ་ཡང་ ཡང་ཅིན་ ཚེས་གྲངས་འདི་མ་འོངས་པའི་ནང་གཞི་སྒྲིག་འབད་ཡོདཔ་དང་ ཡང་ན་ རང་རའི་མིང་རྟགས་ཅིག་བཀོད་ནི་ལུས་སོངཔ་འོང་ནི་མས།" + +#: ../libseahorse/seahorse-pgp-source.c:942 +#: ../src/seahorse-key-manager.c:454 +#: ../src/seahorse-key-manager.c:502 +msgid "Importing Keys" +msgstr "ལྡེ་མིག་ཚུ་ནང་འདྲེན་འབད་དོ་" + +#: ../libseahorse/seahorse-pgp-source.c:975 +msgid "Exporting Keys" +msgstr "ལྡེ་མིག་ཚུ་ ཕྱིར་འདྲེན་འབད་དོ་" + +#: ../libseahorse/seahorse-prefs.c:60 +msgid "Not a valid Key Server address." +msgstr "ནུས་ལྡན་ལྡེ་མིག་སར་བར་གྱི་ཁ་བྱང་མེན་པས།" + +#: ../libseahorse/seahorse-prefs.c:61 +msgid "For help contact your system adminstrator or the administrator of the key server." +msgstr "གྲོགས་རམ་གྱི་དོན་ལས་ ཁྱོད་རའི་རིམ་ལུགས་བདག་སྐྱོང་པ་ ཡང་ན་ སར་བར་ལྡེ་མིག་གི་བདག་སྐྱོང་པ་དང་གཅིག་ཁར་འབྲེལ་བ་འཐབ་གནང་།" + +#: ../libseahorse/seahorse-prefs.c:172 +msgid "URL" +msgstr "ཡུ་ཨར་ཨེལ་" + +#: ../libseahorse/seahorse-prefs.c:356 +msgid "Custom" +msgstr "སྲོལ་སྒྲིག་" + +#: ../libseahorse/seahorse-prefs.c:426 +msgid "None: Don't publish keys" +msgstr "ཅི་མེད་:ལྡེ་མིག་དཔེ་བསྐྲུན་མ་འབད་" + +#: ../libseahorse/seahorse-prefs.c:508 +msgid "None. Prompt for a key." +msgstr "ཅི་མེད་:ལྡེ་མིག་ཅིག་གི་དོན་ལུ་ ནུས་པ་སྤལ་" + +#: ../libseahorse/seahorse-prefs-cache.c:231 +msgid "Couldn't open the Session Properties" +msgstr "ལཱ་ཡུན་རྒྱུ་དངོས་ ཁ་ཕྱེ་མ་བཏུབ་" + +#: ../libseahorse/seahorse-prefs-cache.c:244 +msgid "Couldn't start the 'seahorse-agent' program" +msgstr " 'seahorse-agent' ལས་རིམ་ འགོ་བཙུགས་མ་ཚུགས་" + +#: ../libseahorse/seahorse-prefs-cache.c:246 +msgid "The 'seahorse-agent' program exited unsuccessfully." +msgstr "'seahorse-agent' ལས་རིམ་འདི་ མཐར་མ་འཁྱོལཔ་སྦེ་ཕྱིར་ཐོན་བྱུང་ཡོདཔ།" + +#: ../libseahorse/seahorse-prefs.glade.h:1 +msgid "Defaults" +msgstr "སྔོན་སྒྲིག་" + +#: ../libseahorse/seahorse-prefs.glade.h:2 +msgid "Note: The 'seahorse-agent' program has been started. This program is necessary in order to cache passphrases. " +msgstr "དྲན་འཛིན་: 'seahorse-agent' ལས་རིམ་འདི་འགོ་བཙུགས་ཡོདཔ། ལས་རིམ་འདི་ ཆོག་ཚིག་ཚུ་འདྲ་མཛོད་ནང་བཙུག་ནི་གི་དོན་ལས་ དགོས་མཁོ་ཡོདཔ་ཨིན།" + +#: ../libseahorse/seahorse-prefs.glade.h:3 +msgid "Remember PGP Passphrases" +msgstr "Remember PGP Passphrases" + +#: ../libseahorse/seahorse-prefs.glade.h:4 +msgid "Secure Shell Keys" +msgstr "མཐའ་བཙན་གྱི་ཤལ་ལྡེ་མིག་" + +#: ../libseahorse/seahorse-prefs.glade.h:5 +msgid "Warning: The 'seahorse-agent' program is not running. This program is necessary in order to cache passphrases. " +msgstr "ཉེན་བརྡ་: 'seahorse-agent'ལས་རིམ་འདི་ གཡོག་བཀོལ་དོ། ལས་རིམ་འདི་ ཆོག་ཚིག་ཚུ་འདྲ་མཛོད་ནང་བཙུག་ནི་གི་དོན་ལས་ དགོས་མཁོ་ཡོདཔ་ཨིན།" + +#: ../libseahorse/seahorse-prefs.glade.h:6 +msgid "A non-supported PGP passphrase caching agent is running." +msgstr " རྒྱབ་སྐྱོར་མ་འབད་མི་ པི་ཇི་པི་ ཆོག་ཚིག་འདྲ་མཛོད་ལས་ཚབ་འདི་ གཡོག་བཀོལ་དོ།" + +#: ../libseahorse/seahorse-prefs.glade.h:7 +msgid "No SSH caching agent is running. Cannot load Secure Shell keys." +msgstr "ཨེསི་ཨེསི་ཨེཅ་ འདྲ་མཛོད་ལས་ཚབ་འདི་ གཡོག་བཀོལ་དོ། མཐའ་བཙན་གྱི་ཤལ་ལྡེ་མིག་ཚུ་ མངོན་གསལ་འབད་མི་བཏུབ།" + +#: ../libseahorse/seahorse-prefs.glade.h:8 +msgid "This key is used to sign messages when no other key is chosen" +msgstr "ལྡེ་མིག་འདི་ ལྡེ་མིག་གཞན་མི་གདམ་ཁ་མ་རྐྱབ་པའི་སྐབས་ལུ་ འཕྲིན་དོན་གུ་མིང་རྟགས་བཀོད་ནིའི་དོན་ལུ་ ལག་ལེན་འཐབ་ཨིན་" + +#: ../libseahorse/seahorse-prefs.glade.h:9 +msgid "Automatically load _Secure Shell keys" +msgstr "རང་བཞིན་གྱིས་མངོན་གསལ་འབད་བའི་མཐའ་བཙན་ཤལ་གྱི་ལྡེ་མིག་ཚུ་(_S)" + +#: ../libseahorse/seahorse-prefs.glade.h:10 +msgid "Automatically retrieve keys from key servers." +msgstr "ལེགས་བཅོས་འབད་ཡོད་པའི་ལྡེ་མིག་ཚུ་ ཀི་སར་་བརསི་དང་་བཅས་ རང་བཞིན་གྱིས་མཉམ་འབྱུང་འབད།" + +#: ../libseahorse/seahorse-prefs.glade.h:11 +msgid "Automatically synchronize modified keys with key servers. " +msgstr "ལེགས་བཅོས་འབད་ཡོད་པའི་ལྡེ་མིག་ཚུ་ ཀི་སར་་བརསི་དང་་བཅས་ རང་བཞིན་གྱིས་མཉམ་འབྱུང་འབད།" + +#: ../libseahorse/seahorse-prefs.glade.h:12 +msgid "Encryption Settings" +msgstr "གསང་བཟོའི་སྒྲིག་སྟངས་" + +#: ../libseahorse/seahorse-prefs.glade.h:13 +msgid "Key Servers" +msgstr "ལྡེ་མིག་སར་བར་ཚུ་" + +#: ../libseahorse/seahorse-prefs.glade.h:14 +msgid "Key Sharing" +msgstr "ལྡེ་མིག་རུབ་སྤྱོད་" + +#: ../libseahorse/seahorse-prefs.glade.h:15 +msgid "Passphrase Cache" +msgstr "ཆོག་ཚིག་འདྲ་མཛོེད་" + +#: ../libseahorse/seahorse-prefs.glade.h:16 +msgid "Session Properties" +msgstr "ལཱ་ཡུན་གྱི་རྒྱུ་དངོས་" + +#: ../libseahorse/seahorse-prefs.glade.h:17 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've collected. This means they can automatically encrypt things for you or those you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." +msgstr "" +"ལྡེ་མིག་རུབ་སྤྱོད་འབད་མི་གིས་ ཁྱོད་ཀྱི་ཡོངས་འབྲེལ་གུ་ལུ་ ཁྱོད་རང་གིས་བསྡུ་ལེན་འབད་ཡོད་པའི་ལྡེ་མིག་ཚུ་ མི་གཞན་ལུ་ལག་ལེན་འཐབ་བཅུགཔ་ཨིན། དེ་ཡང་ག་དེ་སྦེ་སྨོ་ཟེར་བ་ཅིན་ ཁོང་ཚུ་ལུ་ ཁྱོད་རའི་ལྡེ་མིག་མ་བསྐྱལ་བར་ ཁྱོད་ར་ ཡང་ན་ ཁྱོད་ཀྱིས་ངོ་ཤེས་མི་ཚུ་ལུ་ གསང་བ་བཟོ་ཚུགས།\n" +"\n" +"Note: རང་དོན་ལྡེ་མིག་འདི་ བདེ་ཏོག་ཏོག་མི་བཟོ།" + +#: ../libseahorse/seahorse-prefs.glade.h:20 +msgid "Start seahorse-agent" +msgstr "སི་ཧོརསི་-ལས་ཚབ་འགོ་བཙུགས་" + +#: ../libseahorse/seahorse-prefs.glade.h:21 +msgid "" +"To avoid manually starting the 'seahorse-agent' in the future\n" +"add it to the Session Manager. " +msgstr "" +"མ་འོངས་པའི་ནང་ 'seahorse-agent' ལག་ཐོག་ལས་འགོ་བཙུག་ནི་ལས་ཟུར་དགོ་པ་ཅིན་ \n" +"ལཱ་ཡུན་འཛིན་སྐྱོང་པ་ནང་ཁ་སྐོང་རྐྱབས།" + +#: ../libseahorse/seahorse-prefs.glade.h:23 +msgid "When _encrypting, always include myself as a recipient" +msgstr "གསང་བཟོའི་སྐབས་ ཨ་རྟག་ར་ རང་ར་ཐོབ་མཁན་གྱི་གྲངས་སུ་བཙུགས་དགོཔ་ཨིན།(_e)" + +#: ../libseahorse/seahorse-prefs.glade.h:24 +msgid "_Always remember passphrases whenever logged in" +msgstr "ནམ་ར་འབད་རུང་ ནང་བསྐྱོད་འབད་བའི་ཚེ་ ཁྱོད་རའི་ཆོག་ཡིག་འདི་སེམས་ཁར་བཞག་དགོ་(_A)" + +#: ../libseahorse/seahorse-prefs.glade.h:25 +msgid "_Ask me before using a cached passphrase" +msgstr "འདྲ་མཛོད་ནང་བཙུགས་ཡོད་པའི་ཆོག་ཚིག་ཅིག་ ལག་ལེན་མ་འཐབ་པའི་ཧེ་མ་ལས་འདྲི་དགོ་(_A)" + +#: ../libseahorse/seahorse-prefs.glade.h:26 +msgid "_Default Key:" +msgstr "སྔོན་སྒྲིག་ལྡེ་མིག་:(_D)" + +#: ../libseahorse/seahorse-prefs.glade.h:27 +msgid "_Find Keys Using:" +msgstr "ལག་ལེན་གྱི་ཐོག་ལས་ ལྡེ་མིག་འཚོལ་:(_F)" + +#: ../libseahorse/seahorse-prefs.glade.h:28 +msgid "_Never remember passphrases" +msgstr "ཆོག་ཚིག་ཚུ་ སེམས་ཁར་བཞག་ནི་མི་འོང་(_N)" + +#: ../libseahorse/seahorse-prefs.glade.h:29 +msgid "_Publish Keys To:" +msgstr "ལྡེ་མིག་ཚུ་དཔེ་བསྐྲུན་འབད་:(_P)" + +#: ../libseahorse/seahorse-prefs.glade.h:30 +msgid "_Remember passphrases for" +msgstr "ཆོག་ཚིག་སེམས་ཁར་བཞག་(_R)" + +#: ../libseahorse/seahorse-prefs.glade.h:31 +msgid "_Share my keys with others on my network" +msgstr "ངེ་གི་ཡོངས་འབྲེལ་གུ་ལུ་ ངེ་གི་ལྡེ་མིག་ཚུ་གཞན་དང་གཅིག་ཁར་རུབ་སྤྱོད་འབད་(_S)" + +#: ../libseahorse/seahorse-prefs.glade.h:32 +msgid "minutes" +msgstr "དཀར་མ་ཚུ་" + +#: ../libseahorse/seahorse-progress.glade.h:1 +msgid "Progress Message" +msgstr "ཡར་འཕེལ་འཕྲིན་དོན་" + +#: ../libseahorse/seahorse-progress.glade.h:2 +msgid "Progress Status" +msgstr "ཡར་འཕེལ་གནས་ཚད་" + +#: ../libseahorse/seahorse-progress.glade.h:3 +msgid "Progress Title" +msgstr "ཡར་འཕེལ་མགོ་མིང་" + +#: ../libseahorse/seahorse-secure-entry.c:275 +msgid "Cursor Position" +msgstr "འོད་རྟགས་ཀྱི་གནས་ས་" + +#: ../libseahorse/seahorse-secure-entry.c:275 +msgid "The current position of the insertion cursor in chars" +msgstr "ཅརསི་ནང་ལུ་ བཙུགས་པའི་འོད་རྟགས་ཀྱི་ད་ལྟོའི་གནས་ས་" + +#: ../libseahorse/seahorse-secure-entry.c:279 +msgid "Selection Bound" +msgstr "སེལ་འཐུའི་བཅད་མཚམས་" + +#: ../libseahorse/seahorse-secure-entry.c:279 +msgid "The position of the opposite end of the selection from the cursor in chars" +msgstr "ཅརསི་ནང་ལུ་ འོད་རྟགས་ནང་ལས་ སེལ་འཐུའི་རྒྱབ་རྒྱལ་མཇུག་གི་གནས་ས་" + +#: ../libseahorse/seahorse-secure-entry.c:283 +msgid "Maximum length" +msgstr "རིང་ཚད་མཐོ་ཤོས་" + +#: ../libseahorse/seahorse-secure-entry.c:283 +msgid "Maximum number of characters for this entry. Zero if no maximum" +msgstr "ཐོ་བཀོད་འདི་གི་དོན་ལུ་ ཡིག་འབྲུའི་ཨང་གྲངས་མང་མཐའ། མང་མཐའ་མེད་པ་ཅིན་ ཀླད་ཀོར་ཨིན་" + +#: ../libseahorse/seahorse-secure-entry.c:287 +msgid "Has Frame" +msgstr "གཞི་ཁྲམ་འདུག་" + +#: ../libseahorse/seahorse-secure-entry.c:287 +msgid "FALSE removes outside bevel from entry" +msgstr "རྫུན་མ་གིས་ ཐོ་བཀོད་ནང་ལས་ ཕྱི་ཁའི་གནས་རིམ་འདི་རྩ་བསྐྲད་གཏངམ་ཨིན་" + +#: ../libseahorse/seahorse-secure-entry.c:291 +msgid "Invisible character" +msgstr "མཐོང་མ་ཚུགས་པའི་ཡིག་འབྲུ་" + +#: ../libseahorse/seahorse-secure-entry.c:291 +msgid "The character to use when masking entry contents (in \"password mode\")" +msgstr "ཐོ་བཀོད་ནང་དོན་ཚུ་ ངོ་རྫུས་བཟོ་བའི་སྐབས་ ལག་ལེན་འཐབ་ནིའི་ཡིག་འབྲུ་(\"password mode\"ནང་ལུ་)" + +#: ../libseahorse/seahorse-secure-entry.c:295 +msgid "Activates default" +msgstr "སྔོན་སྒྲིག་ཤུགས་ལྡན་བཟོཝ་ཨིན་" + +#: ../libseahorse/seahorse-secure-entry.c:295 +msgid "Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed" +msgstr "བཙུགས་འདི་ཨེབས་པའི་སྐབས་ སྔོན་སྒྲིག་ཝི་གེཊི་(ཌའི་ལོག་ཨེབ་རྟ་ནང་ཡོད་པའི་སྔོན་སྒྲིག་ཨེབ་རྟ་བཟུམ་)འདི་ ཤུགས་ལྡན་བཟོ་ནི་ཨིན་ན་མེན་ན་" + +#: ../libseahorse/seahorse-secure-entry.c:299 +msgid "Width in chars" +msgstr "ཅརསི་ནང་གི་རྒྱ་ཚད་" + +#: ../libseahorse/seahorse-secure-entry.c:299 +msgid "Number of characters to leave space for in the entry" +msgstr "ཐོ་བཀོད་ནང་ ས་སྟོང་བཞག་ནིའི་ཡིག་འབྲུ་ཨང་གྲངས་" + +#: ../libseahorse/seahorse-secure-entry.c:303 +msgid "Scroll offset" +msgstr "བཤུད་བསྒྲིལ་པར་ལེན་" + +#: ../libseahorse/seahorse-secure-entry.c:303 +msgid "Number of pixels of the entry scrolled off the screen to the left" +msgstr "གསལ་གཞིའི་གཡོན་ཕྱོགས་ལུ་ ཐོ་བཀོད་བཤུད་བསྒྲིལ་འབད་ཡོད་པའི་པིག་སེལསི་གི་ཨང་གྲངས་" + +#: ../libseahorse/seahorse-secure-entry.c:307 +msgid "Text" +msgstr "ཚིག་ཡིག་" + +#: ../libseahorse/seahorse-secure-entry.c:307 +msgid "The contents of the entry" +msgstr "ཐོ་བཀོད་ཀྱི་ནང་དོན་" + +#: ../libseahorse/seahorse-secure-entry.c:311 +msgid "Visibility" +msgstr "མཐོང་གསལ་" + +#: ../libseahorse/seahorse-secure-entry.c:311 +msgid "Whether contents are drawn using invisible character" +msgstr "མི་གིས་མ་མཐོང་པའི་ཡིག་འབྲུ་ལག་ལེན་གྱི་ཐོག་ལས་ ནང་དོན་ཚུ་བྲིས་ཡོདཔ་ཨིན་ན་མེན་" + +#: ../libseahorse/seahorse-server-source.c:466 +msgid "LDAP Key Server" +msgstr "ཨེལ་ཌི་ཨེ་པི་ ལྡེ་མིག་སར་བར་" + +#: ../libseahorse/seahorse-server-source.c:469 +msgid "HTTP Key Server" +msgstr "ཨེཅ་ཊི་ཊི་པི་ ལྡེ་མིག་སརབར་" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../libseahorse/seahorse-signer.c:57 +#: ../src/seahorse-sign.c:159 +msgid "No keys usable for signing" +msgstr "མིང་རྟགས་བཀོད་ནི་གི་དོན་ལུ་ ལག་ལེན་འཐབ་བཏུབ་པའི་ལྡེ་མིག་མིན་འདུག" + +#: ../libseahorse/seahorse-signer.c:58 +msgid "You have no personal PGP keys that can be used to sign a document or message." +msgstr "ཁྱོད་ལུ་ཡིག་ཆ་ ཡང་ན་ འཕྲིན་དོན་མིང་རྟགས་བཀོད་ནི་ལུ་ལག་ལེན་འཐབ་སྲོལ་ཡོད་པའི་ རང་དོན་གྱི་པི་ཇི་པི་ལྡེ་མིག་ཚུ་མིན་འདུག་" + +#: ../libseahorse/seahorse-signer.glade.h:1 +msgid "_Sign message with key:" +msgstr "ལྡེ་མིག་གི་ཐོག་ལས་ འཕྲིན་དོན་ལུ་རྟགས་བཀལ་:(_S)" + +#: ../libseahorse/seahorse-ssh-key.c:90 +msgid "(Unreadable Secure Shell Key)" +msgstr "(ལྷག་མ་བཏུབ་པའི་མཐའ་བཙན་ཤལ་གྱི་ལྡེ་མིག་)" + +#: ../libseahorse/seahorse-ssh-key.c:94 +#: ../libseahorse/seahorse-ssh-key.c:98 +#: ../libseahorse/seahorse-ssh-source.c:746 +#: ../src/seahorse-generate-select.c:145 +#: ../src/seahorse-ssh-key-properties.glade.h:20 +msgid "Secure Shell Key" +msgstr "མཐའ་བཙན་ཤལ་གྱི་ལྡེ་མིག་" + +#: ../libseahorse/seahorse-ssh-key.c:126 +msgid "Private Secure Shell Key" +msgstr "སྒེར་གཙང་མཐའ་བཙན་ཤལ་གྱི་ལྡེ་མིག་" + +#: ../libseahorse/seahorse-ssh-key.c:129 +msgid "Public Secure Shell Key" +msgstr "མི་མང་མཐའ་བཙན་ཤལ་གྱི་ལྡེ་མིག་" + +#: ../libseahorse/seahorse-ssh-operation.c:135 +#: ../libseahorse/seahorse-ssh-operation.c:697 +msgid "The SSH command was terminated unexpectedly." +msgstr "ཨེསི་ཨེསི་ཨེཆ་ བརྡ་བཀོད་འདི་ རེ་བ་མེདཔ་སྦེ་བཏོན་བཏང་ཡོདཔ།" + +#: ../libseahorse/seahorse-ssh-operation.c:143 +#: ../libseahorse/seahorse-ssh-operation.c:704 +msgid "The SSH command failed." +msgstr "ཨེསི་ཨེསི་ཨེཅ་བརྡ་བཀོད་ འཐུས་ཤོར་བྱུང་ཡོདཔ།" + +#: ../libseahorse/seahorse-ssh-operation.c:441 +msgid "Secure Shell key" +msgstr "མཐའ་བཙན་ཤལ་གྱི་ལྡེ་མིག་" + +#. Just prompt over and over again +#: ../libseahorse/seahorse-ssh-operation.c:727 +msgid "Secure Shell Passphrase" +msgstr "མཐའ་བཙན་ཤལ་གྱི་ཆོག་ཚིག་" + +#: ../libseahorse/seahorse-ssh-operation.c:813 +msgid "Old Key Passphrase" +msgstr "ལྡེ་མིག་ཆོག་ཚིག་རྙིངམ་" + +#: ../libseahorse/seahorse-ssh-operation.c:814 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "%s གི་དོན་ལུ་ ཆོག་ཚིག་རྙིངམ་བཙུགས་:" + +#: ../libseahorse/seahorse-ssh-operation.c:818 +msgid "New Key Passphrase" +msgstr "ལྡེ་མིག་ཆོག་ཚིག་གསརཔ་" + +#: ../libseahorse/seahorse-ssh-operation.c:819 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "%s གི་དོན་ལུ་ ཆོག་ཚིག་བཙུགས་:" + +#: ../libseahorse/seahorse-ssh-operation.c:827 +msgid "Enter Key Passphrase" +msgstr "ལྡེ་མིག་ཆོག་ཚིག་བཙུགས་" + +#: ../libseahorse/seahorse-ssh-operation.c:895 +msgid "Passphrase for New Secure Shell Key" +msgstr "མཐའ་བཙན་ཤལ་ལྡེ་མིག་གསརཔ་གི་དོན་ལུ་ ཆོག་ཚིག་" + +#: ../libseahorse/seahorse-ssh-operation.c:896 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "མཐའ་བཙན་ཤལ་ལྡེ་མིག་གསརཔ་གི་དོན་ལུ་ ཆོག་ཚིག་ཅིག་བཙུགས་" + +#: ../libseahorse/seahorse-ssh-operation.c:1034 +msgid "Secure Shell Key Passphrase" +msgstr "མཐའ་བཙན་ཤལ་ལྡེ་མིག་ ཆོག་ཚིག་" + +#: ../libseahorse/seahorse-ssh-operation.c:1034 +#, c-format +msgid "Enter the passphrase for: %s" +msgstr "%sགི་དོན་ལུ་ ཆོག་ཚིག་བཙུགས་:" + +#: ../libseahorse/seahorse-ssh-operation.c:1035 +msgid "Save this passphrase in my keyring" +msgstr "ངེ་གི་ལྡེ་འཁོར་ནང་ ཆོག་ཚིག་འདི་སྲུངས་" + +#: ../libseahorse/seahorse-ssh-operation.c:1109 +#, c-format +msgid "Importing key: %s" +msgstr "ལྡེ་མིག་ནང་འདྲེན་འབད་དོ་: %s" + +#: ../libseahorse/seahorse-ssh-operation.c:1111 +msgid "Importing key. Enter passphrase" +msgstr "ལྡེ་མིག་ནང་འདྲེན་འབད་དོ། ཆོག་ཚིག་བཙུགས་" + +#: ../libseahorse/seahorse-ssh-operation.c:1113 +#: ../src/seahorse-key-manager.c:515 +#: ../src/seahorse-pgp-keys.desktop.in.in.h:1 +msgid "Import Key" +msgstr "ལྡེ་མིག་ནང་འདྲེན་འབད་" + +#: ../libseahorse/seahorse-unknown-key.c:67 +msgid "Unavailable" +msgstr "ཐོབ་མ་ཚུགསཔ་" + +#: ../libseahorse/seahorse-unknown-key.c:87 +#, c-format +msgid "Unknown Key: %s" +msgstr "མ་ཤེས་པའི་ལྡེ་མིག་: %s" + +#: ../libseahorse/seahorse-unknown-key.c:119 +msgid "Unknown Key" +msgstr "མ་ཤེས་པའི་ལྡེ་མིག་" + +#: ../libseahorse/seahorse-unknown-source.c:128 +msgid "Unavailable Key" +msgstr "ཐོབ་མ་ཚུགས་པའི་ལྡེ་མིག་" + +#: ../libseahorse/seahorse-util.c:172 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "གསང་བཤོལ་མཐར་མ་འཁྱོལ། ཁྱོད་ལུ་གསང་བཤོལ་གྱི་ལྡེ་མིག་མེདཔ་འོང་།" + +#: ../libseahorse/seahorse-util.c:199 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-util.c:390 +msgid "Key Data" +msgstr "ལྡེ་མིག་གནད་སྡུད་" + +#: ../libseahorse/seahorse-util.c:392 +msgid "Multiple Keys" +msgstr "སྣ་མང་ལྡེ་མིག་" + +#: ../libseahorse/seahorse-util.c:705 +msgid "Couldn't run file-roller" +msgstr "ཡིག་སྣོད་-སྒྲིལ་བྱེད་ གཡོག་བཀོལ་མ་ཚུགས་" + +#: ../libseahorse/seahorse-util.c:710 +#: ../plugins/nautilus/seahorse-tool-files.c:645 +msgid "Couldn't package files" +msgstr "ཡིག་སྣོད་ཚུ་ ཐུམ་སྒྲིལ་བཟོ་མ་ཚུགས་" + +#: ../libseahorse/seahorse-util.c:711 +msgid "The file-roller process did not complete successfully" +msgstr "ཡིག་སྣོད་-སྒྲིལ་བྱེད་ལས་སྦྱོར་ མཐར་འཁྱོལ་ཅན་སྦེ་མཇུག་མ་བསྡུ་" + +#: ../libseahorse/seahorse-util.c:721 +msgid "Couldn't set permissions on backup file." +msgstr "རྒྱབ་ཐག་ཡིག་སྣོད་གུ་ གནང་བ་གཞི་སྒྲིག་མ་འབད།" + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:825 +msgid "All key files" +msgstr "ལྡེ་མིག་ཡིག་སྣོད་ཆ་མཉམ་" + +#: ../libseahorse/seahorse-util.c:836 +#: ../libseahorse/seahorse-util.c:876 +#: ../src/seahorse-photos.c:239 +msgid "All files" +msgstr "ཡིག་སྣོད་ཆ་མཉམ་" + +#: ../libseahorse/seahorse-util.c:869 +msgid "Archive files" +msgstr "ཡིག་མཛོད་ཡིག་སྣོད་" + +#: ../libseahorse/seahorse-util.c:910 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" +"འ་ནི་མིང་འདི་ཨིན་པའི་ཡིག་སྣོད་འདི་ ཧེ་མ་ལས་ར་ཡོདཔ་ཨིན།\n" +"\n" +"དེ་ཡིག་སྣོད་གསརཔ་ཅིག་གིས་ ཚབ་བཙུགས་འབད་ནི་ཨིན་ན་?" + +#: ../libseahorse/seahorse-util.c:913 +msgid "_Replace" +msgstr "ཚབ་མ་བཙུགས་(_R)" + +#: ../libseahorse/seahorse-validity.c:33 +#: ../src/seahorse-key-properties.c:1096 +#: ../src/seahorse-key-properties.c:1228 +#: ../src/seahorse-key-properties.c:1300 +msgid "Never" +msgstr "ནམ་ཡང་" + +#: ../libseahorse/seahorse-validity.c:35 +#: ../src/seahorse-key-properties.c:1103 +msgid "Marginal" +msgstr "ས་སྟོང་གི་" + +#: ../libseahorse/seahorse-validity.c:37 +#: ../src/seahorse-key-properties.c:1109 +msgid "Full" +msgstr "གང་" + +#: ../libseahorse/seahorse-validity.c:39 +#: ../src/seahorse-key-properties.c:1115 +msgid "Ultimate" +msgstr "དྲག་ཤོས་" + +#: ../libseahorse/seahorse-validity.c:41 +msgid "Disabled" +msgstr "ལྕོགས་མིན་ཐལ་ཡོདཔ་" + +#: ../libseahorse/seahorse-validity.c:43 +#: ../src/seahorse-key-properties.c:1296 +msgid "Revoked" +msgstr "ཆ་མེད་བཏང་གྲུབ་" + +#: ../libseahorse/seahorse-widget.c:312 +#, c-format +msgid "Could not display help: %s" +msgstr "གྲོགས་རམ་བཀྲམ་སྟོན་འབད་མ་ཚུགས་: %s" + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:1 +msgid "Clipboard Text Encryption" +msgstr "འཛིན་པང་ཚིག་ཡིག་ གསང་བཟོ་" + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:2 +msgid "Encrypt, decrypt or sign the clipboard (uses PGP type encryption)." +msgstr "འཛིན་པང་འདི་ གསང་བ་བཟོ་ ཡངན་ གསང་བཤོལ་དང་མིང་རྟགས་བཀོད་(པི་ཇི་པི་དབྱེ་བའི་གསང་བཟོ་ལག་ལེན་འཐབ་ཨིན་)།" + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:3 +msgid "Seahorse Applet Factory" +msgstr "སི་ཧོརསི་ ཨེཔ་ལེཊི་འཕྲུལ་ཁང་" + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:1 +#: ../src/seahorse-key-manager.c:1206 +msgid "_About" +msgstr "སྐོར་ལས་(_A)" + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:2 +#: ../src/seahorse-key-manager.c:1190 +#: ../src/seahorse-keyserver-results.c:379 +msgid "_Help" +msgstr "གྲོགས་རམ་(_H)" + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:3 +msgid "_Preferences" +msgstr "དགའ་་གདམ་ཚུ་(_P)" + +#: ../plugins/applet/seahorse-applet.c:309 +msgid "seahorse-applet" +msgstr "སི་ཧོརསི་-ཨེཔ་ལེཊི་" + +#: ../plugins/applet/seahorse-applet.c:311 +#: ../plugins/applet/seahorse-applet.c:832 +msgid "Use PGP/GPG to encrypt/decrypt/sign/verify/import the clipboard." +msgstr "གསང་བཟོ་/གསང་བཤོལ་/མིང་རྟགས་/བདེན་སྦྱོར་/འཛིན་པང་ནང་འདྲེན་འབད་ནི་ལུ་ པི་ཇི་པི་/ཇི་པི་ཇི་ ལག་ལེན་འཐབ།" + +#: ../plugins/applet/seahorse-applet.c:316 +#: ../src/seahorse-key-manager.c:872 +msgid "translator-credits" +msgstr "སྐད་སྒྱུར་པ་-ངོ་བསྟོད་" + +#: ../plugins/applet/seahorse-applet.c:319 +#: ../src/seahorse-key-manager.c:875 +msgid "Seahorse Project Homepage" +msgstr "སི་ཧོརསི་ ལས་འགུལ་ ཁྱིམ་ཤོག་ལེབ་" + +#. Get the recipient list +#: ../plugins/applet/seahorse-applet.c:374 +#: ../plugins/epiphany/seahorse-extension.c:251 +#: ../plugins/gedit/seahorse-gedit.c:332 +msgid "Choose Recipient Keys" +msgstr "ཐོབ་མཁན་གྱི་ལྡེ་མིག་ཚུ་ གདམ་ཁ་རྐྱབས་" + +#: ../plugins/applet/seahorse-applet.c:393 +msgid "Encrypted Text" +msgstr "གསང་བཟོས་ཚིག་ཡིག་" + +#: ../plugins/applet/seahorse-applet.c:395 +msgid "Encryption Failed" +msgstr "གསང་བཟོ་འཐུས་ཤོར་བྱུང་ཡོདཔ་" + +#: ../plugins/applet/seahorse-applet.c:396 +msgid "The clipboard could not be encrypted." +msgstr "འཛིན་པང་འདི་བཀྲམ་སྟོན་འབད་མི་བཏུབ།" + +#: ../plugins/applet/seahorse-applet.c:430 +#: ../plugins/epiphany/seahorse-extension.c:296 +#: ../plugins/gedit/seahorse-gedit.c:611 +msgid "Choose Key to Sign with" +msgstr "མིང་རྟགས་བཀོད་ནི་གི་དོན་ལུ་ ལྡེ་མིག་གདམ་ཁ་རྐྱབས་" + +#: ../plugins/applet/seahorse-applet.c:449 +msgid "Signed Text" +msgstr "མིང་རྟགས་བཀོད་ཡོད་པའི་ཚིག་ཡིག་" + +#: ../plugins/applet/seahorse-applet.c:451 +msgid "Signing Failed" +msgstr "མིང་རྟགས་བཀོད་ནི་ འཐུས་ཤོར་བྱུང་ཡོདཔ་" + +#: ../plugins/applet/seahorse-applet.c:452 +msgid "The clipboard could not be Signed." +msgstr "འཛིན་པང་འདི་ མིང་རྟགས་བཀོད་མ་བཏུབ།" + +#: ../plugins/applet/seahorse-applet.c:495 +#: ../plugins/epiphany/seahorse-extension.c:340 +msgid "Import Failed" +msgstr "ནང་འདྲེན་འཐུས་ཤོར་བྱུང་ཡོདཔ་" + +#: ../plugins/applet/seahorse-applet.c:496 +#: ../plugins/epiphany/seahorse-extension.c:341 +msgid "Keys were found but not imported." +msgstr "ལྡེ་མིག་ཚུ་ཐོབ་ཡོད་རུང་ ནང་འདྲེན་འབད་མ་ཚུགས།" + +#: ../plugins/applet/seahorse-applet.c:527 +#: ../plugins/epiphany/seahorse-extension.c:374 +msgid "Decrypting Failed" +msgstr "གསང་བཤོལ་འཐུས་ཤོར་བྱུང་ཡོདཔ་" + +#: ../plugins/applet/seahorse-applet.c:528 +#: ../plugins/epiphany/seahorse-extension.c:375 +msgid "Text may be malformed." +msgstr "ཚིག་ཡིག་འདི་བཟོ་ཉེས་གྱུར་ཡོདཔ་འོང་ནི་མས།" + +#: ../plugins/applet/seahorse-applet.c:579 +msgid "No PGP key or message was found on clipboard" +msgstr "འཛིན་པང་གུ་ པི་ཇི་པི་ལྡེ་མིག་ ཡང་ན་ འཕྲིན་དོོན་མ་ཐོབ་" + +#: ../plugins/applet/seahorse-applet.c:580 +msgid "No PGP data found." +msgstr "པི་ཇི་པི་ གནད་སྡུད་མ་ཐོབ།" + +#: ../plugins/applet/seahorse-applet.c:613 +msgid "Decrypted Text" +msgstr "གསང་བཤོལ་ཚིག་ཡིག་" + +#: ../plugins/applet/seahorse-applet.c:681 +msgid "Could not display the help file" +msgstr "གྲོགས་རམ་ཡིག་སྣོད་ བཀྲམ་སྟོན་འབད་མ་ཚུགས་" + +#: ../plugins/applet/seahorse-applet.c:744 +msgid "_Encrypt Clipboard" +msgstr "གསང་བཟོའི་འཛིན་པང་(_E)" + +#: ../plugins/applet/seahorse-applet.c:751 +msgid "_Sign Clipboard" +msgstr "མིང་རྟགས་འཛིན་པང་(_S)" + +#: ../plugins/applet/seahorse-applet.c:758 +msgid "_Decrypt/Verify Clipboard" +msgstr "གསང་བཤོལ་/འཛིན་པང་བདེན་སྦྱོར་འབད་(_D)" + +#: ../plugins/applet/seahorse-applet.c:764 +msgid "_Import Keys from Clipboard" +msgstr "ལྡེ་མིག་ཚུ་ འཛིན་པང་ནང་ལས་ ནང་འདྲེན་འབད་(_I)" + +#: ../plugins/applet/seahorse-applet.c:829 +#: ../plugins/applet/seahorse-applet.c:831 +msgid "Encryption Applet" +msgstr "གསང་བཟོའི་ཨེ་པི་ལེཊི་" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:1 +msgid "Display clipboard contents after:" +msgstr "འཛིན་པང་ནང་དོན་ཚུ་ ཤུལ་ལས་བཀྲམ་སྟོན་འབད་:" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:2 +msgid "Clipboard Encryption Preferences" +msgstr "འཛིན་པང་གསང་བཟོ་དགའ་གདམ་" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:3 +msgid "_Decrypting or verifying the clipboard" +msgstr "འཛིན་པང་ གསང་བཤོལ་ ཡང་ན་ བདེན་སྦྱོར་འབད་དོ་(_D)" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:4 +msgid "_Encrypting or signing the clipboard" +msgstr "འཛིན་པང་ལུ་ གསང་བཟོ་ ཡང་ན་ མིང་རྟགས་བཀོད་དོ་(_E)" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:5 +msgid "_Show clipboard state in panel" +msgstr "པེ་ནཱལ་ནང་ འཛིན་པང་གནས་ལུགས་སྟོན་(_S)" + +#: ../plugins/epiphany/seahorse-extension.c:602 +msgid "_Encrypt" +msgstr "གསང་བཟོ་(_E)" + +#: ../plugins/epiphany/seahorse-extension.c:609 +#: ../src/seahorse-sign.glade.h:21 +msgid "_Sign" +msgstr "མིང་རྟགས་(_S)" + +#: ../plugins/epiphany/seahorse-extension.c:616 +msgid "_Decrypt/Verify" +msgstr "གསང་བཤོལ་/བདེན་སྦྱོར་(_D)" + +#: ../plugins/epiphany/seahorse-extension.c:623 +msgid "_Import Key" +msgstr "ལྡེ་མིག་ནང་འདྲེན་འབད་(_I)" + +#: ../plugins/gedit/seahorse-gedit.c:265 +msgid "Couldn't connect to seahorse-daemon" +msgstr "སི་ཧོརསི་-ཌེ་མཱོན་ལུ་མཐུད་མ་ཚུགས་" + +#: ../plugins/gedit/seahorse-gedit.c:354 +msgid "Encrypted text" +msgstr "གསང་བཟོས་ཚིག་ཡིག་" + +#: ../plugins/gedit/seahorse-gedit.c:357 +msgid "Couldn't encrypt text" +msgstr "ཚིག་ཡིག་གསང་བ་བཟོ་མ་ཚུགས་" + +#: ../plugins/gedit/seahorse-gedit.c:387 +#: ../src/seahorse-key-manager.c:395 +#: ../src/seahorse-key-manager.c:463 +#: ../src/seahorse-key-manager.c:486 +msgid "Couldn't import keys" +msgstr "ལྡེ་མིག་ཚུ་ནང་འདྲེན་འཐབ་མ་ཚུགས་" + +#: ../plugins/gedit/seahorse-gedit.c:396 +msgid "Keys found but not imported" +msgstr "ལྡེ་མིག་ཚུ་ཐོབ་ཡོད་རུང་ ནང་འདྲེན་འཐབ་མ་ཚུགས་" + +#: ../plugins/gedit/seahorse-gedit.c:430 +msgid "Couldn't decrypt text" +msgstr "ཚིག་ཡིག་གསང་བཤོལ་འབད་མ་ཚུགས་" + +#: ../plugins/gedit/seahorse-gedit.c:462 +msgid "Couldn't verify text" +msgstr "ཚིག་ཡིག་བདེན་སྦྱོར་འབད་མ་ཚུགས་" + +#: ../plugins/gedit/seahorse-gedit.c:510 +msgid "No encrypted or signed text is selected." +msgstr "གསང་བཟོས་ ཡང་ན་ མིང་རྟགས་བཀོད་ཡོད་པའི་ཚིག་ཡིག་ སེལ་འཐུ་མ་འབད་བས།" + +#: ../plugins/gedit/seahorse-gedit.c:540 +msgid "Decrypted text" +msgstr "གསང་བཤོལ་ཅན་གྱི་ཚིག་ཡིག་" + +#: ../plugins/gedit/seahorse-gedit.c:547 +msgid "Verified text" +msgstr "བདེན་སྦྱོར་འབད་ཡོད་པའི་ཚིག་ཡིག་" + +#: ../plugins/gedit/seahorse-gedit.c:582 +#: ../plugins/nautilus/seahorse-tool.c:374 +#: ../src/seahorse-key-manager.c:404 +#, c-format +msgid "Imported %d key" +msgid_plural "Imported %d keys" +msgstr[0] "ནང་འདྲེན་འབད་ཡོད་པའི་%d ལྡེ་མིག་" +msgstr[1] "ནང་འདྲེན་འབད་ཡོད་པའི་%d ལྡེ་མིག་ཚུ་" + +#: ../plugins/gedit/seahorse-gedit.c:633 +msgid "Signed text" +msgstr "མིང་རྟགས་བཀོད་ཡོད་པའི་ཚིག་ཡིག་" + +#: ../plugins/gedit/seahorse-gedit.c:636 +msgid "Couldn't sign text" +msgstr "ཚིག་ཡིག་མིང་རྟགས་བཀོད་མ་ཚུགས་" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:133 +msgid "_Encrypt..." +msgstr "གསང་བཟོ་་་་་་(_E)" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:134 +msgid "Encrypt the selected text" +msgstr "སེལ་འཐུ་འབད་ཡོད་པའི་ཚིག་ཡིག་ གསང་བ་བཟོ་" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:135 +msgid "Decr_ypt/Verify" +msgstr "གསང་བཤོལ་/བདེན་སྦྱོར་(_y)" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:136 +msgid "Decrypt and/or Verify text" +msgstr "ཚིག་ཡིག་འདི་གསང་བཤོལ་དང་/ ཡང་ན་ བདེན་སྦྱོར་འབད་" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:137 +msgid "Sig_n..." +msgstr "མིང་རྟགས་་་་(_n)" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:138 +msgid "Sign the selected text" +msgstr "སེལ་འཐུ་འབད་ཡོད་པའི་ཚིག་ཡིག་གུ་ མིང་རྟགས་བཀལ་" + +#: ../plugins/gedit/seahorse-gedit.schemas.in.h:1 +msgid "Enable the seahorse encryption plugin for gedit." +msgstr "ཇི་ཨི་ཌིཊི་གི་དོན་ལས་ སི་ཧོརསི་ གསང་བཟོ་ལྕོགས་ཅན་བཟོ།" + +#: ../plugins/gedit/seahorse-gedit.schemas.in.h:2 +msgid "Enable the seahorse gedit plugin" +msgstr "སི་ཧོརསི་ ཇི་ཌིཊི་ པ་ལག་ཡིན་" + +#: ../plugins/gedit/seahorse-pgp.gedit-plugin.desktop.in.h:1 +msgid "Text Encryption" +msgstr "ཚིག་ཡིག་གསང་བཟོ་" + +#: ../plugins/gedit/seahorse-pgp.gedit-plugin.desktop.in.h:2 +msgid "This plugin performs encryption operations on text." +msgstr "པ་ལག་ཡིན་གྱིས་ ཚིག་ཡིག་གུ་ གསང་བཟོ་བཀོལ་སྤྱོད་ཀྱི་ལས་འགན་གྲུབ་ཨིན།" + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:161 +msgid "Encrypt..." +msgstr "གསང་བཟོ་་་་" + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:162 +msgid "Encrypt (and optionally sign) the selected file" +msgid_plural "Encrypt the selected files" +msgstr[0] "སེལ་འཐུ་འབད་ཡོད་པའི་ཡིག་སྣོད་འདི་ གསང་བཟོ་འབད་(དེ་ལས་གདམ་ཁའི་ཐོག་ལས་མིང་རྟགས་བཀོད་)" +msgstr[1] "སེལ་འཐུ་འབད་ཡོད་པའི་ཡིག་སྣོད་ཚུ་ གསང་བཟོ་འབད་" + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:168 +#: ../src/seahorse-pgp-private-key-properties.glade.h:38 +msgid "Sign" +msgstr "མིང་རྟགས་" + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:169 +msgid "Sign the selected file" +msgid_plural "Sign the selected files" +msgstr[0] "སེལ་འཐུ་འབད་ཡོད་པའི་ཡིག་སྣོད་ལུ་ རྟགས་བཀོད་\t" +msgstr[1] "སེལ་འཐུ་འབད་ཡོད་པའི་ཡིག་སྣོད་ཚུ་ལུ་ རྟགས་བཀོད་\t" + +#: ../plugins/nautilus/seahorse-pgp-preferences.c:43 +#: ../plugins/nautilus/seahorse-pgp-preferences.c:47 +#: ../plugins/nautilus/seahorse-pgp-preferences.c:51 +msgid "For internal use" +msgstr "ནང་འཁོད་ཀྱི་དོན་ལུ་" + +#: ../plugins/nautilus/seahorse-pgp-preferences.c:78 +#: ../plugins/nautilus/seahorse-pgp-preferences.desktop.in.h:2 +msgid "Encryption Preferences" +msgstr "གསང་བཟོའི་དགའ་གདམ་" + +#: ../plugins/nautilus/seahorse-pgp-preferences.desktop.in.h:1 +msgid "Configure key servers and other encryption settings" +msgstr "ལྡེ་མིག་སར་བར་ཚུ་དང་གཞན་གསང་བཟོའི་སྒྲིག་སྟངས་ཚུ་ རིམ་སྒྲིག་འབད་" + +#: ../plugins/nautilus/seahorse-tool.c:52 +msgid "Import keys from the file" +msgstr "ལྡེ་མིག་ཚུ་ ཡིག་སྣོད་ནང་ལས་ ནང་འདྲེན་འབད་" + +#: ../plugins/nautilus/seahorse-tool.c:54 +msgid "Encrypt file" +msgstr "ཡིག་སྣོད་གསང་བ་བཟོ་" + +#: ../plugins/nautilus/seahorse-tool.c:56 +msgid "Sign file with default key" +msgstr "སྔོན་སྒྲིག་ལྡེ་མིག་དང་བཅས་ཡིག་སྣོད་གུ་རྟགས་བཀལ་" + +#: ../plugins/nautilus/seahorse-tool.c:58 +msgid "Encrypt and sign file with default key" +msgstr "སྔོན་སྒྲིག་ལྡེ་མིག་གི་ཐོག་ལས་ ཡིག་སྣོད་གསང་བ་བཟོ་སྟེ་མིང་རྟགས་བཀོད་" + +#: ../plugins/nautilus/seahorse-tool.c:60 +msgid "Decrypt encrypted file" +msgstr "གསང་བཟོས་ཡིག་སྣོད་ གསང་བཤོལ་འབད་" + +#: ../plugins/nautilus/seahorse-tool.c:62 +msgid "Verify signature file" +msgstr "མིང་རྟགས་ཡིག་སྣོད་ བདེན་སྦྱོར་འབད་" + +#: ../plugins/nautilus/seahorse-tool.c:64 +msgid "Read list of URIs on standard in" +msgstr "ཚད་ལྡན་གུ་ལུ་ ཡུ་ཨར་ཨའི་ཨེསི་གི་ལྷག་ཐོ་" + +#: ../plugins/nautilus/seahorse-tool.c:66 +msgid "file..." +msgstr "ཡིག་སྣོད..." + +#: ../plugins/nautilus/seahorse-tool.c:128 +msgid "Choose Recipients" +msgstr "ཐོབ་མཁན་གདམ་ཁ་རྐྱབས་" + +#: ../plugins/nautilus/seahorse-tool.c:190 +#: ../plugins/nautilus/seahorse-tool.c:272 +msgid "Couldn't load keys" +msgstr "ལྡེ་མིག་ཚུ་མངོན་གསལ་འབད་མ་ཚུགས་" + +#: ../plugins/nautilus/seahorse-tool.c:206 +#, c-format +msgid "Choose Encrypted File Name for '%s'" +msgstr "'%s' གི་དོན་ལུ་ གསང་བཟོས་ཡིག་སྣོད་མིང་ གདམ་ཁ་རྐྱབས་" + +#: ../plugins/nautilus/seahorse-tool.c:256 +msgid "Choose Signer" +msgstr "མིང་རྟགས་བཀོད་མི་གདམ་ཁ་རྐྱབས་" + +#: ../plugins/nautilus/seahorse-tool.c:291 +#, c-format +msgid "Choose Signature File Name for '%s'" +msgstr "'%s' གི་དོན་ལུ་ མིང་རྟགས་ཡིག་སྣོད་ཀྱི་མིང་ གདམ་ཁ་རྐྱབས་" + +#: ../plugins/nautilus/seahorse-tool.c:372 +msgid "Imported key" +msgstr "ནང་འདྲེན་འབད་ཡོད་པའི་ལྡེ་མིག་" + +#. File to decrypt to +#: ../plugins/nautilus/seahorse-tool.c:396 +#, c-format +msgid "Choose Decrypted File Name for '%s'" +msgstr "'%s' གི་དོན་ལུ་ གསང་བཤོལ་ཡིག་སྣོད་མིང་ གདམ་ཁ་རྐྱབས་" + +#: ../plugins/nautilus/seahorse-tool.c:452 +#, c-format +msgid "Choose Original File for '%s'" +msgstr "'%s' གི་དོན་ལུ་ ཡིག་སྣོད་ངོ་མ་གདམ་ཁ་རྐྱབས་" + +#. +#. * TODO: What should happen with multiple files at this point. +#. * The last thing we want to do is cascade a big pile of error +#. * dialogs at the user. +#. +#: ../plugins/nautilus/seahorse-tool.c:524 +msgid "No valid signatures found" +msgstr "ནུས་ལྡན་གྱི་མིང་རྟགས་མ་ཐོབ་" + +#: ../plugins/nautilus/seahorse-tool.c:591 +msgid "File Encryption Tool" +msgstr "ཡིག་སྣོད་གསང་བཟོའི་ལག་ཆས་" + +#: ../plugins/nautilus/seahorse-tool.c:614 +msgid "Encrypting" +msgstr "གསང་བ་བཟོ་དོ་" + +#: ../plugins/nautilus/seahorse-tool.c:615 +#, c-format +msgid "Couldn't encrypt file: %s" +msgstr "ཡིག་སྣོད་གསང་བ་བཟོ་མ་ཚུགས་: %s" + +#: ../plugins/nautilus/seahorse-tool.c:623 +msgid "Signing" +msgstr "མིང་རྟགས་བཀོད་དོ་" + +#: ../plugins/nautilus/seahorse-tool.c:624 +#, c-format +msgid "Couldn't sign file: %s" +msgstr "ཡིག་སྣོད་གུ་མིང་རྟགས་བཀོད་མ་ཚུགས་: %s" + +#: ../plugins/nautilus/seahorse-tool.c:629 +msgid "Importing" +msgstr "ནང་འདྲེན་འབད་དོ་" + +#: ../plugins/nautilus/seahorse-tool.c:630 +#, c-format +msgid "Couldn't import keys from file: %s" +msgstr "ཡིག་སྣོད་ནང་ལས་ ལྡེ་མིག་ཚུ་ནང་འདྲེན་འཐབ་མ་ཚུགས་: %s" + +#: ../plugins/nautilus/seahorse-tool.c:636 +msgid "Decrypting" +msgstr "གསང་བཤོལ་འབད་དོ་" + +#: ../plugins/nautilus/seahorse-tool.c:637 +#, c-format +msgid "Couldn't decrypt file: %s" +msgstr "ཡིག་སྣོད་གསང་བཤོལ་མ་འབད་: %s" + +#: ../plugins/nautilus/seahorse-tool.c:642 +msgid "Verifying" +msgstr "བདེན་སྦྱོར་འབད་དོ་" + +#: ../plugins/nautilus/seahorse-tool.c:643 +#, c-format +msgid "Couldn't verify file: %s" +msgstr "ཡིག་སྣོད་བདེན་སྦྱོར་འབད་མ་ཚུགས་: %s" + +#. TRANSLATOR: This string will become +#. * "You have selected %d files and %d folders" +#: ../plugins/nautilus/seahorse-tool-files.c:155 +#, c-format +msgid "You have selected %d file " +msgid_plural "You have selected %d files " +msgstr[0] "ཁྱོད་ཀྱིས་ %d ཡིག་སྣོད་དང་" +msgstr[1] "ཁྱོད་ཀྱིས་ %d ཡིག་སྣོད་ཚུ་དང་" + +#. TRANSLATOR: This string will become +#. * "You have selected %d files and %d folders" +#: ../plugins/nautilus/seahorse-tool-files.c:160 +#, c-format +msgid "and %d folder" +msgid_plural "and %d folders" +msgstr[0] "སྣོད་འཛིན་%d དང་" +msgstr[1] "སྣོད་འཛིན་%d ཚུ་ སེལ་འཐུ་འབད་ནུག་" + +#. TRANSLATOR: "%s%s" are "You have selected %d files and %d folders" +#. * Swap order with "%2$s%1$s" if needed +#: ../plugins/nautilus/seahorse-tool-files.c:165 +#, c-format +msgid "%s%s" +msgstr "%s%s" + +#. should never be called for just one file +#: ../plugins/nautilus/seahorse-tool-files.c:174 +#, c-format +msgid "You have selected %d files" +msgstr "ཁྱོད་ཀྱིས་ %d ཡིག་སྣོད་ཚུ་སེལ་འཐུ་འབད་ཡོདཔ་" + +#: ../plugins/nautilus/seahorse-tool-files.c:179 +#, c-format +msgid "You have selected %d folder" +msgid_plural "You have selected %d folders" +msgstr[0] "ཁྱོད་ཀྱིས་ སྣོད་འཛིན་ %d སེལ་འཐུ་འབད་ནུག་" +msgstr[1] "ཁྱོད་ཀྱིས་ སྣོད་འཛིན་ %d ཚུ་ སེལ་འབད་ནུག་" + +#: ../plugins/nautilus/seahorse-tool-files.c:626 +msgid "Preparing..." +msgstr "གྲ་སྒྲིག་འབད་དོ་་་་་" + +#: ../plugins/nautilus/seahorse-tool-files.c:635 +#: ../plugins/nautilus/seahorse-tool-files.c:658 +msgid "Couldn't list files" +msgstr "ཡིག་སྣོད་ཚུ་ཐོ་ཡིག་ལུ་བཀོད་མ་ཚུགས་" + +#: ../src/main.c:75 +#: ../src/seahorse-key-manager.c:867 +msgid "Encryption Key Manager" +msgstr "གསང་བཟོ་ལྡེ་མིག་འཛིན་སྐྱོང་པ་" + +#: ../src/seahorse-add-subkey.c:111 +msgid "Couldn't add subkey" +msgstr "ཡན་ལག་ལྡེ་མིག་ ཁ་སྐོང་རྐྱབ་མ་ཚུགས་" + +#: ../src/seahorse-add-subkey.c:127 +#, c-format +msgid "Add subkey to %s" +msgstr "%sལུ་ ཡན་ལག་ལྡེ་མིག་ཁ་སྐོང་རྐྱབས་" + +#: ../src/seahorse-add-subkey.glade.h:1 +#: ../src/seahorse-pgp-generate.c:44 +msgid "DSA (sign only)" +msgstr "ཌི་ཨེསི་ཨེ་(མིང་རྟགས་རྐྱངམ་ཅིག་)" + +#: ../src/seahorse-add-subkey.glade.h:2 +msgid "ElGamal (encrypt only)" +msgstr "ཨི་ཨའི་ག་མཱལ་(གསང་བཟོ་རྐྱངམ་ཅིག་)" + +#: ../src/seahorse-add-subkey.glade.h:3 +msgid "Expiration Date:" +msgstr "དུས་ཡོལ་ཚེས་གྲངས་:" + +#: ../src/seahorse-add-subkey.glade.h:4 +msgid "Generate a new subkey" +msgstr "ཡན་ལག་ལྡེ་མིག་གསརཔ་ཅིག་ བཟོ་བཏོན་འབད་" + +#: ../src/seahorse-add-subkey.glade.h:5 +msgid "If key never expires" +msgstr "ལྡེ་མིག་འདི་ ནམ་ཡང་དུས་ཡོལ་བ་འབྱུང་པ་ཅིན་" + +#: ../src/seahorse-add-subkey.glade.h:6 +msgid "Key _Length:" +msgstr "ལྡེ་མིག་གི་རིང་ཚད་:(_L)" + +#: ../src/seahorse-add-subkey.glade.h:7 +msgid "Key _Type:" +msgstr "ལྡེ་མིག་གི་དབྱེ་བ་:(_T)" + +#: ../src/seahorse-add-subkey.glade.h:8 +msgid "Key type / algorithm" +msgstr "ལྡེ་མིག་གི་དབྱེ་བ་/ཨཱལ་གོ་རི་དམ་" + +#: ../src/seahorse-add-subkey.glade.h:9 +msgid "Length of Key" +msgstr "ལྡེ་མིག་གི་རིང་ཚད་" + +#: ../src/seahorse-add-subkey.glade.h:10 +msgid "Never E_xpires" +msgstr "ནམ་ཡང་དུས་ཡོལ་མི་འབྱུང་(_x)" + +#: ../src/seahorse-add-subkey.glade.h:11 +msgid "RSA (encrypt only)" +msgstr "ཨར་ཨེསི་ཨེ་(གསང་བཟོ་འབད་ནི་རྐྱངམ་ཅིག་)" + +#: ../src/seahorse-add-subkey.glade.h:12 +#: ../src/seahorse-pgp-generate.c:45 +msgid "RSA (sign only)" +msgstr "ཨར་ཨེསི་ཨེ་(མིང་རྟགས་བཀོད་ནི་རྐྱངམ་ཅིག་)" + +#: ../src/seahorse-add-uid.c:82 +msgid "Couldn't add user id" +msgstr "ལག་ལེན་པའི་ཨའི་ཌི་ ཁ་སྐོང་རྐྱབ་མ་ཚུགས་" + +#: ../src/seahorse-add-uid.c:104 +#, c-format +msgid "Add user ID to %s" +msgstr "%s ལུ་ ལག་ལེན་པའི་ཨའི་ཌི་ ཁ་སྐོང་རྐྱབས་" + +#: ../src/seahorse-add-uid.glade.h:1 +msgid "Add User ID" +msgstr "ལག་ལེན་པའི་ཨའི་ཌི་ ཁ་སྐོང་རྐྱབས་" + +#: ../src/seahorse-add-uid.glade.h:2 +msgid "Create the new user ID" +msgstr "ལག་ལེན་པའི་ཨའི་ཌི་གསརཔ་ གསར་བསྐྲུན་འབད་" + +#: ../src/seahorse-add-uid.glade.h:3 +#: ../src/seahorse-pgp-generate.glade.h:8 +msgid "Full _Name:" +msgstr "མིང་ཆ་ཚང་:(_N)" + +#: ../src/seahorse-add-uid.glade.h:4 +msgid "Key Co_mment:" +msgstr "ལྡེ་མིག་བུ་གཙོ་བོ་:(_m)" + +#: ../src/seahorse-add-uid.glade.h:5 +msgid "Must be at least 5 characters long" +msgstr "ཉུང་ཤོས་ར་ ཡིག་འབྲུ་ལྔ་ལས་མ་ཉུངམ་སྦེ་དགོ་" + +#: ../src/seahorse-add-uid.glade.h:6 +msgid "Optional comment describing key" +msgstr "གདམ་ཁ་ཅན་གྱི་བསམ་བཀོད་འགྲེལ་བཤད་ལྡེ་མིག་" + +#: ../src/seahorse-add-uid.glade.h:7 +msgid "Optional email address" +msgstr "གདམ་ཁ་ཅན་གྱི་གློག་་འཕྲིན་ཁ་བྱང་" + +#: ../src/seahorse-add-uid.glade.h:8 +#: ../src/seahorse-pgp-generate.glade.h:14 +msgid "_Email Address:" +msgstr "གློག་འཕྲིན་ཁ་བྱང་:(_E)" + +#: ../src/seahorse-change-passphrase.glade.h:1 +msgid "Change Passphrase" +msgstr "ཆོག་ཚིག་སོར་" + +#: ../src/seahorse-change-passphrase.glade.h:2 +msgid "Con_firm Passphrase:" +msgstr "ཆོག་ཚིག་ངེས་དཔྱད་བཟོ་:(_f)" + +#: ../src/seahorse-change-passphrase.glade.h:3 +msgid "Confirm new passphrase" +msgstr "ཆོག་ཚིག་གསརཔ་ ངེས་དཔྱད་འབད་" + +#: ../src/seahorse-change-passphrase.glade.h:5 +msgid "New _Passphrase:" +msgstr "ཆོག་ཚིག་གསརཔ་:(_P)" + +#: ../src/seahorse-delete.c:40 +#, c-format +msgid "%s is a private key. Make sure you have a backup. Do you still want to delete it?" +msgstr "%s འདི་ སྒེར་གཙང་ལྡེ་མིག་ཅིག་ཨིན། དེ་འབདཝ་ད་ཁྱོད་ལུ་ རྒྱབ་ཐག་དགོ དོ་རུང་བཏོན་གཏང་ནི་ཨིན་ན་?" + +#: ../src/seahorse-delete.c:74 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "ཁྱོད་ཀྱིས་ %s འདི་རྟག་བརྟན་སྦེ་ བཏོན་གཏང་ནི་ཨིན་ན་?" + +#: ../src/seahorse-delete.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d key?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "ཁྱོད་ཀྱིས་ངེས་བདེན་སྦེ་ %d ལྡེ་མིག་ རྟག་བརྟན་སྦེ་ བཏོན་གཏང་ནི་ཨིན་ན་?" +msgstr[1] "ཁྱོད་ཀྱིས་ངེས་བདེན་སྦེ་ %d ལྡེ་མིག་ཚུ་ རྟག་བརྟན་སྦེ་ བཏོན་གཏང་ནི་ཨིན་ན་?" + +#: ../src/seahorse-delete.c:124 +msgid "Couldn't delete key" +msgstr "ལྡེ་མིག་བཏོན་མ་གཏང་" + +#: ../src/seahorse-delete.c:139 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "ཁྱོད་ཀྱིས་ ཐད་རི་འབའ་རི་ ཡན་ལག་ལྡེ་མིག་%d %sགི་ཨིན་མི་ འདི་རྟག་བརྟན་སྦེ་ བཏོན་གཏང་ནི་ཨིན་ན་?" + +#: ../src/seahorse-delete.c:162 +msgid "Couldn't delete subkey" +msgstr "ཡན་ལག་ལྡེ་མིག་བཏོན་མ་གཏང་" + +#: ../src/seahorse-delete.c:181 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "ཁྱོད་ཀྱིས་ ཐད་རི་འབའ་རི་ '%s' ལག་ལེན་པའི་ཨའི་ཌི་འདི་རྟག་བརྟན་སྦེ་ བཏོན་གཏང་ནི་ཨིན་ན་?" + +#: ../src/seahorse-delete.c:206 +msgid "Couldn't delete user id" +msgstr "ལག་ལེན་པའི་ཨའི་ཌི་ བཏོན་མ་གཏང་" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "ཁྱོད་རའི་ཆོག་ཡིག་དང་གསང་བཟོ་ལྡེ་མིག་ཚུ་ འཛིན་སྐྱོང་འཐབ་" + +#: ../src/seahorse.desktop.in.in.h:2 +#: ../src/seahorse-key-manager.glade.h:7 +msgid "Passwords and Encryption Keys" +msgstr "ཆོག་ཡིག་དང་གསང་བཟོ་ལྡེ་མིག་ཚུ་" + +#: ../src/seahorse-expires.c:67 +msgid "Couldn't change expiry date" +msgstr "དུས་ཡོལ་ཚེས་གྲངས་ བསྒྱུར་བཅོས་རྐྱབ་མ་བཏུབ་" + +#: ../src/seahorse-expires.c:131 +#, c-format +msgid "Expiry for Subkey %d of %s" +msgstr "ཡན་ལག་ལྡེ་མིག་%d %sགི་ཨིན་མི་གི་དུས་ཡོལ་" + +#: ../src/seahorse-expires.c:133 +#, c-format +msgid "Expiry for %s" +msgstr "%s གི་དུས་ཡོལ་" + +#: ../src/seahorse-expires.glade.h:1 +msgid "C_hange" +msgstr "བསྒྱུར་བཅོས་(_h)" + +#: ../src/seahorse-expires.glade.h:2 +msgid "Never Expires" +msgstr "ནམ་ཡང་དུས་ལས་མི་ཡོལ་" + +#: ../src/seahorse-expires.glade.h:3 +#: ../src/seahorse-revoke.glade.h:11 +msgid "Revoke key" +msgstr "ལྡེ་མིག་ཆ་མེད་གཏང་" + +#: ../src/seahorse-generate-select.c:143 +msgid "Used to encrypt email and files" +msgstr "གློག་འཕྲིན་དང་ཡིག་སྣོད་ཚུ་ གསང་བ་བཟོ་ནི་ལུ་ལག་ལེན་འཐབཡོདཔ་" + +#: ../src/seahorse-generate-select.c:146 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "གློག་རིག་གཞན་ཚུ་ འཛུལ་སྤྱོད་འབད་ནི་གི་དོན་ལུ་ ལག་ལེན་འཐབ་ཡོདཔ་(དཔེར་ན་: ཊར་མི་ནཱལ་ལས་བརྒྱུད་དེ་)" + +#: ../src/seahorse-generate-select.glade.h:1 +msgid "_Select the kind of key you wish to create:" +msgstr "གསར་བསྐྲུན་འབད་དགོ་མནོ་མི་ ལྡེ་མིག་གི་དབྱེ་བ་ སེལ་འཐུ་འབད་:(_S)" + +#: ../src/seahorse-generate-select.glade.h:2 +msgid "C_ontinue" +msgstr "འཕྲོ་མཐུད་(_o)" + +#: ../src/seahorse-generate-select.glade.h:3 +msgid "Create a New Key" +msgstr "ལྡེ་མིག་གསརཔ་ཅིག་ གསར་བསྐྲུན་འབད་" + +#: ../src/seahorse-gkeyring-item.c:248 +msgid "Web Password" +msgstr "ཝེབ་ཆོག་ཡིག་" + +#: ../src/seahorse-gkeyring-item.c:250 +msgid "Network Password" +msgstr "ཡོངས་འབྲེལ་ཆོག་ཡིག་" + +#: ../src/seahorse-gkeyring-item.c:252 +#: ../src/seahorse-gkeyring-item-properties.c:116 +#: ../src/seahorse-gkeyring-source.c:525 +msgid "Password" +msgstr "ཆོག་ཡིག་" + +#: ../src/seahorse-gkeyring-item-properties.c:90 +msgid "Access a network share or resource" +msgstr "ཡོངས་འབྲེལ་རུབ་སྤྱོད་ ཡང་ན་ འབྱུང་ཁུངས་ཅིག་འཛུལ་སྤྱོད་འབད་ནི་" + +#: ../src/seahorse-gkeyring-item-properties.c:94 +msgid "Access a website" +msgstr "ཝེབ་ས་ཁོངས་ཅིག་ནང་ འཛུལ་སྤྱོད་འབད་" + +#: ../src/seahorse-gkeyring-item-properties.c:98 +msgid "Unlocks a PGP key" +msgstr "པི་ཇི་པི་ལྡེ་མིག་ ཁ་ཕྱེཝ་ཨིན་༉" + +#: ../src/seahorse-gkeyring-item-properties.c:101 +msgid "Unlocks a Secure Shell key" +msgstr "མཐའ་བཙན་ཤལ་ལྡེ་མིག་ཅིག་ ཁ་ཕྱེཝ་ཨིན་" + +#: ../src/seahorse-gkeyring-item-properties.c:104 +msgid "Saved password or login" +msgstr "སྲུངས་བཞག་འབད་ཡོད་པའི་ཆོག་ཡིག་ ཡང་ན་ ནང་བསྐྱོད་" + +#: ../src/seahorse-gkeyring-item-properties.c:116 +msgid "Network Credentials" +msgstr "ཡོངས་འབྲེལ་ངོ་སྤྲོད་ཚུ་" + +#: ../src/seahorse-gkeyring-item-properties.c:177 +msgid "Couldn't change password." +msgstr "ཆོག་ཡིག་སོར་མ་ཚུགས།" + +#: ../src/seahorse-gkeyring-item-properties.c:284 +msgid "Couldn't set description." +msgstr "འགྲེལ་བཤད་གཞི་སྒྲིག་འབད་མ་ཚིགས།" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:1 +msgid "Description:" +msgstr "འགྲེལ་བཤད་:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:2 +msgid "Login:" +msgstr "ནང་བསྐྱོད་:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:3 +msgid "Password:" +msgstr "ཆོག་ཡིག་:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:4 +msgid "Server:" +msgstr "སར་བར་:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:5 +#: ../src/seahorse-pgp-public-key-properties.glade.h:9 +#: ../src/seahorse-ssh-key-properties.glade.h:9 +msgid "Technical Details:" +msgstr "འཕྲུལ་རིག་རྒྱས་བཤད་:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:6 +#: ../src/seahorse-pgp-private-key-properties.glade.h:13 +#: ../src/seahorse-pgp-public-key-properties.glade.h:12 +#: ../src/seahorse-ssh-key-properties.glade.h:11 +msgid "Type:" +msgstr "དབྱེ་བ་:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:7 +#: ../src/seahorse-pgp-private-key-properties.glade.h:14 +#: ../src/seahorse-pgp-public-key-properties.glade.h:13 +#: ../src/seahorse-ssh-key-properties.glade.h:12 +msgid "Use:" +msgstr "ལག་ལེན་:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:8 +#: ../src/seahorse-pgp-private-key-properties.glade.h:22 +#: ../src/seahorse-pgp-public-key-properties.glade.h:19 +#: ../src/seahorse-ssh-key-properties.glade.h:16 +msgid "Details" +msgstr "རྒྱས་བཤད་ཚུ་" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:9 +#: ../src/seahorse-ssh-key-properties.glade.h:18 +msgid "Key" +msgstr "ལྡེ་མིག་" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:10 +#: ../src/seahorse-pgp-private-key-properties.glade.h:29 +#: ../src/seahorse-pgp-public-key-properties.glade.h:28 +#: ../src/seahorse-ssh-key-properties.glade.h:19 +msgid "Key Properties" +msgstr "ལྡེ་མིག་གི་རྒྱུ་དངོས་ཚུ་" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:11 +msgid "Show pass_word" +msgstr "ཆོག་ཡིག་སྟོན་(_w)" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:12 +msgid "[Type here]" +msgstr "[ནཱ་ལུ་ ཡིག་དཔར་རྐྱབས་]" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:13 +msgid "[Use here]" +msgstr "[ནཱ་ལུ་ལག་ལེན་འཐབ་]" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:14 +msgid "[details]\n" +msgstr "[རྒྱས་བཤད་ཚུ་]\n" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:16 +msgid "[login]" +msgstr "[ནང་བསྐྱོད་]" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:17 +msgid "[server]" +msgstr "[སར་བར་]" + +#: ../src/seahorse-gkeyring-operation.c:206 +msgid "Access to the key ring was denied" +msgstr "ལྡེ་འཁོར་ལུ་འཛུལ་སྤྱོད་འབད་ནི་ ཉན་མ་བཏུབ" + +#: ../src/seahorse-gkeyring-operation.c:209 +msgid "The gnome-keyring daemon is not running" +msgstr "ཇི་ནོམ་ལྡེ་འཁོར་ཌེ་མཱོན་འདི་ གཡོག་མ་ བཀོལ་བས" + +#: ../src/seahorse-gkeyring-operation.c:212 +msgid "The key ring has already been unlocked" +msgstr "ལྡེ་འ་ཁོར་འདི་ ཧེ་མ་ལས་ལྡེ་མིག་མ་རྐྱབས་སཔ" + +#: ../src/seahorse-gkeyring-operation.c:215 +msgid "No such key ring exists" +msgstr "འདི་བཟུམ་མའི་ལྡེ་འཁོར་་མེད" + +#: ../src/seahorse-gkeyring-operation.c:218 +msgid "Couldn't communicate with key ring daemon" +msgstr "ལྡེ་འཁོར་ཌེ་མཱོན་དང་གཅིག་ཁར་ བརྒྱུད་འབྲེལ་འཐབ་མ་ཚུགས" + +#: ../src/seahorse-gkeyring-operation.c:221 +msgid "The item already exists" +msgstr "རྣམ་གྲངས་འདི་ ཧེ་མ་ལས་ཡོདཔ་ཨིན་" + +#: ../src/seahorse-gkeyring-operation.c:227 +msgid "Internal error accessing gnome-keyring" +msgstr "ཇི་ནོམ་ལྡེ་འཁོར་ནང་ ནང་འཁོད་འཛོལ་བ་འཛུལ་སྤྱོད་འབད་དོ" + +#: ../src/seahorse-gkeyring-operation.c:286 +msgid "Saving item..." +msgstr "རྣམ་གྲངས་སྲུང་དོ་་་་་" + +#: ../src/seahorse-gkeyring-source.c:358 +msgid "Retrieving key" +msgstr "ལྡེ་མིག་སླར་འདྲེན་འབད་དོ་" + +#. Start listing of ids +#: ../src/seahorse-gkeyring-source.c:372 +msgid "Listing passwords" +msgstr "ཆོག་ཡིག་ཚུ་ ཐོ་བཀོད་འབད་དོ་" + +#: ../src/seahorse-key-manager.c:443 +msgid "Couldn't read file" +msgstr "ཡིག་སྣོད་ལྷག་མ་ཚུགས་" + +#: ../src/seahorse-key-manager.c:486 +msgid "Unrecognized key type, or invalid data format" +msgstr "ངོས་འཛིན་མ་འབད་བའི་ལྡེ་མིག་དབྱེ་བ་ ཡང་ན་ ནུས་མེད་ཀྱི་གནད་སྡུད་རྩ་སྒྲིག་" + +#: ../src/seahorse-key-manager.c:560 +#: ../src/seahorse-keyserver-results.c:217 +msgid "Couldn't retrieve data from key server" +msgstr "ལྡེ་མིག་སར་བར་ནང་ལས་ གནད་སྡུད་སླར་འདྲེན་འབད་མ་ཚུགས་" + +#: ../src/seahorse-key-manager.c:576 +#: ../src/seahorse-keyserver-results.c:233 +#, c-format +msgid "Copied %d key" +msgid_plural "Copied %d keys" +msgstr[0] "ལྡེ་མིག་ %d འདྲ་བཤུས་བརྐྱབས་ཡོདཔ་" +msgstr[1] " %d ལྡེ་མིག་ཚུ་འདྲ་བཤུས་བརྐྱབས་ཡོདཔ་" + +#: ../src/seahorse-key-manager.c:600 +#: ../src/seahorse-keyserver-results.c:193 +#: ../src/seahorse-keyserver-results.c:258 +msgid "Retrieving keys" +msgstr "ལྡེ་མིག་སླར་འདྲེན་འབད་དོ་" + +#: ../src/seahorse-key-manager.c:626 +msgid "Couldn't export key" +msgstr "ལྡེ་མིག་ཕྱིར་འདྲེན་འབད་མ་ཚུགས་ཀ" + +#: ../src/seahorse-key-manager.c:646 +msgid "Export public key" +msgstr "མི་མང་གི་ལྡེ་མིག་ཕྱིར་འདྲེན་འབད་" + +#: ../src/seahorse-key-manager.c:656 +#: ../src/seahorse-key-properties.c:1031 +#: ../src/seahorse-ssh-key-properties.c:240 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr " \"%s\" ལུ་ ཕྱིར་འདྲེན་འཐབ་མ་ཚུགས་" + +#: ../src/seahorse-key-manager.c:668 +msgid "Exporting keys" +msgstr "ལྡེ་མིག་ཕྱིར་འདྲེན་འཐབ་དོ་" + +#: ../src/seahorse-key-manager.c:687 +msgid "Back up Key Rings to Archive" +msgstr "ལྡེ་འཁོར་ཚུ་ ཡིག་མཛོད་ལུ་རྒྱབ་ཐག་འབད" + +#: ../src/seahorse-key-manager.c:839 +msgid "Contributions:" +msgstr "ཕན་འདེབས་ཚུ:" + +#: ../src/seahorse-key-manager.c:865 +#, fuzzy +msgid "seahorse" +msgstr "སི་ཧོརསི་" + +#: ../src/seahorse-key-manager.c:948 +#: ../src/seahorse-keyserver-results.c:298 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "སེལ་འཐུ་འབད་ཡོད་པའི་ལྡེ་མིག་ %d" +msgstr[1] "སེལ་འཐུ་འབད་ཡོད་པའི་ %d ལྡེ་མིག་ཚུ" + +#. Top menu items +#: ../src/seahorse-key-manager.c:1187 +#: ../src/seahorse-keyserver-results.c:377 +msgid "_Key" +msgstr "ལྡེ་མིག་(_K)" + +#: ../src/seahorse-key-manager.c:1188 +#: ../src/seahorse-keyserver-results.c:378 +msgid "_Edit" +msgstr "ཞུན་དག་(_E)" + +#: ../src/seahorse-key-manager.c:1189 +msgid "_View" +msgstr "སྟོན་(_V)" + +#. Key Actions +#: ../src/seahorse-key-manager.c:1193 +msgid "_Create New Key..." +msgstr "ལྡེ་མིག་གསརཔ་གསར་བསྐྲུན་འབད་་་་་(_C)" + +#: ../src/seahorse-key-manager.c:1194 +msgid "Create a new personal key" +msgstr "རང་དོན་ལྡེ་མིག་གསརཔ་ཅིག་ གསར་བསྐྲུན་འབད་" + +#: ../src/seahorse-key-manager.c:1195 +msgid "_Import..." +msgstr "ནང་འདྲེན་་་་(_I)" + +#: ../src/seahorse-key-manager.c:1196 +msgid "Import keys into your key ring from a file" +msgstr "ལྡེ་མིག་ཚུ་ ཡིག་སྣོད་ཅིག་ནང་ལས་ ཁྱོད་རའི་ལྡེ་འཁོར་་ནང་ ནང་འདྲེན་འབད" + +#: ../src/seahorse-key-manager.c:1197 +msgid "_Back up Key Rings..." +msgstr "ལྡེ་འཁོར་ཚུ་ རྒྱབ་ཐག་འབད...(_B)" + +#: ../src/seahorse-key-manager.c:1198 +msgid "Back up all keys" +msgstr "ལྡེ་མིག་ཚུ་ཆ་མཉམ་ རྒྱབ་ཐག་འབད་" + +#: ../src/seahorse-key-manager.c:1199 +msgid "Paste _Keys" +msgstr "ལྡེ་མིག་ཚུ་སྦྱར་(_K)" + +#: ../src/seahorse-key-manager.c:1200 +msgid "Import keys from the clipboard" +msgstr "ལྡེ་མིག་ཚུ་ འཛིན་པང་ནང་ལས་ ནང་འདྲེན་འབད་" + +#: ../src/seahorse-key-manager.c:1202 +msgid "_Quit" +msgstr "སྤང་(_Q)" + +#: ../src/seahorse-key-manager.c:1203 +msgid "Close this program" +msgstr "ལས་རིམ་འདི་ཁ་བསྡམས་" + +#: ../src/seahorse-key-manager.c:1204 +msgid "Prefere_nces" +msgstr "དགའ་གདམ་ཚུ་(_n)" + +#: ../src/seahorse-key-manager.c:1205 +msgid "Change preferences for this program" +msgstr "ལས་རིམ་འདི་གི་དོན་ལུ་ དགའ་གདམ་ཚུ་བསྒྱུར་བཅོས་འབད་" + +#: ../src/seahorse-key-manager.c:1207 +msgid "About this program" +msgstr "ལས་རིམ་འདི་གི་སྐོར་ལས་" + +#: ../src/seahorse-key-manager.c:1209 +msgid "_Remote" +msgstr "ཐག་རིང་(_R)" + +#: ../src/seahorse-key-manager.c:1211 +#: ../src/seahorse-keyserver-results.c:383 +msgid "_Contents" +msgstr "ནང་དོན་ཚུ་(_C)" + +#: ../src/seahorse-key-manager.c:1212 +#: ../src/seahorse-keyserver-results.c:384 +msgid "Show Seahorse help" +msgstr "སི་ཧོརསི་གྲོགས་རམ་སྟོན་" + +#: ../src/seahorse-key-manager.c:1216 +msgid "T_ypes" +msgstr "དབྱེ་བཚུ(_y)" + +#: ../src/seahorse-key-manager.c:1217 +msgid "Show type column" +msgstr "ལྡེ་མིག་དབྱེ་བའི་ཀེར་ཐིག་སྟོན" + +#: ../src/seahorse-key-manager.c:1218 +msgid "_Expiry" +msgstr "དུས་ཡོལ་(_E)" + +#: ../src/seahorse-key-manager.c:1219 +msgid "Show expiry column" +msgstr "དུས་ཡོལ་ཀེར་ཐིག་སྟོན་" + +#: ../src/seahorse-key-manager.c:1220 +msgid "_Trust" +msgstr "བློ་གཏད(_T)" + +#: ../src/seahorse-key-manager.c:1221 +msgid "Show owner trust column" +msgstr " བདག་པོའི་བློ་གཏད་ཀེར་ཐིག་སྟོན་" + +#: ../src/seahorse-key-manager.c:1222 +msgid "_Validity" +msgstr "ནུས་ལྡན་དུས་ཚོད(_V)" + +#: ../src/seahorse-key-manager.c:1223 +msgid "Show validity column" +msgstr "ནུས་ལྡན་དུས་ཚོད་ཀྱི་ཀེར་ཐིག་སྟོན" + +#: ../src/seahorse-key-manager.c:1227 +#: ../src/seahorse-keyserver-results.c:395 +msgid "P_roperties" +msgstr "རྒྱུ་དངོས་ཚུ་(_r)" + +#: ../src/seahorse-key-manager.c:1228 +#: ../src/seahorse-keyserver-results.c:396 +msgid "Show key properties" +msgstr "ལྡེ་མིག་གི་རྒྱུ་དངོས་ཚུ་སྟོན་" + +#: ../src/seahorse-key-manager.c:1229 +msgid "E_xport Public Key..." +msgstr "མི་མང་གི་ལྡེ་མིག་ཕྱིར་འདྲེན་འཐབ་་་(_x)" + +#: ../src/seahorse-key-manager.c:1230 +msgid "Export public part of key to a file" +msgstr "ལྡེ་མིག་གི་མི་མང་ཡན་ལག་ཚུ་ ཡིག་སྣོད་ཅིག་ལུ་ཕྱིར་འདྲེན་འཐབ་" + +#: ../src/seahorse-key-manager.c:1231 +msgid "_Copy Public Key" +msgstr "མི་མང་ལྡེ་མིག་འདྲ་བཤུས་རྐྱབས་(_C)" + +#: ../src/seahorse-key-manager.c:1232 +msgid "Copy public part of selected keys to the clipboard" +msgstr "སེལ་འཐུ་འབད་ཡོད་པའི་ལྡེ་མིག་གི་མི་མང་ཡན་ལག་འདི་ འཛིན་པང་ལུ་འདྲ་བཤུས་རྐྱབས་" + +#: ../src/seahorse-key-manager.c:1233 +msgid "_Delete Key" +msgstr "ལྡེ་མིག་བཏོན་གཏང་(_D)" + +#: ../src/seahorse-key-manager.c:1234 +msgid "Delete selected keys" +msgstr "སེལ་འཐུ་འབད་ཡོད་པའི་ལྡེ་མིག་ཚུ་ བཏོན་གཏང་" + +#: ../src/seahorse-key-manager.c:1238 +msgid "_Sign..." +msgstr "མིང་རྟགས་་་(_S)" + +#: ../src/seahorse-key-manager.c:1239 +msgid "Sign public key" +msgstr "མི་མང་ལྡེ་མིག་ལུ་མིང་རྟགས་བཀོད་" + +#: ../src/seahorse-key-manager.c:1243 +msgid "Set Up Computer for _Secure Shell..." +msgstr "མཐའ་བཙན་ཤལ་གྱི་དོན་ལུ་ གློག་རིག་ག་ཞི་སྒྲིག་འབད་་་་(_S)" + +#: ../src/seahorse-key-manager.c:1244 +msgid "Send public Secure Shell key to another machine, and enable logins using that key." +msgstr "མ་འཕྲུལ་གཞན་ཅིག་ལུ་ མི་མང་མཐའ་བཙན་གྱི་ཤལ་ལྡེ་མིག་ གཏང་ཞིནམ་ལས་ ལྡེ་མིག་དེ་ལག་ལེན་འཐབ་ཐོག་ལས་ ལྕོགས་ཅན་བཟོ།" + +#: ../src/seahorse-key-manager.c:1248 +#: ../src/seahorse-keyserver-results.c:404 +msgid "_Find Remote Keys..." +msgstr "ཐག་རིང་ལྡེ་མིག་ཚུ་འཚོལ་་་་(_F)" + +#: ../src/seahorse-key-manager.c:1249 +#: ../src/seahorse-keyserver-results.c:405 +msgid "Search for keys on a key server" +msgstr "ལྡེ་མིག་སར་བར་ཅིག་གུ་ ལྡེ་མིག་འཚོལ་" + +#: ../src/seahorse-key-manager.c:1250 +msgid "_Sync and Publish Keys..." +msgstr "ལྡེ་མིག་ཚུ་མཉམ་འབྱུང་དང་དཔེ་བསྐྲུན་འབདཝ་ཨིན་་་(_S)" + +#: ../src/seahorse-key-manager.c:1251 +msgid "Publish and/or synchronize your keys with those online." +msgstr "གློག་ཐོག་གཞན་མི་ཚུ་དང་གཅིག་ཁར་ ཁྱོད་རའི་ལྡེ་མིག་ཚུ་ དཔེ་བསྐྲུན་དང་/ཡང་ན་ མཉམ་འབྱུང་འབད།" + +#: ../src/seahorse-key-manager.glade.h:1 +msgid "First time options:" +msgstr "གདམ་ཁ་ཐེངས་དང་པ་:" + +#: ../src/seahorse-key-manager.glade.h:2 +msgid "Filter:" +msgstr "ཚགས་མ་:" + +#: ../src/seahorse-key-manager.glade.h:3 +msgid "Generate a new key of your own: " +msgstr "ཁྱོད་རང་གིས་ ལྡེ་མིག་གསརཔ་ཅིག་བཟོ་བཏོན་འབད་:" + +#: ../src/seahorse-key-manager.glade.h:4 +msgid "Import existing keys from a file:" +msgstr "ཡོད་བཞིན་པའི་ལྡེ་མིག་ཚུ་ ཡིག་སྣོད་ཅིག་ནང་ལས་ ནང་འདྲེན་འབད་:" + +#: ../src/seahorse-key-manager.glade.h:5 +msgid "My _Personal Keys" +msgstr "རང་དོན་གྱི་ལྡེ་མིག་ཚུ་(_P)" + +#: ../src/seahorse-key-manager.glade.h:6 +msgid "Other _Collected Keys" +msgstr "བསྡུ་ལེན་འབད་ཡོད་པའི་ལྡེ་མིག་གཞན་ཚུ་(_C)" + +#: ../src/seahorse-key-manager.glade.h:8 +msgid "To get started with encryption you will need keys." +msgstr "གསང་བཟོ་དང་གཅིག་ཁར་འགོ་བཙུག་པ་ཅིན་ ལྡེ་མིག་དགོ" + +#: ../src/seahorse-key-manager.glade.h:9 +#: ../src/seahorse-keyserver-results.c:393 +msgid "_Import" +msgstr "ནང་འདྲེན་(_I)" + +#: ../src/seahorse-key-manager.glade.h:10 +msgid "_Passwords" +msgstr "ཆོག་ཡིག་ཚུ་(_P)" + +#: ../src/seahorse-key-manager.glade.h:11 +msgid "_Trusted Keys" +msgstr "བློ་གཏད་ཅན་གྱི་ལྡེ་མིག་(_T)" + +#: ../src/seahorse-key-manager-store.c:311 +#: ../src/seahorse-key-properties.c:1297 +msgid "Expired" +msgstr "དུས་ལས་ཡོལ་ཡོདཔ་" + +#: ../src/seahorse-key-manager-store.c:364 +msgid "User ID" +msgstr "ལག་ལེན་པའི་ཨའི་ཌི་" + +#: ../src/seahorse-key-manager-store.c:697 +msgid "Couldn't retrieve key data" +msgstr "ལྡེ་མིག་གནད་སྡུད་ སླར་འདྲེན་འབད་མ་ཚུགས་" + +#: ../src/seahorse-key-manager-store.c:729 +msgid "Couldn't write key to file" +msgstr "ཡིག་སྣོད་ལུ་ལྡེ་མིག་འབྲི་མ་ཚུགས་" + +#: ../src/seahorse-key-manager-store.c:972 +msgid "Validity" +msgstr "ནུས་ལྡན་དུས་ཚོད་" + +#. Trust column +#: ../src/seahorse-key-manager-store.c:979 +#: ../src/seahorse-pgp-public-key-properties.glade.h:35 +msgid "Trust" +msgstr "བློ་གཏད་" + +#. The key type column +#: ../src/seahorse-key-manager-store.c:985 +#: ../src/seahorse-key-properties.c:1275 +msgid "Type" +msgstr "དབྱེ་བ་" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:991 +msgid "Expiration Date" +msgstr "དུས་ཡོལ་ཚེས་གྲངས་" + +#: ../src/seahorse-key-properties.c:207 +msgid "Couldn't change primary user ID" +msgstr "གཞི་རིམ་ལག་ལེན་པའི་ཨའི་ཌི་ བསྒྱུར་་བཅོས་བརྐྱབ་མ་ཚུགས་" + +#: ../src/seahorse-key-properties.c:301 +#: ../src/seahorse-key-properties.c:1427 +msgid "[Unknown]" +msgstr "[མ་ཤེསཔ་" + +#: ../src/seahorse-key-properties.c:399 +#: ../src/seahorse-key-properties.c:1711 +msgid "Name/Email" +msgstr "མིང་/གློག་འཕྲིན་" + +#: ../src/seahorse-key-properties.c:404 +msgid "Signature ID" +msgstr "མིང་རྟགས་ ཨའི་ཌི་" + +#: ../src/seahorse-key-properties.c:555 +msgid "Couldn't change primary photo" +msgstr "གཞི་རིམ་པར་ སོར་མ་ཚུགས་" + +#: ../src/seahorse-key-properties.c:801 +msgid "(unknown)" +msgstr "(མ་ཤེསཔ་" + +#: ../src/seahorse-key-properties.c:804 +#, c-format +msgid "This key expired on: %s" +msgstr "ལྡེ་མིག་འདི་དུས་ཡོལ་ཡོདཔ་: %s" + +#: ../src/seahorse-key-properties.c:985 +#: ../src/seahorse-key-properties.c:1377 +#: ../src/seahorse-key-properties.c:1396 +msgid "Unable to change trust" +msgstr "བློ་གཏད་བསྒྱུར་བཅོས་རྐྱབ་མ་ཚུགས་" + +#: ../src/seahorse-key-properties.c:1006 +#: ../src/seahorse-ssh-key-properties.c:215 +msgid "Export Complete Key" +msgstr "ལྡེ་མིག་ཡོངས་རྫོགས་ ཕྱིར་འདྲེན་འཐབ་" + +#: ../src/seahorse-key-properties.c:1272 +msgid "ID" +msgstr "ཨའི་ཌི་" + +#: ../src/seahorse-key-properties.c:1278 +msgid "Created" +msgstr "གསར་བསྐྲུན་འབད་ཡོདཔ་" + +#: ../src/seahorse-key-properties.c:1281 +msgid "Expires" +msgstr "དུས་ཡོལཝ་ཨིན་" + +#: ../src/seahorse-key-properties.c:1284 +msgid "Status" +msgstr "གནས་ཚད་" + +#: ../src/seahorse-key-properties.c:1287 +msgid "Strength" +msgstr "སྟོབས་ཤུགས་" + +#: ../src/seahorse-key-properties.c:1296 +#: ../src/seahorse-key-properties.c:1297 +msgid "Good" +msgstr "ལེགས་ཤོམ་" + +#: ../src/seahorse-keyserver-results.c:106 +msgid "Couldn't import keys into key ring" +msgstr "ལྡེ་མིག་ཚུ་ལྡེ་ཁོར་ནང་ ནང་འདྲེན་འབད་མ་ཚུགས" + +#: ../src/seahorse-keyserver-results.c:127 +msgid "Importing keys from key servers" +msgstr "ལྡེ་མིག་སར་བར་ཚུ་ནང་ལས་ ལྡེ་མིག་ཚུ་ནང་འདྲེན་འབད་དོ་" + +#: ../src/seahorse-keyserver-results.c:146 +#: ../src/seahorse-keyserver-results.c:180 +#, c-format +msgid "Couldn't write keys to file: %s" +msgstr "ལྡེ་མིག་ཚུ་ ཡིག་སྣོད་ལུ་འབྲི་མ་ཚུགས་: %s" + +#: ../src/seahorse-keyserver-results.c:169 +msgid "Save Remote Keys" +msgstr "ཐག་རིག་གི་ལྡེ་མིག་ཚུ་ སྲུངས་" + +#: ../src/seahorse-keyserver-results.c:351 +msgid "No matching keys found" +msgstr "མཐུན་སྒྲིག་ལྡེ་མིག་མ་ཐོབ་" + +#: ../src/seahorse-keyserver-results.c:381 +msgid "_Close" +msgstr "ཁ་བསྡམ་(_C)" + +#: ../src/seahorse-keyserver-results.c:382 +msgid "Close this window" +msgstr "སྒོ་སྒྲིག་འདི་བསྡམས་" + +#: ../src/seahorse-keyserver-results.c:386 +msgid "_Expand All" +msgstr "ཆ་མཉམ་རྒྱ་འཕར་འབད་(_E)" + +#: ../src/seahorse-keyserver-results.c:387 +msgid "Expand all listings" +msgstr "ཐོ་ཡིག་ཆ་མཉམ་ར་ རྒྱ་འཕར་འབད་" + +#: ../src/seahorse-keyserver-results.c:388 +msgid "_Collapse All" +msgstr "ཆ་མཉམ་ཧྲམ་(_C)" + +#: ../src/seahorse-keyserver-results.c:389 +msgid "Collapse all listings" +msgstr "ཐོ་ཡིག་ཚུ་ཆ་མཉམ་ ཧྲམ་" + +#: ../src/seahorse-keyserver-results.c:394 +msgid "Import selected keys to local key ring" +msgstr "སེལ་འཐུ་འབད་ཡོད་པའི་ལྡེ་མིག་ཚུ་ ཉེ་གནས་ལྡེ་འཁོར་ལུ་ ནང་འདྲེན་འབད" + +#: ../src/seahorse-keyserver-results.c:397 +msgid "Save Key As..." +msgstr "བཟུམ་སྦེ་ ལྡེ་མིག་སྲུངས་་་་" + +#: ../src/seahorse-keyserver-results.c:398 +msgid "Save selected keys as a file" +msgstr "སེལ་འཐུ་འབད་ཡོད་པའི་ལྡེ་མིག་ཚུ་ ཡིག་སྣོད་སྦེ་སྲུངས་" + +#: ../src/seahorse-keyserver-results.c:399 +msgid "_Copy Key" +msgstr "ལྡེ་མིག་འདྲ་བཤུས་རྐྱབས་(_C)" + +#: ../src/seahorse-keyserver-results.c:400 +msgid "Copy selected keys to the clipboard" +msgstr "སེལ་འཐུ་འབད་ཡོད་པའི་ལྡེ་མིག་ཚུ་ འཛིན་པང་ལུ་འདྲ་བཤུས་རྐྱབས་" + +#: ../src/seahorse-keyserver-results.c:462 +msgid "Remote Keys" +msgstr "ཐག་རིང་གི་ལྡེ་མིག་ཚུ་" + +#: ../src/seahorse-keyserver-results.c:464 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "'%s' དང་ལྡན་པའི་ཐག་རིང་ལྡེ་མིག་" + +#: ../src/seahorse-keyserver-results.glade.h:1 +msgid "Remote Encryption Keys" +msgstr "ཐག་རིང་གསང་བཟོ་ལྡེ་མིག་" + +#: ../src/seahorse-keyserver-search.glade.h:1 +msgid "Key Servers:" +msgstr "ལྡེ་མིག་སར་བར་:" + +#: ../src/seahorse-keyserver-search.glade.h:2 +msgid "Shared Keys Near Me:" +msgstr "ངེ་གི་སྦོ་ལོགས་ཁར་ཡོད་པའི་རུབ་སྤྱོད་ལྡེ་མིག་ཚུ་:" + +#: ../src/seahorse-keyserver-search.glade.h:3 +msgid "Find Remote Keys" +msgstr "ཐག་རིང་གི་ལྡེ་མིག་འཚོལ་" + +#: ../src/seahorse-keyserver-search.glade.h:4 +msgid "This will find keys for others on the Internet. These keys can then be imported into your local key ring." +msgstr "དེ་གིས་ གློག་རིག་གུ་ལུ་ གཞན་ལུ་ལྡེ་མིག་འཚོལ་འོང་། ལྡེ་མིག་ཚུ་གིས་ ཁྱོད་རའི་ཉེ་གནས་ལྡེ་འཁོར་ནང་ ནང་འདྲེན་འབདཝ་ཨིན།" + +#: ../src/seahorse-keyserver-search.glade.h:5 +msgid "Where to search:" +msgstr "ག་སྟེ་ལུ་འཚོལ་ནི་ཨིན་ན་:" + +#: ../src/seahorse-keyserver-search.glade.h:6 +msgid "_Search" +msgstr "འཚོལ་ཞིབ་(_S)" + +#: ../src/seahorse-keyserver-search.glade.h:7 +msgid "_Search for keys containing: " +msgstr "ལྡེ་མིག་ནང་དོན་གྱི་དོན་ལུ་ འཚོལ་:(_s)" + +#: ../src/seahorse-keyserver-sync.c:44 +#, c-format +msgid "Couldn't publish keys to server: %s" +msgstr "སར་བར་ལུ་ ལྡེ་མིག་དཔེ་བསྐྲུན་འབད་མ་ཚུགས་: %s" + +#: ../src/seahorse-keyserver-sync.c:59 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "སར་བར་ལས་ལྡེ་མིག་ཚུ་ སླར་འདྲེན་འབད་མ་ཚུགས་: %s" + +#: ../src/seahorse-keyserver-sync.c:147 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d ལྡེ་མིག་འདི་མཉམ་བྱུང་འབད་ནི་གི་དོན་ལུ་སེལ་འཐུ་འབད་ཡོདཔ" +msgstr[1] "%d ལྡེ་མིག་ཚུ་མཉམ་བྱུང་འབད་ནི་གི་དོན་ལུ་སེལ་འཐུ་འབད་ཡོདཔ" + +#: ../src/seahorse-keyserver-sync.c:214 +msgid "Synchronizing keys" +msgstr "མཉམ་འབྱུང་ལྡེ་མིག་ཚུ" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:246 +msgid "Synchronizing keys..." +msgstr "མཉམ་འབྱུང་ལྡེ་མིག་ཚུ..." + +#: ../src/seahorse-keyserver-sync.glade.h:1 +msgid "X keys are selected for synchronizing" +msgstr "ཨེགསི་ ལྡེ་མིག་ཚུ་ མཉམ་འབྱུང་གི་དོན་ལུ་ སེལ་འཐུ་འབད་ཡོདཔ" + +#: ../src/seahorse-keyserver-sync.glade.h:2 +msgid "Sync Keys" +msgstr "མཉམ་འབྱུང་ལྡེ་མིག་" + +#: ../src/seahorse-keyserver-sync.glade.h:3 +msgid "This will publish the keys in your key ring so they're available for others to use. You'll also get any changes others have made since you received their keys." +msgstr "དེ་གིས་ ཁྱོད་རའི་ལྡེ་འཁོར་ནང་ ལྡེ་མིག་དཔེ་བསྐྲུན་འབད་འོང་ དེ་འབདཝ་ལས་ གཞན་གྱི་དོད་ལས་ལངམ་སྦེ་འཐོབ་ཚུགསཔ་ཨིན། དེ་མ་ཚད་ ཁྱོད་ཀྱིས་ ཁོང་ཚུ་ལས་ལྡེ་མིག་ཐོབ་ཞིནམ་ལས་ཚུར་ གཞན་གྱིས་བཟོ་ཡོད་པའི་བསྒྱུར་བཅོས་་གང་རུང་འཐོབ་འོང་།" + +#: ../src/seahorse-keyserver-sync.glade.h:4 +msgid "This will retrieve any changes others have made since you received their keys. No key server has been chosen for publishing, so your keys will not be made available to others." +msgstr "དེ་གིས་ ཁོང་ཚུ་གི་ལྡེ་མིག་ཐོབ་ཞིནམ་ལས་ཚུར་ གཞན་ཚུ་གིས་བཟོ་ཡོད་པའི་བསྒྱུར་བཅོས་གང་རུང་ སླར་འདྲེན་འབད་འོང་། དཔེ་བསྐྲུན་གྱི་དོན་ལས་ ལྡེ་མིག་སར་བར་གདམ་ཁ་མ་བརྐྱབས་ལས་ ཁྱོད་ཀྱི་ལྡེ་མིག་འདི་ གཞན་གྱིས་འཐོབ་མི་ཚུགས།" + +#: ../src/seahorse-keyserver-sync.glade.h:5 +msgid "_Key Servers" +msgstr "ལྡེ་མིག་སར་བར་(_K)" + +#: ../src/seahorse-keyserver-sync.glade.h:6 +msgid "_Sync" +msgstr "མཉམ་འབྱུང་(_S)" + +#: ../src/seahorse-multi-encrypt.glade.h:1 +msgid "You have selected multiple files or folders" +msgstr "ཁྱོད་ཀྱིས་ སྣ་མང་ཡིག་སྣོད་ ཡང་ན་ སྣོད་འཛིན་ཚུ་སེལ་འཐུ་འབད་ནུག" + +#: ../src/seahorse-multi-encrypt.glade.h:2 +msgid "Because the files are located remotely, each file will be encrypted separately." +msgstr "ཡིག་སྣོད་ཚུ་ཐག་རིང་སར་ཨིནམ་ལས་ ཡིག་སྣོད་རེ་རེ་བཞིན་ སོ་སོར་སྦེ་ཁ་འཕྱལ་འོང་།" + +#: ../src/seahorse-multi-encrypt.glade.h:3 +msgid "Encrypt Multiple Files" +msgstr "སྣ་མང་ཡིག་སྣོད་ཚུ་ གསང་བ་བཟོ་" + +#: ../src/seahorse-multi-encrypt.glade.h:4 +msgid "Encrypt each file separately" +msgstr "ཡིག་སྣོད་རེ་རེ་བཞིན་སོ་སོར་སྦེ་ གསང་བཟོ་འབད་" + +#: ../src/seahorse-multi-encrypt.glade.h:5 +msgid "Encrypt packed together in a package" +msgstr "གསང་བཟོ་འདི་ ཐུམ་སྒྲིལ་ཅིག་ནང་ གཅིག་ཁར་སྦུང་ཚན་བཟོ་ཡོདཔ་ཨིན་" + +#: ../src/seahorse-multi-encrypt.glade.h:6 +msgid "Package Name:" +msgstr "ཐུམ་སྒྲིལ་མིང་:" + +#: ../src/seahorse-multi-encrypt.glade.h:7 +msgid "Packaging:" +msgstr "ཐུམ་སྒྲིལ་བཟོ་དོ་:" + +#: ../src/seahorse-multi-encrypt.glade.h:8 +msgid "encrypted-package.rar" +msgstr "གསང་བཟོས་-package.rar" + +#: ../src/seahorse-pgp-encrypted.desktop.in.in.h:1 +msgid "Decrypt File" +msgstr "གསང་བཤོལ་ཡིག་སྣོད་" + +#: ../src/seahorse-pgp-generate.c:43 +msgid "DSA Elgamal" +msgstr "ཌི་ཨེསི་ཨེ་ ཨི་ཨའི་ག་མཱལ་" + +#: ../src/seahorse-pgp-generate.c:54 +msgid "Couldn't generate PGP key" +msgstr "པི་ཇི་པི་ལྡེ་མིག་ བཟོ་བཏོན་འབད་མ་ཚུགས་" + +#: ../src/seahorse-pgp-generate.c:139 +msgid "Passphrase for New PGP Key" +msgstr "པི་ཇི་པི་ལྡེ་མིག་གསརཔ་གི་དོན་ལུ་ ཆོག་ཚིག་" + +#: ../src/seahorse-pgp-generate.c:140 +msgid "Enter the passphrase for your new key twice." +msgstr "ཁྱོད་རའི་ལྡེ་མིག་གསརཔ་གི་དོན་ལུ་ ཆོག་ཚིག་ཚར་གཉིས་བཙུགས།" + +#: ../src/seahorse-pgp-generate.c:149 +msgid "Couldn't generate key" +msgstr "ལྡེ་མིག་བཟོ་བཏོན་འབད་མ་ཚུགས་" + +#: ../src/seahorse-pgp-generate.c:151 +msgid "Generating key" +msgstr "བཟོ་བཏོན་ལྡེ་མིག་" + +#: ../src/seahorse-pgp-generate.glade.h:1 +#: ../src/seahorse-ssh-generate.glade.h:1 +msgid "_Advanced key options" +msgstr "མཐོ་རིམ་ཅན་གྱི་ལྡེ་མིག་གདམ་ཁ་ཚུ་(_A)" + +#: ../src/seahorse-pgp-generate.glade.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "པི་ཇི་པི་ལྡེ་མིག་གིས་ གློག་འཕྲིན་དང་ཡིག་སྣོད་ཚུ་ མི་གཞན་ལུ་གཏང་བཅུགཔ་ཨིན།" + +#: ../src/seahorse-pgp-generate.glade.h:3 +msgid "Algorithms here" +msgstr "ནཱ་ལུ་ཡོད་པའི་ཨཱལ་གོ་རི་དམ" + +#: ../src/seahorse-pgp-generate.glade.h:4 +msgid "C_reate" +msgstr "གསར་བསྐྲུན་འབད་(_r)" + +#: ../src/seahorse-pgp-generate.glade.h:5 +msgid "Create a PGP Key" +msgstr "པི་ཇི་པི་ལྡེ་མིག་ཅིག་ གསར་བསྐྲུན་འབད་" + +#: ../src/seahorse-pgp-generate.glade.h:6 +msgid "E_xpiration Date:" +msgstr "དུས་ཡོལ་ཚེས་གྲངས་:(_x)" + +#: ../src/seahorse-pgp-generate.glade.h:7 +#: ../src/seahorse-ssh-generate.glade.h:7 +msgid "Encryption _Type:" +msgstr "གསང་བཟོའི་དབྱེ་བ་:(_T)" + +#: ../src/seahorse-pgp-generate.glade.h:9 +msgid "Generate a new key" +msgstr "ལྡེ་མིག་གསརཔ་ཅིག་ བཟོ་བཏོན་འབད་" + +#: ../src/seahorse-pgp-generate.glade.h:10 +#: ../src/seahorse-ssh-generate.glade.h:10 +msgid "Key _Strength (bits):" +msgstr "ལྡེ་མིག་གི་སྟོབས་ཤུགས་(བིཊིསི་):(_S)" + +#: ../src/seahorse-pgp-generate.glade.h:11 +msgid "Ne_ver Expires" +msgstr "ནམ་ཡང་དུས་ལས་མི་ཡོལ་(_v)" + +#: ../src/seahorse-pgp-generate.glade.h:12 +msgid "New PGP Key" +msgstr "པི་ཇི་པི་ལྡེ་མིག་གསརཔ་" + +#: ../src/seahorse-pgp-generate.glade.h:13 +msgid "_Comment:" +msgstr "བསམ་བཀོད་:(_C)" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:1 +msgid "Actions" +msgstr "བྱ་བ་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:2 +#: ../src/seahorse-pgp-public-key-properties.glade.h:1 +msgid "Comment:" +msgstr "བསམ་བཀོད་:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:3 +msgid "Dates" +msgstr "ཚེས་གྲངས་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:4 +#: ../src/seahorse-pgp-public-key-properties.glade.h:3 +msgid "Email:" +msgstr "གློག་འཕྲིན་:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:5 +msgid "Fingerprint" +msgstr "མཛུབ་རྗེས་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:6 +#: ../src/seahorse-pgp-public-key-properties.glade.h:6 +msgid "Key ID:" +msgstr "ལྡེ་མིག་ ཨའི་ཌི་:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:7 +msgid "Key Names and Signatures" +msgstr "ལྡེ་མིང་དང་མི་རྟགས་ཚུ་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:8 +#: ../src/seahorse-pgp-public-key-properties.glade.h:7 +#: ../src/seahorse-ssh-key-properties.glade.h:7 +msgid "Name:" +msgstr "མིང་:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:9 +#: ../src/seahorse-pgp-public-key-properties.glade.h:8 +msgid "Photo " +msgstr "པར་ " + +#: ../src/seahorse-pgp-private-key-properties.glade.h:10 +msgid "Technical Details" +msgstr "འཕྲུལ་རིག་རྒྱས་བཤད་ཚུ་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:11 +#: ../src/seahorse-pgp-public-key-properties.glade.h:10 +msgid "This key has been revoked" +msgstr "ལྡེ་མིག་འདི་ཆ་མེད་བཏང་ཡོདཔ་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:12 +#: ../src/seahorse-pgp-public-key-properties.glade.h:11 +msgid "This key has expired" +msgstr "ལྡེ་མིག་འདི་དུས་ལས་ཡོལ་ཡོདཔ་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:15 +#: ../src/seahorse-pgp-public-key-properties.glade.h:17 +msgid "_Subkeys" +msgstr "ཡན་ལག་ལྡེ་མིག་(_S)" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:16 +msgid "Add" +msgstr "ཁ་སྐོང་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:17 +msgid "Add a photo to this key" +msgstr "ལྡེ་མིག་ལུ་པར་ཅིག་ ཁ་སྐོང་རྐྱབས་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:18 +#: ../src/seahorse-ssh-key-properties.glade.h:15 +msgid "Change _Passphrase" +msgstr "ཆོག་ཚིག་སོར་(_P)" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:19 +#: ../src/seahorse-pgp-public-key-properties.glade.h:18 +msgid "Created:" +msgstr "གསར་བསྐྲུན་འབད་ཡོདཔ་:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:20 +msgid "Decrypt files and email sent to you." +msgstr "གསང་བཤོལ་ཡིག་སྣོད་དང་གློག་འཕྲིན་གཉིས་ ཁྱོད་ལུ་བཏང་ཡོདཔ།" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:21 +msgid "Delete" +msgstr "བཏོན་གཏང་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:23 +msgid "Expire" +msgstr "དུས་ཡོལ་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:24 +#: ../src/seahorse-pgp-public-key-properties.glade.h:21 +msgid "Expires:" +msgstr "དུས་ལས་ཡོལཝ་ཨིན་:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:25 +msgid "Export" +msgstr "ཕྱིར་འདྲེན་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:26 +msgid "Go to next photo" +msgstr "པར་གཞན་མི་ལུ་འགྱོ་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:27 +msgid "Go to previous photo" +msgstr "ཧེ་མའི་པར་ལུ་འགྱོ་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:28 +#: ../src/seahorse-pgp-public-key-properties.glade.h:27 +msgid "Key ID:" +msgstr "ལྡེ་མིག་ ཨའི་ཌི་:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:30 +msgid "Make this photo the primary photo" +msgstr "པར་འདི་གཞི་རིམ་གྱི་པར་སྦེ་བཟོ་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:31 +msgid "Names and Signatures" +msgstr "མིང་དང་མིང་རྟགས་ཚུ་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:32 +msgid "Override Owner _Trust:" +msgstr "མེདཔ་གཏང་བདག་པོའི་བློ་གཏད་:(_T)" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:33 +#: ../src/seahorse-pgp-public-key-properties.glade.h:29 +msgid "Owner" +msgstr "བདག་པོ་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:34 +msgid "Primary" +msgstr "གཞི་རིམ་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:36 +msgid "Remove this photo from this key" +msgstr "པར་འདི་ལྡེ་མིག་འདི་ནང་ལས་བཏོན་གཏང་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:37 +msgid "Revoke" +msgstr "ཆ་མེད་གཏང་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:39 +#: ../src/seahorse-pgp-public-key-properties.glade.h:31 +msgid "Strength:" +msgstr "སྟོབས་ཤུགས་:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:40 +#: ../src/seahorse-pgp-public-key-properties.glade.h:32 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "ལྡེ་མིག་བདག་པོ་གིས་ ལྡེ་མིག་འདི་མེདཔ་བཏང་ཡོདཔ། ད་ལས་ཕར་ལག་ལེན་འཐབ་མི་བཏུབ།" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:41 +#: ../src/seahorse-pgp-public-key-properties.glade.h:33 +msgid "This key expired on: (placeholder)" +msgstr "ལྡེ་མིག་འདི་དུས་ཡོལ་ནུག་:(ས་གནས་འཛིན་མི་)" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:42 +#: ../src/seahorse-pgp-public-key-properties.glade.h:36 +msgid "Type:" +msgstr "དབྱེ་བ་:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:43 +msgid "" +"Unknown\n" +"Never\n" +"Marginal\n" +"Full\n" +"Ultimate" +msgstr "" +"མ་ཤེས་པའི་\n" +"ནམ་ཡང་\n" +"ས་སྟོང་གི་\n" +"ཆ་ཚང་\n" +"དྲག་ཤོས་" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:48 +msgid "_Add Name" +msgstr "མིང་ཁ་སྐོང་རྐྱབས་(_A)" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:49 +msgid "_Export Complete Key:" +msgstr "ལྡེ་མིག་ཡོངས་རྫོགས་ཕྱིར་འདྲེན་འཐབ་:(_E)" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:2 +msgid "Dates:" +msgstr "ཚེས་གྲངས་:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:4 +#: ../src/seahorse-ssh-key-properties.glade.h:4 +msgid "Fingerprint:" +msgstr "མཛུབ་རྗེས་:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:5 +msgid "Indicate Trust:" +msgstr "བློ་གཏད་བརྡ་སྟོན་འབད་:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:14 +msgid "Your trust of this key" +msgstr "ལྡེ་མིག་འདི་ལུ་བློ་གཏད་" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:15 +msgid "_Other Names:" +msgstr "མིང་གཞན་ཚུ་(_O):" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:16 +msgid "_People who have signed this key:" +msgstr "ལྡེ་མིག་འདི་གི་དོན་ལུ་ མིང་རྟགས་བཀོད་མི་ཚུ་:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:20 +msgid "Encrypt files and email to the key's owner " +msgstr "ཡིག་སྣོད་ཚུ་གསང་བ་བཟོ་ཞིནམ་ལས་ཁྱོད་རའི་ལྡེ་མིག་བདག་པོ་ལུ་ གློག་འཕྲིན་གཏང་" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:23 +#, no-c-format +msgid "I have checked that this key belongs to '%s'" +msgstr "ང་གིས་ཞིབ་དཔྱད་འབདཝ་ད་ ལྡེ་མིག་འདི་ '%s' གི་ཨིན་པས་" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:25 +#, no-c-format +msgid "I trust signatures from '%s' on other keys " +msgstr "ང་གིས་ ལྡེ་མིག་གཞན་ཁར་ '%s' ནང་ལས་ མིང་རྟགས་བློ་གཏདཔ་ཨིན་" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:26 +msgid "If you no longer trust this person's identity, revoke your signature:" +msgstr "ཁྱོད་ཀྱིས་ ད་ལས་ཕར་ གང་ཟག་འདིའི་ངོ་རྟགས་ལུ་བློ་མ་གཏད་པ་ཅིན་ revoke ཁྱོད་རའི་མིང་རྟགས་:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:34 +msgid "To indicate your trust of this key to others, sign this key:" +msgstr "ལྡེ་མིག་འདི་གཞན་ལུ་ ཁྱོད་རའི་བློ་གཏད་ཡོདཔ་སྦེ་བརྡ་སྟོན་འབད་ནི་གི་དོན་ལུ་ ལྡེ་མིག་དེ་ལུ་མིང་རྟགས་བཀོད་ :" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:37 +msgid "" +"Unknown\n" +"Never\n" +"Marginally\n" +"Fully\n" +"Ultimately" +msgstr "" +"མ་ཤེསཔ་\n" +"ནམ་ཡང་\n" +"ས་སྟོང་གི་\n" +"ཆ་ཚང་སྦེ་\n" +"དྲག་ཤོས་སྦེ་" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:42 +msgid "You _Trust the Owner:" +msgstr "བདག་པོ་ལུ་ བློ་གཏད་:(_T)" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:43 +msgid "Your trust is manually specified on the Details tab." +msgstr "ཁྱོད་ཀྱི་བློ་གཏད་འདི་ ལག་ཐོག་ལས་ རྒྱས་བཤད་ མཆོང་ལྡེ་གུ་གསལ་བཀོད་འབད་ཡོདཔ།" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:44 +msgid "_Only display the signatures of people I trust" +msgstr "ང་གིས་བློ་གཏད་ཚུགས་མི་ མི་ཚུ་གི་མིང་རྟགས་རྐྱངམ་ཅིག་བཀྲམ་སྟོན་འབད་(_O)" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:45 +msgid "_Revoke Signature" +msgstr "མེདཔ་གཏང་བའི་མིང་རྟགས་(_R)" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:46 +msgid "_Sign this Key" +msgstr "ལྡེ་མིག་འདི་མིང་རྟགས་བཀོད་(_S)" + +#: ../src/seahorse-pgp-signature.desktop.in.in.h:1 +msgid "Verify Signature" +msgstr "མིང་རྟགས་འདི་བདེན་སྦྱོར་འབད་" + +#: ../src/seahorse-photos.c:70 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"པར་འདི་སྦོམ་དྲགས་པས་\n" +"ཁྱོད་རའི་ལྡེ་མིག་གུ་གི་པར་ཅིག་གི་དོན་ལས་ འོས་སྦྱོར་འབད་ཡོད་པའི་ཚད་འདི་ %d x %d པིག་སེལསི་ཨིན་པས།" + +#: ../src/seahorse-photos.c:75 +msgid "_Don't Resize" +msgstr "ཚད་བསྐྱར་བཟོ་མ་འབད་(_D)" + +#: ../src/seahorse-photos.c:76 +msgid "_Resize" +msgstr "ཚད་བསྐྱར་བཟོ་(_R)" + +#: ../src/seahorse-photos.c:125 +msgid "This is not a image file, or an unrecognized kind of image file. Try to use a JPEG image." +msgstr "འདི་ གཟུགས་བརྙན་ཡིག་སྣོད་མེན་པས་ ཡང་ན་ ངོས་འཛིན་མ་འབད་བའི་གཟུགས་བརྙན་ཡིག་སྣོད་ཀྱི་དབྱེ་བ་ཨིན་པས།ཇེ་པི་ཨི་ཇི་ གཟུགས་བརྙན་ཅིག་ ལག་ལེན་འཐབ་ནིའི་འབད་རྩོལ་བསྐྱེད།" + +#: ../src/seahorse-photos.c:221 +msgid "All image files" +msgstr "གཟུགས་བརྙན་ཡིག་སྣོད་ཆ་མཉམ་" + +#: ../src/seahorse-photos.c:234 +msgid "All JPEG files" +msgstr "ཇེ་པི་ཨི་ཇི་ ཡིག་སྣོད་ཚུ་ཆ་མཉམ་" + +#: ../src/seahorse-photos.c:258 +msgid "Choose Photo to Add to Key" +msgstr "ལྡེ་མིག་ལུ་པར་ཁ་སྐོང་བརྐྱབ་ནིའི་དོན་ལུ་ པར་གདམས་" + +#: ../src/seahorse-photos.c:285 +#: ../src/seahorse-photos.c:289 +msgid "Couldn't add photo" +msgstr "པར་ ཁ་སྐོང་རྐྱབ་མ་ཚུགས་" + +#: ../src/seahorse-photos.c:286 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "ཡིག་སྣོད་མངོན་གསལ་འབད་མ་བཏུབ། དེ་ཡང་ཅིན་ ནུས་མེད་རྩ་སྒྲིག་ནང་ཨིནམ་འོང་ནི་མས་" + +#: ../src/seahorse-photos.c:317 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "ཁྱོད་རའི་ལྡེ་མིག་ནང་ལས་ ད་ལྟོའི་པར་འདི་ ཐད་རི་འབའ་རི་རྩ་བསྐྲད་གཏང་ནི་ཨིན་ན་?" + +#: ../src/seahorse-photos.c:330 +msgid "Couldn't delete photo" +msgstr "པར་ཚུ་བཏོན་གཏང་མ་ཚུགས་" + +#: ../src/seahorse-revoke.c:54 +msgid "Couldn't revoke subkey" +msgstr "ཡན་ལག་ལྡེ་མིག་འདི་ཆ་མེད་གཏང་མ་ཚུགས་" + +#: ../src/seahorse-revoke.c:77 +#, c-format +msgid "Revoke Subkey %d of %s" +msgstr "ཡན་ལག་ལྡེ་མིག་ %d འདི་ %sལས་ཆ་མེད་གཏང་" + +#: ../src/seahorse-revoke.c:79 +#, c-format +msgid "Revoke %s" +msgstr "ཆ་མེད་%s" + +#: ../src/seahorse-revoke.c:107 +#, c-format +msgid "You are about to add %s as a revoker for %s. This operation cannot be undone! Are you sure you want to continue?" +msgstr "ཁྱོད་ཀྱིས་ %sའདི་ %sགི་དོན་ལུ་ ཆ་མེད་གཏང་མི་སྦེ་ ཁ་སྐོང་བརྐྱབ་ནི་འབད་དེས། བཀོལ་སྤྱོད་འདི་མ་འབད་བར་བཞག་མི་ཚུགས! འཕྲོ་མཐུད་དེ་འབད་ནི་ཨིན་ན་?" + +#: ../src/seahorse-revoke.c:122 +msgid "Couldn't add revoker" +msgstr "ཆ་མེད་གཏང་མི་ ཁ་སྐོང་བརྐྱབ་མ་ཚུགས་" + +#: ../src/seahorse-revoke.glade.h:1 +msgid "Compromised" +msgstr "ནང་འགྲིགས་འབད་ཡོདཔ་" + +#: ../src/seahorse-revoke.glade.h:2 +msgid "Key has been compromised" +msgstr "ལྡེ་མིག་འདི་ནང་འགྲིགས་བྱུང་ཡོདཔ་" + +#: ../src/seahorse-revoke.glade.h:3 +msgid "Key has been superseded" +msgstr "ལྡེ་མིག་འདི་ ཚབ་བཙུགས་འབད་ཡོདཔ་" + +#: ../src/seahorse-revoke.glade.h:4 +msgid "Key is no longer used" +msgstr "ལྡེ་མིག་འདི་ ད་ལས་ཕར་ལག་ལེན་འཐབ་མི་བཏུབ་" + +#: ../src/seahorse-revoke.glade.h:5 +msgid "No Reason" +msgstr "རྒྱུ་མཚན་མིན་འདུག་" + +#: ../src/seahorse-revoke.glade.h:6 +msgid "No reason for revoking key" +msgstr "ལྡེ་མིག་ཆ་མེད་གཏང་མི་ལུ་ རྒྱུ་མཚན་མིན་འདུག་" + +#: ../src/seahorse-revoke.glade.h:7 +msgid "Not Used" +msgstr "ལག་ལེན་མ་འཐབ་" + +#: ../src/seahorse-revoke.glade.h:8 +msgid "Optional description of revocation" +msgstr "ཆ་མེད་གཏང་བའི་གདམ་ཁ་ཅན་གྱི་འགྲེལ་བཤད་" + +#: ../src/seahorse-revoke.glade.h:9 +msgid "Re_voke" +msgstr "ཆ་མེད་གཏང་བ་(_v)" + +#: ../src/seahorse-revoke.glade.h:10 +msgid "Reason for revoking the key" +msgstr "ལྡེ་མིག་ཆ་མེད་གཏང་དགོ་པའི་གནད་དོན་" + +#: ../src/seahorse-revoke.glade.h:12 +msgid "Superseded" +msgstr "ཚབ་བཙུགས་འབད་ཡོདཔ་" + +#: ../src/seahorse-revoke.glade.h:13 +msgid "_Description:" +msgstr "འགྲེལ་བཤད་:(_D)" + +#: ../src/seahorse-revoke.glade.h:14 +msgid "_Reason:" +msgstr "རྒྱུ་མཚན་:(_R)" + +#: ../src/seahorse-sign.c:97 +msgid "Couldn't sign key" +msgstr "ལྡེ་མིག་ མིང་རྟགས་མ་བཀོད་" + +#: ../src/seahorse-sign.c:160 +msgid "You have no personal PGP keys that can be used to indicate your trust of this key." +msgstr "ཁྱོད་ལུ་ ཁྱོད་རའི་བློ་གཏད་ཅན་གྱི་ལྡེ་མིག་ བརྡ་སྟོན་འབད་ནི་ལུ་ ལག་ལེན་འཐབ་བཏུབ་པའི་རང་དོན་གྱི་ པི་ཇི་པི་ལྡེ་མིག་ཚུ་ མེདཔ་ཨིན།" + +#: ../src/seahorse-sign.glade.h:1 +msgid "How carefully have you checked this key?" +msgstr "ཁྱོད་ཀྱིས་ ལྡེ་མིག་འདི་ག་དེ་སྦེ་དྲན་པ་བཏོན་ཏེ་ ཞིབ་དཔྱད་འབད་ཡི་?" + +#: ../src/seahorse-sign.glade.h:2 +msgid "How others will see this signature:" +msgstr "མིང་རྟགས་འདི་གཞན་གྱིས་ ག་དེ་སྦེ་མཐོང་ནི་ཨིན་ན་:" + +#: ../src/seahorse-sign.glade.h:3 +msgid "Sign key as:" +msgstr "ལྡེ་མིག་ལུ་མིང་རྟགས་བཀོད་:" + +#: ../src/seahorse-sign.glade.h:4 +msgid "" +"Casually: means you have done a casual verification that the key\n" +"is owned by the person who claims to own it. For example, you could\n" +"read the key fingerprint to the owner over the phone. " +msgstr "" +"སྐབས་ཐོབ་ཀྱི་:དེ་ཡང་ ཁྱོད་ཀྱིས་ བདག་བཟུང་འབད་ནིའི་དཔའ་བཅམ་མི་གང་ཟག་གིས་ བདག་དབང་བཟུང་ཡོད་པའི་ལྡེ་མིག་\n" +"སྦེ་ སྐབས་ཐོབ་ཀྱི་བདེན་སྦྱོར་ཅིག་བཟོ་ཡོདཔ་ཨིན་པས། དཔེར་ན་ ཁྱོད་ཀྱིས་\n" +" བརྒྱུད་འཕྲིན་གྱི་ཐོག་ལས་ བདག་པོ་ལུ་ ལྡེ་མིག་མཛུབ་རྗེས་ལྷག་ཚུགས།" + +#: ../src/seahorse-sign.glade.h:7 +msgid "Key Name" +msgstr "ལྡེ་མིང་" + +#: ../src/seahorse-sign.glade.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who \n" +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "ག་ཡང་མེད་:དེ་ཡང་ ཁྱོད་ཀྱིས་ བདག་བཟུང་འབད་ནིའི་དཔའ་བཅམ་མི་གིས་ བདག་དབང་བཟུངམ་སྦེ་ ཡིད་ཆེས་བསྐྱེད་རུང་ བདེན་པ་སྦེ་བདེན་སྦྱོར་འབད་མ་ཚུགས།" + +#: ../src/seahorse-sign.glade.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this\n" +"key is genuine." +msgstr "" +"ལེགས་ཤོམ་པས་དྲན་པ་བཏོན་ཏེ་: ལྡེ་མིག་འདི་ངོ་མ་ཨིན་པའི་ངེས་བདེན་ཨིན་པ་ཅིན་\n" +" འདི་རྐྱངམ་ཅིག་སེལ་འཐུ་འབད།" + +#: ../src/seahorse-sign.glade.h:12 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "མིང་རྟགས་བཀོད་པའི་ཐོག་ལས་ ལྡེ་མིག་འདི་གྲངས་སུ་གཏོགས་པའི་ ཁྱོད་རའི་བློ་གཏད་འདི་བརྡ་སྟོན་འབདཝ་ཨིན་:" + +#: ../src/seahorse-sign.glade.h:13 +msgid "I can _revoke this signature at a later date." +msgstr "ཤུལ་མའི་ཚེས་ལུ་ ང་གིས་ མིང་རྟགས་འདི་ ཆ་མེད་གཏང་ཚུགས།(_r)" + +#: ../src/seahorse-sign.glade.h:14 +msgid "" +"You could use a hard to forge photo identification (such as a passport) \n" +"to personally check that the name on the key is correct. You should \n" +"have also used email to check that the email address belongs to the\n" +"owner." +msgstr "" +"ལྡེ་མིག་གུ་གི་མིང་འདི་ བདེན་མི་བདེན་ཞིབ་དཔྱད་འབད་ནི་གི་དོན་ལུ་ ཁྱོད་ཀྱིས་ པར་གྱི་ངོ་རྟགས་(དཔེར་ན་ ཆོག་ཡིག་བཟུམ་)\n" +"རྫུས་མ་བཟོ་ནིའི་ཧརཌི་ཅིག་ ལག་ལེན་འཐབ་དགོདེ་མ་ཚད་\n" +" གློག་འཕྲིན་ཁ་བྱང་འདི་ བདག་པོའི་གྲངས་སུ་གཏོགསཔ་ཨིན་པའི་ཞིབ་དཔྱད་འབད་ནི་ལུ་\n" +" གློག་འཕྲིན་ཁ་འདི་ལག་ལེན་འཐབ་དགོཔ་ཨིན།" + +#: ../src/seahorse-sign.glade.h:18 +msgid "_Casually" +msgstr "སྐབས་ཐོབ་ཀྱི་(_C)" + +#: ../src/seahorse-sign.glade.h:19 +msgid "_Not at all" +msgstr "མེན་(_N)" + +#: ../src/seahorse-sign.glade.h:20 +msgid "_Others may not see this signature" +msgstr "མིང་རྟགས་འདི་ གཞན་གྱིས་མི་མཐོང་འོང་(_O)" + +#: ../src/seahorse-sign.glade.h:22 +msgid "_Signer:" +msgstr "མིང་རྟགས་བཀོད་མི་:(_S)" + +#: ../src/seahorse-sign.glade.h:23 +msgid "_Very Carefully" +msgstr "དྲན་ཤེས་ཀྱི་སྒོ་ལས་(_V)" + +#: ../src/seahorse-ssh-generate.c:40 +msgid "Couldn't generate Secure Shell key" +msgstr "མཐའ་བཙན་ཤལ་ལྡེ་མིག་ བཟོ་བཏོན་འབད་མ་ཚུགས་" + +#: ../src/seahorse-ssh-generate.c:127 +msgid "Creating Secure Shell Key" +msgstr "མཐའ་བཙན་ཤལ་ལྡེ་མིག་ གསར་བསྐྲུན་འབད་དོ་" + +#: ../src/seahorse-ssh-generate.glade.h:2 +msgid "" +"Use your email address, and any other reminder\n" +" you need about what this key is for." +msgstr "ཁྱོད་རའི་གློག་འཕྲིན་ཁ་བྱང་དང་ ལྡེ་མིག་འདི་ག་ཅིག་གི་དོན་ལུ་དགོཔ་ཨིན་ན་གི་ དྲན་བསྐུལ་གང་རུང་ཅིག་ ལག་ལེན་འཐབ་" + +#: ../src/seahorse-ssh-generate.glade.h:4 +msgid "" +"A Secure Shell (SSH) key lets you connect securely to trusted\n" +"computers using SSH, without entering a different password \n" +"for each of them." +msgstr "" +"མཐའ་བཙན་ཤལ་(ཨེསི་ཨེསི་ཨེཆ་)ལྡེ་མིག་ཅིག་གིས་ ཁྱོད་ཀྱིས་ \n" +"བློ་གཏད་ཅན་གྱི་གློག་རིག་ལུ་ དེ་རེ་རེ་ལུ་ཆོག་ཡིག་མ་འདྲཝ་མ་བཙུགས་པར་\n" +" ཨེསི་ཨེསི་ཨེཆ་ལག་ལེན་གྱི་ཐོག་ལས་ མཐའ་བཙན་སྦེ་མཐུད་བཅུགཔ་ཨིན།" + +#: ../src/seahorse-ssh-generate.glade.h:8 +msgid "" +"If there is already a computer you want to use this key with, you \n" +"can set up that computer to recognize your key now. " +msgstr "" +"གློག་རིག་ཅིག་ཧེ་མ་ལས་ཡོད་པ་ཅིན་ ཁྱོད་ཀྱིས་ \n" +"ཁྱོད་རའི་ལྡེ་མིག་འདི་ད་ལྟོ་ར་ངོས་འཛིན་འབད་ནི་གི་དོན་ལུ་ གློག་རིག་དེ་གཞི་སྒྲིག་འབད་ཚུགསཔ་ལས་ ལྡེ་མིག་དེ་ལག་ལེན་འཐབ་དགོ་མནོ་འོང་།" + +#: ../src/seahorse-ssh-generate.glade.h:11 +msgid "New Secure Shell Key" +msgstr "མཐའ་བཙན་ཤལ་ལྡེ་མིག་གསརཔ་" + +#: ../src/seahorse-ssh-generate.glade.h:12 +msgid "_Create and Set Up" +msgstr "གསར་བསྐྲུན་འབད་ཞིནམ་ལས་གཞི་སྒྲིག་འབད་(_C)" + +#: ../src/seahorse-ssh-generate.glade.h:13 +msgid "_Just Create Key" +msgstr "ལྡེ་མིག་ཙམ་ཅིག་གསར་བསྐྲུན་འབད་(_J)" + +#: ../src/seahorse-ssh-generate.glade.h:14 +msgid "_Key Description:" +msgstr "ལྡེ་མིག་གི་འགྲེལ་བཤད་:(_K)" + +#: ../src/seahorse-ssh-key-properties.c:117 +msgid "Couldn't rename key." +msgstr "ལྡེ་མིག་ལུ་བསྐྱར་མིང་བཏགས་མ་ཚུགས།" + +#: ../src/seahorse-ssh-key-properties.c:157 +msgid "Couldn't change authorization for key." +msgstr "ལྡེ་མིག་གི་དོན་ལུ་ དབང་སྤྲོད་བསྒྱུར་བཅོས་འབད་མ་ཚུགས།" + +#: ../src/seahorse-ssh-key-properties.c:171 +msgid "Couldn't change passhrase for key." +msgstr "ལྡེ་མིག་གི་དོན་ལུ་ ཆོག་ཚིག་བསྒྱུར་བཅོས་འབད་མ་ཚུགས།" + +#: ../src/seahorse-ssh-key-properties.glade.h:1 +msgid "/home/nate/.ssh/blah_rsa" +msgstr "/home/nate/.ssh/blah_rsa" + +#: ../src/seahorse-ssh-key-properties.glade.h:2 +msgid "00:00:00:00:00" +msgstr "༠༠:༠༠:༠༠:༠༠:༠༠" + +#: ../src/seahorse-ssh-key-properties.glade.h:3 +msgid "Algorithm:" +msgstr "ཨཱལ་གོ་རི་དམ་:" + +#: ../src/seahorse-ssh-key-properties.glade.h:5 +msgid "Identifier:" +msgstr "ངོས་འཛིན་པ་:" + +#: ../src/seahorse-ssh-key-properties.glade.h:6 +msgid "Location:" +msgstr "གནས་ཁོངས་:" + +#: ../src/seahorse-ssh-key-properties.glade.h:8 +msgid "Strength:" +msgstr "སྟོབས་ཤུགས་:" + +#: ../src/seahorse-ssh-key-properties.glade.h:10 +msgid "Trust" +msgstr "བློ་གཏད་" + +#: ../src/seahorse-ssh-key-properties.glade.h:14 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "འ་ནི་འདི་ '%s' རྩིས་ཐོ་ལུ་རྐྱངམ་ཅིག་ འཇུག་སྤྱོད་འབདཝ་ཨིན།" + +#: ../src/seahorse-ssh-key-properties.glade.h:17 +msgid "E_xport Complete Key" +msgstr "ལྡེ་མིག་ཆ་ཚང་ ཕྱིར་འདྲེན་འཐབ་(_x)" + +#: ../src/seahorse-ssh-key-properties.glade.h:21 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "ལྡེ་མིག་གི་བདག་པོ་ལུ་ གློག་རིག་དེ་ལུ་མཐུད་ནིའི་དབང་ཚད་སྤྲོད་དེ་ཡོདཔ་ཨིན།(_a)" + +#: ../src/seahorse-ssh-key-properties.glade.h:22 +msgid "Used to connect to other computers." +msgstr "གློག་རིག་གཞན་ཚུ་དང་མཐུད་ནི་གི་དོན་ལུ་ ལག་ལེན་འཐབ་ཡོདཔ་ཨིན།" + +#: ../src/seahorse-ssh-upload.c:42 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "ཐག་རིང་གློག་རིག་གུ་ མཐའ་བཙན་ཤལ་ལྡེ་མིག་ཚུ་ རིམ་སྒྲིག་འབད་མ་བཏུབ།" + +#. Show the progress window if necessary +#: ../src/seahorse-ssh-upload.c:177 +msgid "Configuring Secure Shell Keys..." +msgstr "མཐའ་བཙན་ཤལ་ལྡེ་མིག་ཚུ་ རིམ་སྒྲིག་འབད་དོ་་་་་" + +#: ../src/seahorse-ssh-upload.glade.h:1 +msgid "eg: fileserver.example.com" +msgstr "eg: fileserver.example.com" + +#: ../src/seahorse-ssh-upload.glade.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "ཨེསི་ཨེསི་ཨེཆ་མཐུད་ལམ་གྱི་དོན་ལུ་ གློག་རིག་གཞི་སྒྲིག་འབད་" + +#: ../src/seahorse-ssh-upload.glade.h:4 +msgid "" +"To use your Secure Shell key with another computer that\n" +"uses SSH, you must already have a login account on that \n" +"computer." +msgstr "" +"ཁྱོད་རའི་ མཐའ་བཙན་ཤལ་ལྡེ་མིག་འདི་ ཨེསི་ཨེསི་ཨེཆ་ལག་ལེན་འཐབ་ཨིན་པའི་གློག་རིག་གཞན་དང་བཅས་\n" +" ལག་ལེན་འཐབ་ནི་གི་དོན་ལུ་ \n" +"གློག་རིག་དེ་གུ་ ཧེ་མ་ལས་ནང་བསྐྱོད་རྩིས་ཐོ་ཅིག་དགོ" + +#: ../src/seahorse-ssh-upload.glade.h:7 +msgid "_Computer Name:" +msgstr "གློག་རིག་མིང་:(_C)" + +#: ../src/seahorse-ssh-upload.glade.h:8 +msgid "_Login Name:" +msgstr "ནང་བསྐྱོད་མིང་:(_L)" + +#: ../src/seahorse-ssh-upload.glade.h:9 +msgid "_Set Up" +msgstr "གཞི་སྒྲིགས་འབད (_S)" + +#~ msgid "Choose Signing Key" +#~ msgstr "མིང་རྟགས་བཀོད་ནིའི་ལྡེ་མིག་གདམས་" +#~ msgid "The ssh command failed." +#~ msgstr "ཨེསི་ཨེསི་ཨེཅ་བརྡ་བཀོད་ འཐུས་ཤོར་བྱུང་ཡོདཔ།" +#~ msgid "Imported %d keys" +#~ msgstr "ནང་འདྲེན་འབད་ཡོད་པའི་ %d ལྡེ་མིག་ཚུ་" +#~ msgid "Copied %d keys" +#~ msgstr "ལྡེ་མིག་ %d ཚུ་འདྲ་བཤུས་བརྐྱབས་ཡོདཔ་" +#~ msgid "Selected %d keys" +#~ msgstr "སེལ་འཐུ་འབད་ཡོད་པའི་ལྡེ་མིག་ %dཚུ་" +#~ msgid "Key T_ypes" +#~ msgstr "ལྡེ་མིག་དབྱེ་བ་(_y)" +#~ msgid "Key _Trust" +#~ msgstr "ལྡེ་མིག་བློ་གཏད་(_T)" +#~ msgid "Key _Validity" +#~ msgstr "ལྡེ་མིག་གི་ནུས་ལྡན་དུས་ཚོད་(_V)" +#~ msgid "If signature can be revoked" +#~ msgstr "མིང་རྟགས་འདི་ ཆ་མེད་གཏང་བཏུབ་པ་ཅིན་" +#~ msgid "" +#~ "If signature is local to the key ring and won't be exported with the key" +#~ msgstr "མིང་རྟགས་འདི་ ལྡེ་འཁོར་ལུ་ཉེ་གནས་དང་ ལྡེ་མིག་དང་གཅིག་ཁར་ ཕྱིར་འདྲེན་འཐབ་མ་བཏུབ་པ་ཅིན་" +#~ msgid "Sign Key" +#~ msgstr "མིང་རྟགས་ལྡེ་མིག་" + diff --git a/po/el.po b/po/el.po new file mode 100644 index 00000000..1fd6d0d3 --- /dev/null +++ b/po/el.po @@ -0,0 +1,3682 @@ +# Greek translation of Seahorse +# Copyright (C) 2007 - 2011, Free Software Foundation, Inc. +# This file is distributed under the same license as the Seahorse package. +# Kostas Papadimas , 2007, 2012. +# Dimitrios Typaldos , 2007. +# Simos Xenitellis , 2008. +# Jennie Petoumenou , 2009. +# Marios Zindilis , 2011. +# Dimitris Spingos (Δημήτρης Σπίγγος) , 2012, 2013, 2014. +# Efstathios Iosifidis , 2013-2019. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse.HEAD\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-07-15 20:33+0300\n" +"Last-Translator: Efstathios Iosifidis \n" +"Language-Team: Greek, Modern (1453-) \n" +"Language: el\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 1.8.7.1\n" +"X-Project-Style: gnome\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Προσθήκη διακομιστή κλειδιών" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Προσαρμοσμένο" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Ακύρωση" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Αποθήκευση" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Αδυναμία διαγραφής" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Αδυναμία εξαγωγής κλειδιών" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Αδυναμία εξαγωγής δεδομένων" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Ακύρωση" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Διαγραφή" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Εξαγωγή" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Εισαγωγή PIN ή κωδικού πρόσβασης για: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Επιβεβαίωση:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Εντάξει" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Κωδικός πρόσβασης:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Κωδικοί πρόσβασης" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Κλειδιά" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Πιστοποιητικά" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Προτιμήσεις" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Κανένα: Να μην δημοσιεύονται κλειδιά" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Μη έγκυρη διεύθυνση διακομιστή κλειδιών." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Για βοήθεια επικοινωνήστε με το διαχειριστή του συστήματός σας ή το " +"διαχειριστή του διακομιστή κλειδιών." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "αρχικό προσωρινό στοιχείο" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Τύπος διακομιστή κλειδιών:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Κεντρικός υπολογιστής:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Όνομα κεντρικού υπολογιστή ή διεύθυνση του διακομιστή." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Θύρα πρόσβασης στον διακομιστή." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Εύρεση κλειδιών μέσω:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Δημοσίευση κλειδιών σε:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Αυτόματη λήψη κλειδιών από διακομιστές _κλειδιών" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" +"Αυτόματος συγχρονισμός _τροποποιημένων κλειδιών με διακομιστές κλειδιών" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Διακομιστές κλειδιών" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Άγνωστο" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Ποτέ" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Οριακά" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Πλήρες" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Μέγιστo" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Ανενεργό" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Ανεκλήθη" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Επισκόπηση" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Βοήθεια" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Άνοιγμα μενού" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Δημιουργία νέου αντικειμένου" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Εισαγωγή αντικειμένου από αρχείο" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Αναζήτηση" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Λίστα συντομεύσεων" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Έξοδος" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Περιήγηση" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Επιλογή προηγούμενης κλειδοθήκης" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Επιλεγμένο επόμενης κλειδοθήκης" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Εμφάνιση της πλευρικής στήλης (σε μικρές οθόνες)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Εμφάνιση περιεχομένων κλειδοθήκης (σε μικρές οθόνες)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Αυτόματη ανάκτηση κλειδιών" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Αν τα κλειδιά θα πρέπει να λαμβάνονται από εξυπηρετητές κλειδιών." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Αυτόματη δημοσίευση κλειδιών" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Αν τα τροποποιημένα κλειδιά θα πρέπει να δημοσιεύονται αυτόματα." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Δημοσίευση κλειδιών σε αυτόν τον εξυπηρετητή κλειδιών" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Ο εξυπηρετητής κλειδιών στον οποίον δημοσιεύτηκαν κλειδιά PGP. Ή κενό για " +"αναβολή δημοσίευσης κλειδιών PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Τελευταίο μοτίβο αναζήτησης εξυπηρετητή κλειδιών" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "" +"Το τελευταίο μοτίβο αναζήτησης που τέθηκε σε αναζήτηση σε έναν εξυπηρετητή " +"κλειδιών." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Τελευταίοι εξυπηρετητές κλειδιών που χρησιμοποιήθηκαν" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Ο τελευταίος εξυπηρετητής κλειδιών στον οποίον έγινε αναζήτηση ή κενό για " +"όλους τους άλλους εξυπηρετητές." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Εμφάνιση της πλευρικής στήλης κλειδοθηκών" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Εμφάνιση της πλευρικής στήλης κλειδοθηκών στο Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Ποια αντικείμενα να ευμφανίζονται" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Φιλτράρετε τα στοιχεία που θέλετε να εμφανίζονται. Εάν είναι κενό, θα " +"εμφανίζονται όλα τα στοιχεία, εάν είναι «προσωπικό» εμφανίζονται τα " +"προσωπικά κλειδιά, εάν είναι «έμπιστο» εμφανίζονται τα αξιόπιστα." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Πλάτος της πλευρικής στήλης" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Προεπιλεγμένο πλάτος της πλευρικής στήλης." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Οι επιλεγμένες κλειδοθήκες" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Τα URI των επιλεγμένων κλειδοθηκών στην πλευρική στήλη." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Η στήλη για ταξινόμηση των κλειδιών του Seahorse ανά" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Καθορίστε τη στήλη προς ταξινόμηση από το κύριο παράθυρο του διαχειριστή " +"κλειδιών του Seahorse. Οι στήλες είναι: «όνομα», «ταυτότητα (id)», " +"«εγκυρότητα», «εμπιστοσύνη» και «τύπος». Εισάγετε ένα «-» μπροστά από το " +"όνομα της στήλης για ταξινόμηση με κατιούσα διάταξη." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Εμφάνιση στήλης εγκυρότητας" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Δεν χρησιμοποιείται πλέον." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Εμφάνιση στήλης λήξης" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Εμφάνιση στήλης εμπιστοσύνης" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Εμφάνιση στήλης τύπου" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Πλάτος του παραθύρου" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Πλάτος (σε pixels) του παραθύρου." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Ύψος του παραθύρου" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Ύψος (σε pixels) του παραθύρου." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "" +"Διαχειριστείτε τους κωδικούς πρόσβασης και τα κλειδιά κρυπτογράφησης σας" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "" +"Το Seahorse είναι μια εφαρμογή GNOME για τη διαχείριση κλειδιών " +"κρυπτογράφησης." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Με το seahorse μπορείτε να δημιουργήσετε και να διαχειρισθείτε κλειδιά PGP, " +"να δημιουργήσετε και να διαχειριστείτε κλειδιά SSH, να δημοσιεύσετε και να " +"ανακτήσετε κλειδιά από διακομιστές κλειδιών, να αποκρύψετε τον κωδικό σας, " +"ώστε να μη χρειάζεστε να τον δακτυλογραφείτε συνεχώς και να λάβετε αντίγραφο " +"ασφαλείας των κλειδιών και της κλειδοθήκης." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Το έργο GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Κωδικοί πρόσβασης και κλειδιά" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" +"κλειδοθήκη;κρυπτογράφηση;ασφάλεια;υπογραφή;ssh;keyring;encryption;security;" +"sign;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Αποθηκευμένοι κωδικοί πρόσβασης, διαπιστευτήρια και μυστικά" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Αδυναμία ξεκλειδώματος" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Αδυναμία προσθήκης αντικειμένου" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Συνθηματικό ή μυστικό" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Μυστικό σύνδεσης δικτύου" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Συνθηματικό Wi-Fi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Κωδικός πρόσβασης δικτύου" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Συνθηματικό για τον Ιστό του GNOME" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Κωδικός πρόσβασης για Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Κωδικός πρόσβασης εφαρμογής άμεσων μηνυμάτων" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Συνθηματικό λογαριασμού άμεσων μηνυμάτων για" + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Κωδικός πρόσβασης για Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Κωδικός πρόσβασης για τους διαδικτυακούς λογαριασμούς του GNOME" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Αποθήκευση αλλαγών γι' αυτό το αντικείμενο;" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Πρόσβαση κοινόχρηστου δικτύου ή πόρου" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Πρόσβαση σε έναν ιστότοπο" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Ξεκλειδώνει ένα κλειδί PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Ξεκλειδώνει ένα κλειδί ασφαλούς κελύφους" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Αποθηκευμένος κωδικός πρόσβασης ή στοιχεία σύνδεσης" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Διαπιστευτήρια δικτύου" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Κωδικός πρόσβασης" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Αδυναμία αλλαγής κωδικού πρόσβασης." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Αδυναμία καθορισμού περιγραφής." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Σφάλμα διαγραφής συνθηματικού." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Αποθηκευμένη σημείωση" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Κωδικός πρόσβασης κλειδοθήκης" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Κωδικός πρόσβασης κλειδιού κρυπτογράφησης" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Κωδικός πρόσβασης αποθήκης κλειδιών" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Μυστικό του διαχειριστή δικτύου" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Είστε σίγουροι ότι επιθυμείτε να διαγράψετε τον κωδικό πρόσβασης «%s»;" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Είστε σίγουροι ότι επιθυμείτε να διαγράψετε %d κωδικό πρόσβασης;" +msgstr[1] "Είστε σίγουροι ότι επιθυμείτε να διαγράψετε %d κωδικούς πρόσβασης;" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Αδυναμία προσθήκης κλειδοθήκης" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Άγνωστα δεδομένα" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Μια κλειδοθήκη που ξεκλειδώνεται αυτόματα κατά τη σύνδεση" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "" +"Μια κλειδοθήκη που χρησιμοποιείται για την αποθήκευση κωδικών πρόσβασης" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Αδυναμία καθορισμού προεπιλεγμένης κλειδοθήκης" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Αδυναμία αλλαγής κωδικού πρόσβασης της κλειδοθήκης" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Ορισμός ως προεπιλογή" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Αλλαγή _κωδικού πρόσβασης" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "" +"Είστε σίγουροι ότι επιθυμείτε να διαγράψετε την κλειδοθήκη κωδικών πρόσβασης " +"«%s»;" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Κατανοώ πως όλα τα αντικείμενα θα διαγραφούν οριστικά." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Εμφάνιση/απόκρυψη συνθηματικού" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Προσθήκη κωδικού πρόσβασης" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Κλειδοθήκη:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "Περι_γραφή:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "Κωδικός _πρόσβασης:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Προσθήκη" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Προσθήκη κλειδοθήκης συνθηματικών" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Παρακαλούμε επιλέξτε ένα όνομα για τη νέα κλειδοθήκη. Θα ερωτηθείτε για " +"κωδικό πρόσβασης ξεκλειδώματος." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Νέο όνομα κλειδοθήκης:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Ιδιότητες αντικειμένου" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Περιγραφή" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Αντιγραφή" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Χρήση" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Τύπος" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Διακομιστής" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Σύνδεση" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Λεπτομέρειες" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Διαγραφή συνθηματικού" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Ιδιότητες κλειδοθήκης" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Όνομα" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Δημιουργήθηκε στο" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Αλλαγή συνθηματικού" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Ορισμός ως προεπιλογή" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Εμφάνιση σημαιών" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Εμφανιζόμενες ιδιότητες ημερομηνίας και/ή χρόνου" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Κατάσταση οκνηρίας" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "" +"Στην κατάσταση οκνηρίας οι τιμές ημερομηνίας και χρόνου που έχουν εισαχθεί " +"δεν κανονικοποιούνται" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Έτος" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Έτος που εμφανίζεται" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Μήνας" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Μήνας που εμφανίζεται" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Ημέρα" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Ημέρα του μήνα που εμφανίζεται" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Ώρα" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Ώρα που εμφανίζεται" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Λεπτό" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Λεπτό που εμφανίζεται" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Δευτερόλεπτο" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Δευτερόλεπτο που εμφανίζεται" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Έτος κατωτέρου ορίου" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Τμήμα του έτους για το κατώτερο όριο ημερομηνίας" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Έτος ανωτέρου ορίου" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Τμήμα του έτους για το ανώτερο όριο ημερομηνίας" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Μήνας κατωτέρου ορίου" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Τμήμα του μήνα για το κατώτερο όριο ημερομηνίας" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Μήνας ανωτέρου ορίου" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Τμήμα του μήνα για το ανώτερο όριο ημερομηνίας" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Ημέρα κατωτέρου ορίου" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Τμήμα της ημέρας του μήνα για το κατώτερο όριο ημερομηνίας" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Ημέρα ανωτέρου ορίου" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Τμήμα της ημέρας του μήνα για το ανώτερο όριο ημερομηνίας" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Ώρα κατωτέρου ορίου" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Τμήμα της ώρας για το κατώτερο όριο χρόνου" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Ώρα ανωτέρου ορίου" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Τμήμα της ώρας για το ανώτερο όριο χρόνου" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Λεπτό κατωτέρου ορίου" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Τμήμα του λεπτού για το κατώτερο όριο χρόνου" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Λεπτό ανωτέρου ορίου" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Τμήμα του λεπτού για το ανώτερο όριο χρόνου" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Δευτερόλεπτο κατωτέρου ορίου" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Τμήμα του δευτερολέπτου για το κατώτερο όριο χρόνου" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Δευτερόλεπτο ανωτέρου ορίου" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Τμήμα του δευτερολέπτου για το ανώτερο όριο χρόνου" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Ημερομηνία" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Απευθείας εισαγωγή της ημερομηνίας" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Επιλογή ημερομηνίας" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Επιλογή της ημερομηνίας από ένα ημερολόγιο" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Χρόνος" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Απευθείας εισαγωγή χρόνου" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Επιλογή χρόνου" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Επιλογή χρόνου από μια λίστα" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: no" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "π.μ." + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "μ.μ." + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%02d-%02d-%04d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Αδυναμία εμφάνισης βοήθειας: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Προσθήκη υποκλειδιού στο %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (μόνο υπογραφή)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (μόνο κρυπτογράφηση)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (μόνο υπογραφή)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (μόνο κρυπτογράφηση)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Τύπος κλειδιού" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "_Μήκος κλειδιού" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Μήκος του κλειδιού" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Ημερομηνία λήξης" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Δε λήγει π_οτέ" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Αν το κλειδί δε λήγει ποτέ" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Δημιουργία νέου υποκλειδιού" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Προσθήκη ταυτότητας χρήστη στο %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Αδυναμία προσθήκης ταυτότητας χρήστη" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Προσθήκη ταυτότητας χρήστη" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Πλήρες ό_νομα" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Πρέπει να αποτελείται από τουλάχιστον 5 χαρακτήρες" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_Διεύθυνση ηλ. αλληλογραφίας" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Προαιρετική διεύθυνση ηλ. αλληλογραφίας" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Σχό_λιο κλειδιού" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Προαιρετικό περιγραφικό σχόλιο κλειδιού" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Δημιουργία νέας ταυτότητας χρήστη" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"Η αποκρυπτογράφηση απέτυχε. Προφανώς δε διαθέτετε το κλειδί " +"αποκρυπτογράφησης." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Η λειτουργία ακυρώθηκε" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Μη έγκυρη ημερομηνία λήξης" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Η ημερομηνία λήξης πρέπει να είναι μελλοντική" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Αδυναμίας αλλαγής ημερομηνίας λήξης" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Λήξη: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Δε λήγει ποτέ" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "Α_λλαγή" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Πολλαπλά κλειδιά" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Δεδομένα κλειδιού" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Θωρακισμένα κλειδιά PGP" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Κλειδιά PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Αδυναμία δημιουργίας κλειδιού PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Συνθηματικό για νέο κλειδί PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Εισάγετε δυο φορές το συνθηματικό για το νέο σας κλειδί." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Όταν δημιουργείται ένα κλειδί πρέπει να παράγουμε πολλά\n" +"τυχαία δεδομένα γι' αυτό και χρειαζόμαστε τη βοήθεια σας. Είναι μια καλή\n" +"ιδέα να εκτελέσετε κάποια άλλη ενέργεια, όπως να πληκτρολογήσετε\n" +"στο πληκτρολόγιο, να κινήσετε το ποντίκι, ή να χρησιμοποιήσετε εφαρμογές.\n" +"Αυτό θα προσφέρει στο σύστημα τα τυχαία δεδομένα που χρειάζεται." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Δημιουργείται κλειδί" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Το όνομα πρέπει να αποτελείται από τουλάχιστον 5 χαρακτήρες." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Νέο κλειδί PGP" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Ένα κλειδί PGP επιτρέπει την κρυπτογράφηση ηλεκτρονικής αλληλογγραφίας ή " +"αρχείων προς άλλους χρήστες." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Προχωρημένες επιλογές κλειδιού" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Σχόλιο" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Τύπος _κρυπτογράφησης" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Ισχύς κλειδιού (bits)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Ημερομηνία λή_ξης" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Δεν λήγει _ποτέ" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "Δη_μιουργία" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Δημιουργία νέου κλειδιού" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Είστε σίγουροι ότι επιθυμείτε να διαγράψετε μόνιμα το %s;" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Είστε σίγουροι ότι επιθυμείτε να διαγράψετε μόνιμα %d κλειδί;" +msgstr[1] "Είστε σίγουροι ότι επιθυμείτε να διαγράψετε μόνιμα %d κλειδιά;" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Λάθος κωδικός πρόσβασης" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Αυτή ήταν η τρίτη φορά που εισάγατε έναν λανθασμένο κωδικό πρόσβασης. " +"Παρακαλούμε προσπαθήστε ξανά." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Λανθασμένο συνθηματικό." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Εισαγωγή νέου συνθηματικού για «%s»" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Εισαγωγή συνθηματικού για «%s»" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Εισαγωγή νέου συνθηματικού" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Εισαγωγή συνθηματικού" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Συνθηματικό" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Φορτώθηκε %d κλειδί" +msgstr[1] "Φορτώθηκαν %d κλειδιά" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Άκυρα δεδομένα κλειδιού (απουσία UID). Αυτό μπορεί να συμβαίνει εξαιτίας " +"ενός υπολογιστή με ημερομηνία καθορισμένη σε μελλοντικό χρόνο ή λόγω " +"απουσίας ιδιο-υπογραφής." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Κλειδιά GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: προεπιλεγμένος κατάλογος κλειδιών" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Η φωτογραφία είναι πολύ μεγάλη\n" +"Το συνιστώμενο μέγεθος για μία φωτογραφία στο κλειδί σας είναι %d × %d " +"εικονοστοιχεία." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "Ό_χι αλλαγή μεγέθους" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "Αλλαγή με_γέθους" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Αυτό δεν είναι αρχείο εικόνας, ή κάποιο μη αναγνωρίσιμο είδος αρχείου " +"εικόνας. Δοκιμάστε να χρησιμοποιήσετε μία εικόνα τύπου JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Όλα τα αρχεία εικόνων" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Όλα τα αρχεία JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Όλα τα αρχεία" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Επιλογή φωτογραφίας για προσθήκη στο κλειδί" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "Ά_νοιγμα" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Αδυναμία προετοιμασίας φωτογραφίας" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Αδυναμία προσθήκης φωτογραφίας" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" +"Το αρχείο δε μπόρεσε να φορτωθεί. Μπορεί να έχει κάποια μη έγκυρη μορφή" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "" +"Είστε σίγουροι ότι επιθυμείτε να απομακρύνετε την τρέχουσα φωτογραφία από το " +"κλειδί σας;" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Αδυναμία διαγραφής φωτογραφίας" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Αδυναμία ανάκλησης υποκλειδιού" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Ανάκληση: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Χωρίς αιτιολογία" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Δεν υπάρχει αιτία για την ανάκληση του κλειδιού" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Έχει παραβιαστεί" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Το κλειδί έχει παραβιαστεί" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Αντικαταστάθηκε" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Το κλειδί έχει αντικατασταθεί από κάποιο νεώτερο" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Εκτός χρήσης" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Το κλειδί δεν χρησιμοποιείται πλέον" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Πρόκειται να προσθέσετε το %s ως ανακλητή για το %s. Αυτή η λειτουργία δεν " +"είναι αναστρέψιμη! Είστε σίγουροι ότι θέλετε να συνεχίσετε;" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Αδυναμία προσθήκης ανακλητή" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Κατανοώ πως αυτό το μυστικό κλειδί θα διαγραφεί οριστικά." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Αυτό το κλειδί υπεγράφη ήδη από τον/την\n" +"«%s»" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Αδυναμία υπογραφής κλειδιού" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Δεν υπάρχουν διαθέσιμα κλειδιά για χρήση σε ψηφιακή υπογραφή" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Δεν έχετε προσωπικά κλειδιά PGP που μπορούν να χρησιμοποιηθούν για να " +"δηλώσετε την εμπιστοσύνη σας για το συγκεκριμένο κλειδί." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Υπογραφή κλειδιού" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"Με την υπογραφή δηλώνετε ότι εμπιστεύεστε ότι αυτό το κλειδί ανήκει στον/" +"στην:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Όνομα κλειδιού" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Πόσο προσεχτικά ελέγξατε αυτό το κλειδί;" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Καθόλου" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Πρόχειρα" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Πολύ προσεκτικά" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Καθόλου: σημαίνει πως πιστεύετε ότι το κλειδί ανήκει στο άτομο που " +"ισχυρίζεται ότι το κατέχει, αλλά είτε δεν μπορούσατε, είτε δεν επαληθεύσατε " +"αν αυτό πράγματι ισχύει." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Πρόχειρα: σημαίνει ότι έχετε κάνει μία πρόχειρη διαπίστωση ότι το " +"κλειδί ανήκει στο άτομο που ισχυρίζεται ότι είναι δικό του. Για παράδειγμα, " +"θα μπορούσατε να διαβάσετε το αποτύπωμα του κλειδιού στον ιδιοκτήτη του μέσω " +"τηλεφώνου." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Πολύ προσεκτικά Επιλέξτε αυτό μόνον αν είστε απολύτως σίγουρος/η ότι " +"αυτό το κλειδί είναι αυθεντικό." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Θα μπορούσατε να χρησιμοποιήσετε μια δύσκολα πλαστογραφήσιμη φωτογραφία " +"ταυτοποίησης (π.χ.διαβατηρίου) για να ελέγξετε αυτοπροσώπως ότι το όνομα στο " +"κλειδί είναι σωστό. Θα πρέπει, επίσης, να έχετε χρησιμοποιήσει ηλεκτρονική " +"αλληλογραφία, για να διαπιστώσετε ότι η διεύθυνση ηλεκτρονικής αλληλογραφίας " +"ανήκει πράγματι στον ιδιοκτήτη." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Πως οι άλλοι θα βλέπουν αυτήν την υπογραφή:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "Να μη μπορούν οι ά_λλοι να δουν αυτή την υπογραφή" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "" +"Μπορώ να α_νακαλέσω αυτήν την υπογραφή σε μια μεταγενέστερη ημερομηνία." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Υπογραφή κλειδιού ως:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Υπογράφων:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Υπογραφή" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Άγνωστο" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Ανεπαρκώς καθορισμένη αναζήτηση. Ο διακομιστής «%s» βρήκε πάρα πολλά κλειδιά." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Αδυναμία επικοινωνίας με τον διακομιστή «%s»: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Διακομιστής κλειδιών HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Αδυναμία εισαγωγής κλειδιού: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Επιτυχία εισαγωγής κλειδιού" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Εισαγωγή" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Αδυναμία εισαγωγής κλειδιού" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Απομακρυσμένα κλειδιά" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Απομακρυσμένα κλειδιά που περιέχουν «%s»" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Απέτυχε η αναζήτηση για κλειδιά." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Κάντε διπλό κλικ σε ένα κλειδί για να το επιθεωρήσετε ή κάντε κλικ στο " +"κουμπί εισαγωγής για να το εισαγάγετε στην τοπική κλειδοθήκη." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Εύρεση απομακρυσμένων κλειδιών" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Θα γίνει αναζήτηση κλειδιών άλλων χρηστών στο διαδίκτυο. Αυτά τα κλειδιά " +"μπορούν να εισαχθούν στην τοπική σας κλειδοθήκη." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Αναζήτηση κλειδιών που περιέχουν: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Αναζήτηση σε:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Διακομιστές κλειδιών:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Κοινόχρηστα κλειδιά κοντά σε μένα:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "Ανα_ζήτηση" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Αδυναμία δημοσίευσης κλειδιών στον διακομιστή" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Αδυναμία λήψης κλειδιών από τον διακομιστή: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d κλειδί είναι επιλεγμένο για συγχρονισμό" +msgstr[1] "%d κλειδιά είναι επιλεγμένα για συγχρονισμό" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Συγχρονισμός κλειδιών…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Συγχρονισμός κλειδιών" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Θα γίνει δημοσίευση των κλειδιών από την κλειδοθήκη σας ώστε να είναι " +"διαθέσιμα και σε άλλους χρήστες. Θα λάβετε επίσης οποιεσδήποτε αλλαγές που " +"έχουν κάνει άλλοι από τη στιγμή που λάβατε τα κλειδιά τους." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Αυτό θα πραγματοποιήσει λήψη οποιωνδήποτε αλλαγών που έχουν κάνει άλλοι, από " +"τη στιγμή που εσείς λάβατε τα κλειδιά τους. Δεν έχει επιλεγεί κανένας " +"διακομιστής κλειδιών για δημοσίευση, και έτσι τα κλειδιά σας δε θα είναι " +"διαθέσιμα σε άλλους." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Διακομιστές _κλειδιών" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Συγχρονισμός" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Αδυναμία επικοινωνίας με «%s»: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Σύνδεση στο: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Αδυναμία ανάλυσης διεύθυνσης: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Γίνεται ανάλυση διεύθυνσης διακομιστή: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Διακομιστής κλειδιών LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Κλειδιά PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "" +"Τα κλειδιά PGP είναι για κρυπτογράφηση ηλεκτρονικής αλληλογγραφίας ή αρχείων" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(και %d άλλος)" +msgstr[1] "(και %d άλλοι)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Προσωπικό κλειδί PGP" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Κλειδί PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Αδυναμία αλλαγής κύριας ταυτότητας χρήστη" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "" +"Είστε σίγουροι ότι επιθυμείτε να διαγράψετε μόνιμα την ταυτότητα του χρήστη " +"«%s»;" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Αδυναμία διαγραφής της ταυτότητας του χρήστη" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Άγνωστο]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Όνομα/Ηλ. αλληλογγραφία" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Ταυτότητα υπογραφής" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Αδυναμία αλλαγής βασικής φωτογραφίας" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Σφάλμα αλλαγής συνθηματικού" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(άγνωστο)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Αυτό το κλειδί έληξε: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Δημόσιο κλειδί" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Ιδιωτικό κλειδί" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Είστε σίγουροι ότι επιθυμείτε να διαγράψετε το υποκλειδί %d του %s;" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Αδυναμία διαγραφής υποκλειδιού" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Αδυναμία αλλαγής τύπου εμπιστοσύνης" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Αδυναμία εξαγωγής κλειδιού" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Ποτέ" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "Ταυτότητα" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Χρήση" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Δημιουργήθηκε" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Λήγει" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Κατάσταση" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Ισχύς" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Ανακλήθηκε" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Έληξε" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Μη ενεργό" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Καλή" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Ταυτότητα κλειδιού" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Εμπιστεύομαι τις υπογραφές από «%s» σε άλλα κλειδιά" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Αν πιστεύετε ότι ο ιδιοκτήτης αυτού του κλειδιού είναι ο «%s», υπογράψτε αυτό το κλειδί:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Αν δεν εμπιστεύεστε πλέον ότι ο «%s» είναι ιδιοκτήτης αυτού του κλειδιού, " +"ανακαλέστε την υπογραφή σας:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Εξαγωγή _μυστικού κλειδιού" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Εξαγωγή _δημόσιου κλειδιού" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Αυτό το κλειδί έχει ανακληθεί" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" +"Ο ιδιοκτήτης του κλειδιού ανακάλεσε το κλειδί. Δε θα μπορεί να είναι πλέον " +"διαθέσιμο προς χρήση." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Αυτό το κλειδί έχει λήξει" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Προσθήκη μιας φωτογραφίας σε αυτό το κλειδί" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Απομάκρυνση της φωτογραφίας από αυτό το κλειδί" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Καθορισμός της παρούσας φωτογραφίας ως βασικής" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Μετάβαση στην προηγούμενη φωτογραφία" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Μετάβαση στην επόμενη φωτογραφία" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Σχόλιο" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Αλλαγή _συνθηματικού" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Ιδιοκτήτης" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Ονόματα κλειδιών και υπογραφές" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Πρωτεύον" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Υπογραφή" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Διαγραφή" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Προσθήκη ονόματος" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Ανάκληση" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Ονόματα και υπογραφές" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Ταυτότητα κλειδιού:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Τύπος:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Ισχύς:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Τεχνικές λεπτομέρειες" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Αποτύπωμα" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Δημιουργήθηκε:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Λήγει:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Ημερομηνίες" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Παράκαμψη ε_μπιστοσύνης ιδιοκτήτη:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Εξαγωγή σε αρχείο" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Ενέργειες" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Λήξη" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Υποκλειδιά" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Οριακά" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Πλήρως" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Άψογο" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "Ά_λλα ονόματα:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Η εμπιστοσύνη σας για το συγκεκριμένο κλειδί" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "" +"Η εμπιστοσύνη σας καθορίζεται χειρωνακτικά στην καρτέλα Λεπτομέρειες." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "Υπογρα_φή αυτού του κλειδιού" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Ανάκληση υπογραφής" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Χρήστες που έχουν υπογράψει αυτό το κλειδί:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "Να εμφανίζονται _μόνο οι υπογραφές των ανθρώπων που εμπιστεύομαι" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Εμπιστοσύνη" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Τεχνικές λεπτομέρειες:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Αποτύπωμα:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Ημερομηνίες:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Καθορισμός εμπιστοσύνης:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Ε_μπιστεύεστε τον ιδιοκτήτη:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Κρυπτογράφηση" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Βεβαίωση" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Πιστοποίηση" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Κλειδί" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Υποκλειδί %d από %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Αιτία για την ανάκληση του κλειδιού" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "Αι_τία:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Προαιρετική περιγραφή ανάκλησης" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Ανάκληση κλειδιού" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Ανάκλη_ση" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Δε διαθέτετε προσωπικά κλειδιά PGP που μπορούν να χρησιμοποιηθούν για " +"υπογραφή εγγράφου ή μηνύματος." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Επιλογή κλειδιού υπογραφής" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "Υ_πογραφή μηνύματος με κλειδί:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Εξαγωγή δεδομένων" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Ανάκτηση δεδομένων" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Εισαγωγή δεδομένων" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Αποστολή δεδομένων" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Μη διαθέσιμο" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Πιστοποίηση" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Πιστοποιητικά (DER κωδικοποιημένα)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Προσωπικό πιστοποιητικό και κλειδί" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Προσωπικό πιστοποιητικό" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "" +"Είστε σίγουροι ότι επιθυμείτε να διαγράψετε μόνιμα %d πιστοποιητικό;" +msgstr[1] "" +"Είστε σίγουροι ότι επιθυμείτε να διαγράψετε μόνιμα %d πιστοποιητικά;" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Αδυναμία δημιουργίας ιδωτικού κλειδιού" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Κατανοώ πως αυτό το κλειδί θα διαγραφεί οριστικά." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Ανώνυμο ιδιωτικό κλειδί" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Ιδιωτικό κλειδί" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Ανώνυμο" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Αποτυχία εξαγωγής πιστοποιητικού" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Αδυναμία διαγραφής" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Δημιουργία" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Αδυναμία δημιουργίας αίτησης πιστοποιητικού" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Αποθήκευση αίτησης πιστοποιητικού" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Αποθήκευση" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Αίτηση πιστοποίησης" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Κωδικοποιημένη αίτηση PEM" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Αδυναμία αποθήκευσης αίτησης πιστοποιητικού" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Άγνωστο" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Πιστοποιητικά X.509 και συναφή κλειδιά" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Νέο ιδιωτικό κλειδί" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Δημιουργία νέου ιδιωτικού κλειδιού" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Ετικέτα:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Αποθηκευμένο σε:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Τύ_πος κλειδιού:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Ισχύς κλειδιού (bits):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Διαγραφή αυτού του πιστοποιητικού ή κλειδιού" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Εξαγωγή πιστοποιητικού" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Αίτηση πιστοποιητικού" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Δημιουργία αίτησης πιστοποιητικού για αυτό το κλειδί" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Δημιουργία αρχείου αίτησης πιστοποίησης." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Το κοινό όνομα (CN) τοποθετείται στην αίτηση πιστοποιητικού." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Όνομα (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Συντελεστές:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Η έκδοση αυτής της εφαρμογής" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Ελληνική μεταφραστική ομάδα GNOME\n" +" Δημήτρης Σπίγγος \n" +" Κώστας Παπαδήμας \n" +" Δημήτριος Τυπάλδος \n" +" Νίκος Χαρωνιτάκης \n" +" Σίμος Ξενιτέλλης \n" +" Νίκος Αγιαννιώτης \n" +" Τζένη Πετούμενου \n" +" Ευστάθιος Ιωσηφίδης \n" +" Μαρία Θουκυδίδου \n" +" Μαρία Μαυρίδου \n" +"\n" +"Για περισσότερες πληροφορίες, επισκεφθείτε τη σελίδα\n" +"http://gnome.gr/" + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Αρχική σελίδα του Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Δεδομένα προς εισαγωγή" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "Ε_ισαγωγή" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Η εισαγωγή απέτυχε" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Εισαγωγή κλειδιού" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Όλα τα αρχεία κλειδιών" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Αφημένο κείμενο" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Πρόχειρο κείμενο" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Αδυναμία ξεκλειδώματος κλειδοθήκης" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Αλλαγή συνθηματικού" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Νέο _συνθηματικό:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Επιβεβαίωση νέου συνθηματικού" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Επι_βεβαίωση συνθηματικού:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Εύρεση απομακρυσμένων κλειδιών…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Συγχρονισμός και δημοσίευση κλειδιών…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Προτιμήσεις" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Βοήθεια" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "Συντομεύσεις _πληκτρολογίου" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_Περί Συνθηματικών και κλειδιών" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Φιλτράρισμα αντικειμένων:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Εμφάνιση _προσωπικών" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Εμφάνιση _αξιόπιστων" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Εμφάνιση _οποιουδήποτε" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Κλειδί ασφαλούς κελύφους" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Χρήση για πρόσβαση σε άλλους υπολογιστές" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Κλειδί GPG" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "" +"Χρησιμοποιείται για την κρυπτογράφηση ηλεκτρονικής αλληλογραφίας και αρχείων" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Κλειδοθήκη συνθηματικών" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "" +"Χρησιμοποιείται για την αποθήκευση κωδικών πρόσβασης για εφαρμογές και δίκτυα" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Ασφαλής αποθήκευση ενός συνθηματικού ή μυστικού" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Χρησιμοποιείται για να ζητήσει ένα πιστοποιητικό" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Εισαγωγή από αρχείο…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Προσθήκη νέου κλειδιού ή αντικειμένου" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Πίσω" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Αναζήτηση για κλειδί ή συνθηματικό" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Φίλτρο" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Αυτή η συλλογή δείχνει να είναι άδεια" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Η κλειδοθήκη είναι κλειδωμένη" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Ξεκλείδωμα" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Αντιγραφή μυστικού" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Εξαγωγή…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Ιδιότητες" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Ρύθμιση κλειδιού για α_σφαλές κέλυφος…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Κλείδωμα" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Ξεκλείδωμα" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Ιδιότητες" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Αδυναμία κλειδώματος" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Ασφαλές κέλυφος" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "" +"Τα κλειδιά χρησιμοποιούνται για να συνδέεστε με ασφάλεια σε άλλους " +"υπολογιστές" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "" +"Είστε σίγουροι ότι επιθυμείτε να διαγράψετε το κλειδί ασφαλούς κελύφους «%s»;" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "" +"Είστε σίγουροι ότι επιθυμείτε να διαγράψετε το %u κλειδί ασφαλούς κελύφους;" +msgstr[1] "" +"Είστε σίγουροι ότι επιθυμείτε να διαγράψετε τα %u κλειδιά ασφαλούς κελύφους;" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Μυστικά κλειδιά SSH" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Δημόσια κλειδιά SSH" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Κλειδί SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Δεν υπάρχει διαθέσιμο δημόσιο αρχείο κλειδιού για αυτό το κλειδί." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Αδυναμία φόρτωσης νέου κλειδιού ασφαλούς κελύφους" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Αδυναμία δημιουργίας κλειδιού ασφαλούς κελύφους" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Δημιουργία κλειδιού ασφαλούς κελύφους" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bits" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bits" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Άγνωστος τύπος κλειδιού!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Άγνωστος τύπος" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Αδυναμία μετονομασίας κλειδιού." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Αδυναμία αλλαγής εξουσιοδότησης για το κλειδί." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Αδυναμία αλλαγής του συνθηματικού για το κλειδί." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Σφάλμα διαγραφής κλειδιού SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Προσωπικό κλειδί SSH" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Κλειδί SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Μη αναγνώσιμο κλειδί ασφαλούς κελύφους)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Κλειδί ασφαλούς κελύφους" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Κωδικός πρόσβασης απομακρυσμένου κεντρικού υπολογιστή" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Εισαγωγή συνθηματικού κλειδιού" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Συνθηματικό για νέο κλειδί ασφαλούς κελύφους" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Εισαγωγή κλειδιού: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Εισαγωγή κλειδιού. Εισάγετε το συνθηματικό σας" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Εισάγετε το συνθηματικό ασφαλούς κελύφους σας:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Παλιό συνθηματικό κλειδιού" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Εισαγωγή παλιού συνθηματικού για: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Νέο συνθηματικό κλειδιού" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Εισαγωγή νέου συνθηματικού για: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Εισάγετε ξανά το νέο συνθηματικό: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Νέο κλειδί ασφαλούς κελύφους" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Τα κλειδιά ασφαλούς κελύφους (SSH) σας επιτρέπουν να συνδεθείτε με ασφάλεια " +"σε άλλους υπολογιστές." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Περιγραφή" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Η διεύθυνση ηλεκτρονικής αλληλογραφίας σας, ή μια υπενθύμιση σε τι " +"χρειάζεται αυτό το κλειδί." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Αν υπάρχει ένας υπολογιστής με τον οποίον θέλετε να χρησιμοποιήσετε αυτό το " +"κλειδί, μπορείτε τώρα να ρυθμίσετε αυτόν τον υπολογιστή ώστε να αναγνωρίζει " +"το νέο σας κλειδί." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Μόνο δημιουργία κλειδιού" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Δημιουργία και ρύθμιση" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Ιδιότητες κλειδιού SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Όνομα" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Αλγόριθμος" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Μήκος κλειδιού" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Τοποθεσία" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Δημόσιο κλειδί" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Αντιγραφή δημόσιου κλειδιού στο πρόχειρο" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Απομακρυσμένα πρόσβαση" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Επιτρέπει την απομακρυσμένη πρόσβαση σε αυτόν τον υπολογιστή" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Εξαγωγή" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Διαγραφή κλειδιού SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Ρύθμιση υπολογιστή για σύνδεση SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Για να χρησιμοποιήσετε το κλειδί ασφαλούς κελύφους σας με άλλον υπολογιστή " +"που χρησιμοποιεί SSH, θα πρέπει να έχετε ήδη έναν λογαριασμό εισόδου σε " +"αυτόν τον υπολογιστή." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Διεύθυνση _διακομιστή:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "π.χ: fileserver.example.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "Όνομα ει_σόδου:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Ρύθμιση" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Κλειδιά OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Δεν υπάρχει διαθέσιμο αρχείο προσωπικού κλειδιού για αυτό το κλειδί." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "" +"Αδυναμία ρυθμισης κλειδιών ασφαλούς κελύφους σε απομακρυσμένους υπολογιστές." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Γίνεται ρύθμιση των κλειδιών ασφαλούς κελύφους…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Το Seahorse είναι μια εφαρμογή του GNOME για διαχείριση κλειδιών " +#~ "κρυπτογράφησης. Επίσης συνεργάζεται με τον ναυτίλο, το gedit και άλλες " +#~ "εφαρμογές για λειτουργίες κρυπτογράφησης." + +#~ msgid "Expiration Date:" +#~ msgstr "Ημερομηνία λήξης:" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Αδυναμία προσθήκης υποκλειδιού" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Συνδυασμός όλων των κλειδοθηκών" + +#~ msgid "Encryption _Type:" +#~ msgstr "Τύπος _κρυπτογράφησης:" + +#~ msgid "Keyring is unlocked" +#~ msgstr "Η κλειδοθήκη είναι ξεκλείδωτη" + +#~ msgid "Lock" +#~ msgstr "Κλείδωμα" + +#~ msgid "_File" +#~ msgstr "_Αρχείο" + +#~ msgid "_Edit" +#~ msgstr "_Επεξεργασία" + +#~ msgid "_Copy" +#~ msgstr "_Αντιγραφή" + +#~ msgid "Delete selected items" +#~ msgstr "Διαγραφή επιλεγμένων αντικειμένων" + +#~ msgid "Show the properties of this item" +#~ msgstr "Προβολή ιδιοτήτων αυτού του αντικειμένου" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Προβολή ιδιοτήτων αυτής της κλειδοθήκης" + +#~ msgid "Prefere_nces" +#~ msgstr "Προτι_μήσεις" + +#~ msgid "Change preferences for this program" +#~ msgstr "Αλλαγή προτιμήσεων για το συγκεκριμένο πρόγραμμα" + +#~ msgid "_View" +#~ msgstr "Προ_βολή" + +#~ msgid "_About" +#~ msgstr "_Περί" + +#~ msgid "About this program" +#~ msgstr "Περί αυτού του προγράμματος" + +#~ msgid "_Contents" +#~ msgstr "_Περιεχόμενα" + +#~ msgid "Show Seahorse help" +#~ msgstr "Εμφάνιση βοήθειας του Seahorse" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Νέα κλειδοθήκη κωδικών πρόσβασης" + +#~ msgid "New password…" +#~ msgstr "Νέος κωδικός πρόσβασης…" + +#~ msgid "Stored Password" +#~ msgstr "Αποθηκευμένος κωδικός πρόσβασης" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "" +#~ "Συνήθως, οι εφαρμογές αποθηκεύουν τους νέους κωδικούς πρόσβασης στην " +#~ "προεπιλεγμένη κλειδοθήκη." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "" +#~ "Αλλαγή του κωδικού πρόσβασης ξεκλειδώματος της κλειδοθήκης αποθήκευσης " +#~ "κωδικών" + +#~ msgid "_Show Password" +#~ msgstr "Εμφάνιση κωδικού _πρόσβασης" + +#~ msgid "OK" +#~ msgstr "Εντάξει" + +#~ msgid "PGP Key" +#~ msgstr "Κλειδί PGP" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Εισαγωγή κλειδιών από διακομιστές κλειδιών" + +#~ msgid "_Remote" +#~ msgstr "_Απομακρυσμένο" + +#~ msgid "Close this window" +#~ msgstr "Κλείσιμο αυτού του παραθύρου" + +#~ msgid "Search for keys on a key server" +#~ msgstr "Αναζήτηση για κλειδιά σε έναν διακομιστή κλειδιών" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Εισαγωγή επιλεγμένων κλειδιών στην τοπική κλειδοθήκη" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "" +#~ "Δημοσίευση και/ή συγχρονισμός των κλειδιών σας με εκείνα του διαδικτύου." + +#~ msgid "Marginal" +#~ msgstr "Οριακά" + +#~ msgid "Full" +#~ msgstr "Πλήρης" + +#~ msgid "Ultimate" +#~ msgstr "Μέγιστη" + +#~ msgid "Key Properties" +#~ msgstr "Ιδιότητες κλειδιού" + +#~ msgid "Photo " +#~ msgstr "Φωτογραφία " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Όνομα:" + +#~ msgid "Email:" +#~ msgstr "Ηλ. αλληλογραφία:" + +#~ msgid "Use:" +#~ msgstr "Χρήση:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "" +#~ "Αποκρυπτογράφηση αρχείων και ηλεκτρονικής αλληλογγραφίας που έχετε λάβει." + +#~ msgid "Private PGP Key" +#~ msgstr "Ιδιωτικό κλειδί PGP" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "" +#~ "Κρυπτογράφηση αρχείων και ηλεκτρονικής αλληλογραφίας στον ιδιοκτήτη του " +#~ "κλειδιού" + +#~ msgid "_New" +#~ msgstr "_Νέο" + +#~ msgid "Close this program" +#~ msgstr "Κλείσιμο προγράμματος" + +#~ msgid "_New…" +#~ msgstr "_Νέο…" + +#~ msgid "_Import…" +#~ msgstr "Ε_ισαγωγή…" + +#~ msgid "_Paste" +#~ msgstr "_Επικόλληση" + +#~ msgid "Import from the clipboard" +#~ msgstr "Εισαγωγή από το πρόχειρο" + +#~ msgid "By _Keyring" +#~ msgstr "Ανά _κλειδοθήκη" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "" +#~ "Εμφάνιση μόνο των προσωπικών κλειδιών, πιστοποιήσεων και κωδικών πρόσβασης" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "" +#~ "Εμφάνιση μόνο των αξιόπιστων κλειδιών, πιστοποιήσεων και κωδικών πρόσβασης" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Εμφάνιση όλων των κλειδιών, πιστοποιήσεων και κωδικών πρόσβασης" + +#~ msgid "New item" +#~ msgstr "Νέο αντικείμενο" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Επιλέξτε τον τύπο του στοιχείου για δημιουργία:" + +#~ msgid "Continue" +#~ msgstr "Συνέχεια" + +#~ msgid "First time options:" +#~ msgstr "Επιλογές πρώτης φοράς:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Για να ξεκινήσετε με την κρυπτογράφηση θα χρειαστείτε κλειδιά." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Εισαγωγή υπαρχόντων κλειδιών από αρχείο:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Δημιουργία νέου κλειδιού για σας: " + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Αποστολή δημόσιου κλειδιού ασφαλούς κελύφους σε άλλο σύστημα και " +#~ "ενεργοποίηση συνδέσεων με χρήση αυτού του κλειδιού." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Για πρόσβαση σε άλλους υπολογιστές (π.χ. μέσω τερματικού)" + +#~ msgid "- System Settings" +#~ msgstr "- Ρυθμίσεις συστήματος" + +#~ msgid "Don't display a window" +#~ msgstr "Να μην εμφανίζεται παράθυρο" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Όνομα:" + +#~ msgid "Identifier:" +#~ msgstr "Αναγνωριστικό:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "" +#~ "Ο κάτοχος αυτού του κλειδιού είναι ε_ξουσιοδοτημένος να συνδέεται σε " +#~ "αυτόν τον υπολογιστή" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Αυτό εφαρμόζεται μόνο στο λογαριασμό του %s." + +#~ msgid "Key length:" +#~ msgstr "Μήκος κλειδιού:" + +#~ msgid "E_xport Complete Key" +#~ msgstr "Ε_ξαγωγή πλήρους κλειδιού" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Ο πάροχος αναζήτησης δεν φορτώθηκε ακόμα" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Name:" +#~ msgstr "Όνομα:" + +#~ msgid "Keyring" +#~ msgstr "Κλειδοθήκη" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "Η εντολή SSH τερματίστηκε απρόσμενα." + +#~ msgid "The SSH command failed." +#~ msgstr "Η εντολή SSH απέτυχε." + +#~ msgid "E_xport..." +#~ msgstr "Ε_ξαγωγή..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Εύρεση απομακρυσμένων κλειδιών..." + +#~ msgid "Synchronizing keys..." +#~ msgstr "Συγχρονισμός κλειδιών..." + +#~ msgid "_New..." +#~ msgstr "_Νέο..." + +#~ msgid "_Import..." +#~ msgstr "Ε_ισαγωγή..." + +#~ msgid "Updating password" +#~ msgstr "Γίνεται ενημέρωση του κωδικού" + +#~ msgid "Ssh Key" +#~ msgstr "Κλειδί Ssh" + +#~ msgid "_Computer Name:" +#~ msgstr "Όνομα _υπολογιστή:" + +#~ msgid "Password:" +#~ msgstr "Κωδικός πρόσβασης:" + +#~ msgid "Key Servers:" +#~ msgstr "Εξυπηρετητές κλειδιών:" + +#~ msgid "Never" +#~ msgstr "Ποτέ" + +#~ msgid "Key ID:" +#~ msgstr "ID κλειδιού:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Όνομα:" + +#~ msgid "Comment:" +#~ msgstr "Σχόλιο:" + +#~ msgid "Use:" +#~ msgstr "Χρήση:" + +#~ msgid "Type:" +#~ msgstr "Τύπος: " + +#~ msgid "Key Names and Signatures" +#~ msgstr "Ονόματα κλειδιών και υπογραφές" + +#~ msgid "Dates" +#~ msgstr "Ημερομηνίες" + +#~ msgid "Actions" +#~ msgstr "Ενέργειες" + +#~ msgid "Dates:" +#~ msgstr "Ημερομηνίες:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Όνομα:" + +#~ msgid "Trust" +#~ msgstr "Εμπιστοσύνη" + +#~ msgid "Strength:" +#~ msgstr "Ισχύς:" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "Υπήρξε άρνηση για πρόσβαση στη κλειδοθήκη" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "Η υπηρεσία gnome-keyring (διαχειριστή κλειδοθήκης) δεν εκτελείται" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "Η κλειδοθήκη είναι ήδη ξεκλείδωτη" + +#~ msgid "No such key ring exists" +#~ msgstr "Δεν υπάρχει τέτοια κλειδοθήκη" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "Δεν ήταν δυνατή η επικοινωνία με την υπηρεσία κλειδοθήκης" + +#~ msgid "The item already exists" +#~ msgstr "Το αντικείμενο υπάρχει ήδη" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "Εσωτερικό σφάλμα με πρόσβαση στο gnome-keyring" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "Αποφυγή εκτέλεσης του seahorse-daemon ως υπηρεσίας" + +#~ msgid "couldn't fork process" +#~ msgstr "αδύνατη η δικράνωση διεργασίας" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "Υπηρεσία κρυπτογράφησης (Seahorse)" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "Μη έγκυρος ή μη αναγνωρίσιμος τύπος κλειδιού: %s" + +#~ msgid "This keytype is not supported: %s" +#~ msgstr "Ο τύπος κλειδιού δεν υποστηρίζεται: %s" + +#~ msgid "Support for this feature was not enabled at build time" +#~ msgstr "" +#~ "Δεν ενεργοποιήθηκε η υποστήριξη για το χαρακτηριστικό αυτό κατά τη " +#~ "δημιουργία του εγκαταστάσιμου πακέτου" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "Μη έγκυρο ή μη αναγνωρίσιμο κλειδί: %s" + +#~ msgid "Signed by expired on %s." +#~ msgstr "Υπογράφηκε από έληξε στις %s." + +#~ msgid "Invalid Signature" +#~ msgstr "Μη έγκυρη υπογραφή" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "Υπογράφηκε από στις %s Έληξε." + +#~ msgid "Expired Signature" +#~ msgstr "Ληγμένη υπογραφή" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "Υπογράφηκε από Ανακαλέστηκε στις %s." + +#~ msgid "Revoked Signature" +#~ msgstr "Υπογραφή που έχει ανακληθεί" + +#~ msgid "Signed by on %s." +#~ msgstr "Υπογράφηκε από στις %s." + +#~ msgid "Good Signature" +#~ msgstr "Καλή υπογραφή" + +#~ msgid "Signing key not in keyring." +#~ msgstr "Κλειδί υπογραφής δε βρίσκεται στη κλειδοθήκη." + +#~ msgid "Unknown Signature" +#~ msgstr "Άγνωστη υπογραφή" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "" +#~ "Κακή ή πλαστογραφημένη υπογραφή. Τα υπογεγραμμένα δεδομένα έχουν " +#~ "τροποποιηθεί." + +#~ msgid "Bad Signature" +#~ msgstr "Κακή υπογραφή" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "Μη έγκυρος ή μη αναγνωρίσιμο υπογράφον άτομο: %s" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "Μη έγκυρο κλειδί για υπογραφή: %s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "Μη έγκυρος ή μη αναγνωρίσιμος παραλήπτης: %s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "Το κλειδί δεν είναι έγκυρος παραλήπτης για κρυπτογράφηση: %s" + +#~ msgid "No recipients specified" +#~ msgstr "Δεν ορίστηκαν παραλήπτες" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "Μη έγκυρος τύπος κλειδιού για αποκρυπτογράφηση: %s" + +#~ msgid "Please set clearuri" +#~ msgstr "Παρακαλώ, καθορίστε το clearuri" + +#~ msgid "Please set crypturi" +#~ msgstr "Παρακαλώ καθορίστε το crypturi" + +#~ msgid "Error opening clearuri" +#~ msgstr "Σφάλμα στο άνοιγμα του clearuri" + +#~ msgid "No signer specified" +#~ msgstr "Δεν έχει καθοριστεί υπογράφον άτομο" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "Μη έγκυρος τύπος κλειδιού για διαπίστωση: %s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "Μη έγκυρη ταυτότητα (ID) κλειδιού: %s" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "Μία λίστα URI εξυπηρετητή κλειδιών προς αναζήτηση για απομακρυσμένα " +#~ "κλειδιά PGP. Σε μεταγενέστερες εκδόσεις μπορεί να περιληφθεί ένα όνομα " +#~ "οθόνης, εισάγοντας ένα κενό διάστημα και κατόπιν το όνομα." + +#~ msgid "Auto Sync Keys" +#~ msgstr "Αυτόματος συγχρονισμός κλειδιών" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "" +#~ "Ελέγχει την εμφάνιση των στηλών λήξης χρόνου για το διαχειριστή κλειδιών." + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "" +#~ "Ελέγχει την εμφάνιση της στήλης εμπιστοσύνης για το διαχειριστή κλειδιών." + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "Ελέγχει την εμφάνιση της στήλης τύπου για το διαχειριστή κλειδιών." + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "" +#~ "Ελέγχει την εμφάνιση της στήλης εγκυρότητας για το διαχειριστή κλειδιών." + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "Ενεργοποίηση κοινής χρήσης DNS-SD" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "Ενεργοποιεί την κοινή χρήση κλειδιών DNS-SD (Apple Bonjour). Το seahorse-" +#~ "daemon πρέπει να εκτελείται και να είναι χτισμένο με HKP και DNS-SD " +#~ "υποστήριξη." + +#~ msgid "ID of the default key" +#~ msgstr "Ταυτότητα (ID) προεπιλεγμένου κλειδιού" + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "" +#~ "Αν τεθεί αληθές, τότε αρχεία κρυπτογραφημένα από το seahorse θα " +#~ "κωδικοποιηθούν πρώτα σε μορφή ASCII." + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "" +#~ "Αν είναι καθορισμένο ως αληθές, τότε το προεπιλεγμένο κλειδί θα " +#~ "περιλαμβάνεται πάντα σε μία κρυπτογραφημένη λίστα παραληπτών." + +#~ msgid "Last key used to sign a message." +#~ msgstr "Τελευταίο κλειδί που χρησιμοποιήθηκε για υπογραφή μηνύματος." + +#~ msgid "PGP Key servers" +#~ msgstr "Εξυπηρετητές κλειδιών PGP" + +#~ msgid "Show expires column in key manager" +#~ msgstr "Προβολή στήλης λήξης χρόνου στο διαχειριστή κλειδιών" + +#~ msgid "Show trust column in key manager" +#~ msgstr "Προβολή στήλης εμπιστοσύνης στο διαχειριστή κλειδιών" + +#~ msgid "Show type column in key manager" +#~ msgstr "Προβολή στήλης τύπου στο διαχειριστή κλειδιών" + +#~ msgid "Show validity column in key manager" +#~ msgstr "Προβολή στήλης εγκυρότητας στο διαχειριστή κλειδιών" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "Καθορίστε τη στήλη προς ταξινόμηση από το παράθυρο παραληπτών. Οι στήλες " +#~ "είναι:'όνομα', και 'ταυτότητα (ID)'. Εισάγετε ένα '-' μπροστά από το " +#~ "όνομα της στήλης για ταξινόμηση με κατιούσα διάταξη." + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "" +#~ "Η ταυτότητα (ID) του τελευταίου απόρρητου κλειδιού που χρησιμοποιήθηκε " +#~ "για υπογραφή μηνύματος." + +#~ msgid "The column to sort the recipients by" +#~ msgstr "Η στήλη για ταξινόμηση των αποδεκτών ανά" + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "" +#~ "Αυτό καθορίζει το προεπιλεγμένο κλειδί προς χρήση για ορισμένες " +#~ "λειτουργίες, κυρίως για υπογραφή." + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "Αν θα πρέπει να κρυπτογραφείται πάντα το προεπιλεγμένο κλειδί" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "Αν θα πρέπει να γίνεται αρχική μετατροπή σε μορφή ASCII" + +#~ msgid "Couldn't set application access." +#~ msgstr "Αδύνατος ο καθορισμός πρόσβασης της εφαρμογής." + +#~ msgid "Path:" +#~ msgstr "Διαδρομή:" + +#~ msgid "Permissions:" +#~ msgstr "Δικαιώματα:" + +#~ msgid "_Read" +#~ msgstr "_Ανάγνωση" + +#~ msgid "_Write" +#~ msgstr "_Εγγραφή" + +#~ msgid "Passwords: %s" +#~ msgstr "Κωδικοί: %s" + +#~ msgid "Passwords: %s" +#~ msgstr "Κωδικοί: %s" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "Κλείδωμα της κλειδοθήκης αποθήκευσης κωδικών. Θα απαιτείται ένας κύριος " +#~ "κωδικός για το ξεκλείδωμα" + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "" +#~ "Ξεκλείδωμα της κλειδοθήκης αποθήκευσης κωδικών με τον κύριο κωδικό, " +#~ "προκειμένου η κλειδοθήκη να καταστεί διαθέσιμη." + +#~ msgid "Saving item..." +#~ msgstr "Αποθήκευση αντικειμένου..." + +#~ msgid "Deleting item..." +#~ msgstr "Γίνεται διαγραφή..." + +#~ msgid "Listing password keyrings" +#~ msgstr "Παράγεται η λίστα κλειδοθηκών κωδικών" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "Δε βρέθηκαν κλειδιά κωδικοποίησης για να εκτελεστεί η λειτουργία που " +#~ "ζητήσατε. Το πρόγραμμα Κωδικοί πρόσβασης και κλειδιά κωδικοποίησης " +#~ "θα ξεκινήσει τώρα ώστε να μπορέσετε είτε να δημιουργήσετε ή να εισάγετε " +#~ "ένα κλειδί." + +#~ msgid "All Keys" +#~ msgstr "Όλα τα κλειδιά" + +#~ msgid "Selected Recipients" +#~ msgstr "Επιλεγμένοι παραλήπτες" + +#~ msgid "Search Results" +#~ msgstr "Αποτελέσματα αναζήτησης" + +#~ msgid "Search _for:" +#~ msgstr "Αναζήτηση _για:" + +#~ msgid "None (Don't Sign)" +#~ msgstr "Κανένα (χωρίς υπογραφή)" + +#~ msgid "Sign this message as %s" +#~ msgstr "Υπογραφή αυτού του μηνύματος ως %s" + +#~ msgid "_Sign message as:" +#~ msgstr "_Υπογραφή μηνύματος ως:" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "Μη έγκυρο αρχείο .desktop" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "Μη αναγνωρίσιμη έκδοση ' %s' αρχείου επιφάνειας εργασίας" + +#~ msgid "Starting %s" +#~ msgstr "Εκκίνηση του %s" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "Η εφαρμογή δε δέχεται έγγραφα στη γραμμή εντολών." + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "Μη αναγνωρίσιμη επιλογή εκκίνησης: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "" +#~ "Δεν είναι δυνατή η μεταφορά του URI του εγγράφου σε καταχώριση " +#~ "'Type=Link' της επιφάνειας εργασίας" + +#~ msgid "Not a launchable item" +#~ msgstr "Μη εκκινήσιμο αντικείμενο" + +#~ msgid "Disable connection to session manager" +#~ msgstr "Απενεργοποίηση της σύνδεσης με το διαχειριστή συνεδρίας" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "Ορισμός του αρχείου που περιέχει τις αποθηκευμένες ρυθμίσεις" + +#~ msgid "FILE" +#~ msgstr "ΑΡΧΕΙΟ" + +#~ msgid "Specify session management ID" +#~ msgstr "Ορισμός της ταυτότητας (ID) διαχείρισης της συνεδρίας" + +#~ msgid "Session management options:" +#~ msgstr "Επιλογές διαχείρισης συνεδρίας:" + +#~ msgid "Show session management options" +#~ msgstr "Εμφάνιση των επιλογών διαχείρισης της συνεδρίας" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "Εισήχθει %i κλειδί" +#~ msgstr[1] "Εισήχθησαν %i κλειδιά" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "Εισήχθει κλειδί για" +#~ msgstr[1] "Εισήχθησαν κλειδιά για" + +#~ msgid "Notification Messages" +#~ msgstr "Μηνύματα ειδοποίησης" + +#~ msgid "Symmetric Key" +#~ msgstr "Συμμετρικό κλειδί" + +#~ msgid "Credentials" +#~ msgstr "Πιστοποιητικά" + +#~ msgid "Identity" +#~ msgstr "Ταυτότητα" + +#~ msgid "Progress Title" +#~ msgstr "Τίτλος προόδου" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "Αδυναμία εκτέλεσης file-roller" + +#~ msgid "Couldn't package files" +#~ msgstr "Αδύνατη η πακετοποίηση αρχείων" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "Η διεργασία file-roller δεν ολοκληρώθηκε με επιτυχία" + +#~ msgid "Archive files" +#~ msgstr "Αρχειοθέτηση αρχείων" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "Υπάρχει ήδη αρχείο με αυτό το όνομα.\n" +#~ "\n" +#~ "Επιθυμείτε να το αντικαταστήσετε με ένα νέο αρχείο;" + +#~ msgid "_Replace" +#~ msgstr "_Αντικατάσταση" + +#~ msgid "Loading Keys..." +#~ msgstr "Φόρτωση κλειδιών..." + +#~ msgid "Uploading keys..." +#~ msgstr "Αποστολή κλειδιών..." + +#~ msgid "Retrieving keys..." +#~ msgstr "Ανάκτηση κλειδιών..." + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "Αναζήτηση κλειδιών που περιέχουν '%s'..." + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "Αναζήτηση της ταυτότητας (ID) κλειδιού '%s'..." + +#~ msgid "Retrieving remote keys..." +#~ msgstr "Ανάκτηση απομακρυσμένων κλειδιών..." + +#~ msgid "Sending keys to key server..." +#~ msgstr "Αποστολή κλειδιών στον εξυπηρετητή κλειδιών..." + +#~ msgid "_Sign Key..." +#~ msgstr "Υπογρα_φή κλειδιού..." + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "" +#~ "Είστε σίγουροι ότι επιθυμείτε να διαγράψετε μόνιμα %d κλειδιά και " +#~ "αναγνωριστικά;" + +#~ msgid "Algorithms here" +#~ msgstr "Αλγόριθμοι εδώ" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "Αδύνατη η εξαγωγή κλειδιού στο \"%s\"" + +#~ msgid "Export Complete Key" +#~ msgstr "Εξαγωγή πλήρους κλειδιού" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "Είστε σίγουροι ότι επιθυμείτε να διαγράψετε το πιστοποιητικό '%s';" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "Είστε σίγουροι ότι επιθυμείτε να διαγράψετε %d πιστοποιητικό;" +#~ msgstr[1] "Είστε σίγουροι ότι επιθυμείτε να διαγράψετε %d πιστοποιητικά;" + +#~ msgid "Create New ..." +#~ msgstr "Δημιουργία νέου..." + +#~ msgid "Importing keys" +#~ msgstr "Εισαγωγή κλειδιών" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "Μη αναγνωρίσιμος τύπος κλειδιού, ή μη έγκυρη μορφή δεδομένων" + +#~ msgid "T_ypes" +#~ msgstr "_Τύποι" + +#~ msgid "_Expiry" +#~ msgstr "_Λήξη" + +#~ msgid "_Trust" +#~ msgstr "_Εμπιστοσύνη" + +#~ msgid "_Validity" +#~ msgstr "_Εγκυρότητα" + +#~ msgid "Other _Keys" +#~ msgstr "Άλλα _κλειδιά" + +#~ msgid "Validity" +#~ msgstr "Εγκυρότητα" + +#~ msgid "_Expand All" +#~ msgstr "Ανάπτυ_ξη όλων" + +#~ msgid "Expand all listings" +#~ msgstr "Ανάπτυξη για όλες τις λίστες" + +#~ msgid "_Collapse All" +#~ msgstr "_Σύμπτυξη όλων" + +#~ msgid "Collapse all listings" +#~ msgstr "Σύμπτυξη όλων των λιστών" + +#~ msgid "Exporting keys" +#~ msgstr "Εξαγωγή κλειδιών" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "Αδύνατη η ανάληψη δεδομένων από εξυπηρετητή κλειδιών" + +#~ msgid "Deleting..." +#~ msgstr "Γίνεται διαγραφή..." + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "" +#~ "Το %s είναι ένα ιδιωτικό κλειδί. Είστε βέβαιοι ότι επιθυμείτε να " +#~ "συνεχίσετε;" diff --git a/po/en@shaw.po b/po/en@shaw.po new file mode 100644 index 00000000..3a045c73 --- /dev/null +++ b/po/en@shaw.po @@ -0,0 +1,3079 @@ +# Shavian translation for seahorse. +# Copyright (C) 2009 The Gnome Foundation. +# Thomas Thurman , 2009. +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=seahorse&component=general\n" +"POT-Creation-Date: 2010-05-12 22:46+0000\n" +"PO-Revision-Date: 2010-05-18 10:04 -0400\n" +"Last-Translator: Thomas Thurman \n" +"Language-Team: Shavian \n" +"Language: en@shaw\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n!=1;\n" + +#, fuzzy +#: ../daemon/seahorse-daemon.c:69 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "𐑛𐑵 𐑯𐑪𐑑 𐑮𐑳𐑯 seahorse-𐑛𐑰𐑥𐑩𐑯 𐑨𐑟 𐑩 𐑛𐑰𐑥𐑩𐑯" + +#: ../daemon/seahorse-daemon.c:99 +msgid "couldn't fork process" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑓𐑹𐑒 𐑐𐑮𐑴𐑕𐑧𐑕" + +#: ../daemon/seahorse-daemon.c:105 +msgid "couldn't create new process group" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑒𐑮𐑦𐑱𐑑 𐑯𐑿 𐑐𐑮𐑴𐑕𐑧𐑕 𐑜𐑮𐑵𐑐" + +#, fuzzy +#: ../daemon/seahorse-daemon.c:255 +msgid "Encryption Daemon (Seahorse)" +msgstr "𐑦𐑯𐑒𐑮𐑦𐑐𐑖𐑩𐑯 𐑛𐑰𐑥𐑩𐑯 (Seahorse)" + +#, c-format +#: ../daemon/seahorse-service.c:161 ../daemon/seahorse-service.c:267 +msgid "Invalid or unrecognized key type: %s" +msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑹 𐑩𐑯𐑮𐑧𐑒𐑩𐑜𐑯𐑲𐑟𐑛 𐑒𐑰 𐑑𐑲𐑐: %s" + +#, c-format +#, fuzzy +#: ../daemon/seahorse-service.c:229 +msgid "This keytype is not supported: %s" +msgstr "𐑞𐑦𐑕 keytype 𐑦𐑟 𐑯𐑪𐑑 𐑕𐑩𐑐𐑹𐑑𐑩𐑛: %s" + +#, c-format +#: ../daemon/seahorse-service.c:331 ../daemon/seahorse-service-keyset.c:180 +#: ../daemon/seahorse-service-keyset.c:223 +msgid "Invalid or unrecognized key: %s" +msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑹 𐑩𐑯𐑮𐑧𐑒𐑩𐑜𐑯𐑲𐑟𐑛 𐑒𐑰: %s" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#, c-format +#: ../daemon/seahorse-service-crypto.c:204 +msgid "Signed by expired on %s." +msgstr "𐑕𐑲𐑯𐑛 𐑚𐑲 𐑦𐑒𐑕𐑐𐑲𐑮𐑛 𐑪𐑯 %s." + +#: ../daemon/seahorse-service-crypto.c:205 +msgid "Invalid Signature" +msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑕𐑦𐑜𐑯𐑩𐑗𐑼" + +#, c-format +#: ../daemon/seahorse-service-crypto.c:211 +msgid "Signed by on %s Expired." +msgstr "𐑕𐑲𐑯𐑛 𐑚𐑲 𐑪𐑯 %s 𐑦𐑒𐑕𐑐𐑲𐑮𐑛." + +#: ../daemon/seahorse-service-crypto.c:212 +msgid "Expired Signature" +msgstr "𐑦𐑒𐑕𐑐𐑲𐑮𐑛 𐑕𐑦𐑜𐑯𐑩𐑗𐑼" + +#, c-format +#: ../daemon/seahorse-service-crypto.c:218 +msgid "Signed by Revoked on %s." +msgstr "𐑕𐑲𐑯𐑛 𐑚𐑲 𐑮𐑦𐑝𐑴𐑒𐑑 𐑪𐑯 %s." + +#: ../daemon/seahorse-service-crypto.c:219 +msgid "Revoked Signature" +msgstr "𐑮𐑦𐑝𐑴𐑒𐑑 𐑕𐑦𐑜𐑯𐑩𐑗𐑼" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#, c-format +#: ../daemon/seahorse-service-crypto.c:225 +msgid "Signed by on %s." +msgstr "𐑕𐑲𐑯𐑛 𐑚𐑲 𐑪𐑯 %s." + +#: ../daemon/seahorse-service-crypto.c:226 +msgid "Good Signature" +msgstr "𐑜𐑫𐑛 𐑕𐑦𐑜𐑯𐑩𐑗𐑼" + +#: ../daemon/seahorse-service-crypto.c:231 +msgid "Signing key not in keyring." +msgstr "𐑕𐑲𐑯𐑦𐑙 𐑒𐑰 𐑯𐑪𐑑 𐑦𐑯 𐑒𐑰𐑮𐑦𐑙." + +#: ../daemon/seahorse-service-crypto.c:232 +msgid "Unknown Signature" +msgstr "𐑳𐑯𐑴𐑯 𐑕𐑦𐑜𐑯𐑩𐑗𐑼" + +#: ../daemon/seahorse-service-crypto.c:236 +msgid "Bad or forged signature. The signed data was modified." +msgstr "𐑚𐑨𐑛 𐑹 𐑓𐑪𐑮𐑡𐑛 𐑕𐑦𐑜𐑯𐑩𐑗𐑼. 𐑞 𐑕𐑲𐑯𐑛 𐑛𐑱𐑑𐑩 𐑢𐑪𐑟 𐑥𐑪𐑛𐑦𐑓𐑲𐑛." + +#: ../daemon/seahorse-service-crypto.c:237 +msgid "Bad Signature" +msgstr "𐑚𐑨𐑛 𐑕𐑦𐑜𐑯𐑩𐑗𐑼" + +#: ../daemon/seahorse-service-crypto.c:245 +msgid "Couldn't verify signature." +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑝𐑧𐑮𐑦𐑓𐑲 𐑕𐑦𐑜𐑯𐑩𐑗𐑼." + +#, c-format +#: ../daemon/seahorse-service-crypto.c:317 +#: ../daemon/seahorse-service-crypto.c:646 +msgid "Invalid or unrecognized signer: %s" +msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑹 𐑩𐑯𐑮𐑧𐑒𐑩𐑜𐑯𐑲𐑟𐑛 𐑕𐑲𐑯𐑻: %s" + +#, c-format +#: ../daemon/seahorse-service-crypto.c:324 +#: ../daemon/seahorse-service-crypto.c:653 +msgid "Key is not valid for signing: %s" +msgstr "𐑒𐑰 𐑦𐑟 𐑯𐑪𐑑 𐑝𐑨𐑤𐑦𐑛 𐑓𐑹 𐑕𐑲𐑯𐑦𐑙: %s" + +#, c-format +#: ../daemon/seahorse-service-crypto.c:335 +msgid "Invalid or unrecognized recipient: %s" +msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑹 𐑩𐑯𐑮𐑧𐑒𐑩𐑜𐑯𐑲𐑟𐑛 𐑮𐑩𐑕𐑦𐑐𐑰𐑩𐑯𐑑: %s" + +#, c-format +#: ../daemon/seahorse-service-crypto.c:343 +msgid "Key is not a valid recipient for encryption: %s" +msgstr "𐑒𐑰 𐑦𐑟 𐑯𐑪𐑑 𐑩 𐑝𐑨𐑤𐑦𐑛 𐑮𐑩𐑕𐑦𐑐𐑰𐑩𐑯𐑑 𐑓𐑹 𐑦𐑯𐑒𐑮𐑦𐑐𐑖𐑩𐑯: %s" + +#, c-format +#: ../daemon/seahorse-service-crypto.c:352 +msgid "No recipients specified" +msgstr "𐑯𐑴 𐑮𐑦𐑕𐑦𐑐𐑰𐑩𐑯𐑑𐑕 𐑕𐑐𐑧𐑕𐑦𐑓𐑲𐑛" + +#, c-format +#, fuzzy +#: ../daemon/seahorse-service-crypto.c:434 +msgid "Invalid key type for decryption: %s" +msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑒𐑰 𐑑𐑲𐑐 𐑓𐑹 decryption: %s" + +#, c-format +#, fuzzy +#: ../daemon/seahorse-service-crypto.c:548 +#: ../daemon/seahorse-service-crypto.c:746 +msgid "Please set clearuri" +msgstr "𐑐𐑤𐑰𐑟 𐑕𐑧𐑑 clearuri" + +#, c-format +#, fuzzy +#: ../daemon/seahorse-service-crypto.c:554 +#: ../daemon/seahorse-service-crypto.c:752 +msgid "Please set crypturi" +msgstr "𐑐𐑤𐑰𐑟 𐑕𐑧𐑑 crypturi" + +#, c-format +#, fuzzy +#: ../daemon/seahorse-service-crypto.c:564 +msgid "Error opening clearuri" +msgstr "𐑻𐑼 𐑴𐑐𐑩𐑯𐑦𐑙 clearuri" + +#, c-format +#: ../daemon/seahorse-service-crypto.c:641 +msgid "No signer specified" +msgstr "𐑯𐑴 𐑕𐑲𐑯𐑻 𐑕𐑐𐑧𐑕𐑦𐑓𐑲𐑛" + +#, c-format +#: ../daemon/seahorse-service-crypto.c:830 +msgid "Invalid key type for verifying: %s" +msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑒𐑰 𐑑𐑲𐑐 𐑓𐑹 𐑝𐑧𐑮𐑦𐑓𐑲𐑦𐑙: %s" + +#, c-format +#: ../daemon/seahorse-service-keyset.c:273 +msgid "Invalid key id: %s" +msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑒𐑰 ID: %s" + +#: ../daemon/seahorse-sharing.c:84 ../daemon/seahorse-sharing.c:269 +msgid "Couldn't share keys" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑖𐑺 𐑒𐑰𐑟" + +#: ../daemon/seahorse-sharing.c:85 +msgid "Can't publish discovery information on the network." +msgstr "𐑒𐑭𐑯𐑑 𐑐𐑳𐑚𐑤𐑦𐑖 𐑛𐑦𐑕𐑒𐑳𐑝𐑼𐑦 𐑦𐑯𐑓𐑼𐑥𐑱𐑖𐑩𐑯 𐑪𐑯 𐑞 𐑯𐑧𐑑𐑢𐑻𐑒." + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s". +#, c-format +#: ../daemon/seahorse-sharing.c:112 +msgid "%s's encryption keys" +msgstr "%s'𐑕 𐑦𐑯𐑒𐑮𐑦𐑐𐑖𐑩𐑯 𐑒𐑰𐑟" + +#, fuzzy +#: ../data/seahorse.schemas.in.h:1 +msgid "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." +msgstr "" +"𐑩 𐑤𐑦𐑕𐑑 𐑝 𐑒𐑰 𐑕𐑻𐑝𐑼 URIs 𐑑 𐑕𐑻𐑗 𐑓𐑹 𐑮𐑦𐑥𐑴𐑑 PGP 𐑒𐑰𐑟. 𐑦𐑯 𐑤𐑱𐑑𐑼 𐑝𐑻𐑠𐑩𐑯𐑟 𐑩 𐑛𐑦𐑕𐑐𐑤𐑱 𐑯𐑱𐑥 𐑒𐑨𐑯 " +"𐑚𐑰 𐑦𐑯𐑒𐑤𐑵𐑛𐑩𐑛, 𐑚𐑲 appending 𐑩 𐑕𐑐𐑱𐑕 𐑯 𐑞𐑧𐑯 𐑞 𐑯𐑱𐑥." + +#: ../data/seahorse.schemas.in.h:2 +msgid "Auto Retrieve Keys" +msgstr "𐑷𐑑𐑴 𐑮𐑦𐑑𐑮𐑰𐑝 𐑒𐑰𐑟" + +#: ../data/seahorse.schemas.in.h:3 +msgid "Auto Sync Keys" +msgstr "𐑷𐑑𐑴 𐑕𐑦𐑙𐑒 𐑒𐑰𐑟" + +#: ../data/seahorse.schemas.in.h:4 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "𐑒𐑩𐑯𐑑𐑮𐑴𐑤𐑟 𐑞 𐑝𐑦𐑟𐑦𐑚𐑦𐑤𐑦𐑑𐑦 𐑝 𐑞 𐑦𐑒𐑕𐑐𐑲𐑻𐑟 𐑒𐑪𐑤𐑩𐑥 𐑓𐑹 𐑞 𐑒𐑰 𐑥𐑨𐑯𐑩𐑡𐑼." + +#: ../data/seahorse.schemas.in.h:5 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "𐑒𐑩𐑯𐑑𐑮𐑴𐑤𐑟 𐑞 𐑝𐑦𐑟𐑦𐑚𐑦𐑤𐑦𐑑𐑦 𐑝 𐑞 𐑑𐑮𐑳𐑕𐑑 𐑒𐑪𐑤𐑩𐑥 𐑓𐑹 𐑞 𐑒𐑰 𐑥𐑨𐑯𐑩𐑡𐑼." + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the type column for the key manager." +msgstr "𐑒𐑩𐑯𐑑𐑮𐑴𐑤𐑟 𐑞 𐑝𐑦𐑟𐑦𐑚𐑦𐑤𐑦𐑑𐑦 𐑝 𐑞 𐑑𐑲𐑐 𐑒𐑪𐑤𐑩𐑥 𐑓𐑹 𐑞 𐑒𐑰 𐑥𐑨𐑯𐑩𐑡𐑼." + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "𐑒𐑩𐑯𐑑𐑮𐑴𐑤𐑟 𐑞 𐑝𐑦𐑟𐑦𐑚𐑦𐑤𐑦𐑑𐑦 𐑝 𐑞 𐑝𐑩𐑤𐑦𐑛𐑩𐑑𐑰 𐑒𐑪𐑤𐑩𐑥 𐑓𐑹 𐑞 𐑒𐑰 𐑥𐑨𐑯𐑩𐑡𐑼." + +#: ../data/seahorse.schemas.in.h:8 +msgid "Enable DNS-SD sharing" +msgstr "𐑦𐑯𐑱𐑚𐑩𐑤 DNS-SD 𐑖𐑺𐑦𐑙" + +#, fuzzy +#: ../data/seahorse.schemas.in.h:9 +msgid "" +"Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +"running and must be built with HKP and DNS-SD support." +msgstr "" +"𐑦𐑯𐑱𐑚𐑩𐑤𐑟 DNS-SD (·𐑨𐑐𐑩𐑤 𐑚𐑩𐑯𐑠𐑫𐑮) 𐑖𐑺𐑦𐑙 𐑝 𐑒𐑰𐑟. seahorse-𐑛𐑰𐑥𐑩𐑯 𐑥𐑳𐑕𐑑 𐑚𐑰 𐑮𐑳𐑯𐑦𐑙 𐑯 𐑥𐑳𐑕𐑑 " +"𐑚𐑰 𐑚𐑦𐑤𐑑 𐑢𐑦𐑞 HKP 𐑯 DNS-SD 𐑕𐑩𐑐𐑹𐑑." + +#: ../data/seahorse.schemas.in.h:10 +msgid "ID of the default key" +msgstr "ID 𐑝 𐑞 𐑛𐑦𐑓𐑷𐑤𐑑 𐑒𐑰" + +#, fuzzy +#: ../data/seahorse.schemas.in.h:11 +msgid "" +"If set to true, then files encrypted with seahorse will be ASCII armor " +"encoded." +msgstr "" +"𐑦𐑓 𐑕𐑧𐑑 𐑑 𐑑𐑮𐑵, 𐑞𐑧𐑯 𐑓𐑲𐑤𐑟 𐑦𐑯𐑒𐑮𐑦𐑐𐑑𐑩𐑛 𐑢𐑦𐑞 seahorse 𐑢𐑦𐑤 𐑚𐑰 ·𐑩·𐑕·𐑒·𐑦·𐑦 𐑸𐑥𐑼 𐑧𐑯𐑒𐑴𐑛𐑩𐑛." + +#: ../data/seahorse.schemas.in.h:12 +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "" +"𐑦𐑓 𐑕𐑧𐑑 𐑑 𐑑𐑮𐑵, 𐑞𐑧𐑯 𐑞 𐑛𐑦𐑓𐑷𐑤𐑑 𐑒𐑰 𐑢𐑦𐑤 𐑷𐑤𐑢𐑱𐑟 𐑚𐑰 𐑨𐑛𐑩𐑛 𐑑 𐑩𐑯 𐑦𐑯𐑒𐑮𐑦𐑐𐑖𐑩𐑯 𐑮𐑦𐑕𐑦𐑐𐑰𐑩𐑯𐑑𐑕 " +"𐑤𐑦𐑕𐑑." + +#: ../data/seahorse.schemas.in.h:13 +msgid "Last key server search pattern" +msgstr "𐑤𐑭𐑕𐑑 𐑒𐑰 𐑕𐑻𐑝𐑼 𐑕𐑻𐑗 𐑐𐑨𐑑𐑼𐑯" + +#: ../data/seahorse.schemas.in.h:14 +msgid "Last key servers used" +msgstr "𐑤𐑭𐑕𐑑 𐑒𐑰 𐑕𐑻𐑝𐑼𐑟 𐑿𐑕𐑑" + +#: ../data/seahorse.schemas.in.h:15 +msgid "Last key used to sign a message." +msgstr "𐑤𐑭𐑕𐑑 𐑒𐑰 𐑿𐑕𐑑 𐑑 𐑕𐑲𐑯 𐑩 𐑥𐑧𐑕𐑦𐑡." + +#, fuzzy +#: ../data/seahorse.schemas.in.h:16 +msgid "PGP Key servers" +msgstr "PGP 𐑒𐑰 𐑕𐑻𐑝𐑼𐑟" + +#: ../data/seahorse.schemas.in.h:17 +msgid "Publish keys to this key server." +msgstr "𐑐𐑳𐑚𐑤𐑦𐑖 𐑒𐑰𐑟 𐑑 𐑞𐑦𐑕 𐑒𐑰 𐑕𐑻𐑝𐑼." + +#: ../data/seahorse.schemas.in.h:18 +msgid "Show expires column in key manager" +msgstr "𐑖𐑴 𐑦𐑒𐑕𐑐𐑲𐑻𐑟 𐑒𐑪𐑤𐑩𐑥 𐑦𐑯 𐑒𐑰 𐑥𐑨𐑯𐑩𐑡𐑼" + +#: ../data/seahorse.schemas.in.h:19 +msgid "Show trust column in key manager" +msgstr "𐑖𐑴 𐑑𐑮𐑳𐑕𐑑 𐑒𐑪𐑤𐑩𐑥 𐑦𐑯 𐑒𐑰 𐑥𐑨𐑯𐑩𐑡𐑼" + +#: ../data/seahorse.schemas.in.h:20 +msgid "Show type column in key manager" +msgstr "𐑖𐑴 𐑑𐑲𐑐 𐑒𐑪𐑤𐑩𐑥 𐑦𐑯 𐑒𐑰 𐑥𐑨𐑯𐑩𐑡𐑼" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Show validity column in key manager" +msgstr "𐑖𐑴 𐑝𐑩𐑤𐑦𐑛𐑩𐑑𐑰 𐑒𐑪𐑤𐑩𐑥 𐑦𐑯 𐑒𐑰 𐑥𐑨𐑯𐑩𐑡𐑼" + +#: ../data/seahorse.schemas.in.h:22 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name' and " +"'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "" +"𐑕𐑐𐑧𐑕𐑦𐑓𐑲 𐑞 𐑒𐑪𐑤𐑩𐑥 𐑑 𐑕𐑹𐑑 𐑞 𐑮𐑦𐑕𐑦𐑐𐑰𐑩𐑯𐑑𐑕 𐑢𐑦𐑯𐑛𐑴 𐑚𐑲. 𐑒𐑪𐑤𐑩𐑥𐑟 𐑸: '𐑯𐑱𐑥' 𐑯 'ID'. 𐑐𐑫𐑑 𐑩 " +"'-' 𐑦𐑯 𐑓𐑮𐑳𐑯𐑑 𐑝 𐑞 𐑒𐑪𐑤𐑩𐑥 𐑯𐑱𐑥 𐑑 𐑕𐑹𐑑 𐑦𐑯 𐑛𐑦𐑕𐑧𐑯𐑛𐑦𐑙 𐑹𐑛𐑼." + +#, fuzzy +#: ../data/seahorse.schemas.in.h:23 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." +msgstr "" +"𐑕𐑐𐑧𐑕𐑦𐑓𐑲 𐑞 𐑒𐑪𐑤𐑩𐑥 𐑑 𐑕𐑹𐑑 𐑞 seahorse 𐑒𐑰 𐑥𐑨𐑯𐑩𐑡𐑼 𐑥𐑱𐑯 𐑢𐑦𐑯𐑛𐑴 𐑚𐑲. 𐑒𐑪𐑤𐑩𐑥𐑟 𐑸: '𐑯𐑱𐑥', " +"'𐑦𐑛', '𐑝𐑩𐑤𐑦𐑛𐑩𐑑𐑰', '𐑦𐑒𐑕𐑐𐑲𐑻𐑟', '𐑑𐑮𐑳𐑕𐑑', 𐑯 '𐑑𐑲𐑐'. 𐑐𐑫𐑑 𐑩 '-' 𐑦𐑯 𐑓𐑮𐑳𐑯𐑑 𐑝 𐑞 𐑒𐑪𐑤𐑩𐑥 " +"𐑯𐑱𐑥 𐑑 𐑕𐑹𐑑 𐑦𐑯 𐑛𐑦𐑕𐑧𐑯𐑛𐑦𐑙 𐑹𐑛𐑼." + +#: ../data/seahorse.schemas.in.h:24 +msgid "The ID of the last secret key used to sign a message." +msgstr "𐑞 ID 𐑝 𐑞 𐑤𐑭𐑕𐑑 𐑕𐑰𐑒𐑮𐑩𐑑 𐑒𐑰 𐑿𐑕𐑑 𐑑 𐑕𐑲𐑯 𐑩 𐑥𐑧𐑕𐑦𐑡." + +#: ../data/seahorse.schemas.in.h:25 +msgid "The column to sort the recipients by" +msgstr "𐑞 𐑒𐑪𐑤𐑩𐑥 𐑑 𐑕𐑹𐑑 𐑞 𐑮𐑦𐑕𐑦𐑐𐑰𐑩𐑯𐑑𐑕 𐑚𐑲" + +#, fuzzy +#: ../data/seahorse.schemas.in.h:26 +msgid "The column to sort the seahorse keys by" +msgstr "𐑞 𐑒𐑪𐑤𐑩𐑥 𐑑 𐑕𐑹𐑑 𐑞 seahorse 𐑒𐑰𐑟 𐑚𐑲" + +#: ../data/seahorse.schemas.in.h:27 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of PGP " +"keys." +msgstr "𐑞 𐑒𐑰 𐑕𐑻𐑝𐑼 𐑑 𐑐𐑳𐑚𐑤𐑦𐑖 PGP 𐑒𐑰𐑟 𐑑. 𐑹 𐑧𐑥𐑐𐑑𐑦 𐑑 𐑕𐑳𐑐𐑮𐑧𐑕 𐑐𐑳𐑚𐑤𐑦𐑖𐑦𐑙 𐑝 PGP 𐑒𐑰𐑟." + +#: ../data/seahorse.schemas.in.h:28 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "𐑞 𐑤𐑭𐑕𐑑 𐑒𐑰 𐑕𐑻𐑝𐑼 𐑩 𐑕𐑻𐑗 𐑢𐑪𐑟 𐑐𐑼𐑓𐑹𐑥𐑛 𐑩𐑜𐑱𐑯𐑕𐑑 𐑹 𐑧𐑥𐑐𐑑𐑦 𐑓𐑹 𐑷𐑤 𐑒𐑰 𐑕𐑻𐑝𐑼𐑟." + +#: ../data/seahorse.schemas.in.h:29 +msgid "The last search pattern searched for against a key server." +msgstr "𐑞 𐑤𐑭𐑕𐑑 𐑕𐑻𐑗 𐑐𐑨𐑑𐑼𐑯 𐑕𐑻𐑗𐑑 𐑓𐑹 𐑩𐑜𐑱𐑯𐑕𐑑 𐑩 𐑒𐑰 𐑕𐑻𐑝𐑼." + +#: ../data/seahorse.schemas.in.h:30 +msgid "" +"This specifies the default key to use for certain operations, mainly signing." +msgstr "𐑞𐑦𐑕 𐑕𐑐𐑧𐑕𐑦𐑓𐑲𐑟 𐑞 𐑛𐑦𐑓𐑷𐑤𐑑 𐑒𐑰 𐑑 𐑿𐑕 𐑓𐑹 𐑕𐑻𐑑𐑩𐑯 𐑪𐑐𐑼𐑱𐑖𐑩𐑯𐑟, 𐑥𐑱𐑯𐑤𐑦 𐑕𐑲𐑯𐑦𐑙." + +#: ../data/seahorse.schemas.in.h:31 +msgid "" +"Whether or not keys should be automatically retrieved from key servers." +msgstr "𐑢𐑧𐑞𐑼 𐑹 𐑯𐑪𐑑 𐑒𐑰𐑟 𐑖𐑫𐑛 𐑚𐑰 𐑷𐑑𐑩𐑥𐑨𐑑𐑦𐑒𐑤𐑦 𐑮𐑦𐑑𐑮𐑰𐑝𐑛 𐑓𐑮𐑪𐑥 𐑒𐑰 𐑕𐑻𐑝𐑼𐑟." + +#, fuzzy +#: ../data/seahorse.schemas.in.h:32 +msgid "" +"Whether or not modified keys should be automatically synced with the default " +"key server." +msgstr "𐑢𐑧𐑞𐑼 𐑹 𐑯𐑪𐑑 𐑥𐑪𐑛𐑦𐑓𐑲𐑛 𐑒𐑰𐑟 𐑖𐑫𐑛 𐑚𐑰 𐑷𐑑𐑩𐑥𐑨𐑑𐑦𐑒𐑤𐑦 synced 𐑢𐑦𐑞 𐑞 𐑛𐑦𐑓𐑷𐑤𐑑 𐑒𐑰 𐑕𐑻𐑝𐑼." + +#: ../data/seahorse.schemas.in.h:33 +msgid "Whether to always encrypt to default key" +msgstr "𐑢𐑧𐑞𐑼 𐑑 𐑷𐑤𐑢𐑱𐑟 𐑦𐑯𐑒𐑮𐑦𐑐𐑑 𐑑 𐑛𐑦𐑓𐑷𐑤𐑑 𐑒𐑰" + +#: ../data/seahorse.schemas.in.h:34 +msgid "Whether to use ASCII Armor" +msgstr "𐑢𐑧𐑞𐑼 𐑑 𐑿𐑕 ASCII 𐑸𐑥𐑼" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "𐑨𐑛 𐑐𐑭𐑕𐑢𐑼𐑛 𐑒𐑰𐑮𐑦𐑙" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "𐑯𐑿 𐑒𐑰𐑮𐑦𐑙 𐑯𐑱𐑥:" + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "𐑐𐑤𐑰𐑟 𐑗𐑵𐑟 𐑩 𐑯𐑱𐑥 𐑓𐑹 𐑞 𐑯𐑿 𐑒𐑰𐑮𐑦𐑙. 𐑿 𐑢𐑦𐑤 𐑚𐑰 𐑐𐑮𐑪𐑥𐑐𐑑𐑩𐑛 𐑓𐑹 𐑩𐑯 𐑩𐑯𐑤𐑭𐑒 𐑐𐑭𐑕𐑢𐑼𐑛." + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "𐑞 𐑣𐑴𐑕𐑑 𐑯𐑱𐑥 𐑹 𐑩𐑛𐑮𐑧𐑕 𐑝 𐑞 𐑕𐑻𐑝𐑼." + +#: ../gkr/seahorse-gkr-add-item.c:61 ../gkr/seahorse-gkr-add-keyring.c:73 +msgid "Couldn't add keyring" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑨𐑛 𐑒𐑰𐑮𐑦𐑙" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +msgid "Add Password" +msgstr "𐑨𐑛 𐑐𐑭𐑕𐑢𐑼𐑛" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:17 ../pgp/seahorse-revoke.xml.h:5 +msgid "_Description:" +msgstr "_𐑛𐑦𐑕𐑒𐑮𐑦𐑐𐑖𐑩𐑯:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Keyring:" +msgstr "_𐑒𐑰𐑮𐑦𐑙:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Password:" +msgstr "_𐑐𐑭𐑕𐑢𐑼𐑛:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +msgid "_Show Password" +msgstr "_𐑖𐑴 𐑐𐑭𐑕𐑢𐑼𐑛" + +#: ../gkr/seahorse-gkr-item.c:470 +msgid "Web Password" +msgstr "𐑢𐑧𐑚 𐑐𐑭𐑕𐑢𐑼𐑛" + +#: ../gkr/seahorse-gkr-item.c:472 +msgid "Network Password" +msgstr "𐑯𐑧𐑑𐑢𐑻𐑒 𐑐𐑭𐑕𐑢𐑼𐑛" + +#: ../gkr/seahorse-gkr-item.c:474 ../gkr/seahorse-gkr-item-properties.c:107 +msgid "Password" +msgstr "𐑐𐑭𐑕𐑢𐑼𐑛" + +#, c-format +#: ../gkr/seahorse-gkr-item-commands.c:78 +msgid "Are you sure you want to delete the password '%s'?" +msgstr "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑛𐑦𐑤𐑰𐑑 𐑞 𐑐𐑭𐑕𐑢𐑼𐑛 '%s'?" + +#, c-format +#: ../gkr/seahorse-gkr-item-commands.c:81 +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑛𐑦𐑤𐑰𐑑 %d 𐑐𐑭𐑕𐑢𐑼𐑛?" +msgstr[1] "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑛𐑦𐑤𐑰𐑑 %d 𐑐𐑭𐑕𐑢𐑼𐑛𐑟?" + +#: ../gkr/seahorse-gkr-item-properties.c:66 +msgid "Access a network share or resource" +msgstr "𐑨𐑒𐑕𐑧𐑕 𐑩 𐑯𐑧𐑑𐑢𐑻𐑒 𐑖𐑺 𐑹 𐑮𐑦𐑟𐑹𐑕" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a website" +msgstr "𐑨𐑒𐑕𐑧𐑕 𐑩 𐑢𐑧𐑚𐑕𐑲𐑑" + +#, fuzzy +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Unlocks a PGP key" +msgstr "Unlocks 𐑩 PGP 𐑒𐑰" + +#, fuzzy +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a Secure Shell key" +msgstr "Unlocks 𐑩 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Saved password or login" +msgstr "𐑕𐑱𐑝𐑛 𐑐𐑭𐑕𐑢𐑼𐑛 𐑹 𐑤𐑪𐑜𐑦𐑯" + +#: ../gkr/seahorse-gkr-item-properties.c:102 +msgid "Network Credentials" +msgstr "𐑯𐑧𐑑𐑢𐑻𐑒 𐑒𐑮𐑩𐑛𐑧𐑯𐑖𐑩𐑤𐑟" + +#: ../gkr/seahorse-gkr-item-properties.c:245 +msgid "Couldn't change password." +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑗𐑱𐑯𐑡 𐑐𐑭𐑕𐑢𐑼𐑛." + +#: ../gkr/seahorse-gkr-item-properties.c:350 +msgid "Couldn't set description." +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑕𐑧𐑑 𐑛𐑦𐑕𐑒𐑮𐑦𐑐𐑖𐑩𐑯." + +#: ../gkr/seahorse-gkr-item-properties.c:651 +msgid "Couldn't set application access." +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑕𐑧𐑑 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯 𐑨𐑒𐑕𐑧𐑕." + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +msgid "Password:" +msgstr "𐑐𐑭𐑕𐑢𐑼𐑛:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 +msgid "Path:" +msgstr "𐑐𐑭𐑔:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +msgid "Permissions:" +msgstr "𐑐𐑻𐑥𐑦𐑖𐑪𐑯𐑟:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Technical Details:" +msgstr "𐑑𐑧𐑒𐑯𐑦𐑒𐑩𐑤 𐑛𐑰𐑑𐑱𐑤𐑟:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Applications" +msgstr "𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:72 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Details" +msgstr "𐑛𐑰𐑑𐑱𐑤𐑟" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Key" +msgstr "𐑒𐑰" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Key Properties" +msgstr "𐑒𐑰 𐑐𐑮𐑪𐑐𐑼𐑑𐑦𐑟" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +msgid "Login:" +msgstr "𐑤𐑪𐑜𐑦𐑯:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +msgid "Server:" +msgstr "𐑕𐑻𐑝𐑼:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +msgid "Show pass_word" +msgstr "𐑖𐑴 _𐑐𐑭𐑕𐑢𐑼𐑛" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +msgid "Type:" +msgstr "𐑑𐑲𐑐:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:14 +msgid "Use:" +msgstr "𐑿𐑟:" + +#. To translators: This is the infinitive not the imperative. This string refers to the ability of an application to delete this secret from its key ring. +#: ../gkr/seahorse-gkr-item-properties.xml.h:16 +msgid "_Delete" +msgstr "_𐑛𐑦𐑤𐑰𐑑" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:19 +msgid "_Read" +msgstr "_𐑮𐑧𐑛" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:21 +msgid "_Write" +msgstr "_𐑮𐑲𐑑" + +#: ../gkr/seahorse-gkr-keyring.c:193 +msgid "Listing passwords" +msgstr "𐑤𐑦𐑕𐑑𐑦𐑙 𐑐𐑭𐑕𐑢𐑼𐑛𐑟" + +#, c-format +#: ../gkr/seahorse-gkr-keyring.c:354 +msgid "Passwords: %s" +msgstr "𐑐𐑭𐑕𐑢𐑼𐑛𐑟: %s" + +#, c-format +#: ../gkr/seahorse-gkr-keyring.c:355 +msgid "Passwords: %s" +msgstr "𐑐𐑭𐑕𐑢𐑼𐑛𐑟: %s" + +#: ../gkr/seahorse-gkr-keyring-commands.c:119 +msgid "Password Keyring" +msgstr "𐑐𐑭𐑕𐑢𐑼𐑛 𐑒𐑰𐑮𐑦𐑙" + +#: ../gkr/seahorse-gkr-keyring-commands.c:120 +msgid "Used to store application and network passwords" +msgstr "𐑿𐑕𐑑 𐑑 𐑕𐑑𐑹 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯 𐑯 𐑯𐑧𐑑𐑢𐑻𐑒 𐑐𐑭𐑕𐑢𐑼𐑛𐑟" + +#: ../gkr/seahorse-gkr-keyring-commands.c:121 +msgid "Stored Password" +msgstr "𐑕𐑑𐑹𐑛 𐑐𐑭𐑕𐑢𐑼𐑛" + +#: ../gkr/seahorse-gkr-keyring-commands.c:122 +msgid "Safely store a password or secret." +msgstr "𐑕𐑱𐑓𐑤𐑦 𐑕𐑑𐑹 𐑩 𐑐𐑭𐑕𐑢𐑼𐑛 𐑹 𐑕𐑰𐑒𐑮𐑩𐑑." + +#: ../gkr/seahorse-gkr-keyring-commands.c:136 +msgid "Couldn't unlock keyring" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑩𐑯𐑤𐑭𐑒 𐑒𐑰𐑮𐑦𐑙" + +#: ../gkr/seahorse-gkr-keyring-commands.c:177 +msgid "Couldn't lock keyring" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑤𐑪𐑒 𐑒𐑰𐑮𐑦𐑙" + +#: ../gkr/seahorse-gkr-keyring-commands.c:218 +msgid "Couldn't set default keyring" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑕𐑧𐑑 𐑛𐑦𐑓𐑷𐑤𐑑 𐑒𐑰𐑮𐑦𐑙" + +#: ../gkr/seahorse-gkr-keyring-commands.c:257 +msgid "Couldn't change keyring password" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑗𐑱𐑯𐑡 𐑒𐑰𐑮𐑦𐑙 𐑐𐑭𐑕𐑢𐑼𐑛" + +#: ../gkr/seahorse-gkr-keyring-commands.c:288 +msgid "_Lock" +msgstr "_𐑤𐑪𐑒" + +#: ../gkr/seahorse-gkr-keyring-commands.c:289 +msgid "" +"Lock the password storage keyring so a master password is required to unlock " +"it." +msgstr "𐑤𐑪𐑒 𐑞 𐑐𐑭𐑕𐑢𐑼𐑛 𐑕𐑑𐑹𐑦𐑡 𐑒𐑰𐑮𐑦𐑙 𐑕𐑴 𐑩 𐑥𐑭𐑕𐑑𐑼 𐑐𐑭𐑕𐑢𐑼𐑛 𐑦𐑟 𐑮𐑦𐑒𐑢𐑲𐑼𐑛 𐑑 𐑩𐑯𐑤𐑭𐑒 𐑦𐑑." + +#: ../gkr/seahorse-gkr-keyring-commands.c:290 +msgid "_Unlock" +msgstr "_𐑩𐑯𐑤𐑭𐑒" + +#: ../gkr/seahorse-gkr-keyring-commands.c:291 +msgid "" +"Unlock the password storage keyring with a master password so it is available " +"for use." +msgstr "" +"𐑩𐑯𐑤𐑭𐑒 𐑞 𐑐𐑭𐑕𐑢𐑼𐑛 𐑕𐑑𐑹𐑦𐑡 𐑒𐑰𐑮𐑦𐑙 𐑢𐑦𐑞 𐑩 𐑥𐑭𐑕𐑑𐑼 𐑐𐑭𐑕𐑢𐑼𐑛 𐑕𐑴 𐑦𐑑 𐑦𐑟 𐑩𐑝𐑱𐑤𐑩𐑚𐑩𐑤 𐑓𐑹 𐑿𐑕." + +#: ../gkr/seahorse-gkr-keyring-commands.c:292 +msgid "_Set as default" +msgstr "_𐑕𐑧𐑑 𐑨𐑟 𐑛𐑦𐑓𐑷𐑤𐑑" + +#: ../gkr/seahorse-gkr-keyring-commands.c:293 +msgid "Applications usually store new passwords in the default keyring." +msgstr "𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯𐑟 𐑿𐑠𐑿𐑩𐑤𐑦 𐑕𐑑𐑹 𐑯𐑿 𐑐𐑭𐑕𐑢𐑼𐑛𐑟 𐑦𐑯 𐑞 𐑛𐑦𐑓𐑷𐑤𐑑 𐑒𐑰𐑮𐑦𐑙." + +#: ../gkr/seahorse-gkr-keyring-commands.c:294 +msgid "Change _Password" +msgstr "𐑗𐑱𐑯𐑡 _𐑐𐑭𐑕𐑢𐑼𐑛" + +#: ../gkr/seahorse-gkr-keyring-commands.c:295 +msgid "Change the unlock password of the password storage keyring" +msgstr "𐑗𐑱𐑯𐑡 𐑞 𐑩𐑯𐑤𐑭𐑒 𐑐𐑭𐑕𐑢𐑼𐑛 𐑝 𐑞 𐑐𐑭𐑕𐑢𐑼𐑛 𐑕𐑑𐑹𐑦𐑡 𐑒𐑰𐑮𐑦𐑙" + +#, c-format +#: ../gkr/seahorse-gkr-keyring-commands.c:360 +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑛𐑦𐑤𐑰𐑑 𐑞 𐑐𐑭𐑕𐑢𐑼𐑛 𐑒𐑰𐑮𐑦𐑙 '%s'?" + +#. ----------------------------------------------------------------------------- +#. * PUBLIC +#. +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Created:" +msgstr "𐑒𐑮𐑦𐑱𐑑𐑩𐑛:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +msgid "Keyring" +msgstr "𐑒𐑰𐑮𐑦𐑙" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring Properties" +msgstr "𐑒𐑰𐑮𐑦𐑙 𐑐𐑮𐑪𐑐𐑼𐑑𐑦𐑟" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "_Name:" +msgstr "_𐑯𐑱𐑥:" + +#: ../gkr/seahorse-gkr-operation.c:168 +msgid "Access to the key ring was denied" +msgstr "𐑨𐑒𐑕𐑧𐑕 𐑑 𐑞 𐑒𐑰 𐑮𐑦𐑙 𐑢𐑪𐑟 𐑛𐑦𐑯𐑲𐑛" + +#: ../gkr/seahorse-gkr-operation.c:171 +msgid "The gnome-keyring daemon is not running" +msgstr "𐑞 𐑯𐑴𐑥-𐑒𐑰𐑮𐑦𐑙 𐑛𐑰𐑥𐑩𐑯 𐑦𐑟 𐑯𐑪𐑑 𐑮𐑳𐑯𐑦𐑙" + +#: ../gkr/seahorse-gkr-operation.c:174 +msgid "The key ring has already been unlocked" +msgstr "𐑞 𐑒𐑰 𐑮𐑦𐑙 𐑣𐑨𐑟 𐑷𐑤𐑮𐑧𐑛𐑦 𐑚𐑰𐑯 𐑩𐑯𐑤𐑭𐑒𐑑" + +#: ../gkr/seahorse-gkr-operation.c:177 +msgid "No such key ring exists" +msgstr "𐑯𐑴 𐑕𐑳𐑗 𐑒𐑰 𐑮𐑦𐑙 𐑧𐑒𐑟𐑦𐑕𐑑𐑕" + +#: ../gkr/seahorse-gkr-operation.c:180 +msgid "Couldn't communicate with key ring daemon" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑒𐑩𐑥𐑿𐑯𐑦𐑒𐑱𐑑 𐑢𐑦𐑞 𐑒𐑰 𐑮𐑦𐑙 𐑛𐑰𐑥𐑩𐑯" + +#: ../gkr/seahorse-gkr-operation.c:183 +msgid "The item already exists" +msgstr "𐑞 𐑲𐑑𐑩𐑥 𐑷𐑤𐑮𐑧𐑛𐑦 𐑧𐑒𐑟𐑦𐑕𐑑𐑕" + +#: ../gkr/seahorse-gkr-operation.c:189 +msgid "Internal error accessing gnome-keyring" +msgstr "𐑦𐑯𐑑𐑻𐑯𐑩𐑤 𐑻𐑼 𐑨𐑒𐑕𐑧𐑕𐑦𐑙 𐑯𐑴𐑥-𐑒𐑰𐑮𐑦𐑙" + +#: ../gkr/seahorse-gkr-operation.c:238 ../gkr/seahorse-gkr-operation.c:264 +msgid "Saving item..." +msgstr "𐑕𐑱𐑝𐑦𐑙 𐑲𐑑𐑩𐑥..." + +#: ../gkr/seahorse-gkr-operation.c:300 +msgid "Deleting item..." +msgstr "𐑛𐑦𐑤𐑰𐑑𐑦𐑙 𐑲𐑑𐑩𐑥..." + +#: ../gkr/seahorse-gkr-operation.c:325 +msgid "Deleting keyring..." +msgstr "𐑛𐑦𐑤𐑰𐑑𐑦𐑙 𐑒𐑰𐑮𐑦𐑙..." + +#: ../gkr/seahorse-gkr-source.c:234 +msgid "Listing password keyrings" +msgstr "𐑤𐑦𐑕𐑑𐑦𐑙 𐑐𐑭𐑕𐑢𐑼𐑛 𐑒𐑰𐑮𐑦𐑙𐑟" + +#: ../libcryptui/cryptui.c:272 +msgid "" +"No encryption keys were found with which to perform the operation you " +"requested. The program Passwords and Encryption Keys will now be " +"started so that you may either create a key or import one." +msgstr "" +"𐑯𐑴 𐑦𐑯𐑒𐑮𐑦𐑐𐑖𐑩𐑯 𐑒𐑰𐑟 𐑢𐑻 𐑓𐑬𐑯𐑛 𐑢𐑦𐑞 𐑢𐑦𐑗 𐑑 𐑐𐑼𐑓𐑹𐑥 𐑞 𐑪𐑐𐑼𐑱𐑖𐑩𐑯 𐑿 𐑮𐑦𐑒𐑢𐑧𐑕𐑑𐑩𐑛. 𐑞 𐑐𐑮𐑴𐑜𐑮𐑨𐑥 " +"𐑐𐑭𐑕𐑢𐑼𐑛𐑟 𐑯 𐑦𐑯𐑒𐑮𐑦𐑐𐑖𐑩𐑯 𐑒𐑰𐑟 𐑢𐑦𐑤 𐑯𐑬 𐑚𐑰 𐑕𐑑𐑸𐑑𐑩𐑛 𐑕𐑴 𐑞𐑨𐑑 𐑿 𐑥𐑱 𐑲𐑞𐑼 𐑒𐑮𐑦𐑱𐑑 𐑩 𐑒𐑰 𐑹 " +"𐑦𐑥𐑐𐑹𐑑 𐑢𐑳𐑯." + +#: ../libcryptui/cryptui-key-chooser.c:173 +msgid "All Keys" +msgstr "𐑷𐑤 𐑒𐑰𐑟" + +#: ../libcryptui/cryptui-key-chooser.c:174 +msgid "Selected Recipients" +msgstr "𐑕𐑩𐑤𐑧𐑒𐑑𐑩𐑛 𐑮𐑦𐑕𐑦𐑐𐑰𐑩𐑯𐑑𐑕" + +#: ../libcryptui/cryptui-key-chooser.c:175 +msgid "Search Results" +msgstr "𐑕𐑻𐑗 𐑮𐑦𐑟𐑳𐑤𐑑𐑕" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:185 +msgid "Search _for:" +msgstr "𐑕𐑻𐑗 _𐑓𐑹:" + +#: ../libcryptui/cryptui-key-chooser.c:243 +msgid "None (Don't Sign)" +msgstr "𐑯𐑳𐑯 (𐑛𐑴𐑯𐑑 𐑕𐑲𐑯)" + +#, c-format +#: ../libcryptui/cryptui-key-chooser.c:256 +msgid "Sign this message as %s" +msgstr "𐑕𐑲𐑯 𐑞𐑦𐑕 𐑥𐑧𐑕𐑦𐑡 𐑨𐑟 %s" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:278 +msgid "_Sign message as:" +msgstr "_𐑕𐑲𐑯 𐑥𐑧𐑕𐑦𐑡 𐑨𐑟:" + +#. TODO: Icons +#. The name column +#: ../libcryptui/cryptui-key-list.c:140 +#: ../pgp/seahorse-pgp-key-properties.c:839 +#: ../src/seahorse-key-manager-store.c:829 +msgid "Name" +msgstr "𐑯𐑱𐑥" + +#. The keyid column +#: ../libcryptui/cryptui-key-list.c:145 +#: ../pgp/seahorse-pgp-key-properties.c:1745 +#: ../src/seahorse-key-manager-store.c:841 +msgid "Key ID" +msgstr "𐑒𐑰 ID" + +#: ../libegg/egg-datetime.c:313 +msgid "Display flags" +msgstr "𐑛𐑩𐑕𐑐𐑤𐑱 𐑓𐑤𐑨𐑜𐑟" + +#: ../libegg/egg-datetime.c:314 +msgid "Displayed date and/or time properties" +msgstr "𐑛𐑩𐑕𐑐𐑤𐑱𐑛 𐑛𐑱𐑑 𐑯/𐑹 𐑑𐑲𐑥 𐑐𐑮𐑪𐑐𐑼𐑑𐑦𐑟" + +#: ../libegg/egg-datetime.c:319 +msgid "Lazy mode" +msgstr "𐑤𐑱𐑟𐑦 𐑥𐑴𐑛" + +#: ../libegg/egg-datetime.c:320 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "𐑤𐑱𐑟𐑦 𐑥𐑴𐑛 𐑛𐑳𐑟𐑯𐑑 𐑯𐑪𐑮𐑥𐑩𐑤𐑲𐑟 𐑧𐑯𐑑𐑻𐑛 𐑛𐑱𐑑 𐑯 𐑑𐑲𐑥 𐑝𐑨𐑤𐑿𐑟" + +#: ../libegg/egg-datetime.c:325 +msgid "Year" +msgstr "𐑘𐑽" + +#: ../libegg/egg-datetime.c:326 +msgid "Displayed year" +msgstr "𐑛𐑩𐑕𐑐𐑤𐑱𐑛 𐑘𐑽" + +#: ../libegg/egg-datetime.c:331 +msgid "Month" +msgstr "𐑥𐑳𐑯𐑔" + +#: ../libegg/egg-datetime.c:332 +msgid "Displayed month" +msgstr "𐑛𐑩𐑕𐑐𐑤𐑱𐑛 𐑥𐑳𐑯𐑔" + +#: ../libegg/egg-datetime.c:337 +msgid "Day" +msgstr "𐑛𐑱" + +#: ../libegg/egg-datetime.c:338 +msgid "Displayed day of month" +msgstr "𐑛𐑩𐑕𐑐𐑤𐑱𐑛 𐑛𐑱 𐑝 𐑥𐑳𐑯𐑔" + +#: ../libegg/egg-datetime.c:343 +msgid "Hour" +msgstr "𐑬𐑼" + +#: ../libegg/egg-datetime.c:344 +msgid "Displayed hour" +msgstr "𐑛𐑩𐑕𐑐𐑤𐑱𐑛 𐑬𐑼" + +#: ../libegg/egg-datetime.c:349 +msgid "Minute" +msgstr "𐑥𐑦𐑯𐑩𐑑" + +#: ../libegg/egg-datetime.c:350 +msgid "Displayed minute" +msgstr "𐑛𐑩𐑕𐑐𐑤𐑱𐑛 𐑥𐑦𐑯𐑩𐑑" + +#: ../libegg/egg-datetime.c:355 +msgid "Second" +msgstr "𐑕𐑧𐑒𐑩𐑯𐑛" + +#: ../libegg/egg-datetime.c:356 +msgid "Displayed second" +msgstr "𐑛𐑩𐑕𐑐𐑤𐑱𐑛 𐑕𐑧𐑒𐑩𐑯𐑛" + +#: ../libegg/egg-datetime.c:361 +msgid "Lower limit year" +msgstr "𐑤𐑴𐑼 𐑤𐑦𐑥𐑦𐑑 𐑘𐑽" + +#: ../libegg/egg-datetime.c:362 +msgid "Year part of the lower date limit" +msgstr "𐑘𐑽 𐑐𐑸𐑑 𐑝 𐑞 𐑤𐑴𐑼 𐑛𐑱𐑑 𐑤𐑦𐑥𐑦𐑑" + +#: ../libegg/egg-datetime.c:367 +msgid "Upper limit year" +msgstr "𐑳𐑐𐑻 𐑤𐑦𐑥𐑦𐑑 𐑘𐑽" + +#: ../libegg/egg-datetime.c:368 +msgid "Year part of the upper date limit" +msgstr "𐑘𐑽 𐑐𐑸𐑑 𐑝 𐑞 𐑳𐑐𐑻 𐑛𐑱𐑑 𐑤𐑦𐑥𐑦𐑑" + +#: ../libegg/egg-datetime.c:373 +msgid "Lower limit month" +msgstr "𐑤𐑴𐑼 𐑤𐑦𐑥𐑦𐑑 𐑥𐑳𐑯𐑔" + +#: ../libegg/egg-datetime.c:374 +msgid "Month part of the lower date limit" +msgstr "𐑥𐑳𐑯𐑔 𐑐𐑸𐑑 𐑝 𐑞 𐑤𐑴𐑼 𐑛𐑱𐑑 𐑤𐑦𐑥𐑦𐑑" + +#: ../libegg/egg-datetime.c:379 +msgid "Upper limit month" +msgstr "𐑳𐑐𐑻 𐑤𐑦𐑥𐑦𐑑 𐑥𐑳𐑯𐑔" + +#: ../libegg/egg-datetime.c:380 +msgid "Month part of the upper date limit" +msgstr "𐑥𐑳𐑯𐑔 𐑐𐑸𐑑 𐑝 𐑞 𐑳𐑐𐑻 𐑛𐑱𐑑 𐑤𐑦𐑥𐑦𐑑" + +#: ../libegg/egg-datetime.c:385 +msgid "Lower limit day" +msgstr "𐑤𐑴𐑼 𐑤𐑦𐑥𐑦𐑑 𐑛𐑱" + +#: ../libegg/egg-datetime.c:386 +msgid "Day of month part of the lower date limit" +msgstr "𐑛𐑱 𐑝 𐑥𐑳𐑯𐑔 𐑐𐑸𐑑 𐑝 𐑞 𐑤𐑴𐑼 𐑛𐑱𐑑 𐑤𐑦𐑥𐑦𐑑" + +#: ../libegg/egg-datetime.c:391 +msgid "Upper limit day" +msgstr "𐑳𐑐𐑻 𐑤𐑦𐑥𐑦𐑑 𐑛𐑱" + +#: ../libegg/egg-datetime.c:392 +msgid "Day of month part of the upper date limit" +msgstr "𐑛𐑱 𐑝 𐑥𐑳𐑯𐑔 𐑐𐑸𐑑 𐑝 𐑞 𐑳𐑐𐑻 𐑛𐑱𐑑 𐑤𐑦𐑥𐑦𐑑" + +#: ../libegg/egg-datetime.c:397 +msgid "Lower limit hour" +msgstr "𐑤𐑴𐑼 𐑤𐑦𐑥𐑦𐑑 𐑬𐑼" + +#: ../libegg/egg-datetime.c:398 +msgid "Hour part of the lower time limit" +msgstr "𐑬𐑼 𐑐𐑸𐑑 𐑝 𐑞 𐑤𐑴𐑼 𐑑𐑲𐑥 𐑤𐑦𐑥𐑦𐑑" + +#: ../libegg/egg-datetime.c:403 +msgid "Upper limit hour" +msgstr "𐑳𐑐𐑻 𐑤𐑦𐑥𐑦𐑑 𐑬𐑼" + +#: ../libegg/egg-datetime.c:404 +msgid "Hour part of the upper time limit" +msgstr "𐑬𐑼 𐑐𐑸𐑑 𐑝 𐑞 𐑳𐑐𐑻 𐑑𐑲𐑥 𐑤𐑦𐑥𐑦𐑑" + +#: ../libegg/egg-datetime.c:409 +msgid "Lower limit minute" +msgstr "𐑤𐑴𐑼 𐑤𐑦𐑥𐑦𐑑 𐑥𐑦𐑯𐑩𐑑" + +#: ../libegg/egg-datetime.c:410 +msgid "Minute part of the lower time limit" +msgstr "𐑥𐑦𐑯𐑩𐑑 𐑐𐑸𐑑 𐑝 𐑞 𐑤𐑴𐑼 𐑑𐑲𐑥 𐑤𐑦𐑥𐑦𐑑" + +#: ../libegg/egg-datetime.c:415 +msgid "Upper limit minute" +msgstr "𐑳𐑐𐑻 𐑤𐑦𐑥𐑦𐑑 𐑥𐑦𐑯𐑩𐑑" + +#: ../libegg/egg-datetime.c:416 +msgid "Minute part of the upper time limit" +msgstr "𐑥𐑦𐑯𐑩𐑑 𐑐𐑸𐑑 𐑝 𐑞 𐑳𐑐𐑻 𐑑𐑲𐑥 𐑤𐑦𐑥𐑦𐑑" + +#: ../libegg/egg-datetime.c:421 +msgid "Lower limit second" +msgstr "𐑤𐑴𐑼 𐑤𐑦𐑥𐑦𐑑 𐑕𐑧𐑒𐑩𐑯𐑛" + +#: ../libegg/egg-datetime.c:422 +msgid "Second part of the lower time limit" +msgstr "𐑕𐑧𐑒𐑩𐑯𐑛 𐑐𐑸𐑑 𐑝 𐑞 𐑤𐑴𐑼 𐑑𐑲𐑥 𐑤𐑦𐑥𐑦𐑑" + +#: ../libegg/egg-datetime.c:427 +msgid "Upper limit second" +msgstr "𐑳𐑐𐑻 𐑤𐑦𐑥𐑦𐑑 𐑕𐑧𐑒𐑩𐑯𐑛" + +#: ../libegg/egg-datetime.c:428 +msgid "Second part of the upper time limit" +msgstr "𐑕𐑧𐑒𐑩𐑯𐑛 𐑐𐑸𐑑 𐑝 𐑞 𐑳𐑐𐑻 𐑑𐑲𐑥 𐑤𐑦𐑥𐑦𐑑" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:470 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:492 +msgid "Date" +msgstr "𐑛𐑱𐑑" + +#: ../libegg/egg-datetime.c:492 +msgid "Enter the date directly" +msgstr "𐑧𐑯𐑑𐑼 𐑞 𐑛𐑱𐑑 𐑛𐑲𐑮𐑧𐑒𐑑𐑤𐑦" + +#: ../libegg/egg-datetime.c:499 +msgid "Select Date" +msgstr "𐑕𐑩𐑤𐑧𐑒𐑑 𐑛𐑱𐑑" + +#: ../libegg/egg-datetime.c:499 +msgid "Select the date from a calendar" +msgstr "𐑕𐑩𐑤𐑧𐑒𐑑 𐑞 𐑛𐑱𐑑 𐑓𐑮𐑪𐑥 𐑩 𐑒𐑨𐑤𐑩𐑯𐑛𐑼" + +#: ../libegg/egg-datetime.c:517 ../libegg/egg-datetime.c:2194 +msgid "Time" +msgstr "𐑑𐑲𐑥" + +#: ../libegg/egg-datetime.c:517 +msgid "Enter the time directly" +msgstr "𐑧𐑯𐑑𐑼 𐑞 𐑑𐑲𐑥 𐑛𐑲𐑮𐑧𐑒𐑑𐑤𐑦" + +#: ../libegg/egg-datetime.c:524 +msgid "Select Time" +msgstr "𐑕𐑩𐑤𐑧𐑒𐑑 𐑑𐑲𐑥" + +#: ../libegg/egg-datetime.c:524 +msgid "Select the time from a list" +msgstr "𐑕𐑩𐑤𐑧𐑒𐑑 𐑞 𐑑𐑲𐑥 𐑓𐑮𐑪𐑥 𐑩 𐑤𐑦𐑕𐑑" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:791 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:795 ../libegg/egg-datetime.c:1255 +#: ../libegg/egg-datetime.c:1259 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:797 ../libegg/egg-datetime.c:1256 +#: ../libegg/egg-datetime.c:1263 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#, c-format +#: ../libegg/egg-datetime.c:805 +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#, c-format +#: ../libegg/egg-datetime.c:808 +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#, c-format +#: ../libegg/egg-datetime.c:812 +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#, c-format +#: ../libegg/egg-datetime.c:815 +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#, c-format +#: ../libegg/egg-datetime.c:1171 +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#, c-format +#: ../libegg/egg-datetime.c:1236 +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#, c-format +#: ../libegg/eggdesktopfile.c:165 +msgid "File is not a valid .desktop file" +msgstr "𐑓𐑲𐑤 𐑦𐑟 𐑯𐑪𐑑 𐑩 𐑝𐑨𐑤𐑦𐑛 .desktop 𐑓𐑲𐑤" + +#, c-format +#: ../libegg/eggdesktopfile.c:188 +msgid "Unrecognized desktop file Version '%s'" +msgstr "𐑩𐑯𐑮𐑧𐑒𐑩𐑜𐑯𐑲𐑟𐑛 𐑛𐑧𐑕𐑒𐑑𐑪𐑐 𐑓𐑲𐑤 𐑝𐑻𐑠𐑩𐑯 '%s'" + +#, c-format +#: ../libegg/eggdesktopfile.c:968 +msgid "Starting %s" +msgstr "𐑕𐑑𐑸𐑑𐑦𐑙 %s" + +#, c-format +#: ../libegg/eggdesktopfile.c:1110 +msgid "Application does not accept documents on command line" +msgstr "𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯 𐑛𐑳𐑟 𐑯𐑪𐑑 𐑨𐑒𐑕𐑧𐑐𐑑 𐑛𐑪𐑒𐑿𐑥𐑩𐑯𐑑𐑕 𐑪𐑯 𐑒𐑩𐑥𐑭𐑯𐑛 𐑤𐑲𐑯" + +#, c-format +#: ../libegg/eggdesktopfile.c:1178 +msgid "Unrecognized launch option: %d" +msgstr "𐑩𐑯𐑮𐑧𐑒𐑩𐑜𐑯𐑲𐑟𐑛 𐑤𐑷𐑯𐑗 𐑪𐑐𐑖𐑩𐑯: %d" + +#, c-format +#, fuzzy +#: ../libegg/eggdesktopfile.c:1383 +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "𐑒𐑭𐑯𐑑 𐑐𐑭𐑕 𐑛𐑪𐑒𐑿𐑥𐑩𐑯𐑑 URIs 𐑑 𐑩 '𐑑𐑲𐑐=𐑤𐑦𐑙𐑒' 𐑛𐑧𐑕𐑒𐑑𐑪𐑐 𐑧𐑯𐑑𐑮𐑦" + +#, c-format +#, fuzzy +#: ../libegg/eggdesktopfile.c:1404 +msgid "Not a launchable item" +msgstr "𐑯𐑪𐑑 𐑩 launchable 𐑲𐑑𐑩𐑥" + +#: ../libegg/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "𐑛𐑦𐑕𐑱𐑚𐑩𐑤 𐑒𐑩𐑯𐑧𐑒𐑖𐑩𐑯 𐑑 𐑕𐑧𐑖𐑩𐑯 𐑥𐑨𐑯𐑩𐑡𐑼" + +#: ../libegg/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "𐑕𐑐𐑧𐑕𐑦𐑓𐑲 𐑓𐑲𐑤 𐑒𐑩𐑯𐑑𐑱𐑯𐑦𐑙 𐑕𐑱𐑝𐑛 𐑒𐑩𐑯𐑓𐑦𐑜𐑘𐑼𐑱𐑖𐑩𐑯" + +#: ../libegg/eggsmclient.c:228 +msgid "FILE" +msgstr "𐑓𐑲𐑤" + +#: ../libegg/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "𐑕𐑐𐑧𐑕𐑦𐑓𐑲 𐑕𐑧𐑖𐑩𐑯 𐑥𐑨𐑯𐑩𐑡𐑥𐑩𐑯𐑑 ID" + +#: ../libegg/eggsmclient.c:231 ../pgp/seahorse-pgp-key-properties.c:1314 +msgid "ID" +msgstr "ID" + +#: ../libegg/eggsmclient.c:252 +msgid "Session management options:" +msgstr "𐑕𐑧𐑖𐑩𐑯 𐑥𐑨𐑯𐑩𐑡𐑥𐑩𐑯𐑑 𐑪𐑐𐑖𐑩𐑯𐑟:" + +#: ../libegg/eggsmclient.c:253 +msgid "Show session management options" +msgstr "𐑖𐑴 𐑕𐑧𐑖𐑩𐑯 𐑥𐑨𐑯𐑩𐑡𐑥𐑩𐑯𐑑 𐑪𐑐𐑖𐑩𐑯𐑟" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "𐑨𐑛 𐑒𐑰 𐑕𐑻𐑝𐑼" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Host:" +msgstr "𐑣𐑴𐑕𐑑:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Key Server Type:" +msgstr "𐑒𐑰 𐑕𐑻𐑝𐑼 𐑑𐑲𐑐:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid "The port to access the server on." +msgstr "𐑞 𐑐𐑹𐑑 𐑑 𐑨𐑒𐑕𐑧𐑕 𐑞 𐑕𐑻𐑝𐑼 𐑪𐑯." + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "initial temporary item" +msgstr "𐑦𐑯𐑦𐑖𐑩𐑤 𐑑𐑧𐑥𐑐𐑼𐑼𐑦 𐑲𐑑𐑩𐑥" + +#: ../libseahorse/seahorse-notification.c:566 +#: ../libseahorse/seahorse-notification.c:594 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "𐑒𐑰 𐑦𐑥𐑐𐑹𐑑𐑩𐑛" +msgstr[1] "𐑒𐑰𐑟 𐑦𐑥𐑐𐑹𐑑𐑩𐑛" + +#, c-format +#: ../libseahorse/seahorse-notification.c:570 +#: ../libseahorse/seahorse-notification.c:593 +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "𐑦𐑥𐑐𐑹𐑑𐑩𐑛 %i 𐑒𐑰" +msgstr[1] "𐑦𐑥𐑐𐑹𐑑𐑩𐑛 %i 𐑒𐑰𐑟" + +#, c-format +#: ../libseahorse/seahorse-notification.c:572 +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "𐑦𐑥𐑐𐑹𐑑𐑩𐑛 𐑩 𐑒𐑰 𐑓𐑹" +msgstr[1] "𐑦𐑥𐑐𐑹𐑑𐑩𐑛 𐑒𐑰𐑟 𐑓𐑹" + +#: ../libseahorse/seahorse-notify.xml.h:1 +msgid "Notification Messages" +msgstr "𐑯𐑴𐑑𐑦𐑓𐑦𐑒𐑱𐑖𐑩𐑯 𐑥𐑧𐑕𐑦𐑡𐑩𐑟" + +#, fuzzy +#: ../libseahorse/seahorse-object.c:317 +msgid "Symmetric Key" +msgstr "Symmetric 𐑒𐑰" + +#: ../libseahorse/seahorse-object.c:320 +msgid "Public Key" +msgstr "𐑐𐑳𐑚𐑤𐑦𐑒 𐑒𐑰" + +#: ../libseahorse/seahorse-object.c:323 +msgid "Private Key" +msgstr "𐑐𐑮𐑲𐑝𐑩𐑑 𐑒𐑰" + +#: ../libseahorse/seahorse-object.c:326 +msgid "Credentials" +msgstr "𐑒𐑮𐑩𐑛𐑧𐑯𐑖𐑩𐑤𐑟" + +#. +#. * Translators: "This object is a means of storing items such as +#. * name, email address, etc. that make up one's digital identity. +#. +#: ../libseahorse/seahorse-object.c:333 +msgid "Identity" +msgstr "𐑲𐑛𐑧𐑯𐑑𐑦𐑑𐑦" + +#, fuzzy +#: ../libseahorse/seahorse-passphrase.c:196 +msgid "Passphrase" +msgstr "Passphrase" + +#: ../libseahorse/seahorse-passphrase.c:199 +#: ../ssh/seahorse-ssh-operation.c:480 +msgid "Password:" +msgstr "𐑐𐑭𐑕𐑢𐑼𐑛:" + +#: ../libseahorse/seahorse-passphrase.c:265 +msgid "Confirm:" +msgstr "𐑒𐑪𐑯𐑓𐑻𐑥:" + +#: ../libseahorse/seahorse-prefs.c:62 +msgid "Not a valid Key Server address." +msgstr "𐑯𐑪𐑑 𐑩 𐑝𐑨𐑤𐑦𐑛 𐑒𐑰 𐑕𐑻𐑝𐑼 𐑩𐑛𐑮𐑧𐑕." + +#, fuzzy +#: ../libseahorse/seahorse-prefs.c:63 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "𐑓𐑹 𐑣𐑧𐑤𐑐 𐑒𐑪𐑯𐑑𐑨𐑒𐑑 𐑿𐑼 𐑕𐑦𐑕𐑑𐑩𐑥 adminstrator 𐑹 𐑞 𐑩𐑛𐑥𐑦𐑯𐑦𐑕𐑑𐑮𐑱𐑑𐑼 𐑝 𐑞 𐑒𐑰 𐑕𐑻𐑝𐑼." + +#: ../libseahorse/seahorse-prefs.c:172 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:352 +msgid "Custom" +msgstr "𐑒𐑳𐑕𐑑𐑩𐑥" + +#: ../libseahorse/seahorse-prefs.c:419 +msgid "None: Don't publish keys" +msgstr "𐑯𐑳𐑯: 𐑛𐑴𐑯𐑑 𐑐𐑳𐑚𐑤𐑦𐑖 𐑒𐑰𐑟" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Automatically retrieve keys from _key servers" +msgstr "𐑷𐑑𐑩𐑥𐑨𐑑𐑦𐑒𐑤𐑦 𐑮𐑦𐑑𐑮𐑰𐑝 𐑒𐑰𐑟 𐑓𐑮𐑪𐑥 _𐑒𐑰 𐑕𐑻𐑝𐑼𐑟" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "𐑷𐑑𐑩𐑥𐑨𐑑𐑦𐑒𐑤𐑦 𐑕𐑦𐑙𐑒𐑮𐑩𐑯𐑲𐑟 _𐑥𐑪𐑛𐑦𐑓𐑲𐑛 𐑒𐑰𐑟 𐑢𐑦𐑞 𐑒𐑰 𐑕𐑻𐑝𐑼𐑟" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "Key Servers" +msgstr "𐑒𐑰 𐑕𐑻𐑝𐑼𐑟" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Key Sharing" +msgstr "𐑒𐑰 𐑖𐑺𐑦𐑙" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Preferences" +msgstr "𐑐𐑮𐑧𐑓𐑼𐑩𐑯𐑕𐑩𐑟" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've " +"collected. This means they can automatically encrypt things for you or those " +"you know, without you having to send them your key.\n\nNote: Your " +"personal keys will not be compromised." +msgstr "" +"𐑖𐑺𐑦𐑙 𐑿𐑼 𐑒𐑰𐑟 𐑩𐑤𐑬𐑟 𐑳𐑞𐑼 𐑐𐑰𐑐𐑩𐑤 𐑪𐑯 𐑿𐑼 𐑯𐑧𐑑𐑢𐑻𐑒 𐑑 𐑿𐑕 𐑞 𐑒𐑰𐑟 𐑿'𐑝 𐑒𐑩𐑤𐑧𐑒𐑑𐑦𐑛. 𐑞𐑦𐑕 𐑥𐑰𐑯𐑟 𐑞𐑱 " +"𐑒𐑨𐑯 𐑷𐑑𐑩𐑥𐑨𐑑𐑦𐑒𐑤𐑦 𐑦𐑯𐑒𐑮𐑦𐑐𐑑 𐑔𐑦𐑙𐑟 𐑓𐑹 𐑿 𐑹 𐑞𐑴𐑟 𐑿 𐑯𐑴, 𐑢𐑦𐑞𐑬𐑑 𐑿 𐑣𐑨𐑝𐑦𐑙 𐑑 𐑕𐑧𐑯𐑛 𐑞𐑧𐑥 𐑿𐑼 " +"𐑒𐑰.\n\n𐑯𐑴𐑑: 𐑿𐑼 𐑐𐑻𐑕𐑩𐑯𐑩𐑤 𐑒𐑰𐑟 𐑢𐑦𐑤 𐑯𐑪𐑑 𐑚𐑰 𐑒𐑭𐑥𐑐𐑮𐑩𐑥𐑲𐑟𐑛." + +#: ../libseahorse/seahorse-prefs.xml.h:9 +msgid "_Find keys via:" +msgstr "_𐑓𐑲𐑯𐑛 𐑒𐑰𐑟 𐑝𐑲𐑩:" + +#: ../libseahorse/seahorse-prefs.xml.h:10 +msgid "_Publish keys to:" +msgstr "_𐑐𐑳𐑚𐑤𐑦𐑖 𐑒𐑰𐑟 𐑑:" + +#: ../libseahorse/seahorse-prefs.xml.h:11 +msgid "_Share my keys with others on my network" +msgstr "_𐑖𐑺 𐑥𐑲 𐑒𐑰𐑟 𐑢𐑦𐑞 𐑳𐑞𐑼𐑟 𐑪𐑯 𐑥𐑲 𐑯𐑧𐑑𐑢𐑻𐑒" + +#: ../libseahorse/seahorse-progress.xml.h:1 +msgid "Progress Title" +msgstr "𐑐𐑮𐑩𐑜𐑮𐑧𐑕 𐑑𐑲𐑑𐑩𐑤" + +#: ../libseahorse/seahorse-unknown.c:67 +msgid "Unavailable" +msgstr "𐑩𐑯𐑩𐑝𐑱𐑤𐑩𐑚𐑩𐑤" + +#: ../libseahorse/seahorse-util.c:237 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-util.c:513 +msgid "Key Data" +msgstr "𐑒𐑰 𐑛𐑱𐑑𐑩" + +#: ../libseahorse/seahorse-util.c:515 +msgid "Multiple Keys" +msgstr "𐑥𐑳𐑤𐑑𐑦𐑐𐑩𐑤 𐑒𐑰𐑟" + +#: ../libseahorse/seahorse-util.c:771 +msgid "Couldn't run file-roller" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑮𐑳𐑯 𐑓𐑲𐑤-𐑮𐑴𐑤𐑼" + +#: ../libseahorse/seahorse-util.c:777 +msgid "Couldn't package files" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑐𐑨𐑒𐑦𐑡 𐑓𐑲𐑤𐑟" + +#: ../libseahorse/seahorse-util.c:778 +msgid "The file-roller process did not complete successfully" +msgstr "𐑞 𐑓𐑲𐑤-𐑮𐑴𐑤𐑼 𐑐𐑮𐑴𐑕𐑧𐑕 𐑛𐑦𐑛 𐑯𐑪𐑑 𐑒𐑩𐑥𐑐𐑤𐑰𐑑 𐑕𐑩𐑒𐑕𐑧𐑕𐑓𐑩𐑤𐑦" + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:954 +msgid "All key files" +msgstr "𐑷𐑤 𐑒𐑰 𐑓𐑲𐑤𐑟" + +#: ../libseahorse/seahorse-util.c:965 ../libseahorse/seahorse-util.c:1013 +#: ../pgp/seahorse-gpgme-photos.c:242 +msgid "All files" +msgstr "𐑷𐑤 𐑓𐑲𐑤𐑟" + +#: ../libseahorse/seahorse-util.c:1006 +msgid "Archive files" +msgstr "𐑸𐑒𐑲𐑝 𐑓𐑲𐑤𐑟" + +#: ../libseahorse/seahorse-util.c:1076 +msgid "" +"A file already exists with this name.\n\nDo you want to replace it " +"with a new file?" +msgstr "" +"𐑩 𐑓𐑲𐑤 𐑷𐑤𐑮𐑧𐑛𐑦 𐑧𐑒𐑟𐑦𐑕𐑑𐑕 𐑢𐑦𐑞 𐑞𐑦𐑕 𐑯𐑱𐑥.\n\n𐑛𐑵 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑮𐑦𐑐𐑤𐑱𐑕 𐑦𐑑 𐑢𐑦𐑞 𐑩 𐑯𐑿 " +"𐑓𐑲𐑤?" + +#: ../libseahorse/seahorse-util.c:1079 +msgid "_Replace" +msgstr "_𐑮𐑦𐑐𐑤𐑱𐑕" + +#: ../libseahorse/seahorse-validity.c:40 ../pgp/seahorse-gpgme-subkey.c:197 +#: ../pgp/seahorse-pgp-key-properties.c:1133 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Unknown" +msgstr "𐑳𐑯𐑴𐑯" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1139 +msgctxt "Validity" +msgid "Never" +msgstr "𐑯𐑧𐑝𐑼" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-key-properties.c:1146 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:33 +msgid "Marginal" +msgstr "𐑥𐑸𐑡𐑦𐑯𐑩𐑤" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-key-properties.c:1152 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +msgid "Full" +msgstr "𐑓𐑫𐑤" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-key-properties.c:1158 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Ultimate" +msgstr "𐑩𐑤𐑑𐑩𐑥𐑩𐑑" + +#: ../libseahorse/seahorse-validity.c:50 +#: ../pgp/seahorse-pgp-key-properties.c:1351 +msgid "Disabled" +msgstr "𐑛𐑦𐑕𐑱𐑚𐑩𐑤𐑛" + +#: ../libseahorse/seahorse-validity.c:52 +#: ../pgp/seahorse-pgp-key-properties.c:1347 +msgid "Revoked" +msgstr "𐑮𐑦𐑝𐑴𐑒𐑑" + +#, c-format +#: ../libseahorse/seahorse-widget.c:464 +msgid "Could not display help: %s" +msgstr "𐑒𐑫𐑛 𐑯𐑪𐑑 𐑛𐑩𐑕𐑐𐑤𐑱 𐑣𐑧𐑤𐑐: %s" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Expiration Date:" +msgstr "𐑧𐑒𐑕𐑐𐑻𐑱𐑖𐑩𐑯 𐑛𐑱𐑑:" + +#, fuzzy +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "Generate a new subkey" +msgstr "𐑡𐑧𐑯𐑼𐑱𐑑 𐑩 𐑯𐑿 subkey" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +msgid "If key never expires" +msgstr "𐑦𐑓 𐑒𐑰 𐑯𐑧𐑝𐑼 𐑦𐑒𐑕𐑐𐑲𐑻𐑟" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "𐑒𐑰 _𐑤𐑧𐑙𐑔:" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Key _Type:" +msgstr "𐑒𐑰 _𐑑𐑲𐑐:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "𐑤𐑧𐑙𐑔 𐑝 𐑒𐑰" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Never E_xpires" +msgstr "𐑯𐑧𐑝𐑼 _𐑦𐑒𐑕𐑐𐑲𐑻𐑟" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "𐑨𐑛 𐑿𐑟𐑼 ID" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Create the new user ID" +msgstr "𐑒𐑮𐑦𐑱𐑑 𐑞 𐑯𐑿 𐑿𐑟𐑼 ID" + +#: ../pgp/seahorse-add-uid.xml.h:3 ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Full _Name:" +msgstr "𐑓𐑫𐑤 _𐑯𐑱𐑥:" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Key Co_mment:" +msgstr "𐑒𐑰 _𐑒𐑳𐑥𐑥𐑩𐑯𐑑:" + +#: ../pgp/seahorse-add-uid.xml.h:5 +msgid "Must be at least 5 characters long" +msgstr "𐑥𐑳𐑕𐑑 𐑚𐑰 𐑨𐑑 𐑤𐑰𐑕𐑑 5 𐑒𐑸𐑩𐑒𐑑𐑼𐑟 𐑤𐑪𐑙" + +#: ../pgp/seahorse-add-uid.xml.h:6 +msgid "Optional comment describing key" +msgstr "𐑪𐑐𐑖𐑩𐑯𐑩𐑤 𐑒𐑳𐑥𐑥𐑩𐑯𐑑 𐑛𐑦𐑕𐑒𐑮𐑲𐑚𐑦𐑙 𐑒𐑰" + +#: ../pgp/seahorse-add-uid.xml.h:7 +msgid "Optional email address" +msgstr "𐑪𐑐𐑖𐑩𐑯𐑩𐑤 𐑰𐑥𐑱𐑤 𐑩𐑛𐑮𐑧𐑕" + +#: ../pgp/seahorse-add-uid.xml.h:8 ../pgp/seahorse-pgp-generate.xml.h:13 +msgid "_Email Address:" +msgstr "_𐑰𐑥𐑱𐑤 𐑩𐑛𐑮𐑧𐑕:" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "C_hange" +msgstr "_𐑗𐑱𐑯𐑡" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:4 +msgid "Revoke key" +msgstr "𐑮𐑦𐑝𐑴𐑒 𐑒𐑰" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "_Never expires" +msgstr "_𐑯𐑧𐑝𐑼 𐑦𐑒𐑕𐑐𐑲𐑻𐑟" + +#, fuzzy +#: ../pgp/seahorse-gpgme-add-subkey.c:147 +msgid "Couldn't add subkey" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑨𐑛 subkey" + +#, c-format +#, fuzzy +#: ../pgp/seahorse-gpgme-add-subkey.c:166 +msgid "Add subkey to %s" +msgstr "𐑨𐑛 subkey 𐑑 %s" + +#: ../pgp/seahorse-gpgme-add-subkey.c:182 ../pgp/seahorse-gpgme-generate.c:117 +msgid "DSA (sign only)" +msgstr "DSA (𐑕𐑲𐑯 𐑴𐑯𐑤𐑦)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:190 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (𐑦𐑯𐑒𐑮𐑦𐑐𐑑 𐑴𐑯𐑤𐑦)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:196 ../pgp/seahorse-gpgme-generate.c:118 +msgid "RSA (sign only)" +msgstr "RSA (𐑕𐑲𐑯 𐑴𐑯𐑤𐑦)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:202 +msgid "RSA (encrypt only)" +msgstr "RSA (𐑦𐑯𐑒𐑮𐑦𐑐𐑑 𐑴𐑯𐑤𐑦)" + +#: ../pgp/seahorse-gpgme-add-uid.c:85 +msgid "Couldn't add user id" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑨𐑛 𐑿𐑟𐑼 id" + +#, c-format +#: ../pgp/seahorse-gpgme-add-uid.c:107 +msgid "Add user ID to %s" +msgstr "𐑨𐑛 𐑿𐑟𐑼 ID 𐑑 %s" + +#, fuzzy +#: ../pgp/seahorse-gpgme.c:72 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Decryption 𐑓𐑱𐑤𐑛. 𐑿 𐑐𐑮𐑪𐑚𐑩𐑚𐑤𐑦 𐑛𐑵 𐑯𐑪𐑑 𐑣𐑨𐑝 𐑞 decryption 𐑒𐑰." + +#: ../pgp/seahorse-gpgme-expires.c:58 +msgid "Invalid expiry date" +msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑧𐑒𐑕𐑐𐑲𐑮𐑰 𐑛𐑱𐑑" + +#: ../pgp/seahorse-gpgme-expires.c:59 +msgid "The expiry date must be in the future" +msgstr "𐑞 𐑧𐑒𐑕𐑐𐑲𐑮𐑰 𐑛𐑱𐑑 𐑥𐑳𐑕𐑑 𐑚𐑰 𐑦𐑯 𐑞 𐑓𐑿𐑗𐑼" + +#: ../pgp/seahorse-gpgme-expires.c:72 +msgid "Couldn't change expiry date" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑗𐑱𐑯𐑡 𐑧𐑒𐑕𐑐𐑲𐑮𐑰 𐑛𐑱𐑑" + +#, c-format +#: ../pgp/seahorse-gpgme-expires.c:131 +msgid "Expiry: %s" +msgstr "𐑧𐑒𐑕𐑐𐑲𐑮𐑰: %s" + +#: ../pgp/seahorse-gpgme-generate.c:79 +msgid "PGP Key" +msgstr "PGP 𐑒𐑰" + +#: ../pgp/seahorse-gpgme-generate.c:80 +msgid "Used to encrypt email and files" +msgstr "𐑿𐑕𐑑 𐑑 𐑦𐑯𐑒𐑮𐑦𐑐𐑑 𐑰𐑥𐑱𐑤 𐑯 𐑓𐑲𐑤𐑟" + +#: ../pgp/seahorse-gpgme-generate.c:115 ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:116 +msgid "DSA Elgamal" +msgstr "DSA Elgamal" + +#: ../pgp/seahorse-gpgme-generate.c:134 +msgid "Couldn't generate PGP key" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑡𐑧𐑯𐑼𐑱𐑑 PGP 𐑒𐑰" + +#, fuzzy +#: ../pgp/seahorse-gpgme-generate.c:194 +msgid "Passphrase for New PGP Key" +msgstr "Passphrase 𐑓𐑹 𐑯𐑿 PGP 𐑒𐑰" + +#, fuzzy +#: ../pgp/seahorse-gpgme-generate.c:195 +msgid "Enter the passphrase for your new key twice." +msgstr "𐑧𐑯𐑑𐑼 𐑞 passphrase 𐑓𐑹 𐑿𐑼 𐑯𐑿 𐑒𐑰 𐑑𐑢𐑲𐑕." + +#: ../pgp/seahorse-gpgme-generate.c:204 +msgid "Couldn't generate key" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑡𐑧𐑯𐑼𐑱𐑑 𐑒𐑰" + +#: ../pgp/seahorse-gpgme-generate.c:206 +msgid "Generating key" +msgstr "𐑡𐑧𐑯𐑼𐑱𐑑𐑦𐑙 𐑒𐑰" + +#: ../pgp/seahorse-gpgme-key-op.c:301 +msgid "Wrong password" +msgstr "𐑮𐑪𐑙 𐑐𐑭𐑕𐑢𐑼𐑛" + +#: ../pgp/seahorse-gpgme-key-op.c:301 +msgid "" +"This was the third time you entered a wrong password. Please try again." +msgstr "𐑞𐑦𐑕 𐑢𐑪𐑟 𐑞 𐑔𐑻𐑛 𐑑𐑲𐑥 𐑿 𐑧𐑯𐑑𐑻𐑛 𐑩 𐑮𐑪𐑙 𐑐𐑭𐑕𐑢𐑼𐑛. 𐑐𐑤𐑰𐑟 𐑑𐑮𐑲 𐑩𐑜𐑱𐑯." + +#, c-format +#: ../pgp/seahorse-gpgme-photos.c:73 +msgid "" +"The photo is too large\nThe recommended size for a photo on " +"your key is %d x %d pixels." +msgstr "" +"𐑞 𐑓𐑴𐑑𐑴 𐑦𐑟 𐑑𐑵 𐑤𐑸𐑡\n𐑞 𐑮𐑧𐑒𐑩𐑥𐑧𐑯𐑛𐑩𐑛 𐑕𐑲𐑟 𐑓𐑹 𐑩 𐑓𐑴𐑑𐑴 𐑪𐑯 𐑿𐑼 𐑒𐑰 𐑦𐑟 %d " +"𐑧𐑒𐑕 %d 𐑐𐑦𐑒𐑕𐑩𐑤𐑟." + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "_𐑛𐑴𐑯𐑑 𐑮𐑰𐑕𐑲𐑟" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "_𐑮𐑰𐑕𐑲𐑟" + +#, c-format +#: ../pgp/seahorse-gpgme-photos.c:128 +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use a " +"JPEG image." +msgstr "" +"𐑞𐑦𐑕 𐑦𐑟 𐑯𐑪𐑑 𐑩 𐑦𐑥𐑦𐑡 𐑓𐑲𐑤, 𐑹 𐑩𐑯 𐑩𐑯𐑮𐑧𐑒𐑩𐑜𐑯𐑲𐑟𐑛 𐑒𐑲𐑯𐑛 𐑝 𐑦𐑥𐑦𐑡 𐑓𐑲𐑤. 𐑑𐑮𐑲 𐑑 𐑿𐑕 𐑩 JPEG 𐑦𐑥𐑦𐑡." + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "𐑷𐑤 𐑦𐑥𐑦𐑡 𐑓𐑲𐑤𐑟" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "𐑷𐑤 JPEG 𐑓𐑲𐑤𐑟" + +#: ../pgp/seahorse-gpgme-photos.c:261 +msgid "Choose Photo to Add to Key" +msgstr "𐑗𐑵𐑟 𐑓𐑴𐑑𐑴 𐑑 𐑨𐑛 𐑑 𐑒𐑰" + +#: ../pgp/seahorse-gpgme-photos.c:290 ../pgp/seahorse-gpgme-photos.c:294 +msgid "Couldn't add photo" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑨𐑛 𐑓𐑴𐑑𐑴" + +#: ../pgp/seahorse-gpgme-photos.c:291 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "𐑞 𐑓𐑲𐑤 𐑒𐑫𐑛 𐑯𐑪𐑑 𐑚𐑰 𐑤𐑴𐑛𐑩𐑛. 𐑦𐑑 𐑥𐑱 𐑚𐑰 𐑦𐑯 𐑩𐑯 𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑓𐑹𐑥𐑨𐑑" + +#: ../pgp/seahorse-gpgme-photos.c:320 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑮𐑦𐑥𐑵𐑝 𐑞 𐑒𐑳𐑮𐑩𐑯𐑑 𐑓𐑴𐑑𐑴 𐑓𐑮𐑪𐑥 𐑿𐑼 𐑒𐑰?" + +#: ../pgp/seahorse-gpgme-photos.c:333 +msgid "Couldn't delete photo" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑛𐑦𐑤𐑰𐑑 𐑓𐑴𐑑𐑴" + +#, fuzzy +#: ../pgp/seahorse-gpgme-revoke.c:70 +msgid "Couldn't revoke subkey" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑮𐑦𐑝𐑴𐑒 subkey" + +#, c-format +#: ../pgp/seahorse-gpgme-revoke.c:91 +msgid "Revoke: %s" +msgstr "𐑮𐑦𐑝𐑴𐑒: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:102 +msgid "No reason" +msgstr "𐑯𐑴 𐑮𐑰𐑟𐑩𐑯" + +#: ../pgp/seahorse-gpgme-revoke.c:103 +msgid "No reason for revoking key" +msgstr "𐑯𐑴 𐑮𐑰𐑟𐑩𐑯 𐑓𐑹 𐑮𐑦𐑝𐑴𐑒𐑦𐑙 𐑒𐑰" + +#: ../pgp/seahorse-gpgme-revoke.c:109 +msgid "Compromised" +msgstr "𐑒𐑭𐑥𐑐𐑮𐑩𐑥𐑲𐑟𐑛" + +#: ../pgp/seahorse-gpgme-revoke.c:110 +msgid "Key has been compromised" +msgstr "𐑒𐑰 𐑣𐑨𐑟 𐑚𐑰𐑯 𐑒𐑭𐑥𐑐𐑮𐑩𐑥𐑲𐑟𐑛" + +#: ../pgp/seahorse-gpgme-revoke.c:116 +msgid "Superseded" +msgstr "𐑕𐑵𐑐𐑻𐑕𐑰𐑛𐑩𐑛" + +#: ../pgp/seahorse-gpgme-revoke.c:117 +msgid "Key has been superseded" +msgstr "𐑒𐑰 𐑣𐑨𐑟 𐑚𐑰𐑯 𐑕𐑵𐑐𐑻𐑕𐑰𐑛𐑩𐑛" + +#: ../pgp/seahorse-gpgme-revoke.c:123 +msgid "Not Used" +msgstr "𐑯𐑪𐑑 𐑿𐑕𐑑" + +#: ../pgp/seahorse-gpgme-revoke.c:124 +msgid "Key is no longer used" +msgstr "𐑒𐑰 𐑦𐑟 𐑯𐑴 𐑤𐑪𐑙𐑜𐑼 𐑿𐑕𐑑" + +#, c-format +#, fuzzy +#: ../pgp/seahorse-gpgme-revoke.c:161 +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be undone! " +"Are you sure you want to continue?" +msgstr "" +"𐑿 𐑸 𐑩𐑚𐑬𐑑 𐑑 𐑨𐑛 %s 𐑨𐑟 𐑩 revoker 𐑓𐑹 %s. 𐑞𐑦𐑕 𐑪𐑐𐑼𐑱𐑖𐑩𐑯 𐑒𐑨𐑯𐑪𐑑 𐑚𐑰 𐑳𐑯𐑛𐑳𐑯! 𐑸 𐑿 𐑖𐑫𐑼 𐑿 " +"𐑢𐑪𐑯𐑑 𐑑 𐑒𐑩𐑯𐑑𐑦𐑯𐑿?" + +#, fuzzy +#: ../pgp/seahorse-gpgme-revoke.c:173 +msgid "Couldn't add revoker" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑨𐑛 revoker" + +#: ../pgp/seahorse-gpgme-sign.c:96 +msgid "Couldn't sign key" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑕𐑲𐑯 𐑒𐑰" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:149 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "𐑯𐑴 𐑒𐑰𐑟 𐑘𐑵𐑟𐑩𐑚𐑩𐑤 𐑓𐑹 𐑕𐑲𐑯𐑦𐑙" + +#: ../pgp/seahorse-gpgme-sign.c:150 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of this " +"key." +msgstr "𐑿 𐑣𐑨𐑝 𐑯𐑴 𐑐𐑻𐑕𐑩𐑯𐑩𐑤 PGP 𐑒𐑰𐑟 𐑞𐑨𐑑 𐑒𐑨𐑯 𐑚𐑰 𐑿𐑟𐑛 𐑑 𐑦𐑯𐑛𐑦𐑒𐑱𐑑 𐑿𐑼 𐑑𐑮𐑳𐑕𐑑 𐑝 𐑞𐑦𐑕 𐑒𐑰." + +#, c-format +#, fuzzy +#: ../pgp/seahorse-gpgme-source.c:99 +msgid "Wrong passphrase." +msgstr "𐑮𐑪𐑙 passphrase." + +#, c-format +#, fuzzy +#: ../pgp/seahorse-gpgme-source.c:103 +msgid "Enter new passphrase for '%s'" +msgstr "𐑧𐑯𐑑𐑼 𐑯𐑿 passphrase 𐑓𐑹 '%s'" + +#, c-format +#, fuzzy +#: ../pgp/seahorse-gpgme-source.c:105 +msgid "Enter passphrase for '%s'" +msgstr "𐑧𐑯𐑑𐑼 passphrase 𐑓𐑹 '%s'" + +#, fuzzy +#: ../pgp/seahorse-gpgme-source.c:108 +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Enter new passphrase" +msgstr "𐑧𐑯𐑑𐑼 𐑯𐑿 passphrase" + +#, fuzzy +#: ../pgp/seahorse-gpgme-source.c:110 +msgid "Enter passphrase" +msgstr "𐑧𐑯𐑑𐑼 passphrase" + +#. TODO: We can use the GPGME progress to make this more accurate +#, c-format +#: ../pgp/seahorse-gpgme-source.c:722 +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "𐑤𐑴𐑛𐑩𐑛 %d 𐑒𐑰" +msgstr[1] "𐑤𐑴𐑛𐑩𐑛 %d 𐑒𐑰𐑟" + +#: ../pgp/seahorse-gpgme-source.c:777 +msgid "Loading Keys..." +msgstr "𐑤𐑴𐑛𐑦𐑙 𐑒𐑰𐑟..." + +#: ../pgp/seahorse-gpgme-source.c:820 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑒𐑰 𐑛𐑱𐑑𐑩 (𐑥𐑦𐑕𐑦𐑙 UID𐑟). 𐑞𐑦𐑕 𐑥𐑱 𐑚𐑰 𐑛𐑿 𐑑 𐑩 𐑒𐑩𐑥𐑐𐑿𐑑𐑼 𐑢𐑦𐑞 𐑩 𐑛𐑱𐑑 𐑕𐑧𐑑 𐑦𐑯 𐑞 " +"𐑓𐑿𐑗𐑼 𐑹 𐑩 𐑥𐑦𐑕𐑦𐑙 𐑕𐑧𐑤𐑓-𐑕𐑦𐑜𐑯𐑩𐑗𐑼." + +#: ../pgp/seahorse-gpgme-source.c:910 ../src/seahorse-key-manager.c:538 +msgid "Importing Keys" +msgstr "𐑦𐑥𐑐𐑹𐑑𐑦𐑙 𐑒𐑰𐑟" + +#: ../pgp/seahorse-gpgme-source.c:946 +msgid "Exporting Keys" +msgstr "𐑧𐑒𐑕𐑐𐑹𐑑𐑦𐑙 𐑒𐑰𐑟" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "ElGamal" + +#, c-format +#: ../pgp/seahorse-hkp-source.c:387 +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "𐑕𐑻𐑗 𐑢𐑪𐑟 𐑯𐑪𐑑 𐑕𐑐𐑩𐑕𐑦𐑓𐑦𐑒 𐑦𐑯𐑳𐑓. 𐑕𐑻𐑝𐑼 '%s' 𐑓𐑬𐑯𐑛 𐑑𐑵 𐑥𐑧𐑯𐑦 𐑒𐑰𐑟." + +#, c-format +#: ../pgp/seahorse-hkp-source.c:389 +msgid "Couldn't communicate with server '%s': %s" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑒𐑩𐑥𐑿𐑯𐑦𐑒𐑱𐑑 𐑢𐑦𐑞 𐑕𐑻𐑝𐑼 '%s': %s" + +#: ../pgp/seahorse-hkp-source.c:671 +msgid "Searching for keys..." +msgstr "𐑕𐑻𐑗𐑦𐑙 𐑓𐑹 𐑒𐑰𐑟..." + +#: ../pgp/seahorse-hkp-source.c:759 +msgid "Uploading keys..." +msgstr "𐑳𐑐𐑤𐑴𐑛𐑦𐑙 𐑒𐑰𐑟..." + +#: ../pgp/seahorse-hkp-source.c:857 +msgid "Retrieving keys..." +msgstr "𐑮𐑦𐑑𐑮𐑰𐑝𐑦𐑙 𐑒𐑰𐑟..." + +#, c-format +#: ../pgp/seahorse-hkp-source.c:987 +msgid "Searching for keys on: %s" +msgstr "𐑕𐑻𐑗𐑦𐑙 𐑓𐑹 𐑒𐑰𐑟 𐑪𐑯: %s" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#, c-format +#: ../pgp/seahorse-hkp-source.c:1072 ../pgp/seahorse-hkp-source.c:1154 +#: ../pgp/seahorse-ldap-source.c:668 +msgid "Connecting to: %s" +msgstr "𐑒𐑩𐑯𐑧𐑒𐑑𐑦𐑙 𐑑: %s" + +#: ../pgp/seahorse-hkp-source.c:1184 +msgid "HTTP Key Server" +msgstr "HTTP 𐑒𐑰 𐑕𐑻𐑝𐑼" + +#, c-format +#: ../pgp/seahorse-ldap-source.c:459 +msgid "Couldn't communicate with '%s': %s" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑒𐑩𐑥𐑿𐑯𐑦𐑒𐑱𐑑 𐑢𐑦𐑞 '%s': %s" + +#, c-format +#: ../pgp/seahorse-ldap-source.c:641 +msgid "Couldn't resolve address: %s" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑮𐑦𐑟𐑪𐑤𐑝 𐑩𐑛𐑮𐑧𐑕: %s" + +#, c-format +#: ../pgp/seahorse-ldap-source.c:719 +msgid "Resolving server address: %s" +msgstr "𐑮𐑦𐑟𐑪𐑤𐑝𐑦𐑙 𐑕𐑻𐑝𐑼 𐑩𐑛𐑮𐑧𐑕: %s" + +#, c-format +#: ../pgp/seahorse-ldap-source.c:955 +msgid "Searching for keys containing '%s'..." +msgstr "𐑕𐑻𐑗𐑦𐑙 𐑓𐑹 𐑒𐑰𐑟 𐑒𐑩𐑯𐑑𐑱𐑯𐑦𐑙 '%s'..." + +#, c-format +#: ../pgp/seahorse-ldap-source.c:983 +msgid "Searching for key id '%s'..." +msgstr "𐑕𐑻𐑗𐑦𐑙 𐑓𐑹 𐑒𐑰 𐑦𐑛 '%s'..." + +#: ../pgp/seahorse-ldap-source.c:1089 +msgid "Retrieving remote keys..." +msgstr "𐑮𐑦𐑑𐑮𐑰𐑝𐑦𐑙 𐑮𐑦𐑥𐑴𐑑 𐑒𐑰𐑟..." + +#: ../pgp/seahorse-ldap-source.c:1221 +msgid "Sending keys to key server..." +msgstr "𐑕𐑧𐑯𐑛𐑦𐑙 𐑒𐑰𐑟 𐑑 𐑒𐑰 𐑕𐑻𐑝𐑼..." + +#: ../pgp/seahorse-ldap-source.c:1423 +msgid "LDAP Key Server" +msgstr "LDAP 𐑒𐑰 𐑕𐑻𐑝𐑼" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "_Sign Key..." +msgstr "_𐑕𐑲𐑯 𐑒𐑰..." + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "Sign public key" +msgstr "𐑕𐑲𐑯 𐑐𐑳𐑚𐑤𐑦𐑒 𐑒𐑰" + +#, c-format +#: ../pgp/seahorse-pgp-commands.c:171 +msgid "Are you sure you want to permanently delete %s?" +msgstr "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑐𐑻𐑥𐑩𐑯𐑩𐑯𐑑𐑤𐑦 𐑛𐑦𐑤𐑰𐑑 %s?" + +#, c-format +#: ../pgp/seahorse-pgp-commands.c:176 +msgid "Are you sure you want to permanently delete %d keys and identities?" +msgstr "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑐𐑻𐑥𐑩𐑯𐑩𐑯𐑑𐑤𐑦 𐑛𐑦𐑤𐑰𐑑 %d 𐑒𐑰𐑟 𐑯 𐑲𐑛𐑧𐑯𐑑𐑦𐑑𐑦𐑟?" + +#, c-format +#: ../pgp/seahorse-pgp-commands.c:178 +msgid "Are you sure you want to permanently delete %d keys?" +msgstr "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑐𐑻𐑥𐑩𐑯𐑩𐑯𐑑𐑤𐑦 𐑛𐑦𐑤𐑰𐑑 %d 𐑒𐑰𐑟?" + +#, c-format +#: ../pgp/seahorse-pgp-commands.c:180 +msgid "Are you sure you want to permanently delete %d identities?" +msgstr "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑐𐑻𐑥𐑩𐑯𐑩𐑯𐑑𐑤𐑦 𐑛𐑦𐑤𐑰𐑑 %d 𐑲𐑛𐑧𐑯𐑑𐑦𐑑𐑦𐑟?" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "_Advanced key options" +msgstr "_𐑩𐑛𐑝𐑭𐑯𐑕𐑑 𐑒𐑰 𐑪𐑐𐑖𐑩𐑯𐑟" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "𐑩 PGP 𐑒𐑰 𐑩𐑤𐑬𐑟 𐑿 𐑑 𐑦𐑯𐑒𐑮𐑦𐑐𐑑 𐑰𐑥𐑱𐑤 𐑹 𐑓𐑲𐑤𐑟 𐑑 𐑳𐑞𐑼 𐑐𐑰𐑐𐑩𐑤." + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "Algorithms here" +msgstr "𐑨𐑤𐑜𐑻𐑦𐑞𐑩𐑥𐑟 𐑣𐑽" + +#: ../pgp/seahorse-pgp-generate.xml.h:4 +msgid "C_reate" +msgstr "_𐑒𐑮𐑦𐑱𐑑" + +#: ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "E_xpiration Date:" +msgstr "_𐑧𐑒𐑕𐑐𐑻𐑱𐑖𐑩𐑯 𐑛𐑱𐑑:" + +#: ../pgp/seahorse-pgp-generate.xml.h:6 ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "Encryption _Type:" +msgstr "𐑦𐑯𐑒𐑮𐑦𐑐𐑖𐑩𐑯 _𐑑𐑲𐑐:" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Generate a new key" +msgstr "𐑡𐑧𐑯𐑼𐑱𐑑 𐑩 𐑯𐑿 𐑒𐑰" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Key _Strength (bits):" +msgstr "𐑒𐑰 _𐑕𐑑𐑮𐑧𐑙𐑔 (𐑚𐑦𐑑𐑕):" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +msgid "Ne_ver Expires" +msgstr "_𐑯𐑧𐑝𐑼 𐑦𐑒𐑕𐑐𐑲𐑻𐑟" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "New PGP Key" +msgstr "𐑯𐑿 PGP 𐑒𐑰" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +msgid "_Comment:" +msgstr "_𐑒𐑳𐑥𐑥𐑩𐑯𐑑:" + +#: ../pgp/seahorse-pgp-key.c:201 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Private PGP Key" +msgstr "𐑐𐑮𐑲𐑝𐑩𐑑 PGP 𐑒𐑰" + +#: ../pgp/seahorse-pgp-key.c:204 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "Public PGP Key" +msgstr "𐑐𐑳𐑚𐑤𐑦𐑒 PGP 𐑒𐑰" + +#: ../pgp/seahorse-pgp-key.c:583 ../pgp/seahorse-pgp-key-properties.c:1349 +msgid "Expired" +msgstr "𐑦𐑒𐑕𐑐𐑲𐑮𐑛" + +#: ../pgp/seahorse-pgp-key-properties.c:224 +msgid "Couldn't change primary user ID" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑗𐑱𐑯𐑡 𐑐𐑮𐑲𐑥𐑩𐑮𐑦 𐑿𐑟𐑼 𐑦𐑛" + +#, c-format +#: ../pgp/seahorse-pgp-key-properties.c:241 +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑐𐑻𐑥𐑩𐑯𐑩𐑯𐑑𐑤𐑦 𐑛𐑦𐑤𐑰𐑑 𐑞 '%s' 𐑿𐑟𐑼 ID?" + +#: ../pgp/seahorse-pgp-key-properties.c:251 +msgid "Couldn't delete user ID" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑛𐑦𐑤𐑰𐑑 𐑿𐑟𐑼 𐑦𐑛" + +#: ../pgp/seahorse-pgp-key-properties.c:333 +#: ../pgp/seahorse-pgp-key-properties.c:1464 +msgid "[Unknown]" +msgstr "[𐑳𐑯𐑴𐑯]" + +#: ../pgp/seahorse-pgp-key-properties.c:426 +#: ../pgp/seahorse-pgp-key-properties.c:1742 +msgid "Name/Email" +msgstr "𐑯𐑱𐑥/𐑰𐑥𐑱𐑤" + +#: ../pgp/seahorse-pgp-key-properties.c:431 +msgid "Signature ID" +msgstr "𐑕𐑦𐑜𐑯𐑩𐑗𐑼 ID" + +#: ../pgp/seahorse-pgp-key-properties.c:552 +msgid "Couldn't change primary photo" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑗𐑱𐑯𐑡 𐑐𐑮𐑲𐑥𐑩𐑮𐑦 𐑓𐑴𐑑𐑴" + +#: ../pgp/seahorse-pgp-key-properties.c:775 +msgid "(unknown)" +msgstr "(𐑳𐑯𐑴𐑯)" + +#, c-format +#: ../pgp/seahorse-pgp-key-properties.c:778 +msgid "This key expired on: %s" +msgstr "𐑞𐑦𐑕 𐑒𐑰 𐑦𐑒𐑕𐑐𐑲𐑮𐑛 𐑪𐑯: %s" + +#, c-format +#, fuzzy +#: ../pgp/seahorse-pgp-key-properties.c:946 +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑐𐑻𐑥𐑩𐑯𐑩𐑯𐑑𐑤𐑦 𐑛𐑦𐑤𐑰𐑑 subkey %d 𐑝 %s?" + +#, fuzzy +#: ../pgp/seahorse-pgp-key-properties.c:955 +msgid "Couldn't delete subkey" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑛𐑦𐑤𐑰𐑑 subkey" + +#: ../pgp/seahorse-pgp-key-properties.c:991 +#: ../pgp/seahorse-pgp-key-properties.c:1427 +msgid "Unable to change trust" +msgstr "𐑳𐑯𐑱𐑚𐑩𐑤 𐑑 𐑗𐑱𐑯𐑡 𐑑𐑮𐑳𐑕𐑑" + +#, c-format +#: ../pgp/seahorse-pgp-key-properties.c:1006 ../src/seahorse-viewer.c:316 +#: ../ssh/seahorse-ssh-key-properties.c:168 +msgid "Couldn't export key to \"%s\"" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑧𐑒𐑕𐑐𐑹𐑑 𐑒𐑰 𐑑 \"%s\"" + +#: ../pgp/seahorse-pgp-key-properties.c:1035 +#: ../ssh/seahorse-ssh-key-properties.c:193 +msgid "Export Complete Key" +msgstr "𐑧𐑒𐑕𐑐𐑹𐑑 𐑒𐑩𐑥𐑐𐑤𐑰𐑑 𐑒𐑰" + +#: ../pgp/seahorse-pgp-key-properties.c:1060 +#: ../ssh/seahorse-ssh-key-properties.c:215 +msgid "Couldn't export key." +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑧𐑒𐑕𐑐𐑹𐑑 𐑒𐑰." + +#: ../pgp/seahorse-pgp-key-properties.c:1267 +#: ../pgp/seahorse-pgp-key-properties.c:1356 +msgctxt "Expires" +msgid "Never" +msgstr "𐑯𐑧𐑝𐑼" + +#. The key type column +#: ../pgp/seahorse-pgp-key-properties.c:1317 +#: ../src/seahorse-key-manager-store.c:860 +msgid "Type" +msgstr "𐑑𐑲𐑐" + +#: ../pgp/seahorse-pgp-key-properties.c:1320 +msgid "Created" +msgstr "𐑒𐑮𐑦𐑱𐑑𐑩𐑛" + +#: ../pgp/seahorse-pgp-key-properties.c:1323 +msgid "Expires" +msgstr "𐑦𐑒𐑕𐑐𐑲𐑻𐑟" + +#: ../pgp/seahorse-pgp-key-properties.c:1326 +msgid "Status" +msgstr "𐑕𐑑𐑱𐑑𐑫𐑕" + +#: ../pgp/seahorse-pgp-key-properties.c:1329 +msgid "Strength" +msgstr "𐑕𐑑𐑮𐑧𐑙𐑔" + +#: ../pgp/seahorse-pgp-key-properties.c:1353 +msgid "Good" +msgstr "𐑜𐑫𐑛" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +msgid "Actions" +msgstr "𐑨𐑒𐑖𐑩𐑯𐑟" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgid "Comment:" +msgstr "𐑒𐑳𐑥𐑥𐑩𐑯𐑑:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgid "Dates" +msgstr "𐑛𐑱𐑑𐑕" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgid "Email:" +msgstr "𐑰𐑥𐑱𐑤:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgid "Fingerprint" +msgstr "𐑓𐑦𐑙𐑜𐑼𐑐𐑮𐑦𐑯𐑑" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +msgid "Key ID:" +msgstr "𐑒𐑰 ID:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +msgid "Key Names and Signatures" +msgstr "𐑒𐑰 𐑯𐑱𐑥𐑟 𐑯 𐑕𐑦𐑜𐑯𐑩𐑗𐑼𐑟" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +#: ../ssh/seahorse-ssh-key-properties.xml.h:5 +msgid "Name:" +msgstr "𐑯𐑱𐑥:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "Photo " +msgstr "𐑓𐑴𐑑𐑴 " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Technical Details" +msgstr "𐑑𐑧𐑒𐑯𐑦𐑒𐑩𐑤 𐑛𐑰𐑑𐑱𐑤𐑟" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:10 +msgid "This key has been revoked" +msgstr "𐑞𐑦𐑕 𐑒𐑰 𐑣𐑨𐑟 𐑚𐑰𐑯 𐑮𐑦𐑝𐑴𐑒𐑑" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "This key has expired" +msgstr "𐑞𐑦𐑕 𐑒𐑰 𐑣𐑨𐑟 𐑦𐑒𐑕𐑐𐑲𐑮𐑛" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:12 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Type:" +msgstr "𐑑𐑲𐑐:" + +#. To translators: This is the noun not the verb. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:15 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Use:" +msgstr "𐑿𐑟:" + +#, fuzzy +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "_Subkeys" +msgstr "<𐑚𐑰>_Subkeys" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +msgid "Add" +msgstr "𐑨𐑛" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:18 +msgid "Add a photo to this key" +msgstr "𐑨𐑛 𐑩 𐑓𐑴𐑑𐑴 𐑑 𐑞𐑦𐑕 𐑒𐑰" + +#, fuzzy +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +msgid "Change _Passphrase" +msgstr "𐑗𐑱𐑯𐑡 _Passphrase" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +msgid "Decrypt files and email sent to you." +msgstr "𐑛𐑦𐑒𐑮𐑦𐑐𐑑 𐑓𐑲𐑤𐑟 𐑯 𐑰𐑥𐑱𐑤 𐑕𐑧𐑯𐑑 𐑑 𐑿." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:22 +msgid "Delete" +msgstr "𐑛𐑦𐑤𐑰𐑑" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +msgid "Expire" +msgstr "𐑦𐑒𐑕𐑐𐑲𐑮" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:22 +msgid "Expires:" +msgstr "𐑦𐑒𐑕𐑐𐑲𐑻𐑟:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Export" +msgstr "𐑧𐑒𐑕𐑐𐑹𐑑" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +msgid "Go to next photo" +msgstr "𐑜𐑴 𐑑 𐑯𐑧𐑒𐑕𐑑 𐑓𐑴𐑑𐑴" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Go to previous photo" +msgstr "𐑜𐑴 𐑑 𐑐𐑮𐑰𐑝𐑦𐑩𐑕 𐑓𐑴𐑑𐑴" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +msgid "Key ID:" +msgstr "𐑒𐑰 ID:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Make this photo the primary photo" +msgstr "𐑥𐑱𐑒 𐑞𐑦𐑕 𐑓𐑴𐑑𐑴 𐑞 𐑐𐑮𐑲𐑥𐑼𐑦 𐑓𐑴𐑑𐑴" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "Names and Signatures" +msgstr "𐑯𐑱𐑥𐑟 𐑯 𐑕𐑦𐑜𐑯𐑩𐑗𐑼𐑟" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +msgid "Never" +msgstr "𐑯𐑧𐑝𐑼" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:36 +msgid "Override Owner _Trust:" +msgstr "𐑴𐑝𐑼𐑮𐑲𐑛 𐑴𐑯𐑼 _𐑑𐑮𐑳𐑕𐑑:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "Owner" +msgstr "𐑴𐑯𐑼" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +msgid "Primary" +msgstr "𐑐𐑮𐑲𐑥𐑼𐑦" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Remove this photo from this key" +msgstr "𐑮𐑦𐑥𐑵𐑝 𐑞𐑦𐑕 𐑓𐑴𐑑𐑴 𐑓𐑮𐑪𐑥 𐑞𐑦𐑕 𐑒𐑰" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +msgid "Revoke" +msgstr "𐑮𐑦𐑝𐑴𐑒" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +msgid "Sign" +msgstr "𐑕𐑲𐑯" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "Strength:" +msgstr "𐑕𐑑𐑮𐑧𐑙𐑔:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "𐑞 𐑴𐑯𐑼 𐑝 𐑞 𐑒𐑰 𐑮𐑦𐑝𐑴𐑒𐑑 𐑞 𐑒𐑰. 𐑦𐑑 𐑒𐑨𐑯 𐑯𐑴 𐑤𐑪𐑙𐑜𐑼 𐑚𐑰 𐑿𐑟𐑛." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "_Add Name" +msgstr "_𐑨𐑛 𐑯𐑱𐑥" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "_Export Complete Key:" +msgstr "_𐑧𐑒𐑕𐑐𐑹𐑑 𐑒𐑩𐑥𐑐𐑤𐑰𐑑 𐑒𐑰:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgid "Dates:" +msgstr "𐑛𐑱𐑑𐑕:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Fingerprint:" +msgstr "𐑓𐑦𐑙𐑜𐑼𐑐𐑮𐑦𐑯𐑑:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgid "Indicate Trust:" +msgstr "𐑦𐑯𐑛𐑦𐑒𐑱𐑑 𐑑𐑮𐑳𐑕𐑑:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Your trust of this key" +msgstr "𐑿𐑼 𐑑𐑮𐑳𐑕𐑑 𐑝 𐑞𐑦𐑕 𐑒𐑰" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:16 +msgid "_Other Names:" +msgstr "_𐑳𐑞𐑼 𐑯𐑱𐑥𐑟:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgid "_People who have signed this key:" +msgstr "_𐑐𐑰𐑐𐑩𐑤 𐑣𐑵 𐑣𐑨𐑝 𐑕𐑲𐑯𐑛 𐑞𐑦𐑕 𐑒𐑰:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Encrypt files and email to the key's owner " +msgstr "𐑦𐑯𐑒𐑮𐑦𐑐𐑑 𐑓𐑲𐑤𐑟 𐑯 𐑰𐑥𐑱𐑤 𐑑 𐑞 𐑒𐑰'𐑕 𐑴𐑯𐑼 " + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "Fully" +msgstr "𐑓𐑫𐑤𐑦" + +#, no-c-format +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "I trust signatures from '%s' on other keys" +msgstr "𐑲 𐑑𐑮𐑳𐑕𐑑 𐑕𐑦𐑜𐑯𐑩𐑗𐑼𐑟 𐑓𐑮𐑪𐑥 '%s' 𐑪𐑯 𐑳𐑞𐑼 𐑒𐑰𐑟" + +#, no-c-format +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:27 +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "𐑦𐑓 𐑿 𐑚𐑦𐑤𐑰𐑝 𐑞𐑨𐑑 𐑞 𐑐𐑻𐑕𐑩𐑯 𐑞𐑨𐑑 𐑴𐑯𐑟 𐑞𐑦𐑕 𐑒𐑰 𐑦𐑟 '%s', 𐑕𐑲𐑯 𐑞𐑦𐑕 𐑒𐑰:" + +#, no-c-format +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:29 +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "𐑦𐑓 𐑿 𐑯𐑴 𐑤𐑪𐑙𐑜𐑼 𐑑𐑮𐑳𐑕𐑑 𐑞𐑨𐑑 '%s' 𐑴𐑯𐑟 𐑞𐑦𐑕 𐑒𐑰, 𐑮𐑦𐑝𐑴𐑒 𐑿𐑼 𐑕𐑦𐑜𐑯𐑩𐑗𐑼:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:32 +msgid "Marginally" +msgstr "𐑥𐑸𐑡𐑦𐑯𐑩𐑤𐑦" + +#. Trust column +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../src/seahorse-key-manager-store.c:854 +msgid "Trust" +msgstr "𐑑𐑮𐑳𐑕𐑑" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +msgid "Ultimately" +msgstr "𐑩𐑤𐑑𐑩𐑥𐑩𐑑𐑤𐑰" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "You _Trust the Owner:" +msgstr "𐑿 _𐑑𐑮𐑳𐑕𐑑 𐑞 𐑴𐑯𐑼:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Your trust is manually specified on the Details tab." +msgstr "𐑿𐑼 𐑑𐑮𐑳𐑕𐑑 𐑦𐑟 𐑥𐑨𐑯𐑘𐑫𐑩𐑤𐑦 𐑕𐑐𐑧𐑕𐑦𐑓𐑲𐑛 𐑪𐑯 𐑞 𐑛𐑰𐑑𐑱𐑤𐑟 𐑑𐑨𐑚." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "_Only display the signatures of people I trust" +msgstr "_𐑴𐑯𐑤𐑦 𐑛𐑩𐑕𐑐𐑤𐑱 𐑞 𐑕𐑦𐑜𐑯𐑩𐑗𐑼𐑟 𐑝 𐑐𐑰𐑐𐑩𐑤 𐑲 𐑑𐑮𐑳𐑕𐑑" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "_Revoke Signature" +msgstr "_𐑮𐑦𐑝𐑴𐑒 𐑕𐑦𐑜𐑯𐑩𐑗𐑼" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Sign this Key" +msgstr "_𐑕𐑲𐑯 𐑞𐑦𐑕 𐑒𐑰" + +#, c-format +#, fuzzy +#: ../pgp/seahorse-pgp-subkey.c:371 +msgid "Subkey %d of %s" +msgstr "Subkey %d 𐑝 %s" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Optional description of revocation" +msgstr "𐑪𐑐𐑖𐑩𐑯𐑩𐑤 𐑛𐑦𐑕𐑒𐑮𐑦𐑐𐑖𐑩𐑯 𐑝 𐑮𐑧𐑝𐑩𐑒𐑱𐑖𐑩𐑯" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "Re_voke" +msgstr "_𐑮𐑦𐑝𐑴𐑒" + +#: ../pgp/seahorse-revoke.xml.h:3 +msgid "Reason for revoking the key" +msgstr "𐑮𐑰𐑟𐑩𐑯 𐑓𐑹 𐑮𐑦𐑝𐑴𐑒𐑦𐑙 𐑞 𐑒𐑰" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "_Reason:" +msgstr "_𐑮𐑰𐑟𐑩𐑯:" + +#: ../pgp/seahorse-signer.c:62 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "𐑿 𐑣𐑨𐑝 𐑯𐑴 𐑐𐑻𐑕𐑩𐑯𐑩𐑤 PGP 𐑒𐑰𐑟 𐑞𐑨𐑑 𐑒𐑨𐑯 𐑚𐑰 𐑿𐑟𐑛 𐑑 𐑕𐑲𐑯 𐑩 𐑛𐑪𐑒𐑿𐑥𐑩𐑯𐑑 𐑹 𐑥𐑧𐑕𐑦𐑡." + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "How carefully have you checked this key?" +msgstr "𐑣𐑬 𐑒𐑺𐑓𐑩𐑤𐑦 𐑣𐑨𐑝 𐑿 𐑗𐑧𐑒𐑑 𐑞𐑦𐑕 𐑒𐑰?" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "How others will see this signature:" +msgstr "𐑣𐑬 𐑳𐑞𐑼𐑟 𐑢𐑦𐑤 𐑕𐑰 𐑞𐑦𐑕 𐑕𐑦𐑜𐑯𐑩𐑗𐑼:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Sign key as:" +msgstr "𐑕𐑲𐑯 𐑒𐑰 𐑨𐑟:" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the key " +"fingerprint to the owner over the phone. " +msgstr "" +"𐑒𐑨𐑠𐑵𐑩𐑤𐑦: 𐑥𐑰𐑯𐑟 𐑿 𐑣𐑨𐑝 𐑛𐑳𐑯 𐑩 𐑒𐑨𐑠𐑵𐑩𐑤 𐑝𐑧𐑮𐑩𐑓𐑩𐑒𐑱𐑖𐑩𐑯 𐑞𐑨𐑑 𐑞 𐑒𐑰 𐑦𐑟 𐑴𐑯𐑛 𐑚𐑲 𐑞 " +"𐑐𐑻𐑕𐑩𐑯 𐑣𐑵 𐑒𐑤𐑱𐑥𐑟 𐑑 𐑴𐑯 𐑦𐑑. 𐑓𐑹 𐑦𐑜𐑟𐑭𐑥𐑐𐑩𐑤, 𐑿 𐑒𐑫𐑛 𐑮𐑰𐑛 𐑞 𐑒𐑰 𐑓𐑦𐑙𐑜𐑼𐑐𐑮𐑦𐑯𐑑 𐑑 𐑞 𐑴𐑯𐑼 𐑴𐑝𐑼 𐑞 " +"𐑓𐑴𐑯. " + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "Key Name" +msgstr "𐑒𐑰 𐑯𐑱𐑥" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"𐑯𐑪𐑑 𐑨𐑑 𐑷𐑤: 𐑥𐑰𐑯𐑟 𐑿 𐑚𐑦𐑤𐑰𐑝 𐑞 𐑒𐑰 𐑦𐑟 𐑴𐑯𐑛 𐑚𐑲 𐑞 𐑐𐑻𐑕𐑩𐑯 𐑣𐑵 𐑒𐑤𐑱𐑥𐑟 𐑑 𐑴𐑯 𐑦𐑑, 𐑚𐑳𐑑 𐑿 " +"𐑒𐑫𐑛 𐑯𐑪𐑑 𐑹 𐑛𐑦𐑛 𐑯𐑪𐑑 𐑝𐑧𐑮𐑦𐑓𐑲 𐑞𐑦𐑕 𐑑 𐑚𐑰 𐑩 𐑓𐑨𐑒𐑑." + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"𐑝𐑧𐑮𐑦 𐑒𐑺𐑓𐑩𐑤𐑦: 𐑕𐑩𐑤𐑧𐑒𐑑 𐑞𐑦𐑕 𐑴𐑯𐑤𐑦 𐑦𐑓 𐑿 𐑸 𐑨𐑚𐑕𐑴𐑤𐑵𐑑𐑤𐑦 𐑖𐑫𐑼 𐑞𐑨𐑑 𐑞𐑦𐑕 𐑒𐑰 𐑦𐑟 " +"𐑡𐑧𐑯𐑘𐑫𐑦𐑯." + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "𐑚𐑲 𐑕𐑲𐑯𐑦𐑙 𐑿 𐑦𐑯𐑛𐑦𐑒𐑱𐑑 𐑿𐑼 𐑑𐑮𐑳𐑕𐑑 𐑞𐑨𐑑 𐑞𐑦𐑕 𐑒𐑰 𐑚𐑦𐑤𐑪𐑙𐑟 𐑑:" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "I can _revoke this signature at a later date." +msgstr "𐑲 𐑒𐑨𐑯 _𐑮𐑦𐑝𐑴𐑒 𐑞𐑦𐑕 𐑕𐑦𐑜𐑯𐑩𐑗𐑼 𐑨𐑑 𐑩 𐑤𐑱𐑑𐑼 𐑛𐑱𐑑." + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "Sign Key" +msgstr "𐑕𐑲𐑯 𐑒𐑰" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"𐑿 𐑒𐑫𐑛 𐑿𐑕 𐑩 𐑣𐑸𐑛 𐑑 𐑓𐑪𐑮𐑡 𐑓𐑴𐑑𐑴 𐑲𐑛𐑧𐑯𐑑𐑦𐑓𐑦𐑒𐑱𐑖𐑩𐑯 (𐑕𐑳𐑗 𐑨𐑟 𐑩 𐑐𐑭𐑕𐑐𐑹𐑑) 𐑑 𐑐𐑻𐑕𐑩𐑯𐑩𐑤𐑦 𐑗𐑧𐑒 𐑞𐑨𐑑 " +"𐑞 𐑯𐑱𐑥 𐑪𐑯 𐑞 𐑒𐑰 𐑦𐑟 𐑒𐑼𐑧𐑒𐑑. 𐑿 𐑖𐑫𐑛 𐑣𐑨𐑝 𐑷𐑤𐑕𐑴 𐑿𐑕𐑑 𐑰𐑥𐑱𐑤 𐑑 𐑗𐑧𐑒 𐑞𐑨𐑑 𐑞 𐑰𐑥𐑱𐑤 𐑩𐑛𐑮𐑧𐑕 𐑚𐑦𐑤𐑪𐑙𐑟 " +"𐑑 𐑞 𐑴𐑯𐑼." + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "_Casually" +msgstr "_𐑒𐑨𐑠𐑵𐑩𐑤𐑦" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Not at all" +msgstr "_𐑯𐑪𐑑 𐑨𐑑 𐑷𐑤" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "_Others may not see this signature" +msgstr "_𐑳𐑞𐑼𐑟 𐑥𐑱 𐑯𐑪𐑑 𐑕𐑰 𐑞𐑦𐑕 𐑕𐑦𐑜𐑯𐑩𐑗𐑼" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "_Sign" +msgstr "_𐑕𐑲𐑯" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "_𐑕𐑲𐑯𐑻:" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Very Carefully" +msgstr "_𐑝𐑧𐑮𐑦 𐑒𐑺𐑓𐑩𐑤𐑦" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "_𐑕𐑲𐑯 𐑥𐑧𐑕𐑦𐑡 𐑢𐑦𐑞 𐑒𐑰:" + +#: ../pkcs11/seahorse-pkcs11-certificate.c:107 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:68 +msgid "Certificate" +msgstr "𐑕𐑩𐑑𐑦𐑓𐑦𐑒𐑩𐑑" + +#, c-format +#: ../pkcs11/seahorse-pkcs11-commands.c:108 +msgid "Are you sure you want to delete the certificate '%s'?" +msgstr "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑛𐑦𐑤𐑰𐑑 𐑞 𐑕𐑩𐑑𐑦𐑓𐑦𐑒𐑩𐑑 '%s'?" + +#, c-format +#: ../pkcs11/seahorse-pkcs11-commands.c:111 +msgid "Are you sure you want to delete %d certificate?" +msgid_plural "Are you sure you want to delete %d certificates?" +msgstr[0] "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑛𐑦𐑤𐑰𐑑 %d 𐑕𐑩𐑑𐑦𐑓𐑦𐑒𐑩𐑑?" +msgstr[1] "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑛𐑦𐑤𐑰𐑑 %d 𐑕𐑩𐑑𐑦𐑓𐑦𐑒𐑩𐑑𐑕?" + +#, fuzzy +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "𐑗𐑱𐑯𐑡 Passphrase" + +#, fuzzy +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Con_firm Passphrase:" +msgstr "_𐑒𐑪𐑯𐑓𐑻𐑥 Passphrase:" + +#, fuzzy +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "Confirm new passphrase" +msgstr "𐑒𐑪𐑯𐑓𐑻𐑥 𐑯𐑿 passphrase" + +#, fuzzy +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "New _Passphrase:" +msgstr "𐑯𐑿 _Passphrase:" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "𐑥𐑨𐑯𐑦𐑡 𐑿𐑼 𐑐𐑭𐑕𐑢𐑼𐑛𐑟 𐑯 𐑦𐑯𐑒𐑮𐑦𐑐𐑖𐑩𐑯 𐑒𐑰𐑟" + +#: ../src/seahorse.desktop.in.in.h:2 ../src/seahorse-key-manager.c:857 +msgid "Passwords and Encryption Keys" +msgstr "𐑐𐑭𐑕𐑢𐑼𐑛𐑟 𐑯 𐑦𐑯𐑒𐑮𐑦𐑐𐑖𐑩𐑯 𐑒𐑰𐑟" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "_𐑕𐑩𐑤𐑧𐑒𐑑 𐑞 𐑑𐑲𐑐 𐑝 𐑲𐑑𐑩𐑥 𐑑 𐑒𐑮𐑦𐑱𐑑:" + +#: ../src/seahorse-generate-select.xml.h:2 +msgid "C_ontinue" +msgstr "_𐑒𐑩𐑯𐑑𐑦𐑯𐑿" + +#: ../src/seahorse-generate-select.xml.h:3 +msgid "Create New ..." +msgstr "𐑒𐑮𐑦𐑱𐑑 𐑯𐑿 ..." + +#, c-format +#: ../src/seahorse-key-manager.c:233 ../src/seahorse-keyserver-results.c:108 +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "𐑕𐑩𐑤𐑧𐑒𐑑𐑩𐑛 %d 𐑒𐑰" +msgstr[1] "𐑕𐑩𐑤𐑧𐑒𐑑𐑩𐑛 %d 𐑒𐑰𐑟" + +#: ../src/seahorse-key-manager.c:404 ../src/seahorse-key-manager.c:464 +#: ../src/seahorse-key-manager.c:527 ../src/seahorse-viewer.c:484 +msgid "Couldn't import keys" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑦𐑥𐑐𐑹𐑑 𐑒𐑰𐑟" + +#: ../src/seahorse-key-manager.c:409 ../src/seahorse-viewer.c:489 +msgid "Imported keys" +msgstr "𐑦𐑥𐑐𐑹𐑑𐑩𐑛 𐑒𐑰𐑟" + +#: ../src/seahorse-key-manager.c:458 +msgid "Importing keys" +msgstr "𐑦𐑥𐑐𐑹𐑑𐑦𐑙 𐑒𐑰𐑟" + +#: ../src/seahorse-key-manager.c:481 ../ssh/seahorse-ssh-operation.c:1017 +msgid "Import Key" +msgstr "𐑦𐑥𐑐𐑹𐑑 𐑒𐑰" + +#: ../src/seahorse-key-manager.c:527 +msgid "Unrecognized key type, or invalid data format" +msgstr "𐑩𐑯𐑮𐑧𐑒𐑩𐑜𐑯𐑲𐑟𐑛 𐑒𐑰 𐑑𐑲𐑐, 𐑹 𐑦𐑯𐑝𐑨𐑤𐑦𐑛 𐑛𐑱𐑑𐑩 𐑓𐑹𐑥𐑨𐑑" + +#: ../src/seahorse-key-manager.c:725 ../src/seahorse-keyserver-results.c:207 +msgid "_Remote" +msgstr "_𐑮𐑦𐑥𐑴𐑑" + +#: ../src/seahorse-key-manager.c:727 +msgid "Close this program" +msgstr "𐑒𐑤𐑴𐑕 𐑞𐑦𐑕 𐑐𐑮𐑴𐑜𐑮𐑨𐑥" + +#: ../src/seahorse-key-manager.c:728 +msgid "_New..." +msgstr "_𐑯𐑿..." + +#: ../src/seahorse-key-manager.c:729 +msgid "Create a new key or item" +msgstr "𐑒𐑮𐑦𐑱𐑑 𐑩 𐑯𐑿 𐑒𐑰 𐑹 𐑲𐑑𐑩𐑥" + +#: ../src/seahorse-key-manager.c:730 +msgid "_Import..." +msgstr "_𐑦𐑥𐑐𐑹𐑑..." + +#: ../src/seahorse-key-manager.c:731 +msgid "Import from a file" +msgstr "𐑦𐑥𐑐𐑹𐑑 𐑓𐑮𐑪𐑥 𐑩 𐑓𐑲𐑤" + +#: ../src/seahorse-key-manager.c:733 +msgid "Import from the clipboard" +msgstr "𐑦𐑥𐑐𐑹𐑑 𐑓𐑮𐑪𐑥 𐑞 𐑒𐑤𐑦𐑐𐑚𐑹𐑛" + +#: ../src/seahorse-key-manager.c:738 ../src/seahorse-keyserver-results.c:217 +msgid "_Find Remote Keys..." +msgstr "_𐑓𐑲𐑯𐑛 𐑮𐑦𐑥𐑴𐑑 𐑒𐑰𐑟..." + +#: ../src/seahorse-key-manager.c:739 ../src/seahorse-keyserver-results.c:218 +msgid "Search for keys on a key server" +msgstr "𐑕𐑻𐑗 𐑓𐑹 𐑒𐑰𐑟 𐑪𐑯 𐑩 𐑒𐑰 𐑕𐑻𐑝𐑼" + +#: ../src/seahorse-key-manager.c:740 +msgid "_Sync and Publish Keys..." +msgstr "_𐑕𐑦𐑙𐑒 𐑯 𐑐𐑳𐑚𐑤𐑦𐑖 𐑒𐑰𐑟..." + +#: ../src/seahorse-key-manager.c:741 +msgid "Publish and/or synchronize your keys with those online." +msgstr "𐑐𐑳𐑚𐑤𐑦𐑖 𐑯/𐑹 𐑕𐑦𐑙𐑒𐑮𐑩𐑯𐑲𐑟 𐑿𐑼 𐑒𐑰𐑟 𐑢𐑦𐑞 𐑞𐑴𐑟 𐑪𐑯𐑤𐑲𐑯." + +#: ../src/seahorse-key-manager.c:746 +msgid "T_ypes" +msgstr "_𐑑𐑲𐑐𐑕" + +#: ../src/seahorse-key-manager.c:746 +msgid "Show type column" +msgstr "𐑖𐑴 𐑑𐑲𐑐 𐑒𐑪𐑤𐑩𐑥" + +#: ../src/seahorse-key-manager.c:748 +msgid "_Expiry" +msgstr "_𐑧𐑒𐑕𐑐𐑲𐑮𐑰" + +#: ../src/seahorse-key-manager.c:748 +msgid "Show expiry column" +msgstr "𐑖𐑴 𐑧𐑒𐑕𐑐𐑲𐑮𐑰 𐑒𐑪𐑤𐑩𐑥" + +#: ../src/seahorse-key-manager.c:750 +msgid "_Trust" +msgstr "_𐑑𐑮𐑳𐑕𐑑" + +#: ../src/seahorse-key-manager.c:750 +msgid "Show owner trust column" +msgstr "𐑖𐑴 𐑴𐑯𐑼 𐑑𐑮𐑳𐑕𐑑 𐑒𐑪𐑤𐑩𐑥" + +#: ../src/seahorse-key-manager.c:752 +msgid "_Validity" +msgstr "_𐑝𐑩𐑤𐑦𐑛𐑩𐑑𐑰" + +#: ../src/seahorse-key-manager.c:752 +msgid "Show validity column" +msgstr "𐑖𐑴 𐑝𐑩𐑤𐑦𐑛𐑩𐑑𐑰 𐑒𐑪𐑤𐑩𐑥" + +#: ../src/seahorse-key-manager.c:926 +msgid "Filter:" +msgstr "𐑓𐑦𐑤𐑑𐑼:" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "𐑓𐑻𐑕𐑑 𐑑𐑲𐑥 𐑪𐑐𐑖𐑩𐑯𐑟:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "𐑡𐑧𐑯𐑼𐑱𐑑 𐑩 𐑯𐑿 𐑒𐑰 𐑝 𐑿𐑼 𐑴𐑯: " + +#: ../src/seahorse-key-manager.xml.h:3 +msgid "Import existing keys from a file:" +msgstr "𐑦𐑥𐑐𐑹𐑑 𐑧𐑒𐑟𐑦𐑕𐑑𐑦𐑙 𐑒𐑰𐑟 𐑓𐑮𐑪𐑥 𐑩 𐑓𐑲𐑤:" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "My _Personal Keys" +msgstr "𐑥𐑲 _𐑐𐑻𐑕𐑩𐑯𐑩𐑤 𐑒𐑰𐑟" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "Other _Keys" +msgstr "𐑳𐑞𐑼 _𐑒𐑰𐑟" + +#: ../src/seahorse-key-manager.xml.h:6 +msgid "To get started with encryption you will need keys." +msgstr "𐑑 𐑜𐑧𐑑 𐑕𐑑𐑸𐑑𐑩𐑛 𐑢𐑦𐑞 𐑦𐑯𐑒𐑮𐑦𐑐𐑖𐑩𐑯 𐑿 𐑢𐑦𐑤 𐑯𐑰𐑛 𐑒𐑰𐑟." + +#: ../src/seahorse-key-manager.xml.h:7 ../src/seahorse-viewer.c:548 +msgid "_Import" +msgstr "_𐑦𐑥𐑐𐑹𐑑" + +#: ../src/seahorse-key-manager.xml.h:8 +msgid "_Passwords" +msgstr "_𐑐𐑭𐑕𐑢𐑼𐑛𐑟" + +#: ../src/seahorse-key-manager-store.c:649 ../src/seahorse-viewer.c:282 +msgid "Couldn't export keys" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑧𐑒𐑕𐑐𐑹𐑑 𐑒𐑰𐑟" + +#: ../src/seahorse-key-manager-store.c:847 +msgid "Validity" +msgstr "𐑝𐑩𐑤𐑦𐑛𐑩𐑑𐑰" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:866 +msgid "Expiration Date" +msgstr "𐑧𐑒𐑕𐑐𐑻𐑱𐑖𐑩𐑯 𐑛𐑱𐑑" + +#: ../src/seahorse-keyserver-results.c:209 +msgid "Close this window" +msgstr "𐑒𐑤𐑴𐑟 𐑞𐑦𐑕 𐑢𐑦𐑯𐑛𐑴" + +#: ../src/seahorse-keyserver-results.c:210 +msgid "_Expand All" +msgstr "_𐑦𐑒𐑕𐑐𐑨𐑯𐑛 𐑷𐑤" + +#: ../src/seahorse-keyserver-results.c:211 +msgid "Expand all listings" +msgstr "𐑦𐑒𐑕𐑐𐑨𐑯𐑛 𐑷𐑤 𐑤𐑦𐑕𐑑𐑦𐑙𐑟" + +#: ../src/seahorse-keyserver-results.c:212 +msgid "_Collapse All" +msgstr "_𐑒𐑩𐑤𐑨𐑐𐑕 𐑷𐑤" + +#: ../src/seahorse-keyserver-results.c:213 +msgid "Collapse all listings" +msgstr "𐑒𐑩𐑤𐑨𐑐𐑕 𐑷𐑤 𐑤𐑦𐑕𐑑𐑦𐑙𐑟" + +#: ../src/seahorse-keyserver-results.c:275 +msgid "Remote Keys" +msgstr "𐑮𐑦𐑥𐑴𐑑 𐑒𐑰𐑟" + +#, c-format +#: ../src/seahorse-keyserver-results.c:277 +msgid "Remote Keys Containing '%s'" +msgstr "𐑮𐑦𐑥𐑴𐑑 𐑒𐑰𐑟 𐑒𐑩𐑯𐑑𐑱𐑯𐑦𐑙 '%s'" + +#: ../src/seahorse-keyserver-search.xml.h:1 +msgid "Key Servers:" +msgstr "𐑒𐑰 𐑕𐑻𐑝𐑼𐑟:" + +#: ../src/seahorse-keyserver-search.xml.h:2 +msgid "Shared Keys Near Me:" +msgstr "𐑖𐑺𐑛 𐑒𐑰𐑟 𐑯𐑽 𐑥𐑰:" + +#: ../src/seahorse-keyserver-search.xml.h:3 +msgid "Find Remote Keys" +msgstr "𐑓𐑲𐑯𐑛 𐑮𐑦𐑥𐑴𐑑 𐑒𐑰𐑟" + +#: ../src/seahorse-keyserver-search.xml.h:4 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"𐑞𐑦𐑕 𐑢𐑦𐑤 𐑓𐑲𐑯𐑛 𐑒𐑰𐑟 𐑓𐑹 𐑳𐑞𐑼𐑟 𐑪𐑯 𐑞 ·𐑦𐑯𐑑𐑼𐑯𐑧𐑑. 𐑞𐑰𐑟 𐑒𐑰𐑟 𐑒𐑨𐑯 𐑞𐑧𐑯 𐑚𐑰 𐑦𐑥𐑐𐑹𐑑𐑩𐑛 𐑦𐑯𐑑𐑫 𐑿𐑼 " +"𐑤𐑴𐑒𐑩𐑤 𐑒𐑰 𐑮𐑦𐑙." + +#: ../src/seahorse-keyserver-search.xml.h:5 +msgid "Where to search:" +msgstr "𐑢𐑺 𐑑 𐑕𐑻𐑗:" + +#: ../src/seahorse-keyserver-search.xml.h:6 +msgid "_Search" +msgstr "_𐑕𐑻𐑗" + +#: ../src/seahorse-keyserver-search.xml.h:7 +msgid "_Search for keys containing: " +msgstr "_𐑕𐑻𐑗 𐑓𐑹 𐑒𐑰𐑟 𐑒𐑩𐑯𐑑𐑱𐑯𐑦𐑙: " + +#: ../src/seahorse-keyserver-sync.c:45 +msgid "Couldn't publish keys to server" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑐𐑳𐑚𐑤𐑦𐑖 𐑒𐑰𐑟 𐑑 𐑕𐑻𐑝𐑼" + +#, c-format +#, fuzzy +#: ../src/seahorse-keyserver-sync.c:61 +msgid "Couldn't retrieve keys from server: %s" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑮𐑦𐑑𐑮𐑰𐑝 𐑒𐑰𐑟 𐑓𐑮𐑪𐑥 𐑕𐑻𐑝𐑼: %s" + +#, c-format +#: ../src/seahorse-keyserver-sync.c:155 +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d 𐑒𐑰 𐑦𐑟 𐑕𐑩𐑤𐑧𐑒𐑑𐑩𐑛 𐑓𐑹 𐑕𐑦𐑙𐑒𐑮𐑩𐑯𐑲𐑟𐑦𐑙" +msgstr[1] "%d 𐑒𐑰𐑟 𐑸 𐑕𐑩𐑤𐑧𐑒𐑑𐑩𐑛 𐑓𐑹 𐑕𐑦𐑙𐑒𐑮𐑩𐑯𐑲𐑟𐑦𐑙" + +#: ../src/seahorse-keyserver-sync.c:216 +msgid "Synchronizing keys" +msgstr "𐑕𐑦𐑙𐑒𐑮𐑩𐑯𐑲𐑟𐑦𐑙 𐑒𐑰𐑟" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:248 +msgid "Synchronizing keys..." +msgstr "𐑕𐑦𐑙𐑒𐑮𐑩𐑯𐑲𐑟𐑦𐑙 𐑒𐑰𐑟..." + +#: ../src/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "𐑕𐑦𐑙𐑒 𐑒𐑰𐑟" + +#: ../src/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received their " +"keys." +msgstr "" +"𐑞𐑦𐑕 𐑢𐑦𐑤 𐑐𐑳𐑚𐑤𐑦𐑖 𐑞 𐑒𐑰𐑟 𐑦𐑯 𐑿𐑼 𐑒𐑰 𐑮𐑦𐑙 𐑕𐑴 𐑞𐑱'𐑮𐑰 𐑩𐑝𐑱𐑤𐑩𐑚𐑩𐑤 𐑓𐑹 𐑳𐑞𐑼𐑟 𐑑 𐑿𐑕. 𐑿'𐑤 𐑷𐑤𐑕𐑴 " +"𐑜𐑧𐑑 𐑧𐑯𐑦 𐑗𐑱𐑯𐑡𐑩𐑟 𐑳𐑞𐑼𐑟 𐑣𐑨𐑝 𐑥𐑱𐑛 𐑕𐑦𐑯𐑕 𐑿 𐑮𐑦𐑕𐑰𐑝𐑛 𐑞𐑺 𐑒𐑰𐑟." + +#: ../src/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"𐑞𐑦𐑕 𐑢𐑦𐑤 𐑮𐑦𐑑𐑮𐑰𐑝 𐑧𐑯𐑦 𐑗𐑱𐑯𐑡𐑩𐑟 𐑳𐑞𐑼𐑟 𐑣𐑨𐑝 𐑥𐑱𐑛 𐑕𐑦𐑯𐑕 𐑿 𐑮𐑦𐑕𐑰𐑝𐑛 𐑞𐑺 𐑒𐑰𐑟. 𐑯𐑴 𐑒𐑰 𐑕𐑻𐑝𐑼 𐑣𐑨𐑟 " +"𐑚𐑰𐑯 𐑗𐑴𐑟𐑩𐑯 𐑓𐑹 𐑐𐑳𐑚𐑤𐑦𐑖𐑦𐑙, 𐑕𐑴 𐑿𐑼 𐑒𐑰𐑟 𐑢𐑦𐑤 𐑯𐑪𐑑 𐑚𐑰 𐑥𐑱𐑛 𐑩𐑝𐑱𐑤𐑩𐑚𐑩𐑤 𐑑 𐑳𐑞𐑼𐑟." + +#: ../src/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "_𐑒𐑰 𐑕𐑻𐑝𐑼𐑟" + +#: ../src/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "_𐑕𐑦𐑙𐑒" + +#: ../src/seahorse-main.c:62 +msgid "Version of this application" +msgstr "𐑝𐑻𐑠𐑩𐑯 𐑝 𐑞𐑦𐑕 𐑩𐑐𐑤𐑦𐑒𐑱𐑕𐑩𐑯" + +#: ../src/seahorse-main.c:78 ../src/seahorse-viewer.c:170 +msgid "Encryption Key Manager" +msgstr "𐑦𐑯𐑒𐑮𐑦𐑐𐑖𐑩𐑯 𐑒𐑰 𐑥𐑨𐑯𐑩𐑡𐑼" + +#: ../src/seahorse-viewer.c:141 +msgid "Contributions:" +msgstr "𐑒𐑪𐑯𐑑𐑮𐑦𐑚𐑿𐑖𐑩𐑯𐑟:" + +#: ../src/seahorse-viewer.c:172 +msgid "translator-credits" +msgstr "·𐑑𐑪𐑥𐑩𐑕 ·𐑔𐑻𐑥𐑩𐑯" + +#, fuzzy +#: ../src/seahorse-viewer.c:175 +msgid "Seahorse Project Homepage" +msgstr "Seahorse 𐑐𐑮𐑩𐑡𐑧𐑒𐑑 Homepage" + +#. Top menu items +#: ../src/seahorse-viewer.c:194 +msgid "_File" +msgstr "_𐑓𐑲𐑤" + +#: ../src/seahorse-viewer.c:195 +msgid "_Edit" +msgstr "_𐑧𐑛𐑦𐑑" + +#: ../src/seahorse-viewer.c:196 +msgid "_View" +msgstr "_𐑝𐑿" + +#: ../src/seahorse-viewer.c:197 +msgid "_Help" +msgstr "_𐑣𐑧𐑤𐑐" + +#: ../src/seahorse-viewer.c:199 +msgid "Prefere_nces" +msgstr "_𐑐𐑮𐑧𐑓𐑼𐑩𐑯𐑕𐑩𐑟" + +#: ../src/seahorse-viewer.c:200 +msgid "Change preferences for this program" +msgstr "𐑗𐑱𐑯𐑡 𐑐𐑮𐑧𐑓𐑼𐑩𐑯𐑕𐑩𐑟 𐑓𐑹 𐑞𐑦𐑕 𐑐𐑮𐑴𐑜𐑮𐑨𐑥" + +#: ../src/seahorse-viewer.c:203 +msgid "About this program" +msgstr "𐑩𐑚𐑬𐑑 𐑞𐑦𐑕 𐑐𐑮𐑴𐑜𐑮𐑨𐑥" + +#: ../src/seahorse-viewer.c:204 +msgid "_Contents" +msgstr "_𐑒𐑪𐑯𐑑𐑩𐑯𐑑𐑕" + +#, fuzzy +#: ../src/seahorse-viewer.c:205 +msgid "Show Seahorse help" +msgstr "𐑖𐑴 Seahorse 𐑣𐑧𐑤𐑐" + +#: ../src/seahorse-viewer.c:302 +msgid "Export public key" +msgstr "𐑧𐑒𐑕𐑐𐑹𐑑 𐑐𐑳𐑚𐑤𐑦𐑒 𐑒𐑰" + +#: ../src/seahorse-viewer.c:322 +msgid "Exporting keys" +msgstr "𐑧𐑒𐑕𐑐𐑹𐑑𐑦𐑙 𐑒𐑰𐑟" + +#: ../src/seahorse-viewer.c:347 +msgid "Couldn't retrieve data from key server" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑮𐑦𐑑𐑮𐑰𐑝 𐑛𐑱𐑑𐑩 𐑓𐑮𐑪𐑥 𐑒𐑰 𐑕𐑻𐑝𐑼" + +#. Translators: "Copied" is a verb (used as a status indicator), not an adjective for the word "keys" +#: ../src/seahorse-viewer.c:366 +msgid "Copied keys" +msgstr "𐑒𐑪𐑐𐑦𐑛 𐑒𐑰𐑟" + +#: ../src/seahorse-viewer.c:386 +msgid "Retrieving keys" +msgstr "𐑮𐑦𐑑𐑮𐑰𐑝𐑦𐑙 𐑒𐑰𐑟" + +#: ../src/seahorse-viewer.c:401 +msgid "Couldn't delete." +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑛𐑦𐑤𐑰𐑑." + +#: ../src/seahorse-viewer.c:435 +msgid "Deleting..." +msgstr "𐑛𐑦𐑤𐑰𐑑𐑦𐑙..." + +#, c-format +#: ../src/seahorse-viewer.c:461 +msgid "%s is a private key. Are you sure you want to proceed?" +msgstr "%s 𐑦𐑟 𐑩 𐑐𐑮𐑲𐑝𐑩𐑑 𐑒𐑰. 𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑐𐑮𐑩𐑕𐑰𐑛?" + +#: ../src/seahorse-viewer.c:509 +msgid "Importing keys from key servers" +msgstr "𐑦𐑥𐑐𐑹𐑑𐑦𐑙 𐑒𐑰𐑟 𐑓𐑮𐑪𐑥 𐑒𐑰 𐑕𐑻𐑝𐑼𐑟" + +#: ../src/seahorse-viewer.c:535 +msgid "Show properties" +msgstr "𐑖𐑴 𐑐𐑮𐑪𐑐𐑼𐑑𐑦𐑟" + +#: ../src/seahorse-viewer.c:536 +msgctxt "This text refers to deleting an item from its type's backing store." +msgid "_Delete" +msgstr "_𐑛𐑦𐑤𐑰𐑑" + +#: ../src/seahorse-viewer.c:537 +msgid "Delete selected items" +msgstr "𐑛𐑦𐑤𐑰𐑑 𐑕𐑩𐑤𐑧𐑒𐑑𐑩𐑛 𐑲𐑑𐑩𐑥𐑟" + +#: ../src/seahorse-viewer.c:541 +msgid "E_xport..." +msgstr "_𐑧𐑒𐑕𐑐𐑹𐑑..." + +#: ../src/seahorse-viewer.c:542 +msgid "Export to a file" +msgstr "𐑧𐑒𐑕𐑐𐑹𐑑 𐑑 𐑩 𐑓𐑲𐑤" + +#: ../src/seahorse-viewer.c:544 +msgid "Copy to the clipboard" +msgstr "𐑒𐑪𐑐𐑦 𐑑 𐑞 𐑒𐑤𐑦𐑐𐑚𐑹𐑛" + +#: ../src/seahorse-viewer.c:549 +msgid "Import selected keys to local key ring" +msgstr "𐑦𐑥𐑐𐑹𐑑 𐑕𐑩𐑤𐑧𐑒𐑑𐑩𐑛 𐑒𐑰𐑟 𐑑 𐑤𐑴𐑒𐑩𐑤 𐑒𐑰 𐑮𐑦𐑙" + +#, fuzzy +#: ../ssh/seahorse-ssh-askpass.c:99 +msgid "Enter your Secure Shell passphrase:" +msgstr "𐑧𐑯𐑑𐑼 𐑿𐑼 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 passphrase:" + +#: ../ssh/seahorse-ssh-commands.c:85 +msgid "Configure Key for _Secure Shell..." +msgstr "𐑒𐑩𐑯𐑓𐑦𐑜𐑘𐑼 𐑒𐑰 𐑓𐑹 _𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤..." + +#: ../ssh/seahorse-ssh-commands.c:86 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using that " +"key." +msgstr "𐑕𐑧𐑯𐑛 𐑐𐑳𐑚𐑤𐑦𐑒 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰 𐑑 𐑩𐑯𐑳𐑞𐑼 𐑥𐑩𐑖𐑰𐑯, 𐑯 𐑦𐑯𐑱𐑚𐑩𐑤 𐑤𐑪𐑜𐑦𐑯𐑟 𐑿𐑟𐑦𐑙 𐑞𐑨𐑑 𐑒𐑰." + +#, c-format +#: ../ssh/seahorse-ssh-commands.c:115 +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑛𐑦𐑤𐑰𐑑 𐑞 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰 '%s'?" + +#, c-format +#: ../ssh/seahorse-ssh-commands.c:118 +msgid "Are you sure you want to delete %d secure shell keys?" +msgstr "𐑸 𐑿 𐑖𐑫𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑛𐑦𐑤𐑰𐑑 %d 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰𐑟?" + +#: ../ssh/seahorse-ssh-generate.c:59 ../ssh/seahorse-ssh-key.c:91 +#: ../ssh/seahorse-ssh-key.c:95 ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Secure Shell Key" +msgstr "𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰" + +#: ../ssh/seahorse-ssh-generate.c:60 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "𐑿𐑕𐑑 𐑑 𐑨𐑒𐑕𐑧𐑕 𐑳𐑞𐑼 𐑒𐑩𐑥𐑐𐑿𐑑𐑼𐑟 (e.g.: 𐑝𐑲𐑩 𐑩 𐑑𐑻𐑥𐑦𐑯𐑩𐑤)" + +#: ../ssh/seahorse-ssh-generate.c:90 +msgid "Couldn't generate Secure Shell key" +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑡𐑧𐑯𐑼𐑱𐑑 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰" + +#: ../ssh/seahorse-ssh-generate.c:205 +msgid "Creating Secure Shell Key" +msgstr "𐑒𐑮𐑦𐑱𐑑𐑦𐑙 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "" +"Use your email address, and any other reminder you need about what this " +"key is for." +msgstr "" +"𐑿𐑟 𐑿𐑼 𐑰𐑥𐑱𐑤 𐑩𐑛𐑮𐑧𐑕, 𐑯 𐑧𐑯𐑦 𐑳𐑞𐑼 𐑮𐑦𐑥𐑲𐑯𐑛𐑼 𐑿 𐑯𐑰𐑛 𐑩𐑚𐑬𐑑 𐑢𐑪𐑑 𐑞𐑦𐑕 𐑒𐑰 𐑦𐑟 𐑓𐑹." + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "" +"A Secure Shell (SSH) key lets you connect securely to trusted computers using " +"SSH, without entering a different password for each of them." +msgstr "" +"𐑩 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 (SSH) 𐑒𐑰 𐑤𐑧𐑑𐑕 𐑿 𐑒𐑩𐑯𐑧𐑒𐑑 𐑕𐑦𐑒𐑘𐑫𐑼𐑤𐑦 𐑑 𐑑𐑮𐑳𐑕𐑑𐑩𐑛 𐑒𐑩𐑥𐑐𐑿𐑑𐑼𐑟 𐑿𐑟𐑦𐑙 SSH, " +"𐑢𐑦𐑞𐑬𐑑 𐑧𐑯𐑑𐑼𐑦𐑙 𐑩 𐑛𐑦𐑓𐑼𐑩𐑯𐑑 𐑐𐑭𐑕𐑢𐑼𐑛 𐑓𐑹 𐑰𐑗 𐑝 𐑞𐑧𐑥." + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "" +"If there is already a computer you want to use this key with, you can set up " +"that computer to recognize your key now. " +msgstr "" +"𐑦𐑓 𐑞𐑺 𐑦𐑟 𐑷𐑤𐑮𐑧𐑛𐑦 𐑩 𐑒𐑩𐑥𐑐𐑿𐑑𐑼 𐑿 𐑢𐑪𐑯𐑑 𐑑 𐑿𐑕 𐑞𐑦𐑕 𐑒𐑰 𐑢𐑦𐑞, 𐑿 𐑒𐑨𐑯 𐑕𐑧𐑑 𐑳𐑐 𐑞𐑨𐑑 𐑒𐑩𐑥𐑐𐑿𐑑𐑼 𐑑 " +"𐑮𐑧𐑒𐑪𐑜𐑯𐑲𐑟 𐑿𐑼 𐑒𐑰 𐑯𐑬. " + +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "New Secure Shell Key" +msgstr "𐑯𐑿 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "_Create and Set Up" +msgstr "_𐑒𐑮𐑦𐑱𐑑 𐑯 𐑕𐑧𐑑 𐑳𐑐" + +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Just Create Key" +msgstr "_𐑡𐑳𐑕𐑑 𐑒𐑮𐑦𐑱𐑑 𐑒𐑰" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "_Key Description:" +msgstr "_𐑒𐑰 𐑛𐑦𐑕𐑒𐑮𐑦𐑐𐑖𐑩𐑯:" + +#: ../ssh/seahorse-ssh-key.c:87 +msgid "(Unreadable Secure Shell Key)" +msgstr "(𐑩𐑯𐑮𐑰𐑛𐑩𐑚𐑩𐑤 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰)" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "Invalid" +msgstr "𐑦𐑯𐑝𐑨𐑤𐑦𐑛" + +#: ../ssh/seahorse-ssh-key.c:116 +msgid "Private Secure Shell Key" +msgstr "𐑐𐑮𐑲𐑝𐑩𐑑 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰" + +#: ../ssh/seahorse-ssh-key.c:119 +msgid "Public Secure Shell Key" +msgstr "𐑐𐑳𐑚𐑤𐑦𐑒 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰" + +#: ../ssh/seahorse-ssh-key-properties.c:71 +msgid "Couldn't rename key." +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑮𐑰𐑯𐑱𐑥 𐑒𐑰." + +#: ../ssh/seahorse-ssh-key-properties.c:112 +msgid "Couldn't change authorization for key." +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑗𐑱𐑯𐑡 𐑷𐑔𐑼𐑦𐑟𐑱𐑖𐑩𐑯 𐑓𐑹 𐑒𐑰." + +#, fuzzy +#: ../ssh/seahorse-ssh-key-properties.c:127 +msgid "Couldn't change passphrase for key." +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑗𐑱𐑯𐑡 passphrase 𐑓𐑹 𐑒𐑰." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Algorithm:" +msgstr "𐑨𐑤𐑜𐑻𐑦𐑞𐑩𐑥:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Identifier:" +msgstr "𐑲𐑛𐑧𐑯𐑑𐑦𐑓𐑲𐑼:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Location:" +msgstr "𐑤𐑴𐑒𐑱𐑖𐑩𐑯:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgid "Strength:" +msgstr "𐑕𐑑𐑮𐑧𐑙𐑔:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:8 +msgid "Trust" +msgstr "𐑑𐑮𐑳𐑕𐑑" + +#, no-c-format +#: ../ssh/seahorse-ssh-key-properties.xml.h:13 +msgid "This only applies to the '%s' account." +msgstr "𐑞𐑦𐑕 𐑴𐑯𐑤𐑦 𐑩𐑐𐑤𐑲𐑟 𐑑 𐑞 '%s' 𐑩𐑒𐑬𐑯𐑑." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "E_xport Complete Key" +msgstr "_𐑧𐑒𐑕𐑐𐑹𐑑 𐑒𐑩𐑥𐑐𐑤𐑰𐑑 𐑒𐑰" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "𐑞 𐑴𐑯𐑼 𐑝 𐑞𐑦𐑕 𐑒𐑰 𐑦𐑟 _𐑪𐑔𐑻𐑲𐑟𐑛 𐑑 𐑒𐑩𐑯𐑧𐑒𐑑 𐑑 𐑞𐑦𐑕 𐑒𐑩𐑥𐑐𐑿𐑑𐑼" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "Used to connect to other computers." +msgstr "𐑿𐑕𐑑 𐑑 𐑒𐑩𐑯𐑧𐑒𐑑 𐑑 𐑳𐑞𐑼 𐑒𐑩𐑥𐑐𐑿𐑑𐑼𐑟." + +#, c-format +#: ../ssh/seahorse-ssh-operation.c:143 ../ssh/seahorse-ssh-operation.c:732 +msgid "The SSH command was terminated unexpectedly." +msgstr "𐑞 SSH 𐑒𐑩𐑥𐑭𐑯𐑛 𐑢𐑪𐑟 𐑑𐑻𐑥𐑩𐑯𐑱𐑑𐑩𐑛 𐑩𐑯𐑦𐑒𐑕𐑐𐑧𐑒𐑑𐑦𐑛𐑤𐑰." + +#: ../ssh/seahorse-ssh-operation.c:151 ../ssh/seahorse-ssh-operation.c:739 +msgid "The SSH command failed." +msgstr "𐑞 SSH 𐑒𐑩𐑥𐑭𐑯𐑛 𐑓𐑱𐑤𐑛." + +#: ../ssh/seahorse-ssh-operation.c:445 ../ssh/seahorse-ssh-operation.c:477 +msgid "Secure Shell key" +msgstr "𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰" + +#, fuzzy +#: ../ssh/seahorse-ssh-operation.c:448 +msgid "Passphrase:" +msgstr "Passphrase:" + +#. Just prompt over and over again +#: ../ssh/seahorse-ssh-operation.c:762 +msgid "Remote Host Password" +msgstr "𐑮𐑦𐑥𐑴𐑑 𐑣𐑴𐑕𐑑 𐑐𐑭𐑕𐑢𐑼𐑛" + +#, fuzzy +#: ../ssh/seahorse-ssh-operation.c:850 +msgid "Old Key Passphrase" +msgstr "𐑴𐑤𐑛 𐑒𐑰 Passphrase" + +#, c-format +#, fuzzy +#: ../ssh/seahorse-ssh-operation.c:851 +msgid "Enter the old passphrase for: %s" +msgstr "𐑧𐑯𐑑𐑼 𐑞 𐑴𐑤𐑛 passphrase 𐑓𐑹: %s" + +#, fuzzy +#: ../ssh/seahorse-ssh-operation.c:855 +msgid "New Key Passphrase" +msgstr "𐑯𐑿 𐑒𐑰 Passphrase" + +#, c-format +#, fuzzy +#: ../ssh/seahorse-ssh-operation.c:856 +msgid "Enter the new passphrase for: %s" +msgstr "𐑧𐑯𐑑𐑼 𐑞 𐑯𐑿 passphrase 𐑓𐑹: %s" + +#, fuzzy +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Enter Key Passphrase" +msgstr "𐑧𐑯𐑑𐑼 𐑒𐑰 Passphrase" + +#, fuzzy +#: ../ssh/seahorse-ssh-operation.c:931 +msgid "Passphrase for New Secure Shell Key" +msgstr "Passphrase 𐑓𐑹 𐑯𐑿 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰" + +#, fuzzy +#: ../ssh/seahorse-ssh-operation.c:932 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "𐑧𐑯𐑑𐑼 𐑩 passphrase 𐑓𐑹 𐑿𐑼 𐑯𐑿 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰." + +#, c-format +#: ../ssh/seahorse-ssh-operation.c:1013 +msgid "Importing key: %s" +msgstr "𐑦𐑥𐑐𐑹𐑑𐑦𐑙 𐑒𐑰: %s" + +#, fuzzy +#: ../ssh/seahorse-ssh-operation.c:1015 +msgid "Importing key. Enter passphrase" +msgstr "𐑦𐑥𐑐𐑹𐑑𐑦𐑙 𐑒𐑰. 𐑧𐑯𐑑𐑼 passphrase" + +#: ../ssh/seahorse-ssh-source.c:825 +msgid "No private key file is available for this key." +msgstr "𐑯𐑴 𐑐𐑮𐑲𐑝𐑩𐑑 𐑒𐑰 𐑓𐑲𐑤 𐑦𐑟 𐑩𐑝𐑱𐑤𐑩𐑚𐑩𐑤 𐑓𐑹 𐑞𐑦𐑕 𐑒𐑰." + +#: ../ssh/seahorse-ssh-upload.c:45 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "𐑒𐑫𐑛𐑯𐑑 𐑒𐑩𐑯𐑓𐑦𐑜𐑘𐑼 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰𐑟 𐑪𐑯 𐑮𐑦𐑥𐑴𐑑 𐑒𐑩𐑥𐑐𐑿𐑑𐑼." + +#. Show the progress window if necessary +#: ../ssh/seahorse-ssh-upload.c:181 +msgid "Configuring Secure Shell Keys..." +msgstr "𐑒𐑩𐑯𐑓𐑦𐑜𐑘𐑼𐑦𐑙 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰𐑟..." + +#, fuzzy +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "eg: fileserver.example.com:port" +msgstr "<𐑲>eg: fileserver.𐑦𐑜𐑟𐑭𐑥𐑐𐑩𐑤.𐑒𐑪𐑥:𐑐𐑹𐑑" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "𐑕𐑧𐑑 𐑳𐑐 𐑒𐑩𐑥𐑐𐑿𐑑𐑼 𐑓𐑹 SSH 𐑒𐑩𐑯𐑧𐑒𐑖𐑩𐑯" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"𐑑 𐑿𐑕 𐑿𐑼 𐑕𐑦𐑒𐑘𐑫𐑼 𐑖𐑧𐑤 𐑒𐑰 𐑢𐑦𐑞 𐑩𐑯𐑳𐑞𐑼 𐑒𐑩𐑥𐑐𐑿𐑑𐑼 𐑞𐑨𐑑 𐑿𐑕𐑩𐑟 SSH, 𐑿 𐑥𐑳𐑕𐑑 𐑷𐑤𐑮𐑧𐑛𐑦 𐑣𐑨𐑝 𐑩 " +"𐑤𐑪𐑜𐑦𐑯 𐑩𐑒𐑬𐑯𐑑 𐑪𐑯 𐑞𐑨𐑑 𐑒𐑩𐑥𐑐𐑿𐑑𐑼." + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "_𐑒𐑩𐑥𐑐𐑿𐑑𐑼 𐑯𐑱𐑥:" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "_𐑤𐑪𐑜𐑦𐑯 𐑯𐑱𐑥:" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "_𐑕𐑧𐑑 𐑳𐑐" + diff --git a/po/en_CA.po b/po/en_CA.po new file mode 100644 index 00000000..dc05b683 --- /dev/null +++ b/po/en_CA.po @@ -0,0 +1,3170 @@ +# English/Canada translation of seahorse. +# Copyright (C) 2004-2005 Adam Weinberger and the GNOME Foundation +# This file is distributed under the same licence as the seahorse package. +# Adam Weinberger , 2004, 2005. +# +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-12-26 17:26-0500\n" +"PO-Revision-Date: 2005-08-16 22:06-0400\n" +"Last-Translator: Adam Weinberger \n" +"Language-Team: Canadian English \n" +"Language: en_CA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../agent/seahorse-agent-actions.c:94 +#: ../src/seahorse-generate-druid.glade.h:27 +msgid "Passphrase:" +msgstr "Passphrase:" + +#: ../agent/seahorse-agent-actions.c:95 +msgid "Please enter a passphrase to use." +msgstr "Please enter a passphrase to use." + +#. +#. * Implementation of the password cache. Note that only passwords +#. * are stored in secure memory, all else is allocated normally. +#. * +#. * Cache items can be locked which guarantees they'll stay around even +#. * if their TTL expires. +#. +#: ../agent/seahorse-agent-cache.c:42 +msgid "Unparseable Key ID" +msgstr "Unparseable Key ID" + +#: ../agent/seahorse-agent-cache.c:43 +msgid "Unknown/Invalid Key" +msgstr "Unknown/Invalid Key" + +#: ../agent/seahorse-agent-cache.glade.h:1 +msgid "" +"Warning: Your system is not configured to cache passphrases in secure " +"memory." +msgstr "" +"Warning: Your system is not configured to cache passphrases in secure " +"memory." + +#: ../agent/seahorse-agent-cache.glade.h:2 +msgid "Cache _Preferences" +msgstr "Cache _Preferences" + +#: ../agent/seahorse-agent-cache.glade.h:3 +msgid "Cached Encryption Passphrases" +msgstr "Cached Encryption Passphrases" + +#: ../agent/seahorse-agent-cache.glade.h:4 +msgid "Change passphrase cache settings." +msgstr "Change passphrase cache settings." + +#: ../agent/seahorse-agent-cache.glade.h:5 +msgid "Clear passphrase cache" +msgstr "Clear passphrase cache" + +#: ../agent/seahorse-agent-cache.glade.h:6 +msgid "_Clear Cache" +msgstr "_Clear Cache" + +#: ../agent/seahorse-agent-cache.glade.h:7 +msgid "_Show Window" +msgstr "_Show Window" + +#: ../agent/seahorse-agent-prompt.c:214 +msgid "Authorize Password Access" +msgstr "Authorize Password Access" + +#: ../agent/seahorse-agent-prompt.c:249 +msgid "The passphrase is cached in memory." +msgstr "The passphrase is cached in memory." + +#: ../agent/seahorse-agent-prompt.c:254 +msgid "Always ask me before using a cached passphrase" +msgstr "Always ask me before using a cached passphrase" + +#: ../agent/seahorse-agent-prompt.c:271 +msgid "_Authorize" +msgstr "_Authorize" + +#. Make the column +#: ../agent/seahorse-agent-status.c:127 +msgid "Cached Encryption Keys" +msgstr "Cached Encryption Keys" + +#. Warn and put in defaults +#: ../agent/seahorse-agent.c:86 +msgid "couldn't read gpg configuration, will try to create" +msgstr "Could not read GPG configuration; will try to create" + +#: ../agent/seahorse-agent.c:108 +#, c-format +msgid "couldn't modify gpg configuration: %s" +msgstr "Could not modify GPG configuration: %s" + +#: ../bonobo/Seahorse_PGP_File_Listener.server.in.in.h:1 +msgid "Decrypt" +msgstr "Decrypt" + +#: ../bonobo/Seahorse_PGP_File_Listener.server.in.in.h:2 +msgid "Decryption operations on PGP encrypted files" +msgstr "Decryption operations on PGP encrypted files" + +#: ../bonobo/Seahorse_PGP_File_Listener.server.in.in.h:3 +msgid "Encrypt and sign operations on files" +msgstr "Encrypt and sign operations on files" + +#: ../bonobo/Seahorse_PGP_File_Listener.server.in.in.h:4 +#: ../plugins/nautilus-ext/seahorse-nautilus.c:149 +msgid "Encrypt..." +msgstr "Encrypt..." + +#: ../bonobo/Seahorse_PGP_File_Listener.server.in.in.h:5 +msgid "Import" +msgstr "Import" + +#: ../bonobo/Seahorse_PGP_File_Listener.server.in.in.h:6 +msgid "Import operation on PGP key files" +msgstr "Import operation on PGP key files" + +#: ../bonobo/Seahorse_PGP_File_Listener.server.in.in.h:7 +msgid "Seahorse PGP decrypt operations" +msgstr "Seahorse PGP decrypt operations" + +#: ../bonobo/Seahorse_PGP_File_Listener.server.in.in.h:8 +msgid "Seahorse PGP encrypt and sign operations" +msgstr "Seahorse PGP encrypt and sign operations" + +#: ../bonobo/Seahorse_PGP_File_Listener.server.in.in.h:9 +msgid "Seahorse PGP import operation" +msgstr "Seahorse PGP import operation" + +#: ../bonobo/Seahorse_PGP_File_Listener.server.in.in.h:10 +msgid "Seahorse PGP verify operation" +msgstr "Seahorse PGP verify operation" + +#: ../bonobo/Seahorse_PGP_File_Listener.server.in.in.h:11 +#: ../plugins/nautilus-ext/seahorse-nautilus.c:156 +#: ../src/seahorse-key-properties.glade.h:41 +msgid "Sign" +msgstr "Sign" + +#: ../bonobo/Seahorse_PGP_File_Listener.server.in.in.h:12 +msgid "Verify" +msgstr "Verify" + +#: ../bonobo/Seahorse_PGP_File_Listener.server.in.in.h:13 +msgid "Verify operation on PGP signed files" +msgstr "Verify operation on PGP signed files" + +#: ../daemon/seahorse-daemon.c:50 +msgid "Do not daemonize seahorse-agent" +msgstr "Do not daemonize seahorse-agent" + +#: ../daemon/seahorse-daemon.c:54 +msgid "Print variables in for a C type shell" +msgstr "Print variables in for a C type shell" + +#: ../daemon/seahorse-daemon.c:57 +msgid "Display variables instead of editing gpg.conf" +msgstr "Display variables instead of editing gpg.conf" + +#: ../daemon/seahorse-daemon.c:79 +msgid "couldn't fork process" +msgstr "could not fork process" + +#: ../daemon/seahorse-daemon.c:85 +msgid "couldn't create new process group" +msgstr "could not create new process group" + +#: ../daemon/seahorse-daemon.c:209 ../libseahorse/seahorse-ssh-askpass.c:50 +#: ../src/main.c:436 +msgid "couldn't drop privileges properly" +msgstr "could not drop privileges properly" + +#: ../daemon/seahorse-daemon.c:213 +msgid "Encryption Daemon (Seahorse)" +msgstr "Encryption Daemon (Seahorse)" + +#: ../daemon/seahorse-service.c:189 ../daemon/seahorse-service.c:294 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "Invalid or unrecognized key type: %s" + +#: ../daemon/seahorse-service.c:209 ../daemon/seahorse-service.c:236 +#: ../daemon/seahorse-service.c:260 ../daemon/seahorse-service.c:347 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "Invalid or unrecognized key: %s" + +#: ../daemon/seahorse-service.c:242 +#, c-format +msgid "Invalid field: %s" +msgstr "Invalid field: %s" + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s", or leave out the %s altogether. +#. In the latter case, please put "%.0s" somewhere in the string, +#. which will match the user name string passed by the C code, +#. but not put the user name in the final string. This is to +#. avoid the warning that msgfmt might otherwise generate. +#: ../daemon/seahorse-sharing.c:136 +#, c-format +msgid "%s's encryption keys" +msgstr "%s's encryption keys" + +#. Stop Sharing menu item +#: ../daemon/seahorse-sharing.c:196 +msgid "_Stop Sharing My Keys" +msgstr "_Stop Sharing My Keys" + +#: ../daemon/seahorse-sharing.c:265 ../daemon/seahorse-sharing.c:272 +msgid "Couldn't share keys" +msgstr "Could not share keys" + +#: ../daemon/seahorse-sharing.c:273 +msgid "Can't publish discovery information on the network." +msgstr "Cannot publish discovery information on the network." + +#: ../data/seahorse.schemas.in.h:1 +msgid "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." +msgstr "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." + +#: ../data/seahorse.schemas.in.h:2 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "Controls the visibility of the expires column for the key manager." + +#: ../data/seahorse.schemas.in.h:3 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "Controls the visibility of the trust column for the key manager." + +#: ../data/seahorse.schemas.in.h:4 +msgid "Controls the visibility of the type column for the key manager." +msgstr "Controls the visibility of the type column for the key manager." + +#: ../data/seahorse.schemas.in.h:5 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "Controls the visibility of the validity column for the key manager." + +#: ../data/seahorse.schemas.in.h:6 +msgid "Decrypt/Verify/Import Clipboard" +msgstr "Decrypt/Verify/Import Clipboard" + +#: ../data/seahorse.schemas.in.h:7 +msgid "Enable DNS-SD sharing" +msgstr "Enable DNS-SD sharing" + +#: ../data/seahorse.schemas.in.h:8 +msgid "" +"Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must running " +"and must be built with HKP and DNS-SD support." +msgstr "" +"Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must running " +"and must be built with HKP and DNS-SD support." + +#: ../data/seahorse.schemas.in.h:9 +msgid "Enables display of decrypted text" +msgstr "Enables display of decrypted text" + +#: ../data/seahorse.schemas.in.h:10 +msgid "Enables display of encrypted text" +msgstr "Enables display of encrypted text" + +#: ../data/seahorse.schemas.in.h:11 +msgid "Enables display of signed text" +msgstr "Enables display of signed text" + +#: ../data/seahorse.schemas.in.h:12 +msgid "" +"Enables displaying of decrypted text in a separate window after selecting " +"the decrypt option." +msgstr "" +"Enables display of decrypted text in a separate window after selecting " +"the decrypt option." + +#: ../data/seahorse.schemas.in.h:13 +msgid "" +"Enables displaying of encrypted text in a separate window after selecting " +"the decrypt option." +msgstr "" +"Enables display of encrypted text in a separate window after selecting " +"the decrypt option." + +#: ../data/seahorse.schemas.in.h:14 +msgid "" +"Enables displaying of signed text in a separate window after selecting the " +"decrypt option." +msgstr "" +"Enables display of signed text in a separate window after selecting the " +"decrypt option." + +#: ../data/seahorse.schemas.in.h:15 +msgid "Enables hotkeys" +msgstr "Enables hotkeys" + +#: ../data/seahorse.schemas.in.h:16 +msgid "Enables listening globally for keypresses to activate applet functions." +msgstr "Enables listening globally for keypresses to activate applet functions." + +#: ../data/seahorse.schemas.in.h:17 +msgid "Encrypt Clipboard" +msgstr "Encrypt Clipboard" + +#: ../data/seahorse.schemas.in.h:18 +msgid "Expire passwords in the cache" +msgstr "Expire passwords in the cache" + +#: ../data/seahorse.schemas.in.h:19 +msgid "ID of the default key" +msgstr "ID of the default key" + +#: ../data/seahorse.schemas.in.h:20 +msgid "" +"If set to true, then files encrypted with seahorse will be ASCII armor " +"encoded." +msgstr "" +"If set to true, then files encrypted with seahorse will be ASCII armour " +"encoded." + +#: ../data/seahorse.schemas.in.h:21 +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." + +#: ../data/seahorse.schemas.in.h:22 +msgid "Last key used to sign a message." +msgstr "Last key used to sign a message." + +#: ../data/seahorse.schemas.in.h:23 +msgid "Last keyserver search pattern" +msgstr "Last keyserver search pattern" + +#: ../data/seahorse.schemas.in.h:24 +msgid "Last keyservers used" +msgstr "Last keyservers used" + +#: ../data/seahorse.schemas.in.h:25 +msgid "PGP Key servers" +msgstr "PGP Key servers" + +#: ../data/seahorse.schemas.in.h:26 +msgid "Prompt before using GPG passwords in cache" +msgstr "Prompt before using GPG passwords in cache" + +#: ../data/seahorse.schemas.in.h:27 +msgid "Publish keys to this keyserver." +msgstr "Publish keys to this keyserver." + +#: ../data/seahorse.schemas.in.h:28 +msgid "" +"Set to 'true' to have seahorse-agent prompt before giving out passwords it " +"has cached." +msgstr "" +"Set to 'true' to have seahorse-agent prompt before giving out passwords it " +"has cached." + +#: ../data/seahorse.schemas.in.h:29 +msgid "Show expires column in key manager" +msgstr "Show expires column in key manager" + +#: ../data/seahorse.schemas.in.h:30 +msgid "Show trust column in key manager" +msgstr "Show trust column in key manager" + +#: ../data/seahorse.schemas.in.h:31 +msgid "Show type column in key manager" +msgstr "Show type column in key manager" + +#: ../data/seahorse.schemas.in.h:32 +msgid "Show validity column in key manager" +msgstr "Show validity column in key manager" + +#: ../data/seahorse.schemas.in.h:33 +msgid "Sign Clipboard" +msgstr "Sign Clipboard" + +#: ../data/seahorse.schemas.in.h:34 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name', " +"'id' and 'validity', Put a '-' in front of the column name to sort in " +"descending order." +msgstr "" +"Specify the column to sort the recipients window by. Columns are: 'name', " +"'id', and 'validity'. Put a '-' in front of the column name to sort in " +"descending order." + +#: ../data/seahorse.schemas.in.h:35 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." +msgstr "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." + +#: ../data/seahorse.schemas.in.h:36 +msgid "The ID of the last secret key used to sign a message." +msgstr "The ID of the last secret key used to sign a message." + +#: ../data/seahorse.schemas.in.h:37 +msgid "The column to sort the recipients by" +msgstr "The column to sort the recipients by" + +#: ../data/seahorse.schemas.in.h:38 +msgid "The column to sort the seahorse keys by" +msgstr "The column to sort the seahorse keys by" + +#: ../data/seahorse.schemas.in.h:39 +msgid "" +"The global keybinding for Decrypting/Verifying/Importing the clipboard. The " +"format looks like \"<Control>a\" or \"<Shift><Alt>F1\". " +"The parser is fairly liberal and allows lower or upper case, and also " +"abbreviations such as \"<Ctl>\" and \"<Ctrl>\". If you set the " +"option to the special string \"disabled\", then there will be no keybinding " +"for this action." +msgstr "" +"The global keybinding for Decrypting/Verifying/Importing the clipboard. The " +"format looks like \"<Control>a\" or \"<Shift><Alt>F1\". " +"The parser is fairly liberal and allows lower or upper case, and also " +"abbreviations such as \"<Ctl>\" and \"<Ctrl>\". If you set the " +"option to the special string \"disabled\", then there will be no keybinding " +"for this action." + +#: ../data/seahorse.schemas.in.h:40 +msgid "" +"The global keybinding for encrypting the clipboard. The format looks like " +"\"<Control>a\" or \"<Shift><Alt>F1\". The parser is fairly " +"liberal and allows lower or upper case, and also abbreviations such as \"<" +"Ctl>\" and \"<Ctrl>\". If you set the option to the special string " +"\"disabled\", then there will be no keybinding for this action." +msgstr "" +"The global keybinding for encrypting the clipboard. The format looks like " +"\"<Control>a\" or \"<Shift><Alt>F1\". The parser is fairly " +"liberal and allows lower or upper case, and also abbreviations such as \"<" +"Ctl>\" and \"<Ctrl>\". If you set the option to the special string " +"\"disabled\", then there will be no keybinding for this action." + +#: ../data/seahorse.schemas.in.h:41 +msgid "" +"The global keybinding for signing the clipboard. The format looks like \"<" +"Control>a\" or \"<Shift><Alt>F1\". The parser is fairly " +"liberal and allows lower or upper case, and also abbreviations such as \"<" +"Ctl>\" and \"<Ctrl>\". If you set the option to the special string " +"\"disabled\", then there will be no keybinding for this action." +msgstr "" +"The global keybinding for signing the clipboard. The format looks like \"<" +"Control>a\" or \"<Shift><Alt>F1\". The parser is fairly " +"liberal and allows lower or upper case, and also abbreviations such as \"<" +"Ctl>\" and \"<Ctrl>\". If you set the option to the special string " +"\"disabled\", then there will be no keybinding for this action." + +#: ../data/seahorse.schemas.in.h:42 +msgid "" +"The keyserver to publish PGP keys to. Or empty to suppress publishing of PGP " +"keys." +msgstr "" +"The keyserver to publish PGP keys to, Or empty to suppress publishing of PGP " +"keys." + +#: ../data/seahorse.schemas.in.h:43 +msgid "" +"The last keyserver a search was performed against or empty for all " +"keyservers." +msgstr "" +"The last keyserver a search was performed against, or empty for all " +"keyservers." + +#: ../data/seahorse.schemas.in.h:44 +msgid "The last search pattern searched for against a keyserver." +msgstr "The last search pattern searched for against a keyserver." + +#: ../data/seahorse.schemas.in.h:45 +msgid "The time (in minutes) to cache GPG passwords" +msgstr "The time (in minutes) to cache GPG passwords" + +#: ../data/seahorse.schemas.in.h:46 +msgid "" +"This is the amount of time, specified in minutes, to cache GPG passwords in " +"seahorse-agent." +msgstr "" +"This is the amount of time, specified in minutes, to cache GPG passwords in " +"seahorse-agent." + +#: ../data/seahorse.schemas.in.h:47 +msgid "" +"This option enables the GPG password cache in the seahorse-agent daemon." +msgstr "" +"This option enables the GPG password cache in the seahorse-agent daemon." + +#: ../data/seahorse.schemas.in.h:48 +msgid "" +"This specifies the default key to use for certain operations, mainly signing." +msgstr "" +"This specifies the default key to use for certain operations (mainly " +"signing)." + +#: ../data/seahorse.schemas.in.h:49 +msgid "" +"When set seahorse-agent expires GPG passwords in it's cache after a peried " +"of time." +msgstr "" +"When set, seahorse-agent expires GPG passwords in its cache after a peried " +"of time." + +#: ../data/seahorse.schemas.in.h:50 +msgid "Whether the GPG password cache is enabled" +msgstr "Whether the GPG password cache is enabled" + +#: ../data/seahorse.schemas.in.h:51 +msgid "Whether to always encrypt to default key" +msgstr "Whether to always encrypt to default key" + +#: ../data/seahorse.schemas.in.h:52 +msgid "Whether to use ASCII Armor" +msgstr "Whether to use ASCII Armour" + +#: ../libseahorse/eggtrayicon.c:121 +msgid "Orientation" +msgstr "Orientation" + +#: ../libseahorse/eggtrayicon.c:122 +msgid "The orientation of the tray." +msgstr "The orientation of the tray." + +#: ../libseahorse/seahorse-add-keyserver.glade.h:1 +#: ../libseahorse/seahorse-recipients.glade.h:1 +#: ../src/seahorse-add-uid.glade.h:1 +#: ../src/seahorse-change-passphrase.glade.h:1 +#: ../src/seahorse-generate-adv.glade.h:1 +#: ../src/seahorse-generate-druid.glade.h:1 +#: ../src/seahorse-multi-encrypt.glade.h:1 ../src/seahorse-revoke.glade.h:1 +msgid "*" +msgstr "*" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:2 +#: ../src/seahorse-ssh-upload.glade.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:3 +msgid "Add Key Server" +msgstr "Add Key Server" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:4 +msgid "Host:" +msgstr "Host:" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:5 +msgid "Key Server Type:" +msgstr "Key Server Type:" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:6 +#: ../src/seahorse-ssh-upload.glade.h:5 +msgid "The host name or address of the server." +msgstr "The host name or address of the server." + +#: ../libseahorse/seahorse-add-keyserver.glade.h:7 +#: ../src/seahorse-ssh-upload.glade.h:6 +msgid "The port to access the server on." +msgstr "The port to access the server on." + +#: ../libseahorse/seahorse-add-keyserver.glade.h:8 +msgid "initial temp item" +msgstr "initial temp item" + +#: ../libseahorse/seahorse-hkp-source.c:206 +#: ../libseahorse/seahorse-ldap-source.c:393 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "Could not communicate with '%s': %s" + +#: ../libseahorse/seahorse-hkp-source.c:465 +msgid "Searching for keys..." +msgstr "Searching for keys..." + +#: ../libseahorse/seahorse-hkp-source.c:535 +#: ../libseahorse/seahorse-hkp-source.c:605 +msgid "Uploading keys..." +msgstr "Uploading keys..." + +#: ../libseahorse/seahorse-hkp-source.c:713 +#, c-format +msgid "Searching for keys on: %s" +msgstr "Searching for keys on: %s" + +#: ../libseahorse/seahorse-hkp-source.c:786 +#: ../libseahorse/seahorse-hkp-source.c:858 +#: ../libseahorse/seahorse-ldap-source.c:570 +#, c-format +msgid "Connecting to: %s" +msgstr "Connecting to: %s" + +#: ../libseahorse/seahorse-key-store.c:784 +#: ../src/seahorse-key-properties.c:637 ../src/seahorse-key-properties.c:1224 +msgid "Name" +msgstr "Name" + +#: ../libseahorse/seahorse-key-store.c:787 +msgid "Key ID" +msgstr "Key ID" + +#: ../libseahorse/seahorse-ldap-source.c:743 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "Searching for keys containing '%s'..." + +#: ../libseahorse/seahorse-ldap-source.c:770 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "Searching for key ID '%s'..." + +#: ../libseahorse/seahorse-ldap-source.c:866 +msgid "Retrieving remote keys..." +msgstr "Retrieving remote keys..." + +#: ../libseahorse/seahorse-ldap-source.c:1000 +msgid "Sending keys to key server..." +msgstr "Sending keys to key server..." + +#: ../libseahorse/seahorse-passphrase.c:112 +#: ../src/seahorse-generate-druid.glade.h:25 +#: ../src/seahorse-key-properties.glade.h:39 +msgid "Passphrase" +msgstr "Passphrase" + +#: ../libseahorse/seahorse-passphrase.c:115 +msgid "Password:" +msgstr "Password:" + +#: ../libseahorse/seahorse-passphrase.c:230 +msgid "Wrong passphrase." +msgstr "Wrong passphrase." + +#: ../libseahorse/seahorse-passphrase.c:233 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "Enter new passphrase for '%s'" + +#: ../libseahorse/seahorse-passphrase.c:235 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "Enter passphrase for '%s'" + +#: ../libseahorse/seahorse-pgp-key-op.c:2104 +msgid "" +"This photo ID file is very large. Are you sure you want to add it to your " +"key?" +msgstr "" +"This photo ID file is very large. Are you sure you want to add it to your " +"key?" + +#: ../libseahorse/seahorse-pgp-key.c:591 ../libseahorse/seahorse-validity.c:31 +msgid "Unknown" +msgstr "Unknown" + +#: ../libseahorse/seahorse-pgp-key.c:593 +msgid "ElGamal" +msgstr "ElGamal" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../libseahorse/seahorse-pgp-source.c:619 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Loaded %d key" +msgstr[1] "Loaded %d keys" + +#: ../libseahorse/seahorse-pgp-source.c:680 +msgid "Loading Keys..." +msgstr "Loading Keys..." + +#: ../libseahorse/seahorse-prefs-cache.c:350 +msgid "Couldn't open the Session Properties" +msgstr "Could not open the Session Properties" + +#: ../libseahorse/seahorse-prefs-cache.c:363 +msgid "Couldn't start the 'seahorse-daemon' program" +msgstr "Could not start the 'seahorse-daemon' program" + +#: ../libseahorse/seahorse-prefs-cache.c:365 +msgid "The 'seahorse-daemon' program exited unsucessfully." +msgstr "The 'seahorse-daemon' program exited unsucessfully." + +#: ../libseahorse/seahorse-prefs-cache.c:488 +msgid "" +"Another passphrase caching agent is running. Disabling cache preferences." +msgstr "" +"Another passphrase-caching agent is running. Disabling cache preferences." + +#: ../libseahorse/seahorse-prefs.c:58 +msgid "Not a valid Key Server address." +msgstr "Not a valid Key Server address." + +#: ../libseahorse/seahorse-prefs.c:59 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "" +"For help contact your system adminstrator or the administrator of the key " +"server." + +#: ../libseahorse/seahorse-prefs.c:169 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:353 +msgid "Custom" +msgstr "Custom" + +#: ../libseahorse/seahorse-prefs.c:423 +msgid "None: Don't publish keys" +msgstr "None: Do not publish keys" + +#: ../libseahorse/seahorse-prefs.c:440 +msgid "_Share my keys with others on my network" +msgstr "_Share my keys with others on my network" + +#: ../libseahorse/seahorse-prefs.c:503 +msgid "Display _decrypted text" +msgstr "Display _decrypted text" + +#: ../libseahorse/seahorse-prefs.c:505 +msgid "Display _signed text" +msgstr "Display _signed text" + +#: ../libseahorse/seahorse-prefs.c:507 +msgid "Display _encrypted text" +msgstr "Display _encrypted text" + +#: ../libseahorse/seahorse-prefs.c:599 +msgid "_Encrypt to Self" +msgstr "_Encrypt to Self" + +#: ../libseahorse/seahorse-prefs.c:601 +msgid "_Armor Encode Files" +msgstr "_Armour Encode Files" + +#: ../libseahorse/seahorse-prefs.c:611 +msgid "None. Prompt for a key." +msgstr "None. Prompt for a key." + +#: ../libseahorse/seahorse-prefs.glade.h:1 +msgid " minutes" +msgstr " minutes" + +#: ../libseahorse/seahorse-prefs.glade.h:2 +msgid "" +"Note: The 'seahorse-daemon' program was started. This program is " +"necessary in order for caching of passphrases. " +msgstr "" +"Note: The 'seahorse-daemon' program was started. This program is " +"necessary for caching of passphrases. " + +#: ../libseahorse/seahorse-prefs.glade.h:3 +msgid "" +"Warning: The 'seahorse-daemon' program is not running. This program " +"is necessary in order for caching of passphrases. " +msgstr "" +"Warning: The 'seahorse-daemon' program is not running. This program " +"is necessary for caching of passphrases. " + +#: ../libseahorse/seahorse-prefs.glade.h:4 +msgid "" +"Hotkeys allow you to quickly access your notes from anywhere with " +"a keypress. Example Hotkeys: F11, N" +msgstr "" +"Hotkeys allow you to quickly access your notes from anywhere with " +"a keypress. Example Hotkeys: F11, N" + +#: ../libseahorse/seahorse-prefs.glade.h:5 +msgid "Applet" +msgstr "Applet" + +#: ../libseahorse/seahorse-prefs.glade.h:6 +msgid "Cache encryption _passphrases in memory" +msgstr "Cache encryption _passphrases in memory" + +#: ../libseahorse/seahorse-prefs.glade.h:7 +msgid "Decrypt clipboard" +msgstr "Decrypt clipboard" + +#: ../libseahorse/seahorse-prefs.glade.h:8 +msgid "Encrypt clipboard" +msgstr "Encrypt clipboard" + +#: ../libseahorse/seahorse-prefs.glade.h:9 +#: ../plugins/nautilus/seahorse-pgp-preferences.c:73 +#: ../plugins/nautilus/seahorse-pgp-preferences.desktop.in.h:2 +msgid "Encryption Preferences" +msgstr "Encryption Preferences" + +#: ../libseahorse/seahorse-prefs.glade.h:10 +msgid "Encryption Settings" +msgstr "Encryption Settings" + +#: ../libseahorse/seahorse-prefs.glade.h:11 +msgid "Key Servers" +msgstr "Key Servers" + +#: ../libseahorse/seahorse-prefs.glade.h:12 +msgid "Key Sharing" +msgstr "Key Sharing" + +#: ../libseahorse/seahorse-prefs.glade.h:13 +msgid "Password Cache" +msgstr "Password Cache" + +#: ../libseahorse/seahorse-prefs.glade.h:14 +msgid "Session Properties" +msgstr "Session Properties" + +#: ../libseahorse/seahorse-prefs.glade.h:15 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've " +"collected. This means they can automatically encrypt things for you or those " +"you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." +msgstr "" +"Sharing your keys allows other people on your network to use the keys you " +"have collected. This means they can automatically encrypt things for you or " +"those you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." + +#: ../libseahorse/seahorse-prefs.glade.h:18 +msgid "Sign clipboard" +msgstr "Sign clipboard" + +#: ../libseahorse/seahorse-prefs.glade.h:19 +msgid "Start seahorse-daemon" +msgstr "Start seahorse-daemon" + +#: ../libseahorse/seahorse-prefs.glade.h:20 +msgid "" +"To avoid manually starting the 'seahorse-agent' in the future add\n" +"it to the Session manager. " +msgstr "" +"To avoid manually starting 'seahorse-agent' in the future, add\n" +"it to the Session manager. " + +#: ../libseahorse/seahorse-prefs.glade.h:22 +msgid "_Ask me before using a cached passphrase" +msgstr "_Ask me before using a cached passphrase" + +#: ../libseahorse/seahorse-prefs.glade.h:23 +msgid "_Default Signing Key:" +msgstr "_Default Signing Key:" + +#: ../libseahorse/seahorse-prefs.glade.h:24 +msgid "_Expire passphrases from memory after " +msgstr "_Expire passphrases from memory after " + +#: ../libseahorse/seahorse-prefs.glade.h:25 +msgid "_Find Keys Using:" +msgstr "_Find Keys Using:" + +#: ../libseahorse/seahorse-prefs.glade.h:26 +msgid "_Publish Keys To:" +msgstr "_Publish Keys To:" + +#: ../libseahorse/seahorse-progress.glade.h:1 +msgid "Progress Message" +msgstr "Progress Message" + +#: ../libseahorse/seahorse-progress.glade.h:2 +msgid "Progress Status" +msgstr "Progress Status" + +#: ../libseahorse/seahorse-progress.glade.h:3 +msgid "Progress Title" +msgstr "Progress Title" + +#: ../libseahorse/seahorse-recipients-store.c:154 +#: ../src/seahorse-key-manager-store.c:455 +msgid "Validity" +msgstr "Validity" + +#: ../libseahorse/seahorse-recipients.c:58 +#, c-format +msgid "Selected %d recipient" +msgid_plural "Selected %d recipients" +msgstr[0] "Selected %d recipient" +msgstr[1] "Selected %d recipients" + +#: ../libseahorse/seahorse-recipients.c:62 +#, c-format +msgid "Selected %d not fully valid recipient" +msgid_plural "Selected %d not fully valid recipients" +msgstr[0] "Selected %d not fully valid recipient" +msgstr[1] "Selected %d not fully valid recipients" + +#. TRANSLATOR: This string will become +#. * "Selected %d recipients (%d not fully valid)" +#: ../libseahorse/seahorse-recipients.c:70 +#, c-format +msgid "Selected %d recipient " +msgid_plural "Selected %d recipients " +msgstr[0] "Selected %d recipient " +msgstr[1] "Selected %d recipients " + +#. TRANSLATOR: This string will become +#. * "Selected %d recipients (%d not fully valid)" +#: ../libseahorse/seahorse-recipients.c:75 +#, c-format +msgid "(%d not fully valid)" +msgid_plural "(%d not fully valid)" +msgstr[0] "(%d not fully valid)" +msgstr[1] "(%d not fully valid)" + +#. TRANSLATOR: "%s%s" are "Selected %d recipients (%d not fully valid)" +#. * Swap order with "%2$s%1$s" if needed +#. TRANSLATOR: "%s%s" are "You have selected %d files and %d folders" +#. * Swap order with "%2$s%1$s" if needed +#: ../libseahorse/seahorse-recipients.c:80 +#: ../src/seahorse-process-multiple.c:58 +#, c-format +msgid "%s%s" +msgstr "%s%s" + +#: ../libseahorse/seahorse-recipients.c:179 +msgid "None (Don't sign)" +msgstr "None (Do not sign)" + +#: ../libseahorse/seahorse-recipients.glade.h:2 +msgid "" +"All Keys\n" +"Selected Recipients\n" +"Search Results" +msgstr "" +"All Keys\n" +"Selected Recipients\n" +"Search Results" + +#: ../libseahorse/seahorse-recipients.glade.h:5 +msgid "Choose Recipients" +msgstr "Choose Recipients" + +#: ../libseahorse/seahorse-recipients.glade.h:6 +msgid "Search _for: " +msgstr "Search _for: " + +#: ../libseahorse/seahorse-recipients.glade.h:7 +#: ../libseahorse/seahorse-signer.glade.h:2 +msgid "_Sign message with key:" +msgstr "_Sign message with key:" + +#: ../libseahorse/seahorse-secure-entry.c:361 +msgid "Cursor Position" +msgstr "Cursor Position" + +#: ../libseahorse/seahorse-secure-entry.c:361 +msgid "The current position of the insertion cursor in chars" +msgstr "The current position of the insertion cursor in chars" + +#: ../libseahorse/seahorse-secure-entry.c:365 +msgid "Selection Bound" +msgstr "Selection Bound" + +#: ../libseahorse/seahorse-secure-entry.c:365 +msgid "" +"The position of the opposite end of the selection from the cursor in chars" +msgstr "" +"The position of the opposite end of the selection from the cursor in chars" + +#: ../libseahorse/seahorse-secure-entry.c:369 +msgid "Maximum length" +msgstr "Maximum length" + +#: ../libseahorse/seahorse-secure-entry.c:369 +msgid "Maximum number of characters for this entry. Zero if no maximum" +msgstr "Maximum number of characters for this entry. Zero if no maximum" + +#: ../libseahorse/seahorse-secure-entry.c:373 +msgid "Has Frame" +msgstr "Has Frame" + +#: ../libseahorse/seahorse-secure-entry.c:373 +msgid "FALSE removes outside bevel from entry" +msgstr "FALSE removes outside bevel from entry" + +#: ../libseahorse/seahorse-secure-entry.c:377 +msgid "Invisible character" +msgstr "Invisible character" + +#: ../libseahorse/seahorse-secure-entry.c:377 +msgid "The character to use when masking entry contents (in \"password mode\")" +msgstr "" +"The character to use when masking entry contents (in \"password mode\")" + +#: ../libseahorse/seahorse-secure-entry.c:381 +msgid "Activates default" +msgstr "Activates default" + +#: ../libseahorse/seahorse-secure-entry.c:381 +msgid "" +"Whether to activate the default widget (such as the default button in a " +"dialog) when Enter is pressed" +msgstr "" +"Whether to activate the default widget (such as the default button in a " +"dialogue) when Enter is pressed" + +#: ../libseahorse/seahorse-secure-entry.c:385 +msgid "Width in chars" +msgstr "Width in chars" + +#: ../libseahorse/seahorse-secure-entry.c:385 +msgid "Number of characters to leave space for in the entry" +msgstr "Number of characters to leave space for in the entry" + +#: ../libseahorse/seahorse-secure-entry.c:389 +msgid "Scroll offset" +msgstr "Scroll offset" + +#: ../libseahorse/seahorse-secure-entry.c:389 +msgid "Number of pixels of the entry scrolled off the screen to the left" +msgstr "Number of pixels of the entry scrolled off the screen to the left" + +#: ../libseahorse/seahorse-secure-entry.c:393 +msgid "Text" +msgstr "Text" + +#: ../libseahorse/seahorse-secure-entry.c:393 +msgid "The contents of the entry" +msgstr "The contents of the entry" + +#: ../libseahorse/seahorse-server-source.c:455 +msgid "LDAP Key Server" +msgstr "LDAP Key Server" + +#: ../libseahorse/seahorse-server-source.c:458 +msgid "HTTP Key Server" +msgstr "HTTP Key Server" + +#: ../libseahorse/seahorse-signatures.c:66 +#, c-format +msgid "Signed by %s Expired on %s." +msgstr "Signed by %s Expired on %s." + +#: ../libseahorse/seahorse-signatures.c:67 +#: ../libseahorse/seahorse-signatures.c:79 +#, c-format +msgid "%s: Invalid Signature" +msgstr "%s: Invalid Signature" + +#: ../libseahorse/seahorse-signatures.c:72 +#, c-format +msgid "Signed by %s on %s Expired." +msgstr "Signed by %s on %s Expired." + +#: ../libseahorse/seahorse-signatures.c:73 +#, c-format +msgid "%s: Expired Signature" +msgstr "%s: Expired Signature" + +#: ../libseahorse/seahorse-signatures.c:78 +#, c-format +msgid "Signed by %s Revoked on %s." +msgstr "Signed by %s Revoked on %s." + +#: ../libseahorse/seahorse-signatures.c:84 +#, c-format +msgid "Signed by %s on %s." +msgstr "Signed by %s on %s." + +#: ../libseahorse/seahorse-signatures.c:85 +#, c-format +msgid "%s: Good Signature" +msgstr "%s: Good Signature" + +#: ../libseahorse/seahorse-signatures.c:91 +msgid "Signing key not in keyring." +msgstr "Signing key not in keyring." + +#: ../libseahorse/seahorse-signatures.c:92 +#, c-format +msgid "%s: Unknown Signature" +msgstr "%s: Unknown Signature" + +#: ../libseahorse/seahorse-signatures.c:96 +msgid "Bad or forged signature. The signed data was modified." +msgstr "Bad or forged signature. The signed data was modified." + +#: ../libseahorse/seahorse-signatures.c:97 +#, c-format +msgid "%s: Bad Signature" +msgstr "%s: Bad Signature" + +#: ../libseahorse/seahorse-signatures.c:105 +msgid "Couldn't verify signature." +msgstr "Could not verify signature." + +#: ../libseahorse/seahorse-signer.glade.h:1 +msgid "Choose Signing Key" +msgstr "Choose Signing Key" + +#: ../libseahorse/seahorse-ssh-askpass.c:62 +msgid "SSH Passphrase" +msgstr "SSH Passphrase" + +#: ../libseahorse/seahorse-ssh-key.c:104 +msgid "(Unreadable SSH Key)" +msgstr "(Unreadable SSH Key)" + +#: ../libseahorse/seahorse-ssh-key.c:108 ../libseahorse/seahorse-ssh-key.c:112 +#: ../src/seahorse-key-manager-store.c:208 +msgid "SSH Key" +msgstr "SSH Key" + +#: ../libseahorse/seahorse-ssh-source.c:607 +#: ../libseahorse/seahorse-ssh-source.c:779 +msgid "The SSH command was terminated unexpectedly." +msgstr "The SSH command was terminated unexpectedly." + +#: ../libseahorse/seahorse-ssh-source.c:614 +#: ../libseahorse/seahorse-ssh-source.c:787 +msgid "The SSH command failed." +msgstr "The SSH command failed." + +#: ../libseahorse/seahorse-ssh-source.c:675 +msgid "Sending SSH public key..." +msgstr "Sending SSH public key..." + +#: ../libseahorse/seahorse-util.c:178 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-util.c:415 +msgid "Multiple Keys" +msgstr "Multiple Keys" + +#: ../libseahorse/seahorse-util.c:726 +msgid "Couldn't run file-roller" +msgstr "Could not run file-roller" + +#: ../libseahorse/seahorse-util.c:731 +msgid "Couldn't package files" +msgstr "Could not package files" + +#: ../libseahorse/seahorse-util.c:732 +msgid "The file-roller process did not complete successfully" +msgstr "The file-roller process did not complete successfully" + +#: ../libseahorse/seahorse-util.c:742 +msgid "Couldn't set permissions on backup file." +msgstr "Could not set permissions on backup file." + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:787 +msgid "All key files" +msgstr "All key files" + +#: ../libseahorse/seahorse-util.c:794 ../libseahorse/seahorse-util.c:813 +#: ../libseahorse/seahorse-util.c:853 +msgid "All files" +msgstr "All files" + +#. Filter for JPEG files, this is meant to be +#. * used when searching for images to add as a photoid +#: ../libseahorse/seahorse-util.c:807 +msgid "All JPEG files" +msgstr "All JPEG files" + +#: ../libseahorse/seahorse-util.c:846 +msgid "Archive files" +msgstr "Archive files" + +#: ../libseahorse/seahorse-util.c:887 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" + +#: ../libseahorse/seahorse-util.c:890 +msgid "_Replace" +msgstr "_Replace" + +#: ../libseahorse/seahorse-validity.c:33 ../src/seahorse-key-properties.c:887 +#: ../src/seahorse-key-properties.c:948 +msgid "Never" +msgstr "Never" + +#: ../libseahorse/seahorse-validity.c:35 +msgid "Marginal" +msgstr "Marginal" + +#: ../libseahorse/seahorse-validity.c:37 +msgid "Full" +msgstr "Full" + +#: ../libseahorse/seahorse-validity.c:39 +msgid "Ultimate" +msgstr "Ultimate" + +#: ../libseahorse/seahorse-validity.c:41 +msgid "Disabled" +msgstr "Disabled" + +#: ../libseahorse/seahorse-validity.c:43 ../src/seahorse-key-properties.c:944 +msgid "Revoked" +msgstr "Revoked" + +#: ../libseahorse/seahorse-widget.c:302 +#, c-format +msgid "Could not display help: %s" +msgstr "Could not display help: %s" + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:1 +#: ../plugins/applet/seahorse-applet.c:246 +#: ../plugins/applet/seahorse-applet.c:248 +msgid "Encryption Applet" +msgstr "Encryption Applet" + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:2 +msgid "Seahorse Applet Factory" +msgstr "Seahorse Applet Factory" + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:3 +#: ../plugins/applet/seahorse-applet.c:249 +msgid "Use PGP/GPG to encrypt/decrypt/sign/verify/import the clipboard." +msgstr "Use PGP/GPG to encrypt/decrypt/sign/verify/import the clipboard." + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:1 +#: ../src/seahorse-key-manager.c:773 +msgid "_About" +msgstr "_About" + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:2 +#: ../src/seahorse-key-manager.c:757 ../src/seahorse-keyserver-results.c:292 +msgid "_Help" +msgstr "_Help" + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:3 +msgid "_Preferences" +msgstr "_Preferences" + +#: ../plugins/applet/seahorse-applet.c:415 +msgid "_Encrypt Clipboard" +msgstr "_Encrypt Clipboard" + +#: ../plugins/applet/seahorse-applet.c:419 +msgid "_Sign Clipboard" +msgstr "_Sign Clipboard" + +#: ../plugins/applet/seahorse-applet.c:423 +msgid "_Decrypt/Verify/Import Clipboard" +msgstr "_Decrypt/Verify/Import Clipboard" + +#: ../plugins/applet/seahorse-applet.c:454 +msgid "seahorse-applet" +msgstr "seahorse-applet" + +#: ../plugins/applet/seahorse-applet.c:456 +msgid "Use PGP/GPG to encrypt/decrypt/sign/verify/import the clipboard.panel." +msgstr "Use PGP/GPG to encrypt/decrypt/sign/verify/import the clipboard." + +#: ../plugins/applet/seahorse-applet.c:461 +msgid "translator-credits" +msgstr "Adam Weinberger " + +#: ../plugins/applet/seahorse-applet.c:532 +#: ../plugins/gedit/seahorse-gedit.c:296 +msgid "Couldn't encrypt text" +msgstr "Could not encrypt text" + +#: ../plugins/applet/seahorse-applet.c:540 +msgid "Encryption Applet - Encrypted Text" +msgstr "Encryption Applet - Encrypted Text" + +#: ../plugins/applet/seahorse-applet.c:572 +#: ../plugins/gedit/seahorse-gedit.c:547 +msgid "Couldn't sign text" +msgstr "Could not sign text" + +#: ../plugins/applet/seahorse-applet.c:580 +msgid "Encryption Applet - Signed Text" +msgstr "Encryption Applet - Signed Text" + +#: ../plugins/applet/seahorse-applet.c:611 +#: ../plugins/gedit/seahorse-gedit.c:321 +msgid "Couldn't import keys" +msgstr "Could not import keys" + +#: ../plugins/applet/seahorse-applet.c:635 +#: ../plugins/applet/seahorse-applet.c:656 +#: ../plugins/gedit/seahorse-gedit.c:346 ../plugins/gedit/seahorse-gedit.c:367 +msgid "Couldn't decrypt text" +msgstr "Could not decrypt text" + +#: ../plugins/applet/seahorse-applet.c:711 +msgid "Encryption Applet - Decrypted Text" +msgstr "Encryption Applet - Decrypted Text" + +#: ../plugins/applet/seahorse-applet.c:764 +#, c-format +msgid "There was an error displaying help: %s" +msgstr "There was an error displaying help: %s" + +#: ../plugins/gedit/seahorse-gedit.c:82 +msgid "_Encrypt..." +msgstr "_Encrypt..." + +#: ../plugins/gedit/seahorse-gedit.c:85 +msgid "Encrypt the selected text" +msgstr "Encrypt the selected text" + +#: ../plugins/gedit/seahorse-gedit.c:87 +msgid "Decr_ypt/Verify" +msgstr "Decr_ypt/Verify" + +#: ../plugins/gedit/seahorse-gedit.c:90 +msgid "Decrypt and/or Verify text" +msgstr "Decrypt and/or Verify text" + +#: ../plugins/gedit/seahorse-gedit.c:92 +msgid "Sig_n..." +msgstr "Sig_n..." + +#: ../plugins/gedit/seahorse-gedit.c:95 +msgid "Sign the selected text" +msgstr "Sign the selected text" + +#: ../plugins/gedit/seahorse-gedit.c:303 +msgid "Encrypted text" +msgstr "Encrypted text" + +#: ../plugins/gedit/seahorse-gedit.c:324 +msgid "Keys found but not imported" +msgstr "Keys found but not imported" + +#: ../plugins/gedit/seahorse-gedit.c:428 +msgid "No encrypted or signed text is selected." +msgstr "No encrypted or signed text is selected." + +#: ../plugins/gedit/seahorse-gedit.c:459 +msgid "Decrypted text" +msgstr "Decrypted text" + +#: ../plugins/gedit/seahorse-gedit.c:466 +msgid "Verified text" +msgstr "Verified text" + +#: ../plugins/gedit/seahorse-gedit.c:504 ../src/seahorse-key-manager.c:233 +#: ../src/seahorse-key-manager.c:256 ../src/seahorse-key-manager.c:718 +#, c-format +msgid "Imported %d key" +msgid_plural "Imported %d keys" +msgstr[0] "Imported %d key" +msgstr[1] "Imported %d keys" + +#: ../plugins/gedit/seahorse-gedit.c:554 +msgid "Signed text" +msgstr "Signed text" + +#: ../plugins/gedit/seahorse-gedit.schemas.in.h:1 +msgid "Enable the seahorse encryption plugin for gedit." +msgstr "Enable the seahorse encryption plugin for gedit." + +#: ../plugins/gedit/seahorse-gedit.schemas.in.h:2 +msgid "Enable the seahorse gedit plugin" +msgstr "Enable the seahorse gedit plugin" + +#: ../plugins/gedit/seahorse-pgp.gedit-plugin.desktop.in.h:1 +msgid "Text Encryption" +msgstr "Text Encryption" + +#: ../plugins/gedit/seahorse-pgp.gedit-plugin.desktop.in.h:2 +msgid "This plugin performs encryption operations on text." +msgstr "This plugin performs encryption operations on text." + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:150 +msgid "Encrypt (and optionally sign) the selected file" +msgid_plural "Encrypt the selected files" +msgstr[0] "Encrypt (and optionally sign) the selected file" +msgstr[1] "Encrypt (and optionally sign) the selected files" + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:157 +msgid "Sign the selected file" +msgid_plural "Sign the selected files" +msgstr[0] "Sign the selected file" +msgstr[1] "Sign the selected files" + +#: ../plugins/nautilus/seahorse-pgp-preferences.c:44 +#: ../plugins/nautilus/seahorse-pgp-preferences.c:48 +#: ../plugins/nautilus/seahorse-pgp-preferences.c:52 +msgid "For internal use" +msgstr "For internal use" + +#: ../plugins/nautilus/seahorse-pgp-preferences.desktop.in.h:1 +msgid "Configure key servers and other encryption settings" +msgstr "Configure key servers and other encryption settings" + +#: ../src/main.c:54 +msgid "Import keys from the file" +msgstr "Import keys from the file" + +#: ../src/main.c:57 +msgid "Encrypt file" +msgstr "Encrypt file" + +#: ../src/main.c:60 +msgid "Sign file with default key" +msgstr "Sign file with default key" + +#: ../src/main.c:63 +msgid "Encrypt and sign file with default key" +msgstr "Encrypt and sign file with default key" + +#: ../src/main.c:66 +msgid "Decrypt encrypted file" +msgstr "Decrypt encrypted file" + +#: ../src/main.c:69 +msgid "Verify signature file" +msgstr "Verify signature file" + +#: ../src/main.c:72 +msgid "Read list of URIs on standard in" +msgstr "Read list of URIs on standard input" + +#: ../src/main.c:154 ../src/seahorse-key-manager.c:230 +#, c-format +msgid "Couldn't import keys from \"%s\"" +msgstr "Could not import keys from \"%s\"" + +#: ../src/main.c:162 +msgid "Imported key" +msgstr "Imported key" + +#: ../src/main.c:163 ../src/seahorse-key-manager.c:234 +#: ../src/seahorse-key-manager.c:257 ../src/seahorse-key-manager.c:719 +#, c-format +msgid "Imported %d keys" +msgstr "Imported %d keys" + +#: ../src/main.c:199 +#, c-format +msgid "Choose Encrypted File Name for '%s'" +msgstr "Choose Encrypted File Name for '%s'" + +#: ../src/main.c:211 +#, c-format +msgid "Couldn't encrypt \"%s\"" +msgstr "Could not encrypt \"%s\"" + +#: ../src/main.c:261 +#, c-format +msgid "Choose Signature File Name for '%s'" +msgstr "Choose Signature File Name for '%s'" + +#: ../src/main.c:269 +#, c-format +msgid "Couldn't sign \"%s\"" +msgstr "Could not sign \"%s\"" + +#: ../src/main.c:300 +#, c-format +msgid "Choose Decrypted File Name for '%s'" +msgstr "Choose Decrypted File Name for '%s'" + +#: ../src/main.c:307 +#, c-format +msgid "Couldn't decrypt \"%s\"" +msgstr "Could not decrypt \"%s\"" + +#: ../src/main.c:353 +#, c-format +msgid "Choose Original File for '%s'" +msgstr "Choose Original File for '%s'" + +#: ../src/main.c:387 +#, c-format +msgid "Couldn't verify \"%s\"" +msgstr "Could not verify \"%s\"" + +#: ../src/main.c:453 ../src/seahorse-key-manager.glade.h:2 +#: ../src/seahorse.desktop.in.h:1 +msgid "Encryption Key Manager" +msgstr "Encryption Key Manager" + +#: ../src/seahorse-add-subkey.c:110 +msgid "Couldn't add subkey" +msgstr "Could not add subkey" + +#: ../src/seahorse-add-subkey.c:126 +#, c-format +msgid "Add subkey to %s" +msgstr "Add subkey to %s" + +#: ../src/seahorse-add-subkey.glade.h:1 ../src/seahorse-generate-adv.glade.h:5 +msgid "DSA (sign only)" +msgstr "DSA (sign only)" + +#: ../src/seahorse-add-subkey.glade.h:2 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (encrypt only)" + +#: ../src/seahorse-add-subkey.glade.h:3 ../src/seahorse-generate-adv.glade.h:6 +#: ../src/seahorse-generate-druid.glade.h:14 +msgid "Expiration Date:" +msgstr "Expiration Date:" + +#: ../src/seahorse-add-subkey.glade.h:4 +msgid "Generate a new subkey" +msgstr "Generate a new subkey" + +#: ../src/seahorse-add-subkey.glade.h:5 +#: ../src/seahorse-generate-adv.glade.h:10 +msgid "If key never expires" +msgstr "If key never expires" + +#: ../src/seahorse-add-subkey.glade.h:6 +#: ../src/seahorse-generate-adv.glade.h:12 +msgid "Key _Length:" +msgstr "Key _Length:" + +#: ../src/seahorse-add-subkey.glade.h:7 +#: ../src/seahorse-generate-adv.glade.h:13 +msgid "Key _Type:" +msgstr "Key _Type:" + +#: ../src/seahorse-add-subkey.glade.h:8 +#: ../src/seahorse-generate-adv.glade.h:14 +msgid "Key type / algorithm" +msgstr "Key type / algorithm" + +#: ../src/seahorse-add-subkey.glade.h:9 +#: ../src/seahorse-generate-adv.glade.h:15 +msgid "Length of Key" +msgstr "Length of Key" + +#: ../src/seahorse-add-subkey.glade.h:10 +#: ../src/seahorse-generate-adv.glade.h:17 +msgid "Never E_xpires" +msgstr "Never E_xpires" + +#: ../src/seahorse-add-subkey.glade.h:11 +msgid "RSA (encrypt only)" +msgstr "RSA (encrypt only)" + +#: ../src/seahorse-add-subkey.glade.h:12 +#: ../src/seahorse-generate-adv.glade.h:21 +msgid "RSA (sign only)" +msgstr "RSA (sign only)" + +#: ../src/seahorse-add-uid.c:81 +msgid "Couldn't add user id" +msgstr "Could not add user ID" + +#: ../src/seahorse-add-uid.c:103 +#, c-format +msgid "Add user ID to %s" +msgstr "Add user ID to %s" + +#: ../src/seahorse-add-uid.glade.h:2 +msgid "Add User ID" +msgstr "Add User ID" + +#: ../src/seahorse-add-uid.glade.h:3 +msgid "Create the new user ID" +msgstr "Create the new user ID" + +#: ../src/seahorse-add-uid.glade.h:4 ../src/seahorse-generate-adv.glade.h:7 +msgid "Full _Name:" +msgstr "Full _Name:" + +#: ../src/seahorse-add-uid.glade.h:5 ../src/seahorse-generate-adv.glade.h:11 +msgid "Key Co_mment:" +msgstr "Key Co_mment:" + +#: ../src/seahorse-add-uid.glade.h:6 ../src/seahorse-generate-adv.glade.h:16 +msgid "Must be at least 5 characters long" +msgstr "Must be at least 5 characters long" + +#: ../src/seahorse-add-uid.glade.h:7 ../src/seahorse-generate-adv.glade.h:18 +#: ../src/seahorse-generate-druid.glade.h:23 +msgid "Optional comment describing key" +msgstr "Optional comment describing key" + +#: ../src/seahorse-add-uid.glade.h:8 ../src/seahorse-generate-adv.glade.h:19 +#: ../src/seahorse-generate-druid.glade.h:24 +msgid "Optional email address" +msgstr "Optional email address" + +#: ../src/seahorse-add-uid.glade.h:9 ../src/seahorse-generate-adv.glade.h:22 +msgid "_Email Address:" +msgstr "_Email Address:" + +#: ../src/seahorse-change-passphrase.glade.h:2 +msgid "Change Passphrase" +msgstr "Change Passphrase" + +#: ../src/seahorse-change-passphrase.glade.h:3 +#: ../src/seahorse-generate-adv.glade.h:2 +msgid "Con_firm Passphrase:" +msgstr "Con_firm Passphrase:" + +#: ../src/seahorse-change-passphrase.glade.h:4 +msgid "Confirm new passphrase" +msgstr "Confirm new passphrase" + +#: ../src/seahorse-change-passphrase.glade.h:5 +msgid "Enter new passphrase" +msgstr "Enter new passphrase" + +#: ../src/seahorse-change-passphrase.glade.h:6 +msgid "New _Passphrase:" +msgstr "New _Passphrase:" + +#: ../src/seahorse-delete.c:39 +#, c-format +msgid "" +"%s is a private key. Make sure you have a backup. Do you still want to " +"delete it?" +msgstr "" +"%s is a private key. Make sure you have a backup. Do you still want to " +"delete it?" + +#: ../src/seahorse-delete.c:70 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Are you sure you want to permanently delete %s?" + +#: ../src/seahorse-delete.c:116 +msgid "Couldn't delete key" +msgstr "Could not delete key" + +#: ../src/seahorse-delete.c:133 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Are you sure you want to permanently delete subkey %d of %s?" + +#: ../src/seahorse-delete.c:156 +msgid "Couldn't delete subkey" +msgstr "Could not delete subkey" + +#: ../src/seahorse-delete.c:175 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "Are you sure you want to permanently delete the '%s' user ID?" + +#: ../src/seahorse-delete.c:200 +msgid "Couldn't delete user id" +msgstr "Could not delete user ID" + +#: ../src/seahorse-expires.c:65 +msgid "Couldn't change expiry date" +msgstr "Couldn't change expiration date" + +#: ../src/seahorse-expires.c:117 +#, c-format +msgid "Expiry for Subkey %d of %s" +msgstr "Expiration for Subkey %d of %s" + +#: ../src/seahorse-expires.c:119 +#, c-format +msgid "Expiry for %s" +msgstr "Expiration for %s" + +#: ../src/seahorse-expires.glade.h:1 +msgid "C_hange" +msgstr "C_hange" + +#: ../src/seahorse-expires.glade.h:2 ../src/seahorse-revoke.glade.h:12 +msgid "Revoke key" +msgstr "Revoke key" + +#: ../src/seahorse-expires.glade.h:3 +msgid "This key should e_xpire on:" +msgstr "This key should e_xpire on:" + +#: ../src/seahorse-generate-adv.c:141 ../src/seahorse-generate-druid.c:167 +msgid "Couldn't generate key" +msgstr "Could not generate key" + +#: ../src/seahorse-generate-adv.glade.h:3 +msgid "Confirmation of passphrase" +msgstr "Confirmation of passphrase" + +#: ../src/seahorse-generate-adv.glade.h:4 +msgid "DSA & ElGamal" +msgstr "DSA & ElGamal" + +#: ../src/seahorse-generate-adv.glade.h:8 +msgid "Generate a Key" +msgstr "Generate a Key" + +#: ../src/seahorse-generate-adv.glade.h:9 +msgid "Generate a new key" +msgstr "Generate a new key" + +#: ../src/seahorse-generate-adv.glade.h:20 +#: ../src/seahorse-generate-druid.glade.h:26 +msgid "Passphrase to secure key" +msgstr "Passphrase to secure key" + +#: ../src/seahorse-generate-adv.glade.h:23 +msgid "_Generate" +msgstr "_Generate" + +#: ../src/seahorse-generate-adv.glade.h:24 +msgid "_Passphrase:" +msgstr "_Passphrase:" + +#: ../src/seahorse-generate-druid.glade.h:2 +msgid "" +"Before selecting apply to start key generation, please make sure all of your " +"previous settings are correct." +msgstr "" +"Before selecting apply to start key generation, please make sure all of your " +"previous settings are correct." + +#: ../src/seahorse-generate-druid.glade.h:3 +msgid "" +"Choosing a passphrase is an integral part of creating a strong key. Like a " +"password, a passphrase should contain letters, numbers, and punctuation. " +"Additionally, a passphrase can contain spaces, meaning it can contain many " +"words. \n" +"\n" +"You should pick a phrase that is easy to rememeber and contains punctuation. " +"Take this phrase, adjust the case of various letters, and change some of the " +"letters into numbers or punctuation, reminiscent of \"leet speak\", but " +"don't make it so obscure to the point where you can't remember it." +msgstr "" +"Choosing a passphrase is an integral part of creating a strong key. Like a " +"password, a passphrase should contain letters, numbers, and punctuation. " +"Additionally, a passphrase can contain spaces, meaning it can contain many " +"words. \n" +"\n" +"You should pick a phrase that is easy to rememeber and contains punctuation. " +"Take this phrase, adjust the case of various letters, and change some of the " +"letters into numbers or punctuation, reminiscent of \"leet speak\", but " +"don't make it so obscure rhar you cannot remember it." + +#: ../src/seahorse-generate-druid.glade.h:6 +msgid "Comment:" +msgstr "Comment:" + +#: ../src/seahorse-generate-druid.glade.h:7 +msgid "Confirm" +msgstr "Confirm" + +#: ../src/seahorse-generate-druid.glade.h:8 +msgid "Confirm Passphrase:" +msgstr "Confirm Passphrase:" + +#: ../src/seahorse-generate-druid.glade.h:9 +msgid "Confirm passphrase" +msgstr "Confirm passphrase" + +#: ../src/seahorse-generate-druid.glade.h:10 +msgid "Date the Key Expires" +msgstr "Date the Key Expires" + +#: ../src/seahorse-generate-druid.glade.h:11 +msgid "Email Address:" +msgstr "Email Address:" + +#: ../src/seahorse-generate-druid.glade.h:12 +msgid "Enter Name - Must be at least five letters." +msgstr "Enter Name - Must be at least five letters." + +#: ../src/seahorse-generate-druid.glade.h:13 +#: ../src/seahorse-key-manager-store.c:471 +msgid "Expiration Date" +msgstr "Expiration Date" + +#: ../src/seahorse-generate-druid.glade.h:15 +msgid "Extra High Security" +msgstr "Extra High Security" + +#: ../src/seahorse-generate-druid.glade.h:16 +msgid "Full Name:" +msgstr "Full Name:" + +#: ../src/seahorse-generate-druid.glade.h:17 +msgid "High Security" +msgstr "High Security" + +#: ../src/seahorse-generate-druid.glade.h:18 +msgid "Key Generation Assistant" +msgstr "Key Generation Assistant" + +#: ../src/seahorse-generate-druid.glade.h:19 +msgid "Key Generation Assistant Complete" +msgstr "Key Generation Assistant Complete" + +#: ../src/seahorse-generate-druid.glade.h:20 +msgid "" +"Keys must be given an appropriate expiration date. For most people, the " +"default option of \"never expires\" is sufficient. If you only plan on using " +"the key for a certain period of time, i.e. for a specific project, you " +"should pick an expiration date after the projected completion of your " +"project. After the expiration date, your private key will still be able to " +"decrypt messages or data encrypted with your public key. However, your " +"private key will no longer sign messages or data." +msgstr "" +"Keys must be given an appropriate expiration date. For most people, the " +"default option of \"never expires\" is sufficient. If you plan on using the " +"key for only a certain period of time, i.e. for a specific project, you " +"should pick an expiration date after the projected completion of your " +"project. After the expiration date, your private key will still be able to " +"decrypt messages or data encrypted with your public key. However, your " +"private key will no longer sign messages or data." + +#: ../src/seahorse-generate-druid.glade.h:21 +msgid "Medium Security" +msgstr "Medium Security" + +#: ../src/seahorse-generate-druid.glade.h:22 +msgid "Never Expires" +msgstr "Never Expires" + +#: ../src/seahorse-generate-druid.glade.h:28 +msgid "Personal Information" +msgstr "Personal Information" + +#: ../src/seahorse-generate-druid.glade.h:29 +msgid "Seahorse Key Generation Assistant" +msgstr "Seahorse Key Generation Assistant" + +#: ../src/seahorse-generate-druid.glade.h:30 +msgid "Security Level" +msgstr "Security Level" + +#: ../src/seahorse-generate-druid.glade.h:31 +msgid "" +"The Medium Security level is the default and should be acceptable for " +"general everyday usage. \n" +"\n" +"The High Security level should be selected if you know your data will be " +"actively scrutinized. The Extra High level should be selected if you know " +"your data is actively scrutinized and will be under cryptographic attack." +msgstr "" +"The Medium Security level is the default and should be acceptable for " +"general everyday usage. \n" +"\n" +"The High Security level should be selected if you know your data will be " +"actively scrutinized. The Extra High level should be selected if you know " +"your data is actively scrutinized and will be under cryptographic attack." + +#: ../src/seahorse-generate-druid.glade.h:34 +msgid "" +"This assistant will guide you through the steps of creating a PGP key pair." +msgstr "" +"This assistant will guide you through the steps of creating a PGP key pair." + +#: ../src/seahorse-generate-druid.glade.h:35 +msgid "" +"To create a key and tie it to your identity, the following information is " +"needed: Full Name, Email Address, and Comment. \n" +"\n" +"These values will be given to the name of your key in the following " +"manner: \n" +"\n" +"Full Name (Comment) ." +msgstr "" +"To create a key and tie it to your identity, the following information is " +"needed: Full Name, Email Address, and Comment. \n" +"\n" +"These values will be given to the name of your key in the following manner:\n" +"\n" +"Full Name (Comment) ." + +#: ../src/seahorse-generate-druid.glade.h:40 +msgid "druidpage_pass" +msgstr "druidpage_pass" + +#: ../src/seahorse-generate-druid.glade.h:41 +msgid "druidpage_pinfo" +msgstr "druidpage_pinfo" + +#: ../src/seahorse-generate-druid.glade.h:42 +msgid "keygen_druid" +msgstr "keygen_druid" + +#: ../src/seahorse-generate-select.glade.h:1 +msgid "Advanced" +msgstr "Advanced" + +#: ../src/seahorse-generate-select.glade.h:2 +msgid "Assistant" +msgstr "Assistant" + +#: ../src/seahorse-generate-select.glade.h:3 +msgid "Continue" +msgstr "Continue" + +#: ../src/seahorse-generate-select.glade.h:4 +msgid "Generate Key" +msgstr "Generate Key" + +#: ../src/seahorse-generate-select.glade.h:5 +msgid "Generate a key via the assistant." +msgstr "Generate a key using the assistant." + +#: ../src/seahorse-generate-select.glade.h:6 +msgid "Generate a key with the advanced dialog." +msgstr "Generate a key with the advanced dialogue." + +#: ../src/seahorse-generate-select.glade.h:7 +msgid "Select a method to generate your new key:" +msgstr "Select a method to generate your new key:" + +#: ../src/seahorse-generate-select.glade.h:8 +msgid "radio_druid" +msgstr "radio_druid" + +#: ../src/seahorse-key-manager-store.c:180 +#: ../src/seahorse-key-properties.c:945 +msgid "Expired" +msgstr "Expired" + +#: ../src/seahorse-key-manager-store.c:199 +msgid "Private PGP Key" +msgstr "Private PGP Key" + +#: ../src/seahorse-key-manager-store.c:201 +msgid "Public PGP Key" +msgstr "Public PGP Key" + +#: ../src/seahorse-key-manager-store.c:203 +msgid "PGP Key" +msgstr "PGP Key" + +#: ../src/seahorse-key-manager-store.c:226 +msgid "User ID" +msgstr "User ID" + +#: ../src/seahorse-key-manager-store.c:390 +msgid "Couldn't retrieve key data" +msgstr "Could not retrieve key data" + +#: ../src/seahorse-key-manager-store.c:460 +#: ../src/seahorse-pgp-public-key-properties.glade.h:38 +msgid "Trust" +msgstr "Trust" + +#: ../src/seahorse-key-manager-store.c:466 +#: ../src/seahorse-key-properties.c:923 +msgid "Type" +msgstr "Type" + +#: ../src/seahorse-key-manager.c:220 ../src/seahorse-pgp-keys.desktop.in.h:1 +msgid "Import Key" +msgstr "Import Key" + +#: ../src/seahorse-key-manager.c:254 +msgid "Couldn't import keys from clipboard" +msgstr "Could not import keys from clipboard" + +#: ../src/seahorse-key-manager.c:294 +msgid "Couldn't export key to clipboard" +msgstr "Could not export key to clipboard" + +#: ../src/seahorse-key-manager.c:301 ../src/seahorse-keyserver-results.c:186 +#, c-format +msgid "Copied %d key" +msgstr "Copied %d key" + +#: ../src/seahorse-key-manager.c:302 ../src/seahorse-keyserver-results.c:187 +#, c-format +msgid "Copied %d keys" +msgstr "Copied %d keys" + +#: ../src/seahorse-key-manager.c:328 +msgid "Export Key" +msgstr "Export Key" + +#: ../src/seahorse-key-manager.c:339 ../src/seahorse-key-properties.c:782 +#: ../src/seahorse-keyserver-results.c:149 +#: ../src/seahorse-ssh-key-properties.c:118 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "Could not export key to \"%s\"" + +#: ../src/seahorse-key-manager.c:358 +msgid "Backup Keyrings to Archive" +msgstr "Backup Keyrings to Archive" + +#: ../src/seahorse-key-manager.c:527 +msgid "translator_credits" +msgstr "Adam Weinberger " + +#: ../src/seahorse-key-manager.c:552 +msgid "seahorse" +msgstr "seahorse" + +#: ../src/seahorse-key-manager.c:606 ../src/seahorse-keyserver-results.c:223 +#, c-format +msgid "Selected %d key" +msgstr "Selected %d key" + +#: ../src/seahorse-key-manager.c:607 ../src/seahorse-keyserver-results.c:224 +#, c-format +msgid "Selected %d keys" +msgstr "Selected %d keys" + +#: ../src/seahorse-key-manager.c:715 +#, c-format +msgid "Couldn't import key from \"%s\"" +msgstr "Could not import key from \"%s\"" + +#. Top menu items +#: ../src/seahorse-key-manager.c:754 ../src/seahorse-keyserver-results.c:290 +msgid "_Key" +msgstr "_Key" + +#: ../src/seahorse-key-manager.c:755 ../src/seahorse-keyserver-results.c:291 +msgid "_Edit" +msgstr "_Edit" + +#: ../src/seahorse-key-manager.c:756 +msgid "_View" +msgstr "_View" + +#. Key Actions +#: ../src/seahorse-key-manager.c:760 +msgid "_Create Key Pair..." +msgstr "_Create Key Pair..." + +#: ../src/seahorse-key-manager.c:761 +msgid "Create a new key pair" +msgstr "Create a new key pair" + +#: ../src/seahorse-key-manager.c:762 +msgid "_Import..." +msgstr "_Import..." + +#: ../src/seahorse-key-manager.c:763 +msgid "Import keys into your keyring from a file" +msgstr "Import keys into your keyring from a file" + +#: ../src/seahorse-key-manager.c:764 +msgid "_Backup Keyrings..." +msgstr "_Backup Keyrings..." + +#: ../src/seahorse-key-manager.c:765 +msgid "Backup all keys" +msgstr "Backup all keys" + +#: ../src/seahorse-key-manager.c:766 +msgid "Paste _Keys" +msgstr "Paste _Keys" + +#: ../src/seahorse-key-manager.c:767 +msgid "Import keys from the clipboard" +msgstr "Import keys from the clipboard" + +#: ../src/seahorse-key-manager.c:769 +msgid "_Quit" +msgstr "_Quit" + +#: ../src/seahorse-key-manager.c:770 +msgid "Close this program" +msgstr "Close this program" + +#: ../src/seahorse-key-manager.c:771 +msgid "Prefere_nces" +msgstr "Prefere_nces" + +#: ../src/seahorse-key-manager.c:772 +msgid "Change preferences for this program" +msgstr "Change preferences for this program" + +#: ../src/seahorse-key-manager.c:774 +msgid "About this program" +msgstr "About this program" + +#: ../src/seahorse-key-manager.c:776 ../src/seahorse-keyserver-results.c:299 +msgid "_Expand All" +msgstr "_Expand All" + +#: ../src/seahorse-key-manager.c:777 ../src/seahorse-keyserver-results.c:300 +msgid "Expand all listings" +msgstr "Expand all listings" + +#: ../src/seahorse-key-manager.c:778 ../src/seahorse-keyserver-results.c:301 +msgid "_Collapse All" +msgstr "_Collapse All" + +#: ../src/seahorse-key-manager.c:779 ../src/seahorse-keyserver-results.c:302 +msgid "Collapse all listings" +msgstr "Collapse all listings" + +#: ../src/seahorse-key-manager.c:781 +msgid "_Remote" +msgstr "_Remote" + +#: ../src/seahorse-key-manager.c:783 ../src/seahorse-keyserver-results.c:296 +msgid "_Contents" +msgstr "_Contents" + +#: ../src/seahorse-key-manager.c:784 ../src/seahorse-keyserver-results.c:297 +msgid "Show Seahorse help" +msgstr "Show Seahorse help" + +#: ../src/seahorse-key-manager.c:788 ../src/seahorse-keyserver-results.c:308 +msgid "P_roperties" +msgstr "P_roperties" + +#: ../src/seahorse-key-manager.c:789 ../src/seahorse-keyserver-results.c:309 +msgid "Show key properties" +msgstr "Show key properties" + +#: ../src/seahorse-key-manager.c:790 +msgid "E_xport..." +msgstr "E_xport..." + +#: ../src/seahorse-key-manager.c:791 +msgid "Export public key" +msgstr "Export public key" + +#: ../src/seahorse-key-manager.c:792 ../src/seahorse-keyserver-results.c:312 +msgid "_Copy Key" +msgstr "_Copy Key" + +#: ../src/seahorse-key-manager.c:793 ../src/seahorse-keyserver-results.c:313 +msgid "Copy selected keys to the clipboard" +msgstr "Copy selected keys to the clipboard" + +#: ../src/seahorse-key-manager.c:794 +msgid "_Delete Key" +msgstr "_Delete Key" + +#: ../src/seahorse-key-manager.c:795 +msgid "Delete selected keys" +msgstr "Delete selected keys" + +#: ../src/seahorse-key-manager.c:799 +msgid "_Sign..." +msgstr "_Sign..." + +#: ../src/seahorse-key-manager.c:800 +msgid "Sign public key" +msgstr "Sign public key" + +#: ../src/seahorse-key-manager.c:805 +msgid "Configure SSH Key for Computer..." +msgstr "Configure SSH Key for Computer..." + +#: ../src/seahorse-key-manager.c:806 +msgid "" +"Send public SSH key to another machine, and enable logins using that key." +msgstr "" +"Send public SSH key to another machine, and enable logins using that key." + +#: ../src/seahorse-key-manager.c:812 ../src/seahorse-keyserver-results.c:317 +msgid "_Find Remote Keys..." +msgstr "_Find Remote Keys..." + +#: ../src/seahorse-key-manager.c:813 ../src/seahorse-keyserver-results.c:318 +msgid "Search for keys on a key server" +msgstr "Search for keys on a key server" + +#: ../src/seahorse-key-manager.c:814 +msgid "_Sync and Publish Keys..." +msgstr "_Sync and Publish Keys..." + +#: ../src/seahorse-key-manager.c:815 +msgid "Publish and/or sync your keys with those online." +msgstr "Publish and/or sync your keys with those online." + +#: ../src/seahorse-key-manager.glade.h:1 +msgid "First time options:" +msgstr "First time options:" + +#: ../src/seahorse-key-manager.glade.h:3 +msgid "Filter:" +msgstr "Filter:" + +#: ../src/seahorse-key-manager.glade.h:4 +msgid "Generate a new key of your own: " +msgstr "Generate a new key of your own: " + +#: ../src/seahorse-key-manager.glade.h:5 +msgid "Import existing keys from a file:" +msgstr "Import existing keys from a file:" + +#: ../src/seahorse-key-manager.glade.h:6 +msgid "Keys I _Trust" +msgstr "Keys I _Trust" + +#: ../src/seahorse-key-manager.glade.h:7 +msgid "Keys I've _Collected " +msgstr "Keys I've _Collected " + +#: ../src/seahorse-key-manager.glade.h:8 +msgid "My _Personal Keys" +msgstr "My _Personal Keys" + +#: ../src/seahorse-key-manager.glade.h:9 +msgid "To get started with encryption you'll need keys." +msgstr "To get started with encryption, you will need keys." + +#: ../src/seahorse-key-manager.glade.h:10 +#: ../src/seahorse-keyserver-results.c:306 +msgid "_Import" +msgstr "_Import" + +#: ../src/seahorse-key-properties.c:40 +#: ../src/seahorse-key-properties.glade.h:21 +msgid "All User IDs" +msgstr "All User IDs" + +#: ../src/seahorse-key-properties.c:194 +msgid "Couldn't change primary user ID" +msgstr "Could not change primary user ID" + +#: ../src/seahorse-key-properties.c:233 +msgid "Add Photo ID" +msgstr "Add Photo ID" + +#. TODO: We really shouldn't be getting here. We should rerender +#. the photo into a format that will work (along with resizing). +#: ../src/seahorse-key-properties.c:253 ../src/seahorse-key-properties.c:256 +msgid "Couldn't add photo" +msgstr "Could not add photo" + +#: ../src/seahorse-key-properties.c:254 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "The file could not be loaded. It may be in an invalid format" + +#: ../src/seahorse-key-properties.c:278 +msgid "Are you sure you want to permanently delete the current photo ID?" +msgstr "Are you sure you want to permanently delete the current photo ID?" + +#: ../src/seahorse-key-properties.c:304 +msgid "Couldn't delete photo" +msgstr "Could not delete photo" + +#: ../src/seahorse-key-properties.c:328 +msgid "Couldn't change primary photo ID" +msgstr "Could not change primary photo ID" + +#: ../src/seahorse-key-properties.c:579 +msgid "(unknown)" +msgstr "(unknown)" + +#: ../src/seahorse-key-properties.c:582 +#, c-format +msgid "This key expired on: %s" +msgstr "This key expired on: %s" + +#: ../src/seahorse-key-properties.c:641 ../src/seahorse-key-properties.c:1227 +msgid "Email" +msgstr "Email" + +#: ../src/seahorse-key-properties.c:645 ../src/seahorse-key-properties.c:1230 +msgid "Comment" +msgstr "Comment" + +#: ../src/seahorse-key-properties.c:720 +msgid "Unable to change trust" +msgstr "Unable to change trust" + +#: ../src/seahorse-key-properties.c:772 +#: ../src/seahorse-ssh-key-properties.c:108 +msgid "Export Complete Key" +msgstr "Export Complete Key" + +#: ../src/seahorse-key-properties.c:920 ../src/seahorse-key-properties.c:1221 +msgid "ID" +msgstr "ID" + +#: ../src/seahorse-key-properties.c:926 +msgid "Created" +msgstr "Created" + +#: ../src/seahorse-key-properties.c:929 +msgid "Expires" +msgstr "Expires" + +#: ../src/seahorse-key-properties.c:932 +msgid "Status" +msgstr "Status" + +#: ../src/seahorse-key-properties.c:935 +msgid "Strength" +msgstr "Strength" + +#: ../src/seahorse-key-properties.c:944 ../src/seahorse-key-properties.c:945 +msgid "Good" +msgstr "Good" + +#: ../src/seahorse-key-properties.glade.h:1 +msgid " Owner " +msgstr " Owner " + +#: ../src/seahorse-key-properties.glade.h:2 +msgid " Key Details " +msgstr " Key Details " + +#: ../src/seahorse-key-properties.glade.h:3 +msgid " Publishing " +msgstr " Publishing " + +#: ../src/seahorse-key-properties.glade.h:4 +msgid " Signatures " +msgstr " Signatures " + +#: ../src/seahorse-key-properties.glade.h:5 +msgid "1024" +msgstr "1024" + +#: ../src/seahorse-key-properties.glade.h:6 +msgid "" +"3F23 A343 F456 9023 435F \n" +"B4C3 4349 0932 7854 3452" +msgstr "" +"3F23 A343 F456 9023 435F \n" +"B4C3 4349 0932 7854 3452" + +#: ../src/seahorse-key-properties.glade.h:8 +msgid "6/24/04" +msgstr "6/24/04" + +#: ../src/seahorse-key-properties.glade.h:9 +msgid "6/28/10" +msgstr "6/28/10" + +#: ../src/seahorse-key-properties.glade.h:10 +msgid "Actions" +msgstr "Actions" + +#: ../src/seahorse-key-properties.glade.h:11 +msgid "Comment" +msgstr "Comment" + +#: ../src/seahorse-key-properties.glade.h:12 +msgid "Dates" +msgstr "Dates" + +#: ../src/seahorse-key-properties.glade.h:13 +msgid "Email" +msgstr "Email" + +#: ../src/seahorse-key-properties.glade.h:14 +msgid "Fingerprint" +msgstr "Fingerprint" + +#: ../src/seahorse-key-properties.glade.h:15 +msgid "ID" +msgstr "ID" + +#: ../src/seahorse-key-properties.glade.h:16 +msgid "Name" +msgstr "Name" + +#: ../src/seahorse-key-properties.glade.h:17 +msgid "Photo ID" +msgstr "Photo ID" + +#: ../src/seahorse-key-properties.glade.h:18 +msgid "Properties" +msgstr "Properties" + +#: ../src/seahorse-key-properties.glade.h:19 +msgid "Trust" +msgstr "Trust" + +#: ../src/seahorse-key-properties.glade.h:20 +msgid "Add" +msgstr "Add" + +#: ../src/seahorse-key-properties.glade.h:22 +msgid "Allow key to be published" +msgstr "Allow key to be published" + +#: ../src/seahorse-key-properties.glade.h:23 +msgid "Allow key to be published to the following key servers only" +msgstr "Allow key to be published to the following key servers only" + +#: ../src/seahorse-key-properties.glade.h:24 +#: ../src/seahorse-pgp-public-key-properties.glade.h:22 +msgid "Created:" +msgstr "Created:" + +#: ../src/seahorse-key-properties.glade.h:25 +msgid "DSA" +msgstr "DSA" + +#: ../src/seahorse-key-properties.glade.h:26 +msgid "Date" +msgstr "Date" + +#: ../src/seahorse-key-properties.glade.h:27 +msgid "Delete" +msgstr "Delete" + +#: ../src/seahorse-key-properties.glade.h:28 +msgid "Enable" +msgstr "Enable" + +#: ../src/seahorse-key-properties.glade.h:29 +#: ../src/seahorse-pgp-public-key-properties.glade.h:24 +msgid "Expires:" +msgstr "Expires:" + +#: ../src/seahorse-key-properties.glade.h:30 +msgid "Export" +msgstr "Export" + +#: ../src/seahorse-key-properties.glade.h:31 +msgid "F324324" +msgstr "F324324" + +#: ../src/seahorse-key-properties.glade.h:32 +msgid "Help" +msgstr "Help" + +#: ../src/seahorse-key-properties.glade.h:33 +msgid "" +"I use this key to sign legal \n" +"documents and school docs \n" +"that I need to sign" +msgstr "" +"I use this key to sign legal \n" +"and school documents" + +#: ../src/seahorse-key-properties.glade.h:36 +msgid "Jim Pharis" +msgstr "Jim Pharis" + +#: ../src/seahorse-key-properties.glade.h:37 +#: ../src/seahorse-pgp-public-key-properties.glade.h:29 +#: ../src/seahorse-ssh-key-properties.glade.h:15 +msgid "Key Properties" +msgstr "Key Properties" + +#: ../src/seahorse-key-properties.glade.h:38 +msgid "Only display the signatures of people I trust." +msgstr "Only display the signatures of people I trust." + +#: ../src/seahorse-key-properties.glade.h:40 +msgid "Revoke" +msgstr "Revoke" + +#: ../src/seahorse-key-properties.glade.h:42 +#: ../src/seahorse-pgp-public-key-properties.glade.h:34 +#: ../src/seahorse-ssh-key-properties.glade.h:17 +msgid "Strength:" +msgstr "Strength:" + +#: ../src/seahorse-key-properties.glade.h:43 +msgid "Subkeys" +msgstr "Subkeys" + +#: ../src/seahorse-key-properties.glade.h:44 +msgid "Sync Key" +msgstr "Sync Key" + +#: ../src/seahorse-key-properties.glade.h:45 +#: ../src/seahorse-pgp-public-key-properties.glade.h:39 +msgid "Type:" +msgstr "Type:" + +#: ../src/seahorse-key-properties.glade.h:46 +#: ../src/seahorse-pgp-public-key-properties.glade.h:40 +msgid "" +"Unknown\n" +"Never\n" +"Marginal\n" +"Full\n" +"Ultimate" +msgstr "" +"Unknown\n" +"Never\n" +"Marginal\n" +"Full\n" +"Ultimate" + +#: ../src/seahorse-key-properties.glade.h:51 +msgid "User IDs" +msgstr "User IDs" + +#: ../src/seahorse-key-properties.glade.h:52 +msgid "binbrain@gmail.com" +msgstr "binbrain@gmail.com" + +#: ../src/seahorse-keyserver-results.c:103 +#: ../src/seahorse-keyserver-results.c:179 +msgid "Couldn't retrieve key data from key server" +msgstr "Could not retrieve key data from key server" + +#: ../src/seahorse-keyserver-results.c:116 +msgid "Couldn't import keys into keyring" +msgstr "Could not import keys into keyring" + +#: ../src/seahorse-keyserver-results.c:118 +#, c-format +msgid "Imported %d key into keyring" +msgstr "Imported %d key into keyring" + +#: ../src/seahorse-keyserver-results.c:119 +#, c-format +msgid "Imported %d keys into keyring" +msgstr "Imported %d keys into keyring" + +#: ../src/seahorse-keyserver-results.c:140 +msgid "Save Remote Keys" +msgstr "Save Remote Keys" + +#: ../src/seahorse-keyserver-results.c:294 +msgid "_Close" +msgstr "_Close" + +#: ../src/seahorse-keyserver-results.c:295 +msgid "Close this window" +msgstr "Close this window" + +#: ../src/seahorse-keyserver-results.c:307 +msgid "Import selected keys to local keyring" +msgstr "Import selected keys to local keyring" + +#: ../src/seahorse-keyserver-results.c:310 +msgid "Save As..." +msgstr "Save As..." + +#: ../src/seahorse-keyserver-results.c:311 +msgid "Save selected keys as a file" +msgstr "Save selected keys as a file" + +#: ../src/seahorse-keyserver-results.c:371 +msgid "Remote Keys" +msgstr "Remote Keys" + +#: ../src/seahorse-keyserver-results.c:373 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "Remote Keys Containing '%s'" + +#: ../src/seahorse-keyserver-results.glade.h:1 +msgid "Remote Encryption Keys" +msgstr "Remote Encryption Keys" + +#: ../src/seahorse-keyserver-search.glade.h:1 +msgid "Key Servers:" +msgstr "Key Servers:" + +#: ../src/seahorse-keyserver-search.glade.h:2 +msgid "Shared Keys Near Me:" +msgstr "Shared Keys Near Me:" + +#: ../src/seahorse-keyserver-search.glade.h:3 +msgid "Find Remote Keys" +msgstr "Find Remote Keys" + +#: ../src/seahorse-keyserver-search.glade.h:4 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." + +#: ../src/seahorse-keyserver-search.glade.h:5 +msgid "Where to search:" +msgstr "Where to search:" + +#: ../src/seahorse-keyserver-search.glade.h:6 +msgid "_Search" +msgstr "_Search" + +#: ../src/seahorse-keyserver-search.glade.h:7 +msgid "_Search for keys containing: " +msgstr "_Search for keys containing: " + +#: ../src/seahorse-keyserver-sync.c:43 +#, c-format +msgid "Couldn't publish keys to server: %s" +msgstr "Could not publish keys to server: %s" + +#: ../src/seahorse-keyserver-sync.c:74 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "Could not retrieve keys from server: %s" + +#: ../src/seahorse-keyserver-sync.c:136 +msgid "Couldn't export keys" +msgstr "Could not export keys" + +#: ../src/seahorse-keyserver-sync.c:162 +msgid "Syncing keys..." +msgstr "Syncing keys..." + +#: ../src/seahorse-keyserver-sync.c:233 +#, c-format +msgid "%d key is selected for syncing" +msgid_plural "%d keys are selected for syncing" +msgstr[0] "%d key is selected for syncing" +msgstr[1] "%d keys are selected for syncing" + +#: ../src/seahorse-keyserver-sync.glade.h:1 +msgid "X keys are selected for syncing" +msgstr "X keys are selected for syncing" + +#: ../src/seahorse-keyserver-sync.glade.h:2 +msgid "Sync Keys" +msgstr "Sync Keys" + +#: ../src/seahorse-keyserver-sync.glade.h:3 +msgid "" +"This will publish the keys in your keyring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"This will publish the keys in your keyring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." + +#: ../src/seahorse-keyserver-sync.glade.h:4 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." + +#: ../src/seahorse-keyserver-sync.glade.h:5 +msgid "_Sync" +msgstr "_Sync" + +#: ../src/seahorse-multi-encrypt.glade.h:2 +msgid "You have selected multiple files or folders" +msgstr "You have selected multiple files or folders" + +#: ../src/seahorse-multi-encrypt.glade.h:3 +msgid "" +"Because the files are located remotely, each file will be encrypted " +"seperately." +msgstr "" +"Because the files are remotely located, each file will be encrypted " +"separately." + +#: ../src/seahorse-multi-encrypt.glade.h:4 +msgid "Encrypt Multiple Files" +msgstr "Encrypt Multiple Files" + +#: ../src/seahorse-multi-encrypt.glade.h:5 +msgid "Encrypt each file seperately" +msgstr "Encrypt each file separately" + +#: ../src/seahorse-multi-encrypt.glade.h:6 +msgid "Encrypt packed together in a package" +msgstr "Encrypt all files together in a package" + +#: ../src/seahorse-multi-encrypt.glade.h:7 +msgid "Package Name:" +msgstr "Package Name:" + +#: ../src/seahorse-multi-encrypt.glade.h:8 +msgid "Packaging:" +msgstr "Packaging:" + +#: ../src/seahorse-multi-encrypt.glade.h:9 +msgid "encrypted-package.rar" +msgstr "encrypted-package.rar" + +#: ../src/seahorse-pgp-encrypted.desktop.in.h:1 +msgid "Decrypt File" +msgstr "Decrypt File" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:1 +#: ../src/seahorse-ssh-key-properties.glade.h:1 +msgid "(placeholder)" +msgstr "(placeholder)" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:2 +msgid "(placeolder)" +msgstr "(placeolder)" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:3 +msgid "6/24/04 (placeholder)" +msgstr "6/24/04 (placeholder)" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:4 +msgid "6/28/10 (placeholder)" +msgstr "6/28/10 (placeholder)" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:5 +msgid "Comment:" +msgstr "Comment:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:6 +msgid "Dates:" +msgstr "Dates:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:7 +msgid "Email:" +msgstr "Email:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:8 +#: ../src/seahorse-ssh-key-properties.glade.h:4 +msgid "Fingerprint:" +msgstr "Fingerprint:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:9 +msgid "Key ID:" +msgstr "Key ID:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:10 +#: ../src/seahorse-ssh-key-properties.glade.h:6 +msgid "Name:" +msgstr "Name:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:11 +msgid "Other People Who _Trust this Key:" +msgstr "Other People Who _Trust this Key:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:12 +msgid "Override Trust:" +msgstr "Override Trust:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:13 +msgid "Photo " +msgstr "Photo " + +#: ../src/seahorse-pgp-public-key-properties.glade.h:14 +#: ../src/seahorse-ssh-key-properties.glade.h:7 +msgid "Technical Details:" +msgstr "Technical Details:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:15 +msgid "This key has been revoked" +msgstr "This key has been revoked" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:16 +msgid "This key has expired" +msgstr "This key has expired" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:17 +msgid "This key is not trusted by you." +msgstr "This key is not trusted by you." + +#: ../src/seahorse-pgp-public-key-properties.glade.h:18 +msgid "This key is trusted and signed by you." +msgstr "This key is trusted and signed by you." + +#: ../src/seahorse-pgp-public-key-properties.glade.h:19 +msgid "This key is trusted." +msgstr "This key is trusted." + +#: ../src/seahorse-pgp-public-key-properties.glade.h:20 +msgid "_Other Names" +msgstr "_Other Names" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:21 +msgid "_Subkeys" +msgstr "_Subkeys" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:23 +#: ../src/seahorse-ssh-key-properties.glade.h:11 +msgid "Details" +msgstr "Details" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:25 +msgid "" +"If you no longer trust this person's identity, revoke your signature:" +msgstr "" +"If you no longer trust this person's identity, revoke your signature:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:26 +msgid "" +"If you trust that this key belongs to who it says it does, sign this " +"key:" +msgstr "" +"If you trust that this key belongs to who it says it does, sign this " +"key:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:27 +msgid "Its trust is manually specified on the Details tab." +msgstr "Its trust is manually specified on the Details tab." + +#: ../src/seahorse-pgp-public-key-properties.glade.h:28 +#: ../src/seahorse-ssh-key-properties.glade.h:14 +msgid "Key ID:" +msgstr "Key ID:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:30 +msgid "Owner" +msgstr "Owner" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:31 +msgid "" +"PLAC EHOL DER0 9023 435F \n" +"B4C3 4349 0932 7854 3452" +msgstr "" +"PLAC EHOL DER0 9023 435F \n" +"B4C3 4349 0932 7854 3452" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:33 +msgid "PLACEHOL" +msgstr "PLACEHOL" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:35 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "The owner of the key revoked the key. It can no longer be used." + +#: ../src/seahorse-pgp-public-key-properties.glade.h:36 +msgid "This key expired on: (placeholder)" +msgstr "This key expired on: (placeholder)" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:37 +msgid "To indicate your trust of this key to others, sign this key:" +msgstr "To indicate your trust of this key to others, sign this key:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:45 +msgid "_Only display the signatures of people I trust" +msgstr "_Only display the signatures of people I trust" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:46 +msgid "_Revoke Signature" +msgstr "_Revoke Signature" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:47 +msgid "_Sign this Key" +msgstr "_Sign this Key" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:48 +msgid "_Trust:" +msgstr "_Trust:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:49 +msgid "place@holder.com" +msgstr "place@holder.com" + +#: ../src/seahorse-pgp-signature.desktop.in.h:1 +msgid "Verify Signature" +msgstr "Verify Signature" + +#: ../src/seahorse-preferences.c:50 ../src/seahorse-preferences.glade.h:3 +msgid "Key Manager" +msgstr "Key Manager" + +#: ../src/seahorse-preferences.c:72 +msgid "_Validity" +msgstr "_Validity" + +#: ../src/seahorse-preferences.c:74 ../src/seahorse-sign.glade.h:13 +msgid "_Expires" +msgstr "_Expires" + +#: ../src/seahorse-preferences.c:76 +msgid "_Trust" +msgstr "_Trust" + +#: ../src/seahorse-preferences.c:78 +msgid "T_ype" +msgstr "T_ype" + +#: ../src/seahorse-preferences.glade.h:1 +msgid "Close Preferences" +msgstr "Close Preferences" + +#: ../src/seahorse-preferences.glade.h:2 +msgid "Default Key:" +msgstr "Default Key:" + +#: ../src/seahorse-preferences.glade.h:4 +msgid "Preferences Help" +msgstr "Preferences Help" + +#: ../src/seahorse-preferences.glade.h:5 +msgid "Seahorse Preferences" +msgstr "Seahorse Preferences" + +#: ../src/seahorse-preferences.glade.h:6 +msgid "Visible Columns" +msgstr "Visible Columns" + +#. TRANSLATOR: This string will become +#. * "You have selected %d files and %d folders" +#: ../src/seahorse-process-multiple.c:48 +#, c-format +msgid "You have selected %d file " +msgid_plural "You have selected %d files " +msgstr[0] "You have selected %d file " +msgstr[1] "You have selected %d files " + +#. TRANSLATOR: This string will become +#. * "You have selected %d files and %d folders" +#: ../src/seahorse-process-multiple.c:53 +#, c-format +msgid "and %d folder" +msgid_plural "and %d folders" +msgstr[0] "and %d folder" +msgstr[1] "and %d folders" + +#. should never be called for just one file +#: ../src/seahorse-process-multiple.c:66 +#, c-format +msgid "You have selected %d files" +msgstr "You have selected %d files" + +#: ../src/seahorse-process-multiple.c:70 +#, c-format +msgid "You have selected %d folder" +msgid_plural "You have selected %d folders" +msgstr[0] "You have selected %d folder" +msgstr[1] "You have selected %d folders" + +#: ../src/seahorse-revoke.c:53 +msgid "Couldn't revoke subkey" +msgstr "Could not revoke subkey" + +#: ../src/seahorse-revoke.c:76 +#, c-format +msgid "Revoke Subkey %d of %s" +msgstr "Revoke Subkey %d of %s" + +#: ../src/seahorse-revoke.c:78 +#, c-format +msgid "Revoke %s" +msgstr "Revoke %s" + +#: ../src/seahorse-revoke.c:106 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" + +#: ../src/seahorse-revoke.c:121 +msgid "Couldn't add revoker" +msgstr "Could not add revoker" + +#: ../src/seahorse-revoke.glade.h:2 +msgid "Compromised" +msgstr "Compromised" + +#: ../src/seahorse-revoke.glade.h:3 +msgid "Key has been compromised" +msgstr "Key has been compromised" + +#: ../src/seahorse-revoke.glade.h:4 +msgid "Key has been superseded" +msgstr "Key has been superseded" + +#: ../src/seahorse-revoke.glade.h:5 +msgid "Key is no longer used" +msgstr "Key is no longer used" + +#: ../src/seahorse-revoke.glade.h:6 +msgid "No Reason" +msgstr "No Reason" + +#: ../src/seahorse-revoke.glade.h:7 +msgid "No reason for revoking key" +msgstr "No reason for revoking key" + +#: ../src/seahorse-revoke.glade.h:8 +msgid "Not Used" +msgstr "Not Used" + +#: ../src/seahorse-revoke.glade.h:9 +msgid "Optional description of revocation" +msgstr "Optional description of revocation" + +#: ../src/seahorse-revoke.glade.h:10 +msgid "Re_voke" +msgstr "Re_voke" + +#: ../src/seahorse-revoke.glade.h:11 +msgid "Reason for revoking the key" +msgstr "Reason for revoking the key" + +#: ../src/seahorse-revoke.glade.h:13 +msgid "Superseded" +msgstr "Superseded" + +#: ../src/seahorse-revoke.glade.h:14 +msgid "_Description:" +msgstr "_Description:" + +#: ../src/seahorse-revoke.glade.h:15 +msgid "_Reason:" +msgstr "_Reason:" + +#: ../src/seahorse-sign.c:58 +msgid "Couldn't sign key" +msgstr "Could not sign key" + +#: ../src/seahorse-sign.c:83 +#, c-format +msgid "Are you sure you want to sign all user IDs for %s?" +msgstr "Are you sure you want to sign all user IDs for %s?" + +#: ../src/seahorse-sign.c:129 +#, c-format +msgid "Are you sure you want to sign the '%s' user ID?" +msgstr "Are you sure you want to sign the '%s' user ID?" + +#: ../src/seahorse-sign.glade.h:1 +msgid "Casually" +msgstr "Casually" + +#: ../src/seahorse-sign.glade.h:2 +msgid "Default answer" +msgstr "Default answer" + +#: ../src/seahorse-sign.glade.h:3 +msgid "Have casually checked key" +msgstr "Have casually checked key" + +#: ../src/seahorse-sign.glade.h:4 +msgid "Have checked key very carefully" +msgstr "Have checked key very carefully" + +#: ../src/seahorse-sign.glade.h:5 +msgid "Have not checked key" +msgstr "Have not checked key" + +#: ../src/seahorse-sign.glade.h:6 +msgid "If signature can be revoked" +msgstr "If signature can be revoked" + +#: ../src/seahorse-sign.glade.h:7 +msgid "If signature expires with key" +msgstr "If signature expires with key" + +#: ../src/seahorse-sign.glade.h:8 +msgid "" +"If signature is local to the key ring and won't be exported with the key" +msgstr "" +"If signature is local to the key ring and should not be exported with the key" + +#: ../src/seahorse-sign.glade.h:9 +msgid "No answer" +msgstr "No answer" + +#: ../src/seahorse-sign.glade.h:10 +msgid "Not at all" +msgstr "Not at all" + +#: ../src/seahorse-sign.glade.h:11 +msgid "Sign Key" +msgstr "Sign Key" + +#: ../src/seahorse-sign.glade.h:12 +msgid "Very carefully" +msgstr "Very carefully" + +#: ../src/seahorse-sign.glade.h:14 +msgid "_How carefully have you checked this key?" +msgstr "_How carefully have you checked this key?" + +#: ../src/seahorse-sign.glade.h:15 +msgid "_Local" +msgstr "_Local" + +#: ../src/seahorse-sign.glade.h:16 +msgid "_Revocable" +msgstr "_Revocable" + +#: ../src/seahorse-sign.glade.h:17 +msgid "_Sign" +msgstr "_Sign" + +#: ../src/seahorse-ssh-key-properties.c:66 +msgid "Couldn't change passhrase for SSH key." +msgstr "Could not change passhrase for SSH key." + +#: ../src/seahorse-ssh-key-properties.glade.h:2 +msgid "/home/nate/.ssh/blah_rsa" +msgstr "/home/nate/.ssh/blah_rsa" + +#: ../src/seahorse-ssh-key-properties.glade.h:3 +msgid "00:00:00:00:00" +msgstr "00:00:00:00:00" + +#: ../src/seahorse-ssh-key-properties.glade.h:5 +msgid "Location:" +msgstr "Location:" + +#: ../src/seahorse-ssh-key-properties.glade.h:8 +msgid "Type:" +msgstr "Type:" + +#: ../src/seahorse-ssh-key-properties.glade.h:9 +msgid "Algorithm:" +msgstr "Algorithm:" + +#: ../src/seahorse-ssh-key-properties.glade.h:10 +msgid "Change _Passphrase" +msgstr "Change _Passphrase" + +#: ../src/seahorse-ssh-key-properties.glade.h:12 +msgid "E_xport Complete Key" +msgstr "E_xport Complete Key" + +#: ../src/seahorse-ssh-key-properties.glade.h:13 +msgid "Key" +msgstr "Key" + +#: ../src/seahorse-ssh-key-properties.glade.h:16 +msgid "Secure Shell Key" +msgstr "Secure Shell Key" + +#: ../src/seahorse-ssh-upload.c:41 +msgid "Couldn't configure SSH keys on remote computer." +msgstr "Could not configure SSH keys on remote computer." + +#: ../src/seahorse-ssh-upload.c:148 +msgid "Configuring SSH Keys..." +msgstr "Configuring SSH Keys..." + +#: ../src/seahorse-ssh-upload.glade.h:2 +msgid "Computer:" +msgstr "Computer:" + +#: ../src/seahorse-ssh-upload.glade.h:3 +msgid "Configure SSH Key for Login" +msgstr "Configure SSH Key for Login" + +#: ../src/seahorse-ssh-upload.glade.h:4 +msgid "Login Name:" +msgstr "Login Name:" + +#: ../src/seahorse-ssh-upload.glade.h:7 +msgid "" +"This will configure another computer to allow use your SSH key when you log " +"into it.\n" +"\n" +"The computer in question must be running SSH, and you must already have an " +"login account on it. " +msgstr "" +"This will configure another computer to allow use of your SSH key when you " +"log into it.\n" +"\n" +"The computer in question must be running SSH, and you must already have an " +"login account on it. " + +#: ../src/seahorse.desktop.in.h:2 +msgid "Manage your encryption keys" +msgstr "Manage your encryption keys" diff --git a/po/en_GB.po b/po/en_GB.po new file mode 100644 index 00000000..74c42d2a --- /dev/null +++ b/po/en_GB.po @@ -0,0 +1,5074 @@ +# English (British) translation. +# Copyright (C) 2004 THE seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# Gareth Owen , David Lodge , 2004. +# Philip Withnall , 2009, 2010. +# Zander Brown , 2019-2020. +# Bruce Cowan , 2010-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-09-01 19:54+0100\n" +"Last-Translator: Bruce Cowan \n" +"Language-Team: English - United Kingdom \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 3.36.0\n" +"X-Project-Style: gnome\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Add Key Server" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Custom" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Cancel" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Save" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Cannot delete" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Couldn’t export keys" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Couldn’t export data" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Cancel" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Delete" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Export" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Enter PIN or password for: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Confirm:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_OK" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Password:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Passwords" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Keys" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certificates" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Preferences" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "None: Don’t publish keys" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Not a valid Key Server address." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"For help contact your system administrator or the administrator of the key " +"server." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "initial temporary item" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Key Server Type:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Host:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "The host name or address of the server." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "The port to access the server on." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Find keys via:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Publish keys to:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Automatically retrieve keys from _key servers" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Automatically synchronise _modified keys with key servers" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Key Servers" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Unknown" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Never" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Marginal" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Full" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Ultimate" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Disabled" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Revoked" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Overview" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Help" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Open menu" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Create a new item" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Import item from file" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Search" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Shortcut list" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Quit" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navigation" + +#: data/gtk/help-overlay.ui:69 +#| msgid "Couldn't remove keyring" +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Select previous keyring" + +#: data/gtk/help-overlay.ui:76 +#| msgid "Selected %d key" +#| msgid_plural "Selected %d keys" +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Select next keyring" + +#: data/gtk/help-overlay.ui:83 +#| msgid "Show sidebar listing keyrings" +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Show sidebar (on small screens)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Show keyring contents (on small screens)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Auto retrieve keys" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Whether or not keys should be automatically retrieved from key servers." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Auto publish keys" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Whether or not modified keys should be automatically published." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Publish keys to this key server" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Last key server search pattern" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "The last search pattern searched for against a key server." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Last key servers used" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"The last key server a search was performed against or empty for all key " +"servers." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Show keyrings sidebar" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Show keyrings sidebar in Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Which items to show" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Width of the side pane" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "The default width of the side pane." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "The keyrings chosen" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "The URIs of the keyrings chosen in the sidebar." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "The column to sort the Seahorse keys by" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Show validity column" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "No longer in use." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Show expiry column" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Show trust column" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Show type column" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Width of the window" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Width (in pixels) of the window." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Height of the window" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Height (in pixels) of the window." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Manage your passwords and encryption keys" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse is a GNOME application for managing encryption keys." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "The GNOME Project" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Passwords and Keys" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "keyring;encryption;security;sign;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Stored personal passwords, credentials and secrets" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Couldn’t unlock" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Couldn’t add item" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Password or Secret" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Network connection secret" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Wi-Fi password" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Network password" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "GNOME Web password" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Google Chrome password" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Instant messaging password" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "IM account password for " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Telepathy password" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "GNOME Online Accounts password" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Save changes for this item?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Access a network share or resource" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Access a website" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Unlocks a PGP key" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Unlocks a Secure Shell key" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Saved password or login" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Network Credentials" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Password" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Couldn’t change password." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Couldn’t set description." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Error deleting the password." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Stored note" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Keyring password" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Encryption key password" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Key storage password" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Network Manager secret" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Are you sure you want to delete the password “%s”?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Are you sure you want to delete %d password?" +msgstr[1] "Are you sure you want to delete %d passwords?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Couldn’t add keyring" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Unknown date" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "A keyring that is automatically unlocked on login" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "A keyring used to store passwords" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Couldn’t set default keyring" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Couldn’t change keyring password" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Set as default" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Change _Password" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Are you sure you want to delete the password keyring “%s”?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "I understand that all items will be permanently deleted." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Show/Hide password" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Add Password" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Keyring:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Description:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Password:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Add" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Add password keyring" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "New Keyring Name:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Item Properties" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Description" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Copy" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Use" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Type" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Server" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Login" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Details" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Delete Password" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Keyring properties" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Name" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Created on" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Change password" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Set as default" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Display flags" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Displayed date and/or time properties" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Lazy mode" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Lazy mode doesn’t normalise entered date and time values" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Year" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Displayed year" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Month" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Displayed month" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Day" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Displayed day of month" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Hour" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Displayed hour" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minute" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Displayed minute" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Second" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Displayed second" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Lower limit year" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Year part of the lower date limit" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Upper limit year" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Year part of the upper date limit" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Lower limit month" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Month part of the lower date limit" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Upper limit month" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Month part of the upper date limit" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Lower limit day" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Day of month part of the lower date limit" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Upper limit day" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Day of month part of the upper date limit" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Lower limit hour" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Hour part of the lower time limit" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Upper limit hour" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Hour part of the upper time limit" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Lower limit minute" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Minute part of the lower time limit" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Upper limit minute" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Minute part of the upper time limit" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Lower limit second" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Second part of the lower time limit" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Upper limit second" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Second part of the upper time limit" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Date" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Enter the date directly" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Select Date" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Select the date from a calendar" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Time" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Enter the time directly" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Select Time" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Select the time from a list" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: no" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Could not display help: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Add subkey to %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (sign only)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (encrypt only)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (sign only)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (encrypt only)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Key _Type" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Key _Length" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Length of Key" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Expiration Date" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Never E_xpires" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "If key never expires" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Generate a new subkey" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Add user ID to %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Couldn’t add user ID" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Add User ID" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Full _Name" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Must be at least 5 characters long" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_E-mail Address" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Optional e-mail address" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Key Co_mment" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Optional comment describing key" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Create the new user ID" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Decryption failed. You probably do not have the decryption key." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "The operation was cancelled" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Invalid expiry date" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "The expiry date must be in the future" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Couldn’t change expiry date" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Expiry: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Never expires" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "C_hange" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Multiple Keys" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Key Data" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Armoured PGP keys" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP keys" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Couldn’t generate PGP key" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Passphrase for New PGP Key" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Enter the passphrase for your new key twice." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Generating key" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Name must be at least 5 characters long." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "New PGP key" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "A PGP key allows you to encrypt e-mail or files to other people." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Advanced key options" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Comment" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Encryption _Type" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "Key _Strength (bits)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "E_xpiration Date" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Ne_ver Expires" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "C_reate" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Generate a new key" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Are you sure you want to permanently delete %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Are you sure you want to permanently delete %d keys?" +msgstr[1] "Are you sure you want to permanently delete %d keys?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Wrong password" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"This was the third time you entered a wrong password. Please try again." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Wrong passphrase." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Enter new passphrase for “%s”" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Enter passphrase for “%s”" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Enter new passphrase" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Enter passphrase" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Passphrase" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Loaded %d key" +msgstr[1] "Loaded %d keys" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG keys" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: default keyring directory" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Don’t Resize" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Resize" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"This is not a image file, or an unrecognised kind of image file. Try to use " +"a JPEG image." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "All image files" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "All JPEG files" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "All files" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Choose Photo to Add to Key" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Open" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Couldn’t prepare photo" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Couldn’t add photo" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "The file could not be loaded. It may be in an invalid format" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Are you sure you want to remove the current photo from your key?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Couldn’t delete photo" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Couldn’t revoke subkey" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Revoke: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "No reason" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "No reason for revoking key" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Compromised" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Key has been compromised" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Superseded" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Key has been superseded" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Not Used" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Key is no longer used" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Couldn’t add revoker" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "I understand that this secret key will be permanently deleted." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"This key was already signed by\n" +"“%s”" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Couldn’t sign key" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "No keys usable for signing" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Sign Key" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "By signing you indicate your trust that this key belongs to:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Key Name" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "How carefully have you checked this key?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Not at all" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Casually" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Very Carefully" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"You could use a hard-to-forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used e-mail to check that the e-mail address belongs to the owner." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "How others will see this signature:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Others may not see this signature" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "I can _revoke this signature at a later date." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Sign key as:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Signer:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Sign" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Unknown" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "Search was not specific enough. Server “%s” found too many keys." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Couldn’t communicate with server “%s”: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP Key Server" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Couldn’t import key: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Key import succeeded" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Import" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Can’t import key" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Remote keys" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Remote keys containing “%s”" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "The search for keys failed." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Find Remote Keys" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Search for keys containing: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Where to search:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Key Servers:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Shared Keys Near Me:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Search" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Couldn’t publish keys to server" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Couldn’t retrieve keys from server: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d key is selected for synchronising" +msgstr[1] "%d keys are selected for synchronising" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Synchronising keys…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Sync Keys" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Key Servers" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Sync" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Couldn’t communicate with %s: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Connecting to: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Couldn’t resolve address: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Resolving server address: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP Key Server" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP Keys" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP keys are for encrypting e-mail or files" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(and %d other)" +msgstr[1] "(and %d others)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Personal PGP key" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP key" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Couldn’t change primary user ID" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Are you sure you want to permanently delete the “%s” user ID?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Couldn’t delete user ID" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Unknown]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Name/E-mail" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Signature ID" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Couldn’t change primary photo" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Error changing password" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(unknown)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "This key expired on: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Public key" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Private key" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Are you sure you want to permanently delete subkey %d of %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Couldn’t delete subkey" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Unable to change trust" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Couldn’t export key" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Never" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Usage" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Created" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Expires" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Status" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Strength" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Revoked" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Expired" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Disabled" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Good" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Key ID" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "I trust signatures from “%s” on other keys" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"If you no longer trust that “%s” owns this key, revoke your signature:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Export _secret key" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Export _public key" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "This key has been revoked" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "The owner of the key revoked the key. It can no longer be used." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "This key has expired" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Add a photo to this key" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Remove this photo from this key" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Make this photo the primary photo" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Go to previous photo" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Go to next photo" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Comment" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Change _Passphrase" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Owner" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Key Names and Signatures" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Primary" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Sign" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Delete" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Add Name" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Revoke" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Names and Signatures" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Key ID:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Type:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Strength:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Technical Details" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Fingerprint" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Created:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Expires:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Dates" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Override Owner _Trust:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Export to file" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Actions" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Expire" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Subkeys" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Marginally" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Fully" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Ultimately" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Other Names:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Your trust of this key" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Your trust is manually specified on the Details tab." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Sign this Key" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Revoke Signature" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_People who have signed this key:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Only display the signatures of people I trust" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Trust" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Technical Details:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Fingerprint:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Dates:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +#| msgid "Indicate Trust:" +msgid "Indicate trust:" +msgstr "Indicate trust:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +#| msgid "You _Trust the Owner:" +msgid "You _trust the owner:" +msgstr "You _trust the owner:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Encrypt" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certify" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Authenticate" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Key" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Subkey %d of %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Reason for revoking the key" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Reason:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Optional description of revocation" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Revoke key" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Re_voke" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"You have no personal PGP keys that can be used to sign a document or message." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Choose Signing Key" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Sign message with key:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Exporting data" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Retrieving data" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Importing data" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Sending data" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Unavailable" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certificate" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certificates (DER encoded)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Personal certificate and key" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Personal certificate" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Are you sure you want to permanently delete %d certificate?" +msgstr[1] "Are you sure you want to permanently delete %d certificates?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Couldn’t generate private key" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "I understand that this key will be permanently deleted." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Unnamed private key" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Private key" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Unnamed" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Failed to export certificate" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Couldn’t delete" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Create" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Couldn’t create certificate request" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Save certificate request" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Save" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Certificate request" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM encoded request" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Couldn’t save certificate request" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Unknown" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509 certificates and related keys" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "New private key" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Create a new private key" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Label:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Stored at:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Key _Type:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "Key _Strength (bits):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Delete this certificate or key" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Export the certificate" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Request Certificate" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Create a certificate request file for this key" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Create a certificate request file." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "The common name (CN) placed in the certificate request." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Name (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Contributions:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Version of this application" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Abigail Brady \n" +"Bastien Nocera \n" +"Gareth Owen \n" +"David Lodge \n" +"Philip Withnall \n" +"Bruce Cowan \n" +"David King \n" +"Zander Brown " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Seahorse Project Homepage" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Data to be imported" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Import" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Import failed" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Import Key" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "All key files" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Dropped text" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Clipboard text" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Couldn’t unlock keyring" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Change Passphrase" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "New _Passphrase:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Confirm new passphrase" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Con_firm Passphrase:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Find remote keys…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Sync and publish keys…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Preferences" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Help" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Keyboard Shortcuts" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_About Passwords and Keys" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filter items:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Show p_ersonal" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Show _trusted" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Show an_y" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Secure Shell key" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Used to access other computers" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG key" + +#: src/seahorse-key-manager.ui:132 +#| msgid "Used to encrypt email and files" +msgid "Used to encrypt emails and files" +msgstr "Used to encrypt e-mails and files" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Password keyring" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Used to store application and network passwords" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Safely store a password or secret" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Used to request a certificate" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Import from file…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Add a new key or item" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Back" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Search for a key or password" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filter" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "This collection seems to be empty" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Keyring is locked" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Unlock" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +#| msgid "_Copy Key" +msgid "Copy secret" +msgstr "Copy secret" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Export…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Properties" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Configure Key for Secure Shell…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Lock" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Unlock" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Properties" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Couldn’t lock" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Secure Shell" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Keys used to connect securely to other computers" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Are you sure you want to delete the secure shell key “%s”?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Are you sure you want to delete %u secure shell key?" +msgstr[1] "Are you sure you want to delete %u secure shell keys?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Secret SSH keys" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Public SSH keys" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH Key" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "No public key file is available for this key." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Couldn’t load newly generated Secure Shell key" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Couldn’t generate Secure Shell key" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Creating Secure Shell Key" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bits" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bits" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Unknown key type!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Unknown type" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Couldn’t rename key." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Couldn’t change authorisation for key." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Couldn’t change passphrase for key." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Error deleting the SSH key." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Personal SSH key" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH key" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Unreadable Secure Shell Key)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Secure Shell Key" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Remote Host Password" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Enter Key Passphrase" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Passphrase for New Secure Shell Key" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Importing key: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Importing key. Enter passphrase" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Enter your Secure Shell passphrase:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Old Key Passphrase" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Enter the old passphrase for: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "New Key Passphrase" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Enter the new passphrase for: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Enter the new passphrase again: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "New Secure Shell Key" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "A Secure Shell (SSH) key lets you connect securely to other computers." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Description" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Your e-mail address, or a reminder of what this key is for." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognise your new key." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Just Create Key" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Create and Set Up" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH Key Properties" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Name" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algorithm" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Key Length" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Location" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Public Key" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Copy public key to clipboard" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Remote Access" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Allows accessing this computer remotely" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Export" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Delete SSH Key" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Set Up Computer for SSH Connection" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Server address:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "eg: fileserver.example.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Login name:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Set Up" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH keys" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "No private key file is available for this key." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Couldn’t configure Secure Shell keys on remote computer." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Configuring Secure Shell Keys…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." + +#~ msgid "Expiration Date:" +#~ msgstr "Expiration Date:" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Couldn’t add subkey" + +#~ msgid "Encryption _Type:" +#~ msgstr "Encryption _Type:" + +#~ msgid "Keyring is unlocked" +#~ msgstr "Keyring is unlocked" + +#~ msgid "Lock" +#~ msgstr "Lock" + +#~| msgid "Combine all keyrings" +#~ msgid "_Combine all keyrings" +#~ msgstr "_Combine all keyrings" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Full _Name:" +#~ msgstr "Full _Name:" + +#~ msgid "_Email Address:" +#~ msgstr "_E-mail Address:" + +#~ msgid "_File" +#~ msgstr "_File" + +#~ msgid "_Edit" +#~ msgstr "_Edit" + +#~ msgid "Copy to the clipboard" +#~ msgstr "Copy to the clipboard" + +#~ msgid "Delete selected items" +#~ msgstr "Delete selected items" + +#~ msgid "Show the properties of this item" +#~ msgstr "Show the properties of this item" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Show the properties of this keyring" + +#~ msgid "Prefere_nces" +#~ msgstr "Prefere_nces" + +#~ msgid "Change preferences for this program" +#~ msgstr "Change preferences for this program" + +#~ msgid "_View" +#~ msgstr "_View" + +#~ msgid "_About" +#~ msgstr "_About" + +#~ msgid "About this program" +#~ msgstr "About this program" + +#~ msgid "_Contents" +#~ msgstr "_Contents" + +#~ msgid "Show Seahorse help" +#~ msgstr "Show Seahorse help" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "New password keyring" + +#~ msgid "New password…" +#~ msgstr "New password…" + +#~ msgid "Stored Password" +#~ msgstr "Stored Password" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "Applications usually store new passwords in the default keyring." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Change the unlock password of the password storage keyring" + +#~ msgid "_Show Password" +#~ msgstr "_Show Password" + +#~ msgid "PGP Key" +#~ msgstr "PGP Key" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Importing keys from key servers" + +#~ msgid "_Remote" +#~ msgstr "_Remote" + +#~ msgid "Close this window" +#~ msgstr "Close this window" + +#~ msgid "Search for keys on a key server" +#~ msgstr "Search for keys on a key server" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Import selected keys to local key ring" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Publish and/or synchronise your keys with those online." + +#~ msgid "Marginal" +#~ msgstr "Marginal" + +#~ msgid "Full" +#~ msgstr "Full" + +#~ msgid "Ultimate" +#~ msgstr "Ultimate" + +#~ msgid "Photo " +#~ msgstr "Photo " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "Email:" +#~ msgstr "E-mail:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Decrypt files and e-mail sent to you." + +#~ msgid "Private PGP Key" +#~ msgstr "Private PGP Key" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Encrypt files and e-mail to the key’s owner" + +#~ msgid "- System Settings" +#~ msgstr "- System Settings" + +#~ msgid "Don't display a window" +#~ msgstr "Don't display a window" + +#~ msgid "_New" +#~ msgstr "_New" + +#~ msgid "Close this program" +#~ msgstr "Close this program" + +#~ msgid "_New…" +#~ msgstr "_New…" + +#~ msgid "_Import…" +#~ msgstr "_Import…" + +#~ msgid "_Paste" +#~ msgstr "_Paste" + +#~ msgid "Import from the clipboard" +#~ msgstr "Import from the clipboard" + +#~ msgid "By _Keyring" +#~ msgstr "By _Keyring" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Only show personal keys, certificates and passwords" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Only show trusted keys, certificates and passwords" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Show all keys, certificates and passwords" + +#~ msgid "New item" +#~ msgstr "New item" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Select the type of item to create:" + +#~ msgid "Continue" +#~ msgstr "Continue" + +#~ msgid "First time options:" +#~ msgstr "First time options:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "To get started with encryption you will need keys." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Import existing keys from a file:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Generate a new key of your own: " + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Used to access other computers (eg: via a terminal)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "Identifier:" +#~ msgstr "Identifier:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "The owner of this key is _authorised to connect to this computer" + +#~ msgid "This only applies to the %s account." +#~ msgstr "This only applies to the %s account." + +#~ msgid "Key length:" +#~ msgstr "Key length:" + +#~ msgid "E_xport Complete Key" +#~ msgstr "E_xport Complete Key" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "The search provider is not loaded yet" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "Keyring" +#~ msgstr "Keyring" + +#~ msgid "E_xport..." +#~ msgstr "E_xport…" + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Find Remote Keys…" + +#~ msgid "Synchronizing keys..." +#~ msgstr "Synchronising keys…" + +#~ msgid "_New..." +#~ msgstr "_New…" + +#~ msgid "_Import..." +#~ msgstr "_Import…" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "The SSH command was terminated unexpectedly." + +#~ msgid "The SSH command failed." +#~ msgstr "The SSH command failed." + +#~ msgid "Updating password" +#~ msgstr "Updating password" + +#~ msgid "Ssh Key" +#~ msgstr "SSH Key" + +#~ msgid "_Computer Name:" +#~ msgstr "_Computer Name:" + +#~ msgid "Password:" +#~ msgstr "Password:" + +#~ msgid "Key Servers:" +#~ msgstr "Key Servers:" + +#~ msgid "Never" +#~ msgstr "Never" + +#~ msgid "Key ID:" +#~ msgstr "Key ID:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "Comment:" +#~ msgstr "Comment:" + +#~ msgid "Use:" +#~ msgstr "Use:" + +#~ msgid "Type:" +#~ msgstr "Type:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "Key Names and Signatures" + +#~ msgid "Dates" +#~ msgstr "Dates" + +#~ msgid "Actions" +#~ msgstr "Actions" + +#~ msgid "_Subkeys" +#~ msgstr "_Subkeys" + +#~ msgid "Dates:" +#~ msgstr "Dates:" + +#~ msgid "Key Name" +#~ msgstr "Key Name" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Name:" + +#~ msgid "Trust" +#~ msgstr "Trust" + +#~ msgid "Strength:" +#~ msgstr "Strength:" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "Access to the key ring was denied" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "The gnome-keyring daemon is not running" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "The key ring has already been unlocked" + +#~ msgid "No such key ring exists" +#~ msgstr "No such key ring exists" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "Couldn't communicate with key ring daemon" + +#~ msgid "The item already exists" +#~ msgstr "The item already exists" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "Internal error accessing gnome-keyring" + +#~ msgid "Algorithms here" +#~ msgstr "Algorithms here" + +#~ msgid "Deleting item" +#~ msgid_plural "Deleting items" +#~ msgstr[0] "Deleting item" +#~ msgstr[1] "Deleting items" + +#~ msgid "Passwords: %s" +#~ msgstr "Passwords: %s" + +#~ msgid "Passwords: %s" +#~ msgstr "Passwords: %s" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." + +#~ msgid "Couldn't delete keyring" +#~ msgstr "Couldn't delete keyring" + +#~ msgid "Archive files" +#~ msgstr "Archive files" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" + +#~ msgid "_Replace" +#~ msgstr "_Replace" + +#~ msgid "_Sign Key..." +#~ msgstr "_Sign Key…" + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "Are you sure you want to permanently delete %d keys and identities?" + +#~ msgid "Couldn't delete public key" +#~ msgstr "Couldn't delete public key" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "Couldn't export key to \"%s\"" + +#~ msgid "Export Complete Key" +#~ msgstr "Export Complete Key" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "Are you sure you want to delete the certificate '%s'?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "Are you sure you want to delete %d certificate?" +#~ msgstr[1] "Are you sure you want to delete %d passwords?" + +#~ msgid "Deleting" +#~ msgstr "Deleting" + +#~ msgid "Create New ..." +#~ msgstr "Create New…" + +#~ msgid "Importing keys" +#~ msgstr "Importing keys" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "Unrecognised key type, or invalid data format" + +#~ msgid "Importing Keys" +#~ msgstr "Importing Keys" + +#~ msgid "T_ypes" +#~ msgstr "T_ypes" + +#~ msgid "_Expiry" +#~ msgstr "_Expiry" + +#~ msgid "_Trust" +#~ msgstr "_Trust" + +#~ msgid "_Validity" +#~ msgstr "_Validity" + +#~ msgid "Other _Keys" +#~ msgstr "Other _Keys" + +#~ msgid "Validity" +#~ msgstr "Validity" + +#~ msgid "_Expand All" +#~ msgstr "_Expand All" + +#~ msgid "Expand all listings" +#~ msgstr "Expand all listings" + +#~ msgid "_Collapse All" +#~ msgstr "_Collapse All" + +#~ msgid "Collapse all listings" +#~ msgstr "Collapse all listings" + +#~ msgid "Exporting keys" +#~ msgstr "Exporting keys" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "Couldn't retrieve data from key server" + +#~ msgid "Retrieving keys" +#~ msgstr "Retrieving keys" + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s is a private key. Are you sure you want to proceed?" + +#~ msgid "Couldn't delete key" +#~ msgstr "Couldn't delete key" + +#~ msgid "_Key Description:" +#~ msgstr "_Key Description:" + +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "Enter a passphrase for your new Secure Shell key." + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "Do not run seahorse-daemon as a daemon" + +#~ msgid "couldn't fork process" +#~ msgstr "couldn't fork process" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "Encryption Daemon (Seahorse)" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "Invalid or unrecognised key type: %s" + +#~ msgid "This keytype is not supported: %s" +#~ msgstr "This keytype is not supported: %s" + +#~ msgid "Support for this feature was not enabled at build time" +#~ msgstr "Support for this feature was not enabled at build time" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "Invalid or unrecognised key: %s" + +#~ msgid "Signed by expired on %s." +#~ msgstr "Signed by expired on %s." + +#~ msgid "Invalid Signature" +#~ msgstr "Invalid Signature" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "Signed by on %s Expired." + +#~ msgid "Expired Signature" +#~ msgstr "Expired Signature" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "Signed by Revoked on %s." + +#~ msgid "Revoked Signature" +#~ msgstr "Revoked Signature" + +#~ msgid "Signed by on %s." +#~ msgstr "Signed by on %s." + +#~ msgid "Good Signature" +#~ msgstr "Good Signature" + +#~ msgid "Signing key not in keyring." +#~ msgstr "Signing key not in keyring." + +#~ msgid "Unknown Signature" +#~ msgstr "Unknown Signature" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "Bad or forged signature. The signed data was modified." + +#~ msgid "Bad Signature" +#~ msgstr "Bad Signature" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "Invalid or unrecognised signer: %s" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "Key is not valid for signing: %s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "Invalid or unrecognised recipient: %s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "Key is not a valid recipient for encryption: %s" + +#~ msgid "No recipients specified" +#~ msgstr "No recipients specified" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "Invalid key type for decryption: %s" + +#~ msgid "Please set clearuri" +#~ msgstr "Please set clearuri" + +#~ msgid "Please set crypturi" +#~ msgstr "Please set crypturi" + +#~ msgid "Error opening clearuri" +#~ msgstr "Error opening clearuri" + +#~ msgid "No signer specified" +#~ msgstr "No signer specified" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "Invalid key type for verifying: %s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "Invalid key id: %s" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." + +#~ msgid "Auto Sync Keys" +#~ msgstr "Auto Sync Keys" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "Controls the visibility of the expires column for the key manager." + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "Controls the visibility of the trust column for the key manager." + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "Controls the visibility of the type column for the key manager." + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "Controls the visibility of the validity column for the key manager." + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "Enable DNS-SD sharing" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." + +#~ msgid "ID of the default key" +#~ msgstr "ID of the default key" + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armour " +#~ "encoded." + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." + +#~ msgid "Last key used to sign a message." +#~ msgstr "Last key used to sign a message." + +#~ msgid "PGP Key servers" +#~ msgstr "PGP Key servers" + +#~ msgid "Show expires column in key manager" +#~ msgstr "Show expires column in key manager" + +#~ msgid "Show trust column in key manager" +#~ msgstr "Show trust column in key manager" + +#~ msgid "Show type column in key manager" +#~ msgstr "Show type column in key manager" + +#~ msgid "Show validity column in key manager" +#~ msgstr "Show validity column in key manager" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "The ID of the last secret key used to sign a message." + +#~ msgid "The column to sort the recipients by" +#~ msgstr "The column to sort the recipients by" + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "Whether to always encrypt to default key" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "Whether to use ASCII Armour" + +#~ msgid "Couldn't set application access." +#~ msgstr "Couldn't set application access." + +#~ msgid "Path:" +#~ msgstr "Path:" + +#~ msgid "Permissions:" +#~ msgstr "Permissions:" + +#~ msgid "_Read" +#~ msgstr "_Read" + +#~ msgid "_Write" +#~ msgstr "_Write" + +#~ msgctxt "infinitive" +#~ msgid "_Delete" +#~ msgstr "_Delete" + +#~ msgid "Saving item..." +#~ msgstr "Saving item…" + +#~ msgid "Listing password keyrings" +#~ msgstr "Listing password keyrings" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." + +#~ msgid "All Keys" +#~ msgstr "All Keys" + +#~ msgid "Selected Recipients" +#~ msgstr "Selected Recipients" + +#~ msgid "Search Results" +#~ msgstr "Search Results" + +#~ msgid "Search _for:" +#~ msgstr "Search _for:" + +#~ msgid "None (Don't Sign)" +#~ msgstr "None (Don't Sign)" + +#~ msgid "Sign this message as %s" +#~ msgstr "Sign this message as %s" + +#~ msgid "_Sign message as:" +#~ msgstr "_Sign message as:" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "File is not a valid .desktop file" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "Unrecognised desktop file Version '%s'" + +#~ msgid "Starting %s" +#~ msgstr "Starting %s" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "Application does not accept documents on the command line" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "Unrecognised launch option: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "Can't pass document URIs to a 'Type=Link' desktop entry" + +#~ msgid "Not a launchable item" +#~ msgstr "Not a launchable item" + +#~ msgid "Disable connection to session manager" +#~ msgstr "Disable connection to session manager" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "Specify file containing saved configuration" + +#~ msgid "FILE" +#~ msgstr "FILE" + +#~ msgid "Specify session management ID" +#~ msgstr "Specify session management ID" + +#~ msgid "Session management options:" +#~ msgstr "Session management options:" + +#~ msgid "Show session management options" +#~ msgstr "Show session management options" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "Imported %i key" +#~ msgstr[1] "Imported %i keys" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "Imported a key for" +#~ msgstr[1] "Imported keys for" + +#~ msgid "Notification Messages" +#~ msgstr "Notification Messages" + +#~ msgid "Symmetric Key" +#~ msgstr "Symmetric Key" + +#~ msgid "Credentials" +#~ msgstr "Credentials" + +#~ msgid "Identity" +#~ msgstr "Identity" + +#~ msgid "Progress Title" +#~ msgstr "Progress Title" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "Couldn't run file-roller" + +#~ msgid "Couldn't package files" +#~ msgstr "Couldn't package files" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "The file-roller process did not complete successfully" + +#~ msgid "Loading Keys..." +#~ msgstr "Loading Keys…" + +#~ msgid "Searching for keys..." +#~ msgstr "Searching for keys…" + +#~ msgid "Uploading keys..." +#~ msgstr "Uploading keys…" + +#~ msgid "Retrieving keys..." +#~ msgstr "Retrieving keys…" + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "Searching for keys containing '%s'…" + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "Searching for key id '%s'…" + +#~ msgid "Retrieving remote keys..." +#~ msgstr "Retrieving remote keys…" + +#~ msgid "Sending keys to key server..." +#~ msgstr "Sending keys to key server…" + +#~ msgid "Invalid" +#~ msgstr "Invalid" + +#~ msgid "Private Secure Shell Key" +#~ msgstr "Private Secure Shell Key" + +#~ msgid "Public Secure Shell Key" +#~ msgstr "Public Secure Shell Key" + +#~ msgid "Passphrase:" +#~ msgstr "Passphrase:" + +#~ msgid "Couldn't share keys" +#~ msgstr "Couldn't share keys" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "Can't publish discovery information on the network." + +#~ msgid "%s's encryption keys" +#~ msgstr "%s's encryption keys" + +#~ msgid "Key Sharing" +#~ msgstr "Key Sharing" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "_Share my keys with others on my network" + +#~ msgid "Seahorse Daemon" +#~ msgstr "Seahorse Daemon" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "X keys are selected for synchronising" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/nate/.ssh/blah_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" + +#~ msgid "Create a PGP Key" +#~ msgstr "Create a PGP Key" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginal\n" +#~ "Full\n" +#~ "Ultimate" +#~ msgstr "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginal\n" +#~ "Full\n" +#~ "Ultimate" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginally\n" +#~ "Fully\n" +#~ "Ultimately" +#~ msgstr "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginally\n" +#~ "Fully\n" +#~ "Ultimately" + +#~ msgid "Other _Collected Keys" +#~ msgstr "Other _Collected Keys" + +#~ msgid "_Trusted Keys" +#~ msgstr "_Trusted Keys" + +#~ msgid "" +#~ "One or more of the deleted keys are private keys. Are you sure you want " +#~ "to proceed?" +#~ msgstr "" +#~ "One or more of the deleted keys are private keys. Are you sure you want " +#~ "to proceed?" + +#~ msgid "Removing item" +#~ msgstr "Removing item" + +#~ msgid "Couldn't get default password keyring" +#~ msgstr "Couldn't get default password keyring" + +#~ msgid "Couldn't get list of password keyrings" +#~ msgstr "Couldn't get list of password keyrings" + +#~ msgid "Are you sure you want to permanently delete the '%s' keyring?" +#~ msgstr "Are you sure you want to permanently delete the '%s' keyring?" + +#~ msgid "Default Keyring" +#~ msgstr "Default Keyring" + +#~ msgid "Password Keyrings" +#~ msgstr "Password Keyrings" + +#~ msgid "Password and Encryption Settings" +#~ msgstr "Password and Encryption Settings" + +#~ msgid "_Add Keyring" +#~ msgstr "_Add Keyring" + +#~ msgid "_Remove Keyring" +#~ msgstr "_Remove Keyring" + +#~ msgid "Unknown Key: %s" +#~ msgstr "Unknown Key: %s" + +#~ msgid "Unavailable Key" +#~ msgstr "Unavailable Key" + +#~ msgid "X509 Certificate" +#~ msgstr "X509 Certificate" + +#~ msgid "Loading..." +#~ msgstr "Loading…" + +#~ msgid "Invalid or unrecognized object." +#~ msgstr "Invalid or unrecognised object." + +#~ msgid "Exporting is not yet supported." +#~ msgstr "Exporting is not yet supported." + +#~ msgid "Expiry for Subkey %d of %s" +#~ msgstr "Expiry for Subkey %d of %s" + +#~ msgid "Import keys into your key ring from a file" +#~ msgstr "Import keys into your key ring from a file" + +#~ msgid "_Close" +#~ msgstr "_Close" + +#~ msgid "Secure Shell Passphrase" +#~ msgstr "Secure Shell Passphrase" + +#~ msgid "Secure Shell Key Passphrase" +#~ msgstr "Secure Shell Key Passphrase" + +#~ msgid "Enter the passphrase for: %s" +#~ msgstr "Enter the passphrase for: %s" + +#~ msgid "Save this passphrase in my keyring" +#~ msgstr "Save this passphrase in my keyring" + +#~ msgid "_Key" +#~ msgstr "_Key" + +#~ msgid "E_xport Public Key..." +#~ msgstr "E_xport Public Key…" + +#~ msgid "_Copy Public Key" +#~ msgstr "_Copy Public Key" + +#~ msgid "Please enter a passphrase to use." +#~ msgstr "Please enter a passphrase to use." + +#~ msgid "Unparseable Key ID" +#~ msgstr "Unparseable Key ID" + +#~ msgid "Unknown/Invalid Key" +#~ msgstr "Unknown/Invalid Key" + +#~ msgid "PGP Key: %s" +#~ msgstr "PGP Key: %s" + +#~ msgid "" +#~ "Warning: Your system is not configured to cache passphrases in " +#~ "secure memory." +#~ msgstr "" +#~ "Warning: Your system is not configured to cache passphrases in " +#~ "secure memory." + +#~ msgid "Cache _Preferences" +#~ msgstr "Cache _Preferences" + +#~ msgid "Cached Encryption Keys" +#~ msgstr "Cached Encryption Keys" + +#~ msgid "Change passphrase cache settings." +#~ msgstr "Change passphrase cache settings." + +#~ msgid "Clear passphrase cache" +#~ msgstr "Clear passphrase cache" + +#~ msgid "_Clear Cache" +#~ msgstr "_Clear Cache" + +#~ msgid "_Show Window" +#~ msgstr "_Show Window" + +#~ msgid "Do not daemonize seahorse-agent" +#~ msgstr "Do not run seahorse-agent as a daemon" + +#~ msgid "Print variables in for a C type shell" +#~ msgstr "Print variables in for a C type shell" + +#~ msgid "Display environment variables (the default)" +#~ msgstr "Display environment variables (the default)" + +#~ msgid "Allow GPG agent request from any display" +#~ msgstr "Allow GPG agent request from any display" + +#~ msgid "command..." +#~ msgstr "command…" + +#~ msgid "Encryption Key Agent (Seahorse)" +#~ msgstr "Encryption Key Agent (Seahorse)" + +#~ msgid "no command specified to execute" +#~ msgstr "no command specified to execute" + +#~ msgid "Authorize Passphrase Access" +#~ msgstr "Authorise Passphrase Access" + +#~ msgid "The passphrase is cached in memory." +#~ msgstr "The passphrase is cached in memory." + +#~ msgid "Always ask me before using a cached passphrase" +#~ msgstr "Always ask me before using a cached passphrase" + +#~ msgid "_Authorize" +#~ msgstr "_Authorise" + +#~ msgid "" +#~ "After performing an decrypt or verify operation from the applet, display " +#~ "the resulting text in a window." +#~ msgstr "" +#~ "After performing an decrypt or verify operation from the applet, display " +#~ "the resulting text in a window." + +#~ msgid "" +#~ "After performing an encrypt or signing operation from the applet, display " +#~ "the resulting text in a window." +#~ msgstr "" +#~ "After performing an encrypt or signing operation from the applet, display " +#~ "the resulting text in a window." + +#~ msgid "Display cache reminder in the notification area" +#~ msgstr "Display cache reminder in the notification area" + +#~ msgid "Display clipboard after decrypting" +#~ msgstr "Display clipboard after decrypting" + +#~ msgid "Display clipboard after encrypting" +#~ msgstr "Display clipboard after encrypting" + +#~ msgid "Expire passwords in the cache" +#~ msgstr "Expire passwords in the cache" + +#~ msgid "" +#~ "If set to 'gnome' uses gnome-keyring to cache passwords. When set to " +#~ "'internal' uses internal cache." +#~ msgstr "" +#~ "If set to 'gnome' uses gnome-keyring to cache passwords. When set to " +#~ "'internal' uses internal cache." + +#~ msgid "Prompt before using GPG passwords in cache" +#~ msgstr "Prompt before using GPG passwords in cache" + +#~ msgid "" +#~ "Reflect the contents of the clipboard (whether encrypted, signed, etc...) " +#~ "in the panel applet icon." +#~ msgstr "" +#~ "Reflect the contents of the clipboard (whether encrypted, signed, etc.) " +#~ "in the panel applet icon." + +#~ msgid "" +#~ "Set to 'true' to enable display of the cache reminder in the notification " +#~ "area of your panel." +#~ msgstr "" +#~ "Set to 'true' to enable display of the cache reminder in the notification " +#~ "area of your panel." + +#~ msgid "" +#~ "Set to 'true' to have seahorse-agent prompt before giving out passwords " +#~ "it has cached." +#~ msgstr "" +#~ "Set to 'true' to have seahorse-agent prompt before giving out passwords " +#~ "it has cached." + +#~ msgid "Show clipboard state in panel" +#~ msgstr "Show clipboard state in panel" + +#~ msgid "The time (in minutes) to cache GPG passwords" +#~ msgstr "The time (in minutes) to cache GPG passwords" + +#~ msgid "" +#~ "This is the amount of time, specified in minutes, to cache GPG passwords " +#~ "in seahorse-agent." +#~ msgstr "" +#~ "This is the amount of time, specified in minutes, to cache GPG passwords " +#~ "in seahorse-agent." + +#~ msgid "" +#~ "This option enables the GPG password cache in the seahorse-agent program. " +#~ "The 'use-agent' setting in gpg.conf affects this setting." +#~ msgstr "" +#~ "This option enables the GPG password cache in the seahorse-agent program. " +#~ "The 'use-agent' setting in gpg.conf affects this setting." + +#~ msgid "" +#~ "When set, seahorse-agent expires GPG passwords in its cache after a " +#~ "period of time." +#~ msgstr "" +#~ "When set, seahorse-agent expires GPG passwords in its cache after a " +#~ "period of time." + +#~ msgid "Whether the GPG password cache is enabled" +#~ msgstr "Whether the GPG password cache is enabled" + +#~ msgid "None. Prompt for a key." +#~ msgstr "None. Prompt for a key." + +#~ msgid "Default Key" +#~ msgstr "Default Key" + +#~ msgid "Remember PGP Passphrases" +#~ msgstr "Remember PGP Passphrases" + +#~ msgid "A supported PGP passphrase caching agent is not running." +#~ msgstr "A supported PGP passphrase caching agent is not running." + +#~ msgid "This key is used to sign messages when no other key is chosen" +#~ msgstr "" +#~ "This key is used to sign messages when no other key is chosen" + +#~ msgid "As_k me before using a cached passphrase" +#~ msgstr "As_k me before using a cached passphrase" + +#~ msgid "Encryption" +#~ msgstr "Encryption" + +#~ msgid "PGP Passphrases" +#~ msgstr "PGP Passphrases" + +#~ msgid "Show _icon in status area when passphrases are in memory" +#~ msgstr "Show _icon in status area when passphrases are in memory" + +#~ msgid "When _encrypting, always include myself as a recipient" +#~ msgstr "When _encrypting, always include myself as a recipient" + +#~ msgid "_Always remember passphrases whenever logged in" +#~ msgstr "_Always remember passphrases whenever logged in" + +#~ msgid "_Default key:" +#~ msgstr "_Default key:" + +#~ msgid "_Never remember passphrases" +#~ msgstr "_Never remember passphrases" + +#~ msgid "_Remember passphrases for" +#~ msgstr "_Remember passphrases for" + +#~ msgid "Couldn't set permissions on backup file." +#~ msgstr "Couldn't set permissions on backup file." + +#~ msgid "Encrypt, decrypt or sign the clipboard (uses PGP type encryption)." +#~ msgstr "Encrypt, decrypt or sign the clipboard (uses PGP type encryption)." + +#~ msgid "Seahorse Applet Factory" +#~ msgstr "Seahorse Applet Factory" + +#~ msgid "seahorse-applet" +#~ msgstr "seahorse-applet" + +#~ msgid "Use PGP/GPG to encrypt/decrypt/sign/verify/import the clipboard." +#~ msgstr "Use PGP/GPG to encrypt/decrypt/sign/verify/import the clipboard." + +#~ msgid "Choose Recipient Keys" +#~ msgstr "Choose Recipient Keys" + +#~ msgid "Encrypted Text" +#~ msgstr "Encrypted Text" + +#~ msgid "Encryption Failed" +#~ msgstr "Encryption Failed" + +#~ msgid "The clipboard could not be encrypted." +#~ msgstr "The clipboard could not be encrypted." + +#~ msgid "Choose Key to Sign with" +#~ msgstr "Choose Key to Sign with" + +#~ msgid "Signed Text" +#~ msgstr "Signed Text" + +#~ msgid "Signing Failed" +#~ msgstr "Signing Failed" + +#~ msgid "The clipboard could not be Signed." +#~ msgstr "The clipboard could not be Signed." + +#~ msgid "Keys were found but not imported." +#~ msgstr "Keys were found but not imported." + +#~ msgid "Decrypting Failed" +#~ msgstr "Decrypting Failed" + +#~ msgid "Text may be malformed." +#~ msgstr "Text may be malformed." + +#~ msgid "No PGP key or message was found on clipboard" +#~ msgstr "No PGP key or message was found on clipboard" + +#~ msgid "No PGP data found." +#~ msgstr "No PGP data found." + +#~ msgid "Decrypted Text" +#~ msgstr "Decrypted Text" + +#~ msgid "Could not display the help file" +#~ msgstr "Could not display the help file" + +#~ msgid "_Encrypt Clipboard" +#~ msgstr "_Encrypt Clipboard" + +#~ msgid "_Sign Clipboard" +#~ msgstr "_Sign Clipboard" + +#~ msgid "_Decrypt/Verify Clipboard" +#~ msgstr "_Decrypt/Verify Clipboard" + +#~ msgid "_Import Keys from Clipboard" +#~ msgstr "_Import Keys from Clipboard" + +#~ msgid "Encryption Applet" +#~ msgstr "Encryption Applet" + +#~ msgid "Display clipboard contents after:" +#~ msgstr "Display clipboard contents after:" + +#~ msgid "Clipboard Encryption Preferences" +#~ msgstr "Clipboard Encryption Preferences" + +#~ msgid "_Decrypting or verifying the clipboard" +#~ msgstr "_Decrypting or verifying the clipboard" + +#~ msgid "_Encrypting or signing the clipboard" +#~ msgstr "_Encrypting or signing the clipboard" + +#~ msgid "_Show clipboard state in panel" +#~ msgstr "_Show clipboard state in panel" + +#~ msgid "_Decrypt/Verify" +#~ msgstr "_Decrypt/Verify" + +#~ msgid "_Import Key" +#~ msgstr "_Import Key" + +#~ msgid "Couldn't connect to seahorse-daemon" +#~ msgstr "Couldn't connect to seahorse-daemon" + +#~ msgid "Encrypted text" +#~ msgstr "Encrypted text" + +#~ msgid "Couldn't encrypt text" +#~ msgstr "Couldn't encrypt text" + +#~ msgid "Keys found but not imported" +#~ msgstr "Keys found but not imported" + +#~ msgid "Couldn't decrypt text" +#~ msgstr "Couldn't decrypt text" + +#~ msgid "Couldn't verify text" +#~ msgstr "Couldn't verify text" + +#~ msgid "No encrypted or signed text is selected." +#~ msgstr "No encrypted or signed text is selected." + +#~ msgid "Verified text" +#~ msgstr "Verified text" + +#~ msgid "Imported %d key" +#~ msgid_plural "Imported %d keys" +#~ msgstr[0] "Imported %d key" +#~ msgstr[1] "Imported %d keys" + +#~ msgid "Signed text" +#~ msgstr "Signed text" + +#~ msgid "Couldn't sign text" +#~ msgstr "Couldn't sign text" + +#~ msgid "_Encrypt..." +#~ msgstr "_Encrypt…" + +#~ msgid "Encrypt the selected text" +#~ msgstr "Encrypt the selected text" + +#~ msgid "Decr_ypt/Verify" +#~ msgstr "Decr_ypt/Verify" + +#~ msgid "Decrypt and/or Verify text" +#~ msgstr "Decrypt and/or Verify text" + +#~ msgid "Sig_n..." +#~ msgstr "Sig_n…" + +#~ msgid "Sign the selected text" +#~ msgstr "Sign the selected text" + +#~ msgid "Enable the seahorse encryption plugin for gedit." +#~ msgstr "Enable the seahorse encryption plugin for gedit." + +#~ msgid "Enable the seahorse gedit plugin" +#~ msgstr "Enable the seahorse gedit plugin" + +#~ msgid "Text Encryption" +#~ msgstr "Text Encryption" + +#~ msgid "This plugin performs encryption operations on text." +#~ msgstr "This plugin performs encryption operations on text." + +#~ msgid "Encrypt..." +#~ msgstr "Encrypt…" + +#~ msgid "Encrypt (and optionally sign) the selected file" +#~ msgid_plural "Encrypt the selected files" +#~ msgstr[0] "Encrypt (and optionally sign) the selected file" +#~ msgstr[1] "Encrypt the selected files" + +#~ msgid "Sign the selected file" +#~ msgid_plural "Sign the selected files" +#~ msgstr[0] "Sign the selected file" +#~ msgstr[1] "Sign the selected files" + +#~ msgid "For internal use" +#~ msgstr "For internal use" + +#~ msgid "Encryption Preferences" +#~ msgstr "Encryption Preferences" + +#~ msgid "Configure key servers and other encryption settings" +#~ msgstr "Configure key servers and other encryption settings" + +#~ msgid "Encryption and Keyrings" +#~ msgstr "Encryption and Keyrings" + +#~ msgid "Encrypt file" +#~ msgstr "Encrypt file" + +#~ msgid "Sign file with default key" +#~ msgstr "Sign file with default key" + +#~ msgid "Encrypt and sign file with default key" +#~ msgstr "Encrypt and sign file with default key" + +#~ msgid "Decrypt encrypted file" +#~ msgstr "Decrypt encrypted file" + +#~ msgid "Verify signature file" +#~ msgstr "Verify signature file" + +#~ msgid "Read list of URIs on standard in" +#~ msgstr "Read list of URIs on standard in" + +#~ msgid "file..." +#~ msgstr "file…" + +#~ msgid "Choose Recipients" +#~ msgstr "Choose Recipients" + +#~ msgid "Choose Encrypted File Name for '%s'" +#~ msgstr "Choose Encrypted File Name for '%s'" + +#~ msgid "Choose Signer" +#~ msgstr "Choose Signer" + +#~ msgid "Choose Signature File Name for '%s'" +#~ msgstr "Choose Signature File Name for '%s'" + +#~ msgid "Import is complete" +#~ msgstr "Import is complete" + +#~ msgid "Importing keys ..." +#~ msgstr "Importing keys…" + +#~ msgid "Choose Decrypted File Name for '%s'" +#~ msgstr "Choose Decrypted File Name for '%s'" + +#~ msgid "Choose Original File for '%s'" +#~ msgstr "Choose Original File for '%s'" + +#~ msgid "No valid signatures found" +#~ msgstr "No valid signatures found" + +#~ msgid "File Encryption Tool" +#~ msgstr "File Encryption Tool" + +#~ msgid "Encrypting" +#~ msgstr "Encrypting" + +#~ msgid "Couldn't encrypt file: %s" +#~ msgstr "Couldn't encrypt file: %s" + +#~ msgid "Signing" +#~ msgstr "Signing" + +#~ msgid "Couldn't sign file: %s" +#~ msgstr "Couldn't sign file: %s" + +#~ msgid "Couldn't import keys from file: %s" +#~ msgstr "Couldn't import keys from file: %s" + +#~ msgid "Decrypting" +#~ msgstr "Decrypting" + +#~ msgid "Couldn't decrypt file: %s" +#~ msgstr "Couldn't decrypt file: %s" + +#~ msgid "Verifying" +#~ msgstr "Verifying" + +#~ msgid "Couldn't verify file: %s" +#~ msgstr "Couldn't verify file: %s" + +#~ msgid "Ace (.ace)" +#~ msgstr "Ace (.ace)" + +#~ msgid "Ar (.ar)" +#~ msgstr "Ar (.ar)" + +#~ msgid "Arj (.arj)" +#~ msgstr "Arj (.arj)" + +#~ msgid "Ear (.ear)" +#~ msgstr "Ear (.ear)" + +#~ msgid "Self-extracting zip (.exe)" +#~ msgstr "Self-extracting zip (.exe)" + +#~ msgid "Jar (.jar)" +#~ msgstr "Jar (.jar)" + +#~ msgid "Lha (.lzh)" +#~ msgstr "Lha (.lzh)" + +#~ msgid "Rar (.rar)" +#~ msgstr "Rar (.rar)" + +#~ msgid "Tar uncompressed (.tar)" +#~ msgstr "Tar uncompressed (.tar)" + +#~ msgid "Tar compressed with bzip (.tar.bz)" +#~ msgstr "Tar compressed with bzip (.tar.bz)" + +#~ msgid "Tar compressed with bzip2 (.tar.bz2)" +#~ msgstr "Tar compressed with bzip2 (.tar.bz2)" + +#~ msgid "Tar compressed with gzip (.tar.gz)" +#~ msgstr "Tar compressed with gzip (.tar.gz)" + +#~ msgid "Tar compressed with lzop (.tar.lzo)" +#~ msgstr "Tar compressed with lzop (.tar.lzo)" + +#~ msgid "Tar compressed with compress (.tar.Z)" +#~ msgstr "Tar compressed with compress (.tar.Z)" + +#~ msgid "War (.war)" +#~ msgstr "War (.war)" + +#~ msgid "Zip (.zip)" +#~ msgstr "Zip (.zip)" + +#~ msgid "Zoo (.zoo)" +#~ msgstr "Zoo (.zoo)" + +#~ msgid "7-Zip (.7z)" +#~ msgstr "7-Zip (.7z)" + +#~ msgid "You have selected %d file " +#~ msgid_plural "You have selected %d files " +#~ msgstr[0] "You have selected %d file " +#~ msgstr[1] "You have selected %d files " + +#~ msgid "%s%s" +#~ msgstr "%s%s" + +#~ msgid "You have selected %d files" +#~ msgstr "You have selected %d files" + +#~ msgid "You have selected %d folder" +#~ msgid_plural "You have selected %d folders" +#~ msgstr[0] "You have selected %d folder" +#~ msgstr[1] "You have selected %d folders" + +#~ msgid "Couldn't list files" +#~ msgstr "Couldn't list files" + +#~ msgid "Couldn't read file" +#~ msgstr "Couldn't read file" + +#~ msgid "Copied %d key" +#~ msgid_plural "Copied %d keys" +#~ msgstr[0] "Copied %d key" +#~ msgstr[1] "Copied %d keys" + +#~ msgid "Back up Key Rings to Archive" +#~ msgstr "Back up Key Rings to Archive" + +#~ msgid "_Back up Key Rings..." +#~ msgstr "_Back up Key Rings…" + +#~ msgid "Back up all keys" +#~ msgstr "Back up all keys" + +#~ msgid "Set Up Computer for _Secure Shell..." +#~ msgstr "Set Up Computer for _Secure Shell…" + +#~ msgid "User ID" +#~ msgstr "User ID" + +#~ msgid "Couldn't retrieve key data" +#~ msgstr "Couldn't retrieve key data" + +#~ msgid "Couldn't write key to file" +#~ msgstr "Couldn't write key to file" + +#~ msgid "Couldn't import keys into key ring" +#~ msgstr "Couldn't import keys into key ring" + +#~ msgid "Couldn't write keys to file: %s" +#~ msgstr "Couldn't write keys to file: %s" + +#~ msgid "Save Remote Keys" +#~ msgstr "Save Remote Keys" + +#~ msgid "No matching keys found" +#~ msgstr "No matching keys found" + +#~ msgid "Save Key As..." +#~ msgstr "Save Key As…" + +#~ msgid "Save selected keys as a file" +#~ msgstr "Save selected keys as a file" + +#~ msgid "Remote Encryption Keys" +#~ msgstr "Remote Encryption Keys" + +#~ msgid "You have selected multiple files or folders" +#~ msgstr "You have selected multiple files or folders" + +#~ msgid "" +#~ "Because the files are located remotely, each file will be encrypted " +#~ "separately." +#~ msgstr "" +#~ "Because the files are located remotely, each file will be encrypted " +#~ "separately." + +#~ msgid "Encrypt Multiple Files" +#~ msgstr "Encrypt Multiple Files" + +#~ msgid "Encrypt each file separately" +#~ msgstr "Encrypt each file separately" + +#~ msgid "Encrypt packed together in a package" +#~ msgstr "Encrypt packed together in a package" + +#~ msgid "Package Name:" +#~ msgstr "Package Name:" + +#~ msgid "Packaging:" +#~ msgstr "Packaging:" + +#~ msgid "encrypted-package" +#~ msgstr "encrypted-package" + +#~ msgid "Decrypt File" +#~ msgstr "Decrypt File" + +#~ msgid "I have checked that this key belongs to '%s'" +#~ msgstr "I have checked that this key belongs to '%s'" + +#~ msgid "Verify Signature" +#~ msgstr "Verify Signature" + +#~ msgid "couldn't read gpg configuration, will try to create" +#~ msgstr "couldn't read gpg configuration, will try to create" + +#~ msgid "couldn't modify gpg configuration: %s" +#~ msgstr "couldn't modify gpg configuration: %s" + +#~ msgid "" +#~ "Display variables instead of editing conf files (gpg.conf, SSH agent " +#~ "socket)" +#~ msgstr "" +#~ "Display variables instead of editing conf files (gpg.conf, SSH agent " +#~ "socket)" + +#~ msgid "couldn't drop privileges properly" +#~ msgstr "couldn't drop privileges properly" + +#~ msgid "" +#~ "When set seahorse-agent will try to automatically load the users SSH keys " +#~ "when needed. This is equivalent to using the ssh-add utility." +#~ msgstr "" +#~ "When set seahorse-agent will try to automatically load the users SSH keys " +#~ "when needed. This is equivalent to using the ssh-add utility." + +#~ msgid "Whether to automatically load SSH keys on demand." +#~ msgstr "Whether to automatically load SSH keys on demand." + +#~ msgid "Couldn't open the Session Properties" +#~ msgstr "Couldn't open the Session Properties" + +#~ msgid "Couldn't start the 'seahorse-agent' program" +#~ msgstr "Couldn't start the 'seahorse-agent' program" + +#~ msgid "The 'seahorse-agent' program exited unsuccessfully." +#~ msgstr "The 'seahorse-agent' program exited unsuccessfully." + +#~ msgid "" +#~ "Note: The 'seahorse-agent' program has been started. This program " +#~ "is necessary in order to cache passphrases. " +#~ msgstr "" +#~ "Note: The 'seahorse-agent' program has been started. This program " +#~ "is necessary in order to cache passphrases. " + +#~ msgid "Secure Shell Keys" +#~ msgstr "Secure Shell Keys" + +#~ msgid "" +#~ "Warning: The 'seahorse-agent' program is not running. This program " +#~ "is necessary in order to cache passphrases. " +#~ msgstr "" +#~ "Warning: The 'seahorse-agent' program is not running. This program " +#~ "is necessary in order to cache passphrases. " + +#~ msgid "" +#~ "No SSH caching agent is running. Cannot load Secure Shell keys." +#~ msgstr "" +#~ "No SSH caching agent is running. Cannot load Secure Shell keys." + +#~ msgid "Automatically load _Secure Shell keys" +#~ msgstr "Automatically load _Secure Shell keys" + +#~ msgid "Passphrase Cache" +#~ msgstr "Passphrase Cache" + +#~ msgid "Session Properties" +#~ msgstr "Session Properties" + +#~ msgid "" +#~ "To avoid manually starting the 'seahorse-agent' in the future\n" +#~ "add it to the Session Manager. " +#~ msgstr "" +#~ "To avoid manually starting the 'seahorse-agent' in the future\n" +#~ "add it to the Session Manager. " + +#~ msgid "Progress Message" +#~ msgstr "Progress Message" + +#~ msgid "Progress Status" +#~ msgstr "Progress Status" + +#~ msgid "Login:" +#~ msgstr "Login:" + +#~ msgid "Server:" +#~ msgstr "Server:" + +#~ msgid "[details]\n" +#~ msgstr "[details]\n" + +#~ msgid "[login]" +#~ msgstr "[login]" + +#~ msgid "[server]" +#~ msgstr "[server]" + +#~ msgid "Cursor Position" +#~ msgstr "Cursor Position" + +#~ msgid "The current position of the insertion cursor in chars" +#~ msgstr "The current position of the insertion cursor in chars" + +#~ msgid "Selection Bound" +#~ msgstr "Selection Bound" + +#~ msgid "" +#~ "The position of the opposite end of the selection from the cursor in chars" +#~ msgstr "" +#~ "The position of the opposite end of the selection from the cursor in chars" + +#~ msgid "Maximum length" +#~ msgstr "Maximum length" + +#~ msgid "Maximum number of characters for this entry. Zero if no maximum" +#~ msgstr "Maximum number of characters for this entry. Zero if no maximum" + +#~ msgid "Has Frame" +#~ msgstr "Has Frame" + +#~ msgid "FALSE removes outside bevel from entry" +#~ msgstr "FALSE removes outside bevel from entry" + +#~ msgid "Invisible character" +#~ msgstr "Invisible character" + +#~ msgid "" +#~ "The character to use when masking entry contents (in \"password mode\")" +#~ msgstr "" +#~ "The character to use when masking entry contents (in \"password mode\")" + +#~ msgid "" +#~ "Whether to activate the default widget (such as the default button in a " +#~ "dialog) when Enter is pressed" +#~ msgstr "" +#~ "Whether to activate the default widget (such as the default button in a " +#~ "dialog) when Enter is pressed" + +#~ msgid "Width in chars" +#~ msgstr "Width in chars" + +#~ msgid "Number of characters to leave space for in the entry" +#~ msgstr "Number of characters to leave space for in the entry" + +#~ msgid "Scroll offset" +#~ msgstr "Scroll offset" + +#~ msgid "Number of pixels of the entry scrolled off the screen to the left" +#~ msgstr "Number of pixels of the entry scrolled off the screen to the left" + +#~ msgid "Text" +#~ msgstr "Text" + +#~ msgid "The contents of the entry" +#~ msgstr "The contents of the entry" + +#~ msgid "Visibility" +#~ msgstr "Visibility" + +#~ msgid "Whether contents are drawn using invisible character" +#~ msgstr "Whether contents are drawn using invisible character" + +#~ msgid "Key type / algorithm" +#~ msgstr "Key type / algorithm" + +#~ msgid "[Type here]" +#~ msgstr "[Type here]" + +#~ msgid "[Use here]" +#~ msgstr "[Use here]" + +#~ msgid "This key expired on: (placeholder)" +#~ msgstr "This key expired on: (placeholder)" + +#~ msgid "Imported %d keys" +#~ msgstr "Imported %d keys" + +#~ msgid "Selected %d keys" +#~ msgstr "Selected %d keys" + +#~ msgid "Key T_ypes" +#~ msgstr "Key T_ypes" + +#~ msgid "Key _Trust" +#~ msgstr "Key _Trust" + +#~ msgid "Key _Validity" +#~ msgstr "Key _Validity" + +#~ msgid "If signature can be revoked" +#~ msgstr "If signature can be revoked" + +#~ msgid "" +#~ "If signature is local to the key ring and won't be exported with the key" +#~ msgstr "" +#~ "If signature is local to the key ring and won't be exported with the key" + +#~ msgid "Orientation" +#~ msgstr "Orientation" + +#~ msgid "The orientation of the tray." +#~ msgstr "The orientation of the tray." + +#~ msgid "Select on focus" +#~ msgstr "Select on focus" + +#~ msgid "Whether to select the contents of an entry when it is focused" +#~ msgstr "Whether to select the contents of an entry when it is focused" + +#~ msgid "Cached Encryption Passphrases" +#~ msgstr "Cached Encryption Passphrases" + +#~ msgid "usage: seahorse-agent [-cdv]\n" +#~ msgstr "usage: seahorse-agent [-cdv]\n" + +#~ msgid "Decrypt..." +#~ msgstr "Decrypt…" + +#~ msgid "Decryption operations on PGP encrypted files" +#~ msgstr "Decryption operations on PGP encrypted files" + +#~ msgid "Encrypt and Sign..." +#~ msgstr "Encrypt and Sign…" + +#~ msgid "Encrypt and sign operations on files" +#~ msgstr "Encrypt and sign operations on files" + +#~ msgid "Import operation on PGP key files" +#~ msgstr "Import operation on PGP key files" + +#~ msgid "Seahorse PGP decrypt operations" +#~ msgstr "Seahorse PGP decrypt operations" + +#~ msgid "Seahorse PGP encrypt and sign operations" +#~ msgstr "Seahorse PGP encrypt and sign operations" + +#~ msgid "Seahorse PGP import operation" +#~ msgstr "Seahorse PGP import operation" + +#~ msgid "Seahorse PGP verify operation" +#~ msgstr "Seahorse PGP verify operation" + +#~ msgid "Sign..." +#~ msgstr "Sign…" + +#~ msgid "Verify operation on PGP signed files" +#~ msgstr "Verify operation on PGP signed files" + +#~ msgid "A list of key server URIs to search for remote PGP keys." +#~ msgstr "A list of key server URIs to search for remote PGP keys." + +#~ msgid "How often to show progress during listing" +#~ msgstr "How often to show progress during listing" + +#~ msgid "" +#~ "This specifies how often the progress signal is emitted during a listing " +#~ "operation. By default, the signal is emitted for every 20 keys processed. " +#~ "A value of -1 will cause the signal to never be emitted." +#~ msgstr "" +#~ "This specifies how often the progress signal is emitted during a listing " +#~ "operation. By default, the signal is emitted for every 20 keys processed. " +#~ "A value of -1 will cause the signal to never be emitted." + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "Bad passphrase! Try again for '%s'" +#~ msgstr "Bad passphrase! Try again for '%s'" + +#~ msgid "_Encrypt to Self" +#~ msgstr "_Encrypt to Self" + +#~ msgid "_Armor Encode Files" +#~ msgstr "_Armour Encode Files" + +#~ msgid "You can add it to your Startup Programs in: " +#~ msgstr "You can add it to your Startup Programs in: " + +#~ msgid "_Default Signing Key:" +#~ msgstr "_Default Signing Key:" + +#~ msgid "_Expire passphrases from memory after " +#~ msgstr "_Expire passphrases from memory after " + +#~ msgid "Selected %d not fully valid recipient" +#~ msgid_plural "Selected %d not fully valid recipients" +#~ msgstr[0] "Selected %d not fully valid recipient" +#~ msgstr[1] "Selected %d not fully valid recipients" + +#~ msgid "Selected %d recipient " +#~ msgid_plural "Selected %d recipients " +#~ msgstr[0] "Selected %d recipient " +#~ msgstr[1] "Selected %d recipients " + +#~ msgid "(%d not fully valid)" +#~ msgid_plural "(%d not fully valid)" +#~ msgstr[0] "(%d not fully valid)" +#~ msgstr[1] "(%d not fully valid)" + +#~ msgid "%s%s" +#~ msgstr "%s%s" + +#~ msgid "" +#~ "All Keys\n" +#~ "Selected Recipients\n" +#~ "Search Results" +#~ msgstr "" +#~ "All Keys\n" +#~ "Selected Recipients\n" +#~ "Search Results" + +#~ msgid "%s: Good signature from (expired) '%s' on %s" +#~ msgstr "%s: Good signature from (expired) '%s' on %s" + +#~ msgid "%s: Expired signature from '%s' on %s" +#~ msgstr "%s: Expired signature from '%s' on %s" + +#~ msgid "%s: Good signature from (revoked) '%s' on %s" +#~ msgstr "%s: Good signature from (revoked) '%s' on %s" + +#~ msgid "%s: Bad signature" +#~ msgstr "%s: Bad signature" + +#~ msgid "%s: Verification error" +#~ msgstr "%s: Verification error" + +#~ msgid "Signatures found are listed below: " +#~ msgstr "Signatures found are listed below: " + +#~ msgid "Signature Verification" +#~ msgstr "Signature Verification" + +#~ msgid "Block %d" +#~ msgstr "Block %d" + +#~ msgid "Sign the selected archive" +#~ msgstr "Sign the selected archive" + +#~ msgid "Confirmation of passphrase" +#~ msgstr "Confirmation of passphrase" + +#~ msgid "Generate a Key" +#~ msgstr "Generate a Key" + +#~ msgid "_Generate" +#~ msgstr "_Generate" + +#~ msgid "_Passphrase:" +#~ msgstr "_Passphrase:" + +#~ msgid "" +#~ "Before selecting apply to start key generation, please make sure all of " +#~ "your previous settings are correct." +#~ msgstr "" +#~ "Before selecting apply to start key generation, please make sure all of " +#~ "your previous settings are correct." + +#~ msgid "" +#~ "Choosing a passphrase is an integral part of creating a strong key. Like " +#~ "a password, a passphrase should contain letters, numbers, and " +#~ "punctuation. Additionally, a passphrase can contain spaces, meaning it " +#~ "can contain many words. \n" +#~ "\n" +#~ "You should pick a phrase that is easy to rememeber and contains " +#~ "punctuation. Take this phrase, adjust the case of various letters, and " +#~ "change some of the letters into numbers or punctuation, reminiscent of " +#~ "\"leet speak\", but don't make it so obscure to the point where you can't " +#~ "remember it." +#~ msgstr "" +#~ "Choosing a passphrase is an integral part of creating a strong key. Like " +#~ "a password, a passphrase should contain letters, numbers, and " +#~ "punctuation. Additionally, a passphrase can contain spaces, meaning it " +#~ "can contain many words. \n" +#~ "\n" +#~ "You should pick a phrase that is easy to rememeber and contains " +#~ "punctuation. Take this phrase, adjust the case of various letters, and " +#~ "change some of the letters into numbers or punctuation, reminiscent of " +#~ "\"leet speak\", but don't make it so obscure to the point where you can't " +#~ "remember it." + +#~ msgid "Confirm Passphrase:" +#~ msgstr "Confirm Passphrase:" + +#~ msgid "Date the Key Expires" +#~ msgstr "Date the Key Expires" + +#~ msgid "Email Address:" +#~ msgstr "Email Address:" + +#~ msgid "Enter Name - Must be at least five letters." +#~ msgstr "Enter Name. Must be at least five letters." + +#~ msgid "Extra High Security" +#~ msgstr "Extra High Security" + +#~ msgid "Full Name:" +#~ msgstr "Full Name:" + +#~ msgid "High Security" +#~ msgstr "High Security" + +#~ msgid "Key Generation Assistant" +#~ msgstr "Key Generation Assistant" + +#~ msgid "Key Generation Assistant Complete" +#~ msgstr "Key Generation Assistant Complete" + +#~ msgid "" +#~ "Keys must be given an appropriate expiration date. For most people, the " +#~ "default option of \"never expires\" is sufficient. If you only plan on " +#~ "using the key for a certain period of time, i.e. for a specific project, " +#~ "you should pick an expiration date after the projected completion of your " +#~ "project. After the expiration date, your private key will still be able " +#~ "to decrypt messages or data encrypted with your public key. However, your " +#~ "private key will no longer sign messages or data." +#~ msgstr "" +#~ "Keys must be given an appropriate expiration date. For most people, the " +#~ "default option of \"never expires\" is sufficient. If you only plan on " +#~ "using the key for a certain period of time, i.e. for a specific project, " +#~ "you should pick an expiration date after the projected completion of your " +#~ "project. After the expiration date, your private key will still be able " +#~ "to decrypt messages or data encrypted with your public key. However, your " +#~ "private key will no longer sign messages or data." + +#~ msgid "Medium Security" +#~ msgstr "Medium Security" + +#~ msgid "Personal Information" +#~ msgstr "Personal Information" + +#~ msgid "Seahorse Key Generation Assistant" +#~ msgstr "Seahorse Key Generation Assistant" + +#~ msgid "Security Level" +#~ msgstr "Security Level" + +#~ msgid "" +#~ "The Medium Security level is the default and should be acceptable for " +#~ "general everyday usage. \n" +#~ "\n" +#~ "The High Security level should be selected if you know your data will be " +#~ "actively scrutinized. The Extra High level should be selected if you " +#~ "know your data is actively scrutinized and will be under cryptographic " +#~ "attack." +#~ msgstr "" +#~ "The Medium Security level is the default and should be acceptable for " +#~ "general everyday usage. \n" +#~ "\n" +#~ "The High Security level should be selected if you know your data will be " +#~ "actively scrutinised. The Extra High level should be selected if you " +#~ "know your data is actively scrutinised and will be under cryptographic " +#~ "attack." + +#~ msgid "" +#~ "This assistant will guide you through the steps of creating a PGP key " +#~ "pair." +#~ msgstr "" +#~ "This assistant will guide you through the steps of creating a PGP key " +#~ "pair." + +#~ msgid "" +#~ "To create a key and tie it to your identity, the following information is " +#~ "needed: Full Name, Email Address, and Comment. \n" +#~ "\n" +#~ "These values will be given to the name of your key in the following " +#~ "manner: \n" +#~ "\n" +#~ "Full Name (Comment) ." +#~ msgstr "" +#~ "To create a key and tie it to your identity, the following information is " +#~ "needed: Full Name, Email Address, and Comment. \n" +#~ "\n" +#~ "These values will be given to the name of your key in the following " +#~ "manner: \n" +#~ "\n" +#~ "Full Name (Comment) ." + +#~ msgid "druidpage_pass" +#~ msgstr "druidpage_pass" + +#~ msgid "druidpage_pinfo" +#~ msgstr "druidpage_pinfo" + +#~ msgid "keygen_druid" +#~ msgstr "keygen_druid" + +#~ msgid "Advanced" +#~ msgstr "Advanced" + +#~ msgid "Assistant" +#~ msgstr "Assistant" + +#~ msgid "Generate a key via the assistant." +#~ msgstr "Generate a key via the assistant." + +#~ msgid "Generate a key with the advanced dialog." +#~ msgstr "Generate a key with the advanced dialogue." + +#~ msgid "Select a method to generate your new key:" +#~ msgstr "Select a method to generate your new key:" + +#~ msgid "radio_druid" +#~ msgstr "radio_druid" + +#~ msgid "Couldn't export key(s)" +#~ msgstr "Couldn't export key(s)" + +#~ msgid "Couldn't export key to clipboard" +#~ msgstr "Couldn't export key to clipboard" + +#~ msgid "Couldn't import key from \"%s\"" +#~ msgstr "Couldn't import key from \"%s\"" + +#~ msgid "Add P_hoto ID..." +#~ msgstr "Add P_hoto ID…" + +#~ msgid "Add Sub_key..." +#~ msgstr "Add Sub_key…" + +#~ msgid "Add _Revoker..." +#~ msgstr "Add _Revoker…" + +#~ msgid "Add _User ID..." +#~ msgstr "Add _User ID…" + +#~ msgid "Add a new subkey" +#~ msgstr "Add a new subkey" + +#~ msgid "Add a new user ID" +#~ msgstr "Add a new user ID" + +#~ msgid "Add the default key as a revoker" +#~ msgstr "Add the default key as a revoker" + +#~ msgid "Delete key" +#~ msgstr "Delete key" + +#~ msgid "" +#~ "Publish the selected keys online, and sync any changes others have made." +#~ msgstr "" +#~ "Publish the selected keys online, and sync any changes others have made." + +#~ msgid "_Change Passphrase..." +#~ msgstr "_Change Passphrase…" + +#~ msgid "_Generate Revocation Certificate..." +#~ msgstr "_Generate Revocation Certificate…" + +#~ msgid "_Remote Search" +#~ msgstr "_Remote Search" + +#~ msgid "_Sync and Publish..." +#~ msgstr "_Sync and Publish…" + +#~ msgid "%s Properties" +#~ msgstr "%s Properties" + +#~ msgid "Key identifier" +#~ msgstr "Key identifier" + +#~ msgid "Key creation date" +#~ msgstr "Key creation date" + +#~ msgid "Length:" +#~ msgstr "Length:" + +#~ msgid "Change Expiry Date" +#~ msgstr "Change Expiry Date" + +#~ msgid "_Revoke" +#~ msgstr "_Revoke" + +#~ msgid "Revoke subkey %d" +#~ msgstr "Revoke subkey %d" + +#~ msgid "Delete subkey %d" +#~ msgstr "Delete subkey %d" + +#~ msgid "All" +#~ msgstr "All" + +#~ msgid "Dis_abled" +#~ msgstr "Dis_abled" + +#~ msgid "Disabled keys cannot be used for operations" +#~ msgstr "Disabled keys cannot be used for operations" + +#~ msgid "Fully trust owner" +#~ msgstr "Fully trust owner" + +#~ msgid "Marginally trust owner" +#~ msgstr "Marginally trust owner" + +#~ msgid "Master Key" +#~ msgstr "Master Key" + +#~ msgid "Never trust owner" +#~ msgstr "Never trust owner" + +#~ msgid "Owner is unknown" +#~ msgstr "Owner is unknown" + +#~ msgid "User IDs" +#~ msgstr "User IDs" + +#~ msgid "Find Remote Keys on Key Servers" +#~ msgstr "Find Remote Keys on Key Servers" + +#~ msgid "Find Remote Keys..." +#~ msgstr "Find Remote Keys…" + +#~ msgid "_Import to Keyring..." +#~ msgstr "_Import to Keyring…" + +#~ msgid "Visible Columns:" +#~ msgstr "Visible Columns:" + +#~ msgid "Visible Columns" +#~ msgstr "Visible Columns" + +#~ msgid "Are you sure you want to sign all user IDs for %s?" +#~ msgstr "Are you sure you want to sign all user IDs for %s?" + +#~ msgid "Are you sure you want to sign the '%s' user ID?" +#~ msgstr "Are you sure you want to sign the '%s' user ID?" + +#~ msgid "Default answer" +#~ msgstr "Default answer" + +#~ msgid "Have casually checked key" +#~ msgstr "Have casually checked key" + +#~ msgid "Have checked key very carefully" +#~ msgstr "Have checked key very carefully" + +#~ msgid "Have not checked key" +#~ msgstr "Have not checked key" + +#~ msgid "If signature expires with key" +#~ msgstr "If signature expires with key" + +#~ msgid "No answer" +#~ msgstr "No answer" + +#~ msgid "_Revocable" +#~ msgstr "_Revocable" + +#~ msgid "[Add a key server here]" +#~ msgstr "[Add a key server here]" diff --git a/po/eo.po b/po/eo.po new file mode 100644 index 00000000..8ce91d67 --- /dev/null +++ b/po/eo.po @@ -0,0 +1,3006 @@ +# Esperanto translation for seahorse. +# Copyright (C) 2011 Free Software Foundation, Inc. +# This file is distributed under the same license as the seahorse package. +# Carmen Bianca BAKKER , 2019. +# Tirifto , 2019. +# Kristjan SCHMIDT , 2011-2019. +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2019-03-02 19:22+0000\n" +"PO-Revision-Date: 2019-03-06 22:33+0200\n" +"Last-Translator: Kristjan SCHMIDT \n" +"Language-Team: Esperanto \n" +"Language: eo\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Virtaal 0.7.1\n" +"X-DamnedLies-Scope: partial\n" +"X-Project-Style: gnome\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Aldoni ŝlosilan servilon" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Propra" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Nuligi" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Konservi" + +#: common/catalog.vala:116 +msgid "Cannot delete" +msgstr "Ne eblis forigi" + +#: common/catalog.vala:130 common/key-manager-store.vala:418 +msgid "Couldn’t export keys" +msgstr "Ne eblis elporti ŝlosilojn" + +#: common/catalog.vala:140 +msgid "Couldn’t export data" +msgstr "Ne eblis elporti datumojn" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-photos.c:76 pgp/seahorse-gpgme-photos.c:264 +#: pgp/seahorse-gpgme-photos.c:324 pgp/seahorse-pgp-generate.ui:294 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:247 +msgid "_Cancel" +msgstr "_Nuligi" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: pkcs11/pkcs11-properties.vala:201 src/sidebar.vala:651 +msgid "_Delete" +msgstr "_Forigi" + +#: common/exportable.vala:192 pgp/seahorse-pgp-private-key-properties.ui:909 +#: ssh/seahorse-ssh-key-properties.ui:280 +msgid "Export" +msgstr "Elporti" + +#: common/interaction.vala:61 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Enigu PIN aŭ pasvorton de: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Konfirmi:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Bone" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Pasvorto:" + +#: common/prefs.vala:42 src/seahorse-key-manager.ui:43 +msgid "Preferences" +msgstr "Agordoj" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Neniu: Ne afiŝi ŝlosilojn" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Nevalida ŝlosila servila adreson." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Por helpo, kontaktu vian sistemadministranton aŭ la administranton de la " +"ŝlosila servo." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "Retadreso" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "komenca provizora ero" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Ŝlosila servila speco:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Gastigo:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "La gastignomo aŭ adreso de la servilo." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "La pordo por aliri la servilon." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Serĉi ŝlosilojn per:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Afiŝi ŝlosilojn al:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Aŭtomate ricevi ŝlosilojn el ŝlosilaj _serviloj" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Aŭtomate sinkronigi _modifitajn ŝlosilajn kun ŝlosilaj serviloj" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Ŝlosilaj serviloj" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Nekonata" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Neniam" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Meza" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Plena" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Pleja" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Malŝaltita" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Senvalidigita" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Aŭtomate ricevi ŝlosilojn" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Ĉu aŭ neoni devus aŭtomate ricevi ŝlosilojn el ŝlosilaj serviloj." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Aŭtomate eldoni ŝlosilojn" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Ĉu aŭtomate eldoni ŝanĝitajn ŝlosilojn aŭ ne." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Eldoni ŝlosilojn al ĉi tiu ŝlosila servilo" + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +#| msgid "Show keyrings sidebar in Seahorse." +msgid "Show keyrings sidebar" +msgstr "Montri flankan breton de ŝlosilaroj" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Montri flankan breton de ŝlosilaroj en Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Larĝo de la flanka breto" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "La norma larĝo de la flanka breto." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +#| msgid "Show trust column" +msgid "Show validity column" +msgstr "Montri la validecan kolumnon" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Jam ne uzata." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Montri senvalidiĝan kolumnon" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Montri fidan kolumnon" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Montri specan kolumnon" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Larĝo de la fenestro" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Larĝo (en bilderoj) de la fenestro." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Alto de la fenestro" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Alto (en bilderoj) de la fenestro." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Mastrumi viajn pasvortojn kaj ĉifrajn ŝlosilojn" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"Seahorse estas aplikaĵo de GNOME por mastrumi ĉifrajn ŝlosilojn. Ĝi ankaŭ " +"integras kun Naŭtilo, gedit, kaj aliaj lokoj por ĉifraj agoj." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:13 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Kun Seahorse vi povas krei kaj mastrumi PGP-ŝlosilojn, krei kaj mastrumi SSH-" +"ŝlosilojn, afiŝi kaj ricevi ŝlosilojn el ŝlosilaj serviloj, kaŝmemori vian " +"pasfrazon por ke vi ne devu retajpi ĝin, kaj sekurkopii viajn ŝlosilojn kaj " +"ŝlosilaron." + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:158 +#: src/seahorse-key-manager.ui:276 +msgid "Passwords and Keys" +msgstr "Pasvortoj kaj ŝlosiloj" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "ŝlosilaro;ĉifrado;ĉifro;sekureco;subskribi;ssh;" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.seahorse.Application.desktop.in.in:11 +msgid "org.gnome.seahorse.Application" +msgstr "org.gnome.seahorse.Application" + +#: gkr/gkr-backend.vala:43 +msgid "Passwords" +msgstr "Pasvortoj" + +#: gkr/gkr-backend.vala:47 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Konservitaj personaj pasvortoj, salutiloj kaj sekretoj" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:605 +msgid "Couldn’t unlock" +msgstr "Ne eblis malŝlosi" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Ne eblis aldoni eron" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Ĉu konservi ŝanĝojn por ĉi tiu ero?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Aliri retdividejon aŭ risurcon" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Aliri retejon" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Malŝlosi PGP-ŝlosilon" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Malŝlosas SSH-ŝlosilon" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Konservita pasvorto aŭ saluto" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Retaj salutiloj" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:191 +msgid "Password" +msgstr "Pasvorto" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Ne eblis ŝanĝi pasvorton." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Ne eblis agordi priskribon." + +#: gkr/gkr-item-properties.vala:268 +msgid "Error deleting the password." +msgstr "Eraro dum forigo de pasvorto." + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item.vala:425 +msgid "IM account password for " +msgstr "IM-konta pasvorto por " + +#: gkr/gkr-item.vala:485 +msgid "Wi-Fi password" +msgstr "Vifia pasvorto" + +#: gkr/gkr-item.vala:490 +msgid "Password or secret" +msgstr "Pasvorto aŭ sekreto" + +#: gkr/gkr-item.vala:491 +msgid "Network password" +msgstr "Reta pasvorto" + +#: gkr/gkr-item.vala:492 +msgid "Stored note" +msgstr "Konservita noto" + +#: gkr/gkr-item.vala:493 +msgid "Keyring password" +msgstr "Ŝlosilara pasvorto" + +#: gkr/gkr-item.vala:494 +msgid "Encryption key password" +msgstr "Ĉifrado-ŝlosila pasvorto" + +#: gkr/gkr-item.vala:495 +msgid "Key storage password" +msgstr "Ŝlosila konserveja pasvorto" + +#: gkr/gkr-item.vala:496 +msgid "GNOME Web password" +msgstr "GNOME Reto-pasvorto" + +#: gkr/gkr-item.vala:497 +msgid "Google Chrome password" +msgstr "Pasvorto de Google Chrome" + +#: gkr/gkr-item.vala:498 +msgid "GNOME Online Accounts password" +msgstr "GNOME Retaj Kontoj pasvorto" + +#: gkr/gkr-item.vala:499 +msgid "Telepathy password" +msgstr "Pasvorto de Telepatio" + +#: gkr/gkr-item.vala:500 +msgid "Instant messaging password" +msgstr "Tujmesaĝa pasvorto" + +#: gkr/gkr-item.vala:501 +msgid "Network Manager secret" +msgstr "Network Manager sekreto" + +#: gkr/gkr-item.vala:502 +msgid "Network connection secret" +msgstr "Reta konekta sekreto" + +#: gkr/gkr-item.vala:565 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Ĉu vi certe volas forigi la pasvorton “%s”?" + +#: gkr/gkr-item.vala:567 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Ĉu vi certe volas forigi %d pasvorton?" +msgstr[1] "Ĉu vi certe volas forigi %d pasvortojn?" + +#: gkr/gkr-keyring-add.vala:53 +msgid "Couldn’t add keyring" +msgstr "Ne eblis aldoni ŝlosilaron" + +#: gkr/gkr-keyring-properties.vala:66 +msgid "Unknown date" +msgstr "Nekonata dato" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Ŝlosilaro, kiu estas aŭtomate malŝlosita dum saluto" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Ŝlosilaro, kiu estas uzata por konservi pasvortojn" + +#: gkr/gkr-keyring.vala:192 +msgid "Couldn’t set default keyring" +msgstr "Ne eblis agordi implicitan ŝlosilaron" + +#: gkr/gkr-keyring.vala:219 gkr/gkr-keyring.vala:224 +msgid "Couldn’t change keyring password" +msgstr "Ne eblis ŝanĝi ŝlosilaran pasvorton" + +#: gkr/gkr-keyring.vala:243 +msgid "_Set as default" +msgstr "_Agordi kiel implicitan" + +#: gkr/gkr-keyring.vala:244 +msgid "Change _Password" +msgstr "Ŝanĝi _pasvorton" + +#: gkr/gkr-keyring.vala:255 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Ĉu vi certe volas forigi la pasvortan ŝlosilaron “%s”?" + +#: gkr/gkr-keyring.vala:258 +msgid "I understand that all items will be permanently deleted." +msgstr "Mi komprenas, ke ĉiuj eroj estos forigitaj daŭre." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Montri/kaŝi pasvorton" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Aldoni pasvorton" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "Ŝ_losilaro:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description:" +msgstr "_Priskribo:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Pasvorto:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +msgid "OK" +msgstr "Bone" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Aldoni pasvortan ŝlosilaron" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Bonvolu elekti nomon por la nova ŝlosilaro. Oni demandos al vi malŝlos-" +"pasvorton." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Nova ŝlosilara nomo:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Eraj ecoj" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Priskribo" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Kopii" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Uzo" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1217 +msgid "Type" +msgstr "Speco" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Servilo" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Saluto" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1103 +#: pgp/seahorse-pgp-public-key-properties.ui:915 +msgid "Details" +msgstr "Detaloj" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Forigi pasvorton" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Ŝlosilaraj ecoj" + +#: gkr/seahorse-gkr-keyring.ui:23 src/seahorse-key-manager.ui:486 +msgid "Keyring is locked" +msgstr "Ŝlosilaro estas ŝlosita" + +#: gkr/seahorse-gkr-keyring.ui:33 src/seahorse-key-manager.ui:496 +msgid "Unlock" +msgstr "Malŝlosi" + +#: gkr/seahorse-gkr-keyring.ui:46 +msgid "Keyring is unlocked" +msgstr "Ŝlosilaro estas ŝlosita" + +#: gkr/seahorse-gkr-keyring.ui:56 +msgid "Lock" +msgstr "Ŝlosi" + +#: gkr/seahorse-gkr-keyring.ui:102 pgp/seahorse-pgp-key-properties.c:851 +msgid "Name" +msgstr "Nomo" + +#: gkr/seahorse-gkr-keyring.ui:130 +msgid "Created on" +msgstr "Kreita je" + +#: gkr/seahorse-gkr-keyring.ui:160 +msgid "Change password" +msgstr "Ŝanĝi pasvorton" + +#: gkr/seahorse-gkr-keyring.ui:167 +msgid "Set as default" +msgstr "Agordi kiel implicitan" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Montraj flagoj" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Montritaj dataj kaj/aŭ horaj ecoj" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Pigra reĝimo" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Pigra reĝimo ne normigas enigitajn datajn kaj horajn valorojn" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Jaro" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Montrata jaro" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Monato" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Montrata monato" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Tago" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Montrata tago de la monato" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Horo" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Montrata horo" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minuto" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Montrata minuto" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekundo" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Montrata sekundo" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Jara sublimo" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Jarparto de la data sublimo" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Jara suprolimo" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Jarparto de la data suprolimo" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Monata sublimo" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Monatparto de la data sublimo" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Monata suprolimo" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Monatparto de la data suprolimo" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Taga sublimo" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Tagparto de la data sublimo" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Taga suprolimo" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Tagparto de la data suprolimo" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Hora sublimo" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Horparto de la data sublimo" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Hora suprolimo" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Horparto de la data suprolimo" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Minuta sublimo" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Minutparto de la data sublimo" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Minuta suprolimo" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Minutparto de la data suprolimo" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Sekunda sublimo" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Sekundparto de la data sublimo" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Sekunda suprolimo" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Sekundparto de la data suprolimo" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Dato" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Enigi la daton rekte" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Elekti daton" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Elektu la daton el kalendaro" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "Tempo" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Ŝanĝi la horon rekte" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Elekti tempon" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Elekti la tempon el listo" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1259 +#: libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "ATM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1260 +#: libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "PTM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Ne eblis montri helpon: %s" + +#: pgp/seahorse-add-subkey.ui:31 +msgid "Never E_xpires" +msgstr "N_eniam senvalidiĝos" + +#: pgp/seahorse-add-subkey.ui:35 +msgid "If key never expires" +msgstr "Se la ŝlosilo neniam senvalidiĝos" + +#: pgp/seahorse-add-subkey.ui:65 pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Ŝlosil_speco:" + +#: pgp/seahorse-add-subkey.ui:78 +msgid "Key _Length:" +msgstr "Ŝlosil_longo:" + +#: pgp/seahorse-add-subkey.ui:93 +msgid "Expiration Date:" +msgstr "Senvalidiga dato:" + +#: pgp/seahorse-add-subkey.ui:112 +msgid "Length of Key" +msgstr "Longo de la ŝlosilo" + +#: pgp/seahorse-add-subkey.ui:194 +msgid "Generate a new subkey" +msgstr "Generi novan subŝlosilon" + +#: pgp/seahorse-expires.ui:22 +msgid "_Never expires" +msgstr "_Neniam senvalidiĝos" + +#: pgp/seahorse-expires.ui:80 pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Senvalidigi ŝlosilon" + +#: pgp/seahorse-expires.ui:106 +msgid "C_hange" +msgstr "Ŝa_nĝi" + +#: pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn’t add subkey" +msgstr "Ne eblis aldoni subŝlosilon" + +#: pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "Aldoni subŝlosilon al %s" + +#: pgp/seahorse-gpgme-add-subkey.c:196 pgp/seahorse-gpgme-generate.c:78 +msgid "DSA (sign only)" +msgstr "DSA (nur subskriba)" + +#: pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (nur ĉifra)" + +#: pgp/seahorse-gpgme-add-subkey.c:210 pgp/seahorse-gpgme-generate.c:79 +msgid "RSA (sign only)" +msgstr "RSA (nur subskriba)" + +#: pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (nur ĉifra)" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Aldoni uzanto-identigilon al %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Ne eblis aldoni uzanto-identigilon" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Aldon uzanto-identigilon" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 +msgid "Full _Name" +msgstr "Tuta _nomo" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Devas esti malpleje 5 signoj" + +#: pgp/seahorse-gpgme-add-uid.ui:55 +msgid "_Email Address" +msgstr "R_etpoŝtadreso" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Malnepra retpoŝtadreso" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Ŝlosila ko_mento" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Malnepra komento priskribante la ŝlosilon" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Krei la novan uzantan ID" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Malĉifro malsukcesis. Vi probable ne havas la malĉifran ŝlosilon." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:515 +msgid "The operation was cancelled" +msgstr "La ago estis nuligita" + +#: pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "Nevalida senvalidiga dato" + +#: pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "La senvalidiga dato nepras esti estonta" + +#: pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn’t change expiry date" +msgstr "Ne eblis ŝanĝi senvalidigan daton" + +#: pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "Senvalidiĝo: %s" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Pluraj ŝlosiloj" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Ŝlosildatumoj" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Sekuraj PGP-ŝlosiloj" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP-ŝlosiloj" + +#: pgp/seahorse-gpgme-generate.c:76 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:141 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate.c:77 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate.c:129 +msgid "Couldn’t generate PGP key" +msgstr "Ne eblis generi PGP-ŝlosilon" + +#: pgp/seahorse-gpgme-generate.c:168 +msgid "Passphrase for New PGP Key" +msgstr "Pasfrazo por nova PGP-ŝlosilo" + +#: pgp/seahorse-gpgme-generate.c:169 +msgid "Enter the passphrase for your new key twice." +msgstr "Enigu la pasfrazon por via nova ŝlosilo dufoje." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate.c:181 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Dum kreado de ŝlosilo ni bezonas generi multe da\n" +"hazardaj datumoj kaj ni bezonas vian helpon. Estas\n" +"bona ideo fari ion kiel tajpi sur la klavaro, movi\n" +"la muson, aŭ uzi aplikaĵojn. Ĉi tiu donas al la\n" +"sistemo hazardajn datumojn." + +#: pgp/seahorse-gpgme-generate.c:186 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Generante ŝlosilon" + +#: pgp/seahorse-gpgme-generate.c:313 +msgid "Name must be at least 5 characters long." +msgstr "Nomo devas esti malpleje 5 signoj." + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Ĉu vi certe volas daŭre forigi %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Ĉu vi certe volas daŭre forigi %d ŝlosilon?" +msgstr[1] "Ĉu vi certe volas daŭre forigi %d ŝlosilojn?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Malĝusta pasvorto" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Ĉi tiu estis la tria fojo, ke vi enigis malĝustan pasvorton. Bonvolu reprovi." + +#: pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "Malĝusta pasfrazo." + +#: pgp/seahorse-gpgme-keyring.c:93 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Enigi novan pasfrazon por “%s”" + +#: pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Enigi pasfrazon por “%s”" + +#: pgp/seahorse-gpgme-keyring.c:98 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Enigi novan pasfrazon" + +#: pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "Enigi pasfrazon" + +#: pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "Pasfrazo" + +#: pgp/seahorse-gpgme-keyring.c:300 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Ŝargis %d ŝlosilon" +msgstr[1] "Ŝargis %d ŝlosilojn" + +#: pgp/seahorse-gpgme-keyring.c:625 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Nevalida ŝlosil-datumo (UID-oj mankante). Ĉi tio povus esti pro komputilo " +"kun dato en la estonteco aŭ mankanta mem-subskribo." + +#: pgp/seahorse-gpgme-keyring.c:755 +msgid "GnuPG keys" +msgstr "GnuPG-ŝlosiloj" + +#: pgp/seahorse-gpgme-keyring.c:766 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: implicita ŝlosilara dosierujo" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"La foto estas tro granda\n" +"La rekomendita grando por foto sur via ŝlosilo estas %d × %d bilderoj." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Ne aligrandigi" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Aligrandigi" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Ĉi tiu ne estas bilda dosiero, aŭ nekonata bildformo. Provu uzi JPEG-bildon." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Ĉiuj bilddosieroj" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Ĉiuj JPEG-dosieroj" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:290 +msgid "All files" +msgstr "Ĉiuj dosieroj" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Elekti foton por aldoni al ŝlosilo" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:248 +msgid "_Open" +msgstr "_Malfermi" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Ne eblis prepari fotaĵon" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Ne eblis prepari fotaĵon" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "La dosieron ne eblis ŝargi. Ĝi povus esti en nevalida formo" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Ĉu vi certe volas forigi la aktualan foton el via ŝlosilo?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Ne eblis forigi fotaĵon" + +#: pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn’t revoke subkey" +msgstr "Ne eblis senvalidigi subŝlosilon" + +#: pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "Senvalidigi: %s" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "Sen kialo" + +#: pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "Sen kialo por senvalidigi ŝlosilon" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "Malkonfidencigita" + +#: pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "Ŝlosilo estas malkonfidencigita" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "Anstataŭigita" + +#: pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "Ŝlosilo estas anstataŭigita" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "Neuzata" + +#: pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "Ŝlosilo estas ne plu uzata" + +#: pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Vi estas aldononta %s kiel senvalidiganton por %s. Ĉi tiun agon oni ne povas " +"malfari! Ĉu vi certe volas daŭrigi?" + +#: pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn’t add revoker" +msgstr "Ne eblis aldoni senvalidiganton" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Mi komprenas, ke ĉi tiu sekreta ŝlosilo estos daŭre forigita." + +#: pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Ĉi tiu ŝlosilo estis jam subskribita de\n" +"“%s”" + +#: pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn’t sign key" +msgstr "Ne eblis subskribi ŝlosilon" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign.c:163 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Neniu uzebla ŝlosilo por subskribado" + +#: pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Vi havas neniun personan PGP-ŝlosilon, kiun oni povas uzi por indiki vian " +"fidon de ĉi tiu ŝlosilo." + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Nekonate" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Serĉo ne estis sufiĉe specifa. Servilo “%s” trovis tro multe da ŝlosiloj." + +#: pgp/seahorse-hkp-source.c:536 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Ne povis komuniki al servilo “%s”: %s" + +#: pgp/seahorse-hkp-source.c:999 +msgid "HTTP Key Server" +msgstr "HTTP ŝlosila servilo" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Ne eblis enporti ŝlosilojn: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Enporto de ŝlosilo sukcesis" + +#: pgp/seahorse-keyserver-results.c:154 src/import-dialog.vala:38 +msgid "Import" +msgstr "Enporti" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Ne eblis enporti ŝlosilon" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Deforaj ŝlosiloj" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Deforaj ŝlosiloj enhavantaj “%s”" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "La serĉado por ŝlosiloj malsukcesis." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Klaku duoble sur ŝlosilo por inspekti ĝin, aŭ alklaku la enport-butonon por " +"enporti ĝin en vian ŝlosilaron." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Serĉi deforajn ŝlosilojn" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Ĉi tiu serĉos ŝlosilojn por aliaj sur la interreto. Ĉi tiujn ŝlosilojn oni " +"tiam povas enporti en vian lokan ŝlosilaron." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Serĉi por ŝlosiloj enhavantaj: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Kie fari serĉon:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Ŝlosil-serviloj:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Kunhavigitaj ŝlosiloj proksime de mi:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Serĉi" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Ne eblis afiŝi ŝlosilojn al servilo" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Ne eblis ricevi ŝlosilojn el servilo: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d ŝlosilo estas elektita por sinkronigo" +msgstr[1] "%d ŝlosiloj estas elektitaj por sinkronigo" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Sinkronigante ŝlosilojn…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Sinkronigi ŝlosilojn" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Ĉi tio afiŝos la ŝlosilojn al la ŝlosilaro por ke ili estos disponeblaj por " +"aliuloj. Vi ankaŭ ricevos ŝanĝojn, kiujn aliuloj faris depost vi ricevis " +"iliajn ŝlosilojn." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Ĉi tio ricevos iujn ajn ŝanĝojn, kiujn aliuloj faris depost vi ricevis " +"iliajn ŝlosilojn. Neniu ŝlosila servilo estas agordita por afiŝado, do viaj " +"ŝlosiloj ne estos disponebligitaj al aliuloj." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Ŝ_losilaj serviloj" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Sinkronigi" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Ne povis komuniki al %s: %s" + +#: pgp/seahorse-ldap-source.c:649 +#, c-format +msgid "Connecting to: %s" +msgstr "Konektante al: %s" + +#: pgp/seahorse-ldap-source.c:655 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Ne povis solvi adreson: %s" + +#: pgp/seahorse-ldap-source.c:699 +#, c-format +msgid "Resolving server address: %s" +msgstr "Solvante servilan adreson: %s" + +#: pgp/seahorse-ldap-source.c:1434 +msgid "LDAP Key Server" +msgstr "LDAP ŝlosila servilo" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP-ŝlosiloj" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP-ŝlosiloj utilas por ĉifri retpoŝton aŭ dosierojn" + +#: pgp/seahorse-pgp-generate.ui:18 +msgid "New PGP key" +msgstr "Nova PGP-ŝlosilo" + +#: pgp/seahorse-pgp-generate.ui:67 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP-ŝlosilo permesas al vi ĉifri retpoŝton aŭ dosierojn al aliuloj." + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-pgp-generate.ui:86 +msgid "Full _Name:" +msgstr "Tuta _nomo:" + +#: pgp/seahorse-pgp-generate.ui:114 +msgid "_Email Address:" +msgstr "R_etpoŝtadreso:" + +#: pgp/seahorse-pgp-generate.ui:143 pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Altnivelaj ŝlosilaj agordoj" + +#: pgp/seahorse-pgp-generate.ui:160 +msgid "_Comment:" +msgstr "_Komento:" + +#: pgp/seahorse-pgp-generate.ui:188 ssh/seahorse-ssh-generate.ui:124 +msgid "Encryption _Type:" +msgstr "Ĉifra _speco:" + +#: pgp/seahorse-pgp-generate.ui:215 pkcs11/seahorse-pkcs11-generate.ui:151 +#: ssh/seahorse-ssh-generate.ui:158 +msgid "Key _Strength (bits):" +msgstr "Ŝlosila _forteco (bitoj):" + +#: pgp/seahorse-pgp-generate.ui:242 +msgid "E_xpiration Date:" +msgstr "S_envalidiĝa dato:" + +#: pgp/seahorse-pgp-generate.ui:261 +msgid "Ne_ver Expires" +msgstr "_Neniam senvalidiĝos" + +#: pgp/seahorse-pgp-generate.ui:304 +msgid "C_reate" +msgstr "K_rei" + +#: pgp/seahorse-pgp-generate.ui:311 +msgid "Generate a new key" +msgstr "Generi novan ŝlosilon" + +#: pgp/seahorse-pgp-key.c:555 +msgid "Personal PGP key" +msgstr "Persona PGP-ŝlosilo" + +#: pgp/seahorse-pgp-key.c:557 +msgid "PGP key" +msgstr "PGP-ŝlosilo" + +#: pgp/seahorse-pgp-key-properties.c:245 +msgid "Couldn’t change primary user ID" +msgstr "Ne povis ŝanĝi ĉefan uzanto-identigilon" + +#: pgp/seahorse-pgp-key-properties.c:280 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Ĉu vi certe volas daŭre forigi la uzanto-identigilon “%s”?" + +#: pgp/seahorse-pgp-key-properties.c:289 +msgid "Couldn’t delete user ID" +msgstr "Ne eblis forigi unzonto-identigilon" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:361 pgp/seahorse-pgp-key-properties.c:1351 +msgid "[Unknown]" +msgstr "[Nekonate]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:457 pgp/seahorse-pgp-key-properties.c:1556 +msgid "Name/Email" +msgstr "Nomo/retpoŝtadreso" + +#: pgp/seahorse-pgp-key-properties.c:464 +msgid "Signature ID" +msgstr "Subskriba identigilo" + +#: pgp/seahorse-pgp-key-properties.c:570 +msgid "Couldn’t change primary photo" +msgstr "Ne povis ŝanĝi ĉefan foton" + +#: pgp/seahorse-pgp-key-properties.c:730 +msgid "Error changing password" +msgstr "Eraro dum ŝanĝo de pasvorto" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:776 +msgid "(unknown)" +msgstr "(nekonate)" + +#: pgp/seahorse-pgp-key-properties.c:781 +#, c-format +msgid "This key expired on: %s" +msgstr "Ĉi tiu ŝlosilo senvalidiĝis je: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:809 +#, c-format +msgid "%s — Public key" +msgstr "%s — Publika ŝlosilo" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:812 +#, c-format +msgid "%s — Private key" +msgstr "%s — Privata ŝlosilo" + +#: pgp/seahorse-pgp-key-properties.c:965 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Ĉu vi certe volas daŭre forigi subŝlosilon %d de %s?" + +#: pgp/seahorse-pgp-key-properties.c:973 +msgid "Couldn’t delete subkey" +msgstr "Ne eblis forigi subŝlosilon" + +#: pgp/seahorse-pgp-key-properties.c:1032 +#: pgp/seahorse-pgp-key-properties.c:1325 +msgid "Unable to change trust" +msgstr "Ne eblas ŝanĝi fidon" + +#: pgp/seahorse-pgp-key-properties.c:1044 ssh/key-properties.vala:185 +msgid "Couldn’t export key" +msgstr "Ne eblis elporti ŝlosilon" + +#: pgp/seahorse-pgp-key-properties.c:1175 +#: pgp/seahorse-pgp-key-properties.c:1259 +msgctxt "Expires" +msgid "Never" +msgstr "Neniam" + +#: pgp/seahorse-pgp-key-properties.c:1214 +msgid "ID" +msgstr "Identigilo" + +#: pgp/seahorse-pgp-key-properties.c:1220 +msgid "Usage" +msgstr "Uzado" + +#: pgp/seahorse-pgp-key-properties.c:1223 +msgid "Created" +msgstr "Kreite" + +#: pgp/seahorse-pgp-key-properties.c:1226 +msgid "Expires" +msgstr "Senvalidiĝo" + +#: pgp/seahorse-pgp-key-properties.c:1229 +msgid "Status" +msgstr "Stato" + +#: pgp/seahorse-pgp-key-properties.c:1232 +msgid "Strength" +msgstr "Forto" + +#: pgp/seahorse-pgp-key-properties.c:1250 +msgid "Revoked" +msgstr "Senvalidigita" + +#: pgp/seahorse-pgp-key-properties.c:1252 +msgid "Expired" +msgstr "Senvalidiĝis" + +#: pgp/seahorse-pgp-key-properties.c:1254 +msgid "Disabled" +msgstr "Elŝaltite" + +#: pgp/seahorse-pgp-key-properties.c:1256 +msgid "Good" +msgstr "Bona" + +#: pgp/seahorse-pgp-key-properties.c:1559 +#: pgp/seahorse-pgp-private-key-properties.ui:333 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Ŝlosila ID" + +#: pgp/seahorse-pgp-key-properties.c:1700 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Mi fidas subskribojn de “%s” sur aliaj ŝlosiloj" + +#: pgp/seahorse-pgp-key-properties.c:1707 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Se vi kredas, ke la persono kiu posedas ĉi tiun ŝlosilon estas “%s”, " +"subskribu ĉi tiun ŝlosilon:" + +#: pgp/seahorse-pgp-key-properties.c:1714 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Se vi ne plu fidas ke “%s” posedas ĉi tiun ŝlosilon, senvalidigi vian " +"subskribon:" + +#: pgp/seahorse-pgp-private-key-properties.ui:56 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Ĉi tiu ŝlosilo senvalidiĝis" + +#: pgp/seahorse-pgp-private-key-properties.ui:66 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" +"La posendato de la ŝlosilo senvalidigis la ŝlosilon. Oni jam ne povas uzi " +"ĝin." + +#: pgp/seahorse-pgp-private-key-properties.ui:94 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Ĉi tiu ŝlosilo senvalidiĝis" + +#: pgp/seahorse-pgp-private-key-properties.ui:159 +msgid "Add a photo to this key" +msgstr "Aldoni foton al tiu ŝlosilo" + +#: pgp/seahorse-pgp-private-key-properties.ui:178 +msgid "Remove this photo from this key" +msgstr "Forigi tiun foton de tiu ŝlosilo" + +#: pgp/seahorse-pgp-private-key-properties.ui:197 +msgid "Make this photo the primary photo" +msgstr "Fari ĉi tiun foton la ĉefa foto" + +#: pgp/seahorse-pgp-private-key-properties.ui:222 +msgid "Go to previous photo" +msgstr "Iri al antaŭa foto" + +#: pgp/seahorse-pgp-private-key-properties.ui:241 +msgid "Go to next photo" +msgstr "Iri al sekva foto" + +#: pgp/seahorse-pgp-private-key-properties.ui:306 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Komento" + +#: pgp/seahorse-pgp-private-key-properties.ui:363 +#: ssh/seahorse-ssh-key-properties.ui:294 +msgid "Change _Passphrase" +msgstr "Ŝanĝi _pasfrazon" + +#: pgp/seahorse-pgp-private-key-properties.ui:379 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Posedanto" + +#: pgp/seahorse-pgp-private-key-properties.ui:392 +msgid "Key Names and Signatures" +msgstr "Ŝlosilnomoj kaj subskriboj" + +#: pgp/seahorse-pgp-private-key-properties.ui:430 +msgid "Primary" +msgstr "Ĉefa" + +#: pgp/seahorse-pgp-private-key-properties.ui:460 pgp/seahorse-pgp-subkey.c:160 +msgid "Sign" +msgstr "Subskribi" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:490 +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Delete" +msgstr "Forigi" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:520 +msgid "_Add Name" +msgstr "_Aldoni nomon" + +#: pgp/seahorse-pgp-private-key-properties.ui:550 +#: pgp/seahorse-pgp-private-key-properties.ui:1040 +msgid "Revoke" +msgstr "Senvalidigi" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:586 +msgid "Names and Signatures" +msgstr "Nomoj kaj subskriboj" + +#: pgp/seahorse-pgp-private-key-properties.ui:623 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Ŝlosil-ID:" + +#: pgp/seahorse-pgp-private-key-properties.ui:648 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Tipo:" + +#: pgp/seahorse-pgp-private-key-properties.ui:673 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Forto:" + +#: pgp/seahorse-pgp-private-key-properties.ui:698 +msgid "Technical Details" +msgstr "Teĥnikaj detaloj" + +#: pgp/seahorse-pgp-private-key-properties.ui:726 +#: ssh/seahorse-ssh-key-properties.ui:174 +msgid "Fingerprint" +msgstr "Fingrospuro" + +#: pgp/seahorse-pgp-private-key-properties.ui:758 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Kreita:" + +#: pgp/seahorse-pgp-private-key-properties.ui:782 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Senvalidiĝos:" + +#: pgp/seahorse-pgp-private-key-properties.ui:828 +msgid "Dates" +msgstr "Datoj" + +#: pgp/seahorse-pgp-private-key-properties.ui:851 +msgid "Override Owner _Trust:" +msgstr "Transpasi posedantan _fidon:" + +#: pgp/seahorse-pgp-private-key-properties.ui:879 +msgid "_Export Secret Key:" +msgstr "_Elporti sekretan ŝlosilon:" + +#: pgp/seahorse-pgp-private-key-properties.ui:926 +msgid "Actions" +msgstr "Agoj" + +#: pgp/seahorse-pgp-private-key-properties.ui:980 +msgid "Add" +msgstr "Aldoni" + +#: pgp/seahorse-pgp-private-key-properties.ui:1010 +msgid "Expire" +msgstr "Senvalidiĝi" + +#: pgp/seahorse-pgp-private-key-properties.ui:1084 +#: pgp/seahorse-pgp-public-key-properties.ui:898 +msgid "_Subkeys" +msgstr "_Subŝlosiloj" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Meza" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Plena" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Pleja" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Aliaj nomoj:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Via fido je ĉi tiu ŝlosilo" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Via fido estas mane specifita en la langeto Detaloj." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Subskribi ĉi tiun ŝlosilon" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Senvalidigi subskribon" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Uloj, kiuj subskribis ĉi tiun ŝlosilon:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Nur montri la subskribojn de uloj, kiujn mi fidas" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Fido" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Teĥnikaj detaloj:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Fingrospuro:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Datoj:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate Trust:" +msgstr "Indiki fidon:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _Trust the Owner:" +msgstr "Vi _fidas la posedanton:" + +#: pgp/seahorse-pgp-subkey.c:159 +msgid "Encrypt" +msgstr "Ĉifri" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Certify" +msgstr "Atesti" + +#: pgp/seahorse-pgp-subkey.c:162 +msgid "Authenticate" +msgstr "Aŭtentigi" + +#: pgp/seahorse-pgp-subkey.c:311 +msgid "Key" +msgstr "Ŝlosilo" + +#: pgp/seahorse-pgp-subkey.c:316 +#, c-format +msgid "Subkey %d of %s" +msgstr "Subŝlosilo %d de %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Kialo por senvalidigi la ŝlosilon" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Kialo:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Malnepra priskribo pri senvalidigo" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Sen_validigi" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Vi ne havas personan PGP-ŝlosilon, kiun oni povas uzi por subskribi " +"dokumenton aŭ mesaĝon." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Elekti subskriban ŝlosilon" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Subskribi mesaĝon kun ŝlosilo:" + +#: pgp/seahorse-sign.ui:6 +msgid "Sign Key" +msgstr "Subskribi ŝlosilon" + +#: pgp/seahorse-sign.ui:27 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Per subskribo, vi indikas vian fidon ke ĉi tiu ŝlosilo apartenas al:" + +#: pgp/seahorse-sign.ui:34 +msgid "Key Name" +msgstr "Ŝlosilnomo" + +#: pgp/seahorse-sign.ui:54 +msgid "How carefully have you checked this key?" +msgstr "Kiel prudente vi kontrolis ĉi tiun ŝlosilon?" + +#: pgp/seahorse-sign.ui:84 +msgid "_Not at all" +msgstr "Tute _ne" + +#: pgp/seahorse-sign.ui:95 +msgid "_Casually" +msgstr "_Senemfaze" + +#: pgp/seahorse-sign.ui:107 +msgid "_Very Carefully" +msgstr "_Prudentege" + +#: pgp/seahorse-sign.ui:134 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Tute ne: signifas ke vi kredas ke la ŝlosilo apartenas al la persono, " +"kiu asertas posedi ĝin, sed vi ne kontrolis tiun." + +#: pgp/seahorse-sign.ui:147 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Senemfaze: signifas ke vi faris mezan kontroladon ke la ŝlosilo " +"apartenas al la persono, kiu asertas posedi ĝin. Ekzemple, vi povis legi la " +"ŝlosilan fingrospuron al la posedanto per telefono." + +#: pgp/seahorse-sign.ui:168 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Prudente: Elektu ĉi tion nur se vi certegas ke ĉi tiu ŝlosilo estas " +"aŭtentika." + +#: pgp/seahorse-sign.ui:184 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Vi povus uzi malfacile falseblan legitimilon (kiel pasporton) por persone " +"kontroli ĉu la nomo de la ŝlosilo ĝustas. Vi ankaŭ devus kontroli retpoŝte " +"ĉu la retpoŝtadreso apartenas al la posedanto." + +#: pgp/seahorse-sign.ui:215 +msgid "How others will see this signature:" +msgstr "Kiel aliuloj vidos ĉi tiun subskribon:" + +#: pgp/seahorse-sign.ui:232 +msgid "_Others may not see this signature" +msgstr "_Aliuloj ne havas permeson vidi ĉi tiun subskribon" + +#: pgp/seahorse-sign.ui:243 +msgid "I can _revoke this signature at a later date." +msgstr "Mu povas sen_validigi ĉi tiun subskribon poste." + +#: pgp/seahorse-sign.ui:268 +msgid "Sign key as:" +msgstr "Subskribi ŝlosilon kiel:" + +#: pgp/seahorse-sign.ui:286 +msgid "_Signer:" +msgstr "_Subskribanto:" + +#: pgp/seahorse-sign.ui:321 +msgid "_Sign" +msgstr "_Subskribi" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "Elportante datumojn" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "Ricevante datumojn" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "Enportante datumojn" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "Sendante datumojn" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Nedisponeble" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Atestilo" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Atestiloj (DER-kodigitaj)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Persona atestilo kaj ŝlosilo" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Persona atestilo" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Ĉu vi certe volas daŭre forigi %d atestilon?" +msgstr[1] "Ĉu vi certe volas daŭre forigi %d atestilojn?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Ne eblis generi privatan ŝlosilon" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Mi komprenas, ke ĉi tiu ŝlosilo estos daŭre forigita." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Sennoma privata ŝlosilo" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:225 +msgid "Private key" +msgstr "Privata ŝlosilo" + +#: pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "Sennoma" + +#: pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "Malsukcesis elporti atestilon" + +#: pkcs11/pkcs11-properties.vala:188 src/sidebar.vala:621 +msgid "Couldn’t delete" +msgstr "Ne eblis forigi" + +#: pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "_Elporti" + +#: pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "Elporti la atestilon" + +#: pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "Forigi ĉi tiun atestilon aŭ ŝlosilon" + +#: pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "Peti _atestilon" + +#: pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "Krei atestilan petan dosieron por ĉi tiu ŝlosilo" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Krei" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Ne eblis krei atestilan peton" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Konservi atestilan peton" + +#: pkcs11/pkcs11-request.vala:107 +msgid "_Save" +msgstr "_Konservi" + +#: pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "Atestilo-peto" + +#: pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "PEM-kodigita peto" + +#: pkcs11/pkcs11-request.vala:149 +msgid "Couldn’t save certificate request" +msgstr "Ne eblis konservi atestilo-peton" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Nekonate" + +#: pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Atestiloj" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509-atestiloj kaj rilataj ŝlosiloj" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Nova privata ŝlosilo" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Krei novan privatan ŝlosilon" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Etikedo:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Konservita en:" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Krei novan atestilan petan dosieron." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "La kutima nomo (CN) metita en la atestilan peton." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Nomo (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Kontribuintoj:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Versio de ĉi tiu aplikaĵo" + +#: src/application.vala:160 +msgid "translator-credits" +msgstr "" +"Kristjan SCHMIDT\n" +"Carmen Bianca BAKKER \n" +"Tirifto " + +#: src/application.vala:163 +msgid "Seahorse Project Homepage" +msgstr "Retpaĝaro de la Seahorse-projekto" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Enportotaj datumoj" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Enporto malsukcesis" + +#. The prompt +#: src/key-manager.vala:245 ssh/operation.vala:309 +msgid "Import Key" +msgstr "Enporti ŝlosilon" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:256 +msgid "All key files" +msgstr "Ĉiuj ŝlosildosieroj" + +#: src/key-manager.vala:321 +msgid "Dropped text" +msgstr "Enmetita teksto" + +#: src/key-manager.vala:349 +msgid "Clipboard text" +msgstr "Tonduja teksto" + +#: src/key-manager.vala:441 +msgid "Couldn’t unlock keyring" +msgstr "Ne eblis malŝlosi ŝlosilaron" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Ŝanĝi pasfrazon" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Nova _pasfrazo:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Konfirmi novan pasfrazon" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Kon_firmi pasfrazon:" + +#: src/seahorse-key-manager.ui:6 +msgid "Filter items:" +msgstr "Filtri erojn:" + +#: src/seahorse-key-manager.ui:8 +msgid "Show personal" +msgstr "Montri proprajn" + +#: src/seahorse-key-manager.ui:13 +msgid "Show trusted" +msgstr "Montri fidatajn" + +#: src/seahorse-key-manager.ui:18 +msgid "Show any" +msgstr "Montri ĉiujn ajn" + +#: src/seahorse-key-manager.ui:25 +msgid "Combine all keyrings" +msgstr "Kunigi ĉiujn ŝlosilarojn" + +#: src/seahorse-key-manager.ui:31 +msgid "Find remote keys…" +msgstr "Trovi deforajn ŝlosilojn…" + +#: src/seahorse-key-manager.ui:36 +msgid "Sync and publish keys…" +msgstr "Sinkronigi kaj afiŝi ŝlosilojn…" + +#: src/seahorse-key-manager.ui:48 +msgid "Help" +msgstr "Helpo" + +#: src/seahorse-key-manager.ui:52 +msgid "_About Passwords and Keys" +msgstr "_Pri pasvortoj kaj ŝlosiloj" + +#: src/seahorse-key-manager.ui:89 +msgid "Secure Shell key" +msgstr "SSH-ŝlosilo" + +#: src/seahorse-key-manager.ui:96 +msgid "Used to access other computers" +msgstr "Uzata por aliri aliajn komputilojn" + +#: src/seahorse-key-manager.ui:123 +msgid "GPG key" +msgstr "GPG-ŝlosilo" + +#: src/seahorse-key-manager.ui:130 +msgid "Used to encrypt email and files" +msgstr "Uzata por ĉifri retpoŝton kaj dosierojn" + +#: src/seahorse-key-manager.ui:157 +msgid "Password keyring" +msgstr "Pasvort-ŝlosilaro" + +#: src/seahorse-key-manager.ui:164 +msgid "Used to store application and network passwords" +msgstr "Uzata por konservi aplikaĵajn kaj retajn pasvortojn" + +#: src/seahorse-key-manager.ui:198 +msgid "Safely store a password or secret" +msgstr "Sekure konservi pasvorton aŭ sekreton" + +#: src/seahorse-key-manager.ui:232 +msgid "Used to request a certificate" +msgstr "Uzata por peti atestilon" + +#: src/seahorse-key-manager.ui:258 +msgid "Import from file…" +msgstr "Enporti el dosiero…" + +#: src/seahorse-key-manager.ui:282 +msgid "Add a new key or item" +msgstr "Aldoni novan ŝlosilon aŭ eron" + +#: src/seahorse-key-manager.ui:313 +msgid "Search for a key or password" +msgstr "Serĉi ŝlosilon aŭ pasvorton" + +#: src/seahorse-key-manager.ui:360 +msgid "Filter" +msgstr "Filtrilo" + +#: src/seahorse-key-manager.ui:454 +msgid "This collection seems to be empty" +msgstr "Ĉi tiu kolekto ŝajne estas malplena" + +#: src/seahorse-key-manager-widgets.ui:6 +msgid "Export…" +msgstr "Elporti…" + +#: src/seahorse-key-manager-widgets.ui:19 +msgid "Properties" +msgstr "Ecoj" + +#: src/seahorse-key-manager-widgets.ui:23 +msgid "Configure Key for Secure Shell…" +msgstr "Agordi ŝlosilon por Sekura Ŝelo…" + +#: src/sidebar.vala:587 +msgid "Couldn’t lock" +msgstr "Ne eblis ŝlosi" + +#. Lock and unlock items +#: src/sidebar.vala:638 +msgid "_Lock" +msgstr "Ŝ_losi" + +#: src/sidebar.vala:643 +msgid "_Unlock" +msgstr "_Malŝlosi" + +#. Properties item +#: src/sidebar.vala:660 +msgid "_Properties" +msgstr "_Ecoj" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Sekura ŝelo" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Ŝlosiloj uzataj por konekti sekure al aliaj komputiloj" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Ĉu vi certe volas forigi la SSH-ŝlosilon “%s”?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Ĉi vi certe volas forigi %u SSH-ŝlosilon?" +msgstr[1] "Ĉi vi certe volas forigi %u SSH-ŝlosilojn?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Sekretaj SSH-ŝlosiloj" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Publikaj SSH-ŝlosiloj" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH-ŝlosilo" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Neniu publika ŝlosila dosiero disponeblas por ĉi tiu ŝlosilo." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Ne povis enlegi nove generitan SSH-ŝlosilon" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Ne povis generi SSH-ŝlosilon" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Kreante SSH-ŝlosilon" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bitoj" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bitoj" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Nekonata ŝlosilspeco!" + +#: ssh/key-properties.vala:75 +msgid "Unknown type" +msgstr "Nekonata tipo" + +#: ssh/key-properties.vala:99 +msgid "Couldn’t rename key." +msgstr "Ne eblis alinomi ŝlosilon." + +#: ssh/key-properties.vala:125 +msgid "Couldn’t change authorization for key." +msgstr "Ne eblis ŝanĝi aŭtentigon por ŝlosilo." + +#: ssh/key-properties.vala:141 +msgid "Couldn’t change passphrase for key." +msgstr "Ne eblis ŝanĝi pasfrazon por ŝlosilo." + +#: ssh/key-properties.vala:165 +msgid "Error deleting the SSH key." +msgstr "Eraro dum forigo de SSH-ŝlosilo." + +#: ssh/key.vala:45 +msgid "Personal SSH key" +msgstr "Persona SSH-ŝlosilo" + +#: ssh/key.vala:45 +msgid "SSH key" +msgstr "SSH-ŝlosilo" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:115 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Nelegebla SSH-ŝlosilo)" + +#. No comment, but loaded +#: ssh/key.vala:118 ssh/key.vala:122 +msgid "Secure Shell Key" +msgstr "SSH-ŝlosilo" + +#: ssh/operation.vala:204 +msgid "Remote Host Password" +msgstr "Defora gastiga pasvorto" + +#: ssh/operation.vala:247 +msgid "Enter Key Passphrase" +msgstr "Enigi ŝlosilan pasfrazon" + +#: ssh/operation.vala:273 +msgid "Passphrase for New Secure Shell Key" +msgstr "Pasfrazo por nova SSH-ŝlosilo" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:306 +#, c-format +msgid "Importing key: %s" +msgstr "Enportante ŝlosilon: %s" + +#: ssh/operation.vala:306 +msgid "Importing key. Enter passphrase" +msgstr "Enportante ŝlosilon. Enigu pasfrazon" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Enigu vian SSH-pasfrazon:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Malnova ŝlosila pasfrazo" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Enigu la malnovan pasfrazon por: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Nova ŝlosila pasfrazo" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Enigu la novan pasfrazon por: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Enigu la novan pasfrazon denove: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Nova SSH-ŝlosilo" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Sekura ŝela (SSH) ŝlosilo permesas al vi konekti sekure al aliaj komputiloj." + +#: ssh/seahorse-ssh-generate.ui:108 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Via retpoŝtadreso, aŭ memorigilo pri la celintenco de ĉi tiu ŝlosilo." + +#: ssh/seahorse-ssh-generate.ui:142 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:143 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:144 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:186 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Se vi volas uzi iun komputilon per ĉi tiu ŝlosilo, vi povas agordi tiun " +"komputilon por rekoni vian novan ŝlosilon." + +#: ssh/seahorse-ssh-generate.ui:212 +msgid "_Just Create Key" +msgstr "_Nur krei ŝlosilon" + +#: ssh/seahorse-ssh-generate.ui:226 +msgid "_Create and Set Up" +msgstr "_Krei kaj agordi" + +#: ssh/seahorse-ssh-key-properties.ui:16 +msgid "SSH Key Properties" +msgstr "SSH-ŝlosilaj ecoj" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:55 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nomo" + +#: ssh/seahorse-ssh-key-properties.ui:88 +msgid "Algorithm" +msgstr "Algoritmo" + +#: ssh/seahorse-ssh-key-properties.ui:115 +msgid "Key Length" +msgstr "Ŝlosillongo" + +#: ssh/seahorse-ssh-key-properties.ui:142 +msgid "Location" +msgstr "Loko" + +#: ssh/seahorse-ssh-key-properties.ui:220 +msgid "Remote Access" +msgstr "Deforaj ŝlosiloj" + +#: ssh/seahorse-ssh-key-properties.ui:233 +msgid "Allows accessing this computer remotely" +msgstr "Permesas atingon al ĉi tiu komputilo defore" + +#: ssh/seahorse-ssh-key-properties.ui:311 +msgid "Delete SSH Key" +msgstr "Forigi SSH-ŝlosilon" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Agordi komputilon por SSH-konekto" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Por uzi vian SSH-ŝlosilon per alia komputilo kiu uzas SSH, vi devas jam havi " +"konton sur tiu komputilo." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Serviloadreso:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "ekz: dosierservilo.ekzemplo.org:pordo" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Ensalutnomo:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Agordi" + +#: ssh/source.vala:42 +msgid "OpenSSH keys" +msgstr "OpenSSH-ŝlosiloj" + +#: ssh/source.vala:47 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:51 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:245 +msgid "No private key file is available for this key." +msgstr "Neniu privata ŝlosila dosiero disponeblas por ĉi tiu ŝlosilo." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Ne povis agordi SSH-ŝlosilojn sur defora komputilo." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Agordante SSH-ŝlosilojn…" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "" +#~ "Aplikaĵoj kutime konservas novajn pasvortojn en la implicita ŝlosilaro." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Ŝanĝi la malŝlos-pasvorton de la pasvorta konserveja ŝlosilaro" + +#~ msgid "About Seahorse" +#~ msgstr "Pri Seahorse" + +#~ msgid "_File" +#~ msgstr "_Dosiero" + +#~ msgid "Export to a file" +#~ msgstr "Elporti al dosiero" + +#~ msgid "_Edit" +#~ msgstr "R_edakti" + +#~ msgid "Copy to the clipboard" +#~ msgstr "Kopii al tondujo" + +#~ msgid "Delete selected items" +#~ msgstr "Forigi elektitajn erojn" + +#~ msgid "Show the properties of this item" +#~ msgstr "Montri ecojn de ĉi tiu ero" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Montri ecojn de ĉi tiu ŝlosilaro" + +#~ msgid "Prefere_nces" +#~ msgstr "_Agordoj" + +#~ msgid "Change preferences for this program" +#~ msgstr "Ŝanĝi agordojn de tiu ĉi programo" + +#~ msgid "_View" +#~ msgstr "_Vido" + +#~ msgid "_About" +#~ msgstr "_Pri" + +#~ msgid "About this program" +#~ msgstr "Pri tiu ĉi programo" + +#~ msgid "_Contents" +#~ msgstr "_Enhavoj" + +#~ msgid "Show Seahorse help" +#~ msgstr "Montri helpon de Seahorse" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Nova pasvort-ŝlosilaro" + +#~ msgid "New password…" +#~ msgstr "Nova pasvorto…" + +#~ msgid "_Show Password" +#~ msgstr "_Montri pasvorton" + +#~ msgid "PGP Key" +#~ msgstr "PGP-ŝlosilo" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Enportante ŝlosilojn el ŝlosilaj serviloj" + +#~ msgid "_Remote" +#~ msgstr "De_fora" + +#~ msgid "Close this window" +#~ msgstr "Fermi ĉi tiun fenestron" + +#~ msgid "_Import" +#~ msgstr "_Enporti" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Enporti elektitajn ŝlosilojn al loka ŝlosilaro" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Afiŝi kaj/aŭ sinkronigi viajn ŝlosilojn per tiuj enretaj." + +#~ msgid "Marginal" +#~ msgstr "Meza" + +#~ msgid "Full" +#~ msgstr "Plena" + +#~ msgid "Ultimate" +#~ msgstr "Pleja" + +#~ msgid "Photo " +#~ msgstr "Fotaĵo " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nomo:" + +#~ msgid "Email:" +#~ msgstr "Retpoŝtadreso:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Malĉifri dosierojn kaj retpoŝtmesaĝojn senditaj al vi." + +#~ msgid "Private PGP Key" +#~ msgstr "Privata PGP-ŝlosilo" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Ĉifri dosierojn kaj retpoŝton al la posedanto de la ŝlosilo" + +#~ msgid "Public PGP Key" +#~ msgstr "Publika PGP-ŝlosilo" + +#~ msgid "- System Settings" +#~ msgstr "- Sistemaj agordoj" + +#~ msgid "Don't display a window" +#~ msgstr "No montri fenestron" + +#~ msgid "_New" +#~ msgstr "_Nova" + +#~ msgid "_Quit" +#~ msgstr "Ĉ_esi" + +#~ msgid "Close this program" +#~ msgstr "Fermi tiun programon" + +#~ msgid "_New…" +#~ msgstr "_Nova…" + +#~ msgid "Create a new key or item" +#~ msgstr "Krei novan ŝlosilon aŭ eron" + +#~ msgid "_Import…" +#~ msgstr "_Enporti…" + +#~ msgid "_Paste" +#~ msgstr "Al_glui" + +#~ msgid "Import from the clipboard" +#~ msgstr "Enporti de la tondujo" + +#~ msgid "By _Keyring" +#~ msgstr "Per ŝ_losilaro" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Nur montri personajn ŝlosilojn, atestilojn kaj pasvortojn" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Nur montri fidatajn ŝlosilojn, atestilojn kaj pasvortojn" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Montri ĉiujn ŝlosilojn, atestilojn kaj pasvortojn" + +#~ msgid "New item" +#~ msgstr "Nova ero" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Elekti la specon de la kreenda ero:" + +#~ msgid "Continue" +#~ msgstr "Daŭrigi" + +#~ msgid "First time options:" +#~ msgstr "Komenca opcioj:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Por starti kun ĉifrado vi bezonos ŝlosilojn." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Enporti ekzistajn ŝlosilojn el dosiero:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Generi novan propran ŝlosilon: " + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Sendi publikan SSH-ŝlosilon al alia maŝino, kaj ŝalti salutojn per tiu " +#~ "ŝlosilo." + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Nomo:" + +#~ msgid "Identifier:" +#~ msgstr "Identigilo:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "" +#~ "La posedanto de ĉi tiu ŝlosilo estas _aŭtentigita por konekti al ĉi tiu " +#~ "komputilo" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Ĉi tiu nur aplikas al la %s konto." + +#~ msgid "Key length:" +#~ msgstr "Ŝlosillongo:" + +#~ msgid "E_xport Complete Key" +#~ msgstr "E_lporti plenan ŝlosilon" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Name:" +#~ msgstr "Nomo:" + +#~ msgid "Keyring" +#~ msgstr "Ŝlosilaro" + +#~ msgid "E_xport..." +#~ msgstr "E_lporti..." + +#~ msgid "_New..." +#~ msgstr "_Nova..." + +#~ msgid "_Import..." +#~ msgstr "_Enporti..." + +#~ msgid "Invalid Signature" +#~ msgstr "Nevalida subskribo" + +#~ msgid "Good Signature" +#~ msgstr "Bona subskribo" + +#~ msgid "Unknown Signature" +#~ msgstr "Nekonata subskribo" + +#~ msgid "Password:" +#~ msgstr "Pasvorto:" + +#~ msgid "Path:" +#~ msgstr "Vojo:" + +#~ msgid "_Read" +#~ msgstr "_Legi" + +#~ msgid "_Write" +#~ msgstr "_Skribi" + +#~ msgid "Passwords: %s" +#~ msgstr "Pasvortoj: %s" + +#~ msgid "Search Results" +#~ msgstr "Serĉrezultoj" + +#~ msgid "Search _for:" +#~ msgstr "Serĉi _por:" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "Dosiero ne estas valida .desktop-dosiero" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "Nerekonata versio '%s' de labortabla dosiero" + +#~ msgid "Starting %s" +#~ msgstr "Lanĉante %s" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "Aplikaĵo ne akceptas dokumentojn per komandlinio" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "Nerekonata lanĉparametro: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "" +#~ "Ne eblas transdoni dokument-URIojn al labortabla elemento 'Type=Link'" + +#~ msgid "Not a launchable item" +#~ msgstr "Nelanĉebla ero" + +#~ msgid "Disable connection to session manager" +#~ msgstr "Elŝalti la konekton al la seancoadministrilo" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "Specifi dosieron kiu enhavas konservitan agordon" + +#~ msgid "FILE" +#~ msgstr "DOSIERO" + +#~ msgid "Specify session management ID" +#~ msgstr "Specifi identigilon de la seancoadministrilo" + +#~ msgid "Session management options:" +#~ msgstr "Agordoj de la seancoadministrilo:" + +#~ msgid "Show session management options" +#~ msgstr "Montri agordojn de la seancoadministrilo" + +#~ msgid "_Replace" +#~ msgstr "_Anstataŭigi" + +#~ msgid "Actions" +#~ msgstr "Agoj" + +#~ msgid "Comment:" +#~ msgstr "Komento:" + +#~ msgid "Dates" +#~ msgstr "Datoj" + +#~ msgid "Type:" +#~ msgstr "Tipo:" + +#~ msgid "Use:" +#~ msgstr "Uzo:" + +#~ msgid "Never" +#~ msgstr "Neniam" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nomo:" + +#~ msgid "Create New ..." +#~ msgstr "Krei novan..." + +#~ msgid "T_ypes" +#~ msgstr "T_ipoj" + +#~ msgid "Validity" +#~ msgstr "Valideco" + +#~ msgid "Expiration Date" +#~ msgstr "Limdato" + +#~ msgid "_Expand All" +#~ msgstr "_Etendi ĉiujn" + +#~ msgid "_Collapse All" +#~ msgstr "_Maletendi ĉiujn" + +#~ msgid "Deleting..." +#~ msgstr "Forigante..." + +#~ msgctxt "" +#~ "This text refers to deleting an item from its type's backing store." +#~ msgid "_Delete" +#~ msgstr "_Forigi" + +#~ msgid "Invalid" +#~ msgstr "Nevalide" + +#~ msgid "Name:" +#~ msgstr "Nomo:" + +#~ msgid "Strength:" +#~ msgstr "Forto:" + +#~ msgid "Passphrase:" +#~ msgstr "Pasfrazo:" + +#~ msgid "_Computer Name:" +#~ msgstr "_Komputilnomo:" diff --git a/po/es.po b/po/es.po new file mode 100644 index 00000000..2d84c901 --- /dev/null +++ b/po/es.po @@ -0,0 +1,3892 @@ +# translation of seahorse.master.po to Español +# José Carlos García Sogo , 2002, 2003. +# Q&A, Germán Poo-Caamaño , 2003. +# Francisco Javier F. Serrador , 2004, 2005, 2006. +# Seahorse Spanish Translation +# Copyright (C) 2002, 2003. +# This file is distributed under the same license as the Seahorse package. +# +# Jorge González , 2007, 2008, 2009, 2010, 2011. +# +# Daniel Mustieles , 2011-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse.master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-18 15:22+0000\n" +"PO-Revision-Date: 2020-07-29 10:57+0200\n" +"Last-Translator: Daniel Mustieles \n" +"Language-Team: Spanish - Spain \n" +"Language: es_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Gtranslator 3.36.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Añadir servidor de claves" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Personalizado" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Cancelar" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Guardar" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "No se puede eliminar" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "No se pudieron exportar las claves" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "No se pudieron exportar los datos" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Cancelar" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Eliminar" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Exportar" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Introducir el PIN o la contraseña para: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Confirmar:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Aceptar" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Contraseña:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Contraseñas" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Claves" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certificados" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Preferencias" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Ninguno: no publicar claves" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "La dirección del servidor de claves no es válida." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Para obtener ayuda, contacte con su administrador de sistemas o el " +"administrador del servidor de claves." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "elemento temporal inicial" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "tipo de servidor de claves:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Anfitrión:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "El nombre del equipo o la dirección del servidor." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "El puerto por el que acceder al servidor." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Buscar claves vía:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Publicar claves en:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Obtener _automáticamente las claves de los servidores de claves" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" +"Sincronizar automáticamente las claves _modificadas con los servidores de " +"claves" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Servidores de claves" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Desconocida" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Nunca" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Marginal" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Completa" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Absoluta" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Desactivada" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Revocada" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Información general" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Ayuda" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Abrir menú" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Crear un elemento nuevo" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Importar elemento desde un archivo" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Buscar" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Lista de atajos" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Salir" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navegación" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Seleccionar el depósito de claves anterior" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Seleccionar el siguiente depósito de claves" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Mostrar la barra lateral (en pantallas pequeñas)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Mostrar contenido del depósito de claves (en pantallas pequeñas)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Obtener claves automáticamente" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Indica si las claves modificadas deben o no sincronizarse automáticamente " +"con los servidores de claves." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Publicar claves automáticamente" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "" +"Indica si las claves modificadas o no deben publicarse automáticamente." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Publicar claves en este servidor de claves" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"El servidor de claves donde publicar las claves PGP. O vacío para suprimir " +"la publicación de claves PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Patrón de búsqueda del último servidor de claves" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "El último patrón de búsqueda usado en un servidor de claves." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Últimos servidores de claves usados" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"El último servidor de claves donde se realizó una búsqueda, o vacío para " +"todos los servidores de claves." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Mostrar la barra lateral de depósitos de claves" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Mostrar la barra lateral de depósitos de claves en Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Los elementos que mostrar" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtrar qué elementos mostrar. Si está vacío se muestran todos los " +"elementos, si es «personal» se muestran las claves personales y si es " +"«confianza» se muestran las de confianza." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Anchura del panel lateral" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "El tamaño predeterminado del panel lateral." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Los depósitos de claves elegidos" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Los URI de los depósitos de claves elegidos en la barra lateral." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "La columna por la que ordenar las claves de Seahorse" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Especifique la columna por la que ordenar la ventana principal de Seahorse. " +"Las columnas son: «nombre», «id», «validez», «caducidad», «confianza» y " +"«tipo». Ponga un «-» delante del nombre de la columna para ordenarlos en " +"orden descendente." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Mostrar la columna de validez" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "La clave ya no se usa." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Mostrar la columna de caducidad" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Mostrar la columna de confianza" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Mostrar la columna del tipo" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Anchura de la ventana" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Anchura de la ventana en píxeles" + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Altura de la ventana" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Altura de la ventana en píxeles" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Administre sus claves y contraseñas de cifrado" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse es una aplicación de GNOME para gestionar claves de cifrado." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Con Seahorse puede crear y gestionar claves PGP y SSH, publicar y obtener " +"claves de servidores de claves, almacenar en la caché su contraseña para no " +"tener que escribirla y hacer una copia de seguridad de sus claves y de su " +"anillo de claves." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "El Proyecto GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Contraseñas y claves" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "depósito de claves;cifrado;seguridad;firma;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Contraseñas personales, credenciales y secretos almacenados" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "No se pudo desbloquear" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "No se pudo añadir el elemento" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Contraseña o secreto" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Secreto de la conexión de red" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Contraseña de red inalámbrica" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Contraseña de red" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Contraseña web de GNOME" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Contraseña de Google chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Contraseña de la mensajería instantánea" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Contraseña para la cuenta de MI " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Contraseña de Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Contraseña de cuentas en línea de GNOME" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "¿Guardar cambios para este elemento?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Acceder a un recurso de red o carpeta compartida" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Acceder a un sitio web" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Desbloquea una clave PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Desbloquea una clave de shell segura" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Contraseña o usuario guardado" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Credenciales de red" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Contraseña" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "No se puede cambiar la contraseña." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "No se pudo establecer la descripción." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Error al eliminar la contraseña." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Nota almacenada" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Contraseña del depósito de claves" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Contraseña de la clave de cifrado" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Contraseña del almacén de claves" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Secreto del gestor de la red" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "¿Está seguro de que quiere eliminar la contraseña «%s»?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "¿Está seguro de que quiere eliminar %d contraseña?" +msgstr[1] "¿Está seguro de que quiere eliminar %d contraseñas?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "No se pudo añadir el depósito" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Fecha desconocida" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "" +"Un almacén de contraseñas que se desbloquea automáticamente al iniciar la " +"sesión" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Un almacén de claves para almacenar contraseñas" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "No se pudo establecer el depósito predeterminado" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "No se pudo cambiar la contraseña del depósito" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Establecer como predeterminado" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Cambiar la _contraseña" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "¿Está seguro de que quiere eliminar la contraseña del depósito «%s»?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Entiendo que todos los elementos se eliminarán permanentemente." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Mostrar/ocultar contraseña" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Añadir contraseña" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Depósito de claves:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Descripción:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Contraseña:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Añadir" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Añadir un depósito de contraseñas" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Elija un nombre para el depósito nuevo. Se le preguntará una contraseña de " +"desbloqueo." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Nombre del nuevo depósito:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Propiedades del elemento" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Descripción" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Copiar" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Usar" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Tipo" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Servidor" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Iniciar sesión" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Detalles" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Eliminar contraseña." + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Propiedades del depósito de claves" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Nombre" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Creado el" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Cambiar la contraseña" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Establecer como predeterminado" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Mostrar opciones" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Propiedades de fecha y/o hora mostradas" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Modo vago" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "El modo vago no normaliza los valores de fecha y hora introducidos" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Año" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Año mostrado" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mes" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Mes mostrado" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Día" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Día del mes mostrado" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Hora" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Hora mostrada" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minuto" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Minuto mostrado" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Segundo" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Segundo mostrado" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Año límite inferior" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Parte del año de la fecha límite inferior" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Año límite superior" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Parte del año de la fecha límite superior" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Mes límite inferior" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Parte del mes de la fecha límite inferior" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Mes límite superior" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Parte del mes de la fecha límite superior" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Día límite inferior" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Día de la parte del mes de la fecha límite inferior" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Día límite superior" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Día de la parte del mes de la fecha límite superior" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Hora límite inferior" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Parte de la hora de la hora límite inferior" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Hora límite superior" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Parte de la hora de la hora límite superior" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Reducir el minuto limite" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Parte del minuto de la hora límite inferior" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Aumentar el minuto limite" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Parte del minuto de la hora límite superior" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Reducir el segundo limite" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Parte del segundo de la hora límite inferior" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Reducir el segundo limite" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Parte del segundo de la hora límite superior" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Fecha" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Introducir la fecha directamente" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Seleccionar fecha" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Seleccionar la fecha desde un calendario" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Hora" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Introducir la hora directamente" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Seleccionar hora" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Seleccionar la hora de una lista" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: si" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "No se pudo mostrar la ayuda: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Añadir subclave a %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (sólo firmar)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (sólo cifrar)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (sólo firmar)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (sólo cifra)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "_Tipo de clave" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "_Longitud de clave" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Longitud de la clave" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Fecha de caducidad" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Nunca _caduca" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Si la clave no caduca nunca" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Generar una subclave" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Añadir id. de usuario a %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "No se pudo añadir el ID del usuario" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Añadir id de usuario" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_Nombre completo" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Debe ser al menos 5 caracteres de largo" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "Dirección de _correo" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Dirección de correo opcional" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Co_mentario de clave" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Comentario opcional de descripción de la clave" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Crear el nuevo Id de usuario" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Falló el descifrado. Probablemente no tenga la clave de descifrado." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Se canceló la operación" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Firma no válida" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "La fecha de caducidad debe ser en el futuro" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "No se puede cambiar la fecha de caducidad" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Caducidad: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Sin caducidad" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Cambiar" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Claves múltiples" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Datos de la clave" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Claves PGP blindadas" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Clave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "No se pudo generar la clave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Frase de paso para la nueva clave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Introduzca la frase de paso para su clave nueva dos veces." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Al crear una clave se deben generar muchos\n" +"datos aleatorios y se necesita su ayuda. Es una\n" +"buena idea realizar otras tareas como escribir\n" +"con el teclado, mover el ratón o usar aplicaciones.\n" +"Esto proporciona al sistema los datos aleatorios\n" +"necesarios." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Generando clave" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "El nombre debe ser al menos 5 caracteres de largo" + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Clave PGP nueva" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "Una clave PGP le permite cifrar correo-e o archivos para otra gente." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Opciones _avanzadas de clave" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Comentar" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_Tipo de cifrado" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Fortaleza de la clave (bits)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Fecha de _caducidad" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "_Nunca caduca" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "_Crear" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Generar una clave nueva" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "¿Está seguro de que quiere eliminar permanentemente %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "¿Está seguro de que quiere eliminar permanentemente %d clave?" +msgstr[1] "¿Está seguro de que quiere eliminar permanentemente %d claves?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Contraseña errónea" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Es la tercera vez que ha introducido una contraseña errónea. Inténtelo de " +"nuevo." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Frase de paso errónea." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Introduzca la frase de paso nueva para «%s»" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Introduzca la frase de paso para «%s»" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Introduzca la frase de paso nueva" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Introduzca la frase de paso" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Frase de paso" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d clave cargada" +msgstr[1] "%d claves cargadas" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Datos de clave no válidos (faltan UID). Esto puede ser debido a un equipo " +"con una fecha establecida en el futuro o una autofirma faltante." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Claves GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: carpeta predeterminada del depósito" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"La foto es demasiado grande\n" +"El tamaño recomendado para una foto en su clave es de %d x %d píxeles." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_No redimensionar" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Redimensionar" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Esto no es un archivo de imagen, o un archivo de imagen no reconocido. " +"Intente usar una imagen JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Todos los archivos de imagen" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Todos los archivos JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Todos los archivos" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Elija una foto para añadir a la clave" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Abrir" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "No se pudo preparar la foto" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "No se pudo añadir la foto" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "El archivo no se pudo cargar. Quizá esté en un formato no válido" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "¿Está seguro de que quiere quitar la foto actual de su clave?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "No se pudo eliminar la foto" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "No se pudo revocar la subclave" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Revocar: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Sin razón" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Sin razón para revocar la clave" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Comprometida" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "La clave ha sido comprometida" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Reemplazada" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "La clave ha sido reemplazada" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Sin uso" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "La clave ya no se usa" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Va a añadir a %s como revocador para %s. Esta operación no puede deshacerse. " +"¿Seguro que quiere continuar?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "No se pudo añadir revocador" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Entiendo que esta clave secreta se eliminará permanentemente." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Esta clave ya estaba firmada por\n" +"«%s»" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "No se pudo firmar la clave" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "No hay claves disponibles para firmar" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"No tiene ninguna clave PGP personal que se pueda usar para indicar su " +"confianza en esta clave." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Firmar clave" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Firmando indica que confía que esta clave pertenece a:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Nombre de la clave" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "¿Qué cuidado ha puesto en la comprobación de esta clave?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Ninguno" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Casualmente" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Muy cuidadosamente" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Ninguno: significa que usted cree que la clave es propiedad de la " +"persona que dice poseerla, pero usted no puede o no verificó que esto sea un " +"hecho." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Casualmente: significa que ha hecho una verificación casual de que la " +"clave pertenece a la persona que dice poseerla. Por ejemplo, podría leer la " +"huella dactilar al propietario por teléfono." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Muy cuidadosamente: Seleccione esto sólo si está absolutamente seguro " +"de que esta clave es genuina." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Puede usar una identificación fotográfica difícil de falsificar (como un " +"pasaporte) para comprobar personalmente que el nombre en la clave es " +"correcto. Debería haber usado además el correo-e para comprobar que la " +"dirección de correo-e pertenece al dueño." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Cómo verán otros la firma:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Otros que no vean esta firma" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Puedo _revocar esta firma en una fecha posterior." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Firmar clave como:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Firmante:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Firmar" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Desconocido" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"La búsqueda no ha sido lo suficientemente específica. El servidor «%s» " +"encontró demasiadas claves." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "No se pudo comunicar con el servidor «%s»: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Servidor de claves HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "No se pudo importar la clave: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Clave importada correctamente" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Importar" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "No se puede importa la clave" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Claves remotas" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Claves remotas que contengan «%s»" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Falló al buscar claves." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Pulse dos veces sobre una clave para inspeccionarla o pulse en el botón de " +"importar para añadirla a su depósito local." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Buscar claves remotas" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Esto buscará claves para otros en Internet. Estas claves pueden importarse " +"en su depósito local de claves." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Buscar claves que contengan: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Dónde buscar:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Servidores de claves:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Claves compartidas cerca de mí:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Buscar" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "No se pudieron publicar las claves al servidor" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "No se pudieron obtener las claves desde el servidor: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d clave está seleccionada para sincronizar" +msgstr[1] "%d claves están seleccionadas para sincronizar" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Sincronizando claves…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Sincronizar claves" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Esto publicará las claves de su depósito de claves así que estarán " +"disponibles para que otros las usen. También obtendrá cualquier cambio que " +"otros hagan desde que recibió sus claves." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Esto obtendrá cualquier cambio que hagan otros desde que recibió sus claves. " +"No se ha elegido ningún servidor de claves para publicar, así que sus claves " +"no estarán disponibles para otros." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Servidores de _claves" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Sincronizar" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "No se pudo comunicar con «%s»: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Conectando con: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "No se puede resolver la dirección: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Resolviendo la dirección del servidor: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Servidor de claves LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Claves PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "Las claves PGP se usan para cifrar correos electrónicos o archivos" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(y otra %d)" +msgstr[1] "(y otras %d)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Clave PGP personal" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Clave PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "No se puede cambiar el ID de usuario primario" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "" +"¿Está seguro de que quiere eliminar permanentemente el ID de usuario «%s»?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "No se pudo eliminar el ID del usuario" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Desconocido]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Nombre/Correo-e" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "ID de firma" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "No se puede cambiar la foto primaria" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Error al cambiar la contraseña" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(desconocido)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Esta clave caducó el: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Clave pública" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Clave privada" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" +"¿Está seguro de que quiere eliminar permanentemente la subclave %d de %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "No se pudo eliminar la subclave" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Imposible cambiar la confianza" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "No se pudo exportar la clave" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Nunca" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Uso" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Creada" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Caduca" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Estado" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Fortaleza" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Revocada" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Caducada" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Desactivada" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Buena" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Identificador" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Confío en las firmas de «%s» en otras claves" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Si cree que el propietario de esta clave es «%s», firme esta clave:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Si no confía más en que «%s» sea el propietario de esta clave, revoque su firma:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Exportar clave _secreta" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Exportar clave _pública" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Esta clave se ha revocada" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "El propietario de la clave revocó la clave. No se puede usar más." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Esta clave ha caducado" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Añadir una foto a esta clave" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Quitar esta foto de la clave" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Convertir esta foto en primaria" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Ir a la foto anterior" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Ir a la foto siguiente" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Comentario" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Cambiar _frase de paso" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Propietario" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Nombres de clave y firmas" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Primario" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Firmar" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Eliminar" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Añadir nombre" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Revocar" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Nombres y firmas" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Id de clave:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Tipo:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Fortaleza:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Detalles técnicos" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Huella" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Creada:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Caducidad:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Fechas" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Predominar confianza del _propietario:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Exportar a un archivo" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Acciones" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Expirar" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Subclaves" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Marginal" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Completamente" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Últimamente" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Otros nombres:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Su confianza en esta clave" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "" +"Su confianza está especificada manualmente en la pestaña Detalles." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Firma esta clave" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Revocar firma" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "Gente que ha _firmado esta clave:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "Mostrar _sólo las firmas de la gente en quien confío" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Confianza" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Detalles técnicos:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Huella:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Fechas:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Indicar confianza:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "_Confía en el propietario:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Cifrar" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certificar" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Autenticar" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Clave" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Subclave %d de %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Razón de revocación de la clave" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Razón:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Descripción opcional de revocación" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Revocar clave" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Re_vocar" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"No tiene claves PGP personales que se puedan usar para firmar un documento o " +"mensaje." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Elija la clave para firmar" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Firmar mensaje con la clave:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Exportando datos" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Obteniendo datos" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Importando datos" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Enviando datos" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "No disponible" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certificado" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certificados (codificados con DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Certificado personal y clave" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Certificado personal" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "¿Está seguro de que quiere eliminar permanentemente %d certificado?" +msgstr[1] "" +"¿Está seguro de que quiere eliminar permanentemente %d certificados?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "No se pudo generar la clave privada" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Entiendo que esta clave se eliminará permanentemente." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Clave privada sin nombre" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Clave privada" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Sin nombre" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Falló al exportar el certificado" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "No se pudo eliminar" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Crear" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "No se pudo crear la solicitud de certificado" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Guardar la solicitud de certificado" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Guardar" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Solucitud de certificado" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Solicitud codificada con PEM" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "No se pudo guardar la solicitud de certificado" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Desconocida" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Certificados X.509 y claves relacionadas" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Clave privada nueva" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Crear una clave privada nueva" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Etiqueta:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Almacenado en:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Tipo de clave:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Fortaleza de la clave (bits):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Eliminar este certificado o clave" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Exportar el certificado" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Solicitar certificado" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Crear un archivo de solicitud de certificado para esta clave" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Crear un archivo de solicitud de certificado." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "El nombre común (CN) ubicado en la solicitud de certificado." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Nombre (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Contribuciones:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Versión de esta aplicación" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Daniel Mustieles , 2013 - 2017\n" +"Jorge González , 2007-2010\n" +"Francisco F. Serrador , 2004, 2005, 2006\n" +"Germán Poo-Caamaño , 2003\n" +"José Carlos García Sogo , 2002, 2003" + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Página web de Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Datos que importar" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importar" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Falló la importación" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Importar clave" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Todos los archivos de claves" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Texto soltado" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Texto del portapapeles" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "No se pudo desbloquear el depósito" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Cambiar frase de paso" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "_Frase de paso nueva:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Confirmar frase de paso" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Con_firme contraseña:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Buscar claves remotas…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Sincronizar y publicar claves…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Preferencias" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "Ay_uda" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Atajos de teclado" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_Acerca de Contraseñas y claves" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filtrar elementos:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Mostrar personal_" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Mostrar _confiados" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Mostrar cualqu_iera" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Clave de shell segura" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Usado para conectar a otros equipos" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Clave GPG" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Usada para cifrar correo y archivos" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Depósito de contraseñas" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Ubicación para las contraseñas de aplicaciones" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Almacenar una contraseña o un secreto de forma segura" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Usado para solicitar un certificado" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importar desde un archivo…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Añadir una clave o un elemento nuevo" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Atrás" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Buscar una clave o contraseña" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filtro" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Parece que esta colección está vacía" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "El depósito de claves está bloqueado" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Desbloquear" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Copiar secreto" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Exportar…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Propiedades" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Configurar clave para Shell segura…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Bloquear" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Desbloquear" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Propiedades" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "No se pudo bloquear" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Shell segura" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Claves usadas para conectar de manera segura a otros equipos" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "¿Está seguro de que quiere eliminar la clave de shell segura «%s»?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "¿Está seguro de que quiere eliminar %u clave de shell segura?" +msgstr[1] "¿Está seguro de que quiere eliminar %u claves de shell seguras?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Claves SSH secretas" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Claves SSH públicas" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Clave SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "No hay ningún archivo de clave pública disponible para esta clave." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "No se pudo cargar la clave de shell segura recién generada" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "No se pudo generar la clave de shell segura" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Crear la clave de shell segura" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bits" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bits" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Tipo de clave desconocido" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Tipo desconocido" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "No se pudo renombrar la clave." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "No se puede cambiar autorización de una clave." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "No se pudo cambiar la frase de paso para la clave." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Error al eliminar la clave SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Clave SSH personal" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Clave SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Clave de shell segura ilegible)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Clave de shell segura" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Contraseña del equipo remoto" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Introduzca la frase de paso" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Frase de paso para la clave nueva de shell segura" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Importando clave: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Importando clave: Introduzca la frase de paso" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Introduzca su frase de paso de Secure Shell:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Frase de paso antigua de la clave" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Introduzca frase de paso antigua para: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Frase de paso nueva de la clave" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Introduzca la frase de paso nueva para: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Introduzca la frase de paso otra vez: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Clave de shell segura nueva" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Una clave de Shell Segura (SSH) le permite conectarse de forma segura a " +"otros equipos." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Descripción" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Su dirección de correo, o un recordatorio de para qué es esta clave." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Si ya hay un equipo con el que quiera usar esta clave, puede configurar ese " +"equipo para que reconozca su clave nueva." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Tan sólo crear clave" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Crear y configurar" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Propiedades de la clave SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nombre" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritmo" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Longitud de la clave" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Ubicación" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Clave pública" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Copiar clave pública al portapapeles" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Acceso remoto" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Permite acceder de manera remota a este equipo" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Exportar" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Eliminar clave SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Configurar equipo para conexión SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Para usar su clave de shell segura con otro equipo que use SSH debe tener ya " +"una cuenta de shell en dicho equipo." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Dirección del _servidor:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "ej: servidor.ejemplo.com:puerto" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Nombre de usuario:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Configurar" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Claves OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "No existe un archivo de clave privada disponible para esta clave." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "" +"No se pudieron configurar las claves de shell seguras en el equipo remoto." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Configurando las claves de shell seguras…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse es una aplicación de GNOME application para gestionar claves de " +#~ "cifrado. También se integra con Nautilus, gedit y otros lugares para " +#~ "operaciones de cifrado." + +#~ msgid "Expiration Date:" +#~ msgstr "Fecha de caducidad:" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "No se pudo añadir la subclave" + +#~ msgid "Encryption _Type:" +#~ msgstr "_Tipo de cifrado:" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Combinar todos los depósitos de claves" + +#~ msgid "Keyring is unlocked" +#~ msgstr "El depósito de claves está desbloqueado" + +#~ msgid "Lock" +#~ msgstr "Bloquear" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "OK" +#~ msgstr "Aceptar" + +#~ msgid "Full _Name:" +#~ msgstr "_Nombre completo:" + +#~ msgid "_Email Address:" +#~ msgstr "Dirección de _correo:" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "" +#~ "Generalmente las aplicaciones almacenan contraseñas en el depósito " +#~ "predeterminado." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "" +#~ "Cambiar la contraseña de desbloqueo del depósito de almacenamiento de " +#~ "contraseñas" + +#~| msgid "Seahorse" +#~ msgid "About Seahorse" +#~ msgstr "Acerca de Seahorse" + +#~ msgid "_Show Password" +#~ msgstr "_Mostrar contraseña" + +#~ msgid "About" +#~ msgstr "Acerca de" + +#~ msgid "Marginal" +#~ msgstr "Marginal" + +#~ msgid "Full" +#~ msgstr "Completa" + +#~ msgid "Ultimate" +#~ msgstr "Absoluta" + +#~ msgid "Key Properties" +#~ msgstr "Propiedades de la clave" + +#~| msgid "Couldn’t add user id" +#~ msgid "Couldn't add user id" +#~ msgstr "No se pudo añadir el ID de usuario" + +#~ msgid "Photo " +#~ msgstr "Foto" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nombre:" + +#~ msgid "Email:" +#~ msgstr "Correo-e:" + +#~ msgid "Use:" +#~ msgstr "Uso:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Descifra archivos y correo enviado a usted." + +#~ msgid "Private PGP Key" +#~ msgstr "Clave PGP privada" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Cifrar archivos y correo-e para el propietario de clave" + +#~ msgid "First time options:" +#~ msgstr "Opciones de primera vez:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Para cifrar necesitará claves." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Importar claves existentes desde el archivo:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Generar una clave nueva para usted: " + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "_File" +#~ msgstr "_Archivo" + +#~ msgid "_Edit" +#~ msgstr "_Editar" + +#~ msgid "_Copy" +#~ msgstr "_Copiar" + +#~ msgid "Delete selected items" +#~ msgstr "Eliminar las claves seleccionadas" + +#~ msgid "Show the properties of this item" +#~ msgstr "Mostrar las propiedades de este elemento" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Mostrar las propiedades de este depósito de claves" + +#~ msgid "Prefere_nces" +#~ msgstr "Prefere_ncias" + +#~ msgid "Change preferences for this program" +#~ msgstr "Cambia las preferencias de este programa" + +#~ msgid "_View" +#~ msgstr "_Ver" + +#~ msgid "About this program" +#~ msgstr "Acerca de este programa" + +#~ msgid "_Contents" +#~ msgstr "Índ_ice" + +#~ msgid "Show Seahorse help" +#~ msgstr "Mostrar ayuda de seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Contraseña nueva del depósito de contraseñas" + +#~ msgid "New password…" +#~ msgstr "Contraseña nueva…" + +#~ msgid "Stored Password" +#~ msgstr "Contraseña almacenada" + +#~ msgid "PGP Key" +#~ msgstr "Clave PGP" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Importando claves desde servidores de claves" + +#~ msgid "_Remote" +#~ msgstr "_Remota" + +#~ msgid "Close this window" +#~ msgstr "Cerrar esta ventana" + +#~ msgid "Search for keys on a key server" +#~ msgstr "Buscar claves en un servidor de claves" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Importar las claves seleccionadas en el depósito local" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Publicar y/o sincronizar sus claves con las que estén en línea." + +#~ msgid "_New" +#~ msgstr "Nueva" + +#~ msgid "Close this program" +#~ msgstr "Cerrar este programa" + +#~ msgid "_New…" +#~ msgstr "_Nueva…" + +#~ msgid "_Import…" +#~ msgstr "_Importar…" + +#~ msgid "_Paste" +#~ msgstr "_Pegar" + +#~ msgid "Import from the clipboard" +#~ msgstr "Importar desde el portapapeles" + +#~ msgid "By _Keyring" +#~ msgstr "Por _depósito de claves" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Mostrar sólo las claves, certificados y contraseñas personales" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "" +#~ "Mostrar sólo claves, certificados y contraseñas en las que se confía" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Mostrar todas las claves, certificados y contraseñas" + +#~ msgid "New item" +#~ msgstr "Nuevo elemento" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Seleccione el tipo de elemento que crear:" + +#~ msgid "Continue" +#~ msgstr "Continuar" + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Envía la clave pública de shell segura a otra máquina, y activar inicios " +#~ "de sesión usando esa clave." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Usada para acceder a otros equipos (ej: a través de un terminal)" + +#~ msgid "- System Settings" +#~ msgstr ": configuración del sistema" + +#~ msgid "Don't display a window" +#~ msgstr "No mostrar una ventana" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Nombre:" + +#~ msgid "Identifier:" +#~ msgstr "Identificador:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "" +#~ "El propietario de esta clave está _autorizado para conectar a este equipo" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Esto sólo se aplica a la cuenta «%s»." + +#~ msgid "Key length:" +#~ msgstr "Longitud de clave:" + +#~ msgid "E_xport Complete Key" +#~ msgstr "E_xportar la clave completa" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Todavía no se ha cargado el proveedor de búsqueda" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%d/%m/%Y" + +#~ msgid "Name:" +#~ msgstr "Nombre:" + +#~ msgid "Keyring" +#~ msgstr "Depósito de claves" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "El comando SSH terminó inesperadamente." + +#~ msgid "The SSH command failed." +#~ msgstr "El comando SSH falló." + +#~ msgid "E_xport..." +#~ msgstr "E_xportar…" + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Buscar claves remotas…" + +#~ msgid "Synchronizing keys..." +#~ msgstr "Sincronizando claves…" + +#~ msgid "_New..." +#~ msgstr "_Nueva…" + +#~ msgid "_Import..." +#~ msgstr "_Importar…" + +#~ msgid "Ssh Key" +#~ msgstr "Clave SSH" + +#~ msgid "Updating password" +#~ msgstr "Actualizando contraseña" + +#~ msgid "_Computer Name:" +#~ msgstr "_Equipo:" + +#~ msgid "Password:" +#~ msgstr "Contraseña:" + +#~ msgid "Key Servers:" +#~ msgstr "Servidores de claves:" + +#~ msgid "Never" +#~ msgstr "Nunca" + +#~ msgid "Key ID:" +#~ msgstr "ID de clave" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nombre:" + +#~ msgid "Comment:" +#~ msgstr "Comentario:" + +#~ msgid "Use:" +#~ msgstr "Uso:" + +#~ msgid "Type:" +#~ msgstr "Tipo:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "Nombres de clave y firmas" + +#~ msgid "Fingerprint" +#~ msgstr "Huella" + +#~ msgid "Dates" +#~ msgstr "Fechas" + +#~ msgid "Actions" +#~ msgstr "Acciones" + +#~ msgid "Fingerprint:" +#~ msgstr "Huella:" + +#~ msgid "Dates:" +#~ msgstr "Fechas:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Nombre:" + +#~ msgid "Trust" +#~ msgstr "Confianza" + +#~ msgid "Strength:" +#~ msgstr "Fortaleza:" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "Se ha denegado el acceso al deposito de claves" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "El demonio gnome-keyring no está ejecutándose" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "El depósito de claves ya ha sido desbloqueado" + +#~ msgid "No such key ring exists" +#~ msgstr "No existe dicho depósito de claves" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "No se pudo comunicar con el demonio del depósito de claves" + +#~ msgid "The item already exists" +#~ msgstr "El elemento ya existe" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "Error interno al acceder a gnome-keyring" + +#~ msgid "Are you sure you want to delete %d secure shell keys?" +#~ msgstr "¿Está seguro de que desea eliminar las %d claves de shell seguras?" + +#~ msgid "Algorithms here" +#~ msgstr "Algoritmos aquí" + +#~ msgid "OpenSSH directory" +#~ msgstr "Carpeta de OpenSSH" + +#~ msgid "Show the properties of this place" +#~ msgstr "Mostrar las propiedades de este lugar" + +#~ msgid "P_laces" +#~ msgstr "_Lugares" + +#~ msgid "Couldn't lock keyring" +#~ msgstr "No se pudo bloquear el depósito" + +#~ msgid "Couldn't delete keyring" +#~ msgstr "No se pudo eliminar el depósito" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "Bloquear el depósito de almacenamiento de contraseñas para que se " +#~ "necesite una contraseña maestra para desbloquearlo." + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "" +#~ "Desbloquear el depósito de almacenamiento de contraseñas con una " +#~ "contraseña maestra para que esté disponible para su uso." + +#~ msgid "Properties of the keyring." +#~ msgstr "Propiedades del depósito de claves" + +#~ msgid "Lock the password storage keyring." +#~ msgstr "Bloquear el depósito de almacenamiento de contraseñas." + +#~ msgid "Unlock the password storage keyring." +#~ msgstr "Desbloquear el depósito de almacenamiento de contraseñas." + +#~ msgid "Properties of the password." +#~ msgstr "Propiedades de la contraseña." + +#~ msgid "_Sign Key..." +#~ msgstr "_Firmar clave…" + +#~ msgid "Properties of the key." +#~ msgstr "Propiedades de la clave" + +#~ msgid "Lock this token" +#~ msgstr "Bloquear este «token»" + +#~ msgid "Unlock this token" +#~ msgstr "Desbloquear este «token»" + +#~ msgid "Properties of the certificate." +#~ msgstr "Propiedades del certificado" + +#~ msgid "Deleting item" +#~ msgid_plural "Deleting items" +#~ msgstr[0] "Eliminando elemento" +#~ msgstr[1] "Eliminando elementos" + +#~ msgid "Archive files" +#~ msgstr "Archivar ficheros" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "Ya existe un fichero con este nombre.\n" +#~ "\n" +#~ "¿Quiere reemplazarlo por uno nuevo?" + +#~ msgid "_Replace" +#~ msgstr "_Reemplazar" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "No se pudo exportar la clave a «%s»" + +#~ msgid "Exporting keys" +#~ msgstr "Exportando claves" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "No se puede obtener los datos del servidor de claves" + +#~ msgid "Retrieving keys" +#~ msgstr "Obteniendo claves" + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "" +#~ "¿Está seguro de que desea eliminar permanentemente %d claves e " +#~ "identidades?" + +#~ msgid "Couldn't delete private key" +#~ msgstr "No se pudo eliminar la clave privada" + +#~ msgid "Couldn't delete public key" +#~ msgstr "No se pudo eliminar la clave pública" + +#~ msgid "Export Complete Key" +#~ msgstr "Exportar la clave completa" + +#~ msgid "Couldn't export key." +#~ msgstr "No se pudo exportar la clave." + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "¿Está seguro de que quiere eliminar el certificado «%s»?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "¿Está seguro de que quiere eliminar %d certificado?" +#~ msgstr[1] "¿Está seguro de que quiere eliminar %d certificados?" + +#~ msgid "Deleting" +#~ msgstr "Eliminando" + +#~ msgid "Delete the certificate." +#~ msgstr "Eliminar el certificado." + +#~ msgid "Also delete matching private key" +#~ msgstr "Eliminar también la clave privada coincidente" + +#~ msgid "Are you sure you want to delete the private key '%s'?" +#~ msgstr "¿Está seguro de que quiere eliminar la clave privada «%s»?" + +#~ msgid "Couldn't delete key" +#~ msgstr "No se pudo eliminar la clave" + +#~ msgid "Extra _Action" +#~ msgstr "_Acción adicional" + +#~| msgid "Properties of the certificate." +#~ msgid "An extra action on the certificate" +#~ msgstr "Una acción adicional sobre el certificado" + +#~ msgid "Passwords: %s" +#~ msgstr "Contraseñas: %s" + +#~ msgid "Passwords: %s" +#~ msgstr "Contraseñas: %s" + +#~ msgid "Create New ..." +#~ msgstr "Crear clave nueva…" + +#~ msgid "Importing keys" +#~ msgstr "Importando claves" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "Tipo de clave no reconocido, o formato de datos inválido" + +#~ msgid "Importing Keys" +#~ msgstr "Importando claves" + +#~ msgid "T_ypes" +#~ msgstr "_Tipos" + +#~ msgid "_Expiry" +#~ msgstr "_Caducidad" + +#~ msgid "_Trust" +#~ msgstr "Co_nfianza" + +#~ msgid "_Validity" +#~ msgstr "_Validez" + +#~ msgid "Other _Keys" +#~ msgstr "_Otras claves" + +#~ msgid "_Passwords" +#~ msgstr "Contrase_ñas" + +#~ msgid "Validity" +#~ msgstr "Validez" + +#~ msgid "_Expand All" +#~ msgstr "_Expandir todo" + +#~ msgid "Expand all listings" +#~ msgstr "Expandir todos los listados" + +#~ msgid "_Collapse All" +#~ msgstr "_Contraer todo" + +#~ msgid "Collapse all listings" +#~ msgstr "Contraer todos los listados" + +#~ msgid "Copied keys" +#~ msgstr "Claves copiadas" + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s es una clave privada. ¿Seguro que quiere continuar?" + +#~ msgid "_Key Description:" +#~ msgstr "_Descripción de la clave:" + +#~ msgid "Symmetric Key" +#~ msgstr "Clave simétrica" + +#~ msgid "Credentials" +#~ msgstr "Credenciales" + +#~ msgid "Identity" +#~ msgstr "Identidad" + +#~ msgid "Invalid" +#~ msgstr "Inválido" + +#~ msgid "Private Secure Shell Key" +#~ msgstr "Clave de shell segura privada" + +#~ msgid "Public Secure Shell Key" +#~ msgstr "Clave de shell segura pública" + +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "Introduzca una frase de paso para su clave de shell segura nueva." + +#~| msgid "Deleting item..." +#~ msgid "Deleting items" +#~ msgstr "Eliminado elementos" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "No ejecutar seahorse-daemon como un demonio" + +#~ msgid "couldn't fork process" +#~ msgstr "no se pudo bifurcar el proceso" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "Demonio de cifrado (Seahorse)" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "Tipo de clave inválida o no reconocida: %s" + +#~ msgid "This keytype is not supported: %s" +#~ msgstr "No se soporta este tipo de clave: %s" + +#~ msgid "Support for this feature was not enabled at build time" +#~ msgstr "" +#~ "No se activó el soporte para esta característica al construir la " +#~ "aplicación" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "Clave inválida o no reconocida: %s" + +#~ msgid "Signed by expired on %s." +#~ msgstr "Firmada por caducó en %s." + +#~ msgid "Invalid Signature" +#~ msgstr "Firma inválida" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "Firmado por en %s Caducado." + +#~ msgid "Expired Signature" +#~ msgstr "Firma caducada" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "Firmado por Revocado el %s." + +#~ msgid "Revoked Signature" +#~ msgstr "Firma revocada" + +#~ msgid "Signed by on %s." +#~ msgstr "Firmado por el %s." + +#~ msgid "Good Signature" +#~ msgstr "Firma buena" + +#~ msgid "Signing key not in keyring." +#~ msgstr "La clave de la firma no está en el depósito." + +#~ msgid "Unknown Signature" +#~ msgstr "Firma desconocida" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "Firma mala o falsificada. Los datos de la firma se modificaron." + +#~ msgid "Bad Signature" +#~ msgstr "Firma mala" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "Firmante inválido o no reconocido: %s" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "La clave ya no es válida para firmar: %s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "Destinatario inválido o no reconocido: %s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "La clave no es un destinatario válido para cifrado: %s" + +#~ msgid "No recipients specified" +#~ msgstr "No hay destinatarios especificados" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "Tipo de clave inválido para descifrado: %s" + +#~ msgid "Please set clearuri" +#~ msgstr "Configure «clearuri»" + +#~ msgid "Please set crypturi" +#~ msgstr "Configure «crypturi»" + +#~ msgid "Error opening clearuri" +#~ msgstr "Error al abrir «clearuri»" + +#~ msgid "No signer specified" +#~ msgstr "Ningún firmante especificado" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "Tipo de clave inválido para verificación: %s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "Id de clave inválido: %s" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "Una lista de URI de servidores de claves para claves PGP remotas. En " +#~ "versiones posteriores puede incluirse un nombre de visualización, " +#~ "agregando un espacio y después el nombre." + +#~ msgid "Auto Sync Keys" +#~ msgstr "Autosincronizar claves" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "" +#~ "Controla la visibilidad de la columna de caducidad del administrador de " +#~ "claves." + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "" +#~ "Controla la visibilidad de la columna de confianza del administrador de " +#~ "claves." + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "" +#~ "Controla la visibilidad de la columna de tipo del administrador de claves." + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "" +#~ "Controla la visibilidad de la columna de validez del administrador de " +#~ "claves." + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "Activar compartición DNS-SD" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "Activa la compartición de claves por DNS-DN (Apple Bonjour). seahorse-" +#~ "daemon debe ejecutarse y debe compilarse con soporte HKP y DNS-SD." + +#~ msgid "ID of the default key" +#~ msgstr "ID de la clave predeterminada" + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "" +#~ "Si se establece a verdadero entonces los archivos cifrados con seahorse " +#~ "se codificarán con armadura ASCII." + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "" +#~ "Si se establece a verdadero, entonces la clave predeterminada será " +#~ "añadida siempre a la lista de destinatarios de cifrado." + +#~ msgid "Last key used to sign a message." +#~ msgstr "Última clave usada para firmar un mensaje." + +#~ msgid "PGP Key servers" +#~ msgstr "Servidores de claves PGP" + +#~ msgid "Show expires column in key manager" +#~ msgstr "Muestra la columna de caducidad en el administrador de claves" + +#~ msgid "Show trust column in key manager" +#~ msgstr "Muestra la columna de confianza en el administrador de claves" + +#~ msgid "Show type column in key manager" +#~ msgstr "Muestra el tipo de columna en el administrador de claves" + +#~ msgid "Show validity column in key manager" +#~ msgstr "Muestra la columna de validez en el administrador de claves" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "Especificar la columna por la que ordenar la ventana de destinatarios. " +#~ "Las columnas son: «nombre» e «id». Ponga un «-» en frente del nombre de " +#~ "la columna para ordenarlos en orden descendente." + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "El ID de la última clave secreta usada para firmar un mensaje." + +#~ msgid "The column to sort the recipients by" +#~ msgstr "La columna por la que ordenar los destinatarios" + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "" +#~ "Esto especifica la clave predeterminada que se usa para ciertas " +#~ "operaciones, principalmente para la firma." + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "Indica si se debe cifrar siempre con la clave predeterminada" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "Indica si se debe usar armadura ASCII" + +#~ msgid "Couldn't set application access." +#~ msgstr "No se pudo establecer el acceso de la aplicación." + +#~ msgid "Path:" +#~ msgstr "Ruta:" + +#~ msgid "Permissions:" +#~ msgstr "Permisos:" + +#~ msgid "_Read" +#~ msgstr "_Leer" + +#~ msgid "_Write" +#~ msgstr "_Escribir" + +#~ msgctxt "infinitive" +#~ msgid "_Delete" +#~ msgstr "_Borrar" + +#~ msgid "Saving item..." +#~ msgstr "Guardando elemento…" + +#~ msgid "Listing password keyrings" +#~ msgstr "Listando contraseñas" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "No se encontraron claves de cifrado con las que realizar la operación que " +#~ "solicitó. Ahora se iniciará el programa Contraseñas y claves de " +#~ "cifrado para que puede crear una clave o importarla." + +#~ msgid "All Keys" +#~ msgstr "Todas las claves" + +#~ msgid "Selected Recipients" +#~ msgstr "Destinatarios$seleccionados" + +#~ msgid "Search Results" +#~ msgstr "Resultados de la búsqueda" + +#~ msgid "Search _for:" +#~ msgstr "_Buscar:" + +#~ msgid "None (Don't Sign)" +#~ msgstr "Ninguno (No firmar)" + +#~ msgid "Sign this message as %s" +#~ msgstr "Firmar mensaje como %s" + +#~ msgid "_Sign message as:" +#~ msgstr "_Firmar mensaje como:" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "El archivo no es un archivo .desktop válido" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "No se reconoce la versión «%s» del archivo desktop" + +#~ msgid "Starting %s" +#~ msgstr "Iniciando %s" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "La aplicación no acepta documentos en la línea de comandos" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "Opción de lanzamiento no reconocida: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "" +#~ "No se pueden pasar los URI de documentos a entradas de escritorio " +#~ "«Type=Link»" + +#~ msgid "Not a launchable item" +#~ msgstr "No es un elemento lanzable" + +#~ msgid "Disable connection to session manager" +#~ msgstr "Desactivar la conexión con el gestor de sesiones" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "Especificar el archivo que contiene la configuración guardada" + +#~ msgid "FILE" +#~ msgstr "ARCHIVO" + +#~ msgid "Specify session management ID" +#~ msgstr "Especificar el ID de gestión de sesión" + +#~ msgid "Session management options:" +#~ msgstr "Opciones de gestión de la sesión:" + +#~ msgid "Show session management options" +#~ msgstr "Mostrar las opciones de gestión de la sesión" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "Se importó %i clave" +#~ msgstr[1] "Se importaron %i claves" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "Clave importada para" +#~ msgstr[1] "Claves importadas para" + +#~ msgid "Notification Messages" +#~ msgstr "Mensajes de notificación" + +#~ msgid "Progress Title" +#~ msgstr "Título del progreso" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "No se pudo ejecutar file-roller" + +#~ msgid "Couldn't package files" +#~ msgstr "No se pudieron empaquetar los archivos" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "El proceso de file-roller no terminó completamente" + +#~ msgid "Loading Keys..." +#~ msgstr "Cargando claves…" + +#~ msgid "Uploading keys..." +#~ msgstr "Subiendo claves…" + +#~ msgid "Retrieving keys..." +#~ msgstr "Obteniendo claves…" + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "Buscando claves que contengan «%s»…" + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "Buscando la clave con id «%s»…" + +#~ msgid "Retrieving remote keys..." +#~ msgstr "Obteniendo claves remotas…" + +#~ msgid "Sending keys to key server..." +#~ msgstr "Enviando claves al servidor de claves…" + +#~ msgid "Passphrase:" +#~ msgstr "Frase de paso:" + +#~ msgid "Couldn't share keys" +#~ msgstr "No se pueden compartir las claves" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "No se puede publicar la información de descubrimiento en la red." + +#~ msgid "%s's encryption keys" +#~ msgstr "Claves de cifrado de %s" + +#~ msgid "Key Sharing" +#~ msgstr "Compartición de claves" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "Compartir sus claves permite a otras personas en su red usar las claves " +#~ "que usted ha reunido. Esto significa que puede cifrar automáticamente " +#~ "cosas para usted o aquellos a los que usted conoce sin tener que que " +#~ "enviarles a ellos su clave.\n" +#~ "\n" +#~ "Nota: Sus claves personales no serán comprometidas." + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "Co_mpartir mis claves con otros en mi red" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "X claves están seleccionadas para sincronizar" + +#~ msgid "" +#~ "One or more of the deleted keys are private keys. Are you sure you want " +#~ "to proceed?" +#~ msgstr "" +#~ "Una o más de las claves borradas son claves privadas. ¿Está seguro que " +#~ "quiere continuar?" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/nate/.ssh/blah_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" + +#~ msgid "Other _Collected Keys" +#~ msgstr "Otras claves _reunidas" + +#~ msgid "Create a PGP Key" +#~ msgstr "Crea una clave PGP nueva" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginal\n" +#~ "Full\n" +#~ "Ultimate" +#~ msgstr "" +#~ "Desconocida\n" +#~ "Nunca\n" +#~ "Marginal\n" +#~ "Completa\n" +#~ "Última" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginally\n" +#~ "Fully\n" +#~ "Ultimately" +#~ msgstr "" +#~ "Desconocida\n" +#~ "Nunca\n" +#~ "Marginal\n" +#~ "Completa\n" +#~ "Última" + +#~ msgid "Unavailable Key" +#~ msgstr "Clave no disponible" + +#~ msgid "Password and Encryption Settings" +#~ msgstr "Ajustes de contraseñas y cifrado" + +#~ msgid "Not Part of Certificate" +#~ msgstr "No es parte del certificado" + +#~ msgid "unknown" +#~ msgstr "desconocido" + +#~ msgid "Fingerprints" +#~ msgstr "Huellas" + +#~ msgid "Issued By" +#~ msgstr "Emitido por" + +#~ msgid "Issued To" +#~ msgstr "Emitido para" + +#~ msgid "This certificate has been verified for the following uses:" +#~ msgstr "" +#~ "Este certificado ha sido verificado para los siguientes usos:" + +#~ msgid "Validity" +#~ msgstr "Validez" + +#~ msgid "Email Recipient Certificate" +#~ msgstr "Certificado del destinatario del correo-e" + +#~ msgid "Email Signer Certificate" +#~ msgstr "Certificado del firmante del correo-e" + +#~ msgid "Expires On" +#~ msgstr "Caduca el" + +#~ msgid "Issued On" +#~ msgstr "Emitido el" + +#~ msgid "Organization (O)" +#~ msgstr "Organización (O)" + +#~ msgid "Organizational Unit (OU)" +#~ msgstr "Unidad organizativa (OU)" + +#~ msgid "SHA1 Fingerprint" +#~ msgstr "Huella SHA1" + +#~ msgid "SSL Server Certificate" +#~ msgstr "Certificado de servidor SSL" + +#~ msgid "Serial Number" +#~ msgstr "Número de serie" diff --git a/po/et.po b/po/et.po new file mode 100644 index 00000000..ac724d2f --- /dev/null +++ b/po/et.po @@ -0,0 +1,2030 @@ +# GPG-võtmehalduri Seahorse eesti keele tõlge. +# Estonian translation of Seahorse. +# +# Copyright (C) 2007–2011 The GNOME Project. +# This file is distributed under the same license as the Seahorse package. +# +# Priit Laes , 2007. +# Ivar Smolin , 2007–2011. +# Mattias Põldaru , 2009, 2012, 2013, 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: Seahorse MASTER\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2015-03-14 23:50+0000\n" +"PO-Revision-Date: 2015-03-15 09:32+0300\n" +"Last-Translator: Mattias Põldaru \n" +"Language-Team: Estonian \n" +"Language: et\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Poedit 1.5.4\n" + +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"Seahorse on GNOME rakendus krüpteeritud võtmete haldamiseks. See on " +"integreeritud nautiluse, gediti ja teiste rakendustega." + +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don't have to keep typing it and backup your keys and keyring." +msgstr "" +"Seahorsega saad luua ja hallata PGP ja SSH võtmeid, avaldada ja sikutada " +"võtmeid serveritest, puhverdada oma paroole, et neid ei peaks pidevalt " +"uuesti sisestama ning varundada võtmeid ja terve võtmerõnga." + +msgid "Passwords and Keys" +msgstr "Paroolid ja võtmed" + +msgid "Manage your passwords and encryption keys" +msgstr "Sinu paroolide ja krüptimisvõtmete haldamine" + +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" +"võtmerõngas;krüpto;krüpteering;turvalisus;salasõnad;paroolid;allkirjastamine;" +"ssh;" + +msgid "Contributions:" +msgstr "Kaasaaitajad:" + +msgid "translator-credits" +msgstr "" +"Priit Laes , 2007.\n" +"Ivar Smolin , 2007–2011.\n" +"Mattias Põldaru , 2009-2013." + +msgid "Seahorse Project Homepage" +msgstr "Seahorse projekti koduleht" + +msgid "Cannot delete" +msgstr "Pole võimalik kustutada" + +msgid "Couldn't export keys" +msgstr "Võtmeid pole võimalik eksportida" + +msgid "Couldn't export data" +msgstr "Andmeid pole võimalik eksportida" + +#, c-format +msgid "Could not display help: %s" +msgstr "Abiteavet pole võimalik kuvada: %s" + +#. Top menu items +msgid "_File" +msgstr "_Fail" + +msgid "E_xport..." +msgstr "_Ekspordi..." + +msgid "Export to a file" +msgstr "Võtmete eksportimine faili" + +msgid "_Edit" +msgstr "_Redaktor" + +msgid "Copy to the clipboard" +msgstr "Kopeeri lõikepuhvrisse" + +msgid "_Delete" +msgstr "_Kustuta" + +msgid "Delete selected items" +msgstr "Valitud elementide kustutamine" + +msgid "Show the properties of this item" +msgstr "Selle kirje omaduste näitamine" + +msgid "Show the properties of this keyring" +msgstr "Selle võtmerõnga omaduste näitamine" + +msgid "Prefere_nces" +msgstr "_Eelistused" + +msgid "Change preferences for this program" +msgstr "Programmi eelistuste määramine" + +msgid "_View" +msgstr "_Vaade" + +msgid "_Help" +msgstr "A_bi" + +msgid "About this program" +msgstr "Programmist lähemalt..." + +msgid "_Contents" +msgstr "_Sisu" + +msgid "Show Seahorse help" +msgstr "Seahorse abiteabe näitamine" + +msgid "Export" +msgstr "Ekspordi" + +msgid "Passwords" +msgstr "Paroolid" + +msgid "Stored personal passwords, credentials and secrets" +msgstr "Salvestatud isiklikud paroolid, võtmed ja saladused" + +msgid "New password keyring" +msgstr "Uus paroolide võtmerõngas" + +msgid "Used to store application and network passwords" +msgstr "Kasutatakse rakenduste ja võrguparoolide salvestamiseks" + +msgid "New password..." +msgstr "Uus parool..." + +msgid "Safely store a password or secret." +msgstr "Parooli või saladuse turvaline salvestamine." + +msgid "Password Keyring" +msgstr "Paroolide võtmerõngas" + +msgid "Stored Password" +msgstr "Salvestatud parool" + +msgid "Add Password" +msgstr "Parooli lisamine" + +msgid "Couldn't add item" +msgstr "Kirjet pole võimalik lisada" + +msgid "Access a network share or resource" +msgstr "Ligipääs võrgus olevale kataloogile või ressursile" + +msgid "Access a website" +msgstr "Ligipääs veebisaidile" + +msgid "Unlocks a PGP key" +msgstr "PGP-võtme lukust lahtivõtmine" + +msgid "Unlocks a Secure Shell key" +msgstr "Secure Shell'i võtme lukust lahtivõtmine" + +msgid "Saved password or login" +msgstr "Salvestatud parool või konto" + +msgid "Network Credentials" +msgstr "Võrgutõendid" + +msgid "Password" +msgstr "Parool" + +msgid "Couldn't change password." +msgstr "Parooli pole võimalik muuta." + +msgid "Couldn't set description." +msgstr "Kirjeldust pole võimalik määrata." + +#. Translators: This should be the same as the string in empathy +msgid "IM account password for " +msgstr "Kiirsuhtluskonto parool:" + +msgid "Password or secret" +msgstr "Parool või saladus" + +msgid "Network password" +msgstr "Võrguparool" + +msgid "Stored note" +msgstr "Salvestatud märkus" + +msgid "Keyring password" +msgstr "Võtmerõnga parool" + +msgid "Encryption key password" +msgstr "Krüptimisvõtme parool" + +msgid "Key storage password" +msgstr "Võtmete salvestamise parool" + +msgid "Google Chrome password" +msgstr "Google Chrome'i parool" + +msgid "Gnome Online Accounts password" +msgstr "Gnome'i veebikontode parool" + +msgid "Telepathy password" +msgstr "Telepathy parool" + +msgid "Instant messaging password" +msgstr "Kiirsõnumivahetuse parool" + +msgid "Network Manager secret" +msgstr "Võrguhalduri saladus" + +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "Kas sa soovid parooli '%s' kustutada?" + +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Kas sa oled kindel, et soovid %d parooli kustutada?" +msgstr[1] "Kas sa oled kindel, et soovid %d parooli kustutada?" + +msgid "Add Password Keyring" +msgstr "Parooli võtmerõnga lisamine" + +msgid "Couldn't add keyring" +msgstr "Võtmerõngast pole võimalik lisada" + +msgid "A keyring that is automatically unlocked on login" +msgstr "" +"Võtmerõngas, mis võetakse kasutaja sisselogimisel automaatselt lukust lahti." + +msgid "A keyring used to store passwords" +msgstr "Võtmerõngas paroolide salvestamiseks" + +msgid "Couldn't set default keyring" +msgstr "Vaikimisi paroolide võtmerõngast pole võimalik määrata" + +msgid "Couldn't change keyring password" +msgstr "Võtmerõnga parooli pole võimalik muuta" + +msgid "_Set as default" +msgstr "_Määra kui vaikimisi" + +msgid "Applications usually store new passwords in the default keyring." +msgstr "" +"Rakendused salvestavad uued paroolid tavaliselt vaikimisi võtmerõngasse." + +msgid "Change _Password" +msgstr "Muuda _parooli" + +msgid "Change the unlock password of the password storage keyring" +msgstr "Muuda paroolide võtmerõnga hoidla luku parool" + +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "Kas sa soovid paroolide võtmerõnga '%s' kustutada?" + +msgid "I understand that all items will be permanently deleted." +msgstr "Ma saan aru, et kõik kirjed kustutatakse jäädavalt." + +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Palun määra uuele võtmerõngale nimi. Lukust lahtivõtmise kohta küsitakse " +"parooli." + +msgid "New Keyring Name:" +msgstr "Uue võtmerõnga nimi:" + +msgid "_Description:" +msgstr "_Kirjeldus:" + +msgid "_Password:" +msgstr "_Parool:" + +msgid "_Show Password" +msgstr "_Parooli näidatakse" + +msgid "_Keyring:" +msgstr "_Võtmerõngas:" + +#. To translators: This is the noun not the verb. +msgid "Use:" +msgstr "Kasutus:" + +msgid "Type:" +msgstr "Liik:" + +msgid "Server:" +msgstr "Server:" + +msgid "Login:" +msgstr "Konto:" + +msgid "Show pass_word" +msgstr "_Parooli näidatakse" + +msgid "Password:" +msgstr "Parool:" + +msgid "Key" +msgstr "Võti" + +msgid "Technical Details:" +msgstr "Tehnilised üksikasjad:" + +msgid "Details" +msgstr "Üksikasjad" + +msgid "Name:" +msgstr "Nimi:" + +#. To translators: This is the noun not the verb. +msgid "Created:" +msgstr "Loodud:" + +msgid "Keyring" +msgstr "Võtmerõngas" + +msgid "Display flags" +msgstr "Kuvamislipud" + +msgid "Displayed date and/or time properties" +msgstr "Kuvatava kuupäeva ja/või aja omadused" + +msgid "Lazy mode" +msgstr "Laisk režiim" + +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "" +"Laisk režiim ei normaliseeri sisestatud kuupäeva ja kellaaja väärtuseid" + +msgid "Year" +msgstr "Aasta" + +msgid "Displayed year" +msgstr "Kuvatav aasta" + +msgid "Month" +msgstr "Kuu" + +msgid "Displayed month" +msgstr "Kuvatav kuu" + +msgid "Day" +msgstr "Päev" + +msgid "Displayed day of month" +msgstr "Kuvatav päev kuus" + +msgid "Hour" +msgstr "Tund" + +msgid "Displayed hour" +msgstr "Kuvatav tund" + +msgid "Minute" +msgstr "Minut" + +msgid "Displayed minute" +msgstr "Kuvatav minut" + +msgid "Second" +msgstr "Sekund" + +msgid "Displayed second" +msgstr "Kuvatav sekund" + +msgid "Lower limit year" +msgstr "Alampiiri aasta" + +msgid "Year part of the lower date limit" +msgstr "Alumise kuupäevapiiri aasta" + +msgid "Upper limit year" +msgstr "Ülempiiri aasta" + +msgid "Year part of the upper date limit" +msgstr "Ülemise kuupäevapiiri aasta" + +msgid "Lower limit month" +msgstr "Alampiiri kuu" + +msgid "Month part of the lower date limit" +msgstr "Alumise kuupäevapiiri kuu" + +msgid "Upper limit month" +msgstr "Ülempiiri kuu" + +msgid "Month part of the upper date limit" +msgstr "Ülemise kuupäevapiiri kuu" + +msgid "Lower limit day" +msgstr "Alampiiri päev" + +msgid "Day of month part of the lower date limit" +msgstr "Alumise kuupäevapiiri kuupäev" + +msgid "Upper limit day" +msgstr "Alampiiri päev" + +msgid "Day of month part of the upper date limit" +msgstr "Alumise kuupäevapiiri kuupäev" + +msgid "Lower limit hour" +msgstr "Alampiiri tunnid" + +msgid "Hour part of the lower time limit" +msgstr "Alumise piiri tunnid" + +msgid "Upper limit hour" +msgstr "Ülempiiri tunnid" + +msgid "Hour part of the upper time limit" +msgstr "Ülemise piiri tunnid" + +msgid "Lower limit minute" +msgstr "Alampiiri minutid" + +msgid "Minute part of the lower time limit" +msgstr "Alumise piiri minutid" + +msgid "Upper limit minute" +msgstr "Ülempiiri minutid" + +msgid "Minute part of the upper time limit" +msgstr "Ülemise piiri minutid" + +msgid "Lower limit second" +msgstr "Alumise piiri sekundid" + +msgid "Second part of the lower time limit" +msgstr "Alumise piiri sekundid" + +msgid "Upper limit second" +msgstr "Ülempiiri sekundid" + +msgid "Second part of the upper time limit" +msgstr "Ülemise piiri sekundid" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +msgid "Date" +msgstr "Kuupäev" + +msgid "Enter the date directly" +msgstr "Kuupäeva sisestamine käsitsi" + +msgid "Select Date" +msgstr "Vali kuupäev" + +msgid "Select the date from a calendar" +msgstr "Kuupäeva valimine kalendrist" + +msgid "Time" +msgstr "Aeg" + +msgid "Enter the time directly" +msgstr "Aja sisestamine käsitsi" + +msgid "Select Time" +msgstr "Vali aeg" + +msgid "Select the time from a list" +msgstr "Aja valimine nimekirjast" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +msgid "24hr: no" +msgstr "24hr: yes" + +msgid "AM" +msgstr "hommikul" + +msgid "PM" +msgstr "õhtul" + +#. Translators: This is hh:mm:ss AM/PM. +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +msgid "initial temporary item" +msgstr "ajutine lähtestamiskirje" + +msgid "Add Key Server" +msgstr "Võtmeserveri lisamine" + +msgid "Key Server Type:" +msgstr "Võtmeserveri liik:" + +msgid "Host:" +msgstr "Host:" + +msgid "The host name or address of the server." +msgstr "Serveri hostinimi või aadress." + +msgid ":" +msgstr ":" + +msgid "The port to access the server on." +msgstr "Serveri port, kuhu tuleb ühenduda." + +msgid "Version of this application" +msgstr "Selle rakenduse versioon" + +msgid "- System Settings" +msgstr "- süsteemi sätted" + +msgid "Don't display a window" +msgstr "Akent ei kuvata" + +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Sisesta PIN või parool järgnevale: %s" + +#. The second and main entry +msgid "Confirm:" +msgstr "Kinnitus:" + +msgid "Not a valid Key Server address." +msgstr "Võtmeserveri aadress on vigane." + +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Abi saamiseks võta ühendust oma süsteemihalduriga või võtmeserveri halduriga." + +msgid "URL" +msgstr "URL" + +msgid "Custom" +msgstr "Kohandatud" + +msgid "None: Don't publish keys" +msgstr "Puudub: võtmeid ei avaldata" + +msgid "Preferences" +msgstr "Eelistused" + +msgid "_Find keys via:" +msgstr "Võtmete _otsimise asukohad:" + +msgid "_Publish keys to:" +msgstr "Kuhu võtmed _avalikustatakse:" + +msgid "Automatically retrieve keys from _key servers" +msgstr "Võtmese_rveritest võetakse võtmed vastu automaatselt" + +msgid "Automatically synchronize _modified keys with key servers" +msgstr "_Muudetud võtmed sünkroniseeritakse automaatselt võtmeserveritega" + +msgid "Key Servers" +msgstr "Võtmeserverid" + +msgctxt "Validity" +msgid "Unknown" +msgstr "Pole teada" + +msgctxt "Validity" +msgid "Never" +msgstr "Mitte kunagi" + +msgctxt "Validity" +msgid "Marginal" +msgstr "Vähesel määral" + +msgctxt "Validity" +msgid "Full" +msgstr "Täielikult" + +msgctxt "Validity" +msgid "Ultimate" +msgstr "Ülimalt" + +msgctxt "Validity" +msgid "Disabled" +msgstr "Keelatud" + +msgctxt "Validity" +msgid "Revoked" +msgstr "Tühistatud" + +msgid "Never E_xpires" +msgstr "Ei aegu _kunagi" + +msgid "If key never expires" +msgstr "Kui võti ei aegu kunagi" + +msgid "Key _Type:" +msgstr "_Võtme liik:" + +msgid "Key _Length:" +msgstr "Võtme _pikkus:" + +msgid "Expiration Date:" +msgstr "Aegumiskuupäev:" + +msgid "Length of Key" +msgstr "Võtme pikkus" + +msgid "Generate a new subkey" +msgstr "Uue alamvõtme genereerimine" + +msgid "Add User ID" +msgstr "Kasutaja ID lisamine" + +msgid "Must be at least 5 characters long" +msgstr "Peab olema vähemalt viie märgi pikkune" + +msgid "Optional email address" +msgstr "Valikuline e-posti aadress" + +msgid "Optional comment describing key" +msgstr "Valikuline kommentaar võtme kirjeldamiseks" + +#. Full name of the key, usually the name of the user. +msgid "Full _Name:" +msgstr "_Täisnimi:" + +msgid "_Email Address:" +msgstr "_E-posti aadress:" + +msgid "Key Co_mment:" +msgstr "Võtme _kommentaar:" + +msgid "Create the new user ID" +msgstr "Uue kasutaja-ID loomine" + +msgid "_Never expires" +msgstr "_Ei aegu kunagi" + +msgid "Revoke key" +msgstr "Võtme tühistamine" + +msgid "C_hange" +msgstr "_Muuda" + +msgid "Couldn't add subkey" +msgstr "Alamvõtit pole võimalik lisada" + +#, c-format +msgid "Add subkey to %s" +msgstr "Alamvõtme lisamine omanikule %s" + +msgid "DSA (sign only)" +msgstr "DSA (ainult allkirjastamiseks)" + +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (ainult krüptimiseks)" + +msgid "RSA (sign only)" +msgstr "RSA (ainult allkirjastamiseks)" + +msgid "RSA (encrypt only)" +msgstr "RSA (ainult krüptimiseks)" + +msgid "Couldn't add user id" +msgstr "Kasutaja ID-d pole võimalik lisada" + +#, c-format +msgid "Add user ID to %s" +msgstr "Võtmele %s kasutaja ID lisamine" + +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"Tõrge lahtikrüptimisel. Arvatavasti pole sul lahtkirüptimiseks vajalikku " +"võtit." + +msgid "The operation was cancelled" +msgstr "Operatsioon katkestati" + +msgid "Invalid expiry date" +msgstr "Vigane aegumise kuupäev" + +msgid "The expiry date must be in the future" +msgstr "Aegumise kuupäev peab olema tulevikus" + +msgid "Couldn't change expiry date" +msgstr "Aegumise kuupäeva pole võimalik muuta" + +#, c-format +msgid "Expiry: %s" +msgstr "Aegumine: %s" + +msgid "Multiple Keys" +msgstr "Mitu võtit" + +msgid "Key Data" +msgstr "Võtme andmed" + +# See ASCII-armored on üsna mõttetu termin iseenesest, tähendab lihtsalt, et erimärke ei sisalda ja siis saad rõõmsalt meiliga saata ja puha. Kindlustatud, kaitstud või turvatud PGP võti kõlab natukene liiga kindlad sellise asja kohta. +msgid "Armored PGP keys" +msgstr "Turvatud PGP-võtmed" + +msgid "PGP keys" +msgstr "PGP-võtmed" + +msgid "PGP Key" +msgstr "PGP-võti" + +msgid "Used to encrypt email and files" +msgstr "Kasutatakse e-posti ja failide krüptimiseks" + +msgid "RSA" +msgstr "RSA" + +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +msgid "Couldn't generate PGP key" +msgstr "PGP-võtit pole võimalik genereerida" + +msgid "Passphrase for New PGP Key" +msgstr "Uue PGP-võtme parool" + +msgid "Enter the passphrase for your new key twice." +msgstr "Sisesta oma uuele võtmele parool (2 korda)." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It's a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Võtme loomisel tuleb genereerida palju juhuslikkust\n" +"ning selleks on vajalik sinu abi. Praegu on hea\n" +"teha midagi muud, näiteks liigutada hiir, tippida\n" +"klaviatuuril või kasutada rakendusi. See tagab\n" +"arvutile vajaliku juhuslikkuse." + +msgid "Generating key" +msgstr "Võtme genereerimine" + +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Kas sa soovid '%s' jäädavalt kustutada?" + +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Kas soovid kindlasti %d võtme jäädavalt kustutada?" +msgstr[1] "Kas soovid kindlasti %d võtit jäädavalt kustutada?" + +msgid "Wrong password" +msgstr "Vale parool" + +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Vale parool sisestati juba kolmandat korda. Palun proovi uuesti." + +#, c-format +msgid "Wrong passphrase." +msgstr "Vale parool." + +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "Sisesta '%s' jaoks uus parool" + +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "Sisesta võtme '%s' parool" + +msgid "Enter new passphrase" +msgstr "Uue parooli sisestamine" + +msgid "Enter passphrase" +msgstr "Parooli sisestamine" + +msgid "Passphrase" +msgstr "Parool" + +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Laaditud %d võti" +msgstr[1] "Laaditud %d võtit" + +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Vigased võtme andmed (kasutaja ID-id on puudu). See võib olla põhjustatud " +"sellest, et arvuti kellaaeg on tulevikus või puudub enese poolt loodud " +"allkiri." + +msgid "GnuPG keys" +msgstr "GnuPG võtmed" + +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: vaikimisi võtmerõnga kataloog" + +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"Foto on liiga suur\n" +"Võtmele lisatava foto soovituslik suutus on %d x %d pikslit." + +msgid "_Don't Resize" +msgstr "Ä_ra muuda suurust" + +msgid "_Resize" +msgstr "_Muuda suurust" + +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"See pole pildifail või on selle pildifail tundmatut liiki. Proovi kasutada " +"JPEG-pilti." + +msgid "All image files" +msgstr "Kõik pildifailid" + +msgid "All JPEG files" +msgstr "Kõik JPEG-failid" + +msgid "All files" +msgstr "Kõik failid" + +msgid "Choose Photo to Add to Key" +msgstr "Võtmele lisatava foto valimine" + +msgid "Couldn't prepare photo" +msgstr "Fotot pole võimalik ette valmistada" + +msgid "Couldn't add photo" +msgstr "Fotot pole võimalik lisada" + +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Faili pole võimalik laadida. Võib-olla on see vigases vormingus." + +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Kas soovid võtmelt eemaldada seal praegu olevat fotot?" + +msgid "Couldn't delete photo" +msgstr "Fotot pole võimalik kustutada" + +msgid "Couldn't revoke subkey" +msgstr "Alamvõtit pole võimalik tühistada" + +#, c-format +msgid "Revoke: %s" +msgstr "Tühistamine: %s" + +msgid "No reason" +msgstr "Põhjendus puudub" + +msgid "No reason for revoking key" +msgstr "Võtme tühistamisele pole põhjendust määratud" + +msgid "Compromised" +msgstr "Kompromiteeritud" + +msgid "Key has been compromised" +msgstr "Võti on kompromiteeritud" + +msgid "Superseded" +msgstr "Asendatud" + +msgid "Key has been superseded" +msgstr "Võti on asendatud" + +msgid "Not Used" +msgstr "Pole kasutusel" + +msgid "Key is no longer used" +msgstr "Võti pole enam kasutusel" + +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Sa oled lisamas omaniku %1$s võtmele tühistajat %2$s. Seda tegevust pole " +"võimalik hiljem tagasi pöörata. Oled sa valmis jätkama?" + +msgid "Couldn't add revoker" +msgstr "Tühistajat pole võimalik lisada" + +msgid "I understand that this secret key will be permanently deleted." +msgstr "Ma mõistan, et see saladus kustutatakse jäädaval." + +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" +"Selle võtme on juba allkirjastanud\n" +"\"%s\"" + +msgid "Couldn't sign key" +msgstr "Võtit pole võimalik allkirjastada" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +msgid "No keys usable for signing" +msgstr "Puuduvad allkirjastamiseks sobilikud võtmed" + +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Sul pole isiklikke PGP-võtmeid, mida saaks kasutada selle võtme usaldatavuse " +"määramiseks." + +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Tundmatu" + +msgid "ElGamal" +msgstr "ElGamal" + +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" +"Otsing polnud piisavalt täpne. Server '%s' tagastas liiga palju võtmeid." + +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "Serveriga '%s' pole võimalik suhelda: %s" + +msgid "HTTP Key Server" +msgstr "HTTP võtmeserver" + +msgid "Couldn't import keys" +msgstr "Võtmeid pole võimalik importida" + +msgid "Importing keys from key servers" +msgstr "Võtmete importimine serverist" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +msgid "_Remote" +msgstr "_Kaugvalikud" + +msgid "Close this window" +msgstr "Selle akna sulgemine" + +msgid "_Find Remote Keys..." +msgstr "_Otsi võtmeid võrgust..." + +msgid "Search for keys on a key server" +msgstr "Võtmete otsimine võtmeserverist" + +msgid "_Import" +msgstr "_Impordi" + +msgid "Import selected keys to local key ring" +msgstr "Valitud võtmete importimine kohalikku võtmerõngasse" + +msgid "Remote Keys" +msgstr "Kaugvõtmed" + +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "Stringi '%s' sisaldavad kaugvõtmed" + +msgid "The search for keys failed." +msgstr "Võtmete otsimine nurjus." + +msgid "Find Remote Keys" +msgstr "Kaugvõtmete otsimine" + +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Selle dialoogi abil leitakse Internetist teiste isikute võtmeid. Neid on " +"võimalik kohalikku võtmerõngasse importida." + +msgid "_Search for keys containing: " +msgstr "O_tsitakse järgnevat stringi sisaldavaid võtmeid: " + +msgid "Key Servers:" +msgstr "Võtmeserverid:" + +msgid "Shared Keys Near Me:" +msgstr "Minu ligiduses avaldatud võtmed:" + +msgid "Where to search:" +msgstr "Millistest serveritest otsitakse:" + +msgid "_Search" +msgstr "_Otsi" + +msgid "Couldn't publish keys to server" +msgstr "Võtmeid pole võimalik serveris avaldada" + +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "Võtmeid pole võimalik serverist vastu võtta: %s" + +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "Sünkroniseerimiseks on valitud %d võti" +msgstr[1] "Sünkroniseerimiseks on valitud %d võtit" + +msgid "Synchronizing keys..." +msgstr "Võtmete sünkroniseerimine..." + +msgid "Sync Keys" +msgstr "Võtmete sünkroniseerimine" + +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"Käesolevaga avaldatakse sinu võtmerõngas olevad võtmed võtmeserveris " +"kasutamiseks teistele kasutajatele, samuti hangitakse vahepeal teiste " +"kasutajate võtmetes tehtud muudatused." + +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Käesolevaga hangitakse võtmeserverist vahepeal teiste kasutajate võtmetes " +"tehtud muudatused. Avalikustamiseks pole võtmeserverit valitud, seega pole " +"võimalik sinu võtmeid teistele kättesaadavaks teha." + +msgid "_Key Servers" +msgstr "_Võtmeserverid" + +msgid "_Sync" +msgstr "_Sünkroniseeri" + +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "Serveriga '%s' pole võimalik suhelda: %s" + +#, c-format +msgid "Connecting to: %s" +msgstr "Ühenduse loomine: %s" + +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "Aadressi pole võimalik lahendada: %s" + +#, c-format +msgid "Resolving server address: %s" +msgstr "Serveri aadressi lahendamine: %s" + +msgid "LDAP Key Server" +msgstr "LDAP võtmeserver" + +msgid "_Sync and Publish Keys..." +msgstr "Sü_nkroniseeri ja avalikusta võtmed..." + +msgid "Publish and/or synchronize your keys with those online." +msgstr "Sinu võtmete avaldamine ja/või sünkroniseerimine võtmeserveriga." + +msgid "PGP Keys" +msgstr "PGP-võtmed" + +msgid "PGP keys are for encrypting email or files" +msgstr "PGP-võtmeid kasutatakse e-posti ja failide krüptimiseks" + +msgid "C_reate" +msgstr "L_oo" + +msgid "Generate a new key" +msgstr "Uue võtme genereerimine" + +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP-võti võimaldab sul teistele saatmiseks krüptida e-posti või faile." + +msgid "Ne_ver Expires" +msgstr "_Ei aegu kunagi" + +msgid "_Comment:" +msgstr "_Kommentaar:" + +msgid "Encryption _Type:" +msgstr "_Krüptimise liik:" + +msgid "Key _Strength (bits):" +msgstr "Võtme _pikkus (bittides):" + +msgid "E_xpiration Date:" +msgstr "Ae_gumiskuupäev:" + +msgid "_Advanced key options" +msgstr "Võt_me laiendatud valikud" + +msgid "Personal PGP key" +msgstr "Isiklik PGP-võti" + +msgid "PGP key" +msgstr "PGP-võti" + +msgid "Couldn't change primary user ID" +msgstr "Peamist kasutaja ID-d pole võimalik muuta" + +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "Kas sa soovid kasutaja ID '%s' jäädavalt kustutada?" + +msgid "Couldn't delete user ID" +msgstr "Kasutaja ID-d pole võimalik kustutada" + +msgid "[Unknown]" +msgstr "[Tundmatu]" + +msgid "Name/Email" +msgstr "Nimi/E-post" + +msgid "Signature ID" +msgstr "Allkirja ID" + +msgid "Couldn't change primary photo" +msgstr "Peamist fotot pole võimalik muuta" + +#. TRANSLATORS: (unknown) expiry date +msgid "(unknown)" +msgstr "(tundmatu)" + +#, c-format +msgid "This key expired on: %s" +msgstr "See võti aegus: %s" + +msgid "Name" +msgstr "Nimi" + +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Kas sa soovid jäädavalt kustutada omaniku %2$s alamvõtme %1$d?" + +msgid "Couldn't delete subkey" +msgstr "Alamvõtit pole võimalik kustutada" + +msgid "Unable to change trust" +msgstr "Usaldust pole võimalik muuta" + +msgid "Couldn't export key" +msgstr "Võtit polnud võimalik eksportida" + +msgid "Marginal" +msgstr "Vähesel määral" + +msgid "Full" +msgstr "Täielik" + +msgid "Ultimate" +msgstr "Ülim" + +msgctxt "Expires" +msgid "Never" +msgstr "Mitte kunagi" + +msgid "ID" +msgstr "ID" + +msgid "Type" +msgstr "Liik" + +msgid "Usage" +msgstr "Kasutus" + +msgid "Created" +msgstr "Loodud" + +msgid "Expires" +msgstr "Aegumine" + +msgid "Status" +msgstr "Olek" + +msgid "Strength" +msgstr "Tugevus" + +msgid "Revoked" +msgstr "Tühistatud" + +msgid "Expired" +msgstr "Aegunud" + +msgid "Disabled" +msgstr "Keelatud" + +msgid "Good" +msgstr "Hea" + +msgid "Key ID" +msgstr "Võtme ID" + +msgid "Key Properties" +msgstr "Võtme omadused" + +msgid "This key has been revoked" +msgstr "See võti on tühistatud" + +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Selle võtme omanik tühistas võtme. Seda pole võimalik rohkem kasutada." + +msgid "This key has expired" +msgstr "See võti on aegunud" + +msgid "Add a photo to this key" +msgstr "Sellele võtmele foto lisamine" + +msgid "Remove this photo from this key" +msgstr "Sellelt võtmelt foto eemaldamine" + +msgid "Make this photo the primary photo" +msgstr "Selle foto määramine peamiseks fotoks" + +msgid "Go to previous photo" +msgstr "Eelmisele fotole liikumine" + +msgid "Go to next photo" +msgstr "Järgmisele fotole liikumine" + +#. A photograph +msgid "Photo " +msgstr "Foto" + +msgid "Key ID:" +msgstr "Võtme ID:" + +#. Name of key, usually a persons name +msgctxt "name-of-key" +msgid "Name:" +msgstr "Nimi:" + +msgid "Email:" +msgstr "E-post:" + +msgid "Comment:" +msgstr "Kommentaar:" + +msgid "Decrypt files and email sent to you." +msgstr "Sinule saadetud e-posti ja failide lahtikrüptimiseks." + +msgid "Private PGP Key" +msgstr "Salajane PGP-võti" + +msgid "Change _Passphrase" +msgstr "Muuda _parooli" + +msgid "Owner" +msgstr "Omanik" + +msgid "Key Names and Signatures" +msgstr "Võtmete nimed ja allkirjad" + +msgid "Primary" +msgstr "Peamine" + +msgid "Sign" +msgstr "Allkirjasta" + +msgid "Delete" +msgstr "Kustuta" + +#. Add another name to the PGP key. +msgid "_Add Name" +msgstr "Lisa _nimi" + +msgid "Revoke" +msgstr "Tühista" + +#. List of names and signatures on the PGP key. +msgid "Names and Signatures" +msgstr "Nimed ja allkirjad" + +msgid "Strength:" +msgstr "Tugevus:" + +msgid "Technical Details" +msgstr "Tehnilised üksikasjad" + +msgid "Fingerprint" +msgstr "Sõrmejälg" + +msgid "Expires:" +msgstr "Aegub:" + +msgid "Dates" +msgstr "Kuupäevad" + +msgid "Override Owner _Trust:" +msgstr "Omaniku _usalduse asendamine:" + +msgid "_Export Secret Key:" +msgstr "Salavõtme _eksport:" + +msgid "Actions" +msgstr "Tegevused" + +msgid "Add" +msgstr "Lisa" + +msgid "Expire" +msgstr "Määra aegumine" + +msgid "_Subkeys" +msgstr "Alam_võtmed" + +msgctxt "Validity" +msgid "Marginally" +msgstr "Vähesel määral" + +msgctxt "Validity" +msgid "Fully" +msgstr "Täielikult" + +msgctxt "Validity" +msgid "Ultimately" +msgstr "Ülimalt" + +msgid "Encrypt files and email to the key's owner" +msgstr "Failide ja e-posti krüptimiseks võtme omaniku jaoks" + +msgid "Public PGP Key" +msgstr "Avalik PGP-võti" + +#. Names set on the PGP key. +msgid "_Other Names:" +msgstr "_Teised nimed:" + +msgid "Your trust of this key" +msgstr "Sinu usaldus selle võtme vastu" + +msgid "Your trust is manually specified on the Details tab." +msgstr "Sinu usaldus on käsitsi määratud kaardi Üksikasjad alt." + +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "Usaldan isiku '%s' poolt teistele võtmetele antud allkirju" + +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" +"Kui sa usud, et selle võtme omanik on '%s', siis allkirjasta see võti:" + +msgid "_Sign this Key" +msgstr "A_llkirjasta see võti" + +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" +"Kui sa ei usalda kauem, et selle võtme omanik on '%s', siis tühista " +"oma allkiri:" + +msgid "_Revoke Signature" +msgstr "_Tühista allkiri" + +msgid "_People who have signed this key:" +msgstr "Selle võtme allkirjastanud _inimesed:" + +msgid "_Only display the signatures of people I trust" +msgstr "_Kuvatakse ainult minu poolt usaldatavaid inimesi" + +msgid "Trust" +msgstr "Usaldus" + +msgid "Fingerprint:" +msgstr "Sõrmejälg:" + +msgid "Dates:" +msgstr "Kuupäevad" + +msgid "Indicate Trust:" +msgstr "Usaldusmäär:" + +msgid "You _Trust the Owner:" +msgstr "Sinu _usaldus omaniku vastu:" + +msgid "Encrypt" +msgstr "Krüpteeri" + +msgid "Certify" +msgstr "Sertifitseeri" + +msgid "Authenticate" +msgstr "Autendi" + +#, c-format +msgid "Subkey %d of %s" +msgstr "Omaniku %2$s %1$d. alamvõti" + +msgid "Reason for revoking the key" +msgstr "Võtme tühistamise põhjus" + +msgid "_Reason:" +msgstr "_Põhjus:" + +msgid "Optional description of revocation" +msgstr "Tühistamise põhjuste võimalik kirjeldus" + +msgid "Re_voke" +msgstr "_Tühista" + +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Sul pole ühtegi isiklikku PGP-võtit, mis sobiks sõnumi või dokumendi " +"allkirjastamiseks." + +msgid "_Sign message with key:" +msgstr "A_llkirjasta sõnum järgneva võtmega:" + +msgid "Sign Key" +msgstr "Võtme allkirjastamine" + +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"Allkirjastamisega näitad sa, et usaldad sellele omanikule kuuluvat võtit:" + +msgid "Key Name" +msgstr "Võtme nimi" + +msgid "How carefully have you checked this key?" +msgstr "Kui hoolikalt sa seda võtit kontrollisid?" + +msgid "_Not at all" +msgstr "_Mitte üldse" + +msgid "_Casually" +msgstr "_Pealiskaudselt" + +msgid "_Very Carefully" +msgstr "_Väga hoolikalt" + +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Mitte üldse tähendab, et sa usud selle võtme kuuluvat isikule, kes " +"väidab selle võtme enesele kuuluvat, kuid sul pole olnud võimalik seda \n" +"asjaolu kontrollida või pole sa lihtsalt seda teinud." + +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Pealiskaudselt tähedab, et sa oled vaid põgusalt kontrollinud, kas " +"võti kuulub isikule, kes väidab selle võtme enesele kuuluvat. Näiteks on " +"võtme omanik telefonitsi kinnitanud võtme kuuluvust." + +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Väga hoolikalt - vali see ainult juhul, kui sa oled täiesti kindel, " +"et see võti kuulub selle omanikule." + +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Selle valiku jaoks peaks sa olema ise kontrollinud selle inimese isikut " +"tõendavat pildiga dokumenti kasutades (näiteks ID-kaart või pass). Samuti " +"peaks sa olema kontrollinud, kas e-posti aadress vastab omanikule." + +msgid "How others will see this signature:" +msgstr "Kuidas teised seda allkirja peaksid nägema:" + +msgid "_Others may not see this signature" +msgstr "_Teised ei tohi seda allkirja näha" + +msgid "I can _revoke this signature at a later date." +msgstr "Mul on võimalus hiljem seda allkirja tü_histada." + +msgid "Sign key as:" +msgstr "Võtmed allkirjastatakse kui:" + +msgid "_Signer:" +msgstr "_Allkirjastaja:" + +msgid "_Sign" +msgstr "All_kirjasta" + +msgid "Exporting data" +msgstr "Andmete eksportimine" + +msgid "Retrieving data" +msgstr "Andmete vastuvõtmine" + +msgid "Importing data" +msgstr "Andmete importimine" + +msgid "Sending data" +msgstr "Andmete saatmine" + +msgid "Unavailable" +msgstr "Pole saadaval" + +msgid "Certificate" +msgstr "Sertifikaat" + +msgid "Certificates (DER encoded)" +msgstr "Sertifikaadid (DER-kodeeringus)" + +msgid "Personal certificate and key" +msgstr "Isiklik sertifikaat ja võti" + +msgid "Personal certificate" +msgstr "Isiklik sertifikaat" + +msgid "Certificates" +msgstr "Sertifikaadid" + +msgid "X.509 certificates and related keys" +msgstr "X.509 sertifikaadid ja seonduvad võtmed" + +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Kas sa soovid kindlasti %d sertifikaadi jäädavalt kustutada?" +msgstr[1] "Kas sa soovid kindlasti %d sertifikaati jäädavalt kustutada?" + +msgid "Couldn't generate private key" +msgstr "Salajast võtit pole võimalik genereerida" + +msgid "Create" +msgstr "Loo" + +msgid "Private key" +msgstr "Salajane võti" + +msgid "Used to request a certificate" +msgstr "Kasutati sertifikaadi pärimiseks" + +msgid "Create a new private key" +msgstr "Uue salajase võtme loomine" + +msgid "Label:" +msgstr "Pealdis:" + +msgid "Stored at:" +msgstr "Salvestatud kohas:" + +msgid "I understand that this key will be permanently deleted." +msgstr "Ma mõistan, et see võti kustutatakse jäädavalt." + +msgid "Unnamed" +msgstr "Nimetu" + +msgid "Failed to export certificate" +msgstr "Sertifikaadi eksportimine nurjus" + +msgid "Couldn't delete" +msgstr "Pole võimalik kustutada" + +msgid "_Export" +msgstr "_Ekspordi" + +msgid "Export the certificate" +msgstr "Sertifikaadi eksportimine" + +msgid "Delete this certificate or key" +msgstr "Selle sertifikaadi või võtme kustutamine" + +msgid "Request _Certificate" +msgstr "_Sertifikaadi pärimine" + +msgid "Create a certificate request file for this key" +msgstr "Selle võtme jaoks sertifikaatipäringu loomine" + +msgid "Couldn't create certificate request" +msgstr "Sertifikaadi päringut polnud võimalik luua" + +msgid "Save certificate request" +msgstr "Sertifikaadipäringu salvestamine" + +msgid "Certificate request" +msgstr "Sertifikaadi päring" + +msgid "PEM encoded request" +msgstr "PEM-kodeeringus päring" + +msgid "Couldn't save certificate request" +msgstr "Sertifikaadipäringut polnud võimalik salvestada" + +msgid "Create a certificate request file." +msgstr "Sertifikaadipäringu faili loomine." + +msgid "The common name (CN) placed in the certificate request." +msgstr "Sellesse sertifikaadipäringusse asetatud CN-nimi (common name)." + +msgid "Name (CN):" +msgstr "Nimi (CN):" + +msgid "Unnamed private key" +msgstr "Nimetu salajane võti" + +msgctxt "Label" +msgid "Unknown" +msgstr "Tundmatu" + +msgid "Change Passphrase" +msgstr "Parooli muutmine" + +msgid "New _Passphrase:" +msgstr "Uus _parool:" + +msgid "Confirm new passphrase" +msgstr "Uue parooli kinnitus" + +msgid "Con_firm Passphrase:" +msgstr "Parooli _kinnitus:" + +msgid "Continue" +msgstr "Jätka" + +msgid "_Select the type of item to create:" +msgstr "_Vali loodava elemendi liik:" + +msgid "Import failed" +msgstr "Importimine nurjus" + +msgid "Import" +msgstr "Impordi" + +msgid "Data to be imported:" +msgstr "Imporditavad andmed:" + +msgid "Import Key" +msgstr "Võtme importimine" + +msgid "All key files" +msgstr "Kõik võtmefailid" + +msgid "Dropped text" +msgstr "Siia lohistatud tekst" + +msgid "Clipboard text" +msgstr "Lõikepuhvri tekst" + +msgid "_New" +msgstr "_Uus" + +msgid "Close this program" +msgstr "Programmi sulgemine" + +msgid "_New..." +msgstr "_Uus..." + +msgid "Create a new key or item" +msgstr "Uue võtme või kirje loomine" + +msgid "Add a new key or item" +msgstr "Uue võtme või kirje lisamine" + +msgid "_Import..." +msgstr "_Impordi..." + +msgid "Import from a file" +msgstr "Võtmete importimine failist" + +msgid "Import from the clipboard" +msgstr "Võtmete importimine lõikepuhvrist" + +msgid "By _Keyring" +msgstr "_Võtmerõnga järgi" + +msgid "Show sidebar listing keyrings" +msgstr "Külgribal võtmerõngaste loetelu kuvamine" + +msgid "Show _Personal" +msgstr "Näidatakse _isiklikke" + +msgid "Only show personal keys, certificates and passwords" +msgstr "Näidatakse ainult isiklikke võtmeid, sertifikaate ja paroole" + +msgid "Show _Trusted" +msgstr "Näidatakse _usaldusväärseid" + +msgid "Only show trusted keys, certificates and passwords" +msgstr "Näidatakse ainult usaldusväärseid võtmeid, sertifikaate ja paroole" + +msgid "Show _Any" +msgstr "Näidatakse _kõiki" + +msgid "Show all keys, certificates and passwords" +msgstr "Näidatakse kõiki võtmeid, sertifikaate ja paroole" + +msgid "Filter" +msgstr "Filter" + +msgid "First time options:" +msgstr "Esimese kasutuse valikud:" + +msgid "Generate a new key of your own: " +msgstr "Omale uue võtme loomine:" + +msgid "Import existing keys from a file:" +msgstr "Olemasolevate võtmete importimine failist:" + +msgid "To get started with encryption you will need keys." +msgstr "Krüptimise jaoks on sul kõigepealt tarvis võtmeid." + +msgid "Couldn't lock" +msgstr "Pole võimalik lukustada" + +msgid "Couldn't unlock" +msgstr "Pole võimalik lukust lahti võtta" + +msgid "_Lock" +msgstr "_Lukusta" + +msgid "_Unlock" +msgstr "_Võta lukust lahti" + +msgid "_Properties" +msgstr "_Omadused" + +msgid "Configure Key for _Secure Shell..." +msgstr "_Secure Shell'i võtme seadistamine..." + +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"Secure Shell'i võtme saatmine teise masinasse ja selle võtme abil " +"sisselogimise lubamine." + +msgid "Enter your Secure Shell passphrase:" +msgstr "Sisesta oma Secure Shell'i parool" + +msgid "Old Key Passphrase" +msgstr "Võtme vana parool" + +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Sisesta vana parool järgnevale võtmele: %s" + +msgid "New Key Passphrase" +msgstr "Uue võtme parool" + +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Sisesta uus parool järgnevale võtmele: %s" + +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Sisesta uuesti uus parool: %s" + +msgid "Secure Shell" +msgstr "Secure shell (SSH)" + +msgid "Keys used to connect securely to other computers" +msgstr "Kasutatakse turvaliseks teistesse arvutitesse ühendumiseks" + +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "Kas sa soovid SSH-võtme '%s' kustutada?" + +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "Kas sa soovid %d SSH-võtme kustutada?" +msgstr[1] "Kas sa soovid %d SSH-võtit kustutada?" + +msgid "SSH Key" +msgstr "SSH võti" + +msgid "Secret SSH keys" +msgstr "Salajased SSH võtmed" + +msgid "Public SSH keys" +msgstr "Avalikud SSH võtmed" + +msgid "No public key file is available for this key." +msgstr "Selle võtme jaoks pole ühtegi salajase võtme faili saadaval." + +msgid "Secure Shell Key" +msgstr "Secure shell'i võti" + +msgid "Used to access other computers (eg: via a terminal)" +msgstr "Teistele arvutitele ligipääsuks (näiteks terminali kaudu)" + +msgid "Couldn't generate Secure Shell key" +msgstr "Secure Shell'i võtit pole võimalik luua" + +msgid "Creating Secure Shell Key" +msgstr "Secure Shell'i võtme loomine" + +msgid "New Secure Shell Key" +msgstr "Uus Secure Shell'i võti" + +msgid "_Just Create Key" +msgstr "Loo ainult _võti" + +msgid "_Create and Set Up" +msgstr "L_oo võti ja säti paika" + +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Secure Shell'i (SSH) võti võimaldab sul SSH abil turvaliselt ühenduda " +"teistesse arvutitesse." + +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Sisesta siia näiteks oma e-posti aadress või mõni muu meeldetuletus, mis " +"aitab võtme otstarvet meeles pidada." + +msgid "DSA" +msgstr "DSA" + +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Kui sa soovid mõnes arvutis seda võtit kasutada, siis on võimalik panna see " +"arvuti sinu uut võtit ära tundma." + +msgid "(Unreadable Secure Shell Key)" +msgstr "(Loetamatu Secure Shell'i võti)" + +msgid "Personal SSH key" +msgstr "Isiklik SSH võti" + +msgid "SSH key" +msgstr "SSH võti" + +msgid "Couldn't rename key." +msgstr "Võtit pole võimalik ümber nimetada." + +msgid "Couldn't change authorization for key." +msgstr "Võtme autoriseerimist pole võimalik muuta." + +msgid "Couldn't change passphrase for key." +msgstr "Võtme parooli pole võimalik muuta." + +msgid "Identifier:" +msgstr "Identifikaator:" + +#. Name of key, often a persons name +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "Nimi:" + +msgid "Used to connect to other computers." +msgstr "Kasutatakse teistesse arvutitesse ühendumiseks." + +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "Selle võtme omanik on _volitatud sellesse arvutisse ühenduma" + +#, no-c-format +msgid "This only applies to the %s account." +msgstr "See rakendub ainult kontole %s." + +msgid "Algorithm:" +msgstr "Algoritm:" + +msgid "Location:" +msgstr "Asukoht:" + +msgid "E_xport Complete Key" +msgstr "_Ekspordi kogu võti" + +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH käsk katkestas ootamatult." + +msgid "The SSH command failed." +msgstr "Tõrge SSH käsu täitmisel." + +msgid "Remote Host Password" +msgstr "Kaugmasina parool" + +msgid "Enter Key Passphrase" +msgstr "Võtme parooli sisestamine" + +msgid "Passphrase for New Secure Shell Key" +msgstr "Parool uuele Secure Shelli võtmele" + +#, c-format +msgid "Importing key: %s" +msgstr "Võtme importimine: %s" + +msgid "Importing key. Enter passphrase" +msgstr "Võtme importimine. Sisesta parool" + +msgid "OpenSSH keys" +msgstr "OpenSSH võtmed" + +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +msgid "No private key file is available for this key." +msgstr "Selle võtme jaoks pole salajase võtme faili saadaval." + +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "Secure Shell'i võtit pole võimalik võrguarvuti jaoks seadistama." + +msgid "Configuring Secure Shell Keys..." +msgstr "Secure Shell'i võtmete seadistamine..." + +msgid "Set Up Computer for SSH Connection" +msgstr "SSH ühendusele arvuti määramine" + +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Secure Shell'i võtme kasutamisel võrguarvutisse SSH-ga\n" +"sisselogimiseks peab sul olema selles arvutis konto." + +msgid "eg: fileserver.example.com:port" +msgstr "näiteks: failiserver.example.com:port" + +msgid "_Server address:" +msgstr "_Serveri aadress:" + +msgid "_Login name:" +msgstr "_Kasutajanimi:" + +msgid "_Set Up" +msgstr "_Määra" + +#~ msgid "Ssh Key" +#~ msgstr "SSH võti" + +#~ msgid "Updating password" +#~ msgstr "Parooli uuendamine" + +#~ msgid "Keyring Properties" +#~ msgstr "Võtmerõnga omadused" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%d. %m %Y" + +#~ msgid "_Computer Name:" +#~ msgstr "_Arvuti nimi:" + +#~ msgid "Password:" +#~ msgstr "Parool:" + +#~ msgid "Key Servers:" +#~ msgstr "Võtmeserverid:" + +#~ msgid "Never" +#~ msgstr "Mitte kunagi" + +#~ msgid "Key ID:" +#~ msgstr "Võtme ID:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nimi:" + +#~ msgid "Comment:" +#~ msgstr "Kommentaar:" + +#~ msgid "Use:" +#~ msgstr "Kasutus:" + +#~ msgid "Type:" +#~ msgstr "Liik:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "Võtme nimed ja allkirjad" + +#~ msgid "Dates" +#~ msgstr "Kuupäevad" + +#~ msgid "Dates:" +#~ msgstr "Kuupäevad:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Nimi:" + +#~ msgid "Trust" +#~ msgstr "Usaldus" + +#~ msgid "Strength:" +#~ msgstr "Tugevus:" diff --git a/po/eu.po b/po/eu.po new file mode 100644 index 00000000..f4a25e75 --- /dev/null +++ b/po/eu.po @@ -0,0 +1,2754 @@ +# Basque translation for Seahorse. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Iñaki Larrañaga Murgoitio , 2008, 2009, 2010, 2011, 2012. +# Iñaki Larrañaga Murgoitio , 2013, 2014, 2015, 2016, 2017. +# Asier Sarasua Garmendia , 2019, 2020. +msgid "" +msgstr "Project-Id-Version: seahorse master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-08-28 10:00+0100\n" +"Last-Translator: Asier Sarasua Garmendia \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: OmegaT 4.1.5\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Gehitu gako-zerbitzaria" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Pertsonalizatua" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Utzi" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Gorde" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Ezin da ezabatu" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Ezin izan dira gakoak esportatu" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Ezin izan dira datuak esportatu" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Utzi" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "Ez_abatu" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Esportatu" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Idatzi honen PIN edo pasahitza: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Berretsi:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Ados" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Pasahitza:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Pasahitzak" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Gakoak" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Ziurtagiriak" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Hobespenak" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Bat ere ez: ez argitaratu gakorik" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Gako-zerbitzariaren helbidea ez da baliozkoa." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "Laguntza eskuratzeko, jarri harremanetan sistema-administratzailearekin edo gako-zerbitzariaren administratzailearekin." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URLa" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "hasierako aldi baterako elementua" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Gako-zerbitzari mota:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Ostalaria:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Zerbitzariaren ostalari-izena edo helbidea." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Zerbitzaria atzitzeko ataka." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Bilatu gakoak honen bidez:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Argitaratu gakoak hemen:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Automatikoki eskuratu _gakoak gako-zerbitzarietatik" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Automatikoki sinkronizatu _aldatutako gakoak gako-zerbitzariekin" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Gako-zerbitzariak" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Ezezaguna" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Inoiz ere ez" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Marjinala" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Osoa" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Azkena" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Desgaituta" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Errebokatuta" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Aurkezpen orokorra" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Laguntza" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Ireki menua" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Sortu elementu berria" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Inportatu elementua fitxategitik" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Bilatu" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Lasterbideen zerrenda" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Irten" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Nabigazioa" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Hautatu aurreko gako sorta" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Hautatu hurrengo gako sorta" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Erakutsi alboko barra (pantaila txikietan)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Erakutsi gako sortaren edukiak (pantaila txikietan)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Berreskuratu gakoak automatikoki" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Gakoak gako-zerbitzarietatik automatikoki eskuratu behar diren ala ez adierazten du." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Argitaratu gakoak automatikoki" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Aldatutako gakoak automatikoki argitaratu behar diren ala ez." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Argitaratu gakoak gako-zerbitzari honetan" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "PGP gakoak gako-zerbitzari horretan argitaratzen dira. Hutsik uzten da PGP gakoak ez argitaratzeko." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Azken gako-zerbitzariaren bilaketa-eredua" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Gako-zerbitzari batean bilatzeko erabili den azken bilaketa-eredua." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Erabilitako azken gako-zerbitzaria" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "Bilaketa bat egiteko erabili den azken gako-zerbitzaria, edo hutsik gako-zerbitzari guztientzat." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Erakutsi gako sorten alboko barra" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Erakutsi gako sorten alboko barra Seahorse-n." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Zein elementu erakutsiko diren" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "Iragazi zein elementu erakutsiko den. Hutsik badago, elementu guztiak erakutsiko dira; \"pertsonala\" bada, gako pertsonalak erakutsiko dira; \"fidagarria\" bada, fidagarriak direnak erakutsiko dira." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Alboko panelaren zabalera" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Alboko panelaren zabalera lehenetsia." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Hautatutako gako sortak" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Alboko barran aukeratu diren gako sorten URIak." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Seahorse-n gakoak zutabe horren arabera ordenatzen dira" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "Adierazi zein zutaberen arabera ordenatu behar den Seahorse gako-kudeatzailearen leiho nagusia. Honakoak dira zutabeak: Izena, IDa, Baliozkotasuna, Iraungitze-data, Fidagarritasuna eta Mota. Jarri '-' zutabe-izenaren aurrean beherantz ordenatzeko." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Erakutsi Baliozkotasuna zutabea" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Jadanik ez da erabiltzen." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Erakutsi Iraungitze-dataren zutabea" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Erakutsi fidagarritasunaren zutabea" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Erakutsi motaren zutabea" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Leihoaren zabalera" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Leihoaren zabalera (pixeletan)." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Leihoaren altuera" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Leihoaren altuera (pixeletan)." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Kudeatu pasahitzak eta zifratze-gakoak" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse zifratutako gakoak kudeatzeko aplikazio bat da GNOME mahaigainerako." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "Seahorse-rekin PGP eta SSH gakoak sor eta kudea ditzakezu, gako-zerbitzarietatik gakoak eskuratu eta argitara ditzakezu. Zure pasaesaldia gorde zuk hura berriro ez idazteko eta zure gako eta gako-sorten babeskopia egiten du." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "GNOME proiektua" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Pasahitzak eta Gakoak" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "gako sorta;zifratzea;segurtasuna;sinadura;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Gorde pasahitz, kredentzial eta ezkutuko pertsonalak" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Ezin izan da desblokeatu" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Ezin izan da elementua gehitu" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Pasahitza edo ezkutukoa" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Sareko konexioaren ezkutukoa" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Haririk gabekoaren pasahitza" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Sareko pasahitza" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "GNOME Web-en pasahitza" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Google Chrome-ren pasahitza" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Berehalako mezularitzaren pasahitza" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "BM-ko kontuaren pasahitza " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Telepathy-ren pasahitza" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "GNOMEren lineako kontuen pasahitza" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Gorde elementu honen aldaketak?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Atzitu sare partekatua edo baliabidea" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Atzitu webgunea" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "PGP gakoa desblokeatzen du" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Shell seguruko gakoa desblokeatzen du" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Gordetako pasahitza edo erabiltzaile-izena" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Sareko kredentzialak" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Pasahitza" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Ezin izan da pasahitza aldatu." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Ezin izan da azalpena ezarri." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Errorea pasahitza ezabatzean." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Gordetako oharra" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Gako sortaren pasahitza" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Zifratze-gakoaren pasahitza" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Gakoen biltegiaren pasahitza" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Sareko kudeatzailearen ezkutukoa" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Ziur zaude “%s” pasahitza ezabatu nahi duzula?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Ziur zaude pasahitz %d ezabatu nahi duzula?" +msgstr[1] "Ziur zaude %d pasahitz ezabatu nahi dituzula?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Ezin izan da gako sorta gehitu" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Data ezezaguna" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Saioa hastean automatikoki desblokeatzen den gako sorta" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Pasahitzak gordetzeko erabiltzen den gako sorta" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Ezin izan da gako sorta lehenetsia ezarri" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Ezin izan da gako sortaren pasahitza aldatu" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "Ezarri _lehenetsi gisa" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Aldatu _pasahitza" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Ziur zaude pasahitzen “%s” gako sorta ezabatu nahi duzula?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Ulertzen dut elementu guztiak betirako ezabatuko direla." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Erakutsi/ezkutatu pasahitza" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Gehitu pasahitza" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Gako sorta:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Azalpena:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Pasahitza:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Gehitu" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Gehitu pasahitzen gako sorta" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "Aukeratu gako sorta berriaren izena. Desblokeatze-pasahitz bat eskatuko zaizu." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Gako sorta berriaren izena:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Elementuaren propietateak" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Azalpena" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Kopiatu" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Erabili" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Mota" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Zerbitzaria" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Saio-hasiera" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Xehetasunak" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Ezabatu pasahitza" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Gako sortaren propietateak" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Izena" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Sortze-data" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Aldatu pasahitza" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Ezarri lehenetsi gisa" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Bistaratu banderak" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Bistaratutako data edo/eta orduaren propietateak" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Modu alferra" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Modu alferrak ez ditu sartutako dataren eta orduaren balioak normalizatzen" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Urtea" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Bistaratutako urtea" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Hila" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Bistaratutako hilabetea" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Eguna" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Bistaratutako hilabeteko eguna" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Ordua" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Bistaratutako ordua" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minutua" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Bistaratutako minutua" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Bigarrena" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Bistaratutako segundoa" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Urtearen behe-muga" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Dataren behe-mugan urteari dagokion zatia" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Urtearen goi-muga" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Dataren goi-mugan urteari dagokion zatia" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Hilabetearen behe-muga" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Dataren behe-mugan hilabeteari dagokion zatia" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Hilabetearen goi-muga" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Dataren goi-mugan hilabeteari dagokion zatia" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Egunaren behe-muga" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Dataren behe-mugan hilabeteko egunari dagokion zatia" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Egunaren goi-muga" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Dataren goi-mugan hilabeteko egunari dagokion zatia" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Orduaren behe-muga" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Orduaren behe-mugan orduari dagokion zatia" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Orduaren goi-muga" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Orduaren goi-mugan orduari dagokion zatia" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Minutuaren behe-muga" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Orduaren behe-mugan minutuari dagokion zatia" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Minutuaren goi-muga" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Orduaren goi-mugan minutuari dagokion zatia" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Segundoaren behe-muga" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Orduaren behe-mugan segundoari dagokion zatia" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Segundoaren goi-muga" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Orduaren goi-mugan segundoari dagokion zatia" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Data" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Sartu data zuzenean" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Hautatu data" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Hautatu data egutegitik" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Ordua" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Sartu ordua zuzenean" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Hautatu ordua" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Hautatu ordua zerrendatik" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: ez" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Ezin izan da laguntza erakutsi: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Gehitu azpigakoa %s(r)i" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (sinatzeko soilik)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (zifratzeko soilik)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (sinatzeko soilik)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (zifratzeko soilik)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Gako _mota" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Gakoaren _luzera" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Gakoaren luzera" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Iraungitze-data" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Ez da _iraungitzen" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Gakoa inoiz ere iraungitzen ez bada" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Sortu azpigako berri bat" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Gehitu erabiltzailearen IDa %s(r)i" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Ezin izan da erabiltzailearen IDa gehitu" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Gehitu erabiltzailearen IDa" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_Izen-abizenak" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Gutxienez 5 karaktere izan behar ditu" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_Helbide elektronikoa" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Aukerako helbide elektronikoa" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Gakoaren _iruzkina" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Gakoa deskribatzeko aukerako iruzkina" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Sortu erabiltzailearen ID berria" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Deszifratzeak huts egin du. Ziur aski deszifratzeko gakoa falta duzu." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Eragiketa bertan behera utzi da" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Iraungitze-data baliogabea" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Iraungitze-data etorkizunean izan behar du" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Ezin izan da iraungitze-data aldatu" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Iraungitzea: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Ez da iraungitzen" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Aldatu" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Gako anizkoitzak" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Gakoaren datuak" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "PGP gako blindatuak" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP gakoak" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Ezin izan da PGP gakoa sortu" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "PGP gako berriaren pasaesaldia" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Idatzi gako berriaren pasaesaldia bi bider." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "Gako bat sortzean ausazko datu ugari sortu behar dira\n" +"eta hori egiteko behar zaitugu. Burutazio ona da\n" +"edozein motako ekintzak lantzea, adibidez teklatuan\n" +"zerbait idaztea, sagua mugitzea edo aplikazioak erabiltzea.\n" +"Ekintza hauek sistemari behar dituen ausazko datuak\n" +"ematen dizkio." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Gakoa sortzea" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Izenak gutxienez 5 karaktere izan behar ditu." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "PGP gako berria" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "Besteen mezuak edo fitxategiak zifratzeko aukera ematen dute PGP gakoek." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Gako-aukera _aurreratuak" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "I_ruzkina" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Zifratze _mota" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "Gakoaren _indarra (bitetan)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "I_raungitze-data" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "_Ez da iraungitzen" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "_Sortu" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Sortu gako berri bat" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Ziur zaude %s behin betiko ezabatu nahi duzula?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Ziur zaude %d gako behin betiko ezabatu nahi dituzula?" +msgstr[1] "Ziur zaude %d gako behin betiko ezabatu nahi dituzula?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Pasahitza ez da zuzena" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Okerreko pasahitza sartu duzun hirugarren aldia da unekoa. Saiatu berriro." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Pasaesaldi okerra." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Idatzi “%s”(r)en pasaesaldi berria" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Idatzi “%s”(r)en pasaesaldia" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Idatzi pasaesaldi berria" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Idatzi pasaesaldia" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Pasaesaldia" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Gako %d kargatu da" +msgstr[1] "%d gako kargatu dira" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "Gako-datu baliogabeak (UIDak falta dira). Litekeena da ordenagailu baten data etorkizunekoa izatea, edo autosinadura bat falta izatea." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG gakoak" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: gako sortaren direktorio lehenetsia" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "Argazkia handiegia da.\n" +"Zure gakoan jartzeko gomendatzen den tamaina %d × %d pixelekoa da." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Ez aldatu tamaina" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Aldatu tamaina" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "Hori ez da irudi-fitxategi bat, edo irudi-fitxategi mota ezezaguna da. Saiatu JPEG irudi bat erabiltzen." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Irudi-fitxategi guztiak" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "JPEG fitxategi guztiak" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Fitxategi denak" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Aukeratu gakoari gehitzeko argazkia" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Ireki" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Ezin izan da argazkia prestatu" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Ezin izan da argazkia gehitu" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Ezin izan da fitxategia kargatu. Litekeena da formatua baliogabea izatea" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Ziur zaude uneko argazkia gakotik kendu nahi duzula?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Ezin izan da argazkia ezabatu" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Ezin izan da azpigakoa errebokatu" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Errebokatu: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Ez dago arrazoirik" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Ez dago gakoa errebokatzeko arrazoirik" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Arriskuan jarrita" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Gakoa arriskuan jarrita dago" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Ordeztua" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Gakoa ordeztua izan da" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Erabili gabea" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Gakoa ez da gehiago erabiliko" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "%s %s(r)en errebokatzaile gisa gehitzera zoaz, eta eragiketa hori ezin da desegin. Ziur zaude jarraitu nahi duzula?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Ezin izan da errebokatzailea gehitu" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Ulertzen dut ezkutuko gako hau betirako ezabatuko dela." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "Gako hau jadanik honek sinatu du\n" +"”%s”" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Ezin izan da gakoa sinatu" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Ez dago sinatzeko gako erabilgarririk" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "Gako honen fidagarritasuna adierazteko erabil daitekeen PGP gako pertsonalik ez duzu." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Sinatu gakoa" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Sinatzean adierazten duzu fidatzen zarela gako hori honena dela:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Gako-izena" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Nola egiaztatu duzu gako hori?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Inola ere ez" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Azaletik" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Kontu handiz" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "Inola ere ez: gakoa haren jabea omen denarena dela uste duzu, baina ezin izan duzu edo ez duzu hori egiaztatu." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "Azaletik: gako horren jabea omen dena hala dela azaletik egiaztatu duzula adierazten du. Adibidez, gakoaren hatz-marka irakurri diozu jabeari telefonoz." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "Kontu handiz: hautatu hau soilik gako hori benetakoa dela erabat ziur bazaude." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "Faltsutzen zaila den argazki-identifikazioa erabil dezakezu (pasaportea, kasu) gakoko izena zuzena dela pertsonalki egiaztatzeko. Posta elektronikoa ere erabili beharko zenuke helbide elektronikoa jabearena dela egiaztatzeko." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Sinadura hori besteek nola ikusiko duten:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Litekeena da besteek sinadura hau ez ikustea" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Geroago _erreboka dezaket sinadura hau." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Sinatu gakoa honela:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Sinatzailea:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Sinatu" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Ezezaguna" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "Bilaketa ez da nahiko zehatza. ”%s” zerbitzariak gako gehiegi aurkitu ditu." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Ezin izan da ”%s” zerbitzariarekin komunikatu: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP gako-zerbitzaria" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Ezin izan da gakoa inportatu: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Gakoa ongi inportatu da" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Inportatu" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Ezin da gakoa inportatu" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Urruneko gakoak" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "”%s” duten urruneko gakoak" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Gakoen bilaketak huts egin du." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "Egin klik bikoitza gako batean hura ikuskatzeko, edo egin klik inportatzeko botoian hura zure gako sorta lokalera inportatzeko." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Bilatu urruneko gakoak" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "Horrek besteen gakoak bilatuko ditu Interneten. Gako horiek gako sorta lokalera inporta daitezke." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Bilatu hau duten gakoak: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Non bilatu:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Gako-zerbitzariak:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Nire inguruko gako partekatuak:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Bilatu" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Ezin izan dira gakoak zerbitzarian argitaratu" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Ezin izan dira gakoak zerbitzaritik eskuratu: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "gako %d hautatu da sinkronizatzeko" +msgstr[1] "%d gako hautatu dira sinkronizatzeko" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Gakoak sinkronizatzen…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Gakoak sinkronizatzea" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "Zure gako sortako gakoak argitaratzen ditu horrek, beste erabiltzaileentzat erabilgarri egon daitezen. Besteen gakoak jaso zenituenetik haietan izandako aldaketak ere jasotzen ditu." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "Besteen gakoak jaso zenituenetik haietan egindako aldaketak eskuratzen ditu horrek. Ez da argitaratzeko gako-zerbitzaririk hautatu, beraz, zure gakoak ez dira besteentzat erabilgarri egongo." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Gako-zerbitzariak" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Sinkronizatu" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Ezin izan da ”%s”(r)ekin komunikatu: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Hona konektatzea: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Ezin izan da helbidea ebatzi: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Zerbitzariaren helbidea ebaztea: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP gako-zerbitzaria" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP gakoak" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP gakoak mezu elektronikoak eta fitxategiak zifratzeko erabiltzen dira" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(eta beste %d)" +msgstr[1] "(eta beste %d)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "PGP gako pertsonalak" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP gakoa" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Ezin izan da erabiltzailearen ID nagusia aldatu" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Ziur zaude ”%s” erabiltzailearen IDa behin betiko ezabatu nahi duzula?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Ezin izan da erabiltzailearen IDa ezabatu" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Ezezaguna]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Izena/Helbide elektronikoa" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Sinaduraren IDa" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Ezin izan da argazki nagusia aldatu" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Errorea pasahitza aldatzean" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(ezezaguna)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Gako hori data honetan iraungi zen: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Gako publikoa" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Gako pribatua" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Ziur zaude %2$s(r)en %1$d azpigakoa behin betiko ezabatu nahi duzula?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Ezin izan da azpigakoa ezabatu" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Ezin izan da fidagarritasuna aldatu" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Ezin izan da gakoa esportatu" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Inoiz ere ez" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "IDa" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Erabilera" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Sortuta" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Iraungitze-data" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Egoera" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Indarra" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Errebokatuta" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Iraungita" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Desgaituta" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Ona" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Gakoaren IDa" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "”%s”(r)en beste gako batzuen sinaduretan fidatzen naiz" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "Gako honen jabea ”%s” dela uste baduzu, sinatu gakoa:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "Ez bazara fidatzen gako honen jabea ”%s” dela, errebokatu zure sinadura:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Esportatu ez_kutuko gakoa" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Esportatu gako _publikoa" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Gako hori errebokatu egin da" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Gakoaren jabeak gakoa errebokatu du. Ezin da gehiago erabili." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Gako hori iraungi egin da" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Gehitu argazki bat gako horri" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Kendu argazkia gako honetatik" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Bihurtu argazki hau argazki nagusi" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Joan aurreko argazkira" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Joan hurrengo argazkira" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Iruzkina" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Aldatu _pasaesaldia" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Jabea" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Gakoaren izenak eta sinadurak" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Nagusia" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Sinatu" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Ezabatu" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Gehitu izena" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Errebokatu" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Izenak eta sinadurak" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Gakoaren IDa:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Mota:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Indarra:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Xehetasun teknikoak" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Hatz-marka" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Sortua:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Iraungitze-data:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Datak" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Jaramonik ez egin jabearen _fidagarritasunari:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Esportatu fitxategira" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Ekintzak" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Iraungi" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Azpigakoak" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Marjinala" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Osoa" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Azkena" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Beste izen batzuk:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Gako horrek zure ustez duen fidagarritasuna" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Zure fidagarritasuna eskuz adierazten da Xehetasunak fitxan." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Sinatu gako hau" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Errebokatu sinadura" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Gako hori sinatu duen jendea:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Soilik bistaratu nik fidagarritzat jotako sinadurak" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Fidagarritasuna" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Xehetasun teknikoak:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Hatz-marka:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Datak:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Adierazi fidagarritasuna:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Jabeaz _fidatzen zara:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Zifratu" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Ziurtatu" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Autentifikatu" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Gakoa" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "%2$s(r)en %1$d azpigakoa" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Gakoa errebokatzeko arrazoia" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Arrazoia:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Errebokatzearen aukerako azalpena" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Errebokatu gakoa" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Erre_bokatu" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "Ez duzu dokumentu edo mezu bat sinatzeko erabil daitekeen PGP gako pertsonalik." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Hautatu sinatzeko gakoa" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Sinatu mezua gako honekin:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Datuak esportatzen" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Datuak eskuratzen" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Datuak inportatzen" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Datuak bidaltzen" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Ez dago erabilgarri" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Ziurtagiria" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Ziurtagiriak (DERekin kodetuta)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Ziurtagiri eta gako pertsonala" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Ziurtagiri pertsonala" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Ziur zaude ziurtagiri %d betirako ezabatu nahi dituzula?" +msgstr[1] "Ziur zaude %d ziurtagiri betirako ezabatu nahi dituzula?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Ezin izan da gako pribatua sortu" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Ulertzen dut gako hau betirako ezabatuko dela." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Izenik gabeko gako pribatua" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Gako pribatua" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Izengabea" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Huts egin du ziurtagiria esportatzean" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Ezin izan da ezabatu" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Sorrera" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Ezin izan da ziurtagiriaren eskaera sortu" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Gorde ziurtagiriaren eskaera" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Gorde" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Ziurtagiriaren eskaera" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM-rekin kodetutako eskaera" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Ezin izan da ziurtagiriaren eskaera gorde" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Ezezaguna" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509 ziurtagiriak eta dagokien gakoak" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Gako pribatu berria" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Sortu gako pribatu berria" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Etiketa:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Hemen gordeta:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Gako _mota:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "Gakoaren _indarra (bitetan):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Ezabatu ziurtagiri edo gako hau" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Esportatu ziurtagiria" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Eskatu ziurtagiria" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Sortu ziurtagiriaren eskatzeko fitxategi bat gako honentzako." + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Sortu ziurtagiriaren eskaerarako fitxategia." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Ziurtagiriaren eskaeran egongo den izen arrunta (CN)." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Izena (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Ekarpenak:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Aplikazio honen bertsioa" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "translator-credits" + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Seahorse proiektuaren etxeko orria" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Inportatuko diren datuak" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Inportatu" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Huts egin du inportatzeak" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Inportatu gakoa" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Gako-fitxategi guztiak" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Jaregindako testua" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Arbeleko testua" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Ezin izan da gako sortu desblokeatu" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Aldatu pasaesaldia" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "_Pasaesaldi berria:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Berretsi pasaesaldi berria" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Be_rretsi pasaesaldia:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Aurkitu urruneko gakoak…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Sinkronizatu eta argitaratu gakoak…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Hobespenak" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Laguntza" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "Las_ter-teklak" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "Pasahitzak eta Gakoak aplikazioari _buruz" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Iragazi elementuak:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Erakutsi p_ertsonala" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Erakutsi _fidagarria" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Erakutsi e_dozein" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Shell seguruko gakoa" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Beste ordenagailu batzuk atzitzeko erabilia" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG gakoa" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Posta elektronikoak eta fitxategiak zifratzeko erabilia" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Pasahitzen gako sorta" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Aplikazio eta sareko pasahitzak gordetzeko erabiltzen da" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Gorde modu seguruan pasahitz edo ezkutuko bat." + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Ziurtagiria eskatzeko erabilita" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Inportatu fitxategitik…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Gehitu gako edo elementu berria" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Atzera" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Bilatu gako edo pasahitz bat" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Iragazi" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Bilduma hau hutsi dagoela dirudi" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Gako sorta blokeatuta dago" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Desblokeatu" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Kopiatu ezkutukoa" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Esportatu…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Propietateak" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Konfiguratu gakoa Shell segururako…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Blokeatu" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Desblokeatu" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Propietateak" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Ezin izan da blokeatu" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Shell segurua" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Beste ordenagailuekin konektatzeko erabilitako gako seguruak." + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Ziur zaude Shell seguruko ”%s” gakoa ezabatu nahi duzula?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Ziur zaude Shell seguruko gako %u ezabatu nahi duzula?" +msgstr[1] "Ziur zaude Shell seguruko %u gako ezabatu nahi dituzula?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Ezkutuko SSH gakoak" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "SSH gako publikoak" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH gakoa" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Ez dago gako publikoaren fitxategirik erabilgarri gako honentzako." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Ezin izan da kargatu sortu berri den Shell seguruko gakoa" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Ezin izan da Shell seguruko gakoa sortu" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Shell seguruko gakoa sortzea" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "8 bit" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bit" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Gako mota ezezaguna!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Mota ezezaguna" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Ezin izan da gakoaren izena aldatu." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Ezin izan da gakoaren baimena aldatu." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Ezin izan da gakoaren pasaesaldia aldatu." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Errorea SSH gakoa ezabatzean." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "SSH gako pertsonalak" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH gakoa" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Shell seguruko gako irakurtezina)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Shell seguruko gakoa" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Urruneko ostalariaren pasahitza" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Idatzi gakoaren pasaesaldia" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Shell seguruko gako berriaren pasaesaldia" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Gakoa inportatzea: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Gakoa inportatzea. Idatzi pasaesaldia" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Idatzi Shell seguruko pasaesaldia:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Gakoaren pasaesaldi zaharra" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Idatzi honen pasaesaldi zaharra: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Gakoaren pasaesaldi berria" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Idatzi honen pasaesaldi berria: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Idatzi pasaesaldi berria berriro: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Shell seguruko gako berria" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "Shell seguruko (SSH) gakoak beste ordenagailuekin era seguruan konektatzea baimentzen dizu." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Azalpena" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Zure helbide elektronikoa, edo beste edozein oroigarri, gako hori zertarako den jakiteko." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "Gako hori ordenagailu batean erabili nahi baduzu, zure gako berria ezagutzeko konfigura dezakezu ordenagailu hori." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Soilik gakoa sortu" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Sortu eta konfiguratu" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH gako-propietateak" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Izena" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritmoa" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Gakoaren luzera" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Kokalekua" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Gako publikoa" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Kopiatu gako publikoa arbelean" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Urreneko sarbidea" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Ordenagailu hau urrunetik atzitzea ahalbidetzen du" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Esportatu" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "Ezabatu _SSH gakoa" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Konfiguratu ordenagailua SSH konexioak egiteko" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "Shell seguruko gakoa SSH erabiltzen duen beste ordenagailu batean erabiltzeko, beharrezkoa da aurretik kontu bat izatea ordenagailu horretan." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Zerbitzariaren helbidea:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "adib. fitxategizerbitzaria.adibidea.com:ataka" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Erabiltzaile-izena:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Konfigurazioa" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH gakoak" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Ez dago gako pribatuaren fitxategirik erabilgarri gako honentzako." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Ezin izan dira konfiguratu Shell seguruko gakoak urruneko ordenagailuan." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Shell seguruko gakoak konfiguratzen…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse zifratutako gakoak kudeatzeko aplikazio bat da GNOME " +#~ "mahaigainerako. Nautilus, gedit eta zifratze-eragiketen beste lekuekin " +#~ "bateragarria da." + +#~ msgid "Keyring is unlocked" +#~ msgstr "Gako sorta desblokeatuta dago" + +#~ msgid "Lock" +#~ msgstr "Blokeatu" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Ezin da azpigakoa gehitu" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Konbinatu gako sorta guztiak" + +#~ msgid "Encryption _Type:" +#~ msgstr "Zifratze _mota:" diff --git a/po/fa.po b/po/fa.po new file mode 100644 index 00000000..57f26167 --- /dev/null +++ b/po/fa.po @@ -0,0 +1,2776 @@ +# Persian translation for seahorse. +# Copyright (C) 2019 seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# Danial Behzadi , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-08-25 16:18+0000\n" +"Last-Translator: Danial Behzadi \n" +"Language-Team: Persian \n" +"Language: fa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 2.4.1\n" +"X-DamnedLies-Scope: partial\n" +"X-Poedit-Bookmarks: -1,38,-1,-1,-1,-1,-1,-1,-1,-1\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "افزودن کارساز کلید" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "سفارشی" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "لغو" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "ذخیره" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "نمی‌شود حذف کرد" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "نتوانست کلیدها را برون‌ریزی کند" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "نتوانست داده‌ها را برون‌ریزی کند" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_لغو" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_حذف" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "برون‌ریزی" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "ورود پین یا گذرواژه برای: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "تایید:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_بسیارخب" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "گذرواژه:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "گذرواژه‌ها" + +#: common/place.vala:42 +msgid "Keys" +msgstr "کلید‌ها" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "گواهینامه‌ها" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "ترجیحات" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "هیچ‌کدام: منتشر نکردن کلیدها" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "یک نشانی کارساز کلید معتبر نیست." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "برای کمک، با مدیر سامانه یا مدیر کارساز کلید تماس بگیرید." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "نشانی اینترنتی" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "مورد موقّتی ابتدایی" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "گونهٔ کارساز کلید:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "میزبان:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "نام میزبان یا نشانی کارساز." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "درگاه برای دسترسی به کارساز رویش." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_یافتن کلیدها ازطریق:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_انتشار کلیدها به:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "دریافت خودکار کلیدها از _کارسازهای کلید" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "همگام‌سازی خودکار کلیدهای تغییریافته با کارسازهای کلید" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "کارسازهای کلید" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "ناشناخته" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "هرگز" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "حدودی" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "تمام" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "شدید" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "از کار افتاده" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "لغو شد" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "نمای کلّی" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "راهنما" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "گشودن فهرست" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "ایجاد موردی جدید" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "درون‌ریزی مورد از پرونده" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "جست‌وجو" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "فهرست میان‌برها" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "خروج" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "ناوش" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "گزینش دسته‌کلید پیشین" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "گزینش دسته‌کلید بعدی" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "نمایش نوار کناری (روی صفحه‌های کوچک)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "نمایش محتوای دسته‌کلید (روی صفحه‌های کوچک)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "دریافت خودکار کلیدها" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "این که کلیدها باید به صورت خودکار از کارسازهای کلید دریافت شوند یا خیر." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "انتشار خودکار کلیدها" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "این که کلیدهای تغییریافته باید به صورت خودکار منتشر شوند خیر." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "انتشار کلیدها روی این کارساز" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of PGP " +"keys." +msgstr "" +"کارساز کلید برای انتشار کلید‌های PGP. یا خاللی برای توقّف انتشار کلیدهای PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "آخرین الگوی جست‌وجوی کارساز کلید" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "آخرین الگوی جست‌وجوی برای یک کارساز کلید." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "آخرین کارساز کلید استفاده‌شده" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key servers." +msgstr "آخرین کارساز کلیدی که رویش جست‌وجو شده یا خالی برای همهٔ کارسازهای کلید." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "نمایش نوار کناری دسته‌کلید" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "نمایش نوار کناری دسته‌کلید در اسب‌دریایی." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "موارد برای نمایش" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"پالایش موارد برای نمایش. در صورت خالی بود، همهٔ موارد، برای «شخصی» کلیدهای شخصی و " +"برای «مطمئن»، مطمئن‌ها نشان داده می‌شوند." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "پهنای قاب کناری" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "پهنای پیش‌گزیدهٔ قاب کناری." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "دسته‌کلید گزیده" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "نشانی‌های دسته‌کلیدهای گزیده در نوار کناری." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "ستون اساس چینش کلیدهای اسب‌دریایی" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns are: " +"“name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in front of " +"the column name to sort in descending order." +msgstr "" +"مشخّص کردن ستون برا چینش پنجرهٔ اصلی مدیر کلید اسب‌دریایی بر اساسش. ستون‌ها شامل " +"«نام»، «شناسه»، «اعتبار»، «انقضا»، «اعتماد» و گونه هستند. برای چینش به ترتیب " +"نزولی، یک «-» جلوی نام ستون بگذارید." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "نمایش ستون اعتبار" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "دیگر استفاده نمی‌شود." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "نمایش ستون انقضا" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "نمایش ستون اطمینان" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "نمایش ستون گونه" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "پهنای پنجره" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "پهنای پنجره (به پیکسل)." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "بلندای پنجره" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "بلندای پنجره (به پیکسل)." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "اسب‌دریایی" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "مدیریت گذرواژه‌ها و کلیدهای رمزنگاریتان" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "اسب‌دریایی برنامهٔ گنوم برای مدیریت کلیدهای رمزنگاری است." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH keys, " +"publish and retrieve keys from key servers, cache your passphrase so you don’t " +"have to keep typing it and backup your keys and keyring." +msgstr "" +"با اسب‌دریایی می‌توانید کلیدهای PGP و SSH ایجاد و آن‌ها را مدیریت کنید؛ کلیدهای را " +"از کارسازهای کلید گرفته و رویشان منتشر کنید؛ عبارت عبورتان را انبار کرده تا دیگر " +"نیازی به نوشتنش نباشد و از کلیدها و دسته‌کلیدتان، پشتیبان بگیرید." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "پروژهٔ گنوم" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "گذرواژه‌ها و کلیدها" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" +"keyring;encryption;security;sign;ssh;کلید;رمز;رمزنگاری;امنیت;امضا;دسته‌کلید;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "گذرواژه‌ها، گواهینامه‌ها و رمزهای ذخیره‌شده" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "نتوانست قفل‌گشایی کند" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "مورد اضافه نشد" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "گذرواژه یا رمز" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "رمز اتّصال شبکه" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "گذرواژهٔ وای‌فای" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "گذرواژهٔ شبکه" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "گذرواژهٔ وب گنوم" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "گذرواژهٔ گوگل کروم" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "گذرواژهٔ پیام‌رسانی آنی" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "گذرواژهٔ حساب پیام‌رسانی برای " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "گذرواژهٔ تله‌پاتی" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "گذرواژهٔ حساب‌های برخط گنوم" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "تغییرات این مورد ذخیره شود؟" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "دسترسی به به یک منبع یا هم‌رسانی شبکه‌ای" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "دسترسی به یک پایگاه وب" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "یک کلید PGP را قفل‌گشایی می‌کند" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "یک کلید پوستهٔ امن را قفل‌گشایی می‌کند" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "ورود یا گذرواژهٔ ذخیره‌شده" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "گواهی‌نامه‌های شبکه" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "گذرواژه" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "نتوانست گذرواژه را عوض کند." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "نتوانست توضیح را تنظیم کند." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "خطا در حذف گذرواژه." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "یادداشت ذخیره‌ شد" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "گذرواژهٔ دسته‌کلید" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "گذرواژهٔ کلید رمزنگاری" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "گذرواژهٔ مخزن کلید" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "رمز مدیر شبکه" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "مطمئنید که می‌خواهید گذرواژهٔ «%s» را حذف کنید؟" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "مطمئنید که می‌خواهید %Id گذرواژه را حذف کنید؟" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "نتوانست دسته‌کلید را بیفزاید" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "تاریخ نامشخص" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "دسته‌کلیدی که هنگام ورود، به صورت خودکار قفل‌گشایی می‌شود" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "دسته‌کلید برای ذخیرهٔ گذرواژه‌ها استفاده می‌شود" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "نتوانست دسته‌کلید پیش‌گزیده را تنظیم کند" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "نتوانست گذرواژهٔ دسته‌کلید را عوض کند" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "تنظیم به عنوان _پیش‌گزیده" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "تغییر _گذرواژه" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "مطمئنید که می‌خواهید گذرواژهٔ دسته‌کلید «%s» را حذف کنید؟" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "متوجّهم که تمامی موارد برای همیشه حذف خواهند شد." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "نمایش/نهفتن گذرواژه" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "افزودن گذرواژه" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_دسته‌کلید:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_توضیح:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_گذرواژه:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "اضافه کردن" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "افزودن دسته‌کلید گذرواژه" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"لطفاً نامی برایدسته‌کلید جدید برگزینید. برای گذرواژهٔ قفل‌گشایی پرسیده خواهد شد." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "نام دسته‌کلید جدید:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "ویژگی‌های مورد" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "توضیحات" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "رونوشت" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "استفاده" + +#: gkr/seahorse-gkr-item-properties.ui:139 pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "گونه" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "کارساز" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "ورود" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "جزئیات" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "حذف گذرواژه" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "ویژگی‌های دسته‌کلید" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "نام" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "ساخته شده در" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "تغییر گذرواژه" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "تنظیم به عنوان پیش‌گزیده" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "پرچم‌های نمایشی" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "ویژگی‌های تاریخ و/یا زمان نمایشی" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "حالت تنبل" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "حالت تنبل مقدارهای تاریخ و زمان وارد شده را بهنجار نمی‌کند" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "سال" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "سال نمایشی" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "ماه" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "ماه نمایشی" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "روز" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "روز ماه نمایشی" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "ساعت" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "ساعت نمایشی" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "دقیقه" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "دقیقهٔ نمایشی" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "ثانیه" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "ثانیهٔ نمایشی" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "کران پایین سال" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "بخش سال کران پایین تاریخ" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "کران بالای سال" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "بخش سال کران بالای تاریخ" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "کران پایین ماه" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "بخش ماه کران پایین تاریخ" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "کران بالای ماه" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "بخش ماه کران بالای تاریخ" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "کران پایین روز" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "بخش روز کران پایین تاریخ" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "کران بالای روز" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "بخش روز کران بالای تاریخ" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "کران پایین ساعت" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "بخش ساعت کران پایین تاریخ" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "کران بالای ساعت" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "بخش ساعت کران بالای تاریخ" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "کران پایین دقیقه" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "بخش دقیقهٔ کران پایین تاریخ" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "کران بالای دقیقه" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "بخش دقیقهٔ کران بالای تاریخ" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "کران پایین ثانیه" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "بخش ثانیهٔ کران پایین تاریخ" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "کران بالای ثانیه" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "بخش ثانیهٔ کران بالای تاریخ" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:6" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "تاریخ" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "تاریخ را وارد کنید" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "انتخاب تاریخ" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "انتخاب تاریخ از تقویم" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "زمان" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "زمان را وارد کنید" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "انتخاب زمان" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "انتخاب زمان از فهرست" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "قبل از ظهر" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "بعد از ظهر" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%I02d:%I02d:%I02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%I02d:%I02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%I02d:%I02d:%I02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%I02d:%I02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%I04d-%I02d-%I02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%Iu:%Iu:%Iu" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "نمایش راهنما ممکن نیست: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "افزودن زیرکلید به %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (فقط امضا)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (فقط رمزنگاری)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (فقط امضا)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (فقط رمزنگاری)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "_گونهٔ کلید" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "_طول کلید" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "طول کلید" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "تاریخ انقضا" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "هرگز _منقضی نمی‌شود" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "اگر کلید هرگز منقض نمی‌شود" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "ایجاد زیرکلیدی جدید" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "افزودن شناسهٔ کاربری به %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "نتوانست شناسهٔ کاربری را بیفزاید" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "افزودن شناسهٔ کاربری" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_نام کامل" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "باید لااقل ۵ نویسه داشته باشد" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "نشانی _رایانامه" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "نشانی رایانامهٔ اختیاری" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "_نظر کلید" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "نظر اختیاری توضیح‌دهندهٔ کلید" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "ایجاد شناسهٔ کاربریِ جدید" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "رمزگشایی شکست خورد. احتمالاً کلید رمزگشایی را ندارید." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "عملیات لغو شد" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "تاریخ انقضای نامعتبر" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "تاریخ انقضا باید در آینده باشد" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "نتوانست تاریخ انقضا را عوض کند" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "انقضا: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_هرگز‌ منقضی نمی‌شود" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_تغییر" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "چندین کلید" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "دادهٔ کلید" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "کلیدهای PGP زرهی" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "کلیدهای PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "نتوانست کلید PGP ایجاد کند" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "عبارت عبور برای کلید PGP جدید" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "عبارت عبورتان را دو بار برای کلید جدیدتان وارد کنید." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"هنگام ایجاد یک کلید، لازم است کلّی دادهٔ کاتوره‌ای\n" +"ایجاد کنیم و نیاز به کمکتان داریم. خوب است برخی\n" +"کارهای دیگر مثل نوشتن با صفحه‌کلید، جابه‌جایی\n" +"موشی و استفاده از برنامه‌ها را انجام دهید. این\n" +"کارها داده‌ّای کاتوره‌ای مورد نیاز سامانه را ایجاد می‌کنند." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "در حال ایجاد کلید" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "نام باید لااقل ۵ نویسه داشته باشد." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "کلید PGP جدید" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "یک کلید PGP می‌گذارد رایانامه یا پرونده‌‌ها را برای دیگران رمزنگاری کنید." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "گزینه‌های _پیش‌رفتهٔ کلید" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_نظر" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_گونهٔ رمزنگاری" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_قدرت کلید (بیت)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "_تاریخ انقضا" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "_هرگز منقضی نشود" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "_ایجاد" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "ایجاد کلیدی جدید" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "مطمئنید که می‌خواهید %s را برای همیشه حذف کنید؟" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "مطمئنید که می‌خواهید %Id کلید را برای همیشه حذف کنید؟" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "گذرواژهٔ اشتباه" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "بار سومی بود که گذرواژه‌ای اشتباه وارد کردید. لطفاً دوباره تلاش کنید." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "عبارت عبور اشتباه." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "عبارت عبور جدید را برای %s وارد کنید" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "عبارت عبور را برای %s وارد کنید" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "عبارت عبور جدید را وارد کنید" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "عبارت عبور را وارد کنید" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "عبارت عبور" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%Id کلید بار شد" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date set " +"in the future or a missing self-signature." +msgstr "" +"دادهٔ کلید نامعتبر (UIDهای مفقود). ممکن است به خاطر رایانه‌ای با تاریخ تنظیم‌شده رد " +"آینده یا یک خویش‌امضای مفقود باشد." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "کلیدهای GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "شاخهٔ دسته‌کلید پیش‌گزیدهٔ GnuPG" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"عکس خیلی بزرگ است\n" +"اندازهٔ پیشنهادی عکس برای کلیدتان %Id × %Id پیکسل است." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_عدم تغییر اندازه" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_تغییر اندازه" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use a " +"JPEG image." +msgstr "" +"این یک پروندهٔ تصویر نبوده یا گونهٔ ناشناخته‌ای از پروندهٔ تصویر است. استفاده از یک " +"تصویر JPEG را بیازمایید." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "تمام پرونده‌های تصویر" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "تمام پرونده‌های JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "تمام پرونده‌ها" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "گزینش عکس برای افزودن به کلید" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_باز کردن" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "نتوانست عکس را آماده کند" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "نتوانست عکس را بیفزاید" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "پرونده نتوانست بار شود. شاید در قالبی نامعتبر باشد" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "مطمئنید می‌خواهید عکس کنونی را از کلیدتان بردارید؟" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "نتوانست عکس را حذف کند" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "نتوانست زیرکلید را لغو کند" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "لغو: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "بدون دلیل" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "دلیلی برای لغو کلید وجود ندارد" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "لو رفته" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "کلید لو رفته" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "جایگزین شده" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "کلید جایگزین شده" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "استفاده نشده" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "کلید دیگر استفاده نمی‌شود" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be undone! " +"Are you sure you want to continue?" +msgstr "" +"در حال افزودن %s به عنوان لغوکنندهٔ %s هستید. عملیات قابل بازگردانی نیست! مطمئنید " +"می‌خواهید ادامه دهید؟" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "نتوانست لغوکننده بیفزاید" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "متوجّهم که این کلید رمزی برای همیشه حذف خواهد شد." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"این کلید از پیش امضا شده به دست\n" +"«%s»" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "نتوانست کلید را امضا کند" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "هیچ کلیدی برای امضا مناسب نیست" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of this " +"key." +msgstr "" +"هیچ کلید شخصی PGPای که بتواند به عنوان شاخص اعتمادتان به این کلید استفاده شود " +"وجود ندارد." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "امضای کلید" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "امضا کردن، نشانهٔ اطمینانتان است از تعلّق این کلید به:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "نام کلید" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "چه‌قدر با دقّت این کلید را بررسی کردید؟" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_به هیچ عنوان" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_همین‌جوری" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_خیلی دقیق" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who claims " +"to own it, but you could not or did not verify this to be a fact." +msgstr "" +"به هیچ عنوان: یعنی باور دارید کلید متعلّق به شخصی است که ادّاعی مالکیتش را " +"دارد، ولی نتوانستید یا نخواستید این موضوع را تأیید کنید." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is owned " +"by the person who claims to own it. For example, you could read the key " +"fingerprint to the owner over the phone." +msgstr "" +"همین‌جوری: یعنی یک تأیید سرسری برای تعلّق کلید به فرد مدّعی مالکیتش انجام " +"دادید. مثلاً توانستید اثرانگشت کلید را پشت تلفن برای مالک بخوانید." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this key " +"is genuine." +msgstr "" +"خیلی دقیق: تنها در صورتی این گزینه را برگزینید که کاملاً اطمینان دارید که " +"این کلید موثق است." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also used " +"email to check that the email address belongs to the owner." +msgstr "" +"می‌توانستید از یک تأییدیهٔ عکس جعل‌نشدنی مثل گذرنامه برای بررسی شخصی درستی نام روی " +"کلید استفاده کنید. هم‌چنین باید از رایانامه برای بررسی تعلّق نشانی رایانامه به " +"مالک استفاده می‌کردید." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "طوری که دیگران این امضا را خواهند دید:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "ممکن _نیست دیگران این امضا را ببینند" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "می‌توانم این امضا را در تاریخی در آینده _لغو کنم." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "امضای کلید به عنوان:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_امضاکننده:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_امضا" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "ناشناخته" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "جست‌وجو به قدر کافی خاص نبود. کارساز %s بیش از حد کلید یافت." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "نمی‌توان با کارساز %s در ارتباط بود: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "کارساز کلید HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "نتوانست کلید را درون‌ریزی کند: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "درون‌ریزی کلید موفّق بود" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "درون‌ریزی" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "نمی‌توان کلید را درون‌ریزی کرد" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "کلیدهای دوردست" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "کلیدهای دوردست شامل %s" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "جست‌وجو برای کلیدها شکست خورد." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"برای وارسی یک کلید، رویش دوبار کلیک کرده یا برای درون‌ریزیش در دسته‌کلید محلّیتان، " +"دکمهٔ درون‌ریزی را بزنید." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "یافتن کلیدهای دوردست" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be imported " +"into your local key ring." +msgstr "" +"کلیدهای دیگران را روی اینترنت می‌یابد. این کلیدها می‌توانند در دسته‌کلید محلّیتان " +"ریخته شوند." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_جست‌وجو برای کلیدهای شامل: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "مکان جست‌وجو:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "کارسازهای کلید:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "کلیدهای هم‌رساندهٔ نزدیک من:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_جست‌وجو" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "نتوانست کلیدها را روی کارساز منتشر کند" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "نتوانست کلیدها را از کارساز دریافت کند: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%Id کلید برای هم‌گام‌سازی گزیده‌شد" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "در حال همگام‌سازی کلیدها…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "همگام‌سازی کلیدها" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others to " +"use. You’ll also get any changes others have made since you received their keys." +msgstr "" +"این کار کلیدهای دسته‌کلیدتان را منتشر کرده تا برای استفادهٔ دیگران موجود باشند. " +"هم‌چنین هر تغییری که دیگران از زمانی که کلیدشان را گرفتید داده باشند را خواهید " +"گرفت." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their keys. " +"No key server has been chosen for publishing, so your keys will not be made " +"available to others." +msgstr "" +"این کار هر تغییری که دیگران از زمانی که کلیدشان را گرفتید داده باشند را خواهد " +"گرفت. هیچ کارساز کلیدی برای انتشار گزیده نشده، پس کلیدهایتان برای دیگران موجود " +"نخواهند بود." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_کارسازهای کلید" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_همگام‌سازی" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "نمی‌توان با %s در ارتباط بود: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "درحال اتصال به: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "نتوانست نشانی را تجزیه کند: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "در حال تجزیهٔ نشانی کارساز: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "کارساز کلید LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "کلیدهای PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "کلیدهای PGP برای رمزنگاری رایانامه و پرونده‌ها استفاده می‌شوند" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(و %Id دیگر)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "کلید PGP شخصی" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "کلید PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "نتوانست شناسهٔ کاربری اصلی را عوض کند" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "مطمئنید می‌خواهید شناسهٔ کاربری «%s» را برای همیشه حذف کنید؟" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "نتوانست شناسهٔ کاربری را حذف کند" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[ناشناخته]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "نام/رایانامه" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "شناسهٔ امضا" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "نتوانست عکس اصلی را عوض کند" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "خطا در تغییر گذرواژه" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(نامعلوم)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "این کلید منقضی می‌شود در: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — کلید عمومی" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — کلید خصوصی" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "مطمئنید می‌خواهید زیر کلید %Id از %s را برای همیشه حذف کنید؟" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "نتوانست زیرکلید را حذف کند" + +#: pgp/seahorse-pgp-key-properties.c:1078 pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "ناتوان در تعویض اطمینان" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "نتوانست کلید را برون‌ریزد" + +#: pgp/seahorse-pgp-key-properties.c:1239 pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "هرگز" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "شناسه" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "استفاده" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "ایجاد شد" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "انقضا" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "وضعیت" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "قدرت" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "لغو شده" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "منقضی" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "از کار افتاده" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "خوب" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "شناسه کلید" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "به امضاهای %s روی دیگر کلیدها اطمینان دارم" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this key:" +msgstr "اگر باور دارید مالک این کلید %s است، این کلید را امضا کنید:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"اگر دیگر اطمینان ندارید مالک این کلید %s باشد، امضایتان را لغو کنید:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "برون‌ریزی کلید _رمزی" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "برون‌ریزی کلید _عمومی" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "این کلید لغو شده است" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "مالک این کلید،‌لغوش کرده است. دیگر قابل استفاده نیست." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "این کلید منقضی شده است" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "افزودن عکسی به این کلید" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "برداشتن این عکس از این کلید" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "عکس اصلی کردن این عمس" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "برو به تصویر قبلی" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "برو به تصویر بعدی" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "نظر" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "تغییر _عبارت عبور" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "مالک" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "نام‌های کلید و امضاها" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "اصلی" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "امضا" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "حذف" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_اضافه کردن نام" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "لغو" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "نام‌ها و امضاها" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "شناسهٔ کلید:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "گونه:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "قدرت:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "جزییات فنّی" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "اثر انگشت" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "ساخته شده:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "انقضا:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "تاریخ‌ها" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "پایمال کردن _اطمینان مالک:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_برون‌ریزی به پرونده" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "کنش‌ها" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "انقضا" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_زیرکلیدها" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "حدوداً" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "کاملاً" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "شدیداً" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_دیگر نام‌ها:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "اطمینانتان به این کلید" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "اطمینانتان در زبانهٔ جزییات مشخّص شده است." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_امضای این کلید" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_لغو امضا" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "افرادی که این کلید را امضا _کرده‌اند:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_فقط امضای افرادی را نشان بده که اطمینان دارم" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "اعتماد" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "جزییات فنّی:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "اثر انگشت:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "تاریخ‌ها:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "نشانهٔ اطمینان:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "به مالک _اطمینان دارید:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "رمزنگاری" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "گواهی" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "تأیید هویت" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "کلید" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "زیرکلید %Id از %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "دلیل لغو کلید" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_دلیل:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "توضیح اختیاری لغو" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "لغو کلید" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "_لغو" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"هیچ کلید PGP خصوصی‌ای ندارید که بتواند برای امضای یک سند یا پیام استفاده شود." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "گزینش کلید امضا" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_امضای پیام با کلید:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "در حال برون‌ریزی داده" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "در حال دریافت داده" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "در حال درون‌ریزی داده" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "در حال فرستادن داده" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "ناموجود" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "گواهینامه" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "گواهینامه‌ها (رمزشده با DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "کلید و گواهینامهٔ شخصی" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "گواهینامهٔ شخصی" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "مطمئنید که می‌خواهید %Id گواهینامه را برای همیشه حذف کنید؟" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "نتوانست کلید خصوصی ایجاد کند" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "متوجّهم که این کلید برای همیشه حذف خواهد شد." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "کلید خصوصی بی‌نام" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "کلید خصوصی" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "بی‌نام" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "شکست در برون‌ریزی گواهینامه" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "نتوانست حذف کند" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "ایجاد" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "نتوانست درخواست گواهینامه ایجاد کند" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "ذخیرهٔ درخواست گواهینامه" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_ذخیره" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "درخواست گواهینامه" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "درخواست PEM رمزشده" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "نتوانست درخواست گواهینامه را ذخیره کند" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "ناشناس" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "گواهینامه‌های X.509 و کلیدهای وابسته" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "کلید خصوصی جدید" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "ایجاد یک کلید خصوصی جدید" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "برچسب:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "ذخیره‌شده در:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_گونهٔ کلید:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_قدرت کلید (بیت):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "حذف این گواهینامه یا کلید" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "برون‌ریزی گواهینامه" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "درخواست گواهینامه" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "ایجاد یک پروندهٔ درخواست گواهینامه برای این کلید" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "ایجاد یک پروندهٔ درخواست گواهینامه." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "نام عمومی (CN) قرار گرفته در درخوسات گواهینامه." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "نام (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "مشارکت‌ها:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "نگارش این برنامه" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "دانیال بهزادی " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "صفحهٔ خانگی پروژهٔ اسب‌دریایی" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "داده‌ها برای درون‌ریزی" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_درون‌ریزی" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "درون‌ریزی شکست خورد" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "درون‌ریزی کلید" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "همهٔ پرونده‌های کلید" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "متن رهاشده" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "متن تخته‌گیره" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "نتوانست دسته‌کلید را قفل‌گشایی کند" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "تغییر عبارت‌عبور" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "_عبارت‌عبور جدید:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "تأیید عبارت‌عبور جدید" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "_تأیید عبارت‌عبور:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_یافتن کلیدهای دوردست…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "همگام‌ئازی و انتشار کلیدها…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_ترجیحات" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_راهنما" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "میان‌برهای _صفحه‌کلید" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_دربارهٔ گذرواژه‌ها و کلیدها" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "موردهای پالایش:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "نمایش _شخصی" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "نمایش _مورد اطمینان" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "نمایش _همه" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "کلید پوستهٔ امن" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "استفاده برای دسترسی به دیگر رایانه‌ها" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "کلید GPG" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "استفاده برای رمزنگاری رایانامه و پرونده‌ها" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "دسته‌کلید گذرواژه" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "برای ذخیرهٔ گذرواژه‌های شبکه و برنامه استفاده می‌شود" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "ذخیرهٔ امن یک گذرواژه یا رمز" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "استفاده برای درخواست یک گواهینامه" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "درون‌ریزی از پرونده…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "افزودن مورد یا کلید جدید" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "بازگشت" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "جست‌وجو برای یک کلید یا گذرواژه" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "پالایش" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "به نظر این مجموعه خالی است" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "دسته‌کلید قفل‌شده است" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "قفل گشایی" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "رونوشت از رمز" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "برون‌ریزی…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "ترجیحات" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "پیکربندی کلید برای پوستهٔ امن…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_قفل" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "قفل‌_گشایی" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_ترجیحات" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "نتوانست قفل کند" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "پوستهٔ امن" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "کلید مورد استفاده برای وصل شدن امن به دیگر رایانه‌ها" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "مطمئنید می‌خواهید کلید پوستهٔ‌ امن %s را حذف کنید؟" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "مطمئنید می‌خواهید %Iu کلید پوستهٔ‌ امن را حذف کنید؟" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "کلید‌های SSH رمزی" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "کلید‌های SSH عمومی" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "کلید SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "هیچ کلید عمومی‌ای برای این کلید موجود نیست." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "نتوانست کلید پوستهٔ امن تازه ایجادشده را بار کند" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "نتوانست کلید پوستهٔ امن ایجاد کند" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "ایجاد کلید پوستهٔ امن" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "۱۰۲۴ بیت" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "۲۵۶ بیت" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "گونهٔ کلید ناشناخته!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "گونهٔ ناشناخته" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "نتوانست نام کلید را عوض کند." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "نتوانست تأیید هویت کلید را عوض کند." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "نتوانست عبارت عبور کلید را عوض کند." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "خطا در حذف کلید SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "کلید SSH شخصی" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "کلید SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(کلید پوستهٔ امن ناخوانا)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "کلید پوستهٔ امن" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "گذرواژهٔ میزبان دوردست" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "ورود عبارت عبور کلید" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "عبارت عبور برای کلید پوستهٔ امن جدید" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "در حال درون‌ریزی کلید: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "در حال درون‌ریزی کلید. عبارت عبور را وارد کنید" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "عبارت عبور پوستهٔ امنتان را وارد کنید:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "عبارت عبور کلید قدیمی" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "عبارت عبور قدیمی را برای %s وارد کنید" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "عبارت عبور کلید جدید" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "عبارت عبور جدید را برای %s وارد کنید" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "دوباره عبارت عبور جدید را برای %s وارد کنید" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "کلید پوستهٔ امن جدید" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "یک کلید پوستهٔ امن (SSH) می‌گذارد به صورت امن به دیگر رایانه‌ها وصل شوید." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_توضیح" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "نشانی رایانامه‌تان، یا یادآوری برای چیستی کلید." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"اگر رایانه‌ای هست که می‌خواهید این کلید را با آن استفاده کنید،‌می‌ةوانید آن رایانه " +"را برای شناختن کلید جدیدتان برپا کنید." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_فقط ایجاد کلید" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_ایجاد و برپاسازی" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "ویژگی‌های کلید SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "نام" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "الگوریتم" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "طول کلید" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "موقعیت" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "کلید عمومی" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "رونوشت از کلید عمومی به تخته‌گیره" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "دسترسی از راه دور" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "اجازهٔ دسترسی به این رایانه از راه دور را می‌دهد" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_برون‌ریزی" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_حذف کلید SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "برپایی رایانه برای اتّصال SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"برای استفاده از کلید پوستهٔ امن با رایانهٔ دیگری که زا SSH استفاده می‌کند، باید یک " +"حساب ورود از پیش روی آن رایانه داشته باشید." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "نشانی _کارساز:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "مثلاً fileserver.example.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "نام _ورود:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "برپایی" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "کلید‌های OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "هیچ پروندهٔ کلید خصوصی‌ای برای این کلید موجود نیست." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "نتوانست کلیدهای پوستهٔ امن را روی رایانهٔ دوردست پیکربندی کند." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "در حال پیکربندی کلیدهای پوستهٔ امن…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption operations." +#~ msgstr "" +#~ "اسب‌دریایی یک برنامهٔ گنوم برای مدریت کلیدهای رمزنگاری است. هم‌چنین برای عملیات " +#~ "رمزنگاری با پرونده‌ها، ویرایشگر متن و دیگر مکان‌ها یکپارچه می‌شود." + +#~ msgid "Lock" +#~ msgstr "قفل" + +#~ msgid "_Show Password" +#~ msgstr "_نمایش کلمه عبور" + +#~ msgid "OK" +#~ msgstr "بسیار خب" diff --git a/po/fi.po b/po/fi.po new file mode 100644 index 00000000..8b8dd604 --- /dev/null +++ b/po/fi.po @@ -0,0 +1,3137 @@ +# Finnish messages for seahorse +# Copyright (C) 2000-2009 Free Software Foundation, Inc. +# +# Gnome 2012-03 Finnish translation sprint participants: +# Niklas Laxström +# Jarmo Kielosto , 2000. +# Tommi Vainikainen , 2008-2011. +# Ilkka Tuohela , 2004-2009. +# Jani Välimaa , 2009. +# Jiri Grönroos , 2012, 2013, 2015, 2016, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-08-23 10:32+0300\n" +"Last-Translator: Jiri Grönroos \n" +"Language-Team: suomi \n" +"Language: fi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.4.1\n" +"X-POT-Import-Date: 2012-02-19 15:25:28+0000\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Lisää avainpalvelin" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Oma määrittely" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Peru" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Tallenna" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Poistaminen ei onnistunut" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Avaimia ei voitu viedä" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Tietojen vienti ei onnistunut" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Peru" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Poista" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Vie" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Syötä PIN tai salasana: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Vahvista:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_OK" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Salasana:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Salasanat" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Avaimet" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Varmenteet" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Asetukset" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Ei mitään: älä julkaise avaimia" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Arvo ei ole kelvollinen avainpalvelimen osoite." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Pyydä apua järjestelmäsi ylläpitäjältä tai avainpalvelimen ylläpitäjältä." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "ensimmäinen tilapäinen kohde" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Avainpalvelimen tyyppi:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Verkkonimi:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Palvelimen verkkonimi tai osoite." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Portti, jossa palvelin on." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Etsi uusia avaimia lähteestä:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "J_ulkaise avaimet:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Nouda avaimet automaattisesti avain_palvelimilta" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Synkronoi _muokatut avaimet automaattisesti avainpalvelimille" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Avainpalvelimet" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Tuntematon" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Ei koskaan" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Jonkin verran" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Kokonaan" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Ehdottomasti" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Ei käytössä" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Mitätöity" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Päänäkymä" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Ohje" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Avaa valikko" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Luo uusi tietue" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Tuo tietue tiedostosta" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Etsi" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Pikanäppäinluettelo" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Lopeta" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Liikkuminen" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Valitse edellinen avainnippu" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Valitse seuraava avainnippu" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Näytä sivupalkki (pienillä näytöillä)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Näytä avainnipun sisältö (pienillä näytöillä)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Nouda avaimet automaattisesti" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Noudetaanko avaimet automaattisesti avainpalvelimilta vai ei." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Julkaise avaimet automaattisesti" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Julkaistaanko muokatut avaimet automaattisesti vai ei." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Julkaise avaimet tälle avainpalvelimelle" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Avainpalvelin johon PGP-avaimet julkaistaan. Jätä tyhjäksi jos haluat " +"ehkäistä PGP-avainten julkaisun." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Viimeksi käytetyt avainpalvelimet" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Näytä avainniput sivupalkissa" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Näytä avainniput listaava sivupalkki." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Näytettävät tietueet" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Sivupaneelin leveys" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Sivupaneelin oletusleveys." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Valitut avainniput" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Sarake jonka mukaan avaimet järjestetään" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Näytä kelvollisuussarake" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Ei enää käytössä." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Näytä vanhenemissarake" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Näytä luottosarake" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Näytä tyyppisarake" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Ikkunan leveys" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Ikkunan leveys pikseleissä." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Ikkunan korkeus" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Ikkunan korkeus pikseleissä." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Hallitse salasanoja ja salausavaimia" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse on Gnome-sovellus salausavainten hallintaan." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Voit luoda sekä hallita PGP- ja SSH-avaimia, julkaista ja noutaa avaimia " +"avainpalvelimilta sekä varmuuskopioida avaimet ja avainnipun." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Gnome-projekti" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Salasanat ja salausavaimet" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" +"keyring;encryption;security;sign;ssh;avainnippu;salaus;turvallisuus;" +"tietoturva;kirjautuminen;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Tallennetut henkilökohtaiset salasanat, pääsyoikeudet ja salaisuudet" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Lukituksen avaus ei onnistunut" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Kohteen lisäys ei onnistunut" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Salasana tai salaisuus" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Verkkoyhteyden salaisuus" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Wifi-salasana" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Verkkosalasana" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Gnomen verkkoselaimen salasana" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Google Chrome -salasana" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Pikaviestimen salasana" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Pikaviestintilin salasana " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Telepathy-salasana" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Gnomen verkkotilien salasana" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Tallennetaanko muutokset tähän kohteeseen?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Pääsy verkkojakoon tai -resurssiin" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Pääsy WWW-sivustolle" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Avaa PGP-avaimen" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Avaa SSH-avaimen" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Tallennettu salasana tai kirjautuminen" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Verkon pääsyoikeudet" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Salasana" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Salasanaa ei voitu vaihtaa." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Kuvausta ei voitu asettaa." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Virhe salasanaa poistaessa." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Tallennettu huomautus" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Avainnipun salasana" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Salausavaimen salasana" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Avainsäilön salasana" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Verkonhallinnan salaisuus" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Haluatko varmasti poistaa salasanan “%s”?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Haluatko varmasti poistaa %d salasanan?" +msgstr[1] "Haluatko varmasti poistaa %d salasanaa?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Avainnippua ei voitu lisätä" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Tuntematon päiväys" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Avainnippu, joka avataan automaattisesti kirjautumisen yhteydessä" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Avainnippu, johon varastoidaan salasanat" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Oletusavainnippua ei voitu asettaa" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Avainnipun salasanaa ei voitu vaihtaa" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "A_seta oletus" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Vaihda _salasana" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Haluatko varmasti poistaa salasana-avainnipun “%s”?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Ymmärrän, että kaikki kohteet poistetaan lopullisesti." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Näytä/piilota salasana" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Lisää salasana" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Avainnippu:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Kuvaus:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Salasana:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Lisää" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Lisää salasana-avainnippu" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "Valitse nimi uudelle avainnipullu. Sinulta kysytään avaussalasanaa." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Uuden avainnipun nimi:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Kohteen ominaisuudet" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Kuvaus" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Kopioi" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Käyttö" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Tyyppi" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Palvelin" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Käyttäjätunnus" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Yksityiskohdat" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Poista salasana" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Avainnipun ominaisuudet" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Nimi" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Luotu" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Vaihda salasana" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Aseta oletukseksi" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Näytä liput" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Näytetyn päiväyksen tai ajan ominaisuudet" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Laiska tila" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Laiska tila ei normalisoi syötettyjä päiväyksiä tai aikoja" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Vuosi" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Näytetty vuosi" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Kuukausi" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Näytetty kuukausi" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Päivä" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Näytetty kuukauden päivä" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Tunti" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Näytetty tunti" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minuutti" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Näytetty minuutti" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekunti" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Näytetty sekunti" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Vuosiarvon alaraja" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Aikaisimman mahdollisen päiväyksen vuosiosa" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Vuosiarvon yläraja" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Viimeisen mahdollisen päiväyksen vuosiosa" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Kuukausiarvon alaraja" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Aikaisimman mahdollisen päiväyksen kuukausiosa" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Kuukausiarvon yläraja" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Viimeisen mahdollisen päiväyksen kuukausiosa" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Päiväarvon alaraja" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Aikaisimman mahdollisen päiväyksen päiväysosa" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Päiväarvon yläraja" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Viimeisen mahdollisen päiväyksen päiväysosa" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Tuntiarvon alaraja" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Aikaisimman aikarajan tuntiosa" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Tuntiarvon yläraja" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Viimeisen mahdollisen päiväyksen tuntiosa" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Minuuttiarvon alaraja" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Aikaisimman aikarajan minuuttiosa" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Minuuttiarvon yläraja" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Viimeisen mahdollisen päiväyksen minuuttiosa" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Sekuntiarvon alaraja" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Aikaisimman aikarajan sekuntiosa" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Sekuntiarvon yläraja" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Viimeisen mahdollisen päiväyksen sekuntiosa" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Päiväys" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Syötä päiväys käsin" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Valitse päiväys" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Valitse päiväys kalenterista" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Aika" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Syötä aika käsin" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Valitse aika" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Valitse aika luettelosta" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: juu" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d.%02d.%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d.%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d.%02d.%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d.%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u.%u.%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Ohjetta ei voitu näyttää: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Lisää aliavain avaimelle %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (vain allekirjoitus)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (vain salaus)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (vain allekirjoitus)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (vain salaus)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Avaimen _tyyppi" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Avaimen _pituus" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Avaimen pituus" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Vanhenemispäivä" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Ei vanhene _koskaan" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Vanheneeko avain koskaan" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Luo uusi aliavain" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Lisää käyttäjätunniste avaimeen %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Käyttäjätunnistetta ei voitu lisätä" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Lisää käyttäjätunniste" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Koko _nimi" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Tulee olla vähintään 5 merkkiä pitkä" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_Sähköpostiosoite" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Valinnainen sähköpostiosoite" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Avaimen _kommentti" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Valinnainen avainta kuvaava kommentti" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Luo uusi käyttäjätunniste" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Salauksen purku ei onnistunut. Sinulla ei ehkä ole purkuavainta." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Toiminto keskeytettiin" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Virheellinen vanhenemispäivä" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Vanhenemispäivän täytyy olla tulevaisuudessa" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Vanhenemispäivää ei voitu muuttaa" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Vanhenee: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Ei vanhene koskaan" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Muuta" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Useita avaimia" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Avaimen tiedot" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Panssaroidut PGP-avaimet" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP-avaimet" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "PGP-avainta ei voitu luoda" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Uuden PGP-avaimen tunnuslause" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Syötä uuden avaimesi tunnuslause kahdesti." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Avainta luodessa on luotava paljon satunnaisdataa\n" +"ja siinä tarvitaan apuasi. Tee samalla muita\n" +"toimintoja, kuten kirjoita näppäimistöllä, \n" +"liikuta hiirtä ja käytä sovelluksia.\n" +"Näin järjestelmä saa tarvitsemansa satunnaisdatan." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Luodaan avainta" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Nimen tulee olla vähintään 5 merkkiä pitkä." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Uusi PGP-avain" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"PGP-avain mahdollistaa sähköpostin ja tiedostojen salauksen muille " +"henkilöille." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Avaimen _lisäasetukset" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Kommentti" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Salaus_tyyppi" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "Avaimen _vahvuus (bittejä)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Vanh_enemispäivä" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Ei _vanhene koskaan" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "_Luo" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Luo uusi avain" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Haluatko varmasti poistaa avaimen %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Haluatko varmasti poistaa %d avainta?" +msgstr[1] "Haluatko varmasti poistaa %d avainta?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Väärä salasana" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Syötit väärän salasanan jo kolmannen kerran. Yritä uudelleen." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Väärä tunnuslause." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Syötä uusi tunnuslause avaimelle “%s”" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Syötä tunnuslause avaimelle “%s”" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Syötä uusi tunnuslause" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Syötä tunnuslause" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Tunnuslause" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Ladattiin %d avain" +msgstr[1] "Ladattiin %d avainta" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Virheellistä avaintietoa (puuttuvia tunnisteita). Tämä saattaa johtua " +"tietokoneesta, jonka kello on tulevaisuudessa, tai puuttuvasta " +"itseallekirjoituksesta." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG-avaimet" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: avainnipun oletushakemisto" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Valokuva on liian suuri\n" +"Suositeltu valokuvan koko on %d × %d pikseliä." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "Ä_lä muuta kokoa" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Muuta kokoa" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Tämä ei ole kuvatiedosto tai sen tyyppiä ei tunnisteta. Kokeile käyttää JPEG-" +"tiedostoa." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Kaikki kuvatiedostot" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Kaikki JPEG-tiedostot" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Kaikki tiedostot" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Valitse avaimeen lisättävä kuva" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Avaa" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Valokuvaa ei voitu valmistella" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Valokuvaa ei voitu lisätä" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Tiedostoa ei voitu ladata ja se voi olla vioittunut" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Haluatko varmasti poistaa nykyisien kuvan avaimestasi?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Valokuvaa ei voitu poistaa" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Aliavainta ei voitu mitätöidä" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Mitätöi: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Ei syytä" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Ei syytä avaimen mitätöintiin" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Murrettu" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Avain on murrettu" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Korvattu" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Avain on korvattu" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Ei käytössä" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Avain ei ole enää käytössä" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Olet lisäämässä %s:n avaimen %s mitätöijäksi. Tätä toimenpidettä ei voi " +"perua! Haluatko varmasti jatkaa?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Mitätöijää ei voitu lisätä" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Ymmärrän, että tämä salainen avain poistetaan lopullisesti." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Tämä avaimen on jo allekirjoittanut\n" +"“%s”" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Avainta ei voitu allekirjoittaa" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Allekirjoitukseen sopivia avaimia ei löydy" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Sinulla ei ole omia PGP-avaimia, joilla tämä avain voidaan allekirjoittaa ja " +"ilmaista luottamuksesi siihen." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Allekirjoita avain" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"Allekirjoittamalla ilmaiset luottamuksesi, että avain kuuluu seuraavalle " +"henkilölle:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Avaimen nimi" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Kuinka tarkasti olet tarkistanut tämän avaimen?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Ei lainkaan" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Pintapuolisesti" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "E_rittäin tarkasti" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Ei lainkaan tarkoittaa, että uskot avaimen kuuluvan siinä mainitulle " +"henkilölle, mutta et voinut tarkistaa tai et tarkistanut tätä todeksi." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Pintapuolisesti tarkoittaa, että olet tarkistanut tavanomaisesti, " +"että avain kuuluu sen väitetylle omistajalle. Voit esimerkiksi lukea avaimen " +"sormenjäljen omistajalle puhelimessa." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Erittäin tarkasti tulisi valita vain, jos olet ehdottoman varma että " +"tämä avain kuuluu siinä mainitulle henkilölle." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Voit käyttää vaikeasti väärennettävää valokuvatunnistetta kuten passia " +"tarkistaaksesi henkilökohtaisesti että avaimessa mainittu nimi on oikea. " +"Sinun tulisi myös tarkistaa salatulla sähköpostilla, että avaimessa mainittu " +"sähköpostiosoite kuuluu avaimen omistajalle." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Kuinka muut näkevät tämän allekirjoituksen:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Muut eivät näe tätä allekirjoitusta" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Voin _mitätöidä tämän allekirjoituksen myöhemmin." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Allekirjoita avain avaimella:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Allekirjoittaja:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Allekirjoita" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Tuntematon" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Haku ei ollut tarpeeksi tarkka. Palvelin “%s” löysi liian monta avainta." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Palvelimeen “%s” ei saatu yhteyttä: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP-avainpalvelin" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Avainta ei voitu tuoda: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Avaimen tuonti onnistui" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Tuo" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Avainta ei voi tuoda" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Etäavaimet" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Etäavaimet sisältäen tunnisteen “%s”" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Avainten etsintä epäonnistui." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Kaksoisnapsauta avainta tutkiaksesi sitä, tai napsauta tuontipainiketta " +"tuodaksesi avaimen paikalliseen avainnippuun." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Etsi avaimia verkosta" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Tämä etsii muiden avaimia verkosta. Löydetyt avaimet voidaan tuoda " +"paikalliseen avainnippuun." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "Et_si avaimia, jotka sisältävät: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Mistä avaimia etsitään:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Avainpalvelimet:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Lähellä olevat jaetut avaimet:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Etsi" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Avaimia ei voitu julkaista palvelimelle" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Avaimia ei voitu hakea palvelimelta: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d avain on valittu synkronoitavaksi" +msgstr[1] "%d avainta on valittu synkronoitavaksi" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Synkronoidaan avaimia…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Synkronoi avaimet" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Tämä valinta julkaisee avaimet avainnippuun, jolloin ne ovat muiden " +"käytettävissä. Vastaanotat samalla muutokset, joita muut ovat tehneet " +"aiemmin vastaanottamiisi avaimiin." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Tämä valinta hakee muutokset, joita muut ovat tehneet sen jälkeen kun itse " +"hait heidän avaimensa. Avainpalvelinta ei ole valittu julkaisua varten, " +"joten omia avaimiasi ei julkaista muiden käytettäväksi." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Avain_palvelimet" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Synkronoi" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Yhteys palvelimeen %s epäonnistui: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Otetaan yhteyttä palvelimeen %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Osoitetta ei voitu selvittää: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Selvitetään palvelimen osoitetta: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP-avainpalvelin" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP-avaimet" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP-avaimia käytetään sähköpostiviestien ja tiedostojen salaukseen" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(ja %d muu)" +msgstr[1] "(ja %d muuta)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Henkilökohtainen PGP-avain" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP-avain" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Ensisijaista käyttäjätunnistetta ei voitu vaihtaa" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Haluatko varmasti poistaa käyttäjätunnisteen “%s” pysyvästi?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Käyttäjätunnistetta ei voitu poistaa" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Tuntematon]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Nimi/Sähköposti" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Allekirjoituksen tunniste" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Ensisijaista valokuvaa ei voitu vaihtaa" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Virhe salasanaa vaihtaessa" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(tuntematon)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Tämä avainta vanhenee: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Julkinen avain" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Yksityinen avain" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Haluatko varmasti poistaa pysyväsi aliavaimen %d avaimesta %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Aliavainta ei voitu poistaa" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Luotettavuutta ei voitu muuttaa" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Avaimen vienti ei onnistunut" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Ei koskaan" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "Tunniste" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Käyttö" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Luotu" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Vanhenee" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Tila" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Vahvuus" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Mitätöity" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Vanhentunut" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Ei käytössä" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Hyvä" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Avaimen tunniste" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Luotan allekirjoittajan “%s” allekirjoituksiin muissa avaimissa" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Jos uskot, että tämän avaimen omistaja on “%s”, allekirjoita tämä " +"avain:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Jos et enää luota että “%s” omistaa tämän avaimen, mitätöi " +"allekirjoituksesi:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Vie _yksityinen avain" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Vie _julkinen avain" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Tämä avain on mitätöity" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Avaimen omistaja mitätöi avaimen eikä sitä voida enää käyttää." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Tämä avain on vanhentunut" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Lisää valokuva avaimeen" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Poista tämä valokuva tästä avaimesta" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Tee tästä valokuvasta oletuskuva" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Siirry edelliseen valokuvaan" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Siirry seuraavaan valokuvaan" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Kommentti" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Vaihda _tunnuslausetta" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Omistaja" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Avainten nimet ja allekirjoitukset" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Ensisijainen" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Allekirjoita" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Poista" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "Lisää _nimi" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Mitätöi" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Nimet ja allekirjoitukset" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Avaimen tunniste:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Tyyppi:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Vahvuus:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Tekniset yksityiskohdat" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Sormenjälki" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Luotu:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Vanhenee:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Päiväykset" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Ohita omistajan _luottamus:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Vie tiedostoon" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Toiminnot" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Vanhenna" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Aliavaimet" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Jonkin verran" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Kokonaan" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Ehdottomasti" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Muut nimet:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Luottamuksesi tähän avaimeen" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Luottamuksesi määritellään käsin välilehdestä ”Yksityiskohdat”." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Allekirjoita tämä avain" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Mitätöi allekirjoitus" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Henkilöt, jotka ovat allekirjoittaneet tämän avaimen:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "Näytä allekirjoitukset vain henkilöille joihin luotan" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Luottamus" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Tekniset yksityiskohdat:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Sormenjälki:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Päiväykset:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Osoita luottamus:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Luo_ttamuksesi omistajaan:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Salaa" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Varmenna" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Tunnistaudu" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Avain" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Aliavain %d avaimesta %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Avaimen mitätöimisen syy" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Syy:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Valinnainen mitätöimisen kuvaus" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Mitätöi avain" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "_Mitätöi" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Sinulla ei ole henkilökohtaisia PGP-avaimia, joita voitaisiin käyttää " +"asiakirjan tai viestin allekirjoitukseen." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Valitse allekirjoitusavain" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Allekirjoita viesti avaimella:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Viedään tietoja" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Noudetaan tietoja" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Tuodaan tietoja" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Lähetetään tietoja" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Ei käytettävissä" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Varmenne" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Varmenteet (DER-koodatut)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Henkilökohtainen varmenne ja avain" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Henkilökohtainen varmenne" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Haluatko varmasti poistaa %d varmenteen?" +msgstr[1] "Haluatko varmasti poistaa %d varmennetta?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Yksityisavaimen luonti ei onnistunut" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Ymmärrän, että tämä avain poistetaan lopullisesti." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Nimetön yksityinen avain" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Yksityinen avain" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Nimetön" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Varmenteen vienti epäonnistui" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Ei voitu poistaa" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Luo" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Varmennepyynnön luonti epäonnistui" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Tallenna varmennepyyntö" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Tallenna" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Varmennepyyntö" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM-koodattu pyyntö" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Varmennepyynnön tallennus epäonnistui" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Tuntematon" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509-varmenteet ja liittyvät avaimet" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Uusi yksityinen avain" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Luo uusi yksityinen avain" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Nimike:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Tallennussijainti:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Avaimen _tyyppi:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "Avaimen vahvuus (bittejä):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Poista tämä varmenne tai avain" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Vie varmenne" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Pyydä varmenne" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Luo varmennepyyntötiedosto tälle avaimelle" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Luo varmennepyyntötiedosto." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Varmennepyyntöön asetettava yleinen nimi (CN)." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Nimi (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Avustajat:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Tämän ohjelman versio" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Jarmo Kielosto, 2000\n" +"Ilkka Tuohela, 2004-2009\n" +"Tommi Vainikainen, 2008\n" +"Jani Välimaa, 2009\n" +"Jiri Grönroos, 2012-2020\n" +"\n" +"https://l10n.gnome.org/teams/fi/" + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Seahorse-projektin verkkosivusto" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Tuotavat tiedot" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Tuo" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Tuonti epäonnistui" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Tuo avain" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Kaikki avaintiedostot" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Pudotettu teksti" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Leikepöydän teksti" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Avainnippua ei voitu avata" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Vaihda tunnuslausetta" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Uusi _tunnuslause:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Varmista uusi tunnuslause" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "_Varmista tunnuslause:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Etsi etäavaimia…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Synkronoi ja julkaise avaimia…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Asetukset" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Ohje" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Pikanäppäimet" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_Tietoja - Salasanat ja salausavaimet" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Suodata kohteita:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Näytä _henkilökohtaiset" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Näytä _luotetut" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Näytä _mikä tahansa" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Secure Shell -avain" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Käytetään kirjauduttaessa muihin tietokoneisiin" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG-avain" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Käytetään sähköpostin ja tiedostojen salaukseen" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Salasanojen avainnippu" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Käytetään tallentamaan ohjelmien ja verkon salasanoja" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Tallenna salasana tai salaisuus turvallisesti" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Käytetään varmennepyyntöihin" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Tuo tiedostosta…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Lisää uusi avain tai kohde" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Takaisin" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Etsi avainta tai salasanaa" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Suodata" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Tämä kokoelma vaikuttaa tyhjältä" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Avainnippu on lukittu" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Avaa lukitus" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Kopioi salaisuus" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Vie…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Ominaisuudet" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Määritä SSH-avain…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Lukitse" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Avaa lukitus" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Ominaisuudet" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Lukitus ei onnistunut" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Secure Shell" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Muihin tietokoneisiin yhteyttä otettaessa käytettävät avaimet" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Haluatko varmasti poistaa SSH-avaimen “%s”?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Haluatko varmasti poistaa %u SSH-avaimen?" +msgstr[1] "Haluatko varmasti poistaa %u SSH-avainta?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Salaiset SSH-avaimet" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Julkiset SSH-avaimet" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH-avain" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Tälle avaimelle ei ole saatavilla julkista avainta." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Uutta luotua SSH-avainta ei voitu ladata" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "SSH-avainta ei voitu luoda" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Luodaan SSH-avainta" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bittiä" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bittiä" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Tuntematon avaintyyppi!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Tuntematon tyyppi" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Avainta ei voitu nimetä uudestaan." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Avaimen valtuutusta ei voitu muuttaa." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Avaimen tunnuslausetta ei voitu vaihtaa." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Virhe SSH-avainta poistaessa." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Henkilökohtainen SSH-avain" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH-avain" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Lukukelvoton SSH-avain)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "SSH-avain" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Etäpalvelimen salasana" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Syötä avaimen tunnuslause" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Uuden SSH-avaimen tunnuslause" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Tuodaan avaimia: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Tuodaan avainta. Syötä tunnuslause" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Syötä SSH-avaimesi tunnuslause:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Avaimen vanha tunnuslause" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Syötä avaimen vanhan tunnuslause: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Avaimen uusi tunnuslause" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Syötä uusi tunnuslause: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Syötä uusi tunnuslause uudelleen: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Uusi SSH-avain" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "SSH mahdollistaa salattujen yhteyksien luonnin muihin tietokoneisiin." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Kuvaus" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Sähköpostiosoitteesi tai muu muistutus tämän avaimen tarkoitusperästä." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Jos sinulla on jo tietokone, johon yhteyttä otettaessa haluaisit käyttää " +"tätä avainta, voit asettaa kyseisen tietokoneen tunnistamaan uuden avaimesi." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "Luo _vain avain" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Luo ja ota käyttöön" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH-avaimen ominaisuudet" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nimi" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritmi" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Avaimen pituus" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Sijainti" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Julkinen avain" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Kopioi julkinen avain leikepöydälle" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Etäkäyttö" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Mahdollistaa tälle tietokoneelle kirjautumisen etänä" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Vie" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Poista SSH-avain" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Valmistele tietokone SSH-yhteyttä varten" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Jotta voit ottaa SSH-avaimen avulla yhteyttä toiseen tietokoneeseen, täytyy " +"sinulla olla käyttäjätili kyseisessä tietokoneessa." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Palvelimen osoite:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "esim: tiedostopalvelin.esimerkki.fi:portti" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Käyttäjätunnus:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Valmistele" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH-avaimet" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Tälle avaimelle ei ole saatavilla salaisen avaimen tiedostoa." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "SSH-avaimia ei voitu määritellä etätietokoneella." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Määritellään SSH-avaimia…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse on Gnome-sovellus salausavainten hallintaan. Se integroituu " +#~ "tiedostonhallintaan, tekstimuokkaimeen ja monien muiden sovellusten " +#~ "salaustoimintoihin." + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Aliavainta ei voitu lisätä" + +#~ msgid "Encryption _Type:" +#~ msgstr "Salaus_tyyppi:" + +#~ msgid "Keyring is unlocked" +#~ msgstr "Avainnippu on avattu" + +#~ msgid "Lock" +#~ msgstr "Lukitse" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Yhdistä kaikki avainniput" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Full _Name:" +#~ msgstr "Koko _nimi:" + +#~ msgid "_Email Address:" +#~ msgstr "_Sähköpostiosoite:" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "Ohjelmat yleensä tallentavat uuden salasana oletusavainnippuun." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Vaihda salasana-avainnipun pääsalasanaa" + +#~ msgid "About Seahorse" +#~ msgstr "Tietoja - Seahorse" + +#~ msgid "_Show Password" +#~ msgstr "Näytä _salasana" + +#, fuzzy +#~| msgid "Couldn’t add user id" +#~ msgid "Couldn't add user id" +#~ msgstr "Käyttäjän tunnistetta ei voitu lisätä" + +#~ msgid "Marginal" +#~ msgstr "Jonkin verran" + +#~ msgid "Full" +#~ msgstr "Kokonaan" + +#~ msgid "Ultimate" +#~ msgstr "Ehdottomasti" + +#~ msgid "Key Properties" +#~ msgstr "Avaimen ominaisuudet" + +#~ msgid "About" +#~ msgstr "Tietoja" + +#~ msgid "_File" +#~ msgstr "_Tiedosto" + +#~ msgid "_Edit" +#~ msgstr "_Muokkaa" + +#~ msgid "Delete selected items" +#~ msgstr "Poista valitut kohteet" + +#~ msgid "Show the properties of this item" +#~ msgstr "Näytä kohteen ominaisuudet" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Näytä avainnipun ominaisuudet" + +#~ msgid "Prefere_nces" +#~ msgstr "_Asetukset" + +#~ msgid "Change preferences for this program" +#~ msgstr "Muuta ohjelman asetuksia" + +#~ msgid "_View" +#~ msgstr "_Näytä" + +#~ msgid "About this program" +#~ msgstr "Tietoja ohjelmasta" + +#~ msgid "_Contents" +#~ msgstr "_Sisältö" + +#~ msgid "Show Seahorse help" +#~ msgstr "Näytä Seahorsen ohje" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Uusi salasana-avainnippu" + +#~ msgid "New password…" +#~ msgstr "Uusi salasana…" + +#~ msgid "PGP Key" +#~ msgstr "PGP-avain" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Tuodaan avaimia avainpalvelimilta" + +#~ msgid "_Remote" +#~ msgstr "_Verkko" + +#~ msgid "Close this window" +#~ msgstr "Sulje tämä ikkuna" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Tuo valitut avaimet paikalliseen avainnippuun" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Julkaise ja jaa avaimia muiden linjoilla olevien kanssa." + +#~ msgid "Photo " +#~ msgstr "Valokuva " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nimi:" + +#~ msgid "Email:" +#~ msgstr "Sähköposti:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Pura tiedostojen ja vastaanotetun sähköpostin salaus." + +#~ msgid "Private PGP Key" +#~ msgstr "Yksityinen PGP-avain" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Salaa tiedostoja ja sähköpostia avaimen omistajalle" + +#~ msgid "- System Settings" +#~ msgstr "- Järjestelmän asetukset" + +#~ msgid "Don't display a window" +#~ msgstr "Älä näytä ikkunaa" + +#~ msgid "_New" +#~ msgstr "_Uusi" + +#~ msgid "Close this program" +#~ msgstr "Sulje ohjelma" + +#~ msgid "_New…" +#~ msgstr "_Uusi…" + +#~ msgid "_Import…" +#~ msgstr "_Tuo…" + +#~ msgid "_Paste" +#~ msgstr "_Liitä" + +#~ msgid "Import from the clipboard" +#~ msgstr "Tuo leikepöydältä" + +#~ msgid "By _Keyring" +#~ msgstr "_Avainnipun mukaan" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Näytä vain henkilökohtaiset avaimet, varmenteet ja salasanat" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Näytä vain luotetut avaimet, varmenteet ja salasanat" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Näytä kaikki avaimet, varmenteet ja salasanat" + +#~ msgid "New item" +#~ msgstr "Uusi tietue" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "Valitse luotavan kohteen tyyppi:" + +#~ msgid "Continue" +#~ msgstr "Jatka" + +#~ msgid "First time options:" +#~ msgstr "Ensimmäisen käyttökerran valinnat:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Tarvitset salausavaimen aloittaaksesi salaamisen." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Tuo olemassa olevia avaimia tiedostosta:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Luo itse uusi avain: " + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Lähetä julkinen SSH-avain toiselle tietokoneelle ja salli siihen " +#~ "kirjautumiset lähetetyllä avaimella." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Käytetään yhteyksissä muihin tietokoneisiin (esim päätteen kautta)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Nimi:" + +#~ msgid "Identifier:" +#~ msgstr "Tunniste:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "" +#~ "Tämän avaimen omistaja on _valtuutettu ottamaan yhteyttä tähän " +#~ "tietokoneeseen" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Tämä vaikuttaa vain tiliin ”%s”." + +#~ msgid "Key length:" +#~ msgstr "Avaimen pituus:" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Hakupalvelua ei ole ladattu vielä" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Name:" +#~ msgstr "Nimi:" + +#~ msgid "Keyring" +#~ msgstr "Avainnippu" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "SSH-komento keskeytettiin odottamatta." + +#~ msgid "The SSH command failed." +#~ msgstr "SSH-komento epäonnistui." + +#~ msgid "E_xport..." +#~ msgstr "_Vie…" + +#~ msgid "_Find Remote Keys..." +#~ msgstr "Etsi _avaimia verkosta…" + +#~ msgid "_New..." +#~ msgstr "_Uusi…" + +#~ msgid "_Import..." +#~ msgstr "_Tuo…" + +#~ msgid "Ssh Key" +#~ msgstr "SSH-avain" + +#~ msgid "Updating password" +#~ msgstr "Päivitetään salasanoja" + +#~ msgid "_Computer Name:" +#~ msgstr "_Tietokoneen nimi:" + +#~ msgid "Password:" +#~ msgstr "Salasana:" + +#~ msgid "Key Servers:" +#~ msgstr "Avainpalvelimet" + +#~ msgid "Never" +#~ msgstr "Ei koskaan" + +#~ msgid "Key ID:" +#~ msgstr "Avaimen tunniste:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nimi:" + +#~ msgid "Comment:" +#~ msgstr "Kommentti:" + +#~ msgid "Use:" +#~ msgstr "Käyttö:" + +#~ msgid "Type:" +#~ msgstr "Tyyppi:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "Avainten nimet ja tunnisteet" + +#~ msgid "Dates" +#~ msgstr "Päivämäärät" + +#~ msgid "Dates:" +#~ msgstr "Päiväykset:" + +#~| msgid "Name:" +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Nimi:" + +#~ msgid "Trust" +#~ msgstr "Luottamus" + +#~ msgid "Strength:" +#~ msgstr "Vahvuus:" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "Pääsy avainnippuun estettiin" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "Gnome-keyring -palvelinprosessi ei ole päällä" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "Avainnipun salaus on jo avattu" + +#~ msgid "No such key ring exists" +#~ msgstr "Avainnippua ei ole olemassa" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "Yhteyttä avainnippupalveluun ei saatu muodostettua" + +#~ msgid "The item already exists" +#~ msgstr "Kohta on jo olemassa" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "Sisäinen virhe yhteydessä gnome-keyring -palvelimeen" + +#~ msgid "Algorithms here" +#~ msgstr "Tässä käytetyt algoritmit" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 00000000..fc880755 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,2884 @@ +# French translation of seahorse. +# Copyright (C) 2000-2019 Free Software Foundation, Inc. +# This file is distributed under the same license as the seahorse package. +# +# Gaël Quéri , 2000. +# Stéphane Blondin , 2003. +# Christophe Merlet . 2003-2006. +# David Soulayrol , 2005. +# Jonathan Ernst , 2006-2007. +# Claude Paroz , 2007-2019. +# Stéphane Raimbault , 2007-2008. +# Robert-André Mauchin , 2008. +# Bruno Brouard , 2009-2012. +# Alexandre Franke , 2011-2012. +# Grawok , 2012. +# Guillaume Bernard , 2014-2018 +# Charles Monzat , 2018-2020. +# Thibault Martin , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse.HEAD\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-08-09 17:21+0000\n" +"PO-Revision-Date: 2020-08-14 14:12+0200\n" +"Last-Translator: Thibault Martin \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"X-Generator: Gtranslator 3.36.0\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Ajouter un serveur de clés" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Personnalisé" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Annuler" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Enregistrer" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Suppression impossible" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Impossible d’exporter les clés" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Impossible d’exporter les données" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "A_nnuler" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Supprimer" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Exporter" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Saisissez le code PIN ou le mot de passe pour : %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Confirmation :" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Valider" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Mot de passe :" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Mots de passe" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Clés" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certificats" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Préférences" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Aucun : ne pas publier les clés" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Adresse de serveur de clés non valide." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Pour obtenir de l’aide, contactez votre administrateur système ou " +"l’administrateur du serveur de clés." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "élément temporaire initial" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Type de serveur de clés :" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Hôte :" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Le nom de l’hôte ou l’adresse du serveur." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr " :" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Le port sur lequel accéder au serveur." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Trouver des clés avec :" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Publier les clés sur :" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Récupérer automatiquement les _clés depuis les serveurs de clés" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" +"Synchroniser automatiquement les clés _modifiées avec les serveurs de clés" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Serveurs de clés" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Inconnue" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Jamais" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Marginale" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Complète" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Ultime" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Désactivée" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Révoquée" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Vue d’ensemble" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Aide" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Ouvrir le menu" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Créer un nouvel élément" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Importer un élément depuis un fichier" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Chercher" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Liste de raccourcis" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Quitter" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navigation" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Sélectionner le trousseau précédent" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Sélectionner le trousseau suivant" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Afficher la barre latérale (sur petit écran)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Afficher le contenu du trousseau" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Récupération automatique des clés" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Indique si les clés doivent être automatiquement récupérées depuis les " +"serveurs de clés." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Publication automatique des clés" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Indique si les clés modifiées doivent être publiées automatiquement." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Publier les clés vers ce serveur de clés" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Le serveur de clés vers lequel publier les clés PGP. Laisser vide pour " +"empêcher la publication des clés PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Dernier motif de recherche de serveur de clés" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "" +"Le dernier motif de recherche utilisé pour interroger un serveur de clés." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Dernier serveur de clés utilisé" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Le dernier serveur de clé utilisé pour effectuer une recherche ; laisser " +"vide pour tous les serveurs de clés." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Afficher la barre latérale des trousseaux" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Afficher la barre latérale des trousseaux de clés dans Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Éléments à afficher" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtre des éléments à afficher. Si vide, afficher tous les éléments ; si " +"« personal », afficher les clés personnelles ; si « trusted », afficher les " +"clés de confiance." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Largeur du panneau latéral" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "La largeur par défaut du panneau latéral." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Trousseaux de clés choisis" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Les URI des trousseaux de clés choisis dans la barre latérale." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Colonne de tri des clés Seahorse" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Indique la colonne de tri de la fenêtre principale du gestionnaire de clés " +"Seahorse. Les colonnes sont : « name », « id », « validity », « expires », " +"« trust » et « type ». Placez un « - » devant le nom de colonne pour trier " +"dans l’ordre inverse." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Afficher la colonne de validité" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Plus utilisé." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Afficher la colonne d’expiration" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Afficher la colonne de confiance" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Afficher la colonne du type" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Largeur de la fenêtre" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Largeur (en pixels) de la fenêtre." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Hauteur de la fenêtre" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Hauteur (en pixels) de la fenêtre." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +# Utilisation de l'infinitif dans les infobulles du Bureau +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Gérer vos mots de passe et vos clés de chiffrement" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse est une application GNOME pour gérer les clés de chiffrement" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Seahorse permet de créer et de gérer des clés PGP et SSH, de publier et " +"d’obtenir des clés à partir de serveurs de clés, de mettre en cache sa " +"phrase de passe pour ne pas devoir la ressaisir de multiples fois et de " +"sauvegarder les clés et les trousseaux de clés." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Le projet GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Mots de passe et clés" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "trousseau;chiffrement;sécurité;signature;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Mots de passe, informations d’authentification et secrets enregistrés" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Impossible de déverrouiller" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Impossible d’ajouter l’élément" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Mot de passe ou secret" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Secret de la connexion réseau" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Mot de passe Wi-Fi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Mot de passe du réseau" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Mot de passe GNOME Web" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Mot de passe Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Mot de passe de messagerie instantanée" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Mot de passe du compte de messagerie instantanée pour " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Mot de passe Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Mot de passe GNOME Online Accounts" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Enregistrer les modifications de cet élément ?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Accède à un partage ou une ressource réseau" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Accède à un site Web" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Déverrouille une clé PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Déverrouille une clé de shell sécurisé" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Mot de passe ou identifiant enregistré" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Informations d’identification réseau" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Mot de passe" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Impossible de modifier le mot de passe." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Impossible de définir la description." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Erreur lors de la suppression du mot de passe." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Note enregistrée" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Mot de passe du trousseau" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Mot de passe de clé de chiffrement" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Mot de passe d’enregistrement de clé" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Secret du gestionnaire de réseau" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Voulez-vous vraiment supprimer le mot de passe « %s » ?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Voulez-vous vraiment supprimer %d mot de passe ?" +msgstr[1] "Voulez-vous vraiment supprimer %d mots de passe ?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Impossible d’ajouter un trousseau" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Date inconnue" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Un trousseau qui est automatiquement déverrouillé à la connexion" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Un trousseau utilisé pour stocker les mots de passe" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Impossible de définir le trousseau par défaut" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Impossible de modifier le mot de passe du trousseau" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Par défaut" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Modifier le _mot de passe" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Voulez-vous vraiment supprimer le trousseau de mots de passe « %s » ?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Je comprends que tous les éléments vont être supprimés définitivement." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Afficher ou cacher le mot de passe" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Ajouter un mot de passe" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Trousseau :" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Description :" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Mot de passe :" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Ajouter" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Ajouter un trousseau de mots de passe" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Veuillez choisir un nom pour le nouveau trousseau. Un mot de passe de " +"déverrouillage vous sera demandé ensuite." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Nom du nouveau trousseau :" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Propriétés de l’élément" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Description" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Copier" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Utilité" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Type" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Serveur" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Identifiant" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Détails" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Supprimer le mot de passe" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Propriétés du trousseau" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Nom" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Créé le" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Modifier le mot de passe" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Par défaut" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Afficher les indicateurs" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Les propriétés de date et d’heure affichées" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Mode paresseux" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "" +"Le mode paresseux ne normalise pas les valeurs de date et d’heure saisies" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Année" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Année affichée" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mois" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Mois affiché" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Jour" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Jour du mois affiché" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Heure" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Heure affichée" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minute" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Minute affichée" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Seconde" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Seconde affichée" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Année de la limite inférieure" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "La partie année de la date limite inférieure" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Année de la limite supérieure" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "La partie année de la date limite supérieure" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Mois de la limite inférieure" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "La partie mois de la date limite inférieure" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Mois de la limite supérieure" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "La partie mois de la date limite supérieure" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Jour de la limite inférieure" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "La partie jour de la date limite inférieure" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Jour de la limite supérieure" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "La partie jour du mois de la date limite supérieure" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Heure de la limite inférieure" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "La partie heure de l’heure limite inférieure" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Heure de la limite supérieure" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "La partie heure de l’heure limite supérieure" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Minute de la limite inférieure" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "La partie minute de l’heure limite inférieure" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Minute de la limite supérieure" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "La partie minute de l’heure limite supérieure" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Seconde de la limite inférieure" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "La partie seconde de l’heure limite inférieure" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Seconde de la limite supérieure" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "La partie seconde de l’heure limite supérieure" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Date" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Saisissez directement la date" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Sélectionnez la date" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Sélectionnez la date dans un calendrier" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Heure" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Saisissez directement l’heure" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Sélectionnez l’heure" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Sélectionnez l’heure dans une liste" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%3$02d/%2$02d/%1$04d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Impossible d’afficher l’aide : %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Ajouter une sous-clé à %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (signature seule)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (chiffrement seul)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (signature seule)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (chiffrement seul)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "_Type de la clé" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "_Longueur de la clé" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Longueur de la clé" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Date d’expiration" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "N’e_xpire jamais" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Si la clé n’a pas une durée de vie limitée" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Générer une nouvelle sous-clé" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Ajouter un identifiant utilisateur à %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Impossible d’ajouter l’identifiant utilisateur" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Ajouter un identifiant utilisateur" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_Nom complet" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Doit être long d’au moins 5 caractères" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_Adresse électronique" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Adresse électronique optionnelle" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Co_mmentaire de la clé" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Commentaire optionnel décrivant la clé" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Créer le nouvel identifiant utilisateur" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"Le déchiffrement a échoué. Vous ne disposez probablement pas de la clé de " +"déchiffrement." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "L’opération a été annulée" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Date d’expiration non valide" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "La date d’expiration doit être dans le futur" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Impossible de modifier la date d’expiration" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Expiration : %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_N’expire jamais" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Modifier" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Clés multiples" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Données de la clé" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Clés blindées PGP" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Clés PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA et ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Impossible de générer la clé PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Phrase de passe pour la nouvelle clé PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Saisissez deux fois la phrase de passe pour votre nouvelle clé." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Lors de la création d’une clé, il est nécessaire de générer\n" +"beaucoup de données aléatoires et pour cela nous avons besoin\n" +"de votre aide. Il est bon d’effectuer d’autres activités\n" +"comme saisir au clavier, déplacer la souris et utiliser des\n" +"applications. Cela fournit au système les données aléatoires\n" +"dont il a besoin." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Génération de clé" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Le nom doit comporter au moins 5 caractères." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Nouvelle clé PGP" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Une clé PGP vous permet de chiffrer des courriels ou des fichiers à " +"destination d’autres personnes." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Options _avancées de clé" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Commentaire" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_Type de chiffrement" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Force de la clé (bits)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Date d’e_xpiration" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "N’expire _jamais" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "C_réer" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Générer une nouvelle clé" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Voulez-vous vraiment supprimer définitivement %s ?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Voulez-vous vraiment supprimer définitivement %d clé ?" +msgstr[1] "Voulez-vous vraiment supprimer définitivement %d clés ?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Mauvais mot de passe" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"C’est la troisième fois que vous saisissez un mauvais mot de passe. Essayez " +"à nouveau." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Phrase de passe incorrecte." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Saisissez la nouvelle phrase de passe pour « %s »" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Saisissez la phrase de passe pour « %s »" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Saisissez la nouvelle phrase de passe" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Saisissez la phrase de passe" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Phrase de passe" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d clé chargée" +msgstr[1] "%d clés chargées" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Données de clé non valide (UID manquant). Cela peut provenir d’une date d’un " +"ordinateur configurée dans le futur ou d’une auto-signature manquante." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Clés GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG : répertoire par défaut du trousseau" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"La photo est trop grande\n" +"La taille recommandée pour une photo sur une clé est de %d × %d pixels." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "Ne _pas redimensionner" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Redimensionner" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Ce n’est pas un fichier image ou le format n’est pas reconnu. Essayez " +"d’utiliser une image JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Tous les fichiers images" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Tous les fichiers JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Tous les fichiers" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Choisissez une photo à joindre à la clé" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Ouvrir" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Impossible de préparer la photo" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Impossible d’ajouter une photo" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" +"Le fichier n’a pas pu être chargé. Il se peut que son format ne soit pas " +"valide." + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Voulez-vous vraiment supprimer la photo actuelle de votre clé ?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Impossible de supprimer la photo" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Impossible de révoquer la sous-clé" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Révocation : %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Aucune raison" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Aucune raison pour révoquer la clé" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Compromise" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "La clé a été compromise" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Remplacée" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "La clé a été remplacée" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Plus utilisée" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "La clé n’est plus utilisée" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Vous êtes sur le point d’ajouter %s comme révocateur pour %s. Cette " +"opération ne peut être annulée. Voulez-vous vraiment poursuivre ?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Impossible d’ajouter un révocateur" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Je comprends que cette clé secrète sera supprimée définitivement." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Cette clé a déjà été signée par\n" +"« %s »" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Impossible de signer la clé" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Aucune clé utilisable pour la signature" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Vous ne disposez d’aucune clé PGP personnelle permettant d’indiquer votre " +"confiance dans cette clé." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Signer la clé" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Votre signature atteste votre confiance que cette clé appartient à :" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Nom de la clé" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Avec quelle précaution avez-vous vérifié cette clé ?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Pas du tout" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "S_uperficiellement" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Très sérieusement" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Pas du tout : signifie que vous pensez que la clé appartient bien à " +"la personne qu’elle prétend représenter, mais que vous n’avez pas pu ou pas " +"voulu vous en assurer." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Superficiellement : signifie que vous avez vérifié rapidement que la " +"clé appartient bien à la personne qu’elle prétend représenter. Par exemple, " +"vous avez peut-être lu par téléphone l’empreinte de la clé à son " +"propriétaire." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Très sérieusement : ne choisissez cette option que si vous êtes " +"absolument sûr que cette clé est véritable." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Vous pouvez utiliser un moyen d’identification photographique difficile à " +"falsifier (tel qu’un passeport) pour vérifier personnellement que le nom " +"apposé sur la clé est correct. Vous devriez aussi avoir employé le courriel " +"pour vérifier qu’il appartient bien au propriétaire de la clé." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Comment les autres verront cette signature :" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "Les _autres ne peuvent pas voir cette signature" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Je peux _révoquer cette signature à une date ultérieure." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Signer la clé comme :" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "Si_gnataire :" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Signer" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Inconnu" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"La requête n’était pas assez spécifique. Le serveur « %s » a trouvé trop de " +"clés." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Impossible de communiquer avec le serveur « %s » : %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Serveur de clés HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Impossible d’importer la clé : %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Clé importée avec succès" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Importer" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Impossible d’importer la clé" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Clés distantes" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Clés distantes contenant « %s »" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "La recherche de clés a échoué." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Double-cliquez sur une clé pour l’examiner, ou cliquez sur le bouton " +"d’importation pour l’importer dans votre trousseau de clés local." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Chercher des clés distantes" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Ceci cherchera les clés d’autres personnes sur Internet. Ces clés peuvent " +"être importées dans votre trousseau de clés local." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "Ch_ercher des clés contenant : " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Emplacements de recherche :" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Serveurs de clés :" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Clés partagées dans le voisinage :" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Chercher" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Impossible de publier les clés vers le serveur" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Impossible de récupérer les clés depuis le serveur : %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d clé est sélectionnée pour synchronisation" +msgstr[1] "%d clés sont sélectionnées pour synchronisation" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Synchronisation des clés…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Synchroniser les clés" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Ceci publiera les clés de votre trousseau afin qu’elles soient disponibles " +"pour les autres. Vous obtiendrez également toutes les modifications que " +"d’autres ont faites depuis que vous avez reçu leurs clés." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Ceci récupérera toutes les modifications que d’autres ont faites depuis que " +"vous avez reçu leurs clés. Aucun serveur de clés n’a été choisi pour " +"publier, vos clés ne seront donc pas mises à disposition des autres." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Serveurs de _clés" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Synchroniser" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Impossible de communiquer avec %s : %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Connexion à : %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Impossible de résoudre l’adresse : %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Résolution de l’adresse du serveur : %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Serveur de clés LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Clés PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "Les clés PGP servent au chiffrement des courriels ou des fichiers" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(et %d autre)" +msgstr[1] "(et %d autres)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Clé PGP personnelle" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Clé PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Impossible de modifier l’identifiant utilisateur principal" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "" +"Voulez-vous vraiment supprimer définitivement l’identifiant utilisateur %s ?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Impossible de supprimer l’identifiant utilisateur" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Inconnue]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Nom/Courriel" + +# src/dialogs/seahorse-signatures.glade2.h: +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Identifiant de signature" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Impossible de modifier la photo principale" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Erreur lors de la modification du mot de passe" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(inconnue)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Cette clé a expiré le : %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Clé publique" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Clé privée" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Voulez-vous vraiment supprimer définitivement la sous-clé %d de %s ?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Impossible de supprimer la sous-clé" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Impossible de modifier la confiance" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Impossible d’exporter la clé" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Jamais" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Utilisation" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Créée le" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Expire" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "État" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Force" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Révoquée" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Expiré" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Désactivée" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Bon" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Identifiant de la clé" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "J’ai confiance dans les signatures de « %s » sur d’autres clés" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Si vous croyez que la personne propriétaire de cette clé est « %s », " +"signez cette clé :" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Si vous ne croyez plus que « %s » est propriétaire de cette clé, " +"révoquez votre signature :" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "E_xporter la clé secrète" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Exporter la clé _publique" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Cette clé a été révoquée" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" +"Le propriétaire de la clé l’a révoquée. Elle ne peut plus être utilisée." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Cette clé a expiré" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Ajouter une photo à cette clé" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Enlever cette photo de cette clé" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Faire de cette photo la principale" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Aller à la photo précédente" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Aller à la photo suivante" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Commentaire" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Changer la _phrase de passe" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Propriétaire" + +# src/dialogs/seahorse-signatures.glade2.h: +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Noms et signatures de la clé" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Principale" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Signer" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Supprimer" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Ajouter nom" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Révoquer" + +# src/dialogs/seahorse-signatures.glade2.h: +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Noms et signatures" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Identifiant de la clé :" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Type :" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Force :" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Détails techniques" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Empreinte" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Créée le :" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Expiration :" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Dates" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Remplacer la _confiance du propriétaire :" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Exporter vers un fichier" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Actions" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Expiration" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Sous-clés" + +# "Votre _confiance du propriétaire :" +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Marginale" + +# "Votre _confiance du propriétaire :" +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Complète" + +# "Votre _confiance du propriétaire :" +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Ultime" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "Autres _noms :" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Votre confiance dans cette clé" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "" +"Votre degré de confiance est indiqué manuellement dans l’onglet Détails." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Signer la clé" + +# src/dialogs/seahorse-signatures.glade2.h: +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Révoquer la signature" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Personnes signataires de cette clé :" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "Afficher _uniquement les signatures des personnes de confiance" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Confiance" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Détails techniques :" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Empreinte :" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Dates :" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Indiquez votre confiance :" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Votre _confiance du propriétaire :" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Chiffrement" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certificat" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Authentification" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Clé" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Sous-clé %d de %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Raison pour révoquer la clé" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Raison :" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Description optionnelle de la révocation" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Révoquer la clé" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Ré_voquer" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Vous ne disposez d’aucune clé PGP permettant de signer un document ou un " +"message." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Choisissez une clé de signature" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Signer le message avec la clé :" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Exportation de données" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Récupération de données" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Importation de données" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Envoi de données" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Non disponible" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certificat" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certificats (codage DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Clé et certificat personnel" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Certificat personnel" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Voulez-vous vraiment supprimer définitivement %d certificat ?" +msgstr[1] "Voulez-vous vraiment supprimer définitivement %d certificats ?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Impossible de générer la clé privée" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Je comprends que cette clé sera supprimée définitivement." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Clé privée sans nom" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Clé privée" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Sans nom" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "L’exportation du certificat a échoué" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Suppression impossible" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Créer" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Impossible de créer la demande de certificat" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Enregistrer la demande de certificat" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Enregistrer" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Demande de certificat" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Demande PEM codée" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Impossible d’enregistrer la demande de certificat" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Inconnue" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Certificats X.509 et clés connexes" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Nouvelle clé privée" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Créer une nouvelle clé privée" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Étiquette :" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Enregistré dans :" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Type de la clé :" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Force de la clé (bits) :" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Détruire ce certificat ou cette clé" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Exporte le certificat" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Demander le certificat" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Créer un fichier de demande de certificat pour cette clé" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Créer un fichier de demande de certificat." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Le nom commun (CN) placé dans la demande de certificat." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Nom (CN) :" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Contributions :" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Version de cette application" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Gaël Quéri \n" +"Stéphane Blondin \n" +"Christophe Merlet \n" +"David Soulayrol \n" +"Jonathan Ernst \n" +"Claude Paroz \n" +"Stéphane Raimbault \n" +"Bruno Brouard \n" +"Alexandre Franke \n" +"Guillaume Bernard " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Page d’accueil du projet Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Données à importer" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importer" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Échec de l’importation" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Importer une clé" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Tous les fichiers de clé" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Texte déposé" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Texte du presse-papiers" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Impossible de déverrouiller le trousseau" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Changer la phrase de passe" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Nouvelle _phrase de passe :" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Confirmer la nouvelle phrase de passe" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Con_firmer la phrase de passe :" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "C_hercher des clés distantes…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Synchroniser et publier des clés…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Préférences" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "Aid_e" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Raccourcis clavier" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "À _propos de Mots de passe et clés" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filtrer les éléments :" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Afficher les données p_ersonnelles" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Afficher les _données de confiance" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "To_ut afficher" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Clé du shell sécurisé" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Utilisée pour accéder à d’autres ordinateurs" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Clé GPG" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Utilisée pour chiffrer les courriels et les fichiers" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Trousseau de mots de passe" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "" +"Utilisé pour enregistrer les mots de passe des applications et du réseau" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Enregistre de manière sécurisée un mot de passe ou un secret" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Utilisé pour faire une demande de certificat" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importer depuis un fichier…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Ajouter une nouvelle clé ou élément" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Retour" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Cherche une clé ou un mot de passe" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filtrer" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Cette collection semble être vide" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Le trousseau est verrouillé" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Déverrouiller" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Copier le secret" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Exporter…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Propriétés" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Configurer la clé pour un shell sécurisé…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Verrouiller" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Déverrouiller" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Propriétés" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Impossible de verrouiller" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Shell sécurisé" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "" +"Clés utilisées pour se connecter de manière sécurisée à d’autres ordinateurs" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Voulez-vous vraiment supprimer la clé de shell sécurisé « %s » ?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Voulez-vous vraiment supprimer %u clé de shell sécurisé ?" +msgstr[1] "Voulez-vous vraiment supprimer %u clés de shell sécurisé ?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Clé SSH secrète" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Clé SSH publique" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Clé SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Aucun fichier de clé publique n’est disponible pour cette clé." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Impossible de charger la clé de shell sécurisé nouvellement créée" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Impossible de générer la clé de shell sécurisé" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Création d’une clé de shell sécurisé" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bits" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bits" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Type de clé inconnu !" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Type inconnu" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Impossible de renommer la clé." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Impossible de modifier l’autorisation de la clé." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Impossible de modifier la phrase de passe de la clé." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Erreur de suppression de la clé SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Clé SSH personnelle" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Clé SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Clé du shell sécurisé non lisible)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Clé du shell sécurisé" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Mot de passe de l’hôte distant" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Saisissez la phrase de passe de la clé" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Phrase de passe pour la nouvelle clé du shell sécurisé" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Importation de la clé : %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Importation de la clé. Saisissez la phrase de passe" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Saisissez votre phrase de passe du shell sécurisé :" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Phrase de passe de l’ancienne clé" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Saisissez l’ancienne phrase de passe pour : %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Phrase de passe de la nouvelle clé" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Saisissez la nouvelle phrase de passe pour : %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Saisissez encore une fois la nouvelle phrase de passe pour : %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Nouvelle clé de shell sécurisé" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Une clé de shell sécurisé (SSH) permet de vous connecter de manière sûre à " +"d’autres ordinateurs." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Description" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Votre adresse électronique ou tout autre indice permettant de vous rappeler " +"à quoi sert cette clé." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Si vous savez déjà que vous allez utiliser cette clé pour un ordinateur " +"précis, vous pouvez le configurer maintenant pour qu’il reconnaisse cette " +"nouvelle clé." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "Créer _seulement" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Créer et configurer" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Propriétés de la clé SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nom" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algorithme" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Longueur de la clé" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Emplacement" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Clé publique" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Copier la clé publique dans le presse-papiers" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Accès distant" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Autorise l’accès à distance à cet ordinateur" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Exporter" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Supprimer la clé SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Configurer un ordinateur pour une connexion SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Pour utiliser votre clé de shell sécurisé sur un autre ordinateur utilisant " +"SSH, vous devez disposer d’un compte pour vous connecter sur cet ordinateur." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Adresse du _serveur :" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "ex : serveur.exemple.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "Identifiant de _connexion :" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Configurer" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Clés OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH : %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Aucun fichier de clé privée n’est disponible pour cette clé." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "" +"Impossible de configurer des clés de shell sécurisé sur l’ordinateur distant." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Configuration de clés de shell sécurisé…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse est une application GNOME pour la gestion des clés de " +#~ "chiffrement. Elle s’intègre également avec Nautilus, Gedit et d’autres " +#~ "applications pour se charger des opérations de chiffrement." + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Impossible d’ajouter une sous-clé" + +#~ msgid "Encryption _Type:" +#~ msgstr "_Type de chiffrement :" + +#~ msgid "Keyring is unlocked" +#~ msgstr "Le trousseau est déverrouillé" + +#~ msgid "Lock" +#~ msgstr "Verrouiller" + +#~ msgid "_Combine all keyrings" +#~ msgstr "Re_grouper tous les trousseaux" + +#~ msgid "OK" +#~ msgstr "Valider" + +#~ msgid "Full _Name:" +#~ msgstr "_Nom complet :" + +#~ msgid "_Email Address:" +#~ msgstr "_Adresse électronique :" diff --git a/po/fur.po b/po/fur.po new file mode 100644 index 00000000..96b0c3a6 --- /dev/null +++ b/po/fur.po @@ -0,0 +1,3059 @@ +# Friulian translation for seahorse. +# Copyright (C) 2016 seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# Fabio Tomat , 2016, 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-09-21 17:01+0000\n" +"PO-Revision-Date: 2020-10-18 17:18+0200\n" +"Last-Translator: Fabio Tomat \n" +"Language-Team: Friulian \n" +"Language: fur\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.4.1\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Zonte servidôr di clâfs" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Personalizât" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Anule" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Salve" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Impussibil eliminâ" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Impussibil espuartâ lis clâfs" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Impussibil espuartâ i dâts" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Anule" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Elimine" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Espuarte" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Inserìs il PIN o une password par: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Conferme:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Va ben" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Password:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Password" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Clâfs" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certificâts" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Preferencis" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Nissun: no sta publicâ lis clâfs" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "No je une direzion di servidôr di clâfs valide." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Par jutori contate l'aministradôr di sisteme o l'aministradôr dal servidôr " +"di clâfs." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "element temporani iniziâl" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Gjenar di servidôr di clâfs:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Host:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Il non host o la direzion dal servidôr." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "La puarte di acès dal servidôr." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Cjate clâfs doprant:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Publiche clâfs su:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Tire jù in automatic lis clâfs dai servidôrs di _clâfs" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "_Sincronizâ in automatic lis clâfs _modificadis cui servidôrs di clâfs" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Servidôrs di clâfs" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "No cognossude" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Mai" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Margjinâl" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Plene" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Assolude" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Disabilitade" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Revocade" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Panoramiche" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Jutori" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Vierç menù" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Cree un gnûf element" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Impuarte element dal file" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Cîr" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Liste scurtis" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Jes" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navigazion" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Selezione il puarteclâfs precedent" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Selezione puarteclâfs sucessîf" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Mostre il ricuadri laterâl (su schermis piçui)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Mostre il contignût al puarteclâfs (su schermis piçui)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Oten in automatic lis clâfs" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Indiche se recuperâ in automatic o no lis clâfs dai servidôrs di clâfs." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Publiche in automatic lis clâfs" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Indiche se publicâ in automatic o no lis clâfs modificadis." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Publiche lis clâfs su chest servidôr di clâfs" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Il servidôr di clâfs dulà publicâ lis clâfs PGP. O vueit par soprimi la " +"publicazion des clâfs PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Ultin model di ricercje dal servidôr di clâfs" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "L'ultin model di ricercje doprât par cirî un servidôrs di clâfs." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Ultin servidôr di clâfs doprât" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"L'ultin servidôr di clâfs doprât intune ricercje o vueit par ducj i " +"servidôrs di clâfs." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Mostre la sbare laterâl dai puarteclâfs" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Mostre il ricuadri laterâl dai puarteclâfs in Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Cuai elements mostrâ" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtre cuai elements mostrâ. Se vueit, mostre ducj i elements, se “personal” " +"mostre lis clâfs personâls, se “trusted” mostre chês fidadis." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Largjece dal ricuadri laterâl" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "La largjece predefinide dal ricuadri laterâl." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "I puarteclâfs sielzûts" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "I URI dai puarteclâfs sielzûts te sbare laterâl." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "La colone di doprâ par ordenâ lis clâfs di Seahorse" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Specifiche la colone di doprâ par ordenâ il barcon principâl dal gjestôr di " +"clâfs di Seahorse. Lis colonis a son: “name”, “id”, “validity”, “expires”, " +"“trust” e “type”. Met un “-” denant dal non de colone par ordenâ in calâ " +"(ordin decressent)." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Mostre colone validitât" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "No plui doprade." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Mostre colone scjadence" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Mostre colone fidâts" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Mostre colone gjenar" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Largjece dal barcon" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Largjece (in pixel) dal barcon." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Altece dal barcon" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Altece (in pixel) dal barcon." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Ministre lis tôs password e clâfs di cifradure" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "" +"Seahorse e je une aplicazion di GNOME pe gjestion des clâfs di cifradure." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Cun seahorse tu puedis creâ e gjestî clâfs PGP, creâ e ministrâ clâfs SSH, " +"publicâ e recuperâ clâfs dai servidôrs di clâfs, tignî in memorie lis tôs " +"passphrase cussì no tu âs di tornâ a scrivilis e tu puedis fâ il backup des " +"tôs clâfs e dai puarteclâfs." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Il progjet GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Password e clâfs" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "puarteclâfs;cifradure;sigurece;firme;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Archivie password, credenziâi e segrets personâi" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Impussibil sblocâ" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Impussibil zontâ l'element" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Password o segret" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Segret de conession di rêt" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Password dal Wi-Fi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Password di rêt" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Password di GNOME Web" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Password di Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Password pai messaçs istantanis" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Password dal account di messaçs istantanis par " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Password di Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Password dai GNOME Online Account" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Salvâ lis modifichis par chest element?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Acedi a une risorse o une condivision di rêt" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Acedi a un sît web" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Sbloche une clâf PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Sbloche une clâf Secure Shell" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Password o dâts di acès salvâts" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Credenziâi di rêt" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Password" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Impussibil cambiâ la password." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Impussibil stabilî une descrizion." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Erôr tal eliminâ la password." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Note memorizade" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Passworld dal puarteclâfs" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Password de clâf di cifradure" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Password dal archivi de clâf" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Segret di Network Manager" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Sigûrs di eliminâ la password «%s»'?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Sigûr di eliminâ %d password?" +msgstr[1] "Sigûr di eliminâ %d password?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Impussibil zontâ il puarteclâfs" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Date no cognossude" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Un puarteclâfs di sblocâ in automatic al acès" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Un puarteclâfs doprât par memorizâ lis password" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Impussibil stabilî un puarteclâfs predefinît" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Impussibil cambiâ la password dal puarteclâfs" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Met come predefinît" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Cambie _password" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Sigûrs di eliminâ il puarteclâfs des password «%s»?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "O capìs che ducj i elements a vignaran eliminâts." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Mostre/plate password" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Zonte password" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Puarteclâfs:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Descrizion:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Password:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Zonte" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Zonte une password di puarteclâfs" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Sielç un non pal gnûf puarteclâfs. E vignarà domandade une password di sbloc." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Non dal gnûf puarteclâfs:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Proprietâts dal element" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Descrizion" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Copie" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Ûs" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Gjenar" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Servidôr" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Acès" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Detais" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Elimine password" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Proprietâts dal puarteclâfs" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Non" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Creât al/ai" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Cambie password" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Met come predefinît" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Mostre opzions" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Proprietâts date e/o orari mostradis" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Modalitât sflacje" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "La modalitât sflacje no normalize i valôrs di date e orari inserîts" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "An" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "An mostrât" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mês" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Mês mostrât" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dì" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Dì dal mês mostrât" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Ore" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Ore mostrade" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minût" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Minût mostrât" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Secont" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Secont mostrât" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Limit inferiôr dal an" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Part dal an dal limit inferiôr de date" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Limit superiôr dal an" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Part dal an dal limit superiôr de date" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Limit inferiôr dal mês" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Part dal mês dal limit inferiôr de date" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Limit superiôr dal mês" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Part dal mês dal limit superiôr de date" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Limit inferiôr dal dì" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Part dal dì dal limit inferiôr de date" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Limit superiôr dal dì" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Part dal dì dal limit superiôr de date" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Limit inferiôr de ore" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Part de ore dal limit inferiôr dal orari" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Limit superiôr de ore" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Part de ore dal limit superiôr dal orari" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Limit inferiôr dal minût" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Part dal minût dal limit inferiôr dal orari" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Limit superiôr dal minût" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Part dal minût dal limit superiôr dal orari" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Limit inferiôr dal secont" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Part dal secont dal limit inferiôr dal orari" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Limit superiôr dal secont" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Part dal secont dal limit superiôr dal orari" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Date" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Inserìs la date diretementri" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Selezione date" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Selezione la date da un calendari" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Orari" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Inserìs l'orari diretementri" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Selezione orari" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Selezione l'orari di une liste" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: sì" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%3$02d/%2$02d/%1$04d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Impussibil mostrâ il jutori: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Zonte sot-clâf a %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (nome firme)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (nome cifradure)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (nome firme)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (nome cifradure)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "_Gjenar di clâf" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "_Lungjece de clâf" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Lungjece de clâf" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Date di scjadence" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Niss_une scjadence" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Se la clâf no scjât" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Gjenere une gnove sot-clâf" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Zonte ID utent a %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Impussibil zontâ il ID utent" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Zonte ID utent" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_Non complet" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "E scugne jessi lungje almancul 5 caratars" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "Direzion _E-mail" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Direzion e-mail opzionâl" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Co_ment clâf" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Coments opzionâi di descrizion de clâf" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Cree il gnûf ID utent" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Decifrazion falide. Forsit no je presinte la clâf di decifrazions." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "La operazion e je stade anulade" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Date di scjadence no valide" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "La date di scjadence e à di stâ tal futûr" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Impussibil cambiâ la date di scjadince" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Scjadence: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Nissune scjadence" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Modifiche" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Clâfs multiplis" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Dâts de clâf" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Clâfs PGP cun armadure" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Clâfs PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Impussibil gjenerâ la clâf PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Passphrase pe gnove clâf PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Inserìs dôs voltis la passphrase pe gnove clâf." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Par creâ une clâf si scugne gjenerâ une vore di\n" +"dâts casuâi e al coventarès che tu judedis. Al sarès\n" +"un bon lavôr fâ cualchi altre azion come digjitâ su pe\n" +"tastiere, movi il mouse, doprâ aplicazions.\n" +"Dut chest al da al sisteme i dâts casuâi che a coventin." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Daûr a gjenerâ la clâf" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Il non al scugne jessi lunc almancul 5 caratars." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Gnove clâf PGP" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Une clâf PGP ti permet di cifrâ une e-mail o i files par altris personis." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Opzions di clâf _avanzadis" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Coment" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_Gjenar di cifradure" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Fuarce de clâf (in bit)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Date di sc_jadence" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Niss_une scjadence" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "C_ree" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Gjenere une gnove clâf" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Sigûrs di eliminâ par simpri %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Eliminâ par simpri %d clâf?" +msgstr[1] "Eliminâ par simpri %d clâfs?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Password sbaliade" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Cheste e jere la tierce volte che tu âs inserît une password sbaliade. Torne " +"prove." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Passphrase sbaliade." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Inserìs une gnove passphrase par «%s»" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Inserìs la passphrase par «%s»" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Inserìs une gnove passphrase" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Inserìs la passphrase" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Passphrase" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d clâf cjariade" +msgstr[1] "%d clâfs cjariadis" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Dâts de clâf no valits (a mancjin i UID). Chest al pues jessi dovût a un " +"computer cun la date sbaliade (tal avignî) o ae mancjance di une auto-firme." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Clâfs GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: cartele puarteclâfs predefinide" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"La foto e je masse largje\n" +"La dimension conseade par une foto te tô clâf e je %d x %d pixel." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_No sta ridimensionâ" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Ridimensione" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Chest nol è un file imagjin o un gjenar di file imagjin cognossût. Prove " +"dopre une imagjin JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Ducj i files imagjin" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Ducj i files JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Ducj i files" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Sielç une foto di zontâ te clâf" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Vierç" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Impussibil preparâ la foto" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Impussibil zontâ la foto" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Impussibil cjariâ il file. Al podarès jessi di un formât no valit" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Eliminâ de clâf la foto atuâl?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Impussibil eliminâ la foto" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Impussibil revocâ la sot-clâf" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Revoche: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Nissun motîf" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Nissune reson par revocâ la clâf" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Comprometude" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "La clâf e je stade comprometude" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Sostituide" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "La clâf e je stade sostituide" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "No doprade" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "La clâf no je plui doprade" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Tu stâs par zontâ %s come revoche par %s. Di cheste operazion no si pues " +"tornâ indaûr! Sigûrs di continuâ?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Impussibil zontâ la revoche" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "O capìs che cheste clâf segrete e larà eliminade par simpri." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Cheste clâf e jere za stade firmade di\n" +"\"%s\"" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Impussibil firmâ la clâf" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Nissune clâf valide par firmâ" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"No tu âs clâfs PGP personâi di podê doprâ par indicâ la fiducie su cheste " +"clâf." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Firme clâf" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Firmant cheste clâf si certifiche che e je di:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Non clâf" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Trop âstu controlât cheste clâf?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Par nuie" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Ae buine" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Cun cure" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Par nuie: al significhe che tu crodis che chel che al à la clâf al è " +"il legjitim proprietari, ma no tu âs o no tu âs podût controlâ che al sedi " +"un fat provât." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Ae buine: al significhe che tu âs fat une verifiche superficiâl che " +"chel che al à la clâf al sedi il proprietari. Par esempli, tu âs podût lei " +"la impronte de clâf tal telefon." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Cun cure: Selezione chest nome se tu sês sigûr dal dut che cheste " +"clâf e sedi autentiche." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Tu puedis doprâ une foto di identificazion dificil di falsificâ (come chê di " +"un passepuart) par verificâ che il non su la clâf al sedi just. Al è util " +"sigurâsi ancje che la e-mail e sedi dal proprietari de clâf." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Ce mût che chei altris a viodaran cheste firme:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Chei altris no viodaran cheste firme" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "O pues _revocâ cheste firme plui indenant." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Firme clâf come:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Firmatari:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Firme" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "No cognossût" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"La ricercje no jere vonde specifiche. Il servidôr «%s» al à cjatât masse " +"clâfs." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Impussibil comunicâ cul servidôr «%s»: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Servidôr di clâf HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Impussibil impuartâ la clâf: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Importazion clâf lade ben" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Impuarte" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Impussibil impuartâ la clâf" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Clâfs rimotis" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Clâfs rimotis che a contegnin “%s”" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "La ricercje pes clâfs e je falide." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Fâs dopli clic suntune clâf par ispezionâle o fâs clic sul boton impuarte " +"par impuartâle intal puarteclâfs locâl." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Cjate clâfs rimotis" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Chest al larà a cjatâ clâfs par altris in internet. Chestis clâfs a podaran " +"jessi impuartadis tal to puarteclâfs locâl." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Cîr clâfs che a tegnin: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Dulà cirî:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Servidôrs di clâfs:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Clâfs condividudis dongje di me:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Cîr" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Impussibil publicâ lis clâfs tal servidôr" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Impussibil otignî lis clâfs dal servidôr: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d clâf selezionade pe sincronizazion" +msgstr[1] "%d clâfs selezionadis pe sincronizazion" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Sincronizazion clâfs…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Sincronize clâfs" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Chest al publicarà lis clâfs dal to puarteclâfs cussì di metilis a " +"disposizion di altris. In plui tu varâs ancje dutis lis modifichis che chei " +"altris a àn fat aes lôr clâfs." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Chest al permet di otignî ducj i cambiaments che chei altris a àn fat aes " +"lôr clâfs di cuant che tu lis âs ricevudis. Stant che nissun servidôr di " +"clâfs al è stât sielt pe publicazion, lis tôs clâfs no vignaran metudis a " +"disposizion di chei altris." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Servidôrs di _clâfs" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Sincronize" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Impussibil comunicâ cun %s: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Conession a: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Impussibil risolvi la direzion: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Daûr a risolvi la direzion dal servidôr: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Servidôr di clâfs LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Clâfs PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "Lis clâfs PGP a vegnin dopradis par cifrâ une e-mail o i files" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(e %d altri)" +msgstr[1] "(e altris %d)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Clâf PGP personâl" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Clâf PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Impussibil cambiâ ID utent primari" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Sigûrs di eliminâ par simpri il ID utent «%s»?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Impussibil eliminâ il ID utent" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[No cognossût]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Non/E-mail" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "ID firme" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Impussibil cambiâ la foto primarie" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Erôr tal cambiâ la password" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(No cognossût)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Cheste clâf e scjât ai: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Clâf publiche" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Clâf privade" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Eliminâ par simpri la sot-clâf %d di %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Impussibil eliminâ la sot-clâf" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Impussibil cambiâ la fiducie" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Impussibil espuartâ la clâf" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Mai" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Ûs" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Creade" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Scjadence" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Stât" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Fuarce" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Revocade" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Scjadude" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Disabilitade" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Buine" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "ID clâf" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Mi fidi des firmis di “%s” su altris clâfs" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Se tu crodis che il proprietari di cheste clâf al sedi «%s», firme " +"cheste clâf:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Se no tu ti fidis plui che «%s» al sedi il proprietari di cheste clâf, " +"revoche la tô firme:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "_Espuarte clâf segrete" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Espuarte clâf _publiche" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Cheste clâf e je stade revocade" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" +"Il proprietari de clâf al à revocât la clâf. No pues jessi plui doprade." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Cheste clâf e je scjadude" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Zonte une foto a cheste clâf" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Gjave cheste foto di cheste clâf" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Rint cheste foto la foto primarie" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Va ae foto precedente" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Va ae prossime foto" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Coment" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Cambie _passphrase" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Proprietari" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Nons di clâf e firmis" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Primari" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Firme" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Elimine" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Zonte non" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Revoche" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Nons e firmis" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "ID clâf:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Gjenar:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Fuarce:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Detais tecnics" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Impronte" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Creade:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Scjadence:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Datis" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Passe parsore ae _fiducie dal proprietari:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Espuarte suntun file" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Azions" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Scjât" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Sot-clâfs" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Margjinâl" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Plene" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Assolude" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Altris nons:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "La tô fiducie di cheste clâf" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "La tô fiducie e je specificade a man te schede Detais." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Firme cheste clâf" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Revoche firme" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Int che e à firmât cheste clâf:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Mostre nome lis firmis di int che mi fidi" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Fiducie" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Detais tecnics:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Impronte:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Datis:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Indicâ fiducie:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Tu ti _fidis dal proprietari:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Cifre" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certifiche" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Autentiche" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Clâf" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Sot-clâf %d di %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Reson par revocâ la clâf" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Reson:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Descrizion opzionâl pe revoche" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Revoche clâf" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Re_voche" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"No tu âs nissune clâf PGP personâl di podê doprâ par firmâ un document o un " +"messaç." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Sielç clâf pe firme" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Firme il messaç cun la clâf:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Daûr a espuartâ dâts" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Daûr a otignî dâts" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Daûr a impuartâ dâts" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Daûr a inviâ dâts" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "No disponibil" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certificât" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certificâts (codificât DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Certificât personâl e clâf" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Certificât personâl" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Eliminâ par simpri %d certificât?" +msgstr[1] "Eliminâ par simpri %d certificâts?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Impussibil gjenerâ la clâf privade" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "O capìs che cheste clâf e vignarà eliminade par simpri." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Clâf privade cence non" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Clâf privade" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Cence non" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Esportazion dal certificât falide" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Impussibil eliminâ" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Cree" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Impussibil creâ la domande di certificât" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Salve la domande di certificât" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Salve" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Domande di certificât" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Domande codificade PEM" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Impussibil salvâ la domande di certificât" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "No cognossude" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Certificâts X.509 e relativis clâfs" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Gnove clâf privade" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Cree une gnove clâf privade" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Etichete:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Salvade in:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Gjenar di clâf:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Fuarce de clâf (in bit):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Elimine chest certificât o clâf" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Espuarte il certificât" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Domande certificât" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Cree une domande di certificât par cheste clâf" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Cree une domande di certificât." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Il non comun (CN) metût te domande di certificât." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Non (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Contribûts:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Version di cheste aplicazion" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "Fabio Tomat " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Sît web dal progjet Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Dâts di impuartâ" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Impuarte" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Importazion falide" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Impuarte clâf" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Ducj i files clâf" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Test molât" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Test intes notis" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Impussibil sblocâ il puarteclâfs" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Cambie passphrase" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Gnove _passphrase:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Conferme gnove passphrase" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Con_ferme passphrase:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "Cjate clâfs _rimotis…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Sincronize e publiche lis clâfs…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Preferencis" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Jutori" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "Scurtis di _tastiere" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "Informazions su password e clâfs" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filtre elements:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Mostre p_ersonâl" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Mostre fidâ_ts" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Mostre duc_j" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Clâf Secure Shell" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Doprade par acedi a altris computer" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Clâf GPG" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Doprade par cifrâ lis e-mails e i files" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Puarteclâfs des password" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Doprât par salvâ lis password des aplicazions e di rêt" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Salve in sigurece une password o un segret" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Doprade par domandâ un certificât" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Impuarte di file…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Zonte une gnove clâf o element" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Indaûr" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Cîr une clâf o une password" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filtre" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Cheste colezion e semee jessi vueide" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Il puarteclâfs al è blocât" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Sbloche" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Copie segret" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Espuarte…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Proprietâts" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Configure clâf pe Secure Shell…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Bloche" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Sbloche" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Proprietâts" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Impussibil blocâ" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Secure Shell" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Clâfs dopradis par conetisi in maniere sigure a altris computer" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Sigûrs di eliminâ la clâf secure shell «%s»?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Eliminâ %u clâf secure shell?" +msgstr[1] "Eliminâ %u clâfs secure shell?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Clâfs SSH segretis" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Clâfs SSH publichis" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Clâf SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Nissun file di clâf publiche disponibil par cheste clâf." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Impussibil cjariâ la gnove clâf Secure Shell gjenerade" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Impussibil gjenerâ la clâf Secure Shell" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Creazion clâf Secure Shell" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bit" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bit" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Gjenar di clâf no cognossût!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Gjenar no cognossût" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Impussibil cambiâ non ae clâf." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Impussibil cambiâ la autorizazion pe clâf." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Impussibil cambiâ la passphrase pe clâf." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Erôr tal eliminâ la clâf SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Clâf personâl SSH" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Clâf SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Clâf Secure Shell no leibil)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Clâf Secure Shell" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Password host rimot" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Inserìs la passphrase de clâf" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Passphrase pe gnove clâf Secure Shell" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Importazion clâf: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Importazion clâf. Inserî la passphrase" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Inserìs la tô passphrase par Secure Shell:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Vecje passphrase de clâf" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Inserìs la vecje passphrase par: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Gnove passphrase de clâf" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Inserìs la gnove passphrase par: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Inserìs di gnûf la gnove passphrase: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Gnove clâf Secure Shell" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Une clâf Secure Shell (SSH) e permet di colegâti in sigurece a altris " +"computer." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Descrizion" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"La tô direzion e-mail o cualsisei promemorie par visâsi a ce che e serf " +"cheste clâf." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Se tu disponis za di un computer dulà doprâ cheste clâf, al è pussibil " +"configurâlu al ricognossiment de clâf." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Cree nome la clâf" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Cree e configure" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Proprietâts clâf SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Non" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritmi" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Lungjece clâf" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Posizion" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Clâf publiche" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Copie intes notis la clâf publiche" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Acès rimot" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Al permet l'acès a chest computer di rimot" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Espuarte" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Elimine clâf SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Configurâ il computer par conession SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Par podê doprâ la tô clâf Secure Shell cuntun altri computer che al dopre " +"SSH, tu scugnis za vê un account di acès su chel computer." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Direzion _servidôr:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "es: servidôrfile.esempli.com:puarte" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "Non par _l'acès:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Configure" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Clâfs OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Nissune clâf privade a disposizion par cheste clâf." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Impussibil configurâ lis clâfs Secure Shell sul computer rimot." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Configurazion clâfs Secure Shell…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse e je une aplicazion GNOME par gjestî lis clâfs di cifradure. Si " +#~ "integre cun nautilus, gedit e altris aplicazions par ufrî operazions di " +#~ "cifradure." + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Impussibil zontâ la sot-clâf" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Cumbine ducj i puarteclâfs" + +#~ msgid "Encryption _Type:" +#~ msgstr "_Gjenar di cifradure:" + +#~ msgid "Keyring is unlocked" +#~ msgstr "Il puarteclâfs al è sblocât" + +#~ msgid "Lock" +#~ msgstr "Bloche" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "OK" +#~ msgstr "Va ben" + +#~ msgid "Full _Name:" +#~ msgstr "_Non e cognon:" + +#~ msgid "_Email Address:" +#~ msgstr "Direzion _E-mail:" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "" +#~ "Lis aplicazions di solit a memorizin lis gnovis password tal puarteclâfs " +#~ "predefinît." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Cambie la password che e sbloche il puarteclâfs des password" + +#~ msgid "_Show Password" +#~ msgstr "_Mostre password" + +#~ msgid "Couldn't add user id" +#~ msgstr "Impussibil zontâ id utent" + +#~ msgid "Marginal" +#~ msgstr "Margjinâl" + +#~ msgid "Full" +#~ msgstr "Plene" + +#~ msgid "Ultimate" +#~ msgstr "Assolude" + +#~ msgid "Key Properties" +#~ msgstr "Proprietâts de clâf" + +#~ msgid "About" +#~ msgstr "Informazions" + +#~ msgid "_File" +#~ msgstr "_File" + +#~ msgid "_Edit" +#~ msgstr "_Modifiche" + +#~ msgid "Delete selected items" +#~ msgstr "Elimine i elements selezionâts" + +#~ msgid "Show the properties of this item" +#~ msgstr "Mostre lis proprietâts di chest element" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Mostre lis proprietâts di chest puarteclâfs" + +#~ msgid "Prefere_nces" +#~ msgstr "Prefere_ncis" + +#~ msgid "Change preferences for this program" +#~ msgstr "Cambie lis preferencis par chest program" + +#~ msgid "_View" +#~ msgstr "_Visualize" + +#~ msgid "About this program" +#~ msgstr "Informazions su chest program" + +#~ msgid "_Contents" +#~ msgstr "_Contignûts" + +#~ msgid "Show Seahorse help" +#~ msgstr "Mostre il jutori di Seahorse" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Gnûf puarteclâfs" + +#~ msgid "New password…" +#~ msgstr "Gnove password…" + +#~ msgid "PGP Key" +#~ msgstr "Clâf PGP" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Daûr a impuartâ lis clâfs dai servidôrs di clâfs" + +#~ msgid "_Remote" +#~ msgstr "_Rimote" + +#~ msgid "Close this window" +#~ msgstr "Siere chest barcon" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Impuarte lis clâfs selezionadis tal puarteclâfs locâl" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Publiche e/o sincronize lis tôs clâfs cun chês in rêt." + +#~ msgid "Photo " +#~ msgstr "Foto " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Non:" + +#~ msgid "Email:" +#~ msgstr "E-mail:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Decifre file e e-mail ricevudis." + +#~ msgid "Private PGP Key" +#~ msgstr "Clâf PGP privade" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Cifre file e e-mail pal proprietari de clâf" + +#~ msgid "- System Settings" +#~ msgstr "- Impostazions di sisteme" + +#~ msgid "Don't display a window" +#~ msgstr "No mostrâ un barcon" + +#~ msgid "_New" +#~ msgstr "_Gnûf" + +#~ msgid "Close this program" +#~ msgstr "Siere chest program" + +#~ msgid "_New…" +#~ msgstr "_Gnûf…" + +#~ msgid "_Import…" +#~ msgstr "_Impuarte…" + +#~ msgid "_Paste" +#~ msgstr "_Tache" + +#~ msgid "Import from the clipboard" +#~ msgstr "Impuarte des notis" + +#~ msgid "By _Keyring" +#~ msgstr "Par _puarteclâfs" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Mostre nome lis clâfs, i certificâts e lis password personâi" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Mostre nome lis clâfs, i certificâts e lis password personâi" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Mostre dutis lis clâfs, i certificâts e lis password" + +#~ msgid "New item" +#~ msgstr "Gnûf element" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Selezione il gjenar di element di creâ:" + +#~ msgid "Continue" +#~ msgstr "Continue" + +#~ msgid "First time options:" +#~ msgstr "Opzions iniziâi:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Par tacâ a cifrâ ti coventin clâfs." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Impuarte clâfs esistentis di un file:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Gjenere une gnove clâf par te: " + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Invie clâf publiche Secure Shell a une altre machine, e abilite i acès " +#~ "doprant chê clâf." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "" +#~ "Doprade par jentrâ ta chei altris computer (pe: a mieç di un terminâl)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Non:" + +#~ msgid "Identifier:" +#~ msgstr "Identificatôr:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "" +#~ "Il proprietari di cheste clâf al è _autorizât a colegâsi a chest computer" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Chest si apliche nome al account %s." + +#~ msgid "Key length:" +#~ msgstr "Lungjece de clâf:" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Il furnidôr di ricercje nol è ancjemò cjariât" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%d/%m/%Y" + +#~ msgid "Name:" +#~ msgstr "Non:" + +#~ msgid "Keyring" +#~ msgstr "Puarteclâfs" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "Il comant SSH al è stât terminât di bot." + +#~ msgid "The SSH command failed." +#~ msgstr "Il comant SSH nol è riessût." + +#~ msgid "E_xport..." +#~ msgstr "E_spuarte..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Cjate clâfs rimotis..." + +#~ msgid "_New..." +#~ msgstr "_Gnûf..." + +#~ msgid "_Import..." +#~ msgstr "_Impuarte..." diff --git a/po/ga.po b/po/ga.po new file mode 100644 index 00000000..0b194429 --- /dev/null +++ b/po/ga.po @@ -0,0 +1,2540 @@ +# Irish translations for seahorse package. +# Copyright (C) 2007-2013 Free Software Foundation, Inc. +# This file is distributed under the same license as the seahorse package. +# Seán de Búrca , 2007-2013. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse.master\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-09-03 15:12-0600\n" +"PO-Revision-Date: 2013-09-03 15:50-0600\n" +"Last-Translator: Seán de Búrca \n" +"Language-Team: Irish \n" +"Language: ga\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : " +"4;\n" + +#: ../common/catalog.vala:259 +msgid "Contributions:" +msgstr "Ranníocaíochtaí:" + +#: ../common/catalog.vala:287 ../src/seahorse.desktop.in.in.h:1 +#: ../src/seahorse-key-manager.c:661 +msgid "Passwords and Keys" +msgstr "Focail Fhaire agus Eochracha" + +#: ../common/catalog.vala:289 +msgid "translator-credits" +msgstr "Seán de Búrca " + +#: ../common/catalog.vala:292 +msgid "Seahorse Project Homepage" +msgstr "Suíomh Gréasáin Tionscadail Seahorse" + +#: ../common/catalog.vala:310 +msgid "Cannot delete" +msgstr "Ní féidir scriosadh" + +#: ../common/catalog.vala:333 ../libseahorse/seahorse-key-manager-store.c:442 +msgid "Couldn't export keys" +msgstr "" + +#: ../common/catalog.vala:344 +msgid "Couldn't export data" +msgstr "" + +#: ../common/catalog.vala:360 ../libseahorse/seahorse-widget.c:460 +#, c-format +msgid "Could not display help: %s" +msgstr "" + +#. Top menu items +#: ../common/catalog.vala:366 +msgid "_File" +msgstr "_Comhad" + +#: ../common/catalog.vala:367 +msgid "E_xport..." +msgstr "_Easpórtáil..." + +#: ../common/catalog.vala:368 +msgid "Export to a file" +msgstr "Easpórtáil go comhad" + +#: ../common/catalog.vala:369 +msgid "_Edit" +msgstr "_Eagar" + +#: ../common/catalog.vala:372 +msgid "Copy to the clipboard" +msgstr "Cóipeáil go dtí an ghearrthaisce" + +#: ../common/catalog.vala:373 ../pkcs11/seahorse-pkcs11-properties.c:229 +#: ../src/seahorse-sidebar.c:955 +msgid "_Delete" +msgstr "_Scrios" + +#: ../common/catalog.vala:374 +msgid "Delete selected items" +msgstr "Scrios míreanna roghnaithe" + +#: ../common/catalog.vala:376 +#, fuzzy +msgid "Show the properties of this item" +msgstr "Taispeáin airíonna" + +#: ../common/catalog.vala:378 +#, fuzzy +msgid "Show the properties of this keyring" +msgstr "Taispeáin airíonna" + +#: ../common/catalog.vala:379 +msgid "Prefere_nces" +msgstr "_Sainroghanna" + +#: ../common/catalog.vala:380 +msgid "Change preferences for this program" +msgstr "" + +#: ../common/catalog.vala:381 +msgid "_View" +msgstr "_Amharc" + +#: ../common/catalog.vala:382 +msgid "_Help" +msgstr "Cab_hair" + +#: ../common/catalog.vala:384 +msgid "About this program" +msgstr "Maidir leis an ríomhchlár seo" + +#: ../common/catalog.vala:385 +msgid "_Contents" +msgstr "_Inneachar" + +#: ../common/catalog.vala:386 +msgid "Show Seahorse help" +msgstr "Taispeáin cabhair Seahorse" + +#: ../common/exportable.vala:195 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "Easpórtáil" + +#: ../gkr/gkr-backend.vala:41 +msgid "Passwords" +msgstr "Focail Fhaire" + +#: ../gkr/gkr-backend.vala:45 +msgid "Stored personal passwords, credentials and secrets" +msgstr "" + +#: ../gkr/gkr-backend.vala:243 +#, fuzzy +msgid "New password keyring" +msgstr "Fáinne Eochracha Focal Faire" + +#: ../gkr/gkr-backend.vala:244 ../gkr/gkr-backend.vala:251 +msgid "Used to store application and network passwords" +msgstr "" + +#: ../gkr/gkr-backend.vala:245 +msgid "New password..." +msgstr "Focal faire nua..." + +#: ../gkr/gkr-backend.vala:246 ../gkr/gkr-backend.vala:253 +msgid "Safely store a password or secret." +msgstr "" + +#: ../gkr/gkr-backend.vala:250 +msgid "Password Keyring" +msgstr "Fáinne Eochracha Focal Faire" + +#: ../gkr/gkr-backend.vala:252 +msgid "Stored Password" +msgstr "Focal Faire Stóráilte" + +#: ../gkr/gkr-item-add.vala:27 +msgid "Add Password" +msgstr "Cuir Focal Faire Leis" + +#: ../gkr/gkr-item-add.vala:104 +msgid "Couldn't add item" +msgstr "" + +#: ../gkr/gkr-item-properties.vala:139 +msgid "Access a network share or resource" +msgstr "" + +#: ../gkr/gkr-item-properties.vala:142 +msgid "Access a website" +msgstr "" + +#: ../gkr/gkr-item-properties.vala:145 +msgid "Unlocks a PGP key" +msgstr "" + +#: ../gkr/gkr-item-properties.vala:148 +msgid "Unlocks a Secure Shell key" +msgstr "" + +#: ../gkr/gkr-item-properties.vala:151 +msgid "Saved password or login" +msgstr "" + +#: ../gkr/gkr-item-properties.vala:164 +msgid "Network Credentials" +msgstr "" + +#: ../gkr/gkr-item-properties.vala:169 +msgid "Password" +msgstr "Focal Faire" + +#: ../gkr/gkr-item-properties.vala:238 +msgid "Couldn't change password." +msgstr "" + +#: ../gkr/gkr-item-properties.vala:276 +msgid "Couldn't set description." +msgstr "" + +#. Translators: This should be the same as the string in empathy +#: ../gkr/gkr-item.vala:391 +msgid "IM account password for " +msgstr "" + +#: ../gkr/gkr-item.vala:447 +#, fuzzy +msgid "Password or secret" +msgstr "Fáinne Eochracha Focal Faire" + +#: ../gkr/gkr-item.vala:448 +#, fuzzy +msgid "Network password" +msgstr "Focal Faire Líonra" + +#: ../gkr/gkr-item.vala:449 +#, fuzzy +msgid "Stored note" +msgstr "Focal Faire Stóráilte" + +#: ../gkr/gkr-item.vala:450 +#, fuzzy +msgid "Keyring password" +msgstr "Focal Faire Gréasáin" + +#: ../gkr/gkr-item.vala:451 +#, fuzzy +msgid "Encryption key password" +msgstr "Bainisteoir Eochracha Criptithe" + +#: ../gkr/gkr-item.vala:452 +#, fuzzy +msgid "Key storage password" +msgstr "Focal Faire Stóráilte" + +#: ../gkr/gkr-item.vala:453 +msgid "Google Chrome password" +msgstr "Focal faire Google Chrome" + +#: ../gkr/gkr-item.vala:454 +msgid "Gnome Online Accounts password" +msgstr "Focal faire Gnome Online Accounts" + +#: ../gkr/gkr-item.vala:455 +msgid "Telepathy password" +msgstr "Focal faire Telepathy" + +#: ../gkr/gkr-item.vala:456 +msgid "Instant messaging password" +msgstr "" + +#: ../gkr/gkr-item.vala:457 +msgid "Network Manager secret" +msgstr "" + +#: ../gkr/gkr-item.vala:507 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "" + +#: ../gkr/gkr-item.vala:509 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#: ../gkr/gkr-keyring-add.vala:28 +msgid "Add Password Keyring" +msgstr "" + +#: ../gkr/gkr-keyring-add.vala:58 +msgid "Couldn't add keyring" +msgstr "" + +#: ../gkr/gkr-keyring.vala:30 +msgid "A keyring that is automatically unlocked on login" +msgstr "" + +#: ../gkr/gkr-keyring.vala:31 +msgid "A keyring used to store passwords" +msgstr "" + +#: ../gkr/gkr-keyring.vala:176 +msgid "Couldn't set default keyring" +msgstr "" + +#: ../gkr/gkr-keyring.vala:200 ../gkr/gkr-keyring.vala:205 +msgid "Couldn't change keyring password" +msgstr "" + +#: ../gkr/gkr-keyring.vala:211 +msgid "_Set as default" +msgstr "" + +#: ../gkr/gkr-keyring.vala:212 +msgid "Applications usually store new passwords in the default keyring." +msgstr "" + +#: ../gkr/gkr-keyring.vala:213 +msgid "Change _Password" +msgstr "Athraigh _Focal Faire" + +#: ../gkr/gkr-keyring.vala:214 +msgid "Change the unlock password of the password storage keyring" +msgstr "" + +#: ../gkr/gkr-keyring.vala:239 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "" + +#: ../gkr/gkr-keyring.vala:242 +msgid "I understand that all items will be permanently deleted." +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:3 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "Cur _Síos:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +msgid "_Password:" +msgstr "_Focal Faire:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Show Password" +msgstr "_Taispeáin Focal Faire" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Keyring:" +msgstr "Fáinne _Eochracha:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "Úsáid:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "Cineál:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Server:" +msgstr "Freastalaí:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Login:" +msgstr "Logáil isteach:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Show pass_word" +msgstr "Taispeáin _focal faire" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../libseahorse/seahorse-passphrase.c:183 ../ssh/seahorse-ssh-askpass.c:99 +msgid "Password:" +msgstr "Focal Faire:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "Eochair" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "Mionsonraí Teicniúla:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "Sonraí" + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Name:" +msgstr "Ainm:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "Cruthaithe:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring" +msgstr "Fáinne Eochracha" + +#: ../libegg/egg-datetime.c:317 +msgid "Display flags" +msgstr "" + +#: ../libegg/egg-datetime.c:318 +msgid "Displayed date and/or time properties" +msgstr "" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode" +msgstr "" + +#: ../libegg/egg-datetime.c:324 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "" + +#: ../libegg/egg-datetime.c:329 +msgid "Year" +msgstr "Bliain" + +#: ../libegg/egg-datetime.c:330 +msgid "Displayed year" +msgstr "" + +#: ../libegg/egg-datetime.c:335 +msgid "Month" +msgstr "Mí" + +#: ../libegg/egg-datetime.c:336 +msgid "Displayed month" +msgstr "" + +#: ../libegg/egg-datetime.c:341 +msgid "Day" +msgstr "Lá" + +#: ../libegg/egg-datetime.c:342 +msgid "Displayed day of month" +msgstr "" + +#: ../libegg/egg-datetime.c:347 +msgid "Hour" +msgstr "Uair" + +#: ../libegg/egg-datetime.c:348 +msgid "Displayed hour" +msgstr "" + +#: ../libegg/egg-datetime.c:353 +msgid "Minute" +msgstr "Nóiméad" + +#: ../libegg/egg-datetime.c:354 +msgid "Displayed minute" +msgstr "" + +#: ../libegg/egg-datetime.c:359 +msgid "Second" +msgstr "Soicind" + +#: ../libegg/egg-datetime.c:360 +msgid "Displayed second" +msgstr "" + +#: ../libegg/egg-datetime.c:365 +msgid "Lower limit year" +msgstr "" + +#: ../libegg/egg-datetime.c:366 +msgid "Year part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:371 +msgid "Upper limit year" +msgstr "" + +#: ../libegg/egg-datetime.c:372 +msgid "Year part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:377 +msgid "Lower limit month" +msgstr "" + +#: ../libegg/egg-datetime.c:378 +msgid "Month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:383 +msgid "Upper limit month" +msgstr "" + +#: ../libegg/egg-datetime.c:384 +msgid "Month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:389 +msgid "Lower limit day" +msgstr "" + +#: ../libegg/egg-datetime.c:390 +msgid "Day of month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:395 +msgid "Upper limit day" +msgstr "" + +#: ../libegg/egg-datetime.c:396 +msgid "Day of month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:401 +msgid "Lower limit hour" +msgstr "" + +#: ../libegg/egg-datetime.c:402 +msgid "Hour part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:407 +msgid "Upper limit hour" +msgstr "" + +#: ../libegg/egg-datetime.c:408 +msgid "Hour part of the upper time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:413 +msgid "Lower limit minute" +msgstr "" + +#: ../libegg/egg-datetime.c:414 +msgid "Minute part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:419 +msgid "Upper limit minute" +msgstr "" + +#: ../libegg/egg-datetime.c:420 +msgid "Minute part of the upper time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:425 +msgid "Lower limit second" +msgstr "" + +#: ../libegg/egg-datetime.c:426 +msgid "Second part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:431 +msgid "Upper limit second" +msgstr "" + +#: ../libegg/egg-datetime.c:432 +msgid "Second part of the upper time limit" +msgstr "" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:474 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: ../libegg/egg-datetime.c:496 +msgid "Date" +msgstr "Dáta" + +#: ../libegg/egg-datetime.c:496 +msgid "Enter the date directly" +msgstr "" + +#: ../libegg/egg-datetime.c:503 +msgid "Select Date" +msgstr "Roghnaigh Dáta" + +#: ../libegg/egg-datetime.c:503 +msgid "Select the date from a calendar" +msgstr "" + +#: ../libegg/egg-datetime.c:521 ../libegg/egg-datetime.c:2199 +msgid "Time" +msgstr "Am" + +#: ../libegg/egg-datetime.c:521 +msgid "Enter the time directly" +msgstr "" + +#: ../libegg/egg-datetime.c:528 +msgid "Select Time" +msgstr "Roghnaigh Am" + +#: ../libegg/egg-datetime.c:528 +msgid "Select the time from a list" +msgstr "" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:793 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:797 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1264 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:799 ../libegg/egg-datetime.c:1261 +#: ../libegg/egg-datetime.c:1268 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:807 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:810 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:814 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:817 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1176 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1241 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "Cuir Freastalaí Eochrach Leis" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "Óstach:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "" + +#: ../libseahorse/seahorse-application.c:136 +msgid "Version of this application" +msgstr "Leagan an fheidhmchláir seo" + +#: ../libseahorse/seahorse-application.c:142 +#: ../libseahorse/seahorse-application.c:186 +msgid "- System Settings" +msgstr "" + +#: ../libseahorse/seahorse-application.c:182 +msgid "Don't display a window" +msgstr "" + +#: ../libseahorse/seahorse-interaction.c:99 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:245 +msgid "Confirm:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:66 +msgid "Not a valid Key Server address." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:67 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:180 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:350 +msgid "Custom" +msgstr "Saincheaptha" + +#: ../libseahorse/seahorse-prefs.c:403 +msgid "None: Don't publish keys" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "Sainroghanna" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "_Foilsigh eochracha go:" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "Freastalaithe Eochrach" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1252 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "Anaithnid" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1258 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "Riamh" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "Imeallach" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "Iomlán" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "An-Iontaofa" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Disabled" +msgstr "Díchumasaithe" + +#: ../libseahorse/seahorse-validity.c:52 +msgctxt "Validity" +msgid "Revoked" +msgstr "Cúlghairthe" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "_Cineál Eochrach:" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "_Fad Eochrach:" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "Dáta Éaga:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "Fad na hEochrach" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "Cuir CA Úsáideora Leis" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "_Ainm Iomlán:" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "Seoladh _Ríomhphoist:" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "_Nóta na hEochrach:" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "_Athraigh" + +#: ../pgp/seahorse-gpgme-add-subkey.c:162 +msgid "Couldn't add subkey" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:181 +#, c-format +msgid "Add subkey to %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:197 ../pgp/seahorse-gpgme-generate.c:132 +msgid "DSA (sign only)" +msgstr "DSA (sínigh amháin)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:205 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (criptigh amháin)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:211 ../pgp/seahorse-gpgme-generate.c:133 +msgid "RSA (sign only)" +msgstr "RSA (sínigh amháin)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:217 +msgid "RSA (encrypt only)" +msgstr "RSA (criptigh amháin)" + +#: ../pgp/seahorse-gpgme-add-uid.c:100 +msgid "Couldn't add user id" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-uid.c:122 +#, c-format +msgid "Add user ID to %s" +msgstr "" + +#: ../pgp/seahorse-gpgme.c:70 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" + +#: ../pgp/seahorse-gpgme.c:74 ../pgp/seahorse-hkp-source.c:512 +#: ../ssh/seahorse-ssh-operation.c:194 +msgid "The operation was cancelled" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:65 +msgid "Invalid expiry date" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:66 +msgid "The expiry date must be in the future" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:79 +msgid "Couldn't change expiry date" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:140 +#, c-format +msgid "Expiry: %s" +msgstr "Éag: %s" + +#: ../pgp/seahorse-gpgme-exporter.c:85 +msgid "Multiple Keys" +msgstr "Eochracha Iomadúla" + +#: ../pgp/seahorse-gpgme-exporter.c:89 +msgid "Key Data" +msgstr "Sonraí Eochrach" + +#: ../pgp/seahorse-gpgme-exporter.c:117 +msgid "Armored PGP keys" +msgstr "Eochracha armúrtha PGP" + +#: ../pgp/seahorse-gpgme-exporter.c:121 +msgid "PGP keys" +msgstr "Eochracha PGP" + +#: ../pgp/seahorse-gpgme-generate.c:93 +msgid "PGP Key" +msgstr "Eochair PGP" + +#: ../pgp/seahorse-gpgme-generate.c:94 +msgid "Used to encrypt email and files" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:130 +#: ../pkcs11/seahorse-pkcs11-generate.c:91 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:131 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: ../pgp/seahorse-gpgme-generate.c:180 +msgid "Couldn't generate PGP key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:212 +msgid "Passphrase for New PGP Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Enter the passphrase for your new key twice." +msgstr "" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:224 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It's a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:229 +#: ../pkcs11/seahorse-pkcs11-generate.c:459 +msgid "Generating key" +msgstr "" + +#: ../pgp/seahorse-gpgme-key-deleter.c:78 +#: ../pgp/seahorse-gpgme-secret-deleter.c:77 +#: ../pkcs11/seahorse-pkcs11-deleter.c:66 +#: ../pkcs11/seahorse-pkcs11-key-deleter.c:81 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "" + +#: ../pgp/seahorse-gpgme-key-deleter.c:81 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#: ../pgp/seahorse-gpgme-key-op.c:381 +msgid "Wrong password" +msgstr "Focal faire mícheart" + +#: ../pgp/seahorse-gpgme-key-op.c:381 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:90 +#, c-format +msgid "Wrong passphrase." +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:94 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:99 +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:101 +msgid "Enter passphrase" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:106 +msgid "Passphrase" +msgstr "Frása Faire" + +#: ../pgp/seahorse-gpgme-keyring.c:307 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Luchtaíodh %d eochair" +msgstr[1] "Luchtaíodh %d eochair" +msgstr[2] "Luchtaíodh %d eochair" +msgstr[3] "Luchtaíodh %d n-eochair" +msgstr[4] "Luchtaíodh %d eochair" + +#: ../pgp/seahorse-gpgme-keyring.c:654 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:807 +msgid "GnuPG keys" +msgstr "Eochracha GnuPG" + +#: ../pgp/seahorse-gpgme-keyring.c:813 +msgid "GnuPG: default keyring directory" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "_Ná hAthmhéadaigh" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "_Athmhéadaigh" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "Gach comhad íomhá" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "Gach comhad JPEG" + +#: ../pgp/seahorse-gpgme-photos.c:242 ../src/seahorse-key-manager.c:289 +msgid "All files" +msgstr "Gach comhad" + +#: ../pgp/seahorse-gpgme-photos.c:263 +msgid "Choose Photo to Add to Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:285 +msgid "Couldn't prepare photo" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:295 ../pgp/seahorse-gpgme-photos.c:298 +msgid "Couldn't add photo" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:296 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:322 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:335 +msgid "Couldn't delete photo" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:75 +msgid "Couldn't revoke subkey" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:96 +#, c-format +msgid "Revoke: %s" +msgstr "Cúlghair: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:107 +msgid "No reason" +msgstr "Gan chúis" + +#: ../pgp/seahorse-gpgme-revoke.c:108 +msgid "No reason for revoking key" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:114 +msgid "Compromised" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:115 +msgid "Key has been compromised" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:121 +msgid "Superseded" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:122 +msgid "Key has been superseded" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:128 +msgid "Not Used" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:129 +msgid "Key is no longer used" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:166 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:178 +msgid "Couldn't add revoker" +msgstr "" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:82 ../ssh/seahorse-ssh-deleter.c:83 +msgid "I understand that this secret key will be permanently deleted." +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:100 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:105 +msgid "Couldn't sign key" +msgstr "" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:164 ../pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:165 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Anaithnid" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:1041 +msgid "HTTP Key Server" +msgstr "Freastalaí Eochracha HTTP" + +#: ../pgp/seahorse-keyserver-results.c:168 +msgid "Couldn't import keys" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:211 +msgid "Importing keys from key servers" +msgstr "" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:237 ../src/seahorse-key-manager.c:502 +msgid "_Remote" +msgstr "C_ianda" + +#: ../pgp/seahorse-keyserver-results.c:239 +msgid "Close this window" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:243 ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys..." +msgstr "_Aimsigh Eochracha Cianda..." + +#: ../pgp/seahorse-keyserver-results.c:244 ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:248 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "_Iompórtáil" + +#: ../pgp/seahorse-keyserver-results.c:249 +msgid "Import selected keys to local key ring" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:280 +msgid "Remote Keys" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:282 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:485 +msgid "The search for keys failed." +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "Aimsigh Eochracha Cianda" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "Freastalaithe _Eochrach:" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "Cuar_daigh" + +#: ../pgp/seahorse-keyserver-sync.c:57 +msgid "Couldn't publish keys to server" +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.c:76 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.c:160 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" + +#: ../pgp/seahorse-keyserver-sync.c:240 +msgid "Synchronizing keys..." +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "Sioncrónaigh Eochracha" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "Freastalaithe _Eochracha" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "_Sionc" + +#: ../pgp/seahorse-ldap-source.c:440 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:651 +#, c-format +msgid "Connecting to: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:657 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:701 +#, c-format +msgid "Resolving server address: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:1438 +msgid "LDAP Key Server" +msgstr "Freastalaí Eochracha LDAP" + +#: ../pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys..." +msgstr "_Sioncrónaigh agus Foilsigh Eochracha..." + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "" + +#: ../pgp/seahorse-pgp-backend.c:167 +msgid "PGP Keys" +msgstr "Eochracha PGP" + +#: ../pgp/seahorse-pgp-backend.c:173 +msgid "PGP keys are for encrypting email or files" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "C_ruthaigh" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Ne_ver Expires" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "_Comment:" +msgstr "_Nóta:" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "_Cineál Criptithe:" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "Dáta Éa_ga:" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "" + +#: ../pgp/seahorse-pgp-key.c:352 +msgid "Personal PGP key" +msgstr "Eochair pearsanta PGP" + +#: ../pgp/seahorse-pgp-key.c:354 +msgid "PGP key" +msgstr "Eochair PGP" + +#: ../pgp/seahorse-pgp-key-properties.c:322 +msgid "Couldn't change primary user ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:341 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:351 +msgid "Couldn't delete user ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:426 +#: ../pgp/seahorse-pgp-key-properties.c:1569 +msgid "[Unknown]" +msgstr "[Anaithnid]" + +#: ../pgp/seahorse-pgp-key-properties.c:535 +#: ../pgp/seahorse-pgp-key-properties.c:1852 +msgid "Name/Email" +msgstr "Ainm/Ríomhphost" + +#: ../pgp/seahorse-pgp-key-properties.c:542 +msgid "Signature ID" +msgstr "CA Sínithe" + +#: ../pgp/seahorse-pgp-key-properties.c:675 +msgid "Couldn't change primary photo" +msgstr "" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:909 +msgid "(unknown)" +msgstr "(anaithnid)" + +#: ../pgp/seahorse-pgp-key-properties.c:912 +#, c-format +msgid "This key expired on: %s" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:975 +msgid "Name" +msgstr "Ainm" + +#: ../pgp/seahorse-pgp-key-properties.c:1088 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1097 +msgid "Couldn't delete subkey" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1137 +#: ../pgp/seahorse-pgp-key-properties.c:1543 +msgid "Unable to change trust" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1151 +#: ../ssh/seahorse-ssh-key-properties.c:200 +#, fuzzy +msgid "Couldn't export key" +msgstr "Níorbh fhéidir frása faire d'eochair a athrú." + +#: ../pgp/seahorse-pgp-key-properties.c:1265 +msgid "Marginal" +msgstr "Imeallach" + +#: ../pgp/seahorse-pgp-key-properties.c:1271 +msgid "Full" +msgstr "Iomlán" + +#: ../pgp/seahorse-pgp-key-properties.c:1277 +msgid "Ultimate" +msgstr "An-Iontaofa" + +#: ../pgp/seahorse-pgp-key-properties.c:1383 +#: ../pgp/seahorse-pgp-key-properties.c:1472 +msgctxt "Expires" +msgid "Never" +msgstr "Riamh" + +#: ../pgp/seahorse-pgp-key-properties.c:1430 +msgid "ID" +msgstr "CA" + +#: ../pgp/seahorse-pgp-key-properties.c:1433 +msgid "Type" +msgstr "Cineál" + +#: ../pgp/seahorse-pgp-key-properties.c:1436 +msgid "Created" +msgstr "Cruthaithe" + +#: ../pgp/seahorse-pgp-key-properties.c:1439 +msgid "Expires" +msgstr "As Feidhm" + +#: ../pgp/seahorse-pgp-key-properties.c:1442 +msgid "Status" +msgstr "Stádas" + +#: ../pgp/seahorse-pgp-key-properties.c:1445 +msgid "Strength" +msgstr "Neart" + +#: ../pgp/seahorse-pgp-key-properties.c:1463 +msgid "Revoked" +msgstr "Cúlghairthe" + +#: ../pgp/seahorse-pgp-key-properties.c:1465 +msgid "Expired" +msgstr "As Dáta" + +#: ../pgp/seahorse-pgp-key-properties.c:1467 +msgid "Disabled" +msgstr "Díchumasaithe" + +#: ../pgp/seahorse-pgp-key-properties.c:1469 +msgid "Good" +msgstr "Maith" + +#: ../pgp/seahorse-pgp-key-properties.c:1855 +msgid "Key ID" +msgstr "CA Eochrach" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "Airíonna Eochrach" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "Grianghraf " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "CA eochrach:" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "Ainm:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "Ríomhphost:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "Nóta:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "Athraigh _Frása Faire" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "Úinéir" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "Ainmneacha Eochracha agus Sínithe" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "Príomha" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +msgid "Sign" +msgstr "Sínigh" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "Scrios" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "Cuir _Ainm Leis" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "Cúlghair" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "Ainmneacha agus Sínithe" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "Neart:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "Mionsonraí Teicniúla" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "Méarlorg" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "As Feidhm:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "Dátaí" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "Sáraigh _Iontaibh Úinéara:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Secret Key:" +msgstr "_Easpórtáil Eochair Rúnda:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +#, fuzzy +msgid "Actions" +msgstr "Feidhmchláir" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "Cuir Leis" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "Cuir as Feidhm" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "_Fo-Eochracha" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "Go hImeallach" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "Go hIomlán" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Go hAn-Iontaofa" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key's owner" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "Eochair PGP Phoiblí" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "Ainmneacha _Eile:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "_Cúlghair Síniú" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "Iontaoibh" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "Méarlorg:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "Dátaí:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "_Cúis:" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "Cúl_ghair" + +#: ../pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "Sínigh Eochair" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "Ainm na hEochrach" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "Sínigh eochair mar:" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "_Sínigh" + +#: ../pgp/seahorse-transfer.c:237 ../pgp/seahorse-transfer.c:284 +#, fuzzy +msgid "Exporting data" +msgstr "Easpórtáil" + +#: ../pgp/seahorse-transfer.c:237 ../pgp/seahorse-transfer.c:284 +msgid "Retrieving data" +msgstr "" + +#: ../pgp/seahorse-transfer.c:240 ../pgp/seahorse-transfer.c:287 +msgid "Importing data" +msgstr "" + +#: ../pgp/seahorse-transfer.c:240 ../pgp/seahorse-transfer.c:287 +msgid "Sending data" +msgstr "" + +#: ../pgp/seahorse-unknown.c:61 +msgid "Unavailable" +msgstr "" + +#: ../pkcs11/certificate-der-exporter.vala:46 +#: ../pkcs11/seahorse-certificate.c:454 +msgid "Certificate" +msgstr "Teastas" + +#: ../pkcs11/certificate-der-exporter.vala:60 +msgid "Certificates (DER encoded)" +msgstr "" + +#: ../pkcs11/seahorse-certificate.c:449 +msgid "Personal certificate and key" +msgstr "" + +#: ../pkcs11/seahorse-certificate.c:452 +msgid "Personal certificate" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-backend.c:183 +msgid "Certificates" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-backend.c:189 +msgid "X.509 certificates and related keys" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-deleter.c:69 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#: ../pkcs11/seahorse-pkcs11-generate.c:114 +#, fuzzy +msgid "Couldn't generate private key" +msgstr "Níorbh fhéidir frása faire d'eochair a athrú." + +#: ../pkcs11/seahorse-pkcs11-generate.c:413 +#: ../pkcs11/seahorse-pkcs11-request.c:253 +msgid "Create" +msgstr "Cruthaigh" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +#: ../pkcs11/seahorse-private-key.c:175 +msgid "Private key" +msgstr "Eochair phríobháideach" + +#: ../pkcs11/seahorse-pkcs11-generate.c:507 +msgid "Used to request a certificate" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "Cruthaigh eochair phríobháideach nua" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "Lipéad:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +#, fuzzy +msgid "Stored at:" +msgstr "Focal Faire Stóráilte" + +#: ../pkcs11/seahorse-pkcs11-key-deleter.c:85 +msgid "I understand that this key will be permanently deleted." +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-properties.c:143 +#: ../pkcs11/seahorse-pkcs11-properties.c:147 +msgid "Unnamed" +msgstr "Gan ainm" + +#: ../pkcs11/seahorse-pkcs11-properties.c:171 +msgid "Failed to export certificate" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-properties.c:186 ../src/seahorse-sidebar.c:874 +msgid "Couldn't delete" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-properties.c:227 +msgid "_Export" +msgstr "_Easpórtáil" + +#: ../pkcs11/seahorse-pkcs11-properties.c:228 +msgid "Export the certificate" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-properties.c:230 +msgid "Delete this certificate or key" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-properties.c:231 +msgid "Request _Certificate" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-properties.c:232 +msgid "Create a certificate request file for this key" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.c:101 +msgid "Couldn't save certificate request" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.c:124 +msgid "Save certificate request" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.c:135 +msgid "Certificate request" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.c:143 +msgid "PEM encoded request" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.c:191 +msgid "Couldn't create certificate request" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "Ainm (CN):" + +#: ../pkcs11/seahorse-private-key.c:128 +msgid "Unnamed private key" +msgstr "Eochair phríobháideach gan ainm" + +#: ../pkcs11/seahorse-token.c:574 +msgctxt "Label" +msgid "Unknown" +msgstr "Anaithnid" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "Athraigh Frása Faire" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "_Frása Faire Nua:" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "" + +#: ../src/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "Bainistigh d'fhocail faire agus eochracha criptithe" + +#: ../src/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" + +#: ../src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "Ar Aghaidh" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "" + +#: ../src/seahorse-import-dialog.c:97 +msgid "Import failed" +msgstr "Theip ar iompórtáil" + +#: ../src/seahorse-import-dialog.c:115 +msgid "Import" +msgstr "Iompórtáil" + +#: ../src/seahorse-import-dialog.c:128 +msgid "Data to be imported:" +msgstr "Sonraí le hiompórtáil:" + +#: ../src/seahorse-key-manager.c:243 ../ssh/seahorse-ssh-operation.c:845 +msgid "Import Key" +msgstr "Iompórtáil Eochair" + +#: ../src/seahorse-key-manager.c:255 +msgid "All key files" +msgstr "Gach comhad eochrach" + +#: ../src/seahorse-key-manager.c:356 +msgid "Dropped text" +msgstr "" + +#: ../src/seahorse-key-manager.c:392 +msgid "Clipboard text" +msgstr "" + +#: ../src/seahorse-key-manager.c:503 +msgid "_New" +msgstr "_Nua" + +#: ../src/seahorse-key-manager.c:505 +msgid "Close this program" +msgstr "Dún an ríomhchlár seo" + +#: ../src/seahorse-key-manager.c:506 ../src/seahorse-key-manager.c:508 +msgid "_New..." +msgstr "_Nua..." + +#: ../src/seahorse-key-manager.c:507 +msgid "Create a new key or item" +msgstr "Cruthaigh eochair nó mír nua" + +#: ../src/seahorse-key-manager.c:509 +msgid "Add a new key or item" +msgstr "Cuir eochair nó mír nua leis" + +#: ../src/seahorse-key-manager.c:510 +msgid "_Import..." +msgstr "_Iompórtáil..." + +#: ../src/seahorse-key-manager.c:511 +msgid "Import from a file" +msgstr "" + +#: ../src/seahorse-key-manager.c:513 +msgid "Import from the clipboard" +msgstr "" + +#: ../src/seahorse-key-manager.c:517 +msgid "By _Keyring" +msgstr "De Réir Fáinne _Eochracha" + +#: ../src/seahorse-key-manager.c:518 +msgid "Show sidebar listing keyrings" +msgstr "" + +#: ../src/seahorse-key-manager.c:522 +msgid "Show _Personal" +msgstr "Taispeáin _Pearsanta" + +#: ../src/seahorse-key-manager.c:523 +msgid "Only show personal keys, certificates and passwords" +msgstr "" + +#: ../src/seahorse-key-manager.c:524 +msgid "Show _Trusted" +msgstr "Taispeáin _Iontaofa" + +#: ../src/seahorse-key-manager.c:525 +msgid "Only show trusted keys, certificates and passwords" +msgstr "" + +#: ../src/seahorse-key-manager.c:526 +msgid "Show _Any" +msgstr "Taispeáin _Gach Rud" + +#: ../src/seahorse-key-manager.c:527 +msgid "Show all keys, certificates and passwords" +msgstr "" + +#: ../src/seahorse-key-manager.c:746 +msgid "Filter" +msgstr "Scag" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "" + +#: ../src/seahorse-sidebar.c:798 +msgid "Couldn't lock" +msgstr "" + +#: ../src/seahorse-sidebar.c:835 +msgid "Couldn't unlock" +msgstr "" + +#: ../src/seahorse-sidebar.c:942 +msgid "_Lock" +msgstr "Cuir Faoi _Ghlas" + +#: ../src/seahorse-sidebar.c:947 +msgid "_Unlock" +msgstr "_Díghlasáil" + +#: ../src/seahorse-sidebar.c:966 +msgid "_Properties" +msgstr "_Airíonna" + +#: ../ssh/seahorse-ssh-actions.c:98 +msgid "Configure Key for _Secure Shell..." +msgstr "Cumraigh Eochair le hAghaidh _Blaoisce Dhaingean..." + +#: ../ssh/seahorse-ssh-actions.c:99 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:60 ../ssh/seahorse-ssh-askpass.c:68 +msgid "Enter your Secure Shell passphrase:" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:82 +msgid "Old Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:83 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:87 ../ssh/seahorse-ssh-askpass.c:92 +msgid "New Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:88 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:93 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-backend.c:89 +msgid "Secure Shell" +msgstr "Blaosc Dhaingean" + +#: ../ssh/seahorse-ssh-backend.c:95 +msgid "Keys used to connect securely to other computers" +msgstr "" + +#: ../ssh/seahorse-ssh-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:86 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "" + +#: ../ssh/seahorse-ssh-deleter.c:91 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" + +#: ../ssh/seahorse-ssh-exporter.c:93 +#, fuzzy +msgid "SSH Key" +msgstr "Eochair SSH" + +#: ../ssh/seahorse-ssh-exporter.c:125 +msgid "Secret SSH keys" +msgstr "Eocracha rúnda SSH" + +#: ../ssh/seahorse-ssh-exporter.c:129 +msgid "Public SSH keys" +msgstr "Eochracha poiblí SSH" + +#: ../ssh/seahorse-ssh-exporter.c:298 +msgid "No public key file is available for this key." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:53 ../ssh/seahorse-ssh-key.c:110 +#: ../ssh/seahorse-ssh-key.c:114 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "Eochair Bhlaoisce Dhaingean" + +#: ../ssh/seahorse-ssh-generate.c:54 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:108 ../ssh/seahorse-ssh-generate.c:124 +msgid "Couldn't generate Secure Shell key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:190 +msgid "Creating Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:106 +msgid "(Unreadable Secure Shell Key)" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:214 +msgid "Personal SSH key" +msgstr "Eochair pearsanta SSH" + +#: ../ssh/seahorse-ssh-key.c:216 +msgid "SSH key" +msgstr "Eochair SSH" + +#: ../ssh/seahorse-ssh-key-properties.c:80 +msgid "Couldn't rename key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:133 +msgid "Couldn't change authorization for key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:168 +msgid "Couldn't change passphrase for key." +msgstr "Níorbh fhéidir frása faire d'eochair a athrú." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "Aitheantóir:" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "Ainm:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "Algartam:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "Suíomh:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "Ea_spórtáil Eochair ar Fad" + +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The SSH command was terminated unexpectedly." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:209 +msgid "The SSH command failed." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:502 +msgid "Remote Host Password" +msgstr "Focal Faire Cianóstaigh" + +#: ../ssh/seahorse-ssh-operation.c:588 +msgid "Enter Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:678 +msgid "Passphrase for New Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:862 +#, c-format +msgid "Importing key: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Importing key. Enter passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-source.c:223 +msgid "OpenSSH keys" +msgstr "Eocracha OpenSSH" + +#: ../ssh/seahorse-ssh-source.c:230 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ../ssh/seahorse-ssh-source.c:974 +msgid "No private key file is available for this key." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.c:50 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.c:133 +msgid "Configuring Secure Shell Keys..." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "Socraigh Ríomhaire le hAghaidh Ceangail SSH" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "m.sh.: freastalaícomhad.sampla.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Server address:" +msgstr "Seoladh _freastalaí:" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login name:" +msgstr "Ainm _lógala isteach:" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "_Socraigh" diff --git a/po/gd.po b/po/gd.po new file mode 100644 index 00000000..99486294 --- /dev/null +++ b/po/gd.po @@ -0,0 +1,2555 @@ +# Scottish Gaelic translation for seahorse. +# Copyright (C) 2016 seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# GunChleoc , 2016, 2018. +msgid "" +msgstr "" +"Project-Id-Version: seahorse gnome-3-18\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=seaho" +"rse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-10-02 05:22+0000\n" +"PO-Revision-Date: 2018-02-23 12:14+0100\n" +"Last-Translator: GunChleoc \n" +"Language-Team: Fòram na Gàidhlig\n" +"Language: gd\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n==1 || n==11) ? 0 : (n==2 || n==12) ? 1 : " +"(n > 2 && n < 20) ? 2 : 3;\n" +"X-Generator: Virtaal 0.7.1\n" +"X-Project-Style: gnome\n" + +#: ../data/seahorse.appdata.xml.in.h:1 +#| msgid "Show Seahorse help" +msgid "Seahorse" +msgstr "Seahorse" + +#: ../data/seahorse.appdata.xml.in.h:2 ../data/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "Stiùirich na faclan-faire is iuchraichean crioptachaidh agad" + +#: ../data/seahorse.appdata.xml.in.h:3 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" + +#: ../data/seahorse.appdata.xml.in.h:4 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don't have to keep typing it and backup your keys and keyring." +msgstr "" + +#: ../data/seahorse.desktop.in.in.h:1 ../common/catalog.vala:285 +#: ../src/seahorse-key-manager.c:660 +msgid "Passwords and Keys" +msgstr "Faclan-faire is iuchraichean" + +#: ../data/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" +"keyring;encryption;security;sign;ssh;dul-iuchrach,crioptaich,crioptachadh," +"tèarainteachd;soidhneadh;" + +#: ../common/catalog.vala:257 +msgid "Contributions:" +msgstr "Tabhartasan:" + +#: ../common/catalog.vala:287 +msgid "translator-credits" +msgstr "GunChleoc " + +#: ../common/catalog.vala:290 +msgid "Seahorse Project Homepage" +msgstr "Duilleag-dhachaigh a’ phròiseict Seahorse" + +#: ../common/catalog.vala:308 +msgid "Cannot delete" +msgstr "Cha ghabh a sguabadh às" + +#: ../common/catalog.vala:331 ../libseahorse/seahorse-key-manager-store.c:443 +msgid "Couldn't export keys" +msgstr "Cha b’ urrainn dhuinn na h-iuchraichean às-phortadh" + +#: ../common/catalog.vala:342 +msgid "Couldn't export data" +msgstr "Cha b’ urrainn dhuinn an dàta às-phortadh" + +#: ../common/catalog.vala:358 ../libseahorse/seahorse-widget.c:460 +#, c-format +msgid "Could not display help: %s" +msgstr "Cha b’ urrainn dhuinn a’ chobhair a shealltainn: %s" + +#. Top menu items +#: ../common/catalog.vala:364 +msgid "_File" +msgstr "_Faidhle" + +#: ../common/catalog.vala:365 +msgid "E_xport..." +msgstr "Às-_phortaich..." + +#: ../common/catalog.vala:366 +msgid "Export to a file" +msgstr "Às-phortaich gu faidhle" + +#: ../common/catalog.vala:367 +msgid "_Edit" +msgstr "D_easaich" + +#: ../common/catalog.vala:370 +msgid "Copy to the clipboard" +msgstr "Cuir lethbhreac dheth air an stòr-bhòrd" + +#: ../common/catalog.vala:371 ../pkcs11/pkcs11-properties.vala:201 +#: ../src/seahorse-sidebar.c:954 +msgid "_Delete" +msgstr "Sgua_b às" + +#: ../common/catalog.vala:372 +msgid "Delete selected items" +msgstr "Sguab às na nithean a thagh thu" + +#: ../common/catalog.vala:374 +msgid "Show the properties of this item" +msgstr "Seall na roghainnean aig an nì seo" + +#: ../common/catalog.vala:376 +msgid "Show the properties of this keyring" +msgstr "Seall na roghainnean aig an dul-iuchrach seo" + +#: ../common/catalog.vala:377 +msgid "Prefere_nces" +msgstr "Roghai_nnean" + +#: ../common/catalog.vala:378 +msgid "Change preferences for this program" +msgstr "Atharraich na roghainnean airson a’ phrògraim seo" + +#: ../common/catalog.vala:379 +msgid "_View" +msgstr "_Sealladh" + +#: ../common/catalog.vala:380 +msgid "_Help" +msgstr "Cob_hair" + +#: ../common/catalog.vala:382 +msgid "About this program" +msgstr "Mun phrògram seo" + +#: ../common/catalog.vala:383 +msgid "_Contents" +msgstr "_Clàr-innse" + +#: ../common/catalog.vala:384 +msgid "Show Seahorse help" +msgstr "Seall cobhair Seahorse" + +#: ../common/exportable.vala:192 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "Às-phortaich" + +#. TRANSLATORS: this date (Year-month-day) is used to display +#. * when something happened, e.g. when a key was created. Feel +#. * free to put it in the correct order for your language. +#. +#: ../common/util.vala:63 +msgid "%Y-%m-%d" +msgstr "" + +#: ../gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Faclan-faire" + +#: ../gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "" +"Faclan-faire, teisteasan is rùintean-dìomhair pearsanta air an sàbhaladh" + +#: ../gkr/gkr-backend.vala:251 +msgid "New password keyring" +msgstr "Dul-iuchrach fhaclan-faire ùr" + +#: ../gkr/gkr-backend.vala:252 ../gkr/gkr-backend.vala:259 +msgid "Used to store application and network passwords" +msgstr "" +"Thèid a chleachdadh gus faclan-faire aplacaidean is an lìonraidh a shàbhaladh" + +#: ../gkr/gkr-backend.vala:253 +msgid "New password..." +msgstr "Facal-faire ùr..." + +#: ../gkr/gkr-backend.vala:254 ../gkr/gkr-backend.vala:261 +msgid "Safely store a password or secret." +msgstr "Sàbhail facal-faire no rùn-dìomhair gu tèarainte." + +#: ../gkr/gkr-backend.vala:258 +msgid "Password Keyring" +msgstr "Dul-iuchrach fhaclan-faire" + +#: ../gkr/gkr-backend.vala:260 +msgid "Stored Password" +msgstr "Facal-faire air a shàbhaladh" + +#: ../gkr/gkr-item-add.vala:24 +msgid "Add Password" +msgstr "Cuir facal-faire ris" + +#: ../gkr/gkr-item-add.vala:101 +msgid "Couldn't add item" +msgstr "Cha b’ urrainn dhuinn an nì a chur ris" + +#: ../gkr/gkr-item-properties.vala:136 +msgid "Access a network share or resource" +msgstr "Inntrig co-roinneadh no goireas lìonraidh" + +#: ../gkr/gkr-item-properties.vala:139 +msgid "Access a website" +msgstr "Inntrig làrach-lìn" + +#: ../gkr/gkr-item-properties.vala:142 +msgid "Unlocks a PGP key" +msgstr "Bheir seo a’ ghlas far iuchair PGP" + +#: ../gkr/gkr-item-properties.vala:145 +msgid "Unlocks a Secure Shell key" +msgstr "Bheir seo a’ ghlas far iuchair Secure Shell" + +#: ../gkr/gkr-item-properties.vala:148 +msgid "Saved password or login" +msgstr "Facal-faire no clàradh a-steach air a shàbhaladh" + +#: ../gkr/gkr-item-properties.vala:161 +msgid "Network Credentials" +msgstr "Teisteasan lìonraidh" + +#: ../gkr/gkr-item-properties.vala:166 +msgid "Password" +msgstr "Facal-faire" + +#: ../gkr/gkr-item-properties.vala:235 +msgid "Couldn't change password." +msgstr "Cha b’ urrainn dhuinn am facal-faire atharrachadh." + +#: ../gkr/gkr-item-properties.vala:273 +msgid "Couldn't set description." +msgstr "Cha b’ urrainn dhuinn an tuairisgeul a shuidheachadh." + +#. Translators: This should be the same as the string in empathy +#: ../gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "Facal-faire cunntas ghrad-theachdaireachdan airson " + +#: ../gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "Facal-faire no rùn-dìomhair" + +#: ../gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "Facal-faire lìonraidh" + +#: ../gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "Nòta air a shàbhaladh" + +#: ../gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "Facal-faire dul-iuchrach" + +#: ../gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "Facal-faire aig iuchair crioptachaidh" + +#: ../gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "Facal-faire aig stòras nan iuchraichean" + +#: ../gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "Facal-faire aig Google Chrome" + +#: ../gkr/gkr-item.vala:451 +msgid "Gnome Online Accounts password" +msgstr "Facal-faire aig Gnome Online Accounts" + +#: ../gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "Faca-faire aig Telepathy" + +#: ../gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "Facal-faire ghrad-theachdaireachdan" + +#: ../gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "" + +#: ../gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "" + +#: ../gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "" +msgstr[1] "" + +#: ../gkr/gkr-keyring-add.vala:25 +msgid "Add Password Keyring" +msgstr "" + +#: ../gkr/gkr-keyring-add.vala:55 +msgid "Couldn't add keyring" +msgstr "" + +#: ../gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "" + +#: ../gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "" + +#: ../gkr/gkr-keyring.vala:174 +msgid "Couldn't set default keyring" +msgstr "" + +#: ../gkr/gkr-keyring.vala:198 ../gkr/gkr-keyring.vala:203 +msgid "Couldn't change keyring password" +msgstr "" + +#: ../gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "" + +#: ../gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "" + +#: ../gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "" + +#: ../gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "" + +#: ../gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "" + +#: ../gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +msgid "_Password:" +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Show Password" +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Keyring:" +msgstr "" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Server:" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Login:" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Show pass_word" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../libseahorse/seahorse-passphrase.c:179 ../ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 ../pgp/seahorse-pgp-subkey.c:402 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Name:" +msgstr "" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring" +msgstr "" + +#: ../libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "" + +#: ../libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "" + +#: ../libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "" + +#: ../libegg/egg-datetime.c:328 +msgid "Year" +msgstr "" + +#: ../libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "" + +#: ../libegg/egg-datetime.c:334 +msgid "Month" +msgstr "" + +#: ../libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "" + +#: ../libegg/egg-datetime.c:340 +msgid "Day" +msgstr "" + +#: ../libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "" + +#: ../libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "" + +#: ../libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "" + +#: ../libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "" + +#: ../libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "" + +#: ../libegg/egg-datetime.c:358 +msgid "Second" +msgstr "" + +#: ../libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "" + +#: ../libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "" + +#: ../libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "" + +#: ../libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "" + +#: ../libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "" + +#: ../libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "" + +#: ../libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "" + +#: ../libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "" + +#: ../libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "" + +#: ../libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "" + +#: ../libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "" + +#: ../libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "" + +#: ../libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "" + +#: ../libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "" + +#: ../libegg/egg-datetime.c:495 +msgid "Date" +msgstr "" + +#: ../libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "" + +#: ../libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "" + +#: ../libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "" + +#: ../libegg/egg-datetime.c:520 ../libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "" + +#: ../libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "" + +#: ../libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "" + +#: ../libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "" + +#: ../libegg/egg-datetime.c:796 ../libegg/egg-datetime.c:1259 +#: ../libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "" + +#: ../libegg/egg-datetime.c:798 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "" + +#: ../libseahorse/seahorse-application.c:108 +msgid "Version of this application" +msgstr "" + +#: ../libseahorse/seahorse-application.c:114 +#: ../libseahorse/seahorse-application.c:158 +msgid "- System Settings" +msgstr "" + +#: ../libseahorse/seahorse-application.c:154 +msgid "Don't display a window" +msgstr "" + +#: ../libseahorse/seahorse-interaction.c:98 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:241 +msgid "Confirm:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:65 +msgid "Not a valid Key Server address." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:66 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:179 +msgid "URL" +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:349 +msgid "Custom" +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:402 +msgid "None: Don't publish keys" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "" + +#: ../libseahorse/seahorse-search-provider.c:186 +msgid "The search provider is not loaded yet" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:38 +#: ../pgp/seahorse-pgp-key-properties.c:1251 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1257 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn't add subkey" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:196 ../pgp/seahorse-gpgme-generate.c:132 +msgid "DSA (sign only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:210 ../pgp/seahorse-gpgme-generate.c:133 +msgid "RSA (sign only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn't add user id" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "" + +#: ../pgp/seahorse-gpgme.c:71 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" + +#: ../pgp/seahorse-gpgme.c:75 ../pgp/seahorse-hkp-source.c:548 +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The operation was cancelled" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn't change expiry date" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "" + +#: ../pgp/seahorse-gpgme-exporter.c:116 +msgid "Armored PGP keys" +msgstr "" + +#: ../pgp/seahorse-gpgme-exporter.c:120 +msgid "PGP keys" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:93 +msgid "PGP Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:94 +msgid "Used to encrypt email and files" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:130 ../pkcs11/seahorse-pkcs11-generate.c:90 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:131 +msgid "DSA ElGamal" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:180 +msgid "Couldn't generate PGP key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It's a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:231 +#: ../pkcs11/seahorse-pkcs11-generate.c:458 +msgid "Generating key" +msgstr "" + +#: ../pgp/seahorse-gpgme-key-deleter.c:77 +#: ../pgp/seahorse-gpgme-secret-deleter.c:76 ../pkcs11/pkcs11-deleter.vala:35 +#: ../pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "" + +#: ../pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "" +msgstr[1] "" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "Wrong password" +msgstr "" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:93 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:98 ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:306 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "" +msgstr[1] "" + +#: ../pgp/seahorse-gpgme-keyring.c:653 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:806 +msgid "GnuPG keys" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:812 +msgid "GnuPG: default keyring directory" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:77 +msgid "_Don't Resize" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:241 ../src/seahorse-key-manager.c:288 +msgid "All files" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn't prepare photo" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:294 ../pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn't add photo" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn't delete photo" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn't revoke subkey" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn't add revoker" +msgstr "" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:82 +msgid "I understand that this secret key will be permanently deleted." +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn't sign key" +msgstr "" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:163 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" + +#: ../pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "" + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:566 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:569 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:1079 +msgid "HTTP Key Server" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:168 +msgid "Couldn't import keys" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:211 +msgid "Importing keys from key servers" +msgstr "" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:237 ../src/seahorse-key-manager.c:501 +msgid "_Remote" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:239 +msgid "Close this window" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:243 ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys..." +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:244 ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:248 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:249 +msgid "Import selected keys to local key ring" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:280 +msgid "Remote Keys" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:282 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:485 +msgid "The search for keys failed." +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.c:56 +msgid "Couldn't publish keys to server" +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.c:75 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.c:159 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "" +msgstr[1] "" + +#: ../pgp/seahorse-keyserver-sync.c:239 +msgid "Synchronizing keys..." +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:436 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:646 +#, c-format +msgid "Connecting to: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:696 +#, c-format +msgid "Resolving server address: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:1431 +msgid "LDAP Key Server" +msgstr "" + +#: ../pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys..." +msgstr "" + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "" + +#: ../pgp/seahorse-pgp-backend.c:193 +msgid "PGP Keys" +msgstr "" + +#: ../pgp/seahorse-pgp-backend.c:199 +msgid "PGP keys are for encrypting email or files" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Ne_ver Expires" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "_Comment:" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "" + +#: ../pgp/seahorse-pgp-key.c:351 +msgid "Personal PGP key" +msgstr "" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "PGP key" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:317 +msgid "Couldn't change primary user ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:336 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:346 +msgid "Couldn't delete user ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:421 +#: ../pgp/seahorse-pgp-key-properties.c:1576 +msgid "[Unknown]" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:530 +#: ../pgp/seahorse-pgp-key-properties.c:1859 +msgid "Name/Email" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:537 +msgid "Signature ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:670 +msgid "Couldn't change primary photo" +msgstr "" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:904 +msgid "(unknown)" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:907 +#, c-format +msgid "This key expired on: %s" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:970 +msgid "Name" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1085 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1094 +msgid "Couldn't delete subkey" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1134 +#: ../pgp/seahorse-pgp-key-properties.c:1550 +msgid "Unable to change trust" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1148 +#: ../ssh/seahorse-ssh-key-properties.c:205 +msgid "Couldn't export key" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1264 +msgid "Marginal" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1270 +msgid "Full" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1276 +msgid "Ultimate" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1382 +#: ../pgp/seahorse-pgp-key-properties.c:1475 +msgctxt "Expires" +msgid "Never" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1429 +msgid "ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "Type" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Usage" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1466 +msgid "Revoked" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1468 +msgid "Expired" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1470 +msgid "Disabled" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1472 +msgid "Good" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1862 +msgid "Key ID" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Secret Key:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "Actions" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key's owner" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "" + +#: ../pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "" + +#: ../pgp/seahorse-pgp-subkey.c:293 +msgid "Certify" +msgstr "" + +#: ../pgp/seahorse-pgp-subkey.c:294 +msgid "Authenticate" +msgstr "" + +#: ../pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "" + +#: ../pgp/seahorse-signer.c:62 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "" + +#: ../pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "" + +#: ../pkcs11/certificate-der-exporter.vala:43 +#: ../pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "" + +#: ../pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "" + +#: ../pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "" + +#: ../pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-backend.c:189 +msgid "Certificates" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-backend.c:195 +msgid "X.509 certificates and related keys" +msgstr "" + +#: ../pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "" +msgstr[1] "" + +#: ../pkcs11/seahorse-pkcs11-generate.c:113 +msgid "Couldn't generate private key" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-generate.c:412 ../pkcs11/pkcs11-request.vala:56 +msgid "Create" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-generate.c:505 +#: ../pkcs11/pkcs11-private-key.vala:70 +msgid "Private key" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +msgid "Used to request a certificate" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "" + +#: ../pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "" + +#: ../pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "" + +#: ../pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "" + +#: ../pkcs11/pkcs11-properties.vala:188 ../src/seahorse-sidebar.c:873 +msgid "Couldn't delete" +msgstr "" + +#: ../pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "" + +#: ../pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "" + +#: ../pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "" + +#: ../pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "" + +#: ../pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "" + +#: ../pkcs11/pkcs11-request.vala:87 +msgid "Couldn't create certificate request" +msgstr "" + +#: ../pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "" + +#: ../pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "" + +#: ../pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "" + +#: ../pkcs11/pkcs11-request.vala:149 +msgid "Couldn't save certificate request" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "" + +#: ../pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "" + +#: ../pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "" + +#: ../src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "" + +#: ../src/seahorse-import-dialog.c:95 +msgid "Import failed" +msgstr "" + +#: ../src/seahorse-import-dialog.c:113 +msgid "Import" +msgstr "" + +#: ../src/seahorse-import-dialog.c:126 +msgid "Data to be imported:" +msgstr "" + +#: ../src/seahorse-key-manager.c:242 ../ssh/seahorse-ssh-operation.c:870 +msgid "Import Key" +msgstr "" + +#: ../src/seahorse-key-manager.c:254 +msgid "All key files" +msgstr "" + +#: ../src/seahorse-key-manager.c:355 +msgid "Dropped text" +msgstr "" + +#: ../src/seahorse-key-manager.c:391 +msgid "Clipboard text" +msgstr "" + +#: ../src/seahorse-key-manager.c:502 +msgid "_New" +msgstr "" + +#: ../src/seahorse-key-manager.c:504 +msgid "Close this program" +msgstr "" + +#: ../src/seahorse-key-manager.c:505 ../src/seahorse-key-manager.c:507 +msgid "_New..." +msgstr "" + +#: ../src/seahorse-key-manager.c:506 +msgid "Create a new key or item" +msgstr "" + +#: ../src/seahorse-key-manager.c:508 +msgid "Add a new key or item" +msgstr "" + +#: ../src/seahorse-key-manager.c:509 +msgid "_Import..." +msgstr "" + +#: ../src/seahorse-key-manager.c:510 +msgid "Import from a file" +msgstr "" + +#: ../src/seahorse-key-manager.c:512 +msgid "Import from the clipboard" +msgstr "" + +#: ../src/seahorse-key-manager.c:516 +msgid "By _Keyring" +msgstr "" + +#: ../src/seahorse-key-manager.c:517 +msgid "Show sidebar listing keyrings" +msgstr "" + +#: ../src/seahorse-key-manager.c:521 +msgid "Show _Personal" +msgstr "" + +#: ../src/seahorse-key-manager.c:522 +msgid "Only show personal keys, certificates and passwords" +msgstr "" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show _Trusted" +msgstr "" + +#: ../src/seahorse-key-manager.c:524 +msgid "Only show trusted keys, certificates and passwords" +msgstr "" + +#: ../src/seahorse-key-manager.c:525 +msgid "Show _Any" +msgstr "" + +#: ../src/seahorse-key-manager.c:526 +msgid "Show all keys, certificates and passwords" +msgstr "" + +#: ../src/seahorse-key-manager.c:745 +msgid "Filter" +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "" + +#: ../src/seahorse-sidebar.c:797 +msgid "Couldn't lock" +msgstr "" + +#: ../src/seahorse-sidebar.c:834 +msgid "Couldn't unlock" +msgstr "" + +#: ../src/seahorse-sidebar.c:941 +msgid "_Lock" +msgstr "" + +#: ../src/seahorse-sidebar.c:946 +msgid "_Unlock" +msgstr "" + +#: ../src/seahorse-sidebar.c:965 +msgid "_Properties" +msgstr "" + +#: ../ssh/seahorse-ssh-actions.c:97 +msgid "Configure Key for _Secure Shell..." +msgstr "" + +#: ../ssh/seahorse-ssh-actions.c:98 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:78 ../ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:105 ../ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-backend.c:115 +msgid "Secure Shell" +msgstr "" + +#: ../ssh/seahorse-ssh-backend.c:121 +msgid "Keys used to connect securely to other computers" +msgstr "" + +#: ../ssh/seahorse-ssh-deleter.c:80 ../ssh/seahorse-ssh-deleter.c:85 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "" + +#: ../ssh/seahorse-ssh-deleter.c:90 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "" +msgstr[1] "" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "SSH Key" +msgstr "" + +#: ../ssh/seahorse-ssh-exporter.c:124 +msgid "Secret SSH keys" +msgstr "" + +#: ../ssh/seahorse-ssh-exporter.c:128 +msgid "Public SSH keys" +msgstr "" + +#: ../ssh/seahorse-ssh-exporter.c:297 +msgid "No public key file is available for this key." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:52 ../ssh/seahorse-ssh-key.c:109 +#: ../ssh/seahorse-ssh-key.c:113 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:53 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:107 ../ssh/seahorse-ssh-generate.c:123 +msgid "Couldn't generate Secure Shell key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:190 +msgid "Creating Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "(Unreadable Secure Shell Key)" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:213 +msgid "Personal SSH key" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:215 +msgid "SSH key" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:79 +msgid "Couldn't rename key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:134 +msgid "Couldn't change authorization for key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:171 +msgid "Couldn't change passphrase for key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:204 +msgid "The SSH command was terminated unexpectedly." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:214 +msgid "The SSH command failed." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:523 +msgid "Remote Host Password" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:610 +msgid "Enter Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:701 +msgid "Passphrase for New Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:887 +#, c-format +msgid "Importing key: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:889 +msgid "Importing key. Enter passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-source.c:219 +msgid "OpenSSH keys" +msgstr "" + +#: ../ssh/seahorse-ssh-source.c:226 +#, c-format +msgid "OpenSSH: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-source.c:974 +msgid "No private key file is available for this key." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.c:48 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.c:131 +msgid "Configuring Secure Shell Keys..." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Server address:" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login name:" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "" diff --git a/po/gl.po b/po/gl.po new file mode 100644 index 00000000..e58bd495 --- /dev/null +++ b/po/gl.po @@ -0,0 +1,2854 @@ +# Galician translation of Seahorse. +# Copyright (C) 2010 Fran Diéguez. +# This file is distributed under the same license as the seahorse package. +# Proxecto Trasno - Adaptación do software libre á lingua galega: Se desexas +# colaborar connosco, podes atopar máis información en http://www.trasno.net +# Ignacio Casal Quinteiro , 2007. +# Ignacio Casal Quinteiro , 2007. +# Ignacio Casal Quinteiro , 2007, 2008. +# Mancomún - Centro de Referencia e Servizos de Software Libre , 2009. +# Suso Baleato , 2009. +# Antón Méixome , 2009. +# Fran Diéguez , 2009, 2010, 2011, 2012. +# Leandro Regueiro , 2012. +# Marcos Lans +# Fran Dieguez , 2012-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse.master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-08-13 23:58+0200\n" +"Last-Translator: Fran Dieguez \n" +"Language-Team: Galician \n" +"Language: gl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-Generator: Gtranslator 3.36.0\n" +"X-Project-Style: gnome\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Engadir servidor de chaves" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Personalizado" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Cancelar" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Gardar" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Non é posíbel eliminar" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Non foi posíbel exportar as chaves" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Non foi posíbel exportar os datos" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Cancelar" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "E_liminar" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Exportar" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Escriba o PIN ou contrasinal para: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Confirmar:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Aceptar" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Contrasinal:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Contrasinais" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Chaves" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certificados" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Preferencias" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Ningún: Non publicar as chaves" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "O enderezo do servidor de chaves non é válido." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Se precisa axuda contacte co seu administrador de sistemas ou co " +"administrador do servidor de chaves." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "elemento temporal inicial" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Tipo de servidor de chaves:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Host:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "O nome do host ou o enderezo do servidor." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "O porto para acceder ao servidor." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Buscar chaves en:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Publicar chaves en:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Recuperar automaticamente as chaves desde os servidores de ch_aves" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" +"Sincronizar automaticamente as chaves _modificadas cos servidores de chaves" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Servidores de chaves" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Descoñecido" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Nunca" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Mínima" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Completa" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Absoluta" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Desactivada" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Revogada" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Vista xeral" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Axuda" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Abrir menú" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Crear un novo elemento" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Importar elemento desde un ficheiro" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Buscar" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Lista de atallos" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Saír" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navegación" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Seleccionar o anel de chaves anterior" + +#: data/gtk/help-overlay.ui:76 +#| msgid "Select Date" +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Seleccionar o anel de chaves seguinte" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Mostrar a barra lateral (en pantallas pequenas)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Mostrar os contidos do anel de chaves (en pantallas pequenas)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Obter as chaves automaticamente" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Indica se as chaves se deben recuperar automaticamente, ou non, dos " +"servidores de chaves." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Autopublicar as chaves" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Indica se as chaves modificadas se deben sincronizar automaticamente." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Publicar as chaves neste servidor de chaves" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"O servidor de chaves onde publicar as chaves PGP. Déixeo baleiro para " +"suprimir a publicación de chaves PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Patrón de búsqueda do último servidor de chaves" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "O último patrón de busca usado nun servidor de chaves." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Últimos servidores de chaves usados" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"O último servidor de chaves onde se realizou unha busca ou déixeo baleiro " +"para usar todos os servidores de chaves." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Mostrar a barra lateral de aneis de chaves" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Mostrar a barra lateral dos aneis de chaves en Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Que elementos mostrar" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtro dos elementos a mostrar. Se está baleiro, mostraranse todos os " +"elementos, se é «personal» só se mostrarán as chaves personais, se é " +"«trusted» mostraranse as confiábeis." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Largura do panel lateral" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "A largura predeterminada do panel lateral." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Os aneis de chaves seleccionados" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Os URIs dos aneis de chves seleccionados na barra lateral." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "A columna pola que ordenar as chaves do Seahorse" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Especificar a columna pola que ordenar a xanela principal do xestor de " +"chaves. As columnas son: «name», «id», «validity», «expires», «trust» e " +"«type». Poña un «-» diante do nome da columna para ordenalos en orde " +"descendente." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Mostrar a columna de validación" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "A chave xa non se usa." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Mostrar a columna de caducidade" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Mostrar a columna de confianza" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Mostrar a columna de tipo" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "A anchura da xanela" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Anchura (en píxeles) da xanela." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Altura da xanela" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Altura (en píxeles) da xanela." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Xestione os seus contrasinais e chaves de cifrado" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse é unha aplicación para xestionar chaves de cifrado." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Con seahorse pode crear e xestionar chaves PGP, crear e xestionar chaves " +"SSH, publicar e obter chaves desde servidores de chaves, almacenar na caché " +"a súa frase de paso deste xeito non terá que escribila continuamente e facer " +"un respaldo das súas chaves e do anel de chaves." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "O Proxecto GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Contrasinais e chaves de cifrado" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "anel de chaves;cifrado;seguranza;sinatura;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Contrasinais personais, credenciais e segredos almacenados" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Non foi posíbel desbloquear" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Non foi posíbel engadir o elemento" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Contrasinal ou segredo" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Segredo da conexión de rede" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Contrasinal do Wifi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Contrasinal de rede" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Contrasinal de GNOME Web" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Contrasinal de Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Contrasinal da mensaxaría instantánea" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Contrasinal para a conta de MI " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Contrasinal de Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Contrasinal de Contas en liña de GNOME" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Desexa gardar os cambios deste elemento?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Acceder a un recurso ou espazo en rede compartido" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Acceder a un sitio web" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Desbloquea unha chave PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Desbloquea unha chave de Secure Shell (SSH)" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Contrasinal ou inicio de sesión gardado" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Credenciais de rede" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Contrasinal" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Non foi posíbel modificar o contrasinal." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Non foi posíbel definir a descrición." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Produciuse un erro ao eliminar o contrasinal." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Nota almacenada" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Contrasinal do anel de chaves" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Contrasina da chave de cifrado" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Contrasinal do almacén de chaves" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Segredo do Xestor de rede" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Está seguro de que quere eliminar o contrasinal «%s»?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Está seguro de que quere eliminar %d contrasinal?" +msgstr[1] "Está seguro de que quere eliminar %d contrasinais?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Non foi posíbel engadir o anel de chaves" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Data descoñecida" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Anel de chaves que se desbloquea automaticamente ao iniciar sesión" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Un anel de chaves usado para almacenar contrasinais" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Non foi posíbel definir o anel de chaves predeterminado" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Non foi posíbel cambiar o contrasinal do anel de chaves" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "De_finir como predeterminado" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Cambiar o _contrasinal" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "" +"Está seguro de que quere eliminar o contrasinal do anel de chaves «%s»?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Entendo que todos os elementos se eliminarán de forma permanente." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Mostrar/ocultar contrasinal" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Engadir un contrasinal" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "Anel de cha_ves:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Descrición:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Contrasinal:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Engadir" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Engadir anel de chaves" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Elixa un nome para o novo anel de chaves. Preguntaráselle o contrasinal para " +"desbloquear." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Nome novo do anel de chaves:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Propiedades do elemento" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Descrición" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Copiar" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Usar" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Tipo" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Servidor" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Iniciar sesión" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Detalles" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Eliminar contrasinal" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Propiedades do anel de chaves" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Nome" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Creado o" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Cambiar o contrasinal" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Definir como predeterminado" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Mostrar os parámetros" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Propiedades de data ou hora que se mostran" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Modo preguizoso" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "" +"O modo preguiceiro non normaliza os valores de data e tempo introducidos" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Ano" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Ano mostrado" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mes" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Mes mostrado" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Día" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Día do mes mostrado" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Hora" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Hora mostrada" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minuto" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Minuto mostrado" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Segundo" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Segundo mostrado" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Límite de ano inferior" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Parte do ano do límite inferior de data" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Límite de ano superior" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Parte do ano do límite superior de data" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Límite inferior de mes" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Parte do mes do límite inferior de data" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Límite de mes superior" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Parte do mes do límite superior de data" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Límite de día inferior" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Parte do día do mes do límite inferior de data" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Límite de día superior" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Parte do día do mes do límite superior de data" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Límite de hora inferior" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Parte da hora do límite inferior de hora" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Límite superior de hora" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Parte da hora do límite superior de hora" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Límite de minuto inferior" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Parte do minuto do límite inferior de hora" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Límite de minuto superior" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Parte do minuto do límite superior de hora" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Límite de segundo inferior" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Parte do segundo do límite inferior de hora" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Límite de segundo superior" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Parte do segundo do límite superior de hora" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Data" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Introduza a data directamente" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Seleccionar a data" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Seleccionar a data dun calendario" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Hora" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Introduza a hora directamente" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Seleccionar a hora" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Seleccionar a hora dunha lista" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: si" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Non foi posíbel mostrar a axuda: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Engadir subchave a %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (só asinar)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (só cifrar)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (só asinar)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (só cifrar)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "_Tipo de chave" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "_Lonxitude de chave" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Lonxitude da chave" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Data de caducidade" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Nu_nca caduca" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Se a chave nunca caduca" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Xerar unha nova subchave" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Engadir o ID de usuario a %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Non foi posíbel engadir o ID de usuario" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Engadir o ID de usuario" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_Nome completo" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Debe ter como mínimo 5 caracteres" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "Enderezo de corr_eo" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Enderezo de correo opcional" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Co_mentario de chave" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Comentario opcional para describir a chave" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Crear o novo ID de usuario" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "O descifrado fallou. Probabelmente non ten a chave de descifrado." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "A operación foi cancelada" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "A data de caducidade non é válida" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "A data de caducidade debe estar no futuro" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Non foi posíbel cambiar a data de caducidade" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Caducidade: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Non caduca nunca" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Cambiar" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Chaves múltiples" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Datos da chave" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Chaves PGP blindadas" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Chaves PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA Elgamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Non foi posíbel xerar a chave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Frase de paso para a nova chave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Introduza dúas veces a frase de paso para a nova chave." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Ao crear unha chave débense xerar moitos\n" +"datos aleatorios e precísase da súa axuda. É unha\n" +"boa idea realizar outras tarefas como escribir\n" +"co teclado, mover o rato ou usar aplicacións.\n" +"Isto fornécelle ao sistema os datos aleatorios\n" +"necesarios." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Xerando a chave" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Debe ter como mínimo 5 caracteres de largo." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Nova chave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Unha chave PGP permítelle cifrar correos electrónicos ou ficheiros para " +"outras persoas." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Opcións _avanzadas de chave" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Comentario" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_Tipo de cifrado" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Fortaleza da chave (bits)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Data de _caducidade" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "_Nunca caduca" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "C_rear" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Xerar unha nova chave" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Está seguro de que desexa eliminar permanentemente %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Está seguro de que desexa eliminar permanentemente %d chave?" +msgstr[1] "Está seguro de que desexa eliminar permanentemente %d chaves?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Contrasinal incorrecto" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Esta foi a terceira vez que inseriu o contrasinal incorrecto. Ténteo de novo." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "A frase de paso é incorrecta." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Introduza unha frase de paso nova para «%s»" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Introduza a frase de paso para «%s»" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Introduza a frase de paso nova" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Introduza a frase de paso" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Frase de paso" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d chave cargada" +msgstr[1] "%d chaves cargadas" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Os datos da chave non son válidos (faltan UID). Isto pode deberse a un " +"equipo cunha data estabelecida no futuro ou a unha sinatura persoal que " +"falta." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Chaves de GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: cartafol predeterminado do anel de chaves" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"A foto é demasiado grande\n" +"O tamaño recomendado para unha foto na súa chave é de %d x %d píxeles." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Non redimensionar" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Redimensionar" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Este non é un ficheiro de imaxe, ou é un tipo de ficheiro de imaxe non " +"recoñecido. Tente usar unha imaxe JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Todos os ficheiros de imaxe" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Todos os ficheiros JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Todos os ficheiros" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Seleccione unha foto para engadir á chave" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Abrir" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Non foi posíbel preparar a foto" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Non foi posíbel engadir a foto" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" +"Non foi posíbel cargar o ficheiro. Pode que estea nun formato non válido" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Está seguro de que desexa retirar a foto actual da súa chave?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Non foi posíbel eliminar a foto" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Non foi posíbel revogar a subchave" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Revogar: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Sen motivo" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Non hai motivo para revogar a chave" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Comprometida" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "A chave foi comprometida" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Substituída" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "A chave foi subsituída" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Non se usa" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "A chave xa non se usa" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Vai engadir a %s como revogador de %s. Non é posíbel desfacer esta " +"operación! Está seguro de que quere continuar?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Non foi posíbel engadir o revogador" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Entendo que esta chave segreda eliminarase permanentemente." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Esta chave xa foi asinada por\n" +"«%s»" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Non foi posíbel asinar a chave" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Non hai chaves dispoñíbeis para asinar" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Non ten ningunha chave persoal PGP que se poida usar para indicar a súa " +"confianza nesta chave." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Asinar a chave" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Asinando indica que confía que esta chave pertence a:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Nome da chave" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Que coidado puxo na verificación desta chave?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Ningunha en absoluto" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Informalmente" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Moi coidadosamente" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Ningunha en absoluto: significa que cree que a chave pertence á " +"persoa que di posuíla mais non puido facer ou non fixo ningunha comprobación " +"de que isto é así." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Casualmente: significa que fixo unha verificación casual de que a " +"chave perténcelle á persoa que di posuíla. Por exemplo, podería ler a pegada " +"dixital da chave ao propietario por teléfono." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Moi coidadosamente: Seleccione isto só se está completamente seguro " +"de que esta chave é auténtica." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Pode usar unha identificación fotográfica difícil de falsificar (como un " +"pasaporte) para verificar persoalmente que o nome da chave é correcto. " +"Debería ter usado tamén o correo electrónico para verificar que o enderezo " +"de correo pertence ao propietario." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Como verán outros esta sinatura:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Outros poderán non ver esta sinatura" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Podo _revogar esta sinatura nunha data posterior." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Asinar chave como:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "A_sinante:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "A_sinar" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Descoñecido" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"A busca non foi o suficientemente específica. O servidor «%s» encontrou " +"demasiadas chaves." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Non foi posíbel comunicar co servidor «%s»: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Servidor de chaves HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Non foi posíbel importar a chave: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Chave importada con éxito" + +#: pgp/seahorse-keyserver-results.c:154 +#| msgid "_Import" +msgid "Import" +msgstr "Importar" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Non é posíbel importar a chave" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Chaves remotas" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Chaves remotas que conteñan «%s»" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Produciuse un erro ao buscar as chaves." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Faga dobre clic sobre unha chave para inspeccionala, ou prema no botón de " +"importación para importala no seu anel de chaves local." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Buscar chaves remotas" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Isto buscará as chaves doutros en Internet. Estas chaves poden importarse " +"despois ao seu anel local de chaves." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Buscar chaves que conteñan: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Onde buscar:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Servidores de chaves:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Chaves compartidas próximas a min:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Buscar" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Non foi posíbel publicar as chaves no servidor" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Non foi posíbel obter as chaves desde o servidor: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d chave seleccionada para a sincronización" +msgstr[1] "%d chaves seleccionadas para a sincronización" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Sincronización de chaves…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Sincronizar chaves" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Isto publicará as chaves do seu anel así que estarán dispoñíbeis para que as " +"usen outras persoas. Tamén obterá todos os cambios que outras persoas " +"fixeran desde que recibiu as súas chaves." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Isto recuperará calquera modificación que outras persoas fixeron desde que " +"recibiu as súas chaves. Non se seleccionou ningún servidor de chaves para a " +"publicación, así que as súas propias chaves non estarán dispoñíbeis para " +"outras persoas." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Servidores de cha_ves" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Sincronizar" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Non foi posíbel comunicar con %s: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Conectando con: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Non foi posíbel resolver o enderezo: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Resolvendo o enderezo do servidor: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Servidor de chaves LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Chave PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "Chaves PGP usadas para cifrar correo e ficheiros" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(e %d outro)" +msgstr[1] "(e %d outros)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Chave PGP persoal" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Chave PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Non é posíbel cambiar o ID do usuario primario" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "" +"Está seguro de que quere eliminar o ID de usuario «%s» de forma permanente?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Non foi posíbel eliminar o ID de usuario" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Descoñecido]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Nome/Correo-e" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "ID da sinatura" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Non foi posíbel cambiar a foto primaria" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Produciuse un erro ao cambiar o contrasinal" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(descoñecido)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Esta chave caducou o: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Chave pública" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Chave privada" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Está seguro de que quere eliminar permanentemente a subchave %d de %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Non foi posíbel eliminar a subchave" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Non é posíbel cambiar o nivel de confianza" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Non foi posíbel exportar a chave" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Nunca" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Uso" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Creada" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Caduca" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Estado" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Fortaleza" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Revogada" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Caducada" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Desactivada" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Bo" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "ID da chave" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Confío nas sinaturas de «%s» noutras chaves" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Se cree que a persoa á que pertence esta chave é «%s», asinar esta " +"chave:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Se xa non confía en que esta chave pertenza a «%s», revogue a súa " +"sinatura:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Exportar chave _segreda" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Exportar chave _pública" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Esta chave foi revogada" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "O propietario da chave revogou a chave. Non é posíbel usar máis." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Esta chave caducou" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Engadir unha foto a esta chave" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Retirar esta foto desta chave" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Facer desta foto a foto primaria" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Ir á foto anterior" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Ir á foto seguinte" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Comentario" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Cambiar a frase de _paso" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Propietario" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Nomes de chaves e sinaturas" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Primaria" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Sinatura" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Eliminar" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Engadir nome" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Revogar" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Nomes e sinaturas" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "ID de chave:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Tipo:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Fortaleza:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Detalles técnicos" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Pegada dixital" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Creación:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Caducidade:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Datas" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Substituír a confianza do _propietario:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "Importar elemento desde un ficheiro" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Accións" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Caducar" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Subchaves" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Mínima" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Completa" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Absoluta" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Outros nomes:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "A súa confianza nesta chave" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "" +"A súa confianza está especificada manualmente na lapela Detalles." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "A_sinar esta chave" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Revogar sinatura" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Persoas que asinaron esta chave:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "Mostrar _só as sinaturas das persoas en quen confío" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Confianza" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Detalles técnicos:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Pegada dixital:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Datas:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +#| msgid "Indicate Trust:" +msgid "Indicate trust:" +msgstr "Indicar confianza:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +#| msgid "You _Trust the Owner:" +msgid "You _trust the owner:" +msgstr "_Confía no propietario:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Cifrar" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certificado" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Autenticar" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Tecla" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Chave secundaria %d de %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Razón de revogación da chave" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Razón:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Descrición opcional de revogación" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Revogar a chave" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Re_vogar" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Non ten chaves PGP persoais que se poidan usar para asinar un documento ou " +"unha mensaxe." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Escolla unha chave de asinado" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "A_sinar a mensaxe coa chave:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Exportando datos" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Obtendo datos" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Importando datos" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Enviando datos" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Non dispoñíbel" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certificado" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certificados (codificados con DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Certificado persoal e chave" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Certificado persoal" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Confirma a eliminación permanentemente do certificado %d?" +msgstr[1] "Confirma a eliminación permanentemente dos certificados %d?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Non foi posíbel xerar a chave privada" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Entendo que esta chave eliminarase permanentemente." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Chave privada sen nome" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Chave privada" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Sen nome" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Produciuse un erro ao exportar o certificado" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Non foi posíbel eliminar" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Crear" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Non foi posíbel crear a solicitude de certificado" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Gardar a solicitude de certificado" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Gardar" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Solicitude de contacto" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Solicitude codificada con PEM" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Non foi posíbel gardar a solicitude de certificado" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Descoñecido" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Certificados X.509 e chaves relacionadas" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Nova chave privada" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Crear unha chave privada nova" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Etiqueta:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Almacenado en:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Tipo de chave:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Fortaleza da chave (bits):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Eliminar este certificado ou chave" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Exportar o certificado" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Solicitar certificado" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Crear un ficheiro de solicitude de certificado para esta chave" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Crear un ficheiro de solicitude de certificado." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "O nome común (CN) localizado na solicitude de certificado." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Nome (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Colaboracións:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Versión desta aplicación" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Fran Diéguez , 2009-2020.\n" +"Leandro Regueiro , 2012.\n" +"Antón Méixome , 2009.\n" +"Mancomún - Centro de Referencia e Servizos de Software Libre , 2009.\n" +"Suso Baleato , 2009.\n" +"Ignacio Casal Quinteiro , 2007, 2008" + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Páxina web do proxecto Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Datos que importar" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importar" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Fallou a importación" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Importar unha chave" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Todos os ficheiros de chaves" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Texto arrastrado" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Texto do portapapeis" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Non é posíbel desbloquear o anel de chaves" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Cambiar a frase de paso" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Nova frase de _paso:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Confirmar a nova frase de paso" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Con_firmar a frase de paso:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Buscar as chaves remotas…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Sincronizar e publicar chaves…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Preferencias" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Axuda" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Atallos de teclado" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_Sobre Contrasinais e chaves de cifrado" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filtrar elementos:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Mostrar p_ersonal" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Mostrar _confiábeis" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Mostrar _calquera" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Chave de Secure Shell" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Úsase para conectarse a outros computadores" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Chave PGP" + +#: src/seahorse-key-manager.ui:132 +#| msgid "Used to encrypt email and files" +msgid "Used to encrypt emails and files" +msgstr "Úsase para cifrar correo e ficheiros" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Contrasinal do anel de chaves" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Úsase para gardar os contrasinais de rede e de aplicacións" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Garda de forma segura un contrasinal ou un segredo" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Úsase para solicitar un certificado" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importar desde un ficheiro…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Engadir unha chave ou un elemento novo" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Atrás" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Buscando unha chave ou contrasinal" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filtro" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Esta colección semella estar baleira" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "O anel de chaves está bloqueado" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Desbloquear" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Copiar segredo" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Exportar…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Propiedades" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Configurar a chave para Shell segura…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "B_loquear" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Desbloquear" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Propiedades" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Non foi posíbel bloquear" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Secure Shell (SSH)" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Chaves usadas para conectar de maneira segura a outros equipos" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Está seguro de que quere eliminar a chave de Secure Shell (SSH) «%s»?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Está seguro de que quere eliminar %u chave de Secure Shell (SSH)?" +msgstr[1] "Está seguro de que quere eliminar %u chaves de Secure Shell (SSH)?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Chaves SSH segredas" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Chaves SSH públicas" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Chave SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Non hai ningún ficheiro de chave privada dispoñíbel para esta chave." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Non foi posíbel caragar a nova chave xerada de Secure Shell" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Non foi posíbel xerar a chave de Secure Shell (SSH)" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Creando chave de Secure Shell" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bits" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bits" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Tipo de chave descoñecido!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Tipo descoñecido" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Non foi posíbel renomear a chave." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Non foi posíbel modificar a autorización da chave." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Non foi posíbel modificar a frase de paso da chave." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Produciuse un erro ao eliminar a chave SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Chaves SSH persoal" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Chvae SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Chave de Secure Shell (SSH) ilexíbel)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Chave de Secure Shell" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Contrasinal de host remoto" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Introduza a frase de paso da chave" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Frase de paso para a nova chave de Secure Shell" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Importando a chave: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Importando a chave. Introduza a frase de paso" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Introduza a súa frase de paso para Secure Shell:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Antiga frase de paso da chave" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Introduza a frase de paso antiga para: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Nova frase de paso da chave" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Escriba a nova frase de paso nova para: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Escriba a nova frase de paso nova de novo: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Nova chave de Secure Shell" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Unha chave de Secure Shell (SSH) permítelle conectar de modo seguro cos " +"computadores." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Descrición" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"O seu enderezo de correo electrónico ou un recordatorio para saber para que " +"é esta chave." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Se xa hai un computador co que quere usar esta chave, pode configurar ese " +"computador para que recoñeza a súa nova chave." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "Crear _só a chave" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Crear e configurar" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Propiedades da chave SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nome" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritmo" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Lonxitude de chave" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Localización" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Chave pública" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Copiar a chave pública ao portapapeis" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Chaves remotas" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Permite acceder a este computador de forma remota" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Exportar" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Eliminar chave SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Configurar computador para a conexión SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Para usar a súa chave de Secure Shell (SSH) con outro computador que use " +"SSH, debería ter xa unha conta de usuario nese computador." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Enderezo do servidor:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "exemplo: servidordeficheiros.exemplo.com:porto" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "Nome de _inicio de sesión:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Configurar" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Chaves OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Non hai ningún ficheiro de chave privada dispoñíbel para esta chave." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "" +"Non foi posíbel configurar as chaves de Secure Shell (SSH) no computador " +"remoto." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Configurando as chaves de Secure Shell (SSH)…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse é unha aplicación de GNOME para a xestión de chaves de cifrado. " +#~ "Tamén se integra con nautilus, gedit e outros lugares para as operacións " +#~ "de cifrado." + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Non foi posíbel engadir a subchave" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Combinar todos os aneis de chaves" + +#~ msgid "Encryption _Type:" +#~ msgstr "_Tipo de cifrado:" diff --git a/po/gu.po b/po/gu.po new file mode 100644 index 00000000..10e7457f --- /dev/null +++ b/po/gu.po @@ -0,0 +1,3033 @@ +# translation of seahorse.master.gu.po to Gujarati +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Ankit Patel , 2007, 2008. +# Sweta Kothari , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: seahorse.master.gu\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=seahorse&component=general\n" +"POT-Creation-Date: 2009-08-29 17:59+0000\n" +"PO-Revision-Date: 2009-09-09 14:14+0530\n" +"Last-Translator: Sweta Kothari \n" +"Language-Team: Gujarati\n" +"Language: gu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"X-Generator: KBabel 1.11.4\n" + +#: ../daemon/seahorse-daemon.c:69 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "seahorse-daemon ને ડિમન તરીકે ચલાવો નહિં" + +#: ../daemon/seahorse-daemon.c:87 +msgid "couldn't fork process" +msgstr "પ્રક્રિયા પેદા કરી શક્યા નહિં" + +#: ../daemon/seahorse-daemon.c:93 +msgid "couldn't create new process group" +msgstr "નવું પ્રક્રિયા જૂથ બનાવી શક્યા નહિં" + +#: ../daemon/seahorse-daemon.c:207 +msgid "Encryption Daemon (Seahorse)" +msgstr "એનક્રિપ્શન ડિમન (Seahorse)" + +#: ../daemon/seahorse-daemon.desktop.in.in.h:1 +msgid "Seahorse Daemon" +msgstr "Seahorse ડેઇમન" + +#: ../daemon/seahorse-service.c:151 ../daemon/seahorse-service.c:175 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "અયોગ્ય અથવા નહિં ઓળખાયેલ કી પ્રકાર: %s" + +#: ../daemon/seahorse-service.c:224 ../daemon/seahorse-service-keyset.c:135 +#: ../daemon/seahorse-service-keyset.c:164 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "અયોગ્ય અથવા નહિં ઓળખાતી કી: %s" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:160 +#, c-format +msgid "Signed by expired on %s." +msgstr " દ્વારા સહી થયેલ %s આગળ નિવૃત્ત થાય છે." + +#: ../daemon/seahorse-service-crypto.c:161 +msgid "Invalid Signature" +msgstr "અયોગ્ય સહી" + +#: ../daemon/seahorse-service-crypto.c:167 +#, c-format +msgid "Signed by on %s Expired." +msgstr "%s પર દ્વારા સહી થયેલ નિવૃત્ત થાય છે." + +#: ../daemon/seahorse-service-crypto.c:168 +msgid "Expired Signature" +msgstr "નિવૃત્ત સહી" + +#: ../daemon/seahorse-service-crypto.c:174 +#, c-format +msgid "Signed by Revoked on %s." +msgstr " દ્વારા સહી થયેલ %s પર પુનઃસક્રિય થાય છે." + +#: ../daemon/seahorse-service-crypto.c:175 +msgid "Revoked Signature" +msgstr "પુનઃસક્રિય થયેલ સહી" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:181 +#, c-format +msgid "Signed by on %s." +msgstr "%s પર દ્વારા સહી થયેલ." + +#: ../daemon/seahorse-service-crypto.c:182 +msgid "Good Signature" +msgstr "સારી સહી" + +#: ../daemon/seahorse-service-crypto.c:187 +msgid "Signing key not in keyring." +msgstr "કી સહી કરવાનું કીરીંગમાં નથી." + +#: ../daemon/seahorse-service-crypto.c:188 +msgid "Unknown Signature" +msgstr "અજ્ઞાત સહી" + +#: ../daemon/seahorse-service-crypto.c:192 +msgid "Bad or forged signature. The signed data was modified." +msgstr "ખરાબ અથવા ખોટી સહી. સહી થયેલ માહિતી સુધારાયેલ હતી નહિં." + +#: ../daemon/seahorse-service-crypto.c:193 +msgid "Bad Signature" +msgstr "ખરાબ સહી" + +#: ../daemon/seahorse-service-crypto.c:201 +msgid "Couldn't verify signature." +msgstr "સહીની ખાતરી કરી શક્યા નહિં." + +#: ../daemon/seahorse-service-crypto.c:257 +#: ../daemon/seahorse-service-crypto.c:364 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "અયોગ્ય અથવા નહિં ઓળખાતો સહી કરનાર: %s" + +#: ../daemon/seahorse-service-crypto.c:264 +#: ../daemon/seahorse-service-crypto.c:371 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "સહી કરવા માટેની કી માન્ય નથી: %s" + +#: ../daemon/seahorse-service-crypto.c:276 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "અયોગ્ય અથવા નહિં ઓળખાતો મેળવનાર: %s" + +#: ../daemon/seahorse-service-crypto.c:284 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "એનક્રિપ્શન માટે કી એ માન્ય મેળવનાર નથી: %s" + +#: ../daemon/seahorse-service-crypto.c:293 +#, c-format +msgid "No recipients specified" +msgstr "કોઈ મેળવનારાઓ સ્પષ્ટ થયેલ નથી" + +#: ../daemon/seahorse-service-crypto.c:359 +#, c-format +msgid "No signer specified" +msgstr "કોઈ સહી કરનાર સ્પષ્ટ થયેલ નથી" + +#: ../daemon/seahorse-service-crypto.c:414 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "ડિક્રિપ્શન માટે અયોગ્ય કી પ્રકાર: %s" + +#: ../daemon/seahorse-service-crypto.c:477 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "ખાતરી કરવા માટે અયોગ્ય કી પ્રકાર: %s" + +#: ../daemon/seahorse-service-keyset.c:200 +#, c-format +msgid "Invalid key id: %s" +msgstr "અયોગ્ય કી id: %s" + +#: ../daemon/seahorse-sharing.c:72 ../daemon/seahorse-sharing.c:216 +msgid "Couldn't share keys" +msgstr "કીઓ વહેંચી શક્યા નહિં" + +#: ../daemon/seahorse-sharing.c:73 +msgid "Can't publish discovery information on the network." +msgstr "નેટવર્ક પર શોધખોળ જાણકારી પ્રકાશિત કરી શકતા નથી." + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s". +#: ../daemon/seahorse-sharing.c:93 +#, c-format +msgid "%s's encryption keys" +msgstr "%s ની એનક્રિપ્શન કીઓ" + +#: ../data/seahorse.schemas.in.h:1 +msgid "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." +msgstr "" +"દૂરસ્થ PGP કીઓ માટે શોધવા માટે સર્વર URI ની યાદી. પછીની આવૃત્તિઓમાં ડિસ્પ્લે નામ ઉમેરી " +"શકાશે, જગ્યા અને પછી નામ ઉમેરીને." + +#: ../data/seahorse.schemas.in.h:2 +msgid "Auto Retrieve Keys" +msgstr "કીઓ આપોઆપ મેળવો" + +#: ../data/seahorse.schemas.in.h:3 +msgid "Auto Sync Keys" +msgstr "કીઓ આપોઆપ સુમેળ કરો" + +#: ../data/seahorse.schemas.in.h:4 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "કી વ્યવસ્થાપક માટે નિવૃત્તિ સ્તંભની દૃશ્યતા નિયંત્રિત કરે છે." + +#: ../data/seahorse.schemas.in.h:5 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "કી વ્યવસ્થાપક માટે વિશ્વાસુ સ્તંભની દૃશ્યતા નિયંત્રિત કરે છે." + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the type column for the key manager." +msgstr "કી વ્યવસ્થાપક માટે પ્રકાર સ્તંભની દૃશ્યતા નિયંત્રિત કરે છે." + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "કી વ્યવસ્થાપક માટે માન્યતા સ્તંભની દૃશ્યતા નિયંત્રિત કરે છે." + +#: ../data/seahorse.schemas.in.h:8 +msgid "Enable DNS-SD sharing" +msgstr "DNS-SD વહેંચવાનું સક્રિય કરો" + +#: ../data/seahorse.schemas.in.h:9 +msgid "" +"Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +"running and must be built with HKP and DNS-SD support." +msgstr "" +"કીઓનું વહેંચવાનું DNS-SD (Apple Bonjour) સક્રિય કરે છે. seahorse-daemon ચાલી રહ્યું હોવું " +"જ જોઈએ અને HKP અને DNS-SD આધાર સાથે જ બનેલ હોવું જોઈએ." + +#: ../data/seahorse.schemas.in.h:10 +msgid "ID of the default key" +msgstr "મૂળભૂત કીની ID" + +#: ../data/seahorse.schemas.in.h:11 +msgid "" +"If set to true, then files encrypted with seahorse will be ASCII armor " +"encoded." +msgstr "" +"જો ખરું સુયોજિત થયેલ હોય, તો પછી seahorse સાથે એનક્રિપ્ટ થયેલ ફાઈલો ASCII armor " +"એનકોડ થયેલ હશે." + +#: ../data/seahorse.schemas.in.h:12 +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "જો ખરું સુયોજિત થાય, તો પછી મૂળભૂત કી હંમેશા એનક્રિપ્શન મેળવનારાઓ યોદીમાં ઉમેરવામાં આવશે." + +#: ../data/seahorse.schemas.in.h:13 +msgid "Last key server search pattern" +msgstr "છેલ્લી કી સર્વર શોધ ભાત" + +#: ../data/seahorse.schemas.in.h:14 +msgid "Last key servers used" +msgstr "વપરાયેલ છેલ્લા કી સર્વરો" + +#: ../data/seahorse.schemas.in.h:15 +msgid "Last key used to sign a message." +msgstr "સંદેશો સહી કરવા માટે વપરાયેલ છેલ્લી કી." + +#: ../data/seahorse.schemas.in.h:16 +msgid "PGP Key servers" +msgstr "PGP કી સર્વરો" + +#: ../data/seahorse.schemas.in.h:17 +msgid "Publish keys to this key server." +msgstr "આ કી સર્વર પર કીઓ પ્રકાશિત કરો." + +#: ../data/seahorse.schemas.in.h:18 +msgid "Show expires column in key manager" +msgstr "કી વ્યવસ્થાપકમાં નિવૃત્તિ સ્તંભ બતાવો" + +#: ../data/seahorse.schemas.in.h:19 +msgid "Show trust column in key manager" +msgstr "કી વ્યવસ્થાપકમાં વિશ્વાસ સ્તંભ બતાવો" + +#: ../data/seahorse.schemas.in.h:20 +msgid "Show type column in key manager" +msgstr "કી વ્યવસ્થાપકમાં પ્રકાર સ્તંભ બતાવો" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Show validity column in key manager" +msgstr "કી વ્યવસ્થાપકમાં માન્યતા સ્તંભ બતાવો" + +#: ../data/seahorse.schemas.in.h:22 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name' and " +"'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "" +"મેળવનારાઓ વિન્ડો ક્રમમાં ગોઠવવા માટે સ્તંભ સ્પષ્ટ કરો. સ્તંભો છે: 'name' અને 'id'. ઊતરતા " +"ક્રમમાં ગોઠવવા માટે સ્તંભ નામની આગળ '-' મૂકો." + +#: ../data/seahorse.schemas.in.h:23 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." +msgstr "" +"seahorse કી વ્યવસ્થાપક મુખ્ય વિન્ડો ક્રમમાં ગોઠવવા માટે સ્તંભ સ્પષ્ટ કરો. સ્તંભો છે: " +"'name', 'id', 'validity', 'expires', 'trust', અને 'type'. ઊતરતા ક્રમમાં ગોઠવવા " +"માટે સ્તંભ નામની આગળ '-' મૂકો." + +#: ../data/seahorse.schemas.in.h:24 +msgid "The ID of the last secret key used to sign a message." +msgstr "સંદેશો સહી કરવા માટે વપરાયેલ છેલ્લી ખાનગી કીનું ID." + +#: ../data/seahorse.schemas.in.h:25 +msgid "The column to sort the recipients by" +msgstr "મેળવનારાઓને ક્રમમાં ગોઠવવા માટેનો સ્તંભ" + +#: ../data/seahorse.schemas.in.h:26 +msgid "The column to sort the seahorse keys by" +msgstr "seahorse કીઓને ક્રમમાં ગોઠવવા માટેનો સ્તંભ" + +#: ../data/seahorse.schemas.in.h:27 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"PGP કીઓ પ્રકાશિત કરવા માટેનું કી સર્વર. અથવા PGP કીઓના પ્રકાશનને સંકુચિત કરવા માટે " +"ખાલી કરો." + +#: ../data/seahorse.schemas.in.h:28 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "છેલ્લી કી સર્વર શોધ બધા કી સર્વરો વિરુદ્ધ કરવામાં આવી હતી અથવા ખાલી રાખવામાં આવી હતી." + +#: ../data/seahorse.schemas.in.h:29 +msgid "The last search pattern searched for against a key server." +msgstr "છેલ્લી શોધ ભાત કી સર્વર વિરુદ્ધદ શોધવામાં આવી હતી." + +#: ../data/seahorse.schemas.in.h:30 +msgid "This specifies the default key to use for certain operations, mainly signing." +msgstr "આ ચોક્કસ પ્રક્રિયાઓ માટે મૂળભૂત કી વાપરવા માટે સ્પષ્ટ કરે છે, ખાસ કરીને સહી કરવાનું." + +#: ../data/seahorse.schemas.in.h:31 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "શું કીઓ આપોઆપ કી સર્વરોમાંથી પુનઃપ્રાપ્ત થવી જોઈએ કે નહિં." + +#: ../data/seahorse.schemas.in.h:32 +msgid "" +"Whether or not modified keys should be automatically synced with the default " +"key server." +msgstr "શું સુધારાયેલ કીઓ મૂળભૂત કી સર્વર સાથે આપોઆપ સુમેળ થવી જોઈએ કે નહિં." + +#: ../data/seahorse.schemas.in.h:33 +msgid "Whether to always encrypt to default key" +msgstr "શું મૂળભૂત કી હંમેશા એનક્રિપ્ટ કરવી" + +#: ../data/seahorse.schemas.in.h:34 +msgid "Whether to use ASCII Armor" +msgstr "શું ASCII Armor વાપરવું" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "પાસવર્ડ કીરીંગ ઉમેરો" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "નવી કીરીંગ નામ:" + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "નવી કીરીંગ માટે મહેરબાની કરીને નામ પસંદ કરો. પાસવર્ડ ખોલવા માટે તમને પૂછવામાં આવશે." + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "સર્વરનું યજમાન નામ અથવા સરનામું." + +#: ../gkr/seahorse-gkr-add-item.c:60 ../gkr/seahorse-gkr-add-keyring.c:59 +msgid "Couldn't add keyring" +msgstr "કીરીંગ ને ઉમેરી શક્યા નહિં" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#| msgid "Password" +msgid "Add Password" +msgstr "પાસવર્ડને ઉમેરો" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:17 ../pgp/seahorse-revoke.xml.h:5 +msgid "_Description:" +msgstr "વર્ણન (_D):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +#| msgid "Keyring" +msgid "_Keyring:" +msgstr "કીરીંગ (_K):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +#| msgid "Password:" +msgid "_Password:" +msgstr "પાસવર્ડ (_P):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +#| msgid "Show pass_word" +msgid "_Show Password" +msgstr "પાસવર્ડ બતાવો (_S)" + +#: ../gkr/seahorse-gkr-item.c:470 +msgid "Web Password" +msgstr "વેબ પાસવર્ડ" + +#: ../gkr/seahorse-gkr-item.c:472 +msgid "Network Password" +msgstr "નેટવર્ક પાસવર્ડ" + +#: ../gkr/seahorse-gkr-item.c:474 ../gkr/seahorse-gkr-item-properties.c:107 +msgid "Password" +msgstr "પાસવર્ડ" + +#: ../gkr/seahorse-gkr-item-commands.c:78 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "શું તમે ખરેખર પાસવર્ડ '%s' ને કાઢી નાંખવા માંગો છો?" + +#: ../gkr/seahorse-gkr-item-commands.c:81 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "શું તમે ખરેખર %d પાસવર્ડને કાઢવા માંગો છો?" +msgstr[1] "શું તમે ખરેખર %d પાસવર્ડોને કાઢવા માંગો છો?" + +#: ../gkr/seahorse-gkr-item-properties.c:66 +msgid "Access a network share or resource" +msgstr "નેટવર્ક શેર અથવા સ્રોત વાપરો" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a website" +msgstr "વેબસાઈટ વાપરો" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Unlocks a PGP key" +msgstr "PGP કીનું તાળું ખોલે છે" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a Secure Shell key" +msgstr "સુરક્ષિત શેલ કીનું તાળું ખોલે છે" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Saved password or login" +msgstr "સંગ્રહાયેલ પાસવર્ડ અથવા પ્રવેશ" + +#: ../gkr/seahorse-gkr-item-properties.c:102 +msgid "Network Credentials" +msgstr "નેટવર્ક યશો" + +#: ../gkr/seahorse-gkr-item-properties.c:245 +msgid "Couldn't change password." +msgstr "પાસવર્ડ બદલી શક્યા નહિં." + +#: ../gkr/seahorse-gkr-item-properties.c:347 +msgid "Couldn't set description." +msgstr "વર્ણન સુયોજીત કરી શક્યા નહિં." + +#: ../gkr/seahorse-gkr-item-properties.c:641 +msgid "Couldn't set application access." +msgstr "કાર્યક્રમ પ્રવેશને સુયોજીત કરી શક્યા નહિં." + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +msgid "Password:" +msgstr "પાસવર્ડ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 +msgid "Path:" +msgstr "પાથ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +msgid "Permissions:" +msgstr "પરવાનગીઓ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Technical Details:" +msgstr "ટેક્નિકલ વિગતો:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Applications" +msgstr "કાર્યક્રમો" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:72 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Details" +msgstr "વિગતો" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Key" +msgstr "કી" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Key Properties" +msgstr "કી ગુણધર્મો" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +msgid "Login:" +msgstr "પ્રવેશ કરો:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +msgid "Server:" +msgstr "સર્વર:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +msgid "Show pass_word" +msgstr "પાસવર્ડ બતાવો (_w)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +msgid "Type:" +msgstr "પ્રકાર:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:14 +msgid "Use:" +msgstr "વાપરો:" + +#. To translators: This is the infinitive not the imperative. This string refers to the ability of an application to delete this secret from its key ring. +#: ../gkr/seahorse-gkr-item-properties.xml.h:16 +msgid "_Delete" +msgstr "કાઢી નાંખો (_D)" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:19 +msgid "_Read" +msgstr "વાંચો (_R)" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:21 +msgid "_Write" +msgstr "લખો (_W)" + +#: ../gkr/seahorse-gkr-keyring.c:193 +msgid "Listing passwords" +msgstr "પાસવર્ડોની યાદી કરવાનું" + +#: ../gkr/seahorse-gkr-keyring.c:354 +#, c-format +msgid "Passwords: %s" +msgstr "પાસવર્ડો: %s" + +#: ../gkr/seahorse-gkr-keyring.c:355 +#, c-format +msgid "Passwords: %s" +msgstr "પાસવર્ડો: %s" + +#: ../gkr/seahorse-gkr-keyring-commands.c:94 +msgid "Password Keyring" +msgstr "પાસવર્ડ કીરીંગ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:95 +msgid "Used to store application and network passwords" +msgstr "કાર્યક્રમ અને નેટવર્ક પાસવર્ડો એ સંગ્રહ કરવા માટે વપરાયેલ છે" + +#: ../gkr/seahorse-gkr-keyring-commands.c:96 +#| msgid "Network Password" +msgid "Stored Password" +msgstr "સંગ્રહેલ પાસવર્ડ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:97 +msgid "Safely store a password or secret." +msgstr "પાસવર્ડ અથવા ખાનગી ને સલામત રીતે સંગ્રહ કરો." + +#: ../gkr/seahorse-gkr-keyring-commands.c:110 +msgid "Couldn't unlock keyring" +msgstr "કીરીંગ નું તાળુ ખોલી શક્યા નહિં" + +#: ../gkr/seahorse-gkr-keyring-commands.c:150 +msgid "Couldn't lock keyring" +msgstr "કીરીંગ ને તાળુ મારી શક્યા નહિં" + +#: ../gkr/seahorse-gkr-keyring-commands.c:190 +msgid "Couldn't set default keyring" +msgstr "મૂળભૂત કીરીંગ ને સુયોજિત કરી શક્યા નહિં" + +#: ../gkr/seahorse-gkr-keyring-commands.c:228 +msgid "Couldn't change keyring password" +msgstr "કીરીંગ પાસવર્ડ બદલી શક્યા નહિં" + +#: ../gkr/seahorse-gkr-keyring-commands.c:259 +msgid "_Lock" +msgstr "તાળુ (_L)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:260 +msgid "" +"Lock the password storage keyring so a master password is required to unlock " +"it." +msgstr "કીરીંગ ને સંગ્રહ કરવા પાસવર્ડ ને તાળુ મારો તેથી મુખ્ય પાસવર્ડ એ તેને ખોલવા માટે જરૂરી છે." + +#: ../gkr/seahorse-gkr-keyring-commands.c:261 +msgid "_Unlock" +msgstr "તાળુ ખોલો (_U)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:262 +msgid "" +"Unlock the password storage keyring with a master password so it is " +"available for use." +msgstr "મુખ્ય પાસવર્ડ સાથે સંગ્રહ કરેલ કીરીંગ પાસવર્ડ નું તાળુ ખોલો તેથી તે વાપરવા માટે ઉપલ્બધ છે." + +#: ../gkr/seahorse-gkr-keyring-commands.c:263 +msgid "_Set as default" +msgstr "મૂળભૂત દ્દારા સુયોજિત કરો (_S)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:264 +msgid "Applications usually store new passwords in the default keyring." +msgstr "કાર્યક્રમો એ મૂળભૂત કીરીંગ માં નવા પાસવર્ડોનો સંગ્રહ કરે છે." + +#: ../gkr/seahorse-gkr-keyring-commands.c:265 +msgid "Change _Password" +msgstr "પાસવર્ડ બદલો (_P)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:266 +msgid "Change the unlock password of the password storage keyring" +msgstr "પાસવર્ડ સંગ્રહ કીરીંગ નાં પાસવર્ડ નું તાળુ ખોલવા માટે બદલો" + +#: ../gkr/seahorse-gkr-keyring-commands.c:330 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "શું તમે ખરેખર પાસવર્ડ કીરીંગ '%s' ને કાઢી નાંખવા માંગો છો?" + +#. ----------------------------------------------------------------------------- +#. * PUBLIC +#. +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Created:" +msgstr "બનાવાયેલ:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +msgid "Keyring" +msgstr "કીરીંગ" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring Properties" +msgstr "કીરીંગ ગુણધર્મો" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "_Name:" +msgstr "નામ (_N):" + +#: ../gkr/seahorse-gkr-operation.c:168 +msgid "Access to the key ring was denied" +msgstr "કી રીંગનો વપરાશ નામંજૂર થયો" + +#: ../gkr/seahorse-gkr-operation.c:171 +msgid "The gnome-keyring daemon is not running" +msgstr "gnome-keyring ડિમન ચાલી રહ્યું નથી" + +#: ../gkr/seahorse-gkr-operation.c:174 +msgid "The key ring has already been unlocked" +msgstr "કી રીંગનું તાળું પહેલાથી જ ખોલવામાં આવેલ છે" + +#: ../gkr/seahorse-gkr-operation.c:177 +msgid "No such key ring exists" +msgstr "આવી કોઈ કી રીંગ અસ્તિત્વમાં નથી" + +#: ../gkr/seahorse-gkr-operation.c:180 +msgid "Couldn't communicate with key ring daemon" +msgstr "કી રીંગ ડિમન સાથે સંપર્કવ્યવહાર કરી શક્યા નહિં" + +#: ../gkr/seahorse-gkr-operation.c:183 +msgid "The item already exists" +msgstr "વસ્તુ પહેલાથી જ હાજર છે" + +#: ../gkr/seahorse-gkr-operation.c:189 +msgid "Internal error accessing gnome-keyring" +msgstr "gnome-keyring વાપરવામાં આંતરિક ભૂલ" + +#: ../gkr/seahorse-gkr-operation.c:238 ../gkr/seahorse-gkr-operation.c:264 +msgid "Saving item..." +msgstr "વસ્તુ સંગ્રહવાનું..." + +#: ../gkr/seahorse-gkr-operation.c:300 +msgid "Deleting item..." +msgstr "વસ્તુને કાઢી રહ્યા છે..." + +#: ../gkr/seahorse-gkr-operation.c:325 +msgid "Deleting keyring..." +msgstr "કીરીંગ ને કાઢી રહ્યા છે..." + +#: ../gkr/seahorse-gkr-source.c:234 +msgid "Listing password keyrings" +msgstr "પાસવર્ડની કીરીંગો યાદી કરવાનું" + +#: ../libcryptui/cryptui.c:272 +msgid "" +"No encryption keys were found with which to perform the operation you " +"requested. The program Passwords and Encryption Keys will now be " +"started so that you may either create a key or import one." +msgstr "" +"કોઈ એનક્રિપ્શન કીઓ મળી નહિં કે જેની સાથે તમે પ્રક્રિયા કરવા માટે અરજી કરેલ છે. કાર્યક્રમ " +"પાસવર્ડો અને એનક્રિપ્શન કીઓ હવે શરૂ થશે કે જેથી તમે ક્યાં તો કી બનાવશો અથવા કોઈ " +"એકની આયાત કરશો." + +#: ../libcryptui/cryptui-key-chooser.c:173 +msgid "All Keys" +msgstr "બધી કીઓ" + +#: ../libcryptui/cryptui-key-chooser.c:174 +msgid "Selected Recipients" +msgstr "પસંદિત મેળવનારાઓ" + +#: ../libcryptui/cryptui-key-chooser.c:175 +msgid "Search Results" +msgstr "શોધ પરિણામો" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:185 +msgid "Search _for:" +msgstr "માટેની શોધ (_f):" + +#: ../libcryptui/cryptui-key-chooser.c:243 +msgid "None (Don't Sign)" +msgstr "કંઈ નહિં (સહી કરશો નહિં)" + +#: ../libcryptui/cryptui-key-chooser.c:256 +#, c-format +msgid "Sign this message as %s" +msgstr "%s કરીકે આ સંદેશને સહી કરો" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:278 +msgid "_Sign message as:" +msgstr "સંદેશાઓને આ રીતે સહી કરો (_S):" + +#. TODO: Icons +#. The name column +#: ../libcryptui/cryptui-key-list.c:140 +#: ../pgp/seahorse-pgp-key-properties.c:839 +#: ../src/seahorse-key-manager-store.c:828 +msgid "Name" +msgstr "નામ" + +#. The keyid column +#: ../libcryptui/cryptui-key-list.c:145 +#: ../pgp/seahorse-pgp-key-properties.c:1743 +#: ../src/seahorse-key-manager-store.c:840 +msgid "Key ID" +msgstr "કી ID" + +#: ../libegg/egg-datetime.c:313 +msgid "Display flags" +msgstr "ડિસ્પ્લે ફ્લેગો" + +#: ../libegg/egg-datetime.c:314 +msgid "Displayed date and/or time properties" +msgstr "ડિસ્પ્લે થયેલ તારીખ અને/અથવા સમય ગુણધર્મો" + +#: ../libegg/egg-datetime.c:319 +msgid "Lazy mode" +msgstr "સુસ્ત સ્થિતિ" + +#: ../libegg/egg-datetime.c:320 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "આળસુ સ્થિતિ દાખલ કરેલ તારીખ અને સમય કિંમતો સરખી બનાવતી નથL" + +#: ../libegg/egg-datetime.c:325 +msgid "Year" +msgstr "વર્ષ" + +#: ../libegg/egg-datetime.c:326 +msgid "Displayed year" +msgstr "ડિસ્પ્લે થયેલ વર્ષ" + +#: ../libegg/egg-datetime.c:331 +msgid "Month" +msgstr "મહિનો" + +#: ../libegg/egg-datetime.c:332 +msgid "Displayed month" +msgstr "ડિસ્પ્લે થયેલ મહિનો" + +#: ../libegg/egg-datetime.c:337 +msgid "Day" +msgstr "દિવસ" + +#: ../libegg/egg-datetime.c:338 +msgid "Displayed day of month" +msgstr "ડિસ્પ્લે થયેલ મહિનાનો દિવસ" + +#: ../libegg/egg-datetime.c:343 +msgid "Hour" +msgstr "કલાક" + +#: ../libegg/egg-datetime.c:344 +msgid "Displayed hour" +msgstr "ડિસ્પ્લે થયેલ કલાક" + +#: ../libegg/egg-datetime.c:349 +msgid "Minute" +msgstr "મિનિટ" + +#: ../libegg/egg-datetime.c:350 +msgid "Displayed minute" +msgstr "ડિસ્પ્લે થયેલ મિનિટ" + +#: ../libegg/egg-datetime.c:355 +msgid "Second" +msgstr "સેકન્ડ" + +#: ../libegg/egg-datetime.c:356 +msgid "Displayed second" +msgstr "ડિસ્પ્લે થયેલ સેકન્ડ" + +#: ../libegg/egg-datetime.c:361 +msgid "Lower limit year" +msgstr "નીચેની મર્યાદા વર્ષ" + +#: ../libegg/egg-datetime.c:362 +msgid "Year part of the lower date limit" +msgstr "નીચેની તારીખ મર્યાદાનો વર્ષ ભાગ" + +#: ../libegg/egg-datetime.c:367 +msgid "Upper limit year" +msgstr "ઉપરની મર્યાદા વર્ષ" + +#: ../libegg/egg-datetime.c:368 +msgid "Year part of the upper date limit" +msgstr "ઉપરની તારીખ મર્યાદાનો વર્ષનો ભાગ" + +#: ../libegg/egg-datetime.c:373 +msgid "Lower limit month" +msgstr "નીચેની મર્યાદા મહિનો" + +#: ../libegg/egg-datetime.c:374 +msgid "Month part of the lower date limit" +msgstr "નીચેની તારીખ મર્યાદાનો મહિનાનો ભાગ" + +#: ../libegg/egg-datetime.c:379 +msgid "Upper limit month" +msgstr "ઉપરની મર્યાદાનો મહિનો" + +#: ../libegg/egg-datetime.c:380 +msgid "Month part of the upper date limit" +msgstr "ઉપરની તારીખ મર્યાદાનો મહિનાનો ભાગ" + +#: ../libegg/egg-datetime.c:385 +msgid "Lower limit day" +msgstr "નીચેની મર્યાદાનો દિવસ" + +#: ../libegg/egg-datetime.c:386 +msgid "Day of month part of the lower date limit" +msgstr "નીચેની તારીખ મર્યાદા નો મહિનાનો દિવસ ભાગ" + +#: ../libegg/egg-datetime.c:391 +msgid "Upper limit day" +msgstr "ઉપરની મર્યાદા દિવસ" + +#: ../libegg/egg-datetime.c:392 +msgid "Day of month part of the upper date limit" +msgstr "ઉપરની તારીખ મર્યાદાનો મહિનાનો દિવસ ભાગ" + +#: ../libegg/egg-datetime.c:397 +msgid "Lower limit hour" +msgstr "નીચેની મર્યાદા કલાક" + +#: ../libegg/egg-datetime.c:398 +msgid "Hour part of the lower time limit" +msgstr "નીચેની સમય મર્યાદાનો કલાકનો ભાગ" + +#: ../libegg/egg-datetime.c:403 +msgid "Upper limit hour" +msgstr "ઉપર મર્યાદા કલાક" + +#: ../libegg/egg-datetime.c:404 +msgid "Hour part of the upper time limit" +msgstr "ઉપરની સમય મર્યાદાનો કલાકનો ભાગ" + +#: ../libegg/egg-datetime.c:409 +msgid "Lower limit minute" +msgstr "નીચેની મર્યાદા મિનિટ" + +#: ../libegg/egg-datetime.c:410 +msgid "Minute part of the lower time limit" +msgstr "નીચેની સમય મર્યાદાનો મિનિટ ભાગ" + +#: ../libegg/egg-datetime.c:415 +msgid "Upper limit minute" +msgstr "ઉપરની મર્યાદી મિનિટ" + +#: ../libegg/egg-datetime.c:416 +msgid "Minute part of the upper time limit" +msgstr "ઉપર સમય મર્યાદાનો મિનિટ ભાગ" + +#: ../libegg/egg-datetime.c:421 +msgid "Lower limit second" +msgstr "નીચેની મર્યાદા સેકન્ડ" + +#: ../libegg/egg-datetime.c:422 +msgid "Second part of the lower time limit" +msgstr "નીચેની સમય મર્યાદાનો સેકન્ડ ભાગ" + +#: ../libegg/egg-datetime.c:427 +msgid "Upper limit second" +msgstr "ઉપર મર્યાદા સેકન્ડ" + +#: ../libegg/egg-datetime.c:428 +msgid "Second part of the upper time limit" +msgstr "ઉપર સમય મર્યાદા નો સેકન્ડ ભાગ" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:470 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:492 +msgid "Date" +msgstr "તારીખ" + +#: ../libegg/egg-datetime.c:492 +msgid "Enter the date directly" +msgstr "તારીખને સીધી જ દાખલ કરો" + +#: ../libegg/egg-datetime.c:499 +msgid "Select Date" +msgstr "તારીખ પસંદ કરો" + +#: ../libegg/egg-datetime.c:499 +msgid "Select the date from a calendar" +msgstr "કેલેન્ડર માંથી તારીખ ને પસંદ કરો" + +#: ../libegg/egg-datetime.c:517 ../libegg/egg-datetime.c:2192 +msgid "Time" +msgstr "સમય" + +#: ../libegg/egg-datetime.c:517 +msgid "Enter the time directly" +msgstr "સીધો જ સમયને દાખલ કરો" + +#: ../libegg/egg-datetime.c:524 +msgid "Select Time" +msgstr "સમય પસંદ કરો" + +#: ../libegg/egg-datetime.c:524 +msgid "Select the time from a list" +msgstr "યાદીમાંથી સમયને પસંદ કરો" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:791 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:795 ../libegg/egg-datetime.c:1253 +#: ../libegg/egg-datetime.c:1257 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:797 ../libegg/egg-datetime.c:1254 +#: ../libegg/egg-datetime.c:1261 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:805 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:808 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:812 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:815 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1169 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1234 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libegg/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "ફાઇલ એ યોગ્ય .desktop ફાઇલ નથી" + +#: ../libegg/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "ઓળખી ન શકાય તેવી ડેસ્કટોપ ફાઇલ આવૃત્તિ '%s'" + +#: ../libegg/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "%s ને શરૂ કરી રહ્યા છે" + +#: ../libegg/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "આદેશ લીટી પર કાર્યક્રમ એ દસ્તાવેજો ને સ્વીકારતુ નથી" + +#: ../libegg/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "ઓળખી ન શકાય તેવુ શરૂઆતનુ વિકલ્પ: %d" + +#: ../libegg/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "'Type=Link' ડેસ્કટોપ પ્રવેશ માં દસ્તાવેજ URIs ને પસાર કરી શકાતુ નથી" + +#: ../libegg/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "શરૂઆત કરી શકાય તેવી વસ્તુ નથી" + +#: ../libegg/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "સત્ર વ્યવસ્થાપક માં જોડાણ ને નિષ્ક્રિય કરો" + +#: ../libegg/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "સંગ્રહ થયેલ રૂપરેખાંકન સમાવતી ફાઇલને સ્પષ્ટ કરો" + +#: ../libegg/eggsmclient.c:228 +msgid "FILE" +msgstr "FILE" + +#: ../libegg/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "સત્ર વ્યવસ્થાપન ID ને સ્પષ્ટ કરો" + +#: ../libegg/eggsmclient.c:231 ../pgp/seahorse-pgp-key-properties.c:1312 +msgid "ID" +msgstr "ID" + +#: ../libegg/eggsmclient.c:252 +msgid "Session management options:" +msgstr "સત્ર વ્યવસ્થાપન વિકલ્પો:" + +#: ../libegg/eggsmclient.c:253 +msgid "Show session management options" +msgstr "સત્ર વ્યવસ્થાપન વિકલ્પો ને બતાવો" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "કી સર્વર ઉમેરો" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Host:" +msgstr "યજમાન:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Key Server Type:" +msgstr "કી સર્વર પ્રકાર:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid "The port to access the server on." +msgstr "સર્વર પર વાપરવા માટેનો પોર્ટ." + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "initial temporary item" +msgstr "પ્રારંભની કામચલાઉ વસ્તુ" + +#: ../libseahorse/seahorse-notification.c:566 +#: ../libseahorse/seahorse-notification.c:594 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "કી આયાત થઈ" +msgstr[1] "કીઓ આયાત થઈ" + +#: ../libseahorse/seahorse-notification.c:570 +#: ../libseahorse/seahorse-notification.c:593 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "આયાત થયેલ %i કી" +msgstr[1] "આયાત થયેલ %i કીઓ" + +#: ../libseahorse/seahorse-notification.c:572 +#, c-format +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "કી આના માટે આયાત થઈ" +msgstr[1] "કીઓ આના માટે આયાત થઈ" + +#: ../libseahorse/seahorse-notify.xml.h:1 +msgid "Notification Messages" +msgstr "સૂચન સંદેશાઓ" + +#: ../libseahorse/seahorse-object.c:317 +msgid "Symmetric Key" +msgstr "સુમેળ કી" + +#: ../libseahorse/seahorse-object.c:320 +msgid "Public Key" +msgstr "જાહેર કી" + +#: ../libseahorse/seahorse-object.c:323 +msgid "Private Key" +msgstr "ખાનગી કી" + +#: ../libseahorse/seahorse-object.c:326 +msgid "Credentials" +msgstr "યશો" + +#. +#. * Translators: "This object is a means of storing items such as +#. * name, email address, etc. that make up one's digital identity. +#. +#: ../libseahorse/seahorse-object.c:333 +msgid "Identity" +msgstr "ઓળખ" + +#: ../libseahorse/seahorse-passphrase.c:194 +msgid "Passphrase" +msgstr "મહાવરો" + +#: ../libseahorse/seahorse-passphrase.c:197 +#: ../ssh/seahorse-ssh-operation.c:480 +msgid "Password:" +msgstr "પાસવર્ડ:" + +#: ../libseahorse/seahorse-passphrase.c:260 +msgid "Confirm:" +msgstr "ખાતરી:" + +#: ../libseahorse/seahorse-prefs.c:63 +msgid "Not a valid Key Server address." +msgstr "માન્ય કી સર્વર સરનામું નથી." + +#: ../libseahorse/seahorse-prefs.c:64 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "મદદ માટે તમારા સિસ્ટમ સંચાલક અથવા કી સર્વરના સંચાલકનો સંપર્ક કરો." + +#: ../libseahorse/seahorse-prefs.c:173 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:353 +msgid "Custom" +msgstr "વૈવિધ્યપૂર્ણ" + +#: ../libseahorse/seahorse-prefs.c:420 +msgid "None: Don't publish keys" +msgstr "કંઈ નહિં: કીઓ જાહેર કરો નહિં" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Automatically retrieve keys from _key servers" +msgstr "કી સર્વરોમાંથી કીઓ આપોઆપ પુનઃપ્રાપ્ત કરો (_k)" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "કી સર્વરો સાથે સુધારેલ કીઓ આપોઆપ સુમેળ કરો (_m)" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "Key Servers" +msgstr "કી સર્વરો" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Key Sharing" +msgstr "કી વહેંચણી" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Preferences" +msgstr "પસંદગીઓ" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've " +"collected. This means they can automatically encrypt things for you or those " +"you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." +msgstr "" +"તમારી કીઓને વહેંચવાનું તમારા નેટવર્ક પરના અન્ય લોકોને તમે ભેગી કરેલ કીઓ વાપરવા માટે " +"પરવાનગી આપે છે. આનો અર્થ એ થાય કે તેઓ તમારા માટે આપોઆપ વસ્તુઓ એનક્રિપ્ટ કરી શકે છે અથવા " +"તમે જે જાણતા હોવ તેને, તમને તમારી કી મોકલ્યા વિના.\n" +"\n" +"નોંધ: તમારી ખાનગી કીઓ નબળી પાડવામાં આવશે નહિં." + +#: ../libseahorse/seahorse-prefs.xml.h:9 +msgid "_Find keys via:" +msgstr "કીઓ આની મદદથી શોધો (_F):" + +#: ../libseahorse/seahorse-prefs.xml.h:10 +msgid "_Publish keys to:" +msgstr "કીઓ આમાં જાહેર કરો (_P):" + +#: ../libseahorse/seahorse-prefs.xml.h:11 +msgid "_Share my keys with others on my network" +msgstr "મારી કીઓને અન્ય સાથે મારા નેટવર્ક પર વહેંચો (_S)" + +#: ../libseahorse/seahorse-progress.xml.h:1 +msgid "Progress Title" +msgstr "પ્રગતિ શીર્ષક" + +#: ../libseahorse/seahorse-unknown.c:67 +msgid "Unavailable" +msgstr "ઉપલબ્ધ નથી" + +#: ../libseahorse/seahorse-util.c:237 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-util.c:513 +msgid "Key Data" +msgstr "કી માહિતી" + +#: ../libseahorse/seahorse-util.c:515 +msgid "Multiple Keys" +msgstr "ઘણીબધી કીઓ" + +#: ../libseahorse/seahorse-util.c:771 +msgid "Couldn't run file-roller" +msgstr "file-roller ચલાવી શક્યા નહિં" + +#: ../libseahorse/seahorse-util.c:777 +msgid "Couldn't package files" +msgstr "ફાઈલો પેકેજ કરી શક્યા નહિં" + +#: ../libseahorse/seahorse-util.c:778 +msgid "The file-roller process did not complete successfully" +msgstr "file-roller પ્રક્રિયા સંપૂર્ણપણે સફળ થઈ નહિં" + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:943 +msgid "All key files" +msgstr "બધી કી ફાઈલો" + +#: ../libseahorse/seahorse-util.c:954 ../libseahorse/seahorse-util.c:1002 +#: ../pgp/seahorse-gpgme-photos.c:242 +msgid "All files" +msgstr "બધી ફાઈલો" + +#: ../libseahorse/seahorse-util.c:995 +msgid "Archive files" +msgstr "પેટી ફાઈલો" + +#: ../libseahorse/seahorse-util.c:1065 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" +"આ જ નામ સાથેની ફાઈલ પહેલાથી જ હાજર છે.\n" +"\n" +"શું તમે તેને નવી ફાઈલ સાથે બદલવા માંગો છો?" + +#: ../libseahorse/seahorse-util.c:1068 +msgid "_Replace" +msgstr "બદલો (_R)" + +#: ../libseahorse/seahorse-validity.c:40 ../pgp/seahorse-gpgme-subkey.c:197 +#: ../pgp/seahorse-pgp-key-properties.c:1131 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Unknown" +msgstr "અજ્ઞાત" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1137 +msgctxt "Validity" +msgid "Never" +msgstr "ક્યારેય નહિં" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-key-properties.c:1144 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:33 +msgid "Marginal" +msgstr "માર્જીનલ" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-key-properties.c:1150 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +msgid "Full" +msgstr "સંપૂર્ણ" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-key-properties.c:1156 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Ultimate" +msgstr "છેલ્લે" + +#: ../libseahorse/seahorse-validity.c:50 +#: ../pgp/seahorse-pgp-key-properties.c:1349 +msgid "Disabled" +msgstr "નિષ્ક્રિય કરેલ" + +#: ../libseahorse/seahorse-validity.c:52 +#: ../pgp/seahorse-pgp-key-properties.c:1345 +msgid "Revoked" +msgstr "પુનઃસક્રિય કરેલ" + +#: ../libseahorse/seahorse-widget.c:362 +#, c-format +msgid "Could not display help: %s" +msgstr "મદદ દર્શાવી શક્યા નહિં: %s" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Expiration Date:" +msgstr "નિવૃત્તિ તારીખ:" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "Generate a new subkey" +msgstr "નવી ઉપકી બનાવો" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +msgid "If key never expires" +msgstr "જો કી ક્યારેય નિવૃત્ત નહિં થાય" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "કી લંબાઈ (_L):" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Key _Type:" +msgstr "કી પ્રકાર (_T):" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "કીની લંબાઈ" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Never E_xpires" +msgstr "ક્યારેય નિવૃત્ત નહિં થાય (_x)" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "વપરાશકર્તા ID ઉમેરો" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Create the new user ID" +msgstr "નવું વપરાશકર્તા ID બનાવો" + +#: ../pgp/seahorse-add-uid.xml.h:3 ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Full _Name:" +msgstr "પૂરું નામ (_N):" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Key Co_mment:" +msgstr "મુખ્ય ટિપ્પણી (_m):" + +#: ../pgp/seahorse-add-uid.xml.h:5 +msgid "Must be at least 5 characters long" +msgstr "ઓછામાં ઓછા ૫ અક્ષરો લાંબુ હોવું જ જોઈએ" + +#: ../pgp/seahorse-add-uid.xml.h:6 +msgid "Optional comment describing key" +msgstr "વૈકલ્પિક ટિપ્પણી વર્ણવતી કી" + +#: ../pgp/seahorse-add-uid.xml.h:7 +msgid "Optional email address" +msgstr "વૈકલ્પિક ઈમેઈલ સરનામું" + +#: ../pgp/seahorse-add-uid.xml.h:8 ../pgp/seahorse-pgp-generate.xml.h:13 +msgid "_Email Address:" +msgstr "ઈમેઈલ સરનામું (_E):" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "C_hange" +msgstr "બદલો (_h)" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:4 +msgid "Revoke key" +msgstr "કી પુનઃબોલાવો" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "_Never expires" +msgstr "ક્યારેય નિવૃત્ત નહિં થાય (_N)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:144 +msgid "Couldn't add subkey" +msgstr "ઉપકી ઉમેરી શક્યા નહિં" + +#: ../pgp/seahorse-gpgme-add-subkey.c:163 +#, c-format +msgid "Add subkey to %s" +msgstr "%s માં ઉપકી ઉમેરો" + +#: ../pgp/seahorse-gpgme-add-subkey.c:179 ../pgp/seahorse-gpgme-generate.c:96 +msgid "DSA (sign only)" +msgstr "DSA (માત્ર સહી)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:187 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (માત્ર એનક્રિપ્ટ)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:193 ../pgp/seahorse-gpgme-generate.c:97 +msgid "RSA (sign only)" +msgstr "RSA (માત્ર સહી)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:199 +msgid "RSA (encrypt only)" +msgstr "RSA (માત્ર એનક્રિપ્ટ)" + +#: ../pgp/seahorse-gpgme-add-uid.c:85 +msgid "Couldn't add user id" +msgstr "વપરાશકર્તા id ઉમેરી શક્યા નહિં" + +#: ../pgp/seahorse-gpgme-add-uid.c:107 +#, c-format +msgid "Add user ID to %s" +msgstr "વપરાશકર્તા ID ને %s માં ઉમેરો" + +#: ../pgp/seahorse-gpgme.c:51 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "ડિક્રિપ્શન નિષ્ફળ. તમારી પાસે કદાચ ડિક્રીપ્શન કી નહિં હોય." + +#: ../pgp/seahorse-gpgme-expires.c:58 +msgid "Invalid expiry date" +msgstr "અયોગ્ય નિવૃત્ત તારીખ" + +#: ../pgp/seahorse-gpgme-expires.c:59 +msgid "The expiry date must be in the future" +msgstr "નિવૃત્ત તારીખ એ ભવિષ્યમાં હોવી જ જોઇએ" + +#: ../pgp/seahorse-gpgme-expires.c:72 +msgid "Couldn't change expiry date" +msgstr "નિવૃત્તિ તારીખ બદલી શક્યા નહિં" + +#: ../pgp/seahorse-gpgme-expires.c:131 +#, c-format +msgid "Expiry: %s" +msgstr "નિવૃત્તિ: %s" + +#: ../pgp/seahorse-gpgme-generate.c:65 +msgid "PGP Key" +msgstr "PGP કી" + +#: ../pgp/seahorse-gpgme-generate.c:66 +msgid "Used to encrypt email and files" +msgstr "ઈમેઈલ અને ફાઈલો એનક્રિપ્ટ કરવા માટે વપરાય છે" + +#: ../pgp/seahorse-gpgme-generate.c:95 +msgid "DSA Elgamal" +msgstr "DSA Elgamal" + +#: ../pgp/seahorse-gpgme-generate.c:106 +msgid "Couldn't generate PGP key" +msgstr "PGP કી પેદા કરી શક્યા નહિં" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "નવી PGP કી માટે મહાવરો" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "તમારી નવી કી માટે મહાવરો બે વાર દાખલ કરો." + +#: ../pgp/seahorse-gpgme-generate.c:223 +msgid "Couldn't generate key" +msgstr "કી પેદા કરી શક્યા નહિં" + +#: ../pgp/seahorse-gpgme-generate.c:225 +msgid "Generating key" +msgstr "કી પેદા કરી રહ્યા છીએ" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"ફોટો ખૂબ મોટો છે\n" +"તમારી કીમાં ફોટા માટેનું આગ્રહણીય માપ %d x %d પિક્સેલો છે." + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "માપ બદલો નહિં (_D)" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "માપ બદલો (_R)" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"આ ચિત્ર ફાઈલ નથી, અથવા બિનવર્ગીકૃત પ્રકારની ચિત્ર ફાઈલ છે. JPEG ચિત્ર વાપરવાનો " +"પ્રયાસ કરો." + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "બધી ચિત્ર ફાઈલો" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "બધી JPEG ફાઈલો" + +#: ../pgp/seahorse-gpgme-photos.c:261 +msgid "Choose Photo to Add to Key" +msgstr "કીમાં ઉમેરવા માટે ફોટો પસંદ કરો" + +#: ../pgp/seahorse-gpgme-photos.c:290 ../pgp/seahorse-gpgme-photos.c:294 +msgid "Couldn't add photo" +msgstr "ફોટો ઉમેરી શક્યા નહિં" + +#: ../pgp/seahorse-gpgme-photos.c:291 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "ફાઈલ લાવી શક્યા નહિં. તે અયોગ્ય બંધારણ હોઈ શકે" + +#: ../pgp/seahorse-gpgme-photos.c:320 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "શું તમે ખરેખર વર્તમાન ફોટોને તમારી કીમાંથી દૂર કરવા માંગો છો?" + +#: ../pgp/seahorse-gpgme-photos.c:333 +msgid "Couldn't delete photo" +msgstr "ફોટો કાઢી શક્યા નહિં" + +#: ../pgp/seahorse-gpgme-revoke.c:70 +msgid "Couldn't revoke subkey" +msgstr "ઉપકી પુનઃબોલાવી શક્યા નહિં" + +#: ../pgp/seahorse-gpgme-revoke.c:91 +#, c-format +msgid "Revoke: %s" +msgstr "પુનઃબોલાવો: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:102 +msgid "No reason" +msgstr "કારણ નથી" + +#: ../pgp/seahorse-gpgme-revoke.c:103 +msgid "No reason for revoking key" +msgstr "કી પુનઃબોલાવવા માટેનું કારણ નથી" + +#: ../pgp/seahorse-gpgme-revoke.c:109 +msgid "Compromised" +msgstr "સમાધાન કરાયેલ" + +#: ../pgp/seahorse-gpgme-revoke.c:110 +msgid "Key has been compromised" +msgstr "કી એ સમાધાન કરી દેવામાં આવ્યુ હતુ" + +#: ../pgp/seahorse-gpgme-revoke.c:116 +msgid "Superseded" +msgstr "જગ્યા લઇ લેવી" + +#: ../pgp/seahorse-gpgme-revoke.c:117 +msgid "Key has been superseded" +msgstr "કી એ તેની જગ્યા લઇ લીધી છે" + +#: ../pgp/seahorse-gpgme-revoke.c:123 +msgid "Not Used" +msgstr "વપરાયેલ નથી" + +#: ../pgp/seahorse-gpgme-revoke.c:124 +msgid "Key is no longer used" +msgstr "કી લાંબા સમય સુધી વાપરી શકાતી નથી" + +#: ../pgp/seahorse-gpgme-revoke.c:161 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"તમે %s ને %s માટે પુનઃબોલાવનાર તરીકે ઉમેરવા જઈ રહ્યા છો. આ પ્રક્રિયા રદ કરી શકાતી " +"નથી! શું તમે ખરેખર ચાલુ રાખવા માંગો છો?" + +#: ../pgp/seahorse-gpgme-revoke.c:173 +msgid "Couldn't add revoker" +msgstr "પુનઃબોલાવનાર ઉમેરી શક્યા નહિં" + +#: ../pgp/seahorse-gpgme-sign.c:96 +msgid "Couldn't sign key" +msgstr "કી સહી કરી શક્યા નહિં" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:149 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "સહી કરવા માટેની કોઈ" + +#: ../pgp/seahorse-gpgme-sign.c:150 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"તમારી પાસે કોઈ વ્યક્તિગત PGP કીઓ નથી કે જે તમારો આ કીનો વિશ્વાસ સૂચવવા માટે વાપરી " +"શકાશે." + +#: ../pgp/seahorse-gpgme-source.c:99 +#, c-format +msgid "Wrong passphrase." +msgstr "ખોટો મહાવરો." + +#: ../pgp/seahorse-gpgme-source.c:103 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "'%s' માટે નવો મહાવરો દાખલ કરો" + +#: ../pgp/seahorse-gpgme-source.c:105 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "'%s' માટે મહાવરો દાખલ કરો" + +#: ../pgp/seahorse-gpgme-source.c:108 +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Enter new passphrase" +msgstr "નવો મહાવરો દાખલ કરો" + +#: ../pgp/seahorse-gpgme-source.c:110 +msgid "Enter passphrase" +msgstr "મહાવરો દાખલ કરો" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../pgp/seahorse-gpgme-source.c:722 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "લોડ થયેલ %d કી" +msgstr[1] "લોડ થયેલ %d કીઓ" + +#: ../pgp/seahorse-gpgme-source.c:777 +msgid "Loading Keys..." +msgstr "કીઓ લાવી રહ્યા છીએ..." + +#: ../pgp/seahorse-gpgme-source.c:820 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"અયોગ્ય કી માહિતી (ગુમ થયેલ UID). આ કદાચ ભવિષ્યમાં સુયોજિત થયેલ માહિતી સાથેના કમ્પ્યૂટરને " +"કારણે હોઈ શકે અથવા ગુમ થયેલ સ્વયં-સહીને કારણે હોઈ શકે." + +#: ../pgp/seahorse-gpgme-source.c:910 ../src/seahorse-key-manager.c:538 +msgid "Importing Keys" +msgstr "કીઓ આયાત કરી રહ્યા છીએ" + +#: ../pgp/seahorse-gpgme-source.c:946 +msgid "Exporting Keys" +msgstr "કીઓ નિકાસ કરી રહ્યા છીએ" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:330 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "શોધ ચોક્કસ પૂરતી હતી નહિં. સર્વર '%s' ને ઘણી બધી કીઓ મળી." + +#: ../pgp/seahorse-hkp-source.c:332 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "સર્વર '%s' સાથે સંપર્કવ્યવહાર કરી શક્યા નહિં: %s" + +#: ../pgp/seahorse-hkp-source.c:576 +msgid "Searching for keys..." +msgstr "કીઓ માટે શોધી રહ્યા છીએ..." + +#: ../pgp/seahorse-hkp-source.c:647 +msgid "Uploading keys..." +msgstr "કીઓ અપલોડ કરી રહ્યા છીએ..." + +#: ../pgp/seahorse-hkp-source.c:725 +msgid "Retrieving keys..." +msgstr "કીઓ પુનઃપ્રાપ્ત કરી રહ્યા છીએ..." + +#: ../pgp/seahorse-hkp-source.c:831 +#, c-format +msgid "Searching for keys on: %s" +msgstr "આના પર કીઓ માટે શોધી રહ્યા છીએ: %s" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../pgp/seahorse-hkp-source.c:908 ../pgp/seahorse-hkp-source.c:981 +#: ../pgp/seahorse-ldap-source.c:668 +#, c-format +msgid "Connecting to: %s" +msgstr "સાથે જોડાઈ રહ્યા છીએ: %s" + +#: ../pgp/seahorse-hkp-source.c:1005 +msgid "HTTP Key Server" +msgstr "HTTP કી સર્વર" + +#: ../pgp/seahorse-ldap-source.c:459 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "'%s' સાથે સંપર્કવ્યવહાર કરી શક્યા નહિં: %s" + +#: ../pgp/seahorse-ldap-source.c:641 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "સરનામું ઉકેલી શક્યા નહિં: %s" + +#: ../pgp/seahorse-ldap-source.c:719 +#, c-format +msgid "Resolving server address: %s" +msgstr "સર્વર સરનામું ઉકેલી રહ્યા છીએ: %s" + +#: ../pgp/seahorse-ldap-source.c:955 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "'%s' સમાવતી કીઓ માટે શોધી રહ્યા છીએ..." + +#: ../pgp/seahorse-ldap-source.c:983 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "કી id '%s' માટે શોધી રહ્યા છીએ..." + +#: ../pgp/seahorse-ldap-source.c:1089 +msgid "Retrieving remote keys..." +msgstr "દૂરસ્થ કીઓ પુનઃપ્રાપ્ત કરી રહ્યા છીએ..." + +#: ../pgp/seahorse-ldap-source.c:1221 +msgid "Sending keys to key server..." +msgstr "કી સર્વરને કીઓ મોકલી રહ્યા છીએ..." + +#: ../pgp/seahorse-ldap-source.c:1423 +msgid "LDAP Key Server" +msgstr "LDAP કી સર્વર" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "_Sign Key..." +msgstr "સહી કી (_S)..." + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "Sign public key" +msgstr "જાહેર કી સહી કરો" + +#: ../pgp/seahorse-pgp-commands.c:171 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "શું તમે ખરેખર %s ને કાયમ માટે કાઢવા માંગો છો?" + +#: ../pgp/seahorse-pgp-commands.c:176 +#, c-format +msgid "Are you sure you want to permanently delete %d keys and identities?" +msgstr "શું તમે ખરેખર %d કીઓ અને ઓળખાણોને કાયમ માટે કાઢી નાંખવા માંગો છો?" + +#: ../pgp/seahorse-pgp-commands.c:178 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgstr "શું તમે ખરેખર %d કીઓ કાયમ માટે કાઢી નાંખવા માંગો છો?" + +#: ../pgp/seahorse-pgp-commands.c:180 +#, c-format +msgid "Are you sure you want to permanently delete %d identities?" +msgstr "શું તમે ખરેખર %d ઓળખાણોને કાયમ માટે કાઢી નાંખવા માંગો છો?" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "_Advanced key options" +msgstr "અદ્યતન કી વિકલ્પો (_A)" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP કી તમને ઈમેઈલ અથવા ફાઈલો અન્ય લોકોને એનક્રિપ્ટ કરવા માટે પરવાનગી આપે છે." + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "Algorithms here" +msgstr "અલગોરિધમો અંહિ" + +#: ../pgp/seahorse-pgp-generate.xml.h:4 +msgid "C_reate" +msgstr "બનાવો (_r)" + +#: ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "E_xpiration Date:" +msgstr "નિવૃત્તિ તારીખ (_x):" + +#: ../pgp/seahorse-pgp-generate.xml.h:6 ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "Encryption _Type:" +msgstr "એનક્રિપ્શન પ્રકાર (_T):" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Generate a new key" +msgstr "નવી કી પેદા કરો" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Key _Strength (bits):" +msgstr "કી મજબૂતાઈ (બીટ) (_S):" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +msgid "Ne_ver Expires" +msgstr "ક્યારેય નિવૃત્ત નહિં થાય (_v)" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "New PGP Key" +msgstr "નવી PGP કી" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +msgid "_Comment:" +msgstr "ટિપ્પણી (_C):" + +#: ../pgp/seahorse-pgp-key.c:201 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Private PGP Key" +msgstr "ખાનગી PGP કી" + +#: ../pgp/seahorse-pgp-key.c:204 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "Public PGP Key" +msgstr "જાહેર PGP કી" + +#: ../pgp/seahorse-pgp-key.c:583 ../pgp/seahorse-pgp-key-properties.c:1347 +msgid "Expired" +msgstr "નિવૃત્ત" + +#: ../pgp/seahorse-pgp-key-properties.c:224 +msgid "Couldn't change primary user ID" +msgstr "પ્રાથમિક વપરાશકર્તા ID બદલી શક્યા નહિં" + +#: ../pgp/seahorse-pgp-key-properties.c:241 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "શું તમે ખરેખર '%s' વપરાશકર્તા ID કાયમ માટે કાઢી નાંખવા માંગો છો?" + +#: ../pgp/seahorse-pgp-key-properties.c:251 +msgid "Couldn't delete user ID" +msgstr "વપરાશકર્તા ID કાઢી શક્યા નહિં" + +#: ../pgp/seahorse-pgp-key-properties.c:333 +#: ../pgp/seahorse-pgp-key-properties.c:1462 +msgid "[Unknown]" +msgstr "[અજ્ઞાત]" + +#: ../pgp/seahorse-pgp-key-properties.c:426 +#: ../pgp/seahorse-pgp-key-properties.c:1740 +msgid "Name/Email" +msgstr "નામ/ઈમેઈલ" + +#: ../pgp/seahorse-pgp-key-properties.c:431 +msgid "Signature ID" +msgstr "સહી ID" + +#: ../pgp/seahorse-pgp-key-properties.c:552 +msgid "Couldn't change primary photo" +msgstr "પ્રાથમિક ફોટો બદલી શક્યા નહિં" + +#: ../pgp/seahorse-pgp-key-properties.c:775 +msgid "(unknown)" +msgstr "(અજ્ઞાત)" + +#: ../pgp/seahorse-pgp-key-properties.c:778 +#, c-format +msgid "This key expired on: %s" +msgstr "આ કી આ સમયે નિવૃત્ત થઈ ગઈ છે: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:946 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "શું તમે ખરેખર %2$s ની ઉપકી %1$d ને કાયમ માટે કાઢી નાંખવા માંગો છો?" + +#: ../pgp/seahorse-pgp-key-properties.c:955 +msgid "Couldn't delete subkey" +msgstr "ઉપકી કાઢી શક્યા નહિં" + +#: ../pgp/seahorse-pgp-key-properties.c:991 +#: ../pgp/seahorse-pgp-key-properties.c:1425 +msgid "Unable to change trust" +msgstr "વિશ્વાસ બદલવામાં અસમર્થ" + +#: ../pgp/seahorse-pgp-key-properties.c:1005 ../src/seahorse-viewer.c:315 +#: ../ssh/seahorse-ssh-key-properties.c:167 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "કીને \"%s\" માં નિકાસ કરી શક્યા નહિં" + +#: ../pgp/seahorse-pgp-key-properties.c:1033 +#: ../ssh/seahorse-ssh-key-properties.c:191 +msgid "Export Complete Key" +msgstr "નિકાસ સમાપ્તિ કી" + +#: ../pgp/seahorse-pgp-key-properties.c:1058 +#: ../ssh/seahorse-ssh-key-properties.c:213 +msgid "Couldn't export key." +msgstr "કી નિકાસ કરી શક્યા નહિં." + +#: ../pgp/seahorse-pgp-key-properties.c:1265 +#: ../pgp/seahorse-pgp-key-properties.c:1354 +msgctxt "Expires" +msgid "Never" +msgstr "ક્યારેય નહિં" + +#. The key type column +#: ../pgp/seahorse-pgp-key-properties.c:1315 +#: ../src/seahorse-key-manager-store.c:859 +msgid "Type" +msgstr "પ્રકાર" + +#: ../pgp/seahorse-pgp-key-properties.c:1318 +msgid "Created" +msgstr "બનાવાયેલ" + +#: ../pgp/seahorse-pgp-key-properties.c:1321 +msgid "Expires" +msgstr "નિવૃત્ત થાય છે" + +#: ../pgp/seahorse-pgp-key-properties.c:1324 +msgid "Status" +msgstr "પરિસ્થિતિ" + +#: ../pgp/seahorse-pgp-key-properties.c:1327 +msgid "Strength" +msgstr "મજબૂતાઈ" + +#: ../pgp/seahorse-pgp-key-properties.c:1351 +msgid "Good" +msgstr "સારું" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +msgid "Actions" +msgstr "ક્રિયાઓ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgid "Comment:" +msgstr "ટિપ્પણીઓ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgid "Dates" +msgstr "તારીખો" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgid "Email:" +msgstr "ઈમેઈલ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgid "Fingerprint" +msgstr "આંગળીની નિશાની" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +msgid "Key ID:" +msgstr "કી ID:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +msgid "Key Names and Signatures" +msgstr "કી નામો અને સહીઓ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Name:" +msgstr "નામ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "Photo " +msgstr "ફોટો " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Technical Details" +msgstr "ટેક્નિકલ વિગતો" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:10 +msgid "This key has been revoked" +msgstr "આ કી પુનઃબોલાવાઈ ગયેલ છે" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "This key has expired" +msgstr "આ કી નિવૃત્ત થઈ ગઈ છે" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:12 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Type:" +msgstr "પ્રકાર:" + +#. To translators: This is the noun not the verb. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:15 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +#: ../ssh/seahorse-ssh-key-properties.xml.h:13 +msgid "Use:" +msgstr "વાપરો:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "_Subkeys" +msgstr "ઉપકીઓ (_S)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +msgid "Add" +msgstr "ઉમેરો" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:18 +msgid "Add a photo to this key" +msgstr "આ કીમાં ફોટો ઉમેરો" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Change _Passphrase" +msgstr "મહાવરો બદલો (_P)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +msgid "Decrypt files and email sent to you." +msgstr "ફાઈલો ડિક્રિપ્ટ કરો અને ઈમેઈલ તમને મોકલાઈ ગયો." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:22 +msgid "Delete" +msgstr "કાઢી નાંખો" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +msgid "Expire" +msgstr "નિવૃત્ત" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:22 +msgid "Expires:" +msgstr "નિવૃત્ત થાય છે:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Export" +msgstr "નિકાસ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +msgid "Go to next photo" +msgstr "આગળના ફોટો પર જાવ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Go to previous photo" +msgstr "પહેલાંના ફોટો પર જાવ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +msgid "Key ID:" +msgstr "કી ID:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Make this photo the primary photo" +msgstr "આ ફોટોને પ્રાથમિક ફોટો બનાવો" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "Names and Signatures" +msgstr "નામો અને સહીઓ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#| msgctxt "Validity" +#| msgid "Never" +msgid "Never" +msgstr "ક્યારેય નહિં" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:36 +msgid "Override Owner _Trust:" +msgstr "માલિકનો વિશ્વાસ ફરી લખો (_T):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "Owner" +msgstr "માલિક" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +msgid "Primary" +msgstr "પ્રાથમિક" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Remove this photo from this key" +msgstr "આ કીમાંથી આ ફોટો દૂર કરો" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +msgid "Revoke" +msgstr "પુનઃબોલાવો" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +msgid "Sign" +msgstr "સહી" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "Strength:" +msgstr "મજબૂતાઈ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "કીના માલિકે કી ફરી બોલાવી. તે લાંબા સમય સુધી વાપરી શકાશે નહિં." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "_Add Name" +msgstr "નામ ઉમેરો (_A)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "_Export Complete Key:" +msgstr "નિકાસ સંપૂર્ણ કી (_E):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgid "Dates:" +msgstr "તારીખો:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +#: ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Fingerprint:" +msgstr "આંગળીની છાપ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgid "Indicate Trust:" +msgstr "વિશ્વાસ સૂચવે છે:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Your trust of this key" +msgstr "તમારો આ કીનો વિશ્વાસ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:16 +msgid "_Other Names:" +msgstr "અન્ય નામો (_O):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgid "_People who have signed this key:" +msgstr "લોકો કે જેઓએ આ કી સહી કરેલ છે (_P):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Encrypt files and email to the key's owner " +msgstr "ફાઈલો એનક્રિપ્ટ કરો અને કીના માલિકને ઈમેઈલ કરો" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +#| msgid "Full" +msgid "Fully" +msgstr "સંપૂર્ણ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "હું '%s' માંથી અન્ય કીઓ પરની સહીઓનો વિશ્વાસ કરું છું" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:27 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" +"જો તમે એમ માનો કે વ્યક્તિ કે જે આ કીની માલિકી ધરાવે છે તે '%s' છે, તો આ કીની સહી " +"કરો:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:29 +#, no-c-format +msgid "If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" +"જો તમને ક્યારેય વિશ્વાસ નહિં આવે કે '%s' આ કીની માલિકી ધરાવે છે, તો તમારી સહી " +"પુનઃજગાવો:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:32 +#| msgid "Marginal" +msgid "Marginally" +msgstr "સિમીત રૂપ થી" + +#. Trust column +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../src/seahorse-key-manager-store.c:853 +msgid "Trust" +msgstr "વિશ્વાસ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#| msgid "Ultimate" +msgid "Ultimately" +msgstr "છેવટનું" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "You _Trust the Owner:" +msgstr "તમે માલિકને વિશ્વાસ કરો (_T):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Your trust is manually specified on the Details tab." +msgstr "તમારો વિશ્વાસ વિગતો ટેબ પર જાતે સ્પષ્ટ કરેલ છે." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "_Only display the signatures of people I trust" +msgstr "માત્ર એવા લોકો માટે જ સહીઓ દર્શાવો કે જેમનો હું વિશ્વાસ કરું છું (_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "_Revoke Signature" +msgstr "સહી પુનઃબોલાવો (_R)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Sign this Key" +msgstr "આ કી સહી કરો (_S)" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "%2$s ની %1$d ઉપકી" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Optional description of revocation" +msgstr "પુનઃબોલાવવાનું વૈકલ્પિક વર્ણન" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "Re_voke" +msgstr "પુનઃબોલાવો (_v)" + +#: ../pgp/seahorse-revoke.xml.h:3 +msgid "Reason for revoking the key" +msgstr "કી પુનઃબોલાવવા માટેનું કારણ" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "_Reason:" +msgstr "કારણ (_R):" + +#: ../pgp/seahorse-signer.c:62 +msgid "You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"તમારી પાસે કોઈ વ્યક્તિગત PGP કીઓ નથી કે જે દસ્તાવેજ અથવા સંદેશો સહી કરવા માટે વાપરી " +"શકાશે." + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "How carefully have you checked this key?" +msgstr "કેટલી કાળજીપૂર્વક તમે આ કી ચકાસી છે?" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "How others will see this signature:" +msgstr "બીજા કેવી રીતે આ સહી જોશે:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Sign key as:" +msgstr "કી આ રીતે સહી કરો:" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone. " +msgstr "" +"સામાન્ય રીતે: એટલે કે તમે સામાન્ય ખાતરી કરેલ છે કે કીએ વ્યક્તિની માલિકીની છે જે " +"એનો દાવો કરે છે. ઉદાહરણ તરીકે, તમેકી માલિકની આંગળીનીછાપ ફોન ઉપર વાંચી શકો. " + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "Key Name" +msgstr "કી નામ" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"કોઈ હિસાબે નહિં: એટલે કે તમે માનો છો કે કી એ વ્યક્તિની માલિકીની છે કે જે તેનો " +"દાવો કરે છે, પરંતુ તમે કરી શક્યા નહિં અથવા આને હકીકત હોવા માટે ખાતરી કરી નથી." + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "ખૂબ કાળજીપૂર્વક: આને માત્ર ત્યારે જ પસંદ કરો જો તમે ચોક્કસ હોવ કે આકી યોગ્ય છે." + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "સહી કરીને તમે તમારો વિશ્વાસ સૂચવો કે જેને આ કી અનુલક્ષે છે:" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "I can _revoke this signature at a later date." +msgstr "હું આ સહી પછીની તારીખે પુનઃબોલાવી શકું (_r)." + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "Sign Key" +msgstr "સહી કી" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"ફોટો ઓળખમાં (જેમ કે પાસપોર્ટ) ગુનાખોરી કરવા માટે તમે સખતાઈ કરી શકો વ્યક્તિ કે જે ચકાસે કે " +"જે નામ કી પર યોગ્ય હોય. તમારી પાસે ચકાસવા માટે ઈમેઈલ પણ વપરાયેલ હોવું જોઈએ કે જે ઈમેઈલ " +"સરનામું માલિકને અનુલક્ષે." + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "_Casually" +msgstr "સામાન્ય રીતે (_C)" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Not at all" +msgstr "કોઈ હિસાબે નહિં (_N)" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "_Others may not see this signature" +msgstr "બાકીના આ સહી જોઈ શકશે નહિં (_O)" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "_Sign" +msgstr "સહી (_S)" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "સહી કરનાર (_S):" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Very Carefully" +msgstr "ખૂબ કાળજીપૂર્વક (_V)" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "સંદેશાને કી સાથે સહી કરો (_S):" + +#: ../pkcs11/seahorse-pkcs11-certificate.c:107 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:68 +msgid "Certificate" +msgstr "પ્રમાણપત્ર" + +#: ../pkcs11/seahorse-pkcs11-commands.c:108 +#, c-format +msgid "Are you sure you want to delete the certificate '%s'?" +msgstr "શું તમે ખરેખર પ્રમાણપત્ર '%s' ને કાઢી નાંખવા માંગો છો?" + +#: ../pkcs11/seahorse-pkcs11-commands.c:111 +#, c-format +msgid "Are you sure you want to delete %d certificate?" +msgid_plural "Are you sure you want to delete %d certificates?" +msgstr[0] "શું તમે ખરેખર %d પ્રમાણપત્રને કાઢી નાંખવા માંગો છો?" +msgstr[1] "શું તમે ખરેખર %d પ્રમાણપત્રોને કાઢવા માંગો છો?" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "મહાવરો બદલો" + +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Con_firm Passphrase:" +msgstr "ખાતરી મહાવરો (_f):" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "Confirm new passphrase" +msgstr "નવો મહાવરો ખાતરી કરો" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "New _Passphrase:" +msgstr "નવો મહાવરો (_P):" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "તમારા પાસવર્ડો અને એનક્રિપ્શન કીઓની વ્યવસ્થા કરો" + +#: ../src/seahorse.desktop.in.in.h:2 ../src/seahorse-key-manager.c:853 +msgid "Passwords and Encryption Keys" +msgstr "પાસવર્ડો અને એનક્રિપ્શન કીઓ" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "બનાવવા માટે વસ્તુનાં પ્રકારને પસંદ કરો (_S):" + +#: ../src/seahorse-generate-select.xml.h:2 +msgid "C_ontinue" +msgstr "ચાલુ રાખો (_o)" + +#: ../src/seahorse-generate-select.xml.h:3 +msgid "Create New ..." +msgstr "નવુ બનાવો..." + +#: ../src/seahorse-key-manager.c:233 ../src/seahorse-keyserver-results.c:108 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "પસંદિત %d કી" +msgstr[1] "પસંદિત %d કીઓ" + +#: ../src/seahorse-key-manager.c:404 ../src/seahorse-key-manager.c:464 +#: ../src/seahorse-key-manager.c:527 ../src/seahorse-viewer.c:482 +msgid "Couldn't import keys" +msgstr "કીઓ આયાત કરી શક્યા નહિં" + +#: ../src/seahorse-key-manager.c:409 ../src/seahorse-viewer.c:487 +msgid "Imported keys" +msgstr "આયાત થયેલ કીઓ" + +#: ../src/seahorse-key-manager.c:458 +msgid "Importing keys" +msgstr "કીઓ આયાત કરી રહ્યા છીએ" + +#: ../src/seahorse-key-manager.c:481 ../ssh/seahorse-ssh-operation.c:1017 +msgid "Import Key" +msgstr "કી આયાત કરો" + +#: ../src/seahorse-key-manager.c:527 +msgid "Unrecognized key type, or invalid data format" +msgstr "બિનવર્ગીકૃત કી પ્રકાર, અથવા અયોગ્ય માહિતી બંધારણ" + +#: ../src/seahorse-key-manager.c:721 ../src/seahorse-keyserver-results.c:207 +msgid "_Remote" +msgstr "દૂરસ્થ (_R)" + +#: ../src/seahorse-key-manager.c:723 +msgid "Close this program" +msgstr "આ કાર્યક્રમ બંધ કરો" + +#: ../src/seahorse-key-manager.c:724 +msgid "_New..." +msgstr "નવું (_N)..." + +#: ../src/seahorse-key-manager.c:725 +msgid "Create a new key or item" +msgstr "નવી કી અથવા વસ્તુને બનાવો" + +#: ../src/seahorse-key-manager.c:726 +msgid "_Import..." +msgstr "આયાત કરો (_I)..." + +#: ../src/seahorse-key-manager.c:727 +msgid "Import from a file" +msgstr "ફાઈલમાંથી આયાત કરો" + +#: ../src/seahorse-key-manager.c:729 +msgid "Import from the clipboard" +msgstr "ક્લિપબોર્ડમાંથી આયાત કરો" + +#: ../src/seahorse-key-manager.c:734 ../src/seahorse-keyserver-results.c:217 +msgid "_Find Remote Keys..." +msgstr "દૂરસ્થ કીઓ શોધો (_F)..." + +#: ../src/seahorse-key-manager.c:735 ../src/seahorse-keyserver-results.c:218 +msgid "Search for keys on a key server" +msgstr "કી સર્વર પર કીઓ માટે શોધો" + +#: ../src/seahorse-key-manager.c:736 +msgid "_Sync and Publish Keys..." +msgstr "કીઓ સુમેળ કરો અને પ્રકાશિત કરો (_S)..." + +#: ../src/seahorse-key-manager.c:737 +msgid "Publish and/or synchronize your keys with those online." +msgstr "તમારી કીઓ જેઓ ઓનલાઈન હોય તેમની સાથે જાહેર કરો અને/અથવા સુમેળ કરો." + +#: ../src/seahorse-key-manager.c:742 +msgid "T_ypes" +msgstr "પ્રકારો (_y)" + +#: ../src/seahorse-key-manager.c:742 +msgid "Show type column" +msgstr "પ્રકાર સ્તંભ બતાવો" + +#: ../src/seahorse-key-manager.c:744 +msgid "_Expiry" +msgstr "નિવૃત્તિ (_E)" + +#: ../src/seahorse-key-manager.c:744 +msgid "Show expiry column" +msgstr "નિવૃત્તિ સ્તંભ બતાવો" + +#: ../src/seahorse-key-manager.c:746 +msgid "_Trust" +msgstr "વિશ્વાસ (_T)" + +#: ../src/seahorse-key-manager.c:746 +msgid "Show owner trust column" +msgstr "માલિક વિશ્વાસ સ્તંભ બતાવો" + +#: ../src/seahorse-key-manager.c:748 +msgid "_Validity" +msgstr "માન્યતા (_V)" + +#: ../src/seahorse-key-manager.c:748 +msgid "Show validity column" +msgstr "માન્યતા સ્તંભ બતાવો" + +#: ../src/seahorse-key-manager.c:922 +msgid "Filter:" +msgstr "ગાળક:" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "પ્રથમ વખત વિકલ્પો:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "તમારી પોતાની નવી કી બનાવો: " + +#: ../src/seahorse-key-manager.xml.h:3 +msgid "Import existing keys from a file:" +msgstr "ફાઈલમાંથી હાલની કીઓની આયાત કરો:" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "My _Personal Keys" +msgstr "મારી વ્યક્તિગત કીઓ (_P)" + +#: ../src/seahorse-key-manager.xml.h:5 +#| msgid "Other _Collected Keys" +msgid "Other _Keys" +msgstr "બીજી કીઓ (_K)" + +#: ../src/seahorse-key-manager.xml.h:6 +msgid "To get started with encryption you will need keys." +msgstr "એનક્રિપ્શન સાથે શરૂ કરવા માટે તમને કીઓ જરૂરી રહેશે." + +#: ../src/seahorse-key-manager.xml.h:7 ../src/seahorse-viewer.c:546 +msgid "_Import" +msgstr "આયાત (_I)" + +#: ../src/seahorse-key-manager.xml.h:8 +msgid "_Passwords" +msgstr "પાસવર્ડો (_P)" + +#: ../src/seahorse-key-manager-store.c:648 ../src/seahorse-viewer.c:282 +msgid "Couldn't export keys" +msgstr "કીઓ નિકાસ કરી શક્યા નહિં" + +#: ../src/seahorse-key-manager-store.c:846 +msgid "Validity" +msgstr "માન્યતા" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:865 +msgid "Expiration Date" +msgstr "નિવૃત્તિ તારીખ" + +#: ../src/seahorse-keyserver-results.c:209 +msgid "Close this window" +msgstr "આ વિન્ડો બંધ કરો" + +#: ../src/seahorse-keyserver-results.c:210 +msgid "_Expand All" +msgstr "બધું વિસ્તૃત કરો (_E)" + +#: ../src/seahorse-keyserver-results.c:211 +msgid "Expand all listings" +msgstr "બધી યાદીઓ વિસ્તૃત કરો" + +#: ../src/seahorse-keyserver-results.c:212 +msgid "_Collapse All" +msgstr "બધું સંકોચો (_C)" + +#: ../src/seahorse-keyserver-results.c:213 +msgid "Collapse all listings" +msgstr "બધી યાદીઓ સંકોચો" + +#: ../src/seahorse-keyserver-results.c:275 +msgid "Remote Keys" +msgstr "દૂરસ્થ કીઓ" + +#: ../src/seahorse-keyserver-results.c:277 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "'%s' સમાવતી દૂરસ્થ કીઓ" + +#: ../src/seahorse-keyserver-search.xml.h:1 +msgid "Key Servers:" +msgstr "કી સર્વરો:" + +#: ../src/seahorse-keyserver-search.xml.h:2 +msgid "Shared Keys Near Me:" +msgstr "વહેંચાયેલ કીઓ મારી નજીક છે:" + +#: ../src/seahorse-keyserver-search.xml.h:3 +msgid "Find Remote Keys" +msgstr "દૂરસ્થ કીઓ શોધો" + +#: ../src/seahorse-keyserver-search.xml.h:4 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"આ ઈન્ટરનેટ પર બીજાઓ માટે કીઓ શોધશે. આ કીઓ પછી તમારી સ્થાનિક કી રીંગમાં આયાત કરી " +"શકાશે." + +#: ../src/seahorse-keyserver-search.xml.h:5 +msgid "Where to search:" +msgstr "ક્યાં શોધવાનું છે:" + +#: ../src/seahorse-keyserver-search.xml.h:6 +msgid "_Search" +msgstr "શોધો (_S)" + +#: ../src/seahorse-keyserver-search.xml.h:7 +msgid "_Search for keys containing: " +msgstr "આ સમાવતી કીઓ માટે શોધો (_S): " + +#: ../src/seahorse-keyserver-sync.c:45 +msgid "Couldn't publish keys to server" +msgstr "સર્વર ને કીઓ પ્રકાશિત કરી શક્યા નહિં" + +#: ../src/seahorse-keyserver-sync.c:61 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "સર્વરમાંથી કીઓ પુનઃપ્રાપ્ત કરી શક્યા નહિં: %s" + +#: ../src/seahorse-keyserver-sync.c:155 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d કી એ સુમેળ કરવા માટે પસંદ થયેલ છે" +msgstr[1] "%d કીઓ સુમેળ કરવા માટે પસંદ થયેલ છે" + +#: ../src/seahorse-keyserver-sync.c:216 +msgid "Synchronizing keys" +msgstr "કીઓ સુમેળ કરવાનું" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:248 +msgid "Synchronizing keys..." +msgstr "કીઓ સુમેળ કરી રહ્યા છીએ..." + +#: ../src/seahorse-keyserver-sync.xml.h:1 +msgid "X keys are selected for synchronizing" +msgstr "X કીઓ સુમેળ કરવા માટે પસંદ થયેલ છે" + +#: ../src/seahorse-keyserver-sync.xml.h:2 +msgid "Sync Keys" +msgstr "કીઓ સુમેળ કરો" + +#: ../src/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"આ કીઓને તમારી કી રીંગમાં પ્રકાશિત કરશે કે જેથી તેઓ બીજા માટે વાપરવા માટે ઉપલબ્ધ બનશે. તમે " +"બીજાએ કરેલ કોઈપણ ફેરફારો મેળવશો જ્યારથી તમે તેમની કીઓ મેળવી છે." + +#: ../src/seahorse-keyserver-sync.xml.h:4 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"આ બીજાએ કરેલ કોઈપણ ફેરફારો પ્રાપ્ત કરશે જ્યારે તમે તેમની કીઓ મેળવી છે. કોઈ કી સર્વર " +"પ્રકાશન માટે પસંદ થયેલ નથી, તેથી તમારી કીઓ બીજા માટે ઉપલબ્ધ બનશે નહિં." + +#: ../src/seahorse-keyserver-sync.xml.h:5 +msgid "_Key Servers" +msgstr "કી સર્વરો (_K)" + +#: ../src/seahorse-keyserver-sync.xml.h:6 +msgid "_Sync" +msgstr "સુમેળ (_S)" + +#: ../src/seahorse-main.c:62 +msgid "Version of this application" +msgstr "આ કાર્યક્રમની આવૃત્તિ" + +#: ../src/seahorse-main.c:78 ../src/seahorse-viewer.c:170 +msgid "Encryption Key Manager" +msgstr "એનક્રિપ્શન કી વ્યવસ્થાપક" + +#: ../src/seahorse-viewer.c:141 +msgid "Contributions:" +msgstr "ફાળો:" + +#: ../src/seahorse-viewer.c:172 +msgid "translator-credits" +msgstr "શ્ર્વેતા કોઠારી " + +#: ../src/seahorse-viewer.c:175 +msgid "Seahorse Project Homepage" +msgstr "Seahorse પ્રોજેક્ટ ઘરપાનું" + +#. Top menu items +#: ../src/seahorse-viewer.c:194 +msgid "_File" +msgstr "ફાઇલ (_F)" + +#: ../src/seahorse-viewer.c:195 +msgid "_Edit" +msgstr "ફેરફાર કરો (_E)" + +#: ../src/seahorse-viewer.c:196 +msgid "_View" +msgstr "દર્શાવો (_V)" + +#: ../src/seahorse-viewer.c:197 +msgid "_Help" +msgstr "મદદ (_H)" + +#: ../src/seahorse-viewer.c:199 +msgid "Prefere_nces" +msgstr "પસંદગીઓ (_n)" + +#: ../src/seahorse-viewer.c:200 +msgid "Change preferences for this program" +msgstr "આ પ્રક્રિયા માટે પસંદગીઓ ને બદલો" + +#: ../src/seahorse-viewer.c:203 +msgid "About this program" +msgstr "આ કાર્યક્રમ વિશે" + +#: ../src/seahorse-viewer.c:204 +msgid "_Contents" +msgstr "સમાવિષ્ટો (_C)" + +#: ../src/seahorse-viewer.c:205 +msgid "Show Seahorse help" +msgstr "Seahorse મદદ ને બતાવો" + +#: ../src/seahorse-viewer.c:302 +msgid "Export public key" +msgstr "જાહેર કી ની નિકાસ કરી રહ્યા છે" + +#: ../src/seahorse-viewer.c:320 +msgid "Exporting keys" +msgstr "કીઓ નિકાસ કરી રહ્યા છીએ" + +#: ../src/seahorse-viewer.c:345 +msgid "Couldn't retrieve data from key server" +msgstr "કી સર્વર માંથી માહિતી ને મેળવી શક્યા નહિં" + +#. Translators: "Copied" is a verb (used as a status indicator), not an adjective for the word "keys" +#: ../src/seahorse-viewer.c:364 +msgid "Copied keys" +msgstr "કીઓ નકલ થયેલ છે" + +#: ../src/seahorse-viewer.c:384 +msgid "Retrieving keys" +msgstr "કીઓ પુનઃપ્રાપ્ત કરી રહ્યા છે" + +#: ../src/seahorse-viewer.c:399 +msgid "Couldn't delete." +msgstr "કાઢી શક્યા નહિં." + +#: ../src/seahorse-viewer.c:433 +msgid "Deleting..." +msgstr "કાઢી રહ્યા છે..." + +#: ../src/seahorse-viewer.c:459 +#, c-format +msgid "%s is a private key. Are you sure you want to proceed?" +msgstr "%s એ ખાનગી કી છે. શું તમે ખરેખર તમે આગળ ધપાવા માંગો છો?" + +#: ../src/seahorse-viewer.c:507 +msgid "Importing keys from key servers" +msgstr "કીઓને કી સર્વરોમાંથી આયાત કરવાનું" + +#: ../src/seahorse-viewer.c:533 +msgid "Show properties" +msgstr "ગુણધર્મો ને બતાવો" + +#: ../src/seahorse-viewer.c:534 +msgctxt "This text refers to deleting an item from its type's backing store." +msgid "_Delete" +msgstr "કાઢી નાંખો (_D)" + +#: ../src/seahorse-viewer.c:535 +msgid "Delete selected items" +msgstr "પસંદ થયેલ વસ્તુઓને કાઢી નાંખો" + +#: ../src/seahorse-viewer.c:539 +msgid "E_xport..." +msgstr "નિકાસ કરો (_x)..." + +#: ../src/seahorse-viewer.c:540 +msgid "Export to a file" +msgstr "ફાઇલને નિકાસ કરો" + +#: ../src/seahorse-viewer.c:542 +msgid "Copy to the clipboard" +msgstr "ક્લિપબોર્ડમાંથી નકલ કરો" + +#: ../src/seahorse-viewer.c:547 +msgid "Import selected keys to local key ring" +msgstr "પસંદિત કીઓને સ્થાનિક કી રીંગમાં આયાત કરો" + +#: ../ssh/seahorse-ssh-askpass.c:99 +msgid "Enter your Secure Shell passphrase:" +msgstr "તમારો સુરક્ષિત શેલ મહાવરો દાખલ કરો:" + +#: ../ssh/seahorse-ssh-commands.c:85 +msgid "Configure Key for _Secure Shell..." +msgstr "સુરક્ષિત શેલ માટે રૂપરેખાંકિત કી (_S)..." + +#: ../ssh/seahorse-ssh-commands.c:86 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "જાહેર સુરક્ષિત શેલ કી અન્ય મશીનને મોકલો, અને તે કીની મદદથી પ્રવેશો સક્રિય કરો." + +#: ../ssh/seahorse-ssh-commands.c:115 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "શું તમે ખરેખર '%s' સુરક્ષા શેલ કી કાઢી નાંખવા માંગો છો?" + +#: ../ssh/seahorse-ssh-commands.c:118 +#, c-format +msgid "Are you sure you want to delete %d secure shell keys?" +msgstr "શું તમે ખરેખર %d સુરક્ષા શેલ કીઓ કાઢી નાંખવા માંગો છો?" + +#: ../ssh/seahorse-ssh-generate.c:59 ../ssh/seahorse-ssh-key.c:91 +#: ../ssh/seahorse-ssh-key.c:95 ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "Secure Shell Key" +msgstr "સુરક્ષિત શેલ કી" + +#: ../ssh/seahorse-ssh-generate.c:60 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "અન્ય કમ્પ્યૂટરો વાપરવા માટે વપરાય છે (દાત: ટર્મિનલ મારફતે)" + +#: ../ssh/seahorse-ssh-generate.c:90 +msgid "Couldn't generate Secure Shell key" +msgstr "સુરક્ષિત શેલ કી પેદા કરી શક્યા નહિં" + +#: ../ssh/seahorse-ssh-generate.c:205 +msgid "Creating Secure Shell Key" +msgstr "સુરક્ષિત શેલ કી બનાવવાનું" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "" +"Use your email address, and any other reminder you need about what this " +"key is for." +msgstr "" +"તમારું ઈમેઈલ સરનામું વાપરો, અને કોઇપણ બાકીનું યાદ અપાવનાર\n" +" કે જેમની તમને જરૂર છે કે આ કી શાના માટે છે." + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "" +"A Secure Shell (SSH) key lets you connect securely to trusted computers " +"using SSH, without entering a different password for each of them." +msgstr "" +"સુરક્ષિત શેલ (SSH) કી તમને વિશ્વાસુ કમ્પ્યૂટરો સાથે સુરક્ષિત રીતે SSH ની મદદથી જોડાવા માટે " +"પરવાનગી આપે છે, તેમના દરેક માટે અલગ પાસવર્ડ દાખલ કર્યા વિના." + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "" +"If there is already a computer you want to use this key with, you can set up " +"that computer to recognize your key now. " +msgstr "" +"જો ત્યાં પહેલાથી જ કમ્પ્યૂટર હોય કે જેને તમે આ કી સાથે વાપરવા માંગો, તો તમે તે કમ્પ્યૂટરને " +"તમારી કી હમણાં ઓળખાવવા માટે સુયોજીત કરી શકો છો. " + +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "New Secure Shell Key" +msgstr "નવી સુરક્ષિ શેલ કી" + +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "_Create and Set Up" +msgstr "બનાવો અને સુયોજીત કરો (_C)" + +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Just Create Key" +msgstr "ખાલી કી બનાવો (_J)" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "_Key Description:" +msgstr "કી વર્ણન (_K):" + +#: ../ssh/seahorse-ssh-key.c:87 +msgid "(Unreadable Secure Shell Key)" +msgstr "(નહિં વાંચી શકાય તેવી સુરક્ષિત શેલ કી)" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "Invalid" +msgstr "અયોગ્ય" + +#: ../ssh/seahorse-ssh-key.c:116 +msgid "Private Secure Shell Key" +msgstr "ખાનગી સુરક્ષા શેલ કી" + +#: ../ssh/seahorse-ssh-key.c:119 +msgid "Public Secure Shell Key" +msgstr "જાહેર સુરક્ષા શેલ કી" + +#: ../ssh/seahorse-ssh-key-properties.c:71 +msgid "Couldn't rename key." +msgstr "કીનું નામ બદલી શક્યા નહિં." + +#: ../ssh/seahorse-ssh-key-properties.c:112 +msgid "Couldn't change authorization for key." +msgstr "કી માટે સત્તાધિકરણ બદલી શક્યા નહિં." + +#: ../ssh/seahorse-ssh-key-properties.c:127 +msgid "Couldn't change passphrase for key." +msgstr "કી માટે પાસફ્રેઝ ને બદલી શકાયુ નહિં." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "/home/nate/.ssh/blah_rsa" +msgstr "/home/nate/.ssh/blah_rsa" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "00:00:00:00:00" +msgstr "00:00:00:00:00" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Algorithm:" +msgstr "અલગોરિધમ:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:5 +msgid "Identifier:" +msgstr "સૂચક:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgid "Location:" +msgstr "સ્થાન:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:8 +msgid "Strength:" +msgstr "મજબૂતાઈ:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Trust" +msgstr "વિશ્વાસ" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "આ માત્ર '%s' ખાતાને લાગુ પડે છે." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "E_xport Complete Key" +msgstr "સંપૂર્ણ કીની નિકાસ કરો (_x)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "આ કીનો માલિક આ કમ્પ્યૂટર સાથે જોડાવા માટે સત્તાધિકારીત છે (_a)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:23 +msgid "Used to connect to other computers." +msgstr "અન્ય કમ્પ્યૂટરો સાથે જોડાવા માટે વપરાય છે." + +#: ../ssh/seahorse-ssh-operation.c:143 ../ssh/seahorse-ssh-operation.c:732 +#, c-format +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH આદેશ અનિચ્છનીય રીતે બંધ થઈ ગયો હતો." + +#: ../ssh/seahorse-ssh-operation.c:151 ../ssh/seahorse-ssh-operation.c:739 +msgid "The SSH command failed." +msgstr "SSH આદેશ નિષ્ફળ." + +#: ../ssh/seahorse-ssh-operation.c:445 ../ssh/seahorse-ssh-operation.c:477 +msgid "Secure Shell key" +msgstr "સુરક્ષિત શેલ કી" + +#: ../ssh/seahorse-ssh-operation.c:448 +msgid "Passphrase:" +msgstr "મહાવરો:" + +#. Just prompt over and over again +#: ../ssh/seahorse-ssh-operation.c:762 +msgid "Remote Host Password" +msgstr "દૂરસ્થ યજમાન પાસવર્ડ" + +#: ../ssh/seahorse-ssh-operation.c:850 +msgid "Old Key Passphrase" +msgstr "જૂની કી મહાવરો" + +#: ../ssh/seahorse-ssh-operation.c:851 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "આના માટે જૂનો પાસવર્ડ દાખલ કરો: %s" + +#: ../ssh/seahorse-ssh-operation.c:855 +msgid "New Key Passphrase" +msgstr "નવો કી મહાવરો" + +#: ../ssh/seahorse-ssh-operation.c:856 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "આના માટે નવો મહાવરો દાખલ કરો: %s" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Enter Key Passphrase" +msgstr "કી મહાવરો દાખલ કરો" + +#: ../ssh/seahorse-ssh-operation.c:931 +msgid "Passphrase for New Secure Shell Key" +msgstr "નવી સુરક્ષિત શેલ કી માટે મહાવરો" + +#: ../ssh/seahorse-ssh-operation.c:932 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "તમારા નવા સુરક્ષિત શેલ કી માટે મહાવરો દાખલ કરો." + +#: ../ssh/seahorse-ssh-operation.c:1013 +#, c-format +msgid "Importing key: %s" +msgstr "કીની આયાત કરી રહ્યા છીએ: %s" + +#: ../ssh/seahorse-ssh-operation.c:1015 +msgid "Importing key. Enter passphrase" +msgstr "કી આયાત કરી રહ્યા છીએ. મહાવરો દાખલ કરો" + +#: ../ssh/seahorse-ssh-source.c:825 +msgid "No private key file is available for this key." +msgstr "આ કી માટે ખાનગી કી ફાઇલ ઉપલ્બધ નથી." + +#: ../ssh/seahorse-ssh-upload.c:45 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "સુરક્ષિત શેલ કીઓને દૂરસ્થ કમ્પ્યૂટર પર રૂપરેખાંકિત કરી શક્યા નહિં." + +#. Show the progress window if necessary +#: ../ssh/seahorse-ssh-upload.c:181 +msgid "Configuring Secure Shell Keys..." +msgstr "સુરક્ષિત શેલ કીઓ રૂપરેખાંકિત કરી રહ્યા છીએ..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "eg: fileserver.example.com:port" +msgstr "દાત: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "SSH જોડાણ માટે કમ્પ્યૂટર સુયોજીત કરો" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"તમારી સુરક્ષિત શેલ કી અન્ય કમ્પ્યૂટર સાથે વાપરવા માટે કે જે SSH વાપરે છે, ત્યારે તમારી પાસે " +"તે કમ્પ્યૂટર પર પહેલાથી જ પ્રવેશ ખાતું હોવું જ જોઈએ." + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "કમ્પ્યૂટર નામ (_C):" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "પ્રવેશ નામ (_L):" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "સુયોજન (_S)" + diff --git a/po/he.po b/po/he.po new file mode 100644 index 00000000..54cf9143 --- /dev/null +++ b/po/he.po @@ -0,0 +1,4253 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Yair Hershkovitz , 2007. +# Yosef Or Boczko , 2014-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: 1\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-09-30 12:35+0300\n" +"Last-Translator: Yosef Or Boczko \n" +"Language-Team: Hebrew \n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-Generator: Gtranslator 3.36.0\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "הוספת שרת מפתח" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "מותאם אישית" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "ביטול" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "שמירה" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "לא ניתן למחוק" + +#: common/catalog.vala:129 +#| msgid "Couldn't export keys" +msgid "Couldn’t export keys" +msgstr "לא ניתן לייצא מפתחות" + +#: common/catalog.vala:139 +#| msgid "Couldn't export data" +msgid "Couldn’t export data" +msgstr "לא ניתן לייצא נתונים" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_ביטול" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "מ_חיקה" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "ייצוא" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "נא להזין את ססמת ה־PIN עבור: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "אישור:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_אישור" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "ססמה:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "ססמאות" + +#: common/place.vala:42 +#| msgid "PGP Keys" +msgid "Keys" +msgstr "מפתחות" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "אישורים" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "העדפות" + +#: common/prefs.vala:150 +#| msgid "None: Don't publish keys" +msgid "None: Don’t publish keys" +msgstr "ללא: לא לפרסם מפתחות" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "כתובת שרת המפתחות לא תקפה." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "לקבלת עזרה ניתן לפנות למנהל המערכת או אל מנהל מערכת שרת המפתחות." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "כתובת" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "פריט זמני ראשוני" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "סוג שרת מפתח:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "מארח:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "שם המארח או כתובת השרת." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "השער דרכו לגשת לשרת." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_חיפוש מפתחות בעזרת:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_פרסום מפתחות ל:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "קבלת מפתחות מ_שרתי מפתחות אוטומטית" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "ס_נכרון מפתחות שהשתנו עם שרתי מפתח אוטומטית" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "שרתי מפתח" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "לא ידוע" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "לעולם לא" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "גבולי" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "מלא" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "אולטימטיבי" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "מנוטרל" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "נשלל" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "סקירה" + +#: data/gtk/help-overlay.ui:14 +#| msgid "_Help" +msgctxt "shortcut window" +msgid "Help" +msgstr "עזרה" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "פתיחת תפריט" + +#: data/gtk/help-overlay.ui:28 +#| msgid "Create a new key or item" +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "יצירת פריט חדש" + +#: data/gtk/help-overlay.ui:35 +#| msgid "Import from a file" +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "ייבוא פריט מקובץ" + +#: data/gtk/help-overlay.ui:42 +#| msgid "_Search" +msgctxt "shortcut window" +msgid "Search" +msgstr "חיפוש" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "רשימת צירופי מקשים" + +#: data/gtk/help-overlay.ui:56 +#| msgid "_Quit" +msgctxt "shortcut window" +msgid "Quit" +msgstr "יציאה" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "ניווט" + +#: data/gtk/help-overlay.ui:69 +#| msgid "Delete the keyring." +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "בחירת קבוצת המפתחות הקודמת" + +#: data/gtk/help-overlay.ui:76 +#| msgid "Delete the keyring." +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "בחירת קבוצת המפתחות הבאה" + +#: data/gtk/help-overlay.ui:83 +#| msgid "Show sidebar listing keyrings" +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "הצגת סרגל צד (במסכים קטנים)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "הצגת תוכן קבוצת מפתחות (במסכים קטנים)" + +#: data/org.gnome.seahorse.gschema.xml:5 +#| msgid "Auto Retrieve Keys" +msgid "Auto retrieve keys" +msgstr "Auto retrieve keys" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Whether or not keys should be automatically retrieved from key servers." + +#: data/org.gnome.seahorse.gschema.xml:10 +#| msgid "None: Don't publish keys" +msgid "Auto publish keys" +msgstr "Auto publish keys" + +#: data/org.gnome.seahorse.gschema.xml:11 +#| msgid "" +#| "Whether or not modified keys should be automatically synced with the " +#| "default key server." +msgid "Whether or not modified keys should be automatically published." +msgstr "Whether or not modified keys should be automatically published." + +#: data/org.gnome.seahorse.gschema.xml:15 +#| msgid "Publish keys to this key server." +msgid "Publish keys to this key server" +msgstr "Publish keys to this key server" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Last key server search pattern" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "The last search pattern searched for against a key server." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Last key servers used" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"The last key server a search was performed against or empty for all key " +"servers." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +#| msgid "Show places sidebar" +msgid "Show keyrings sidebar" +msgstr "Show keyrings sidebar" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +#| msgid "Show sidebar listing keyrings" +msgid "Show keyrings sidebar in Seahorse." +msgstr "Show keyrings sidebar in Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Which items to show" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Width of the side pane" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "The default width of the side pane." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "The keyrings chosen" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "The URIs of the keyrings chosen in the sidebar." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +#| msgid "The column to sort the seahorse keys by" +msgid "The column to sort the Seahorse keys by" +msgstr "The column to sort the Seahorse keys by" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +#| msgid "" +#| "Specify the column to sort the seahorse key manager main window by. " +#| "Columns are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. " +#| "Put a '-' in front of the column name to sort in descending order." +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "הצגת עמודת התוקף" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +#| msgid "Key is no longer used" +msgid "No longer in use." +msgstr "No longer in use." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "הצגת עמודת התפוגה" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +#| msgid "Show owner trust column" +msgid "Show trust column" +msgstr "Show trust column" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "הצגת עמודת הסוג" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +#| msgid "Close this window" +msgid "Width of the window" +msgstr "Width of the window" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Width (in pixels) of the window." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Height of the window" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Height (in pixels) of the window." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "ניהול הססמאות ומפתחות ההצפנה שלך" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "‏Seahorse הוא יישום GNOME לניהול מפתחות מוצפנות." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +#| msgid "" +#| "With seahorse you can create and manage PGP keys, create and manage SSH " +#| "keys, publish and retrieve keys from key servers, cache your passphrase " +#| "so you don't have to keep typing it and backup your keys and keyring." +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"עם Seahorse ניתן ליצור ולנהל מפתחות PGP, ליצור ולנהל מפתחות SSH, לפרסם ולקבל " +"מפתחות משרתי מפתחות, לשמור את מילות הצופן שלך במטמון כדי שלא תצטרך להקליד " +"אותן שוב ושוב ולגבות את המפתחות ואת קבוצות המפתחות שלך." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "מיזם GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "ססמאות ומפתחות" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "קבוצת מפתחות;הצפנה;אבטחה;חתימה;חיבור מוצפן;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "ססמאות, פרטי גישה וסודות אישיים בלבד הנמצאים באחסון" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +#| msgid "Couldn't unlock" +msgid "Couldn’t unlock" +msgstr "לא ניתן לשחרר" + +#: gkr/gkr-item-add.vala:137 +#| msgid "Couldn't add item" +msgid "Couldn’t add item" +msgstr "לא ניתן להוסיף פריט" + +#: gkr/gkr-item-info.vala:30 +#| msgid "Password or secret" +msgid "Password or Secret" +msgstr "ססמה או סוד" + +#: gkr/gkr-item-info.vala:120 +#| msgid "Network Manager secret" +msgid "Network connection secret" +msgstr "סוד חיבור הרשת" + +#: gkr/gkr-item-info.vala:127 +#| msgid "Wrong password" +msgid "Wi-Fi password" +msgstr "ססמת רשת אלחוטית" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "ססמת רשת" + +#: gkr/gkr-item-info.vala:234 +#| msgid "Web Password" +msgid "GNOME Web password" +msgstr "ססמת GNOME Web" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "הססמה של Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "ססמת המסרים המידיים" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "ססמת חשבון המסרים המידיים עבור" + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "הססמה של Telepathy" + +#: gkr/gkr-item-info.vala:362 +#| msgid "Gnome Online Accounts password" +msgid "GNOME Online Accounts password" +msgstr "ססמת החשבונות המקוונים של GNOME" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "שמירת השינויים עבור פריט זה?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "גישה לשיתוף או משאב ברשת" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "גישה לאתר אינטרנט" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "לשחרור מפתח PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "לשחרור מפתח SSH" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "ססמה או נתוני כניסה שמורים" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "פרטי זיהוי ברשת" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "ססמה" + +#: gkr/gkr-item-properties.vala:209 +#| msgid "Couldn't change password." +msgid "Couldn’t change password." +msgstr "לא ניתן לשנות ססמה." + +#: gkr/gkr-item-properties.vala:233 +#| msgid "Couldn't set description." +msgid "Couldn’t set description." +msgstr "לא ניתן לקבוע תיאור." + +#: gkr/gkr-item-properties.vala:260 +#| msgid "Delete the password." +msgid "Error deleting the password." +msgstr "ארעה שגיאה במחיקת הססמה." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "הערה מאוחסנת" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "ססמת קבוצת הססמאות" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "ססמת מפתח ההצפנה" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "ססמת אחסון המפתחות" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "סוג מנהל חיבורי הרשת" + +#: gkr/gkr-item.vala:341 +#, c-format +#| msgid "Are you sure you want to delete the password '%s'?" +msgid "Are you sure you want to delete the password “%s”?" +msgstr "האם אכן ברצונך למחוק את הססמה „%s”?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "האם ברצונך למחוק ססמה אחת?" +msgstr[1] "האם ברצונך למחוק %d ססמאות?" + +#: gkr/gkr-keyring-add.vala:52 +#| msgid "Couldn't add keyring" +msgid "Couldn’t add keyring" +msgstr "לא ניתן להוסיף קבוצת מפתחות" + +#: gkr/gkr-keyring-properties.vala:65 +#| msgid "Unknown Key" +msgid "Unknown date" +msgstr "תאריך לא ידוע" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "קבוצת מפתחות שמשתחררת אוטומטית עם הכניסה" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "קבוצת מפתחות המשמשת לאחסון ססמאות" + +#: gkr/gkr-keyring.vala:200 +#| msgid "Couldn't set default keyring" +msgid "Couldn’t set default keyring" +msgstr "לא ניתן להגדיר את קבוצת המפתחות כבררת המחדל" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +#| msgid "Couldn't change keyring password" +msgid "Couldn’t change keyring password" +msgstr "לא ניתן לשנות את ססמת קבוצת הססמאות" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "ה_גדרה כבררת מחדל" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "ה_חלפת ססמה" + +#: gkr/gkr-keyring.vala:263 +#, c-format +#| msgid "Are you sure you want to delete the password keyring '%s'?" +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "האם אכן ברצונך למחוק את קבוצת הססמאות „%s”?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "מובן לי שכל הפריטים יימחקו לצמיתות." + +#: gkr/gkr-password-entry.vala:35 +#| msgid "Show pass_word" +msgid "Show/Hide password" +msgstr "הצגה/הסתרת ססמה" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "הוספת ססמה" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_קבוצת מפתחות:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_תיאור:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_ססמה:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "הוספה" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +#| msgid "Add Password Keyring" +msgid "Add password keyring" +msgstr "הוספת קבוצת ססמאות" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "נא לבחור שם עבור קבוצת המפתחות החדשה. תוצג בפניך שאלה לססמת השחרור." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "שם קבוצת המפתחות החדשה:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +#| msgid "Key Properties" +msgid "Item Properties" +msgstr "מאפייני פריט" + +#: gkr/seahorse-gkr-item-properties.ui:43 +#| msgid "_Description:" +msgid "Description" +msgstr "תיאור" + +#: gkr/seahorse-gkr-item-properties.ui:86 +#| msgid "_Copy Key" +msgid "Copy" +msgstr "העתקה" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +#| msgid "Use:" +msgid "Use" +msgstr "שימוש" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "סוג" + +#: gkr/seahorse-gkr-item-properties.ui:165 +#| msgid "Server:" +msgid "Server" +msgstr "שרת" + +#: gkr/seahorse-gkr-item-properties.ui:191 +#| msgid "Login:" +msgid "Login" +msgstr "התחברות" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "פרטים" + +#: gkr/seahorse-gkr-item-properties.ui:255 +#| msgid "Delete the password." +msgid "Delete Password" +msgstr "מחיקת הססמה" + +#: gkr/seahorse-gkr-keyring.ui:9 +#| msgid "Keyring Properties" +msgid "Keyring properties" +msgstr "מאפייני קבוצת המפתחות" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "שם" + +#: gkr/seahorse-gkr-keyring.ui:80 +#| msgid "Created" +msgid "Created on" +msgstr "נוצר" + +#: gkr/seahorse-gkr-keyring.ui:110 +#| msgid "Change _Password" +msgid "Change password" +msgstr "שינוי ססמה" + +#: gkr/seahorse-gkr-keyring.ui:117 +#| msgid "_Set as default" +msgid "Set as default" +msgstr "הגדרה כבררת מחדל" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "הצגת דגלים" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "מאפייני תאריך ו/או שעה מוצגים" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "מצב עצל" + +#: libegg/egg-datetime.c:323 +#| msgid "Lazy mode doesn't normalize entered date and time values" +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "מצב עצל אינו מנרמל את ערכי הזמן והתאריך שהוזנו" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "שנה" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "השנה המוצגת" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "חודש" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "החודש המוצג" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "יום" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "היום בחודש שמוצג" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "שעה" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "השעה המוצגת" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "דקה" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "הדקה המוצגת" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "שניה" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "השנייה המוצגת" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "שנה מהגבול התחתון" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "שנה שהיא חלק מגבול התאריכים התחתון" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "שנה מהגבול העליון" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "שנה שהיא חלק מגבול התאריכים העליון" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "חודש מהגבול התחתון" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "חודש שהוא חלק מגבול התאריכים התחתון" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "חודש מהגבול העליון" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "חודש שהוא חלק מגבול התאריכים העליון" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "יום מהגבול התחתון" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "יום בחודש שהוא חלק מגבול התאריכים התחתון" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "יום מהגבול העליון" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "ים בחודש שהוא חלק מגבול התאריכים העליון" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "שעה מהגבול התחתון" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "שעה שהיא חלק מגבול התאריכים התחתון" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "שעה מהגבול העליון" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "שעה שהיא חלק מגבול התאריכים העליון" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "דקה מהגבול התחתון" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "דקה שהיא חלק מגבול התאריכים התחתון" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "דקה מהגבול העליון" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "דקה שהיא חלק מגבול התאריכים העליון" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "שנייה מהגבול התחתון" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "שנייה שהיא חלק מגבול התאריכים התחתון" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "שנייה מהגבול העליון" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "שנייה שהיא חלק מגבול התאריכים העליון" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "תאריך" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "הזנת התאריך ישירות" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "בחר תאריך" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "בחירת התאריך מיומן" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "שעה" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "הזנת השעה ישירות" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "בחירת שעה" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "בחירת השעה מרשימה" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "‏‎%02d:%02d:%02d %s‏" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "‏‎%02d:%02d %s‏" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "לא ניתן להציג עזרה: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "הוספת תת־מפתח ל־%s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "‏DSA (חתימה בלבד)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "אל־גמאל (הצפנה בלבד)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "‏RSA (חתימה בלבד)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "‏RSA (הצפנה בלבד)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +#| msgid "Key _Type:" +msgid "Key _Type" +msgstr "_סוג מפתח" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +#| msgid "Key _Length:" +msgid "Key _Length" +msgstr "_אורך מפתח" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "אורך המפתח" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "תאריך תפוגה" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "לעולם לא _פג" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "האם המפתח לעולם לא פג" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "יצירת תת־מפתח חדש" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "הוספת מזהה המשתמש ל־%s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +#| msgid "Couldn't add user id" +msgid "Couldn’t add user ID" +msgstr "לא ניתן להוסיף את מזהה המשתמש" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "הוספת זיהוי משתמש" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +#| msgid "Full _Name:" +msgid "Full _Name" +msgstr "שם _מלא" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "חייבת להיות מורכבת מ־5 ספרות לכול הפחות" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +#| msgid "_Email Address:" +msgid "_Email Address" +msgstr "כתובת _דוא״ל" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "כתובת דוא״ל אפשרית" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +#| msgid "Key Co_mment:" +msgid "Key Co_mment" +msgstr "הע_רת מפתח" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "הערה לא מחייבת לתיאור המפתח" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "יצירת מזהה משתמש חדש" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "הפענוח נכשל. כנראה שמפתח הפענוח לא קיים." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "הפעולה בוטלה" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "תאריך התפוגה שגוי" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "על תאריך התפוגה להיות בעתיד" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +#| msgid "Couldn't change expiry date" +msgid "Couldn’t change expiry date" +msgstr "לא ניתן לשנות תאריך תפוגה" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "תפוגה: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_לעולם לא פג" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_שינוי" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "מפתחות מרובים" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "מידע מפתח" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "מפתחות PGP מאובטחים היטב" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "מפתחות PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "‏DSA אל־גמאל" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +#| msgid "Couldn't generate PGP key" +msgid "Couldn’t generate PGP key" +msgstr "לא ניתן לייצר מפתח PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "מילת צפון עבור מפתח ה־PGP החדש" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "יש להזין את מילת הצופן עבור המפתח החדש שלך פעמיים." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +#| msgid "" +#| "When creating a key we need to generate a lot of\n" +#| "random data and we need you to help. It's a good\n" +#| "idea to perform some other action like typing on\n" +#| "the keyboard, moving the mouse, using applications.\n" +#| "This gives the system the random data that it needs." +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"בעת יצירת מפתח חדש עלינו לייצר הרבה מידע אקראי\n" +"ולכן אנו זקוקים לעזרתך. כדאי מאוד לבצע כל מיני\n" +"פעולות כגון הקלדה על המקלדת, הזזת העכבר, שימוש\n" +"ביישומים. פעולות אלו מייצרות למערכת את הנתונים\n" +"האקראיים להם היא זקוקה." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "נוצר מפתח" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +#| msgid "Must be at least 5 characters long" +msgid "Name must be at least 5 characters long." +msgstr "השם חייב להיות מורכב מ־5 ספרות לכול הפחות" + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +#| msgid "New PGP Key" +msgid "New PGP key" +msgstr "מפתח PGP חדש" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "מפתח PGP מאפשר לך להצפין דוא״ל או קבצים לאנשים אחרים." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_אפשרויות מפתח מתקדמות" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +#| msgid "_Comment:" +msgid "_Comment" +msgstr "_הערה" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +#| msgid "Encryption _Type:" +msgid "Encryption _Type" +msgstr "_סוג הצפנה" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +#| msgid "Key _Strength (bits):" +msgid "Key _Strength (bits)" +msgstr "_חוזק מפתח (סיביות)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +#| msgid "E_xpiration Date:" +msgid "E_xpiration Date" +msgstr "תאריך _תפוגה" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "_לעולם לא פג" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "_צור" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "יצר מפתח חדש" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "האם למחוק את %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "האם אכן ברצונך למחוק מפתח אחד לצמיתות?" +msgstr[1] "האם אכן ברצונך למחוק %d מפתחות לצמיתות?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "ססמה שגויה" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "זוהי הפעם השלישית שהוקלדה ססמה שגויה. נא לנסות שוב." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "מילת הצופן שגויה." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +#| msgid "Enter new passphrase for '%s'" +msgid "Enter new passphrase for “%s”" +msgstr "נא להזין מילת צופן חדשה עבור „%s”" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +#| msgid "Enter passphrase for '%s'" +msgid "Enter passphrase for “%s”" +msgstr "נא להזין מילת צופן עבור „%s”" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "נא להזין מילת צופן חדשה" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "נא להזין מילת צופן" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "מילת צופן" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "מפתח אחד נטען" +msgstr[1] "%d מפתחות נטענו" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"נתוני המפתח שגויים (חסרים UID). שגיאה זאת נגרמה עקב מחשב ששעונו ממהר או " +"חתימה עצמית חסרה." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "מפתחות GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "‏GnuPG: תיקיית בררת המחדל של קבוצת המפתחות" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +#| msgid "" +#| "The photo is too large\n" +#| "The recommended size for a photo on your key is %d x %d pixels." +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"התמונה גדולה מדי\n" +"הגודל המומלץ לתמונה במפתח שלך היא ‎%d × %d פיקסלים." + +#: pgp/seahorse-gpgme-photos.c:77 +#| msgid "_Don't Resize" +msgid "_Don’t Resize" +msgstr "לא לשנות _גודל" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_שינוי הגודל" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"זהו אינו קובץ תמונה או סוג בלתי מזוהה של קובץ תמונה. כדאי לנסות להשתמש " +"בתמונת JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "כל קובצי התמונות" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "כל קובצי ה־JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "כל הקבצים" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "נא לבחור תמונה להוספה למפתח" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_פתיחה" + +#: pgp/seahorse-gpgme-photos.c:284 +#| msgid "Couldn't prepare photo" +msgid "Couldn’t prepare photo" +msgstr "לא ניתן להכין תמונה" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +#| msgid "Couldn't add photo" +msgid "Couldn’t add photo" +msgstr "לא ניתן להוסיף תמונה" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "לא ניתן לטעון את הקובץ. כנראה שהוא בתצורה שגויה" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "האם להסיר את התמונה הנוכחית מהמפתח?" + +#: pgp/seahorse-gpgme-photos.c:334 +#| msgid "Couldn't delete photo" +msgid "Couldn’t delete photo" +msgstr "לא ניתן למחוק תמונה" + +#: pgp/seahorse-gpgme-revoke.c:72 +#| msgid "Couldn't revoke subkey" +msgid "Couldn’t revoke subkey" +msgstr "לא ניתן לשלול תת־מפתח" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "שלילה: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "אין סיבה" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "אין סיבה לביטול המפתח" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "השתנה" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "המפתח השתנה" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "הוחלף" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "המפתח הוחלף" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "לא בשימוש" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "המפתח כבר אינו בשימוש" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"%s מועמד להתווסף כמורשה שלילה עבור %s. לא ניתן לבטל פעולה זו! האם ברצונך " +"להמשיך?" + +#: pgp/seahorse-gpgme-revoke.c:175 +#| msgid "Couldn't add revoker" +msgid "Couldn’t add revoker" +msgstr "לא ניתן להוסיף מורשה שלילה" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "מובן לי שהמפתח הסודי יימחק לצמיתות." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +#| msgid "" +#| "This key was already signed by\n" +#| "\"%s\"" +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"מפתח זה כבר נחתם על ידי\n" +"„%s“" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +#| msgid "Couldn't sign key" +msgid "Couldn’t sign key" +msgstr "לא ניתן לחתום על המפתח" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "אין מפתחות שמתאימים להצפנה" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "אין לך מפתחות PGP שניתן להשתמש בם כדי לציין את אמינות מפתח זה בעיניך." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "חתימה על המפתח" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "חתימה תציין את העובדה שמפתח זה מהימן ושהוא שייך ל־:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "שם מפתח" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "מהי מידת ההקפדה שנקטת במהלך בדיקת מפתח זה?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "ב_כלל לא" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "ל_עתים" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_בזהירות רבה" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"כלל לא: משמעות הדבר היא שסביר להניח כי המפתח שייך לאדם הטוען לבעלותו, אך " +"הדעה לא ניתנת לאימות או שלא נבדקה." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"לעתים: משמעות הדבר היא שבוצעו אימותים מדי פעם ופעם כדי לוודא שהמפתח בבעלותו " +"של הטוען לבעלותו. לדוגמה, ביכולתך להקריא את טביעת המפתח לבעלים בטלפון. " + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "בזהירות רבה: יש לבחור זאת רק אם ידוע לך בבטחה שמפתח זה מקורי." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"ניתן להשתמש בזיהוי תמונה (כגון תמונת פספורט) המקשה על הזיוף כדי לוודא שהשם " +"במפתח נכון. כדאי לך גם להשתמש בדוא״ל כדי לאמת שכתובת הדוא״ל שייכת לבעלים." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "כיצד אחרים יראו חתימה זו:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_אחרים לא יכולים לראות את החתימה" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "אוכל ל_שלול חתימה זו במועד מאוחר יותר." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "חתימה על המפתח בשם:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_חותם:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_חתימה" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "לא ידוע" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "אל־גמאל" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +#| msgid "Search was not specific enough. Server '%s' found too many keys." +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "החיפוש לא היה מספיק מדויק. השרת „%s” מצא יותר מדי מפתחות." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +#| msgid "Couldn't communicate with server '%s': %s" +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "לא ניתן לתקשר עם השרת „%s”: ‏%s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "שרת מפתחות HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +#| msgid "Couldn't import keys" +msgid "Couldn’t import key: %s" +msgstr "לא ניתן לייבא מפתחות: %s" + +#: pgp/seahorse-keyserver-results.c:66 +#| msgid "Key Imported" +#| msgid_plural "Keys Imported" +msgid "Key import succeeded" +msgstr "מפתח יובא בהצלחה" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "ייבוא" + +#: pgp/seahorse-keyserver-results.c:156 +#| msgid "Couldn't import keys" +msgid "Can’t import key" +msgstr "לא ניתן לייבא מפתחות" + +#: pgp/seahorse-keyserver-results.c:240 +#| msgid "Remote Keys" +msgid "Remote keys" +msgstr "מפתחות מרוחקים" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +#| msgid "Remote Keys Containing '%s'" +msgid "Remote keys containing “%s”" +msgstr "מפתחות מרוחקים שמכילים „%s”" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "החיפוש אחר מפתחות נכשל." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"לחיצה כפולה על מפתח על מנת לבדוק אותו, או לחיצה על כפתור ייבוא על מנת לייבא " +"את המפתח למפתחות המקומיים שלך." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "חיפוש מפתחות מרוחקים" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"פעולה זו תמצא מפתחות של אחרים באינטרנט. ניתן לייבא מפתחות אלה לקבוצת מפתחות " +"מקומית." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_חיפוש מפתחות שמכילים: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "איפה לחפש:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "שרתי מפתחות:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "מפתחות משותפים בסביבתי:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_חיפוש:" + +#: pgp/seahorse-keyserver-sync.c:54 +#| msgid "Couldn't publish keys to server" +msgid "Couldn’t publish keys to server" +msgstr "לא ניתן לפרסם מפתחות לשרת" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +#| msgid "Couldn't retrieve keys from server: %s" +msgid "Couldn’t retrieve keys from server: %s" +msgstr "לא ניתן לקבל מפתחות משרת: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "מפתח אחד נבחר לסנכרון" +msgstr[1] "%d מפתחות נבחרו לסנכרון" + +#: pgp/seahorse-keyserver-sync.c:237 +#| msgid "Synchronizing keys" +msgid "Synchronizing keys…" +msgstr "מסנכרן מפתחות…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "סנכרון מפתחות" + +#: pgp/seahorse-keyserver-sync.ui:52 +#| msgid "" +#| "This will publish the keys in your key ring so they're available for " +#| "others to use. You'll also get any changes others have made since you " +#| "received their keys." +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"פעולה זו תפרסם את המפתחות בקבוצת המפתחות שלך כך שיהיו זמינים לשימושם של " +"אחרים. שינויים שאחרים ביצעו יתקבלו אליך מאחר שקיבלת את מפתחותיהם." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"פעולה זו תקבל כל שינויים שאחרים ביצעו מאז שקיבלת את מפתחותיהם. לא נבחר שרת " +"מפתחות לפרסום כך שמפתחותיך לא יהיו זמינים לאחרים." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_שרתי מפתח" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_סנכרון" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +#| msgid "Couldn't communicate with '%s': %s" +msgid "Couldn’t communicate with %s: %s" +msgstr "לא ניתן לתקשר עם %s: ‏%s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "מתחבר אל: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +#| msgid "Couldn't resolve address: %s" +msgid "Couldn’t resolve address: %s" +msgstr "לא ניתן לפענח את הכתובת: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "כתובת השרת מפוענחת: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "שרת מפתחות LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "מפתחות PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "מפתחות PGP מיועדים להצפנת דוא״ל או קבצים" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(ואחד נוסף)" +msgstr[1] "(ו־%d נוספים)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "מפתח PGP אישי" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "מפתח PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +#| msgid "Couldn't change primary user ID" +msgid "Couldn’t change primary user ID" +msgstr "לא ניתן לשנות את מזהה המשתמש העיקרי" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +#| msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "האם אכן ברצונך למחוק את מזהה המשתמש „%s” לצמיתות?" + +#: pgp/seahorse-pgp-key-properties.c:293 +#| msgid "Couldn't delete user ID" +msgid "Couldn’t delete user ID" +msgstr "לא ניתן למחוק את מזהה המשתמש" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[לא ידוע]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "שם/דוא״ל" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "זיהוי חתימה" + +#: pgp/seahorse-pgp-key-properties.c:578 +#| msgid "Couldn't change primary photo" +msgid "Couldn’t change primary photo" +msgstr "לא ניתן לשנות את התמונה הראשית" + +#: pgp/seahorse-pgp-key-properties.c:738 +#| msgid "Wrong password" +msgid "Error changing password" +msgstr "ארעה שגיאה בשינוי הססמה" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(לא ידוע)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "תוקף מפתח זה פג ב: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +#| msgid "Sign public key" +msgid "%s — Public key" +msgstr "‏%s - מפתח ציבורי" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +#| msgid "Private key" +msgid "%s — Private key" +msgstr "‏%s - מפתח פרטי" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "האם אכן ברצונך למחוק את תת המפתח %d של %s לצמיתות?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +#| msgid "Couldn't delete subkey" +msgid "Couldn’t delete subkey" +msgstr "לא ניתן למחוק תת־מפתח" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "לא ניתן לשנות את המהימנות" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +#| msgid "Couldn't export key" +msgid "Couldn’t export key" +msgstr "לא ניתן לייצא מפתח" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "לעולם לא" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "זיהוי" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "שימוש" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "נוצר" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "תפוגה" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "מצב" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "חוזק" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "בוטל" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "פג תוקף" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "כבוי" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "טוב" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "זיהוי מפתח" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +#| msgid "I trust signatures from '%s' on other keys" +msgid "I trust signatures from “%s” on other keys" +msgstr "אני בוטח בחתימות מ־„%s” במפתחות אחרים" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +#| msgid "" +#| "If you believe that the person that owns this key is '%s', sign " +#| "this key:" +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"אם ישנה סבירות שהבעלים של מפתח זה הם „%s”, ניתן לחתום על מפתח זה:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +#| msgid "" +#| "If you no longer trust that '%s' owns this key, revoke your " +#| "signature:" +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"אם קיים בעיניך חשד ש־„%s” אינו עוד הבעלים של מפתח זה, ניתן לשלול את " +"החתימה שלך:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +#| msgid "_Export Secret Key:" +msgid "Export _secret key" +msgstr "יי_צוא מפתח סודי" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +#| msgid "Export public key" +msgid "Export _public key" +msgstr "ייצוא מפתח _ציבורי" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "מפתח זה נשלל" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "הבעלים של מפתח זה שלל את המפתח. לא ניתן עוד להשתמש בו." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "התוקף של מפתח זה פג" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "הוספת תמונה למפתח זה" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "הסרת התמונה ממפתח זה" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "הפיכת תמונה זו לתמונה הראשית" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "חזרה אל התמונה הקודמת" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "מעבר אל התמונה הבאה" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +#| msgid "Comment:" +msgid "Comment" +msgstr "הערה" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "_שינוי מילת הצופן" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "בעלים" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "שמות וחתימות של המפתחות" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "ראשי" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "חתימה" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "מחיקה" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "הוספת _שם" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "שלילה" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "שמות וחתימות" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "זיהוי מפתח:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "סוג:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "חוזק:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "פרטים טכניים" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "טביעת אצבע:" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "נוצרה:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "תפוגה:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "תאריכים" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "דריסת _מהימנות הבעלים:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +#| msgid "Export to a file" +msgid "_Export to file" +msgstr "_ייצוא לקובץ" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "פעולות" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "תפוגה" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_תת מפתחות" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "באופן גבולי" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "באופן מלא" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "באופן אולטימטיבי" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_שמות אחרים:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "האמון שלך במפתח זה" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "המהימנות שלך מצוינת בלשונית ”פרטים“." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_חתימה על מפתח זה" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_ביטול החתימה" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_אנשים שחתמו על מפתח זה:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "יש להציג אך ו_רק חתימות של אנשים מהימנים בעיני" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "מהימן" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "פרטים טכניים:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "טביעת אצבע:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "תאריכים:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +#| msgid "Indicate Trust:" +msgid "Indicate trust:" +msgstr "ציון מהימנות:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +#| msgid "You _Trust the Owner:" +msgid "You _trust the owner:" +msgstr "הבעלים _מהימנים:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "הצפנה" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "אישור" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "אימות" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "מפתח" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "תת־מפתח %d של %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "הסיבה לשלילת המפתח" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_סיבה:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "תיאור לא מחייב של השלילה" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "שלילת מפתח" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "ש_לילה" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "אין לך מפתחות PGP אישיים אשר יכולים לשמש לחתימה על מסמך או הודעה." + +#: pgp/seahorse-signer.ui:7 +#| msgid "Choose Signer" +msgid "Choose Signing Key" +msgstr "בחר חותם מפתחות" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_חתימה על הודעה עם מפתח:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "מיוצאים נתונים" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "מתקבלים נתונים" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "מיובאים נתונים" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "נשלחים נתונים" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "לא זמין" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "אישור" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "אישורים (בקידוד DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "אישור ומפתח אישיים" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "אישור אישי" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "האם אכן ברצונך למחוק אישור אחד?" +msgstr[1] "האם אכן ברצונך למחוק %d אישורים?" + +#: pkcs11/pkcs11-generate.vala:229 +#| msgid "Couldn't generate private key" +msgid "Couldn’t generate private key" +msgstr "לא ניתן ליצור מפתח פרטי" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "מובן לי כדי מפתח זה יימחק לצמיתות." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "מפתח פרטי ללא שם" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "מפתח פרטיֹ" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "ללא שם" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "ייצוא האישור נכשל" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +#| msgid "Couldn't delete" +msgid "Couldn’t delete" +msgstr "לא ניתן למחוק" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "יצירה" + +#: pkcs11/pkcs11-request.vala:87 +#| msgid "Couldn't create certificate request" +msgid "Couldn’t create certificate request" +msgstr "לא ניתן ליצור בקשת אישור" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "שמירת בקשת האישור" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_שמירה" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "בקשת אישור" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "בקשת PEM מקודדת" + +#: pkcs11/pkcs11-request.vala:147 +#| msgid "Couldn't save certificate request" +msgid "Couldn’t save certificate request" +msgstr "לא ניתן לשמור את בקשת האישור" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "לא ידוע" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "אישורי X.509 וכאלה שקשורים אליהם" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +#| msgid "Private key" +msgid "New private key" +msgstr "מפתח פרטי חדש" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "יצירת מפתח פרטי חדש" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "תווית:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "אוחסן תחת:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_סוג מפתח:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_חוזק מפתח (סיביות):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "מחיקת אישור או מפתח זה" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "ייצוא האישור" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +#| msgid "Request _Certificate" +msgid "Request Certificate" +msgstr "בקשת _אישור" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "יצירת בקשת אישור עבור מפתח זה" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "יצירת קובץ בקשת אישור." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "השם הנפוץ (CN) שהוצב בבקשת האישור." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "שם (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "תורמים:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "גרסת יישום זה" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"ירון שהרבני \n" +"יאיר הרשקוביץ \n" +"יוסף אור בוצ׳קו \n" +"\n" +"מיזם תרגום GNOME לעברית" + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "דף הבית של מיזם Seahorse" + +#: src/import-dialog.vala:30 +#| msgid "Data to be imported:" +msgid "Data to be imported" +msgstr "נתונים לייבוא" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "יי_בוא" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "הייבוא נכשל" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "ייבוא מפתח" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "כל קובצי המפתחות" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "טקסט שהושלך" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "טקסט מלוח הגזירים" + +#: src/key-manager.vala:497 +#| msgid "Couldn't unlock keyring" +msgid "Couldn’t unlock keyring" +msgstr "לא ניתן לשחרר את קבוצת המפתחות" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "שינוי מילת הצופן" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "מילת צופן _חדשה:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "אימות מילת הצופן החדשה" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "_אימות מילת הצופן:" + +#: src/seahorse-key-manager.ui:7 +#| msgid "Find Remote Keys" +msgid "_Find remote keys…" +msgstr "_חיפוש מפתחות מרוחקים…" + +#: src/seahorse-key-manager.ui:12 +#| msgid "_Sync and Publish Keys..." +msgid "_Sync and publish keys…" +msgstr "_סנכרון ופרסם מפתחות…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_העדפות" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "ע_זרה" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_צירופי מקשים" + +#: src/seahorse-key-manager.ui:32 +#| msgid "Passwords and Keys" +msgid "_About Passwords and Keys" +msgstr "_על אודות ססמאות ומפתחות" + +#: src/seahorse-key-manager.ui:40 +#| msgid "Filter" +msgid "Filter items:" +msgstr "מסנן פריטים:" + +#: src/seahorse-key-manager.ui:42 +#| msgid "Show _Personal" +msgid "Show p_ersonal" +msgstr "הצגת _אישי" + +#: src/seahorse-key-manager.ui:47 +#| msgid "Show _Trusted" +msgid "Show _trusted" +msgstr "הצגת _מהימנים" + +#: src/seahorse-key-manager.ui:52 +#| msgid "Show _Any" +msgid "Show an_y" +msgstr "הצגת _כלשהו" + +#: src/seahorse-key-manager.ui:91 +#| msgid "Secure Shell Key" +msgid "Secure Shell key" +msgstr "מפתח SSH" + +#: src/seahorse-key-manager.ui:98 +#| msgid "Used to connect to other computers." +msgid "Used to access other computers" +msgstr "משמש להתחברות למחשבים אחרים" + +#: src/seahorse-key-manager.ui:125 +#| msgid "PGP key" +msgid "GPG key" +msgstr "מפתח GPG" + +#: src/seahorse-key-manager.ui:132 +#| msgid "Used to encrypt email and files" +msgid "Used to encrypt emails and files" +msgstr "משמש להצפנת דוא״ל וקבצים" + +#: src/seahorse-key-manager.ui:159 +#| msgid "Password Keyring" +msgid "Password keyring" +msgstr "קבוצת ססמאות" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "בשימוש לצורך אחסון ססמאות ליישומים ולרשת" + +#: src/seahorse-key-manager.ui:200 +#| msgid "Safely store a password or secret." +msgid "Safely store a password or secret" +msgstr "אחסון בטוח של ססמה או סוד" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "נעשה שימוש לצורך בקשת תעודה" + +#: src/seahorse-key-manager.ui:260 +#| msgid "Import from a file" +msgid "Import from file…" +msgstr "ייבוא מקובץ…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "הוספת מפתח או פריט חדשים" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "חזרה" + +#: src/seahorse-key-manager.ui:402 +#| msgid "Searching for keys on: %s" +msgid "Search for a key or password" +msgstr "חיפוש מפתח או ססמה" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "מסנן" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "נראה כי אוסף זה ריק" + +#: src/seahorse-key-manager.ui:564 +#| msgid "Keyring password" +msgid "Keyring is locked" +msgstr "קבוצת המפתחות נעולה" + +#: src/seahorse-key-manager.ui:574 +#| msgid "_Unlock" +msgid "Unlock" +msgstr "שחרור" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +#| msgid "_Copy Key" +msgid "Copy secret" +msgstr "העתקת מפתח" + +#: src/seahorse-key-manager-widgets.ui:12 +#| msgid "Export" +msgid "Export…" +msgstr "ייצוא…" + +#: src/seahorse-key-manager-widgets.ui:25 +#| msgid "_Properties" +msgid "Properties" +msgstr "מאפיינים" + +#: src/seahorse-key-manager-widgets.ui:29 +#| msgid "Configure Key for _Secure Shell..." +msgid "Configure Key for Secure Shell…" +msgstr "הגדרת מפתח עבור _SSH…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_נעילה" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_שחרור" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "מ_אפיינים" + +#: src/sidebar.vala:432 +#| msgid "Couldn't lock" +msgid "Couldn’t lock" +msgstr "לא ניתן לנעול" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "מעטפת מאובטחת" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "מפתחות המשמשים לחיבור בצורה מאובטחת למחשבים אחרים" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +#| msgid "Are you sure you want to delete the secure shell key '%s'?" +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "האם אכן ברצונך למחוק את מפתח ה־SSH‏ „%s”?" + +#: ssh/deleter.vala:51 +#, c-format +#| msgid "Are you sure you want to delete %d secure shell key?" +#| msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "האם אכן ברצונך למחוק מפתח SSH זה?" +msgstr[1] "האם אכן ברצונך למחוק %u מפתחות SSH?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "מפתחות SSH סודיים" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "מפתחות SSH ציבוריים" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "מפתח SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "אין קובץ מפתח ציבורי הזמין לטובת מפתח זה." + +#: ssh/generate.vala:94 +#| msgid "Couldn't generate Secure Shell key" +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "לא ניתן לטעון מפתח SSH חדש שנוצר" + +#: ssh/generate.vala:98 +#| msgid "Couldn't generate Secure Shell key" +msgid "Couldn’t generate Secure Shell key" +msgstr "לא ניתן ליצור מפתח SSH" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "נוצר מפתח SSH" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "‏1024 סיביות" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "‏256 סיביות" + +#: ssh/key-length-chooser.vala:100 +#| msgid "Unknown Key" +msgid "Unknown key type!" +msgstr "סוג מפתח לא ידוע!" + +#: ssh/key-properties.vala:80 +#| msgid "Unknown Key" +msgid "Unknown type" +msgstr "סוג לא ידוע" + +#: ssh/key-properties.vala:105 +#| msgid "Couldn't rename key." +msgid "Couldn’t rename key." +msgstr "לא ניתן לשנות שם מפתח." + +#: ssh/key-properties.vala:131 +#| msgid "Couldn't change authorization for key." +msgid "Couldn’t change authorization for key." +msgstr "לא ניתן לשנות את אימות המפתח." + +#: ssh/key-properties.vala:147 +#| msgid "Couldn't change passphrase for key." +msgid "Couldn’t change passphrase for key." +msgstr "לא ניתן לשנות את מילת הצופן עבור המפתח." + +#: ssh/key-properties.vala:171 +#| msgid "Delete the key." +msgid "Error deleting the SSH key." +msgstr "ארעה שגיאה במחיקת מפתח SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "מפתח SSH אישי" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "מפתח SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(מפתח SSH לא קריא)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "מפתח SSH" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "ססמת המארח המרוחק" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "נא להזין מילת צופן למפתח" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "מילת צופן עבור מפתח Secure Shell חדש" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "מפתח מיובא: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "המפתח מיובא. נא להזין מילת צופן" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "נא להזין את מילת צופן ה־SSH שלך:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "מילת הצופן הישנה למפתח" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "נא להזין את מילת הצופן הישנה עבור: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "מילת צופן חדשה למפתח" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "נא להזין מילת צופן חדש עבור: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "נא להזין את מילת הצופן החדשה שוב: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "מפתח SSH חדש" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "מפתח Secure Shell‏ (SSH) מאפשר לך להתחבר באופן בטוח למחשבים אחרים." + +#: ssh/seahorse-ssh-generate.ui:78 +#| msgid "_Description:" +msgid "_Description" +msgstr "_תיאור" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "כתובת הדוא״ל שלך או תזכורת למה מיועד המפתח הזה." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"אם ישנו מחשב מולו ברצונך להשתמש במפתח זה, ניתן להגדיר שמחשב זה יזהה את המפתח " +"החדש שלך." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "יצירת מפתח _בלבד" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "י_צירה והגדרה" + +#: ssh/seahorse-ssh-key-properties.ui:15 +#| msgid "Key Properties" +msgid "SSH Key Properties" +msgstr "מאפייני מפתח SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +#| msgid "Name" +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "שם" + +#: ssh/seahorse-ssh-key-properties.ui:87 +#| msgid "Algorithm:" +msgid "Algorithm" +msgstr "אלגוריתם" + +#: ssh/seahorse-ssh-key-properties.ui:114 +#| msgid "Key _Length:" +msgid "Key Length" +msgstr "אורך מפתח" + +#: ssh/seahorse-ssh-key-properties.ui:141 +#| msgid "Location:" +msgid "Location" +msgstr "מיקום" + +#: ssh/seahorse-ssh-key-properties.ui:228 +#| msgid "Public PGP Key" +msgid "Public Key" +msgstr "מפתח ציבורי" + +#: ssh/seahorse-ssh-key-properties.ui:243 +#| msgid "Copy public part of selected keys to the clipboard" +msgid "Copy public key to clipboard" +msgstr "העתקת החלק הציבורי של המפתח ללוח הגזירים" + +#: ssh/seahorse-ssh-key-properties.ui:272 +#| msgid "Remote Keys" +msgid "Remote Access" +msgstr "גישה מרחוק" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "מאפשר גישה מרוחקת למחשב זה" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "יי_צוא" + +#: ssh/seahorse-ssh-key-properties.ui:362 +#| msgid "Delete the key." +msgid "_Delete SSH Key" +msgstr "_מחיקת מפתח SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "הגדרת המחשב לחיבור SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"כדי להשתמש במפתח ה־Secure Shell שלך מול מחשב אחר המשתמש ב־SSH, כבר צריך " +"להיות לך חשבון כניסה למחשב זה." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_כתובת השרת:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "לדוגמה: fileserver.example.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_שם הכניסה:" + +#: ssh/seahorse-ssh-upload.ui:129 +#| msgid "_Set Up" +msgid "Set Up" +msgstr "הגדרה" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "מפתחות OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "אין קובץ מפתח פרטי הזמין למפתח זה." + +#: ssh/upload.vala:67 +#| msgid "Couldn't configure Secure Shell keys on remote computer." +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "לא ניתן להגדיר מפתחות SSH על המחשב המרוחק." + +#: ssh/upload.vala:71 +#| msgid "Configuring Secure Shell Keys..." +msgid "Configuring Secure Shell Keys…" +msgstr "מפתחות SSH מוגדרים…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse הנו יישום מבית GNOME לניהול מפתחות הצפנה. היישום גם משתלב בתוך " +#~ "נוטילוס, gedit ומקומות אחרים הדורשים פעולות הצפנה." + +#~ msgid "_File" +#~ msgstr "_קובץ" + +#~ msgid "E_xport..." +#~ msgstr "יי_צוא..." + +#~ msgid "_Edit" +#~ msgstr "ע_ריכה" + +#~ msgid "Copy to the clipboard" +#~ msgstr "העתקה ללוח הגזירים" + +#~ msgid "Delete selected items" +#~ msgstr "מחיקת הפריטים שנבחרו" + +#~ msgid "Show the properties of this item" +#~ msgstr "הצגת מאפיינים הפריט הזה" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "הצגת מאפייני קבוצת מפתחות זאת" + +#~ msgid "Prefere_nces" +#~ msgstr "ה_עדפות" + +#~ msgid "Change preferences for this program" +#~ msgstr "שינוי העדפות תכנית זאת" + +#~ msgid "_View" +#~ msgstr "_תצוגה" + +#~ msgid "About this program" +#~ msgstr "על אודות תכנית זו" + +#~ msgid "_Contents" +#~ msgstr "_תכנים" + +#~ msgid "Show Seahorse help" +#~ msgstr "הצגת עזרה עבור Seahorse" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "New password keyring" +#~ msgstr "קבוצת ססמאות חדשה" + +#~ msgid "New password..." +#~ msgstr "ססמה חדשה..." + +#~ msgid "Stored Password" +#~ msgstr "ססמה מאוחסנת" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "יישומים לרוב מאחסנים ססמאות חדשות בקבוצת המפתחות כבררת המחדל." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "שינוי ססמת השחרור של קבוצת מפתחות המאחסנת ססמאות" + +#~ msgid "_Show Password" +#~ msgstr "הצגת _ססמה" + +#~ msgid "Name:" +#~ msgstr "שם:" + +#~ msgid "Keyring" +#~ msgstr "קבוצת מפתחות" + +#~ msgid "- System Settings" +#~ msgstr "- הגדרות מערכת" + +#~ msgid "Don't display a window" +#~ msgstr "לא להציג חלון" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "ספק החיפוש טרם נטען" + +#~ msgid "Expiration Date:" +#~ msgstr "תאריך תפוגה:" + +#~ msgid "Couldn't add subkey" +#~ msgstr "לא ניתן להוסיף תת־מפתח" + +#~ msgid "PGP Key" +#~ msgstr "מפתח PGP" + +#~ msgid "Importing keys from key servers" +#~ msgstr "מיובאים מפתחות משרת מפתחות" + +#~ msgid "_Remote" +#~ msgstr "_מרוחק" + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_חיפוש מפתחות מרוחקים..." + +#~ msgid "Search for keys on a key server" +#~ msgstr "חיפוש מפתחות בשרת מפתחות" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "ייבוא המפתחות הנבחרים לקבוצת מפתחות מקומית" + +#~ msgid "Synchronizing keys..." +#~ msgstr "מפתחות מסתנכרנים..." + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "פרסום ו/או סנכרון מפתחותיך עם אלו באופן מקוון." + +#~ msgid "Marginal" +#~ msgstr "גבולי" + +#~ msgid "Full" +#~ msgstr "מלא" + +#~ msgid "Ultimate" +#~ msgstr "אולטימטיבי" + +#~ msgid "Photo " +#~ msgstr "תמונה " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "שם:" + +#~ msgid "Email:" +#~ msgstr "דוא״ל:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "פענוח קבצים והודעות שנשלחו אליך." + +#~ msgid "Private PGP Key" +#~ msgstr "מפתח PGP פרטי" + +#~ msgid "Encrypt files and email to the key's owner" +#~ msgstr "הצפנת קבצים ושליחתם בדוא״ל אל בעלי המפתח" + +#~ msgid "Continue" +#~ msgstr "המשך" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "נא לבחור את סוג ה_פריט שברצונך ליצור:" + +#~ msgid "_New" +#~ msgstr "_חדש" + +#~ msgid "Close this program" +#~ msgstr "סגירת תכנית זו" + +#~ msgid "_New..." +#~ msgstr "_חדש..." + +#~ msgid "_Import..." +#~ msgstr "יי_בוא" + +#~ msgid "Import from the clipboard" +#~ msgstr "ייבוא מלוח הגזירים" + +#~ msgid "By _Keyring" +#~ msgstr "לפי _קבוצת מפתחות" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "הצגת המפתחות, האישורים והססמאות האישיים בלבד" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "הצגת המפתחות, האישורים והססמאות המהימנים בלבד" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "הצגת כל המפתחות, האישורים והססמאות" + +#~ msgid "First time options:" +#~ msgstr "אפשרויות לפעם הראשונה:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "יצירת מפתח חדש משלך: " + +#~ msgid "Import existing keys from a file:" +#~ msgstr "ייבוא מפתחות קיימים מקובץ:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "על מנת להתחיל בהצפנה יש צורך במפתחות." + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "שליחת מפתח SSH ציבורי למכונה אחרת ולאפשר התחברות בעזרת מפתח זה." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "משמש לגישה למחשבים אחרים (לדוגמה: דרך מסוף)" + +#~ msgid "Identifier:" +#~ msgstr "מזהה:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "שם:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "הבעלים של מפתח זה _מורשה להתחבר למחשב זה" + +#~ msgid "This only applies to the %s account." +#~ msgstr "נתונים אלו יהיו בתוקף רק עבור החשבון '%s'." + +#~ msgid "E_xport Complete Key" +#~ msgstr "יי_צוא מפתח שלם" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "פיקוד ה־SSH הסתיים באופן בלתי צפוי." + +#~ msgid "The SSH command failed." +#~ msgstr "פיקוד ה־SSH נכשל." + +#~ msgid "Ssh Key" +#~ msgstr "מפתח SSH" + +#~ msgid "Updating password" +#~ msgstr "הססמה מתעדכנת" + +#~ msgid "_Computer Name:" +#~ msgstr "שם _מחשב:" + +#~ msgid "Password:" +#~ msgstr "ססמה:" + +#~ msgid "Key Servers:" +#~ msgstr "שרתי מפתח:" + +#~ msgid "Never" +#~ msgstr "לעולם לא" + +#~ msgid "Key ID:" +#~ msgstr "זיהוי מפתח:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "שם:" + +#~ msgid "Comment:" +#~ msgstr "הערה:" + +#~ msgid "Use:" +#~ msgstr "שימוש:" + +#~ msgid "Type:" +#~ msgstr "סוג:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "שמות מפתח וחתימות" + +#~ msgid "Dates" +#~ msgstr "תאריכים" + +#~ msgid "Actions" +#~ msgstr "פעולות" + +#~ msgid "Dates:" +#~ msgstr "תאריכים:" + +#~ msgid "Key Name" +#~ msgstr "שם מפתח" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "שם:" + +#~ msgid "Trust" +#~ msgstr "מהימנות" + +#~ msgid "Strength:" +#~ msgstr "חוזק:" + +#~ msgid "Login keyring" +#~ msgstr "קבוצת מפתחות הכניסה" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "הגישה לקבוצת המפתחות נדחתה" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "מנוע קבוצות המפתחות (gnome-keyring) אינו רץ" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "קבוצת המפתחות כבר שוחררה" + +#~ msgid "No such key ring exists" +#~ msgstr "לא קיימת קבוצת מפתחות כזאת" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "לא ניתן לתקשר עם מנוע קבוצות המפתחות" + +#~ msgid "The item already exists" +#~ msgstr "הפריט כבר קיים" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "שגיאה פנימית בגישה ל־gnome-keyring" + +#~ msgid "Algorithms here" +#~ msgstr "אלגוריתמים כאן" + +#~ msgid "Show the properties of this place" +#~ msgstr "הצגת מאפייני המיקום הזה" + +#~ msgid "P_laces" +#~ msgstr "מי_קומים" + +#~ msgid "OpenSSH directory" +#~ msgstr "תיקיית ה־OpenSSH" + +#~ msgid "Couldn't lock keyring" +#~ msgstr "לא ניתן לנעול את קבוצת המפתחות" + +#~ msgid "Couldn't delete keyring" +#~ msgstr "לא ניתן למחוק את קבוצת המפתחות" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "נעילת קבוצת מפתחות המאחסנת ססמאות כך שנדרשת ססמה ראשית כדי לשחרר אותה." + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "" +#~ "שחרור קבוצת מפתחות המאחסנת ססמאות על ידי ססמה ראשית כדי שתהיה זמינה " +#~ "לשימוש." + +#~ msgid "Properties of the keyring." +#~ msgstr "מאפייני קבוצת המפתחות." + +#~ msgid "Lock the password storage keyring." +#~ msgstr "נעילת קבוצת מפתחות אחסון הססמאות." + +#~ msgid "Unlock the password storage keyring." +#~ msgstr "שחרור קבוצת מפתחות אחסון הססמאות." + +#~ msgid "Properties of the password." +#~ msgstr "מאפייני הססמה." + +#~ msgid "_Sign Key..." +#~ msgstr "_חתימה על המפתח..." + +#~ msgid "Properties of the key." +#~ msgstr "מאפייני המפתח." + +#~ msgid "Lock this token" +#~ msgstr "נעילת אסימון זה" + +#~ msgid "Unlock this token" +#~ msgstr "שחרור אסימון זה" + +#~ msgid "Properties of the certificate." +#~ msgstr "מאפייני האישור." + +#~ msgid "Deleting item" +#~ msgid_plural "Deleting items" +#~ msgstr[0] "הפריט במחיקה" +#~ msgstr[1] "הפריטים במחיקה" + +#~ msgid "To do Keyring" +#~ msgstr "קבוצת המפתחות לביצוע" + +#~ msgid "Archive files" +#~ msgstr "קבצי ארכיון" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "כבר קיים קובץ בשם זה.\n" +#~ "\n" +#~ "האם ברצונך להחליף אותו בקובץ חדש?" + +#~ msgid "_Replace" +#~ msgstr "ה_חלפה" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "לא ניתן לייצא מפתח ל־\"%s\"" + +#~ msgid "Exporting keys" +#~ msgstr "מפתחות מיוצאים" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "לא ניתן לקבל מידע משרת המפתחות" + +#~ msgid "Retrieving keys" +#~ msgstr "מתקבלים מפתחות" + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "האם ברצונך למחוק %d מפתחות וזהויות לצמיתות?" + +#~ msgid "Couldn't delete public key" +#~ msgstr "לא ניתן למחוק מפתח ציבורי" + +#~ msgid "Export Complete Key" +#~ msgstr "ייצוא המפתח כולו" + +#~ msgid "Couldn't export key." +#~ msgstr "לא ניתן לייצא את המפתח." + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "האם ברצונך למחוק את האישור '%s'?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "האם ברצונך למחוק אישור אחד?" +#~ msgstr[1] "האם ברצונך למחוק %d אישורים?" + +#~ msgid "Deleting" +#~ msgstr "בהליכי מחיקה" + +#~ msgid "Couldn't delete key" +#~ msgstr "לא ניתן למחוק מפתח" + +#~ msgid "Passwords: %s" +#~ msgstr "ססמאות: %s" + +#~ msgid "Passwords: %s" +#~ msgstr "ססמאות: %s" + +#~ msgid "Create New ..." +#~ msgstr "יצירת חדש..." + +#~ msgid "Selected %d key" +#~ msgid_plural "Selected %d keys" +#~ msgstr[0] "מפתח אחד נבחר" +#~ msgstr[1] "%d מפתחות נבחרו" + +#~ msgid "Importing keys" +#~ msgstr "מייבא מפתחות" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "סוג מפתח לא מזוהה, או תצורת מידע שגויה" + +#~ msgid "Importing Keys" +#~ msgstr "מפתחות מיובאים" + +#~ msgid "T_ypes" +#~ msgstr "_סוגים" + +#~ msgid "_Expiry" +#~ msgstr "_תפוגה" + +#~ msgid "_Trust" +#~ msgstr "_מהימנות" + +#~ msgid "_Validity" +#~ msgstr "_תוקף" + +#~ msgid "Other _Keys" +#~ msgstr "מפתחות _אחרים" + +#~ msgid "Validity" +#~ msgstr "תוקף" + +#~ msgid "_Expand All" +#~ msgstr "ה_רחבת הכול" + +#~ msgid "Expand all listings" +#~ msgstr "הרחבת כל הרשומות" + +#~ msgid "_Collapse All" +#~ msgstr "צמצום ה_כול" + +#~ msgid "Collapse all listings" +#~ msgstr "צמצום כל הרשומות" + +#~ msgid "Copied keys" +#~ msgstr "מפתחות מועתקים" + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "‏%s הוא מפתח פרטי. להמשיך?" + +#~ msgid "_Key Description:" +#~ msgstr "_תיאור מפתח" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "Do not run seahorse-daemon as a daemon" + +#~ msgid "couldn't fork process" +#~ msgstr "couldn't fork process" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "מנוע הצפנה (Seahorse)" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "סוג מפתח לא תקין או לא מוכר: %s" + +#~ msgid "This keytype is not supported: %s" +#~ msgstr "סוג מפתח זה אינו נתמך: %s" + +#~ msgid "Support for this feature was not enabled at build time" +#~ msgstr "התמיכה בתכונה זו לא הופעלה בזמן הידור קוד המקור" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "מפתח לא תקין או לא מוכר: %s" + +#~ msgid "Signed by expired on %s." +#~ msgstr "נחתם על ידי פג ב־%s." + +#~ msgid "Invalid Signature" +#~ msgstr "חתימה לא תקינה" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "נחתם על ידי ב־%s פג." + +#~ msgid "Expired Signature" +#~ msgstr "חתימה לא בתוקף" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "נחתם על ידי נשלל ב־%s." + +#~ msgid "Revoked Signature" +#~ msgstr "חתימה מבוטלת" + +#~ msgid "Signed by on %s." +#~ msgstr "נחתם על ידי ב־%s." + +#~ msgid "Good Signature" +#~ msgstr "חתימה טובה" + +#~ msgid "Signing key not in keyring." +#~ msgstr "מפתח החתימה אינו בקבוצת המפתחות" + +#~ msgid "Unknown Signature" +#~ msgstr "חתימה לא ידועה" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "חתימה לא טובה או מזוייפת. המידע החתום שונה." + +#~ msgid "Bad Signature" +#~ msgstr "חתימה לא טובה" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "חותם לא תקין או לא מוכר: %s" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "המפתח אינו תקף עבור חתימה: %s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "נמען לא תקף או לא מוכר: %s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "המפתח אינו נמען תקף עבור הצפנה: %s" + +#~ msgid "No recipients specified" +#~ msgstr "לא צויינו נמענים" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "סוג מפתח לא תקף עבור פענוח: %s" + +#~ msgid "Please set clearuri" +#~ msgstr "נא להגדיר clearuri" + +#~ msgid "Please set crypturi" +#~ msgstr "נא להגדיר crypturi" + +#~ msgid "Error opening clearuri" +#~ msgstr "שגיאה בפתיחת clearuri" + +#~ msgid "No signer specified" +#~ msgstr "לא צויין חותם" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "סוג מפתח לא תקף עבור וידוא: %s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "מזהה מפתח לא תקף: %s" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." + +#~ msgid "Auto Sync Keys" +#~ msgstr "Auto Sync Keys" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "Controls the visibility of the expires column for the key manager." + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "Controls the visibility of the trust column for the key manager." + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "Controls the visibility of the type column for the key manager." + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "Controls the visibility of the validity column for the key manager." + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "Enable DNS-SD sharing" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." + +#~ msgid "ID of the default key" +#~ msgstr "ID of the default key" + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." + +#~ msgid "Last key used to sign a message." +#~ msgstr "Last key used to sign a message." + +#~ msgid "PGP Key servers" +#~ msgstr "PGP Key servers" + +#~ msgid "Show expires column in key manager" +#~ msgstr "Show expires column in key manager" + +#~ msgid "Show trust column in key manager" +#~ msgstr "Show trust column in key manager" + +#~ msgid "Show type column in key manager" +#~ msgstr "Show type column in key manager" + +#~ msgid "Show validity column in key manager" +#~ msgstr "Show validity column in key manager" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "The ID of the last secret key used to sign a message." + +#~ msgid "The column to sort the recipients by" +#~ msgstr "The column to sort the recipients by" + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "Whether to always encrypt to default key" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "Whether to use ASCII Armor" + +#~ msgid "Couldn't set application access." +#~ msgstr "לא ניתן להגדיר את הגישה ליישום." + +#~ msgid "Path:" +#~ msgstr "נתיב:" + +#~ msgid "Permissions:" +#~ msgstr "הרשאות:" + +#~ msgid "_Read" +#~ msgstr "_קרא" + +#~ msgid "_Write" +#~ msgstr "_כתוב" + +#~ msgctxt "infinitive" +#~ msgid "_Delete" +#~ msgstr "מ_חיקה" + +#~ msgid "Saving item..." +#~ msgstr "שומר פריט..." + +#~ msgid "Listing password keyrings" +#~ msgstr "הצגת קבוצות הססמאות" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "לא נמצאו מפתחות הצפנה שבאמצעותם ניתן לבצע את הפעולה הנדרשת. התכנית " +#~ "ססמאות ומפתחות הצפנה תופעל כעת כדי שתהיה באפשרותך ליצור מפתח או " +#~ "לייבא אחד." + +#~ msgid "All Keys" +#~ msgstr "כל המפתחות" + +#~ msgid "Selected Recipients" +#~ msgstr "הנמענים הנבחרים" + +#~ msgid "Search Results" +#~ msgstr "תוצאות חיפוש" + +#~ msgid "Search _for:" +#~ msgstr "חפש _עבור:" + +#~ msgid "None (Don't Sign)" +#~ msgstr "ללא (אל תחתום)" + +#~ msgid "Sign this message as %s" +#~ msgstr "חתימהעל ההודעה כ־%s" + +#~ msgid "_Sign message as:" +#~ msgstr "_חתימה על ההודעה בתור:" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "File is not a valid .desktop file" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "Unrecognized desktop file Version '%s'" + +#~ msgid "Starting %s" +#~ msgstr "Starting %s" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "Application does not accept documents on command line" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "Unrecognized launch option: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "Can't pass document URIs to a 'Type=Link' desktop entry" + +#~ msgid "Not a launchable item" +#~ msgstr "Not a launchable item" + +#~ msgid "Disable connection to session manager" +#~ msgstr "Disable connection to session manager" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "Specify file containing saved configuration" + +#~ msgid "FILE" +#~ msgstr "FILE" + +#~ msgid "Specify session management ID" +#~ msgstr "Specify session management ID" + +#~ msgid "Session management options:" +#~ msgstr "Session management options:" + +#~ msgid "Show session management options" +#~ msgstr "Show session management options" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "מפתח אחד יובא" +#~ msgstr[1] "%i מפתחות יובאו" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "יובא מפתח עבור" +#~ msgstr[1] "יובאו מפתחות עבור" + +#~ msgid "Notification Messages" +#~ msgstr "הודעות התרעה" + +#~ msgid "Symmetric Key" +#~ msgstr "מפתח סימטרי" + +#~ msgid "Credentials" +#~ msgstr "פרטי זיהוי" + +#~ msgid "Identity" +#~ msgstr "זהות" + +#~ msgid "Progress Title" +#~ msgstr "כותרת התקדמות" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "לא ניתן להריץ את file-roller" + +#~ msgid "Couldn't package files" +#~ msgstr "לא ניתן לארוז קבצים" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "תהליך ה-'file-roller' לא הסתיים בהצלחה" + +#~ msgid "Loading Keys..." +#~ msgstr "מפתחות נטענים..." + +#~ msgid "Uploading keys..." +#~ msgstr "מעלה מפתחות..." + +#~ msgid "Retrieving keys..." +#~ msgstr "מאחזר מפתחות..." + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "מחפש מפתחות שמכילים '%s'..." + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "מחפש עבור מזהה המפתח '%s'..." + +#~ msgid "Retrieving remote keys..." +#~ msgstr "מקבל מפתחות מרוחקים..." + +#~ msgid "Sending keys to key server..." +#~ msgstr "שולח מפתחות לשרת המפתחות..." + +#~ msgid "Invalid" +#~ msgstr "לא תקף" + +#~ msgid "Private Secure Shell Key" +#~ msgstr "מפתח SSH פרטי" + +#~ msgid "Public Secure Shell Key" +#~ msgstr "מפתח SSH ציבורי" + +#~ msgid "Passphrase:" +#~ msgstr "מילת צופן:" + +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "נא להזין מילת צופן עבור מפתח ה־Secure Shell החדש שלך." + +#~ msgid "Couldn't share keys" +#~ msgstr "לא ניתן לשתף מפתחות" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "לא ניתן לפרסם את נתוני הגילוי ברשת." + +#~ msgid "%s's encryption keys" +#~ msgstr "מפתחות ההצפנה של %s" + +#~ msgid "Key Sharing" +#~ msgstr "שיתוף מפתחות" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "שיתוף המפתחות שלך יאפשר לאנשים אחרים ברשת שלך להשתמש במפתחות אותם אספת. " +#~ "משמעות הדבר היה שהם יוכלו להצפין דברים עבורך מבלי ידיעתך וללא צורך בשליחת " +#~ "המפתח שלך אליהם.\n" +#~ "\n" +#~ "לתשומת לבך: לא יתבצע כל שינוי במפתחות האישיים שלך." + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "_שתף את המפתחות שלי עם אחרים ברשת שלי" + +#~ msgid "Create a PGP Key" +#~ msgstr "צור מפתח PGP" + +#~ msgid "Other _Collected Keys" +#~ msgstr "מפתחות _אחרים" + +#~ msgid "_Trusted Keys" +#~ msgstr "מפתחות נ_בטחים" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/nate/.ssh/blah_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" + +#~ msgid "Couldn't get default password keyring" +#~ msgstr "לא ניתן לקבל את קבוצת סיסמאות ברירת המחדל" + +#~ msgid "Couldn't get list of password keyrings" +#~ msgstr "לא ניתן לקבל את רשימת קבוצות הסיסמאות" + +#~ msgid "Couldn't remove keyring" +#~ msgstr "לא ניתן להסיר קבוצת מפתחות" + +#~ msgid "Are you sure you want to permanently delete the '%s' keyring?" +#~ msgstr "להסיר את קבוצת המפתחות '%s'?" + +#~ msgid "Default Keyring" +#~ msgstr "קבוצת מפתחות ברירת המחדל" + +#~ msgid "Password and Encryption Settings" +#~ msgstr "הגדרות סיסמה והצפנה" + +#~ msgid "_Remove Keyring" +#~ msgstr "_הסר קבוצת מפתחות" + +#~ msgid "Unknown Key: %s" +#~ msgstr "מפתח לא ידוע: %s" + +#~ msgid "Unavailable Key" +#~ msgstr "מפתח לא זמין" + +#~ msgid "" +#~ "%s is a private key. Make sure you have a backup. Do you still want to " +#~ "delete it?" +#~ msgstr "‏%s הוא מפתח פרטי. נא לוודא שקיים לו גיבוי. למחוק אותו?" + +#~ msgid "Import keys into your key ring from a file" +#~ msgstr "יבא מפתחות לקבוצת המפתחות שלך מקובץ" + +#~ msgid "User ID" +#~ msgstr "זיהוי משתמש" + +#~ msgid "_Close" +#~ msgstr "_סגור" + +#~ msgid "_Key" +#~ msgstr "_מפתח" + +#~ msgid "_About" +#~ msgstr "_אודות" + +#~ msgid "E_xport Public Key..." +#~ msgstr "י_צא מפתח ציבורי..." + +#~ msgid "_Copy Public Key" +#~ msgstr "הע_תק מפתח ציבורי" + +#~ msgid "Imported %d key" +#~ msgid_plural "Imported %d keys" +#~ msgstr[0] "מפתח אחד יובא" +#~ msgstr[1] "%d מפתחות יובאו" + +#~ msgid "Couldn't read file" +#~ msgstr "לא ניתן לקרוא קובץ" + +#~ msgid "Back up Key Rings to Archive" +#~ msgstr "גבה קבוצות מפתחות לארכיון" + +#~ msgid "_Back up Key Rings..." +#~ msgstr "_גבה את קבוצות המפתחות..." + +#~ msgid "Back up all keys" +#~ msgstr "גבה את כל המפתחות" + +#~ msgid "Set Up Computer for _Secure Shell..." +#~ msgstr "הגדר מחשב עבור _SSH..." + +#~ msgid "Couldn't retrieve key data" +#~ msgstr "לא ניתן לקבל את מידע המפתח" + +#~ msgid "Couldn't write key to file" +#~ msgstr "לא ניתן לכתוב את המפתח לקובץ" + +#~ msgid "Couldn't import keys into key ring" +#~ msgstr "לא ניתן ליבא מפתות לקבוצת המפתחות" + +#~ msgid "Couldn't write keys to file: %s" +#~ msgstr "לא ניתן לכתוב מפתחות לקובץ: %s" + +#~ msgid "Save Remote Keys" +#~ msgstr "שמור מפתחות מרוחקים" + +#~ msgid "No matching keys found" +#~ msgstr "לא נמצאו מפתחות מתאימים" + +#~ msgid "Save Key As..." +#~ msgstr "שמור מפתח בשם..." + +#~ msgid "Save selected keys as a file" +#~ msgstr "בחר את המפתחות שנבחרו לקובץ" + +#~ msgid "You have selected multiple files or folders" +#~ msgstr "בחרת קבצים או ספריות מרובות" + +#~ msgid "" +#~ "Because the files are located remotely, each file will be encrypted " +#~ "separately." +#~ msgstr "מכיוון שהקבצים ממוקמים במיקום מרוחק, כל קובץ יוצפן בנפרד." + +#~ msgid "Encrypt Multiple Files" +#~ msgstr "הצפן קבצים מרובים " + +#~ msgid "Encrypt each file separately" +#~ msgstr "הצפן כל קובץ בנפרד" + +#~ msgid "Package Name:" +#~ msgstr "שם חבילה:" + +#~ msgid "encrypted-package" +#~ msgstr "חבילה-מוצפנת" + +#~ msgid "Remote Encryption Keys" +#~ msgstr "מפתחות הצפנה מרוחקים" + +#~ msgid "I have checked that this key belongs to '%s'" +#~ msgstr "בדקתי שמפתח זה שייך ל-'%s'" + +#~ msgid "PGP Key: %s" +#~ msgstr "מפתח PGP: %s" + +#~ msgid "Cache _Preferences" +#~ msgstr "ה_עדפות מטמון:" + +#~ msgid "_Clear Cache" +#~ msgstr "_נקה את המטמון" + +#~ msgid "Do not daemonize seahorse-agent" +#~ msgstr "Do not daemonize seahorse-agent" + +#~ msgid "Print variables in for a C type shell" +#~ msgstr "Print variables in for a C type shell" + +#~ msgid "Display environment variables (the default)" +#~ msgstr "Display environment variables (the default)" + +#~ msgid "Allow GPG agent request from any display" +#~ msgstr "Allow GPG agent request from any display" + +#~ msgid "command..." +#~ msgstr "command..." + +#~ msgid "Encryption Key Agent (Seahorse)" +#~ msgstr "מנהל מפתחות הצפנה (Seahorse)" + +#~ msgid "no command specified to execute" +#~ msgstr "no command specified to execute" + +#~ msgid "" +#~ "After performing an decrypt or verify operation from the applet, display " +#~ "the resulting text in a window." +#~ msgstr "" +#~ "After performing an decrypt or verify operation from the applet, display " +#~ "the resulting text in a window." + +#~ msgid "" +#~ "After performing an encrypt or signing operation from the applet, display " +#~ "the resulting text in a window." +#~ msgstr "" +#~ "After performing an encrypt or signing operation from the applet, display " +#~ "the resulting text in a window." + +#~ msgid "Display cache reminder in the notification area" +#~ msgstr "Display cache reminder in the notification area" + +#~ msgid "Display clipboard after decrypting" +#~ msgstr "Display clipboard after decrypting" + +#~ msgid "Display clipboard after encrypting" +#~ msgstr "Display clipboard after encrypting" + +#~ msgid "Expire passwords in the cache" +#~ msgstr "Expire passwords in the cache" + +#~ msgid "" +#~ "If set to 'gnome' uses gnome-keyring to cache passwords. When set to " +#~ "'internal' uses internal cache." +#~ msgstr "" +#~ "If set to 'gnome' uses gnome-keyring to cache passwords. When set to " +#~ "'internal' uses internal cache." + +#~ msgid "Prompt before using GPG passwords in cache" +#~ msgstr "Prompt before using GPG passwords in cache" + +#~ msgid "" +#~ "Reflect the contents of the clipboard (whether encrypted, signed, etc...) " +#~ "in the panel applet icon." +#~ msgstr "" +#~ "Reflect the contents of the clipboard (whether encrypted, signed, etc...) " +#~ "in the panel applet icon." + +#, fuzzy +#~ msgid "" +#~ "Set to 'true' to enable display of the cache reminder in the notification " +#~ "area of your panel." +#~ msgstr "" +#~ "Set to 'false' to disable display of the cache reminder in the " +#~ "notification area of your panel." + +#~ msgid "" +#~ "Set to 'true' to have seahorse-agent prompt before giving out passwords " +#~ "it has cached." +#~ msgstr "" +#~ "Set to 'true' to have seahorse-agent prompt before giving out passwords " +#~ "it has cached." + +#~ msgid "Show clipboard state in panel" +#~ msgstr "Show clipboard state in panel" + +#~ msgid "The time (in minutes) to cache GPG passwords" +#~ msgstr "The time (in minutes) to cache GPG passwords" + +#~ msgid "" +#~ "This is the amount of time, specified in minutes, to cache GPG passwords " +#~ "in seahorse-agent." +#~ msgstr "" +#~ "This is the amount of time, specified in minutes, to cache GPG passwords " +#~ "in seahorse-agent." + +#~ msgid "" +#~ "This option enables the GPG password cache in the seahorse-agent program. " +#~ "The 'use-agent' setting in gpg.conf affects this setting." +#~ msgstr "" +#~ "This option enables the GPG password cache in the seahorse-agent program. " +#~ "The 'use-agent' setting in gpg.conf affects this setting." + +#~ msgid "" +#~ "When set, seahorse-agent expires GPG passwords in its cache after a " +#~ "period of time." +#~ msgstr "" +#~ "When set, seahorse-agent expires GPG passwords in its cache after a " +#~ "period of time." + +#~ msgid "Whether the GPG password cache is enabled" +#~ msgstr "Whether the GPG password cache is enabled" + +#~ msgid "Default Key" +#~ msgstr "מפתח ברירת מחדל" + +#~ msgid "Encryption" +#~ msgstr "הצפנה" + +#~ msgid "_Default key:" +#~ msgstr "מפתח _ברירת מחדל:" + +#~ msgid "Encrypt, decrypt or sign the clipboard (uses PGP type encryption)." +#~ msgstr "Encrypt, decrypt or sign the clipboard (uses PGP type encryption)." + +#~ msgid "Seahorse Applet Factory" +#~ msgstr "Seahorse Applet Factory" + +#~ msgid "seahorse-applet" +#~ msgstr "יישומון Seahorse" + +#~ msgid "Encrypted Text" +#~ msgstr "טקסט מוצפן" + +#~ msgid "Encryption Failed" +#~ msgstr "הצפנה נכשלה" + +#~ msgid "Signed Text" +#~ msgstr "טקסט חתום" + +#~ msgid "Signing Failed" +#~ msgstr "חתימה נכשלה" + +#~ msgid "No PGP data found." +#~ msgstr "לא נמצא מידע PGP." + +#~ msgid "Encryption Applet" +#~ msgstr "יישומון הצפנה" + +#~ msgid "_Import Key" +#~ msgstr "_יבא מפתח" + +#~ msgid "Signed text" +#~ msgstr "טקסט חתום" + +#~ msgid "_Encrypt..." +#~ msgstr "_הצפן..." + +#~ msgid "Encrypt the selected text" +#~ msgstr "הצפן את הטקסט הנבחר" + +#~ msgid "Sig_n..." +#~ msgstr "_חתום..." + +#~ msgid "Sign the selected text" +#~ msgstr "חתום על הטקסט הנבחר" + +#~ msgid "Text Encryption" +#~ msgstr "הצפנת טקסט" + +#~ msgid "Encrypt..." +#~ msgstr "הצפן..." + +#, fuzzy +#~ msgid "Encryption and Keyrings" +#~ msgstr "מנהל מפתח הצפנה" + +#~ msgid "file..." +#~ msgstr "קובץ..." + +#~ msgid "Import is complete" +#~ msgstr "הייבוא הסתיים" + +#~ msgid "Importing keys ..." +#~ msgstr "מייבא מפתחות ..." + +#~ msgid "Encrypting" +#~ msgstr "מצפין" + +#~ msgid "Signing" +#~ msgstr "חותם" + +#~ msgid "Decrypting" +#~ msgstr "מפענח" + +#~ msgid "Ace (.ace)" +#~ msgstr "Ace (.ace)" + +#~ msgid "Ar (.ar)" +#~ msgstr "Ar (.ar)" + +#~ msgid "Arj (.arj)" +#~ msgstr "Arj (.arj)" + +#~ msgid "Ear (.ear)" +#~ msgstr "Ear (.ear)" + +#~ msgid "Self-extracting zip (.exe)" +#~ msgstr "‏zip נפתח מעצמו (‎.exe)" + +#~ msgid "Jar (.jar)" +#~ msgstr "Jar (.jar)" + +#~ msgid "Lha (.lzh)" +#~ msgstr "Lha (.lzh)" + +#~ msgid "Rar (.rar)" +#~ msgstr "Rar (.rar)" + +#~ msgid "Tar uncompressed (.tar)" +#~ msgstr "‏Tar מכווץ (‎.tar)" + +#~ msgid "Tar compressed with bzip (.tar.bz)" +#~ msgstr "‏Tar מכווץ עם bzip ‏(‎.tar.bz)" + +#~ msgid "Tar compressed with bzip2 (.tar.bz2)" +#~ msgstr "‏Tar מכווץ עם bzip2 ‏(‎.tar.bz2)" + +#~ msgid "Tar compressed with gzip (.tar.gz)" +#~ msgstr "‏Tar מכווץ עם gzip ‏(‎.tar.gz)" + +#~ msgid "Tar compressed with lzop (.tar.lzo)" +#~ msgstr "‏Tar מכווץ עם lzo ‏(‎.tar.lzo)" + +#~ msgid "Tar compressed with compress (.tar.Z)" +#~ msgstr "‏Tar מכווץ עם כיווץ ‏(‎.tar.Z)" + +#~ msgid "War (.war)" +#~ msgstr "War (.war)" + +#~ msgid "Zip (.zip)" +#~ msgstr "Zip (.zip)" + +#~ msgid "Zoo (.zoo)" +#~ msgstr "Zoo (.zoo)" + +#~ msgid "7-Zip (.7z)" +#~ msgstr "7-Zip (.7z)" + +#~ msgid "You have selected %d file " +#~ msgid_plural "You have selected %d files " +#~ msgstr[0] "בחרת קובץ אחד" +#~ msgstr[1] "בחרת %d קבצים" + +#~ msgid "%s%s" +#~ msgstr "%s%s" + +#~ msgid "Decrypt File" +#~ msgstr "פענח קובץ" + +#~ msgid "" +#~ "Display variables instead of editing conf files (gpg.conf, SSH agent " +#~ "socket)" +#~ msgstr "" +#~ "Display variables instead of editing conf files (gpg.conf, SSH agent " +#~ "socket)" + +#~ msgid "couldn't drop privileges properly" +#~ msgstr "couldn't drop privileges properly" + +#~ msgid "" +#~ "When set seahorse-agent will try to automatically load the users SSH keys " +#~ "when needed. This is equivalent to using the ssh-add utility." +#~ msgstr "" +#~ "When set seahorse-agent will try to automatically load the users SSH keys " +#~ "when needed. This is equivalent to using the ssh-add utility." + +#~ msgid "Whether to automatically load SSH keys on demand." +#~ msgstr "Whether to automatically load SSH keys on demand." diff --git a/po/hi.po b/po/hi.po new file mode 100644 index 00000000..23836fe1 --- /dev/null +++ b/po/hi.po @@ -0,0 +1,3346 @@ +# translation of seahorse.master.po to Hindi +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Rajesh Ranjan , 2007, 2008, 2009. +# Rajesh Ranjan , 2009. +# rajesh , 2012. +# chandankumar , 2013. +msgid "" +msgstr "" +"Project-Id-Version: seahorse.master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2013-01-22 08:46+0000\n" +"PO-Revision-Date: 2013-03-24 19:00+0000\n" +"Last-Translator: chandankumar \n" +"Language-Team: Hindi \n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"X-Generator: Lokalize 1.5\n" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "कूटशब्द कीरिंग जोड़ें" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"कृपया नए कीरिंग के लिए एक नाम चुनें. आपको किसी कूटशब्द को अनलॉक करने के लिए " +"प्रांप्ट किया " +"जाएगा." + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "New Keyring Name:" +msgstr "नया कुंजीरिंग नाम:" + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "सर्वर का मेजबाननाम या पता" + +#: ../gkr/seahorse-gkr-actions.c:81 +msgid "New password keyring" +msgstr "नया कूटशब्द कीरिंग" + +#: ../gkr/seahorse-gkr-actions.c:82 ../gkr/seahorse-gkr-actions.c:89 +msgid "Used to store application and network passwords" +msgstr "अनुप्रयोग और संजाल कूटशब्द के लिए प्रयुक्त" + +#: ../gkr/seahorse-gkr-actions.c:83 +msgid "New password..." +msgstr "नया कूटशब्द..." + +#: ../gkr/seahorse-gkr-actions.c:84 ../gkr/seahorse-gkr-actions.c:91 +msgid "Safely store a password or secret." +msgstr "कूटशब्द सुरक्षित रूप से जमा करें या गुप्त रूप से." + +#: ../gkr/seahorse-gkr-actions.c:88 +msgid "Password Keyring" +msgstr "कूटशब्द कीरिंग" + +#: ../gkr/seahorse-gkr-actions.c:90 +msgid "Stored Password" +msgstr "जमा कूटशब्द" + +#: ../gkr/seahorse-gkr-actions.c:174 +msgid "Couldn't set default keyring" +msgstr "तयशुदा कुंजीरिंग सेट नहीं कर सका." + +#: ../gkr/seahorse-gkr-actions.c:225 ../gkr/seahorse-gkr-actions.c:248 +msgid "Couldn't change keyring password" +msgstr "कुंजीरिंग कूटशब्द बदल नहीं सका." + +#: ../gkr/seahorse-gkr-actions.c:281 +msgid "_Set as default" +msgstr "तयशुदा रूप में सेट करें (_S)" + +#: ../gkr/seahorse-gkr-actions.c:282 +msgid "Applications usually store new passwords in the default keyring." +msgstr "अनुप्रयोग सामान्यतः एक नया कूटशब्द को तयशुदा कीरिंग में जमा करता है." + +#: ../gkr/seahorse-gkr-actions.c:283 +msgid "Change _Password" +msgstr "कूटशब्द बदलें (_P)" + +#: ../gkr/seahorse-gkr-actions.c:284 +msgid "Change the unlock password of the password storage keyring" +msgstr "कूटशब्द भंडारण कीरिंग के अनलॉक कूटशब्द को बदलें" + +#: ../gkr/seahorse-gkr-add-item.c:60 +#| msgid "Couldn't add photo" +msgid "Couldn't add item" +msgstr "मद नहीं जोड़ सकते हैं " + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +msgid "Add Password" +msgstr "कूटशब्द जोड़ें" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "वर्णन (_D):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Password:" +msgstr "कूटशब्द (_P):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Show Password" +msgstr "कूटशब्द दिखाएँ (_S)" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +msgid "_Keyring:" +msgstr "कीरिंग (_K):" + +#: ../gkr/seahorse-gkr-add-keyring.c:72 +msgid "Couldn't add keyring" +msgstr "कीरिंग नहीं जोड़ सका" + +#: ../gkr/seahorse-gkr-backend.c:205 +msgid "Passwords" +msgstr "कूटशब्द" + +#: ../gkr/seahorse-gkr-backend.c:208 +msgid "Stored personal passwords, credentials and secrets" +msgstr "संग्रहित व्यक्तिगत पासवर्ड,श्रेय और राज़" + +#. Translators: This should be the same as the string in empathy +#: ../gkr/seahorse-gkr-item.c:293 +msgid "IM account password for " +msgstr "IM खाता कूटशब्द के लिए" + +#: ../gkr/seahorse-gkr-item.c:353 +#| msgid "Safely store a password or secret." +msgid "Password or secret" +msgstr "कूटशब्द या गुप्त " + +#: ../gkr/seahorse-gkr-item.c:354 +msgid "Network password" +msgstr "नेटवर्क कूटशब्द" + +#: ../gkr/seahorse-gkr-item.c:355 +msgid "Stored note" +msgstr "जमा नोट" + +#: ../gkr/seahorse-gkr-item.c:356 +msgid "Keyring password" +msgstr "कीरिंग कूटशब्द" + +#: ../gkr/seahorse-gkr-item.c:357 +msgid "Encryption key password" +msgstr "गोपन कुंजी कूटशब्द" + +#: ../gkr/seahorse-gkr-item.c:358 +msgid "Key storage password" +msgstr "कुंजी भंडार कूटशब्द" + +#: ../gkr/seahorse-gkr-item.c:359 +msgid "Google Chrome password" +msgstr "गूगल क्रोम कूटशब्द" + +#: ../gkr/seahorse-gkr-item.c:360 +msgid "Gnome Online Accounts password" +msgstr "क्रोम ऑनलाइन खाता कूटशब्द" + +#: ../gkr/seahorse-gkr-item.c:361 +msgid "Telepathy password" +msgstr "टेलीपेथी कूटशब्द" + +#: ../gkr/seahorse-gkr-item.c:362 +msgid "Instant messaging password" +msgstr "तत्काल संदेश कूटशब्द" + +#: ../gkr/seahorse-gkr-item.c:363 +msgid "Network Manager secret" +msgstr "संजाल प्रबंधक गुप्त" + +#: ../gkr/seahorse-gkr-item-deleter.c:80 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "क्या आव वाकई '%s' कूटशब्द को मिटाना चाहते हैं?" + +#: ../gkr/seahorse-gkr-item-deleter.c:83 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "क्या आव वाकई %d कूटशब्द को मिटाना चाहते हैं?" +msgstr[1] "क्या आव वाकई %d कूटशब्दों को मिटाना चाहते हैं?" + +#: ../gkr/seahorse-gkr-item-properties.c:66 +msgid "Access a network share or resource" +msgstr "संजाल साझा या संसाधन की पहुँच लें" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a website" +msgstr "किसी वेबसाइट की पहुँच लें" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Unlocks a PGP key" +msgstr "PGP कुंजी अनलॉक करें" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a Secure Shell key" +msgstr "सिक्योर शेल की खोलें" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Saved password or login" +msgstr "सहेजा कूटशब्द या लॉगिन" + +#: ../gkr/seahorse-gkr-item-properties.c:102 +msgid "Network Credentials" +msgstr "संजाल श्रेय" + +#: ../gkr/seahorse-gkr-item-properties.c:107 +msgid "Password" +msgstr "कूटशब्द" + +#: ../gkr/seahorse-gkr-item-properties.c:216 +msgid "Couldn't change password." +msgstr "कूटशब्द नहीं बदल सका." + +#: ../gkr/seahorse-gkr-item-properties.c:263 +#: ../gkr/seahorse-gkr-item-properties.c:385 +msgid "Updating password" +msgstr "कूटशब्द का अद्यतन" + +#: ../gkr/seahorse-gkr-item-properties.c:346 +msgid "Couldn't set description." +msgstr "विवरण सेट नहीं कर सका." + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "कुंजी गुण" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "प्रयोग:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "प्रकार:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Server:" +msgstr "सर्वरः" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Login:" +msgstr "लॉगिन:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +msgid "Show pass_word" +msgstr "कूटशब्द दिखाएँ (_w)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +#: ../libseahorse/seahorse-passphrase.c:183 ../ssh/seahorse-ssh-askpass.c:99 +msgid "Password:" +msgstr "पासवर्ड: " + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "कुंजी" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +#| msgid "Technical Details:" +msgid "Technical Details:" +msgstr "तकनीकी विवरण: " + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "विवरण" + +#: ../gkr/seahorse-gkr-keyring.c:466 +msgid "A keyring that is automatically unlocked on login" +msgstr "कीरिंग जो स्वतः अनलॉक या लॉगिन" + +#: ../gkr/seahorse-gkr-keyring.c:467 +msgid "A keyring used to store passwords" +msgstr "कूटशब्द जमा करने के लिए प्रयुक्त कीरिंग" + +#: ../gkr/seahorse-gkr-keyring-deleter.c:76 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "क्या आप वाकई '%s' कूटशब्द कीरिंग को मिटाना चाहते हैं?" + +#: ../gkr/seahorse-gkr-keyring-deleter.c:79 +msgid "I understand that all items will be permanently deleted." +msgstr "मैं समझता हूँ कि सभी आइटम स्थायी रूप से हटा दिया जाएगा." + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Keyring Properties" +msgstr "कीरिंग गुण" + +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +msgid "Name:" +msgstr "नाम:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "उत्पन्न किया:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "Keyring" +msgstr "कीरिंग" + +#: ../libegg/egg-datetime.c:317 +msgid "Display flags" +msgstr "प्रदर्शक फ्लैग्स" + +#: ../libegg/egg-datetime.c:318 +msgid "Displayed date and/or time properties" +msgstr "प्रदर्शित दिनांक और/या समय विशेषता" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode" +msgstr "सुस्त विधि" + +#: ../libegg/egg-datetime.c:324 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "दाखिल दिनांक व समय मान को सुस्त मोड सामान्य नहीं करता है" + +#: ../libegg/egg-datetime.c:329 +msgid "Year" +msgstr "वर्ष" + +#: ../libegg/egg-datetime.c:330 +msgid "Displayed year" +msgstr "प्रदर्शित साल" + +#: ../libegg/egg-datetime.c:335 +msgid "Month" +msgstr "महीना" + +#: ../libegg/egg-datetime.c:336 +msgid "Displayed month" +msgstr "प्रदर्शित महीना" + +#: ../libegg/egg-datetime.c:341 +msgid "Day" +msgstr "दिन" + +#: ../libegg/egg-datetime.c:342 +msgid "Displayed day of month" +msgstr "प्रदर्शित दिन का महीना" + +#: ../libegg/egg-datetime.c:347 +msgid "Hour" +msgstr "घंटा" + +#: ../libegg/egg-datetime.c:348 +msgid "Displayed hour" +msgstr "प्रदर्शित घंटा" + +#: ../libegg/egg-datetime.c:353 +msgid "Minute" +msgstr "मिनट" + +#: ../libegg/egg-datetime.c:354 +msgid "Displayed minute" +msgstr "प्रदर्शित मिनट" + +#: ../libegg/egg-datetime.c:359 +msgid "Second" +msgstr "सेकेण्ड" + +#: ../libegg/egg-datetime.c:360 +msgid "Displayed second" +msgstr "प्रदर्शित सेकण्ड" + +#: ../libegg/egg-datetime.c:365 +msgid "Lower limit year" +msgstr "निचला सीमा साल" + +#: ../libegg/egg-datetime.c:366 +msgid "Year part of the lower date limit" +msgstr "निचली तिथि सीमा का साल का हिस्सा" + +#: ../libegg/egg-datetime.c:371 +msgid "Upper limit year" +msgstr "ऊपरी सीमा साल" + +#: ../libegg/egg-datetime.c:372 +msgid "Year part of the upper date limit" +msgstr "ऊपरी तिथि सीमा का साल का हिस्सा" + +#: ../libegg/egg-datetime.c:377 +msgid "Lower limit month" +msgstr "निचला सीमा महीना" + +#: ../libegg/egg-datetime.c:378 +msgid "Month part of the lower date limit" +msgstr "निचली तिथि सीमा का महीने का हिस्सा" + +#: ../libegg/egg-datetime.c:383 +msgid "Upper limit month" +msgstr "ऊपरी सीमा महीना" + +#: ../libegg/egg-datetime.c:384 +msgid "Month part of the upper date limit" +msgstr "ऊपरी तिथि सीमा का महीने का हिस्सा" + +#: ../libegg/egg-datetime.c:389 +msgid "Lower limit day" +msgstr "निचला सीमा दिन" + +#: ../libegg/egg-datetime.c:390 +msgid "Day of month part of the lower date limit" +msgstr "निचली तिथि सीमा का महीने का हिस्सा का दिन" + +#: ../libegg/egg-datetime.c:395 +msgid "Upper limit day" +msgstr "ऊपरी सीमा दिन" + +#: ../libegg/egg-datetime.c:396 +msgid "Day of month part of the upper date limit" +msgstr "ऊपरी तिथि सीमा का महीने का हिस्सा का दिन" + +#: ../libegg/egg-datetime.c:401 +msgid "Lower limit hour" +msgstr "निचला सीमा घंटा" + +#: ../libegg/egg-datetime.c:402 +msgid "Hour part of the lower time limit" +msgstr "निचली तिथि सीमा का घंटे का हिस्सा" + +#: ../libegg/egg-datetime.c:407 +msgid "Upper limit hour" +msgstr "ऊपरी सीमा घंटा" + +#: ../libegg/egg-datetime.c:408 +msgid "Hour part of the upper time limit" +msgstr "ऊपरी तिथि सीमा का घंटे का हिस्सा" + +#: ../libegg/egg-datetime.c:413 +msgid "Lower limit minute" +msgstr "निचला सीमा मिनट" + +#: ../libegg/egg-datetime.c:414 +msgid "Minute part of the lower time limit" +msgstr "निचली समय सीमा का मिनट का हिस्सा" + +#: ../libegg/egg-datetime.c:419 +msgid "Upper limit minute" +msgstr "ऊपरी सीमा मिनट" + +#: ../libegg/egg-datetime.c:420 +msgid "Minute part of the upper time limit" +msgstr "ऊपरी समय सीमा का मिनट का हिस्सा" + +#: ../libegg/egg-datetime.c:425 +msgid "Lower limit second" +msgstr "निचला सीमा सेकण्ड" + +#: ../libegg/egg-datetime.c:426 +msgid "Second part of the lower time limit" +msgstr "निचली समय सीमा का सेकेंड का हिस्सा" + +#: ../libegg/egg-datetime.c:431 +msgid "Upper limit second" +msgstr "ऊपरी सीमा सेकण्ड" + +#: ../libegg/egg-datetime.c:432 +msgid "Second part of the upper time limit" +msgstr "ऊपरी समय सीमा का सेकेंड का हिस्सा" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:474 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:496 +msgid "Date" +msgstr "तिथि" + +#: ../libegg/egg-datetime.c:496 +msgid "Enter the date directly" +msgstr "तिथि सीधे दाखिल करें" + +#: ../libegg/egg-datetime.c:503 +msgid "Select Date" +msgstr "चुनें तिथि" + +#: ../libegg/egg-datetime.c:503 +msgid "Select the date from a calendar" +msgstr "चुनें तिथि कैलेंडर से" + +#: ../libegg/egg-datetime.c:521 ../libegg/egg-datetime.c:2199 +msgid "Time" +msgstr "समय" + +#: ../libegg/egg-datetime.c:521 +msgid "Enter the time directly" +msgstr "प्रविष्ट करें समय सीधे" + +#: ../libegg/egg-datetime.c:528 +msgid "Select Time" +msgstr "चुनें समय" + +#: ../libegg/egg-datetime.c:528 +msgid "Select the time from a list" +msgstr "सूची से समय चुनें" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:793 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:797 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1264 +msgid "AM" +msgstr "पूर्वाह्न" + +#: ../libegg/egg-datetime.c:799 ../libegg/egg-datetime.c:1261 +#: ../libegg/egg-datetime.c:1268 +msgid "PM" +msgstr "अपराह्न" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:807 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:810 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:814 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:817 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1176 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1241 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "आरंभिक अस्थाई मद" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "जोड़ें कुंजी सर्वर" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "कुंजी सर्वर प्रकार:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "होस्टः" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "सर्वर चालू करने के लिए पोर्ट में अभिगम." + +#: ../libseahorse/seahorse-application.c:118 +msgid "Version of this application" +msgstr "इस अनुप्रयोग का संस्करण" + +#: ../libseahorse/seahorse-application.c:124 +msgid "- System Settings" +msgstr "- सिस्टम जमावट" + +#: ../libseahorse/seahorse-catalog.c:88 +msgid "Contributions:" +msgstr "योगदान:" + +#: ../libseahorse/seahorse-catalog.c:112 ../src/seahorse.desktop.in.in.h:1 +#: ../src/seahorse-key-manager.c:659 +msgid "Passwords and Keys" +msgstr "कूटशब्द व कुंजी" + +#: ../libseahorse/seahorse-catalog.c:114 +msgid "translator-credits" +msgstr "राजेश रंजन (rranjan@redhat.com; rajesh672@gmail.com)" + +#: ../libseahorse/seahorse-catalog.c:117 +msgid "Seahorse Project Homepage" +msgstr "सीहोर्स परियोजना मुख पृष्ठ" + +#: ../libseahorse/seahorse-catalog.c:191 +msgid "Cannot delete" +msgstr "मिटा नहीं सकता है" + +#: ../libseahorse/seahorse-catalog.c:239 +#: ../libseahorse/seahorse-key-manager-store.c:443 +msgid "Couldn't export keys" +msgstr "कुंजी निर्यात नहीं कर सका" + +#: ../libseahorse/seahorse-catalog.c:268 +msgid "Couldn't export data" +msgstr "आँकड़ा निर्यात नहीं कर सका" + +#. Top menu items +#: ../libseahorse/seahorse-catalog.c:277 +msgid "_File" +msgstr "फ़ाइल (_F)" + +#: ../libseahorse/seahorse-catalog.c:278 +msgid "E_xport..." +msgstr "निर्यात करें (_x)..." + +#: ../libseahorse/seahorse-catalog.c:279 +msgid "Export to a file" +msgstr "एक फ़ाइल में निर्यात करें" + +#: ../libseahorse/seahorse-catalog.c:280 +msgid "_Edit" +msgstr "संपादन (_E)" + +#: ../libseahorse/seahorse-catalog.c:283 +msgid "Copy to the clipboard" +msgstr "इस क्लिपबोर्ड में नक़ल करें" + +#: ../libseahorse/seahorse-catalog.c:284 +#: ../pkcs11/seahorse-pkcs11-properties.c:233 ../src/seahorse-sidebar.c:959 +msgid "_Delete" +msgstr "मिटाएँ (_D)" + +#: ../libseahorse/seahorse-catalog.c:285 +msgid "Delete selected items" +msgstr "मिटाएँ चयनित वस्तुएँ" + +#: ../libseahorse/seahorse-catalog.c:287 +#| msgid "Show properties" +msgid "Show the properties of this item" +msgstr "इस मद के गुण दिखाएं" + +#: ../libseahorse/seahorse-catalog.c:289 +#| msgid "Show properties" +msgid "Show the properties of this keyring" +msgstr "इस कीरिंग के गुण दिखाएँ" + +#: ../libseahorse/seahorse-catalog.c:290 +msgid "Prefere_nces" +msgstr "वरीयताएँ (_n)" + +#: ../libseahorse/seahorse-catalog.c:291 +msgid "Change preferences for this program" +msgstr "इस प्रोग्राम के लिए वरीयता बदलें" + +#: ../libseahorse/seahorse-catalog.c:292 +msgid "_View" +msgstr "देखें (_V)" + +#: ../libseahorse/seahorse-catalog.c:293 +msgid "_Help" +msgstr "मदद (_H)" + +#: ../libseahorse/seahorse-catalog.c:295 +msgid "About this program" +msgstr "इस प्रोग्राम का परिचय" + +#: ../libseahorse/seahorse-catalog.c:296 +msgid "_Contents" +msgstr "विषय सूची (_C)" + +#: ../libseahorse/seahorse-catalog.c:297 +msgid "Show Seahorse help" +msgstr "दिखाएँ सीहोर्स मदद" + +#: ../libseahorse/seahorse-exportable.c:407 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "निर्यात" + +#: ../libseahorse/seahorse-interaction.c:99 +#, c-format +#| msgid "Enter the old passphrase for: %s" +msgid "Enter PIN or password for: %s" +msgstr "के लिए पिन या कूटशब्द दाखिल करें: %s" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:245 +msgid "Confirm:" +msgstr "संपुष्ट करें:" + +#: ../libseahorse/seahorse-prefs.c:67 +msgid "Not a valid Key Server address." +msgstr "वैध कुंजी सर्वर पता नहीं." + +#: ../libseahorse/seahorse-prefs.c:68 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "मदद के लिए तंत्र प्रशासक से संपर्क करें या कुंजी सर्वर का प्रशासक." + +#: ../libseahorse/seahorse-prefs.c:181 +msgid "URL" +msgstr "यूआरएल" + +#: ../libseahorse/seahorse-prefs.c:351 +msgid "Custom" +msgstr "अनुकूलित" + +#: ../libseahorse/seahorse-prefs.c:404 +msgid "None: Don't publish keys" +msgstr "कुछ नहीं: कुंजी प्रकाशित नहीं करें" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "वरीयताएं" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "कुंजी इसससे ढूँढ़ें (_F):" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "प्रकाशित करें कुंजी:" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "की सर्वर से स्वतः कुंजी पाएँ (_k)" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "की सर्वर से स्वतः रूपांतरित कुंजी तुल्यकालित करें (_m)" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "कुंजी सर्वर" + +#: ../libseahorse/seahorse-util.c:210 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1254 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +#| msgid "Unknown" +msgctxt "Validity" +msgid "Unknown" +msgstr "अज्ञात" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1260 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "कभी नहीं" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +#| msgid "Marginal" +msgctxt "Validity" +msgid "Marginal" +msgstr "आंशिक" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +#| msgid "Full" +msgctxt "Validity" +msgid "Full" +msgstr "भरा हुआ" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +#| msgid "Ultimate" +msgctxt "Validity" +msgid "Ultimate" +msgstr "सर्वश्रेष्ठ" + +#: ../libseahorse/seahorse-validity.c:50 +#| msgid "Disabled" +msgctxt "Validity" +msgid "Disabled" +msgstr "अक्षम" + +#: ../libseahorse/seahorse-validity.c:52 +#| msgid "Revoked" +msgctxt "Validity" +msgid "Revoked" +msgstr "रद्द" + +#: ../libseahorse/seahorse-widget.c:460 +#, c-format +msgid "Could not display help: %s" +msgstr "मदद दिखाई नहीं जा सकी: %s" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "कभी नहीं समाप्त" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "यदि कुंजी कभी समाप्त नहीं होती है" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "कुंजी क़िस्म:" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "कुंजी लंबाई:" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "समय समाप्ति तिथि:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "कुंजी लंबाई" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "नई उपकुंजी उत्पन्न करें" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "जोड़ें उपयोक्ता आईडी" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "कम से कम 5 वर्ण लंबाई जरूर होना चाहिए" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "वैकल्पिक ईमेल पता" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "कुंजी का विवरण देता वैकल्पिक टिप्पणी" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "पूरा नाम:" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "ईमेल पता:" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "कुंजी टिप्पणी:" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "नया उपयोक्ता आईडी बनाएँ" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "कभी नहीं समाप्त" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "कुंजी वापस लें" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "बदलें (_h)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:162 +msgid "Couldn't add subkey" +msgstr "उपकुंजी जोड़ नहीं सका" + +#: ../pgp/seahorse-gpgme-add-subkey.c:181 +#, c-format +msgid "Add subkey to %s" +msgstr "उपकुंजी %s में जोड़ें" + +#: ../pgp/seahorse-gpgme-add-subkey.c:197 ../pgp/seahorse-gpgme-generate.c:134 +msgid "DSA (sign only)" +msgstr "DSA (sign only)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:205 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (encrypt only)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:211 ../pgp/seahorse-gpgme-generate.c:135 +msgid "RSA (sign only)" +msgstr "RSA (sign only)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:217 +msgid "RSA (encrypt only)" +msgstr "RSA (encrypt only)" + +#: ../pgp/seahorse-gpgme-add-uid.c:100 +msgid "Couldn't add user id" +msgstr "उपयोक्ता आईडी नहीं जोड़ सका" + +#: ../pgp/seahorse-gpgme-add-uid.c:122 +#, c-format +msgid "Add user ID to %s" +msgstr "%s में उपयोक्ता आईडी जोड़ें" + +#: ../pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "विगोपन विफल. आपके पास संभवतः विगोपन कुंजी नहीं है." + +#: ../pgp/seahorse-gpgme.c:73 ../pgp/seahorse-hkp-source.c:586 +#: ../ssh/seahorse-ssh-operation.c:194 +msgid "The operation was cancelled" +msgstr "यह ऑपरेशन रद्द कर दी गई थी" + +#: ../pgp/seahorse-gpgme-expires.c:65 +msgid "Invalid expiry date" +msgstr "अवैध समाप्ति तिथि" + +#: ../pgp/seahorse-gpgme-expires.c:66 +msgid "The expiry date must be in the future" +msgstr "समाप्ति तिथि भविष्य में होनी चाहिए" + +#: ../pgp/seahorse-gpgme-expires.c:79 +msgid "Couldn't change expiry date" +msgstr "समाप्ति तिथि नहीं बदल सका" + +#: ../pgp/seahorse-gpgme-expires.c:140 +#, c-format +msgid "Expiry: %s" +msgstr "समाप्ति तिथि: %s" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "बहुमुखी कुंजी" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "कुंजी डाटा" + +#: ../pgp/seahorse-gpgme-exporter.c:114 +#| msgid "Imported keys" +msgid "Armored PGP keys" +msgstr "बख़्तरबंद PGP कुंजी" + +#: ../pgp/seahorse-gpgme-exporter.c:118 +msgid "PGP keys" +msgstr "पीजीपी कुंजी" + +#: ../pgp/seahorse-gpgme-generate.c:95 +msgid "PGP Key" +msgstr "पीजीपी कुंजी" + +#: ../pgp/seahorse-gpgme-generate.c:96 +msgid "Used to encrypt email and files" +msgstr "ईमेल और फाइल गोपित करने में प्रयुक्त" + +#: ../pgp/seahorse-gpgme-generate.c:132 +#: ../pkcs11/seahorse-pkcs11-generate.c:91 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:133 +#| msgid "DSA Elgamal" +msgid "DSA ElGamal" +msgstr "डीएसए ElGamal" + +#: ../pgp/seahorse-gpgme-generate.c:182 +msgid "Couldn't generate PGP key" +msgstr "पीजीपी कुंजी नहीं बना सका" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Passphrase for New PGP Key" +msgstr "नया पीजीपी कुंजी के लिए कूटशब्द" + +#: ../pgp/seahorse-gpgme-generate.c:215 +msgid "Enter the passphrase for your new key twice." +msgstr "अपनी नई कुंजी के लिए कूटशब्द दो बार दाखिल करें" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It's a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"जब एक चाबी बनाने हम यादृच्छिक डेटा का एक बहुत उत्पन्न करने की जरूरत है और\n" +"हम आपकी मदद करने की जरूरत है.यह कीबोर्ड पर टाइप की तरह कुछ अन्य कार्रवाई\n" +"करने के लिए एक अच्छा विचार है, माउस अनुप्रयोगों का उपयोग कर.\n" +"इस प्रणाली यादृच्छिक डेटा की जरूरत है कि यह देता है." + +#: ../pgp/seahorse-gpgme-generate.c:231 +#: ../pkcs11/seahorse-pkcs11-generate.c:459 +msgid "Generating key" +msgstr "कुंजी जनन" + +#: ../pgp/seahorse-gpgme-key-deleter.c:78 +#: ../pgp/seahorse-gpgme-secret-deleter.c:77 +#: ../pkcs11/seahorse-pkcs11-deleter.c:66 +#: ../pkcs11/seahorse-pkcs11-key-deleter.c:81 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "क्या आप %s को स्थाई रूप से मिटाने के लिए निश्चित हैं?" + +#: ../pgp/seahorse-gpgme-key-deleter.c:81 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "क्या आप %d कुंजी को स्थाई रूप से मिटाने के लिए निश्चित हैं?" +msgstr[1] "क्या आप %d कुंजियों को स्थाई रूप से मिटाने के लिए निश्चित हैं?" + +#: ../pgp/seahorse-gpgme-key-op.c:381 +msgid "Wrong password" +msgstr "गलत कूटशब्द" + +#: ../pgp/seahorse-gpgme-key-op.c:381 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "यह तीसरी बार है आप एक गलत पासवर्ड दर्ज किया था. कृपया फिर कोशिश करें." + +#: ../pgp/seahorse-gpgme-keyring.c:91 +#, c-format +msgid "Wrong passphrase." +msgstr "गलत कूटशब्द." + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "'%s' के लिए नया कूटशब्द दाखिल करें" + +#: ../pgp/seahorse-gpgme-keyring.c:97 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "'%s' के लिए कूटशब्द दाखिल करें." + +#: ../pgp/seahorse-gpgme-keyring.c:100 +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "नया कूटशब्द दाखिल करें" + +#: ../pgp/seahorse-gpgme-keyring.c:102 +msgid "Enter passphrase" +msgstr "कूटशब्द दाखिल करें" + +#: ../pgp/seahorse-gpgme-keyring.c:107 +msgid "Passphrase" +msgstr "कूटशब्द" + +#: ../pgp/seahorse-gpgme-keyring.c:308 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d कुंजी लोड किया" +msgstr[1] "%d कुंजियाँ लोड किया" + +#: ../pgp/seahorse-gpgme-keyring.c:655 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"अवैध कुंजी आँकड़ा (अनुपस्थित UID). यह किसी कंप्यूटर के कारण हो सकता है जिसका " +"दिनांक भविष्य " +"में सेट हो या स्व हस्ताक्षर अनुपस्थित हो." + +#: ../pgp/seahorse-gpgme-keyring.c:815 +msgid "GnuPG keys" +msgstr "GnuPG कुंजी" + +#: ../pgp/seahorse-gpgme-keyring.c:818 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: तयशुदा कीरिंग निर्देशिका" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"ये फोटो काफी बड़े होते हैं\n" +"अनुशंसित आकार किसी फोटो के लिए आपकी कुंजी पर है %d x %d पिक्सेल." + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "आकार मत बदलें (_D)" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "आकार बदलें (_R)" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"यह कोई छवि फ़ाइल नहीं है, या कोई अपिरिचित प्रकार की छवि फ़ाइल. JPEG छवि के " +"पकड़े जाने " +"की कोशिश करें." + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "सभी चित्र फाइल" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "सभी JPEG फाइल" + +#: ../pgp/seahorse-gpgme-photos.c:242 ../src/seahorse-key-manager.c:308 +msgid "All files" +msgstr "सभी फ़ाइलें" + +#: ../pgp/seahorse-gpgme-photos.c:263 +msgid "Choose Photo to Add to Key" +msgstr "कुंजी में जोड़ने के लिए फोटो चुनें" + +#: ../pgp/seahorse-gpgme-photos.c:285 +#| msgid "Couldn't add photo" +msgid "Couldn't prepare photo" +msgstr "तस्वीर तैयार नहीं किया जा सका" + +#: ../pgp/seahorse-gpgme-photos.c:295 ../pgp/seahorse-gpgme-photos.c:298 +msgid "Couldn't add photo" +msgstr "फोटो जोड़ नहीं सका" + +#: ../pgp/seahorse-gpgme-photos.c:296 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "फ़ाइल लोड नहीं की जा सकी. यह एक अवैध प्रारूप में हो सकता है" + +#: ../pgp/seahorse-gpgme-photos.c:322 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "" +"क्या आप निश्चित हैं कि आप मौजूदा फोटो को अपनी कुंजी से हटाना चाहते हैं?" + +#: ../pgp/seahorse-gpgme-photos.c:335 +msgid "Couldn't delete photo" +msgstr "फोटो नहीं मिटा सका" + +#: ../pgp/seahorse-gpgme-revoke.c:75 +msgid "Couldn't revoke subkey" +msgstr "उपकुंजी वापस नहीं ले सका" + +#: ../pgp/seahorse-gpgme-revoke.c:96 +#, c-format +msgid "Revoke: %s" +msgstr "वापस लें: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:107 +msgid "No reason" +msgstr "कोई कारण नहीं" + +#: ../pgp/seahorse-gpgme-revoke.c:108 +msgid "No reason for revoking key" +msgstr "कुंजी वापसीक के लिए कोई कारण नहीं" + +#: ../pgp/seahorse-gpgme-revoke.c:114 +msgid "Compromised" +msgstr "भेदा गया" + +#: ../pgp/seahorse-gpgme-revoke.c:115 +msgid "Key has been compromised" +msgstr "कुंजी के साथ छेड़ छाड़ की गई है" + +#: ../pgp/seahorse-gpgme-revoke.c:121 +msgid "Superseded" +msgstr "सुपरसीडेड" + +#: ../pgp/seahorse-gpgme-revoke.c:122 +msgid "Key has been superseded" +msgstr "कुंजी सुपरसीडेड" + +#: ../pgp/seahorse-gpgme-revoke.c:128 +msgid "Not Used" +msgstr "नहीं प्रयुक्त" + +#: ../pgp/seahorse-gpgme-revoke.c:129 +msgid "Key is no longer used" +msgstr "कुंजी अब नहीं प्रयुक्त" + +#: ../pgp/seahorse-gpgme-revoke.c:166 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" + +#: ../pgp/seahorse-gpgme-revoke.c:178 +msgid "Couldn't add revoker" +msgstr "वापस लेने वाला नहीं जोड़ सका" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:82 ../ssh/seahorse-ssh-deleter.c:83 +msgid "I understand that this secret key will be permanently deleted." +msgstr "हम समझते हैं कि यह गुप्त कुंजी स्थायी रूप से हटा दिया जाएगा." + +#: ../pgp/seahorse-gpgme-sign.c:100 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" +"इस कुंजी पहले हस्ताक्षर किए गए थे\n" +"\"%s\" के द्वारा " + +#: ../pgp/seahorse-gpgme-sign.c:105 +msgid "Couldn't sign key" +msgstr "कुंजी हस्ताक्षर नहीं कर सका" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:164 ../pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "हस्ताक्षर के लिए कोई कुंजी प्रयोग के लायक नहीं" + +#: ../pgp/seahorse-gpgme-sign.c:165 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"आपके पास कोई निजी PGP कुंजी नहीं है जो कि इस कुंजी की भरोसे को संकेत देने के " +"लिए प्रयोग की " +"गई है." + +#: ../pgp/seahorse-gpgme-subkey.c:197 +#| msgid "Unknown" +msgctxt "Algorithm" +msgid "Unknown" +msgstr "अज्ञात" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:604 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "खोज विशिष्ट नहीं था. सर्वर '%s' ने कई कुंजियाँ पाई." + +#: ../pgp/seahorse-hkp-source.c:607 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "सर्वर '%s' के साथ संचार नहीं कर सका: %s" + +#: ../pgp/seahorse-hkp-source.c:1127 +msgid "HTTP Key Server" +msgstr "HTTP कुंजी सर्वर" + +#: ../pgp/seahorse-keyserver-results.c:175 +msgid "Couldn't import keys" +msgstr "कुंजी आयात नहीं कर सका" + +#: ../pgp/seahorse-keyserver-results.c:218 +msgid "Importing keys from key servers" +msgstr "कुंजी सर्वर से कुंजी आयात कर रहा है" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:244 ../src/seahorse-key-manager.c:508 +msgid "_Remote" +msgstr "दूरस्थ (_R)" + +#: ../pgp/seahorse-keyserver-results.c:246 +msgid "Close this window" +msgstr "इस विंडो को बन्द करें" + +#: ../pgp/seahorse-keyserver-results.c:250 ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys..." +msgstr "दूरस्थ कुंजियाँ ढूँढ़ें (_F)..." + +#: ../pgp/seahorse-keyserver-results.c:251 ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "कुंजी सर्वर पर कुंजी के लिए खोजें" + +#: ../pgp/seahorse-keyserver-results.c:255 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "आयात करें (_I)" + +#: ../pgp/seahorse-keyserver-results.c:256 +msgid "Import selected keys to local key ring" +msgstr "स्थानीय कुंजी रिंग में चुने कुंजियों को आयात करें" + +#: ../pgp/seahorse-keyserver-results.c:286 +msgid "Remote Keys" +msgstr "रिमोट कुंजी" + +#: ../pgp/seahorse-keyserver-results.c:288 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "दूरस्थ कुंजी जो '%s' समाहित करता है" + +#: ../pgp/seahorse-keyserver-results.c:486 +#| msgid "Searching for keys..." +msgid "The search for keys failed." +msgstr "कुंजी के लिए खोजने में विफल" + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "दूरस्थ कुंजी ढूँढ़ें" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"यह इंटरनेट पर दूसरे के लिए कुंजी को ढूँढ़ेगा. इन कुंजियों को आपके स्थानीय की " +"रिंग में आयातित " +"किया जाएगा." + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "कुंजी के लिए खोजे जो समाहित करता है (_S): " + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +#| msgid "Key Servers" +msgid "Key Servers:" +msgstr "कुंजी सर्वर:" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +#| msgid "Shared Keys Near Me:" +msgid "Shared Keys Near Me:" +msgstr " साझेदारी कुंजी मेरे नजदीक" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "कहाँ खोजना है:" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "ढूंढें (_S)" + +#: ../pgp/seahorse-keyserver-sync.c:57 +msgid "Couldn't publish keys to server" +msgstr "सर्वर में कुंजी प्रकाशित नहीं कर सका" + +#: ../pgp/seahorse-keyserver-sync.c:76 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "सर्वर से कुंजियाँ नहीं पा सका: %s" + +#: ../pgp/seahorse-keyserver-sync.c:160 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d कुंजी तुल्यकालन के लिए चयनित है" +msgstr[1] "%d कुंजियाँ तुल्यकालन के लिए चयनित है" + +#: ../pgp/seahorse-keyserver-sync.c:240 +msgid "Synchronizing keys..." +msgstr "कुंजी सिंक्रोनाइज किया जा रहा है." + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "कुंजी तुल्यकालित करें" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"यह आपके कीरिंग में कुंजियों को प्रकाशित करेगा ताकि वे दूसरे के लिए प्रयोग के " +"लिए उपलब्ध रहे. " +"आप भी किसी परिवर्तन को पाएँगे जिसे दूसरे ने किया है जब आपने उनकी कुंजी पाई है." + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"यह किसी परिवर्तन को प्राप्त करेगा जिसे दूसरे ने किया है जब से आपने उनकी " +"कुंजियों को पाया " +"है. कोई कुंजी सर्वर को नहीं चुना गया है प्रकाशन के लिए, ताकि आपकी कुंजी " +"दूसरों के लिए " +"उपलब्ध नहीं रह पाएँगी." + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "कुंजी सर्वर" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "तुल्यकालित करें (_S)" + +#: ../pgp/seahorse-ldap-source.c:441 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "'%s' से संचार नहीं कर सका: %s" + +#: ../pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Connecting to: %s" +msgstr "इससे कनेक्ट कर रहा है: %s" + +#: ../pgp/seahorse-ldap-source.c:658 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "पता हल नहीं कर सका: %s" + +#: ../pgp/seahorse-ldap-source.c:702 +#, c-format +msgid "Resolving server address: %s" +msgstr "सर्वर पता का हल: %s" + +#: ../pgp/seahorse-ldap-source.c:1447 +msgid "LDAP Key Server" +msgstr "LDAP कुंजी सर्वर" + +#: ../pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys..." +msgstr "तुल्यकालित करें और प्रकाशित करें..." + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "जो ऑनलाइन हैं उनसे अपनी कुंजी प्रकाशित और/या तुल्यकालित करें." + +#: ../pgp/seahorse-pgp-backend.c:172 +msgid "PGP Keys" +msgstr "पीजीपी कुंजी" + +#: ../pgp/seahorse-pgp-backend.c:175 +#| msgid "Used to encrypt email and files" +msgid "PGP keys are for encrypting email or files" +msgstr "PGP कुंजी ईमेल या फ़ाइलों को एन्क्रिप्ट करनेके लिए कर रहे हैं" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "बनाएँ (_r)" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "उत्पन्न करें नया कुंजी" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"कोई PGP कुंजी दूसरे लोगों की ईमेल या फ़ाइलों को गोपित करने की अनुमति देता है." + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "_Comment:" +msgstr "टिप्पणी (_C):" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Ne_ver Expires" +msgstr "कभी समाप्त नहीं होता है" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "गोपन प्रकार:" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "कुंजी ताकत (bits):" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "समाप्ति तिथि:" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +#| msgid "_Advanced key options" +msgid "_Advanced key options" +msgstr " उन्नत कुंजी विकल्प (_A)" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "Personal PGP key" +msgstr "निजी पीजीपी कुंजी" + +#: ../pgp/seahorse-pgp-key.c:355 +msgid "PGP key" +msgstr "पीजीपी कुंजी" + +#: ../pgp/seahorse-pgp-key-properties.c:325 +msgid "Couldn't change primary user ID" +msgstr "प्राथमिक उपयोक्ता आईडी बदल नहीं सका" + +#: ../pgp/seahorse-pgp-key-properties.c:344 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "क्या आप वाकई '%s' उपयोक्ता ID को स्थायी रूप से मिटाना चाहते हैं?" + +#: ../pgp/seahorse-pgp-key-properties.c:354 +msgid "Couldn't delete user ID" +msgstr "उपयोक्ता आईडी मिटा नहीं सका" + +#: ../pgp/seahorse-pgp-key-properties.c:429 +#: ../pgp/seahorse-pgp-key-properties.c:1571 +msgid "[Unknown]" +msgstr "[अज्ञात]" + +#: ../pgp/seahorse-pgp-key-properties.c:538 +#: ../pgp/seahorse-pgp-key-properties.c:1854 +msgid "Name/Email" +msgstr "नाम/ईमेल" + +#: ../pgp/seahorse-pgp-key-properties.c:545 +msgid "Signature ID" +msgstr "हस्ताक्षर आईडी" + +#: ../pgp/seahorse-pgp-key-properties.c:678 +msgid "Couldn't change primary photo" +msgstr "प्रधान फोटो नहीं बदल सका" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:912 +msgid "(unknown)" +msgstr "(अज्ञात)" + +#: ../pgp/seahorse-pgp-key-properties.c:915 +#, c-format +msgid "This key expired on: %s" +msgstr "यह कुंजी समाप्त होता है: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:978 +msgid "Name" +msgstr "नाम" + +#: ../pgp/seahorse-pgp-key-properties.c:1091 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "क्या आप वाकई %d %s की उपकुंजी को स्थाई रूप से मिटाना चाहते हैं?" + +#: ../pgp/seahorse-pgp-key-properties.c:1100 +msgid "Couldn't delete subkey" +msgstr "उपकुंजी नहीं मिटा सका" + +#: ../pgp/seahorse-pgp-key-properties.c:1140 +#: ../pgp/seahorse-pgp-key-properties.c:1545 +msgid "Unable to change trust" +msgstr "ट्रस्ट नहीं बदलने में असमर्थ" + +#: ../pgp/seahorse-pgp-key-properties.c:1153 +#: ../ssh/seahorse-ssh-key-properties.c:202 +msgid "Couldn't export key" +msgstr "कुंजी निर्यात नहीं कर सका." + +#: ../pgp/seahorse-pgp-key-properties.c:1267 +msgid "Marginal" +msgstr "आंशिक" + +#: ../pgp/seahorse-pgp-key-properties.c:1273 +msgid "Full" +msgstr "भरा हुआ" + +#: ../pgp/seahorse-pgp-key-properties.c:1279 +msgid "Ultimate" +msgstr "सर्वश्रेष्ठ" + +#: ../pgp/seahorse-pgp-key-properties.c:1385 +#: ../pgp/seahorse-pgp-key-properties.c:1474 +msgctxt "Expires" +msgid "Never" +msgstr "कभी नहीं" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "ID" +msgstr "आईडी" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Type" +msgstr "प्रकार" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "उत्पन्न किया" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "समाप्त" + +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "स्तर" + +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "ताकत" + +#: ../pgp/seahorse-pgp-key-properties.c:1465 +msgid "Revoked" +msgstr "रद्द" + +#: ../pgp/seahorse-pgp-key-properties.c:1467 +msgid "Expired" +msgstr "मियाद ख़त्म" + +#: ../pgp/seahorse-pgp-key-properties.c:1469 +msgid "Disabled" +msgstr "अक्षम" + +#: ../pgp/seahorse-pgp-key-properties.c:1471 +msgid "Good" +msgstr "अच्छा" + +#: ../pgp/seahorse-pgp-key-properties.c:1857 +msgid "Key ID" +msgstr "कुंजी आईडी" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +#| msgid "This key has been revoked" +msgid "This key has been revoked" +msgstr "यह कुंजी वापस नहीं लिया जा सका" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" +"कुंजी के स्वामी ने कुंजी को वापस ले लिया. यह अब प्रयोग नहीं किया जा सकता है." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +#| msgid "This key has expired" +msgid "This key has expired" +msgstr "इस कुंजी का समय समाप्त हो गया" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "इस कुंजी में एक फोटो जोड़ें" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "इस कुंजी से फोटो हटाएँ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "इस फोटो को प्राथमिक फोटो बनाएँ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "पिछले फोटो में जाएँ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "अगले फोटो में जाएँ" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +#| msgid "Photo " +msgid "Photo " +msgstr "फोटो " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "कुंजी आईडी:" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +#| msgid "Name:" +msgctxt "name-of-key" +msgid "Name:" +msgstr "नाम:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +#| msgid "Email:" +msgid "Email:" +msgstr "ईमेलः" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +#| msgid "_Comment:" +msgid "Comment:" +msgstr "टिप्पणीः" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "फ़ाइलों व ईमेल जो आपकी भेजी गई हैं विगोपित करें." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "निजी पीजीपी कुंजी" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "बदलें कूटशब्द" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "मालिक" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +#| msgid "Names and Signatures" +msgid "Key Names and Signatures" +msgstr "कुंजी नाम और हस्ताक्षर" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "प्राथमिक" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +msgid "Sign" +msgstr "हस्ताक्षर करें" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "मिटाएँ" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "जोड़ें नाम" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "वापस लें" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "नाम और हस्ताक्षर" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "सामर्थ्य:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +#| msgid "Technical Details" +msgid "Technical Details" +msgstr "तकनीकी विवरण" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +#| msgid "Fingerprint" +msgid "Fingerprint" +msgstr "फिंगरप्रिंट" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "खत्म होगाः" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +#| msgid "Date" +msgid "Dates" +msgstr "तिथियाँ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "Override Owner _Trust:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Complete Key:" +msgstr "निर्यात पूर्ण कुंजी:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +#| msgid "Applications" +msgid "Actions" +msgstr "क्रियाएं" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "जोड़ें" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "समाप्त" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +#| msgid "_Subkeys" +msgid "_Subkeys" +msgstr "उपकुंजी (_S)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +#| msgid "Marginally" +msgctxt "Validity" +msgid "Marginally" +msgstr "आंशिक " + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +#| msgid "Fully" +msgctxt "Validity" +msgid "Fully" +msgstr "पूर्णतः " + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +#| msgid "Ultimately" +msgctxt "Validity" +msgid "Ultimately" +msgstr "सर्वश्रेष्ठ " + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +#| msgid "Encrypt files and email to the key's owner " +msgid "Encrypt files and email to the key's owner" +msgstr "कुंजी के स्वामी को ईमेल और फ़ाइलें गोपित करें " + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "सार्वजनिक पीजीपी कुंजी" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +#| msgid "_Other Names:" +msgid "_Other Names:" +msgstr "अन्य नाम (_O):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +#| msgid "Your trust of this key" +msgid "Your trust of this key" +msgstr "इस कुंजी पर आपका विश्वास" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "आपका ट्रस्ट दस्ती रूप से Details टैब पर निर्दिष्ट है." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "मैं '%s' से दूसरी कुंजियों पर हस्ताक्षर पर भरोसा करता हूँ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" +"यदि आप भरोसा करते हैं कि व्यक्ति जो कि इस कुंजी का स्वामी है वह है '%s', इस " +"कुंजी के लिए " +"हस्ताक्षर करें :" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "यह कुंजी हस्ताक्षर करें (_S)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" +"यदि आप अब भरोसा नहीं करते हैं कि '%s' ने इस कुंजी को स्वामित्व में लिया है, " +"अपने हस्ताक्षर " +"को वापस लें:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "हस्ताक्षर वापस लें" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +#| msgid "_People who have signed this key:" +msgid "_People who have signed this key:" +msgstr "लोग जिन्होंने इस कुंजी को हस्ताक्षर किया है (_P):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "केवल उन लोगों का हस्ताक्षर दिखाएँ जिसपर मैं भरोसा करता है (_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "ट्रस्ट" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +#| msgid "Fingerprint:" +msgid "Fingerprint:" +msgstr "फ़िंगरप्रिंट:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +#| msgid "Date" +msgid "Dates:" +msgstr "तिथियाँ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +#| msgid "Indicate Trust:" +msgid "Indicate Trust:" +msgstr "ट्रस्ट संकेत करें:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "आप स्वामी पर ट्रस्ट करते हैं (_T):" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "%d उपकुंजी %s का" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "कुंजी वापसी के कारण" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "कारण (_R):" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "वापसी के अनुकूलतम विवरण" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "वापस करें (_v)" + +#: ../pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"आपके पास कोई निजी PGP कुंजी नहीं है जो किसी दस्तावेज या संदेश को हस्ताक्षर " +"करने के लिए " +"प्रयोग की जाती है." + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "कुंजी के साथ संदेश हस्ताक्षर करें:" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "हस्ताक्षर कुंजी" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "इसे हस्ताक्षर करके आप अपना भरोसा बताते हैं कि यह कुंजी इसका हिस्सा है:" + +#: ../pgp/seahorse-sign.xml.h:3 +#| msgid "Key Name" +msgid "Key Name" +msgstr "कुंजी नाम" + +#: ../pgp/seahorse-sign.xml.h:4 +#| msgid "How carefully have you checked this key?" +msgid "How carefully have you checked this key?" +msgstr "कितनी सावधानी से आपने इस कुंजी जाँचा है?" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "सब नहीं (_N)" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "आराम से (_C)" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "बहुत ध्यान से (_V)" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"बिलकुल नहीं: का अर्थ है कि आप मानते हैं कि कुंजी उस व्यक्ति के द्वारा " +"स्वामित्व में है " +"जो इसका दावा करता है, लेकिन आप इसकी जाँच नहीं कर सके या नहीं किया." + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"कैजुअली: का अर्थ है कि आपने लापरवाही से जाँच की है कि कुंजी उसके " +"द्वारा स्वामित्व में " +"है जो इसके स्वामी होवे ता दावा करता है. उदाहरण के लिए, आप फोन पर कुंजी " +"फिंगरप्रिंट को " +"पढ़ सकते हैं. " + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"बहुत सावधानी से: इसे केवल तभी चुनें जब आप पूरी तरह से निश्चित हैं कि " +"यह कुंजी सही है." + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"आप इसका प्रयोग फोटो पहचान के लिए कर सकते हैं (जैसे कि पासपोर्ट) व्यक्तिगत रूप " +"से जाँचने के " +"लिए कि कुंजी का नाम सही है. आपको जरूर ईमेल को प्रयोग करना चाहिए जो ईमेल पता " +"स्वामी " +"का अवयव है." + +#: ../pgp/seahorse-sign.xml.h:12 +#| msgid "How others will see this signature:" +msgid "How others will see this signature:" +msgstr "कैसे दूसरे इन हस्ताक्षर को देख पाएँगे:" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "अन्य हस्ताक्षर नहीं देख सकते हैं (_O)" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "मैं इस हस्ताक्षर को बाद के दिनों में वापस ले सकता हूँ (_r)" + +#: ../pgp/seahorse-sign.xml.h:15 +#| msgid "Sign key as:" +msgid "Sign key as:" +msgstr "कुंजी इस रूप में हस्ताक्षर करें:" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "हस्ताक्षरकर्ता (_S):" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "हस्ताक्षर" + +#: ../pgp/seahorse-transfer.c:237 ../pgp/seahorse-transfer.c:284 +msgid "Exporting data" +msgstr "आँकड़ा निर्यात किया जा रहा है" + +#: ../pgp/seahorse-transfer.c:237 ../pgp/seahorse-transfer.c:284 +msgid "Retrieving data" +msgstr "आँकड़ा प्राप्त कर रहा है" + +#: ../pgp/seahorse-transfer.c:240 ../pgp/seahorse-transfer.c:287 +msgid "Importing data" +msgstr "महत्वपूर्ण आँकड़ा" + +#: ../pgp/seahorse-transfer.c:240 ../pgp/seahorse-transfer.c:287 +msgid "Sending data" +msgstr "आँकड़ा भेज रहा है" + +#: ../pgp/seahorse-unknown.c:61 +msgid "Unavailable" +msgstr "अनुपलब्ध" + +#: ../pkcs11/seahorse-certificate.c:434 +#| msgid "Generate a new key" +msgid "Personal certificate and key" +msgstr "व्यक्तिगत प्रमाणपत्र और कुंजी" + +#: ../pkcs11/seahorse-certificate.c:437 +msgid "Personal certificate" +msgstr "निजी प्रमाणपत्र" + +#: ../pkcs11/seahorse-certificate.c:439 +#: ../pkcs11/seahorse-certificate-der-exporter.c:77 +msgid "Certificate" +msgstr "प्रमाणपत्र" + +#: ../pkcs11/seahorse-certificate-der-exporter.c:99 +msgid "Certificates (DER encoded)" +msgstr "प्रमाणपत्र (DER एन्कोडेड)" + +#: ../pkcs11/seahorse-pkcs11-backend.c:183 +msgid "Certificates" +msgstr "प्रमाणपत्र" + +#: ../pkcs11/seahorse-pkcs11-backend.c:186 +msgid "X.509 certificates and related keys" +msgstr "X.509 प्रमाण पत्र और संबंधित कुंजी" + +#: ../pkcs11/seahorse-pkcs11-deleter.c:69 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "क्या आप %d प्रमाणपत्र को स्थाई रूप से मिटाने के लिए निश्चित हैं?" +msgstr[1] "क्या आप %d प्रमाणपत्र को स्थाई रूप से मिटाने के लिए निश्चित हैं?" + +#: ../pkcs11/seahorse-pkcs11-generate.c:114 +msgid "Couldn't generate private key" +msgstr "निजी कुंजी नहीं बना सका" + +#: ../pkcs11/seahorse-pkcs11-generate.c:413 +#: ../pkcs11/seahorse-pkcs11-request.c:255 +msgid "Create" +msgstr "बनायें" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +#: ../pkcs11/seahorse-private-key.c:178 +msgid "Private key" +msgstr "निजी कुंजी" + +#: ../pkcs11/seahorse-pkcs11-generate.c:507 +msgid "Used to request a certificate" +msgstr "एक प्रमाण पत्र प्राप्त करने का अनुरोध करने के लिए किया जाता है" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +#| msgid "Create a new key or item" +msgid "Create a new private key" +msgstr "एक नया निजी कुंजी बनाएँ" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "लेबल:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +#| msgid "Stored Password" +msgid "Stored at:" +msgstr "में संग्रहीत:" + +#: ../pkcs11/seahorse-pkcs11-key-deleter.c:85 +msgid "I understand that this key will be permanently deleted." +msgstr "हम समझते हैं कि इस कुंजी को स्थायी रूप से हटा दिया जाएगा." + +#: ../pkcs11/seahorse-pkcs11-properties.c:147 +#: ../pkcs11/seahorse-pkcs11-properties.c:151 +msgid "Unnamed" +msgstr "बेनाम" + +#: ../pkcs11/seahorse-pkcs11-properties.c:175 +msgid "Failed to export certificate" +msgstr "प्रमाणपत्र निर्यात करने में विफल" + +#: ../pkcs11/seahorse-pkcs11-properties.c:190 ../src/seahorse-sidebar.c:877 +msgid "Couldn't delete" +msgstr "मिटा नहीं सका" + +#: ../pkcs11/seahorse-pkcs11-properties.c:231 +msgid "_Export" +msgstr "निर्यात करें (_E)" + +#: ../pkcs11/seahorse-pkcs11-properties.c:232 +#| msgid "Export to a file" +msgid "Export the certificate" +msgstr "प्रमाणपत्र निर्यात करें " + +#: ../pkcs11/seahorse-pkcs11-properties.c:234 +msgid "Delete this certificate or key" +msgstr "इस प्रमाणपत्र या कुंजी मिटाएँ" + +#: ../pkcs11/seahorse-pkcs11-properties.c:235 +msgid "Request _Certificate" +msgstr "आग्रह प्रमाणपत्र (_C)" + +#: ../pkcs11/seahorse-pkcs11-properties.c:236 +#| msgid "No private key file is available for this key." +msgid "Create a certificate request file for this key" +msgstr "इस कुंजी के लिए एक प्रमाणपत्र अनुरोध फ़ाइल बनाएँ" + +#: ../pkcs11/seahorse-pkcs11-request.c:103 +#| msgid "Couldn't verify signature." +msgid "Couldn't save certificate request" +msgstr "प्रमाणपत्र अनुरोध को बचाने के लिए नहीं किया जा सका" + +#: ../pkcs11/seahorse-pkcs11-request.c:126 +msgid "Save certificate request" +msgstr "प्रमाणपत्र अनुरोध सहेजें" + +#: ../pkcs11/seahorse-pkcs11-request.c:137 +msgid "Certificate request" +msgstr "प्रमाणपत्र निवेदन" + +#: ../pkcs11/seahorse-pkcs11-request.c:145 +msgid "PEM encoded request" +msgstr "PEM एन्कोडेड अनुरोध" + +#: ../pkcs11/seahorse-pkcs11-request.c:193 +#| msgid "couldn't create new process group" +msgid "Couldn't create certificate request" +msgstr "प्रमाणपत्र अनुरोध बनाने के लिए नहीं किया जा सका" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "एक प्रमाणपत्र अनुरोध फ़ाइल बनाएँ." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "आम नाम (CN) प्रमाणपत्र अनुरोध में रखा." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "नाम (CN):" + +#: ../pkcs11/seahorse-private-key.c:131 +msgid "Unnamed private key" +msgstr "बेनाम निजी कुंजी" + +#: ../pkcs11/seahorse-token.c:576 +#| msgid "Unknown" +msgctxt "Label" +msgid "Unknown" +msgstr "अज्ञात" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "बदलें कूटशब्द" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "नया कूटशब्द:" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "नया कूटशब्द की पुष्टि करें" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "कूटशब्द की पुष्टि करें:" + +#: ../src/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "अपना कूटशब्द और गोपन कुंजी प्रबंधित करें" + +#: ../src/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "कीरिंग; एन्क्रिप्शन; सुरक्षा; हस्ताक्षर; ssh;" + +#: ../src/seahorse-generate-select.c:229 +msgid "Continue" +msgstr "जारी रखें" + +#: ../src/seahorse-generate-select.xml.h:1 +#| msgid "_Select the type of item to create:" +msgid "_Select the type of item to create:" +msgstr "बनाने के लिए मद का प्रकार चुनें (_S):" + +#: ../src/seahorse-import-dialog.c:98 +msgid "Import failed" +msgstr "आयात विफल" + +#: ../src/seahorse-import-dialog.c:116 +msgid "Import" +msgstr "आयात" + +#: ../src/seahorse-import-dialog.c:129 +#| msgid "Dates:" +msgid "Data to be imported:" +msgstr "तिथि आयात किया जाना हैं" + +#: ../src/seahorse-key-manager.c:262 ../ssh/seahorse-ssh-operation.c:845 +msgid "Import Key" +msgstr "कुंजी आयात करें" + +#: ../src/seahorse-key-manager.c:274 +msgid "All key files" +msgstr "सभी कुंजी फाइल" + +#: ../src/seahorse-key-manager.c:375 +msgid "Dropped text" +msgstr "पाठ को छोड़ा" + +#: ../src/seahorse-key-manager.c:398 +msgid "Clipboard text" +msgstr "क्लिपबोर्ड पाठ" + +#: ../src/seahorse-key-manager.c:509 +msgid "_New" +msgstr "नया (_N)" + +#: ../src/seahorse-key-manager.c:511 +msgid "Close this program" +msgstr "यह प्रोग्राम बंद करें" + +#: ../src/seahorse-key-manager.c:512 ../src/seahorse-key-manager.c:514 +msgid "_New..." +msgstr "नया (_N)..." + +#: ../src/seahorse-key-manager.c:513 +msgid "Create a new key or item" +msgstr "नई कुंजी या मद बनाएँ" + +#: ../src/seahorse-key-manager.c:515 +#| msgid "Create a new key or item" +msgid "Add a new key or item" +msgstr "नई कुंजी या मद बनाएँ " + +#: ../src/seahorse-key-manager.c:516 +msgid "_Import..." +msgstr "आयात करें (_I)..." + +#: ../src/seahorse-key-manager.c:517 +msgid "Import from a file" +msgstr "किसी फाइल से आयात करें" + +#: ../src/seahorse-key-manager.c:519 +msgid "Import from the clipboard" +msgstr "किसी क्लिपबोर्ड से आयात करें" + +#: ../src/seahorse-key-manager.c:523 +msgid "By _keyring" +msgstr "कीरिंग के अनुसार (_k)" + +#: ../src/seahorse-key-manager.c:524 +msgid "Show sidebar listing keyrings" +msgstr "साइडबार सूचीकरण घटक सक्रिय दिखाएँ" + +#: ../src/seahorse-key-manager.c:528 +#| msgid "Show properties" +msgid "Show _personal" +msgstr "निजी दिखाएँ (_p)" + +#: ../src/seahorse-key-manager.c:529 +msgid "Only show personal keys, certificates and passwords" +msgstr "केवल व्यक्तिगत चाबियाँ, प्रमाण पत्र और पासवर्ड दिखाएं" + +#: ../src/seahorse-key-manager.c:530 +msgid "Show _trusted" +msgstr "विश्वसनीय दिखाएँ (_t)" + +#: ../src/seahorse-key-manager.c:531 +msgid "Only show trusted keys, certificates and passwords" +msgstr "केवल विश्वसनीय कुंजियों प्रमाण पत्र और पासवर्ड दिखाएं" + +#: ../src/seahorse-key-manager.c:532 +msgid "Show _any" +msgstr "किसी को भी दिखाएँ (_a)" + +#: ../src/seahorse-key-manager.c:533 +msgid "Show all keys, certificates and passwords" +msgstr "सभी चाबियाँ, प्रमाण पत्र, और पासवर्ड दिखाएं" + +#: ../src/seahorse-key-manager.c:737 +msgid "Filter" +msgstr "फ़िल्टर" + +#: ../src/seahorse-key-manager.xml.h:1 +#| msgid "First time options:" +msgid "First time options:" +msgstr "प्रथम समय विकल्प:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "स्वयं अपनी नई कुंजी बनाएँ: " + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "मौजूदा कुंजी को किसी फ़ाइल से आयात करें:" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "गोपन के साथ शुरू करने के लिए आपको कुंजी की जरूरत है." + +#: ../src/seahorse-sidebar.c:801 +msgid "Couldn't lock" +msgstr "बंद नहीं कर सका" + +#: ../src/seahorse-sidebar.c:838 +msgid "Couldn't unlock" +msgstr "खोल नहीं सका" + +#: ../src/seahorse-sidebar.c:946 +msgid "_Lock" +msgstr "खोलें (_L)" + +#: ../src/seahorse-sidebar.c:951 +msgid "_Unlock" +msgstr "अनलॉक करें (_U)" + +#: ../src/seahorse-sidebar.c:970 +msgid "_Properties" +msgstr "गुण (_P)" + +#: ../ssh/seahorse-ssh-actions.c:100 +msgid "Configure Key for _Secure Shell..." +msgstr "सिक्योर शेल के लिए कुंजी विन्यस्त करें (_S)..." + +#: ../ssh/seahorse-ssh-actions.c:101 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"सार्वजनिक सिक्योर शेल कुंजी को दूसरे मशीन में भेजता है, और उस कुंजी के प्रयोग " +"लॉगिन सक्रिय " +"करें." + +#: ../ssh/seahorse-ssh-askpass.c:60 ../ssh/seahorse-ssh-askpass.c:68 +msgid "Enter your Secure Shell passphrase:" +msgstr "अपना सिक्योर शेल कूटशब्द दाखिल करें:" + +#: ../ssh/seahorse-ssh-askpass.c:82 +msgid "Old Key Passphrase" +msgstr "पुराना कुंजी कूटशब्द" + +#: ../ssh/seahorse-ssh-askpass.c:83 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "इसके लिए पुराना कूटशब्द दाखिल करें: %s" + +#: ../ssh/seahorse-ssh-askpass.c:87 ../ssh/seahorse-ssh-askpass.c:92 +msgid "New Key Passphrase" +msgstr "नया कुंजी कूटशब्द" + +#: ../ssh/seahorse-ssh-askpass.c:88 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "इसके लिए नया कूटशब्द दाखिल करें: %s" + +#: ../ssh/seahorse-ssh-askpass.c:93 +#, c-format +#| msgid "Enter the new passphrase for: %s" +msgid "Enter the new passphrase again: %s" +msgstr "इसके लिए नया पासफ्रेज दाखिल करें: %s" + +#: ../ssh/seahorse-ssh-backend.c:91 +msgid "Secure Shell" +msgstr "सिक्योर शेल कुंजी" + +#: ../ssh/seahorse-ssh-backend.c:94 +#| msgid "Used to connect to other computers." +msgid "Keys used to connect securely to other computers" +msgstr "" +"अन्य कंप्यूटरों के लिए सुरक्षित रूप से कनेक्ट करने के लिए प्रयोग किया जाता " +"कुंजी" + +#: ../ssh/seahorse-ssh-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:86 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "क्या आप वाकई '%s' सिक्योर शेल कुंजी को मिटाना चाहते हैं?" + +#: ../ssh/seahorse-ssh-deleter.c:91 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "क्या आप वाकई %d सिक्योर शेल कुंजी को मिटाना चाहते हैं?" +msgstr[1] "क्या आप वाकई %d सिक्योर शेल कुंजी को मिटाना चाहते हैं?" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "Ssh Key" +msgstr "Ssh कुंजी" + +#: ../ssh/seahorse-ssh-exporter.c:122 +msgid "Secret SSH keys" +msgstr "गुप्त SSH कुंजी" + +#: ../ssh/seahorse-ssh-exporter.c:126 +msgid "Public SSH keys" +msgstr "सार्वजनिक SSH कुंजी" + +#: ../ssh/seahorse-ssh-exporter.c:290 +#| msgid "No private key file is available for this key." +msgid "No public key file is available for this key." +msgstr "इस कुंजी के लिए कोई सार्वजनिक कुंजी फ़ाइल उपलब्ध नहीं है." + +#: ../ssh/seahorse-ssh-generate.c:55 ../ssh/seahorse-ssh-key.c:114 +#: ../ssh/seahorse-ssh-key.c:118 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "सिक्योर शेल कुंजी" + +#: ../ssh/seahorse-ssh-generate.c:56 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "दूसरे कंप्यूटर की पहुँच में असमर्थ (उदा: टर्मिनल से होकर)" + +#: ../ssh/seahorse-ssh-generate.c:110 ../ssh/seahorse-ssh-generate.c:126 +msgid "Couldn't generate Secure Shell key" +msgstr "सिक्योर शेल कुंजी नहीं उत्पन्न कर सका" + +#: ../ssh/seahorse-ssh-generate.c:192 +msgid "Creating Secure Shell Key" +msgstr "सिक्योर शेल कुंजी बना रहा है" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "नया सिक्योर शेल कुंजी" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "सिर्फ कुंजी बनाएं (_J)" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "बनाएं और सेटअप करें (_C)" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +#| msgid "" +#| "A Secure Shell (SSH) key lets you connect securely to trusted computers " +#| "using SSH, without entering a different password for each of them." +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"एक सुरक्षित शैल (SSH) कुंजी की मदद से आप अन्य कंप्यूटरों के लिए सुरक्षित रूप " +"से जोड़ता हैं" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +#| msgid "Your email address, or a reminder of what this key is for." +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"अपने ईमेल पता या दूसरे अनुस्मारक का जिसे आपको जरूरत है कि यह कुंजी किससे के " +"लिए है." + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +#| msgid "" +#| "If there is already a computer you want to use this key with, you can set " +#| "up that computer to recognize your key now. " +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"यदि पहले से एक कंप्यूटर है जिसे आप इस कुंजी के साथ प्रयोग करना चाहते हैं, आप " +"उन कंप्यूटर को " +"सेट अफ करना चाहते हैं अपनी कुंजी को अब जानने के लिए. " + +#: ../ssh/seahorse-ssh-key.c:110 +msgid "(Unreadable Secure Shell Key)" +msgstr "(अपठनीय सिक्योर शेल की)" + +#: ../ssh/seahorse-ssh-key.c:218 +msgid "Personal SSH key" +msgstr "निजी SSH कुंजी" + +#: ../ssh/seahorse-ssh-key.c:220 +msgid "SSH key" +msgstr "SSH कुंजी" + +#: ../ssh/seahorse-ssh-key-properties.c:82 +msgid "Couldn't rename key." +msgstr "कुंजी का फिर नाम नहीं दे सका." + +#: ../ssh/seahorse-ssh-key-properties.c:135 +msgid "Couldn't change authorization for key." +msgstr "कुंजी के लिए सत्यापन नहीं बदल सका" + +#: ../ssh/seahorse-ssh-key-properties.c:170 +msgid "Couldn't change passphrase for key." +msgstr "कुंजी के लिए कूटशब्द बदल नहीं सका." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +#| msgid "Identifier:" +msgid "Identifier:" +msgstr "पहचानकर्ताः" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +#| msgid "Name:" +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "नाम:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "दूसरे कंप्यूटर के साथ कनेक्ट होने के लिए प्रयुक्त." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" +"इस कुंजी का स्वामी इस कंप्यूटर के साथ कनेक्ट होने के लिए अधिकृत है (_a)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +#| msgid "This only applies to the '%s' account." +msgid "This only applies to the %s account." +msgstr "यह केवल %s खाता पर लागू होता है." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +#| msgid "Algorithm:" +msgid "Algorithm:" +msgstr "एल्गोरिद्मः" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +#| msgid "Location:" +msgid "Location:" +msgstr "स्थानः" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "पूरी कुंजी भेजें (_x)" + +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH कमांड को अप्रत्याशित रूप से रोक दिया गया." + +#: ../ssh/seahorse-ssh-operation.c:209 +msgid "The SSH command failed." +msgstr "SSH कमांड विफल रहा." + +#: ../ssh/seahorse-ssh-operation.c:502 +msgid "Remote Host Password" +msgstr "रिमोट होस्ट कूटशब्द" + +#: ../ssh/seahorse-ssh-operation.c:588 +msgid "Enter Key Passphrase" +msgstr "कुंजी कूटशब्द दाखिल करें" + +#: ../ssh/seahorse-ssh-operation.c:678 +msgid "Passphrase for New Secure Shell Key" +msgstr "नए सिक्योर शेल कुंजी के लिए कूटशब्द" + +#: ../ssh/seahorse-ssh-operation.c:862 +#, c-format +msgid "Importing key: %s" +msgstr "कुंजी आयात कर रहा है: %s" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Importing key. Enter passphrase" +msgstr "कुंजी आयात कर रहा है. कूटशब्द प्रविष्ट करें" + +#: ../ssh/seahorse-ssh-source.c:232 +msgid "OpenSSH keys" +msgstr "OpenSSH कुंजी" + +#: ../ssh/seahorse-ssh-source.c:235 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ../ssh/seahorse-ssh-source.c:940 +msgid "No private key file is available for this key." +msgstr "इस कुंजी के लिए कोई निजी कुंजी फ़ाइल उपलब्ध नहीं है." + +#: ../ssh/seahorse-ssh-upload.c:50 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "सिक्योर शेल कुंजी को दूरस्थ कंप्यूटर पर विन्यस्त नहीं कर सका." + +#: ../ssh/seahorse-ssh-upload.c:133 +msgid "Configuring Secure Shell Keys..." +msgstr "सिक्योर शेल कुंजी बिन्यस्त कर रहा है..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "SSH संबंधन के लिए कंप्यूटर सेटअप करें" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"अपनी सिक्योर शेल कुंजी को दूसरे कंप्यूटर के साथ प्रयोग करने के लिए जो कि SSH " +"का प्रयोग " +"करता है, आपको जरूर अपने उस कंप्यूटर पर लॉगिन खाता रखना चाहिए." + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +#| msgid "eg: fileserver.example.com:port" +msgid "eg: fileserver.example.com:port" +msgstr "उदा: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "कंप्यूटर नाम (_C):" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "लागिन नाम (_L)" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "सेट अप (_S)" + +#~ msgid "Password:" +#~ msgstr " कूटशब्द:" + +#~ msgid "Key Servers:" +#~ msgstr " कुंजी सर्वर" + +#~ msgid "Never" +#~ msgstr "कभी नहीं" + +#~ msgid "Key ID:" +#~ msgstr " कुंजी आईडी" + +#~| msgid "Name:" +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "नाम:" + +#~ msgid "Comment:" +#~ msgstr "टिप्पणी:" + +#~ msgid "Use:" +#~ msgstr " उपयोग" + +#~ msgid "Type:" +#~ msgstr "टाइप:" + +#~ msgid "Key Names and Signatures" +#~ msgstr " कुंजी नाम और हस्ताक्षर" + +#~ msgid "Dates" +#~ msgstr " तिथि" + +#~ msgid "Actions" +#~ msgstr "क्रिया" + +#~ msgid "Dates:" +#~ msgstr " तिथि" + +#~| msgid "Name:" +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "नाम:" + +#~ msgid "Trust" +#~ msgstr "विश्वास" + +#~ msgid "Strength:" +#~ msgstr "शक्ति:" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "सीहॉर्स डेमॉन को बतौर डेमॉन मत चलाएँ" + +#~ msgid "couldn't fork process" +#~ msgstr "प्रक्रिया तोड़ नहीं सका" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "गोपन डेमॉन (Seahorse)" + +#~ msgid "Seahorse Daemon" +#~ msgstr "सीहोर्स डेमॉन" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "अवैध या अपरिचित कुंजी प्रकार: %s" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "अवैध या अपरिचित कुंजी: %s" + +#~ msgid "Signed by expired on %s." +#~ msgstr " expired के द्वारा %s पर हस्ताक्षरित." + +#~ msgid "Invalid Signature" +#~ msgstr "अवैध हस्ताक्षर" + +#~ msgid "Signed by on %s Expired." +#~ msgstr " के द्वारा %s Expired पर हस्ताक्षरित." + +#~ msgid "Expired Signature" +#~ msgstr "समय समाप्त हस्ताक्षर" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr " Revoked के द्वारा %s पर हस्ताक्षरित." + +#~ msgid "Revoked Signature" +#~ msgstr "वापस लिया हस्ताक्षर" + +#~ msgid "Signed by on %s." +#~ msgstr " के द्वारा %s पर हस्ताक्षरित." + +#~ msgid "Good Signature" +#~ msgstr "अच्छा हस्ताक्षर" + +#~ msgid "Signing key not in keyring." +#~ msgstr "कीरिंग में हस्ताक्षर कुंजी नहीं" + +#~ msgid "Unknown Signature" +#~ msgstr "अज्ञात हस्ताक्षर" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "खराब या बिगड़ा हुआ हस्ताक्षर. हस्ताक्षरित आँकड़ा बदला गया था." + +#~ msgid "Bad Signature" +#~ msgstr "खराब हस्ताक्षर" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "अवैध या अपरिचित हस्ताक्षरकर्ता: %s" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "कुंजी हस्ताक्षर के लिए वैध नहीं है: %s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "अवैध या अपरिचित प्राप्तकर्ता: %s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "कुंजी गोपन के लिए वैध प्राप्तकर्ता नहीं है: %s" + +#~ msgid "No recipients specified" +#~ msgstr "कोई प्राप्तकर्ता निर्दिष्ट नहीं" + +#~ msgid "No signer specified" +#~ msgstr "कोई हस्ताक्षरकर्ता निर्दिष्ट नहीं" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "अवैध कुंजी प्रकार विगोपन के लिए: %s" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "अवैध कुंजी प्रकार जाँच के लिए: %s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "अवैध कुंजी आईडी: %s" + +#~ msgid "Couldn't share keys" +#~ msgstr "कुंजी साझा नहीं कर सका" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "संजाल पर खोज सूचना नहीं प्रकाशित कर सका." + +#~ msgid "%s's encryption keys" +#~ msgstr "%s की गोपन कुंजी" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "दूरस्थ PGP कुंजी के लिए कुंजी सर्वर URI की सूची. बाद के संस्करण में प्रदर्शन नाम को शामिल " +#~ "किया जा सकता है, एक स्थान जोड़कर और फिर नाम." + +#~ msgid "Auto Retrieve Keys" +#~ msgstr "कुंजी स्वतः पाएँ" + +#~ msgid "Auto Sync Keys" +#~ msgstr "कुंजी स्वतः तुल्यकालित करें" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "कुंजी प्रबंधक के समय समाप्त हुए स्तंभ के लिए दृश्यता नियंत्रित करता है." + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "कुंजी प्रबंधक के विश्वसनीय संत हुए स्तंभ के लिए दृश्यता नियंत्रित करता है." + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "कुंजी प्रबंधक के प्रकार स्तंभ के लिए दृश्यता नियंत्रित करता है." + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "कुंजी प्रबंधक के वैधता स्तंभ के लिए दृश्यता नियंत्रित करता है." + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "DNS-SD साझा सक्रिय करें" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "DNS-SD (Apple Bonjour) कुंजी साझाकरण चल रहा है. सीहॉर्स डेमॉन को जरूर चलना " +#~ "चाहिए और जरूर HKP और DNS-SD समर्थन के साथ निर्मित होना चाहिए." + +#~ msgid "ID of the default key" +#~ msgstr "तयशुदा कुंजी की आईडी" + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "यदि सही पर सेट है, तब सीहॉर्स से गोपित फ़ाइलें ASCII आर्मर एन्कोडेड होंगी." + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "" +#~ "यदि सही पर सेट है, फिर तयशुदा कुंजी को गोपन प्राप्तकर्ता सूची में हमेशा जोड़ा जाएगा." + +#~ msgid "Last key server search pattern" +#~ msgstr "अंतिम कुंजी सर्वर खोज प्रारूप" + +#~ msgid "Last key servers used" +#~ msgstr "अंतिम कुंजी सर्वर प्रयुक्त" + +#~ msgid "Last key used to sign a message." +#~ msgstr "किसी संदेश को हस्ताक्षरित करने के अंतिम कुंजी." + +#~ msgid "PGP Key servers" +#~ msgstr "PGP कुंजी सर्वर" + +#~ msgid "Publish keys to this key server." +#~ msgstr "इस कुंजी सर्वर में कुंजी प्रकाशित करें." + +#~ msgid "Show expires column in key manager" +#~ msgstr "कुंजी प्रबंधक में समय समाप्त स्तंभ दिखाएँ" + +#~ msgid "Show trust column in key manager" +#~ msgstr "कुंजी प्रबंधक में ट्रस्ट स्तंभ दिखाएँ" + +#~ msgid "Show type column in key manager" +#~ msgstr "कुंजी प्रबंधक में प्रकार स्तंभ दिखाएँ" + +#~ msgid "Show validity column in key manager" +#~ msgstr "कुंजी प्रबंधक में वैधता स्तंभ दिखाएँ" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "स्तंभ निर्दिष्ट करें जिससे प्राप्तकर्ता विंडो को छाँटना है. स्तंभ हैं: 'name' और 'id'. कोई " +#~ "'-' को स्तंभ नाम के सामने रखें अवरोही क्रम में छाँटने के लिए." + +#~ msgid "" +#~ "Specify the column to sort the seahorse key manager main window by. " +#~ "Columns are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. " +#~ "Put a '-' in front of the column name to sort in descending order." +#~ msgstr "" +#~ "स्तंभ निर्दिष्ट करें जिससे सीहॉर्स कुंजी प्रबंधक विंडो को छाँटना है. स्तंभ हैं: 'name' 'id', " +#~ "'validity', 'expires', 'trust', और 'type'. कोई '-' को स्तंभ नाम के सामने रखें " +#~ "अवरोही क्रम में छाँटने के लिए." + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "अंतिम गुप्त कुंजी की ID किसी संदेश के हस्ताक्षर के लिए." + +#~ msgid "The column to sort the recipients by" +#~ msgstr "प्राप्तकर्ता को इससे छाँटने के लिए स्तंभ" + +#~ msgid "The column to sort the seahorse keys by" +#~ msgstr "सीहॉर्स कुंजी को इससे छाँटने के लिए स्तंभ" + +#~ msgid "" +#~ "The key server to publish PGP keys to. Or empty to suppress publishing of " +#~ "PGP keys." +#~ msgstr "" +#~ "मुख्य सर्वर जिसमें PGP कुंजी को प्रकाशित करना है. या PGP कुंजी को जबरदस्ती प्रकाशन के " +#~ "लिए रिक्त." + +#~ msgid "" +#~ "The last key server a search was performed against or empty for all key " +#~ "servers." +#~ msgstr "" +#~ "अंतिम कुंजी सर्वर जिसके लिए खोज को किया गया था या सभी कुंजी सर्वर के लिए सर्वर." + +#~ msgid "The last search pattern searched for against a key server." +#~ msgstr "किसी मुख्य सर्वर के लिए अंतिम खोज प्रारूप." + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "" +#~ "यह खास संक्रिया के लिए तयशुदा कुंजी को निर्दिष्ट करता है, मुख्यतः हस्ताक्षर के लिए." + +#~ msgid "" +#~ "Whether or not keys should be automatically retrieved from key servers." +#~ msgstr "क्या कुंजी को की सर्वर से स्वतः प्राप्त करना है या नहीं." + +#~ msgid "" +#~ "Whether or not modified keys should be automatically synced with the " +#~ "default key server." +#~ msgstr "क्या रूपांतरित कुंजी को स्वतः तुल्यकालित करना है तयशुदा कुंजी सर्वर से." + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "क्या हमेशा तयशुदा कुंजी को गोपित करना है" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "क्या ASCII आर्मर का प्रयोग करना है" + +#~ msgid "Web Password" +#~ msgstr "वेब कूटशब्द" + +#~ msgid "Couldn't set application access." +#~ msgstr "अनुप्रयोग पहुँच सेट नहीं कर सका." + +#~ msgid "Path:" +#~ msgstr " पथ" + +#~ msgid "Permissions:" +#~ msgstr "अनुमति:" + +#~ msgid "_Read" +#~ msgstr "पढ़ें (_R)" + +#~ msgid "_Write" +#~ msgstr "लिखें (_W)" + +#~ msgid "Passwords: %s" +#~ msgstr "कूटशब्द: %s" + +#~ msgid "Passwords: %s" +#~ msgstr " कूटशब्द: %s" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "कूटशब्द भंडार कीरिंग को लॉक करें ताकि एक प्रधान कूटशब्द इसे खोलने के लिए जरूरी हो." + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "" +#~ "कूटशब्द भंडार कीरिंग को अनलॉक करें ताकि एक प्रधान कूटशब्द इसे खोलने के लिए उपलब्ध हो." + +#~ msgid "Access to the key ring was denied" +#~ msgstr "इस कीरिंग में पहुँच मना किया गया" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "गनोम कीरिंग डेमॉन चल नहीं रहा है" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "यह कुंजीरिंग पहले से खुला नहीं है" + +#~ msgid "No such key ring exists" +#~ msgstr "कोई ऐसा कुंजी मौजूद नहीं है" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "कीरिंग डेमॉन के साथ संचार नहीं कर सका" + +#~ msgid "The item already exists" +#~ msgstr "मद पहले से मौजूद है" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "आंतरिक त्रुटि गनोम कीरिंग की पहुँच पाने में" + +#~ msgid "Saving item..." +#~ msgstr "सहेज रहा है मद." + +#~ msgid "Deleting item..." +#~ msgstr "मिटा रहे मद..." + +#~ msgid "Deleting keyring..." +#~ msgstr "मिटा रहे कीरिंग..." + +#~ msgid "Listing password keyrings" +#~ msgstr "अनुसूचन कूटशब्द कीरिंग" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "कोई गोपन कुंजी नहीं पाई गई थी जिसके साथ आपके द्वारा किए गए संक्रिया को करना है. " +#~ "प्रोग्राम Passwords and Encryption Keys अब आरंभ किया जाएगा जिसे या तो " +#~ "आप किसी कुंजी को बना सकते हैं या कोई एक बना सकते हैं." + +#~ msgid "All Keys" +#~ msgstr "सभी कुंजी" + +#~ msgid "Selected Recipients" +#~ msgstr "चयनित प्राप्तकर्ता" + +#~ msgid "Search Results" +#~ msgstr "खोज परिणाम" + +#~ msgid "Search _for:" +#~ msgstr "इसके लिए ढूंढें :" + +#~ msgid "None (Don't Sign)" +#~ msgstr "कुछ नहीं (हस्ताक्षर नहीं करें)" + +#~ msgid "Sign this message as %s" +#~ msgstr "हस्ताक्षर यह संदेश जैसे %s" + +#~ msgid "_Sign message as:" +#~ msgstr "हस्ताक्षर संदेश जैसे:" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "फ़ाइल वैध .desktop फ़ाइल नहीं है" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "अपरिचित डेस्कटॉप फ़ाइल संस्करण '%s'" + +#~ msgid "Starting %s" +#~ msgstr "%s शुरू हो रहा है" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "कमांड लाइन पर अनुप्रयोग दस्तावेज़ स्वीकार नहीं करता है" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "अपरिचित लॉन्च विकल्प: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "दस्तावेज़ URI को 'Type=Link' डेस्कटॉप प्रविष्टि में भेज नहीं सकता है" + +#~ msgid "Not a launchable item" +#~ msgstr "चलाने योग्य प्रोग्राम नहीं है" + +#~ msgid "Disable connection to session manager" +#~ msgstr "सत्र प्रबंधक में संबंधन निष्क्रिय करें" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "सहेजा विन्यास समाहित करता फ़ाइल निर्दिष्ट करें" + +#~ msgid "FILE" +#~ msgstr "फ़ाइल" + +#~ msgid "Specify session management ID" +#~ msgstr "सत्र प्रबंधन ID निर्दिष्ट करें" + +#~ msgid "Session management options:" +#~ msgstr "सत्र प्रबंधन विकल्प:" + +#~ msgid "Show session management options" +#~ msgstr "दिखाएँ सत्र प्रबंधन विकल्प" + +#~ msgid "Key Imported" +#~ msgid_plural "Keys Imported" +#~ msgstr[0] "कुंजी आयातित" +#~ msgstr[1] "कुंजी आयातित" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "आयातित %i कुंजी" +#~ msgstr[1] "आयातित %i कुंजियाँ" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "इसके लिए आयातित कुंजी" +#~ msgstr[1] "इसके लिए आयातित कुंजियाँ" + +#~ msgid "Notification Messages" +#~ msgstr "अधिसूचना संदेश" + +#~ msgid "Symmetric Key" +#~ msgstr "सममितीय कुंजी" + +#~ msgid "Credentials" +#~ msgstr "श्रेय" + +#~ msgid "Identity" +#~ msgstr "उपयोक्ता" + +#~ msgid "Key Sharing" +#~ msgstr "कुंजी साझेदारी" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "अपनी कुंजी को साझा करना आपके संजाल पर दूसरे लोगों को आपके द्वारा जमा कुंजी को प्रयोग " +#~ "करने की अनुमति मिलती है. इसका मतलब है कि वे वस्तुओं को स्वतः गोपित करते हैं या वे जिसे " +#~ "तुम जानते हो, बिना तुम्हारे अपनी कुंजी भेजने के लिए.\n" +#~ "\n" +#~ "नोट: आपकी निजी कुंजी भेदा नहीं जा सकेगा." + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "मेरे अपने संजाल पर मेरी कुंजी को दूसरे के साथ साझा करें (_S)" + +#~ msgid "Progress Title" +#~ msgstr "प्रगति शीर्षक" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "फाइल रोलर नहीं चला सका" + +#~ msgid "Couldn't package files" +#~ msgstr "फाइल पैकेज नहीं कर सका" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "फाइल रोलर प्रक्रिया सफलतापूर्वक नहीं चल सकी" + +#~ msgid "Archive files" +#~ msgstr "अभिलेखागार फाइल" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "कोई फ़ाइल पहले से मौजूद है इसके नाम के साथ.\n" +#~ "\n" +#~ "क्या आप इसे नई फ़ाइल के साथ बदलना चाहते हैं?" + +#~ msgid "_Replace" +#~ msgstr "बदलें (_R)" + +#~ msgid "Loading Keys..." +#~ msgstr "कुंजी लोड हो रहा है." + +#~ msgid "Uploading keys..." +#~ msgstr "कुंजी अपलोड किया जा रहा है..." + +#~ msgid "Retrieving keys..." +#~ msgstr "कुंजी पुनःप्राप्त कर रहा है..." + +#~ msgid "Searching for keys on: %s" +#~ msgstr "कुंजी के लिए खोज कर रहा है: %s" + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "'%s' समाहित करते कुंजी के लिए खोज..." + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "'%s' कुंजी आईडी के लिए खोज..." + +#~ msgid "Retrieving remote keys..." +#~ msgstr "दूरस्थ कुंजी पुनःप्राप्त कर रहा है..." + +#~ msgid "Sending keys to key server..." +#~ msgstr "कुंजी सर्वर में कुंजी भेजा जा रहा है..." + +#~ msgid "_Sign Key..." +#~ msgstr "हस्ताक्षर कुंजी (_S)..." + +#~ msgid "Sign public key" +#~ msgstr "सार्वजनिक कुंजी हस्ताक्षर करें" + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "क्या आप %d कुंजी व पहचान को स्थाई रूप से मिटाने के लिए निश्चित हैं?" + +#~ msgid "Algorithms here" +#~ msgstr "अलगोरिथम यहाँ" + +#~ msgid "New PGP Key" +#~ msgstr "नया पीजीपी कुंजी" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "\"%s\" में कुंजी निर्यात नहीं कर सका" + +#~ msgid "Export Complete Key" +#~ msgstr "निर्यात पूर्ण कुंजी" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "क्या आप वाकई '%s' प्रमाणपत्र को मिटाना चाहते हैं?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "क्या आप वाकई %d प्रमाणपत्र को मिटाना चाहते हैं?" +#~ msgstr[1] "क्या आप वाकई %d प्रमाणपत्रों को मिटाना चाहते हैं?" + +#~ msgid "Create New ..." +#~ msgstr "बनाएँ नया." + +#~ msgid "Selected %d key" +#~ msgid_plural "Selected %d keys" +#~ msgstr[0] "%d कुंजी चयनित" +#~ msgstr[1] "%d कुंजियाँ चयनित" + +#~ msgid "Importing keys" +#~ msgstr "कुंजी आयात कर रहा है" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "अपरिचित कुंजी प्रकार, या अवैध आँकड़ा प्रारूप" + +#~ msgid "T_ypes" +#~ msgstr "प्रकार" + +#~ msgid "Show type column" +#~ msgstr "दिखाएँ प्रकार स्तंभ" + +#~ msgid "_Expiry" +#~ msgstr "समय समाप्ति (_E)" + +#~ msgid "Show expiry column" +#~ msgstr "दिखाएँ समाप्ति स्तंभ" + +#~ msgid "_Trust" +#~ msgstr "ट्रस्ट (_T)" + +#~ msgid "Show owner trust column" +#~ msgstr "दिखाएँ स्वामी ट्रस्ट स्तंभ" + +#~ msgid "_Validity" +#~ msgstr "वैधता" + +#~ msgid "Show validity column" +#~ msgstr "दिखाएँ वैधता स्तंभ" + +#~ msgid "Other _Keys" +#~ msgstr "अन्य कुंजियाँ (_K)" + +#~ msgid "Validity" +#~ msgstr "वैधता" + +#~ msgid "Expiration Date" +#~ msgstr "समाप्ति तिथि" + +#~ msgid "_Expand All" +#~ msgstr "सभी विस्तारित करें (_E)" + +#~ msgid "Expand all listings" +#~ msgstr "सभी सूची फैलाएँ" + +#~ msgid "_Collapse All" +#~ msgstr "सभी संकुचित करें (_C)" + +#~ msgid "Collapse all listings" +#~ msgstr "सभी सूची समेटें" + +#~ msgid "Synchronizing keys" +#~ msgstr "कुंजी सिंक्रोनाइज किया जा रहा है" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "X कुंजी को तुल्यकालन के लिए चुना गया है" + +#~ msgid "Export public key" +#~ msgstr "सार्वजनिक कुंजी निर्यात" + +#~ msgid "Exporting keys" +#~ msgstr "कुंजी निर्यात किया जा रहा है" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "कुंजी सर्वर से आँकड़ा पा नहीं सका" + +#~ msgid "Deleting..." +#~ msgstr "मिटा रहा है..." + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s एक निजी कुंजी है. क्या आप वाकई आगे बढ़ना चाहते हैं?" + +#~ msgctxt "" +#~ "This text refers to deleting an item from its type's backing store." +#~ msgid "_Delete" +#~ msgstr "मिटाएँ (_D)" + +#~ msgid "_Key Description:" +#~ msgstr "कुंजी विवरण (_K):" + +#~ msgid "Invalid" +#~ msgstr "अवैध" + +#~ msgid "Private Secure Shell Key" +#~ msgstr "निजी सिक्योर शेल कुंजी" + +#~ msgid "Public Secure Shell Key" +#~ msgstr "सार्वजनिक सिक्योर शेल कुंजी" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/nate/.ssh/blah_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" + +#~ msgid "Passphrase:" +#~ msgstr "कूटशब्द" + +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "अपनी नई सिक्योर शेल कुंजी के लिए कूटशब्द दाखिल करें." diff --git a/po/hr.po b/po/hr.po new file mode 100644 index 00000000..3765aebc --- /dev/null +++ b/po/hr.po @@ -0,0 +1,3047 @@ +# Translation of seahorse to Croatiann +# Copyright (C) Croatiann team +# Translators: Automatski Prijevod <>,Danijel Studen ,Denis Lackovic ,Ivan Jankovic ,pr pr , +msgid "" +msgstr "" +"Project-Id-Version: seahorse 0\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-18 15:22+0000\n" +"PO-Revision-Date: 2020-08-19 00:37+0200\n" +"Last-Translator: gogo \n" +"Language-Team: Croatian \n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Launchpad-Export-Date: 2016-09-22 22:36+0000\n" +"X-Generator: Poedit 2.3\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Dodaj poslužitelja ključa" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Prilagođeno" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Odustani" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Spremi" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Nemoguće obrisati" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Nemoguć izvoz ključeva" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Nemoguć izvoz podataka" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Odustani" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Obriši" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Izvoz" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Upišite PIN ili lozinku za: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Potvrdi:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_U redu" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Lozinka:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Lozinke" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Ključevi" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Vjerodajnice" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Osobitosti" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Nepoznato: ne objavljuj ključ" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Nije valjana adresa poslužitelja ključeva." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Za pomoć kontaktirajte vašeg administratora sustava ili administratora " +"poslužitelja ključeva." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "pokrenuta trenutna stavka" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Vrsta poslužitelja ključa:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Poslužitelj:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Naziv računala ili adresa poslužitelja." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Ulaz pristupa na poslužitelj." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Pronađi ključeve putem:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Objavi ključeve na:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Automatski preuzmi ključeve s _poslužitelja ključeva" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Automatski uskladi _promijenjene ključeve s poslužiteljem ključeva" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Poslužitelji ključeva" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Nepoznato" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Nikada" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Djelomično" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Potpuno" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Bezuvjetno" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Onemogućeno" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Opozvano" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Pregled" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Priručnik" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Otvori izbornik" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Stvori novu stavku" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Uvezi stavku iz datoteke" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Pretraži" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Popis prečaca" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Zatvori" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navigacija" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Odaberi prijašnji skup ključeva" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Odaberi sljedeći skup ključeva" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Prikaži bočnu traku (na malim zaslonima)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Prikaži sadržaj skupa ključeva (na malim zaslonima)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Automatski preuzmi ključeve" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Treba li automatski preuzeti ključeve s poslužitelja ključeva." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Automatski objavi ključ" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Trebaju li promijenjeni ključevi automatski biti objavljeni." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Objavi ključeve na ovom poslužitelju ključeva" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Poslužitelj ključeva za objavu PGP ključeva. Ili prazno za zabranu objave " +"PGP ključeva." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Posljednji obrazac pretrage poslužitelja ključa" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Posljednji obrazac pretrage pretraživan na poslužitelju ključa." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Posljednji korišteni poslužitelj ključeva" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Posljednji poslužitelj ključa na kojemu je izvršena pretraga ili prazno za " +"sve poslužitelje ključeva." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Prikaži bočnu traku skupa ključeva" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Prikaži bočnu traku skupa ključeva u Seahorsu." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Koju stavku prikazati" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filter prikaza stavke. Ako je prazno, prikazuje sve stavke, ako je“personal” " +"prikazuje osobne ključeve, ako je “trusted” prikazuje povjerene ključeve." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Širina bočne trake" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Zadana širina bočne trake." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Odabrani skup ključeva" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "URI skupa ključeva odabranih u bočnoj traci." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Stupac za razvrstavanje Seahorse ključeva po" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Određuje stupac za razvrstavanje u glavnom prozoru upravitelja Seahorse " +"ključeva. Stupci su: “name”, “id”, “validity”, “expires”, “trust”, i “type”. " +"Stavite “-” ispred naziva stupca kako bi ih razvrstali u padajućem poredku." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Prikaži stupac valjanosti" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Ključ se više ne koristi." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Prikaži stupac isteka" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Prikaži stupac povjerenja" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Prikaži stupac vrste" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Širina prozora" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Širina (u pikselima) prozora." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Visina prozora" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Visina (u pikselima) prozora." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Upravljajte svojim lozinkama i ključevima šifriranja" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse je GNOME aplikacija za upravljanje ključevima šifriranja." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Sa seahorsom možete stvarati i upravljati PGP ključevima, stvarati i " +"upravljati SSH ključevima, objavljivati i preuzimati ključeve s " +"poslužitelja, spremati vaše lozinke tako da ih ne morate stalno upisivati i " +"sigurnosno kopira vaše ključeve i skupove ključeva." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "GNOME projekt" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Lozinke i ključevi" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "skup ključeva;šifriranje;sigurnost;potpis;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Spremljene osobne lozinke vjerodajnice i tajne" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Namoguće otključavanje" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Nemoguće dodavanje stavke" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Lozinka ili tajna" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Tajna mrežnog povezivanja" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Lozinka bežične mreže" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Mrežna lozinka" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Gnome Web lozinka" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Lozinka Google Chroma" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Lozinka trenutnog dopisivanja" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Lozinka IM računa za " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Telepathy lozinka" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Lozinka GNOME mrežnih računa" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Spremi promjene za ovu stavku?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Pristupi mrežnom dijeljenju ili resursu" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Pristupi web stranici" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Otključava PGP ključ" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Otključava ključ Osigurane ljuske" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Sprema lozinku ili prijavu" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Mrežne vjerodajnice" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Lozinka" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Nemoguća promjena lozinke." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Nemoguće postavljanje opisa." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Greška brisanja lozinke." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Spremljena napomena" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Lozinka skupa ključeva" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Lozinka šifriranja ključeva" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Lozinka ključa pohrane" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Tajna mrežnog upravitelja" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Sigurno želite obrisati \"%s\" lozinku?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Sigurno želite obrisati %d lozinku?" +msgstr[1] "Sigurno želite obrisati %d lozinke?" +msgstr[2] "Sigurno želite obrisati %d lozinka?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Nemoguće dodavanje skupa ključeva" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Nepoznat datum" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Skup ključeva koji je automatski otključan pri prijavi" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Skup ključeva za spremanje lozinka" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Nemoguće postavljanje zadanog skupa ključeva" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Nemoguća promjena lozinke skupa ključeva" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Postavi kako zadano" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Promijeni _lozinku" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Sigurno želite obrisati lozinku skupa ključeva \"%s\"?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Razumijem da će sve stavke biti trajno obrisane." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Prikaži/Sakrij lozinku" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Dodaj lozinku" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Skup ključeva:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Opis:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Lozinka:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Dodaj" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Dodaj lozinku skupa ključeva" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Odaberite naziv za novi skup ključeva. Biti ćete upitani za lozinku " +"otključavanja." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Novi naziv skupa ključeva:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Svojstva stavke" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Opis" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Kopiraj" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Koristi" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Vrsta" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Poslužitelj" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Prijava" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Pojedinosti" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Obriši lozinku" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Svojstva skupa ključeva" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Naziv" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Stvoreno" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Promijeni lozinku" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Postavi kako zadano" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Prikaži oznake" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Prikazuje svojstva datuma i/ili vremena" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Lijeni način" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Lijeni način ne normalizira vrijednosti upisanog datuma i vremena" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Godina" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Prikazana godina" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mjesec" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Prikazani mjesec" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dan" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Prikazani dan mjeseca" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Sati" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Prikazani sati" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minute" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Prikazane minute" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekunde" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Prikazane sekunde" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Smanji ograničenje godine" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Godina dio smanjenja ograničenja datuma" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Povečaj ograničenje godine" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Godina dio povečanja ograničenja datuma" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Smanji ograničenje mjeseca" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Mjesec dio smanjenja ograničenja datuma" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Povečaj ograničenje mjeseca" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Mjesec dio povečanja ograničenja datuma" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Smanji ograničenje dana" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Danu mjesecu dio smanjenja ograničenja datuma" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Povečaj ograničenje dana" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Dan u mjesecu dio povečanja ograničenja datuma" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Smanji ograničenje sata" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Sat dio smanjenja ograničenja datuma" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Povećaj ograničenje sata" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Sat dio povečanja ograničenja datuma" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Smanji ograničenje minute" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Minuta dio smanjenja ograničenja datuma" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Povečaj ograničenje minute" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Minuta dio povečanja ograničenja datuma" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Smanji ograničenje sekunde" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Minuta dio smanjenja ograničenja sekunde" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Pvečaj ograničenje sekunde" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Sekunda dio povečanja ograničenja datuma" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Datum" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Upišite datum izravno" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Odaberi datum" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Odaberite datum iz kalendara" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Vrijeme" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Upišite vrijeme izravno" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Odaberi vrijeme" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Odaberi vrijeme s popisa" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%02d-%02d-%04d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Nemoguć prikaz pomoći: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Dodaj podključ u %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (samo potpis)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (samo šifriranje)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (samo potpis)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (samo šifriranje)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Vrsta _ključa" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Dužina _ključa" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Dužina ključa" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Datum isteka" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Nikad ne is_tječe" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Ako ključ nikada ne istječe" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Stvori novi podključ" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Dodaj ID korisnika u %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Nemoguće dodavanje ID korisnika" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Dodaj ID korisnika" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Puno _ime" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Mora biti dužine bar 5 znakova" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_Adresa e-pošte" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Neobavezna adresa e-pošte" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Ko_mentar ključa" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Neobavezan komentar opisa ključa" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Stvori novi ID korisnika" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Dešifriranje neuspjelo. Najvjerojatnije nemate ključ dešifriranja." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Radnja je prekinuta" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Neispravan datum isteka" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Datum isteka mora biti u budućnosti" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Nemoguća promjena datuma isteka" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Istječe: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Nikada ne istječe" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "P_romijeni" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Višestruki ključevi" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Datum ključa" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Zaštičeni PGP ključevi" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP ključevi" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Nemoguće stvaranje PGP ključa" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Lozinka za novi PGP ključ" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Upišite lozinku za vaš novi ključ dva puta." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Pri stvaranju ključa moramo stvoriti puno naizmjeničnih\n" +"podataka i trebamo vašu pomoć. Bilo bi dobro da\n" +"izvodite neke druge radnje poput tipkanja po tipkovnici,\n" +"pomicanja miša, korištenja aplikacija.\n" +"To pruža sustava naizmjenične podatka koji su mu potrebni." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Stvaranje ključa" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Naziv mora sadržavati najmanje 5 znakova." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Novi PGP ključ" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"PGP ključ omogućuje vam šifriranje e-pošte ili datoteka prema ostalim " +"korisnicima." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Napredne mogućnosti ključa" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Komentar" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Vrsta _šifriranja" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "Jačina _ključa (bitovi)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "D_atum isteka" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Ni_kada ne istječe" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "S_tvori" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Stvori novi ključ" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Sigurno želite trajno ukloniti %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Sigurno želite trajno ukloniti %d ključ?" +msgstr[1] "Sigurno želite trajno ukloniti %d ključa?" +msgstr[2] "Sigurno želite trajno ukloniti %d ključeva?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Neispravna lozinka" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Ovo je treći put kako ste upisali neispravnu lozinku. Pokušajte ponovno." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Pogrešna lozinka." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Upišite novu lozinku za \"%s\"" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Upišite lozinku za \"%s”" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Upišite novu lozinku" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Upišite lozinku" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Lozinka" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Učitan %d ključ" +msgstr[1] "Učitano %d ključa" +msgstr[2] "Učitano %d ključeva" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Neispravan podatak ključa (nedostaju UID-evi). To može uzrokovati računalo s " +"postavljenim budućim datumom ili nedostaje vlastiti potpis." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG ključ" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: zadani direktorij skupa ključeva" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Fotografija je prevelika\n" +"Preporučena veličina fotografije u vašem ključu je %d x %d piksela." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Ne mijenjaj veličinu" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Promijeni veličinu" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Ovo nije datoteka slike, ili je neprepoznata vrsta datoteke slike. Pokušajte " +"koristiti JPEG sliku." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Sve datoteke slika" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Sve JPEG datoteke" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Sve datoteke" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Odaberite fotografiju za dodavanje ključu" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Otvori" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Nemoguća priprema fotografije" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Nemogućae dodavanje fotografije" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Datoteka ne može biti učitana. Možda je neispravnog formata" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Sigurno želite ukloniti trenutnu fotografiju iz vašeg ključa?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Nemoguće brisanje fotografije" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Nemoguć opoziv podključa" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Opozovi: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Bez razloga" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Nema razloga za opoziv ključa" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Kompromitirano" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Ključ je kompromitiran" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Promijenjen" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Ključ je promijenjen" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Ne koristi se" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Ključ se više ne koristi" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Upravo ćete dodati %s kao opoziv za %s. Ova radnja se ne može prekinuti! " +"Sigurno želite nastaviti?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Nemoguće dodati opoziv" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Razumijem da će ovaj tajni ključ biti trajno obrisan." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Ovaj ključ je već potpisao\n" +"\"%s\"" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Nemoguće potpisivanje ključa" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Nema upotrebljivih ključeva potpisa" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Nemate osobne PGP ključeve koji se mogu koristiti za određivanje vašeg " +"povjerenja ovom ključu." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Potpiši ključ" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Potpisivanjem vi ukazujete vaše povjerenje kako ovaj ključ pripada:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Naziv ključa" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Koliko oprezno ste provjerili ovaj ključ?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Nikako" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Oprezno" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Vrlo oprezno" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Nikako: znači kako vjerujete da ključ pripada osobi koja tvrdi da ga " +"posjeduje, ali ne možete ili niste provjerili je li to istina." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Oprezno: znači kako ste učinili opreznu provjeru da ključ pripada " +"osobi koja tvrdi da ga posjeduje. Na primjer, možete pročitati otisak " +"vlasniku putem telefona." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Vrlo oprezno: Odaberite ovo samo ako ste u potpunosti sigurni kako je " +"ključ izvoran." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Možete koristiti fotografsku indentifikaciju koja se teško krivotvori (poput " +"putovnica) za osobnu provjeru da je ime u ključu ispravno. Trebali biste još " +"koristiti e-poštu kako bi provjerili pripada li adresa e-pošte vlasniku." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Kako će ostali korisnici vidjeti ovaj potpis:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Ostali korisnici ne mogu vidjeti ovaj potpis" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Ovaj potpis mogu opozvati kasnijeg datuma." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Potpiši ključ kao:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Potpisao:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Potpis" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Nepoznato" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Pretraga nije određena. Poslužitelj \"%s\" je pronašao previše ključeva." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Nemoguća komunikacija s poslužiteljem \"%s\": %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP poslužitelj ključeva" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Nemoguć uvoz ključa: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Uvoz ključa uspješan" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Uvoz" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Nemoguć uvoz ključeva" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Udaljeni ključevi" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Udaljeni ključevi sadrže \"%s\"" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Neuspjela pretraga ključeva." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Dvostruko kliknite na ključ kako bi ga provjerili, ili kliknite tipku uvoza " +"kako bi ga uvezli u svoj skup ključeva." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Pretraži udaljene ključeve" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Ovo će pronaći ključeve drugih korisnika na Internetu. Ti se ključevi zatim " +"mogu uvesti u vaš lokalni skup ključeva." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Pretraži ključeve koji sadrže: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Gdje pretraživati:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Poslužtelji ključeva:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Dijeljeni ključevi blizu mene:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Pretraži" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Nemoguća objava ključeva na poslužitelju" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Nemoguće preuzimanje ključeva s poslužitelja: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d ključ je odabran za usklađivanje" +msgstr[1] "%d ključa su odabrana za usklađivanje" +msgstr[2] "%d ključeva je odabrano za usklađivanje" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Usklađivanje ključeva…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Uskladi ključeve" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Ovo će objaviti ključeve u vašem skupu ključeva stoga će oni biti dostupni " +"ostalim korisnicima. Dobit ćete svaku promjenu koju su ostali korisnici " +"napravili od kada ste primili njihove ključeve." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Ovo će preuzeti svaku promjenu koju su ostali korisnici napravili od kada " +"ste primili njihove ključeve. Nema odabranog poslužitelja ključeva za " +"objavljivanje, stoga vaši ključevi neće biti dostupni ostalim korisnicima." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Poslužitelji ključeva" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Uskladi" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Nemoguća komunikacija s %s: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Povezivanje s: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Nemoguće razrješavanje adrese: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Razrješavanje adrese poslužitelja: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP ključ poslužitelja" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP ključ" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP ključevi se koriste za šifrirnje e-pošte ili datoteka" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(i %d ostali)" +msgstr[1] "(i %d ostala)" +msgstr[2] "(i %d ostalih)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Osobni PGP ključ" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP ključ" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Nemoguća promjena ID-a glavnog korisnika" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Sigurno želite trajno obrisati \"%s\" ID korisnika?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Nemoguće brisanje ID-a korisnika" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Nepozato]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Ime/E-pošta" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "ID potpisa" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Nemoguća promjena glavne fotografije" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Greška promjene lozinke" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(nepoznato)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Ovaj ključ istječe: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Javni ključ" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Privatni ključ" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Sigurno želite trajno ukloniti podključ %d iz %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Nemoguće brisanje podključa" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Nemoguća promjena povjerenja" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Nemoguć izvoz kljuuča" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Nikada" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Upotreba" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Stvoreno" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Istječe" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Stanje" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Jačina" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Opozvano" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Istekao" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Onemogućeno" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Dobro" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "ID ključa" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Vjerujem potpisu s \"%s\" na drugim ključevima" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Ako vjerujete kako osoba koja posjeduje ovaj ključ je \"%s\", potpišite ovaj ključ:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Ako više ne vjerujete da \"%s\" posjeduje ovaj ključ, opozovite vaš " +"potpis:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Izvezi _tajni ključ" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Izvezi _javni ključ" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Ovaj ključ je opozvan" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Vlasnik ključa je opozvao ključ. Više se ne može koristiti." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Ključ je istekao" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Dodaj fotografiju u ovaj ključ" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Ukloni ovu fotografiju iz ovog ključa" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Učini ovu fotografiju glavnom fotografijom" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Idi na prijašnju fotografiju" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Idi na sljedećiu fotografiju" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Komentar" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Promijeni _lozinku" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Vlasnik" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Nazivi i potpisi ključa" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Glavni" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Potpis" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Obriši" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Dodaj ime" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Opozovi" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Nazivi i potpisi" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "ID ključa:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Vrsta:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Jačina:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Tehničke pojedinosti" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Otisak" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Stvoreno:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Istječe:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Datumi" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Zaobiđi povjerenje _korisnika:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Izvezi u datoteku" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Radnje" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Istječe" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Podključevi" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Djelomično" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Potpuno" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Bezuvjetno" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Ostali nazivi:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Vaše povjerenje ovom ključu" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Vaše povjerenje je ručno određeno u Pojedinosti kartici." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Potpiši ovaj ključ" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Opozovi potpis" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Ljudi koji su potpisali ovaj ključ:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Samo prikaži potpise od ljudi kojima ja vjerujem" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Povjerenje" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Tehničke pojedinosti:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Otisak:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Datumi:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Pokazuje povjerenje:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Vi _vjerujete vlasniku:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Šifriraj" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Potvrda" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Ovjera" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Ključ" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Podključ %d od %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Razlog za opoziv ključa" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Razlog:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Neobavezan opis za opoziv" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Opozovi ključ" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Op_ozovi" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Nemate osobnih PGP ključeva koji se mogu koristiti za potpis dokumenta ili " +"poruke." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Odaberi potpisivanje ključa" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Potpiši poruku s ključem:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Izvoz podataka" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Preuzimanje podataka" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Uvoz podataka" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Slanje podataka" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Nedostupno" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Vjerodajnica" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Vjerodajnice (DER kôdirano)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Osobna vjerodajnica i ključ" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Osobna vjerodajnica" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Sigurno želite trajno obrisati %d vjerodajnicu?" +msgstr[1] "Sigurno želite trajno obrisati %d vjerodajnice?" +msgstr[2] "Sigurno želite trajno obrisati %d vjerodajnica?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Nemoguće stvaranje privtnog ključa" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Razumijem kako će ovaj ključ biti trajno obrisan." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Bezimeni privatni ključ" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Privatni ključ" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Neimenovan" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Neuspješan izvoz jerodajnice" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Neuspješno brisanje" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Stvori" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Nemoguće stvaranje zahtjeva vjerodajnice" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Spremi zahtjev vjerodajnice" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Spremi" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Zahtjev vjerodajnice" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM kôdiran zahtjev" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Nemoguće spremanje zahtjeva vjerodajnice" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Nepoznat" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509 vjerodajnice i srodni ključevi" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Novi privatni ključ" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Stvori novi privatni ključ" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Naslov:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Spremljen u:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Vrsta ključa:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "Jačina _ključa (bitovi):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Obriši ovu vjerodajnicu ili ključ" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Izvezi vjerodajnicu" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Zatraži vjerodajnicu" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Stvori datoteku zahtjeva vjerodajnice za ovaj ključ" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Stvorite datoteku zahtjeva vjerodajnice." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Uobičajeni naziv (CN) smješteni u zahtjevu vjerodajnice." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Naziv (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Doprinijeli:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Inačica ove aplikacije" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +" gogo https://launchpad.net/~trebelnik-stefina" + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Seahorse stranica projekta" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Podaci za uvoz" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Uvoz" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Neuspjeli uvoz" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Uvezi ključ" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Sve datoteke ključa" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Ispušteni tekst" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Tekst međuspremnika" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Nemoguće otključavanje skupa ključeva" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Promijeni lozinku" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Nova _lozinka:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Potvrdi novu lozinku" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Po_tvrdi lozinku:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Potraži udaljene ključeve…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Uskladi i objavi ključ…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Osobitosti" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Priručnik" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Prečaci tipkovnice" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_O Lozinkama i ključevima" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Stavke filtra:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Prikaži o_sobno" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Prikaži _povjereno" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Prikaži sv_e" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Ključ osigurane ljuske" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Koristi se za povezivanje s drugim računalima" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG ključ" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Koristi se za dešifriranje e-pošte i datoteka" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Lozinka skupa ključa" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Koristi se za spremanje lozinka aplikacija i mreže" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Sigurno spremite lozinku ili tajnu" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Koristi se za zahtjev vjerodajnice" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Uvezi iz datoteke…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Dodaj novi ključ ili stavku" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Natrag" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Pretraži ključ ili lozinku" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filter" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Izgleda da je ova kolekcija prazna" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Skup ključeva je zaključan" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Otključaj" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Kopiraj tajnu" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Izvoz…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Svojstva" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Podesi ključ za Osiguranu ljusku…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Zaključaj" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Otključaj" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Svojstva" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Namoguće zaključavanje" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Osigurana ljuska" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Ključevi koji se koriste za siguran pristup drugim računalima" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Sigurno želite obrisati ključ osigurane ljuske \"%s\"?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Sigurno želite obrisati %u ključ osigurane ljuske?" +msgstr[1] "Sigurno želite obrisati %u ključa osigurane ljuske?" +msgstr[2] "Sigurno želite obrisati %u ključeva osigurane ljuske?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Tajni SSH ključ" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Javni SSH ključ" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH ključ" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Nema dostupne datoteke ključa za ovaj ključ." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Nemoguće učitavanje novostvorenog ključa osigurane ljuske" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Nemoguće stvaranje ključa osigurane ljuske" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Stvaranje ključa osigurane ljuske" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bita" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bita" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Nepoznata vrsta ključa!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Nepoznata vrsta" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Nemoguće preimenovanje ključa." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Nemoguća promjena ovjere ključa." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Nemoguća promjena lozinke ključa." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Greška pri brisanju SSH ključa." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Osobni SSH ključ" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH ključ" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Nečitljivi ključ osigurane ljuske)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Ključ osigurane ljuske" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Lozinka udaljenog računala" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Upišite lozinku ključa" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Lozinka za novi ključ osigurane ljuske" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Uvoz ključa: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Uvoz ključa. Upišite lozinku" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Upišite svoju lozinku osigurane ljuske:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Stari ključ lozinke" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Upišite staru lozinku za: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Novi ključ lozinke" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Upišite novu lozinku za: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Upišite novu lozinku ponovno: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Novi ključ osigurane ljuske" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Ključ osigurane ljuske (SSH) omogućuje vam sigurno povezivanje s drugim " +"računalima." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Opis" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Vaša adresa e-pošte ili podsjetnik čemu ovaj ključ služi." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Ako postoji računalo s kojim želite koristiti ovaj ključ, možete postaviti " +"to računalo da prepozna vaš novi ključ." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Samo stvori ključ" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Stvori i postavi" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Svojstva SSH ključa" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Naziv" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritam" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Dužina ključa" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Lokacija" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Javni ključ" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Kopiraj javni ključ u međuspremnik" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Udaljeni pristup" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Dopušta pristup ovom računalu s udaljene lokacije" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Izvoz" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Obriši SSH ključ" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Postavi računalo za SSH povezivanje" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Za korištenje vašeg ključa osigurane ljuske s drugim računalom koji koristi " +"SSH, već morate imati račun prijave na tom računalu." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Adresa poslužitelja:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "npr. poslužitelj-datoteke.primjer.com:ulaz" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Ime prijave:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Postavi" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH ključevi" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Nema dostupne datoteke ključa za ovaj ključ." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Nemoguće podešavanje ključeva osigurane ljuske na udaljenom računalu." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Podešavanje ključeva osigurane ljuske…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse je GNOME aplikacija za upravljanje ključevima šifriranja. Može " +#~ "se integrirati u nautilus, gedit i ostale lokacije za radnje šifiranja." + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Nemoguće dodavanje podključa" + +#~ msgid "Encryption _Type:" +#~ msgstr "Vrsta _šifriranja:" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Kombiniraj sve skupove ključeva" + +#~ msgid "Keyring is unlocked" +#~ msgstr "Skup ključeva je otključan" + +#~ msgid "Lock" +#~ msgstr "Zaključaj" + +#~ msgid "OK" +#~ msgstr "U redu" + +#~ msgid "Full _Name:" +#~ msgstr "_Puno ime:" + +#~ msgid "_Email Address:" +#~ msgstr "_Adresa e-pošte:" + +#~ msgid "_File" +#~ msgstr "_Datoteka" + +#~ msgid "_Edit" +#~ msgstr "_Uredi" + +#~ msgid "Delete selected items" +#~ msgstr "Obriši odabrane stavke" + +#~ msgid "Show the properties of this item" +#~ msgstr "Prikaži svojstva stavke" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Prikaži svojstva ovog skupa ključeva" + +#~ msgid "Prefere_nces" +#~ msgstr "Osobit_osti" + +#~ msgid "Change preferences for this program" +#~ msgstr "Promijeni osobitosti ovog programa" + +#~ msgid "_View" +#~ msgstr "_Pogled" + +#~ msgid "_About" +#~ msgstr "_O programu" + +#~ msgid "About this program" +#~ msgstr "O ovom programu" + +#~ msgid "_Contents" +#~ msgstr "_Priručnik" + +#~ msgid "Show Seahorse help" +#~ msgstr "Prikaži Seahorse pomoć" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Nova lozinka skupa ključeva" + +#~ msgid "New password…" +#~ msgstr "Nova lozinka…" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "Aplikacija uobičajeno sprema nove lozinke u zadani skup ključeva." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Promijeni lozinku otključavanja lozinke pohrane skupa ključeva" + +#~ msgid "_Show Password" +#~ msgstr "_Prikaži lozinku" + +#~ msgid "PGP Key" +#~ msgstr "PGP ključ" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Uvoz ključeva s poslužitelja ključeva" + +#~ msgid "_Remote" +#~ msgstr "_Udaljeno" + +#~ msgid "Close this window" +#~ msgstr "Zatvori ovaj prozor" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Uvezi odabrani ključ u lokalni skup ključeva" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "" +#~ "Objavite i/ili uskladite vaše ključeve s ostalim korisnicima na mreži." + +#~ msgid "Marginal" +#~ msgstr "Djelomično" + +#~ msgid "Full" +#~ msgstr "Potpuno" + +#~ msgid "Ultimate" +#~ msgstr "Bezuvjetno" + +#~ msgid "Photo " +#~ msgstr "Fotografija " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Ime:" + +#~ msgid "Email:" +#~ msgstr "E-pošta:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Dešifriraj datoteke i e-poštu poslanu vama." + +#~ msgid "Private PGP Key" +#~ msgstr "Privatni PGP ključ" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Šifriraj datoteke i e-poštu s ključem vlasnika" + +#~ msgid "- System Settings" +#~ msgstr "- Postavke sustava" + +#~ msgid "Don't display a window" +#~ msgstr "Ne prikazuj prozor" + +#~ msgid "_New" +#~ msgstr "_Novo" + +#~ msgid "Close this program" +#~ msgstr "Zatvori ovaj program" + +#~ msgid "_New…" +#~ msgstr "_Novo…" + +#~ msgid "_Import…" +#~ msgstr "_Uvoz…" + +#~ msgid "_Paste" +#~ msgstr "_Zalijepi" + +#~ msgid "Import from the clipboard" +#~ msgstr "Uvezi iz međuspremnika" + +#~ msgid "By _Keyring" +#~ msgstr "Po _skupu ključeva" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Samo prikaži osobne ključeve, vjerodajnice i lozinke" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Samo prikaži povjerene ključeve vjerodajnice i lozinke" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Prikaži sve ključeve vjerodajnice i lozinke" + +#~ msgid "New item" +#~ msgstr "Nova stavka" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Odaberi vrstu stavke za stvaranje:" + +#~ msgid "Continue" +#~ msgstr "Nastavi" + +#~ msgid "First time options:" +#~ msgstr "Mogućnosti prvog korištenja:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Za pokretanje šifriranja potrebni su vam klljučevi." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Uvezi postojeći ključ iz datoteke:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Stvori novi vlastiti ključ: " + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Pošalji ključ osigurane ljuske na drugo računalo i omogući prijavu " +#~ "koristeći taj ključ." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Koristi se za pristup drugim računalima (npr. putem terminala)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Ime:" + +#~ msgid "Identifier:" +#~ msgstr "Identifikator:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "Vlasnik ovog ključa je _ ovjeren za povezivanje s ovim računalom" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Ovo se samo odnosi na %s račun." + +#~ msgid "Key length:" +#~ msgstr "Dužina ključa:" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Pružatelj pretraživanja još nije učitan" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%d-%m-%Y" + +#~ msgid "Name:" +#~ msgstr "Naziv:" + +#~ msgid "Keyring" +#~ msgstr "Skup ključeva" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "SSH nareba je neočekivano prekinuta." + +#~ msgid "The SSH command failed." +#~ msgstr "Neuspjela SSH naredba." + +#~ msgid "E_xport..." +#~ msgstr "I_zvoz..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Pronađi udaljene ključeva..." + +#~ msgid "_New..." +#~ msgstr "_Nova..." + +#~ msgid "_Import..." +#~ msgstr "_Uvezi..." diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 00000000..d1a19cc5 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,2813 @@ +# Hungarian translation for seahorse. +# Copyright 2003, 2005, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2019, 2020 Free Software Foundation, Inc. +# This file is distributed under the same license as the seahorse package. +# +# Péter Mátó , 2003. +# Andras Timar , 2003. +# Gabor Kelemen , 2005, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016. +# Mate Ory , 2008. +# Balázs Úr , 2013, 2014, 2015, 2019, 2020. +# Balázs Meskó , 2020. +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-09-04 18:09+0200\n" +"Last-Translator: Meskó Balázs \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.1\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Kulcskiszolgáló hozzáadása" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Egyéni" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Mégse" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Mentés" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Nem törölhető" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Nem sikerült a kulcsok exportálása" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Nem sikerült exportálni az adatokat" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "Mé_gse" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Törlés" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Exportálás" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Adja meg %s PIN-kódját vagy jelszavát" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Megerősítés:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_OK" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Jelszó:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Jelszavak" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Kulcsok" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Tanúsítványok" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Beállítások" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Nincs: ne tegye közzé a kulcsokat" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Nem érvényes kulcskiszolgálócím." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Segítségért vegye fel a kapcsolatot a rendszergazdával vagy a " +"kulcskiszolgáló rendszergazdájával." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "kiinduló ideiglenes elem" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Kulcskiszolgáló típusa:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Gép:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "A kiszolgáló neve vagy címe." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "A port, melyen a kiszolgáló elérhető." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "K_ulcsok keresése:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "Kulcs_ok közzététele:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Kulcsok automatikus lekérése k_ulcskiszolgálókról" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "_Módosított kulcsok automatikus szinkronizálása kulcskiszolgálókkal" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Kulcskiszolgálók" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Ismeretlen" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Soha" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Kismértékben" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Teljesen" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Tökéletesen" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Tiltva" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Visszavonva" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Áttekintés" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Súgó" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Menü megnyitása" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Új elem létrehozása" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Elem importálása fájlból" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Keresés" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Gyorsbillentyűk listája" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Kilépés" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navigáció" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Előző kulcstartó kiválasztása" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Következő kulcstartó kiválasztása" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Oldalsáv megjelenítése (kis képernyőkön)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Kulcstartó tartalmának megjelenítése (kis képernyőkön)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Kulcsok automatikus letöltése" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"A módosított kulcsok automatikusan lekérésre kerüljenek-e a " +"kulcskiszolgálókról." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Kulcsok automatikus közzététele" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "A módosított kulcsok automatikusan közzé legyenek-e téve." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Kulcsok közzététele ezen a kulcskiszolgálón" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"A PGP-kulcsok közzététele ezen a kulcskiszolgálón. Hagyja üresen, ha nem " +"szeretné közzétenni a PGP-kulcsokat." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Az utoljára keresett minta a kulcskiszolgálón" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "A kulcskiszolgálón utoljára keresett minta." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Az utoljára használt kulcskiszolgálók" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Az a kulcskiszolgáló, amelyen utoljára keresés történt vagy üres az összes " +"kiszolgáló esetén." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Kulcstartók oldalsáv megjelenítése" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Kulcstartók oldalsáv megjelenítése a Seahorse-ban." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Mely elemek jelenjenek meg" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Szűrje a megjelenítendő elemeket. Ha üres, akkor minden elem megjelenik, ha " +"„personal” akkor a személyes kulcsok megjelenítése, ha „trusted”, akkor a " +"megbízhatóak megjelenítése." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Oldalsáv szélessége" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Az oldalsáv alapértelmezett szélessége." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Kiválasztott kulcstartók" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Az oldalsávban kiválasztott kulcstartók URI-jai." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "A Seahorse kulcsok rendezése ezen oszlop alapján" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"A Seahorse kulcskezelő főablakának rendezése ezen oszlop szerint. A " +"lehetőségek: „name” (név), „id” (azonosító), „validity” (érvényesség), " +"„expires” (lejár) „trust” (megbízhatóság) és „type” (típus). Csökkenő " +"sorrendbe rendezéshez tegyen „-” jelet az oszlopnév elé." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Az Érvényesség oszlop mutatása" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Már nincs használatban." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "A Lejár oszlop mutatása" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "A Megbízhatóság oszlop mutatása" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "A Típus oszlop mutatása" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Ablak szélessége" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Az ablak szélessége (képpontokban)." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Az ablak magassága" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Az ablak magassága (képpontokban)." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Jelszavak és titkosítási kulcsok kezelése" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "A Seahorse egy GNOME alkalmazás titkosító kulcsok kezeléséhez." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"A Seahorse programmal létrehozhat és kezelhet PGP-kulcsokat, létrehozhat és " +"kezelhet SSH-kulcsokat, közzétehet és lekérhet kulcsokat a " +"kulcskiszolgálókról, eltárolhatja a jelszavát, így nem kell állandóan " +"begépelnie azt, valamint biztonsági mentést készíthet a kulcsairól és a " +"kulcstartóról." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "A GNOME projekt" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Jelszavak és kulcsok" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "kulcstartó;titkosítás;biztonság;aláírás;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Tárolt személyes jelszavak, hitelesítési adatok és titkos információk" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Nem sikerült a feloldás" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Nem vehető fel az elem" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Jelszó vagy titkos információ" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Hálózati kapcsolat titkos információi" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Wi-Fi jelszó" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Hálózati jelszó" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "GNOME Web jelszava" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Google Chrome jelszava" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Azonnali üzenő jelszava" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Azonnaliüzenő fiók jelszava ehhez: " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Telepathy jelszava" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "GNOME Online fiókok jelszava" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Menti az elem változtatásait?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Hálózati megosztás vagy erőforrás elérése" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Webhely elérése" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Feloldja egy PGP-kulcs zárolását" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Feloldja egy SSH-kulcs zárolását" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Mentett jelszó vagy bejelentkezés" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Hálózati hitelesítési adatok" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Jelszó" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Nem lehet megváltoztatni a jelszót." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Nem állítható be a leírás." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Hiba a jelszó törlésekor." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Tárolt jegyzet" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Kulcstartó jelszava" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Titkosítási kulcs jelszava" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Kulcstároló jelszava" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Hálózatkezelő titkos információi" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Biztosan törölni akarja a(z) „%s” jelszót?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Biztosan törölni akar %d jelszót?" +msgstr[1] "Biztosan törölni akar %d jelszót?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Nem sikerült a kulcstartót hozzáadni" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Ismeretlen dátum" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Bejelentkezéskor automatikusan feloldásra kerülő kulcstartó" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Jelszavak tárolására használt kulcstartó" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Nem sikerült beállítani az alapértelmezett kulcstartót" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Nem lehet megváltoztatni a kulcstartó jelszavát" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Beállítás alapértelmezettként" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Jelszó meg_változtatása" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Biztosan törölni akarja a(z) „%s” jelszótároló kulcstartót?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Megértettem, hogy minden elem véglegesen törlésre kerül." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Jelszó megjelenítése/elrejtése" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Jelszó hozzáadása" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "K_ulcstartó:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Leírás:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Jelszó:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Hozzáadás" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Jelszókulcstartó hozzáadása" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Válassza ki az új kulcstartó nevét. A program bekéri a feloldási jelszót." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Új kulcstartónév:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Elem tulajdonságai" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Leírás" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Másolás" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Használat" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Típus" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Kiszolgáló" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Bejelentkezés" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Részletek" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Jelszó törlése" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Kulcstartó tulajdonságai" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Név" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Létrehozva" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Jelszó módosítása" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Beállítás alapértelmezettként" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Kijelzett kapcsolók" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Kijelzett dátum- és időbeállítások" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Lusta mód" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "A lusta mód nem normalizálja a megadott dátum- és időértékeket" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Év" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Kijelzett év" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Hó" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Megjelenített hónap" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Nap" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Kijelzett nap" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Óra" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Kijelzett óra" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Perc" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Kijelzett perc" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Másodperc" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Kijelzett másodperc" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Alsó határ éve" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Az alsó határ dátumának év része" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Felső határ éve" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "A felső határ dátumának év része" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Alsó határ hava" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Az alsó határ dátumának hónap része" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Felső határ hava" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "A felső határ dátumának hónap része" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Alsó határ napja" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Az alsó határ dátumának nap része" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Felső határ napja" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "A felső határ dátumának nap része" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Alsó határ órája" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Az alsó határ idejének óra része" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Felső határ órája" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "A felső határ idejének óra része" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Alsó határ perce" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Az alsó határ idejének perc része" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Felső határ perce" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "A felső határ idejének perc része" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Alsó határ másodperce" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Az alsó határ idejének másodperc része" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Felső határ másodperce" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "A felső határ idejének másodperc része" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Dátum" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "A dátum megadása közvetlenül" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Dátum kiválasztva" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "A dátum kiválasztása naptárból" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Idő" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Az idő megadása közvetlenül" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Idő kiválasztása" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Az idő kiválasztása listából" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "DE" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "DU" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d.%02d.%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d.%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d.%02d.%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d.%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d. %02d %02d." + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u.%u.%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Nem lehet megjeleníteni a súgót: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Részkulcs hozzáadása a következőhöz: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (csak aláíráshoz)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (csak titkosításhoz)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (csak aláíráshoz)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (csak titkosításhoz)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Kulcs_típus" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Kulcs_hossz" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Kulcs hossza" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Lejárati idő" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "_Soha nem jár le" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Ha a kulcs soha nem jár le" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Új részkulcs létrehozása" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Felhasználóazonosító hozzáadása ehhez: %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Nem sikerült felhasználóazonosítót hozzáadni" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Felhasználóazonosító hozzáadása" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Teljes _név" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Legalább öt karakter hosszú kell legyen" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_E-mail cím" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Opcionális e-mail cím" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Kulcs _megjegyzés" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "A kulcsot leíró opcionális megjegyzés" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Új felhasználóazonosító létrehozása" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"A visszafejtés sikertelen. Valószínűleg nem rendelkezik a visszafejtési " +"kulccsal." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "A művelet megszakítva" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Érvénytelen lejárati dátum" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "A lejárati dátumnak jövőbelinek kell lennie" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Nem lehet megváltoztatni a lejárati dátumot" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Lejárat: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "S_oha nem jár le" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Változtatás" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Többszörös kulcsok" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Kulcsadatok" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Páncélozott PGP-kulcsok" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP-kulcsok" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Nem sikerült a PGP-kulcs előállítása" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Új PGP-kulcs jelmondata" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Írja be kétszer az új kulcs jelmondatát." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Kulcs létrehozásakor rengeteg véletlenszerű adatot kell\n" +"létrehoznunk, és segítenie kell. Ilyenkor csináljon valami\n" +"mást, például gépeljen a billentyűzeten, mozgassa az egeret,\n" +"használjon más alkalmazásokat. Ez biztosítja a rendszer\n" +"számára szükséges véletlenszerű adatokat." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Kulcs előállítása" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "A név legalább öt karakter hosszú kell legyen." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Új PGP-kulcs" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"A PGP-kulcs lehetővé teszi e-mailek vagy fájlok titkosítását mások számára." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Spe_ciális kulcsbeállítások" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Megjegyzés" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_Titkosítás típusa" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "Kulcs _erőssége (bit)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "_Lejárati idő" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "S_oha nem jár le" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "_Létrehozás" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Új kulcs előállítása" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Biztosan végleg törli a következőt: %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Biztosan véglegesen töröl %d kulcsot?" +msgstr[1] "Biztosan véglegesen töröl %d kulcsot?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Hibás jelszó" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Harmadik alkalommal adott meg hibás jelszót. Próbálja újra." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Rossz jelmondat." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Írja be az új jelmondatot „%s” számára" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Írja be a jelmondatot „%s” számára" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Írja be az új jelmondatot" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Írja be a jelmondatot" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Jelmondat" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Betöltve %d kulcs" +msgstr[1] "Betöltve %d kulcs" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Érvénytelen kulcsadatok (hiányzó felhasználói azonosítók). Ezt egy jövőbe " +"állított dátumú számítógép vagy hiányzó önaláírás okozhatja." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG kulcsok" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: alapértelmezett kulcstartókönyvtár" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"A fénykép túl nagy\n" +"A kulcshoz tartozó fénykép javasolt mérete %d × %d képpont." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Ne méretezze át" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "Át_méretezés" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Ez nem képfájl vagy típusa nem ismerhető fel. Próbáljon JPEG fájlt használni." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Minden képfájl" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Minden JPEG fájl" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Minden fájl" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Válassza ki a kulcshoz adandó fényképet" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Megnyitás" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Nem készíthető elő a fénykép" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Nem adható hozzá a fénykép" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "A fájl nem tölthető be. Lehetséges, hogy a formátuma érvénytelen." + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Biztosan törölni akarja jelenlegi fényképet a kulcsról?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Nem törölhető a fénykép" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Nem sikerült a részkulcsot visszavonni" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Visszavonás: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Nincs ok" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "A kulcs visszavonásának oka nincs megadva" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Visszaélés" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "A kulccsal visszaéltek" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Elavult" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "A kulcs elavult" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Nincs használatban" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "A kulcs már nincs használatban" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Hozzá készül adni %s-t, mint %s visszavonóját. Ez a művelet nem vonható " +"vissza! Biztosan folytatja?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Nem sikerült a visszavonó hozzáadása" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Megértettem, hogy ez a személyes kulcs véglegesen törlésre kerül." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Ezt a kulcsot már aláírta:\n" +"„%s”" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Nem sikerült aláírni a kulcsot" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Nincsenek az aláíráshoz megfelelő kulcsok" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Nincsenek személyes PGP-kulcsai, amelyekkel jelezhetné a bizalmát a kulcsban." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Kulcs aláírása" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "A kulcs aláírásával kifejezi bizalmát, hogy a kulcs tulajdonosa:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Kulcs neve" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Mennyire alaposan ellenőrizte ezt a kulcsot?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Egyáltalán nem" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "S_zokásos módon" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "N_agyon alaposan" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Egyáltalán nem: azaz elhiszi, hogy a kulcs ahhoz tartozik, aki a " +"tulajdonosnak mondja magát, de nem ellenőrizte ennek valóságalapját." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Szokásos módon: azaz a megszokott módon ellenőrizte, hogy a kulcs " +"ahhoz tartozik, aki a tulajdonosnak mondja magát. Például beolvashatta a " +"kulcs ujjlenyomatát a tulajdonosnak a telefonba." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Nagyon alaposan: ezt csak akkor válassza, ha teljesen biztos a kulcs " +"eredetiségében." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"A kulcson található név helyességének ellenőrzéséhez használhat nehezen " +"hamisítható fényképes azonosítást (például útlevél). Ezen kívül e-mailben is " +"ellenőrizze, hogy az e-mail cím a tulajdonoshoz tartozik." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Hogyan fogják mások látni ezt az aláírást:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "Mások nem láthatják ezt az _aláírást" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Később _visszavonhatom ezt az aláírást." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Kulcs aláírása mint:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Aláíró:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Aláírás" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Ismeretlen" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"A keresés nem volt elég egyedi. A(z) „%s” kiszolgáló túl sok kulcsot talált." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Nem lehet kommunikálni a(z) „%s” kiszolgálóval: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP kulcskiszolgáló" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Nem sikerült importálni a kulcsot: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Kulcsimportálás sikerült" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Importálás" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Nem sikerült importálni a kulcsot" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Távoli kulcsok" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "„%s” kifejezést tartalmazó távoli kulcsok" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "A kulcsok keresése sikertelen." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Kattintson duplán egy kulcson a vizsgálatához, vagy kattintson az importálás " +"gombra a helyi kulcstartójába történő importáláshoz." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Távoli kulcsok keresése" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Ez mások kulcsait keresi meg az interneten. Ezek a kulcsok importálhatóak az " +"Ön helyi kulcstartójára." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "Kulcsok _keresése, amelyek tartalmazzák ezt: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Keresés itt:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Kulcskiszolgálók:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Megosztott kulcsok a környezetemben:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Keresés" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Nem sikerült a kulcsok közzététele a kiszolgálón" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Nem sikerült a kulcsokat letölteni a kiszolgálóról: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d kulcs kiválasztva szinkronizáláshoz" +msgstr[1] "%d kulcs kiválasztva szinkronizáláshoz" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Kulcsok szinkronizálása…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Kulcsok szinkronizálása" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Ezzel közzé fogja tenni a kulcstartóján lévő kulcsokat, így mások is " +"használhatják azokat. Ezen kívül meg fog kapni minden változtatást, amit " +"mások a kulcsaikon végrehajtottak, mióta Ön megkapta azokat." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Ez le fog tölteni minden változást, amit mások a kulcsaikon végrehajtottak, " +"mióta Ön letöltötte azokat. Nem választott ki kulcskiszolgálót a " +"közzétételhez, így az Ön kulcsai nem lesznek elérhetők mások számára." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "K_ulcskiszolgálók" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Szinkronizálás" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Nem lehet kommunikálni a következővel: „%s”: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Kapcsolódás a következőhöz: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Nem oldható fel a cím: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Kiszolgálócím feloldása: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP kulcskiszolgáló" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP-kulcsok" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "A PGP-kulcsok e-mailek és fájlok titkosítására szolgálnak" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(és még %d)" +msgstr[1] "(és még %d)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Személyes PGP-kulcs" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP-kulcs" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Nem lehet megváltoztatni az elsődleges felhasználóazonosítót" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Biztosan véglegesen törölni akarja a(z) „%s” felhasználóazonosítót?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Nem sikerült a felhasználóazonosító törlése" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Ismeretlen]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Név/e-mail" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Aláírás-azonosító" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Nem lehet megváltoztatni az elsődleges fényképet" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Hiba a jelszó megváltoztatásakor" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(ismeretlen)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "A kulcs lejárt ekkor: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — nyilvános kulcs" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — személyes kulcs" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Biztosan véglegesen törölni akarja %d részkulcsot %s kulcsból?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Nem sikerült a részkulcs törlése" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Nem módosítható a megbízhatóság" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Nem sikerült exportálni a kulcsot" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Soha" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "Azonosító" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Használat" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Létrehozva" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Lejár" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Állapot" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Erősség" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Visszavonva" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Lejárt" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Tiltva" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Jó" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Kulcsazonosító" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Megbízom „%s” aláírásaiban más kulcsokhoz" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Amennyiben úgy gondolja, hogy ez a kulcs valóban „%s” tulajdona, írja " +"alá:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Ha már nem biztos abban, hogy a kulcs „%s” tulajdona, vonja vissza az " +"aláírását:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "_Személyes kulcs exportálása" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "_Nyilvános kulcs exportálása" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "A kulcs vissza lett vonva" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "A kulcs tulajdonosa visszavonta a kulcsot, amely már nem használható." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "A kulcs lejárt" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Fénykép hozzáadása a kulcshoz" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Fénykép eltávolítása a kulcsról" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "A fénykép elsődlegessé tétele" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Ugrás az előző fényképre" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Ugrás a következő fényképre" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Megjegyzés" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Jelmondat meg_változtatása" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Tulajdonos" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Kulcsnevek és aláírások" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Elsődleges" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Aláírás" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Törlés" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "Né_v hozzáadása" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Visszavonás" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Nevek és aláírások" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Kulcsazonosító:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Típus:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Erősség:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Technikai részletek" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Ujjlenyomat" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Létrehozva:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Lejárat:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Dátumok" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Megbízhatóság _felülbírálása:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Exportálás fájlba" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Műveletek" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Lejárat" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Részkulcsok" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Kismértékben" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Teljesen" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Tökéletesen" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Egyéb nevek:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "A kulcs megbízhatósága" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "A bizalma a Részletek fülön van saját kezűleg megadva." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "K_ulcs aláírása" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Aláírás visszavonása" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "A k_ulcsot aláíró személyek:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Csak a megbízható személyek aláírásainak megjelenítése" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Megbízhatóság" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Technikai részletek:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Ujjlenyomat:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Dátumok:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Megbízhatóság jelzése:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Me_gbízik a tulajdonosban:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Titkosítás" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Tanúsítás" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Hitelesítés" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Kulcs" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "%2$s %1$d részkulcsa" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "A kulcs visszavonásának oka" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Ok:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "A visszavonás opcionális leírása" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Kulcs visszavonása" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "_Visszavonás" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Nincsenek dokumentumok vagy üzenetek aláírására használható személyes PGP " +"kulcsai." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Válasszon aláíró kulcsot" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "Aláírás a kö_vetkező kulccsal:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Adatok exportálása" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Adatok letöltése" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Adatok importálása" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Adatok küldése" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Nem érhető el" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Tanúsítvány" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Tanúsítványok (DER kódolású)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Személyes tanúsítvány és kulcs" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Személyes tanúsítvány" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Biztosan véglegesen töröl %d tanúsítványt?" +msgstr[1] "Biztosan véglegesen töröl %d tanúsítványt?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Nem sikerült a személyes kulcs előállítása" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Megértettem, hogy ez a kulcs véglegesen törlésre kerül." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Névtelen személyes kulcs" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Személyes kulcs" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Névtelen" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "A tanúsítvány exportálása sikertelen" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Nem törölhető" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Létrehozás" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Nem sikerült a tanúsítványkérést létrehozni" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Tanúsítványkérés mentése" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "Menté_s" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Tanúsítványkérés" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM-kódolású kérés" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Nem menthető a tanúsítványkérés" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Ismeretlen" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509 tanúsítványok és kapcsolódó kulcsok" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Új személyes kulcs" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Új személyes kulcs létrehozása" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Címke:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Tárolva itt:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Kulcs_típus:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "Kulcs _erőssége (bit):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Tanúsítvány vagy kulcs törlése" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Tanúsítvány exportálása" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Tanúsítvány kérése" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Tanúsítványkérési fájl létrehozása ehhez a kulcshoz" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Tanúsítványkérési fájl létrehozása." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "A tanúsítványkérésbe elhelyezendő közönséges név (CN)." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Név (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Közreműködők:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Ezen alkalmazás verziója" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Kelemen Gábor \n" +"Mátó Péter \n" +"Meskó Balázs \n" +"Őry Máté \n" +"Tímár András \n" +"Úr Balázs " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "A Seahorse projekt honlapja" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Importálandó adatok" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importálás" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Az importálás sikertelen" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Kulcs importálása" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Minden kulcsfájl" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Ejtett szöveg" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Vágólapszöveg" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Nem sikerült a kulcstartót feloldani" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Jelmondat megváltoztatása" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Új _jelmondat:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Új jelmondat megerősítése" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Jelmondat _megerősítése:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "Távoli kulcsok _keresése…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "Kulcsok _szinkronizálása és közzététele…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Beállítások" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Súgó" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Gyorsbillentyűk" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "A Jelszavak és kulcsok _névjegye" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Elemek szűrése:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Sz_emélyes megjelenítése" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "_Megbízható megjelenítése" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Össze_s megjelenítése" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "SSH-kulcs" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Más számítógépek eléréséhez használható" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG-kulcs" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "E-mailek és fájlok titkosításához használható" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Jelszókulcstartó" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Alkalmazás- és hálózati jelszavak tárolására használatos" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Jelszó vagy titkos információ biztonságos tárolása" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Tanúsítvány kérésére használatos" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importálás fájlból…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Új kulcs vagy elem hozzáadása" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Vissza" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Kulcs vagy jelszó keresése" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Szűrő" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Ez a gyűjtemény üresnek tűnik" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Kulcstartó zárolva" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Feloldás" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Titok másolása" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Exportálás…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Tulajdonságok" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Kulcs beállítása az SSH-hoz…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Zárolás" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Feloldás" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Tulajdonságok" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Nem sikerült a zárolás" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Biztonságos parancsértelmező" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Más számítógépekhez való biztonságos csatlakozásra használható kulcsok" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Biztosan törölni akarja a(z) „%s” SSH-kulcsot?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Biztosan véglegesen töröl %u SSH-kulcsot?" +msgstr[1] "Biztosan véglegesen töröl %u SSH-kulcsot?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Személyes SSH-kulcsok" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Nyilvános SSH-kulcsok" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH-kulcs" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Nem áll rendelkezésre nyilvános kulcsfájl ehhez a kulcshoz." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Nem sikerült az új SSH-kulcs betöltése" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Nem sikerült az SSH-kulcs előállítása" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "SSH-kulcs előállítása" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bites" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bites" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Ismeretlen kulcstípus!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Ismeretlen típus" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Nem sikerült a kulcs átnevezése." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Nem sikerült megváltoztatni a kulcs hitelesítését." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Nem sikerült megváltoztatni a kulcs jelmondatát." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Hiba az SSH-kulcs törlésekor." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Személyes SSH-kulcs" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH-kulcs" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(olvashatatlan SSH-kulcs)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "SSH-kulcs" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Távoli gép jelszava" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Írja be a kulcs jelmondatát" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Az új SSH-kulcs jelmondata" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Kulcs importálása: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Kulcs importálása. Írja be a jelmondatot" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Adja meg SSH jelmondatát:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Régi kulcs jelmondata" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Írja be %s régi jelmondatát" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Kulcs új jelmondata" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Írja be az új jelmondatot %s számára" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Írja be ismét az új jelmondatot: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Új SSH-kulcs" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Az SSH-kulcs lehetővé teszi a biztonságos csatlakozást más számítógépekhez." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Leírás" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Az e-mail címe vagy valamilyen emlékeztető a kulcs funkciójáról." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Ha van olyan számítógép, amelyhez a kulcsot kívánja használni, akkor " +"beállíthatja a számítógépet az új kulcs felismerésére." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Csak létrehozás" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Létrehozás és beállítás" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH-kulcs tulajdonságai" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Név" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritmus" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Kulcshossz" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Hely" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Nyilvános kulcs" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Nyilvános kulcs másolása a vágólapra" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Távoli elérés" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Lehetővé teszi a számítógép elérését távolról" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Exportálás" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "SSH-kulcs _törlése" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Számítógép beállítása SSH kapcsolathoz" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Másik, SSH-t használó számítógépen SSH-kulcs használatához már rendelkeznie " +"kell felhasználói fiókkal az adott gépre." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Kiszolgáló _címe:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "például: fájlkiszolgáló.példa.hu:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "Bejelentkezési _név:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Beállítás" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH kulcsok" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Nem áll rendelkezésre személyes kulcsfájl ehhez a kulcshoz." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Nem állíthatók be SSH-kulcsok a távoli számítógépen." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "SSH-kulcsok beállítása…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "A Seahorse egy GNOME alkalmazás titkosító kulcsok kezeléséhez. " +#~ "Integrálódik a Nautilus, gedit és egyéb alkalmazásokba a titkosítási " +#~ "műveletekhez." diff --git a/po/id.po b/po/id.po new file mode 100644 index 00000000..96c7b6cc --- /dev/null +++ b/po/id.po @@ -0,0 +1,3059 @@ +# Translation of seahorse to Bahasa Indonesia +# Copyright (C) 2010 THE seahorse'S COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# +# Andika Triwidada , 2010, 2011, 2012, 2013, 2014. +# Dirgita , 2011, 2012, 2014. +# Kukuh Syafaat , 2017-2020. +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-08-14 18:46+0700\n" +"Last-Translator: Kukuh Syafaat \n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural= n!=1;\n" +"X-Generator: Poedit 2.4.1\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Tambah Peladen Kunci" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Gubahan" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Batal" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Simpan" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Tidak dapat menghapus" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Tidak dapat mengekspor kunci" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Tidak dapat mengekspor data" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Batal" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Hapus" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Ekspor" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Masukkan PIN atau kata sandi bagi: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Konfirmasi:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_OK" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Kata Sandi:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Kata Sandi" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Kunci" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Sertifikat" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Preferensi" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Tak satupun: Jangan publikasikan kunci" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Bukan alamat Peladen Kunci yang valid." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Untuk bantuan silakan hubungi administrator sistem Anda atau administrator " +"peladen kunci." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "butir awal sementara" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Tipe Peladen Kunci:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Host:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Nama host atau alamat dari peladen." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Nomor port untuk mengakses peladen." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Cari kunci melalui:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Publikasikan kunci ke:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Otomatis ambil kunci dari peladen _kunci" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Oto_matis selaraskan kunci yang berubah dengan peladen kunci" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Peladen Kunci" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Tak diketahui" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Tak pernah" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Sekedarnya" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Penuh" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Paling dipercaya" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Dimatikan" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Dicabut" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Ikhtisar" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Bantuan" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Buka menu" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Buat suatu butir baru" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Impor butir dari berkas" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Cari" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Daftar pintasan" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Keluar" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navigasi" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Pilih ring kunci sebelumnya" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Pilih ring kunci berikutnya" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Tampilkan bilah sisi (di layar kecil)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Tampilkan isi ring kunci (di layar kecil)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Ambil kunci secara otomatis" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Apakah kunci harus diambil secara otomatis dari peladen utama atau tidak." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Publikasi kunci otomatis" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Apakah kunci dimodifikasi atau tidak akan diterbitkan secara otomatis." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Publikasikan kunci ke peladen kunci ini" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Peladen kunci untuk mempublikasikan kunci PGP. Atau kosong untuk menahan " +"penerbitan kunci PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Pola pencarian peladen kunci terakhir" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Pola pencarian terakhir mencari terhadap peladen kunci." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Peladen kunci terakhir yang digunakan" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Peladen kunci terakhir pencarian dilakukan terhadap atau kosong untuk semua " +"peladen utama." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Tampilkan bilah sisi ring kunci" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Tampilkan bilah sisi ring kunci pada Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Butir mana yang ditampilkan" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Penyaring butir mana yang akan ditampilkan. Jika kosong, tunjukkan semua " +"item, jika \"pribadi\" tunjukkan kunci pribadi, jika \"tepercaya\" tampilkan " +"tepercaya." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Lebar panel samping" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Lebar bawaan panel samping." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Ring kunci yang dipilih" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "URI dari ring kunci yang dipilih pada bilah sisi." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Kolom untuk mengurutkan kunci Seahorse" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Tentukan kolom untuk mengurutkan jendela utama pengatur utama Seahorse. " +"Kolomnya adalah: \"nama\", \"id\", \"validitas\", \"kedaluwarsa\", " +"\"terpercaya\", dan \"jenis\". Letakkan \"-\" di depan nama kolom untuk " +"mengurutkan dalam urutan menurun." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Tampilkan kolom validitas" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Tidak lagi digunakan." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Tampilkan kolom kedaluwarsa" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Tampilkan kolom terpercaya" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Tampilkan kolom jenis" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Lebar dari jendela" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Lebar (dalam piksel) dari jendela." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Tinggi dari jendela" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Tinggi (dalam piksel) dari jendela." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Kelola kata sandi dan kunci enkripsi Anda" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse adalah aplikasi GNOME untuk mengelola kunci enkripsi." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Dengan seahorse Anda dapat membuat dan mengelola kunci PGP, membuat dan " +"mengelola kunci SSH, menerbitkan dan mengambil kunci dari peladen kunci, " +"menyinggahkan frasa sandi Anda sehingga Anda tak perlu setiap kali " +"mengetikkannya, dan membuat cadangan kunci dan ring kunci Anda." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Proyek GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Kata Sandi dan Kunci" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "ring kunci;enkripsi;keamanan;tanda tangan;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Kata sandi, kredensial, dan rahasia pribadi yang tersimpan" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Tidak dapat membuka kunci" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Tidak dapat menambah butir" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Kata Sandi atau Rahasia" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Sambungan jaringan rahasia" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Kata sandi Wi-Fi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Kata sandi jaringan" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Kata sandi GNOME Web" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Kata sandi Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Kata sandi perpesanan instan" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Kata sandi akun IM untuk " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Kata sandi Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Kata sandi Akun Daring GNOME" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Simpan perubahan untuk butir ini?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Mengakses suatu sumber daya atau share jaringan" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Akses suatu situs web" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Buka kunci suatu kunci PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Buka kunci suatu kunci Secure Shell" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Kata sandi atau log masuk tersimpan" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Kredensial Jaringan" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Kata Sandi" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Tidak dapat mengubah kata sandi." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Tidak dapat menata keterangan." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Galat menghapus kata sandi." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Catatan tersimpan" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Kata sandi ring kunci" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Kata sandi kunci enkripsi" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Kata sandi penyimpanan kunci" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Rahasia Manajer Jaringan" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Anda yakin ingin menghapus kata sandi \"%s\"?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Anda yakin ingin menghapus %d kata sandi?" +msgstr[1] "Anda yakin ingin menghapus %d kata sandi?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Tidak dapat menambah ring kunci" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Tanggal tak dikenal" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Sebuah ring kunci yang secara otomatis terbuka saat log masuk" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Suatu ring kunci dipakai untuk menyimpan kata sandi" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Tidak dapat menata ring kunci bawaan" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Tidak dapat mengubah kata sandi ring kunci" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "Tata _sebagai baku" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Ubah Kata _Sandi" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Anda yakin ingin menghapus ring kunci kata sandi \"%s\"?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Saya paham bahwa semua butir akan dihapus secara permanen." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Tampilkan/sembunyikan kata sandi" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Tambah Kata Sandi" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "Cincin _Kunci:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "Ke_terangan:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "Kata _Sandi:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Tambah" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Tambahkan ring kunci kata sandi" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Silakan pilih suatu nama bagi ring kunci baru. Anda akan ditanyai kata sandi " +"untuk membuka kunci." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Nama Ring Kunci Baru:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Properti Butir" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Deskripsi" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Salin" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Pakai" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Jenis" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Peladen" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Log Masuk" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Rincian" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Hapus Kata Sandi" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Properti ring kunci" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Nama" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Dibuat pada" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Ubah kata sandi" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Atur sebagai bawaan" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Tampilkan bendera" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Properti tanggal dan/atau waktu yang ditampilkan" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Moda malas" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Moda malas tidak menormalkan nilai waktu dan tanggal" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Tahun" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Tahun yang ditampilkan" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Bulan" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Bulan yang ditampilkan" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Hari" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Hari dari bulan yang ditampilkan" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Jam" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Jam yang ditampilkan" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Menit" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Menit yang ditampilkan" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Detik" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Detik yang ditampilkan" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Batas bawah tahun" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Bagian tahun dari batas bawah tanggal" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Batas atas tahun" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Bagian tahun dari batas atas tanggal" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Batas bawah bulan" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Bagian bulan dari batas bawah tanggal" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Batas atas bulan" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Bagian bulan dari batas atas tanggal" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Batas bawah hari" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Bagian hari dari batas bawah tanggal" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Batas atas hari" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Bagian hari dari batas atas tanggal" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Batas bawah jam" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Bagian jam dari batas bawah waktu" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Batas atas jam" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Bagian jam dari batas atas waktu" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Batas bawah menit" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Bagian menit dari batas bawah waktu" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Batas atas menit" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Bagian menit dari batas atas waktu" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Batas bawah detik" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Bagian detik dari batas bawah waktu" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Batas atas detik" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Bagian detik dari batas atas waktu" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Tanggal" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Masukkan tanggal secara langsung" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Pilih Tanggal" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Pilih tanggal dari suatu kalender" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Waktu" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Masukkan waktu secara langsung" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Pilih Waktu" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Pilih waktu dari suatu daftar" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Tak dapat menampilkan bantuan: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Tambah sub kunci ke %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (hanya tanda tangan)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (hanya enkripsi)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (hanya tanda tangan)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (hanya enkripsi)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "_Tipe Kunci" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "_Panjang Kunci" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Panjang Kunci" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Tanggal Kedaluwarsa" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Tak Pernah _Kadaluarsa" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Bila kunci tak pernah kedaluwarsa" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Buat suatu sub kunci baru" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Menambah ID pengguna ke %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Tidak dapat menambah ID pengguna" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Tambah ID Pengguna" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_Nama Lengkap" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Panjangnya mesti paling tidak 5 karakter" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "Alamat Sur_el" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Alamat surel tambahan" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Ko_mentar Kunci" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Komentar tambahan yang menjelaskan kunci" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Buat ID pengguna baru" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Dekripsi gagal. Anda barangkali tidak memiliki kunci dekripsi." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Operasi dibatalkan" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Tanggal kedaluwarsa tak valid" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Tanggal kedaluwarsa mesti di masa depan" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Tidak dapat mengubah tanggal kedaluwarsa" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Kadaluarsa: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "Tak per_nah kedaluwarsa" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "Uba_h" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Kunci Berganda" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Data Kunci" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Kunci PGP yang terbungkus" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Kunci PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA Elgamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Tidak dapat membuat kunci PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Frasa sandi bagi kunci PGP Baru" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Masukkan frasa sandi bagi kunci Anda dua kali." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Ketika membuat sebuah kunci, kami harus membuat\n" +"banyak sekali data acak yang memerlukan bantuan\n" +"dari Anda. Adalah hal yang sangat bagus apabila Anda\n" +"melakukan aksi lain seperti mengetik, menggerakkan\n" +"tetikus, maupun memakai aplikasi. Ini memberi\n" +"sistem data acak yang diperlukannya tersebut." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Menjangkitkan kunci" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Panjang nama harus minimal 5 karakter." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Kunci PGP baru" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Suatu kunci PGP memungkinkan Anda mengenkripsi surel atau berkas ke orang " +"lain." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Opsi kunci tingk_at lanjut" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Komentar" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_Tipe Enkripsi" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "Kekuatan Kun_ci (bit)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Tanggal Kedalu_warsa" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Tak _Pernah Kadaluarsa" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "_Buat" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Buat suatu kunci baru" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Anda yakin ingin menghapus %s secara permanen?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Anda yakin ingin menghapus %d kunci secara permanen?" +msgstr[1] "Anda yakin ingin menghapus %d kunci secara permanen?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Kata sandi salah" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Ini kali ketiga Anda memasukkan kata sandi yang salah. Silakan coba lagi." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Frasa sandi salah." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Masukkan frasa sandi baru bagi \"%s\"" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Masukkan frasa sandi untuk \"%s\"" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Masukkan frasa kunci baru" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Masukkan frasa sandi" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Frasa Sandi" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Termuat %d kunci" +msgstr[1] "Termuat %d kunci" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Data kunci tak valid (tak ada UID). Ini mungkin karena suatu komputer dengan " +"tanggal yang ditata di masa depan atau tanda-tangan sendiri yang hilang." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Kunci GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: direktori ring kunci baku" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Foto terlalu besar\n" +"Ukuran yang disarankan untuk foto bagi kunci Anda adalah %d x %d piksel." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "Jangan Ubah Ukura_n" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "Ubah Uku_ran" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Ini bukan berkas citra, atau berkas citra yang tak dikenal. Cobalah memakai " +"citra JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Semua berkas citra" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Semua berkas JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Semua berkas" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Pilih Foto untuk Ditambahkan ke Kunci" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "B_uka" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Tidak dapat menyiapkan foto" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Tidak dapat menambah foto" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Berkas tak dapat dimuat. Mungkin bentuknya tak valid" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Anda yakin ingin menghapus foto kini dari kunci Anda?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Tidak dapat menghapus foto" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Tidak dapat mencabut sub kunci" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Mencabut: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Tanpa alasan" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Tanpa alasan untuk mencabut kunci" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Bocor" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Kunci telah bocor" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Diganti Baru" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Kunci telah diganti dengan yang lebih baru" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Tak Dipakai" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Kunci tidak lagi digunakan" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Anda akan menambah %s sebagai pencabut bagi %s. Operasi ini tak bisa " +"dibatalkan! Anda yakin akan melanjutkan?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Tidak dapat menambah pencabut" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Saya paham bahwa kunci rahasia ini akan dihapus secara permanen." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Kunci ini telah ditandatangi oleh\n" +"\"%s\"" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Tidak dapat menandatangani kunci" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Tak ada kunci yang dapat dipakai untuk menanda-tangani" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Anda tak punya kunci PGP pribadi yang dapat dipakai untuk mengindikasikan " +"kepercayaan Anda atas kunci ini." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Tanda Tangani Kunci" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"Dengan menanda-tangani Anda mengindikasikan kepercayaan Anda bahwa kunci ini " +"milik:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Nama Kunci" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Seberapa hati-hati Anda telah periksa kunci ini?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "Tanpa apapun" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "Dengan _santai" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "Dengan Sangat _Hati-hati" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Tanpa apapun: berarti Anda percaya bahwa kunci dimiliki oleh orang " +"yang mengklaim memilikinya, tapi Anda tidak dapat atau tidak memverifikasi " +"ini sebagai fakta." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Santai: berarti Anda telah melakukan verifikasi secara santai bahwa " +"kunci dimiliki oleh orang yang mengklaim memilikinya. Sebagai contoh, Anda " +"dapat membaca sidik jari kunci ke pemilik melalui telepon." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Dengan Sangat Berhati-hati: Pilih ini hanya jika Anda amat sangat " +"yakin bahwa kunci ini asli." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Anda dapat memakai identifikasi foto yang sulit dipalsu (seperti misalnya " +"paspor) untuk menguji secara pribadi bahwa nama pada kunci adalah benar. " +"Anda juga mesti telah memakai surel untuk memeriksa bahwa alamat email " +"memang milik sang pemilik tersebut." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Bagaimana orang lain melihat tanda tangan ini:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Orang lain tak boleh melihat tanda tangan ini" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Saya dapat mencabut tanda tangan ini di kemudian ha_ri." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Tanda tangani kunci sebagai:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Penandatangan:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Tandatangani" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Tak diketahui" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Pencarian tidak cukup spesifik. Peladen \"%s\" menemukan terlalu banyak " +"kunci." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Tidak dapat berkomunikasi dengan peladen \"'%s\": %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Peladen Kunci HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Tidak dapat mengimpor kunci: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Impor kunci berhasil" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Impor" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Tidak dapat mengimpor kunci" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Kunci Jauh" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Kunci jauh memuat \"%s\"" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Pencarian kunci gagal." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Klik dua kali pada kunci untuk memeriksanya, atau klik tombol impor untuk " +"mengimpornya ke ring kunci lokal Anda." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Cari Kunci Jauh" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Ini akan mencari kunci milik orang lain di Internet. Kunci tersebut kemudian " +"dapat diimpor ke ring kunci lokal Anda." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Cari kunci yang memuat: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Mencari di mana:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Peladen Kunci:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Kunci Dipakai Bersama Dekat Aku:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Cari" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Tidak dapat mempublikasikan kunci ke peladen" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Tidak dapat mengambil kunci dari peladen: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d kunci dipilih untuk penyelarasan" +msgstr[1] "%d kunci dipilih untuk penyelarasan" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Menyelaraskan kunci…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Selaraskan Kunci" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Ini akan mempublikasikan kunci pada ring kunci Anda sehingga mereka dapat " +"dipakai orang lain. Anda juga mendapat perubahan yang dilakukan orang lain " +"sejak Anda menerima kunci mereka." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Ini akan mengambil sebarang perubahan yang telah dilakukan orang lain sejam " +"Anda menerima kunci mereka. Tak ada peladen kunci yang dipilih untuk " +"publikasi, sehingga kunci Anda tak akan disediakan bagi orang lain." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Peladen _Kunci" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Selaraskan" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Tidak dapat berkomunikasi dengan %s': %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Menyambung ke: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Tidak dapat memecah alamat: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Memecah alamat peladen: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Peladen Kunci LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Kunci PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "Kunci PGP dipakai untuk mengenkripsi surel atau berkas" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(dan %d lainnya)" +msgstr[1] "(dan %d lainnya)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Kunci pribadi PGP" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Kunci PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Tidak dapat mengubah ID pengguna primer" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Anda yakin ingin menghapus ID pengguna \"%s\" selamanya?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Tidak dapat menghapus ID pengguna" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Tak diketahui]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Nama/Email" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "ID Tanda Tangan" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Tidak dapat mengubah foto utama" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Galat mengganti kata sandi" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(tidak diketahui)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Kunci ini kedaluwarsa pada: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Kunci Publik" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Kunci Privat" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Anda yakin ingin menghapus sub kunci %d dari %s selamanya?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Tidak dapat menghapus sub kunci" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Tidak dapat mengubah kepercayaan" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Tidak dapat mengekspor kunci" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Tak pernah" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Cara Pakai" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Dibuat" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Kadaluwarsa" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Status" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Kekuatan" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Dicabut" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Kadaluarsa" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Dimatikan" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Bagus" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "ID Kunci" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Saya percaya tanda tangan dari \"%s\" pada kunci lain" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Bila Anda percaya bahwa orang yang memiliki kunci ini adalah \"'%s\", " +"tanda tangani kunci ini:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Bila Anda tak lagi percaya bahwa \"%s\" memiliki kunci ini, cabut " +"tanda tangan Anda:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Ekspor kunci raha_sia" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Ekspor kunci _publik" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Kunci ini telah dicabut" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Pemilik kunci telah mencabut kunci. Itu tak bisa dipakai lagi." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Kunci ini telah kedaluwarsa" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Tambah foto ke kunci ini" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Hapus foto ini dari kunci ini" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Buat foto ini foto utama" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Ke foto sebelumnya" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Ke foto berikutnya" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Komentar" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Ubah _Frasa Sandi" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Pemilik" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Tanda Tangan dan Nama Kunci" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Utama" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Tandatangani" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Hapus" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "T_ambah Nama" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Cabut" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Nama dan Tanda Tangan" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "ID Kunci:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Tipe:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Kekuatan:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Rincian Teknis" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Sidik Jari" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Dibuat:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Kadaluarsa:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Tanggal" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "_Timpa Kepercayaan Pemilik:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Ekspor ke suatu berkas" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Aksi" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Kadaluarsa" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Sub Kunci" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Sekedarnya" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Sepenuhnya" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Paling dipercaya" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "Nama _Lain:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Kepercayaan Anda atas kunci ini" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Kepercayaan Anda dinyatakan secara manual pada tab Rincian." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Tanda Tangani Kunci Ini" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Cabut Tanda Tangan" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Orang yang telah menandatangani kunci ini:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "Hanya tampilkan tanda tangan _orang yang saya percayai" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Percaya" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Rincian Teknis:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Sidik jari:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Tanggal:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Indikasikan kepercayaan:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Anda mem_percayai sang pemilik:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Enkrip" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Sertifikasikan" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Otentikasikan" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Kunci" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Sub kunci %d dari %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Alasan mencabut kunci" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Alasan:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Keterangan tambahan atas pencabutan" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Cabut kunci" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Ca_but" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Anda tak memiliki kunci PGP personal yang dapat dipakai untuk menanda " +"tangani dokumen atau pesan." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Pilih Kunci Tanda Tangan" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "Tanda tangani pe_san dengan kunci:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Mengekspor data" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Mengambil data" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Mengimpor data" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Mengirim data" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Tak tersedia" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Sertifikat" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Sertifikat (dienkode DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Kunci dan sertifikat pribadi" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Sertifikat pribadi" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Anda yakin ingin menghapus %d sertifikat secara permanen?" +msgstr[1] "Anda yakin ingin menghapus %d sertifikat secara permanen?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Tidak dapat membuat kunci privat" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Saya paham bahwa kunci ini akan dihapus secara permanen." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Kunci privat tanpa nama" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Kunci privat" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Tanpa nama" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Gagal mengekspor sertifikat" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Tidak dapat menghapus" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Buat" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Tidak dapat membuat permintaan sertifikat" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Simpan permintaan sertifikat" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Simpan" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Permintaan sertifikat" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Permintaan terenkode PEM" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Tidak dapat menyimpan permintaan sertifikat" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Tak diketahui" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Sertifikat X.509 dan kunci-kunci terkait" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Kunci privat baru" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Buat suatu kunci privat baru" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Label:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Tersimpan di:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Tipe Kunci:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Kekuatan Kunci (bit):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Hapus sertifikat atau kunci ini" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Ekspor sertifikat" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Minta Sertifikat" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Membuat berkas permintaan sertifikat bagi kunci ini" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Buat suatu berkas permintaan sertifikat." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "" +"Nama umum (common name, CN) yang ditempatkan di dalam permintaan sertifikat." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Nama (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Kontribusi:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Versi aplikasi ini" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Andika Triwidada , 2010-2014, 2016.\n" +"Dirgita , 2011.\n" +"Kukuh Syafaat , 2017-2020." + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Situs Web Proyek Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Data yang akan diimpor" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Impor" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Pengimporan gagal" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Impor Kunci" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Semua berkas kunci" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Teks yang dijatuhkan" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Teks papan klip" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Tidak dapat membuka ring kunci" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Ubah Frasa Sandi" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "_Frasa Sandi Baru:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Konfirmasi frasa sandi baru" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Kon_firmasi Frasa Sandi:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Cari kunci jauh…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Selaraskan dan publikasikan kunci…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Preferensi" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Bantuan" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "Pintasan Papan Ti_k" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "Tent_ang Kata Sandi dan Kunci" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Penyaring butir:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Tampilkan p_ribadi" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Tampilkan _terpercaya" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Tampilkan a_papun" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Kunci Secure Shell" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Dipakai untuk mengakses ke komputer lain" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Kunci GPG" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Dipakai untuk mengenkripsi surel dan berkas" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Ring kunci kata sandi" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Dipakai untuk menyimpan kata sandi jaringan dan aplikasi" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Menyimpan suatu kata sandi atau rahasia secara aman" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Dipakai untuk meminta sertifikat" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Impor dari berkas…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Tambahkan kunci atau butir baru" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Kembali" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Cari kunci atau kata sandi" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Penyaring" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Koleksi ini tampaknya kosong" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Ring kunci terkunci" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Buka Kunci" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Salin rahasia" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Ekspor…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Properti" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Konfigurasikan Kunci bagi _Secure Shell…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Mengunci" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "B_uka kunci" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Properti" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Tidak dapat mengunci" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Secure Shell" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Kunci yang dipakai untuk menyambung secara aman ke komputer lain" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Anda yakin ingin menghapus kunci secure shell \"%s\"?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Anda yakin ingin menghapus %u kunci secure shell?" +msgstr[1] "Anda yakin ingin menghapus %u kunci secure shell?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Kunci Rahasia SSH" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Kunci Publik SSH" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Kunci SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Tak tersedia berkas kunci publik bagi kunci ini." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Tidak dapat memuat kunci Secure Shell yang baru dibuat" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Tidak dapat membuat kunci Secure Shell" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Membuat Kunci Secure Shell" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bit" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bit" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Tipe kunci tak dikenal!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Tipe tak dikenal" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Tidak dapat mengubah nama kunci." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Tidak dapat mengubah otorisasi bagi kunci." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Tidak dapat mengubah frasa sandi bagi kunci." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Galat menghapus kunci SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Kunci pribadi SSH" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Kunci SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Kunci Secure Shell Tak Dapat Dibaca)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Kunci Secure Shell" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Kata Sandi Host Jauh" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Masukkan Frasa Sandi Kunci" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Frasa Sandi bagi Kunci Secure Shell Baru" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Mengimpor kunci: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Mengimpor kunci. Masukkan frasa kunci" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Masukkan frasa sandi Secure Shell Anda:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Frasa Sandi Kunci Lama" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Masukkan frasa sandi lama bagi: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Frasa Sandi Kunci Baru" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Masukkan frasa sandi baru bagi: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Masukkan frasa sandi baru lagi: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Kunci Secure Shell Baru" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Suatu kunci Secure Shell (SSH) memungkinkan Anda menyambung secara aman ke " +"komputer lain." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Deskripsi" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Alamat surel Anda, atau suatu pengingat tentang apa guna kunci ini." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Bila sudah ada komputer yang ingin Anda pakaikan kunci ini, Anda dapat " +"menyiapkan komputer tersebut untuk mengenal kunci Anda sekarang." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Hanya Buat Kunci" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Buat dan Siapkan" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Properti Kunci SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nama" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritma" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Panjang Kunci" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Lokasi" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Kunci Publik" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Salin kunci publik ke papan klip" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Akses Jauh" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Izinkan mengakses komputer ini dari jarak jauh" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Ekspor" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "Ha_pus Kunci SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Siapkan Komputer untuk Sambungan SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Untuk memakai kunci Secure Shell Anda dengan komputer lain yang memakai SSH, " +"Anda mesti telah memiliki akun log masuk pada komputer itu." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Alamat _Peladen:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "mis: fileserver.example.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "Nama _Log Masuk:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Atur" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Kunci OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Tak tersedia kunci pribadi bagi kunci publik ini." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Tidak dapat menata kunci Secure Shell pada komputer jauh." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Mengkonfigurasi Kunci Secure Shell…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse adalah aplikasi GNOME untuk mengelola kunci-kunci enkripsi. Ini " +#~ "juga terintegrasi dengan nautilus, gedit, dan tempat-tempat lain untuk " +#~ "operasi enkripsi." + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Tidak dapat menambah sub kunci" + +#~ msgid "Encryption _Type:" +#~ msgstr "_Tipe Enkripsi:" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Kombinasikan semua ring kunci" + +#~ msgid "Keyring is unlocked" +#~ msgstr "Ring kunci terbuka" + +#~ msgid "Lock" +#~ msgstr "Kunci" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Full _Name:" +#~ msgstr "_Nama Lengkap:" + +#~ msgid "_Email Address:" +#~ msgstr "Alamat _Email:" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "Aplikasi biasanya menyimpan kata sandi baru pada ring kunci baku." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Ubah kata sandi pembuka kunci dari ring kunci penyimpan sandi" + +#~ msgid "About Seahorse" +#~ msgstr "Tentang Seahorse" + +#~ msgid "About" +#~ msgstr "Tentang" + +#~ msgid "_File" +#~ msgstr "_Berkas" + +#~ msgid "_Edit" +#~ msgstr "_Sunting" + +#~ msgid "Delete selected items" +#~ msgstr "Hapus butir yang dipilih" + +#~ msgid "Show the properties of this item" +#~ msgstr "Tampilkan properti butir ini" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Tampilkan properti ring kunci ini" + +#~ msgid "Prefere_nces" +#~ msgstr "Prefere_nsi" + +#~ msgid "Change preferences for this program" +#~ msgstr "Ubah preferensi program ini" + +#~ msgid "_View" +#~ msgstr "_Tilik" + +#~ msgid "About this program" +#~ msgstr "Tentang program ini" + +#~ msgid "_Contents" +#~ msgstr "_Isi" + +#~ msgid "Show Seahorse help" +#~ msgstr "Tampilkan bantuan Seahorse" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Ring kunci baru untuk sandi" + +#~ msgid "New password…" +#~ msgstr "Sandi baru..." + +#~ msgid "_Show Password" +#~ msgstr "Tampilkan _Sandi" + +#~ msgid "PGP Key" +#~ msgstr "Kunci PGP" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Mengimpor kunci dari server kunci" + +#~ msgid "_Remote" +#~ msgstr "_Jauh" + +#~ msgid "Close this window" +#~ msgstr "Tutup jendela ini" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Impor kunci yang dipilih ke ring kunci lokal" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Publikasikan dan/atau selaraskan kunci Anda dengan yang daring." + +#~ msgid "Marginal" +#~ msgstr "Sekedarnya" + +#~ msgid "Full" +#~ msgstr "Penuh" + +#~ msgid "Ultimate" +#~ msgstr "Paling dipercaya" + +#~ msgid "Photo " +#~ msgstr "Foto" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nama:" + +#~ msgid "Email:" +#~ msgstr "Surel:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Awasandi berkas dan surel yang dikirim ke Anda." + +#~ msgid "Private PGP Key" +#~ msgstr "Kunci PGP Privat" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Enkripsi berkas dan surel ke pemilik kunci" + +#~ msgid "- System Settings" +#~ msgstr "- Pengaturan Sistem" + +#~ msgid "Don't display a window" +#~ msgstr "Jangan tampilkan jendela" + +#~ msgid "_New" +#~ msgstr "_Baru" + +#~ msgid "Close this program" +#~ msgstr "Tutup program ini" + +#~ msgid "_New…" +#~ msgstr "_Baru…" + +#~ msgid "_Import…" +#~ msgstr "_Impor…" + +#~ msgid "_Paste" +#~ msgstr "Tem_pel" + +#~ msgid "Import from the clipboard" +#~ msgstr "Impor dari clipboard" + +#~ msgid "By _Keyring" +#~ msgstr "Menurut Ring _Kunci" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Hanya tampilkan kunci, sertifikat, dan sandi pribadi" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Hanya tampilkan kunci, sertifikat, dan sandi yang terpercaya" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Tampilkan semua kunci, sertifikat, dan sandi" + +#~ msgid "New item" +#~ msgstr "Butir baru" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "Pilih jeni_s butir yang akan dibuat:" + +#~ msgid "Continue" +#~ msgstr "Lanjutkan" + +#~ msgid "First time options:" +#~ msgstr "Opsi pertama kali:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Untuk mulai menyandi Anda perlu kunci." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Impor kunci dari suatu berkas:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Buat sendiri kunci barumu: " + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Kirim kunci publik Secure Shell ke mesin lain, dan bolehkan log masuk " +#~ "memakai kunci itu." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Dipakai untuk mengakses komputer lain (mis: lewat terminal)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Nama:" + +#~ msgid "Identifier:" +#~ msgstr "Identifier:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "Pemilik kunci ini diizink_an untuk menyambung ke komputer ini" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Ini hanya berlaku bagi akun %s." + +#~ msgid "Key length:" +#~ msgstr "Panjang kunci:" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Penyedia pencarian belum dimuat" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Name:" +#~ msgstr "Nama:" + +#~ msgid "Keyring" +#~ msgstr "Ring Kunci" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "Perintah SSH tak tersangka-sangka diakhiri." + +#~ msgid "The SSH command failed." +#~ msgstr "Perintah SSH gagal." + +#~ msgid "E_xport..." +#~ msgstr "E_kspor..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Cari Kunci Jauh..." + +#~ msgid "_New..." +#~ msgstr "_Baru..." + +#~ msgid "_Import..." +#~ msgstr "_Impor..." diff --git a/po/is.po b/po/is.po new file mode 100644 index 00000000..300d1b1e --- /dev/null +++ b/po/is.po @@ -0,0 +1,3000 @@ +# translation of seahorse.master.po to icelandic +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Sveinn í Felli , 2015, 2016, 2019. +msgid "" +msgstr "" +"Project-Id-Version: seahorse.master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2019-06-15 10:34+0000\n" +"PO-Revision-Date: 2019-08-16 06:52+0000\n" +"Last-Translator: Sveinn í Felli \n" +"Language-Team: Icelandic \n" +"Language: is\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 2.0\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Bæta við lyklaþjóni" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Sérsniðið" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#, fuzzy +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Hætta við" + +#: common/add-keyserver-dialog.vala:69 +#, fuzzy +msgid "Save" +msgstr "Vista" + +#: common/catalog.vala:116 +msgid "Cannot delete" +msgstr "Get ekki eytt" + +#: common/catalog.vala:130 common/key-manager-store.vala:418 +#, fuzzy +#| msgid "Couldn't export keys" +msgid "Couldn’t export keys" +msgstr "Tókst ekki að flytja út lykla" + +#: common/catalog.vala:140 +#, fuzzy +#| msgid "Couldn't export data" +msgid "Couldn’t export data" +msgstr "Tókst ekki að flytja út gögn" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#, fuzzy +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-photos.c:76 pgp/seahorse-gpgme-photos.c:264 +#: pgp/seahorse-gpgme-photos.c:324 pgp/seahorse-pgp-generate.ui:294 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:249 +msgid "_Cancel" +msgstr "_Hætta við" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: pkcs11/pkcs11-properties.vala:201 src/sidebar.vala:650 +msgid "_Delete" +msgstr "_Eyða" + +#: common/exportable.vala:192 pgp/seahorse-pgp-private-key-properties.ui:909 +#: ssh/seahorse-ssh-key-properties.ui:280 +msgid "Export" +msgstr "Flytja út" + +#: common/interaction.vala:61 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Sláðu inn PIN eðalykilorð fyrir: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Staðfesta:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +#, fuzzy +msgid "_OK" +msgstr "Í _lagi" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Lykilorð:" + +#: common/prefs.vala:42 src/seahorse-key-manager.ui:43 +msgid "Preferences" +msgstr "Kjörstillingar" + +#: common/prefs.vala:150 +#, fuzzy +#| msgid "None: Don't publish keys" +msgid "None: Don’t publish keys" +msgstr "Ekkert: Ekki gefa lykla út" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Ekki gilt vistfang lyklaþjóns." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "Hafðu sambandi við kerfisstjórann þinn eða stjórnanda lyklaþjónsins." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "Slóð (URL)" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "upphaflegt bráðabirgðaatriði" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Tegund lyklaþjóns:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Hýsilvél:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Heiti eða vistfang þjónsins." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Gáttin þar sem tengjast á þjóninum." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Finna lykla með:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Gefa lykla út á:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Ná sjálfvirkt í ly_kla af lyklaþjónum" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Samræma breytta l_ykla sjálfvirkt við lyklaþjóna" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Lyklaþjónar" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Óþekkt" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Aldrei" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Á mörkunum" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Mikið" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Hámarks" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Óvirkt" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Afturkallað" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:6 +#, fuzzy +#| msgid "Automatically retrieve keys from _key servers" +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Ná sjálfvirkt í ly_kla af lyklaþjónum" + +#: data/org.gnome.seahorse.gschema.xml:10 +#, fuzzy +#| msgid "None: Don't publish keys" +msgid "Auto publish keys" +msgstr "Ekkert: Ekki gefa lykla út" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:15 +#, fuzzy +#| msgid "Search for keys on a key server" +msgid "Publish keys to this key server" +msgstr "Leita að lyklum á lyklaþjóni" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +#, fuzzy +msgid "Width of the side pane" +msgstr "Breidd hliðarstiku" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +#, fuzzy +#| msgid "Key is no longer used" +msgid "No longer in use." +msgstr "Lykill er ekki lengur í notkun" + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +#, fuzzy +#| msgid "Show _Trusted" +msgid "Show trust column" +msgstr "Sýna _treyst" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +#, fuzzy +#| msgid "Close this window" +msgid "Width of the window" +msgstr "Breidd gluggans" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "" + +#: data/org.gnome.seahorse.window.gschema.xml:10 +#, fuzzy +msgid "Height of the window" +msgstr "Hæð gluggans" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Halda utan um lykilorð og dulritunarlykla" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"Seahorse er GNOME-forrit til umsýslu með dulritunarlykla. Það virkar saman " +"með nautilus, gedit og öðrum forritum þar sem dulritunaraðgerða er þörf." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:13 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:105 +#, fuzzy +msgid "The GNOME Project" +msgstr "GNOME verkefnið" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:158 +#: src/seahorse-key-manager.ui:277 +msgid "Passwords and Keys" +msgstr "Lykilorð og dulritunarlyklar" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" + +#: gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Lykilorð" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:604 +#, fuzzy +#| msgid "Couldn't unlock" +msgid "Couldn’t unlock" +msgstr "Gat ekki aflæst" + +#: gkr/gkr-item-add.vala:137 +#, fuzzy +#| msgid "Couldn't add item" +msgid "Couldn’t add item" +msgstr "Gat ekki bætt við atriði" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Aðgangur að netsameign eða tilföngum" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Aðgangur að vefsvæði" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Aflæsir PGP-lykli" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Aflæsir Secure Shell SSH-lykli" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Vistað lykilorð eða aðgangur" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Auðkenni á netkerfi" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:191 +msgid "Password" +msgstr "Lykilorð" + +#: gkr/gkr-item-properties.vala:209 +#, fuzzy +#| msgid "Couldn't change password." +msgid "Couldn’t change password." +msgstr "Gat ekki breytt lykilorðinu." + +#: gkr/gkr-item-properties.vala:233 +#, fuzzy +#| msgid "Couldn't set description." +msgid "Couldn’t set description." +msgstr "Tókst ekki að setja lýsingu" + +#: gkr/gkr-item-properties.vala:268 +#, fuzzy +#| msgid "Encryption key password" +msgid "Error deleting the password." +msgstr "Lykilorð dulritunarlykils" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item.vala:425 +msgid "IM account password for " +msgstr "" + +#: gkr/gkr-item.vala:485 +#, fuzzy +#| msgid "Wrong password" +msgid "Wi-Fi password" +msgstr "Rangt lykilorð" + +#: gkr/gkr-item.vala:490 +msgid "Password or secret" +msgstr "Lykilorð eða leyniorð" + +#: gkr/gkr-item.vala:491 +msgid "Network password" +msgstr "Lykilorð fyrir netið" + +#: gkr/gkr-item.vala:492 +msgid "Stored note" +msgstr "" + +#: gkr/gkr-item.vala:493 +msgid "Keyring password" +msgstr "Lykilorð að lyklakippu" + +#: gkr/gkr-item.vala:494 +msgid "Encryption key password" +msgstr "Lykilorð dulritunarlykils" + +#: gkr/gkr-item.vala:495 +msgid "Key storage password" +msgstr "Lykilorð að lyklageymslu" + +#: gkr/gkr-item.vala:496 +#, fuzzy +#| msgid "New password..." +msgid "GNOME Web password" +msgstr "Nýtt lykilorð..." + +#: gkr/gkr-item.vala:497 +msgid "Google Chrome password" +msgstr "Google Chrome lykilorð" + +#: gkr/gkr-item.vala:498 +msgid "GNOME Online Accounts password" +msgstr "" + +#: gkr/gkr-item.vala:499 +msgid "Telepathy password" +msgstr "Telepathy lykilorð" + +#: gkr/gkr-item.vala:500 +msgid "Instant messaging password" +msgstr "" + +#: gkr/gkr-item.vala:501 +msgid "Network Manager secret" +msgstr "" + +#: gkr/gkr-item.vala:502 +msgid "Network connection secret" +msgstr "" + +#: gkr/gkr-item.vala:565 +#, fuzzy, c-format +#| msgid "Are you sure you want to delete the password '%s'?" +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Viltu eyða lykilorðinu ‚%s‘?" + +#: gkr/gkr-item.vala:567 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Viltu eyða %d lykilorði?" +msgstr[1] "Viltu eyða %d lykilorðum?" + +#: gkr/gkr-keyring-add.vala:53 +#, fuzzy +#| msgid "Couldn't add keyring" +msgid "Couldn’t add keyring" +msgstr "Gat ekki bætt við lyklakippu" + +#: gkr/gkr-keyring-properties.vala:66 +#, fuzzy +#| msgctxt "Validity" +#| msgid "Unknown" +msgid "Unknown date" +msgstr "Óþekkt dagsetning" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "" + +#: gkr/gkr-keyring.vala:192 +#, fuzzy +#| msgid "Couldn't add keyring" +msgid "Couldn’t set default keyring" +msgstr "Gat ekki bætt við lyklakippu" + +#: gkr/gkr-keyring.vala:219 gkr/gkr-keyring.vala:224 +#, fuzzy +#| msgid "Couldn't change password." +msgid "Couldn’t change keyring password" +msgstr "Gat ekki breytt lykilorðinu." + +#: gkr/gkr-keyring.vala:243 +msgid "_Set as default" +msgstr "Setja sem sjálf_gefið" + +#: gkr/gkr-keyring.vala:244 +msgid "Change _Password" +msgstr "_Breyta lykilorði" + +#: gkr/gkr-keyring.vala:255 +#, fuzzy, c-format +#| msgid "Are you sure you want to delete the password '%s'?" +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Viltu eyða lykilorðinu ‚%s‘?" + +#: gkr/gkr-keyring.vala:258 +msgid "I understand that all items will be permanently deleted." +msgstr "" + +#: gkr/gkr-password-entry.vala:35 +#, fuzzy +#| msgid "Show pass_word" +msgid "Show/Hide password" +msgstr "Birta lykil_orð" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Bæta við lykilorði" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Lyklakippa:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description:" +msgstr "Lýs_ing:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Lykilorð:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#, fuzzy +msgid "OK" +msgstr "Í lagi" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +#, fuzzy +#| msgid "New password keyring" +msgid "Add password keyring" +msgstr "Ný lyklakippa fyrir lykilorð" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Nýtt nafn á lyklakippu:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +#| msgid "Key Properties" +msgid "Item Properties" +msgstr "Eiginleikar atriðis" + +#: gkr/seahorse-gkr-item-properties.ui:43 +#, fuzzy +#| msgid "_Description:" +msgid "Description" +msgstr "Lýsing" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Afrita" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +#| msgid "Use:" +msgid "Use" +msgstr "Nota" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1217 +msgid "Type" +msgstr "Tegund" + +#: gkr/seahorse-gkr-item-properties.ui:165 +#, fuzzy +#| msgid "Server:" +msgid "Server" +msgstr "Þjónn" + +#: gkr/seahorse-gkr-item-properties.ui:191 +#, fuzzy +#| msgid "Login:" +msgid "Login" +msgstr "Innskráning" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1103 +#: pgp/seahorse-pgp-public-key-properties.ui:915 +msgid "Details" +msgstr "Nánar" + +#: gkr/seahorse-gkr-item-properties.ui:255 +#| msgid "Stored Password" +msgid "Delete Password" +msgstr "Eyða lykilorði" + +#: gkr/seahorse-gkr-keyring.ui:9 +#, fuzzy +#| msgid "Key Properties" +msgid "Keyring properties" +msgstr "Eiginleikar lykils" + +#: gkr/seahorse-gkr-keyring.ui:23 src/seahorse-key-manager.ui:487 +#, fuzzy +#| msgid "Keyring password" +msgid "Keyring is locked" +msgstr "Lykilorð að lyklakippu" + +#: gkr/seahorse-gkr-keyring.ui:33 src/seahorse-key-manager.ui:497 +#, fuzzy +#| msgid "_Unlock" +msgid "Unlock" +msgstr "Aflæsa" + +#: gkr/seahorse-gkr-keyring.ui:46 +#, fuzzy +#| msgid "Keyring password" +msgid "Keyring is unlocked" +msgstr "Lykilorð að lyklakippu" + +#: gkr/seahorse-gkr-keyring.ui:56 +#, fuzzy +#| msgid "_Lock" +msgid "Lock" +msgstr "Læsa" + +#: gkr/seahorse-gkr-keyring.ui:102 pgp/seahorse-pgp-key-properties.c:851 +msgid "Name" +msgstr "Nafn" + +#: gkr/seahorse-gkr-keyring.ui:130 +#, fuzzy +#| msgid "Created" +msgid "Created on" +msgstr "Búið til" + +#: gkr/seahorse-gkr-keyring.ui:160 +#, fuzzy +#| msgid "Change _Password" +msgid "Change password" +msgstr "Breyta lykilorði" + +#: gkr/seahorse-gkr-keyring.ui:167 +#| msgid "_Set as default" +msgid "Set as default" +msgstr "Setja sem sjálfgefið" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Birta flögg" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Letihamur" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Ár" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mánuður" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dagur" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Klukkustund" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Mínúta" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekúnda" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Dagsetning" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Settu beint inn dagsetninguna" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Veldu dag" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Veldu dagsetningu úr dagatali" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "Tími" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Settu beint inn tímann" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Veldu tíma" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Veldu tímasetningu úr lista" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1259 +#: libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "FH" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1260 +#: libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "EH" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Tókst ekki að birta hjálp: %s" + +#: pgp/seahorse-add-subkey.ui:31 +msgid "Never E_xpires" +msgstr "Rennur al_drei út" + +#: pgp/seahorse-add-subkey.ui:35 +msgid "If key never expires" +msgstr "Ef lykill rennur aldrei út" + +#: pgp/seahorse-add-subkey.ui:65 pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Tegund lykils:" + +#: pgp/seahorse-add-subkey.ui:78 +msgid "Key _Length:" +msgstr "_Lengd lykils:" + +#: pgp/seahorse-add-subkey.ui:93 +msgid "Expiration Date:" +msgstr "Gildir til dags:" + +#: pgp/seahorse-add-subkey.ui:112 +msgid "Length of Key" +msgstr "Lengd lykils" + +#: pgp/seahorse-add-subkey.ui:194 +msgid "Generate a new subkey" +msgstr "" + +#: pgp/seahorse-expires.ui:22 +msgid "_Never expires" +msgstr "Re_nnur aldrei út" + +#: pgp/seahorse-expires.ui:80 pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Afturkalla lykil" + +#: pgp/seahorse-expires.ui:106 +msgid "C_hange" +msgstr "Bre_yta" + +#: pgp/seahorse-gpgme-add-subkey.c:161 +#, fuzzy +#| msgid "Couldn't add keyring" +msgid "Couldn’t add subkey" +msgstr "Gat ekki bætt við lyklakippu" + +#: pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "" + +#: pgp/seahorse-gpgme-add-subkey.c:196 pgp/seahorse-gpgme-generate.c:78 +msgid "DSA (sign only)" +msgstr "" + +#: pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (einungis dulritun)" + +#: pgp/seahorse-gpgme-add-subkey.c:210 pgp/seahorse-gpgme-generate.c:79 +msgid "RSA (sign only)" +msgstr "RSA (eingöngu undirritun)" + +#: pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (einungis dulritun)" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "" + +#: pgp/seahorse-gpgme-add-uid.c:217 +#, fuzzy +#| msgid "Couldn't add item" +msgid "Couldn’t add user ID" +msgstr "Gat ekki bætt við atriði" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Bæta við notandaauðkenni (ID)" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 +#, fuzzy +#| msgid "Full _Name:" +msgid "Full _Name" +msgstr "Fullt nafn" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Verður að vera a.m.k stafa langt" + +#: pgp/seahorse-gpgme-add-uid.ui:55 +#, fuzzy +#| msgid "_Email Address:" +msgid "_Email Address" +msgstr "Tölvupóstfang" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Valfrjálst tölvupóstfang" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +#, fuzzy +#| msgid "Key Co_mment:" +msgid "Key Co_mment" +msgstr "Athugase_md með lykli:" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Búa til nýtt notandaauðkenni" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Afkóðun mistókst. Líklega ertu ekki með dulritunarlykilinn." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:515 +#, fuzzy +msgid "The operation was cancelled" +msgstr "Aðgerðinni var aflýst." + +#: pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "" + +#: pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "" + +#: pgp/seahorse-gpgme-expires.c:77 +#, fuzzy +#| msgid "Couldn't change password." +msgid "Couldn’t change expiry date" +msgstr "Gat ekki breytt lykilorðinu." + +#: pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "Rennur út: %s" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Margir lyklar" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Lykilgögn" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Brynvarðir PGP-lyklar" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP-lyklar" + +#: pgp/seahorse-gpgme-generate.c:76 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:141 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate.c:77 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate.c:129 +#, fuzzy +#| msgid "Couldn't generate PGP key" +msgid "Couldn’t generate PGP key" +msgstr "Gat ekki búið til PGP-lykil" + +#: pgp/seahorse-gpgme-generate.c:168 +msgid "Passphrase for New PGP Key" +msgstr "Lykilsetning fyrir nýjan PGP-lykil" + +#: pgp/seahorse-gpgme-generate.c:169 +msgid "Enter the passphrase for your new key twice." +msgstr "Settu tvisvar inn lykilsetningu fyrir nýja lykilinn þinn" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate.c:181 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" + +#: pgp/seahorse-gpgme-generate.c:186 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Bý til lykil" + +#: pgp/seahorse-gpgme-generate.c:313 +#, fuzzy +#| msgid "Must be at least 5 characters long" +msgid "Name must be at least 5 characters long." +msgstr "Verður að vera a.m.k stafa langt" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Ertu viss um að þú viljir endanlega eyða %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, fuzzy, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "" +msgstr[1] "Ertu viss um að þú viljir endanlega eyða þessum %'d völdu atriðum?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Rangt lykilorð" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" + +#: pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "Röng lykilsetning." + +#: pgp/seahorse-gpgme-keyring.c:93 +#, fuzzy, c-format +#| msgid "Enter new passphrase for '%s'" +msgid "Enter new passphrase for “%s”" +msgstr "Settu inn nýja lykilsetningu fyrir '%s'" + +#: pgp/seahorse-gpgme-keyring.c:95 +#, fuzzy, c-format +#| msgid "Enter passphrase for '%s'" +msgid "Enter passphrase for “%s”" +msgstr "Settu inn lykilsetningu fyrir '%s'" + +#: pgp/seahorse-gpgme-keyring.c:98 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Settu inn nýja lykilsetningu" + +#: pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "Settu inn lykilsetningu (passphrase)" + +#: pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "Lykilsetning" + +#: pgp/seahorse-gpgme-keyring.c:300 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Las inn %d lykil" +msgstr[1] "Las inn %d lykla" + +#: pgp/seahorse-gpgme-keyring.c:625 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" + +#: pgp/seahorse-gpgme-keyring.c:755 +msgid "GnuPG keys" +msgstr "GnuPG lyklar" + +#: pgp/seahorse-gpgme-keyring.c:766 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: Sjálfgefin lyklakippumappa" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" + +#: pgp/seahorse-gpgme-photos.c:77 +#, fuzzy +#| msgid "_Don't Resize" +msgid "_Don’t Resize" +msgstr "Ekki _breyta stærð" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "B_reyta stærð" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Allar myndskrár" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Allar JPEG-skrár" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:292 +msgid "All files" +msgstr "Allar skrár" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:250 +msgid "_Open" +msgstr "_Opna" + +#: pgp/seahorse-gpgme-photos.c:284 +#, fuzzy +#| msgid "Couldn't prepare photo" +msgid "Couldn’t prepare photo" +msgstr "Gat ekki undirbúið mynd" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +#, fuzzy +#| msgid "Couldn't add photo" +msgid "Couldn’t add photo" +msgstr "Gat ekki bætt við mynd" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "" + +#: pgp/seahorse-gpgme-photos.c:334 +#, fuzzy +#| msgid "Couldn't delete photo" +msgid "Couldn’t delete photo" +msgstr "Gat ekki eytt mynd" + +#: pgp/seahorse-gpgme-revoke.c:73 +#, fuzzy +#| msgid "Couldn't rename key." +msgid "Couldn’t revoke subkey" +msgstr "Gat ekki endurnefnt lykil." + +#: pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "Afturkalla: %s" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "Engin ástæða" + +#: pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "Engin ástæða gefin fyrir að afturkalla lykil" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "Berskjaldaður" + +#: pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "Lykill er orðinn berskjaldaður" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "Leystur af hólmi" + +#: pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "Annar lykill er kominn í staðinn" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "Ekki notað" + +#: pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "Lykill er ekki lengur í notkun" + +#: pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" + +#: pgp/seahorse-gpgme-revoke.c:176 +#, fuzzy +#| msgid "Couldn't add keyring" +msgid "Couldn’t add revoker" +msgstr "Gat ekki bætt við lyklakippu" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "" + +#: pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" + +#: pgp/seahorse-gpgme-sign.c:104 +#, fuzzy +#| msgid "Couldn't sign key" +msgid "Couldn’t sign key" +msgstr "Gat ekki undirritað lykil" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign.c:163 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "" + +#: pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Óþekkt" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" + +#: pgp/seahorse-hkp-source.c:536 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "" + +#: pgp/seahorse-hkp-source.c:999 +msgid "HTTP Key Server" +msgstr "HTTP lyklaþjónn" + +#: pgp/seahorse-keyserver-results.c:62 +#, fuzzy, c-format +#| msgid "Couldn't export keys" +msgid "Couldn’t import key: %s" +msgstr "Tókst ekki að flytja út lykla" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "" + +#: pgp/seahorse-keyserver-results.c:154 src/import-dialog.vala:38 +msgid "Import" +msgstr "Flytja inn" + +#: pgp/seahorse-keyserver-results.c:156 +#, fuzzy +#| msgid "Couldn't export keys" +msgid "Can’t import key" +msgstr "Tókst ekki að flytja út lykla" + +#: pgp/seahorse-keyserver-results.c:240 +#, fuzzy +#| msgid "Remote Keys" +msgid "Remote keys" +msgstr "Fjartengdir lyklar" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "" + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Finna fjarlykla" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "" + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Hvar á að leita:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Lyklaþjónar:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Leita" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "" + +#: pgp/seahorse-keyserver-sync.c:73 +#, fuzzy, c-format +#| msgid "Automatically retrieve keys from _key servers" +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Ná sjálfvirkt í ly_kla af lyklaþjónum" + +#: pgp/seahorse-keyserver-sync.c:158 +#, fuzzy, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "" +msgstr[1] "" + +#: pgp/seahorse-keyserver-sync.c:237 +#, fuzzy +#| msgid "Synchronizing keys..." +msgid "Synchronizing keys…" +msgstr "Samstilli lykla..." + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Ly_klaþjónar" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Samstilla" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "" + +#: pgp/seahorse-ldap-source.c:649 +#, c-format +msgid "Connecting to: %s" +msgstr "Tengist við: %s" + +#: pgp/seahorse-ldap-source.c:655 +#, fuzzy, c-format +#| msgid "Couldn't resolve address: %s" +msgid "Couldn’t resolve address: %s" +msgstr "Gat ekki fundið vistfang: %s" + +#: pgp/seahorse-ldap-source.c:699 +#, c-format +msgid "Resolving server address: %s" +msgstr "" + +#: pgp/seahorse-ldap-source.c:1434 +msgid "LDAP Key Server" +msgstr "LDAP lyklaþjónn" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP-lyklar" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "" + +#: pgp/seahorse-pgp-generate.ui:18 +#, fuzzy +#| msgid "PGP keys" +msgid "New PGP key" +msgstr "Nýr PGP-lykill" + +#: pgp/seahorse-pgp-generate.ui:67 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"PGP-lykill leyfir þér að dulrita tölvupóst og skrár sem þú sendir öðrum." + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-pgp-generate.ui:86 +msgid "Full _Name:" +msgstr "Fullt _nafn:" + +#: pgp/seahorse-pgp-generate.ui:114 +msgid "_Email Address:" +msgstr "_Tölvupóstfang:" + +#: pgp/seahorse-pgp-generate.ui:143 pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "" + +#: pgp/seahorse-pgp-generate.ui:160 +msgid "_Comment:" +msgstr "_Athugasemd:" + +#: pgp/seahorse-pgp-generate.ui:188 ssh/seahorse-ssh-generate.ui:124 +msgid "Encryption _Type:" +msgstr "Tegund _dulritunar:" + +#: pgp/seahorse-pgp-generate.ui:215 pkcs11/seahorse-pkcs11-generate.ui:151 +#: ssh/seahorse-ssh-generate.ui:158 +msgid "Key _Strength (bits):" +msgstr "" + +#: pgp/seahorse-pgp-generate.ui:242 +msgid "E_xpiration Date:" +msgstr "_Gildir til dags:" + +#: pgp/seahorse-pgp-generate.ui:261 +msgid "Ne_ver Expires" +msgstr "Re_nnur aldrei út" + +#: pgp/seahorse-pgp-generate.ui:304 +msgid "C_reate" +msgstr "_Búa til" + +#: pgp/seahorse-pgp-generate.ui:311 +msgid "Generate a new key" +msgstr "Útbúa nýjan lykil" + +#: pgp/seahorse-pgp-key.c:555 +msgid "Personal PGP key" +msgstr "PGP einkalykill" + +#: pgp/seahorse-pgp-key.c:557 +msgid "PGP key" +msgstr "PGP-lykill" + +#: pgp/seahorse-pgp-key-properties.c:245 +#, fuzzy +#| msgid "Couldn't change password." +msgid "Couldn’t change primary user ID" +msgstr "Gat ekki breytt lykilorðinu." + +#: pgp/seahorse-pgp-key-properties.c:280 +#, fuzzy, c-format +#| msgid "Are you sure you want to permanently delete %s?" +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Ertu viss um að þú viljir endanlega eyða %s?" + +#: pgp/seahorse-pgp-key-properties.c:289 +#, fuzzy +#| msgid "Couldn't delete" +msgid "Couldn’t delete user ID" +msgstr "Gat ekki eytt" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:361 pgp/seahorse-pgp-key-properties.c:1351 +msgid "[Unknown]" +msgstr "[óþekkt]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:457 pgp/seahorse-pgp-key-properties.c:1556 +msgid "Name/Email" +msgstr "Nafn/tölvupóstur" + +#: pgp/seahorse-pgp-key-properties.c:464 +msgid "Signature ID" +msgstr "" + +#: pgp/seahorse-pgp-key-properties.c:570 +#, fuzzy +#| msgid "Couldn't prepare photo" +msgid "Couldn’t change primary photo" +msgstr "Gat ekki undirbúið mynd" + +#: pgp/seahorse-pgp-key-properties.c:730 +#, fuzzy +#| msgid "Wrong password" +msgid "Error changing password" +msgstr "Rangt lykilorð" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:776 +msgid "(unknown)" +msgstr "(óþekkt)" + +#: pgp/seahorse-pgp-key-properties.c:781 +#, c-format +msgid "This key expired on: %s" +msgstr "" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:809 +#, fuzzy, c-format +#| msgid "Public SSH keys" +msgid "%s — Public key" +msgstr "SSH dreifilyklar" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:812 +#, fuzzy, c-format +#| msgid "Private key" +msgid "%s — Private key" +msgstr "Einkaly_kill %s:" + +#: pgp/seahorse-pgp-key-properties.c:965 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" + +#: pgp/seahorse-pgp-key-properties.c:973 +#, fuzzy +#| msgid "Couldn't delete" +msgid "Couldn’t delete subkey" +msgstr "Gat ekki eytt" + +#: pgp/seahorse-pgp-key-properties.c:1032 +#: pgp/seahorse-pgp-key-properties.c:1325 +msgid "Unable to change trust" +msgstr "Get ekki breytt trausti" + +#: pgp/seahorse-pgp-key-properties.c:1044 ssh/key-properties.vala:185 +#, fuzzy +#| msgid "Couldn't export keys" +msgid "Couldn’t export key" +msgstr "Tókst ekki að flytja út lykla" + +#: pgp/seahorse-pgp-key-properties.c:1175 +#: pgp/seahorse-pgp-key-properties.c:1259 +msgctxt "Expires" +msgid "Never" +msgstr "Aldrei" + +#: pgp/seahorse-pgp-key-properties.c:1214 +msgid "ID" +msgstr "Auðkenni (ID)" + +#: pgp/seahorse-pgp-key-properties.c:1220 +msgid "Usage" +msgstr "Notkun" + +#: pgp/seahorse-pgp-key-properties.c:1223 +msgid "Created" +msgstr "Búinn til" + +#: pgp/seahorse-pgp-key-properties.c:1226 +msgid "Expires" +msgstr "Rennur út" + +#: pgp/seahorse-pgp-key-properties.c:1229 +msgid "Status" +msgstr "Staða" + +#: pgp/seahorse-pgp-key-properties.c:1232 +msgid "Strength" +msgstr "Styrkur" + +#: pgp/seahorse-pgp-key-properties.c:1250 +msgid "Revoked" +msgstr "Afturkallaður" + +#: pgp/seahorse-pgp-key-properties.c:1252 +msgid "Expired" +msgstr "Útrunninn" + +#: pgp/seahorse-pgp-key-properties.c:1254 +msgid "Disabled" +msgstr "Óvirkur" + +#: pgp/seahorse-pgp-key-properties.c:1256 +msgid "Good" +msgstr "Góður" + +#: pgp/seahorse-pgp-key-properties.c:1559 +#: pgp/seahorse-pgp-private-key-properties.ui:333 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Auðkenni lykils" + +#: pgp/seahorse-pgp-key-properties.c:1700 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "" + +#: pgp/seahorse-pgp-key-properties.c:1707 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" + +#: pgp/seahorse-pgp-key-properties.c:1714 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:56 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:66 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:94 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:159 +msgid "Add a photo to this key" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:178 +msgid "Remove this photo from this key" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:197 +msgid "Make this photo the primary photo" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:222 +msgid "Go to previous photo" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:241 +msgid "Go to next photo" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:306 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +#, fuzzy +#| msgid "Comment:" +msgid "Comment" +msgstr "Athugasemd" + +#: pgp/seahorse-pgp-private-key-properties.ui:363 +#: ssh/seahorse-ssh-key-properties.ui:294 +msgid "Change _Passphrase" +msgstr "_Breyta lykilsetningu" + +#: pgp/seahorse-pgp-private-key-properties.ui:379 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Eigandi" + +#: pgp/seahorse-pgp-private-key-properties.ui:392 +msgid "Key Names and Signatures" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:430 +msgid "Primary" +msgstr "Aðal" + +#: pgp/seahorse-pgp-private-key-properties.ui:460 pgp/seahorse-pgp-subkey.c:160 +msgid "Sign" +msgstr "Undirrita" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:490 +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Delete" +msgstr "Eyða" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:520 +msgid "_Add Name" +msgstr "_Bæta við nafni" + +#: pgp/seahorse-pgp-private-key-properties.ui:550 +#: pgp/seahorse-pgp-private-key-properties.ui:1040 +msgid "Revoke" +msgstr "Afturkalla" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:586 +msgid "Names and Signatures" +msgstr "Nöfn og undirritanir" + +#: pgp/seahorse-pgp-private-key-properties.ui:623 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Lykilauðkenni:" + +#: pgp/seahorse-pgp-private-key-properties.ui:648 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Tegund:" + +#: pgp/seahorse-pgp-private-key-properties.ui:673 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Styrkur:" + +#: pgp/seahorse-pgp-private-key-properties.ui:698 +msgid "Technical Details" +msgstr "Tæknilegar upplýsingar" + +#: pgp/seahorse-pgp-private-key-properties.ui:726 +#: ssh/seahorse-ssh-key-properties.ui:174 +msgid "Fingerprint" +msgstr "Fingrafar" + +#: pgp/seahorse-pgp-private-key-properties.ui:758 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Búið til:" + +#: pgp/seahorse-pgp-private-key-properties.ui:782 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Gildir til:" + +#: pgp/seahorse-pgp-private-key-properties.ui:828 +msgid "Dates" +msgstr "Dagsetningar" + +#: pgp/seahorse-pgp-private-key-properties.ui:851 +msgid "Override Owner _Trust:" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:879 +msgid "_Export Secret Key:" +msgstr "_Flytja út leynilykil:" + +#: pgp/seahorse-pgp-private-key-properties.ui:926 +msgid "Actions" +msgstr "Aðgerðir" + +#: pgp/seahorse-pgp-private-key-properties.ui:980 +msgid "Add" +msgstr "Bæta við" + +#: pgp/seahorse-pgp-private-key-properties.ui:1010 +msgid "Expire" +msgstr "Renna út" + +#: pgp/seahorse-pgp-private-key-properties.ui:1084 +#: pgp/seahorse-pgp-public-key-properties.ui:898 +msgid "_Subkeys" +msgstr "Undirly_klar" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Á mörkunum" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Fullt" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Algjörlega" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "Önnur nö_fn:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Traust" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Tæknilegar upplýsingar:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Fingrafar:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Dagsetningar:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate Trust:" +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _Trust the Owner:" +msgstr "" + +#: pgp/seahorse-pgp-subkey.c:159 +msgid "Encrypt" +msgstr "Dulrita" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Certify" +msgstr "Votta" + +#: pgp/seahorse-pgp-subkey.c:162 +msgid "Authenticate" +msgstr "Auðkenna" + +#: pgp/seahorse-pgp-subkey.c:311 +msgid "Key" +msgstr "Lykill" + +#: pgp/seahorse-pgp-subkey.c:316 +#, c-format +msgid "Subkey %d of %s" +msgstr "" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "Ás_tæða:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "_Afturkalla" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "" + +#: pgp/seahorse-sign.ui:6 +msgid "Sign Key" +msgstr "Undirrita lykil" + +#: pgp/seahorse-sign.ui:27 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" + +#: pgp/seahorse-sign.ui:34 +msgid "Key Name" +msgstr "Heiti lykils" + +#: pgp/seahorse-sign.ui:54 +msgid "How carefully have you checked this key?" +msgstr "Hversu vandlega hefur þú athugað þennan lykil?" + +#: pgp/seahorse-sign.ui:84 +msgid "_Not at all" +msgstr "A_lls ekki" + +#: pgp/seahorse-sign.ui:95 +msgid "_Casually" +msgstr "Í _hjáverkum" + +#: pgp/seahorse-sign.ui:107 +msgid "_Very Carefully" +msgstr "Mjög _vandlega" + +#: pgp/seahorse-sign.ui:134 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" + +#: pgp/seahorse-sign.ui:147 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" + +#: pgp/seahorse-sign.ui:168 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" + +#: pgp/seahorse-sign.ui:184 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" + +#: pgp/seahorse-sign.ui:215 +msgid "How others will see this signature:" +msgstr "" + +#: pgp/seahorse-sign.ui:232 +msgid "_Others may not see this signature" +msgstr "" + +#: pgp/seahorse-sign.ui:243 +msgid "I can _revoke this signature at a later date." +msgstr "" + +#: pgp/seahorse-sign.ui:268 +msgid "Sign key as:" +msgstr "" + +#: pgp/seahorse-sign.ui:286 +msgid "_Signer:" +msgstr "" + +#: pgp/seahorse-sign.ui:321 +msgid "_Sign" +msgstr "_Undirrita" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "Flyt út gögn" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "Tek á móti gögnum" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "Flyt inn gögn" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "Sendi gögn" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Ófáanlegt" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Skilríki" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Skilríki (DER dulrituð)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Einkaskilríki og lykill" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Einkaskilríki" + +#: pkcs11/pkcs11-deleter.vala:37 +#, fuzzy, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "" +msgstr[1] "Ertu viss um að þú viljir endanlega eyða þessum %'d völdu atriðum?" + +#: pkcs11/pkcs11-generate.vala:229 +#, fuzzy +#| msgid "Couldn't generate PGP key" +msgid "Couldn’t generate private key" +msgstr "Gat ekki búið til PGP-lykil" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "" + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Ónefndur einkalykill" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:225 +msgid "Private key" +msgstr "Einkalykill" + +#: pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "Nafnlaust" + +#: pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "Tókst ekki að flytja út skilríki" + +#: pkcs11/pkcs11-properties.vala:188 src/sidebar.vala:620 +#, fuzzy +#| msgid "Couldn't delete" +msgid "Couldn’t delete" +msgstr "Gat ekki eytt" + +#: pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "_Flytja út" + +#: pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "Flytja út skilríki..." + +#: pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "Eyða þessu skilríki eða lykli" + +#: pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "_Biðja um skilríki" + +#: pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "Útbúa beiðni um skilríki fyrir þennan lykil" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Búa til" + +#: pkcs11/pkcs11-request.vala:87 +#, fuzzy +#| msgid "Couldn't create certificate request" +msgid "Couldn’t create certificate request" +msgstr "Tókst ekki að útbúa beiðni um skilríki" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Vista beiðni um skilríki" + +#: pkcs11/pkcs11-request.vala:107 +#, fuzzy +msgid "_Save" +msgstr "_Vista" + +#: pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "Beiðni um skilríki" + +#: pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "PEM dulrituð beiðni" + +#: pkcs11/pkcs11-request.vala:149 +#, fuzzy +#| msgid "Couldn't save certificate request" +msgid "Couldn’t save certificate request" +msgstr "Tókst ekki að vista beiðni um skilríki" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Óþekkt" + +#: pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Skilríki" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +#, fuzzy +#| msgid "Private key" +msgid "New private key" +msgstr "Einkalykill" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Búa til nýjan einkalykill" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Skýring:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Geymt í:" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "" + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "" + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Samheiti (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Framlög frá:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Útgáfa þessa forrits" + +#: src/application.vala:160 +msgid "translator-credits" +msgstr "Sveinn í Felli, sv1@fellsnet.is" + +#: src/application.vala:163 +msgid "Seahorse Project Homepage" +msgstr "Heimasíða Seahorse verkefnisins" + +#: src/import-dialog.vala:30 +#, fuzzy +#| msgid "Data to be imported:" +msgid "Data to be imported" +msgstr "Gögn sem á að flytja inn:" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Innflutningur mistókst" + +#. The prompt +#: src/key-manager.vala:247 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Flytja inn lykil" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:258 +msgid "All key files" +msgstr "Allar lyklaskrár" + +#: src/key-manager.vala:323 +msgid "Dropped text" +msgstr "Slepptur texti" + +#: src/key-manager.vala:351 +msgid "Clipboard text" +msgstr "Texti af klippispjaldi" + +#: src/key-manager.vala:443 +#, fuzzy +#| msgid "Couldn't add keyring" +msgid "Couldn’t unlock keyring" +msgstr "Gat ekki aflæst lyklakippuna" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Breyta lykilsetningu" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "_Ný lykilsetning:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Stað_festu nýja lykilsetningu" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Stað_festu lykilsetningu:" + +#: src/seahorse-key-manager.ui:6 +#, fuzzy +#| msgid "Filter" +msgid "Filter items:" +msgstr "Sía" + +#: src/seahorse-key-manager.ui:8 +#, fuzzy +#| msgid "Show _Personal" +msgid "Show personal" +msgstr "Sýna _einka" + +#: src/seahorse-key-manager.ui:13 +#, fuzzy +#| msgid "Show _Trusted" +msgid "Show trusted" +msgstr "Sýna _treyst" + +#: src/seahorse-key-manager.ui:18 +#, fuzzy +#| msgid "Show _Any" +msgid "Show any" +msgstr "Sýna _allt" + +#: src/seahorse-key-manager.ui:25 +#, fuzzy +#| msgid "Couldn't add keyring" +msgid "Combine all keyrings" +msgstr "Gat ekki bætt við lyklakippu" + +#: src/seahorse-key-manager.ui:31 +#, fuzzy +#| msgid "Find Remote Keys" +msgid "Find remote keys…" +msgstr "Finna fjarlykla" + +#: src/seahorse-key-manager.ui:36 +#, fuzzy +#| msgid "_Sync and Publish Keys..." +msgid "Sync and publish keys…" +msgstr "_Samstilla og birta lykla..." + +#: src/seahorse-key-manager.ui:48 +#, fuzzy +#| msgid "_Help" +msgid "Help" +msgstr "Hjálp" + +#: src/seahorse-key-manager.ui:52 +#, fuzzy +#| msgid "Passwords and Keys" +msgid "_About Passwords and Keys" +msgstr "Lykilorð og dulritunarlyklar" + +#: src/seahorse-key-manager.ui:89 +#| msgid "Secure Shell Key" +msgid "Secure Shell key" +msgstr "SSH-lykill" + +#: src/seahorse-key-manager.ui:96 +#, fuzzy +#| msgid "Used to connect to other computers." +msgid "Used to access other computers" +msgstr "Notað til að tengjast öðrum tölvum." + +#: src/seahorse-key-manager.ui:123 +#, fuzzy +#| msgid "GnuPG keys" +msgid "GPG key" +msgstr "GnuPG lyklar" + +#: src/seahorse-key-manager.ui:130 +msgid "Used to encrypt email and files" +msgstr "Notað til að dulrita skrár og tölvupóst" + +#: src/seahorse-key-manager.ui:157 +#, fuzzy +#| msgid "Password Keyring" +msgid "Password keyring" +msgstr "Lykilorð á lyklakippu" + +#: src/seahorse-key-manager.ui:164 +msgid "Used to store application and network passwords" +msgstr "Notað til að vista lykilorð fyrir forrit og netkerfi" + +#: src/seahorse-key-manager.ui:198 +#, fuzzy +#| msgid "Safely store a password or secret." +msgid "Safely store a password or secret" +msgstr "Geyma lykilorð eða leyndarmál á öruggan hátt." + +#: src/seahorse-key-manager.ui:232 +msgid "Used to request a certificate" +msgstr "" + +#: src/seahorse-key-manager.ui:258 +#| msgid "Import from a file" +msgid "Import from file…" +msgstr "Flytja inn úr skrá…" + +#: src/seahorse-key-manager.ui:283 +msgid "Add a new key or item" +msgstr "Bæta við nýjum lykli eða atriði" + +#: src/seahorse-key-manager.ui:314 +#, fuzzy +#| msgid "Search for keys on a key server" +msgid "Search for a key or password" +msgstr "Leita að lyklum á lyklaþjóni" + +#: src/seahorse-key-manager.ui:361 +msgid "Filter" +msgstr "Sía" + +#: src/seahorse-key-manager.ui:455 +msgid "This collection seems to be empty" +msgstr "" + +#: src/seahorse-key-manager-widgets.ui:6 +#| msgid "Export" +msgid "Export…" +msgstr "Flytja út…" + +#: src/seahorse-key-manager-widgets.ui:19 +#, fuzzy +#| msgid "_Properties" +msgid "Properties" +msgstr "Eiginleikar" + +#: src/seahorse-key-manager-widgets.ui:23 +#, fuzzy +#| msgid "Configure Key for _Secure Shell..." +msgid "Configure Key for Secure Shell…" +msgstr "Stillingarlykill fyrir _SSH..." + +#: src/sidebar.vala:586 +#, fuzzy +#| msgid "Couldn't lock" +msgid "Couldn’t lock" +msgstr "Gat ekki læst" + +#. Lock and unlock items +#: src/sidebar.vala:637 +msgid "_Lock" +msgstr "_Læsa" + +#: src/sidebar.vala:642 +msgid "_Unlock" +msgstr "_Aflæsa" + +#. Properties item +#: src/sidebar.vala:659 +msgid "_Properties" +msgstr "_Eiginleikar" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Örugg skel (SSH)" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Lyklar notaðir til að tengjast öðrum tölvum á öruggan máta" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, fuzzy, c-format +#| msgid "Are you sure you want to delete the secure shell key '%s'?" +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Viltu örugglega eyða SSH-lykilinum ‚%s‘?" + +#: ssh/deleter.vala:51 +#, fuzzy, c-format +#| msgid "Are you sure you want to delete %d secure shell key?" +#| msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Viltu örugglega eyða %d SSH-lykli?" +msgstr[1] "Ertu viss um að þú viljir endanlega eyða þessum %'d völdu atriðum?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "SSH leynilyklar" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "SSH dreifilyklar" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH lykill" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "" + +#: ssh/generate.vala:94 +#, fuzzy +#| msgid "Couldn't generate Secure Shell key" +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Gat ekki reiknað SSH-lykil" + +#: ssh/generate.vala:98 +#, fuzzy +#| msgid "Couldn't generate Secure Shell key" +msgid "Couldn’t generate Secure Shell key" +msgstr "Gat ekki reiknað SSH-lykil" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Bý til SSH-lykil" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bita" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bita" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "" + +#: ssh/key-properties.vala:75 +#, fuzzy +#| msgctxt "Validity" +#| msgid "Unknown" +msgid "Unknown type" +msgstr "Óþekkt gerð" + +#: ssh/key-properties.vala:99 +#, fuzzy +#| msgid "Couldn't rename key." +msgid "Couldn’t rename key." +msgstr "Gat ekki endurnefnt lykil." + +#: ssh/key-properties.vala:125 +#, fuzzy +#| msgid "Couldn't change passphrase for key." +msgid "Couldn’t change authorization for key." +msgstr "Tókst ekki að breyta lykilsetningu fyrir lykil." + +#: ssh/key-properties.vala:141 +#, fuzzy +#| msgid "Couldn't change passphrase for key." +msgid "Couldn’t change passphrase for key." +msgstr "Tókst ekki að breyta lykilsetningu fyrir lykil." + +#: ssh/key-properties.vala:165 +msgid "Error deleting the SSH key." +msgstr "" + +#: ssh/key.vala:45 +msgid "Personal SSH key" +msgstr "SSH einkalykill" + +#: ssh/key.vala:45 +msgid "SSH key" +msgstr "SSH lykill" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:115 +msgid "(Unreadable Secure Shell Key)" +msgstr "(ólesanlegur SSH-lykill)" + +#. No comment, but loaded +#: ssh/key.vala:118 ssh/key.vala:122 +msgid "Secure Shell Key" +msgstr "SSH-lykill" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Lykilorð fjartengdrar tölvu" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Settu inn lykilsetningu (passphrase)" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Lykilsetning fyrir nýjan SSH-lykil" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Flyt inn lykil: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Flyt inn lykil. Settu inn lykilsetningu" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Sláðu inn SSH-lykilsetninguna þitt:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Eldri lykilsetning" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Settu inn gömlu lykilsetninguna fyrir: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Ný lykilsetning" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Settu inn nýju lykilsetninguna fyrir: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Settu aftur inn nýju lykilsetninguna fyrir: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Nýr SSH-lykill" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" + +#: ssh/seahorse-ssh-generate.ui:108 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" + +#: ssh/seahorse-ssh-generate.ui:142 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:143 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:144 +#, fuzzy +msgid "ED25519" +msgstr "Ed" + +#: ssh/seahorse-ssh-generate.ui:186 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" + +#: ssh/seahorse-ssh-generate.ui:212 +msgid "_Just Create Key" +msgstr "_Bara búa til lykil" + +#: ssh/seahorse-ssh-generate.ui:226 +msgid "_Create and Set Up" +msgstr "Búa til _og setja upp" + +#: ssh/seahorse-ssh-key-properties.ui:16 +#, fuzzy +#| msgid "Key Properties" +msgid "SSH Key Properties" +msgstr "Eiginleikar lykils" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:55 +#, fuzzy +#| msgid "Name" +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nafn" + +#: ssh/seahorse-ssh-key-properties.ui:88 +#, fuzzy +#| msgid "Algorithm:" +msgid "Algorithm" +msgstr "Reiknirit" + +#: ssh/seahorse-ssh-key-properties.ui:115 +#, fuzzy +#| msgid "Key _Length:" +msgid "Key Length" +msgstr "_Lengd lykils:" + +#: ssh/seahorse-ssh-key-properties.ui:142 +#, fuzzy +#| msgid "Location:" +msgid "Location" +msgstr "Staðsetning" + +#: ssh/seahorse-ssh-key-properties.ui:220 +#, fuzzy +#| msgid "Remote Keys" +msgid "Remote Access" +msgstr "Fjaraðgangur" + +#: ssh/seahorse-ssh-key-properties.ui:233 +msgid "Allows accessing this computer remotely" +msgstr "" + +#: ssh/seahorse-ssh-key-properties.ui:311 +#, fuzzy +#| msgid "Secret SSH keys" +msgid "Delete SSH Key" +msgstr "SSH leynilyklar" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Vistfang þjóns" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "t.d.: skráaþjónn.lén.is:gátt" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Innskráningarnafn:" + +#: ssh/seahorse-ssh-upload.ui:129 +#, fuzzy +#| msgid "_Set Up" +msgid "Set Up" +msgstr "Upp_setning" + +#: ssh/source.vala:42 +msgid "OpenSSH keys" +msgstr "OpenSSH lyklar" + +#: ssh/source.vala:47 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:51 +#, fuzzy, c-format +msgid "openssh://%s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:245 +msgid "No private key file is available for this key." +msgstr "" + +#: ssh/upload.vala:67 +#, fuzzy +#| msgid "Couldn't generate Secure Shell key" +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Gat ekki reiknað SSH-lykil" + +#: ssh/upload.vala:71 +#, fuzzy +#| msgid "Configuring Secure Shell Keys..." +msgid "Configuring Secure Shell Keys…" +msgstr "Stilli SSH-lykla..." + +#~ msgid "_File" +#~ msgstr "_Skrá" + +#~ msgid "E_xport..." +#~ msgstr "_Flytja út..." + +#~ msgid "Export to a file" +#~ msgstr "Flytja út í skrá" + +#~ msgid "_Edit" +#~ msgstr "Br_eyta" + +#~ msgid "Copy to the clipboard" +#~ msgstr "Afrita á klippispjaldið" + +#~ msgid "Delete selected items" +#~ msgstr "Eyða völdum atriðum" + +#~ msgid "Show the properties of this item" +#~ msgstr "Birta eiginleika þessa hlutar" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Birta eiginleika þessarar lyklakippu" + +#~ msgid "Prefere_nces" +#~ msgstr "Kjörstilli_ngar" + +#~ msgid "Change preferences for this program" +#~ msgstr "Breyttu notandastillingum forritsins" + +#~ msgid "_View" +#~ msgstr "S_koða" + +#~ msgid "About this program" +#~ msgstr "Um þetta forrit" + +#~ msgid "_Contents" +#~ msgstr "_Innihald" + +#~ msgid "Show Seahorse help" +#~ msgstr "Sýna Seahorse hjálpina" + +#~ msgid "_Show Password" +#~ msgstr "_Sýna lykilorð" + +#~ msgid "Name:" +#~ msgstr "Heiti:" + +#~ msgid "Keyring" +#~ msgstr "Lyklakippa" + +#~ msgid "- System Settings" +#~ msgstr "- Stillingar kerfis" + +#~ msgid "Don't display a window" +#~ msgstr "Ekki birta glugga" + +#~ msgid "PGP Key" +#~ msgstr "PGP-lykill" + +#~ msgid "_Remote" +#~ msgstr "Fja_rtengt" + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Finna fjarlykla..." + +#~ msgid "_Import" +#~ msgstr "Flytja _inn" + +#~ msgid "Marginal" +#~ msgstr "Á mörkunum" + +#~ msgid "Full" +#~ msgstr "Mikið" + +#~ msgid "Ultimate" +#~ msgstr "Hámarks" + +#~ msgid "Photo " +#~ msgstr "Ljósmynd " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nafn:" + +#~ msgid "Email:" +#~ msgstr "Tölvupóstur..." + +#~ msgid "Private PGP Key" +#~ msgstr "PGP-einkalykill" + +#~ msgid "Public PGP Key" +#~ msgstr "PGP-dreifilykill" + +#~ msgid "Continue" +#~ msgstr "Halda áfram" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "Veldu tegund atriðis sem þú vilt búa til:" + +#~ msgid "_New" +#~ msgstr "_Nýtt" + +#~ msgid "Close this program" +#~ msgstr "Loka þessu forriti" + +#~ msgid "_New..." +#~ msgstr "_Nýtt..." + +#~ msgid "Create a new key or item" +#~ msgstr "Búa til nýjan lykil eða atriði" + +#~ msgid "_Import..." +#~ msgstr "_Flytja inn..." + +#~ msgid "Import from the clipboard" +#~ msgstr "Flytja inn af klippispjaldi" + +#~ msgid "By _Keyring" +#~ msgstr "Eftir lykla_kippu" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Þú þarft lykla til að geta byrjað að búa til dulritanir." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Til að tengjast öðrum tölvum (t.d. í gegnum útstöð)" + +#~ msgid "Identifier:" +#~ msgstr "Auðkenni:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Heiti:" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "SSH-skipunin endaði óvænt." + +#~ msgid "The SSH command failed." +#~ msgstr "SSH skipun mistókst." diff --git a/po/it.po b/po/it.po new file mode 100644 index 00000000..42797051 --- /dev/null +++ b/po/it.po @@ -0,0 +1,2827 @@ +# Italian translation of Seahorse +# Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015 the Free Software Foundation, Inc. +# Copyright (C) 2016, 2017, 2018, 2019, 2020 the Free Software Foundation, Inc. +# This file is distributed under the same license as the seahorse package. +# Luigi maselli , 2003 +# +# keyserver -> server di chiavi come nel Manuale GNU sulla privacy +# passphrase -> invariato come nel Manuale GNU sulla privacy +# password keyring -> lascio solo portachiavi anche per uniformarsi col vecchio portachiavi di GNOME +# Milo Casagrande , 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019. +# Milo Casagrande , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-18 15:22+0000\n" +"PO-Revision-Date: 2020-08-27 10:53+0200\n" +"Last-Translator: Milo Casagrande \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: Poedit 2.4.1\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Aggiungi server di chiavi" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Personalizzato" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Annulla" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Salva" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Impossibile eliminare" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Impossibile esportare le chiavi" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Impossibile esportare i dati" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "A_nnulla" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Elimina" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Esporta" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Inserire PIN o password per: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Conferma:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Ok" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Password:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Password" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Chiavi" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certificati" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Preferenze" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Nessuno: non pubblicare le chiavi" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Non è un indirizzo di server di chiavi valido." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Per ulteriore aiuto contattare l'amministratore di sistema o " +"l'amministratore del server di chiavi." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "oggetto temporaneo iniziale" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Tipo di server di chiavi:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Host:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Il nome dell'host o l'indirizzo del server." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "La porta di accesso del server." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "Cercare le chiavi _utilizzando:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Pubblicare le chiavi in:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Recuperare _automaticamente le chiavi dai server di chiavi" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" +"_Sincronizzare automaticamente le chiavi modificate con i server di chiavi" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Server di chiavi" + +# +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Sconosciuta" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Nessuna" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Marginale" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Piena" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Completa" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Disabilitata" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Revocata" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Panoramica" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Aiuto" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Apre il menù" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Crea un nuovo elemento" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Importa da file" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Cerca" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Elenco scorciatoie" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Esce" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navigazione" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Seleziona il portachiavi precedente" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Seleziona il portachiavi successivo" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Mostra la barra laterale (su schermi piccoli)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Mostra il contenuto del portachiavi (su schermi piccoli)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Recupera chiavi automaticamente" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Indica se recuperare automaticamente le chiavi dai server di chiavi." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Pubblica chiavi automaticamente" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "" +"Indica se le chiavi modificate devono essere pubblicate automaticamente." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Pubblica le chiavi su questo server di chiavi" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Il server di chiavi su cui pubblicare le chiavi PGP. Lasciare vuoto per non " +"pubblicare alcuna chiave PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Ultima ricerca eseguita" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "L'ultima ricerca eseguita su un server di chiavi." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "L'ultimo server di chiavi usato" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"L'ultimo server di chiavi usato per eseguire una ricerca o vuoto per " +"indicare tutti i server di chiavi." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Mostra il riquadro laterale del portachiavi" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Mostra il riquadro laterale del portachiavi." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Quale elemento mostrare" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtra gli elementi da mostrare. Se vuoto, mostra tutti gli elementi, se " +"\"personal\" solo le chiavi personali, se \"trusted\" solo quelle fidate." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Larghezza del riquadro laterale" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "La larghezza predefinita del riquadro laterale." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "I portachiavi scelti" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Gli URI dei portachiavi scelti nel riquadro laterale." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "La colonna di ordinamento delle chiavi" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Indica la colonna con cui ordinare la finestra principale. Le colonne " +"possono essere: \"name\", \"id\", \"validity\", \"expires\", \"trust\" e " +"\"type\". Inserire un \"-\" davanti al nome della colonna per ordinare in " +"senso discendente." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Mostra la colonna della validità" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "La chiave non è più usata." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Mostra la colonna della scadenza" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Mostra la colonna della fiducia" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Mostra la colonna del tipo" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Larghezza della finestra" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Larghezza in pixel della finestra." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Altezza della finestra" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Altezza in pixel della finestra." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Gestisce le proprie password e chiavi di cifratura" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "" +"Seahorse è un'applicazione GNOME per la gestione di chiavi di cifratura." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Con seahorse è possibile creare e gestire chiavi PGP, SSH, pubblicare e " +"recuperare chiavi da diversi server di chiavi, mantenere in memoria le " +"passphrase in modo da non doverle ripetere ed è in grado di eseguire backup " +"delle proprie chiavi e del portachiavi." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Il progetto GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Password e chiavi" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "portachiavi;cifratura;cifrare;crittare;sicurezza;firma;firmare;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Archivia password, credenziali e segreti personali" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Impossibile sbloccare" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Impossibile aggiungere l'elemento" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Password o segreto" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Segreto connessione di rete" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Password Wi-Fi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Password di rete" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Password GNOME Web" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Password di «Google Chrome»" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Password messaggistica istantanea" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Password account messaggistica per " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Password di Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Password di «Account online GNOME»" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Salvare le modifiche di questo elemento?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Accedi a una risorsa o una condivisione di rete" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Accedi a un sito web" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Sblocca una chiave PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Sblocca una chiave Secure Shell" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Password o dati di accesso salvati" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Credenziali di rete" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Password" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Impossibile cambiare la password." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Impossibile impostare la descrizione." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Errore nell'eliminare la password." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Nota associata" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Password del portachiavi" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Password chiave di cifratura" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Password chiave archivio" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Segreto di Network Manager" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Eliminare la password «%s»?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Eliminare %d password?" +msgstr[1] "Eliminare %d password?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Impossibile aggiungere portachiavi" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Data sconosciuta" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Un portachiavi sbloccato automaticamente all'accesso" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Un portachiavi per salvare password" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Impossibile impostare il portachiavi predefinito" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Impossibile cambiare la password del portachiavi" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "Imposta _predefinito" + +# (ndt) pulsante... un po' lunghetta +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Cambia pass_word" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Eliminare il portachiavi «%s»?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Tutti gli elementi saranno persi per sempre." + +# (ndt) tooltip +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Mostra/Nasconde la password" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Aggiungi password" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Portachiavi:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Descrizione:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "Pass_word:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Aggiungi" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Aggiungi portachiavi" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Scegliere un nome per il nuovo portachiavi. Verrà richiesta una password di " +"sblocco." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Nome del nuovo portachiavi:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Proprietà elemento" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Descrizione" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Copia" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Uso" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Tipo" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Server" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Accesso" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Dettagli" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Elimina password" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Proprietà portachiavi" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Nome" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Creato" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Cambia password" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Imposta predefinito" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Visualizza flag" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Proprietà data od orario visualizzate" + +# (ndt) pigro era troppo banale... +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Modalità pigra" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "La modalità pigra non normalizza i valori di data e orario inseriti" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Anno" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Anno visualizzato" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mese" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Mese visualizzato" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Giorno" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Giorno del mese visualizzato" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Ora" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Ora visualizzata" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minuto" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Minuto visualizzato" + +# (ndT) metto al plurale, mi suona meglio +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Secondi" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Secondi visualizzati" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Limite inferiore dell'anno" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Parte relativa all'anno del limite inferiore della data" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Limite superiore dell'anno" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Parte relativa all'anno del limite superiore della data" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Limite inferiore del mese" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Parte relativa al mese del limite inferiore della data" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Limite superiore del mese" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Parte relativa al mese del limite superiore della data" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Limite inferiore del giorno" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Parte relativa al giorno del mese del limite inferiore della data" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Limite superiore del giorno" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Parte relativa al giorno del mese del limite superiore della data" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Limite inferiore dell'ora" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Parte relativa all'ora del limite inferiore dell'orario" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Limite superiore dell'ora" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Parte relativa all'ora del limite superiore dell'orario" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Limite inferiore del minuto" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Parte relativa al minuto del limite inferiore dell'orario" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Limite superiore del minuto" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Parte relativa al minuto del limite superiore dell'orario" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Limite inferiore del secondo" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Parte relativa ai secondi del limite inferiore dell'orario" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Limite superiore dei secondi" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Parte relativa ai secondi del limite superiore dell'orario" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Data" + +# (ndt) ATK +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Inserire direttamente la data" + +# (ndt) pulsante +# +# ATK anche questi +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Seleziona data" + +# (ndt) suggerimento +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Seleziona la data da un calendario" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Orario" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Inserire direttamente l'orario" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Seleziona orario" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Seleziona l'orario da un elenco" + +# (ndt) spero possa bastare così... +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "si" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "am" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "pm" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +# (ndt) dovrebbe funzionare... +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%3$02d/%2$02d/%1$04d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Impossibile visualizzare l'aiuto: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Aggiungi sottochiave a %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (solo firma)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (solo cifratura)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (solo firma)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (solo cifratura)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "_Tipo chiave" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "_Lunghezza chiave" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Lunghezza della chiave" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Data di scadenza" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Ness_una scadenza" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Se la chiave non scade" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Genera una nuova sottochiave" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Aggiungi ID utente a %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Impossibile aggiungere l'ID utente" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Aggiungi ID utente" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_Nome completo" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Deve essere lungo almeno 5 caratteri" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "Indirizzo _email" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Indirizzo email opzionale" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Co_mmento chiave" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Commenti opzionali di descrizione della chiave" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Crea un nuovo ID utente" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"Decifrazione non riuscita. Probabilmente non è presente la chiave di " +"decifrazione." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "L'operazione è stata annullata" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Data di scadenza non valida" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "La data di scadenza deve essere nel futuro" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Impossibile cambiare la data di scadenza" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Scadenza: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "Nessuna _scadenza" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Modifica" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Chiavi multiple" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Dati della chiave" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Chiavi PGP con armatura" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Chiavi PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Impossibile generare la chiave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Passphrase per la nuova chiave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Inserire due volte la passphrase per la nuova chiave." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Quando viene creata una chiave è necessario generare\n" +"molti dati casuali. In questa circostanza è molto utile\n" +"eseguire altre azioni come digitare sulla tastiera,\n" +"spostare il mouse o utilizzare altre applicazioni.\n" +"Facendo ciò vengono forniti al sistema i dati casuali\n" +"necessari." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Generazione della chiave" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Il nome deve essere lungo almeno 5 caratteri." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Nuova chiave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "Una chiave PGP consente di cifrare email o file ad altre persone." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Opzioni _avanzate" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Commento" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_Tipo di cifratura" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Dimensione della chiave (in bit)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Data di scaden_za" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Ness_una scadenza" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "C_rea" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Genera una nuova chiave" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Eliminare definitivamente %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Eliminare definitivamente %d chiave?" +msgstr[1] "Eliminare definitivamente %d chiavi?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Password non corretta" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "È stata inserita per la terza volta la password errata. Riprovare." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Passphrase non corretta." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Inserire la nuova passphrase per «%s»" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Inserire passphrase per «%s»" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Inserire una nuova passphrase" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Inserire passphrase" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Passphrase" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Caricata %d chiave" +msgstr[1] "Caricate %d chiavi" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Dati della chiave non validi (mancano gli UID). Può essere causato da un " +"computer con una data impostata male (nel futuro) o dalla mancanza di una " +"auto-firma." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Chiavi GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: directory portachiavi predefinita" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Dimensione della fotografia eccessiva\n" +"La dimensione raccomandata per la fotografia è di %d × %d pixel." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Non ridimensionare" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Ridimensiona" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Questo file non è un'immagine o un tipo di file riconosciuto. Provare a " +"usare un file JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Tutte le immagini" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Solo JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Tutti i file" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Scegliere una foto da aggiungere alla chiave" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Apri" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Impossibile preparare la fotografia" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Impossibile aggiungere la fotografia" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" +"Il file non può essere caricato. Potrebbe essere in un formato non valido" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Eliminare la fotografia dalla propria chiave?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Impossibile eliminare la fotografia" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Impossibile revocare la sottochiave" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Revoca: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Nessun motivo" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Nessun motivo per revocare la chiave" + +# (ndt) si tratta della chiave +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Compromessa" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "La chiave è stata compromessa" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Sostituita" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "La chiave è stata sostituita" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Non usata" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "La chiave non è più usata" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Si sta per aggiungere %s come revoca per %s. Questa operazione non può " +"essere annullata. Continuare veramente?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Impossibile aggiungere revoca" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Questo segreto sarà perso per sempre." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Questa chiave è già stata firmata da\n" +"«%s»" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Impossibile firmare la chiave" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Nessuna chiave valida per firmare" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Nessuna chiave PGP da usare per indicare la fiducia posta in questa chiave." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Firma chiave" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Firmando questa chiave si certifica che essa appartiene a:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Nome chiave" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Quanto attentamente è stata verificata questa chiave?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Per niente" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "Superfi_cialmente" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Molto attentamente" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Per niente: significa che si crede che il possessore della chiave sia " +"il legittimo proprietario, ma non è stato possibile verificarlo con certezza." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Superficialmente: significa che si è svolta una verifica superficiale " +"del proprietario della chiave. Per esempio si è letto l'impronta della " +"chiave al telefono." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Molto attentamente: scegliere questo solo se si è assolutamente certi " +"che questa chiave è autentica." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"È possibile utilizzare un documento di riconoscimento con fotografie " +"difficile da falsificare (come un passaporto) per verificare che il nome " +"sulla chiave sia corretto. È utile anche assicurarsi che l'email sia del " +"proprietario della chiave." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Come gli altri vedranno questa firma:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Non consentire agli altri di vedere questa firma" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Posso _revocare questa firma in un momento successivo" + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Firmare la chiave come:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "Firma_tario:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Firma" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Sconosciuto" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"La ricerca non era sufficientemente specifica. Trovate troppe chiavi nel " +"server «%s»." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Impossibile comunicare con il server «%s»: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Server di chiavi HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Impossibile importare la chiave: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Chiave importata con successo" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Importa" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Impossibile importare la chiave" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Chiavi remote" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Chiavi remote contenenti «%s»" + +# (ndt) un po' libera... +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "La ricerca di chiavi non ha fornito alcun risultato." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Doppio-clic su una chiave per visualizzarla o fare clic sul pulsante di " +"importazione per salvarla nel portachiavi locale." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Cerca chiavi remote" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Proseguendo verranno cercate altre chiavi attraverso Internet. Queste chiavi " +"possono poi essere importate nel proprio portachiavi." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Cerca chiavi contenenti: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Dove cercare:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Server di chiavi:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Chiavi condivise nelle vicinanze:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Trova" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Impossibile pubblicare le chiavi sul server" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Impossibile ottenere le chiavi dal server: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d chiave selezionata per la sincronizzazione" +msgstr[1] "%d chiavi selezionate per la sincronizzazione" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Sincronizzazione chiavi…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Sincronizza chiavi" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Proseguendo verranno pubblicate le chiavi del proprio portachiavi così da " +"renderle disponibili ad altri per l'uso. Si riceveranno inoltre tutte le " +"modifiche apportate alle chiavi." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Questo permette di ricevere i cambiamenti apportati da altre persone alle " +"chiavi. Dato che nessun server di chiavi è stato selezionato per la " +"pubblicazione, le proprie chiavi non saranno rese disponibili ad altri." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Server di _chiavi" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Sincronizza" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Impossibile comunicare con %s: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Connessione a: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Impossibile trovare l'indirizzo: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Ricerca indirizzo del server: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Server di chiavi LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Chiavi PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "Le chiavi PGP sono usate per cifrare email o file" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(e %d altro)" +msgstr[1] "(e %d altri)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Chiavi PGP personale" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Chiave PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Impossibile modificare ID utente primario" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Eliminare definitivamente l'ID utente «%s»?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Impossibile eliminare l'ID utente" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Sconosciuto]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Nome/Email" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "ID firma" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Impossibile modificare la fotografia principale" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Errore nel modificare la password" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(sconosciuto)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Chiave scaduta il: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Chiave pubblica" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Chiave privata" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Eliminare definitivamente la sottochiave %d di %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Impossibile eliminare la sottochiave" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Impossibile modificare la fiducia" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Impossibile esportare la chiave" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Nessuna" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Uso" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Creata" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Scade" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Stato" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Robustezza" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Revocata" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Scaduto" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Disabilitata" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Buona" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "ID chiave" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Fidarsi delle firme di «%s» su altre chiavi" + +# (ndt) sono un po' più libere, ma è per renderle all'impersonale il più possibile +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Se il proprietario di questa chiave è proprio «%s», firmare questa " +"chiave:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Se «%s» non è più il proprietario di questa chiave, revocare la " +"propria firma:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Esporta chiave _segreta" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Esporta chiave _pubblica" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Questa chiave è stata revocata" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Il proprietario ha revocato la chiave. Non può più essere usata." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Questa chiave è scaduta" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Aggiungi una fotografia a questa chiave" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Rimuovi questa fotografia dalla chiave" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Imposta questa come fotografia principale" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Foto precedente" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Foto successiva" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Commento" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Cambia _passphrase" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Proprietario" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Nomi e firme" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Primario" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Firma" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Elimina" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Aggiungi nome" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Revoca" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Nomi e firme" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "ID chiave:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Tipo:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Dimensione:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Dettagli tecnici" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Impronta" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Creata:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Scadenza:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Data" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Sovrascrivi _fiducia proprietario:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "Esporta su _file" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Azioni" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Scade" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Sottochiavi" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Marginale" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Piena" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Completa" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Altri nomi:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "La propria fiducia in questa chiave" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "La propria fiducia è specificata nella scheda Dettagli." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Firma questa chiave" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Revoca firma" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Persone che hanno firmato questa chiave:" + +# (ndt) opzione +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Visualizzare solo le firme delle persone di cui mi fido" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Fiducia" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Dettagli tecnici:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Impronta:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Data:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Fiducia riposta:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "_Fiducia posta nel proprietario:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Cifra" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certifica" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Autentica" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Chiave" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Sottochiave %d di %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Motivo per revocare la chiave" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Motivo:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Descrizione opzionale per la revoca" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Revoca chiave" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Re_voca" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "Nessuna chiave PGP per poter firmare un documento o un messaggio." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Scelta chiave per firmare" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "Firmare il messaggio con la c_hiave:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Esportazione dati in corso" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Recupero dati in corso" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Importazione dati in corso" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Invio dati in corso" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Non disponibile" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certificato" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certificati (codificati DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Certificato e chiave personali" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Certificato personale" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Eliminare definitivamente %d certificato?" +msgstr[1] "Eliminare definitivamente %d certificati?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Impossibile generare la chiave privata" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Questa chiave sarà persa per sempre." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Chiave privata senza nome" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Chiave privata" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Senza nome" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Esportazione del certificato non riuscita" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Impossibile eliminare" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Crea" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Impossibile creare la richiesta di certificato" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Salva richiesta certificato" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Salva" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Richiesta certificato" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Richiesta codificata PEM" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Impossibile salvare la richiesta di certificato" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Sconosciuta" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Certificati X.509 e relative chiavi" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Nuova chiave privata" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Crea una nuova chiave privata" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Etichetta:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Salvata in:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Tipo chiave:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Dimensione della chiave (in bit):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Elimina questo certificato o chiave" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Esporta il certificato" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Richiedi certificato" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Crea una richiesta di certificato per questa chiave" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Crea una richiesta di certificato" + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Il nome comune (CN) nella richiesta di certificato" + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Nome (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Contributi:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Versione di questa applicazione" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Milo Casagrande \n" +"Luigi Maselli " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Sito web del progetto Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Dati da importare" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importa" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Importazione non riuscita" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Importa chiave" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Tutti i file chiave" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Testo scartato" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Testo negli appunti" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Impossibile sbloccare il portachiavi" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Cambia passphrase" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Nuova _passphrase:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Conferma nuova passphrase" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "_Conferma passphrase:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "Cerca chiavi _remote…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Sincronizza e pubblica le chiavi…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "Preferen_ze" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "A_iuto" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Scorciatoie da tastiera" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "I_nformazioni su Password e chiavi" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filtra elementi:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Mostra _personali" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Mostra _fidati" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Mostra _qualsiasi" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Chiave Secure Shell" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Utilizzata per collegarsi ad altri computer" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Chiave PGP" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Utilizzata per cifrare email e file" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Portachiavi password" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Usato per salvare le password delle applicazioni e di rete" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Salvare una password o un segreto in sicurezza" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Utilizzata per richiedere un certificato" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importa da file…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Aggiunge una nuova chiave od oggetto" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Indietro" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Cerca una chiave o una password" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filtra" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Questa raccolta è vuota" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Il portachiavi è bloccato" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Sblocca" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Copia segreto" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Esporta…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Proprietà" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Configura chiave per Secure Shell…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Blocca" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Sblocca" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Proprietà" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Impossibile bloccare" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Secure Shell" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Chiavi utilizzate per collegarsi ad altri computer" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Eliminare la chiave Secure Shell «%s»?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Eliminare %u chiave Secure Shell?" +msgstr[1] "Eliminare %u chiavi Secure Shell?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Chiave SSH segreta" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Chiave SSH pubblica" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Chiave SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Nessun file di chiave pubblica disponibile per questa chiave." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Impossibile caricare la nuova chiave Secure Shell" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Impossibile generare la chiave Secure Shell" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Creazione chiave Secure Shell" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bit" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bit" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Tipo di chiave sconosciuto." + +# +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Tipo sconosciuto" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Impossibile rinominare la chiave." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Impossibile cambiare l'autorizzazione per la chiave." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Impossibile cambiare la passphrase per la chiave." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Errore nell'eliminare la chiave SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Chiave SSH personale" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Chiave SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Chiave Secure Shell non leggibile)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Chiave Secure Shell" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Password host remoto" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Inserire la passphrase della chiave" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Passphrase per la nuova chiave Secure Shell" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Importazione chiave: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Importazione chiave. Inserire la passphrase" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Inserire la passphrase per Secure Shell:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Vecchia passphrase della chiave" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Inserire la vecchia passphrase per: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Nuova passphrase" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Inserire la nuova passphrase per: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Inserire nuovamente la nuova passphrase: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Nuova chiave Secure Shell" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Una chiave Secure Shell (SSH) consente di collegarsi, in modo sicuro, in " +"altri computer." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Descrizione" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Il proprio indirizzo email o qualsiasi altro promemoria per ricordarsi lo " +"scopo di questa chiave." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Se si dispone già di un computer con cui usare questa chiave, è possibile " +"configurarlo al riconoscimento della chiave." + +# (Ndt) usato solo crea per conformità con il pulsante +# nella procedura di creazione delle chiavi PGP +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "C_rea" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Crea e configura" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Proprietà chiave SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nome" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritmo" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Lunghezza chiave" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Posizione" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Chiave pubblica" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Copia la chiave pubblica negli appunti" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Accesso remoto" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Consente di accedere a questo computer da remoto" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Esporta" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Elimina chiave SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Configurare il computer per connessione SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Per poter usare la propria chiave Secure Shell con un altro computer che usa " +"SSH, è necessario avere già un account di accesso su quel computer." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Indirizzo _server:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "es: serverfile.example.com:porta" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "Nome per l'_accesso:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Configura" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Chiave OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Nessuna chiave privata disponibile per questa chiave." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Impossibile configurare le chiavi Secure Shell sul computer remoto." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Configurazione chiavi Secure Shell…" diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 00000000..ccb55424 --- /dev/null +++ b/po/ja.po @@ -0,0 +1,2871 @@ +# Seahorse ja.po. +# Copyright (C) 1999-2013, 2015-2016, 2019-2020 seahorse's COPYRIGHT HOLDER +# Anthony Mulcahy , 1999-2000. +# Takeshi AIHANA , 2000-2009. +# Takayuki KUSANO , 2009-2011. +# Hideki Yamane (Debian-JP) , 2010. +# Hideki Yamane , 2011. +# OKANO Takayoshi , 2012. +# Jiro Matsuzawa , 2013, 2015, 2016. +# Hajime Taira , 2015, 2016. +# sicklylife , 2019-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-08-17 00:28+0000\n" +"PO-Revision-Date: 2020-08-18 23:18+0900\n" +"Last-Translator: sicklylife \n" +"Language-Team: Japanese \n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "鍵サーバーを追加" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "その他" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "キャンセル" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "保存" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "削除できません" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "鍵をエクスポートできませんでした" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "データをエクスポートできませんでした" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "キャンセル(_C)" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "削除(_D)" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "エクスポート" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "“%s”の PIN またはパスワードを入力してください" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "パスワードの確認:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "OK(_O)" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "パスワード:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "パスワード" + +#: common/place.vala:42 +msgid "Keys" +msgstr "鍵" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "証明書" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "設定" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "なし: 鍵を公開しない" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "鍵サーバーのアドレスが無効です。" + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"詳細はシステム管理者、あるいは鍵サーバーの管理者に問い合わせてください。" + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "初回に一時生成するアイテム" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "鍵サーバーの種類:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "ホスト名:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "サーバーのホスト名や IP アドレスです。" + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "サーバーにアクセスするときに使用するポート番号です。" + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "鍵サーバーの一覧(_F):" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "鍵の公開先(_P):" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "鍵サーバーから鍵を自動的に取得する(_K)" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "変更した鍵を鍵サーバーと自動的に同期する(_M)" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "鍵サーバー" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "不明" + +# 参考: http://pgp.iijlab.net/trans/ +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "信用しない" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "ぎりぎり信用する" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "完全に信用する" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "究極に信用する" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "無効にする" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "失効済み" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "概要" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "ヘルプを表示する" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "メニューを開く" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "新しいアイテムを生成する" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "ファイルからアイテムをインポートする" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "検索する" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "ショートカット一覧を表示する" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "終了する" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "ナビゲーション" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "前のキーリングを選択する" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "次のキーリングを選択する" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "サイドバーを表示する (サイズが小さい場合)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "キーリングの内容を表示する (サイズが小さい場合)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "キーリングサイドバーを表示する" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Seahorse にキーリングサイドバーを表示します。" + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "ウィンドウの幅" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "ウィンドウの幅 (ピクセル単位) です。" + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "ウィンドウの高さ" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "ウィンドウの高さ (ピクセル単位) です。" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "パスワードや暗号鍵を管理します" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse は暗号鍵を管理するための GNOME アプリケーションです。" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Seahorse を使用すると PGP 鍵、SSH 鍵の生成および管理、鍵サーバーへの公開や取" +"得が可能です。パスフレーズをキャッシュしておけるため、何度もパスフレーズを入" +"力する必要がなくなります。また、鍵やキーリングのバックアップを取ることもでき" +"ます。" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "The GNOME Project" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "パスワードと鍵" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" +"keyring;encryption;security;sign;ssh;キーリング;鍵束;暗号化;セキュリティ;サイ" +"ン;署名;gpg;pgp;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "保存された自分のパスワード、資格情報および秘密鍵" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "解除できませんでした" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "アイテムを追加できませんでした" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "パスワードまたは秘密鍵" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "ネットワーク接続の秘密鍵" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Wi-Fi パスワード" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "ネットワークパスワード" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "GNOME Web のパスワード" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Google Chrome のパスワード" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "インスタントメッセンジャーのパスワード" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "メッセンジャーのアカウントパスワード: " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Telepathy のパスワード" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "GNOME オンラインアカウントのパスワード" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "このアイテムの変更を保存しますか?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "ネットワーク共有やリソースへのアクセス" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "ウェブサイトへのアクセス" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "PGP 鍵のロックを解除" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "SSH 鍵のロックを解除" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "保存されているパスワードまたはログイン" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "ネットワークの資格情報" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "パスワード" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "パスワードを変更できませんでした。" + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "説明を設定できませんでした。" + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "パスワードの削除中にエラーが発生しました。" + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "保存されているメモ" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "キーリングのパスワード" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "暗号鍵のパスワード" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "鍵の保管パスワード" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "ネットワークマネージャーの秘密鍵" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "本当にパスワード“%s”を削除しますか?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "本当に %d 個のパスワードを削除しますか?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "キーリングを追加できませんでした" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "不明な日付" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "ログイン時に自動的に解除するキーリング" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "パスワードの保存に利用するキーリング" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "デフォルトのキーリングに指定できませんでした" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "キーリングのパスワードを変更できませんでした" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "デフォルトにする(_S)" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "パスワードを変更(_P)" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "本当にパスワードキーリング“%s”を削除しますか?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "アイテムが完全に削除されることを理解しています。" + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "パスワードの表示/非表示" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "パスワードを追加" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "キーリング(_K):" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "説明(_D):" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "パスワード(_P):" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "追加" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "パスワードキーリングを追加" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"新しいキーリングの名前を指定してください (この名前はパスワードを解除するとき" +"に必要になります)。" + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "新しいキーリングの名前:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "アイテムのプロパティ" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "説明" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "コピー" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "使用目的" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "種類" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "サーバー名" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "ログイン名" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "詳細" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "パスワードを削除" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "キーリングのプロパティ" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "名前" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "作成日" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "パスワードを変更" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "デフォルトにする" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "表示する日付の書式" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "表示する日付や時刻の書式を指定するプロパティです" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "日付を正規化するかどうか" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "入力した日付や時刻の値を正規化しないかどうかです" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "年" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "表示する日付 (年) です" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "月" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "表示する日付 (月) です" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "日" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "表示する日付 (日) です" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "時" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "表示する時間 (時) です" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "分" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "表示する時間 (分) です" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "秒" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "表示する時間 (秒) です" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "最小年" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "表示する年の最小値です" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "最大年" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "表示する年の最大値です" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "最小月" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "表示する月の最小値です" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "最大月" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "表示する月の最大値です" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "最小日" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "表示する日の最小値です" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "最大日" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "表示する日数の最大値です" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "最小時間" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "表示する時間の最小値です" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "最大時間" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "表示する時間の最大値です" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "最小分数" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "表示する分の最小値です" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "最大分数" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "表示する分の最大値です" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "最小秒数" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "表示する秒の最小値です" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "最大秒数" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "表示する秒の最大値です" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "日付" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "日付を直接入力してください" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "日付を選択" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "カレンダーから日付を選択してください" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "時刻" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "時刻を直接入力してください" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "時刻を選択" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "一覧から時刻を選択してください" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: no" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "午前" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "午後" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%4$s%1$02d:%2$02d:%3$02d" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%3$s%1$02d:%2$02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "ヘルプを表示できませんでした: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "%s へ副鍵を追加する" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (署名のみ)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (暗号化のみ)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (署名のみ)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (暗号化のみ)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "鍵の種類(_T)" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "鍵の長さ(_L)" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "鍵の長さを指定します" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "有効期限" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "有効期限を設定しない(_X)" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "鍵の有効期限を設定しない場合" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "新しい副鍵を生成します" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "%s にユーザー ID を追加する" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "ユーザー ID を追加できませんでした" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "ユーザー ID を追加" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "氏名(_N)" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "名前は 5 文字以上にしてください" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "メールアドレス(_E)" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "オプションでメールアドレスを入力します" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "鍵の説明(_M)" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "オプションで鍵の説明を入力します" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "新しいユーザー ID を作成します" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "復号できません (おそらく復号鍵をお持ちでないようです)" + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "操作はキャンセルされました" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "有効期限の日付が無効です" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "有効期限には将来の日付を指定してください" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "有効期限を変更できませんでした" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "有効期限: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "有効期限を設定しない(_N)" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "変更(_H)" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "複数の鍵" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "鍵のデータ" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "アスキー形式の PGP 鍵" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP 鍵" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "PGP 鍵を生成できませんでした" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "新しい PGP 鍵のパスフレーズ" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "新しい鍵のパスフレーズを二回入力してください:" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"鍵の作成時には多くのでたらめなデータを生成する必要\n" +"があり、それには支援が必要です。キーボード入力や\n" +"マウスの移動、アプリケーションの利用等、他の行動を\n" +"何か行うのは良い考えです。そうすることで、必要と\n" +"するでたらめなデータをシステムに与えることになります。" + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "鍵を生成中" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "名前は 5 文字以上にしてください。" + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "新しい PGP 鍵" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP 鍵を利用すると他の人達に暗号化したメールやファイルを送信できます。" + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "鍵の拡張オプション(_A)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "コメント(_C)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "暗号化の種類(_T)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "鍵の長さ (ビット)(_S)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "有効期限(_X)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "有効期限を設定しない(_V)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "生成(_R)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "新しい鍵を生成します" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "本当に鍵“%s”を完全に削除しますか?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "本当に %d 個の鍵を完全に削除しますか?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "パスワードが間違っています" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "間違ったパスワードを入力したのは 3 回目です。再試行してください。" + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "パスフレーズが間違っています。" + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "“%s”の新しいパスフレーズを入力してください" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "“%s”のパスフレーズを入力してください" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "新しいパスフレーズを入力してください" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "パスフレーズを入力してください" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "パスフレーズ" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d 個の鍵を読み込みました" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"無効な鍵データです (UID がありません)。これはコンピューターの日付が未来に設定" +"されているか、あるいは自分自身の署名が存在しない場合に発生する場合がありま" +"す。" + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG 鍵" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: デフォルトのキーリングディレクトリ" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"写真のサイズが大きすぎます\n" +"推奨する写真のサイズは %d × %d ピクセルです。" + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "大きさを変更しない(_D)" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "大きさを変更する(_R)" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"これは画像ファイルではないか、または認識できない種類の画像ファイルです。JPEG " +"の画像を指定してみてください。" + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "すべての画像ファイル" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "すべての JPEG ファイル" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "すべてのファイル" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "鍵に登録する写真を選択" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "開く(_O)" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "写真の準備ができませんでした" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "写真を追加できませんでした" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "ファイルを読み込めませんでした (無効なフォーマットの可能性があります)" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "本当にこの鍵に登録した写真を削除しますか?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "写真を削除できませんでした" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "副鍵を失効できませんでした" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "失効: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "理由なし" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "鍵を失効させる理由がありません" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "漏洩" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "鍵が漏洩しています" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "交換済" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "鍵は新しいものに交換されました" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "未使用" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "鍵が使用されていません" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"%s を %s の失効者 (Revoker) として追加しようとしています。この処理は取り消す" +"ことができません。本当に続行しますか?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "失効者を追加できませんでした" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "この秘密鍵が完全に削除されることを理解しています。" + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"この鍵は、すでに以下の人に署名されてます。\n" +"“%s”" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "鍵に署名できませんでした" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "署名に利用できる鍵がありません" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "この鍵の信用度を表すのに使用する自身の PGP 鍵がありません。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "鍵に署名する" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "署名を行うことで、次に属す鍵を信用したものと見なします:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "鍵の名前" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "この鍵をどれくらい入念にチェックしたか:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "全くチェックしていない(_N)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "軽くチェックした(_C)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "かなり注意深くチェックした(_V)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"「全くチェックしていない」は、鍵の所有を主張した人物によって所有されて" +"いることを、あなたは信じているがその真偽を確認できないまたは確認していない、" +"ということを意味します。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"「軽くチェックした」は、鍵の所有を主張した人物によって所有されているこ" +"とを、略式で確認したということを意味します。例えば、電話ごしに鍵の指紋を所有" +"者と読み合うことができるというレベルです。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"「かなり注意深くチェックした」はこの鍵が本物であることを完全に把握して" +"いる場合にのみ選択してください。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"鍵の名前が妥当であることを個人的に証明するために、例えばパスポートに貼ってあ" +"る写真のようなものを利用して身元を偽造させないようにすることが可能です。さら" +"に念を入れて、電子メールを送って、このメールアドレスが本人のものであることも" +"確認した方が良いでしょう。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "この署名をどこまで公開するか:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "この署名を他人に公開しない(_O)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "後日、この署名を失効させることができます。(_R)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "鍵の署名者:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "署名者(_S):" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "署名する(_S)" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "不明" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"サーバー“%s”には非常にたくさんの鍵があるため、一致する鍵を特定できませんでし" +"た" + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "サーバー“%s”と通信できませんでした: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP 鍵サーバー" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "鍵をインポートできませんでした: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "鍵のインポートが成功しました" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "インポート" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "鍵をインポートできません" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "リモートの鍵" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "“%s”を含むリモートの鍵" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "鍵の検索が失敗しました。" + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"鍵をダブルクリックして確認し、インポートボタンをクリックしてローカルのキーリ" +"ングに取り込んでください。" + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "リモートにある鍵を検索" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"インターネット上にある他の鍵を検索し、その結果をローカルのキーリングに取り込" +"みます。" + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "検索する鍵の内容(_S): " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "検索する鍵サーバー:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "鍵サーバー:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "近くで共有している鍵:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "検索(_S)" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "鍵をサーバーに出力できませんでした" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "サーバーから鍵を取得できませんでした: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d 個の鍵を同期します" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "鍵を同期中…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "鍵を同期" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"キーリングの中にある鍵を公開して他の人達から利用できるようにします。さらに鍵" +"を同期して変更内容を適用します。" + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"鍵を受け取ってから発生した変更点を取得します。鍵を公開する鍵サーバーが選択さ" +"れていないので、他の人達から利用することはできません。" + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "鍵サーバー(_K)" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "同期する(_S)" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "%s と通信できませんでした: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "接続中: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "次のアドレスを解決できませんでした: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "次のサーバーのアドレスを解決しています: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP 鍵サーバー" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP 鍵" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP 鍵はメールやファイルを暗号化するのに使用されます" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(と、その他 %d 個)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "自分の PGP 鍵" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP 鍵" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "プライマリユーザー ID を変更できませんでした" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "本当にユーザー ID “%s”を完全に削除しますか?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "ユーザー ID を削除できませんでした" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[不明]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "名前/メール" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "署名の ID" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "プライマリの写真を変更できませんでした" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "パスワードの変更中にエラーが発生しました" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(不明)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "この鍵の有効期限: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — 公開鍵" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — 秘密鍵" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "本当に副鍵 %d (%s) を完全に削除しますか?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "副鍵を削除できませんでした" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "信用度を変更できません" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "鍵をエクスポートできませんでした" + +# 参考: http://pgp.iijlab.net/trans/ +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "有効期限なし" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "用途" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "作成日" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "有効期限" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "状態" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "強度" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "失効済み" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "期限切れ" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "無効にする" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "良い" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "鍵 ID" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "他の鍵にある“%s”からの署名を信用する" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "“%s”という鍵の所有者を信用する場合は、この鍵に署名してください:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"この鍵を所有している“%s”という人物を信用しないのであれば、署名を失効さ" +"せてください:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "秘密鍵をエクスポート(_S)" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "公開鍵をエクスポート(_P)" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "この鍵は失効しています" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "鍵の所有者が鍵を破棄したので、もう利用できません。" + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "この鍵は有効期限が切れています" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "この鍵に写真を登録します" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "この鍵からこの写真を削除します" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "この写真をプライマリの写真にします" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "前の写真へ移動します" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "次の写真へ移動します" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "コメント" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "パスフレーズを変更(_P)" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "所有者" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "鍵の名前と署名" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "プライマリ" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "署名" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "削除" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "名前を追加(_A)" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "失効" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "名前と署名" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "鍵 ID:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "種類:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "強度:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "技術的な詳細" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "指紋" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "生成:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "有効期限:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "日付" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "所有者の信用度(_T):" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "ファイルにエクスポート(_E)" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "アクション" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "期限切れ" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "副鍵(_S)" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "ぎりぎり信用する" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "完全に信用する" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "究極に信用する" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "他の名前(_O):" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "この鍵の信用度" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "[詳細] タブで信用度を細かく指定できます:" + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "この鍵に署名する(_S)" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "署名の失効(_R)" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "この鍵に署名した人(_P):" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "信用している人達の署名だけを表示する(_O)" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "信用度" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "技術的な詳細:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "指紋:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "日付:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "信用度の提示:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "この所有者の信用度(_T):" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "暗号化" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "証明" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "認証" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "鍵" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "副鍵 %d / %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "鍵を失効させる理由です" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "理由(_R):" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "失効の追加説明" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "鍵の失効" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "失効(_V)" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"ドキュメントやメッセージに署名するときに使用できる自分の PGP 鍵を所有していま" +"せん。" + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "署名鍵を選択" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "次の鍵を使用してメッセージに署名する(_S):" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "データをエクスポート中" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "データを取得中" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "鍵をインポート中" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "データを送信中" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "利用不可" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "証明書" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "証明書 (DER エンコード)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "個人的な証明書と鍵" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "個人証明書" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "本当に %d 個の証明書を完全に削除しますか?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "秘密鍵を生成できません" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "この鍵が完全に削除されることを理解しています。" + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "名前のない秘密鍵" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "秘密鍵" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "名前無し" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "証明書のエクスポートに失敗しました" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "削除できませんでした" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "生成" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "証明書要求を作成できませんでした" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "証明書要求を保存" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "保存(_S)" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "証明書要求" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM エンコードを要求" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "証明書要求を保存できませんでした" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "不明" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509 証明書と関連の鍵" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "新しい秘密鍵" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "新しい秘密鍵を生成します" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "ラベル:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "保存先:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "鍵の種類(_T):" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "鍵の長さ (ビット)(_S):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "この証明書または鍵を削除します" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "証明書をエクスポートします" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "証明書を要求" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "この鍵の証明書要求を作成します" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "証明書要求を作成" + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "証明書要求の一般名 (CN)" + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "一般名(CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "貢献者:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "このアプリケーションのバージョン" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"相花 毅 \n" +"草野 貴之 \n" +"平 初 \n" +"日本 GNOME ユーザー会 \n" +"松澤 二郎 \n" +"やまねひでき \n" +"Anthony Mulcahy \n" +"OKANO Takayoshi \n" +"sicklylife " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Seahorse プロジェクトのページ" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "インポートするデータ" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "インポート(_I)" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "インポートが失敗しました" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "鍵をインポート" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "すべての鍵ファイル" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "ドラッグしたテキスト" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "クリップボードのテキスト" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "キーリングのロックを解除できませんでした" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "パスフレーズを変更" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "新しいパスフレーズ(_P):" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "確認のため、もう一度新しいパスフレーズを入力してください" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "パスフレーズの確認(_F):" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "リモートにある鍵を検索(_F)…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "鍵の公開と同期(_S)…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "設定(_P)" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "ヘルプ(_H)" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "キーボードショートカット(_K)" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "“パスワードと鍵”について(_A)" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "表示アイテム:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "自分のものを表示(_E)" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "信頼済みのみ表示(_T)" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "すべて表示(_Y)" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "セキュアシェルの鍵" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "他のコンピューターにアクセスするときに使用します" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "PGP 鍵" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "メールやファイルを暗号化するときに使用します" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "パスワードキーリング" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "" +"アプリケーションやネットワークで使用するパスワードを保管するときに使用します" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "パスワードや秘密鍵を安全に保存します" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "証明書要求に利用します" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "ファイルからインポート…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "新しい鍵またはアイテムを追加します" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "戻る" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "鍵またはパスワードを検索します" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "フィルター" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "このコレクションは空です" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "キーリングはロックされています" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "ロックを解除" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "秘密鍵をコピー" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "エクスポート…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "プロパティ" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "SSH 鍵の設定…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "ロック(_L)" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "ロックを解除(_U)" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "プロパティ(_P)" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "ロックできませんでした" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "セキュアシェル" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "他のコンピューターに安全に接続するときに使用される鍵" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "本当に SSH 鍵“%s”を削除しますか?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "本当に %u 個の SSH 鍵を削除しますか?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "SSH の秘密鍵" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "SSH の公開鍵" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH 鍵" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "この鍵に対して利用できる公開鍵ファイルはありません" + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "新しく生成された SSH 鍵を読み込めませんでした" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "SSH 鍵を生成できませんでした" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "SSH 鍵を生成中" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 ビット" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 ビット" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "不明な鍵の種類です!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "不明な種類" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "鍵の名前を変更できませんでした。" + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "鍵の認証を変更できませんでした。" + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "鍵のパスフレーズを変更できませんでした。" + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "SSH 鍵の削除中にエラーが発生しました。" + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "自分の SSH 鍵" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH 鍵" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(読み取ることができない SSH 鍵)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "セキュアシェルの鍵" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "リモートホストのパスワード" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "鍵のパスフレーズを入力" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "セキュアシェルで使用する新しい鍵のパスフレーズ" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "鍵のインポート: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "鍵をインポートするためのパスフレーズを入力してください" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "SSH のパスフレーズを入力してください:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "以前の鍵パスフレーズ" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "“%s”の古いパスフレーズを入力してください" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "新しい鍵パスフレーズ" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "“%s”の新しいパスフレーズを入力してください" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "“%s”の新しいパスフレーズをもう一度入力してください" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "新しいセキュアシェルの鍵" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"セキュアシェル (SSH) 鍵を利用すると、他のコンピューターに安全に接続できます。" + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "説明(_D)" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "メールアドレス、またはこの鍵の目的のメモです。" + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"この鍵で接続したいコンピューターがあれば、新しい鍵を認識するようにコンピュー" +"ター側を設定することができます。 " + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "生成のみ(_J)" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "生成と設定(_C)" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH 鍵のプロパティ" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "名前" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "アルゴリズム" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "鍵の長さ" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "場所" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "公開鍵" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "公開鍵をクリップボードにコピーします" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "リモートアクセス" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "このコンピューターにリモート接続することを許可する" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "エクスポート(_E)" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "SSH 鍵を削除(_D)" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "SSH で接続するコンピューターの設定" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"SSH 鍵を別のコンピューターで利用する場合は、そのコンピューターのログインアカ" +"ウントが必要になります。" + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "サーバーのアドレス(_S):" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "例: fileserver.example.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "ログイン名(_L):" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "設定" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH 鍵" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "この鍵に対して利用できる秘密鍵ファイルはありません" + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "リモートのコンピューター上にある SSH 鍵を設定できませんでした" + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "SSH 鍵の設定中…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse は 暗号化の鍵の管理を行うための GNOME アプリケーションです。" +#~ "Nautilus や Gedit などのアプリケーションと暗号化操作を統合化します。" + +#~ msgid "_Combine all keyrings" +#~ msgstr "すべてのキーリングをまとめる(_C)" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "" +#~ "アプリケーションがパスワードを保管するデフォルトのキーリングに指定します" + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "キーリングのロックを解除するときに必要なパスワードを変更します" + +#~ msgid "Marginal" +#~ msgstr "ぎりぎり信用する" + +#~ msgid "Full" +#~ msgstr "完全に信用する" + +#~ msgid "Ultimate" +#~ msgstr "究極に信用する" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "この鍵を公開してオンライン上の鍵と同期します" + +#~ msgid "Encrypt files and email to the key's owner" +#~ msgstr "鍵の所有者へ送付するファイルやメールを暗号化する" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "自分の鍵、証明書およびパスワードのみを表示します" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "信頼している鍵、証明書そしてパスワードのみを表示します" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "すべての鍵、証明書およびパスワードを表示します" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "自分で新しい鍵を生成する: " + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "端末などから他のコンピューターにアクセスするときに使用します" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "このコンピューターに接続するのに、この鍵の所有者を認証する(_A)" + +#~ msgid "This only applies to the %s account." +#~ msgstr "この鍵を %s というアカウントにのみ適用します。" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "SSH コマンドが強制終了されました。" + +#~ msgid "Use:" +#~ msgstr "用途:" + +# 参考: http://pgp.iijlab.net/trans/ +#~ msgid "Never" +#~ msgstr "信用しない" + +#~ msgid "Strength:" +#~ msgstr "強度:" + +#~ msgid "Trust" +#~ msgstr "信用度" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "パスワードを保管しているキーリングにロックをかけます (ロックを解除するには" +#~ "マスターパスワードが必要になります)" + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "パスワードを保管しているキーリングのロックを解除します" diff --git a/po/kk.po b/po/kk.po new file mode 100644 index 00000000..182da724 --- /dev/null +++ b/po/kk.po @@ -0,0 +1,2914 @@ +# Kazakh translation for seahorse. +# Copyright (C) 2014 seahorse's COPYRIGHT HOLDER +# This file is distributed under the same license as the seahorse package. +# Baurzhan Muftakhidinov , 2014-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-06-25 15:03+0000\n" +"PO-Revision-Date: 2020-07-13 19:07+0500\n" +"Last-Translator: Baurzhan Muftakhidinov \n" +"Language-Team: Kazakh \n" +"Language: kk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 2.3.1\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Кілттер серверін қосу" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Таңдауыңызша" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Бас тарту" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Сақтау" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Өшіру мүмкін емес" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Кілттерді экспорттау мүмкін емес" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Деректерді экспорттау мүмкін емес" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "Ба_с тарту" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "Ө_шіру" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Экспорт" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Келесі үшін PIN не парольді енгізіңіз: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Растау:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_ОК" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Пароль:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Парольдер" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Кілттер" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Сертификаттар" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Баптаулар" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Ешнәрсе: Кілттерді жарияламау" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Жарамды кілттер серверінің адресі емес." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Көмек алу үшін жүйе әкімшісіне немесе кілт сервердің әкімшісіне хабарласыңыз." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "бастапқы уақытша нәрсе" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Кілттер серверінің түрі:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Хост:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Сервердің торап аты не адресі." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Серверге қатынау үшін порт." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "Кілттерді арқ_ылы табу:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "Кілттерді қайда _жариялау:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Кілттерді _кілттер серверлерінен автоалу" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Өз_гертілген кілттерді кілттер серверлерімен автосинхрондау" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Кілттер серверлері" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Белгісіз" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Ешқашан" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Орташа" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Толық" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Өте жақсы" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Сөндірулі" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Қайта шақырылған" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Шолу" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Көмек" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Мәзірді ашу" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Жаңа элементті жасау" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Элементті файлдан импорттау" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Іздеу" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Жарлықтар тізімі" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Шығу" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Навигация" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Алдыңғы кілттер бауын таңдау" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Келесі кілттер бауын таңдау" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Бүйір панельді көрсету (кішкентай экрандарда)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Кілттер бауының мазмұнын көрсету (кішкентай экрандарда)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Кілттерді автоматты түрде алу" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Кілттерді кілттер серверлерінен автоматты түрде алу керек пе, жоқ па." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Кілттерді автожариялау" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Өзгертілген кілттерді автоматты түрде жариялау керек пе, жоқ па." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Кілттерді бұл кілттер серверіне жариялау" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Соңғы қолданылған кілттер сервері" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Кілттер баулары панелін көрсету" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Seahorse бүйір панелін көрсету." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Қай элементтерді көрсету керек" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Бүйір панелінің ені" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Бүйір панелінің бастапқы ені." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Таңдалған кілттер баулары" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Жарамдылық бағанын көрсету" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Енді қолданылмайды." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Мерзімі аяқталуы бағанын көрсету" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Сенімділік бағанын көрсету" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Түрі бағанын көрсету" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Терезе ені" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Терезенің ені (пиксельмен)." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Терезенің биіктігі" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Терезенің биіктігі (пиксельмен)." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Парольдерді және шифрлеу кілттерін басқару" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Seahorse көмегімен сіз PGP кілттерін жасау және басқару, SSH кілттерін жасау " +"және басқару, кілттер серверлеріне кілттерді жариялау және олардан алу, " +"кілттік фразаны қайта-қайта тере бермеу үшін оны кэштеу, кілттер және " +"кілттер бауының қор көшірмелерін жасау әрекеттерін жасай аласыз." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "GNOME жобасы" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Парольдер және кілттер" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" +"keyring;encryption;security;sign;ssh;кілттер бауы;шифрлеу;қауіпсіздік;" +"қолтаңба;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Сақталған жеке парольдер, деректер және құпиялар" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Блоктаудан босату мүмкін емес" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Нәрсені қосу мүмкін емес" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Пароль немесе құпия" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Желілік байланыс паролі" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Wi-Fi паролі" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Желілік пароль" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "GNOME веб браузері паролі" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Google Chrome паролі" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Жедел хабарласу паролі" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Жедел хабарласу паролі, тіркелгі: " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Telepathy паролі" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Gnome желілік тіркелгілер паролі" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Бұл элемент өзгерістерін сақтау керек пе?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Желілік ортақ бумаға немесе ресурске қатынау" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Вебсайтқа қатынау" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "PGP кілтінің блоктауын ашады" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Қауіпсіз қоршам кілтінің блоктауын ашады" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Сақталған пароль немесе логин" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Желілік тіркелу мәліметтері" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Пароль" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Парольді өзгерту мүмкін емес." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Сипаттамасын орнату мүмкін емес." + +#: gkr/gkr-item-properties.vala:268 +msgid "Error deleting the password." +msgstr "Парольді өшіру қатесі." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Сақталған естелік" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Кілттер бауының паролі" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Шифрлеу кілтінің паролі" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Кілттер қоймасының паролі" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Желілік басқарушы паролі" + +#: gkr/gkr-item.vala:312 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "\"%s\" паролін өшіруді шынымен қалайсыз ба?" + +#: gkr/gkr-item.vala:314 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "%d паролді өшіруді шынымен қалайсыз ба?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Кілттер бауын қосу мүмкін емес" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Күні белгісіз" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Жүйеге кірген кезде блоктауы автоматты түрде ашылатын кілттер бауы" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Парольдерді сақтауға қолданылатын кілттер бауы" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Үнсіз келісім бойынша кілттер бауын орнату мүмкін емес" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Кілттер бауының паролін өзгерту мүмкін емес" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "Бастапқы ретінде ор_нату" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "_Парольді өзгерту" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "\"%s\" парольдік кілттер бауын өшіруді шынымен қалайсыз ба?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Барлық элементтер толығымен өшірілетінін түсінемін." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Парольді көрсету/жасыру" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Парольді қосу" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Кілттер бауы:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "Ан_ықтамасы:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Пароль:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Қосу" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Кілттер бауын қосу" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Жаңа кілттер бауының аты:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Элемент қасиеттері" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Сипаттамасы" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Көшіріп алу" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Қолдану" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Түрі" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Сервер" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Логин" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Ақпараты" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Парольді өшіру" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Кілттер бауының баптаулары" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Аты" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Жасалған күні" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Парольді өзгерту" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Бастапқы ретінде орнату" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Жалаушаларды көрсету" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Жыл" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Көрсетілетін жыл" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Ай" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Көрсетілетін ай" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Күн" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Көрсетілетін ай күні" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Сағат" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Көрсетілетін сағат" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Минут" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Көрсетілетін минут" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Секунд" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Көрсетілетін секунд" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Күннің жоғарғы шегінің жыл бөлігі" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Жоғарғы шек күні" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Күннің жоғарғы шегінің ай күні" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Күні" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Күнді тікелей енгізу" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Күнді таңдау" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Күнтізбеден күнді таңдаңыз" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Уақыт" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Уақытты тікелей енгізу" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Уақытты таңдау" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Тізімнен уақытты таңдаңыз" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Көмекті көрсету мүмкін емес: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "%s үшін ішкі кілтті қосу" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (тек қолтаңба қою)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (тек шифрлеу)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (тек қолтаңба қою)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (тек шифрлеу)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Кілт _түрі" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Кілт ұ_зындығы" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Кілт ұзындығы" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Мерзімі аяқталу күні" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Мерзімі ешқаша_н аяқталмайды" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Кілттің мерзімі ешқашан аяқталмаса" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Жаңа ішкі кілтін генерациялау" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_Толық аты" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Ұзындығы 5 таңбадан кем болмауы керек" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_Эл. пошта адресі" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Міндетті емес эл. пошта адресі" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Әрекеттен бас тартылды" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Аяқталу мерзімін өзгерту мүмкін емес" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Мерзімінің аяқталуы: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "Мерзімі ешқаша_н аяқталмайды" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "Ө_згерту" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Бірнеше кілт" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Кілт деректері" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP кілттері" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "PGP кілтін генерациялау мүмкін емес" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Кілтті генерациялау" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "" + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Жаңа PGP кілті" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "Тү_сіндірме" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Шифрлеу _түрі" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "Кілт қа_таңдығы (бит)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Мер_зімі аяқталу күні" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "Ж_асау" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Жана кілтті жасау" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "%s толығымен өшіруді шынымен қалайсыз ба?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "%d кілтті толығымен өшіруді шынымен қалайсыз ба?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Пароль қате" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Кілттік фразасы қате." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "\"%s\" үшін жаңа кілттік фразаны енгізіңіз" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "\"%s\" үшін кілттік фразаны енгізіңіз" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Жаңа кілттік фразаны енгізіңіз" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Кілттік фразаны енгізіңіз" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Кілттік фраза" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d кілт жүктелді" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG кілттері" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "Өлшемін өзгерт_пеу" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "Ө_лшемін өзгерту" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Барлық сурет файлдары" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Барлық JPEG файлдары" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Барлық файлдар" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Кілтке қосу үшін фотоны таңдаңыз" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "А_шу" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Фотоны дайындау мүмкін емес" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Фотоны қосу мүмкін емес" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Фотоны өшіру мүмкін емес" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Ішкі кілтті қайта шақыру мүмкін емес" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Қайта шақыру: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Себебі жоқ" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Кілтті қайта шақыру үшін себеп жоқ" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Орынбасқан" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Қолданылмайды" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Кілт енді қолданылмайды" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Қайта шақырушыны қосу мүмкін емес" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Кілттерге қолтаңба қою мүмкін емес" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Кілт аты" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Бұл кілтті қаншалықты мұқият тексердіңіз?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Мүлдем жоқ" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "Қа_лыпты" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "Ө_те тиянақты" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Белгісіз" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP кілттер сервері" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Импорттау" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Кілттерді іздеу сәтсіз аяқталды." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Қашықтағы кілттерді табу" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Бұл басқалардың кілттерін интернеттен табады. Ол кілттерді сіздің жергілікті " +"кілттер бауыңызға импорттауға болады." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "Құрамында келесі бар кілттерді і_здеу: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Қайдан іздеу:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Кілттер серверлері:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "І_здеу" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Кілттерді серверге жариялау мүмкін емес" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Серверден кілттерді алу мүмкін емес: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Кілттерді синхрондау…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Кілттерді синхрондау" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Кілттер серверлері" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Синхрондау" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP кілттер сервері" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP кілттері" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(және %d басқа)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Жеке PGP кілті" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP кілті" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Біріншілік пайдаланушы идентификаторын өзгерту мүмкін емес" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "\"%s\" пайдаланушы идентификаторын өшіруді шынымен қалайсыз ба?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Пайдаланушы идентификаторын өшіру мүмкін емес" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Белгісіз]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Аты/Эл. пошта" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Біріншілік фотоны өзгерту мүмкін емес" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Парольді өзгерту қатесі" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(белгісіз)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Публикалық кілті" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Жеке кілті" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Ішкі кілтті өшіру мүмкін емес" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Кілтті экспорттау мүмкін емес" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Ешқашан" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Қолданылуы" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Жасалған" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Мерзімі аяқталады" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Қалып-күйі" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Мықтылығы" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Қайта шақырылған" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Ескірген" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Сөндірулі" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Жақсы" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Кілт идентификаторы" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Ж_еке кілтті экспорттау" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "А_шық кілтті экспорттау" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Бұл кілт қайта шақырылған" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Бұл кілттің мерзімі аяқталған" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Бұл кілтке фотоны қосу" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Бұл кілттен фотоны өшіру" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Алдыңғы фотоға өту" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Келесі фотоға өту" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Түсіндірме" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Иесі" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Біріншілік" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Қолтаңба" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Delete" +msgstr "Өшіру" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "Атын қ_осу" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Қайта шақыру" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Түрі:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Мықтылығы:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Техникалық ақпараты" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Баспасы" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Жасалған:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Мерзімі аяқталады:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Күндер" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "Файлға _экспорттау" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Әрекеттер" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Орташа" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Толығымен" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Өте жақсы" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Сену" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Техникалық ақпараты:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Баспасы:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Күндер:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Шифрлеу" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Аутентификация" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Кілт" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Себебі:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Қайта шақырудың міндетті емес себебі" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Кілтті қайта шақыру" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Қа_йта шақыру" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Қолтаңбалау кілтін таңдау" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Деректерді экспорттау" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Деректерді алу" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Деректерді импорттау" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Ақпарат жіберілуде" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Қолжетерсіз" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Сертификат" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Сертификаттар (DER-кодталуы)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Жеке сертификат және кілті" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Жеке сертификат" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "%d сертификатты толығымен өшіруді шынымен қалайсыз ба?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Жеке кілтті генерациялау мүмкін емес" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "" + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Атаусыз жеке кілт" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Жеке кілт" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Атаусыз" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Сертификатты экспорттау сәтсіз аяқталды" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Өшіру мүмкін емес" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Жасау" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Сертификатқа сұранымды жасау мүмкін емес" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Сертификатқа сұранымды сақтау" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Сақтау" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Сертификатқа сұраным" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM шифрленген сұранымы" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Сертификатқа сұранымды сақтау мүмкін емес" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Белгісіз" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509 сертификаттары және тиісті кілттер" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Жаңа жеке кілті" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Жаңа жеке кілтті жасау" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Белгі:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Сақталған жері:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Кіль _түрі:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "Кілт қа_таңдығы (бит):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Бұл сертификатты немесе кілтті өшіру" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Сертификатты экспорттау" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Сертификатқа сұраным жасау" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Бұл кілт үшін сертификатқа сұраным файлын жасау" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Сертификатқа сұраным файлын жасау." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "" + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Аты (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Үлес қосқандар:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Осы бағдарламасының нұсқасы" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "Baurzhan Muftakhidinov " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Seahorse жобасының үй парағы" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Импортталатын деректер" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "И_мпорттау" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Импорттау сәтсіз аяқталды" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Кілтті импорттау" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Барлық кілттер файлдары" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Тасталған мәтін" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Алмасу буфері мәтіні" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Кілттер бауы бұғаттауын шешу мүмкін емес" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Пароль" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Жаңа _кілттік фраза:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Жаңа кілттік фразасын растаңыз" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Кілттік фразаны _растау:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "Қашықтағы кілттерді та_бу…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "Кілттерді _синхрондау және жариялау…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Баптаулар" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "Кө_мек" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "П_ернетақта жарлықтары" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "Парольдер және кілттер _туралы" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Элементтерді сүзгілеу:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Сенім_ділерді көрсету" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Қауіпсіз қоршам кілті" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG кілті" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Қолданбалар және желілік парольдерді сақтауға қолданылады" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Файлдан импорттау…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Жаңа кілтті не нәрсені қосу" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Артқа" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Сүзгі" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Кілттер бауы бұғатталған" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Босату" + +#: src/seahorse-key-manager-widgets.ui:6 +msgid "Export…" +msgstr "Экспорт…" + +#: src/seahorse-key-manager-widgets.ui:19 +msgid "Properties" +msgstr "Қасиеттері" + +#: src/seahorse-key-manager-widgets.ui:23 +msgid "Configure Key for Secure Shell…" +msgstr "" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "Б_локтау" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "Бо_сату" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "Қас_иеттері" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Блоктау мүмкін емес" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Қауіпсіз қоршам" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "\"%s\" қауіпсіз қоршам кілтін өшіруді шынымен қалайсыз ба?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "%u қауіпсіз қоршам кілтін өшіруді шынымен қалайсыз ба?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Құпия SSH кілттері" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Публикалық SSH кілттері" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH кілті" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "" + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Жаңа генерацияланған қауіпсіз қоршам кілтін жүктеу мүмкін емес" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Қауіпсіз қоршам кілтін генерациялау мүмкін емес" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Қауіпсіз қоршам кілтін жасау" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 бит" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 бит" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Кілт түрі белгісіз!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Белгісіз түрі" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Кілт атын өзгерту мүмкін емес." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "" + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Кілттің кілттік фразасын өзгерту мүмкін емес." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "" + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Жеке SSH кілті" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH кілті" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Қауіпсіз қоршам кілті" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Қашықтағы хост паролі" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Кілттік кілттік фразасын енгізіңіз" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Жаңа қауіпсіз қоршам кілті үшін кілттік фраза" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Кілтті импорттау: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Кілтті импорттау. Кілттік фразаны енгізіңіз" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Қауіпсіз қоршамның кілттік фразасын енгізіңіз:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Ескі кілттік фраза" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Жаңа кілттік фраза" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Жаңа қауіпсіз қоршам кілті" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "Си_паттамасы" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Тек кілтті жасау" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "Жа_сау және баптау" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH кілті қасиеттері" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Аты" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Алгоритмі" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Кілт ұзындығы" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Орны" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Ашық кілт" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Ашық кілтті алмасу буферіне көшіру" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Қашықтан қатынау" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Бұл компьютерге қашықтан қатынауды рұқсат ету" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "Э_кспорт" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "SSH кілтін ө_шіру" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Компьютерді SSH байланысы үшін баптау" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Сервер адресі:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "мыс: fileserver.example.com:порт" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Логин аты:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Баптау" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH кілттері" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Бұл кілт үшін жеке кілт файлы қолжетерсіз." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Қашықтағы компьютерде қауіпсіз қоршам кілтін баптау мүмкін емес." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Қауіпсіз қоршам кілттерін баптау…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse - бұл шифрлеу кілттерін басқаруға арналған GNOME қолданбасы. " +#~ "Сонымен қатар, ол шифрлеу әрекеттері үшін nautilus, gedit және т.б. " +#~ "жерлермен интеграцияланады." + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "" +#~ "Қолданбалар әдетте жаңа парольдерді бастапқы кілттер бауында сақтайды." + +#~ msgid "_Show Password" +#~ msgstr "Парольді көр_сету" + +#~ msgid "OK" +#~ msgstr "ОК" + +#~ msgid "Keyring is unlocked" +#~ msgstr "Кілттер бауы босатылған" + +#~ msgid "Lock" +#~ msgstr "Бұғаттау" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Ішкі кілтті қосу мүмкін емес" + +#~ msgid "Full _Name:" +#~ msgstr "Толық _аты:" + +#~ msgid "_Email Address:" +#~ msgstr "_Эл. пошта адресі:" + +#~ msgid "About" +#~ msgstr "Осы туралы" + +#~ msgid "_File" +#~ msgstr "_Файл" + +#~ msgid "_Edit" +#~ msgstr "Тү_зету" + +#~ msgid "Delete selected items" +#~ msgstr "Таңдалған нәрселерді өшіру" + +#~ msgid "Show the properties of this item" +#~ msgstr "Бұл нәрсенің қасиеттерін көрсету" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Бұл кілттер бауының қасиеттерін көрсету" + +#~ msgid "Prefere_nces" +#~ msgstr "Бап_таулар" + +#~ msgid "Change preferences for this program" +#~ msgstr "Бұл бағдарламаның баптауларын өзгерту" + +#~ msgid "_View" +#~ msgstr "Тү_рі" + +#~ msgid "About this program" +#~ msgstr "Осы бағдарлама туралы" + +#~ msgid "_Contents" +#~ msgstr "Құра_масы" + +#~ msgid "Show Seahorse help" +#~ msgstr "Seahorse көмегін көрсету" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Жаңа кілттер бауы" + +#~ msgid "New password…" +#~ msgstr "Жаңа пароль…" + +#~ msgid "PGP Key" +#~ msgstr "PGP кілті" + +#~ msgid "_Remote" +#~ msgstr "Қа_шықтағы" + +#~ msgid "Close this window" +#~ msgstr "Бұл терезені жабу" + +#~ msgid "Full" +#~ msgstr "Толық" + +#~ msgid "Photo " +#~ msgstr "Фото " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Аты:" + +#~ msgid "Email:" +#~ msgstr "Эл. пошта:" + +#~ msgid "Private PGP Key" +#~ msgstr "Жеке PGP кілті" + +#~ msgid "- System Settings" +#~ msgstr "- Жүйелік баптаулар" + +#~ msgid "Don't display a window" +#~ msgstr "Терезені көрсетпеу" + +#~ msgid "_New" +#~ msgstr "_Жаңа" + +#~ msgid "Close this program" +#~ msgstr "Бұл бағдарламаны жабу" + +#~ msgid "_New…" +#~ msgstr "_Жаңа…" + +#~ msgid "_Import…" +#~ msgstr "И_мпорттау…" + +#~ msgid "_Paste" +#~ msgstr "_Кірістіру" + +#~ msgid "Import from the clipboard" +#~ msgstr "Алмасу буферінен импорттау" + +#~ msgid "By _Keyring" +#~ msgstr "_Кілттер бауы бойынша" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Тек жеке кілттер, сертификаттар және парольдерді көрсету" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Тек сенімді кілттер, сертификаттар және парольдерді көрсету" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Барлық кілттер, сертификаттар және парольдерді көрсету" + +#~ msgid "New item" +#~ msgstr "Жаңа элемент" + +#~ msgid "Continue" +#~ msgstr "Жалғастыру" + +#~ msgid "First time options:" +#~ msgstr "Бірінші рет жөнелту опциялары:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Шифрлеумен жұмысты бастау үшін сізге кілттер керек." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Бар болып тұрған кілттерді файлдан импорттау:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Аты:" + +#~ msgid "Identifier:" +#~ msgstr "Идентификатор:" + +#~ msgid "Key length:" +#~ msgstr "Кілт ұзындығы:" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Name:" +#~ msgstr "Аты:" + +#~ msgid "Keyring" +#~ msgstr "Кілттер бауы" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "SSH командасы күтпегенде өз жұмысын аяқтады." + +#~ msgid "The SSH command failed." +#~ msgstr "SSH командасы сәтсіз аяқталды." + +#~ msgid "E_xport..." +#~ msgstr "Э_кспорттау..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "Қашықтағы кілттерді _табу..." + +#~ msgid "_New..." +#~ msgstr "_Жаңа..." + +#~ msgid "_Import..." +#~ msgstr "_Импорттау..." diff --git a/po/kn.po b/po/kn.po new file mode 100644 index 00000000..15c18f85 --- /dev/null +++ b/po/kn.po @@ -0,0 +1,3053 @@ +# translation of seahorse.master.kn.po to Kannada +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Praveen , 2008. +# Shankar Prasad , 2008, 2009. +msgid "" +msgstr "" +"Project-Id-Version: seahorse.master.kn\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=seahorse&component=general\n" +"POT-Creation-Date: 2009-08-29 17:59+0000\n" +"PO-Revision-Date: 2009-09-18 18:25+0530\n" +"Last-Translator: Shankar Prasad \n" +"Language-Team: Kannada \n" +"Language: kn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: KBabel 1.11.4\n" + +#: ../daemon/seahorse-daemon.c:69 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "Seahorse ಡೆಮನ್ ಅನ್ನು ಒಂದು ಡೆಮನ್ ಆಗಿ ಚಲಾಯಿಸಬೇಡ" + +#: ../daemon/seahorse-daemon.c:87 +msgid "couldn't fork process" +msgstr "ಪ್ರಕ್ರಿಯೆಯನ್ನು ಫೋರ್ಕ್ ಮಾಡಲಾಗಲಿಲ್ಲ" + +#: ../daemon/seahorse-daemon.c:93 +msgid "couldn't create new process group" +msgstr "ಹೊಸ ಪ್ರಕ್ರಿಯಾ ಸಮೂಹವನ್ನು ಸೃಜಿಸಲಾಗಲಿಲ್ಲ" + +#: ../daemon/seahorse-daemon.c:207 +msgid "Encryption Daemon (Seahorse)" +msgstr "ಗೂಢಲಿಪೀಕರಣ ಡೆಮನ್ (Seahorse)" + +#: ../daemon/seahorse-daemon.desktop.in.in.h:1 +msgid "Seahorse Daemon" +msgstr "Seahorse ಡೀಮನ್" + +#: ../daemon/seahorse-service.c:151 ../daemon/seahorse-service.c:175 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "ಅಮಾನ್ಯವಾದ ಅಥವ ಪತ್ತೆಹಚ್ಚಲಾಗದ ಕೀಲಿಯ ಪ್ರಕಾರ: %s" + +#: ../daemon/seahorse-service.c:224 ../daemon/seahorse-service-keyset.c:135 +#: ../daemon/seahorse-service-keyset.c:164 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "ಅಮಾನ್ಯವಾದ ಅಥವ ಪತ್ತೆಹಚ್ಚಲಾಗದ ಕೀಲಿ: %s" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:160 +#, c-format +msgid "Signed by expired on %s." +msgstr " ಯಿಂದ ಸಹಿ ಮಾಡಲಾದುದರ ಅವಧಿಯು %s ಅಂದು ಅಂತ್ಯಗೊಂಡಿದೆ." + +#: ../daemon/seahorse-service-crypto.c:161 +msgid "Invalid Signature" +msgstr "ಅಮಾನ್ಯ ಸಹಿ" + +#: ../daemon/seahorse-service-crypto.c:167 +#, c-format +msgid "Signed by on %s Expired." +msgstr " ಯಿಂದ ಸಹಿ ಮಾಡಲಾದುದರ ಅವಧಿಯು %s ಅಂದು ಅಂತ್ಯಗೊಂಡಿದೆ." + +#: ../daemon/seahorse-service-crypto.c:168 +msgid "Expired Signature" +msgstr "ಅವಧಿ ಅಂತ್ಯಗೊಂಡ ಸಹಿ" + +#: ../daemon/seahorse-service-crypto.c:174 +#, c-format +msgid "Signed by Revoked on %s." +msgstr " ಯಿಂದ ಸಹಿ ಮಾಡಲಾದುದನ್ನು %s ಅಂದು ರದ್ದುಗೊಳಿಸಲಾಗಿದೆ." + +#: ../daemon/seahorse-service-crypto.c:175 +msgid "Revoked Signature" +msgstr "ರದ್ದುಗೊಳಿಸಲಾದ ಸಹಿ" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:181 +#, c-format +msgid "Signed by on %s." +msgstr " ಯಿಂದ %sರಂದು ಸಹಿ ಮಾಡಲಾಗಿದೆ." + +#: ../daemon/seahorse-service-crypto.c:182 +msgid "Good Signature" +msgstr "ಉತ್ತಮ ಸಹಿ" + +#: ../daemon/seahorse-service-crypto.c:187 +msgid "Signing key not in keyring." +msgstr "ಸಹಿ ಮಾಡಲಾದ ಕೀಲಿಯು ಕೀಲಿ ಸುರುಳಿಯಲ್ಲಿ ಇಲ್ಲ." + +#: ../daemon/seahorse-service-crypto.c:188 +msgid "Unknown Signature" +msgstr "ಗೊತ್ತಿರದ ಸಹಿ" + +#: ../daemon/seahorse-service-crypto.c:192 +msgid "Bad or forged signature. The signed data was modified." +msgstr "ಸರಿಯಲ್ಲದ ಅಥವ ನಕಲಿ ಸಹಿ. ಸಹಿ ಮಾಡಲಾದ ಮಾಹಿತಿಯು ಮಾರ್ಪಡಿಸಲ್ಪಟ್ಟಿದೆ." + +#: ../daemon/seahorse-service-crypto.c:193 +msgid "Bad Signature" +msgstr "ಸರಿಯಲ್ಲದ ಸಹಿ" + +#: ../daemon/seahorse-service-crypto.c:201 +msgid "Couldn't verify signature." +msgstr "ಸಿಗ್ನೇಚರನ್ನು ಪರಿಶೀಲಿಸಲಾಗಿಲ್ಲ." + +#: ../daemon/seahorse-service-crypto.c:257 +#: ../daemon/seahorse-service-crypto.c:364 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "ಅಮಾನ್ಯವಾದ ಅಥವ ಪತ್ತೆಹಚ್ಚಲಾಗದ ಸೈನರ್: %s" + +#: ../daemon/seahorse-service-crypto.c:264 +#: ../daemon/seahorse-service-crypto.c:371 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "ಕೀಲಿಯು ಸಹಿ ಮಾಡಲು ಮಾನ್ಯವಾದುದಲ್ಲ: %s" + +#: ../daemon/seahorse-service-crypto.c:276 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "ಅಮಾನ್ಯವಾದ ಅಥವ ಗುರುತಿಸಲಾಗದ ಸ್ವೀಕರಿಸುವವ: %s" + +#: ../daemon/seahorse-service-crypto.c:284 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "ಕೀಲಿಯು ಗೂಢಲಿಪೀಕರಣಕ್ಕೆ ಮಾನ್ಯವಾದ ಪಡೆಯುವನನ್ನು ಹೊಂದಿಲ್ಲ: %s" + +#: ../daemon/seahorse-service-crypto.c:293 +#, c-format +msgid "No recipients specified" +msgstr "ಯಾವುದೆ ಪಡೆಯುವವನನ್ನು ಹೊಂದಿಲ್ಲ" + +#: ../daemon/seahorse-service-crypto.c:359 +#, c-format +msgid "No signer specified" +msgstr "ಯಾವುದೆ ಸೈನರ್ ಸೂಚಿಸಲ್ಪಟ್ಟಿಲ್ಲ" + +#: ../daemon/seahorse-service-crypto.c:414 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "ಡಿಕ್ರಿಪ್ಶನ್‍ಗೆ ಅಮಾನ್ಯವಾದ ಕೀಲಿಯ ಬಗೆ: %s" + +#: ../daemon/seahorse-service-crypto.c:477 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "ಪರಿಶೀಲನೆಗೆ ಅಮಾನ್ಯವಾದ ಕೀಲಿಯ ಬಗೆ: %s" + +#: ../daemon/seahorse-service-keyset.c:200 +#, c-format +msgid "Invalid key id: %s" +msgstr "ಅಮಾನ್ಯವಾದ ಕೀಲಿಯ ಐಡಿ: %s" + +#: ../daemon/seahorse-sharing.c:72 ../daemon/seahorse-sharing.c:216 +msgid "Couldn't share keys" +msgstr "ಕೀಲಿಗಳನ್ನು ಹಂಚಲಾಗಿಲ್ಲ" + +#: ../daemon/seahorse-sharing.c:73 +msgid "Can't publish discovery information on the network." +msgstr "ಜಾಲಬಂಧದಲ್ಲಿ ಶೋಧನಾ ಮಾಹಿತಿಯನ್ನು ಪ್ರಕಟಿಸಲಾಗಿಲ್ಲ." + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s". +#: ../daemon/seahorse-sharing.c:93 +#, c-format +msgid "%s's encryption keys" +msgstr "%s ನ ಗೂಢಲಿಪೀಕರಣ ಕೀಲಿಗಳು" + +#: ../data/seahorse.schemas.in.h:1 +msgid "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." +msgstr "" +"ದೂರಸ್ಥ PGP ಕೀಲಿಗಳನ್ನು ಹುಡುಕಲು ಕೀಲಿ ಪರಿಚಾರಕದ URIಗಳ ಒಂದು ಪಟ್ಟಿ. ಮುಂದಿನ " +"ಆವೃತ್ತಿಗಳಲ್ಲಿ ಒಂದು ಖಾಲಿಜಾಗವನ್ನು(ಸ್ಪೇಸ್) ಹಾಗು ಹೆಸರನ್ನು ಸೇರಿಸುವುದರ ಮೂಲಕ ಒಂದು ಪ್ರದರ್ಶಕದ " +"ಹೆಸರನ್ನು ಸೇರಿಸಬಹುದಾಗಿದೆ." + +#: ../data/seahorse.schemas.in.h:2 +msgid "Auto Retrieve Keys" +msgstr "ಕೀಲಿಗಳನ್ನು ತಾನಾಗಿಯೆ ಮರಳಿ ಪಡೆಯುವಿಕೆ" + +#: ../data/seahorse.schemas.in.h:3 +msgid "Auto Sync Keys" +msgstr "ಕೀಲಿಗಳ ಸ್ವಯಂಚಾಲಿತ ಸಿಂಕ್" + +#: ../data/seahorse.schemas.in.h:4 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "ಕೀಲಿ ವ್ಯವಸ್ಥಾಪಕನಿಗೆ ಅವಧಿ ತೀರುವ ಲಂಬಸಾಲಿನ ಗೋಚರಿಕೆಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ." + +#: ../data/seahorse.schemas.in.h:5 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "ಕೀಲಿ ವ್ಯವಸ್ಥಾಪಕನಿಗೆ ಟ್ರಸ್ಟ್ ಲಂಬಸಾಲಿನ ಗೋಚರಿಕೆಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ." + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the type column for the key manager." +msgstr "ಕೀಲಿ ವ್ಯವಸ್ಥಾಪಕನಿಗೆ ಪ್ರಕಾರದ ಲಂಬಸಾಲಿನ ಗೋಚರಿಕೆಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ." + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "ಕೀಲಿ ವ್ಯವಸ್ಥಾಪಕನಿಗಾಗಿ ಮಾನ್ಯತೆ ಲಂಬಸಾಲಿನ ಗೋಚರಿಕೆಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ." + +#: ../data/seahorse.schemas.in.h:8 +msgid "Enable DNS-SD sharing" +msgstr "DNS-SD ಹಂಚಿಕೆಯನ್ನು ಶಕ್ತಗೊಳಿಸು" + +#: ../data/seahorse.schemas.in.h:9 +msgid "" +"Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +"running and must be built with HKP and DNS-SD support." +msgstr "" +"DNS-SD (Apple Bonjour) ಹಂಚಲಾದ ಕೀಲಿಯನ್ನು ಶಕ್ತಗೊಳಿಸಿ. Seahorse-ಡೆಮನ್ " +"ಚಾಲನೆಯಲ್ಲಿರಬೇಕು ಹಾಗು HKP ಮತ್ತು DNS-SD ಬೆಂಬಲದೊಂದಿಗೆ ನಿರ್ಮಿತಗೊಂಡಿರಬೇಕು." + +#: ../data/seahorse.schemas.in.h:10 +msgid "ID of the default key" +msgstr "ಪೂರ್ವನಿಯೋಜಿತ ಕೀಲಿಯ ಐಡಿ " + +#: ../data/seahorse.schemas.in.h:11 +msgid "" +"If set to true, then files encrypted with seahorse will be ASCII armor " +"encoded." +msgstr "" +"ನಿಜವೆಂದು ಹೊಂದಿಸಿದರೆ, ಸೀಹಾರ್ಸಿನೊಂದಿಗೆ ಗೂಢಲಿಪೀಕರಣಗೊಂಡ ಕಡತಗಳು ASCIIನ ಕವಚದಿಂದ " +"ಎನ್ಕೋಡ್‌ ಆಗಿರುತ್ತದೆ." + +#: ../data/seahorse.schemas.in.h:12 +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "" +"ನಿಜಕ್ಕೆ ಹೊಂದಿಸಿದ್ದಲ್ಲಿ, ಡೀಫಾಲ್ಟ್‍ ಕೀಲಿಯು ಯಾವಾಗಲೂ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಸ್ವೀಕರಿಸುವವರ ಪಟ್ಟಿಯಲ್ಲಿ " +"ಸೇರಿಸಲಾಗುತ್ತದೆ." + +#: ../data/seahorse.schemas.in.h:13 +msgid "Last key server search pattern" +msgstr "ಹಿಂದಿನ ಬಾರಿ ಬಳಸಲಾದ ಕೀಲಿ ಪರಿಚಾರಕದ ಹುಡುಕು ಮಾದರಿ" + +#: ../data/seahorse.schemas.in.h:14 +msgid "Last key servers used" +msgstr "ಕೊನೆಯಲ್ಲಿ ಬಳಸಲಾದ ಕೀಲಿ ಪರಿಚಾರಕಗಳು" + +#: ../data/seahorse.schemas.in.h:15 +msgid "Last key used to sign a message." +msgstr "ಒಂದು ಸಂದೇಶವನ್ನು ಸಹಿ ಮಾಡಲು ಕೊನೆಯಲ್ಲಿ ಬಳಸಲಾದ ಕೀಲಿ." + +#: ../data/seahorse.schemas.in.h:16 +msgid "PGP Key servers" +msgstr "PGP ಕೀಲಿ ಪರಿಚಾರಕಗಳು" + +#: ../data/seahorse.schemas.in.h:17 +msgid "Publish keys to this key server." +msgstr "ಈ ಕೀಲಿ ಪರಿಚಾರಕಕ್ಕೆ ಕೀಲಿಗಳನ್ನು ಪ್ರಕಟಿಸು." + +#: ../data/seahorse.schemas.in.h:18 +msgid "Show expires column in key manager" +msgstr "ಕೀಲಿಸುರುಳಿಯ ವ್ಯವಸ್ಥಾಪಕದಲ್ಲಿ ಅವಧಿ ತೀರುವ ಲಂಬಸಾಲನ್ನು ತೋರಿಸು" + +#: ../data/seahorse.schemas.in.h:19 +msgid "Show trust column in key manager" +msgstr "ಕೀಲಿಸುರುಳಿಯ ವ್ಯವಸ್ಥಾಪಕದಲ್ಲಿ ಟ್ರಸ್ಟ್‍ ಲಂಬಸಾಲನ್ನು ತೋರಿಸು" + +#: ../data/seahorse.schemas.in.h:20 +msgid "Show type column in key manager" +msgstr "ಕೀಲಿಸುರುಳಿಯ ವ್ಯವಸ್ಥಾಪಕದಲ್ಲಿ ಪ್ರಕಾರದ ಲಂಬಸಾಲನ್ನು ತೋರಿಸು" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Show validity column in key manager" +msgstr "ಕೀಲಿ ವ್ಯವಸ್ಥಾಪಕದಲ್ಲಿ ಅವಧಿ ತೀರುವ ಲಂಬಸಾಲನ್ನು ತೋರಿಸು" + +#: ../data/seahorse.schemas.in.h:22 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name' and " +"'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "" +"ಸ್ವೀಕರಿಸುವವರ ವಿಂಡೋವನ್ನು ಯಾವ ಬಗೆಯಲ್ಲಿ ಲಂಬಸಾಲಿನಲ್ಲಿ ವಿಂಗಡಿಸಬೇಕು ಎಂದು ಸೂಚಿಸಿ. " +"ಲಂಬಸಾಲುಗಳು: 'ಹೆಸರು' ಹಾಗು 'ಐಡಿ'. ಇಳಿಕೆ ಕ್ರಮದಲ್ಲಿ ವಿಂಗಡಿಸಲು ಲಂಬಸಾಲಿನ ಹೆಸರಿನ " +"ಎದುರು '-' ಅನ್ನು ಸೇರಿಸಿ." + +#: ../data/seahorse.schemas.in.h:23 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." +msgstr "" +"Seahorse‌ ಕೀಲಿ ವ್ಯವಸ್ಥಾಪಕ ಮುಖ್ಯ ವಿಂಡೋವನ್ನು ಯಾವ ಬಗೆಯಲ್ಲಿ ಲಂಬಸಾಲಿನಲ್ಲಿ ವಿಂಗಡಿಸಬೇಕು " +"ಎಂದು ಸೂಚಿಸಿ. ಲಂಬಸಾಲುಗಳು: 'ಹೆಸರು', 'ಐಡಿ', 'ಕಾಲಾವಧಿ', 'ಕಾಲಾವಧಿಯ ಅಂತ್ಯ' 'ಟ್ರಸ್ಟ್‍' " +"ಹಾಗು 'ಬಗೆ'. ಇಳಿಕೆ ಕ್ರಮದಲ್ಲಿ ವಿಂಗಡಿಸಲು ಲಂಬಸಾಲಿನ ಹೆಸರಿನ ಎದುರು '-' ಅನ್ನು ಸೇರಿಸಿ." + +#: ../data/seahorse.schemas.in.h:24 +msgid "The ID of the last secret key used to sign a message." +msgstr "ಒಂದು ಸಂದೇಶವನ್ನು ಸಹಿ ಮಾಡಲು ಬಳಸಲಾದ ಕೊನೆಯ ರಹಸ್ಯ ಕೀಲಿಯ ಐಡಿ." + +#: ../data/seahorse.schemas.in.h:25 +msgid "The column to sort the recipients by" +msgstr "ಸ್ವೀಕರಿಸುವವರನ್ನು ವಿಂಗಡಿಸಬೇಕಿರುವ ಲಂಬಸಾಲು" + +#: ../data/seahorse.schemas.in.h:26 +msgid "The column to sort the seahorse keys by" +msgstr "ಸೀ ಹಾರ್ಸ್ ಕೀಲಿಗಳನ್ನು ವಿಂಗಡಿಸಬೇಕಿರುವ ಲಂಬಸಾಲು" + +#: ../data/seahorse.schemas.in.h:27 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"PGP ಕೀಲಿಗಳನ್ನು ಪ್ರಕಟಿಸಬೇಕಿರುವ ಕೀಲಿ ಪರಿಚಾರಕ. ಅಥವಾ PGP ಕೀಲಿಗಳನ್ನು ಪ್ರಕಟಿಸುವುದನ್ನು " +"ತಡೆಯಲು ಖಾಲಿ ಮಾಡಿ." + +#: ../data/seahorse.schemas.in.h:28 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"ಕಡೆಯ ಬಾರಿಗೆ ಒಂದು ಹುಡುಕನ್ನು ನಿರ್ವಹಿಸಲಾದ ಅಥವಾ ಎಲ್ಲಾ ಕೀಲಿ ಪರಿಚಾರಕಗಳಿಗಾಗಿ ಖಾಲಿ " +"ಮಾಡಲಾದ ಕೀಲಿ ಪರಿಚಾರಕ." + +#: ../data/seahorse.schemas.in.h:29 +msgid "The last search pattern searched for against a key server." +msgstr "ಒಂದು ಕೀಲಿ ಪರಿಚಾರಕದಲ್ಲಿ ಕಡೆಯ ಬಾರಿಗೆ ಹುಡುಕಲಾದ ಹುಡುಕು ಮಾದರಿ." + +#: ../data/seahorse.schemas.in.h:30 +msgid "This specifies the default key to use for certain operations, mainly signing." +msgstr "" +"ಕೆಲವೊಂದು ನಿಗದಿತ ಕಾರ್ಯಗಳಲ್ಲಿ ಬಳಸಲು ಪೂರ್ವನಿಯೋಜಿತ ಕೀಲಿಯನ್ನು ಸೂಚಿಸುತ್ತದೆ, ಮುಖ್ಯವಾಗಿ " +"ಸಹಿ ಮಾಡಲು." + +#: ../data/seahorse.schemas.in.h:31 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "ಕೀಲಿಗಳು ಕೀಲಿ ಪರಿಚಾರಕದಿಂದ ತಾನಾಗಿಯೆ ಮರಳಿ ಪಡೆಯಲಾಗಬೇಕೆ ಅಥವ ಬೇಡವೆ." + +#: ../data/seahorse.schemas.in.h:32 +msgid "" +"Whether or not modified keys should be automatically synced with the default " +"key server." +msgstr "" +"ಮಾರ್ಪಡಿಸಲಾದ ಕೀಲಿಗಳು ತಾನಾಗಿಯೆ ಡೀಫಾಲ್ಟ್‍ ಕೀಲಿ ಪರಿಚಾರಕದೊಂದಿಗೆ ಮೇಳೈಸಲ್ಪಡಬೇಕೆ ಅಥವ " +"ಬೇಡವೆ." + +#: ../data/seahorse.schemas.in.h:33 +msgid "Whether to always encrypt to default key" +msgstr "ಪ್ರತಿಬಾರಿಯೂ ಪೂರ್ವನಿಯೋಜಿತ ಕೀಲಿಗೆ ಗೂಢಲಿಪೀಕರಣಗೊಳಿಸಬೇಕೆ" + +#: ../data/seahorse.schemas.in.h:34 +msgid "Whether to use ASCII Armor" +msgstr "ASCII ಆರ್ಮರನ್ನು ಬಳಸಬೇಕೆ" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "ಗುಪ್ತಪದ ಕೀಲಿಸುರುಳಿಯನ್ನು ಸೇರಿಸು" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "ಹೊಸ ಕೀಲಿಸುರುಳಿಯ ಹೆಸರು:" + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"ದಯವಿಟ್ಟು ಹೊಸ ಕೀಲಿ ಸುರುಳಿಗೆ ಒಂದು ಹೆಸರನ್ನು ನೀಡಿ. ಅನ್‌ಲಾಕ್‌ ಮಾಡುವ ಗುಪ್ತಪದಕ್ಕಾಗಿ ನಿಮ್ಮನ್ನು " +"ಕೇಳಲಾಗುವುದು." + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "ಪರಿಚಾರಕಕ್ಕಾಗಿ ಅತಿಥೇಯ ಹೆಸರು ಅಥವ ವಿಳಾಸ." + +#: ../gkr/seahorse-gkr-add-item.c:60 ../gkr/seahorse-gkr-add-keyring.c:59 +msgid "Couldn't add keyring" +msgstr "ಕೀಲಿಸುರುಳಿಯನ್ನು ಸೇರಿಸಲಾಗಲಿಲ್ಲ" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#| msgid "Password" +msgid "Add Password" +msgstr "ಗುಪ್ತಪದವನ್ನು ಸೇರಿಸು" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:17 ../pgp/seahorse-revoke.xml.h:5 +msgid "_Description:" +msgstr "ವಿವರಣೆ(_D):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +#| msgid "Keyring" +msgid "_Keyring:" +msgstr "ಕೀಲಿಸುರುಳಿ(_K):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +#| msgid "Password:" +msgid "_Password:" +msgstr "ಗುಪ್ತಪದ(_P):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +#| msgid "Show pass_word" +msgid "_Show Password" +msgstr "ಗುಪ್ತಪದವನ್ನು ತೋರಿಸು(_s)" + +#: ../gkr/seahorse-gkr-item.c:470 +msgid "Web Password" +msgstr "ಜಾಲ ಗುಪ್ತಪದ" + +#: ../gkr/seahorse-gkr-item.c:472 +msgid "Network Password" +msgstr "ಜಾಲಬಂಧ ಗುಪ್ತಪದ" + +#: ../gkr/seahorse-gkr-item.c:474 ../gkr/seahorse-gkr-item-properties.c:107 +msgid "Password" +msgstr "ಗುಪ್ತಪದ" + +#: ../gkr/seahorse-gkr-item-commands.c:78 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "ನೀವು '%s' ಗುಪ್ತಪದವನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಬಯಸಿದ್ದು ಖಚಿತವೆ ?" + +#: ../gkr/seahorse-gkr-item-commands.c:81 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "ನೀವು '%d' ಗುಪ್ತಪದವನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಬಯಸಿದ್ದು ಖಚಿತವೆ ?" +msgstr[1] "ನೀವು '%d' ಗುಪ್ತಪದಗಳನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಬಯಸಿದ್ದು ಖಚಿತವೆ ?" + +#: ../gkr/seahorse-gkr-item-properties.c:66 +msgid "Access a network share or resource" +msgstr "ಜಾಲಬಂಧದ ಹಂಚಿಕೆ ಅಥವ ಸಂಪನ್ಮೂಲವನ್ನು ನಿಲುಕಿಸಿಕೋ" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a website" +msgstr "ಒಂದು ಜಾಲತಾಣವನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳು" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Unlocks a PGP key" +msgstr "PGP ಕೀಲಿಯನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುತ್ತದೆ" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a Secure Shell key" +msgstr "ಸುರಕ್ಷಿತ ಶೆಲ್ ಕೀಲಿಯನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುತ್ತದೆ" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Saved password or login" +msgstr "ಉಳಿಸಲಾದ ಗುಪ್ತಪದ ಅಥವಾ ಪ್ರವೇಶ" + +#: ../gkr/seahorse-gkr-item-properties.c:102 +msgid "Network Credentials" +msgstr "ಜಾಲಬಂಧ ಪರಿಚಯಪತ್ರ" + +#: ../gkr/seahorse-gkr-item-properties.c:245 +msgid "Couldn't change password." +msgstr "ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸಲಾಗಿಲ್ಲ." + +#: ../gkr/seahorse-gkr-item-properties.c:347 +msgid "Couldn't set description." +msgstr "ವಿವರಣೆಯನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಲಿಲ್ಲ." + +#: ../gkr/seahorse-gkr-item-properties.c:641 +msgid "Couldn't set application access." +msgstr "ಅನ್ವಯ ನಿಲುಕಣೆಯನ್ನು ಸಿದ್ಧಗೊಳಿಸಲಾಗಿಲ್ಲ." + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +msgid "Password:" +msgstr "ಗುಪ್ತಪದ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 +msgid "Path:" +msgstr "ಪಥ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +msgid "Permissions:" +msgstr "ಅನುಮತಿಗಳು:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Technical Details:" +msgstr "ತಾಂತ್ರಿಕ ವಿವರಗಳು" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Applications" +msgstr "ಅನ್ವಯಗಳು" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:72 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Details" +msgstr "ವಿವರಗಳು" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Key" +msgstr "ಕೀಲಿ" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Key Properties" +msgstr "ಕೀಲಿ ಗುಣಲಕ್ಷಣಗಳು" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +msgid "Login:" +msgstr "ಪ್ರವೇಶ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +msgid "Server:" +msgstr "ಪರಿಚಾರಕ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +msgid "Show pass_word" +msgstr "ಗುಪ್ತಪದವನ್ನು ತೋರಿಸು(_w)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +msgid "Type:" +msgstr "ಪ್ರಕಾರ:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:14 +msgid "Use:" +msgstr "ಬಳಸು:" + +#. To translators: This is the infinitive not the imperative. This string refers to the ability of an application to delete this secret from its key ring. +#: ../gkr/seahorse-gkr-item-properties.xml.h:16 +msgid "_Delete" +msgstr "ಅಳಿಸಿ ಹಾಕು(_D)" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:19 +msgid "_Read" +msgstr "ಓದು(_R)" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:21 +msgid "_Write" +msgstr "ಬರೆ(_W)" + +#: ../gkr/seahorse-gkr-keyring.c:193 +msgid "Listing passwords" +msgstr "ಗುಪ್ತಪದಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾಗುತ್ತಿದೆ" + +#: ../gkr/seahorse-gkr-keyring.c:354 +#, c-format +msgid "Passwords: %s" +msgstr "ಗುಪ್ತಪದಗಳು: %s" + +#: ../gkr/seahorse-gkr-keyring.c:355 +#, c-format +msgid "Passwords: %s" +msgstr "ಗುಪ್ತಪದ: %s" + +#: ../gkr/seahorse-gkr-keyring-commands.c:94 +msgid "Password Keyring" +msgstr "ಗುಪ್ತಪದ ಕೀಲಿಸುರುಳಿ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:95 +msgid "Used to store application and network passwords" +msgstr "ಅನ್ವಯ ಹಾಗು ಜಾಲಬಂಧ ಗುಪ್ತಗಳನ್ನು ಶೇಖರಿಸಿಡಲು ಬಳಸಲಾಗಿದೆ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:96 +#| msgid "Network Password" +msgid "Stored Password" +msgstr "ಶೇಖರಿಸಿಡಲಾದ ಗುಪ್ತಪದ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:97 +msgid "Safely store a password or secret." +msgstr "ಸುರಕ್ಷಿತವಾಗಿ ಒಂದು ಗುಪ್ತಪದ ಅಥವ ರಹಸ್ಯವನ್ನು ಶೇಖರಿಸಿಡಿ." + +#: ../gkr/seahorse-gkr-keyring-commands.c:110 +msgid "Couldn't unlock keyring" +msgstr "ಕೀಲಿಸುರುಳಿಯನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಲಾಗಲಿಲ್ಲ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:150 +msgid "Couldn't lock keyring" +msgstr "ಕೀಲಿಸುರುಳಿಯನ್ನು ಲಾಕ್ ಮಾಡಲಾಗಲಿಲ್ಲ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:190 +msgid "Couldn't set default keyring" +msgstr "ಪೂರ್ವನಿಯೋಜಿತ ಕೀಲಿಸುರುಳಿಯನ್ನು ಹೊಂದಿಸಲಾಗಿಲ್ಲ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:228 +msgid "Couldn't change keyring password" +msgstr "ಗುಪ್ತಪದ ಕೀಲಿಸುರುಳಿಯನ್ನು ಬದಲಾಯಿಸಲಾಗಲಿಲ್ಲ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:259 +msgid "_Lock" +msgstr "ಲಾಕ್‌ ಮಾಡು(_L)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:260 +msgid "" +"Lock the password storage keyring so a master password is required to unlock " +"it." +msgstr "ಗುಪ್ತಪದ ಶೇಖರಣಾ ಕೀಲಿಸುರುಳಿಯನ್ನು ಒಂದು ಮುಖ್ಯ ಗುಪ್ತಪದದಿಂದ ತೆರೆಯುವಂತೆ ಲಾಕ್ ಮಾಡಿ." + +#: ../gkr/seahorse-gkr-keyring-commands.c:261 +msgid "_Unlock" +msgstr "ಅನ್‌ಲಾಕ್ ಮಾಡು(_U)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:262 +msgid "" +"Unlock the password storage keyring with a master password so it is " +"available for use." +msgstr "" +"ಗುಪ್ತಪದ ಶೇಖರಣಾ ಕೀಲಿಸುರುಳಿಯನ್ನು ಬಳಕೆಗಾಗಿ ಲಭ್ಯವಿರುವಂತೆ ಒಂದು ಮುಖ್ಯ ಗುಪ್ತಪದದಿಂದ ಅನ್‌ಲಾಕ್ " +"ಮಾಡಿ." + +#: ../gkr/seahorse-gkr-keyring-commands.c:263 +msgid "_Set as default" +msgstr "ಪೂರ್ವನಿಯೋಜಿತವಾಗಿರುವಂತೆ ಹೊಂದಿಸು(_S)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:264 +msgid "Applications usually store new passwords in the default keyring." +msgstr "ಅನ್ವಯಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಹೊಸ ಗುಪ್ತಪದಗಳನ್ನು ಪೂರ್ವನಿಯೋಜಿತ ಕೀಲಿಸುರುಳಿಯಲ್ಲಿ ಶೇಖರಿಸಿಡುತ್ತವೆ." + +#: ../gkr/seahorse-gkr-keyring-commands.c:265 +msgid "Change _Password" +msgstr "ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸು(_P)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:266 +msgid "Change the unlock password of the password storage keyring" +msgstr "ಗುಪ್ತಪದ ಶೇಖರಣಾ ಕೀಲಿಸುರುಳಿಗಾಗಿನ ಗುಪ್ತಪದವನ್ನು ಬದಲಾಯಿಸಿ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:330 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "ನೀವು '%s' ಗುಪ್ತಪದ ಕೀಲಿಸುರುಳಿಯನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಬಯಸಿದ್ದು ಖಚಿತವೆ ?" + +#. ----------------------------------------------------------------------------- +#. * PUBLIC +#. +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Created:" +msgstr "ನಿರ್ಮಿಸಲಾಗಿದ್ದು:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +msgid "Keyring" +msgstr "ಕೀಲಿಸುರುಳಿ" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring Properties" +msgstr "ಕೀಲಿಸುರುಳಿಯ ಗುಣಲಕ್ಷಣಗಳು" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "_Name:" +msgstr "ಹೆಸರು(_N):" + +#: ../gkr/seahorse-gkr-operation.c:168 +msgid "Access to the key ring was denied" +msgstr "ಕೀಲಿ ಸುರುಳಿಯನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳುವುದನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ" + +#: ../gkr/seahorse-gkr-operation.c:171 +msgid "The gnome-keyring daemon is not running" +msgstr "ಜೀನೋಮ್-ಕೀಲಿ ಸುರುಳಿ ಡೆಮನ್ ಚಲಾಯಿತಗೊಂಡಿಲ್ಲ" + +#: ../gkr/seahorse-gkr-operation.c:174 +msgid "The key ring has already been unlocked" +msgstr "ಕೀಲಿ ಸುರುಳಿಯು ಈಗಾಗಲೇ ಅನ್‌ಲಾಕ್‌ ಮಾಡಲ್ಪಟ್ಟಿದೆ" + +#: ../gkr/seahorse-gkr-operation.c:177 +msgid "No such key ring exists" +msgstr "ಆ ಬಗೆಯ ಯಾವುದೆ ಕೀಲಿ ಸುರುಳಿ ಇಲ್ಲ" + +#: ../gkr/seahorse-gkr-operation.c:180 +msgid "Couldn't communicate with key ring daemon" +msgstr "ಕೀಲಿ ಸುರುಳಿ ಡೆಮನೊಂದಿಗೆ ವ್ಯವಹರಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ" + +#: ../gkr/seahorse-gkr-operation.c:183 +msgid "The item already exists" +msgstr "ಅಂಶವು ಈಗಾಗಲೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ" + +#: ../gkr/seahorse-gkr-operation.c:189 +msgid "Internal error accessing gnome-keyring" +msgstr "ಜೀನೋಮ್-ಕೀಲಿ ಸುರುಳಿಯನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳುವಾಗ ಆಂತರಿಕ ದೋಷ" + +#: ../gkr/seahorse-gkr-operation.c:238 ../gkr/seahorse-gkr-operation.c:264 +msgid "Saving item..." +msgstr "ಅಂಶವನ್ನು ಉಳಿಸಲಾಗುತ್ತಿದೆ..." + +#: ../gkr/seahorse-gkr-operation.c:300 +msgid "Deleting item..." +msgstr "ಅಂಶವನ್ನು ಅಳಿಸಲಾಗುತ್ತಿದೆ..." + +#: ../gkr/seahorse-gkr-operation.c:325 +msgid "Deleting keyring..." +msgstr "ಕೀಲಿಸುರಿಳಿಯನ್ನು ಅಳಿಸಲಾಗುತ್ತಿದೆ..." + +#: ../gkr/seahorse-gkr-source.c:234 +msgid "Listing password keyrings" +msgstr "ಗುಪ್ತಪದದ ಕೀಲಿಸುರುಳಿಯನ್ನು ಪಟ್ಟಿ ಮಾಡಲಾಗುತ್ತಿದೆ" + +#: ../libcryptui/cryptui.c:272 +msgid "" +"No encryption keys were found with which to perform the operation you " +"requested. The program Passwords and Encryption Keys will now be " +"started so that you may either create a key or import one." +msgstr "" +"ನೀವು ಮನವಿ ಸಲ್ಲಿಸಲಾದಂತಹ ಕಾರ್ಯವನ್ನು ನಿರ್ವಹಿಸಲು ಯಾವುದೆ ಗೂಢಲಿಪೀಕರಣ ಕೀಲಿಯು " +"ಕಂಡುಬಂದಿಲ್ಲ. ನೀವು ಒಂದು ಕೀಲಿಯನ್ನು ಸೃಜಿಸಲು ಅಥವ ಆಮದು ಮಾಡಿಕೊಳ್ಳಲು ನೆರವಾಗುವಂತೆ " +"ಗುಪ್ತಪದಗಳು ಹಾಗು ಗೂಢಲಿಪೀಕರಣ ಕೀಲಿಗಳು ಪ್ರೊಗ್ರಾಮ್‌ ಅನ್ನು ಆರಂಭಿಸಲಾಗುವುದು." + +#: ../libcryptui/cryptui-key-chooser.c:173 +msgid "All Keys" +msgstr "ಎಲ್ಲಾ ಕೀಲಿಗಳು" + +#: ../libcryptui/cryptui-key-chooser.c:174 +msgid "Selected Recipients" +msgstr "ಆಯ್ದ ಸ್ವೀಕರಿಸುವವರು" + +#: ../libcryptui/cryptui-key-chooser.c:175 +msgid "Search Results" +msgstr "ಹುಡುಕು ಫಲಿತಾಂಶ" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:185 +msgid "Search _for:" +msgstr "ಇದಕ್ಕಾಗಿ ಹುಡುಕು(_f):" + +#: ../libcryptui/cryptui-key-chooser.c:243 +msgid "None (Don't Sign)" +msgstr "ಯಾವುದೂ ಇಲ್ಲ (ಸಹಿ ಮಾಡಬೇಡ)" + +#: ../libcryptui/cryptui-key-chooser.c:256 +#, c-format +msgid "Sign this message as %s" +msgstr "ಸಂದೇಶವನ್ನು %s ಎಂದಾಗಿ ಸಹಿ ಮಾಡು" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:278 +msgid "_Sign message as:" +msgstr "ಸಂದೇಶವನ್ನು ಹೀಗೆ ಸಹಿ ಮಾಡು(_S):" + +#. TODO: Icons +#. The name column +#: ../libcryptui/cryptui-key-list.c:140 +#: ../pgp/seahorse-pgp-key-properties.c:839 +#: ../src/seahorse-key-manager-store.c:828 +msgid "Name" +msgstr "ಹೆಸರು" + +#. The keyid column +#: ../libcryptui/cryptui-key-list.c:145 +#: ../pgp/seahorse-pgp-key-properties.c:1743 +#: ../src/seahorse-key-manager-store.c:840 +msgid "Key ID" +msgstr "ಕೀಲಿ ಐಡಿ" + +#: ../libegg/egg-datetime.c:313 +msgid "Display flags" +msgstr "ಗುರುತುಗಳನ್ನು ತೋರಿಸು" + +#: ../libegg/egg-datetime.c:314 +msgid "Displayed date and/or time properties" +msgstr "ತೋರಿಸಲಾದ ದಿನಾಂಕ ಹಾಗು/ಅಥವಾ ಸಮಯದ ಗುಣಗಳು" + +#: ../libegg/egg-datetime.c:319 +msgid "Lazy mode" +msgstr "ಆಲಸ್ಯದ ಕ್ರಮ" + +#: ../libegg/egg-datetime.c:320 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "ಆಲಸ್ಯದ ಕ್ರಮವು ದಿನಾಂಕ ಮತ್ತು ಸಮಯದ ಮೌಲ್ಯಗಳನ್ನು ಕ್ರಮಬದ್ದಗೊಳಿಸುವುದಿಲ್ಲ" + +#: ../libegg/egg-datetime.c:325 +msgid "Year" +msgstr "ವರ್ಷ" + +#: ../libegg/egg-datetime.c:326 +msgid "Displayed year" +msgstr "ತೋರಿಸಲಾದ ವರ್ಷ" + +#: ../libegg/egg-datetime.c:331 +msgid "Month" +msgstr "ತಿಂಗಳು" + +#: ../libegg/egg-datetime.c:332 +msgid "Displayed month" +msgstr "ತೋರಿಸಲಾದ ತಿಂಗಳು" + +#: ../libegg/egg-datetime.c:337 +msgid "Day" +msgstr "ದಿನ" + +#: ../libegg/egg-datetime.c:338 +msgid "Displayed day of month" +msgstr "ತೋರಿಸಲಾದ ತಿಂಗಳ ದಿನ" + +#: ../libegg/egg-datetime.c:343 +msgid "Hour" +msgstr "ಗಂಟೆ" + +#: ../libegg/egg-datetime.c:344 +msgid "Displayed hour" +msgstr "ತೋರಿಸಲಾದ ಗಂಟೆ" + +#: ../libegg/egg-datetime.c:349 +msgid "Minute" +msgstr "ನಿಮಿಷಗಳು" + +#: ../libegg/egg-datetime.c:350 +msgid "Displayed minute" +msgstr "ತೋರಿಸಲಾದ ನಿಮಿಷ" + +#: ../libegg/egg-datetime.c:355 +msgid "Second" +msgstr "ಸೆಕೆಂಡು" + +#: ../libegg/egg-datetime.c:356 +msgid "Displayed second" +msgstr "ತೋರಿಸಲಾದ ಸೆಕೆಂಡು" + +#: ../libegg/egg-datetime.c:361 +msgid "Lower limit year" +msgstr "ಕೆಳಗಿನ ಮಿತಿಯಲ್ಲಿನ ವರ್ಷ" + +#: ../libegg/egg-datetime.c:362 +msgid "Year part of the lower date limit" +msgstr "ದಿನಾಂಕದ ಕೆಳಗಿನ ಮಿತಿಯಲ್ಲಿನ ವರ್ಷದ ಭಾಗ" + +#: ../libegg/egg-datetime.c:367 +msgid "Upper limit year" +msgstr "ಮೇಲಿನ ಮಿತಿಯ ವರ್ಷ" + +#: ../libegg/egg-datetime.c:368 +msgid "Year part of the upper date limit" +msgstr "ದಿನಾಂಕದ ಮೇಲಿನ ಮಿತಿಯಲ್ಲಿನ ವರ್ಷದ ಭಾಗ" + +#: ../libegg/egg-datetime.c:373 +msgid "Lower limit month" +msgstr "ಕೆಳಗಿನ ಮಿತಿಯಲ್ಲಿನ ತಿಂಗಳು" + +#: ../libegg/egg-datetime.c:374 +msgid "Month part of the lower date limit" +msgstr "ದಿನಾಂಕದ ಕೆಳಗಿನ ಮಿತಿಯಲ್ಲಿನ ತಿಂಗಳಿನ ದಿನದ ಭಾಗ" + +#: ../libegg/egg-datetime.c:379 +msgid "Upper limit month" +msgstr "ಮೇಲಿನ ಮಿತಿಯಲ್ಲಿನ ತಿಂಗಳು" + +#: ../libegg/egg-datetime.c:380 +msgid "Month part of the upper date limit" +msgstr "ದಿನಾಂಕದ ಮೇಲಿನ ಮಿತಿಯಲ್ಲಿನ ತಿಂಗಳಿನ ಭಾಗ" + +#: ../libegg/egg-datetime.c:385 +msgid "Lower limit day" +msgstr "ಕೆಳಗಿನ ಮಿತಿಯಲ್ಲಿನ ದಿನ" + +#: ../libegg/egg-datetime.c:386 +msgid "Day of month part of the lower date limit" +msgstr "ದಿನಾಂಕದ ಕೆಳಗಿನ ಮಿತಿಯಲ್ಲಿನ ತಿಂಗಳಿನ ದಿನದ ಭಾಗ" + +#: ../libegg/egg-datetime.c:391 +msgid "Upper limit day" +msgstr "ಮೇಲಿನ ಮಿತಿಯಲ್ಲಿನ ದಿನ" + +#: ../libegg/egg-datetime.c:392 +msgid "Day of month part of the upper date limit" +msgstr "ದಿನಾಂಕದ ಮೇಲಿನ ಮಿತಿಯಲ್ಲಿನ ತಿಂಗಳಿನ ದಿನದ ಭಾಗ" + +#: ../libegg/egg-datetime.c:397 +msgid "Lower limit hour" +msgstr "ಕೆಳಗಿನ ಮಿತಿಯಲ್ಲಿನ ಗಂಟೆ" + +#: ../libegg/egg-datetime.c:398 +msgid "Hour part of the lower time limit" +msgstr "ಸಮಯದ ಕೆಳಗಿನ ಮಿತಿಯಲ್ಲಿನ ಗಂಟೆ ಭಾಗ" + +#: ../libegg/egg-datetime.c:403 +msgid "Upper limit hour" +msgstr "ಮೇಲಿನ ಮಿತಿಯಲ್ಲಿನ ಗಂಟೆ" + +#: ../libegg/egg-datetime.c:404 +msgid "Hour part of the upper time limit" +msgstr "ಸಮಯದ ಮೇಲಿನ ಮಿತಿಯಲ್ಲಿನ ಗಂಟೆ ಭಾಗ" + +#: ../libegg/egg-datetime.c:409 +msgid "Lower limit minute" +msgstr "ಕೆಳಗಿನ ಮಿತಿಯಲ್ಲಿನ ನಿಮಿಷ" + +#: ../libegg/egg-datetime.c:410 +msgid "Minute part of the lower time limit" +msgstr "ಸಮಯದ ಕೆಳಗಿನ ಮಿತಿಯಲ್ಲಿನ ನಿಮಿಷ ಭಾಗ" + +#: ../libegg/egg-datetime.c:415 +msgid "Upper limit minute" +msgstr "ಮೇಲಿನ ಮಿತಿಯಲ್ಲಿನ ನಿಮಿಷ" + +#: ../libegg/egg-datetime.c:416 +msgid "Minute part of the upper time limit" +msgstr "ಸಮಯದ ಮೇಲಿನ ಮಿತಿಯಲ್ಲಿನ ನಿಮಿಷ ಭಾಗ" + +#: ../libegg/egg-datetime.c:421 +msgid "Lower limit second" +msgstr "ಕೆಳಗಿನ ಮಿತಿಯಲ್ಲಿನ ಸೆಕೆಂಡ್" + +#: ../libegg/egg-datetime.c:422 +msgid "Second part of the lower time limit" +msgstr "ಸಮಯದ ಕೆಳಗಿನ ಮಿತಿಯಲ್ಲಿನ ಸೆಕೆಂಡ್ ಭಾಗ" + +#: ../libegg/egg-datetime.c:427 +msgid "Upper limit second" +msgstr "ಮೇಲಿನ ಮಿತಿಯಲ್ಲಿನ ಸೆಕೆಂಡ್" + +#: ../libegg/egg-datetime.c:428 +msgid "Second part of the upper time limit" +msgstr "ಸಮಯದ ಮೇಲಿನ ಮಿತಿಯಲ್ಲಿನ ಸೆಕೆಂಡ್ ಭಾಗ" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:470 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:492 +msgid "Date" +msgstr "ದಿನಾಂಕ" + +#: ../libegg/egg-datetime.c:492 +msgid "Enter the date directly" +msgstr "ದಿನಾಂಕವನ್ನು ನೇರವಾಗಿ ನಮೂದಿಸಿ" + +#: ../libegg/egg-datetime.c:499 +msgid "Select Date" +msgstr "ದಿನಾಂಕವನ್ನು ಆರಿಸಿ" + +#: ../libegg/egg-datetime.c:499 +msgid "Select the date from a calendar" +msgstr "ಕ್ಯಾಲೆಂಡರಿನಿಂದ ದಿನಾಂಕವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ" + +#: ../libegg/egg-datetime.c:517 ../libegg/egg-datetime.c:2192 +msgid "Time" +msgstr "ಸಮಯ" + +#: ../libegg/egg-datetime.c:517 +msgid "Enter the time directly" +msgstr "ಸಮಯವನ್ನು ನೇರವಾಗಿ ನಮೂದಿಸಿ" + +#: ../libegg/egg-datetime.c:524 +msgid "Select Time" +msgstr "ಸಮಯವನ್ನು ಆರಿಸಿ" + +#: ../libegg/egg-datetime.c:524 +msgid "Select the time from a list" +msgstr "ಪಟ್ಟಿಯಿಂದ ಸಮಯವನ್ನು ಆಯ್ಕೆ ಮಾಡಿ" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:791 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:795 ../libegg/egg-datetime.c:1253 +#: ../libegg/egg-datetime.c:1257 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:797 ../libegg/egg-datetime.c:1254 +#: ../libegg/egg-datetime.c:1261 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:805 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:808 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:812 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:815 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1169 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1234 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libegg/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "ಕಡತವು ಒಂದು ಮಾನ್ಯವಾದಂತಹ .desktop ಕಡತವಾಗಿಲ್ಲ" + +#: ../libegg/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "ಗುರುತಿಸಲಾಗದ ಗಣಕತೆರೆ ಕಡತದ ಆವೃತ್ತಿ '%s'" + +#: ../libegg/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "%s ಅನ್ನು ಆರಂಭಿಸಲಾಗುತ್ತಿದೆ" + +#: ../libegg/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "ಅನ್ವಯವು ಆಜ್ಞಾ ಸಾಲಿನಲ್ಲಿ ದಸ್ತಾವೇಜುಗಳನ್ನು ಅಂಗೀಕರಿಸುವುದಿಲ್ಲ" + +#: ../libegg/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "ಗುರುತಿಸಲಾಗದ ಆರಂಭದ ಆಯ್ಕೆ: %d" + +#: ../libegg/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "ದಸ್ತಾವೇಜಿನ URI ಗಳನ್ನು ಒಂದು 'Type=Link' ಗಣಕತೆರೆ ನಮೂದಿಗೆ ರವಾನಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ" + +#: ../libegg/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "ಆರಂಭಿಸಬಹುದಾದ ಅಂಶವಾಗಿಲ್ಲ" + +#: ../libegg/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "ಅಧಿವೇಶನದ ವ್ಯವಸ್ಥಾಪಕನೊಂದಿಗಿನ ಸಂಪರ್ಕವನ್ನು ಅಶಕ್ತಗೊಳಿಸು" + +#: ../libegg/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "ಉಳಿಸಲಾದ ಸಂರಚನೆಯನ್ನು ಹೊಂದಿರುವ ಕಡತವನ್ನು ಸೂಚಿಸಿ" + +#: ../libegg/eggsmclient.c:228 +msgid "FILE" +msgstr "FILE" + +#: ../libegg/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "ಅಧೀವೇಶನ ವ್ಯವಸ್ಥಾಪನಾ ID ಯನ್ನು ಸೂಚಿಸಿ" + +#: ../libegg/eggsmclient.c:231 ../pgp/seahorse-pgp-key-properties.c:1312 +msgid "ID" +msgstr "ಐಡಿ" + +#: ../libegg/eggsmclient.c:252 +msgid "Session management options:" +msgstr "ಅಧಿವೇಶನ ನಿರ್ವಹಣಾ ಆಯ್ಕೆಗಳು:" + +#: ../libegg/eggsmclient.c:253 +msgid "Show session management options" +msgstr "ಅಧಿವೇಶನ ನಿರ್ವಹಣೆ ಆಯ್ಕೆಗಳನ್ನು ತೋರಿಸು" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "ಕೀಲಿ ಪರಿಚಾರಕವನ್ನು ಸೇರಿಸು" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Host:" +msgstr "ಅತಿಥೇಯ:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Key Server Type:" +msgstr "ಕೀಲಿ ಪರಿಚಾರಕದ ಬಗೆ:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid "The port to access the server on." +msgstr "ಪರಿಚಾರಕವನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳಬೇಕಿರುವ ಸಂಪರ್ಕಸ್ಥಾನ." + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "initial temporary item" +msgstr "ಆರಂಭಿಕ ತಾತ್ಕಾಲಿಕ ಅಂಶ" + +#: ../libseahorse/seahorse-notification.c:566 +#: ../libseahorse/seahorse-notification.c:594 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "ಆಮದು ಮಾಡಿಕೊಂಡ ಕೀಲಿ" +msgstr[1] "ಆಮದು ಮಾಡಿಕೊಂಡ ಕೀಲಿಗಳು" + +#: ../libseahorse/seahorse-notification.c:570 +#: ../libseahorse/seahorse-notification.c:593 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "ಆಮದು ಮಾಡಿಕೊಂಡ %i ಕೀಲಿ" +msgstr[1] "ಆಮದು ಮಾಡಿಕೊಂಡ %i ಕೀಲಿಗಳು" + +#: ../libseahorse/seahorse-notification.c:572 +#, c-format +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "ಇದಕ್ಕಾಗಿ ಆಮದು ಮಾಡಿಕೊಂಡ ಕೀಲಿ" +msgstr[1] "ಇದಕ್ಕಾಗಿ ಆಮದು ಮಾಡಿಕೊಂಡ ಕೀಲಿಗಳು" + +#: ../libseahorse/seahorse-notify.xml.h:1 +msgid "Notification Messages" +msgstr "ಸೂಚನಾ ಸಂದೇಶಗಳು" + +#: ../libseahorse/seahorse-object.c:317 +msgid "Symmetric Key" +msgstr "ಅನುರೂಪತೆಯ ಕೀಲಿಗಳು" + +#: ../libseahorse/seahorse-object.c:320 +msgid "Public Key" +msgstr "ಸಾರ್ವಜನಿಕ ಕೀಲಿ" + +#: ../libseahorse/seahorse-object.c:323 +msgid "Private Key" +msgstr "ಖಾಸಗಿ ಕೀಲಿ" + +#: ../libseahorse/seahorse-object.c:326 +msgid "Credentials" +msgstr "ಪರಿಚಯಪತ್ರಗಳು" + +#. +#. * Translators: "This object is a means of storing items such as +#. * name, email address, etc. that make up one's digital identity. +#. +#: ../libseahorse/seahorse-object.c:333 +msgid "Identity" +msgstr "ಗುರುತು" + +#: ../libseahorse/seahorse-passphrase.c:194 +msgid "Passphrase" +msgstr "ಗುಪ್ತವಾಕ್ಯ" + +#: ../libseahorse/seahorse-passphrase.c:197 +#: ../ssh/seahorse-ssh-operation.c:480 +msgid "Password:" +msgstr "ಗುಪ್ತಪದ:" + +#: ../libseahorse/seahorse-passphrase.c:260 +msgid "Confirm:" +msgstr "ಖಚಿತಪಡಿಸು:" + +#: ../libseahorse/seahorse-prefs.c:63 +msgid "Not a valid Key Server address." +msgstr "ಒಂದು ಮಾನ್ಯವಾದ ಕೀಲಿ ಪರಿಚಾರಕ ವಿಳಾಸವಾಗಿಲ್ಲ." + +#: ../libseahorse/seahorse-prefs.c:64 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "ಸಹಾಯಕ್ಕಾಗಿ ನಿಮ್ಮ ಗಣಕ ವ್ಯವಸ್ಥಾಪಕರನ್ನು ಅಥವ ಕೀಲಿ ಪರಿಚಾರಕದ ವ್ಯವಸ್ಥಾಪಕರನ್ನು ಸಂಪರ್ಕಿಸಿ." + +#: ../libseahorse/seahorse-prefs.c:173 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:353 +msgid "Custom" +msgstr "ಕಸ್ಟಮ್" + +#: ../libseahorse/seahorse-prefs.c:420 +msgid "None: Don't publish keys" +msgstr "ಯಾವುದೂ ಇಲ್ಲ: ಕೀಲಿಗಳನ್ನು ಪ್ರಕಟಿಸಬೇಡ" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Automatically retrieve keys from _key servers" +msgstr "ಕೀಲಿಯನ್ನು ಕೀಲಿ ಪರಿಚಾರಕದಿಂದ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪಡೆದುಕೋ(_k)" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "ಮಾರ್ಪಡಿಸಲಾದ ಕೀಲಿಯನ್ನು ಕೀಲಿ ಪರಿಚಾರಕದೊಂದಿಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮೇಳೈಸು (_m)" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "Key Servers" +msgstr "ಕೀಲಿ ಪರಿಚಾರಕಗಳು" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Key Sharing" +msgstr "ಕೀಲಿ ಹಂಚಿಕೆ" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Preferences" +msgstr "ಆದ್ಯತೆಗಳು" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've " +"collected. This means they can automatically encrypt things for you or those " +"you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." +msgstr "" +"ನಿಮ್ಮ ಕೀಲಿಗಳನ್ನು ಹಂಚಿಕೊಂಡಲ್ಲಿ ಇದು ನಿಮ್ಮ ಜಾಲಬಂಧದಲ್ಲಿನ ಇತರೆ ಜನರು ನೀವು ಸಂಗ್ರಹಿಸಿದ " +"ಕೀಲಿಗಳನ್ನು ಬಳಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದರರ್ಥ ಅವರು ನಿಮಗಾಗಿ ಅಥವ ನಿಮಗೆ " +"ತಿಳಿದವರಿಗಾಗಿ ವಿಷಯಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಗೂಢಲಿಪೀಕರಿಸಬಲ್ಲರು, ಇದಕ್ಕಾಗಿ ನೀವು ಅವರಿಗೆ " +"ನಿಮ್ಮ ಕೀಲಿಯನ್ನು ಕಳಿಸುವ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ.\n" +"\n" +"ಸೂಚನೆ: ನಿಮ್ಮ ಖಾಸಗಿ ಕೀಲಿಗಳೊಂದಿಗೆ ಯಾವುದೆ ರಾಜಿ ಮಾಡಿಕೊಳ್ಳಲಾಗುವುದಿಲ್ಲ." + +#: ../libseahorse/seahorse-prefs.xml.h:9 +msgid "_Find keys via:" +msgstr "ಕೀಲಿಗಳನ್ನು ಈ ಮೂಲಕ ಪತ್ತೆ ಹಚ್ಚು(_F):" + +#: ../libseahorse/seahorse-prefs.xml.h:10 +msgid "_Publish keys to:" +msgstr "ಕೀಲಿಗಳನ್ನು ಇಲ್ಲಿಗೆ ಪ್ರಕಟಿಸು(_P):" + +#: ../libseahorse/seahorse-prefs.xml.h:11 +msgid "_Share my keys with others on my network" +msgstr "ನನ್ನ ಕೀಲಿಯನ್ನು ನನ್ನ ಜಾಲಬಂಧದಲ್ಲಿರು ಇತರರೊಂದಿಗೆ ಹಂಚಿಕೊ (_S)" + +#: ../libseahorse/seahorse-progress.xml.h:1 +msgid "Progress Title" +msgstr "ಪ್ರಗತಿ ಶೀರ್ಷಿಕೆ" + +#: ../libseahorse/seahorse-unknown.c:67 +msgid "Unavailable" +msgstr "ಲಭ್ಯವಿಲ್ಲ" + +#: ../libseahorse/seahorse-util.c:237 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-util.c:513 +msgid "Key Data" +msgstr "ಕೀಲಿ ದತ್ತಾಂಶ" + +#: ../libseahorse/seahorse-util.c:515 +msgid "Multiple Keys" +msgstr "ಅನೇಕ ಕೀಲಿಗಳು" + +#: ../libseahorse/seahorse-util.c:771 +msgid "Couldn't run file-roller" +msgstr "ಫೈಲ್-ರೋಲರನ್ನು ಚಲಾಯಿಸಲಾಗಲಿಲ್ಲ" + +#: ../libseahorse/seahorse-util.c:777 +msgid "Couldn't package files" +msgstr "ಕಡತಗಳನ್ನು ಪ್ಯಾಕೇಜ್ ಮಾಡಲಾಗಲಿಲ್ಲ" + +#: ../libseahorse/seahorse-util.c:778 +msgid "The file-roller process did not complete successfully" +msgstr "ಫೈಲ್-ರೋಲರ್ ಪ್ರಕ್ರಿಯೆಯು ಯಶಸ್ವಿಯಾಗಿ ಪೂರ್ಣಗೊಂಡಿಲ್ಲ" + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:943 +msgid "All key files" +msgstr "ಎಲ್ಲಾ ಕೀಲಿ ಕಡತಗಳು" + +#: ../libseahorse/seahorse-util.c:954 ../libseahorse/seahorse-util.c:1002 +#: ../pgp/seahorse-gpgme-photos.c:242 +msgid "All files" +msgstr "ಎಲ್ಲಾ ಕಡತಗಳು" + +#: ../libseahorse/seahorse-util.c:995 +msgid "Archive files" +msgstr "ಆರ್ಕೈವ್ ಕಡತಗಳು" + +#: ../libseahorse/seahorse-util.c:1065 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" +"ಈ ಹೆಸರಿನೊಂದಿಗಿನ ಒಂದು ಕಡತವು ಈಗಾಗಲೆ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ. \n" +"\n" +"ನೀವದನ್ನು ಒಂದು ಹೊಸ ಕಡತದೊಂದಿಗೆ ಬದಲಾಯಿಸಲು ಬಯಸುತ್ತೀರೆ?" + +#: ../libseahorse/seahorse-util.c:1068 +msgid "_Replace" +msgstr "ಬದಲಾಯಿಸು(_R)" + +#: ../libseahorse/seahorse-validity.c:40 ../pgp/seahorse-gpgme-subkey.c:197 +#: ../pgp/seahorse-pgp-key-properties.c:1131 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Unknown" +msgstr "ಗೊತ್ತಿರದ" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1137 +msgctxt "Validity" +msgid "Never" +msgstr "ಎಂದೂ ಬೇಡ" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-key-properties.c:1144 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:33 +msgid "Marginal" +msgstr "ಆಂಶಿಕ" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-key-properties.c:1150 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +msgid "Full" +msgstr "ಸಂಪೂರ್ಣ" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-key-properties.c:1156 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Ultimate" +msgstr "ಅಂತಿಮ" + +#: ../libseahorse/seahorse-validity.c:50 +#: ../pgp/seahorse-pgp-key-properties.c:1349 +msgid "Disabled" +msgstr "ಅಶಕ್ತಗೊಂಡ" + +#: ../libseahorse/seahorse-validity.c:52 +#: ../pgp/seahorse-pgp-key-properties.c:1345 +msgid "Revoked" +msgstr "ರದ್ದುಗೊಳಿಸಲಾದ" + +#: ../libseahorse/seahorse-widget.c:362 +#, c-format +msgid "Could not display help: %s" +msgstr "ಸಹಾಯವನ್ನು ತೋರಿಸಲಾಗಲಿಲ್ಲ: %s" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Expiration Date:" +msgstr "ಅಂತ್ಯಗೊಳ್ಳುವ ದಿನಾಂಕ:" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "Generate a new subkey" +msgstr "ಒಂದು ಹೊಸ ಉಪಕೀಲಿಯನ್ನು ನಿರ್ಮಿಸು" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +msgid "If key never expires" +msgstr "ಕೀಲಿಯ ಕಾಲಾವಧಿುಮುಗಿಯದೆ ಇಿದ್ಲ್ಲಿೆ" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "ಕೀಲಿಯ ಗಾತ್ರ(_L):" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Key _Type:" +msgstr "ಕೀಲಿ ಬಗೆ(_T):" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "ಕೀಲಿಯ ಗಾತ್ರ" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Never E_xpires" +msgstr "ಎಂದಿಗೂ ಕಾಲಾವಧಿ ಅಂತ್ಯಗೊಳ್ಳುವುದಿಲ್ಲ (_x)" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "ಬಳಕೆದಾರ ಐಡಿಯನ್ನು ಸೇರಿಸು" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Create the new user ID" +msgstr "ಹೊಸ ಬಳಕೆದಾರ ಐಡಿಯನ್ನು ಸೃಜಿಸು" + +#: ../pgp/seahorse-add-uid.xml.h:3 ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Full _Name:" +msgstr "ಪೂರ್ಣ ಹೆಸರು(_N):" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Key Co_mment:" +msgstr "ಕೀಲಿ ಟಿಪ್ಪಣಿ(_m):" + +#: ../pgp/seahorse-add-uid.xml.h:5 +msgid "Must be at least 5 characters long" +msgstr "ಕನಿಷ್ಟ 5 ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿರಬೇಕು" + +#: ../pgp/seahorse-add-uid.xml.h:6 +msgid "Optional comment describing key" +msgstr "ಕೀಲಿಯನ್ನು ವಿವರಿಸುವ ಐಚ್ಚಿಕ ಟಿಪ್ಪಣಿ" + +#: ../pgp/seahorse-add-uid.xml.h:7 +msgid "Optional email address" +msgstr "ಐಚ್ಚಿಕ ಇಮೇಲ್ ವಿಳಾಸ" + +#: ../pgp/seahorse-add-uid.xml.h:8 ../pgp/seahorse-pgp-generate.xml.h:13 +msgid "_Email Address:" +msgstr "ಇಮೇಲ್ ವಿಳಾಸ(_E):" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "C_hange" +msgstr "ಬದಲಾಯಿಸು(_h)" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:4 +msgid "Revoke key" +msgstr "ಕೀಲಿಯನ್ನು ರದ್ದು ಮಾಡು" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "_Never expires" +msgstr "ಎಂದಿಗೂ ಕಾಲಾವಧಿ ಮುಗಿಯುವುದಿಲ್ಲ (_N)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:144 +msgid "Couldn't add subkey" +msgstr "ಉಪಕೀಲಿಯನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ" + +#: ../pgp/seahorse-gpgme-add-subkey.c:163 +#, c-format +msgid "Add subkey to %s" +msgstr "%s ಗೆ ಉಪಕೀಲಿಯನ್ನು ಸೇರಿಸು" + +#: ../pgp/seahorse-gpgme-add-subkey.c:179 ../pgp/seahorse-gpgme-generate.c:96 +msgid "DSA (sign only)" +msgstr "DSA (ಸಹಿ ಮಾತ್ರ)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:187 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (ಗೂಢಲಿಪೀಕರಣ ಮಾತ್ರ)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:193 ../pgp/seahorse-gpgme-generate.c:97 +msgid "RSA (sign only)" +msgstr "RSA (ಸಹಿ ಮಾತ್ರ)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:199 +msgid "RSA (encrypt only)" +msgstr "RSA (ಗೂಢಲಿಪೀಕರಣ ಮಾತ್ರ)" + +#: ../pgp/seahorse-gpgme-add-uid.c:85 +msgid "Couldn't add user id" +msgstr "ಬಳಕೆದಾರ ಐಡಿಯನ್ನು ಸೇರಿಸಲಾಗಲಿಲ್ಲ" + +#: ../pgp/seahorse-gpgme-add-uid.c:107 +#, c-format +msgid "Add user ID to %s" +msgstr "%s ಗೆ ಬಳಕೆದಾರ ಐಡಿಯನ್ನು ಸೇರಿಸು" + +#: ../pgp/seahorse-gpgme.c:51 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "ಡಿಕ್ರಿಪ್ಶನ್ ವಿಫಲಗೊಂಡಿದೆ. ಬಹುಷಃ ನಿಮ್ಮಲ್ಲಿ ಯಾವುದೆ ಡಿಕ್ರಿಪ್ಶನ್ ಕೀಲಿ ಇಲ್ಲ." + +#: ../pgp/seahorse-gpgme-expires.c:58 +msgid "Invalid expiry date" +msgstr "ಅಮಾನ್ಯ ವಾಯಿದೆ ತೀರಿಕೆ ಸಹಿ" + +#: ../pgp/seahorse-gpgme-expires.c:59 +msgid "The expiry date must be in the future" +msgstr "ವಾಯಿದೆ ತೀರುವ ದಿನಾಂಕವು ಭವಿಷ್ಯದ ದಿನಾಂಕವಾಗಿರಬೇಕು" + +#: ../pgp/seahorse-gpgme-expires.c:72 +msgid "Couldn't change expiry date" +msgstr "ಕಾಲಾವಧಿ ಮುಗಿಯುವ ದಿನಾಂಕವನ್ನು ಬದಲಿಸಲಾಗಲಿಲ್ಲ" + +#: ../pgp/seahorse-gpgme-expires.c:131 +#, c-format +msgid "Expiry: %s" +msgstr "ವಾಯಿದೆ: %s" + +#: ../pgp/seahorse-gpgme-generate.c:65 +msgid "PGP Key" +msgstr "PGP ಕೀಲಿ" + +#: ../pgp/seahorse-gpgme-generate.c:66 +msgid "Used to encrypt email and files" +msgstr "ಇ ಮೇಲ್ ಮತ್ತು ಕಡತವನ್ನು ಗೂಢಲಿಪೀಕರಿಸಲು ಉಪಯೋಗಿಸಲಾಗಿದೆ" + +#: ../pgp/seahorse-gpgme-generate.c:95 +msgid "DSA Elgamal" +msgstr "DSA Elgamal" + +#: ../pgp/seahorse-gpgme-generate.c:106 +msgid "Couldn't generate PGP key" +msgstr "PGP ಕೀಲಿಯನ್ನು ಉತ್ಪಾದಿಸಲಾಗಿಲ್ಲ" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "ಹೊಸ PGP ಕೀಲಿಗಾಗಿ ಗುಪ್ತವಾಕ್ಯ" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "ಹೊಸ ಕೀಲಿಗಾಗಿ ಗುಪ್ತವಾಕ್ಯವನ್ನು ಎರಡು ಬಾರಿ ನಮೂದಿಸಿಸ." + +#: ../pgp/seahorse-gpgme-generate.c:223 +msgid "Couldn't generate key" +msgstr "ಕೀಲಿಯನ್ನು ಉತ್ಪಾದಿಸಲಾಗಿಲ್ಲ" + +#: ../pgp/seahorse-gpgme-generate.c:225 +msgid "Generating key" +msgstr "ಕೀಲಿಯನ್ನು ಉತ್ಪಾದಿಸಲಾಗುತ್ತಿದೆ" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"ಭಾವ ಚಿತ್ರವು ತುಂಬಾ ದೊಡ್ಡದಾಗಿದೆ\n" +"ನಿಮ್ಮ ಕೀಲಿಯಲ್ಲಿನ ಭಾವಚಿತ್ರದ ಶಿಫಾರಸು ಮಾಡಲಾದ ಅಳತೆಯು %d x %d ಪಿಕ್ಸೆಲ್‌ಗಳು ಆಗಿರುತ್ತದೆ." + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "ಗಾತ್ರ ಬದಲಾಯಿಸಬೇಡ(_D)" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "ಗಾತ್ರ ಬದಲಾಯಿಸು(_R)" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"ಇದು ಒಂದು ಚಿತ್ರ ಕಡತವಾಗಿಲ್ಲ, ಅಥವ ಗುರುತಿಸಲಾಗದ ಬಗೆಯ ಒಂದು ಚಿತ್ರಕಡತವಾಗಿದೆ. ಒಂದು JPEG " +"ಬಗೆಯ ಚಿತ್ರವನ್ನು ಬಳಸಲು ಪ್ರಯತ್ನಿಸಿ." + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "ಎಲ್ಲಾ ಚಿತ್ರ ಕಡತಗಳು" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "ಎಲ್ಲಾ ಜೆಪಿಇಜಿ ಕಡತಗಳು" + +#: ../pgp/seahorse-gpgme-photos.c:261 +msgid "Choose Photo to Add to Key" +msgstr "ಕೀಲಿಗೆ ಸೇರಿಸಲು ಫೋಟೊವನ್ನು ಆಯ್ಕೆ ಮಾಡು" + +#: ../pgp/seahorse-gpgme-photos.c:290 ../pgp/seahorse-gpgme-photos.c:294 +msgid "Couldn't add photo" +msgstr "ಭಾವಚಿತ್ರವನ್ನು ಸೇರಿಸಲಾಗಿಲ್ಲ" + +#: ../pgp/seahorse-gpgme-photos.c:291 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "ಕಡತವನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ. ಬಹುಷಃ ಅದರ ಮಾದರಿಯು ಅಮಾನ್ಯವಾಗಿರಬಹುದು" + +#: ../pgp/seahorse-gpgme-photos.c:320 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "ನಿಮ್ಮ ಕೀಲಿಯಿಂದ ಈಗಿನ ಚಿತ್ರವನ್ನು ತೆಗೆದು ಹಾಕಲು ನೀವು ಖಚಿತವಾಗಿಯೂ ಬಯಸುತ್ತೀರೆ?" + +#: ../pgp/seahorse-gpgme-photos.c:333 +msgid "Couldn't delete photo" +msgstr "ಭಾವ ಚಿತ್ರವನ್ನು ಅಳಿಸಲಾಗಲಿಲ್ಲ" + +#: ../pgp/seahorse-gpgme-revoke.c:70 +msgid "Couldn't revoke subkey" +msgstr "ಉಪಕೀಲಿಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ" + +#: ../pgp/seahorse-gpgme-revoke.c:91 +#, c-format +msgid "Revoke: %s" +msgstr "ರದ್ದುಗೊಳಿಸು: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:102 +msgid "No reason" +msgstr "ಯಾವುದೆ ಕಾರಣ ಇಲ್ಲ" + +#: ../pgp/seahorse-gpgme-revoke.c:103 +msgid "No reason for revoking key" +msgstr "ಕೀಲಿಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ಯಾವುದೆ ಕಾರಣವಿಲ್ಲ" + +#: ../pgp/seahorse-gpgme-revoke.c:109 +msgid "Compromised" +msgstr "ರಾಜಿ ಮಾಡಿಕೊಳ್ಳಲಾಗಿದೆ" + +#: ../pgp/seahorse-gpgme-revoke.c:110 +msgid "Key has been compromised" +msgstr "ಕೀಲಿಯೊಂದಿಗೆ ರಾಜಿ ಮಾಡಿಕೊಳ್ಳಲಾಗಿದೆ" + +#: ../pgp/seahorse-gpgme-revoke.c:116 +msgid "Superseded" +msgstr "ತಳ್ಳಿ ಹಾಕಲಾಗಿದೆ" + +#: ../pgp/seahorse-gpgme-revoke.c:117 +msgid "Key has been superseded" +msgstr "ಕೀಲಿಯನ್ನು ತಳ್ಳಿ ಹಾಕಲಾಗಿದೆ" + +#: ../pgp/seahorse-gpgme-revoke.c:123 +msgid "Not Used" +msgstr "ಬಳಕೆಯಾಗದ" + +#: ../pgp/seahorse-gpgme-revoke.c:124 +msgid "Key is no longer used" +msgstr "ಕೀಲಿಯು ಬಳಕೆಯಲ್ಲಿ ಇಲ್ಲ" + +#: ../pgp/seahorse-gpgme-revoke.c:161 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"%s ಅನ್ನು %s ಯಲ್ಲಿ ರದ್ದು ಪಡಿಸುವವನಾಗಿ ನೀವು ಸೇರಿಸಲಿದ್ದೀರಿ. ಹೀಗೆ ಮಾಡಲಾಗಿದ್ದನ್ನು " +"ಹಿಂದಕ್ಕೆ ಪಡೆಯಲಾಗುವುದಿಲ್ಲ! ನೀವು ಖಚಿತವಾಗಿ ಮುಂದುವರೆಯಲು ಬಯಸುತ್ತೀರೆ?" + +#: ../pgp/seahorse-gpgme-revoke.c:173 +msgid "Couldn't add revoker" +msgstr "ರದ್ದುಗೊಳಿಸುವವರನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ" + +#: ../pgp/seahorse-gpgme-sign.c:96 +msgid "Couldn't sign key" +msgstr "ಕೀಲಿಯನ್ನು ಸಹಿ ಮಾಡಲಾಗಿಲ್ಲ" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:149 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "ಸಹಿ ಮಾಡಲು ಯಾವುದೆ ಕೀಲಿ ಇಲ್ಲ" + +#: ../pgp/seahorse-gpgme-sign.c:150 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"ಈ ಕೀಲಿಯತ್ತ ನಿಮ್ಮ ಟ್ರಸ್ಟನ್ನು ಸೂಚಿಸಲು ಬಳಸಬಹುದಾದ ಯಾವುದೆ ಖಾಸಗಿ PGP ಕೀಲಿಗಳು ನಿಮ್ಮ ಬಳಿ " +"ಇಲ್ಲ." + +#: ../pgp/seahorse-gpgme-source.c:99 +#, c-format +msgid "Wrong passphrase." +msgstr "ಸರಿಯಲ್ಲದ ಗುಪ್ತಪದ." + +#: ../pgp/seahorse-gpgme-source.c:103 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "'%s' ಗಾಗಿ ಹೊಸ ಗುಪ್ತವಾಕ್ಯವನ್ನು ನಮೂದಿಸಿ" + +#: ../pgp/seahorse-gpgme-source.c:105 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "'%s' ಗಾಗಿ ಗುಪ್ತವಾಕ್ಯವನ್ನು ನಮೂದಿಸಿ" + +#: ../pgp/seahorse-gpgme-source.c:108 +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Enter new passphrase" +msgstr "ಹೊಸ ಗುಪ್ತವಾಕ್ಯವನ್ನು ನಮೂದಿಸಿ" + +#: ../pgp/seahorse-gpgme-source.c:110 +msgid "Enter passphrase" +msgstr "ಗುಪ್ತವಾಕ್ಯವನ್ನು ನಮೂದಿಸಿ" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../pgp/seahorse-gpgme-source.c:722 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d ಕೀಲಿಯು ಲೋಡ್ ಆಗಿದೆ" +msgstr[1] "%d ಕೀಲಿಗಳು ಲೋಡ್ ಆಗಿದೆ" + +#: ../pgp/seahorse-gpgme-source.c:777 +msgid "Loading Keys..." +msgstr "ಕೀಲಿಗಳನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ..." + +#: ../pgp/seahorse-gpgme-source.c:820 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"ಅಮಾನ್ಯವಾದ ಕೀಲಿ ದತ್ತಾಂಶ (ಕಾಣೆಯಾದ UIDಗಳು). ಗಣಕದ ದಿನಾಂಕವನ್ನು ಮುಂದಿನ ಒಂದು ದಿನಕ್ಕೆ " +"ಹೊಂದಿಸಲಾಗಿರುವುದು ಅಥವ ಸ್ವತಃ-ಸಹಿಯು ಇಲ್ಲದಿರುವುದು ಇದಕ್ಕೆ ಕಾರಣವಿರಬಹುದು." + +#: ../pgp/seahorse-gpgme-source.c:910 ../src/seahorse-key-manager.c:538 +msgid "Importing Keys" +msgstr "ಕೀಲಿಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಲಾಗುತ್ತಿದೆ" + +#: ../pgp/seahorse-gpgme-source.c:946 +msgid "Exporting Keys" +msgstr "ಕೀಲಿಗಳನ್ನು ರಫ್ತುಲಾಗುತ್ತಿದೆ" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:330 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" +"ಹುಡುಕುವಿಕೆ ಸಾಕಷ್ಟು ಖಚಿತವಾಗಿಲ್ಲ. ಪರಿಚಾರಕ '%s' ವು ಬಹಳ ಸಂಖ್ಯೆಯ ಕೀಲಿಗಳನ್ನು ಪತ್ತೆ " +"ಮಾಡಿದೆ." + +#: ../pgp/seahorse-hkp-source.c:332 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "'%s' ಪರಿಚಾರಕದೊಂದಿಗೆ ಸಂಪರ್ಕಹೊಂದಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %s" + +#: ../pgp/seahorse-hkp-source.c:576 +msgid "Searching for keys..." +msgstr "ಕೀಲಿಗಾಗಿ ಹುಡುಕಲಾಗುತ್ತಿದೆ..." + +#: ../pgp/seahorse-hkp-source.c:647 +msgid "Uploading keys..." +msgstr "ಕೀಲಿಗಳನ್ನು ಅಪ್‍ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ..." + +#: ../pgp/seahorse-hkp-source.c:725 +msgid "Retrieving keys..." +msgstr "ಕೀಲಿಗಳನ್ನು ಮರಳಿ ಪಡೆಯಲಾಗುತ್ತಿದೆ..." + +#: ../pgp/seahorse-hkp-source.c:831 +#, c-format +msgid "Searching for keys on: %s" +msgstr "ಕೀಲಿಗಾಗಿ ಇಲ್ಲಿ ಹುಡುಕಲಾಗುತ್ತಿದೆ: %s" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../pgp/seahorse-hkp-source.c:908 ../pgp/seahorse-hkp-source.c:981 +#: ../pgp/seahorse-ldap-source.c:668 +#, c-format +msgid "Connecting to: %s" +msgstr "ಇದಕ್ಕೆ ಸಂಪರ್ಕಹೊಂದಲಾಗುತ್ತಿದೆ: %s" + +#: ../pgp/seahorse-hkp-source.c:1005 +msgid "HTTP Key Server" +msgstr "HTTP ಕೀಲಿ ಪರಿಚಾರಕ" + +#: ../pgp/seahorse-ldap-source.c:459 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "'%s' ದೊಂದಿಗೆ ಸಂಪರ್ಕಹೊಂದಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %s" + +#: ../pgp/seahorse-ldap-source.c:641 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "ಈ ವಿಳಾಸವನ್ನು ಪರಿಹರಿಸಲಾಗಿಲ್ಲ: %s" + +#: ../pgp/seahorse-ldap-source.c:719 +#, c-format +msgid "Resolving server address: %s" +msgstr "ಈ ಪರಿಚಾರಕ ವಿಳಾಸವನ್ನು ಪರಿಹರಿಸಲಾಗುತ್ತಿದೆ: %s" + +#: ../pgp/seahorse-ldap-source.c:955 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "'%s' ಅನ್ನು ಒಳಗೊಂಡಿರುವ ಕೀಲಿಗಳಿಗಾಗಿನ ಹುಡುಕಾಟವು ಮುಂದುವರೆದಿದೆ..." + +#: ../pgp/seahorse-ldap-source.c:983 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "ಕೀಲಿ ಐಡಿ '%s' ಗಾಗಿ ಹುಡುಕಲಾಗುತ್ತಿದೆ..." + +#: ../pgp/seahorse-ldap-source.c:1089 +msgid "Retrieving remote keys..." +msgstr "ದೂರಸ್ಥ ಕೀಲಿಗಳನ್ನು ಮರಳಿ ಪಡೆಯಲಾಗುತ್ತಿದೆ..." + +#: ../pgp/seahorse-ldap-source.c:1221 +msgid "Sending keys to key server..." +msgstr "ಕೀಲಿಯನ್ನು ಕೀಲಿ ಪರಿಚಾರಕಕ್ಕೆ ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ..." + +#: ../pgp/seahorse-ldap-source.c:1423 +msgid "LDAP Key Server" +msgstr "LDAP ಕೀಲಿ ಪರಿಚಾರಕ" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "_Sign Key..." +msgstr "ಸಹಿ ಮಾಡು(_S)..." + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "Sign public key" +msgstr "ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಸಹಿ ಮಾಡು" + +#: ../pgp/seahorse-pgp-commands.c:171 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "ನೀವು %s ಅನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಬಯಸಿದ್ದು ಖಚಿತವೆ?" + +#: ../pgp/seahorse-pgp-commands.c:176 +#, c-format +msgid "Are you sure you want to permanently delete %d keys and identities?" +msgstr "ನೀವು '%d' ಕೀಲಿಗಳನ್ನು ಹಾಗು ಗುರುತುಗಳನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಬಯಸಿದ್ದು ಖಚಿತವೆ?" + +#: ../pgp/seahorse-pgp-commands.c:178 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgstr "ನೀವು '%d' ಕೀಲಿಗಳನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಬಯಸಿದ್ದು ಖಚಿತವೆ?" + +#: ../pgp/seahorse-pgp-commands.c:180 +#, c-format +msgid "Are you sure you want to permanently delete %d identities?" +msgstr "ನೀವು '%d' ಗುರುತುಗಳನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಬಯಸಿದ್ದು ಖಚಿತವೆ?" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "_Advanced key options" +msgstr "ಸುಧಾರಿತ ಕೀಲಿ ಆಯ್ಕೆಗಳು(_A)" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "ಇತರರ ಇ ಮೇಲ್ ಮತ್ತು ಕಡತಗಳನ್ನು ಗೂಢಲಿಪೀಕರಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುವ ಒಂದು PGP ಕೀಲಿ." + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "Algorithms here" +msgstr "ಇಲ್ಲಿ ಅಲ್ಗೋರಿಥಮ್‌ಗಳು" + +#: ../pgp/seahorse-pgp-generate.xml.h:4 +msgid "C_reate" +msgstr "ನಿರ್ಮಿಸು(_r)" + +#: ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "E_xpiration Date:" +msgstr "ಕಾಲಾವಧಿ ತೀರುವ ದಿನಾಂಕ(_x):" + +#: ../pgp/seahorse-pgp-generate.xml.h:6 ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "Encryption _Type:" +msgstr "ಗೂಢಲಿಪೀಕರಣದ ಬಗೆ(_T):" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Generate a new key" +msgstr "ಹೊಸ ಕೀಲಿಯನ್ನು ಉತ್ಪಾದಿಸು" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Key _Strength (bits):" +msgstr "ಕೀಲಿಯ ಗಟ್ಟಿತನ (_S)(ಬಿಟ್‌ಗಳಲ್ಲಿ):" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +msgid "Ne_ver Expires" +msgstr "ಎಂದಿಗೂ ಕಾಲಾವಧಿ ಮುಗಿಯುವುದಿಲ್ಲ(_v)" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "New PGP Key" +msgstr "ಹೊಸ ಪಿಜಿಪಿ ಕೀಲಿ" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +msgid "_Comment:" +msgstr "ಟಿಪ್ಪಣಿ(_C):" + +#: ../pgp/seahorse-pgp-key.c:201 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Private PGP Key" +msgstr "ಖಾಸಗಿ PGP ಕೀಲಿ" + +#: ../pgp/seahorse-pgp-key.c:204 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "Public PGP Key" +msgstr "ಸಾರ್ವಜನಿಕ PGP ಕೀಲಿ" + +#: ../pgp/seahorse-pgp-key.c:583 ../pgp/seahorse-pgp-key-properties.c:1347 +msgid "Expired" +msgstr "ಕಾಲಾವಧಿ ಮುಗಿದಿದೆ" + +#: ../pgp/seahorse-pgp-key-properties.c:224 +msgid "Couldn't change primary user ID" +msgstr "ಪ್ರಾಥಮಿಕ ಬಳಕೆದಾರ ID ಯನ್ನು ಬದಲಾಯಿಸಲಾಗಲಿಲ್ಲ" + +#: ../pgp/seahorse-pgp-key-properties.c:241 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "'%s' ಬಳಕೆದಾರ ID ಯನ್ನು ನೀವು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಖಚಿತವಾಗಿಯೂ ಬಯಸುತ್ತೀರಾ?" + +#: ../pgp/seahorse-pgp-key-properties.c:251 +msgid "Couldn't delete user ID" +msgstr "ಬಳಕೆದಾರ ಐಡಿಯನ್ನು ಅಳಿಸಲಾಗಿಲ್ಲ" + +#: ../pgp/seahorse-pgp-key-properties.c:333 +#: ../pgp/seahorse-pgp-key-properties.c:1462 +msgid "[Unknown]" +msgstr "[ಗೊತ್ತಿರದ]" + +#: ../pgp/seahorse-pgp-key-properties.c:426 +#: ../pgp/seahorse-pgp-key-properties.c:1740 +msgid "Name/Email" +msgstr "ಹೆಸರು/ಇಮೇಲ್" + +#: ../pgp/seahorse-pgp-key-properties.c:431 +msgid "Signature ID" +msgstr "ಸಹಿ ಐಡಿ" + +#: ../pgp/seahorse-pgp-key-properties.c:552 +msgid "Couldn't change primary photo" +msgstr "ಪ್ರಾಥಮಿಕ ಭಾವಚಿತ್ರವನ್ನು ಬದಲಾಯಿಸಲಿಲ್ಲ" + +#: ../pgp/seahorse-pgp-key-properties.c:775 +msgid "(unknown)" +msgstr "(ಗೊತ್ತಿರದ)" + +#: ../pgp/seahorse-pgp-key-properties.c:778 +#, c-format +msgid "This key expired on: %s" +msgstr "ಈ ಕೀಲಿಯ ಕಾಲಾವಧಿಯು ಅಂತ್ಯಗೊಳ್ಳುವುದು: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:946 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "ಉಪಕೀಲಿ %d ಅನ್ನು (%s ರಲ್ಲಿ) ನೀವು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಖಚಿತವಾಗಿಯೂ ಬಯಸುತ್ತೀರಾ?" + +#: ../pgp/seahorse-pgp-key-properties.c:955 +msgid "Couldn't delete subkey" +msgstr "ಉಪ ಕೀಲಿಯನ್ನು ಅಳಿಸಲಾಗಿಲ್ಲ" + +#: ../pgp/seahorse-pgp-key-properties.c:991 +#: ../pgp/seahorse-pgp-key-properties.c:1425 +msgid "Unable to change trust" +msgstr "ಟ್ರಸ್ಟನ್ನು ಬದಲಿಸಲಾಗಲಿಲ್ಲ" + +#: ../pgp/seahorse-pgp-key-properties.c:1005 ../src/seahorse-viewer.c:315 +#: ../ssh/seahorse-ssh-key-properties.c:167 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "ಕೀಲಿಯನ್ನು \"%s\"ರಫ್ತುಮಾಡಲಾಗಿಲ್ಲ" + +#: ../pgp/seahorse-pgp-key-properties.c:1033 +#: ../ssh/seahorse-ssh-key-properties.c:191 +msgid "Export Complete Key" +msgstr "ಸಂಪೂರ್ಣ ಕೀಲಿಯನ್ನು ರಫ್ತುಮಾಡಿಕೊ" + +#: ../pgp/seahorse-pgp-key-properties.c:1058 +#: ../ssh/seahorse-ssh-key-properties.c:213 +msgid "Couldn't export key." +msgstr "ಕೀಲಿಗಳನ್ನು ರಫ್ತು ಮಾಡಲಾಗಿಲ್ಲ." + +#: ../pgp/seahorse-pgp-key-properties.c:1265 +#: ../pgp/seahorse-pgp-key-properties.c:1354 +msgctxt "Expires" +msgid "Never" +msgstr "ಎಂದೂ ಬೇಡ" + +#. The key type column +#: ../pgp/seahorse-pgp-key-properties.c:1315 +#: ../src/seahorse-key-manager-store.c:859 +msgid "Type" +msgstr "ಬಗೆ" + +#: ../pgp/seahorse-pgp-key-properties.c:1318 +msgid "Created" +msgstr "ನಿರ್ಮಿಸಲಾಗಿದೆ" + +#: ../pgp/seahorse-pgp-key-properties.c:1321 +msgid "Expires" +msgstr "ಅಂತ್ಯಗೊಳ್ಳುವುದು" + +#: ../pgp/seahorse-pgp-key-properties.c:1324 +msgid "Status" +msgstr "ಸ್ಥಿತಿ" + +#: ../pgp/seahorse-pgp-key-properties.c:1327 +msgid "Strength" +msgstr "ಗಟ್ಟಿತನ" + +#: ../pgp/seahorse-pgp-key-properties.c:1351 +msgid "Good" +msgstr "ಉತ್ತಮ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +msgid "Actions" +msgstr "ಕ್ರಿಯೆಗಳು" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgid "Comment:" +msgstr "ಟಿಪ್ಪಣಿ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgid "Dates" +msgstr "ದಿನಾಂಕಗಳು" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgid "Email:" +msgstr "ಇಮೇಲ್:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgid "Fingerprint" +msgstr "ಫಿಂಗರ್ಪ್ರಿಂಟ್" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +msgid "Key ID:" +msgstr "ಕೀಲಿ ಐಡಿ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +msgid "Key Names and Signatures" +msgstr "ಕೀಲಿ ಹೆಸರುಗಳು ಹಾಗು ಸಹಿಗಳು" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Name:" +msgstr "ಹೆಸರು:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "Photo " +msgstr "ಫೋಟೊ " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Technical Details" +msgstr "ತಾಂತ್ರಿಕ ವಿವರಗಳು" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:10 +msgid "This key has been revoked" +msgstr "ಈ ಕೀಲಿಯನ್ನು ರದ್ದುಮಾಡಲಾಗಿದೆ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "This key has expired" +msgstr "ಈ ಕೀಲಿಯ ಕಾಲಾವಧಿಯು ಮುಗಿದಿದೆ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:12 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Type:" +msgstr "ಬಗೆ:" + +#. To translators: This is the noun not the verb. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:15 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +#: ../ssh/seahorse-ssh-key-properties.xml.h:13 +msgid "Use:" +msgstr "ಬಳಕೆ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "_Subkeys" +msgstr "ಉಪ ಕೀಲಿಗಳು(_S)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +msgid "Add" +msgstr "ಸೇರಿಸು" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:18 +msgid "Add a photo to this key" +msgstr "ಈ ಕೀಲಿಗೆ ಒಂದು ಭಾವಚಿತ್ರವನ್ನು ಸೇರಿಸಿ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Change _Passphrase" +msgstr "ಗುಪ್ತವಾಕ್ಯನ್ನು ಬದಲಾಯಿಸು (_P)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +msgid "Decrypt files and email sent to you." +msgstr "ನಿಮಗೆ ಕಳುಹಿಸಲಾದ ಡೀಕ್ರಿಪ್ಟ್ ಆದಂತಹ ಕಡತಗಳು ಹಾಗು ಇಮೈಲ್‌ಗಳು." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:22 +msgid "Delete" +msgstr "ಅಳಿಸಿಹಾಕು" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +msgid "Expire" +msgstr "ಕಾಲಾವಧಿ ಅಂತ್ಯಗೊಳ್ಳುವ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:22 +msgid "Expires:" +msgstr "ಕಾಲಾವಧಿ ಅಂತ್ಯಗೊಳ್ಳುವ ದಿನಾಂಕ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Export" +msgstr "ರಫ್ತುಮಾಡು" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +msgid "Go to next photo" +msgstr "ಮುಂದಿನ ಭಾವಚಿತ್ರಕ್ಕೆ ತೆರಳು" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Go to previous photo" +msgstr "ಹಿಂದಿನ ಭಾವಚಿತ್ರಕ್ಕೆ ತೆರಳು" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +msgid "Key ID:" +msgstr "ಕೀಲಿ ಐಡಿ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Make this photo the primary photo" +msgstr "ಈ ಭಾವಚಿತ್ರವನ್ನು ಪ್ರಾಥಮಿಕ ಭಾವಚಿತ್ರವನ್ನಾಗಿ ಮಾಡು" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "Names and Signatures" +msgstr "ಹೆಸರುಗಳು ಹಾಗು ಸಹಿಗಳು" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#| msgctxt "Validity" +#| msgid "Never" +msgid "Never" +msgstr "ಎಂದೂ ಬೇಡ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:36 +msgid "Override Owner _Trust:" +msgstr "ಮಾಲಿಕನ ಟ್ರಸ್ಟನ್ನು ಅತಿಕ್ರಮಿಸು(_T):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "Owner" +msgstr "ಮಾಲಿಕ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +msgid "Primary" +msgstr "ಪ್ರಾಥಮಿಕ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Remove this photo from this key" +msgstr "ಈ ಕೀಲಿಯಿಂದ ಈ ಭಾವಚಿತ್ರವನ್ನು ತೆಗೆದು ಹಾಕು" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +msgid "Revoke" +msgstr "ರದ್ದುಮಾಡು" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +msgid "Sign" +msgstr "ಸಹಿ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "Strength:" +msgstr "ಗಟ್ಟಿತನ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "ಕೀಲಿಯ ಮಾಲಿಕನು ಕೀಲಿಯನ್ನು ರದ್ದುಪಡಿಸಿದ್ದಾನೆ. ಅದನು ಇನ್ನು ಮುಂದೆ ಬಳಸಲಾಗುವುದಿಲ್ಲ." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "_Add Name" +msgstr "ಹೆಸರನ್ನು ಸೇರಿಸು(_A)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "_Export Complete Key:" +msgstr "ಸಂಪೂರ್ಣ ಕೀಲಿಯನ್ನು ರಫ್ತುಮಾಡು(_E):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgid "Dates:" +msgstr "ದಿನಾಂಕಗಳು:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +#: ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Fingerprint:" +msgstr "ಬೆರಳಚ್ಚು:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgid "Indicate Trust:" +msgstr "ಟ್ರಸ್ಟನ್ನು ಸೂಚಿಸು:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Your trust of this key" +msgstr "ಈ ಕೀಲಿಗೆ ನಿಮ್ಮ ಟ್ರಸ್ಟ್‌:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:16 +msgid "_Other Names:" +msgstr "ಇತರೆ ಹೆಸರುಗಳು(_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgid "_People who have signed this key:" +msgstr "ಈ ಕೀಲಿಯನ್ನು ಸಹಿ ಮಾಡಲಾಧ ಜನರು(_P):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Encrypt files and email to the key's owner " +msgstr "ಕಡತಗಳನ್ನು ಗೂಢಲಿಪೀಕರಿಸು ಹಾಗು ಕೀಲಿಯ ಮಾಲಿಕನಿಗೆ ಕಳುಹಿಸು " + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +#| msgid "Full" +msgid "Fully" +msgstr "ಸಂಪೂರ್ಣವಾಗಿ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "ನಾನು '%s' ಯಿಂದ ಬೇರೆ ಕೀಲಿಗಳಲ್ಲಿನ ಸಹಿಗಳನ್ನು ನಂಬುತ್ತೇನೆ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:27 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" +"'%s' ವ್ಯಕ್ತಿಯು ಈ ಕೀಲಿಯ ಮಾಲಿಕನಾಗಿದ್ದಾನೆ ಎಂದು ನೀವು ನಂಬುವುದಾದರೆ, ಈ ಕೀಲಿಯನ್ನು " +"ಸಹಿ ಮಾಡಿ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:29 +#, no-c-format +msgid "If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" +"'%s' ವು ಈ ಕೀಲಿಯ ಮಾಲಿಕತ್ವವನ್ನು ಹೊಂದಿದೆ ಎಂದು ನಿಮಗೆ ನಂಬಿಕೆ ಇಲ್ಲದಿದ್ದರೆ, ನಿಮ್ಮ " +"ಸಹಿಯನ್ನು ರದ್ದುಗೊಳಿಸು:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:32 +#| msgid "Marginal" +msgid "Marginally" +msgstr "ಆಂಶಿಕವಾಗಿ" + +#. Trust column +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../src/seahorse-key-manager-store.c:853 +msgid "Trust" +msgstr "ನಂಬಲಾದ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#| msgid "Ultimate" +msgid "Ultimately" +msgstr "ಅಂತಿಮವಾಗಿ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "You _Trust the Owner:" +msgstr "ನೀವು ಮಾಲಿಕನನ್ನು ನಂಬುತ್ತೀರಿ(_T):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Your trust is manually specified on the Details tab." +msgstr "ನಿಮ್ಮ ಟ್ರಸ್ಟನ್ನು ಮ್ಯಾನುವಲಿ ಆಗಿ ವಿವರಣೆ ಹಾಳೆಯಲ್ಲಿ ಸೂಚಿಸಲಾಗಿದೆ." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "_Only display the signatures of people I trust" +msgstr "ನಾನು ನಂಬುವ ಜನರ ಸಹಿಯನ್ನು ಮಾತ್ರ ತೋರಿಸು (_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "_Revoke Signature" +msgstr "ಸಹಿಯನ್ನು ರದ್ದುಗೊಳಿಸು (_R)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Sign this Key" +msgstr "ಈ ಕೀಲಯನ್ನು ಸಹಿ ಮಾಡು(_S)" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "ಉಪಕೀಲಿ %d (%s ರಲ್ಲಿ)" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Optional description of revocation" +msgstr "ರದ್ದತಿಯ ಬಗ್ಗೆ ಐಚ್ಛಿಕ ವಿವರಣೆ" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "Re_voke" +msgstr "ರದ್ದುಗೊಳಿಸು (_v)" + +#: ../pgp/seahorse-revoke.xml.h:3 +msgid "Reason for revoking the key" +msgstr "ಕೀಲಿಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ಕಾರಣ" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "_Reason:" +msgstr "ಕಾರಣ (_R):" + +#: ../pgp/seahorse-signer.c:62 +msgid "You have no personal PGP keys that can be used to sign a document or message." +msgstr "ದಸ್ತಾವೇಜು ಅಥವ ಸಂದೇಶವನ್ನು ಸಹಿ ಮಾಡಲು ಬಳಸಬಹುದಾದ ಖಾಸಗಿ PGP ಕೀಲಿಗಳು ನಿಮ್ಮ ಬಳಿ ಇಲ್ಲ." + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "How carefully have you checked this key?" +msgstr "ಈ ಕೀಲಿಯನ್ನು ನೀವು ಎಷ್ಟು ಎಚ್ಚರಿಕೆಯಿಂದ ಪರೀಕ್ಷಿಸಿದ್ದೀರಿ?" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "How others will see this signature:" +msgstr "ಬೇರೆಯವರು ಈ ಸಹಿಯನ್ನು ಹೇಗೆ ನೋಡುತ್ತಾರೆ:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Sign key as:" +msgstr "ಕೀಲಿಯನ್ನು ಹೀಗೆ ಸಹಿ ಮಾಡು:" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone. " +msgstr "" +"ಗಂಭೀರವಲ್ಲದ: ಅಂದರೆ ಕೀಲಿಯ ಮಾಲಿಕರು ಯಾರೆಂದು ಹೇಳಿಕೊಳ್ಳುತ್ತಾರೊ ಅವರೆ ಹೌದು ಎಂದು " +"ನೀವು ಒಂದು ಕ್ಯಾಶುವಲ್ ಆದಂತಹ ಪರಿಶೀಲನೆಯನ್ನು ಮಾಡಿದ್ದೀರಿ ಎಂದರ್ಥ ಉದಾಹರಣೆಗೆ, ನೀವು ಕೀಲಿಯ " +"ಬೆರಳಚ್ಚುಗಳನ್ನು ಮಾಲಿಕರಿಗೆ ದೂರವಾಣಿಯ ಮೂಲಕ ಹೇಳಬಹುದಾಗಿದೆ. " + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "Key Name" +msgstr "ಕೀಲಿ ಹೆಸರು" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"ಎಂದಿಗೂ ಇಲ್ಲ: ಇದರರ್ಥ, ಕೀಲಿಯ ಮಾಲಿಕನೆಂದು ಹೇಳಿಕೊಳ್ಳುವವರ ಮಾತನ್ನು ನೀವು ಸತ್ಯವೆಂದು " +"ನೀವು ಪರಿಶೀಲಿಸಿಲ್ಲ ಅಥವ ನಿಮ್ಮಿಂದ ಪರಿಶೀಲಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ." + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"ಬಹಳ ಎಚ್ಚರಿಯಿಂದ: ಈ ಕೀಲಿಯು ಕೃತಕವಾಗಿಲ್ಲ ಎಂದು ನಿಮಗೆ ಅತ್ಯಂತ ಖಚಿತವಿದ್ದಲ್ಲಿ ಮಾತ್ರ " +"ಇದನ್ನು ಆಯ್ಕೆ ಮಾಡಿ." + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "ನೀವು ಸಹಿ ಮಾಡುವುದರಿಂದ ಈ ಕೀಲಿಯು ಇವರಿಗೆ ಸೇರಿದೆ ಎಂದು ನಿಮ್ಮ ಟ್ರಸ್ಟಿಗೆ ತೋರಿಸಬಹುದಾಗಿದೆ:" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "I can _revoke this signature at a later date." +msgstr "ಮುಂದೆ ಎಂದಾದರೂ ನೀವು ಈ ಸಹಿಯನ್ನು ರದ್ದು ಮಾಡಬಹುದು(_r)." + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "Sign Key" +msgstr "ಸಹಿ ಕೀಲಿ" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"ಕೀಲಿಯ ಹೆಸರು ಸರಿಯಾಗಿದೆಯೆ ಎಂದು ಪರಿಶೀಲಿಸಲು, ನಕಲಿಸಲು ಸುಲಭ ಸಾಧ್ಯವಲ್ಲದ, ಭಾವಚಿತ್ರವನ್ನು " +"ಹೊಂದಿರುವ ಗುರುತಿನ ಚೀಟಿಯನ್ನು(ಉದಾ, ಪಾಸ್‌ಪೋರ್ಟ್) ನೀವು ಬಳಸಬಹುದು. ಇಮೈಲ್ ವಿಳಾಸವು " +"ಮಾಲಿಕರಿಗೆ ಸಂಬಂಧಿಸಿದ್ದಾಗಿದೆ ಎಂದು ಪರಿಶೀಲಿಸಲು ನೀವು ಇಮೈಲ್ ವಿಳಾಸವನ್ನೂ ಸಹ " +"ಬಳಸಬೇಕಾಗುತ್ತದೆ." + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "_Casually" +msgstr "ಗಂಭೀರವಲ್ಲದ (_C) " + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Not at all" +msgstr "ಎಂದಿಗೂ ಇಲ್ಲ (_N) " + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "_Others may not see this signature" +msgstr "ಬೇರೆಯವರು ಈ ಕೀಲಿಯನ್ನು ನೋಡಲು ಸಾಧ್ಯವಿಲ್ಲ(_O)" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "_Sign" +msgstr "ಸಹಿ(_S)" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "ಸಹಿ ಮಾಡುವವರು(_S):" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Very Carefully" +msgstr "ಬಹಳ ಎಚ್ಚರಿಯಿಂದ (_V)" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "ಈ ಕೀಲಿಯೊಂದಿಗೆ ಸಂದೇಶವನ್ನು ಸಹಿ ಮಾಡು(_S):" + +#: ../pkcs11/seahorse-pkcs11-certificate.c:107 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:68 +msgid "Certificate" +msgstr "ಪ್ರಮಾಣಪತ್ರ" + +#: ../pkcs11/seahorse-pkcs11-commands.c:108 +#, c-format +msgid "Are you sure you want to delete the certificate '%s'?" +msgstr "ನೀವು '%s' ಪ್ರಮಾಣಪತ್ರವನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಬಯಸಿದ್ದು ಖಚಿತವೆ ?" + +#: ../pkcs11/seahorse-pkcs11-commands.c:111 +#, c-format +msgid "Are you sure you want to delete %d certificate?" +msgid_plural "Are you sure you want to delete %d certificates?" +msgstr[0] "ನೀವು '%d' ಗುಪ್ತಪದವನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಬಯಸಿದ್ದು ಖಚಿತವೆ ?" +msgstr[1] "ನೀವು '%d' ಗುಪ್ತಪದಗಳನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಬಯಸಿದ್ದು ಖಚಿತವೆ ?" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "ಗುಪ್ತವಾಕ್ಯವನ್ನು ಬದಲಾಯಿಸು" + +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Con_firm Passphrase:" +msgstr "ಗುಪ್ತವಾಕ್ಯವನ್ನು ಖಚಿತಪಡಿಸು(_f):" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "Confirm new passphrase" +msgstr "ಹೊಸ ಗುಪ್ತವಾಕ್ಯವನ್ನು ಖಚಿತಪಡಿಸು" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "New _Passphrase:" +msgstr "ಹೊಸ ಗುಪ್ತವಾಕ್ಯ(_P):" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "ನಿಮ್ಮ ಗುಪ್ತಪದ ಮತ್ತು ಗೂಢಲಿಪೀಕರಣ ಕೀಲಿಯನ್ನು ನಿರ್ವಹಿಸಿ" + +#: ../src/seahorse.desktop.in.in.h:2 ../src/seahorse-key-manager.c:853 +msgid "Passwords and Encryption Keys" +msgstr "ಗುಪ್ತಪದಗಳು ಹಾಗು ಗೂಢಲಿಪೀಕರಣ ಕೀಲಿಗಳು" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "ನೀವು ನಿರ್ಮಿಸಲು ಇಚ್ಚಿಸುವ ಅಂಶವನ್ನು ಅಯ್ಕೆ ಮಾಡಿ(_S):" + +#: ../src/seahorse-generate-select.xml.h:2 +msgid "C_ontinue" +msgstr "ಮುಂದುವರೆ(_C)" + +#: ../src/seahorse-generate-select.xml.h:3 +msgid "Create New ..." +msgstr "ಹೊಸದನ್ನು ಸೃಜಿಸು..." + +#: ../src/seahorse-key-manager.c:233 ../src/seahorse-keyserver-results.c:108 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "ಆರಿಸಲಾದ %d ಕೀಲಿ" +msgstr[1] "ಆರಿಸಲಾದ %d ಕೀಲಿಗಳು" + +#: ../src/seahorse-key-manager.c:404 ../src/seahorse-key-manager.c:464 +#: ../src/seahorse-key-manager.c:527 ../src/seahorse-viewer.c:482 +msgid "Couldn't import keys" +msgstr "ಕೀಲಿಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಲಾಗಿಲ್ಲ" + +#: ../src/seahorse-key-manager.c:409 ../src/seahorse-viewer.c:487 +msgid "Imported keys" +msgstr "ಆಮದು ಮಾಡಿಕೊಳ್ಳಲಾದ ಕೀಲಿಗಳು" + +#: ../src/seahorse-key-manager.c:458 +msgid "Importing keys" +msgstr "ಕೀಲಿಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಲಾಗುತ್ತಿದೆ" + +#: ../src/seahorse-key-manager.c:481 ../ssh/seahorse-ssh-operation.c:1017 +msgid "Import Key" +msgstr "ಕೀಲಿಯನ್ನು ಆಮದು ಮಾಡಿಕೊ" + +#: ../src/seahorse-key-manager.c:527 +msgid "Unrecognized key type, or invalid data format" +msgstr "ಗುರುತಿಸಲಾಗದ ಕೀಲಿಯ ವಿಧ, ಅಥವಾ ಅಮಾನ್ಯವಾದ ದತ್ತಾಂಶದ ಮಾದರಿ" + +#: ../src/seahorse-key-manager.c:721 ../src/seahorse-keyserver-results.c:207 +msgid "_Remote" +msgstr "ದೂರಸ್ಥ(_R)" + +#: ../src/seahorse-key-manager.c:723 +msgid "Close this program" +msgstr "ಈ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಮುಚ್ಚು" + +#: ../src/seahorse-key-manager.c:724 +msgid "_New..." +msgstr "ಹೊಸ(_N)..." + +#: ../src/seahorse-key-manager.c:725 +msgid "Create a new key or item" +msgstr "ಒಂದು ಹೊಸ ಕೀಲಿ ಅಥವ ಅಂಶವನ್ನು ಸೃಜಿಸು" + +#: ../src/seahorse-key-manager.c:726 +msgid "_Import..." +msgstr "ಆಮದು ಮಾಡಿಕೊ(_I)..." + +#: ../src/seahorse-key-manager.c:727 +msgid "Import from a file" +msgstr "ಒಂದು ಕಡತದಿಂದ ಆಮದು ಮಾಡಿಕೊ" + +#: ../src/seahorse-key-manager.c:729 +msgid "Import from the clipboard" +msgstr "ನಕಲುಫಲಕದಿಂದ(ಕ್ಲಿಪ್‌ಬೋರ್ಡಿನಿಂದ) ಆಮದು ಮಾಡಿಕೊಳ್ಳಿ" + +#: ../src/seahorse-key-manager.c:734 ../src/seahorse-keyserver-results.c:217 +msgid "_Find Remote Keys..." +msgstr "ದೂರಸ್ಥ ಕೀಲಿಗಳನ್ನು ಪತ್ತೆ ಹಚ್ಚು(_F)..." + +#: ../src/seahorse-key-manager.c:735 ../src/seahorse-keyserver-results.c:218 +msgid "Search for keys on a key server" +msgstr "ಕೀಲಿ ಪರಿಚಾರಕದಲ್ಲಿ ಒಂದು ಕೀಲಿಗಾಗಿ ಹುಡುಕು" + +#: ../src/seahorse-key-manager.c:736 +msgid "_Sync and Publish Keys..." +msgstr "ಕೀಲಿಯನ್ನು ಮೇಳೈಸು ಮತ್ತು ಪ್ರಕಟಿಸು(_S)..." + +#: ../src/seahorse-key-manager.c:737 +msgid "Publish and/or synchronize your keys with those online." +msgstr "ಆನ್‌ಲೈನಿನಲ್ಲಿರುವ ಕೀಲಿಗಳೊಂದಿಗೆ ನಿಮ್ಮ ಕೀಲಿಯನ್ನು ಪ್ರಕಟಿಸಿ ಮತ್ತು/ ಅಥವ ಮೇಳೈಸಿ." + +#: ../src/seahorse-key-manager.c:742 +msgid "T_ypes" +msgstr "ಪ್ರಕಾರಗಳು(_y)" + +#: ../src/seahorse-key-manager.c:742 +msgid "Show type column" +msgstr "ಪ್ರಕಾರ ಲಂಬಸಾಲನ್ನು ತೋರಿಸು" + +#: ../src/seahorse-key-manager.c:744 +msgid "_Expiry" +msgstr "ಕಾಲಾವಧಿಯ ಅಂತ್ಯ (_E)" + +#: ../src/seahorse-key-manager.c:744 +msgid "Show expiry column" +msgstr "ಕಾಲಾವಧಿ ಪೂರ್ಣಗೊಳ್ಳುವ ಲಂಬಸಾಲನ್ನು ತೋರಿಸು" + +#: ../src/seahorse-key-manager.c:746 +msgid "_Trust" +msgstr "ಟ್ರಸ್ಟ್‍(_T)" + +#: ../src/seahorse-key-manager.c:746 +msgid "Show owner trust column" +msgstr "ಮಾಲೀಕರ ಟ್ರಸ್ಟಿನ ಲಂಬಸಾಲನ್ನು ತೋರಿಸು" + +#: ../src/seahorse-key-manager.c:748 +msgid "_Validity" +msgstr "ಕಾಲಾವಧಿ(_V)" + +#: ../src/seahorse-key-manager.c:748 +msgid "Show validity column" +msgstr "ಕಾಲಾವಧಿ ಲಂಬಸಾಲನ್ನು ತೋರಿಸು" + +#: ../src/seahorse-key-manager.c:922 +msgid "Filter:" +msgstr "ಶೋಧಕ(Filter):" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "ಮೊದಲ ಬಾರಿಯ ಆಯ್ಕೆಗಳು:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "ನಿಮ್ಮದೆ ಆದ ಒಂದು ಹೊಸ ಕೀಲಿಯನ್ನು ನಿರ್ಮಿಸಿ: " + +#: ../src/seahorse-key-manager.xml.h:3 +msgid "Import existing keys from a file:" +msgstr "ಈಗಿರುವ ಕೀಲಿಯನ್ನು ಒಂದು ಕಡತದಿಂದ ಆಮದು ಮಾಡಿಕೊ:" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "My _Personal Keys" +msgstr "ನನ್ನ ವೈಯಕ್ತಿಕ ಕೀಲಿಗಳು(_P)" + +#: ../src/seahorse-key-manager.xml.h:5 +#| msgid "Other _Collected Keys" +msgid "Other _Keys" +msgstr "ಇತರೆ ಕೀಲಿಗಳು (_K)" + +#: ../src/seahorse-key-manager.xml.h:6 +msgid "To get started with encryption you will need keys." +msgstr "ಗೂಢಲಿಪೀಕರಣವನ್ನು ಆರಂಭಿಸಲು ನಿಮಗೆ ಕೀಲಿಗಳ ಅಗತ್ಯವಿರುತ್ತದೆ." + +#: ../src/seahorse-key-manager.xml.h:7 ../src/seahorse-viewer.c:546 +msgid "_Import" +msgstr "ಆಮದು ಮಾಡಿಕೊ(_I)" + +#: ../src/seahorse-key-manager.xml.h:8 +msgid "_Passwords" +msgstr "ಗುಪ್ತಪದಗಳು(_I)" + +#: ../src/seahorse-key-manager-store.c:648 ../src/seahorse-viewer.c:282 +msgid "Couldn't export keys" +msgstr "ಕೀಲಿಗಳನ್ನು ರಫ್ತು ಮಾಡಲಾಗಿಲ್ಲ" + +#: ../src/seahorse-key-manager-store.c:846 +msgid "Validity" +msgstr "ಕಾಲಾವಧಿ" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:865 +msgid "Expiration Date" +msgstr "ಅಂತ್ಯಗೊಳ್ಳುವ ದಿನಾಂಕ" + +#: ../src/seahorse-keyserver-results.c:209 +msgid "Close this window" +msgstr "ಈ ವಿಂಡೋವನ್ನು ಮುಚ್ಚು" + +#: ../src/seahorse-keyserver-results.c:210 +msgid "_Expand All" +msgstr "ಎಲ್ಲವನ್ನೂ ವಿಸ್ತರಿಸು(_E)" + +#: ../src/seahorse-keyserver-results.c:211 +msgid "Expand all listings" +msgstr "ಎಲ್ಲಾ ಪಟ್ಟಿಗಳನ್ನೂ ವಿಸ್ತರಿಸು" + +#: ../src/seahorse-keyserver-results.c:212 +msgid "_Collapse All" +msgstr "ಎಲ್ಲವನ್ನು ಬೀಳಿಸು(_C)" + +#: ../src/seahorse-keyserver-results.c:213 +msgid "Collapse all listings" +msgstr "ಎಲ್ಲಾ ಪಟ್ಟಿಗಳನ್ನು ಬೀಳಿಸು" + +#: ../src/seahorse-keyserver-results.c:275 +msgid "Remote Keys" +msgstr "ದೂರಸ್ಥ ಕೀಲಿಗಳು" + +#: ../src/seahorse-keyserver-results.c:277 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "'%s' ಅನ್ನು ಹೊಂದಿರುವ ದೂರಸ್ಥ ಕೀಲಿಗಳು" + +#: ../src/seahorse-keyserver-search.xml.h:1 +msgid "Key Servers:" +msgstr "ಕೀಲಿ ಪರಿಚಾರಕಗಳು:" + +#: ../src/seahorse-keyserver-search.xml.h:2 +msgid "Shared Keys Near Me:" +msgstr "ಹಂಚಲಾದ ನನ್ನ ಹತ್ತಿರದ ಕೀಲಿಗಳು:" + +#: ../src/seahorse-keyserver-search.xml.h:3 +msgid "Find Remote Keys" +msgstr "ದೂರಸ್ಥ ಕೀಲಿಗಳನ್ನು ಪತ್ತೆ ಹಚ್ಚು" + +#: ../src/seahorse-keyserver-search.xml.h:4 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"ಇದು ಬೇರೆಯವರಿಗಾಗಿ ಅಂತರ್ಜಾಲದಲ್ಲಿ ಕೀಲಿಗಳನ್ನು ಹುಡುಕುತ್ತದೆ. ಈ ಕೀಲಿಗಳು ನಂತರದ ಸಮಯದಲ್ಲಿ " +"ನಿಮ್ಮ ಸ್ಥಳೀಯ ಕೀಲಿ ಸುರುಳಿಗೆ ಆಮದು ಮಾಡಿಕೊಳ್ಳಬಹುದಾಗಿದೆ." + +#: ../src/seahorse-keyserver-search.xml.h:5 +msgid "Where to search:" +msgstr "ಎಲ್ಲಿ ಹುಡುಕಬೇಕು:" + +#: ../src/seahorse-keyserver-search.xml.h:6 +msgid "_Search" +msgstr "ಹುಡುಕು(_S)" + +#: ../src/seahorse-keyserver-search.xml.h:7 +msgid "_Search for keys containing: " +msgstr "ಇದನ್ನು ಹೊಂದಿರುವ ಕೀಲಿಗಳನ್ನು ಹುಡುಕು(_S): " + +#: ../src/seahorse-keyserver-sync.c:45 +msgid "Couldn't publish keys to server" +msgstr "ಪರಿಚಾರಕಕ್ಕೆ ಕೀಲಿಗಳನ್ನು ಪ್ರಕಟಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ" + +#: ../src/seahorse-keyserver-sync.c:61 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "ಪರಿಚಾರಕದಿಂದ ಕೀಲಿಗಳನ್ನು ಮರಳಿ ಪಡೆಯಲಾಗಲಿಲ್ಲ: %s" + +#: ../src/seahorse-keyserver-sync.c:155 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "ಮೇಳೈಸಲು %d ಕೀಲಿಯನ್ನು ಆರಿಸಲಾಗಿದೆ" +msgstr[1] "ಮೇಳೈಸಲು %d ಕೀಲಿಗಳನ್ನು ಆರಿಸಲಾಗಿದೆ" + +#: ../src/seahorse-keyserver-sync.c:216 +msgid "Synchronizing keys" +msgstr "ಮೇಳೈಸಲಾಗುವ ಕೀಲಿಗಳು" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:248 +msgid "Synchronizing keys..." +msgstr "ಕೀಲಿಗಳನ್ನು ಮೇಳೈಸಲಾಗುತ್ತಿದೆ..." + +#: ../src/seahorse-keyserver-sync.xml.h:1 +msgid "X keys are selected for synchronizing" +msgstr "ಮೇಳೈಸಲು X ಕೀಲಿಗಳನ್ನು ಆರಿಸಲಾಗಿದೆ" + +#: ../src/seahorse-keyserver-sync.xml.h:2 +msgid "Sync Keys" +msgstr "ಮೇಳೈಸುವ ಕೀಲಿಗಳು" + +#: ../src/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"ಇದು ಕೀಲಿಗಳನ್ನು ಬೇರೆಯವರು ಬಳಸಲು ಲಭ್ಯವಾಗುವಂತೆ ನಿಮ್ಮ ಕೀಲಿ ಸುರುಳಿಯಲ್ಲಿ ಪ್ರಕಟಿಸುತ್ತದೆ. " +"ಇದು ನೀವು ಕೀಲಿಗಳನ್ನು ಪಡೆದುಕೊಂಡ ನಂತರ ಬೇರೆಯವರು ಮಾಡಿರಬಹುದಾದ ಬದಲಾವಣೆಗಳನ್ನೂ ಸಹ ನಿಮಗೆ " +"ತೋರಿಸುತ್ತದೆ." + +#: ../src/seahorse-keyserver-sync.xml.h:4 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"ಬೇರೆಯವರ ಕೀಲಿಗಳನ್ನು ನೀವು ಪಡೆದುಕೊಂಡ ನಂತರ ಅವರು ಮಾಡಿರಬಹುದಾದ ಯಾವುದೆ ಬದಲಾವಣೆಗಳನ್ನು " +"ಇದು ಮರಳಿಸುತ್ತದೆ. ಪ್ರಕಟಿಸಲು ಯಾವುದೆ ಕೀಲಿ ಪರಿಚಾರಕವನ್ನು ಆರಿಸಲಾಗಿಲ್ಲ, ಆದ್ದರಿಂದ ನಿಮ್ಮ " +"ಕೀಲಿಗಳನ್ನು ಬೇರೆಯವರಿಗೆ ಲಭ್ಯವಾಗಿಸುವುದಿಲ್ಲ." + +#: ../src/seahorse-keyserver-sync.xml.h:5 +msgid "_Key Servers" +msgstr "ಕೀಲಿ ಪರಿಚಾರಕಗಳು(_K)" + +#: ../src/seahorse-keyserver-sync.xml.h:6 +msgid "_Sync" +msgstr "ಮೇಳೈಸು (_S)" + +#: ../src/seahorse-main.c:62 +msgid "Version of this application" +msgstr "ಈ ಅನ್ವಯದ ಆವೃತ್ತಿ" + +#: ../src/seahorse-main.c:78 ../src/seahorse-viewer.c:170 +msgid "Encryption Key Manager" +msgstr "ಗೂಢಲಿಪೀಕರಣ ಕೀಲಿ ವ್ಯವಸ್ಥಾಪಕ" + +#: ../src/seahorse-viewer.c:141 +msgid "Contributions:" +msgstr "ದೇಣಿಗೆಗಳು:" + +#: ../src/seahorse-viewer.c:172 +msgid "translator-credits" +msgstr "ಶಂಕರ್ ಪ್ರಸಾದ್ " + +#: ../src/seahorse-viewer.c:175 +msgid "Seahorse Project Homepage" +msgstr "Seahorse ಪರಿಯೋಜನಾ ನೆಲೆ ಪುಟ" + +#. Top menu items +#: ../src/seahorse-viewer.c:194 +msgid "_File" +msgstr "ಕಡತ(_F)" + +#: ../src/seahorse-viewer.c:195 +msgid "_Edit" +msgstr "ಸಂಪಾದನೆ(_E)" + +#: ../src/seahorse-viewer.c:196 +msgid "_View" +msgstr "ನೋಟ(_V)" + +#: ../src/seahorse-viewer.c:197 +msgid "_Help" +msgstr "ಸಹಾಯ(_H)" + +#: ../src/seahorse-viewer.c:199 +msgid "Prefere_nces" +msgstr "ಆದ್ಯತೆಗಳು(_n)" + +#: ../src/seahorse-viewer.c:200 +msgid "Change preferences for this program" +msgstr "ಈ ಪ್ರೊಗ್ರಾಮಿನ ಆದ್ಯತೆಗಳನ್ನು ಬದಲಾಯಿಸಿ" + +#: ../src/seahorse-viewer.c:203 +msgid "About this program" +msgstr "ಈ ಪ್ರೋಗ್ರಾಂನ ಬಗ್ಗೆ" + +#: ../src/seahorse-viewer.c:204 +msgid "_Contents" +msgstr "ವಿಷಯಗಳು(_C)" + +#: ../src/seahorse-viewer.c:205 +msgid "Show Seahorse help" +msgstr "Seahorse ನೆರವನ್ನು ತೋರಿಸು" + +#: ../src/seahorse-viewer.c:302 +msgid "Export public key" +msgstr "ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ರಫ್ತು ಮಾಡು" + +#: ../src/seahorse-viewer.c:320 +msgid "Exporting keys" +msgstr "ಕೀಲಿಗಳನ್ನು ರಫ್ತುಮಾಡಲಾಗುತ್ತಿದೆ" + +#: ../src/seahorse-viewer.c:345 +msgid "Couldn't retrieve data from key server" +msgstr "ಪರಿಚಾರಕದಿಂದ ಕೀಲಿಗಳನ್ನು ಮರಳಿ ಪಡೆಯಲಾಗಲಿಲ್ಲ" + +#. Translators: "Copied" is a verb (used as a status indicator), not an adjective for the word "keys" +#: ../src/seahorse-viewer.c:364 +msgid "Copied keys" +msgstr "ಕಾಪಿ ಮಾಡಲಾದ ಕೀಲಿಗಳು" + +#: ../src/seahorse-viewer.c:384 +msgid "Retrieving keys" +msgstr "ಕೀಲಿಗಳನ್ನು ಮರಳಿ ಪಡೆಯಲಾಗುತ್ತಿದೆ" + +#: ../src/seahorse-viewer.c:399 +msgid "Couldn't delete." +msgstr "ಅಳಿಸಲಾಗಲಿಲ್ಲ." + +#: ../src/seahorse-viewer.c:433 +msgid "Deleting..." +msgstr "ಅಳಿಸಲಾಗುತ್ತಿದೆ..." + +#: ../src/seahorse-viewer.c:459 +#, c-format +msgid "%s is a private key. Are you sure you want to proceed?" +msgstr "%s ಯು ಒಂದು ಖಾಸಗಿ ಕೀಲಿಯಾಗಿದೆ. ನೀವು ಖಚಿತವಾಗಿಯೂ ಮುಂದುವರೆಯಲು ಬಯಸುತ್ತೀರೆ?" + +#: ../src/seahorse-viewer.c:507 +msgid "Importing keys from key servers" +msgstr "ಕೀಲಿ ಪರಿಚಾರಕದಿಂದ ಕೀಲಿಗಳನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳಲಾಗುತ್ತಿದೆ K" + +#: ../src/seahorse-viewer.c:533 +msgid "Show properties" +msgstr "ಗುಣಲಕ್ಷಣಗಳನ್ನು ತೋರಿಸು" + +#: ../src/seahorse-viewer.c:534 +msgctxt "This text refers to deleting an item from its type's backing store." +msgid "_Delete" +msgstr "ಅಳಿಸಿ ಹಾಕು(_D)" + +#: ../src/seahorse-viewer.c:535 +msgid "Delete selected items" +msgstr "ಆಯ್ದ ಅಂಶಗಳನ್ನು ಅಳಿಸು" + +#: ../src/seahorse-viewer.c:539 +msgid "E_xport..." +msgstr "ರಫ್ತು ಮಾಡು(_x)..." + +#: ../src/seahorse-viewer.c:540 +msgid "Export to a file" +msgstr "ಒಂದು ಕಡತವನ್ನು ರಫ್ತು ಮಾಡು" + +#: ../src/seahorse-viewer.c:542 +msgid "Copy to the clipboard" +msgstr "ನಕಲುಫಲಕಕ್ಕೆ(ಕ್ಲಿಪ್‌ಬೋರ್ಡಿಗೆ) ಕಾಪಿ ಮಾಡು" + +#: ../src/seahorse-viewer.c:547 +msgid "Import selected keys to local key ring" +msgstr "ಆಯ್ಕೆ ಮಾಡಿದ ಕೀಲಿಗಳನ್ನು ಸ್ಥಳೀಯ ಕೀಲಿ ಸುರುಳಿಗೆ ಆಮದು ಮಾಡಿಕೊಳ್ಳಿ" + +#: ../ssh/seahorse-ssh-askpass.c:99 +msgid "Enter your Secure Shell passphrase:" +msgstr "ನಿಮ್ಮ ಸುರಕ್ಷತಾ ಶೆಲ್ ಕೀಲಿಯ ಗುಪ್ತವಾಕ್ಯವನ್ನು ನಮೂದಿಸಿ:" + +#: ../ssh/seahorse-ssh-commands.c:85 +msgid "Configure Key for _Secure Shell..." +msgstr "ಸುರಕ್ಷತಾ ಶೆಲ್‌ಗಾಗಿ ಕೀಲಿಯನ್ನು ಸಂರಚಿಸಿ(_S)..." + +#: ../ssh/seahorse-ssh-commands.c:86 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"ಬೇರೊಂದು ಗಣಕಕ್ಕೆ ಖಾಸಗಿ ಸುರಕ್ಷಿತ ಕೀಲಿಯನ್ನು ಕಳುಹಿಸಿ, ಮತ್ತು ಆ ಕೀಲಿಯನ್ನು ಉಪಯೋಗಿಸಿಕೊಂಡು " +"ಪ್ರವೇಶಿಸುವುದನ್ನು ಶಕ್ತಗೊಳಿಸಿ." + +#: ../ssh/seahorse-ssh-commands.c:115 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "ನೀವು '%s' ಸುರಕ್ಷತಾ ಶೆಲ್ ಕೀಲಿಯನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಬಯಸಿದ್ದು ಖಚಿತವೆ ?" + +#: ../ssh/seahorse-ssh-commands.c:118 +#, c-format +msgid "Are you sure you want to delete %d secure shell keys?" +msgstr "ನೀವು '%d' ಸುರಕ್ಷತಾ ಶೆಲ್ ಕೀಲಿಗಳನ್ನು ಶಾಶ್ವತವಾಗಿ ಅಳಿಸಲು ಬಯಸಿದ್ದು ಖಚಿತವೆ ?" + +#: ../ssh/seahorse-ssh-generate.c:59 ../ssh/seahorse-ssh-key.c:91 +#: ../ssh/seahorse-ssh-key.c:95 ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "Secure Shell Key" +msgstr "ಸುರಕ್ಷತಾ ಶೆಲ್ ಕೀಲಿ" + +#: ../ssh/seahorse-ssh-generate.c:60 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "ಇತರೆ ಗಣಕಯಂತ್ರವನ್ನು ನಿಲುಕಿಸಿಕೊಳ್ಳಲು ಉಪಯೋಗಿಸಿಲಾಗಿದ್ದು (ಉದಾ: ಒಂದು ಟರ್ಮಿನಲ್ಲಿನ ಮೂಲಕ)" + +#: ../ssh/seahorse-ssh-generate.c:90 +msgid "Couldn't generate Secure Shell key" +msgstr "ಒಂದು ಸುರಕ್ಷತಾ ಶೆಲ್ ಕೀಲಿಯನ್ನು ನಿರ್ಮಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ" + +#: ../ssh/seahorse-ssh-generate.c:205 +msgid "Creating Secure Shell Key" +msgstr "ಒಂದು ಸುರಕ್ಷತಾ ಶೆಲ್ ಕೀಲಿಯನ್ನು ನಿರ್ಮಿಸು" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "" +"Use your email address, and any other reminder you need about what this " +"key is for." +msgstr "" +"ಈ ಕೀಲಿಯು ಯಾವದರ ಬಗ್ಗೆ ಎನ್ನುವುದನ್ನು ನೆನಪಿಸುವಂತಹ ನಿಮ್ಮ ಇಮೈಲ್ ವಿಳಾಸ, ಹಾಗು ಇತರೆ " +"ಯಾವುದೆ ಮಾಹಿತಿಯನ್ನು ಬಳಸಿ." + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "" +"A Secure Shell (SSH) key lets you connect securely to trusted computers " +"using SSH, without entering a different password for each of them." +msgstr "" +"ಒಂದು ಸುರಕ್ಷಿತ ಶೆಲ್ (SSH) ಕೀಲಿಯು SSH ಅನ್ನು ಬಳಸಿಕೊಂಡು ಸುರಕ್ಷಿತವಾಗಿ ನಂಬಿಕಸ್ತವಾದ " +"ಗಣಕಗಳಿಗೆ ಪ್ರತಿಯೊಂದಕ್ಕೂ ಪ್ರತ್ಯೇಕ ಗುಪ್ತಪದಗಳನ್ನು ನಮೂದಿಸುವ ಅಗತ್ಯವಿಲ್ಲದೆ ಅವುಗಳೊಂದಿಗೆ " +"ಸಂಪರ್ಕಹೊಂದಲು ನಿಮಗೆ ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ." + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "" +"If there is already a computer you want to use this key with, you can set up " +"that computer to recognize your key now. " +msgstr "" +"ಈ ಕೀಲಿಯನ್ನು ನೀವು ಬಳಸಲು ಇಚ್ಛಿಸುವ ಒಂದು ಗಣಕವು ಈಗಾಗಲೆ ಇದ್ದಲ್ಲಿ, ಆ ಗಣಕವು ನಿಮ್ಮ " +"ಕೀಲಿಯನ್ನು ಈಗ ಗುರುತಿಸುವಂತೆ ಸಿದ್ಧಗೊಳಿಸಬಹುದು. " + +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "New Secure Shell Key" +msgstr "ಹೊಸ ಸುರಕ್ಷತಾ ಶೆಲ್ ಕೀಲಿ" + +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "_Create and Set Up" +msgstr "ನಿರ್ಮಿಸು ಹಾಗು ಅಣಿಗೊಳಿಸು(_C)" + +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Just Create Key" +msgstr "ಕೇವಲ ಒಂದು ಕೀಲಿಯನ್ನು ನಿರ್ಮಿಸು(_J)" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "_Key Description:" +msgstr "ಕೀಲಿ ವಿವರಣೆ(_D):" + +#: ../ssh/seahorse-ssh-key.c:87 +msgid "(Unreadable Secure Shell Key)" +msgstr "(ಓದಲಾಗದಂತಹ ಸುರಕ್ಷತಾ ಶೆಲ್ ಕೀಲಿ)" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "Invalid" +msgstr "ಅಮಾನ್ಯ" + +#: ../ssh/seahorse-ssh-key.c:116 +msgid "Private Secure Shell Key" +msgstr "ಖಾಸಗಿ ಸುರಕ್ಷತಾ ಶೆಲ್ ಕೀಲಿ" + +#: ../ssh/seahorse-ssh-key.c:119 +msgid "Public Secure Shell Key" +msgstr "ಸಾರ್ವಜನಿಕ ಸುರಕ್ಷತಾ ಶೆಲ್ ಕೀಲಿ" + +#: ../ssh/seahorse-ssh-key-properties.c:71 +msgid "Couldn't rename key." +msgstr "ಕೀಲಿಯ ಹೆಸರನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ." + +#: ../ssh/seahorse-ssh-key-properties.c:112 +msgid "Couldn't change authorization for key." +msgstr "ಕೀಲಿಯ ಅನುಮತಿಯನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ." + +#: ../ssh/seahorse-ssh-key-properties.c:127 +msgid "Couldn't change passphrase for key." +msgstr "ಕೀಲಿಗಾಗಿ ಗುಪ್ತವಾಕ್ಯವನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "/home/nate/.ssh/blah_rsa" +msgstr "/home/nate/.ssh/blah_rsa" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "00:00:00:00:00" +msgstr "00:00:00:00:00" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Algorithm:" +msgstr "ಆಲ್ಗೋರಿಥಮ್:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:5 +msgid "Identifier:" +msgstr "ಗುರುತಿಸುವವನು:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgid "Location:" +msgstr "ಸ್ಥಳ:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:8 +msgid "Strength:" +msgstr "ಗಟ್ಟಿತನ:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Trust" +msgstr "ಟ್ರಸ್ಟ್‍" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +#, no-c-format +#, fuzzy +msgid "This only applies to the '%s' account." +msgstr "ಇದು ಕೇವಲ '%s' ಖಾತೆಗೆ ಮಾತ್ರ ಅನ್ವಯಿಸುತ್ತದೆ." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "E_xport Complete Key" +msgstr "ಸಂಪೂರ್ಣ ಕೀಲಿಯನ್ನು ರವಾನಿಸು(_x)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "ಈ ಕೀಲಿಯನ್ನು ಯಾರು ಹೊಂದಿರುತ್ತಾರೋ ಅವರು ಈ ಗಣಕಕ್ಕೆ ಸಂಪರ್ಕ ಸಾಧಿಸಲು ಅನುಮತಿ ಇದೆ(_a)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:23 +msgid "Used to connect to other computers." +msgstr "ಇತರೆ ಗಣಕದೊಂದಿಗೆ ಸಂಪರ್ಕ ಸಾಧಿಸಲು ಬಳಸಲಾಗಿದೆ." + +#: ../ssh/seahorse-ssh-operation.c:143 ../ssh/seahorse-ssh-operation.c:732 +#, c-format +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH ಆಜ್ಞೆಯು ಅನಿರೀಕ್ಷಿತವಾಗಿ ಅಂತ್ಯಗೊಂಡಿದೆ." + +#: ../ssh/seahorse-ssh-operation.c:151 ../ssh/seahorse-ssh-operation.c:739 +msgid "The SSH command failed." +msgstr "SSH ಆಜ್ಞೆಯು ವಿಫಲಗೊಂಡಿದೆ." + +#: ../ssh/seahorse-ssh-operation.c:445 ../ssh/seahorse-ssh-operation.c:477 +msgid "Secure Shell key" +msgstr "ಸುರಕ್ಷಿತ ಶೆಲ್ಲಿನ ಕೀಲಿ" + +#: ../ssh/seahorse-ssh-operation.c:448 +msgid "Passphrase:" +msgstr "ಗುಪ್ತವಾಕ್ಯ:" + +#. Just prompt over and over again +#: ../ssh/seahorse-ssh-operation.c:762 +msgid "Remote Host Password" +msgstr "ದೂರಸ್ಥ ಜಾಲಬಂಧ ಗುಪ್ತಪದ" + +#: ../ssh/seahorse-ssh-operation.c:850 +msgid "Old Key Passphrase" +msgstr "ಹಳೆಯ ಕೀಲಿ ಗುಪ್ತವಾಕ್ಯ" + +#: ../ssh/seahorse-ssh-operation.c:851 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "ಇದಕ್ಕಾಗಿ ಹಳೆಯ ಗುಪ್ತವಾಕ್ಯವನ್ನು ನಮೂದಿಸಿ: %s" + +#: ../ssh/seahorse-ssh-operation.c:855 +msgid "New Key Passphrase" +msgstr "ಹೊಸ ಕೀಲಿ ಗುಪ್ತವಾಕ್ಯ" + +#: ../ssh/seahorse-ssh-operation.c:856 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "ಇದಕ್ಕಾಗಿ ಹೊಸ ಗುಪ್ತವಾಕ್ಯವನ್ನು ನಮೂದಿಸಿ: %s" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Enter Key Passphrase" +msgstr "ಕೀಲಿ ಗುಪ್ತವಾಕ್ಯವನ್ನು ನಮೂದಿಸಿ" + +#: ../ssh/seahorse-ssh-operation.c:931 +msgid "Passphrase for New Secure Shell Key" +msgstr "ಹೊಸ ಸುರಕ್ಷಿತ ಶೆಲ್ಲಿನ ಕೀಲಿಗಾಗಿ ಗುಪ್ತವಾಕ್ಯ" + +#: ../ssh/seahorse-ssh-operation.c:932 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "ನಿಮ್ಮ ಹೊಸ ಸುರಕ್ಷಿತ ಶೆಲ್ಲಿನ ಕೀಲಿಗಾಗಿ ಒಂದು ಗುಪ್ತವಾಕ್ಯವನ್ನು ನಮೂದಿಸಿ." + +#: ../ssh/seahorse-ssh-operation.c:1013 +#, c-format +msgid "Importing key: %s" +msgstr "ಕೀಲಿಯನ್ನು ಅಮದು ಮಾಡಿಕೊಳ್ಳಲಾಗುತ್ತಿದೆ: %s" + +#: ../ssh/seahorse-ssh-operation.c:1015 +msgid "Importing key. Enter passphrase" +msgstr "ಕೀಲಿಯನ್ನು ಅಮದು ಮಾಡಿಕೊಳ್ಳಲಾಗುತ್ತಿದೆ. ಗುಪ್ತವಾಕ್ಯವನ್ನು ನಮೂದಿಸಿ" + +#: ../ssh/seahorse-ssh-source.c:825 +msgid "No private key file is available for this key." +msgstr "ಈ ಕೀಲಿಗೆ ಯಾವುದೆೆ ಖಾಸಗಿ ಕಲಿೀ ಕಡತವುಲಭ್ಯವಿಲ್ಲಲ." + +#: ../ssh/seahorse-ssh-upload.c:45 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "ದೂರಸ್ಥ ಗಣಕದಲ್ಲಿ ಸುರಕ್ಷಿತ ಶೆಲ್ಲಿನ ಕೀಲಿಯನ್ನು ಸಂರಚಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ." + +#. Show the progress window if necessary +#: ../ssh/seahorse-ssh-upload.c:181 +msgid "Configuring Secure Shell Keys..." +msgstr "ಸುರಕ್ಷಿತ ಶೆಲ್ಲಿನ ಕೀಲಿಯನ್ನು ಸಂರಚಿಸಲಾಗುತ್ತಿದೆ..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "eg: fileserver.example.com:port" +msgstr "ಉದಾ: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr " SS ಸಂಪರ್ಕಕ್ಕಾಗಿ ಗಣಕವನ್ನು ಅಣಿಗೊಳಿಸುH" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"ಸುರಕ್ಷಿತ ಶೆಲ್ ಕೀಲಿಯನ್ನು SSH ಅನ್ನು ಬಳಸುವ ಬೇರೊಂದು ಗಣಕದೊಂದಿಗೆ ಬಳಸಲು, ನೀವು ಆ ಗಣಕದಲ್ಲಿ " +"ಒಂದು ಪ್ರವೇಶ ಖಾತೆಯನ್ನು ಹೊಂದಿರಬೇಕು." + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "ಗಣಕದ ಹೆಸರು(_C):" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "ಪ್ರವೇಶ ಹೆಸರು(_L):" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "ಅಣಿಗೊಳಿಸು(_S)" + diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 00000000..38b849de --- /dev/null +++ b/po/ko.po @@ -0,0 +1,2823 @@ +# seahorse Korean message translation +# This file is distributed under the same license as the seahorse package. +# Changwoo Ryu , 2007-2020. +# +# 새로 번역하는 분은 아래 "translator-credit"에 추가하세요. +# +# 주의: +# - 이 프로그램의 이름인 Seahorse는 "시호스"로 음역. +# - 보안 관련 전문 용어가 많으므로 용어 선택에 주의. 사전 상의 번역 용어를 +# 사용하지 말고 널리 사용 중인 보안 용어를 사용한다. +# - private key - 비밀 키 (personal key와 구별) +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-08-29 13:31+0900\n" +"Last-Translator: Changwoo Ryu \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "키 서버 추가" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "사용자 설정" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "취소" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "저장" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "삭제할 수 없습니다" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "키를 내보낼 수 없습니다" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "데이터를 내보낼 수 없습니다." + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "취소(_C)" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "삭제(_D)" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "내보내기" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "다음에 대한 PIN 또는 암호를 입력하십시오: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "다시 입력:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "확인(_O)" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "암호:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "암호" + +#: common/place.vala:42 +msgid "Keys" +msgstr "키" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "인증서" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "기본 설정" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "없음: 키를 공개하지 않음" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "올바른 키 서버 주소가 아닙니다." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"도움이 필요하면 시스템 관리자 혹은 해당 키 서버의 관리자에게 문의하십시오." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "최초 임시 항목" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "키 서버 종류:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "호스트:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "서버의 호스트 이름 혹은 IP 주소." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "서버에 접속할 때 쓸 포트." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "키를 찾는 방법(_F):" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "키를 공개할 곳(_P):" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "키 서버에서 키를 자동으로 가져오기(_K)" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "자동으로 내용이 바뀐 키를 키 서버와 동기화(_M)" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "키 서버" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "알 수 없음" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "안 함" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "어느 정도" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "완전히" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "절대적" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "사용하지 않음" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "철회됨" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "개요" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "도움말" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "메뉴 열기" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "새 항목 만들기" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "파일에서 항목 가져오기" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "검색" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "바로 가기 목록" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "끝내기" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "탐색" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "이전 키 모음 선택" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "다음 키 모음 선택" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "가장자리 창 표시 (작은 화면에서)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "키 모음 내용 표시 (작은 화면에서)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "자동으로 키 가져오기" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "키를 자동으로 키 서버에서 가져올지 여부." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "자동으로 키 공개" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "수정한 키를 자동으로 공개할지 여부." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "이 키 서버에 키 공개" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "PGP 키를 공개할 키 서버. 빈 문자열이면 PGP 키 공개를 하지 않습니다." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "최근 키 서버 검색 패턴" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "최근에 키 서버에서 검색할 때 사용한 검색 패턴." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "최근 사용한 키 서버" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "최근에 검색할 때 사용한 키 서버, 빈 문자열이면 모든 키 서버." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "키 모음 가장자리 창 표시" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "시호스의 키 모음 가장자리 창 표시." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "표시할 항목" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"표시할 항목 필터. 비어 있으면 모든 항목을 표시하고, “personal”이면 개인 키, " +"“trusted”면 신뢰하는 키만 표시합니다." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "가장자리 창 너비" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "가장자리 창의 기본 너비." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "선택한 키 모음" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "가장자리 창에서 선택한 키 모음의 URI." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "시호스 키를 정렬할 기준 열" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"시호스의 키 관리 메인 창에서 열의 정렬을 지정합니다. 열은 다음과 같습니다: " +"“name”, “id”, “validity”, “expires”, “trust”, “type”. 내림차순으로 정렬하려" +"면 열 이름 앞에 “-”를 붙입니다." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "유효성 열 표시" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "더 이상 사용하지 않습니다." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "만료 열 표시" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "신뢰 열 표시" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "종류 열 표시" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "창의 너비" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "창의 너비 (픽셀 단위)." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "창의 높이" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "창의 높이 (픽셀 단위)." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "시호스" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "암호 및 암호화 키를 관리합니다" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "시호스는 암호화 키를 관리하는 그놈 프로그램입니다." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"시호스에서 PGP 키를 만들고 관리할 수 있고, SSH 키를 만들고 관리할 수 있고, " +"키 서버에 키를 공개하거나 가져올 수 있고, 암호를 임시 저장해서 반복해서 타이" +"핑할 필요가 없게 해 주고, 키와 키 모음을 백업할 수 있습니다." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "그놈 프로젝트" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "암호 및 키" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" +"keyring;키모음;키링;encryption;암호화;security;보안;sign;서명;사인;ssh;보안" +"셸;보안쉘;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "저장한 개인 암호, 인증 토큰, 비밀글" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "잠금을 풀 수 없습니다" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "항목을 추가할 수 없습니다" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "암호 및 비밀글" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "네트워크 연결 비밀글" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "와이파이 암호" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "네트워크 암호" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "그놈 웹 암호" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "구글 크롬 암호" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "메신저 암호" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "다음 메신저의 계정 암호: " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "텔레파시 암호" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "그놈 온라인 계정 암호" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "이 항목의 바뀐 사항을 저장하시겠습니까?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "네트워크 공유 혹은 자원에 접근" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "웹사이트에 접근" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "PGP 키 잠금 해제" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "보안 셸 키 잠금 해제" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "저장한 암호 혹은 로그인" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "네트워크 인증서" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "암호" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "암호를 바꿀 수 없습니다." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "설명을 설정할 수 없습니다." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "암호 삭제하는데 오류가 발생했습니다." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "저장한 메모" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "키 모음 암호" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "암호화 키 암호" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "키 저장 암호" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "네트워크 관리 비밀글" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "정말로 “%s” 암호를 삭제하시겠습니까?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "정말로 암호 %d개를 삭제하시겠습니까?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "키 모음을 추가할 수 없습니다" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "알 수 없는 날짜" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "로그인하면 자동으로 잠금이 풀리는 키 모음" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "암호를 저장할 때 사용하는 키 모음" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "기본 키 모음을 설정할 수 없습니다" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "키 모음 암호를 바꿀 수 없습니다" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "기본으로 설정(_S)" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "암호 바꾸기(_P)" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "정말로 “%s” 암호 키 모음을 삭제하시겠습니까?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "모든 항목이 영구히 지워지는 것을 이해합니다." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "암호 보이기/감추기" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "암호 추가" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "키 모음(_K):" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "설명(_D):" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "암호(_P):" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "추가" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "암호 키 모음 추가" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "새 키 모음의 이름을 입력하십시오. 잠금 풀기 암호도 물어봅니다." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "새 키 모음 이름:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "항목 속성" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "설명" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "복사" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "사용" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "종류" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "서버" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "로그인" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "자세한 정보" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "암호 삭제" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "키 모음 속성" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "이름" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "만든 때" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "암호 바꾸기" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "기본으로 설정" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "표시 플래그" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "표시할 날짜/시간 속성" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "직접 모드" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "직접 모드에서는 입력한 날짜와 시간 값을 정규화하지 않습니다" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "연도" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "표시할 연도" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "달" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "표시할 달" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "일" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "표시할 일" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "시간" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "표시할 시간" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "분" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "표시할 분" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "초" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "표시할 초" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "연도 최소값" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "날짜 최소값의 연도 부분" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "연도 최대값" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "날짜 최대값의 연도 부분" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "달 최소값" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "날짜 최소값의 달 부분" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "달 최대값" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "날짜 최대값의 달 부분" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "일 최소값" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "날짜 최소값의 일 부분" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "일 최대값" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "날짜 최대값의 일 부분" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "시간 최소값" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "날짜 최소값의 시간 부분" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "시간 최대값" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "날짜 최대값의 시간 부분" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "분 최소값" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "날짜 최소값의 분 부분" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "분 최대값" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "날짜 최대값의 분 부분" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "초 최소값" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "날짜 최소값의 초 부분" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "초 최대값" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "날짜 최대값의 초 부분" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "날짜" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "날짜 직접 입력" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "날짜 선택" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "달력에서 날짜 선택" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "시각" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "시각 직접 입력" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "시각 선택" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "목록에서 시각을 선택" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: no" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "오전" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "오후" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%4$s %1$02d:%2$02d:%3$02d" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%3$s %1$02d:%2$02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "도움말을 표시할 수 없습니다: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "%s에 서브키 추가" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (서명 전용)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (암호화 전용)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (서명 전용)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (암호화 전용)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "키 종류(_T)" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "키 길이(_L)" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "키의 길이" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "만료 날짜" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "만료되지 않음(_X)" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "키가 만료되지 않는 지 여부" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "새 서브키 만들기" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "사용자 아이디를 %s에 추가" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "사용자 아이디를 추가할 수 없습니다" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "사용자 아이디 추가" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "전체 이름(_N)" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "길이가 최소 5글자가 되어야 합니다" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "전자메일 주소(_E)" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "전자메일 주소(선택 정보)" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "키 추가 설명(_M)" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "키에 대해 설명하는 추가 설명(선택 정보)" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "새 사용자 아이디를 만듭니다" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "암호화 해제가 실패했습니다. 해제 키를 가지고 있지 않은 것 같습니다." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "작업이 취소되었습니다" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "만료 날짜가 잘못되었습니다" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "만료 날짜가 미래가 아닙니다" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "만료 날짜를 바꿀 수 없습니다" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "만료: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "만료되지 않음(_N)" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "바꾸기(_H)" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "여러 개 키" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "키 데이터" + +# 주의: ASCII-armored를 뜻하는 말임 +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "텍스트 형식 PGP 키" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP 키" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "PGP 키를 만들 수 없습니다" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "새 PGP 키의 암호" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "새 키의 암호를 두 번 입력하십시오." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"키를 만들 때 아주 많은 임의 데이터가 필요하니 도움이\n" +"필요합니다. 키보드를 두들기거나, 마우스를 움직이거나,\n" +"다른 프로그램을 사용하는 것 같은 기타 작업을 하면\n" +"좋습니다. 그렇게 하면 시스템이 필요한 임의 데이터를\n" +"획득합니다." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "키를 만드는 중" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "길이가 최소 5글자가 되어야 합니다." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "새 PGP 키" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"PGP 키를 이용해 전자메일이나 파일을 다른 사람에게 보낼 때 암호화할 수 있습니" +"다." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "고급 키 옵션(_A)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "설명(_C)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "암호화 종류(_T)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "키 강도(_S) (비트수)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "만료 날짜(_X)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "만료하지 않음(_V)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "만들기(_R)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "새 키를 만듭니다" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "정말로 %s 키를 완전히 삭제하시겠습니까?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "정말로 키 %d개를 완전히 삭제하시겠습니까?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "암호가 틀렸습니다" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "세 번째로 틀린 암호를 입력했습니다. 다시 시도하십시오." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "암호가 틀렸습니다." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "“%s”에 대한 새 암호를 입력하십시오" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "“%s”에 대한 암호를 입력하십시오" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "새 암호를 입력하십시오" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "암호를 입력하십시오" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "암호" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "키 %d개를 읽어들였습니다" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"키 데이터가 잘못되었습니다. (UID가 없습니다.) 컴퓨터의 날짜를 미래로 설정했거" +"나 자체 서명을 하지 않았기 때문입니다." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG 키" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: 기본 키 모음 디렉터리" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"사진이 너무 큽니다\n" +"키에 집어 넣을 사진은 %d × %d 픽셀 크기를 추천합니다." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "크기 조정하지 않기(_D)" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "크기 조정(_R)" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"그림 파일이 아니거나 알 수 없는 종류의 그림 파일입니다. JPEG 그림을 사용하십" +"시오." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "모든 그림 파일" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "모든 JPEG 파일" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "모든 파일" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "키에 덧붙일 사진을 선택하십시오" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "열기(_O)" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "사진을 준비할 수 없습니다" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "사진을 덧붙일 수 없습니다" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "파일을 읽어들일 수 업습니다. 형식이 잘못되었습니다" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "정말로 현재 사진을 키에서 제거하시겠습니까?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "사진을 삭제할 수 없습니다" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "서브키를 철회할 수 없습니다" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "철회: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "이유 없음" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "키를 철회에 이유 없음" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "유출됨" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "키가 유출되었습니다" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "교체됨" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "키가 교체되었습니다" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "사용하지 않음" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "키를 더 이상 사용하지 않습니다" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"철회 표시로 %s을(를) 붙여서 %s을(를) 철회하려 합니다. 한번 철회하면 취소할 " +"수 없습니다! 정말로 계속하시겠습니까?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "철회 표시를 붙일 수 없습니다" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "이 비밀 키가 영구히 지워지는 것을 이해합니다." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"이 키는 이미 다음 사용자가 서명했습니다:\n" +"“%s”" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "키에 서명할 수 없습니다" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "서명에 사용할 수 있는 키가 없습니다" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "이 키의 신뢰도를 지정할 용도로 쓸 수 있는 개인 PGP 키가 없습니다." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "키 서명" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "서명하면 이 키가 다음 사람의 소유라는 것을 내가 신뢰한다는 뜻입니다:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "키 이름" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "이 키를 얼마나 철저하게 확인했습니까?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "전혀 하지 않음(_N)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "적당히(_C)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "매우 철저히(_V)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"전혀 하지 않음: 이 키를 소유하고 있다고 주장하는 사람이 이 키를 정말" +"로 소유하고 있다고 믿지만, 그게 사실인지 확인할 수 없거나 확인한 적이 없습니" +"다." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"적당히: 이 키를 소유하고 있다고 주장하는 사람이 이 키를 정말로 소유하" +"고 있는 지 적당히 확인했다는 뜻입니다. 예를 들어, 전화를 통해 키 소유자에게 " +"핑거프린트를 읽어서 확인한 경우입니다." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"매우 철저히: 이 키가 올바르다고 전적으로 확신하는 경우에만 선택하십시" +"오." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"키에 쓰여 있는 이름이 올바른지 확인하려면, 여권 등 사진이 있는 신분증을 확인" +"하는 철저한 방법을 사용할 수 있습니다. 또 해당 전자메일 주소가 해당 사용자 소" +"유인지 확인하려면 전자메일을 사용해야 합니다." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "다른 사람에게 이 서명이 표시되는 방식:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "다른 사람은 이 서명을 볼 수 없음(_O)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "나중에 이 서명을 철회할 수 있습니다(_R)." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "키를 서명할 때 쓸 키:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "서명에 사용할 키(_S):" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "서명(_S)" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "알 수 없음" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"검색 기준이 구체적이지 않습니다. “%s” 서버에서 해당 기준에 맞는 키가 너무 많" +"습니다." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "“%s” 서버와 통신할 수 없습니다: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP 키 서버" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "키를 가져올 수 없습니다: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "키 가져오기 성공" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "가져오기" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "키를 가져올 수 없습니다" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "원격 키" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "“%s”이(가) 들어 있는 원격 키" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "키 검색에 실패했습니다." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"키를 점검하려면 두 번 누르십시오. 키를 로컬 키 모음으로 가져오려면 가져오기 " +"단추를 누르십시오." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "원격 키 찾기" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"인터넷에서 다른 사람의 키를 찾습니다. 찾은 키는 로컬 키 모음으로 가져올 수 있" +"습니다." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "다음이 들어 있는 키 검색(_S): " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "찾을 위치:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "키 서버:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "내 주변의 공유한 키:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "검색(_S)" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "키를 서버에 공개할 수 없습니다" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "키를 서버에서 가져올 수 없습니다: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d개 키를 동기화한다고 선택했습니다" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "키 동기화하는 중…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "키 동기화" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"내 키 모음에 들어 있는 키를 다른 사람이 쓸 수 있게 공개합니다. 또 내가 키를 " +"받은 뒤에 다른 사람이 바꾼 내용이 있으면 그 키의 내용을 가져오게 됩니다." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"내가 키를 받은 뒤에 다른 사람이 바꾼 내용이 있으면 그 키의 내용을 가져오게 됩" +"니다. 공개할 키 서버를 지정하지 않았으므로, 내 키를 다른 사람이 쓸 수는 없게 " +"합니다." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "키 서버(_K)" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "동기화(_S)" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "%s에 통신할 수 없습니다: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "다음에 연결하는 중: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "주소의 IP를 찾을 수 없습니다: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "서버 주소의 IP를 찾는 중: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP 키 서버" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP 키" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP 키는 전자메일 및 파일 암호화에 사용합니다" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(그리고 기타 %d개)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "개인 PGP 키" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP 키" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "주요 사용자 아이디를 바꿀 수 없습니다" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "정말로 “%s” 사용자 ID를 완전히 삭제하시겠습니까?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "사용자 아이디를 삭제할 수 없습니다" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[알 수 없음]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "이름/전자메일" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "서명 아이디" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "주요 사진을 바꿀 수 없습니다" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "암호 바꾸는데 오류가 발생했습니다" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(알 수 없음)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "이 키는 다음 날짜에 만료되었습니다: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — 공개 키" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — 비밀 키" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "정말로 %2$s 키의 서브키 %1$d번을 완전히 삭제하시겠습니까?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "서브키를 삭제할 수 없습니다" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "신뢰도를 바꿀 수 없습니다" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "키를 내보낼 수 없습니다." + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "하지 않음" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "사용" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "만든 때" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "만료" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "상태" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "강도" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "철회됨" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "만료됨" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "사용하지 않음" + +# 번역주: revoked/expired의 상대말로 써야 하는데 괜찮을지? +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "좋음" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "키 아이디" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "“%s”이(가) 다른 키에 한 서명을 신뢰합니다" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"이 키를 소유한 사람이 “%s”임을 신뢰한다면, 이 키에 서명하십시오:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"이 키를 소유한 사람이 “%s”임을 더 이상 신뢰하지 않으면, 서명을 철회하" +"십시오:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "비밀 키 내보내기(_S)" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "공개 키 내보내기(_P)" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "이 키는 철회되었습니다" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "키의 소유자가 키를 철회했습니다. 이 키는 더 이상 사용할 수 없습니다." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "이 키는 만료되었습니다" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "이 키에 사진을 추가합니다" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "이 사진을 이 키에서 지웁니다" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "이 사진을 주요 사진으로 하기" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "이전 사진으로 이동" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "다음 사진으로 이동" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "추가 설명" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "암호 바꾸기(_P)" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "소유자" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "키 이름 및 서명" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "주요" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "서명" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "삭제" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "이름 추가(_A)" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "철회" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "이름 및 서명" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "키 아이디:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "종류:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "강도:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "기술 정보" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "핑거프린트" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "만든 때:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "만료:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "날짜" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "소유자 신뢰 무시(_T):" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "파일에 내보내기(_E)" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "동작" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "만료" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "하위 키(_S)" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "어느 정도" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "완전히" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "절대적으로" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "다른 이름(_O):" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "이 키에 대한 나의 신뢰" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "나의 신뢰는 자세한 정보 탭에서 수동으로 지정합니다." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "이 키에 서명(_S)" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "서명 철회(_R)" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "이 키에 서명한 사람(_P):" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "내가 신뢰하는 사람의 서명만 표시(_O)" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "신뢰" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "기술 정보:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "핑거프린트:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "날짜:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "신뢰도 지정:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "소유자에 대한 신뢰(_T):" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "암호화" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "인증서 인증" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "자기 인증" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "키" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "%2$s의 서브키 %1$d번" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "키를 철회하는 이유" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "이유(_R):" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "철회하는 이유(선택 정보)" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "키 철회" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "철회(_V)" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "문서나 메시지에 서명할 때 쓸 수 있는 개인 PGP 키가 없습니다." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "서명할 키 선택" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "메시지 서명에 사용할 키(_S):" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "데이터를 내보내는 중" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "데이터를 가져오는 중" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "데이터를 가져오는 중" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "데이터를 보내는 중" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "사용할 수 없음" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "인증서" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "인증서(DER 인코딩)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "개인 인증서 및 키" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "개인 인증서" + +# pgp identity - 이름과 메일 주소를 말함 +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "정말로 인증서 %d개를 완전히 삭제하시겠습니까?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "비밀 키를 생성할 수 없습니다" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "이 키가 영구히 지워지는 것을 이해합니다." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "이름 없는 비밀 키" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "비밀 키" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "이름 없음" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "인증서를 내보내는데 실패했습니다" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "삭제할 수 없습니다" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "만들기" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "인증서 요청을 만들 수 없습니다" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "인증서 요청 저장" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "저장(_S)" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "인증서 요청" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM 인코딩한 요청" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "인증서 요청을 저장할 수 없습니다" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "알 수 없음" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509 인증서 및 관련 키" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "새 비밀 키" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "새 비밀 키를 만듭니다" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "레이블:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "저장 위치:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "키 종류(_T):" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "키 강도(_S) (비트수):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "이 인증서 또는 키를 삭제합니다" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "인증서를 내보냅니다" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "인증서 요청" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "이 키에 대한 인증서 요청 파일을 만듭니다" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "인증서 요청 파일을 만듭니다." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "인증서 요청에 쓸 공통 이름(Common Name, CN)." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "이름(CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "기여한 분:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "이 프로그램의 버전" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "류창우 " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "시호스 프로젝트 홈페이지" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "가져온 데이터" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "가져오기(_I)" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "가져오기 실패" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "키 가져오기" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "모든 키 파일" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "끌어놓은 텍스트" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "클립보드 텍스트" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "키 모음 잠금을 풀 수 없습니다" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "암호 바꾸기" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "새 암호(_P):" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "새 암호 다시 입력" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "암호 다시 입력(_F):" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "원격 키 찾기(_F)…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "키 동기화 및 공개(_S)…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "기본 설정(_P)" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "도움말(_H)" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "키보드 바로 가기(_K)" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "암호 및 키 정보(_A)" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "필터 항목:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "개인 항목 표시(_E)" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "신뢰하는 항목 표시(_T)" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "모두 표시(_Y)" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "보안 셸 키" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "다른 컴퓨터에 접속하는데 사용합니다" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG 키" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "전자메일 및 파일 암호화에 사용" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "암호 키 모음" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "응용 프로그램 및 네트워크 암호를 저장하는 데 사용" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "안전하게 암호 및 비밀글을 저장" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "인증서를 요청하는데 사용합니다" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "파일에서 가져오기…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "새 키나 항목을 추가합니다" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "뒤로" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "키 또는 암호 검색" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "필터" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "이 모음은 비어 있습니다" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "키 모음이 잠겨 있습니다" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "풀기" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "비밀 정보 복사" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "내보내기…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "속성" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "보안 셸 키 설정…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "잠그기(_L)" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "풀기(_U)" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "속성(_P)" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "잠글 수 없습니다" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "보안 셸" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "다른 컴퓨터에 안전하게 연결하는 데 사용하는 키" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "정말로 “%s” 보안 셸 키를 삭제하시겠습니까?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "정말로 보안 셸 키 %u개를 삭제하시겠습니까?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "비밀 SSH 키" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "공개 SSH 키" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH 키" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "이 키에 대해 공개 키 파일이 없습니다." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "새로 만든 보안 셸 키를 읽어들일 수 없습니다" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "보안 셸 키를 만들 수 없습니다" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "보안 셸 키를 만드는 중" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024비트" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256비트" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "알 수 없는 키 종류!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "알 수 없는 종류" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "키의 이름을 바꿀 수 없습니다." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "이 키에 대한 인증을 바꿀 수 없습니다." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "키의 암호를 바꿀 수 없습니다." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "SSH 키 삭제하는데 오류가 발생했습니다." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "개인 SSH 키" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH 키" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(보안 셸 키를 읽을 수 없습니다)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "보안 셸 키" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "원격 호스트 암호" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "키 암호를 입력하십시오" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "새 보안 셸 키의 암호" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "키를 가져오는 중: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "키를 가져오는 중입니다. 암호를 입력하십시오" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "보안 셸 암호를 입력하십시오:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "예전 키 암호" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "다음에 대한 예전 암호를 입력하십시오: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "새 키 암호" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "다음에 대한 새 암호를 입력하십시오: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "새 암호를 다시 입력하십시오: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "새 보안 셸 키" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"보안 셸(SSH) 키를 이용하면 신뢰하는 컴퓨터에 안전하게 SSH를 이용해 연결할 수 " +"있습니다." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "설명(_D)" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"자기 전자메일 주소를 사용하거나, 기타 이 키의 용도가 무엇인지 알 수 있는 말" +"을 사용하십시오." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"이 키를 어떤 컴퓨터에서 이용하려면, 지금 그 컴퓨터를 설정해서 이 키를 인식하" +"도록 하십시오." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "키만 만들기(_J)" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "만들고 설정(_C)" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH 키 속성" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "이름" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "알고리즘" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "키 길이" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "위치" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "공개 키" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "공개 키를 클립보드에 복사" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "원격 접속" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "이 컴퓨터에 원격으로 접속하는데 사용합니다" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "내보내기(_E)" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "SSH 키 삭제(_D)" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "컴퓨터에 SSH 연결 설정" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"보안 셸 키를 SSH를 사용하는 다른 컴퓨터에 사용하려면, 그 컴퓨터에 로그인 계정" +"이 이미 있어야 합니다." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "서버 주소(_S):" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "예: fileserver.example.com:포트번호" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "로그인 이름(_L):" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "설정" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH 키" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "이 키에 대해 비밀 키 파일이 없습니다." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "원격 컴퓨터의 보안 셸 키를 설정할 수 없습니다." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "보안 셸 키를 설정하는 중…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "시호스는 암호화 키를 관리하는 그놈 프로그램입니다. 노틸러스, 지에디트 등에" +#~ "서 암호화 관련 동작에 연동해서 동작합니다." + +#~ msgid "Keyring is unlocked" +#~ msgstr "키 모음 잠금이 풀려 있습니다" + +#~ msgid "Lock" +#~ msgstr "잠그기" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "서브키를 추가할 수 없습니다" + +#~ msgid "_Combine all keyrings" +#~ msgstr "모든 키 모음 합치기(_C)" + +#~ msgid "Encryption _Type:" +#~ msgstr "암호화 종류(_T):" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "OK" +#~ msgstr "확인" + +#~ msgid "Full _Name:" +#~ msgstr "전체 이름(_N):" + +#~ msgid "_Email Address:" +#~ msgstr "전자메일 주소(_E):" + +#~ msgid "About Seahorse" +#~ msgstr "시호스 정보" diff --git a/po/ku.po b/po/ku.po new file mode 100644 index 00000000..8283e476 --- /dev/null +++ b/po/ku.po @@ -0,0 +1,2931 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Erdal Ronahi , 2009 +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: " +"http://bugzilla.gnome.org/enter_bug.cgi?product=seahorse&component=general\n" +"POT-Creation-Date: 2009-03-13 09:46+0000\n" +"PO-Revision-Date: 2009-03-13 20:51+0200\n" +"Last-Translator: Erdal Ronahi \n" +"Language-Team: http;//pckurd.net\n" +"Language: ku\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Virtaal 0.3.1\n" + +#: ../daemon/seahorse-daemon.c:69 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "" + +#: ../daemon/seahorse-daemon.c:87 +msgid "couldn't fork process" +msgstr "" + +#: ../daemon/seahorse-daemon.c:93 +msgid "couldn't create new process group" +msgstr "" + +#: ../daemon/seahorse-daemon.c:207 +msgid "Encryption Daemon (Seahorse)" +msgstr "" + +#: ../daemon/seahorse-daemon.desktop.in.in.h:1 +msgid "Seahorse Daemon" +msgstr "" + +#: ../daemon/seahorse-service.c:110 ../daemon/seahorse-service.c:134 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "" + +#: ../daemon/seahorse-service.c:183 ../daemon/seahorse-service-keyset.c:135 +#: ../daemon/seahorse-service-keyset.c:164 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:160 +#, c-format +msgid "Signed by expired on %s." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:161 +msgid "Invalid Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:167 +#, c-format +msgid "Signed by on %s Expired." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:168 +msgid "Expired Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:174 +#, c-format +msgid "Signed by Revoked on %s." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:175 +msgid "Revoked Signature" +msgstr "" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:181 +#, c-format +msgid "Signed by on %s." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:182 +msgid "Good Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:187 +msgid "Signing key not in keyring." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:188 +msgid "Unknown Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:192 +msgid "Bad or forged signature. The signed data was modified." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:193 +msgid "Bad Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:201 +msgid "Couldn't verify signature." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:257 +#: ../daemon/seahorse-service-crypto.c:364 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:264 +#: ../daemon/seahorse-service-crypto.c:371 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:276 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:284 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:293 +#, c-format +msgid "No recipients specified" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:359 +#, c-format +msgid "No signer specified" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:414 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:477 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "" + +#: ../daemon/seahorse-service-keyset.c:200 +#, c-format +msgid "Invalid key id: %s" +msgstr "" + +#: ../daemon/seahorse-sharing.c:72 ../daemon/seahorse-sharing.c:216 +msgid "Couldn't share keys" +msgstr "" + +#: ../daemon/seahorse-sharing.c:73 +msgid "Can't publish discovery information on the network." +msgstr "" + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s". +#: ../daemon/seahorse-sharing.c:93 +#, c-format +msgid "%s's encryption keys" +msgstr "" + +#: ../data/seahorse.schemas.in.h:1 +msgid "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." +msgstr "" + +#: ../data/seahorse.schemas.in.h:2 +msgid "Auto Retrieve Keys" +msgstr "" + +#: ../data/seahorse.schemas.in.h:3 +msgid "Auto Sync Keys" +msgstr "" + +#: ../data/seahorse.schemas.in.h:4 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:5 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the type column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:8 +msgid "Enable DNS-SD sharing" +msgstr "" + +#: ../data/seahorse.schemas.in.h:9 +msgid "" +"Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +"running and must be built with HKP and DNS-SD support." +msgstr "" + +#: ../data/seahorse.schemas.in.h:10 +msgid "ID of the default key" +msgstr "" + +#: ../data/seahorse.schemas.in.h:11 +msgid "" +"If set to true, then files encrypted with seahorse will be ASCII armor " +"encoded." +msgstr "" + +#: ../data/seahorse.schemas.in.h:12 +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "" + +#: ../data/seahorse.schemas.in.h:13 +msgid "Last key server search pattern" +msgstr "" + +#: ../data/seahorse.schemas.in.h:14 +msgid "Last key servers used" +msgstr "" + +#: ../data/seahorse.schemas.in.h:15 +msgid "Last key used to sign a message." +msgstr "" + +#: ../data/seahorse.schemas.in.h:16 +msgid "PGP Key servers" +msgstr "" + +#: ../data/seahorse.schemas.in.h:17 +msgid "Publish keys to this key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:18 +msgid "Show expires column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:19 +msgid "Show trust column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:20 +msgid "Show type column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Show validity column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:22 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name' and " +"'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "" + +#: ../data/seahorse.schemas.in.h:23 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." +msgstr "" + +#: ../data/seahorse.schemas.in.h:24 +msgid "The ID of the last secret key used to sign a message." +msgstr "" + +#: ../data/seahorse.schemas.in.h:25 +msgid "The column to sort the recipients by" +msgstr "" + +#: ../data/seahorse.schemas.in.h:26 +msgid "The column to sort the seahorse keys by" +msgstr "" + +#: ../data/seahorse.schemas.in.h:27 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" + +#: ../data/seahorse.schemas.in.h:28 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" + +#: ../data/seahorse.schemas.in.h:29 +msgid "The last search pattern searched for against a key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:30 +msgid "" +"This specifies the default key to use for certain operations, mainly signing." +msgstr "" + +#: ../data/seahorse.schemas.in.h:31 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" + +#: ../data/seahorse.schemas.in.h:32 +msgid "" +"Whether or not modified keys should be automatically synced with the default " +"key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:33 +msgid "Whether to always encrypt to default key" +msgstr "" + +#: ../data/seahorse.schemas.in.h:34 +msgid "Whether to use ASCII Armor" +msgstr "" + +#: ../gkr/seahorse-add-keyring.glade.h:1 +msgid "Add Password Keyring" +msgstr "" + +#: ../gkr/seahorse-add-keyring.glade.h:2 +msgid "New Keyring Name:" +msgstr "" + +#: ../gkr/seahorse-add-keyring.glade.h:3 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" + +#: ../gkr/seahorse-add-keyring.glade.h:4 +#: ../libseahorse/seahorse-add-keyserver.glade.h:5 +#: ../ssh/seahorse-ssh-upload.glade.h:3 +msgid "The host name or address of the server." +msgstr "" + +#: ../gkr/seahorse-gkr-add-keyring.c:133 +msgid "Couldn't add keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:470 +msgid "Web Password" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:472 +msgid "Network Password" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:474 ../gkr/seahorse-gkr-item-properties.c:106 +msgid "Password" +msgstr "Şîfre" + +#: ../gkr/seahorse-gkr-item-commands.c:78 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "" + +#: ../gkr/seahorse-gkr-item-commands.c:81 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "" +msgstr[1] "" + +#: ../gkr/seahorse-gkr-item-properties.c:65 +msgid "Access a network share or resource" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:68 +msgid "Access a website" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:71 +msgid "Unlocks a PGP key" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:74 +msgid "Unlocks a Secure Shell key" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:77 +msgid "Saved password or login" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:101 +msgid "Network Credentials" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:244 +msgid "Couldn't change password." +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:346 +msgid "Couldn't set description." +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:652 +msgid "Couldn't set application access." +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.glade.h:1 +msgid "Password:" +msgstr "Şîfre:" + +#: ../gkr/seahorse-gkr-item-properties.glade.h:2 +msgid "Path:" +msgstr "Reç:" + +#: ../gkr/seahorse-gkr-item-properties.glade.h:3 +msgid "Permissions:" +msgstr "Destûr:" + +#: ../gkr/seahorse-gkr-item-properties.glade.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:9 +#: ../ssh/seahorse-ssh-key-properties.glade.h:9 +msgid "Technical Details:" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.glade.h:5 +msgid "Applications" +msgstr "Sepan" + +#: ../gkr/seahorse-gkr-item-properties.glade.h:6 +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:20 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:72 +#: ../ssh/seahorse-ssh-key-properties.glade.h:17 +msgid "Details" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.glade.h:7 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.glade.h:19 +msgid "Key" +msgstr "Mifte" + +#: ../gkr/seahorse-gkr-item-properties.glade.h:8 +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:30 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:30 +#: ../ssh/seahorse-ssh-key-properties.glade.h:20 +msgid "Key Properties" +msgstr "Taybetmendiyên Mifteyê" + +#: ../gkr/seahorse-gkr-item-properties.glade.h:9 +msgid "Login:" +msgstr "Têketin:" + +#: ../gkr/seahorse-gkr-item-properties.glade.h:10 +msgid "Server:" +msgstr "Pêşkêşker:" + +#: ../gkr/seahorse-gkr-item-properties.glade.h:11 +msgid "Show pass_word" +msgstr "Şî_freyê nîşan bide" + +#: ../gkr/seahorse-gkr-item-properties.glade.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:36 +msgid "Type:" +msgstr "Cure:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.glade.h:14 +msgid "Use:" +msgstr "Bikaranîn:" + +#. To translators: This is the infinitive not the imperative. This string refers to the ability of an application to delete this secret from its key ring. +#: ../gkr/seahorse-gkr-item-properties.glade.h:16 +msgid "_Delete" +msgstr "_Jêbirin" + +#: ../gkr/seahorse-gkr-item-properties.glade.h:17 +#: ../pgp/seahorse-revoke.glade.h:5 +msgid "_Description:" +msgstr "_Rave:" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.glade.h:19 +msgid "_Read" +msgstr "_Xwendin" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.glade.h:21 +msgid "_Write" +msgstr "_Nivîsîn" + +#: ../gkr/seahorse-gkr-keyring.c:193 +msgid "Listing passwords" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.c:354 +#, c-format +msgid "Passwords: %s" +msgstr "Şîfre: %s" + +#: ../gkr/seahorse-gkr-keyring.c:355 +#, c-format +msgid "Passwords: %s" +msgstr "Şîfre: %s" + +#: ../gkr/seahorse-gkr-keyring-commands.c:87 +msgid "Password Keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:88 +msgid "Used to store application and network passwords" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:101 +msgid "Couldn't unlock keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:141 +msgid "Couldn't lock keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:181 +msgid "Couldn't set default keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:219 +msgid "Couldn't change keyring password" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:250 +msgid "_Lock" +msgstr "_Qufilandin" + +#: ../gkr/seahorse-gkr-keyring-commands.c:251 +msgid "" +"Lock the password storage keyring so a master password is required to unlock " +"it." +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:252 +msgid "_Unlock" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:253 +msgid "" +"Unlock the password storage keyring with a master password so it is " +"available for use." +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:254 +msgid "_Set as default" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:255 +msgid "Applications usually store new passwords in the default keyring." +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:256 +msgid "Change _Password" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:257 +msgid "Change the unlock password of the password storage keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:321 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "" + +#. ----------------------------------------------------------------------------- +#. * PUBLIC +#. +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.glade.h:2 +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:19 +msgid "Created:" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.glade.h:3 +msgid "Keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.glade.h:4 +msgid "Keyring Properties" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.glade.h:5 +msgid "_Name:" +msgstr "_Nav:" + +#: ../gkr/seahorse-gkr-operation.c:168 +msgid "Access to the key ring was denied" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:171 +msgid "The gnome-keyring daemon is not running" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:174 +msgid "The key ring has already been unlocked" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:177 +msgid "No such key ring exists" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:180 +msgid "Couldn't communicate with key ring daemon" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:183 +msgid "The item already exists" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:189 +msgid "Internal error accessing gnome-keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:238 ../gkr/seahorse-gkr-operation.c:264 +msgid "Saving item..." +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:300 +msgid "Deleting item..." +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:325 +msgid "Deleting keyring..." +msgstr "" + +#: ../gkr/seahorse-gkr-source.c:234 +msgid "Listing password keyrings" +msgstr "" + +#: ../libcryptui/cryptui.c:270 +msgid "" +"No encryption keys were found with which to perform the operation you " +"requested. The program Passwords and Encryption Keys will now be " +"started so that you may either create a key or import one." +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:173 +msgid "All Keys" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:174 +msgid "Selected Recipients" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:175 +msgid "Search Results" +msgstr "" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:185 +msgid "Search _for:" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:243 +msgid "None (Don't Sign)" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:256 +#, c-format +msgid "Sign this message as %s" +msgstr "" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:278 +msgid "_Sign message as:" +msgstr "" + +#. TODO: Icons +#. The name column +#: ../libcryptui/cryptui-key-list.c:121 +#: ../pgp/seahorse-pgp-key-properties.c:890 +#: ../src/seahorse-key-manager-store.c:828 +msgid "Name" +msgstr "" + +#. The keyid column +#: ../libcryptui/cryptui-key-list.c:126 +#: ../pgp/seahorse-pgp-key-properties.c:1823 +#: ../src/seahorse-key-manager-store.c:840 +msgid "Key ID" +msgstr "" + +#: ../libegg/egg-datetime.c:313 +msgid "Display flags" +msgstr "" + +#: ../libegg/egg-datetime.c:314 +msgid "Displayed date and/or time properties" +msgstr "" + +#: ../libegg/egg-datetime.c:319 +msgid "Lazy mode" +msgstr "" + +#: ../libegg/egg-datetime.c:320 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "" + +#: ../libegg/egg-datetime.c:325 +msgid "Year" +msgstr "" + +#: ../libegg/egg-datetime.c:326 +msgid "Displayed year" +msgstr "" + +#: ../libegg/egg-datetime.c:331 +msgid "Month" +msgstr "" + +#: ../libegg/egg-datetime.c:332 +msgid "Displayed month" +msgstr "" + +#: ../libegg/egg-datetime.c:337 +msgid "Day" +msgstr "" + +#: ../libegg/egg-datetime.c:338 +msgid "Displayed day of month" +msgstr "" + +#: ../libegg/egg-datetime.c:343 +msgid "Hour" +msgstr "" + +#: ../libegg/egg-datetime.c:344 +msgid "Displayed hour" +msgstr "" + +#: ../libegg/egg-datetime.c:349 +msgid "Minute" +msgstr "" + +#: ../libegg/egg-datetime.c:350 +msgid "Displayed minute" +msgstr "" + +#: ../libegg/egg-datetime.c:355 +msgid "Second" +msgstr "" + +#: ../libegg/egg-datetime.c:356 +msgid "Displayed second" +msgstr "" + +#: ../libegg/egg-datetime.c:361 +msgid "Lower limit year" +msgstr "" + +#: ../libegg/egg-datetime.c:362 +msgid "Year part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:367 +msgid "Upper limit year" +msgstr "" + +#: ../libegg/egg-datetime.c:368 +msgid "Year part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:373 +msgid "Lower limit month" +msgstr "" + +#: ../libegg/egg-datetime.c:374 +msgid "Month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:379 +msgid "Upper limit month" +msgstr "" + +#: ../libegg/egg-datetime.c:380 +msgid "Month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:385 +msgid "Lower limit day" +msgstr "" + +#: ../libegg/egg-datetime.c:386 +msgid "Day of month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:391 +msgid "Upper limit day" +msgstr "" + +#: ../libegg/egg-datetime.c:392 +msgid "Day of month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:397 +msgid "Lower limit hour" +msgstr "" + +#: ../libegg/egg-datetime.c:398 +msgid "Hour part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:403 +msgid "Upper limit hour" +msgstr "" + +#: ../libegg/egg-datetime.c:404 +msgid "Hour part of the upper time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:409 +msgid "Lower limit minute" +msgstr "" + +#: ../libegg/egg-datetime.c:410 +msgid "Minute part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:415 +msgid "Upper limit minute" +msgstr "" + +#: ../libegg/egg-datetime.c:416 +msgid "Minute part of the upper time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:421 +msgid "Lower limit second" +msgstr "" + +#: ../libegg/egg-datetime.c:422 +msgid "Second part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:427 +msgid "Upper limit second" +msgstr "" + +#: ../libegg/egg-datetime.c:428 +msgid "Second part of the upper time limit" +msgstr "" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:470 +msgid "calendar:week_start:0" +msgstr "" + +#: ../libegg/egg-datetime.c:492 +msgid "Date" +msgstr "" + +#: ../libegg/egg-datetime.c:492 +msgid "Enter the date directly" +msgstr "" + +#: ../libegg/egg-datetime.c:499 +msgid "Select Date" +msgstr "" + +#: ../libegg/egg-datetime.c:499 +msgid "Select the date from a calendar" +msgstr "" + +#: ../libegg/egg-datetime.c:517 ../libegg/egg-datetime.c:2192 +msgid "Time" +msgstr "" + +#: ../libegg/egg-datetime.c:517 +msgid "Enter the time directly" +msgstr "" + +#: ../libegg/egg-datetime.c:524 +msgid "Select Time" +msgstr "" + +#: ../libegg/egg-datetime.c:524 +msgid "Select the time from a list" +msgstr "" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:791 +msgid "24hr: no" +msgstr "" + +#: ../libegg/egg-datetime.c:795 ../libegg/egg-datetime.c:1253 +#: ../libegg/egg-datetime.c:1257 +msgid "AM" +msgstr "" + +#: ../libegg/egg-datetime.c:797 ../libegg/egg-datetime.c:1254 +#: ../libegg/egg-datetime.c:1261 +msgid "PM" +msgstr "" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:805 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:808 +#, c-format +msgid "%02d:%02d %s" +msgstr "" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:812 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:815 +#, c-format +msgid "%02d:%02d" +msgstr "" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1169 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1234 +#, c-format +msgid "%u:%u:%u" +msgstr "" + +#: ../libegg/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../libegg/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../libegg/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "" + +#: ../libegg/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../libegg/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../libegg/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../libegg/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "" + +#: ../libegg/eggsmclient.c:224 +msgid "Disable connection to session manager" +msgstr "" + +#: ../libegg/eggsmclient.c:227 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../libegg/eggsmclient.c:227 +msgid "FILE" +msgstr "" + +#: ../libegg/eggsmclient.c:230 +msgid "Specify session management ID" +msgstr "" + +#: ../libegg/eggsmclient.c:230 ../pgp/seahorse-pgp-key-properties.c:1378 +msgid "ID" +msgstr "" + +#: ../libegg/eggsmclient.c:244 +msgid "Session management options:" +msgstr "" + +#: ../libegg/eggsmclient.c:245 +msgid "Show session management options" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:1 +msgid ":" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:2 +msgid "Add Key Server" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:3 +msgid "Host:" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:4 +msgid "Key Server Type:" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:6 +msgid "The port to access the server on." +msgstr "" + +#: ../libseahorse/seahorse-notification.c:566 +#: ../libseahorse/seahorse-notification.c:594 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "" +msgstr[1] "" + +#: ../libseahorse/seahorse-notification.c:570 +#: ../libseahorse/seahorse-notification.c:593 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "" +msgstr[1] "" + +#: ../libseahorse/seahorse-notification.c:572 +#, c-format +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "" +msgstr[1] "" + +#: ../libseahorse/seahorse-notify.glade.h:1 +msgid "Notification Messages" +msgstr "" + +#: ../libseahorse/seahorse-object.c:216 +msgid "Symmetric Key" +msgstr "" + +#: ../libseahorse/seahorse-object.c:219 +msgid "Public Key" +msgstr "" + +#: ../libseahorse/seahorse-object.c:222 +msgid "Private Key" +msgstr "" + +#: ../libseahorse/seahorse-object.c:225 +msgid "Credentials" +msgstr "" + +#. +#. * Translators: "This object is a means of storing items such as +#. * name, email address, etc. that make up one's digital identity. +#. +#: ../libseahorse/seahorse-object.c:232 +msgid "Identity" +msgstr "" + +#: ../libseahorse/seahorse-passphrase.c:196 +msgid "Passphrase" +msgstr "" + +#: ../libseahorse/seahorse-passphrase.c:199 +#: ../ssh/seahorse-ssh-operation.c:480 +msgid "Password:" +msgstr "" + +#: ../libseahorse/seahorse-passphrase.c:262 +msgid "Confirm:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:62 +msgid "Not a valid Key Server address." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:63 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:174 +msgid "URL" +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:356 +msgid "Custom" +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:430 +msgid "None: Don't publish keys" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:1 +msgid "Automatically retrieve keys from _key servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:2 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:3 +msgid "Key Servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:4 +msgid "Key Sharing" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:5 +msgid "Preferences" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:6 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've " +"collected. This means they can automatically encrypt things for you or those " +"you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:9 +msgid "_Find keys via:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:10 +msgid "_Publish keys to:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:11 +msgid "_Share my keys with others on my network" +msgstr "" + +#: ../libseahorse/seahorse-progress.glade.h:1 +msgid "Progress Title" +msgstr "" + +#: ../libseahorse/seahorse-unknown.c:67 +msgid "Unavailable" +msgstr "" + +#: ../libseahorse/seahorse-util.c:206 +msgid "%Y-%m-%d" +msgstr "" + +#: ../libseahorse/seahorse-util.c:439 +msgid "Key Data" +msgstr "" + +#: ../libseahorse/seahorse-util.c:441 +msgid "Multiple Keys" +msgstr "" + +#: ../libseahorse/seahorse-util.c:696 +msgid "Couldn't run file-roller" +msgstr "" + +#: ../libseahorse/seahorse-util.c:702 +msgid "Couldn't package files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:703 +msgid "The file-roller process did not complete successfully" +msgstr "" + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:812 +msgid "All key files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:823 ../libseahorse/seahorse-util.c:863 +#: ../pgp/seahorse-gpgme-photos.c:242 +msgid "All files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:856 +msgid "Archive files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:905 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" + +#: ../libseahorse/seahorse-util.c:908 +msgid "_Replace" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:34 ../pgp/seahorse-gpgme-subkey.c:197 +#: ../pgp/seahorse-pgp-key-properties.c:1182 +msgid "Unknown" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:36 +#: ../pgp/seahorse-pgp-key-properties.c:1188 +msgctxt "Validity" +msgid "Never" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:38 +#: ../pgp/seahorse-pgp-key-properties.c:1195 +msgid "Marginal" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1201 +msgid "Full" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1207 +msgid "Ultimate" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-key-properties.c:1415 +msgid "Disabled" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-key-properties.c:1411 +msgid "Revoked" +msgstr "" + +#: ../libseahorse/seahorse-widget.c:367 +#, c-format +msgid "Could not display help: %s" +msgstr "" + +#: ../pgp/seahorse-add-subkey.glade.h:1 +msgid "Expiration Date:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.glade.h:2 +msgid "Generate a new subkey" +msgstr "" + +#: ../pgp/seahorse-add-subkey.glade.h:3 +msgid "If key never expires" +msgstr "" + +#: ../pgp/seahorse-add-subkey.glade.h:4 +msgid "Key _Length:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.glade.h:5 +msgid "Key _Type:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.glade.h:6 +msgid "Length of Key" +msgstr "" + +#: ../pgp/seahorse-add-subkey.glade.h:7 +msgid "Never E_xpires" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:1 +msgid "Add User ID" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:2 +msgid "Create the new user ID" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:3 ../pgp/seahorse-pgp-generate.glade.h:8 +msgid "Full _Name:" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:4 +msgid "Key Co_mment:" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:5 +msgid "Must be at least 5 characters long" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:6 +msgid "Optional comment describing key" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:7 +msgid "Optional email address" +msgstr "" + +#: ../pgp/seahorse-add-uid.glade.h:8 ../pgp/seahorse-pgp-generate.glade.h:14 +msgid "_Email Address:" +msgstr "" + +#: ../pgp/seahorse-expires.glade.h:1 +msgid "C_hange" +msgstr "" + +#: ../pgp/seahorse-expires.glade.h:2 ../pgp/seahorse-revoke.glade.h:4 +msgid "Revoke key" +msgstr "" + +#: ../pgp/seahorse-expires.glade.h:3 +msgid "_Never expires" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:144 +msgid "Couldn't add subkey" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:163 +#, c-format +msgid "Add subkey to %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:179 ../pgp/seahorse-gpgme-generate.c:96 +msgid "DSA (sign only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:187 +msgid "ElGamal (encrypt only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:193 ../pgp/seahorse-gpgme-generate.c:97 +msgid "RSA (sign only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:199 +msgid "RSA (encrypt only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-uid.c:85 +msgid "Couldn't add user id" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-uid.c:107 +#, c-format +msgid "Add user ID to %s" +msgstr "" + +#: ../pgp/seahorse-gpgme.c:51 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:58 +msgid "Invalid expiry date" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:59 +msgid "The expiry date must be in the future" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:72 +msgid "Couldn't change expiry date" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:137 +#, c-format +msgid "Expiry: %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:65 +msgid "PGP Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:66 +msgid "Used to encrypt email and files" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:95 +msgid "DSA Elgamal" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:106 +msgid "Couldn't generate PGP key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:223 +msgid "Couldn't generate key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:225 +msgid "Generating key" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:261 +msgid "Choose Photo to Add to Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:290 ../pgp/seahorse-gpgme-photos.c:294 +msgid "Couldn't add photo" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:291 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:320 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:333 +msgid "Couldn't delete photo" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:70 +msgid "Couldn't revoke subkey" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn't add revoker" +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:96 +msgid "Couldn't sign key" +msgstr "" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:149 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:150 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:99 +#, c-format +msgid "Wrong passphrase." +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:103 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:105 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:108 +#: ../src/seahorse-change-passphrase.glade.h:4 +msgid "Enter new passphrase" +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:110 +msgid "Enter passphrase" +msgstr "" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../pgp/seahorse-gpgme-source.c:722 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "" +msgstr[1] "" + +#: ../pgp/seahorse-gpgme-source.c:777 +msgid "Loading Keys..." +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:820 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:910 ../src/seahorse-key-manager.c:564 +msgid "Importing Keys" +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:946 +msgid "Exporting Keys" +msgstr "" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:330 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:332 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:573 +msgid "Searching for keys..." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:644 +msgid "Uploading keys..." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:722 +msgid "Retrieving keys..." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:828 +#, c-format +msgid "Searching for keys on: %s" +msgstr "" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../pgp/seahorse-hkp-source.c:905 ../pgp/seahorse-hkp-source.c:978 +#: ../pgp/seahorse-ldap-source.c:668 +#, c-format +msgid "Connecting to: %s" +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:1002 +msgid "HTTP Key Server" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:459 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:641 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:719 +#, c-format +msgid "Resolving server address: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:955 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:982 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:1087 +msgid "Retrieving remote keys..." +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:1219 +msgid "Sending keys to key server..." +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:1421 +msgid "LDAP Key Server" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "_Sign Key..." +msgstr "" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "Sign public key" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.c:171 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.c:176 +#, c-format +msgid "Are you sure you want to permanently delete %d keys and identities?" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.c:178 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.c:180 +#, c-format +msgid "Are you sure you want to permanently delete %d identities?" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:1 +#: ../ssh/seahorse-ssh-generate.glade.h:1 +msgid "_Advanced key options" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:3 +msgid "Algorithms here" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:4 +msgid "C_reate" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:5 +msgid "Create a PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:6 +msgid "E_xpiration Date:" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:7 +#: ../ssh/seahorse-ssh-generate.glade.h:4 +msgid "Encryption _Type:" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:9 +msgid "Generate a new key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:10 +#: ../ssh/seahorse-ssh-generate.glade.h:6 +msgid "Key _Strength (bits):" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:11 +msgid "Ne_ver Expires" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:12 +msgid "New PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.glade.h:13 +msgid "_Comment:" +msgstr "" + +#: ../pgp/seahorse-pgp-key.c:201 +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:36 +msgid "Private PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-key.c:204 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:32 +msgid "Public PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-key.c:583 ../pgp/seahorse-pgp-key-properties.c:1413 +msgid "Expired" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:224 +msgid "Couldn't change primary user ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:241 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:251 +msgid "Couldn't delete user ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:333 +#: ../pgp/seahorse-pgp-key-properties.c:1526 +msgid "[Unknown]" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:426 +#: ../pgp/seahorse-pgp-key-properties.c:1820 +msgid "Name/Email" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:431 +msgid "Signature ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:566 +msgid "Couldn't change primary photo" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:826 +msgid "(unknown)" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:829 +#, c-format +msgid "This key expired on: %s" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:997 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1006 +msgid "Couldn't delete subkey" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1042 +#: ../pgp/seahorse-pgp-key-properties.c:1489 +msgid "Unable to change trust" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1056 ../src/seahorse-viewer.c:312 +#: ../ssh/seahorse-ssh-key-properties.c:167 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1084 +#: ../ssh/seahorse-ssh-key-properties.c:191 +msgid "Export Complete Key" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1109 +#: ../ssh/seahorse-ssh-key-properties.c:213 +msgid "Couldn't export key." +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1331 +#: ../pgp/seahorse-pgp-key-properties.c:1420 +msgctxt "Expires" +msgid "Never" +msgstr "" + +#. The key type column +#: ../pgp/seahorse-pgp-key-properties.c:1381 +#: ../src/seahorse-key-manager-store.c:859 +msgid "Type" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1384 +msgid "Created" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1387 +msgid "Expires" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1390 +msgid "Status" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1393 +msgid "Strength" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1417 +msgid "Good" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:1 +msgid "Actions" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:1 +msgid "Comment:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:3 +msgid "Dates" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:3 +msgid "Email:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:5 +msgid "Fingerprint" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:6 +msgid "Key ID:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:7 +msgid "Key Names and Signatures" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:7 +#: ../ssh/seahorse-ssh-key-properties.glade.h:7 +msgid "Name:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:8 +msgid "Photo " +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:10 +msgid "Technical Details" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:10 +msgid "This key has been revoked" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:12 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:11 +msgid "This key has expired" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:13 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:12 +#: ../ssh/seahorse-ssh-key-properties.glade.h:11 +msgid "Type:" +msgstr "" + +#. To translators: This is the noun not the verb. +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:15 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:14 +#: ../ssh/seahorse-ssh-key-properties.glade.h:13 +msgid "Use:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:18 +msgid "_Subkeys" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:17 +msgid "Add" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:18 +msgid "Add a photo to this key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:19 +#: ../ssh/seahorse-ssh-key-properties.glade.h:16 +msgid "Change _Passphrase" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:21 +msgid "Decrypt files and email sent to you." +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:22 +msgid "Delete" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:24 +msgid "Expire" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:25 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:22 +msgid "Expires:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:26 +msgid "Export" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:27 +msgid "Go to next photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:28 +msgid "Go to previous photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:29 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:29 +msgid "Key ID:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:31 +msgid "Make this photo the primary photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:32 +msgid "Names and Signatures" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:33 +msgid "Override Owner _Trust:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:34 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:31 +msgid "Owner" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:35 +msgid "Primary" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:37 +msgid "Remove this photo from this key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:38 +msgid "Revoke" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:39 +msgid "Sign" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:40 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:33 +msgid "Strength:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:34 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:43 +msgid "" +"Unknown\n" +"Never\n" +"Marginal\n" +"Full\n" +"Ultimate" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:48 +msgid "_Add Name" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.glade.h:49 +msgid "_Export Complete Key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:2 +msgid "Dates:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:4 +#: ../ssh/seahorse-ssh-key-properties.glade.h:4 +msgid "Fingerprint:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:5 +msgid "Indicate Trust:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:15 +msgid "Your trust of this key" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:16 +msgid "_Other Names:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:17 +msgid "_People who have signed this key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:21 +msgid "Encrypt files and email to the key's owner " +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:24 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:26 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:28 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" + +#. Trust column +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:35 +#: ../src/seahorse-key-manager-store.c:853 +msgid "Trust" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:37 +msgid "" +"Unknown\n" +"Never\n" +"Marginally\n" +"Fully\n" +"Ultimately" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:42 +msgid "You _Trust the Owner:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:43 +msgid "Your trust is manually specified on the Details tab." +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:44 +msgid "_Only display the signatures of people I trust" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:45 +msgid "_Revoke Signature" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.glade.h:46 +msgid "_Sign this Key" +msgstr "" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "" + +#: ../pgp/seahorse-revoke.glade.h:1 +msgid "Optional description of revocation" +msgstr "" + +#: ../pgp/seahorse-revoke.glade.h:2 +msgid "Re_voke" +msgstr "" + +#: ../pgp/seahorse-revoke.glade.h:3 +msgid "Reason for revoking the key" +msgstr "" + +#: ../pgp/seahorse-revoke.glade.h:6 +msgid "_Reason:" +msgstr "" + +#: ../pgp/seahorse-signer.c:62 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" + +#: ../pgp/seahorse-signer.glade.h:1 +msgid "_Sign message with key:" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:1 +msgid "How carefully have you checked this key?" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:2 +msgid "How others will see this signature:" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:3 +msgid "Sign key as:" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:4 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone. " +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:5 +msgid "Key Name" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:6 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:7 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:8 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:9 +msgid "I can _revoke this signature at a later date." +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:10 +msgid "Sign Key" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:12 +msgid "_Casually" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:13 +msgid "_Not at all" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:14 +msgid "_Others may not see this signature" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:15 +msgid "_Sign" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:16 +msgid "_Signer:" +msgstr "" + +#: ../pgp/seahorse-sign.glade.h:17 +msgid "_Very Carefully" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-certificate.c:107 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:68 +msgid "Certificate" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-commands.c:108 +#, c-format +msgid "Are you sure you want to delete the certificate '%s'?" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-commands.c:111 +#, c-format +msgid "Are you sure you want to delete %d certificate?" +msgid_plural "Are you sure you want to delete %d certificates?" +msgstr[0] "" +msgstr[1] "" + +#: ../src/seahorse-change-passphrase.glade.h:1 +msgid "Change Passphrase" +msgstr "" + +#: ../src/seahorse-change-passphrase.glade.h:2 +msgid "Con_firm Passphrase:" +msgstr "" + +#: ../src/seahorse-change-passphrase.glade.h:3 +msgid "Confirm new passphrase" +msgstr "" + +#: ../src/seahorse-change-passphrase.glade.h:5 +msgid "New _Passphrase:" +msgstr "" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "" + +#: ../src/seahorse.desktop.in.in.h:2 ../src/seahorse-key-manager.c:879 +msgid "Passwords and Encryption Keys" +msgstr "" + +#: ../src/seahorse-generate-select.glade.h:1 +msgid "_Select the type of item to create:" +msgstr "" + +#: ../src/seahorse-generate-select.glade.h:2 +msgid "C_ontinue" +msgstr "" + +#: ../src/seahorse-generate-select.glade.h:3 +msgid "Create New ..." +msgstr "" + +#: ../src/seahorse-key-manager.c:245 ../src/seahorse-keyserver-results.c:108 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "" +msgstr[1] "" + +#: ../src/seahorse-key-manager.c:430 ../src/seahorse-key-manager.c:490 +#: ../src/seahorse-key-manager.c:553 ../src/seahorse-keyserver-results.c:194 +msgid "Couldn't import keys" +msgstr "" + +#: ../src/seahorse-key-manager.c:435 ../src/seahorse-keyserver-results.c:199 +msgid "Imported keys" +msgstr "" + +#: ../src/seahorse-key-manager.c:484 +msgid "Importing keys" +msgstr "" + +#: ../src/seahorse-key-manager.c:507 ../ssh/seahorse-ssh-operation.c:1017 +msgid "Import Key" +msgstr "" + +#: ../src/seahorse-key-manager.c:553 +msgid "Unrecognized key type, or invalid data format" +msgstr "" + +#: ../src/seahorse-key-manager.c:747 ../src/seahorse-keyserver-results.c:245 +msgid "_Remote" +msgstr "" + +#: ../src/seahorse-key-manager.c:749 +msgid "Close this program" +msgstr "" + +#: ../src/seahorse-key-manager.c:750 +msgid "_New..." +msgstr "" + +#: ../src/seahorse-key-manager.c:751 +msgid "Create a new key or item" +msgstr "" + +#: ../src/seahorse-key-manager.c:752 +msgid "_Import..." +msgstr "" + +#: ../src/seahorse-key-manager.c:753 +msgid "Import from a file" +msgstr "" + +#: ../src/seahorse-key-manager.c:755 +msgid "Import from the clipboard" +msgstr "" + +#: ../src/seahorse-key-manager.c:760 ../src/seahorse-keyserver-results.c:255 +msgid "_Find Remote Keys..." +msgstr "" + +#: ../src/seahorse-key-manager.c:761 ../src/seahorse-keyserver-results.c:256 +msgid "Search for keys on a key server" +msgstr "" + +#: ../src/seahorse-key-manager.c:762 +msgid "_Sync and Publish Keys..." +msgstr "" + +#: ../src/seahorse-key-manager.c:763 +msgid "Publish and/or synchronize your keys with those online." +msgstr "" + +#: ../src/seahorse-key-manager.c:768 +msgid "T_ypes" +msgstr "" + +#: ../src/seahorse-key-manager.c:768 +msgid "Show type column" +msgstr "" + +#: ../src/seahorse-key-manager.c:770 +msgid "_Expiry" +msgstr "" + +#: ../src/seahorse-key-manager.c:770 +msgid "Show expiry column" +msgstr "" + +#: ../src/seahorse-key-manager.c:772 +msgid "_Trust" +msgstr "" + +#: ../src/seahorse-key-manager.c:772 +msgid "Show owner trust column" +msgstr "" + +#: ../src/seahorse-key-manager.c:774 +msgid "_Validity" +msgstr "" + +#: ../src/seahorse-key-manager.c:774 +msgid "Show validity column" +msgstr "" + +#: ../src/seahorse-key-manager.c:950 +msgid "Filter:" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:1 +msgid "First time options:" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:2 +msgid "Generate a new key of your own: " +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:3 +msgid "Import existing keys from a file:" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:4 +msgid "My _Personal Keys" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:5 +msgid "Other _Collected Keys" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:6 +msgid "To get started with encryption you will need keys." +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:7 +#: ../src/seahorse-keyserver-results.c:260 +msgid "_Import" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:8 +msgid "_Passwords" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:9 +msgid "_Trusted Keys" +msgstr "" + +#: ../src/seahorse-key-manager-store.c:648 ../src/seahorse-viewer.c:279 +msgid "Couldn't export keys" +msgstr "" + +#: ../src/seahorse-key-manager-store.c:846 +msgid "Validity" +msgstr "" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:865 +msgid "Expiration Date" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:218 +msgid "Importing keys from key servers" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:247 +msgid "Close this window" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:248 +msgid "_Expand All" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:249 +msgid "Expand all listings" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:250 +msgid "_Collapse All" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:251 +msgid "Collapse all listings" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:261 +msgid "Import selected keys to local key ring" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:318 +msgid "Remote Keys" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:320 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:1 +msgid "Key Servers:" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:2 +msgid "Shared Keys Near Me:" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:3 +msgid "Find Remote Keys" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:4 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:5 +msgid "Where to search:" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:6 +msgid "_Search" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:7 +msgid "_Search for keys containing: " +msgstr "" + +#: ../src/seahorse-keyserver-sync.c:45 +msgid "Couldn't publish keys to server" +msgstr "" + +#: ../src/seahorse-keyserver-sync.c:61 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "" + +#: ../src/seahorse-keyserver-sync.c:155 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "" +msgstr[1] "" + +#: ../src/seahorse-keyserver-sync.c:221 +msgid "Synchronizing keys" +msgstr "" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:253 +msgid "Synchronizing keys..." +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:1 +msgid "X keys are selected for synchronizing" +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:2 +msgid "Sync Keys" +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:3 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:4 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:5 +msgid "_Key Servers" +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:6 +msgid "_Sync" +msgstr "" + +#: ../src/seahorse-main.c:72 ../src/seahorse-viewer.c:167 +msgid "Encryption Key Manager" +msgstr "" + +#: ../src/seahorse-viewer.c:138 +msgid "Contributions:" +msgstr "" + +#: ../src/seahorse-viewer.c:169 +msgid "translator-credits" +msgstr "" + +#: ../src/seahorse-viewer.c:172 +msgid "Seahorse Project Homepage" +msgstr "" + +#. Top menu items +#: ../src/seahorse-viewer.c:191 +msgid "_File" +msgstr "" + +#: ../src/seahorse-viewer.c:192 +msgid "_Edit" +msgstr "" + +#: ../src/seahorse-viewer.c:193 +msgid "_View" +msgstr "" + +#: ../src/seahorse-viewer.c:194 +msgid "_Help" +msgstr "" + +#: ../src/seahorse-viewer.c:196 +msgid "Prefere_nces" +msgstr "" + +#: ../src/seahorse-viewer.c:197 +msgid "Change preferences for this program" +msgstr "" + +#: ../src/seahorse-viewer.c:200 +msgid "About this program" +msgstr "" + +#: ../src/seahorse-viewer.c:201 +msgid "_Contents" +msgstr "" + +#: ../src/seahorse-viewer.c:202 +msgid "Show Seahorse help" +msgstr "" + +#: ../src/seahorse-viewer.c:299 +msgid "Export public key" +msgstr "" + +#: ../src/seahorse-viewer.c:317 +msgid "Exporting keys" +msgstr "" + +#: ../src/seahorse-viewer.c:342 +msgid "Couldn't retrieve data from key server" +msgstr "" + +#. Translators: "Copied" is a verb (used as a status indicator), not an adjective for the word "keys" +#: ../src/seahorse-viewer.c:361 +msgid "Copied keys" +msgstr "" + +#: ../src/seahorse-viewer.c:381 +msgid "Retrieving keys" +msgstr "" + +#: ../src/seahorse-viewer.c:396 +msgid "Couldn't delete." +msgstr "" + +#: ../src/seahorse-viewer.c:430 +msgid "Deleting..." +msgstr "" + +#: ../src/seahorse-viewer.c:459 +#, c-format +msgid "%s is a private key. Are you sure you want to proceed?" +msgstr "" + +#: ../src/seahorse-viewer.c:462 +msgid "" +"One or more of the deleted keys are private keys. Are you sure you want to " +"proceed?" +msgstr "" + +#: ../src/seahorse-viewer.c:496 +msgid "Show properties" +msgstr "" + +#: ../src/seahorse-viewer.c:497 +msgctxt "This text refers to deleting an item from its type's backing store." +msgid "_Delete" +msgstr "" + +#: ../src/seahorse-viewer.c:498 +msgid "Delete selected items" +msgstr "" + +#: ../src/seahorse-viewer.c:502 +msgid "E_xport..." +msgstr "" + +#: ../src/seahorse-viewer.c:503 +msgid "Export to a file" +msgstr "" + +#: ../src/seahorse-viewer.c:505 +msgid "Copy to the clipboard" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:99 +msgid "Enter your Secure Shell passphrase:" +msgstr "" + +#: ../ssh/seahorse-ssh-commands.c:85 +msgid "Configure Key for _Secure Shell..." +msgstr "" + +#: ../ssh/seahorse-ssh-commands.c:86 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" + +#: ../ssh/seahorse-ssh-commands.c:115 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "" + +#: ../ssh/seahorse-ssh-commands.c:118 +#, c-format +msgid "Are you sure you want to delete %d secure shell keys?" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:59 ../ssh/seahorse-ssh-key.c:91 +#: ../ssh/seahorse-ssh-key.c:95 ../ssh/seahorse-ssh-key-properties.glade.h:21 +msgid "Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:60 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:90 +msgid "Couldn't generate Secure Shell key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:205 +msgid "Creating Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.glade.h:2 +msgid "" +"Use your email address, and any other reminder you need about what this " +"key is for." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.glade.h:3 +msgid "" +"A Secure Shell (SSH) key lets you connect securely to trusted computers " +"using SSH, without entering a different password for each of them." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.glade.h:5 +msgid "" +"If there is already a computer you want to use this key with, you can set up " +"that computer to recognize your key now. " +msgstr "" + +#: ../ssh/seahorse-ssh-generate.glade.h:7 +msgid "New Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.glade.h:8 +msgid "_Create and Set Up" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.glade.h:9 +msgid "_Just Create Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.glade.h:10 +msgid "_Key Description:" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:87 +msgid "(Unreadable Secure Shell Key)" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "Invalid" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:116 +msgid "Private Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:119 +msgid "Public Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:71 +msgid "Couldn't rename key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:112 +msgid "Couldn't change authorization for key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:127 +msgid "Couldn't change passphrase for key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:1 +msgid "/home/nate/.ssh/blah_rsa" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:2 +msgid "00:00:00:00:00" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:3 +msgid "Algorithm:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:5 +msgid "Identifier:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:6 +msgid "Location:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:8 +msgid "Strength:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:10 +msgid "Trust" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:15 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:18 +msgid "E_xport Complete Key" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:22 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.glade.h:23 +msgid "Used to connect to other computers." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:143 ../ssh/seahorse-ssh-operation.c:732 +#, c-format +msgid "The SSH command was terminated unexpectedly." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:151 ../ssh/seahorse-ssh-operation.c:739 +msgid "The SSH command failed." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:445 ../ssh/seahorse-ssh-operation.c:477 +msgid "Secure Shell key" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:448 +msgid "Passphrase:" +msgstr "" + +#. Just prompt over and over again +#: ../ssh/seahorse-ssh-operation.c:762 +msgid "Remote Host Password" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:850 +msgid "Old Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:851 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:855 +msgid "New Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:856 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Enter Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:931 +msgid "Passphrase for New Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:932 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:1013 +#, c-format +msgid "Importing key: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:1015 +msgid "Importing key. Enter passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-source.c:825 +msgid "No private key file is available for this key." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.c:45 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "" + +#. Show the progress window if necessary +#: ../ssh/seahorse-ssh-upload.c:181 +msgid "Configuring Secure Shell Keys..." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.glade.h:1 +msgid "eg: fileserver.example.com:port" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.glade.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.glade.h:4 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.glade.h:5 +msgid "_Computer Name:" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.glade.h:6 +msgid "_Login Name:" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.glade.h:7 +msgid "_Set Up" +msgstr "" diff --git a/po/lt.po b/po/lt.po new file mode 100644 index 00000000..27f25dc8 --- /dev/null +++ b/po/lt.po @@ -0,0 +1,3068 @@ +# Translation of Seahorse into Lithuanian +# Copyright © 2010 Free Software Foundation, Inc. +# This file is distributed under the same license as the seahorse package. +# Mantas Kriaučiūnas , 2007. +# Eglė Kriaučiūnienė , 2007. +# Gintautas Miliauskas , 2007. +# Vytautas Liuolia , 2008. +# Rimas Kudelis , 2009. +# Žygimantas Beručka , 2010. +# Algimantas Margevičius , 2011. +# Aurimas Černius , 2013-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-18 15:22+0000\n" +"PO-Revision-Date: 2020-08-25 23:12+0300\n" +"Last-Translator: Aurimas Černius \n" +"Language-Team: Lietuvių \n" +"Language: lt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n" +"%100<10 || n%100>=20) ? 1 : 2)\n" +"X-Generator: Gtranslator 3.36.0\n" +"X-Poedit-SourceCharset: utf-8\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Pridėti raktų serverį" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Kitoks" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Atsisakyti" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Įrašyti" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Nepavyko pašalinti" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Nepavyko eksportuoti raktų" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Nepavyko eksportuoti duomenų" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Atsisakyti" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "Pa_šalinti" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Eksportuoti" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Įveskite slaptažodį arba PIN: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Patvirtink:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Gerai" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Slaptažodis:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Slaptažodžiai" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Raktai" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Liudijimai" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Nustatymai" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Nėra: nesiųsti raktų niekur" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Netinkamas raktų serverio adresas. " + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Pagalbos prašykite savo sistemos administratoriaus arba raktų serverio " +"administratoriaus." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "pradinis laikinasis elementas" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Raktų serverio tipas:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Serverio adresas:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Serverio kompiuterio vardas arba adresas." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Prievadas, kuriuo serveris yra pasiekiamas." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Ieškoti raktų serveriuose:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "Nu_siųsti raktus į:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Automatiškai parsiųsti raktus iš _raktų serverių" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Automatiškai sinchronizuoti pa_keistus raktus su raktų serveriais" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Raktų serveriai" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Nežinoma" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Niekada" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Dalinis" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Pilnas" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Visiškas" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Išjungtas" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Paskelbtas negaliojančiu" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Apžvalga" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Žinynas" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Atverti meniu" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Sukurti naują elementą" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Importuoti elementą iš failo…" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Ieškoti" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Trumpinių sąrašas" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Išeiti" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Judėjimas" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Pažymėti ankstesnę raktinę" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Pažymėti kitą raktinę" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Rodyti šoninę juostą (mažuose ekranuose)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Rodyti raktinės turinį (mažuose ekranuose)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Automatiškai gauti raktus" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Ar automatiškai parsiųsti raktus iš raktų serverių." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Automatiškai paskelbti raktus" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Ar pakeisti raktai turi būti automatiškai paskelbti." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Nusiųsti raktus į raktų serverį" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Raktų serveris, kuriame paskelbti PGP raktus. Palikti tuščia, jei nenorima " +"skelbti PGP raktų." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Paskutinės rakto paieškos šablonas" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Paskutinės rakto paieškos šablonas raktų serveriui." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Paskutiniai naudoti raktų serveriai" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Paskutinis raktų serveris, kuriame vykdyta paieška, arba tuščia visiems " +"raktų serveriams." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Rodyti raktinių šoninę juostą" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Rodyti šoninį polangį su raktinėmis." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Kuriuos elementus rodyti" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtruoti, kurie elementai rodomi. Jei tuščia, rodomi visi elementai, jei " +"„personal“, rodomi asmeniniai raktai, jei „trusted“, rodomi elementai, " +"kuriais pasitikima." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Šoninio polangio plotis" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Numatytasis šoninio polangio plotis." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Pasirinktos raktinės" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Šoninėje juostoje pasirinktų raktinių URI." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Stulpelis, pagal kurį rikiuoti raktus" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Nurodo, pagal kurį stulpelį rikiuoti raktų tvarkyklėje. Stulpeliai yra " +"„name“, „id“, „validity“, „expires“, „trust“ ir „type“. Prieš stulpelio " +"pavadinimą padėkite „-“, jei norite rikiuoti mažėjimo tvarka." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Rodyti galiojimo stulpelį." + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Nebenaudojamas" + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Rodyti galiojimo pabaigos stulpelį" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Rodyti pasitikėjimo stulpelį" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Rodyti tipo stulpelį" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Lango plotis" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Lango plotis pikseliais." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Lango aukštis" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Lango aukštis pikseliais" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Tvarkyti Jūsų slaptažodžius ir šifravimo raktus" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse yra GNOME programa šifravimo raktų tvarkymui." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Su seahorse galite sukurti bei tvarkyti PGP ir SSH raktus, paskelbti ir " +"gauti raktus iš raktų serverių, įrašyti savo slaptažodį, kad nebereikėtų jo " +"rašyti, bei padaryti atsargines savo raktų bei raktinių kopijas." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "GNOME projektas" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Slaptažodžiai ir raktai" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "raktinė;šifravimas;saugumas;pasirašyti;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Saugomi asmeniniai slaptažodžiai, įgaliojimai ir paslaptys" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Nepavyko atrakinti" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Nepavyko pridėti elemento" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Slaptažodis ar paslaptis" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Tinklo ryšio paslaptis" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Wi-Fi slaptažodis" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Tinklo slaptažodis" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Gnome Žiniatinklio slaptažodis" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Google Chrome slaptažodis" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Momentinių pranešimų slaptažodis" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "IM paskyros slaptažodis skirtas " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Telepathy slaptažodis" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Gnome Online Accounts slaptažodis" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Įrašyti šio elemento pakeitimus?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Pasiekti tinkle paviešintą aplanką ar resursą" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Pasiekti interneto svetainę" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Atrakina PGP raktą" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Atrakina saugaus prisijungimo (SSH) raktą" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Išsaugotas slaptažodis ar prisijungimo vardas" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Tinklo prisijungimo duomenys" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Slaptažodis" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Nepavyko pakeisti slaptažodžio." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Nepavyko pakeisti aprašymo." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Klaida trinant slaptažodį." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Saugojama pastaba" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Raktinės slaptažodis" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Šifravimo rakto slaptažodis" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Raktų saugyklos slaptažodis" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Tinklo tvarkytuvės paslaptis" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Ar tikrai norite pašalinti slaptažodį „%s“?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Ar tikrai norite negrįžtamai ištrinti %d slaptažodį?" +msgstr[1] "Ar tikrai norite pašalinti %d slaptažodžius?" +msgstr[2] "Ar tikrai norite pašalinti %d slaptažodžių?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Nepavyko pridėti raktinės" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Nežinoma data" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Raktinė, kuri yra automatiškai atrakinama prisijungiant" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Raktinė slaptažodžiams saugoti" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Nepavyko nustatyti numatytosios raktinės" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Nepavyko pakeisti raktinės slaptažodžio" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "Padaryti _numatytuoju" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Pakeisti sla_ptažodį" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Ar tikrai norite pašalinti slaptažodžių raktinę „%s“?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Aš suprantu, kad visi elementai bus negrįžtamai ištrinti." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Rodyti/slėpti slaptažodį" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Pridėti slaptažodį" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Raktinė:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "Pa_aiškinimas:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Slaptažodis:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Pridėti" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Pridėti slaptažodžių raktinę" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Prašome pasirinkti naujosios raktinės vardą. Jūsų bus paprašyta įvesti " +"atrakinimo slaptažodį." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Naujos raktinės vardas:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Elemento savybės" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Aprašymas" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Kopijuoti" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Naudoti" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Tipas" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Serveris" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Prisijungimo vardas" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Detalės" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Ištrinti slaptažodį" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Raktinės savybės" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Vardas" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Sukurta" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Pakeisti slaptažodį" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Padaryti numatytąja" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Rodyti požymius" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Rodomas datos ir/arba laiko savybės" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Supaprastinta veiksena" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "" +"Supaprastintoje veiksenoje įvestos datos ir laiko reikšmės nėra " +"normalizuojamos" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Metai" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Rodomi metai" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mėnuo" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Rodomas mėnuo" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Diena" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Rodoma mėnesio diena" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Valanda" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Rodoma valanda" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minutė" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Rodoma minutė" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekundė" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Rodoma sekundė" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Apatinės ribos metai" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Apatinės datos ribos metų dalis" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Viršutinės ribos metai" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Viršutinės datos ribos metų dalis" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Apatinės ribos mėnuo" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Apatinės datos ribos mėnesių dalis" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Viršutinės ribos mėnuo" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Viršutinės datos ribos mėnesių dalis" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Apatinės ribos diena" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Apatinės datos ribos mėnesio dienos dalis" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Viršutinės ribos diena" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Viršutinės datos ribos mėnesio dienos dalis" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Apatinės ribos valanda" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Apatinės laiko ribos valandų dalis" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Viršutinės ribos valanda" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Viršutinės laiko ribos valandų dalis" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Apatinės ribos minutė" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Apatinės laiko ribos minučių dalis" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Viršutinės ribos minutė" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Viršutinės laiko ribos minučių dalis" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Apatinės ribos sekundė" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Apatinės laiko ribos sekundžių dalis" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Viršutinės ribos metai" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Viršutinės laiko ribos sekundžių dalis" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Data" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Įveskite datą tiesiogiai" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Pasirinkite datą" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Pasirinkite iš kalendoriaus datą" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Laikas" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Įveskite laiką tiesiogiai" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Pasirinkite laiką" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Pasirinkite iš sąrašo laiką" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Nepavyko įkelti žinyno: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Pridėti antrinį raktą prie „%s“" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (tik pasirašymui)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (tik šifravimui)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (tik pasirašymui)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (tik šifravimui)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Rakto _tipas" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Rakto _ilgis" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Rakto ilgis" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Galioja iki" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Niekada _nesibaigia" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Jei rakto galiojimas niekada nesibaigia" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Sukurti naują antrinį raktą" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Įdėti naudotojo ID į %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Nepavyko pridėti naudotojo ID" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Įdėti naudotojo ID" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_Vardas ir pavardė" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Turi būti bent 5 simbolių ilgio" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_El. pašto adresas" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "El. pašto adresas (neprivalomas)" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Rakto ko_mentaras" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Komentaras, aprašantis raktą (neprivalomas)" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Sukurti naują naudotojo ID" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Iššifravimas nepavyko. Greičiausiai neturite iššifravimo rakto." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Veiksmas atšauktas" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Netinkama galiojimo data" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Galiojimo data turi būti ateityje" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Nepavyko pakeisti galiojimo pabaigos datos" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Galioja iki: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Niekada nenustoja galioti" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Keisti" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Keli raktai" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Rakto informacija" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Apsaugoti PGP raktai" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP raktai" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Nepavyko sugeneruoti PGP rakto" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Naujojo PGP rakto slaptažodis" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Dukart įveskite naujojo rakto slaptažodį." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Kuriant raktą reikia sugeneruoti daug atsitiktinių\n" +"duomenų ir mums reikia jūsų pagalbos. Labai\n" +"padėtų, jei atliktumėte Kokių veiksmų, pvz. spausdintumėt\n" +"klaviatūra, judintumėt pelę, naudotumėtės programomis.\n" +"Tai suteikia sistemai reikiamų atsitiktinių duomenų." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Kuriamas raktas" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Pavadinimas turi būti bent 5 simbolių ilgio." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Naujas PGP raktas" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP raktas leidžia šifruoti el. laiškus ar failus kitiems žmonėms. " + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Papildomi rakto parametrai" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Komentaras" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Šifravimo _tipas" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "Rakto _stiprumas (bitais)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "_Galiojimo pabaigos data" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "_Niekada nesibaigia" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "_Sukurti" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Sukurti naują raktą" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Ar tikrai norite negrįžtamai pašalinti %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Ar tikrai norite negrįžtamai pašalinti %d raktą?" +msgstr[1] "Ar tikrai norite negrįžtamai pašalinti %d raktus?" +msgstr[2] "Ar tikrai norite negrįžtamai pašalinti %d raktų?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Neteisingas slaptažodis" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Tris kartus įvedėte neteisingą slaptažodį. Bandykite dar kartą." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Neteisingas slaptažodis." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Įveskite naują rakto „%s“ slaptafrazę" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Įveskite rakto „%s“ slaptafrazę" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Įveskite naują slaptažodį" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Įveskite slaptažodį" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Slaptažodis" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Įkeltas %d raktas" +msgstr[1] "Įkelti %d raktai" +msgstr[2] "Įkelta %d raktų" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Netinkami rakto duomenys (trūksta UID). To priežastis gali būti kompiuteris, " +"kuriame data nustatyta ateityje, arba trūkstamas auto-parašas." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG raktai" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: numatytasis raktinės aplankas" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Ši nuotrauka per didelė\n" +"Rakto faile esančios nuotraukos rekomenduojamas dydis yra %d x %d pikselių." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Nekeisti dydžio" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "Pa_keisti dydį" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Tai ne paveikslėlio failas, arba nežinomas paveikslėlio failas. Bandykite " +"naudoti JPEG paveikslėlį. " + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Visi vaizdo failai" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Visi JPEG failai" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Visi failai" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Pasirinkite nuotrauką pridėti prie rakto" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Atverti" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Nepavyko paruošti nuotraukos" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Nepavyko pridėti nuotraukos" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Failo nepavyko įkelti. Galbūt formatas yra netinkamas" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Ar tikrai norite pašalinti šią nuotrauką iš rakto?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Nepavyko pašalinti nuotraukos" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Antrinio rakto nepavyko paskelbti negaliojančiu" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Paskelbti negaliojančiu: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Nepateikta priežastis" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Nepateikta priežastis paskelbti raktą negaliojančiu" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Nebesaugus" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Raktas tapo nebesaugus" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Pakeistas naujesniu" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Raktas buvo pakeistas naujesniu" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Nenaudojamas" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Raktas nebenaudojamas" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Jūs ruošiatės paskelbti %2$s negaliojančiu naudojant %1$s. Ši operacija " +"negalės būti atšaukta! Ar tikrai norite tęsti?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Nepavyko pridėti galiojimų atšaukėjo" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Aš suprantu, kad šis slaptas raktas bus negrįžtamai ištrintas." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Šį raktą jau pasirašė\n" +"„%s“" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Nepavyko pasirašyti rakto" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Nėra pasirašymui tinkamų raktų" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Jūs neturite asmeninių PGP raktų, kuriuos galėtume panaudoti nustatant jūsų " +"pasitikėjimą šiuo raktu." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Pasirašyti raktą" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Pasirašydami Jūs parodote savo pasitikėjimą, kad šis raktas priklauso:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Rakto vardas" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Kaip atidžiai Jūs tikrinote šį raktą?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "Ne_tikrinau" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Nerūpestingai" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Labai atidžiai" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Netikrinau: reiškia, jog tikite, kad raktas priklauso čia minimam " +"asmeniui, tačiau negalite patikrinti arba netikrinote, kad tikrai taip yra." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Nerūpestingai: reiškia, jog atsakingai nepatikrinote, kad raktas " +"priklauso čia minimam asmeniui. Pavyzdžiui, jei rakto atspaudas Jums buvo " +"pasakytas telefonu." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Labai atidžiai: Pasirinkite tik tada, jei esate visiškai tikri, kad " +"raktas yra nesuklastotas." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Rakto savininko tapatybei patvirtinti, reiktų naudotis sunkiai suklastojamu " +"asmens tapatybę įrodančiu dokumentu su nuotrauka (pvz. pasu). El. pašto " +"adreso patikrinimui, reiktų nurodytu adresu parašyti šiuo raktu užšifruotą " +"laišką ir iššifruotą gauti atgal." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Kaip kiti matys šį parašą:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Kiti negalės šio parašo matyti" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Aš pasilieku teisę šį parašą paskelbti ne_galiojančiu." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Pasirašyti raktą kaip:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Pasirašantysis:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Pasirašyti" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Nežinomas" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "Paieška buvo labai nekonkreti. Serveris „%s“ rado per daug raktų." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Nepavyko susisiekti su serveriu „%s“: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP Raktų serveris" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Nepavyko importuoti rakto: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Sėkmingai importuotas raktas" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Importuoti" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Nepavyko importuoti rakto" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Nuotoliniai raktai" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Nuotoliniai raktai, turintys „%s“" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Raktų paieška nepavyko." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Dukart paspauskite virš rakto jam peržiūrėti arba spauskite mygtuką " +"importavimui į vietinę raktinę." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Ieškoti raktų internete" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Kitų asmenų raktus galite rasti internete. Paskui galėsite pasirinkti, " +"kuriuos iš rastų raktų norėsite importuoti į Jūsų vietinę raktinę." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Ieškoti raktų, turinčių:" + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Kur ieškoti:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Raktų serveriai:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Bendrinami raktai vietiniame tinkle:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Ieškoti" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Nepavyko nusiųsti raktų į serverį" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Nepavyko gauti raktų iš serverio: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d raktas pasirinktas sinchronizavimui" +msgstr[1] "%d raktai pasirinkti sinchronizavimui" +msgstr[2] "%d raktų pasirinkta sinchronizavimui" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Sinchronizuojami raktai…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Sinchronizuoti raktus" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Jūsų raktinėje esančių raktų viešosios dalys bus nusiųstos į viešą raktų " +"serverį, kad tuos raktus galėtų naudoti kiti. Taipogi gausite raktų " +"atnaujinimus, kuriuos kiti žmonės padarė po paskutinio raktų gavimo." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Bus parsiųsti raktų atnaujinimai, kuriuos kiti žmonės padarė po paskutinio " +"raktų gavimo. Nebuvo nurodytas joks raktų serveris nusiuntimui, taigi Jūsų " +"sukurti nauji raktai bei raktų pakeitimai nebus prieinami kitiems." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Raktų serveriai" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Sinchronizuoti" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Nepavyko susisiekti su %s: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Jungiamasi prie: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Nepavyko rasti adreso: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Ieškoma serverio adreso: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP Raktų serveris" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP raktai" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP raktai, skirti laiškų bei failų šifravimui" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(ir dar %d)" +msgstr[1] "(ir dar %d)" +msgstr[2] "(ir dar %d)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Asmeninis PGP raktas" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP raktas" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Nepavyko pakeisti pirminio vartotojo ID" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Ar tikrai norite negrįžtamai pašalinti „%s“ naudotojo ID?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Nepavyko pašalinti naudotojo ID" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Nežinomas]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Vardas/el. paštas" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Parašo ID" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Nepavyko pakeisti pirminės nuotraukos" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Klaida trinant slaptažodį" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(nežinomas)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Šio rakto galiojimo laikas baigėsi: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s – Viešas raktas" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s – Privatus raktas" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" +"Ar tikrai norite negrįžtamai pašalinti antrinį raktą %d, priklausantį %s ?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Nepavyko pašalinti antrinio rakto" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Nepavyko pakeisti pasitikėjimo reikšmės" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Nepavyko eksportuoti rakto" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Niekada" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Naudojimas" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Sukurtas" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Galiojimas baigiasi" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Būsena" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Stiprumas" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Paskelbtas negaliojančiu" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Nebegaliojantis" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Išjungtas" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Geras" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Rakto ID" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Aš pasitikiu asmens „%s“ parašais kituose raktuose" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Jei tikite, kad šio rakto savininkas yra „%s“, pasirašykite šį raktą:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Jei nebetikite, kad šis raktas priklauso „%s“, savo parašą paskelbkite " +"negaliojančiu:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "_Eksportuoti slaptą raktą" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "_Eksportuoti viešą raktą" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Šis raktas paskelbtas negaliojančiu" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" +"Rakto savininkas raktą paskelbė negaliojančiu. Jis nebegali būti naudojamas." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Šio rakto galiojimas baigėsi" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Prie šio rakto pridėti nuotrauką" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Pašalinti šią nuotrauką iš rakto" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Šią nuotrauką padaryti pirmine" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Eiti prie ankstesnės nuotraukos" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Eiti prie kitos nuotraukos" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Komentaras" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Pakeisti _slaptažodį" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Savininkas" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Raktų vardai ir parašai" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Pirminis" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Pasirašyti" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Pašalinti " + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Pridėti vardą" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Paskelbti negaliojančiu" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Vardai ir parašai" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Rakto ID:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Tipas:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Stiprumas:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Techninės detalės" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Atspaudas" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Sukurta:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Galiojimas baigiasi: " + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Datos" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Nustatyti pasitikėjimą savo raktu:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Eksportuoti į failą" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Veiksmai" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Galiojimas baigsis" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Antriniai raktai" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Dalinai" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Pilnai" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Visiškai" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Kiti vardai:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Jūsų pasitikėjimas šiuo raktu" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Pasitikėjimas yra nustatytas kortelėje Detalės." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "Pasirašyti šį _raktą" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Parašą paskelbti negaliojančiu" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "Ž_monės, pasirašę šį raktą:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "Pateikti _tik žmonių, kuriais pasitikiu, parašus" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Pasitikėjimas" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Techninės detalės:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Atspaudas:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Datos:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Nurodykite pasitikėjimą:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Jūs pasi_tikite savininku:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Šifruoti" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Liudyti" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Patvirtinti tapatybę" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Raktas" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Antrinis raktas %d priklausąs %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Rakto paskelbimo negaliojančiu priežastis" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Priežastis:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Neprivalomas rakto paskelbimo negaliojančiu aprašymas" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Raktą paskelbti negaliojančiu" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Paskelbti _negaliojančiu" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Jūs neturite asmeninių PGP raktų, kuriais galima pasirašyti dokumentą ar " +"žinutę. " + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Pasirinkite pasirašymo raktą" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Pasirašyti žinutę su raktu:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Eksportuojami duomenys" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Gaunami duomenys" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Importuojami duomenys" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Siunčiami duomenys" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Negalimas" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Liudijimas" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Liudijimai (DER koduoti)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Asmeniniai liudijimas ir raktas" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Asmeninis liudijimas" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Ar tikrai norite negrįžtamai pašalinti %d liudijimą?" +msgstr[1] "Ar tikrai norite negrįžtamai pašalinti %d liudijimus?" +msgstr[2] "Ar tikrai norite negrįžtamai pašalinti %d liudijimų?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Nepavyko sugeneruoti privataus rakto" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Aš suprantu, kad šis raktas bus negrįžtamai ištrintas." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Nepavadintas privatus raktas" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Privatus raktas" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Nepavadintas" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Nepavyko eksportuoti liudijimo." + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Nepavyko pašalinti" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Sukurti" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Nepavyko sukurti liudijimo užklausos" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Įrašyti liudijimo užklausą" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "Į_rašyti" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Liudijimo užklausa" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM koduota užklausa" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Nepavyko įrašyti liudijimo užklausos" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Nežinomas" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509 liudijimai ir susiję raktai" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Naujas privatus raktas" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Sukurti naują privatų raktą" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Žyma:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Saugojimo vieta:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Rakto _tipas:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "Rakto _stiprumas (bitais):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Pašalinti šį liudijimą ar raktą" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Eksportuoti liudijimą" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Prašyti liudijimo" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Sukurti liudijimo užklausos failą šiam raktui" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Sukurti liudijimo užklausos failą." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Bendras vardas (CN) patalpintas liudijimo užklausoje." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Pavadinimas (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Padėkos:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Šios programos versija" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Mantas Kriaučiūnas \n" +"Eglė Girinaitė \n" +"Vytautas Liuolia \n" +"Rimas Kudelis " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Seahorse projekto tinklalapis" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Duomenys importavimui" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importuoti" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Nepavyko importuoti" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Importuoti raktą" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Visi raktų failai" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Įrašytas tekstas" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Iškarpinės tekstas" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Nepavyko atrakinti raktinės" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Pakeisti slaptažodį" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Naujas slaptažodis:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Patvirtinkite naująjį slaptažodį" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "_Patvirtinkite slaptažodį:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Ieškoti nuotolinių raktų…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Sinchronizuoti bei nusiųsti raktus…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Nuostatos" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Žinynas" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Klaviatūros trumpiniai" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_Apie slaptažodžius ir raktus" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filtruoti elementus:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Rodyti _asmeninius" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Rodyti _patikimus" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Rodyti _visus" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Saugaus apvalkalo raktas" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Naudotas prisijungti prie kitų kompiuterių" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "PGP raktas" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Naudojamas laiškų bei failų šifravimui" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Slaptažodžių raktinė" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Naudojama programų ir tinklo slaptažodžių saugojimui" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Saugiai įsiminti slaptažodį ar paslaptį" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Naudojamas prašyti liudijimo." + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importuoti iš failo…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Pridėti naują raktą ar elementą" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Grįžti" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Ieškoti raktų raktų ar slaptažodžių" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filtras" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Atrodo, ši kolekcija yra tuščia" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Raktinės yra užrakinta" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Atrakinti" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Kopijuoti paslaptį" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Eksportuoti…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Savybės" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Konfigūruoti saugaus apvalkalo raktą…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Užrakinti" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Atrakinti" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Savybės" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Nepavyko užrakinti" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Saugus prisijungimas" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Raktai, naudojami saugiam prisijungimui prie kitų kompiuterių" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Ar tikrai norite pašalinti saugaus apvalkalo raktą „%s“?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Ar tikrai norite pašalinti %u saugaus apvalkalo raktą?" +msgstr[1] "Ar tikrai norite pašalinti %u saugaus apvalkalo raktus?" +msgstr[2] "Ar tikrai norite pašalinti %u saugaus apvalkalo raktų?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Slaptas SSH raktas" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Viešas SSH raktas" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH raktas" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Šiam raktui nėra viešo rakto failo." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Nepavyko įkelti naujai sugeneruoto saugaus apvalkalo rakto" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Nepavyko sukurti saugaus apvalkalo rakto" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Kuriamas saugaus prisijungimo (SSH) raktas" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bitai" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bitai" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Nežinomas rakto tipas!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Nežinomas tipas" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Nepavyko pervadinti rakto." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Nepavyko pakeisti leidimų šiam raktui." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Nepavyko pakeisti slaptafrazės šiam raktui." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Klaida trinant SSH raktą." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Asmeninis SSH raktas" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH raktas" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Nenuskaitomas saugaus prisijungimo (SSH) raktas)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Saugaus prisijungimo (SSH) raktas" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Nuotolinio kompiuterio slaptažodis" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Įveskite rakto slaptažodį" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Naujojo saugaus prisijungimo (SSH) rakto slaptažodis" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Importuojamas raktas: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Importuojamas raktas. Įveskite slaptažodį" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Saugaus prisijungimo (SSH) slaptažodis:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Senasis rakto slaptažodis" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Įveskite senąjį rakto „%s“ slaptažodį:" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Naujasis rakto slaptažodis" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Įveskite naująjį rakto „%s“ slaptažodį:" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Dar kartą įveskite naująjį slaptažodį: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Naujas saugaus prisijungimo (SSH) raktas" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Saugaus prisijungimo (SSH) raktas skirtas saugiai prisijungti prie patikimų " +"kompiuterių." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "Pa_aiškinimas" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Jūsų el. pašto adresas ar kita užuomina šio rakto paskirties priminimui." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Jei turite kompiuterį, prie kurio jungsitės naudodami šį raktą, dabar galite " +"nustatyti, kad šis kompiuteris atpažintų Jūsų raktą." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Tik sukurti raktą" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Sukurti ir nustatyti" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH rakto savybės" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Pavadinimas" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritmas" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Rakto ilgis" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Vieta" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Viešas raktas" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Kopijuoti raktą į iškarpinę" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Nuotolinė prieiga" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Leidžia pasiekti šį kompiuterį nuotoliniu būdu" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Eksportuoti" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "Iš_trinti SSH raktą" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Nustatyti kitą kompiuterį saugiam (SSH) prisijungimui" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Norėdami naudoti saugaus prisijungimo (SSH) raktą jungimuisi prie kito " +"kompiuterio, privalote turėti paskyrą šiame kompiuteryje." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Serverio adresas:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "pvz.: failųserveris.pavyzdys.lt:prievadas" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Prisijungimo vardas:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Nustatyti" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH raktai" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Šiam raktui nėra privataus rakto failo." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "" +"Nepavyko sukonfigūruoti saugaus apvalkalo raktų nutolusiame kompiuteryje." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Konfigūruojami saugaus apvalkalo raktai…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse yra GNOME programa šifravimo raktų tvarkymui. Ji taip pat " +#~ "integruojasi su nautilus, gedit ir kitomis vietomis šifravimo veiksmams " +#~ "atlikti." + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Nepavyko pridėti antrinio rakto" + +#~ msgid "Encryption _Type:" +#~ msgstr "Šifravimo _tipas:" + +#~ msgid "Keyring is unlocked" +#~ msgstr "Raktinė yra atrakinta" + +#~ msgid "Lock" +#~ msgstr "Užrakinti" + +#~| msgid "Combine all keyrings" +#~ msgid "_Combine all keyrings" +#~ msgstr "Ap_jungti visas raktines" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "OK" +#~ msgstr "Gerai" + +#~ msgid "Full _Name:" +#~ msgstr "_Vardas ir pavardė:" + +#~ msgid "_Email Address:" +#~ msgstr "_El. pašto adresas:" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "" +#~ "Programos paprastai įrašo naujus slaptažodžius numatytoje raktinėje." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Pakeisti slaptažodžių saugyklos raktinės atrakinimo slaptažodį" + +#~ msgid "_Show Password" +#~ msgstr "Rodyti _slaptažodį" + +#~ msgid "Marginal" +#~ msgstr "Dalinis" + +#~ msgid "Full" +#~ msgstr "Pilnas" + +#~ msgid "Ultimate" +#~ msgstr "Visiškas" + +#~ msgid "Key Properties" +#~ msgstr "Rakto savybės" + +#~ msgid "About" +#~ msgstr "Apie" + +#~ msgid "_File" +#~ msgstr "_Failas" + +#~ msgid "_Edit" +#~ msgstr "_Keisti" + +#~ msgid "Delete selected items" +#~ msgstr "Pašalinti pažymėtus elementus" + +#~ msgid "Show the properties of this item" +#~ msgstr "Rodyti šio elemento savybes" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Rodyti šios raktinės savybes" + +#~ msgid "Prefere_nces" +#~ msgstr "_Nustatymai" + +#~ msgid "Change preferences for this program" +#~ msgstr "Keisti šios programos nustatymus" + +#~ msgid "_View" +#~ msgstr "R_odyti" + +#~ msgid "About this program" +#~ msgstr "Apie šią programą" + +#~ msgid "_Contents" +#~ msgstr "_Turinys" + +#~ msgid "Show Seahorse help" +#~ msgstr "Rodyti Seahorse pagalbą" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Nauja slaptažodžių raktinė" + +#~ msgid "New password…" +#~ msgstr "Naujas slaptažodis…" + +#~ msgid "PGP Key" +#~ msgstr "PGP raktas" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Importuojami raktai iš raktų serverių" + +#~ msgid "_Remote" +#~ msgstr "_Darbas tinkle" + +#~ msgid "Close this window" +#~ msgstr "Uždaryti šį langą" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Pasirinktus raktus importuoti į vietinę raktinę" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Nusiųsti ir/arba sinchronizuoti turimus raktus su internetiniais." + +#~ msgid "Photo " +#~ msgstr "Nuotrauka " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Vardas:" + +#~ msgid "Email:" +#~ msgstr "El. paštas:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Iššifruoti failus ir Jums atsiųstus el. laiškus." + +#~ msgid "Private PGP Key" +#~ msgstr "Privatus PGP raktas" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Šifruoti failus ir siųsti el. paštu rakto savininkui" + +#~ msgid "- System Settings" +#~ msgstr "- Sistemos nustatymai" + +#~ msgid "Don't display a window" +#~ msgstr "Nerodyti lango" + +#~ msgid "_New" +#~ msgstr "_Naujas" + +#~ msgid "Close this program" +#~ msgstr "Užverti šią programą" + +#~ msgid "_New…" +#~ msgstr "_Naujas…" + +#~ msgid "_Import…" +#~ msgstr "_Importuoti…" + +#~ msgid "_Paste" +#~ msgstr "Į_dėti" + +#~ msgid "Import from the clipboard" +#~ msgstr "Importuoti iš iškarpinės" + +#~ msgid "By _Keyring" +#~ msgstr "Pagal _raktinę" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Rodyti tik asmeninius raktus, liudijimus ir slaptažodžius" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Rodyti tik patikimus raktus, liudijimus ir slaptažodžius" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Rodyti visus raktus, liudijimus ir slaptažodžius" + +#~ msgid "New item" +#~ msgstr "Naujas elementas" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "Pa_sirinkite kuriamo elemento tipą:" + +#~ msgid "Continue" +#~ msgstr "Tęsti" + +#~ msgid "First time options:" +#~ msgstr "Pirmojo karto parametrai:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Norint pradėti šifravimą Jums reikės raktų." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Importuoti egzistuojančius raktus iš failo:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Susikurkite naują raktą sau:" + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Nusiųsti viešą saugaus prisijungimo (SSH) raktą į kitą kompiuterį bei " +#~ "įjungti galimybę prisijungti, naudojant šitą raktą." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Naudojamas prisijungti prie kitų kompiuterių (pvz.: per terminalą)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Vardas:" + +#~ msgid "Identifier:" +#~ msgstr "Identifikatorius:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "Šio rakto savininkui _leidžiama prisijungti prie šio kompiuterio" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Galioja tiktai '%s' paskyrai." + +#~ msgid "Key length:" +#~ msgstr "Rakto ilgis:" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Name:" +#~ msgstr "Pavadinimas:" + +#~ msgid "Keyring" +#~ msgstr "Raktinė" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Paieškos tiekėjas dar neįkeltas" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "SSH komanda (programa) netikėtai baigė darbą." + +#~ msgid "The SSH command failed." +#~ msgstr "SSH komanda nepavyko." + +#~ msgid "E_xport..." +#~ msgstr "E_ksportuoti..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Ieškoti raktų internete..." + +#~ msgid "_New..." +#~ msgstr "_Naujas..." + +#~ msgid "_Import..." +#~ msgstr "I_mportuoti..." diff --git a/po/lv.po b/po/lv.po new file mode 100644 index 00000000..0e704125 --- /dev/null +++ b/po/lv.po @@ -0,0 +1,3083 @@ +# Latvian translation for seahorse +# Copyright (C) 2009 Peteris Krisjanis +# This file is distributed under the same license as the PACKAGE package. +# +# +# Pēteris Krišjānis , 2009. +# Peteris Krisjanis , 2010, 2012. +# Rudolfs , 2011. +# Rūdofls Mazurs , 2011, 2012, 2013. +# Rūdolfs Mazurs , 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-09-13 10:51+0300\n" +"Last-Translator: Rūdolfs Mazurs \n" +"Language-Team: Latvian \n" +"Language: lv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 :" +" 2);\n" +"X-Generator: Lokalize 19.12.3\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Pievienot atslēgas serveri" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Pielāgots" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Atcelt" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Saglabāt" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Neizdevās izdzēst" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Neizdevās eksportēt atslēgas" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Neizdevās eksportēt datus" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "At_celt" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Dzēst" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Eksportēt" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Ievadiet %s PIN vai paroli" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Apstipriniet:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Labi" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Parole:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Paroles" + +#: common/place.vala:42 +#| msgid "PGP Keys" +msgid "Keys" +msgstr "Atslēgas" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Sertifikāti" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Iestatījumi" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Nepublicēt atslēgas" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Nederīga atslēgu servera adrese." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Lai saņemtu palīdzību, sazinieties ar savu sistēmas administratoru, vai arī " +"atslēgas servera administratoru." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "sākuma pagaidu vienība" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Atslēgas servera tips:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Hosts:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Servera nosaukums vai adrese." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Pieslēgvieta, pie kuras piekļūt serverim." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Meklēt atslēgas, izmantojot:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Publicēt atslēgas uz:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Automātiski iegūt atslēgas no _atslēgu serveriem" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Automātiski sinhronizēt _izmainītās atslēgas ar atslēgu serveriem" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Atslēgu serveri" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Nezināms" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Nekad" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Daļēji" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Pilnībā" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Gandrīz" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Deaktivēta" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Atsaukta" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Pārskats" + +#: data/gtk/help-overlay.ui:14 +#| msgid "Help" +msgctxt "shortcut window" +msgid "Help" +msgstr "Palīdzība" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Atvērt izvēlni" + +#: data/gtk/help-overlay.ui:28 +#| msgid "Create a new key or item" +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Izveidot jaunu vienumu" + +#: data/gtk/help-overlay.ui:35 +#| msgid "Import from file…" +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Importēt vienumu no datnes" + +#: data/gtk/help-overlay.ui:42 +#| msgid "_Search" +msgctxt "shortcut window" +msgid "Search" +msgstr "Meklēt" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Saīsņu saraksts" + +#: data/gtk/help-overlay.ui:56 +#| msgid "_Quit" +msgctxt "shortcut window" +msgid "Quit" +msgstr "Iziet" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navigācija" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Izvēlēties iepriekšējo atslēgu saišķi" + +#: data/gtk/help-overlay.ui:76 +#| msgid "Select Date" +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Izvēlēties nākamo atslēgu saišķi" + +#: data/gtk/help-overlay.ui:83 +#| msgid "Show sidebar listing keyrings" +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Rādīt sānu joslu (uz maziem ekrāniem)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Rādīt atslēgu saišķa saturu (uz maziem ekrāniem)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Automātiski iegūt atslēgas" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Vai atslēgas vajadzētu automātiski iegūt no atslēgu serveriem." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Automātiski publicēt atslēgas" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Vai modificētās atslēgas vajadzētu automātiski publicēt." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Publicēt atslēgas uz šo atslēgu serveri" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Atslēgu serveris, uz kuru publicēt PGP atslēgas. Var būt tukšs, lai neļautu " +"publicēt PGP atslēgas." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Pēdējais atslēgu servera meklēšanas tests" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Pēdējais meklēšanas tests, kas izmantots atslēgu servera meklēšanai." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Pēdējais izmantotais atslēgu serveris" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Pēdējais atslēgu serveris, kurš tika meklēts, vai tukšs, ja jānorāda visi " +"serveri." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Rādīt atslēgu saišķu sānu joslu" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Rādīt atslēgu saišķu sānu joslu Seahorse lietotnē." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Kurus vienumus attēlot" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtrē, kurus vienumus attēlot. Ja tukšs, attēlo visus vienumus, ja " +"“personal”, attēlo personīgās atslēgas, ja “trusted”, attēlo tās, kurām " +"uzticas." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Sānu rūts platums" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Noklusējuma platums sānu rūtij." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Izvēlētie atslēgu saišķi" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Sānu joslā izvēlēto atslēgas saišķu URI." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Kolonna, pēc kuras kārtot Seahorse atslēgas" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Norādiet kolonnu, pēc kuras kārtot Seahorse atslēgu pārvaldnieka galveno " +"logu. Pieejamās kolonnas ir “name”, “id”, “validity”, “expires”, “trust” un " +"“type”. Novietojiet “-” rakstzīmi priekšā kolonnas nosaukumam, lai tās " +"kārtotu dilstoši." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Rādīt derīguma kolonnu" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Vairs netiek izmantots." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Rādīt termiņa kolonnu" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Rādīt uzticības kolonnu" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Rādīt tipa kolonnu" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Loga platums" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Loga platums pikseļos." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Loga augstums" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Loga augstums pikseļos." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Pārvaldīt paroles un šifrēšanas atslēgas" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse ir GNOME lietotne, kas pārvalda šifrēšanas atslēgas." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Ar seahorse jūs varat izveidot un pārvaldīt PGP atslēgas, izveidot un " +"pārvaldīt SSH atslēgas, publicēt un saņemt atslēgas no atslēgu serveriem, " +"glabāt paroles, lai tās nevajadzētu rakstīt un dublēt atslēgas un atslēgu " +"saišķus." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "GNOME projekts" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Paroles un atslēgas" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "atslēgu saišķis;šifrēšana;drošība;parakstīt;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Noglabātās personiskās paroles, akreditācijas dati un noslēpumi" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Neizdevās atslēgt" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Neizdevās pievienot vienumu" + +#: gkr/gkr-item-info.vala:30 +#| msgid "Password or secret" +msgid "Password or Secret" +msgstr "Parole vai noslēpums" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Tīkla savienojuma noslēpums" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Wi-Fi parole" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Tīkla parole" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "GNOME tīmekļa parole" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Google Chrome parole" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Tūlītējās ziņojumapmaiņas parole" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "TZ konta parole " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Telepathy parole" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "GNOME tiešsaistes kontu parole" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Saglabāt izmaiņas šim vienumam?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Piekļūt tīkla koplietojumam vai resursam" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Piekļūt tīmekļa vietnei" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Atslēdz PGP atslēgu" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Atslēdz drošās čaulas atslēgu" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Saglabāta parole vai pieteikšanās" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Tīkla akreditācijas dati" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Parole" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Neizdevās mainīt paroli." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Neizdevās iestatīt aprakstu." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Kļūda, dzēšot paroli." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Saglabāta piezīme" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Saišķa parole" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Šifrēšanas atslēgas parole" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Atslēgu glabātuves parole" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Network Manager (tīkla pārvaldnieka) noslēpums" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Vai tiešām vēlaties dzēst paroli “%s”?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Vai tiešām vēlaties dzēst %d paroli?" +msgstr[1] "Vai tiešām vēlaties dzēst %d paroles?" +msgstr[2] "Vai tiešām vēlaties dzēst %d paroles?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Neizdevās pievienot saišķi" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Nezināms datums" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Saišķis, kas tiek automātiski atslēgts pie pieteikšanās" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Saišķis, lai glabātu paroles" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Neizdevās iestatīt noklusējuma saišķi" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Neizdevās nomainīt saišķa paroli" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Iestatīt kā noklusējuma" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Nomainīt _paroli" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Vai tiešām vēlaties dzēst paroļu saišķi “%s”?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Es saprotu, ka visi vienumi tiks neatgriezeniski dzēsti." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Rādīt / slēpt paroli" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Pievienot paroli" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Saišķis:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Apraksts:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Parole:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Pievienot" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Pievienot paroļu saišķi" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Lūdzu izvēlieties nosaukumu jaunajam saišķim. Jums tiks dots ievadīt " +"atslēgšanas paroli." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Jaunā saišķa nosaukums:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Vienuma īpašības" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Apraksts" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Kopēt" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Lietojums" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Tips" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Serveris" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Lietotājs" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Detaļas" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Dzēst paroli" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Atslēgu saišķa īpašības" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Nosaukums" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Izveidota" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Mainīt paroli" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Iestatīt kā noklusējuma" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Parādīšanas karogi" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Parādītā datuma un/vai laika parametri" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Slinkais režīms" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Slinkais režīms nenormalizē ievadītā datuma un laika vērtības" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Gads" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Parādītais gads" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mēnesis" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Parādītais mēnesis" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Diena" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Parādītā mēneša diena" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Stunda" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Parādītā stunda" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minūte" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Parādītā minūte" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekunde" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Parādītā sekunde" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Zemākā līmeņa gads" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Gada daļa zemākajam datuma limitam" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Augstākā līmeņa gads" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Gada daļa augstākajam datuma limitam" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Zemākā līmeņa mēnesis" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Mēneša daļa zemākajam datuma limitam" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Augstākā līmeņa mēnesis" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Mēneša daļa augstākajam datuma limitam" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Zemākā līmeņa diena" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Mēneša dienas daļa zemākajam datuma limitam" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Augstākā līmeņa diena" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Mēneša dienas daļa augstākajam datuma limitam" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Zemākā līmeņa stunda" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Stundas daļa zemākajam datuma limitam" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Augstākā līmeņa stunda" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Stundas daļa augstākajam datuma limitam" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Zemākā līmeņa minūte" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Minūtes daļa zemākajam datuma limitam" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Augstākā līmeņa minūte" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Minūtes daļa augstākajam datuma limitam" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Zemākā līmeņa sekunde" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Sekundes daļa zemākajam datuma limitam" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Augstākā līmeņa sekunde" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Sekundes daļa augstākajam datuma limitam" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Datums" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Ievadiet tiešu datumu" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Izvēlieties datumu" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Izvēlieties datumu no kalendāra" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Laiks" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Ievadiet tiešu laiku" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Izvēlieties laiku" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Izvēlieties laiku no saraksta" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Neizdevās parādīt palīdzību: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Pievienot apakšatslēgu %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (tikai parakstīšanai)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (tikai šifrēšanai)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (tikai parakstīšanai)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (tikai šifrēšanai)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +#| msgid "Key _Type:" +msgid "Key _Type" +msgstr "Atslēgas _tips" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +#| msgid "Key _Length:" +msgid "Key _Length" +msgstr "Atslēgas _garums" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Atslēgas garums" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +#| msgid "Expiration Date:" +msgid "Expiration Date" +msgstr "Derīguma beigu datums" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Nekad neiz_beidzas" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Ja atslēgai nekad neizbeidzas" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Ģenerēt jaunu apakšatslēgu" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Pievienot lietotāja ID %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Neizdevās pievienot lietotāja ID" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Pievienot lietotāja ID" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Pilns _vārds" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Jābūt minimums 5 simbolus garam" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_E-pasta adrese" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Neobligāta epasta adrese" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Atslēgas ko_mentārs" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Neobligāts atslēgu paskaidrojošs komentārs" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Izveidot jaunu lietotāja ID" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Atšifrēšana nesekmīga. Jums, visticamāk, nav atšifrēšanas atslēgas." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Darbība tika atcelta" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Nederīgs derīguma beigu datums" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Derīguma termiņam ir jābeidzas nākotnē" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Neizdevās mainīt derīguma beigu datumu" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Derīga līdz: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Nekad neizbeidzas" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Mainīt" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Vairākas atslēgas" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Atslēgas dati" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Bruņotas PGP atslēgas" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP atslēgas" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Neizdevās ģenerēt PGP atslēgu" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Parole jaunajai PGP atslēgai" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Ievadiet paroli divreiz savai jaunajai atslēgai." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Kad izveido atslēgu, jāģenerē daudz nejaušu datu un \n" +"mums vajag jūsu palīdzību. Šajā laikā vajadzētu veikt\n" +"dažas citas darbības, piemēram, rakstīt ar tastatūru,\n" +"pārvietot peli, lietot lietotnes. Tas dos sistēmai\n" +"tik ļoti vajadzīgos nejaušos datus." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Ģenerē atslēgu" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Nosaukumam jābūt vismaz 5 simbolus garam" + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Jauna PGP atslēga" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP atslēga ļauj šifrēt e-pastu vai datnes citiem cilvēkiem." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Paplašinātas atslēgas opcijas" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +#| msgid "_Comment:" +msgid "_Comment" +msgstr "_Komentārs" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +#| msgid "Encryption _Type:" +msgid "Encryption _Type" +msgstr "Šifrēšanas _tips" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +#| msgid "Key _Strength (bits):" +msgid "Key _Strength (bits)" +msgstr "Atslēgas _stiprums (bitos)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +#| msgid "E_xpiration Date:" +msgid "E_xpiration Date" +msgstr "Derīguma _termiņš" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Derīguma termiņš nekad nebeidzas" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "Iz_veidot" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Ģenerēt jaunu atslēgu" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Vai jūs esat pārliecināti, ka vēlaties neatgriezeniski dzēst %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Vai jūs esat pārliecināti, ka vēlaties dzēst %d atslēgu?" +msgstr[1] "Vai jūs esat pārliecināti, ka vēlaties dzēst %d atslēgas?" +msgstr[2] "Vai jūs esat pārliecināti, ka vēlaties dzēst %d atslēgu?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Nepareiza parole" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Šī bija trešā reize, kad ievadījāt nepareizu paroli. Lūdzu, mēģiniet vēlreiz." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Nepareiza parole." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Ievadiet jaunu “%s” paroli" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Ievadiet “%s” paroli" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Ievadiet jaunu paroli" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Ievadiet paroli" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Parole" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Ielādēta %d atslēga" +msgstr[1] "Ielādētas %d atslēgas" +msgstr[2] "Ielādētas %d atslēgas" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Nederīgi atslēgas dati (trūkst UID). Tas, iespējams, ir tādēļ, ka dators ir " +"ar iestatītu datumu nākotnē, vai arī atslēga nav pašparakstīta." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG atslēgas" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: noklusējuma saišķa direktorija" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +" Attēls ir pārāk liels \n" +"Ieteicamais attēla izmērs atslēgai ir %d × %d pikseļi." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Nemainīt izmēru" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Mainīt izmēru" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Šī nav attēla datne, vai arī tā ir nepazīstamā formātā. Mēģiniet izmantot " +"JPEG attēlu." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Visas attēlu datnes" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Visas JPEG datnes" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Visas datnes" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Izvēlieties fotogrāfiju, kuru pievienot atslēgai" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Atvērt" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Neizdevās sagatavot fotogrāfiju" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Neizdevās pievienot fotogrāfiju" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Neizdevās ielādēt datni. Iespējams tai ir nederīgs formāts" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Vai tiešām vēlaties izņemt aktuālo fotogrāfiju no atslēgas?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Neizdevās izdzēst fotogrāfiju" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Neizdevās atsaukt apakšatslēgu" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Atsaukt: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Nav iemesla" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Nav iemesla atslēgas atsaukšanai" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Kompromitēta" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Atslēga ir kompromitēta" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Aizturēta" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Atslēga ir aizturēta" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Netiek izmantota" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Atslēga netiek vairāk izmantota" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Jūs taisāties pievienot %s kā atsaucēju %s. Šī operācija ir neatgriezeniska! " +"Vai esat pārliecināts?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Neizdevās pievienot atsaucēju" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Es saprotu, ka šī slepenā atslēga tiks neatgriezeniski dzēsta." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Šo atslēgu jau ir parakstījis\n" +"“%s”" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Neizdevās parakstīt atslēgu" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Nav parakstīšanai lietojamu atslēgu" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Jums nav pieejama neviena personīgā PGP atslēga, kuru varētu izmantot, lai " +"apstiprinātu jūsu uzticēšanās līmeni šai atslēgai." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Parakstīt atslēgu" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"Parakstoties, jūs aplieciniet, ka uzticaties tam, kam šī atslēga pieder:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Atslēgas nosaukums" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Cik piesardzīgi jūs pārbaudījāt šo atslēgu?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Nemaz" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Vispārīgi" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Ļoti rūpīgi" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Nemaz: nozīmē ka jūs ticat, ka atslēga pieder dotajai personai, bet " +"jūs nevarējāt pārbaudīt vai nepārbaudījāt šo faktu." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Vispārīgi: jūs esat veikuši parasto pārbaudi un noskaidrojuši " +"atslēgas piederību dotajai personai. Piemēram, jūs varētu nolasīt atslēgas " +"nospiedumu īpašniekam pa tālruni salīdzināšanai. " + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Ļoti rūpīgi: Izvēlieties šo tikai tad, kad esat absolūti " +"pārliecināti, ka atslēga ir īsta." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Jūs varētu izmantot grūti viltojamu foto identifikāciju (kā pasi), lai " +"personīgi pārbaudītu vai atslēgā minētais personas vārds ir korekts. Jums " +"arī vajadzētu izmantot e-pastu, lai pārbaudītu, vai e-pasta adrese pieder " +"īpašniekam." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Kā citi redzēs šo parakstu:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Citi varētu neredzēt šo parakstu" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Varu _atsaukt šo parakstu vēlāk." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Parakstīt atslēgu kā:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Parakstītājs:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Paraksts" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Nezināms" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Meklējums nebija pietiekami konkrēts. Serveris “%s” atrada pārāk daudz " +"atslēgas." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Neizdevās sazināties ar serveri “%s” — %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP atslēgu serveris" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Neizdevās importēt atslēgu: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Atslēga ir sekmīgi importēta" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Importēt" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Nevar importēt atslēgu" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Attālinātās atslēgas" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Attālinātās atslēgas, kuras satur “%s”" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Atslēgu meklēšana neizdevās." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Dubultklikšķiniet uz atslēgas, lai to izpētītu, vai arī spiediet " +"importēšanas pogu, lai to importētu savā lokālajā atslēgu saišķī." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Meklēt attālinātās atslēgas" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Internetā tiks atrastas citu lietotāju atslēgas. Šīs atslēgas varēsiet " +"importēt jūsu atslēgu saišķī." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Meklēt atslēgas, kuras satur: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Kur meklēt:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Atslēgu serveri:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Tuvu man koplietotās atslēgas:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Meklēt" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Neizdevās publicēt atslēgas serverī" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Neizdevās dabūt atslēgas no servera: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] " %d atslēga ir izvēlēta sinhronizēšanai" +msgstr[1] "%d atslēgas ir izvēlētas sinhronizēšanai" +msgstr[2] "%d atslēgas ir izvēlētas sinhronizēšanai" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Sinhronizē atslēgas…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Sinhronizēt atslēgas" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Publicēs atslēgas no jūsu atslēgu saišķa, lai tās būtu pieejamas citiem " +"lietošanai. Tiks arī atjauninātas jebkuras izmaiņas, ko citi būs veikuši, " +"kopš jūs saņēmāt viņu atslēgas." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Atjauninās jebkuras izmaiņas, ko citi būs veikuši, kopš jūs saņēmāt viņu " +"atslēgas. Neviens atslēgas serveris nav izvēlēts publicēšanai, tādējādi jūsu " +"atslēgas nebūs pieejamas citiem." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Atslēgu serveri" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Sinhronizēt" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Neizdevās sazināties ar “%s” — %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Pieslēdzas pie: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Neizdevās sameklēt adresi: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Meklē servera adresi: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP atslēgu serveris" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP atslēgas" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP atslēgas izmanto, lai šifrētu e-pastu vai datnes" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(un vēl %d)" +msgstr[1] "(un vēl %d)" +msgstr[2] "(un vēl %d)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Personīgā PGP atslēga" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP atslēga" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Neizdevās izmainīt primāro lietotāja ID" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "" +"Vai esat pārliecināti, ka vēlaties neatgriezeniski dzēst “%s” lietotāja ID?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Neizdevās izdzēst lietotāja ID" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Nezināms]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Vārds/e-pasts" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Paraksta ID" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Neizdevās nomainīt primāro fotogrāfiju" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Kļūda, mainot paroli" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(nezināms)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Šīs atslēgas derīguma termiņš bija līdz %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — publiskā atslēga" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — privātā atslēga" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Vai tiešām vēlaties neatgriezeniski dzēst apakšatslēgu %d no %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Neizdevās izdzēst apakšatslēgu" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Neizdevās nomainīt uzticamību" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Neizdevās eksportēt atslēgu" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Nekad" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Izmantojums" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Izveidota" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Derīga līdz" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Statuss" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Stiprums" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Atsaukta" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Beidzies derīguma termiņš" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Deaktivizēta" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Labi" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Atslēgas ID" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Es uzticos “%s” parakstiem par citām atslēgām" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Ja jūs ticat, ka persona, kurai pieder šī atslēga, ir “%s”, parakstiet šo atslēgu:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Ja jūs vairāk neuzticaties tam, ka “%s” pieder šī atslēga, atsauciet " +"jūsu parakstu:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +#| msgid "_Export Secret Key:" +msgid "Export _secret key" +msgstr "Eksportēt _slepeno atslēgu" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +#| msgid "E_xport Complete Key" +msgid "Export _public key" +msgstr "Eksportēt _publisko atslēgu" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Šī atslēga tika atsaukta" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Atslēgas īpašnieks ir atsaucis šo atslēgu. Tā vairs nav izmantojama." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Atslēgai beidzās derīguma termiņš" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Pievienot fotogrāfiju šai atslēgai" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Aizvākt šo fotogrāfiju no šīs atslēgas" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Padarīt šo fotogrāfiju par primāro" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Iet uz iepriekšējo fotogrāfiju" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Iet uz nākamo fotogrāfiju" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Komentārs" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Mainīt _paroli" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Īpašnieks" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Atslēgu nosaukumi un paraksti" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Primārais" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Parakstīt" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Dzēst" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Pievienot nosaukumu" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Atsaukt" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Nosaukumi un paraksti" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Atslēgas ID:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Tips:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Stiprums:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Tehniskā informācija" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Ciparnospiedums" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Izveidots:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Derīga līdz:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Datumi" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Aizstāt īpašnieka _uzticamību:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +#| msgid "Export to a file" +msgid "_Export to file" +msgstr "_Eksportēt uz datni" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Darbības" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Derīgums" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Apakšatslēgas" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Daļēji" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Pilnībā" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Gandrīz" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Citi vārdi:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Jūsu uzticība šai atslēgai" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Jūsu uzticība tiek pašrocīgi norādīta Detaļas cilnē." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Parakstīt šo atslēgu" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Atsaukt parakstu" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "Cil_vēki, kas parakstījuši šai atslēgu:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Rādīt šo parakstu tikai man uzticamiem cilvēkiem" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Uzticamība" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Tehniskā informācija:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Ciparnospiedums:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Datumi:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +#| msgid "Indicate Trust:" +msgid "Indicate trust:" +msgstr "Norādīt uzticamību:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +#| msgid "You _Trust the Owner:" +msgid "You _trust the owner:" +msgstr "Jūs uz_ticaties īpašniekam:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Šifrēt" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Sertificēt" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Autentificēt" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Atslēga" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Apakšatslēga %d no %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Iemesls atslēgas atsaukšanai" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Iemesls:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Atsaukšanas iemesls (neobligāts)" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Atsaukt atslēgu" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "At_saukt" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Jums nav personisku PGP atslēgu kas varētu tikt izmantotas, lai parakstītu " +"dokumentu vai ziņojumu." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Izvēlieties parakstīšanas atslēgu" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "Parak_stīt vēstuli ar atslēgu:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Eksportē datus" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Saņem datus" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Importē datus" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Sūta datus" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Nav pieejams" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Sertifikāts" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Sertifikāti (DER kodēti)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Personīgais sertifikāts un atslēga" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Personīgais sertifikāts" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Vai jūs esat pārliecināti, ka vēlaties dzēst %d identitāti?" +msgstr[1] "Vai jūs esat pārliecināti, ka vēlaties dzēst %d identitātes?" +msgstr[2] "Vai jūs esat pārliecināti, ka vēlaties dzēst %d identitātes?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Neizdevās uzģenerēt privāto atslēgu" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Es saprotu, ka šī atslēga tiks neatgriezeniski dzēsta." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Nenosaukta privātā atslēga" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Privātā atslēga" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Nenosaukts" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Neizdevās eksportēt sertifikātu" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Neizdevās izdzēst" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Izveidot" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Neizdevās izveidot sertifikāta pieprasījumu" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Saglabāt sertifikāta pieprasījumu" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Saglabāt" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Sertifikāta pieprasījums" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM šifrēts pieprasījums" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Neizdevās saglabāt sertifikāta pieprasījumu" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Nezināms" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509 sertifikāti un saistītās atslēgas" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Jauna privātā atslēga" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Izveidot jaunu privāto atslēgu" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Etiķete:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Noglabāts:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Atslēgas _tips:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "Atslēgas _stiprums (bitos):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Dzēst šo sertifikātu vai atslēgu" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Eksportēt sertifikātu" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +#| msgid "Request _Certificate" +msgid "Request Certificate" +msgstr "Pieprasīt sertifikātu" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Izveidot sertifikāta pieprasījuma datni šai atslēgai" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Izveidot sertifikāta pieprasījuma datni." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "" +"Kopējais nosaukums (common name vai CN), kas norādīts sertifikāta " +"pieprasījumā." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Nosaukums (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Palīdzējuši:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Šīs lietotnes versija" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Nauris Kanasnieks \n" +"Jānis Laimiņš \n" +"Pēteris Krišjānis \n" +"\n" +"Launchpad Contributions:\n" +" Mārtiņš Bruņenieks https://launchpad.net/~papuass\n" +" Pēteris Krišjānis https://launchpad.net/~pecisk-gmail\n" +" Raivis Dejus https://launchpad.net/~orvils" + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Seahorse projekta mājas lapa" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Dati, kas tiks importēti" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importēt" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Importēšana neizdevusies" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Importēt atslēgu" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Visas atslēgu datnes" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Nomests teksts" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Starpliktuves teksts" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Neizdevās atslēgt atslēgu saišķi" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Mainīt paroli" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Jauna _parole:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Apstiprināt jauno paroli" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Ap_stiprināt paroli:" + +#: src/seahorse-key-manager.ui:7 +#| msgid "Find remote keys…" +msgid "_Find remote keys…" +msgstr "_Meklēt attālinātās atslēgas…" + +#: src/seahorse-key-manager.ui:12 +#| msgid "Sync and publish keys…" +msgid "_Sync and publish keys…" +msgstr "_Sinhronizēt un publicēt atslēgas…" + +#: src/seahorse-key-manager.ui:19 +#| msgid "Preferences" +msgid "_Preferences" +msgstr "_Iestatījumi" + +#: src/seahorse-key-manager.ui:24 +#| msgid "Help" +msgid "_Help" +msgstr "_Palīdzība" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Tastatūras īsinājumtaustiņi" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "Par parolēm un atslēgām" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filtrēt vienumus:" + +#: src/seahorse-key-manager.ui:42 +#| msgid "Show personal" +msgid "Show p_ersonal" +msgstr "Rādīt p_ersonīgos" + +#: src/seahorse-key-manager.ui:47 +#| msgid "Show trusted" +msgid "Show _trusted" +msgstr "Rādīt uz_ticamos" + +#: src/seahorse-key-manager.ui:52 +#| msgid "Show any" +msgid "Show an_y" +msgstr "Rādīt _jebkurus" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Drošās čaulas atslēga" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Izmanto, lai piekļūtu citiem datoriem" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG atslēga" + +#: src/seahorse-key-manager.ui:132 +#| msgid "Used to encrypt email and files" +msgid "Used to encrypt emails and files" +msgstr "Izmanto, lai šifrētu e-pastu un datnes" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Paroļu saišķis" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Tiek izmantots lietotņu un tīkla paroļu glabāšanai" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Droši glabā paroli vai noslēpumu" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Tiek izmantots, lai pieprasītu sertifikātu" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importēt no datnes…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Izveidot jaunu atslēgu vai vienumu" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Atpakaļ" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Meklēt atslēgu vai paroli" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filtrs" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Šī kolekcija izskatās tukša" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Atslēgu saišķis ir slēgts" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Atslēgt" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Kopēt noslēpumu" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Eksportēt…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Īpašības" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Konfigurēt atslēgu drošajai čaulai…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "Aiz_slēgt" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Atslēgt" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "Ī_pašības" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Neizdevās aizslēgt" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Drošā čaula" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Atslēgas, kas tiek izmantotas, lai pieslēgtos citiem datoriem" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Vai tiešām vēlaties dzēst drošās čaulas atslēgu “%s”?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Vai tiešām vēlaties dzēst %u drošās čaulas atslēgu?" +msgstr[1] "Vai tiešām vēlaties dzēst %u drošās čaulas atslēgas?" +msgstr[2] "Vai tiešām vēlaties dzēst %u drošās čaulas atslēgu?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Drošās SSH atslēgas" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Publiskās SSH atslēgas" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH atslēga" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Šai atslēgai nav pieejama datne ar publiskās atslēgas daļu." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Neizdevās ielādēt tikko izveidoto drošās čaulas atslēgu" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Neizdevās izveidot drošās čaulas atslēgu" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Izveido drošās čaulas atslēgu" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 biti" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 biti" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Nezināms atslēgas tips!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Nezināms tips" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Neizdevās pārsaukt atslēgu." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Neizdevās nomainīt atslēgas autorizāciju." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Neizdevās nomainīt atslēgas paroli." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Kļūda, dzēšot SSH atslēgu." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Personīgā SSH atslēga" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH atslēga" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Nenolasāma drošās čaulas atslēga)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Drošās čaulas atslēga" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Attālinātā saimniekdatora parole" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Ievadiet atslēgas paroli" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Parole jaunajai drošās čaulas atslēgai" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Importē atslēgu: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Importē atslēgu. Ievadiet paroli" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Ievadiet drošās čaulas paroli:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Vecā atslēgas parole" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Ievadiet veco paroli %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Jaunā atslēgas parole" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Ievadiet jauno paroli %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Atkārtoti ievadiet jauno paroli: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Jauna drošās čaulas atslēga" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Drošās čaulas (Secure Shell jeb SSH) atslēga ļauj jums droši savienoties ar " +"citiem datoriem." + +#: ssh/seahorse-ssh-generate.ui:78 +#| msgid "_Description:" +msgid "_Description" +msgstr "_Apraksts" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Jūsu e-pasta adrese, vai jebkurš cits atgādinājums par to, kam šis saišķis " +"domāts." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Ja ir jau kāds dators, ar kuru jūs vēlaties šo atslēgu izmantot, jūs to " +"varat iestatīt, lai tas atpazītu jūsu atslēgu." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "Izveidot _tikai atslēgu" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Izveidot un iestatīt" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH atslēgas īpašības" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nosaukums" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritms" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Atslēgas garums" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Atrašanās vieta" + +#: ssh/seahorse-ssh-key-properties.ui:228 +#| msgid "Public PGP Key" +msgid "Public Key" +msgstr "Publiskā atslēga" + +#: ssh/seahorse-ssh-key-properties.ui:243 +#| msgid "Copy to the clipboard" +msgid "Copy public key to clipboard" +msgstr "Kopēt publisko atslēgu uz starpliktuvi" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Attālinātā piekļuve" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Ļauj piekļūt šim datoram attālināti" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Eksportēt" + +#: ssh/seahorse-ssh-key-properties.ui:362 +#| msgid "Delete SSH Key" +msgid "_Delete SSH Key" +msgstr "_Dzēst SSH atslēgu" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Iestatīt datoru SSH savienojumam" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Lai izmantotu jūsu drošās čaulas atslēgu ar citu datoru kas izmanto SSH, " +"jums jābūt jau izveidotam kontam uz tā." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Servera adrese:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "piemēram: datnuserveris.piemers.lv:ports" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Ierakstīšanās vārds:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "_Iestatīt" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH atslēgas" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Šai atslēgai nav pieejama privātās atslēgas datne." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Neizdevās nokonfigurēt attālinātā datora drošās čaulas atslēgas." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Konfigurē drošās čaulas atslēgas…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse ir GNOME lietotne, kas pārvalda šifrēšanas atslēgas. Tā arī ir " +#~ "integrēta ar nautilus, gedit un citām vietām šifrēšanas darbībām." + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "OK" +#~ msgstr "Labi" + +#~ msgid "Keyring is unlocked" +#~ msgstr "Atslēgu saišķis ir atslēgts" + +#~ msgid "Lock" +#~ msgstr "Aizslēgt" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Neizdevās pievienot apakšatslēgu" + +#~ msgid "Full _Name:" +#~ msgstr "Pilns _vārds:" + +#~ msgid "_Email Address:" +#~ msgstr "_E-pasta adrese:" + +#~| msgid "Couldn’t add keyring" +#~ msgid "Combine all keyrings" +#~ msgstr "Apvienot visus atslēgu saišķus" + +#~ msgid "_File" +#~ msgstr "_Datne" + +#~ msgid "_Edit" +#~ msgstr "_Rediģēt" + +#~ msgid "Delete selected items" +#~ msgstr "Dzēst izvēlētās vienības" + +#~ msgid "Show the properties of this item" +#~ msgstr "Rādīt šī vienuma īpašības" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Rādīt šī saišķa īpašības" + +#~ msgid "Prefere_nces" +#~ msgstr "Ies_tatījumi" + +#~ msgid "Change preferences for this program" +#~ msgstr "Mainīt šīs programmas iestatījumus" + +#~ msgid "_View" +#~ msgstr "_Skats" + +#~ msgid "_About" +#~ msgstr "P_ar" + +#~ msgid "About this program" +#~ msgstr "Par programmu" + +#~ msgid "_Contents" +#~ msgstr "_Saturs" + +#~ msgid "Show Seahorse help" +#~ msgstr "Parādīt Seahorse palīdzību" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Jauns paroļu saišķis" + +#~ msgid "New password…" +#~ msgstr "Jauna parole…" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "Lietotnes parasti glabā jaunas paroles noklusējuma saišķī." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Izmainīt atslēgšanas paroli paroļu saišķim" + +#~ msgid "_Show Password" +#~ msgstr "_Parādīt paroli" + +#~ msgid "PGP Key" +#~ msgstr "PGP atslēga" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Importē atslēgas no atslēgu serveriem" + +#~ msgid "_Remote" +#~ msgstr "_Attālināta" + +#~ msgid "Close this window" +#~ msgstr "Aizvērt šo logu" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Importēt izvēlētās atslēgas lokālajā atslēgu riņķī" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Publicēt un/vai sinhronizēt tavas atslēgas ar tiešsaistē esošajām." + +#~ msgid "Marginal" +#~ msgstr "Daļēji" + +#~ msgid "Full" +#~ msgstr "Pilnībā" + +#~ msgid "Ultimate" +#~ msgstr "Gandrīz" + +#~ msgid "Photo " +#~ msgstr "Fotogrāfija " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nosaukums:" + +#~ msgid "Email:" +#~ msgstr "E-pasts:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Atšifrēt datnes un aizsūtīt sev." + +#~ msgid "Private PGP Key" +#~ msgstr "Privātā PGP atslēga" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Šifrēt datnes un e-pastus un nosūtīt tos atslēgas īpašniekam " + +#~ msgid "- System Settings" +#~ msgstr "- Sistēmas iestatījumi" + +#~ msgid "Don't display a window" +#~ msgstr "Nerādīt logu" + +#~ msgid "_New" +#~ msgstr "_Jauns" + +#~ msgid "Close this program" +#~ msgstr "Aizvērt šo programmu" + +#~ msgid "_New…" +#~ msgstr "_Jauns…" + +#~ msgid "_Import…" +#~ msgstr "_Importēt…" + +#~ msgid "_Paste" +#~ msgstr "_Ielīmēt" + +#~ msgid "Import from the clipboard" +#~ msgstr "Importēt no starpliktuves" + +#~ msgid "By _Keyring" +#~ msgstr "Pēc _saišķa" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Rādīt tikai personīgās atslēgas, sertifikātus un paroles" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Rādīt tikai uzticamās atslēgas, sertifikātus un paroles" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Rādīt visas atslēgas, sertifikātus un paroles" + +#~ msgid "New item" +#~ msgstr "Jauns vienums" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "Izvēlietie_s izveidojamās vienības tipu:" + +#~ msgid "Continue" +#~ msgstr "Turpināt" + +#~ msgid "First time options:" +#~ msgstr "Pirmās reizes opcijas" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Lai sāktu ar šifrēšanu, jums būs nepieciešamas atslēgas." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Importēt eksistējošas atslēgas no datnes:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Izveidot sev jaunu atslēgu: " + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Nosūtīt publisko drošās čaulas atslēgu uz citu datoru un aktivizēt " +#~ "kontus, kuri izmantos šo atslēgu." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Izmanto, lai piekļūtu citiem datoriem (piem.: caur termināli)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Nosaukums:" + +#~ msgid "Identifier:" +#~ msgstr "Identifikators:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "Šīs atslēgas īpašnieks ir _autorizēts, lai pieslēgtos šim datoram" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Attiecas tikai uz %s kontu." + +#~ msgid "Key length:" +#~ msgstr "Atslēgas garums:" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%d.%m.%Y." + +#~ msgid "Name:" +#~ msgstr "Nosaukums:" + +#~ msgid "Keyring" +#~ msgstr "Saišķis" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Vēl nav ielādējies meklēšanas nodrošinātājs" diff --git a/po/mai.po b/po/mai.po new file mode 100644 index 00000000..f321117c --- /dev/null +++ b/po/mai.po @@ -0,0 +1,2955 @@ +# translation of seahorse.master.po to Maithili +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Sangeeta Kumari , 2009. +msgid "" +msgstr "" +"Project-Id-Version: seahorse.master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=seahorse&component=general\n" +"POT-Creation-Date: 2009-09-11 11:08+0000\n" +"PO-Revision-Date: 2009-09-11 20:52+0530\n" +"Last-Translator: Sangeeta Kumari \n" +"Language-Team: Maithili \n" +"Language: mai\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n\n" +"X-Generator: KBabel 1.11.4\n" + +#: ../daemon/seahorse-daemon.c:69 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "" + +#: ../daemon/seahorse-daemon.c:87 +msgid "couldn't fork process" +msgstr "" + +#: ../daemon/seahorse-daemon.c:93 +msgid "couldn't create new process group" +msgstr "" + +#: ../daemon/seahorse-daemon.c:207 +msgid "Encryption Daemon (Seahorse)" +msgstr "" + +#: ../daemon/seahorse-daemon.desktop.in.in.h:1 +msgid "Seahorse Daemon" +msgstr "" + +#: ../daemon/seahorse-service.c:151 ../daemon/seahorse-service.c:175 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "" + +#: ../daemon/seahorse-service.c:224 ../daemon/seahorse-service-keyset.c:135 +#: ../daemon/seahorse-service-keyset.c:164 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:160 +#, c-format +msgid "Signed by expired on %s." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:161 +msgid "Invalid Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:167 +#, c-format +msgid "Signed by on %s Expired." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:168 +msgid "Expired Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:174 +#, c-format +msgid "Signed by Revoked on %s." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:175 +msgid "Revoked Signature" +msgstr "" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:181 +#, c-format +msgid "Signed by on %s." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:182 +msgid "Good Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:187 +msgid "Signing key not in keyring." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:188 +msgid "Unknown Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:192 +msgid "Bad or forged signature. The signed data was modified." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:193 +msgid "Bad Signature" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:201 +msgid "Couldn't verify signature." +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:257 +#: ../daemon/seahorse-service-crypto.c:364 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:264 +#: ../daemon/seahorse-service-crypto.c:371 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:276 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:284 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:293 +#, c-format +msgid "No recipients specified" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:359 +#, c-format +msgid "No signer specified" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:414 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:477 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "" + +#: ../daemon/seahorse-service-keyset.c:200 +#, c-format +msgid "Invalid key id: %s" +msgstr "" + +#: ../daemon/seahorse-sharing.c:72 ../daemon/seahorse-sharing.c:216 +msgid "Couldn't share keys" +msgstr "" + +#: ../daemon/seahorse-sharing.c:73 +msgid "Can't publish discovery information on the network." +msgstr "" + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s". +#: ../daemon/seahorse-sharing.c:93 +#, c-format +msgid "%s's encryption keys" +msgstr "" + +#: ../data/seahorse.schemas.in.h:1 +msgid "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." +msgstr "" + +#: ../data/seahorse.schemas.in.h:2 +msgid "Auto Retrieve Keys" +msgstr "" + +#: ../data/seahorse.schemas.in.h:3 +msgid "Auto Sync Keys" +msgstr "" + +#: ../data/seahorse.schemas.in.h:4 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:5 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the type column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:8 +msgid "Enable DNS-SD sharing" +msgstr "" + +#: ../data/seahorse.schemas.in.h:9 +msgid "" +"Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +"running and must be built with HKP and DNS-SD support." +msgstr "" + +#: ../data/seahorse.schemas.in.h:10 +msgid "ID of the default key" +msgstr "" + +#: ../data/seahorse.schemas.in.h:11 +msgid "" +"If set to true, then files encrypted with seahorse will be ASCII armor " +"encoded." +msgstr "" + +#: ../data/seahorse.schemas.in.h:12 +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "" + +#: ../data/seahorse.schemas.in.h:13 +msgid "Last key server search pattern" +msgstr "" + +#: ../data/seahorse.schemas.in.h:14 +msgid "Last key servers used" +msgstr "" + +#: ../data/seahorse.schemas.in.h:15 +msgid "Last key used to sign a message." +msgstr "" + +#: ../data/seahorse.schemas.in.h:16 +msgid "PGP Key servers" +msgstr "" + +#: ../data/seahorse.schemas.in.h:17 +msgid "Publish keys to this key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:18 +msgid "Show expires column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:19 +msgid "Show trust column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:20 +msgid "Show type column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Show validity column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:22 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name' and " +"'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "" + +#: ../data/seahorse.schemas.in.h:23 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." +msgstr "" + +#: ../data/seahorse.schemas.in.h:24 +msgid "The ID of the last secret key used to sign a message." +msgstr "" + +#: ../data/seahorse.schemas.in.h:25 +msgid "The column to sort the recipients by" +msgstr "" + +#: ../data/seahorse.schemas.in.h:26 +msgid "The column to sort the seahorse keys by" +msgstr "" + +#: ../data/seahorse.schemas.in.h:27 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" + +#: ../data/seahorse.schemas.in.h:28 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" + +#: ../data/seahorse.schemas.in.h:29 +msgid "The last search pattern searched for against a key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:30 +msgid "This specifies the default key to use for certain operations, mainly signing." +msgstr "" + +#: ../data/seahorse.schemas.in.h:31 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" + +#: ../data/seahorse.schemas.in.h:32 +msgid "" +"Whether or not modified keys should be automatically synced with the default " +"key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:33 +msgid "Whether to always encrypt to default key" +msgstr "" + +#: ../data/seahorse.schemas.in.h:34 +msgid "Whether to use ASCII Armor" +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.c:60 ../gkr/seahorse-gkr-add-keyring.c:59 +msgid "Couldn't add keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +msgid "Add Password" +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:17 ../pgp/seahorse-revoke.xml.h:5 +msgid "_Description:" +msgstr "वर्णन (_D):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Keyring:" +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Password:" +msgstr "कूटशब्द (_P):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +msgid "_Show Password" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:470 +msgid "Web Password" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:472 +msgid "Network Password" +msgstr "नेटवर्क कूटशब्द" + +#: ../gkr/seahorse-gkr-item.c:474 ../gkr/seahorse-gkr-item-properties.c:107 +msgid "Password" +msgstr "कूटशब्द" + +#: ../gkr/seahorse-gkr-item-commands.c:78 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "" + +#: ../gkr/seahorse-gkr-item-commands.c:81 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "" +msgstr[1] "" + +#: ../gkr/seahorse-gkr-item-properties.c:66 +msgid "Access a network share or resource" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a website" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Unlocks a PGP key" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a Secure Shell key" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Saved password or login" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:102 +msgid "Network Credentials" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:245 +msgid "Couldn't change password." +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:347 +msgid "Couldn't set description." +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:641 +msgid "Couldn't set application access." +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +msgid "Password:" +msgstr "कूटशब्द:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 +msgid "Path:" +msgstr " पथ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +msgid "Permissions:" +msgstr "अनुमति:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Technical Details:" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Applications" +msgstr "अनुप्रयोग" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:72 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Details" +msgstr "विवरण" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Key" +msgstr "कुँजी" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Key Properties" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +msgid "Login:" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +msgid "Server:" +msgstr "सर्वर:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +msgid "Show pass_word" +msgstr "कूटशब्द देखाबू (_w)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +msgid "Type:" +msgstr "प्रकार:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:14 +msgid "Use:" +msgstr "" + +#. To translators: This is the infinitive not the imperative. This string refers to the ability of an application to delete this secret from its key ring. +#: ../gkr/seahorse-gkr-item-properties.xml.h:16 +msgid "_Delete" +msgstr "मेटाबू (_D)" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:19 +msgid "_Read" +msgstr "पढ़ू (_R)" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:21 +msgid "_Write" +msgstr "लिखू (_W)" + +#: ../gkr/seahorse-gkr-keyring.c:193 +msgid "Listing passwords" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.c:354 +#, c-format +msgid "Passwords: %s" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.c:355 +#, c-format +msgid "Passwords: %s" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:112 +msgid "Password Keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:113 +msgid "Used to store application and network passwords" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:114 +msgid "Stored Password" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:115 +msgid "Safely store a password or secret." +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:129 +msgid "Couldn't unlock keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:170 +msgid "Couldn't lock keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:211 +msgid "Couldn't set default keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:250 +msgid "Couldn't change keyring password" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:281 +msgid "_Lock" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:282 +msgid "" +"Lock the password storage keyring so a master password is required to unlock " +"it." +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:283 +msgid "_Unlock" +msgstr "अनलाक करू (_U)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:284 +msgid "" +"Unlock the password storage keyring with a master password so it is " +"available for use." +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:285 +msgid "_Set as default" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:286 +msgid "Applications usually store new passwords in the default keyring." +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:287 +msgid "Change _Password" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:288 +msgid "Change the unlock password of the password storage keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-commands.c:353 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "" + +#. ----------------------------------------------------------------------------- +#. * PUBLIC +#. +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Created:" +msgstr "बनएलक:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +msgid "Keyring" +msgstr "कीरिंग" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring Properties" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "_Name:" +msgstr "नाम (_N):" + +#: ../gkr/seahorse-gkr-operation.c:168 +msgid "Access to the key ring was denied" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:171 +msgid "The gnome-keyring daemon is not running" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:174 +msgid "The key ring has already been unlocked" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:177 +msgid "No such key ring exists" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:180 +msgid "Couldn't communicate with key ring daemon" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:183 +msgid "The item already exists" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:189 +msgid "Internal error accessing gnome-keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:238 ../gkr/seahorse-gkr-operation.c:264 +msgid "Saving item..." +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:300 +msgid "Deleting item..." +msgstr "" + +#: ../gkr/seahorse-gkr-operation.c:325 +msgid "Deleting keyring..." +msgstr "" + +#: ../gkr/seahorse-gkr-source.c:234 +msgid "Listing password keyrings" +msgstr "" + +#: ../libcryptui/cryptui.c:272 +msgid "" +"No encryption keys were found with which to perform the operation you " +"requested. The program Passwords and Encryption Keys will now be " +"started so that you may either create a key or import one." +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:173 +msgid "All Keys" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:174 +msgid "Selected Recipients" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:175 +msgid "Search Results" +msgstr "खोजक परिणाम" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:185 +msgid "Search _for:" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:243 +msgid "None (Don't Sign)" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:256 +#, c-format +msgid "Sign this message as %s" +msgstr "" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:278 +msgid "_Sign message as:" +msgstr "" + +#. TODO: Icons +#. The name column +#: ../libcryptui/cryptui-key-list.c:140 +#: ../pgp/seahorse-pgp-key-properties.c:839 +#: ../src/seahorse-key-manager-store.c:828 +msgid "Name" +msgstr "नाम" + +#. The keyid column +#: ../libcryptui/cryptui-key-list.c:145 +#: ../pgp/seahorse-pgp-key-properties.c:1743 +#: ../src/seahorse-key-manager-store.c:840 +msgid "Key ID" +msgstr "कुँजी ID" + +#: ../libegg/egg-datetime.c:313 +msgid "Display flags" +msgstr "" + +#: ../libegg/egg-datetime.c:314 +msgid "Displayed date and/or time properties" +msgstr "" + +#: ../libegg/egg-datetime.c:319 +msgid "Lazy mode" +msgstr "" + +#: ../libegg/egg-datetime.c:320 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "" + +#: ../libegg/egg-datetime.c:325 +msgid "Year" +msgstr "वर्ष" + +#: ../libegg/egg-datetime.c:326 +msgid "Displayed year" +msgstr "" + +#: ../libegg/egg-datetime.c:331 +msgid "Month" +msgstr "माह" + +#: ../libegg/egg-datetime.c:332 +msgid "Displayed month" +msgstr "" + +#: ../libegg/egg-datetime.c:337 +msgid "Day" +msgstr "दिन" + +#: ../libegg/egg-datetime.c:338 +msgid "Displayed day of month" +msgstr "" + +#: ../libegg/egg-datetime.c:343 +msgid "Hour" +msgstr "घंटा" + +#: ../libegg/egg-datetime.c:344 +msgid "Displayed hour" +msgstr "" + +#: ../libegg/egg-datetime.c:349 +msgid "Minute" +msgstr "मिनट" + +#: ../libegg/egg-datetime.c:350 +msgid "Displayed minute" +msgstr "" + +#: ../libegg/egg-datetime.c:355 +msgid "Second" +msgstr "दोसर" + +#: ../libegg/egg-datetime.c:356 +msgid "Displayed second" +msgstr "" + +#: ../libegg/egg-datetime.c:361 +msgid "Lower limit year" +msgstr "" + +#: ../libegg/egg-datetime.c:362 +msgid "Year part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:367 +msgid "Upper limit year" +msgstr "" + +#: ../libegg/egg-datetime.c:368 +msgid "Year part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:373 +msgid "Lower limit month" +msgstr "" + +#: ../libegg/egg-datetime.c:374 +msgid "Month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:379 +msgid "Upper limit month" +msgstr "" + +#: ../libegg/egg-datetime.c:380 +msgid "Month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:385 +msgid "Lower limit day" +msgstr "" + +#: ../libegg/egg-datetime.c:386 +msgid "Day of month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:391 +msgid "Upper limit day" +msgstr "" + +#: ../libegg/egg-datetime.c:392 +msgid "Day of month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:397 +msgid "Lower limit hour" +msgstr "" + +#: ../libegg/egg-datetime.c:398 +msgid "Hour part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:403 +msgid "Upper limit hour" +msgstr "" + +#: ../libegg/egg-datetime.c:404 +msgid "Hour part of the upper time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:409 +msgid "Lower limit minute" +msgstr "" + +#: ../libegg/egg-datetime.c:410 +msgid "Minute part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:415 +msgid "Upper limit minute" +msgstr "" + +#: ../libegg/egg-datetime.c:416 +msgid "Minute part of the upper time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:421 +msgid "Lower limit second" +msgstr "" + +#: ../libegg/egg-datetime.c:422 +msgid "Second part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:427 +msgid "Upper limit second" +msgstr "" + +#: ../libegg/egg-datetime.c:428 +msgid "Second part of the upper time limit" +msgstr "" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:470 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:492 +msgid "Date" +msgstr "दिनांक" + +#: ../libegg/egg-datetime.c:492 +msgid "Enter the date directly" +msgstr "" + +#: ../libegg/egg-datetime.c:499 +msgid "Select Date" +msgstr "तिथि चुनू" + +#: ../libegg/egg-datetime.c:499 +msgid "Select the date from a calendar" +msgstr "तिथिपत्रीसँ तिथि चुनू" + +#: ../libegg/egg-datetime.c:517 ../libegg/egg-datetime.c:2192 +msgid "Time" +msgstr "समय" + +#: ../libegg/egg-datetime.c:517 +msgid "Enter the time directly" +msgstr "" + +#: ../libegg/egg-datetime.c:524 +msgid "Select Time" +msgstr "समय चुनू" + +#: ../libegg/egg-datetime.c:524 +msgid "Select the time from a list" +msgstr "सूचीमे सँ समय चुनू" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:791 +msgid "24hr: no" +msgstr "" + +#: ../libegg/egg-datetime.c:795 ../libegg/egg-datetime.c:1253 +#: ../libegg/egg-datetime.c:1257 +msgid "AM" +msgstr "" + +#: ../libegg/egg-datetime.c:797 ../libegg/egg-datetime.c:1254 +#: ../libegg/egg-datetime.c:1261 +msgid "PM" +msgstr "अपराह्न" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:805 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:808 +#, c-format +msgid "%02d:%02d %s" +msgstr "" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:812 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:815 +#, c-format +msgid "%02d:%02d" +msgstr "" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1169 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1234 +#, c-format +msgid "%u:%u:%u" +msgstr "" + +#: ../libegg/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "" + +#: ../libegg/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "" + +#: ../libegg/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "%s शुरू भ' रहल अछि" + +#: ../libegg/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "" + +#: ../libegg/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "" + +#: ../libegg/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "" + +#: ../libegg/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "चलाबैबला मद नहि अछि " + +#: ../libegg/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "सत्र प्रबंधकसँ संपर्क रद करू" + +#: ../libegg/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "" + +#: ../libegg/eggsmclient.c:228 +msgid "FILE" +msgstr "फाइल" + +#: ../libegg/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "सत्र प्रबंधन आईडी निर्दिष्ट करू" + +#: ../libegg/eggsmclient.c:231 ../pgp/seahorse-pgp-key-properties.c:1312 +msgid "ID" +msgstr "ID" + +#: ../libegg/eggsmclient.c:252 +msgid "Session management options:" +msgstr "" + +#: ../libegg/eggsmclient.c:253 +msgid "Show session management options" +msgstr "सत्र प्रबंधन विकल्प देखाबू" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid ":" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Host:" +msgstr "होस्ट:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Key Server Type:" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid "The port to access the server on." +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "initial temporary item" +msgstr "" + +#: ../libseahorse/seahorse-notification.c:566 +#: ../libseahorse/seahorse-notification.c:594 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "" +msgstr[1] "" + +#: ../libseahorse/seahorse-notification.c:570 +#: ../libseahorse/seahorse-notification.c:593 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "" +msgstr[1] "" + +#: ../libseahorse/seahorse-notification.c:572 +#, c-format +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "" +msgstr[1] "" + +#: ../libseahorse/seahorse-notify.xml.h:1 +msgid "Notification Messages" +msgstr "" + +#: ../libseahorse/seahorse-object.c:317 +msgid "Symmetric Key" +msgstr "" + +#: ../libseahorse/seahorse-object.c:320 +msgid "Public Key" +msgstr "सार्वजनिक कुंजी" + +#: ../libseahorse/seahorse-object.c:323 +msgid "Private Key" +msgstr "" + +#: ../libseahorse/seahorse-object.c:326 +msgid "Credentials" +msgstr "" + +#. +#. * Translators: "This object is a means of storing items such as +#. * name, email address, etc. that make up one's digital identity. +#. +#: ../libseahorse/seahorse-object.c:333 +msgid "Identity" +msgstr "" + +#: ../libseahorse/seahorse-passphrase.c:194 +msgid "Passphrase" +msgstr "कूटशब्द वाक्यांश" + +#: ../libseahorse/seahorse-passphrase.c:197 +#: ../ssh/seahorse-ssh-operation.c:480 +msgid "Password:" +msgstr "कूटशब्द: " + +#: ../libseahorse/seahorse-passphrase.c:260 +msgid "Confirm:" +msgstr "संपुष्ट करू:" + +#: ../libseahorse/seahorse-prefs.c:63 +msgid "Not a valid Key Server address." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:64 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:173 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:353 +msgid "Custom" +msgstr "पसंदीदा" + +#: ../libseahorse/seahorse-prefs.c:420 +msgid "None: Don't publish keys" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Automatically retrieve keys from _key servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "Key Servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Key Sharing" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Preferences" +msgstr "वरीयतासभ" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've " +"collected. This means they can automatically encrypt things for you or those " +"you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:9 +msgid "_Find keys via:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:10 +msgid "_Publish keys to:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:11 +msgid "_Share my keys with others on my network" +msgstr "" + +#: ../libseahorse/seahorse-progress.xml.h:1 +msgid "Progress Title" +msgstr "" + +#: ../libseahorse/seahorse-unknown.c:67 +msgid "Unavailable" +msgstr "" + +#: ../libseahorse/seahorse-util.c:237 +msgid "%Y-%m-%d" +msgstr "" + +#: ../libseahorse/seahorse-util.c:513 +msgid "Key Data" +msgstr "" + +#: ../libseahorse/seahorse-util.c:515 +msgid "Multiple Keys" +msgstr "" + +#: ../libseahorse/seahorse-util.c:771 +msgid "Couldn't run file-roller" +msgstr "" + +#: ../libseahorse/seahorse-util.c:777 +msgid "Couldn't package files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:778 +msgid "The file-roller process did not complete successfully" +msgstr "" + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:943 +msgid "All key files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:954 ../libseahorse/seahorse-util.c:1002 +#: ../pgp/seahorse-gpgme-photos.c:242 +msgid "All files" +msgstr "सबहि फ़ाइल" + +#: ../libseahorse/seahorse-util.c:995 +msgid "Archive files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:1065 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" + +#: ../libseahorse/seahorse-util.c:1068 +msgid "_Replace" +msgstr "बदलू (_R)" + +#: ../libseahorse/seahorse-validity.c:40 ../pgp/seahorse-gpgme-subkey.c:197 +#: ../pgp/seahorse-pgp-key-properties.c:1131 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Unknown" +msgstr "अज्ञात" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1137 +msgctxt "Validity" +msgid "Never" +msgstr "कहियो नहि" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-key-properties.c:1144 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:33 +msgid "Marginal" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-key-properties.c:1150 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +msgid "Full" +msgstr "भरल" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-key-properties.c:1156 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Ultimate" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:50 +#: ../pgp/seahorse-pgp-key-properties.c:1349 +msgid "Disabled" +msgstr "अक्षम" + +#: ../libseahorse/seahorse-validity.c:52 +#: ../pgp/seahorse-pgp-key-properties.c:1345 +msgid "Revoked" +msgstr "" + +#: ../libseahorse/seahorse-widget.c:362 +#, c-format +msgid "Could not display help: %s" +msgstr "मद्दति देखाओल नहि जाए सकल: %s" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Expiration Date:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "Generate a new subkey" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +msgid "If key never expires" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Key _Type:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Never E_xpires" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Create the new user ID" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:3 ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Full _Name:" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Key Co_mment:" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:5 +msgid "Must be at least 5 characters long" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:6 +msgid "Optional comment describing key" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:7 +msgid "Optional email address" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:8 ../pgp/seahorse-pgp-generate.xml.h:13 +msgid "_Email Address:" +msgstr "" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "C_hange" +msgstr "" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:4 +msgid "Revoke key" +msgstr "" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "_Never expires" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:144 +msgid "Couldn't add subkey" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:163 +#, c-format +msgid "Add subkey to %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:179 ../pgp/seahorse-gpgme-generate.c:96 +msgid "DSA (sign only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:187 +msgid "ElGamal (encrypt only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:193 ../pgp/seahorse-gpgme-generate.c:97 +msgid "RSA (sign only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:199 +msgid "RSA (encrypt only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-uid.c:85 +msgid "Couldn't add user id" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-uid.c:107 +#, c-format +msgid "Add user ID to %s" +msgstr "" + +#: ../pgp/seahorse-gpgme.c:51 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:58 +msgid "Invalid expiry date" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:59 +msgid "The expiry date must be in the future" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:72 +msgid "Couldn't change expiry date" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:131 +#, c-format +msgid "Expiry: %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:65 +msgid "PGP Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:66 +msgid "Used to encrypt email and files" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:95 +msgid "DSA Elgamal" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:106 +msgid "Couldn't generate PGP key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:223 +msgid "Couldn't generate key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:225 +msgid "Generating key" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "आकार बदलू (_R)" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "सभ चित्र फाइलसभ" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:261 +msgid "Choose Photo to Add to Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:290 ../pgp/seahorse-gpgme-photos.c:294 +msgid "Couldn't add photo" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:291 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:320 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:333 +msgid "Couldn't delete photo" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:70 +msgid "Couldn't revoke subkey" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:91 +#, c-format +msgid "Revoke: %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:102 +msgid "No reason" +msgstr "कोनो कारण नहि" + +#: ../pgp/seahorse-gpgme-revoke.c:103 +msgid "No reason for revoking key" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:109 +msgid "Compromised" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:110 +msgid "Key has been compromised" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:116 +msgid "Superseded" +msgstr "निकालि देलक" + +#: ../pgp/seahorse-gpgme-revoke.c:117 +msgid "Key has been superseded" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:123 +msgid "Not Used" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:124 +msgid "Key is no longer used" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:161 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:173 +msgid "Couldn't add revoker" +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:96 +msgid "Couldn't sign key" +msgstr "" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:149 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:150 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:99 +#, c-format +msgid "Wrong passphrase." +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:103 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:105 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:108 +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Enter new passphrase" +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:110 +msgid "Enter passphrase" +msgstr "" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../pgp/seahorse-gpgme-source.c:722 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "" +msgstr[1] "" + +#: ../pgp/seahorse-gpgme-source.c:777 +msgid "Loading Keys..." +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:820 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:910 ../src/seahorse-key-manager.c:538 +msgid "Importing Keys" +msgstr "" + +#: ../pgp/seahorse-gpgme-source.c:946 +msgid "Exporting Keys" +msgstr "" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:330 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:332 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:576 +msgid "Searching for keys..." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:647 +msgid "Uploading keys..." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:725 +msgid "Retrieving keys..." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:831 +#, c-format +msgid "Searching for keys on: %s" +msgstr "" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../pgp/seahorse-hkp-source.c:908 ../pgp/seahorse-hkp-source.c:981 +#: ../pgp/seahorse-ldap-source.c:668 +#, c-format +msgid "Connecting to: %s" +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:1005 +msgid "HTTP Key Server" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:459 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:641 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:719 +#, c-format +msgid "Resolving server address: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:955 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:983 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:1089 +msgid "Retrieving remote keys..." +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:1221 +msgid "Sending keys to key server..." +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:1423 +msgid "LDAP Key Server" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "_Sign Key..." +msgstr "" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "Sign public key" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.c:171 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.c:176 +#, c-format +msgid "Are you sure you want to permanently delete %d keys and identities?" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.c:178 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgstr "" + +#: ../pgp/seahorse-pgp-commands.c:180 +#, c-format +msgid "Are you sure you want to permanently delete %d identities?" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "_Advanced key options" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "Algorithms here" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:4 +msgid "C_reate" +msgstr "बनाबू (_r)" + +#: ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "E_xpiration Date:" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:6 ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "Encryption _Type:" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Generate a new key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Key _Strength (bits):" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +msgid "Ne_ver Expires" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "New PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +msgid "_Comment:" +msgstr "टिप्पणी (_C):" + +#: ../pgp/seahorse-pgp-key.c:201 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Private PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-key.c:204 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "Public PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-key.c:583 ../pgp/seahorse-pgp-key-properties.c:1347 +msgid "Expired" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:224 +msgid "Couldn't change primary user ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:241 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:251 +msgid "Couldn't delete user ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:333 +#: ../pgp/seahorse-pgp-key-properties.c:1462 +msgid "[Unknown]" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:426 +#: ../pgp/seahorse-pgp-key-properties.c:1740 +msgid "Name/Email" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:431 +msgid "Signature ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:552 +msgid "Couldn't change primary photo" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:775 +msgid "(unknown)" +msgstr "(अज्ञात)" + +#: ../pgp/seahorse-pgp-key-properties.c:778 +#, c-format +msgid "This key expired on: %s" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:946 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:955 +msgid "Couldn't delete subkey" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:991 +#: ../pgp/seahorse-pgp-key-properties.c:1425 +msgid "Unable to change trust" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1005 ../src/seahorse-viewer.c:315 +#: ../ssh/seahorse-ssh-key-properties.c:167 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1033 +#: ../ssh/seahorse-ssh-key-properties.c:191 +msgid "Export Complete Key" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1058 +#: ../ssh/seahorse-ssh-key-properties.c:213 +msgid "Couldn't export key." +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1265 +#: ../pgp/seahorse-pgp-key-properties.c:1354 +msgctxt "Expires" +msgid "Never" +msgstr "कहियो नहि" + +#. The key type column +#: ../pgp/seahorse-pgp-key-properties.c:1315 +#: ../src/seahorse-key-manager-store.c:859 +msgid "Type" +msgstr "प्रकार" + +#: ../pgp/seahorse-pgp-key-properties.c:1318 +msgid "Created" +msgstr "उत्पन्न कएल" + +#: ../pgp/seahorse-pgp-key-properties.c:1321 +msgid "Expires" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1324 +msgid "Status" +msgstr "स्थिति" + +#: ../pgp/seahorse-pgp-key-properties.c:1327 +msgid "Strength" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1351 +msgid "Good" +msgstr "अच्छा" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +msgid "Actions" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgid "Comment:" +msgstr "टिप्पणी:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgid "Dates" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgid "Email:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgid "Fingerprint" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +msgid "Key ID:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +msgid "Key Names and Signatures" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Name:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "Photo " +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Technical Details" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:10 +msgid "This key has been revoked" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "This key has expired" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:12 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Type:" +msgstr "टाइप:" + +#. To translators: This is the noun not the verb. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:15 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +#: ../ssh/seahorse-ssh-key-properties.xml.h:13 +msgid "Use:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "_Subkeys" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +msgid "Add" +msgstr "जोड़ू" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:18 +msgid "Add a photo to this key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Change _Passphrase" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +msgid "Decrypt files and email sent to you." +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:22 +msgid "Delete" +msgstr "मेटाबू" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +msgid "Expire" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:22 +msgid "Expires:" +msgstr "अवधि पूर्ण अछि:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Export" +msgstr "निर्यात" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +msgid "Go to next photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Go to previous photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +msgid "Key ID:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Make this photo the primary photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "Names and Signatures" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +msgid "Never" +msgstr "कहियो नहि" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:36 +msgid "Override Owner _Trust:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "Owner" +msgstr "मालिक" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +msgid "Primary" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Remove this photo from this key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +msgid "Revoke" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +msgid "Sign" +msgstr "हस्ताक्षर करू" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "Strength:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "_Add Name" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "_Export Complete Key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgid "Dates:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +#: ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Fingerprint:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgid "Indicate Trust:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Your trust of this key" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:16 +msgid "_Other Names:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgid "_People who have signed this key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Encrypt files and email to the key's owner " +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "Fully" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:27 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:29 +#, no-c-format +msgid "If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:32 +msgid "Marginally" +msgstr "" + +#. Trust column +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../src/seahorse-key-manager-store.c:853 +msgid "Trust" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +msgid "Ultimately" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "You _Trust the Owner:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Your trust is manually specified on the Details tab." +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "_Only display the signatures of people I trust" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "_Revoke Signature" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Sign this Key" +msgstr "" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Optional description of revocation" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "Re_voke" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:3 +msgid "Reason for revoking the key" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "_Reason:" +msgstr "" + +#: ../pgp/seahorse-signer.c:62 +msgid "You have no personal PGP keys that can be used to sign a document or message." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "How carefully have you checked this key?" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "How others will see this signature:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Sign key as:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone. " +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "Key Name" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "I can _revoke this signature at a later date." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "Sign Key" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "_Casually" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Not at all" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "_Others may not see this signature" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "_Sign" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Very Carefully" +msgstr "" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-certificate.c:107 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:68 +msgid "Certificate" +msgstr "प्रमाणपत्र" + +#: ../pkcs11/seahorse-pkcs11-commands.c:108 +#, c-format +msgid "Are you sure you want to delete the certificate '%s'?" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-commands.c:111 +#, c-format +msgid "Are you sure you want to delete %d certificate?" +msgid_plural "Are you sure you want to delete %d certificates?" +msgstr[0] "" +msgstr[1] "" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "" + +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Con_firm Passphrase:" +msgstr "" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "Confirm new passphrase" +msgstr "" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "New _Passphrase:" +msgstr "" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "" + +#: ../src/seahorse.desktop.in.in.h:2 ../src/seahorse-key-manager.c:853 +msgid "Passwords and Encryption Keys" +msgstr "" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "" + +#: ../src/seahorse-generate-select.xml.h:2 +msgid "C_ontinue" +msgstr "जारी राखू (_o)" + +#: ../src/seahorse-generate-select.xml.h:3 +msgid "Create New ..." +msgstr "" + +#: ../src/seahorse-key-manager.c:233 ../src/seahorse-keyserver-results.c:108 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "" +msgstr[1] "" + +#: ../src/seahorse-key-manager.c:404 ../src/seahorse-key-manager.c:464 +#: ../src/seahorse-key-manager.c:527 ../src/seahorse-viewer.c:482 +msgid "Couldn't import keys" +msgstr "" + +#: ../src/seahorse-key-manager.c:409 ../src/seahorse-viewer.c:487 +msgid "Imported keys" +msgstr "" + +#: ../src/seahorse-key-manager.c:458 +msgid "Importing keys" +msgstr "" + +#: ../src/seahorse-key-manager.c:481 ../ssh/seahorse-ssh-operation.c:1017 +msgid "Import Key" +msgstr "" + +#: ../src/seahorse-key-manager.c:527 +msgid "Unrecognized key type, or invalid data format" +msgstr "" + +#: ../src/seahorse-key-manager.c:721 ../src/seahorse-keyserver-results.c:207 +msgid "_Remote" +msgstr "" + +#: ../src/seahorse-key-manager.c:723 +msgid "Close this program" +msgstr "" + +#: ../src/seahorse-key-manager.c:724 +msgid "_New..." +msgstr "नवीन (_N)..." + +#: ../src/seahorse-key-manager.c:725 +msgid "Create a new key or item" +msgstr "" + +#: ../src/seahorse-key-manager.c:726 +msgid "_Import..." +msgstr "आयात करू (_I)..." + +#: ../src/seahorse-key-manager.c:727 +msgid "Import from a file" +msgstr "" + +#: ../src/seahorse-key-manager.c:729 +msgid "Import from the clipboard" +msgstr "" + +#: ../src/seahorse-key-manager.c:734 ../src/seahorse-keyserver-results.c:217 +msgid "_Find Remote Keys..." +msgstr "" + +#: ../src/seahorse-key-manager.c:735 ../src/seahorse-keyserver-results.c:218 +msgid "Search for keys on a key server" +msgstr "" + +#: ../src/seahorse-key-manager.c:736 +msgid "_Sync and Publish Keys..." +msgstr "" + +#: ../src/seahorse-key-manager.c:737 +msgid "Publish and/or synchronize your keys with those online." +msgstr "" + +#: ../src/seahorse-key-manager.c:742 +msgid "T_ypes" +msgstr "" + +#: ../src/seahorse-key-manager.c:742 +msgid "Show type column" +msgstr "" + +#: ../src/seahorse-key-manager.c:744 +msgid "_Expiry" +msgstr "" + +#: ../src/seahorse-key-manager.c:744 +msgid "Show expiry column" +msgstr "" + +#: ../src/seahorse-key-manager.c:746 +msgid "_Trust" +msgstr "" + +#: ../src/seahorse-key-manager.c:746 +msgid "Show owner trust column" +msgstr "" + +#: ../src/seahorse-key-manager.c:748 +msgid "_Validity" +msgstr "" + +#: ../src/seahorse-key-manager.c:748 +msgid "Show validity column" +msgstr "" + +#: ../src/seahorse-key-manager.c:922 +msgid "Filter:" +msgstr "फिल्टर:" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:3 +msgid "Import existing keys from a file:" +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "My _Personal Keys" +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "Other _Keys" +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:6 +msgid "To get started with encryption you will need keys." +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:7 ../src/seahorse-viewer.c:546 +msgid "_Import" +msgstr "आयात करू (_I)" + +#: ../src/seahorse-key-manager.xml.h:8 +msgid "_Passwords" +msgstr "" + +#: ../src/seahorse-key-manager-store.c:648 ../src/seahorse-viewer.c:282 +msgid "Couldn't export keys" +msgstr "" + +#: ../src/seahorse-key-manager-store.c:846 +msgid "Validity" +msgstr "वैधता" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:865 +msgid "Expiration Date" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:209 +msgid "Close this window" +msgstr "एहि विंडोकेँ बन्न करू" + +#: ../src/seahorse-keyserver-results.c:210 +msgid "_Expand All" +msgstr "सबहि विस्तारित करू (_E)" + +#: ../src/seahorse-keyserver-results.c:211 +msgid "Expand all listings" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:212 +msgid "_Collapse All" +msgstr "सबहि कोलैप्स करू (_C)" + +#: ../src/seahorse-keyserver-results.c:213 +msgid "Collapse all listings" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:275 +msgid "Remote Keys" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:277 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "" + +#: ../src/seahorse-keyserver-search.xml.h:1 +msgid "Key Servers:" +msgstr "" + +#: ../src/seahorse-keyserver-search.xml.h:2 +msgid "Shared Keys Near Me:" +msgstr "" + +#: ../src/seahorse-keyserver-search.xml.h:3 +msgid "Find Remote Keys" +msgstr "" + +#: ../src/seahorse-keyserver-search.xml.h:4 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" + +#: ../src/seahorse-keyserver-search.xml.h:5 +msgid "Where to search:" +msgstr "" + +#: ../src/seahorse-keyserver-search.xml.h:6 +msgid "_Search" +msgstr "खोजू (_S)" + +#: ../src/seahorse-keyserver-search.xml.h:7 +msgid "_Search for keys containing: " +msgstr "" + +#: ../src/seahorse-keyserver-sync.c:45 +msgid "Couldn't publish keys to server" +msgstr "" + +#: ../src/seahorse-keyserver-sync.c:61 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "" + +#: ../src/seahorse-keyserver-sync.c:155 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "" +msgstr[1] "" + +#: ../src/seahorse-keyserver-sync.c:216 +msgid "Synchronizing keys" +msgstr "" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:248 +msgid "Synchronizing keys..." +msgstr "" + +#: ../src/seahorse-keyserver-sync.xml.h:1 +msgid "X keys are selected for synchronizing" +msgstr "" + +#: ../src/seahorse-keyserver-sync.xml.h:2 +msgid "Sync Keys" +msgstr "" + +#: ../src/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" + +#: ../src/seahorse-keyserver-sync.xml.h:4 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" + +#: ../src/seahorse-keyserver-sync.xml.h:5 +msgid "_Key Servers" +msgstr "" + +#: ../src/seahorse-keyserver-sync.xml.h:6 +msgid "_Sync" +msgstr "" + +#: ../src/seahorse-main.c:62 +msgid "Version of this application" +msgstr "एहि अनुप्रयोग क' संस्करण" + +#: ../src/seahorse-main.c:78 ../src/seahorse-viewer.c:170 +msgid "Encryption Key Manager" +msgstr "" + +#: ../src/seahorse-viewer.c:141 +msgid "Contributions:" +msgstr "" + +#: ../src/seahorse-viewer.c:172 +msgid "translator-credits" +msgstr "संगीता कुमारी (sangeeta09@gmail.com)" + +#: ../src/seahorse-viewer.c:175 +msgid "Seahorse Project Homepage" +msgstr "" + +#. Top menu items +#: ../src/seahorse-viewer.c:194 +msgid "_File" +msgstr "फाइल (_F)" + +#: ../src/seahorse-viewer.c:195 +msgid "_Edit" +msgstr "संपादन (_E)" + +#: ../src/seahorse-viewer.c:196 +msgid "_View" +msgstr "देखू (_V)" + +#: ../src/seahorse-viewer.c:197 +msgid "_Help" +msgstr "मद्दति (_H)" + +#: ../src/seahorse-viewer.c:199 +msgid "Prefere_nces" +msgstr "वरीयतासभ (_n)" + +#: ../src/seahorse-viewer.c:200 +msgid "Change preferences for this program" +msgstr "" + +#: ../src/seahorse-viewer.c:203 +msgid "About this program" +msgstr "" + +#: ../src/seahorse-viewer.c:204 +msgid "_Contents" +msgstr "विषय सूची (_C)" + +#: ../src/seahorse-viewer.c:205 +msgid "Show Seahorse help" +msgstr "" + +#: ../src/seahorse-viewer.c:302 +msgid "Export public key" +msgstr "" + +#: ../src/seahorse-viewer.c:320 +msgid "Exporting keys" +msgstr "" + +#: ../src/seahorse-viewer.c:345 +msgid "Couldn't retrieve data from key server" +msgstr "" + +#. Translators: "Copied" is a verb (used as a status indicator), not an adjective for the word "keys" +#: ../src/seahorse-viewer.c:364 +msgid "Copied keys" +msgstr "" + +#: ../src/seahorse-viewer.c:384 +msgid "Retrieving keys" +msgstr "" + +#: ../src/seahorse-viewer.c:399 +msgid "Couldn't delete." +msgstr "" + +#: ../src/seahorse-viewer.c:433 +msgid "Deleting..." +msgstr "" + +#: ../src/seahorse-viewer.c:459 +#, c-format +msgid "%s is a private key. Are you sure you want to proceed?" +msgstr "" + +#: ../src/seahorse-viewer.c:507 +msgid "Importing keys from key servers" +msgstr "" + +#: ../src/seahorse-viewer.c:533 +msgid "Show properties" +msgstr "" + +#: ../src/seahorse-viewer.c:534 +msgctxt "This text refers to deleting an item from its type's backing store." +msgid "_Delete" +msgstr "मेटाबू (_D)" + +#: ../src/seahorse-viewer.c:535 +msgid "Delete selected items" +msgstr "" + +#: ../src/seahorse-viewer.c:539 +msgid "E_xport..." +msgstr "" + +#: ../src/seahorse-viewer.c:540 +msgid "Export to a file" +msgstr "" + +#: ../src/seahorse-viewer.c:542 +msgid "Copy to the clipboard" +msgstr "" + +#: ../src/seahorse-viewer.c:547 +msgid "Import selected keys to local key ring" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:99 +msgid "Enter your Secure Shell passphrase:" +msgstr "" + +#: ../ssh/seahorse-ssh-commands.c:85 +msgid "Configure Key for _Secure Shell..." +msgstr "" + +#: ../ssh/seahorse-ssh-commands.c:86 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" + +#: ../ssh/seahorse-ssh-commands.c:115 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "" + +#: ../ssh/seahorse-ssh-commands.c:118 +#, c-format +msgid "Are you sure you want to delete %d secure shell keys?" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:59 ../ssh/seahorse-ssh-key.c:91 +#: ../ssh/seahorse-ssh-key.c:95 ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:60 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:90 +msgid "Couldn't generate Secure Shell key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:205 +msgid "Creating Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "" +"Use your email address, and any other reminder you need about what this " +"key is for." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "" +"A Secure Shell (SSH) key lets you connect securely to trusted computers " +"using SSH, without entering a different password for each of them." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "DSA" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "" +"If there is already a computer you want to use this key with, you can set up " +"that computer to recognize your key now. " +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "New Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "_Create and Set Up" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Just Create Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "_Key Description:" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:87 +msgid "(Unreadable Secure Shell Key)" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "Invalid" +msgstr "अवैध" + +#: ../ssh/seahorse-ssh-key.c:116 +msgid "Private Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:119 +msgid "Public Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:71 +msgid "Couldn't rename key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:112 +msgid "Couldn't change authorization for key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:127 +msgid "Couldn't change passphrase for key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "/home/nate/.ssh/blah_rsa" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "00:00:00:00:00" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Algorithm:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:5 +msgid "Identifier:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgid "Location:" +msgstr "स्थान:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:8 +msgid "Strength:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Trust" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "E_xport Complete Key" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:23 +msgid "Used to connect to other computers." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:143 ../ssh/seahorse-ssh-operation.c:732 +#, c-format +msgid "The SSH command was terminated unexpectedly." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:151 ../ssh/seahorse-ssh-operation.c:739 +msgid "The SSH command failed." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:445 ../ssh/seahorse-ssh-operation.c:477 +msgid "Secure Shell key" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:448 +msgid "Passphrase:" +msgstr "पासफ्रेज़:" + +#. Just prompt over and over again +#: ../ssh/seahorse-ssh-operation.c:762 +msgid "Remote Host Password" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:850 +msgid "Old Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:851 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:855 +msgid "New Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:856 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Enter Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:931 +msgid "Passphrase for New Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:932 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:1013 +#, c-format +msgid "Importing key: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:1015 +msgid "Importing key. Enter passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-source.c:825 +msgid "No private key file is available for this key." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.c:45 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "" + +#. Show the progress window if necessary +#: ../ssh/seahorse-ssh-upload.c:181 +msgid "Configuring Secure Shell Keys..." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "eg: fileserver.example.com:port" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "" + diff --git a/po/meson.build b/po/meson.build new file mode 100644 index 00000000..f904cde4 --- /dev/null +++ b/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext(meson.project_name(), + preset: 'glib' +) diff --git a/po/mk.po b/po/mk.po new file mode 100644 index 00000000..9199d137 --- /dev/null +++ b/po/mk.po @@ -0,0 +1,3097 @@ +# translation of seahorse.HEAD.mk.po to Macedonian +# translation of seahorse.HEAD.po to +# translation of seahorse.HEAD.po to +# translation of seahorse.HEAD.po to +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER, 2003 +# +# Ime Prezime , 2003. +# Marko Ivanoski , 2003. +# Jovan Naumovski , 2007, 2008. +# Arangel Angov , 2008. +msgid "" +msgstr "" +"Project-Id-Version: seahorse.HEAD.mk\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-12-19 08:57+0000\n" +"PO-Revision-Date: 2012-01-02 21:36+0100\n" +"Last-Translator: Jovan N\n" +"Language-Team: Macedonian \n" +"Language: mk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" +"Plural-Forms: nplurals=2; plural= n==1 || n%10==1 ? 0 : 1\n" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "Додај приврзок со лозинки" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "Ново име на приврзок:" + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "Please choose a name for the new keyring. You will be prompted for an unlock password." +msgstr "Ве молам, одберете име за новиот приврзок. Ќе треба да дадете лозинка за отклучување." + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "Име на хост или адреса на серверот." + +#: ../gkr/seahorse-gkr-actions.c:81 +#| msgid "Password Keyrings" +msgid "New password keyring" +msgstr "Нов приврзок за лозинки" + +#: ../gkr/seahorse-gkr-actions.c:82 +#: ../gkr/seahorse-gkr-actions.c:89 +#| msgid "_Location for application passwords:" +msgid "Used to store application and network passwords" +msgstr "Се користи за зачувување на лозинките од апликациите и од мрежата" + +#: ../gkr/seahorse-gkr-actions.c:83 +#| msgid "Network Password" +msgid "New password..." +msgstr "Нова лозинка..." + +#: ../gkr/seahorse-gkr-actions.c:84 +#: ../gkr/seahorse-gkr-actions.c:91 +msgid "Safely store a password or secret." +msgstr "Безбедно зачувај лозинка или тајна." + +#: ../gkr/seahorse-gkr-actions.c:88 +#| msgid "Password Keyrings" +msgid "Password Keyring" +msgstr "Приврзок со лозинки" + +#: ../gkr/seahorse-gkr-actions.c:90 +#| msgid "Network Password" +msgid "Stored Password" +msgstr "Зачувана лозинка" + +#: ../gkr/seahorse-gkr-actions.c:151 +#| msgid "Couldn't set default password keyring" +msgid "Couldn't set default keyring" +msgstr "Не можам да поставам стандарден приврзок" + +#: ../gkr/seahorse-gkr-actions.c:183 +msgid "Couldn't change keyring password" +msgstr "Не можам да ја променам лозинката на приврзокот" + +#: ../gkr/seahorse-gkr-actions.c:209 +msgid "_Set as default" +msgstr "_Постави како стандарден" + +#: ../gkr/seahorse-gkr-actions.c:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "Апликацијата вообичаено зачувува нови лозинки во стандардниот приврзок" + +#: ../gkr/seahorse-gkr-actions.c:211 +#| msgid "Change Unlock _Password" +msgid "Change _Password" +msgstr "Промени ја _лозинката" + +#: ../gkr/seahorse-gkr-actions.c:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "Промени ја лозинката за отклучување на приврзокот за чување на лозинки" + +#: ../gkr/seahorse-gkr-add-item.c:60 +#: ../gkr/seahorse-gkr-add-keyring.c:71 +msgid "Couldn't add keyring" +msgstr "Не можам да додадам приврзок" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#| msgid "Password" +msgid "Add Password" +msgstr "Додај лозинка" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-revoke.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "_Description:" +msgstr "_Опис:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +#| msgid "_Add Keyring" +msgid "_Keyring:" +msgstr "_Приврзок:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +#| msgid "Password:" +msgid "_Password:" +msgstr "_Лозинка:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +#| msgid "Show pass_word" +msgid "_Show Password" +msgstr "_Прикажи лозинка" + +#: ../gkr/seahorse-gkr-backend.c:99 +#| msgid "_Passwords" +msgid "Passwords" +msgstr "Лозинки" + +#: ../gkr/seahorse-gkr-backend.c:102 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Зачувани лични лозинки, акредитиви и тајни" + +#. Translators: This should be the same as the string in empathy +#: ../gkr/seahorse-gkr-item.c:317 +msgid "IM account password for " +msgstr "Лозинка за сметка на инстант пораки за " + +#: ../gkr/seahorse-gkr-item.c:383 +#| msgid "_Passwords" +msgid "Password or secret" +msgstr "Лозинка или тајна" + +#: ../gkr/seahorse-gkr-item.c:384 +#| msgid "Network Password" +msgid "Network password" +msgstr "Мрежна лозинка" + +#: ../gkr/seahorse-gkr-item.c:385 +#| msgid "Strength" +msgid "Stored note" +msgstr "Зачувана белешка" + +#: ../gkr/seahorse-gkr-item.c:386 +#| msgid "Listing passwords" +msgid "Keyring password" +msgstr "Лозинка на приврзок" + +#: ../gkr/seahorse-gkr-item.c:387 +#| msgid "Encryption Key Manager" +msgid "Encryption key password" +msgstr "Лозинка на клуч за енкрипција" + +#: ../gkr/seahorse-gkr-item.c:388 +#| msgid "Network Password" +msgid "Key storage password" +msgstr "Лозинка за клуч за склад" + +#: ../gkr/seahorse-gkr-item.c:389 +#| msgid "Show pass_word" +msgid "Google Chrome password" +msgstr "Лозинка за Google Chrome" + +#: ../gkr/seahorse-gkr-item.c:390 +msgid "Gnome Online Accounts password" +msgstr "Лозинка за онлајн сметки на Gnome" + +#: ../gkr/seahorse-gkr-item.c:391 +#| msgid "Show pass_word" +msgid "Telepathy password" +msgstr "Лозинка за Telepathy" + +#: ../gkr/seahorse-gkr-item.c:392 +#| msgid "Listing passwords" +msgid "Instant messaging password" +msgstr "Лозинка за инстант пораки" + +#: ../gkr/seahorse-gkr-item.c:393 +msgid "Network Manager secret" +msgstr "Лозинка на Network Manager" + +#: ../gkr/seahorse-gkr-item-deleter.c:83 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "Дали сте сигурни дека сакате да ја избришете лозинката „%s“?" + +#: ../gkr/seahorse-gkr-item-deleter.c:86 +#, c-format +#| msgid "Are you sure you want to delete %d passwords?" +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Дали сте сигурни дека сакате да избришете %d лозинка?" +msgstr[1] "Дали сте сигурни дека сакате да избришете %d лозинки?" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a network share or resource" +msgstr "Пристапи мрежно споделување или ресурс" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Access a website" +msgstr "Пристапи веб место" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a PGP key" +msgstr "Отклучува PGP клуч" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Unlocks a Secure Shell key" +msgstr "Отклучува клуч на безбедна школка" + +#: ../gkr/seahorse-gkr-item-properties.c:81 +msgid "Saved password or login" +msgstr "Зачувана лозинка или најава" + +#: ../gkr/seahorse-gkr-item-properties.c:105 +msgid "Network Credentials" +msgstr "Мрежни акредитации" + +#: ../gkr/seahorse-gkr-item-properties.c:110 +msgid "Password" +msgstr "Лозинка" + +#: ../gkr/seahorse-gkr-item-properties.c:210 +msgid "Couldn't change password." +msgstr "Не можам да ја променам лозинката." + +#: ../gkr/seahorse-gkr-item-properties.c:255 +#: ../gkr/seahorse-gkr-item-properties.c:376 +#| msgid "Listing passwords" +msgid "Updating password" +msgstr "Ажурирам лозинка" + +#: ../gkr/seahorse-gkr-item-properties.c:336 +msgid "Couldn't set description." +msgstr "Не можам да го поставам описот." + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +msgid "Password:" +msgstr "Лозинка:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Technical Details:" +msgstr "Технички детали:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:22 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Details" +msgstr "Детали" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Key" +msgstr "Клуч" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Key Properties" +msgstr "Својства на клучот" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Login:" +msgstr "Најава:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Server:" +msgstr "Сервер:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +msgid "Show pass_word" +msgstr "Прикажи лоз_инка" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +msgid "Type:" +msgstr "Тип:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +msgid "Use:" +msgstr "Употреба:" + +#: ../gkr/seahorse-gkr-keyring.c:147 +#| msgid "Couldn't add keyring" +msgid "Login keyring" +msgstr "Приврзок за најава" + +#: ../gkr/seahorse-gkr-keyring.c:673 +#| msgid "Automatically unlocked when user logs in." +msgid "A keyring that is automatically unlocked on login" +msgstr "Автоматски отклучено кога корисникот се најавува" + +#: ../gkr/seahorse-gkr-keyring.c:674 +msgid "A keyring used to store passwords" +msgstr "Приврзок кој се користи за зачувување на лозинки" + +#: ../gkr/seahorse-gkr-keyring-deleter.c:80 +#, c-format +#| msgid "Are you sure you want to delete the password '%s'?" +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "Дали сте сигурни дека сакате да ја избришете лозинката на приврзокот „%s“?" + +#: ../gkr/seahorse-gkr-keyring-deleter.c:83 +msgid "I understand that all items will be permanently deleted." +msgstr "Разбирам дека сите предмети ќе бидат трајно избришани." + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Created:" +msgstr "Креирано:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +#| msgid "Key Sharing" +msgid "Keyring" +msgstr "Приврзок" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +#| msgid "Key Properties" +msgid "Keyring Properties" +msgstr "Својства на приврзокот" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +#| msgid "Name" +msgid "Name:" +msgstr "Име:" + +#: ../gkr/seahorse-gkr-operation.c:54 +#: ../pgp/seahorse-gpgme.c:73 +#: ../pgp/seahorse-hkp-source.c:585 +#: ../ssh/seahorse-ssh-operation.c:194 +msgid "The operation was cancelled" +msgstr "Операцијата беше прекината" + +#: ../gkr/seahorse-gkr-operation.c:59 +msgid "Access to the key ring was denied" +msgstr "Пристапот до приврзокот беше одбиен" + +#: ../gkr/seahorse-gkr-operation.c:62 +msgid "The gnome-keyring daemon is not running" +msgstr "Демонот за приврзоци на GNOME не се извршува" + +#: ../gkr/seahorse-gkr-operation.c:65 +msgid "The key ring has already been unlocked" +msgstr "Приврзокот веќе е отклучен" + +#: ../gkr/seahorse-gkr-operation.c:68 +msgid "No such key ring exists" +msgstr "Не постои таков приврзок" + +#: ../gkr/seahorse-gkr-operation.c:71 +msgid "Couldn't communicate with key ring daemon" +msgstr "Не можам да комуницирам со демонот за приврзоци" + +#: ../gkr/seahorse-gkr-operation.c:74 +msgid "The item already exists" +msgstr "Предметот веќе постои" + +#: ../gkr/seahorse-gkr-operation.c:80 +msgid "Internal error accessing gnome-keyring" +msgstr "Внатрешна грешка во пристапувањето на gnome-keyring" + +#: ../libegg/egg-datetime.c:317 +msgid "Display flags" +msgstr "Прикажи флегови" + +#: ../libegg/egg-datetime.c:318 +msgid "Displayed date and/or time properties" +msgstr "Прикажани датум и/или својства за време" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode" +msgstr "Мрзлив режим" + +#: ../libegg/egg-datetime.c:324 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "Мрзливиот режим не ги нормализира внесените вредности за време и датум" + +#: ../libegg/egg-datetime.c:329 +msgid "Year" +msgstr "Година" + +#: ../libegg/egg-datetime.c:330 +msgid "Displayed year" +msgstr "Прикажана година" + +#: ../libegg/egg-datetime.c:335 +msgid "Month" +msgstr "Месец" + +#: ../libegg/egg-datetime.c:336 +msgid "Displayed month" +msgstr "Прикажан месец" + +#: ../libegg/egg-datetime.c:341 +msgid "Day" +msgstr "Ден" + +#: ../libegg/egg-datetime.c:342 +msgid "Displayed day of month" +msgstr "Прикажан ден од месецот" + +#: ../libegg/egg-datetime.c:347 +msgid "Hour" +msgstr "Час" + +#: ../libegg/egg-datetime.c:348 +msgid "Displayed hour" +msgstr "Прикажан час" + +#: ../libegg/egg-datetime.c:353 +msgid "Minute" +msgstr "Минута" + +#: ../libegg/egg-datetime.c:354 +msgid "Displayed minute" +msgstr "Прикажана минута" + +#: ../libegg/egg-datetime.c:359 +msgid "Second" +msgstr "Секунда" + +#: ../libegg/egg-datetime.c:360 +msgid "Displayed second" +msgstr "Прикажана секунда" + +#: ../libegg/egg-datetime.c:365 +msgid "Lower limit year" +msgstr "Долна граница на години" + +#: ../libegg/egg-datetime.c:366 +msgid "Year part of the lower date limit" +msgstr "Граница на долен дел од годината" + +#: ../libegg/egg-datetime.c:371 +msgid "Upper limit year" +msgstr "Горна граница за година" + +#: ../libegg/egg-datetime.c:372 +msgid "Year part of the upper date limit" +msgstr "Граница на горен дел од годината" + +#: ../libegg/egg-datetime.c:377 +msgid "Lower limit month" +msgstr "Долен лимит на месец" + +#: ../libegg/egg-datetime.c:378 +msgid "Month part of the lower date limit" +msgstr "Делот со месеци на долниот лимит на датуми" + +#: ../libegg/egg-datetime.c:383 +msgid "Upper limit month" +msgstr "Горен лимит на месец" + +#: ../libegg/egg-datetime.c:384 +msgid "Month part of the upper date limit" +msgstr "Делот со месеци на горниот лимит на датуми" + +#: ../libegg/egg-datetime.c:389 +msgid "Lower limit day" +msgstr "Долен лимит на ден" + +#: ../libegg/egg-datetime.c:390 +msgid "Day of month part of the lower date limit" +msgstr "Делот со денови од месецот од долниот лимит на времето" + +#: ../libegg/egg-datetime.c:395 +msgid "Upper limit day" +msgstr "Горен лимит на ден" + +#: ../libegg/egg-datetime.c:396 +msgid "Day of month part of the upper date limit" +msgstr "Делот со денови од месецот од горниот лимит на времето" + +#: ../libegg/egg-datetime.c:401 +msgid "Lower limit hour" +msgstr "Горен лимит на часови" + +#: ../libegg/egg-datetime.c:402 +msgid "Hour part of the lower time limit" +msgstr "Делот со часови на долниот лимит на времето" + +#: ../libegg/egg-datetime.c:407 +msgid "Upper limit hour" +msgstr "Горен лимит на часови" + +#: ../libegg/egg-datetime.c:408 +msgid "Hour part of the upper time limit" +msgstr "Делот со часови на горниот лимит на времето" + +#: ../libegg/egg-datetime.c:413 +msgid "Lower limit minute" +msgstr "Долен лимит на минути" + +#: ../libegg/egg-datetime.c:414 +msgid "Minute part of the lower time limit" +msgstr "Делот со минути на долниот лимит на времето" + +#: ../libegg/egg-datetime.c:419 +msgid "Upper limit minute" +msgstr "Горен лимит на минути" + +#: ../libegg/egg-datetime.c:420 +msgid "Minute part of the upper time limit" +msgstr "Делот со минути на горниот лимит на времето" + +#: ../libegg/egg-datetime.c:425 +msgid "Lower limit second" +msgstr "Долен лимит на секунди" + +#: ../libegg/egg-datetime.c:426 +msgid "Second part of the lower time limit" +msgstr "Втор дел од долниот лимит за време" + +#: ../libegg/egg-datetime.c:431 +msgid "Upper limit second" +msgstr "Горен лимит на секунди" + +#: ../libegg/egg-datetime.c:432 +msgid "Second part of the upper time limit" +msgstr "Втор дел од горниот лимит за време" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:474 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: ../libegg/egg-datetime.c:496 +msgid "Date" +msgstr "Датум" + +#: ../libegg/egg-datetime.c:496 +msgid "Enter the date directly" +msgstr "Внесете го датумот директно" + +#: ../libegg/egg-datetime.c:503 +msgid "Select Date" +msgstr "Избери датум" + +#: ../libegg/egg-datetime.c:503 +msgid "Select the date from a calendar" +msgstr "Изберете го датумот од календар" + +#: ../libegg/egg-datetime.c:521 +#: ../libegg/egg-datetime.c:2199 +msgid "Time" +msgstr "Време" + +#: ../libegg/egg-datetime.c:521 +msgid "Enter the time directly" +msgstr "Внесете го времето директно" + +#: ../libegg/egg-datetime.c:528 +msgid "Select Time" +msgstr "Избери време" + +#: ../libegg/egg-datetime.c:528 +msgid "Select the time from a list" +msgstr "Изберете го времето од листа" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:793 +msgid "24hr: no" +msgstr "24hr: yes" + +#: ../libegg/egg-datetime.c:797 +#: ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1264 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:799 +#: ../libegg/egg-datetime.c:1261 +#: ../libegg/egg-datetime.c:1268 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:807 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:810 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:814 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:817 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1176 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1241 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "Додај сервер за клучеви" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Host:" +msgstr "Хост:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Key Server Type:" +msgstr "Тип на сервер за клучеви:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid "The port to access the server on." +msgstr "Порта за пристап на серверот." + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "initial temporary item" +msgstr "иницијален привремен предмет" + +#: ../libseahorse/seahorse-catalog.c:88 +msgid "Contributions:" +msgstr "Придонеси:" + +#: ../libseahorse/seahorse-catalog.c:112 +#: ../src/seahorse.desktop.in.in.h:2 +#: ../src/seahorse-key-manager.c:647 +#: ../src/seahorse-main.c:68 +#| msgid "Passwords and Encryption Keys" +msgid "Passwords and Keys" +msgstr "Лозинки и клучеви" + +#: ../libseahorse/seahorse-catalog.c:114 +msgid "translator-credits" +msgstr "ок" + +#: ../libseahorse/seahorse-catalog.c:117 +msgid "Seahorse Project Homepage" +msgstr "Домашната страница на проектот Seahorse" + +#: ../libseahorse/seahorse-catalog.c:191 +msgid "Cannot delete" +msgstr "Не можам да избришам" + +#: ../libseahorse/seahorse-catalog.c:239 +#: ../libseahorse/seahorse-key-manager-store.c:442 +msgid "Couldn't export keys" +msgstr "Не можев да увезам клучеви" + +#: ../libseahorse/seahorse-catalog.c:268 +#| msgid "Couldn't export key." +msgid "Couldn't export data" +msgstr "Не можев да извезам податоци" + +#. Top menu items +#: ../libseahorse/seahorse-catalog.c:277 +#| msgid "Filter:" +msgid "_File" +msgstr "_Датотека" + +#: ../libseahorse/seahorse-catalog.c:278 +#| msgid "_Import..." +msgid "E_xport..." +msgstr "И_звези..." + +#: ../libseahorse/seahorse-catalog.c:279 +msgid "Export to a file" +msgstr "Извези во датотека" + +#: ../libseahorse/seahorse-catalog.c:280 +#| msgid "_Quit" +msgid "_Edit" +msgstr "_Уреди" + +#: ../libseahorse/seahorse-catalog.c:283 +#| msgid "Import keys from the clipboard" +msgid "Copy to the clipboard" +msgstr "Копирај во таблата со иссечоци" + +#: ../libseahorse/seahorse-catalog.c:284 +#: ../pkcs11/seahorse-pkcs11-properties.c:233 +#: ../src/seahorse-sidebar.c:957 +msgid "_Delete" +msgstr "_Избриши" + +#: ../libseahorse/seahorse-catalog.c:285 +msgid "Delete selected items" +msgstr "Избриши ги избраните предмети" + +#: ../libseahorse/seahorse-catalog.c:287 +msgid "Show the properties of this item" +msgstr "Покажи ги својствата на овој предмет" + +#: ../libseahorse/seahorse-catalog.c:289 +msgid "Show the properties of this place" +msgstr "Покажи ги својствата на ова место" + +#: ../libseahorse/seahorse-catalog.c:290 +msgid "Prefere_nces" +msgstr "Префере_нци" + +#: ../libseahorse/seahorse-catalog.c:291 +msgid "Change preferences for this program" +msgstr "Промени ги преференците на оваа програма" + +#: ../libseahorse/seahorse-catalog.c:292 +msgid "_View" +msgstr "_Поглед" + +#: ../libseahorse/seahorse-catalog.c:293 +msgid "_Help" +msgstr "_Помош" + +#: ../libseahorse/seahorse-catalog.c:295 +#| msgid "Close this program" +msgid "About this program" +msgstr "За оваа програма" + +#: ../libseahorse/seahorse-catalog.c:296 +#| msgid "_Comment:" +msgid "_Contents" +msgstr "_Содржини" + +#: ../libseahorse/seahorse-catalog.c:297 +msgid "Show Seahorse help" +msgstr "Покажи помош за Seahorse" + +#: ../libseahorse/seahorse-exportable.c:404 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Export" +msgstr "Извези" + +#: ../libseahorse/seahorse-interaction.c:100 +#, c-format +#| msgid "Enter the old passphrase for: %s" +msgid "Enter PIN or password for: %s" +msgstr "Внесете PIN или лозинка за: %s" + +#: ../libseahorse/seahorse-passphrase.c:182 +#: ../ssh/seahorse-ssh-askpass.c:99 +msgid "Password:" +msgstr "Лозинка:" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:244 +msgid "Confirm:" +msgstr "Потврди:" + +#: ../libseahorse/seahorse-prefs.c:67 +msgid "Not a valid Key Server address." +msgstr "Не е валидна адреса за сервер на клучеви" + +#: ../libseahorse/seahorse-prefs.c:68 +msgid "For help contact your system adminstrator or the administrator of the key server." +msgstr "За помош контактирајте со Вашиот администратор на системот или администраторот на серверот за клучеви." + +#: ../libseahorse/seahorse-prefs.c:182 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:352 +msgid "Custom" +msgstr "Прилагодено" + +#: ../libseahorse/seahorse-prefs.c:405 +msgid "None: Don't publish keys" +msgstr "Ништо: Не објавувај клучеви" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Automatically retrieve keys from _key servers" +msgstr "Автоматски добивај ги клучевите од серверите за _клучеви" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Автоматски синхронизирај ги _изменетите клучеви со серверите за клучеви" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "Key Servers" +msgstr "Сервери за клучеви" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Preferences" +msgstr "Преференци" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "_Find keys via:" +msgstr "_Најди клучеви преку:" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "_Publish keys to:" +msgstr "_Објави клучеви на:" + +#: ../libseahorse/seahorse-util.c:209 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-gpgme-subkey.c:197 +#: ../pgp/seahorse-pgp-key-properties.c:1248 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../pkcs11/seahorse-token.c:576 +msgid "Unknown" +msgstr "Непознато" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1254 +msgctxt "Validity" +msgid "Never" +msgstr "Никогаш" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-key-properties.c:1261 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Marginal" +msgstr "Маргини" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-key-properties.c:1267 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Full" +msgstr "Цела" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-key-properties.c:1273 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "Ultimate" +msgstr "Универзално" + +#: ../libseahorse/seahorse-validity.c:50 +#: ../pgp/seahorse-pgp-key-properties.c:1463 +msgid "Disabled" +msgstr "Оневозможено" + +#: ../libseahorse/seahorse-validity.c:52 +#: ../pgp/seahorse-pgp-key-properties.c:1459 +msgid "Revoked" +msgstr "Отповикана" + +#: ../libseahorse/seahorse-widget.c:473 +#, c-format +msgid "Could not display help: %s" +msgstr "Не можам да прикажам помош: %s" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Expiration Date:" +msgstr "Рок на траење:" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "Generate a new subkey" +msgstr "Генерирај нов подклуч" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +msgid "If key never expires" +msgstr "Дали клучот никогаш не истекува" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "Големина на _клучот:" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "Тип на _клуч:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "Големина на клуч" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Never E_xpires" +msgstr "Никогаш не и_стекува" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "Идентификација на корисник" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Create the new user ID" +msgstr "Креирај нова идентификација на нов корисник" + +#: ../pgp/seahorse-add-uid.xml.h:3 +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Full _Name:" +msgstr "Цело _име" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Key Co_mment:" +msgstr "Ко_ментар на клуч:" + +#: ../pgp/seahorse-add-uid.xml.h:5 +msgid "Must be at least 5 characters long" +msgstr "Море да биде најмалце 5 карактери долг" + +#: ../pgp/seahorse-add-uid.xml.h:6 +msgid "Optional comment describing key" +msgstr "Изборен коментар кој што го опишува клучот" + +#: ../pgp/seahorse-add-uid.xml.h:7 +msgid "Optional email address" +msgstr "Додатна адреса за е-пошта" + +#: ../pgp/seahorse-add-uid.xml.h:8 +#: ../pgp/seahorse-pgp-generate.xml.h:12 +msgid "_Email Address:" +msgstr "_Адреса за е-пошта:" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "C_hange" +msgstr "П_ромени" + +#: ../pgp/seahorse-expires.xml.h:2 +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Revoke key" +msgstr "Отповикај го клучот" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "_Never expires" +msgstr "_Никогаш не истекува" + +#: ../pgp/seahorse-gpgme-add-subkey.c:162 +msgid "Couldn't add subkey" +msgstr "Не можам да додадам подклуч" + +#: ../pgp/seahorse-gpgme-add-subkey.c:181 +#, c-format +msgid "Add subkey to %s" +msgstr "Додај подклуч во %s" + +#: ../pgp/seahorse-gpgme-add-subkey.c:197 +#: ../pgp/seahorse-gpgme-generate.c:134 +msgid "DSA (sign only)" +msgstr "DSA (запиши само)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:205 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (криптирај само)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:211 +#: ../pgp/seahorse-gpgme-generate.c:135 +msgid "RSA (sign only)" +msgstr "RSA (само запишани)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:217 +msgid "RSA (encrypt only)" +msgstr "RSA (само криптирани)" + +#: ../pgp/seahorse-gpgme-add-uid.c:100 +msgid "Couldn't add user id" +msgstr "Не можам да додадам Ид. на корисник" + +#: ../pgp/seahorse-gpgme-add-uid.c:122 +#, c-format +msgid "Add user ID to %s" +msgstr "Додај идентификација на корисник %s" + +#: ../pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Декриптирањето не успеа. Најверојатно го немате клучот за декриптирање." + +#: ../pgp/seahorse-gpgme-expires.c:65 +#| msgid "Invalid Signature" +msgid "Invalid expiry date" +msgstr "Невалиден датум на истекување" + +#: ../pgp/seahorse-gpgme-expires.c:66 +msgid "The expiry date must be in the future" +msgstr "Датумот на истекување мора да биде во иднината" + +#: ../pgp/seahorse-gpgme-expires.c:79 +msgid "Couldn't change expiry date" +msgstr "Не можам да го променам датумот на истекување" + +#: ../pgp/seahorse-gpgme-expires.c:140 +#, c-format +#| msgid "Expiry for %s" +msgid "Expiry: %s" +msgstr "Истекува на: %s" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "Повеќе клучеви" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "Податоци на клучот" + +#: ../pgp/seahorse-gpgme-exporter.c:114 +#| msgid "Imported keys" +msgid "Armored PGP keys" +msgstr "Заштитени PGP клучеви" + +#: ../pgp/seahorse-gpgme-exporter.c:118 +#| msgid "PGP Key" +msgid "PGP keys" +msgstr "PGP клучеви" + +#: ../pgp/seahorse-gpgme-generate.c:95 +msgid "PGP Key" +msgstr "PGP клуч" + +#: ../pgp/seahorse-gpgme-generate.c:96 +msgid "Used to encrypt email and files" +msgstr "Користен за енкриптирање на е-пошта и датотеки" + +#: ../pgp/seahorse-gpgme-generate.c:132 +#: ../pkcs11/seahorse-pkcs11-generate.c:92 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:133 +msgid "DSA Elgamal" +msgstr "DSA Elgamal" + +#: ../pgp/seahorse-gpgme-generate.c:182 +msgid "Couldn't generate PGP key" +msgstr "Не можев да генерирам PGP клуч" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "Тајна фраза за новиот PGP клуч" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "Внесете ја новата тајна фраза за Вашиот нов клуч двапати." + +#: ../pgp/seahorse-gpgme-generate.c:223 +#: ../pkcs11/seahorse-pkcs11-generate.c:460 +msgid "Generating key" +msgstr "Генерирам клуч" + +#: ../pgp/seahorse-gpgme-key-deleter.c:78 +#: ../pgp/seahorse-gpgme-secret-deleter.c:77 +#: ../pkcs11/seahorse-pkcs11-deleter.c:66 +#: ../pkcs11/seahorse-pkcs11-key-deleter.c:81 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Дали сте сигурни дека перманентно сакате да го избришето %s?" + +#: ../pgp/seahorse-gpgme-key-deleter.c:81 +#, c-format +#| msgid "Are you sure you want to permanently delete %d keys?" +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Дали сте сигурни дека сакате трајно да избришете %d клуч?" +msgstr[1] "Дали сте сигурни дека сакате трајно да избришете %d клучеви?" + +#: ../pgp/seahorse-gpgme-key-op.c:381 +#| msgid "Show pass_word" +msgid "Wrong password" +msgstr "Грешна лозинка" + +#: ../pgp/seahorse-gpgme-key-op.c:381 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Ова е трет пат како внесувате грешна лозинка. Пробајте пак." + +#: ../pgp/seahorse-gpgme-keyring.c:90 +#, c-format +msgid "Wrong passphrase." +msgstr "Грешна тајна фраза." + +#: ../pgp/seahorse-gpgme-keyring.c:94 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "Внесете нова тајна фраза за „%s“" + +#: ../pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "Внесете тајна фраза за „%s“" + +#: ../pgp/seahorse-gpgme-keyring.c:99 +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Enter new passphrase" +msgstr "Внеси нова лозинка" + +#: ../pgp/seahorse-gpgme-keyring.c:101 +msgid "Enter passphrase" +msgstr "Внесете тајна фраза" + +#: ../pgp/seahorse-gpgme-keyring.c:106 +msgid "Passphrase" +msgstr "Тајна фраза" + +#: ../pgp/seahorse-gpgme-keyring.c:307 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Вчитан е %d клуч" +msgstr[1] "Вчитани се %d клучеви" + +#: ../pgp/seahorse-gpgme-keyring.c:654 +msgid "Invalid key data (missing UIDs). This may be due to a computer with a date set in the future or a missing self-signature." +msgstr "Невалидни податоци за клучот (недостасуваат UID). Ова може да биде поради тоа што датумот на компјутерот е поставен во иднината или нема самопотпишување." + +#: ../pgp/seahorse-gpgme-keyring.c:814 +msgid "GnuPG keyring" +msgstr "GnuPG приврзок" + +#: ../pgp/seahorse-gpgme-keyring.c:817 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: стандарден директориум за приврзок" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"Сликата е преголема\n" +"Препорачливата големина на сликата е %d x %d пиксели." + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "_Не променувај големина" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "_Промени големина" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "This is not a image file, or an unrecognized kind of image file. Try to use a JPEG image." +msgstr "" +"Ова не е датотека со слика или препознатлив вид на датотека со слика. Обидете се со \n" +"JPEG слика." + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "Сите датотеки со слики" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "Сите JPEG датотеки" + +#: ../pgp/seahorse-gpgme-photos.c:242 +#: ../src/seahorse-key-manager.c:283 +msgid "All files" +msgstr "Сите датотеки" + +#: ../pgp/seahorse-gpgme-photos.c:263 +msgid "Choose Photo to Add to Key" +msgstr "Одберете фотографија за да ја додадете на клучот" + +#: ../pgp/seahorse-gpgme-photos.c:285 +#| msgid "Couldn't add photo" +msgid "Couldn't prepare photo" +msgstr "Не можев да подготван фотографија" + +#: ../pgp/seahorse-gpgme-photos.c:295 +#: ../pgp/seahorse-gpgme-photos.c:298 +msgid "Couldn't add photo" +msgstr "Не можам да ја додадам фотографијата" + +#: ../pgp/seahorse-gpgme-photos.c:296 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Датотеката не може да се вчита. Може да е во невалиден формат" + +#: ../pgp/seahorse-gpgme-photos.c:322 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Дали сте сигурни дека сакате да ја отстраните тековната фотографија од Вашиот клуч?" + +#: ../pgp/seahorse-gpgme-photos.c:335 +msgid "Couldn't delete photo" +msgstr "Не можам да ја избришам фотографијата" + +#: ../pgp/seahorse-gpgme-revoke.c:75 +msgid "Couldn't revoke subkey" +msgstr "Не можам да го отповикам подклучот" + +#: ../pgp/seahorse-gpgme-revoke.c:96 +#, c-format +#| msgid "Revoke %s" +msgid "Revoke: %s" +msgstr "Повлечи: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:107 +msgid "No reason" +msgstr "Без причина" + +#: ../pgp/seahorse-gpgme-revoke.c:108 +msgid "No reason for revoking key" +msgstr "Нема причина за отповикувањето на клучот" + +#: ../pgp/seahorse-gpgme-revoke.c:114 +msgid "Compromised" +msgstr "Откриен" + +#: ../pgp/seahorse-gpgme-revoke.c:115 +msgid "Key has been compromised" +msgstr "Клучот беше откриен" + +#: ../pgp/seahorse-gpgme-revoke.c:121 +msgid "Superseded" +msgstr "Заменет" + +#: ../pgp/seahorse-gpgme-revoke.c:122 +msgid "Key has been superseded" +msgstr "Клучот беше заменет" + +#: ../pgp/seahorse-gpgme-revoke.c:128 +msgid "Not Used" +msgstr "Неупотребен" + +#: ../pgp/seahorse-gpgme-revoke.c:129 +msgid "Key is no longer used" +msgstr "Клучот веќе не се употребува" + +#: ../pgp/seahorse-gpgme-revoke.c:166 +#, c-format +msgid "You are about to add %s as a revoker for %s. This operation cannot be undone! Are you sure you want to continue?" +msgstr "Вие сте за додавање за %s како подвлекувач за %s. Оваа операција не може да биде незавршена!Дали сте сигурни дека сакате да продолжите?" + +#: ../pgp/seahorse-gpgme-revoke.c:178 +msgid "Couldn't add revoker" +msgstr "Не можам да додадам отповикувач" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:82 +#: ../ssh/seahorse-ssh-deleter.c:83 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Разбирам дека овој таен клуч ќе биде избришан засекогаш." + +#: ../pgp/seahorse-gpgme-sign.c:100 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" +"Овој клуч е веќе потпишан од\n" +"„%s“" + +#: ../pgp/seahorse-gpgme-sign.c:105 +msgid "Couldn't sign key" +msgstr "Не можам да го потпишам клучот" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:164 +#: ../pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Нема употребливи клучеви за потпишување" + +#: ../pgp/seahorse-gpgme-sign.c:165 +msgid "You have no personal PGP keys that can be used to indicate your trust of this key." +msgstr "Немате лични PGP клучеви кои можат да бидат користени за откривање на доверливоста на овој клуч." + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:603 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "Пребарувањето не беше доволно јасно. Серверот „%s“ најде премногу клучеви." + +#: ../pgp/seahorse-hkp-source.c:606 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "Не можам да комуницирам со серверот „%s“: %s" + +#: ../pgp/seahorse-hkp-source.c:1129 +msgid "HTTP Key Server" +msgstr "Сервер за HTTP клуч" + +#: ../pgp/seahorse-keyserver-results.c:175 +msgid "Couldn't import keys" +msgstr "Не можам да увезам клучеви" + +#: ../pgp/seahorse-keyserver-results.c:218 +msgid "Importing keys from key servers" +msgstr "Увезувам клучеви од сервери за клучеви" + +#: ../pgp/seahorse-keyserver-results.c:243 +#: ../src/seahorse-key-manager.c:499 +msgid "_Remote" +msgstr "_Оддалечено" + +#: ../pgp/seahorse-keyserver-results.c:245 +msgid "Close this window" +msgstr "Затвори го овој прозорец" + +#: ../pgp/seahorse-keyserver-results.c:249 +#: ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys..." +msgstr "_Пребарај оддалечени клучеви..." + +#: ../pgp/seahorse-keyserver-results.c:250 +#: ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "Пребарувај за клучеви на сервер за клучеви" + +#: ../pgp/seahorse-keyserver-results.c:254 +#: ../src/seahorse-key-manager.xml.h:5 +msgid "_Import" +msgstr "_Внеси" + +#: ../pgp/seahorse-keyserver-results.c:255 +msgid "Import selected keys to local key ring" +msgstr "Увези ги избраните клучеви во локален приврзок" + +#: ../pgp/seahorse-keyserver-results.c:285 +msgid "Remote Keys" +msgstr "Оддалечени клучеви" + +#: ../pgp/seahorse-keyserver-results.c:287 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "Оддалечени клучеви кои содржат „%s“" + +#: ../pgp/seahorse-keyserver-results.c:484 +#| msgid "Searching for keys..." +msgid "The search for keys failed." +msgstr "Барањето клучеви не успеа." + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Key Servers:" +msgstr "Сервери со клучеви:" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "Shared Keys Near Me:" +msgstr "Споделени клучеви близу до мене:" + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "Find Remote Keys" +msgstr "Најди оддалечени клучеви" + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "This will find keys for others on the Internet. These keys can then be imported into your local key ring." +msgstr "Ова ќе пребарува клучеви од други на интернет. Овие клучеви тогаш ќе можат да бидат увезени во локалниот приврзок." + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Where to search:" +msgstr "Каде да барам:" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "_Search" +msgstr "_Барај" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search for keys containing: " +msgstr "_Барај клучеви кои содржат: " + +#: ../pgp/seahorse-keyserver-sync.c:57 +msgid "Couldn't publish keys to server" +msgstr "Не можам да објавам клучеви на серверот" + +#: ../pgp/seahorse-keyserver-sync.c:76 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "Не можам да добијам клучеви од серверот: %s" + +#: ../pgp/seahorse-keyserver-sync.c:160 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d клуч е избран за синхронизација" +msgstr[1] "%d клучеви се избрани за синхронизација" + +#: ../pgp/seahorse-keyserver-sync.c:240 +msgid "Synchronizing keys..." +msgstr "Ги синхронизирам клучевите..." + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "Ги синхронизирам клучевите" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "This will publish the keys in your key ring so they're available for others to use. You'll also get any changes others have made since you received their keys." +msgstr "ОВа ќе ги објави клучевите во Вашиот приврзок така што ќе бидат достапни за користење од други. Исто така ќе ги добивате измените што ги прават другите, бидејќи ќе ги имате добиено и нивните клучеви." + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "This will retrieve any changes others have made since you received their keys. No key server has been chosen for publishing, so your keys will not be made available to others." +msgstr "Ова ќе ги земи сите промени што другите ги направиле отакако сте ги добиле нивните клучеви. Не е избран сервер за објавување, па ниту еден Ваш клуч нема да биде достапен до другите." + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "Сервери за _клучеви" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "_Синх." + +#: ../pgp/seahorse-ldap-source.c:440 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "Не можев да комуницирам со „%s“: %s" + +#: ../pgp/seahorse-ldap-source.c:651 +#, c-format +msgid "Connecting to: %s" +msgstr "Се поврзувам со: %s" + +#: ../pgp/seahorse-ldap-source.c:657 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "Не можам да ја добијам адресата: %s" + +#: ../pgp/seahorse-ldap-source.c:701 +#, c-format +msgid "Resolving server address: %s" +msgstr "Добивам адреса на серверот: %s" + +#: ../pgp/seahorse-ldap-source.c:1446 +msgid "LDAP Key Server" +msgstr "Сервер за LDAP клуч" + +#: ../pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys..." +msgstr "_Синхронизирај и објави клучеви..." + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "Објавете ги и/или синхронизирајте ги Вашите клучеви со тие онлајн." + +#: ../pgp/seahorse-pgp-backend.c:174 +#| msgid "PGP Key" +msgid "PGP Keys" +msgstr "PGP клучеви" + +#: ../pgp/seahorse-pgp-backend.c:177 +#| msgid "Used to encrypt email and files" +msgid "PGP keys are for encrypting email or files" +msgstr "PGP клучевите се користат за е-пошта или датотеки" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "_Advanced key options" +msgstr "_Напредни опции за клуч" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP клучот Ви овозможува да енкриптирате е-пошта или датотеки за други луѓе." + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "Algorithms here" +msgstr "Алгоритмите овде" + +#: ../pgp/seahorse-pgp-generate.xml.h:4 +msgid "C_reate" +msgstr "К_реирај" + +#: ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "E_xpiration Date:" +msgstr "Р_ок на траење:" + +#: ../pgp/seahorse-pgp-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "Encryption _Type:" +msgstr "_Тип на енкриптирање:" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Generate a new key" +msgstr "Направи нов клуч" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Key _Strength (bits):" +msgstr "_Јачина на клуч (битови):" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +msgid "Ne_ver Expires" +msgstr "Ни_когаш не истекува" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "_Comment:" +msgstr "_Коментар:" + +#: ../pgp/seahorse-pgp-key.c:353 +#| msgid "My _Personal Keys" +msgid "Personal PGP key" +msgstr "Личен PGP клуч" + +#: ../pgp/seahorse-pgp-key.c:355 +#| msgid "PGP Key" +msgid "PGP key" +msgstr "PGP клуч" + +#: ../pgp/seahorse-pgp-key-properties.c:325 +msgid "Couldn't change primary user ID" +msgstr "Не можам да го променам примарното Ид. на корисникот" + +#: ../pgp/seahorse-pgp-key-properties.c:344 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "Дали сте сигурни дека сакате трајно да го избришете Ид. на корисникот „%s“?" + +#: ../pgp/seahorse-pgp-key-properties.c:354 +msgid "Couldn't delete user ID" +msgstr "Не можам да избришам кориснички ID" + +#: ../pgp/seahorse-pgp-key-properties.c:428 +#: ../pgp/seahorse-pgp-key-properties.c:1564 +msgid "[Unknown]" +msgstr "[Непознато]" + +#: ../pgp/seahorse-pgp-key-properties.c:535 +#: ../pgp/seahorse-pgp-key-properties.c:1846 +msgid "Name/Email" +msgstr "Име/е-пошта" + +#: ../pgp/seahorse-pgp-key-properties.c:540 +msgid "Signature ID" +msgstr "Ид. на потпис" + +#: ../pgp/seahorse-pgp-key-properties.c:673 +msgid "Couldn't change primary photo" +msgstr "Не можам да ја променам примарната слика" + +#: ../pgp/seahorse-pgp-key-properties.c:906 +msgid "(unknown)" +msgstr "(непознато)" + +#: ../pgp/seahorse-pgp-key-properties.c:909 +#, c-format +msgid "This key expired on: %s" +msgstr "Овој клуч истече на: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:972 +msgid "Name" +msgstr "Име" + +#: ../pgp/seahorse-pgp-key-properties.c:1085 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Дали сте сигурни дека пернаментно сакате да го избришете подклучот %d од %s?" + +#: ../pgp/seahorse-pgp-key-properties.c:1094 +msgid "Couldn't delete subkey" +msgstr "Не можев да го избришам подклучот" + +#: ../pgp/seahorse-pgp-key-properties.c:1134 +#: ../pgp/seahorse-pgp-key-properties.c:1539 +msgid "Unable to change trust" +msgstr "Не можам да добијам доверба" + +#: ../pgp/seahorse-pgp-key-properties.c:1147 +#: ../ssh/seahorse-ssh-key-properties.c:202 +#| msgid "Couldn't export key." +msgid "Couldn't export key" +msgstr "Не можев да го извезам клучот" + +#: ../pgp/seahorse-pgp-key-properties.c:1379 +#: ../pgp/seahorse-pgp-key-properties.c:1468 +msgctxt "Expires" +msgid "Never" +msgstr "Никогаш" + +#: ../pgp/seahorse-pgp-key-properties.c:1426 +msgid "ID" +msgstr "Ид." + +#: ../pgp/seahorse-pgp-key-properties.c:1429 +msgid "Type" +msgstr "Тип" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "Created" +msgstr "Креирано" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Expires" +msgstr "Истекува" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Status" +msgstr "Статус" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Strength" +msgstr "Јачина" + +#: ../pgp/seahorse-pgp-key-properties.c:1461 +msgid "Expired" +msgstr "Помина" + +#: ../pgp/seahorse-pgp-key-properties.c:1465 +msgid "Good" +msgstr "Добро" + +#: ../pgp/seahorse-pgp-key-properties.c:1849 +msgid "Key ID" +msgstr "Идентификациј на клуч" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +msgid "Actions" +msgstr "Дејства" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgid "Comment:" +msgstr "Коментар:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgid "Dates" +msgstr "Датуми" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgid "Email:" +msgstr "Е-пошта:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgid "Fingerprint" +msgstr "Отпечаток" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +msgid "Key ID:" +msgstr "Ид. на клуч:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +msgid "Key Names and Signatures" +msgstr "Имиња на клучеви и потписи" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "Photo " +msgstr "Фотографија " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +msgid "Technical Details" +msgstr "Технички детали" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has been revoked" +msgstr "Овој клуч беше отповикан" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:10 +msgid "This key has expired" +msgstr "Овој клуч истече" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Type:" +msgstr "Тип:" + +#. To translators: This is the noun not the verb. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Use:" +msgstr "Употреба:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:15 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgid "_Subkeys" +msgstr "_Подклучеви" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +msgid "Add" +msgstr "Додај" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +msgid "Add a photo to this key" +msgstr "Додај слика на овој клуч" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:18 +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +msgid "Change _Passphrase" +msgstr "Промени ја _тајната фраза" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +msgid "Decrypt files and email sent to you." +msgstr "Декриптирај датотеки и е-пошта испратена до Вас." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +msgid "Delete" +msgstr "Избриши" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +msgid "Expire" +msgstr "Истече" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Expires:" +msgstr "Истекува:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +msgid "Go to next photo" +msgstr "Оди до следната фотографија" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +msgid "Go to previous photo" +msgstr "Оди до претходната фотографија" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:29 +msgid "Key ID:" +msgstr "Идентификација на клуч" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +msgid "Make this photo the primary photo" +msgstr "Направи ја оваа фотографија примарна" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:33 +msgid "Names and Signatures" +msgstr "Имиња и потписи" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:32 +#| msgctxt "Validity" +#| msgid "Never" +msgid "Never" +msgstr "Никогаш" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Override Owner _Trust:" +msgstr "Игнорирај ја _довербата на корисникот:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:36 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +msgid "Owner" +msgstr "Сопственик" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Primary" +msgstr "Примарно" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +msgid "Private PGP Key" +msgstr "Приватен PGP клуч" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Remove this photo from this key" +msgstr "Отстранете ја оваа фотографија од овој клуч" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Revoke" +msgstr "Отповикај" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +msgid "Sign" +msgstr "Потпиши" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "Strength:" +msgstr "Јачина:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Сопственикот на клучот го отповика клучот. Повеќе не може да се користи." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "_Add Name" +msgstr "_Додај име" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "_Export Complete Key:" +msgstr "_Извези комплетен клуч:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +#| msgid "Name:" +msgctxt "name-of-key" +msgid "Name:" +msgstr "Име:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgid "Dates:" +msgstr "Датуми:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Fingerprint:" +msgstr "Отпечаток:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgid "Indicate Trust:" +msgstr "Одреди доверливост:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Your trust of this key" +msgstr "Вашата доверливост за овој клуч" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "_Other Names:" +msgstr "_Други имиња:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:16 +msgid "_People who have signed this key:" +msgstr "_Луѓе кои го потпишале овој клуч:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +msgid "Encrypt files and email to the key's owner " +msgstr "Енкриптирајте ги датотеките и е-поштата со клучот на сопственикот " + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:22 +#| msgid "Full" +msgid "Fully" +msgstr "Цела" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "Им верувам на потписите од „%s“ на другите клучеви" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +#, no-c-format +msgid "If you believe that the person that owns this key is '%s', sign this key:" +msgstr "Ако верувате дека личноста која го поседува овој клуч е „%s“, потпишете го овој клуч:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "Ако верувате дека личноста која го поседува овој клуч не е „%s“, отповикајте го овој клуч:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +#| msgid "Marginal" +msgid "Marginally" +msgstr "Маргинално" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "Public PGP Key" +msgstr "Јавен PGP клуч" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +msgid "Trust" +msgstr "Верба" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#| msgid "Ultimate" +msgid "Ultimately" +msgstr "Крајно" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "You _Trust the Owner:" +msgstr "Имате _доверба во сопственикот:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Your trust is manually specified on the Details tab." +msgstr "Вашата доверба е рачно одредена на јазичето Детали." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "_Only display the signatures of people I trust" +msgstr "_Прикажувај само потписи од луѓе Во кои имам доверба" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "_Revoke Signature" +msgstr "_Отповикај потпис" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "_Sign this Key" +msgstr "_Потпиши го овој клуч" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +#| msgid "Revoke Subkey %d of %s" +msgid "Subkey %d of %s" +msgstr "Потклуч %d од %s" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Optional description of revocation" +msgstr "Опционален опис за отпишувањето" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "Re_voke" +msgstr "От_пис" + +#: ../pgp/seahorse-revoke.xml.h:3 +msgid "Reason for revoking the key" +msgstr "Причина за отповикувањето на клучот" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "_Reason:" +msgstr "_Причина" + +#: ../pgp/seahorse-signer.c:63 +msgid "You have no personal PGP keys that can be used to sign a document or message." +msgstr "Немате лични PGP клучеви кои можат да се употребат за потпишување на документ или на порака." + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "_Потпиши ја пораката со клучот:" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "How carefully have you checked this key?" +msgstr "Колку претпазливо го проверивте овој клуч?" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "How others will see this signature:" +msgstr "Како другите ќе го гледаат овој потпис:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Sign key as:" +msgstr "Потпиши го клучот како:" + +#: ../pgp/seahorse-sign.xml.h:4 +#| msgid "" +#| "Casually: means you have done a casual verification that the key\n" +#| "is owned by the person who claims to own it. For example, you could\n" +#| "read the key fingerprint to the owner over the phone. " +msgid "Casually: means you have done a casual verification that the key is owned by the person who claims to own it. For example, you could read the key fingerprint to the owner over the phone. " +msgstr "" +"Вообичаено: значи дека имате направено вообичаена проверка дека\n" +"клучот е поседуван од личност која тврди дека го поседува. На пример, можете\n" +"да го прочитате отпечатокот на сопственикот преку телефон. " + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "Key Name" +msgstr "Име на клуч" + +#: ../pgp/seahorse-sign.xml.h:6 +#| msgid "" +#| "Not at all: means you believe the key is owned by the person who \n" +#| "claims to own it, but you could not or did not verify this to be a fact." +msgid "Not at all: means you believe the key is owned by the person who claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Воопшто не: значи дека верувате дека клучот е на личност која тврди \n" +"дека го поседува, но не можите или не проверивте дали е точно тоа." + +#: ../pgp/seahorse-sign.xml.h:7 +#| msgid "" +#| "Very Carefully: Select this only if you are absolutely sure that " +#| "this\n" +#| "key is genuine." +msgid "Very Carefully: Select this only if you are absolutely sure that this key is genuine." +msgstr "" +"Многу претпазливо: Одберете го ова само ако сте апсолутно сигурни дека овој\n" +"клуч е автентичен." + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Со потпишувањето ја прикажувате доверливоста дека овој клуч припаѓа на:" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "I can _revoke this signature at a later date." +msgstr "Можам да го _отповикам овој потпис подоцна." + +#: ../pgp/seahorse-sign.xml.h:10 +#| msgid "_Sign Key..." +msgid "Sign Key" +msgstr "Потпиши клуч" + +#: ../pgp/seahorse-sign.xml.h:11 +#| msgid "" +#| "You could use a hard to forge photo identification (such as a passport) \n" +#| "to personally check that the name on the key is correct. You should \n" +#| "have also used email to check that the email address belongs to the\n" +#| "owner." +msgid "You could use a hard to forge photo identification (such as a passport) to personally check that the name on the key is correct. You should have also used email to check that the email address belongs to the owner." +msgstr "" +"Можете да користите фотографија која е тешко да се фалсификува (како што е од пасош) \n" +"за да проверите лично дали името на клучот одговара. Исто така, треба да ја имате искористено\n" +"е-поштата за проверите дали адресата за е-пошта припаѓа на\n" +"сопственикот." + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "_Casually" +msgstr "_Вообичаено" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Not at all" +msgstr "_Ни најмалку" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "_Others may not see this signature" +msgstr "_Другите може да не го видат овој потпис" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "_Sign" +msgstr "_Потпиши" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "_Потпишувач:" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Very Carefully" +msgstr "_Многу претпазливо" + +#: ../pgp/seahorse-transfer.c:237 +#: ../pgp/seahorse-transfer.c:284 +#| msgid "Exporting Keys" +msgid "Exporting data" +msgstr "Извезувам податоци" + +#: ../pgp/seahorse-transfer.c:237 +#: ../pgp/seahorse-transfer.c:284 +#| msgid "Retrieving key" +msgid "Retrieving data" +msgstr "Земам податоци" + +#: ../pgp/seahorse-transfer.c:240 +#: ../pgp/seahorse-transfer.c:287 +#| msgid "Importing Keys" +msgid "Importing data" +msgstr "Увезувам податоци" + +#: ../pgp/seahorse-transfer.c:240 +#: ../pgp/seahorse-transfer.c:287 +msgid "Sending data" +msgstr "Испраќам податоци" + +#: ../pgp/seahorse-unknown.c:61 +msgid "Unavailable" +msgstr "Недостапно" + +#: ../pkcs11/seahorse-certificate.c:435 +#| msgid "Generate a new key" +msgid "Personal certificate and key" +msgstr "Личен сертификат и клуч" + +#: ../pkcs11/seahorse-certificate.c:438 +#| msgid "Certificate" +msgid "Personal certificate" +msgstr "Личен сертификат" + +#: ../pkcs11/seahorse-certificate.c:440 +#: ../pkcs11/seahorse-certificate-der-exporter.c:77 +msgid "Certificate" +msgstr "Сертификат" + +#: ../pkcs11/seahorse-certificate-der-exporter.c:99 +msgid "Certificates (DER encoded)" +msgstr "Сертификати (DER енкодирани)" + +#: ../pkcs11/seahorse-pkcs11-backend.c:183 +#| msgid "Certificate" +msgid "Certificates" +msgstr "Сертификати" + +#: ../pkcs11/seahorse-pkcs11-backend.c:186 +msgid "X.509 certificates and related keys" +msgstr "X.509 сертификати и поврзани клучеви" + +#: ../pkcs11/seahorse-pkcs11-deleter.c:69 +#, c-format +#| msgid "Are you sure you want to permanently delete %d identities?" +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Дали сте сигурни дека сакате трајно да избришете %d сертификат?" +msgstr[1] "Дали сте сигурни дека сакате трајно да избришете %d сертификати?" + +#: ../pkcs11/seahorse-pkcs11-generate.c:115 +#| msgid "Couldn't generate key" +msgid "Couldn't generate private key" +msgstr "Не можев да генерирам приватен клуч" + +#: ../pkcs11/seahorse-pkcs11-generate.c:414 +#: ../pkcs11/seahorse-pkcs11-request.c:256 +#| msgid "C_reate" +msgid "Create" +msgstr "Креирај" + +#: ../pkcs11/seahorse-pkcs11-generate.c:507 +#: ../pkcs11/seahorse-private-key.c:179 +#| msgid "Private PGP Key" +msgid "Private key" +msgstr "Приватен клуч" + +#: ../pkcs11/seahorse-pkcs11-generate.c:508 +msgid "Used to request a certificate" +msgstr "Се користи за барање на сертификат" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +#| msgid "Create a new personal key" +msgid "Create a new private key" +msgstr "Креирај нов личен клуч" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +msgid "Label:" +msgstr "Ознака:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#| msgid "Strength:" +msgid "Stored at:" +msgstr "Зачуван на:" + +#: ../pkcs11/seahorse-pkcs11-key-deleter.c:85 +msgid "I understand that this key will be permanently deleted." +msgstr "Разбирам дека овој клуч ќе биде трајно избришан." + +#: ../pkcs11/seahorse-pkcs11-properties.c:147 +#: ../pkcs11/seahorse-pkcs11-properties.c:151 +msgid "Unnamed" +msgstr "Неименуван" + +#: ../pkcs11/seahorse-pkcs11-properties.c:175 +msgid "Failed to export certificate" +msgstr "Не успеав да го извезам сертификатот" + +#: ../pkcs11/seahorse-pkcs11-properties.c:190 +#: ../src/seahorse-sidebar.c:875 +#| msgid "Couldn't delete photo" +msgid "Couldn't delete" +msgstr "Не можев да избришам" + +#: ../pkcs11/seahorse-pkcs11-properties.c:231 +#| msgid "Export" +msgid "_Export" +msgstr "_Извези" + +#: ../pkcs11/seahorse-pkcs11-properties.c:232 +#| msgid "Certificate" +msgid "Export the certificate" +msgstr "Извези го сертификатот" + +#: ../pkcs11/seahorse-pkcs11-properties.c:234 +msgid "Delete this certificate or key" +msgstr "Избриши го овој сертификат или клуч" + +#: ../pkcs11/seahorse-pkcs11-properties.c:235 +#| msgid "Certificate" +msgid "Request _Certificate" +msgstr "Побарај _сертификат" + +#: ../pkcs11/seahorse-pkcs11-properties.c:236 +#| msgid "No private key file is available for this key." +msgid "Create a certificate request file for this key" +msgstr "Креирај датотека со барање за сертификат за овој клуч" + +#: ../pkcs11/seahorse-pkcs11-request.c:104 +#| msgid "Couldn't verify signature." +msgid "Couldn't save certificate request" +msgstr "Не можев да го зачувам барањето за сертификатот" + +#: ../pkcs11/seahorse-pkcs11-request.c:127 +msgid "Save certificate request" +msgstr "Зачувај го барањето за сертификат" + +#: ../pkcs11/seahorse-pkcs11-request.c:138 +#| msgid "Certificate" +msgid "Certificate request" +msgstr "Барање за сертификат" + +#: ../pkcs11/seahorse-pkcs11-request.c:146 +msgid "PEM encoded request" +msgstr "PEM енкодирано барање" + +#: ../pkcs11/seahorse-pkcs11-request.c:194 +#| msgid "couldn't create new process group" +msgid "Couldn't create certificate request" +msgstr "Не можев да креирам барање за сертификат" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "Креирај датотека со барање за сертификат." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "Name (CN):" +msgstr "Име (CN):" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "The common name (CN) placed in the certificate request." +msgstr "Општо име (CN) поставено во барањето за сертификат." + +#: ../pkcs11/seahorse-private-key.c:132 +msgid "Unnamed private key" +msgstr "Неименуван приватен клуч" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "Смени лозинка" + +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Con_firm Passphrase:" +msgstr "Потврди лозинка" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "Confirm new passphrase" +msgstr "Потврди ја новата лозинка" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "New _Passphrase:" +msgstr "Нова лозинка" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "Менаџирајте ги Вашите лозинки и клучеви за енкриптирање" + +#: ../src/seahorse-generate-select.c:229 +#| msgid "C_ontinue" +msgid "Continue" +msgstr "Продолжи" + +#: ../src/seahorse-generate-select.xml.h:1 +#| msgid "_Select the kind of key you wish to create:" +msgid "_Select the type of item to create:" +msgstr "_Одберете го типот на предмет кој сакате да го креирате:" + +#: ../src/seahorse-import-dialog.c:98 +#| msgid "Import Key" +msgid "Import failed" +msgstr "Увезувањето не успеа" + +#: ../src/seahorse-import-dialog.c:116 +#| msgid "_Import" +msgid "Import" +msgstr "Увези" + +#: ../src/seahorse-import-dialog.c:129 +#| msgid "Dates:" +msgid "Data to be imported:" +msgstr "Податоци за увезување:" + +#: ../src/seahorse-key-manager.c:237 +#: ../ssh/seahorse-ssh-operation.c:845 +msgid "Import Key" +msgstr "Увези клуч" + +#: ../src/seahorse-key-manager.c:249 +msgid "All key files" +msgstr "Сите датотеки со клучеви" + +#: ../src/seahorse-key-manager.c:350 +msgid "Dropped text" +msgstr "Испуштен текст" + +#: ../src/seahorse-key-manager.c:373 +msgid "Clipboard text" +msgstr "Текст од табла со исечоци" + +#: ../src/seahorse-key-manager.c:500 +msgid "_New" +msgstr "_Нов" + +#: ../src/seahorse-key-manager.c:502 +msgid "Close this program" +msgstr "Затвори ја оваа програма" + +#: ../src/seahorse-key-manager.c:503 +#: ../src/seahorse-key-manager.c:505 +msgid "_New..." +msgstr "_Нов..." + +#: ../src/seahorse-key-manager.c:504 +#| msgid "Create a New Key" +msgid "Create a new key or item" +msgstr "Креирај нов клуч или предмет" + +#: ../src/seahorse-key-manager.c:506 +msgid "Add a new key or item" +msgstr "Додај нов клуч или предмет" + +#: ../src/seahorse-key-manager.c:507 +msgid "_Import..." +msgstr "_Увези..." + +#: ../src/seahorse-key-manager.c:508 +#| msgid "Import existing keys from a file:" +msgid "Import from a file" +msgstr "Увези од датотека" + +#: ../src/seahorse-key-manager.c:510 +#| msgid "Import keys from the clipboard" +msgid "Import from the clipboard" +msgstr "Увези од таблата со иссечоци" + +#: ../src/seahorse-key-manager.c:514 +#| msgid "_Replace" +msgid "P_laces" +msgstr "М_еста" + +#: ../src/seahorse-key-manager.c:515 +#| msgid "Show pass_word" +msgid "Show places sidebar" +msgstr "Покажи странична лента со места" + +#: ../src/seahorse-key-manager.c:519 +#| msgid "Show type column" +msgid "Show _personal" +msgstr "Покажи ги _личните" + +#: ../src/seahorse-key-manager.c:520 +msgid "Only show personal keys, certificates and passwords" +msgstr "Покажи ги само личните клучеви, сертификати и лозинки" + +#: ../src/seahorse-key-manager.c:521 +msgid "Show _trusted" +msgstr "Покажи ги _доверливите" + +#: ../src/seahorse-key-manager.c:522 +msgid "Only show trusted keys, certificates and passwords" +msgstr "Покажи ги само доверливите клучеви, сертификати и лозинки" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show _any" +msgstr "Покажи _било што" + +#: ../src/seahorse-key-manager.c:524 +msgid "Show all keys, certificates and passwords" +msgstr "Покажи ги сите клучеви, сертификати и лозинки" + +#: ../src/seahorse-key-manager.c:729 +#| msgid "Filter:" +msgid "Filter" +msgstr "Филтер" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "Почетни опции:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "Генерирајте нов клуч од Вашиот сопствен клуч: " + +#: ../src/seahorse-key-manager.xml.h:3 +msgid "Import existing keys from a file:" +msgstr "Увези ги постоечките клучеви од датотека." + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "To get started with encryption you will need keys." +msgstr "За да започнете со енкриптирање ќе ви требаат клучеви." + +#: ../src/seahorse-main.c:54 +msgid "Version of this application" +msgstr "Верзија на оваа апликација" + +#: ../src/seahorse-sidebar.c:799 +#| msgid "Couldn't export key." +msgid "Couldn't lock" +msgstr "Не можев да заклучам" + +#: ../src/seahorse-sidebar.c:836 +#| msgid "Couldn't sign key" +msgid "Couldn't unlock" +msgstr "Не можам да отклучам" + +#: ../src/seahorse-sidebar.c:944 +msgid "_Lock" +msgstr "_Заклучи" + +#: ../src/seahorse-sidebar.c:949 +msgid "_Unlock" +msgstr "_Отклучи" + +#: ../src/seahorse-sidebar.c:968 +#| msgid "Key Properties" +msgid "_Properties" +msgstr "_Својства" + +#: ../ssh/seahorse-ssh-actions.c:88 +msgid "Configure Key for _Secure Shell..." +msgstr "Конфигурирај клуч за _безбедна школка..." + +#: ../ssh/seahorse-ssh-actions.c:89 +msgid "Send public Secure Shell key to another machine, and enable logins using that key." +msgstr "Испрати го клучот од безбедната школка на друга машина и овозможи најавувања со тој клуч." + +#: ../ssh/seahorse-ssh-askpass.c:60 +#: ../ssh/seahorse-ssh-askpass.c:68 +msgid "Enter your Secure Shell passphrase:" +msgstr "Внесете ја Вашата тајна фраза на безбедна школка:" + +#: ../ssh/seahorse-ssh-askpass.c:82 +msgid "Old Key Passphrase" +msgstr "Стара тајна фраза" + +#: ../ssh/seahorse-ssh-askpass.c:83 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Внесете ја старата тајна фраза за: %s" + +#: ../ssh/seahorse-ssh-askpass.c:87 +#: ../ssh/seahorse-ssh-askpass.c:92 +msgid "New Key Passphrase" +msgstr "Нова тајна фраза" + +#: ../ssh/seahorse-ssh-askpass.c:88 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Внесете нова тајна фраза за: %s" + +#: ../ssh/seahorse-ssh-askpass.c:93 +#, c-format +#| msgid "Enter the new passphrase for: %s" +msgid "Enter the new passphrase again: %s" +msgstr "Повторно внесете нова тајна фраза: %s" + +#: ../ssh/seahorse-ssh-backend.c:91 +#| msgid "Secure Shell Key" +msgid "Secure Shell" +msgstr "Сигурносна школка" + +#: ../ssh/seahorse-ssh-backend.c:94 +#| msgid "Used to connect to other computers." +msgid "Keys used to connect securely to other computers" +msgstr "Клучеви кои се користат за поврзување на други компјутери" + +#: ../ssh/seahorse-ssh-deleter.c:81 +#: ../ssh/seahorse-ssh-deleter.c:86 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "Дали сте сигурни дека сакате трајно да го избришете клучот од школката „%s“?" + +#: ../ssh/seahorse-ssh-deleter.c:91 +#: ../ssh/seahorse-ssh-deleter.c:92 +#, c-format +msgid "Are you sure you want to delete %d secure shell keys?" +msgstr "Дали сте сигурни дека сакате трајно да избришете %d клучеви за школката?" + +#: ../ssh/seahorse-ssh-exporter.c:92 +#| msgid "Sync Keys" +msgid "Ssh Key" +msgstr "Ssh клуч" + +#: ../ssh/seahorse-ssh-exporter.c:122 +#| msgid "Secure Shell key" +msgid "Secret SSH keys" +msgstr "Тајни SSH клучеви" + +#: ../ssh/seahorse-ssh-exporter.c:126 +#| msgid "Public PGP Key" +msgid "Public SSH keys" +msgstr "Јавни SSH клучеви" + +#: ../ssh/seahorse-ssh-exporter.c:290 +#| msgid "No private key file is available for this key." +msgid "No public key file is available for this key." +msgstr "Нема достапни датотеки со јавни клучеви за овој клуч." + +#: ../ssh/seahorse-ssh-generate.c:55 +#: ../ssh/seahorse-ssh-key.c:114 +#: ../ssh/seahorse-ssh-key.c:118 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Secure Shell Key" +msgstr "Клуч на сигурносна школка" + +#: ../ssh/seahorse-ssh-generate.c:56 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "Користен за пристапување на други компјутери (пр: преку терминал)" + +#: ../ssh/seahorse-ssh-generate.c:110 +#: ../ssh/seahorse-ssh-generate.c:126 +msgid "Couldn't generate Secure Shell key" +msgstr "Не можам да генерирам клуч за безбедна школка" + +#: ../ssh/seahorse-ssh-generate.c:192 +msgid "Creating Secure Shell Key" +msgstr "Креирам клуч за сигурната школка" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +#| msgid "" +#| "Use your email address, and any other reminder\n" +#| " you need about what this key is for." +msgid "Your email address, or a reminder of what this key is for." +msgstr "Вашата адреса за е-пошта или друг потсетник за тоа што е овој клуч." + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +#| msgid "" +#| "A Secure Shell (SSH) key lets you connect securely to trusted\n" +#| "computers using SSH, without entering a different password \n" +#| "for each of them." +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "Клучот на безбедната школка (SSH) Ви овозможува безбедно да се поврзете со други компјутери." + +#: ../ssh/seahorse-ssh-generate.xml.h:5 +#| msgid "" +#| "If there is already a computer you want to use this key with, you \n" +#| "can set up that computer to recognize your key now. " +msgid "If there is a computer you want to use this key with, you can set up that computer to recognize your new key." +msgstr "Ако веќе има компкутер со кој што сакате да го користите овој клуч, сега можете да го поставите тој компјутер да го препознае Вашиот клуч." + +#: ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "New Secure Shell Key" +msgstr "Нов клуч за безбедната школка" + +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "_Create and Set Up" +msgstr "_Креирај и постави" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "_Just Create Key" +msgstr "_Само креирај клуч" + +#: ../ssh/seahorse-ssh-key.c:110 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Нечитлив клуч за сигурносна школка)" + +#: ../ssh/seahorse-ssh-key.c:218 +#| msgid "My _Personal Keys" +msgid "Personal SSH key" +msgstr "Личен SSH клуч" + +#: ../ssh/seahorse-ssh-key.c:220 +msgid "SSH key" +msgstr "SSH клуч" + +#: ../ssh/seahorse-ssh-key-properties.c:82 +msgid "Couldn't rename key." +msgstr "Не можам да го преименувам клучот." + +#: ../ssh/seahorse-ssh-key-properties.c:135 +msgid "Couldn't change authorization for key." +msgstr "Не можам да ја променам авторизацијата за клучот." + +#: ../ssh/seahorse-ssh-key-properties.c:170 +#| msgid "Couldn't change passhrase for key." +msgid "Couldn't change passphrase for key." +msgstr "Не можам да ја променам тајната фраза за клучот." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Algorithm:" +msgstr "Алгоритам:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Identifier:" +msgstr "Идентификатор:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Location:" +msgstr "Локација:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:5 +msgid "Name:" +msgstr "Име:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgid "Strength:" +msgstr "Јачина:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:8 +msgid "Trust" +msgstr "Доверба" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:13 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "Ова се однесува само на'%s' сметката." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "E_xport Complete Key" +msgstr "И_звези целосен клуч" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "Сопственикот на овој клуч е _авторизиран да се поврзи на овој компјутер" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "Used to connect to other computers." +msgstr "Користен за поврзување на други компјутери." + +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH командата беше прекината неочекувано." + +#: ../ssh/seahorse-ssh-operation.c:209 +msgid "The SSH command failed." +msgstr "SSH командата не успеа." + +#: ../ssh/seahorse-ssh-operation.c:502 +#| msgid "Network Password" +msgid "Remote Host Password" +msgstr "Лозинка на оддалечен хост" + +#: ../ssh/seahorse-ssh-operation.c:588 +msgid "Enter Key Passphrase" +msgstr "Внесете тајна фраза" + +#: ../ssh/seahorse-ssh-operation.c:678 +msgid "Passphrase for New Secure Shell Key" +msgstr "Тајна фраза за клучот на новата безбедна школка" + +#: ../ssh/seahorse-ssh-operation.c:862 +#, c-format +msgid "Importing key: %s" +msgstr "Увезувам клуч: %s" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Importing key. Enter passphrase" +msgstr "Увезувам клуч. Внесете тајна фраза" + +#: ../ssh/seahorse-ssh-source.c:232 +msgid "OpenSSH directory" +msgstr "OpenSSH директориум" + +#: ../ssh/seahorse-ssh-source.c:235 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ../ssh/seahorse-ssh-source.c:940 +msgid "No private key file is available for this key." +msgstr "Нема достапни датотеки со приватни клучеви за овој клуч." + +#: ../ssh/seahorse-ssh-upload.c:50 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "Не можам да ги конфигурирам клучевите за безбедна школка на оддалечениот компјутер." + +#: ../ssh/seahorse-ssh-upload.c:133 +msgid "Configuring Secure Shell Keys..." +msgstr "Ги конфигурирам клучевите за безбедна школка..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +#| msgid "eg: fileserver.example.com" +msgid "eg: fileserver.example.com:port" +msgstr "пр.: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "Постави го компјутерот за SSH врска" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +#| msgid "" +#| "To use your Secure Shell key with another computer that\n" +#| "uses SSH, you must already have a login account on that \n" +#| "computer." +msgid "To use your Secure Shell key with another computer that uses SSH, you must already have a login account on that computer." +msgstr "За да го користите Вашиот клуч за безбедна школка на друг компјутер, кој користи SSH, мора да имате веќе сметка за најава на тој компјутер." + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "Име на _компјутерот:" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "Име за _најава:" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "_Постави" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "Не го извршувај seahorse-daemon како демон" +#~ msgid "couldn't fork process" +#~ msgstr "не можам да го разделам процесот" +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "Демон за енкриптирање (Seahorse)" +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "Невалиден или непрепознаен тип на клуч: %s" +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "Невалиден или непрепознаен клуч: %s" +#~ msgid "Signed by expired on %s." +#~ msgstr "Потпишано од <Ид. на клуч='%s'/> истечено на %s." +#~ msgid "Signed by on %s Expired." +#~ msgstr "Потпишано од <Ид. на клуч='%s'/> на %s Истечено." +#~ msgid "Expired Signature" +#~ msgstr "Истечен потпис" +#~ msgid "Signed by Revoked on %s." +#~ msgstr "Потпишано од <Ид. на клуч='%s'/> Отповикано на %s." +#~ msgid "Revoked Signature" +#~ msgstr "Отповикан потпис" +#~ msgid "Signed by on %s." +#~ msgstr "Потпишано од <Ид. на клуч='%s'/> на %s." +#~ msgid "Good Signature" +#~ msgstr "Добар потпис" +#~ msgid "Signing key not in keyring." +#~ msgstr "Клучот за потпис не е во приврзокот." +#~ msgid "Unknown Signature" +#~ msgstr "Непознат потпис" +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "Лош или фалсификуван потпис. Потпишаните податоци беа изменети." +#~ msgid "Bad Signature" +#~ msgstr "Лош потпис" +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "Невалиден или непрепознаен потпишувач: %s" +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "Овој клуч не е валиден за потпишување: %s" +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "Невалиден или непрепознаен примач: %s" +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "Клучот не е валиден примач за енкрипција: %s" +#~ msgid "No recipients specified" +#~ msgstr "Не се одредени примачи" +#~ msgid "No signer specified" +#~ msgstr "Не е одреден примач" +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "Невалиден тип на клуч за декриптирање: %s" +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "Невалиден тип на клуч за проверка: %s" +#~ msgid "Invalid key id: %s" +#~ msgstr "Невалидно Ид. на клуч: %s" +#~ msgid "Couldn't share keys" +#~ msgstr "Не можам да споделам клучеви" +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "Не можам да ги објавам откриените информации на мрежата." +#~ msgid "%s's encryption keys" +#~ msgstr "Клучевите за енкриптирање на %s" +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "Листа со URI на сервери за клучеви за оддалечени PGP клучеви. Во поновите " +#~ "верзии ќе биде вклучено и име на приказ, со додавање на празен простор, " +#~ "па името." +#~ msgid "Auto Retrieve Keys" +#~ msgstr "Автоматско земање на клучеви" +#~ msgid "Auto Sync Keys" +#~ msgstr "Автоматски синхронизирани клучеви" +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "" +#~ "Ја контролира видливоста на колоната за истекување на менаџерот на " +#~ "клучеви." +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "" +#~ "Ја контролира видливоста на колоната за доверливост на менаџерот на " +#~ "клучеви." +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "" +#~ "Ја контролира видливоста на колоната за тип на менаџерот на клучеви." +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "" +#~ "Ја контролира видливоста на колоната за валидност на менаџерот на клучеви." +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "Овозможи DNS-SD споделување" +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "Овозможува DNS-SD (Apple Bonjour) споделување на клучеви. seahorse-daemon " +#~ "мора да се извршува и мора да е компајлиран со HKP и DNS-SD поддршка." +#~ msgid "ID of the default key" +#~ msgstr "Ид. на стандарниот клуч" +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "" +#~ "Ако е поставено на точно, тогаш датотеките енкриптирани со seahorse ќе " +#~ "бидат енкриптирани со ASCII штит." +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "" +#~ "Ако е поддесено на вистинско, тогаш стандардниот клуч секогаш ќе биде " +#~ "додаден во енкрипцијата на примачот на листата" +#~ msgid "Last key server search pattern" +#~ msgstr "Последниот шаблон за пребарување на сервер за клучеви" +#~ msgid "Last key servers used" +#~ msgstr "Последните употребувани сервери" +#~ msgid "Last key used to sign a message." +#~ msgstr "Последниот клуч употребен за потпишување на порака." +#~ msgid "PGP Key servers" +#~ msgstr "Сервери за PGP клучеви" +#~ msgid "Publish keys to this key server." +#~ msgstr "Објави ги клучевите на овој сервер за клучеви." +#~ msgid "Show expires column in key manager" +#~ msgstr "Покажи истекувачка колона во менаџерот на клучеви" +#~ msgid "Show trust column in key manager" +#~ msgstr "Покажи trust колона во менаџерот на копчиња" +#~ msgid "Show type column in key manager" +#~ msgstr "Покажи тип на колони во менаџерот на копчиња" +#~ msgid "Show validity column in key manager" +#~ msgstr "Покажи валидна колона во менаџерот на копчиња" +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "Одреди ја колоната за сортирање на примачите по прозорец. Колоните се: " +#~ "„име“ и „Ид.“. Ставете „-“ пред името на колоната за сортирање во обратен " +#~ "редослед." +#~ msgid "" +#~ "Specify the column to sort the seahorse key manager main window by. " +#~ "Columns are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. " +#~ "Put a '-' in front of the column name to sort in descending order." +#~ msgstr "" +#~ "Одреди ја колоната за сортирање на seahorse менаџерот на клучеви по " +#~ "прозорец. Колоните се: „име“, „Ид.“, „валидност“, „истекува“, „доверливо“ " +#~ "и „тип“. Ставете „-“ пред името на колоната за сортирање во обратен " +#~ "редослед." +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "Ид. на последниот таен клуч користен за потпишување на порака." +#~ msgid "The column to sort the recipients by" +#~ msgstr "Колоната по која ќе се сортираат примачите" +#~ msgid "The column to sort the seahorse keys by" +#~ msgstr "Колоната по која ќе се сортираат клучевите на seahorse" +#~ msgid "" +#~ "The key server to publish PGP keys to. Or empty to suppress publishing of " +#~ "PGP keys." +#~ msgstr "" +#~ "Серверот за клучеви на кој што ќе се објавуваат PGP клучевите. Празно за " +#~ "да не се објавуваат PGP клучевите." +#~ msgid "" +#~ "The last key server a search was performed against or empty for all key " +#~ "servers." +#~ msgstr "" +#~ "Последниот сервер за клучеви на кој што се извршуваше пребарување или " +#~ "празно за сите сервери за клучеви." +#~ msgid "The last search pattern searched for against a key server." +#~ msgstr "Последниот шаблон за пребарување на сервер за клучеви." +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "" +#~ "Ова го одредува стандардниот клуч кој ќе се користи за одредени операции, " +#~ "најчесто за потпишување." +#~ msgid "" +#~ "Whether or not keys should be automatically retrieved from key servers." +#~ msgstr "Дали клучевите автоматски да се земаат од серверите за клучеви." +#~ msgid "" +#~ "Whether or not modified keys should be automatically synced with the " +#~ "default key server." +#~ msgstr "" +#~ "Дали изменетите клучеви автоматски да се синхронизираат со стандардниот " +#~ "сервер на клучеви." +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "Дали секогаш да го енкриптира стандардниот клуч" +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "Дали да користи ASCII Оклоп" +#~ msgid "Invalid" +#~ msgstr "Невалидно" +#~ msgid "Web Password" +#~ msgstr "Web лозинка" +#~ msgid "Couldn't set application access." +#~ msgstr "Не можам да го поставам пристапот на апликацијата." +#~ msgid "Path:" +#~ msgstr "Патека:" +#~ msgid "Permissions:" +#~ msgstr "Пермисии:" +#~ msgid "Applications" +#~ msgstr "Апликации" +#~ msgid "_Read" +#~ msgstr "_Прочитај" +#~ msgid "_Write" +#~ msgstr "_Запиши" +#~ msgid "Saving item..." +#~ msgstr "Зачувувам предмет..." +#~ msgid "Removing item" +#~ msgstr "Отстранувам предмет" +#~ msgid "All Keys" +#~ msgstr "Сите клучеви" +#~ msgid "Selected Recipients" +#~ msgstr "Избрани примачи" +#~ msgid "Search Results" +#~ msgstr "Резултати од пребарувањето" +#~ msgid "Search _for:" +#~ msgstr "_Пребарувај:" +#~ msgid "None (Don't Sign)" +#~ msgstr "Ништо (не потпишувај)" +#~ msgid "Sign this message as %s" +#~ msgstr "Потпиши ја пораката како %s" +#~ msgid "_Sign message as:" +#~ msgstr "_Потпиши ја пораката како:" +#~ msgid "Key Imported" +#~ msgid_plural "Keys Imported" +#~ msgstr[0] "Клучот е увезен" +#~ msgstr[1] "Клучевите се увезени" +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "Увезен е %i клуч" +#~ msgstr[1] "Увезени се %i клучеви" +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "Увезoв клуч за" +#~ msgstr[1] "Увезoв клучеви за" +#~ msgid "Notification Messages" +#~ msgstr "Пораки за известување" +#~ msgid "Couldn't get default password keyring" +#~ msgstr "Не можам да го добијам стандардниот приврзок на лозинки" +#~ msgid "Couldn't get list of password keyrings" +#~ msgstr "Не можам да добијам листа на приврзоци со лозинки" +#~ msgid "Couldn't remove keyring" +#~ msgstr "Не можам да го отстранам приврзокот" +#~ msgid "Are you sure you want to permanently delete the '%s' keyring?" +#~ msgstr "" +#~ "Дали сте сигурни дека сакате трајно да го избришете приврзокот „%s“?" +#~ msgid "Default Keyring" +#~ msgstr "Стандарден приврзок" +#~ msgid "Password Keyrings" +#~ msgstr "Приврзоци со лозинки:" +#~ msgid "Password and Encryption Settings" +#~ msgstr "Лозинки и поставувања за енкрипција" +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "Споделувањето на Вашите клучеви им овозможува на другите луѓе на мрежата " +#~ "да ги користат клучевите кои сте ги собрале. Ова значи дека тие ќе можат " +#~ "автоматски да енкриптираат нешта за Вас или за тие што ги познавате, без " +#~ "да мора да им го испраќате Вашиот клуч.\n" +#~ "\n" +#~ "Белешка: Вашите лични клучеви нема да се земат во предвид." +#~ msgid "_Remove Keyring" +#~ msgstr "_Отстрани го приврзокот" +#~ msgid "_Share my keys with others on my network" +#~ msgstr "_Сподели ги моите клучеви со други на мојата мрежа" +#~ msgid "Progress Title" +#~ msgstr "Наслов на напредувањето" +#~ msgid "Unknown Key: %s" +#~ msgstr "Непознат клуч: %s" +#~ msgid "Unknown Key" +#~ msgstr "Непознат клуч" +#~ msgid "Unavailable Key" +#~ msgstr "Недостапен клуч" +#~ msgid "Couldn't run file-roller" +#~ msgstr "Не можам да го извршам file-roller" +#~ msgid "Couldn't package files" +#~ msgstr "Не можам да ги спакувам датотеките" +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "Процесот file-roller не заврши успешно" +#~ msgid "Archive files" +#~ msgstr "Архивирај ги датотеките" +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "Веќе постои датотека со тоа име.\n" +#~ "\n" +#~ "Дали сакате да ја замените со ново име?" +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "Не се пронајдени клучеви со кои ќе се изврши операцијата која ја " +#~ "побаравте. Ќе се стартува програмата Лозинки и клучеви за енкрипција за да внесите или креирате клуч." +#~ msgid "X509 Certificate" +#~ msgstr "X509 сертификат" +#~ msgid "Loading..." +#~ msgstr "Вчитувам..." +#~ msgid "Invalid or unrecognized object." +#~ msgstr "Невалиден или непрепознаен предмет." +#~ msgid "Exporting is not yet supported." +#~ msgstr "Извезувањето не е сѐ уште поддржано." +#~ msgid "Uploading keys..." +#~ msgstr "Ги качувам клучевите..." +#~ msgid "Retrieving keys..." +#~ msgstr "Земам клучеви..." +#~ msgid "Searching for keys on: %s" +#~ msgstr "Пребарувам клучеви на: %s" +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "Пребарувам клучеви кои содржат „%s“" +#~ msgid "Searching for key id '%s'..." +#~ msgstr "Пребарувам клучеви со Ид. „%s“..." +#~ msgid "Retrieving remote keys..." +#~ msgstr "Земам оддалечени клучеви..." +#~ msgid "Sending keys to key server..." +#~ msgstr "Испраќам клучеви до серверот за клучеви..." +#~ msgid "Sign public key" +#~ msgstr "Потпиши јавен клуч" +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "" +#~ "Дали сте сигурни дека сакате трајно да избришете %d клучеви и идентитети?" +#~ msgid "Expiry for Subkey %d of %s" +#~ msgstr "Истекување на подклучот %d од %s" +#~ msgid "Create a PGP Key" +#~ msgstr "Креирај нов PGP клуч" +#~ msgid "New PGP Key" +#~ msgstr "Нов PGP клуч" +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "Не можам да го извезам клучот во \"%s\"" +#~ msgid "Export Complete Key" +#~ msgstr "Извези го целосниот клуч" +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginal\n" +#~ "Full\n" +#~ "Ultimate" +#~ msgstr "" +#~ "Непознато\n" +#~ "Никогаш\n" +#~ "Малку\n" +#~ "Потполна\n" +#~ "Целосна" +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginally\n" +#~ "Fully\n" +#~ "Ultimately" +#~ msgstr "" +#~ "Непознато\n" +#~ "Никогаш\n" +#~ "Малку\n" +#~ "Потполна\n" +#~ "Целосна" +#~ msgid "Loading Keys..." +#~ msgstr "Вчитувам клучеви..." +#~ msgid "Other _Collected Keys" +#~ msgstr "Други _собрани клучеви" +#~ msgid "_Trusted Keys" +#~ msgstr "_Доверливи клучеви" +#~ msgid "_Create New Key..." +#~ msgstr "_Креирај нови клучеви..." +#~ msgid "Import keys into your key ring from a file" +#~ msgstr "Увезете клучеви во Вашиот приврзок од датотека" +#~ msgid "Paste _Keys" +#~ msgstr "Вметни _клучеви" +#~ msgid "T_ypes" +#~ msgstr "Т_ипови" +#~ msgid "_Expiry" +#~ msgstr "_Истекува" +#~ msgid "Show expiry column" +#~ msgstr "Прикажи колона за истекување" +#~ msgid "_Trust" +#~ msgstr "_Доверба" +#~ msgid "Show owner trust column" +#~ msgstr "Прикажи колона за довербата на сопственикот" +#~ msgid "_Validity" +#~ msgstr "_Валидно" +#~ msgid "Show validity column" +#~ msgstr "Прикажи колона за валидност" +#~ msgid "Importing keys" +#~ msgstr "Увезувам клучеви" +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "Непрепознат тип на клуч или невалиден формат на податоци" +#~ msgid "Selected %d key" +#~ msgid_plural "Selected %d keys" +#~ msgstr[0] "Избран е %d клуч" +#~ msgstr[1] "Избран е %d клуч" +#~ msgid "Validity" +#~ msgstr "Валидност" +#~ msgid "Expiration Date" +#~ msgstr "Рок на трење" +#~ msgid "_Close" +#~ msgstr "_Затвори" +#~ msgid "_Expand All" +#~ msgstr "_Прошири се" +#~ msgid "Expand all listings" +#~ msgstr "Потрошиги сите листења" +#~ msgid "_Collapse All" +#~ msgstr "_Колапсирајги сите" +#~ msgid "Collapse all listings" +#~ msgstr "Колапсирај ги сите листи" +#~ msgid "Synchronizing keys" +#~ msgstr "Ги синхронизирам клучевите" +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "X клучеви се избрани за синхронизација" +#~ msgid "_Key Description:" +#~ msgstr "_Опис на клуч:" +#~ msgid "Private Secure Shell Key" +#~ msgstr "Приватен клуч на сигурносна школка" +#~ msgid "Public Secure Shell Key" +#~ msgstr "Јавен клуч на сигурносна школка" +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/nate/.ssh/blah_rsa" +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" +#~ msgid "Passphrase:" +#~ msgstr "Тајна фраза:" +#~ msgid "Secure Shell Passphrase" +#~ msgstr "Тајна фраза на безбедна школка" +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "Внесете тајна фраза за Вашиот нов клуч на безбедната школка" +#~ msgid "Secure Shell Key Passphrase" +#~ msgstr "Тајна фраза за клуч на безбедната школка" +#~ msgid "Enter the passphrase for: %s" +#~ msgstr "Внесете ја тајната фраза за: %s" +#~ msgid "Save this passphrase in my keyring" +#~ msgstr "Зачувај ја оваа тајна фраза во мојот приврзок" + diff --git a/po/ml.po b/po/ml.po new file mode 100644 index 00000000..9a6e3537 --- /dev/null +++ b/po/ml.po @@ -0,0 +1,3122 @@ +# translation of seahorse.master.ml.po to +# translation of seahorse.HEAD.ml.po to +# Copyright (C) 2003-2008 seahorse'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FSF-India , 2003. +# Ani Peter , 2007, 2009. +# Jeffrey|ജെഫ്രി Antony|ആന്റണി , 2008. +# Praveen Arimbrathodiyil , 2008 +# Anish A , 2012, 2013. +# Balasankar C , 2013. +msgid "" +msgstr "" +"Project-Id-Version: seahorse.master.ml\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=seahorse&keywords=I18N" +"+L10N&component=general\n" +"POT-Creation-Date: 2017-08-15 05:05+0000\n" +"PO-Revision-Date: 2017-08-21 01:08+0530\n" +"Last-Translator: Anish Sheela \n" +"Language-Team: Swatantra Malayalam Computing\n" +"Language: ml\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.0.1\n" +"X-Project-Style: gnome\n" + +#: ../data/seahorse.appdata.xml.in.h:1 +msgid "Seahorse" +msgstr "സീഹോര്‍സ്" + +#: ../data/seahorse.appdata.xml.in.h:2 ../data/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "നിങ്ങളുടെ രഹസ്യവാക്കും എന്‍ക്രിപ്ഷന്‍ കീകളും കൈകാര്യം ചെയ്യുക" + +#: ../data/seahorse.appdata.xml.in.h:3 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also integrates with nautilus, gedit and " +"other places for encryption operations." +msgstr "" +"എന്‍ക്രിപ്ഷന്‍ കീകള്‍ കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഒരു ഗ്നോം അപ്ലിക്കേഷന്‍ ആണ് സീഹോര്‍സ്. അത് നോട്ടിലസ്, ജിഎഡിറ്റ് തുടങ്ങിയവയുമായി എന്‍ക്രിപ്ഷന്‍ " +"കാര്യങ്ങള്‍ക്ക് ചേര്‍ന്ന് പ്രവര്‍ത്തിക്കും." + +#: ../data/seahorse.appdata.xml.in.h:4 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH keys, publish and retrieve keys from " +"key servers, cache your passphrase so you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"സീഹോര്‍സ് വെച്ച് താങ്കള്‍ക്ക് പി ജി പി, എസ് എസ് എച് ചാവികള്‍ സൃഷ്ടിക്കാനും കൈകാര്യം ചെയ്യാനും, ചാവികള്‍ ചാവി സര്‍വറിലേക്ക് " +"പ്രസിദ്ധീകരിക്കാനും, സര്‍വറില്‍ നിന്ന് വലിച്ചെടുക്കാനും, രഹസ്യവാചകം താത്കാലികമായി ഓര്‍മിച്ചുവെക്കാനും ചാവികളും ചാവിക്കൂട്ടും ബാക്കപ്പ് " +"ചെയ്യാനും കഴിയും." + +#: ../data/seahorse.desktop.in.in.h:1 ../common/catalog.vala:285 ../src/seahorse-key-manager.c:660 +msgid "Passwords and Keys" +msgstr "രഹസ്യവാക്കുകളും ചാവികളും" + +#: ../data/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "keyring;encryption;security;sign;ssh;" + +#: ../common/catalog.vala:257 +msgid "Contributions:" +msgstr "സംഭാവന ചെയ്തവര്‍:" + +#: ../common/catalog.vala:287 +msgid "translator-credits" +msgstr "" +"Ani Peter|അനി പീറ്റര്‍ \n" +"Anish A | അനീഷ് എ \n" +"Akshay S Dinesh| അക്ഷയ് എസ് ദിനേശ് " + +#: ../common/catalog.vala:290 +msgid "Seahorse Project Homepage" +msgstr "സീഹോഴ്സ് സംരംഭത്തിനുള്ള പ്രധാനതാള്‍" + +#: ../common/catalog.vala:308 +msgid "Cannot delete" +msgstr "നീക്കം ചെയ്യുവാന്‍ സാധിക്കില്ല" + +#: ../common/catalog.vala:331 ../libseahorse/seahorse-key-manager-store.c:443 +msgid "Couldn’t export keys" +msgstr "ചാവികള്‍ പുറത്തെടുക്കാന്‍ കഴിഞ്ഞില്ല" + +#: ../common/catalog.vala:342 +msgid "Couldn’t export data" +msgstr "വിവരങ്ങള്‍ പുറത്തെടുക്കാന്‍ കഴിഞ്ഞില്ല" + +#: ../common/catalog.vala:358 ../libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "സഹായം കാണിക്കാന്‍ സാധിച്ചില്ല: %s" + +#. Top menu items +#: ../common/catalog.vala:364 +msgid "_File" +msgstr "ഫയല്‍ (_F)" + +#: ../common/catalog.vala:365 +msgid "E_xport…" +msgstr "പുറത്തെടുക്കുക (_x)…" + +#: ../common/catalog.vala:366 +msgid "Export to a file" +msgstr "ഒരു ഫയലിലേക്കു് എക്സ്പോര്‍ട്ട് ചെയ്യുക" + +#: ../common/catalog.vala:367 +msgid "_Edit" +msgstr "ചിട്ട (_E)" + +#: ../common/catalog.vala:370 +msgid "Copy to the clipboard" +msgstr "ക്ലിപ്പ്ബോര്‍ഡിലേക്കു് പകര്‍ത്തുക" + +#: ../common/catalog.vala:371 ../pkcs11/pkcs11-properties.vala:201 ../src/seahorse-sidebar.c:954 +msgid "_Delete" +msgstr "നീക്കം ചെയ്യുക (_D)" + +#: ../common/catalog.vala:372 +msgid "Delete selected items" +msgstr "തെരഞ്ഞെടുത്ത വസ്തുക്കള്‍ നീക്കം ചെയ്യുക" + +#: ../common/catalog.vala:374 +msgid "Show the properties of this item" +msgstr "ഇതിന്റെ ഗുണഗണങ്ങള്‍ കാണിക്കുക" + +#: ../common/catalog.vala:376 +msgid "Show the properties of this keyring" +msgstr "ഈ ചാവികൂട്ടത്തിന്റെ ഗുണഗണങ്ങള്‍ കാണിക്കുക" + +#: ../common/catalog.vala:377 +msgid "Prefere_nces" +msgstr "മുന്‍ഗണനകള്‍ (_n)" + +#: ../common/catalog.vala:378 +msgid "Change preferences for this program" +msgstr "ഈ പ്രോഗ്രാമിനുള്ള മുന്‍ഗണനകള്‍ മാറ്റുക" + +#: ../common/catalog.vala:379 +msgid "_View" +msgstr "കാഴ്ച (_V)" + +#: ../common/catalog.vala:380 +msgid "_Help" +msgstr "സഹായം (_H)" + +#: ../common/catalog.vala:382 +msgid "About this program" +msgstr "ഈ പ്രോഗ്രാമിനെക്കുറിച്ചു്" + +#: ../common/catalog.vala:383 +msgid "_Contents" +msgstr "ഉള്ളടക്കം (_C)" + +#: ../common/catalog.vala:384 +msgid "Show Seahorse help" +msgstr "സീഹോഴ്സ് സഹായം കാണിക്കുക" + +#: ../common/exportable.vala:192 ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "പുറത്തെടുക്കുക" + +#. TRANSLATORS: this date (Year-month-day) is used to display +#. * when something happened, e.g. when a key was created. Feel +#. * free to put it in the correct order for your language. +#. +#: ../common/util.vala:63 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "രഹസ്യവാക്കുകള്‍" + +#: ../gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "സുക്ഷിച്ച് വെച്ചിട്ടുള്ള സ്വകാര്യ രഹസ്യവാക്കുകള്‍, വിവരങ്ങള്‍, രഹസ്യങ്ങള്‍" + +#: ../gkr/gkr-backend.vala:251 +msgid "New password keyring" +msgstr "പുതിയ രഹസ്യവാക്കുള്ള ചാവിക്കൂട്ടം" + +#: ../gkr/gkr-backend.vala:252 ../gkr/gkr-backend.vala:259 +msgid "Used to store application and network passwords" +msgstr "പ്രയോഗവും നെറ്റ്‌വര്‍ക്ക് അടയാളവാക്കുകളും സൂക്ഷിക്കുന്നതിനായി ഉപയോഗിക്കുന്നു" + +#: ../gkr/gkr-backend.vala:253 +msgid "New password…" +msgstr "പുതിയ രഹസ്യവാക്ക്…" + +#: ../gkr/gkr-backend.vala:254 ../gkr/gkr-backend.vala:261 +msgid "Safely store a password or secret." +msgstr "സുരക്ഷിതമായി ഒരു അടയാളവാക്ക് അല്ലെങ്കില്‍ രഹസ്യം സൂക്ഷിക്കുക." + +#: ../gkr/gkr-backend.vala:258 +msgid "Password Keyring" +msgstr "പാസ്‌വേര്‍ഡ് ചാവികൂട്ടം" + +#: ../gkr/gkr-backend.vala:260 +msgid "Stored Password" +msgstr "സൂക്ഷിച്ചിട്ടുള്ള അടയാളവാക്കു്" + +#: ../gkr/gkr-item-add.vala:24 +msgid "Add Password" +msgstr "അടയാളവാക്കു് ചേര്‍ക്കുക" + +#: ../gkr/gkr-item-add.vala:101 +msgid "Couldn’t add item" +msgstr "കാര്യം ചേര്‍ക്കുവാനായില്ല" + +#: ../gkr/gkr-item-properties.vala:136 +msgid "Access a network share or resource" +msgstr "ഒരു നെറ്റ്‌വര്‍ക്ക് ഷെയര്‍ അല്ലെങ്കില്‍ ഒരു ഉടവിടത്തിലേക്കു് പ്രവേശിക്കുക" + +#: ../gkr/gkr-item-properties.vala:139 +msgid "Access a website" +msgstr "ഒരു വെബ് സൈറ്റിലേക്ക് പ്രവേശിക്കുക" + +#: ../gkr/gkr-item-properties.vala:142 +msgid "Unlocks a PGP key" +msgstr "ഒരു PGP ചാവി തുറക്കും" + +#: ../gkr/gkr-item-properties.vala:145 +msgid "Unlocks a Secure Shell key" +msgstr "ഒരു സുരക്ഷിത ഷെല്‍ ചാവി തുറക്കും" + +#: ../gkr/gkr-item-properties.vala:148 +msgid "Saved password or login" +msgstr "സൂക്ഷിച്ച അടയാളവാക്കു് അല്ലെങ്കില്‍ ലോഗിന്‍" + +#: ../gkr/gkr-item-properties.vala:161 +msgid "Network Credentials" +msgstr "നെറ്റ്‌വര്‍ക്ക് യോഗ്യതകള്‍" + +#: ../gkr/gkr-item-properties.vala:166 +msgid "Password" +msgstr "അടയാളവാക്കു്" + +#: ../gkr/gkr-item-properties.vala:235 +msgid "Couldn’t change password." +msgstr "അടയാളവാക്കു് മാറ്റുവാന്‍ കഴിഞ്ഞില്ല." + +#: ../gkr/gkr-item-properties.vala:275 +msgid "Couldn’t set description." +msgstr "വിവരണം നേരേയാക്കാന്‍ കഴിഞ്ഞില്ല." + +#. Translators: This should be the same as the string in empathy +#: ../gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "ലെ ചാറ്റ് അക്കൌണ്ട് രഹസ്യവാക്ക് " + +#: ../gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "രഹസ്യവാക്ക് അല്ലെങ്കില്‍ രഹസ്യം" + +#: ../gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "ശൃംഖല രഹസ്യവാക്കു്" + +#: ../gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "സൂക്ഷിച്ച രേഖ" + +#: ../gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "ചാവിക്കുട്ടത്തിന്റെ രഹസ്യവാക്ക്" + +#: ../gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "എന്‍ക്രിപ്ഷന്‍ ചാവി രഹസ്യവാക്ക്" + +#: ../gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "ചാവിയുടെ സൂക്ഷിക്കല്‍ രഹസ്യവാക്ക്" + +#: ../gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "ഗൂഗിള്‍ ക്രോം രഹസ്യവാക്ക്" + +#: ../gkr/gkr-item.vala:451 +msgid "Gnome Online Accounts password" +msgstr "ഗ്നോം ഓണ്‍ലൈന്‍ അക്കൌണ്ടിന്റെ രഹസ്യവാക്ക്" + +#: ../gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "ടെലിപ്പതി രഹസ്യവാക്ക്" + +#: ../gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "ചാറ്റ് രഹസ്യവാക്ക്" + +#: ../gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "ശ്രംഖല പരിപാലകന്‍ രഹസ്യം" + +#: ../gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "നിങ്ങള്‍ക്ക് “%s” അടയാളവാക്കു് എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" + +#: ../gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "നിങ്ങള്‍ക്ക് %d അടയാളവാക്കു് എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" +msgstr[1] "നിങ്ങള്‍ക്ക് %d അടയാളവാക്കുകള്‍ എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" + +#: ../gkr/gkr-keyring-add.vala:25 +msgid "Add Password Keyring" +msgstr "അടയാളവാക്കിന്റെ ചാവിക്കൂട്ടം ചേര്‍ക്കുക" + +#: ../gkr/gkr-keyring-add.vala:55 +msgid "Couldn’t add keyring" +msgstr "ചാവിക്കൂട്ടം ചേര്‍ക്കുവാന്‍ കഴിഞ്ഞില്ല" + +#: ../gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "പ്രവേശിക്കുമ്പോള്‍ തനിയെ തുറക്കുന്ന ചാവിക്കൂട്ടം" + +#: ../gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "രഹസ്യവാക്ക് സൂക്ഷിക്കുന്നതിനുള്ള ചാവിക്കുട്ടം" + +#: ../gkr/gkr-keyring.vala:174 +msgid "Couldn’t set default keyring" +msgstr "സ്വതവേയുള്ള ചാവികൂട്ടം സജ്ജമാക്കുവാന്‍ സാധിച്ചില്ല" + +#: ../gkr/gkr-keyring.vala:198 ../gkr/gkr-keyring.vala:203 +msgid "Couldn’t change keyring password" +msgstr "ചാവിക്കൂട്ടത്തിന്റെ അടയാളവാക്കു് മാറ്റുവാന്‍ സാധിച്ചില്ല" + +#: ../gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "സഹജമായി സജ്ജമാക്കുക (_S)" + +#: ../gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "പ്രയോഗങ്ങള്‍ സാധാരണ സ്വതവേയുള്ള ചാവികൂട്ടത്തില്‍ പുതിയ അടയാളവാക്കുകള്‍ സൂക്ഷിക്കുന്നു." + +#: ../gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "അടയാളവാക്കു് മാറ്റുക (_P)" + +#: ../gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "അടയാളവാക്കിനുള്ള സംഭരണ കീറിങിലുള്ള അണ്‍ലോക്ക് അടയാളവാക്ക് മാറ്റുക" + +#: ../gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "നിങ്ങള്‍ക്ക് “%s” രഹസ്യവാക്കുള്ള ചാവിക്കുട്ടം എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" + +#: ../gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "എല്ലാ കാര്യങ്ങളും സ്ഥിരമായി ഇല്ലാതാക്കുമെന്നെനിക്കറിയാം." + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Please choose a name for the new keyring. You will be prompted for an unlock password." +msgstr "പുതിയ ചാവികൂട്ടത്തിനുള്ള ഒരു പേരു് ദയവായി തെരഞ്ഞെടുക്കുക. പൂട്ട് തുറക്കുന്നതിനുള്ള ഒരു അടയാളവാക്ക് ആവശ്യപ്പെടും." + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "പുതിയ ചാവിക്കൂട്ടത്തിന്റെ പേര്:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 ../gkr/seahorse-gkr-item-properties.xml.h:1 +#: ../pgp/seahorse-revoke.xml.h:3 ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "വിവരണം (_D):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +msgid "_Password:" +msgstr "രഹസ്യവാക്ക് (_P):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Show Password" +msgstr "രഹസ്യവാക്ക് കാണിയ്ക്കുക (_S)" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Keyring:" +msgstr "ചാവികൂട്ടം (_K):" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "ഉപയോഗം:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "തരം:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Server:" +msgstr "സെര്‍വര്‍:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Login:" +msgstr "ലോഗിന്‍:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Show pass_word" +msgstr "രഹസ്യവാക്ക് കാണിക്കുക (_w)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 ../libseahorse/seahorse-passphrase.c:179 +#: ../ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "രഹസ്യവാക്കു്:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 ../pgp/seahorse-pgp-subkey.c:402 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "ചാവി" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "സാങ്കേതിക വിവരങ്ങള്‍:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "വിവരങ്ങള്‍" + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Name:" +msgstr "പേര്:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:3 ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "ഉണ്ടാക്കിയതു്:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring" +msgstr "ചാവികൂട്ടം" + +#: ../libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "ഫ്ലാഗുകള്‍ പ്രദര്‍ശിപ്പിക്കുക" + +#: ../libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "പ്രദര്‍ശിപ്പിച്ച തീയതി/സമയം ഗുണഗണങ്ങള്‍" + +#: ../libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "അലസ മോഡ്" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "നല്‍കിയ തീയതിയും സമയവും അലസ മോഡ് നോര്‍മലൈസ് ചെയ്യില്ല" + +#: ../libegg/egg-datetime.c:328 +msgid "Year" +msgstr "വര്‍ഷം" + +#: ../libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "പ്രദര്‍ശിപ്പിച്ച വര്‍ഷം" + +#: ../libegg/egg-datetime.c:334 +msgid "Month" +msgstr "മാസം" + +#: ../libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "പ്രദര്‍ശിപ്പിച്ച മാസം" + +#: ../libegg/egg-datetime.c:340 +msgid "Day" +msgstr "ദിവസം" + +#: ../libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "പ്രദര്‍ശിപ്പിച്ച മാസത്തിലെ ദിനം" + +#: ../libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "മണിക്കൂര്‍" + +#: ../libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "പ്രദര്‍ശിപ്പിച്ച മണിക്കൂര്‍" + +#: ../libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "മിനിട്ട്" + +#: ../libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "പ്രദര്‍ശിപ്പിച്ച മിനിട്ട്" + +#: ../libegg/egg-datetime.c:358 +msgid "Second" +msgstr "സെക്കന്‍ഡ്" + +#: ../libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "പ്രദര്‍ശിപ്പിച്ച സെക്കന്‍ഡ്" + +#: ../libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "ലോവര്‍ ലിമിറ്റ് വര്‍ഷം" + +#: ../libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "കുറഞ്ഞ തീയതി പരിധിയുടെ വര്‍ഷ ഭാഗം" + +#: ../libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "അപ്പര്‍ ലിമിറ്റ് വര്‍ഷം" + +#: ../libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "കൂടിയ തീയതി പരിധിയുടെ വര്‍ഷ ഭാഗം" + +#: ../libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "ലോവര്‍ ലിമിറ്റ് മാസം" + +#: ../libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "കുറഞ്ഞ തീയതി പരിധിയുടെ മാസ ഭാഗം" + +#: ../libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "അപ്പര്‍ ലിമിറ്റ് മാസം" + +#: ../libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "കൂടിയ തീയതി പരിധിയുടെ മാസ ഭാഗം" + +#: ../libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "ലോവര്‍ ലിമിറ്റ് ഡേ" + +#: ../libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "കുറഞ്ഞ സമയ പരിധിയുടെ മാസത്തിലുള്ള ദിവസ ഭാഗം" + +#: ../libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "അപ്പര്‍ ലിമിറ്റ് ഡേ" + +#: ../libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "കൂടിയ സമയ പരിധിയുടെ മാസത്തിലുള്ള ദിവസ ഭാഗം" + +#: ../libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "ലോവര്‍ ലിമിറ്റ് മണിക്കൂര്‍" + +#: ../libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "കുറഞ്ഞ സമയ പരിധിയുടെ മണിക്കൂര്‍ ഭാഗം" + +#: ../libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "അപ്പര്‍ ലിമിറ്റ് മണിക്കൂര്‍" + +#: ../libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "കൂടിയ സമയ പരിധിയുടെ മണിക്കൂര്‍ ഭാഗം" + +#: ../libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "ലോവര്‍ ലിമിറ്റ് മിനിറ്റ്" + +#: ../libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "കുറഞ്ഞ സമയ പരിധിയുടെ മിനിറ്റ് ഭാഗം" + +#: ../libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "അപ്പര്‍ ലിമിറ്റ് മിനിറ്റ്" + +#: ../libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "കൂടിയ സമയ പരിധിയുടെ മിനിറ്റ് ഭാഗം" + +#: ../libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "ലോവര്‍ ലിമിറ്റ് സെക്കന്‍ഡ്" + +#: ../libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "കുറഞ്ഞ സമയ പരിധിയുടെ സെക്കന്‍ഡ് ഭാഗം" + +#: ../libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "അപ്പര്‍ ലിമിറ്റ് സെക്കന്‍ഡ്" + +#: ../libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "കൂടിയ സമയ പരിധിയുടെ സെക്കന്‍ഡ് ഭാഗം" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:495 +msgid "Date" +msgstr "തീയതി" + +#: ../libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "തീയതി നേരിട്ട് നല്‍കുക" + +#: ../libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "ദിവസം തിരഞ്ഞെടുക്കുക" + +#: ../libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "ഒരു കലണ്ടറില്‍ നിന്നും തീയതി തെരഞ്ഞെടുക്കുക" + +#: ../libegg/egg-datetime.c:520 ../libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "സമയം" + +#: ../libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "സമയം നേരിട്ടു് നല്‍കുക" + +#: ../libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "സമയം തിരഞ്ഞെടുക്കുക" + +#: ../libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "ലിസ്റ്റില്‍ നിന്നും സമയം തെരഞ്ഞെടുക്കുക" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:796 ../libegg/egg-datetime.c:1259 ../libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:798 ../libegg/egg-datetime.c:1260 ../libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "പ്രാരംഭ താല്‍ക്കാലിക വസ്തു" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "ചാവി സെര്‍വര്‍ ചേര്‍ക്കുക" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "കീ സര്‍വര്‍ തരം:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "ഹോസ്റ്റ്:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "സെര്‍വറിന്റെ വിലാസം അല്ലെങ്കില്‍ ഹോസ്റ്റിന്റെ പേര്." + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "സര്‍വര്‍ ലഭ്യമാക്കേണ്ട പോര്‍ട്ട്." + +#: ../libseahorse/seahorse-application.c:108 +msgid "Version of this application" +msgstr "ഈ പ്രയോഗത്തിന്റെ പതിപ്പു്" + +#: ../libseahorse/seahorse-application.c:114 ../libseahorse/seahorse-application.c:158 +msgid "- System Settings" +msgstr "- സിസ്റ്റം ക്രമീകരണങ്ങള്‍" + +#: ../libseahorse/seahorse-application.c:154 +msgid "Don't display a window" +msgstr "ഒരു ജാലകം കാണിക്കരുത്" + +#: ../libseahorse/seahorse-interaction.c:98 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "%s: വേണ്ടിയുള്ള PIN അല്ലെങ്കില്‍ രഹസ്യവാക്ക് നല്‍കുക" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:241 +msgid "Confirm:" +msgstr "ഉറപ്പാക്കുക:" + +#: ../libseahorse/seahorse-prefs.c:65 +msgid "Not a valid Key Server address." +msgstr "തെറ്റായ കീ സര്‍വര്‍ വിലാസം." + +#: ../libseahorse/seahorse-prefs.c:66 +msgid "For help contact your system administrator or the administrator of the key server." +msgstr "സഹായത്തിനായി നിങ്ങളുടെ സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റര്‍ അല്ലെങ്കില്‍ കീ സര്‍വറിന്റെ അഡ്മിനിസ്ട്രേറ്ററുമായി ബന്ധപ്പെടുക." + +#: ../libseahorse/seahorse-prefs.c:179 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:349 +msgid "Custom" +msgstr "ഇഷ്ടാനുസൃതം തയ്യാറാക്കുക" + +#: ../libseahorse/seahorse-prefs.c:402 +msgid "None: Don’t publish keys" +msgstr "ഒന്നുമില്ല: കീകള്‍ പബ്ലിഷ് ചെയ്യേണ്ട" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "മുന്‍ഗണനകള്‍" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "കീകള്‍ കണ്ടുപിടിക്കേണ്ട വഴി (_F):" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "കീകള്‍ എങ്ങോട്ട് പബ്ലിഷ് ചെയ്യണം (_P):" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "ചാവി സെര്‍വറുകളില്‍ നിന്നും ചാവികള്‍ സ്വയം ലഭ്യമാക്കുക (_k)" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "കീ സര്‍വറുകളുമായി തനിയെ മാറ്റം വരുത്തിയ കീകള്‍ സിന്‍ക്രൊണൈസ് ചെയ്യുക (_m)" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "ചാവി സെര്‍വറുകള്‍" + +#: ../libseahorse/seahorse-search-provider.c:186 +msgid "The search provider is not loaded yet" +msgstr "തിരച്ചില്‍ സംഭരണി ഇനിയും ലോഡായില്ല" + +#: ../libseahorse/seahorse-validity.c:38 ../pgp/seahorse-pgp-key-properties.c:1251 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "അറിയപ്പെടാത്ത" + +#: ../libseahorse/seahorse-validity.c:40 ../pgp/seahorse-pgp-key-properties.c:1257 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "ഒരിക്കലുമില്ല" + +#: ../libseahorse/seahorse-validity.c:42 ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "മാര്‍ജിനല്‍" + +#: ../libseahorse/seahorse-validity.c:44 ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "മുഴുവനും" + +#: ../libseahorse/seahorse-validity.c:46 ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "അത്യന്തികമായ" + +#: ../libseahorse/seahorse-validity.c:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "പ്രവര്‍ത്തനരഹിതമാക്കി" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "പിന്‍വലിച്ചതു്" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "ഒരിക്കലും കാലാവധി തീരില്ല (_x)" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "ചാവിയുടെ കാലാവധി ഒരിക്കലും കഴിഞ്ഞില്ലെങ്കില്‍" + +#: ../pgp/seahorse-add-subkey.xml.h:3 ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "ചാവി തരം (_T):" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "ചാവിയുടെ നീളം (_L):" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "കാലാവധി അവസാനിക്കുന്ന തീയതി:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "ചാവിയുടെ നീളം" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "ഒരു പുതിയ ചെറുചാവി ഉണ്ടാക്കുക" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "ഉപയോക്താവിന്റെ ID കൂട്ടിച്ചേര്‍ക്കുക" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "5 അക്ഷരം നീളമെങ്കിലും ഉണ്ടായിരിക്കണം" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "ഐഛികമായ ഈമെയില്‍ വിലാസം" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "ചാവി വിശദീകരിക്കുന്ന അഭിപ്രായം (നിര്‍ബന്ധമില്ലാത്ത)" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "മുഴുവന്‍ പേര് (_N):" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "ഈമെയില്‍ വിലാസം (_E):" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "ചാവി സംബന്ധിച്ചുള്ള അഭിപ്രായം (_m):" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "പുതിയ ഉപയോക്താവിന്റെ ID ഉണ്ടാക്കുക" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "കാലാവധി _ഒരിക്കലും അവസാനിക്കുകയില്ല" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "ചാവി പിന്‍വലിക്കു" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "മാറ്റുക (_h)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn’t add subkey" +msgstr "ചെറുചാവി കൂട്ടിചേര്‍ക്കുവാന്‍ കഴിഞ്ഞില്ല" + +#: ../pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "%s ലേക്ക് ചെറുചാവി കൂട്ടിചേര്‍ക്കുക" + +#: ../pgp/seahorse-gpgme-add-subkey.c:196 ../pgp/seahorse-gpgme-generate.c:132 +msgid "DSA (sign only)" +msgstr "DSA (ഒപ്പു് മാത്രം)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (എന്‍ക്രിപ്ഷന്‍ മാത്രം)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:210 ../pgp/seahorse-gpgme-generate.c:133 +msgid "RSA (sign only)" +msgstr "RSA (ഒപ്പു് മാത്രം)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (എന്‍ക്രിപ്ഷന്‍ മാത്രം)" + +#: ../pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn’t add user id" +msgstr "ഉപയോക്താവിന്റെ ID കൂട്ടിച്ചേര്‍ക്കുവാന്‍ കഴിഞ്ഞില്ല" + +#: ../pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "%s ലേക്ക് ഉപയോക്താവിന്റെ ID കൂട്ടിചേര്‍ക്കുക" + +#: ../pgp/seahorse-gpgme.c:71 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "ഡീക്രിപ്ഷന്‍ പരാജയപ്പെട്ടു. ഒരു പക്ഷേ, നിങ്ങള്‍ക്കു് ഡീക്രിപ്ഷന്‍ കീ ലഭ്യമല്ലായിരിക്കാം." + +#: ../pgp/seahorse-gpgme.c:75 ../pgp/seahorse-hkp-source.c:548 ../ssh/seahorse-ssh-operation.c:199 +msgid "The operation was cancelled" +msgstr "ഈ പ്രവര്‍ത്തനം റദ്ദാക്കി" + +#: ../pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "തെറ്റായവായ കാലാവധി അവസാനിക്കുന്ന തീയതി" + +#: ../pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "കാലാവധി തീരുന്ന തീയതി ഭാവിയിലാവണം" + +#: ../pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn’t change expiry date" +msgstr "കാലാവധി തീരുന്ന ദിവസം മാറ്റുവാന്‍ സാധിച്ചില്ല" + +#: ../pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "കാലാവധി തീരുന്ന ദിവസം: %s" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "ഒന്നിലധികം ചാവികള്‍" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "ചാവി ഡേറ്റാ" + +#: ../pgp/seahorse-gpgme-exporter.c:116 +msgid "Armored PGP keys" +msgstr "കാവലുള്ള PGP ചാവികള്‍" + +#: ../pgp/seahorse-gpgme-exporter.c:120 +msgid "PGP keys" +msgstr "PGP ചാവികള്‍" + +#: ../pgp/seahorse-gpgme-generate.c:93 +msgid "PGP Key" +msgstr "PGP ചാവി" + +#: ../pgp/seahorse-gpgme-generate.c:94 +msgid "Used to encrypt email and files" +msgstr "ഈമെയിലും ഫയലും എന്‍ക്രിപ്റ്റ് ചെയ്യാന്‍ ഉപയോഗിക്കുന്നു" + +#: ../pgp/seahorse-gpgme-generate.c:130 ../pkcs11/seahorse-pkcs11-generate.c:90 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:131 +msgid "DSA ElGamal" +msgstr "DSA Elgamal" + +#: ../pgp/seahorse-gpgme-generate.c:180 +msgid "Couldn’t generate PGP key" +msgstr "PGP ചാവി ഉണ്ടാക്കാന്‍ പറ്റിയില്ല" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "പുതിയ PGP ചാവിയ്ക്കുള്ള അടയാളവാക്ക്യം" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "നിങ്ങളുടെ പുതിയ ചാവിയ്ക്കുള്ള അടയാളവാക്ക്യം രണ്ട് തവണ നല്‍കുക." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"കീ ഉണ്ടാക്കുമ്പോള്‍ കുറേ ചപ്പ് ചവറ് ഡാറ്റ വോണം. അതിന് താങ്കളുടെ സഹയം വേണം.\n" +"വേറെ എന്തെങ്കിലും കാര്യങ്ങളായ കീബോര്‍ഡില്‍ ടൈപ്പ് ചെയ്യുക, മൌസ് അനക്കുക,\n" +"സോഫ്റ്റ്‌വെയറുകള്‍ ഉപയോഗിക്കുക തുടങ്ങിയവ ചെയ്യുന്നത്\n" +"നന്നായിരിക്കും. ഇത് സിസ്റ്റത്തിനാവശ്യമായ ചപ്പ്ചവറുകള്‍ കിട്ടാന്‍\n" +"സഹായിക്കും." + +#: ../pgp/seahorse-gpgme-generate.c:231 ../pkcs11/seahorse-pkcs11-generate.c:458 +msgid "Generating key" +msgstr "ചാവി ഉണ്ടാക്കുന്നു" + +#: ../pgp/seahorse-gpgme-key-deleter.c:77 ../pgp/seahorse-gpgme-secret-deleter.c:76 +#: ../pkcs11/pkcs11-deleter.vala:35 ../pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "നിങ്ങള്‍ക്ക് %s എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" + +#: ../pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "നിങ്ങള്‍ക്ക് %d ചാവി എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" +msgstr[1] "നിങ്ങള്‍ക്ക് %d ചാവികള്‍ എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" + +#: ../pgp/seahorse-gpgme-key-op.c:378 +msgid "Wrong password" +msgstr "തെറ്റായ രഹസ്യവാക്ക്" + +#: ../pgp/seahorse-gpgme-key-op.c:378 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "ഇത് മൂന്നാമത്തെ പ്രാവശ്യമാണ് താങ്കള്‍ തെറ്റായ രഹസ്യവാക്ക് ഉപയോഗിക്കുന്നത്. ദയവായി വീണ്ടും ശ്രമിക്കുക." + +#: ../pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "തെറ്റായ അടയാളവാക്ക്യം." + +#: ../pgp/seahorse-gpgme-keyring.c:93 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "“%s” നുള്ള പുതിയ അടയാളവാക്ക്യം." + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "“%s” നുള്ള അടയാളവാക്ക്യം നല്‍കുക" + +#: ../pgp/seahorse-gpgme-keyring.c:98 ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "പുതിയ അടയാളവാക്ക്യം നല്‍കുക" + +#: ../pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "അടയാളവാക്ക്യം നല്‍കുക" + +#: ../pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "അടയാളവാക്ക്യം" + +#: ../pgp/seahorse-gpgme-keyring.c:306 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d ചാവി ചേര്‍ത്തിരിയ്ക്കുന്നു" +msgstr[1] "%d ചാവികള്‍ ചേര്‍ത്തിരിയ്ക്കുന്നു" + +#: ../pgp/seahorse-gpgme-keyring.c:653 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date set in the future or a missing " +"self-signature." +msgstr "" +"തെറ്റായ ചാവി ഡേറ്റാ (UID ലഭ്യമല്ല). ഭാവിയിലുള്ളൊരു തീയതി സജ്ജമാക്കിയിരിക്കുന്ന കമ്പ്യൂട്ടര്‍ അല്ലെങ്കില്‍ ഒപ്പു് ലഭ്യമല്ലാത്തതിനാല്‍ ഇങ്ങനെ " +"സംഭവിക്കാം." + +#: ../pgp/seahorse-gpgme-keyring.c:806 +msgid "GnuPG keys" +msgstr "GnuPG ചാവികള്‍" + +#: ../pgp/seahorse-gpgme-keyring.c:812 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: സ്വതവേയുള്ള ചാവിക്കുട്ടത്തിന്റെ ഡയറക്ടറി" + +#: ../pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"ഫോട്ടോ വളരെ വലുതാണു്\n" +"നിങ്ങളുടെ കീയിലുള്ള ഫോട്ടോയുടെ ആവശ്യമായ വ്യാപ്തി %d x %d പിക്സലുകളാണു്." + +#: ../pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "വലിപ്പം മാറ്റേണ്ട (_D)" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "വലിപ്പം മാറ്റുക (_R)" + +#: ../pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "This is not a image file, or an unrecognized kind of image file. Try to use a JPEG image." +msgstr "ഇതൊരു ഇമേജ് ഫയല്‍ അല്ലെങ്കില്‍ അപരിചിതമായ തരത്തിലുള്ള ഇമേജ് ഫയലല്ല. ഒരു JPEG ഇമേജ് ഉപയോഗിക്കുവാന്‍ ശ്രമിക്കുക." + +#: ../pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "എല്ലാ ഇമേജ് ഫയലുകളും" + +#: ../pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "എല്ലാ JPEG ഫയലുകളും" + +#: ../pgp/seahorse-gpgme-photos.c:241 ../src/seahorse-key-manager.c:288 +msgid "All files" +msgstr "എല്ലാം ഫയലുകളും" + +#: ../pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "ചാവിയില്‍ ചേര്‍ക്കുന്നതിനായി ഫോട്ടോ തിരഞ്ഞെടുക്കുക" + +#: ../pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "ഫോട്ടോ തയ്യാറാക്കാന്‍ സാധ്യമായില്ല" + +#: ../pgp/seahorse-gpgme-photos.c:294 ../pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "ഫോട്ടോ ചേര്‍ക്കുവാനായില്ല" + +#: ../pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "ഫയല്‍ ലഭ്യമാക്കുവാന്‍ സാധ്യമായില്ല. അത് ഒരു പക്ഷേ തെറ്റായ രീതിയിലാവാം" + +#: ../pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "നിങ്ങളുടെ ചാവിയില്‍ നിന്നും നിലവിലുള്ള ഫോട്ടോ നീക്കം ചെയ്യണം എന്നുറപ്പാണോ?" + +#: ../pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "ഫോട്ടോ നീക്കം ചെയ്യാന്‍ സാധ്യമായില്ല" + +#: ../pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn’t revoke subkey" +msgstr "ചെറുചാവി പിന്‍വലിക്കുവാന്‍ സാധ്യമായില്ല" + +#: ../pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "പിന്‍വലിയ്ക്കുക: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "കാരണം വ്യക്തമല്ല" + +#: ../pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "ചാവി പിന്‍വലിയ്ക്കുവാനുള്ള കാരണം വ്യക്തമല്ല" + +#: ../pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "വിഴ്ച പറ്റി" + +#: ../pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "ചാവിക്ക് വീഴ്ച പറ്റി" + +#: ../pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "അസാധുവാക്കി" + +#: ../pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "കീ അസാധുവാക്കി" + +#: ../pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "ഉപയോഗത്തിലില്ല" + +#: ../pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "ചാവി ഉപയോഗത്തിലില്ല" + +#: ../pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be undone! Are you sure you want to " +"continue?" +msgstr "%s %s-നുള്ള പിന്‍വലിക്കാനുള്ള ആളായി നിങ്ങള്‍ ചേര്‍ക്കുന്നു. ഈ പ്രവര്‍ത്തി തിരിച്ചെടുക്കുവാന്‍ സാധ്യമല്ല! നിങ്ങള്‍ക്കു് തുടരണമെന്നുറപ്പാണോ?" + +#: ../pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn’t add revoker" +msgstr "പിന്‍വലിക്കുവാനുള്ള ആളെ ചേര്‍ക്കുവാന്‍ സാധ്യമായില്ല" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:82 +msgid "I understand that this secret key will be permanently deleted." +msgstr "ഈ രഹസ്യ ചാവി സ്ഥിരമായി ഇല്ലാതാക്കുമെന്നെനിക്കറിയാം." + +#: ../pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"\"%s\"\n" +"ഈ ചാവിയില്‍ നേരത്തെ തന്നെ ഒപ്പിട്ടതാണ്." + +#: ../pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn’t sign key" +msgstr "ചാവി ഒപ്പിടുവാന്‍ സാധ്യമായില്ല" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:163 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "ഒപ്പിനുള്ള കീകള്‍ ലഭ്യമല്ല" + +#: ../pgp/seahorse-gpgme-sign.c:164 +msgid "You have no personal PGP keys that can be used to indicate your trust of this key." +msgstr "ഈ കീയുടെ വിശ്വാസ്യത തെളിയിക്കുന്നതിനുള്ള സ്വകാര്യ PGP കീകള്‍ നിങ്ങള്‍ക്കു് ലഭ്യമല്ല." + +#: ../pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "അറിയപ്പെടാത്ത" + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:566 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "തെരച്ചില്‍ വ്യക്തമായിരുന്നില്ല. സര്‍വര്‍ “%s” അനവധി കീകള്‍ കണ്ടുപിടിച്ചു." + +#: ../pgp/seahorse-hkp-source.c:569 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "സര്‍വര്‍ “%s”-മായി ബന്ധപ്പെടുവാന്‍ സാധിച്ചില്ല: %s" + +#: ../pgp/seahorse-hkp-source.c:1079 +msgid "HTTP Key Server" +msgstr "HTTP ചാവി സെര്‍വര്‍" + +#: ../pgp/seahorse-keyserver-results.c:168 +msgid "Couldn’t import keys" +msgstr "ചാവി എടുക്കുവാന്‍ സാധിച്ചില്ല" + +#: ../pgp/seahorse-keyserver-results.c:211 +msgid "Importing keys from key servers" +msgstr "ചാവി സെര്‍വറുകളില്‍ നിന്നും ചാവി എടുക്കുന്നു" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:237 ../src/seahorse-key-manager.c:501 +msgid "_Remote" +msgstr "ദൂരെയുള്ള (_R)" + +#: ../pgp/seahorse-keyserver-results.c:239 +msgid "Close this window" +msgstr "ഈ ജാലകം അടയ്ക്കുക" + +#: ../pgp/seahorse-keyserver-results.c:243 ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys…" +msgstr "റിമോട്ട് ആയ ചാവി കണ്ടുപിടിക്കുക (_F)…" + +#: ../pgp/seahorse-keyserver-results.c:244 ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "ചാവി സെര്‍വറില്‍ ചാവി തെരയുക" + +#: ../pgp/seahorse-keyserver-results.c:248 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "എടുക്കുക (_I)" + +#: ../pgp/seahorse-keyserver-results.c:249 +msgid "Import selected keys to local key ring" +msgstr "തിരഞ്ഞെടുത്ത ചാവികള്‍ പ്രാദേശിക ചാവിക്കൂട്ടത്തിലേയ്ക്കു് എടുക്കുക" + +#: ../pgp/seahorse-keyserver-results.c:280 +msgid "Remote Keys" +msgstr "ദൂരെയുള്ള ചാവികള്‍" + +#: ../pgp/seahorse-keyserver-results.c:282 +#, c-format +msgid "Remote Keys Containing “%s”" +msgstr "“%s” ഉള്ള റിമോട്ട് കീകള്‍" + +#: ../pgp/seahorse-keyserver-results.c:485 +msgid "The search for keys failed." +msgstr "ചാവികള്‍ക്കായി തെരയുന്നത് പരാജയം." + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "ദൂരെയുള്ള ചാവി കണ്ടുപിടിക്കുക" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be imported into your local key ring." +msgstr "ഇന്റര്‍നെറ്റില്‍ മറ്റുള്ളവര്‍ക്കുള്ള കീകള്‍ ഇതു് ലഭ്യമാക്കുന്നു. ഇവ പിന്നീടു് നിങ്ങളുടെ ലോക്കല്‍ ചാവികൂട്ടത്തിലോട്ട് എടുക്കാന്‍ പറ്റുന്നു." + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "ഇതടങ്ങുന്ന കീകള്‍ക്കായി തെരയുക (_S):" + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "ചാവി സെര്‍വറുകള്‍:" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "അടുത്തുള്ള പങ്കിടുന്ന ചാവികള്‍:" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "എവിടെ തിരയണം:" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "തെരയുക(_S)" + +#: ../pgp/seahorse-keyserver-sync.c:56 +msgid "Couldn’t publish keys to server" +msgstr "സെര്‍വറില്‍ ചാവികള്‍ അറിയിക്കുവാനായില്ല" + +#: ../pgp/seahorse-keyserver-sync.c:75 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "സെര്‍വറില്‍ നിന്നും ചാവി ലഭ്യമാക്കുവാന്‍ സാധ്യമായില്ല: %s" + +#: ../pgp/seahorse-keyserver-sync.c:159 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "സിന്‍ക്രൊണൈസ് ചെയ്യുന്നതിനായി %d കീ തെരഞ്ഞെടുത്തു" +msgstr[1] "സിന്‍ക്രൊണൈസ് ചെയ്യുന്നതിനായി %d കീകള്‍ തെരഞ്ഞെടുത്തു" + +#: ../pgp/seahorse-keyserver-sync.c:239 +msgid "Synchronizing keys…" +msgstr "കീകള്‍ സിന്‍ക്രണൈസ് ചെയ്യുന്നു…" + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "ചാവികള്‍ സിങ്ക് ചെയ്യുക" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they’re available for others to use. You’ll also get any " +"changes others have made since you received their keys." +msgstr "" +"ഇതു് നിങ്ങളുടെ ചാവികൂട്ടത്തില്‍ ചാവികള്‍ പബ്ലിഷ് ചെയ്യുന്നു. അങ്ങനെ അവ മറ്റുള്ളവര്‍ക്ക് ഉപയോഗത്തിനായി ലഭിക്കുന്നു. അവരുടെ കീകള്‍ നിങ്ങള്‍ " +"ലഭിച്ചതിനു് ശേഷം അവര്‍ വരുത്തിയ മാറ്റങ്ങളും നിങ്ങള്‍ക്കു് ലഭിക്കുന്നു." + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their keys. No key server has been chosen " +"for publishing, so your keys will not be made available to others." +msgstr "" +"മറ്റുള്ളവരുടെ ചാവികള്‍ നിങ്ങള്‍ക്കു് ലഭ്യമായതിനു് ശേഷം അവര്‍ വരുത്തിയ മാറ്റങ്ങള്‍ ഇതു് ലഭ്യമാക്കുന്നു. പബ്ലിഷ് ചെയ്യുന്നതിനായി ഒരു ചാവി സര്‍വറും " +"തെരഞ്ഞെടുത്തിട്ടില്ല, അതിനാല്‍ നിങ്ങളുടെ ചാവി മറ്റുള്ളവര്‍ക്ക് ലഭ്യമാകുന്നതല്ല." + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "ചാവി സെര്‍വറുകള്‍ (_K)" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "സിങ്ക് ചെയ്യുക (_S)" + +#: ../pgp/seahorse-ldap-source.c:436 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "%s മായി ബന്ധപ്പെടുവാന്‍ സാധിച്ചില്ല: %s" + +#: ../pgp/seahorse-ldap-source.c:646 +#, c-format +msgid "Connecting to: %s" +msgstr "ബന്ധിപ്പിയ്ക്കുന്നു: %s" + +#: ../pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "വിലാസം പരിഹരിക്കുവാന്‍ സാധ്യമായില്ല: %s" + +#: ../pgp/seahorse-ldap-source.c:696 +#, c-format +msgid "Resolving server address: %s" +msgstr "സര്‍വര്‍ വിലാസം പരിഹരിക്കുന്നു: %s" + +#: ../pgp/seahorse-ldap-source.c:1431 +msgid "LDAP Key Server" +msgstr "LDAP ചാവി സെര്‍വര്‍" + +#: ../pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys…" +msgstr "ചാവികള്‍ സിങ്ക് ചെയ്തു് പബ്ലിഷ് ചെയ്യുക (_S)…" + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "ഓണ്‍ലൈനുള്ളവയുമായി നിങ്ങളുടെ ചാവികള്‍ പബ്ലിഷ് അല്ലെങ്കില്‍ സിന്‍ക്രൊണൈസ് ചെയ്യുക." + +#: ../pgp/seahorse-pgp-backend.c:193 +msgid "PGP Keys" +msgstr "PGP ചാവികള്‍" + +#: ../pgp/seahorse-pgp-backend.c:199 +msgid "PGP keys are for encrypting email or files" +msgstr "ഈമെയിലും ഫയലും എന്‍ക്രിപ്റ്റ് ചെയ്യാന്‍ PGP ചാവി ഉപയോഗിക്കുന്നു" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "ഉണ്ടാക്കുക (_r)" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "ഒരു പുതിയ ചാവി ഉണ്ടാക്കുക" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "മറ്റുള്ളവര്‍ക്ക് ഈമെയില്‍ അല്ലെങ്കില്‍ ഫയലുകള്‍ എന്‍ക്രിപ്റ്റ് ചെയ്യുന്നതിനായി PGP ചാവി അനുവദിക്കുന്നു." + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Ne_ver Expires" +msgstr "കാലാവധി അവസാനിക്കുകയില്ല (_v)" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "_Comment:" +msgstr "അഭിപ്രായം (_C):" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "എന്‍ക്രിപ്ഷന്‍ തരം(_T):" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "ചാവിയുടെ ശക്തി (ബിറ്റില്‍) (_S):" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "കാലാവധി തീരുന്നത്(_x):" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "അധികമായ കീ ഉപാധികള്‍ (_A)" + +#: ../pgp/seahorse-pgp-key.c:351 +msgid "Personal PGP key" +msgstr "സ്വകാര്യ PGP ചാവി" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "PGP key" +msgstr "PGP ചാവി" + +#: ../pgp/seahorse-pgp-key-properties.c:317 +msgid "Couldn’t change primary user ID" +msgstr "പ്രാഥമിക ഉപയോക്താവിന്റെ ID മാറ്റുവാന്‍ സാധ്യമായില്ല" + +#: ../pgp/seahorse-pgp-key-properties.c:336 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "“%s” ഉപയോക്താവിന്റെ ID എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" + +#: ../pgp/seahorse-pgp-key-properties.c:346 +msgid "Couldn’t delete user ID" +msgstr "ഉപയോക്താവിന്റെ ID നീക്കം ചെയ്യുവാന്‍ സാധ്യമായില്ല" + +#. TRANSLATORS: [Unknown] signature name +#: ../pgp/seahorse-pgp-key-properties.c:421 ../pgp/seahorse-pgp-key-properties.c:1576 +msgid "[Unknown]" +msgstr "[അറിയപ്പെടാത്ത]" + +#. TRANSLATORS: The name and email set on the PGP key +#: ../pgp/seahorse-pgp-key-properties.c:530 ../pgp/seahorse-pgp-key-properties.c:1859 +msgid "Name/Email" +msgstr "പേര്/ഈമെയില്‍" + +#: ../pgp/seahorse-pgp-key-properties.c:537 +msgid "Signature ID" +msgstr "ഒപ്പിന്റെ ID" + +#: ../pgp/seahorse-pgp-key-properties.c:670 +msgid "Couldn’t change primary photo" +msgstr "പ്രാഥമിക ഫോട്ടോ മാറ്റുവാന്‍ സാധ്യമായില്ല" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:904 +msgid "(unknown)" +msgstr "(അറിയപ്പെടാത്ത)" + +#: ../pgp/seahorse-pgp-key-properties.c:907 +#, c-format +msgid "This key expired on: %s" +msgstr "ഈ ചാവിയുടെ കാലാവധി അവസാനിച്ചത്: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:970 +msgid "Name" +msgstr "പേരു്" + +#: ../pgp/seahorse-pgp-key-properties.c:1085 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "നിങ്ങള്‍ക്ക് %d ചെറുചാവി %s ന്റെ എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" + +#: ../pgp/seahorse-pgp-key-properties.c:1094 +msgid "Couldn’t delete subkey" +msgstr "ചെറുചാവി നീക്കം ചെയ്യാന്‍ കഴിഞ്ഞില്ല" + +#: ../pgp/seahorse-pgp-key-properties.c:1134 ../pgp/seahorse-pgp-key-properties.c:1550 +msgid "Unable to change trust" +msgstr "വിശ്വാസ്യത മാറ്റുവാന്‍ സാധ്യമല്ല" + +#: ../pgp/seahorse-pgp-key-properties.c:1148 ../ssh/seahorse-ssh-key-properties.c:205 +msgid "Couldn’t export key" +msgstr "ചാവി എക്സ്പോര്‍ട്ട് സാധ്യമായില്ല" + +#: ../pgp/seahorse-pgp-key-properties.c:1264 +msgid "Marginal" +msgstr "മാര്‍ജിനല്‍" + +#: ../pgp/seahorse-pgp-key-properties.c:1270 +msgid "Full" +msgstr "മുഴുവനും" + +#: ../pgp/seahorse-pgp-key-properties.c:1276 +msgid "Ultimate" +msgstr "അത്യന്തികമായ" + +#: ../pgp/seahorse-pgp-key-properties.c:1382 ../pgp/seahorse-pgp-key-properties.c:1475 +msgctxt "Expires" +msgid "Never" +msgstr "ഒരിക്കലും" + +#: ../pgp/seahorse-pgp-key-properties.c:1429 +msgid "ID" +msgstr "ID" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "Type" +msgstr "തരം" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Usage" +msgstr "ഉപയോഗം" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "ഉണ്ടാക്കിയത്" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "കാലാവധി തീരുന്നതു്" + +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "അവസ്ഥ" + +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "ശക്തി" + +#: ../pgp/seahorse-pgp-key-properties.c:1466 +msgid "Revoked" +msgstr "പിന്‍വലിച്ചതു്" + +#: ../pgp/seahorse-pgp-key-properties.c:1468 +msgid "Expired" +msgstr "കാലാവധി അവസാനിച്ചു" + +#: ../pgp/seahorse-pgp-key-properties.c:1470 +msgid "Disabled" +msgstr "പ്രവര്‍ത്തനരഹിതമാക്കി" + +#: ../pgp/seahorse-pgp-key-properties.c:1472 +msgid "Good" +msgstr "നല്ലത്" + +#: ../pgp/seahorse-pgp-key-properties.c:1862 +msgid "Key ID" +msgstr "ചാവിയുടെ ID" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "ചാവിയുടെ ഗുണഗണങ്ങള്‍" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "ഈ ചാവി പിന്‍വലിച്ചതാണു്" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "ചാവിയുടെ ഉടമസ്ഥന്‍ ചാവി പിന്‍വലിച്ചു. ഇനി ഇത് ഉപയോഗിക്കുവാന്‍ പറ്റില്ല." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "ഈ ചാവിയുടെ കാലാവധി തീര്‍ന്നു" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "ഈ ചാവിയില്‍ ഒരു ഫോട്ടോ ചേര്‍ക്കുക" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "ഈ ചാവിയില്‍ നിന്നും ഫോട്ടോ നീക്കം ചെയ്യുക" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "ഈ ഫോട്ടോ പ്രാഥമിക ഫോട്ടോ ആക്കുക" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "മുമ്പുള്ള ഫോട്ടോയിലേക്ക് പോകുക" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "അടുത്ത ഫോട്ടോയിലേക്ക് പോകുക" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "ഫോട്ടോ " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "ചാവി ID:" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "പേര്:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "ഇ-മെയില്‍:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "അഭിപ്രായം:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "നിങ്ങള്‍ക്ക് അയച്ച ഫയലുകളും ഈമെയിലും ഡീക്രിപ്റ്റ് ചെയ്യുക." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "സ്വകാര്യ PGP ചാവി" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "അടയാളവാക്ക്യം മാറ്റുക (_P)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "ഉടമസ്ഥന്‍" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "ചാവി പേരുകളും ഒപ്പുകളും" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "പ്രാഥമികം" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 ../pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "ഒപ്പു്" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "നീക്കം ചെയ്യുക" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "പേര് ചേര്‍ക്കുക (_A)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "പിന്‍വലിക്കു" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "പേരുകളും ഒപ്പുകളും" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "ശക്തി:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "സാങ്കേതിക വിവരങ്ങള്‍" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "വിരലടയാളം" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "കാലാവധി തീരുന്നത്:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "തിയതികള്‍" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "ഉടമസ്ഥന്റെ വിശ്വാസം മറികടക്കുക (_T):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Secret Key:" +msgstr "രഹസ്യ ചാവി പുറത്തെടുക്കുക (_E):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "Actions" +msgstr "പ്രയോഗങ്ങള്‍" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "ചേര്‍ക്കുക" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "കാലാവധി തീരുന്നത്" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "ചെറുചാവികള്‍ (_S)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "മാര്‍ജിനലി" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "മുഴുവന്‍" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "അത്യന്തികമായി" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key’s owner" +msgstr "ചാവിയുടെ ഉടമസ്ഥന് ഫയലുകള്‍ എന്‍ക്രിപ്റ്റ് ചെയ്തു് ഈമെയില്‍ അയയ്ക്കുക" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "മറ്റുള്ളവര്‍ക്കുള്ള PGP ചാവി" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "മറ്റു് പേരുകള്‍ (_O):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "ഈ ചാവിയിലെ നിങ്ങളുടെ വിശ്വാസം" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "നിങ്ങളുടെ വിശ്വാസ്യത മാനുവലായി വിശദീകരണങ്ങള്‍ക്കുള്ള റ്റാബില്‍ നല്‍കുന്നു." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "മറ്റുള്ള കീകളില്‍ '“%s” ല്‍ നിന്നുള്ള ഒപ്പുകള്‍ വിശ്വസിക്കുന്നു" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "If you believe that the person that owns this key is “%s”, sign this key:" +msgstr "“%s” ആണു് ഈ കീയുടെ ഉടമസ്ഥനെന്നു് നിങ്ങള്‍ വിശ്വസിക്കുന്നെങ്കില്‍, ഈ കീയില്‍ ഒപ്പിടുക:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "ഈ ചാവിയില്‍ ഒപ്പിടുക (_S)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "“%s” ഈ കീയുടെ ഉടമസ്ഥനല്ലെന്നു് നിങ്ങള്‍ വിശ്വസിക്കുന്നെങ്കില്‍, നിങ്ങളുടെ ഒപ്പു് പിന്‍വലിക്കുക:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "ഒപ്പു് പിന്‍വലിയ്ക്കുക (_R)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "ഈ കീയില്‍ ഒപ്പിട്ട വ്യക്തികള്‍ (_P):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "ഞാന്‍ വിശ്വസിക്കുന്ന വ്യക്തികളുടെ ഒപ്പുകള്‍ മാത്രം പ്രദര്‍ശിപ്പിക്കുക (_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "വിശ്വാസം" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "വിരലടയാളം:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "തിയതികള്‍:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "വിശ്വാസം കാണിക്കുക:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "നിങ്ങള്‍ ഉടമസ്ഥനെ വിശ്വസിക്കുന്നു (_T):" + +#: ../pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "എന്‍ക്രിപ്റ്റ്" + +#: ../pgp/seahorse-pgp-subkey.c:293 +msgid "Certify" +msgstr "സാക്ഷ്യപെടുത്തു" + +#: ../pgp/seahorse-pgp-subkey.c:294 +msgid "Authenticate" +msgstr "തിരിച്ചറിയു" + +#: ../pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "ചെറുചാവി %d ,%s ലെ" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "ചാവി പിന്‍വലിയ്ക്കുവാനുള്ള കാരണം" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "കാരണം (_R):" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "പിന്‍വലിക്കാനുള്ള കാരണം (വേണമെങ്കില്‍)" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "പിന്‍വലിയ്ക്കുക (_v)" + +#: ../pgp/seahorse-signer.c:62 +msgid "You have no personal PGP keys that can be used to sign a document or message." +msgstr "ഒരു വിവരണം അല്ലെങ്കില്‍ സന്ദേശം ഒപ്പിടുന്നതിനുള്ള സ്വകാര്യ PGP കീകള്‍ ലഭ്യമല്ല." + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "സന്ദേശം ഒപ്പിടാനുപയോഗിയ്ക്കേണ്ട ചാവി (_S):" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "ചാവി ഒപ്പിടുക" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "ഒപ്പിട്ടുകൊണ്ടു് നിങ്ങള്‍ ഈ ചാവിയുടെ ഇയ്യാളുടേതാണെന്ന് വിശ്വസിക്കുന്നു:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "ചാവിയുടെ പേര്" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "നിങ്ങള്‍ എത്രമാത്രം ഈ ചാവി പരിശോധിച്ചിട്ടുണ്ട്?" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "പരിശോധിച്ചിട്ടില്ല (_N)" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "അലസമായി (_C)" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "വളരെ സൂക്ഷ്മതയോടെ (_V)" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who claims to own it, but you could not " +"or did not verify this to be a fact." +msgstr "പരിശോധിച്ചിട്ടില്ല: അതായതു് ഈ ചാവിയുടെ ഉടമസ്ഥനെ നിങ്ങള്‍ വിശ്വസിക്കുന്നു, പക്ഷേ നിങ്ങള്‍ക്കിതുറപ്പാക്കുവാന്‍ സാധ്യമല്ല." + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is owned by the person who claims to " +"own it. For example, you could read the key fingerprint to the owner over the phone." +msgstr "" +"അലസമായി: നിങ്ങള്‍ ഈ ചാവിയുടെ ഉടമസ്ഥതയെപ്പറ്റി പൊതുവേ ഒരു ഉറപ്പാക്കല്‍ നടത്തിയിരിക്കുന്നു. ഉദാഹരണത്തിനു്, ഫോണിലൂടെ ഉടമസ്ഥനോടു് " +"നിങ്ങളുടെ ചാവിയുടെ വിരലടയാളം വായിച്ചു കേള്‍പ്പിച്ചതാവാം." + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "Very Carefully: Select this only if you are absolutely sure that this key is genuine." +msgstr "വളരെ സൂക്ഷ്മതയോടെ: ഈ ചാവി പൂര്‍ണ്ണമായും ശരിയാണെന്നുറപ്പുണ്ടെങ്കില്‍ മാത്രം ഈ കീ തെരഞ്ഞെടുക്കുക." + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to personally check that the name on " +"the key is correct. You should have also used email to check that the email address belongs to the owner." +msgstr "" +"ചാവിയിലുള്ള പേരു് ശരിയെന്ന് ഉറപ്പിക്കുന്നതിനായി ഒരു ഫോട്ടോ തിരിച്ചറിയല്‍ സംവിധാനം നടത്തുക (പാസ്പോര്‍ട്ട് പോലെ). ഈമെയില്‍ വിലാസം " +"ശരിയെന്നുറപ്പിക്കുന്നതിനായി അതും ഉപയോഗിച്ചു നോക്കുക." + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "ഈ ഒപ്പു് മറ്റുള്ളവര്‍ എങ്ങനെ കാണുന്നു:" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "മറ്റുള്ളവര്‍ ഒരു പക്ഷേ ഈ ഒപ്പു് കാണുന്നുണ്ടാവില്ല (_O)" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "ഈ ഒപ്പു് പിന്നീടൊരിക്കല്‍ പിന്‍വലിക്കാം (_r)." + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "ചാവി ഒപ്പിടേണ്ടത്:" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "ഒപ്പിടുന്ന ആള്‍ (_S):" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "ഒപ്പിടു (_S)" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "വിവരം പുറത്തെടുക്കുന്നു" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "വിവരങ്ങള്‍ ലഭ്യമാക്കുന്നു" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "വിവരം ഇമ്പോര്‍ട്ട് ചെയ്യുന്നു" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "വിവരങ്ങള്‍ അയയ്ക്കുന്നു" + +#: ../pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "ലഭ്യമല്ല" + +#: ../pkcs11/certificate-der-exporter.vala:43 ../pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "സാക്ഷ്യപത്രം" + +#: ../pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "സാക്ഷ്യപത്രങ്ങള്‍ (DER രീതിയിലുള്ളത്)" + +#: ../pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "സ്വകാര്യ സാക്ഷ്യപത്രവും ചാവിയും" + +#: ../pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "സ്വകാര്യ സാക്ഷ്യപത്രം" + +#: ../pkcs11/seahorse-pkcs11-backend.c:189 +msgid "Certificates" +msgstr "സാക്ഷ്യപത്രങ്ങള്‍" + +#: ../pkcs11/seahorse-pkcs11-backend.c:195 +msgid "X.509 certificates and related keys" +msgstr "X.509 സാക്ഷ്യപത്രങ്ങളും ബന്ധപ്പെട്ട ചാവികളും" + +#: ../pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "നിങ്ങള്‍ക്ക് %d സാക്ഷ്യപത്രം എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" +msgstr[1] "നിങ്ങള്‍ക്ക് %d സാക്ഷ്യപത്രങ്ങള്‍ എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" + +#: ../pkcs11/seahorse-pkcs11-generate.c:113 +msgid "Couldn’t generate private key" +msgstr "സ്വകാര്യ ചാവി ഉണ്ടാക്കുവാനായില്ല" + +#: ../pkcs11/seahorse-pkcs11-generate.c:412 ../pkcs11/pkcs11-request.vala:56 +msgid "Create" +msgstr "ഉണ്ടാക്കുക" + +#: ../pkcs11/seahorse-pkcs11-generate.c:505 ../pkcs11/pkcs11-private-key.vala:70 +msgid "Private key" +msgstr "സ്വകാര്യ ചാവി" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +msgid "Used to request a certificate" +msgstr "ഒരു സാക്ഷ്യപത്രം ചോദിക്കാന്‍ ഉപയോഗിക്കുന്നു" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "ഒരു പുതിയ സ്വകാര്യ ചാവി ഉണ്ടാക്കുക" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "ലേബല്‍:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "സൂക്ഷിച്ച സ്ഥലം:" + +#: ../pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "ഈ ചാവി സ്ഥിരമായി ഇല്ലാതാക്കുമെന്നെനിക്കറിയാം." + +#: ../pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "പേരില്ലാത്ത" + +#: ../pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "സാക്ഷ്യപത്രം പുറത്തെടുക്കാന്‍ പറ്റുന്നില്ല" + +#: ../pkcs11/pkcs11-properties.vala:188 ../src/seahorse-sidebar.c:873 +msgid "Couldn’t delete" +msgstr "വെട്ടി നീക്കുവാന്‍ സാധ്യമായില്ല" + +#: ../pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "പുറത്തെടുക്കുക (_E)" + +#: ../pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "സാക്ഷ്യപത്രം പൂറത്തെടുക്കുക" + +#: ../pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "ഈ സാക്ഷ്യപത്രമോ ചാവിയോ നീക്കം ചെയ്യുക" + +#: ../pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "സാക്ഷ്യപത്രം ചോദിക്കുക (_C)" + +#: ../pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "ഈ ചാവിക്ക് വേണ്ടി സാക്ഷ്യപത്ര അപേക്ഷ ഫയല്‍ തയ്യാറാക്കുക" + +#: ../pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "സാക്ഷ്യപത്ര അപേക്ഷ ഉണ്ടാക്കാന്‍ പറ്റിയില്ല" + +#: ../pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "സാക്ഷ്യപത്ര അപേക്ഷ സൂക്ഷിക്കുക" + +#: ../pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "സാക്ഷ്യപത്ര അപേക്ഷ" + +#: ../pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "PEM രീതിയിലുള്ള അപേക്ഷ" + +#: ../pkcs11/pkcs11-request.vala:149 +msgid "Couldn’t save certificate request" +msgstr "സാക്ഷ്യപത്ര അപേക്ഷ സൂക്ഷിക്കാന്‍ പറ്റിയില്ല" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "സാക്ഷ്യപത്ര അപേക്ഷ രേഖ തയ്യാറാക്കുക." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "സാക്ഷ്യപത്രത്തിന്റെ അപേക്ഷയില്‍ വെച്ച പൊതു നാമം (CN)." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "പേരു് (പൊതു നാമം):" + +#: ../pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "പേരില്ലാത്ത സ്വകാര്യ ചാവി" + +#: ../pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "അറിയപ്പെടാത്ത" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "രഹസ്യവാക്ക്യം മാറ്റുക" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "പുതിയ രഹസ്യവാക്ക്യം (_P):" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "പുതിയ രഹസ്യവാക്ക്യം ഉറപ്പാക്കുക" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "രഹസ്യവാക്ക്യം ഉറപ്പാക്കുക(_f):" + +#: ../src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "മുന്നോട്ട് പോവുക" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "ഉണ്ടാക്കുവാനുള്ള വസ്തു ഏതു് തരമെന്നു് തെരഞ്ഞെടുക്കുക (_S):" + +#: ../src/seahorse-import-dialog.c:95 +msgid "Import failed" +msgstr "എടുക്കാന്‍ പറ്റിയില്ല" + +#: ../src/seahorse-import-dialog.c:113 +msgid "Import" +msgstr "എടുക്കുക" + +#: ../src/seahorse-import-dialog.c:126 +msgid "Data to be imported:" +msgstr "എടുക്കേണ്ട വിവരങ്ങള്‍:" + +#: ../src/seahorse-key-manager.c:242 ../ssh/seahorse-ssh-operation.c:870 +msgid "Import Key" +msgstr "ചാവി എടുക്കുക" + +#: ../src/seahorse-key-manager.c:254 +msgid "All key files" +msgstr "എല്ലാം ചാവി ഫയലുകളും" + +#: ../src/seahorse-key-manager.c:355 +msgid "Dropped text" +msgstr "കളഞ്ഞ ടെക്സ്റ്റ്" + +#: ../src/seahorse-key-manager.c:391 +msgid "Clipboard text" +msgstr "ക്ലിപ്പ് ബോര്‍ഡിലുള്ള ടെക്സ്റ്റ്" + +#: ../src/seahorse-key-manager.c:502 +msgid "_New" +msgstr "പുതിയ (_N)" + +#: ../src/seahorse-key-manager.c:504 +msgid "Close this program" +msgstr "ഈ പ്രോഗ്രാം അടയ്ക്കുക" + +#: ../src/seahorse-key-manager.c:505 ../src/seahorse-key-manager.c:507 +msgid "_New…" +msgstr "പുതിയ (_N)…" + +#: ../src/seahorse-key-manager.c:506 +msgid "Create a new key or item" +msgstr "ഒരു പുതിയ കീ അല്ലെങ്കില്‍ വസ്തു ഉണ്ടാക്കുക" + +#: ../src/seahorse-key-manager.c:508 +msgid "Add a new key or item" +msgstr "ഒരു പുതിയ കീ അല്ലെങ്കില്‍ വസ്തു ചേര്‍ക്കുക" + +#: ../src/seahorse-key-manager.c:509 +msgid "_Import…" +msgstr "എടുക്കുക (_I)…" + +#: ../src/seahorse-key-manager.c:510 +msgid "Import from a file" +msgstr "ഒരു ഫയലില്‍ നിന്നും എടുക്കുക" + +#: ../src/seahorse-key-manager.c:512 +msgid "Import from the clipboard" +msgstr "ക്ലിപ്പ്ബോര്‍ഡില്‍ നിന്നും എടുക്കുക" + +#: ../src/seahorse-key-manager.c:516 +msgid "By _Keyring" +msgstr "ചാവിക്കൂട്ടം ഉപയോഗിച്ച് (_K)" + +#: ../src/seahorse-key-manager.c:517 +msgid "Show sidebar listing keyrings" +msgstr "സൈഡ്ബാറില്‍ കാണിക്കുന്ന ചാവിക്കൂട്ടം കാണിക്കുക" + +#: ../src/seahorse-key-manager.c:521 +msgid "Show _Personal" +msgstr "സ്വകാര്യമായത് കാണിക്കുക (_P)" + +#: ../src/seahorse-key-manager.c:522 +msgid "Only show personal keys, certificates and passwords" +msgstr "സ്വകാര്യ ചാവികള്‍, സാക്ഷ്യപത്രങ്ങള്‍, രഹസ്യവാക്കുകള്‍ മാത്രം കാണിക്കുക" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show _Trusted" +msgstr "വിശ്വസ്ഥമായത് കാണിക്കുക (_T)" + +#: ../src/seahorse-key-manager.c:524 +msgid "Only show trusted keys, certificates and passwords" +msgstr "വിശ്വസ്ഥമായ ചാവികള്‍, സാക്ഷ്യപത്രങ്ങള്‍, രഹസ്യവാക്കുകള്‍ മാത്രം കാണിക്കുക" + +#: ../src/seahorse-key-manager.c:525 +msgid "Show _Any" +msgstr "എല്ലാം കാണിക്കുക (_A)" + +#: ../src/seahorse-key-manager.c:526 +msgid "Show all keys, certificates and passwords" +msgstr "എല്ലാ ചാവികള്‍, സാക്ഷ്യപത്രങ്ങള്‍, രഹസ്യവാക്കുകള്‍ എന്നിവ കാണിക്കുക" + +#: ../src/seahorse-key-manager.c:745 +msgid "Filter" +msgstr "അരിപ്പ" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "ആദ്യത്തെ തവണ ലഭ്യമാകുന്ന ഉപാധികള്‍:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "നിങ്ങള്‍ക്ക് സ്വന്തമായി ഒരു ചാവി ഉണ്ടാക്കുക: " + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "ഒരു ഫയലില്‍ നിന്നും നിലവിലുള്ള ചാവി എടുക്കുക:" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "എന്‍ക്രിപ്ഷന്‍ തുടങ്ങുന്നതിനായി നിങ്ങള്‍ക്കു് കീകള്‍ ആവശ്യമുണ്ടു്." + +#: ../src/seahorse-sidebar.c:797 +msgid "Couldn’t lock" +msgstr "പൂട്ടുവാന്‍ സാധിച്ചില്ല" + +#: ../src/seahorse-sidebar.c:834 +msgid "Couldn’t unlock" +msgstr "തുറക്കാന്‍ സാധിച്ചില്ല" + +#: ../src/seahorse-sidebar.c:941 +msgid "_Lock" +msgstr "പൂട്ടുക (_L)" + +#: ../src/seahorse-sidebar.c:946 +msgid "_Unlock" +msgstr "പൂട്ടു് തുറക്കുക (_U)" + +#: ../src/seahorse-sidebar.c:965 +msgid "_Properties" +msgstr "ഗുണഗണങ്ങള്‍ (_P)" + +#: ../ssh/seahorse-ssh-actions.c:97 +msgid "Configure Key for _Secure Shell…" +msgstr "സെക്യൂര്‍ ഷെല്‍ ചാവി ക്രമികരിക്കുക (_S)…" + +#: ../ssh/seahorse-ssh-actions.c:98 +msgid "Send public Secure Shell key to another machine, and enable logins using that key." +msgstr "മറ്റൊരു സിസ്റ്റത്തിലേക്ക് പബ്ലിക് സെക്യുര്‍ ഷെല്‍ ചാവി അയയ്ക്കുക. ആ ചാവി ഉപയോഗിച്ചു് പ്രവേശനം സജ്ജമാക്കുക." + +#: ../ssh/seahorse-ssh-askpass.c:78 ../ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "നിങ്ങളുടെ സെക്യൂര്‍ ഷെല്‍ അടയാളവാക്ക്യം നല്‍കുക:" + +#: ../ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "പഴയ ചാവി അടയാളവാക്ക്യം" + +#: ../ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "%s: വേണ്ടി പഴയ അടയാളവാക്ക്യം നല്‍കുക" + +#: ../ssh/seahorse-ssh-askpass.c:105 ../ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "പുതിയ ചാവി അടയാളവാക്ക്യം" + +#: ../ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "%s: വേണ്ടി പുതിയ അടയാളവാക്ക്യം നല്‍കുക" + +#: ../ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "%s: വേണ്ടി പുതിയ അടയാളവാക്ക്യം ഒരിക്കല്‍കൂടി നല്‍കുക" + +#: ../ssh/seahorse-ssh-backend.c:115 +msgid "Secure Shell" +msgstr "സുരക്ഷിത ഷെല്‍ ചാവി" + +#: ../ssh/seahorse-ssh-backend.c:121 +msgid "Keys used to connect securely to other computers" +msgstr "മറ്റ് കമ്പ്യൂട്ടറുകളിലേയ്ക്കു് സുരക്ഷിതമായി ബന്ധിപ്പിക്കുന്നതിനായി ഉപയോഗിക്കുന്നു" + +#: ../ssh/seahorse-ssh-deleter.c:80 ../ssh/seahorse-ssh-deleter.c:85 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "നിങ്ങള്‍ക്ക് “%s” സെക്യൂര്‍ ഷെല്‍ കീ എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" + +#: ../ssh/seahorse-ssh-deleter.c:90 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "നിങ്ങള്‍ക്ക് %d സുരക്ഷിത ഷെല്‍ ചാവി എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" +msgstr[1] "നിങ്ങള്‍ക്ക് %d സുരക്ഷിത ഷെല്‍ ചാവികള്‍ എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "SSH Key" +msgstr "SSH ചാവി" + +#: ../ssh/seahorse-ssh-exporter.c:124 +msgid "Secret SSH keys" +msgstr "രഹസ്യ SSH ചാവികള്‍" + +#: ../ssh/seahorse-ssh-exporter.c:128 +msgid "Public SSH keys" +msgstr "പൊതു SSH ചാവികള്‍" + +#: ../ssh/seahorse-ssh-exporter.c:297 +msgid "No public key file is available for this key." +msgstr "ഈ ചാവിക്ക് ഒരു പൊതു ചാവി പോലു ലഭ്യമല്ല." + +#: ../ssh/seahorse-ssh-generate.c:52 ../ssh/seahorse-ssh-key.c:109 ../ssh/seahorse-ssh-key.c:113 +#: ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "സെക്യൂര്‍ ഷെല്‍ ചാവി" + +#: ../ssh/seahorse-ssh-generate.c:53 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "മറ്റ് കമ്പ്യൂട്ടറുകളിലേയ്ക്ക് പ്രവേശിക്കാന്‍ ഉപയോഗിക്കുന്നു (ഉദാ: ടെര്‍മിനല്‍ വഴി)" + +#: ../ssh/seahorse-ssh-generate.c:107 ../ssh/seahorse-ssh-generate.c:123 +msgid "Couldn’t generate Secure Shell key" +msgstr "സെക്യൂര്‍ ഷെല്‍ ചാവി ഉണ്ടാക്കുവാന്‍ സാധ്യമായില്ല" + +#: ../ssh/seahorse-ssh-generate.c:190 +msgid "Creating Secure Shell Key" +msgstr "സെക്യൂര്‍ ഷെല്‍ ചാവി ഉണ്ടാക്കുന്നു" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "പുതിയ സെക്യൂര്‍ ഷെല്‍ ചാവി" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "ചാവി ഉണ്ടാക്കിയാല്‍ മാത്രം മതി (_J)" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "ഉണ്ടാക്കി സജ്ജീകരിക്കുക (_C)" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "SSH വഴി വിശ്വസനീയമായ കമ്പ്യൂട്ടറുകളിലേക്ക് സുരക്ഷിതമായി കണക്ട് ചെയ്യുന്നതിനു് ഒരു സെക്യുര്‍ ഷെല്‍ (SSH) കീ സഹായിക്കുന്നു." + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr "നിങ്ങളുടെ ഈമെയില്‍ വിലാസം അല്ലെങ്കില്‍ ഈ ചാവി എന്തിനാണ് എന്നുള്ളതിനുള്ള കുറിപ്പ്." + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that computer to recognize your new key." +msgstr "" +"നിങ്ങള്‍ക്ക് ഈ ചാവി ഉപയോഗിക്കുവാനുള്ള കമ്പ്യൂട്ടര്‍ നിലവിലുണ്ടെങ്കില്‍, നിങ്ങളുടെ ചാവി തിരിച്ചറിയുന്നതിനായി ഇപ്പോള്‍ ആ കമ്പ്യൂട്ടര്‍ " +"സജ്ജീകരിക്കാം." + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "(Unreadable Secure Shell Key)" +msgstr "(വായിക്കാന്‍ പറ്റാത്ത സെക്യുര്‍ ഷെല്‍ ചാവി)" + +#: ../ssh/seahorse-ssh-key.c:213 +msgid "Personal SSH key" +msgstr "സ്വകാര്യ SSH ചാവി" + +#: ../ssh/seahorse-ssh-key.c:215 +msgid "SSH key" +msgstr "SSH ചാവി" + +#: ../ssh/seahorse-ssh-key-properties.c:79 +msgid "Couldn’t rename key." +msgstr "ചാവിയുടെ പേര് മാറ്റുവാന്‍ സാധ്യമായില്ല." + +#: ../ssh/seahorse-ssh-key-properties.c:134 +msgid "Couldn’t change authorization for key." +msgstr "ചാവിയ്ക്കുള്ള ആധികാരികത മാറ്റുവാന്‍ സാധ്യമായില്ല." + +#: ../ssh/seahorse-ssh-key-properties.c:171 +msgid "Couldn’t change passphrase for key." +msgstr "ചാവിയ്ക്കുള്ള അടയാളവാക്ക്യം മാറ്റുവാന്‍ സാധ്യമായില്ല." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "ഐഡന്റിഫയര്‍:" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "പേര്:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "മറ്റ് കമ്പ്യൂട്ടറുകളിലേയ്ക്കു് കണക്ട് ചെയ്യുന്നതിനായി ഉപയോഗിക്കുന്നു." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "ഈ ചാവിയുടെ ഉടമസ്ഥനു് ഈ കമ്പ്യൂട്ടറിലേക്കു് കണക്ട് ചെയ്യുവാനുള്ള അധികാരമുണ്ടു് (_a)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "ഇതു് %s അക്കൌണ്ടിനു് മാത്രമേ ബാധകമാകുകയുള്ളു." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "അല്‍ഗോരിതം:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "സ്ഥാനം:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "പൂര്‍ണ്ണമായ ചാവി പുറത്തെടുക്കുക (_x)" + +#: ../ssh/seahorse-ssh-operation.c:204 +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH കമാന്‍ഡ് അപ്രതീക്ഷിതമായി അവസാനിച്ചു." + +#: ../ssh/seahorse-ssh-operation.c:214 +msgid "The SSH command failed." +msgstr "SSH കമാന്‍ഡ് പരാജയപ്പെട്ടു." + +#: ../ssh/seahorse-ssh-operation.c:523 +msgid "Remote Host Password" +msgstr "റിമോട്ട് ഹോസ്റ്റ് അടയാളവാക്ക്" + +#: ../ssh/seahorse-ssh-operation.c:610 +msgid "Enter Key Passphrase" +msgstr "ചാവി അടയാളവാക്ക്യം നല്‍കുക" + +#: ../ssh/seahorse-ssh-operation.c:701 +msgid "Passphrase for New Secure Shell Key" +msgstr "പുതിയ സെക്യൂര്‍ ഷെല്‍ ചാവിക്ക് വേണ്ടി അടയാളവാക്ക്യം" + +#: ../ssh/seahorse-ssh-operation.c:887 +#, c-format +msgid "Importing key: %s" +msgstr "ചാവി എടുക്കുന്നു: %s" + +#: ../ssh/seahorse-ssh-operation.c:889 +msgid "Importing key. Enter passphrase" +msgstr "ചാവി എടുക്കുന്നു. അടയാളവാക്ക്യം നല്‍കുക" + +#: ../ssh/seahorse-ssh-source.c:219 +msgid "OpenSSH keys" +msgstr "OpenSSH ചാവികള്‍" + +#: ../ssh/seahorse-ssh-source.c:226 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ../ssh/seahorse-ssh-source.c:974 +msgid "No private key file is available for this key." +msgstr "ഈ ചാവിയ്ക്ക് ഒരു സ്വകാര്യ ചാവി ഫയലും ലഭ്യമല്ല." + +#: ../ssh/seahorse-ssh-upload.c:48 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "റിമോട്ട് കമ്പ്യൂട്ടറില്‍ സെക്യൂര്‍ ഷെല്‍ ചാവി ക്രമികരിയ്ക്കുവാന്‍ സാധ്യമായില്ല." + +#: ../ssh/seahorse-ssh-upload.c:131 +msgid "Configuring Secure Shell Keys…" +msgstr "സെക്യൂര്‍ ഷെല്‍ ചാവി ക്രമികരിക്കുക…" + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "SSH കണക്ഷനു വേണ്ടി കമ്പ്യൂട്ടര്‍ സജ്ജീകരിക്കുക" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must already have a login account on " +"that computer." +msgstr "" +"SSH ഉപയോഗിക്കുന്ന മറ്റൊരു കമ്പ്യൂട്ടറിലേക്കു് നിങ്ങളുടെ സെക്യുര്‍ ഷെല്‍ ചാവി ഉപയോഗിക്കണമെങ്കില്‍, നിങ്ങള്‍ക്കു് ആ കമ്പ്യൂട്ടറില്‍ ഒരു ലോഗിന്‍ അക്കൌണ്ടു് " +"ഉണ്ടായിരിക്കണം." + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "ഉദാ: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Server address:" +msgstr "സര്‍വര്‍ വിലാസം (_S):" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login name:" +msgstr "അകത്തുകയറുന്നതിനുള്ള പേരു്(_L):" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "സജ്ജീകരണം (_S)" + +#~ msgid "Updating password" +#~ msgstr "രഹസ്യവാക്ക് പുതുക്കുന്നു" + +#~ msgid "Keyring Properties" +#~ msgstr "ചാവികൂട്ടത്തിന്റെ ഗുണഗണങ്ങള്‍" + +#~ msgid "E_xport..." +#~ msgstr "_എക്സ്പോര്‍ട്ട് ചെയ്യുക..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "ദൂരെയുള്ള ചാവികള്‍ _കണ്ടുപിടിക്കുക..." + +#~ msgid "Synchronizing keys..." +#~ msgstr "കീകള്‍ സിന്‍ക്രണൈസ് ചെയ്യുന്നു..." + +#~ msgid "_New..." +#~ msgstr "_പുതിയ..." + +#~ msgid "_Import..." +#~ msgstr "എടുക്കുക..." + +#~ msgid "Ssh Key" +#~ msgstr "SSH ചാവി" + +#~ msgid "_Computer Name:" +#~ msgstr "_കമ്പ്യൂട്ടറിന്റെ പേരു്:" + +#~ msgid "Password:" +#~ msgstr "അടയാളവാക്കു്:" + +#~ msgid "Key Servers:" +#~ msgstr "ചാവി സെര്‍വറുകള്‍:" + +#~ msgid "Never" +#~ msgstr "ഒരിക്കലുമില്ല" + +#~ msgid "Key ID:" +#~ msgstr "ചാവി ID:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "പേര്:" + +#~ msgid "Comment:" +#~ msgstr "അഭിപ്രായം:" + +#~ msgid "Use:" +#~ msgstr "ഉപയോഗം:" + +#~ msgid "Type:" +#~ msgstr "ഏത് തരം:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "ചാവിയുടെ പേരുകളും ഒപ്പുകളും" + +#~ msgid "Dates" +#~ msgstr "തീയതികള്‍" + +#~ msgid "Actions" +#~ msgstr "പ്റവര്‍ത്തികള്‍" + +#~ msgid "Dates:" +#~ msgstr "തീയതികള്‍:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "പേര്:" + +#~ msgid "Trust" +#~ msgstr "വിശ്വാസം" + +#~ msgid "Strength:" +#~ msgstr "ശക്തി:" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "സീഹോഴ്സ്-ഡെമണ്‍ നിരന്തരപ്രക്രിയയായി പ്രവര്‍ത്തിപ്പിക്കരുതു്" + +#~ msgid "couldn't fork process" +#~ msgstr "പ്രക്രിയ ഫോര്‍ക്ക് ചെയ്യുവാന്‍ സാധിച്ചില്ല" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "എന്‍ക്രിപ്ഷനുള്ള നിരന്തരപ്രവൃത്തി (സീഹോഴ്സ്)" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "%s: തെറ്റായ അല്ലെങ്കില്‍ തിരിച്ചറിയാത്ത ചാവിയുടെ തരം" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "തെറ്റായ അല്ലെങ്കില്‍ തിരിച്ചറിയാത്ത ചാവി: %s" + +#~ msgid "Signed by expired on %s." +#~ msgstr "ഒപ്പിട്ടത് സമാപിച്ചത് %s-ന്." + +#~ msgid "Invalid Signature" +#~ msgstr "അസാധുവായ ഒപ്പു്" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "ഒപ്പിട്ടത് %s-ന് സമാപിച്ചു." + +#~ msgid "Expired Signature" +#~ msgstr "കാലാവധി അവസാനിച്ച ഒപ്പു്" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "ഒപ്പിട്ടത് പിന്‍വലിച്ചതു്%s-ന് ." + +#~ msgid "Revoked Signature" +#~ msgstr "പിന്‍വലിച്ച ഒപ്പു്" + +#~ msgid "Signed by on %s." +#~ msgstr "ഒപ്പിട്ടത് %s-ന് ." + +#~ msgid "Good Signature" +#~ msgstr "നല്ല ഒപ്പു്" + +#~ msgid "Signing key not in keyring." +#~ msgstr "ഒപ്പിടുന്ന ചാവി ചാവിക്കൂട്ടത്തില്‍ ഇല്ല" + +#~ msgid "Unknown Signature" +#~ msgstr "അറിയപ്പെടാത്ത ഒപ്പു്" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "തെറ്റായ അല്ലെങ്കില്‍ കള്ള ഒപ്പു്. ഒപ്പിട്ട വിവരങ്ങള്‍ തിരുത്തിയിട്ടുണ്ടു്." + +#~ msgid "Bad Signature" +#~ msgstr "തെറ്റായ ഒപ്പു്" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "%s :ഇടുന്നത് തെറ്റായ അല്ലെങ്കില്‍ തിരിച്ചറിയാത്ത ഒപ്പു്" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "%s :ഒപ്പിടുന്നതിനായി ചാവി അസാധുവാണ്" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "അസാധു അല്ലെങ്കില്‍ അപരിചിതമായ സ്വീകരിക്കുന്നയാള്‍ : %s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "എന്‍ക്രിപ്ഷനുള്ള ശരിയായ റസിപ്യന്റല്ല കീ: %s" + +#~ msgid "No recipients specified" +#~ msgstr "റെസീപ്യന്റുകള്‍ വ്യക്തമാക്കിയിട്ടില്ല" + +#~ msgid "No signer specified" +#~ msgstr "ഒപ്പിടുന്ന ആള് വ്യക്തമായിട്ടില്ല" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "%s: ഡീക്രിപ്റ്റ്ചെയ്യുന്നതിനായി തെറ്റായ ചാവിയുടെ തരം" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "ഉറപ്പാക്കുന്നതിനു് തെറ്റായ കീ തരം: %s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "തെറ്റായ key id: %s" + +#~ msgid "Couldn't share keys" +#~ msgstr "ചാവികള്‍ പങ്ക് വയ്ക്കുവാന്‍ കഴിഞ്ഞില്ല" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "നെറ്റ്‌വര്‍ക്കില്‍ കണ്ടുപിടിച്ച വിവരങ്ങള്‍ പ്രസിദ്ധീകരിക്കുവാന്‍ സാധ്യമല്ല." + +#~ msgid "%s's encryption keys" +#~ msgstr "%s-ന്റെ എന്‍ക്രിപ്ഷന്‍ ചാവികള്‍" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later versions a display name can be included, " +#~ "by appending a space and then the name." +#~ msgstr "" +#~ "വിദൂര PGP കീകള്‍ തെരയുന്നതിനുള്ള കീ സര്‍വറുകളുടെ യുആര്‍ഐകളുടെ ലിസ്റ്റ്. പിന്നീടുള്ള പതിപ്പുകളില്‍, ഒരു സ്പെയിസ് നല്‍കി പേരു് ചേര്‍ത്തു് ഒരു " +#~ "നാമം നല്‍കുവാന്‍ സാധിക്കുന്നു." + +#~ msgid "Auto Retrieve Keys" +#~ msgstr "ചാവികള്‍ സ്വയം ലഭ്യമാക്കുക" + +#~ msgid "Auto Sync Keys" +#~ msgstr "ഓട്ടോ സിംക് ചാവികള്‍" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "കീ പാലകനുള്ള കാലാവധിയുടെ അവസാനത്തിനുള്ള നിരയുടെ ദൃശ്യത നിയന്ത്രിക്കുന്നു." + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "കീ പാലകനുള്ള വിശ്വസ്തതയ്ക്കുള്ള നിരയുടെ ദൃശ്യത നിയന്ത്രിക്കുന്നു." + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "കീ പാലകനുള്ള ഏതു് തരം നിരയുടെ ദൃശ്യത നിയന്ത്രിക്കുന്നു." + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "കീ പാലകനുള്ള കാലാവധി നിരയുടെ ദൃശ്യത നിയന്ത്രിക്കുന്നു." + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "DNS-SD പങ്കുവയ്ക്കല്‍ സാധ്യമാക്കുക" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be running and must be built with HKP " +#~ "and DNS-SD support." +#~ msgstr "" +#~ "കീകളുടെ DNS-SD (Apple Bonjour) പങ്കിടല്‍ പ്രവര്‍ത്തന സജ്ജമാക്കുന്നു. seahorse-daemon പ്രവര്‍ത്തനത്തിലായിരിക്കണം. കൂടാതെ, HKP, " +#~ "DNS-SD പിന്തുണയുണ്ടായിരിക്കണം." + +#~ msgid "ID of the default key" +#~ msgstr "സഹജമായ ചാവിയുടെ ഐഡി" + +#~ msgid "If set to true, then files encrypted with seahorse will be ASCII armor encoded." +#~ msgstr "true ആയി സജ്ജമാക്കിയാല്‍, seahorse ഉപയോഗിച്ചു് എന്‍ക്രിപ്റ്റ് ചെയ്ത ഫയലുകള്‍ ASCII ആര്‍മര്‍ എന്‍കോഡഡായിരിക്കും." + +#~ msgid "If set to true, then the default key will always be added to an encryption recipients list." +#~ msgstr "true ആയി സജ്ജമാക്കിയാല്‍, എന്‍ക്രിപ്ഷന്‍ റെസിപ്യന്റുകളുടെ പട്ടികയിലേക്ക് സ്വതവേയുള്ള കീ എപ്പോഴും ചേര്‍ക്കുന്നു." + +#~ msgid "Last key server search pattern" +#~ msgstr "അവസാന ചാവി സെര്‍വറിന്റെ തിരച്ചില്‍ മാതൃക" + +#~ msgid "Last key servers used" +#~ msgstr "അവസാനമായി ഉപയോഗിച്ച ചാവി സെര്‍വറുകള്‍" + +#~ msgid "Last key used to sign a message." +#~ msgstr "അവസാനമായി സന്ദേശം ഒപ്പു് വയ്ക്കാന്‍ ഉപയോഗിച്ച ചാവി" + +#~ msgid "PGP Key servers" +#~ msgstr "PGP ചാവി സെര്‍വറുകള്‍" + +#~ msgid "Publish keys to this key server." +#~ msgstr "ഈ ചാവി സെര്‍വറിലേക്ക് ചാവികള്‍ അറിയിക്കുക." + +#~ msgid "Show expires column in key manager" +#~ msgstr "കീ പാലകനില്‍ കാലാവധി തീരുന്നതിനുള്ള നിര കാണിക്കുക" + +#~ msgid "Show trust column in key manager" +#~ msgstr "കീ പാലകനില്‍ വിശ്വസ്തതയുടെ നിര കാണിക്കുക" + +#~ msgid "Show type column in key manager" +#~ msgstr "കീ പാലകനില്‍ ഏതു് തരം എന്നതിനുള്ള നിര കാണിക്കുക" + +#~ msgid "Show validity column in key manager" +#~ msgstr "കീ പാലകനില്‍ കാലാവധിയ്ക്കുള്ള നിര കാണിക്കുക" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' and 'id'. Put a '-' in front of " +#~ "the column name to sort in descending order." +#~ msgstr "" +#~ "റെസിപ്യെന്റ് ജാലകം ക്രമത്തിലാക്കുവാനുള്ള നിര വ്യക്തമാക്കുക. നിരകള്‍: 'പേരു്' and 'id'. കൂടുതലില്‍ നിന്നും കുറവിലേക്കെന്ന " +#~ "ക്രമത്തിലാക്കുന്നതിനായി നിരയുടെ പേരിനു് മുമ്പു് '-' ചേര്‍ക്കുക." + +#~ msgid "" +#~ "Specify the column to sort the seahorse key manager main window by. Columns are: 'name', 'id', 'validity', " +#~ "'expires', 'trust', and 'type'. Put a '-' in front of the column name to sort in descending order." +#~ msgstr "" +#~ "seahorse കീ മാനേജര്‍ പ്രധാന ജാലകം ക്രമത്തിലാക്കുന്നതിനുള്ള നിര വ്യക്തമാക്കുക. നിരകള്‍: 'പേരു്', 'id', 'കാലാവധി', 'കാലാവധിയുടെ " +#~ "അവസാനം', 'വിശ്വാസ്യത', 'ഏതു് തരം'. കൂടുതലില്‍ നിന്നും കുറവിലേക്കെന്ന ക്രമത്തിലാക്കുന്നതിനായി നിരയുടെ പേരിനു് മുമ്പു് '-' ചേര്‍ക്കുക." + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "അവസാനമായി സന്ദേശം ഒപ്പു് വയ്ക്കാന്‍ ഉപയോഗിച്ച രഹസ്യ ചാവിയുടെ ID" + +#~ msgid "The column to sort the recipients by" +#~ msgstr "റെസിപ്യെന്റുകള്‍ ഏതു് നിരയനുസരിച്ചു് ക്രമത്തിലാക്കണം" + +#~ msgid "The column to sort the seahorse keys by" +#~ msgstr "seahorse കീകള്‍ ഏതു് നിരയനുസരിച്ചു് ക്രമത്തിലാക്കണം" + +#~ msgid "The key server to publish PGP keys to. Or empty to suppress publishing of PGP keys." +#~ msgstr "PGP കീകള്‍ പബ്ലിഷ് ചെയ്യേണ്ട കീ സര്‍വര്‍. അല്ലെങ്കില്‍, PGP കീകളുടെ പബ്ലിഷിങ് നിര്‍ത്തുന്നതിനായി കാലിയാക്കുക." + +#~ msgid "The last key server a search was performed against or empty for all key servers." +#~ msgstr "അവസാന തെരച്ചില്‍ നടത്തിയ കീ സര്‍വര്‍ അല്ലെങ്കില്‍ എല്ലാ കീ സര്‍വറുകളും കാലിയാക്കുക." + +#~ msgid "The last search pattern searched for against a key server." +#~ msgstr "ഒരു കീ സര്‍വറിനായി തെരയുന്ന അവസാന തെരച്ചില്‍ മാതൃക." + +#~ msgid "This specifies the default key to use for certain operations, mainly signing." +#~ msgstr "ഒപ്പിടല്‍ പോലുള്ള ചില പ്രക്രിയകള്‍ക്കുപയോഗിക്കുന്ന സ്വതവേയുള്ള കീ ഇതു് വ്യക്തമാക്കുന്നു." + +#~ msgid "Whether or not keys should be automatically retrieved from key servers." +#~ msgstr "കീ സര്‍വറുളില്‍ നിന്നും കീകള്‍ സ്വയമായി ലഭ്യമാക്കണമോ എന്നു്" + +#~ msgid "Whether or not modified keys should be automatically synced with the default key server." +#~ msgstr "മാറ്റം വരുത്തിയ കീകള്‍ സ്വയമായി സ്വതവേയുള്ള കീ സര്‍വറുമായി സിന്‍ക് ചെയ്യണമോ വേണ്ടയോ എന്നു്" + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "എപ്പോഴും സ്വതവേയുള്ള കീ എന്‍ക്രിപ്റ്റ് ചെയ്യണമോ എന്നു്" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "ASCII ആര്‍മര്‍ ഉപയോഗിക്കണമോ എന്നു്" + +#~ msgid "Web Password" +#~ msgstr "വെബ് അടയാളവാക്കു്" + +#~ msgid "Couldn't set application access." +#~ msgstr "പ്രയോഗത്തിലേക്കുള്ള പ്രവേശനം സജ്ജമാക്കുവാന്‍ സാധ്യമായില്ല." + +#~ msgid "Path:" +#~ msgstr "വഴി:" + +#~ msgid "Permissions:" +#~ msgstr "അനുവാദങ്ങള്‍:" + +#~ msgid "_Read" +#~ msgstr "_വായിക്കുക" + +#~ msgid "_Write" +#~ msgstr "_എഴുതുക" + +#~ msgid "Passwords: %s" +#~ msgstr "പാസ്‌വേര്‍ഡുകള്‍: %s" + +#~ msgid "Passwords: %s" +#~ msgstr "അടയാളവാക്കു്: %s" + +#~ msgid "Lock the password storage keyring so a master password is required to unlock it." +#~ msgstr "അടയാളവാക്കിനുള്ള സംഭരണ കീറിങ് പൂട്ടി അതു് തുറക്കുന്നതിനായി ഒരു പ്രധാന അടയാളവാക്ക് ഉപയോഗിക്കുക." + +#~ msgid "Unlock the password storage keyring with a master password so it is available for use." +#~ msgstr "അടയാളവാക്കിനുള്ള സംഭരണ കീറിങ് ഒരു പ്രധാന അടയാളവാക്കുപയോഗിച്ചു് അണ്‍ലോക്ക് ചെയ്യുക, അങ്ങനെ അവ ഉപയോഗിക്കുവാന്‍ സാധിക്കുന്നു." + +#~ msgid "Access to the key ring was denied" +#~ msgstr "ചാവിക്കൂട്ടത്തിലേക്കുള്ള പ്രവേശനം നിഷേധിച്ചിരിക്കുന്നു" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "ഗ്നോം-ചാവിക്കൂട്ടം പ്രവര്‍ത്തിക്കുന്നില്ല" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "ഈ ചാവിക്കൂട്ടം ഇതിനുമുമ്പേ തുറന്നിട്ടുണ്ടു്" + +#~ msgid "No such key ring exists" +#~ msgstr "ഇങ്ങനെ ഒരു ചാവിക്കൂട്ടം നിലവിലില്ല" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "ചാവിക്കൂട്ടത്തിനുള്ള നിരന്തരപ്രക്രിയയുമായി ആശയവിനിമയം നടത്താന്‍ സാധിക്കുന്നില്ല" + +#~ msgid "The item already exists" +#~ msgstr "ഈ ഇനം ഇതിനു് മുമ്പേ നിലവിലുണ്ടു്" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "ഗ്നോം-ചാവിക്കൂട്ടത്തിലേക്ക് പ്രവേശിയ്ക്കുമ്പോള്‍ ആന്തരികമായ തെറ്റ്" + +#~ msgid "Saving item..." +#~ msgstr "ഇനം സൂക്ഷിക്കുന്നു..." + +#~ msgid "Deleting item..." +#~ msgstr "വസ്തു വെട്ടിനീക്കുന്നു..." + +#~ msgid "Deleting keyring..." +#~ msgstr "കീറിങ് വെട്ടിനീക്കുന്നു..." + +#~ msgid "Listing password keyrings" +#~ msgstr "പാസ്‌വേര്‍ഡ് കീറിങുകള്‍ ലഭ്യമാക്കുന്നു" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you requested. The program Passwords " +#~ "and Encryption Keys will now be started so that you may either create a key or import one." +#~ msgstr "" +#~ "നിങ്ങള്‍ ആവശ്യപ്പെട്ടതു് നടത്തുന്നതിനുള്ള എന്‍ക്രിപ്ഷന്‍ കീകള്‍ ലഭ്യമായില്ല. അടയാളവാക്കുകളും എന്‍ക്രിപ്ഷന്‍ കീകളും എന്ന പ്രോഗ്രം ഇപ്പോള്‍ " +#~ "ആരംഭിക്കുന്നു. അങ്ങനെ നിങ്ങള്‍ക്കു് ഒരു കീ ഉണ്ടാക്കാം അല്ലെങ്കില്‍ ഒരെണ്ണം ഇംപോര്‍ട്ട് ചെയ്യക." + +#~ msgid "All Keys" +#~ msgstr "എല്ലാ ചാവികളും" + +#~ msgid "Selected Recipients" +#~ msgstr "തെരഞ്ഞെടുത്ത റെസീപ്യന്റുകള്‍" + +#~ msgid "Search Results" +#~ msgstr "ഫലങ്ങള്‍ തെരയുക" + +#~ msgid "Search _for:" +#~ msgstr "തെരയേണ്ട_തു്:" + +#~ msgid "None (Don't Sign)" +#~ msgstr "ഒന്നുമില്ല (ഒപ്പിടരുത്)" + +#~ msgid "Sign this message as %s" +#~ msgstr "ഈ സന്ദേശം %s ആയി ഒപ്പിടുക" + +#~ msgid "_Sign message as:" +#~ msgstr "ഈ സന്ദേശം _ഒപ്പിടേണ്ടതു്:" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "ഫയല്‍ ഒരു ശരിയായ .desktop ഫയല്‍ അല്ല" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "അപരിചിതമായ പണിയിട ഫയല്‍ പതിപ്പു് '%s'" + +#~ msgid "Starting %s" +#~ msgstr "%s ആരംഭിക്കുന്നു" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "കമാന്‍ഡ് ലൈനില്‍ പ്രയോഗങ്ങള്‍ രേഖകള്‍ സ്വീകരിക്കുന്നില്ല" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "അപരിചിതമായ ലഭ്യമാക്കുന്ന ഉപാധി: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "'Type=Link' പണിയിട എന്‍ട്രിയിലേക്ക് രേഖകളുടെ യുആര്‍ഐകള്‍ നല്‍കുവാന്‍ സാധ്യമല്ല" + +#~ msgid "Not a launchable item" +#~ msgstr "ലഭ്യമാക്കുവാന്‍ സാധിക്കുന്ന വസ്തു അല്ല" + +#~ msgid "Disable connection to session manager" +#~ msgstr "സെഷന്‍ മാനേജറിലേക്കുള്ള കണക്ഷന്‍ പ്രവര്‍ത്തന രഹിതമാക്കുക" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "സൂക്ഷിച്ചിട്ടുള്ള ക്രമീകരണം അടങ്ങുന്ന ഫയല്‍ നല്‍കുക" + +#~ msgid "FILE" +#~ msgstr "FILE" + +#~ msgid "Specify session management ID" +#~ msgstr "സെഷന്‍ മാനേജ്മെന്റ് ID നല്‍കുക" + +#~ msgid "Session management options:" +#~ msgstr "സെഷന്‍ മാനേജ്മെന്റ് ഉപാധികള്‍:" + +#~ msgid "Show session management options" +#~ msgstr "സെഷന്‍ മാനേജ്മെന്റ് ഉപാധികള്‍ കാണിക്കുക" + +#~ msgid "Key Imported" +#~ msgid_plural "Keys Imported" +#~ msgstr[0] "എടുത്ത ചാവി" +#~ msgstr[1] "എടുത്ത ചാവികള്‍" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "എടുത്ത %i ചാവി" +#~ msgstr[1] "എടുത്ത %i ചാവികള്‍" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "ഒരു കീ ഇംപോര്‍ട്ട് ചെയ്തു" +#~ msgstr[1] "കീകള്‍ ഇംപോര്‍ട്ട് ചെയ്തു" + +#~ msgid "Notification Messages" +#~ msgstr "അറിയിപ്പു് സന്ദേശങ്ങള്‍" + +#~ msgid "Symmetric Key" +#~ msgstr "സിമ്മട്രിക് കീ" + +#~ msgid "Credentials" +#~ msgstr "യോഗ്യതകള്‍" + +#~ msgid "Identity" +#~ msgstr "ഐഡന്റിറ്റി" + +#~ msgid "Key Sharing" +#~ msgstr "കീ പങ്കിടല്‍" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys you've collected. This means they " +#~ "can automatically encrypt things for you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "നിങ്ങളുടെ നെറ്റ്‌വര്‍ക്കിലുള്ള വ്യക്തികള്‍ക്കു് നിങ്ങള്‍ ശേഖരിച്ച കീകള്‍ ഉപയോഗിക്കുന്നതിനായി നിങ്ങളുടെ കീകള്‍ പങ്കിടുന്നതു് അനുവദിക്കുന്നു. അതായതു്, " +#~ "നിങ്ങള്‍ കീ അയച്ചു കൊടുക്കാതെ തന്നെ സ്വയമായി നിങ്ങള്‍ക്കുവേണ്ടി എന്‍ക്രിപ്റ്റ് ചെയ്യുന്നു.\n" +#~ "\n" +#~ "കുറിപ്പു്: നിങ്ങളുടെ സ്വകാര്യ കീകള്‍ ഒത്തുതീര്‍പ്പാക്കുന്നില്ല." + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "എന്റെ നെറ്റ്‌വര്‍ക്കില്‍ മറ്റുള്ളവരുമായി എന്റെ കീകള്‍ _പങ്കിടുക" + +#~ msgid "Progress Title" +#~ msgstr "പുരോഗതിയ്ക്കുള്ള തലക്കെട്ട്" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "ഫയല്‍-റോളര്‍ പ്രവര്‍ത്തിക്കുവാന്‍ സാധ്യമായില്ല" + +#~ msgid "Couldn't package files" +#~ msgstr "ഫയലുകള്‍ പാക്കേജ് ചെയ്യുവാന്‍ സാധിച്ചില്ല" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "ഫയല്‍-റോളര്‍ പ്രക്രിയ വിജയകരമായി പൂര്‍ത്തിയായില്ല." + +#~ msgid "Archive files" +#~ msgstr "ആര്‍ക്കൈവ് ഫയലുകള്‍" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "ഈ പേരില്‍ ഒരു ഫയല്‍ നിലവിലുണ്ടു്.\n" +#~ "\n" +#~ "ഒരു പുതിയ ഫയല്‍ ഉപയോഗിച്ചു് ഇതു് മാറ്റി എഴുതണമോ?" + +#~ msgid "_Replace" +#~ msgstr "_മാറ്റിവയ്ക്കുക" + +#~ msgid "Loading Keys..." +#~ msgstr "ചാവി ചേര്‍ക്കുന്നു..." + +#~ msgid "Uploading keys..." +#~ msgstr "കീകള്‍ അപ്‌ലോഡ് ചെയ്യുന്നു..." + +#~ msgid "Retrieving keys..." +#~ msgstr "ചാവികള്‍ ലഭ്യമാക്കുന്നു..." + +#~ msgid "Searching for keys on: %s" +#~ msgstr "കീകള്‍ തെരയുന്നു: %s" + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "'%s' അടങ്ങുന്ന കീകള്‍ തെരയുന്നു..." + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "കീ id ആയ'%s'-നായി തെരയുന്നു..." + +#~ msgid "Retrieving remote keys..." +#~ msgstr "ദൂരെയുള്ള ചാവികള്‍ ലഭ്യമാക്കുന്നു..." + +#~ msgid "Sending keys to key server..." +#~ msgstr "ചാവി സെര്‍വറിലേക്ക് ചാവി അയയ്ക്കുന്നു..." + +#~ msgid "_Sign Key..." +#~ msgstr "കീ _ഒപ്പിടുക..." + +#~ msgid "Sign public key" +#~ msgstr "മറ്റുള്ളവര്‍ക്കുള്ള ചാവി ഒപ്പിടുക" + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "നിങ്ങള്‍ക്ക് %d കീകളും ഐഡന്റിറ്റികളും എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" + +#~ msgid "Algorithms here" +#~ msgstr "അല്‍ഗോരിതങ്ങള്‍ ഇവിടെ" + +#~ msgid "New PGP Key" +#~ msgstr "പുതിയ PGP ചാവി" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "\"%s\" -നുള്ള ചാവി പുറത്തെടുക്കാന്‍ കഴിഞ്ഞില്ല" + +#~ msgid "Export Complete Key" +#~ msgstr "പൂര്‍ണ്ണമായ ചാവി പുറത്തെടുക്കുക" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "നിങ്ങള്‍ക്ക് '%s' സര്‍ട്ടീഫിക്കേറ്റ് എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "നിങ്ങള്‍ക്ക് %d സര്‍ട്ടീഫിക്കേറ്റ് എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" +#~ msgstr[1] "നിങ്ങള്‍ക്ക് %d സര്‍ട്ടീഫിക്കേറ്റുകള്‍ എന്നേക്കുമായി നീക്കം ചെയ്യണമെന്ന് ഉറപ്പാണോ?" + +#~ msgid "Create New ..." +#~ msgstr "പുതിയതു് ഉണ്ടാക്കുക..." + +#~ msgid "Selected %d key" +#~ msgid_plural "Selected %d keys" +#~ msgstr[0] "തെരഞ്ഞെടുത്ത %d കീ" +#~ msgstr[1] "തെരഞ്ഞെടുത്ത %d കീകള്‍" + +#~ msgid "Importing keys" +#~ msgstr "ചാവികള്‍ എടുക്കുന്നു" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "അപരിചിതമായ തരത്തിലുള്ള കീ, അല്ലെങ്കില്‍ തെറ്റായ ഡേറ്റാ ശൈലി" + +#~ msgid "T_ypes" +#~ msgstr "ത_രങ്ങള്‍" + +#~ msgid "Show type column" +#~ msgstr "തരങ്ങള്‍ക്കുള്ള നിര കാണിക്കുക" + +#~ msgid "_Expiry" +#~ msgstr "_കലാവധി തീരുന്നതു്" + +#~ msgid "Show expiry column" +#~ msgstr "കാലാവധി തീരുന്നതിനുള്ള നിര കാണിക്കുക" + +#~ msgid "_Trust" +#~ msgstr "_വിശ്വാസ്യത" + +#~ msgid "Show owner trust column" +#~ msgstr "ഉടമസ്ഥ വിശ്വാസ്യതയ്ക്കുള്ള നിര കാണിക്കുക" + +#~ msgid "_Validity" +#~ msgstr "_കാലാവധി" + +#~ msgid "Show validity column" +#~ msgstr "കാലാവധിയ്ക്കുള്ള നിര കാണിക്കുക" + +#~ msgid "Other _Keys" +#~ msgstr "മറ്റുള്ള _ചാവികള്‍" + +#~ msgid "Validity" +#~ msgstr "കാലാവധി" + +#~ msgid "Expiration Date" +#~ msgstr "കാലാവധി തീരുന്നത്" + +#~ msgid "_Expand All" +#~ msgstr "എല്ലാം _വികസിപ്പിയ്ക്കുക" + +#~ msgid "Expand all listings" +#~ msgstr "എല്ലാ പട്ടികകളും വികസിപ്പിക്കുക" + +#~ msgid "_Collapse All" +#~ msgstr "എല്ലാം _കൂട്ടിച്ചേ‌ര്‍ക്കുക" + +#~ msgid "Collapse all listings" +#~ msgstr "എല്ലാ ലിസ്റ്റിങുകളും കൂട്ടിചേര്‍ക്കുക" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "സിന്‍ക്രൊണൈസ് ചെയ്യുന്നതിനായി X കീകള്‍ തെരഞ്ഞെടുത്തു" + +#~ msgid "Export public key" +#~ msgstr "പബ്ലിക് കീ എക്സ്പോര്‍ട്ട് ചെയ്യുക" + +#~ msgid "Exporting keys" +#~ msgstr "കീകള്‍ എക്സ്പോര്‍ട്ട് ചെയ്യുന്നു" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "കീ സെര്‍വറില്‍ നിന്നും ഡേറ്റാ ലഭ്യമാക്കുവാന്‍ സാധ്യമായില്ല" + +#~ msgid "Deleting..." +#~ msgstr "വെട്ടി നീക്കുന്നു..." + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s ഒരു സ്വകാര്യ കീയാണു്. നിങ്ങള്‍ക്കു് തുടരണമെന്നു് ഉറപ്പാണോ?" diff --git a/po/mr.po b/po/mr.po new file mode 100644 index 00000000..58c18815 --- /dev/null +++ b/po/mr.po @@ -0,0 +1,3032 @@ +# translation of mr.po to Marathi +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Sandeep Shedmake , 2008, 2009. +# Sandeep Shedmake , 2009. +msgid "" +msgstr "" +"Project-Id-Version: mr\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=seahorse&component=general\n" +"POT-Creation-Date: 2009-08-29 17:59+0000\n" +"PO-Revision-Date: 2009-08-31 17:58+0530\n" +"Last-Translator: Sandeep Shedmake \n" +"Language-Team: Marathi \n" +"Language: mr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"X-Generator: KBabel 1.11.4\n" + +#: ../daemon/seahorse-daemon.c:69 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "seahorse-daemon डीमन म्हणून चालवू नका" + +#: ../daemon/seahorse-daemon.c:87 +msgid "couldn't fork process" +msgstr "कार्यपध्दतीस विभाजीत करू शकले नाही" + +#: ../daemon/seahorse-daemon.c:93 +msgid "couldn't create new process group" +msgstr "नवीन कार्यपध्दती गट बनवू शकला नाही" + +#: ../daemon/seahorse-daemon.c:207 +msgid "Encryption Daemon (Seahorse)" +msgstr "ऐंक्रीप्शन डीमन (Seahorse)" + +#: ../daemon/seahorse-daemon.desktop.in.in.h:1 +msgid "Seahorse Daemon" +msgstr "Seahorse डिमन" + +#: ../daemon/seahorse-service.c:151 ../daemon/seahorse-service.c:175 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "अवैध किवा अपरिचीत किल्ली प्रकार: %s" + +#: ../daemon/seahorse-service.c:224 ../daemon/seahorse-service-keyset.c:135 +#: ../daemon/seahorse-service-keyset.c:164 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "अवैध किंवा अपिरीचीत किल्ली: %s" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:160 +#, c-format +msgid "Signed by expired on %s." +msgstr " द्वारे स्वाक्षरीत %2$s ला कालबाह्य झाले." + +#: ../daemon/seahorse-service-crypto.c:161 +msgid "Invalid Signature" +msgstr "अवैध स्वाक्षरी" + +#: ../daemon/seahorse-service-crypto.c:167 +#, c-format +msgid "Signed by on %s Expired." +msgstr " द्वारे स्वाक्षरीत %2$s ला कालबाह्य झाले." + +#: ../daemon/seahorse-service-crypto.c:168 +msgid "Expired Signature" +msgstr "स्वाक्षरी कालबाह्य झाले" + +#: ../daemon/seahorse-service-crypto.c:174 +#, c-format +msgid "Signed by Revoked on %s." +msgstr " द्वारे स्वाक्षरीत %2$s ला पुन्ह प्राप्त झाले ." + +#: ../daemon/seahorse-service-crypto.c:175 +msgid "Revoked Signature" +msgstr "स्वाक्षरी पुन्हाप्राप्त केले" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:181 +#, c-format +msgid "Signed by on %s." +msgstr "%s ला द्वारे स्वाक्षरीत." + +#: ../daemon/seahorse-service-crypto.c:182 +msgid "Good Signature" +msgstr "चांगली स्वाक्षरी" + +#: ../daemon/seahorse-service-crypto.c:187 +msgid "Signing key not in keyring." +msgstr "स्वाक्षरी किल्ली किरींग मध्ये आढळली नाही." + +#: ../daemon/seahorse-service-crypto.c:188 +msgid "Unknown Signature" +msgstr "अपरिचीत स्वाक्षरी" + +#: ../daemon/seahorse-service-crypto.c:192 +msgid "Bad or forged signature. The signed data was modified." +msgstr "चूकीची किंवा दोषीत स्वाक्षरी. स्वाक्षरी रहीत माहिती संपादीत केले गेली." + +#: ../daemon/seahorse-service-crypto.c:193 +msgid "Bad Signature" +msgstr "चूकीची स्वाक्षरी" + +#: ../daemon/seahorse-service-crypto.c:201 +msgid "Couldn't verify signature." +msgstr "स्वाक्षरी तपासली गेली नाही." + +#: ../daemon/seahorse-service-crypto.c:257 +#: ../daemon/seahorse-service-crypto.c:364 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "अवैध किंवा अपिरीचीत स्वाक्षरी: %s" + +#: ../daemon/seahorse-service-crypto.c:264 +#: ../daemon/seahorse-service-crypto.c:371 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "किल्ली स्वाक्षरी करीता वैध नाही: %s" + +#: ../daemon/seahorse-service-crypto.c:276 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "अवैध किंवा अपरिचीत श्रोता: %s" + +#: ../daemon/seahorse-service-crypto.c:284 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "ऐंक्रीप्शन करीता किल्ली बैध श्रोता नाही: %s" + +#: ../daemon/seahorse-service-crypto.c:293 +#, c-format +msgid "No recipients specified" +msgstr "श्रोता निश्चित नाही" + +#: ../daemon/seahorse-service-crypto.c:359 +#, c-format +msgid "No signer specified" +msgstr "स्वाक्षरी निर्धारीत नाही" + +#: ../daemon/seahorse-service-crypto.c:414 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "डिक्रीप्शन करीता अवैध किल्ली प्रकार: %s" + +#: ../daemon/seahorse-service-crypto.c:477 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "तपासणी करीता अवैध किल्ली प्रकार: %s" + +#: ../daemon/seahorse-service-keyset.c:200 +#, c-format +msgid "Invalid key id: %s" +msgstr "अवैध किल्ली id: %s" + +#: ../daemon/seahorse-sharing.c:72 ../daemon/seahorse-sharing.c:216 +msgid "Couldn't share keys" +msgstr "किल्ली सहभागीय करू शकले नाही" + +#: ../daemon/seahorse-sharing.c:73 +msgid "Can't publish discovery information on the network." +msgstr "संजाळवरील शोध माहिती प्रकाशीत करू शकले नाही." + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s". +#: ../daemon/seahorse-sharing.c:93 +#, c-format +msgid "%s's encryption keys" +msgstr "%s's ऐंक्रीप्शन किल्ली" + +#: ../data/seahorse.schemas.in.h:1 +msgid "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." +msgstr "" +"दूरस्थ PGP किल्ली करीता किल्ली सर्वर URI ची यादी. मोकळी जागा सोडल्यास व नंतर नाव " +"जोडल्यास पुढच्या आवृत्तीत दृश्य नाव समाविष्टीत केले जाऊ शकते." + +#: ../data/seahorse.schemas.in.h:2 +msgid "Auto Retrieve Keys" +msgstr "स्व प्राप्ती किल्ली" + +#: ../data/seahorse.schemas.in.h:3 +msgid "Auto Sync Keys" +msgstr "स्व सम किल्ली" + +#: ../data/seahorse.schemas.in.h:4 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "किल्ली व्यवस्थापक करीता कालबाह्य स्तंभची दृश्यता नियंत्रीत करा." + +#: ../data/seahorse.schemas.in.h:5 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "किल्ली व्यवस्थापक करीता विश्वासर्ह स्तंभची दृश्यता नियंत्रीत करा." + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the type column for the key manager." +msgstr "किल्ली व्यवस्थापक करीता प्रकार स्तंभची दृश्यता नियंत्रीत करा." + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "किल्ली व्यवस्थापक करीता वैधता स्तंभची दृश्यता नियंत्रीत करा." + +#: ../data/seahorse.schemas.in.h:8 +msgid "Enable DNS-SD sharing" +msgstr "DNS-SD सहभाग कार्यान्वीत करा" + +#: ../data/seahorse.schemas.in.h:9 +msgid "" +"Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +"running and must be built with HKP and DNS-SD support." +msgstr "" +"DNS-SD (Apple Bonjour) चे किल्ली सहभागीय करणे कार्यान्वीत करतो. seahorse-daemon " +"कार्यरत असले पाहिजे व HKP आणि DNS-SD समर्थनसह बांधले पाहिजे." + +#: ../data/seahorse.schemas.in.h:10 +msgid "ID of the default key" +msgstr "मुलभूत किल्लीचे ID" + +#: ../data/seahorse.schemas.in.h:11 +msgid "" +"If set to true, then files encrypted with seahorse will be ASCII armor " +"encoded." +msgstr "खरे निश्चित केल्यास, seahorse सह ऐंक्रीप्ट फाइल ASCII armor ऐंकोड सक्षम असतील." + +#: ../data/seahorse.schemas.in.h:12 +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "खरे निश्चित केल्यास, मुलभूत किल्ली नेहमी ऐंक्रीप्शन श्रोता यादी करीता जोडले जातील." + +#: ../data/seahorse.schemas.in.h:13 +msgid "Last key server search pattern" +msgstr "शेवटची किल्ली सर्वर शोध रचना" + +#: ../data/seahorse.schemas.in.h:14 +msgid "Last key servers used" +msgstr "सर्वर करीता शेवटची वापरलेली किल्ली" + +#: ../data/seahorse.schemas.in.h:15 +msgid "Last key used to sign a message." +msgstr "संदेश स्वाक्षरी करीता शेवटची वापरलेली किल्ली." + +#: ../data/seahorse.schemas.in.h:16 +msgid "PGP Key servers" +msgstr "PGP किल्ली सर्वर" + +#: ../data/seahorse.schemas.in.h:17 +msgid "Publish keys to this key server." +msgstr "किल्ली सर्वर करीता किल्ली प्रकाशीत करा." + +#: ../data/seahorse.schemas.in.h:18 +msgid "Show expires column in key manager" +msgstr "किल्ली व्यवस्थापक मध्ये स्तंभ दाखवा" + +#: ../data/seahorse.schemas.in.h:19 +msgid "Show trust column in key manager" +msgstr "किल्ली व्यवस्थापक मध्ये विश्वासर्ह स्तंभ दाखवा" + +#: ../data/seahorse.schemas.in.h:20 +msgid "Show type column in key manager" +msgstr "किल्ली व्यवस्थापक मध्ये स्तंभ प्रकार दाखवा" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Show validity column in key manager" +msgstr "किल्ली व्यवस्थापक मध्ये वैधता स्तंभ दाखवा" + +#: ../data/seahorse.schemas.in.h:22 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name' and " +"'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "" +"श्रोताचे चौकट क्रमवारी मध्ये लावण्याकरीता निश्चित करा. स्तंभ खालील प्रकारे आहेत: 'नाव' व " +"'id'. उतरत्या क्रमवारीत क्रमवारी लावण्याकरीता स्तंभ नावाच्या पुढे '-' प्रविष्ट करा." + +#: ../data/seahorse.schemas.in.h:23 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." +msgstr "" +"seahorse किल्ली व्यवस्थापक मुख्य चौकट क्रमवारी मध्ये लावण्याकरीता स्तंभ निश्चित करा: स्तंभ " +"खालील प्रकारे आहेत: 'नाव', 'id', 'वैधता', 'मुदत समाप्ती', 'विश्वास', व 'प्रकार'. " +"उतरत्या क्रमवारीत क्रमवारी लावण्याकरीता स्तंभ नावाच्या पुढे '-' प्रविष्ट करा." + +#: ../data/seahorse.schemas.in.h:24 +msgid "The ID of the last secret key used to sign a message." +msgstr "संदेश स्वाक्षरी करीता शेवटच्या गोपनीय किल्लीची ID." + +#: ../data/seahorse.schemas.in.h:25 +msgid "The column to sort the recipients by" +msgstr "श्रोत्यांना क्रमवारीनुरूप लावण्याकरीताचे स्तंभ" + +#: ../data/seahorse.schemas.in.h:26 +msgid "The column to sort the seahorse keys by" +msgstr "किल्ली क्रमवारी मध्ये लावण्याजोगीचे स्तंभ" + +#: ../data/seahorse.schemas.in.h:27 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"PGP किल्ली प्रकाशीत करण्याकरीताचे किल्ली सर्वर. किंवा PGP किल्ली प्रकाशन " +"थांबविण्याकरीता रिकामे करा." + +#: ../data/seahorse.schemas.in.h:28 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "शेवटची किल्ली सर्वर करीता शोध केला गेला किंवा सर्व किल्ली सर्वर रिकामे आहेत." + +#: ../data/seahorse.schemas.in.h:29 +msgid "The last search pattern searched for against a key server." +msgstr "शेवटची शोध रचनाने किल्ली सर्वर करीता शोध घेतला." + +#: ../data/seahorse.schemas.in.h:30 +msgid "This specifies the default key to use for certain operations, mainly signing." +msgstr "हे ठराविक कार्यपध्दती करीता वापरण्याजोगी मुलभूत किल्ली निर्धारीत करते, सहसा स्वाक्षरी." + +#: ../data/seahorse.schemas.in.h:31 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "किल्ली सर्वर पासून किल्ली आपोआप प्राप्त करायचे की नाही." + +#: ../data/seahorse.schemas.in.h:32 +msgid "" +"Whether or not modified keys should be automatically synced with the default " +"key server." +msgstr "मुलभूत किल्ली सर्वरशी आपोआप संपादीत किल्ली जुळविले पाहीजे का." + +#: ../data/seahorse.schemas.in.h:33 +msgid "Whether to always encrypt to default key" +msgstr "मुलभूत किल्ली नेहमी ऐंक्रीप्ट करायचे का" + +#: ../data/seahorse.schemas.in.h:34 +msgid "Whether to use ASCII Armor" +msgstr "ASCII Armor वापरायचे का" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "पासवर्ड किरिंग जोडा" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "नवीन किरिंग नाव:" + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"कृपया नवीन किरींग करीता नाव निवडा. पासवर्डाचे कुलूप उघडण्याकरीता तुम्हास विचारले " +"जाईल." + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "सर्वरचे यजमान नाव किंवा पत्ता." + +#: ../gkr/seahorse-gkr-add-item.c:60 ../gkr/seahorse-gkr-add-keyring.c:59 +msgid "Couldn't add keyring" +msgstr "किरींग जोडू शकले नाही" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#| msgid "Password" +msgid "Add Password" +msgstr "पासवर्ड समावेश करा" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:17 ../pgp/seahorse-revoke.xml.h:5 +msgid "_Description:" +msgstr "वर्णन (_D):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +#| msgid "Keyring" +msgid "_Keyring:" +msgstr "किरींग (_K):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +#| msgid "Password:" +msgid "_Password:" +msgstr "पासवर्ड (_P):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +#| msgid "Show pass_word" +msgid "_Show Password" +msgstr "पासवर्ड दाखवा (_S)" + +#: ../gkr/seahorse-gkr-item.c:470 +msgid "Web Password" +msgstr "वेब पासवर्ड" + +#: ../gkr/seahorse-gkr-item.c:472 +msgid "Network Password" +msgstr "जाळे पासवर्ड" + +#: ../gkr/seahorse-gkr-item.c:474 ../gkr/seahorse-gkr-item-properties.c:107 +msgid "Password" +msgstr "पासवर्ड" + +#: ../gkr/seahorse-gkr-item-commands.c:78 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "तुम्हाला नक्की '%s' घटक काढूण टाकायचे?" + +#: ../gkr/seahorse-gkr-item-commands.c:81 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "तुम्हाला नक्की %d पासवर्ड काढूण टाकायचे?" +msgstr[1] "तुम्हाला नक्की %d पासवर्ड काढूण टाकायचे?" + +#: ../gkr/seahorse-gkr-item-properties.c:66 +msgid "Access a network share or resource" +msgstr "संजाळ सहभाग किंवा स्त्रोत करीता प्रवेश" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a website" +msgstr "संकेतस्थळ करीता प्रवेश" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Unlocks a PGP key" +msgstr "PGP किल्लीचे कुलूप उघडतो" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a Secure Shell key" +msgstr "सुरक्षा शेल किल्लीचे कुलूप उघडतो" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Saved password or login" +msgstr "संचयीत पासवर्ड किंवा दाखलन" + +#: ../gkr/seahorse-gkr-item-properties.c:102 +msgid "Network Credentials" +msgstr "संजाळ श्रेय" + +#: ../gkr/seahorse-gkr-item-properties.c:245 +msgid "Couldn't change password." +msgstr "पासवर्ड बदलवू शकले नाही." + +#: ../gkr/seahorse-gkr-item-properties.c:347 +msgid "Couldn't set description." +msgstr "वर्णन स्थापीत करू शकले नाही." + +#: ../gkr/seahorse-gkr-item-properties.c:641 +msgid "Couldn't set application access." +msgstr "ऍप्लिकेशन प्रवेश निश्चित करू शकले नाही." + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +msgid "Password:" +msgstr "पासवर्ड:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 +msgid "Path:" +msgstr "मार्ग:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +msgid "Permissions:" +msgstr "परवानगी:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Technical Details:" +msgstr "तांत्रिक तपशील:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Applications" +msgstr "उपकरणं" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:72 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Details" +msgstr "तपशील" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Key" +msgstr "किल्ली" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Key Properties" +msgstr "किल्ली गुणधर्म" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +msgid "Login:" +msgstr "प्रवेश:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +msgid "Server:" +msgstr "सर्वर:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +msgid "Show pass_word" +msgstr "पासवर्ड दाखवा (_w)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +msgid "Type:" +msgstr "प्रकार:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:14 +msgid "Use:" +msgstr "वापर:" + +#. To translators: This is the infinitive not the imperative. This string refers to the ability of an application to delete this secret from its key ring. +#: ../gkr/seahorse-gkr-item-properties.xml.h:16 +msgid "_Delete" +msgstr "काढूण टाका (_D)" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:19 +msgid "_Read" +msgstr "वाचा (_R)" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:21 +msgid "_Write" +msgstr "लिहा (_W)" + +#: ../gkr/seahorse-gkr-keyring.c:193 +msgid "Listing passwords" +msgstr "पासवर्डाची यादी बनवीत आहे" + +#: ../gkr/seahorse-gkr-keyring.c:354 +#, c-format +msgid "Passwords: %s" +msgstr "पासवर्ड: %s" + +#: ../gkr/seahorse-gkr-keyring.c:355 +#, c-format +msgid "Passwords: %s" +msgstr "पासवर्ड: %s" + +#: ../gkr/seahorse-gkr-keyring-commands.c:94 +msgid "Password Keyring" +msgstr "पासवर्ड किरींग" + +#: ../gkr/seahorse-gkr-keyring-commands.c:95 +msgid "Used to store application and network passwords" +msgstr "ऍप्लिकेशन व नेटवर्क पासवर्ड साठवण्यासाठी वापरले जाते" + +#: ../gkr/seahorse-gkr-keyring-commands.c:96 +#| msgid "Network Password" +msgid "Stored Password" +msgstr "साठवलेले पासवर्ड" + +#: ../gkr/seahorse-gkr-keyring-commands.c:97 +msgid "Safely store a password or secret." +msgstr "सुरक्षीतपणे पासवर्ड किंवा गोपणीय माहिती साठवा." + +#: ../gkr/seahorse-gkr-keyring-commands.c:110 +msgid "Couldn't unlock keyring" +msgstr "किरींग विना कुलूपबंद करण्यास अशक्य" + +#: ../gkr/seahorse-gkr-keyring-commands.c:150 +msgid "Couldn't lock keyring" +msgstr "किरींग कुलूपबंद करण्यास अशक्य" + +#: ../gkr/seahorse-gkr-keyring-commands.c:190 +msgid "Couldn't set default keyring" +msgstr "मुलभूत किरींग निश्चीत करण्यास अशक्य" + +#: ../gkr/seahorse-gkr-keyring-commands.c:228 +msgid "Couldn't change keyring password" +msgstr "किरींग पासवर्ड बदलवू शकत नाही" + +#: ../gkr/seahorse-gkr-keyring-commands.c:259 +msgid "_Lock" +msgstr "कुलूपबंद करा (_L)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:260 +msgid "" +"Lock the password storage keyring so a master password is required to unlock " +"it." +msgstr "" +"password storage किरींग कुलूपबंद करा जेणेकरून कुलूपबंद अशक्य करण्याकरीता मुख्य पासवर्ड " +"आवश्यक असावे." + +#: ../gkr/seahorse-gkr-keyring-commands.c:261 +msgid "_Unlock" +msgstr "कुलूपबंद अशक्य करा (_U)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:262 +msgid "" +"Unlock the password storage keyring with a master password so it is " +"available for use." +msgstr "" +"password storage किरींग मुख्य पासवर्डचा वापर करून कुलूपबंद अशक्य करा जेणेकरून इतर " +"याचा वापर करू शकतिल." + +#: ../gkr/seahorse-gkr-keyring-commands.c:263 +msgid "_Set as default" +msgstr "मुलभूत नुरूप करा (_S)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:264 +msgid "Applications usually store new passwords in the default keyring." +msgstr "सहसा नवीन पासवर्ड ऍप्लिकेशन द्वारे मुलभूत किरींग अंतर्गत साठवले जातात." + +#: ../gkr/seahorse-gkr-keyring-commands.c:265 +msgid "Change _Password" +msgstr "पासवर्ड बदला (_P)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:266 +msgid "Change the unlock password of the password storage keyring" +msgstr "password storage किरींगचे कुलूपबंद अशक्य करण्याकरीता पासवर्ड बदला" + +#: ../gkr/seahorse-gkr-keyring-commands.c:330 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "तुम्हाला नक्की पासवर्ड करीता किरींग '%s' नष्ट टाकायचे?" + +#. ----------------------------------------------------------------------------- +#. * PUBLIC +#. +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Created:" +msgstr "निर्मित:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +msgid "Keyring" +msgstr "किरींग" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring Properties" +msgstr "किरींगचे गुणधर्म" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "_Name:" +msgstr "नाव (_N):" + +#: ../gkr/seahorse-gkr-operation.c:168 +msgid "Access to the key ring was denied" +msgstr "किरींग करीता प्रवेश नकारला गेला" + +#: ../gkr/seahorse-gkr-operation.c:171 +msgid "The gnome-keyring daemon is not running" +msgstr "gnome-keyring डीमन कार्यरत नाही" + +#: ../gkr/seahorse-gkr-operation.c:174 +msgid "The key ring has already been unlocked" +msgstr "किरींगचे आधिपासूनच कुलूप उघडले गेले" + +#: ../gkr/seahorse-gkr-operation.c:177 +msgid "No such key ring exists" +msgstr "या प्रकारची किरींग अस्तित्वात नाही" + +#: ../gkr/seahorse-gkr-operation.c:180 +msgid "Couldn't communicate with key ring daemon" +msgstr "किरींग डीमनशी संपर्क साधू शकले नाही" + +#: ../gkr/seahorse-gkr-operation.c:183 +msgid "The item already exists" +msgstr "घटक आधिपासूनच अस्तित्वात आहे" + +#: ../gkr/seahorse-gkr-operation.c:189 +msgid "Internal error accessing gnome-keyring" +msgstr "gnome-keyring करीता प्रवेश स्थापीत करतेवेळी आंतरीक त्रुटी" + +#: ../gkr/seahorse-gkr-operation.c:238 ../gkr/seahorse-gkr-operation.c:264 +msgid "Saving item..." +msgstr "घटक साठवत आहे..." + +#: ../gkr/seahorse-gkr-operation.c:300 +msgid "Deleting item..." +msgstr "घटक नष्ट करत आहे..." + +#: ../gkr/seahorse-gkr-operation.c:325 +msgid "Deleting keyring..." +msgstr "किरींग नष्ट करत आहे..." + +#: ../gkr/seahorse-gkr-source.c:234 +msgid "Listing password keyrings" +msgstr "पासवर्ड किरींग यादी" + +#: ../libcryptui/cryptui.c:272 +msgid "" +"No encryption keys were found with which to perform the operation you " +"requested. The program Passwords and Encryption Keys will now be " +"started so that you may either create a key or import one." +msgstr "" +"विनंतीकृत कार्यरत घटकाशी एनक्रीप्शन किल्लीह आढळले नाही. कार्यक्रम पासवर्ड व " +"एनक्रीप्शन कि ज्यामुळे तुम्ही किल्ली बनवू शकाल किंवा इम्पोर्ट करू शकाल आता सुरू केले जाईल." + +#: ../libcryptui/cryptui-key-chooser.c:173 +msgid "All Keys" +msgstr "सर्व किल्ली" + +#: ../libcryptui/cryptui-key-chooser.c:174 +msgid "Selected Recipients" +msgstr "निवडलेला श्रोता" + +#: ../libcryptui/cryptui-key-chooser.c:175 +msgid "Search Results" +msgstr "शोध परीणाम" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:185 +msgid "Search _for:" +msgstr "करीता शोधा (_f):" + +#: ../libcryptui/cryptui-key-chooser.c:243 +msgid "None (Don't Sign)" +msgstr "काहीच नाही (स्वाक्षरी करू नका)" + +#: ../libcryptui/cryptui-key-chooser.c:256 +#, c-format +msgid "Sign this message as %s" +msgstr "संदेशला %s नुरूप स्वाक्षरी करा" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:278 +msgid "_Sign message as:" +msgstr "संदेश स्वाक्षरी करा (_S):" + +#. TODO: Icons +#. The name column +#: ../libcryptui/cryptui-key-list.c:140 +#: ../pgp/seahorse-pgp-key-properties.c:839 +#: ../src/seahorse-key-manager-store.c:828 +msgid "Name" +msgstr "नाव" + +#. The keyid column +#: ../libcryptui/cryptui-key-list.c:145 +#: ../pgp/seahorse-pgp-key-properties.c:1743 +#: ../src/seahorse-key-manager-store.c:840 +msgid "Key ID" +msgstr "किल्ली ID" + +#: ../libegg/egg-datetime.c:313 +msgid "Display flags" +msgstr "बाब दाखवा" + +#: ../libegg/egg-datetime.c:314 +msgid "Displayed date and/or time properties" +msgstr "दिनांक व/किंवा वेळ गुणधर्म दर्शविले" + +#: ../libegg/egg-datetime.c:319 +msgid "Lazy mode" +msgstr "आळशी पद्धती" + +#: ../libegg/egg-datetime.c:320 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "आळशी पद्धती प्रविष्ट दिनांक व वेळ मुल्य समान करीत नाही" + +#: ../libegg/egg-datetime.c:325 +msgid "Year" +msgstr "वर्ष" + +#: ../libegg/egg-datetime.c:326 +msgid "Displayed year" +msgstr "प्रदर्शित वर्ष" + +#: ../libegg/egg-datetime.c:331 +msgid "Month" +msgstr "महिना" + +#: ../libegg/egg-datetime.c:332 +msgid "Displayed month" +msgstr "प्रदर्शित महिना" + +#: ../libegg/egg-datetime.c:337 +msgid "Day" +msgstr "दिवस" + +#: ../libegg/egg-datetime.c:338 +msgid "Displayed day of month" +msgstr "माहिन्यातील प्रदर्शित दिवस" + +#: ../libegg/egg-datetime.c:343 +msgid "Hour" +msgstr "तास" + +#: ../libegg/egg-datetime.c:344 +msgid "Displayed hour" +msgstr "प्रदर्शित तास" + +#: ../libegg/egg-datetime.c:349 +msgid "Minute" +msgstr "मिनीट" + +#: ../libegg/egg-datetime.c:350 +msgid "Displayed minute" +msgstr "प्रदर्शित मिनीट" + +#: ../libegg/egg-datetime.c:355 +msgid "Second" +msgstr "सेकंद" + +#: ../libegg/egg-datetime.c:356 +msgid "Displayed second" +msgstr "प्रदर्शित सेकंद" + +#: ../libegg/egg-datetime.c:361 +msgid "Lower limit year" +msgstr "वर्षातील किमान मर्यादा" + +#: ../libegg/egg-datetime.c:362 +msgid "Year part of the lower date limit" +msgstr "दिनांक किमान मर्यादा अंतर्गत वर्षाचे भाग" + +#: ../libegg/egg-datetime.c:367 +msgid "Upper limit year" +msgstr "वर्षातील कमाल मर्यादा" + +#: ../libegg/egg-datetime.c:368 +msgid "Year part of the upper date limit" +msgstr "दिनांक किमान मर्यादा अंतर्गत वर्षाचे भाग" + +#: ../libegg/egg-datetime.c:373 +msgid "Lower limit month" +msgstr "महिनातील किमान मर्यादा" + +#: ../libegg/egg-datetime.c:374 +msgid "Month part of the lower date limit" +msgstr "दिनांक किमान मर्यादा अंतर्गत महिन्याचे भाग" + +#: ../libegg/egg-datetime.c:379 +msgid "Upper limit month" +msgstr "महिनातील कमाल मर्यादा" + +#: ../libegg/egg-datetime.c:380 +msgid "Month part of the upper date limit" +msgstr "दिनांक कमाल मर्यादा अंतर्गत महिन्याचे भाग" + +#: ../libegg/egg-datetime.c:385 +msgid "Lower limit day" +msgstr "दिवसातील किमान मर्यादा" + +#: ../libegg/egg-datetime.c:386 +msgid "Day of month part of the lower date limit" +msgstr "दिनांक किमान मर्यादा अंतर्गत दिवसाचे भाग" + +#: ../libegg/egg-datetime.c:391 +msgid "Upper limit day" +msgstr "दिवसातील कमाल मर्यादा" + +#: ../libegg/egg-datetime.c:392 +msgid "Day of month part of the upper date limit" +msgstr "दिनांक कमाल मर्यादा अंतर्गत दिवसाचे भाग" + +#: ../libegg/egg-datetime.c:397 +msgid "Lower limit hour" +msgstr "तासातील किमान मर्यादा" + +#: ../libegg/egg-datetime.c:398 +msgid "Hour part of the lower time limit" +msgstr "वेळ किमान मर्यादा अंतर्गत तासाचे भाग" + +#: ../libegg/egg-datetime.c:403 +msgid "Upper limit hour" +msgstr "तासातील कमाल मर्यादा" + +#: ../libegg/egg-datetime.c:404 +msgid "Hour part of the upper time limit" +msgstr "वेळ कमाल मर्यादा अंतर्गत तासाचे भाग" + +#: ../libegg/egg-datetime.c:409 +msgid "Lower limit minute" +msgstr "मिनीटातील किमान मर्यादा" + +#: ../libegg/egg-datetime.c:410 +msgid "Minute part of the lower time limit" +msgstr "वेळ किमान मर्यादा अंतर्गत मिनीटाचे भाग" + +#: ../libegg/egg-datetime.c:415 +msgid "Upper limit minute" +msgstr "मिनीटातील किमान मर्यादा" + +#: ../libegg/egg-datetime.c:416 +msgid "Minute part of the upper time limit" +msgstr "वेळ कमाल मर्यादा अंतर्गत मिनीटाचे भाग" + +#: ../libegg/egg-datetime.c:421 +msgid "Lower limit second" +msgstr "सेकंदातील किमान मर्यादा" + +#: ../libegg/egg-datetime.c:422 +msgid "Second part of the lower time limit" +msgstr "वेळ किमान मर्यादा अंतर्गत सेकंदाचे भाग" + +#: ../libegg/egg-datetime.c:427 +msgid "Upper limit second" +msgstr "सेकंदातील कमाल मर्यादा" + +#: ../libegg/egg-datetime.c:428 +msgid "Second part of the upper time limit" +msgstr "वेळ कमाल मर्यादा अंतर्गत सेकंदाचे भाग" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:470 +msgid "calendar:week_start:0" +msgstr "calender:week_start:0" + +#: ../libegg/egg-datetime.c:492 +msgid "Date" +msgstr "दिनांक" + +#: ../libegg/egg-datetime.c:492 +msgid "Enter the date directly" +msgstr "दिनांक प्रत्यक्षरित्या प्रविष्ट करा" + +#: ../libegg/egg-datetime.c:499 +msgid "Select Date" +msgstr "दिनांक निवडा" + +#: ../libegg/egg-datetime.c:499 +msgid "Select the date from a calendar" +msgstr "दिनदर्शिका पासून दिनांक निवडा" + +#: ../libegg/egg-datetime.c:517 ../libegg/egg-datetime.c:2192 +msgid "Time" +msgstr "वेळ" + +#: ../libegg/egg-datetime.c:517 +msgid "Enter the time directly" +msgstr "वेळ प्रत्यक्षरित्या प्रविष्ट करा" + +#: ../libegg/egg-datetime.c:524 +msgid "Select Time" +msgstr "वेळ निवडा" + +#: ../libegg/egg-datetime.c:524 +msgid "Select the time from a list" +msgstr "यादी पासून वेळ निवडा" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:791 +msgid "24hr: no" +msgstr "24hr: क्रमांक" + +#: ../libegg/egg-datetime.c:795 ../libegg/egg-datetime.c:1253 +#: ../libegg/egg-datetime.c:1257 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:797 ../libegg/egg-datetime.c:1254 +#: ../libegg/egg-datetime.c:1261 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:805 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:808 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:812 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:815 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1169 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1234 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libegg/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "फाइल वैध .desktop फाइल नाही" + +#: ../libegg/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "अनोळखी डेस्कटॉप फाइल आवृत्ती '%s'" + +#: ../libegg/eggdesktopfile.c:958 +#, c-format +msgid "Starting %s" +msgstr "%s सुरू करत आहे" + +#: ../libegg/eggdesktopfile.c:1100 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "ऍप्लिकेशन आदेश ओळ पासून दस्तऐवज स्वीकारत नाही" + +#: ../libegg/eggdesktopfile.c:1168 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "अनोळखी प्रक्षेपण पर्याय: %d" + +#: ../libegg/eggdesktopfile.c:1373 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "'Type=Link' डेस्कटॉप नोंदणी करीता दस्तऐवज URIs पुरवू शकले नाही" + +#: ../libegg/eggdesktopfile.c:1392 +#, c-format +msgid "Not a launchable item" +msgstr "प्रक्षेपणजोगी घटक नाही" + +#: ../libegg/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "सत्र व्यवस्थापकशी जुळवणी अकार्यान्वीत करा" + +#: ../libegg/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "साठवलेली संयोजना समावेष असलेली फाइल निश्चित करा" + +#: ../libegg/eggsmclient.c:228 +msgid "FILE" +msgstr "FILE" + +#: ../libegg/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "सत्र व्यवस्थापक ID निश्चित करा" + +#: ../libegg/eggsmclient.c:231 ../pgp/seahorse-pgp-key-properties.c:1312 +msgid "ID" +msgstr "ID" + +#: ../libegg/eggsmclient.c:252 +msgid "Session management options:" +msgstr "सत्र व्यवस्थापक पर्याय:" + +#: ../libegg/eggsmclient.c:253 +msgid "Show session management options" +msgstr "सत्र व्यवस्थापक पर्याय दाखव" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "सर्वर किल्ली जोडा" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Host:" +msgstr "यजमान:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Key Server Type:" +msgstr "किल्ली सर्वर प्रकार:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid "The port to access the server on." +msgstr "सर्वर करीता प्रवेश प्राप्त करण्याकरीताचे पोर्ट." + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "initial temporary item" +msgstr "प्रारंभीक तात्पूर्ते घटक" + +#: ../libseahorse/seahorse-notification.c:566 +#: ../libseahorse/seahorse-notification.c:594 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "किल्ली प्राप्त केले" +msgstr[1] "किल्ली प्राप्त केले" + +#: ../libseahorse/seahorse-notification.c:570 +#: ../libseahorse/seahorse-notification.c:593 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "%i किल्ली प्राप्त केले" +msgstr[1] "%i किल्ली प्राप्त केले" + +#: ../libseahorse/seahorse-notification.c:572 +#, c-format +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "करीता किल्ली प्राप्त केले" +msgstr[1] "करीता किल्ली प्राप्त केले" + +#: ../libseahorse/seahorse-notify.xml.h:1 +msgid "Notification Messages" +msgstr "सूचना संदेश" + +#: ../libseahorse/seahorse-object.c:317 +msgid "Symmetric Key" +msgstr "समप्रमाणातील कि" + +#: ../libseahorse/seahorse-object.c:320 +msgid "Public Key" +msgstr "सार्वजणीक कि" + +#: ../libseahorse/seahorse-object.c:323 +msgid "Private Key" +msgstr "वैयक्तिक कि" + +#: ../libseahorse/seahorse-object.c:326 +msgid "Credentials" +msgstr "श्रेय" + +#. +#. * Translators: "This object is a means of storing items such as +#. * name, email address, etc. that make up one's digital identity. +#. +#: ../libseahorse/seahorse-object.c:333 +msgid "Identity" +msgstr "ओळख" + +#: ../libseahorse/seahorse-passphrase.c:194 +msgid "Passphrase" +msgstr "वाक्यरचना" + +#: ../libseahorse/seahorse-passphrase.c:197 +#: ../ssh/seahorse-ssh-operation.c:480 +msgid "Password:" +msgstr "पासवर्ड:" + +#: ../libseahorse/seahorse-passphrase.c:260 +msgid "Confirm:" +msgstr "निश्चित:" + +#: ../libseahorse/seahorse-prefs.c:63 +msgid "Not a valid Key Server address." +msgstr "वैध किल्ली सर्वर पत्ता नाही." + +#: ../libseahorse/seahorse-prefs.c:64 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "मदत करीता तुमच्या प्रणाली व्यवस्थापक किंवा किल्ली सर्वरच्या प्रशसकाशी संपर्क करा." + +#: ../libseahorse/seahorse-prefs.c:173 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:353 +msgid "Custom" +msgstr "अनुकूल" + +#: ../libseahorse/seahorse-prefs.c:420 +msgid "None: Don't publish keys" +msgstr "काहीच नाही: किल्ली प्रकाशीत करू नका" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Automatically retrieve keys from _key servers" +msgstr "आपोआप किल्ली सर्वर पासून किल्ली प्राप्त करा (_k)" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "आपोआप किल्ली सर्वरशी संपादीत किल्ली जुळवा (_m)" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "Key Servers" +msgstr "किल्ली सर्वर" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Key Sharing" +msgstr "किल्ली वाटप" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Preferences" +msgstr "आवड निवड" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've " +"collected. This means they can automatically encrypt things for you or those " +"you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." +msgstr "" +"किल्ली सहभीय केल्यास संजाळवरील इतर व्यक्तींना तुम्ही संग्रहीत केलेल्या किल्ली वापरण्याकरीता " +"परवानगी मिळते. याचा अर्थ इतर व्यक्ती आपोआप ऐंक्रीप्ट करू शकतील, व तुम्हाला त्यांस किल्ली " +"पाठविण्याची आवश्यकता पडणार नाही.\n" +"\n" +"टिप: तुमच्या व्यक्तिगत किल्लीशी तडजोड केली जाणार नाही." + +#: ../libseahorse/seahorse-prefs.xml.h:9 +msgid "_Find keys via:" +msgstr "किल्ली यानुरूप शोधा (_F):" + +#: ../libseahorse/seahorse-prefs.xml.h:10 +msgid "_Publish keys to:" +msgstr "करीता किल्ली प्रकाशीत करा (_P):" + +#: ../libseahorse/seahorse-prefs.xml.h:11 +msgid "_Share my keys with others on my network" +msgstr "संजाळवर इतरांशी किल्ली सहभागीय करा (_S)" + +#: ../libseahorse/seahorse-progress.xml.h:1 +msgid "Progress Title" +msgstr "प्रगती शिर्षक" + +#: ../libseahorse/seahorse-unknown.c:67 +msgid "Unavailable" +msgstr "अनुपल्बध" + +#: ../libseahorse/seahorse-util.c:237 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-util.c:513 +msgid "Key Data" +msgstr "किल्ली माहिती" + +#: ../libseahorse/seahorse-util.c:515 +msgid "Multiple Keys" +msgstr "बहू किल्ली" + +#: ../libseahorse/seahorse-util.c:771 +msgid "Couldn't run file-roller" +msgstr "file-roller चालवू शकले नाही" + +#: ../libseahorse/seahorse-util.c:777 +msgid "Couldn't package files" +msgstr "फाइलचे संकुल बनवू शकले नाही" + +#: ../libseahorse/seahorse-util.c:778 +msgid "The file-roller process did not complete successfully" +msgstr "file-roller पध्दती यशस्वीरित्या पूर्ण झाली" + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:943 +msgid "All key files" +msgstr "सर्व किल्ली फाइल" + +#: ../libseahorse/seahorse-util.c:954 ../libseahorse/seahorse-util.c:1002 +#: ../pgp/seahorse-gpgme-photos.c:242 +msgid "All files" +msgstr "सर्व फाइली" + +#: ../libseahorse/seahorse-util.c:995 +msgid "Archive files" +msgstr "फाइल संचयन" + +#: ../libseahorse/seahorse-util.c:1065 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" +"फाइल या नावासह अस्तित्वात आहे\n" +"\n" +"तुम्हाला यास नवीन फाइलने बदलवायचे आहे का?" + +#: ../libseahorse/seahorse-util.c:1068 +msgid "_Replace" +msgstr "बदलवा (_R)" + +#: ../libseahorse/seahorse-validity.c:40 ../pgp/seahorse-gpgme-subkey.c:197 +#: ../pgp/seahorse-pgp-key-properties.c:1131 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Unknown" +msgstr "अज्ञात" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1137 +msgctxt "Validity" +msgid "Never" +msgstr "कधिच नाही" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-key-properties.c:1144 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:33 +msgid "Marginal" +msgstr "कींचीत" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-key-properties.c:1150 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +msgid "Full" +msgstr "पूर्णतया" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-key-properties.c:1156 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Ultimate" +msgstr "उच्च" + +#: ../libseahorse/seahorse-validity.c:50 +#: ../pgp/seahorse-pgp-key-properties.c:1349 +msgid "Disabled" +msgstr "अकार्यान्वित" + +#: ../libseahorse/seahorse-validity.c:52 +#: ../pgp/seahorse-pgp-key-properties.c:1345 +msgid "Revoked" +msgstr "पुन्हाप्राप्ती" + +#: ../libseahorse/seahorse-widget.c:362 +#, c-format +msgid "Could not display help: %s" +msgstr "मदत प्रदर्शित करू शकत नाही: %s" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Expiration Date:" +msgstr "कालबाह्य दिनांक:" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "Generate a new subkey" +msgstr "नवीन उपकिल्ली बनवा" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +msgid "If key never expires" +msgstr "किल्ली कधी कालबाह्य न झाल्यास" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "किल्लीची लांबी (_L):" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Key _Type:" +msgstr "किल्ली प्रकार (_T):" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "किल्लीची लांबी" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Never E_xpires" +msgstr "कधीच नाही (_x)" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "वापरकर्ता ID जोडा" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Create the new user ID" +msgstr "नवीन वापरकर्ता ID बनवा" + +#: ../pgp/seahorse-add-uid.xml.h:3 ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Full _Name:" +msgstr "पूर्णतया नाव (_N):" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Key Co_mment:" +msgstr "किल्ली टिपण्णी (_m):" + +#: ../pgp/seahorse-add-uid.xml.h:5 +msgid "Must be at least 5 characters long" +msgstr "किमान 5 अक्षर लांब असायला हवे" + +#: ../pgp/seahorse-add-uid.xml.h:6 +msgid "Optional comment describing key" +msgstr "किल्लीचे वर्णन करणारी वैक्लपीक टिपण्णी" + +#: ../pgp/seahorse-add-uid.xml.h:7 +msgid "Optional email address" +msgstr "वैक्लीपक ईमेल पत्ता" + +#: ../pgp/seahorse-add-uid.xml.h:8 ../pgp/seahorse-pgp-generate.xml.h:13 +msgid "_Email Address:" +msgstr "ईमेल पत्ता (_E):" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "C_hange" +msgstr "बदलवा (_h)" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:4 +msgid "Revoke key" +msgstr "पुन्हप्राप्ती किल्ली" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "_Never expires" +msgstr "कधीच नाही (_N)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:144 +msgid "Couldn't add subkey" +msgstr "उपकिल्ली जोडू शकले नाही" + +#: ../pgp/seahorse-gpgme-add-subkey.c:163 +#, c-format +msgid "Add subkey to %s" +msgstr "%s मध्ये उपकिल्ली जोडा" + +#: ../pgp/seahorse-gpgme-add-subkey.c:179 ../pgp/seahorse-gpgme-generate.c:96 +msgid "DSA (sign only)" +msgstr "DSA (फक्त स्वाक्षरी)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:187 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (फक्त ऐंक्रीप्ट)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:193 ../pgp/seahorse-gpgme-generate.c:97 +msgid "RSA (sign only)" +msgstr "RSA (फक्त स्वाक्षरी)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:199 +msgid "RSA (encrypt only)" +msgstr "RSA (फक्त ऐंक्रीप्ट)" + +#: ../pgp/seahorse-gpgme-add-uid.c:85 +msgid "Couldn't add user id" +msgstr "वापरकर्ता id जोडू शकत नाही" + +#: ../pgp/seahorse-gpgme-add-uid.c:107 +#, c-format +msgid "Add user ID to %s" +msgstr "%s करीता वापरकर्ता ID जोडा" + +#: ../pgp/seahorse-gpgme.c:51 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "डीक्रीप्शन अपयशी. तुमच्याकडे सहाजीकच डीक्रीप्शन किल्ली नाही." + +#: ../pgp/seahorse-gpgme-expires.c:58 +msgid "Invalid expiry date" +msgstr "अवैध मुदत समाप्ती दिनांक" + +#: ../pgp/seahorse-gpgme-expires.c:59 +msgid "The expiry date must be in the future" +msgstr "मुदत समाप्ती दिनांक भविष्यात असायला हवे" + +#: ../pgp/seahorse-gpgme-expires.c:72 +msgid "Couldn't change expiry date" +msgstr "मुदत समाप्ती दिनांक बदलवू शकले नाही" + +#: ../pgp/seahorse-gpgme-expires.c:131 +#, c-format +msgid "Expiry: %s" +msgstr "मुदत समाप्ती: %s" + +#: ../pgp/seahorse-gpgme-generate.c:65 +msgid "PGP Key" +msgstr "PGP किल्ली" + +#: ../pgp/seahorse-gpgme-generate.c:66 +msgid "Used to encrypt email and files" +msgstr "ईमेल व फाइल ऐंक्रीप्ट करण्याकरीता वापरले जाते" + +#: ../pgp/seahorse-gpgme-generate.c:95 +msgid "DSA Elgamal" +msgstr "DSA Elgamal" + +#: ../pgp/seahorse-gpgme-generate.c:106 +msgid "Couldn't generate PGP key" +msgstr "PGP किल्ली बनवू शकत नाही" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "नवीन PGP किल्ली करीता वाक्यरचना" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "नवीन किल्ली करीता वाक्यरचना दोनवेळा प्रविष्ट करा." + +#: ../pgp/seahorse-gpgme-generate.c:223 +msgid "Couldn't generate key" +msgstr "किल्ली बनवू शकले नाही" + +#: ../pgp/seahorse-gpgme-generate.c:225 +msgid "Generating key" +msgstr "किल्ली बनवीत आहे" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"हे छायाचित्र खूप मोठे आहे\n" +"सूचविलेले छायाचित्राचे आकार तुमच्या किल्लीवर %d x %d पीक्सेल असे आहे." + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "आकार बदलवू नका (_D)" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "आकार बदला (_R)" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"ही प्रतिमा फाइल नाही, किंवा परिचीत प्रतिमा फाइल नाही. JPEG प्रतिमा वापरण्याचा " +"प्रयत्न करा." + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "सर्व प्रतिमा फाइलं" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "सर्व JPEG फाइलं" + +#: ../pgp/seahorse-gpgme-photos.c:261 +msgid "Choose Photo to Add to Key" +msgstr "किल्लीकरीता जोडण्याजोगी छायाचित्र निवडा" + +#: ../pgp/seahorse-gpgme-photos.c:290 ../pgp/seahorse-gpgme-photos.c:294 +msgid "Couldn't add photo" +msgstr "छायाचित्र जोडू शकले नाही" + +#: ../pgp/seahorse-gpgme-photos.c:291 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "फाइल दाखल करू शकले नाही. ते अवैध स्वरूप असू शकते" + +#: ../pgp/seahorse-gpgme-photos.c:320 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "तुम्हाला नक्की तुमच्या किल्ली मधून सद्याचे छायाचित्र काढूण टाकायचे?" + +#: ../pgp/seahorse-gpgme-photos.c:333 +msgid "Couldn't delete photo" +msgstr "छायाचित्र काढू शकले नाही" + +#: ../pgp/seahorse-gpgme-revoke.c:70 +msgid "Couldn't revoke subkey" +msgstr "उपकि पुन्ह प्राप्त करणे अशक्य" + +#: ../pgp/seahorse-gpgme-revoke.c:91 +#, c-format +msgid "Revoke: %s" +msgstr "पुन्ह प्राप्य: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:102 +msgid "No reason" +msgstr "कारण नाही" + +#: ../pgp/seahorse-gpgme-revoke.c:103 +msgid "No reason for revoking key" +msgstr "किल्ली पुन्ह प्राप्त करीता कारण नाही" + +#: ../pgp/seahorse-gpgme-revoke.c:109 +msgid "Compromised" +msgstr "तडजोड केले" + +#: ../pgp/seahorse-gpgme-revoke.c:110 +msgid "Key has been compromised" +msgstr "किल्ली करीता तडजोड" + +#: ../pgp/seahorse-gpgme-revoke.c:116 +msgid "Superseded" +msgstr "बदलविले गेले" + +#: ../pgp/seahorse-gpgme-revoke.c:117 +msgid "Key has been superseded" +msgstr "किल्ली बदलविले गेले" + +#: ../pgp/seahorse-gpgme-revoke.c:123 +msgid "Not Used" +msgstr "वापरले जात नाही" + +#: ../pgp/seahorse-gpgme-revoke.c:124 +msgid "Key is no longer used" +msgstr "किल्ली यापुढे वापरली जात नाही" + +#: ../pgp/seahorse-gpgme-revoke.c:161 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"तुम्ही %s करीता %s यास पुन्हप्राप्तिकर्ता म्हणून जोडणार आहात. ही कार्यपध्दती पुन्हा करू " +"शकत नाही! तुम्हाला नक्की पुढे जायचे आहे का?" + +#: ../pgp/seahorse-gpgme-revoke.c:173 +msgid "Couldn't add revoker" +msgstr "पुन्ह प्राप्ति जोडू शकले नाही" + +#: ../pgp/seahorse-gpgme-sign.c:96 +msgid "Couldn't sign key" +msgstr "किल्ली स्वाक्षरी करू शकले नाही" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:149 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "स्वाक्षरी करीता किल्ली वापरू नका" + +#: ../pgp/seahorse-gpgme-sign.c:150 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "तुमच्याकडे व्यक्तिगत PGP किल्ली नाही ज्याचा वापर तुमचा या किल्लीवरचा विश्वास दर्शवितो." + +#: ../pgp/seahorse-gpgme-source.c:99 +#, c-format +msgid "Wrong passphrase." +msgstr "चूकीची वाक्यरचना." + +#: ../pgp/seahorse-gpgme-source.c:103 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "'%s' करीता नवीन वाक्यरचना प्रविष्ट करा" + +#: ../pgp/seahorse-gpgme-source.c:105 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "'%s' करीता वाक्यरचना प्रविष्ट करा" + +#: ../pgp/seahorse-gpgme-source.c:108 +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Enter new passphrase" +msgstr "नवीन पासवर्ड प्रविष्ट करा" + +#: ../pgp/seahorse-gpgme-source.c:110 +msgid "Enter passphrase" +msgstr "गुप्तवाक्यरचन प्रविष्ट करा" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../pgp/seahorse-gpgme-source.c:722 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d किल्ली दाखल करा" +msgstr[1] "%d किल्ली दाखल करा" + +#: ../pgp/seahorse-gpgme-source.c:777 +msgid "Loading Keys..." +msgstr "किल्ली दाखल करीत आहे..." + +#: ../pgp/seahorse-gpgme-source.c:820 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"अवैध किल्ली माहिती (UID आढळले नाही). संगणकाला भविष्यातील दिनांक निश्चित केल्यास किंवा " +"आपोआप-स्वाक्षरी न आढळल्यास वरील होऊ शकते." + +#: ../pgp/seahorse-gpgme-source.c:910 ../src/seahorse-key-manager.c:538 +msgid "Importing Keys" +msgstr "किल्ली प्राप्त करीत आहे" + +#: ../pgp/seahorse-gpgme-source.c:946 +msgid "Exporting Keys" +msgstr "किल्ली पाठवित आहे" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:330 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "शोध निश्चित नाही. सर्वर '%s' ने खूप जास्तीचे किल्ली शोधून काढले." + +#: ../pgp/seahorse-hkp-source.c:332 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "सर्वर '%s' शी संपर्क साधू शकले नाही: %s" + +#: ../pgp/seahorse-hkp-source.c:576 +msgid "Searching for keys..." +msgstr "किल्ली करीता शोधत आहे..." + +#: ../pgp/seahorse-hkp-source.c:647 +msgid "Uploading keys..." +msgstr "किल्ली अद्ययावत करीत आहे..." + +#: ../pgp/seahorse-hkp-source.c:725 +msgid "Retrieving keys..." +msgstr "किल्ली प्राप्त करीत आहे..." + +#: ../pgp/seahorse-hkp-source.c:831 +#, c-format +msgid "Searching for keys on: %s" +msgstr "किल्ली करीता शोधत आहे: %s" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../pgp/seahorse-hkp-source.c:908 ../pgp/seahorse-hkp-source.c:981 +#: ../pgp/seahorse-ldap-source.c:668 +#, c-format +msgid "Connecting to: %s" +msgstr "जुळवणी करीत आहे: %s" + +#: ../pgp/seahorse-hkp-source.c:1005 +msgid "HTTP Key Server" +msgstr "HTTP किल्ली सर्वर" + +#: ../pgp/seahorse-ldap-source.c:459 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "'%s' शी संपर्क साधत आहे: %s" + +#: ../pgp/seahorse-ldap-source.c:641 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "पत्ता निर्धारीत करू शकले नाही: %s" + +#: ../pgp/seahorse-ldap-source.c:719 +#, c-format +msgid "Resolving server address: %s" +msgstr "सर्वर पत्ता निर्धारण करीत आहे: %s" + +#: ../pgp/seahorse-ldap-source.c:955 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "'%s' समाविष्टीत किल्ली करीता शोधत आहे..." + +#: ../pgp/seahorse-ldap-source.c:983 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "किल्ली id '%s' करीता शोधत आहे..." + +#: ../pgp/seahorse-ldap-source.c:1089 +msgid "Retrieving remote keys..." +msgstr "दूरस्थ किल्ली प्राप्त करीत आहे..." + +#: ../pgp/seahorse-ldap-source.c:1221 +msgid "Sending keys to key server..." +msgstr "किल्ली सर्वर करीता किल्ली पाठवित आहे..." + +#: ../pgp/seahorse-ldap-source.c:1423 +msgid "LDAP Key Server" +msgstr "LDAP किल्ली सर्वर" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "_Sign Key..." +msgstr "स्वाक्षरी कि (_S)..." + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "Sign public key" +msgstr "स्वाक्षरी सार्वजनीक किल्ली" + +#: ../pgp/seahorse-pgp-commands.c:171 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "तुम्हाला नक्की %s काढूण टाकायचे?" + +#: ../pgp/seahorse-pgp-commands.c:176 +#, c-format +msgid "Are you sure you want to permanently delete %d keys and identities?" +msgstr "तुम्हाला नक्की %d कि व ओळख नेहमीकरीता काढूण टाकायचे?" + +#: ../pgp/seahorse-pgp-commands.c:178 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgstr "तुम्हाला नक्की %d कि नेहमीकरीता काढूण टाकायचे?" + +#: ../pgp/seahorse-pgp-commands.c:180 +#, c-format +msgid "Are you sure you want to permanently delete %d identities?" +msgstr "तुम्हाला नक्की %d ओळख नेहमीकरीता काढूण टाकायचे?" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "_Advanced key options" +msgstr "प्रगत किल्ली पर्याय (_A)" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP किल्ली तुम्हाला इतर व्यक्तींकरीता ईमेल किंवा फाइल ऐंक्रीप्ट करण्यास परवानगी देतो." + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "Algorithms here" +msgstr "अल्गॉरीथम येथे आहे" + +#: ../pgp/seahorse-pgp-generate.xml.h:4 +msgid "C_reate" +msgstr "निर्माण करा(_r)" + +#: ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "E_xpiration Date:" +msgstr "दिनांक मुदत समाप्ती (_x):" + +#: ../pgp/seahorse-pgp-generate.xml.h:6 ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "Encryption _Type:" +msgstr "ऐंक्रीप्शन प्रकार (_T):" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Generate a new key" +msgstr "नवीन किल्ली बनवा" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Key _Strength (bits):" +msgstr "किल्लीची बळकटता (बीट) (_S):" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +msgid "Ne_ver Expires" +msgstr "कधीच कालबाह्य होऊ नका (_v)" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "New PGP Key" +msgstr "नवीन PGP किल्ली" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +msgid "_Comment:" +msgstr "टिपण्णी (_C):" + +#: ../pgp/seahorse-pgp-key.c:201 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Private PGP Key" +msgstr "व्यक्तिगत PGP किल्ली" + +#: ../pgp/seahorse-pgp-key.c:204 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "Public PGP Key" +msgstr "सार्वजनीक PGP किल्ली" + +#: ../pgp/seahorse-pgp-key.c:583 ../pgp/seahorse-pgp-key-properties.c:1347 +msgid "Expired" +msgstr "कालबाह्य झाले" + +#: ../pgp/seahorse-pgp-key-properties.c:224 +msgid "Couldn't change primary user ID" +msgstr "प्राथमीक वापरकर्ता ID बदलवू शकले नाही" + +#: ../pgp/seahorse-pgp-key-properties.c:241 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "तुम्हाला नक्की '%s' वापरकर्ता ID किल्ली नेहमीकरीता काढूण टाकायचे?" + +#: ../pgp/seahorse-pgp-key-properties.c:251 +msgid "Couldn't delete user ID" +msgstr "वापरकर्ता id काढू शकले नाही" + +#: ../pgp/seahorse-pgp-key-properties.c:333 +#: ../pgp/seahorse-pgp-key-properties.c:1462 +msgid "[Unknown]" +msgstr "[अपरिचीत]" + +#: ../pgp/seahorse-pgp-key-properties.c:426 +#: ../pgp/seahorse-pgp-key-properties.c:1740 +msgid "Name/Email" +msgstr "नाव/ईमेल" + +#: ../pgp/seahorse-pgp-key-properties.c:431 +msgid "Signature ID" +msgstr "स्वाक्षरी ID" + +#: ../pgp/seahorse-pgp-key-properties.c:552 +msgid "Couldn't change primary photo" +msgstr "प्राथमीक छायाचित्र बदलवू शकले नाही" + +#: ../pgp/seahorse-pgp-key-properties.c:775 +msgid "(unknown)" +msgstr "(अनोळखी)" + +#: ../pgp/seahorse-pgp-key-properties.c:778 +#, c-format +msgid "This key expired on: %s" +msgstr "ही किल्ली यावेळी कालबाह्य झाली: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:946 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "तुम्हाला %2$s पैकी नक्की नेहमीकरीता %1$d उपकिल्ली काढूण टाकायचे?" + +#: ../pgp/seahorse-pgp-key-properties.c:955 +msgid "Couldn't delete subkey" +msgstr "उपकिल्ली काढू शकत नाही" + +#: ../pgp/seahorse-pgp-key-properties.c:991 +#: ../pgp/seahorse-pgp-key-properties.c:1425 +msgid "Unable to change trust" +msgstr "विश्वासर्हता बदलवू शकले नाही" + +#: ../pgp/seahorse-pgp-key-properties.c:1005 ../src/seahorse-viewer.c:315 +#: ../ssh/seahorse-ssh-key-properties.c:167 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "\"%s\" करीता किचे स्वरूप बदलवणे अशक्य" + +#: ../pgp/seahorse-pgp-key-properties.c:1033 +#: ../ssh/seahorse-ssh-key-properties.c:191 +msgid "Export Complete Key" +msgstr "ऐक्सपोर्ट पूर्ण झाले किल्ली" + +#: ../pgp/seahorse-pgp-key-properties.c:1058 +#: ../ssh/seahorse-ssh-key-properties.c:213 +msgid "Couldn't export key." +msgstr "कि एक्सपोर्ट करू शकले नाही." + +#: ../pgp/seahorse-pgp-key-properties.c:1265 +#: ../pgp/seahorse-pgp-key-properties.c:1354 +msgctxt "Expires" +msgid "Never" +msgstr "कधिच नाही" + +#. The key type column +#: ../pgp/seahorse-pgp-key-properties.c:1315 +#: ../src/seahorse-key-manager-store.c:859 +msgid "Type" +msgstr "प्रकार" + +#: ../pgp/seahorse-pgp-key-properties.c:1318 +msgid "Created" +msgstr "निर्मित" + +#: ../pgp/seahorse-pgp-key-properties.c:1321 +msgid "Expires" +msgstr "कालबाह्य" + +#: ../pgp/seahorse-pgp-key-properties.c:1324 +msgid "Status" +msgstr "स्थिती" + +#: ../pgp/seahorse-pgp-key-properties.c:1327 +msgid "Strength" +msgstr "बळकटता" + +#: ../pgp/seahorse-pgp-key-properties.c:1351 +msgid "Good" +msgstr "चांगले" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +msgid "Actions" +msgstr "कृती" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgid "Comment:" +msgstr "टिपण्णी:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgid "Dates" +msgstr "दिनांक" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgid "Email:" +msgstr "ईमेल:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgid "Fingerprint" +msgstr "ठस्सा" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +msgid "Key ID:" +msgstr "किल्ली ID:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +msgid "Key Names and Signatures" +msgstr "किल्ली नाव व स्वाक्षरी" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Name:" +msgstr "नाव:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "Photo " +msgstr "छायाचित्र " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Technical Details" +msgstr "तांत्रिक तपशील" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:10 +msgid "This key has been revoked" +msgstr "ही किल्ली पुन्हा प्राप्त केली गेली" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "This key has expired" +msgstr "ही किल्ली कालबाह्य झाली" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:12 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Type:" +msgstr "प्रकार:" + +#. To translators: This is the noun not the verb. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:15 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +#: ../ssh/seahorse-ssh-key-properties.xml.h:13 +msgid "Use:" +msgstr "वापर:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "_Subkeys" +msgstr "उपकिल्ली (_S)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +msgid "Add" +msgstr "समावेष करा" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:18 +msgid "Add a photo to this key" +msgstr "या किल्ली करीता छायाचित्र जोडा" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Change _Passphrase" +msgstr "वाक्यरचना बदलवा (_P)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +msgid "Decrypt files and email sent to you." +msgstr "फाइल व तुम्हाला पाठविलेला इमेल डीक्रीप्ट करा." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:22 +msgid "Delete" +msgstr "हटवा" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +msgid "Expire" +msgstr "कालबाह्य" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:22 +msgid "Expires:" +msgstr "बाद:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Export" +msgstr "पाठवा" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +msgid "Go to next photo" +msgstr "पुढच्या छायाचित्राकडे जा" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Go to previous photo" +msgstr "पूर्वीच्या छायाचित्राकडे जा" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +msgid "Key ID:" +msgstr "किल्ली ID:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Make this photo the primary photo" +msgstr "या छायाचित्रास प्राथमीक छायाचित्र बनवा" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "Names and Signatures" +msgstr "नाव न स्वाक्षरी" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#| msgctxt "Validity" +#| msgid "Never" +msgid "Never" +msgstr "कधिच नाही" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:36 +msgid "Override Owner _Trust:" +msgstr "मालकीची यादी खोडून लिहा (_T):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "Owner" +msgstr "मालक" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +msgid "Primary" +msgstr "प्राथमीक" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Remove this photo from this key" +msgstr "या किल्ली पासून हे छायाचित्र काढूण टाका" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +msgid "Revoke" +msgstr "पुन्ह प्राप्त करा" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +msgid "Sign" +msgstr "स्वाक्षरी" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "Strength:" +msgstr "बळकटता:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "किल्लीच्या मालकाने किल्ली पुन्ह प्राप्त केले. त्यास यापुढे वापरले जाऊ शकत नाही." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "_Add Name" +msgstr "नाव जोडा (_A)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "_Export Complete Key:" +msgstr "पूर्णतया किल्ली पाठवा (_E):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgid "Dates:" +msgstr "दिनांक:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +#: ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Fingerprint:" +msgstr "ठस्सा:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgid "Indicate Trust:" +msgstr "विश्वास दर्शवितो:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Your trust of this key" +msgstr "तुमचे या किल्लीवरचा विश्वास" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:16 +msgid "_Other Names:" +msgstr "इतर नाव (_O):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgid "_People who have signed this key:" +msgstr "व्यक्ति ज्यांनी ही किल्ली स्वाक्षरीत केली (_P):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Encrypt files and email to the key's owner " +msgstr "फाइल ऐंक्रीप्ट करा व किल्लीच्या मालकास मेल करा " + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +#| msgid "Full" +msgid "Fully" +msgstr "पूर्णतया" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "इतर कि करीता '%s' पासूनचे स्वाक्षरींवर विश्वास आहे" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:27 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "ही किल्ली '%s' चे आहे असे विश्वास असल्यास, ही किल्ली स्वाक्षरीत करा:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:29 +#, no-c-format +msgid "If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "ही किल्ली '%s' च्या मालकीचे नसल्याचे विश्वास असल्यास, स्वाक्षरी पुन्ह प्राप्त करा:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:32 +#| msgid "Marginal" +msgid "Marginally" +msgstr "किंचीत" + +#. Trust column +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../src/seahorse-key-manager-store.c:853 +msgid "Trust" +msgstr "विश्वासर्ह" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#| msgid "Ultimate" +msgid "Ultimately" +msgstr "शेवटी" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "You _Trust the Owner:" +msgstr "मालकीवर विश्वास आहे (_T):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Your trust is manually specified on the Details tab." +msgstr "तुमचा विश्वास तपशील टॅब वर निर्धारीत केले गेले आहे." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "_Only display the signatures of people I trust" +msgstr "फक्त विश्वार्ह व्यक्तींचे स्वाक्षरी दाखवा (_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "_Revoke Signature" +msgstr "स्वाक्षरी पुन्ह प्राप्त करा (_R)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Sign this Key" +msgstr "किल्ली स्वाक्षरीत करा (_S)" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "%2$s चे उप कि %1$d" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Optional description of revocation" +msgstr "पुन्ह प्राप्ती करीता वैक्लपीक वर्णन" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "Re_voke" +msgstr "पुन्ह प्राप्त करा (_v)" + +#: ../pgp/seahorse-revoke.xml.h:3 +msgid "Reason for revoking the key" +msgstr "किल्ली पुन्हप्राप्त करण्याकरीताचे कारण" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "_Reason:" +msgstr "कारण (_R):" + +#: ../pgp/seahorse-signer.c:62 +msgid "You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"तुमच्याकडे व्यक्तिगत PGP किल्ली नाही ज्याचा वापर दस्तऐवज किंवा संदेश स्वाक्षरी करीता " +"वापरले जाईल." + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "How carefully have you checked this key?" +msgstr "ही किल्ली तुम्ही किती काळीजीपूर्वक तपासले?" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "How others will see this signature:" +msgstr "इतर ही स्वाक्षरी कसे पाहू शकतील:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Sign key as:" +msgstr "स्वाक्षरी किल्ली यानुरूप:" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone. " +msgstr "" +"तात्पुर्ते: म्हणजे तुम्ही साधारण तपासणी केली आहे ज्यामध्ये किल्ली जोकोणी विनापुरवठा " +"दावा करतो ती किल्ली त्याच्या मालकीचे होते. उदाहरणार्थ, तुम्ही किल्लीचा ठस्सा त्याच्या " +"मालकास फोन वरू देऊ शकता. " + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "Key Name" +msgstr "किल्ली नाव" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"नाही: म्हणजे तुमचा असा अनुमान आहे की किल्लीची मालकी दावा करणाऱ्या व्यक्तिचे आहे, " +"पण तुम्हीहे ठामपणे विचार करत आहात असे दिसून येत नाही." + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"खूप काळजीपूर्वक: ही किल्ली विश्वासर्ह असल्यावरच व पूर्णतया खात्री असल्यावरच " +"निवडा." + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "स्वाक्षरी केल्याने तुम्ही या किल्लीच्या मालकीकरीता विश्वास दर्शवीत आहे:" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "I can _revoke this signature at a later date." +msgstr "मी ही स्वाक्षरी पुढच्या दिनांक पर्यंत पुन्ह प्राप्त करू शकतो (_r)." + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "Sign Key" +msgstr "स्वाक्षरी कि" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"किल्लीवरील नाव बीनचूकीचे आहे हे तपासण्याकरीता तुम्ही नक्कल करण्यास कठिण असे छायाचित्र " +"ओळख (जसे की पासपोर्ट) वापरू शकता. इमेल पत्ता मालकीची आहे हे तपासण्याकरीता तुम्हाला " +"ईमेलचा वापर करायला पाहिजे होता." + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "_Casually" +msgstr "तात्पुरर्ते (_C)" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Not at all" +msgstr "नाही (_N)" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "_Others may not see this signature" +msgstr "इतर ही स्वाक्षरी पाहू शकणार नाही (_O)" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "_Sign" +msgstr "स्वाक्षरी (_S)" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "स्वाक्षरीकर्ता (_S):" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Very Carefully" +msgstr "खूप काळजीने (_V)" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "संदेश किल्लीसह स्वाक्षरी करा (_S):" + +#: ../pkcs11/seahorse-pkcs11-certificate.c:107 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:68 +msgid "Certificate" +msgstr "प्रमाणपत्र" + +#: ../pkcs11/seahorse-pkcs11-commands.c:108 +#, c-format +msgid "Are you sure you want to delete the certificate '%s'?" +msgstr "तुम्हाला नक्की प्रमाणपत्र '%s' काढूण टाकायचे?" + +#: ../pkcs11/seahorse-pkcs11-commands.c:111 +#, c-format +msgid "Are you sure you want to delete %d certificate?" +msgid_plural "Are you sure you want to delete %d certificates?" +msgstr[0] "तुम्हाला नक्की %d प्रमाणपत्र काढूण टाकायचे?" +msgstr[1] "तुम्हाला नक्की %d प्रमाणपत्र काढूण टाकायचे?" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "वाक्यरचना बदलवा" + +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Con_firm Passphrase:" +msgstr "वाक्यरचना निश्चत करा (_f):" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "Confirm new passphrase" +msgstr "नवीन वाक्यरचना निश्चत करा" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "New _Passphrase:" +msgstr "नवीन वाक्यरचना (_P):" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "तुमचे पासवर्ड व ऐंक्रीप्शन किल्ली नियंत्रीत करा" + +#: ../src/seahorse.desktop.in.in.h:2 ../src/seahorse-key-manager.c:853 +msgid "Passwords and Encryption Keys" +msgstr "पासवर्ड व ऐंक्रीप्शन किल्ली" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "बनविण्याजोगी घटकाचा प्रकार निवडा (_S):" + +#: ../src/seahorse-generate-select.xml.h:2 +msgid "C_ontinue" +msgstr "पुढे चला (_o)" + +#: ../src/seahorse-generate-select.xml.h:3 +msgid "Create New ..." +msgstr "नवीन बनवा..." + +#: ../src/seahorse-key-manager.c:233 ../src/seahorse-keyserver-results.c:108 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "%d किल्ली निवडले" +msgstr[1] "%d किल्ली निवडले" + +#: ../src/seahorse-key-manager.c:404 ../src/seahorse-key-manager.c:464 +#: ../src/seahorse-key-manager.c:527 ../src/seahorse-viewer.c:482 +msgid "Couldn't import keys" +msgstr "किल्ली प्राप्त करू शकले नाही" + +#: ../src/seahorse-key-manager.c:409 ../src/seahorse-viewer.c:487 +msgid "Imported keys" +msgstr "इम्पोर्ट केलेले कि" + +#: ../src/seahorse-key-manager.c:458 +msgid "Importing keys" +msgstr "कि प्राप्त करीत आहे" + +#: ../src/seahorse-key-manager.c:481 ../ssh/seahorse-ssh-operation.c:1017 +msgid "Import Key" +msgstr "किल्ली प्राप्त करा" + +#: ../src/seahorse-key-manager.c:527 +msgid "Unrecognized key type, or invalid data format" +msgstr "अपरिचीत किल्ली प्रकार, किंवा अवैध माहिती स्वरूप" + +#: ../src/seahorse-key-manager.c:721 ../src/seahorse-keyserver-results.c:207 +msgid "_Remote" +msgstr "दूरस्थ (_R)" + +#: ../src/seahorse-key-manager.c:723 +msgid "Close this program" +msgstr "या कार्यक्रम निवडा" + +#: ../src/seahorse-key-manager.c:724 +msgid "_New..." +msgstr "नवीन (_N)..." + +#: ../src/seahorse-key-manager.c:725 +msgid "Create a new key or item" +msgstr "नवीन कि किंवा घटक बनवा" + +#: ../src/seahorse-key-manager.c:726 +msgid "_Import..." +msgstr "आयात करा (_I)..." + +#: ../src/seahorse-key-manager.c:727 +msgid "Import from a file" +msgstr "फाइल पासून आयात करा" + +#: ../src/seahorse-key-manager.c:729 +msgid "Import from the clipboard" +msgstr "क्लिपबोर्ड पासून आयात करा" + +#: ../src/seahorse-key-manager.c:734 ../src/seahorse-keyserver-results.c:217 +msgid "_Find Remote Keys..." +msgstr "दूरस्थ किल्ली शोधा (_F)..." + +#: ../src/seahorse-key-manager.c:735 ../src/seahorse-keyserver-results.c:218 +msgid "Search for keys on a key server" +msgstr "किल्ली सर्वर वरील किल्ली शोधा" + +#: ../src/seahorse-key-manager.c:736 +msgid "_Sync and Publish Keys..." +msgstr "किल्ली जुळवा व प्रकाशीत करा (_S)..." + +#: ../src/seahorse-key-manager.c:737 +msgid "Publish and/or synchronize your keys with those online." +msgstr "तुमच्या किल्ली व ऑनलाईन उपलब्ध किल्ली प्रकाशीत व/किंवा जुळवणी करा." + +#: ../src/seahorse-key-manager.c:742 +msgid "T_ypes" +msgstr "प्रकार (_y)" + +#: ../src/seahorse-key-manager.c:742 +msgid "Show type column" +msgstr "प्रकार स्तंभ दाखवा" + +#: ../src/seahorse-key-manager.c:744 +msgid "_Expiry" +msgstr "मुदत समाप्ती (_E)" + +#: ../src/seahorse-key-manager.c:744 +msgid "Show expiry column" +msgstr "मुदत समाप्ती स्तंभ दाखवा" + +#: ../src/seahorse-key-manager.c:746 +msgid "_Trust" +msgstr "विश्वास (_T)" + +#: ../src/seahorse-key-manager.c:746 +msgid "Show owner trust column" +msgstr "मालकी विश्वास स्तंभ दाखवा" + +#: ../src/seahorse-key-manager.c:748 +msgid "_Validity" +msgstr "वैधता (_V)" + +#: ../src/seahorse-key-manager.c:748 +msgid "Show validity column" +msgstr "वैधता स्तंभ दाखवा" + +#: ../src/seahorse-key-manager.c:922 +msgid "Filter:" +msgstr "गाळण:" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "प्रारंभ वेळ पर्याय:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "नवीन किल्ली स्वतः बनवा: " + +#: ../src/seahorse-key-manager.xml.h:3 +msgid "Import existing keys from a file:" +msgstr "फाइल पासून अस्तित्वातील किल्ली प्राप्त करा:" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "My _Personal Keys" +msgstr "माझे व्यक्तिगत किल्ली (_P)" + +#: ../src/seahorse-key-manager.xml.h:5 +#| msgid "Other _Collected Keys" +msgid "Other _Keys" +msgstr "इतर किज् (_K)" + +#: ../src/seahorse-key-manager.xml.h:6 +msgid "To get started with encryption you will need keys." +msgstr "ऐंक्रीप्शन पासून सुरू करण्याकरीता तुम्हाला किल्लींची आवश्यकता भासेल." + +#: ../src/seahorse-key-manager.xml.h:7 ../src/seahorse-viewer.c:546 +msgid "_Import" +msgstr "प्राप्त करा (_I)" + +#: ../src/seahorse-key-manager.xml.h:8 +msgid "_Passwords" +msgstr "पासवर्ड (_P)" + +#: ../src/seahorse-key-manager-store.c:648 ../src/seahorse-viewer.c:282 +msgid "Couldn't export keys" +msgstr "किल्ली पाठवू शकले नाही" + +#: ../src/seahorse-key-manager-store.c:846 +msgid "Validity" +msgstr "वैधता" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:865 +msgid "Expiration Date" +msgstr "कालबाह्य दिनांक" + +#: ../src/seahorse-keyserver-results.c:209 +msgid "Close this window" +msgstr "हा विंडो बंद करा" + +#: ../src/seahorse-keyserver-results.c:210 +msgid "_Expand All" +msgstr "सर्व विस्तारीत कराविस्तार करा (_E)" + +#: ../src/seahorse-keyserver-results.c:211 +msgid "Expand all listings" +msgstr "सर्व यादीचे विस्तार करा" + +#: ../src/seahorse-keyserver-results.c:212 +msgid "_Collapse All" +msgstr "सर्व नष्ट करा (_C)" + +#: ../src/seahorse-keyserver-results.c:213 +msgid "Collapse all listings" +msgstr "सर्व यादी नष्ट करा" + +#: ../src/seahorse-keyserver-results.c:275 +msgid "Remote Keys" +msgstr "दूरस्थ किल्ली" + +#: ../src/seahorse-keyserver-results.c:277 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "'%s' समाविष्टीत दूरस्थ किल्ली" + +#: ../src/seahorse-keyserver-search.xml.h:1 +msgid "Key Servers:" +msgstr "किल्ली सर्वर:" + +#: ../src/seahorse-keyserver-search.xml.h:2 +msgid "Shared Keys Near Me:" +msgstr "माझ्या जवळील सहभागीय किल्ली:" + +#: ../src/seahorse-keyserver-search.xml.h:3 +msgid "Find Remote Keys" +msgstr "दूरस्थ किल्ली शोधा" + +#: ../src/seahorse-keyserver-search.xml.h:4 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"हे महाजाळवरील इतर वापरकर्त्यास किल्ली शोधण्यास मदत करते. ही किल्ली नंतर तुमच्या स्थानीक " +"किरींग मध्ये प्राप्त केले जाते." + +#: ../src/seahorse-keyserver-search.xml.h:5 +msgid "Where to search:" +msgstr "कुठे शोधायचे:" + +#: ../src/seahorse-keyserver-search.xml.h:6 +msgid "_Search" +msgstr "शोधा(_S)" + +#: ../src/seahorse-keyserver-search.xml.h:7 +msgid "_Search for keys containing: " +msgstr "किल्ली मध्ये समाविष्टीत करीता शोधा (_S): " + +#: ../src/seahorse-keyserver-sync.c:45 +msgid "Couldn't publish keys to server" +msgstr "सर्वर करीता किल्ली पाठवू शकले नाही" + +#: ../src/seahorse-keyserver-sync.c:61 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "सर्वर पासून किल्ली प्राप्त करीत आहे: %s" + +#: ../src/seahorse-keyserver-sync.c:155 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d किल्ली जुळवणी करीता निवडले गेले आहे" +msgstr[1] "%d किल्ली जुळवणी करीता निवडले गेले आहे" + +#: ../src/seahorse-keyserver-sync.c:216 +msgid "Synchronizing keys" +msgstr "किल्ली जुळवीत आहे" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:248 +msgid "Synchronizing keys..." +msgstr "किल्ली जुळवीत आहे..." + +#: ../src/seahorse-keyserver-sync.xml.h:1 +msgid "X keys are selected for synchronizing" +msgstr "X किल्ली जुळवणी पासून निवडले गेले" + +#: ../src/seahorse-keyserver-sync.xml.h:2 +msgid "Sync Keys" +msgstr "Sync किल्ली" + +#: ../src/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"यामुळे तुमच्या किरींग करीता किल्ली प्रकाशीत केले जाईल जी इतरांना वापरण्यास उपलब्ध होतील. " +"इतरांची किल्ली तुमच्याकडे असल्यामुळे तुम्हाच्याकडे जास्त पर्याय उपलब्ध रहातात." + +#: ../src/seahorse-keyserver-sync.xml.h:4 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"इतरांची किल्ली असल्यामुळे इतरांनी केलेले बदल तुम्ही प्राप्त करू शकता. प्रकाशन करीता किल्ली " +"सर्वर न निवडल्यास, तुमच्या किल्ली इतरांना प्राप्त होणार नाही." + +#: ../src/seahorse-keyserver-sync.xml.h:5 +msgid "_Key Servers" +msgstr "किल्ली सर्वर (_K)" + +#: ../src/seahorse-keyserver-sync.xml.h:6 +msgid "_Sync" +msgstr "Sync (_S)" + +#: ../src/seahorse-main.c:62 +msgid "Version of this application" +msgstr "या ऍप्लिकेशनची आवृत्ती" + +#: ../src/seahorse-main.c:78 ../src/seahorse-viewer.c:170 +msgid "Encryption Key Manager" +msgstr "किल्ली व्यवस्थापक" + +#: ../src/seahorse-viewer.c:141 +msgid "Contributions:" +msgstr "योगदान:" + +#: ../src/seahorse-viewer.c:172 +msgid "translator-credits" +msgstr "संदिप शेडमाके , 2008, 2009. संदिप शेडमाके , 2009." + +#: ../src/seahorse-viewer.c:175 +msgid "Seahorse Project Homepage" +msgstr "Seahorse प्रकल्पाचे मुख्यपान" + +#. Top menu items +#: ../src/seahorse-viewer.c:194 +msgid "_File" +msgstr "फाइल (_F)" + +#: ../src/seahorse-viewer.c:195 +msgid "_Edit" +msgstr "संपादीत करा (_E)" + +#: ../src/seahorse-viewer.c:196 +msgid "_View" +msgstr "अवलोकन (_V)" + +#: ../src/seahorse-viewer.c:197 +msgid "_Help" +msgstr "मदत (_H)" + +#: ../src/seahorse-viewer.c:199 +msgid "Prefere_nces" +msgstr "आवड निवड (_n)" + +#: ../src/seahorse-viewer.c:200 +msgid "Change preferences for this program" +msgstr "या कार्यक्रम करीता आडव निवड बदला" + +#: ../src/seahorse-viewer.c:203 +msgid "About this program" +msgstr "या कार्यक्रम विषयी" + +#: ../src/seahorse-viewer.c:204 +msgid "_Contents" +msgstr "अंतर्भूत माहिती (_C)" + +#: ../src/seahorse-viewer.c:205 +msgid "Show Seahorse help" +msgstr "Seahorse मदत दाखवा" + +#: ../src/seahorse-viewer.c:302 +msgid "Export public key" +msgstr "सार्वजणीक किचे स्वरूप बदला" + +#: ../src/seahorse-viewer.c:320 +msgid "Exporting keys" +msgstr "किचे स्वरूप बदलवत आहे" + +#: ../src/seahorse-viewer.c:345 +msgid "Couldn't retrieve data from key server" +msgstr "कि सर्वर पासून डेटा प्राप्त करणे शक्य नाही" + +#. Translators: "Copied" is a verb (used as a status indicator), not an adjective for the word "keys" +#: ../src/seahorse-viewer.c:364 +msgid "Copied keys" +msgstr "किज् प्रतिकृत केले" + +#: ../src/seahorse-viewer.c:384 +msgid "Retrieving keys" +msgstr "किज् प्राप्त केले" + +#: ../src/seahorse-viewer.c:399 +msgid "Couldn't delete." +msgstr "नष्ट करणे शक्य नाही." + +#: ../src/seahorse-viewer.c:433 +msgid "Deleting..." +msgstr "नष्ट करा..." + +#: ../src/seahorse-viewer.c:459 +#, c-format +msgid "%s is a private key. Are you sure you want to proceed?" +msgstr "%s सार्वजणीक कि आहे. तुम्हाला नक्की पुढे जायचे?" + +#: ../src/seahorse-viewer.c:507 +msgid "Importing keys from key servers" +msgstr "किल्ली सर्वर पासून किल्ली प्राप्त करू शकला नाही" + +#: ../src/seahorse-viewer.c:533 +msgid "Show properties" +msgstr "गुणधर्म दाखवा" + +#: ../src/seahorse-viewer.c:534 +msgctxt "This text refers to deleting an item from its type's backing store." +msgid "_Delete" +msgstr "नष्ट करा (_D)" + +#: ../src/seahorse-viewer.c:535 +msgid "Delete selected items" +msgstr "निवडलेले घटक नष्ट करा" + +#: ../src/seahorse-viewer.c:539 +msgid "E_xport..." +msgstr "स्वरूप बदला (_I)..." + +#: ../src/seahorse-viewer.c:540 +msgid "Export to a file" +msgstr "फाइल मध्ये एक्सपोर्ट करा" + +#: ../src/seahorse-viewer.c:542 +msgid "Copy to the clipboard" +msgstr "क्लिपबोर्ड मध्ये प्रतिकृत करा" + +#: ../src/seahorse-viewer.c:547 +msgid "Import selected keys to local key ring" +msgstr "निवडलेली किल्ली स्थानीक किरींग करीता प्राप्त करा" + +#: ../ssh/seahorse-ssh-askpass.c:99 +msgid "Enter your Secure Shell passphrase:" +msgstr "सुरक्षीत शेल वाक्यरचना प्रविष्ट करा:" + +#: ../ssh/seahorse-ssh-commands.c:85 +msgid "Configure Key for _Secure Shell..." +msgstr "Secure Shell करीता किल्ली संयोजीत करा (_S)..." + +#: ../ssh/seahorse-ssh-commands.c:86 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"सार्वजनीक सुरक्षीत शेल किल्ली अन्य संगणाकावर पाठवा, व त्या किल्लीचा वापर करणारे दाखलन " +"कार्यान्वीत करा." + +#: ../ssh/seahorse-ssh-commands.c:115 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "तुम्हाला नक्की सुरक्षीत शेल किल्ली '%s' काढूण टाकायचे?" + +#: ../ssh/seahorse-ssh-commands.c:118 +#, c-format +msgid "Are you sure you want to delete %d secure shell keys?" +msgstr "तुम्हाला नक्की %d सुरक्षीत शेल किल्ली नेहमीकरीता काढूण टाकायचे?" + +#: ../ssh/seahorse-ssh-generate.c:59 ../ssh/seahorse-ssh-key.c:91 +#: ../ssh/seahorse-ssh-key.c:95 ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "Secure Shell Key" +msgstr "सुरक्षीत शेल किल्ली" + +#: ../ssh/seahorse-ssh-generate.c:60 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "अन्य संगणकच्या प्रवेश करीता वापरले जाते (उदा: टर्मीनल द्वारे)" + +#: ../ssh/seahorse-ssh-generate.c:90 +msgid "Couldn't generate Secure Shell key" +msgstr "सुरक्षा शेल किल्ली निर्मीत करू शकले नाही" + +#: ../ssh/seahorse-ssh-generate.c:205 +msgid "Creating Secure Shell Key" +msgstr "सुरक्षा शेल किल्ली बनवीत आहे" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "" +"Use your email address, and any other reminder you need about what this " +"key is for." +msgstr "" +"ईमेल पत्ता, व इतर कुठल्याही स्मरणपत्रचा वापर ही कि कशा करीता आहे ते लक्षात " +"ठेवण्याकरीता करा." + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "" +"A Secure Shell (SSH) key lets you connect securely to trusted computers " +"using SSH, without entering a different password for each of them." +msgstr "" +"Secure Shell (SSH) किल्ली तुम्हाला सुरक्षीतरित्या SSH कार्यक्षम संगणकाशी " +"विश्वासर्हरित्या जुळवणी करण्यास सहमती देते, व तेही इतर पासवर्ड प्रविष्ट न करता." + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "" +"If there is already a computer you want to use this key with, you can set up " +"that computer to recognize your key now. " +msgstr "" +"कि वापरण्याकरीता अगोदरपासूनच संगणक उपलब्ध असल्यास, तुम्ही संगणकाची मांडणी कि " +"ओळखण्याकरीता निश्चित करू शकता. " + +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "New Secure Shell Key" +msgstr "नवीन सुरक्षा शेल किल्ली" + +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "_Create and Set Up" +msgstr "बनवा व स्थापीत करा (_C)" + +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Just Create Key" +msgstr "फक्त किल्ली बनवा (_J)" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "_Key Description:" +msgstr "किल्ली विवरण (_K):" + +#: ../ssh/seahorse-ssh-key.c:87 +msgid "(Unreadable Secure Shell Key)" +msgstr "(सुरक्षीत शेल किल्ली वाचण्याजोगी नाही)" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "Invalid" +msgstr "अवैध" + +#: ../ssh/seahorse-ssh-key.c:116 +msgid "Private Secure Shell Key" +msgstr "खाजगी सुरक्षीत शेल किल्ली" + +#: ../ssh/seahorse-ssh-key.c:119 +msgid "Public Secure Shell Key" +msgstr "सार्वजनिक सुरक्षीत शेल किल्ली" + +#: ../ssh/seahorse-ssh-key-properties.c:71 +msgid "Couldn't rename key." +msgstr "किल्लीला पुन्ह नामांकीत करू शकले नही." + +#: ../ssh/seahorse-ssh-key-properties.c:112 +msgid "Couldn't change authorization for key." +msgstr "किल्ली करीता अधिप्रमाणनता बदलवू शकले नाही." + +#: ../ssh/seahorse-ssh-key-properties.c:127 +msgid "Couldn't change passphrase for key." +msgstr "कि करीता वाक्यरचना बदलविणे अशक्य." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "/home/nate/.ssh/blah_rsa" +msgstr "/home/nate/.ssh/blah_rsa" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "00:00:00:00:00" +msgstr "00:00:00:00:00" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Algorithm:" +msgstr "अल्गोरीथम:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:5 +msgid "Identifier:" +msgstr "ओळखकर्ता:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgid "Location:" +msgstr "स्थान:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:8 +msgid "Strength:" +msgstr "मजबूत:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Trust" +msgstr "विश्वास" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "हे फक्त '%s' खाते करीता लागू होते." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "E_xport Complete Key" +msgstr "पूर्णत्या किल्ली पाठवू शकले नाही (_x)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" +"या किल्लीच्या मालकाला अधिकृतरित्या या संगणकाशी जुळवणी स्थापीत करण्याची परवानगी आहे " +"(_a)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:23 +msgid "Used to connect to other computers." +msgstr "अन्य संगणकाशी जुळवणी करीता वापरले जाते." + +#: ../ssh/seahorse-ssh-operation.c:143 ../ssh/seahorse-ssh-operation.c:732 +#, c-format +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH आदेश अपरिचीतरित्या समाप्त झाले." + +#: ../ssh/seahorse-ssh-operation.c:151 ../ssh/seahorse-ssh-operation.c:739 +msgid "The SSH command failed." +msgstr "SSH आदेश अपयशी झाले." + +#: ../ssh/seahorse-ssh-operation.c:445 ../ssh/seahorse-ssh-operation.c:477 +msgid "Secure Shell key" +msgstr "सुरक्षीत शेल किल्ली" + +#: ../ssh/seahorse-ssh-operation.c:448 +msgid "Passphrase:" +msgstr "वाक्यरचना:" + +#. Just prompt over and over again +#: ../ssh/seahorse-ssh-operation.c:762 +msgid "Remote Host Password" +msgstr "दूरस्थ यजमान पासवर्ड" + +#: ../ssh/seahorse-ssh-operation.c:850 +msgid "Old Key Passphrase" +msgstr "जुनी वाक्यरचना किल्ली" + +#: ../ssh/seahorse-ssh-operation.c:851 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "करीता जुनी वाक्यरचना किल्ली दाखल करा: %s" + +#: ../ssh/seahorse-ssh-operation.c:855 +msgid "New Key Passphrase" +msgstr "नवीन वाक्यरचना किल्ली" + +#: ../ssh/seahorse-ssh-operation.c:856 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "करीता नवीन वाक्यरचना किल्ली दाखल करा: %s" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Enter Key Passphrase" +msgstr "किल्ली वाक्यरचना प्रविष्ट करा" + +#: ../ssh/seahorse-ssh-operation.c:931 +msgid "Passphrase for New Secure Shell Key" +msgstr "नवीन सुरक्षीत शेल किल्ली करीता वाक्यरचना" + +#: ../ssh/seahorse-ssh-operation.c:932 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "नवीन सुरक्षीत शेल किल्ली करीता वाक्यरचना प्रविष्ट करा." + +#: ../ssh/seahorse-ssh-operation.c:1013 +#, c-format +msgid "Importing key: %s" +msgstr "किल्ली प्राप्त करीत आहे: %s" + +#: ../ssh/seahorse-ssh-operation.c:1015 +msgid "Importing key. Enter passphrase" +msgstr "किल्ली प्राप्त करीत आहे. वाक्यरचना प्रविष्ट करा" + +#: ../ssh/seahorse-ssh-source.c:825 +msgid "No private key file is available for this key." +msgstr "या किल्ली करीता व्यक्तिगत कि फाइल उपलब्ध नाही." + +#: ../ssh/seahorse-ssh-upload.c:45 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "दूरस्थ संगणकावर सुरक्षीत शेल किल्ली संयोजीत करू शकले नाही." + +#. Show the progress window if necessary +#: ../ssh/seahorse-ssh-upload.c:181 +msgid "Configuring Secure Shell Keys..." +msgstr "सुरक्षीत शेल किल्ली संयोजीत करीत आहे..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "eg: fileserver.example.com:port" +msgstr "उदा: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "SSH जुळवणी करीता संगणक संरचीत करा" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"SSH चा वापर करणारे इतर संगणक यांकरीता सुरक्षा शेल किल्ली वापरायचे असल्यास, त्या " +"संगणकावर तुमचे दाखलन खाते आधिपासूनच असायला हवे." + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "संगणक नाव (_C):" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "दाखलन नाव (_L):" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "मांडणी (_S)" + diff --git a/po/ms.po b/po/ms.po new file mode 100644 index 00000000..27b8aa81 --- /dev/null +++ b/po/ms.po @@ -0,0 +1,3437 @@ +# Seahorse Perisian Pengenkripsian Bahasa Melayu (ms) +# Jika takut risiko, Jangan bicara tentang Perjuangan +# Hasbullah Bin Pit (sebol) , 2002 +# +msgid "" +msgstr "" +"Project-Id-Version: searhorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-01-04 23:25+0000\n" +"PO-Revision-Date: 2020-01-24 19:12+0800\n" +"Last-Translator: abuyop \n" +"Language-Team: Pasukan Terjemahan GNOME Malaysia\n" +"Language: ms\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Poedit 2.0.6\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Tambah Pelayan Kunci" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Suai" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Batal" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Simpan" + +#: common/catalog.vala:116 +msgid "Cannot delete" +msgstr "Tidak dapat padam" + +#: common/catalog.vala:130 common/key-manager-store.vala:418 +msgid "Couldn’t export keys" +msgstr "Tidak dapat mengeksport kunci" + +#: common/catalog.vala:140 +msgid "Couldn’t export data" +msgstr "Tidak dapat mengeksport data" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-photos.c:76 pgp/seahorse-gpgme-photos.c:264 +#: pgp/seahorse-gpgme-photos.c:324 pgp/seahorse-pgp-generate.ui:287 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:249 +msgid "_Cancel" +msgstr "_Batal" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: pkcs11/pkcs11-properties.vala:201 src/sidebar.vala:650 +msgid "_Delete" +msgstr "Pa_dam" + +#: common/exportable.vala:192 pgp/seahorse-pgp-private-key-properties.ui:909 +#: ssh/seahorse-ssh-key-properties.ui:280 +msgid "Export" +msgstr "Eksport" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Masukkan PIN atau kata laluan untuk: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Sahkan:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_OK" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Katalaluan:" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Keutamaan" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Tiada: Jangan siarkan kunci-kunci" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Bukan alamat Pelayan Kunci yang sah." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Untuk bantuan hubungi pentadbir sistem anda atau pentadbir pelayan kunci." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "item sementara awalan" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Jenis Pelayan Kunci:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Hos:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Nama hos atau alamat pelayan." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Port untuk mencapai pelayan." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Cari kunci melalui:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Siar kunci ke:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Peroleh kunci daripada pelayan _kekunci secara automatik" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Segerakan kunci _ubah suai secara automatik dengan pelayan kunci" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Pelayan Kunci" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Tidak diketahui" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Tidak Sesekali" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Berjidar" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +#| msgid "Full" +msgctxt "Validity" +msgid "Full" +msgstr "Penuh" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Muktamad" + +#: common/validity.vala:48 +#| msgid "Disabled" +msgctxt "Validity" +msgid "Disabled" +msgstr "Dilumpuhkan" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Ditarik Balik" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Auto-peroleh kunci-kunci" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Sama ada ia atau tidak patut memperoleh secara automatik daripada pelayan " +"kunci." + +#: data/org.gnome.seahorse.gschema.xml:10 +#| msgid "Export public key" +msgid "Auto publish keys" +msgstr "Auto-siar kunci-kunci" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "" +"Sama ada ia atau tidak kunci ubah suai patut disiarkan secara automatik." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Siar kunci ke pelayan kunci ini" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Pelayan kunci yang menyiarkan kunci-kunci PGP. Atau kosongkan untuk tahan " +"penyiaran kunci-kunci PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Pola gelintar pelayan kunci terakhir" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Pola gelintar terakhir yang digelintar terhadap pelayan kunci." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Pelayan kunci terakhir yang digunakan" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Bagi pelayan kunci terakhir, satu gelintar telah dibuat atau kosongkan semua " +"pelayan kunci." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Tunjuk palang sisi gelang kunci" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Tunjuk palang sisi gelang kunci dalam Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Item yang mahu ditunjukkan" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Tapis item yang ditunjukkan. Jika kosong, tunjuk semua item, jika \"peribadi" +"\" tunjuk kunci-kunci peribadi, jika \"dipercayai\" tunjuk yang dipercayai." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Lebar bagi anak tetingkap sisi" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Lebar lalai bagi anak tetingkap sisi." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Gelang kunci pilihan" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "URI bagi gelang kunci pilihan dalam palang sisi." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Lajur untuk mengisih kunci-kunci Seahorse" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Nyatakan lajur untuk mengisih tetingkap utama pengurus kunci Seahorse. " +"Lajurnya adalah: \"nama\", \"id\", \"kesahan\", \"luput\", \"kepercayaan\", " +"dan \"jenis\". Letak satu tanda \"-\" di hadapan nama lajur untuk mengisih " +"dalam tertib menurun." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Tunjuk lajur kesahan" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Tiada lagi digunakan." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +#| msgid "Show text beside icons" +msgid "Show expiry column" +msgstr "Tunjuk lajur luput" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Tunjuk lajur kepercayaan" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Tunjuk lajur jenis" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Lebar bagi tetingkap" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Lebar tetingkap (dalam piksel)." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Tinggi bagi tetingkap" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Tinggi tetingkap (dalam piksel)." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +#| msgid "seahorse" +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Urus kata laluan dan kunci penyulitan anda" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"Seahorse adalah aplikasi GNOME untuk mengurus kunci penyulitan. Ia juga " +"disepadukan dengan nautilus, gedit dan tempat lain untuk operasi penyulitan." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:13 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Dengan seahorse anda dapat mencipta dan mengurus kunci-kunci PGP, mencipta " +"dan mengurus kunci-kunci SSH, menyiar dan memperoleh kunci-kunci daripada " +"pelayan kunci, cache frasa laluan anda supaya anda tidak perlu menaipnya " +"selalu dan juga menyandar kunci-kunci dan gelang kunci anda." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:94 +msgid "The GNOME Project" +msgstr "Projek GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:168 +#: src/seahorse-key-manager.ui:277 +msgid "Passwords and Keys" +msgstr "Kata Laluan dan Kunci" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "gelangkunci;penyulitan;keselamatan;tandatangan;ssh;" + +#: gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Kata Laluan" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Kata laluan, kelayakan dan rahsia persendirian tersimpan" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:604 +msgid "Couldn’t unlock" +msgstr "Tidak dapat buka" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Tidak dapat menambah item" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Simpan perubahan bagi item ini?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Capai satu perkongsian rangkaian atau sumber" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Capai satu tapak sesawang" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Buka satu kekunci PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Buka satu kekunci Shell Selamat" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Kata laluan atau daftar masuk tersimpan" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Kelayakan Rangkaian" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:191 +msgid "Password" +msgstr "Kata laluan" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Tidak dapat mengubah kata laluan." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Tidak dapat menetapkan keterangan." + +#: gkr/gkr-item-properties.vala:268 +msgid "Error deleting the password." +msgstr "Ralat ketika memadam kata laluan." + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item.vala:425 +msgid "IM account password for " +msgstr "Kata laluan akaun IM untuk " + +#: gkr/gkr-item.vala:485 +msgid "Wi-Fi password" +msgstr "Kata Laluan Wi-Fi" + +#: gkr/gkr-item.vala:490 +#| msgid "Passphrase to secure key" +msgid "Password or secret" +msgstr "Kata laluan atau rahsia" + +#: gkr/gkr-item.vala:491 +msgid "Network password" +msgstr "Kata laluan rangkaian" + +#: gkr/gkr-item.vala:492 +msgid "Stored note" +msgstr "Nota tersimpan" + +#: gkr/gkr-item.vala:493 +msgid "Keyring password" +msgstr "Kata laluan gelang kunci" + +#: gkr/gkr-item.vala:494 +msgid "Encryption key password" +msgstr "Kata laluan kunci penyulitan" + +#: gkr/gkr-item.vala:495 +msgid "Key storage password" +msgstr "Kata laluan storan kunci" + +#: gkr/gkr-item.vala:496 +msgid "GNOME Web password" +msgstr "Kata laluan Sesawang GNOME" + +#: gkr/gkr-item.vala:497 +msgid "Google Chrome password" +msgstr "Kata laluan Google Chrome" + +#: gkr/gkr-item.vala:498 +msgid "GNOME Online Accounts password" +msgstr "Kata laluan Akaun Dalam Talian GNOME" + +#: gkr/gkr-item.vala:499 +msgid "Telepathy password" +msgstr "Kata laluan Telepathy" + +#: gkr/gkr-item.vala:500 +msgid "Instant messaging password" +msgstr "Kata laluan Pemesejan Segera" + +#: gkr/gkr-item.vala:501 +msgid "Network Manager secret" +msgstr "Rahsia Pengurus Rangkaian" + +#: gkr/gkr-item.vala:502 +msgid "Network connection secret" +msgstr "Rahsia sambungan rangkaian" + +#: gkr/gkr-item.vala:565 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Anda pasti mahu memadam kata laluan \"%s\"?" + +#: gkr/gkr-item.vala:567 +#, c-format +#| msgid "Are you sure you want to permanently delete %s?" +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Anda pasti mahu memadam %d kata laluan?" +msgstr[1] "Anda pasti mahu memadam %d kata laluan?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Tidak dapat menambah gelang kunci" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Tarikh tidak diketahui" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Satu gelang kunci yang terbuka secara automatik bila mendaftar masuk" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Satu gelang kunci yang digunakan untuk menyimpan kata laluan" + +#: gkr/gkr-keyring.vala:192 +msgid "Couldn’t set default keyring" +msgstr "Tidak dapat menetapkan gelang kunci" + +#: gkr/gkr-keyring.vala:219 gkr/gkr-keyring.vala:224 +msgid "Couldn’t change keyring password" +msgstr "Tidak dapat mengubah kata laluan gelang kunci" + +#: gkr/gkr-keyring.vala:243 +#| msgid "Desktop Default" +msgid "_Set as default" +msgstr "_Tetap sebagai lalai" + +#: gkr/gkr-keyring.vala:244 +msgid "Change _Password" +msgstr "Ubah _Kata Laluan" + +#: gkr/gkr-keyring.vala:255 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Anda pasti mahu memadam gelang kunci kata laluan \"%s\"?" + +#: gkr/gkr-keyring.vala:258 +msgid "I understand that all items will be permanently deleted." +msgstr "Saya memahami semua item akan dipadamkan secara kekal." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Tunjuk/sembunyi kata laluan" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Tambah Kata Laluan" + +#: gkr/seahorse-gkr-add-item.ui:24 +#| msgid "_Key" +msgid "_Keyring:" +msgstr "_Gelang Kunci:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description:" +msgstr "_Huraian:" + +#: gkr/seahorse-gkr-add-item.ui:71 +#| msgid "_Passphrase:" +msgid "_Password:" +msgstr "_Kata laluan:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:980 +msgid "Add" +msgstr "Tambah" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Tambah gelang kunci kata laluan" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Sila pilih satu nama bagi gelang kunci baharu. Anda akan dibisik untuk " +"membuka kata laluan." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Nama Gelang Kunci Baharu:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +#| msgid "%s Properties" +msgid "Item Properties" +msgstr "Sifat Item" + +#: gkr/seahorse-gkr-item-properties.ui:43 +#| msgid "_Description:" +msgid "Description" +msgstr "Keterangan" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Salin" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +#| msgid "User ID" +msgid "Use" +msgstr "Guna" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1217 +msgid "Type" +msgstr "Jenis" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Pelayan" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Daftar Masuk" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1103 +#: pgp/seahorse-pgp-public-key-properties.ui:915 +msgid "Details" +msgstr "Perincian" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Padam Kata Laluan" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Sifat gelang kunci" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:851 +msgid "Name" +msgstr "Nama" + +#: gkr/seahorse-gkr-keyring.ui:80 +#| msgid "Created:" +msgid "Created on" +msgstr "Dicipta pada" + +#: gkr/seahorse-gkr-keyring.ui:110 +#| msgid "Change Passphrase" +msgid "Change password" +msgstr "Ubah kata laluan" + +#: gkr/seahorse-gkr-keyring.ui:117 +#| msgid "Desktop Default" +msgid "Set as default" +msgstr "Tetapkan sebagai lalai" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Papar bendera" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Tarikh dipaparkan dan/atau sifat masa" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Mod malas" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Mod malas tidak menormalkan nilai tarikh dan masa yang dimasukkan" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Tahun" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Tahun dipaparkan" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Bulan" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Bulan dipaparkan" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Hari" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Hari bagi bulan dipaparkan" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Jam" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Jam dipaparkan" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minit" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Minit dipaparkan" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Saat" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Saat dipaparkan" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Tahun had bawah" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Bahagian tahun bagi had tarikh bawah" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Tahun had atas" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Bahagian tahun bagi had tarikh atas" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Bulan had bawah" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Bahagian bulan bagi had tarikh bawah" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Bulan had atas" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Bahagian bulan bagi had tarikh atas" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Hari had bawah" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Hari untuk bahagian bulan bagi had tarikh bawah" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Hari had atas" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Hari untuk bahagian bulan bagi had tarikh atas" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Jam had bawah" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Bahagian jam bagi had masa bawah" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Jam had atas" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Bahagian jam bagi had masa atas" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Minit had bawah" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Bahagian minit bagi had masa bawah" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Minit had atas" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Bahagian minit bagi had masa atas" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Saat had bawah" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Bahagian saat bagi had masa bawah" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Saat had atas" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Bahagian saat bagi had masa atas" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Tarikh" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Masukkan tarikh secara terus" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Pilih Tarikh" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Pilih tarik dari kalendar" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "Waktu" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Masukkan waktu secara terus" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Pilih Waktu" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Pilih waktu dari senarai" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24jhr: tidak" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1259 +#: libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1260 +#: libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Tidak dapat memaparkan bantuan: %s" + +#: pgp/seahorse-add-subkey.ui:31 +msgid "Never E_xpires" +msgstr "Tidak Sesekali L_uput" + +#: pgp/seahorse-add-subkey.ui:35 +msgid "If key never expires" +msgstr "Jika kunci tidak akan luput" + +#: pgp/seahorse-add-subkey.ui:65 pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Jenis K_unci:" + +#: pgp/seahorse-add-subkey.ui:78 +msgid "Key _Length:" +msgstr "_Panjang Kunci:" + +#: pgp/seahorse-add-subkey.ui:93 +msgid "Expiration Date:" +msgstr "Tarikh Luput:" + +#: pgp/seahorse-add-subkey.ui:112 +msgid "Length of Key" +msgstr "Panjang Kunci" + +#: pgp/seahorse-add-subkey.ui:194 +msgid "Generate a new subkey" +msgstr "Jana satu sub-kunci baharu" + +#: pgp/seahorse-expires.ui:22 +msgid "_Never expires" +msgstr "Tidak _sesekali luput" + +#: pgp/seahorse-expires.ui:80 pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Tarik balik kekunci" + +#: pgp/seahorse-expires.ui:106 +msgid "C_hange" +msgstr "_Ubah" + +#: pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn’t add subkey" +msgstr "Tidak dapat menambah sub-kunci" + +#: pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "Tambah sub-kunci ke %s" + +#: pgp/seahorse-gpgme-add-subkey.c:196 pgp/seahorse-gpgme-generate.c:78 +msgid "DSA (sign only)" +msgstr "DSA (tanda tangan sahaja)" + +#: pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (sulit sahaja)" + +#: pgp/seahorse-gpgme-add-subkey.c:210 pgp/seahorse-gpgme-generate.c:79 +msgid "RSA (sign only)" +msgstr "RSA (tanda tangan sahaja)" + +#: pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (sulit sahaja)" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Tambah ID pengguna ke %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Tidak dapat menambah ID pengguna" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Tambah ID Pengguna" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-pgp-generate.ui:66 +#| msgid "Full _Name:" +msgid "Full _Name" +msgstr "_Nama Penuh" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Mestilah sekurang-kurangnya 5 aksara panjang" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-pgp-generate.ui:97 +#| msgid "_Email Address:" +msgid "_Email Address" +msgstr "Alamat _E-mel" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Alamat emel pilihan" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "_Ulasan Kunci" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Ulasan pilihan menerangkan kekunci" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Cipta ID nama pengguna baharu" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Penyahsulitan gagal. Anda mungkin tidak mempunyai kunci penyahsulitan." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:515 +msgid "The operation was cancelled" +msgstr "Operasi dibatalkan" + +#: pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "Tarikh luput tidak sah" + +#: pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "Tarikh luput mestilah di masa hadapan" + +#: pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn’t change expiry date" +msgstr "Tidak dapat mengubah tarikh luput" + +#: pgp/seahorse-gpgme-expires.c:138 +#, c-format +#| msgid "Export Key: %s" +msgid "Expiry: %s" +msgstr "Luput: %s" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Kunci Berbilang" + +#: pgp/seahorse-gpgme-exporter.c:76 +#| msgid "Key ID" +msgid "Key Data" +msgstr "Data Kunci" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Kunci PGP berperisai" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Kunci PGP" + +#: pgp/seahorse-gpgme-generate.c:76 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:141 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate.c:77 +#| msgid "DSA & ElGamal" +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate.c:129 +msgid "Couldn’t generate PGP key" +msgstr "Tidak dapat menjana kunci PGP" + +#: pgp/seahorse-gpgme-generate.c:168 +msgid "Passphrase for New PGP Key" +msgstr "Frasa laluan bagi Kunci PGP Baharu" + +#: pgp/seahorse-gpgme-generate.c:169 +msgid "Enter the passphrase for your new key twice." +msgstr "Masukkan frasa laluan untuk kunci baharu anda sebanyak dua kali." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate.c:181 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Ketika mencipta satu kunci kami perlu menjana banyak\n" +"data rawak dan kami perlukan bantuan anda. Jadi idea\n" +"terbaik adalah dengan membuat beberapa tindakan\n" +"seperti menaip, menggerakkan tetikus, menggunakan\n" +"aplikasi. Tindakan ini dapat menyediakan data rawak\n" +"yang diperlukan." + +#: pgp/seahorse-gpgme-generate.c:186 pkcs11/pkcs11-generate.vala:216 +#| msgid "Generate Key" +msgid "Generating key" +msgstr "Menjana kunci" + +#: pgp/seahorse-gpgme-generate.c:313 +#| msgid "Must be at least 5 characters long" +msgid "Name must be at least 5 characters long." +msgstr "Nama mestilah sekurang-kurangnya 5 aksara panjang." + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Anda pasti mahu memadam kunci %s secara kekal?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +#| msgid "Are you sure you want to permanently delete %s?" +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Anda pasti mahu memadam %d kunci secara kekal?" +msgstr[1] "Anda pasti mahu memadam %d kunci secara kekal?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Kata laluan salah" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Ini merupakan kali ketiga anda memasukkan kata laluan yang salah. Sila cuba " +"lagi." + +#: pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "Frasa laluan salah." + +#: pgp/seahorse-gpgme-keyring.c:93 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Masukkan frasa laluan baharu untuk \"%s\"" + +#: pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Masukkan frasa laluan untuk \"%s\"" + +#: pgp/seahorse-gpgme-keyring.c:98 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Masukkan frasa laluan baharu" + +#: pgp/seahorse-gpgme-keyring.c:100 +#| msgid "Enter Passphrase" +msgid "Enter passphrase" +msgstr "Masukkan frasa laluan" + +#: pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "Frasa laluan" + +#: pgp/seahorse-gpgme-keyring.c:300 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d kunci dimuatkan" +msgstr[1] "%d kunci dimuatkan" + +#: pgp/seahorse-gpgme-keyring.c:628 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Data kunci tidak sah (UID hilang). Ini mungkin disebabkan komputer yang " +"ditetapkan tarikh melangkaui masa sebenar atau tanda tangan-kendiri hilang." + +#: pgp/seahorse-gpgme-keyring.c:758 +#| msgid "Manage your GPG keys" +msgid "GnuPG keys" +msgstr "Kunci GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:769 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: direktori gelang kunci lalai" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Saiz foto terlalu besar\n" +"Saiz foto yang disarankan untuk kunci anda ialah %d × %d piksel." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Jangan Saizkan Semula" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Saiz Semula" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Ini bukanlah sebuah fail imej, atau fail imej yang tidak dikenali. Cuba " +"gunakan satu imej JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Semua fail imej" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Semua fail JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:292 +msgid "All files" +msgstr "Semua fail" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Pilih Foto untuk Ditambah ke Kunci" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:250 +msgid "_Open" +msgstr "_Buka" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Tidak dapat menyediakan foto" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Tidak dapa menambah foto" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Fail tidak dapat dimuatkan. Ia mungkin format tidak sah" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Anda pasti ingin membuang foto semasa daripada kunci anda?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Tidak dapat memadam foto" + +#: pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn’t revoke subkey" +msgstr "Tidak dapat menarik balik sub-kunci" + +#: pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "Tarik Balik: %s" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "Tiada sebab" + +#: pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "Tiada sebab untuk menarik balik kunci" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "Diselesaikan" + +#: pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "Kunci telah diselesaikan" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "Digantikan" + +#: pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "Kunci telah digantikan" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "Tidak Digunakan" + +#: pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "Kunci tiada lagi digunakan" + +#: pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Anda akan menambah %s sebagai pembatal untuk %s. Operasi tidak dapat " +"disiapkan. Anda pasti ingin meneruskannya?" + +#: pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn’t add revoker" +msgstr "Tidak dapat menambah pembatal" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Saya memahami kunci rahsia ini akan dipadamkan secara kekal." + +#: pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Kunci ini sudah ditandatangani oleh\n" +"\"%s\"" + +#: pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn’t sign key" +msgstr "Tidak dapat menandatangani kunci" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign.c:163 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Tiada kunci boleh digunakan untuk ditandatangani" + +#: pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Anda tidak mempunyai kunci PGP peribadi yang boleh digunakan untuk " +"menunjukkan anda percayai kunci ini." + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Tidak diketahui" + +#: pgp/seahorse-gpgme-subkey.c:91 +#| msgid "DSA & ElGamal" +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Gelintar yang dibuat tidak cukup spesifik. Pelayan \"%s\" menemui terlalu " +"banyak kunci." + +#: pgp/seahorse-hkp-source.c:536 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Tidak dapat berkomunikasi dengan pelayan \"%s\": %s" + +#: pgp/seahorse-hkp-source.c:999 +msgid "HTTP Key Server" +msgstr "Pelayan Kunci HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Tidak dapat mengimport kunci: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Pengimportan kunci berjaya" + +#: pgp/seahorse-keyserver-results.c:154 src/import-dialog.vala:38 +msgid "Import" +msgstr "Import" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Tidak dapat mengimport kunci" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Kunci-kunci jauh" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Kunci-kunci jauh mengandungi \"%s\"" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Gelintar untuk kekunci mengalami kegagalan." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Dwi-klik pada kunci untuk memeriksanya, atau klik butang import untuk " +"mengimportnya ke dalam gelang kunci setempat anda." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Cari Kunci-kunci Jauh" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Tindakan ini akan mencari kunci untuk yang lain di Internet. Kunci-kunci ini " +"boleh diimport ke dalam gelang kunci setempat anda." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Gelintar untuk kekunci yang mengandungi: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Lokasi digelintar:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Pelayan Kunci:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Kunci-kunci Terkongsi Berhampiran Saya:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Cari" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Tidak dapat menyiarkan kunci-kunci kepada pelayan" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Tidak memperolehi kunci-kunci daripada pelayan: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d kunci terpilih untuk penyegerakan" +msgstr[1] "%d kunci terpilih untuk penyegerakan" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Menyegerak kunci…" + +#: pgp/seahorse-keyserver-sync.ui:14 +#| msgid "Sign Key" +msgid "Sync Keys" +msgstr "Segerak Kunci-Kunci" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Tindakan ini akan menyiarkan kunci-kunci dalam gelang kunci anda supaya ia " +"tersedia untuk kegunaan lain. Anda juga mendapat apa-apa perubahan yang lain " +"telah buat semenjak anda menerima kunci-kunci mereka." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Tindakan ini akan memperoleh apa-apa perubahan yang lain telah buat semenjak " +"anda menerima kunci-kunci mereka. Tiada pelayan kunci telah dipilih untuk " +"penyiaran, supaya kunci-kunci anda tidak tersedia untuk orang lain." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Pelayan _Kunci" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Segerak" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Tidak dapat berkomunikasi dengan \"%s\": %s" + +#: pgp/seahorse-ldap-source.c:649 +#, c-format +msgid "Connecting to: %s" +msgstr "Bersambung dengan: %s" + +#: pgp/seahorse-ldap-source.c:655 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Tidak dapat meleraikan alamat: %s" + +#: pgp/seahorse-ldap-source.c:699 +#, c-format +msgid "Resolving server address: %s" +msgstr "Meleraikan alamat pelayan: %s" + +#: pgp/seahorse-ldap-source.c:1434 +msgid "LDAP Key Server" +msgstr "Pelayan Kunci LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Kunci-kunci PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "Kunci-kunci PGP untuk menyulitkan emel atau fail" + +#: pgp/seahorse-pgp-generate.ui:18 +msgid "New PGP key" +msgstr "Kunci PGP Baharu" + +#: pgp/seahorse-pgp-generate.ui:47 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "Satu kunci PGP membenarkan anda sulitkan emel atau fail orang lain." + +#: pgp/seahorse-pgp-generate.ui:129 pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Pilihan kunci _lanjutan" + +#: pgp/seahorse-pgp-generate.ui:143 +msgid "_Comment" +msgstr "_Ulasan" + +#: pgp/seahorse-pgp-generate.ui:174 +msgid "Encryption _Type" +msgstr "_Jenis Penyulitan" + +#: pgp/seahorse-pgp-generate.ui:204 +#| msgid "Key _Length:" +msgid "Key _Strength (bits)" +msgstr "Keku_atan Kunci (bit):" + +#: pgp/seahorse-pgp-generate.ui:234 +#| msgid "Expiration Date" +msgid "E_xpiration Date" +msgstr "Tarikh _Luput" + +#: pgp/seahorse-pgp-generate.ui:256 +msgid "Ne_ver Expires" +msgstr "Tidak S_esekali Luput" + +#: pgp/seahorse-pgp-generate.ui:297 +#| msgid "Created:" +msgid "C_reate" +msgstr "C_ipta" + +#: pgp/seahorse-pgp-generate.ui:304 +msgid "Generate a new key" +msgstr "Jana satu kunci baharu" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(dan %d yang lain)" +msgstr[1] "(dan %d yang lain)" + +#: pgp/seahorse-pgp-key.c:573 +#| msgid "Your personal key" +msgid "Personal PGP key" +msgstr "Kunci PGP Peribadi" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Kekunci PGP" + +#: pgp/seahorse-pgp-key-properties.c:245 +msgid "Couldn’t change primary user ID" +msgstr "Tidak dapat mengubah ID pengguna utama" + +#: pgp/seahorse-pgp-key-properties.c:280 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Anda pasti mahu memadam ID pengguna \"%s\" secara kekal?" + +#: pgp/seahorse-pgp-key-properties.c:289 +msgid "Couldn’t delete user ID" +msgstr "Tidak dapat memadam ID pengguna" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:361 pgp/seahorse-pgp-key-properties.c:1351 +msgid "[Unknown]" +msgstr "[Tidak Diketahui]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:457 pgp/seahorse-pgp-key-properties.c:1556 +msgid "Name/Email" +msgstr "Nama/Emel" + +#: pgp/seahorse-pgp-key-properties.c:464 +msgid "Signature ID" +msgstr "ID Tanda tangan" + +#: pgp/seahorse-pgp-key-properties.c:570 +msgid "Couldn’t change primary photo" +msgstr "Tidak dapat mengubah foto utama" + +#: pgp/seahorse-pgp-key-properties.c:730 +msgid "Error changing password" +msgstr "Ralat mengubah kata laluan" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:776 +msgid "(unknown)" +msgstr "(tidak diketahui)" + +#: pgp/seahorse-pgp-key-properties.c:781 +#, c-format +msgid "This key expired on: %s" +msgstr "Kunci ini luput pada: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:809 +#, c-format +#| msgid "Sign public key" +msgid "%s — Public key" +msgstr "%s — Kunci Awam" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:812 +#, c-format +msgid "%s — Private key" +msgstr "%s — Kunci persendirian" + +#: pgp/seahorse-pgp-key-properties.c:965 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Anda pasti mahu memadam sub-kunci %d daripada %s secara kekal?" + +#: pgp/seahorse-pgp-key-properties.c:973 +msgid "Couldn’t delete subkey" +msgstr "Tidak dapat memadam sub-kunci" + +#: pgp/seahorse-pgp-key-properties.c:1032 +#: pgp/seahorse-pgp-key-properties.c:1325 +msgid "Unable to change trust" +msgstr "Tidak boleh mengubah kepercayaan" + +#: pgp/seahorse-pgp-key-properties.c:1044 ssh/key-properties.vala:185 +msgid "Couldn’t export key" +msgstr "Tidak dapat mengeksport kunci" + +#: pgp/seahorse-pgp-key-properties.c:1175 +#: pgp/seahorse-pgp-key-properties.c:1259 +msgctxt "Expires" +msgid "Never" +msgstr "Tidak Sesekali" + +#: pgp/seahorse-pgp-key-properties.c:1214 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1220 +msgid "Usage" +msgstr "Penggunaan" + +#: pgp/seahorse-pgp-key-properties.c:1223 +#| msgid "Created:" +msgid "Created" +msgstr "Dicipta" + +#: pgp/seahorse-pgp-key-properties.c:1226 +#| msgid "_Expires" +msgid "Expires" +msgstr "Luput" + +#: pgp/seahorse-pgp-key-properties.c:1229 +msgid "Status" +msgstr "Status" + +#: pgp/seahorse-pgp-key-properties.c:1232 +#| msgid "Length" +msgid "Strength" +msgstr "Kekuatan" + +#: pgp/seahorse-pgp-key-properties.c:1250 +msgid "Revoked" +msgstr "Ditarik Balik" + +#: pgp/seahorse-pgp-key-properties.c:1252 +msgid "Expired" +msgstr "Telah Luput" + +#: pgp/seahorse-pgp-key-properties.c:1254 +msgid "Disabled" +msgstr "Dilumpuhkan" + +#: pgp/seahorse-pgp-key-properties.c:1256 +msgid "Good" +msgstr "Baik" + +#: pgp/seahorse-pgp-key-properties.c:1559 +#: pgp/seahorse-pgp-private-key-properties.ui:333 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "ID Kunci" + +#: pgp/seahorse-pgp-key-properties.c:1700 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Saya percaya tanda tangan daripada \"%s\" pada kunci-kunci lain" + +#: pgp/seahorse-pgp-key-properties.c:1707 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Jika anda percayai individu tersebut yang memiliki kunci ini ialah \"%s\", " +"sila tanda tangan kunci ini:" + +#: pgp/seahorse-pgp-key-properties.c:1714 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Jika anda tidak mempercayai individu tersebut yang memiliki kunci ini ialah " +"\"%s\", sila tarik balik tanda tangan anda:" + +#: pgp/seahorse-pgp-private-key-properties.ui:56 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Kunci ini telah ditarik balik" + +#: pgp/seahorse-pgp-private-key-properties.ui:66 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" +"Pemilih kunci telah menarik balik kunci tersebut. Ia tidak boleh digunakan " +"lagi." + +#: pgp/seahorse-pgp-private-key-properties.ui:94 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +#| msgid "If key never expires" +msgid "This key has expired" +msgstr "Kunci ini telah luput" + +#: pgp/seahorse-pgp-private-key-properties.ui:159 +#| msgid "Add a photo ID" +msgid "Add a photo to this key" +msgstr "Tambah satu foto untuk kunci ini" + +#: pgp/seahorse-pgp-private-key-properties.ui:178 +msgid "Remove this photo from this key" +msgstr "Buang foto ini dari kunci ini" + +#: pgp/seahorse-pgp-private-key-properties.ui:197 +msgid "Make this photo the primary photo" +msgstr "Jadikan foto ini foto utama" + +#: pgp/seahorse-pgp-private-key-properties.ui:222 +msgid "Go to previous photo" +msgstr "Pergi ke foto terdahulu" + +#: pgp/seahorse-pgp-private-key-properties.ui:241 +msgid "Go to next photo" +msgstr "Pergi ke foto berikutnya" + +#: pgp/seahorse-pgp-private-key-properties.ui:306 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Ulasan" + +#: pgp/seahorse-pgp-private-key-properties.ui:363 +#: ssh/seahorse-ssh-key-properties.ui:294 +msgid "Change _Passphrase" +msgstr "Ubah _Frasa Laluan" + +#: pgp/seahorse-pgp-private-key-properties.ui:379 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Pemilik" + +#: pgp/seahorse-pgp-private-key-properties.ui:392 +msgid "Key Names and Signatures" +msgstr "Nama dan Tandatangan Kunci" + +#: pgp/seahorse-pgp-private-key-properties.ui:430 +msgid "Primary" +msgstr "Utama" + +#: pgp/seahorse-pgp-private-key-properties.ui:460 pgp/seahorse-pgp-subkey.c:160 +msgid "Sign" +msgstr "Tanda Tangan" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:490 +#: src/seahorse-key-manager-widgets.ui:12 +#| msgid "_Delete" +msgid "Delete" +msgstr "Padam" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:520 +#| msgid "Name" +msgid "_Add Name" +msgstr "_Tambah Nama" + +#: pgp/seahorse-pgp-private-key-properties.ui:550 +#: pgp/seahorse-pgp-private-key-properties.ui:1040 +msgid "Revoke" +msgstr "Tarik Balik" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:586 +msgid "Names and Signatures" +msgstr "Nama dan Tanda Tangan" + +#: pgp/seahorse-pgp-private-key-properties.ui:623 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "ID Kunci:" + +#: pgp/seahorse-pgp-private-key-properties.ui:648 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Jenis:" + +#: pgp/seahorse-pgp-private-key-properties.ui:673 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +#| msgid "Length:" +msgid "Strength:" +msgstr "Kekuatan:" + +#: pgp/seahorse-pgp-private-key-properties.ui:698 +msgid "Technical Details" +msgstr "Perincian Teknikal" + +#: pgp/seahorse-pgp-private-key-properties.ui:726 +#: ssh/seahorse-ssh-key-properties.ui:174 +#| msgid "Fingerprint:" +msgid "Fingerprint" +msgstr "Cap jari" + +#: pgp/seahorse-pgp-private-key-properties.ui:758 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Dicipta:" + +#: pgp/seahorse-pgp-private-key-properties.ui:782 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +#| msgid "_Expires" +msgid "Expires:" +msgstr "Luput:" + +#: pgp/seahorse-pgp-private-key-properties.ui:828 +msgid "Dates" +msgstr "Tarikh" + +#: pgp/seahorse-pgp-private-key-properties.ui:851 +msgid "Override Owner _Trust:" +msgstr "Batal _Kepercayaan Pemilik:" + +#: pgp/seahorse-pgp-private-key-properties.ui:879 +msgid "_Export Secret Key:" +msgstr "_Eksport Kunci Rahsia:" + +#: pgp/seahorse-pgp-private-key-properties.ui:926 +msgid "Actions" +msgstr "Tindakan" + +#: pgp/seahorse-pgp-private-key-properties.ui:1010 +#| msgid "Expired" +msgid "Expire" +msgstr "Luput" + +#: pgp/seahorse-pgp-private-key-properties.ui:1084 +#: pgp/seahorse-pgp-public-key-properties.ui:898 +#| msgid "Subkey %d" +msgid "_Subkeys" +msgstr "_Sub-kunci" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Secara Marginal" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +#| msgid "Full" +msgctxt "Validity" +msgid "Fully" +msgstr "Sepenuhnya" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Secara Muktamat" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "Nama _Lain:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +#| msgid "Your personal key" +msgid "Your trust of this key" +msgstr "Anda percayai kunci ini" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Kepercayaan anda ditentukan secara manual pada tab Terperinci." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +#| msgid "Sign Key" +msgid "_Sign this Key" +msgstr "_Tanda Tangan Kunci ini" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +#| msgid "_Signatures:" +msgid "_Revoke Signature" +msgstr "_Tarik Balik Tanda Tangan" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Individu yang telah menandatangani kunci ini:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Hanya papar tanda tangan individu yang saya percayai" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Percaya" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Perincian Teknikal:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Cap Jari:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Tarikh:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate Trust:" +msgstr "Menunjukkan Kepercayaan:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _Trust the Owner:" +msgstr "Anda Mem_percayai Pemilik:" + +#: pgp/seahorse-pgp-subkey.c:159 +#| msgid "Encrypt..." +msgid "Encrypt" +msgstr "Sulit" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Certify" +msgstr "Perakui" + +#: pgp/seahorse-pgp-subkey.c:162 +msgid "Authenticate" +msgstr "Sahihkan" + +#: pgp/seahorse-pgp-subkey.c:311 +#| msgid "_Key" +msgid "Key" +msgstr "Kunci" + +#: pgp/seahorse-pgp-subkey.c:316 +#, c-format +#| msgid "Subkey %d" +msgid "Subkey %d of %s" +msgstr "Sub-kunci %d daripada %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Sebab menarik balik kunci" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Sebab:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Keterangan pilihan penarikan" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Ta_rik Balik" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Anda tidak mempunyai kunci-kunci PGP yang boleh digunakan untuk " +"menandatangani satu dokumen atau mesej." + +#: pgp/seahorse-signer.ui:7 +#| msgid "Sign Key" +msgid "Choose Signing Key" +msgstr "Pilih Kunci Tanda Tangan" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Tanda tangan mesej dengan kunci:" + +#: pgp/seahorse-sign.ui:6 +msgid "Sign Key" +msgstr "Tanda Tangan Kunci" + +#: pgp/seahorse-sign.ui:27 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Dengan menandatangani menunjukkan anda percaya kunci ini miliki:" + +#: pgp/seahorse-sign.ui:34 +#| msgid "Name" +msgid "Key Name" +msgstr "Nama Kunci" + +#: pgp/seahorse-sign.ui:54 +msgid "How carefully have you checked this key?" +msgstr "Berhati-hatikah anda semasa memeriksa kunci ini?" + +#: pgp/seahorse-sign.ui:84 +msgid "_Not at all" +msgstr "_Bukan semuanya" + +#: pgp/seahorse-sign.ui:95 +msgid "_Casually" +msgstr "_Secara Perlahan-lahan" + +#: pgp/seahorse-sign.ui:107 +msgid "_Very Carefully" +msgstr "_Sangat Berhati-hati" + +#: pgp/seahorse-sign.ui:134 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Bukan semuanya bermaksud anda mempercayai kunci ini miliki individu " +"yang mengakunya, tetapi anda tidak pasti atau tidak dapat mengesahkannya." + +#: pgp/seahorse-sign.ui:147 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Secara Perlahan-lahan: bermaksud anda telah membuat pengesahan " +"perlahan-lahan yang mana kunci milik individu yang telah menuntut untuk " +"memilikinya. Contohnya, anda telah baca cap jari kunci pemilik melalui " +"telefon." + +#: pgp/seahorse-sign.ui:168 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Sangat Berhati-hati: Pilih ini jika anda sangat pasti kunci ini benar-" +"benar asli." + +#: pgp/seahorse-sign.ui:184 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Anda boleh gunakan 'hard' untuk lancungkan pengecaman foto (seperti sebuah " +"pasport) untuk menyemak secara peribadi nama pada kunci adalah betul. Anda " +"patut juga menggunakan emel untuk memeriksa alamat emel adalah benar-benar " +"miliknya." + +#: pgp/seahorse-sign.ui:215 +msgid "How others will see this signature:" +msgstr "Bagaimana orang lain akan melihat tanda tangan ini:" + +#: pgp/seahorse-sign.ui:232 +msgid "_Others may not see this signature" +msgstr "_Orang lain tidak dapat melihat tanda tangan ini" + +#: pgp/seahorse-sign.ui:243 +msgid "I can _revoke this signature at a later date." +msgstr "Saya boleh _menarik balik tanda tangan ini kemudian hari." + +#: pgp/seahorse-sign.ui:268 +#| msgid "Sign key" +msgid "Sign key as:" +msgstr "Tanda tangan kunci sebagai:" + +#: pgp/seahorse-sign.ui:286 +#| msgid "Signer:" +msgid "_Signer:" +msgstr "_Penanda tangan:" + +#: pgp/seahorse-sign.ui:321 +msgid "_Sign" +msgstr "_Tanda tangan" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "Mengeksport data" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "Memperoleh data" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +#| msgid "Import" +msgid "Importing data" +msgstr "Mengimport data" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "Menghantar data" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Tidak Tersedia" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Sijil" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Sijil (terenkod DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +#| msgid "Generate a new key" +msgid "Personal certificate and key" +msgstr "Sijil dan kunci peribadi" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Sijil peribadi" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +#| msgid "Are you sure you want to permanently delete %s?" +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Anda pasti mahu memadam %d sijil secara kekal?" +msgstr[1] "Anda pasti mahu memadam %d sijil secara kekal?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Tidak dapat menjana kunci persendirian" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Saya memahami kunci ini akan dipadamkan secara kekal." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Kunci persendirian tidak bernama" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:225 +msgid "Private key" +msgstr "Kunci persendirian" + +#: pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "Tidak Bernama" + +#: pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "Gagal mengeksport sijil" + +#: pkcs11/pkcs11-properties.vala:188 src/sidebar.vala:620 +msgid "Couldn’t delete" +msgstr "Tidak dapat memadam" + +#: pkcs11/pkcs11-properties.vala:199 +#| msgid "Export" +msgid "_Export" +msgstr "_Eksport" + +#: pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "Eksport sijil" + +#: pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "Padam sijil atau kunci ini" + +#: pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "Pinta Si_jil" + +#: pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "Cipta satu fail permintaan sijil untuk kunci ini" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +#| msgid "Created:" +msgid "Create" +msgstr "Cipta" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Tidak dapat mencipta permintaan sijil" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Simpan permintaan sijil" + +#: pkcs11/pkcs11-request.vala:107 +msgid "_Save" +msgstr "_Simpan" + +#: pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "Permintaan sijil" + +#: pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "Permintaan terenkod PEM" + +#: pkcs11/pkcs11-request.vala:149 +msgid "Couldn’t save certificate request" +msgstr "Tidak dapat menyimpan permintaan sijil" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Tidak diketahui" + +#: pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Sijil" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Sijik X.509 dan kunci-unci berkaitan" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Kunci persendirian baharu" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +#| msgid "Create a new key" +msgid "Create a new private key" +msgstr "Cipta satu kunci persendirian baharu" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Label:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Disimpan di:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 ssh/seahorse-ssh-generate.ui:158 +#| msgid "Key _Length:" +msgid "Key _Strength (bits):" +msgstr "Keku_atan Kekunci (bait):" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Cipta satu fail permintaan sijil." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Nama umum (CN) diletak dalam permintaan sijil." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Nama (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Sumbangan:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Versi aplikasi Ini" + +#: src/application.vala:170 +#| msgid "translator_credits" +msgid "translator-credits" +msgstr "abuyop" + +#: src/application.vala:173 +#| msgid "Seahorse Preferences" +msgid "Seahorse Project Homepage" +msgstr "Laman Sesawang Projek Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Data yang diimportkan" + +#: src/import-dialog.vala:74 +#| msgid "Import from _File:" +msgid "Import failed" +msgstr "Pengimportan gagal" + +#. The prompt +#: src/key-manager.vala:247 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Kunci Import" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:258 +msgid "All key files" +msgstr "Semua fail kunci" + +#: src/key-manager.vala:323 +msgid "Dropped text" +msgstr "Teks dilepaskan" + +#: src/key-manager.vala:351 +msgid "Clipboard text" +msgstr "Teks papan keratan" + +#: src/key-manager.vala:443 +msgid "Couldn’t unlock keyring" +msgstr "Tidak dapat membuka gelang kunci" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Ubah Frasa Laluan" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "_Frasa Laluan Baharu:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Sahkan frasa laluan baharu" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Sa_hkan Frasa Laluan:" + +#: src/seahorse-key-manager.ui:6 +msgid "Filter items:" +msgstr "Tapis item:" + +#: src/seahorse-key-manager.ui:8 +#| msgid "Your personal key" +msgid "Show p_ersonal" +msgstr "Tunjuk p_eribadi" + +#: src/seahorse-key-manager.ui:13 +msgid "Show _trusted" +msgstr "Tunjuk dipercayai" + +#: src/seahorse-key-manager.ui:18 +msgid "Show an_y" +msgstr "Tunjuk a_pa-apa" + +#: src/seahorse-key-manager.ui:25 +msgid "_Combine all keyrings" +msgstr "_Gabung semua gelang kunci" + +#: src/seahorse-key-manager.ui:31 +msgid "_Find remote keys…" +msgstr "_Cari kunci jauh…" + +#: src/seahorse-key-manager.ui:36 +#| msgid "Sign public key" +msgid "_Sync and publish keys…" +msgstr "_Segerak dan siarkan kunci…" + +#: src/seahorse-key-manager.ui:43 +msgid "_Preferences" +msgstr "_Keutamaan" + +#: src/seahorse-key-manager.ui:48 +msgid "_Help" +msgstr "_Bantuan" + +#: src/seahorse-key-manager.ui:52 +msgid "_About Passwords and Keys" +msgstr "Perihal Kata Laluan dan Kunci" + +#: src/seahorse-key-manager.ui:89 +msgid "Secure Shell key" +msgstr "Kunci Shell selamat" + +#: src/seahorse-key-manager.ui:96 +msgid "Used to access other computers" +msgstr "Digunakan untuk mencapai komputer lain" + +#: src/seahorse-key-manager.ui:123 +msgid "GPG key" +msgstr "Kunci GPG" + +#: src/seahorse-key-manager.ui:130 +msgid "Used to encrypt email and files" +msgstr "Digunakan untuk sulitkan emel dan fail" + +#: src/seahorse-key-manager.ui:157 +msgid "Password keyring" +msgstr "Gelang kunci kata laluan" + +#: src/seahorse-key-manager.ui:164 +msgid "Used to store application and network passwords" +msgstr "Digunakan untuk menyimpan aplikasi dan kata laluan rangkaian" + +#: src/seahorse-key-manager.ui:198 +msgid "Safely store a password or secret" +msgstr "Simpan kata laluan atau rahsia secara selamat" + +#: src/seahorse-key-manager.ui:232 +msgid "Used to request a certificate" +msgstr "Digunakan untuk meminta satu sijil" + +#: src/seahorse-key-manager.ui:258 +#| msgid "Import from _File:" +msgid "Import from file…" +msgstr "Import melalui fail…" + +#: src/seahorse-key-manager.ui:283 +#| msgid "Add a new subkey" +msgid "Add a new key or item" +msgstr "Tambah satu kunci atau item baharu" + +#: src/seahorse-key-manager.ui:314 +msgid "Search for a key or password" +msgstr "Gelintar satu kunci atau kata laluan" + +#: src/seahorse-key-manager.ui:361 +msgid "Filter" +msgstr "Penapis" + +#: src/seahorse-key-manager.ui:455 +msgid "This collection seems to be empty" +msgstr "Koleksi ini nampaknya kosong" + +#: src/seahorse-key-manager.ui:487 +msgid "Keyring is locked" +msgstr "Gelang kunci terkunci" + +#: src/seahorse-key-manager.ui:497 +msgid "Unlock" +msgstr "Buka" + +#: src/seahorse-key-manager-widgets.ui:6 +#| msgid "Export" +msgid "Export…" +msgstr "Eksport…" + +#: src/seahorse-key-manager-widgets.ui:19 +#| msgid "_Properties" +msgid "Properties" +msgstr "Sifat" + +#: src/seahorse-key-manager-widgets.ui:23 +msgid "Configure Key for Secure Shell…" +msgstr "Konfigur Kunci untuk Shell Selamat…" + +#: src/sidebar.vala:586 +msgid "Couldn’t lock" +msgstr "Tidak dapat mengunci" + +#. Lock and unlock items +#: src/sidebar.vala:637 +msgid "_Lock" +msgstr "_Kunci" + +#: src/sidebar.vala:642 +msgid "_Unlock" +msgstr "_Buka" + +#. Properties item +#: src/sidebar.vala:659 +msgid "_Properties" +msgstr "_Sifat" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Shell Selamat" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "" +"Kunci yang digunakan untuk bersambung secara selamat dengan komputer lain" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Anda pasti mahu memadam kunci shell selamat \"%s\"?" + +#: ssh/deleter.vala:51 +#, c-format +#| msgid "Are you sure you want to permanently delete %s?" +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Anda pasti mahu memadam %u kunci shell selamat?" +msgstr[1] "Anda pasti mahu memadam %u kunci shell selamat?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Kunci-kunci SSH Rahsia" + +#: ssh/exporter.vala:56 +#| msgid "Sign public key" +msgid "Public SSH keys" +msgstr "Kunci-kunci SSH Awam" + +#: ssh/exporter.vala:87 +#| msgid "Sign Key" +msgid "SSH Key" +msgstr "Kunci SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Tiada fail kunci awam tersedia untuk kunci ini." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Tidak dapat memuatkan kunci Shell Selamat yang baharu terjana" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Tidak dapat menjana kunci Shell Selamat" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Mencipta Kunci Shell Selamat" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bit" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bit" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Jenis kunci tidak diketahui!" + +#: ssh/key-properties.vala:75 +msgid "Unknown type" +msgstr "Jenis tidak diketahui" + +#: ssh/key-properties.vala:99 +msgid "Couldn’t rename key." +msgstr "Tidak dapat menamakan semula kunci." + +#: ssh/key-properties.vala:125 +msgid "Couldn’t change authorization for key." +msgstr "Tidak dapat mengubah keizinan kunci." + +#: ssh/key-properties.vala:141 +#| msgid "Change passphrase of secret key" +msgid "Couldn’t change passphrase for key." +msgstr "Tidak dapat mengubah frasa laluan kunci." + +#: ssh/key-properties.vala:165 +msgid "Error deleting the SSH key." +msgstr "Ralat memadam kunci SSH." + +#: ssh/key.vala:45 +#| msgid "Your personal key" +msgid "Personal SSH key" +msgstr "Kunci SSH peribadi" + +#: ssh/key.vala:45 +#| msgid "Sign key" +msgid "SSH key" +msgstr "Kekunci SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:115 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Kunci Shell Selamat Tidak Boleh Baca)" + +#. No comment, but loaded +#: ssh/key.vala:118 ssh/key.vala:122 +msgid "Secure Shell Key" +msgstr "Kekunci Shell Baru" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Kata Laluan Hos Jauh" + +#: ssh/operation.vala:262 +#| msgid "Enter Passphrase" +msgid "Enter Key Passphrase" +msgstr "Masukkan Frasa Laluan Kunci" + +#: ssh/operation.vala:288 +#| msgid "Passphrase to secure key" +msgid "Passphrase for New Secure Shell Key" +msgstr "Frasa laluan untuk Kunci Shell Selamat Baharu" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +#| msgid "Import keys" +msgid "Importing key: %s" +msgstr "Mengimport kunci: %s" + +#: ssh/operation.vala:321 +#| msgid "Enter Passphrase" +msgid "Importing key. Enter passphrase" +msgstr "Mengimport kunci. Masukkan frasa laluan" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +#| msgid "Enter new passphrase" +msgid "Enter your Secure Shell passphrase:" +msgstr "Masukkan frasa laluan Shell Selamat anda:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Frasa Laluan Kunci Lama" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Masukkan frasa laluan lama untuk: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +#| msgid "New _Passphrase:" +msgid "New Key Passphrase" +msgstr "Frasa Laluan Kunci Baru" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Masukkan frasa laluan baharu untuk: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Masukkan frasa laluan baru sekali lagi: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Kunci Selamat Shell Baharu" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Satu kunci Shell Selamat (SSH) membiarkan anda bersambung secara selamat " +"dengan komputer lain." + +#: ssh/seahorse-ssh-generate.ui:108 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Alamat emel anda, atau peringatan apakah kegunaan kunci ini." + +#: ssh/seahorse-ssh-generate.ui:124 +msgid "Encryption _Type:" +msgstr "_Jenis Penyulitan:" + +#: ssh/seahorse-ssh-generate.ui:142 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:143 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:144 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:186 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Jika terdapat komputer yang anda mahu guna kunci ini dengannya, anda boleh " +"tetapkan komputer tersebut dapat mengenal pasti kunci baharu anda." + +#: ssh/seahorse-ssh-generate.ui:212 +msgid "_Just Create Key" +msgstr "_Hanya Cipta Kunci" + +#: ssh/seahorse-ssh-generate.ui:226 +#| msgid "Create a new key" +msgid "_Create and Set Up" +msgstr "_Cipta dan buat Persediaan" + +#: ssh/seahorse-ssh-key-properties.ui:16 +#| msgid "Show key properties" +msgid "SSH Key Properties" +msgstr "Sifat Kunci SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:55 +#| msgid "Name" +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nama" + +#: ssh/seahorse-ssh-key-properties.ui:88 +msgid "Algorithm" +msgstr "Algoritma" + +#: ssh/seahorse-ssh-key-properties.ui:115 +#| msgid "Key _Length:" +msgid "Key Length" +msgstr "Panjang Kunci" + +#: ssh/seahorse-ssh-key-properties.ui:142 +msgid "Location" +msgstr "Lokasi" + +#: ssh/seahorse-ssh-key-properties.ui:220 +msgid "Remote Access" +msgstr "Capaian Jauh" + +#: ssh/seahorse-ssh-key-properties.ui:233 +msgid "Allows accessing this computer remotely" +msgstr "Benarkan mencapai komputer ini secara jauh" + +#: ssh/seahorse-ssh-key-properties.ui:311 +msgid "Delete SSH Key" +msgstr "Padam Kunci SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Sediakan Komputer dengan Sambungan SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Untuk menggunakan kunci Shell Selamat anda dengan komputer lain yang juga " +"menggunakan SSH, anda mesti mempunyai akaun daftar masuk bagi komputer " +"tersebut." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Alamat _pelayan:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "cth. pelayanfail.contoh.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "Nama _daftar masuk:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Persediaan" + +#: ssh/source.vala:42 +msgid "OpenSSH keys" +msgstr "Kunci OpenSSH" + +#: ssh/source.vala:47 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:51 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:245 +msgid "No private key file is available for this key." +msgstr "Tiada fail kunci persendirian tersedia untuk kunci ini." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Tidak dapat Mengkonfigur kunci-kunci Shell Selamat pada komputer jauh." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Mengkonfigur Kunci Shell Selamat…" + +#, fuzzy +#~ msgid "Text" +#~ msgstr "Teks Sahaja" + +#, fuzzy +#~ msgid "Unparseable Key ID" +#~ msgstr "diHidupkan" + +#~ msgid "Decrypt..." +#~ msgstr "Nyahenkripsi..." + +#~ msgid "Decryption operations on PGP encrypted files" +#~ msgstr "Operasi nyahenkripsi ipada fail dienkripsikan PGP" + +#~ msgid "Encrypt and sign operations on files" +#~ msgstr "Operasi enkripsi dan tandatangan pada fail" + +#~ msgid "Import operation on PGP key files" +#~ msgstr "Operasi import pada fail kekunci PGP" + +#~ msgid "Seahorse PGP decrypt operations" +#~ msgstr "Operasi nyahenkripsi PGP Seahorse" + +#~ msgid "Seahorse PGP encrypt and sign operations" +#~ msgstr "Operasi enkripsi dan tandatangan PGP Seahorse" + +#~ msgid "Seahorse PGP import operation" +#~ msgstr "Operasi pengimportan PGP Seahorse" + +#~ msgid "Seahorse PGP verify operation" +#~ msgstr "Operasi tentusahan PGP Seahorse" + +#~ msgid "Verify" +#~ msgstr "Tentusah" + +#~ msgid "Verify operation on PGP signed files" +#~ msgstr "Operasi tentusah pada fail ditandatangani PGP" + +#~ msgid "How often to show progress during listing" +#~ msgstr "Berapa kerap memapar progres ketika penyenaraian" + +#, fuzzy +#~ msgid "ID of the default key" +#~ msgstr "_Jana Kekunci" + +#, fuzzy +#~ msgid "Whether to use canonical text mode" +#~ msgstr "output mod teks kononikal" + +#, fuzzy +#~ msgid "Bad passphrase! Try again for '%s'" +#~ msgstr "Tukar FrasaLaluan" + +#~ msgid "*" +#~ msgstr "*" + +#~ msgid "_Ascii Armor" +#~ msgstr "Perisai ASCII" + +#, fuzzy +#~ msgid "_Text Mode" +#~ msgstr "Editor _Teks" + +#, fuzzy +#~ msgid "_Encrypt to Self" +#~ msgstr "Enkripsi teks" + +#, fuzzy +#~ msgid "_Default Key:" +#~ msgstr "_Jana Kekunci" + +#, fuzzy +#~ msgid "Selected %d recipient" +#~ msgid_plural "Selected %d recipients" +#~ msgstr[0] "Padam kekunci" +#~ msgstr[1] "Padam kekunci" + +#, fuzzy +#~ msgid "Selected %d recipient " +#~ msgid_plural "Selected %d recipients " +#~ msgstr[0] "Padam kekunci" +#~ msgstr[1] "Padam kekunci" + +#, fuzzy +#~ msgid "%s: Bad signature" +#~ msgstr "buat tandatangan" + +#, fuzzy +#~ msgid "%s: Not a signature" +#~ msgstr "Bukan satu tandatangan" + +#, fuzzy +#~ msgid "_Encrypt..." +#~ msgstr "Enkripsi..." + +#, fuzzy +#~ msgid "Decr_ypt/Verify" +#~ msgstr "Nyahenkripsikan fail" + +#, fuzzy +#~ msgid "Decrypt and/or Verify PGP text" +#~ msgstr "Nyahenkripsikan fail" + +#, fuzzy +#~ msgid "Sig_n..." +#~ msgstr "T.tangan..." + +#, fuzzy +#~ msgid "Couldn't encrypt text" +#~ msgstr "Nyahenkripsi teks" + +#, fuzzy +#~ msgid "Encrypted text" +#~ msgstr "Nyahenkripsi teks" + +#, fuzzy +#~ msgid "No PGP encrypted or signed text is selected." +#~ msgstr "Enkripsikan fail" + +#, fuzzy +#~ msgid "Verified text" +#~ msgstr "Eksport Kekunci" + +#, fuzzy +#~ msgid "Imported %d key" +#~ msgid_plural "Imported %d keys" +#~ msgstr[0] "Import Kekunci" +#~ msgstr[1] "Import Kekunci" + +#, fuzzy +#~ msgid "Signed text" +#~ msgstr "T.tangan Kekunci" + +#, fuzzy +#~ msgid "PGP Encryption" +#~ msgstr "_Enkripsi" + +#, fuzzy +#~ msgid "The PGP encrypt plugin performs encryption operations on text." +#~ msgstr "Operasi enkripsi dan tandatangan PGP Seahorse" + +#, fuzzy +#~ msgid "Import keys from the file" +#~ msgstr "Import Kekunci" + +#, fuzzy +#~ msgid "Encrypt file" +#~ msgstr "Enkripsikan fail" + +#, fuzzy +#~ msgid "Encrypt and sign file with default key" +#~ msgstr "Enkripsikan fail" + +#, fuzzy +#~ msgid "Verify signature file" +#~ msgstr "tentusah tandatangan" + +#, fuzzy +#~ msgid "Couldn't import keys from \"%s\"" +#~ msgstr "Import Kekunci" + +#, fuzzy +#~ msgid "Choose Signature File Name for '%s'" +#~ msgstr "Enkripsikan fail" + +#, fuzzy +#~ msgid "Choose Decrypted File Name for '%s'" +#~ msgstr "Nyahenkripsikan fail" + +#, fuzzy +#~ msgid "GPG Keys Manager" +#~ msgstr "Pengurus Kekunci" + +#~ msgid "%s is a key pair! Do you still want to delete it?" +#~ msgstr "%s adalah pasangan kekunci! Adakah anda ingin memadamnya?" + +#~ msgid "Confirmation of passphrase" +#~ msgstr "Kepastian bagi frasaLaluan" + +#~ msgid "Generate a Key" +#~ msgstr "Jana Kekunci" + +#~ msgid "_Generate" +#~ msgstr "_Jana" + +#, fuzzy +#~ msgid "Confirm Passphrase:" +#~ msgstr "Ke_pastian FrasaLaluan:" + +#, fuzzy +#~ msgid "Date the Key Expires" +#~ msgstr "Luput" + +#, fuzzy +#~ msgid "Email Address:" +#~ msgstr "Alamat _Emel:" + +#, fuzzy +#~ msgid "Full Name:" +#~ msgstr "Nama _Penuh:" + +#, fuzzy +#~ msgid "Key Generation Assistant" +#~ msgstr "Luput:" + +#, fuzzy +#~ msgid "Passphrase:" +#~ msgstr "_Frasalaluan:" + +#, fuzzy +#~ msgid "Seahorse Key Generation Assistant" +#~ msgstr "Operasi nyahenkripsi PGP Seahorse" + +#, fuzzy +#~ msgid "Couldn't import keys from clipboard" +#~ msgstr "Import kekunci drpd papanklip" + +#, fuzzy +#~ msgid "Couldn't import key from \"%s\"" +#~ msgstr "Import Kekunci" + +#~ msgid "Add P_hoto ID..." +#~ msgstr "Tambah ID _Foto..." + +#~ msgid "Add Sub_key..." +#~ msgstr "Tambah Sub_kekunci..." + +#~ msgid "Add _User ID..." +#~ msgstr "Tambah ID _Pengguna..." + +#~ msgid "Add a new user ID" +#~ msgstr "Tambah ID pengguna baru" + +#, fuzzy +#~ msgid "Backup all keys" +#~ msgstr "Backup pasangan kekunci" + +#~ msgid "Collapse all listings" +#~ msgstr "Kuncupkan semua senarai" + +#~ msgid "Delete key" +#~ msgstr "Padam kekunci" + +#~ msgid "E_xport" +#~ msgstr "E_ksport" + +#~ msgid "E_xport..." +#~ msgstr "E_ksport..." + +#~ msgid "Expand all listings" +#~ msgstr "Kembangkan semua senarai" + +#~ msgid "Export key" +#~ msgstr "Eksport kekunci" + +#, fuzzy +#~ msgid "Generate a new key of your own: " +#~ msgstr "Jana kekunci baru" + +#, fuzzy +#~ msgid "Import existing keys from a file:" +#~ msgstr "Import kekunci drpd satu fail" + +#~ msgid "Seahorse - GPG Key Manager" +#~ msgstr "Seahorse - Pengurus Kekunci GPG" + +#~ msgid "Show Seahorse help" +#~ msgstr "Papar bantuan Seahorse" + +#, fuzzy +#~ msgid "_Backup Keyrings..." +#~ msgstr "_Backup..." + +#~ msgid "_Change Passphrase..." +#~ msgstr "_Tukar FrasaLaluan..." + +#~ msgid "_Collapse All" +#~ msgstr "Kun_cupkan Semua" + +#~ msgid "_Contents" +#~ msgstr "_Kandungan" + +#~ msgid "_Expand All" +#~ msgstr "Kem_bangkan Semua" + +#, fuzzy +#~ msgid "_Generate Revocation Certificate..." +#~ msgstr "Jana Sijil Pembatalan" + +#~ msgid "_Import" +#~ msgstr "_Import" + +#~ msgid "_Import..." +#~ msgstr "_Import..." + +#~ msgid "_New..." +#~ msgstr "Ba_ru..." + +#~ msgid "_Sign..." +#~ msgstr "_T.tangan..." + +#, fuzzy +#~ msgid "Key creation date" +#~ msgstr "Luput:" + +#, fuzzy +#~ msgid "All Signatures" +#~ msgstr "_Tandatangan:" + +#, fuzzy +#~ msgid "_Revoke" +#~ msgstr "Batal" + +#, fuzzy +#~ msgid "Revoke subkey %d" +#~ msgstr "Revoke Kekunci" + +#~ msgid "Delete subkey %d" +#~ msgstr "Padam subkekunci %d" + +#~ msgid "All" +#~ msgstr "Semua" + +#~ msgid "Dis_abled" +#~ msgstr "Di_matikan" + +#~ msgid "Disabled keys cannot be used for operations" +#~ msgstr "Kekunci dimatikan tak boleh digunakan bagi operasi" + +#~ msgid "User IDs" +#~ msgstr "ID Pengguna" + +#, fuzzy +#~ msgid "User IDs:" +#~ msgstr "ID Pengguna" + +#, fuzzy +#~ msgid "Copy the selected key to the clipboard" +#~ msgstr "Eksport kekunci ke papanklip" + +#, fuzzy +#~ msgid "Save the key to a file" +#~ msgstr "Eksport kekunci ke satu fail" + +#, fuzzy +#~ msgid "_Import to Keyring..." +#~ msgstr "_Import..." + +#, fuzzy +#~ msgid "Encrypt each file seperately" +#~ msgstr "Enkripsikan fail" + +#, fuzzy +#~ msgid "Decrypt PGP File (Seahorse)" +#~ msgstr "Nyahenkripsikan fail" + +#, fuzzy +#~ msgid "Verify PGP Signature (Seahorse)" +#~ msgstr "tentusah tandatangan" + +#~ msgid "Key Manager" +#~ msgstr "Pengurus Kekunci" + +#~ msgid "_Trust" +#~ msgstr "_Percaya" + +#~ msgid "_Length" +#~ msgstr "_Panjang" + +#~ msgid "T_ype" +#~ msgstr "_Jenis" + +#~ msgid "Close Preferences" +#~ msgstr "Tutup Keutamaan" + +#, fuzzy +#~ msgid "Default Key:" +#~ msgstr "_Jana Kekunci" + +#~ msgid "Preferences Help" +#~ msgstr "Bantuan Keutamaan" + +#, fuzzy +#~ msgid "Are you sure you want to sign all user IDs for %s?" +#~ msgstr "Anda pasti untuk memadam kekunci %s, %s buat selamanya?" + +#, fuzzy +#~ msgid "Are you sure you want to sign the '%s' user ID?" +#~ msgstr "Anda pasti untuk memadam kekunci %s, %s buat selamanya?" + +#~ msgid "Default answer" +#~ msgstr "Jawapan default" + +#~ msgid "No answer" +#~ msgstr "Tiada jawapan" + +#, fuzzy +#~ msgid "_Revocable" +#~ msgstr "Batal" + +#, fuzzy +#~ msgid "Loaded %d key pair" +#~ msgid_plural "Loaded %d key pairs" +#~ msgstr[0] "Padam" +#~ msgstr[1] "Padam" + +#, fuzzy +#~ msgid "Loaded %d new key" +#~ msgid_plural "Loaded %d new keys" +#~ msgstr[0] "Tambah subkekunci baru" +#~ msgstr[1] "Tambah subkekunci baru" + +#~ msgid "Operation complete" +#~ msgstr "Operasi Selesai" + +#~ msgid "Decrypt And Verify Signatures..." +#~ msgstr "Nyahenkripsi Dan Tentusah t.tangan..." + +#, fuzzy +#~ msgid "Decrypt encrypt file and verify any signatures it contains" +#~ msgstr "Nyahenkripsikan fail" + +#~ msgid "Choose a file to export to" +#~ msgstr "Pilih fail untuk dieksportkan kepada" + +#~ msgid "Export to _Clipboard:" +#~ msgstr "Eksport ke _Papanklip:" + +#, fuzzy +#~ msgid "Export to _File:" +#~ msgstr "Eksport ke _Fail:" + +#~ msgid "Export to _Server:" +#~ msgstr "Eksport ke _Pelayan:" + +#~ msgid "Name of file to export to" +#~ msgstr "Nama bagi fail untuk dieksportkan" + +#~ msgid "www.keyserver.net/en" +#~ msgstr "www.keyserver.net/en" + +#~ msgid "Enter a unique key id" +#~ msgstr "Masukkan id kekunci unik" + +#~ msgid "Import from _Clipboard:" +#~ msgstr "Import drpd _Papanklip:" + +#~ msgid "Import from _Server:" +#~ msgstr "Import drpd _Pelayan:" + +#~ msgid "Import keys from selected source" +#~ msgstr "Import kekunci drpd sumber dipilih" + +#~ msgid "Select File to Import" +#~ msgstr "Pilih Fail untuk Diimport" + +#~ msgid "Select or enter a key server's web address" +#~ msgstr "PIlih atau masukkan alamat web pelayan kekunci" + +#~ msgid "_Key ID:" +#~ msgstr "ID _Kekunci:" + +#~ msgid "View statusbar" +#~ msgstr "Papar bar status" + +#~ msgid "View toolbar" +#~ msgstr "Lihat toolbar" + +#~ msgid "User ID %d" +#~ msgstr "ID Pengguna %d" + +#~ msgid "Compression" +#~ msgstr "Mampatan" + +#~ msgid "Icons Only" +#~ msgstr "Ikon Sahaja" + +#~ msgid "Only show icons" +#~ msgstr "Hanya papar ikon" + +#~ msgid "Only show text" +#~ msgstr "Hanya papar teks" + +#~ msgid "Show text below icons" +#~ msgstr "Papar teks dibawah ikon" + +#~ msgid "Text Below Icons" +#~ msgstr "Teks Dibawah Ikon" + +#~ msgid "Text Beside Icons" +#~ msgstr "Teks Disebelah Ikon" + +#~ msgid "Toolbar _Style:" +#~ msgstr "_Gaya Toolbar:" + +#~ msgid "Use system settings" +#~ msgstr "Guna tetapan sistem" + +#, fuzzy +#~ msgid "Use Ascii Armor" +#~ msgstr "Perisai ASCII" + +#, fuzzy +#~ msgid "Select File To Decrypt" +#~ msgstr "Pilih Fail" + +#, fuzzy +#~ msgid "Select File To Decrypt And Verify" +#~ msgstr "Nyahenkripsikan fail" + +#~ msgid "Select File To Encrypt" +#~ msgstr "Pilih Fail Untuk Dienkripsikan" + +#, fuzzy +#~ msgid "Select File To Encrypt And Sign" +#~ msgstr "Pilih Fail" + +#~ msgid "Export key to text" +#~ msgstr "Eksport kekunci ke teks" + +#, fuzzy +#~ msgid "Export to _Text:" +#~ msgstr "Eksport Kekunci" + +#, fuzzy +#~ msgid "_Expiration Date" +#~ msgstr "Luput:" + +#~ msgid "Keys" +#~ msgstr "Kekunci" + +#~ msgid "_Remove" +#~ msgstr "_Buang" + +#, fuzzy +#~ msgid "Select Signature File To Verify" +#~ msgstr "tentusah tandatangan" + +#, fuzzy +#~ msgid "Decrypt & Ve_rify File" +#~ msgstr "Nyahenkripsikan fail" + +#, fuzzy +#~ msgid "Decrypt and verify a file" +#~ msgstr "Nyahenkripsikan fail" + +#, fuzzy +#~ msgid "E_ncrypt & Sign File" +#~ msgstr "Enkripsikan fail" + +#, fuzzy +#~ msgid "Text editor tool" +#~ msgstr "Editor _Teks" + +#, fuzzy +#~ msgid "_Decrypt File" +#~ msgstr "Nyahenkripsikan fail" + +#~ msgid "_Encrypt File" +#~ msgstr "_Enkripsi Fail" + +#, fuzzy +#~ msgid "_Sign File" +#~ msgstr "_T.tangan" + +#~ msgid "_Text Editor" +#~ msgstr "Editor _Teks" + +#, fuzzy +#~ msgid "_Verify File" +#~ msgstr "_Tentusah" + +#~ msgid "Export File" +#~ msgstr "Eksport Fail" + +#, fuzzy +#~ msgid "Decrypt & Verify File" +#~ msgstr "Nyahenkripsikan fail" + +#, fuzzy +#~ msgid "Change Expiration" +#~ msgstr "Tukar tarikh Luput" + +#, fuzzy +#~ msgid "Passphrase Change" +#~ msgstr "FrasaLaluan" + +#, fuzzy +#~ msgid "Add Subkey" +#~ msgstr "SubKekunci" + +#~ msgid "Delete Subkey" +#~ msgstr "Padam Subkekunci" + +#, fuzzy +#~ msgid "Revoke Subkey" +#~ msgstr "Revoke Kekunci" + +#, fuzzy +#~ msgid "Add Revoker" +#~ msgstr "Batal" + +#, fuzzy +#~ msgid "Clear Sign" +#~ msgstr "Te_rangkan T.tangan" + +#, fuzzy +#~ msgid "Verify Signature" +#~ msgstr "tentusah tandatangan" + +#~ msgid "_Verify" +#~ msgstr "_Tentusah" + +#~ msgid "_Decrypt" +#~ msgstr "_Nyahenkripsi" + +#, fuzzy +#~ msgid "C_lear Text Sign" +#~ msgstr "Te_rangkan T.tangan" + +#, fuzzy +#~ msgid "Clear Text Sign" +#~ msgstr "Te_rangkan T.tangan" + +#, fuzzy +#~ msgid "Make a clear text signature" +#~ msgstr "buat tandatangan teks jernih" + +#, fuzzy +#~ msgid "Seahorse Text Editor" +#~ msgstr "Editor _Teks" + +#, fuzzy +#~ msgid "Show text editor help" +#~ msgstr "Editor _Teks" + +#~ msgid "Verify a signature" +#~ msgstr "tentusah tandatangan" + +#~ msgid "_Text Editor Help" +#~ msgstr "Bantuan Editor _Teks" diff --git a/po/nb.po b/po/nb.po new file mode 100644 index 00000000..3b701675 --- /dev/null +++ b/po/nb.po @@ -0,0 +1,2620 @@ +# Norwegian bokmål translation of seahorse. +# Copyright (C) 2000-2004 Free Software Foundation, Inc. +# Kjartan Maraas , 2000-2017. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse 3.27.x\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-11-04 01:15+0000\n" +"PO-Revision-Date: 2017-11-09 20:07+0100\n" +"Last-Translator: Kjartan Maraas \n" +"Language-Team: Norwegian bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: common/catalog.vala:257 +msgid "Contributions:" +msgstr "Bidrag:" + +#: common/catalog.vala:285 data/seahorse.desktop.in.in:3 +#: src/seahorse-key-manager.c:660 +msgid "Passwords and Keys" +msgstr "Passord og nøkler" + +#: common/catalog.vala:287 +msgid "translator-credits" +msgstr "" +"Kjartan Maraas \n" +"Espen Stefansen " + +#: common/catalog.vala:290 +msgid "Seahorse Project Homepage" +msgstr "Hjemmesiden til Seahorse-prosjektet" + +#: common/catalog.vala:308 +msgid "Cannot delete" +msgstr "Kan ikke slette" + +#: common/catalog.vala:331 libseahorse/seahorse-key-manager-store.c:443 +msgid "Couldn’t export keys" +msgstr "Kunne ikke eksportere nøkler" + +#: common/catalog.vala:342 +msgid "Couldn’t export data" +msgstr "Kunne ikke eksportere data" + +#: common/catalog.vala:358 libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Kunne ikke vise hjelp: %s" + +#. Top menu items +#: common/catalog.vala:364 +msgid "_File" +msgstr "_Fil" + +#: common/catalog.vala:365 +msgid "E_xport…" +msgstr "E_ksporter …" + +#: common/catalog.vala:366 +msgid "Export to a file" +msgstr "Eksporter til en fil" + +#: common/catalog.vala:367 +msgid "_Edit" +msgstr "R_ediger" + +#: common/catalog.vala:370 +msgid "Copy to the clipboard" +msgstr "Kopier til utklippstavlen" + +#: common/catalog.vala:371 pkcs11/pkcs11-properties.vala:201 +#: src/seahorse-sidebar.c:954 +msgid "_Delete" +msgstr "_Slett" + +#: common/catalog.vala:372 +msgid "Delete selected items" +msgstr "Slett valgte oppføringer" + +#: common/catalog.vala:374 +msgid "Show the properties of this item" +msgstr "Vis egenskaper for denne oppføringen" + +#: common/catalog.vala:376 +msgid "Show the properties of this keyring" +msgstr "Vis egenskaper for denne nøkkelringen" + +#: common/catalog.vala:377 +msgid "Prefere_nces" +msgstr "_Innstillinger" + +#: common/catalog.vala:378 +msgid "Change preferences for this program" +msgstr "Endre brukervalg for dette programmet" + +#: common/catalog.vala:379 +msgid "_View" +msgstr "_Vis" + +#: common/catalog.vala:380 +msgid "_Help" +msgstr "_Hjelp" + +#: common/catalog.vala:382 +msgid "About this program" +msgstr "Om dette programmet" + +#: common/catalog.vala:383 +msgid "_Contents" +msgstr "_Innhold" + +#: common/catalog.vala:384 +msgid "Show Seahorse help" +msgstr "Vis hjelp for Seahorse" + +#: common/exportable.vala:192 pgp/seahorse-pgp-private-key-properties.ui:1427 +msgid "Export" +msgstr "Eksporter" + +#. TRANSLATORS: this date (Year-month-day) is used to display +#. * when something happened, e.g. when a key was created. Feel +#. * free to put it in the correct order for your language. +#. +#: common/util.vala:63 +msgid "%Y-%m-%d" +msgstr "%d.%m.%Y" + +#: data/seahorse.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/seahorse.appdata.xml.in:7 data/seahorse.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Håndter dine passord og krypteringsnøkler" + +#: data/seahorse.appdata.xml.in:9 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"Seahorse er et GNOME program for å håndtere krypteringsnøkler. Det er også " +"integrert med nautilus, gedit og andre programmer for krypteringsoperasjoner." + +#: data/seahorse.appdata.xml.in:13 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Med Seahorse kan du lage og håndtere PGP-nøkler, lage og håndtere SSH-" +"nøkler, publisere og hente nøkler fra nøkkeltjenere, mellomlagre passordet " +"ditt slik at du ikke må skrive det hver gang, og sikkerhetskopiere nøkler og " +"nøkkelring." + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/seahorse.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "nøkkelring;kryptering;sikkerhet;signering;ssh;" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/seahorse.desktop.in.in:11 +msgid "seahorse" +msgstr "seahorse" + +#: gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Passord" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Lagrede personlige passord, påloggingsinformasjon og hemmeligheter" + +#: gkr/gkr-backend.vala:251 +msgid "New password keyring" +msgstr "Ny nøkkelring for passord" + +#: gkr/gkr-backend.vala:252 gkr/gkr-backend.vala:259 +msgid "Used to store application and network passwords" +msgstr "Brukes til å lagre passord for programmer og nettverk" + +#: gkr/gkr-backend.vala:253 +msgid "New password…" +msgstr "Nytt passord …" + +#: gkr/gkr-backend.vala:254 gkr/gkr-backend.vala:261 +msgid "Safely store a password or secret." +msgstr "Lagre et passord eller en hemmelighet på en trygg måte." + +#: gkr/gkr-backend.vala:258 +msgid "Password Keyring" +msgstr "Nøkkelringer for passord" + +#: gkr/gkr-backend.vala:260 +msgid "Stored Password" +msgstr "Lagret passord" + +#: gkr/gkr-item-add.vala:24 +msgid "Add Password" +msgstr "Legg til passord" + +#: gkr/gkr-item-add.vala:101 +msgid "Couldn’t add item" +msgstr "Kunne ikke legge til oppføring" + +#: gkr/gkr-item-properties.vala:136 +msgid "Access a network share or resource" +msgstr "Aksesser en delt nettverksressurs" + +#: gkr/gkr-item-properties.vala:139 +msgid "Access a website" +msgstr "Aksesser et nettsted" + +#: gkr/gkr-item-properties.vala:142 +msgid "Unlocks a PGP key" +msgstr "Låser opp en GPG-nøkkel" + +#: gkr/gkr-item-properties.vala:145 +msgid "Unlocks a Secure Shell key" +msgstr "Låser opp en nøkkel for sikkert skall" + +#: gkr/gkr-item-properties.vala:148 +msgid "Saved password or login" +msgstr "Lagret passord eller pålogging" + +#: gkr/gkr-item-properties.vala:161 +msgid "Network Credentials" +msgstr "Påloggingsinformasjon for nettverk" + +#: gkr/gkr-item-properties.vala:166 +msgid "Password" +msgstr "Passord" + +#: gkr/gkr-item-properties.vala:235 +msgid "Couldn’t change password." +msgstr "Kunne ikke endre passord." + +#: gkr/gkr-item-properties.vala:275 +msgid "Couldn’t set description." +msgstr "Kunne ikke sette beskrivelse." + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "Passord for IM-konto for " + +#: gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "Passord eller hemmelighet" + +#: gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "Nettverkspassord" + +#: gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "Lagret notat" + +#: gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "Passord for nøkkelring" + +#: gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "Passord for krypteringsnøkkel" + +#: gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "Passord for nøkkellager" + +#: gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "Passord for Google Chrome" + +#: gkr/gkr-item.vala:451 +msgid "GNOME Online Accounts password" +msgstr "Passord for GNOME's kontoer på nettet" + +#: gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "Passord for Telepathy" + +#: gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "Passord for lynmeldinger" + +#: gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "Hemmelighet for Network Manager" + +#: gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Er du sikker på at du vil slette passordet «%s»?" + +#: gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Er du sikker på at du vil slette %d passord?" +msgstr[1] "Er du sikker på at du vil slette %d passord?" + +#: gkr/gkr-keyring-add.vala:25 +msgid "Add Password Keyring" +msgstr "Legg til nøkkelring for passord" + +#: gkr/gkr-keyring-add.vala:55 +msgid "Couldn’t add keyring" +msgstr "Kunne ikke legge til nøkkelring" + +#: gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "En nøkkelring som låses opp automatisk ved innlogging" + +#: gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "En nøkkelring som brukes til å lagre passord" + +#: gkr/gkr-keyring.vala:174 +msgid "Couldn’t set default keyring" +msgstr "Kunne ikke sette forvalgt nøkkelring" + +#: gkr/gkr-keyring.vala:198 gkr/gkr-keyring.vala:203 +msgid "Couldn’t change keyring password" +msgstr "Kunne ikke endre passord for nøkkelring" + +#: gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "_Sett som forvalg" + +#: gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "Programmer lagrer vanligvis nye passord i forvalgt nøkkelring." + +#: gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "Bytt _passord" + +#: gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "Endre passord for å låse opp nøkkelring for lagring av passord" + +#: gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Er du sikker på at du vil slette passordnøkkelringen «%s»?" + +#: gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "Jeg forstår at alle oppføringer vil bli slettet permanent." + +#: gkr/seahorse-add-keyring.ui:17 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Vennligst velg et navn for den nye nøkkelringen. Du vil bli spurt om et " +"passord for å låse den opp." + +#: gkr/seahorse-add-keyring.ui:34 +msgid "New Keyring Name:" +msgstr "Nytt navn på nøkkelring:" + +#: gkr/seahorse-gkr-add-item.ui:20 gkr/seahorse-gkr-item-properties.ui:42 +#: pgp/seahorse-revoke.ui:55 ssh/seahorse-ssh-generate.ui:131 +msgid "_Description:" +msgstr "_Beskrivelse:" + +#: gkr/seahorse-gkr-add-item.ui:49 +msgid "_Password:" +msgstr "_Passord:" + +#: gkr/seahorse-gkr-add-item.ui:60 +msgid "_Show Password" +msgstr "Vi_s passord" + +#: gkr/seahorse-gkr-add-item.ui:93 +msgid "_Keyring:" +msgstr "Nø_kkelring:" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:69 +#: pgp/seahorse-pgp-private-key-properties.ui:553 +#: pgp/seahorse-pgp-public-key-properties.ui:442 +#: ssh/seahorse-ssh-key-properties.ui:166 +msgid "Use:" +msgstr "Bruk:" + +#: gkr/seahorse-gkr-item-properties.ui:102 +#: pgp/seahorse-pgp-private-key-properties.ui:567 +#: pgp/seahorse-pgp-private-key-properties.ui:1106 +#: pgp/seahorse-pgp-public-key-properties.ui:557 +#: pgp/seahorse-pgp-public-key-properties.ui:1223 +#: ssh/seahorse-ssh-key-properties.ui:86 +msgid "Type:" +msgstr "Type:" + +#: gkr/seahorse-gkr-item-properties.ui:115 +msgid "Server:" +msgstr "Tjener:" + +#: gkr/seahorse-gkr-item-properties.ui:128 +msgid "Login:" +msgstr "Pålogging:" + +#: gkr/seahorse-gkr-item-properties.ui:226 +msgid "Show pass_word" +msgstr "Vis pass_ord" + +#: gkr/seahorse-gkr-item-properties.ui:246 +#: libseahorse/seahorse-passphrase.c:179 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Passord:" + +#: gkr/seahorse-gkr-item-properties.ui:266 pgp/seahorse-pgp-subkey.c:402 +#: ssh/seahorse-ssh-key-properties.ui:290 +msgid "Key" +msgstr "Nøkkel" + +#: gkr/seahorse-gkr-item-properties.ui:315 +#: pgp/seahorse-pgp-public-key-properties.ui:1151 +#: ssh/seahorse-ssh-key-properties.ui:459 +msgid "Technical Details:" +msgstr "Tekniske detaljer:" + +#: gkr/seahorse-gkr-item-properties.ui:335 +#: pgp/seahorse-pgp-private-key-properties.ui:1722 +#: pgp/seahorse-pgp-public-key-properties.ui:1611 +#: ssh/seahorse-ssh-key-properties.ui:502 +msgid "Details" +msgstr "Detaljer" + +#: gkr/seahorse-gkr-keyring.ui:46 +msgid "Name:" +msgstr "Navn:" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-keyring.ui:59 +#: pgp/seahorse-pgp-private-key-properties.ui:1233 +#: pgp/seahorse-pgp-public-key-properties.ui:1384 +msgid "Created:" +msgstr "Opprettet:" + +#: gkr/seahorse-gkr-keyring.ui:124 +msgid "Keyring" +msgstr "Nøkkelring" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Vis flagg" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Viste egenskaper for dato og/eller tid" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Lat modus" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Lat modus normaliserer ikke oppgitte dato- og tidsverdier" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "År" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Vist år" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Måned" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Vist måned" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dag" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Vist dag i måneden" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Time" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Vist time" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr " Minutt" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Vist minutt" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekund" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Vist sekund" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "År i nedre grense" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "År-delen av nedre datogrense" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "År i øvre grense" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "År-delen av øvre datogrense" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Nedre grense for måned" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Månedsdelen av den nedre datogrensen" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Øvre grense for måned" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Månedsdelen av øvre datogrense" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Nedre grense for dag" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Dag i måneden i forhold til nedre datogrense" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Øvre grense for dag" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Dag i måneden iht øvre datogrense" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Nedre grense for time" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Timedelen av nedre tidsgrense" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Øvre grense for time" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Timedelen av øvre tidsgrense" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Nedre grense for minutt" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Minuttdelen av nedre tidsgrense" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Øvre grense for minutt" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Minuttdelen av øvre tidsgrense" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Nedre grense for sekund" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Sekunddelen av nedre tidsgrense" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Øvre grense for sekund" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Sekunddelen av øvre tidsgrense" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Dato" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Oppgi dato direkte" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Velg dato" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Velg dato fra en kalender" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "Tid" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Oppgi tid direkte" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Velg tid" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Velg tid fra en liste" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "ja" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1259 +#: libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1260 +#: libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d.%02d.%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d.%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d. %02d.%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d.%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u.%u.%u" + +#: libseahorse/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "opprinnelig midlertidig oppføring" + +#: libseahorse/seahorse-add-keyserver.ui:18 +msgid "Add Key Server" +msgstr "Legg til nøkkeltjener" + +#: libseahorse/seahorse-add-keyserver.ui:41 +msgid "Key Server Type:" +msgstr "Type nøkkeltjener:" + +#: libseahorse/seahorse-add-keyserver.ui:65 +msgid "Host:" +msgstr "Vert:" + +#: libseahorse/seahorse-add-keyserver.ui:83 ssh/seahorse-ssh-upload.ui:50 +#: ssh/seahorse-ssh-upload.ui:117 +msgid "The host name or address of the server." +msgstr "Vertsnavnet eller adressen til tjeneren." + +#: libseahorse/seahorse-add-keyserver.ui:98 +msgid ":" +msgstr ":" + +#: libseahorse/seahorse-add-keyserver.ui:110 +msgid "The port to access the server on." +msgstr "Port som tjeneren skal aksesseres på." + +#: libseahorse/seahorse-application.c:108 +msgid "Version of this application" +msgstr "Versjon av dette programmet" + +#: libseahorse/seahorse-application.c:114 +#: libseahorse/seahorse-application.c:158 +msgid "- System Settings" +msgstr "- Systeminnstillinger" + +#: libseahorse/seahorse-application.c:154 +msgid "Don't display a window" +msgstr "Ikke vis et vindu" + +#: libseahorse/seahorse-interaction.c:98 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Oppgi PIN eller passord for: %s" + +#. The second and main entry +#: libseahorse/seahorse-passphrase.c:241 +msgid "Confirm:" +msgstr "Bekreft:" + +#: libseahorse/seahorse-prefs.c:65 +msgid "Not a valid Key Server address." +msgstr "Ikke en gyldig adresse til nøkkeltjener." + +#: libseahorse/seahorse-prefs.c:66 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Kontakt din systemadministrator eller nøkkeltjenerens administrator for " +"hjelp." + +#: libseahorse/seahorse-prefs.c:179 +msgid "URL" +msgstr "URL" + +#: libseahorse/seahorse-prefs.c:349 +msgid "Custom" +msgstr "Egendefinert" + +#: libseahorse/seahorse-prefs.c:402 +msgid "None: Don’t publish keys" +msgstr "Ingen: Ikke publiser nøkler" + +#: libseahorse/seahorse-prefs.ui:7 +msgid "Preferences" +msgstr "Brukervalg" + +#: libseahorse/seahorse-prefs.ui:50 +msgid "_Find keys via:" +msgstr "_Finn nøkler via:" + +#: libseahorse/seahorse-prefs.ui:121 +msgid "_Publish keys to:" +msgstr "_Publiser nøkler til:" + +#: libseahorse/seahorse-prefs.ui:133 +msgid "Automatically retrieve keys from _key servers" +msgstr "Hent nøkler fra nø_kkeltjenere automatisk." + +#: libseahorse/seahorse-prefs.ui:150 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Synkroniser _endrede nøkler med nøkkeltjenere automatisk." + +#: libseahorse/seahorse-prefs.ui:176 +msgid "Key Servers" +msgstr "Nøkkeltjenere" + +#: libseahorse/seahorse-search-provider.c:186 +msgid "The search provider is not loaded yet" +msgstr "Søketilbyder er ikke lastet ennå" + +#: libseahorse/seahorse-validity.c:38 pgp/seahorse-pgp-key-properties.c:1251 +#: pgp/seahorse-pgp-private-key-properties.ui:12 +#: pgp/seahorse-pgp-public-key-properties.ui:12 +msgctxt "Validity" +msgid "Unknown" +msgstr "Ukjent" + +#: libseahorse/seahorse-validity.c:40 pgp/seahorse-pgp-key-properties.c:1257 +#: pgp/seahorse-pgp-private-key-properties.ui:15 +#: pgp/seahorse-pgp-public-key-properties.ui:15 +msgctxt "Validity" +msgid "Never" +msgstr "Aldri" + +#: libseahorse/seahorse-validity.c:42 +#: pgp/seahorse-pgp-private-key-properties.ui:18 +msgctxt "Validity" +msgid "Marginal" +msgstr "Marginal" + +#: libseahorse/seahorse-validity.c:44 +#: pgp/seahorse-pgp-private-key-properties.ui:21 +msgctxt "Validity" +msgid "Full" +msgstr "Full" + +#: libseahorse/seahorse-validity.c:46 +#: pgp/seahorse-pgp-private-key-properties.ui:24 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Ultimat" + +#: libseahorse/seahorse-validity.c:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Deaktivert" + +#: libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Tilbakekalt" + +#: pgp/seahorse-add-subkey.ui:31 +msgid "Never E_xpires" +msgstr "Går _aldri ut" + +#: pgp/seahorse-add-subkey.ui:35 +msgid "If key never expires" +msgstr "Hvis nøkkelen aldri utgår" + +#: pgp/seahorse-add-subkey.ui:65 pkcs11/seahorse-pkcs11-generate.ui:149 +msgid "Key _Type:" +msgstr "Nøkkel_type:" + +#: pgp/seahorse-add-subkey.ui:78 +msgid "Key _Length:" +msgstr "Nøkkel_lengde:" + +#: pgp/seahorse-add-subkey.ui:93 +msgid "Expiration Date:" +msgstr "Utløpsdato:" + +#: pgp/seahorse-add-subkey.ui:112 +msgid "Length of Key" +msgstr "Lengde på nøkkel" + +#: pgp/seahorse-add-subkey.ui:194 +msgid "Generate a new subkey" +msgstr "Generer en ny undernøkkel" + +#: pgp/seahorse-add-uid.ui:8 +msgid "Add User ID" +msgstr "Legg til bruker-ID" + +#: pgp/seahorse-add-uid.ui:28 +msgid "Must be at least 5 characters long" +msgstr "Må være minst 5 tegn langt" + +#: pgp/seahorse-add-uid.ui:42 +msgid "Optional email address" +msgstr "Alternativ e-postadresse" + +#: pgp/seahorse-add-uid.ui:58 +msgid "Optional comment describing key" +msgstr "Valgfri kommentar som beskriver nøkkelen" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-add-uid.ui:73 pgp/seahorse-pgp-generate.ui:191 +msgid "Full _Name:" +msgstr "Fullt _navn:" + +#: pgp/seahorse-add-uid.ui:86 pgp/seahorse-pgp-generate.ui:204 +msgid "_Email Address:" +msgstr "_E-postadresse:" + +#: pgp/seahorse-add-uid.ui:101 +msgid "Key Co_mment:" +msgstr "Nøkkel-ko_mmentar:" + +#: pgp/seahorse-add-uid.ui:162 +msgid "Create the new user ID" +msgstr "Opprett ny bruker-ID" + +#: pgp/seahorse-expires.ui:22 +msgid "_Never expires" +msgstr "_Går aldri ut" + +#: pgp/seahorse-expires.ui:80 pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Trekk tilbake nøkkel" + +#: pgp/seahorse-expires.ui:106 +msgid "C_hange" +msgstr "E_ndre" + +#: pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn’t add subkey" +msgstr "Kunne ikke legge til undernøkkel" + +#: pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "Legg til undernøkkel til %s" + +#: pgp/seahorse-gpgme-add-subkey.c:196 pgp/seahorse-gpgme-generate.c:132 +msgid "DSA (sign only)" +msgstr "DSA (kun signering)" + +#: pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (kun kryptering)" + +#: pgp/seahorse-gpgme-add-subkey.c:210 pgp/seahorse-gpgme-generate.c:133 +msgid "RSA (sign only)" +msgstr "RSA (kun signering)" + +#: pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (kun kryptering)" + +#: pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn’t add user id" +msgstr "Kunne ikke legge til bruker-ID" + +#: pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "Legg til bruker-ID i %s" + +#: pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "Ugyldig utløpsdato" + +#: pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "Uløpsdato må være i framtiden" + +#: pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn’t change expiry date" +msgstr "Kunne ikke endre utløpsdato" + +#: pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "Utgår: %s" + +#: pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "Flere nøkler" + +#: pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "Nøkkeldata" + +#: pgp/seahorse-gpgme-exporter.c:116 +msgid "Armored PGP keys" +msgstr "Beskyttede PGP-nøkler" + +#: pgp/seahorse-gpgme-exporter.c:120 +msgid "PGP keys" +msgstr "PGP-nøkler" + +#: pgp/seahorse-gpgme-generate.c:93 +msgid "PGP Key" +msgstr "PGP-nøkkel" + +#: pgp/seahorse-gpgme-generate.c:94 +msgid "Used to encrypt email and files" +msgstr "Brukes til å kryptere e-post og filer" + +#: pgp/seahorse-gpgme-generate.c:130 pkcs11/seahorse-pkcs11-generate.c:90 +#: ssh/seahorse-ssh-generate.ui:254 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate.c:131 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate.c:180 +msgid "Couldn’t generate PGP key" +msgstr "Kunne ikke lage PGP-nøkkel" + +#: pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "Passordfrase for ny PGP-nøkkel" + +#: pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "Oppgi passordfrasen for din nye nøkkel to ganger." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Når en nøkkel lages må det genereres en masse\n" +"tilfeldige data og vi trenger din hjelp. Det er bra\n" +"å utføre en eller annen handling som å skrive på\n" +"tastaturet, bevege pekeren eller bruke programmer.\n" +"Dette gir systemet de tilfeldige data det trenger." + +#: pgp/seahorse-gpgme-generate.c:231 pkcs11/seahorse-pkcs11-generate.c:458 +msgid "Generating key" +msgstr "Genererer nøkkel" + +#: pgp/seahorse-gpgme-key-deleter.c:77 pgp/seahorse-gpgme-secret-deleter.c:76 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Er du sikker på at du vil slette %s permanent?" + +#: pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Er du sikker på at du vil slette %d nøkkel permanent?" +msgstr[1] "Er du sikker på at du vil slette %d nøkler permanent?" + +#: pgp/seahorse-gpgme-key-op.c:378 +msgid "Wrong password" +msgstr "Feil passord" + +#: pgp/seahorse-gpgme-key-op.c:378 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Dette er tredje gang du skrev inn et feil passord. Vennligst prøv igjen." + +#: pgp/seahorse-gpgme-keyring.c:89 +msgid "Wrong passphrase." +msgstr "Feil passordfrase." + +#: pgp/seahorse-gpgme-keyring.c:93 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Oppgi ny passordfrase for «%s»" + +#: pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Oppgi passordfrase for «%s»" + +#: pgp/seahorse-gpgme-keyring.c:98 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Oppgi nytt passord" + +#: pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "Oppgi passordfrase" + +#: pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "Passord" + +#: pgp/seahorse-gpgme-keyring.c:306 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Lastet %d nøkkel" +msgstr[1] "Lastet %d nøkler" + +#: pgp/seahorse-gpgme-keyring.c:653 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Ugyldige nøkkeldata (mangler UIDer). Dette kan være forårsaket av en " +"datamaskin med datoen satt i fremtiden eller en manglende selvsignering." + +#: pgp/seahorse-gpgme-keyring.c:806 +msgid "GnuPG keys" +msgstr "GnuPG-nøkler" + +#: pgp/seahorse-gpgme-keyring.c:817 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: katalog for forvalgt nøkkelring" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Bildet er for stort\n" +"Anbefalt størrelse for et bilde på nøkkelringen din er %d × %d piksler." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Ikke endre størrelse" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "End_re størrelse" + +#: pgp/seahorse-gpgme-photos.c:127 +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Dette er ikke en bildefil, eller så er det et ukjent bildeformat. Prøv å " +"bruk et JPEG-bilde." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Alle bildefiler" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Alle JPEG-filer" + +#: pgp/seahorse-gpgme-photos.c:241 src/seahorse-key-manager.c:288 +msgid "All files" +msgstr "Alle filer" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Velg bilde som skal legges til nøkkelen" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Kunne ikke forberede bilde" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Kunne ikke legge til bilde" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Filen kunne ikke bli lastet. Den kan være i et ugyldig format" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Er du sikker på at du vil fjerne det nåværende bildet fra din nøkkel?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Kunne ikke slette bilde" + +#: pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn’t revoke subkey" +msgstr "Kunne ikke trekke tilbake undernøkkel" + +#: pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "Trekk tilbake: %s" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "Ingen grunn" + +#: pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "Ingen grunn til å tilbakekalle nøkkelen" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "Kompromittert" + +#: pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "Nøkkelen er kompromittert" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "Utgått" + +#: pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "Nøkkelen er utgått" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "Ikke brukt" + +#: pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "Nøkkelen er ikke lenger i bruk" + +#: pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Du er i ferd med å legge til %s som tilbaketrekker for %s. Denne operasjonen " +"kan ikke angres!. Er du sikker på at du vil fortsette?" + +#: pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn’t add revoker" +msgstr "Kunne ikke legge til tilbakekaller" + +#: pgp/seahorse-gpgme-secret-deleter.c:81 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Jeg forstår at denne hemmelige nøkkelen vil bli slettet permanent." + +#: pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Nøkkelen er allerede signert av\n" +"«%s»" + +#: pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn’t sign key" +msgstr "Kunne ikke signere nøkkel" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign.c:163 pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "Ingen nøkler tilgjengelig for signering" + +#: pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Du har ingen personlige PGP-nøkler som kan brukes for å indikere din tillit " +"til denne nøkkelen." + +#: pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Ukjent" + +#: pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-gpgme.c:71 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Dekryptering feilet. Du har muligens ikke dekrypteringsnøkkelen." + +#: pgp/seahorse-gpgme.c:75 pgp/seahorse-hkp-source.c:548 +msgid "The operation was cancelled" +msgstr "Operasjonen ble avbrutt" + +#: pgp/seahorse-hkp-source.c:566 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "Søket var ikke spesifikt nok. Server «%s» fant for mange nøkler." + +#: pgp/seahorse-hkp-source.c:569 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Kunne ikke kommunisere med tjener «%s»: %s" + +#: pgp/seahorse-hkp-source.c:1079 +msgid "HTTP Key Server" +msgstr "HTTP nøkkeltjener" + +#: pgp/seahorse-keyserver-results.c:168 +msgid "Couldn’t import keys" +msgstr "Kunne ikke importere nøkler" + +#: pgp/seahorse-keyserver-results.c:211 +msgid "Importing keys from key servers" +msgstr "Importerer nøkler fra nøkkeltjenere" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: pgp/seahorse-keyserver-results.c:237 src/seahorse-key-manager.c:501 +msgid "_Remote" +msgstr "_Ekstern" + +#: pgp/seahorse-keyserver-results.c:239 +msgid "Close this window" +msgstr "Lukk dette vinduet" + +#: pgp/seahorse-keyserver-results.c:243 pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys…" +msgstr "_Finn eksterne nøkler …" + +#: pgp/seahorse-keyserver-results.c:244 pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "Søker etter nøkler på en nøkkeltjener" + +#: pgp/seahorse-keyserver-results.c:248 src/seahorse-key-manager.ui:195 +msgid "_Import" +msgstr "_Importer" + +#: pgp/seahorse-keyserver-results.c:249 +msgid "Import selected keys to local key ring" +msgstr "Importer valgte nøkler til lokal nøkkelring" + +#: pgp/seahorse-keyserver-results.c:280 +msgid "Remote Keys" +msgstr "Eksterne nøkler" + +#: pgp/seahorse-keyserver-results.c:282 +#, c-format +msgid "Remote Keys Containing “%s”" +msgstr "Eksterne nøkler som inneholder «%s»" + +#: pgp/seahorse-keyserver-results.c:485 +msgid "The search for keys failed." +msgstr "Søk etter nøkler feilet." + +#: pgp/seahorse-keyserver-search.ui:12 +msgid "Find Remote Keys" +msgstr "Finn eksterne nøkler" + +#: pgp/seahorse-keyserver-search.ui:48 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Finn andres nøkler på internett. Disse nøklene kan så importeres i din " +"lokale nøkkelring." + +#: pgp/seahorse-keyserver-search.ui:72 +msgid "_Search for keys containing: " +msgstr "_Søk etter nøkler som inneholder:" + +#: pgp/seahorse-keyserver-search.ui:127 +msgid "Key Servers:" +msgstr "Nøkkeltjenere:" + +#: pgp/seahorse-keyserver-search.ui:153 +msgid "Shared Keys Near Me:" +msgstr "Delte nøkler nær meg:" + +#: pgp/seahorse-keyserver-search.ui:180 +msgid "Where to search:" +msgstr "Hvor skal det søkes:" + +#: pgp/seahorse-keyserver-search.ui:223 +msgid "_Search" +msgstr "_Søk" + +#: pgp/seahorse-keyserver-sync.c:56 +msgid "Couldn’t publish keys to server" +msgstr "Kunne ikke publisere nøkler til tjener" + +#: pgp/seahorse-keyserver-sync.c:75 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Kunne ikke motta nøkler fra tjener: %s" + +#: pgp/seahorse-keyserver-sync.c:159 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d nøkkel er valgt for synkronisering" +msgstr[1] "%d nøkler er valgt for synkronisering" + +#: pgp/seahorse-keyserver-sync.c:239 +msgid "Synchronizing keys…" +msgstr "Synkroniserer nøkler …" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Synkroniser nøkler" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Dette vil publisere nøklene i din nøkkelring, slik de er tilgjengelig for " +"andre. Du vil også få de endringene andre har gjort, siden du mottok deres " +"nøkler." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Dette vil hente de endringer andre har gjort siden du hentet deres nøkler. " +"Ingen nøkkeltjenere har blitt valgt for publisering, så dine nøkler vil ikke " +"bli gjort tilgjengelig for andre." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Nø_kkeltjenere" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Synkroniser" + +#: pgp/seahorse-ldap-source.c:436 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Kunne ikke kommunisere med «%s»: %s" + +#: pgp/seahorse-ldap-source.c:646 +#, c-format +msgid "Connecting to: %s" +msgstr "Kobler til: %s" + +#: pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Kunne ikke slå opp adresse: %s" + +#: pgp/seahorse-ldap-source.c:696 +#, c-format +msgid "Resolving server address: %s" +msgstr "Slår opp tjeneradresse: %s" + +#: pgp/seahorse-ldap-source.c:1431 +msgid "LDAP Key Server" +msgstr "LDAP nøkkeltjener" + +#: pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys…" +msgstr "_Synkroniser og publiser nøkler …" + +#: pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "Publiser og/eller synkroniser dine nøkler med nøkler på nettet." + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP Keys" +msgstr "PGP-nøkler" + +#: pgp/seahorse-pgp-backend.c:199 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP-nøkler brukes til å kryptere e-post og filer" + +#: pgp/seahorse-pgp-generate.ui:80 +msgid "C_reate" +msgstr "O_pprett" + +#: pgp/seahorse-pgp-generate.ui:87 +msgid "Generate a new key" +msgstr "Generer en ny nøkkel" + +#: pgp/seahorse-pgp-generate.ui:137 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "En PGP-nøkkel lar deg kryptere e-post eller filer til andre personer." + +#: pgp/seahorse-pgp-generate.ui:254 +msgid "Ne_ver Expires" +msgstr "Utløper _aldri" + +#: pgp/seahorse-pgp-generate.ui:354 +msgid "_Comment:" +msgstr "_Kommentar:" + +#: pgp/seahorse-pgp-generate.ui:370 ssh/seahorse-ssh-generate.ui:213 +msgid "Encryption _Type:" +msgstr "_Krypteringstype:" + +#: pgp/seahorse-pgp-generate.ui:385 pkcs11/seahorse-pkcs11-generate.ui:164 +#: ssh/seahorse-ssh-generate.ui:229 +msgid "Key _Strength (bits):" +msgstr "Nøkkel_styrke (biter):" + +#: pgp/seahorse-pgp-generate.ui:400 +msgid "E_xpiration Date:" +msgstr "_Utløpsdato:" + +#: pgp/seahorse-pgp-generate.ui:418 pkcs11/seahorse-pkcs11-generate.ui:226 +#: ssh/seahorse-ssh-generate.ui:300 +msgid "_Advanced key options" +msgstr "_Avanserte nøkkelvalg" + +#: pgp/seahorse-pgp-key-properties.c:317 +msgid "Couldn’t change primary user ID" +msgstr "Kunne ikke endre primær bruker-ID" + +#: pgp/seahorse-pgp-key-properties.c:336 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Er du sikker på at du vil slette bruker-IDen «%s» for godt?" + +#: pgp/seahorse-pgp-key-properties.c:346 +msgid "Couldn’t delete user ID" +msgstr "Kunne ikke slette bruker-ID" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:421 pgp/seahorse-pgp-key-properties.c:1576 +msgid "[Unknown]" +msgstr "[Ukjent]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:530 pgp/seahorse-pgp-key-properties.c:1859 +msgid "Name/Email" +msgstr "Navn/e-post" + +#: pgp/seahorse-pgp-key-properties.c:537 +msgid "Signature ID" +msgstr "Signatur-ID" + +#: pgp/seahorse-pgp-key-properties.c:670 +msgid "Couldn’t change primary photo" +msgstr "Kunne ikke endre hovedbilde" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:904 +msgid "(unknown)" +msgstr "(ukjent)" + +#: pgp/seahorse-pgp-key-properties.c:907 +#, c-format +msgid "This key expired on: %s" +msgstr "Denne nøkkelen gikk ut: %s" + +#: pgp/seahorse-pgp-key-properties.c:970 +msgid "Name" +msgstr "Navn" + +#: pgp/seahorse-pgp-key-properties.c:1085 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Er du sikker på at du vil slette undernøkkelen %d av %s for godt?" + +#: pgp/seahorse-pgp-key-properties.c:1094 +msgid "Couldn’t delete subkey" +msgstr "Kunne ikke slette undernøkkel" + +#: pgp/seahorse-pgp-key-properties.c:1134 +#: pgp/seahorse-pgp-key-properties.c:1550 +msgid "Unable to change trust" +msgstr "Kan ikke endre tillitsforhold" + +#: pgp/seahorse-pgp-key-properties.c:1148 ssh/key-properties.vala:193 +msgid "Couldn’t export key" +msgstr "Kunne ikke eksportere nøkkel" + +#: pgp/seahorse-pgp-key-properties.c:1264 +msgid "Marginal" +msgstr "Marginal" + +#: pgp/seahorse-pgp-key-properties.c:1270 +msgid "Full" +msgstr "Full" + +#: pgp/seahorse-pgp-key-properties.c:1276 +msgid "Ultimate" +msgstr "Ultimat" + +#: pgp/seahorse-pgp-key-properties.c:1382 +#: pgp/seahorse-pgp-key-properties.c:1475 +msgctxt "Expires" +msgid "Never" +msgstr "Aldri" + +#: pgp/seahorse-pgp-key-properties.c:1429 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1432 +msgid "Type" +msgstr "Type" + +#: pgp/seahorse-pgp-key-properties.c:1435 +msgid "Usage" +msgstr "Bruk" + +#: pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "Opprettet" + +#: pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "Utgår" + +#: pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "Status" + +#: pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "Styrke" + +#: pgp/seahorse-pgp-key-properties.c:1466 +msgid "Revoked" +msgstr "Tilbakekalt" + +#: pgp/seahorse-pgp-key-properties.c:1468 +msgid "Expired" +msgstr "Utgått" + +#: pgp/seahorse-pgp-key-properties.c:1470 +msgid "Disabled" +msgstr "Deaktivert" + +#: pgp/seahorse-pgp-key-properties.c:1472 +msgid "Good" +msgstr "God" + +#: pgp/seahorse-pgp-key-properties.c:1862 +msgid "Key ID" +msgstr "Nøkkel-ID" + +#: pgp/seahorse-pgp-key.c:351 +msgid "Personal PGP key" +msgstr "Personlig PGP-nøkkel" + +#: pgp/seahorse-pgp-key.c:353 +msgid "PGP key" +msgstr "PGP-nøkkel" + +#: pgp/seahorse-pgp-private-key-properties.ui:31 +#: pgp/seahorse-pgp-public-key-properties.ui:32 ssh/key-properties.vala:45 +msgid "Key Properties" +msgstr "Egenskaper for nøkkel" + +#: pgp/seahorse-pgp-private-key-properties.ui:70 +#: pgp/seahorse-pgp-public-key-properties.ui:120 +msgid "This key has been revoked" +msgstr "Denne nøkkelen har blitt tilbakekalt" + +#: pgp/seahorse-pgp-private-key-properties.ui:89 +#: pgp/seahorse-pgp-public-key-properties.ui:141 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" +"Eieren av denne nøkkelen har trukket tilbake nøkkelen. Den kan ikke lenger " +"bli brukt." + +#: pgp/seahorse-pgp-private-key-properties.ui:132 +#: pgp/seahorse-pgp-public-key-properties.ui:192 +msgid "This key has expired" +msgstr "Denne nøkkelen har utløpt" + +#: pgp/seahorse-pgp-private-key-properties.ui:222 +msgid "Add a photo to this key" +msgstr "Legg til et bilde for denne nøkkelen" + +#: pgp/seahorse-pgp-private-key-properties.ui:246 +msgid "Remove this photo from this key" +msgstr "Fjern dette bildet fra denne nøkkelen" + +#: pgp/seahorse-pgp-private-key-properties.ui:270 +msgid "Make this photo the primary photo" +msgstr "Bruk dette som hovedbilde" + +#: pgp/seahorse-pgp-private-key-properties.ui:303 +msgid "Go to previous photo" +msgstr "Gå til forrige bilde" + +#: pgp/seahorse-pgp-private-key-properties.ui:327 +msgid "Go to next photo" +msgstr "Gå til neste bilde" + +#. A photograph +#: pgp/seahorse-pgp-private-key-properties.ui:389 +#: pgp/seahorse-pgp-public-key-properties.ui:395 +msgid "Photo " +msgstr "Bilde" + +#: pgp/seahorse-pgp-private-key-properties.ui:425 +#: pgp/seahorse-pgp-private-key-properties.ui:1066 +#: pgp/seahorse-pgp-public-key-properties.ui:472 +#: pgp/seahorse-pgp-public-key-properties.ui:1181 +msgid "Key ID:" +msgstr "Nøkkel-ID:" + +#. Name of key, usually a persons name +#: pgp/seahorse-pgp-private-key-properties.ui:442 +#: pgp/seahorse-pgp-public-key-properties.ui:506 +msgctxt "name-of-key" +msgid "Name:" +msgstr "Navn:" + +#: pgp/seahorse-pgp-private-key-properties.ui:458 +#: pgp/seahorse-pgp-public-key-properties.ui:523 +msgid "Email:" +msgstr "E-postadresse:" + +#: pgp/seahorse-pgp-private-key-properties.ui:474 +#: pgp/seahorse-pgp-public-key-properties.ui:540 +msgid "Comment:" +msgstr "Kommentar:" + +#: pgp/seahorse-pgp-private-key-properties.ui:583 +msgid "Decrypt files and email sent to you." +msgstr "Dekrypter filer og e-poster sendt til deg." + +#: pgp/seahorse-pgp-private-key-properties.ui:596 +msgid "Private PGP Key" +msgstr "Privat PGP-nøkkel" + +#: pgp/seahorse-pgp-private-key-properties.ui:649 +#: ssh/seahorse-ssh-key-properties.ui:195 +msgid "Change _Passphrase" +msgstr "Endre _passordfrase" + +#: pgp/seahorse-pgp-private-key-properties.ui:691 +#: pgp/seahorse-pgp-public-key-properties.ui:711 +msgid "Owner" +msgstr "Eier" + +#: pgp/seahorse-pgp-private-key-properties.ui:706 +msgid "Key Names and Signatures" +msgstr "Nøkkelnavn og signaturer" + +#: pgp/seahorse-pgp-private-key-properties.ui:758 +msgid "Primary" +msgstr "Primær" + +#: pgp/seahorse-pgp-private-key-properties.ui:809 pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "Signer" + +#: pgp/seahorse-pgp-private-key-properties.ui:860 +msgid "Delete" +msgstr "Slett" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:911 +msgid "_Add Name" +msgstr "_Legg til navn" + +#: pgp/seahorse-pgp-private-key-properties.ui:959 +#: pgp/seahorse-pgp-private-key-properties.ui:1649 +msgid "Revoke" +msgstr "Trekk tilbake" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:1023 +msgid "Names and Signatures" +msgstr "Navn og signaturer" + +#: pgp/seahorse-pgp-private-key-properties.ui:1092 +#: pgp/seahorse-pgp-public-key-properties.ui:1208 +#: ssh/seahorse-ssh-key-properties.ui:339 +msgid "Strength:" +msgstr "Styrke:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1154 +msgid "Technical Details" +msgstr "Tekniske detaljer" + +#: pgp/seahorse-pgp-private-key-properties.ui:1190 +msgid "Fingerprint" +msgstr "Fingeravtrykk" + +#: pgp/seahorse-pgp-private-key-properties.ui:1305 +#: pgp/seahorse-pgp-public-key-properties.ui:1397 +msgid "Expires:" +msgstr "Utgår:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1321 +msgid "Dates" +msgstr "Datoer" + +#: pgp/seahorse-pgp-private-key-properties.ui:1375 +msgid "Override Owner _Trust:" +msgstr "Overstyr _tillit til eier:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1387 +msgid "_Export Secret Key:" +msgstr "_Eksporter hemmelig nøkkel:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1457 +msgid "Actions" +msgstr "Handlinger" + +#: pgp/seahorse-pgp-private-key-properties.ui:1532 +msgid "Add" +msgstr "Legg til" + +#: pgp/seahorse-pgp-private-key-properties.ui:1581 +msgid "Expire" +msgstr "Utløpt" + +#: pgp/seahorse-pgp-private-key-properties.ui:1701 +#: pgp/seahorse-pgp-public-key-properties.ui:1587 +msgid "_Subkeys" +msgstr "Un_dernøkler" + +#: pgp/seahorse-pgp-public-key-properties.ui:18 +msgctxt "Validity" +msgid "Marginally" +msgstr "Marginalt" + +#: pgp/seahorse-pgp-public-key-properties.ui:21 +msgctxt "Validity" +msgid "Fully" +msgstr "Fullt ut" + +#: pgp/seahorse-pgp-public-key-properties.ui:24 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Ultimat" + +#: pgp/seahorse-pgp-public-key-properties.ui:457 +msgid "Encrypt files and email to the key’s owner" +msgstr "Krypter filer og e-post til eieren av nøkkelen" + +#: pgp/seahorse-pgp-public-key-properties.ui:621 +msgid "Public PGP Key" +msgstr "Offentlig PGP-nøkkel" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:673 +msgid "_Other Names:" +msgstr "_Andre navn:" + +#: pgp/seahorse-pgp-public-key-properties.ui:753 +msgid "Your trust of this key" +msgstr "Din tillit til denne nøkkelen" + +#: pgp/seahorse-pgp-public-key-properties.ui:780 +msgid "Your trust is manually specified on the Details tab." +msgstr "Din tillit er manuelt spesifisert på detalj-fanen." + +#: pgp/seahorse-pgp-public-key-properties.ui:796 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Jeg stoler på signaturer fra «%s» på andre nøkler" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Hvis du tror at personen som eier denne nøkkelen er «%s», signer " +"denne nøkkelen:" + +#: pgp/seahorse-pgp-public-key-properties.ui:879 +msgid "_Sign this Key" +msgstr "_Signer denne nøkkelen" + +#: pgp/seahorse-pgp-public-key-properties.ui:919 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Hvis du ikke lenger stoler på at «%s» eier denne nøkkelen kan du trekke " +"tilbake signaturen din:" + +#: pgp/seahorse-pgp-public-key-properties.ui:970 +msgid "_Revoke Signature" +msgstr "_Tilbakekall signatur" + +#: pgp/seahorse-pgp-public-key-properties.ui:1031 +msgid "_People who have signed this key:" +msgstr "_Personer som har signert denne nøkkelen:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1077 +msgid "_Only display the signatures of people I trust" +msgstr "_Bare vis signaturer til personer jeg stoler på" + +#: pgp/seahorse-pgp-public-key-properties.ui:1117 +#: ssh/seahorse-ssh-key-properties.ui:220 +msgid "Trust" +msgstr "Tillit" + +#: pgp/seahorse-pgp-public-key-properties.ui:1290 +#: ssh/seahorse-ssh-key-properties.ui:403 +msgid "Fingerprint:" +msgstr "Fingeravtrykk:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1354 +msgid "Dates:" +msgstr "Datoer:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1460 +msgid "Indicate Trust:" +msgstr "Indiker tillit:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1485 +msgid "You _Trust the Owner:" +msgstr "Du s_toler på eieren:" + +#: pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "Krypter" + +#: pgp/seahorse-pgp-subkey.c:293 +msgid "Certify" +msgstr "Sertifiser" + +#: pgp/seahorse-pgp-subkey.c:294 +msgid "Authenticate" +msgstr "Autentiser" + +#: pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "Undernøkkel %d av %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Grunn til å tilbakekalle nøkkelen" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "Å_rsak:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Alternativ beskrivelse for tilbaketrekking" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "_Trekk tilbake" + +#: pgp/seahorse-sign.ui:7 +msgid "Sign Key" +msgstr "Signer nøkkel" + +#: pgp/seahorse-sign.ui:42 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Bed å signere indikerer du at du stoler på at denne nøkkelen tilhører:" + +#: pgp/seahorse-sign.ui:54 +msgid "Key Name" +msgstr "Navn på nøkkel" + +#: pgp/seahorse-sign.ui:86 +msgid "How carefully have you checked this key?" +msgstr "Hvor nøye har du sjekket denne nøkkelen?" + +#: pgp/seahorse-sign.ui:118 +msgid "_Not at all" +msgstr "_Ikke i det hele tatt" + +#: pgp/seahorse-sign.ui:132 +msgid "_Casually" +msgstr "_Tilfeldig" + +#: pgp/seahorse-sign.ui:147 +msgid "_Very Carefully" +msgstr "_Meget nøye" + +#: pgp/seahorse-sign.ui:180 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Ikke i det hele tatt: betyr at du tror denne nøkkelen eies av " +"personen som hevder å eie den, men du har ikke verifisert at dette stemmer." + +#: pgp/seahorse-sign.ui:197 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Tilfeldig: betyr at du har gjort en rask verifisering av at nøkkelen " +"eies av personen som hevder at de eier den. Du kan for eksempel ha lest " +"nøkkelens fingeravtrykk til eieren over telefonen." + +#: pgp/seahorse-sign.ui:221 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Meget nøye: Velg dette kun hvis du er helt sikker på at denne " +"nøkkelen er ekte." + +#: pgp/seahorse-sign.ui:240 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Du kan bruke fotoidentifikasjon som er vanskelig å forfalske (f.eks pass) " +"for personlig å sjekke at navnet på nøkkelen er korrekt. Du bør også bruke e-" +"post for å sjekke at e-postadressen tilhører eieren." + +#: pgp/seahorse-sign.ui:289 +msgid "How others will see this signature:" +msgstr "Hvordan andre vil se denne signaturen:" + +#: pgp/seahorse-sign.ui:310 +msgid "_Others may not see this signature" +msgstr "_Andre kan muligens ikke se denne signaturen" + +#: pgp/seahorse-sign.ui:326 +msgid "I can _revoke this signature at a later date." +msgstr "Jeg kan t_rekke tilbake denne signaturen senere." + +#: pgp/seahorse-sign.ui:363 +msgid "Sign key as:" +msgstr "Signer nøkkel som:" + +#: pgp/seahorse-sign.ui:385 +msgid "_Signer:" +msgstr "_Signeringspart:" + +#: pgp/seahorse-sign.ui:487 +msgid "_Sign" +msgstr "_Signer" + +#: pgp/seahorse-signer.c:62 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Du har ingen personlige PGP-nøkler som kan brukes til å signere et dokument " +"eller beskjed." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Velg signeringsnøkkel" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Signer melding med nøkkel:" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "Eksporterer data" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "Henter data" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "Importerer data" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "Sender data" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Ikke tilgjengelig" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Sertifikat" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Sertifikater (DER-kodet)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Personlig sertifikat og nøkkel" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Personlig sertifikat" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Er du sikker på at du vil slette %d sertifikat permanent?" +msgstr[1] "Er du sikker på at du vil slette %d sertifikater permanent?" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Jeg forstår at denne nøkkelen vil bli slettet permanent." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Privat nøkkel uten navn" + +#: pkcs11/pkcs11-private-key.vala:70 pkcs11/seahorse-pkcs11-generate.c:505 +msgid "Private key" +msgstr "Privat nøkkel" + +#: pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "Uten navn" + +#: pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "Klarte ikke å eksportere sertifikat" + +#: pkcs11/pkcs11-properties.vala:188 src/seahorse-sidebar.c:873 +msgid "Couldn’t delete" +msgstr "Kunne ikke slette" + +#: pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "_Eksporter" + +#: pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "Eksporter sertifikatet" + +#: pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "Slett sertifikatet eller nøkkelen" + +#: pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "Forespør sertifikat" + +#: pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "Lag en sertifikatforespørselsfil for denne nøkkelen" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.c:412 +msgid "Create" +msgstr "Lag" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Kunne ikke lage sertifikatforespørsel" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Lagre sertifikatforespørsel" + +#: pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "Sertifikatforespørsel" + +#: pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "PEM-kodet forespørsel" + +#: pkcs11/pkcs11-request.vala:149 +msgid "Couldn’t save certificate request" +msgstr "Kunne ikke lagre sertifikatforespørsel" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Ukjent" + +#: pkcs11/seahorse-pkcs11-backend.c:189 +msgid "Certificates" +msgstr "Sertifikater" + +#: pkcs11/seahorse-pkcs11-backend.c:195 +msgid "X.509 certificates and related keys" +msgstr "X.509-sertifikater og relaterte nøkler" + +#: pkcs11/seahorse-pkcs11-generate.c:113 +msgid "Couldn’t generate private key" +msgstr "Kunne ikke lage privat nøkkel" + +#: pkcs11/seahorse-pkcs11-generate.c:506 +msgid "Used to request a certificate" +msgstr "Brukes til å forespørre et sertifikat" + +#: pkcs11/seahorse-pkcs11-generate.ui:34 +msgid "Create a new private key" +msgstr "Lag en ny privat nøkkel" + +#: pkcs11/seahorse-pkcs11-generate.ui:53 +msgid "Label:" +msgstr "Etikett:" + +#: pkcs11/seahorse-pkcs11-generate.ui:66 +msgid "Stored at:" +msgstr "Lagret i:" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Lag en sertifikatforespørselsfil." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Common Name (CN) som settes inn i sertifikatforespørselen." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Navn (CN):" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Endre passord" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Nytt _passord:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Bekreft nytt passord" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Bekre_ft passord:" + +#: src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "Fortsett" + +#: src/seahorse-generate-select.ui:15 +msgid "_Select the type of item to create:" +msgstr "_Velg type oppføring du ønsker å opprettte:" + +#: src/seahorse-import-dialog.c:95 +msgid "Import failed" +msgstr "Import feilet" + +#: src/seahorse-import-dialog.c:113 +msgid "Import" +msgstr "Importer" + +#: src/seahorse-import-dialog.c:126 +msgid "Data to be imported:" +msgstr "Data som skal importeres:" + +#. The prompt +#: src/seahorse-key-manager.c:242 ssh/operation.vala:322 +msgid "Import Key" +msgstr "Importer nøkkel" + +#: src/seahorse-key-manager.c:254 +msgid "All key files" +msgstr "Alle nøkkelfiler" + +#: src/seahorse-key-manager.c:355 +msgid "Dropped text" +msgstr "Sluppet tekst" + +#: src/seahorse-key-manager.c:391 +msgid "Clipboard text" +msgstr "Tekst fra utklippstavle" + +#: src/seahorse-key-manager.c:502 +msgid "_New" +msgstr "_Ny" + +#: src/seahorse-key-manager.c:504 +msgid "Close this program" +msgstr "Lukk dette programmet" + +#: src/seahorse-key-manager.c:505 src/seahorse-key-manager.c:507 +msgid "_New…" +msgstr "_Ny …" + +#: src/seahorse-key-manager.c:506 +msgid "Create a new key or item" +msgstr "Lag en ny nøkkel eller oppføring" + +#: src/seahorse-key-manager.c:508 +msgid "Add a new key or item" +msgstr "Legg til en ny nøkkel eller oppføring" + +#: src/seahorse-key-manager.c:509 +msgid "_Import…" +msgstr "_Importer …" + +#: src/seahorse-key-manager.c:510 +msgid "Import from a file" +msgstr "Importer fra en fil" + +#: src/seahorse-key-manager.c:512 +msgid "Import from the clipboard" +msgstr "Importer fra utklippstavlen" + +#: src/seahorse-key-manager.c:516 +msgid "By _Keyring" +msgstr "Etter nø_kkelring" + +#: src/seahorse-key-manager.c:517 +msgid "Show sidebar listing keyrings" +msgstr "Vis sidelinje med nøkkelringlister" + +#: src/seahorse-key-manager.c:521 +msgid "Show _Personal" +msgstr "Vis _personlige" + +#: src/seahorse-key-manager.c:522 +msgid "Only show personal keys, certificates and passwords" +msgstr "Kun vis personlige nøkler, sertifikater og passord" + +#: src/seahorse-key-manager.c:523 +msgid "Show _Trusted" +msgstr "Vis innhold med _tillit" + +#: src/seahorse-key-manager.c:524 +msgid "Only show trusted keys, certificates and passwords" +msgstr "Vis kun nøkler, sertifikater og passord som med tillitsforhold" + +#: src/seahorse-key-manager.c:525 +msgid "Show _Any" +msgstr "Vis _alle" + +#: src/seahorse-key-manager.c:526 +msgid "Show all keys, certificates and passwords" +msgstr "Vis alle nøkler, sertifikater og passord" + +#: src/seahorse-key-manager.c:745 +msgid "Filter" +msgstr "Filter" + +#: src/seahorse-key-manager.ui:97 +msgid "First time options:" +msgstr "Førstegangsalternativer:" + +#: src/seahorse-key-manager.ui:152 +msgid "Generate a new key of your own: " +msgstr "Generer en ny nøkkel til deg selv: " + +#: src/seahorse-key-manager.ui:223 +msgid "Import existing keys from a file:" +msgstr "Importer eksisterende nøkler fra en fil:" + +#: src/seahorse-key-manager.ui:255 +msgid "To get started with encryption you will need keys." +msgstr "For å komme i gang med kryptering må du ha nøkler." + +#: src/seahorse-sidebar.c:797 +msgid "Couldn’t lock" +msgstr "Kunne ikke låse" + +#: src/seahorse-sidebar.c:834 +msgid "Couldn’t unlock" +msgstr "Kunne ikke låse opp" + +#: src/seahorse-sidebar.c:941 +msgid "_Lock" +msgstr "_Lås" + +#: src/seahorse-sidebar.c:946 +msgid "_Unlock" +msgstr "Lås _opp" + +#: src/seahorse-sidebar.c:965 +msgid "_Properties" +msgstr "Egenska_per" + +#: ssh/actions.vala:26 +msgid "Configure Key for _Secure Shell…" +msgstr "Konfigurerer nøkkel for _Secure Shell …" + +#: ssh/actions.vala:27 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"Send offentlig nøkkel for sikkert skall til en annen maskin og aktiver " +"pålogging med denne nøkkelen." + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Sikkert skall" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Nøkler som brukes til å koble til andre datamaskiner på en sikker måte" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Er du sikker på at du vil slette SSH-nøkkel «%s»?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Er du sikker på at du vil slette %u SSH-nøkkel?" +msgstr[1] "Er du sikker på at du vil slette %u SSH-nøkler?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Hemmelige SSH-nøkler" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Offentlige SSH-nøkler" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH-nøkkel" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Ingen offentlig nøkkelfil er tilgjengelig for denne nøkkelen." + +#. No comment, but loaded +#: ssh/generate.vala:27 ssh/key.vala:128 ssh/key.vala:132 +#: ssh/seahorse-ssh-key-properties.ui:103 +msgid "Secure Shell Key" +msgstr "Nøkkel for sikkert skall" + +#: ssh/generate.vala:28 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "Brukes til å aksessere andre datamaskiner (f.eks via en terminal)" + +#: ssh/generate.vala:41 +msgid "New Secure Shell Key" +msgstr "Ny Secure Shell-nøkkel" + +#: ssh/generate.vala:143 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Kunne ikke laste nylig generert Secure Shell-nøkkel" + +#: ssh/generate.vala:147 +msgid "Couldn’t generate Secure Shell key" +msgstr "Kunne ikke generere Secure Shell-nøkkel" + +#: ssh/generate.vala:150 +msgid "Creating Secure Shell Key" +msgstr "Oppretter Secure Shell-nøkkel" + +#: ssh/key-properties.vala:112 +msgid "Unknown type" +msgstr "Ukjent type" + +#: ssh/key-properties.vala:135 +msgid "Couldn’t rename key." +msgstr "Kunne ikke endre navn på nøkkel." + +#: ssh/key-properties.vala:159 +msgid "Couldn’t change authorization for key." +msgstr "Kunne ikke endre autorisasjon for nøkkelen." + +#: ssh/key-properties.vala:174 +msgid "Couldn’t change passphrase for key." +msgstr "Kunne ikke endre passordfrase for nøkkel." + +#: ssh/key.vala:45 +msgid "Personal SSH key" +msgstr "Personlig SSH-nøkkel" + +#: ssh/key.vala:45 +msgid "SSH key" +msgstr "SSH-nøkkel" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:125 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Uleslig Secure Shell-nøkkel)" + +#: ssh/operation.vala:214 +msgid "Remote Host Password" +msgstr "Passord for ekstern vert" + +#: ssh/operation.vala:257 +msgid "Enter Key Passphrase" +msgstr "Oppgi passordfrase for nøkkel" + +#: ssh/operation.vala:283 +msgid "Passphrase for New Secure Shell Key" +msgstr "Passordfrase for ny Secure Shell-nøkkel" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:319 +#, c-format +msgid "Importing key: %s" +msgstr "Importerer nøkkel: %s" + +#: ssh/operation.vala:319 +msgid "Importing key. Enter passphrase" +msgstr "Importerer nøkkel. Oppgi passord" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Oppgi din Secure Shell-passordfrase:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Gammel passordfrase for nøkkel" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Oppgi den gamle passordfrasen for: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Ny passordfrase for nøkkel" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Oppgi den nye passordfrasen for: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Oppgi den nye passordfrasen igjen: %s" + +#: ssh/seahorse-ssh-generate.ui:67 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"En Secure Shell (SSH)-nøkkel lar deg koble deg sikkert til pålitelige " +"datamaskiner på en sikker måte." + +#: ssh/seahorse-ssh-generate.ui:165 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"E-postadressen din eller noe annet som minner deg hva denne nøkkelen er til." + +#: ssh/seahorse-ssh-generate.ui:255 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:319 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Hvis du vil bruke denne nøkkelen på en bestemt datamaskin kan du sette opp " +"den datamaskinen til å kjenne igjen den nye nøkkelen." + +#: ssh/seahorse-ssh-generate.ui:348 +msgid "_Just Create Key" +msgstr "_Bare opprett nøkkel" + +#: ssh/seahorse-ssh-generate.ui:362 +msgid "_Create and Set Up" +msgstr "_Opprett og sett opp" + +#: ssh/seahorse-ssh-key-properties.ui:52 +msgid "Identifier:" +msgstr "Identifikator:" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:120 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "Navn:" + +#: ssh/seahorse-ssh-key-properties.ui:151 +msgid "Used to connect to other computers." +msgstr "Brukt til å koble til andre datamaskiner." + +#: ssh/seahorse-ssh-key-properties.ui:242 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" +"Eieren av denne nøkkelen er _autorisert til å koble til denne datamaskinen" + +#: ssh/seahorse-ssh-key-properties.ui:260 +#, c-format +msgid "This only applies to the %s account." +msgstr "Dette gjelder kun «%s»-kontoen." + +#: ssh/seahorse-ssh-key-properties.ui:324 +msgid "Algorithm:" +msgstr "Algoritme:" + +#: ssh/seahorse-ssh-key-properties.ui:387 +msgid "Location:" +msgstr "Lokasjon:" + +#: ssh/seahorse-ssh-key-properties.ui:480 +msgid "E_xport Complete Key" +msgstr "E_ksporter hele nøkkelen" + +#: ssh/seahorse-ssh-upload.ui:24 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Du må en påloggingskonto allerede for å bruke din nøkkel for sikkert skall " +"på en annen datamaskin som bruker SSH." + +#: ssh/seahorse-ssh-upload.ui:64 +msgid "eg: fileserver.example.com:port" +msgstr "f.eks: filserver.eksempel.no:port" + +#: ssh/seahorse-ssh-upload.ui:89 +msgid "_Server address:" +msgstr "_Tjeneradresse:" + +#: ssh/seahorse-ssh-upload.ui:101 +msgid "_Login name:" +msgstr "På_loggingsnavn:" + +#: ssh/source.vala:42 +msgid "OpenSSH keys" +msgstr "OpenSSH-nøkler" + +#: ssh/source.vala:47 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:51 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:237 +msgid "No private key file is available for this key." +msgstr "Ingen privat nøkkelfil er tilgjengelig for denne nøkkelen." + +#: ssh/upload.vala:32 +msgid "Set Up Computer for SSH Connection" +msgstr "Setter opp datamaskin for SSH-tilkobling" + +#: ssh/upload.vala:70 +msgid "Set Up" +msgstr "Sett opp" + +#: ssh/upload.vala:93 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Kunne ikke konfigurere Secure Shell-nøkler på ekstern datamaskin." + +#: ssh/upload.vala:97 +msgid "Configuring Secure Shell Keys…" +msgstr "Konfigurerer Secure Shell-nøkler …" diff --git a/po/ne.po b/po/ne.po new file mode 100644 index 00000000..66c4eca9 --- /dev/null +++ b/po/ne.po @@ -0,0 +1,2685 @@ +# translation of seahorse.HEAD.ne.po to Nepali +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# Pawan Chitrakar , 2005. +# Jaydeep Bhusal , 2005. +# Shyam Krishna Bal , 2007. +msgid "" +msgstr "" +"Project-Id-Version: Gnome Nepali Translation Project\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=seahorse&keywords=I18N" +"+L10N&component=general\n" +"POT-Creation-Date: 2017-08-12 00:26+0000\n" +"PO-Revision-Date: 2017-08-15 10:48+0545\n" +"Last-Translator: Pawan Chitrakar \n" +"Language-Team: Nepali Translation Team \n" +"Language: ne\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n !=1;\n" +"X-Generator: Poedit 2.0.3\n" + +#: ../data/seahorse.appdata.xml.in.h:1 +msgid "Seahorse" +msgstr "सिहर्स" + +#: ../data/seahorse.appdata.xml.in.h:2 ../data/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "तपाईँको पासवर्ड र गुप्तिकरण कुञ्जीहरू प्रबन्ध गर्नुहोस्" + +#: ../data/seahorse.appdata.xml.in.h:3 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also integrates with nautilus, " +"gedit and other places for encryption operations." +msgstr "" + +#: ../data/seahorse.appdata.xml.in.h:4 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH keys, publish and retrieve " +"keys from key servers, cache your passphrase so you don’t have to keep typing it and backup your " +"keys and keyring." +msgstr "" + +#: ../data/seahorse.desktop.in.in.h:1 ../common/catalog.vala:285 ../src/seahorse-key-manager.c:660 +msgid "Passwords and Keys" +msgstr "पासवर्ड र गुप्तिकरण कुञ्जी" + +#: ../data/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" + +#: ../common/catalog.vala:257 +msgid "Contributions:" +msgstr "योगदान:" + +#: ../common/catalog.vala:287 +msgid "translator-credits" +msgstr "Pawan Chitrakar < chautari@gmail.com >" + +#: ../common/catalog.vala:290 +msgid "Seahorse Project Homepage" +msgstr "सिहर्स परियोजना गृहपृष्ठ" + +#: ../common/catalog.vala:308 +msgid "Cannot delete" +msgstr "मेट्न सकिँदैन" + +#: ../common/catalog.vala:331 ../libseahorse/seahorse-key-manager-store.c:443 +msgid "Couldn’t export keys" +msgstr "कुञ्जि निर्यात सकेन" + +#: ../common/catalog.vala:342 +msgid "Couldn’t export data" +msgstr "डेटा निर्यात सकेन" + +#: ../common/catalog.vala:358 ../libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "मद्दत प्रदर्शन गर्न सकेन: %s" + +#. Top menu items +#: ../common/catalog.vala:364 +msgid "_File" +msgstr "फाइल" + +#: ../common/catalog.vala:365 +msgid "E_xport…" +msgstr "निर्यात गर्नुहोस्…" + +#: ../common/catalog.vala:366 +msgid "Export to a file" +msgstr "फाइलमा निर्यात गर्नुहोस्" + +#: ../common/catalog.vala:367 +msgid "_Edit" +msgstr "सम्पादन" + +#: ../common/catalog.vala:370 +msgid "Copy to the clipboard" +msgstr "क्लिपबोर्डमा प्रतिलिपि गर्नुहोस् ।" + +#: ../common/catalog.vala:371 ../pkcs11/pkcs11-properties.vala:201 ../src/seahorse-sidebar.c:954 +msgid "_Delete" +msgstr "मेट्नुहोस्" + +#: ../common/catalog.vala:372 +msgid "Delete selected items" +msgstr "चयन गरिएका सबै वस्तुहरू मेट्नुहोस्" + +#: ../common/catalog.vala:374 +msgid "Show the properties of this item" +msgstr "यस वस्तुको गुण देखाउनुहोस्" + +#: ../common/catalog.vala:376 +#, fuzzy +#| msgid "Show key properties" +msgid "Show the properties of this keyring" +msgstr "किरिङ" + +#: ../common/catalog.vala:377 +msgid "Prefere_nces" +msgstr "प्राथमिकता" + +#: ../common/catalog.vala:378 +msgid "Change preferences for this program" +msgstr "यो कार्यक्रमका लागि प्राथमिकता परिवर्तन गर्नुहोस्" + +#: ../common/catalog.vala:379 +msgid "_View" +msgstr "दृश्य" + +#: ../common/catalog.vala:380 +msgid "_Help" +msgstr "मद्दत" + +#: ../common/catalog.vala:382 +msgid "About this program" +msgstr "यो कार्यक्रमको बारेमा" + +#: ../common/catalog.vala:383 +msgid "_Contents" +msgstr "सामग्रीहरू" + +#: ../common/catalog.vala:384 +msgid "Show Seahorse help" +msgstr "सिहर्स मद्दत देखाउनुहोस्" + +#: ../common/exportable.vala:192 ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "निर्यात गर्नुहोस्" + +#. TRANSLATORS: this date (Year-month-day) is used to display +#. * when something happened, e.g. when a key was created. Feel +#. * free to put it in the correct order for your language. +#. +#: ../common/util.vala:63 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "पासवर्ड" + +#: ../gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "" + +#: ../gkr/gkr-backend.vala:251 +msgid "New password keyring" +msgstr "नयाँ किरिङ पासवर्ड" + +#: ../gkr/gkr-backend.vala:252 ../gkr/gkr-backend.vala:259 +#, fuzzy +#| msgid "Where to store cached passwords." +msgid "Used to store application and network passwords" +msgstr "क्यास गरिएको पासवर्डहरू कहाँ भण्डारण गर्ने ।" + +#: ../gkr/gkr-backend.vala:253 +msgid "New password…" +msgstr "नयाँ पासवर्ड…" + +#: ../gkr/gkr-backend.vala:254 ../gkr/gkr-backend.vala:261 +#, fuzzy +#| msgid "Where to store cached passwords." +msgid "Safely store a password or secret." +msgstr "क्यास गरिएको पासवर्डहरू कहाँ भण्डारण गर्ने ।" + +#: ../gkr/gkr-backend.vala:258 +msgid "Password Keyring" +msgstr " पासवर्ड किरिङ" + +#: ../gkr/gkr-backend.vala:260 +msgid "Stored Password" +msgstr "भण्डारण गरिएको पासवर्ड" + +#: ../gkr/gkr-item-add.vala:24 +msgid "Add Password" +msgstr "पासवर्ड : थप्नुहोस्" + +#: ../gkr/gkr-item-add.vala:101 +msgid "Couldn’t add item" +msgstr "सामाग्री थप्न सकेन" + +#: ../gkr/gkr-item-properties.vala:136 +msgid "Access a network share or resource" +msgstr "सञ्जाल साझेदार वा संसाधन पहुँच गर्नुहोस्" + +#: ../gkr/gkr-item-properties.vala:139 +msgid "Access a website" +msgstr "वेबसाइट पहुँच गर्नुहोस्" + +#: ../gkr/gkr-item-properties.vala:142 +msgid "Unlocks a PGP key" +msgstr "पीजीपी कुञ्जीलाई ताल्चाबाट हटाउँछ" + +#: ../gkr/gkr-item-properties.vala:145 +msgid "Unlocks a Secure Shell key" +msgstr "सुरक्षित शेल कुञ्जीलाई ताल्चाबाट हटाउँछ" + +#: ../gkr/gkr-item-properties.vala:148 +msgid "Saved password or login" +msgstr "बचत गरिएका पासवर्ड वा लगइन" + +#: ../gkr/gkr-item-properties.vala:161 +msgid "Network Credentials" +msgstr "सञ्जाल प्रमाणपत्र" + +#: ../gkr/gkr-item-properties.vala:166 +msgid "Password" +msgstr "पासवर्ड" + +#: ../gkr/gkr-item-properties.vala:235 +msgid "Couldn’t change password." +msgstr "पासवर्ड परिवर्तन गर्न सकिएन ।" + +#: ../gkr/gkr-item-properties.vala:275 +msgid "Couldn’t set description." +msgstr "वर्णन सेट गर्न सकिएन" + +#. Translators: This should be the same as the string in empathy +#: ../gkr/gkr-item.vala:388 +#, fuzzy +msgid "IM account password for " +msgstr "तपाईँको सिप खाताको पासवर्ड के हो ?" + +#: ../gkr/gkr-item.vala:444 +#, fuzzy +#| msgid "_Passwords" +msgid "Password or secret" +msgstr "गोप्य" + +#: ../gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "सञ्जाल पासवर्ड" + +#: ../gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "भण्डारण गरिएको टिप्पणी" + +#: ../gkr/gkr-item.vala:447 +#, fuzzy +#| msgid "Listing passwords" +msgid "Keyring password" +msgstr "नयाँ किरिङ पासवर्ड" + +#: ../gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "गुप्तीकरण पासवर्ड" + +#: ../gkr/gkr-item.vala:449 +#, fuzzy +#| msgid "Network Password" +msgid "Key storage password" +msgstr "भण्डारण" + +#: ../gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "गुगल! क्रोम पासवर्ड" + +#: ../gkr/gkr-item.vala:451 +#, fuzzy +msgid "Gnome Online Accounts password" +msgstr "अनलाईन खाताहरू" + +#: ../gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "टेलिप्याठि पासवर्ड" + +#: ../gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "तत्काल सन्देश पठाउने पासवर्ड" + +#: ../gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "गोप्य सञ्जाल प्रबन्धक" + +#: ../gkr/gkr-item.vala:504 +#, fuzzy, c-format +#| msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgid "Are you sure you want to delete the password “%s”?" +msgstr "तपाईँ \"%s\" मेट्न चाहनुमा निश्चित हुनुहुन्छ?" + +#: ../gkr/gkr-item.vala:506 +#, fuzzy, c-format +#| msgid "Are you sure you want to permanently delete %s?" +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "तपाईँ \"%s\" लाई स्थायीरूपमा मेट्न निश्चित हुनुहुन्छ?" +msgstr[1] "तपाईँ %s यसलाई स्थायी रूपमा मेट्न चाहनुहुन्छ ?" + +#: ../gkr/gkr-keyring-add.vala:25 +msgid "Add Password Keyring" +msgstr " पासवर्ड किरिङ्गमा थपनुहोस्" + +#: ../gkr/gkr-keyring-add.vala:55 +#, fuzzy +#| msgid "Couldn't add subkey" +msgid "Couldn’t add keyring" +msgstr "सामाग्री थप्न सकेन" + +#: ../gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "" + +#: ../gkr/gkr-keyring.vala:29 +#, fuzzy +#| msgid "Where to store cached passwords." +msgid "A keyring used to store passwords" +msgstr "क्यास गरिएको पासवर्डहरू कहाँ भण्डारण गर्ने ।" + +#: ../gkr/gkr-keyring.vala:174 +#, fuzzy +#| msgid "Couldn't delete key" +msgid "Couldn’t set default keyring" +msgstr "वर्णन सेट गर्न सकिएन" + +#: ../gkr/gkr-keyring.vala:198 ../gkr/gkr-keyring.vala:203 +#, fuzzy +#| msgid "Couldn't change password." +msgid "Couldn’t change keyring password" +msgstr "पासवर्ड परिवर्तन गर्न सकिएन ।" + +#: ../gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "पूर्वनिर्धारितको रुपमा सेट गर्नुहोस्" + +#: ../gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "" + +#: ../gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "पासवर्ड परिवर्तन गर्नुहोस् " + +#: ../gkr/gkr-keyring.vala:212 +#, fuzzy +msgid "Change the unlock password of the password storage keyring" +msgstr "किरिङ '%s'को ताल्चा खोल्नका लागि पासवर्ड प्रविष्ट गर्नुहोस्" + +#: ../gkr/gkr-keyring.vala:237 +#, fuzzy, c-format +#| msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "तपाईँ %s यसलाई स्थायी रूपमा मेट्न चाहनुहुन्छ ?" + +#: ../gkr/gkr-keyring.vala:240 +#, fuzzy +msgid "I understand that all items will be permanently deleted." +msgstr "रद्दीटोकरीमा भएका सबै वस्तुहरू मेट्नुहोस्" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Please choose a name for the new keyring. You will be prompted for an unlock password." +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "नयाँ किरिङ नाम:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 ../gkr/seahorse-gkr-item-properties.xml.h:1 +#: ../pgp/seahorse-revoke.xml.h:3 ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "वर्णन:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +msgid "_Password:" +msgstr "पासवर्ड:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Show Password" +msgstr "पासवर्ड देखाउनुहोस्" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Keyring:" +msgstr "किरिङ" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "प्रयोग:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "प्रकार:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Server:" +msgstr "सर्भर:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Login:" +msgstr "लगइन:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Show pass_word" +msgstr "पासवर्ड देखाउनुहोस्" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 ../libseahorse/seahorse-passphrase.c:179 +#: ../ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "पासवर्ड:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 ../pgp/seahorse-pgp-subkey.c:402 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "कुञ्जी" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "प्राविधिक विवरण:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "विवरण" + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Name:" +msgstr "नाम:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:3 ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "सिर्जित:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring" +msgstr "किरिङ" + +#: ../libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "झण्डाहरू देखाउ:" + +#: ../libegg/egg-datetime.c:317 +#, fuzzy +msgid "Displayed date and/or time properties" +msgstr "समय, मिति र समयछाप प्रस्तुतिकरण" + +#: ../libegg/egg-datetime.c:322 +#, fuzzy +msgid "Lazy mode" +msgstr "मोड:" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "" + +#: ../libegg/egg-datetime.c:328 +msgid "Year" +msgstr "वर्ष" + +#: ../libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "वर्ष देखाईएको" + +#: ../libegg/egg-datetime.c:334 +msgid "Month" +msgstr "महिना" + +#: ../libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "महिना देखाईएको:" + +#: ../libegg/egg-datetime.c:340 +msgid "Day" +msgstr "दिन" + +#: ../libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "महिनाको दिन देखाईएको" + +#: ../libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "घण्टा" + +#: ../libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "घण्टा देखाईएको:" + +#: ../libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "मिनेट" + +#: ../libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "मिनेट देखाईएको:" + +#: ../libegg/egg-datetime.c:358 +msgid "Second" +msgstr "सेकेण्ड" + +#: ../libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "सेकेण्ड देखाईएको:" + +#: ../libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "तल्लो हद वर्ष" + +#: ../libegg/egg-datetime.c:365 +#, fuzzy +msgid "Year part of the lower date limit" +msgstr "तल्लो हद वर्ष" + +#: ../libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "माथिल्लो हद वर्ष" + +#: ../libegg/egg-datetime.c:371 +#, fuzzy +msgid "Year part of the upper date limit" +msgstr "माथिल्लो हद वर्ष" + +#: ../libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "तल्लो हद महिना" + +#: ../libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "तल्लो हद मितिको महिना " + +#: ../libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "माथिल्लो हद महिना" + +#: ../libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "माथिल्लो हद मितिको महिना" + +#: ../libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "तल्लो हद दिन" + +#: ../libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "माथिल्लो हद दिन" + +#: ../libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "तल्लो हद घण्टा" + +#: ../libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "तल्लो हद समयको घण्टा" + +#: ../libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "माथिल्लो हद घण्टा" + +#: ../libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "माथिल्लो हदसमयको घण्टा" + +#: ../libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "तल्लो हद मिनेट" + +#: ../libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "तल्लो हद समयजो मिनेट" + +#: ../libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "माथिल्लो हद मिनेट" + +#: ../libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "माथिल्लो हद समयको मिनेट" + +#: ../libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Lower limit second" + +#: ../libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "तल्लो हद समयको सेकेण्ड" + +#: ../libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "माथिल्लो हद सेकेन्ड" + +#: ../libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "माथिल्लो हद समयको सेकेन्ड" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "" + +#: ../libegg/egg-datetime.c:495 +msgid "Date" +msgstr "मिति" + +#: ../libegg/egg-datetime.c:495 +#, fuzzy +msgid "Enter the date directly" +msgstr "enter" + +#: ../libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "मिति चयन गर्नुहोस्" + +#: ../libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "पात्रोबाट मिति चयन गर्नुहोस्" + +#: ../libegg/egg-datetime.c:520 ../libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "समय" + +#: ../libegg/egg-datetime.c:520 +#, fuzzy +msgid "Enter the time directly" +msgstr "जब अनुप्रयोगले सीधै औजारमा रङ्ग लगाउला" + +#: ../libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "समय चयन गर्नुहोस्" + +#: ../libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "सूचीबाट समय चयन गर्नुहोस्" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24घण्टा: होईन" + +#: ../libegg/egg-datetime.c:796 ../libegg/egg-datetime.c:1259 ../libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "पूर्वाह्न" + +#: ../libegg/egg-datetime.c:798 ../libegg/egg-datetime.c:1260 ../libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "अपराह्न" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "सुरुको अस्थाई वस्तु" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "कुञ्जी सर्भर थप्नुहोस्" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "कुञ्जी सर्भर प्रकार:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "होस्ट:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "सर्भरको होस्टनाम वा ठेगाना ।" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "सर्भर चलाउन पहुँच गर्ने पोर्ट ।" + +#: ../libseahorse/seahorse-application.c:108 +msgid "Version of this application" +msgstr "यस अनुप्रयोगको संस्करण" + +#: ../libseahorse/seahorse-application.c:114 ../libseahorse/seahorse-application.c:158 +msgid "- System Settings" +msgstr "- प्रणाली सेटिङ" + +#: ../libseahorse/seahorse-application.c:154 +msgid "Don't display a window" +msgstr "सञ्झ्याल प्रदर्शन नगर्नुहोस्" + +#: ../libseahorse/seahorse-interaction.c:98 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "%s PIN वा पासवर्ड प्रविष्टि गर्नुहोस्" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:241 +msgid "Confirm:" +msgstr "यकिन:" + +#: ../libseahorse/seahorse-prefs.c:65 +msgid "Not a valid Key Server address." +msgstr "वैध कुञ्जी सर्भर ठेगाना होइन ।" + +#: ../libseahorse/seahorse-prefs.c:66 +#, fuzzy +#| msgid "For help contact your system adminstrator or the administrator of the key server." +msgid "For help contact your system administrator or the administrator of the key server." +msgstr "कृपया तपाईँको प्रणाली प्रसासकलाई सम्पर्क गर्नुहोस् ।" + +#: ../libseahorse/seahorse-prefs.c:179 +msgid "URL" +msgstr "युआरएल" + +#: ../libseahorse/seahorse-prefs.c:349 +msgid "Custom" +msgstr "अनुकूल" + +#: ../libseahorse/seahorse-prefs.c:402 +msgid "None: Don’t publish keys" +msgstr "कुनै पनि होइन: कुञ्जीहरू प्रकाशन नगर्नुहोस्" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "प्राथमिकताहरू" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "यस मार्फत कुञ्जीहरू फेला पार्नुहोस्:" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "यसमा कुञ्जीहरू प्रकाशन गर्नुहोस्:" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +#, fuzzy +#| msgid "Automatically retrieve keys from key servers." +msgid "Automatically retrieve keys from _key servers" +msgstr "कुञ्जी सर्भरबाट कुञ्जीहरू आयात गर्दै" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +#, fuzzy +#| msgid "Automatically synchronize modified keys with key servers. " +msgid "Automatically synchronize _modified keys with key servers" +msgstr "परिमार्जित कुञ्जीलाई कुञ्जी सर्भरसँग स्वचालित रूपमा समक्रमण गर्नुहोस् ।" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "कुञ्जी सर्भर" + +#: ../libseahorse/seahorse-search-provider.c:186 +msgid "The search provider is not loaded yet" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:38 ../pgp/seahorse-pgp-key-properties.c:1251 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "अज्ञात" + +#: ../libseahorse/seahorse-validity.c:40 ../pgp/seahorse-pgp-key-properties.c:1257 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "कहिल्यै पनि" + +#: ../libseahorse/seahorse-validity.c:42 ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "सीमान्त" + +#: ../libseahorse/seahorse-validity.c:44 ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "पूरा" + +#: ../libseahorse/seahorse-validity.c:46 ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "आखिरी" + +#: ../libseahorse/seahorse-validity.c:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "अक्षम पारियो" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "खारेज गरियो" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "कहिल्यै समाप्त हुँदैन" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "यदि कुञ्जी कहिल्यै पनि समाप्त भएन भने" + +#: ../pgp/seahorse-add-subkey.xml.h:3 ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "कुञ्जी प्रकार:" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "कुञ्जी लम्बाइ:" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "समाप्ति मिति:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "कुञ्जीको लम्बाइ" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "नयाँ सबकी सिर्जना गर्नुहोस्" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "प्रयोगकर्ता आईडी थप्नुहोस्" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "कम्तिमा ५ क्यारेक्टर लामो हुनुपर्दछ" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "वैकल्पक इमेल ठेगाना" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "कुञ्जी वर्णन गरिरहेको वैकल्पिक टिप्पणी" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "पूरा नाम:" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "इमेल ठेगाना:" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "कुञ्जी टिप्पणी:" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "नयाँ प्रयोगकर्ता आईडी सिर्जना गर्नुहोस्" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "कहिलेपनि समाप्त हुँदैन" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "कुञ्जी हटाउनुहोस्" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "परिवर्तन गर्नुहोस्" + +#: ../pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn’t add subkey" +msgstr "उपकुञ्जि थप्न सकिएन" + +#: ../pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "%s मा सबकी थप्नुहोस्" + +#: ../pgp/seahorse-gpgme-add-subkey.c:196 ../pgp/seahorse-gpgme-generate.c:132 +msgid "DSA (sign only)" +msgstr "डीएसए (हस्ताक्षर मात्र गर्नुहोस्)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "एल्गामल (गुप्तिकरण मात्र)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:210 ../pgp/seahorse-gpgme-generate.c:133 +msgid "RSA (sign only)" +msgstr "आरएसए (हस्ताक्षर मात्र गर्नुहोस्)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "आरएसए (गुप्तिकरण मात्र गर्नुहोस्)" + +#: ../pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn’t add user id" +msgstr "प्रयोगकर्ता आईडी थप्न सकिएन" + +#: ../pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "%s मा प्रयोगकर्ता आईडी थप्नुहोस्" + +#: ../pgp/seahorse-gpgme.c:71 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "गुप्तलेखन असफल भयो । तपाईँसँग सम्भवत गुप्तलेखन कुञ्जी छैन ।" + +#: ../pgp/seahorse-gpgme.c:75 ../pgp/seahorse-hkp-source.c:548 ../ssh/seahorse-ssh-operation.c:199 +msgid "The operation was cancelled" +msgstr "अनुरोध रद्द गरिएको थियो ।" + +#: ../pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "अवैध समप्ति मिति" + +#: ../pgp/seahorse-gpgme-expires.c:64 +#, fuzzy +msgid "The expiry date must be in the future" +msgstr "\"%s\" भविष्यको मिति हुन सकिदैन" + +#: ../pgp/seahorse-gpgme-expires.c:77 +#, fuzzy +#| msgid "Couldn't change expiry date" +msgid "Couldn’t change expiry date" +msgstr "पासवर्ड परिवर्तन गर्न सकिएन ।" + +#: ../pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "समाप्ति:%s" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "बहुँविध कुञ्जी" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "कुञ्जी डेटा" + +#: ../pgp/seahorse-gpgme-exporter.c:116 +#, fuzzy +msgid "Armored PGP keys" +msgstr "पि जि पि कुञ्जि" + +#: ../pgp/seahorse-gpgme-exporter.c:120 +msgid "PGP keys" +msgstr "पि जि पि कुञ्जि" + +#: ../pgp/seahorse-gpgme-generate.c:93 +msgid "PGP Key" +msgstr "पीजीपी कुञ्जी" + +#: ../pgp/seahorse-gpgme-generate.c:94 +msgid "Used to encrypt email and files" +msgstr "इमेल र फाइलहरू गुप्तिकरण गर्न प्रयोग गरियो" + +#: ../pgp/seahorse-gpgme-generate.c:130 ../pkcs11/seahorse-pkcs11-generate.c:90 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "आरएसए" + +#: ../pgp/seahorse-gpgme-generate.c:131 +msgid "DSA ElGamal" +msgstr "डीएसए एलगामल" + +#: ../pgp/seahorse-gpgme-generate.c:180 +#, fuzzy +#| msgid "Couldn't generate PGP key" +msgid "Couldn’t generate PGP key" +msgstr "पीजीपी कुञ्जी सिर्जना गर्न सकिएन" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "नयाँ पीजीपी कूञ्जीका लागि पासफ्रेज" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "तपाईँको नयाँ कुञ्जीलाई दोब्बर गर्नका लागि पासफ्रेज प्रविष्ट गर्नुहोस् ।" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:231 ../pkcs11/seahorse-pkcs11-generate.c:458 +msgid "Generating key" +msgstr "कुञ्जी सिर्जना गर्दै" + +#: ../pgp/seahorse-gpgme-key-deleter.c:77 ../pgp/seahorse-gpgme-secret-deleter.c:76 +#: ../pkcs11/pkcs11-deleter.vala:35 ../pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "तपाईँ %s यसलाई स्थायी रूपमा मेट्न चाहनुहुन्छ ?" + +#: ../pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "तपाईँ स्थायी रूपमा %d कुञ्जी मेट्न चाहनुहुन्छ ?" +msgstr[1] "तपाईँ स्थायी रूपमा %d कुञ्जीहरू मेट्न चाहनुहुन्छ ?" + +#: ../pgp/seahorse-gpgme-key-op.c:378 +msgid "Wrong password" +msgstr "पासवर्ड मिलेन" + +#: ../pgp/seahorse-gpgme-key-op.c:378 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "गलत पासफ्रेज ।" + +#: ../pgp/seahorse-gpgme-keyring.c:93 +#, fuzzy, c-format +#| msgid "Enter new passphrase for '%s'" +msgid "Enter new passphrase for “%s”" +msgstr "यसका लागि नयाँ पासफ्रेज प्रविष्ट गर्नुहोस्: %s" + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, fuzzy, c-format +#| msgid "Enter passphrase for '%s'" +msgid "Enter passphrase for “%s”" +msgstr "यसका लागि पुरानो पासफ्रेज प्रविष्ट गर्नुहोस्: %s" + +#: ../pgp/seahorse-gpgme-keyring.c:98 ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "नयाँ पासफ्रेज प्रविष्ट गर्नुहोस्" + +#: ../pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "पासफ्रेज प्रविष्ट गर्नुहोस्" + +#: ../pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "पासफ्रेज" + +#: ../pgp/seahorse-gpgme-keyring.c:306 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "लोड गरिएको %d कुञ्जी" +msgstr[1] "लोड गरिएको %d कुञ्जी" + +#: ../pgp/seahorse-gpgme-keyring.c:653 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date set in the future or a " +"missing self-signature." +msgstr "" +"अवैध कुञ्जी डेटा (युआईडी हराइरहेको छ) । यो भविष्यमा मितिसँग सेट भएको कम्प्युटरको कारणले वा आफ्नै हस्ताक्षर हराइरहेको " +"कारणले हुन सक्छ ।" + +#: ../pgp/seahorse-gpgme-keyring.c:806 +msgid "GnuPG keys" +msgstr "GnuPG कुञ्जी" + +#: ../pgp/seahorse-gpgme-keyring.c:812 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG पूर्वानिर्धारित किरिङ्ग डाइरेक्टरी" + +#: ../pgp/seahorse-gpgme-photos.c:72 +#, fuzzy, c-format +#| msgid "" +#| "The photo is too large\n" +#| "The recommended size for a photo on your key is %d x %d pixels." +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"यो फोटो अति ठूलो छ\n" +"तपाईँको कुञ्जीमा फोटोका लागि सिफारिस गरिएको साइज %d x %d पिक्सेल हो ।" + +#: ../pgp/seahorse-gpgme-photos.c:77 +#, fuzzy +#| msgid "_Don't Resize" +msgid "_Don’t Resize" +msgstr "मन नपरेको" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "रिसाइज गर्नुहोस्" + +#: ../pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "This is not a image file, or an unrecognized kind of image file. Try to use a JPEG image." +msgstr "यो छवि फाइल, वा छविको फाइलको कुनै अज्ञात प्रकार होइन । JPEG छवि प्रयोग गर्ने प्रयास गर्नुहोस् ।" + +#: ../pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "सबै छवि फाइल" + +#: ../pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "सबै JPEG फाइलहरू" + +#: ../pgp/seahorse-gpgme-photos.c:241 ../src/seahorse-key-manager.c:288 +msgid "All files" +msgstr "सबै फाइलहरू" + +#: ../pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "कुञ्जीमा थप्न फोटो रोज्नुहोस्" + +#: ../pgp/seahorse-gpgme-photos.c:284 +#, fuzzy +#| msgid "Couldn't prepare photo" +msgid "Couldn’t prepare photo" +msgstr "पासवर्ड परिवर्तन गर्न सकिएन ।" + +#: ../pgp/seahorse-gpgme-photos.c:294 ../pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "फोटो थप्न सकेन" + +#: ../pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "फाइल लोड गर्न सकिएन । यो एउटा अवैध ढाँचामा हुन सक्छ" + +#: ../pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "तपाईँको आफ्नो कुञ्जीबाट हालको फोटो हटाउन निश्चित हुनुहुन्छ ?" + +#: ../pgp/seahorse-gpgme-photos.c:334 +#, fuzzy +#| msgid "Couldn't delete photo" +msgid "Couldn’t delete photo" +msgstr "पासवर्ड परिवर्तन गर्न सकिएन ।" + +#: ../pgp/seahorse-gpgme-revoke.c:73 +#, fuzzy +#| msgid "Couldn't revoke subkey" +msgid "Couldn’t revoke subkey" +msgstr "पासवर्ड परिवर्तन गर्न सकिएन ।" + +#: ../pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "%s खारेज गर्नुहोस्" + +#: ../pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "कारण छैन " + +#: ../pgp/seahorse-gpgme-revoke.c:106 +#, fuzzy +msgid "No reason for revoking key" +msgstr "कुञ्जी खारेज गर्नुपर्ने कारण" + +#: ../pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:113 +#, fuzzy +msgid "Key has been compromised" +msgstr "यो कुञ्जी खारेज गरिएको छ" + +#: ../pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:120 +#, fuzzy +msgid "Key has been superseded" +msgstr "यो कुञ्जी खारेज गरिएको छ" + +#: ../pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "प्रयोग भएको छैन" + +#: ../pgp/seahorse-gpgme-revoke.c:127 +#, fuzzy +#| msgid "Key is not valid for signing: %s" +msgid "Key is no longer used" +msgstr "प्रतीक्षा गर्नका लागि प्रयोग हुने कुञ्जीको नाम । नाम मानक X कुञ्जीको नाम हो ।" + +#: ../pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be undone! Are you sure you want " +"to continue?" +msgstr "" +"तपाईंले %s को लागि खारेजकर्ताको रुपमा %s थप्न लाग्नुभएको छ । यो संचालन पूर्वस्थितिमा फर्काउन सकिंदैन!के तपाईं जारी " +"राख्न विश्वस्त हुनुहुन्छ ?" + +#: ../pgp/seahorse-gpgme-revoke.c:176 +#, fuzzy +#| msgid "Couldn't add revoker" +msgid "Couldn’t add revoker" +msgstr "सामाग्री थप्न सकेन" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:82 +msgid "I understand that this secret key will be permanently deleted." +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:99 +#, fuzzy, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "यो कुञ्जी पहिले देखिने %s सित बाँधिएको छ ।" + +#: ../pgp/seahorse-gpgme-sign.c:104 +#, fuzzy +#| msgid "Couldn't sign key" +msgid "Couldn’t sign key" +msgstr "सामाग्री थप्न सकेन" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:163 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "साइनिङका लागि कुनै कुञ्जीहरू उपयोगी छैन" + +#: ../pgp/seahorse-gpgme-sign.c:164 +msgid "You have no personal PGP keys that can be used to indicate your trust of this key." +msgstr "तपाईँसँग त्यस्तो कुञ्नै व्यक्तिगत पीजीपी कुञ्जी छैन जुन तपाईँको यो कुञ्जी प्रतिको विश्वास देखाउन प्रयोग गरिन्छ ।" + +#: ../pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "अज्ञात" + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "एलगामल" + +#: ../pgp/seahorse-hkp-source.c:566 +#, fuzzy, c-format +#| msgid "Search was not specific enough. Server '%s' found too many keys." +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "खोजी खासै विशिष्ट थिएन । सर्भर '%s' ले अति धेरै कुञ्जीहरू फेला पर्यो ।" + +#: ../pgp/seahorse-hkp-source.c:569 +#, fuzzy, c-format +#| msgid "Couldn't communicate with server '%s': %s" +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "%s: सर्भरको प्राथमिकताहरू %d मा सेट हुन सक्दैन: %s" + +#: ../pgp/seahorse-hkp-source.c:1079 +msgid "HTTP Key Server" +msgstr "एचटीटीपी कुञ्जी सर्भर" + +#: ../pgp/seahorse-keyserver-results.c:168 +msgid "Couldn’t import keys" +msgstr "कुञ्जि आयात गर्न सकिएन" + +#: ../pgp/seahorse-keyserver-results.c:211 +msgid "Importing keys from key servers" +msgstr "कुञ्जी सर्भरबाट कुञ्जीहरू आयात गर्दै" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:237 ../src/seahorse-key-manager.c:501 +msgid "_Remote" +msgstr "टाढा" + +#: ../pgp/seahorse-keyserver-results.c:239 +msgid "Close this window" +msgstr "यो सञ्झ्याल बन्द गर्नुहोस्" + +#: ../pgp/seahorse-keyserver-results.c:243 ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys…" +msgstr "टाढाको कुञ्जीहरू फेला पार्नुहोस्" + +#: ../pgp/seahorse-keyserver-results.c:244 ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "कुञ्जी सर्भरमा कुञ्जीहरूका लागि खोजी गर्नुहोस्" + +#: ../pgp/seahorse-keyserver-results.c:248 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "आयात गर्नुहोस्" + +#: ../pgp/seahorse-keyserver-results.c:249 +msgid "Import selected keys to local key ring" +msgstr "चयन गरिएका कुञ्जीहरूलाई स्थानीय किरिङमा आयात गर्नुहोस्" + +#: ../pgp/seahorse-keyserver-results.c:280 +msgid "Remote Keys" +msgstr "टाढाको कुञ्जीहरू" + +#: ../pgp/seahorse-keyserver-results.c:282 +#, fuzzy, c-format +#| msgid "Remote Keys Containing '%s'" +msgid "Remote Keys Containing “%s”" +msgstr "कुञ्जी समाविष्ट गर्न खोजी गर्नुहोस्: " + +#: ../pgp/seahorse-keyserver-results.c:485 +msgid "The search for keys failed." +msgstr "कुञ्जि खोजी असफल भयो" + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "टाढाको कुञ्जीहरू फेला पार्नुहोस्" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be imported into your local key " +"ring." +msgstr "" +"यसले इन्टरनेटमा अन्यका लागि कुञ्जीहरू फेला पार्नेछ । त्यसपछि यी कुञ्जीहरू तपाईँको स्थानीय किरिङमा आयात गर्न सकिन्छ ।" + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "कुञ्जी समाविष्ट गर्न खोजी गर्नुहोस्: " + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "कुञ्जी सर्भर" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "साझेदार गरिएका नजिकका कुञ्जीहरू" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "कहाँ खोजी गर्ने:" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "खोजी गर्नुहोस्" + +#: ../pgp/seahorse-keyserver-sync.c:56 +#, fuzzy +#| msgid "Couldn't publish keys to server: %s" +msgid "Couldn’t publish keys to server" +msgstr "सर्भरमा सार्वजनिक कुञ्जीहरू प्रकाशन गर्न सकिएन: %s" + +#: ../pgp/seahorse-keyserver-sync.c:75 +#, fuzzy, c-format +#| msgid "Couldn't retrieve keys from server: %s" +msgid "Couldn’t retrieve keys from server: %s" +msgstr "सर्भरबाट कुञ्जीहरू पुन: प्राप्त गर्न सकिएन: %s" + +#: ../pgp/seahorse-keyserver-sync.c:159 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d कुञ्जी समक्रमणका लागि चयन गरिएको छ" +msgstr[1] "%d कुञ्जीहरु समक्रमणका लागि चयन गरिएका छन्" + +#: ../pgp/seahorse-keyserver-sync.c:239 +msgid "Synchronizing keys…" +msgstr "समक्रमण कुञ्जि" + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "समक्रमण कुञ्जीहरू" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +#, fuzzy +#| msgid "" +#| "This will publish the keys in your key ring so they're available for others to use. You'll also " +#| "get any changes others have made since you received their keys." +msgid "" +"This will publish the keys in your key ring so they’re available for others to use. You’ll also get " +"any changes others have made since you received their keys." +msgstr "" +"यसले तपाईँको किरिङमा कुञ्जीहरू प्रकाशन गर्नेछ जसले गर्दा तिनीहरू अन्यलाई प्रयोग गर्न उपलब्ध हुन्छन् । तपाईँले अन्य " +"व्यक्तिको कुञ्जीहरू प्राप्त गरे देखिनै अरूले बनाएको परिवर्तनहरू प्राप्त गर्नुहुनेछ ।" + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their keys. No key server has " +"been chosen for publishing, so your keys will not be made available to others." +msgstr "" +"यसले तपाईँले अन्य व्यक्तिको कुञ्जीहरू प्राप्त गरे देखिनै अरूले बनाएको कुनै परिवर्तनहरू पुन: प्राप्त गर्नेछ । प्रकाशनका लागि " +"कुनै कुञ्जी सर्भर रोजिएको छैन, त्यसैले तपाईँको कुञ्जीहरू अन्य व्यक्तिलाई उपलब्ध हुनेछैन ।" + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "कुञ्जी सर्भर" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "समक्रमण गर्नुहोस्" + +#: ../pgp/seahorse-ldap-source.c:436 +#, fuzzy, c-format +#| msgid "Couldn't communicate with '%s': %s" +msgid "Couldn’t communicate with %s: %s" +msgstr "खोल्न असफल संलग्नता “%s”" + +#: ../pgp/seahorse-ldap-source.c:646 +#, c-format +msgid "Connecting to: %s" +msgstr "जडान गर्दै: %s" + +#: ../pgp/seahorse-ldap-source.c:652 +#, fuzzy, c-format +#| msgid "Couldn't resolve address: %s" +msgid "Couldn’t resolve address: %s" +msgstr "खोल्न असफल संलग्नता “%s”" + +#: ../pgp/seahorse-ldap-source.c:696 +#, c-format +msgid "Resolving server address: %s" +msgstr "सर्भर ठेगाना समाधान गर्दै: %s" + +#: ../pgp/seahorse-ldap-source.c:1431 +msgid "LDAP Key Server" +msgstr "एलडीएपी कुञ्जी सर्भर" + +#: ../pgp/seahorse-pgp-actions.c:118 +#, fuzzy +#| msgid "_Sync and Publish Keys..." +msgid "_Sync and Publish Keys…" +msgstr "यसमा कुञ्जीहरू प्रकाशन गर्नुहोस्:" + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "तपाईँको कुञ्जीहरू त्यो अनलाइनसँग प्रकाशन र/वा समक्रमण गर्नुहोस् ।" + +#: ../pgp/seahorse-pgp-backend.c:193 +msgid "PGP Keys" +msgstr "पीजीपी कुञ्जी" + +#: ../pgp/seahorse-pgp-backend.c:199 +msgid "PGP keys are for encrypting email or files" +msgstr "इमेल र फाइलहरू गुप्तिकरण गर्न प्रयोग पि जि पि साचो गरियो" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "सिर्जना गर्नुहोस्" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "नयाँ कुञ्जी सिर्जना गर्नुहोस्" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "पीजीपी कुञ्जीले तपाईँलाई अन्य व्यक्तिसँग इमेल वा फाइलहरू गुप्तिकरण गर्न अनुमति दिन्छ ।" + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Ne_ver Expires" +msgstr "कहिलेपनि समाप्त हुँदैन" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "_Comment:" +msgstr "टिप्पणी:" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "गुप्तिकरण प्रकार:" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "कुञ्जी बल (बिट्स):" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "समाप्ति मिति:" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "उन्नत कुञ्जी विकल्प" + +#: ../pgp/seahorse-pgp-key.c:351 +msgid "Personal PGP key" +msgstr "ब्यक्तिगत पीजीपी कुञ्जी" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "PGP key" +msgstr "पीजीपी कुञ्जी" + +#: ../pgp/seahorse-pgp-key-properties.c:317 +#, fuzzy +#| msgid "Couldn't change primary user ID" +msgid "Couldn’t change primary user ID" +msgstr "प्राथमिक प्रयोगकर्ता आईडी परिवर्तन गर्न सकेन" + +#: ../pgp/seahorse-pgp-key-properties.c:336 +#, fuzzy, c-format +#| msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "तपाईँ \"%s\" मेट्न चाहनुमा निश्चित हुनुहुन्छ?" + +#: ../pgp/seahorse-pgp-key-properties.c:346 +msgid "Couldn’t delete user ID" +msgstr "प्रयोगकर्ता आईडी मेट्न सकिएन" + +#. TRANSLATORS: [Unknown] signature name +#: ../pgp/seahorse-pgp-key-properties.c:421 ../pgp/seahorse-pgp-key-properties.c:1576 +msgid "[Unknown]" +msgstr "[अज्ञात]" + +#. TRANSLATORS: The name and email set on the PGP key +#: ../pgp/seahorse-pgp-key-properties.c:530 ../pgp/seahorse-pgp-key-properties.c:1859 +msgid "Name/Email" +msgstr "नाम/इमेल" + +#: ../pgp/seahorse-pgp-key-properties.c:537 +msgid "Signature ID" +msgstr "हस्ताक्षर आईडी" + +#: ../pgp/seahorse-pgp-key-properties.c:670 +#, fuzzy +#| msgid "Couldn't change primary photo" +msgid "Couldn’t change primary photo" +msgstr "पासवर्ड परिवर्तन गर्न सकिएन ।" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:904 +msgid "(unknown)" +msgstr "(अज्ञात)" + +#: ../pgp/seahorse-pgp-key-properties.c:907 +#, c-format +msgid "This key expired on: %s" +msgstr "यो कुञ्जी यसमा समाप्त हुन्छ: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:970 +msgid "Name" +msgstr "नाम" + +#: ../pgp/seahorse-pgp-key-properties.c:1085 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "तपाईँ स्थायी रूपमा %2$s को %1$d कुञ्जी मेट्न चाहनुहुन्छ ?" + +#: ../pgp/seahorse-pgp-key-properties.c:1094 +msgid "Couldn’t delete subkey" +msgstr "उपकुञ्जि मेट्न सकिएन" + +#: ../pgp/seahorse-pgp-key-properties.c:1134 ../pgp/seahorse-pgp-key-properties.c:1550 +msgid "Unable to change trust" +msgstr "विश्वास परिवर्तन गर्न असक्षम" + +#: ../pgp/seahorse-pgp-key-properties.c:1148 ../ssh/seahorse-ssh-key-properties.c:205 +msgid "Couldn’t export key" +msgstr "कुञ्जि निर्यात गर्न सकिएन" + +#: ../pgp/seahorse-pgp-key-properties.c:1264 +msgid "Marginal" +msgstr "सीमान्त" + +#: ../pgp/seahorse-pgp-key-properties.c:1270 +msgid "Full" +msgstr "पूरा" + +#: ../pgp/seahorse-pgp-key-properties.c:1276 +msgid "Ultimate" +msgstr "आखिरी" + +#: ../pgp/seahorse-pgp-key-properties.c:1382 ../pgp/seahorse-pgp-key-properties.c:1475 +msgctxt "Expires" +msgid "Never" +msgstr "कहिल्यै पनि" + +#: ../pgp/seahorse-pgp-key-properties.c:1429 +msgid "ID" +msgstr "आईडी" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "Type" +msgstr "प्रकार" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Usage" +msgstr "प्रयोग" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "सिर्जित" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "समाप्त हुन्छ" + +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "वस्तुस्थिति" + +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "बल" + +#: ../pgp/seahorse-pgp-key-properties.c:1466 +msgid "Revoked" +msgstr "खारेज गरियो" + +#: ../pgp/seahorse-pgp-key-properties.c:1468 +msgid "Expired" +msgstr "समाप्त भयो" + +#: ../pgp/seahorse-pgp-key-properties.c:1470 +msgid "Disabled" +msgstr "अक्षम पारियो" + +#: ../pgp/seahorse-pgp-key-properties.c:1472 +msgid "Good" +msgstr "असल" + +#: ../pgp/seahorse-pgp-key-properties.c:1862 +msgid "Key ID" +msgstr "कुञ्जी आईडी" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "कुञ्जी गुणहरू" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "यो कुञ्जी खारेज गरिएको छ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "कुञ्जीको मालिकले कुञ्जी खारेज गर्यो । यो लामो समय सम्म प्रयोग गर्न सकिँदैन ।" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "यो कुञ्जीको समय समाप्त भएको छ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "यो कुञ्जीमा फोटो थप्नुहोस्" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "यो कुञ्जीबाट यो फोटो हटाउनुहोस्" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "यो फोटोलाई प्राइमेरी फोटो बनाउँनुहोस्" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "अघिल्लो फोटोमा जानुहोस्" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "पछिल्लो फोटोमा जानुहोस्" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "फोटो" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "कुञ्जी आईडी:" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "नाम:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "इमेल:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "टिप्पणी:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "तपाईँलाई पठाइएको फाइल र इमेल गुप्तलेखन गर्नुहोस् ।" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "निजी पीजीपी कुञ्जी" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "पासफ्रेज परिवर्तन गर्नुहोस्" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "मालिक" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "कुञ्जी नाम र हस्ताक्षर" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "प्राइमेरी" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 ../pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "हस्ताक्षर गर्नुहोस्" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "मेट्नुहोस्" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "नाम थप्नुहोस्" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "खारेज गर्नुहोस्" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "नाम र हस्ताक्षर" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "बल:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "प्राविधिक विवरण" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "औठाछाप" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "समाप्त हुन्छ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "मिति" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "स्वामित्व विश्वास अधिरोहन गर्नुहोस्:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Secret Key:" +msgstr "कुञ्जी निर्यात गर्नुहोस्" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "Actions" +msgstr "कार्यहरु" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "थप्नुहोस्" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "समाप्त भयो" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "सबकी" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "सीमान्त" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "पुरा" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "आखिरी" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +#, fuzzy +#| msgid "Encrypt files and email to the key's owner" +msgid "Encrypt files and email to the key’s owner" +msgstr "कुञ्जीको मालिकलाई फाइल र इमेल गुप्तिकरण गर्नुहोस्" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "सार्वजनिक पीजीपी कुञ्जी" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "अन्य नाम:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "तपाईँ यो कुञ्जीमा विश्वास" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "तपाईँको विश्वास म्यानुअल रूपमा विवरण ट्याबमा निर्दिष्ट गर्नुभएको छ ।" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, fuzzy, no-c-format +#| msgid "I trust signatures from '%s' on other keys" +msgid "I trust signatures from “%s” on other keys" +msgstr "म अन्य कुञ्जीमा '%s' बाट हस्ताक्षरहरूलाई विश्वास गर्छु" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, fuzzy, no-c-format +#| msgid "If you believe that the person that owns this key is '%s', sign this key:" +msgid "If you believe that the person that owns this key is “%s”, sign this key:" +msgstr "यो कुञ्जीको विश्वास अन्य व्यक्तिलाई देखाउन, यो कुञ्जी हस्ताक्षर गर्नुहोस्:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "यो कुञ्जीलाई हस्ताक्षर गर्नुहोस्" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, fuzzy, no-c-format +#| msgid "If you no longer trust that '%s' owns this key, revoke your signature:" +msgid "If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"यदि तपाईँले यो व्यक्तिको पहिचानलाई लामो समय सम्म विश्वास गर्नुभएन भने, तपाईँको हस्ताक्षत खारेज गर्नुहोस्:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "हस्ताक्षर हटाउनुहोस्" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "यो कुञ्जीमा हस्ताक्षर गर्ने व्यक्ति:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "मैले विश्वास गरेको व्यक्तिको हस्ताक्षर मात्र प्रदर्शन गर्नुहोस्" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "विश्वास" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "औठाछाप" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "मिति:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "विश्वास देखाउनुहोस्:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "तपाईँले मालिकलाई विश्वास गर्नुभयो:" + +#: ../pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "गुप्तीकरण गर्नुहोस्" + +#: ../pgp/seahorse-pgp-subkey.c:293 +msgid "Certify" +msgstr "प्रमाणित गर्नुहोस्" + +#: ../pgp/seahorse-pgp-subkey.c:294 +msgid "Authenticate" +msgstr "प्रमाणीकरण" + +#: ../pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "%2$s को %1$d सबकी " + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "कुञ्जी खारेज गर्नुपर्ने कारण" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "कारण:" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "खण्डनको वैकल्पिक वर्णन" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "खारेज गर्नुहोस्" + +#: ../pgp/seahorse-signer.c:62 +msgid "You have no personal PGP keys that can be used to sign a document or message." +msgstr "तपाईँसँग कुनै व्यक्तिगत पीजीपी कुञ्जीहरू छैन जुन कागजात वा सन्देश साइन गर्न प्रयोग गर्न सकिन्छ ।" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "कुञ्जीसँग सन्देश साइन गर्नुहोस्:" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr " हस्ताक्षर कुञ्जी" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "साइन इन गरेर तपाईँले यो कुञ्जी तपाईँसँग सम्बन्धित छ भन्ने विश्वास देखाउनुभयो:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "कुञ्जी नाम" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "कतिको सावधानीपूर्ण तपाईँले यो कुय्जी जाँच गर्नुभयो?" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "सबैमा होइन" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "आकस्मिक रूपमा" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "अति सावधानीपूर्वक" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who claims to own it, but you " +"could not or did not verify this to be a fact." +msgstr "" +"सबैमा होइन: को अर्थ तपाईँले विश्वास गर्नुभएको कुञ्जी दावा गर्ने व्यक्तिले लगिसकेको छ, तर तपाईँले यसलाई " +"वास्तविक बनाउँन रूजु गर्न सक्नुभएको छैन वा गर्नुभएको छैन ।" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is owned by the person who " +"claims to own it. For example, you could read the key fingerprint to the owner over the phone." +msgstr "" +"आकस्मिक: को अर्थ तपाईँले आकस्मिक प्रमाणीकरण गरिसक्नुभएको छ जुन कुञ्जी दावा गर्ने व्यक्तिले लिइसकेको छ । " +"उदाहरणका लागि, तपाईँले फोन माथिको मालिकको कुञ्जी औठाछाप पढ्न सक्नुहुन्छ ।" + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "Very Carefully: Select this only if you are absolutely sure that this key is genuine." +msgstr "" +"अति सावधानीपूर्वक: यदि तपाईँ यो कुञ्जी वास्तविक छ भन्ने कुरामा पूर्ण रूपमा निश्चित हुनुहुन्छ भने मात्र यो चयन " +"गर्नुहोस् ।" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to personally check that " +"the name on the key is correct. You should have also used email to check that the email address " +"belongs to the owner." +msgstr "" +"तपाईँले त्यो कुञ्जीमा भएको नाम सही छ भन्ने व्यक्तिगत रूपमा जाँच गर्न फोटो पहिचान (जस्तै पासपोर्ट) नक्कल गर्न गाह्रो " +"प्रयोग गर्न सक्नुहुन्छ । तपाईँले त्यो इमेल ठेगाना स्वामित्वकर्तासँग सम्बन्धित छ भन्ने जाँच गर्न इमेल प्रयोग गर्नुपर्नेछ ।" + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "यो हस्ताक्षर अरूले कसरी देख्नेछ" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "अरूले यो हस्ताक्षर नदेख्न सक्छ" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "म पछिल्लो मितिमा यो हस्ताक्षर खारेज गर्न सक्छु ।" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "यस रूपमा कुञ्जी हस्ताक्षर गर्नुहोस्:" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "साइनर:" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "हस्ताक्षर गर्नुहोस्" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "कुञ्जी डेटा आयात" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "डेटा प्राप्त गर्दै" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "डेटा आयात गर्दै ।" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "डेटा पठाउदै" + +#: ../pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "अनुपलब्ध" + +#: ../pkcs11/certificate-der-exporter.vala:43 ../pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "प्रमाणपत्र" + +#: ../pkcs11/certificate-der-exporter.vala:57 +#, fuzzy +msgid "Certificates (DER encoded)" +msgstr "फोल्डर" + +#: ../pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "व्यक्तिगत कुञ्जी र हस्ताक्षर" + +#: ../pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "व्यक्तिगत प्रमाणपत्र" + +#: ../pkcs11/seahorse-pkcs11-backend.c:189 +msgid "Certificates" +msgstr "प्रमाणपत्र" + +#: ../pkcs11/seahorse-pkcs11-backend.c:195 +#, fuzzy +msgid "X.509 certificates and related keys" +msgstr "X.५०९ प्रमाणपत्र" + +#: ../pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "तपाईँ स्थायी रूपमा %d कुञ्जी मेट्न चाहनुहुन्छ ?" +msgstr[1] "तपाईँ स्थायी रूपमा %d कुञ्जीहरू मेट्न चाहनुहुन्छ ?" + +#: ../pkcs11/seahorse-pkcs11-generate.c:113 +#, fuzzy +#| msgid "Couldn't generate private key" +msgid "Couldn’t generate private key" +msgstr "व्यक्तिगत कुञ्जी सिर्जना गर्न सकिएन" + +#: ../pkcs11/seahorse-pkcs11-generate.c:412 ../pkcs11/pkcs11-request.vala:56 +msgid "Create" +msgstr "सिर्जना गर्नुहोस्" + +#: ../pkcs11/seahorse-pkcs11-generate.c:505 ../pkcs11/pkcs11-private-key.vala:70 +msgid "Private key" +msgstr "निजी कुञ्जी" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +#, fuzzy +msgid "Used to request a certificate" +msgstr "प्रमाणपत्र अनुरोध" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "नयाँ व्यक्तिगत कुञ्जी सिर्जना गर्नुहोस्" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "लेबुल" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "भण्डारण गरिएको" + +#: ../pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "" + +#: ../pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "नामकरण नगरिएको" + +#: ../pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "प्रमाणपत्र निर्यात असफल" + +#: ../pkcs11/pkcs11-properties.vala:188 ../src/seahorse-sidebar.c:873 +msgid "Couldn’t delete" +msgstr "मेट्न सकिएन" + +#: ../pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "निर्यात गर्नुहोस्" + +#: ../pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "प्रमाणपत्र निर्यात गर्नुहोस्" + +#: ../pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "कुञ्जीहरू वा प्रमाणपत्र मेट्नुहोस्" + +#: ../pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "प्रमाणपत्र अनुरोध" + +#: ../pkcs11/pkcs11-properties.vala:204 +#, fuzzy +msgid "Create a certificate request file for this key" +msgstr "प्रमाणपत्र अनुरोधको फाईल श्रृजना गर्नुहोस्" + +#: ../pkcs11/pkcs11-request.vala:87 +#, fuzzy +#| msgid "Couldn't create certificate request" +msgid "Couldn’t create certificate request" +msgstr "प्रमाणपत्र अनुरोधको फाईल श्रृजना गर्नुहोस्" + +#: ../pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "प्रमाणपत्र अनुरोध बचत गर्नुहोस्" + +#: ../pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "प्रमाणपत्र अनुरोध" + +#: ../pkcs11/pkcs11-request.vala:121 +#, fuzzy +msgid "PEM encoded request" +msgstr "सञ्चालन लम्बाइ सङ्केतन गरियो" + +#: ../pkcs11/pkcs11-request.vala:149 +#, fuzzy +#| msgid "Couldn't save certificate request" +msgid "Couldn’t save certificate request" +msgstr "प्रमाणपत्र अनुरोध बचत गर्नुहोस्" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "प्रमाणपत्र अनुरोधको फाईल श्रृजना गर्नुहोस्" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "नाम (CN)" + +#: ../pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "बेनाम निजी कुञ्जी" + +#: ../pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "अज्ञात" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "पासफ्रेज परिवर्तन गर्नुहोस्" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "नयाँ पासफ्रेज:" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "नयाँ पासफ्रेज यकिन गर्नुहोस्" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "पासफ्रेज यकिन गर्नुहोस्:" + +#: ../src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "जारी राख्नुहोस्" + +#: ../src/seahorse-generate-select.xml.h:1 +#, fuzzy +#| msgid "_Select the kind of key you wish to create:" +msgid "_Select the type of item to create:" +msgstr "नयाँ कुञ्जि वा वस्तु सिर्जना गर्नुहोस्" + +#: ../src/seahorse-import-dialog.c:95 +msgid "Import failed" +msgstr "आयात असफल भयो" + +#: ../src/seahorse-import-dialog.c:113 +msgid "Import" +msgstr "आयात गर्नुहोस्" + +#: ../src/seahorse-import-dialog.c:126 +#, fuzzy +#| msgid "Dates:" +msgid "Data to be imported:" +msgstr "आयात डेटा पुर्वावलोकन" + +#: ../src/seahorse-key-manager.c:242 ../ssh/seahorse-ssh-operation.c:870 +msgid "Import Key" +msgstr "कुञ्जी आयात गर्नुहोस्" + +#: ../src/seahorse-key-manager.c:254 +msgid "All key files" +msgstr "सबै कुञ्जी फाइलहरू" + +#: ../src/seahorse-key-manager.c:355 +#, fuzzy +#| msgid "Decrypted text" +msgid "Dropped text" +msgstr "राखिएको बफर" + +#: ../src/seahorse-key-manager.c:391 +msgid "Clipboard text" +msgstr "क्लिपबोर्ड पाठ" + +#: ../src/seahorse-key-manager.c:502 +msgid "_New" +msgstr "नयाँ" + +#: ../src/seahorse-key-manager.c:504 +msgid "Close this program" +msgstr "यो कार्यक्रम बन्द गर्नुहोस्" + +#: ../src/seahorse-key-manager.c:505 ../src/seahorse-key-manager.c:507 +msgid "_New…" +msgstr " नयाँ…" + +#: ../src/seahorse-key-manager.c:506 +msgid "Create a new key or item" +msgstr "नयाँ कुञ्जि वा वस्तु सिर्जना गर्नुहोस्" + +#: ../src/seahorse-key-manager.c:508 +msgid "Add a new key or item" +msgstr "नयाँ कुञ्जि वा वस्तु थप्नुहोस्" + +#: ../src/seahorse-key-manager.c:509 +msgid "_Import…" +msgstr "आयात गर्नुहोस्..." + +#: ../src/seahorse-key-manager.c:510 +msgid "Import from a file" +msgstr "फाइलबाट आयात गर्नुहोस्" + +#: ../src/seahorse-key-manager.c:512 +msgid "Import from the clipboard" +msgstr "क्लिपबोर्डबाट आयात गर्नुहोस्" + +#: ../src/seahorse-key-manager.c:516 +msgid "By _Keyring" +msgstr "किरिङ बाट" + +#: ../src/seahorse-key-manager.c:517 +#, fuzzy +msgid "Show sidebar listing keyrings" +msgstr "कच्चा डाइरेक्टरी सूची देखाउनुहोस्" + +#: ../src/seahorse-key-manager.c:521 +msgid "Show _Personal" +msgstr "व्यक्तिगत देखाउनुहोस्" + +#: ../src/seahorse-key-manager.c:522 +msgid "Only show personal keys, certificates and passwords" +msgstr "" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show _Trusted" +msgstr "विश्वासिलो देखाउनुहोस्" + +#: ../src/seahorse-key-manager.c:524 +msgid "Only show trusted keys, certificates and passwords" +msgstr "" + +#: ../src/seahorse-key-manager.c:525 +msgid "Show _Any" +msgstr "कुनै पनि देखाउनुहोस्" + +#: ../src/seahorse-key-manager.c:526 +msgid "Show all keys, certificates and passwords" +msgstr "" + +#: ../src/seahorse-key-manager.c:745 +msgid "Filter" +msgstr "छनौट गर्नु" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "पहिलो पटकका विकल्पहरू:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "तपाईँको आफ्नै नयाँ कुञ्जी सिर्जना गर्नुहोस्: " + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "फाइलबाट अवस्थित कुञ्जीहरू आयात गर्नुहोस्:" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "गुप्तिकरणसँग सुरुआत गर्न तपाईँलाई कुञ्जीहरू आवश्यक पर्नेछ ।" + +#: ../src/seahorse-sidebar.c:797 +msgid "Couldn’t lock" +msgstr "बन्द असफल" + +#: ../src/seahorse-sidebar.c:834 +msgid "Couldn’t unlock" +msgstr "खोल्न असफल" + +#: ../src/seahorse-sidebar.c:941 +msgid "_Lock" +msgstr "ताल्चा लगाउनुहोस्:" + +#: ../src/seahorse-sidebar.c:946 +msgid "_Unlock" +msgstr "ताल्चा खोल्नुहोस्" + +#: ../src/seahorse-sidebar.c:965 +msgid "_Properties" +msgstr "गुणहरू" + +#: ../ssh/seahorse-ssh-actions.c:97 +#, fuzzy +#| msgid "Configuring Secure Shell Keys..." +msgid "Configure Key for _Secure Shell…" +msgstr "(पढ्न नसकिने सुरक्षित शेल कुञ्जी)" + +#: ../ssh/seahorse-ssh-actions.c:98 +msgid "Send public Secure Shell key to another machine, and enable logins using that key." +msgstr "अर्को मेशिनमा सार्वजनिक सुरक्षित शेल कुञ्जी पठाउनुहोस्, र त्यो कुञ्जी प्रयोग गरेर लगइनहरू सक्षम पार्नुहोस् ।" + +#: ../ssh/seahorse-ssh-askpass.c:78 ../ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "तपाईँको सुरक्षित शेल पासफ्रेज प्रविष्ट गर्नुहोस्:" + +#: ../ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "पुरानो कुञ्जी पासफ्रेज" + +#: ../ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "यसका लागि पुरानो पासफ्रेज प्रविष्ट गर्नुहोस्: %s" + +#: ../ssh/seahorse-ssh-askpass.c:105 ../ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "नयाँ कुञ्जी पासफ्रेज" + +#: ../ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "यसका लागि नयाँ पासफ्रेज प्रविष्ट गर्नुहोस्: %s" + +#: ../ssh/seahorse-ssh-askpass.c:111 +#, fuzzy, c-format +#| msgid "Enter the new passphrase for: %s" +msgid "Enter the new passphrase again: %s" +msgstr "यसका लागि नयाँ पासफ्रेज प्रविष्ट गर्नुहोस्: %s" + +#: ../ssh/seahorse-ssh-backend.c:115 +msgid "Secure Shell" +msgstr "सुरक्षित शेल" + +#: ../ssh/seahorse-ssh-backend.c:121 +#, fuzzy +#| msgid "Used to connect to other computers." +msgid "Keys used to connect securely to other computers" +msgstr "अन्य कम्प्युटरमा जडान गर्न प्रयोग गरियो ।" + +#: ../ssh/seahorse-ssh-deleter.c:80 ../ssh/seahorse-ssh-deleter.c:85 +#, fuzzy, c-format +#| msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "तपाईँ '%s' प्रयोगकर्ता आईडी स्थायी रूपमा मेट्न चाहनुहुन्छ ?" + +#: ../ssh/seahorse-ssh-deleter.c:90 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "तपाईँ स्थायी रूपमा %d कुञ्जी मेट्न चाहनुहुन्छ ?" +msgstr[1] "तपाईँ स्थायी रूपमा %d कुञ्जीहरू मेट्न चाहनुहुन्छ ?" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "SSH Key" +msgstr "SSH कुञ्जी" + +#: ../ssh/seahorse-ssh-exporter.c:124 +msgid "Secret SSH keys" +msgstr "गोप्य SSH कि" + +#: ../ssh/seahorse-ssh-exporter.c:128 +msgid "Public SSH keys" +msgstr "सार्वजनिक SSH कि" + +#: ../ssh/seahorse-ssh-exporter.c:297 +#, fuzzy +msgid "No public key file is available for this key." +msgstr "सार्वजनिक पीजीपी कुञ्जी" + +#: ../ssh/seahorse-ssh-generate.c:52 ../ssh/seahorse-ssh-key.c:109 ../ssh/seahorse-ssh-key.c:113 +#: ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "सुरक्षित शेल कुञ्जी" + +#: ../ssh/seahorse-ssh-generate.c:53 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "अन्य कम्प्युटरहरू पहुँच गर्न प्रयोग गरियो (जस्तै: टर्मिनल मार्फत)" + +#: ../ssh/seahorse-ssh-generate.c:107 ../ssh/seahorse-ssh-generate.c:123 +#, fuzzy +#| msgid "Couldn't generate Secure Shell key" +msgid "Couldn’t generate Secure Shell key" +msgstr "सुरक्षित शेल कुञ्जी सिर्जना गर्न सकिएन" + +#: ../ssh/seahorse-ssh-generate.c:190 +msgid "Creating Secure Shell Key" +msgstr "सुरक्षित शेल कुञ्जी सिर्जना गर्दै" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "नयाँ सुरक्षित शेल कुञ्जी" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "कुञ्जी सिर्जना गर्नुहोस्" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "सिर्जना र सेटअप गर्नुहोस्" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +#, fuzzy +#| msgid "" +#| "A Secure Shell (SSH) key lets you connect securely to trusted\n" +#| "computers using SSH, without entering a different password \n" +#| "for each of them." +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"सुरक्षित शेल (एसएसएच) कुञ्जीले तपाईँलाई हरेको भिन्नै पासवर्ड\n" +"प्रविष्ट नगरिकन, एसएसएच प्रयोग गरेर विश्वास गरिएको कम्प्युटरमा सुरक्षित रूपमा\n" +"जडान गर्न अनुमति दिन्छ ।" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +#, fuzzy +#| msgid "" +#| "Use your email address, and any other reminder\n" +#| " you need about what this key is for." +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"तपाईँको इमेल ठेगाना र अन्य कुनै स्मरणकर्ता प्रयोग गर्नुहोस्\n" +" तपाईँलाई यो कुञ्जीको बारेमा आवश्यक पर्नेछ ।" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "डीएसए" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +#, fuzzy +#| msgid "" +#| "If there is already a computer you want to use this key with, you \n" +#| "can set up that computer to recognize your key now. " +msgid "" +"If there is a computer you want to use this key with, you can set up that computer to recognize " +"your new key." +msgstr "" +"यदि त्यहाँ पहिल्यै तपाईँले यो कुञ्जीसँग प्रयोग गर्न चाहनुभएको कम्प्युटर छ भने, तपाईँ\n" +"अहिले आफ्नो कुञ्जी चिनाउन त्यो कम्प्युटर सेटअप गर्न सकिन्छ ।" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "(Unreadable Secure Shell Key)" +msgstr "(पढ्न नसकिने सुरक्षित शेल कुञ्जी)" + +#: ../ssh/seahorse-ssh-key.c:213 +msgid "Personal SSH key" +msgstr "ब्यक्तिगत SSH कि" + +#: ../ssh/seahorse-ssh-key.c:215 +msgid "SSH key" +msgstr "SSH कुञ्जी" + +#: ../ssh/seahorse-ssh-key-properties.c:79 +msgid "Couldn’t rename key." +msgstr "कुञ्जि पुन नामकरण गर्न सकिएन" + +#: ../ssh/seahorse-ssh-key-properties.c:134 +#, fuzzy +#| msgid "Couldn't change authorization for key." +msgid "Couldn’t change authorization for key." +msgstr "पासवर्ड परिवर्तन गर्न सकिएन ।" + +#: ../ssh/seahorse-ssh-key-properties.c:171 +#, fuzzy +#| msgid "Couldn't change passhrase for key." +msgid "Couldn’t change passphrase for key." +msgstr "पासवर्ड परिवर्तन गर्न सकिएन ।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "पहिचायक:" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "नाम:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "अन्य कम्प्युटरमा जडान गर्न प्रयोग गरियो ।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "यो कुञ्जीको मालिकलाई मात्र यो कम्प्युटरमा जडान गर्ने अधिकार छ" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, fuzzy, no-c-format +#| msgid "This only applies to the '%s' account." +msgid "This only applies to the %s account." +msgstr "यो मात्र '%s' खातामा लागू हुन्छ ।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "अल्गोरिदम:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "स्थान:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "पूरा कुञ्जी निर्यात गर्नुहोस्" + +#: ../ssh/seahorse-ssh-operation.c:204 +msgid "The SSH command was terminated unexpectedly." +msgstr "एसएसएच आदेश अनपेक्षित रूपमा अन्त्य भयो ।" + +#: ../ssh/seahorse-ssh-operation.c:214 +msgid "The SSH command failed." +msgstr "एसएसएच आदेश असफल भयो ।" + +#: ../ssh/seahorse-ssh-operation.c:523 +msgid "Remote Host Password" +msgstr "दूर होस्ट पासवर्ड" + +#: ../ssh/seahorse-ssh-operation.c:610 +msgid "Enter Key Passphrase" +msgstr "कुञ्जी पासफ्रेज प्रविष्ट गर्नुहोस्" + +#: ../ssh/seahorse-ssh-operation.c:701 +msgid "Passphrase for New Secure Shell Key" +msgstr "नयाँ सुरक्षित शेल कुञ्जीका लागि पासफ्रेज" + +#: ../ssh/seahorse-ssh-operation.c:887 +#, c-format +msgid "Importing key: %s" +msgstr "कुञ्जी आयात गर्दै: %s" + +#: ../ssh/seahorse-ssh-operation.c:889 +msgid "Importing key. Enter passphrase" +msgstr "कुञ्जी आयात गर्दै । पासफ्रेज प्रविष्ट गर्नुहोस्" + +#: ../ssh/seahorse-ssh-source.c:219 +msgid "OpenSSH keys" +msgstr "OpenSSH कुञ्जि" + +#: ../ssh/seahorse-ssh-source.c:226 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ../ssh/seahorse-ssh-source.c:974 +#, fuzzy +msgid "No private key file is available for this key." +msgstr "निजी पीजीपी कुञ्जी" + +#: ../ssh/seahorse-ssh-upload.c:48 +#, fuzzy +#| msgid "Couldn't configure Secure Shell keys on remote computer." +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "टाढाको कम्प्युटरमा सुरक्षित शेल कुञ्जी कन्फिगर गर्न सकिएन ।" + +#: ../ssh/seahorse-ssh-upload.c:131 +#, fuzzy +#| msgid "Configuring Secure Shell Keys..." +msgid "Configuring Secure Shell Keys…" +msgstr "(पढ्न नसकिने सुरक्षित शेल कुञ्जी)" + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "एसएसएच जडानका लागि कम्प्युटर सेटअप गर्नुहोस्" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +#, fuzzy +#| msgid "" +#| "To use your Secure Shell key with another computer that\n" +#| "uses SSH, you must already have a login account on that \n" +#| "computer." +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must already have a login " +"account on that computer." +msgstr "" +"एसएसएच प्रयोग गर्ने अन्य कम्प्युटरसँग तपाईँको सुरक्षित शेल कुञ्जी प्रयोग गर्न\n" +"तपाईँसँग त्यो कम्प्युटरमा पहिल्यै लगइन खाता\n" +"हुन जरूरी छ ।" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +#, fuzzy +#| msgid "eg: fileserver.example.com" +msgid "eg: fileserver.example.com:port" +msgstr "पोर्ट स्क्यान" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Server address:" +msgstr "सर्भर ठेगाना" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login name:" +msgstr "लगइन नाम:" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "सेटअप" + +#~| msgid "_Import..." +#~ msgid "E_xport..." +#~ msgstr "निर्यात गर्नुहोस्" + +#~ msgid "_Find Remote Keys..." +#~ msgstr "टाढाको कुञ्जीहरू फेला पार्नुहोस्..." + +#~ msgid "_New..." +#~ msgstr "नयाँ..." + +#~ msgid "_Import..." +#~ msgstr "आयात गर्नुहोस्..." diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 00000000..e6078eab --- /dev/null +++ b/po/nl.po @@ -0,0 +1,4790 @@ +# Dutch translation for Seahorse +# +# This file is distributed under the same license as the seahorse package. +# +# +# armor harnas +# decrypt ontsleutelen +# encrypt versleutelen +# encryption versleuteling +# keyring sleutelbos +# passphrase wachtwoord -> wachtwoordzin is onnodig, want term wordt in dagelijks leven niet gebruikt, en verschil is niet belangrijk +# recipient geadresseerde +# sign ondertekenen +# trust vertrouwen +# validity geldigheid +# verify verifiëren of controleren +# credentials Aanmeldgegevens +# public key publieke sleutel +# secret key geheime sleutel +# +# LET OP: Wouter Bolsterlee heeft in 2008 en 2009 veel aandacht aan deze +# vertaling besteed, want de kwaliteit liet nogal te wensen over. Neem a.u.b. +# even contact op voordat je wijzigingen/aanvullingen maakt! +# +# +# Tino Meinen , 2003, 2004, 2005. +# Reinout van Schouwen , 2007. +# Vincent van Adrighem , 2007. +# Wouter Bolsterlee , 2007–2011. +# Redmar , 2012, 2013. +# Hannie Dumoleyn , 2013, 2014, 2017, 2018. +# Nathan Follens , 2015-2020. +# Justin van Steijn , 2016, 2017, 2018. +msgid "" +msgstr "" +"Project-Id-Version: Seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-08-25 16:04+0200\n" +"Last-Translator: Nathan Follens \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Launchpad-Export-Date: 2013-02-02 09:00+0000\n" +"X-Generator: Poedit 2.4.1\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Sleutelserver toevoegen" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Aangepast" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Annuleren" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Opslaan" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Verwijderen niet mogelijk" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Exporteren van sleutels mislukt" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Exporteren van gegevens mislukt" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "Annu_leren" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Verwijderen" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Exporteren" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Voer pincode of wachtwoord in voor: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Wachtwoord (nogmaals):" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Oké" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Wachtwoord:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Wachtwoorden" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Sleutels" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certificaten" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Voorkeuren" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Geen: Geen sleutels publiceren" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Ongeldig sleutelserveradres." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Indien u hulp wenst dient u contact op te nemen met uw systeembeheerder of " +"de systeembeheerder van de sleutelserver." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "initieel tijdelijk item" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Servertype:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Serveradres:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "De computernaam of het adres van de server." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "De te gebruiken poort voor benadering van de server." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "Sleutels _zoeken met:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "Sleutels _publiceren naar:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "_Sleutels automatisch ophalen van sleutelservers" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Gewijzigde sleutels auto_matisch synchroniseren met sleutelservers" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Sleutelservers" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Onbekend" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Nooit" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Gedeeltelijk" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Volledig" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Meer dan volledig" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Uitgeschakeld" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Ingetrokken" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Overzicht" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Hulp" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Menu openen" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Nieuw item aanmaken" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Item importeren uit bestand" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Zoeken" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Lijst met sneltoetsen" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Afsluiten" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navigatie" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Vorige sleutelbos selecteren" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Volgende sleutelbos selecteren" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Zijbalk tonen (op kleine schermen)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Inhoud van sleutelbos tonen (op kleine schermen)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Sleutels automatisch ophalen" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Of sleutels automatisch opgehaald moeten worden van sleutelservers." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Sleutels automatisch publiceren" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Of gewijzigde sleutels automatisch gepubliceerd moeten worden." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Sleutels naar deze sleutelserver publiceren" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"De sleutelserver om PGP-sleutels naartoe te zenden (een leeg veld zorgt " +"ervoor dat er geen PGP-sleutels verzonden worden)." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Laatst gebruikte zoekpatroon voor sleutelserver" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Het laatst gebruikte zoekpatroon voor een sleutelserver." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Laatst gebruikte sleutelservers" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"De laatstgebruikte sleutelserver waarop een zoekopdracht is uitgevoerd (een " +"leeg veld zorgt ervoordat alle sleutelservers doorzocht worden)." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Zijbalk met sleutelbossen tonen" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Sleutelbossen in zijbalk tonen in Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Welke items getoond moet worden" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filteren welke items getoond moeten worden. Indien leeg, dan worden alle " +"items getoond; ‘Persoonlijk’ toont persoonlijke sleutels en ‘Vertrouwd’ " +"toont vertrouwde sleutels." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Breedte van het zijpaneel" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "De standaardbreedte van het zijpaneel." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "De gekozen sleutelbossen" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "De URI's van de gekozen sleutelbossen in de zijbalk." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "De kolom waarop de Seahorse-sleutels worden gesorteerd" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"De kolom opgeven waarop gesorteerd moet worden in het hoofdvenster van " +"Seahorse-sleutelbeheer. Mogelijke waardes zijn ‘name’, ‘id’, ‘validity’, " +"‘expires’, ‘trust’ en ‘type’. Zet een ‘-’ voor de kolomnaam om in omgekeerde " +"volgorde te sorteren." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Geldigheid-kolom tonen" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Niet meer in gebruik." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Verloopdatum-kolom tonen" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Vertrouwen-kolom tonen" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Type-kolom tonen in de sleutelbeheerder" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "De breedte van het venster" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Breedte (in pixels) van het venster." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "De hoogte van het venster" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Hoogte (in pixels) van het venster." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Uw encryptiesleutels en wachtwoorden beheren" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "" +"Seahorse is een Gnome-toepassing voor het beheren van encryptiesleutels." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Met Seahorse kunt u PGP- en SSH-sleutels aanmaken en beheren, sleutels " +"publiceren en ophalen van sleutelservers, uw wachtwoord bewaren zodat u dit " +"niet steeds hoeft in te typen, en een reservekopie maken van uw sleutels en " +"sleutelbos." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Het Gnome-project" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Wachtwoorden en sleutels" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "sleutelbos;sleutelring;encryptie;versleuteling;beveiliging;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Opgeslagen persoonlijke wachtwoorden, aanmeldgegevens en geheimen" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Ontgrendelen mislukt" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Item toevoegen mislukt" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Wachtwoord of geheim" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Netwerkverbindingsgeheim" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Wifi-wachtwoord" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Netwerkwachtwoord" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Gnome Web-wachtwoord" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Google Chrome-wachtwoord" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Chatwachtwoord" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Wachtwoord voor IM-account " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Telepathy-wachtwoord" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Wachtwoord voor Gnome online-accounts" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Wijzigingen voor dit item opslaan?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Gedeelde map of andere netwerkdata benaderen" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Website openen" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "PGP-sleutel ontgrendelen" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Secure Shell-sleutel ontgrendelen" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Opgeslagen wachtwoord of aanmelding" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Netwerkaanmeldgegevens" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Wachtwoord" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Wachtwoord wijzigen mislukt." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Omschrijving instellen mislukt." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Fout bij verwijderen van wachtwoord." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Opgeslagen notitie" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Wachtwoord voor sleutelbos" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Versleuteld wachtwoord voor sleutelbos" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Wachtwoord sleutelopslag" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Network Manager-geheim" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Weet u zeker dat u het wachtwoord ‘%s’ wilt verwijderen?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Weet u zeker dat u %d wachtwoord wilt verwijderen?" +msgstr[1] "Weet u zeker dat u %d wachtwoorden wilt verwijderen?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Kon sleutelbos niet toevoegen" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Onbekende datum" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Sleutelbos automatisch ontgrendeld bij aanmelden" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Een sleutelbos om wachtwoorden in op te slaan" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Instellen van standaardsleutelbos mislukt" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Wijzigen van wachtwoord voor sleutelbos mislukt" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "Als _standaard instellen" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "_Wachtwoord wijzigen" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Weet u zeker dat u de wachtwoordsleutelbos ‘%s’ wilt verwijderen?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Ik begrijp dat alle items permanent verwijderd zullen worden." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Wachtwoord tonen/verbergen" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Wachtwoord toevoegen" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Sleutelbos:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Beschrijving:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Wachtwoord:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Toevoegen" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Wachtwoordsleutelbos toevoegen" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Kies een naam voor de nieuwe sleutelbos. Daarna zal om een " +"ontgrendelwachtwoord gevraagd worden." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Naam voor nieuwe sleutelbos:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Item-eigenschappen" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Beschrijving" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Kopiëren" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Gebruik" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Type" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Server" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Gebruikersnaam" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Details" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Wachtwoord verwijderen" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Sleutelbos-eigenschappen" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Naam" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Aangemaakt op" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Wachtwoord wijzigen" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Als standaard instellen" + +# Vrij vertaald (Wouter Bolsterlee) +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Weergaveopties" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Getoonde eigenschappen voor datum en tijd" + +# Urgh (Wouter Bolsterlee) +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Luie modus" + +# Urgh (Wouter Bolsterlee) +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "" +"In luie modus worden opgegeven datum- en tijdwaarden niet genormaliseerd" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Jaar" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Getoond jaar" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Maand" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Getoonde maand" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dag" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Getoonde dag van de maand" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Uur" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Getoond uur" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minuut" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Getoonde minuut" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Seconde" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Getoonde seconde" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Ondergrens jaar" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Jaar-gedeelte van de ondergrens" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Bovengrens jaar" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Jaar-gedeelte van de bovengrens" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Ondergrens maand" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Maand-gedeelte van de ondergrens" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Bovengrens maand" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Maand-gedeelte van de bovengrens" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Ondergrens dag" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Dag-gedeelte van de ondergrens" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Bovengrens dag" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Dag-gedeelte van de bovengrens" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Ondergrens uur" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Uur-gedeelte van de ondergrens" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Bovengrens uur" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Uur-gedeelte van de bovengrens" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Ondergrens minuut" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Minuut-gedeelte van de ondergrens" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Bovengrens minuut" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Minuut-gedeelte van de bovengrens" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Ondergrens seconde" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Seconde-gedeelte van de ondergrens" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Bovengrens seconde" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Seconde-gedeelte van de Bovengrens" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Datum" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "De datum direct invoeren" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Datum selecteren" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "De datum van een kalender selecteren" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Tijd" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "De tijd direct invoeren" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Tijd selecteren" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "De tijd uit een lijst selecteren" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Weergeven hulp niet gelukt: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Subsleutel aan %s toevoegen" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (alleen ondertekenen)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (alleen versleutelen)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (alleen ondertekenen)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (alleen versleutelen)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Sleutel_type" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Sleutel_lengte" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Lengte van sleutel" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Verloopdatum" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Ver_loopt nooit" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Indien sleutel nooit verloopt" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Een nieuwe subsleutel aanmaken" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Gebruikersnaam aan %s toevoegen" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Toevoegen van gebruikersnaam mislukt" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Gebruiker-id toevoegen" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Volledige _naam" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Moet tenminste 5 tekens lang zijn" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_E-mailadres" + +# Optioneel? kun je ook geen emailadres hebben? +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Optioneel e-mailadres" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Sleutel_commentaar" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Optioneel commentaar als beschrijving van sleutel" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Nieuwe gebruiker-id aanmaken" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"Ontsleutelen mislukt. Waarschijnlijk is de sleutel voor ontsleutelen niet " +"beschikbaar." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "De bewerking werd geannuleerd" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Ongeldige verloopdatum" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "De verloopdatum moet in de toekomst liggen" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Wijzigen verloopdatum mislukt" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Verloopdatum: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "Verloopt _nooit" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Wijzigen" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Meerdere sleutels" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Sleutelgegevens" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "ASCII versleutelde PGP-sleutels" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP-sleutels" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Aanmaken PGP-sleutel mislukt" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Wachtwoord voor nieuwe PGP-sleutel" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Voer het wachtwoord voor de nieuwe sleutel tweemaal in." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"We hebben veel willekeurige gegevens nodig bij het\n" +"maken van een nieuwe sleutel en u kunt hierbij helpen.\n" +"Het is goed om meerdere handelingen uit te voeren, zoals typen\n" +"op het toetsenbord, de muis bewegen, toepassingen gebruiken.\n" +"Dit voorziet het systeem van de willekeurige gegevens die het nodig heeft." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Sleutel aanmaken" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "De naam moet tenminste 5 tekens lang zijn." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Nieuwe PGP-sleutel" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Met een PGP-sleutel kunt u anderen versleutelde berichten of bestanden " +"sturen." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Ge_avanceerde sleutelopties" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Commentaar" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Versleutelings_type" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Sleutelsterkte (bits)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "_Verloopdatum" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Geen _verloopdatum" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "Aan_maken" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Nieuwe sleutel genereren" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Weet u zeker dat u %s permanent wilt verwijderen?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Weet u zeker dat u deze %d sleutels permanent wilt verwijderen?" +msgstr[1] "Weet u zeker dat u deze %d sleutel permanent wilt verwijderen?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Onjuist wachtwoord" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Dit was de derde maal dat er een onjuist wachtwoord werd opgegeven. Probeer " +"het opnieuw." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Wachtwoord incorrect." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Voer nieuw wachtwoord in voor ‘%s’" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Voer wachtwoord in voor ‘%s’" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Voer nieuw wachtwoord in" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Voer wachtwoord in" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Wachtwoord" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d sleutel geladen" +msgstr[1] "%d sleutels geladen" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Ongeldige sleutelgegevens (geen UIDs). Dit kan veroorzaakt worden doordat " +"een computer een incorrecte datum ingesteld heeft, of doordat de sleutel " +"onjuist ondertekend is." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG-sleutels" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: standaardsleutelbosmap" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"De foto is te groot\n" +"De aanbevolen grootte voor een foto op uw sleutel is %d×%d pixels." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "Niet _herschalen" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "Her_schalen" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Dit is geen afbeeldingsbestand of een afbeeldingsbestand dat niet " +"ondersteund wordt. Probeer een JPEG-foto te gebruiken." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Alle afbeeldingstypen" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Alle JPEG-bestanden" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Alle bestanden" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Foto kiezen om aan sleutel toe te voegen" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Openen" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Voorbereiden van foto is mislukt" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Toevoegen van foto mislukt" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Bestand kon niet geladen worden. Het kan zijn dat het type onjuist is" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Weet u zeker dat u de huidige foto van uw sleutel wilt verwijderen?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Verwijderen van foto mislukt" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Intrekken van subsleutel mislukt" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Intrekken: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Geen reden" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Geen reden voor intrekken van sleutel" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Gecompromitteerd" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "De sleutel is gecompromitteerd" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Vervangen" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Sleutel is vervangen" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Niet meer in gebruik" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Sleutel is niet meer in gebruik" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"U staat op het punt %s als (mogelijke) intrekker van %s toe te voegen. Dit " +"kan niet ongedaan gemaakt worden. Weet u zeker dat u verder wilt gaan?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Intrekker toevoegen mislukt" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Ik begrijp dat deze geheime sleutel permanent verwijderd zal worden." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Deze sleutel is al ondertekend door\n" +"‘%s’" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Ondertekenen van sleutel mislukt" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Geen bruikbare sleutels voor ondertekening" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"U heeft geen persoonlijke PGP-sleutels die gebruikt kunnen worden om uw " +"vertrouwen in deze sleutel aan te geven." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "_Sleutel ondertekenen" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"Door te ondertekenen geeft u aan dat u erop vertrouwt dat deze sleutel " +"toebehoort aan:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Sleutelnaam" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Hoe zorgvuldig heeft u deze sleutel gecontroleerd?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Totaal niet" + +# losjes luchtig eenvoudig gemakkelijk, onzorgvuldig,oppervlakkig. +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Vluchtig" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Uiterst zorgvuldig" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Totaal niet: betekent dat u gelooft dat de sleutel eigendom is van " +"degene die beweert de eigenaar te zijn, maar dit niet daadwerkelijk heeft " +"vastgesteld." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Vluchtig: betekent dat u een vluchtige controle hebt uitgevoerd dat " +"de sleutel eigendom is van de persoon die beweert de eigenaar te zijn. U " +"kunt bijvoorbeeld telefonisch de vingerafdruk van de sleutel voorlezen aan " +"de eigenaar." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Uiterst zorgvuldig: Selecteer dit alleen indien u er absoluut zeker " +"van bent dat deze sleutel authentiek is." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"U kunt een moeilijk te vervalsen identiteitsbewijs gebruiken (zoals een " +"paspoort) om persoonlijk na te gaan dat de naam op deze sleutel correct is. " +"U dient tevens via e-mail te controleren dat het e-mailadres daadwerkelijke " +"toebehoort aan de eigenaar." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Hoe anderen deze handtekening zien:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "Anderen mogen deze _handtekening niet inzien" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Ik kan deze handtekening op een later tijdstip intre_kken." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Sleutel ondertekenen als:" + +# ondertekenaar? +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Ondertekenaar:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Ondertekenen" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Onbekend" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "Te algemene zoekopdracht; te veel sleutels gevonden op server ‘%s’." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Communiceren met server ‘%s’ mislukt: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP-sleutelserver" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Importeren van sleutel mislukt: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Importeren van sleutel voltooid" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Importeren" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Importeren van sleutel mislukt" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Sleutels op afstand" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Sleutels op afstand met daarin ‘%s’" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Zoeken naar sleutels mislukt." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Dubbelklik op een sleutel om deze te inspecteren, of klik op de knop " +"‘Importeren’ om deze in uw lokale sleutelbos te importeren." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Sleutels op afstand zoeken" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"U kunt hiermee sleutels van anderen zoeken op het internet. Deze sleutels " +"kunnen vervolgens worden geïmporteerd in uw lokale sleutelbos." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Zoeken naar sleutels met: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Waar te zoeken:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Sleutelservers:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Gedeelde sleutels dichtbij:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Zoeken" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Publiceren van sleutels op de server mislukt" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Ophalen van sleutels van de server mislukt: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d sleutel geselecteerd voor synchronisatie" +msgstr[1] "%d sleutels geselecteerd voor synchronisatie" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Sleutels synchroniseren…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Sleutels synchroniseren" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Hiermee kunt u de sleutels in de sleutelbos publiceren en voor anderen " +"beschikbaar maken. Daarnaast zult u wijzigingen, die anderen hebben gemaakt " +"sinds u hun sleutels hebt ontvangen, ontvangen." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Hiermee kunt u eventuele wijzigingen ophalen die anderen hebben aangebracht " +"sinds u hun sleutels hebt ontvangen. Er is geen sleutelserver voor het " +"publiceren van sleutels ingesteld, dus uw sleutels zullen niet aan anderen " +"beschikbaar gesteld worden." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Sleutelservers" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Synchroniseren" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Communiceren met ‘%s’ mislukt: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Verbinden met: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Opzoeken van adres mislukt: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Opzoeken van serveradres: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP-sleutelserver" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP-sleutels" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP-sleutels zijn voor versleuteling van e-mail en bestanden" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(en %d andere)" +msgstr[1] "(en %d andere)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Persoonlijke PGP-sleutel" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP-sleutel" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Wijzigen van primaire gebruikersnaam mislukt" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Weet u zeker dat u de gebruiker-id ‘%s’ permanent wilt verwijderen?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Verwijderen van gebruikersnaam mislukt" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Onbekend]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Naam/E-mail" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Ondertekening-id" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Wijzigen van primaire foto mislukt" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Fout bij wijzigen van wachtwoord" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(onbekend)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Deze sleutel is verlopen op %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — publieke sleutel" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — privésleutel" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Weet u zeker dat u subsleutel %d van %s permanent wilt verwijderen?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Verwijderen van subsleutel mislukt" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Vertrouwen kon niet worden aanpassen" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Exporteren van sleutel mislukt" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Nooit" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Gebruik" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Aangemaakt" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Verloopdatum" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Status" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Sterkte" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Ingetrokken" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Verlopen" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Uitgeschakeld" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Goed" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Sleutel-id" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Ik vertrouw ondertekeningen van ‘%s’ op andere sleutels" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Als u ervan overtuigd bent dat de persoon die deze sleutel bezit ‘%s’ is, " +"kunt u deze sleutel ondertekenen:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Als u er niet langer van overtuigd bent dat de persoon die deze sleutel " +"bezit ‘%s’ is, kunt u uw ondertekening van deze sleutel intrekken:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Geheime _sleutel exporteren" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "_Publieke sleutel exporteren" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Deze sleutel is ingetrokken" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" +"De sleutel is door de eigeneaar ingetrokken en is daardoor onbruikbaar." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Deze sleutel is verlopen" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Foto aan deze sleutel toevoegen" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Deze foto van deze sleutel verwijderen" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Deze foto de hoofdfoto maken" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Naar vorige foto gaan" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Naar volgende foto gaan" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Commentaar" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "_Wachtwoord wijzigen" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Eigenaar" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Namen en ondertekeningen" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Primair" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Ondertekenen" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Verwijderen" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "Naam _toevoegen" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Intrekken" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Namen en ondertekeningen" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Sleutel-id:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Type:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Sterkte:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Technische details" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Vingerafdruk" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Aangemaakt:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Verloopdatum:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Data" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Ver_trouwen in eigenaar aanpassen:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Exporteren naar bestand" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Acties" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Verloop" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Subsleutels" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Gedeeltelijk" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Volledig" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Meer dan volledig" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Overige namen:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Mate van vertrouwen in deze sleutel" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "" +"Uw vertrouwen kan handmatig ingesteld worden in het tabblad Details." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "Deze sleutel _ondertekenen" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "Ondertekening int_rekken" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Personen die deze sleutel hebben ondertekend:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "Alleen handtekeningen weergeven van mensen die ik vertr_ouw" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Vertrouwen" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Technische details:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Vingerafdruk:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Data:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Vertrouwen aangeven:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "U ver_trouwt de eigenaar:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Versleutelen" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certificeren" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Authenticeren" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Sleutel" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Subsleutel %d van %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Reden voor intrekken van de sleutel" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Reden:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Reden voor intrekking (optioneel)" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Sleutel intrekken" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Intre_kken" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"U heeft geen persoonlijke PGP-sleutels die te gebruiken zijn om een document " +"of bericht mee te ondertekenen." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Sleutel kiezen om te ondertekenen" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "Bestand _ondertekenen met sleutel:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Gegevens exporteren" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Gegevens ophalen" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Gegevens importeren" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Gegevens sturen" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Niet beschikbaar" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certificaat" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certificaten (DER-gecodeerd)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Persoonlijk certificaat en sleutel" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Persoonlijk certificaat" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Weet u zeker dat u %d certificaat permanent wilt verwijderen?" +msgstr[1] "Weet u zeker dat u %d certificaten permanent wilt verwijderen?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Aanmaken van privésleutel mislukt" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Ik begrijp dat deze sleutel permanent verwijderd zal worden." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Naamloze privésleutel" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Privé-sleutel" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Naamloos" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Certificaat exporteren mislukt" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Verwijderen mislukt" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Aanmaken" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Aanmaken van certificaataanvraag mislukt" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Certificaataanvraag opslaan" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "Op_slaan" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Certificaataanvraag" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM gecodeerde aanvraag" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Opslaan van certificaataanvraag mislukt" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Onbekend" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509-certificaten en bijbehorende sleutels" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Nieuwe privésleutel" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Een nieuwe privésleutel maken" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Label:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Opgeslagen in:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Sleutel_type:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Sleutelsterkte (bits):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Dit certificaat of deze sleutel verwijderen" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Het certificaat exporteren" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Certificaat aanvragen" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Certificaataanvraagbestand voor deze sleutel aanmaken" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Een certificaataanvraagbestand aanmaken." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "De algemene naam geplaatst in de certificaataanvraag." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Naam (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Bijdragen:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Versie van deze toepassing" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Vincent van Adrighem\n" +"Wouter Bolsterlee\n" +"Tino Meinen\n" +"Reinout van Schouwen\n" +"Nathan Follens\n" +"Justin van Steijn\n" +"Hannie Dumoleyn\n" +"\n" +"Meer info over Gnome-NL http://nl.gnome.org\n" +"\n" +"Launchpad-bijdragen:\n" +" Daniel van Eeden https://launchpad.net/~gnomenl\n" +" Erwin Poeze https://launchpad.net/~donnut\n" +" Mark https://launchpad.net/~mark-kremer\n" +" Pjotr12345 https://launchpad.net/~computertip\n" +" Rachid https://launchpad.net/~rachidbm\n" +" Redmar https://launchpad.net/~redmar\n" +" Tralalalala https://launchpad.net/~tralalalala\n" +" Wouter Bolsterlee (uws) https://launchpad.net/~uws\n" +" rob https://launchpad.net/~rvdb" + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Startpagina van het Seahorse-project" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Gegevens om te importeren" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importeren" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Importeren mislukt" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Sleutel importeren" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Alle sleutelbestanden" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Ingevoerde tekst" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Klembordtekst" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Kon sleutelbos niet ontgrendelen" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Wachtwoord wijzigen" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Nieuw _wachtwoord:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Nieuw wachtwoord bevestigen" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Wachtwoord _bevestigen:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "Sleutels op afstand _zoeken…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "Sleutels _synchroniseren en publiceren…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Voorkeuren" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Hulp" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "Snel_toetsen" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_Over Wachtwoorden en sleutels" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Items filteren:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "P_ersoonlijk tonen" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Ver_trouwd tonen" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "A_lle tonen" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Secure Shell-sleutel" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Gebruikt voor toegang tot andere computers" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG-sleutel" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Voor versleuteling van e-mails en bestanden" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Wachtwoordsleutelbos" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Gebruikt voor toepassings- en netwerkwachtwoorden" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Wachtwoord of geheim veilig opslaan" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Gebruikt om een certificaat aan te vragen" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importeren uit bestand…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Nieuwe sleutel of nieuw item toevoegen" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Terug" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Zoeken naar sleutel of wachtwoord" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filter" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Deze verzameling lijkt leeg te zijn" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Sleutelbos is vergrendeld" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Ontgrendelen" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Geheim kopiëren" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Exporteren…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Eigenschappen" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Sleutel configureren voor Secure Shell…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "Ver_grendelen" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Ontgrendelen" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Eigenschappen" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Vergrendelen mislukt" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Secure Shell" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Sleutels gebruikt voor veilige verbindingen met andere computers" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Weet u zeker dat u de Secure Shell-sleutel ‘%s’ wilt verwijderen?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Weet u zeker dat u %u Secure Shell-sleutel wilt verwijderen?" +msgstr[1] "Weet u zeker dat u %u Secure Shell-sleutels wilt verwijderen?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Geheime SSH-sleutels" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Publieke SSH-sleutels" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH-sleutel" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Er is geen publiekesleutelbestand beschikbaar voor deze sleutel." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Kon pas gegenereerde Secure Shell-sleutel niet laden" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Genereren van Secure Shell-sleutel mislukt" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Secure Shell-sleutel aanmaken" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bits" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bits" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Onbekend sleuteltype!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Onbekend type" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Sleutel hernoemen mislukt." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Autorisatie voor sleutel wijzigen mislukt." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Wachtwoord van sleutel wijzigen mislukt." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Fout bij verwijderen van SSH-sleutel." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Persoonlijke SSH-sleutel" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH-sleutel" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Onleesbare Secure Shell-sleutel)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Secure Shell-sleutel" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Wachtwoord voor machine op afstand" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Voer wachtwoord in" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Wachtwoord voor nieuwe Secure Shell-sleutel" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Sleutel importeren: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Sleutel importeren. Voer wachtwoord in" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Voer uw Secure Shell-wachtwoord in:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Huidig wachtwoord voor sleutel" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Voer het huidige wachtwoord in voor: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Nieuw wachtwoord voor sleutel" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Voer het nieuwe wachtwoord in voor: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Voer het nieuwe wachtwoord nogmaals in voor: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Nieuwe Secure Shell-sleutel" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Met een Secure Shell (SSH)-sleutel kunt u op veilige wijze verbinden met " +"andere computers." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Beschrijving" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Gebruik uw e-mailadres en eventueel andere geheugensteuntjes om te " +"onthouden waar deze sleutel voor dient." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Als er een computer is waarvoor u deze sleutel wilt gebruiken, kunt u die " +"computer nu instellen om uw sleutel te herkennen." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "Alleen sleutel aan_maken" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Aanmaken en instellen" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH-sleuteleigenschappen" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Naam" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritme" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Sleutellengte" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Locatie" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Publieke sleutel" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Publieke sleutel kopiëren naar klembord" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Externe toegang" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Toegang vanop afstand tot deze computer toestaan" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Exporteren" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "SSH-sleutel verwij_deren" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Computer instellen voor SSH-verbindingen" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Om uw Secure Shell-sleutel te gebruiken op een andere computer die SSH " +"gebruikt, dient u reeds een gebruikersaccount te hebben op die computer." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Serveradres:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "bijv. fileserver.example.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Gebruikersnaam:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Instellen" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH-sleutels" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Er is geen privésleutelbestand beschikbaar voor deze sleutel." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Instellen van Secure Shell-sleutels op andere computer mislukt." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Secure Shell-sleutels configureren…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse is een Gnome-toepassing voor het beheren van encryptiesleutels. " +#~ "Het integreert ook met nautilus, gedit en andere plaatsen waar men " +#~ "encryptiehandelingen kan verrichten." + +#~ msgid "Keyring is unlocked" +#~ msgstr "Sleutelbos is ontgrendeld" + +#~ msgid "Lock" +#~ msgstr "Vergrendelen" + +#~ msgid "Expiration Date:" +#~ msgstr "Verloopdatum:" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Toevoegen subsleutel mislukt" + +#~ msgid "_Combine all keyrings" +#~ msgstr "Alle sleutelbossen _samenvoegen" + +#~ msgid "Encryption _Type:" +#~ msgstr "Versleutelings_type:" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "OK" +#~ msgstr "Ok" + +#~ msgid "Full _Name:" +#~ msgstr "Volledige _naam:" + +#~ msgid "_Email Address:" +#~ msgstr "_E-mailadres:" + +#~ msgid "About Seahorse" +#~ msgstr "Over Seahorse" + +#~ msgid "_File" +#~ msgstr "_Bestand" + +#~ msgid "_Edit" +#~ msgstr "Be_werken" + +#~ msgid "Copy to the clipboard" +#~ msgstr "Naar het klembord kopiëren" + +#~ msgid "Delete selected items" +#~ msgstr "Geselecteerde items verwijderen" + +#~ msgid "Show the properties of this item" +#~ msgstr "Eigenschappen van dit item tonen" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Eigenschappen van deze sleutelbos tonen" + +#~ msgid "Prefere_nces" +#~ msgstr "_Voorkeuren" + +#~ msgid "Change preferences for this program" +#~ msgstr "Voorkeuren voor deze toepassing wijzigen" + +#~ msgid "_View" +#~ msgstr "Beel_d" + +#~ msgid "_About" +#~ msgstr "In_fo" + +#~ msgid "About this program" +#~ msgstr "Over dit programma" + +#~ msgid "_Contents" +#~ msgstr "_Inhoud" + +#~ msgid "Show Seahorse help" +#~ msgstr "Hulpdocument tonen" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Nieuwe wachtwoordsleutelbos" + +#~ msgid "New password…" +#~ msgstr "Nieuw wachtwoord…" + +#~ msgid "Stored Password" +#~ msgstr "Opgeslagen wachtwoord" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "" +#~ "Toepassingen slaan nieuwe wachtwoorden meestal op in de " +#~ "standaardsleutelbos." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Het ontgrendelwachtwoord van de wachtwoordsleutelbos wijzigen" + +#~ msgid "_Show Password" +#~ msgstr "Wachtwoord _tonen" + +#~ msgid "PGP Key" +#~ msgstr "PGP-sleutel" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Sleutels importeren van sleutelservers" + +#~ msgid "_Remote" +#~ msgstr "Op _afstand" + +#~ msgid "Close this window" +#~ msgstr "Dit venster sluiten" + +#~ msgid "Search for keys on a key server" +#~ msgstr "Zoeken naar sleutels op een sleutelserver" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Geselecteerde sleutels importeren in lokale sleutelbos" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Sleutels delen en synchroniseren met online sleutels." + +#~ msgid "Marginal" +#~ msgstr "Gedeeltelijk" + +#~ msgid "Full" +#~ msgstr "Volledig" + +#~ msgid "Ultimate" +#~ msgstr "Meer dan volledig" + +#~ msgid "Photo " +#~ msgstr "Foto " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Naam:" + +#~ msgid "Email:" +#~ msgstr "E-mail:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Aan u verstuurde bestanden en e-mail ontcijferen." + +#~ msgid "Private PGP Key" +#~ msgstr "Privé PGP-sleutel" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Bestanden en e-mail versleutelen voor de eigenaar van de sleutel" + +#~ msgid "- System Settings" +#~ msgstr "– Systeeminstellingen" + +#~ msgid "Don't display a window" +#~ msgstr "Geen venster weergeven" + +#~ msgid "_New" +#~ msgstr "_Nieuw" + +#~ msgid "Close this program" +#~ msgstr "Deze toepassing afsluiten" + +#~ msgid "_New…" +#~ msgstr "_Nieuw…" + +#~ msgid "_Import…" +#~ msgstr "_Importeren…" + +#~ msgid "_Paste" +#~ msgstr "_Plakken" + +#~ msgid "Import from the clipboard" +#~ msgstr "Sleutels van klembord importeren" + +#~ msgid "By _Keyring" +#~ msgstr "Op _sleutelbos" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Alleen persoonlijke sleutels, certificaten en wachtwoorden tonen" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Alleen vertrouwde sleutels, certificaten en wachtwoorden tonen" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Alle sleutels, certificaten en wachtwoorden tonen" + +#~ msgid "New item" +#~ msgstr "Nieuw item" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Kies welk type item u wilt aanmaken:" + +# is dit de goeie vertaling in deze context? +#~ msgid "Continue" +#~ msgstr "Doorgaan" + +#~ msgid "First time options:" +#~ msgstr "Opties voor eerste keer:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Om te kunnen beginnen met versleutelen hebt u sleutels nodig." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Bestaande sleutels uit een bestand importeren:" + +# of? +# Een eigen nieuwe sleutel genereren +#~ msgid "Generate a new key of your own: " +#~ msgstr "Zelf een nieuwe sleutel maken: " + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Openbare Secure Shell-sleutel naar een andere machine sturen zodat u zich " +#~ "daar later zonder wachtwoord kunt aanmelden." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Voor toegang tot andere computers (bijv. via een terminal)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Naam:" + +#~ msgid "Identifier:" +#~ msgstr "Kenmerk:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "" +#~ "De eigenaar van _deze sleutel heeft toestemming om te verbinden met deze " +#~ "computer" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Dit is alleen van toepassing op account ‘%s’." + +#~ msgid "Key length:" +#~ msgstr "Sleutellengte:" + +#~ msgid "E_xport Complete Key" +#~ msgstr "Volledige sleutel e_xporteren" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "De zoekmachine is nog niet geladen" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%d-%m-%Y" + +#~ msgid "Name:" +#~ msgstr "Naam:" + +#~ msgid "Keyring" +#~ msgstr "Sleutelbos" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "De SSH-opdracht is onverwacht beëindigd." + +#~ msgid "The SSH command failed." +#~ msgstr "De SSH-opdracht is mislukt." + +#~ msgid "E_xport..." +#~ msgstr "E_xporteren…" + +#~ msgid "_Find Remote Keys..." +#~ msgstr "Sleutels op afstand _zoeken…" + +#~ msgid "Synchronizing keys..." +#~ msgstr "Sleutels synchroniseren…" + +#~ msgid "_New..." +#~ msgstr "_Nieuw…" + +#~ msgid "_Import..." +#~ msgstr "_Importeren…" + +#~ msgid "Updating password" +#~ msgstr "Wachtwoord updaten" + +#~ msgid "Ssh Key" +#~ msgstr "SSH-sleutel" + +#~ msgid "_Computer Name:" +#~ msgstr "_Computernaam:" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "Seahorse niet als voorziening starten" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "Ongeldig of onbekend sleuteltype ‘%s’" + +#~ msgid "Support for this feature was not enabled at build time" +#~ msgstr "" +#~ "Ondersteuning voor deze functionaliteit was uitgeschakeld tijdens het " +#~ "compileren" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "Ongeldige of onbekende sleutel ‘%s’" + +#~ msgid "Signed by expired on %s." +#~ msgstr "Ondertekend door verlopen op %s." + +#~ msgid "Signed by on %s Expired." +#~ msgstr "Ondertekend door op %s. Verlopen." + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "Ondertekend door . Ingetrokken op %s." + +#~ msgid "Signed by on %s." +#~ msgstr "Ondertekend door op %s." + +#~ msgid "Signing key not in keyring." +#~ msgstr "Handtekening-sleutel niet in sleutelbos." + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "" +#~ "Incorrecte of vervalste handtekening. De ondertekende gegevens zijn niet " +#~ "authentiek." + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "Ongeldige of onbekende ondertekenaar ‘%s’" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "Ongeldige of onbekende geadresseerde ‘%s’" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "Sleutel niet geldig als geadresseerde van versleuteling: ‘%s’" + +#~ msgid "No recipients specified" +#~ msgstr "Geen geadresseerden opgegeven" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "Ongeldig sleuteltype voor ontcijfering: %s" + +#~ msgid "Please set clearuri" +#~ msgstr "Gelieve clearuri in te stellen" + +#~ msgid "Please set crypturi" +#~ msgstr "Gelieve crypturi in te stellen" + +#~ msgid "Error opening clearuri" +#~ msgstr "Fout bij openen clearuri" + +#~ msgid "No signer specified" +#~ msgstr "Geen ondertekenaar opgegeven" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "Ongeldig sleuteltype voor verificatie: %s" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "Een lijst van serveradressen die doorzocht kunnen worden op PGP-sleutels. " +#~ "U kunt een alias opgeven door een spatie gevolgd door de naam te " +#~ "gebruiken." + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "" +#~ "Bepaalt de zichtbaarheid van de verloopt-kolom in de sleutelbeheerder." + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "" +#~ "Bepaalt de zichtbaarheid van de vertrouwen-kolom in de sleutelbeheerder." + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "Bepaalt de zichtbaarheid van de type-kolom in de sleutelbeheerder." + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "" +#~ "Bepaalt de zichtbaarheid van de geldigheid-kolom in de sleutelbeheerder." + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "Sleutels delen via DNS-SD" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "Delen van sleutels via DNS-SD (Avahi, Apple Bonjour, Zeroconf) " +#~ "inschakelen. De toepassing ‘seahorse-daemon’ moet actief zijn en KHP en " +#~ "DNS-SD ondersteunen." + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "" +#~ "Indien ingeschakeld zullen bestanden die versleuteld zijn met seahorse " +#~ "een ASCII-harnas krijgen." + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "" +#~ "Indien ingeschakeld zal de standaardsleutel altijd aan een de lijst " +#~ "vangeadresseerden van de versleuteling worden toegevoegd." + +#~ msgid "Last key used to sign a message." +#~ msgstr "Laatst gebruikte sleutel voor het ondertekenen van een bericht." + +# Bug! dit kan makkelijker +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "De kolom waarop gesorteerd wordt in het geadresseerden-venster. Mogelijke " +#~ "waardes zijn ‘name’ en ‘id’. Zet een ‘-’ voor de kolomnaam om in " +#~ "omgekeerde volgorde te sorteren." + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "" +#~ "Het id van de laatste gebruikte sleutel voor het ondertekenen van een " +#~ "bericht." + +#~ msgid "The column to sort the recipients by" +#~ msgstr "De kolom waarop de geadresseerden worden gesorteerd" + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "" +#~ "De standaardsleutel voor bepaalde acties, voornamelijk voor ondertekenen." + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "Geef aan of de standaardsleutel altijd moet worden versleuteld" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "Of een ASCII-harnas moet worden gebruikt" + +#~ msgid "_Write" +#~ msgstr "_Schrijven" + +#~ msgid "Saving item..." +#~ msgstr "Item opslaan…" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "Er zijn geen encryptiesleutels gevonden voor de bewerking die u wilt " +#~ "uitvoeren. De toepassing ‘Wachtwoorden en sleutels’ zal nu gestart " +#~ "worden, zodat een nieuwe sleutel gemaakt of geïmporteerd kan worden." + +#~ msgid "Search Results" +#~ msgstr "Zoekresultaten" + +#~ msgid "None (Don't Sign)" +#~ msgstr "Geen (Niet ondertekenen)" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "Bestand is geen geldig .desktop-bestand" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "Versie ‘%s’ van desktop-bestand niet herkend" + +#~ msgid "Starting %s" +#~ msgstr "%s starten" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "De toepassing accepteert geen documenten op de opdrachtregel" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "Opstartoptie niet herkend: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "" +#~ "Kan geen document-uri's gebruiken met een desktopbestand met ‘Type=Link’" + +#~ msgid "Not a launchable item" +#~ msgstr "Geen uitvoerbaar item" + +#~ msgid "Disable connection to session manager" +#~ msgstr "Verbinding met sessiebeheer uitschakelen" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "Bestand met opgeslagen configuratiebestand opgeven" + +#~ msgid "FILE" +#~ msgstr "BESTAND" + +#~ msgid "Specify session management ID" +#~ msgstr "Sessiebeheer-ID opgeven" + +#~ msgid "Session management options:" +#~ msgstr "Sessiebeheer-opties:" + +#~ msgid "Show session management options" +#~ msgstr "Sessiebeheer-opties tonen" + +#~ msgid "Notification Messages" +#~ msgstr "Meldingen" + +#~ msgid "Identity" +#~ msgstr "Identiteit" + +#~ msgid "Progress Title" +#~ msgstr "Voortgangstitel" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "Het ‘file-roller’ proces is niet juist voltooid" + +#~ msgid "Invalid" +#~ msgstr "Ongeldig" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "Kan informatie niet over het netwerk delen." + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "Het delen van sleutels stelt andere mensen op uw netwerk in staat om de " +#~ "sleutels die u heeft verzameld, te gebruiken. Dit betekent dat zij " +#~ "automatisch dingen voor u of voor uw kennissen kunnen versleutelen, " +#~ "zonder dat u hen uw sleutel hoeft te sturen.\n" +#~ "\n" +#~ "Let op: Uw persoonlijke sleutels worden niet bekendgemaakt." + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "Mijn sleutels _delen met anderen op mijn netwerk" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginal\n" +#~ "Full\n" +#~ "Ultimate" +#~ msgstr "" +#~ "Onbekend\n" +#~ "Nooit\n" +#~ "Gedeeltelijk\n" +#~ "Volledig\n" +#~ "Meer dan volledig" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginally\n" +#~ "Fully\n" +#~ "Ultimately" +#~ msgstr "" +#~ "Onbekend\n" +#~ "Nooit\n" +#~ "Enigszins\n" +#~ "Volledig\n" +#~ "Meer dan volledig" + +#~ msgid "_Close" +#~ msgstr "Sl_uiten" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/beatrix/.ssh/bla_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" + +#~ msgid "Loading..." +#~ msgstr "Laden…" + +#~ msgid "Invalid or unrecognized object." +#~ msgstr "Ongeldige of onbekende object." + +#~ msgid "Exporting is not yet supported." +#~ msgstr "Exporteren wordt nog niet ondersteund" + +#~ msgid "Save this passphrase in my keyring" +#~ msgstr "Wachtwoord opslaan in mijn sleutelbos" + +#~ msgid "Unparseable Key ID" +#~ msgstr "Onverwerkbare sleutel-ID" + +#~ msgid "Unknown/Invalid Key" +#~ msgstr "Onbekende/Ongeldige sleutel" + +#~ msgid "" +#~ "Warning: Your system is not configured to cache passphrases in " +#~ "secure memory." +#~ msgstr "" +#~ "Waarschuwing: Uw systeem is niet ingesteld om wachtwoordzinnen te " +#~ "bufferen in beveiligd geheugen." + +#~ msgid "_Clear Cache" +#~ msgstr "Opslag _wissen" + +#~ msgid "_Show Window" +#~ msgstr "_Venster tonen" + +#~ msgid "Do not daemonize seahorse-agent" +#~ msgstr "Seahorse-agent niet als voorziening starten" + +#~ msgid "Print variables in for a C type shell" +#~ msgstr "Variabelen voor een C-achtige shell tonen" + +#~ msgid "Display environment variables (the default)" +#~ msgstr "Omgevingsvariabelen tonen (standaard)" + +#~ msgid "Allow GPG agent request from any display" +#~ msgstr "GPG-verzoeken vanaf elk display toelaten" + +#~ msgid "command..." +#~ msgstr "opdracht…" + +#~ msgid "no command specified to execute" +#~ msgstr "geen uit te voeren opdracht aangegeven" + +#~ msgid "Authorize Passphrase Access" +#~ msgstr "Wachtwoordzin-toegang autoriseren" + +#~ msgid "The passphrase is cached in memory." +#~ msgstr "Het wachtwoord is opgeslagen in het geheugen." + +# toestemming staat er in het engels niet bij, maar wordt wel +# geïmpliceerd +#~ msgid "Always ask me before using a cached passphrase" +#~ msgstr "Toestemming vragen voor gebruik van een opgeslagen wachtwoordzin" + +#~ msgid "_Authorize" +#~ msgstr "_Autoriseren" + +#~ msgid "" +#~ "After performing an decrypt or verify operation from the applet, display " +#~ "the resulting text in a window." +#~ msgstr "" +#~ "De resulterende tekst na het uitvoeren van een ontcijfer- of verificatie-" +#~ "actie vanaf het applet in een venster tonen." + +#~ msgid "" +#~ "After performing an encrypt or signing operation from the applet, display " +#~ "the resulting text in a window." +#~ msgstr "" +#~ "De resulterende tekst na het uitvoeren van een versleutel- of onderteken-" +#~ "operatie vanaf het applet in een venster tonen." + +#~ msgid "Display cache reminder in the notification area" +#~ msgstr "Buffermelding weergeven in het mededelingengebied" + +#~ msgid "Display clipboard after decrypting" +#~ msgstr "Klembordinhoud tonen na ontcijfering" + +#~ msgid "Display clipboard after encrypting" +#~ msgstr "Klembordinhoud tonen na versleuteling" + +#~ msgid "Expire passwords in the cache" +#~ msgstr "Wachtwoorden in de opslag laten verlopen" + +#~ msgid "" +#~ "If set to 'gnome' uses gnome-keyring to cache passwords. When set to " +#~ "'internal' uses internal cache." +#~ msgstr "" +#~ "Gebruikt de gnome-keyring wanneer ingesteld op ‘gnome’ en eigen opslag " +#~ "wanneer ingesteld op ‘internal’." + +#~ msgid "Prompt before using GPG passwords in cache" +#~ msgstr "Toestemming vragen voor gebruik van GPG wachtwoorden in de opslag" + +#~ msgid "" +#~ "Reflect the contents of the clipboard (whether encrypted, signed, etc...) " +#~ "in the panel applet icon." +#~ msgstr "" +#~ "De status van het klembord (versleuteld, ondertekend, …) weergeven in het " +#~ "paneelpictogram." + +#~ msgid "" +#~ "Set to 'true' to enable display of the cache reminder in the notification " +#~ "area of your panel." +#~ msgstr "" +#~ "Indien ingeschakeld wordt de buffergeheugensteun in het " +#~ "mededelingengebied van het paneel getoond." + +#~ msgid "" +#~ "Set to 'true' to have seahorse-agent prompt before giving out passwords " +#~ "it has cached." +#~ msgstr "" +#~ "Indien ingeschakeld vraagt ‘seahorse-agent’ om wachtwoorden voordat het " +#~ "opgeslagen wachtwoorden vrijgeeft." + +#~ msgid "Show clipboard state in panel" +#~ msgstr "Klembordstatus in paneel tonen" + +#~ msgid "The time (in minutes) to cache GPG passwords" +#~ msgstr "De periode dat GPG wachtwoorden worden gebufferd (in minuten)" + +#~ msgid "" +#~ "This is the amount of time, specified in minutes, to cache GPG passwords " +#~ "in seahorse-agent." +#~ msgstr "" +#~ "Dit is hoelang, uitgedrukt in minuten, GPG-wachtwoorden worden gebufferd " +#~ "in seahorse-agent." + +#~ msgid "" +#~ "This option enables the GPG password cache in the seahorse-agent program. " +#~ "The 'use-agent' setting in gpg.conf affects this setting." +#~ msgstr "" +#~ "Met deze optie wordt de GPG-wachtwoordbuffer aangezet in seahorse-agent. " +#~ "De optie ‘use-agent’ in gpg.conf bepaalt deze instelling." + +#~ msgid "" +#~ "When set, seahorse-agent expires GPG passwords in its cache after a " +#~ "period of time." +#~ msgstr "" +#~ "Indien ingeschakeld laat de seahorse-agent gebufferde GPG-wachtwoorden na " +#~ "een bepaalde periode verlopen." + +#~ msgid "Whether the GPG password cache is enabled" +#~ msgstr "Geeft aan of de GPG-wachtwoordbuffer is ingeschakeld" + +#~ msgid "None. Prompt for a key." +#~ msgstr "Geen (om sleutel vragen)" + +#~ msgid "Remember PGP Passphrases" +#~ msgstr "PGP-wachtwoordzinnen onthouden" + +#~ msgid "A supported PGP passphrase caching agent is not running." +#~ msgstr "" +#~ "Er is geen ondersteunde buffering voor PGP-wachtwoordzinnen actief." + +#~ msgid "This key is used to sign messages when no other key is chosen" +#~ msgstr "" +#~ "Deze sleutel dient voor het ondertekenen van berichten wanneer er geen " +#~ "andere sleutel is gekozen" + +#~ msgid "As_k me before using a cached passphrase" +#~ msgstr "_Toestemming vragen voor gebruik van een gebufferde wachtwoordzin" + +#~ msgid "Show _icon in status area when passphrases are in memory" +#~ msgstr "_Pictogram in mededelingengebied tonen de buffer wachtwoorden bevat" + +#~ msgid "When _encrypting, always include myself as a recipient" +#~ msgstr "Altijd mijzelf als geadresseerde vermelden bij ve_rsleutelen" + +#~ msgid "_Always remember passphrases whenever logged in" +#~ msgstr "Wachtwoordzinnen _altijd onthouden wanneer aangemeld" + +#~ msgid "_Default key:" +#~ msgstr "_Standaardsleutel:" + +#~ msgid "Encrypt, decrypt or sign the clipboard (uses PGP type encryption)." +#~ msgstr "" +#~ "De klembordinhoud versleutelen, ontcijferen of ondertekenen (met PGP-" +#~ "encryptie)." + +#~ msgid "Seahorse Applet Factory" +#~ msgstr "Seahorse appletfabriek" + +#~ msgid "seahorse-applet" +#~ msgstr "seahorse-applet" + +#~ msgid "Use PGP/GPG to encrypt/decrypt/sign/verify/import the clipboard." +#~ msgstr "" +#~ "PGP/GPG gebruiken om de klembordinhoud te versleutelen/ontcijferen/" +#~ "ondertekenen/verifiëren/importeren." + +#~ msgid "Choose Recipient Keys" +#~ msgstr "Sleutels van geadresseerden kiezen" + +#~ msgid "The clipboard could not be encrypted." +#~ msgstr "Het klembord kan niet worden versleuteld." + +#~ msgid "Choose Key to Sign with" +#~ msgstr "Kies een sleutel om mee te ondertekenen" + +#~ msgid "Signing Failed" +#~ msgstr "Ondertekening mislukt" + +#~ msgid "The clipboard could not be Signed." +#~ msgstr "Het klembord kan niet worden ondertekend." + +#~ msgid "Keys were found but not imported." +#~ msgstr "Er zijn sleutels gevonden maar niet geïmporteerd." + +#~ msgid "Text may be malformed." +#~ msgstr "De tekst zou onjuist opgemaakt kunnen zijn." + +#~ msgid "No PGP key or message was found on clipboard" +#~ msgstr "Geen PGP-sleutel of bericht gevonden." + +#~ msgid "No PGP data found." +#~ msgstr "Geen PGP-gegevens gevonden." + +#~ msgid "Decrypted Text" +#~ msgstr "Ontcijferde tekst" + +#~ msgid "_Encrypt Clipboard" +#~ msgstr "Klembord _versleutelen" + +#~ msgid "_Decrypt/Verify Clipboard" +#~ msgstr "Klembord ont_cijferen/verifiëren" + +#~ msgid "Display clipboard contents after:" +#~ msgstr "Klembordinhoud weergeven na:" + +#~ msgid "Clipboard Encryption Preferences" +#~ msgstr "Voorkeuren voor klembordencryptie" + +#~ msgid "_Encrypting or signing the clipboard" +#~ msgstr "_Ondertekening en versleuteling van het klembord" + +#~ msgid "_Show clipboard state in panel" +#~ msgstr "_Status van klembord weergeven in paneel" + +#~ msgid "_Decrypt/Verify" +#~ msgstr "Verifiëren/_ontcijferen" + +#~ msgid "Keys found but not imported" +#~ msgstr "Sleutels gevonden maar niet geïmporteerd" + +#~ msgid "No encrypted or signed text is selected." +#~ msgstr "Er is geen versleutelde of ondertekende tekst geselecteerd." + +#~ msgid "_Encrypt..." +#~ msgstr "_Versleutelen…" + +#~ msgid "Decr_ypt/Verify" +#~ msgstr "Ont_cijferen/verifiëren" + +#~ msgid "Decrypt and/or Verify text" +#~ msgstr "Tekst ontcijferen en/of verifiëren" + +#~ msgid "Sig_n..." +#~ msgstr "_Ondertekenen…" + +#~ msgid "Enable the seahorse encryption plugin for gedit." +#~ msgstr "De seahorse versleutelingsplugin aanzetten voor gedit." + +#~ msgid "Enable the seahorse gedit plugin" +#~ msgstr "De seahorse plugin voor gedit aanzetten" + +#~ msgid "This plugin performs encryption operations on text." +#~ msgstr "Deze plugin voert versleutelingsbewerkingen uit op tekst." + +#~ msgid "Encrypt (and optionally sign) the selected file" +#~ msgid_plural "Encrypt the selected files" +#~ msgstr[0] "Bestand versleutelen (en optioneel signeren)" +#~ msgstr[1] "Bestanden versleutelen (en optioneel signeren)" + +#~ msgid "For internal use" +#~ msgstr "Alleen voor intern gebruik" + +#~ msgid "Configure key servers and other encryption settings" +#~ msgstr "Sleutelservers en andere versleutelingsinstellingen" + +#~ msgid "Encrypt and sign file with default key" +#~ msgstr "Bestand versleutelen en ondertekenen met standaardsleutel" + +#~ msgid "Verify signature file" +#~ msgstr "Handtekeningbestand verifiëren" + +#~ msgid "Read list of URIs on standard in" +#~ msgstr "Lijst met URI's lezen op de standaard invoer" + +#~ msgid "file..." +#~ msgstr "bestand…" + +#~ msgid "Choose Recipients" +#~ msgstr "Geadresseerden kiezen" + +#~ msgid "Choose Encrypted File Name for '%s'" +#~ msgstr "Naam voor versleuteld bestand kiezen voor '%s'" + +#~ msgid "Choose Signature File Name for '%s'" +#~ msgstr "Naam voor handtekeningbestand kiezen voor ‘%s’" + +#~ msgid "Choose Decrypted File Name for '%s'" +#~ msgstr "Naam voor ontcijferd bestand kiezen voor ‘%s’" + +#~ msgid "Choose Original File for '%s'" +#~ msgstr "Oorspronkelijk bestand kiezen voor ‘%s’" + +#~ msgid "Verifying" +#~ msgstr "Verifiëren" + +#~ msgid "Ace (.ace)" +#~ msgstr "Ace (.ace)" + +#~ msgid "Ar (.ar)" +#~ msgstr "Ar (.ar)" + +#~ msgid "Arj (.arj)" +#~ msgstr "Arj (.arj)" + +#~ msgid "Ear (.ear)" +#~ msgstr "Ear (.ear)" + +#~ msgid "Self-extracting zip (.exe)" +#~ msgstr "Zelf-uitpakkende zip (.exe)" + +#~ msgid "Jar (.jar)" +#~ msgstr "Jar (.jar)" + +#~ msgid "Lha (.lzh)" +#~ msgstr "Lha (.lzh)" + +#~ msgid "Rar (.rar)" +#~ msgstr "Rar (.rar)" + +#~ msgid "Tar uncompressed (.tar)" +#~ msgstr "Tar, niet ingepakt (.tar)" + +#~ msgid "Tar compressed with bzip (.tar.bz)" +#~ msgstr "Tar, niet ingepakt" + +#~ msgid "Tar compressed with bzip2 (.tar.bz2)" +#~ msgstr "Tar, met bzip2 ingepakt (.tar.bz2)" + +#~ msgid "Tar compressed with gzip (.tar.gz)" +#~ msgstr "Tar, met gzip ingepakt (.tar.bz2)" + +#~ msgid "Tar compressed with lzop (.tar.lzo)" +#~ msgstr "Tar, met lzop ingepakt (.tar.lzo)" + +#~ msgid "Tar compressed with compress (.tar.Z)" +#~ msgstr "Tar, met compress ingepakt (.tar.Z)" + +#~ msgid "War (.war)" +#~ msgstr "War (.war)" + +#~ msgid "Zip (.zip)" +#~ msgstr "Zip (.zip)" + +#~ msgid "Zoo (.zoo)" +#~ msgstr "Zoo (.zoo)" + +#~ msgid "7-Zip (.7z)" +#~ msgstr "7-Zip (.7z)" + +#~ msgid "You have selected %d file " +#~ msgid_plural "You have selected %d files " +#~ msgstr[0] "U heeft %d bestand geselecteerd" +#~ msgstr[1] "U heeft %d bestanden geselecteerd" + +#~ msgid "You have selected %d files" +#~ msgstr "U heeft %d bestanden geselecteerd" + +#~ msgid "You have selected %d folder" +#~ msgid_plural "You have selected %d folders" +#~ msgstr[0] "U heeft %d map geselecteerd" +#~ msgstr[1] "U heeft %d mappen geselecteerd" + +#~ msgid "Back up Key Rings to Archive" +#~ msgstr "Backup van sleutelbos naar archief maken" + +#~ msgid "_Back up Key Rings..." +#~ msgstr "_Backup maken van sleutelbos…" + +#~ msgid "Back up all keys" +#~ msgstr "Backup maken van alle sleutels" + +#~ msgid "No matching keys found" +#~ msgstr "Geen overeenkomende sleutels gevonden" + +#~ msgid "Save selected keys as a file" +#~ msgstr "Geselecteerde sleutels als bestand opslaan" + +#~ msgid "You have selected multiple files or folders" +#~ msgstr "U heeft meerdere bestanden of mappen geselecteerd" + +#~ msgid "" +#~ "Because the files are located remotely, each file will be encrypted " +#~ "separately." +#~ msgstr "" +#~ "Omdat de bestanden zich op andere machine bevinden, zal elk bestand " +#~ "afzonderlijk worden versleuteld." + +#~ msgid "Encrypt each file separately" +#~ msgstr "Elk bestand afzonderlijk versleutelen" + +# vrij vertaald (Wouter Bolsterlee) +#~ msgid "Encrypt packed together in a package" +#~ msgstr "Versleuteling als totaalarchief" + +# vrij vertaald (Wouter Bolsterlee) +#~ msgid "Package Name:" +#~ msgstr "Archiefnaam:" + +# vrij vertaald (Wouter Bolsterlee) +#~ msgid "Packaging:" +#~ msgstr "Archieftype:" + +#~ msgid "encrypted-package" +#~ msgstr "encrypted-package" + +#~ msgid "Decrypt File" +#~ msgstr "Bestand ontcijferen" + +#~ msgid "I have checked that this key belongs to '%s'" +#~ msgstr "Ik heb gecontroleerd dat deze sleutel toebehoort aan ‘%s’" + +#~ msgid "couldn't read gpg configuration, will try to create" +#~ msgstr "kon gpg-configuratie niet lezen, zal deze proberen aan te maken" + +#~ msgid "couldn't modify gpg configuration: %s" +#~ msgstr "kon gpg-configuratie niet aanpassen: %s" + +#~ msgid "" +#~ "Display variables instead of editing conf files (gpg.conf, SSH agent " +#~ "socket)" +#~ msgstr "" +#~ "Variabelen weergeven in plaats van conf-bestanden bewerken (gpg.conf, ssh " +#~ "agent socket)" + +#~ msgid "" +#~ "When set seahorse-agent will try to automatically load the users SSH keys " +#~ "when needed. This is equivalent to using the ssh-add utility." +#~ msgstr "" +#~ "Indien ingeschakeld zal seahorse automatisch SSH-sleutels laden. Deze " +#~ "service komt overeen met ssh-add." + +#~ msgid "Whether to automatically load SSH keys on demand." +#~ msgstr "Geeft aan of SSH-sleutels automatisch geladen worden indien nodig." + +#~ msgid "Couldn't open the Session Properties" +#~ msgstr "Kon de sessie-eigenschappen niet openen" + +#~ msgid "Couldn't start the 'seahorse-agent' program" +#~ msgstr "Kon het programma ‘seahorse-agent’ niet starten" + +#~ msgid "The 'seahorse-agent' program exited unsuccessfully." +#~ msgstr "Het programma ‘seahorse-agent’ eindigde met een foutcode." + +# te cachen/in de buffer op te slaan +#~ msgid "" +#~ "Note: The 'seahorse-agent' program has been started. This program " +#~ "is necessary in order to cache passphrases. " +#~ msgstr "" +#~ "Let op: Het programma ‘seahorse-agent’ is opgestart. Dit programma " +#~ "is nodig om wachtwoordzinnen in de buffer op te slaan." + +#~ msgid "" +#~ "Warning: The 'seahorse-agent' program is not running. This program " +#~ "is necessary in order to cache passphrases. " +#~ msgstr "" +#~ "Waarschuwing: Het programma ‘seahorse-agent’ is niet opgestart. " +#~ "Dit programma is nodig om wachtwoordzinnen in de buffer op te slaan." + +#~ msgid "" +#~ "No SSH caching agent is running. Cannot load Secure Shell keys." +#~ msgstr "Er is geen SSH-buffering actief. Kan sleutels niet laden." + +#~ msgid "" +#~ "GNOME Keyring stores passwords, network keys, passphrases and other " +#~ "secrets required for authentication. A master password is used to " +#~ "protect these secrets. The master password can be changed below." +#~ msgstr "" +#~ "De Gnome-sleutelbos onthoudt wachtwoorden, netwerksleutels, " +#~ "wachtwoordzinnen en andere codes die voor authenticatie nodig zijn. Een " +#~ "hoofdwachtwoord is nodig om deze wachtwoorden te beveiligen. Het " +#~ "hoofdwachtwoord kan hieronder gewijzigd worden." + +#~ msgid "Original Master Password:" +#~ msgstr "Huidige hoofdwachtwoord:" + +#~ msgid "The master password was successfully changed." +#~ msgstr "Het hoofdwachtwoord is veranderd." + +#~ msgid "" +#~ "To avoid manually starting the 'seahorse-agent' in the future\n" +#~ "add it to the Session Manager. " +#~ msgstr "" +#~ "Om te voorkomen dat u in de toekomst handmatig ‘seahorse-agent’ moet " +#~ "opstarten\n" +#~ "kunt u het toevoegen aan het sessiebeheer." + +#~ msgid "Progress Message" +#~ msgstr "Voortgangsbericht" + +#~ msgid "Progress Status" +#~ msgstr "Voortgangsstatus" + +#~ msgid "gtk-apply" +#~ msgstr "gtk-apply" + +#~ msgid "gtk-clear" +#~ msgstr "gtk-clear" + +#~ msgid "Deleting item" +#~ msgid_plural "Deleting items" +#~ msgstr[0] "Item verwijderen…" +#~ msgstr[1] "Items verwijderen…" + +#~ msgid "Password:" +#~ msgstr "Wachtwoord:" + +#~ msgid "Passwords: %s" +#~ msgstr "Wachtwoorden: %s" + +#~ msgid "Passwords: %s" +#~ msgstr "Wachtwoorden: %s" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "De wachtwoordsleutelbos vergrendelen zodat een hoofdwachtwoord nodig is " +#~ "om het te ontgrendel." + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "" +#~ "De wachtwoordsleutelbos ontgrendelen met een hoofdwachtwoord zodat deze " +#~ "bruikbaar wordt." + +#~ msgid "Couldn't delete keyring" +#~ msgstr "Kon sleutelbos niet verwijderen" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "Toegang tot sleutelbos geweigerd" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "De Gnome sleutelbos-voorziening is niet actief" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "Sleutelbos is reeds geopend" + +#~ msgid "No such key ring exists" +#~ msgstr "Deze sleutelbos bestaat niet" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "Kan niet met de sleutelbos-voorziening communiceren" + +#~ msgid "The item already exists" +#~ msgstr "Dit item bestaat al" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "Interne fout bij openen van de Gnome sleutelbos" + +#~ msgid "Archive files" +#~ msgstr "Archiefbestanden" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "Er bestaat al een bestand met deze naam.\n" +#~ "\n" +#~ "Wilt u het overschrijven met een nieuw bestand?" + +#~ msgid "_Replace" +#~ msgstr "_Vervangen" + +#~ msgid "_Sign Key..." +#~ msgstr "_Sleutel ondertekenen…" + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "" +#~ "Weet u zeker dat u %d sleutels en identiteiten permanent wilt verwijderen?" + +#~ msgid "Couldn't delete public key" +#~ msgstr "Kon publieke sleutel niet verwijderen" + +# huh? (Wouter Bolsterlee) +#~ msgid "Algorithms here" +#~ msgstr "Algoritmes" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "Kon sleutel niet exporteren naar ‘%s’" + +#~ msgid "Export Complete Key" +#~ msgstr "Volledige sleutel exporteren" + +#~ msgid "Actions" +#~ msgstr "Acties" + +#~ msgid "Comment:" +#~ msgstr "Commentaar:" + +#~ msgid "Dates" +#~ msgstr "Datum" + +#~ msgid "Key ID:" +#~ msgstr "Sleutel-id:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "Sleutelnamen en -ondertekeningen" + +#~ msgid "Type:" +#~ msgstr "Type:" + +#~ msgid "Use:" +#~ msgstr "Gebruik:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Naam:" + +#~ msgid "Key Name" +#~ msgstr "Sleutelnaam" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "Weet u zeker dat u het certificaat ‘%s’ wilt verwijderen?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "Weet u zeker dat u %d certificaat wilt verwijderen?" +#~ msgstr[1] "Weet u zeker dat u %d certificaten wilt verwijderen?" + +#~ msgid "Deleting" +#~ msgstr "Verwijderen" + +#~ msgid "Create New ..." +#~ msgstr "Nieuwe aanmaken…" + +#~ msgid "Importing keys" +#~ msgstr "Sleutels importeren" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "Onbekend sleuteltype of ongeldige dataopmaak" + +#~ msgid "Importing Keys" +#~ msgstr "Sleutels importeren" + +#~ msgid "T_ypes" +#~ msgstr "T_ypes" + +#~ msgid "_Expiry" +#~ msgstr "_Verloopdatum" + +#~ msgid "_Trust" +#~ msgstr "_Vertrouwen" + +#~ msgid "_Validity" +#~ msgstr "_Geldigheid" + +#~ msgid "Other _Keys" +#~ msgstr "_Andere sleutels" + +#~ msgid "Validity" +#~ msgstr "Geldigheid" + +#~ msgid "_Expand All" +#~ msgstr "Alles uit_klappen" + +#~ msgid "Expand all listings" +#~ msgstr "Alle lijsten uitklappen" + +#~ msgid "_Collapse All" +#~ msgstr "Alles inkla_ppen" + +#~ msgid "Collapse all listings" +#~ msgstr "Alle lijsten inklappen" + +#~ msgid "Key Servers:" +#~ msgstr "Sleutelservers:" + +#~ msgid "Exporting keys" +#~ msgstr "Sleutels exporteren" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "Kon gegevens niet van sleutelserver halen" + +#~ msgid "Retrieving keys" +#~ msgstr "Sleutels ophalen…" + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s is een privésleutel. Weet u zeker dat u verder wilt gaan?" + +#~ msgid "Couldn't delete key" +#~ msgstr "Kon sleutel niet verwijderen" + +#~ msgid "_Key Description:" +#~ msgstr "Sleutel_omschrijving:" + +#~ msgid "Name:" +#~ msgstr "Naam:" + +#~ msgid "Strength:" +#~ msgstr "Sterkte:" + +#~ msgid "Trust" +#~ msgstr "Vertrouwen" + +#, fuzzy +#~ msgid "couldn't fork process" +#~ msgstr "Kon sleutels niet exporteren" + +#, fuzzy +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "Versleuteld wachtwoord voor sleutelbos" + +#, fuzzy +#~ msgid "This keytype is not supported: %s" +#~ msgstr "Deze sleutel is verlopen op %s" + +#, fuzzy +#~ msgid "Invalid Signature" +#~ msgstr "Ongeldige verloopdatum" + +#, fuzzy +#~ msgid "Expired Signature" +#~ msgstr "Namen en ondertekeningen" + +#, fuzzy +#~ msgid "Revoked Signature" +#~ msgstr "Ondertekening intre_kken" + +#, fuzzy +#~ msgid "Good Signature" +#~ msgstr "Ondertekening intre_kken" + +#, fuzzy +#~ msgid "Unknown Signature" +#~ msgstr "Ondertekening intre_kken" + +#, fuzzy +#~ msgid "Bad Signature" +#~ msgstr "Namen en ondertekeningen" + +#, fuzzy +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "Geen bruikbare sleutels voor ondertekening" + +#, fuzzy +#~ msgid "Invalid key id: %s" +#~ msgstr "Ongeldige verloopdatum" + +#, fuzzy +#~ msgid "Auto Sync Keys" +#~ msgstr "Sleutels synchroniseren" + +#, fuzzy +#~ msgid "ID of the default key" +#~ msgstr "Kon standaardsleutelbos niet instellen" + +#, fuzzy +#~ msgid "PGP Key servers" +#~ msgstr "Sleutelservers" + +#, fuzzy +#~ msgid "Show expires column in key manager" +#~ msgstr "Verloopdatum-kolom tonen" + +#, fuzzy +#~ msgid "Show trust column in key manager" +#~ msgstr "Vertrouwen-kolom tonen" + +#, fuzzy +#~ msgid "Show type column in key manager" +#~ msgstr "Type-kolom tonen in de sleutelbeheerder" + +#, fuzzy +#~ msgid "Show validity column in key manager" +#~ msgstr "Geldigheid-kolom tonen" + +#, fuzzy +#~ msgid "Couldn't set application access." +#~ msgstr "Kan omschrijving niet instellen." + +#, fuzzy +#~ msgid "Path:" +#~ msgstr "Datum:" + +#, fuzzy +#~ msgid "Permissions:" +#~ msgstr "Wachtwoord:" + +#, fuzzy +#~ msgid "_Read" +#~ msgstr "_Reden:" + +#, fuzzy +#~ msgctxt "infinitive" +#~ msgid "_Delete" +#~ msgstr "_Verwijderen" + +#, fuzzy +#~ msgid "Listing password keyrings" +#~ msgstr "Nieuwe wachtwoordsleutelbos" + +#, fuzzy +#~ msgid "All Keys" +#~ msgstr "Alle bestanden" + +#, fuzzy +#~ msgid "Selected Recipients" +#~ msgstr "Tijd selecteren" + +#, fuzzy +#~ msgid "Search _for:" +#~ msgstr "_Zoeken" + +#, fuzzy +#~ msgid "Sign this message as %s" +#~ msgstr "Bestand _ondertekenen met sleutel:" + +#, fuzzy +#~ msgid "_Sign message as:" +#~ msgstr "Bestand _ondertekenen met sleutel:" + +#, fuzzy +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "Geïmporteerde sleutels" +#~ msgstr[1] "Geïmporteerde sleutels" + +#, fuzzy +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "Geïmporteerde sleutels" +#~ msgstr[1] "Geïmporteerde sleutels" + +#, fuzzy +#~ msgid "Symmetric Key" +#~ msgstr "Sleutels synchroniseren" + +#, fuzzy +#~ msgid "Credentials" +#~ msgstr "Netwerkaanmeldgegevens" + +#, fuzzy +#~ msgid "Couldn't run file-roller" +#~ msgstr "Kon niet ontgrendelen" + +#, fuzzy +#~ msgid "Couldn't package files" +#~ msgstr "Kan item niet toevoegen." + +#, fuzzy +#~ msgid "Loading Keys..." +#~ msgstr "_Sleutel ondertekenen…" + +#, fuzzy +#~ msgid "Uploading keys..." +#~ msgstr "Sleutels importeren" + +#, fuzzy +#~ msgid "Retrieving keys..." +#~ msgstr "Sleutels ophalen…" + +#, fuzzy +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "_Zoeken naar sleutels met: " + +#, fuzzy +#~ msgid "Searching for key id '%s'..." +#~ msgstr "Zoeken naar sleutels mislukt." + +#, fuzzy +#~ msgid "Retrieving remote keys..." +#~ msgstr "Sleutels ophalen…" + +#, fuzzy +#~ msgid "Sending keys to key server..." +#~ msgstr "Sleutels importeren van sleutelservers" + +#, fuzzy +#~ msgid "Private Secure Shell Key" +#~ msgstr "Nieuwe SSH-sleutel" + +#, fuzzy +#~ msgid "Public Secure Shell Key" +#~ msgstr "SSH-sleutel" + +#, fuzzy +#~ msgid "Passphrase:" +#~ msgstr "Wachtwoordzin" + +#, fuzzy +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "Wachtwoordzin voor nieuwe SSH-sleutel" + +#, fuzzy +#~ msgid "Couldn't share keys" +#~ msgstr "Kon sleutel niet ondertekenen" + +#, fuzzy +#~ msgid "%s's encryption keys" +#~ msgstr "Versleuteld wachtwoord voor sleutelbos" + +#, fuzzy +#~ msgid "Key Sharing" +#~ msgstr "Sleutelbos" + +#, fuzzy +#~ msgid "Seahorse Daemon" +#~ msgstr "Hulpdocument tonen" + +#, fuzzy +#~ msgid "Create a PGP Key" +#~ msgstr "Privé PGP-sleutel" + +#, fuzzy +#~ msgid "Other _Collected Keys" +#~ msgstr "_Andere sleutels" + +#, fuzzy +#~ msgid "_Trusted Keys" +#~ msgstr "_Vertrouwen" + +#, fuzzy +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "%d sleutel geselecteerd voor synchronisatie" + +#, fuzzy +#~ msgid "" +#~ "One or more of the deleted keys are private keys. Are you sure you want " +#~ "to proceed?" +#~ msgstr "%s is een privésleutel. Weet u zeker dat u verder wilt gaan?" + +#, fuzzy +#~ msgid "Removing item" +#~ msgstr "Item verwijderen…" + +#, fuzzy +#~ msgid "Couldn't get default password keyring" +#~ msgstr "Kon standaardsleutelbos niet instellen" + +#, fuzzy +#~ msgid "Couldn't get list of password keyrings" +#~ msgstr "Kon standaardsleutelbos niet instellen" + +#, fuzzy +#~ msgid "Are you sure you want to permanently delete the '%s' keyring?" +#~ msgstr "Weet u zeker dat u de gebruiker-id ‘%s’ permanent wilt verwijderen?" + +#, fuzzy +#~ msgid "Default Keyring" +#~ msgstr "Datum" + +#, fuzzy +#~ msgid "Password Keyrings" +#~ msgstr "Wachtwoordsleutelbos" + +#, fuzzy +#~ msgid "Password and Encryption Settings" +#~ msgstr "Uw cryptografische sleutels en wachtwoorden beheren" + +#, fuzzy +#~ msgid "_Add Keyring" +#~ msgstr "_Sleutelbos:" + +#, fuzzy +#~ msgid "_Remove Keyring" +#~ msgstr "Sleutels op afstand" + +#, fuzzy +#~ msgid "Unknown Key: %s" +#~ msgstr "Onbekend" + +#, fuzzy +#~ msgid "Unavailable Key" +#~ msgstr "Niet beschikbaar" + +#, fuzzy +#~ msgid "X509 Certificate" +#~ msgstr "Certificaat" + +#, fuzzy +#~ msgid "Expiry for Subkey %d of %s" +#~ msgstr "Subsleutel %d van %s" + +#, fuzzy +#~ msgid "Import keys into your key ring from a file" +#~ msgstr "Bestaande sleutels uit een bestand importeren:" + +#, fuzzy +#~ msgid "Secure Shell Passphrase" +#~ msgstr "Geef uw SSH-wachtwoordzin op:" + +#, fuzzy +#~ msgid "Secure Shell Key Passphrase" +#~ msgstr "SSH-sleutel" + +#, fuzzy +#~ msgid "Enter the passphrase for: %s" +#~ msgstr "Voer de huidige wachtwoordzin in voor: %s" + +#, fuzzy +#~ msgid "Please enter a passphrase to use." +#~ msgstr "Wachtwoordzin voor ‘%s’ opgeven" + +#, fuzzy +#~ msgid "PGP Key: %s" +#~ msgstr "PGP-sleutels" + +#, fuzzy +#~ msgid "Cache _Preferences" +#~ msgstr "Voorkeuren" + +#, fuzzy +#~ msgid "Cached Encryption Keys" +#~ msgstr "Versleuteld wachtwoord voor sleutelbos" + +#, fuzzy +#~ msgid "Change passphrase cache settings." +#~ msgstr "Wachtwoordzin wijzigen" + +#, fuzzy +#~ msgid "Clear passphrase cache" +#~ msgstr "Wachtwoordzin opgeven" + +#, fuzzy +#~ msgid "Encryption Key Agent (Seahorse)" +#~ msgstr "Versleuteld wachtwoord voor sleutelbos" + +#, fuzzy +#~ msgid "Default Key" +#~ msgstr "Datum" + +#, fuzzy +#~ msgid "Encryption" +#~ msgstr "Versleutelings_type:" + +#, fuzzy +#~ msgid "PGP Passphrases" +#~ msgstr "Wachtwoordzin" + +#, fuzzy +#~ msgid "_Never remember passphrases" +#~ msgstr "Nieuwe wachtwoordzin opgeven" + +#, fuzzy +#~ msgid "_Remember passphrases for" +#~ msgstr "Wachtwoordzin voor ‘%s’ opgeven" + +#, fuzzy +#~ msgid "Couldn't set permissions on backup file." +#~ msgstr "Kan omschrijving niet instellen." + +#, fuzzy +#~ msgid "Encrypted Text" +#~ msgstr "Versleutelings_type:" + +#, fuzzy +#~ msgid "Encryption Failed" +#~ msgstr "Versleutelings_type:" + +#, fuzzy +#~ msgid "Signed Text" +#~ msgstr "_Sleutel ondertekenen" + +#, fuzzy +#~ msgid "Decrypting Failed" +#~ msgstr "Item verwijderen…" + +#, fuzzy +#~ msgid "Could not display the help file" +#~ msgstr "Kon de hulp niet weergeven: %s" + +#, fuzzy +#~ msgid "_Sign Clipboard" +#~ msgstr "Klembordtekst" + +#, fuzzy +#~ msgid "_Import Keys from Clipboard" +#~ msgstr "Sleutels van klembord importeren" + +#, fuzzy +#~ msgid "Encryption Applet" +#~ msgstr "Versleutelings_type:" + +#, fuzzy +#~ msgid "_Decrypting or verifying the clipboard" +#~ msgstr "Sleutels van klembord importeren" + +#, fuzzy +#~ msgid "_Import Key" +#~ msgstr "Sleutel importeren" + +#, fuzzy +#~ msgid "Couldn't connect to seahorse-daemon" +#~ msgstr "Kan niet met de sleutelbos-voorziening communiceren" + +#, fuzzy +#~ msgid "Encrypted text" +#~ msgstr "Ingevoerde tekst" + +#, fuzzy +#~ msgid "Couldn't encrypt text" +#~ msgstr "Kan sleutel niet exporteren" + +#, fuzzy +#~ msgid "Couldn't decrypt text" +#~ msgstr "Kon onderdeel niet verwijderen" + +#, fuzzy +#~ msgid "Couldn't verify text" +#~ msgstr "Kon niet verwijderen" + +#, fuzzy +#~ msgid "Verified text" +#~ msgstr "Ingevoerde tekst" + +#, fuzzy +#~ msgid "Signed text" +#~ msgstr "_Sleutel ondertekenen" + +#, fuzzy +#~ msgid "Couldn't sign text" +#~ msgstr "Kon sleutel niet ondertekenen" + +#, fuzzy +#~ msgid "Encrypt the selected text" +#~ msgstr "Geselecteerde items verwijderen" + +#, fuzzy +#~ msgid "Sign the selected text" +#~ msgstr "Geselecteerde items verwijderen" + +#, fuzzy +#~ msgid "Text Encryption" +#~ msgstr "Versleutelings_type:" + +#, fuzzy +#~ msgid "Encrypt..." +#~ msgstr "E_xporteren…" + +#, fuzzy +#~ msgid "Sign the selected file" +#~ msgid_plural "Sign the selected files" +#~ msgstr[0] "Geselecteerde items verwijderen" +#~ msgstr[1] "Geselecteerde items verwijderen" + +#, fuzzy +#~ msgid "Encryption Preferences" +#~ msgstr "Voorkeuren" + +#, fuzzy +#~ msgid "Encryption and Keyrings" +#~ msgstr "Versleuteld wachtwoord voor sleutelbos" + +#, fuzzy +#~ msgid "Encrypt file" +#~ msgstr "Versleutelings_type:" + +#, fuzzy +#~ msgid "Sign file with default key" +#~ msgstr "Bestand _ondertekenen met sleutel:" + +#, fuzzy +#~ msgid "Decrypt encrypted file" +#~ msgstr "Voor versleuteling van e-mail en bestanden" + +#, fuzzy +#~ msgid "Import is complete" +#~ msgstr "Volledige sleutel exporteren" + +#, fuzzy +#~ msgid "Importing keys ..." +#~ msgstr "Sleutels importeren" + +#, fuzzy +#~ msgid "No valid signatures found" +#~ msgstr "Namen en ondertekeningen" + +#, fuzzy +#~ msgid "File Encryption Tool" +#~ msgstr "Versleutelings_type:" + +#, fuzzy +#~ msgid "Encrypting" +#~ msgstr "Versleutelings_type:" + +#, fuzzy +#~ msgid "Couldn't encrypt file: %s" +#~ msgstr "Kon sleutels niet exporteren" + +#, fuzzy +#~ msgid "Signing" +#~ msgstr "Ondertekenen" + +#, fuzzy +#~ msgid "Couldn't sign file: %s" +#~ msgstr "Kon sleutel niet ondertekenen" + +#, fuzzy +#~ msgid "Couldn't import keys from file: %s" +#~ msgstr "Kon sleutelgegevens niet van sleutelserver halen: %s" + +#, fuzzy +#~ msgid "Decrypting" +#~ msgstr "Verwijderen" + +#, fuzzy +#~ msgid "Couldn't decrypt file: %s" +#~ msgstr "Kon onderdeel niet verwijderen" + +#, fuzzy +#~ msgid "Couldn't verify file: %s" +#~ msgstr "Opzoeken van adres mislukt: %s" + +#, fuzzy +#~ msgid "%s%s" +#~ msgstr "Gebruik:" + +#, fuzzy +#~ msgid "Couldn't list files" +#~ msgstr "Kon sleutels niet importeren" + +#, fuzzy +#~ msgid "Couldn't read file" +#~ msgstr "Kan item niet toevoegen." + +#, fuzzy +#~ msgid "_Key" +#~ msgstr "_Sleutelbos:" + +#, fuzzy +#~ msgid "E_xport Public Key..." +#~ msgstr "Publieke sleutel exporteren" + +#, fuzzy +#~ msgid "_Copy Public Key" +#~ msgstr "Openbare PGP-sleutel" + +#, fuzzy +#~ msgid "Set Up Computer for _Secure Shell..." +#~ msgstr "Sleutel configureren voor _Secure Shell…" + +#, fuzzy +#~ msgid "User ID" +#~ msgstr "Gebruiker-id toevoegen" + +#, fuzzy +#~ msgid "Couldn't retrieve key data" +#~ msgstr "Kon privésleutel niet verwijderen" + +#, fuzzy +#~ msgid "Couldn't write key to file" +#~ msgstr "Kon sleutel niet exporteren naar ‘%s’" + +#, fuzzy +#~ msgid "Couldn't import keys into key ring" +#~ msgstr "Kon sleutels niet importeren" + +#, fuzzy +#~ msgid "Couldn't write keys to file: %s" +#~ msgstr "Kon sleutelgegevens niet van sleutelserver halen: %s" + +#, fuzzy +#~ msgid "Save Remote Keys" +#~ msgstr "Sleutels op afstand" + +#, fuzzy +#~ msgid "Save Key As..." +#~ msgstr "_Sleutel ondertekenen…" + +#, fuzzy +#~ msgid "Remote Encryption Keys" +#~ msgstr "Sleutels op afstand" + +#, fuzzy +#~ msgid "Encrypt Multiple Files" +#~ msgstr "Meerdere sleutels" + +#, fuzzy +#~ msgid "Verify Signature" +#~ msgstr "Ondertekening intre_kken" + +#, fuzzy +#~ msgid "couldn't drop privileges properly" +#~ msgstr "Kon privésleutel niet verwijderen" + +#, fuzzy +#~ msgid "Secure Shell Keys" +#~ msgstr "SSH-sleutel" + +#, fuzzy +#~ msgid "Automatically load _Secure Shell keys" +#~ msgstr "SSH-sleutel ontgrendelen" + +#, fuzzy +#~ msgid "Confirm Master Password:" +#~ msgstr "Wachtwoordzin _bevestigen:" + +#, fuzzy +#~ msgid "New Master Password:" +#~ msgstr "Netwerkwachtwoord" + +#, fuzzy +#~ msgid "Passphrase Cache" +#~ msgstr "Wachtwoordzin" + +#, fuzzy +#~ msgid "Session Properties" +#~ msgstr "Sleutelbos-eigenschappen" + +#, fuzzy +#~ msgid "Login:" +#~ msgstr "Locatie:" + +#, fuzzy +#~ msgid "Server:" +#~ msgstr "Sleutelservers:" + +#, fuzzy +#~ msgid "[details]\n" +#~ msgstr "Details" + +#, fuzzy +#~ msgid "[login]" +#~ msgstr "Gebruikersnaam:" + +#, fuzzy +#~ msgid "[server]" +#~ msgstr "Server:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Naam:" + +#~ msgid "Are you sure you want to delete %d secure shell keys?" +#~ msgstr "Weet u zeker dat u deze %d Secure Shell-sleutels wilt verwijderen?" + +#~ msgid "Couldn't export key." +#~ msgstr "Kon sleutel niet exporteren." + +#~ msgid "Are you sure you want to permanently delete %d identities?" +#~ msgstr "Weet u zeker dat u deze %d identiteiten permanent wilt verwijderen?" + +#~ msgid "Encrypt files and email to the key's owner " +#~ msgstr "Bestanden en e-mail versleutelen voor de eigenaar van de sleutel " + +#~ msgid "This only applies to the '%s' account." +#~ msgstr "Dit is alleen van toepassing op account ‘%s’." + +#~ msgid "_Passwords" +#~ msgstr "_Wachtwoorden" diff --git a/po/nn.po b/po/nn.po new file mode 100644 index 00000000..49e1db59 --- /dev/null +++ b/po/nn.po @@ -0,0 +1,3421 @@ +# Norwegian translation of seahorse. +# Copyright (C) 2008 Free Software Foundation, Inc. +# Eskild Hustvedt , 2008 +# +# Based upon nb.po: +# Kjartan Maraas +# Espen Stefansen +msgid "" +msgstr "" +"Project-Id-Version: seahorse 2.21.x\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2008-03-03 11:19+0100\n" +"PO-Revision-Date: 2008-04-02 09:48+0200\n" +"Last-Translator: Eskild Hustvedt \n" +"Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../agent/seahorse-agent-actions.c:129 +#: ../libseahorse/seahorse-ssh-operation.c:443 +msgid "Passphrase:" +msgstr "Passordfrase:" + +#: ../agent/seahorse-agent-actions.c:130 +msgid "Please enter a passphrase to use." +msgstr "Oppgje passordfrase som skal brukast." + +#: ../agent/seahorse-agent-cache.c:70 +msgid "Unparseable Key ID" +msgstr "Ulesbar nøkkel-ID" + +#: ../agent/seahorse-agent-cache.c:71 +msgid "Unknown/Invalid Key" +msgstr "Ukjend/ugyldig nøkkel" + +#: ../agent/seahorse-agent-cache.c:523 +#, c-format +msgid "PGP Key: %s" +msgstr "PGP-nøkkel: %s" + +#: ../agent/seahorse-agent-cache.glade.h:1 +msgid "Warning: Your system is not configured to cache passphrases in secure memory." +msgstr "Advarsel: Systemet er ikkje set opp for å mellomlagra passord i sikret minne." + +#: ../agent/seahorse-agent-cache.glade.h:2 +msgid "Cache _Preferences" +msgstr "_Innstillingar for mellomlager" + +#: ../agent/seahorse-agent-cache.glade.h:3 +msgid "Cached Encryption Keys" +msgstr "Mellomlagra krypteringsnøklar" + +#: ../agent/seahorse-agent-cache.glade.h:4 +msgid "Change passphrase cache settings." +msgstr "Endra innstillingar for mellomlagring av passordfraser." + +#: ../agent/seahorse-agent-cache.glade.h:5 +msgid "Clear passphrase cache" +msgstr "Tøm mellomlagra passordfraser" + +#: ../agent/seahorse-agent-cache.glade.h:6 +msgid "_Clear Cache" +msgstr "_Tøm mellomlager" + +#: ../agent/seahorse-agent-cache.glade.h:7 +msgid "_Show Window" +msgstr "Vi_s vindauge" + +#: ../agent/seahorse-agent-main.c:51 +msgid "Do not daemonize seahorse-agent" +msgstr "Ikkje køyr seahorse-agent som ein teneste" + +#: ../agent/seahorse-agent-main.c:55 +msgid "Print variables in for a C type shell" +msgstr "Skriv ut variablene til eit C-liknende skall" + +#: ../agent/seahorse-agent-main.c:59 +msgid "Display environment variables (the default)" +msgstr "Syn miljøvariablar (forvald)" + +#: ../agent/seahorse-agent-main.c:62 +msgid "Execute other arguments on the command line" +msgstr "Køyr andre argumenter på kommandolinja" + +#: ../agent/seahorse-agent-main.c:66 +msgid "Allow GPG agent request from any display" +msgstr "La GPG-agent køyra førespurnadar frå alle skjermer" + +#: ../agent/seahorse-agent-main.c:69 +msgid "command..." +msgstr "kommando ..." + +#: ../agent/seahorse-agent-main.c:91 ../daemon/seahorse-daemon.c:72 +msgid "couldn't fork process" +msgstr "kunne ikkje starta prosess" + +#: ../agent/seahorse-agent-main.c:97 ../daemon/seahorse-daemon.c:78 +msgid "couldn't create new process group" +msgstr "kunne ikkje oppretta ny prosessgruppe" + +#: ../agent/seahorse-agent-main.c:225 +msgid "Encryption Key Agent (Seahorse)" +msgstr "Nøkkelagent for kryptering (Seahorse)" + +#: ../agent/seahorse-agent-main.c:232 +msgid "no command specified to execute" +msgstr "inga kommando oppgjeven for køyring" + +#: ../agent/seahorse-agent-prompt.c:216 +msgid "Authorize Passphrase Access" +msgstr "Autoriser tilgang til passordfrase" + +#: ../agent/seahorse-agent-prompt.c:252 +msgid "The passphrase is cached in memory." +msgstr "Passordfrasen er mellomlagra i minnet." + +#: ../agent/seahorse-agent-prompt.c:257 +msgid "Always ask me before using a cached passphrase" +msgstr "Alltid spør meg før bruk av ein mellomlagra passordfrase" + +#: ../agent/seahorse-agent-prompt.c:274 +msgid "_Authorize" +msgstr "_Autoriser" + +#. Make the uid column +#: ../agent/seahorse-agent-status.c:147 +msgid "Key Name" +msgstr "Namn på nøkkel" + +#: ../daemon/seahorse-daemon.c:54 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "Ikkje køyr seahorse-daemon som ein teneste" + +#: ../daemon/seahorse-daemon.c:188 +msgid "Encryption Daemon (Seahorse)" +msgstr "Krypteringsteneste (Seahorse)" + +#: ../daemon/seahorse-service.c:103 ../daemon/seahorse-service.c:128 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "Ugyldig eller ukjend nøkkeltype: %s" + +#: ../daemon/seahorse-service.c:186 ../daemon/seahorse-service-keyset.c:123 +#: ../daemon/seahorse-service-keyset.c:152 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "Ugyldig eller ukjend nøkkel: %s" + +#: ../daemon/seahorse-service-crypto.c:120 +#: ../daemon/seahorse-service-crypto.c:227 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "Ugyldig eller ukjend signerer: %s" + +#: ../daemon/seahorse-service-crypto.c:127 +#: ../daemon/seahorse-service-crypto.c:234 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "Nøkkelen er ikkje gyldig for signering: %s" + +#: ../daemon/seahorse-service-crypto.c:139 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "Ugyldig eller ikkje gjenkjent mottakar: %s" + +#: ../daemon/seahorse-service-crypto.c:147 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "Nøkkelen er ikkje ein gyldig mottakar for kryptering: %s" + +#: ../daemon/seahorse-service-crypto.c:156 +#, c-format +msgid "No recipients specified" +msgstr "Inga mottakare oppgjeven" + +#: ../daemon/seahorse-service-crypto.c:222 +#, c-format +msgid "No signer specified" +msgstr "Inga signerer oppgjeven" + +#: ../daemon/seahorse-service-crypto.c:277 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "Ugyldig nøkkeltype for dekryptering: %s" + +#: ../daemon/seahorse-service-crypto.c:339 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "Ugyldig nøkkeltype for bekrefting: %s" + +#: ../daemon/seahorse-service-keyset.c:186 +#, c-format +msgid "Invalid key id: %s" +msgstr "Ugyldig nøkkel-ID: %s" + +#: ../daemon/seahorse-sharing.c:71 ../daemon/seahorse-sharing.c:215 +msgid "Couldn't share keys" +msgstr "Kunne ikkje dela nøklar" + +#: ../daemon/seahorse-sharing.c:72 +msgid "Can't publish discovery information on the network." +msgstr "Kan ikkje publisere informasjon for oppdagelse på nettverket." + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s". +#: ../daemon/seahorse-sharing.c:92 +#, c-format +msgid "%s's encryption keys" +msgstr "Krypteringsnøklar for %s" + +#: ../data/seahorse.schemas.in.h:1 +msgid "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." +msgstr "Ei liste over URIar til nøkkeltenarar som skal søkjas igjennom for PGP nøklar. I Seinare versjonar vil eit visningsnamn bli inkludert, ved å leggje til eit mellomrom og så namnet." + +#: ../data/seahorse.schemas.in.h:2 +msgid "" +"After performing an decrypt or verify operation from the applet, display the " +"resulting text in a window." +msgstr "Etter ein dekryptering eller bekreft operasjonen frå panelprogrammet, vis den resulterande teksten i eit vindauge." + +#: ../data/seahorse.schemas.in.h:3 +msgid "" +"After performing an encrypt or signing operation from the applet, display " +"the resulting text in a window." +msgstr "Etter dekryptering eller signering frå panelprogrammet, vis teksten i eit vindauge." + +#: ../data/seahorse.schemas.in.h:4 +msgid "Auto Retrieve Keys" +msgstr "Hent nøklar automatisk" + +#: ../data/seahorse.schemas.in.h:5 +msgid "Auto Sync Keys" +msgstr "Synkroniser nøklar automatisk" + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "Kontroller synlegheten av utløpskolonnen for nøkkelhandsamaren." + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "Kontroller synlegheten av tillitskolonnen for nøkkelhandsamaren." + +#: ../data/seahorse.schemas.in.h:8 +msgid "Controls the visibility of the type column for the key manager." +msgstr "Kontroller synlegheten av typekolonnen for nøkkelhandsamaren." + +#: ../data/seahorse.schemas.in.h:9 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "Kontroller synlegheten av gyldighetskolonnen for nøkkelhandsamaren." + +#: ../data/seahorse.schemas.in.h:10 +msgid "Display cache reminder in the notification area" +msgstr "Syn påminnar for hurtiglager i varslingsområdet" + +#: ../data/seahorse.schemas.in.h:11 +msgid "Display clipboard after decrypting" +msgstr "Syn utklippstavla etter dekryptering" + +#: ../data/seahorse.schemas.in.h:12 +msgid "Display clipboard after encrypting" +msgstr "Syn utklippstavla etter kryptering" + +#: ../data/seahorse.schemas.in.h:13 +msgid "Enable DNS-SD sharing" +msgstr "Slå på DNS-SD-deling" + +#: ../data/seahorse.schemas.in.h:14 +msgid "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be running and must be built with HKP and DNS-SD support." +msgstr "Slår på DNS-SD-deling (Apple Bonjour) av nøklar. seahorse-daemon må køyra og må vera bygget med støtte for HKP og DNS-SD." + +#: ../data/seahorse.schemas.in.h:15 +msgid "Expire passwords in the cache" +msgstr "La passord i mellomlageret utgå" + +#: ../data/seahorse.schemas.in.h:16 +msgid "ID of the default key" +msgstr "ID for forvald nøkkel" + +#: ../data/seahorse.schemas.in.h:17 +msgid "If set to 'gnome' uses gnome-keyring to cache passwords. When set to 'internal' uses internal cache." +msgstr "Viss sett til \"gnome\" brukast gnome-keyring til å mellomlagra passorda. Når sett til \"internal\" brukast det interne mellomlageret." + +#: ../data/seahorse.schemas.in.h:18 +msgid "" +"If set to true, then files encrypted with seahorse will be ASCII armor " +"encoded." +msgstr "Viss sann vil filene bli som er kryptert med seahors bli koda med ASCII armor." + +#: ../data/seahorse.schemas.in.h:19 +msgid "If set to true, then the default key will always be added to an encryption recipients list." +msgstr "Viss denne er sett til sann, så vil den forvalgte nøkkelen alltid å leggjes til ei liste over krypteringsmottakare." + +#: ../data/seahorse.schemas.in.h:20 +msgid "Last key server search pattern" +msgstr "Førre søkjemønster på nøkkeltenar" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Last key servers used" +msgstr "Siste brukte nøkkeltenarar" + +#: ../data/seahorse.schemas.in.h:22 +msgid "Last key used to sign a message." +msgstr "Siste nøkkel brukt for å signere ein melding." + +#: ../data/seahorse.schemas.in.h:23 +msgid "PGP Key servers" +msgstr "PGP-nøkkeltenarar" + +#: ../data/seahorse.schemas.in.h:24 +msgid "Prompt before using GPG passwords in cache" +msgstr "Spør før bruk av GPG-passord i mellomlageret" + +#: ../data/seahorse.schemas.in.h:25 +msgid "Publish keys to this key server." +msgstr "Publiser nøklar til denne nøkkeltenaren." + +#: ../data/seahorse.schemas.in.h:26 +msgid "" +"Reflect the contents of the clipboard (whether encrypted, signed, etc...) in " +"the panel applet icon." +msgstr "Reflekter innhaldet frå utklippstavla (om det er kryptert, signert, osv) i ikonet til panelprogrammet." + +#: ../data/seahorse.schemas.in.h:27 +msgid "" +"Set to 'true' to enable display of the cache reminder in the notification " +"area of your panel." +msgstr "Set til 'true' for å vise ein påminning om hurtiglageret i varslingsområdet til panelet." + +#: ../data/seahorse.schemas.in.h:28 +msgid "" +"Set to 'true' to have seahorse-agent prompt before giving out passwords it " +"has cached." +msgstr "Set til 'true' for at seahorse-agent skal spørje før den gir ut passord frå hurtiglageret." + +#: ../data/seahorse.schemas.in.h:29 +msgid "Show clipboard state in panel" +msgstr "Syn tilstand for utklippstavla på panelet" + +#: ../data/seahorse.schemas.in.h:30 +msgid "Show expires column in key manager" +msgstr "Syn utløpskolonnen i nøkkelhandsamaren" + +#: ../data/seahorse.schemas.in.h:31 +msgid "Show trust column in key manager" +msgstr "Syn tillitskolonnen i nøkkelhandsamaren" + +#: ../data/seahorse.schemas.in.h:32 +msgid "Show type column in key manager" +msgstr "Syn typekolonnen i nøkkelhandsamaren" + +#: ../data/seahorse.schemas.in.h:33 +msgid "Show validity column in key manager" +msgstr "Syn gyldighetskolonnen i nøkkelhandsamaren" + +#: ../data/seahorse.schemas.in.h:34 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name' and " +"'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "Vel kolonna som mottagarvindauget skal sorteres etter. Kolonner er 'name' og 'id'. Skriv ein '-' fyrst for å sortere synkende." + +#: ../data/seahorse.schemas.in.h:35 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." +msgstr "Vel kolonna som hovudvindauget skal sorterast etter. Kolonner er 'name', 'id', 'validity', 'expires', 'trust' og 'type'. Skriv ein '-' fyrst for å sortere synkende." + +#: ../data/seahorse.schemas.in.h:36 +msgid "The ID of the last secret key used to sign a message." +msgstr "IDen til den siste hemmelege nøkkelen brukt til å signere ein melding." + +#: ../data/seahorse.schemas.in.h:37 +msgid "The column to sort the recipients by" +msgstr "Kolonne for sortering av mottakare" + +#: ../data/seahorse.schemas.in.h:38 +msgid "The column to sort the seahorse keys by" +msgstr "Kolonne nøklar skal sorterast etter i seahorse" + +#: ../data/seahorse.schemas.in.h:39 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "Nøkkeltenaren som PGP nøklar skal publiserast til, eller tom for å ikkje eksportere." + +#: ../data/seahorse.schemas.in.h:40 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "Den siste nøkkeltenaren eit søk blei utført på, eller tom for alle nøkkeltenarar." + +#: ../data/seahorse.schemas.in.h:41 +msgid "The last search pattern searched for against a key server." +msgstr "Siste søkestreng brukt til å søke på ein nøkkeltenar." + +#: ../data/seahorse.schemas.in.h:42 +msgid "The time (in minutes) to cache GPG passwords" +msgstr "Tida (i minutt) for å mellomlagra GPG-passorda" + +#: ../data/seahorse.schemas.in.h:43 +msgid "" +"This is the amount of time, specified in minutes, to cache GPG passwords in " +"seahorse-agent." +msgstr "Dette er tida, i minutt, som GPG passord vil bli hurtiglagra i seahorse-agent." + +#: ../data/seahorse.schemas.in.h:44 +msgid "" +"This option enables the GPG password cache in the seahorse-agent program. " +"The 'use-agent' setting in gpg.conf affects this setting." +msgstr "Dette valet slår på hurtiglagring for GPG passord i seahorse-agent programmet. 'use-agent'-innstillinga i gpg.conf virkar inn på denne instillinga." + +#: ../data/seahorse.schemas.in.h:45 +msgid "" +"This specifies the default key to use for certain operations, mainly signing." +msgstr "Standardnøklen som skal brukast i visse operasjonar, i all hovudsak til signering." + +#: ../data/seahorse.schemas.in.h:46 +msgid "" +"When set, seahorse-agent expires GPG passwords in its cache after a period " +"of time." +msgstr "Når satt vil seahorse-agent la GPG passord i hurtiglageret utgå etter en viss tid." + +#: ../data/seahorse.schemas.in.h:47 +msgid "Where to store cached passwords." +msgstr "Kor skal passord lagrast." + +#: ../data/seahorse.schemas.in.h:48 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Om nøkler skal automatisk hentast frå nøkkeltenarar." + +#: ../data/seahorse.schemas.in.h:49 +msgid "" +"Whether or not modified keys should be automatically synced with the default " +"key server." +msgstr "Om endra nøklar skal bli automatisk synkronisert med nøkkeltenaren." + +#: ../data/seahorse.schemas.in.h:50 +msgid "Whether the GPG password cache is enabled" +msgstr "Om mellomlager for GPG-passord skal slås på" + +#: ../data/seahorse.schemas.in.h:51 +msgid "Whether to always encrypt to default key" +msgstr "Om forvald nøkkel alltid skal krypterast" + +#: ../data/seahorse.schemas.in.h:52 +msgid "Whether to use ASCII Armor" +msgstr "Om ASCII-rustning skal brukast" + +#: ../libcryptui/cryptui-key-chooser.c:156 +msgid "All Keys" +msgstr "Alle nøklar" + +#: ../libcryptui/cryptui-key-chooser.c:157 +msgid "Selected Recipients" +msgstr "Valde mottakare" + +#: ../libcryptui/cryptui-key-chooser.c:158 +msgid "Search Results" +msgstr "Søkjeresultat" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:168 +msgid "Search _for:" +msgstr "Søk _etter:" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:223 +msgid "_Sign message as:" +msgstr "_Signer melding som:" + +#: ../libcryptui/cryptui-key-chooser.c:235 +msgid "None (Don't Sign)" +msgstr "Inga (Ikkje signer)" + +#. TODO: Icons +#: ../libcryptui/cryptui-key-list.c:117 +#: ../src/seahorse-key-manager-store.c:943 +#: ../src/seahorse-key-properties.c:871 +msgid "Name" +msgstr "Namn" + +#: ../libcryptui/cryptui-key-list.c:120 +#: ../src/seahorse-key-manager-store.c:955 +#: ../src/seahorse-key-properties.c:1725 +msgid "Key ID" +msgstr "Nøkkel-ID" + +#: ../libseahorse/seahorse-add-keyring.glade.h:1 +msgid "Add Password Keyring" +msgstr "Legg til nøkkelring for passord" + +#: ../libseahorse/seahorse-add-keyring.glade.h:2 +msgid "New Keyring Name:" +msgstr "Nytt namn på nøkkelring:" + +#: ../libseahorse/seahorse-add-keyring.glade.h:3 +msgid "Please choose a name for the new keyring. You will be prompted for an unlock password." +msgstr "Vel eit namn for den nye nøkkelringa. Du vil verta spurd om eit passord for å låse den opp." + +#: ../libseahorse/seahorse-add-keyring.glade.h:4 +#: ../libseahorse/seahorse-add-keyserver.glade.h:5 +#: ../src/seahorse-ssh-upload.glade.h:3 +msgid "The host name or address of the server." +msgstr "Vertsnamnet eller adressa til tenaren." + +#: ../libseahorse/seahorse-add-keyserver.glade.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:2 +msgid "Add Key Server" +msgstr "Legg til nøkkeltenar" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:3 +msgid "Host:" +msgstr "Vert:" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:4 +msgid "Key Server Type:" +msgstr "Type nøkkeltenar:" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:6 +msgid "The port to access the server on." +msgstr "Port som tenaren skal nås på." + +#: ../libseahorse/seahorse-hkp-source.c:323 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "Søkjet var ikkje spesifikt nok. Tenaren '%s' fann for mange nøklar." + +#: ../libseahorse/seahorse-hkp-source.c:325 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "Kunne ikkje kommunisere med tenar «%s»: %s" + +#: ../libseahorse/seahorse-hkp-source.c:521 +msgid "Searching for keys..." +msgstr "Søkjer etter nøklar ..." + +#: ../libseahorse/seahorse-hkp-source.c:592 +msgid "Uploading keys..." +msgstr "Lastar opp nøklar ..." + +#: ../libseahorse/seahorse-hkp-source.c:665 +msgid "Retrieving keys..." +msgstr "Hentar nøklar ..." + +#: ../libseahorse/seahorse-hkp-source.c:710 +#, c-format +msgid "Searching for keys on: %s" +msgstr "Søkjer etter nøklar på: %s" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../libseahorse/seahorse-hkp-source.c:802 +#: ../libseahorse/seahorse-hkp-source.c:874 +#: ../libseahorse/seahorse-ldap-source.c:656 +#, c-format +msgid "Connecting to: %s" +msgstr "Koplar til: %s" + +#: ../libseahorse/seahorse-ldap-source.c:449 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "Kunne ikkje kommunisere med «%s»: %s" + +#: ../libseahorse/seahorse-ldap-source.c:629 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "Kunne ikkje slå opp adresse: %s" + +#: ../libseahorse/seahorse-ldap-source.c:705 +#, c-format +msgid "Resolving server address: %s" +msgstr "Slår opp tenaradresse: %s" + +#: ../libseahorse/seahorse-ldap-source.c:884 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "Søkjer etter nøklar som inneheld «%s» ..." + +#: ../libseahorse/seahorse-ldap-source.c:911 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "Søkjer etter nøkkel-ID «%s» ..." + +#: ../libseahorse/seahorse-ldap-source.c:1012 +msgid "Retrieving remote keys..." +msgstr "Hentar eksterne nøklar ..." + +#: ../libseahorse/seahorse-ldap-source.c:1145 +msgid "Sending keys to key server..." +msgstr "Sendar nøklar til ein nøkkeltenar ..." + +#: ../libseahorse/seahorse-notification.c:559 +#: ../libseahorse/seahorse-notification.c:589 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "Nøkkel importert" +msgstr[1] "Nøklar importert" + +#: ../libseahorse/seahorse-notification.c:563 +#: ../libseahorse/seahorse-notification.c:588 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "Importerte %i nøkkel" +msgstr[1] "Importerte %i nøklar" + +#: ../libseahorse/seahorse-notification.c:565 +#, c-format +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "Importerte ein nøkkel for" +msgstr[1] "Importerte nøklar for" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../libseahorse/seahorse-notification.c:617 +#, c-format +msgid "Signed by expired on %s." +msgstr "Signert av utgått den %s." + +#: ../libseahorse/seahorse-notification.c:618 +msgid "Invalid Signature" +msgstr "Ugyldig signatur" + +#: ../libseahorse/seahorse-notification.c:624 +#, c-format +msgid "Signed by on %s Expired." +msgstr "Signert av den %s Utgått." + +#: ../libseahorse/seahorse-notification.c:625 +msgid "Expired Signature" +msgstr "Utgått signatur" + +#: ../libseahorse/seahorse-notification.c:631 +#, c-format +msgid "Signed by Revoked on %s." +msgstr "Signert av Tilbakekalt den %s." + +#: ../libseahorse/seahorse-notification.c:632 +msgid "Revoked Signature" +msgstr "Tilbakekalt signatur" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../libseahorse/seahorse-notification.c:638 +#, c-format +msgid "Signed by on %s." +msgstr "Signert av den %s." + +#: ../libseahorse/seahorse-notification.c:639 +msgid "Good Signature" +msgstr "God signatur" + +#: ../libseahorse/seahorse-notification.c:644 +msgid "Signing key not in keyring." +msgstr "Signerer nøkkel som ikkje er på nøkkelringa." + +#: ../libseahorse/seahorse-notification.c:645 +msgid "Unknown Signature" +msgstr "Ukjend signatur" + +#: ../libseahorse/seahorse-notification.c:649 +msgid "Bad or forged signature. The signed data was modified." +msgstr "Ugyldig eller falsk signatur. Signerte data er endra." + +#: ../libseahorse/seahorse-notification.c:650 +msgid "Bad Signature" +msgstr "Dårlig signatur" + +#: ../libseahorse/seahorse-notification.c:658 +msgid "Couldn't verify signature." +msgstr "Kunne ikkje bekrefte signatur." + +#: ../libseahorse/seahorse-notify.glade.h:1 +msgid "Notification Messages" +msgstr "Varslingsmeldingar" + +#: ../libseahorse/seahorse-passphrase.c:175 +msgid "Passphrase" +msgstr "Passord:" + +#: ../libseahorse/seahorse-passphrase.c:178 +msgid "Password:" +msgstr "Passord:" + +#: ../libseahorse/seahorse-passphrase.c:242 +msgid "Confirm:" +msgstr "Stadfest:" + +#: ../libseahorse/seahorse-passphrase.c:325 +#, c-format +msgid "Wrong passphrase." +msgstr "Feil passordfrase." + +#: ../libseahorse/seahorse-passphrase.c:329 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "Oppgje ny passordfrase for «%s»" + +#: ../libseahorse/seahorse-passphrase.c:331 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "Oppgje passordfrase for «%s»" + +#: ../libseahorse/seahorse-passphrase.c:334 +#: ../src/seahorse-change-passphrase.glade.h:4 +msgid "Enter new passphrase" +msgstr "Oppgje nytt passord" + +#: ../libseahorse/seahorse-passphrase.c:336 +msgid "Enter passphrase" +msgstr "Oppgje passordfrase" + +#: ../libseahorse/seahorse-pgp-key.c:140 ../libseahorse/seahorse-ssh-key.c:112 +#: ../src/seahorse-gkeyring-item.c:232 +msgid "Invalid" +msgstr "Ugyldig" + +#: ../libseahorse/seahorse-pgp-key.c:162 +#: ../src/seahorse-pgp-public-key-properties.glade.h:31 +msgid "Public PGP Key" +msgstr "Offentleg PGP-nøkkel" + +#: ../libseahorse/seahorse-pgp-key.c:165 +#: ../src/seahorse-pgp-private-key-properties.glade.h:36 +msgid "Private PGP Key" +msgstr "Privat PGP-nøkkel" + +#: ../libseahorse/seahorse-pgp-key.c:694 ../libseahorse/seahorse-validity.c:31 +#: ../src/seahorse-key-properties.c:1099 +msgid "Unknown" +msgstr "Ukjend" + +#: ../libseahorse/seahorse-pgp-key.c:696 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../libseahorse/seahorse-pgp-source.c:367 +#: ../libseahorse/seahorse-server-source.c:209 +#: ../src/seahorse-generate-select.c:142 +msgid "PGP Key" +msgstr "PGP-nøkkel" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../libseahorse/seahorse-pgp-source.c:723 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Lasta %d nøkkel" +msgstr[1] "Lasta %d nøklar" + +#: ../libseahorse/seahorse-pgp-source.c:778 +msgid "Loading Keys..." +msgstr "Lastar nøklar ..." + +#: ../libseahorse/seahorse-pgp-source.c:821 +msgid "Invalid key data (missing UIDs). This may be due to a computer with a date set in the future or a missing self-signature." +msgstr "Ugyldige nøkkeldata (manglar UIDer). Dette kan vera forårsaket av ein datamaskin med datoen sett i framtida eller ein manglende sjølvsignering." + +#: ../libseahorse/seahorse-pgp-source.c:942 ../src/seahorse-key-manager.c:446 +#: ../src/seahorse-key-manager.c:494 +msgid "Importing Keys" +msgstr "Importerer nøklar" + +#: ../libseahorse/seahorse-pgp-source.c:975 +msgid "Exporting Keys" +msgstr "Eksporterer nøklar" + +#: ../libseahorse/seahorse-prefs.c:64 +msgid "Not a valid Key Server address." +msgstr "Ikkje ein gyldig adresse til nøkkeltenar." + +#: ../libseahorse/seahorse-prefs.c:65 +msgid "For help contact your system adminstrator or the administrator of the key server." +msgstr "For hjelp, kontakt din systemadministrator eller nøkkeltenarens administrator." + +#: ../libseahorse/seahorse-prefs.c:176 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:361 +msgid "Custom" +msgstr "Eigendefinert" + +#: ../libseahorse/seahorse-prefs.c:431 +msgid "None: Don't publish keys" +msgstr "Inga: Ikkje publiser nøklar" + +#: ../libseahorse/seahorse-prefs.c:521 +msgid "None. Prompt for a key." +msgstr "Inga. Spør etter ein nøkkel." + +#: ../libseahorse/seahorse-prefs-keyrings.c:205 +msgid "Automatically unlocked when user logs in." +msgstr "Låses automatisk opp når brukar loggar inn." + +#: ../libseahorse/seahorse-prefs-keyrings.c:242 +msgid "Couldn't get default password keyring" +msgstr "Fann ikkje forvald nøkkelring for passord" + +#: ../libseahorse/seahorse-prefs-keyrings.c:265 +msgid "Couldn't get list of password keyrings" +msgstr "Fann ikkje liste med nøkkelringar for passord" + +#: ../libseahorse/seahorse-prefs-keyrings.c:321 +msgid "Couldn't set default password keyring" +msgstr "Kunne ikkje setja forvald nøkkelring for passord" + +#: ../libseahorse/seahorse-prefs-keyrings.c:403 +msgid "Couldn't remove keyring" +msgstr "Kunne ikkje fjerna nøkkelring" + +#: ../libseahorse/seahorse-prefs-keyrings.c:421 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' keyring?" +msgstr "Er du sikker på at du vil slette nøkkelringa «%s» for godt?" + +#: ../libseahorse/seahorse-prefs-keyrings.c:469 +msgid "Couldn't add keyring" +msgstr "Kunne ikkje leggja til nøkkelring" + +#: ../libseahorse/seahorse-prefs-keyrings.c:526 +msgid "Couldn't change keyring password" +msgstr "Kunne ikkje endra passord på nøkkelring" + +#: ../libseahorse/seahorse-prefs.glade.h:1 +msgid "Default Key" +msgstr "Forvald nøkkel" + +#: ../libseahorse/seahorse-prefs.glade.h:2 +msgid "Default Keyring" +msgstr "Forvald nøkkelring" + +#: ../libseahorse/seahorse-prefs.glade.h:3 +msgid "Password Keyrings" +msgstr "Nøkkelringar for passord" + +#: ../libseahorse/seahorse-prefs.glade.h:4 +msgid "Remember PGP Passphrases" +msgstr "Hugs PGP-passordfraser" + +#: ../libseahorse/seahorse-prefs.glade.h:5 +msgid "A supported PGP passphrase caching agent is not running." +msgstr "Inga støttede agenter for mellomlagring av PGP-passord køyrer." + +#: ../libseahorse/seahorse-prefs.glade.h:6 +msgid "This key is used to sign messages when no other key is chosen" +msgstr "Denne nøkkelen vil verta brukt til å signere beskjeder, når inga andre nøklar er vald" + +#: ../libseahorse/seahorse-prefs.glade.h:7 +msgid "As_k me before using a cached passphrase" +msgstr "_Spør meg før bruk av ein mellomlagra passordfrase" + +#: ../libseahorse/seahorse-prefs.glade.h:8 +msgid "Automatically retrieve keys from _key servers" +msgstr "Hent nøklar frå nø_kkeltenarar automatisk." + +#: ../libseahorse/seahorse-prefs.glade.h:9 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Synkroniser _endra nøklar med nøkkeltenarar automatisk." + +#: ../libseahorse/seahorse-prefs.glade.h:10 +msgid "Change Unlock _Password" +msgstr "Endra _passord for å låse opp" + +#: ../libseahorse/seahorse-prefs.glade.h:11 +msgid "Encryption" +msgstr "Kryptering" + +#: ../libseahorse/seahorse-prefs.glade.h:12 +msgid "Key Servers" +msgstr "Nøkkeltenarar" + +#: ../libseahorse/seahorse-prefs.glade.h:13 +msgid "Key Sharing" +msgstr "Deling av nøklar" + +#: ../libseahorse/seahorse-prefs.glade.h:14 +msgid "PGP Passphrases" +msgstr "PGP-passord" + +#: ../libseahorse/seahorse-prefs.glade.h:15 +msgid "Password Keyrings" +msgstr "Nøkkelringar for passord" + +#: ../libseahorse/seahorse-prefs.glade.h:16 +msgid "Password and Encryption Settings" +msgstr "Innstillingar for passord og kryptering" + +#: ../libseahorse/seahorse-prefs.glade.h:17 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've collected. This means they can automatically encrypt things for you or those you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." +msgstr "" +"Viss du deler ut dine nøklar kan andre personar på ditt nettverk bruka nøklene du har samlet. Dette betyr at dei kan kryptere ting automatisk for deg eller dei du kjenner utan å måtte sende deg sine nøklar.\n" +"\n" +"Merk: dine personlige nøklar vil ikkje verta eksponert." + +#: ../libseahorse/seahorse-prefs.glade.h:20 +msgid "Show _icon in status area when passphrases are in memory" +msgstr "Syn _ikon i statusområdet når passord ligg i minnet" + +#: ../libseahorse/seahorse-prefs.glade.h:21 +msgid "When _encrypting, always include myself as a recipient" +msgstr "Under krypt_ering, alltid inkluder meg sjølv som ein mottager" + +#: ../libseahorse/seahorse-prefs.glade.h:22 +msgid "_Add Keyring" +msgstr "Legg til _nøkkelring" + +#: ../libseahorse/seahorse-prefs.glade.h:23 +msgid "_Always remember passphrases whenever logged in" +msgstr "_Alltid hugs passordfrasene når logga inn" + +#: ../libseahorse/seahorse-prefs.glade.h:24 +msgid "_Default key:" +msgstr "_Forvald nøkkel:" + +#: ../libseahorse/seahorse-prefs.glade.h:25 +msgid "_Find keys via:" +msgstr "_Finn nøklar via:" + +#: ../libseahorse/seahorse-prefs.glade.h:26 +msgid "_Location for application passwords:" +msgstr "_Stad for passord for program:" + +#: ../libseahorse/seahorse-prefs.glade.h:27 +msgid "_Never remember passphrases" +msgstr "A_ldri hugs passordfraser" + +#: ../libseahorse/seahorse-prefs.glade.h:28 +msgid "_Publish keys to:" +msgstr "_Publiser nøklar til:" + +#: ../libseahorse/seahorse-prefs.glade.h:29 +msgid "_Remember passphrases for" +msgstr "_Hugs passordfraser for" + +#: ../libseahorse/seahorse-prefs.glade.h:30 +msgid "_Remove Keyring" +msgstr "Fje_rn nøkkelring" + +#: ../libseahorse/seahorse-prefs.glade.h:31 +msgid "_Share my keys with others on my network" +msgstr "_Del mine nøklar med andre på mitt nettverk" + +#: ../libseahorse/seahorse-prefs.glade.h:32 +msgid "minutes" +msgstr " minutt" + +#: ../libseahorse/seahorse-progress.glade.h:1 +msgid "Progress Title" +msgstr "Tittel for framdrift" + +#: ../libseahorse/seahorse-server-source.c:466 +msgid "LDAP Key Server" +msgstr "LDAP nøkkeltenar" + +#: ../libseahorse/seahorse-server-source.c:469 +msgid "HTTP Key Server" +msgstr "HTTP nøkkeltenar" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../libseahorse/seahorse-signer.c:57 ../src/seahorse-sign.c:159 +msgid "No keys usable for signing" +msgstr "Inga nøklar tilgjengeleg for signering" + +#: ../libseahorse/seahorse-signer.c:58 +msgid "You have no personal PGP keys that can be used to sign a document or message." +msgstr "Du har inga personlige PGP-nøklar som kan brukast til å signere eit dokument eller beskjed." + +#: ../libseahorse/seahorse-signer.glade.h:1 +msgid "_Sign message with key:" +msgstr "_Signer melding med nøkkel:" + +#: ../libseahorse/seahorse-ssh-askpass.c:94 +msgid "Enter your Secure Shell passphrase:" +msgstr "Oppgje din Secure Shell-passordfrase:" + +#: ../libseahorse/seahorse-ssh-key.c:90 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Uleslig Secure Shell-nøkkel)" + +#: ../libseahorse/seahorse-ssh-key.c:94 ../libseahorse/seahorse-ssh-key.c:98 +#: ../libseahorse/seahorse-ssh-source.c:746 +#: ../src/seahorse-generate-select.c:145 +#: ../src/seahorse-ssh-key-properties.glade.h:21 +msgid "Secure Shell Key" +msgstr "Nøkkel for sikkert skall" + +#: ../libseahorse/seahorse-ssh-key.c:126 +msgid "Private Secure Shell Key" +msgstr "Privat Secure Shell-nøkkel" + +#: ../libseahorse/seahorse-ssh-key.c:129 +msgid "Public Secure Shell Key" +msgstr "Offentleg nøkkel for sikkert skall" + +#: ../libseahorse/seahorse-ssh-operation.c:133 +#: ../libseahorse/seahorse-ssh-operation.c:695 +#, c-format +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH-kommando terminerte uventet." + +#: ../libseahorse/seahorse-ssh-operation.c:141 +#: ../libseahorse/seahorse-ssh-operation.c:702 +msgid "The SSH command failed." +msgstr "SSH-kommando mislukkast" + +#: ../libseahorse/seahorse-ssh-operation.c:439 +msgid "Secure Shell key" +msgstr "Nøkkel for sikkert skall" + +#. Just prompt over and over again +#: ../libseahorse/seahorse-ssh-operation.c:725 +msgid "Secure Shell Passphrase" +msgstr "Passordfrase for Secure Shell" + +#: ../libseahorse/seahorse-ssh-operation.c:811 +msgid "Old Key Passphrase" +msgstr "Gammal passordfrase for nøkkel" + +#: ../libseahorse/seahorse-ssh-operation.c:812 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Oppgje den gamle passordfrasen for: %s" + +#: ../libseahorse/seahorse-ssh-operation.c:816 +msgid "New Key Passphrase" +msgstr "Ny passordfrase for nøkkel" + +#: ../libseahorse/seahorse-ssh-operation.c:817 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Oppgje den nye passordfrasen for: %s" + +#: ../libseahorse/seahorse-ssh-operation.c:825 +msgid "Enter Key Passphrase" +msgstr "Oppgje passordfrase for nøkkel" + +#: ../libseahorse/seahorse-ssh-operation.c:893 +msgid "Passphrase for New Secure Shell Key" +msgstr "Passordfrase for ny Secure Shell-nøkkel" + +#: ../libseahorse/seahorse-ssh-operation.c:894 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "Oppgje ein passordfrase for din nye Secure Shell-nøkkel" + +#: ../libseahorse/seahorse-ssh-operation.c:1028 +msgid "Secure Shell Key Passphrase" +msgstr "Passordfrase for Secure Shell-nøkkel" + +#: ../libseahorse/seahorse-ssh-operation.c:1028 +#, c-format +msgid "Enter the passphrase for: %s" +msgstr "Oppgje passordfrasen for: %s" + +#: ../libseahorse/seahorse-ssh-operation.c:1029 +msgid "Save this passphrase in my keyring" +msgstr "Lagra denne passordfrasen i min nøkkelring" + +#: ../libseahorse/seahorse-ssh-operation.c:1081 +#, c-format +msgid "Importing key: %s" +msgstr "Importerer nøkkel: %s" + +#: ../libseahorse/seahorse-ssh-operation.c:1083 +msgid "Importing key. Enter passphrase" +msgstr "Importerer nøkkel. Oppgje passord" + +#: ../libseahorse/seahorse-ssh-operation.c:1085 +#: ../src/seahorse-key-manager.c:507 +#: ../src/seahorse-pgp-keys.desktop.in.in.h:1 +msgid "Import Key" +msgstr "Importer nøkkel" + +#: ../libseahorse/seahorse-unknown-key.c:67 +msgid "Unavailable" +msgstr "Ikkje tilgjengeleg" + +#: ../libseahorse/seahorse-unknown-key.c:87 +#, c-format +msgid "Unknown Key: %s" +msgstr "Ukjend nøkkel: %s" + +#: ../libseahorse/seahorse-unknown-key.c:119 +msgid "Unknown Key" +msgstr "Ukjend nøkkel" + +#: ../libseahorse/seahorse-unknown-source.c:128 +msgid "Unavailable Key" +msgstr "Nøkkel ikkje tilgjengeleg" + +#: ../libseahorse/seahorse-util.c:172 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Dekryptering mislukkast. Du har moglegens ikkje dekrypteringsnøkkelen." + +#: ../libseahorse/seahorse-util.c:222 +msgid "%Y-%m-%d" +msgstr "%d-%m-%Y" + +#: ../libseahorse/seahorse-util.c:413 +msgid "Key Data" +msgstr "Nøkkeldata" + +#: ../libseahorse/seahorse-util.c:415 +msgid "Multiple Keys" +msgstr "Fleire nøklar" + +#: ../libseahorse/seahorse-util.c:733 +msgid "Couldn't run file-roller" +msgstr "Kunne ikkje køyra file-roller" + +#: ../libseahorse/seahorse-util.c:738 +#: ../plugins/nautilus/seahorse-tool-files.c:830 +msgid "Couldn't package files" +msgstr "Kunne ikkje pakke filene" + +#: ../libseahorse/seahorse-util.c:739 +msgid "The file-roller process did not complete successfully" +msgstr "Prosess for file-roller fullførte ikkje operasjonen" + +#: ../libseahorse/seahorse-util.c:749 +msgid "Couldn't set permissions on backup file." +msgstr "Kunne ikkje setja rettar for sikkerhetskopi." + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:853 +msgid "All key files" +msgstr "Alle nøkkelfiler" + +#: ../libseahorse/seahorse-util.c:864 ../libseahorse/seahorse-util.c:904 +#: ../src/seahorse-photos.c:239 +msgid "All files" +msgstr "Alle filer" + +#: ../libseahorse/seahorse-util.c:897 +msgid "Archive files" +msgstr "Arkivfiler" + +#: ../libseahorse/seahorse-util.c:938 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" +"Ein fil eksisterer allereie med dette namnet.\n" +"\n" +"Vil du byta ut den med ein ny fil?" + +#: ../libseahorse/seahorse-util.c:941 +msgid "_Replace" +msgstr "E_rstatt" + +#: ../libseahorse/seahorse-validity.c:33 ../src/seahorse-key-properties.c:1105 +#: ../src/seahorse-key-properties.c:1237 ../src/seahorse-key-properties.c:1309 +msgid "Never" +msgstr "Aldri" + +#: ../libseahorse/seahorse-validity.c:35 ../src/seahorse-key-properties.c:1112 +msgid "Marginal" +msgstr "Marginal" + +#: ../libseahorse/seahorse-validity.c:37 ../src/seahorse-key-properties.c:1118 +msgid "Full" +msgstr "Full" + +#: ../libseahorse/seahorse-validity.c:39 ../src/seahorse-key-properties.c:1124 +msgid "Ultimate" +msgstr "Ultimat" + +#: ../libseahorse/seahorse-validity.c:41 +msgid "Disabled" +msgstr "Slått av" + +#: ../libseahorse/seahorse-validity.c:43 ../src/seahorse-key-properties.c:1305 +msgid "Revoked" +msgstr "Tilbakekalt" + +#: ../libseahorse/seahorse-widget.c:326 +#, c-format +msgid "Could not display help: %s" +msgstr "Kunne ikkje visa hjelp: %s" + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:1 +msgid "Clipboard Text Encryption" +msgstr "Kryptering av tekst på utklippstavla" + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:2 +msgid "Encrypt, decrypt or sign the clipboard (uses PGP type encryption)." +msgstr "Krypter, dekrypter eller signer utklippstavla (brukar PGP-kryptering)." + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:3 +msgid "Seahorse Applet Factory" +msgstr "Fabrikk for Seahorse-panelprogram" + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:1 +#: ../src/seahorse-key-manager.c:1189 +msgid "_About" +msgstr "_Om" + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:2 +#: ../src/seahorse-key-manager.c:1173 ../src/seahorse-keyserver-results.c:381 +msgid "_Help" +msgstr "_Hjelp" + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:3 +msgid "_Preferences" +msgstr "_Innstillingar" + +#: ../plugins/applet/seahorse-applet.c:309 +msgid "seahorse-applet" +msgstr "seahorse-applet" + +#: ../plugins/applet/seahorse-applet.c:311 +#: ../plugins/applet/seahorse-applet.c:836 +msgid "Use PGP/GPG to encrypt/decrypt/sign/verify/import the clipboard." +msgstr "Bruk PGP/GPG for å kryptere/dekryptere/signere/stadfesta/importere utklippstavla." + +#: ../plugins/applet/seahorse-applet.c:316 ../src/seahorse-key-manager.c:866 +msgid "translator-credits" +msgstr "" +"Eskild Hustvedt " + +#: ../plugins/applet/seahorse-applet.c:319 ../src/seahorse-key-manager.c:869 +msgid "Seahorse Project Homepage" +msgstr "Heimesida til Seahorse-prosjektet" + +#. Get the recipient list +#: ../plugins/applet/seahorse-applet.c:375 +#: ../plugins/epiphany/seahorse-extension.c:251 +#: ../plugins/gedit/seahorse-gedit.c:332 +msgid "Choose Recipient Keys" +msgstr "Vel mottakarnøklar" + +#: ../plugins/applet/seahorse-applet.c:394 +msgid "Encrypted Text" +msgstr "Kryptert tekst" + +#: ../plugins/applet/seahorse-applet.c:396 +msgid "Encryption Failed" +msgstr "Kryptering mislukkast" + +#: ../plugins/applet/seahorse-applet.c:397 +msgid "The clipboard could not be encrypted." +msgstr "Utklippstavla kunne ikkje verta kryptert." + +#: ../plugins/applet/seahorse-applet.c:431 +#: ../plugins/epiphany/seahorse-extension.c:296 +#: ../plugins/gedit/seahorse-gedit.c:611 +msgid "Choose Key to Sign with" +msgstr "Vel nøkkel å signere med" + +#: ../plugins/applet/seahorse-applet.c:450 +msgid "Signed Text" +msgstr "Signert tekst" + +#: ../plugins/applet/seahorse-applet.c:452 +msgid "Signing Failed" +msgstr "Signering mislukkast" + +#: ../plugins/applet/seahorse-applet.c:453 +msgid "The clipboard could not be Signed." +msgstr "Utklippstavla kunne ikkje verta signert." + +#: ../plugins/applet/seahorse-applet.c:496 +#: ../plugins/epiphany/seahorse-extension.c:340 +#: ../plugins/nautilus/seahorse-tool.c:428 +msgid "Import Failed" +msgstr "Importering mislukkast" + +#: ../plugins/applet/seahorse-applet.c:497 +#: ../plugins/epiphany/seahorse-extension.c:341 +#: ../plugins/nautilus/seahorse-tool.c:429 +msgid "Keys were found but not imported." +msgstr "Nøklar vart funne, men ikkje importert." + +#: ../plugins/applet/seahorse-applet.c:528 +#: ../plugins/epiphany/seahorse-extension.c:374 +msgid "Decrypting Failed" +msgstr "Dekryptering mislukkast" + +#: ../plugins/applet/seahorse-applet.c:529 +#: ../plugins/epiphany/seahorse-extension.c:375 +msgid "Text may be malformed." +msgstr "Teksten kan vera feilutformet." + +#: ../plugins/applet/seahorse-applet.c:580 +msgid "No PGP key or message was found on clipboard" +msgstr "Inga PGP-nøkkel eller beskjed vart funne på utklippstavla" + +#: ../plugins/applet/seahorse-applet.c:581 +msgid "No PGP data found." +msgstr "Inga PGP-data funne." + +#. TRANSLATORS: This means 'The text that was decrypted' +#: ../plugins/applet/seahorse-applet.c:616 +msgid "Decrypted Text" +msgstr "Dekryptert tekst" + +#: ../plugins/applet/seahorse-applet.c:685 +msgid "Could not display the help file" +msgstr "Kunne ikkje visa hjelpfila" + +#: ../plugins/applet/seahorse-applet.c:748 +msgid "_Encrypt Clipboard" +msgstr "Krypt_er utklippstavla" + +#: ../plugins/applet/seahorse-applet.c:755 +msgid "_Sign Clipboard" +msgstr "_Signer utklippstavla" + +#: ../plugins/applet/seahorse-applet.c:762 +msgid "_Decrypt/Verify Clipboard" +msgstr "_Dekrypter/stadfest utklippstavla" + +#: ../plugins/applet/seahorse-applet.c:768 +msgid "_Import Keys from Clipboard" +msgstr "_Importer nøklar frå utklippstavla" + +#: ../plugins/applet/seahorse-applet.c:833 +#: ../plugins/applet/seahorse-applet.c:835 +msgid "Encryption Applet" +msgstr "Panelprogram for kryptering" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:1 +msgid "Display clipboard contents after:" +msgstr "Syn innhaldet på utklippstavla etter:" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:2 +msgid "Clipboard Encryption Preferences" +msgstr "Innstillingar for kryptering av utklippstavle" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:3 +msgid "_Decrypting or verifying the clipboard" +msgstr "_Dekrypterer eller bekrefter utklippstavla" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:4 +msgid "_Encrypting or signing the clipboard" +msgstr "_Krypterer eller signerer utklippstavla" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:5 +msgid "_Show clipboard state in panel" +msgstr "Vi_s tilstand for utklippstavla på panelet" + +#: ../plugins/epiphany/seahorse-extension.c:619 +msgid "_Encrypt" +msgstr "Krypt_er" + +#: ../plugins/epiphany/seahorse-extension.c:626 +#: ../src/seahorse-sign.glade.h:21 +msgid "_Sign" +msgstr "_Signer" + +#: ../plugins/epiphany/seahorse-extension.c:633 +msgid "_Decrypt/Verify" +msgstr "Dekrypter/bekreft" + +#: ../plugins/epiphany/seahorse-extension.c:640 +msgid "_Import Key" +msgstr "_Importer nøkkel" + +#: ../plugins/gedit/seahorse-gedit.c:265 +msgid "Couldn't connect to seahorse-daemon" +msgstr "Kunne ikkje kopla til seahorse-tenesten (seahorse-daemon)" + +#: ../plugins/gedit/seahorse-gedit.c:354 +msgid "Encrypted text" +msgstr "Kryptert tekst" + +#: ../plugins/gedit/seahorse-gedit.c:357 +msgid "Couldn't encrypt text" +msgstr "Kunne ikkje kryptere tekst" + +#: ../plugins/gedit/seahorse-gedit.c:387 ../src/seahorse-key-manager.c:387 +#: ../src/seahorse-key-manager.c:455 ../src/seahorse-key-manager.c:478 +msgid "Couldn't import keys" +msgstr "Kunne ikkje importere nøklar" + +#: ../plugins/gedit/seahorse-gedit.c:396 +msgid "Keys found but not imported" +msgstr "Nøklar funne men ikkje importert" + +#: ../plugins/gedit/seahorse-gedit.c:430 +msgid "Couldn't decrypt text" +msgstr "Kunne ikkje dekryptere tekst" + +#: ../plugins/gedit/seahorse-gedit.c:462 +msgid "Couldn't verify text" +msgstr "Kunne ikkje bekrefte tekst" + +#: ../plugins/gedit/seahorse-gedit.c:510 +msgid "No encrypted or signed text is selected." +msgstr "Inga kryptert eller signert tekst er markert." + +#: ../plugins/gedit/seahorse-gedit.c:540 +msgid "Decrypted text" +msgstr "Dekryptert tekst" + +#: ../plugins/gedit/seahorse-gedit.c:547 +msgid "Verified text" +msgstr "Bekrefta tekst" + +#: ../plugins/gedit/seahorse-gedit.c:582 +#: ../plugins/nautilus/seahorse-tool.c:454 ../src/seahorse-key-manager.c:396 +#, c-format +msgid "Imported %d key" +msgid_plural "Imported %d keys" +msgstr[0] "Importerte %d nøkkel" +msgstr[1] "Importerte %d nøklar" + +#: ../plugins/gedit/seahorse-gedit.c:633 +msgid "Signed text" +msgstr "Signert tekst" + +#: ../plugins/gedit/seahorse-gedit.c:636 +msgid "Couldn't sign text" +msgstr "Kunne ikkje signere tekst" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:133 +msgid "_Encrypt..." +msgstr "Krypt_er ..." + +#: ../plugins/gedit/seahorse-gedit-plugin.c:134 +msgid "Encrypt the selected text" +msgstr "Krypter vald tekst" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:135 +msgid "Decr_ypt/Verify" +msgstr "Dekr_ypter/bekreft" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:136 +msgid "Decrypt and/or Verify text" +msgstr "Dekrypter og/eller bekreft tekst" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:137 +msgid "Sig_n..." +msgstr "Sig_ner ..." + +#: ../plugins/gedit/seahorse-gedit-plugin.c:138 +msgid "Sign the selected text" +msgstr "Signer vald tekst" + +#: ../plugins/gedit/seahorse-gedit.schemas.in.h:1 +msgid "Enable the seahorse encryption plugin for gedit." +msgstr "Slå på seahorses krypteringstillegg for gedit." + +#: ../plugins/gedit/seahorse-gedit.schemas.in.h:2 +msgid "Enable the seahorse gedit plugin" +msgstr "Slå på Seahorse-tillegg for Gedit" + +#: ../plugins/gedit/seahorse-pgp.gedit-plugin.desktop.in.h:1 +msgid "Text Encryption" +msgstr "Kryptering av tekst" + +#: ../plugins/gedit/seahorse-pgp.gedit-plugin.desktop.in.h:2 +msgid "This plugin performs encryption operations on text." +msgstr "Dette tillegget utfører krypteringsoperasjonar på tekst." + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:161 +msgid "Encrypt..." +msgstr "Krypter ..." + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:162 +msgid "Encrypt (and optionally sign) the selected file" +msgid_plural "Encrypt the selected files" +msgstr[0] "Krypter (og signer viss ynskja) vald fil" +msgstr[1] "Krypter (og signer viss ynskja) valde filer" + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:168 +#: ../src/seahorse-pgp-private-key-properties.glade.h:39 +msgid "Sign" +msgstr "Signer" + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:169 +msgid "Sign the selected file" +msgid_plural "Sign the selected files" +msgstr[0] "Signer vald fil" +msgstr[1] "Signer valde filer" + +#: ../plugins/nautilus/seahorse-pgp-preferences.c:43 +#: ../plugins/nautilus/seahorse-pgp-preferences.c:47 +msgid "For internal use" +msgstr "For intern bruk" + +#: ../plugins/nautilus/seahorse-pgp-preferences.c:74 +msgid "Encryption Preferences" +msgstr "Innstillingar for kryptering" + +#: ../plugins/nautilus/seahorse-pgp-preferences.desktop.in.h:1 +msgid "Configure key servers and other encryption settings" +msgstr "Set opp nøkkeltenarar og andre innstillingar for kryptering" + +#: ../plugins/nautilus/seahorse-pgp-preferences.desktop.in.h:2 +msgid "Encryption and Keyrings" +msgstr "Kryptering og nøkkelringar" + +#: ../plugins/nautilus/seahorse-tool.c:58 +msgid "Import keys from the file" +msgstr "Importer nøklar frå fila" + +#: ../plugins/nautilus/seahorse-tool.c:60 +msgid "Encrypt file" +msgstr "Krypter fil" + +#: ../plugins/nautilus/seahorse-tool.c:62 +msgid "Sign file with default key" +msgstr "Signer fil med forvald nøkkel" + +#: ../plugins/nautilus/seahorse-tool.c:64 +msgid "Encrypt and sign file with default key" +msgstr "Krypter og signer fil med forvald nøkkel" + +#: ../plugins/nautilus/seahorse-tool.c:66 +msgid "Decrypt encrypted file" +msgstr "Dekrypter kryptert fil" + +#: ../plugins/nautilus/seahorse-tool.c:68 +msgid "Verify signature file" +msgstr "Bekreft signaturfil" + +#: ../plugins/nautilus/seahorse-tool.c:70 +msgid "Read list of URIs on standard in" +msgstr "Les liste med URIer frå standard inndata" + +#: ../plugins/nautilus/seahorse-tool.c:72 +msgid "file..." +msgstr "fil ..." + +#: ../plugins/nautilus/seahorse-tool.c:162 +msgid "Choose Recipients" +msgstr "Vel mottakare" + +#: ../plugins/nautilus/seahorse-tool.c:224 +#: ../plugins/nautilus/seahorse-tool.c:306 +msgid "Couldn't load keys" +msgstr "Kunne ikkje lasta nøklar" + +#: ../plugins/nautilus/seahorse-tool.c:240 +#, c-format +msgid "Choose Encrypted File Name for '%s'" +msgstr "Vel kryptert filnamn for «%s»" + +#: ../plugins/nautilus/seahorse-tool.c:290 +msgid "Choose Signer" +msgstr "Vel signerer" + +#: ../plugins/nautilus/seahorse-tool.c:325 +#, c-format +msgid "Choose Signature File Name for '%s'" +msgstr "Vel signaturfilnamn for «%s»" + +#: ../plugins/nautilus/seahorse-tool.c:365 +msgid "Import is complete" +msgstr "Importeringa er komplett" + +#: ../plugins/nautilus/seahorse-tool.c:398 +msgid "Importing keys ..." +msgstr "Importerer nøklar ..." + +#: ../plugins/nautilus/seahorse-tool.c:452 +#, c-format +msgid "Imported key" +msgstr "Importert nøkkel" + +#. File to decrypt to +#: ../plugins/nautilus/seahorse-tool.c:476 +#, c-format +msgid "Choose Decrypted File Name for '%s'" +msgstr "Vel dekryptert filnamn for «%s»" + +#: ../plugins/nautilus/seahorse-tool.c:532 +#, c-format +msgid "Choose Original File for '%s'" +msgstr "Vel opphavleg fil for «%s»" + +#. +#. * TODO: What should happen with multiple files at this point. +#. * The last thing we want to do is cascade a big pile of error +#. * dialogs at the user. +#. +#: ../plugins/nautilus/seahorse-tool.c:604 +#, c-format +msgid "No valid signatures found" +msgstr "Inga gyldige signaturar funne" + +#: ../plugins/nautilus/seahorse-tool.c:657 +msgid "File Encryption Tool" +msgstr "Verktøy for kryptering av filer" + +#: ../plugins/nautilus/seahorse-tool.c:680 +msgid "Encrypting" +msgstr "Krypterer" + +#: ../plugins/nautilus/seahorse-tool.c:681 +#, c-format +msgid "Couldn't encrypt file: %s" +msgstr "Kunne ikkje kryptere fil: %s" + +#: ../plugins/nautilus/seahorse-tool.c:689 +msgid "Signing" +msgstr "Signerer" + +#: ../plugins/nautilus/seahorse-tool.c:690 +#, c-format +msgid "Couldn't sign file: %s" +msgstr "Kunne ikkje signere fil: %s" + +#: ../plugins/nautilus/seahorse-tool.c:695 +msgid "Importing" +msgstr "Importerer" + +#: ../plugins/nautilus/seahorse-tool.c:696 +#, c-format +msgid "Couldn't import keys from file: %s" +msgstr "Kunne ikkje importere nøklar frå fil: %s" + +#: ../plugins/nautilus/seahorse-tool.c:702 +msgid "Decrypting" +msgstr "Dekrypterer" + +#: ../plugins/nautilus/seahorse-tool.c:703 +#, c-format +msgid "Couldn't decrypt file: %s" +msgstr "Kunne ikkje dekryptere fil: %s" + +#: ../plugins/nautilus/seahorse-tool.c:708 +msgid "Verifying" +msgstr "Bekrefter" + +#: ../plugins/nautilus/seahorse-tool.c:709 +#, c-format +msgid "Couldn't verify file: %s" +msgstr "Kunne ikkje bekrefte fil: %s" + +#: ../plugins/nautilus/seahorse-tool-files.c:114 +msgid "Ace (.ace)" +msgstr "Ace (.ace)" + +#: ../plugins/nautilus/seahorse-tool-files.c:115 +msgid "Ar (.ar)" +msgstr "Ar (.ar)" + +#: ../plugins/nautilus/seahorse-tool-files.c:116 +msgid "Arj (.arj)" +msgstr "Arj (.arj)" + +#: ../plugins/nautilus/seahorse-tool-files.c:123 +msgid "Ear (.ear)" +msgstr "Ear (.ear)" + +#: ../plugins/nautilus/seahorse-tool-files.c:124 +msgid "Self-extracting zip (.exe)" +msgstr "Sjølvutpakkende zip (.exe)" + +#: ../plugins/nautilus/seahorse-tool-files.c:126 +msgid "Jar (.jar)" +msgstr "Jar (.jar)" + +#: ../plugins/nautilus/seahorse-tool-files.c:127 +msgid "Lha (.lzh)" +msgstr "Lha (.lzh)" + +#: ../plugins/nautilus/seahorse-tool-files.c:129 +msgid "Rar (.rar)" +msgstr "Rar (.rar)" + +#: ../plugins/nautilus/seahorse-tool-files.c:131 +msgid "Tar uncompressed (.tar)" +msgstr "Tar ukomprimert (.tar)" + +#: ../plugins/nautilus/seahorse-tool-files.c:132 +msgid "Tar compressed with bzip (.tar.bz)" +msgstr "Tar komprimert med bzip (.tar.bz)" + +#: ../plugins/nautilus/seahorse-tool-files.c:133 +msgid "Tar compressed with bzip2 (.tar.bz2)" +msgstr "Tar komprimert med bzip2 (.tar.bz2)" + +#: ../plugins/nautilus/seahorse-tool-files.c:134 +msgid "Tar compressed with gzip (.tar.gz)" +msgstr "Tar komprimert med gzip (.tar.gz)" + +#: ../plugins/nautilus/seahorse-tool-files.c:135 +msgid "Tar compressed with lzop (.tar.lzo)" +msgstr "Tar komprimert med lzop (.tar.lzo)" + +#: ../plugins/nautilus/seahorse-tool-files.c:136 +msgid "Tar compressed with compress (.tar.Z)" +msgstr "Tar komprimert med compress (.tar.Z)" + +#: ../plugins/nautilus/seahorse-tool-files.c:138 +msgid "War (.war)" +msgstr "War (.war)" + +#: ../plugins/nautilus/seahorse-tool-files.c:139 +msgid "Zip (.zip)" +msgstr "Zip (.zip)" + +#: ../plugins/nautilus/seahorse-tool-files.c:140 +msgid "Zoo (.zoo)" +msgstr "Zoo (.zoo)" + +#: ../plugins/nautilus/seahorse-tool-files.c:141 +msgid "7-Zip (.7z)" +msgstr "7-Zip (.7z)" + +#. TRANSLATOR: This string will become +#. * "You have selected %d files and %d folders" +#: ../plugins/nautilus/seahorse-tool-files.c:318 +#, c-format +msgid "You have selected %d file " +msgid_plural "You have selected %d files " +msgstr[0] "Du har vald %d fil" +msgstr[1] "Du har vald %d filer" + +#. TRANSLATOR: This string will become +#. * "You have selected %d files and %d folders" +#: ../plugins/nautilus/seahorse-tool-files.c:323 +#, c-format +msgid "and %d folder" +msgid_plural "and %d folders" +msgstr[0] "og %d mappe" +msgstr[1] "og %d mapper" + +#. TRANSLATOR: "%s%s" are "You have selected %d files and %d folders" +#. * Swap order with "%2$s%1$s" if needed +#: ../plugins/nautilus/seahorse-tool-files.c:328 +#, c-format +msgid "%s%s" +msgstr "%s%s" + +#. should never be called for just one file +#: ../plugins/nautilus/seahorse-tool-files.c:337 +#, c-format +msgid "You have selected %d files" +msgstr "Du har vald %d filer" + +#: ../plugins/nautilus/seahorse-tool-files.c:342 +#, c-format +msgid "You have selected %d folder" +msgid_plural "You have selected %d folders" +msgstr[0] "Du har vald %d mappe" +msgstr[1] "Du har vald %d mapper" + +#: ../plugins/nautilus/seahorse-tool-files.c:811 +msgid "Preparing..." +msgstr "Førebur ..." + +#: ../plugins/nautilus/seahorse-tool-files.c:820 +#: ../plugins/nautilus/seahorse-tool-files.c:843 +msgid "Couldn't list files" +msgstr "Kunne ikkje visa filer" + +#: ../src/main.c:61 ../src/seahorse-key-manager.c:861 +msgid "Encryption Key Manager" +msgstr "Handtering av krypteringsnøklar" + +#: ../src/seahorse-add-subkey.c:134 +msgid "Couldn't add subkey" +msgstr "Kunne ikkje leggja til undernøkkel" + +#: ../src/seahorse-add-subkey.c:154 +#, c-format +msgid "Add subkey to %s" +msgstr "Legg til undernøkkel til %s" + +#: ../src/seahorse-add-subkey.c:171 ../src/seahorse-pgp-generate.c:44 +msgid "DSA (sign only)" +msgstr "DSA (berre signering)" + +#: ../src/seahorse-add-subkey.c:179 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (berre kryptering)" + +#: ../src/seahorse-add-subkey.c:185 ../src/seahorse-pgp-generate.c:45 +msgid "RSA (sign only)" +msgstr "RSA (berre signering)" + +#: ../src/seahorse-add-subkey.c:191 +msgid "RSA (encrypt only)" +msgstr "RSA (berre kryptering)" + +#: ../src/seahorse-add-subkey.glade.h:1 +msgid "Expiration Date:" +msgstr "Utløpsdato:" + +#: ../src/seahorse-add-subkey.glade.h:2 +msgid "Generate a new subkey" +msgstr "Oppretter ein ny undernøkkel" + +#: ../src/seahorse-add-subkey.glade.h:3 +msgid "If key never expires" +msgstr "Viss nøkkelen aldri utgår" + +#: ../src/seahorse-add-subkey.glade.h:4 +msgid "Key _Length:" +msgstr "Nøkkel_lengde:" + +#: ../src/seahorse-add-subkey.glade.h:5 +msgid "Key _Type:" +msgstr "Nøkkel_type:" + +#: ../src/seahorse-add-subkey.glade.h:6 +msgid "Length of Key" +msgstr "Lengde på nøkkel" + +#: ../src/seahorse-add-subkey.glade.h:7 +msgid "Never E_xpires" +msgstr "Går _aldri ut" + +#: ../src/seahorse-add-uid.c:82 +msgid "Couldn't add user id" +msgstr "Kunne ikkje leggja til brukar-ID" + +#: ../src/seahorse-add-uid.c:104 +#, c-format +msgid "Add user ID to %s" +msgstr "Legg til brukar-ID i %s" + +#: ../src/seahorse-add-uid.glade.h:1 +msgid "Add User ID" +msgstr "Legg til brukar-ID" + +#: ../src/seahorse-add-uid.glade.h:2 +msgid "Create the new user ID" +msgstr "Opprett ny brukar-ID" + +#: ../src/seahorse-add-uid.glade.h:3 ../src/seahorse-pgp-generate.glade.h:8 +msgid "Full _Name:" +msgstr "Fullt _namn:" + +#: ../src/seahorse-add-uid.glade.h:4 +msgid "Key Co_mment:" +msgstr "Nøkkel-ko_mmentar:" + +#: ../src/seahorse-add-uid.glade.h:5 +msgid "Must be at least 5 characters long" +msgstr "Må vera minst 5 teikn langt" + +#: ../src/seahorse-add-uid.glade.h:6 +msgid "Optional comment describing key" +msgstr "Valgfri kommentar som skildrar nøkkelen" + +#: ../src/seahorse-add-uid.glade.h:7 +msgid "Optional email address" +msgstr "Alternativ e-postadresse" + +#: ../src/seahorse-add-uid.glade.h:8 ../src/seahorse-pgp-generate.glade.h:14 +msgid "_Email Address:" +msgstr "_E-postadresse:" + +#: ../src/seahorse-change-passphrase.glade.h:1 +msgid "Change Passphrase" +msgstr "Endra passord" + +#: ../src/seahorse-change-passphrase.glade.h:2 +msgid "Con_firm Passphrase:" +msgstr "Bekre_ft passord:" + +#: ../src/seahorse-change-passphrase.glade.h:3 +msgid "Confirm new passphrase" +msgstr "Stadfest nytt passord" + +#: ../src/seahorse-change-passphrase.glade.h:5 +msgid "New _Passphrase:" +msgstr "Nytt _passord:" + +#: ../src/seahorse-delete.c:40 +#, c-format +msgid "%s is a private key. Make sure you have a backup. Do you still want to delete it?" +msgstr "%s er ein privat nøkkel. Sjekk at du har ein sikkerhetskopi. Vil du framleis slette den?" + +#: ../src/seahorse-delete.c:74 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Er du sikker på at du vil slette %s for godt?" + +#: ../src/seahorse-delete.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d key?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Er du sikker på at du vil slette %d nøkkel for godt?" +msgstr[1] "Er du sikker på at du vil slette %d nøklar for godt?" + +#: ../src/seahorse-delete.c:124 +msgid "Couldn't delete key" +msgstr "Kunne ikkje slette nøkkel" + +#: ../src/seahorse-delete.c:139 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Er du sikker på at du vil slette undernøkkelen %d av %s for godt?" + +#: ../src/seahorse-delete.c:162 +msgid "Couldn't delete subkey" +msgstr "Kunne ikkje slette undernøkkel" + +#: ../src/seahorse-delete.c:181 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "Er du sikker på at du vil slette brukar-IDen «%s» for godt?" + +#: ../src/seahorse-delete.c:206 +msgid "Couldn't delete user id" +msgstr "Kunne ikkje slette brukar-ID" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "Handter dine passord og krypteringsnøklar" + +#: ../src/seahorse.desktop.in.in.h:2 ../src/seahorse-key-manager.glade.h:7 +msgid "Passwords and Encryption Keys" +msgstr "Passord og krypteringsnøklar" + +#: ../src/seahorse-expires.c:67 +msgid "Couldn't change expiry date" +msgstr "Kunne ikkje endra utløpsdato" + +#: ../src/seahorse-expires.c:131 +#, c-format +msgid "Expiry for Subkey %d of %s" +msgstr "Utløp for undernøkkel %d av %s" + +#: ../src/seahorse-expires.c:133 +#, c-format +msgid "Expiry for %s" +msgstr "Utløp for %s" + +#: ../src/seahorse-expires.glade.h:1 +msgid "C_hange" +msgstr "E_ndre" + +#: ../src/seahorse-expires.glade.h:2 ../src/seahorse-revoke.glade.h:4 +msgid "Revoke key" +msgstr "Trekk tilbake nøkkel" + +#: ../src/seahorse-expires.glade.h:3 +msgid "_Never expires" +msgstr "_Går aldri ut" + +#: ../src/seahorse-generate-select.c:143 +msgid "Used to encrypt email and files" +msgstr "Brukast til å kryptere e-post og filer" + +#: ../src/seahorse-generate-select.c:146 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "Brukast til å nå andre datamaskiner (t.d. via ein terminal)" + +#: ../src/seahorse-generate-select.glade.h:1 +msgid "_Select the kind of key you wish to create:" +msgstr "_Vel type nøkkel du ynskjer å opprette:" + +#: ../src/seahorse-generate-select.glade.h:2 +msgid "C_ontinue" +msgstr "F_ortsett" + +#: ../src/seahorse-generate-select.glade.h:3 +msgid "Create a New Key" +msgstr "Opprett ein ny nøkkel" + +#: ../src/seahorse-gkeyring-item.c:249 +msgid "Web Password" +msgstr "Passord for nettside" + +#: ../src/seahorse-gkeyring-item.c:251 +msgid "Network Password" +msgstr "Nettverkspassord" + +#: ../src/seahorse-gkeyring-item.c:253 +#: ../src/seahorse-gkeyring-item-properties.c:119 +#: ../src/seahorse-gkeyring-source.c:546 +msgid "Password" +msgstr "Passord" + +#: ../src/seahorse-gkeyring-item-properties.c:93 +msgid "Access a network share or resource" +msgstr "Kopla til ein delt nettverksressurs" + +#: ../src/seahorse-gkeyring-item-properties.c:97 +msgid "Access a website" +msgstr "Kopla til ein nettstad" + +#: ../src/seahorse-gkeyring-item-properties.c:101 +msgid "Unlocks a PGP key" +msgstr "Låser opp ein GPG-nøkkel" + +#: ../src/seahorse-gkeyring-item-properties.c:104 +msgid "Unlocks a Secure Shell key" +msgstr "Låser opp ein nøkkel for sikkert skall" + +#: ../src/seahorse-gkeyring-item-properties.c:107 +msgid "Saved password or login" +msgstr "Lagra passord eller pålogging" + +#: ../src/seahorse-gkeyring-item-properties.c:119 +msgid "Network Credentials" +msgstr "Påloggingsinformasjon for nettverk" + +#: ../src/seahorse-gkeyring-item-properties.c:180 +msgid "Couldn't change password." +msgstr "Kunne ikkje endra passord" + +#: ../src/seahorse-gkeyring-item-properties.c:287 +msgid "Couldn't set description." +msgstr "Kunne ikkje setja skildring" + +#: ../src/seahorse-gkeyring-item-properties.c:496 +msgid "Couldn't set application access." +msgstr "Kunne ikkje setja tilgang for program." + +#: ../src/seahorse-gkeyring-item-properties.glade.h:1 +msgid "Password:" +msgstr "Passord:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:2 +msgid "Path:" +msgstr "Stig:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:3 +msgid "Permissions:" +msgstr "Tillatelser:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:4 +#: ../src/seahorse-pgp-public-key-properties.glade.h:9 +#: ../src/seahorse-ssh-key-properties.glade.h:9 +msgid "Technical Details:" +msgstr "Tekniske detaljar:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:5 +msgid "Applications" +msgstr "Program" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:6 +#: ../src/seahorse-pgp-private-key-properties.glade.h:23 +#: ../src/seahorse-pgp-public-key-properties.glade.h:20 +#: ../src/seahorse-ssh-key-properties.glade.h:17 +msgid "Details" +msgstr "Detaljar" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:7 +#: ../src/seahorse-ssh-key-properties.glade.h:19 +msgid "Key" +msgstr "Nøkkel" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:8 +#: ../src/seahorse-pgp-private-key-properties.glade.h:30 +#: ../src/seahorse-pgp-public-key-properties.glade.h:29 +#: ../src/seahorse-ssh-key-properties.glade.h:20 +msgid "Key Properties" +msgstr "Eigenskapar for nøkkel" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:9 +msgid "Login:" +msgstr "Pålogging:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:10 +msgid "Server:" +msgstr "Tenar:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:11 +msgid "Show pass_word" +msgstr "Syn pass_ord" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:12 +#: ../src/seahorse-pgp-private-key-properties.glade.h:42 +#: ../src/seahorse-pgp-public-key-properties.glade.h:36 +msgid "Type:" +msgstr "Type:" + +#. To translators: This is the noun not the verb. +#: ../src/seahorse-gkeyring-item-properties.glade.h:14 +msgid "Use:" +msgstr "Bruk:" + +#. To translators: This is the infinitive not the imperative. +#: ../src/seahorse-gkeyring-item-properties.glade.h:16 +msgid "_Delete" +msgstr "_Slett" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:17 +#: ../src/seahorse-revoke.glade.h:5 +msgid "_Description:" +msgstr "_Skildring:" + +#. To translators: This is the infinitive not the imperative. +#: ../src/seahorse-gkeyring-item-properties.glade.h:19 +msgid "_Read" +msgstr "_Les" + +#. To translators: This is the infinitive not the imperative. +#: ../src/seahorse-gkeyring-item-properties.glade.h:21 +msgid "_Write" +msgstr "_Skriv" + +#: ../src/seahorse-gkeyring-operation.c:204 +msgid "Access to the key ring was denied" +msgstr "Tilgang til nøkkelringa vart nekta" + +#: ../src/seahorse-gkeyring-operation.c:207 +msgid "The gnome-keyring daemon is not running" +msgstr "gnome-keyring-tenesten køyrer ikkje" + +#: ../src/seahorse-gkeyring-operation.c:210 +msgid "The key ring has already been unlocked" +msgstr "Nøkkelringa er allereie låst opp" + +#: ../src/seahorse-gkeyring-operation.c:213 +msgid "No such key ring exists" +msgstr "Nøkkelringa eksisterer ikkje" + +#: ../src/seahorse-gkeyring-operation.c:216 +msgid "Couldn't communicate with key ring daemon" +msgstr "Kunne ikkje kommunisere med nøkkelringtenesten" + +#: ../src/seahorse-gkeyring-operation.c:219 +msgid "The item already exists" +msgstr "Oppføringa eksisterer allereie" + +#: ../src/seahorse-gkeyring-operation.c:225 +msgid "Internal error accessing gnome-keyring" +msgstr "Intern feil ved tilkopling til gnome-keyring" + +#: ../src/seahorse-gkeyring-operation.c:282 +#: ../src/seahorse-gkeyring-operation.c:314 +msgid "Saving item..." +msgstr "Lagrar oppføring ..." + +#: ../src/seahorse-gkeyring-source.c:403 +msgid "Retrieving key" +msgstr "Hentar nøkkel" + +#. Start listing of ids +#: ../src/seahorse-gkeyring-source.c:417 +msgid "Listing passwords" +msgstr "Listar passord" + +#: ../src/seahorse-key-manager.c:435 +msgid "Couldn't read file" +msgstr "Kunne ikkje lesa nøkkel" + +#: ../src/seahorse-key-manager.c:478 +msgid "Unrecognized key type, or invalid data format" +msgstr "Ukjend nøkkeltype eller ugyldig dataformat" + +#: ../src/seahorse-key-manager.c:552 ../src/seahorse-keyserver-results.c:218 +msgid "Couldn't retrieve data from key server" +msgstr "Kunne ikkje henta data frå nøkkeltenar" + +#: ../src/seahorse-key-manager.c:568 ../src/seahorse-keyserver-results.c:234 +#, c-format +msgid "Copied %d key" +msgid_plural "Copied %d keys" +msgstr[0] "Kopiert %d nøkkel" +msgstr[1] "Kopiert %d nøklar" + +#: ../src/seahorse-key-manager.c:592 ../src/seahorse-keyserver-results.c:194 +#: ../src/seahorse-keyserver-results.c:259 +msgid "Retrieving keys" +msgstr "Hentar nøklar" + +#: ../src/seahorse-key-manager.c:618 +msgid "Couldn't export key" +msgstr "Kunne ikkje eksportere nøkkel" + +#: ../src/seahorse-key-manager.c:638 +msgid "Export public key" +msgstr "Eksporter offentleg nøkkel" + +#: ../src/seahorse-key-manager.c:648 ../src/seahorse-key-properties.c:1038 +#: ../src/seahorse-ssh-key-properties.c:240 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "Kunne ikkje eksportere nøkkel til «%s»" + +#: ../src/seahorse-key-manager.c:660 +msgid "Exporting keys" +msgstr "Eksporterer nøklar" + +#: ../src/seahorse-key-manager.c:679 +msgid "Back up Key Rings to Archive" +msgstr "Ta sikkerhetskopi av nøkkelringar til arkiv" + +#: ../src/seahorse-key-manager.c:833 +msgid "Contributions:" +msgstr "Bidrag:" + +#: ../src/seahorse-key-manager.c:859 +msgid "seahorse" +msgstr "seahorse" + +#: ../src/seahorse-key-manager.c:942 ../src/seahorse-keyserver-results.c:300 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "%d nøkkel vald" +msgstr[1] "%d nøklar vald" + +#. Top menu items +#: ../src/seahorse-key-manager.c:1170 ../src/seahorse-keyserver-results.c:379 +msgid "_Key" +msgstr "Nø_kler" + +#: ../src/seahorse-key-manager.c:1171 ../src/seahorse-keyserver-results.c:380 +msgid "_Edit" +msgstr "R_ediger" + +#: ../src/seahorse-key-manager.c:1172 +msgid "_View" +msgstr "_Vis" + +#. Key Actions +#: ../src/seahorse-key-manager.c:1176 +msgid "_Create New Key..." +msgstr "_Opprett ny nøkkel ..." + +#: ../src/seahorse-key-manager.c:1177 +msgid "Create a new personal key" +msgstr "Opprett ein ny personleg nøkkel" + +#: ../src/seahorse-key-manager.c:1178 +msgid "_Import..." +msgstr "_Importer ..." + +#: ../src/seahorse-key-manager.c:1179 +msgid "Import keys into your key ring from a file" +msgstr "Importer nøklar til din nøkkelring frå ein fil" + +#: ../src/seahorse-key-manager.c:1180 +msgid "_Back up Key Rings..." +msgstr "_Sikkerhetskopier nøkkelringar ..." + +#: ../src/seahorse-key-manager.c:1181 +msgid "Back up all keys" +msgstr "Sikkerhetskopier alle nøklar" + +#: ../src/seahorse-key-manager.c:1182 +msgid "Paste _Keys" +msgstr "Lim inn nø_kler" + +#: ../src/seahorse-key-manager.c:1183 +msgid "Import keys from the clipboard" +msgstr "Importer nøklar frå utklippstavla" + +#: ../src/seahorse-key-manager.c:1185 +msgid "_Quit" +msgstr "A_vslutt" + +#: ../src/seahorse-key-manager.c:1186 +msgid "Close this program" +msgstr "Lukk dette programmet" + +#: ../src/seahorse-key-manager.c:1187 +msgid "Prefere_nces" +msgstr "_Innstillingar" + +#: ../src/seahorse-key-manager.c:1188 +msgid "Change preferences for this program" +msgstr "Endra innstillingar for dette programmet" + +#: ../src/seahorse-key-manager.c:1190 +msgid "About this program" +msgstr "Om dette programmet" + +#: ../src/seahorse-key-manager.c:1192 +msgid "_Remote" +msgstr "Ekste_rnt" + +#: ../src/seahorse-key-manager.c:1194 ../src/seahorse-keyserver-results.c:385 +msgid "_Contents" +msgstr "_Innhald" + +#: ../src/seahorse-key-manager.c:1195 ../src/seahorse-keyserver-results.c:386 +msgid "Show Seahorse help" +msgstr "Syn hjelp for Seahorse" + +#: ../src/seahorse-key-manager.c:1199 +msgid "T_ypes" +msgstr "T_yper" + +#: ../src/seahorse-key-manager.c:1200 +msgid "Show type column" +msgstr "Syn type kolonne" + +#: ../src/seahorse-key-manager.c:1201 +msgid "_Expiry" +msgstr "_Utgår" + +#: ../src/seahorse-key-manager.c:1202 +msgid "Show expiry column" +msgstr "Syn utløpskolonne" + +#: ../src/seahorse-key-manager.c:1203 +msgid "_Trust" +msgstr "_Tillit" + +#: ../src/seahorse-key-manager.c:1204 +msgid "Show owner trust column" +msgstr "Syn kolonne for tillit til eig" + +#: ../src/seahorse-key-manager.c:1205 +msgid "_Validity" +msgstr "_Validitet" + +#: ../src/seahorse-key-manager.c:1206 +msgid "Show validity column" +msgstr "Syn kolonne for validitet" + +#: ../src/seahorse-key-manager.c:1210 ../src/seahorse-keyserver-results.c:397 +msgid "P_roperties" +msgstr "E_genskapar" + +#: ../src/seahorse-key-manager.c:1211 ../src/seahorse-keyserver-results.c:398 +msgid "Show key properties" +msgstr "Syn eigenskapar for nøkkel" + +#: ../src/seahorse-key-manager.c:1212 +msgid "E_xport Public Key..." +msgstr "E_ksporter offentleg nøkkel ..." + +#: ../src/seahorse-key-manager.c:1213 +msgid "Export public part of key to a file" +msgstr "Eksporter offentleg del av nøkkel til ein fil" + +#: ../src/seahorse-key-manager.c:1214 +msgid "_Copy Public Key" +msgstr "_Kopier offentleg nøkkel" + +#: ../src/seahorse-key-manager.c:1215 +msgid "Copy public part of selected keys to the clipboard" +msgstr "Kopier offentleg del av valde nøklar til utklippstavla" + +#: ../src/seahorse-key-manager.c:1216 +msgid "_Delete Key" +msgstr "_Slett nøkkel" + +#: ../src/seahorse-key-manager.c:1217 +msgid "Delete selected keys" +msgstr "Slett valde nøklar" + +#: ../src/seahorse-key-manager.c:1221 +msgid "_Sign..." +msgstr "_Signer ..." + +#: ../src/seahorse-key-manager.c:1222 +msgid "Sign public key" +msgstr "Signer offentleg nøkkel" + +#: ../src/seahorse-key-manager.c:1226 +msgid "Set Up Computer for _Secure Shell..." +msgstr "Set opp datamaskinen for _sikkert skall ..." + +#: ../src/seahorse-key-manager.c:1227 +msgid "Send public Secure Shell key to another machine, and enable logins using that key." +msgstr "Send offentleg nøkkel for sikkert skall til ein annan maskin og slå på pålogging med denne nøkkelen." + +#: ../src/seahorse-key-manager.c:1231 ../src/seahorse-keyserver-results.c:406 +msgid "_Find Remote Keys..." +msgstr "_Finn eksterne nøklar ..." + +#: ../src/seahorse-key-manager.c:1232 ../src/seahorse-keyserver-results.c:407 +msgid "Search for keys on a key server" +msgstr "Søk etter nøklar på ein nøkkeltenar" + +#: ../src/seahorse-key-manager.c:1233 +msgid "_Sync and Publish Keys..." +msgstr "_Synkroniser og publiser nøklar ..." + +#: ../src/seahorse-key-manager.c:1234 +msgid "Publish and/or synchronize your keys with those online." +msgstr "Publiser og/eller synkroniser dine nøklar med dei på nettet." + +#: ../src/seahorse-key-manager.glade.h:1 +msgid "First time options:" +msgstr "Førstegangsalternativ:" + +#: ../src/seahorse-key-manager.glade.h:2 +msgid "Filter:" +msgstr "Filter:" + +#: ../src/seahorse-key-manager.glade.h:3 +msgid "Generate a new key of your own: " +msgstr "Opprett ein ny nøkkel til deg sjølv: " + +#: ../src/seahorse-key-manager.glade.h:4 +msgid "Import existing keys from a file:" +msgstr "Importer eksisterande nøklar frå ein fil:" + +#: ../src/seahorse-key-manager.glade.h:5 +msgid "My _Personal Keys" +msgstr "Mine _personlige nøklar" + +#: ../src/seahorse-key-manager.glade.h:6 +msgid "Other _Collected Keys" +msgstr "An_dre innsamla nøklar" + +#: ../src/seahorse-key-manager.glade.h:8 +msgid "To get started with encryption you will need keys." +msgstr "For å komme i gong med kryptering må du ha nøklar." + +#: ../src/seahorse-key-manager.glade.h:9 +#: ../src/seahorse-keyserver-results.c:395 +msgid "_Import" +msgstr "_Importer" + +#: ../src/seahorse-key-manager.glade.h:10 +msgid "_Passwords" +msgstr "_Passord" + +#: ../src/seahorse-key-manager.glade.h:11 +msgid "_Trusted Keys" +msgstr "Nøklar du s_toler på" + +#: ../src/seahorse-key-manager-store.c:301 +#: ../src/seahorse-key-properties.c:1306 +msgid "Expired" +msgstr "Utgått" + +#: ../src/seahorse-key-manager-store.c:354 +msgid "User ID" +msgstr "Brukar-ID" + +#: ../src/seahorse-key-manager-store.c:687 +msgid "Couldn't retrieve key data" +msgstr "Kunne ikkje henta nøkkeldata" + +#: ../src/seahorse-key-manager-store.c:718 +msgid "Couldn't write key to file" +msgstr "Kunne ikkje skriva nøkkel til fil" + +#: ../src/seahorse-key-manager-store.c:961 +msgid "Validity" +msgstr "Validitet" + +#. Trust column +#: ../src/seahorse-key-manager-store.c:968 +#: ../src/seahorse-pgp-public-key-properties.glade.h:35 +msgid "Trust" +msgstr "Tillit" + +#. The key type column +#: ../src/seahorse-key-manager-store.c:974 +#: ../src/seahorse-key-properties.c:1284 +msgid "Type" +msgstr "Type" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:980 +msgid "Expiration Date" +msgstr "Utløpsdato" + +#: ../src/seahorse-key-properties.c:208 +msgid "Couldn't change primary user ID" +msgstr "Kunne ikkje endra primær brukar-ID" + +#: ../src/seahorse-key-properties.c:304 ../src/seahorse-key-properties.c:1436 +msgid "[Unknown]" +msgstr "[Ukjend]" + +#: ../src/seahorse-key-properties.c:402 ../src/seahorse-key-properties.c:1722 +msgid "Name/Email" +msgstr "Namn/e-post" + +#: ../src/seahorse-key-properties.c:407 +msgid "Signature ID" +msgstr "Signatur-ID" + +#: ../src/seahorse-key-properties.c:558 +msgid "Couldn't change primary photo" +msgstr "Kunne ikkje endra hovudbilete" + +#: ../src/seahorse-key-properties.c:806 +msgid "(unknown)" +msgstr "(ukjend)" + +#: ../src/seahorse-key-properties.c:809 +#, c-format +msgid "This key expired on: %s" +msgstr "Denne nøkkelen gikk ut: %s" + +#: ../src/seahorse-key-properties.c:992 ../src/seahorse-key-properties.c:1386 +#: ../src/seahorse-key-properties.c:1405 +msgid "Unable to change trust" +msgstr "Kan ikkje endra tillitsforhald" + +#: ../src/seahorse-key-properties.c:1013 +#: ../src/seahorse-ssh-key-properties.c:215 +msgid "Export Complete Key" +msgstr "Eksporter heile nøkkelen" + +#: ../src/seahorse-key-properties.c:1281 +msgid "ID" +msgstr "ID" + +#: ../src/seahorse-key-properties.c:1287 +msgid "Created" +msgstr "Oppretta" + +#: ../src/seahorse-key-properties.c:1290 +msgid "Expires" +msgstr "Utgår" + +#: ../src/seahorse-key-properties.c:1293 +msgid "Status" +msgstr "Status" + +#: ../src/seahorse-key-properties.c:1296 +msgid "Strength" +msgstr "Styrke" + +#: ../src/seahorse-key-properties.c:1305 ../src/seahorse-key-properties.c:1306 +msgid "Good" +msgstr "God" + +#: ../src/seahorse-keyserver-results.c:107 +msgid "Couldn't import keys into key ring" +msgstr "Kunne ikkje importere nøklar til nøkkelring" + +#: ../src/seahorse-keyserver-results.c:128 +msgid "Importing keys from key servers" +msgstr "Importerer nøklar frå nøkkeltenarar" + +#: ../src/seahorse-keyserver-results.c:147 +#: ../src/seahorse-keyserver-results.c:181 +#, c-format +msgid "Couldn't write keys to file: %s" +msgstr "Kunne ikkje skriva nøklar til fil: %s" + +#: ../src/seahorse-keyserver-results.c:170 +msgid "Save Remote Keys" +msgstr "Lagra eksterne nøklar" + +#: ../src/seahorse-keyserver-results.c:353 +msgid "No matching keys found" +msgstr "Inga nøklar funne" + +#: ../src/seahorse-keyserver-results.c:383 +msgid "_Close" +msgstr "_Lukk" + +#: ../src/seahorse-keyserver-results.c:384 +msgid "Close this window" +msgstr "Lukk dette vindauget" + +#: ../src/seahorse-keyserver-results.c:388 +msgid "_Expand All" +msgstr "_Utvid alle" + +#: ../src/seahorse-keyserver-results.c:389 +msgid "Expand all listings" +msgstr "Utvid alle lister" + +#: ../src/seahorse-keyserver-results.c:390 +msgid "_Collapse All" +msgstr "_Trekk saman alle" + +#: ../src/seahorse-keyserver-results.c:391 +msgid "Collapse all listings" +msgstr "Slå saman alle lister" + +#: ../src/seahorse-keyserver-results.c:396 +msgid "Import selected keys to local key ring" +msgstr "Importer valde nøklar til lokal nøkkelring" + +#: ../src/seahorse-keyserver-results.c:399 +msgid "Save Key As..." +msgstr "Lagra nøkkel som ..." + +#: ../src/seahorse-keyserver-results.c:400 +msgid "Save selected keys as a file" +msgstr "Lagra valde nøklar som ein fil" + +#: ../src/seahorse-keyserver-results.c:401 +msgid "_Copy Key" +msgstr "_Kopier nøkkel" + +#: ../src/seahorse-keyserver-results.c:402 +msgid "Copy selected keys to the clipboard" +msgstr "Kopier valde nøklar til utklippstavla" + +#: ../src/seahorse-keyserver-results.c:464 +msgid "Remote Keys" +msgstr "Eksterne nøklar" + +#: ../src/seahorse-keyserver-results.c:466 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "Ekstrene nøklar inneheld «%s»" + +#: ../src/seahorse-keyserver-results.glade.h:1 +msgid "Remote Encryption Keys" +msgstr "Eksterne krypteringsnøklar" + +#: ../src/seahorse-keyserver-search.glade.h:1 +msgid "Key Servers:" +msgstr "Nøkkeltenarar:" + +#: ../src/seahorse-keyserver-search.glade.h:2 +msgid "Shared Keys Near Me:" +msgstr "Delte nøklar nær meg:" + +#: ../src/seahorse-keyserver-search.glade.h:3 +msgid "Find Remote Keys" +msgstr "Finn eksterne nøklar" + +#: ../src/seahorse-keyserver-search.glade.h:4 +msgid "This will find keys for others on the Internet. These keys can then be imported into your local key ring." +msgstr "Finn andres nøklar på internett. Desse nøklene kan så importerast i din lokale nøkkelring." + +#: ../src/seahorse-keyserver-search.glade.h:5 +msgid "Where to search:" +msgstr "Kor skal det søkjes:" + +#: ../src/seahorse-keyserver-search.glade.h:6 +msgid "_Search" +msgstr "_Søk" + +#: ../src/seahorse-keyserver-search.glade.h:7 +msgid "_Search for keys containing: " +msgstr "_Søk etter nøklar som inneheld:" + +#: ../src/seahorse-keyserver-sync.c:44 +#, c-format +msgid "Couldn't publish keys to server: %s" +msgstr "Kunne ikkje publisere nøklar til tenar: %s" + +#: ../src/seahorse-keyserver-sync.c:59 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "Kunne ikkje motta nøklar frå nøkkeltenar: %s" + +#: ../src/seahorse-keyserver-sync.c:147 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d nøkkel er vald for synkronisering" +msgstr[1] "%d nøklar er vald for synkronisering" + +#: ../src/seahorse-keyserver-sync.c:214 +msgid "Synchronizing keys" +msgstr "Synkroniserer nøklar" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:246 +msgid "Synchronizing keys..." +msgstr "Synkroniserer nøklar ..." + +#: ../src/seahorse-keyserver-sync.glade.h:1 +msgid "X keys are selected for synchronizing" +msgstr "X nøklar er vald for synkronisering" + +#: ../src/seahorse-keyserver-sync.glade.h:2 +msgid "Sync Keys" +msgstr "Synkroniser nøklar" + +#: ../src/seahorse-keyserver-sync.glade.h:3 +msgid "This will publish the keys in your key ring so they're available for others to use. You'll also get any changes others have made since you received their keys." +msgstr "Dette vil publisere nøklene i din nøkkelring, slik dei er tilgjengeleg for andre. Du vil òg få dei endringane andre har gjort, sida du mottok deira nøklar." + +#: ../src/seahorse-keyserver-sync.glade.h:4 +msgid "This will retrieve any changes others have made since you received their keys. No key server has been chosen for publishing, so your keys will not be made available to others." +msgstr "Dette vil henta dei endringar andre har gjort sida du henta deira nøklar. Inga nøkkeltenarar har blitt vald for publisering, så dine nøklar vil ikkje verta gjort tilgjengeleg for andre." + +#: ../src/seahorse-keyserver-sync.glade.h:5 +msgid "_Key Servers" +msgstr "Nø_kkeltenarar" + +#: ../src/seahorse-keyserver-sync.glade.h:6 +msgid "_Sync" +msgstr "_Synkroniser" + +#: ../src/seahorse-multi-encrypt.glade.h:1 +msgid "You have selected multiple files or folders" +msgstr "Du har vald fleire filer eller mapper" + +#: ../src/seahorse-multi-encrypt.glade.h:2 +msgid "Because the files are located remotely, each file will be encrypted separately." +msgstr "Filene vil verta kryptert kvar for seg då dei befinner seg eksternt." + +#: ../src/seahorse-multi-encrypt.glade.h:3 +msgid "Encrypt Multiple Files" +msgstr "Krypter fleire filer" + +#: ../src/seahorse-multi-encrypt.glade.h:4 +msgid "Encrypt each file separately" +msgstr "Krypter kvar fil separat" + +#: ../src/seahorse-multi-encrypt.glade.h:5 +msgid "Encrypt packed together in a package" +msgstr "Krypter pakket saman i ein pakke" + +#: ../src/seahorse-multi-encrypt.glade.h:6 +msgid "Package Name:" +msgstr "Pakkenamn:" + +#: ../src/seahorse-multi-encrypt.glade.h:7 +msgid "Packaging:" +msgstr "Pakkar:" + +#: ../src/seahorse-multi-encrypt.glade.h:8 +msgid "encrypted-package" +msgstr "kryptert pakke" + +#: ../src/seahorse-pgp-encrypted.desktop.in.in.h:1 +msgid "Decrypt File" +msgstr "Dekrypter fil" + +#: ../src/seahorse-pgp-generate.c:43 +msgid "DSA Elgamal" +msgstr "DSA ElGamal" + +#: ../src/seahorse-pgp-generate.c:54 +msgid "Couldn't generate PGP key" +msgstr "Kunne ikkje oppretta PGP-nøkkel" + +#: ../src/seahorse-pgp-generate.c:138 +msgid "Passphrase for New PGP Key" +msgstr "Passordfrase for ny PGP-nøkkel" + +#: ../src/seahorse-pgp-generate.c:139 +msgid "Enter the passphrase for your new key twice." +msgstr "Oppgje passordfrasen for din nye nøkkel to gonger." + +#: ../src/seahorse-pgp-generate.c:148 +msgid "Couldn't generate key" +msgstr "Kunne ikkje opprette nøkkel" + +#: ../src/seahorse-pgp-generate.c:150 +msgid "Generating key" +msgstr "Oppretter nøkkel" + +#: ../src/seahorse-pgp-generate.glade.h:1 +#: ../src/seahorse-ssh-generate.glade.h:1 +msgid "_Advanced key options" +msgstr "_Avanserte nøkkelval" + +#: ../src/seahorse-pgp-generate.glade.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "Ein PGP-nøkkel lèt deg kryptere e-post eller filer til andre personar." + +#: ../src/seahorse-pgp-generate.glade.h:3 +msgid "Algorithms here" +msgstr "Algoritmer her" + +#: ../src/seahorse-pgp-generate.glade.h:4 +msgid "C_reate" +msgstr "O_pprett" + +#: ../src/seahorse-pgp-generate.glade.h:5 +msgid "Create a PGP Key" +msgstr "Opprett ein PGP-nøkkel" + +#: ../src/seahorse-pgp-generate.glade.h:6 +msgid "E_xpiration Date:" +msgstr "_Utløpsdato:" + +#: ../src/seahorse-pgp-generate.glade.h:7 +#: ../src/seahorse-ssh-generate.glade.h:7 +msgid "Encryption _Type:" +msgstr "_Krypteringstype:" + +#: ../src/seahorse-pgp-generate.glade.h:9 +msgid "Generate a new key" +msgstr "Opprett ein ny nøkkel" + +#: ../src/seahorse-pgp-generate.glade.h:10 +#: ../src/seahorse-ssh-generate.glade.h:10 +msgid "Key _Strength (bits):" +msgstr "Nøkkel_styrke (bitar):" + +#: ../src/seahorse-pgp-generate.glade.h:11 +msgid "Ne_ver Expires" +msgstr "Utløper _aldri" + +#: ../src/seahorse-pgp-generate.glade.h:12 +msgid "New PGP Key" +msgstr "Ny PGP-nøkkel" + +#: ../src/seahorse-pgp-generate.glade.h:13 +msgid "_Comment:" +msgstr "_Kommentar:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:1 +msgid "Actions" +msgstr "Handlingar" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:2 +#: ../src/seahorse-pgp-public-key-properties.glade.h:1 +msgid "Comment:" +msgstr "Kommentar:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:3 +msgid "Dates" +msgstr "Datoar" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:4 +#: ../src/seahorse-pgp-public-key-properties.glade.h:3 +msgid "Email:" +msgstr "E-postadresse:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:5 +msgid "Fingerprint" +msgstr "Fingeravtrykk:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:6 +#: ../src/seahorse-pgp-public-key-properties.glade.h:6 +msgid "Key ID:" +msgstr "Nøkkel-ID:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:7 +msgid "Key Names and Signatures" +msgstr "Nøkkelnamn og signaturar" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:8 +#: ../src/seahorse-pgp-public-key-properties.glade.h:7 +#: ../src/seahorse-ssh-key-properties.glade.h:7 +msgid "Name:" +msgstr "Namn:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:9 +#: ../src/seahorse-pgp-public-key-properties.glade.h:8 +msgid "Photo " +msgstr "Bilete " + +#: ../src/seahorse-pgp-private-key-properties.glade.h:10 +msgid "Technical Details" +msgstr "Tekniske detaljar" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:11 +#: ../src/seahorse-pgp-public-key-properties.glade.h:10 +msgid "This key has been revoked" +msgstr "Denne nøkkelen har blitt tilbakekalt" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:12 +#: ../src/seahorse-pgp-public-key-properties.glade.h:11 +msgid "This key has expired" +msgstr "Denne nøkkelen har utgått" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:13 +#: ../src/seahorse-pgp-public-key-properties.glade.h:12 +#: ../src/seahorse-ssh-key-properties.glade.h:11 +msgid "Type:" +msgstr "Type:" + +#. To translators: This is the noun not the verb. +#: ../src/seahorse-pgp-private-key-properties.glade.h:15 +#: ../src/seahorse-pgp-public-key-properties.glade.h:14 +#: ../src/seahorse-ssh-key-properties.glade.h:13 +msgid "Use:" +msgstr "Bruk:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:16 +#: ../src/seahorse-pgp-public-key-properties.glade.h:18 +msgid "_Subkeys" +msgstr "Un_dernøklar" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:17 +msgid "Add" +msgstr "Legg til" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:18 +msgid "Add a photo to this key" +msgstr "Legg til eit bilete for denne nøkkelen" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:19 +#: ../src/seahorse-ssh-key-properties.glade.h:16 +msgid "Change _Passphrase" +msgstr "Endra _passordfrase" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:20 +#: ../src/seahorse-pgp-public-key-properties.glade.h:19 +msgid "Created:" +msgstr "Oppretta:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:21 +msgid "Decrypt files and email sent to you." +msgstr "Dekrypter filer og e-postar sendt til deg." + +#: ../src/seahorse-pgp-private-key-properties.glade.h:22 +msgid "Delete" +msgstr "Slett" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:24 +msgid "Expire" +msgstr "Utgått" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:25 +#: ../src/seahorse-pgp-public-key-properties.glade.h:22 +msgid "Expires:" +msgstr "Utgår:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:26 +msgid "Export" +msgstr "Eksporter" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:27 +msgid "Go to next photo" +msgstr "Gå til neste bilete" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:28 +msgid "Go to previous photo" +msgstr "Gå til førre bilete" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:29 +#: ../src/seahorse-pgp-public-key-properties.glade.h:28 +msgid "Key ID:" +msgstr "Nøkkel-ID:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:31 +msgid "Make this photo the primary photo" +msgstr "Bruk dette som hovudbilete" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:32 +msgid "Names and Signatures" +msgstr "Namn og signaturar" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:33 +msgid "Override Owner _Trust:" +msgstr "Overstyr _tillit til eig:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:34 +#: ../src/seahorse-pgp-public-key-properties.glade.h:30 +msgid "Owner" +msgstr "Eig" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:35 +msgid "Primary" +msgstr "Primær" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:37 +msgid "Remove this photo from this key" +msgstr "Fjern dette bilete frå denne nøkkelen" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:38 +msgid "Revoke" +msgstr "Trekk tilbake" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:40 +#: ../src/seahorse-pgp-public-key-properties.glade.h:32 +msgid "Strength:" +msgstr "Styrke:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:41 +#: ../src/seahorse-pgp-public-key-properties.glade.h:33 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Eigaren av denne nøkkelen har trukket tilbake nøkkelen. Den kan ikkje lenger verta brukt." + +#: ../src/seahorse-pgp-private-key-properties.glade.h:43 +msgid "" +"Unknown\n" +"Never\n" +"Marginal\n" +"Full\n" +"Ultimate" +msgstr "" +"Ukjend\n" +"Aldri\n" +"Marginal\n" +"Full\n" +"Ultimat" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:48 +msgid "_Add Name" +msgstr "_Legg til namn" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:49 +msgid "_Export Complete Key:" +msgstr "_Eksporter heile nøkkelen:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:2 +msgid "Dates:" +msgstr "Datoar:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:4 +#: ../src/seahorse-ssh-key-properties.glade.h:4 +msgid "Fingerprint:" +msgstr "Fingeravtrykk:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:5 +msgid "Indicate Trust:" +msgstr "Syn tillit:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:15 +msgid "Your trust of this key" +msgstr "Din tillit til denne nøkkelen" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:16 +msgid "_Other Names:" +msgstr "_Andre namn:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:17 +msgid "_People who have signed this key:" +msgstr "_Personar som har signert denne nøkkelen:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:21 +msgid "Encrypt files and email to the key's owner " +msgstr "Krypter filer og e-postar til eigaren av nøkkelen " + +#: ../src/seahorse-pgp-public-key-properties.glade.h:24 +#, no-c-format +msgid "I have checked that this key belongs to '%s'" +msgstr "Eg har kontrollert at denne nøkkelen tilhører «%s»" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:26 +#, no-c-format +msgid "I trust signatures from '%s' on other keys " +msgstr "Eg stoler på signaturar frå «%s» på andre nøklar" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:27 +msgid "If you no longer trust this person's identity, revoke your signature:" +msgstr "Viss du ikkje lenger stoler på denne personens identitet, trekk tilbake signaturen din:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:34 +msgid "To indicate your trust of this key to others, sign this key:" +msgstr "" +"For å syne din tillit av denne nøkkelen til andre, signer denne " +"nøkkelen:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:37 +msgid "" +"Unknown\n" +"Never\n" +"Marginally\n" +"Fully\n" +"Ultimately" +msgstr "" +"Ukjend\n" +"Aldri\n" +"Marginalt\n" +"Fullt\n" +"Ultimat" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:42 +msgid "You _Trust the Owner:" +msgstr "Du s_toler på eigaren:" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:43 +msgid "Your trust is manually specified on the Details tab." +msgstr "Din tillit er manuelt spesifisert på detalj-fana." + +#: ../src/seahorse-pgp-public-key-properties.glade.h:44 +msgid "_Only display the signatures of people I trust" +msgstr "_Berre syn signaturar til personar eg stoler på" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:45 +msgid "_Revoke Signature" +msgstr "_Tilbakekall signatur" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:46 +msgid "_Sign this Key" +msgstr "_Signer denne nøkkelen" + +#: ../src/seahorse-pgp-signature.desktop.in.in.h:1 +msgid "Verify Signature" +msgstr "Bekreft signatur" + +#: ../src/seahorse-photos.c:70 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"Bilete er for stort\n" +"Anbefalt storleik for eit bilete på nøkkelringa din er %d x %d pikslar." + +#: ../src/seahorse-photos.c:75 +msgid "_Don't Resize" +msgstr "_Ikkje endra storleik" + +#: ../src/seahorse-photos.c:76 +msgid "_Resize" +msgstr "End_re storleik" + +#: ../src/seahorse-photos.c:125 +#, c-format +msgid "This is not a image file, or an unrecognized kind of image file. Try to use a JPEG image." +msgstr "Dette er ikkje ei biletfil, eller så er det eit ukjend biletformat. Prøv å bruk eit JPEG-bilete." + +#: ../src/seahorse-photos.c:221 +msgid "All image files" +msgstr "Alle biletfiler" + +#: ../src/seahorse-photos.c:234 +msgid "All JPEG files" +msgstr "Alle JPEG-filer" + +#: ../src/seahorse-photos.c:258 +msgid "Choose Photo to Add to Key" +msgstr "Vel bilete som skal leggjes til nøkkelen" + +#: ../src/seahorse-photos.c:285 ../src/seahorse-photos.c:289 +msgid "Couldn't add photo" +msgstr "Kunne ikkje leggja til bilete" + +#: ../src/seahorse-photos.c:286 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Fila kunne ikkje verta lasta. Den kan vera i eit ugyldig format" + +#: ../src/seahorse-photos.c:316 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Er du sikker på at du vil fjerna det noverande bilete frå din nøkkel?" + +#: ../src/seahorse-photos.c:329 +msgid "Couldn't delete photo" +msgstr "Kunne ikkje slette bilete" + +#: ../src/seahorse-revoke.c:72 +msgid "Couldn't revoke subkey" +msgstr "Kunne ikkje trekkje tilbake undernøkkel" + +#: ../src/seahorse-revoke.c:99 +#, c-format +msgid "Revoke Subkey %d of %s" +msgstr "Trekk tilbake undernøkkel %d av %s" + +#: ../src/seahorse-revoke.c:101 +#, c-format +msgid "Revoke %s" +msgstr "Trekk tilbake %s" + +#: ../src/seahorse-revoke.c:112 +msgid "No reason" +msgstr "Inga grunn" + +#: ../src/seahorse-revoke.c:113 +msgid "No reason for revoking key" +msgstr "Inga grunn til å tilbakekalle nøkkelen" + +#: ../src/seahorse-revoke.c:119 +msgid "Compromised" +msgstr "Kompromittert" + +#: ../src/seahorse-revoke.c:120 +msgid "Key has been compromised" +msgstr "Nøkkelen er kompromittert" + +#: ../src/seahorse-revoke.c:126 +msgid "Superseded" +msgstr "Utgått" + +#: ../src/seahorse-revoke.c:127 +msgid "Key has been superseded" +msgstr "Nøkkelen er utgått" + +#: ../src/seahorse-revoke.c:133 +msgid "Not Used" +msgstr "Ikkje brukt" + +#: ../src/seahorse-revoke.c:134 +msgid "Key is no longer used" +msgstr "Nøkkelen er ikkje lenger i bruk" + +#: ../src/seahorse-revoke.c:173 +#, c-format +msgid "You are about to add %s as a revoker for %s. This operation cannot be undone! Are you sure you want to continue?" +msgstr "Du er i ferd med å leggja til %s som tilbaketrekkjer for %s. Denne operasjonen kan ikkje angrast!. Er du sikker på at du vil halda fram?" + +#: ../src/seahorse-revoke.c:188 +msgid "Couldn't add revoker" +msgstr "Kunne ikkje leggja til tilbakekaller" + +#: ../src/seahorse-revoke.glade.h:1 +msgid "Optional description of revocation" +msgstr "Alternativ skildring for tilbaketrekking" + +#: ../src/seahorse-revoke.glade.h:2 +msgid "Re_voke" +msgstr "_Trekk tilbake" + +#: ../src/seahorse-revoke.glade.h:3 +msgid "Reason for revoking the key" +msgstr "Grunn til å tilbakekalle nøkkelen" + +#: ../src/seahorse-revoke.glade.h:6 +msgid "_Reason:" +msgstr "Å_rsak:" + +#: ../src/seahorse-sign.c:97 +msgid "Couldn't sign key" +msgstr "Kunne ikkje signere nøkkelen" + +#: ../src/seahorse-sign.c:160 +msgid "You have no personal PGP keys that can be used to indicate your trust of this key." +msgstr "Du har inga personlige PGP-nøklar som kan brukast for å syne din tillit til denne nøkkelen." + +#: ../src/seahorse-sign.glade.h:1 +msgid "How carefully have you checked this key?" +msgstr "Kor nøye har du sjekka denne nøkkelen?" + +#: ../src/seahorse-sign.glade.h:2 +msgid "How others will see this signature:" +msgstr "Korleis andre vil sjå denne signaturen:" + +#: ../src/seahorse-sign.glade.h:3 +msgid "Sign key as:" +msgstr "Signer nøkkel som:" + +#: ../src/seahorse-sign.glade.h:4 +msgid "" +"Casually: means you have done a casual verification that the key\n" +"is owned by the person who claims to own it. For example, you could\n" +"read the key fingerprint to the owner over the phone. " +msgstr "" +"Tilfeldig: betyr at du har gjort ein rask bekreftelse av at nøkkelen\n" +"eies av personen som hevder at dei eig den. Du kan til dømes ha lest\n" +"nøkkelens fingeravtrykk til eigaren over telefonen." + +#: ../src/seahorse-sign.glade.h:7 +msgid "Key Name" +msgstr "Namn på nøkkel" + +#: ../src/seahorse-sign.glade.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who \n" +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "Ikkje i det heile tatt: betyr at du tror denne nøkkelen eies av personen som hevder å eie den, men du har ikkje bekrefta at dette stemmer." + +#: ../src/seahorse-sign.glade.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this\n" +"key is genuine." +msgstr "" +"Meget nøye: Vel dette berre viss du er helt sikker på at denne\n" +"nøkkelen er ekte." + +#: ../src/seahorse-sign.glade.h:12 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Bed å signere syner du at du stoler på at denne nøkkelen tilhører:" + +#: ../src/seahorse-sign.glade.h:13 +msgid "I can _revoke this signature at a later date." +msgstr "Eg kan t_rekkje tilbake denne signaturen seinare." + +#: ../src/seahorse-sign.glade.h:14 +msgid "" +"You could use a hard to forge photo identification (such as a passport) \n" +"to personally check that the name on the key is correct. You should \n" +"have also used email to check that the email address belongs to the\n" +"owner." +msgstr "" +"Du kan bruka fotoidentifikasjon som er vanskeleg å forfalske (t.d. pass) \n" +"for personleg å sjekka at namnet på nøkkelen er korrekt. Du bør òg\n" +"bruka e-post for å sjekka at e-postadressa tilhører\n" +"eigaren." + +#: ../src/seahorse-sign.glade.h:18 +msgid "_Casually" +msgstr "_Tilfeldig" + +#: ../src/seahorse-sign.glade.h:19 +msgid "_Not at all" +msgstr "_Ikkje i det heile tatt" + +#: ../src/seahorse-sign.glade.h:20 +msgid "_Others may not see this signature" +msgstr "_Andre kan moglegens ikkje sjå denne signaturen" + +#: ../src/seahorse-sign.glade.h:22 +msgid "_Signer:" +msgstr "_Signeringspart:" + +#: ../src/seahorse-sign.glade.h:23 +msgid "_Very Carefully" +msgstr "_Meget nøye" + +#: ../src/seahorse-ssh-generate.c:43 +msgid "Couldn't generate Secure Shell key" +msgstr "Kunne ikkje opprette Secure Shell-nøkkel" + +#: ../src/seahorse-ssh-generate.c:149 +msgid "Creating Secure Shell Key" +msgstr "Opprettar Secure Shell-nøkkel" + +#: ../src/seahorse-ssh-generate.glade.h:2 +msgid "" +"Use your email address, and any other reminder\n" +" you need about what this key is for." +msgstr "" +"Bruk e-postadressa di og noko anna som\n" +"minner deg kva denne nøkkelen er for." + +#: ../src/seahorse-ssh-generate.glade.h:4 +msgid "" +"A Secure Shell (SSH) key lets you connect securely to trusted\n" +"computers using SSH, without entering a different password \n" +"for each of them." +msgstr "" +"Ein Secure Shell(SSH)-nøkkel lèt deg kopla deg sikkert til\n" +"pålitelege datamaskiner med SSH, utan å vel eit passord for kvar\n" +"og ein av dei." + +#: ../src/seahorse-ssh-generate.glade.h:8 +msgid "" +"If there is already a computer you want to use this key with, you \n" +"can set up that computer to recognize your key now. " +msgstr "" +"Viss det allereie er ein datamaskin du vil bruka denne nøkkelen på,\n" +"kan du setja opp den datamaskinen til å kjenne att nøkkelen no." + +#: ../src/seahorse-ssh-generate.glade.h:11 +msgid "New Secure Shell Key" +msgstr "Ny Secure Shell-nøkkel" + +#: ../src/seahorse-ssh-generate.glade.h:12 +msgid "_Create and Set Up" +msgstr "_Opprett og set opp" + +#: ../src/seahorse-ssh-generate.glade.h:13 +msgid "_Just Create Key" +msgstr "_Berre opprett nøkkel" + +#: ../src/seahorse-ssh-generate.glade.h:14 +msgid "_Key Description:" +msgstr "Nø_kkelbeskrivelse:" + +#: ../src/seahorse-ssh-key-properties.c:117 +msgid "Couldn't rename key." +msgstr "Kunne ikkje endra namn på nøkkel." + +#: ../src/seahorse-ssh-key-properties.c:157 +msgid "Couldn't change authorization for key." +msgstr "Kunne ikkje endra autorisasjon for nøkkelen." + +#: ../src/seahorse-ssh-key-properties.c:171 +msgid "Couldn't change passhrase for key." +msgstr "Kunne ikkje endra passordfrasen for nøkkelen." + +#: ../src/seahorse-ssh-key-properties.glade.h:1 +msgid "/home/nate/.ssh/blah_rsa" +msgstr "/home/kari/.ssh/blah_rsa" + +#: ../src/seahorse-ssh-key-properties.glade.h:2 +msgid "00:00:00:00:00" +msgstr "00:00:00:00:00" + +#: ../src/seahorse-ssh-key-properties.glade.h:3 +msgid "Algorithm:" +msgstr "Algoritme:" + +#: ../src/seahorse-ssh-key-properties.glade.h:5 +msgid "Identifier:" +msgstr "Identifikator:" + +#: ../src/seahorse-ssh-key-properties.glade.h:6 +msgid "Location:" +msgstr "Stad:" + +#: ../src/seahorse-ssh-key-properties.glade.h:8 +msgid "Strength:" +msgstr "Styrke:" + +#: ../src/seahorse-ssh-key-properties.glade.h:10 +msgid "Trust" +msgstr "Tillit" + +#: ../src/seahorse-ssh-key-properties.glade.h:15 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "Dette gjeld berre «%s»-kontoen" + +#: ../src/seahorse-ssh-key-properties.glade.h:18 +msgid "E_xport Complete Key" +msgstr "E_ksporter heile nøkkelen" + +#: ../src/seahorse-ssh-key-properties.glade.h:22 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "Eigaren av denne nøkkelen er _autorisert til å kopla til denne datamaskinen" + +#: ../src/seahorse-ssh-key-properties.glade.h:23 +msgid "Used to connect to other computers." +msgstr "Brukt til å kopla til andre datamaskiner." + +#: ../src/seahorse-ssh-upload.c:42 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "Kunne ikkje setja opp Secure Shell-nøkkelen på ekstern datamaskin." + +#. Show the progress window if necessary +#: ../src/seahorse-ssh-upload.c:177 +msgid "Configuring Secure Shell Keys..." +msgstr "Setje opp Secure Shell-nøklar ..." + +#: ../src/seahorse-ssh-upload.glade.h:1 +msgid "eg: fileserver.example.com" +msgstr "t.d.: filserver.døme.no" + +#: ../src/seahorse-ssh-upload.glade.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "Set opp datamaskin for SSH-tilkopling" + +#: ../src/seahorse-ssh-upload.glade.h:4 +msgid "" +"To use your Secure Shell key with another computer that\n" +"uses SSH, you must already have a login account on that \n" +"computer." +msgstr "" +"Du må ein påloggingskonto allereie for å bruka din\n" +"nøkkel for sikkert skall på ein annan datamaskin som \n" +"brukar SSH." + +#: ../src/seahorse-ssh-upload.glade.h:7 +msgid "_Computer Name:" +msgstr "Namn på _datamaskin:" + +#: ../src/seahorse-ssh-upload.glade.h:8 +msgid "_Login Name:" +msgstr "På_loggingsnamn:" + +#: ../src/seahorse-ssh-upload.glade.h:9 +msgid "_Set Up" +msgstr "_Set opp" diff --git a/po/oc.po b/po/oc.po new file mode 100644 index 00000000..568c63ef --- /dev/null +++ b/po/oc.po @@ -0,0 +1,2639 @@ +# Translation of oc.po to Occitan +# Occitan translation of seahorse. +# Copyright (C) 2000-2007 Free Software Foundation, Inc. +# This file is distributed under the same license as the seahorse package. +# Yannig Marchegay (Kokoyaya) , 2006-2008 +# Cédric Valmary (totenoc.eu) , 2016. +msgid "" +msgstr "" +"Project-Id-Version: oc\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2016-05-10 16:33+0000\n" +"PO-Revision-Date: 2016-05-08 18:52+0200\n" +"Last-Translator: Cédric Valmary (totenoc.eu) \n" +"Language-Team: Tot En Òc\n" +"Language: oc\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Virtaal 0.7.1\n" +"X-Launchpad-Export-Date: 2015-05-20 17:04+0000\n" +"X-Project-Style: gnome\n" + +#: ../data/seahorse.appdata.xml.in.h:1 +#, fuzzy +#| msgid "Show Seahorse help" +msgid "Seahorse" +msgstr "Aficha l'ajuda de Seahorse" + +#: ../data/seahorse.appdata.xml.in.h:2 ../data/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "Permet de gerir vòstres senhals e vòstras claus de chiframent" + +#: ../data/seahorse.appdata.xml.in.h:3 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" + +#: ../data/seahorse.appdata.xml.in.h:4 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don't have to keep typing it and backup your keys and keyring." +msgstr "" + +#: ../data/seahorse.desktop.in.in.h:1 ../common/catalog.vala:285 +#: ../src/seahorse-key-manager.c:660 +msgid "Passwords and Keys" +msgstr "Senhals e claus" + +#: ../data/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "trossèl:chiframent;seguretat;signatura;ssh;" + +#: ../common/catalog.vala:257 +msgid "Contributions:" +msgstr "Contribucions :" + +#: ../common/catalog.vala:287 +msgid "translator-credits" +msgstr "" +"Yannig Marchegay (Kokoyaya) \n" +"\n" +"Launchpad Contributions:\n" +" Cédric VALMARY (Tot en òc) https://launchpad.net/~cvalmary\n" +" Yannig MARCHEGAY (Kokoyaya) https://launchpad.net/~yannick-marchegay" + +#: ../common/catalog.vala:290 +msgid "Seahorse Project Homepage" +msgstr "Site web del projècte Seahorse" + +#: ../common/catalog.vala:308 +msgid "Cannot delete" +msgstr "Supression impossibla" + +# +#: ../common/catalog.vala:331 ../libseahorse/seahorse-key-manager-store.c:443 +msgid "Couldn't export keys" +msgstr "Impossible d'exportar las claus" + +#: ../common/catalog.vala:342 +msgid "Couldn't export data" +msgstr "Impossible d'exportar las donadas" + +#: ../common/catalog.vala:358 ../libseahorse/seahorse-widget.c:460 +#, c-format +msgid "Could not display help: %s" +msgstr "Impossible de visualizar l'ajuda : %s" + +#. Top menu items +#: ../common/catalog.vala:364 +msgid "_File" +msgstr "_Fichièr" + +#: ../common/catalog.vala:365 +msgid "E_xport..." +msgstr "E_xportar..." + +#: ../common/catalog.vala:366 +msgid "Export to a file" +msgstr "Expòrta dins un fichièr" + +#: ../common/catalog.vala:367 +msgid "_Edit" +msgstr "_Edicion" + +#: ../common/catalog.vala:370 +msgid "Copy to the clipboard" +msgstr "Còpia cap al quichapapièrs" + +#: ../common/catalog.vala:371 ../pkcs11/pkcs11-properties.vala:201 +#: ../src/seahorse-sidebar.c:954 +msgid "_Delete" +msgstr "_Suprimir" + +#: ../common/catalog.vala:372 +msgid "Delete selected items" +msgstr "Suprimir los elements seleccionats" + +#: ../common/catalog.vala:374 +msgid "Show the properties of this item" +msgstr "Aficha las proprietats d'aqueste element" + +#: ../common/catalog.vala:376 +msgid "Show the properties of this keyring" +msgstr "Aficha las proprietats d'aqueste trossèl" + +#: ../common/catalog.vala:377 +msgid "Prefere_nces" +msgstr "Preferé_ncias" + +#: ../common/catalog.vala:378 +msgid "Change preferences for this program" +msgstr "Modifica las preferéncias d'aqueste programa" + +#: ../common/catalog.vala:379 +msgid "_View" +msgstr "_Afichatge" + +#: ../common/catalog.vala:380 +msgid "_Help" +msgstr "_Ajuda" + +#: ../common/catalog.vala:382 +msgid "About this program" +msgstr "A prepaus d'aqueste programa" + +#: ../common/catalog.vala:383 +msgid "_Contents" +msgstr "_Ensenhador" + +#: ../common/catalog.vala:384 +msgid "Show Seahorse help" +msgstr "Aficha l'ajuda de Seahorse" + +#: ../common/exportable.vala:192 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "Exportar" + +#: ../gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Senhals" + +#: ../gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Senhals, informacions d'autentificacion e secrets enregistrats" + +#: ../gkr/gkr-backend.vala:251 +msgid "New password keyring" +msgstr "Novèl trossèl de senhals" + +#: ../gkr/gkr-backend.vala:252 ../gkr/gkr-backend.vala:259 +msgid "Used to store application and network passwords" +msgstr "Utilizat per enregistrar los senhals de las aplicacions e de la ret" + +#: ../gkr/gkr-backend.vala:253 +msgid "New password..." +msgstr "Senhal novèl..." + +#: ../gkr/gkr-backend.vala:254 ../gkr/gkr-backend.vala:261 +msgid "Safely store a password or secret." +msgstr "" +"Enregistra d'un biais securizat un senhal o un element confidencial mai." + +#: ../gkr/gkr-backend.vala:258 +msgid "Password Keyring" +msgstr "Trossèl de senhals" + +#: ../gkr/gkr-backend.vala:260 +msgid "Stored Password" +msgstr "Senhal enregistrat" + +#: ../gkr/gkr-item-add.vala:24 +msgid "Add Password" +msgstr "Apondre un senhal" + +#: ../gkr/gkr-item-add.vala:101 +msgid "Couldn't add item" +msgstr "Impossible d'apondre l'element" + +#: ../gkr/gkr-item-properties.vala:136 +msgid "Access a network share or resource" +msgstr "Accedís a un partiment o una ressorsa de ret" + +#: ../gkr/gkr-item-properties.vala:139 +msgid "Access a website" +msgstr "Accedís a un site web" + +#: ../gkr/gkr-item-properties.vala:142 +msgid "Unlocks a PGP key" +msgstr "Desverrolha una clau PGP" + +#: ../gkr/gkr-item-properties.vala:145 +msgid "Unlocks a Secure Shell key" +msgstr "Desverrolha una clau shell securizat" + +#: ../gkr/gkr-item-properties.vala:148 +msgid "Saved password or login" +msgstr "Senhal o identificat enregistrat" + +#: ../gkr/gkr-item-properties.vala:161 +msgid "Network Credentials" +msgstr "Entresenhas d'identificacion de la ret" + +#: ../gkr/gkr-item-properties.vala:166 +msgid "Password" +msgstr "Senhal" + +#: ../gkr/gkr-item-properties.vala:235 +msgid "Couldn't change password." +msgstr "Impossible de modificar lo senhal." + +#: ../gkr/gkr-item-properties.vala:273 +msgid "Couldn't set description." +msgstr "Impossible de definir la descripcion." + +#. Translators: This should be the same as the string in empathy +#: ../gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "Senhal del compte de messatjariá instantanèa per " + +#: ../gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "Senhal o secret" + +#: ../gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "Senhal de ret" + +#: ../gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "Nòta enregistrada" + +#: ../gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "Senhal del trossèl" + +#: ../gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "Senhal de clau de chiframent" + +#: ../gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "Senhal d'enregistrament de clau" + +#: ../gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "Senhal Google Chrome" + +#: ../gkr/gkr-item.vala:451 +msgid "Gnome Online Accounts password" +msgstr "Senhal Gnome Online Accounts" + +#: ../gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "Senhal Telepathy" + +#: ../gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "Senhal de messatjariá instantanèa" + +#: ../gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "Secret del gestionari de ret" + +#: ../gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "Sètz segur que volètz suprimir lo senhal « %s » ?" + +#: ../gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Sètz segur que volètz suprimir %d senhal ?" +msgstr[1] "Sètz segur que volètz suprimir %d senhals ?" + +#: ../gkr/gkr-keyring-add.vala:25 +msgid "Add Password Keyring" +msgstr "Apondre un trossèl de senhals" + +#: ../gkr/gkr-keyring-add.vala:55 +msgid "Couldn't add keyring" +msgstr "Impossible d'apondre un trossèl" + +#: ../gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "Un trossèl qu'es automaticament desverrolhat a la connexion" + +#: ../gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "Un trossèl utilizat per emmagazinar los senhals" + +#: ../gkr/gkr-keyring.vala:174 +msgid "Couldn't set default keyring" +msgstr "Impossible de definir lo trossèl per defaut" + +#: ../gkr/gkr-keyring.vala:198 ../gkr/gkr-keyring.vala:203 +msgid "Couldn't change keyring password" +msgstr "Impossible de modificar lo senhal del trossèl" + +#: ../gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "_Per defaut" + +#: ../gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "" +"Las aplicacions enregistran normalament los senhals novèls dins lo trossèl " +"per defaut." + +#: ../gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "Modificar lo _senhal" + +#: ../gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "" +"Modifica lo senhal de desverrolhatge del trossèl que conten los senhals" + +#: ../gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "Sètz segur que volètz suprimir lo trossèl de senhals « %s » ?" + +#: ../gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "Copmpreni que totes los elements seràn suprimits definitivament." + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Causissètz un nom pel trossèl novèl. Un senhal de desverrolhatge vos serà " +"demandat puèi." + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "Nom del trossèl novèl :" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "_Descripcion :" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +msgid "_Password:" +msgstr "Sen_hal :" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Show Password" +msgstr "Afichar lo _senhal" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Keyring:" +msgstr "_Trossèl" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "Utilitat :" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "Tipe :" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Server:" +msgstr "Servidor :" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Login:" +msgstr "Nom d'utilizaire :" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Show pass_word" +msgstr "Afichar lo _senhal" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../libseahorse/seahorse-passphrase.c:179 ../ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Senhal :" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 ../pgp/seahorse-pgp-subkey.c:402 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "Clau" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "Detalhs tecnics :" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "Detalhs" + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Name:" +msgstr "Nom :" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "Creat lo :" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring" +msgstr "Trossèl" + +#: ../libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Afichar los indicadors" + +#: ../libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Las proprietats de data e d'ora afichadas" + +#: ../libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Mòde paressós" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "Lo móde paressós normaliza pas las valors de data e d'ora picadas" + +#: ../libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Annada" + +#: ../libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Annada afichada" + +#: ../libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mes" + +#: ../libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Mes afichat" + +#: ../libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Jorn" + +#: ../libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Jorn del mes afichat" + +#: ../libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Ora" + +#: ../libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Ora afichada" + +#: ../libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minuta" + +#: ../libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Minuta afichada" + +#: ../libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Segonda" + +#: ../libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Segonda afichada" + +#: ../libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Annada del limit inferior" + +#: ../libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "La partida annada de la data limita inferiora" + +#: ../libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Annada del limit superior" + +#: ../libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "La partida annada de la data limita superiora" + +#: ../libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Mes del limit inferior" + +#: ../libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "La partida mes de la data limita inferiora" + +#: ../libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Mes del limit superior" + +#: ../libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "La partida mes de la data limita superiora" + +#: ../libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Jorn del limit inferior" + +#: ../libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "La partida jorn de la data limita inferiora" + +#: ../libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Jorn del limit superior" + +#: ../libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "La partida jorn del mes de la data limita superiora" + +#: ../libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Ora del limit inferior" + +#: ../libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "La partida ora de l'ora limita inferiora" + +#: ../libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Ora del limit superior" + +#: ../libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "La partida ora de l'ora limita superiora" + +#: ../libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Minuta del limit superior" + +#: ../libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "La minuta ora de l'ora limita inferiora" + +#: ../libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Minuta del limit inferior" + +#: ../libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "La partida minuta de l'ora limita superiora" + +#: ../libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Segonda del limit inferior" + +#: ../libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "La partida segonda de l'ora limita inferiora" + +#: ../libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Segonda del limit superior" + +#: ../libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "La partida segonda de l'ora limita superiora" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: ../libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Data" + +#: ../libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Picatz dirèctament la data" + +#: ../libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Seleccionatz una data" + +#: ../libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Seleccionar la data dins un calendièr" + +#: ../libegg/egg-datetime.c:520 ../libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "Ora" + +#: ../libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Picatz dirèctament l'ora" + +#: ../libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Seleccionar una ora" + +#: ../libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Causissètz l'ora dins una lista" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: ../libegg/egg-datetime.c:796 ../libegg/egg-datetime.c:1259 +#: ../libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "Matin" + +#: ../libegg/egg-datetime.c:798 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "Aprèp-dinnar" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "element temporari inicial" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "Apondre un servidor de claus" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "Tipe de servidor de claus :" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "Òste :" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "Lo nom de l'òste o l'adreça del servidor." + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "Lo pòrt sul qual òm pòt accedir al servidor." + +#: ../libseahorse/seahorse-application.c:108 +msgid "Version of this application" +msgstr "Version d'aquesta aplicacion" + +#: ../libseahorse/seahorse-application.c:114 +#: ../libseahorse/seahorse-application.c:158 +msgid "- System Settings" +msgstr "- Paramètres del sistèma" + +#: ../libseahorse/seahorse-application.c:154 +msgid "Don't display a window" +msgstr "Afichar pas cap de fenèstra" + +#: ../libseahorse/seahorse-interaction.c:98 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Picatz lo còdi PIN o lo senhal per : %s" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:241 +msgid "Confirm:" +msgstr "Confirmacion :" + +#: ../libseahorse/seahorse-prefs.c:65 +msgid "Not a valid Key Server address." +msgstr "Adreça de servidor de claus invalida." + +#: ../libseahorse/seahorse-prefs.c:66 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:179 +msgid "URL" +msgstr "Adreça Internet" + +#: ../libseahorse/seahorse-prefs.c:349 +msgid "Custom" +msgstr "Personalizar" + +#: ../libseahorse/seahorse-prefs.c:402 +msgid "None: Don't publish keys" +msgstr "Pas cap : publicar pas las claus" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "Preferéncias" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "_Trobar de claus amb :" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "_Publicar de claus dins :" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "Recuperar automaticament las _claus dempuèi los servidors de claus" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" +"Sincronizar automaticament las claus _modificadas amb los servidors de claus" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "Servidors de claus" + +#: ../libseahorse/seahorse-search-provider.c:186 +msgid "The search provider is not loaded yet" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:38 +#: ../pgp/seahorse-pgp-key-properties.c:1251 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "Desconeguda" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1257 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "Pas jamai" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "Marginala" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "Plena" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Ultima" + +#: ../libseahorse/seahorse-validity.c:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Desactivada" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Revocada" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "E_xpira pas jamai" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "Se la clau a pas una durada de vida limitada" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "_Tipe de la clau :" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "_Longor de la clau :" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "Data d'expiracion :" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "Longor de la clau" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "Generar una sosclau novèla" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "Apondre un identificant utilizaire" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "Deu èsser long d'al mens 5 caractèrs" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "Adreça electronica opcionala" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "Comentari opcional que descriu la clau" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "_Nom complet :" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "Adreça _electronica :" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "Co_mentari :" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "Crear lo novèl identificant d'utilizaire" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "Ex_pira pas jamai" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "Revocar la clau" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "Ca_mbiar" + +#: ../pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn't add subkey" +msgstr "Impossible d'apondre una sosclau" + +#: ../pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "Apondre una sosclau a %s" + +#: ../pgp/seahorse-gpgme-add-subkey.c:196 ../pgp/seahorse-gpgme-generate.c:132 +msgid "DSA (sign only)" +msgstr "DSA (signatura sola)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (chiframent sol)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:210 ../pgp/seahorse-gpgme-generate.c:133 +msgid "RSA (sign only)" +msgstr "RSA (signatura sola)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (chiframent sol)" + +#: ../pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn't add user id" +msgstr "Impossible d'apondre l'identificant d'utilizaire" + +#: ../pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "Apondre un identificant d'utilizaire a %s" + +#: ../pgp/seahorse-gpgme.c:71 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"Lo deschiframent a fracassat. Dispausatz probablament pas de la clau de " +"deschiframent." + +#: ../pgp/seahorse-gpgme.c:75 ../pgp/seahorse-hkp-source.c:548 +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The operation was cancelled" +msgstr "L'operacion es estada anullada" + +#: ../pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "Data d'expiracion invalida" + +#: ../pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "La data d'expiracion deu èsser dins lo futur" + +#: ../pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn't change expiry date" +msgstr "Impossible de modificar la data d'expiracion" + +#: ../pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "Expiracion : %s" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "Claus multiplas" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "Donadas de la clau" + +#: ../pgp/seahorse-gpgme-exporter.c:116 +msgid "Armored PGP keys" +msgstr "Claus blindadas PGP" + +#: ../pgp/seahorse-gpgme-exporter.c:120 +msgid "PGP keys" +msgstr "Claus PGP" + +#: ../pgp/seahorse-gpgme-generate.c:93 +msgid "PGP Key" +msgstr "Clau PGP" + +#: ../pgp/seahorse-gpgme-generate.c:94 +msgid "Used to encrypt email and files" +msgstr "Utilizada per chifrar los corrièrs electronics e los fichièrs" + +#: ../pgp/seahorse-gpgme-generate.c:130 ../pkcs11/seahorse-pkcs11-generate.c:90 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:131 +msgid "DSA ElGamal" +msgstr "DSA e ElGamal" + +#: ../pgp/seahorse-gpgme-generate.c:180 +msgid "Couldn't generate PGP key" +msgstr "Impossible de generar la clau PGP" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "Frasa screta per la novèla clau PGP" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "Picatz dos còps la frasa secreta per vòstra clau novèla." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It's a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Al moment de la creacion d'una clau, es necessari de generar\n" +"fòrça donadas aleatòrias e per aquò avèm besonh\n" +"de vòstra ajuda. Es bon d'efectuar d'autras activitats\n" +"coma picar amb lo clavièr, desplaçar la mirga e utilizar d'\n" +"aplicacions. Aquò provesís al sistèma las donadas aleatòrias\n" +"que n'a besonh." + +#: ../pgp/seahorse-gpgme-generate.c:231 +#: ../pkcs11/seahorse-pkcs11-generate.c:458 +msgid "Generating key" +msgstr "Generacion de clau" + +#: ../pgp/seahorse-gpgme-key-deleter.c:77 +#: ../pgp/seahorse-gpgme-secret-deleter.c:76 ../pkcs11/pkcs11-deleter.vala:35 +#: ../pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Sètz segur que volètz suprimir per totjorn %s ?" + +#: ../pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Sètz segur que volètz suprimir definitivament %d clau ?" +msgstr[1] "Sètz segur que volètz suprimir definitivament %d claus ?" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "Wrong password" +msgstr "Marrit senhal" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Es lo tresen còp que picatz un senhal incorrècte. Ensajatz tornamai." + +#: ../pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "Frasa secreta incorrècta." + +#: ../pgp/seahorse-gpgme-keyring.c:93 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "Picatz la novèla frasa secreta per « %s »" + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "Picatz la frasa secreta per « %s »" + +#: ../pgp/seahorse-gpgme-keyring.c:98 ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "Picatz la novèla frasa secreta" + +#: ../pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "Picatz la frasa secreta" + +#: ../pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "Frasa secreta" + +#: ../pgp/seahorse-gpgme-keyring.c:306 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d clau cargada" +msgstr[1] "%d claus cargadas" + +#: ../pgp/seahorse-gpgme-keyring.c:653 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Donadas de clau invalidas (UID mancant). Aquò pòt provenir d'una data d'un " +"ordenador configurada dins lo futur o d'una autosignatura mancanta." + +#: ../pgp/seahorse-gpgme-keyring.c:806 +msgid "GnuPG keys" +msgstr "Claus GnuPG" + +#: ../pgp/seahorse-gpgme-keyring.c:812 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG : repertòri per defaut del trossèl" + +#: ../pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"La fòto es tròp granda\n" +"La talha recomandada per una fòto sus una clau es de %d x %d pixèls." + +#: ../pgp/seahorse-gpgme-photos.c:77 +msgid "_Don't Resize" +msgstr "Redimensionar _pas" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Redimensionar" + +#: ../pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Es pas un fichièr imatge o lo format es pas reconegut. Ensajatz d'utilizar " +"un imatge JPEG." + +#: ../pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Totes los fichièrs imatges" + +#: ../pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Totes los fichièrs JPEG" + +#: ../pgp/seahorse-gpgme-photos.c:241 ../src/seahorse-key-manager.c:288 +msgid "All files" +msgstr "Totes los fichièrs" + +#: ../pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Causissètz una fòto de jónher a la clau" + +#: ../pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn't prepare photo" +msgstr "Impossible de preparar la fòto" + +#: ../pgp/seahorse-gpgme-photos.c:294 ../pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn't add photo" +msgstr "Impossible d'apondre una fotografia" + +#: ../pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" +"Lo fichièr a pas pogut èsser cargat. Es possible que son format siá pas " +"valid." + +#: ../pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Sètz segur que volètz suprimir la fòto actuala de vòstra clau ?" + +#: ../pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn't delete photo" +msgstr "Impossible de suprimir la fòto" + +#: ../pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn't revoke subkey" +msgstr "Impossible de revocar la sosclau" + +#: ../pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "Revocacion : %s" + +#: ../pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "Pas cap de rason" + +#: ../pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "Pas cap de rason per revocar la clau" + +#: ../pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "Compromesa" + +#: ../pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "La clau es estada compromesa" + +#: ../pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "Remplaçada" + +#: ../pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "La clau es estada remplaçada" + +#: ../pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "Pas utilizat" + +#: ../pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "La clau es pas pus utilizada" + +#: ../pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Sètz a mand d'apondre %s coma revocador per %s. Aquesta operacion pòt èsser " +"anullada. Sètz segur que volètz contunhar ?" + +#: ../pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn't add revoker" +msgstr "Impossible d'apondre un revocador" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:82 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Compreni qu'aquesta clau secreta serà suprimida definitivament." + +#: ../pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" +"Aquesta clau es estada signada ja per\n" +"« %s »" + +#: ../pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn't sign key" +msgstr "Impossible de signar la clau" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:163 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "Cap de clau pas utilizabla per la signatura" + +#: ../pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Dispausatz pas de cap de clau PGP personala que permet d'indicar vòstra " +"fisança dins aquela clau." + +#: ../pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Desconeguda" + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:566 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" +"La requèsta èra pas pro especifica. Lo servidor « %s » a trobat tròp de " +"claus." + +#: ../pgp/seahorse-hkp-source.c:569 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "Impossible de comunicar amb lo servidor « %s » : %s" + +#: ../pgp/seahorse-hkp-source.c:1079 +msgid "HTTP Key Server" +msgstr "Servidor de claus HTTP" + +#: ../pgp/seahorse-keyserver-results.c:168 +msgid "Couldn't import keys" +msgstr "Impossible d'importar de claus" + +#: ../pgp/seahorse-keyserver-results.c:211 +msgid "Importing keys from key servers" +msgstr "Importar de claus dempuèi los servidors de claus" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:237 ../src/seahorse-key-manager.c:501 +msgid "_Remote" +msgstr "_Distant" + +#: ../pgp/seahorse-keyserver-results.c:239 +msgid "Close this window" +msgstr "Tampar aquesta fenèstra" + +#: ../pgp/seahorse-keyserver-results.c:243 ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys..." +msgstr "_Cercar de claus distantas..." + +#: ../pgp/seahorse-keyserver-results.c:244 ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "Cèrca de claus sus un servidor de claus" + +#: ../pgp/seahorse-keyserver-results.c:248 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "_Importar" + +#: ../pgp/seahorse-keyserver-results.c:249 +msgid "Import selected keys to local key ring" +msgstr "Importar las claus seleccionadas dins lo trossèl local" + +#: ../pgp/seahorse-keyserver-results.c:280 +msgid "Remote Keys" +msgstr "Claus distantas" + +#: ../pgp/seahorse-keyserver-results.c:282 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "Claus distantas que contenon « %s »" + +#: ../pgp/seahorse-keyserver-results.c:485 +msgid "The search for keys failed." +msgstr "La recèrca de claus a fracassat." + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "Cercar de claus distantas" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Aquò cercarà las claus d'autras personas sus Internet. Aquelas claus pòdon " +"èsser importadas dins vòstre trossèl de claus local." + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "C_ercar de las claus que contenon : " + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "Servidors de claus :" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "Claus partejadas dins lo vesinatge :" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "Emplaçaments de recèrca :" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "_Recercar" + +#: ../pgp/seahorse-keyserver-sync.c:56 +msgid "Couldn't publish keys to server" +msgstr "Impossible de publicar las claus cap al servidor" + +#: ../pgp/seahorse-keyserver-sync.c:75 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "Impossible de recuperar las claus dempuèi lo servidor : %s" + +#: ../pgp/seahorse-keyserver-sync.c:159 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d clau es seleccionada per sincronizacion" +msgstr[1] "%d claus son seleccionadas per sincronizacion" + +#: ../pgp/seahorse-keyserver-sync.c:239 +msgid "Synchronizing keys..." +msgstr "Sincronizacion de las claus..." + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "Sincronizar las claus" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"Aquò publicarà las claus de vòstre trossèl per tal que sián disponiblas pels " +"autres. Obtendretz tanben totas las modificacions que d'autres an faitas " +"dempuèi qu'avètz recebut lors claus." + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Aquò recuperarà totas las modificacions que d'autres an faitas dempuèi " +"qu'avètz recebut lors claus. Cap de servidor de claus es pas estat causit " +"per publicar, doncas, vòstras claus seràn pas mesas a disposicion dels " +"autres." + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "Servidors de _claus" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "_Sincronizar" + +#: ../pgp/seahorse-ldap-source.c:436 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "Impossible de comunicar amb « %s » : %s" + +#: ../pgp/seahorse-ldap-source.c:646 +#, c-format +msgid "Connecting to: %s" +msgstr "Connexion a : %s" + +#: ../pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "Impossible de resòlvre l'adreça : %s" + +#: ../pgp/seahorse-ldap-source.c:696 +#, c-format +msgid "Resolving server address: %s" +msgstr "Resolucion de l'adreça del servidor : %s" + +#: ../pgp/seahorse-ldap-source.c:1431 +msgid "LDAP Key Server" +msgstr "Servidor de claus LDAP" + +#: ../pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys..." +msgstr "_Sincronizar e publicar de claus..." + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "Publica o sincroniza vòstras claus amb las que son en linha." + +#: ../pgp/seahorse-pgp-backend.c:193 +msgid "PGP Keys" +msgstr "Claus PGP" + +#: ../pgp/seahorse-pgp-backend.c:199 +msgid "PGP keys are for encrypting email or files" +msgstr "Las claus PGP servisson al chiframent dels corrièls o dels fichièrs" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "C_rear" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "Generar una clau novèla" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Una clau PGP vos permet de chifrar de corrièrs electronics o de fichièrs de " +"destinacion de personas mai." + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Ne_ver Expires" +msgstr "Expira pas _jamai" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "_Comment:" +msgstr "_Comentari :" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "_Tipe de chiframent" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "_Fòrça de la clau (bits) :" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "Data d'e_xpiracion :" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "Opcions _avançadas de clau" + +#: ../pgp/seahorse-pgp-key.c:351 +msgid "Personal PGP key" +msgstr "Clau PGP personala" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "PGP key" +msgstr "Clau PGP" + +#: ../pgp/seahorse-pgp-key-properties.c:317 +msgid "Couldn't change primary user ID" +msgstr "Impossible de modificar l'identificant d'utilizaire primari" + +#: ../pgp/seahorse-pgp-key-properties.c:336 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "" +"Sètz segur que volètz suprimir definitivament l'identificant d'utilizaire " +"%s ?" + +#: ../pgp/seahorse-pgp-key-properties.c:346 +msgid "Couldn't delete user ID" +msgstr "Impossible de suprimir l'identificant d'utilizaire" + +#: ../pgp/seahorse-pgp-key-properties.c:421 +#: ../pgp/seahorse-pgp-key-properties.c:1576 +msgid "[Unknown]" +msgstr "[Desconegut]" + +#: ../pgp/seahorse-pgp-key-properties.c:530 +#: ../pgp/seahorse-pgp-key-properties.c:1859 +msgid "Name/Email" +msgstr "Nom/adreça electronica" + +#: ../pgp/seahorse-pgp-key-properties.c:537 +msgid "Signature ID" +msgstr "Identificant de signatura" + +#: ../pgp/seahorse-pgp-key-properties.c:670 +msgid "Couldn't change primary photo" +msgstr "Impossible de modificar la fòto principala" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:904 +msgid "(unknown)" +msgstr "(desconegut)" + +#: ../pgp/seahorse-pgp-key-properties.c:907 +#, c-format +msgid "This key expired on: %s" +msgstr "Aquesta clau a expirat lo : %s" + +#: ../pgp/seahorse-pgp-key-properties.c:970 +msgid "Name" +msgstr "Nom" + +#: ../pgp/seahorse-pgp-key-properties.c:1085 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Sètz segur que volètz suprimir definitivament la sosclau %d de %s ?" + +#: ../pgp/seahorse-pgp-key-properties.c:1094 +msgid "Couldn't delete subkey" +msgstr "Impossible de suprimir la sosclau" + +#: ../pgp/seahorse-pgp-key-properties.c:1134 +#: ../pgp/seahorse-pgp-key-properties.c:1550 +msgid "Unable to change trust" +msgstr "Impossible de modificar la fisança" + +#: ../pgp/seahorse-pgp-key-properties.c:1148 +#: ../ssh/seahorse-ssh-key-properties.c:205 +msgid "Couldn't export key" +msgstr "Impossible d'exportar la clau" + +#: ../pgp/seahorse-pgp-key-properties.c:1264 +msgid "Marginal" +msgstr "Marginala" + +#: ../pgp/seahorse-pgp-key-properties.c:1270 +msgid "Full" +msgstr "Plena" + +#: ../pgp/seahorse-pgp-key-properties.c:1276 +msgid "Ultimate" +msgstr "Absoluda" + +#: ../pgp/seahorse-pgp-key-properties.c:1382 +#: ../pgp/seahorse-pgp-key-properties.c:1475 +msgctxt "Expires" +msgid "Never" +msgstr "Pas jamai" + +#: ../pgp/seahorse-pgp-key-properties.c:1429 +msgid "ID" +msgstr "Identificant" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "Type" +msgstr "Tipe" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Usage" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "Creada" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "Expira" + +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "Estat" + +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "Fòrça" + +#: ../pgp/seahorse-pgp-key-properties.c:1466 +msgid "Revoked" +msgstr "Revocada" + +#: ../pgp/seahorse-pgp-key-properties.c:1468 +msgid "Expired" +msgstr "Expirada" + +#: ../pgp/seahorse-pgp-key-properties.c:1470 +msgid "Disabled" +msgstr "Desactivat" + +#: ../pgp/seahorse-pgp-key-properties.c:1472 +msgid "Good" +msgstr "Bona" + +#: ../pgp/seahorse-pgp-key-properties.c:1862 +msgid "Key ID" +msgstr "Identificant de la clau" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "Proprietats de la tòca" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "La clau es estada revocada" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Lo proprietari de la clau l'a revocada. Pòt pas pus èsser utilizada." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "Aquesta clau a expirat" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "Apondre una fotografia a aquesta clau" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "Levar aquesta fòto d'aquesta clau" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "Far d'aquesta fòto la principala" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "Anar a la fotografia precedenta" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "Anar a la fotografia seguenta" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "Fòto " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "Identificant de la clau :" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "Nom :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "Adreça electronica :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "Comentari :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "Deschifra de fichièrs e corrièrs electronics qu'avètz recebuts." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "Clau PGP privada" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "Cambiar la _frasa secreta" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "Proprietari" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "Noms e signaturas de la clau" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "Principala" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "Signar" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "Levar" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "_Apondre un nom" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "Revocar" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "Noms e signaturas" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "Fòrça :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "Detalhs tecnics" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "Emprenta" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "Expira lo :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "Datas" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "Remplaçar la _fisança del proprietari :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Secret Key:" +msgstr "E_xportar la clau secreta :" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "Actions" +msgstr "Accions" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "Apondon" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "Expiracion" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "_Sosclaus" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "Marginala" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "Completa" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Ultima" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key's owner" +msgstr "Chiframent de fichièrs e de corrièls pel proprietari de la clau" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "Clau PGP publica" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "Autres _noms :" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "Vòstra fisança dins aquesta clau" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "" +"Vòstre gra de fisança es indicat manualament dins l'onglet Detalhs." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "Me fisi de las signaturas de « %s » sus d'autras claus" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" +"Se cresètz que la persona proprietari d'aquesta clau es « %s », signatz aquesta clau :" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "_Signar la clau" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" +"Se cresètz pas pus que « %s » es proprietari d'aquesta clau, revocatz " +"vòstra signatura :" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "_Revocar la signatura" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "_Personas signatàrias d'aquesta clau :" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "Afichar _unicament las signaturas de las personas de fisança" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "Far fisança" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "Emprenta :" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "Datas :" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "Indicacion de fisança :" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "Vòstra _fisança dins lo proprietari :" + +#: ../pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "Chiframent" + +#: ../pgp/seahorse-pgp-subkey.c:293 +msgid "Certify" +msgstr "Certificacion" + +#: ../pgp/seahorse-pgp-subkey.c:294 +msgid "Authenticate" +msgstr "Autentificacion" + +#: ../pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "Sosclau %d de %s" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "Rason per revocar la clau" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "_Rason :" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "Descripcion opcionala de la revocacion" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "Re_vocar" + +#: ../pgp/seahorse-signer.c:62 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Dispausatz pas de cap de clau PGP que permet de signar un document o un " +"messatge." + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "_Signar lo messatge amb la clau :" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "Signar la clau" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"Vòstra signatura atèsta vòstra fisança dins lo fait qu'aquesta clau aparten " +"a :" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "Nom de la clau" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "Amb quina precaucion avètz verificat aquesta clau ?" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "_Pas brica" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "S_uperficialament" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "_Plan seriosament" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Pas brica significa que pensatz que la clau aparten afectivament a la " +"persona que pretend representar, mas que l'avètz pas pogut o pas volgut " +"verificar." + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Superficialament : significa qu'avètz verificat rapidament que la " +"clau aparten plan a la persona que pretend representar. Per exemple, benlèu " +"qu'avètz legit per telefòn l'emprenta de la clau a son proprietari." + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Plan seriosament : causiscatz pas aquesta opcion que se sètz " +"absoludament segur qu'aquesta clau es vertadièra." + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Podètz utilizar un mejan d'identificacion fotografic de mal falsificar (tal " +"coma un passapòrt) per verificar personalament que lo nom apausat sus la " +"clau es corrècte. Tanben, vos caldriá aver emplegat lo corrièl per verificar " +"qu'aparten plan al proprietari de la clau." + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "Cossí los autres veiràn aquesta signatura :" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "Los _autres pòdon pas veire aquesta signatura" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "Pòdi _revocar aquesta signatura a una data ulteriora." + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "Signar la clau coma :" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "Si_gnatari :" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "_Signar" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "Exportacion de donadas" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "Recuperacion de donadas" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "Importacion de donadas" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "Mandadís de las donadas" + +#: ../pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Pas disponible" + +#: ../pkcs11/certificate-der-exporter.vala:43 +#: ../pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certificat" + +#: ../pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certificats (encodatge DER)" + +#: ../pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Clau e certificat personal" + +#: ../pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Certificat personal" + +#: ../pkcs11/seahorse-pkcs11-backend.c:189 +msgid "Certificates" +msgstr "Certificats" + +#: ../pkcs11/seahorse-pkcs11-backend.c:195 +msgid "X.509 certificates and related keys" +msgstr "Certificats X.509 e claus connèxas" + +#: ../pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Sètz segur que volètz suprimir definitivament %d certificat ?" +msgstr[1] "Sètz segur que volètz suprimir definitivament %d certificats ?" + +#: ../pkcs11/seahorse-pkcs11-generate.c:113 +msgid "Couldn't generate private key" +msgstr "Impossible de generar la clau privada" + +#: ../pkcs11/seahorse-pkcs11-generate.c:412 ../pkcs11/pkcs11-request.vala:56 +msgid "Create" +msgstr "Crear" + +#: ../pkcs11/seahorse-pkcs11-generate.c:505 +#: ../pkcs11/pkcs11-private-key.vala:70 +msgid "Private key" +msgstr "Clau privada" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +msgid "Used to request a certificate" +msgstr "Utilizat per far una demanda de certificat" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "Crear una novèla clau privada" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "Labèl :" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "Enregistrat dins :" + +#: ../pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Compreni qu'aquesta clau serà suprimida definitivament." + +#: ../pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "Sens nom" + +#: ../pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "L'exportacion del certificat a fracassat" + +#: ../pkcs11/pkcs11-properties.vala:188 ../src/seahorse-sidebar.c:873 +msgid "Couldn't delete" +msgstr "Supression impossibla" + +#: ../pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "_Exportar" + +#: ../pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "Expòrta lo certificat" + +#: ../pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "Destrusir aqueste certificat o aquesta clau" + +#: ../pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "Demandar lo _certificat" + +#: ../pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "Crear un fichièr de demanda de certificat per aquesta clau" + +#: ../pkcs11/pkcs11-request.vala:87 +msgid "Couldn't create certificate request" +msgstr "Impossible de crear la demanda de certificat" + +#: ../pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Enregistrar la demanda de certificat" + +#: ../pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "Demanda de certificat" + +#: ../pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "Demanda PEM encodada" + +#: ../pkcs11/pkcs11-request.vala:149 +msgid "Couldn't save certificate request" +msgstr "Impossible d'enregistrar la demanda de certificat" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "Crear un fichièr de demanda de certificat." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "Lo nom comun (CN) plaçat dins la demanda de certificat." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "Nom (CN) :" + +#: ../pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Clau privada sens nom" + +#: ../pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Desconeguda" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "Cambiar la frasa secreta" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "Novèla _frasa secreta :" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "Confirmar la novèla frasa secreta" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "Con_firmar la frasa secreta :" + +#: ../src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "Contunhar" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "_Seleccionatz lo tipe d'element de crear :" + +#: ../src/seahorse-import-dialog.c:95 +msgid "Import failed" +msgstr "L'importacion a pas capitat" + +#: ../src/seahorse-import-dialog.c:113 +msgid "Import" +msgstr "Importar" + +#: ../src/seahorse-import-dialog.c:126 +msgid "Data to be imported:" +msgstr "Donadas d'importar :" + +#: ../src/seahorse-key-manager.c:242 ../ssh/seahorse-ssh-operation.c:870 +msgid "Import Key" +msgstr "Importar una clau" + +#: ../src/seahorse-key-manager.c:254 +msgid "All key files" +msgstr "Totes los fichièrs de clau" + +#: ../src/seahorse-key-manager.c:355 +msgid "Dropped text" +msgstr "Tèxte depausat" + +#: ../src/seahorse-key-manager.c:391 +msgid "Clipboard text" +msgstr "Tèxte del quichapapièrs" + +#: ../src/seahorse-key-manager.c:502 +msgid "_New" +msgstr "_Novèl" + +#: ../src/seahorse-key-manager.c:504 +msgid "Close this program" +msgstr "Tampa aqueste programa" + +#: ../src/seahorse-key-manager.c:505 ../src/seahorse-key-manager.c:507 +msgid "_New..." +msgstr "_Novèl..." + +#: ../src/seahorse-key-manager.c:506 +msgid "Create a new key or item" +msgstr "Crear una clau novèla clau o element" + +#: ../src/seahorse-key-manager.c:508 +msgid "Add a new key or item" +msgstr "Apondre una novèla clau o element" + +#: ../src/seahorse-key-manager.c:509 +msgid "_Import..." +msgstr "_Importar..." + +#: ../src/seahorse-key-manager.c:510 +msgid "Import from a file" +msgstr "Importar dempuèi un fichièr" + +#: ../src/seahorse-key-manager.c:512 +msgid "Import from the clipboard" +msgstr "Importar dempuèi lo quichapapièrs" + +#: ../src/seahorse-key-manager.c:516 +msgid "By _Keyring" +msgstr "Per _trossèl" + +#: ../src/seahorse-key-manager.c:517 +msgid "Show sidebar listing keyrings" +msgstr "Afichar la barra laterala que fa veire los trossèls" + +#: ../src/seahorse-key-manager.c:521 +msgid "Show _Personal" +msgstr "Afichar las donadas _personalas" + +#: ../src/seahorse-key-manager.c:522 +msgid "Only show personal keys, certificates and passwords" +msgstr "Afichar pas que las claus, certificats e senhals personals" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show _Trusted" +msgstr "Afichar las donadas de _fisança" + +#: ../src/seahorse-key-manager.c:524 +msgid "Only show trusted keys, certificates and passwords" +msgstr "Mostrar pas que las claus, certificats e senhals de fisança" + +#: ../src/seahorse-key-manager.c:525 +msgid "Show _Any" +msgstr "_Afichar tot" + +#: ../src/seahorse-key-manager.c:526 +msgid "Show all keys, certificates and passwords" +msgstr "Afichar l'ensemble de las claus, certificats e senhals" + +#: ../src/seahorse-key-manager.c:745 +msgid "Filter" +msgstr "Filtrar" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "Opcions de primièra aviada :" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "Generar una clau novèla : " + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "Importar de claus dempuèi un fichièr :" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "Per començar amb lo chiframent, auretz besonh de claus." + +#: ../src/seahorse-sidebar.c:797 +msgid "Couldn't lock" +msgstr "Impossible de verrolhar" + +#: ../src/seahorse-sidebar.c:834 +msgid "Couldn't unlock" +msgstr "Impossible de desverrolhar" + +#: ../src/seahorse-sidebar.c:941 +msgid "_Lock" +msgstr "_Verrolhar" + +#: ../src/seahorse-sidebar.c:946 +msgid "_Unlock" +msgstr "_Desverrolhar" + +#: ../src/seahorse-sidebar.c:965 +msgid "_Properties" +msgstr "_Proprietats" + +#: ../ssh/seahorse-ssh-actions.c:97 +msgid "Configure Key for _Secure Shell..." +msgstr "Configurar la clau per un _shell securizat..." + +#: ../ssh/seahorse-ssh-actions.c:98 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"Manda la clau publica de shell securizat cap a una autra maquina e activa " +"las connexions amb l'ajuda d'aquela clau." + +#: ../ssh/seahorse-ssh-askpass.c:78 ../ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Picatz vòstra frasa secreta del shell securizat :" + +#: ../ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Frasa secreta de la clau anciana" + +#: ../ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Picatz l'anciana frasa secreta per : %s" + +#: ../ssh/seahorse-ssh-askpass.c:105 ../ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Frasa secreta de la clau novèla" + +#: ../ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Picatz la novèla frasa secreta per : %s" + +#: ../ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Picatz encara un còp la frasa secreta novèla per : %s" + +#: ../ssh/seahorse-ssh-backend.c:115 +msgid "Secure Shell" +msgstr "Interpretador de comandas securizat (SSH)" + +#: ../ssh/seahorse-ssh-backend.c:121 +msgid "Keys used to connect securely to other computers" +msgstr "" +"Claus utilizadas per se connectar d'un biais securizat a d'autres ordenadors" + +#: ../ssh/seahorse-ssh-deleter.c:80 ../ssh/seahorse-ssh-deleter.c:85 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "Sètz segur que volètz suprimir la clau de shell securizat « %s » ?" + +#: ../ssh/seahorse-ssh-deleter.c:90 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "Sètz segur que volètz suprimir %d clau de shell securizat ?" +msgstr[1] "Sètz segur que volètz suprimir %d claus de shell securizat ?" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "SSH Key" +msgstr "Clau SSH" + +#: ../ssh/seahorse-ssh-exporter.c:124 +msgid "Secret SSH keys" +msgstr "Clau SSH secreta" + +#: ../ssh/seahorse-ssh-exporter.c:128 +msgid "Public SSH keys" +msgstr "Clau SSH publica" + +#: ../ssh/seahorse-ssh-exporter.c:297 +msgid "No public key file is available for this key." +msgstr "Cap de fichièr de clau publica es pas disponible per aquesta clau." + +#: ../ssh/seahorse-ssh-generate.c:52 ../ssh/seahorse-ssh-key.c:109 +#: ../ssh/seahorse-ssh-key.c:113 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "Clau del shell securizat" + +#: ../ssh/seahorse-ssh-generate.c:53 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "Utilizada per accedir a d'autres ordenadors (ex. via un terminal)" + +#: ../ssh/seahorse-ssh-generate.c:107 ../ssh/seahorse-ssh-generate.c:123 +msgid "Couldn't generate Secure Shell key" +msgstr "Impossible de generar la clau de shell securizat" + +#: ../ssh/seahorse-ssh-generate.c:190 +msgid "Creating Secure Shell Key" +msgstr "Creacion d'una clau de shell securizat" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "Novèla clau de shell securizat" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "Crear _solament" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "_Crear e configurar" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Una clau de shell securizat (SSH) permet de vos connectar d'un biais segur a " +"d'ordenadors mai." + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Vòstra adreça electronica o tot autre indici que permet de vos rapelar e qué " +"servís aquesta clau." + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Se ja sabètz qu'anatz utilizar aquesta clau per un ordenador precís, lo " +"podètz configurar ara per que reconesca aquesta novèla clau." + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "(Unreadable Secure Shell Key)" +msgstr "(clau del shell securizat pas legible)" + +#: ../ssh/seahorse-ssh-key.c:213 +msgid "Personal SSH key" +msgstr "Clau SSH personala" + +#: ../ssh/seahorse-ssh-key.c:215 +msgid "SSH key" +msgstr "Clau SSH" + +#: ../ssh/seahorse-ssh-key-properties.c:79 +msgid "Couldn't rename key." +msgstr "Impossible de tornar nomenar la clau." + +#: ../ssh/seahorse-ssh-key-properties.c:134 +msgid "Couldn't change authorization for key." +msgstr "Impossible de modificar l'autorizacion de la clau." + +#: ../ssh/seahorse-ssh-key-properties.c:171 +msgid "Couldn't change passphrase for key." +msgstr "Impossible de modificar la frasa secreta de la clau." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "Identificant :" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "Nom :" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "Utilizada per se connectar a d'autres ordenadors." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" +"Lo proprietari d'aquesta clau es _autorizat a se connectar a aqueste " +"ordenador" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "Aquò s'aplica pas qu'al compte %s." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "Algoritme :" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "Emplaçament :" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "E_xportar la clau completa" + +#: ../ssh/seahorse-ssh-operation.c:204 +msgid "The SSH command was terminated unexpectedly." +msgstr "La comanda SSH s'es acabada d'un biais inesperat." + +#: ../ssh/seahorse-ssh-operation.c:214 +msgid "The SSH command failed." +msgstr "La comanda SSH a fracassat." + +#: ../ssh/seahorse-ssh-operation.c:523 +msgid "Remote Host Password" +msgstr "Senhal de l'òste distant" + +#: ../ssh/seahorse-ssh-operation.c:610 +msgid "Enter Key Passphrase" +msgstr "Picatz la frasa secreta de la clau" + +#: ../ssh/seahorse-ssh-operation.c:701 +msgid "Passphrase for New Secure Shell Key" +msgstr "Frasa secreta per la novèla clau del shell securizat" + +#: ../ssh/seahorse-ssh-operation.c:887 +#, c-format +msgid "Importing key: %s" +msgstr "Importacion de la clau : %s" + +#: ../ssh/seahorse-ssh-operation.c:889 +msgid "Importing key. Enter passphrase" +msgstr "Importacion de la clau. Picatz la frasa secreta" + +#: ../ssh/seahorse-ssh-source.c:219 +msgid "OpenSSH keys" +msgstr "Claus OpenSSH" + +#: ../ssh/seahorse-ssh-source.c:226 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH : %s" + +#: ../ssh/seahorse-ssh-source.c:974 +msgid "No private key file is available for this key." +msgstr "Cap de fichièr de clau privada es pas disponible per aquesta clau." + +#: ../ssh/seahorse-ssh-upload.c:48 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "" +"Impossible de configurar de claus de shell securizat sus l'ordenador distant." + +#: ../ssh/seahorse-ssh-upload.c:131 +msgid "Configuring Secure Shell Keys..." +msgstr "Configuracion de claus de shell securizat..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "Configurar un ordenador per una connexion SSH" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Per utilizar vòstra clau de shell securizat sus un autre ordenador " +"qu'utiliza SSH, vos cal dispausar d'un compte per vos connectar sus aqueste " +"ordenador." + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "ex : servidor.exemple.com:pòrt" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Server address:" +msgstr "Adreça del _servidor :" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login name:" +msgstr "Identificant de _connexion :" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "_Configurar" + +#~ msgid "" +#~ "For help contact your system adminstrator or the administrator of the key " +#~ "server." +#~ msgstr "" +#~ "Per obténer d'ajuda, contactatz vòstre administrator del sistèma o " +#~ "l'administratator del servidor de claus." diff --git a/po/or.po b/po/or.po new file mode 100644 index 00000000..44ccee5f --- /dev/null +++ b/po/or.po @@ -0,0 +1,3069 @@ +# translation of seahorse.master.or.po to Oriya +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Subhransu Behera , 2007. +# Manoj Kumar Giri , 2009, 2011. +msgid "" +msgstr "" +"Project-Id-Version: seahorse.master.or\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=seahorse&component=general\n" +"POT-Creation-Date: 2011-01-19 20:34+0000\n" +"PO-Revision-Date: 2011-03-04 17:43+0530\n" +"Last-Translator: Manoj Kumar Giri \n" +"Language-Team: Oriya \n" +"Language: or\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"\n" +"X-Generator: Lokalize 1.1\n" + +#: ../daemon/seahorse-daemon.c:64 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "seahorse-daemon କୁ ଗୋଟିଏ ଡେମନ ଭାବରେ ଚଳାନ୍ତୁ ନାହିଁ" + +#: ../daemon/seahorse-daemon.c:94 +msgid "couldn't fork process" +msgstr "ପ୍ରକ୍ରିୟା ମାନଙ୍କୁ fork କରିପାରିଲା ନାହିଁ" + +#: ../daemon/seahorse-daemon.c:100 +msgid "couldn't create new process group" +msgstr "ନୂତନ ପ୍ରକ୍ରିୟା ସମୂହ ସୃଷ୍ଟି କରିପାରିଲା ନାହିଁ" + +#: ../daemon/seahorse-daemon.c:250 +msgid "Encryption Daemon (Seahorse)" +msgstr "ଗୋପନୀୟ ଡେମନ (Seahorse)" + +#: ../daemon/seahorse-service.c:164 ../daemon/seahorse-service.c:277 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "ଅବୈଧ କିମ୍ବା ଅଚିହ୍ନିତ ଚାବି ପ୍ରକାର: %s" + +#: ../daemon/seahorse-service.c:234 +#, c-format +#| msgid "This key expired on: %s" +msgid "This keytype is not supported: %s" +msgstr "ଏହି କିପ୍ରକାରଟି ସମର୍ଥିତ ନୁହଁ: %s" + +#: ../daemon/seahorse-service.c:241 +#, c-format +msgid "Support for this feature was not enabled at build time" +msgstr "ଏହି ବିଶେଷତାର ସହାୟତା ନିର୍ମାଣ ସମୟରେ ସକ୍ରିୟ ହୋଇନଥିଲା " + +#: ../daemon/seahorse-service.c:341 ../daemon/seahorse-service-keyset.c:180 +#: ../daemon/seahorse-service-keyset.c:223 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "ଅବୈଧ କିମ୍ବା ଅଚିହ୍ନିତ ଚାବି: %s" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:204 +#, c-format +msgid "Signed by expired on %s." +msgstr "%s ରେ expired ଦ୍ୱାରା ହସ୍ତାକ୍ଷର ହୋଇଛି।" + +#: ../daemon/seahorse-service-crypto.c:205 +msgid "Invalid Signature" +msgstr "ଅବୈଧ ହସ୍ତକ୍ଷର" + +#: ../daemon/seahorse-service-crypto.c:211 +#, c-format +msgid "Signed by on %s Expired." +msgstr "%s ରେ ଦ୍ୱାରା ହସ୍ତାକ୍ଷର ହୋଇଛି ସମୟ ସମାପ୍ତ।" + +#: ../daemon/seahorse-service-crypto.c:212 +msgid "Expired Signature" +msgstr "ସମୟ ସମାପ୍ତ ହୋଇଥିବା ହସ୍ତାକ୍ଷର" + +#: ../daemon/seahorse-service-crypto.c:218 +#, c-format +msgid "Signed by Revoked on %s." +msgstr "%s ରେ ଦ୍ୱାରା ହସ୍ତାକ୍ଷର ହୋଇଛି ଓଲଟାଇ ଦିଆଯାଇଛି।" + +#: ../daemon/seahorse-service-crypto.c:219 +msgid "Revoked Signature" +msgstr "ଓଲଟା ହସ୍ତାକ୍ଷର" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../daemon/seahorse-service-crypto.c:225 +#, c-format +msgid "Signed by on %s." +msgstr "%s ରେ ଦ୍ୱାରା ହସ୍ତାକ୍ଷର ହୋଇଛି।" + +#: ../daemon/seahorse-service-crypto.c:226 +msgid "Good Signature" +msgstr "ଭଲ ହସ୍ତାକ୍ଷର" + +#: ../daemon/seahorse-service-crypto.c:231 +msgid "Signing key not in keyring." +msgstr "କିରିଙ୍ଗରେ ହସ୍ତାକ୍ଷର କି ନାହିଁ।" + +#: ../daemon/seahorse-service-crypto.c:232 +msgid "Unknown Signature" +msgstr "ଅଜଣା ହସ୍ତାକ୍ଷର" + +#: ../daemon/seahorse-service-crypto.c:236 +msgid "Bad or forged signature. The signed data was modified." +msgstr "ଖରାପ କିମ୍ବା ନକଲି ହସ୍ତାକ୍ଷର। ହସ୍ତାକ୍ଷର ହୋଇଥିବା ତଥ୍ୟକୁ ପରିବର୍ତ୍ତନ କରାହୋଇଛି।" + +#: ../daemon/seahorse-service-crypto.c:237 +msgid "Bad Signature" +msgstr "ଖରାପ ହସ୍ତାକ୍ଷର" + +#: ../daemon/seahorse-service-crypto.c:245 +msgid "Couldn't verify signature." +msgstr "ହସ୍ତାକ୍ଷରକୁ ଯାଞ୍ଚ କରିହେଲା ନାହିଁ।" + +#: ../daemon/seahorse-service-crypto.c:317 +#: ../daemon/seahorse-service-crypto.c:646 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "ଅବୈଧ କିମ୍ବା ଅଚିହ୍ନିତ ହସ୍ତାକ୍ଷରକ: %s" + +#: ../daemon/seahorse-service-crypto.c:324 +#: ../daemon/seahorse-service-crypto.c:653 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "ହସ୍ତାକ୍ଷରଣ ପାଇଁ ଚାବିଟି ବୈଧ ନୁହେଁ: %s" + +#: ../daemon/seahorse-service-crypto.c:335 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "ଅବୈଧ କିମ୍ବା ଅଚିହ୍ନିତ ଗ୍ରାହକ: %s" + +#: ../daemon/seahorse-service-crypto.c:343 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "ଗୋପନୀୟତା ପାଇଁ ଚାବିଟି ଗୋଟିଏ ବୈଧ ଗ୍ରାହକ ନୁହେଁ: %s" + +#: ../daemon/seahorse-service-crypto.c:352 +#, c-format +msgid "No recipients specified" +msgstr "କୌଣସି ଗ୍ରାହକକୁ ନିର୍ଦ୍ଦିଷ୍ଟ କରାଯାଇ ନାହିଁ" + +#: ../daemon/seahorse-service-crypto.c:434 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "ଅଗୋପନୀୟତା ପାଇଁ ଅବୈଧ ଚାବି ପ୍ରକାର: %s" + +#: ../daemon/seahorse-service-crypto.c:548 +#: ../daemon/seahorse-service-crypto.c:746 +#, c-format +msgid "Please set clearuri" +msgstr "ଦୟାକରି clearuri ସେଟ କରନ୍ତୁ" + +#: ../daemon/seahorse-service-crypto.c:554 +#: ../daemon/seahorse-service-crypto.c:752 +#, c-format +msgid "Please set crypturi" +msgstr "ଦୟାକରି crypturi ସେଟ କରନ୍ତୁ" + +#: ../daemon/seahorse-service-crypto.c:564 +#, c-format +msgid "Error opening clearuri" +msgstr "clearuri କୁ ଖୋଲିବା ସମୟରେ ତ୍ରୁଟି" + +#: ../daemon/seahorse-service-crypto.c:641 +#, c-format +msgid "No signer specified" +msgstr "କୌଣସି ହସ୍ତାକ୍ଷରକକୁ ନିର୍ଦ୍ଦିଷ୍ଟ କରାଯାଇ ନାହିଁ" + +#: ../daemon/seahorse-service-crypto.c:830 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "ନିରୀକ୍ଷଣ ପାଇଁ ଅବୈଧ ଚାବି ପ୍ରକାର: %s" + +#: ../daemon/seahorse-service-keyset.c:273 +#, c-format +msgid "Invalid key id: %s" +msgstr "ଅବୈଧ ଚାବି ପରିଚୟ: %s" + +#: ../data/seahorse.schemas.in.h:1 +msgid "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." +msgstr "" +"ସୁଦୂର PGP କି ଗୁଡ଼ିକୁ ଖୋଜିବା ପାଇଁ କି ସର୍ଭର URI ଗୁଡ଼ିକର ଗୋଟିଏ ତାଲିକା। ଗୋଟିଏ ଖାଲିସ୍ଥାନ ପରେ ନାମ " +"ଲେଖି, ପରବର୍ତ୍ତି ସଂସ୍କରଣରେ ଗୋଟିଏ ପ୍ରଦର୍ଶନୀ ନାମକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରାଯାଇପାରିବ।" + +#: ../data/seahorse.schemas.in.h:2 +msgid "Auto Retrieve Keys" +msgstr "ସ୍ୱୟଂ ନିଷ୍କାସନ କିଗୁଡ଼ିକ" + +#: ../data/seahorse.schemas.in.h:3 +msgid "Auto Sync Keys" +msgstr "ସ୍ୱୟଂ Sync କିଗୁଡ଼ିକ" + +#: ../data/seahorse.schemas.in.h:4 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "କି ପରିଚାଳକ ପାଇଁ ସମାପ୍ତ ସ୍ତମ୍ଭର ଦୃଶ୍ୟକୁ ନିୟନ୍ତ୍ରଣ କରିଥାଏ।" + +#: ../data/seahorse.schemas.in.h:5 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "କି ପରିଚାଳକ ପାଇଁ ବିଶ୍ୱାସ ସ୍ତମ୍ଭର ଦୃଶ୍ୟକୁ ନିୟନ୍ତ୍ରଣ କରିଥାଏ।" + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the type column for the key manager." +msgstr "କି ପରିଚାଳକ ପାଇଁ ପ୍ରକାର ସ୍ତମ୍ଭର ଦୃଶ୍ୟକୁ ନିୟନ୍ତ୍ରଣ କରିଥାଏ।" + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "କି ପରିଚାଳକ ପାଇଁ ବୈଧତା ସ୍ତମ୍ଭର ଦୃଶ୍ୟକୁ ନିୟନ୍ତ୍ରଣ କରିଥାଏ।" + +#: ../data/seahorse.schemas.in.h:8 +msgid "Enable DNS-SD sharing" +msgstr "DNS-SD ସହଭାଗକୁ ସକ୍ରିୟ କରନ୍ତୁ" + +#: ../data/seahorse.schemas.in.h:9 +msgid "" +"Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +"running and must be built with HKP and DNS-SD support." +msgstr "" +"DNS-SD (Apple Bonjour) କିଗୁଡ଼ିକର ସହଭାଗକୁ ସକ୍ରିୟ କରିଥାଏ। seahorse-daemon ନିଶ୍ଚିତ ଭାବରେ " +"ଚାଲୁଅଛି ଏବଂ ନିଶ୍ଚିତ ଭାବରେ HKP ଏବଂ DNS-SD ସମର୍ଥନ ସହିତ ନିର୍ମିତ।" + +#: ../data/seahorse.schemas.in.h:10 +msgid "ID of the default key" +msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ କିର ID" + +#: ../data/seahorse.schemas.in.h:11 +msgid "" +"If set to true, then files encrypted with seahorse will be ASCII armor " +"encoded." +msgstr "" +"ଯଦି ଏହା true, ତେବେ seahorse ଦ୍ୱାରା ସଂଗୁପ୍ତ ଫାଇଲଗୁଡ଼ିକ ASCII armor ଦ୍ୱାରା ସାଙ୍କେତିକରଣ " +"କରାଯିବ।" + +#: ../data/seahorse.schemas.in.h:12 +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "" +"ଯଦି true ସେଟ କରାଯିବ, ତେବେ ପୂର୍ବନିର୍ଦ୍ଧାରିତ କିକୁ ସର୍ବଦା ଗୋଟିଏ ସଂଗୁପ୍ତ ଗ୍ରହଣକାରୀ ତାଲିକାରେ ଯୋଗ " +"କରାଯିବ।" + +#: ../data/seahorse.schemas.in.h:13 +msgid "Last key server search pattern" +msgstr "ଅନ୍ତିମ କି ସର୍ଭର ସନ୍ଧାନ ପ୍ରକାର" + +#: ../data/seahorse.schemas.in.h:14 +msgid "Last key servers used" +msgstr "ଶେଷରେ ବ୍ୟବହୃତ କି ସର୍ଭରଗୁଡ଼ିକ" + +#: ../data/seahorse.schemas.in.h:15 +msgid "Last key used to sign a message." +msgstr "ସନ୍ଦେଶରେ ହସ୍ତାକ୍ଷର କରିବା ପାଇଁ ବ୍ୟବହୃତକ ଅନ୍ତିମ କି।" + +#: ../data/seahorse.schemas.in.h:16 +msgid "PGP Key servers" +msgstr "PGP କି ସର୍ଭରଗୁଡ଼ିକ" + +#: ../data/seahorse.schemas.in.h:17 +msgid "Publish keys to this key server." +msgstr "ଏହି କି ସର୍ଭରରେ ପ୍ରକାଶିତ କିଗୁଡ଼ିକ।" + +#: ../data/seahorse.schemas.in.h:18 +msgid "Show expires column in key manager" +msgstr "କି ପରିଚାଳକରେ ସମୟ ସମାପ୍ତି ସ୍ତମ୍ଭକୁ ଦର୍ଶାନ୍ତୁ" + +#: ../data/seahorse.schemas.in.h:19 +msgid "Show trust column in key manager" +msgstr "କି ପରିଚାଳକରେ ବିଶ୍ୱାସ ସ୍ତମ୍ଭକୁ ଦର୍ଶାନ୍ତୁ" + +#: ../data/seahorse.schemas.in.h:20 +msgid "Show type column in key manager" +msgstr "କି ପରିଚାଳକରେ ପ୍ରକାର ସ୍ତମ୍ଭକୁ ଦର୍ଶାନ୍ତୁ" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Show validity column in key manager" +msgstr "କି ପରିଚାଳକରେ ବୈଧତା ସ୍ତମ୍ଭକୁ ଦର୍ଶାନ୍ତୁ" + +#: ../data/seahorse.schemas.in.h:22 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name' and " +"'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "" +"ଗ୍ରହଣକର୍ତ୍ତାଙ୍କ ୱିଣ୍ଡୋଗୁଡ଼ିକୁ କ୍ରମରେ ସଜାଡ଼ିବା ପାଇଁ ସ୍ତମ୍ଭକୁ ଉଲ୍ଲେଖ କରନ୍ତୁ। ସ୍ତମ୍ଭଗୁଡ଼ିକ ହେଉଛି: 'name' " +"ଏବଂ 'id'.ସ୍ତମ୍ଭ ନାମ ସାମ୍ନାରେ ଅବରୋହୀ କ୍ରମରେ ସଜାଡ଼ିବା ପାଇଁ ଗୋଟିଏ '-' ଚିହ୍ନ ଦିଅନ୍ତୁ।" + +#: ../data/seahorse.schemas.in.h:23 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." +msgstr "" +"seahorse କି ପରିଚାଳକ ମୂକ୍ୟ ୱିଣ୍ଡୋ ଦ୍ୱାରା ସ୍ତମ୍ଭକୁ ଉଲ୍ଲେଖ କରନ୍ତୁ। ସ୍ତମ୍ଭଗୁଡ଼ିକ ହେଉଛି: 'name', " +"'id', 'validity', 'expires', 'trust', ଏବଂ 'type'। ଅବରୋହୀ କ୍ରମରେ ସଜାଡ଼ିବା ପାଇଁ " +"ଗୋଟିଏ '-' କୁ ସ୍ତମ୍ଭ ନାମ ସାମ୍ନାରେ ରଖନ୍ତୁ।" + +#: ../data/seahorse.schemas.in.h:24 +msgid "The ID of the last secret key used to sign a message." +msgstr "ସନ୍ଦେଶ ହସ୍ତାକ୍ଷର କରିବାକୁ ବ୍ୟବହୃତ ଗୁପ୍ତ କିର ଅନ୍ତିମ ID।" + +#: ../data/seahorse.schemas.in.h:25 +msgid "The column to sort the recipients by" +msgstr "ଗ୍ରହଣକର୍ତ୍ତାମାନଙ୍କୁ ସଜାଡ଼ିବା ପାଇଁ ସ୍ତମ୍ଭ" + +#: ../data/seahorse.schemas.in.h:26 +msgid "The column to sort the seahorse keys by" +msgstr "seahorse କିଗୁଡ଼ିକୁ ସଜାଡ଼ିବା ପାଇଁ ସ୍ତମ୍ଭ" + +#: ../data/seahorse.schemas.in.h:27 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "PGP କିଗୁଡ଼ିକୁ ପ୍ରକାଶ କରିବା ପାଇଁ କି ସର୍ଭର। ଅଥବା PGP କିଗୁଡ଼ିକର ପ୍ରକାଶନକୁ ଦବାଇବା ପାଇଁ ଖାଲିକରନ୍ତୁ।" + +#: ../data/seahorse.schemas.in.h:28 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"ଅନ୍ତିମ କି ସର୍ଭର ଯାହା ବିପକ୍ଷରେ ଗୋଟିଏ ସନ୍ଧାନ କରାଯାଇଥିଲା ଅଥବା ସମସ୍ତ କି ସର୍ଭର ପାଇଁ ଖାଲି " +"ରଖାଯାଇଥିଲା।" + +#: ../data/seahorse.schemas.in.h:29 +msgid "The last search pattern searched for against a key server." +msgstr "ଗୋଟିଏ କି ସର୍ଭରକୁ ଖୋଜିବା ପାଇଁ ବ୍ୟବହୃତ ଅନ୍ତିମ ସନ୍ଧାନ ପ୍ରକାର।" + +#: ../data/seahorse.schemas.in.h:30 +msgid "This specifies the default key to use for certain operations, mainly signing." +msgstr "" +"କିଛି ପ୍ରୟୋଗ ପାଇଁ ବ୍ୟବହାର ହେବାକୁ ଥିବା ପୂର୍ବନିର୍ଦ୍ଧାରିତ କିକୁ ଉଲ୍ଲେଖ କରନ୍ତୁ, ମୂଖ୍ୟତଃ ହସ୍ତାକ୍ଷର କରୁଅଛି।" + +#: ../data/seahorse.schemas.in.h:31 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "କି ସର୍ଭରରୁ ସ୍ୱୟଂଚାଳିତ ଭାବରେ କିଗୁଡ଼ିକୁ କଢ଼ାଯାଇଥିଲା କି ନାହିଁ।" + +#: ../data/seahorse.schemas.in.h:32 +msgid "" +"Whether or not modified keys should be automatically synced with the default " +"key server." +msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ କି ସର୍ଭର ସହିତ ପରିବର୍ତ୍ତିତ କିଗୁଡ଼ିକ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ସମକାଳିନ କରାଯାଏ କି ନାହିଁ।" + +#: ../data/seahorse.schemas.in.h:33 +msgid "Whether to always encrypt to default key" +msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ କିକୁ ସର୍ବଦା ସଂଗୁପ୍ତ ରଖିବା ଉଚିତ କି ନୁହଁ" + +#: ../data/seahorse.schemas.in.h:34 +msgid "Whether to use ASCII Armor" +msgstr "ASCII Armorକୁ ବ୍ୟବହାର କରିବା ଉଚିତ କି ନୁହଁ" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "ପ୍ରବେଶ ସଂକେତ କିରିଙ୍ଗକୁ ଯୋଗକରନ୍ତୁ" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "ନୂତନ କି ରିଙ୍ଗ ନାମ:" + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "ନୂତନ କିରିଙ୍ଗ ପାଇଁ ଗୋଟିଏ ନାମ ବାଛନ୍ତୁ। ପ୍ରବେଶସଂକେତକୁ ଖୋଲିବା ପାଇଁ ଆପଣଙ୍କୁ ପଚରାଯିବ।" + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "ସର୍ଭରର ଆଧାର ନାମ ଅଥବା ଠିକଣା।" + +#: ../gkr/seahorse-gkr-add-item.c:61 ../gkr/seahorse-gkr-add-keyring.c:73 +msgid "Couldn't add keyring" +msgstr "କି ରିଙ୍ଗକୁ ଯୋଗ କରିପାରିଲା ନାହିଁ" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +msgid "Add Password" +msgstr "ପ୍ରବେଶ ସଙ୍କେତ ଯୋଗକରନ୍ତୁ" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:15 ../pgp/seahorse-revoke.xml.h:5 +msgid "_Description:" +msgstr "ବର୍ଣ୍ଣନା (_D):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Keyring:" +msgstr "କି-ରିଙ୍ଗ (_K):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Password:" +msgstr "ପ୍ରବେଶ ସଂଙ୍କେତ (_P):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +msgid "_Show Password" +msgstr "ପ୍ରବେଶ ସଙ୍କେତ ଦେଖାନ୍ତୁ (_S)" + +#: ../gkr/seahorse-gkr-item.c:470 +msgid "Web Password" +msgstr "ୱେବ ପ୍ରବେଶ ସଂକେତ" + +#: ../gkr/seahorse-gkr-item.c:472 +msgid "Network Password" +msgstr "ନେଟୱାର୍କ ପ୍ରବେଶ ସଙ୍କେତ" + +#: ../gkr/seahorse-gkr-item.c:474 ../gkr/seahorse-gkr-item-properties.c:107 +msgid "Password" +msgstr "ପ୍ରବେଶ ସଙ୍କେତ" + +#: ../gkr/seahorse-gkr-item-commands.c:78 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "ପ୍ରବେଶ ସଂକେତ '%s' କୁ ଅପସାରଣ କରିବେ ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି?" + +#: ../gkr/seahorse-gkr-item-commands.c:81 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "%d ପ୍ରବେଶ ସଂକେତକୁ ଅପସାରଣ କରିବେ ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି?" +msgstr[1] "%d ପ୍ରବେଶ ସଂକେତଗୁଡ଼ିକୁ ଅପସାରଣ କରିବେ ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି?" + +#: ../gkr/seahorse-gkr-item-properties.c:66 +msgid "Access a network share or resource" +msgstr "ଗୋଟିଏ ନେଟୱର୍କ ସହଭାଗ ଅଥବା ଉତ୍ସକୁ ଅଭିଗମ୍ୟ କରନ୍ତୁ" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a website" +msgstr "ଗୋଟିଏ ୱେବସାଇଟକୁ ଅଭିଗମ୍ୟ କରନ୍ତୁ" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Unlocks a PGP key" +msgstr "ଗୋଟିଏ PGP କି କୁ ଖୋଲନ୍ତୁ" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a Secure Shell key" +msgstr "ସୁରକ୍ଷିତ ସେଲ କିକୁ ଖୋଲନ୍ତୁ" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Saved password or login" +msgstr "ସଂରକ୍ଷିତ ପ୍ରବେଶ ସଂକେତ ଅଥବା ଲଗଇନ" + +#: ../gkr/seahorse-gkr-item-properties.c:102 +msgid "Network Credentials" +msgstr "ନେଟୱର୍କ ପ୍ରମାଣପତ୍ରଗୁଡ଼ିକ" + +#: ../gkr/seahorse-gkr-item-properties.c:245 +msgid "Couldn't change password." +msgstr "ପ୍ରବେଶ ସଂକେତକୁ ପରିବର୍ତ୍ତନ କରିହେଲା ନାହିଁ।" + +#: ../gkr/seahorse-gkr-item-properties.c:350 +msgid "Couldn't set description." +msgstr "ବର୍ଣ୍ଣନା ସେଟ କରିହେଲା ନାହିଁ।" + +#: ../gkr/seahorse-gkr-item-properties.c:654 +msgid "Couldn't set application access." +msgstr "ପ୍ରୟୋଗ ଅଭିଗମ୍ୟତାକୁ ସେଟ କରିପାରିଲା ନାହିଁ।" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +msgid "Password:" +msgstr "ଗୁପ୍ତଶବ୍ଦ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 +msgid "Path:" +msgstr "ପଥ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +msgid "Permissions:" +msgstr "ଅନୁମତି:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Technical Details:" +msgstr "ଯାନ୍ତ୍ରିକ ବିବରଣୀ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Applications" +msgstr "ପ୍ରୟୋଗ" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:22 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Details" +msgstr "ବିସ୍ତୃତ ବିବରଣୀ" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Key" +msgstr "ଚାବି" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Key Properties" +msgstr "କି ଗୁଣଧର୍ମ" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +msgid "Login:" +msgstr "ଲଗଇନ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +msgid "Server:" +msgstr "ସର୍ଭର:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +msgid "Show pass_word" +msgstr "ପ୍ରବେଶ ସଙ୍କେତ ଦେଖାନ୍ତୁ (_w)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +msgid "Type:" +msgstr "ପ୍ରକାର:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:14 +msgid "Use:" +msgstr "ଉପଯୋଗିତା:" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:17 +msgid "_Read" +msgstr "ପଢନ୍ତୁ (_R)" + +#. To translators: This is the infinitive not the imperative. +#: ../gkr/seahorse-gkr-item-properties.xml.h:19 +msgid "_Write" +msgstr "ଲେଖନ୍ତୁ (_W)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:20 +#| msgid "_Delete" +msgctxt "infinitive" +msgid "_Delete" +msgstr "ଅପସାରଣ କରନ୍ତୁ (_D)" + +#: ../gkr/seahorse-gkr-keyring.c:193 +msgid "Listing passwords" +msgstr "ତାଲିକାଭୁକ୍ତ ପ୍ରବେଶ ସଂକେତଗୁଡ଼ିକ" + +#: ../gkr/seahorse-gkr-keyring.c:354 +#, c-format +msgid "Passwords: %s" +msgstr "ପ୍ରବେଶ ସଙ୍କେତ:: %s" + +#: ../gkr/seahorse-gkr-keyring.c:355 +#, c-format +msgid "Passwords: %s" +msgstr "ପ୍ରବେଶ ସଙ୍କେତ: %s" + +#: ../gkr/seahorse-gkr-keyring-commands.c:119 +msgid "Password Keyring" +msgstr "ପ୍ରବେଶ ସଙ୍କେତ କି ରିଙ୍ଗ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:120 +msgid "Used to store application and network passwords" +msgstr "ପ୍ରୟୋଗ ଏବଂ ନେଟୱର୍କ ପ୍ରବେଶ ସଂକେତଗୁଡ଼ିକୁ ବ୍ୟବହାର କରିବା ପାଇଁ ସଂରକ୍ଷଣ କରାଯାଏ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:121 +msgid "Stored Password" +msgstr "ସଂରକ୍ଷିତ ପ୍ରବେଶ ସଙ୍କେତ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:122 +msgid "Safely store a password or secret." +msgstr "ଗୋଟିଏ ପ୍ରବେଶ ସଂକେତ ଅଥବା ଗୁପ୍ତ ତଥ୍ୟକୁ ସଂରକ୍ଷଣ କରନ୍ତୁ।" + +#: ../gkr/seahorse-gkr-keyring-commands.c:136 +msgid "Couldn't unlock keyring" +msgstr "କି-ରିଙ୍ଗକୁ ଖୋଲି ପାରିଲା ନାହିଁ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:177 +msgid "Couldn't lock keyring" +msgstr "କି-ରିଙ୍ଗକୁ ଅପରିବର୍ତ୍ତନୀୟ କରିପାରିଲା ନାହିଁ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:218 +msgid "Couldn't set default keyring" +msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ କି-ରିଙ୍ଗକୁ ସେଟ କରିପାରିଲା ନାହିଁ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:257 +msgid "Couldn't change keyring password" +msgstr "କି-ରିଙ୍ଗ ପ୍ରବେଶ ସଂକେତକୁ ପରିବର୍ତ୍ତନ କରିପାରିଲା ନାହିଁ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:288 +msgid "_Lock" +msgstr "ଅପରିବର୍ତ୍ତନୀୟ କରନ୍ତୁ (_L)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:289 +msgid "" +"Lock the password storage keyring so a master password is required to unlock " +"it." +msgstr "" +"ପ୍ରବେଶ ସଂକେତ ସଂରକ୍ଷଣ କି-ରିଙ୍ଗକୁ ଅପରିବର୍ତ୍ତନୀୟ କରନ୍ତୁ ଯେପରି ଏହାକୁ ଖୋଲିବା ପାଇଁ ଗୋଟିଏ ମୂଖ୍ୟ ପ୍ରବେଶ " +"ସଂକେତ ଆବଶ୍ୟକ ହେବ।" + +#: ../gkr/seahorse-gkr-keyring-commands.c:290 +msgid "_Unlock" +msgstr "ଖୋଲନ୍ତୁ (_U)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:291 +msgid "" +"Unlock the password storage keyring with a master password so it is " +"available for use." +msgstr "" +"ପ୍ରବେଶ ସଂକେତ ସଂରକ୍ଷଣ କି-ରିଙ୍ଗକୁ ମୂଖ୍ୟ ପ୍ରବେଶ ସଂକେତ ସହାୟତାରେ ଖୋଲନ୍ତୁ ଯାହାଫଳରେ ଏହା ବ୍ୟବହାର " +"ପାଇଁ ଉପଲବ୍ଧ ହେବ।" + +#: ../gkr/seahorse-gkr-keyring-commands.c:292 +msgid "_Set as default" +msgstr "ପୂର୍ବନିର୍ଦ୍ଧାରିତ ଭାବରେ ସେଟ କରନ୍ତୁ (_S)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:293 +msgid "Applications usually store new passwords in the default keyring." +msgstr "ପ୍ରୟୋଗଗୁଡ଼ିକ ସାଧାରଣତଃ ନୂତନ ପ୍ରବେଶ ସଂକେତଗୁଡ଼ିକୁ ପୂର୍ବନିର୍ଦ୍ଧାରିତ କିରିଙ୍ଗରେ ସଂରକ୍ଷଣ କରିଥାଏ।" + +#: ../gkr/seahorse-gkr-keyring-commands.c:294 +msgid "Change _Password" +msgstr "ପ୍ରବେଶ ସଙ୍କେତ ପରିବର୍ତ୍ତନ କରନ୍ତୁ (_P)" + +#: ../gkr/seahorse-gkr-keyring-commands.c:295 +msgid "Change the unlock password of the password storage keyring" +msgstr "ପ୍ରବେଶ ସଂକେତ ସଂରକ୍ଷଣ କିରିଙ୍ଗକୁ ଖୋଲିବା ପାଇଁ ବ୍ୟବହୃତ ପ୍ରବେଶ ସଂକେତକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ" + +#: ../gkr/seahorse-gkr-keyring-commands.c:360 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "ପ୍ରବେଶ ସଂକେତ କି-ରିଙ୍ଗ '%s' କୁ ଅପସାରଣ କରିବେ ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି?" + +#. ----------------------------------------------------------------------------- +#. * PUBLIC +#. +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Created:" +msgstr "ସୃଷ୍ଟି କରାହୋଇଥିବା:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +msgid "Keyring" +msgstr "କି-ରିଙ୍ଗ" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring Properties" +msgstr "କି-ରିଙ୍ଗ ଗୁଣଧର୍ମ" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "_Name:" +msgstr "ନାମ (_N):" + +#: ../gkr/seahorse-gkr-operation.c:168 +msgid "Access to the key ring was denied" +msgstr "କି-ରିଙ୍ଗକୁ ପ୍ରବେଶାନୁମତି ବାରଣ ଅଛି" + +#: ../gkr/seahorse-gkr-operation.c:171 +msgid "The gnome-keyring daemon is not running" +msgstr "gnome-keyring ଡେମନ ଚାଲୁନାହିଁ" + +#: ../gkr/seahorse-gkr-operation.c:174 +msgid "The key ring has already been unlocked" +msgstr "କି-ରିଙ୍ଗ ପୂର୍ବରୁ ଖୋଲା ଅଛି" + +#: ../gkr/seahorse-gkr-operation.c:177 +msgid "No such key ring exists" +msgstr "ଏପରି କୌଣସି କି-ରିଙ୍ଗ ନାହିଁ" + +#: ../gkr/seahorse-gkr-operation.c:180 +msgid "Couldn't communicate with key ring daemon" +msgstr "କି-ରିଙ୍ଗ ଡେମନ ସହିତ ଯୋଗାଯୋଗ କରିହେଲା ନାହିଁ" + +#: ../gkr/seahorse-gkr-operation.c:183 +msgid "The item already exists" +msgstr "ବସ୍ତୁଟି ପୂର୍ବରୁ ଅବସ୍ଥିତ ଅଛି" + +#: ../gkr/seahorse-gkr-operation.c:189 +msgid "Internal error accessing gnome-keyring" +msgstr "ଆଭ୍ୟନ୍ତରୀଣ ତ୍ରୁଟି ଅଭିଗମ୍ୟ gnome-keyring" + +#: ../gkr/seahorse-gkr-operation.c:238 ../gkr/seahorse-gkr-operation.c:264 +msgid "Saving item..." +msgstr "ବସ୍ତୁକୁ ସଂରକ୍ଷଣ କରୁଅଛି..." + +#: ../gkr/seahorse-gkr-operation.c:300 +msgid "Deleting item..." +msgstr "ବସ୍ତୁକୁ ଅପସାରଣ କରୁଅଛି..." + +#: ../gkr/seahorse-gkr-operation.c:325 +msgid "Deleting keyring..." +msgstr "କି-ରିଙ୍ଗକୁ ଅପସାରଣ କରୁଅଛି..." + +#: ../gkr/seahorse-gkr-source.c:234 +msgid "Listing password keyrings" +msgstr "ପ୍ରବେଶ ସଂକେତ କି-ରିଙ୍ଗଗୁଡ଼ିକୁ ତାଲିକାଭୁକ୍ତ କରୁଅଛି" + +#: ../libcryptui/cryptui.c:272 +msgid "" +"No encryption keys were found with which to perform the operation you " +"requested. The program Passwords and Encryption Keys will now be " +"started so that you may either create a key or import one." +msgstr "" +"କୌଣସି ସଂଗୁପ୍ତ କି ମିଳିଲା ନାହିଁ ଯାହା ସହିତ ସେହି ପ୍ରୟୋଗକୁ ପାଳନ କରିବେ ବୋଲି ଆପଣ ଅନୁରୋଧ କରିଥିଲେ। ସେହି " +"ପ୍ରଗ୍ରାମ ପ୍ରବେଶ ସଂକେତ ଏବଂ ସଂଗୁପ୍ତ କିଗୁଡ଼ିକ ବର୍ତ୍ତମାନ ଆରମ୍ଭ ହେବ, ଯାହାଫଳରେ ଆପଣ ଗୋଟିଏ " +"କି ନିର୍ମାଣ କରିବେ ଅଥବା ଆମଦାନୀ କରିବେ।" + +#: ../libcryptui/cryptui-key-chooser.c:174 +#: ../libcryptui/cryptui-key-chooser.c:179 +msgid "All Keys" +msgstr "ସମସ୍ତ କିଗୁଡ଼ିକ" + +#: ../libcryptui/cryptui-key-chooser.c:175 +#: ../libcryptui/cryptui-key-chooser.c:180 +msgid "Selected Recipients" +msgstr "ବଚ୍ଛିତ ଗ୍ରହଣକାରୀ" + +#: ../libcryptui/cryptui-key-chooser.c:176 +#: ../libcryptui/cryptui-key-chooser.c:181 +msgid "Search Results" +msgstr "ସନ୍ଧାନ ଫଳାଫଳ" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:192 +msgid "Search _for:" +msgstr "ଏହା ପାଇଁ ସନ୍ଧାନ କରନ୍ତୁ (_f):" + +#: ../libcryptui/cryptui-key-chooser.c:250 +msgid "None (Don't Sign)" +msgstr "କେହିନୁହଁ (ହସ୍ତାକ୍ଷର କରନ୍ତୁ ନାହିଁ)" + +#: ../libcryptui/cryptui-key-chooser.c:263 +#, c-format +msgid "Sign this message as %s" +msgstr "ଏହି ସନ୍ଦେଶକୁ %s ପରି ହସ୍ତାକ୍ଷର କରନ୍ତୁ" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:285 +msgid "_Sign message as:" +msgstr "ସନ୍ଦେଶକୁ ଏହିପରି ହସ୍ତାକ୍ଷର କରନ୍ତୁ (_S):" + +#. TODO: Icons +#. The name column +#: ../libcryptui/cryptui-key-list.c:140 +#: ../pgp/seahorse-pgp-key-properties.c:839 +#: ../src/seahorse-key-manager-store.c:865 +msgid "Name" +msgstr "ନାମ" + +#. The keyid column +#: ../libcryptui/cryptui-key-list.c:145 +#: ../pgp/seahorse-pgp-key-properties.c:1745 +#: ../src/seahorse-key-manager-store.c:877 +msgid "Key ID" +msgstr "କି ID" + +#: ../libegg/egg-datetime.c:325 +msgid "Display flags" +msgstr "ସୂଚକଗୁଡ଼ିକୁ ଦର୍ଶାନ୍ତୁ" + +#: ../libegg/egg-datetime.c:326 +msgid "Displayed date and/or time properties" +msgstr "ତାରିଖ ଏବଂ/ଅଥବା ସମୟ ଗୁଣଧର୍ମଗୁଡ଼ିକୁ ଦର୍ଶାନ୍ତୁ" + +#: ../libegg/egg-datetime.c:331 +msgid "Lazy mode" +msgstr "ଅଳସୁଆ ଅବସ୍ଥା" + +#: ../libegg/egg-datetime.c:332 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "ଅଳସୁଆ ଅବସ୍ଥା ଭରଣ କରାଯାଇଥିବା ତାରିଖ ଏବଂ ସମୟ ମୂଲ୍ୟଗୁଡ଼ିକୁ ସାମାନ୍ୟ କରିପାରିନଥାଏ" + +#: ../libegg/egg-datetime.c:337 +msgid "Year" +msgstr "ବର୍ଷ" + +#: ../libegg/egg-datetime.c:338 +msgid "Displayed year" +msgstr "ଦର୍ଶାଯାଇଥିବା ବର୍ଷ" + +#: ../libegg/egg-datetime.c:343 +msgid "Month" +msgstr "ମାସ" + +#: ../libegg/egg-datetime.c:344 +msgid "Displayed month" +msgstr "ଦର୍ଶାଯାଇଥିବା ମାସ" + +#: ../libegg/egg-datetime.c:349 +msgid "Day" +msgstr "ଦିନ" + +#: ../libegg/egg-datetime.c:350 +msgid "Displayed day of month" +msgstr "ଦର୍ଶାଯାଇଥିବା ମାସର ଦିନ" + +#: ../libegg/egg-datetime.c:355 +msgid "Hour" +msgstr "ଘଣ୍ଟା" + +#: ../libegg/egg-datetime.c:356 +msgid "Displayed hour" +msgstr "ଦର୍ଶାଯାଇଥିବା ଘଣ୍ଟା" + +#: ../libegg/egg-datetime.c:361 +msgid "Minute" +msgstr "ମିନଟ" + +#: ../libegg/egg-datetime.c:362 +msgid "Displayed minute" +msgstr "ଦର୍ଶାଯାଇଥିବା ମିନଟ" + +#: ../libegg/egg-datetime.c:367 +msgid "Second" +msgstr "ସେକଣ୍ଡ" + +#: ../libegg/egg-datetime.c:368 +msgid "Displayed second" +msgstr "ଦର୍ଶାଯାଇଥିବା ସେକଣ୍ଡ" + +#: ../libegg/egg-datetime.c:373 +msgid "Lower limit year" +msgstr "ନିମ୍ନ ସୀମା ବର୍ଷ" + +#: ../libegg/egg-datetime.c:374 +msgid "Year part of the lower date limit" +msgstr "ନିମ୍ନ ତାରିଖ ସୀମାର ବର୍ଷ" + +#: ../libegg/egg-datetime.c:379 +msgid "Upper limit year" +msgstr "ଉପର ସୀମା ବର୍ଷ" + +#: ../libegg/egg-datetime.c:380 +msgid "Year part of the upper date limit" +msgstr "ଉପର ତାରିଖ ସୀମାର ବର୍ଷ ଭାଗ" + +#: ../libegg/egg-datetime.c:385 +msgid "Lower limit month" +msgstr "ନିମ୍ନ ସୀମା ମାସ" + +#: ../libegg/egg-datetime.c:386 +msgid "Month part of the lower date limit" +msgstr "ନିମ୍ନ ତାରିଖ ସୀମାର ମାସ ଅଂଶ" + +#: ../libegg/egg-datetime.c:391 +msgid "Upper limit month" +msgstr "ଉପର ସୀମା ମାସ" + +#: ../libegg/egg-datetime.c:392 +msgid "Month part of the upper date limit" +msgstr "ଉପର ତାରିଖ ସୀମାର ମାସ ଅଂଶ" + +#: ../libegg/egg-datetime.c:397 +msgid "Lower limit day" +msgstr "ନିମ୍ନ ସୀମା ଦିବସ" + +#: ../libegg/egg-datetime.c:398 +msgid "Day of month part of the lower date limit" +msgstr "ନିମ୍ନ ତାରିଖ ସୀମାର ମାସ ଅଂଶର ଦିନ" + +#: ../libegg/egg-datetime.c:403 +msgid "Upper limit day" +msgstr "ଉପର ସୀମା ଦିବସ" + +#: ../libegg/egg-datetime.c:404 +msgid "Day of month part of the upper date limit" +msgstr "ଉପର ତାରିଖ ସୀମାର ମାସ ଅଂଶର ଦିବସ" + +#: ../libegg/egg-datetime.c:409 +msgid "Lower limit hour" +msgstr "ନିମ୍ନ ସୀମା ଘଣ୍ଟା" + +#: ../libegg/egg-datetime.c:410 +msgid "Hour part of the lower time limit" +msgstr "ନିମ୍ନ ସମୟ ସୀମାର ଘଣ୍ଟା ଅଂଶ" + +#: ../libegg/egg-datetime.c:415 +msgid "Upper limit hour" +msgstr "ଉପର ସୀମା ଘଣ୍ଟା" + +#: ../libegg/egg-datetime.c:416 +msgid "Hour part of the upper time limit" +msgstr "ଉପର ସମୟ ସୀମାର ଘଣ୍ଟା ଅଂଶ" + +#: ../libegg/egg-datetime.c:421 +msgid "Lower limit minute" +msgstr "ନିମ୍ନ ସୀମା ମିନଟ" + +#: ../libegg/egg-datetime.c:422 +msgid "Minute part of the lower time limit" +msgstr "ନିମ୍ନ ସମୟ ସୀମାର ମିନଟ ଅଂଶ" + +#: ../libegg/egg-datetime.c:427 +msgid "Upper limit minute" +msgstr "ଉପର ସୀମା ମିନଟ" + +#: ../libegg/egg-datetime.c:428 +msgid "Minute part of the upper time limit" +msgstr "ଉପର ସମୟ ସୀମାର ମିନଟ ଅଂଶ" + +#: ../libegg/egg-datetime.c:433 +msgid "Lower limit second" +msgstr "ନିମ୍ନ ସୀମା ସେକଣ୍ଡ" + +#: ../libegg/egg-datetime.c:434 +msgid "Second part of the lower time limit" +msgstr "ନିମ୍ନ ସମୟ ସୀମାର ସେକଣ୍ଡ ଅଂଶ" + +#: ../libegg/egg-datetime.c:439 +msgid "Upper limit second" +msgstr "ଉପର ସୀମା ସେକଣ୍ଡ" + +#: ../libegg/egg-datetime.c:440 +msgid "Second part of the upper time limit" +msgstr "ଉପର ସମୟ ସୀମାର ସେକଣ୍ଡ ଅଂଶ" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:482 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:504 +msgid "Date" +msgstr "ତାରିଖ" + +#: ../libegg/egg-datetime.c:504 +msgid "Enter the date directly" +msgstr "ସିଧାସଳଖ ଭାବରେ ତାରିଖ ଭରଣ କରନ୍ତୁ" + +#: ../libegg/egg-datetime.c:511 +msgid "Select Date" +msgstr "ତାରିଖ ଚୟନ କରନ୍ତୁ" + +#: ../libegg/egg-datetime.c:511 +msgid "Select the date from a calendar" +msgstr "କ୍ଯାଲେଣ୍ଡରରୁ ତାରିଖକୁ ଚୟନ କରନ୍ତୁ" + +#: ../libegg/egg-datetime.c:529 ../libegg/egg-datetime.c:2213 +msgid "Time" +msgstr "ସମୟ" + +#: ../libegg/egg-datetime.c:529 +msgid "Enter the time directly" +msgstr "ସିଧାସଳଖ ଭାବରେ ସମୟ ଭରଣ କରନ୍ତୁ" + +#: ../libegg/egg-datetime.c:536 +msgid "Select Time" +msgstr "ସମୟ ଚୟନ କରନ୍ତୁ" + +#: ../libegg/egg-datetime.c:536 +msgid "Select the time from a list" +msgstr "ଗୋଟିଏ ତାଲିକାରୁ ସମୟ ଚୟନ କରନ୍ତୁ" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:810 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:814 ../libegg/egg-datetime.c:1274 +#: ../libegg/egg-datetime.c:1278 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:816 ../libegg/egg-datetime.c:1275 +#: ../libegg/egg-datetime.c:1282 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:824 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:827 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:831 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:834 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1190 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1255 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libegg/eggdesktopfile.c:165 +#, c-format +msgid "File is not a valid .desktop file" +msgstr "ଫାଇଲଟି ବୈଧ .desktop ଫାଇଲ ନୁହଁ" + +#: ../libegg/eggdesktopfile.c:188 +#, c-format +msgid "Unrecognized desktop file Version '%s'" +msgstr "ଅଚିହ୍ନା ଡେସ୍କଟପ ଫାଇଲ ସଂସ୍କରଣ '%s'" + +#: ../libegg/eggdesktopfile.c:968 +#, c-format +msgid "Starting %s" +msgstr "%sକୁ ଆରମ୍ଭ କରୁଅଛି" + +#: ../libegg/eggdesktopfile.c:1110 +#, c-format +msgid "Application does not accept documents on command line" +msgstr "ନିର୍ଦ୍ଦେଶ ନାମାରେ ପ୍ରୟୋଗ ଦଲିଲ ଗ୍ରହଣ କରେନାହିଁ" + +#: ../libegg/eggdesktopfile.c:1178 +#, c-format +msgid "Unrecognized launch option: %d" +msgstr "ଅଚିହ୍ନା ଆରମ୍ଭ ବିକଳ୍ପ: %d" + +#: ../libegg/eggdesktopfile.c:1383 +#, c-format +msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +msgstr "ଦଲିଲ URI ଗୁଡ଼ିକୁ 'Type=Link' ଡେସ୍କଟପ ଭରଣ ମଧ୍ଯଦେଇ ପାସ କରିହେବ ନାହିଁ" + +#: ../libegg/eggdesktopfile.c:1404 +#, c-format +msgid "Not a launchable item" +msgstr "ଗୋଟିଏ ଆରମ୍ଭଯୋଗ୍ୟ ବସ୍ତୁ ନୁହଁ" + +#: ../libegg/eggsmclient.c:225 +msgid "Disable connection to session manager" +msgstr "ଅଧିବେଶନ ପରିଚାଳକଙ୍କ ସହ ସମ୍ପର୍କ ବନ୍ଦ କରିଦିଅନ୍ତୁ" + +#: ../libegg/eggsmclient.c:228 +msgid "Specify file containing saved configuration" +msgstr "ସଂରକ୍ଷିତ ବିନ୍ୟାସ ଧାରଣ କରିଥିବା ଫାଇଲକୁ ଉଲ୍ଲେଖ କରନ୍ତୁ" + +#: ../libegg/eggsmclient.c:228 +msgid "FILE" +msgstr "FILE" + +#: ../libegg/eggsmclient.c:231 +msgid "Specify session management ID" +msgstr "ଅଧିବେଶନ ପରିଚାଳନା ID ଉଲ୍ଲେଖ କରନ୍ତୁ" + +#: ../libegg/eggsmclient.c:231 ../pgp/seahorse-pgp-key-properties.c:1314 +msgid "ID" +msgstr "ପରିଚୟ" + +#: ../libegg/eggsmclient.c:252 +msgid "Session management options:" +msgstr "ଅଧିବେଶନ ପରିଚାଳନା ବିକଳ୍ପଗୁଡ଼ିକ:" + +#: ../libegg/eggsmclient.c:253 +msgid "Show session management options" +msgstr "ଅଧିବେଶନ ପରିଚାଳନା ବିକଳ୍ପଗୁଡ଼ିକୁ ଦର୍ଶାନ୍ତୁ" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "କି ସର୍ଭର ଯୋଗ କରନ୍ତୁ" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Host:" +msgstr "ଆଧାର:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Key Server Type:" +msgstr "କି ସର୍ଭର ପ୍ରକାର:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid "The port to access the server on." +msgstr "ସର୍ଭରକୁ ଅଭିଗମ୍ୟ କରିବା ପାଇଁ ସଂଯୋଗିକୀ।" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "initial temporary item" +msgstr "ପ୍ରାରମ୍ଭିକ ଅସ୍ଥାୟୀ ବସ୍ତୁ" + +#: ../libseahorse/seahorse-notification.c:576 +#: ../libseahorse/seahorse-notification.c:604 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "କି ଆମଦାନି କରାଯାଇଛି" +msgstr[1] "କି ଆମଦାନି କରାଯାଇଛି" + +#: ../libseahorse/seahorse-notification.c:580 +#: ../libseahorse/seahorse-notification.c:603 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "%i କି ଆମଦାନି କରାଯାଇଛି" +msgstr[1] "%i କି ଆମଦାନି କରାଯାଇଛି" + +#: ../libseahorse/seahorse-notification.c:582 +#, c-format +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "ପାଇଁ କି ଆମଦାନି କରାଯାଇଛି" +msgstr[1] "ପାଇଁ କି ଆମଦାନି କରାଯାଇଛି" + +#: ../libseahorse/seahorse-notify.xml.h:1 +msgid "Notification Messages" +msgstr "ବିଜ୍ଞପ୍ତି ସନ୍ଦେଶଗୁଡ଼ିକ" + +#: ../libseahorse/seahorse-object.c:317 +msgid "Symmetric Key" +msgstr "ସନ୍ତୁଳିତ କି" + +#: ../libseahorse/seahorse-object.c:320 +msgid "Public Key" +msgstr "ସର୍ବସାଧାରଣ କି " + +#: ../libseahorse/seahorse-object.c:323 +msgid "Private Key" +msgstr "ବ୍ୟକ୍ତିଗତ କି" + +#: ../libseahorse/seahorse-object.c:326 +msgid "Credentials" +msgstr "ପ୍ରମାଣପତ୍ର" + +#. +#. * Translators: "This object is a means of storing items such as +#. * name, email address, etc. that make up one's digital identity. +#. +#: ../libseahorse/seahorse-object.c:333 +msgid "Identity" +msgstr "ପରିଚୟ" + +#: ../libseahorse/seahorse-passphrase.c:200 +msgid "Passphrase" +msgstr "ପ୍ରବେଶ ସଙ୍କେତ" + +#: ../libseahorse/seahorse-passphrase.c:203 +#: ../ssh/seahorse-ssh-operation.c:480 +msgid "Password:" +msgstr "ପ୍ରବେଶ ସଙ୍କେତ:" + +#: ../libseahorse/seahorse-passphrase.c:269 +msgid "Confirm:" +msgstr "ନିଶ୍ଚିତ କରନ୍ତୁ:" + +#: ../libseahorse/seahorse-prefs.c:62 +msgid "Not a valid Key Server address." +msgstr "ଗୋଟିଏ ବୈଧ କି ସର୍ଭର ଠିକଣା ନୁହଁ।" + +#: ../libseahorse/seahorse-prefs.c:63 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "ସହାୟତା ପାଇଁ ଆପଣଙ୍କର ତନ୍ତ୍ର ପ୍ରଶାସକଙ୍କ ଅଥବା କି ସର୍ଭରର ପ୍ରଶାସକଙ୍କ ସହିତ ଯୋଗାଯୋଗ କରନ୍ତୁ।" + +#: ../libseahorse/seahorse-prefs.c:172 +msgid "URL" +msgstr "ୟୁ.ଆର.ଏଲ." + +#: ../libseahorse/seahorse-prefs.c:352 +msgid "Custom" +msgstr "ଇଚ୍ଛାରୂପଣ" + +#: ../libseahorse/seahorse-prefs.c:425 +msgid "None: Don't publish keys" +msgstr "କେହିନୁହଁ: କିଗୁଡ଼ିକୁ ପ୍ରକାଶ କରନ୍ତୁ ନାହିଁ" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Automatically retrieve keys from _key servers" +msgstr "କି ସର୍ଭରଗୁଡ଼ିକରୁ ସ୍ୱୟଂଚାଳିତ ଭାବରେ କିଗୁଡ଼ିକୁ କାଢନ୍ତୁ (_k)" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "କି ସର୍ଭରଗୁଡ଼ିକରୁ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ପରିବର୍ତ୍ତିତ କିଗୁଡ଼ିକୁ ସନ୍ତୁଳିତକରନ୍ତୁ (_m)" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "Key Servers" +msgstr "କି ସର୍ଭରଗୁଡ଼ିକ" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Preferences" +msgstr "ପସନ୍ଦ" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "_Find keys via:" +msgstr "ମାଧ୍ଯମରେ କିଗୁଡ଼ିକୁ ଖୋଜନ୍ତୁ (_F):" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "_Publish keys to:" +msgstr "କିଗୁଡ଼ିକୁ ରେ ପ୍ରକାଶ କରନ୍ତୁ (_P):" + +#: ../libseahorse/seahorse-progress.xml.h:1 +msgid "Progress Title" +msgstr "ଉନ୍ନତି ଶୀର୍ଷକ" + +#: ../libseahorse/seahorse-unknown.c:67 +msgid "Unavailable" +msgstr "ଉପଲବ୍ଧନାହିଁ" + +#: ../libseahorse/seahorse-util.c:240 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-util.c:516 +msgid "Key Data" +msgstr "କି ତଥ୍ୟ" + +#: ../libseahorse/seahorse-util.c:518 +msgid "Multiple Keys" +msgstr "ଏକାଧିକ କିଗୁଡ଼ିକ" + +#: ../libseahorse/seahorse-util.c:774 +msgid "Couldn't run file-roller" +msgstr "file-rollerକୁ ଚଲାଇପାରିଲା ନାହିଁ" + +#: ../libseahorse/seahorse-util.c:780 +msgid "Couldn't package files" +msgstr "ଫାଇଲଗୁଡ଼ିକୁ ପ୍ୟାକେଜ କରିପାରିଲା ନାହିଁ" + +#: ../libseahorse/seahorse-util.c:781 +msgid "The file-roller process did not complete successfully" +msgstr "file-roller ପଦ୍ଧତିଟି ସଫଳତାର ସହିତ ସମ୍ପୂର୍ଣ୍ଣ ହୋଇନଥିଲା" + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:957 +msgid "All key files" +msgstr "ସମସ୍ତ କି ଫାଇଲଗୁଡ଼ିକ" + +#: ../libseahorse/seahorse-util.c:968 ../libseahorse/seahorse-util.c:1016 +#: ../pgp/seahorse-gpgme-photos.c:242 +msgid "All files" +msgstr "ସମସ୍ତ ଫାଇଲ" + +#: ../libseahorse/seahorse-util.c:1009 +msgid "Archive files" +msgstr "ଆଲେଖୀ ଫାଇଲଗୁଡ଼ିକ" + +#: ../libseahorse/seahorse-util.c:1079 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" +" ଏହି ନାମରେ ଗୋଟିଏ ଫାଇଲ ପୂର୍ବରୁ ଅବସ୍ଥିତ।\n" +"\n" +"ଆପଣ ଏହାକୁ ଗୋଟିଏ ନୂତନ ଫାଇଲ ଆକାରରେ ସ୍ଥାନାନ୍ତରିତ କରିବାକୁ ଚାହୁଁଛନ୍ତି କି?" + +#: ../libseahorse/seahorse-util.c:1082 +msgid "_Replace" +msgstr "ବଦଳାନ୍ତୁ (_R)" + +#: ../libseahorse/seahorse-validity.c:40 ../pgp/seahorse-gpgme-subkey.c:197 +#: ../pgp/seahorse-pgp-key-properties.c:1133 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +msgid "Unknown" +msgstr "ଅଜଣା" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1139 +msgctxt "Validity" +msgid "Never" +msgstr "କଦାପି ନୁହଁ" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-key-properties.c:1146 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Marginal" +msgstr "ସାମାନ୍ୟ" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-key-properties.c:1152 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Full" +msgstr "ପୂର୍ଣ୍ଣ" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-key-properties.c:1158 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "Ultimate" +msgstr "ଅତି ଉତ୍ତମ" + +#: ../libseahorse/seahorse-validity.c:50 +#: ../pgp/seahorse-pgp-key-properties.c:1351 +msgid "Disabled" +msgstr "ନିଷ୍କ୍ରିୟ କରାଯାଇଛି" + +#: ../libseahorse/seahorse-validity.c:52 +#: ../pgp/seahorse-pgp-key-properties.c:1347 +msgid "Revoked" +msgstr "ପ୍ରତିସଂହରଣ" + +#: ../libseahorse/seahorse-widget.c:480 +#, c-format +msgid "Could not display help: %s" +msgstr "ସହାୟତା ଦର୍ଶାଇପାରିବେ ନାହିଁ: %s" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Expiration Date:" +msgstr "ସମାପ୍ତି ତାରିଖ:" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "Generate a new subkey" +msgstr "ଗୋଟିଏ ନୂତନ ଉପ କି ସୃଷ୍ଟି କରନ୍ତୁ" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +msgid "If key never expires" +msgstr "ଯଦି କି କଦାପି ସମାପ୍ତି ହୋଇନଥାଏ" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "କି ଲମ୍ବ (_L):" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Key _Type:" +msgstr "କି ପ୍ରକାର (_T):" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "କି ର ଲମ୍ବ" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Never E_xpires" +msgstr "କଦାପି ସମୟ ସମାପ୍ତି ହୋଇନଥାଏ (_x)" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "ଚାଳକ ID ଯୋଗକରନ୍ତୁ" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Create the new user ID" +msgstr "ନୂତନ ଚାଳକ ID ନିର୍ମାଣ କରନ୍ତୁ" + +#: ../pgp/seahorse-add-uid.xml.h:3 ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Full _Name:" +msgstr "ସମ୍ପୂର୍ଣ୍ଣ ନାମ (_N):" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Key Co_mment:" +msgstr "କି ଟିପ୍ପଣୀ (_m):" + +#: ../pgp/seahorse-add-uid.xml.h:5 +msgid "Must be at least 5 characters long" +msgstr "ନିଶ୍ଚିତ ଭାବରେ ଅତିକମରେ 5 ଅକ୍ଷର ବିଶିଷ୍ଟ ହୋଇଥିବା ଉଚିତ" + +#: ../pgp/seahorse-add-uid.xml.h:6 +msgid "Optional comment describing key" +msgstr "ବୈକଳ୍ପିକ ଟିପ୍ପଣୀ ବର୍ଣ୍ଣନାକାରୀ କି" + +#: ../pgp/seahorse-add-uid.xml.h:7 +msgid "Optional email address" +msgstr "ବୈକଳ୍ପିକ ଇମେଲ ଠିକଣା" + +#: ../pgp/seahorse-add-uid.xml.h:8 ../pgp/seahorse-pgp-generate.xml.h:13 +msgid "_Email Address:" +msgstr "ଇମେଲ ଠିକଣା (_E):" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "C_hange" +msgstr "ପରିବର୍ତ୍ତନ କରନ୍ତୁ (_h)" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:4 +msgid "Revoke key" +msgstr "କି କୁ ପ୍ରତିସଂହରଣ କରନ୍ତୁ" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "_Never expires" +msgstr "କଦାପି ସମୟ ସମାପ୍ତି ହୋଇନଥାଏ (_N)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:147 +msgid "Couldn't add subkey" +msgstr "ଉପ-କି ଗୁଡ଼ିକୁ ଯୋଗ କରିପାରିଲା ନାହିଁ" + +#: ../pgp/seahorse-gpgme-add-subkey.c:166 +#, c-format +msgid "Add subkey to %s" +msgstr "%s ରେ ଉପ କି ଯୋଗ କରନ୍ତୁ" + +#: ../pgp/seahorse-gpgme-add-subkey.c:182 ../pgp/seahorse-gpgme-generate.c:118 +msgid "DSA (sign only)" +msgstr "DSA (କେବଳ ହସ୍ତାକ୍ଷର)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:190 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (କେବଳ ସଂଗୁପ୍ତ କରିଥାଏ)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:196 ../pgp/seahorse-gpgme-generate.c:119 +msgid "RSA (sign only)" +msgstr "RSA (କେବଳ ହସ୍ତାକ୍ଷର)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:202 +msgid "RSA (encrypt only)" +msgstr "RSA (କେବଳ ସଂଗୁପ୍ତ କରିଥାଏ)" + +#: ../pgp/seahorse-gpgme-add-uid.c:85 +msgid "Couldn't add user id" +msgstr "ଚାଳକ id ଯୋଗ କରିପାରିଲା ନାହିଁ" + +#: ../pgp/seahorse-gpgme-add-uid.c:107 +#, c-format +msgid "Add user ID to %s" +msgstr "%s ରେ ଚାଳକ ID ଯୋଗ କରନ୍ତୁ" + +#: ../pgp/seahorse-gpgme.c:72 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "ଅସଂଗୁପ୍ତ ବିଫଳ ହୋଇଛି। ଆପଣଙ୍କ ପାଖରେ ସମ୍ଭବତଃ ଅସଂଗୁପ୍ତ କି ନାହିଁ।" + +#: ../pgp/seahorse-gpgme-expires.c:58 +msgid "Invalid expiry date" +msgstr "ଅବୈଧ ସମୟ ସମାପ୍ତି ତାରିଖ" + +#: ../pgp/seahorse-gpgme-expires.c:59 +msgid "The expiry date must be in the future" +msgstr "ସମୟ ସମାପ୍ତି ତାରିଖ ନିଶ୍ଚିତ ଭାବରେ ଭବିଷ୍ୟତରେ ଥିବା ଉଚିତ" + +#: ../pgp/seahorse-gpgme-expires.c:72 +msgid "Couldn't change expiry date" +msgstr "ସମୟ ସମାପ୍ତି ତାରିଖକୁ ପରିବର୍ତ୍ତନ କରିପାରିଲା ନାହିଁ" + +#: ../pgp/seahorse-gpgme-expires.c:131 +#, c-format +msgid "Expiry: %s" +msgstr "ସମୟ ସମାପ୍ତି: %s" + +#: ../pgp/seahorse-gpgme-generate.c:79 +msgid "PGP Key" +msgstr "PGP କି" + +#: ../pgp/seahorse-gpgme-generate.c:80 +msgid "Used to encrypt email and files" +msgstr "ଇମେଲ ଏବଂ ଫାଇଲଗୁଡ଼ିକୁ ସଂଗୁପ୍ତ କରିବାରେ ବ୍ୟବହୃତ ହୋଇଥାଏ" + +#: ../pgp/seahorse-gpgme-generate.c:116 ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:117 +msgid "DSA Elgamal" +msgstr "DSA Elgamal" + +#: ../pgp/seahorse-gpgme-generate.c:135 +msgid "Couldn't generate PGP key" +msgstr "PGP କି ସୃଷ୍ଟି କରିପାରିଲା ନାହିଁ" + +#: ../pgp/seahorse-gpgme-generate.c:195 +msgid "Passphrase for New PGP Key" +msgstr "ନୂତନ PGP କି ପାଇଁ ପ୍ରବେଶ ସଂକେତ" + +#: ../pgp/seahorse-gpgme-generate.c:196 +msgid "Enter the passphrase for your new key twice." +msgstr "ଆପଣଙ୍କର ନୂତନ କି ପାଇଁ ଦୁଇଥର ପ୍ରବେଶ ସଂକେତ ଭରଣ କରନ୍ତୁ।" + +#: ../pgp/seahorse-gpgme-generate.c:205 +msgid "Couldn't generate key" +msgstr "କି ସୃଷ୍ଟି କରିପାରିଲା ନାହିଁ" + +#: ../pgp/seahorse-gpgme-generate.c:207 +msgid "Generating key" +msgstr "କି ସୃଷ୍ଟି କରୁଅଛି" + +#: ../pgp/seahorse-gpgme-key-op.c:301 +#| msgid "Show pass_word" +msgid "Wrong password" +msgstr "ଭୁଲ ପ୍ରବେଶ ସଙ୍କେତ" + +#: ../pgp/seahorse-gpgme-key-op.c:301 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "ଆପଣ ତୃତୀୟ ଥର ପାଇଁ ଭୁଲ ପ୍ରବେଶ ସଂକେତ ଭରଣ କରିଛନ୍ତି। ଦୟାକରି ପୁଣିଥରେ ଚେଷ୍ଟାକରନ୍ତୁ।" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"ଫୋଟଟି ଅତ୍ୟଧିକ ବଡ଼\n" +"ଆପଣଙ୍କର କି ରେ ଗୋଟିଏ ଫୋଟ ପାଇଁ ପରାମର୍ଶିତ କିର ଆକାର ହେଉଛି %d x %d ପିକସେଲ।" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "ଆକାର ପରିବର୍ତ୍ତନ କରନ୍ତୁ ନାହିଁ (_D)" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "ଆକାର ବଦଳାନ୍ତୁ (_R)" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"ଏହା ଗୋଟିଏ ପ୍ରତିଛବି ଫାଇଲ, ଅଥବା ଅଚିହ୍ନା ପ୍ରକାରର ପ୍ରତିଛବି ଫାଇଲ ନୁହଁ। ଗୋଟିଏ JPEG ପ୍ରତିଛବି ବ୍ୟବହାର " +"କରିବାକୁ ଚେଷ୍ଟାକରନ୍ତୁ।" + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "ଫାଇଲ୍‌ଗୁଡିକର ଚିତ୍ରସବୁ" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "ସମସ୍ତ JPEG ଫାଇଲଗୁଡ଼ିକ" + +#: ../pgp/seahorse-gpgme-photos.c:261 +msgid "Choose Photo to Add to Key" +msgstr "କି ରେ ଯୋଗ କରିବା ପାଇଁ ଫୋଟ ବାଛନ୍ତୁ" + +#: ../pgp/seahorse-gpgme-photos.c:290 ../pgp/seahorse-gpgme-photos.c:294 +msgid "Couldn't add photo" +msgstr "ଫୋଟ ଯୋଗ କରିପାରିଲା ନାହିଁ" + +#: ../pgp/seahorse-gpgme-photos.c:291 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "ଫାଇଲକୁ ଧାରଣ କରାଯାଇପାରିଲା ନାହିଁ। ଏହା ହୁଏତ ଗୋଟିଏ ଅବୈଧ ଶୈଳୀରେ ଅଛି" + +#: ../pgp/seahorse-gpgme-photos.c:320 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "ଆପଣଙ୍କ କିରୁ ପ୍ରଚଳିତ ଫୋଟକୁ କାଢ଼ିବାକୁ ଚାହୁଁଛନ୍ତି ବୋଲି ନିଶ୍ଚିତ କି?" + +#: ../pgp/seahorse-gpgme-photos.c:333 +msgid "Couldn't delete photo" +msgstr "ଫୋଟକୁ ଅପସାରଣ କରିପାରିଲା ନାହିଁ" + +#: ../pgp/seahorse-gpgme-revoke.c:70 +msgid "Couldn't revoke subkey" +msgstr "ଉପ-କି କୁ ପ୍ରତିସଂହରଣ କରିପାରିଲା ନାହିଁ" + +#: ../pgp/seahorse-gpgme-revoke.c:91 +#, c-format +msgid "Revoke: %s" +msgstr "ପ୍ରତିସଂହରଣ କରନ୍ତୁ: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:102 +msgid "No reason" +msgstr "କୌଣସି କାରଣ ନାହିଁ" + +#: ../pgp/seahorse-gpgme-revoke.c:103 +msgid "No reason for revoking key" +msgstr "କିକୁ ପ୍ରତିସଂହରଣ କରିବା ଆବଶ୍ୟକ ନୁହଁ" + +#: ../pgp/seahorse-gpgme-revoke.c:109 +msgid "Compromised" +msgstr "ଆପୋଷ ବୁଝାମଣା ହୋଇଛି" + +#: ../pgp/seahorse-gpgme-revoke.c:110 +msgid "Key has been compromised" +msgstr "କିରେ ଆପୋଷ ବୁଝାମଣା ହୋଇଛି" + +#: ../pgp/seahorse-gpgme-revoke.c:116 +msgid "Superseded" +msgstr "ଅଧିକ୍ରମଣ କରିଛି" + +#: ../pgp/seahorse-gpgme-revoke.c:117 +msgid "Key has been superseded" +msgstr "କି ଟି ଅଧିକ୍ରମଣ ହୋଇଛି" + +#: ../pgp/seahorse-gpgme-revoke.c:123 +msgid "Not Used" +msgstr "ବ୍ୟବହାର ହୋଇନଥାଏ" + +#: ../pgp/seahorse-gpgme-revoke.c:124 +msgid "Key is no longer used" +msgstr "କି ଏବେ ଆଉ ବ୍ୟବହାର ହେଉନାହିଁ" + +#: ../pgp/seahorse-gpgme-revoke.c:161 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"ଆପଣ %s କୁ %s ପାଇଁ ପ୍ରତିସଂହରଣକାରୀ ଭାବରେ ଯୋଗ କରିବାକୁ ଯାଉଛନ୍ତି। ଏହି ପ୍ରୟୋଗର ପଦକ୍ଷେପ ବାତିଲ " +"କରିପାରିବେ ନାହିଁ! ଆପଣ ଅଗ୍ରସର ହେବାକୁ ଚାହୁଁଛନ୍ତି ବୋଲି ନିଶ୍ଚିତ କି?" + +#: ../pgp/seahorse-gpgme-revoke.c:173 +msgid "Couldn't add revoker" +msgstr "ପ୍ରତିସଂହରଣକାରୀକୁ ଯୋଗ କରିପାରିଲା ନାହିଁ" + +#: ../pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" +"ଏହି କି ଟି \"%s\" ଦ୍ୱାରା ପୂର୍ବରୁ ହସ୍ତାକ୍ଷର\n" +"ହୋଇଛି" + +#: ../pgp/seahorse-gpgme-sign.c:103 +msgid "Couldn't sign key" +msgstr "କି କୁ ହସ୍ତାକ୍ଷର କରିପାରିଲା ନାହିଁ" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:157 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "ହସ୍ତାକ୍ଷର ପାଇଁ କୌଣସି କି ବ୍ୟବହାର ଉପୋଯୋଗୀ ନୁହଁ" + +#: ../pgp/seahorse-gpgme-sign.c:158 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"ଆପଣଙ୍କ ପାଖରେ କୌଣସି ବ୍ୟକ୍ତିଗତ PGP କି ଗୁଡ଼ିକ ନାହିଁ ଯାହାକୁକି ଏହି କି ପ୍ରତି ଆପଣଙ୍କର ବିଶ୍ୱାସକୁ ସୂଚାଇଥାଏ।" + +#: ../pgp/seahorse-gpgme-source.c:99 +#, c-format +msgid "Wrong passphrase." +msgstr "ଭୁଲ ପ୍ରବେଶ ସଂକେତ।" + +#: ../pgp/seahorse-gpgme-source.c:103 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "%s ପାଇଁ ନୂତନ ପ୍ରବେଶ ସଂକେତ ଭରଣ କରନ୍ତୁ" + +#: ../pgp/seahorse-gpgme-source.c:105 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "'%s' ପାଇଁ ପ୍ରବେଶ ସଂକେତ ଭରଣ କରନ୍ତୁ" + +#: ../pgp/seahorse-gpgme-source.c:108 +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Enter new passphrase" +msgstr "ନୂତନ ପ୍ରବେଶ ସଂକେତ ଭରଣ କରନ୍ତୁ" + +#: ../pgp/seahorse-gpgme-source.c:110 +msgid "Enter passphrase" +msgstr "ପ୍ରବେଶ ସଂକେତ ଭରଣ କରନ୍ତୁ" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../pgp/seahorse-gpgme-source.c:722 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d କି କୁ ଧାରଣ କରାଯାଇଥାଏ" +msgstr[1] "%d କି ଗୁଡ଼ିକୁ ଧାରଣ କରାଯାଇଥାଏ" + +#: ../pgp/seahorse-gpgme-source.c:777 +msgid "Loading Keys..." +msgstr "କିଗୁଡ଼ିକୁ ଧାରଣ କରାଯାଉଛି..." + +#: ../pgp/seahorse-gpgme-source.c:820 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"ଅବୈଧ କି ତଥ୍ୟ (ଅନୁପସ୍ଥିତ UIDs)। ଏହା ହୁଏତ ଭବିଷ୍ୟତରେ ତାରିଖ ସେଟ ବିଶିଷ୍ଟ କମ୍ପୁଟର ସହିତ ହୋଇଥାଏ " +"ଅଥବା ଗୋଟିଏ ଅନୁପସ୍ଥିତ ସ୍ୱୟଂ-ହସ୍ତକୃତ ହୋଇଥାଏ।" + +#: ../pgp/seahorse-gpgme-source.c:910 ../src/seahorse-key-manager.c:544 +msgid "Importing Keys" +msgstr "କିଗୁଡ଼ିକୁ ଆମଦାନୀ କରୁଅଛି" + +#: ../pgp/seahorse-gpgme-source.c:946 +msgid "Exporting Keys" +msgstr "କିଗୁଡ଼ିକୁ ରପ୍ତାନୀ କରୁଅଛି" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:387 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "ସନ୍ଧାନ ଯଥେଷ୍ଟ ନିର୍ଦ୍ଧିଷ୍ଟ ନୁହଁ। ସର୍ଭର '%s' ରେ ଅତ୍ୟଧିକ କି ମିଳିଛି।" + +#: ../pgp/seahorse-hkp-source.c:389 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "ସର୍ଭର '%s' ସହିତ ଯୋଗାଯୋଗ କରିପାରିଲା ନାହିଁ: %s" + +#: ../pgp/seahorse-hkp-source.c:671 +msgid "Searching for keys..." +msgstr "କିଗୁଡ଼ିକୁ ଖୋଜୁଅଛି..." + +#: ../pgp/seahorse-hkp-source.c:759 +msgid "Uploading keys..." +msgstr "କିଗୁଡ଼ିକୁ ଧାରଣ କରୁଅଛି..." + +#: ../pgp/seahorse-hkp-source.c:857 +msgid "Retrieving keys..." +msgstr "କିଗୁଡ଼ିକୁ କାଢ଼ୁଅଛି..." + +#: ../pgp/seahorse-hkp-source.c:987 +#, c-format +msgid "Searching for keys on: %s" +msgstr "ଏଥିରେ କିଗୁଡ଼ିକୁ ଖୋଜୁଅଛି: %s" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../pgp/seahorse-hkp-source.c:1072 ../pgp/seahorse-hkp-source.c:1154 +#: ../pgp/seahorse-ldap-source.c:668 +#, c-format +msgid "Connecting to: %s" +msgstr "ଏହା ସହିତ ସଂଯୋଗ କରୁଅଛି: %s" + +#: ../pgp/seahorse-hkp-source.c:1184 +msgid "HTTP Key Server" +msgstr "HTTP କି ସର୍ଭର" + +#: ../pgp/seahorse-ldap-source.c:459 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "'%s' ସହିତ ଯୋଗାଯୋଗ କରିପାରିଲା ନାହିଁ: %s" + +#: ../pgp/seahorse-ldap-source.c:641 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "ଠିକଣାକୁ ସମାଧାନ କରିପାରିଲା ନାହିଁ: %s" + +#: ../pgp/seahorse-ldap-source.c:719 +#, c-format +msgid "Resolving server address: %s" +msgstr "ସର୍ଭର ଠିକଣାକୁ ସମାଧାନ କରୁଅଛି: %s" + +#: ../pgp/seahorse-ldap-source.c:955 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "'%s' ଧାରଣ କରିଥିବା କିଗୁଡ଼ିକୁ ସନ୍ଧାନ କରୁଅଛି ..." + +#: ../pgp/seahorse-ldap-source.c:983 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "କି id '%s' କୁ ସନ୍ଧାନ କରୁଅଛି..." + +#: ../pgp/seahorse-ldap-source.c:1089 +msgid "Retrieving remote keys..." +msgstr "ସୁଦୂର କିଗୁଡ଼ିକୁ କାଢ଼ୁଅଛି..." + +#: ../pgp/seahorse-ldap-source.c:1221 +msgid "Sending keys to key server..." +msgstr "କି ସର୍ଭରରେ କିଗୁଡ଼ିକୁ ପଠାଯାଉଛି..." + +#: ../pgp/seahorse-ldap-source.c:1423 +msgid "LDAP Key Server" +msgstr "LDAP କି ସର୍ଭର" + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "_Sign Key..." +msgstr "କି ହସ୍ତାକ୍ଷର କରନ୍ତୁ (_S)..." + +#: ../pgp/seahorse-pgp-commands.c:103 +msgid "Sign public key" +msgstr "ବ୍ୟକ୍ତିଗତ କିଗୁଡ଼ିକୁ ହସ୍ତାକ୍ଷର କରନ୍ତୁ" + +#: ../pgp/seahorse-pgp-commands.c:171 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "%s କୁ ସବୁଦିନ ପାଇଁ ଅପସାରଣ କରୁଛନ୍ତି ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି?" + +#: ../pgp/seahorse-pgp-commands.c:176 +#, c-format +msgid "Are you sure you want to permanently delete %d keys and identities?" +msgstr "%d କି ଏବଂ ପରିଚୟଗୁଡ଼ିକୁ ସବୁଦିନ ପାଇଁ ଅପସାରଣ କରୁଛନ୍ତି ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି?" + +#: ../pgp/seahorse-pgp-commands.c:178 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgstr "%d କିଗୁଡ଼ିକୁ ସବୁଦିନ ପାଇଁ ଅପସାରଣ କରୁଛନ୍ତି ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି?" + +#: ../pgp/seahorse-pgp-commands.c:180 +#, c-format +msgid "Are you sure you want to permanently delete %d identities?" +msgstr "%d ପରିଚୟଗୁଡ଼ିକୁ ସବୁଦିନ ପାଇଁ ଅପସାରଣ କରୁଛନ୍ତି ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି?" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "_Advanced key options" +msgstr "ଉନ୍ନତ କି ବିକଳ୍ପଗୁଡ଼ିକ (_A)" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "ଗୋଟିଏ PGP କି ଆପଣଙ୍କୁ ଅନ୍ୟମାନଙ୍କ ପାଇଁ ଇମେଲ ଅଥବା ଫାଇଲଗୁଡ଼ିକୁ ଅନୁମତି ଦେଇଥାଏ।" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "Algorithms here" +msgstr "ଆଲଗରିଦମଗୁଡ଼ିକ ଏଠାରେ" + +#: ../pgp/seahorse-pgp-generate.xml.h:4 +msgid "C_reate" +msgstr "ସୃଷ୍ଟି କରନ୍ତୁ (_r)" + +#: ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "E_xpiration Date:" +msgstr "ସମୟ ସମାପ୍ତି ତାରିଖ (_x):" + +#: ../pgp/seahorse-pgp-generate.xml.h:6 ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "Encryption _Type:" +msgstr "ସଂଗୁପ୍ତକରଣ ପ୍ରକାର (_T):" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Generate a new key" +msgstr "ଗୋଚିଏ ନୂତନ କି ନିର୍ମାଣ କରନ୍ତୁ" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Key _Strength (bits):" +msgstr "କି ଲମ୍ବ (_S) (ବିଟରେ):" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +msgid "Ne_ver Expires" +msgstr "କଦାପି ସମୟ ସମାପ୍ତି ହୋଇନଥାଏ (_v)" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "New PGP Key" +msgstr "ନୂତନ PGP କି" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +msgid "_Comment:" +msgstr "_ମନ୍ତବ୍ଯ:" + +#: ../pgp/seahorse-pgp-key.c:201 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +msgid "Private PGP Key" +msgstr "ବ୍ୟକ୍ତିଗତ PGP କି" + +#: ../pgp/seahorse-pgp-key.c:204 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "Public PGP Key" +msgstr "ସାମଗ୍ରିକ PGP କି" + +#: ../pgp/seahorse-pgp-key.c:583 ../pgp/seahorse-pgp-key-properties.c:1349 +msgid "Expired" +msgstr "ସମୟ ସମାପ୍ତି" + +#: ../pgp/seahorse-pgp-key-properties.c:224 +msgid "Couldn't change primary user ID" +msgstr "ପ୍ରାଥମିକ ଚାଳକ ID କୁ ପରିବର୍ତ୍ତନ କରିପାରିଲା ନାହିଁ" + +#: ../pgp/seahorse-pgp-key-properties.c:241 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "'%s' ଚାଳକ IDକୁ ସବୁଦିନ ପାଇଁ ଅପସାରଣ କରୁଛନ୍ତି ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି?" + +#: ../pgp/seahorse-pgp-key-properties.c:251 +msgid "Couldn't delete user ID" +msgstr "ଚାଳକ ID କୁ ଅପସାରଣ କରିପାରିଲା ନାହିଁ" + +#: ../pgp/seahorse-pgp-key-properties.c:333 +#: ../pgp/seahorse-pgp-key-properties.c:1464 +msgid "[Unknown]" +msgstr "[ଅଜଣା]" + +#: ../pgp/seahorse-pgp-key-properties.c:426 +#: ../pgp/seahorse-pgp-key-properties.c:1742 +msgid "Name/Email" +msgstr "ନାମ/ଇମେଲ" + +#: ../pgp/seahorse-pgp-key-properties.c:431 +msgid "Signature ID" +msgstr "ହସ୍ତାକ୍ଷର ID" + +#: ../pgp/seahorse-pgp-key-properties.c:552 +msgid "Couldn't change primary photo" +msgstr "ପ୍ରାଥମିକ ଫୋଟକୁ ପରିବର୍ତ୍ତନ କରିହେଲା ନାହିଁ" + +#: ../pgp/seahorse-pgp-key-properties.c:775 +msgid "(unknown)" +msgstr "(ଅଜଣା)" + +#: ../pgp/seahorse-pgp-key-properties.c:778 +#, c-format +msgid "This key expired on: %s" +msgstr "ଏହି କିରପ ସମୟ ସମାପ୍ତି ହୋଇଥାଏ: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:946 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "%d ଉପ-କିକୁ %s ର ସବୁଦିନ ପାଇଁ ଅପସାରଣ କରୁଛନ୍ତି ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି? " + +#: ../pgp/seahorse-pgp-key-properties.c:955 +msgid "Couldn't delete subkey" +msgstr "ଉପ-କିକୁ ଅପସାରଣ କରିପାରିଲା ନାହିଁ" + +#: ../pgp/seahorse-pgp-key-properties.c:991 +#: ../pgp/seahorse-pgp-key-properties.c:1427 +msgid "Unable to change trust" +msgstr "ବିଶ୍ୱାସକୁ ପରିବର୍ତ୍ତନ କରିବାରେ ଅସମର୍ଥ" + +#: ../pgp/seahorse-pgp-key-properties.c:1006 ../src/seahorse-viewer.c:290 +#: ../ssh/seahorse-ssh-key-properties.c:168 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "\"%s\" କୁ କି ରପ୍ତାନୀ କରିପାରିଲା ନାହିଁ" + +#: ../pgp/seahorse-pgp-key-properties.c:1035 +#: ../ssh/seahorse-ssh-key-properties.c:193 +msgid "Export Complete Key" +msgstr "ରପ୍ତାନୀ ସମ୍ପୂର୍ଣ୍ଣ କି" + +#: ../pgp/seahorse-pgp-key-properties.c:1060 +#: ../ssh/seahorse-ssh-key-properties.c:215 +msgid "Couldn't export key." +msgstr "କିଗୁଡ଼ିକୁ ରପ୍ତାନୀ କରିପାରିଲା ନାହିଁ।" + +#: ../pgp/seahorse-pgp-key-properties.c:1267 +#: ../pgp/seahorse-pgp-key-properties.c:1356 +msgctxt "Expires" +msgid "Never" +msgstr "କେବେ ନୁହେଁ" + +#. The key type column +#: ../pgp/seahorse-pgp-key-properties.c:1317 +#: ../src/seahorse-key-manager-store.c:896 +msgid "Type" +msgstr "ପ୍ରକାର" + +#: ../pgp/seahorse-pgp-key-properties.c:1320 +msgid "Created" +msgstr "ସୃଷ୍ଟିହୋଇଥିବା" + +#: ../pgp/seahorse-pgp-key-properties.c:1323 +msgid "Expires" +msgstr "ସମୟ ସମାପ୍ତ" + +#: ../pgp/seahorse-pgp-key-properties.c:1326 +msgid "Status" +msgstr "ଅବସ୍ଥିତି" + +#: ../pgp/seahorse-pgp-key-properties.c:1329 +msgid "Strength" +msgstr "ଶକ୍ତି" + +#: ../pgp/seahorse-pgp-key-properties.c:1353 +msgid "Good" +msgstr "ଉତ୍ତମ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +msgid "Actions" +msgstr "କାର୍ଯ୍ଯ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgid "Comment:" +msgstr "ମନ୍ତବ୍ଯ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgid "Dates" +msgstr "ତାରିଖ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgid "Email:" +msgstr "ଇମେଲ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgid "Fingerprint" +msgstr "ଅଙ୍ଗୁଳି ଚିହ୍ନ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +msgid "Key ID:" +msgstr "କି ID:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +msgid "Key Names and Signatures" +msgstr "କି ନାମ ଏବଂ ହସ୍ତାକ୍ଷରଗୁଡ଼ିକ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "Photo " +msgstr "ଫୋଟୋ " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +msgid "Technical Details" +msgstr "ଯାନ୍ତ୍ରିକ ବିବରଣୀ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has been revoked" +msgstr "ଏହି କିକୁ ପ୍ରତି ସଂହରଣ କରାଯାଇଛି" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:10 +msgid "This key has expired" +msgstr "ଏହି କିର ସମୟ ସମାପ୍ତି ହୋଇଛି" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Type:" +msgstr "ପ୍ରକାର:" + +#. To translators: This is the noun not the verb. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Use:" +msgstr "ବ୍ୟବହାର:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:15 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgid "_Subkeys" +msgstr "ଉପ-କିଗୁଡ଼ିକ (_S)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +msgid "Add" +msgstr "ଯୋଗ କରନ୍ତୁ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +msgid "Add a photo to this key" +msgstr "ଏହି କି ସହିତ ଗୋଟିଏ ଫୋଟୋ ଯୋଗ କରନ୍ତୁ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:18 +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +msgid "Change _Passphrase" +msgstr "ପ୍ରବେଶ ସଂକେତ ପରିବର୍ତ୍ତନ କରନ୍ତୁ (_P)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +msgid "Decrypt files and email sent to you." +msgstr "ଆପଣଙ୍କ ପାଖକୁ ପଠାଯାଇଥିବା ଫାଇଲ ଏବଂ ଇମେଲଗୁଡ଼ିକୁ ବିଗୁଢନ କରନ୍ତୁ।" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +msgid "Delete" +msgstr "ଅପସାରଣ କରନ୍ତୁ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +msgid "Expire" +msgstr "ସମାପ୍ତ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Expires:" +msgstr "ସମାପ୍ତ ହୋଇଥାଏ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Export" +msgstr "ରତ୍ପାନୀ କର" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +msgid "Go to next photo" +msgstr "ପରବର୍ତ୍ତୀ ଫୋଟୋକୁ ଯାଆନ୍ତୁ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +msgid "Go to previous photo" +msgstr "ପୂର୍ବ ଫୋଟୋକୁ ଯାଆନ୍ତୁ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:29 +msgid "Key ID:" +msgstr "କି ID:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +msgid "Make this photo the primary photo" +msgstr "ଏହି ଫୋଟୋକୁ ପ୍ରାଥମିକ ଫୋଟୋ କରନ୍ତୁ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:33 +msgid "Names and Signatures" +msgstr "ନାମ ଏବଂ ହସ୍ତାକ୍ଷରଗୁଡ଼ିକ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:32 +msgid "Never" +msgstr "କେବେ ନୁହେଁ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Override Owner _Trust:" +msgstr "ମାଲିକ ବିଶ୍ୱାସକୁ ନବଲିଖନ କରନ୍ତୁ (_T):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:36 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +msgid "Owner" +msgstr "ମାଲିକ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Primary" +msgstr "ପ୍ରାଥମିକ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Remove this photo from this key" +msgstr "ଏହି କିରୁ ଏହି ଫୋଟୋକୁ କାଢ଼ିଦିଅନ୍ତୁ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Revoke" +msgstr "ପ୍ରତିସଂହରଣ କରନ୍ତୁ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +msgid "Sign" +msgstr "ହସ୍ତାକ୍ଷର କରନ୍ତୁ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "Strength:" +msgstr "ଶକ୍ତି:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "କି ର ମାଲିକ କିକୁ ପ୍ରତିସଂହରଣ କରିଥାଏ। ଏହାକୁ ଏବେ ଆଉ ବ୍ୟବହାର କରାଯାଏ ନାହିଁ।" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "_Add Name" +msgstr "ନାମ ଯୋଗ କରନ୍ତୁ (_A)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "_Export Complete Key:" +msgstr "ସମ୍ପୂର୍ଣ୍ଣ କିକୁ ରପ୍ତାନୀ କରନ୍ତୁ (_E):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +#| msgid "Name:" +msgctxt "name-of-key" +msgid "Name:" +msgstr "ନାମ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgid "Dates:" +msgstr "ତାରିଖଗୁଡ଼ିକ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Fingerprint:" +msgstr "ଅଙ୍ଗୁଳି ଚିହ୍ନ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgid "Indicate Trust:" +msgstr "ବିଶ୍ୱାସ ସୂଚାଏ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Your trust of this key" +msgstr "ଏହି କି ପାଇଁ ଆପଣଙ୍କର ବିଶ୍ୱାସ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "_Other Names:" +msgstr "ଅନ୍ୟାନ୍ୟ ନାମଗୁଡ଼ିକ (_O):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:16 +msgid "_People who have signed this key:" +msgstr "ଏହି କି କୁ ହସ୍ତାକ୍ଷର କରିଥିବା ବ୍ୟକ୍ତି (_P):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +msgid "Encrypt files and email to the key's owner " +msgstr "କି ମାଲିକ ପାଇଁ ଫାଇଲ ଏବଂ ଇମେଲକୁ ସଂଗୁପ୍ତ କରନ୍ତୁ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:22 +msgid "Fully" +msgstr "ସମ୍ପୂର୍ଣ୍ଣ ଭାବରେ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "ମୁଁ '%s' ରୁ ଅନ୍ୟ କିଗୁଡ଼ିକ ପାଇଁ ହସ୍ତାକ୍ଷରକୁ ବିଶ୍ୱାସ କରେ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "ଯଦି ଆପଣ ବିଶ୍ୱାସ କରନ୍ତି ଯେ ଯେଉଁମାନେ କି ଅଧିକାର କରିଥାନ୍ତି '%s', sign ଏହି କି:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" +"ଯଦି ଆପଣ ଏବେ ଆଉ ବିଶ୍ୱାସ ନକରନ୍ତି ଯେ '%s' ଏହି କିକୁ ଅଧିକାର କରିଛନ୍ତି, revoke ଆପଣଙ୍କର " +"ହସ୍ତାକ୍ଷର:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "Marginally" +msgstr "ସୀମାତୀତ" + +#. Trust column +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../src/seahorse-key-manager-store.c:890 +msgid "Trust" +msgstr "ବିଶ୍ୱାସ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +msgid "Ultimately" +msgstr "ଅନ୍ତତଃ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "You _Trust the Owner:" +msgstr "ଆପଣ ମାଲିକଙ୍କୁ ବିଶ୍ୱାସ କରନ୍ତି (_T):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Your trust is manually specified on the Details tab." +msgstr "ଆପଣଙ୍କର ବିଶ୍ୱାସ ହସ୍ତକୃତ ଭାବରେ ବିବରଣୀ ଟ୍ୟାବରେ ଉଲ୍ଲେଖ କରାହୋଇଛି।" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "_Only display the signatures of people I trust" +msgstr "କେବଳ ମୁଁ ବିଶ୍ୱାସ କରୁଥିବା ବ୍ୟକ୍ତିମାନଙ୍କର ହସ୍ତାକ୍ଷର ଦର୍ଶାନ୍ତୁ (_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "_Revoke Signature" +msgstr "ହସ୍ତାକ୍ଷର ପ୍ରତ୍ୟାବୃତ କରନ୍ତୁ (_R)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "_Sign this Key" +msgstr "ଏହି କିରେ ହସ୍ତାକ୍ଷର କରନ୍ତୁ (_S)" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "ଉପ-କି %d %sର" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Optional description of revocation" +msgstr "ପ୍ରତିସଂହରଣର ବୈକଳ୍ପିକ ବର୍ଣ୍ଣନା" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "Re_voke" +msgstr "ପ୍ରତିସଂହରଣ (_v)" + +#: ../pgp/seahorse-revoke.xml.h:3 +msgid "Reason for revoking the key" +msgstr "କି କୁ ପ୍ରତିସଂହରଣ କରିବାର କାରଣ" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "_Reason:" +msgstr "କାରଣ (_R):" + +#: ../pgp/seahorse-signer.c:62 +msgid "You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"ଆପଣଙ୍କ ପାଖରେ ବ୍ୟକ୍ତିଗତ PGP କି ନାହିଁ ଯାହାକୁକି ଗୋଚିଏ ଦଲିଲ ଅଥବା ସନ୍ଦେଶକୁ ହସ୍ତାକ୍ଷର କରିବା ପାଇଁ " +"ବ୍ୟବହାର କରାଯାଇପାରିବ।" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "How carefully have you checked this key?" +msgstr "କେତେ ଯତ୍ନ ସହକାରେ ଆପଣ ଏହି କି କୁ ଯାଞ୍ଚ କରିଛନ୍ତି?" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "How others will see this signature:" +msgstr "ଅନ୍ୟମାନେ ଏହି ହସ୍ତାକ୍ଷରକୁ କିପରି ଦେଖିବେ:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Sign key as:" +msgstr "କି କୁ ଏପରି ହସ୍ତାକ୍ଷର କରନ୍ତୁ:" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone. " +msgstr "" +"ଅଚାନକ: ମାନେ ଆପଣ ଗୋଟିଏ ଅଚାନକ ଯାଞ୍ଚ କରିଛନ୍ତି ଯେ ସେହି କି ଟି ଗୋଟିଏ ବ୍ୟକ୍ତି ଦ୍ୱାରା ଅଧିକୃତ " +"ଯିଏକି ଏହାକୁ ଅଧିକାର କରିବା ପାଇଁ ମାଗିଛି। ଉଦାହରଣ ସ୍ୱରୂପ, ଆପଣ ସେହି ଅଙ୍ଗୁଳି ଚିହ୍ନକୁ ପଢ଼ିପାରିବେ।" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "Key Name" +msgstr "କି ନାମ" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"କଦାପି ନୁହଁ: ମାନେ ଆପଣ ବିଶ୍ୱାସ କରନ୍ତି ଯେ ସେହି କି ଟି ଗୋଟିଏ ବ୍ୟକ୍ତି ଦ୍ୱାରା ଅଧିକୃତ ଯିଏକି ଏହାକୁ " +"ଅଧିକାର କରିବା ପାଇଁ ମାଗିଛି, କିନ୍ତୁ ଆପଣ ଏହାକୁ ଯାଞ୍ଚ କରିପାରିଲେ ନାହିଁ।" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "ଅତି ଯତ୍ନ ସହକାରେ: କେବଳ ଏହାକୁ ବାଛନ୍ତୁ ଯଦି ଆପଣ ନିଶ୍ଚିତ ଯେ ଏହି କି ଟି ଯୁକ୍ତିଯକ୍ତ ଅଟେ।" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "ଆପଣ ହସ୍ତାକ୍ଷର କରିବା ଦ୍ୱାରା ଏହା ସୂଚାଇଥାଏ ଯେ ଏହି କିଟି ଆପଣଙ୍କର:" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "I can _revoke this signature at a later date." +msgstr "ମୁଁ ଏହି ହସ୍ତାକ୍ଷରକୁ ପରବର୍ତ୍ତୀ ତାରିଖରେ ପ୍ରତିସଂହରଣ କରିପାରିବି (_r)।" + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "Sign Key" +msgstr "ହସ୍ତକୃତ କି" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"ଆପଣ ଫୋଟୋ ପରିଚୟ ପାଇଁ ଗୋଟିଏ ଶକ୍ତି ବ୍ୟବହାର କରିପାରିବେ (ଯେପରିକି ପାସପୋର୍ଟ) ବ୍ୟକ୍ତିଗତ ଭାବରେ ଯାଞ୍ଚ " +"କରିଥାଏ ଯେ ସେହି କି ଟି ସଠିକ। ଆପଣଙ୍କୁ ସେହି ଇମେଲ ଠିକଣାଟି ମାଲିକଙ୍କର କି ନୁହଁ ତାହା ଯାଞ୍ଚ କରିବା ପାଇଁ " +"ଇମେଲ ବ୍ୟବହାର କରିବା ଉଚିତ।" + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "_Casually" +msgstr "ଅକସ୍ମାତ (_C)" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Not at all" +msgstr "କଦାପି ନୁହଁ (_N)" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "_Others may not see this signature" +msgstr "ଅନ୍ୟମାନେ ଏହାକୁ ଦେଖିନପାରନ୍ତି (_O)" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "_Sign" +msgstr "ହସ୍ତାକ୍ଷର କରନ୍ତୁ (_S)" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "ହସ୍ତାକ୍ଷରକାରୀ (_S):" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Very Carefully" +msgstr "ଅତି ଯତ୍ନ ସହକାରେ (_V)" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "ସନ୍ଦେଶକୁ କି ଦ୍ୱାରା ହସ୍ତାକ୍ଷର କରନ୍ତୁ (_S):" + +#: ../pkcs11/seahorse-pkcs11-certificate.c:106 +#: ../pkcs11/seahorse-pkcs11-certificate-props.c:66 +msgid "Certificate" +msgstr "ପ୍ରମାଣପତ୍ର" + +#: ../pkcs11/seahorse-pkcs11-commands.c:108 +#, c-format +msgid "Are you sure you want to delete the certificate '%s'?" +msgstr "ଆପଣ ସେହି ପ୍ରମାଣପତ୍ରକୁ ଅପସାରଣ କରିବାକୁ ଚାହୁଁଛନ୍ତି ବୋଲି ନିଶ୍ଚିତ କି '%s'?" + +#: ../pkcs11/seahorse-pkcs11-commands.c:111 +#, c-format +msgid "Are you sure you want to delete %d certificate?" +msgid_plural "Are you sure you want to delete %d certificates?" +msgstr[0] "ଆପଣ %d ପ୍ରମାଣପତ୍ରକୁ ଅପସାରଣ କରିବାକୁ ଚାହୁଁଛନ୍ତି ବୋଲି ନିଶ୍ଚିତ କି'?" +msgstr[1] "ଆପଣ %d ପ୍ରମାଣପତ୍ରଗୁଡ଼ିକୁ ଅପସାରଣ କରିବାକୁ ଚାହୁଁଛନ୍ତି ବୋଲି ନିଶ୍ଚିତ କି'?" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "ପ୍ରବେଶ ସଂକେତ ପରିବର୍ତ୍ତନ କରନ୍ତୁ" + +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Con_firm Passphrase:" +msgstr "ପ୍ରବେଶ ସଂକେତ ନିଶ୍ଚିତ କରନ୍ତୁ (_f):" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "Confirm new passphrase" +msgstr "ନୂତନ ପ୍ରବେଶ ସଂକେତକୁ ନିଶ୍ଚିତ କରନ୍ତୁ" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "New _Passphrase:" +msgstr "ନୂତନ ପ୍ରବେଶ ସଂକେତ (_P):" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "ଆପଣଙ୍କର ପ୍ରବେଶ ସଂକେତ ଏବଂ ସଂଗୁପ୍ତ କି କୁ ପରିଚାଳନା କରନ୍ତୁ" + +#: ../src/seahorse.desktop.in.in.h:2 ../src/seahorse-key-manager.c:862 +msgid "Passwords and Encryption Keys" +msgstr "ପ୍ରବେଶ ସଂକେତ ଏବଂ ସଂଗୁପ୍ତ କିଗୁଡ଼ିକ" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "ନିର୍ମାଣ କରିବା ପାଇଁ ବସ୍ତୁଗୁଡ଼ିକର ପ୍ରକାର ବାଛନ୍ତୁ (_S):" + +#: ../src/seahorse-generate-select.xml.h:2 +msgid "C_ontinue" +msgstr "ଆଗକୁ ବଢନ୍ତୁ (_o)" + +#: ../src/seahorse-generate-select.xml.h:3 +msgid "Create New ..." +msgstr "ନୂତନ ନିର୍ମାଣ କରନ୍ତୁ ..." + +#: ../src/seahorse-key-manager.c:233 ../src/seahorse-keyserver-results.c:108 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "ବଚ୍ଛିତ %d କି" +msgstr[1] "ବଚ୍ଛିତ %d କିଗୁଡ଼ିକ" + +#: ../src/seahorse-key-manager.c:410 ../src/seahorse-key-manager.c:470 +#: ../src/seahorse-key-manager.c:533 ../src/seahorse-viewer.c:458 +msgid "Couldn't import keys" +msgstr "କିଗୁଡ଼ିକୁ ଆମଦାନି କରିପାରିଲା ନାହିଁ" + +#: ../src/seahorse-key-manager.c:415 ../src/seahorse-viewer.c:463 +msgid "Imported keys" +msgstr "ଆମଦାନୀ ହୋଇଥିବା କିଗୁଡ଼ିକ" + +#: ../src/seahorse-key-manager.c:464 +msgid "Importing keys" +msgstr "କିଗୁଡ଼ିକୁ ଆମଦାନୀ କରୁଅଛି" + +#: ../src/seahorse-key-manager.c:487 ../ssh/seahorse-ssh-operation.c:1017 +msgid "Import Key" +msgstr "କି ଆମଦାନି କରନ୍ତୁ" + +#: ../src/seahorse-key-manager.c:533 +msgid "Unrecognized key type, or invalid data format" +msgstr "ଅଚିହ୍ନା କି ପ୍ରକାର, ଅଥବା ଅବୈଧ ତଥ୍ୟ ସଜ୍ଜିକରଣ ଶୈଳୀ" + +#: ../src/seahorse-key-manager.c:731 ../src/seahorse-keyserver-results.c:245 +msgid "_Remote" +msgstr "ଦୂର (_R)" + +#: ../src/seahorse-key-manager.c:733 +msgid "Close this program" +msgstr "ଏହି ପ୍ରଗ୍ରାମକୁ ବନ୍ଦ କରନ୍ତୁ" + +#: ../src/seahorse-key-manager.c:734 +msgid "_New..." +msgstr "ନୂତନ (_N)..." + +#: ../src/seahorse-key-manager.c:735 +msgid "Create a new key or item" +msgstr "ନୂତନ କି ଅଥବା ବସ୍ତୁ ନିର୍ମାଣ କରନ୍ତୁ" + +#: ../src/seahorse-key-manager.c:736 +msgid "_Import..." +msgstr "_ଆମଦାନୀ ..." + +#: ../src/seahorse-key-manager.c:737 +msgid "Import from a file" +msgstr "ଗୋଟିଏ ଫାଇଲରୁ ଆମଦାନୀ କରନ୍ତୁ" + +#: ../src/seahorse-key-manager.c:739 +msgid "Import from the clipboard" +msgstr "କ୍ଲିପବୋର୍ଡରୁ ଆମଦାନୀ କରନ୍ତୁ" + +#: ../src/seahorse-key-manager.c:744 ../src/seahorse-keyserver-results.c:255 +msgid "_Find Remote Keys..." +msgstr "ସୁଦୂର କିଗୁଡିକୁ ଖୋଜନ୍ତୁ (_F)..." + +#: ../src/seahorse-key-manager.c:745 ../src/seahorse-keyserver-results.c:256 +msgid "Search for keys on a key server" +msgstr "କି ସର୍ଭରରେ କିଗୁଡ଼ିକୁ ସନ୍ଧାନ କରନ୍ତୁ" + +#: ../src/seahorse-key-manager.c:746 +msgid "_Sync and Publish Keys..." +msgstr "କିଗୁଡ଼ିକୁ ସମକାଳୀନ କରନ୍ତୁ ଏବଂ ପ୍ରକାଶ କରନ୍ତୁ (_S)..." + +#: ../src/seahorse-key-manager.c:747 +msgid "Publish and/or synchronize your keys with those online." +msgstr "ଆପଣଙ୍କର କିଗୁଡ଼ିକୁ ଅନଲାଇନରେ ପ୍ରକାଶନ କରନ୍ତୁ ଏବଂ/ଅଥବା ସମକାଳୀନ କରନ୍ତୁ।" + +#: ../src/seahorse-key-manager.c:752 +msgid "T_ypes" +msgstr "ପ୍ରକାରଗୁଡ଼ିକ (_y)" + +#: ../src/seahorse-key-manager.c:752 +msgid "Show type column" +msgstr "ପ୍ରକାର ସ୍ତମ୍ଭକୁ ଦର୍ଶାନ୍ତୁ" + +#: ../src/seahorse-key-manager.c:754 +msgid "_Expiry" +msgstr "ସମୟ ସମାପ୍ତି (_E)" + +#: ../src/seahorse-key-manager.c:754 +msgid "Show expiry column" +msgstr "ସମୟ ସମାପ୍ତ ହୋଇଥିବା ସ୍ତମ୍ଭକୁ ଦର୍ଶାନ୍ତୁ" + +#: ../src/seahorse-key-manager.c:756 +msgid "_Trust" +msgstr "ବିଶ୍ୱାସ (_T)" + +#: ../src/seahorse-key-manager.c:756 +msgid "Show owner trust column" +msgstr "ମାଲିକ ବିଶ୍ୱାସ ସ୍ଥମ୍ଭକୁ ଦର୍ଶାନ୍ତୁ" + +#: ../src/seahorse-key-manager.c:758 +msgid "_Validity" +msgstr "ବୈଧତା (_V)" + +#: ../src/seahorse-key-manager.c:758 +msgid "Show validity column" +msgstr "ବୈଧତା ସ୍ତମ୍ଭକୁ ଦର୍ଶାନ୍ତୁ" + +#: ../src/seahorse-key-manager.c:931 +msgid "Filter:" +msgstr "ଫିଲଟର:" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "ପ୍ରଥମ ଥର ବିକଳ୍ପଗୁଡ଼ିକ:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "ଆପଣଙ୍କ ନିଜ ପାଇଁ ଗୋଟିଏ ନୂତନ କି ସୃଷ୍ଟିକରନ୍ତୁ:" + +#: ../src/seahorse-key-manager.xml.h:3 +msgid "Import existing keys from a file:" +msgstr "ଗୋଟିଏ ଫାଇଲରୁ ସ୍ଥିତବାନ କିଗୁଡ଼ିକୁ ଆମଦାନୀ କରନ୍ତୁ:" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "My _Personal Keys" +msgstr "ମୋର ବ୍ୟକ୍ତିଗତ କିଗୁଡ଼ିକ (_P)" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "Other _Keys" +msgstr "ଅନ୍ୟାନ୍ୟ କିଗୁଡ଼ିକ (_K)" + +#: ../src/seahorse-key-manager.xml.h:6 +msgid "To get started with encryption you will need keys." +msgstr "ସଂଗୁପ୍ତ ଆରମ୍ଭ କରିବା ପାଇଁ ଆପଣ କିଗୁଡ଼ିକୁ ଆବଶ୍ୟକ କରିବେ।" + +#: ../src/seahorse-key-manager.xml.h:7 ../src/seahorse-viewer.c:522 +msgid "_Import" +msgstr "_ଆମଦାନୀ କର" + +#: ../src/seahorse-key-manager.xml.h:8 +msgid "_Passwords" +msgstr "ପ୍ରବେଶ ସଂକେତଗୁଡ଼ିକ (_P)" + +#: ../src/seahorse-key-manager-store.c:685 ../src/seahorse-viewer.c:256 +msgid "Couldn't export keys" +msgstr "କି ଗୁଡ଼ିକୁ ରପ୍ତାନୀ କରିପାରିଲା ନାହିଁ" + +#: ../src/seahorse-key-manager-store.c:883 +msgid "Validity" +msgstr "ସଠିକତା" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:902 +msgid "Expiration Date" +msgstr "ସମୟ ସମାପ୍ତି ତାରିଖ" + +#: ../src/seahorse-keyserver-results.c:247 +msgid "Close this window" +msgstr "ଏହି ୱିଣ୍ଡୋକୁ ବନ୍ଦ କରନ୍ତୁ" + +#: ../src/seahorse-keyserver-results.c:248 +msgid "_Expand All" +msgstr "ସମସ୍ତଙ୍କୁ ବଢାନ୍ତୁ (_E)" + +#: ../src/seahorse-keyserver-results.c:249 +msgid "Expand all listings" +msgstr "ସମସ୍ତ ତାଲିକାକୁ ବିସ୍ତାର କରନ୍ତୁ" + +#: ../src/seahorse-keyserver-results.c:250 +msgid "_Collapse All" +msgstr "ସମସ୍ତଙ୍କୁ ଅବସନ୍ନ କରି ଦିଅନ୍ତୁ (_C)" + +#: ../src/seahorse-keyserver-results.c:251 +msgid "Collapse all listings" +msgstr "ସମସ୍ତ ତାଲିକାକୁ ଭାଙ୍ଗନ୍ତୁ" + +#: ../src/seahorse-keyserver-results.c:322 +msgid "Remote Keys" +msgstr "ସୁଦୂର କିଗୁଡ଼ିକ" + +#: ../src/seahorse-keyserver-results.c:324 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "'%s' କୁ ଧାରଣ କରିଥିବା ସୁଦୂର କିଗୁଡ଼ିକ" + +#: ../src/seahorse-keyserver-search.xml.h:1 +msgid "Key Servers:" +msgstr "କି ସର୍ଭରଗୁଡ଼ିକ:" + +#: ../src/seahorse-keyserver-search.xml.h:2 +msgid "Shared Keys Near Me:" +msgstr "ମୋ ପାଖରେ ଥିବା ସହଭାଗୀ କିଗୁଡ଼ିକ:" + +#: ../src/seahorse-keyserver-search.xml.h:3 +msgid "Find Remote Keys" +msgstr "ସୁଦୂର କିଗୁଡ଼ିକୁ ଖୋଜନ୍ତୁ" + +#: ../src/seahorse-keyserver-search.xml.h:4 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"ଏହା ଇଣ୍ଟରନେଟରେ ଅନ୍ୟମାନଙ୍କ ପାଇଁ କିଗୁଡ଼ିକୁ ପାଇବେ। ଏହି କିଗୁଡ଼ିକୁ ଆପଣଙ୍କର ସ୍ଥାନୀୟ କିରିଙ୍ଗକୁଆମଦାନୀ " +"କରିପାରିବେ।" + +#: ../src/seahorse-keyserver-search.xml.h:5 +msgid "Where to search:" +msgstr "କେଉଁଠି ସନ୍ଧାନ କରିବା ଉଚିତ:" + +#: ../src/seahorse-keyserver-search.xml.h:6 +msgid "_Search" +msgstr "ଖୋଜନ୍ତୁ (_S)" + +#: ../src/seahorse-keyserver-search.xml.h:7 +msgid "_Search for keys containing: " +msgstr "ଏହାକୁ ଧାରଣ କରିଥିବା କିଗୁଡ଼ିକୁ ଖୋଜନ୍ତୁ (_S): " + +#: ../src/seahorse-keyserver-sync.c:45 +msgid "Couldn't publish keys to server" +msgstr "କିଗୁଡ଼ିକୁ ପ୍ରକାଶନ କରିପାରିଲା ନାହିଁ" + +#: ../src/seahorse-keyserver-sync.c:61 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "ସର୍ଭରରୁ କିଗୁଡ଼ିକୁ କାଢ଼ିପାରିଲା ନାହିଁ: %s" + +#: ../src/seahorse-keyserver-sync.c:155 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d କି କୁ ସନ୍ତୁଳନ ପାଇଁ ବଛାହୋଇଛି" +msgstr[1] "%d କି ଗୁଡ଼ିକୁ ସନ୍ତୁଳନ ପାଇଁ ବଛାହୋଇଛି" + +#: ../src/seahorse-keyserver-sync.c:216 +msgid "Synchronizing keys" +msgstr "କି ଗୁଡ଼ିକୁ ସନ୍ତୁଳନ କରାଯାଉଛି" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:248 +msgid "Synchronizing keys..." +msgstr "କି ଗୁଡ଼ିକୁ ସନ୍ତୁଳନ କରାଯାଉଛି..." + +#: ../src/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "Sync କିଗୁଡ଼ିକ" + +#: ../src/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"ଏହା ଆପଣଙ୍କର କିରିଙ୍ଗରେ କିଗୁଡ଼ିକୁ ପ୍ରକାଶ କରିବ ତେଣୁ ସେମାନେ ଅନ୍ୟମାନଙ୍କର ବ୍ୟବହାର ପାଇଁ ଉପଲବ୍ଧ ହେବେ। " +"ଆପଣ ମଧ୍ଯ କିଗୁଡ଼ିକରେ ଅନ୍ୟମାନେ କରିଥିବା କୌଣସି ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ପାଇପାରିବେ।" + +#: ../src/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"ଏହା ଅନ୍ୟମାନେ କରିଥିବା ଯେକୌଣସି ପରିବର୍ତ୍ତନକୁ କାଢ଼ି ପାରିବ ଯେହେତୁ ଆପଣ ସେମାନଙ୍କର କିଗୁଡ଼ିକୁ ଗ୍ରହଣ " +"କରିଛନ୍ତି। କି ସର୍ଭର ପ୍ରକାଶନ ପାଇଁ ବଛାହୋଇଛି, ତେଣୁ ଆପଣଙ୍କର କିକୁ ଅନ୍ୟମାନଙ୍କ ପାଇଁ ଉପଲବ୍ଧ କରାଯିବ ନାହିଁ।" + +#: ../src/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "କି ସର୍ଭରଗୁଡ଼ିକ (_K)" + +#: ../src/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "Sync (_S)" + +#: ../src/seahorse-main.c:62 +msgid "Version of this application" +msgstr "ଏହି ପ୍ରୟୋଗର ସଂସ୍କରଣ" + +#: ../src/seahorse-main.c:78 ../src/seahorse-viewer.c:144 +msgid "Encryption Key Manager" +msgstr "ସଂଗୁପ୍ତ କି ପରିଚାଳକ" + +#: ../src/seahorse-viewer.c:120 +msgid "Contributions:" +msgstr "ସହଯୋଗ:" + +#: ../src/seahorse-viewer.c:146 +msgid "translator-credits" +msgstr "ଶୁଭ୍ରାଂଶୁ ବେହେରା " + +#: ../src/seahorse-viewer.c:149 +msgid "Seahorse Project Homepage" +msgstr "Seahorse ପ୍ରକଳ୍ପ ମୂଳ ସ୍ଥାନ" + +#. Top menu items +#: ../src/seahorse-viewer.c:168 +msgid "_File" +msgstr "ଫାଇଲ (_F)" + +#: ../src/seahorse-viewer.c:169 +msgid "_Edit" +msgstr "ସମ୍ପାଦନ କରନ୍ତୁ (_E)" + +#: ../src/seahorse-viewer.c:170 +msgid "_View" +msgstr "ଦୃଶ୍ଯ (_V)" + +#: ../src/seahorse-viewer.c:171 +msgid "_Help" +msgstr "ସହାୟତା (_H)" + +#: ../src/seahorse-viewer.c:173 +msgid "Prefere_nces" +msgstr "ପସନ୍ଦ (_n)" + +#: ../src/seahorse-viewer.c:174 +msgid "Change preferences for this program" +msgstr "ଏହି ପ୍ରଗ୍ରାମ ପାଇଁ ପସନ୍ଦକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ" + +#: ../src/seahorse-viewer.c:177 +msgid "About this program" +msgstr "ଏହି ପ୍ରଗ୍ରାମ ବିଷୟରେ" + +#: ../src/seahorse-viewer.c:178 +msgid "_Contents" +msgstr "ସୂଚୀପତ୍ର (_C)" + +#: ../src/seahorse-viewer.c:179 +msgid "Show Seahorse help" +msgstr "Seahorse ସହାୟତା ଦର୍ଶାଇଥାଏ" + +#: ../src/seahorse-viewer.c:276 +msgid "Export public key" +msgstr "ସର୍ବସାଧାରଣ କିକୁ ରପ୍ତାନି କରିଥାଏ" + +#: ../src/seahorse-viewer.c:296 +msgid "Exporting keys" +msgstr "କିଗୁଡ଼ିକୁ ରପ୍ତାନି କରୁଅଛି" + +#: ../src/seahorse-viewer.c:321 +msgid "Couldn't retrieve data from key server" +msgstr "କି ସର୍ଭରରୁ ତଥ୍ୟକୁ କାଢ଼ିପାରିଲା ନାହିଁ" + +#. Translators: "Copied" is a verb (used as a status indicator), not an adjective for the word "keys" +#: ../src/seahorse-viewer.c:340 +msgid "Copied keys" +msgstr "କିଗୁଡ଼ିକୁ ନକଲ କରାଯାଇଛି" + +#: ../src/seahorse-viewer.c:360 +msgid "Retrieving keys" +msgstr "କିଗୁଡ଼ିକୁ କାଢ଼ୁଅଛି" + +#: ../src/seahorse-viewer.c:375 +msgid "Couldn't delete." +msgstr "ଅପସାରଣ କରିପାରିଲା ନାହିଁ।" + +#: ../src/seahorse-viewer.c:409 +msgid "Deleting..." +msgstr "ଅପସାରଣ କରୁଅଛି..." + +#: ../src/seahorse-viewer.c:435 +#, c-format +msgid "%s is a private key. Are you sure you want to proceed?" +msgstr "%s ଟି ଗୋଟିଏ ବ୍ୟକ୍ତିଗତ କି। ଆପଣ ଅଗ୍ରସର ହେବାକୁ ଚାହୁଁଛନ୍ତି ବୋଲି ନିଶ୍ଚିତ କି?" + +#: ../src/seahorse-viewer.c:483 +msgid "Importing keys from key servers" +msgstr "କି ସର୍ଭରରୁ କିଗୁଡ଼ିକୁ ଆମଦାନୀ କରୁଅଛି" + +#: ../src/seahorse-viewer.c:509 +msgid "Show properties" +msgstr "ଗୁଣଧର୍ମ ଦର୍ଶାଇଥାଏ (_r)" + +#: ../src/seahorse-viewer.c:510 +msgctxt "This text refers to deleting an item from its type's backing store." +msgid "_Delete" +msgstr "ଅପସାରଣ କରନ୍ତୁ (_D)" + +#: ../src/seahorse-viewer.c:511 +msgid "Delete selected items" +msgstr "ବଚ୍ଛିତ ବସ୍ତୁଗୁଡ଼ିକୁ ଅପସାରଣ କରନ୍ତୁ" + +#: ../src/seahorse-viewer.c:515 +msgid "E_xport..." +msgstr "ରପ୍ତାନୀ କରନ୍ତୁ (_x)..." + +#: ../src/seahorse-viewer.c:516 +msgid "Export to a file" +msgstr "ଗୋଟିଏ ଫାଇଲ ମଧ୍ଯକୁ ରପ୍ତାନୀ କରନ୍ତୁ" + +#: ../src/seahorse-viewer.c:518 +msgid "Copy to the clipboard" +msgstr "କ୍ଲିପବୋର୍ଡ ମଧ୍ଯକୁ ନକଲ କରନ୍ତୁ" + +#: ../src/seahorse-viewer.c:523 +msgid "Import selected keys to local key ring" +msgstr "ସ୍ଥାନୀୟ କିରିଙ୍ଗରେ ବଚ୍ଛିତ କିଗୁଡ଼ିକୁ ଆମଦାନୀ କରନ୍ତୁ" + +#: ../ssh/seahorse-ssh-askpass.c:99 +msgid "Enter your Secure Shell passphrase:" +msgstr "ଆପଣଙ୍କର ସୁରକ୍ଷିତ ସେଲ ପ୍ରବେଶ ସଂକେତକୁ ଭରଣ କରନ୍ତୁ:" + +#: ../ssh/seahorse-ssh-commands.c:85 +msgid "Configure Key for _Secure Shell..." +msgstr "ସୁରକ୍ଷିତ ସେଲ ପାଇଁ କି ସଂରଚନା କରନ୍ତୁ (_S)..." + +#: ../ssh/seahorse-ssh-commands.c:86 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"ବ୍ୟକ୍ତିଗତ ସୁରକ୍ଷିତ ସେଲକୁ ଅନ୍ୟଏକ ଯନ୍ତ୍ରକୁ ପଠାନ୍ତୁ, ଏବଂ ସେହି କିକୁ ବ୍ୟବହାର କରି ଲଗଇନକୁ ସକ୍ରିୟ କରନ୍ତୁ।" + +#: ../ssh/seahorse-ssh-commands.c:115 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "ସୁରକ୍ଷିତ ସେଲ କି '%s' କୁ ଅପସାରଣ କରିବେ ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି?" + +#: ../ssh/seahorse-ssh-commands.c:118 +#, c-format +msgid "Are you sure you want to delete %d secure shell keys?" +msgstr "ସୁରକ୍ଷିତ ସେଲ କି %d କୁ ଅପସାରଣ କରିବେ ବୋଲି ଆପଣ ନିଶ୍ଚିତ କି?" + +#: ../ssh/seahorse-ssh-generate.c:59 ../ssh/seahorse-ssh-key.c:91 +#: ../ssh/seahorse-ssh-key.c:95 ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Secure Shell Key" +msgstr "ସୁରକ୍ଷିତ ସେଲ କି" + +#: ../ssh/seahorse-ssh-generate.c:60 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "ଅନ୍ୟ କମ୍ପୁଟରରେ ପ୍ରବେଶ କରିବା ପାଇଁ ବ୍ୟବହାର କରାଯାଇଥାଏ (ଉଦାହରଣ: ଗୋଟିଏ ଟର୍ମିନାଲ ମାଧ୍ଯମରେ)" + +#: ../ssh/seahorse-ssh-generate.c:90 +msgid "Couldn't generate Secure Shell key" +msgstr "ସୁରକ୍ଷିତ ସେଲ କି କୁ ସୃଷ୍ଟି କରିପାରିଲା ନାହିଁ" + +#: ../ssh/seahorse-ssh-generate.c:213 +msgid "Creating Secure Shell Key" +msgstr "ସୁରକ୍ଷିତ ସେଲ କି ନିର୍ମାଣ କରୁଅଛି" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "" +"Use your email address, and any other reminder you need about what this " +"key is for." +msgstr "ଏହି କି ବିଷୟରେ ଜାଣିବା ପାଇଁ ଆପଣଙ୍କର ଇମେଲ ଠିକଣା, ଏବଂ ଅନ୍ୟକୌଣସି ସ୍ମାରକକୁ ବ୍ୟବହାର କରନ୍ତୁ।" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "" +"A Secure Shell (SSH) key lets you connect securely to trusted computers " +"using SSH, without entering a different password for each of them." +msgstr "" +"ଗୋଟିଏ ସୁରକ୍ଷିତ ସେଲ (SSH) କି ସହିତ ସୁରକ୍ଷିତ ଭାବରେ SSH ବ୍ୟବହାର କରି ବିଶ୍ୱସ୍ତ କମ୍ପୁଟରଗୁଡ଼ିକ ସହିତ " +"ସଂଯୋଗ କରିଥାଏ, ସେମାନଙ୍କ ମଧ୍ଯରୁ କାହା ପାଇଁ ଭିନ୍ନ ପ୍ରବେଶ ସଂକେତ ଭରଣ ନକରି।" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "" +"If there is already a computer you want to use this key with, you can set up " +"that computer to recognize your key now. " +msgstr "" +"ଏହି କି ସହିତ ବ୍ୟବହାର କରିବା ପାଇଁ ଯଦି ସେଠାରେ ପୂର୍ବରୁ କୌଣସି କମ୍ପୁଟର ଥାଏ, ତେବେ ଆପଣ ବର୍ତ୍ତମାନ କିକୁ " +"ଚିହ୍ନିବା ପାଇଁ ସେହି କମ୍ପୁଟରକୁ ସେଟ କରିପାରିବେ।" + +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "New Secure Shell Key" +msgstr "ନୂତନ ସୁରକ୍ଷିତ ସେଲ କି" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "_Create and Set Up" +msgstr "ନିର୍ମାଣ କରନ୍ତୁ ଏବଂ ବିନ୍ୟାସ କରନ୍ତୁ (_C)" + +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Just Create Key" +msgstr "କେବଳ କି ନିର୍ମାଣ କରନ୍ତୁ (_J)" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "_Key Description:" +msgstr "କି ବର୍ଣ୍ଣନା (_K):" + +#: ../ssh/seahorse-ssh-key.c:87 +msgid "(Unreadable Secure Shell Key)" +msgstr "(ଅପଠନୀୟ ସୁରକ୍ଷିତ ସେଲ କି)" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "Invalid" +msgstr "ଅବୈଧ" + +#: ../ssh/seahorse-ssh-key.c:116 +msgid "Private Secure Shell Key" +msgstr "ବ୍ୟକ୍ତିଗତ ସୁରକ୍ଷିତ ସେଲ କି" + +#: ../ssh/seahorse-ssh-key.c:119 +msgid "Public Secure Shell Key" +msgstr "ସର୍ବସାଧାରଣ ସୁରକ୍ଷିତ ସେଲ କି" + +#: ../ssh/seahorse-ssh-key-properties.c:71 +msgid "Couldn't rename key." +msgstr "କିକୁ ପୁନଃନାମକରଣ କରିପାରିଲା ନାହିଁ।" + +#: ../ssh/seahorse-ssh-key-properties.c:112 +msgid "Couldn't change authorization for key." +msgstr "କି ପାଇଁ ବୈଧିକରଣକୁ ପରିବର୍ତ୍ତନ କରିପାରିଲା ନାହିଁ।" + +#: ../ssh/seahorse-ssh-key-properties.c:127 +msgid "Couldn't change passphrase for key." +msgstr "କି ପାଇଁ ପ୍ରବେଶ ସଂକେତକୁ ପରିବର୍ତ୍ତନ କରିପାରିଲା ନାହିଁ।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Algorithm:" +msgstr "ଆଲଗୋରିଦମ:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Identifier:" +msgstr "ପରିଚାୟକ:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Location:" +msgstr "ସ୍ଥାନ /ଅବସ୍ଥିତି:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:5 +msgid "Name:" +msgstr "ନାମ:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgid "Strength:" +msgstr "ଶକ୍ତି:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:8 +msgid "Trust" +msgstr "ବିଶ୍ୱାସ" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:13 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "ଏହା କେବଳ '%s' ଖାତାରେ ପ୍ରୟୋଗ କରାଯାଇଥାଏ।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "E_xport Complete Key" +msgstr "ରପ୍ତାନୀ ସମ୍ପୂର୍ଣ୍ଣତା କି (_x)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "କି ର ମାଲିକ ଏହି କମ୍ପୁଟର ସହିତ ସଂଯୁକ୍ତ ହେବା ପାଇଁ ବୈଧିକୃତ (_a)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "Used to connect to other computers." +msgstr "ଅନ୍ୟ କମ୍ପୁଟରଗୁଡ଼ିକ ସହିତ ସଂଯୁକ୍ତ ହେବା ପାଇଁ ବ୍ୟବହାର ହୋଇଥାଏ।" + +#: ../ssh/seahorse-ssh-operation.c:143 ../ssh/seahorse-ssh-operation.c:732 +#, c-format +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH ନିର୍ଦ୍ଦେଶ ଅପ୍ରତ୍ୟାଶିତ ଭାବରେ ବନ୍ଦ ହୋଇଥିଲା।" + +#: ../ssh/seahorse-ssh-operation.c:151 ../ssh/seahorse-ssh-operation.c:739 +msgid "The SSH command failed." +msgstr "SSH ନିର୍ଦ୍ଦେଶ ବିଫଳ ହୋଇଛି।" + +#: ../ssh/seahorse-ssh-operation.c:445 ../ssh/seahorse-ssh-operation.c:477 +msgid "Secure Shell key" +msgstr "ସୁରକ୍ଷିତ ସେଲ କି" + +#: ../ssh/seahorse-ssh-operation.c:448 +msgid "Passphrase:" +msgstr "ପ୍ରବେଶ ସଙ୍କେତ:" + +#. Just prompt over and over again +#: ../ssh/seahorse-ssh-operation.c:762 +msgid "Remote Host Password" +msgstr "ସୁଦୂର ଆଧାର ପ୍ରବେଶ ସଙ୍କେତ" + +#: ../ssh/seahorse-ssh-operation.c:850 +msgid "Old Key Passphrase" +msgstr "ପୁରୁଣା କି ପ୍ରବେଶ ସଂକେତ" + +#: ../ssh/seahorse-ssh-operation.c:851 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "ଏହା ପାଇଁ ପୁରୁଣା ପ୍ରବେଶ ସଂକେତକୁ ଭରଣ କରନ୍ତୁ: %s" + +#: ../ssh/seahorse-ssh-operation.c:855 +msgid "New Key Passphrase" +msgstr "ନୂତନ କି ପ୍ରବେଶ ସଂକେତ" + +#: ../ssh/seahorse-ssh-operation.c:856 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "ଏହା ପାଇଁ ନୂତନ ପ୍ରବେଶ ସଂକେତ ଭରଣ କରନ୍ତୁ: %s" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Enter Key Passphrase" +msgstr "କି ପ୍ରବେଶ ସଂକେତ ଭରଣ କରନ୍ତୁ" + +#: ../ssh/seahorse-ssh-operation.c:931 +msgid "Passphrase for New Secure Shell Key" +msgstr "ନୂତନ ସୁରକ୍ଷିତ ସେଲ କି ପାଇଁ ପ୍ରବେଶ ସଂକେତ" + +#: ../ssh/seahorse-ssh-operation.c:932 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "ଆପଣଙ୍କର ନୂତନ ସୁରକ୍ଷିତ ସେଲ କି ପାଇଁ ପ୍ରବେଶ ସଂକେତ ଭରଣ କରନ୍ତୁ।" + +#: ../ssh/seahorse-ssh-operation.c:1013 +#, c-format +msgid "Importing key: %s" +msgstr "କି ଆମଦାନୀ କରୁଅଛି: %s" + +#: ../ssh/seahorse-ssh-operation.c:1015 +msgid "Importing key. Enter passphrase" +msgstr "କି ଆମଦାନୀ କରୁଅଛି। ପ୍ରବେଶ ସଂକେତ ଭରଣ କରନ୍ତୁ" + +#: ../ssh/seahorse-ssh-source.c:825 +msgid "No private key file is available for this key." +msgstr "ଏହି କି ପାଇଁ କୌଣସି କୌଣସି ବ୍ୟକ୍ତିଗତ କି ଫାଇଲ ଉପଲବ୍ଧ ନାହିଁ।" + +#: ../ssh/seahorse-ssh-upload.c:45 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "ସୁଦୂର କମ୍ପୁଟରରେ ସୁରକ୍ଷିତ ସେଲ କିଗୁଡ଼ିକୁ ରଚନା କରିପାରିଲା ନାହିଁ।" + +#. Show the progress window if necessary +#: ../ssh/seahorse-ssh-upload.c:181 +msgid "Configuring Secure Shell Keys..." +msgstr "ସୁରକ୍ଷିତ ସେଲ କିଗୁଡ଼ିକୁ ରଚନା କରୁଅଛି..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "eg: fileserver.example.com:port" +msgstr "eg: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "SSH ସଂଯୋଗ ପାଇଁ କମ୍ପୁଟରକୁ ସେଟ କରନ୍ତୁ" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"ଆପଣଙ୍କର ସୁରକ୍ଷିତ ସେଲ କିକୁ ଅନ୍ୟ କମ୍ପୁଟର ଯିଏକି SSH ବ୍ୟବହାର କରେ ସେଥିରେ ବ୍ୟବହାର କରିବା ପାଇଁ,ସେହି " +"କମ୍ପୁଟରରେ ଆପଣଙ୍କର ଗୋଟିଏ ଲଗଇନ ଖାତା ଥିବା ଉଚିତ।" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "କମ୍ପୁଟର ନାମ (_C):" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "ଲଗଇନ ନାମ (_L):" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "ବିନ୍ୟାସ (_S)" + +#~ msgid "Seahorse Daemon" +#~ msgstr "Seahorse ଡେମନ" + +#~ msgid "Couldn't share keys" +#~ msgstr "ଚାବି ମାନଙ୍କୁ ସହଭାଗ କରିପାରିଲା ନାହିଁ" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "ନେଟୱାର୍କରେ ଅନୁସନ୍ଧାନ ସୂଚନାକୁ ପ୍ରକାଶିତ କରିପାରିବ ନାହିଁ।" + +#~ msgid "%s's encryption keys" +#~ msgstr "%s ର ଗୋପନୀୟ ଚାବି" + +#~ msgid "Key Sharing" +#~ msgstr "କି ସହଭାଗ" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "ଆପଣଙ୍କର କି କୁ ସହଭାଗ କରିବା ଫଳରେ ଅନ୍ୟମାନଙ୍କୁ ନେଟୱର୍କରେ କିଗୁଡ଼ିକୁ ବ୍ୟବହାର କରିବା ପାଇଁ ଅନୁମତି " +#~ "ଦେଇଥାଏ। ଏହା ଅର୍ଥ ସେମାନେ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ବସ୍ତୁଗୁଡ଼ିକୁ ସଂଗୁପ୍ତ କରିପାରିବେ ଅଥବା, ଆପଣ " +#~ "ସେମାନଙ୍କୁ କି ନପଠାଇ କରି।\n" +#~ "\n" +#~ "ଟିପ୍ପଣୀ: ଆପଣଙ୍କର ବ୍ୟକ୍ତିଗତ କିଗୁଡ଼ିକ ସହିତ କୌଣସି ବୁଝାମଣା କରାଯିବ ନାହିଁ।" + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "ମୋର କିଗୁଡ଼ିକୁ ମୋର ନେଟୱର୍କରେ ଥିବା ଅନ୍ୟମାନଙ୍କ ସହିତ ସହଭାଗ କରନ୍ତୁ (_S)" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "X କିଗୁଡ଼ିକୁ ସନ୍ତୁଳନ ପାଇଁ ବଛାହୋଇଛି" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/nate/.ssh/blah_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" diff --git a/po/pa.po b/po/pa.po new file mode 100644 index 00000000..c1bb6276 --- /dev/null +++ b/po/pa.po @@ -0,0 +1,4200 @@ +# translation of seahorse.HEAD.po to Punjabi +# This file is distributed under the same license as the PACKAGE package. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. +# +# ASB , 2004, 2007. +# Amanpreet Singh Alam , 2008. +# A S Alam , 2009, 2010, 2011, 2012, 2013, 2014. +msgid "" +msgstr "" +"Project-Id-Version: seahorse.HEAD\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2014-09-21 10:24+0000\n" +"PO-Revision-Date: 2014-09-21 08:20-0500\n" +"Last-Translator: A S Alam \n" +"Language-Team: Punjabi/Panjabi \n" +"Language: pa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Lokalize 1.5\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: ../data/seahorse.appdata.xml.in.h:1 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"ਸੀ-ਹਾਰਸ ਇੰਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀਆਂ ਦੇ ਪ੍ਰਬੰਧ ਲਈ ਗਨੋਮ ਐਪਲੀਕੇਸ਼ਨ ਹੈ। ਇਹ ਇੰਕ੍ਰਿਪਸ਼ਨ " +"ਕਾਰਵਾਈਆਂ ਲਈ ਨਟੀਲਸ, " +"ਜੀ-ਸੰਪਾਦਕ ਅਤੇ ਹੋਰ ਥਾਵਾਂ ਨਾਲ ਵੀ ਜੁੜੀ ਹੋਈ ਹੈ।" + +#: ../data/seahorse.appdata.xml.in.h:2 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don't have to keep typing it and backup your keys and keyring." +msgstr "" +"ਸੀ-ਹਾਰਸ ਦੇ ਨਾਲ ਤੁਸੀਂ PGP ਕੁੰਜੀਆਂ, SSH ਕੁੰਝੀਆਂ, ਬਣਾ ਅਤੇ ਉਹਨਾਂ ਦਾ ਪ੍ਰਬੰਧ, ਅਤੇ " +"ਕੁੰਜੀ ਸਰਵਰਾਂ ਉੱਤੇ " +"ਕੁੰਜੀ ਪ੍ਰਕਾਸ਼ਿਤ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ, ਆਪਣੇ ਵਾਕ ਨੂੰ ਕੈਸ਼ ਕਰ ਸਕਦੇ ਹੋ ਤਾਂ ਕਿ " +"ਤੁਹਾਨੂੰ ਇਸ ਨੂੰ ਲਿਖਣਾ " +"ਨਾ ਪਵੇ ਅਤੇ ਆਪਣੀਆਂ ਕੁੰਜੀਆਂ ਤੇ ਕੀ-ਰਿੰਗ ਦਾ ਬੈਕਅੱਪ ਵੀ ਲੈ ਸਕਦੇ ਹੋ।" + +#: ../data/seahorse.desktop.in.in.h:1 ../common/catalog.vala:285 +#: ../src/seahorse-key-manager.c:660 +msgid "Passwords and Keys" +msgstr "ਪਾਸਵਰਡ ਅਤੇ ਕੁੰਜੀਆਂ" + +#: ../data/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "ਆਪਣੇ ਪਾਸਵਰਡ ਅਤੇ ਇੰਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀਆਂ ਦੀ ਦੇਖਭਾਲ ਕਰੋ" + +#: ../data/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "ਛੱਲਾ;ਕੀਰਿੰਗ;ਇੰਕ੍ਰਿਪਸ਼ਨ;ਸੁਰੱਖਿਆ;ਸਾਈਨ;ssh;" + +#: ../common/catalog.vala:257 +msgid "Contributions:" +msgstr "ਯੋਗਦਾਨ:" + +#: ../common/catalog.vala:287 +msgid "translator-credits" +msgstr "" +"ਅਮਨਪਰੀਤ ਸਿੰਘ ਆਲਮ\n" +"ਪੰਜਾਬ ਓਪਨ ਸੋਰਸ ਟੀਮ ਦਾ ਉੱਦਮ" + +#: ../common/catalog.vala:290 +msgid "Seahorse Project Homepage" +msgstr "ਸੀ-ਹਾਰਸ ਪ੍ਰੋਜੈਕਟ ਮੇਨ ਪੇਜ਼" + +#: ../common/catalog.vala:308 +msgid "Cannot delete" +msgstr "ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕੀ" + +#: ../common/catalog.vala:331 ../libseahorse/seahorse-key-manager-store.c:440 +msgid "Couldn't export keys" +msgstr "ਕੁੰਜੀ ਬਰਾਮਦ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" + +#: ../common/catalog.vala:342 +msgid "Couldn't export data" +msgstr "ਡਾਟਾ ਬਰਾਮਦ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" + +#: ../common/catalog.vala:358 ../libseahorse/seahorse-widget.c:459 +#, c-format +msgid "Could not display help: %s" +msgstr "ਮਦਦ ਵੇਖਾਈ ਨਹੀਂ ਜਾ ਸਕੀ: %s" + +#. Top menu items +#: ../common/catalog.vala:364 +msgid "_File" +msgstr "ਫਾਇਲ(_F)" + +#: ../common/catalog.vala:365 +msgid "E_xport..." +msgstr "...ਬਰਾਮਦ(_x)" + +#: ../common/catalog.vala:366 +msgid "Export to a file" +msgstr "ਫਾਇਲ ਵਿੱਚ ਬਰਾਮਦ" + +#: ../common/catalog.vala:367 +msgid "_Edit" +msgstr "ਸੋਧ(_E)" + +#: ../common/catalog.vala:370 +msgid "Copy to the clipboard" +msgstr "ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ ਕਾਪੀ ਕਰੋ" + +#: ../common/catalog.vala:371 ../pkcs11/pkcs11-properties.vala:201 +#: ../src/seahorse-sidebar.c:954 +msgid "_Delete" +msgstr "ਹਟਾਓ(_D)" + +#: ../common/catalog.vala:372 +msgid "Delete selected items" +msgstr "ਚੁਣੀਆਂ ਆਈਟਮਾਂ ਹਟਾਓ" + +#: ../common/catalog.vala:374 +msgid "Show the properties of this item" +msgstr "ਇਹ ਆਈਟਮ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਵੇਖਾਓ" + +#: ../common/catalog.vala:376 +msgid "Show the properties of this keyring" +msgstr "ਇਹ ਕੀਰਿੰਗ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਵੇਖਾਓ" + +#: ../common/catalog.vala:377 +msgid "Prefere_nces" +msgstr "ਮੇਰੀ ਪਸੰਦ(_n)" + +#: ../common/catalog.vala:378 +msgid "Change preferences for this program" +msgstr "ਇਹ ਪਰੋਗਰਾਮ ਲਈ ਪਸੰਦ ਬਦਲੋ" + +#: ../common/catalog.vala:379 +msgid "_View" +msgstr "ਵੇਖੋ(_V)" + +#: ../common/catalog.vala:380 +msgid "_Help" +msgstr "ਮੱਦਦ(_H)" + +#: ../common/catalog.vala:382 +msgid "About this program" +msgstr "ਇਹ ਪਰੋਗਰਾਮ ਬਾਰੇ" + +#: ../common/catalog.vala:383 +msgid "_Contents" +msgstr "ਸਮੱਗਰੀ(_C)" + +#: ../common/catalog.vala:384 +msgid "Show Seahorse help" +msgstr "ਸੀ-ਹਾਰਸ ਮੱਦਦ ਵੇਖੋ" + +#: ../common/exportable.vala:192 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "ਐਕਸਪੋਰਟ" + +#: ../gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "ਪਾਸਵਰਡ" + +#: ../gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "ਸੰਭਾਲੇ ਹੋਏ ਨਿੱਜੀ ਪਾਸਵਰਡ, ਸਨਦ (credential) ਅਤੇ ਭੇਦ" + +#: ../gkr/gkr-backend.vala:241 +msgid "New password keyring" +msgstr "ਨਵਾਂ ਪਾਸਵਰਡ ਕੀਰਿੰਗ" + +#: ../gkr/gkr-backend.vala:242 ../gkr/gkr-backend.vala:249 +msgid "Used to store application and network passwords" +msgstr "ਐਪਲੀਕੇਸ਼ਨ ਅਤੇ ਨੈੱਟਵਰਕ ਪਾਸਵਰਡ ਸੰਭਾਲਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ" + +#: ../gkr/gkr-backend.vala:243 +msgid "New password..." +msgstr "ਨਵਾਂ ਪਾਸਵਰਡ..." + +#: ../gkr/gkr-backend.vala:244 ../gkr/gkr-backend.vala:251 +msgid "Safely store a password or secret." +msgstr "ਪਾਸਵਰਡ ਜਾਂ ਭੇਦ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਸਟੋਰ ਕਰੋ।" + +#: ../gkr/gkr-backend.vala:248 +msgid "Password Keyring" +msgstr "ਪਾਸਵਰਡ ਕੀਰਿੰਗ" + +#: ../gkr/gkr-backend.vala:250 +msgid "Stored Password" +msgstr "ਸਟੋਰ ਕੀਤੇ ਪਾਸਵਰਡ" + +#: ../gkr/gkr-item-add.vala:24 +msgid "Add Password" +msgstr "ਪਾਸਵਰਡ ਸ਼ਾਮਲ" + +#: ../gkr/gkr-item-add.vala:101 +msgid "Couldn't add item" +msgstr "ਆਈਟਮ ਜੋੜੀ ਨਹੀਂ ਜਾ ਸਕੀ" + +#: ../gkr/gkr-item-properties.vala:136 +msgid "Access a network share or resource" +msgstr "ਇੱਕ ਨੈੱਟਵਰਕ ਸਾਂਝ ਜਾਂ ਸਰੋਤ ਵਰਤੋਂ" + +#: ../gkr/gkr-item-properties.vala:139 +msgid "Access a website" +msgstr "ਇੱਕ ਵੈੱਬਸਾਇਟ ਵਰਤੋਂ" + +#: ../gkr/gkr-item-properties.vala:142 +msgid "Unlocks a PGP key" +msgstr "ਇੱਕ PGP ਕੁੰਜੀ ਅਣ-ਲਾਕ ਕਰੋ" + +#: ../gkr/gkr-item-properties.vala:145 +msgid "Unlocks a Secure Shell key" +msgstr "ਇੱਕ ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ (SSH) ਕੁੰਜੀ" + +#: ../gkr/gkr-item-properties.vala:148 +msgid "Saved password or login" +msgstr "ਸੰਭਾਲਿਆ ਪਾਸਵਰਡ ਜਾਂ ਲਾਗਇਨ" + +#: ../gkr/gkr-item-properties.vala:161 +msgid "Network Credentials" +msgstr "ਨੈੱਟਵਰਕ ਕਰਿਡਿਨਟੀਸ" + +#: ../gkr/gkr-item-properties.vala:166 +msgid "Password" +msgstr "ਪਾਸਵਰਡ" + +#: ../gkr/gkr-item-properties.vala:235 +msgid "Couldn't change password." +msgstr "ਪਾਸਵਰਡ ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ ਹੈ।" + +#: ../gkr/gkr-item-properties.vala:273 +msgid "Couldn't set description." +msgstr "ਵੇਰਵਾ ਸੈੱਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ ਹੈ।" + +#. Translators: This should be the same as the string in empathy +#: ../gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "ਇਸ ਲਈ IM ਅਕਾਊਂਟ ਪਾਸਵਰਡ " + +#: ../gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "ਪਾਸਵਰਡ ਜਾਂ ਭੇਦ" + +#: ../gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "ਨੈੱਟਵਰਕ ਪਾਸਵਰਡ" + +#: ../gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "ਸੰਭਾਲਿਆ ਨੋਟ" + +#: ../gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "ਕੀਰਿੰਗ ਪਾਸਵਰਡ" + +#: ../gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀ ਪਾਸਵਰਡ" + +#: ../gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "ਕੁੰਜੀ ਸਟੋਰੇਜ਼ ਪਾਸਵਰਡ" + +#: ../gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "ਗੂਗਲ ਕਰੋਮ ਪਾਸਵਰਡ" + +#: ../gkr/gkr-item.vala:451 +msgid "Gnome Online Accounts password" +msgstr "ਗਨੋਮ ਆਨਲਾਈਨ ਅਕਾਊਂਟ ਪਾਸਵਰਡ" + +#: ../gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "ਟੈਲੀਪੈਥੀ ਪਾਸਵਰਡ" + +#: ../gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "ਤੁਰੰਤ ਮੈਸਜ਼ਿੰਗ ਪਾਸਵਰਡ" + +#: ../gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "ਨੈੱਟਵਰਕ ਮੈਨੇਜਰ ਭੇਦ" + +#: ../gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "ਕੀ ਤੁਸੀਂ '%s' ਪਾਸਵਰਡ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: ../gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "ਕੀ ਤੁਸੀਂ %d ਪਾਸਵਰਡਾਂ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?" +msgstr[1] "ਕੀ ਤੁਸੀਂ %d ਪਾਸਵਰਡਾਂ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: ../gkr/gkr-keyring-add.vala:25 +msgid "Add Password Keyring" +msgstr "ਕੀਰਿੰਗ ਪਾਸਵਰਡ ਸ਼ਾਮਲ" + +#: ../gkr/gkr-keyring-add.vala:55 +msgid "Couldn't add keyring" +msgstr "ਕੀਰਿੰਗ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" + +#: ../gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "ਇੱਕ ਕੀਰਿੰਗ, ਜੋ ਕਿ ਲਾਗਇਨ ਸਮੇਂ ਆਪਣੇ ਆਪ ਹੀ ਅਣ-ਲਾਕ ਹੋਵੇ" + +#: ../gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "ਪਾਸਵਰਡ ਸੰਭਾਲਣ ਲਈ ਵਰਤਣ ਲਈ ਕੀਰਿੰਗ" + +#: ../gkr/gkr-keyring.vala:174 +msgid "Couldn't set default keyring" +msgstr "ਡਿਫਾਲਟ ਕੀਰਿੰਗ ਸੈੱਟ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" + +#: ../gkr/gkr-keyring.vala:198 ../gkr/gkr-keyring.vala:203 +msgid "Couldn't change keyring password" +msgstr "ਕੀਰਿੰਗ ਪਾਸਵਰਡ ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: ../gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "ਡਿਫਾਲਟ ਸੈੱਟ ਕਰੋ(_S)" + +#: ../gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਕਸਰ ਨਵੇਂ ਪਾਸਵਰਡ ਡਿਫਾਲਟ ਕੀਰਿੰਗ ਵਿੱਚ ਸੰਭਾਲਦੀਆਂ ਹਨ।" + +#: ../gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "ਪਾਸਵਰਡ ਬਦਲੋ(_P)" + +#: ../gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "ਪਾਸਵਰਡ ਸਟੋਰੇਜ਼ ਕੀਰਿੰਗ ਲਈ ਅਣ-ਲਾਕ ਪਾਸਵਰਡ ਬਦਲੋ" + +#: ../gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "ਕੀ ਤੁਸੀਂ '%s' ਕੀਰਿੰਗ ਪਾਸਵਰਡ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: ../gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "ਮੈਂ ਸਮਝਦਾ/ਸਮਝਦੀ ਹਾਂ ਕਿ ਸਭ ਆਈਟਮਾਂ ਪੱਕੇ ਤੌਰ ਉੱਤੇ ਹਟਾਈਆਂ ਜਾਣਗੀਆਂ।" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"ਨਵੇਂ ਕੀਰਿੰਗ ਲਈ ਇੱਕ ਨਾਂ ਦਿਓ। ਤੁਹਾਨੂੰ ਇੱਕ ਅਣ-ਲਾਕ ਪਾਸਵਰਡ ਲਈ ਪੁੱਛਿਆ ਜਾਵੇਗਾ।" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "ਨਵਾਂ ਕੀਰਿੰਗ ਨਾਂ:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "ਵੇਰਵਾ(_D):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +msgid "_Password:" +msgstr "ਪਾਸਵਰਡ(_P):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Show Password" +msgstr "ਪਾਸਵਰਡ ਵੇਖੋ(_S)" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Keyring:" +msgstr "ਕੀਰਿੰਗ(_K):" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "ਵਰਤੋਂ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "ਟਾਈਪ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Server:" +msgstr "ਸਰਵਰ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Login:" +msgstr "ਲਾਗਇਨ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Show pass_word" +msgstr "ਪਾਸਵਰਡ ਵੇਖੋ(_w)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../libseahorse/seahorse-passphrase.c:179 ../ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "ਪਾਸਵਰਡ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +#: ../pgp/seahorse-pgp-subkey.c:402 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "ਕੁੰਜੀ" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "ਤਕਨੀਕੀ ਵੇਰਵਾ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "ਵੇਰਵਾ" + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Name:" +msgstr "ਨਾਂ:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "ਬਣਾਇਆ:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring" +msgstr "ਕੀਰਿੰਗ" + +#: ../libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "ਡਿਸਪਲੇਅ ਨਿਸ਼ਾਨ" + +#: ../libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "ਵੇਖਾਏ ਜਾਂਦੇ ਮਿਤੀ ਅਤੇ/ਜਾਂ ਟਾਈਮ ਵਿਸ਼ੇਸ਼ਤਾ" + +#: ../libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "ਸੁਸਤ ਮੋਡ" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "ਸੁਸਤ ਮੋਡ ਆਮ ਤੌਰ ਉੱਤੇ ਮਿਤੀ ਅਤੇ ਟਾਈਮ ਮੁੱਲ ਦਿੱਤੇ ਨਹੀਂ ਜਾਂਦੇ ਹਨ" + +#: ../libegg/egg-datetime.c:328 +msgid "Year" +msgstr "ਸਾਲ" + +#: ../libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "ਵੇਖਾਇਆ ਸਾਲ" + +#: ../libegg/egg-datetime.c:334 +msgid "Month" +msgstr "ਮਹੀਨਾ" + +#: ../libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "ਵੇਖਾਇਆ ਮਹੀਨਾ" + +#: ../libegg/egg-datetime.c:340 +msgid "Day" +msgstr "ਦਿਨ" + +#: ../libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "ਮਹੀਨੇ ਦਾ ਵੇਖਾਇਆ ਦਿਨ" + +#: ../libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "ਘੰਟਾ" + +#: ../libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "ਵੇਖਾਇਆ ਘੰਟਾ" + +#: ../libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "ਮਿੰਟ" + +#: ../libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "ਵੇਖਾਇਆ ਮਿੰਟ" + +#: ../libegg/egg-datetime.c:358 +msgid "Second" +msgstr "ਸਕਿੰਟ" + +#: ../libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "ਵੇਖਾਇਆ ਸਕਿੰਟ" + +#: ../libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "ਹੇਠਲਾ ਸੀਮਾ ਸਾਲ" + +#: ../libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "ਹੇਠਲੀ ਮਿਤੀ ਲਿਮਟ ਦਾ ਸਾਲ ਭਾਗ" + +#: ../libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "ਉਤਲੀ ਸੀਮਾ ਸਾਲ" + +#: ../libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "ਉਤਲੀ ਮਿਤੀ ਸੀਮਾ ਦਾ ਸਾਲ ਭਾਗ" + +#: ../libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "ਹੇਠਲੀ ਸੀਮਾ ਮਹੀਨਾ" + +#: ../libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "ਹੇਠਲੀ ਮਿਤੀ ਸੀਮਾ ਦਾ ਮਹੀਨਾ ਭਾਗ" + +#: ../libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "ਉਤਲੀ ਸੀਮਾ ਮਹੀਨਾ" + +#: ../libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "ਉਤਲੀ ਮਿਤੀ ਸੀਮਾ ਦਾ ਮਹੀਨਾ ਭਾਗ" + +#: ../libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "ਹੇਠਲੀ ਸੀਮਾ ਦਿਨ" + +#: ../libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "ਹੇਠਲੀ ਮਿਤੀ ਸੀਮਾ ਦਾ ਮਹੀਨੇ ਦਾ ਦਿਨ" + +#: ../libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "ਉਤਲੀ ਸੀਮਾ ਦਿਨ" + +#: ../libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "ਉਤਲੀ ਮਿਤੀ ਸੀਮਾ ਦਾ ਮਹੀਨਾ ਦਾ ਦਿਨ" + +#: ../libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "ਹੇਠਲੀ ਸੀਮਾ ਘੰਟਾ" + +#: ../libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "ਹੇਠਲੀ ਸਮਾਂ ਸੀਮਾ ਦਾ ਘੰਟਾ ਭਾਗ" + +#: ../libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "ਉਤਲੀ ਸੀਮਾ ਘੰਟਾ" + +#: ../libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "ਉਤਲਾ ਟਾਈਮ ਲਿਮਟ ਦਾ ਘੰਟਾ ਭਾਗ" + +#: ../libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "ਹੇਠਲਾ ਸੀਮਾ ਮਿੰਟ" + +#: ../libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "ਹੇਠਲੀ ਸਮਾਂ ਸੀਮਾ ਦਾ ਮਿੰਟ ਭਾਗ" + +#: ../libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "ਉਤਲੀ ਸੀਮਾ ਮਿੰਟ" + +#: ../libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "ਉਤਲੀ ਸਮਾਂ ਸੀਮਾ ਦਾ ਮਿੰਟ ਭਾਗ" + +#: ../libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "ਹੇਠਲੀ ਸੀਮਾ ਸਕਿੰਟ" + +#: ../libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "ਹੇਠਲੀ ਸਮਾਂ ਸੀਮਾ ਦਾ ਸਕਿੰਟ ਭਾਗ" + +#: ../libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "ਉਤਲੀ ਸੀਮਾ ਸਕਿੰਟ" + +#: ../libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "ਉਤਲੀ ਸਮਾਂ ਸੀਮਾ ਦਾ ਸਕਿੰਟ ਭਾਗ" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:495 +msgid "Date" +msgstr "ਮਿਤੀ" + +#: ../libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "ਮਿਤੀ ਸਿੱਧੀ ਲਿਖੋ" + +#: ../libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "ਮਿਤੀ ਚੁਣੋ" + +#: ../libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "ਇੱਕ ਕੈਲੰਡਰ ਤੋਂ ਮਿਤੀ ਚੁਣੋ" + +#: ../libegg/egg-datetime.c:520 ../libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "ਸਮਾਂ" + +#: ../libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "ਸਿੱਧਾ ਸਮਾਂ ਦਿਓ" + +#: ../libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "ਸਮਾਂ ਚੁਣੋ" + +#: ../libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "ਲਿਸਟ 'ਚੋਂ ਸਮਾਂ ਚੁਣੋ" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:796 ../libegg/egg-datetime.c:1259 +#: ../libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:798 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "ਸ਼ੁਰੂਆਤੀ ਆਰਜ਼ੀ ਆਈਟਮ" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "ਕੁੰਜੀ ਸਰਵਰ ਸ਼ਾਮਿਲ" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "ਕੁੰਜੀ ਸਰਵਰ ਟਾਈਪ:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "ਹੋਸਟ:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "ਸਰਵਰ ਦਾ ਹੋਸਟ ਨਾਂ ਜਾਂ ਐਡਰੈੱਸ।" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "ਸਰਵਰ ਦੀ ਵਰਤੋਂ ਲਈ ਪੋਰਟ ਹੈ।" + +#: ../libseahorse/seahorse-application.c:114 +msgid "Version of this application" +msgstr "ਇਸ ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਵਰਜਨ" + +#: ../libseahorse/seahorse-application.c:120 +#: ../libseahorse/seahorse-application.c:164 +msgid "- System Settings" +msgstr "- ਸਿਸਟਮ ਸੈਟਿੰਗ" + +#: ../libseahorse/seahorse-application.c:160 +msgid "Don't display a window" +msgstr "ਵਿੰਡੋ ਨਾ ਵੇਖਾਓ" + +#: ../libseahorse/seahorse-interaction.c:98 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "%s: ਲਈ ਪਿੰਨ ਜਾਂ ਪਾਸਵਰਡ ਦਿਓ" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:241 +msgid "Confirm:" +msgstr "ਪੁਸ਼ਟੀ:" + +#: ../libseahorse/seahorse-prefs.c:65 +msgid "Not a valid Key Server address." +msgstr "ਇੱਕ ਠੀਕ ਕੁੰਜੀ ਸਰਵਰ ਐਡਰੈੱਸ ਨਹੀਂ ਹੈ।" + +#: ../libseahorse/seahorse-prefs.c:66 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "ਮੱਦਦ ਲਈ ਆਪਣੇ ਸਿਸਟਮ ਪਰਸ਼ਾਸ਼ਕ ਜਾਂ ਕੁੰਜੀ ਸਰਵਰ ਦੇ ਪਰਸ਼ਾਸ਼ਕ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।" + +#: ../libseahorse/seahorse-prefs.c:179 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:349 +msgid "Custom" +msgstr "ਕਸਟਮ" + +#: ../libseahorse/seahorse-prefs.c:402 +msgid "None: Don't publish keys" +msgstr "ਕੋਈ ਨਹੀਂ: ਕੁੰਜੀਆਂ ਪਬਲਿਸ਼ ਨਾ ਕਰੋ" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "ਮੇਰੀ ਪਸੰਦ" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "ਕੁੰਜੀ ਖੋਜੋ ਰਾਹੀਂ(_F):" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "ਕੁੰਜੀਆਂ ਪਬਲਿਸ਼ ਕਰੋ(_P):" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "ਕੁੰਜੀ ਸਰਵਰ ਤੋਂ ਕੁੰਜੀਆਂ ਆਟੋਮੈਟਿਕ ਹੀ ਲਵੋ(_k)" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "ਸੋਧੀਆਂ ਕੁੰਜੀਆਂ ਨੂੰ ਕੁੰਜੀ ਸਰਵਰ ਨਾਲ ਆਟੋਮੈਟਿਕ ਸਮਕਾਲੀ ਕਰੋ(_m)" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "ਕੁੰਜੀ ਸਰਵਰ" + +#: ../libseahorse/seahorse-validity.c:38 +#: ../pgp/seahorse-pgp-key-properties.c:1251 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1257 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "ਕਦੇ ਨਹੀਂ" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "ਅਧੂਰਾ" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "ਪੂਰਾ" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "ਬੇਅੰਤ" + +#: ../libseahorse/seahorse-validity.c:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "ਆਯੋਗ" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "ਮਨਸੂਖ" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "ਕਦੇ ਮਿਆਦ ਨਾ ਪੁੱਗੇ(_x)" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "ਜੇ ਕੁੰਜੀ ਦੀ ਮਿਆਦ ਕਦੇ ਨਾ ਪੁੱਗੇ" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "ਕੁੰਜੀ ਕਿਸਮ(_T):" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "ਕੁੰਜੀ ਲੰਬਾਈ(_L):" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "ਮਿਆਦ:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "ਕੁੰਜੀ ਦੀ ਲੰਬਾਈ" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "ਇੱਕ ਨਵੀਂ ਸਬ-ਕੁੰਜੀ ਬਣਾਓ" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "ਯੂਜ਼ਰ ID ਸ਼ਾਮਲ" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "ਘੱਟੋ-ਘੱਟ 5 ਅੱਖਰ ਹੋਣੇ ਲਾਜ਼ਮੀ ਹਨ" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "ਚੋਣਵਾਂ ਈ-ਮੇਲ ਐਡਰੈੱਸ" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "ਚੋਣਵੀਂ ਕੁੰਜੀ ਵੇਰਵਾ ਟਿੱਪਣੀ" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "ਪੂਰਾ ਨਾਂ(_N):" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "ਈ-ਮੇਲ ਐਡਰੈੱਸ(_E):" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "ਕੁੰਜੀ ਟਿੱਪਣੀ(_m):" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "ਨਵਾਂ ਯੂਜ਼ਰ ID ਬਣਾਓ" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "ਕਦੇ ਨਹੀਂ ਮਿਆਦ ਪੁੱਗਦੀ(_N)" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "ਕੁੰਜੀ ਮਨਸੂਖ" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "ਬਦਲੋ(_h)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn't add subkey" +msgstr "ਸਬ-ਕੁੰਜੀ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" + +#: ../pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "%s ਵਿੱਚ ਸਬ-ਕੁੰਜੀ ਸ਼ਾਮਲ" + +#: ../pgp/seahorse-gpgme-add-subkey.c:196 ../pgp/seahorse-gpgme-generate.c:132 +msgid "DSA (sign only)" +msgstr "DSA (ਸਿਰਫ਼ ਸਾਇਨ)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (ਸਿਰਫ਼ ਇੰਕ੍ਰਿਪਟ)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:210 ../pgp/seahorse-gpgme-generate.c:133 +msgid "RSA (sign only)" +msgstr "RSA (ਕੇਵਲ ਸਾਇਨ)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (ਕੇਵਲ ਇੰਕ੍ਰਿਪਟ)" + +#: ../pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn't add user id" +msgstr "ਯੂਜ਼ਰ id ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" + +#: ../pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "%s ਲਈ ਯੂਜ਼ਰ ID ਸ਼ਾਮਲ" + +#: ../pgp/seahorse-gpgme.c:71 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "ਡਿ-ਕ੍ਰਿਪਸ਼ਨ ਫੇਲ੍ਹ ਹੋਈ। ਸ਼ਾਇਦ ਤੁਹਾਡੇ ਕੋਲ ਡਿ-ਕ੍ਰਿਪਟ ਕੁੰਜੀ ਨਹੀਂ ਹੈ।" + +#: ../pgp/seahorse-gpgme.c:75 ../pgp/seahorse-hkp-source.c:548 +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The operation was cancelled" +msgstr "ਕਾਰਵਾਈ ਰੱਦ ਕੀਤੀ ਗਈ" + +#: ../pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "ਅਢੁੱਕਵੀਂ ਮਿਆਦ" + +#: ../pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "ਮਿਆਦ ਭਵਿੱਖ ਵਿੱਚ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ" + +#: ../pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn't change expiry date" +msgstr "ਮਿਆਦ ਮਿਤੀ ਬਦਲੀ ਨਹੀਂ ਜਾ ਸਕਦੀ" + +#: ../pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "ਮਿਆਦ: %s" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "ਕਈ ਕੁੰਜੀਆਂ" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "ਕੁੰਜੀ ਡਾਟਾ" + +#: ../pgp/seahorse-gpgme-exporter.c:116 +msgid "Armored PGP keys" +msgstr "ਅਰਮੋਰ PGP ਕੁੰਜੀਆਂ" + +#: ../pgp/seahorse-gpgme-exporter.c:120 +msgid "PGP keys" +msgstr "PGP ਕੁੰਜੀਆਂ" + +#: ../pgp/seahorse-gpgme-generate.c:93 +msgid "PGP Key" +msgstr "PGP ਕੁੰਜੀ" + +#: ../pgp/seahorse-gpgme-generate.c:94 +msgid "Used to encrypt email and files" +msgstr "ਈ-ਮੇਲ ਅਤੇ ਫਾਇਲਾਂ ਦੀ ਇੰਕ੍ਰਿਪਸ਼ਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ" + +#: ../pgp/seahorse-gpgme-generate.c:130 +#: ../pkcs11/seahorse-pkcs11-generate.c:90 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:131 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: ../pgp/seahorse-gpgme-generate.c:180 +msgid "Couldn't generate PGP key" +msgstr "PGP ਕੁੰਜੀ ਤਿਆਰ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "ਨਵੀਂ PGP ਕੁੰਜੀ ਲਈ ਵਾਕ" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "ਆਪਣੀ ਨਵੀਂ ਕੁੰਜੀ ਲਈ ਵਾਕ ਦੋ ਵਾਰ ਦਿਓ।" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It's a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"ਜਦੋਂ ਕੁੰਜੀ ਬਣਾਉਣੀ ਹੋਵੇ ਤਾਂ ਸਾਨੂੰ ਬਹੁਤ ਸਾਰਾ ਰਲਵਾਂ ਡਾਟਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ\n" +"ਤੁਹਾਡੀ ਮੱਦਦ ਵੀ ਚਾਹੀਦੀ ਹੈ। ਕੁਝ ਹੋਰ ਕੰਮ ਕਰਨੇ ਚੰਗਾ\n" +"ਵਿਚਾਰ ਹੋ ਸਕਦਾ ਹੈ ਕਿਵੇਂ ਕਿ ਕੀਬੋਰਡ ਤੋਂ ਲਿਖਣਾ, ਮਾਊਸ\n" +"ਨੂੰ ਹਿਲਾਉਣਾ, ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ।\n" +"ਇਸ ਨਾਲ ਸਿਸਟਮ ਨੂੰ ਰਲਵਾਂ ਡਾਟਾ ਮਿਲਦਾ ਹੈ, ਜਿਸ ਦੀ ਕਿ ਲੋੜ ਹੈ।" + +#: ../pgp/seahorse-gpgme-generate.c:231 +#: ../pkcs11/seahorse-pkcs11-generate.c:458 +msgid "Generating key" +msgstr "ਕੁੰਜੀ ਤਿਆਰ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ" + +#: ../pgp/seahorse-gpgme-key-deleter.c:77 +#: ../pgp/seahorse-gpgme-secret-deleter.c:76 ../pkcs11/pkcs11-deleter.vala:35 +#: ../pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "ਕੀ ਤੁਸੀਂ %s ਨੂੰ ਹਮੇਸ਼ਾਂ ਲਈ ਹਟਾਉਣ ਵਾਸਤੇ ਤਿਆਰ ਹੋ?" + +#: ../pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "ਕੀ ਤੁਸੀਂ %d ਕੁੰਜੀ ਹਮੇਸ਼ਾਂ ਲਈ ਹਟਾਉਣ ਵਾਸਤੇ ਤਿਆਰ ਹੋ?" +msgstr[1] "ਕੀ ਤੁਸੀਂ %d ਕੁੰਜੀਆਂ ਹਮੇਸ਼ਾਂ ਲਈ ਹਟਾਉਣ ਵਾਸਤੇ ਤਿਆਰ ਹੋ?" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "Wrong password" +msgstr "ਗਲਤ ਪਾਸਵਰਡ" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "ਇਹ ਤੁਸੀਂ ਤੀਜੀ ਵਾਰ ਗਲਤ ਪਾਸਵਰਡ ਦਿੱਤਾ ਹੈ। ਮੁੜ ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜੀ।" + +#: ../pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "ਗਲਤ ਵਾਕ ਹੈ।" + +#: ../pgp/seahorse-gpgme-keyring.c:93 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "'%s' ਲਈ ਨਵਾਂ ਵਾਕ ਦਿਓ" + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "'%s' ਲਈ ਵਾਕ ਦਿਓ" + +#: ../pgp/seahorse-gpgme-keyring.c:98 +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "ਨਵਾਂ ਵਾਕ ਦਿਓ" + +#: ../pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "ਵਾਕ ਦਿਓ" + +#: ../pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "ਵਾਕ" + +#: ../pgp/seahorse-gpgme-keyring.c:306 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d ਕੁੰਜੀ ਲੋਡ ਹੋਈ" +msgstr[1] "%d ਕੁੰਜੀਆਂ ਲੋਡ ਹੋਈਆਂ" + +#: ../pgp/seahorse-gpgme-keyring.c:653 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"ਗਲਤ ਕੁੰਜੀ ਡਾਟਾ (ਗੁੰਮ UID)। ਇਹ ਕੰਪਿਊਟਰ ਉੱਤੇ ਆਉਣ ਵਾਲੇ ਸਮੇਂ ਦੀ ਮਿਤੀ ਸੈੱਟ ਕਰਨ " +"ਕਰਕੇ ਹੋ ਸਕਦਾ ਹੈ " +"ਜਾਂ ਖੁਦ-ਦਸਤਖਤ ਗੁੰਮ ਹੋਣ ਕਰਕੇ ਹੋ ਸਕਦਾ ਹੈ।" + +#: ../pgp/seahorse-gpgme-keyring.c:806 +msgid "GnuPG keys" +msgstr "GnuPG ਕੁੰਜੀਆਂ" + +#: ../pgp/seahorse-gpgme-keyring.c:812 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: ਡਿਫਾਲਟ ਕੀਰਿੰਗ ਡਾਇਰੈਕਟਰੀ" + +#: ../pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"ਫੋਟੋ ਬਹੁਤ ਵੱਡੀ ਹੈ।\n" +"ਤੁਹਾਡੀ ਕੁੰਜੀ ਲਈ ਫੋਟੋ ਦਾ ਆਕਾਰ %d x %d ਪਿਕਸਲ ਹੈ।" + +#: ../pgp/seahorse-gpgme-photos.c:77 +msgid "_Don't Resize" +msgstr "ਰੀ-ਸਾਇਜ਼ ਨਾ ਕਰੋ(_D)" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "ਰੀ-ਸਾਇਜ਼(_R)" + +#: ../pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"ਇਹ ਚਿੱਤਰ ਫਾਇਲ ਨਹੀਂ ਹੈ ਜਾਂ ਬੇਪਛਾਣ ਕਿਸਮ ਦੀ ਚਿੱਤਰ ਫਾਇਲ ਹੈ। JPEG ਚਿੱਤਰ ਵਰਤ ਕੇ " +"ਕੋਸ਼ਿਸ਼ ਕਰੋ ਜੀ।" + +#: ../pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "ਸਭ ਚਿੱਤਰ ਫਾਇਲਾਂ" + +#: ../pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "ਸਭ JPEG ਫਾਇਲਾਂ" + +#: ../pgp/seahorse-gpgme-photos.c:241 ../src/seahorse-key-manager.c:288 +msgid "All files" +msgstr "ਸਭ ਫਾਇਲਾਂ" + +#: ../pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "ਕੁੰਜੀ 'ਚ ਜੋੜਨ ਲਈ ਫੋਟੋ ਚੁਣੋ" + +#: ../pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn't prepare photo" +msgstr "ਫੋਟੋ ਤਿਆਰ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" + +#: ../pgp/seahorse-gpgme-photos.c:294 ../pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn't add photo" +msgstr "ਫੋਟੋ ਜੋੜੀ ਨਹੀਂ ਜਾ ਸਕੀ" + +#: ../pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "ਫਾਇਲ ਲੋਡ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ। ਸ਼ਾਇਦ ਗਲਤ ਫਾਰਮੈਟ ਹੈ" + +#: ../pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "ਕੀ ਤੁਸੀਂ ਆਪਣੀ ਕੁੰਜੀ ਨਾਲੋਂ ਮੌਜੂਦਾ ਫੋਟੋ ਹਟਾਉਣੀ ਚਾਹੁੰਦੇ ਹੋ?" + +#: ../pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn't delete photo" +msgstr "ਫੋਟੋ ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ" + +#: ../pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn't revoke subkey" +msgstr "ਸਬ-ਕੁੰਜੀ ਮਨਸੂਖ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ" + +#: ../pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "ਮਨਸੂਖ: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "ਕੋਈ ਕਾਰਨ ਨਹੀਂ ਹੈ" + +#: ../pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "ਕੁੰਜੀ ਮਨਸੂਖ ਕਰਨ ਲਈ ਕੋਈ ਕਾਰਨ ਨਹੀਂ" + +#: ../pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "ਕੰਪਰੋਮਾਈਜ਼ ਹੋਈ" + +#: ../pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "ਕੁੰਜੀ ਕੰਪਰੋਮਾਈਜ਼ ਹੋ ਗਈ" + +#: ../pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "ਸੁਪਰ-ਸ਼ਿਡ" + +#: ../pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "ਕੁੰਜੀ ਸੁਪਰ-ਸ਼ਿਡ ਕੀਤੀ ਗਈ ਹੈ" + +#: ../pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "ਵਰਤੀ ਨਹੀਂ" + +#: ../pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "ਕੁੰਜੀ ਹੁਣ ਵਰਤੀ ਨਹੀਂ ਜਾਂਦੀ" + +#: ../pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"ਤੁਸੀਂ ਹੁਣ %s ਨੂੰ %s ਲਈ ਮਨਸੂਖਕਰਤਾ ਵਾਂਗ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਤਿਆਰ ਹੋ। ਇਹ ਓਪਰੇਸ਼ਨ ਵਾਪਸ " +"ਨਹੀਂ ਲਿਆ ਜਾ " +"ਸਕਦਾ ਹੈ। ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: ../pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn't add revoker" +msgstr "ਮਨਸੂਖਕਰਤਾ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:82 +msgid "I understand that this secret key will be permanently deleted." +msgstr "ਮੈਂ ਸਮਝਦਾ/ਸਮਝਦੀ ਹਾਂ ਕਿ ਇਹ ਗੁਪਤ ਕੁੰਜੀ ਪੱਕੇ ਤੌਰ ਉੱਤੇ ਹਟਾਈ ਜਾਵੇਗੀ।" + +#: ../pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" +"\"%s\"\n" +"ਕੁੰਜੀ ਪਹਿਲਾਂ ਹੀ ਸਾਇਨ ਕੀਤੀ ਹੋਈ ਹੈ" + +#: ../pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn't sign key" +msgstr "ਕੁੰਜੀ ਉੱਤੇ ਸਾਇਨ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕੇ" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:163 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "ਸਾਇਨ ਕਰਨ ਲਈ ਕੁੰਜੀ ਵਰਤੋਂ ਯੋਗ ਨਹੀਂ ਹੈ" + +#: ../pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"ਤੁਹਾਡੀ ਕੋਈ ਨਿੱਜੀ PGP ਕੁੰਜੀ ਨਹੀਂ ਹੈ, ਜੋ ਕਿ ਇਸ ਕੁੰਜੀ ਉੱਤੇ ਤੁਹਾਡੇ ਟਰੱਸਟ ਨੂੰ " +"ਵੇਖਾਉਣ ਲਈ ਵਰਤੀ ਜਾ ਸਕੇ।" + +#: ../pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:566 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "ਖੋਜ ਬਹੁਤ ਸੰਖੇਪ ਨਹੀਂ ਹੈ। ਸਰਵਰ '%s' ਨੇ ਬਹੁਤ ਸਾਰੀਆਂ ਕੁੰਜੀਆਂ ਲੱਭੀਆਂ ਹਨ।" + +#: ../pgp/seahorse-hkp-source.c:569 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "'%s' ਸਰਵਰ ਨਾਲ ਸੰਚਾਰ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ: %s" + +#: ../pgp/seahorse-hkp-source.c:1079 +msgid "HTTP Key Server" +msgstr "HTTP ਕੁੰਜੀ ਸਰਵਰ" + +#: ../pgp/seahorse-keyserver-results.c:168 +msgid "Couldn't import keys" +msgstr "ਕੁੰਜੀਆਂ ਇੰਪੋਰਟ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾ ਸਕੀਆਂ" + +#: ../pgp/seahorse-keyserver-results.c:211 +msgid "Importing keys from key servers" +msgstr "ਕੁੰਜੀ ਸਰਵਰ ਤੋਂ ਕੁੰਜੀਆਂ ਇੰਪੋਰਟ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:237 ../src/seahorse-key-manager.c:501 +msgid "_Remote" +msgstr "ਰਿਮੋਟ(_R)" + +#: ../pgp/seahorse-keyserver-results.c:239 +msgid "Close this window" +msgstr "ਇਹ ਵਿੰਡੋ ਬੰਦ ਕਰੋ" + +#: ../pgp/seahorse-keyserver-results.c:243 ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys..." +msgstr "...ਰਿਮੋਟ ਕੁੰਜੀਆਂ ਖੋਜ(_F)" + +#: ../pgp/seahorse-keyserver-results.c:244 ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "ਇੱਕ ਕੁੰਜੀ ਸਰਵਰ ਉੱਤੇ ਕੁੰਜੀਆਂ ਲਈ ਖੋਜ" + +#: ../pgp/seahorse-keyserver-results.c:248 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "ਇੰਪੋਰਟ(_I)" + +#: ../pgp/seahorse-keyserver-results.c:249 +msgid "Import selected keys to local key ring" +msgstr "ਚੁਣੀਆਂ ਕੁੰਜੀਆਂ ਲੋਕਲ ਕੀਰਿੰਗ ਵਿੱਚ ਇੰਪੋਰਟ ਕਰੋ" + +#: ../pgp/seahorse-keyserver-results.c:280 +msgid "Remote Keys" +msgstr "ਰਿਮੋਟ ਕੁੰਜੀਆਂ" + +#: ../pgp/seahorse-keyserver-results.c:282 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "ਰਿਮੋਟ ਕੁੰਜੀਆਂ 'ਚ '%s' ਹੈ" + +#: ../pgp/seahorse-keyserver-results.c:485 +msgid "The search for keys failed." +msgstr "ਕੁੰਜੀਆਂ ਦੀ ਖੋਜ ਫੇਲ੍ਹ ਹੈ।" + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "ਰਿਮੋਟ ਕੁੰਜੀਆਂ ਖੋਜ" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"ਇਹ ਇੰਟਰਨੈੱਟ ਤੋਂ ਹੋਰਾਂ ਲਈ ਕੁੰਜੀਆਂ ਲੱਭੇਗਾ। ਇਹ ਕੁੰਜੀਆਂ ਤੁਹਾਨੂੰ ਲੋਕਲ ਕੀਰਿੰਗ ਵਿੱਚ " +"ਇੰਪੋਰਟ ਵੀ ਕੀਤਾ ਜਾ ਸਕਦਾ " +"ਹੈ।" + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "ਇਹ ਰੱਖਣ ਵਾਲੀਆਂ ਕੁੰਜੀਆਂ ਦੀ ਖੋਜ(_S):" + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "ਕੁੰਜੀ ਸਰਵਰ:" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "ਕੁੰਜੀਆਂ ਮੇਰੇ ਨੇੜੇ ਸਾਂਝੀਆਂ ਕੀਤੀਆਂ:" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "ਕਿੱਥੇ ਖੋਜਣਾ:" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "ਖੋਜ(_S)" + +#: ../pgp/seahorse-keyserver-sync.c:56 +msgid "Couldn't publish keys to server" +msgstr "ਕੁੰਜੀਆਂ ਸਰਵਰ ਉੱਤੇ ਪਬਲਿਸ਼ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾ ਸਕੀਆਂ" + +#: ../pgp/seahorse-keyserver-sync.c:75 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "ਸਰਵਰ ਤੋਂ ਕੁੰਜੀਆਂ ਲਈਆਂ ਨਹੀਂ ਜਾ ਸਕੀਆਂ: %s" + +#: ../pgp/seahorse-keyserver-sync.c:159 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d ਕੁੰਜੀ ਸਿਕਰੋਨਾਈਜ਼ ਕਰਨ ਲਈ ਚੁਣੀ ਗਈ।" +msgstr[1] "%d ਕੁੰਜੀਆਂ ਸਿਕਰੋਨਾਈਜ਼ ਕਰਨ ਲਈ ਚੁਣੀਆਂ ਗਈਆਂ।" + +#: ../pgp/seahorse-keyserver-sync.c:239 +msgid "Synchronizing keys..." +msgstr "...ਕੁੰਜੀਆਂ ਸਿਕਰੋਨਾਈਜ਼ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "ਕੁੰਜੀਆਂ ਸਿਕਰੋਨਾਈਜ਼" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"ਇਸ ਨਾਲ ਤੁਹਾਡੀ ਕੀਰਿੰਗ ਵਿੱਚੋਂ ਕੁੰਜੀਆਂ ਨੂੰ ਪਬਲਿਸ਼ ਕੀਤਾ ਜਾਵੇਗਾ ਤਾਂ ਕਿ ਉਹਨਾਂ ਨੂੰ " +"ਹੋਰਾਂ ਨੂੰ ਵਰਤਣ ਵਾਸਤੇ " +"ਉਪਲੱਬਧ ਕਰਵਾਇਆ ਜਾਵੇ। ਤੁਸੀਂ ਹੋਰਾਂ ਵਲੋਂ ਕੀਤੇ ਬਦਲਾਅ ਵੀ ਵੇਖ ਸਕੋਗੇ, ਜਦੋਂ ਤੁਸੀਂ " +"ਉਨ੍ਹਾਂ ਦੀਆਂ ਕੁੰਜੀਆਂ ਲੈ ਲਈਆਂ।" + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"ਇਹ ਹੋਰਾਂ ਵਲੋਂ ਕੀਤੇ ਕੋਈ ਵੀ ਬਦਲਾਅ ਲਵੇਗਾ, ਜਦੋਂ ਤੋਂ ਤੁਸੀ ਉਨ੍ਹਾਂ ਦੀਆਂ ਕੁੰਜੀਆਂ ਲਈਆਂ " +"ਹਨ। ਪਬਲਿਸ਼ ਕਰਨ ਲਈ " +"ਕੋਈ ਕੁੰਜੀ ਸਰਵਰ ਨਹੀਂ ਚੁਣਿਆ ਗਿਆ, ਇਸ ਕਰਕੇ ਤੁਹਾਡੀਆਂ ਕੁੰਜੀਆਂ ਨੂੰ ਹੋਰਾਂ ਲਈ ਉਪਲੱਬਧ " +"ਨਹੀਂ ਕਰਵਾਇਆ ਜਾਵੇਗਾ।" + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "ਕੁੰਜੀ ਸਰਵਰ(_K)" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "ਸਿੰਕ(_S)" + +#: ../pgp/seahorse-ldap-source.c:436 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "'%s' ਨਾਲ ਸੰਚਾਰ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਿਆ: %s" + +#: ../pgp/seahorse-ldap-source.c:646 +#, c-format +msgid "Connecting to: %s" +msgstr "ਕੁਨੈਕਟ ਜਾ ਰਿਹਾ ਹੈ: %s" + +#: ../pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "ਐਡਰੈੱਸ ਪੜ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ: %s" + +#: ../pgp/seahorse-ldap-source.c:696 +#, c-format +msgid "Resolving server address: %s" +msgstr "ਸਰਵਰ ਐਡਰੈੱਸ ਹੱਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ: %s" + +#: ../pgp/seahorse-ldap-source.c:1431 +msgid "LDAP Key Server" +msgstr "LDAP ਕੁੰਜੀ ਸਰਵਰ" + +#: ../pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys..." +msgstr "...ਕੁੰਜੀਆਂ ਸਿੰਕ ਅਤੇ ਪਬਲਿਸ਼ ਕਰੋ(_S)" + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "ਉਨ੍ਹਾਂ ਆਨਲਾਇਨ ਨਾਲ ਆਪਣੀਆਂ ਕੁੰਜੀਆਂ ਪਬਲਿਸ਼ ਕਰੋ ਅਤੇ/ਜਾਂ ਸਿਕਰੋਨਾਈਜ਼ ਕਰੋ।" + +#: ../pgp/seahorse-pgp-backend.c:167 +msgid "PGP Keys" +msgstr "PGP ਕੁੰਜੀਆਂ" + +#: ../pgp/seahorse-pgp-backend.c:173 +msgid "PGP keys are for encrypting email or files" +msgstr "ਈ-ਮੇਲ ਅਤੇ ਫਾਇਲਾਂ ਦੀ ਇੰਕ੍ਰਿਪਸ਼ਨ ਲਈ PGP ਕੁੰਜੀਆਂ" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "ਬਣਾਓ(_r)" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "ਇੱਕ ਨਵੀਂ ਕੁੰਜੀ ਬਣਾਓ" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"ਇੱਕ PGP ਕੁੰਜੀ ਤੁਹਾਨੂੰ ਹੋਰ ਲੋਕਾਂ ਨੂੰ ਈ-ਮੇਲ ਅਤੇ ਫਾਇਲਾਂ ਨੂੰ ਇੰਕ੍ਰਿਪਟ ਕਰਨ ਲਈ " +"ਸਹਾਇਕ ਹੈ।" + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Ne_ver Expires" +msgstr "ਕਦੇਂ ਮਿਆਦ ਖਤਮ ਨਹੀਂ(_v)" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "_Comment:" +msgstr "ਟਿੱਪਣੀ(_C):" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਕਿਸਮ(_T):" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "ਕੁੰਜੀ ਤਾਕਤ ਬਿੱਟ(_S):" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "ਮਿਆਦ ਮਿਤੀ(_x):" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "ਤਕਨੀਕੀ ਕੁੰਜੀ ਚੋਣਾਂ(_A)" + +#: ../pgp/seahorse-pgp-key.c:351 +msgid "Personal PGP key" +msgstr "ਨਿੱਜੀ PGP ਕੁੰਜੀ" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "PGP key" +msgstr "PGP ਕੁੰਜੀ" + +#: ../pgp/seahorse-pgp-key-properties.c:317 +msgid "Couldn't change primary user ID" +msgstr "ਪ੍ਰਾਇਮਰੀ ਯੂਜ਼ਰ ID ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: ../pgp/seahorse-pgp-key-properties.c:336 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "ਕੀ ਤੁਸੀਂ '%s' ਯੂਜ਼ਰ ID ਨੂੰ ਹਮੇਸ਼ਾਂ ਲਈ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: ../pgp/seahorse-pgp-key-properties.c:346 +msgid "Couldn't delete user ID" +msgstr "ਯੂਜ਼ਰ ID ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#: ../pgp/seahorse-pgp-key-properties.c:421 +#: ../pgp/seahorse-pgp-key-properties.c:1576 +msgid "[Unknown]" +msgstr "[ਅਣਜਾਣ]" + +#: ../pgp/seahorse-pgp-key-properties.c:530 +#: ../pgp/seahorse-pgp-key-properties.c:1859 +msgid "Name/Email" +msgstr "ਨਾਂ/ਈ-ਮੇਲ" + +#: ../pgp/seahorse-pgp-key-properties.c:537 +msgid "Signature ID" +msgstr "ਦਸਤਖਤ ID" + +#: ../pgp/seahorse-pgp-key-properties.c:670 +msgid "Couldn't change primary photo" +msgstr "ਪ੍ਰਾਇਮਰੀ ਫੋਟੋ ਬਦਲੀ ਨਹੀਂ ਜਾ ਸਕੀ" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:904 +msgid "(unknown)" +msgstr "(ਅਣਜਾਣ)" + +#: ../pgp/seahorse-pgp-key-properties.c:907 +#, c-format +msgid "This key expired on: %s" +msgstr "ਇਹ ਕੁੰਜੀ ਦੀ ਮਿਆਦ ਹੈ: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:970 +msgid "Name" +msgstr "ਨਾਂ" + +#: ../pgp/seahorse-pgp-key-properties.c:1085 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "ਕੀ ਤੁਸੀਂ %2$s ਦੀ ਸਬ-ਕੁੰਜੀ %1$d ਨੂੰ ਹਮੇਸ਼ਾਂ ਲਈ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: ../pgp/seahorse-pgp-key-properties.c:1094 +msgid "Couldn't delete subkey" +msgstr "ਸਬ-ਕੁੰਜੀ ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ" + +#: ../pgp/seahorse-pgp-key-properties.c:1134 +#: ../pgp/seahorse-pgp-key-properties.c:1550 +msgid "Unable to change trust" +msgstr "ਟਰੱਸਟ ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ" + +#: ../pgp/seahorse-pgp-key-properties.c:1148 +#: ../ssh/seahorse-ssh-key-properties.c:205 +msgid "Couldn't export key" +msgstr "ਕੁੰਜੀ ਐਕਸਪੋਰਟ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" + +#: ../pgp/seahorse-pgp-key-properties.c:1264 +msgid "Marginal" +msgstr "ਅਧੂਰਾ" + +#: ../pgp/seahorse-pgp-key-properties.c:1270 +msgid "Full" +msgstr "ਪੂਰਾ" + +#: ../pgp/seahorse-pgp-key-properties.c:1276 +msgid "Ultimate" +msgstr "ਬੇਅੰਤ" + +#: ../pgp/seahorse-pgp-key-properties.c:1382 +#: ../pgp/seahorse-pgp-key-properties.c:1475 +msgctxt "Expires" +msgid "Never" +msgstr "ਕਦੇ ਨਹੀਂ" + +#: ../pgp/seahorse-pgp-key-properties.c:1429 +msgid "ID" +msgstr "ID" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "Type" +msgstr "ਕਿਸਮ" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Usage" +msgstr "ਵਰਤੋਂ" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "ਬਣਾਈ" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "ਮਿਆਦ" + +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "ਹਾਲਤ" + +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "ਤਾਕਤ" + +#: ../pgp/seahorse-pgp-key-properties.c:1466 +msgid "Revoked" +msgstr "ਮਨਸੂਖ" + +#: ../pgp/seahorse-pgp-key-properties.c:1468 +msgid "Expired" +msgstr "ਮਿਆਦ ਪੁੱਗੀ" + +#: ../pgp/seahorse-pgp-key-properties.c:1470 +msgid "Disabled" +msgstr "ਆਯੋਗ" + +#: ../pgp/seahorse-pgp-key-properties.c:1472 +msgid "Good" +msgstr "ਉੱਤਮ" + +#: ../pgp/seahorse-pgp-key-properties.c:1862 +msgid "Key ID" +msgstr "ਕੁੰਜੀ ID" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "ਕੁੰਜੀ ਵਿਸ਼ੇਸ਼ਤਾ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "ਇਹ ਕੁੰਜੀ ਮਨਸੂਖ ਕਰ ਦਿੱਤੀ ਗਈ ਹੈ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "ਕੁੰਜੀ ਦੇ ਓਨਰ ਨੇ ਕੁੰਜੀ ਮਨਸੂਖ ਕਰ ਦਿੱਤੀ ਹੈ। ਇਹ ਵਰਤੀ ਨਹੀਂ ਜਾ ਸਕਦੀ ਹੈ।" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "ਇਹ ਕੁੰਜੀ ਦੀ ਮਿਆਦ ਪੁੱਗੀ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "ਇਹ ਕੁੰਜੀ ਲਈ ਇੱਕ ਫੋਟੋ ਜੋੜੋ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "ਇਹ ਕੁੰਜੀ ਤੋਂ ਇਹ ਫੋਟੋ ਹਟਾਓ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "ਇਹ ਫੋਟੋ ਪ੍ਰਾਇਮਰੀ ਫੋਟੋ ਬਣਾਓ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "ਪਿਛਲੀ ਫੋਟੋ 'ਤੇ ਜਾਓ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "ਅਗਲੀ ਫੋਟੋ 'ਤੇ ਜਾਓ" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "ਫੋਟੋ " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "ਕੁੰਜੀ ID:" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "ਨਾਂ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "ਈ-ਮੇਲ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "ਟਿੱਪਣੀ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "ਡਿਕ੍ਰਿਪਟ ਫਾਇਲਾਂ ਅਤੇ ਈ-ਮੇਲ ਤੁਹਾਨੂੰ ਭੇਜੀ ਗਈ।" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "ਪ੍ਰਾਈਵੇਟ PGP ਕੁੰਜੀ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "ਵਾਕ ਬਦਲੋ(_P)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "ਮਾਲਕ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "ਕੁੰਜੀ ਨਾਂ ਅਤੇ ਦਸਤਖਤ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "ਪ੍ਰਾਇਮਰੀ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "ਸਾਇਨ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "ਹਟਾਓ" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "ਨਾਂ ਜੋੜੋ(_A)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "ਵਾਪਿਸ" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "ਨਾਂ ਅਤੇ ਦਸਤਖਤ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "ਸ਼ਕਤੀ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "ਤਕਨੀਕੀ ਵੇਰਵਾ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "ਫਿੰਗਰ-ਪ੍ਰਿੰਟ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "ਮਿਆਦ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "ਮਿਤੀ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "ਓਨਰ ਟਰੱਸਟ ਅਣਡਿੱਠਾ(_T):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Secret Key:" +msgstr "ਗੁਪਤ ਕੁੰਜੀ ਐਕਸਪੋਰਟ(_E):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "Actions" +msgstr "ਕਾਰਵਾਈਆਂ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "ਸ਼ਾਮਲ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "ਮਿਆਦ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "ਸਬ-ਕੁੰਜੀ(_S)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "ਅਧੂਰਾ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "ਪੂਰਾ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "ਬੇਅੰਤ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key's owner" +msgstr "ਕੁੰਜੀ ਦੇ ਓਨਰ ਲਈ ਇੰਕ੍ਰਿਪਟ ਫਾਇਲਾਂ ਅਤੇ ਈਮੇਲ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "ਪਬਲਿਕ PGP ਕੁੰਜੀ" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "ਹੋਰ ਨਾਂ(_O):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "ਇਹ ਕੁੰਜੀ ਲਈ ਤੁਹਾਡਾ ਭਰੋਸਾ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "ਤੁਹਾਡਾ ਟਰੱਸਟ ਖੁਦ ਵੇਰਵਾ ਟੈਬ ਵਿੱਚ ਦਿੱਤਾ ਗਿਆ ਹੈ।" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "ਮੈਂ '%s' ਵਲੋਂ ਹੋਰ ਕੁੰਜੀਆਂ ਉੱਤੇ ਦਸਤਖਤਾਂ ਉੱਤੇ ਭਰੋਸਾ ਕਰਦਾ ਹਾਂ " + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" +"ਜੇ ਤੁਹਾਨੂੰ ਯਕੀਨ ਹੈ ਕਿ ਉਹ ਵਿਅਕਤੀ ਇਹ '%s' ਕੁੰਜੀ ਰੱਖਦਾ ਹੈ ਤਾਂ ਇਸ ਕੁੰਜੀ ਲਈ " +"ਸਾਈਨ ਕਰੋ।" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "ਇਹ ਕੁੰਜੀ ਉੱਤੇ ਸਾਇਨ(_S)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" +"ਜੇ ਤੁਸੀਂ ਇਹ ਭਰੋਸਾ ਨਹੀਂ ਕਰਦੇ ਹੋ ਕਿ '%s' ਇਹ ਕੁੰਜੀ ਰੱਖਦਾ ਹੈ ਤਾਂ ਆਪਣੇ ਦਸਤਖਤ " +"ਮਨਸੂਖ ਕਰੋ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "ਦਸਤਖਤ ਮਨਸੂਖ(_R)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "ਲੋਕ, ਜਿੰਨ੍ਹਾਂ ਇਸ ਕੁੰਜੀ ਉੱਤੇ ਦਸਤਖਤ ਕੀਤੇ ਹਨ(_P):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "ਸਿਰਫ਼ ਉਨ੍ਹਾਂ ਲੋਕਾਂ ਦਾ ਭਰੋਸਾ ਹੀ ਵੇਖਾਓ, ਜਿੰਨ੍ਹਾਂ ਉੱਤੇ ਮੈਨੂੰ ਭਰੋਸਾ ਹੈ(_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "ਟਰੱਸਟ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "ਫਿੰਗਰ-ਪ੍ਰਿੰਟ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "ਮਿਤੀ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "ਭਰੋਸਾ ਵੇਖਾਉਦਾ ਹੈ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "ਤੁਸੀਂ ਓਨਰ ਉੱਤੇ ਟਰੱਸਟ ਕਰ ਸਕਦੇ ਹੋ(_T):" + +#: ../pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "ਇੰਕ੍ਰਿਪਟ" + +#: ../pgp/seahorse-pgp-subkey.c:293 +#| msgid "Certificate" +msgid "Certify" +msgstr "ਤਸਦੀਕ" + +#: ../pgp/seahorse-pgp-subkey.c:294 +#| msgid "Certificate" +msgid "Authenticate" +msgstr "ਪਰਮਾਣਕਿਤਾ" + +#: ../pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "%2$s ਦੀ %1$d ਸਬਕੁੰਜੀ" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "ਕੁੰਜੀ ਮਨਸੂਖ ਕਰਨ ਲਈ ਕਾਰਨ" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "ਕਾਰਨ(_R):" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "ਮਨਸੂਖ ਕਰਨ ਲਈ ਚੋਣਵਾਂ ਵੇਰਵਾ" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "ਮਨਸੂਖ(_v)" + +#: ../pgp/seahorse-signer.c:62 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"ਤੁਹਾਡੀਆਂ ਨਿੱਜੀ PGP ਕੁੰਜੀਆਂ ਨਹੀਂ ਹਨ, ਜੋ ਕਿ ਇੱਕ ਡੌਕੂਮੈਂਟ ਜਾਂ ਸੁਨੇਹਾ ਨੂੰ ਸਾਇਨ " +"ਕਰਨ ਲਈ ਵਰਤੀਆਂ ਜਾ ਸਕਣ।" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "ਸੁਨੇਹੇ ਉੱਤੇ ਕੁੰਜੀ ਨਾਲ ਸਾਇਨ ਕਰੋ(_S):" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "ਕੁੰਜੀ ਸਾਈਨ" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "ਇਹ ਸਾਇਨ ਕਰਨ ਨਾਲ ਤੁਸੀਂ ਇਹ ਵੇਖਾ ਰਹੇ ਹੋ ਕਿ ਇਹ ਕੁੰਜੀ ਸਬੰਧਿਤ ਹੈ:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "ਕੁੰਜੀ ਨਾਂ" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "ਕਿੰਨੇ ਧਿਆਨ ਨਾਲ ਤੁਸੀਂ ਇਹ ਕੁੰਜੀ ਚੈੱਕ ਕੀਤੀ ਹੈ?" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "ਕੁਝ ਵੀ ਨਹੀਂ(_N)" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "ਅਸਾਵਧਾਨੀ ਨਾਲ(_C)" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "ਧਿਆਨ ਨਾਲ ਜਾਂਚ(_V)" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"ਬਿਲਕੁੱਲ ਨਹੀਂ: ਮਤਲਬ ਹੈ ਕਿ ਤੁਸੀਂ ਮੰਨਦੇ ਹੋ ਕਿ ਕੁੰਜੀ ਉਸ ਵਿਅਕਤੀ ਕੋਲ ਹੈ, ਜੋ " +"ਰੱਖਣ ਦਾ ਦਾਅਵਾ " +"ਕਰਦਾ ਹੈ, ਪਰ ਤੁਸੀਂ ਇਸ ਤੱਥ ਦੀ ਜਾਂਚ ਕਰ ਨਹੀਂ ਸਕੇ ਜਾਂ ਨਹੀਂ ਕੀਤੀ ਹੈ।" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"ਅਸਾਵਧਾਨ: ਮਤਲਬ ਕਿ ਤੁਸੀਂ ਇੱਕ ਸਧਾਰਨ ਜੇਹੀ ਜਾਂਚ ਹੀ ਕੀਤੀ ਹੈ, ਜੋ ਕਿ ਕੁੰਜੀ ਦੇ " +"ਮਾਲਕ ਵਲੋਂ " +"ਆਪਣਾ ਹੋਣ ਦੇ ਦਾਅਵੇ ਲਈ ਕੀਤੀ ਗਈ ਹੈ। ਉਦਾਹਰਨ ਲਈ ਤੁਸੀਂ ਕੁੰਜੀ ਫਿੰਗਰਪਰਿੰਟ ਲਈ ਓਨਰ ਨਾਲ " +"ਫੋਨ ਉੱਤੇ " +"ਗੱਲਬਾਤ ਕੀਤੀ ਹੈ।" + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"ਬਹੁਤ ਧਿਆਨ ਨਾਲ: ਇਹ ਤਾਂ ਹੀ ਚੁਣੋ, ਜੇ ਤੁਸੀਂ ਇਹ ਜਾਣਦੇ ਹੋ ਕਿ ਇਹ ਕੁੰਜੀ " +"ਬਿਲਕੁੱਲ ਠੀਕ ਹੈ।" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"ਤੁਹਾਨੂੰ ਸਖਤ ਫੋਟ ਪਛਾਣ (ਜਿਵੇਂ ਪਾਸਪੋਰਟ) ਦੀ ਜਾਂਚ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਤਾਂ ਕੁੰਜੀ ਉੱਤੇ " +"ਨਾਂ ਸਹੀਂ ਹੋਣ ਦੀ " +"ਪੁਸ਼ਟੀ ਹੋ ਸਕੇ। ਤੁਹਾਨੂੰ ਈਮੇਲ ਵੀ ਚੈੱਕ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਤਾਂ ਕਿ ਜਾਂਚ ਕੀਤੀ ਜਾ ਸਕੇ ਕਿ " +"ਈਮੇਲ ਉਸ ਮਾਲਕ " +"ਨਾਲ ਹੀ ਸਬੰਧਿਤ ਹੈ।" + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "ਹੋਰ ਇਸ ਦਸਤਖਤ ਕਿਵੇਂ ਵੇਖ ਸਕਦੇ ਹਨ:" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "ਹੋਰ ਇਹ ਦਸਤਖਤ ਸ਼ਾਇਦ ਨਹੀਂ ਵੇਖ ਸਕਦੇ(_O)" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "ਮੈਂ ਇਹ ਦਸਤਖਤ ਬਾਅਦ ਵਿੱਚ ਵਾਪਸ ਲੈ ਸਕਦਾ ਹਾਂ(_r)" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "ਸਾਇਨ ਕੁੰਜੀ ਉੱਤੇ ਇੰਝ:" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "ਸਾਇਨਰ(_S):" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "ਸਾਇਨ(_S)" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "ਡਾਟਾ ਐਕਸਪੋਰਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "ਡਾਟਾ ਲਿਆ ਜਾ ਰਿਹਾ ਹੈ" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "ਡਾਟਾ ਇੰਪੋਰਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "ਡਾਟਾ ਭੇਜਿਆ ਜਾ ਰਿਹਾ ਹੈ" + +#: ../pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "ਨਾ-ਉਪਲੱਬਧ" + +#: ../pkcs11/certificate-der-exporter.vala:43 +#: ../pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "ਸਰਟੀਫਿਕੇਟ" + +#: ../pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "ਸਰਟੀਫਿਕੇਟ (DER ਇੰਕੋਡ)" + +#: ../pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "ਨਿੱਜੀ ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਕੁੰਜੀ" + +#: ../pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "ਨਿੱਜੀ ਸਰਟੀਫਿਕੇਟ" + +#: ../pkcs11/seahorse-pkcs11-backend.c:184 +msgid "Certificates" +msgstr "ਸਰਟੀਫਿਕੇਟ" + +#: ../pkcs11/seahorse-pkcs11-backend.c:190 +msgid "X.509 certificates and related keys" +msgstr "X.509 ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਸਬੰਧਿਤ ਕੁੰਜੀਆਂ" + +#: ../pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "ਕੀ ਤੁਸੀਂ %d ਸਰਟੀਫਿਕੇਟ ਨੂੰ ਪੱਕੇ ਤੌਰ ਉੱਤੇ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?" +msgstr[1] "ਕੀ ਤੁਸੀਂ %d ਸਰਟੀਫਿਕੇਟਾਂ ਨੂੰ ਪੱਕੇ ਤੌਰ ਉੱਤੇ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#: ../pkcs11/seahorse-pkcs11-generate.c:113 +msgid "Couldn't generate private key" +msgstr "ਪ੍ਰਾਈਵੇਟ ਕੁੰਜੀ ਤਿਆਰ ਨਹੀਂ ਜਾ ਸਕੀ" + +#: ../pkcs11/seahorse-pkcs11-generate.c:412 ../pkcs11/pkcs11-request.vala:56 +msgid "Create" +msgstr "ਬਣਾਓ" + +#: ../pkcs11/seahorse-pkcs11-generate.c:505 +#: ../pkcs11/pkcs11-private-key.vala:70 +msgid "Private key" +msgstr "ਪ੍ਰਾਈਵੇਟ ਕੁੰਜੀ" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +msgid "Used to request a certificate" +msgstr "ਸਰਟੀਫਿਕੇਟ ਮੰਗਣ ਲਈ ਵਰਤਿਆ" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "ਇੱਕ ਨਵੀਂ ਨਿੱਜੀ (ਪ੍ਰਾਈਵੇਟ) ਕੁੰਜੀ ਬਣਾਓ" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "ਲੇਬਲ:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "ਸਟੋਰ:" + +#: ../pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "ਮੈਂ ਸਮਝਦਾ/ਸਮਝਦੀ ਹਾਂ ਕਿ ਇਹ ਕੁੰਜੀ ਪੱਕੇ ਤੌਰ ਉੱਤੇ ਹਟਾਈ ਜਾਵੇਗੀ।" + +#: ../pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "ਬਿਨ-ਨਾਂ" + +#: ../pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "ਸਰਟੀਫਿਕੇਟ ਐਕਸਪੋਰਟ ਕਰਨ ਲਈ ਫੇਲ੍ਹ ਹੈ" + +#: ../pkcs11/pkcs11-properties.vala:188 ../src/seahorse-sidebar.c:873 +msgid "Couldn't delete" +msgstr "ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕੀ" + +#: ../pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "ਐਕਸਪੋਰਟ(_E)" + +#: ../pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "ਸਰਟੀਫਿਕੇਟ ਐਕਸਪੋਰਟ ਕਰੋ" + +#: ../pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "ਇਹ ਸਰਟੀਫਿਕੇਟ ਜਾਂ ਕੁੰਜੀ ਹਟਾਓ" + +#: ../pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "ਸਰਟੀਫਿਕੇਟ ਦੀ ਮੰਗ(_C)" + +#: ../pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "ਇਸ ਕੁੰਜੀ ਲਈ ਇੱਕ ਸਰਟੀਫਿਕੇਟ ਮੰਗ ਫਾਇਲ ਬਣਾਓ" + +#: ../pkcs11/pkcs11-request.vala:87 +msgid "Couldn't create certificate request" +msgstr "ਸਰਟੀਫਿਕੇਟ ਮੰਗ ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕੀ" + +#: ../pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "ਸਰਟੀਫਿਕੇਟ ਮੰਗ ਸੰਭਾਲੋ" + +#: ../pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "ਸਰਟੀਫਿਕੇਟ ਮੰਗ" + +#: ../pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "PEM ਨਾਲ ਇੰਕੋਡ ਕੀਤੀ ਮੰਗ" + +#: ../pkcs11/pkcs11-request.vala:149 +msgid "Couldn't save certificate request" +msgstr "ਸਰਟੀਫਿਕੇਟ ਮੰਗ ਸੰਭਾਲੀ ਜਾ ਸਕੀ" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "ਇੱਕ ਸਰਟੀਫਿਕੇਟ ਮੰਗ ਫਾਇਲ ਬਣਾਉ।" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "ਸਰਟੀਫਿਕੇਟ ਮੰਗ ਵਿੱਚ ਮੌਜੂਦ ਕਾਮਨ ਨੇਮ (CN)।" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "ਨਾਂ (CN):" + +#: ../pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "ਬਿਨਾਂ-ਨਾਂ ਪ੍ਰਾਈਵੇਟ ਕੁੰਜੀ" + +#: ../pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "ਅਣਜਾਣ" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "ਵਾਕ ਬਦਲੋ" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "ਨਵਾਂ ਵਾਕ(_P):" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "ਨਵਾਂ ਵਾਕ ਪੁਸ਼ਟੀ" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "ਵਾਕ ਪੁਸ਼ਟੀ(_f):" + +#: ../src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "ਜਾਰੀ ਰੱਖੋ" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "ਬਣਾਉਣ ਲਈ ਆਈਟਮ ਦੀ ਕਿਸਮ ਚੁਣੋ(_S):" + +#: ../src/seahorse-import-dialog.c:95 +msgid "Import failed" +msgstr "ਇੰਪੋਰਟ ਫੇਲ੍ਹ ਹੈ" + +#: ../src/seahorse-import-dialog.c:113 +msgid "Import" +msgstr "ਇੰਪੋਰਟ" + +#: ../src/seahorse-import-dialog.c:126 +msgid "Data to be imported:" +msgstr "ਇੰਪੋਰਟ ਕਰਨ ਵਾਲਾ ਡਾਟਾ:" + +#: ../src/seahorse-key-manager.c:242 ../ssh/seahorse-ssh-operation.c:870 +msgid "Import Key" +msgstr "ਕੁੰਜੀ ਇੰਪੋਰਟ" + +#: ../src/seahorse-key-manager.c:254 +msgid "All key files" +msgstr "ਸਭ ਕੁੰਜੀ ਫਾਇਲਾਂ" + +#: ../src/seahorse-key-manager.c:355 +msgid "Dropped text" +msgstr "ਛੱਡਿਆ ਟੈਕਸਟ" + +#: ../src/seahorse-key-manager.c:391 +msgid "Clipboard text" +msgstr "ਕਲਿੱਪਬੋਰਡ ਟੈਕਸਟ" + +#: ../src/seahorse-key-manager.c:502 +msgid "_New" +msgstr "ਨਵਾਂ(_N)" + +#: ../src/seahorse-key-manager.c:504 +msgid "Close this program" +msgstr "ਇਹ ਪਰੋਗਰਾਮ ਬੰਦ ਕਰੋ" + +#: ../src/seahorse-key-manager.c:505 ../src/seahorse-key-manager.c:507 +msgid "_New..." +msgstr "ਨਵਾਂ(_N)..." + +#: ../src/seahorse-key-manager.c:506 +msgid "Create a new key or item" +msgstr "ਨਵੀਂ ਕੁੰਜੀ ਜਾਂ ਆਈਟਮ ਬਣਾਓ" + +#: ../src/seahorse-key-manager.c:508 +msgid "Add a new key or item" +msgstr "ਨਵੀਂ ਕੁੰਜੀ ਜਾਂ ਆਈਟਮ ਸ਼ਾਮਲ" + +#: ../src/seahorse-key-manager.c:509 +msgid "_Import..." +msgstr "ਇੰਪੋਰਟ(_I)" + +#: ../src/seahorse-key-manager.c:510 +msgid "Import from a file" +msgstr "ਫਾਇਲ ਤੋਂ ਇੰਪੋਰਟ ਕਰੋ" + +#: ../src/seahorse-key-manager.c:512 +msgid "Import from the clipboard" +msgstr "ਕਲਿੱਪਬੋਰਡ ਤੋਂ ਇੰਪੋਰਟ ਕਰੋ" + +#: ../src/seahorse-key-manager.c:516 +msgid "By _Keyring" +msgstr "ਕੀਰਿੰਗ ਰਾਹੀਂ(_K)" + +#: ../src/seahorse-key-manager.c:517 +msgid "Show sidebar listing keyrings" +msgstr "ਕੀਰਿੰਗ ਰੱਖਣ ਵਾਲੀ ਬਾਹੀ ਵੇਖਾਓ" + +#: ../src/seahorse-key-manager.c:521 +msgid "Show _Personal" +msgstr "ਨਿੱਜੀ ਵੇਖਾਓ(_P)" + +#: ../src/seahorse-key-manager.c:522 +msgid "Only show personal keys, certificates and passwords" +msgstr "ਕੇਵਲ ਨਿੱਜੀ ਫਾਇਲਾਂ, ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਪਾਸਵਰਡ ਹੀ ਵੇਖਾਓ" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show _Trusted" +msgstr "ਭਰੋਸੇਯੋਗ ਹੀ ਵੇਖਾਓ(_T)" + +#: ../src/seahorse-key-manager.c:524 +msgid "Only show trusted keys, certificates and passwords" +msgstr "ਕੇਵਲ ਭਰੋਸੇਯੋਗ ਕੁੰਜੀਆਂ, ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਪਾਸਵਰਡ ਹੀ ਵੇਖਾਓ" + +#: ../src/seahorse-key-manager.c:525 +msgid "Show _Any" +msgstr "ਕੋਈ ਵੀ ਵੇਖਾਓ(_A)" + +#: ../src/seahorse-key-manager.c:526 +msgid "Show all keys, certificates and passwords" +msgstr "ਸਭ ਕੁੰਜੀਆਂ, ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਪਾਸਵਰਡ ਵੇਖਾਓ" + +#: ../src/seahorse-key-manager.c:745 +msgid "Filter" +msgstr "ਫਿਲਟਰ" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "ਪਹਿਲੀਂ ਵਾਰ ਚੋਣਾਂ:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "ਆਪਣੀ ਖੁਦ ਦੀ ਇੱਕ ਨਵੀਂ ਕੁੰਜੀ ਬਣਾਓ:" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "ਇੱਕ ਫਾਇਲ ਤੋਂ ਕੁੰਜੀ ਇੰਪੋਰਟ ਕਰੋ:" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਕਰਨਈ ਲਈ ਤੁਹਾਨੂੰ ਕੁੰਜੀਆਂ ਦੀ ਲੋੜ ਹੈ।" + +#: ../src/seahorse-sidebar.c:797 +msgid "Couldn't lock" +msgstr "ਲਾਕ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" + +#: ../src/seahorse-sidebar.c:834 +msgid "Couldn't unlock" +msgstr "ਅਣ-ਲਾਕ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" + +#: ../src/seahorse-sidebar.c:941 +msgid "_Lock" +msgstr "ਲਾਕ ਕਰੋ(_L)" + +#: ../src/seahorse-sidebar.c:946 +msgid "_Unlock" +msgstr "ਅਣ-ਲਾਕ(_U)" + +#: ../src/seahorse-sidebar.c:965 +msgid "_Properties" +msgstr "ਵਿਸ਼ੇਸ਼ਤਾ(_P)" + +#: ../ssh/seahorse-ssh-actions.c:97 +msgid "Configure Key for _Secure Shell..." +msgstr "ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀਆਂ ਦੀ ਸੰਰਚਨਾ(_S)..." + +#: ../ssh/seahorse-ssh-actions.c:98 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"ਪਬਲਿਕ ਸੁਰੱਖਿਅਤ ਸ਼ੈੱਲ ਕੁੰਜੀ ਨੂੰ ਹੋਰ ਮਸ਼ੀਨ ਉੱਤੇ ਭੇਜੋ ਅਤੇ ਉਸ ਕੁੰਜੀ ਨਾਲ ਲਾਗਇਨ ਕਰਨ " +"ਲਈ ਤਿਆਰ ਹੋਵੋ।" + +#: ../ssh/seahorse-ssh-askpass.c:78 ../ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "ਆਪਣਾ ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਵਾਕ ਦਿਓ:" + +#: ../ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "ਪੁਰਾਣੀ ਕੁੰਜੀ ਵਾਕ" + +#: ../ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "ਪੁਰਾਣਾ ਵਾਕ ਦਿਓ: %s" + +#: ../ssh/seahorse-ssh-askpass.c:105 ../ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "ਨਵਾਂ ਕੁੰਜੀ ਵਾਕ ਦਿਓ" + +#: ../ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "ਨਵਾਂ ਵਾਕ ਦਿਓ ਜੀ: %s" + +#: ../ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "ਨਵਾਂ ਵਾਕ ਫੇਰ ਦਿਓ ਜੀ: %s" + +#: ../ssh/seahorse-ssh-backend.c:88 +msgid "Secure Shell" +msgstr "ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ" + +#: ../ssh/seahorse-ssh-backend.c:94 +msgid "Keys used to connect securely to other computers" +msgstr "ਹੋਰ ਕੰਪਿਊਟਰਾਂ ਨਾਲ ਸੁਰੱਖਿਅਤ ਜੁੜਨ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਕੁੰਜੀਆਂ" + +#: ../ssh/seahorse-ssh-deleter.c:80 ../ssh/seahorse-ssh-deleter.c:85 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "ਕੀ ਤੁਸੀਂ '%s' ਸੁਰੱਖਿਅਤ ਸ਼ੈੱਲ ਕੀ ਨੂੰ ਪੱਕੇ ਤੌਰ ਉੱਤੇ ਹਟਾਉਣੀ ਚਾਹੁੰਦੇ ਹੋ?" + +#: ../ssh/seahorse-ssh-deleter.c:90 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "" +"ਕੀ ਤੁਸੀਂ %d ਸੁਰੱਖਿਅਤ ਸ਼ੈੱਲ ਕੁੰਜੀ ਨੂੰ ਹਮੇਸ਼ਾਂ ਲਈ ਹਟਾਉਣ ਵਾਸਤੇ ਤਿਆਰ ਹੋ?" +msgstr[1] "" +"ਕੀ ਤੁਸੀਂ %d ਸੁਰੱਖਿਅਤ ਸ਼ੈੱਲ ਕੁੰਜੀਆਂ ਨੂੰ ਹਮੇਸ਼ਾਂ ਲਈ ਹਟਾਉਣ ਵਾਸਤੇ ਤਿਆਰ ਹੋ?" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "SSH Key" +msgstr "SSH ਕੁੰਜੀ" + +#: ../ssh/seahorse-ssh-exporter.c:124 +msgid "Secret SSH keys" +msgstr "ਗੁਪਤ SSH ਕੁੰਜੀਆਂ" + +#: ../ssh/seahorse-ssh-exporter.c:128 +msgid "Public SSH keys" +msgstr "ਪਬਲਿਕ SSH ਕੁੰਜੀਆਂ" + +#: ../ssh/seahorse-ssh-exporter.c:297 +msgid "No public key file is available for this key." +msgstr "ਇਸ ਕੁੰਜੀ ਲਈ ਕੋਈ ਪਬਲਿਕ ਕੁੰਜੀ ਫਾਇਲ ਨਹੀਂ ਹੈ।" + +#: ../ssh/seahorse-ssh-generate.c:52 ../ssh/seahorse-ssh-key.c:109 +#: ../ssh/seahorse-ssh-key.c:113 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀ" + +#: ../ssh/seahorse-ssh-generate.c:53 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "ਹੋਰ ਕੰਪਿਊਟਰ ਦੀ ਵਰਤੋਂ ਲਈ ਵਰਤੀ ਜਾਂਦੀ (ਜਿਵੇਂ: ਟਰਮੀਨਲ ਰਾਹੀਂ)" + +#: ../ssh/seahorse-ssh-generate.c:107 ../ssh/seahorse-ssh-generate.c:123 +msgid "Couldn't generate Secure Shell key" +msgstr "ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀਆਂ ਨਹੀਂ ਬਣਾਈਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ" + +#: ../ssh/seahorse-ssh-generate.c:190 +msgid "Creating Secure Shell Key" +msgstr "ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀ ਬਣਾਈ ਜਾ ਰਹੀ ਹੈ" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "ਨਵੀਂ ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀ" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "ਹਾਲੇ ਕੁੰਜੀ ਬਣਾਓ(_J)" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "ਬਣਾਓ ਅਤੇ ਸੈੱਟਅੱਪ ਕਰੋ(_C)" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ (SSH) ਕੁੰਜੀ ਤੁਹਾਨੂੰ ਹੋਰ ਕੰਪਿਊਟਰਾਂ ਨਾਲ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਕੁਨੈਕਟ " +"ਕਰਨ ਦਿੰਦੀ ਹੈ।" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr "ਇਹ ਕੁੁੰਜੀ ਲਈ ਤੁਸੀਂ ਆਪਣਾ ਈਮੇਲ ਐਡਰੈੱਸ ਜਾਂ ਕੋਈ ਵੀ ਹੋਰ ਰੀਮਾਈਡਰ ਵਰਤ ਸਕਦੇ ਹੋ" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ ਕੰਪਿਊਟਰ ਹੈ, ਜਿਸ ਉੱਤੇ ਤੁਸੀਂ ਕੁੰਜੀ ਵਰਤਣੀ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ ਤੁਸੀਂ " +"ਉਸ ਕੰਪਿਊਟਰ ਨੂੰ ਹੁਣ " +"ਤੁਹਾਡੀ ਨਵੀਂ ਕੁੰਜੀ ਪਛਾਣਨ ਲਈ ਸੈੱਟ ਅੱਪ ਕਰ ਸਕਦੇ ਹੋ।" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "(Unreadable Secure Shell Key)" +msgstr "(ਨਾ-ਪੜ੍ਹਨਯੋਗ ਸੁਰੱਖਿਅਤ ਸ਼ੈੱਲ ਕੁੰਜੀ)" + +#: ../ssh/seahorse-ssh-key.c:213 +msgid "Personal SSH key" +msgstr "ਨਿੱਜੀ SSH ਕੁੰਜੀ" + +#: ../ssh/seahorse-ssh-key.c:215 +msgid "SSH key" +msgstr "SSH ਕੁੰਜੀ" + +#: ../ssh/seahorse-ssh-key-properties.c:79 +msgid "Couldn't rename key." +msgstr "ਕੁੰਜੀ ਨਾਂ ਨਹੀਂ ਬਦਲਿਆ ਜਾ ਸਕਿਆ ਹੈ।" + +#: ../ssh/seahorse-ssh-key-properties.c:134 +msgid "Couldn't change authorization for key." +msgstr "ਕੁੰਜੀ ਲਈ ਪਰਮਾਣਕਿਤਾ ਨਹੀਂ ਬਦਲੀ ਜਾ ਸਕੀ ਹੈ।" + +#: ../ssh/seahorse-ssh-key-properties.c:171 +msgid "Couldn't change passphrase for key." +msgstr "ਕੁੰਜੀ ਲਈ ਵਾਕ ਨਹੀਂ ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "ਪਛਾਣਕਰਤਾ:" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "ਨਾਂ:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "ਹੋਰ ਕੰਪਿਊਟਰਾਂ ਨਾਲ ਜੁੜਨ ਲਈ ਵਰਤੋਂ।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "ਇਹ ਕੁੰਜੀ ਦਾ ਮਾਲਕ ਇਹ ਕੰਪਿਊਟਰ ਨਾਲ ਜੁੜ ਸਕਦਾ ਹੈ(_a)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "ਇਹ ਸਿਰਫ਼ %s ਅਕਾਊਂਟ ਉੱਤੇ ਹੀ ਲਾਗੂ ਹੁੰਦਾ ਹੈ।" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "ਐਲੋਗਰਥਿਮ:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "ਟਿਕਾਣਾ:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "ਪੂਰੀ ਕੁੰਜੀ ਐਕਸਪੋਰਟ(_x)" + +#: ../ssh/seahorse-ssh-operation.c:204 +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH ਕਮਾਂਡ ਅਚਾਨਕ ਬੰਦ ਹੋ ਗਈ ਹੈ।" + +#: ../ssh/seahorse-ssh-operation.c:214 +msgid "The SSH command failed." +msgstr "SSH ਕਮਾਂਡ ਫੇਲ੍ਹ ਹੋਈ।" + +#: ../ssh/seahorse-ssh-operation.c:523 +msgid "Remote Host Password" +msgstr "ਰਿਮੋਟ ਹੋਸਟ ਪਾਸਵਰਡ" + +#: ../ssh/seahorse-ssh-operation.c:610 +msgid "Enter Key Passphrase" +msgstr "ਕੁੰਜੀ ਵਾਕ ਦਿਓ" + +#: ../ssh/seahorse-ssh-operation.c:701 +msgid "Passphrase for New Secure Shell Key" +msgstr "ਨਵੀਂ ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀ ਲਈ ਵਾਕ" + +#: ../ssh/seahorse-ssh-operation.c:887 +#, c-format +msgid "Importing key: %s" +msgstr "ਕੁੰਜੀ ਇੰਪੋਰਟ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ: %s" + +#: ../ssh/seahorse-ssh-operation.c:889 +msgid "Importing key. Enter passphrase" +msgstr "ਕੁੰਜੀ ਇੰਪੋਰਟ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ: ਵਾਕ ਦਿਓ" + +#: ../ssh/seahorse-ssh-source.c:219 +msgid "OpenSSH keys" +msgstr "OpenSSH ਕੁੰਜੀਆਂ" + +#: ../ssh/seahorse-ssh-source.c:226 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ../ssh/seahorse-ssh-source.c:974 +msgid "No private key file is available for this key." +msgstr "ਇਸ ਕੁੰਜੀ ਲਈ ਕੋਈ ਪਰਾਈਵੇਟ ਕੁੰਜੀ ਫਾਇਲ ਨਹੀਂ ਹੈ।" + +#: ../ssh/seahorse-ssh-upload.c:48 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "ਰਿਮੋਟ ਕੰਪਿਊਟਰ ਉੱਤੇ ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀਆਂ ਦੀ ਸੰਰਚਨਾ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ।" + +#: ../ssh/seahorse-ssh-upload.c:131 +msgid "Configuring Secure Shell Keys..." +msgstr "ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀਆਂ ਦੀ ਸੰਰਚਨਾ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "SSH ਕੁਨੈਕਸ਼ਨ ਲਈ ਕੰਪਿਊਟਰ ਸੈੱਟਅੱਪ" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"ਹੋਰ ਕੰਪਿਊਟਰ ਨਾਲ ਆਪਣੀ ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀ ਵਰਤਣ ਲਈ, ਜੋ ਕਿ SSH ਵਰਤਦਾ ਹੈ, ਤੁਹਾਡਾ " +"ਉਸ ਕੰਪਿਊਟਰ " +"ਉੱਤੇ ਇੱਕ ਲਾਗਇਨ ਅਕਾਊਂਟ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "ਜਿਵੇਂ: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Server address:" +msgstr "ਸਰਵਰ ਐਡਰੈਸ(_S):" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login name:" +msgstr "ਲਾਗਇਨ ਨਾਂ(_L):" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "ਸੈੱਟਅੱਪ(_S)" + +#~ msgid "Ssh Key" +#~ msgstr "Ssh ਕੁੰਜੀ" + +#~ msgid "Updating password" +#~ msgstr "ਪਾਸਵਰਡ ਅੱਪਡੇਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#~ msgid "Keyring Properties" +#~ msgstr "ਕੀਰਿੰਗ ਵਿਸ਼ੇਸ਼ਤਾ" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%d-%m-%Y" + +#~ msgid "_Computer Name:" +#~ msgstr "ਕੰਪਿਊਟਰ ਨਾਂ(_C):" + +#~ msgid "Password:" +#~ msgstr "ਪਾਸਵਰਡ:" + +#~ msgid "Key Servers:" +#~ msgstr "ਕੁੰਜੀ ਸਰਵਰ:" + +#~ msgid "Never" +#~ msgstr "ਕਦੇ ਨਹੀਂ" + +#~ msgid "Key ID:" +#~ msgstr "ਕੁੰਜੀ ID:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "ਨਾਂ:" + +#~ msgid "Comment:" +#~ msgstr "ਟਿੱਪਣੀ:" + +#~ msgid "Use:" +#~ msgstr "ਵਰਤੋਂ:" + +#~ msgid "Type:" +#~ msgstr "ਕਿਸਮ:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "ਕੁੰਜੀ ਨਾਂ ਅਤੇ ਦਸਤਖਤ" + +#~ msgid "Dates" +#~ msgstr "ਤਾਰੀਖ" + +#~ msgid "Actions" +#~ msgstr "ਐਕਸ਼ਨ" + +#~ msgid "Dates:" +#~ msgstr "ਤਾਰੀਖ:" + +#~ msgid "Key Name" +#~ msgstr "ਕੁੰਜੀ ਨਾਂ" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "ਨਾਂ:" + +#~ msgid "Trust" +#~ msgstr "ਟਰੱਸਟ" + +#~ msgid "Strength:" +#~ msgstr "ਤਾਕਤ:" + +#~ msgid "Login keyring" +#~ msgstr "ਲਾਗਇਨ ਕੀਰਿੰਗ" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "ਕੁੰਜੀ ਰਿੰਗ ਲਈ ਅਸੈੱਸ ਵਾਸਤੇ ਪਾਬੰਦੀ ਹੈ" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "ਗਨੋਮ-ਕੀਰਿੰਗ ਡੈਮਨ ਨਹੀਂ ਚੱਲਦੀ ਹੈ" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "ਕੁੰਜੀ ਰਿੰਗ ਪਹਿਲਾਂ ਹੀ ਅਣ-ਲਾਕ ਹੈ" + +#~ msgid "No such key ring exists" +#~ msgstr "ਏਦਾਂ ਦੀ ਕੋਈ ਕੀ ਰਿੰਗ ਮੌਜੂਦ ਨਹੀਂ ਹੈ" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "ਕੁੰਜੀ ਰਿੰਗ ਡੈਮਨ ਨਾਲ ਸੰਪਰਕ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" + +#~ msgid "The item already exists" +#~ msgstr "ਆਈਟਮ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "ਗਨੋਮ-ਕੀਰਿੰਗ ਨੂੰ ਅਸੈੱਸ ਕਰਨ ਦੌਰਾਨ ਅੰਦਰੂਨੀ ਗਲਤੀ" + +#~ msgid "Algorithms here" +#~ msgstr "ਐਲੋਗਰਿਥਮ ਇੱਥੇ" + +#~ msgid "Deleting item" +#~ msgid_plural "Deleting items" +#~ msgstr[0] "ਆਈਟਮ ਹਟਾਈ ਜਾ ਰਹੀ ਹੈ" +#~ msgstr[1] "ਆਈਟਮਾਂ ਹਟਾਈਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" + +#~ msgid "Passwords: %s" +#~ msgstr "ਪਾਸਵਰਡ: %s" + +#~ msgid "Passwords: %s" +#~ msgstr "ਪਾਸਵਰਡ: %s" + +#~ msgid "Couldn't lock keyring" +#~ msgstr "ਕੀਰਿੰਗ ਲਾਕ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "ਪਾਸਵਰਡ ਸਟੋਰੇਜ਼ ਕੀਰਿੰਗ ਲਾਕ ਕਰੋ ਤਾਂ ਕਿ ਇਸ ਨੂੰ ਅਣ-ਲਾਕ ਕਰਨ ਲਈ ਮਾਸਟਰ ਪਾਸਵਰਡ ਦੀ ਲੋੜ ਹੋਵੇ" + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "" +#~ "ਪਾਸਵਰਡ ਸਟੋਰੇਜ਼ ਕੀਰਿੰਗ ਨੂੰ ਇੱਕ ਮਾਸਟਰ ਪਾਸਵਰਡ ਨਾਲ ਅਣ-ਲਾਕ ਕਰੋ ਤਾਂ ਕਿ ਇਸ ਨੂੰ ਵਰਤਣ ਲਈ " +#~ "ਉਪਲੱਬਧ ਕਰਵਾਇਆ ਜਾ ਸਕੇ।" + +#~ msgid "Couldn't delete keyring" +#~ msgstr "ਕੀਰਿੰਗ ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕੀ" + +#~ msgid "Archive files" +#~ msgstr "ਅਕਾਇਵ ਫਾਇਲਾਂ" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "ਇਸ ਨਾਂ ਨਾਲ ਫਾਇਲ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ।\n" +#~ "\n" +#~ "ਕੀ ਤੁਸੀਂ ਇਸ ਨੂੰ ਨਵੀਂ ਫਾਇਲ ਨਾਲ ਬਦਲਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#~ msgid "_Replace" +#~ msgstr "ਬਦਲੋ(_R)" + +#~ msgid "_Sign Key..." +#~ msgstr "ਸਾਇਨ ਕੁੰਜੀ(_S)..." + +#~ msgid "Sign public key" +#~ msgstr "ਪਬਲਿਕ ਕੁੰਜੀ ਸਾਇਨ" + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "ਕੀ ਤੁਸੀਂ %d ਕੁੰਜੀਆਂ ਅਤੇ ਪਛਾਣ ਹਮੇਸ਼ਾਂ ਲਈ ਹਟਾਉਣ ਵਾਸਤੇ ਤਿਆਰ ਹੋ?" + +#~ msgid "Couldn't delete public key" +#~ msgstr "ਪਬਲਿਕ ਕੁੰਜੀ ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕੀ" + +#~ msgid "New PGP Key" +#~ msgstr "ਨਵੀਂ PGP ਕੁੰਜੀ" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "\"%s\" ਲਈ ਕੁੰਜੀ ਐਕਸਪੋਰਟ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" + +#~ msgid "Export Complete Key" +#~ msgstr "ਪੂਰੀ ਕੁੰਜੀ ਐਕਸਪੋਰਟ" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "ਕੀ ਤੁਸੀਂ ਸਰਟੀਫਿਕੇਟ '%s' ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "ਕੀ ਤੁਸੀਂ %d ਸਰਟੀਫਿਕੇਟ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?" +#~ msgstr[1] "ਕੀ ਤੁਸੀਂ %d ਪਾਸਵਰਡਾਂ ਨੂੰ ਹਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#~ msgid "Deleting" +#~ msgstr "ਹਟਾਈ ਜਾ ਰਹੀ ਹੈ" + +#~ msgid "Create New ..." +#~ msgstr "ਨਵੀਂ ਬਣਾਓ..." + +#~ msgid "Selected %d key" +#~ msgid_plural "Selected %d keys" +#~ msgstr[0] "ਚੁਣੀ %d ਕੁੰਜੀ" +#~ msgstr[1] "ਚੁਣੀਆਂ %d ਕੁੰਜੀਆਂ" + +#~ msgid "Importing keys" +#~ msgstr " ਕੁੰਜੀਆਂ ਇੰਪੋਰਟ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "ਬੇਪਛਾਣ ਕੁੰਜੀ ਕਿਸਮ ਹੈ ਜਾਂ ਗਲਤ ਡਾਟਾ ਫਾਰਮੈਟ" + +#~ msgid "Importing Keys" +#~ msgstr "ਕੁੰਜੀਆਂ ਇੰਪੋਰਟ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" + +#~ msgid "T_ypes" +#~ msgstr "ਟਾਈਪ(_y)" + +#~ msgid "Show type column" +#~ msgstr "ਟਾਈਪ ਕਾਲਮ ਵੇਖੋ" + +#~ msgid "_Expiry" +#~ msgstr "ਮਿਆਦ(_E)" + +#~ msgid "Show expiry column" +#~ msgstr "ਮਿਆਦ ਕਾਲਮ ਵੇਖੋ" + +#~ msgid "_Trust" +#~ msgstr "ਟਰੱਸਟ(_T)" + +#~ msgid "Show owner trust column" +#~ msgstr "ਓਨਰ ਟਰੱਸਟ ਕਾਲਮ ਵੇਖੋ" + +#~ msgid "_Validity" +#~ msgstr "ਵੈਧਤਾ(_V)" + +#~ msgid "Show validity column" +#~ msgstr "ਵੈਧਤਾ ਕਾਲਮ ਵੇਖੋ" + +#~ msgid "Other _Keys" +#~ msgstr "ਹੋਰ ਕੁੰਜੀਆਂ(_K)" + +#~ msgid "Validity" +#~ msgstr "ਵੈਧਤਾ" + +#~ msgid "Expiration Date" +#~ msgstr "ਮਿਆਦ" + +#~ msgid "_Expand All" +#~ msgstr "ਸਭ ਫੈਲਾਓ(_E)" + +#~ msgid "Expand all listings" +#~ msgstr "ਸਭ ਲਿਸਟਿੰਗ ਫੈਲਾਓ" + +#~ msgid "_Collapse All" +#~ msgstr "ਸਭ ਸਮੇਟੋ(_C)" + +#~ msgid "Collapse all listings" +#~ msgstr "ਸਭ ਲਿਸਟਿੰਗ ਸਮੇਟੋ" + +#~ msgid "Export public key" +#~ msgstr "ਪਬਲਿਕ ਕੁੰਜੀ ਐਕਸਪੋਰਟ" + +#~ msgid "Exporting keys" +#~ msgstr "ਕੁੰਜੀਆਂ ਐਕਸਪੋਰਟ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "ਕੁੰਜੀ ਸਰਵਰ ਤੋਂ ਡਾਟਾ ਲਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#~ msgid "Retrieving keys" +#~ msgstr "ਕੁੰਜੀਆਂ ਲਈਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s ਇੱਕ ਪ੍ਰਾਈਵੇਟ ਕੁੰਜੀ ਹੈ। ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#~ msgid "Couldn't delete key" +#~ msgstr "ਕੁੰਜੀ ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕੀ" + +#~ msgid "_Key Description:" +#~ msgstr "ਕੁੰਜੀ ਵੇਰਵਾ(_K):" + +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "ਆਪਣੀ ਨਵੀਂ ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀ ਲਈ ਪ੍ਹੈਰਾ ਦਿਓ।" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "ਸੀ-ਹਾਰਸ-ਡੈਮਨ ਇੱਕ ਡੈਮਨ ਵਾਂਗ ਨਾ ਚਲਾਓ" + +#~ msgid "couldn't fork process" +#~ msgstr "ਕਾਰਜ ਅੱਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਡੈਮਨ (ਸੀ-ਹਾਰਸ)" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "ਗਲਤ ਜਾਂ ਅਣਜਾਣ ਕੁੰਜੀ ਕਿਸਮ: %s" + +#~ msgid "This keytype is not supported: %s" +#~ msgstr "ਇਹ ਕੁੰਜੀ-ਕਿਸਮ ਸਹਾਇਕ ਨਹੀਂ: %s" + +#~ msgid "Support for this feature was not enabled at build time" +#~ msgstr "ਇਹ ਫੀਚਰ ਲਈ ਸਹਿਯੋਗ ਬਿਲਡ ਸਮੇਂ ਚਾਲੂ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਸੀ।" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "ਅਵੈਧ ਜਾਂ ਬੇਪਛਾਣ ਕੁੰਜੀ: %s" + +#~ msgid "Signed by expired on %s." +#~ msgstr " ਵਲੋਂ ਸਾਇਨ ਮਿਆਦ %s ਤੱਕ।" + +#~ msgid "Invalid Signature" +#~ msgstr "ਗਲਤ ਦਸਤਖਤ" + +#~ msgid "Signed by on %s Expired." +#~ msgstr " ਵਲੋਂ %s ਉੱਤੇ ਸਾਇਨਾਂ ਦੀ ਮਿਆਦ ਪੁੱਗੀ।" + +#~ msgid "Expired Signature" +#~ msgstr "ਦਸਤਖਤਾਂ ਦੀ ਮਿਆਦ ਪੁੱਗੀ" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr " ਵਲੋਂ ਸਾਇਨ ਵਾਪਸ ਲਏ %s ਉੱਤੇ।" + +#~ msgid "Revoked Signature" +#~ msgstr "ਦਸਤਖਤ ਮਨਸੂਖ" + +#~ msgid "Signed by on %s." +#~ msgstr "ਰਾਹੀਂ %s ਉੱਤੇ ਸਾਇਨ।" + +#~ msgid "Good Signature" +#~ msgstr "ਵਧੀਆ ਦਸਤਖਤ" + +#~ msgid "Signing key not in keyring." +#~ msgstr "ਸਾਇਨ ਕੁੰਜੀ ਕੀਰਿੰਗ 'ਚ ਨਹੀਂ ਹੈ।" + +#~ msgid "Unknown Signature" +#~ msgstr "ਅਣਜਾਣ ਦਸਤਖਤ" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "ਗਲਤ ਜਾਂ ਭੁੱਲੇ ਦਸਤਖਤ ਹਨ। ਸਾਇਨ ਡਾਟਾ ਸੋਧਿਆ ਗਿਆ ਹੈ।" + +#~ msgid "Bad Signature" +#~ msgstr "ਗਲਤ ਦਸਤਖਤ" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "ਅਵੈਧ ਜਾਂ ਬੇਪਛਾਣ ਸਾਇਨਰ: %s" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "ਕੁੰਜੀ ਸਾਇਨ ਕਰਨ ਲਈ ਵੈਧ ਨਹੀਂ: %s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "ਅਵੈਧ ਜਾਂ ਬੇਪਛਾਣ ਪ੍ਰਾਪਤ ਕਰਤਾ: %s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "ਕੁੰਜੀ ਇੰਕ੍ਰਿਪਸ਼ਨ ਲਈ ਵੈਧ ਪ੍ਰਾਪਤ ਕਰਤਾ ਨਹੀਂ ਹੈ: %s" + +#~ msgid "No recipients specified" +#~ msgstr "ਕੋਈ ਪ੍ਰਾਪਤ ਕਰਤਾ ਨਹੀਂ ਦਿੱਤਾ" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "ਡਿਕ੍ਰਿਪਸ਼ਨ ਲਈ ਗਲਤ ਕੁੰਜੀ ਕਿਸਮ: %s" + +#~ msgid "Please set clearuri" +#~ msgstr "clearuri ਸੈੱਟ ਕਰੋ" + +#~ msgid "Please set crypturi" +#~ msgstr "crypturi ਸੈੱਟ ਕਰੋ" + +#~ msgid "Error opening clearuri" +#~ msgstr "clearuri ਖੋਲ੍ਹਣ ਦੌਰਾਨ ਗਲਤੀ" + +#~ msgid "No signer specified" +#~ msgstr "ਕੋਈ ਸਾਇਨਰ ਦਿੱਤਾ ਨਹੀਂ" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "ਜਾਂਚ ਲਈ ਗਲਤ ਕੁੰਜੀ ਕਿਸਮ: %s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "ਗਲਤ ਕੁੰਜੀ id: %s" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "ਰਿਮੋਟ PGP ਕੁੰਜੀਆਂ ਲਈ ਕੁੰਜੀ ਸਰਵਰ URI ਦੀ ਲਿਸਟ ਹੈ। ਬਾਅਦ ਦੇ ਵਰਜਨ ਵਿੱਚ ਨਾਂ ਵੇਖਾਇਆ ਜਾ ਸਕਦਾ " +#~ "ਹੈ, ਜਿਸ ਵਿੱਚ ਖਾਲੀ ਥਾਂ ਜੋੜਨ ਤੋਂ ਨਾਂ ਜੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ।" + +#~ msgid "Auto Retrieve Keys" +#~ msgstr "ਕੁੰਜੀਆਂ ਆਟੋ ਲਵੋ" + +#~ msgid "Auto Sync Keys" +#~ msgstr "ਆਟੋ ਸੈਕਰੋ ਕੁੰਜੀਆਂ" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "ਕੁੰਜੀ ਮੈਨੇਜਰ ਲਈ ਮਿਆਦ ਕਾਲਮ ਦੀ ਦਿੱਖ ਕੰਟਰੋਲ ਕਰੋ।" + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "ਕੁੰਜੀ ਮੈਨੇਜਰ ਲਈ ਟਰੱਸਟ ਕਾਲਮ ਦੀ ਦਿੱਖ ਕੰਟਰੋਲ ਕਰੋ।" + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "ਕੁੰਜੀ ਮੈਨੇਜਰ ਲਈ ਕਿਸਮ ਕਾਲਮ ਦੀ ਦਿੱਖ ਕੰਟਰੋਲ ਕਰੋ।" + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "ਕੁੰਜੀ ਮੈਨੇਜਰ ਲਈ ਵੈਧਤਾ ਕਾਲਮ ਦੀ ਦਿੱਖ ਕੰਟਰੋਲ ਕਰੋ।" + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "DNS-SD ਸਾਂਝ ਯੋਗ" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "ਕੁੰਜੀਆਂ ਸਾਂਝੀਆਂ ਕਰਨ ਲਈ DNS-SD (ਐਪਲ ਬੋਂਜੋਰ) ਯੋਗ ਕਰੋ। seahorse-daemon ਚੱਲਦੀ ਹੋਣੀ ਚਾਹੀਦੀ " +#~ "ਹੈ ਅਤੇ HKP ਅਤੇ DNS-SD ਸਹਿਯੋਗ ਨਾਲ ਬਿਲਡ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।" + +#~ msgid "ID of the default key" +#~ msgstr "ਡਿਫਾਲਟ ਕੁੰਜੀ ਦੀ ID" + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "ਜੇ ਚੁਣਿਆ ਤਾਂ, ਸੀ-ਹਾਰਸ ਨਾਲ ਇੰਕ੍ਰਿਪਟ ਕੀਤੀਆਂ ਫਾਇਲਾਂ ASCII armor ਇੰਕੋਡ ਹੋਣਗੀਆਂ।" + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "" +#~ "ਜੇ ਚੋਣ ਕੀਤੀ ਤਾਂ ਡਿਫਾਲਟ ਕੁੰਜੀ ਨੂੰ ਇੱਕ ਇੰਕ੍ਰਿਪਟ ਪ੍ਰਾਪਤਕਰਤਾ ਲਿਸਟ ਵਿੱਚ ਹਮੇਸ਼ਾਂ ਸ਼ਾਮਲ ਕੀਤਾ " +#~ "ਜਾਵੇਗਾ।" + +#~ msgid "Last key server search pattern" +#~ msgstr "ਆਖਰੀ ਕੁੰਜੀ ਸਰਵਰ ਖੋਜ ਪੈਟਰਨ" + +#~ msgid "Last key servers used" +#~ msgstr "ਵਰਤਿਆ ਆਖਰੀ ਕੁੰਜੀ ਸਰਵਰ" + +#~ msgid "Last key used to sign a message." +#~ msgstr "ਇੱਕ ਸੁਨੇਹਾ ਸਾਇਨ ਕਰਨ ਲਈ ਵਰਤੀ ਆਖਰੀ ਕੁੰਜੀ।" + +#~ msgid "PGP Key servers" +#~ msgstr "PGP ਕੁੰਜੀ ਸਰਵਰ" + +#~ msgid "Publish keys to this key server." +#~ msgstr "ਕੁੰਜੀਆਂ ਇਹ ਕੁੰਜੀ-ਸਰਵਰ ਉੱਤੇ ਪਬਲਿਸ਼ ਕਰੋ।" + +#~ msgid "Show expires column in key manager" +#~ msgstr "ਕੁੰਜੀ ਮੈਨੇਜਰ ਵਿੱਚ ਮਿਆਦ ਕਾਲਮ ਵੇਖਾਓ" + +#~ msgid "Show trust column in key manager" +#~ msgstr "ਕੁੰਜੀ ਮੈਨੇਜਰ 'ਚ ਭਰੋਸਾ ਕਾਲਮ ਵੇਖਾਓ" + +#~ msgid "Show type column in key manager" +#~ msgstr "ਕੁੰਜੀ ਮੈਨੇਜਰ 'ਚ ਕਿਸਮ ਕਾਲਮ ਵੇਖਾਓ" + +#~ msgid "Show validity column in key manager" +#~ msgstr "ਕੁੰਜੀ ਮੈਨੇਜਰ 'ਚ ਵੈਧਤਾ ਕਾਲਮ ਵੇਖਾਓ" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "ਪ੍ਰਾਪਤ ਕਰਤਾ ਵਿੰਡੋ ਰਾਹੀਂ ਲੜੀਬੱਧ ਕਰਨ ਲਈ ਕਾਲਮ ਦਿਓ। ਕਾਲਮ ਹਨ: 'ਨਾਂ' ਅਤੇ 'id'। ਘੱਟਦੇ ਕ੍ਰਮ " +#~ "ਵਿੱਚ ਲੜੀਬੱਧ ਕਰਨ ਲਈ ਕਾਲਮ ਨਾਂ ਦੇ ਅੱਗੇ '-' ਪਾ ਦਿਓ।" + +#~ msgid "" +#~ "Specify the column to sort the seahorse key manager main window by. " +#~ "Columns are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. " +#~ "Put a '-' in front of the column name to sort in descending order." +#~ msgstr "" +#~ "ਸੀ-ਹਾਰਸ ਵਿੱਚ ਮੁੱਖ ਵਿੰਡੋ ਰਾਹੀਂ ਲੜੀਬੱਧ ਕਰਨ ਲਈ ਕਾਲਮ ਦਿਓ। ਕਾਲਮ ਹਨ: 'ਨਾਂ, 'id', " +#~ "'ਵੈਧਤਾ', 'ਮਿਆਦ', 'ਟਰੱਸਟ' ਅਤੇ 'ਕਿਸਮ'। ਘੱਟਦੇ ਕ੍ਰਮ ਵਿੱਚ ਲੜੀਬੱਧ ਕਰਨ ਲਈ ਕਾਲਮ ਨਾਂ ਦੇ ਅੱਗੇ " +#~ "'-' ਪਾ ਦਿਓ।" + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "ਇੱਕ ਸੁਨੇਹੇ ਉੱਤੇ ਸਾਇਨ ਕਰਨ ਲਈ ਵਰਤੀ ਆਖਰੀ ਗੁਪਤ ਕੁੰਜੀ ਦਾ ID।" + +#~ msgid "The column to sort the recipients by" +#~ msgstr "ਪ੍ਰਾਪਤਕਰਤਾ ਲੜੀਬੱਧ ਕਰਨ ਲਈ ਕਾਲਮ" + +#~ msgid "The column to sort the seahorse keys by" +#~ msgstr "ਸੀ-ਹਾਰਸ ਕੁੰਜੀਆਂ ਲੜੀਬੱਧ ਕਰਨ ਲਈ ਕਾਲਮ" + +#~ msgid "" +#~ "The key server to publish PGP keys to. Or empty to suppress publishing of " +#~ "PGP keys." +#~ msgstr "" +#~ "PGP ਕੁੰਜੀਆਂ ਪਬਲਿਸ਼ ਕਰਨ ਲਈ ਕੁੰਜੀ ਸਰਵਰ ਹੈ। ਜਾਂ PGP ਕੁੰਜੀਆਂ ਪਬਲਿਸ਼ ਨੂੰ ਸਪਪਰੈੱਸ ਕਰਨ ਲਈ ਖਾਲੀ " +#~ "ਦਿਓ।" + +#~ msgid "" +#~ "The last key server a search was performed against or empty for all key " +#~ "servers." +#~ msgstr "ਆਖਰੀ ਕੁੰਜੀ ਸਰਵਰ, ਜਿਸ ਲਈ ਖੋਜ ਕੀਤੀ ਗਈ ਸੀ ਜਾਂ ਸਭ ਕੁੰਜੀ ਸਰਵਰਾਂ ਲਈ ਖਾਲੀ ਰੱਖੋ।" + +#~ msgid "The last search pattern searched for against a key server." +#~ msgstr "ਇੱਕ ਕੁੰਜੀ ਸਰਵਰ ਲਈ ਖੋਜ ਲਈ ਵਰਤਿਆ ਆਖਰੀ ਖੋਜ ਪੈਟਰਨ ਹੈ।" + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "ਇਹ ਕੁਝ ਓਪਰੇਸ਼ਨਾਂ, ਖਾਸ ਕਰਕੇ ਸਾਇਨ ਲਈ, ਵਰਤਣ ਵਾਸਤੇ ਡਿਫਾਲਟ ਕੁੰਜੀ ਸੈੱਟ ਕਰਦੀ ਹੈ।" + +#~ msgid "" +#~ "Whether or not keys should be automatically retrieved from key servers." +#~ msgstr "ਕੀ ਕੁੰਜੀ ਸਰਵਰਾਂ ਤੋਂ ਕੁੰਜੀਆਂ ਆਟੋਮੈਟਿਕ ਹੀ ਲੈਣੀਆਂ ਹਨ ਜਾਂ ਨਹੀਂ।" + +#~ msgid "" +#~ "Whether or not modified keys should be automatically synced with the " +#~ "default key server." +#~ msgstr "ਕੀ ਸੋਧੀਆਂ ਕੁੰਜੀਆਂ ਆਟੋਮੈਟਿਕ ਹੀ ਡਿਫਾਲਟ ਸਰਵਰ ਨਾਲ ਸਿਕਰੋਨਾਈਜ਼ ਕੀਤੀਆਂ ਜਾਣ ਕਿ ਨਾ।" + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "ਕੀ ਹਮੇਸ਼ਾਂ ਇੰਕ੍ਰਿਪਟ ਡਿਫਾਲਟ ਕੁੰਜੀ ਨਹੀਂ ਵਰਤਣੀ ਹੈ" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "ਕੀ ASCII Armor ਵਰਤਣਾ ਹੈ" + +#~ msgid "Web Password" +#~ msgstr "ਵੈੱਬ ਪਾਸਵਰਡ" + +#~ msgid "Couldn't set application access." +#~ msgstr "ਐਪਲੀਕੇਸ਼ਨ ਅਸੈੱਸ ਸੈੱਟ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ।" + +#~ msgid "Path:" +#~ msgstr "ਪਾਥ:" + +#~ msgid "Permissions:" +#~ msgstr "ਅਧਿਕਾਰ:" + +#~ msgid "_Read" +#~ msgstr "ਪੜ੍ਹੋ(_R)" + +#~ msgid "_Write" +#~ msgstr "ਲਿਖੋ(_W)" + +#~| msgid "_Delete" +#~ msgctxt "infinitive" +#~ msgid "_Delete" +#~ msgstr "ਹਟਾਓ(_D)" + +#~ msgid "Saving item..." +#~ msgstr "ਆਈਟਮ ਸੰਭਾਲੀ ਜਾਂਦੀ ਹੈ..." + +#~ msgid "Listing password keyrings" +#~ msgstr "ਪਾਸਵਰਡ ਕੀਰਿੰਗ ਲਿਸਟ ਕੀਤੇ ਜਾ ਰਹੇ ਹਨ" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "ਕੋਈ ਇੰਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀਆਂ ਨਹੀਂ ਲੱਭੀਆਂ, ਜਿਸ ਨਾਲ ਤੁਹਾਡੇ ਵਲੋਂ ਮੰਗੇ ਗਿਆ ਓਪਰੇਸ਼ਨ ਕੀਤਾ ਜਾ ਸਕੇ। ਪਰੋਗਰਾਮ " +#~ "ਪਾਸਵਰਡ ਅਤੇ ਇੰਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀਆਂ ਹੁਣ ਸ਼ੁਰੂ ਹੋਵੇਗਾ ਤਾਂ ਤੁਸੀਂ ਜਾਂ ਤਾਂ ਨਵੀਂ ਕੁੰਜੀ ਬਣਾ ਸਕੋ ਜਾਂ " +#~ "ਇਸ ਨੂੰ ਇੰਪੋਰਟ ਕਰ ਸਕੋ।" + +#~ msgid "All Keys" +#~ msgstr "ਸਭ ਕੁੰਜੀਆਂ" + +#~ msgid "Selected Recipients" +#~ msgstr "ਚੁਣੇ ਸੁਨੇਹੀ" + +#~ msgid "Search Results" +#~ msgstr "ਖੋਜ ਨਤੀਜੇ" + +#~ msgid "Search _for:" +#~ msgstr "ਖੋਜ(_f):" + +#~ msgid "None (Don't Sign)" +#~ msgstr "ਕੋਈ ਨਹੀਂ (ਦਸਤਖਤੀ ਨਹੀਂ)" + +#~ msgid "Sign this message as %s" +#~ msgstr "ਇਹ ਸੁਨੇਹਾ %s ਵਾਂਗ ਭੇਜੋ" + +#~ msgid "_Sign message as:" +#~ msgstr "ਦਸਤਖਤੀ ਸੁਨੇਹਾ ਵਾਂਗ(_S):" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "ਫਾਇਲ ਢੁੱਕਵੀਂ .desktop ਫਾਇਲ ਨਹੀਂ ਹੈ" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "ਬੇਪਛਾਣ ਡੈਸਕਟਾਪ ਫਾਇਲ ਵਰਜਨ '%s'" + +#~ msgid "Starting %s" +#~ msgstr "%s ਸ਼ੁਰੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "ਐਪਲੀਕੇਸ਼ਨ ਕਮਾਂਡ ਲਾਈਨ ਉੱਤੇ ਡੌਕੂਮੈਂਟ ਮਨਜ਼ੂਰ ਨਹੀਂ ਕਰਦਾ ਹੈ" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "ਬੇਪਛਾਣ ਲਾਂਚ ਚੋਣ: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "ਡੌਕੂਮੈਂਟ URI 'Type=Link' ਡੈਸਕਟਾਪ ਐਂਟਰੀ ਨਹੀਂ ਦਿੱਤਾ ਨਹੀਂ ਜਾ ਸਕਦਾ" + +#~ msgid "Not a launchable item" +#~ msgstr "ਕੋਈ ਚਲਾਉਣਯੋਗ ਆਈਟਮ ਨਹੀਂ" + +#~ msgid "Disable connection to session manager" +#~ msgstr "ਸ਼ੈਸ਼ਨ ਮੈਨੇਜਰ ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਆਯੋਗ" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "ਸੰਭਾਲੀ ਸੰਰਚਨਾ ਰੱਖਣ ਵਾਲੀ ਫਾਇਲ ਦਿਓ" + +#~ msgid "FILE" +#~ msgstr "ਫਾਇਲ" + +#~ msgid "Specify session management ID" +#~ msgstr "ਸ਼ੈਸ਼ਨ ਪਰਬੰਧ ID ਦਿਓ" + +#~ msgid "Session management options:" +#~ msgstr "ਸ਼ੈਸ਼ਨ ਪਰਬੰਧ ਚੋਣਾਂ:" + +#~ msgid "Show session management options" +#~ msgstr "ਸ਼ੈਸ਼ਨ ਪਰਬੰਧ ਚੋਣਾਂ ਵੇਖੋ" + +#~ msgid "Key Imported" +#~ msgid_plural "Keys Imported" +#~ msgstr[0] "ਕੁੰਜੀ ਇੰਪੋਰਟ ਕੀਤੀ" +#~ msgstr[1] "ਕੁੰਜੀਆਂ ਇੰਪੋਰਟ ਕੀਤੀਆਂ" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "ਇੰਪੋਰਟ ਕੀਤੀ %i ਕੁੰਜੀ" +#~ msgstr[1] "ਇੰਪੋਰਟ ਕੀਤੀਆਂ %i ਕੁੰਜੀਆਂ" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "ਇੱਕ ਕੁੰਜੀ ਇੰਪੋਰਟ ਕੀਤੀ" +#~ msgstr[1] "ਇੰਪੋਰਟ ਕੀਤੀਆਂ ਕੁੰਜੀਆਂ" + +#~ msgid "Notification Messages" +#~ msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ ਸੁਨੇਹੇ" + +#~ msgid "Symmetric Key" +#~ msgstr "ਸਿਮੈਟਰਿਕ ਕੁੰਜੀ" + +#~ msgid "Credentials" +#~ msgstr "ਕਰਿਡਿਨਟੀਸ" + +#~ msgid "Identity" +#~ msgstr "ਪਛਾਣ" + +#~ msgid "Progress Title" +#~ msgstr "ਤਰੱਕੀ ਟਾਈਟਲ" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "ਫਾਇਲ ਰੋਲਰ ਨਹੀਂ ਚਲਾਇਆ ਜਾ ਸਕਿਆ" + +#~ msgid "Couldn't package files" +#~ msgstr "ਫਾਇਲ ਪੈਕ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾ ਸਕੀਆਂ" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "ਫਾਇਲ ਰੋਲਰ ਕਾਰਵਾਈ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸਿਰੇ ਨਹੀਂ ਚੜ੍ਹੀ" + +#~ msgid "Loading Keys..." +#~ msgstr "ਕੁੰਜੀਆਂ ਲੋਡ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ..." + +#~ msgid "Uploading keys..." +#~ msgstr "ਕੁੰਜੀਆਂ ਅੱਪਲੋਡ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ..." + +#~ msgid "Retrieving keys..." +#~ msgstr "ਕੁੰਜੀ ਲਈਆਂ ਜਾ ਰਹੀਆਂ ਹਨ..." + +#~ msgid "Searching for keys on: %s" +#~ msgstr "ਕੁੰਜੀਆਂ ਦੀ ਖੋਜ ਜਾਰੀ: %s" + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "'%s' ਰੱਖਣ ਵਾਲੀਆਂ ਕੁੰਜੀਆਂ ਦੀ ਖੋਜ ਜਾਰੀ..." + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "ਕੁੰਜੀ id '%s' ਲਈ ਖੋਜ ਜਾਰੀ ਹੈ..." + +#~ msgid "Retrieving remote keys..." +#~ msgstr "ਰਿਮੋਟ ਕੁੰਜੀਆਂ ਲਈਆਂ ਜਾ ਰਹੀਆਂ ਹਨ..." + +#~ msgid "Sending keys to key server..." +#~ msgstr "ਕੁੰਜੀਆਂ ਕੁੰਜੀ ਸਰਵਰ ਨੂੰ ਭੇਜੀਆਂ ਜਾਂਦੀਆਂ ਹਨ..." + +#~ msgid "Synchronizing keys" +#~ msgstr "ਕੁੰਜੀਆਂ ਸਿਕਰੋਨਾਈਜ਼ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" + +#~ msgid "Invalid" +#~ msgstr "ਗਲਤ" + +#~ msgid "Private Secure Shell Key" +#~ msgstr "ਪ੍ਰਾਈਵੇਟ ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀ" + +#~ msgid "Public Secure Shell Key" +#~ msgstr "ਪਬਲਿਕ ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀ" + +#~ msgid "Passphrase:" +#~ msgstr "ਪ੍ਹੈਰਾ:" + +#~ msgid "Couldn't share keys" +#~ msgstr "ਕੁੰਜੀਆਂ ਸਾਂਝੀਆਂ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾ ਸਕੀਆਂ" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "ਨੈੱਟਵਰਕ ਉੱਤੇ ਖੋਜ ਜਾਣਕਾਰੀ ਪਬਲਿਸ਼ ਕੀਤੀ ਨਹੀਂ ਜਾ ਸਕਦੀ।" + +#~ msgid "%s's encryption keys" +#~ msgstr "%s ਦੀਆਂ ਇੰਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀਆਂ" + +#~ msgid "Key Sharing" +#~ msgstr "ਕੁੰਜੀ ਸ਼ੇਅਰਿੰਗ" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "ਤੁਹਾਡੀਆਂ ਕੁੰਜੀਆਂ ਸਾਂਝੀਆਂ ਕਰਨ ਨਾਲ ਤੁਹਾਡੇ ਨੈੱਟਵਰਕ ਉੱਤੇ ਹੋਰ ਲੋਕ ਤੁਹਾਡੇ ਵਲੋਂ ਇੱਕਠੀਆਂ ਕੀਤੀਆਂ ਕੁੰਜੀਆਂ " +#~ "ਵਰਤ ਸਕਦੇ ਹਨ। ਇਸ ਦਾ ਅਰਥ ਹੈ ਕਿ ਉਹ ਤੁਹਾਡੇ ਲਈ ਆਟੋਮੈਟਿਕ ਹੀ ਚੀਜ਼ਾਂ ਇੰਕ੍ਰਿਪਟ ਕਰ ਸਕਦੇ ਹਨ ਜਾਂ " +#~ "ਜਿੰਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ ਜਾਣਦੇ ਹੋ, ਤੁਹਾਨੂੰ ਆਪਣੀ ਕੁੰਜੀ ਭੇਜੇ ਤੋਂ ਬਿਨਾਂ ਹੋ।\n" +#~ "\n" +#~ "ਨੋਟ: ਤੁਹਾਡੀਆਂ ਨਿੱਜੀ ਕੁੰਜੀਆਂ ਨਾਲ ਸਮਝੌਤਾ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।" + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "ਮੇਰੇ ਨੈੱਟਵਰਕ ਉੱਤੇ ਹੋਰਾਂ ਨਾਲ ਮੇਰੀਆਂ ਕੁੰਜੀਆਂ ਸਾਂਝੀਆਂ ਕਰੋ(_S)" + +#~ msgid "Seahorse Daemon" +#~ msgstr "ਸੀ-ਹਾਰਸ ਡੈਮਨ" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "X ਕੁੰਜੀਆਂ ਸਿਕਰੋਨਾਈਜ਼ ਕਰਨ ਲਈ ਚੁਣੀਆਂ ਗਈਆਂ ਹਨ" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/nate/.ssh/blah_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" + +#~ msgid "Create a PGP Key" +#~ msgstr "ਇੱਕ PGP ਕੁੰਜੀ ਬਣਾਓ" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginal\n" +#~ "Full\n" +#~ "Ultimate" +#~ msgstr "" +#~ "ਅਣਜਾਣ\n" +#~ "ਕਦੇ ਨਹੀਂ\n" +#~ "ਆਰਜ਼ੀ\n" +#~ "ਪੂਰਾ\n" +#~ "ਬੇਅੰਤ" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginally\n" +#~ "Fully\n" +#~ "Ultimately" +#~ msgstr "" +#~ "ਅਣਜਾਣ\n" +#~ "ਕਦੇ ਨਹੀਂ\n" +#~ "ਆਰਜ਼ੀ\n" +#~ "ਪੂਰਾ\n" +#~ "ਬੇਅੰਤ" + +#~ msgid "Other _Collected Keys" +#~ msgstr "ਹੋਰ ਇੱਕਠੀਆਂ ਕੀਤੀਆਂ ਕੁੰਜੀਆਂ(_C)" + +#~ msgid "_Trusted Keys" +#~ msgstr "ਟਰੱਸਟਡ ਕੁੰਜੀਆਂ(_T)" + +#~ msgid "" +#~ "One or more of the deleted keys are private keys. Are you sure you want " +#~ "to proceed?" +#~ msgstr "" +#~ "ਇੱਕ ਜਾਂ ਵੱਧ ਹਟਾਈਆਂ ਜਾ ਰਹੀਆਂ ਕੁੰਜੀਆਂ ਪ੍ਰਾਈਵੇਟ ਕੁੰਜੀਆਂ ਹਨ। ਕੀ ਤੁਸੀਂ ਜਾਰੀ ਰੱਖਣਾ ਚਾਹੁੰਦੇ ਹੋ?" + +#~ msgid "Removing item" +#~ msgstr "ਆਈਟਮ ਸੰਭਾਲੀ ਜਾਂਦੀ ਹੈ" + +#~ msgid "Couldn't get default password keyring" +#~ msgstr "ਡਿਫਾਲਟ ਪਾਸਵਰਡ ਕੀਰਿੰਗ ਲਈ ਨਹੀਂ ਜਾ ਸਕੀ" + +#~ msgid "Couldn't get list of password keyrings" +#~ msgstr "ਪਾਸਵਰਡ ਕੀਰਿੰਗ ਦੀ ਲਿਸਟ ਲਈ ਨਹੀਂ ਜਾ ਸਕੀ" + +#~ msgid "Couldn't remove keyring" +#~ msgstr "ਕੀਰਿੰਗ ਹਟਾਈ ਨਹੀਂ ਜਾ ਸਕੀ" + +#~ msgid "Are you sure you want to permanently delete the '%s' keyring?" +#~ msgstr "ਕੀ ਤੁਸੀਂ '%s' ਕੀਰਿੰਗ ਨੂੰ ਪੱਕੇ ਤੌਰ ਉੱਤੇ ਹਟਾਉਣੀ ਚਾਹੁੰਦੇ ਹੋ?" + +#~ msgid "Default Keyring" +#~ msgstr "ਡਿਫਾਲਟ ਕੀਰਿੰਗ" + +#~ msgid "Password Keyrings" +#~ msgstr "ਪਾਸਵਰਡ ਕੀਰਿੰਗ:" + +#~ msgid "Password and Encryption Settings" +#~ msgstr "ਪਾਸਵਰਡ ਅਤੇ ਇੰਕ੍ਰਿਪਸ਼ਨ ਸੈਟਿੰਗ" + +#~ msgid "_Add Keyring" +#~ msgstr "ਕੀਰਿੰਗ ਸ਼ਾਮਲ(_A)" + +#~ msgid "_Remove Keyring" +#~ msgstr "ਕੀਰਿੰਗ ਹਟਾਓ(_R)" + +#~ msgid "Unknown Key: %s" +#~ msgstr "ਅਣਜਾਣ ਕੁੰਜੀ: %s" + +#~ msgid "Unknown Key" +#~ msgstr "ਅਣਜਾਣ ਕੁੰਜੀ" + +#~ msgid "Unavailable Key" +#~ msgstr "ਨਾ-ਉਪਲੱਬਧ ਕੁੰਜੀ" + +#~ msgid "X509 Certificate" +#~ msgstr "X509 ਸਰਟੀਫਿਕੇਟ" + +#~ msgid "Loading..." +#~ msgstr "ਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ..." + +#~ msgid "Invalid or unrecognized object." +#~ msgstr "ਗਲਤ ਜਾਂ ਬੇਪਛਾਣ ਆਬਜੈਕਟ ਹੈ।" + +#~ msgid "Exporting is not yet supported." +#~ msgstr "ਐਕਸਪੋਰਟ ਹਾਲੇ ਸਹਾਇਕ ਨਹੀਂ ਹੈ।" + +#~ msgid "Expiry for Subkey %d of %s" +#~ msgstr "%d ਸਬਕੁੰਜੀ %s ਵਿੱਚੋਂ ਦੀ ਮਿਆਦ" + +#~ msgid "_Quit" +#~ msgstr "ਬੰਦ ਕਰੋ(_Q)" + +#~ msgid "Import keys into your key ring from a file" +#~ msgstr "ਆਪਣੇ ਕੀ ਰਿੰਗ ਵਿੱਚ ਇੱਕ ਫਾਇਲ ਤੋਂ ਕੁੰਜੀ ਇੰਪੋਰਟ ਕਰੋ" + +#~ msgid "_Close" +#~ msgstr "ਬੰਦ ਕਰੋ(_C)" + +#~ msgid "_Key" +#~ msgstr "ਕੁੰਜੀ(_K)" + +#~ msgid "_About" +#~ msgstr "ਇਸ ਬਾਰੇ(_A)" + +#~ msgid "E_xport Public Key..." +#~ msgstr "ਪਬਲਿਕ ਕੁੰਜੀ ਐਕਸਪੋਰਟ ਕਰੋ(_x)..." + +#~ msgid "_Copy Public Key" +#~ msgstr "ਪਬਲਿਕ ਕੁੰਜੀ ਕਾਪੀ(_C)" + +#~ msgid "Copy public part of selected keys to the clipboard" +#~ msgstr "ਚੁਣੀਆਂ ਕੁੰਜੀਆਂ ਲਈ ਪਬਲਿਕ ਭਾਗ ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ ਕਾਪੀ ਕਰੋ" + +#~ msgid "_Delete Key" +#~ msgstr "ਕੁੰਜੀ ਹਟਾਓ(_D)" + +#~ msgid "Secure Shell Passphrase" +#~ msgstr "ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਪ੍ਹੈਰਾ" + +#~ msgid "Secure Shell Key Passphrase" +#~ msgstr "ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀ ਪ੍ਹੈਰਾ" + +#~ msgid "Enter the passphrase for: %s" +#~ msgstr "ਪ੍ਹੈਰਾ ਦਿਓ ਜੀ: %s" + +#~ msgid "Save this passphrase in my keyring" +#~ msgstr "ਮੇਰੇ ਕੀਰਿੰਗ ਵਿੱਚ ਇਹ ਪ੍ਹੈਰਾ ਸੰਭਾਲੋ" + +#~ msgid "Please enter a passphrase to use." +#~ msgstr "ਵਰਤਣ ਲਈ ਇੱਕ ਪ੍ਹੈਰਾ ਦਿਓ ਜੀ।" + +#~ msgid "Unparseable Key ID" +#~ msgstr "ਗ਼ੈਰ-ਪਾਰਸ-ਯੋਗ ਕੁੰਜੀ ID" + +#~ msgid "Unknown/Invalid Key" +#~ msgstr "ਅਣਜਾਣ/ਗਲਤ ਕੁੰਜੀ" + +#~ msgid "PGP Key: %s" +#~ msgstr "PGP ਕੁੰਜੀ: %s" + +#~ msgid "" +#~ "Warning: Your system is not configured to cache passphrases in " +#~ "secure memory." +#~ msgstr "" +#~ "ਚੇਤਾਵਨੀ: ਤੁਹਾਡਾ ਸਿਸਟਮ ਪ੍ਹੈਰੇ ਨੂੰ ਸੁਰੱਖਿਅਤ ਮੈਮੋਰੀ ਵਿੱਚ ਕੈਚੇ ਕਰਨ ਲਈ ਸੰਰਚਿਤ ਨਹੀਂ ਹੈ।" + +#~ msgid "Cache _Preferences" +#~ msgstr "ਕੈਚੇ ਪਸੰਦ(_P)" + +#~ msgid "Cached Encryption Keys" +#~ msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀਆਂ ਕੈਚੇ ਕੀਤੀਆਂ" + +#~ msgid "Change passphrase cache settings." +#~ msgstr "ਪ੍ਹੈਰਾ ਕੈਚੇ ਸੈਟਿੰਗ ਬਦਲੋ।" + +#~ msgid "Clear passphrase cache" +#~ msgstr "ਪ੍ਹੈਰਾ ਕੈਚੇ ਸਾਫ਼ ਕਰੋ" + +#~ msgid "_Clear Cache" +#~ msgstr "ਕੈਚੇ ਸਾਫ਼ ਕਰੋ(_C)" + +#~ msgid "_Show Window" +#~ msgstr "ਵਿੰਡੋ ਵੇਖਾਓ(_S)" + +#~ msgid "Do not daemonize seahorse-agent" +#~ msgstr "seahorse-agent daemonize ਨਾ ਕਰੋ" + +#~ msgid "Print variables in for a C type shell" +#~ msgstr "ਇੱਕ C ਟਾਈਪ ਸ਼ੈੱਲ ਲਈ ਵੇਰੀਬਲ ਪਰਿੰਟ ਕਰੋ" + +#~ msgid "Display environment variables (the default)" +#~ msgstr "ਇੰਵਾਇਰਨਮੈਂਟ ਵੇਰੀਬਲ ਵੇਖੋ (ਡਿਫਾਲਟ)" + +#~ msgid "Allow GPG agent request from any display" +#~ msgstr "ਕਿਸੇ ਵੀ ਡਿਸਪਲੇਅ ਤੋਂ GPG ਏਜੰਟ ਮੰਗ ਮਨਜ਼ੂਰ" + +#~ msgid "command..." +#~ msgstr "ਕਮਾਂਡ..." + +#~ msgid "Encryption Key Agent (Seahorse)" +#~ msgstr "ਇਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀ ਏਜੰਟ (ਸੀ-ਹਾਰਸ)" + +#~ msgid "no command specified to execute" +#~ msgstr "ਚਲਾਉਣ ਲਈ ਕੋਈ ਕਮਾਂਡ ਨਹੀਂ ਦਿੱਤੀ" + +#~ msgid "Authorize Passphrase Access" +#~ msgstr "ਪਰਮਾਣਿਤ ਪ੍ਹੈਰਾ ਪਹੁੰਚ" + +#~ msgid "The passphrase is cached in memory." +#~ msgstr "ਪ੍ਹੈਰਾ ਮੈਮੋਰੀ 'ਚ ਕੈਚੇ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।" + +#~ msgid "Always ask me before using a cached passphrase" +#~ msgstr "ਇੱਕ ਕੈਚੇ ਪ੍ਹੈਰਾ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਮੈਨੂੰ ਹਮੇਸ਼ਾਂ ਪੁੱਛੋ" + +#~ msgid "_Authorize" +#~ msgstr "ਪਰਮਾਣਿਤ(_A)" + +#~ msgid "" +#~ "After performing an decrypt or verify operation from the applet, display " +#~ "the resulting text in a window." +#~ msgstr "" +#~ "ਐਪਲਿਟ ਤੋਂ ਇੱਕ ਡਿ-ਕ੍ਰਿਪਸ਼ਨ ਜਾਂ ਜਾਂਚ ਓਪਰੇਸ਼ਨ ਕਰਨ ਬਾਅਦ ਨਤੀਜਾ ਟੈਕਸਟ ਨੂੰ ਇੱਕ ਵਿੰਡੋ ਵਿੱਚ ਵੇਖਾਇਆ " +#~ "ਜਾਵੇਗਾ।" + +#~ msgid "" +#~ "After performing an encrypt or signing operation from the applet, display " +#~ "the resulting text in a window." +#~ msgstr "" +#~ "ਐਪਲਿਟ ਤੋਂ ਇੱਕ ਇੰਕ੍ਰਿਪਸ਼ਨ ਜਾਂ ਸਾਇਨ ਓਪਰੇਸ਼ਨ ਕਰਨ ਬਾਅਦ ਨਤੀਜਾ ਟੈਕਸਟ ਨੂੰ ਇੱਕ ਵਿੰਡੋ ਵਿੱਚ ਵੇਖਾਇਆ " +#~ "ਜਾਵੇਗਾ।" + +#~ msgid "Display cache reminder in the notification area" +#~ msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ ਖੇਤਰ ਵਿੱਚ ਕੈਚੇ ਰੀਮਾਈਡਰ ਵੇਖਾਓ" + +#~ msgid "Display clipboard after decrypting" +#~ msgstr "ਡਿ-ਕ੍ਰਿਪਟ ਕਰਨ ਦੇ ਬਾਅਦ ਕਲਿੱਪਬੋਰਡ ਵੇਖਾਓ" + +#~ msgid "Display clipboard after encrypting" +#~ msgstr "ਇੰਕ੍ਰਿਪਟ ਕਰਨ ਦੇ ਬਾਅਦ ਕਲਿੱਪਬੋਰਡ ਵੇਖਾਓ" + +#~ msgid "Expire passwords in the cache" +#~ msgstr "ਕੈਚੇ 'ਚ ਪਾਸਵਰਡ ਦੀ ਮਿਆਦ ਖਤਮ" + +#~ msgid "" +#~ "If set to 'gnome' uses gnome-keyring to cache passwords. When set to " +#~ "'internal' uses internal cache." +#~ msgstr "" +#~ "ਕੈਸ਼ ਪਾਸਵਰਡਾਂ ਲਈ ਗਨੋਮ-ਕੀਰਿੰਗ ਵਰਤਣ ਲਈ ਜੇ 'gnome' ਸੈੱਟ ਕੀਤਾ। ਜਦੋਂ 'internal' ਵਰਤਿਆ ਤਾਂ " +#~ "ਅੰਦਰੂਨੀ ਕੈਸ਼ ਵਰਤੀ ਜਾਂਦੀ ਹੈ।" + +#~ msgid "Prompt before using GPG passwords in cache" +#~ msgstr "ਕੈਚੇ ਵਿੱਚ GPG ਪਾਸਵਰਡ ਵਰਤਣ ਤੋਂ ਪਹਿਲਾਂ ਪੁੱਛੋ" + +#~ msgid "" +#~ "Reflect the contents of the clipboard (whether encrypted, signed, etc...) " +#~ "in the panel applet icon." +#~ msgstr "" +#~ "ਪੈਨਲ ਐਪਲਿਟ ਆਈਕਾਨ ਵਿੱਚ ਕਲਿੱਪਬੋਰਡ ਦੀ ਸਮੱਗਰੀ ਵੇਖਾਓ (ਭਾਵੇਂ ਇੰਕ੍ਰਿਪਟਡ, ਸਾਇਨ ਆਦਿ...)" + +#~ msgid "" +#~ "Set to 'true' to enable display of the cache reminder in the notification " +#~ "area of your panel." +#~ msgstr "" +#~ "ਜੇ ਚੋਣ ਕੀਤੀ ਤਾਂ ਤੁਹਾਡੇ ਪੈਨਲ ਦੇ ਨੋਟੀਫਿਕੇਸ਼ਨ ਏਰੀਏ ਵਿੱਚ ਕੈਚੇ ਰੀਮਾਈਡਰ ਵੇਖਾਉਣਾ ਯੋਗ ਹੋਵੇਗਾ।" + +#~ msgid "" +#~ "Set to 'true' to have seahorse-agent prompt before giving out passwords " +#~ "it has cached." +#~ msgstr "ਜੇ ਚੋਣ ਕੀਤੀ ਤਾਂ ਸੀ-ਹਾਰਸ-ਏਜੰਟ ਕੈਚੇ ਕੀਤੇ ਪਾਸਵਰਡ ਨੂੰ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਪੁੱਛੇਗਾ।" + +#~ msgid "Show clipboard state in panel" +#~ msgstr "ਪੈਨਲ 'ਚ ਕਲਿੱਪਬੋਰਡ ਹਾਲਤ ਵੇਖਾਓ" + +#~ msgid "The time (in minutes) to cache GPG passwords" +#~ msgstr "ਕੈਚੇ GPG ਪਾਸਵਰਡ ਲਈ ਟਾਇਮ (ਮਿੰਟਾਂ ਵਿੱਚ)" + +#~ msgid "" +#~ "This is the amount of time, specified in minutes, to cache GPG passwords " +#~ "in seahorse-agent." +#~ msgstr "" +#~ "ਇਹ ਟਾਇਮ ਦੀ ਮਾਤਰਾ ਹੈ, ਮਿੰਟਾਂ ਵਿੱਚ ਦਿੱਤਾ, ਜੋ ਕਿ seahorse-agent ਵਿੱਚ GPG ਪਾਸਵਰਡ ਕੈਚੇ " +#~ "ਕਰਨ ਲਈ।" + +#~ msgid "" +#~ "This option enables the GPG password cache in the seahorse-agent program. " +#~ "The 'use-agent' setting in gpg.conf affects this setting." +#~ msgstr "" +#~ "ਇਹ ਚੋਣ GPG ਪਾਸਵਰਡ ਕੈਚੇ seahorse-agent ਪਰੋਗਾਰਮ ਵਿੱਚ ਕਰਨ ਲਈ ਯੋਗ ਕਰਦੀ ਹੈ। gpg.conf " +#~ "ਵਿੱਚ 'use-agent' ਸੈਟਿੰਗ ਇਹ ਸੈਟਿੰਗ ਨੂੰ ਪਰਭਾਵਿਤ ਕਰਦੀ ਹੈ। " + +#~ msgid "" +#~ "When set, seahorse-agent expires GPG passwords in its cache after a " +#~ "period of time." +#~ msgstr "" +#~ "ਜਦੋਂ ਚੋਣ ਕੀਤੀ ਤਾਂ seahorse-agent ਇੱਕ ਟਾਇਮ ਪੀਰੀਅਡ ਬਾਅਦ GPG ਪਾਸਵਰਡ ਦੀ ਕੈਚੇ ਖਤਮ ਕਰ " +#~ "ਦੇਵੇਗਾ।" + +#~ msgid "Whether the GPG password cache is enabled" +#~ msgstr "ਕੀ GPG ਪਾਸਵਰਡ ਕੈਚੇ ਯੋਗ ਕਰਨੀ ਹੈ" + +#~ msgid "None. Prompt for a key." +#~ msgstr "ਕੋਈ ਨਹੀਂ। ਕੁੰਜੀ ਲਈ ਪੁੱਛੋ।" + +#~ msgid "Default Key" +#~ msgstr "ਡਿਫਾਲਟ ਕੀ" + +#~ msgid "Remember PGP Passphrases" +#~ msgstr "PGP ਪ੍ਹੈਰਾ ਚੇਤੇ ਰੱਖੋ" + +#~ msgid "A supported PGP passphrase caching agent is not running." +#~ msgstr "ਇੱਕ ਸਹਾਇਕ PGP ਪ੍ਹੈਰਾ ਕੈਸ਼ ਏਜੰਟ ਚੱਲ ਨਹੀਂ ਰਿਹਾ ਹੈ।" + +#~ msgid "This key is used to sign messages when no other key is chosen" +#~ msgstr "" +#~ "ਇਹ ਕੁੰਜੀ ਸੁਨੇਹੇ ਸਾਇਨ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ, ਜਦੋਂ ਹੋਰ ਕੋਈ ਕੁੰਜੀ ਨਹੀਂ ਚੁਣੀ ਜਾਂਦੀ।" + +#~ msgid "As_k me before using a cached passphrase" +#~ msgstr "ਇੱਕ ਕੈਸ਼ ਕੀਤੇ ਪ੍ਹੈਰੇ ਨੂੰ ਵਰਤਣ ਲਈ ਮੈਨੂੰ ਪੁੱਛੋ(_k)" + +#~ msgid "Encryption" +#~ msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ" + +#~ msgid "PGP Passphrases" +#~ msgstr "PGP ਪ੍ਹੈਰਾ" + +#~ msgid "Show _icon in status area when passphrases are in memory" +#~ msgstr "ਜਦੋਂ ਪ੍ਹੈਰਾ ਮੈਮੋਰੀ ਵਿੱਚ ਹੋਣ ਤਾਂ ਹਾਲਤ ਖੇਤਰ ਵਿੱਚ ਆਈਕਾਨ ਵੇਖਾਓ(_i)" + +#~ msgid "When _encrypting, always include myself as a recipient" +#~ msgstr "ਜਦੋਂ ਇੰਕ੍ਰਿਪਟ ਕਰੋ ਤਾਂ ਮੈਨੂੰ ਹਮੇਸ਼ਾਂ ਪ੍ਰਾਪਤ ਕਰਤਾ ਵਿੱਚ ਹਮੇਸ਼ਾਂ ਸ਼ਾਮਲ ਕਰੋ(_e)" + +#~ msgid "_Always remember passphrases whenever logged in" +#~ msgstr "ਜਦੋਂ ਵੀ ਲਾਗਇਨ ਕੀਤਾ ਜਾਵੇ ਤਾਂ ਪ੍ਹੈਰਾ ਹਮੇਸ਼ਾ ਯਾਦ ਰੱਖੋ(_A)" + +#~ msgid "_Default key:" +#~ msgstr "ਡਿਫਾਲਟ ਕੁੰਜੀ(_D):" + +#~ msgid "_Never remember passphrases" +#~ msgstr "ਪ੍ਹੈਰਾ ਕਦੇ ਵੀ ਯਾਦ ਨਾ ਰੱਖੋ(_N)" + +#~ msgid "_Remember passphrases for" +#~ msgstr "ਇਸ ਲਈ ਪ੍ਹੈਰਾ ਯਾਦ ਰੱਖੋ(_R)" + +#~ msgid "Couldn't set permissions on backup file." +#~ msgstr "ਬੈਕਅੱਪ ਫਾਇਲ ਉੱਤੇ ਅਧਿਕਾਰ ਸੈੱਟ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕੇ।" + +#~ msgid "Encrypt, decrypt or sign the clipboard (uses PGP type encryption)." +#~ msgstr "ਕਲਿੱਪਬੋਰਡ 'ਚ ਇੰਕ੍ਰਿਪਟ, ਡਿ-ਕ੍ਰਿਪਟ ਜਾਂ ਸਾਇਨ (PGP ਕਿਸਮ ਇੰਕ੍ਰਿਪਸ਼ਨ ਵਰਤੋਂ)।" + +#~ msgid "Seahorse Applet Factory" +#~ msgstr "ਸੀ-ਹਾਰਸ ਐਪਲਿਟ ਫੈਕਟਰੀ" + +#~ msgid "_Preferences" +#~ msgstr "ਮੇਰੀ ਪਸੰਦ(_P)" + +#~ msgid "seahorse-applet" +#~ msgstr "seahorse-applet" + +#~ msgid "Use PGP/GPG to encrypt/decrypt/sign/verify/import the clipboard." +#~ msgstr "PGP/GPG ਨੂੰ ਕਲਿੱਪਬੋਰਡ ਇੰਕ੍ਰਿਪਟ/ਡਿਕ੍ਰਿਪਟ/ਸਾਇਨ/ਜਾਂਚ/ਇੰਪੋਰਟ ਕਰਨ ਲਈ ਵਰਤੋਂ।" + +#~ msgid "Choose Recipient Keys" +#~ msgstr "ਪ੍ਰਾਪਤੀ ਕੁੰਜੀਆਂ ਚੁਣੋ" + +#~ msgid "Encrypted Text" +#~ msgstr "ਇੰਕ੍ਰਿਪਟਡ ਟੈਕਸਟ" + +#~ msgid "Encryption Failed" +#~ msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਫੇਲ੍ਹ ਹੋਈ" + +#~ msgid "The clipboard could not be encrypted." +#~ msgstr "ਕਲਿੱਪਬੋਰਡ ਇੰਕ੍ਰਿਪਟਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।" + +#~ msgid "Choose Key to Sign with" +#~ msgstr "ਸਾਇਨ ਕਰਨ ਲਈ ਕੁੰਜੀ ਚੁਣੋ" + +#~ msgid "Signed Text" +#~ msgstr "ਸਾਇਨ ਕੀਤਾ ਟੈਕਸਟ" + +#~ msgid "Signing Failed" +#~ msgstr "ਸਾਇਨ ਫੇਲ੍ਹ ਹੋਏ" + +#~ msgid "The clipboard could not be Signed." +#~ msgstr "ਕਲਿੱਪਬੋਰਡ ਉੱਤੇ ਸਾਇਨ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕੇ।" + +#~ msgid "Keys were found but not imported." +#~ msgstr "ਕੁੰਜੀਆਂ ਲੱਭੀਆਂ, ਪਰ ਇੰਪੋਰਟ ਨਹੀਂ ਕੀਤੀਆਂ ਗਈਆਂ।" + +#~ msgid "Decrypting Failed" +#~ msgstr "ਡਿ-ਕ੍ਰਿਪਸ਼ਨ ਫੇਲ੍ਹ ਹੋਈ" + +#~ msgid "Text may be malformed." +#~ msgstr "ਟੈਕਸਟ ਨਿਕਾਰਾ ਹੋ ਸਕਦਾ ਹੈ।" + +#~ msgid "No PGP key or message was found on clipboard" +#~ msgstr "ਕਲਿੱਪਬੋਰਡ ਵਿੱਚ ਕੋਈ PGP ਕੁੰਜੀ ਜਾਂ ਸੁਨੇਹਾ ਨਹੀਂ ਲੱਭਿਆ" + +#~ msgid "No PGP data found." +#~ msgstr "ਕੋਈ PGP ਡਾਟਾ ਨਹੀਂ ਲੱਭਾ ਹੈ।" + +#~ msgid "Decrypted Text" +#~ msgstr "ਡਿ-ਕ੍ਰਿਪਟਡ ਟੈਕਸਟ" + +#~ msgid "Could not display the help file" +#~ msgstr "ਮੱਦਦ ਫਾਇਲ ਵੇਖਾਈ ਨਹੀਂ ਜਾ ਸਕਦੀ ਹੈ" + +#~ msgid "_Encrypt Clipboard" +#~ msgstr "ਇੰਕ੍ਰਿਪਟ ਕਲਿੱਪਬੋਰਡ(_E)" + +#~ msgid "_Sign Clipboard" +#~ msgstr "ਕਲਿੱਪਬੋਰਡ ਦਸਤਖਤ(_S)" + +#~ msgid "_Decrypt/Verify Clipboard" +#~ msgstr "ਕਲਿੱਪਬੋਰਡ ਡਿਕ੍ਰਿਪਟ/ਜਾਂਚ(_D)" + +#~ msgid "_Import Keys from Clipboard" +#~ msgstr "ਕਲਿੱਪਬੋਰਡ ਤੋਂ ਕੁੰਜੀਆਂ ਇੰਪੋਰਟ(_I)" + +#~ msgid "Encryption Applet" +#~ msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਐਪਲਿਟ" + +#~ msgid "Display clipboard contents after:" +#~ msgstr "ਕਲਿੱਪਬੋਰਡ ਸਮੱਗਰੀ ਵੇਖਾਓ ਇਸ ਦੇ ਬਾਅਦ:" + +#~ msgid "Clipboard Encryption Preferences" +#~ msgstr "ਕਲਿੱਪਬੋਰਡ ਇੰਕ੍ਰਿਪਸ਼ਨ ਪਸੰਦ" + +#~ msgid "_Decrypting or verifying the clipboard" +#~ msgstr "ਕਲਿੱਪਬੋਰਡ ਡਿਕ੍ਰਿਪਟ ਕਰੋ ਜਾਂ ਜਾਂਚ ਕਰੋ(_D)" + +#~ msgid "_Encrypting or signing the clipboard" +#~ msgstr "ਕਲਿੱਪਬੋਰਡ ਇੰਕ੍ਰਿਪਟ ਜਾਂ ਸਾਇਨ ਕਰੋ(_E)" + +#~ msgid "_Show clipboard state in panel" +#~ msgstr "ਪੈਨਲ ਵਿੱਚ ਕਲਿੱਪਬੋਰਡ ਹਾਲਤ ਵੇਖਾਓ(_S)" + +#~ msgid "_Decrypt/Verify" +#~ msgstr "ਡਿਕ੍ਰਿਪਟ/ਜਾਂਚ(_D)" + +#~ msgid "_Import Key" +#~ msgstr "ਕੁੰਜੀ ਇੰਪੋਰਟ(_I)" + +#~ msgid "Couldn't connect to seahorse-daemon" +#~ msgstr "ਸੀ-ਹਾਰਸ-ਡੈਮਨ ਨਾਲ ਜੁੜਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" + +#~ msgid "Encrypted text" +#~ msgstr "ਇੰਕ੍ਰਿਪਟਡ ਟੈਕਸਟ" + +#~ msgid "Couldn't encrypt text" +#~ msgstr "ਟੈਕਸਟ ਇੰਕ੍ਰਿਪਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" + +#~ msgid "Keys found but not imported" +#~ msgstr "ਕੁੰਜੀ ਲੱਭੀ, ਪਰ ਇੰਪੋਰਟ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" + +#~ msgid "Couldn't decrypt text" +#~ msgstr "ਟੈਕਸਤ ਡਿਕ੍ਰਿਪਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" + +#~ msgid "Couldn't verify text" +#~ msgstr "ਟੈਕਸਟ ਦੀ ਜਾਂਚ ਨਹੀਂ ਹੋ ਸਕੀ" + +#~ msgid "No encrypted or signed text is selected." +#~ msgstr "ਕੋਈ ਇੰਕ੍ਰਿਪਟ ਜਾਂ ਸਾਇਨ ਕੀਤਾ ਟੈਕਸਟ ਨਹੀਂ ਚੁਣਿਆ।" + +#~ msgid "Verified text" +#~ msgstr "ਜਾਂਚਿਆ ਟੈਕਸਟ" + +#~ msgid "Imported %d key" +#~ msgid_plural "Imported %d keys" +#~ msgstr[0] "%d ਕੁੰਜੀ ਇੰਪੋਰਟ ਕੀਤੀ" +#~ msgstr[1] "%d ਕੁੰਜੀਆਂ ਇੰਪੋਰਟ ਕੀਤੀਆਂ" + +#~ msgid "Signed text" +#~ msgstr "ਸਾਇਨ ਕੀਤਾ ਟੈਕਸਟ" + +#~ msgid "Couldn't sign text" +#~ msgstr "ਟੈਕਸਟ ਸਾਇਨ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" + +#~ msgid "_Encrypt..." +#~ msgstr "ਇੰਕ੍ਰਿਪਟ(_E)..." + +#~ msgid "Encrypt the selected text" +#~ msgstr "ਚੁਣਿਆਂ ਟੈਕਸਟ ਇੰਕ੍ਰਿਪਟ ਕਰੋ" + +#~ msgid "Decr_ypt/Verify" +#~ msgstr "ਡਿਕ੍ਰਿਪਟ/ਜਾਂਚ(_y)" + +#~ msgid "Decrypt and/or Verify text" +#~ msgstr "ਟੈਕਸਟ ਡਿਕ੍ਰਿਪਟ ਅਤੇ/ਜਾਂ ਜਾਂਚ" + +#~ msgid "Sig_n..." +#~ msgstr "ਸਾਇਨ(_n)..." + +#~ msgid "Sign the selected text" +#~ msgstr "ਚੁਣੇ ਟੈਕਸਟ ਉੱਤੇ ਸਾਇਨ ਕਰੋ" + +#~ msgid "Enable the seahorse encryption plugin for gedit." +#~ msgstr "ਜੀ-ਸੰਪਾਦਕ ਲਈ ਸੀ-ਹਾਰਸ ਇੰਕ੍ਰਿਪਸ਼ਨ ਪਲੱਗਇਨ ਯੋਗ ਕਰੋ।" + +#~ msgid "Enable the seahorse gedit plugin" +#~ msgstr "ਸੀ-ਹਾਰਸ ਜੀ-ਸੰਪਾਦਕ ਪਲੱਗਇਨ ਯੋਗ" + +#~ msgid "Text Encryption" +#~ msgstr "ਟੈਕਸਟ ਇੰਕ੍ਰਿਪਸ਼ਨ" + +#~ msgid "This plugin performs encryption operations on text." +#~ msgstr "ਇਹ ਪਲੱਗਇਨ ਟੈਕਸਟ ਉੱਤੇ ਇੰਕ੍ਰਿਸ਼ਨ ਓਪਰੇਸ਼ਨ ਕਰਦੀ ਹੈ।" + +#~ msgid "Encrypt..." +#~ msgstr "ਇੰਕ੍ਰਿਪਟ..." + +#~ msgid "Encrypt (and optionally sign) the selected file" +#~ msgid_plural "Encrypt the selected files" +#~ msgstr[0] "ਚੁਣੀ ਫਾਇਲ ਇੰਕ੍ਰਿਪਟ ਕਰੋ" +#~ msgstr[1] "ਚੁਣੀਆਂ ਫਾਇਲਾਂ ਇੰਕ੍ਰਿਪਟ ਕਰੋ" + +#~ msgid "Sign the selected file" +#~ msgid_plural "Sign the selected files" +#~ msgstr[0] "ਚੁਣੀ ਫਾਇਲ ਉੱਤੇ ਸਾਇਨ ਕਰੋ" +#~ msgstr[1] "ਚੁਣੀਆਂ ਫਾਇਲਾਂ ਉੱਤੇ ਸਾਇਨ ਕਰੋ" + +#~ msgid "For internal use" +#~ msgstr "ਅੰਦਰੂਨੀ ਵਰਤੋਂ ਲਈ ਹੈ" + +#~ msgid "Encryption Preferences" +#~ msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਪਸੰਦ" + +#~ msgid "Configure key servers and other encryption settings" +#~ msgstr "ਕੁੰਜੀ ਸਰਵਰ ਸੰਰਚਨਾ ਅਤੇ ਹੋਰ ਇੰਕ੍ਰਿਪਸ਼ਨ ਸੈਟਿੰਗ" + +#~ msgid "Encryption and Keyrings" +#~ msgstr "ਇੰਕ੍ਰਿਪਸ਼ਨ ਅਤੇ ਕੀਰਿੰਗ" + +#~ msgid "Encrypt file" +#~ msgstr "ਇੰਕ੍ਰਿਪਟ ਫਾਇਲ" + +#~ msgid "Sign file with default key" +#~ msgstr "ਫਾਇਲ ਡਿਫਾਲਟ ਕੁੰਜੀ ਨਾਲ ਸਾਇਨ ਕਰੋ" + +#~ msgid "Encrypt and sign file with default key" +#~ msgstr "ਡਿਫਾਲਟ ਕੁੰਜੀ ਨਾਲ ਇੰਕ੍ਰਿਪਟ ਅਤੇ ਫਾਇਲ ਦਸਤਖਤ ਕਰੋ" + +#~ msgid "Decrypt encrypted file" +#~ msgstr "ਇੰਕ੍ਰਿਪਟਿਡ ਫਾਇਲ ਡਿਕ੍ਰਿਪਟ ਕਰੋ" + +#~ msgid "Verify signature file" +#~ msgstr "ਦਸਤਖਤ ਫਾਇਲ ਜਾਂਚ" + +#~ msgid "Read list of URIs on standard in" +#~ msgstr "ਸਟੈਂਡਰਡ ਉੱਤੇ URI ਦੀ ਲਿਸਟ ਪੜ੍ਹੋ" + +#~ msgid "file..." +#~ msgstr "ਫਾਇਲ..." + +#~ msgid "Choose Recipients" +#~ msgstr "ਪ੍ਰਾਪਤ-ਕਰਤਾ ਚੁਣੋ" + +#~ msgid "Choose Encrypted File Name for '%s'" +#~ msgstr "'%s' ਲਈ ਇੰਕ੍ਰਿਪਟਡ ਫਾਇਲ ਨਾਂ ਚੁਣੋ" + +#~ msgid "Choose Signer" +#~ msgstr "ਸਾਇਨਰ ਚੁਣੋ" + +#~ msgid "Choose Signature File Name for '%s'" +#~ msgstr "'%s' ਲਈ ਦਸਤਖਤ ਫਾਇਲ ਨਾਂ ਚੁਣੋ" + +#~ msgid "Import is complete" +#~ msgstr "ਇੰਪੋਰਟ ਪੂਰਾ ਹੋਇਆ" + +#~ msgid "Importing keys ..." +#~ msgstr "ਕੁੰਜੀਆਂ ਇੰਪੋਰਟ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ..." + +#~ msgid "Choose Decrypted File Name for '%s'" +#~ msgstr "'%s' ਲਈ ਡਿਕ੍ਰਿਪਟਡ ਫਾਇਲ ਨਾਂ ਚੁਣੋ" + +#~ msgid "Choose Original File for '%s'" +#~ msgstr "'%s' ਲਈ ਅਸਲੀ ਫਾਇਲ ਚੁਣੋ" + +#~ msgid "No valid signatures found" +#~ msgstr "ਕੋਈ ਵੈਧ ਦਸਤਖਤ ਨਹੀਂ ਲੱਭੇ" + +#~ msgid "File Encryption Tool" +#~ msgstr "ਫਾਇਲ ਇੰਕ੍ਰਿਪਸ਼ਨ ਟੂਲ" + +#~ msgid "Encrypting" +#~ msgstr "ਇਕ੍ਰਿਪਟ ਕੀਤੀ ਜਾਂਦੀ ਹੈ" + +#~ msgid "Couldn't encrypt file: %s" +#~ msgstr "ਫਾਇਲ ਇੰਕ੍ਰਿਪਟ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ: %s" + +#~ msgid "Signing" +#~ msgstr "ਸਾਇਨਿੰਗ" + +#~ msgid "Couldn't sign file: %s" +#~ msgstr "ਫਾਇਲ ਸਾਇਨ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ: %s" + +#~ msgid "Couldn't import keys from file: %s" +#~ msgstr "ਫਾਇਲ ਤੋਂ ਕੁੰਜੀਆਂ ਇੰਪੋਰਟ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾ ਸਕੀਆਂ: %s" + +#~ msgid "Decrypting" +#~ msgstr "ਡਿਕ੍ਰਿਪਸ਼ਨ" + +#~ msgid "Couldn't decrypt file: %s" +#~ msgstr "ਫਾਇਲ ਡਿਕ੍ਰਿਪਟ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ: %s" + +#~ msgid "Verifying" +#~ msgstr "ਜਾਂਚ ਜਾਰੀ ਹੈ" + +#~ msgid "Couldn't verify file: %s" +#~ msgstr "ਫਾਇਲ ਜਾਂਚ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ: %s" + +#~ msgid "Ace (.ace)" +#~ msgstr "Ace (.ace)" + +#~ msgid "Ar (.ar)" +#~ msgstr "Ar (.ar)" + +#~ msgid "Arj (.arj)" +#~ msgstr "Arj (.arj)" + +#~ msgid "Ear (.ear)" +#~ msgstr "Ear (.ear)" + +#~ msgid "Self-extracting zip (.exe)" +#~ msgstr "ਖੁਦ-ਖੋਲ੍ਹਣ ਜ਼ਿਪ (.exe)" + +#~ msgid "Jar (.jar)" +#~ msgstr "ਜ਼ਾਰ (.jar)" + +#~ msgid "Lha (.lzh)" +#~ msgstr "Lha (.lzh)" + +#~ msgid "Rar (.rar)" +#~ msgstr "Rar (.rar)" + +#~ msgid "Tar uncompressed (.tar)" +#~ msgstr "ਟਾਰ ਅਣ-ਕੰਪਰੈੱਸਡ (.tar)" + +#~ msgid "Tar compressed with bzip (.tar.bz)" +#~ msgstr "ਟਾਰ bzip ਨਾਲ ਕੰਪਰੈੱਸਡ (.tar.bz)" + +#~ msgid "Tar compressed with bzip2 (.tar.bz2)" +#~ msgstr "ਟਾਰ bzip2 ਨਾਲ ਕੰਪਰੈੱਸਡ (.tar.bz2)" + +#~ msgid "Tar compressed with gzip (.tar.gz)" +#~ msgstr "ਟਾਰ gzip ਨਾਲ ਕੰਪਰੈੱਸਡ (.tar.gz)" + +#~ msgid "Tar compressed with lzop (.tar.lzo)" +#~ msgstr "lzop ਨਾਲ ਕੰਪਰੈੱਸਡ ਟਾਰ (.tar.lzo)" + +#~ msgid "Tar compressed with compress (.tar.Z)" +#~ msgstr "ਕੰਪਰੈੱਸ ਨਾਲ ਕੰਪਰੈੱਸਡ ਟਾਰ (.tar.Z)" + +#~ msgid "War (.war)" +#~ msgstr "ਵਾਰ (.war)" + +#~ msgid "Zip (.zip)" +#~ msgstr "ਜ਼ਿਪ (.zip)" + +#~ msgid "Zoo (.zoo)" +#~ msgstr "ਜ਼ੂ (.zoo)" + +#~ msgid "7-Zip (.7z)" +#~ msgstr "7-Zip (.7z)" + +#~ msgid "You have selected %d file " +#~ msgid_plural "You have selected %d files " +#~ msgstr[0] "ਤੁਸੀਂ %d ਫਾਇਲ ਚੁਣੀ" +#~ msgstr[1] "ਤੁਸੀਂ %d ਫਾਇਲਾਂ ਚੁਣੀਆਂ" + +#~ msgid "and %d folder" +#~ msgid_plural "and %d folders" +#~ msgstr[0] "ਅਤੇ %d ਫੋਲਡਰ" +#~ msgstr[1] "ਅਤੇ %d ਫੋਲਡਰ" + +#~ msgid "%s%s" +#~ msgstr "%s%s" + +#~ msgid "You have selected %d files" +#~ msgstr "ਤੁਸੀਂ %d ਫਾਇਲਾਂ ਚੁਣੀਆਂ ਹਨ" + +#~ msgid "You have selected %d folder" +#~ msgid_plural "You have selected %d folders" +#~ msgstr[0] "ਤੁਸੀਂ %d ਫੋਲਡਰ ਚੁਣਿਆ" +#~ msgstr[1] "ਤੁਸੀਂ %d ਫੋਲਡਰ ਚੁਣੇ" + +#~ msgid "Couldn't list files" +#~ msgstr "ਫਾਇਲਾਂ ਲਿਸਟ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾ ਸਕੀਆਂ" + +#~ msgid "Couldn't read file" +#~ msgstr "ਫਾਇਲ ਪੜ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕਦੀ" + +#~ msgid "Back up Key Rings to Archive" +#~ msgstr "ਕੁੰਜੀ ਰਿੰਗ ਨੂੰ ਅਕਾਇਵ ਵਿੱਚ ਬੈਕਅੱਪ ਕਰੋ" + +#~ msgid "seahorse" +#~ msgstr "ਸੀ-ਹਾਰਸ" + +#~ msgid "_Back up Key Rings..." +#~ msgstr "ਕੁੰਜੀ ਰਿੰਗ ਬੈਕਅੱਪ(_B)..." + +#~ msgid "Back up all keys" +#~ msgstr "ਸਭ ਕੁੰਜੀਆਂ ਦਾ ਬੈਕਅੱਪ ਬਣਾਓ" + +#~ msgid "Set Up Computer for _Secure Shell..." +#~ msgstr "ਸੁਰੱਖਿਅਤ ਸ਼ੈੱਲ ਲਈ ਕੰਪਿਊਟਰ ਸੈੱਟਅੱਪ ਕਰੋ(_S)..." + +#~ msgid "User ID" +#~ msgstr "ਯੂਜ਼ਰ ID" + +#~ msgid "Couldn't retrieve key data" +#~ msgstr "ਕੁੰਜੀ ਡਾਟਾ ਲਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ ਹੈ" + +#~ msgid "Couldn't write key to file" +#~ msgstr "ਕੁੰਜੀ ਫਾਇਲ 'ਚ ਲਿਖੀ ਨਹੀਂ ਜਾ ਸਕੀ" + +#~ msgid "Couldn't import keys into key ring" +#~ msgstr "ਕੁੰਜੀ ਰਿੰਗ ਵਿੱਚ ਕੁੰਜੀ ਇੰਪੋਰਟ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" + +#~ msgid "Couldn't write keys to file: %s" +#~ msgstr "ਕੁੰਜੀਆਂ ਫਾਇਲ ਵਿੱਚ ਲਿਖੀਆਂ ਨਹੀਂ ਜਾ ਸਕੀਆਂ: %s" + +#~ msgid "Save Remote Keys" +#~ msgstr "ਰਿਮੋਟ ਕੁੰਜੀਆਂ ਸੰਭਾਲੋ" + +#~ msgid "No matching keys found" +#~ msgstr "ਕੋਈ ਮਿਲਦੀ ਕੁੰਜੀ ਨਹੀਂ ਲੱਭੀ" + +#~ msgid "Save Key As..." +#~ msgstr "ਕੁੰਜੀ ਇੰਝ ਸੰਭਾਲੋ..." + +#~ msgid "Save selected keys as a file" +#~ msgstr "ਚੁਣੀਆਂ ਕੁੰਜੀਆਂ ਇੱਕ ਫਾਇਲ 'ਚ ਲਿਖੀਆਂ ਗਈਆਂ" + +#~ msgid "_Copy Key" +#~ msgstr "ਕੁੰਜੀ ਕਾਪੀ ਕਰੋ(_C)" + +#~ msgid "Remote Encryption Keys" +#~ msgstr "ਰਿਮੋਟ ਇੰਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀਆਂ" + +#~ msgid "You have selected multiple files or folders" +#~ msgstr "ਤੁਸੀਂ ਕਈ ਫਾਇਲਾਂ ਜਾਂ ਫੋਲਡਰ ਚੁਣੇ ਹਨ" + +#~ msgid "" +#~ "Because the files are located remotely, each file will be encrypted " +#~ "separately." +#~ msgstr "" +#~ "ਕਿਉਂਕਿ ਫਾਇਲ ਰਿਮੋਟ ਟਿਕਾਣੇ ਉੱਤੇ ਹਨ, ਇਸਕਰਕੇ ਹਰੇਕ ਫਾਇਲ ਨੂੰ ਵੱਖ ਵੱਖ ਇੰਕ੍ਰਿਪਟ ਕੀਤਾ ਜਾਵੇਗਾ।" + +#~ msgid "Encrypt Multiple Files" +#~ msgstr "ਬਹੁਤੀਆਂ ਫਾਇਲਾਂ ਇੰਕ੍ਰਿਪਟ" + +#~ msgid "Encrypt each file separately" +#~ msgstr "ਹਰੇਕ ਫਾਇਲ ਵੱਖ ਵੱਖ ਇੰਕ੍ਰਿਪਟ" + +#~ msgid "Encrypt packed together in a package" +#~ msgstr "ਇੱਕ ਪੈਕੇਜ ਵਿੱਚ ਇੱਕਠੇ ਪੈਕ ਨੂੰ ਇੰਕ੍ਰਿਪਟ" + +#~ msgid "Package Name:" +#~ msgstr "ਪੈਕੇਜ ਨਾਂ:" + +#~ msgid "Packaging:" +#~ msgstr "ਪੈਕੇਜ:" + +#~ msgid "encrypted-package" +#~ msgstr "encrypted-package" + +#~ msgid "Decrypt File" +#~ msgstr "ਡਿਕ੍ਰਿਪਟ ਫਾਇਲ" + +#~ msgid "I have checked that this key belongs to '%s'" +#~ msgstr "ਮੈਂ ਜਾਂਚ ਕੀਤੀ ਹੈ ਕਿ ਇਹ ਕੁੰਜੀ '%s' ਨਾਲ ਸਬੰਧਿਤ ਹੈ" + +#~ msgid "Verify Signature" +#~ msgstr "ਦਸਤਖਤ ਜਾਂਚ" + +#~ msgid "couldn't read gpg configuration, will try to create" +#~ msgstr "gpg ਸੰਰਚਨਾ ਪੜ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕਦੀ, ਬਣਾਉਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਵੇਗੀ" + +#~ msgid "couldn't modify gpg configuration: %s" +#~ msgstr "gpg ਸੰਰਚਨਾ ਸੋਧੀ ਨਹੀਂ ਜਾ ਸਕੀ: %s" + +#~ msgid "" +#~ "Display variables instead of editing conf files (gpg.conf, SSH agent " +#~ "socket)" +#~ msgstr "ਸੰਰਚਨਾ ਫਾਇਲਾਂ ਸੋਧਣ ਦੀ ਬਜਾਏ ਵੇਰੀਬਲ ਵੇਖਾਓ ((gpg.conf, SSH ਏਜੰਟ ਸਾਕਟ)" + +#~ msgid "couldn't drop privileges properly" +#~ msgstr "ਅਧਿਕਾਰ ਠੀਕ ਤਰ੍ਹਾਂ ਹਟਾਏ ਨਹੀਂ ਜਾ ਸਕੇ" + +#~ msgid "" +#~ "When set seahorse-agent will try to automatically load the users SSH keys " +#~ "when needed. This is equivalent to using the ssh-add utility." +#~ msgstr "" +#~ "ਜਦੋਂ ਚੋਣ ਕੀਤੀ ਤਾਂ seahorse-agent ਯੂਜ਼ਰ SSH ਕੁੰਜੀਆਂ ਨੂੰ ਲੋੜ ਸਮੇਂ ਆਟੋਮੈਟਿਕ ਹੀ ਲੋਡ ਕਰਨ ਦੀ " +#~ "ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ। ਇਹ ssh-add ਸਹੂਲਤ ਵਰਤਣ ਵਾਂਗ ਹੀ ਹੈ।" + +#~ msgid "Whether to automatically load SSH keys on demand." +#~ msgstr "ਕੀ ਲੋੜ ਪੈਣ ਉੱਤੇ SSH ਕੁੰਜੀਆਂ ਆਟੋਮੈਟਿਕ ਹੀ ਲੋਡ ਕਰਨੀਆਂ ਹਨ।" + +#~ msgid "Couldn't open the Session Properties" +#~ msgstr "ਸ਼ੈਸ਼ਨ ਵਿਸ਼ੇਸ਼ਤਾ ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ" + +#~ msgid "Couldn't start the 'seahorse-agent' program" +#~ msgstr "'seahorse-agent' ਪ੍ਰੋਗਰਾਮ ਸ਼ੁਰੂ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" + +#~ msgid "The 'seahorse-agent' program exited unsuccessfully." +#~ msgstr "ਪ੍ਰੋਗਰਾਮ 'seahorse-agent' ਅਚਾਨਕ ਖਤਮ ਹੋ ਗਿਆ ਹੈ।" + +#~ msgid "" +#~ "Note: The 'seahorse-agent' program has been started. This program " +#~ "is necessary in order to cache passphrases. " +#~ msgstr "" +#~ "ਨੋਟ: 'seahorse-agent' ਪਰਗੋਰਾਮ ਸ਼ੁਰੂ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹ ਪਰੋਗਰਾਮ ਪ੍ਹੈਰਾ ਕੈਚੇ ਕਰਨ " +#~ "ਲਈ ਲਾਜ਼ਮੀ ਹੈ। " + +#~ msgid "Secure Shell Keys" +#~ msgstr "ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀਆਂ" + +#~ msgid "" +#~ "Warning: The 'seahorse-agent' program is not running. This program " +#~ "is necessary in order to cache passphrases. " +#~ msgstr "" +#~ "ਚੇਤਾਵਨੀ: 'seahorse-agent' ਚੱਲ ਨਹੀਂ ਰਿਹਾ ਹੈ। ਇਹ ਪਰੋਗਰਾਮ ਪ੍ਹੈਰਾ ਕੈਚੇ ਕਰਨ ਲਈ " +#~ "ਲੋੜੀਦਾ ਹੈ। " + +#~ msgid "" +#~ "No SSH caching agent is running. Cannot load Secure Shell keys." +#~ msgstr "" +#~ "ਕੋਈ SSH ਕੈਚੇ ਏਜੰਟ ਚੱਲ ਨਹੀਂ ਰਿਹਾ ਹੈ। ਸਕਿਊਰ ਸ਼ੈਲ਼ ਕੁੰਜੀਆਂ ਲੋਡ ਨਹੀਂ ਕੀਤੀਆਂ ਜਾ ਸਕਦੀਆਂ।" + +#~ msgid "Automatically load _Secure Shell keys" +#~ msgstr "ਆਟੋਮੈਟਿਕ ਹੀ ਸੁਰੱਖਿਅਤ ਸ਼ੈਲ ਕੁੰਜੀਆਂ ਲੋਡ ਕਰੋ(_S)" + +#~ msgid "" +#~ "Changing the master password failed. Make certain that you entered the " +#~ "correct original master password." +#~ msgstr "" +#~ "ਮਾਸਟਰ ਪਾਸਵਰਡ ਬਦਲਣ ਲਈ ਫੇਲ੍ਹ ਹੈ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਸੀਂ ਠੀਕ ਅਸਲੀ ਮਾਸਟਰ ਪਾਸਵਰਡ ਹੀ " +#~ "ਦਿੱਤਾ ਹੈ।" + +#~ msgid "Confirm Master Password:" +#~ msgstr "ਮਾਸਟਰ ਪਾਸਵਰਡ ਪੁਸ਼ਟੀ:" + +#~ msgid "" +#~ "GNOME Keyring stores passwords, network keys, passphrases and other " +#~ "secrets required for authentication. A master password is used to " +#~ "protect these secrets. The master password can be changed below." +#~ msgstr "" +#~ "ਗਨੋਮ ਕੀਰਿੰਗ ਪਾਸਵਰਡ, ਨੈੱਟਵਰਕ ਕੁੰਜੀਆਂ, ਪ੍ਹੈਰਾ ਅਤੇ ਹੋਰ ਪਰਮਾਣਕਿਤਾ ਲਈ ਲੋੜੀਦੀ ਗੁਪਤ ਜਾਣਕਾਰੀ " +#~ "ਸੰਭਾਲ ਕੇ ਰੱਖਦੀ ਹੈ। ਇਹ ਸਭ ਗੁਪਤ ਜਾਣਕਾਰੀ ਸੰਭਾਲਣ ਲਈ ਇੱਕ ਮਾਸਟਰ ਪਾਸਵਰਡ ਇਸਤੇਮਾਲ " +#~ "ਹੁੰਦਾ ਹੈ। ਮਾਸਟਰ ਪਾਸਵਰਡ ਹੇਠ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ।" + +#~ msgid "New Master Password:" +#~ msgstr "ਨਵਾਂ ਮਾਸਟਰ ਪਾਸਵਰਡ:" + +#~ msgid "Original Master Password:" +#~ msgstr "ਅਸਲੀ ਮਾਸਟਰ ਪਾਸਵਰਡ:" + +#~ msgid "Passphrase Cache" +#~ msgstr "ਪ੍ਹੈਰਾ ਕੈਚੇ" + +#~ msgid "Session Properties" +#~ msgstr "ਸ਼ੈਸ਼ਨ ਵਿਸ਼ੇਸ਼ਤਾ" + +#~ msgid "The master password was successfully changed." +#~ msgstr "ਮਾਸਟਰ ਪਾਸਵਰਡ ਠੀਕ ਤਰ੍ਹਾਂ ਬਦਲਿਆ ਗਿਆ ਹੈ।" + +#~ msgid "" +#~ "To avoid manually starting the 'seahorse-agent' in the future\n" +#~ "add it to the Session Manager. " +#~ msgstr "" +#~ "ਅੱਗੇ ਤੋਂ 'seahorse-agent' ਨੂੰ ਖੁਦ ਸ਼ੁਰੂ ਕਰਨ ਲਈ\n" +#~ "ਇਸ ਨੂੰ ਸ਼ੈਸ਼ਨ ਮੈਨੇਜਰ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ। " + +#~ msgid "Progress Message" +#~ msgstr "ਤਰੱਕੀ ਸੁਨੇਹਾ" + +#~ msgid "Progress Status" +#~ msgstr "ਤਰੱਕੀ ਹਾਲਤ" + +#~ msgid "Login:" +#~ msgstr "ਲਾਗਇਨ:" + +#~ msgid "Server:" +#~ msgstr "ਸਰਵਰ:" + +#~ msgid "[details]\n" +#~ msgstr "[ਵੇਰਵਾ]\n" + +#~ msgid "[login]" +#~ msgstr "[ਲਾਗਇਨ]" + +#~ msgid "[server]" +#~ msgstr "[ਸਰਵਰ]" diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 00000000..0bd67f28 --- /dev/null +++ b/po/pl.po @@ -0,0 +1,2825 @@ +# Polish translation for seahorse. +# Copyright © 2003-2020 the seahorse authors. +# This file is distributed under the same license as the seahorse package. +# Artur Flinta , 2003-2006. +# Andrzej Polatyński , 2007. +# Tomasz Dominikowski , 2007-2009. +# Piotr Zaryk , 2009. +# Piotr Drąg , 2010-2020. +# Paweł Żołnowski , 2014. +# Aviary.pl , 2007-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-08-22 20:08+0200\n" +"Last-Translator: Piotr Drąg \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Dodanie serwera kluczy" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Niestandardowy" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Anuluj" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Zapisz" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Nie można usunąć" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Nie można wyeksportować kluczy" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Nie można wyeksportować danych" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Anuluj" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Usuń" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Wyeksportuj" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Kod PIN lub hasło dla: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Potwierdzenie:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_OK" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Hasło:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Hasła" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Klucze" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certyfikaty" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Preferencje" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Brak: bez publikowania kluczy" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Nieprawidłowy adres serwera kluczy." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Aby uzyskać pomoc, należy skontaktować się z administratorem systemu lub " +"administratorem serwera kluczy." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "Adres URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "początkowy element tymczasowy" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Typ serwera kluczy:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Adres:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Nazwa lub adres serwera." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Numer portu serwera." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Wyszukiwanie kluczy przez:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Publikowanie kluczy na:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Automatyczne pobieranie kluczy z serwerów _kluczy" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Automatyczna synchronizacja z_modyfikowanych kluczy z serwerami kluczy" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Serwery kluczy" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Nieznane" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Nigdy" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Niewielkie" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Pełne" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Bezwzględne" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Wyłączony" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Unieważniony" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Przegląd" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Pomoc" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Otwarcie menu" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Utworzenie nowego elementu" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Zaimportowanie elementu z pliku" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Wyszukiwanie" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Lista skrótów" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Zakończenie działania" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Nawigacja" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Wybór poprzedniej bazy kluczy" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Wybór następnej bazy kluczy" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Wyświetlenie panelu bocznego (na małych ekranach)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Wyświetlenie zawartości bazy kluczy (na małych ekranach)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Automatyczne pobieranie kluczy" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Czy automatycznie pobierać klucze z serwerów kluczy." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Automatyczne publikowanie kluczy" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Czy modyfikowane klucze mają być automatycznie publikowane." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Publikowanie kluczy na tym serwerze kluczy" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Serwer kluczy, na którym publikować klucze PGP. Puste wyłącza publikowanie " +"kluczy PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Ostatni wzór wyszukiwania na serwerze kluczy" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Ostatnio używany wzór wyszukiwania na serwerze kluczy." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Ostatnio używane serwery kluczy" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Ostatni serwer kluczy, na którym wyszukiwano lub puste dla wszystkich " +"serwerów kluczy." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Wyświetlanie panelu bocznego baz kluczy" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Wyświetlanie panelu bocznego baz kluczy." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Które elementy wyświetlać" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtrowanie, które elementy wyświetlać. Jeśli puste, to wyświetlane są " +"wszystkie, „personal” wyświetla osobiste klucze, „trusted” wyświetla zaufane." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Szerokość panelu bocznego" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Domyślna szerokość panelu bocznego." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Wybrane bazy kluczy" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Adresy URI baz kluczy wybranych na panelu bocznym." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Kolumna, według której porządkować klucze" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Określa kolumnę, według której porządkować główne okno menedżera kluczy. " +"Kolumny to: „name” (nazwa), „id” (identyfikator), „validity” (ważność), " +"„expires” (wygasa), „trust” (zaufanie) i „type” (typ). Umieszczenie „-” na " +"początku nazwy kolumny powoduje porządkowanie w odwrotnej kolejności." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Wyświetlanie kolumny ważności" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Nie jest już używane." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Wyświetlanie kolumny wygasania" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Wyświetlanie kolumny zaufania" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Wyświetlanie kolumny typu" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Szerokość okna" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Szerokość okna w pikselach." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Wysokość okna" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Wysokość okna w pikselach." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Zarządzanie hasłami i kluczami szyfrującymi" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "" +"Seahorse to program dla środowiska GNOME do zarządzania kluczami " +"szyfrującymi." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Program Seahorse umożliwia tworzenie i zarządzanie kluczami PGP i kluczami " +"SSH, publikowanie i pobieranie kluczy z serwerów, zapamiętywanie haseł oraz " +"tworzenie kopii zapasowych kluczy i baz kluczy." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Projekt GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Hasła i klucze" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" +"baza kluczy;hasło;hasła;szyfrowanie;zaszyfruj;bezpieczeństwo;zabezpieczenia;" +"podpisywanie;podpis;podpisz;ssh;gpg;pgp;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Przechowywane osobiste hasła i inne dane uwierzytelniające" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Nie można odblokować" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Nie można dodać elementu" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Hasło" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Hasło połączenia sieciowego" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Hasło sieci Wi-Fi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Hasło sieciowe" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Hasło przeglądarki WWW dla GNOME" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Hasło programu Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Hasło komunikatora" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Hasło konta komunikatora dla " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Hasło Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Hasło kont online GNOME" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Zapisać zmiany w tym elemencie?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Otwiera dostęp do udziału sieciowego lub zasobu" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Otwiera dostęp do strony WWW" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Odblokowuje klucz PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Odblokowuje klucz SSH" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Zapisane hasło lub login" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Sieciowe dane uwierzytelniające" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Hasło" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Nie można zmienić hasła." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Nie można ustawić opisu." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Błąd podczas usuwania hasła." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Przechowywana notatka" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Hasło bazy kluczy" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Hasło klucza szyfrowania" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Hasło przechowalni kluczy" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Hasło menedżera sieci" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Na pewno usunąć hasło „%s”?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Na pewno usunąć %d hasło?" +msgstr[1] "Na pewno usunąć %d hasła?" +msgstr[2] "Na pewno usunąć %d haseł?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Nie można dodać bazy kluczy" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Nieznana data" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Baza kluczy automatycznie odblokowywana podczas logowania" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Baza kluczy używana do przechowywania haseł" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Nie można ustawić domyślnej bazy kluczy" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Nie można zmienić hasła bazy kluczy" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Ustaw jako domyślne" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Zmień _hasło" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Na pewno usunąć bazę haseł „%s”?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Rozumiem, że wszystkie elementy zostaną trwale usunięte." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Wyświetla/ukrywa hasło" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Dodanie hasła" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "Baza _kluczy:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Opis:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Hasło:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Dodaj" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Dodanie bazy haseł" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Proszę wybrać nazwę dla nowej bazy kluczy. Użytkownik będzie proszony " +"o hasło odblokowujące." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Nazwa nowej bazy kluczy:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Właściwości elementu" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Opis" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Skopiuj" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Zastosowanie" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Typ" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Serwer" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Login" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Szczegóły" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Usuń hasło" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Właściwości bazy kluczy" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Nazwa" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Utworzono" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Zmień hasło" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Ustaw jako domyślne" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Wyświetlanie flag" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Właściwości wyświetlanej daty lub czasu" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Tryb leniwy" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Tryb leniwy nie normalizuje wprowadzonych wartości dat i czasu" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Rok" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Wyświetlany rok" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Miesiąc" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Wyświetlany miesiąc" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dzień" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Wyświetlany dzień miesiąca" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Godzina" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Wyświetlana godzina" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minuta" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Wyświetlana minuta" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekunda" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Wyświetlana sekunda" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Dolny limit roczny" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Część roczna o dolnym limicie daty" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Górny limit roczny" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Część roczna o górnym limicie daty" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Dolny limit miesięczny" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Część miesięczna o dolnym limicie daty" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Górny limit miesięczny" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Część miesięczna o górnym limicie daty" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Dolny limit dzienny" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Część dzienna miesiąca o dolnym limicie daty" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Górny limit dzienny" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Część dzienna miesiąca o górnym limicie daty" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Dolny limit godzinny" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Część godzinna o dolnym limicie czasu" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Górny limit godzinny" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Część godzinna górnego limitu czasu" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Dolny limit minutowy" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Część minutowa dolnego limitu czasu" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Górny limit minutowy" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Cześć minutowa górnego limitu czasu" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Dolny limit sekundowy" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Część sekundowa dolnego limitu czasu" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Górny limit sekundowy" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Część sekundowa górnego limitu czasu" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Data" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Proszę wprowadzić datę bezpośrednio" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Wybór daty" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Wybór daty z kalendarza" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Czas" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Proszę wprowadzić czas bezpośrednio" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Wybór czasu" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Wybór czasu z listy" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d∶%02d∶%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d∶%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d∶%02d∶%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d∶%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u∶%u∶%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Nie można wyświetlić pomocy: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Dodaje podklucz do %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (tylko podpisywanie)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (tylko szyfrowanie)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (tylko podpisywanie)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (tylko szyfrowanie)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "_Typ klucza" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Długość k_lucza" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Długość klucza" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Data wygaśnięcia" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Nigdy nie _wygasa" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Jeśli klucz nigdy nie wygasa" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Tworzy nowy podklucz" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Dodaje identyfikator użytkownika do %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Nie można dodać identyfikatora użytkownika" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Dodanie identyfikatora użytkownika" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Imię i _nazwisko" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Musi mieć co najmniej 5 znaków" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "Adres _e-mail" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Opcjonalny adres e-mail" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Ko_mentarz do klucza" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Opcjonalny komentarz opisujący klucz" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Tworzy nowy identyfikator użytkownika" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"Deszyfrowanie się nie powiodło. Prawdopodobnie brak klucza deszyfrującego." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Anulowano działanie" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Nieprawidłowa data wygaśnięcia" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Data wygaśnięcia musi być datą przyszłą" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Nie można zmienić daty wygaśnięcia" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Data wygaśnięcia: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Nigdy nie wygasa" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "Z_mień" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Wiele kluczy" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Dane klucza" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Opakowane klucze PGP" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Klucze PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Nie można utworzyć klucza PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Hasło dla nowego klucza PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Należy dwukrotnie wpisać hasło dla nowego klucza." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Podczas tworzenia klucza wymagane jest wygenerowanie\n" +"wiele losowych danych i potrzebna jest do tego pomoc\n" +"użytkownika. Proszę wykonywać różne działania, takie\n" +"jak pisanie na klawiaturze, poruszanie kursorem myszy,\n" +"używanie programów. Dostarcza to komputerowi losowe\n" +"dane, których potrzebuje." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Tworzenie klucza" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Nazwa musi mieć co najmniej 5 znaków." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Nowy klucz PGP" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "Klucz PGP umożliwia szyfrowanie poczty i plików." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Zaawansowane opcje klucza" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Komentarz" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Typ _szyfrowania" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Długość klucza (w bitach)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Data _wygaśnięcia" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "_Nie wygasa" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "_Utwórz" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Tworzy nowy klucz" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Na pewno trwale usunąć %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Na pewno trwale usunąć %d klucz?" +msgstr[1] "Na pewno trwale usunąć %d klucze?" +msgstr[2] "Na pewno trwale usunąć %d kluczy?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Błędne hasło" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Po raz trzeci wprowadzono błędne hasło. Proszę spróbować ponownie." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Błędne hasło." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Nowe hasło dla „%s”" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Hasło dla „%s”" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Nowe hasło" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Hasło" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Hasło" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Wczytano %d klucz" +msgstr[1] "Wczytano %d klucze" +msgstr[2] "Wczytano %d kluczy" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Nieprawidłowe dane klucza (brakujące UID). Przyczyną tego może być " +"nieprawidłowo ustawiona data w systemie lub brak podpisu własnego." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Klucze GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: domyślny katalog bazy kluczy" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Zdjęcie jest za duże\n" +"Zalecany rozmiar zdjęcia dla klucza to %d×%d pikseli." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Nie zmieniaj rozmiaru" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Zmień rozmiar" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Plik nie jest obrazem, albo nierozpoznany format obrazu. Proszę spróbować " +"obraz JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Wszystkie pliki obrazów" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Wszystkie pliki JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Wszystkie pliki" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Wybór zdjęcia dla klucza" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Otwórz" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Nie można przygotować zdjęcia" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Nie można dodać zdjęcia" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" +"Plik nie może zostać wczytany. Prawdopodobnie jest on zapisany " +"w nieprawidłowym formacie" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Na pewno usunąć bieżące zdjęcie z klucza?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Nie można usunąć zdjęcia" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Nie można unieważnić podklucza" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Unieważnienie: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Brak powodu" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Brak powodu do unieważnienia klucza" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Naruszenie ochrony danych" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Doszło do naruszenia ochrony danych" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Zastąpiony" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Klucz został zastąpiony" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Nie używany" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Klucz nie jest już używany" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Dodanie %s unieważnieni %s. Działanie te nie będzie mogło zostać cofnięte. " +"Na pewno kontynuować?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Nie można dodać unieważnienia" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Rozumiem, że ten tajny klucz zostanie trwale usunięty." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Ten klucz został już podpisany przez\n" +"„%s”" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Nie można podpisać klucza" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Brak kluczy zdolnych do podpisywania" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Brak osobistych kluczy PGP, które mogłyby być użyte do wskazania twojego " +"zaufania do tego klucza." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Podpisywanie klucza" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Podpisanie wyraża przekonanie, że ten klucz należy do:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Nazwa klucza" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Jak dokładnie był sprawdzany ten klucz?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Wcale" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "Pobi_eżnie" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Bardzo dokładnie" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Wcale: oznacza, że istnieje przekonanie, że właścicielem klucza jest " +"osoba, która się za niego podaje, ale nie było sprawdzane lub nie było " +"możliwe sprawdzenie, czy tak jest faktycznie." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Pobieżnie: oznacza, że wykonano pobieżne sprawdzenie, czy " +"właścicielem klucza jest osoba, która się za niego podaje. Przykładowo, " +"takiego sprawdzenia można dokonać telefonicznie, odczytując odcisk palca " +"klucza właścicielowi." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Bardzo dokładnie: Wybierane tylko wtedy, gdy istnieje absolutna " +"pewność, że klucz ten jest autentyczny." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"W tym przypadku, w celu zweryfikowania zgodności nazwy w kluczu, można użyć " +"identyfikacji na podstawie zdjęcia z dokumentu stwierdzającego tożsamość " +"(np. z paszportu). Dodatkowo wskazane jest sprawdzenie, czy adres e-mail " +"należy do właściciela klucza." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Ustawienia podpisu:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "I_nni nie mogą oglądać tego podpisu" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Możliwość _unieważnienia tego podpisu w późniejszym czasie." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Podpisanie klucza jako:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Osoba podpisująca:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Podpisz" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Nieznany" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Kryterium wyszukiwania nie było dostatecznie sprecyzowane. Serwer „%s” " +"znalazł zbyt wiele pasujących kluczy." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Nie można połączyć się z serwerem „%s”: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Serwer HTTP kluczy" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Nie można zaimportować klucza: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Pomyślnie zaimportowano klucz" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Importuje" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Nie można zaimportować klucza" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Zdalne klucze" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Zdalne klucze zawierające „%s”" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Wyszukanie kluczy się nie powiodło." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Podwójne kliknięcie klucza zbada go, a kliknięcie przycisku importu " +"zaimportuje go do lokalnej bazy kluczy." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Wyszukiwanie zdalnych kluczy" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Internetowe wyszukiwanie kluczy innych osób. Klucze te można importować do " +"lokalnej bazy kluczy." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Wyszukiwanie kluczy zawierających: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Miejsce wyszukiwania:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Serwery kluczy:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Klucze udostępnione w otoczeniu:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "Wy_szukaj" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Nie można opublikować kluczy na serwerze" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Nie można pobrać kluczy z serwera: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d klucz wybrany do synchronizacji" +msgstr[1] "%d klucze wybrane do synchronizacji" +msgstr[2] "%d kluczy wybranych do synchronizacji" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Synchronizowanie kluczy…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Synchronizowanie kluczy" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Synchronizacja spowoduje opublikowanie kluczy z tej bazy kluczy. Zostaną " +"także pobrane wszystkie zmiany w kluczach, jakie zostały wprowadzone przez " +"ich właścicieli od momentu ich zaimportowania." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Synchronizacja spowoduje pobranie wszystkich zmian kluczy, jakie zostały " +"wprowadzone przez ich właścicieli od momentu ich zaimportowania. Nie wybrano " +"żadnego serwera do publikowania kluczy, przez co klucze użytkownika nie będą " +"dostępne dla innych." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Serwery _kluczy" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "Z_synchronizuj" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Nie można połączyć z %s: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Łączenie z: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Nie można pobrać adresu IP dla nazwy: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Pobieranie adresu IP serwera: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Serwer LDAP kluczy" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Klucze PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "Klucze PGP są używane do szyfrowania poczty i plików" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(i %d inny)" +msgstr[1] "(i %d inne)" +msgstr[2] "(i %d innych)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Osobisty klucz PGP" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Klucz PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Nie można zmienić identyfikatora głównego użytkownika" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Na pewno trwale usunąć identyfikator użytkownika „%s”?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Nie można usunąć identyfikatora użytkownika" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Nieznane]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Nazwa/e-mail" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Identyfikator podpisu" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Nie można zmienić podstawowego zdjęcia" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Błąd podczas zmiany hasła" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(nieznane)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Ten klucz wygasł dnia: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — klucz publiczny" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — klucz prywatny" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Na pewno trwale usunąć podklucz %d klucza %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Nie można usunąć podklucza" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Nie można zmienić zaufania" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Nie można wyeksportować klucza" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Nigdy" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "Identyfikator" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Zastosowanie" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Utworzono" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Wygasa" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Stan" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Długość" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Unieważniony" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Wygasł" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Wyłączony" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Dobry" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Identyfikator klucza" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Zaufanie do podpisów złożonych przez „%s” pod innymi kluczami" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Jeśli istnieje pewność, że właścicielem klucza jest „%s”, proszę " +"podpisać ten klucz:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Jeśli nie ma już pewności co do tożsamości osoby „%s”, można unieważnić własny podpis:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Wy_eksportuj tajny klucz" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Wye_ksportuj klucz publiczny" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Ten klucz został unieważniony" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" +"Ten klucz został unieważniony przez właściciela. Klucz nie może być dłużej " +"używany." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Ten klucz wygasł" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Dodaje zdjęcie do tego klucza" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Usuwa to zdjęcie z tego klucza" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Ustawia to zdjęcie jako podstawowe" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Przechodzi do poprzedniego zdjęcia" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Przechodzi do następnego zdjęcia" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Komentarz" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Zmień _hasło" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Właściciel" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Nazwy kluczy i podpisy" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Główny" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Podpisz" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Usuń" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Dodaj nazwę" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Unieważnij" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Nazwy i podpisy" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Identyfikator klucza:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Typ:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Długość:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Szczegóły techniczne" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Odcisk palca" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Utworzono:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Wygasa:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Daty" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Zmi_ana zaufania do właściciela:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "Wy_eksportuj do pliku" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Działania" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Wygaś" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Podklucze" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Częściowe" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Pełne" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Bezwzględne" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "I_nne nazwy:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Zaufanie do tego klucza" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Twoje zaufanie jest określane ręcznie w karcie Szczegóły." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Podpisz ten klucz" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Unieważnij podpis" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Osoby, które podpisały ten klucz:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Wyświetlanie tylko podpisów od osób, do których mam zaufanie" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Zaufanie" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Szczegóły techniczne:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Odcisk palca:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Daty:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Wskaźnik zaufania:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "_Zaufanie do właściciela:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Zaszyfruj" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certyfikuj" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Uwierzytelnij" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Klucz" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Podklucz %d klucza %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Powód unieważnienia klucza" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Powód:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Opcjonalny opis unieważnienia" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Unieważnia klucz" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Unie_ważnij" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Brak osobistych kluczy PGP umożliwiających podpisywanie dokumentów " +"i wiadomości." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Wybór klucza do podpisywania" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Podpisanie wiadomości kluczem:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Eksportowanie danych" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Pobieranie danych" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Importowanie danych" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Wysyłanie danych" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Niedostępne" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certyfikat" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certyfikaty (zakodowane za pomocą DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Osobisty certyfikat i klucz" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Osobisty certyfikat" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Na pewno trwale usunąć %d certyfikat?" +msgstr[1] "Na pewno trwale usunąć %d certyfikaty?" +msgstr[2] "Na pewno trwale usunąć %d certyfikatów?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Nie można utworzyć prywatnego klucza" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Rozumiem, że ten klucz zostanie trwale usunięty." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Klucz prywatny bez nazwy" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Klucz prywatny" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Bez nazwy" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Wyeksportowanie certyfikatu się nie powiodło" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Nie można usunąć" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Utwórz" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Nie można utworzyć żądania certyfikatu" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Zapisuje żądanie certyfikatu" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Zapisz" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Żądanie certyfikatu" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Żądanie zakodowane za pomocą PEM" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Nie można zapisać żądania certyfikatu" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Nieznana" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Certyfikaty i powiązane klucze X.509" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Nowy klucz prywatny" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Tworzy nowy klucz prywatny" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Etykieta:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Przechowywane w:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Typ klucza:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Długość klucza (w bitach):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Usuwa ten certyfikat lub klucz" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Eksportuje certyfikat" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Zażądaj certyfikat" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Tworzy plik żądania certyfikatu dla tego klucza" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Tworzy plik żądania certyfikatu." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Wspólna nazwa (CN) umieszczona w żądaniu certyfikatu." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Nazwa (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Współtwórcy:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Wersja tego programu" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Artur Flinta , 2003-2006\n" +"Andrzej Polatyński , 2007\n" +"Tomasz Dominikowski , 2007-2009\n" +"Piotr Zaryk , 2009\n" +"Piotr Drąg , 2010-2020\n" +"Paweł Żołnowski , 2014\n" +"Aviary.pl , 2007-2020" + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Witryna projektu Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Dane do zaimportowania" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "Zai_mportuj" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Zaimportowanie się nie powiodło" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Importowanie klucza" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Wszystkie pliki kluczy" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Upuszczony tekst" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Tekst ze schowka" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Nie można odblokować bazy kluczy" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Zmień hasło" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Nowe _hasło:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Proszę potwierdzić nowe hasło" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "_Potwierdzenie hasła:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "Wy_szukaj zdalne klucze…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "Zsy_nchronizuj i opublikuj klucze…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Preferencje" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "Pomo_c" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Skróty klawiszowe" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_O programie" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filtrowanie elementów:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "_Osobiste" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "_Zaufane" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "_Wszystkie" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Klucz SSH" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Używany do połączeń ze zdalnymi komputerami" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Klucz GPG" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Używany do szyfrowania poczty i plików" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Baza haseł" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Używane do przechowywania haseł programów i haseł sieciowych" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Bezpieczne przechowywanie haseł programów i haseł sieciowych" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Używane do żądania certyfikatu" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Zaimportuj z pliku…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Dodaje nowy klucz lub element" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Wstecz" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Wyszukuje klucz lub hasło" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Wyszukiwanie" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Ta kolekcja jest pusta" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Baza kluczy jest zablokowana" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Odblokuj" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Skopiuj hasło" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Wyeksportuj…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Właściwości" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Skonfiguruj klucz dla SSH…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "Za_blokuj" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Odblokuj" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Właściwości" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Nie można zablokować" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Powłoka SSH" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Klucze używane do łączenia się z innymi komputerami" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Na pewno trwale usunąć klucz SSH „%s”?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Na pewno trwale usunąć %u klucz SSH?" +msgstr[1] "Na pewno trwale usunąć %u klucze SSH?" +msgstr[2] "Na pewno trwale usunąć %u kluczy SSH?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Tajne klucze SSH" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Publiczne klucze SSH" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Klucz SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Brak dostępnego klucza publicznego dla tego klucza." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Nie można wczytać nowo utworzonego klucza SSH" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Nie można utworzyć klucza SSH" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Tworzenie klucza SSH" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bity" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bitów" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Nieznany typ klucza." + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Nieznany typ" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Nie można zmienić nazwy klucza." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Nie można zmienić upoważnienia dla klucza." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Nie można zmienić hasła dla klucza." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Błąd podczas usuwania klucza SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Osobisty klucz SSH" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Klucz SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Nieczytelny klucz SSH)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Klucz SSH" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Hasło do zdalnego komputera" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Hasło klucza" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Hasło dla nowego klucza SSH" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Importowanie klucza: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Importowanie klucza. Proszę wprowadzić hasło" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Proszę wprowadzić hasło SSH:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Poprzednie hasło klucza" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Poprzednie hasło dla: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Nowe hasło klucza" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Nowe hasło dla: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Ponownie nowe hasło dla: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Nowy klucz SSH" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Klucz bezpiecznej powłoki (SSH) umożliwia bezpieczne połączenia z innymi " +"komputerami." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Opis" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Adres e-mail lub inna informacja opisujących ten klucz." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Jeżeli tworzony klucz ma być używany do łączenia się z konkretnym " +"komputerem, można w tej chwili przygotować ten komputer do rozpoznawania " +"nowego klucza." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "Utwórz _tylko klucz" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Utwórz i przygotuj" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Właściwości klucza SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nazwa" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algorytm" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Długość klucza" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Położenie" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Klucz publiczny" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Kopiuje klucz publiczny do schowka" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Zdalny dostęp" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Umożliwia zdalny dostęp do tego komputera" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "Wy_eksportuj" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Usuń klucz SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Przygotowywanie komputera do połączeń SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Aby możliwe było używanie tego klucza SSH do połączeń z innym komputerem, " +"musi być na nim utworzone konto z możliwością logowania." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Adres _serwera:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "np.: serwer-plików.example.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Login:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Przygotuj" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Klucze OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Brak klucza prywatnego dla tego klucza." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Nie można skonfigurować kluczy SSH na zdalnym komputerze." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Konfigurowanie kluczy SSH…" diff --git a/po/pt.po b/po/pt.po new file mode 100644 index 00000000..db7c73f2 --- /dev/null +++ b/po/pt.po @@ -0,0 +1,4420 @@ +# seahorse's Portuguese translation. +# Copyright © 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012, 2013 seahorse +# This file is distributed under the same license as the seahorse package. +# Duarte Loreto , 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011, 2012, 2013. +# Tiago S. , 2015, 2016. +# Pedro Albuquerque , 2015. +# Sérgio Cardeira , 2016. +# João Nuno Matos , 2019. +# José Vieira , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: 3.10\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-09-09 21:23+0000\n" +"PO-Revision-Date: 2020-09-13 16:44+0100\n" +"Last-Translator: José Vieira \n" +"Language-Team: Português <@>\n" +"Language: pt\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"X-DamnedLies-Scope: partial\n" +"X-Generator: Gtranslator 3.30.1\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Adicionar servidor de chaves" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Personalizado" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Cancelar" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Guardar" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Não foi possível eliminar" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Não foi possível exportar as chaves" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Não foi possível exportar os dados" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Cancelar" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Eliminar" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Exportar" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Insirir o PIN ou a senha para: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Confirmar:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Aceitar" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Senha:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Senhas" + +#: common/place.vala:42 +#| msgid "PGP Keys" +msgid "Keys" +msgstr "Chaves" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certificados" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Preferências" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Nenhum: não publicar as chaves" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Endereço do servidor de chaves inválido." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Para ajuda contactar o administrador do sistema ou o administrador do " +"servidor de chaves." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "item inicial temporário" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Tipo de servidor de chaves:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Máquina:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "O nome ou endereço da máquina." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "A porta na qual o servidor escuta." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Localizar chaves utilizando:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Publicar as chaves em:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "_Obter automaticamente as chaves dos servidores de chaves" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" +"Sincronizar automaticamente as chaves _modificadas com os servidores de " +"chaves" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Servidores de chaves" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Desconhecida" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Nunca" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Marginal" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Completa" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Principal" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Desativada" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Revogada" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Visão geral" + +#: data/gtk/help-overlay.ui:14 +#| msgid "_Help" +msgctxt "shortcut window" +msgid "Help" +msgstr "Ajuda" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Abrir menu" + +#: data/gtk/help-overlay.ui:28 +#| msgid "Create a new key or item" +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Criar um novo item" + +#: data/gtk/help-overlay.ui:35 +#| msgid "Import from file…" +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Importar item de um ficheiro" + +#: data/gtk/help-overlay.ui:42 +#| msgid "_Search" +msgctxt "shortcut window" +msgid "Search" +msgstr "Procurar" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Lista de atalhos" + +#: data/gtk/help-overlay.ui:56 +#| msgid "_Quit" +msgctxt "shortcut window" +msgid "Quit" +msgstr "Sair" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navegação" + +#: data/gtk/help-overlay.ui:69 +#| msgid "Couldn't remove keyring" +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Selecionar o chaveiro anterior" + +#: data/gtk/help-overlay.ui:76 +#| msgid "Selected %d key" +#| msgid_plural "Selected %d keys" +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Selecionar o chaveiro seguinte" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Exibir barra lateral (em ecrãs pequenos) " + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Exibir o conteúdo do chaveiro (em ecrãs pequenos)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Obter Chaves Automaticamente" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Se as chaves deverão ou não ser automaticamente obtidas do servidor de " +"chaves." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Publicar as chaves automaticamente" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Se as chaves alteradas deverão ou não ser automaticamente publicadas." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Publicar as chaves neste servidor de chaves." + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"O servidor de chaves onde publicar chaves PGP. Ou vazio para impedir a " +"publicação de chaves PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Padrão de procura de servidores da última chave" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "O último padrão de procura utilizado sobre um servidor de chaves." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Ultimo servidor de chaves utilizado" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"O último servidor de chaves sobre o qual foi efetuada uma procura ou vazio " +"para todos os servidores de chaves." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +#| msgid "Show keyrings sidebar in Seahorse." +msgid "Show keyrings sidebar" +msgstr "Exibir a barra lateral de chaveiros" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Mostrar a lista de chaveiros na barra lateral" + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Itens a mostrar" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtrar os itens a mostrar. Se vazio, mostrar todos os itens; se “personal” " +"mostrar as chaves pesoais, se “trusted” mostrar confiáveis." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +#| msgid "Width of the window" +msgid "Width of the side pane" +msgstr "Largura do painel lateral" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Largura predefinida do painel lateral." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Chaveiros escolhidos" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Os URIs dos chaveiros escolhidos estão na barra lateral." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "A coluna pela qual ordenar as chaves no Seahorse" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Especificar a coluna pela qual ordenar a janela principal do gestor de " +"chaves Seahorse. As colunas são: 'name', 'id', 'validity', 'expires', " +"'trust' e 'type'. Colocar um '-' em frente do nome da coluna para ordenação " +"descendente." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Mostrar a coluna de validade" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "A chave já não é utilizada" + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Mostrar a coluna de expiração" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Mostrar a coluna de confiança no detentor" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Mostrar a coluna de tipo" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Largura da janela" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +#| msgid "Width of the window" +msgid "Width (in pixels) of the window." +msgstr "Largura da janela (em píxeis)." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +#| msgid "Width of the window" +msgid "Height of the window" +msgstr "Altura da janela" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +#| msgid "Width of the window" +msgid "Height (in pixels) of the window." +msgstr "Altura da janela (em píxeis)" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Gerir senhas e chaves de encriptação" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "" +"O Seahorse é uma aplicação do GNOME para gestão de chaves de encriptação." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Com o Seahorse pode criar e gerir chaves PGP, criar e gerir chaves SSH, " +"publicar e consultar chaves em servidores, armazenar as suas senhas de forma " +"a que não tenha de inseri-las continuamente e fazer cópias de segurança das " +"suas chaves e chaveiros." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Projeto GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Senhas e chaves" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "chaveiro;encriptação;segurança;assinar;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Senhas pessoais, segredos e credenciais armazenadas" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Não foi possível destrancar" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Não foi possível adicionar o item" + +#: gkr/gkr-item-info.vala:30 +#| msgid "Password or secret" +msgid "Password or Secret" +msgstr "Senha ou segredo" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Segredo de ligação de rede" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Senha Wi-Fi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Senha de rede" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Senha do GNOME Web" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Senha do Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Senha das mensagens instantâneas" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Senha de conta de MI para " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Senha do Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Senha das Contas Online GNOME" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Guardar alterações a este item?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Aceder a uma partilha ou recurso de rede" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Aceder a uma página web" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Destranca uma chave PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Destranca uma chave de terminal segura" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Senha ou utilizador gravados" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Credenciais de rede" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Senha" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Não foi possível alterar a senha." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Não foi possível definir a descrição." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Erro ao eliminar a senha" + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Nota armazenada" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Senha do chaveiro" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Senha da chave de encriptação" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Senha do armazenamento de chaves" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Segredo do gestor de rede" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Tem a certeza de que deseja eliminar a senha “%s”?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Tem a certeza de que deseja eliminar %d senha?" +msgstr[1] "Tem a certeza de que deseja eliminar %d senhas?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Não foi possível adicionar o chaveiro" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Data desconhecida" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Um chaveiro que é destrancado automaticamente ao iniciar uma sessão" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Um chaveiro utilizado para armazenar senhas" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Não foi possível predefinir o chaveiro" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Não foi possível alterar a senha do chaveiro" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "Como _Predefinição" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Alterar a _senha" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Tem a certeza de que deseja eliminar o chaveiro de senhas “%s”?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Compreendo que todos os itens serão definitivamente eliminados." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Mostrar/Esconder senha" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Adicionar senha" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Chaveiro:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Descrição:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Senha:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Adicionar" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Adicionar chaveiro de senhas" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Selecionar um nome para o novo chaveiro. Será pedida uma senha para o " +"destrancar." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Nome do novo chaveiro:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Propriedades do item" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Descrição" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Copiar" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Utilização" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Tipo" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Servidor" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Credencial de acesso" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Detalhes" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Apagar a senha" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Propriedades do Chaveiro" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Nome" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Criado em" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Alterar a senha" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Predefenir" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Mostrar parâmetros" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Propriedades de data e/ou hora mostradas" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Modo permissivo" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "O modo permissivo não normaliza os valores de data e hora introduzidos" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Ano" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Ano mostrado" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mês" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Mês mostrado" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dia" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Dia do mês mostrado" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Hora" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Hora mostrada" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minuto" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Minuto mostrado" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Segundo" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Segundo mostrado" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Ano limite inferior" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Parte do ano do limite de data inferior" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Ano limite superior" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Parte do ano do limite de data superior" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Mês limite inferior" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Parte do mês do limite de data inferior" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Mês limite superior" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Parte do mês do limite de data superior" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Dia limite inferior" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Parte do dia do mês do limite de data inferior" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Dia limite superior" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Parte do dia do mês do limite de data superior" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Hora limite inferior" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Parte da hora do limite de data inferior" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Hora limite superior" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Parte da hora do limite de data superior" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Minuto limite inferior" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Parte do minuto do limite de data inferior" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Minuto limite superior" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Parte do minuto do limite de data superior" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Segundo limite inferior" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Parte do segundo do limite de data inferior" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Segundo limite superior" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Parte do segundo do limite de data superior" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Data" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Inserir a data diretamente" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Selecionar a data" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Selecionar a data num calendário" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Hora" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Inserir a hora diretamente" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Selecionar a hora" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Selecionar a hora de uma lista" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Impossível mostrar a ajuda: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Adicionar subchave a %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (só assinar)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (só encriptar)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (só assinar)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (só encriptar)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +#| msgid "Key _Type:" +msgid "Key _Type" +msgstr "_Tipo de chave" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +#| msgid "Key _Length:" +msgid "Key _Length" +msgstr "Comprimento da c_have" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Comprimento da chave" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Data de Expiração" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Nunca e_xpira" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Se a chave nunca expira" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Gerar uma nova subchave" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Adicionar ID de utilizador a %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Impossível adicionar ID de utilizador" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Adicionar ID de utilizador" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_Nome Completo" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Tem de ter pelo menos 5 caracteres" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_Endereço de email:" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Endereço de email opcional" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Co_mentário da chave" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Comentário opcional para descrever a chave" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Criar o novo ID de utilizador" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"Falha ao desencriptar. Provavelmente não possui a chave de desencriptação." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "A operação foi cancelada" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Data de expiração inválida" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "A data de expiração tem de ser no futuro" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Não foi possível alterar a data de expiração" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Validade: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Nunca expira" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Alterar" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Múltiplas chaves" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Dados da chave" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Chaves PGP blindadas" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Chaves PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Não foi possível gerar a chave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Frase-senha para a nova chave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Insira duas vezes a frase-senha para a sua nova chave." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Ao criar uma chave é necessário gerar uma quantidade\n" +"grande de dados aleatórios e precisamos da sua ajuda.\n" +"É recomendado que realize outra ação qualquer tal como\n" +"escrever com o teclado, mover o rato ou utilizar aplicações.\n" +"Isto fornece ao sistema os dados aleatórios de que necessita." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "A gerar a chave" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "O nome deve ter pelo menos 5 caracteres." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Nova Chave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Uma chave PGP permite encriptar o correio ou ficheiros enviados a outras " +"pessoas." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Opções _avançadas de chave" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Comentário" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_Tipo de encriptação" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Força da chave (bits):" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Data de e_xpiração" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "N_unca expira" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "C_riar" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Gerar uma nova chave" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Tem a certeza de que deseja eliminar definitivamente %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Tem a certeza de que deseja eliminar definitivamente %d chave?" +msgstr[1] "Tem a certeza de que deseja eliminar definitivamente %d chaves?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Senha incorreta" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Esta foi a terceira vez que inseriu uma senha incorreta. Tente novamente." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Frase-senha incorreta." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Insira uma nova frase-senha para “%s”" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Insira a frase-senha para “%s”" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Insira a nova frase-senha" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Insira a frase-senha" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Frase-senha" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d chave carregada" +msgstr[1] "%d chaves carregadas" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Dados de chave inválidos (faltam UIDs). Isto pode dever-se a um computador " +"com a data definida para o futuro ou uma assinatura pessoal em falta." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Chaves GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: pasta predefinida de chaveiros" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"A fotografia é demasiado grande\n" +"O tamanho recomendado para uma fotografia na sua chave é de %d x %d píxeis." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Não redimensionar" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Redimensionar" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Isto não é um ficheiro de imagem ou é um tipo desconhecido de imagem. Tente " +"utilizar uma imagem JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Todos os ficheiros de imagem" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Todos os ficheiros JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Todos os ficheiros" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Escolha a fotografia a adicionar à chave" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Abrir" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Não foi possível preparar a fotografia" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Não foi possível adicionar a fotografia" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Impossível carregar o ficheiro. Poderá ter um formato inválido" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Tem a certeza de que deseja remover a fotografia atual da sua chave?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Não foi possível eliminar a fotografia" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Não foi possível revogar subchave" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Revogar: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Nenhum motivo" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Nenhum motivo para revogar a chave" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Comprometida" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "A chave foi comprometida" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Substituída" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "A chave foi substituída" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Não utilizada" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "A chave já não é utilizada" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Está prestes a adicionar %s como uma revogação de %s. Esta operação não pode " +"ser desfeita! Tem a certeza que deseja continuar?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Não foi possível adicionar o revogador" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Compreendo que este segredo será definitivamente eliminado." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Esta chave já foi assinada por\n" +"“%s”" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Não foi possível assinar a chave" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Nenhuma chave utilizável para assinar" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Não possui chaves PGP pessoais que possam ser utilizadas para indicar a sua " +"confiança nesta chave." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Assinar chave" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Ao assinar indica que confia que esta chave pertence a:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Nome da chave" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Quão cuidadosamente validou esta chave?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Sem cuidado nenhum" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Casualmente" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Muito cuidadosamente" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Sem cuidado nenhum: significa que confia que a chave é detida pela " +"pessoa que reclama possuí-la, mas não validou este facto." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Casualmente: significa que realizou uma verificação casual de que a " +"chave é detida pela pessoa que reclama possuí-la. Por exemplo, poderia ler a " +"impressão digital da chave ao dono pelo telefone." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Muito cuidadosamente: selecione esta opção só se estiver " +"absolutamente certo de que esta chave é genuína." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Pode utilizar uma identificação fotográfica difícil de forjar (tal como um " +"passaporte) para verificar que o nome na chave é o correto. Deverá também " +"ter utilizado o email para verificar que o endereço de email pertence ao " +"dono." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Como irão os outros ver esta assinatura:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Outros poderão não ver esta assinatura" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Posso futuramente _revogar esta assinatura." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Assinar a chave como:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Assinante:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "A_ssinar" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Desconhecido" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"A procura não foi suficientemente específica. O servidor “%s” encontrou " +"demasiadas chaves." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Não foi possível comunicar com o servidor “%s”: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Servidor de chaves HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Não foi possível importar a chave: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Chave importada com sucesso" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Importar" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Não foi possível importar a chave" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Chaves remotas" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Chaves remotas que contenham “%s”" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Falha ao procurar por chaves." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Clique duas vezes numa chave para a inspecionar, ou clique no botão Importar " +"para a importar para o seu chaveiro local." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Procurar chaves remotas" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Esta funcionalidade irá procurar na Internet chaves de outras pessoas. Estas " +"chaves poderão depois ser importadas para o seu chaveiro local." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Procurar chaves que contenham: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Onde procurar:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Servidores de chaves:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Chaves partilhadas próximas:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Procurar" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Não foi possível publicar as chaves no servidor" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Não foi possível obter as chaves do servidor: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d chave selecionada para sincronização" +msgstr[1] "%d chaves selecionadas para sincronização" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "A sincronizar as chaves…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Sincronizar chaves" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Esta funcionalidade irá publicar as chaves que estão no seu chaveiro para " +"que estejam disponíveis para serem utilizadas por outros. Irá também receber " +"quaisquer alterações feitas por terceiros desde que recebeu as suas chaves." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Esta funcionalidade irá obter quaisquer alterações que terceiros tenham " +"realizado desde que recebeu as suas chaves. Não foi selecionado nenhum " +"servidor de chaves para publicação pelo que as suas chaves não serão " +"disponibilizadas a terceiros." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Servidores de _chaves" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Sincronizar" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Impossível comunicar com “%s”: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "A ligar a: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Não foi possível resolver o endereço: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "A resolver o endereço do servidor: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Servidor de chaves LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Chaves PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "Chaves PGP são para encriptar correio ou ficheiros" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(e %d outra)" +msgstr[1] "(e %d outras)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Chave PGP pessoal" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Chave PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Não foi possível alterar o ID principal de utilizador" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "" +"Tem a certeza de que deseja remover definitivamente o ID de utilizador “%s”?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Não foi possível eliminar o ID de utilizador" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Desconhecido]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Nome/Email" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "ID da assinatura" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Não foi possível alterar a fotografia principal" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Erro ao alterar a senha" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(desconhecido)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Esta chave expirou a: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Chave Pública" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Chave privada" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" +"Tem a certeza de que deseja eliminar definitivamente a subchave %d de %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Não foi possível eliminar a subchave" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Impossível alterar confiança" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Não foi possível exportar a chave" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Nunca" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Uso" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Criada" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Expira" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Estado" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Força" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Revogada" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Expirada" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Inativo" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Bom" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "ID da chave" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Confio em assinaturas de “%s” noutras chaves" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "Se acredita que a pessoa que detém esta chave é “%s”, assine-a:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Se deixo de confiar que esta chave é possuída por “%s”, revoge a sua " +"assinatura:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +#| msgid "_Export Secret Key:" +msgid "Export _secret key" +msgstr "Exportar chave _secreta" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +#| msgid "Export public key" +msgid "Export _public key" +msgstr "Exportar chave _pública" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Esta chave foi revogada" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "O dono da chave revogou-a. Não pode mais ser utilizada." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Esta chave expirou" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Adicionar uma fotografia a esta chave" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Remover esta fotografia desta chave" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Tornar esta a fotografia primária" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Ir para a fotografia anterior" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Ir para a fotografia seguinte" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Comentário" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Alterar a _frase-senha" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Dono" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Nomes e assinaturas da chave" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Primária" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Assinar" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Eliminar" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Adicionar nome" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Revogar" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Nomes e assinaturas" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "ID de chave:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Tipo:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Força:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Detalhes técnicos" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Impressão digital" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Criada:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Expira:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Datas" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Ignorar a confiança no _dono:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +#| msgid "Export to a file" +msgid "_Export to file" +msgstr "_Exportar para um ficheiro" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Ações" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Expirar" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Subchaves" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Marginalmente" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Completamente" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Acima de tudo" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Outros nomes:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "A sua confiança nesta chave" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "" +"A sua confiança é manualmente especificada no separador de Detalhes." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "A_ssinar esta chave" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Revogar assinatura" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Pessoas que assinaram esta chave:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Mostrar só as assinaturas de pessoas em quem confio" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Confiar" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Detalhes técnicos:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Impressão digital:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Datas:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +#| msgid "Indicate Trust:" +msgid "Indicate trust:" +msgstr "Indicar confiança:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +#| msgid "You _Trust the Owner:" +msgid "You _trust the owner:" +msgstr "Confia no _dono:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Encriptar" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certificar" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Autenticar" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Chave" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Subchave %d de %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Razão para revogar a chave" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Razão:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Descrição opcional da revogação" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Revogar a chave" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Re_vogar" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Não possui chaves PGP pessoais que possam ser utilizadas para assinar um " +"documento ou mensagem." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Selecionar Chave Assinante" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Assinar a mensagem com a chave:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "A exportar os dados" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "A obter os dados" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "A importar os dados" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "A enviar os dados" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Indisponível" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certificado" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certificados (codificados com DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Certificado e chave pessoais" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Certificado pessoal" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "" +"Tem a certeza de que deseja eliminar definitivamente %d certificado?" +msgstr[1] "" +"Tem a certeza de que deseja eliminar definitivamente %d certificados?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Não foi possível gerar a chave privada" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Compreendo que esta chave será definitivamente eliminada." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Chave privada sem nome" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Chave privada" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Sem nome" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Falha ao exportar o certificado" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Não foi possível eliminar" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Criar" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Não foi possível criar o pedido de certificado" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Gravar o pedido de certificado" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Guardar" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Pedido de certificado" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Pedido codificado com PEM" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Não foi possível gravar o pedido de certificado" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Desconhecida" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Certificados X.509 e chaves relacionadas" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Nova chave privada" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Criar uma nova chave privada" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Etiqueta:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Armazenada em:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Tipo de chave:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Força da chave (bits):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Eliminar este certificado ou chave" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Exportar o certificado" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +#| msgid "Request _Certificate" +msgid "Request Certificate" +msgstr "Pedir _certificado" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Criar um ficheiro de pedido de certificado para esta chave" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Criar um ficheiro de pedido de certificado." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "O nome comum (CN) colocado no pedido de certificado." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Nome (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Contribuições:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Versão desta aplicação" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Duarte Loreto \n" +"Pedro Albuquerque \n" +"João Nuno Matos " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Página do projeto Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Dados para serem importados:" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importar" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Falha ao importar" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Importar chave" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Todos os ficheiros de chaves" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Texto resultante" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Texto da área de transferência" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Não foi possível trancar o chaveiro" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Alterar a frase-passe" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Nova _frase-x:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Confirmar a nova frase-senha" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Confirmar a _frase-senha:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Procurar chaves remotas…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Sincronizar e publicar chaves…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Preferências" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "A_juda" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Atalhos de Teclado" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_Sobre o Seahorse" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filtrar items" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Mostrar _pessoais" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Mostrar de _confiança" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Mostrar _todas" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Chave SSH" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Utilizada para ligar a outros computadores." + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Chave GPG" + +#: src/seahorse-key-manager.ui:132 +#| msgid "Used to encrypt email and files" +msgid "Used to encrypt emails and files" +msgstr "Utilizada para encriptar correio e ficheiros" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Chaveiro de senhas" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Utilizado para armazenar as senhas de aplicações e rede" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Armazenar com segurança uma senha ou segredo" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Utilizado para pedir um certificado" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importar de um ficheiro…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Adicionar uma nova chave ou item" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Voltar" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Procure uma chave ou senha" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filtro" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Parece que esta coleção está vazia" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "O chaveiro está trancado" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Destrancar" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Copiar segredo" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Exportar…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Propriedades" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Configurar chave SSH…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Trancar" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Destrancar" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Propriedades" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Não foi possível trancar" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "SSH" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Chaves utilizadas para ligar com segurança a outros computadores" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Tem a certeza de que deseja eliminar a chave SSH “%s”?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Tem a certeza de que deseja eliminar %u chave SSH?" +msgstr[1] "Tem a certeza de que deseja eliminar %u chaves SSH?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Chaves secretas de SSH" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Chaves públicas de SSH" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Chave SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Não está disponível nenhuma chave pública para esta chave." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Não foi possível gerar a chave SSH" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Não foi possível gerar a chave SSH" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "A criar a chave SSH" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bits" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bits" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Tipo de chave desconhecido!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Tipo desconhecido" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Não foi possível mudar o nome da chave." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Não foi possível alterar a autorização da chave." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Não foi possível alterar a frase-senha da chave." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Ocorreu um erro ao apagar a chave SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Chave SSH pessoal" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Chave SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(chave SSH ilegível)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Chave SSH" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Senha da máquina remota" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Insira a frase-senha da chave" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Frase-senha para a nova chave SSH" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "A importar a chave: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "A importar a chave. Insirir a frase-senha" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Insirir a senha da sua chave SSH:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Frase-senha da chave antiga" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Insira a frase-senha antiga para: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Nova frase-senha da chave" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Insira a nova frase-senha para: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Insira novamente a nova frase-senha: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Nova chave SSH" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "Uma chave SSH permite ligar de forma segura a outros computadores." + +#: ssh/seahorse-ssh-generate.ui:78 +#| msgid "_Description:" +msgid "_Description" +msgstr "_Descrição" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "O seu endereço de email ou um lembrete de a que se destina esta chave." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Se existir um computador onde queira utilizar esta chave, pode configurar " +"esse computador para reconhecer a sua nova chave." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Apenas criar a chave" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Criar e configurar" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Propriedades da chave SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nome" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritmo" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Comprimento da chave" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Localização" + +#: ssh/seahorse-ssh-key-properties.ui:228 +#| msgid "Public PGP Key" +msgid "Public Key" +msgstr "Chave pública" + +#: ssh/seahorse-ssh-key-properties.ui:243 +#| msgid "Copy public part of selected keys to the clipboard" +msgid "Copy public key to clipboard" +msgstr "Copiar chave pública para a área de transferência" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Acesso Remoto" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Permite aceder remotamente a este computador" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Exportar" + +#: ssh/seahorse-ssh-key-properties.ui:362 +#| msgid "Delete SSH Key" +msgid "_Delete SSH Key" +msgstr "_Eliminar a Chave SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Configurar computador para ligação SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Para utilizar a chave SSH com outro computador que utilize SSH, tem de já " +"possuir uma conta para iniciar sessão nesse computador." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Endereço do _servidor:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "por ex: servidor.exemplo.com:porta" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "Nome de _utilizador:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Configurar" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Chaves OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Não está disponível nenhum ficheiro de chave privada para esta chave." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Não foi possível configurar as chaves SSH no computador remoto." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "A configurar chaves SSH…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "O Seahorse é uma aplicação do GNOME para gerir chaves de encriptação. Ela " +#~ "integra-se no nautilus, gedit e outros locais para as operações de " +#~ "encriptação." + +#~ msgid "Expiration Date:" +#~ msgstr "Data de expiração:" + +#~| msgid "Couldn't add subkey" +#~ msgid "Couldn’t add subkey" +#~ msgstr "Impossível adicionar subchave" + +#~| msgid "Login keyring" +#~ msgid "_Combine all keyrings" +#~ msgstr "Com_binar todos os chaveiros" + +#~ msgid "Encryption _Type:" +#~ msgstr "_Tipo de encriptação:" + +#~ msgid "_File" +#~ msgstr "_Ficheiro" + +#~ msgid "E_xport..." +#~ msgstr "E_xportar..." + +#~ msgid "_Edit" +#~ msgstr "_Editar" + +#~ msgid "Copy to the clipboard" +#~ msgstr "Copiar para a área de transferência" + +#~ msgid "Delete selected items" +#~ msgstr "Eliminar os itens selecionados" + +#~ msgid "Show the properties of this item" +#~ msgstr "Mostrar as propriedades deste item" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Mostrar as propriedades deste chaveiro" + +#~ msgid "Prefere_nces" +#~ msgstr "Preferê_ncias" + +#~ msgid "Change preferences for this program" +#~ msgstr "Alterar as preferências desta aplicação" + +#~ msgid "_View" +#~ msgstr "_Ver" + +#~ msgid "About this program" +#~ msgstr "Sobre esta aplicação" + +#~ msgid "_Contents" +#~ msgstr "_Conteúdo" + +#~ msgid "Show Seahorse help" +#~ msgstr "Mostrar a ajuda Seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Novo chaveiro de senhas" + +#~ msgid "New password..." +#~ msgstr "Nova senha..." + +#~ msgid "Stored Password" +#~ msgstr "Senha armazenada" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "" +#~ "As aplicações normalmente armazenam novas senhas no chaveiro predefinido." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "" +#~ "Alterar a senha utilizada para destrancar o chaveiro de armazenamento de " +#~ "senhas" + +#~ msgid "_Show Password" +#~ msgstr "_Mostrar senha" + +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "Keyring" +#~ msgstr "Chaveiro" + +#~ msgid "- System Settings" +#~ msgstr "- Definições de sistema" + +#~ msgid "Don't display a window" +#~ msgstr "Não mostrar uma janela" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "O fornecedor de procura ainda não está carregado" + +#~ msgid "PGP Key" +#~ msgstr "Chave PGP" + +#~ msgid "Importing keys from key servers" +#~ msgstr "A importar chaves de um servidor de chaves" + +#~ msgid "_Remote" +#~ msgstr "_Remoto" + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Procurar chaves remotas..." + +#~ msgid "Search for keys on a key server" +#~ msgstr "Procurar chaves num servidor de chaves" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Importar as chaves selecionadas para o chaveiro local" + +#~ msgid "Synchronizing keys..." +#~ msgstr "A sincronizar as chaves..." + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Publicar e/ou sincronizar as suas chaves com as online." + +#~ msgid "Marginal" +#~ msgstr "Marginal" + +#~ msgid "Full" +#~ msgstr "Completa" + +#~ msgid "Ultimate" +#~ msgstr "Principal" + +#~ msgid "Photo " +#~ msgstr "Fotografia " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "Email:" +#~ msgstr "Email:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Desencriptar os ficheiros e correio que lhe foram enviados." + +#~ msgid "Private PGP Key" +#~ msgstr "Chave PGP privada" + +#~ msgid "Encrypt files and email to the key's owner" +#~ msgstr "Encriptar ficheiros e correio destinados ao dono da chave" + +#~ msgid "Continue" +#~ msgstr "Continuar" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Selecione o tipo de item a criar:" + +#~ msgid "_New" +#~ msgstr "_Nova" + +#~ msgid "Close this program" +#~ msgstr "Fechar esta aplicação" + +#~ msgid "_New..." +#~ msgstr "_Nova..." + +#~ msgid "_Import..." +#~ msgstr "_Importar..." + +#~ msgid "Import from the clipboard" +#~ msgstr "Importar da área de transferência" + +#~ msgid "By _Keyring" +#~ msgstr "Por _chaveiro" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Mostrar só as chaves, certificados e senhas pessoais" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Mostrar só as chaves, certificados e senhas de confiança" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Mostrar todas as chaves, certificados e senhas" + +#~ msgid "First time options:" +#~ msgstr "Opções de primeira utilização:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Gerar uma nova chave de si próprio: " + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Importar chaves existentes de um ficheiro:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Para se iniciar na encriptação necessita de chaves." + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Enviar a chave pública de terminal seguro para outra máquina e permitir " +#~ "inícios de sessão utilizando essa chave." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "" +#~ "Utilizada para aceder a outros computadores (por ex: através de um " +#~ "terminal)" + +#~ msgid "Identifier:" +#~ msgstr "Identificador:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "O dono desta chave está _autorizado a ligar-se a este computador" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Isto só se aplica à conta %s." + +#~ msgid "E_xport Complete Key" +#~ msgstr "E_xportar a chave completa" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "O comando SSH terminou inesperadamente." + +#~ msgid "The SSH command failed." +#~ msgstr "O comando SSH falhou." + +#~ msgid "Updating password" +#~ msgstr "A atualizar a senha" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Ssh Key" +#~ msgstr "Chave SSH" + +#~ msgid "_Computer Name:" +#~ msgstr "Nome do _Computador:" + +#~ msgid "Password:" +#~ msgstr "Senha:" + +#~ msgid "Key Servers:" +#~ msgstr "Servidores de Chaves:" + +#~ msgid "Never" +#~ msgstr "Nunca" + +#~ msgid "Key ID:" +#~ msgstr "ID de Chave:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "Comment:" +#~ msgstr "Comentário:" + +#~ msgid "Use:" +#~ msgstr "Utiliza:" + +#~ msgid "Type:" +#~ msgstr "Tipo:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "Nomes e Assinaturas de Chaves" + +#~ msgid "Dates" +#~ msgstr "Datas" + +#~ msgid "Actions" +#~ msgstr "Ações" + +#~ msgid "Dates:" +#~ msgstr "Datas:" + +#~ msgid "Key Name" +#~ msgstr "Nome da Chave" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "Trust" +#~ msgstr "Confiança" + +#~ msgid "Strength:" +#~ msgstr "Resistência:" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "O acesso ao chaveiro foi negado" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "O daemon gnome-keyring não se encontra em execução" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "O chaveiro já foi destrancado" + +#~ msgid "No such key ring exists" +#~ msgstr "Chaveiro inexistente" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "Impossível comunicar com o daemon de chaveiro" + +#~ msgid "The item already exists" +#~ msgstr "O item já existe" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "Erro interno ao aceder ao gnome-keyring" + +#~ msgid "Deleting item" +#~ msgid_plural "Deleting items" +#~ msgstr[0] "A eliminar o item" +#~ msgstr[1] "A eliminar os itens" + +#~ msgid "Passwords: %s" +#~ msgstr "Senhas: %s" + +#~ msgid "Passwords: %s" +#~ msgstr "Senhas: %s" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "Trancar o chaveiro de armazenamento de senhas de forma a que seja " +#~ "necessária uma senha mestra para o destrancar." + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "" +#~ "Destrancar o chaveiro de armazenamento de senhas com uma senha mestra " +#~ "para que esteja disponível para utilizar." + +#~ msgid "Couldn't delete keyring" +#~ msgstr "Impossível eliminar o chaveiro" + +#~ msgid "Archive files" +#~ msgstr "Arquivar os ficheiros" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "Já existe um ficheiro com este nome.\n" +#~ "\n" +#~ "Deseja substituí-lo por um novo ficheiro?" + +#~ msgid "_Replace" +#~ msgstr "_Substituir" + +#~ msgid "_Sign Key..." +#~ msgstr "A_ssinar Chave..." + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "" +#~ "Tem a certeza de que deseja eliminar definitivamente %d chaves e " +#~ "identidades?" + +#~ msgid "Couldn't delete public key" +#~ msgstr "Impossível eliminar a chave pública" + +#~ msgid "Algorithms here" +#~ msgstr "Algorítmos aqui" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "Impossível exportar a chave para \"%s\"" + +#~ msgid "Export Complete Key" +#~ msgstr "Exportar a Chave Completa" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "Tem a certeza de que deseja eliminar o certificado \"%s\"?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "Tem a certeza de que deseja eliminar %d certificado?" +#~ msgstr[1] "Tem a certeza de que deseja eliminar %d certificados?" + +#~ msgid "Deleting" +#~ msgstr "A eliminar" + +#~ msgid "Create New ..." +#~ msgstr "Criar Nova ..." + +#~ msgid "Importing keys" +#~ msgstr "A importar chaves" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "Tipo de chave desconhecido, ou formato de dados inválido" + +#~ msgid "Importing Keys" +#~ msgstr "A Importar Chaves" + +#~ msgid "T_ypes" +#~ msgstr "T_ipos" + +#~ msgid "_Expiry" +#~ msgstr "_Expira" + +#~ msgid "_Trust" +#~ msgstr "_Confiar" + +#~ msgid "_Validity" +#~ msgstr "_Validade" + +#~ msgid "Other _Keys" +#~ msgstr "Outras C_haves" + +#~ msgid "Validity" +#~ msgstr "Validade" + +#~ msgid "_Expand All" +#~ msgstr "_Expandir Todas" + +#~ msgid "Expand all listings" +#~ msgstr "Expandir todas as listagens" + +#~ msgid "_Collapse All" +#~ msgstr "Re_colher Todos" + +#~ msgid "Collapse all listings" +#~ msgstr "Agregar todas as listagens" + +#~ msgid "Exporting keys" +#~ msgstr "A exportar chaves" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "Impossível obter os dados do servidor de chaves" + +#~ msgid "Retrieving keys" +#~ msgstr "A obter as chaves" + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s é uma chave privada. Tem a certeza de que deseja continuar?" + +#~ msgid "Couldn't delete key" +#~ msgstr "Impossível eliminar a chave" + +#~ msgid "_Key Description:" +#~ msgstr "_Descrição da Chave:" + +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "Insira uma frase-passe para a sua nova chave de terminal seguro." + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "Não executar o seahorse-daemon em modo daemon" + +#~ msgid "couldn't fork process" +#~ msgstr "Impossível efetuar o fork do processo" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "Daemon de Encriptação (Seahorse)" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "Tipo de chave inválido ou não reconhecido: %s" + +#~ msgid "This keytype is not supported: %s" +#~ msgstr "Este tipo de chave não é suportado: %s" + +#~ msgid "Support for this feature was not enabled at build time" +#~ msgstr "" +#~ "Não foi ativado suporte para esta funcionalidade durante a compilação" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "Chave inválida ou não reconhecida: %s" + +#~ msgid "Signed by expired on %s." +#~ msgstr "Assinado por expirado em %s." + +#~ msgid "Invalid Signature" +#~ msgstr "Assinatura Inválida" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "Assinado por em %s Expirado." + +#~ msgid "Expired Signature" +#~ msgstr "Assinatura Expirada" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "Assinado por Revogado em %s." + +#~ msgid "Revoked Signature" +#~ msgstr "Assinatura Revogada" + +#~ msgid "Signed by on %s." +#~ msgstr "Assinado por em %s." + +#~ msgid "Good Signature" +#~ msgstr "Assinatura Válida" + +#~ msgid "Signing key not in keyring." +#~ msgstr "Chave de assinatura não está no porta-chaves." + +#~ msgid "Unknown Signature" +#~ msgstr "Assinatura Desconhecida" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "" +#~ "Assinatura inválida ou forjada. Os dados da assinatura foram alterados." + +#~ msgid "Bad Signature" +#~ msgstr "Assinatura Inválida" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "Assinante inválida ou não reconhecida: %s" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "A chave não é válida para assinar: %s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "Destinatário inválido ou não reconhecido: %s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "A chave não é um destinatário válido para encriptação: %s" + +#~ msgid "No recipients specified" +#~ msgstr "Nenhum destinatário especificado" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "Tipo de chave inválida para desencriptar: %s" + +#~ msgid "Please set clearuri" +#~ msgstr "Selecione um clearuri" + +#~ msgid "Please set crypturi" +#~ msgstr "Defina o crypturi" + +#~ msgid "Error opening clearuri" +#~ msgstr "Erro ao abrir o clearuri" + +#~ msgid "No signer specified" +#~ msgstr "Nenhum assinante especificado" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "Tipo de chave inválida para verificar: %s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "ID de chave inválido: %s" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "Uma lista de URIs de servidores de chaves onde procurar por chaves PGP " +#~ "remotas. Em versões mais recentes um nome público pode ser incluído, " +#~ "adicionando um espaço e depois o nome." + +#~ msgid "Auto Sync Keys" +#~ msgstr "Auto-Sincronizar Chaves" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "Controla a visibilidade da coluna de expiração do gestor de chaves." + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "" +#~ "Controla a visibilidade da coluna de acreditado do gestor de chaves." + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "Controla a visibilidade da coluna de tipo do gestor de chaves." + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "Controla a visibilidade da coluna de validade do gestor de chaves." + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "Ativar partilha por DNS-SD" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "Ativar a partilha de chaves através de DNS-SD (Apple Bonjour). O seahorse-" +#~ "daemon tem de estar em execução e ter sido compilado com suporte para HKP " +#~ "e DNS-SD." + +#~ msgid "ID of the default key" +#~ msgstr "ID da chave por omissão" + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "" +#~ "Se definido como verdadeiro, os ficheiros encriptados com o seahorse " +#~ "serão codificados com armadura ASCII." + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "" +#~ "Se definido como verdadeiro, a chave por omissão será sempre adicionada a " +#~ "uma lista de destinatários de encriptação." + +#~ msgid "Last key used to sign a message." +#~ msgstr "A última chave utilizada para assinar uma mensagem." + +#~ msgid "PGP Key servers" +#~ msgstr "Servidores de Chaves PGP" + +#~ msgid "Show expires column in key manager" +#~ msgstr "Mostra a coluna de expiração no gestor de chaves" + +#~ msgid "Show trust column in key manager" +#~ msgstr "Mostra a coluna de acreditado no gestor de chaves" + +#~ msgid "Show type column in key manager" +#~ msgstr "Mostra a coluna de tipo no gestor de chaves" + +#~ msgid "Show validity column in key manager" +#~ msgstr "Mostra a coluna de validade no gestor de chaves" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "Especifique a coluna pela qual ordenar a janela de destinatários. As " +#~ "colunas são: 'name' e 'id'. Coloque um '-' em frente do nome da coluna " +#~ "para a ordenar descendentemente." + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "O ID da última chave secreta utilizada para assinar uma mensagem." + +#~ msgid "The column to sort the recipients by" +#~ msgstr "A coluna pela qual ordenar os destinatários" + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "" +#~ "Especifica a chave por omissão a utilizar para algumas operações, " +#~ "principalmente assinar." + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "Se encriptar sempre ou não com a chave por omissão" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "Se utilizar ou não armadura ASCII" + +#~ msgid "Couldn't set application access." +#~ msgstr "Impossível definir o acesso da aplicação." + +#~ msgid "Path:" +#~ msgstr "Caminho:" + +#~ msgid "Permissions:" +#~ msgstr "Permissões:" + +#~ msgid "_Read" +#~ msgstr "_Ler" + +#~ msgid "_Write" +#~ msgstr "_Escrever" + +#~ msgctxt "infinitive" +#~ msgid "_Delete" +#~ msgstr "_Eliminar" + +#~ msgid "Saving item..." +#~ msgstr "A gravar o item..." + +#~ msgid "Listing password keyrings" +#~ msgstr "A listar os chaveiros de senhas" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "Não foram encontradas chaves de encriptação com as quais realizar a " +#~ "operação que pediu. A aplicação Senhas e Chaves de Encriptação " +#~ "será agora iniciada para que possa ou criar uma chave ou importar uma." + +#~ msgid "All Keys" +#~ msgstr "Todas as Chaves" + +#~ msgid "Selected Recipients" +#~ msgstr "Destinatários Selecionados" + +#~ msgid "Search Results" +#~ msgstr "Resultados da Procura" + +#~ msgid "Search _for:" +#~ msgstr "_Procurar por:" + +#~ msgid "None (Don't Sign)" +#~ msgstr "Nenhuma (Não Assinar)" + +#~ msgid "Sign this message as %s" +#~ msgstr "Assinar a mensagem como %s" + +#~ msgid "_Sign message as:" +#~ msgstr "_Assinar a mensagem como:" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "Ficheiro não é um ficheiro .desktop válido" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "Versão \"%s\" de ficheiro desktop desconhecida" + +#~ msgid "Starting %s" +#~ msgstr "A iniciar %s" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "A aplicação não aceita documentos na linha de comando" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "Opção de iniciação desconhecida: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "" +#~ "Impossível passar URIs de documentos a uma entrada desktop 'Type=Link'" + +#~ msgid "Not a launchable item" +#~ msgstr "Não é um item iniciável" + +#~ msgid "Disable connection to session manager" +#~ msgstr "Desativar a ligação ao gestor de sessões" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "Especifique o ficheiro que contém a configuração gravada" + +#~ msgid "FILE" +#~ msgstr "FICHEIRO" + +#~ msgid "Specify session management ID" +#~ msgstr "Especifique o ID de gestão de sessão" + +#~ msgid "Session management options:" +#~ msgstr "Opções da gestão de sessão:" + +#~ msgid "Show session management options" +#~ msgstr "Mostrar as opções da gestão de sessão" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "%i chave importada" +#~ msgstr[1] "%i chaves importadas" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "Importada uma chave para" +#~ msgstr[1] "Importadas chaves para" + +#~ msgid "Notification Messages" +#~ msgstr "Mensagens de Notificação" + +#~ msgid "Symmetric Key" +#~ msgstr "Chave Simétrica" + +#~ msgid "Credentials" +#~ msgstr "Credenciais" + +#~ msgid "Identity" +#~ msgstr "Identidade" + +#~ msgid "Progress Title" +#~ msgstr "Título do Progresso" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "Impossível executar o file-roller" + +#~ msgid "Couldn't package files" +#~ msgstr "Impossível empacotar os ficheiros" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "O processo file-roller não terminou com sucesso" + +#~ msgid "Loading Keys..." +#~ msgstr "A Ler as Chaves..." + +#~ msgid "Uploading keys..." +#~ msgstr "A enviar chaves..." + +#~ msgid "Retrieving keys..." +#~ msgstr "A obter chaves..." + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "A procurar chaves que contenham \"%s\"..." + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "A procurar o id de chave \"%s\"..." + +#~ msgid "Retrieving remote keys..." +#~ msgstr "A obter as chaves remotas..." + +#~ msgid "Sending keys to key server..." +#~ msgstr "A enviar as chaves para um servidor de chaves..." + +#~ msgid "Invalid" +#~ msgstr "Inválida" + +#~ msgid "Private Secure Shell Key" +#~ msgstr "Chave Privada de terminal seguro" + +#~ msgid "Public Secure Shell Key" +#~ msgstr "Chave Pública de terminal seguro" + +#~ msgid "Passphrase:" +#~ msgstr "Frase-passe:" + +#~ msgid "Couldn't share keys" +#~ msgstr "Impossível partilhar as chaves" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "Impossível publicar informação de descoberta na rede." + +#~ msgid "%s's encryption keys" +#~ msgstr "Chaves de encriptação de %s" + +#~ msgid "Key Sharing" +#~ msgstr "Partilha de Chaves" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "Partilhar as suas chaves permite que outras pessoas na sua rede utilizem " +#~ "as chaves que colecionou. Isto significa que podem automaticamente " +#~ "encriptar coisas para si ou os seus conhecidos, sem que lhes tenha de " +#~ "enviar a sua chave.\n" +#~ "\n" +#~ "Nota: As suas chaves pessoais continuarão seguras." + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "_Partilhar as minhas chaves com outros na minha rede" + +#~ msgid "Seahorse Daemon" +#~ msgstr "Daemon Seahorse" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "X chaves selecionadas para sincronização" + +#~ msgid "" +#~ "One or more of the deleted keys are private keys. Are you sure you want " +#~ "to proceed?" +#~ msgstr "" +#~ "Uma ou mais das chaves eliminadas são chaves privadas. Tem a certeza de " +#~ "que deseja continuar?" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/nate/.ssh/blah_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" + +#~ msgid "Create a PGP Key" +#~ msgstr "Criar uma Chave PGP" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginal\n" +#~ "Full\n" +#~ "Ultimate" +#~ msgstr "" +#~ "Desconhecida\n" +#~ "Nunca\n" +#~ "Marginal\n" +#~ "Completa\n" +#~ "Absoluta" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginally\n" +#~ "Fully\n" +#~ "Ultimately" +#~ msgstr "" +#~ "Desconhecida\n" +#~ "Nunca\n" +#~ "Marginalmente\n" +#~ "Completamente\n" +#~ "Absolutamente" + +#~ msgid "Other _Collected Keys" +#~ msgstr "Outras _Chaves Colecionadas" + +#~ msgid "_Trusted Keys" +#~ msgstr "_Chaves de Confiança" + +#~ msgid "Removing item" +#~ msgstr "A remover o item" + +#~ msgid "Couldn't get default password keyring" +#~ msgstr "Impossível obter o chaveiro de senhas por omissão" + +#~ msgid "Couldn't get list of password keyrings" +#~ msgstr "Incapaz obter a lista dos chaveiros de senhas" + +#~ msgid "Are you sure you want to permanently delete the '%s' keyring?" +#~ msgstr "" +#~ "Tem a certeza de que deseja remover definitivamente o chaveiro \"%s\"?" + +#~ msgid "Default Keyring" +#~ msgstr "Chaveiro por Omissão" + +#~ msgid "Password Keyrings" +#~ msgstr "Chaveiro de Senhas" + +#~ msgid "Password and Encryption Settings" +#~ msgstr "Definições de Senhas e Encriptação" + +#~ msgid "_Add Keyring" +#~ msgstr "_Adicionar Chaveiro" + +#~ msgid "_Remove Keyring" +#~ msgstr "_Remover Chaveiro" + +#~ msgid "Unknown Key: %s" +#~ msgstr "Chave Desconhecida: %s" + +#~ msgid "Unavailable Key" +#~ msgstr "Chave Indisponível" + +#~ msgid "X509 Certificate" +#~ msgstr "Certificado X509" + +#~ msgid "Loading..." +#~ msgstr "A Ler..." + +#~ msgid "Invalid or unrecognized object." +#~ msgstr "Objeto inválido ou não reconhecido." + +#~ msgid "Exporting is not yet supported." +#~ msgstr "Exportar ainda não é suportado." + +#~ msgid "Expiry for Subkey %d of %s" +#~ msgstr "Expiração da Subchave %d de %s" + +#~ msgid "Import keys into your key ring from a file" +#~ msgstr "Importar chaves de um ficheiro para o seu chaveiro" + +#~ msgid "_Close" +#~ msgstr "_Fechar" + +#~ msgid "Secure Shell Passphrase" +#~ msgstr "Frase-passe de terminal seguro" + +#~ msgid "Secure Shell Key Passphrase" +#~ msgstr "Frase-passe da Chave de terminal seguro" + +#~ msgid "Enter the passphrase for: %s" +#~ msgstr "Insira a frase-passe para: %s" + +#~ msgid "Save this passphrase in my keyring" +#~ msgstr "Gravar esta frase-passe no meu chaveiro" + +#~ msgid "_Key" +#~ msgstr "C_have" + +#~ msgid "_About" +#~ msgstr "_Sobre" + +#~ msgid "E_xport Public Key..." +#~ msgstr "E_xportar a Chave Pública..." + +#~ msgid "_Copy Public Key" +#~ msgstr "_Copiar a Chave Pública" + +#~ msgid "Please enter a passphrase to use." +#~ msgstr "Insira uma frase-passe a utilizar." + +#~ msgid "Unparseable Key ID" +#~ msgstr "ID de Chave improcessável" + +#~ msgid "Unknown/Invalid Key" +#~ msgstr "Chave Desconhecida/Inválida" + +#~ msgid "PGP Key: %s" +#~ msgstr "Chave PGP: %s" + +#~ msgid "" +#~ "Warning: Your system is not configured to cache passphrases in " +#~ "secure memory." +#~ msgstr "" +#~ "Aviso: O seu sistema não está configurado para guardar as senhas " +#~ "em cache em memória segura." + +#~ msgid "Cache _Preferences" +#~ msgstr "_Preferências de Cache" + +#~ msgid "Cached Encryption Keys" +#~ msgstr "Chaves de Encriptação em Cache" + +#~ msgid "Change passphrase cache settings." +#~ msgstr "Alterar as definições da cache de frases-senha" + +#~ msgid "Clear passphrase cache" +#~ msgstr "Limpar a cache de frases-senhas" + +#~ msgid "_Clear Cache" +#~ msgstr "_Limpar a Cache" + +#~ msgid "_Show Window" +#~ msgstr "Mostrar a _Janela" + +#~ msgid "Do not daemonize seahorse-agent" +#~ msgstr "Não iniciar o seahorse-agent como daemon" + +#~ msgid "Print variables in for a C type shell" +#~ msgstr "Imprimir variáveis para um tipo de consola C" + +#~ msgid "Display environment variables (the default)" +#~ msgstr "Mostrar as variáveis de ambiente (a omissão)" + +#~ msgid "Allow GPG agent request from any display" +#~ msgstr "Permitir pedidos de agente GPG de qualquer ecrã" + +#~ msgid "command..." +#~ msgstr "comando..." + +#~ msgid "Encryption Key Agent (Seahorse)" +#~ msgstr "Agente de Chave de Encriptação (Seahorse)" + +#~ msgid "no command specified to execute" +#~ msgstr "nenhum comando especificado para executar" + +#~ msgid "Authorize Passphrase Access" +#~ msgstr "Autorizar o Acesso às Frases-Senha" + +#~ msgid "The passphrase is cached in memory." +#~ msgstr "A frase-passe está armazenada na cache de memória." + +#~ msgid "Always ask me before using a cached passphrase" +#~ msgstr "Perguntar sempre antes de utilizar uma frase-passe em cache" + +#~ msgid "_Authorize" +#~ msgstr "_Autorizar" + +#~ msgid "" +#~ "After performing an decrypt or verify operation from the applet, display " +#~ "the resulting text in a window." +#~ msgstr "" +#~ "Após realizar uma operação de desencriptação ou verificação a partir da " +#~ "applet, mostrar o texto resultante numa janela." + +#~ msgid "" +#~ "After performing an encrypt or signing operation from the applet, display " +#~ "the resulting text in a window." +#~ msgstr "" +#~ "Após realizar uma operação de encriptação ou assinatura a partir da " +#~ "applet, mostrar o texto resultante numa janela." + +#~ msgid "Display cache reminder in the notification area" +#~ msgstr "Mostrar lembrete de cache na área de notificação" + +#~ msgid "Display clipboard after decrypting" +#~ msgstr "Mostrar área de transferência após desencriptar" + +#~ msgid "Display clipboard after encrypting" +#~ msgstr "Mostrar área de transferência após encriptar" + +#~ msgid "Expire passwords in the cache" +#~ msgstr "Expirar as senhas em cache" + +#~ msgid "" +#~ "If set to 'gnome' uses gnome-keyring to cache passwords. When set to " +#~ "'internal' uses internal cache." +#~ msgstr "" +#~ "Se definido como 'gnome' utiliza o gnome-keyring para fazer cache das " +#~ "senhas. Quando definido como 'internal' utiliza a cache interna." + +#~ msgid "Prompt before using GPG passwords in cache" +#~ msgstr "Perguntar antes de utilizar as senhas GPG em cache" + +#~ msgid "" +#~ "Reflect the contents of the clipboard (whether encrypted, signed, etc...) " +#~ "in the panel applet icon." +#~ msgstr "" +#~ "Refletir o conteúdo da área de transferência (independentemente de " +#~ "encriptado, assinado, etc...) no ícone da applet de painel." + +#~ msgid "" +#~ "Set to 'true' to enable display of the cache reminder in the notification " +#~ "area of your panel." +#~ msgstr "" +#~ "Definir como 'true' para ativar a apresentação do lembrete de cache na " +#~ "área de notificação do seu painel." + +#~ msgid "" +#~ "Set to 'true' to have seahorse-agent prompt before giving out passwords " +#~ "it has cached." +#~ msgstr "" +#~ "Definir como 'true' para que o seahorse-agent pergunte antes de dar as " +#~ "senhas que possui em cache." + +#~ msgid "Show clipboard state in panel" +#~ msgstr "Mostrar o estado da área de transferência no painel" + +#~ msgid "The time (in minutes) to cache GPG passwords" +#~ msgstr "O tempo (em minutos) para efetuar cache de senhas GPG" + +#~ msgid "" +#~ "This is the amount of time, specified in minutes, to cache GPG passwords " +#~ "in seahorse-agent." +#~ msgstr "" +#~ "Esta é a quantidade de tempo, especificada em minutos, durante a qual " +#~ "efetuar caceh de senhas GPG no seahorse-agent." + +#~ msgid "" +#~ "This option enables the GPG password cache in the seahorse-agent program. " +#~ "The 'use-agent' setting in gpg.conf affects this setting." +#~ msgstr "" +#~ "Esta opção ativa a cache de senhas GPG na aplicação seahorse-agent. A " +#~ "definição 'use-agent' no gpg.conf afeta esta definição." + +#~ msgid "" +#~ "When set, seahorse-agent expires GPG passwords in its cache after a " +#~ "period of time." +#~ msgstr "" +#~ "Quando definida, o seahorse-agent expira as senhas GPG armazenadas em " +#~ "cache após um determinado período de tempo." + +#~ msgid "Whether the GPG password cache is enabled" +#~ msgstr "Se a cache de senhas GPG está ou não ativa" + +#~ msgid "None. Prompt for a key." +#~ msgstr "Nenhuma. Pedir uma chave." + +#~ msgid "Default Key" +#~ msgstr "Chave por Omissão" + +#~ msgid "Remember PGP Passphrases" +#~ msgstr "Recordar Frases-Senha PGP" + +#~ msgid "A supported PGP passphrase caching agent is not running." +#~ msgstr "" +#~ "Não se encontra em execução um agente de cache de frases-senha PGP " +#~ "suportado." + +#~ msgid "This key is used to sign messages when no other key is chosen" +#~ msgstr "" +#~ "Esta chave é utilizada para assinar mensagens quando não é selecionada " +#~ "nenhuma outra chave" + +#~ msgid "As_k me before using a cached passphrase" +#~ msgstr "_Perguntar antes de utilizar uma frase-passe em cache" + +#~ msgid "Encryption" +#~ msgstr "Encriptação" + +#~ msgid "PGP Passphrases" +#~ msgstr "Frases-Senha PGP" + +#~ msgid "Show _icon in status area when passphrases are in memory" +#~ msgstr "" +#~ "_Mostrar ícone na área de estados quando as frases-senha estiverem em " +#~ "memória" + +#~ msgid "When _encrypting, always include myself as a recipient" +#~ msgstr "Ao _encriptar, incluir sempre o próprio como destinatário" + +#~ msgid "_Always remember passphrases whenever logged in" +#~ msgstr "Recordar _sempre as frases-senha se tiver uma sessão iniciada" + +#~ msgid "_Default key:" +#~ msgstr "Chave por _omissão:" + +#~ msgid "_Never remember passphrases" +#~ msgstr "_Nunca recordar frases-senha" + +#~ msgid "_Remember passphrases for" +#~ msgstr "_Recordar frases-senha para" + +#~ msgid "Couldn't set permissions on backup file." +#~ msgstr "Impossível definir as permissões do ficheiro de cópia de segurança." + +#~ msgid "Encrypt, decrypt or sign the clipboard (uses PGP type encryption)." +#~ msgstr "" +#~ "Encriptar, desencriptar ou assinar a área de transferência (utiliza " +#~ "encriptação do tipo PGP)." + +#~ msgid "Seahorse Applet Factory" +#~ msgstr "Fábrica de Applets Seahorse" + +#~ msgid "seahorse-applet" +#~ msgstr "seahorse-applet" + +#~ msgid "Use PGP/GPG to encrypt/decrypt/sign/verify/import the clipboard." +#~ msgstr "" +#~ "Utilizar PGP/GPG para encriptar/desencriptar/assinar/verificar/importar a " +#~ "área de transferência." + +#~ msgid "Choose Recipient Keys" +#~ msgstr "Selecionar as Chaves dos Destinatários" + +#~ msgid "Encrypted Text" +#~ msgstr "Texto Encriptado" + +#~ msgid "Encryption Failed" +#~ msgstr "Falha ao Encriptar" + +#~ msgid "The clipboard could not be encrypted." +#~ msgstr "Impossível encriptar a área de transferência." + +#~ msgid "Choose Key to Sign with" +#~ msgstr "Selecionar a Chave com que Assinar" + +#~ msgid "Signed Text" +#~ msgstr "Texto Assinado" + +#~ msgid "Signing Failed" +#~ msgstr "Falha ao Assinar" + +#~ msgid "The clipboard could not be Signed." +#~ msgstr "Impossível Assinar a área de transferência." + +#~ msgid "Keys were found but not imported." +#~ msgstr "Foram encontradas chaves mas não importadas." + +#~ msgid "Decrypting Failed" +#~ msgstr "Falha ao Desencriptar" + +#~ msgid "Text may be malformed." +#~ msgstr "O texto poderá estar mal formado." + +#~ msgid "No PGP key or message was found on clipboard" +#~ msgstr "" +#~ "Não foi encontrada nenhuma chave ou mensagem PGP na área de transferência" + +#~ msgid "No PGP data found." +#~ msgstr "Nenhuns dados PGP encontrados." + +#~ msgid "Decrypted Text" +#~ msgstr "Texto Desencriptado" + +#~ msgid "Could not display the help file" +#~ msgstr "Impossível mostrar o ficheiro de ajuda" + +#~ msgid "_Encrypt Clipboard" +#~ msgstr "_Encriptar a Área de Transferência" + +#~ msgid "_Sign Clipboard" +#~ msgstr "_Assinar a Área de Transferência" + +#~ msgid "_Decrypt/Verify Clipboard" +#~ msgstr "_Desencriptar/Verificar a Área de Transferência" + +#~ msgid "_Import Keys from Clipboard" +#~ msgstr "_Importar Chaves da Área de Transferência" + +#~ msgid "Encryption Applet" +#~ msgstr "Applet de Encriptação" + +#~ msgid "Display clipboard contents after:" +#~ msgstr "Mostrar conteúdo da área de transferência após:" + +#~ msgid "Clipboard Encryption Preferences" +#~ msgstr "Preferências da Encriptação da Área de Transferência" + +#~ msgid "_Decrypting or verifying the clipboard" +#~ msgstr "_Desencriptar ou verificar a área de transferência" + +#~ msgid "_Encrypting or signing the clipboard" +#~ msgstr "_Ecriptar ou assinar a área de transferência" + +#~ msgid "_Show clipboard state in panel" +#~ msgstr "_Mostrar o estado da área de transferência no painel" + +#~ msgid "_Decrypt/Verify" +#~ msgstr "_Desencriptar/Verificar" + +#~ msgid "_Import Key" +#~ msgstr "_Importar Chave" + +#~ msgid "Couldn't connect to seahorse-daemon" +#~ msgstr "Impossível ligar ao seahorse-daemon" + +#~ msgid "Encrypted text" +#~ msgstr "Texto encriptado" + +#~ msgid "Couldn't encrypt text" +#~ msgstr "Impossível encriptar o texto" + +#~ msgid "Keys found but not imported" +#~ msgstr "Chaves encontradas mas não importadas" + +#~ msgid "Couldn't decrypt text" +#~ msgstr "Impossível desencriptar o texto" + +#~ msgid "Couldn't verify text" +#~ msgstr "Impossível verificar o texto" + +#~ msgid "No encrypted or signed text is selected." +#~ msgstr "Não foi selecionado nenhum texto encriptado ou assinado." + +#~ msgid "Verified text" +#~ msgstr "Texto verificado" + +#~ msgid "Imported %d key" +#~ msgid_plural "Imported %d keys" +#~ msgstr[0] "%d chave importada" +#~ msgstr[1] "%d chaves importadas" + +#~ msgid "Signed text" +#~ msgstr "Texto assinado" + +#~ msgid "Couldn't sign text" +#~ msgstr "Impossível assinar o texto" + +#~ msgid "_Encrypt..." +#~ msgstr "_Encriptar..." + +#~ msgid "Encrypt the selected text" +#~ msgstr "Encriptar o texto selecionado" + +#~ msgid "Decr_ypt/Verify" +#~ msgstr "Desencriptar/_Verificar" + +#~ msgid "Decrypt and/or Verify text" +#~ msgstr "Desencriptar e/ou Verificar o texto" + +#~ msgid "Sig_n..." +#~ msgstr "Assi_nar..." + +#~ msgid "Sign the selected text" +#~ msgstr "Assinar o texto selecionado" + +#~ msgid "Enable the seahorse encryption plugin for gedit." +#~ msgstr "Ativar o plugin de encriptação seahorse para o gedit." + +#~ msgid "Enable the seahorse gedit plugin" +#~ msgstr "Ativar o plugin seahorse para o gedit" + +#~ msgid "Text Encryption" +#~ msgstr "Encriptação de Texto" + +#~ msgid "This plugin performs encryption operations on text." +#~ msgstr "O plugin efetua operações de encriptação sobre texto." + +#~ msgid "Encrypt..." +#~ msgstr "Encriptar..." + +#~ msgid "Encrypt (and optionally sign) the selected file" +#~ msgid_plural "Encrypt the selected files" +#~ msgstr[0] "Encriptar (e opcionalmente assinar) o ficheiro selecionado" +#~ msgstr[1] "Encriptar os ficheiros selecionados" + +#~ msgid "Sign the selected file" +#~ msgid_plural "Sign the selected files" +#~ msgstr[0] "Assinar o ficheiro selecionado" +#~ msgstr[1] "Assinar os ficheiros selecionados" + +#~ msgid "For internal use" +#~ msgstr "Para utilização interna" + +#~ msgid "Encryption Preferences" +#~ msgstr "Preferências de Encriptação" + +#~ msgid "Configure key servers and other encryption settings" +#~ msgstr "Configurar servidores de chaves e outras definições de encriptação" + +#~ msgid "Encryption and Keyrings" +#~ msgstr "Encriptação e Chaveiros" + +#~ msgid "Encrypt file" +#~ msgstr "Encriptar ficheiro" + +#~ msgid "Sign file with default key" +#~ msgstr "Assinar ficheiro com a chave por omissão" + +#~ msgid "Encrypt and sign file with default key" +#~ msgstr "Encriptar e assinar ficheiro com a chave por omissão" + +#~ msgid "Decrypt encrypted file" +#~ msgstr "Desencriptar ficheiro encriptado" + +#~ msgid "Verify signature file" +#~ msgstr "Verificar ficheiro de assinatura" + +#~ msgid "Read list of URIs on standard in" +#~ msgstr "Ler a lista de URIs na consola" + +#~ msgid "file..." +#~ msgstr "ficheiro..." + +#~ msgid "Choose Recipients" +#~ msgstr "Selecionar os Destinatários" + +#~ msgid "Choose Encrypted File Name for '%s'" +#~ msgstr "Selecione o nome de ficheiro encriptado para \"%s\"" + +#~ msgid "Choose Signature File Name for '%s'" +#~ msgstr "Selecione o nome de ficheiro de assinatura para \"%s\"" + +#~ msgid "Import is complete" +#~ msgstr "A importação terminou" + +#~ msgid "Importing keys ..." +#~ msgstr "A importar chaves..." + +#~ msgid "Choose Decrypted File Name for '%s'" +#~ msgstr "Selecione o nome de ficheiro desencriptado para \"%s\"" + +#~ msgid "Choose Original File for '%s'" +#~ msgstr "Selecione o ficheiro original para \"%s\"" + +#~ msgid "No valid signatures found" +#~ msgstr "Nenhuma assinatura válida encontrada" + +#~ msgid "File Encryption Tool" +#~ msgstr "Ferramenta de Encriptação de Ficheiros" + +#~ msgid "Encrypting" +#~ msgstr "A Encriptar" + +#~ msgid "Couldn't encrypt file: %s" +#~ msgstr "Impossível encriptar o ficheiro: %s" + +#~ msgid "Signing" +#~ msgstr "A Assinar" + +#~ msgid "Couldn't sign file: %s" +#~ msgstr "Impossível assinar o ficheiro: %s" + +#~ msgid "Couldn't import keys from file: %s" +#~ msgstr "Impossível importar chaves do ficheiro: %s" + +#~ msgid "Decrypting" +#~ msgstr "A Desencriptar" + +#~ msgid "Couldn't decrypt file: %s" +#~ msgstr "Impossível desencriptar o ficheiro: %s" + +#~ msgid "Verifying" +#~ msgstr "A Verificar" + +#~ msgid "Couldn't verify file: %s" +#~ msgstr "Impossível verificar o ficheiro: %s" + +#~ msgid "Ace (.ace)" +#~ msgstr "Ace (.ace)" + +#~ msgid "Ar (.ar)" +#~ msgstr "Ar (.ar)" + +#~ msgid "Arj (.arj)" +#~ msgstr "Arj (.arj)" + +#~ msgid "Ear (.ear)" +#~ msgstr "Ear (.ear)" + +#~ msgid "Self-extracting zip (.exe)" +#~ msgstr "Zip autoextraível (.exe)" + +#~ msgid "Jar (.jar)" +#~ msgstr "Jar (.jar)" + +#~ msgid "Lha (.lzh)" +#~ msgstr "Lha (.lzh)" + +#~ msgid "Rar (.rar)" +#~ msgstr "Rar (.rar)" + +#~ msgid "Tar uncompressed (.tar)" +#~ msgstr "Tar sem compressão (.tar)" + +#~ msgid "Tar compressed with bzip (.tar.bz)" +#~ msgstr "Tar comprimido com o bzip (.tar.bz)" + +#~ msgid "Tar compressed with bzip2 (.tar.bz2)" +#~ msgstr "Tar comprimido com o bzip2 (.tar.bz2)" + +#~ msgid "Tar compressed with gzip (.tar.gz)" +#~ msgstr "Tar comprimido com o gzip (.tar.gz)" + +#~ msgid "Tar compressed with lzop (.tar.lzo)" +#~ msgstr "Tar comprimido com o lzop (.tar.lzo)" + +#~ msgid "Tar compressed with compress (.tar.Z)" +#~ msgstr "Tar comprimido com o compress (.tar.Z)" + +#~ msgid "War (.war)" +#~ msgstr "War (.war)" + +#~ msgid "Zip (.zip)" +#~ msgstr "Zip (.zip)" + +#~ msgid "Zoo (.zoo)" +#~ msgstr "Zoo (.zoo)" + +#~ msgid "7-Zip (.7z)" +#~ msgstr "7-Zip (.7z)" + +#~ msgid "You have selected %d file " +#~ msgid_plural "You have selected %d files " +#~ msgstr[0] "Selecionou %d ficheiro " +#~ msgstr[1] "Selecionou %d ficheiros " + +#~ msgid "%s%s" +#~ msgstr "%s%s" + +#~ msgid "You have selected %d files" +#~ msgstr "Selecionou %d ficheiros" + +#~ msgid "You have selected %d folder" +#~ msgid_plural "You have selected %d folders" +#~ msgstr[0] "Selecionou %d pasta" +#~ msgstr[1] "Selecionou %d pastas" + +#~ msgid "Couldn't list files" +#~ msgstr "Impossível listar os ficheiros" + +#~ msgid "Couldn't read file" +#~ msgstr "Impossível ler o ficheiro" + +#~ msgid "Copied %d key" +#~ msgid_plural "Copied %d keys" +#~ msgstr[0] "%d chave copiada" +#~ msgstr[1] "%d chaves copiadas" + +#~ msgid "Back up Key Rings to Archive" +#~ msgstr "Efetuar cópia de segurança dos Chaveiros para um Arquivo" + +#~ msgid "_Back up Key Rings..." +#~ msgstr "Efetuar Cópia de Se_gurança dos Chaveiros..." + +#~ msgid "Back up all keys" +#~ msgstr "Efetuar cópia de segurança de todas as chaves" + +#~ msgid "Set Up Computer for _Secure Shell..." +#~ msgstr "Configurar o Computador para uma Consola _Segura..." + +#~ msgid "User ID" +#~ msgstr "ID de Utilizador" + +#~ msgid "Couldn't retrieve key data" +#~ msgstr "Impossível obter os dados da chave" + +#~ msgid "Couldn't write key to file" +#~ msgstr "Impossível escrever a chave no ficheiro" + +#~ msgid "Couldn't import keys into key ring" +#~ msgstr "Impossível importar as chaves para o chaveiro" + +#~ msgid "Couldn't write keys to file: %s" +#~ msgstr "Impossível escrever as chaves num ficheiro: %s" + +#~ msgid "Save Remote Keys" +#~ msgstr "Gravar as Chaves Remotas" + +#~ msgid "No matching keys found" +#~ msgstr "Nenhuma chave equivalente encontrada" + +#~ msgid "Save Key As..." +#~ msgstr "Gravar a Chave Como..." + +#~ msgid "Save selected keys as a file" +#~ msgstr "Gravar as chaves selecionadas para um ficheiro" + +#~ msgid "Remote Encryption Keys" +#~ msgstr "Chaves de Encriptação Remota" + +#~ msgid "You have selected multiple files or folders" +#~ msgstr "Selecionou múltiplos ficheiros ou pastas" + +#~ msgid "" +#~ "Because the files are located remotely, each file will be encrypted " +#~ "separately." +#~ msgstr "" +#~ "Dado que os ficheiros estão localizados remotamente, cada ficheiro será " +#~ "encriptado separadamente." + +#~ msgid "Encrypt Multiple Files" +#~ msgstr "Encriptar Múltiplos Ficheiros" + +#~ msgid "Encrypt each file separately" +#~ msgstr "Encriptar cada ficheiro separadamente" + +#~ msgid "Encrypt packed together in a package" +#~ msgstr "Encriptar tudo num pacote" diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 00000000..9a5fad6e --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,3233 @@ +# Brazilian Portuguese translation of Seahorse. +# Copyright (C) 2020 the Seahorse authors. +# This file is distributed under the same license as the seahorse package. +# Fábio Rafael da Rosa , 2003. +# Max Reinhold Jahnke , 2004. +# Luiz Armesto , 2007. +# Raphael Higino , 2004, 2007. +# Djavan Fagundes , 2008. +# Leonardo Ferreira Fontenelle , 2008-2009. +# Henrique P. Machado , 2009. +# Carlos José Pereira , 2009. +# André Gondim , 2009, 2010. +# Antonio Fernandes C. Neto , 2011. +# Gabriel Speckhahn , 2012. +# Enrico Nicoletto , 2013-2015. +# Bruno Lopes da Silva , 2018. +# Rafael Fontenelle , 2012-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-18 15:22+0000\n" +"PO-Revision-Date: 2020-08-18 08:12-0300\n" +"Last-Translator: Rafael Fontenelle \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"X-Generator: Gtranslator 3.36.0\n" +"X-Project-Style: gnome\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Adicionar servidor de chaves" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Personalizado" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Cancelar" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Salvar" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Não foi possível excluir" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Não foi possível exportar chaves" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Não foi possível exportar os dados" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Cancelar" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "E_xcluir" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Exportar" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Digite o PIN ou a senha para: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Confirmar:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_OK" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Senha:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Senhas" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Chaves" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certificados" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Preferências" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Nenhum: não publicar chaves" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Endereço do servidor de chaves é inválido." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Para ajuda, contate seu administrador de sistemas ou o administrador do " +"servidor de chaves." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "item temporário inicial" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Tipo de servidor de chaves:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Servidor:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "O nome da máquina ou endereço do servidor." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "A porta para acessar o servidor." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Localizar chaves através de:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Publicar chaves para:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "_Obter chaves automaticamente de servidores de chaves" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "_Sincronizar automaticamente chaves modificadas com os servidores" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Servidores de chaves" + +# Grau de confiança no dono dessa chave (se ele confere direito as chaves +# dos outros antes de assinar.) +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Desconhecido" + +# Validade da chave +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Nunca" + +# Validade da chave +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Marginal" + +# Validade da chave +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Completa" + +# Validade da chave +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Plena" + +# Validade da chave +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Desabilitada" + +# Validade da chave +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Revogada" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Visão geral" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Ajuda" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Abre o menu" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Cria uma nova chave ou item" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Importa um item de arquivo" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Pesquisa" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Lista de atalhos" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Sai" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navegação" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Seleciona o chaveiro anterior" + +#: data/gtk/help-overlay.ui:76 +#| msgid "Select Date" +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Seleciona o próximo chaveiro" + +#: data/gtk/help-overlay.ui:83 +#| msgid "Show sidebar listing keyrings" +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Mostra a barra lateral (em telas pequenas)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Mostra o conteúdo do chaveiro (em telas pequenas)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Recuperar chaves automaticamente" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Se chaves devem ou não ser recuperadas automaticamente de servidores de " +"chaves." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Publicar chaves automaticamente" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Se chaves modificadas devem ou não ser publicadas automaticamente." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Publicar chaves neste servidor de chaves" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"O servidor para publicar as chaves PGP. Se vazio, suprime a publicação de " +"chaves PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Último padrão de pesquisa de servidor de chaves" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "O último padrão de pesquisa procurado em um servidor de chaves." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Últimos servidores de chaves utilizados" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"O último servidor de chaves em que uma pesquisa foi realizada ou vazio para " +"todos os servidores principais." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Mostrar barra lateral de chaveiros" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Mostrar barra lateral de chaveiros no Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Quais itens exibir" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtra que itens mostrar. Se vazio, mostra todos os itens; se “personal”, " +"mostra chaves pessoais; se “trusted”, mostra confiados." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Largura do painel lateral" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "A largura padrão do painel lateral." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Os chaveiros escolhidos" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "As URIs dos chaveiros escolhidos na barra lateral." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "A coluna para ordenar as chaves Seahorse por" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Especifica a coluna para ordenar a janela principal do gerenciador de chaves " +"Seahorse. Colunas são: “name”, “id”, “validity”, “expires”, “trust” e " +"“type”. Coloque um “-” na frente do nome da coluna para classificar em ordem " +"decrescente." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Mostrar coluna \"Validade\"" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Em desuso." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Mostrar coluna \"Expiração\"" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Mostrar coluna \"Confiados\"" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Mostrar coluna \"Tipo\"" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Largura da janela" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Largura da janela (em pixels)." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Altura da janela" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Altura da janela (em pixels)." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Gerencie suas senhas e chaves de criptografia" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "" +"Seahorse é um aplicativo do GNOME para gerenciar chaves de criptografia." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Com o Seahorse você pode criar e gerenciar chaves PGP e chaves SSH, publicar " +"e recuperar chaves de servidores de chaves, armazenar em cache sua frase " +"secreta para que você não precise continuar digitando-a e efetuar cópia de " +"segurança (backup) de suas chaves e chaveiro." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "O Projeto GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Senhas e chaves" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "chaveiro;criptografia;segurança;assinar;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Senhas, credenciais e segredos pessoais armazenados" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Não foi possível desbloquear" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Não foi possível adicionar item" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Senha ou segredo" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Segredo de conexão de rede" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Senha de Wi-Fi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Senha de rede" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Senha do GNOME Web" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Senha do Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Senha de mensageiro instantâneo" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Senha de conta de MI para " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Senha do Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Senha do GNOME Online Accounts" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Salvar alterações para esse item?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Acessar compartilhamento ou recurso de rede" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Acessar uma página na web" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Desbloqueia uma chave PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Desbloqueia uma chave de SSH" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Senha ou nome de usuário salvo" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Credenciais de rede" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Senha" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Não foi possível alterar a senha." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Não foi possível definir descrição." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Erro ao excluir a senha." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Nota armazenada" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Senha de chaveiro" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Senha de chave de criptografia" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Senha de armazenamento de chave" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Segredo do Network Manager" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Você tem certeza de que deseja excluir a senha “%s”?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Você tem certeza de que quer excluir %d senha?" +msgstr[1] "Você tem certeza de que quer excluir %d senhas?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Não foi possível adicionar o chaveiro" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Dada desconhecida" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Um chaveiro que é desbloqueado automaticamente no login" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Um chaveiro usado para armazenar senhas" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Não foi possível definir o chaveiro padrão" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Não foi possível alterar a senha do chaveiro" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Definir como padrão" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Alterar _senha" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Você tem certeza de que deseja excluir a senha do chaveiro “%s”?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Eu compreendo que todos os itens serão permanentemente excluídos." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Mostrar/Ocultar senha" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Adicionar senha" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "Cha_veiro:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Descrição:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Senha:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Adicionar" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Adicionar chaveiro de senhas" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Por favor, escolha um nome para o novo chaveiro. Será solicitada uma senha " +"para desbloquear." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Nome do novo chaveiro:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Propriedades do item" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Descrição" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Copiar" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Uso" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Tipo" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Servidor" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Usuário" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Detalhes" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Excluir senha" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Propriedades do chaveiro" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Nome" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Criado em" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Alterar senha" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Definir como padrão" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Exibir bandeiras" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Propriedade de data e/ou hora exibidas" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Modo preguiçoso" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "O modo preguiçoso não normaliza valores de data e hora inseridos" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Ano" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Ano exibido" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mês" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Mês exibido" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dia" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Dia do mês exibido" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Hora" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Hora exibida" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minuto" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Minuto exibido" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Segundo" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Segundo exibido" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Limite de ano inferior" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "O ano parte de uma data limite inferior" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Limite de ano superior" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "O ano parte de um data limite superior" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Limite de mês inferior" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "O mês parte de uma data limite inferior" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Limite de mês superior" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "O mês parte de uma data limite superior" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Limite de dia inferior" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "O dia do mês parte de uma data limite inferior" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Limite de dia superior" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "O dia do mês parte de uma data limite superior" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Limite de horas inferior" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "A hora parte de uma hora limite inferior" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Limite de horas superior" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "A hora parte de uma hora limite superior" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Limite de minutos inferior" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Os minutos partem de uma hora limite inferior" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Limite de minutos superior" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Os minutos partem de uma hora limite superior" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Limite de segundos inferior" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Os segundos partem de uma hora limite inferior" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Limite de segundos superior" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Os segundos partem de uma hora limite superior" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Data" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Digitar a data diretamente" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Selecione a data" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Selecione a data de um calendário" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Hora" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Digitar a hora diretamente" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Selecione a hora" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Selecione a hora a partir de uma lista" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: sim" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Não foi possível exibir ajuda: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Adicionar subchave a %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (somente assinatura)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (somente criptografia)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (somente assinatura)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (somente criptografia)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "_Tipo de chave" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "T_amanho da chave" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Tamanho da chave" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Data de expiração" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Nunca e_xpira" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Se a chave nunca expira" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Gerar uma nova subchave" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Adicionar ID de usuário a %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Não foi possível adicionar o ID de usuário" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Adicionar ID de usuário" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_Nome completo" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Deve ter no mínimo 5 caracteres" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_Endereço de e-mail" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Endereço de e-mail opcional" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Co_mentário da chave" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Comentário opcional descrevendo a chave" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Criar nova ID de usuário" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"Falha na descriptografia. Você provavelmente não tem a chave de " +"descriptografia." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "A operação foi cancelada" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Data de expiração é inválida" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "A data de expiração deve estar no futuro" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Não foi possível mudar a data de expiração" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Expiração: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Nunca expira" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Alterar" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Chaves múltiplas" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Dados da chave" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Chaves PGP blindadas" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Chaves PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Não foi possível gerar chave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Frase secreta para nova chave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Digite a frase secreta para a sua nova chave duas vezes." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Quando estamos criando uma chave, nós precisamos\n" +"gerar muitos dados aleatórios e precisamos de sua\n" +"ajuda. É uma boa ideia realizar algumas ações como\n" +"digitar no teclado, mover o mouse, usar aplicativos.\n" +"Isto fornece ao sistema os dados aleatórios que são\n" +"necessários." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Gerando a chave" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "O nome de ter no mínimo 5 caracteres." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Nova chave PGP" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"Uma chave PGP permite a você criptografar e-mail ou arquivos para outras " +"pessoas." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Opções _avançadas de chave" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Comentário" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_Tipo de criptografia" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Força da chave (bits)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Data de e_xpiração" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Nu_nca expira" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "C_riar" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Gerar uma nova chave" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Você tem certeza de que deseja excluir %s permanentemente?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Você tem certeza de que deseja excluir permanentemente %d chave?" +msgstr[1] "Você tem certeza de que deseja excluir permanentemente %d chaves?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Senha incorreta" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Essa foi a terceira vez que você digitou uma senha incorreta. Por favor, " +"tente novamente." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Frase secreta incorreta." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Digite a nova frase secreta para “%s”" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Digite a frase secreta para “%s”" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Digite a nova frase secreta" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Digite a frase secreta" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Frase secreta" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d chave carregada" +msgstr[1] "%d chaves carregadas" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Dados da chave inválidos (faltando UIDs). Isso pode ser devido a um " +"computador com a data adiantada ou faltando auto-assinatura." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Chaves GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: diretório de chaveiros padrão" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"A foto é muito grande\n" +"O tamanho recomendado para foto na sua chave é %d × %d pixels." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Não redimensionar" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Redimensionar" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Esse não é um arquivo de imagem, ou é de um tipo desconhecido. Tente usar " +"uma imagem JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Todos os arquivos de imagem" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Todos os arquivos JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Todos os arquivos" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Escolha a foto para incluir na chave" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Abrir" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Não foi possível preparar foto" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Não foi possível adicionar foto" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Não foi possível ler o arquivo. Ele deve estar em um formato inválido" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Você tem certeza de que deseja excluir a foto atual da sua chave?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Não foi possível excluir a foto" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Não foi possível revogar a subchave" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Revogar: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Sem razão" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Sem razão para revogar a chave" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Comprometida" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "A chave foi comprometida" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Substituída" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "A chave foi substituída" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Não usada" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Chave fora de uso" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Você está prestes a adicionar %s como revogador para %s. Essa operação não " +"pode ser desfeita! Você tem certeza de que deseja continuar?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Não foi possível adicionar o revogador" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Eu compreendo que essa chave secreta será permanentemente excluída." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Esta chave já foi assinada por\n" +"“%s”" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Não foi possível assinar a chave" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Nenhuma chave utilizável para assinar" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Você não possui chaves PGP pessoais que possam ser usadas para indicar sua " +"confiança nesta chave." + +# Este é o título do diálogo, não o item de menu. +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Assinar chave" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Ao assinar, você indica que confia que esta chave pertence a:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Nome da chave" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Quão cuidadosamente você verificou essa chave?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "De _modo algum" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Despreocupadamente" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Cuidadosamente" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"De modo algum: significa que você acredita que a chave pertence a " +"quem diz ser dona dela, mas você não pôde ou não verificou se é verdade." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Casualmente: significa que você fez uma verificação casual de que a " +"chave pertence à pessoa que afirma ser sua dona. Por exemplo, você poderia " +"ler a impressão digital da chave para o dono pelo telefone." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Muito cuidado: selecione esta opção apenas se você estiver " +"absolutamente certo de que esta chave é genuína." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Você poderia usar uma identificação por foto, que é difícil de forjar (como " +"um passaporte), para verificar pessoalmente se o nome na chave está correto. " +"Você deveria também ter usado o e-mail para verificar se o endereço de e-" +"mail pertence ao dono." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Como outros verão essa assinatura:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Outros não podem ver essa assinatura" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Eu posso _revogar esta assinatura mais tarde." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Assinar chave como:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Signatário:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Assinar" + +# Grau de confiança no dono dessa chave (se ele confere direito as chaves +# dos outros antes de assinar.) +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Desconhecido" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"A pesquisa não foi suficientemente específica. O servidor “%s” localizou " +"muitas chaves." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Não foi possível comunicar com o servidor “%s”: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Servidor de chave HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Não foi possível importar a chave: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Importação da chave realizada com sucesso" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Importar" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Não foi possível importar a chave" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Chaves remotas" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Chaves remotas contendo “%s”" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "A pesquisa por chaves falhou." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Clique duplo em uma chave para inspecioná-la, ou clique no botão Importar " +"para importá-la para seu chaveiro local." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Localizar chaves remotas" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Isto localizará chaves de terceiros na Internet. Essas chaves podem ser " +"importadas para o seu chaveiro local." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Pesquisar por chaves contendo: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Onde pesquisar:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Servidores de chaves:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Chaves compartilhadas perto de mim:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Pesquisar" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Não foi possível publicar chaves para o servidor" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Não foi possível recuperar chaves do servidor: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d chave foi selecionada para sincronização" +msgstr[1] "%d chaves foram selecionadas para sincronização" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Sincronizando chaves…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Sincronizar chaves" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Publica as chaves em seu chaveiro para que elas estejam disponíveis para " +"outros usarem. Você também receberá quaisquer alterações feitas por outros " +"desde que recebeu suas chaves." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Isto recupera quaisquer alterações de terceiros desde que você recebeu suas " +"chaves. Nenhum servidor foi escolhido para publicação, então suas chaves não " +"serão disponibilizadas para outros." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Servidores de _chaves" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Sincronizar" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Não foi possível comunicar com %s: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Conectando a: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Não foi possível resolver o endereço: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Resolvendo o endereço do servidor: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Servidor de chave LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Chaves PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "Chaves PGP são usadas para criptografar e-mails ou arquivos" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(e %d outra)" +msgstr[1] "(e %d outras)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Chave PGP pessoal" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Chave PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Não foi possível alterar a ID de usuário primária" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "" +"Você tem certeza que deseja excluir permanentemente a ID de usuário “%s”?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Não foi possível excluir a id de usuário" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Desconhecido]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Nome/E-mail" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "ID de Assinatura" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Não foi possível alterar a foto primária" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Erro ao alterar senha" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(desconhecido)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Esta chave expirou em: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Chave pública" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Chave privada" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" +"Você tem certeza de que deseja excluir permanentemente a subchave %d de %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Não foi possível excluir a subchave" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Não foi possível alterar a confiança" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Não foi possível exportar a chave" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Nunca" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Uso" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Criado" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Expira" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Estado" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Força" + +# Validade da chave +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Revogada" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Expirada" + +# Validade da chave +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Desabilitado" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Bom" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "ID da chave" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Eu confio em assinaturas de “%s” em outras chaves" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Se você acredita que a pessoa que possui esta chave é “%s”, assine " +"esta chave:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Se você não confia mais que “%s” possui esta chave, revogue sua " +"assinatura:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Exportar chave _secreta" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Exportar chave _pública" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Esta chave foi revogada" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "O dono revogou a chave. Ela não pode mais ser usada." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Esta chave expirou" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Adicionar uma foto a esta chave" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Remover a foto dessa chave" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Fazer desta a foto primária" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Ir para foto anterior" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Ir para próxima foto" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Comentário" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Alterar _frase secreta" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Dono" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Nomes de chaves e assinaturas" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Primária" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Assinar" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Excluir" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Adicionar nome" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Revogar" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Nomes e assinaturas" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "ID da chave:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Tipo:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Força:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Detalhes técnicos" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Impressão digital" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Criada:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Expira:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Datas" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Substituir _confiança do dono:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Exportar para arquivo" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Ações" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Expirar" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Subchaves" + +# Grau de confiança no dono dessa chave (se ele confere direito as chaves +# dos outros antes de assinar.) +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Marginalmente" + +# Grau de confiança no dono dessa chave (se ele confere direito as chaves +# dos outros antes de assinar.) +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Completamente" + +# Grau de confiança no dono dessa chave (se ele confere direito as chaves +# dos outros antes de assinar.) +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Plenamente" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Outros nomes:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Sua confiança nesta chave" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Sua confiança é especificada manualmente na aba Detalhes." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "A_ssinar esta chave" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Revogar assinatura" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Pessoas que assinaram esta chave:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Só exibir as assinaturas de pessoas em quem eu confio" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Confiança" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Detalhes técnicos:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Impressão digital:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Datas:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +#| msgid "Indicate Trust:" +msgid "Indicate trust:" +msgstr "Indicar confiança:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +#| msgid "You _Trust the Owner:" +msgid "You _trust the owner:" +msgstr "Você _confia no dono:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Criptografar" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certificar" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Autenticar" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Chave" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Subchave %d de %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Razão para revogar a chave" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Razão:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Descrição opcional da revogação" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Revogar chave" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Re_vogar" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Você não possui uma chave PGP pessoal que pode ser usada para assinar um " +"documento ou mensagem." + +# Este é o título do diálogo, não o item de menu. +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Escolher chave de assinatura" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Assinar mensagem com chave:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Exportando dados" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Recuperando dados" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Importando dados" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Enviando dados" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Não disponível" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certificado" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certificados (codificados com DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Certificado e chave pessoais" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Certificado pessoal" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "" +"Você tem certeza de que deseja excluir permanentemente %d certificado?" +msgstr[1] "" +"Você tem certeza de que deseja excluir permanentemente %d certificados?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Não foi possível gerar a chave privada" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Eu compreendo que essa chave será permanentemente excluída." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Chave privada sem nome" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Chave privada" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Sem nome" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Falha ao exportar o certificado" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Não foi possível excluir" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Criar" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Não foi possível criar a solicitação de certificado" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Salvar solicitação de certificado" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Salvar" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Solicitação de certificado" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Solicitação codificada com PEM" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Não foi possível salvar a solicitação de certificado" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Desconhecido" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Certificados X.509 e chaves relacionadas" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Nova chave privada" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Criar uma nova chave privada" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Rótulo:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Armazenada em:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Tipo de chave:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Força da chave (bits):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Exclui esse certificado ou chave" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Exporta o certificado" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Solicitar certificado" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Cria um arquivo de solicitação de certificado para essa chave" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Cria um arquivo de solicitação de certificado." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "O nome comum (CN) colocado na requisição de certificado." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Nome (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Contribuições:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Versão deste aplicativo" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Fábio Rafael da Rosa \n" +"Max Reinhold Jahnke \n" +"Raphael Higino (In memoriam) \n" +"Luiz Armesto \n" +"Djavan Fagundes \n" +"Leonardo Ferreira Fontenelle \n" +"Henrique P. Machado \n" +"André Gondim (In memoriam) \n" +"Carlos José Pereira \n" +"Antonio Fernandes C. Neto \n" +"Rafael Fontenelle " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Página do Projeto Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Dados a serem importados" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importar" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "A importação falhou" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Importar chave" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Todos os arquivos de chave" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Texto arrastado" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Texto da área de transferência" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Não foi possível desbloquear o chaveiro" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Alterar frase secreta" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Nova _frase secreta:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Confirma a nova frase secreta" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Con_firmar frase secreta:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Localizar chaves remotas…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Sincronizar e publicar chaves…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Preferências" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "Aj_uda" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "A_talhos de teclado" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_Sobre o Senhas e chaves" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filtrar itens:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Mostrar p_essoais" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Mostrar con_fiados" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Mostrar _todos" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Chave de SSH" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Usada para acessar outros computadores" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Chave PGP" + +#: src/seahorse-key-manager.ui:132 +#| msgid "Used to encrypt email and files" +msgid "Used to encrypt emails and files" +msgstr "Usada para criptografar e-mails e arquivos" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Chaveiro de senhas" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Usada para armazenar senhas de aplicativos e de redes" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Armazena uma senha ou um segredo com segurança" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Usada para solicitar um certificado" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importar de arquivo…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Adicionar uma nova chave ou item" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Voltar" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Pesquisar por uma chave ou senha" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filtro" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Essa coleção parece estar vazia" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "O chaveiro está bloqueado" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Desbloquear" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Copiar segredo" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Exportar…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Propriedades" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Configurar chave para SSH…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "B_loquear" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "Desbloq_uear" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Propriedades" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Não foi possível bloquear" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Shell seguro" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Chaves usadas para conectar com segurança a outros computadores" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Você tem certeza de que deseja excluir a chave de SSH “%s”?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Você tem certeza de que deseja excluir %u chave de SSH?" +msgstr[1] "Você tem certeza de que deseja excluir %u chaves de SSH?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Chaves SSH secretas" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Chaves SSH públicas" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Chave SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Nenhum arquivo de chave pública está disponível para esta chave." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Não foi possível carregar chave de SSH recém-gerada" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Não foi possível gerar chave de SSH" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Criando chave de SSH" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bits" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bits" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Tipo de chave desconhecido!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Tipo desconhecido" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Não foi possível renomear a chave." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Não foi possível alterar a autorização para chave." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Não foi possível alterar a frase secreta para a chave." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Erro ao excluir a chave SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Chave SSH pessoal" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Chave SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Chave de SSH ilegível)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Chave de SSH" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Senha da rede remota" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Digite a frase secreta" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Frase secreta para nova chave de SSH" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Importando chave: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Importando chave. Digite a frase secreta" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Digite sua frase secreta do SSH:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Frase secreta antiga" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Digite a frase secreta antiga para: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Nova frase secreta" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Digite a nova frase secreta para: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Digite a nova frase secreta novamente: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Nova chave de SSH" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Uma chave de shell seguro (SSH) permite que você se conecte de forma segura " +"a computadores." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Descrição" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Seu endereço de e-mail, ou um lembrete para o que essa chave serve." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Se existe um computador com o qual você queira usar esta chave, você pode " +"configurá-lo para reconhecer sua nova chave." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Apenas criar chave" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Criar e configurar" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Propriedades da chave SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nome" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritmo" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Tamanho da chave" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Local" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Chave pública" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Copia a chave pública para a área de transferência" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Acesso remoto" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Permite acessar esse computador remotamente" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Exportar" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "E_xcluir chave SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Configurando computador para conexão SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Para usar a sua chave de SSH com outro computador que use SSH, você precisa " +"já ter uma conta de usuário naquele computador." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Endereço do _servidor:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "ex.: servidor.exemplo.com.br:porta" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Usuário:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Configurar" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Chaves OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Nenhum arquivo de chave privada está disponível para esta chave." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Não foi possível configurar chaves de SSH no computador remoto." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Configurando chaves de SSH…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "O Seahorse é um aplicativo do GNOME para gerenciamento de chaves de " +#~ "criptografia. Ele também se integra com o nautilus, gedit e outros locais " +#~ "para operações de criptografia." + +#~ msgid "Encryption _Type:" +#~ msgstr "_Tipo de criptografia:" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Não foi possível adicionar a subchave" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Combinar todos os chaveiros" + +#~ msgid "Keyring is unlocked" +#~ msgstr "O chaveiro está desbloqueado" + +#~ msgid "Lock" +#~ msgstr "Bloquear" + +#~ msgid "" +#~ "Version 3.32.2 is the next iteration in the stable 3.32 release series, " +#~ "with the following major improvements:" +#~ msgstr "" +#~ "A versão 3.32.2 é a próxima iteração na série de versões estáveis 3.32, " +#~ "com as seguintes melhorias principais:" + +#~ msgid "Fix a crash on old GNOME web (epiphany) passwords" +#~ msgstr "Correção de uma falha em senhas antigas da GNOME Web (Epiphany)" + +#~ msgid "Add OARS metadata, relevant to age restrictions." +#~ msgstr "Adição de metadados OARS, relevantes para restrições de idade." + +#~ msgid "This release also updates translations in several languages." +#~ msgstr "Esta versão também atualiza traduções em vários idiomas." + +#~ msgid "" +#~ "Version 3.32.1 is the next iteration in the stable 3.32 release series, " +#~ "with the following major improvements:" +#~ msgstr "" +#~ "A versão 3.32.1 é a próxima iteração na série estável de versões 3.32, " +#~ "com as seguintes melhorias principais:" + +#~ msgid "Automatically start searching when typing" +#~ msgstr "Início automático da pesquisa ao digitar" + +#~ msgid "Fixed a crash when syncing GPG keys to a HKP keyserver" +#~ msgstr "" +#~ "Corrigida uma falha ao sincronizar chaves GPG com um servidor de chaves " +#~ "HKP" + +#~ msgid "" +#~ "Fixed the build for older vala versions and some configuration options" +#~ msgstr "" +#~ "Corrigida a compilação de versões antigas de vala e algumas opções de " +#~ "configuração" + +#~ msgid "Updated documentation" +#~ msgstr "Documentação atualizada" + +#~ msgid "" +#~ "Version 3.32 is the first stable release since 3.30, with the following " +#~ "major improvements:" +#~ msgstr "" +#~ "A versão 3.32 é a primeira versão estável desde as 3.30, com as seguintes " +#~ "melhorias principais:" + +#~ msgid "A new and contemporary icon" +#~ msgstr "Um ícone novo e contemporâneo" + +#~ msgid "Cleanup of the interface with a headerbar" +#~ msgstr "Limpeza da interface com uma barra de cabeçalho" + +#~ msgid "Added an empty state placeholder" +#~ msgstr "Adicionado um espaço reservado de estado vazio" + +#~ msgid "Passwords filled in in GNOME Web show the website and username" +#~ msgstr "Senhas preenchidas no GNOME Web mostram o site e o nome de usuário" + +#~ msgid "User-specific Wi-Fi Passwords are now recognized" +#~ msgstr "Senhas de Wi-Fi específicas do usuário agora são reconhecidas" + +#~ msgid "Passwords from Chrome are now more often properly recognized" +#~ msgstr "" +#~ "As senhas do Chrome agora são reconhecidas corretamente com mais " +#~ "frequência" + +#~ msgid "" +#~ "Application-specific passwords now show the application logo if available" +#~ msgstr "" +#~ "As senhas específicas do aplicativo agora mostram o logotipo do " +#~ "aplicativo, se disponível" + +#~ msgid "When entering a new password, an indicator shows its strength" +#~ msgstr "Ao digitar uma nova senha, um indicador mostra sua força" + +#~ msgid "Property dialogs for passwords and keys have undergone a cleanup" +#~ msgstr "" +#~ "Diálogos de propriedades para senhas e chaves passaram por uma limpeza" + +#~ msgid "" +#~ "Version 3.30 is the first stable release since 3.20, with the following " +#~ "major improvements:" +#~ msgstr "" +#~ "A versão 3.30 é a primeira versão estável desde 3.20, com as seguintes " +#~ "melhorias principais:" + +#~ msgid "SSH: Added support for ED25519 and ECDSA keys" +#~ msgstr "SSH: Adicionado suporte para chaves ED25519 e ECDSA" + +#~ msgid "SSH: different key length options given the encryption type" +#~ msgstr "" +#~ "SSH: opções de tamanho de chave diferentes, dado o tipo de criptografia" + +#~ msgid "GPG: give a hint when a name is too short for a key" +#~ msgstr "GPG: fornece uma dica quando um nome é muito curto para uma chave" + +#~ msgid "GKR: ask for confirmation when changing a password" +#~ msgstr "GKR: pede confirmação ao alterar uma senha" + +#~| msgid "Couldn’t change keyring password" +#~ msgid "GKR: fix segfault when changing default keyring password" +#~ msgstr "" +#~ "GKR: corrige o falha de segmento ao alterar a senha do conjunto de chaves " +#~ "padrão" + +#~ msgid "Fixed multi-selection of keys" +#~ msgstr "Corrigida seleção de várias chaves" + +#~ msgid "Small tweaks to modernize the UI" +#~ msgstr "Pequenos ajustes para modernizar a interface do usuário" + +#~ msgid "Got rid of several deprecated GTK+ widgets" +#~ msgstr "Livrou-se de vários widgets obsoletos do GTK+" + +#~ msgid "Moved to Meson as build system" +#~ msgstr "Movido para Meson como sistema de compilação" + +#~ msgid "Migrated to GitLab and added CI with Flatpak" +#~ msgstr "Migrado para o GitLab e adicionado CI com Flatpak" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Full _Name:" +#~ msgstr "_Nome completo:" + +#~ msgid "_Email Address:" +#~ msgstr "_Endereço de e-mail:" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "Aplicativos geralmente armazenam senhas no chaveiro padrão." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Alterar a senha de desbloqueio da senha armazenada no chaveiro" + +#~| msgid "Seahorse" +#~ msgid "About Seahorse" +#~ msgstr "Sobre o Seahorse" + +#~ msgid "_File" +#~ msgstr "_Arquivo" + +#~ msgid "_Edit" +#~ msgstr "_Editar" + +#~ msgid "Delete selected items" +#~ msgstr "Excluir itens selecionados" + +#~ msgid "Show the properties of this item" +#~ msgstr "Mostra as propriedades desse item" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Mostra as propriedades desse chaveiro" + +#~ msgid "Prefere_nces" +#~ msgstr "_Preferências" + +#~ msgid "Change preferences for this program" +#~ msgstr "Altera as preferências para este programa" + +#~ msgid "_View" +#~ msgstr "_Ver" + +#~ msgid "_About" +#~ msgstr "_Sobre" + +#~ msgid "About this program" +#~ msgstr "Sobre este programa" + +#~ msgid "_Contents" +#~ msgstr "S_umário" + +#~ msgid "Show Seahorse help" +#~ msgstr "Mostra a ajuda do Seahorse" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Novo chaveiro de senhas" + +#~ msgid "New password…" +#~ msgstr "Nova senha…" + +#~ msgid "_Show Password" +#~ msgstr "Mostrar _senha" + +#~ msgid "PGP Key" +#~ msgstr "Chave PGP" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Importando chaves dos servidores" + +#~ msgid "_Remote" +#~ msgstr "_Remoto" + +#~ msgid "Close this window" +#~ msgstr "Fechar esta janela" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Importar chaves selecionadas para o chaveiro local" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Publicar e/ou sincronizar suas chaves com aquelas on-line." + +# Validade da chave +#~ msgid "Marginal" +#~ msgstr "Marginal" + +# Validade da chave +#~ msgid "Full" +#~ msgstr "Completa" + +# Validade da chave +#~ msgid "Ultimate" +#~ msgstr "Plena" + +#~ msgid "Photo " +#~ msgstr "Foto " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "Email:" +#~ msgstr "E-mail:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Descriptografar arquivos e e-mail enviados para você." + +#~ msgid "Private PGP Key" +#~ msgstr "Chave privada PGP" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Criptografar arquivos e e-mail para o dono da chave" + +#~ msgid "- System Settings" +#~ msgstr "- Configurações do sistema" + +#~ msgid "Don't display a window" +#~ msgstr "Não mostrar uma janela" + +#~ msgid "_New" +#~ msgstr "_Novo" + +#~ msgid "Close this program" +#~ msgstr "Fecha este programa" + +#~ msgid "_New…" +#~ msgstr "_Novo…" + +#~ msgid "_Import…" +#~ msgstr "_Importar…" + +#~ msgid "_Paste" +#~ msgstr "C_olar" + +#~ msgid "Import from the clipboard" +#~ msgstr "Copiar da área de transferência" + +#~ msgid "By _Keyring" +#~ msgstr "Por cha_veiro" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Mostra apenas as chaves, certificados e senhas pessoais" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Mostra apenas as chaves, certificados e senhas confiados" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Mostra todas as chaves, certificados e senhas" + +#~ msgid "New item" +#~ msgstr "Novo item" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Selecione o tipo de item para criar:" + +#~ msgid "Continue" +#~ msgstr "Continuar" + +#~ msgid "First time options:" +#~ msgstr "Opções de primeira execução:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Para começar a criptografar você precisará de chaves." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Importar chaves existentes do arquivo:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Gerar uma nova chave própria: " + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Envia chave pública de SSH para outra máquina e habilita seu uso para " +#~ "iniciar sessões de SSH." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Usada para acessar outros computadores (ex: por um terminal)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "Identifier:" +#~ msgstr "Identificador:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "O dono desta chave está _autorizado a conectar a este computador" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Isto só é aplicável à conta %s." + +#~ msgid "Key length:" +#~ msgstr "Tamanho da chave:" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "O provedor de pesquisa ainda não está carregado" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Name:" +#~ msgstr "Nome:" + +#~ msgid "Keyring" +#~ msgstr "Chaveiro" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "O comando SSH terminou inesperadamente." + +#~ msgid "The SSH command failed." +#~ msgstr "O comando SSH falhou." + +#~ msgid "E_xport..." +#~ msgstr "E_xportar..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Localizar chaves remotas..." + +#~ msgid "_New..." +#~ msgstr "_Novo..." + +#~ msgid "_Import..." +#~ msgstr "_Importar..." diff --git a/po/ro.po b/po/ro.po new file mode 100644 index 00000000..a81a9c11 --- /dev/null +++ b/po/ro.po @@ -0,0 +1,3752 @@ +# Romanian translation for seahorse +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the seahorse package. +# Lucian Adrian Grijincu , 2009, 2010, 2011. +# Devill , 2011. +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-07-14 17:50+0300\n" +"Last-Translator: Florentina Mușat \n" +"Language-Team: Romanian Gnome Team \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2);\n" +"X-Generator: Poedit 2.3.1\n" +"X-Launchpad-Export-Date: 2009-10-03 17:48+0000\n" +"X-Project-Style: gnome\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Adaugă server de chei" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Personalizat" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Anulează" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Salvează" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Nu se poate șterge" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Nu s-au putut exporta cheile" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Nu s-au putut exporta datele" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Anulează" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "Ș_terge" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Exportă" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Introduceți PIN-ul sau parola pentru: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Confirmă:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_OK" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Parolă:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Parole" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Chei" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certificate" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Preferințe" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Nimic: nu publica cheile" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Nu este o adresă validă pentru un server de chei." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Pentru ajutor contactați administratorul de sistem sau administratorul " +"serverului de chei." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "element inițial temporar" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Tip server de chei:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Gazdă:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Numele sau adresa serverului." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Portul pe care se poate accesa serverul." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "Cau_tă chei via:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Publică chei via:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Descarcă automat chei de la serverele de c_hei" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Sincronizează automat cheile _modificate cu serverele de chei" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Servere de chei" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Necunoscută" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Niciodată" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Marginală" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Deplină" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Esențială" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Dezactivat" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Revocat" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Vedere de ansamblu" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Ajutor" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Deschide meniul" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Creează un nou element" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Importă element dintr-un fișier" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Căută" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Listă de scurtături" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Ieșire" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navigare" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Selectează inelul de chei anterior" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Selectează inelul de chei următor" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Arată bara laterală (pe ecrane mici)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Arată conținutul inelului de chei (pe ecrane mici)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Obține automat cheile" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Dacă să se primească automat sau nu chei de la servere de chei." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Publică automat cheile" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Dacă să se publice automat sau nu cheile modificate." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Publică cheile pe acest server de chei" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Serverul de chei către care se publică cheile PGP. Lăsați-l gol pentru a " +"împiedica publicarea de chei PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Ultimul șablon de căutare a unui server de chei" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Ultimul șablon de căutare folosit pentru a căuta pe un server de chei." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Ultimele servere de chei folosite" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Ultimul server de chei folosit pentru a căuta o cheie sau gol pentru toate " +"serverele de chei." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Arată bara laterală a inelelor de chei" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Arată bara laterală a inelelor de chei în Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Care elemente să fie arătate" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtrează care elemente să fie arătate. Dacă este gol, arată toate " +"elementele, dacă este „personal” arată cheile personale, dacă este „de " +"încredere” arată cele de încredere." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Lățimea panoului lateral" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Lățimea implicită a panoului lateral." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Inelele de chei alese" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "URL-urile inelelor de chei alese în bara laterală." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Coloana după care se sortează cheile Seahorse" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Specifică coloana după care se sortează fereastra principală de administrare " +"a cheilor Seahorse. Coloanele sunt: „nume”, „id”, „validitate”, „expirare”, " +"„încredere” și „tip”. Puneți un „-” în fața numelui coloanei pentru a o " +"sorta descrescător." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Afișează coloana de validitate" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Nu se mai află în uz." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Afișează coloana de expirare" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Arată coloana de încredere" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Afișează coloana de tipuri" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Lățimea ferestrei" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Lățimea (în pixeli) a ferestrei." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Înălțimea ferestrei" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Înălțimea (în pixeli) a ferestrei." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Administează parolele și cheile de criptare" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "" +"Seahorse este o aplicație GNOME pentru gestionarea cheilor de criptare." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Cu seahorse puteți crea și administra chei PGP, crea și administra chei SSH, " +"publica și obține chei de la serverele de chei, păstrați în memoria cache " +"parola de tip frază pentru a nu fi nevoie de a o tasta și puteți crea o " +"copie de rezervă a cheilor și inelului de chei." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Proiectul GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Parole și chei" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" +"keyring;encryption;security;sign;ssh;inel de chei;criptare;securitate;semn;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Parole, certificări și secrete personale stocate" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Nu s-a putut debloca" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Nu s-a putut adăuga elementul" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Parolă sau secret" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Secret pentru conexiunea de rețea" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Parolă Wi-Fi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Parola rețelei" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Parolă GNOME Web" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Parola pentru Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Parola pentru mesagerie instant" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Parola contului de IM pentru " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Parola pentru Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Parola pentru conturile online GNOME" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Salvați modificările pentru acest element?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Accesează un dosar partajat sau o resursă din rețea" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Accesează o pagină web" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Deblochează o cheie PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Deblochează o cheie de shell securizat (SSH)" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Parolă sau autentificare salvată" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Autorizări de rețea" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Parolă" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Nu s-a putut modifica parola." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Nu s-a putut stabili descrierea." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Eroare la ștergerea parolei." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Note salvate" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Parola inelului de chei" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Parola cheii de criptare" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Parola pentru stocarea cheilor" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Secretul pentru Network Manager" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Sigur doriți să ștergeți parola „%s”?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Sigur doriți să ștergeți %d parolă?" +msgstr[1] "Sigur doriți să ștergeți %d parole?" +msgstr[2] "Sigur doriți să ștergeți %d de parole?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Nu s-a putut adăuga inelul de chei" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Dată necunoscută" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Un inel de chei care este deblocat automat la autentificare" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Un inel de chei folosit pentru stocarea parolelor" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Nu s-a putut stabili inelul de chei implicit" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Nu s-a putut schimba parola inelului de chei" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "Definește ca i_mplicit" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Schimbă _parola" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Sigur doriți să ștergeți inelul de chei cu parole „%s”?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Înțeleg faptul că toate elementele vor fi șterse permanent." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Arată/ascunde parola" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Adaugă o parolă" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Inel de chei:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Descriere:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Parolă:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Adaugă" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Adaugă un inel de chei pentru parole" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Alegeți un nume pentru noul inel de chei. Vi se va solicita o parolă de " +"deblocare." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Numele noului inel de chei:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Proprietăți element" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Descriere" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Copiază" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Utilizează" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Tip" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Server" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Autentificare" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Detalii" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Șterge parola" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Proprietățile inelului de chei" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Nume" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Creat la" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Modifică parola" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Stabilește ca implicit" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Marcaje de afișaj" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Proprietăți dată și/sau oră afișate" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Modul leneș" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Modul leneș nu normalizează valorile datelor și orelor introduse" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "An" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "An afișat" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Lună" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Lună afișată" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Zi" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Zi afișată" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Oră" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Oră afișată" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minut" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Minut afișat" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Secundă" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Secundă afișată" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Anul limitei inferioare" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Anul din limita inferioară a datei" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Anul limitei superioare" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Anul din limita superioară a datei" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Luna limitei inferioare" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Luna din limita inferioară a datei" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Luna limitei superioare" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Luna din limita superioară a datei" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Ziua limitei inferioare" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Ziua din limita inferioară a datei" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Ziua limitei superioare" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Ziua din limita superioară a datei" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Ora limitei inferioare" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Ora din limita inferioară a datei" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Ora limitei superioare" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Ora din limita superioară a datei" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Minutele limitei inferioare" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Minutele din limita inferioară a datei" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Minutele limitei superioare" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Minutele din limita superioară a datei" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Secundele limitei inferioare" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Secundele din limita inferioară a datei" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Secundele limitei superioare" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Secundele din limita superioară a datei" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Data" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Introduceți direct data" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Alegeți data" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Alegeți data dintr-un calendar" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Ora" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Introduceți direct ora" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Alegeți ora" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Alegeți ora dintr-o listă" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Nu s-a putut afișa ajutorul: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Adaugă subcheia la %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (doar pentru semnare)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (doar pentru criptare)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (doar pentru semnare)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (doar pentru criptare)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "_Tip cheie" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "_Lungime cheie" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Lungimea cheii" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Data expirării" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Nu e_xpiră niciodată" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Dacă cheia nu expiră niciodată" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Generează o nouă subcheie" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Adaugă ID de utilizator la %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Nu s-a putut adăuga ID-ul de utilizator" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Adaugă ID utilizator" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_Nume complet" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Trebuie să aibă minimum 5 caractere" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "Adresă _email" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Adresă e-mail opțională" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Co_mentariu cheie" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Comentariu opțional care descrie cheia" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Creează un nou ID utilizator" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Decriptarea a eșuat. Probabil nu dețineți cheia de decriptare." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Operația a fost anulată" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Dată de expirare nevalidă" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Data de expirare trebuie să fie în viitor" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Nu s-a putut modifica data de expirare" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Expirare: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "Nu expiră _niciodată" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "Sc_himbă" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Chei multiple" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Datele cheii" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Chei PGP cu armură" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Chei PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Nu s-a putut genera cheia PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Fraza secretă pentru noua cheie PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Introduceți de două ori fraza secretă pentru noua cheie." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"La crearea unei chei trebuie să generăm multe\n" +"date aleatorii și avem nevoie de ajutorul dumneavoastră.\n" +"Este o idee bună să efectuați și o altă acțiune cum ar fi\n" +"tastarea pe tastatură, mișcarea mausului, utilizarea aplicațiilor.\n" +"Aceasta oferă sistemului datele aleatorii de care are nevoie." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Se generează cheia" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Trebuie să aibă minimum 5 caractere." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Cheie PGP nouă" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"O cheie PGP vă permite să criptați emailuri și fișiere pe care le trimiteți " +"altora." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "Opțiuni _avansate pentru cheie" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Comentariu" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_Tip de criptare" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "Com_plexitate cheie (biți)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Data e_xpirării" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Nu e_xpiră niciodată" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "C_reează" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Generează o nouă cheie" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Sigur doriți să ștergeți permanent %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Sigur doriți să ștergeți permanent %d cheie?" +msgstr[1] "Sigur doriți să ștergeți permanent %d chei?" +msgstr[2] "Sigur doriți să ștergeți permanent %d de chei?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Arată parola" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Aceasta a fost a treia încercare în care ați introdus o parolă greșită. " +"Încercați din nou." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Frază secretă greșită." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Introduceți o parolă de tip frază nouă pentru „%s”" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Introduceți parola de tip frază pentru „%s”" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Introduceți fraza secretă nouă" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Introduceți fraza secretă" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Frază secretă" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "S-a încărcat %d cheie" +msgstr[1] "S-au încărcat %d chei" +msgstr[2] "S-au încărcat %d de chei" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Datele cheii nu sunt valide (lipsesc UID-urile). Motivul poate fi data " +"calculatorului este definită în viitor sau auto-semnătura lipsește." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Chei GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: dosarul implicit al inelului de chei" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Fotografia este prea mare\n" +"Dimensiunea recomandată pentru o fotografie este de %d x %d pixeli." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "Nu re_dimensiona" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Redimensionează" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Acest fișier nu este o imagine sau este un tip necunoscut de imagini. " +"Încercați să folosiți o imagine JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Toate fișierele imagini" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Toate fișierele JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Toate fișierele" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Alegeți fotografia de adăugat la cheie" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Deschide" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Nu s-a putut pregăti fotografia" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Nu s-a putut adăuga fotografia" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Fișierul nu a putut fi încărcat. S-ar putea să aibă un format nevalid" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Sigur doriți să ștergeți fotografia curentă din cheie?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Nu s-a putut șterge fotografia" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Nu s-a putut revoca subcheia" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Revocă: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Niciun motiv" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Nu s-a dat niciun motiv pentru revocarea cheii" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Compromisă" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Cheia a fost compromisă" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Înlocuită" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Cheia a fost înlocuită" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Neutilizată" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Cheia nu mai este folosită" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Sunteți pe cale de a adăuga %s ca un revocator pentru %s. Această operație " +"nu poate fi anulată! Sigur doriți să continuați?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Nu s-a putut adăuga revocatorul" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Înțeleg că această cheie secretă va fi ștearsă permanent." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Această cheie a fost deja semnată de către\n" +"„%s”" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Nu s-a putut semna cheia" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Nu există chei ce pot fi folosite la semnare" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Nu aveți chei PGP personale care pot fi folosite pentru a indica încrederea " +"în această cheie." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Semnează cheia" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Semnând indicați încrederea că cheia aparține lui:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Nume cheie" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Cât de atent ați verificat cheia aceasta?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Deloc" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "O_bișnuit" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "Cu multă a_tenție" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Deloc: înseamnă că nu ați verificat dacă cheia aparține celui care o " +"revendică că o deține, dar credeți că este adevărat." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Obișnuit: înseamnă că ați făcut o verificare obișnuită a identități " +"persoanei care revendică deținerea cheii. De exemplu, ați citit " +"deținătorului amprenta cheii prin telefon." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Cu multă atenție: Alegeti această opțiune doar dacă sunteți absolut " +"sigur că cheia este autentică." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Puteți folosi o metodă greu de falsificat (de ex. un pașaport) pentru a " +"verifica personal dacă numele cheii este corect. Ar fi trebuit să fi folosit " +"emailul pentru a verifica dacă adresa de email aparține acestei persoane." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Cum vor vedea ceilalți această semnătură:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "Alții nu p_ot vedea această semnătură" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Pot _revoca semnătura la o dată ulterioară." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Semnează cheia ca:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Semnatar:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Semnează" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Necunoscut" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Căutarea nu a fost destul de precisă. Serverul „%s” a găsit prea multe chei." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Nu s-a putut comunica cu serverul „%s”: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Server HTTP de chei" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Nu s-au putut importa cheia: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Importarea cheii a reușit" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Importă" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Nu s-au putut importa cheia" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Chei la distanță" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Chei la distanță care conțin „%s”" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Căutarea cheilor a eșuat." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Dublu clic pe o cheie pentru a o inspecta, sau clic pe butonul de importare " +"pentru a o importa în inelul local de chei." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Caută chei la distanță" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Aceasta va căuta chei la distanță pe Internet. Aceste chei pot fi apoi " +"importate în inelul de chei local." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "Cau_tă chei ce conțin: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Unde să se caute:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Servere de chei:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Chei partajate în apropiere:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Caută" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Nu s-au putut publica cheile pe server" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Nu s-au putut obține cheile de pe server: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d cheie este selectată pentru sincronizare" +msgstr[1] "%d chei sunt selectate pentru sincronizare" +msgstr[2] "%d de chei sunt selectate pentru sincronizare" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Se sincronizează cheile…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Sincronizează cheile" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Va publica cheile din inelul dumneavoastră de chei astfel încât să fie " +"disponibile altora. De asemenea, veți primi și toate modificările pe care " +"alții le-au făcut de când ați primit cheile lor." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Veți primi toate modificările pe care alții le-au făcut de când ați primit " +"cheile lor. Niciun server de chei nu este selectat pentru publicare, prin " +"urmare cheile dumneavoastră nu vor fi făcute publice." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Servere de c_hei" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Sincronizează" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Nu s-a putut comunica cu „%s”: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Se conectează la: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Nu s-a putut rezolva adresa: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Se rezolvă adresa serverului: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Server LDAP de chei" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Chei PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "Cheile PGP sunt folosite pentru a cripta emailuri și fișiere" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(și %d altul)" +msgstr[1] "(și %d altele)" +msgstr[2] "(și %d altele)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Cheie PGP personală" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Cheie PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Nu s-a putut modifica id-ul utilizatorului principal" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Sigur doriți să ștergeți permanent ID-ul de utilizator „%s”?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Nu s-a putut șterge ID-ul utilizatorului" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Nescunoscut]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Nume/Email" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "ID semnătură" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Nu s-a putut modifica fotografia principală" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Eroare la schimbarea parolei" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(necunoscut)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Această cheie expiră la data: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Cheie publică" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Cheie privată" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Sigur doriți să ștergeți permanent subcheia %d din %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Nu s-a putut șterge subcheia" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Nu s-a putut modifica nivelul de încredere" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Nu s-a putut exporta cheia" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Niciodată" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Utilizare" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Creat" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Expiră" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Stare" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Complexitate" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Revocat" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Expirată" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Dezactivat" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Bună" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "ID cheie" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Am încredere în semnăturile lui „%s” pe alte chei" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Dacă credeți că persoana care deține cheia aceasta este „%s”, semnați " +"această cheie:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Dacă nu mai aveți încredere că „%s” deține cheia, revocați semnătura:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "_Exportă cheia secretă" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Exportă cheia publică" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Această cheie a fost revocată" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Deținătorul cheii a revocat cheia. Nu mai poate fi folosită." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Această cheie a expirat" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Adaugă o fotografie la această cheie" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Șterge această fotografie din această cheie" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Definește această fotografie ca fotografia principală" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Treci la fotografia precedentă" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Treci la fotografia următoare" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Comentariu" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Schimbă _frază secretă" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Proprietar" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Nume și semnături de chei" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Primară" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Semnează" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Șterge" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Adaugă nume" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Revocă" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Nume și semnături" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "ID cheie:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Tip:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Complexitate:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Detalii tehnice" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Amprentă" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Creat:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Expiră:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Date" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Înlocuieș_te nivelul de încredere al proprietarului:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Exportă într-un fișier" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Acțiuni" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Expiră" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Subchei" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Marginală" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Deplină" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Esențială" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Alte nume:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Încrederea în această cheie" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Nivelul de încredere este specificat manual în tabul Detalii." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Semnează această cheie" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Revocă semnătura" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Persoanele care au semnat această cheie:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "Afișează d_oar semnăturile persoanelor în care am încredere" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Încredere" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Detalii tehnice:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Amprentă:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Date:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Indică nivelul de încredere:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Aveți încredere în proprie_tar:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Criptează" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certifică" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Autentifică" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Cheie" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Subcheia %d din %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Motiv pentru revocarea cheii" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "Mot_iv:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Descriere opțională de revocare" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Revocă cheia" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Re_vocă" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Nu aveți chei PGP personale care pot fi folosite pentru a semna un document " +"sau un mesaj." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Alege cheia cu care se semnează" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Semnează mesajul cu cheia:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Se exportă date" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Se obțin date" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Se importă date" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Se trimit date" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Indisponibil" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certificat" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certificări (codate DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Certificat și cheie personală" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Certificat personal" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Sigur doriți să ștergeți permanent %d certificat?" +msgstr[1] "Sigur doriți să ștergeți permanent %d certificate?" +msgstr[2] "Sigur doriți să ștergeți permanent %d de certificate?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Nu s-a putut genera cheia privată" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Înțeleg că această cheie va fi ștearsă permanent." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Cheie privată nedenumită" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Cheie privată" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Nedenumit" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Nu s-a putut exporta certificatul" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Nu s-a putut șterge" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Creează" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Nu s-a putut crea cererea pentru certificat" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Salvează cererea certificatului" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Salvează" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Cerere certificat" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Cerere codată PEM" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Nu s-a putut salva cererea de certificat" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Necunoscut" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Certificate și chei asociate X.509" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Cheie privată nouă" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Creează o nouă cheie privată" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Etichetă:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Stocat la:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Tip cheie:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "Com_plexitate cheie (biți):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Șterge certificatul sau cheia" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Exportă certificatul" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Cere un certificat" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Creează un fișier pentru cererea certificatului acestei chei" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Creează un fișier pentru cererea certificatului." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Numele comun (CN) pus în cererea pentru certificat." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Nume (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Contribuții:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Versiunea aceastei aplicații" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Daniel Șerbănescu , 2018-2020\n" +"Florentina Mușat , " +"2020\n" +"\n" +"Launchpad Contributions:\n" +" Adi Roiban https://launchpad.net/~adiroiban\n" +" Alex Eftimie https://launchpad.net/~alexeftimie\n" +" Andrei Coman https://launchpad.net/~comandrei\n" +" Bogdan Bădic-Spătariu https://launchpad.net/~thelad33\n" +" Ionuț Jula https://launchpad.net/~ionutjula\n" +" Lucian Adrian Grijincu https://launchpad.net/~lucian.grijincu\n" +" ProMIX https://launchpad.net/~promix89-gmail" + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Pagina proiectului Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Date de importat" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importă" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Importarea a eșuat" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Importă chei" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Toate fișierele chei" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Text aruncat" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Text clipboard" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Nu s-a putut debloca inelul de chei" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Schimbă frază secretă" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Noua _frază secretă:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Confirmați noua frază secretă" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Con_firmați fraza secretă:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Caută chei la distanță…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Sincronizează și publică cheile…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Preferințe" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Ajutor" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "Scurtături de _tastatură" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_Despre Parole și chei" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filtrează elemente:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Arată p_ersonale" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Arată de î_ncredere" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Arată _oricare" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Cheie pentru shell securizat (ssh)" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Folosită pentru conectarea la alte calculatoare" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Cheie GPG" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Utilizată pentru a cripta emailuri și fișiere" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Inel de chei pentru parole" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Folosit pentru a stoca parole de aplicație și rețea" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Stochează în siguranță o parolă sau un secret" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Folosit pentru a cere un certificat" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importă dintr-un fișier…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Adaugă o nouă cheie sau element" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Înapoi" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Caută după o cheie sau o parolă" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filtru" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Această colecție pare să fie goală" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Inelul de chei este blocat" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Deblochează" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Copiază secretul" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Exportă…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Proprietăți" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Configurează cheia pentru shell securizat (ssh)…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "B_lochează" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Deblochează" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Proprietăți" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Nu s-a putut bloca" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Shell securizat" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Chei folosite pentru conectarea securizată la alte calculatoare" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Sigur doriți să ștergeți cheia de shell securizat (ssh) „%s”?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Sigur doriți să ștergeți %u cheie de shell securizat (ssh)?" +msgstr[1] "Sigur doriți să ștergeți %u chei de shell securizat (ssh)?" +msgstr[2] "Sigur doriți să ștergeți %u de chei de shell securizat (ssh)?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Chei SSH secrete" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Chei SSH publice" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Cheie SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "" +"Nu este disponibil niciun fișier de cheie publică pentru această cheie." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "" +"Nu s-a putut încărca cheia pentru shell securizat (ssh) generată recent" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Nu s-a putut genera cheia pentru shell securizat (ssh)" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Se creează cheia pentru shell securizat (ssh)" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 biți" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 biți" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Tip de cheie necunoscut!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Tip necunoscut" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Nu s-a putut redenumi cheia." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Nu s-a putut schimba autorizarea cheii." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Nu s-a putut schimba fraza secretă a cheii." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Eroare la ștergerea cheii SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Cheie SSH personală" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Cheie SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(cheie shell securizat necitibilă)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Cheie pentru shell securizat (ssh)" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Parola calculatorului la distanță" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Introduceți fraza secretă" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Fraza secretă pentru noua cheie pentru shell securizat (ssh)" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Se importă cheia: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Se importă cheia. Introduceți fraza secretă" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Introduceți fraza secretă pentru Shell securizat (ssh):" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Vechea frază secretă a cheii" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Introduceți fraza secretă veche pentru: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Noua frază secretă" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Introduceți noua frază secretă pentru: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Introduceți noua frază secretă din nou: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Cheie pentru shell securizat nouă" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Cheia pentru shellul securizat (SSH) vă permite să vă conectați în siguranță " +"la alte calculatoare." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Descriere" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Folosiți adresa de email sau un alt memento pentru a ști pentru ce este " +"această cheie." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Dacă există deja un calculator pe care doriți să-l utilizați folosind " +"această cheie, puteți să-l configurați să recunoască noua cheie." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "D_oar creează cheia" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Creează și configurează" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Proprietăți cheie SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Nume" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritm" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Lungime cheie" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Locație" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Cheie publică" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Copiază cheia publică în clipboard" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Acces de la distanță" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Permite accesarea acestui calculator de la distanță" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Exportă" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "Ș_terge cheia SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Configurează un calculator pentru o conexiune SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Pentru a folosi cheia pentru shell securizat pe un alt calculatorul care " +"folosește SSH, trebuie să aveți deja un cont de autentificare pe acel " +"calculator." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Adresă de _server:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "de ex: exemplu.serverfișiere.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "Nume autentifica_re:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Configurează" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Chei OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Nu există fișier cheie privată pentru această cheie." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "" +"Nu s-au putut configura cheile pentru shell securizat (ssh) pe calculatorul " +"de la distanță." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Se configurează cheile pentru shell securizat (ssh)…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse este o aplicație GNOME pentru a gestiona chei de criptare. Se " +#~ "integrează și cu nautilus, gedit și alte locații pentru operații de " +#~ "criptare." + +#~ msgid "Keyring is unlocked" +#~ msgstr "Inelul de chei este deblocat" + +#~ msgid "Lock" +#~ msgstr "Blochează" + +#~ msgid "Expiration Date:" +#~ msgstr "Dată expirare:" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Nu s-a putut adăuga subcheia" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Combină toate inelele de chei" + +#~ msgid "Encryption _Type:" +#~ msgstr "_Tip criptare:" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Full _Name:" +#~ msgstr "_Nume complet:" + +#~ msgid "_Email Address:" +#~ msgstr "Adresă _email:" + +#~ msgid "_File" +#~ msgstr "_Fișier" + +#~ msgid "_Edit" +#~ msgstr "_Editare" + +#~ msgid "Delete selected items" +#~ msgstr "Șterge elementele selectate" + +#~ msgid "Show the properties of this item" +#~ msgstr "Afișează proprietățile acestui element" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Arată proprietățile acestui inel de chei" + +#~ msgid "Prefere_nces" +#~ msgstr "Preferi_nțe" + +#~ msgid "Change preferences for this program" +#~ msgstr "Schimbă preferințele pentru acest program" + +#~ msgid "_View" +#~ msgstr "_Vizualizare" + +#~ msgid "_About" +#~ msgstr "_Despre" + +#~ msgid "About this program" +#~ msgstr "Despre acest program" + +#~ msgid "_Contents" +#~ msgstr "_Conținut" + +#~ msgid "Show Seahorse help" +#~ msgstr "Afișează ajutorul pentru Seahorse" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Un nou inel de chei pentru parole" + +#~ msgid "New password…" +#~ msgstr "Parolă nouă…" + +#~ msgid "Stored Password" +#~ msgstr "Parolă stocată" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "" +#~ "De obicei, aplicațiile stochează parolele noi în inelul de chei implicit." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "" +#~ "Schimbă parola de deblocare a inelului de chei de stocare a parolelor" + +#~ msgid "_Show Password" +#~ msgstr "Ara_tă parola" + +#~ msgid "PGP Key" +#~ msgstr "Cheie PGP" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Se importă chei de la serverele de chei" + +#~ msgid "_Remote" +#~ msgstr "La di_stanță" + +#~ msgid "Close this window" +#~ msgstr "Închide această fereastră" + +#~ msgid "Search for keys on a key server" +#~ msgstr "Caută chei pe un server de chei" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Importă cheile selectate în inelul de chei local" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "" +#~ "Publică și/sau sincronizează cheile dumneavoastră cu cele de pe internet." + +#~ msgid "Marginal" +#~ msgstr "Marginală" + +#~ msgid "Full" +#~ msgstr "Deplină" + +#~ msgid "Ultimate" +#~ msgstr "Fără echivoc" + +#~ msgid "Photo " +#~ msgstr "Fotografie" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nume:" + +#~ msgid "Email:" +#~ msgstr "Email:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Decriptează fișiere și emailuri primite." + +#~ msgid "Private PGP Key" +#~ msgstr "Cheie PGP privată" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Criptează fișiere și email-uri către deținătorul cheii" + +#~ msgid "- System Settings" +#~ msgstr "- Configurări de sistem" + +#~ msgid "Don't display a window" +#~ msgstr "Nu afișa o fereastră" + +#~ msgid "_New" +#~ msgstr "_Nou" + +#~ msgid "Close this program" +#~ msgstr "Închide acest program" + +#~ msgid "_New…" +#~ msgstr "_Nou…" + +#~ msgid "_Import…" +#~ msgstr "_Importă…" + +#~ msgid "_Paste" +#~ msgstr "Li_pește" + +#~ msgid "Import from the clipboard" +#~ msgstr "Importă din clipboard" + +#~ msgid "By _Keyring" +#~ msgstr "După i_nelul de chei" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Arată doar cheile, certificatele și parolele personale" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Arată doar cheile, certificatele și parolele de încredere" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Arată toate cheile, certificatele și parolele" + +#~ msgid "New item" +#~ msgstr "Element nou" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Selectați tipul de element de creat:" + +#~ msgid "Continue" +#~ msgstr "Continuă" + +#~ msgid "First time options:" +#~ msgstr "Opțiuni la prima execuție:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Pentru a cripta veți avea nevoie de chei." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Importă chei existente dintr-un fișiere:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Generează o nouă cheie personală:" + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Trimite cheile publice pentru shell securizat (ssh) pe altă mașină și " +#~ "permite autentificarea prin această metodă." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "" +#~ "Folosită pentru a accesa alte calculatoare (de ex. printr-un terminal)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Nume:" + +#~ msgid "Identifier:" +#~ msgstr "Identificator:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "" +#~ "Proprietarul aceastei chei este _autorizat să se conecteze la acest " +#~ "calculator" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Acestea se aplică doar pentru contul „%s”." + +#~ msgid "Key length:" +#~ msgstr "Lungime cheie:" + +#~ msgid "E_xport Complete Key" +#~ msgstr "E_xportă cheie completă" + +#~ msgid "Couldn't delete keyring" +#~ msgstr "Nu s-a putut șterge inelul de chei" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "Blochează inelul de chei de stocare a parolelor astfel încât să fie " +#~ "nevoie de o parolă-principală pentru a-l debloca." + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "" +#~ "Deblochează inelul de chei de stocare a parolelor cu o parolă-principală " +#~ "pentru a fi disponibil pentru folosire." + +#~ msgid "Properties of the keyring." +#~ msgstr "Proprietățile inelului de chei." + +#~ msgid "Lock the password storage keyring." +#~ msgstr "Blochează inelul de chei de stocare a parolelor." + +#~ msgid "Unlock the password storage keyring." +#~ msgstr "Deschide inelul de chei de stocare a parolelor." + +#~ msgid "Deleting item" +#~ msgid_plural "Deleting items" +#~ msgstr[0] "Se șterge elementul" +#~ msgstr[1] "Se șterg elementele" +#~ msgstr[2] "Se șterg elementele" + +#~ msgid "Properties of the password." +#~ msgstr "Proprietățile parolei." + +#~ msgid "Updating password" +#~ msgstr "Se actualizează parola" + +#~ msgid "Password:" +#~ msgstr "Parola:" + +#~ msgid "Keyring" +#~ msgstr "Inel de chei" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "Accesul la inelul de chei a fost refuzat" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "Serviciul gnome-keyring nu este în execuție." + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "Inelul de chei a fost deja deblocat." + +#~ msgid "No such key ring exists" +#~ msgstr "Nu există un astfel de inel de chei" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "Nu s-a putut comunica cu serviciul de inele de chei" + +#~ msgid "The item already exists" +#~ msgstr "Elementul există deja" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "Eroare internă la accesul la gnome-keyring" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Archive files" +#~ msgstr "Arhivează fișierele" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "Deja există un fișier cu acest nume.\n" +#~ "\n" +#~ "Doriți să-l înlocuiți cu noul fișier?" + +#~ msgid "_Replace" +#~ msgstr "În_locuiește" + +#~ msgid "Show the properties of this place" +#~ msgstr "Afișează proprietățile acestui loc" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "Nu s-a putut exporta cheia către „%s”" + +#~ msgid "Exporting keys" +#~ msgstr "Se exportă chei" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "Nu s-au putut obține date de la serverul de chei" + +#~ msgid "Retrieving keys" +#~ msgstr "Se obțin cheile" + +#~ msgid "E_xport..." +#~ msgstr "E_xportă..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "Cau_tă chei la distanță..." + +#~ msgid "Key Servers:" +#~ msgstr "Servere de chei:" + +#~ msgid "Synchronizing keys..." +#~ msgstr "Se sincronizează cheile..." + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "Sigur doriți să ștergeți permanent %d chei și identități?" + +#~ msgid "Couldn't delete private key" +#~ msgstr "Nu s-a putut șterge cheia privată" + +#~ msgid "Couldn't delete public key" +#~ msgstr "Nu s-a putut șterge cheia publică" + +#~ msgid "_Sign Key..." +#~ msgstr "_Semnează cheia..." + +#~ msgid "Properties of the key." +#~ msgstr "Proprietățile cheii." + +#~ msgid "Algorithms here" +#~ msgstr "Algoritmi aici" + +#~ msgid "Export Complete Key" +#~ msgstr "Exportă cheie completă" + +#~ msgid "Couldn't export key." +#~ msgstr "Nu s-a putut exporta cheia." + +#~ msgid "Actions" +#~ msgstr "Acțiuni" + +#~ msgid "Comment:" +#~ msgstr "Comentariu:" + +#~ msgid "Dates" +#~ msgstr "Date" + +#~ msgid "Key ID:" +#~ msgstr "ID cheie:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "Nume chei și semnături" + +#~ msgid "Type:" +#~ msgstr "Tip:" + +#~ msgid "Use:" +#~ msgstr "Utilizare:" + +#~ msgid "Never" +#~ msgstr "Niciodată" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Nume:" + +#~ msgid "Dates:" +#~ msgstr "Date:" + +#~ msgid "Lock this token" +#~ msgstr "Blochează acest jeton" + +#~ msgid "Unlock this token" +#~ msgstr "Deblochează acest jeton" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "Sigur doriți să ștergeți certificatul „%s”?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "Sigur doriți să ștergeți %d certificat?" +#~ msgstr[1] "Sigur doriți să ștergeți %d certificate?" +#~ msgstr[2] "Sigur doriți să ștergeți %d de certificate?" + +#~ msgid "Deleting" +#~ msgstr "Se șterge" + +#~ msgid "Delete the certificate." +#~ msgstr "Ștergeți certificatul." + +#~ msgid "Also delete matching private key" +#~ msgstr "Șterge și cheia privată asociată" + +#~ msgid "Are you sure you want to delete the private key '%s'?" +#~ msgstr "Sigur doriți să ștergeți cheia privată „%s”?" + +#~ msgid "_New..." +#~ msgstr "_Nouă..." + +#~ msgid "_Import..." +#~ msgstr "_Importă..." + +#~ msgid "P_laces" +#~ msgstr "_Locuri" + +#~ msgid "Couldn't delete key" +#~ msgstr "Nu s-a putut șterge cheia" + +#~ msgid "Name:" +#~ msgstr "Nume:" + +#~ msgid "Strength:" +#~ msgstr "Complexitate:" + +#~ msgid "Trust" +#~ msgstr "Încredere" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "Comanda SSH s-a termina neașteptat." + +#~ msgid "The SSH command failed." +#~ msgstr "Comanda SSH a eșuat." + +#~ msgid "OpenSSH directory" +#~ msgstr "Dosarul OpenSSH" + +#~ msgid "_Computer Name:" +#~ msgstr "Nume _calculator:" + +#~| msgid "Keyring" +#~ msgid "To do Keyring" +#~ msgstr "Inel de chei de făcut" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "Nu executa seahorse-daemon ca serviciu" + +#~ msgid "couldn't fork process" +#~ msgstr "nu s-a putut crea procesul" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "Serviciu de criptare (Seahorse)" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "Tip cheie nevalid sau nerecunoscut: %s" + +#~ msgid "This keytype is not supported: %s" +#~ msgstr "Aceast tip de cheie nu este suportat: %s" + +#~ msgid "Support for this feature was not enabled at build time" +#~ msgstr "" +#~ "Suportul pentru această funcționalitate nu a fost activat la compilare" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "Cheie nevalidă sau nerecunoscută: %s" + +#~ msgid "Signed by expired on %s." +#~ msgstr "Semnat de expirat pe %s." + +#~ msgid "Invalid Signature" +#~ msgstr "Semnătură nevalidă" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "Semnat de pe %s A expirat." + +#~ msgid "Expired Signature" +#~ msgstr "Semnătură expirată" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "Semnat de Revocat pe %s." + +#~ msgid "Revoked Signature" +#~ msgstr "Semnătură revocată" + +#~ msgid "Signed by on %s." +#~ msgstr "Semnat de pe %s." + +#~ msgid "Good Signature" +#~ msgstr "Semnătură bună" + +#~ msgid "Signing key not in keyring." +#~ msgstr "Cheia de semnare nu se află în inelul de chei." + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "Semnătură greșită sau fraudată. Datele semnate au fost modificate." + +#~ msgid "Bad Signature" +#~ msgstr "Semnătură greșită" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "Semnatar nevalid sau nerecunoscut: %s" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "Cheia nu este validă pentru semnare: %s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "Destinatar nevalid sau nerecunoscut: %s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "Cheia nu este o intrare validă pentru criptare: %s" + +#~ msgid "No recipients specified" +#~ msgstr "Nici o intrare nu este specificată" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "Tip cheie nevalid pentru decriptare: %s" + +#~ msgid "Please set clearuri" +#~ msgstr "Configurați clearuri" + +#~ msgid "Please set crypturi" +#~ msgstr "Configurați crypturi" + +#~ msgid "Error opening clearuri" +#~ msgstr "Eroare la deschiderea clearuri" + +#~ msgid "No signer specified" +#~ msgstr "Nici un semnatar nu este specificat" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "Tip cheie nevalid pentru verificare: %s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "ID cheie nevalid: %s" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "O listă cu URI-uri de server-e de chei pentru a căuta chei PGP aflate la " +#~ "distanță. În versiunile ulterioare poate fi inclus un nume generic, " +#~ "adăugând un spațiu și apoi numele." + +#~ msgid "Auto Sync Keys" +#~ msgstr "Sincronizare automată chei" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "" +#~ "Controlează vizibilitatea coloanei de expirări din administratorul de " +#~ "chei." + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "" +#~ "Controlează vizibilitatea coloanei cu nivele de încredere din " +#~ "administratorul de chei." + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "" +#~ "Controlează vizibilitatea coloanei de tipuri din administratorul de chei." + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "" +#~ "Controlează vizibilitatea coloanei de validitate din administratorul de " +#~ "chei." + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "Permite partajarea DNS-SD" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "Permite folosirea cheilor DNS-SD (Apple Bonjour). seahorse-daemon trebuie " +#~ "să fie în execuție și trebuie să fie compilat cu suport pentru HKP și DNS-" +#~ "SD." + +#~ msgid "ID of the default key" +#~ msgstr "ID-ul cheii implicite" + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "" +#~ "Dacă este definat ca adevărat, atunci fișierele criptate cu seahorse vor " +#~ "fi codate cu armură ASCII." + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "" +#~ "Dacă este adevărat, cheia implicită va fi întotdeauna adăugată la o listă " +#~ "cu destinatari de encripție." + +#~ msgid "Last key used to sign a message." +#~ msgstr "Ultima cheie folosită la semnarea unui mesaj." + +#~ msgid "PGP Key servers" +#~ msgstr "Servere de chei PGP" + +#~ msgid "Show expires column in key manager" +#~ msgstr "Arată coloana expirate în managerul de chei" + +#~ msgid "Show trust column in key manager" +#~ msgstr "Afișează coloana cu nivele de încredere în managerul de chei" + +#~ msgid "Show type column in key manager" +#~ msgstr "Afișează coloana cu tipuri în managerul de chei" + +#~ msgid "Show validity column in key manager" +#~ msgstr "Afișează coloana de validitate în managerul de chei" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "Specifică coloana după care se sortează fereastra destinatarilor. " +#~ "Coloanele sunt: „nume” și „id”. Puneți un „-” în fața numelui coloanei " +#~ "pentru a o sorta descrescător." + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "" +#~ "Identificatorul ultimei chei secrete folosite pentru a semna un mesaj." + +#~ msgid "The column to sort the recipients by" +#~ msgstr "Coloana după care se sortează destinatarii" + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "" +#~ "Specifică cheia implicită ce va fi folosită în anumite operații, în " +#~ "principal pentru semnare." + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "Dacă să se cripteze întotdeauna cu cheia implicită sau nu" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "Dacă să se folosească armura ASCII" + +#~ msgid "Couldn't set application access." +#~ msgstr "Nu s-a putut defini accesul aplicațiilor." + +#~ msgid "Path:" +#~ msgstr "Cale:" + +#~ msgid "Permissions:" +#~ msgstr "Permisiuni:" + +#~ msgid "_Read" +#~ msgstr "_Citire" + +#~ msgid "_Write" +#~ msgstr "_Scriere" + +#~ msgid "Passwords: %s" +#~ msgstr "Parole: %s" + +#~ msgid "Passwords: %s" +#~ msgstr "Parole: %s" + +#~ msgid "Saving item..." +#~ msgstr "Se salvează elementul..." + +#~ msgid "Listing password keyrings" +#~ msgstr "Se listează inelele de chei pentru parole" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "Nu s-au găsit chei de criptare cu care să se execute operația cerută. " +#~ "Programul Parole și chei de criptare va fi pornit pentru a vă " +#~ "permite să creați o cheie sau să importați una." + +#~ msgid "All Keys" +#~ msgstr "Toate cheile" + +#~ msgid "Selected Recipients" +#~ msgstr "Destinatari aleși" + +#~ msgid "Search Results" +#~ msgstr "Rezultate căutare" + +#~ msgid "Search _for:" +#~ msgstr "Caută _după:" + +#~ msgid "None (Don't Sign)" +#~ msgstr "Nimic (Nu semna)" + +#~ msgid "Sign this message as %s" +#~ msgstr "Semnează acest mesaj ca %s" + +#~ msgid "_Sign message as:" +#~ msgstr "_Semnează mesaj ca:" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "Fișierul nu este un fișier .desktop valid" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "Versiune fișier desktop nerecunoscută „%s”" + +#~ msgid "Starting %s" +#~ msgstr "Se pornește %s" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "Aplicația nu acceptă documente în linia de comandă" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "Opțiune de lansare necunoscută: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "" +#~ "Nu se pot trimite URI-uri de documente către o intrare de desktop de tip " +#~ "„Type=Link”" + +#~ msgid "Not a launchable item" +#~ msgstr "Nu este un element ce poate fi lansat" + +#~ msgid "Disable connection to session manager" +#~ msgstr "Dezactivează conexiunea la administratorul de sesiuni" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "Specifică fișierul ce conține configurația salvată" + +#~ msgid "FILE" +#~ msgstr "FIȘIER" + +#~ msgid "Specify session management ID" +#~ msgstr "Specificați ID-ul administratorului de sesiune" + +#~ msgid "Session management options:" +#~ msgstr "Opțiuni de administrare a sesiunii:" + +#~ msgid "Show session management options" +#~ msgstr "Afișează opțiunile de administrare a sesiunii" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "S-a importat %i cheie" +#~ msgstr[1] "S-au importat %i chei" +#~ msgstr[2] "S-au importat %i de chei" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "S-a importat o cheie pentru" +#~ msgstr[1] "S-au importat chei pentru" +#~ msgstr[2] "S-au importat chei pentru" + +#~ msgid "Notification Messages" +#~ msgstr "Mesaje de notifcare" + +#~ msgid "Symmetric Key" +#~ msgstr "Cheie simetrică" + +#~ msgid "Credentials" +#~ msgstr "Autorizații" + +#~ msgid "Identity" +#~ msgstr "Identitate" + +#~ msgid "Progress Title" +#~ msgstr "Titlu progres" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "Nu s-a putut găsi file-roller" + +#~ msgid "Couldn't package files" +#~ msgstr "Nu s-au putut împacheta fișierele" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "Procesul file-roller nu s-a terminat cu succes" + +#~ msgid "Loading Keys..." +#~ msgstr "Se încarcă cheile..." + +#~ msgid "Uploading keys..." +#~ msgstr "Se încarcă cheile..." + +#~ msgid "Retrieving keys..." +#~ msgstr "Se obțin cheile..." + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "Se caută chei ce conțin „%s”..." + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "Se caută cheia cu id-ul „%s”..." + +#~ msgid "Retrieving remote keys..." +#~ msgstr "Se descarcă cheile..." + +#~ msgid "Sending keys to key server..." +#~ msgstr "Se trimit cheile către serverul de chei..." + +#~ msgid "Create New ..." +#~ msgstr "Crează o nouă..." + +#~ msgid "Importing keys" +#~ msgstr "Se importă chei" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "Tip de cheie nerecunoscut sau format nevalid de chei" + +#~ msgid "T_ypes" +#~ msgstr "T_ipuri" + +#~ msgid "_Expiry" +#~ msgstr "_Expirare" + +#~ msgid "_Trust" +#~ msgstr "Încre_dere" + +#~ msgid "_Validity" +#~ msgstr "_Valabilitate" + +#~ msgid "Other _Keys" +#~ msgstr "Alte c_hei" + +#~ msgid "Validity" +#~ msgstr "Validitate" + +#~ msgid "_Expand All" +#~ msgstr "_Expandează toate" + +#~ msgid "Expand all listings" +#~ msgstr "Expandează toate listările" + +#~ msgid "_Collapse All" +#~ msgstr "_Pliază toate" + +#~ msgid "Collapse all listings" +#~ msgstr "Pliază toate listările" + +#~ msgid "Copied keys" +#~ msgstr "Cheile au fost copiate" + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s este o cheie privată. Sigur doriți să continuați?" + +#~ msgctxt "" +#~ "This text refers to deleting an item from its type's backing store." +#~ msgid "_Delete" +#~ msgstr "Șter_ge" + +#~ msgid "_Key Description:" +#~ msgstr "Descriere c_heie:" + +#~ msgid "Invalid" +#~ msgstr "Nevalid" + +#~ msgid "Private Secure Shell Key" +#~ msgstr "Cheie pentru shell securizat privată" + +#~ msgid "Public Secure Shell Key" +#~ msgstr "Cheie pentru shell securizat publică" + +#~ msgid "Passphrase:" +#~ msgstr "Frază secretă:" + +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "" +#~ "Introduceți o frază secretă pentru noua cheie pentru shell securizat " +#~ "(ssh)." + +#~ msgid "Couldn't share keys" +#~ msgstr "Cheile nu s-au putut distribui" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "Informațiile de descoperire nu au putut fi publicate pe rețea." + +#~ msgid "%s's encryption keys" +#~ msgstr "Cheile de criptare ale lui %s" + +#~ msgid "Key Sharing" +#~ msgstr "Partajare chei" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "Partajarea cheilor va permite altor utilizatori din rețea să folosească " +#~ "cheile pe care le-ați colectat. Aceasta înseamnă că ei pot să cripteze " +#~ "automat documente pentru dumneavoastră sau cei pe care îi cunoașteți, " +#~ "fără a fi nevoit să îi trimiteți manual cheia dumneavoastră.\n" +#~ "\n" +#~ "Notă: Cheile dumneavoastră personale nu vor fi compromise." + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "Parta_jează cheile mele cu alții din rețea" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "X chei sunt selectate pentru sincronizare" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/nate/.ssh/blah_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 00000000..36ee92cc --- /dev/null +++ b/po/ru.po @@ -0,0 +1,2902 @@ +# translation of seahorse.master.ru.po to Russian +# translation of seahorse to Russian +# Copyright (C) 2000-2003, 2008, 2010 Free Software Foundation, Inc. +# +# Valek Filippov , 2000-2003. +# Yuri Kozlov , 2008. +# Vasiliy Faronov , 2008. +# Anisimov Victor , 2009. +# Yuri Kozlov , 2010. +# Yuri Myasoedov , 2012-2014. +# Ivan Komaritsyn , 2015. +# Stas Solovey , 2015, 2016. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse trunk\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2018-09-17 12:28+0000\n" +"PO-Revision-Date: 2018-09-17 21:42+0300\n" +"Last-Translator: Stas Solovey \n" +"Language-Team: Русский \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Poedit 2.1.1\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Добавить сервер ключей" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Другой" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:112 +#: gkr/seahorse-gkr-add-keyring.ui:82 pkcs11/seahorse-pkcs11-generate.ui:186 +#: src/seahorse-generate-select.ui:62 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Отменить" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Сохранить" + +#: common/catalog.vala:244 +msgid "Contributions:" +msgstr "Помощники:" + +#: common/catalog.vala:270 data/seahorse.desktop.in.in:3 +#: src/key-manager.vala:75 +msgid "Passwords and Keys" +msgstr "Пароли и ключи" + +#: common/catalog.vala:272 +msgid "translator-credits" +msgstr "" +"Yuri Myasoedov , 2012-2014.\n" +"Stas Solovey , 2012-2018." + +#: common/catalog.vala:275 +msgid "Seahorse Project Homepage" +msgstr "Домашняя страница проекта Seahorse" + +#: common/catalog.vala:293 +msgid "Cannot delete" +msgstr "Не удалось удалить" + +#: common/catalog.vala:316 common/key-manager-store.vala:420 +msgid "Couldn’t export keys" +msgstr "Не удалось экспортировать ключи" + +#: common/catalog.vala:327 +msgid "Couldn’t export data" +msgstr "Не удалось экспортировать данные" + +#: common/catalog.vala:343 libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Не удалось показать справку: %s" + +#. Top menu items +#: common/catalog.vala:349 +msgid "_File" +msgstr "_Файл" + +#: common/catalog.vala:350 +msgid "E_xport…" +msgstr "Э_кспортировать…" + +#: common/catalog.vala:351 +msgid "Export to a file" +msgstr "Экспортировать в файл" + +#: common/catalog.vala:352 +msgid "_Edit" +msgstr "_Правка" + +#: common/catalog.vala:353 +msgid "_Copy" +msgstr "_Копировать" + +#: common/catalog.vala:354 +msgid "Copy to the clipboard" +msgstr "Скопировать в буфер обмена" + +#. Translators: This text refers to deleting an item from its type's backing store +#. Delete item +#: common/catalog.vala:356 common/delete-dialog.vala:91 +#: pkcs11/pkcs11-properties.vala:201 src/sidebar.vala:655 +msgid "_Delete" +msgstr "_Удалить" + +#: common/catalog.vala:357 +msgid "Delete selected items" +msgstr "Удалить выделенные элементы" + +#. Properties item +#: common/catalog.vala:358 common/catalog.vala:360 src/sidebar.vala:664 +msgid "_Properties" +msgstr "_Свойства" + +#: common/catalog.vala:359 +msgid "Show the properties of this item" +msgstr "Показать свойства этого элемента" + +#: common/catalog.vala:361 +msgid "Show the properties of this keyring" +msgstr "Показать свойства этой связки ключей" + +#: common/catalog.vala:362 +msgid "Prefere_nces" +msgstr "_Параметры" + +#: common/catalog.vala:363 +msgid "Change preferences for this program" +msgstr "Настроить параметры приложения" + +#: common/catalog.vala:364 +msgid "_View" +msgstr "_Вид" + +#: common/catalog.vala:365 +msgid "_Help" +msgstr "_Справка" + +#: common/catalog.vala:366 +msgid "_About" +msgstr "_О приложении" + +#: common/catalog.vala:367 +msgid "About this program" +msgstr "О приложении" + +#: common/catalog.vala:368 +msgid "_Contents" +msgstr "_Содержание" + +#: common/catalog.vala:369 +msgid "Show Seahorse help" +msgstr "Показать справку по Seahorse" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-pgp-generate.ui:294 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:235 +msgid "_Cancel" +msgstr "_Отменить" + +#: common/exportable.vala:192 pgp/seahorse-pgp-private-key-properties.ui:1452 +msgid "Export" +msgstr "Экспортировать" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Подтверждение:" + +#: common/passphrase-prompt.vala:121 +msgid "_OK" +msgstr "_ОК" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Пароль:" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Параметры" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Нет: не публиковать ключи" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Недопустимый адрес сервера ключей." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Для получения помощи обратитесь к вашему системному администратору или " +"администратору сервера ключей." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "временный элемент для инициализации" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Тип сервера ключей:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Узел:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Имя узла или адрес сервера." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Порт для доступа к серверу." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "Найти ключи с по_мощью:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Публиковать ключи на:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Авто_матически загружать ключи с серверов" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Автоматически син_хронизировать изменённые ключи с серверами ключей" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Серверы ключей" + +#: common/validity.vala:38 pgp/seahorse-pgp-key-properties.c:1246 +#: pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Неизвестно" + +#: common/validity.vala:40 pgp/seahorse-pgp-key-properties.c:1252 +#: pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Не доверяю" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Слабо" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Полностью" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Безоговорочно" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Отключён" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Отозван" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Автоматическое получение ключей" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Следует или нет автоматически получать ключи с серверов ключей." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Автоматическая публикация ключей" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Следует или нет автоматически публиковать измененные ключи." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Опубликовать ключи на этот сервер ключей" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Сервер ключей для публикации ключей PGP. Или оставьте поле пустым чтобы " +"предотвратить публикацию ключей PGP." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Последний шаблон поиска сервера ключей" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Последний шаблон поиска, найденный для сервера ключей." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Последние задействованные серверы ключей" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Последний ключевой сервер, который был обыскан или пуст для всех серверов " +"ключей." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Показывать боковую панель связок ключей" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Показывать боковую панель связок ключей в Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Какие элементы показывать" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Фильтрует какие элементы показывать. Если пусто, показывает все элементы, " +"если значение «personal» (личные), будут показаны личные ключи, если " +"«trusted» (доверенные) будут показаны доверенные ключи." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Ширина боковой панели" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Ширина боковой панели по умолчанию." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Выбранные связки ключей" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "URI выбранных связок ключей в боковой панели." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Столбец сортировки ключей Seahorse" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Укажите столбец для сортировки главного окна менеджера ключей Seahorse. " +"Столбцы: «name», «id», «validity», «expires», «trust» и «type». Поместите " +"символ «-» перед именем столбца, чтобы отсортировать его в обратном порядке." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Показать столбец действительности" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Больше не используется." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Показать столбец истечения срока действия" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Показать столбец доверенности" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Показать столбец типа" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Ширина окна" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Ширина окна в пикселях." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Высота окна" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Высота окна в пикселях." + +#: data/seahorse.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/seahorse.appdata.xml.in:7 data/seahorse.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Управление паролями и ключами шифрования" + +#: data/seahorse.appdata.xml.in:9 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"Seahorse — приложение GNOME для управления ключами шифрования. Приложение " +"интегрируется с nautilus, gedit и прочими приложениями, где требуется " +"шифрование." + +#: data/seahorse.appdata.xml.in:13 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"С помощью seahorse можно создавать и управлять ключами PGP, создавать и " +"управлять ключами SSH, публиковать и получать ключи с серверов, кэшировать " +"парольные фразы, создавать резервные копии ключей и связок с ключами." + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/seahorse.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "связка;шифрование;безопасность;подпись;ssh;" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/seahorse.desktop.in.in:11 +msgid "seahorse" +msgstr "seahorse" + +#: gkr/gkr-backend.vala:43 +msgid "Passwords" +msgstr "Пароли" + +#: gkr/gkr-backend.vala:47 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Хранящиеся личные пароли, мандаты и секреты" + +#: gkr/gkr-backend.vala:255 +msgid "New password keyring" +msgstr "Новая связка ключей для паролей" + +#: gkr/gkr-backend.vala:256 gkr/gkr-backend.vala:263 +msgid "Used to store application and network passwords" +msgstr "Используется для хранения паролей приложений и сетевых узлов" + +#: gkr/gkr-backend.vala:257 +msgid "New password…" +msgstr "Создать пароль…" + +#: gkr/gkr-backend.vala:258 gkr/gkr-backend.vala:265 +msgid "Safely store a password or secret." +msgstr "Безопасно хранит пароль или секрет." + +#: gkr/gkr-backend.vala:262 +msgid "Password Keyring" +msgstr "Связка ключей для паролей" + +#: gkr/gkr-backend.vala:264 +msgid "Stored Password" +msgstr "Сохраненный пароль" + +#: gkr/gkr-item-add.vala:106 +msgid "Couldn’t add item" +msgstr "Не удалось добавить элемент" + +#: gkr/gkr-item-properties.vala:108 +msgid "Save changes for this item?" +msgstr "Сохранить изменения для этого элемента?" + +#: gkr/gkr-item-properties.vala:125 +msgid "Access a network share or resource" +msgstr "Даёт доступ к сетевому хранилищу или ресурсу" + +#: gkr/gkr-item-properties.vala:128 +msgid "Access a website" +msgstr "Даёт доступ к веб-сайту" + +#: gkr/gkr-item-properties.vala:131 +msgid "Unlocks a PGP key" +msgstr "Разблокирует ключ PGP" + +#: gkr/gkr-item-properties.vala:134 +msgid "Unlocks a Secure Shell key" +msgstr "Разблокирует ключ SSH" + +#: gkr/gkr-item-properties.vala:137 +msgid "Saved password or login" +msgstr "Сохранённый пароль или учётное имя" + +#: gkr/gkr-item-properties.vala:149 +msgid "Network Credentials" +msgstr "Сетевые учётные сведения" + +#: gkr/gkr-item-properties.vala:154 gkr/seahorse-gkr-item-properties.ui:77 +msgid "Password" +msgstr "Пароль" + +#: gkr/gkr-item-properties.vala:208 +msgid "Couldn’t change password." +msgstr "Не удалось изменить пароль." + +#: gkr/gkr-item-properties.vala:232 +msgid "Couldn’t set description." +msgstr "Не удалось установить описание." + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "Пароль учётной записи обмена сообщениями " + +#: gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "Пароль или секрет" + +#: gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "Пароль для сети" + +#: gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "Хранящееся примечание" + +#: gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "Пароль для связки ключей" + +#: gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "Пароль для ключа шифрования" + +#: gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "Пароль для ключа хранилища" + +#: gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "Пароль для Google Chrome" + +#: gkr/gkr-item.vala:451 +msgid "GNOME Online Accounts password" +msgstr "Пароль для сетевых учётных записей GNOME" + +#: gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "Пароль для Telepathy" + +#: gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "Пароль для обмена мгновенными сообщениями" + +#: gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "Секрет NetworkManager" + +#: gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Уверены, что хотите безвозвратно удалить пароль «%s»?" + +#: gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Уверены, что хотите безвозвратно удалить %d пароль?" +msgstr[1] "Уверены, что хотите безвозвратно удалить %d пароля?" +msgstr[2] "Уверены, что хотите безвозвратно удалить %d паролей?" + +#: gkr/gkr-keyring-add.vala:55 +msgid "Couldn’t add keyring" +msgstr "Не удалось добавить связку ключей" + +#: gkr/gkr-keyring-properties.vala:66 +msgid "Unknown date" +msgstr "Неизвестная дата" + +#: gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "" +"Связка ключей, которая автоматически разблокируется при входе в систему" + +#: gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "Связка ключей, используемая для хранения паролей" + +#: gkr/gkr-keyring.vala:174 +msgid "Couldn’t set default keyring" +msgstr "Не удалось назначить связку ключей по умолчанию" + +#: gkr/gkr-keyring.vala:198 gkr/gkr-keyring.vala:203 +msgid "Couldn’t change keyring password" +msgstr "Не удалось изменить пароль к связке ключей" + +#: gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "_Установить по умолчанию" + +#: gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "Приложения хранят свои пароли в связке ключей по умолчанию." + +#: gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "Изменить _пароль" + +#: gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "Изменить пароль, разблокирующий связку ключей для паролей" + +#: gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Уверены, что хотите удалить связку ключей для паролей «%s»?" + +#: gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "Я понимаю, что все элементы будут безвозвратно удалены." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Показать/скрыть пароль" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Добавить пароль" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Связка ключей:" + +#: gkr/seahorse-gkr-add-item.ui:45 gkr/seahorse-gkr-item-properties.ui:50 +#: pgp/seahorse-revoke.ui:55 ssh/seahorse-ssh-generate.ui:78 +msgid "_Description:" +msgstr "_Описание:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Пароль:" + +#: gkr/seahorse-gkr-add-item.ui:93 +msgid "_Show Password" +msgstr "По_казывать пароль" + +#: gkr/seahorse-gkr-add-item.ui:119 gkr/seahorse-gkr-add-keyring.ui:89 +msgid "OK" +msgstr "ОК" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Добавить связку ключей для паролей" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Введите название новой связки ключей. Далее вас попросят ввести пароль для " +"разблокировки." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Имя новой связки ключей:" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:101 +#: pgp/seahorse-pgp-private-key-properties.ui:563 +#: pgp/seahorse-pgp-public-key-properties.ui:409 +msgid "Use:" +msgstr "Назначение:" + +#: gkr/seahorse-gkr-item-properties.ui:127 +#: pgp/seahorse-pgp-private-key-properties.ui:577 +#: pgp/seahorse-pgp-private-key-properties.ui:1128 +#: pgp/seahorse-pgp-public-key-properties.ui:524 +#: pgp/seahorse-pgp-public-key-properties.ui:1205 +#: ssh/seahorse-ssh-key-properties.ui:81 +msgid "Type:" +msgstr "Тип:" + +#: gkr/seahorse-gkr-item-properties.ui:152 +msgid "Server:" +msgstr "Сервер:" + +#: gkr/seahorse-gkr-item-properties.ui:176 +msgid "Login:" +msgstr "Учётное имя:" + +#: gkr/seahorse-gkr-item-properties.ui:215 pgp/seahorse-pgp-subkey.c:402 +#: ssh/seahorse-ssh-key-properties.ui:233 +msgid "Key" +msgstr "Ключ" + +#: gkr/seahorse-gkr-item-properties.ui:260 +#: pgp/seahorse-pgp-public-key-properties.ui:1133 +#: ssh/seahorse-ssh-key-properties.ui:376 +msgid "Technical Details:" +msgstr "Технические подробности:" + +#: gkr/seahorse-gkr-item-properties.ui:280 +#: pgp/seahorse-pgp-private-key-properties.ui:1752 +#: pgp/seahorse-pgp-public-key-properties.ui:1600 +#: ssh/seahorse-ssh-key-properties.ui:413 +msgid "Details" +msgstr "Подробности" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Свойства связки ключей" + +#: gkr/seahorse-gkr-keyring.ui:23 +msgid "Keyring is locked" +msgstr "Связка ключей заблокирована" + +#: gkr/seahorse-gkr-keyring.ui:33 +msgid "Unlock" +msgstr "Разблокировать" + +#: gkr/seahorse-gkr-keyring.ui:46 +msgid "Keyring is unlocked" +msgstr "Связка ключей разблокирована" + +#: gkr/seahorse-gkr-keyring.ui:56 +msgid "Lock" +msgstr "Заблокировать" + +#: gkr/seahorse-gkr-keyring.ui:102 pgp/seahorse-pgp-key-properties.c:965 +msgid "Name" +msgstr "Имя" + +#: gkr/seahorse-gkr-keyring.ui:130 +msgid "Created on" +msgstr "Создан в" + +#: gkr/seahorse-gkr-keyring.ui:160 +msgid "Change password" +msgstr "Изменить пароль" + +#: gkr/seahorse-gkr-keyring.ui:167 +msgid "Set as default" +msgstr "Установить по умолчанию" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Флаги отображения" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Свойства отображения даты и/или времени" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Упрощённый режим" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "В этом режиме дата и время не приводятся к стандартному виду" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Год" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Отображаемый год" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Месяц" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Отображаемый месяц" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "День" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Отображаемый день месяца" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Час" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Отображаемый час" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Минуты" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Отображаемые минуты" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Секунды" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Отображаемые секунды" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Год нижней границы" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Год нижней границы временного интервала" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Год верхней границы" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Год верхней границы временного интервала" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Месяц нижней границы" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Месяц нижней границы временного интервала" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Месяц верхней границы" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Месяц верхней границы временного интервала" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "День нижней границы" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "День нижней границы временного интервала" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "День верхней границы" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "День верхней границы временного интервала" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Час нижней границы" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Час нижней границы временного интервала" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Час верхней границы" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Час верхней границы временного интервала" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Минуты нижней границы" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Минуты нижней границы временного интервала" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Минуты верхней границы" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Минуты верхней границы временного интервала" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Секунды нижней границы" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Секунды нижней границы временного интервала" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Секунды верхней границы" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Секунды верхней границы временного интервала" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Дата" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Введите дату" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Выберите дату" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Выберите дату с помощью календаря" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "Время" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Введите время" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Выберите время" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Выберите время из списка" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1259 +#: libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1260 +#: libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-interaction.c:97 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Введите PIN-код или пароль: %s" + +#: pgp/seahorse-add-subkey.ui:31 +msgid "Never E_xpires" +msgstr "Никогда не _истекает" + +#: pgp/seahorse-add-subkey.ui:35 +msgid "If key never expires" +msgstr "Если срок действия ключа никогда не истекает" + +#: pgp/seahorse-add-subkey.ui:65 pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Тип ключа:" + +#: pgp/seahorse-add-subkey.ui:78 +msgid "Key _Length:" +msgstr "_Длина ключа:" + +#: pgp/seahorse-add-subkey.ui:93 +msgid "Expiration Date:" +msgstr "Истекает:" + +#: pgp/seahorse-add-subkey.ui:112 +msgid "Length of Key" +msgstr "Длина ключа" + +#: pgp/seahorse-add-subkey.ui:194 +msgid "Generate a new subkey" +msgstr "Создать новый подключ" + +#: pgp/seahorse-add-uid.ui:8 +msgid "Add User ID" +msgstr "Добавить идентификатор пользователя" + +#: pgp/seahorse-add-uid.ui:28 +msgid "Must be at least 5 characters long" +msgstr "Должен быть не менее 5 символов" + +#: pgp/seahorse-add-uid.ui:42 +msgid "Optional email address" +msgstr "Необязательный адрес эл. почты" + +#: pgp/seahorse-add-uid.ui:58 +msgid "Optional comment describing key" +msgstr "Необязательный комментарий с описанием ключа" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-add-uid.ui:73 pgp/seahorse-pgp-generate.ui:86 +msgid "Full _Name:" +msgstr "_Полное имя:" + +#: pgp/seahorse-add-uid.ui:86 pgp/seahorse-pgp-generate.ui:114 +msgid "_Email Address:" +msgstr "_Адрес эл. почты:" + +#: pgp/seahorse-add-uid.ui:101 +msgid "Key Co_mment:" +msgstr "_Комментарий к ключу:" + +#: pgp/seahorse-add-uid.ui:162 +msgid "Create the new user ID" +msgstr "Создать новый идентификатор пользователя" + +#: pgp/seahorse-expires.ui:22 +msgid "_Never expires" +msgstr "Нико_гда не истекает" + +#: pgp/seahorse-expires.ui:80 pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Отозвать ключ" + +#: pgp/seahorse-expires.ui:106 +msgid "C_hange" +msgstr "_Изменить" + +#: pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn’t add subkey" +msgstr "Не удалось добавить подключ" + +#: pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "Добавить подключ к %s" + +#: pgp/seahorse-gpgme-add-subkey.c:196 pgp/seahorse-gpgme-generate.c:131 +msgid "DSA (sign only)" +msgstr "DSA (только подпись)" + +#: pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (только шифрование)" + +#: pgp/seahorse-gpgme-add-subkey.c:210 pgp/seahorse-gpgme-generate.c:132 +msgid "RSA (sign only)" +msgstr "RSA (только подпись)" + +#: pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (только шифрование)" + +#: pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn’t add user id" +msgstr "Не удалось добавить идентификатор пользователя" + +#: pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "Добавить идентификатор пользователя к %s" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Не удалось расшифровать. Возможно, у вас нет ключа для расшифровки." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:549 +msgid "The operation was cancelled" +msgstr "Действие было отменено" + +#: pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "Недопустимый срок действия" + +#: pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "Срок действия должен заканчиваться в будущем" + +#: pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn’t change expiry date" +msgstr "Не удалось изменить срок действия" + +#: pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "Срок действия: %s" + +#: pgp/seahorse-gpgme-exporter.c:81 +msgid "Multiple Keys" +msgstr "Несколько ключей" + +#: pgp/seahorse-gpgme-exporter.c:85 +msgid "Key Data" +msgstr "Данные ключа" + +#: pgp/seahorse-gpgme-exporter.c:113 +msgid "Armored PGP keys" +msgstr "Защищённые ключи PGP" + +#: pgp/seahorse-gpgme-exporter.c:117 +msgid "PGP keys" +msgstr "Ключи PGP" + +#: pgp/seahorse-gpgme-generate.c:92 +msgid "PGP Key" +msgstr "Ключ PGP" + +#: pgp/seahorse-gpgme-generate.c:93 +msgid "Used to encrypt email and files" +msgstr "Используется для шифрования почты и файлов" + +#: pgp/seahorse-gpgme-generate.c:129 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:141 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate.c:130 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate.c:179 +msgid "Couldn’t generate PGP key" +msgstr "Не удалось создать ключ PGP" + +#: pgp/seahorse-gpgme-generate.c:212 +msgid "Passphrase for New PGP Key" +msgstr "Пароль для нового ключа PGP" + +#: pgp/seahorse-gpgme-generate.c:213 +msgid "Enter the passphrase for your new key twice." +msgstr "Введите дважды пароль для нового ключа." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate.c:225 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"При создании ключа необходимо сгенерировать большое\n" +"количество случайных данных. Мы советуем выполнять\n" +"некоторые другие действия: печать на клавиатуре,\n" +"перемещение курсора мыши, работа с приложениями.\n" +"Эти действия обеспечат случайные данные, необходимые системе." + +#: pgp/seahorse-gpgme-generate.c:230 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Создание ключа" + +#: pgp/seahorse-gpgme-generate.c:357 +msgid "Name must be at least 5 characters long." +msgstr "Имя должно быть не менее 5 символов." + +#: pgp/seahorse-gpgme-key-deleter.c:77 pgp/seahorse-gpgme-secret-deleter.c:76 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Уверены, что хотите безвозвратно удалить %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Действительно безвозвратно удалить %d ключ?" +msgstr[1] "Действительно безвозвратно удалить %d ключа?" +msgstr[2] "Действительно безвозвратно удалить %d ключей?" + +#: pgp/seahorse-gpgme-key-op.c:378 +msgid "Wrong password" +msgstr "Неправильный пароль" + +#: pgp/seahorse-gpgme-key-op.c:378 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Вы уже третий раз ввели неправильный пароль. Попробуйте ещё раз." + +#: pgp/seahorse-gpgme-keyring.c:88 +#, c-format +msgid "Wrong passphrase." +msgstr "Неправильный пароль." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Введите новый пароль для «%s»" + +#: pgp/seahorse-gpgme-keyring.c:94 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Введите пароль для «%s»" + +#: pgp/seahorse-gpgme-keyring.c:97 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Введите новый пароль" + +#: pgp/seahorse-gpgme-keyring.c:99 +msgid "Enter passphrase" +msgstr "Введите пароль" + +#: pgp/seahorse-gpgme-keyring.c:104 +msgid "Passphrase" +msgstr "Пароль" + +#: pgp/seahorse-gpgme-keyring.c:305 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Загружен %d ключ" +msgstr[1] "Загружено %d ключа" +msgstr[2] "Загружено %d ключей" + +#: pgp/seahorse-gpgme-keyring.c:652 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Недопустимые данные ключа (отсутствуют идентификаторы пользователя). " +"Причиной может быть неправильно установленное на компьютере время (время в " +"будущем) или отсутствие собственной подписи." + +#: pgp/seahorse-gpgme-keyring.c:805 +msgid "GnuPG keys" +msgstr "Ключи GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:816 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: каталог по умолчанию для связки ключей" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Фотография слишком большая\n" +"Рекомендуемый размер фотографии на ключе — %d × %d точек." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Не менять размер" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "Из_менить размер" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Этот файл не содержит изображение, или содержит неизвестный тип изображения. " +"Попробуйте использовать изображение в формате JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Все файлы изображений" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Все файлы формата JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:278 +msgid "All files" +msgstr "Все файлы" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Выберите фотографию для добавления к ключу" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Не удалось подготовить фотографию" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Не удалось добавить фотографию" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Не удалось загрузить файл. Может быть, он имеет недопустимый формат" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Уверены, что хотите удалить текущую фотографию из вашего ключа?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Не удалось удалить фотографию" + +#: pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn’t revoke subkey" +msgstr "Не удалось отозвать подключ" + +#: pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "Отозвать: %s" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "Нет причины" + +#: pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "Нет причины для отзыва ключа" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "Скомпрометирован" + +#: pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "Ключ скомпрометирован" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "Заменён" + +#: pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "Ключ заменён" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "Не используется" + +#: pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "Ключ больше не используется" + +#: pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Вы собираетесь добавить %s в качестве отзывающего для %s. Это действие " +"нельзя будет отменить! Вы хотите продолжить?" + +#: pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn’t add revoker" +msgstr "Не удалось добавить отзывающего" + +#: pgp/seahorse-gpgme-secret-deleter.c:81 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Я понимаю, что этот секретный ключ будет безвозвратно удалён." + +#: pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Этот ключ уже был подписан\n" +"«%s»" + +#: pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn’t sign key" +msgstr "Не удалось подписать ключ" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign.c:163 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Нет ключей, которыми можно подписать" + +#: pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"У вас нет личных ключей PGP, с помощью которых можно было бы выразить " +"доверие этому ключу." + +#: pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Неизвестно" + +#: pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:567 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Параметры поиска были недостаточно определёнными. Сервер «%s» слишком много " +"ключей." + +#: pgp/seahorse-hkp-source.c:570 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Не удалось связаться с сервером «%s»: %s" + +#: pgp/seahorse-hkp-source.c:1080 +msgid "HTTP Key Server" +msgstr "Сервер ключей HTTP" + +#: pgp/seahorse-keyserver-results.c:166 +msgid "Couldn’t import keys" +msgstr "Не удалось импортировать ключи" + +#: pgp/seahorse-keyserver-results.c:209 +msgid "Importing keys from key servers" +msgstr "Идёт импорт ключей с сервера" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: pgp/seahorse-keyserver-results.c:235 src/key-manager.vala:45 +msgid "_Remote" +msgstr "_Сеть" + +#: pgp/seahorse-keyserver-results.c:237 +msgid "Close this window" +msgstr "Закрыть это окно" + +#: pgp/seahorse-keyserver-results.c:241 pgp/seahorse-pgp-actions.c:112 +msgid "_Find Remote Keys…" +msgstr "_Найти ключи в сети…" + +#: pgp/seahorse-keyserver-results.c:242 pgp/seahorse-pgp-actions.c:113 +msgid "Search for keys on a key server" +msgstr "Искать ключи на сервере ключей" + +#: pgp/seahorse-keyserver-results.c:246 src/seahorse-key-manager.ui:227 +msgid "_Import" +msgstr "_Импортировать" + +#: pgp/seahorse-keyserver-results.c:247 +msgid "Import selected keys to local key ring" +msgstr "Импортировать выделенные ключи в локальную связку ключей" + +#: pgp/seahorse-keyserver-results.c:278 +msgid "Remote Keys" +msgstr "Ключи из сети" + +#: pgp/seahorse-keyserver-results.c:280 +#, c-format +msgid "Remote Keys Containing “%s”" +msgstr "Ключи из сети, содержащие «%s»" + +#: pgp/seahorse-keyserver-results.c:480 +msgid "The search for keys failed." +msgstr "Сбой при поиске ключей." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Найти ключи в сети" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Так можно найти другие ключи в сети. Эти ключи будут импортированы в " +"локальную связку ключей." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "Иск_ать ключи, содержащие: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Где искать:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Серверы ключей:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Опубликованные ключи в моей сети:" + +#: pgp/seahorse-keyserver-search.ui:146 +msgid "_Search" +msgstr "_Искать" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Не удалось опубликовать ключи на сервере" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Не удалось получить ключи с сервера: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d ключ выбран для синхронизации" +msgstr[1] "%d ключа выбрано для синхронизации" +msgstr[2] "%d ключей выбрано для синхронизации" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Синхронизация ключей…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Синхронизировать ключи" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Ключи из вашей связки ключей будут опубликованы на сервере и станут " +"доступными для других. Также вы получите сведения, обновившиеся с момента " +"последнего соединения с сервером ключей." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Все изменения, произведённые с момента последнего соединения с сервером, " +"будут перенесены на ваш компьютер. Серверов для публикации ключей выбрано не " +"было, поэтому ваши ключи не будут доступны другим." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Серверы ключей" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Синхронизировать" + +#: pgp/seahorse-ldap-source.c:435 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Не удалось связаться с %s: %s" + +#: pgp/seahorse-ldap-source.c:645 +#, c-format +msgid "Connecting to: %s" +msgstr "Устанавливается соединение с: %s" + +#: pgp/seahorse-ldap-source.c:651 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Не удалось определить адрес: %s" + +#: pgp/seahorse-ldap-source.c:695 +#, c-format +msgid "Resolving server address: %s" +msgstr "Идёт определение адреса сервера: %s" + +#: pgp/seahorse-ldap-source.c:1430 +msgid "LDAP Key Server" +msgstr "Сервер ключей LDAP" + +#: pgp/seahorse-pgp-actions.c:117 +msgid "_Sync and Publish Keys…" +msgstr "_Синхронизировать и опубликовать ключи…" + +#: pgp/seahorse-pgp-actions.c:118 +msgid "Publish and/or synchronize your keys with those online." +msgstr "Опубликовать ключи и синхронизироваться с серверами в сети." + +#: pgp/seahorse-pgp-backend.c:192 +msgid "PGP Keys" +msgstr "Ключи PGP" + +#: pgp/seahorse-pgp-backend.c:198 +msgid "PGP keys are for encrypting email or files" +msgstr "Ключи PGP используются для шифрования почты и файлов" + +#: pgp/seahorse-pgp-generate.ui:18 +msgid "New PGP key" +msgstr "Новый ключ PGP" + +#: pgp/seahorse-pgp-generate.ui:67 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "Ключ PGP позволяет шифровать почту и файлы для других людей." + +#: pgp/seahorse-pgp-generate.ui:143 pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Дополнительные параметры ключа" + +#: pgp/seahorse-pgp-generate.ui:160 +msgid "_Comment:" +msgstr "_Комментарий:" + +#: pgp/seahorse-pgp-generate.ui:188 ssh/seahorse-ssh-generate.ui:124 +msgid "Encryption _Type:" +msgstr "_Тип шифрования:" + +#: pgp/seahorse-pgp-generate.ui:215 pkcs11/seahorse-pkcs11-generate.ui:151 +#: ssh/seahorse-ssh-generate.ui:158 +msgid "Key _Strength (bits):" +msgstr "_Стойкость ключа (в битах):" + +#: pgp/seahorse-pgp-generate.ui:242 +msgid "E_xpiration Date:" +msgstr "Ср_ок истечения:" + +#: pgp/seahorse-pgp-generate.ui:261 +msgid "Ne_ver Expires" +msgstr "Н_икогда не истекает" + +#: pgp/seahorse-pgp-generate.ui:304 +msgid "C_reate" +msgstr "_Создать" + +#: pgp/seahorse-pgp-generate.ui:311 +msgid "Generate a new key" +msgstr "Создать новый ключ" + +#: pgp/seahorse-pgp-key.c:349 +msgid "Personal PGP key" +msgstr "Личный ключ PGP" + +#: pgp/seahorse-pgp-key.c:351 +msgid "PGP key" +msgstr "Ключ PGP" + +#: pgp/seahorse-pgp-key-properties.c:312 +msgid "Couldn’t change primary user ID" +msgstr "Не удалось изменить идентификатор главного пользователя" + +#: pgp/seahorse-pgp-key-properties.c:331 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "" +"Уверены, что хотите безвозвратно удалить идентификатор пользователя «%s»?" + +#: pgp/seahorse-pgp-key-properties.c:341 +msgid "Couldn’t delete user ID" +msgstr "Не удалось удалить идентификатор пользователя" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:416 pgp/seahorse-pgp-key-properties.c:1571 +msgid "[Unknown]" +msgstr "[Неизвестно]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:525 pgp/seahorse-pgp-key-properties.c:1854 +msgid "Name/Email" +msgstr "Имя/Эл.почта" + +#: pgp/seahorse-pgp-key-properties.c:532 +msgid "Signature ID" +msgstr "Идентификатор подписи" + +#: pgp/seahorse-pgp-key-properties.c:665 +msgid "Couldn’t change primary photo" +msgstr "Не удалось изменить главную фотографию" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:899 +msgid "(unknown)" +msgstr "(неизвестно)" + +#: pgp/seahorse-pgp-key-properties.c:902 +#, c-format +msgid "This key expired on: %s" +msgstr "Этот ключ истёк %s" + +#: pgp/seahorse-pgp-key-properties.c:1080 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Уверены, что хотите безвозвратно удалить подключ %d ключа %s?" + +#: pgp/seahorse-pgp-key-properties.c:1089 +msgid "Couldn’t delete subkey" +msgstr "Не удалось удалить подключ" + +#: pgp/seahorse-pgp-key-properties.c:1129 +#: pgp/seahorse-pgp-key-properties.c:1545 +msgid "Unable to change trust" +msgstr "Не удалось изменить уровень доверия" + +#: pgp/seahorse-pgp-key-properties.c:1143 ssh/key-properties.vala:175 +msgid "Couldn’t export key" +msgstr "Не удалось экспортировать ключ" + +#: pgp/seahorse-pgp-key-properties.c:1259 +msgid "Marginal" +msgstr "Слабо" + +#: pgp/seahorse-pgp-key-properties.c:1265 +msgid "Full" +msgstr "Полностью" + +#: pgp/seahorse-pgp-key-properties.c:1271 +msgid "Ultimate" +msgstr "Безоговорочно" + +#: pgp/seahorse-pgp-key-properties.c:1377 +#: pgp/seahorse-pgp-key-properties.c:1470 +msgctxt "Expires" +msgid "Never" +msgstr "Никогда" + +#: pgp/seahorse-pgp-key-properties.c:1424 +msgid "ID" +msgstr "Идентификатор" + +#: pgp/seahorse-pgp-key-properties.c:1427 +msgid "Type" +msgstr "Тип" + +#: pgp/seahorse-pgp-key-properties.c:1430 +msgid "Usage" +msgstr "Использование" + +#: pgp/seahorse-pgp-key-properties.c:1433 +msgid "Created" +msgstr "Создан" + +#: pgp/seahorse-pgp-key-properties.c:1436 +msgid "Expires" +msgstr "Истекает" + +#: pgp/seahorse-pgp-key-properties.c:1439 +msgid "Status" +msgstr "Состояние" + +#: pgp/seahorse-pgp-key-properties.c:1442 +msgid "Strength" +msgstr "Стойкость" + +#: pgp/seahorse-pgp-key-properties.c:1461 +msgid "Revoked" +msgstr "Отозван" + +#: pgp/seahorse-pgp-key-properties.c:1463 +msgid "Expired" +msgstr "Просрочен" + +#: pgp/seahorse-pgp-key-properties.c:1465 +msgid "Disabled" +msgstr "Отключён" + +#: pgp/seahorse-pgp-key-properties.c:1467 +msgid "Good" +msgstr "Действителен" + +#: pgp/seahorse-pgp-key-properties.c:1857 +msgid "Key ID" +msgstr "Идентификатор ключа" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +#: pgp/seahorse-pgp-public-key-properties.ui:31 +msgid "Key Properties" +msgstr "Свойства ключа" + +#: pgp/seahorse-pgp-private-key-properties.ui:72 +#: pgp/seahorse-pgp-public-key-properties.ui:78 +msgid "This key has been revoked" +msgstr "Этот ключ был отозван" + +#: pgp/seahorse-pgp-private-key-properties.ui:91 +#: pgp/seahorse-pgp-public-key-properties.ui:99 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Владелец отозвал ключ. Его больше нельзя использовать." + +#: pgp/seahorse-pgp-private-key-properties.ui:136 +#: pgp/seahorse-pgp-public-key-properties.ui:152 +msgid "This key has expired" +msgstr "Срок действия этого ключа истёк" + +#: pgp/seahorse-pgp-private-key-properties.ui:230 +msgid "Add a photo to this key" +msgstr "Добавить фотографию" + +#: pgp/seahorse-pgp-private-key-properties.ui:254 +msgid "Remove this photo from this key" +msgstr "Удалить эту фотографию из этого ключа" + +#: pgp/seahorse-pgp-private-key-properties.ui:278 +msgid "Make this photo the primary photo" +msgstr "Сделать эту фотографию главной" + +#: pgp/seahorse-pgp-private-key-properties.ui:311 +msgid "Go to previous photo" +msgstr "Перейти к предыдущей фотографии" + +#: pgp/seahorse-pgp-private-key-properties.ui:335 +msgid "Go to next photo" +msgstr "Перейти к следующей фотографии" + +#. A photograph +#: pgp/seahorse-pgp-private-key-properties.ui:398 +#: pgp/seahorse-pgp-public-key-properties.ui:361 +msgid "Photo " +msgstr "Фото " + +#: pgp/seahorse-pgp-private-key-properties.ui:435 +#: pgp/seahorse-pgp-private-key-properties.ui:1088 +#: pgp/seahorse-pgp-public-key-properties.ui:439 +#: pgp/seahorse-pgp-public-key-properties.ui:1163 +msgid "Key ID:" +msgstr "Идентификатор ключа:" + +#. Name of key, usually a persons name +#: pgp/seahorse-pgp-private-key-properties.ui:452 +#: pgp/seahorse-pgp-public-key-properties.ui:473 +msgctxt "name-of-key" +msgid "Name:" +msgstr "Имя:" + +#: pgp/seahorse-pgp-private-key-properties.ui:468 +#: pgp/seahorse-pgp-public-key-properties.ui:490 +msgid "Email:" +msgstr "Электронная почта:" + +#: pgp/seahorse-pgp-private-key-properties.ui:484 +#: pgp/seahorse-pgp-public-key-properties.ui:507 +msgid "Comment:" +msgstr "Комментарий:" + +#: pgp/seahorse-pgp-private-key-properties.ui:593 +msgid "Decrypt files and email sent to you." +msgstr "Позволяет расшифровать файлы и почту." + +#: pgp/seahorse-pgp-private-key-properties.ui:606 +msgid "Private PGP Key" +msgstr "Секретный ключ PGP" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: ssh/seahorse-ssh-key-properties.ui:144 +msgid "Change _Passphrase" +msgstr "Изменить _пароль" + +#: pgp/seahorse-pgp-private-key-properties.ui:702 +#: pgp/seahorse-pgp-public-key-properties.ui:678 +msgid "Owner" +msgstr "Владелец" + +#: pgp/seahorse-pgp-private-key-properties.ui:718 +msgid "Key Names and Signatures" +msgstr "Имена и подписи" + +#: pgp/seahorse-pgp-private-key-properties.ui:772 +msgid "Primary" +msgstr "Главный" + +#: pgp/seahorse-pgp-private-key-properties.ui:824 pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "Подписать" + +#: pgp/seahorse-pgp-private-key-properties.ui:876 +msgid "Delete" +msgstr "Удалить" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:928 +msgid "_Add Name" +msgstr "_Добавить имя" + +#: pgp/seahorse-pgp-private-key-properties.ui:977 +#: pgp/seahorse-pgp-private-key-properties.ui:1678 +msgid "Revoke" +msgstr "Отозвать" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:1042 +msgid "Names and Signatures" +msgstr "Имена и подписи" + +#: pgp/seahorse-pgp-private-key-properties.ui:1114 +#: pgp/seahorse-pgp-public-key-properties.ui:1190 +msgid "Strength:" +msgstr "Стойкость:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1176 +msgid "Technical Details" +msgstr "Технические подробности" + +#: pgp/seahorse-pgp-private-key-properties.ui:1212 +msgid "Fingerprint" +msgstr "Отпечаток" + +#: pgp/seahorse-pgp-private-key-properties.ui:1256 +#: pgp/seahorse-pgp-public-key-properties.ui:1369 +msgid "Created:" +msgstr "Создан:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1329 +#: pgp/seahorse-pgp-public-key-properties.ui:1382 +msgid "Expires:" +msgstr "Истекает:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1345 +msgid "Dates" +msgstr "Даты" + +#: pgp/seahorse-pgp-private-key-properties.ui:1399 +msgid "Override Owner _Trust:" +msgstr "Указать _доверие владельцу:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1411 +msgid "_Export Secret Key:" +msgstr "Экспортировать _секретный ключ:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1482 +msgid "Actions" +msgstr "Действия" + +#: pgp/seahorse-pgp-private-key-properties.ui:1559 +msgid "Add" +msgstr "Добавить" + +#: pgp/seahorse-pgp-private-key-properties.ui:1609 +msgid "Expire" +msgstr "Истекает" + +#: pgp/seahorse-pgp-private-key-properties.ui:1731 +#: pgp/seahorse-pgp-public-key-properties.ui:1576 +msgid "_Subkeys" +msgstr "_Подчинённые ключи" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Слабо" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Полностью" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Безоговорочно" + +#: pgp/seahorse-pgp-public-key-properties.ui:424 +msgid "Encrypt files and email to the key’s owner" +msgstr "Шифровать файлы и электронную почту для владельца ключа" + +#: pgp/seahorse-pgp-public-key-properties.ui:588 +msgid "Public PGP Key" +msgstr "Открытый ключ PGP" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:640 +msgid "_Other Names:" +msgstr "_Другие имена:" + +#: pgp/seahorse-pgp-public-key-properties.ui:723 +msgid "Your trust of this key" +msgstr "Ваше доверие этому ключу" + +#: pgp/seahorse-pgp-public-key-properties.ui:751 +msgid "Your trust is manually specified on the Details tab." +msgstr "Можно вручную указать уровень доверия на вкладке Подробности." + +#: pgp/seahorse-pgp-public-key-properties.ui:768 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Я доверяю подписям, поставленным «%s» на других ключах" + +#: pgp/seahorse-pgp-public-key-properties.ui:801 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "Если вы уверены, что ключом владеет «%s», подпишите этот ключ:" + +#: pgp/seahorse-pgp-public-key-properties.ui:853 +msgid "_Sign this Key" +msgstr "_Подписать этот ключ" + +#: pgp/seahorse-pgp-public-key-properties.ui:894 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Если вы больше не уверены, что «%s» владеет этим ключом, отзовите " +"свою подпись:" + +#: pgp/seahorse-pgp-public-key-properties.ui:946 +msgid "_Revoke Signature" +msgstr "_Отозвать подпись" + +#: pgp/seahorse-pgp-public-key-properties.ui:1008 +msgid "_People who have signed this key:" +msgstr "_Люди, подписавшие этот ключ:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1055 +msgid "_Only display the signatures of people I trust" +msgstr "Показывать только по_дписи людей, которым я доверяю" + +#: pgp/seahorse-pgp-public-key-properties.ui:1095 +#: ssh/seahorse-ssh-key-properties.ui:168 +msgid "Trust" +msgstr "Доверие" + +#: pgp/seahorse-pgp-public-key-properties.ui:1273 +#: ssh/seahorse-ssh-key-properties.ui:347 +msgid "Fingerprint:" +msgstr "Отпечаток:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1339 +msgid "Dates:" +msgstr "Даты:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1446 +msgid "Indicate Trust:" +msgstr "Уровень доверия:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1472 +msgid "You _Trust the Owner:" +msgstr "Вы д_оверяете владельцу:" + +#: pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "Зашифровать" + +#: pgp/seahorse-pgp-subkey.c:293 +msgid "Certify" +msgstr "Сертифицировать" + +#: pgp/seahorse-pgp-subkey.c:294 +msgid "Authenticate" +msgstr "Подтвердить подлинность" + +#: pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "Подключ %d ключа %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Причина для отзыва ключа" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "При_чина:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Необязательное описание отзыва" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Отозвать" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"У вас нет личных ключей PGP, пригодных для подписывания документа или " +"сообщения." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Выберите подписывающий ключ" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Подписать сообщение ключом:" + +#: pgp/seahorse-sign.ui:6 +msgid "Sign Key" +msgstr "Подписать ключ" + +#: pgp/seahorse-sign.ui:27 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"Подписывая ключ, вы заявляете о своей уверенности в том, что владелец этого " +"ключа:" + +#: pgp/seahorse-sign.ui:34 +msgid "Key Name" +msgstr "Имя ключа" + +#: pgp/seahorse-sign.ui:54 +msgid "How carefully have you checked this key?" +msgstr "Насколько тщательно вы проверили этот ключ?" + +#: pgp/seahorse-sign.ui:84 +msgid "_Not at all" +msgstr "_Никак" + +#: pgp/seahorse-sign.ui:95 +msgid "_Casually" +msgstr "_Поверхностно" + +#: pgp/seahorse-sign.ui:107 +msgid "_Very Carefully" +msgstr "Очень т_щательно" + +#: pgp/seahorse-sign.ui:134 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Никак: означает, что вы верите, что этот ключ принадлежит тому, кто " +"записан владельцем, но вы не проверили это." + +#: pgp/seahorse-sign.ui:147 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Поверхностно: означает, что вы провели поверхностную проверку того, " +"что этот ключ принадлежит тому, кто записан владельцем. Например, вы с " +"владельцем сверили отпечатки ключа по телефону." + +#: pgp/seahorse-sign.ui:168 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Очень тщательно: Выбирайте этот вариант, только если вы полностью " +"уверены, что этот ключ — подлинный." + +#: pgp/seahorse-sign.ui:184 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Вы можете использовать трудноподделываемый документ с фотографией (например, " +"паспорт), чтобы лично удостовериться в правильности имени владельца ключа. " +"Вам следует также проверить, что адрес электронной почты принадлежит " +"владельцу, послав на него письмо." + +#: pgp/seahorse-sign.ui:215 +msgid "How others will see this signature:" +msgstr "Другие увидят эту подпись как:" + +#: pgp/seahorse-sign.ui:232 +msgid "_Others may not see this signature" +msgstr "_Другие не могут видеть эту подпись" + +#: pgp/seahorse-sign.ui:243 +msgid "I can _revoke this signature at a later date." +msgstr "Я могу _отозвать эту подпись позднее." + +#: pgp/seahorse-sign.ui:268 +msgid "Sign key as:" +msgstr "Подписать ключ как:" + +#: pgp/seahorse-sign.ui:286 +msgid "_Signer:" +msgstr "_Автор подписи:" + +#: pgp/seahorse-sign.ui:321 +msgid "_Sign" +msgstr "_Подписать" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "Экспортирование данных" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "Получение данных" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "Импортирование данных" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "Отправка данных" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Недоступно" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Сертификат" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Сертификаты (закодировано DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Личный сертификат и ключ" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Личный сертификат" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Действительно безвозвратно удалить %d сертификат?" +msgstr[1] "Действительно безвозвратно удалить %d сертификата?" +msgstr[2] "Действительно безвозвратно удалить %d сертификатов?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Не удалось сгенерировать закрытый ключ" + +#: pkcs11/pkcs11-generate.vala:284 pkcs11/pkcs11-private-key.vala:70 +msgid "Private key" +msgstr "Секретный ключ" + +#: pkcs11/pkcs11-generate.vala:285 +msgid "Used to request a certificate" +msgstr "Используется для запроса сертификата" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Я понимаю, что этот ключ будет безвозвратно удалён." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Безымянный закрытый ключ" + +#: pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "Безымянный" + +#: pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "Не удалось экспортировать сертификат" + +#: pkcs11/pkcs11-properties.vala:188 src/sidebar.vala:622 +msgid "Couldn’t delete" +msgstr "Не удалось удалить" + +#: pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "_Экспортировать" + +#: pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "Экспортировать сертификат" + +#: pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "Удалить этот сертификат или ключ" + +#: pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "Запрос _сертификата" + +#: pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "Создать файл с запросом сертификата для этого ключа" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Создать" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Не удалось создать запрос сертификата" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Сохранить запрос сертификата" + +#: pkcs11/pkcs11-request.vala:107 +msgid "_Save" +msgstr "Со_хранить" + +#: pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "Запрос сертификата" + +#: pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "Запрос, закодированный PEM" + +#: pkcs11/pkcs11-request.vala:149 +msgid "Couldn’t save certificate request" +msgstr "Не удалось сохранить запрос сертификата" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Неизвестно" + +#: pkcs11/seahorse-pkcs11-backend.c:187 +msgid "Certificates" +msgstr "Сертификаты" + +#: pkcs11/seahorse-pkcs11-backend.c:193 +msgid "X.509 certificates and related keys" +msgstr "Ключи и сертификаты X.509" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Новый секретный ключ" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Создать новый секретный ключ" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Метка:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Расположение:" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Создать файл запроса сертификата." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Имя сертификата (CN), помещённое в запрос сертификата." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Имя (сертификата):" + +#: src/application.vala:68 +msgid "Version of this application" +msgstr "Версия этого приложения" + +#: src/application.vala:73 src/application.vala:107 +msgid "- System Settings" +msgstr "— системные параметры" + +#: src/application.vala:102 +msgid "Don't display a window" +msgstr "Не показывать окно" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Импортируемые данные" + +#: src/import-dialog.vala:38 +msgid "Import" +msgstr "Импортировать" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Сбой импортирования" + +#: src/key-manager.vala:46 +msgid "_New" +msgstr "_Создать" + +#: src/key-manager.vala:47 +msgid "_Quit" +msgstr "_Завершить" + +#: src/key-manager.vala:47 +msgid "Close this program" +msgstr "Закрыть программу" + +#: src/key-manager.vala:48 +msgid "_New…" +msgstr "_Создать…" + +#: src/key-manager.vala:48 +msgid "Create a new key or item" +msgstr "Создать новый ключ или элементы" + +#: src/key-manager.vala:49 +msgid "_Import…" +msgstr "_Импортировать…" + +#: src/key-manager.vala:49 +msgid "Import from a file" +msgstr "Импортировать из файла" + +#: src/key-manager.vala:50 +msgid "_Paste" +msgstr "_Вставить" + +#: src/key-manager.vala:50 +msgid "Import from the clipboard" +msgstr "Импортировать из буфера обмена" + +#: src/key-manager.vala:54 +msgid "By _Keyring" +msgstr "По с_вязке ключей" + +#: src/key-manager.vala:54 +msgid "Show sidebar listing keyrings" +msgstr "Показывать боковую панель со связками ключей" + +#: src/key-manager.vala:58 +msgid "Show _Personal" +msgstr "Показывать _личные" + +#: src/key-manager.vala:58 +msgid "Only show personal keys, certificates and passwords" +msgstr "Показывать только личные ключи, сертификаты и пароли" + +#: src/key-manager.vala:59 +msgid "Show _Trusted" +msgstr "Показывать _доверенные" + +#: src/key-manager.vala:59 +msgid "Only show trusted keys, certificates and passwords" +msgstr "Показывать только доверенные ключи, сертификаты и пароли" + +#: src/key-manager.vala:60 +msgid "Show _Any" +msgstr "Показывать _все" + +#: src/key-manager.vala:60 +msgid "Show all keys, certificates and passwords" +msgstr "Показывать все ключи, сертификаты и пароли" + +#. The prompt +#: src/key-manager.vala:233 ssh/operation.vala:320 +msgid "Import Key" +msgstr "Импортировать ключ" + +#: src/key-manager.vala:236 +msgid "_Open" +msgstr "_Открыть" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:244 +msgid "All key files" +msgstr "Все файлы ключей" + +#: src/key-manager.vala:316 +msgid "Dropped text" +msgstr "Перетащенный текст" + +#: src/key-manager.vala:339 +msgid "Clipboard text" +msgstr "Текст буфера обмена" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Изменить пароль" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "_Новый пароль:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Подтвердить новый пароль" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Подтверждение п_ароля:" + +#: src/seahorse-generate-select.ui:5 +msgid "New item" +msgstr "Новый элемент" + +#: src/seahorse-generate-select.ui:21 +msgid "_Select the type of item to create:" +msgstr "_Выберите тип создаваемого элемента:" + +#: src/seahorse-generate-select.ui:69 +msgid "Continue" +msgstr "Продолжить" + +#: src/seahorse-key-manager.ui:59 +msgid "Add a new key or item" +msgstr "Добавить новый ключ или элемент" + +#: src/seahorse-key-manager.ui:76 +msgid "Filter" +msgstr "Фильтр" + +#: src/seahorse-key-manager.ui:121 +msgid "First time options:" +msgstr "Первоначальные параметры:" + +#: src/seahorse-key-manager.ui:172 +msgid "To get started with encryption you will need keys." +msgstr "Чтобы работать с шифрованием, нужны ключи." + +#: src/seahorse-key-manager.ui:185 +msgid "Import existing keys from a file:" +msgstr "Импортировать имеющиеся ключи из файла:" + +#: src/seahorse-key-manager.ui:251 +msgid "Generate a new key of your own: " +msgstr "Создать новый ключ для себя: " + +#: src/sidebar.vala:589 +msgid "Couldn’t lock" +msgstr "Не удалось заблокировать" + +#: src/sidebar.vala:606 +msgid "Couldn’t unlock" +msgstr "Не удалось разблокировать" + +#. Lock and unlock items +#: src/sidebar.vala:642 +msgid "_Lock" +msgstr "_Заблокировать" + +#: src/sidebar.vala:647 +msgid "_Unlock" +msgstr "_Разблокировать" + +#: ssh/actions.vala:26 +msgid "Configure Key for _Secure Shell…" +msgstr "Настроить ключ для _SSH…" + +#: ssh/actions.vala:27 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"Послать открытый ключ SSH на другую машину и настроить на ней вход с " +"использованием этого ключа." + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Безопасная оболочка" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Ключи используемые для безопасного подключения к другим компьютерам" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Уверены, что хотите безвозвратно удалить ключ SSH «%s»?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Уверены, что хотите удалить %u ключ SSH?" +msgstr[1] "Уверены, что хотите удалить %u ключа SSH?" +msgstr[2] "Уверены, что хотите удалить %u ключей SSH?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Секретные ключи SSH" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Открытые ключи SSH" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Ключ SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Для этого ключа нет ни одного доступного файла открытого ключа." + +#. No comment, but loaded +#: ssh/generate.vala:28 ssh/key.vala:116 ssh/key.vala:120 +#: ssh/seahorse-ssh-key-properties.ui:96 +msgid "Secure Shell Key" +msgstr "Ключ SSH" + +#: ssh/generate.vala:29 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "" +"Используется для доступа к другим компьютерам (например, через терминал)" + +#: ssh/generate.vala:115 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Не удалось загрузить созданный ключ SSH" + +#: ssh/generate.vala:119 +msgid "Couldn’t generate Secure Shell key" +msgstr "Не удалось создать ключ SSH" + +#: ssh/generate.vala:122 +msgid "Creating Secure Shell Key" +msgstr "Создание ключа SSH" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 бит" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 бит" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Неизвестный тип ключа." + +#: ssh/key-properties.vala:89 +msgid "Unknown type" +msgstr "Неизвестный тип" + +#: ssh/key-properties.vala:113 +msgid "Couldn’t rename key." +msgstr "Не удалось переименовать ключ." + +#: ssh/key-properties.vala:139 +msgid "Couldn’t change authorization for key." +msgstr "Не удалось изменить параметры авторизации для этого ключа." + +#: ssh/key-properties.vala:155 +msgid "Couldn’t change passphrase for key." +msgstr "Не удалось изменить пароль для этого ключа." + +#: ssh/key.vala:45 +msgid "Personal SSH key" +msgstr "Личный ключ SSH" + +#: ssh/key.vala:45 +msgid "SSH key" +msgstr "Ключ SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:113 +msgid "(Unreadable Secure Shell Key)" +msgstr "(нечитаемый ключ SSH)" + +#: ssh/operation.vala:215 +msgid "Remote Host Password" +msgstr "Пароль удалённого сервера" + +#: ssh/operation.vala:258 +msgid "Enter Key Passphrase" +msgstr "Введите пароль ключа" + +#: ssh/operation.vala:284 +msgid "Passphrase for New Secure Shell Key" +msgstr "Пароль для нового ключа SSH" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:317 +#, c-format +msgid "Importing key: %s" +msgstr "Импортирование ключа: %s" + +#: ssh/operation.vala:317 +msgid "Importing key. Enter passphrase" +msgstr "Импортирование ключа. Введите пароль" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Введите ваш пароль SSH:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Старый пароль ключа" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Введите старый пароль для: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Новый пароль ключа" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Введите новый пароль для: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Введите новый пароль ещё раз: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Новый ключ SSH" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Ключ для безопасной оболочки (SSH) позволяет безопасно подключаться к другим " +"компьютерам." + +#: ssh/seahorse-ssh-generate.ui:108 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Адрес эл. почты или другое напоминание для назначения ключа." + +#: ssh/seahorse-ssh-generate.ui:142 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:143 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:144 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:186 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Если есть компьютер, для которого вы хотите использовать этот ключ, вы " +"можете настроить удалённый компьютер для использования вашего нового ключа." + +#: ssh/seahorse-ssh-generate.ui:212 +msgid "_Just Create Key" +msgstr "_Просто создать ключ" + +#: ssh/seahorse-ssh-generate.ui:226 +msgid "_Create and Set Up" +msgstr "Создать и _установить" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "Имя:" + +#: ssh/seahorse-ssh-key-properties.ui:108 +msgid "Identifier:" +msgstr "Идентификатор:" + +#: ssh/seahorse-ssh-key-properties.ui:187 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "Вл_адельцу этого ключа разрешено соединяться с этим компьютером" + +#: ssh/seahorse-ssh-key-properties.ui:205 +#, c-format +msgid "This only applies to the %s account." +msgstr "Это применимо только к учётной записи %s." + +#: ssh/seahorse-ssh-key-properties.ui:262 +msgid "Algorithm:" +msgstr "Алгоритм:" + +#: ssh/seahorse-ssh-key-properties.ui:290 +msgid "Key length:" +msgstr "Длина ключа:" + +#: ssh/seahorse-ssh-key-properties.ui:317 +msgid "Location:" +msgstr "Местоположение:" + +#: ssh/seahorse-ssh-key-properties.ui:391 +msgid "E_xport Complete Key" +msgstr "_Экспортировать полный ключ" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Настроить компьютер для работы с SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Чтобы использовать ваш ключ SSH с другим компьютером, использующим SSH, у " +"вас уже должна быть учётная запись на том компьютере." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Адрес сервера:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "например: fileserver.example.com:порт" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Учётная запись:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Установить" + +#: ssh/source.vala:42 +msgid "OpenSSH keys" +msgstr "Ключи OpenSSH" + +#: ssh/source.vala:47 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:51 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:237 +msgid "No private key file is available for this key." +msgstr "Не удалось найти секретного ключа для этого публичного ключа." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Не удалось настроить ключи SSH на удалённом компьютере." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Настройка ключей SSH…" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%d-%m-%Y" + +#~ msgid "Name:" +#~ msgstr "Имя:" + +#~ msgid "Keyring" +#~ msgstr "Связка ключей" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Поставщик поиска еще не загружен" + +#~ msgid "Used to connect to other computers." +#~ msgstr "Используется для соединения с другими компьютерами." + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "Команда SSH неожиданно завершилась." + +#~ msgid "The SSH command failed." +#~ msgstr "Команда SSH завершилась с ошибкой." diff --git a/po/rw.po b/po/rw.po new file mode 100644 index 00000000..236c9bb4 --- /dev/null +++ b/po/rw.po @@ -0,0 +1,2536 @@ +# translation of seahorse to Kinyarwanda. +# Copyright (C) 2005 Free Software Foundation, Inc. +# This file is distributed under the same license as the seahorse package. +# Steve Murphy , 2005 +# Steve performed initial rough translation from compendium built from translations provided by the following translators: +# Philibert Ndandali , 2005. +# Viateur MUGENZI , 2005. +# Noëlla Mupole , 2005. +# Carole Karema , 2005. +# JEAN BAPTISTE NGENDAHAYO , 2005. +# Augustin KIBERWA , 2005. +# Donatien NSENGIYUMVA , 2005.. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-04-01 21:08-0700\n" +"PO-Revision-Date: 2005-03-31 20:55-0700\n" +"Last-Translator: Steve Murphy \n" +"Language-Team: Kinyarwanda \n" +"Language: rw\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: agent/eggtrayicon.c:121 +msgid "Orientation" +msgstr "Icyerekezo" + +#: agent/eggtrayicon.c:122 +#, fuzzy +msgid "The orientation of the tray." +msgstr "Icyerekezo Bya i" + +#: agent/gtk-secure-entry.c:457 +msgid "Cursor Position" +msgstr "" + +#: agent/gtk-secure-entry.c:459 +#, fuzzy +msgid "The current position of the insertion cursor in chars" +msgstr "KIGEZWEHO Ibirindiro Bya i Iyinjizamo indanga in" + +#: agent/gtk-secure-entry.c:466 +msgid "Selection Bound" +msgstr "" + +#: agent/gtk-secure-entry.c:468 +#, fuzzy +msgid "" +"The position of the opposite end of the selection from the cursor in chars" +msgstr "Ibirindiro Bya i Impera Bya i Ihitamo Bivuye i indanga in" + +#: agent/gtk-secure-entry.c:475 +#, fuzzy +msgid "Maximum length" +msgstr "Uburebure ntarengwa:" + +#: agent/gtk-secure-entry.c:477 +#, fuzzy +msgid "Maximum number of characters for this entry. Zero if no maximum" +msgstr "Umubare Bya Inyuguti kugirango iyi Icyinjijwe NIBA Oya Kinini" + +#: agent/gtk-secure-entry.c:485 +msgid "Has Frame" +msgstr "" + +#: agent/gtk-secure-entry.c:487 +#, fuzzy +msgid "FALSE removes outside bevel from entry" +msgstr "Hanze Bivuye Icyinjijwe" + +#: agent/gtk-secure-entry.c:496 +#, fuzzy +msgid "Invisible character" +msgstr "Inyuguti" + +#: agent/gtk-secure-entry.c:498 +#, fuzzy +msgid "The character to use when masking entry contents (in \"password mode\")" +msgstr "" +"Inyuguti Kuri Gukoresha Ryari: Icyinjijwe Ibigize in Ijambobanga... Ubwoko" + +#: agent/gtk-secure-entry.c:507 +#, fuzzy +msgid "Activates default" +msgstr "Mburabuzi" + +#: agent/gtk-secure-entry.c:509 +#, fuzzy +msgid "" +"Whether to activate the default widget (such as the default button in a " +"dialog) when Enter is pressed" +msgstr "" +"Kuri Kureka bigakora i Mburabuzi Nka i Mburabuzi Akabuto in a Ikiganiro " +"Ryari: ni" + +#: agent/gtk-secure-entry.c:514 +#, fuzzy +msgid "Width in chars" +msgstr "in" + +#: agent/gtk-secure-entry.c:516 +#, fuzzy +msgid "Number of characters to leave space for in the entry" +msgstr "Bya Inyuguti Kuri Umwanya kugirango in i Icyinjijwe" + +#: agent/gtk-secure-entry.c:524 +#, fuzzy +msgid "Scroll offset" +msgstr "Nta- boneza" + +#: agent/gtk-secure-entry.c:526 +#, fuzzy +msgid "Number of pixels of the entry scrolled off the screen to the left" +msgstr "Bya Pigiseli Bya i Icyinjijwe Bidakora i Mugaragaza Kuri i Ibumoso:" + +#: agent/gtk-secure-entry.c:533 +msgid "Text" +msgstr "Umwandiko" + +#: agent/gtk-secure-entry.c:535 +#, fuzzy +msgid "The contents of the entry" +msgstr "Ibigize Bya i Icyinjijwe" + +#: agent/gtk-secure-entry.c:692 +#, fuzzy +msgid "Select on focus" +msgstr "ku" + +#: agent/gtk-secure-entry.c:694 +#, fuzzy +msgid "Whether to select the contents of an entry when it is focused" +msgstr "Kuri Guhitamo i Ibigize Bya Icyinjijwe Ryari: ni" + +#: agent/seahorse-agent-actions.c:97 src/seahorse-generate-druid.glade.h:27 +msgid "Passphrase:" +msgstr "" + +#: agent/seahorse-agent-actions.c:98 +#, fuzzy +msgid "Please enter a passphrase to use." +msgstr "Injiza a Kuri Gukoresha" + +#: agent/seahorse-agent-cache.c:46 +msgid "Unparseable Key ID" +msgstr "" + +#: agent/seahorse-agent-cache.c:47 +msgid "Unknown/Invalid Key" +msgstr "" + +#: agent/seahorse-agent-cache.glade.h:1 +#, fuzzy +msgid "" +"Warning: Your system is not configured to cache passphrases in secure " +"memory." +msgstr "Note: The 'seahorse-agent' program was started. This program is " +"necessary in order for caching of passphrases. " +msgstr "Warning: The 'seahorse-agent' program is not running. This program is " +"necessary in order for caching of passphrases. " +msgstr "expired) '%s' on %s" +msgstr "%s:Isinya Bivuye B Byarengeje igihe B ku" + +#: libseahorse/seahorse-signatures.c:70 +#, fuzzy, c-format +msgid "%s: Expired signature from '%s' on %s" +msgstr "%s:revoked) '%s' on %s" +msgstr "%s:Isinya Bivuye B Byavanywemo B ku" + +#: libseahorse/seahorse-signatures.c:78 +#, fuzzy, c-format +msgid "%s: Good signature from '%s' on %s" +msgstr "%s:Isinya Bivuye ku" + +#: libseahorse/seahorse-signatures.c:82 +#, fuzzy, c-format +msgid "%s: Signing key not in key ring" +msgstr "%s:Urufunguzo OYA in Urufunguzo Kuvuza Inzogera" + +#: libseahorse/seahorse-signatures.c:85 +#, fuzzy, c-format +msgid "%s: Bad signature" +msgstr "%s:Signatures found are listed below: " +msgstr "A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "> Itariki" + +#: src/seahorse-expires.c:115 +#, fuzzy, c-format +msgid "Expiry for Subkey %d of %s" +msgstr "kugirango Bya" + +#: src/seahorse-expires.c:117 +#, fuzzy, c-format +msgid "Expiry for %s" +msgstr "kugirango" + +#: src/seahorse-expires.glade.h:1 +#, fuzzy +msgid "C_hange" +msgstr "Guhindura" + +#: src/seahorse-expires.glade.h:2 src/seahorse-revoke.glade.h:12 +#, fuzzy +msgid "Revoke key" +msgstr "Urufunguzo" + +#: src/seahorse-expires.glade.h:3 +#, fuzzy +msgid "This key should e_xpire on:" +msgstr "Urufunguzo ku" + +#: src/seahorse-generate-adv.c:141 src/seahorse-generate-druid.c:167 +#, fuzzy +msgid "Couldn't generate key" +msgstr "Urufunguzo" + +#: src/seahorse-generate-adv.glade.h:3 +#, fuzzy +msgid "Confirmation of passphrase" +msgstr "Bya" + +#: src/seahorse-generate-adv.glade.h:4 +msgid "DSA & ElGamal" +msgstr "" + +#: src/seahorse-generate-adv.glade.h:8 +#, fuzzy +msgid "Generate a Key" +msgstr "a" + +#: src/seahorse-generate-adv.glade.h:9 +#, fuzzy +msgid "Generate a new key" +msgstr "a Gishya Urufunguzo" + +#: src/seahorse-generate-adv.glade.h:20 src/seahorse-generate-druid.glade.h:26 +#, fuzzy +msgid "Passphrase to secure key" +msgstr "Kuri Urufunguzo" + +#: src/seahorse-generate-adv.glade.h:23 +msgid "_Generate" +msgstr "" + +#: src/seahorse-generate-adv.glade.h:24 +msgid "_Passphrase:" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:2 +#, fuzzy +msgid "" +"Before selecting apply to start key generation, please make sure all of your " +"previous settings are correct." +msgstr "" +"Gukurikiza Kuri Gutangira Urufunguzo Ubwoko Byose Bya Ibanjirije " +"Amagenamiterere" + +#: src/seahorse-generate-druid.glade.h:3 +#, fuzzy +msgid "" +"Choosing a passphrase is an integral part of creating a strong key. Like a " +"password, a passphrase should contain letters, numbers, and punctuation. " +"Additionally, a passphrase can contain spaces, meaning it can contain many " +"words. \n" +"\n" +"You should pick a phrase that is easy to rememeber and contains punctuation. " +"Take this phrase, adjust the case of various letters, and change some of the " +"letters into numbers or punctuation, reminiscent of \"leet speak\", but " +"don't make it so obscure to the point where you can't remember it." +msgstr "" +"a ni Umubare Wuzuye Bya a Urufunguzo a Ijambobanga... a Imibare Na a Imyanya " +"Igisobanuro Amagambo a ni Kuri Na Kirimo iyi i Bya Na Guhindura>> Bya i " +"Imibare Cyangwa Bya Ubwoko Kuri i Akadomo" + +# padmin/source\padialog.src:RID_PADIALOG.RID_PA_TXT_COMMENT.text +#: src/seahorse-generate-druid.glade.h:6 src/seahorse-key-properties.glade.h:7 +msgid "Comment:" +msgstr "Icyo wongeraho" + +#: src/seahorse-generate-druid.glade.h:7 +msgid "Confirm" +msgstr "Emeza" + +#: src/seahorse-generate-druid.glade.h:8 +msgid "Confirm Passphrase:" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:9 +msgid "Confirm passphrase" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:10 +#, fuzzy +msgid "Date the Key Expires" +msgstr "i" + +#: src/seahorse-generate-druid.glade.h:11 +#, fuzzy +msgid "Email Address:" +msgstr "Aderesi ya imeli:" + +#: src/seahorse-generate-druid.glade.h:12 +#, fuzzy +msgid "Enter Name - Must be at least five letters." +msgstr "ku" + +#: src/seahorse-generate-druid.glade.h:13 src/seahorse-key-manager-store.c:391 +msgid "Expiration Date" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:15 +msgid "Extra High Security" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:16 +msgid "Full Name:" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:17 +msgid "High Security" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:18 +msgid "Key Generation Assistant" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:19 +msgid "Key Generation Assistant Complete" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:20 +#, fuzzy +msgid "" +"Keys must be given an appropriate expiration date. For most people, the " +"default option of \"never expires\" is sufficient. If you only plan on using " +"the key for a certain period of time, i.e. for a specific project, you " +"should pick an expiration date after the projected completion of your " +"project. After the expiration date, your private key will still be able to " +"decrypt messages or data encrypted with your public key. However, your " +"private key will no longer sign messages or data." +msgstr "E." + +#: src/seahorse-generate-druid.glade.h:21 +msgid "Medium Security" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:22 +msgid "Never Expires" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:28 +msgid "Personal Information" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:29 +msgid "Seahorse Key Generation Assistant" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:30 +msgid "Security Level" +msgstr "Urwego rw'umutekano" + +#: src/seahorse-generate-druid.glade.h:31 +#, fuzzy +msgid "" +"The Medium Security level is the default and should be acceptable for " +"general everyday usage. \n" +"\n" +"The High Security level should be selected if you know your data will be " +"actively scrutinized. The Extra High level should be selected if you know " +"your data is actively scrutinized and will be under cryptographic attack." +msgstr "" +"urwego ni i Mburabuzi Na kugirango Rusange Ikoresha: urwego Byahiswemo NIBA " +"Ibyatanzwe urwego Byahiswemo NIBA Ibyatanzwe ni Na" + +#: src/seahorse-generate-druid.glade.h:34 +#, fuzzy +msgid "" +"This assistant will guide you through the steps of creating a PGP key pair." +msgstr "Gihinguranya i Intambwe Bya a Urufunguzo" + +#: src/seahorse-generate-druid.glade.h:35 +#, fuzzy +msgid "" +"To create a key and tie it to your identity, the following information is " +"needed: Full Name, Email Address, and Comment. \n" +"\n" +"These values will be given to the name of your key in the following " +"manner: \n" +"\n" +"Full Name (Comment) ." +msgstr "" +"Kurema a Urufunguzo Na Kuri Ikiranga i Ibisobanuro ni Na Uduciro Kuri i " +"Izina: Bya Urufunguzo in i imeli Aderesi" + +#: src/seahorse-generate-druid.glade.h:40 +msgid "druidpage_pass" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:41 +msgid "druidpage_pinfo" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:42 +msgid "keygen_druid" +msgstr "" + +#: src/seahorse-generate-select.glade.h:1 +msgid "Advanced" +msgstr "Urwego rwo hejuru" + +#: src/seahorse-generate-select.glade.h:2 +msgid "Assistant" +msgstr "" + +#: src/seahorse-generate-select.glade.h:3 +msgid "Continue" +msgstr "Gukomeza" + +#: src/seahorse-generate-select.glade.h:4 +msgid "Generate Key" +msgstr "" + +#: src/seahorse-generate-select.glade.h:5 +#, fuzzy +msgid "Generate a key via the assistant." +msgstr "a Urufunguzo Biturutse i" + +#: src/seahorse-generate-select.glade.h:6 +#, fuzzy +msgid "Generate a key with the advanced dialog." +msgstr "a Urufunguzo Na: i Urwego rwo hejuru Ikiganiro" + +#: src/seahorse-generate-select.glade.h:7 +#, fuzzy +msgid "Select a method to generate your new key:" +msgstr "a Uburyo Kuri Gishya Urufunguzo" + +#: src/seahorse-generate-select.glade.h:8 +msgid "radio_druid" +msgstr "" + +#: src/seahorse-key-manager-store.c:176 src/seahorse-key-properties.c:238 +msgid "Expired" +msgstr "Byarengeje igihe" + +#: src/seahorse-key-manager-store.c:191 +msgid "Private PGP Key" +msgstr "" + +#: src/seahorse-key-manager-store.c:193 +msgid "Public PGP Key" +msgstr "" + +# 6375 +#: src/seahorse-key-manager-store.c:210 +msgid "User ID" +msgstr "koresha Indango" + +#: src/seahorse-key-manager-store.c:322 +#, fuzzy +msgid "Couldn't export key(s)" +msgstr "Kohereza Urufunguzo S" + +#: src/seahorse-key-manager-store.c:338 src/seahorse-key-manager.c:198 +#: src/seahorse-key-properties.c:296 src/seahorse-keyserver-results.c:130 +#, fuzzy, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "Kohereza Urufunguzo Kuri" + +#: src/seahorse-key-manager-store.c:383 +msgid "Trust" +msgstr "" + +# filter/source\xsltdialog\xmlfilterdialogstrings.src:STR_COLUMN_HEADER_TYPE.text +#: src/seahorse-key-manager-store.c:387 +msgid "Type" +msgstr "Ubwoko" + +#: src/seahorse-key-manager.c:89 +msgid "Import Key" +msgstr "" + +#: src/seahorse-key-manager.c:119 +#, fuzzy +msgid "Couldn't import keys from clipboard" +msgstr "Kuzana Utubuto Bivuye Ububikokoporora" + +#: src/seahorse-key-manager.c:154 +#, fuzzy +msgid "Couldn't export key to clipboard" +msgstr "Kohereza Urufunguzo Kuri Ububikokoporora" + +#: src/seahorse-key-manager.c:187 +msgid "Export Key" +msgstr "" + +#: src/seahorse-key-manager.c:217 +#, fuzzy +msgid "Backup Keyrings to Archive" +msgstr "Kuri" + +#: src/seahorse-key-manager.c:386 +msgid "translator_credits" +msgstr "" + +#: src/seahorse-key-manager.c:406 +msgid "seahorse" +msgstr "" + +#: src/seahorse-key-manager.c:571 +#, fuzzy, c-format +msgid "Couldn't import key from \"%s\"" +msgstr "Kuzana Urufunguzo Bivuye" + +#: src/seahorse-key-manager.glade.h:1 +#, fuzzy +msgid "First time options:" +msgstr "> Ukoresha:" + +#: src/seahorse-key-properties.c:646 src/seahorse-key-properties.glade.h:37 +msgid "_Revoke" +msgstr "" + +#: src/seahorse-key-properties.c:650 +#, c-format +msgid "Revoke subkey %d" +msgstr "" + +#: src/seahorse-key-properties.c:659 +#, c-format +msgid "Subkey %d" +msgstr "" + +#: src/seahorse-key-properties.c:671 +#, c-format +msgid "Delete subkey %d" +msgstr "" + +#: src/seahorse-key-properties.glade.h:1 +#, fuzzy +msgid "Dates" +msgstr "Owner" +msgstr "Properties" +msgstr "_Trust" +msgstr "You have selected multiple files or folders" +msgstr ", 2007. +msgid "" +msgstr "" +"Project-Id-Version: si\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-09 03:52+0100\n" +"PO-Revision-Date: 2007-09-29 12:23+0530\n" +"Last-Translator: Danishka Navin \n" +"Language-Team: Sinhala \n" +"Language: si\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: KBabel 1.11.4\n" + +#: ../agent/seahorse-agent-actions.c:134 +#: ../libseahorse/seahorse-ssh-operation.c:445 +msgid "Passphrase:" +msgstr "" + +#: ../agent/seahorse-agent-actions.c:135 +msgid "Please enter a passphrase to use." +msgstr "" + +#. Warn and put in defaults +#: ../agent/seahorse-agent.c:101 +msgid "couldn't read gpg configuration, will try to create" +msgstr "" + +#: ../agent/seahorse-agent.c:119 +#, c-format +msgid "couldn't modify gpg configuration: %s" +msgstr "" + +#: ../agent/seahorse-agent-cache.c:72 +msgid "Unparseable Key ID" +msgstr "" + +#: ../agent/seahorse-agent-cache.c:73 +msgid "Unknown/Invalid Key" +msgstr "" + +#: ../agent/seahorse-agent-cache.c:532 +#, c-format +msgid "PGP Key: %s" +msgstr "PGP යතුර: %s" + +#: ../agent/seahorse-agent-cache.glade.h:1 +msgid "" +"Warning: Your system is not configured to cache passphrases in secure " +"memory." +msgstr "" + +#: ../agent/seahorse-agent-cache.glade.h:2 +msgid "Cache _Preferences" +msgstr "" + +#: ../agent/seahorse-agent-cache.glade.h:3 +msgid "Cached Encryption Keys" +msgstr "" + +#: ../agent/seahorse-agent-cache.glade.h:4 +msgid "Change passphrase cache settings." +msgstr "" + +#: ../agent/seahorse-agent-cache.glade.h:5 +msgid "Clear passphrase cache" +msgstr "" + +#: ../agent/seahorse-agent-cache.glade.h:6 +msgid "_Clear Cache" +msgstr "" + +#: ../agent/seahorse-agent-cache.glade.h:7 +msgid "_Show Window" +msgstr "" + +#: ../agent/seahorse-agent-main.c:50 +msgid "Do not daemonize seahorse-agent" +msgstr "" + +#: ../agent/seahorse-agent-main.c:54 +msgid "Print variables in for a C type shell" +msgstr "" + +#: ../agent/seahorse-agent-main.c:57 +msgid "Display variables instead of editing conf files (gpg.conf, SSH agent socket)" +msgstr "" + +#: ../agent/seahorse-agent-main.c:60 +msgid "Execute other arguments on the command line" +msgstr "" + +#: ../agent/seahorse-agent-main.c:64 +msgid "Allow GPG agent request from any display" +msgstr "" + +#: ../agent/seahorse-agent-main.c:67 +msgid "command..." +msgstr "" + +#: ../agent/seahorse-agent-main.c:89 ../daemon/seahorse-daemon.c:72 +msgid "couldn't fork process" +msgstr "" + +#: ../agent/seahorse-agent-main.c:95 ../daemon/seahorse-daemon.c:78 +msgid "couldn't create new process group" +msgstr "" + +#: ../agent/seahorse-agent-main.c:227 ../daemon/seahorse-daemon.c:195 +#: ../plugins/applet/seahorse-applet.c:1017 +#: ../plugins/nautilus/seahorse-tool.c:570 ../src/main.c:59 +msgid "couldn't drop privileges properly" +msgstr "" + +#: ../agent/seahorse-agent-main.c:238 +msgid "Encryption Key Agent (Seahorse)" +msgstr "" + +#: ../agent/seahorse-agent-main.c:246 +msgid "no command specified to execute" +msgstr "" + +#: ../agent/seahorse-agent-prompt.c:216 +msgid "Authorize Passphrase Access" +msgstr "" + +#: ../agent/seahorse-agent-prompt.c:252 +msgid "The passphrase is cached in memory." +msgstr "" + +#: ../agent/seahorse-agent-prompt.c:257 +msgid "Always ask me before using a cached passphrase" +msgstr "" + +#: ../agent/seahorse-agent-prompt.c:274 +msgid "_Authorize" +msgstr "" + +#. Make the uid column +#: ../agent/seahorse-agent-status.c:151 +msgid "Key Name" +msgstr "" + +#: ../daemon/seahorse-daemon.c:54 +msgid "Do not run seahorse-daemon as a daemon" +msgstr "" + +#: ../daemon/seahorse-daemon.c:202 +msgid "Encryption Daemon (Seahorse)" +msgstr "" + +#: ../daemon/seahorse-service.c:103 ../daemon/seahorse-service.c:128 +#, c-format +msgid "Invalid or unrecognized key type: %s" +msgstr "" + +#: ../daemon/seahorse-service.c:186 ../daemon/seahorse-service-keyset.c:123 +#: ../daemon/seahorse-service-keyset.c:152 +#, c-format +msgid "Invalid or unrecognized key: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:120 +#: ../daemon/seahorse-service-crypto.c:227 +#, c-format +msgid "Invalid or unrecognized signer: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:127 +#: ../daemon/seahorse-service-crypto.c:234 +#, c-format +msgid "Key is not valid for signing: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:139 +#, c-format +msgid "Invalid or unrecognized recipient: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:147 +#, c-format +msgid "Key is not a valid recipient for encryption: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:156 +msgid "No recipients specified" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:222 +msgid "No signer specified" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:277 +#, c-format +msgid "Invalid key type for decryption: %s" +msgstr "" + +#: ../daemon/seahorse-service-crypto.c:339 +#, c-format +msgid "Invalid key type for verifying: %s" +msgstr "" + +#: ../daemon/seahorse-service-keyset.c:186 +#, c-format +msgid "Invalid key id: %s" +msgstr "" + +#: ../daemon/seahorse-sharing.c:71 ../daemon/seahorse-sharing.c:215 +msgid "Couldn't share keys" +msgstr "" + +#: ../daemon/seahorse-sharing.c:72 +msgid "Can't publish discovery information on the network." +msgstr "" + +#. Translators: The %s will get filled in with the user name +#. of the user, to form a genitive. If this is difficult to +#. translate correctly so that it will work correctly in your +#. language, you may use something equivalent to +#. "Shared keys of %s". +#: ../daemon/seahorse-sharing.c:92 +#, c-format +msgid "%s's encryption keys" +msgstr "" + +#: ../data/seahorse.schemas.in.h:1 +msgid "" +"A list of key server URIs to search for remote PGP keys. In later versions a " +"display name can be included, by appending a space and then the name." +msgstr "" + +#: ../data/seahorse.schemas.in.h:2 +msgid "" +"After performing an decrypt or verify operation from the applet, display the " +"resulting text in a window." +msgstr "" + +#: ../data/seahorse.schemas.in.h:3 +msgid "" +"After performing an encrypt or signing operation from the applet, display " +"the resulting text in a window." +msgstr "" + +#: ../data/seahorse.schemas.in.h:4 +msgid "Auto Retrieve Keys" +msgstr "" + +#: ../data/seahorse.schemas.in.h:5 +msgid "Auto Sync Keys" +msgstr "" + +#: ../data/seahorse.schemas.in.h:6 +msgid "Controls the visibility of the expires column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:7 +msgid "Controls the visibility of the trust column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:8 +msgid "Controls the visibility of the type column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:9 +msgid "Controls the visibility of the validity column for the key manager." +msgstr "" + +#: ../data/seahorse.schemas.in.h:10 +msgid "Display cache reminder in the notification area" +msgstr "" + +#: ../data/seahorse.schemas.in.h:11 +msgid "Display clipboard after decrypting" +msgstr "" + +#: ../data/seahorse.schemas.in.h:12 +msgid "Display clipboard after encrypting" +msgstr "" + +#: ../data/seahorse.schemas.in.h:13 +msgid "Enable DNS-SD sharing" +msgstr "" + +#: ../data/seahorse.schemas.in.h:14 +msgid "" +"Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +"running and must be built with HKP and DNS-SD support." +msgstr "" + +#: ../data/seahorse.schemas.in.h:15 +msgid "Expire passwords in the cache" +msgstr "" + +#: ../data/seahorse.schemas.in.h:16 +msgid "ID of the default key" +msgstr "" + +#: ../data/seahorse.schemas.in.h:17 +msgid "" +"If set to 'gnome' uses gnome-keyring to cache passwords. When set to " +"'internal' uses internal cache." +msgstr "" + +#: ../data/seahorse.schemas.in.h:18 +msgid "" +"If set to true, then files encrypted with seahorse will be ASCII armor " +"encoded." +msgstr "" + +#: ../data/seahorse.schemas.in.h:19 +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "" + +#: ../data/seahorse.schemas.in.h:20 +msgid "Last key server search pattern" +msgstr "" + +#: ../data/seahorse.schemas.in.h:21 +msgid "Last key servers used" +msgstr "" + +#: ../data/seahorse.schemas.in.h:22 +msgid "Last key used to sign a message." +msgstr "" + +#: ../data/seahorse.schemas.in.h:23 +msgid "PGP Key servers" +msgstr "" + +#: ../data/seahorse.schemas.in.h:24 +msgid "Prompt before using GPG passwords in cache" +msgstr "" + +#: ../data/seahorse.schemas.in.h:25 +msgid "Publish keys to this key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:26 +msgid "" +"Reflect the contents of the clipboard (whether encrypted, signed, etc...) in " +"the panel applet icon." +msgstr "" + +#: ../data/seahorse.schemas.in.h:27 +msgid "" +"Set to 'false' to disable display of the cache reminder in the notification " +"area of your panel." +msgstr "" + +#: ../data/seahorse.schemas.in.h:28 +msgid "" +"Set to 'true' to have seahorse-agent prompt before giving out passwords it " +"has cached." +msgstr "" + +#: ../data/seahorse.schemas.in.h:29 +msgid "Show clipboard state in panel" +msgstr "" + +#: ../data/seahorse.schemas.in.h:30 +msgid "Show expires column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:31 +msgid "Show trust column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:32 +msgid "Show type column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:33 +msgid "Show validity column in key manager" +msgstr "" + +#: ../data/seahorse.schemas.in.h:34 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name' and " +"'id'. Put a '-' in front of the column name to sort in descending order." +msgstr "" + +#: ../data/seahorse.schemas.in.h:35 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. Put a '-' in " +"front of the column name to sort in descending order." +msgstr "" + +#: ../data/seahorse.schemas.in.h:36 +msgid "The ID of the last secret key used to sign a message." +msgstr "" + +#: ../data/seahorse.schemas.in.h:37 +msgid "The column to sort the recipients by" +msgstr "" + +#: ../data/seahorse.schemas.in.h:38 +msgid "The column to sort the seahorse keys by" +msgstr "" + +#: ../data/seahorse.schemas.in.h:39 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" + +#: ../data/seahorse.schemas.in.h:40 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" + +#: ../data/seahorse.schemas.in.h:41 +msgid "The last search pattern searched for against a key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:42 +msgid "The time (in minutes) to cache GPG passwords" +msgstr "" + +#: ../data/seahorse.schemas.in.h:43 +msgid "" +"This is the amount of time, specified in minutes, to cache GPG passwords in " +"seahorse-agent." +msgstr "" + +#: ../data/seahorse.schemas.in.h:44 +msgid "" +"This option enables the GPG password cache in the seahorse-agent program. " +"The 'use-agent' setting in gpg.conf affects this setting." +msgstr "" + +#: ../data/seahorse.schemas.in.h:45 +msgid "This specifies the default key to use for certain operations, mainly signing." +msgstr "" + +#: ../data/seahorse.schemas.in.h:46 +msgid "" +"When set seahorse-agent will try to automatically load the users SSH keys " +"when needed. This is equivalent to using the ssh-add utility." +msgstr "" + +#: ../data/seahorse.schemas.in.h:47 +msgid "" +"When set, seahorse-agent expires GPG passwords in its cache after a period " +"of time." +msgstr "" + +#: ../data/seahorse.schemas.in.h:48 +msgid "Where to store cached passwords." +msgstr "" + +#: ../data/seahorse.schemas.in.h:49 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" + +#: ../data/seahorse.schemas.in.h:50 +msgid "" +"Whether or not modified keys should be automatically synced with the default " +"key server." +msgstr "" + +#: ../data/seahorse.schemas.in.h:51 +msgid "Whether the GPG password cache is enabled" +msgstr "" + +#: ../data/seahorse.schemas.in.h:52 +msgid "Whether to always encrypt to default key" +msgstr "" + +#: ../data/seahorse.schemas.in.h:53 +msgid "Whether to automatically load SSH keys on demand." +msgstr "" + +#: ../data/seahorse.schemas.in.h:54 +msgid "Whether to use ASCII Armor" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:156 +msgid "All Keys" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:157 +msgid "Selected Recipients" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:158 +msgid "Search Results" +msgstr "" + +#. Filter Label +#: ../libcryptui/cryptui-key-chooser.c:168 +msgid "Search _for:" +msgstr "" + +#. Sign Label +#: ../libcryptui/cryptui-key-chooser.c:223 +msgid "_Sign message as:" +msgstr "" + +#: ../libcryptui/cryptui-key-chooser.c:235 +msgid "None (Don't Sign)" +msgstr "" + +#. TODO: Icons +#: ../libcryptui/cryptui-key-list.c:117 +#: ../src/seahorse-key-manager-store.c:954 +#: ../src/seahorse-key-properties.c:871 +msgid "Name" +msgstr "නම" + +#: ../libcryptui/cryptui-key-list.c:120 +#: ../src/seahorse-key-manager-store.c:966 +#: ../src/seahorse-key-properties.c:1726 +msgid "Key ID" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:1 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:2 +msgid "Add Key Server" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:3 +msgid "Host:" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:4 +msgid "Key Server Type:" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:5 +#: ../src/seahorse-ssh-upload.glade.h:3 +msgid "The host name or address of the server." +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.glade.h:6 +msgid "The port to access the server on." +msgstr "" + +#: ../libseahorse/seahorse-hkp-source.c:358 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" + +#: ../libseahorse/seahorse-hkp-source.c:360 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "" + +#: ../libseahorse/seahorse-hkp-source.c:563 +msgid "Searching for keys..." +msgstr "" + +#: ../libseahorse/seahorse-hkp-source.c:639 +msgid "Uploading keys..." +msgstr "" + +#: ../libseahorse/seahorse-hkp-source.c:715 +msgid "Retrieving keys..." +msgstr "" + +#: ../libseahorse/seahorse-hkp-source.c:764 +#, c-format +msgid "Searching for keys on: %s" +msgstr "" + +#. The ldap_cb and chain_cb were set in seahorse_ldap_operation_start +#: ../libseahorse/seahorse-hkp-source.c:857 +#: ../libseahorse/seahorse-hkp-source.c:929 +#: ../libseahorse/seahorse-ldap-source.c:656 +#, c-format +msgid "Connecting to: %s" +msgstr "" + +#: ../libseahorse/seahorse-ldap-source.c:449 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "" + +#: ../libseahorse/seahorse-ldap-source.c:629 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "" + +#: ../libseahorse/seahorse-ldap-source.c:705 +#, c-format +msgid "Resolving server address: %s" +msgstr "" + +#: ../libseahorse/seahorse-ldap-source.c:883 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "" + +#: ../libseahorse/seahorse-ldap-source.c:910 +#, c-format +msgid "Searching for key id '%s'..." +msgstr "" + +#: ../libseahorse/seahorse-ldap-source.c:1011 +msgid "Retrieving remote keys..." +msgstr "" + +#: ../libseahorse/seahorse-ldap-source.c:1144 +msgid "Sending keys to key server..." +msgstr "" + +#: ../libseahorse/seahorse-notification.c:559 +#: ../libseahorse/seahorse-notification.c:589 +msgid "Key Imported" +msgid_plural "Keys Imported" +msgstr[0] "" +msgstr[1] "" + +#: ../libseahorse/seahorse-notification.c:563 +#: ../libseahorse/seahorse-notification.c:588 +#, c-format +msgid "Imported %i key" +msgid_plural "Imported %i keys" +msgstr[0] "" +msgstr[1] "" + +#: ../libseahorse/seahorse-notification.c:565 +msgid "Imported a key for" +msgid_plural "Imported keys for" +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../libseahorse/seahorse-notification.c:617 +#, c-format +msgid "Signed by expired on %s." +msgstr "" + +#: ../libseahorse/seahorse-notification.c:618 +msgid "Invalid Signature" +msgstr "" + +#: ../libseahorse/seahorse-notification.c:624 +#, c-format +msgid "Signed by on %s Expired." +msgstr "" + +#: ../libseahorse/seahorse-notification.c:625 +msgid "Expired Signature" +msgstr "" + +#: ../libseahorse/seahorse-notification.c:631 +#, c-format +msgid "Signed by Revoked on %s." +msgstr "" + +#: ../libseahorse/seahorse-notification.c:632 +msgid "Revoked Signature" +msgstr "" + +#. TRANSLATORS: is a custom markup tag, do not translate. +#: ../libseahorse/seahorse-notification.c:638 +#, c-format +msgid "Signed by on %s." +msgstr "" + +#: ../libseahorse/seahorse-notification.c:639 +msgid "Good Signature" +msgstr "" + +#: ../libseahorse/seahorse-notification.c:644 +msgid "Signing key not in keyring." +msgstr "" + +#: ../libseahorse/seahorse-notification.c:645 +msgid "Unknown Signature" +msgstr "" + +#: ../libseahorse/seahorse-notification.c:649 +msgid "Bad or forged signature. The signed data was modified." +msgstr "" + +#: ../libseahorse/seahorse-notification.c:650 +msgid "Bad Signature" +msgstr "" + +#: ../libseahorse/seahorse-notification.c:658 +msgid "Couldn't verify signature." +msgstr "" + +#: ../libseahorse/seahorse-notify.glade.h:1 +msgid "Notification Messages" +msgstr "" + +#: ../libseahorse/seahorse-passphrase.c:175 +msgid "Passphrase" +msgstr "" + +#: ../libseahorse/seahorse-passphrase.c:178 +msgid "Password:" +msgstr "රහස්පදය:" + +#: ../libseahorse/seahorse-passphrase.c:242 +msgid "Confirm:" +msgstr "ස්තිර කිරීම:" + +#: ../libseahorse/seahorse-passphrase.c:325 +msgid "Wrong passphrase." +msgstr "" + +#: ../libseahorse/seahorse-passphrase.c:329 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "" + +#: ../libseahorse/seahorse-passphrase.c:331 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "" + +#: ../libseahorse/seahorse-passphrase.c:334 +#: ../src/seahorse-change-passphrase.glade.h:4 +msgid "Enter new passphrase" +msgstr "" + +#: ../libseahorse/seahorse-passphrase.c:336 +msgid "Enter passphrase" +msgstr "" + +#: ../libseahorse/seahorse-pgp-key.c:140 ../libseahorse/seahorse-ssh-key.c:112 +#: ../src/seahorse-gkeyring-item.c:231 +msgid "Invalid" +msgstr "සාවද්‍ය" + +#: ../libseahorse/seahorse-pgp-key.c:162 +#: ../src/seahorse-pgp-public-key-properties.glade.h:30 +msgid "Public PGP Key" +msgstr "" + +#: ../libseahorse/seahorse-pgp-key.c:165 +#: ../src/seahorse-pgp-private-key-properties.glade.h:35 +msgid "Private PGP Key" +msgstr "" + +#: ../libseahorse/seahorse-pgp-key.c:694 ../libseahorse/seahorse-validity.c:31 +#: ../src/seahorse-key-properties.c:1100 +msgid "Unknown" +msgstr "නොදන්නා" + +#: ../libseahorse/seahorse-pgp-key.c:696 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../libseahorse/seahorse-pgp-source.c:367 +#: ../libseahorse/seahorse-server-source.c:209 +#: ../src/seahorse-generate-select.c:142 +msgid "PGP Key" +msgstr "PGP යතුර" + +#. TODO: We can use the GPGME progress to make this more accurate +#: ../libseahorse/seahorse-pgp-source.c:723 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "" +msgstr[1] "" + +#: ../libseahorse/seahorse-pgp-source.c:778 +msgid "Loading Keys..." +msgstr "" + +#: ../libseahorse/seahorse-pgp-source.c:821 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" + +#: ../libseahorse/seahorse-pgp-source.c:942 ../src/seahorse-key-manager.c:454 +#: ../src/seahorse-key-manager.c:502 +msgid "Importing Keys" +msgstr "" + +#: ../libseahorse/seahorse-pgp-source.c:975 +msgid "Exporting Keys" +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:62 +msgid "Not a valid Key Server address." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:63 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:174 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:359 +msgid "Custom" +msgstr "භාවිතය" + +#: ../libseahorse/seahorse-prefs.c:429 +msgid "None: Don't publish keys" +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:681 +msgid "None. Prompt for a key." +msgstr "" + +#: ../libseahorse/seahorse-prefs-cache.c:231 +msgid "Couldn't open the Session Properties" +msgstr "" + +#: ../libseahorse/seahorse-prefs-cache.c:244 +msgid "Couldn't start the 'seahorse-agent' program" +msgstr "" + +#: ../libseahorse/seahorse-prefs-cache.c:246 +msgid "The 'seahorse-agent' program exited unsuccessfully." +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:1 +msgid "Defaults" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:2 +msgid "" +"Note: The 'seahorse-agent' program has been started. This program is " +"necessary in order to cache passphrases. " +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:3 +msgid "Remember PGP Passphrases" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:4 +msgid "Secure Shell Keys" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:5 +msgid "" +"Warning: The 'seahorse-agent' program is not running. This program is " +"necessary in order to cache passphrases. " +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:6 +msgid "A non-supported PGP passphrase caching agent is running." +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:7 +msgid "No SSH caching agent is running. Cannot load Secure Shell keys." +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:8 +msgid "This key is used to sign messages when no other key is chosen" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:9 +msgid "Automatically load _Secure Shell keys" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:10 +msgid "Automatically retrieve keys from key servers." +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:11 +msgid "Automatically synchronize modified keys with key servers. " +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:12 +msgid "" +"Changing the master password failed. Make certain that you entered the " +"correct original master password." +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:13 +msgid "Confirm Master Password:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:14 +#: ../plugins/nautilus/seahorse-pgp-preferences.c:74 +#: ../plugins/nautilus/seahorse-pgp-preferences.desktop.in.h:2 +msgid "Encryption Preferences" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:15 +msgid "Encryption Settings" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:16 +msgid "GNOME Keyring" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:17 +msgid "" +"GNOME Keyring stores passwords, network keys, passphrases and other secrets " +"required for authentication. A master password is used to protect " +"these secrets. The master password can be changed below." +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:18 +msgid "Key Servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:19 +msgid "Key Sharing" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:20 +msgid "New Master Password:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:21 +msgid "Original Master Password:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:22 +msgid "Passphrase Cache" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:23 +msgid "Session Properties" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:24 +msgid "" +"Sharing your keys allows other people on your network to use the keys you've " +"collected. This means they can automatically encrypt things for you or those " +"you know, without you having to send them your key.\n" +"\n" +"Note: Your personal keys will not be compromised." +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:27 +msgid "Start seahorse-agent" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:28 +msgid "The master password was successfully changed." +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:29 +msgid "" +"To avoid manually starting the 'seahorse-agent' in the future\n" +"add it to the Session Manager. " +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:31 +msgid "When _encrypting, always include myself as a recipient" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:32 +msgid "_Always remember passphrases whenever logged in" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:33 +msgid "_Ask me before using a cached passphrase" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:34 +msgid "_Default Key:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:35 +msgid "_Find Keys Via:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:36 +msgid "_Never remember passphrases" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:37 +msgid "_Publish Keys To:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:38 +msgid "_Remember passphrases for" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:39 +msgid "_Share my keys with others on my network" +msgstr "" + +#: ../libseahorse/seahorse-prefs.glade.h:40 +msgid "gtk-apply" +msgstr "gtk-apply" + +#: ../libseahorse/seahorse-prefs.glade.h:41 +msgid "gtk-clear" +msgstr "gtk-clear" + +#: ../libseahorse/seahorse-prefs.glade.h:42 +msgid "minutes" +msgstr "මිනිත්තු" + +#: ../libseahorse/seahorse-progress.glade.h:1 +msgid "Progress Message" +msgstr "" + +#: ../libseahorse/seahorse-progress.glade.h:2 +msgid "Progress Status" +msgstr "" + +#: ../libseahorse/seahorse-progress.glade.h:3 +msgid "Progress Title" +msgstr "" + +#: ../libseahorse/seahorse-server-source.c:466 +msgid "LDAP Key Server" +msgstr "" + +#: ../libseahorse/seahorse-server-source.c:469 +msgid "HTTP Key Server" +msgstr "" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../libseahorse/seahorse-signer.c:57 ../src/seahorse-sign.c:159 +msgid "No keys usable for signing" +msgstr "" + +#: ../libseahorse/seahorse-signer.c:58 +msgid "You have no personal PGP keys that can be used to sign a document or message." +msgstr "" + +#: ../libseahorse/seahorse-signer.glade.h:1 +msgid "_Sign message with key:" +msgstr "" + +#: ../libseahorse/seahorse-ssh-askpass.c:94 +msgid "Enter your Secure Shell passphrase:" +msgstr "" + +#: ../libseahorse/seahorse-ssh-key.c:90 +msgid "(Unreadable Secure Shell Key)" +msgstr "" + +#: ../libseahorse/seahorse-ssh-key.c:94 ../libseahorse/seahorse-ssh-key.c:98 +#: ../libseahorse/seahorse-ssh-source.c:746 +#: ../src/seahorse-generate-select.c:145 +#: ../src/seahorse-ssh-key-properties.glade.h:20 +msgid "Secure Shell Key" +msgstr "" + +#: ../libseahorse/seahorse-ssh-key.c:126 +msgid "Private Secure Shell Key" +msgstr "" + +#: ../libseahorse/seahorse-ssh-key.c:129 +msgid "Public Secure Shell Key" +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:135 +#: ../libseahorse/seahorse-ssh-operation.c:697 +msgid "The SSH command was terminated unexpectedly." +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:143 +#: ../libseahorse/seahorse-ssh-operation.c:704 +msgid "The SSH command failed." +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:441 +msgid "Secure Shell key" +msgstr "" + +#. Just prompt over and over again +#: ../libseahorse/seahorse-ssh-operation.c:727 +msgid "Secure Shell Passphrase" +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:813 +msgid "Old Key Passphrase" +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:814 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:818 +msgid "New Key Passphrase" +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:819 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:827 +msgid "Enter Key Passphrase" +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:895 +msgid "Passphrase for New Secure Shell Key" +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:896 +msgid "Enter a passphrase for your new Secure Shell key." +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:1034 +msgid "Secure Shell Key Passphrase" +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:1034 +#, c-format +msgid "Enter the passphrase for: %s" +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:1035 +msgid "Save this passphrase in my keyring" +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:1109 +#, c-format +msgid "Importing key: %s" +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:1111 +msgid "Importing key. Enter passphrase" +msgstr "" + +#: ../libseahorse/seahorse-ssh-operation.c:1113 +#: ../src/seahorse-key-manager.c:515 +#: ../src/seahorse-pgp-keys.desktop.in.in.h:1 +msgid "Import Key" +msgstr "" + +#: ../libseahorse/seahorse-unknown-key.c:67 +msgid "Unavailable" +msgstr "" + +#: ../libseahorse/seahorse-unknown-key.c:87 +#, c-format +msgid "Unknown Key: %s" +msgstr "" + +#: ../libseahorse/seahorse-unknown-key.c:119 +msgid "Unknown Key" +msgstr "" + +#: ../libseahorse/seahorse-unknown-source.c:128 +msgid "Unavailable Key" +msgstr "" + +#: ../libseahorse/seahorse-util.c:172 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" + +#: ../libseahorse/seahorse-util.c:222 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-util.c:413 +msgid "Key Data" +msgstr "" + +#: ../libseahorse/seahorse-util.c:415 +msgid "Multiple Keys" +msgstr "" + +#: ../libseahorse/seahorse-util.c:728 +msgid "Couldn't run file-roller" +msgstr "" + +#: ../libseahorse/seahorse-util.c:733 +#: ../plugins/nautilus/seahorse-tool-files.c:831 +msgid "Couldn't package files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:734 +msgid "The file-roller process did not complete successfully" +msgstr "" + +#: ../libseahorse/seahorse-util.c:744 +msgid "Couldn't set permissions on backup file." +msgstr "" + +#. Filter for PGP keys. We also include *.asc, as in many +#. cases that extension is associated with text/plain +#: ../libseahorse/seahorse-util.c:848 +msgid "All key files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:859 ../libseahorse/seahorse-util.c:899 +#: ../src/seahorse-photos.c:239 +msgid "All files" +msgstr "සියළු ගොනු" + +#: ../libseahorse/seahorse-util.c:892 +msgid "Archive files" +msgstr "" + +#: ../libseahorse/seahorse-util.c:933 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" + +#: ../libseahorse/seahorse-util.c:936 +msgid "_Replace" +msgstr "ආදේශය (_R)" + +#: ../libseahorse/seahorse-validity.c:33 ../src/seahorse-key-properties.c:1106 +#: ../src/seahorse-key-properties.c:1238 ../src/seahorse-key-properties.c:1310 +msgid "Never" +msgstr "කිසිදාක නැත" + +#: ../libseahorse/seahorse-validity.c:35 ../src/seahorse-key-properties.c:1113 +msgid "Marginal" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:37 ../src/seahorse-key-properties.c:1119 +msgid "Full" +msgstr "පුර්ණ" + +#: ../libseahorse/seahorse-validity.c:39 ../src/seahorse-key-properties.c:1125 +msgid "Ultimate" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:41 +msgid "Disabled" +msgstr "අක්‍රීය" + +#: ../libseahorse/seahorse-validity.c:43 ../src/seahorse-key-properties.c:1306 +msgid "Revoked" +msgstr "" + +#: ../libseahorse/seahorse-widget.c:326 +#, c-format +msgid "Could not display help: %s" +msgstr "" + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:1 +msgid "Clipboard Text Encryption" +msgstr "" + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:2 +msgid "Encrypt, decrypt or sign the clipboard (uses PGP type encryption)." +msgstr "" + +#: ../plugins/applet/GNOME_SeahorseApplet.server.in.in.h:3 +msgid "Seahorse Applet Factory" +msgstr "" + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:1 +#: ../src/seahorse-key-manager.c:1208 +msgid "_About" +msgstr "සම්බන්ධව (_A)" + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:2 +#: ../src/seahorse-key-manager.c:1192 ../src/seahorse-keyserver-results.c:381 +msgid "_Help" +msgstr "උදව් (_H)" + +#: ../plugins/applet/GNOME_SeahorseApplet.xml.h:3 +msgid "_Preferences" +msgstr "අභිප්‍රේත (_P)" + +#: ../plugins/applet/seahorse-applet.c:309 +msgid "seahorse-applet" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:311 +#: ../plugins/applet/seahorse-applet.c:836 +msgid "Use PGP/GPG to encrypt/decrypt/sign/verify/import the clipboard." +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:316 ../src/seahorse-key-manager.c:874 +msgid "translator-credits" +msgstr "පරිවර්තන ස්තුතිය" + +#: ../plugins/applet/seahorse-applet.c:319 ../src/seahorse-key-manager.c:877 +msgid "Seahorse Project Homepage" +msgstr "" + +#. Get the recipient list +#: ../plugins/applet/seahorse-applet.c:375 +#: ../plugins/epiphany/seahorse-extension.c:251 +#: ../plugins/gedit/seahorse-gedit.c:332 +msgid "Choose Recipient Keys" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:394 +msgid "Encrypted Text" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:396 +msgid "Encryption Failed" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:397 +msgid "The clipboard could not be encrypted." +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:431 +#: ../plugins/epiphany/seahorse-extension.c:296 +#: ../plugins/gedit/seahorse-gedit.c:611 +msgid "Choose Key to Sign with" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:450 +msgid "Signed Text" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:452 +msgid "Signing Failed" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:453 +msgid "The clipboard could not be Signed." +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:496 +#: ../plugins/epiphany/seahorse-extension.c:340 +msgid "Import Failed" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:497 +#: ../plugins/epiphany/seahorse-extension.c:341 +msgid "Keys were found but not imported." +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:528 +#: ../plugins/epiphany/seahorse-extension.c:374 +msgid "Decrypting Failed" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:529 +#: ../plugins/epiphany/seahorse-extension.c:375 +msgid "Text may be malformed." +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:580 +msgid "No PGP key or message was found on clipboard" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:581 +msgid "No PGP data found." +msgstr "" + +#. TRANSLATORS: This means 'The text that was decrypted' +#: ../plugins/applet/seahorse-applet.c:616 +msgid "Decrypted Text" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:685 +msgid "Could not display the help file" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:748 +msgid "_Encrypt Clipboard" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:755 +msgid "_Sign Clipboard" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:762 +msgid "_Decrypt/Verify Clipboard" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:768 +msgid "_Import Keys from Clipboard" +msgstr "" + +#: ../plugins/applet/seahorse-applet.c:833 +#: ../plugins/applet/seahorse-applet.c:835 +msgid "Encryption Applet" +msgstr "" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:1 +msgid "Display clipboard contents after:" +msgstr "" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:2 +msgid "Clipboard Encryption Preferences" +msgstr "" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:3 +msgid "_Decrypting or verifying the clipboard" +msgstr "" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:4 +msgid "_Encrypting or signing the clipboard" +msgstr "" + +#: ../plugins/applet/seahorse-applet-preferences.glade.h:5 +msgid "_Show clipboard state in panel" +msgstr "" + +#: ../plugins/epiphany/seahorse-extension.c:602 +msgid "_Encrypt" +msgstr "" + +#: ../plugins/epiphany/seahorse-extension.c:609 +#: ../src/seahorse-sign.glade.h:21 +msgid "_Sign" +msgstr "" + +#: ../plugins/epiphany/seahorse-extension.c:616 +msgid "_Decrypt/Verify" +msgstr "" + +#: ../plugins/epiphany/seahorse-extension.c:623 +msgid "_Import Key" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit.c:265 +msgid "Couldn't connect to seahorse-daemon" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit.c:354 +msgid "Encrypted text" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit.c:357 +msgid "Couldn't encrypt text" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit.c:387 ../src/seahorse-key-manager.c:395 +#: ../src/seahorse-key-manager.c:463 ../src/seahorse-key-manager.c:486 +msgid "Couldn't import keys" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit.c:396 +msgid "Keys found but not imported" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit.c:430 +msgid "Couldn't decrypt text" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit.c:462 +msgid "Couldn't verify text" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit.c:510 +msgid "No encrypted or signed text is selected." +msgstr "" + +#: ../plugins/gedit/seahorse-gedit.c:540 +msgid "Decrypted text" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit.c:547 +msgid "Verified text" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit.c:582 +#: ../plugins/nautilus/seahorse-tool.c:374 ../src/seahorse-key-manager.c:404 +#, c-format +msgid "Imported %d key" +msgid_plural "Imported %d keys" +msgstr[0] "" +msgstr[1] "" + +#: ../plugins/gedit/seahorse-gedit.c:633 +msgid "Signed text" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit.c:636 +msgid "Couldn't sign text" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:133 +msgid "_Encrypt..." +msgstr "" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:134 +msgid "Encrypt the selected text" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:135 +msgid "Decr_ypt/Verify" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:136 +msgid "Decrypt and/or Verify text" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:137 +msgid "Sig_n..." +msgstr "" + +#: ../plugins/gedit/seahorse-gedit-plugin.c:138 +msgid "Sign the selected text" +msgstr "" + +#: ../plugins/gedit/seahorse-gedit.schemas.in.h:1 +msgid "Enable the seahorse encryption plugin for gedit." +msgstr "" + +#: ../plugins/gedit/seahorse-gedit.schemas.in.h:2 +msgid "Enable the seahorse gedit plugin" +msgstr "" + +#: ../plugins/gedit/seahorse-pgp.gedit-plugin.desktop.in.h:1 +msgid "Text Encryption" +msgstr "" + +#: ../plugins/gedit/seahorse-pgp.gedit-plugin.desktop.in.h:2 +msgid "This plugin performs encryption operations on text." +msgstr "" + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:161 +msgid "Encrypt..." +msgstr "" + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:162 +msgid "Encrypt (and optionally sign) the selected file" +msgid_plural "Encrypt the selected files" +msgstr[0] "" +msgstr[1] "" + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:168 +#: ../src/seahorse-pgp-private-key-properties.glade.h:38 +msgid "Sign" +msgstr "" + +#: ../plugins/nautilus-ext/seahorse-nautilus.c:169 +msgid "Sign the selected file" +msgid_plural "Sign the selected files" +msgstr[0] "" +msgstr[1] "" + +#: ../plugins/nautilus/seahorse-pgp-preferences.c:43 +#: ../plugins/nautilus/seahorse-pgp-preferences.c:47 +msgid "For internal use" +msgstr "" + +#: ../plugins/nautilus/seahorse-pgp-preferences.desktop.in.h:1 +msgid "Configure key servers and other encryption settings" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:52 +msgid "Import keys from the file" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:54 +msgid "Encrypt file" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:56 +msgid "Sign file with default key" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:58 +msgid "Encrypt and sign file with default key" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:60 +msgid "Decrypt encrypted file" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:62 +msgid "Verify signature file" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:64 +msgid "Read list of URIs on standard in" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:66 +msgid "file..." +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:128 +msgid "Choose Recipients" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:190 +#: ../plugins/nautilus/seahorse-tool.c:272 +msgid "Couldn't load keys" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:206 +#, c-format +msgid "Choose Encrypted File Name for '%s'" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:256 +msgid "Choose Signer" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:291 +#, c-format +msgid "Choose Signature File Name for '%s'" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:372 +msgid "Imported key" +msgstr "" + +#. File to decrypt to +#: ../plugins/nautilus/seahorse-tool.c:396 +#, c-format +msgid "Choose Decrypted File Name for '%s'" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:452 +#, c-format +msgid "Choose Original File for '%s'" +msgstr "" + +#. +#. * TODO: What should happen with multiple files at this point. +#. * The last thing we want to do is cascade a big pile of error +#. * dialogs at the user. +#. +#: ../plugins/nautilus/seahorse-tool.c:524 +msgid "No valid signatures found" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:591 +msgid "File Encryption Tool" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:614 +msgid "Encrypting" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:615 +#, c-format +msgid "Couldn't encrypt file: %s" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:623 +msgid "Signing" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:624 +#, c-format +msgid "Couldn't sign file: %s" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:629 +msgid "Importing" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:630 +#, c-format +msgid "Couldn't import keys from file: %s" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:636 +msgid "Decrypting" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:637 +#, c-format +msgid "Couldn't decrypt file: %s" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:642 +msgid "Verifying" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool.c:643 +#, c-format +msgid "Couldn't verify file: %s" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool-files.c:114 +msgid "Ace (.ace)" +msgstr "Ace (.ace)" + +#: ../plugins/nautilus/seahorse-tool-files.c:115 +msgid "Ar (.ar)" +msgstr "Ar (.ar)" + +#: ../plugins/nautilus/seahorse-tool-files.c:116 +msgid "Arj (.arj)" +msgstr "Arj (.arj)" + +#: ../plugins/nautilus/seahorse-tool-files.c:123 +msgid "Ear (.ear)" +msgstr "Ear (.ear)" + +#: ../plugins/nautilus/seahorse-tool-files.c:124 +msgid "Self-extracting zip (.exe)" +msgstr "තනිව දිගහැරේන zip (.exe)" + +#: ../plugins/nautilus/seahorse-tool-files.c:126 +msgid "Jar (.jar)" +msgstr "Jar (.jar)" + +#: ../plugins/nautilus/seahorse-tool-files.c:127 +msgid "Lha (.lzh)" +msgstr "Lha (.lzh)" + +#: ../plugins/nautilus/seahorse-tool-files.c:129 +msgid "Rar (.rar)" +msgstr "Rar (.rar)" + +#: ../plugins/nautilus/seahorse-tool-files.c:131 +msgid "Tar uncompressed (.tar)" +msgstr "සම්පීඩිත නොවු Tar (.tar)" + +#: ../plugins/nautilus/seahorse-tool-files.c:132 +msgid "Tar compressed with bzip (.tar.bz)" +msgstr "bzip සමඟ සම්පීඩිත Tar (.tar.bz)" + +#: ../plugins/nautilus/seahorse-tool-files.c:133 +msgid "Tar compressed with bzip2 (.tar.bz2)" +msgstr "bzip2 සමඟ සම්පීඩිත Tar (.tar.bz2)" + +#: ../plugins/nautilus/seahorse-tool-files.c:134 +msgid "Tar compressed with gzip (.tar.gz)" +msgstr "gzip සමඟ සම්පීඩිත Tar (.tar.gz)" + +#: ../plugins/nautilus/seahorse-tool-files.c:135 +msgid "Tar compressed with lzop (.tar.lzo)" +msgstr "lzop සමඟ සම්පීඩිත Tar (.tar.lzo)" + +#: ../plugins/nautilus/seahorse-tool-files.c:136 +msgid "Tar compressed with compress (.tar.Z)" +msgstr "compress සමඟ සම්පීඩිත Tar (.tar.Z)" + +#: ../plugins/nautilus/seahorse-tool-files.c:138 +msgid "War (.war)" +msgstr "War (.war)" + +#: ../plugins/nautilus/seahorse-tool-files.c:139 +msgid "Zip (.zip)" +msgstr "Zip (.zip)" + +#: ../plugins/nautilus/seahorse-tool-files.c:140 +msgid "Zoo (.zoo)" +msgstr "Zoo (.zoo)" + +#: ../plugins/nautilus/seahorse-tool-files.c:141 +msgid "7-Zip (.7z)" +msgstr "7-Zip (.7z)" + +#. TRANSLATOR: This string will become +#. * "You have selected %d files and %d folders" +#: ../plugins/nautilus/seahorse-tool-files.c:318 +#, c-format +msgid "You have selected %d file " +msgid_plural "You have selected %d files " +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATOR: This string will become +#. * "You have selected %d files and %d folders" +#: ../plugins/nautilus/seahorse-tool-files.c:323 +#, c-format +msgid "and %d folder" +msgid_plural "and %d folders" +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATOR: "%s%s" are "You have selected %d files and %d folders" +#. * Swap order with "%2$s%1$s" if needed +#: ../plugins/nautilus/seahorse-tool-files.c:328 +#, c-format +msgid "%s%s" +msgstr "%s%s" + +#. should never be called for just one file +#: ../plugins/nautilus/seahorse-tool-files.c:337 +#, c-format +msgid "You have selected %d files" +msgstr "" + +#: ../plugins/nautilus/seahorse-tool-files.c:342 +#, c-format +msgid "You have selected %d folder" +msgid_plural "You have selected %d folders" +msgstr[0] "" +msgstr[1] "" + +#: ../plugins/nautilus/seahorse-tool-files.c:812 +msgid "Preparing..." +msgstr "" + +#: ../plugins/nautilus/seahorse-tool-files.c:821 +#: ../plugins/nautilus/seahorse-tool-files.c:844 +msgid "Couldn't list files" +msgstr "" + +#: ../src/main.c:75 ../src/seahorse-key-manager.c:869 +msgid "Encryption Key Manager" +msgstr "" + +#: ../src/seahorse-add-subkey.c:134 +msgid "Couldn't add subkey" +msgstr "" + +#: ../src/seahorse-add-subkey.c:154 +#, c-format +msgid "Add subkey to %s" +msgstr "" + +#: ../src/seahorse-add-subkey.c:171 ../src/seahorse-pgp-generate.c:44 +msgid "DSA (sign only)" +msgstr "" + +#: ../src/seahorse-add-subkey.c:179 +msgid "ElGamal (encrypt only)" +msgstr "" + +#: ../src/seahorse-add-subkey.c:185 ../src/seahorse-pgp-generate.c:45 +msgid "RSA (sign only)" +msgstr "" + +#: ../src/seahorse-add-subkey.c:191 +msgid "RSA (encrypt only)" +msgstr "" + +#: ../src/seahorse-add-subkey.glade.h:1 +msgid "Expiration Date:" +msgstr "" + +#: ../src/seahorse-add-subkey.glade.h:2 +msgid "Generate a new subkey" +msgstr "" + +#: ../src/seahorse-add-subkey.glade.h:3 +msgid "If key never expires" +msgstr "" + +#: ../src/seahorse-add-subkey.glade.h:4 +msgid "Key _Length:" +msgstr "" + +#: ../src/seahorse-add-subkey.glade.h:5 +msgid "Key _Type:" +msgstr "" + +#: ../src/seahorse-add-subkey.glade.h:6 +msgid "Length of Key" +msgstr "" + +#: ../src/seahorse-add-subkey.glade.h:7 +msgid "Never E_xpires" +msgstr "" + +#: ../src/seahorse-add-uid.c:82 +msgid "Couldn't add user id" +msgstr "" + +#: ../src/seahorse-add-uid.c:104 +#, c-format +msgid "Add user ID to %s" +msgstr "" + +#: ../src/seahorse-add-uid.glade.h:1 +msgid "Add User ID" +msgstr "" + +#: ../src/seahorse-add-uid.glade.h:2 +msgid "Create the new user ID" +msgstr "" + +#: ../src/seahorse-add-uid.glade.h:3 ../src/seahorse-pgp-generate.glade.h:8 +msgid "Full _Name:" +msgstr "" + +#: ../src/seahorse-add-uid.glade.h:4 +msgid "Key Co_mment:" +msgstr "" + +#: ../src/seahorse-add-uid.glade.h:5 +msgid "Must be at least 5 characters long" +msgstr "" + +#: ../src/seahorse-add-uid.glade.h:6 +msgid "Optional comment describing key" +msgstr "" + +#: ../src/seahorse-add-uid.glade.h:7 +msgid "Optional email address" +msgstr "" + +#: ../src/seahorse-add-uid.glade.h:8 ../src/seahorse-pgp-generate.glade.h:14 +msgid "_Email Address:" +msgstr "" + +#: ../src/seahorse-change-passphrase.glade.h:1 +msgid "Change Passphrase" +msgstr "" + +#: ../src/seahorse-change-passphrase.glade.h:2 +msgid "Con_firm Passphrase:" +msgstr "" + +#: ../src/seahorse-change-passphrase.glade.h:3 +msgid "Confirm new passphrase" +msgstr "" + +#: ../src/seahorse-change-passphrase.glade.h:5 +msgid "New _Passphrase:" +msgstr "" + +#: ../src/seahorse-delete.c:40 +#, c-format +msgid "" +"%s is a private key. Make sure you have a backup. Do you still want to " +"delete it?" +msgstr "" + +#: ../src/seahorse-delete.c:74 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "" + +#: ../src/seahorse-delete.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d key?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "" +msgstr[1] "" + +#: ../src/seahorse-delete.c:124 +msgid "Couldn't delete key" +msgstr "" + +#: ../src/seahorse-delete.c:139 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" + +#: ../src/seahorse-delete.c:162 +msgid "Couldn't delete subkey" +msgstr "" + +#: ../src/seahorse-delete.c:181 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "" + +#: ../src/seahorse-delete.c:206 +msgid "Couldn't delete user id" +msgstr "" + +#: ../src/seahorse.desktop.in.in.h:1 +msgid "Manage your passwords and encryption keys" +msgstr "" + +#: ../src/seahorse.desktop.in.in.h:2 ../src/seahorse-key-manager.glade.h:7 +msgid "Passwords and Encryption Keys" +msgstr "" + +#: ../src/seahorse-expires.c:67 +msgid "Couldn't change expiry date" +msgstr "" + +#: ../src/seahorse-expires.c:131 +#, c-format +msgid "Expiry for Subkey %d of %s" +msgstr "" + +#: ../src/seahorse-expires.c:133 +#, c-format +msgid "Expiry for %s" +msgstr "" + +#: ../src/seahorse-expires.glade.h:1 +msgid "C_hange" +msgstr "" + +#: ../src/seahorse-expires.glade.h:2 +msgid "Never Expires" +msgstr "" + +#: ../src/seahorse-expires.glade.h:3 ../src/seahorse-revoke.glade.h:4 +msgid "Revoke key" +msgstr "" + +#: ../src/seahorse-generate-select.c:143 +msgid "Used to encrypt email and files" +msgstr "" + +#: ../src/seahorse-generate-select.c:146 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "" + +#: ../src/seahorse-generate-select.glade.h:1 +msgid "_Select the kind of key you wish to create:" +msgstr "" + +#: ../src/seahorse-generate-select.glade.h:2 +msgid "C_ontinue" +msgstr "දිගටම කරගෙන යන්න (_o)" + +#: ../src/seahorse-generate-select.glade.h:3 +msgid "Create a New Key" +msgstr "" + +#: ../src/seahorse-gkeyring-item.c:248 +msgid "Web Password" +msgstr "" + +#: ../src/seahorse-gkeyring-item.c:250 +msgid "Network Password" +msgstr "ජාල රහස් පදය" + +#: ../src/seahorse-gkeyring-item.c:252 +#: ../src/seahorse-gkeyring-item-properties.c:116 +#: ../src/seahorse-gkeyring-source.c:525 +msgid "Password" +msgstr "රහස්පදය" + +#: ../src/seahorse-gkeyring-item-properties.c:90 +msgid "Access a network share or resource" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.c:94 +msgid "Access a website" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.c:98 +msgid "Unlocks a PGP key" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.c:101 +msgid "Unlocks a Secure Shell key" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.c:104 +msgid "Saved password or login" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.c:116 +msgid "Network Credentials" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.c:177 +msgid "Couldn't change password." +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.c:284 +msgid "Couldn't set description." +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:1 +msgid "Description:" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:2 +msgid "Login:" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:3 +msgid "Password:" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:4 +msgid "Server:" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:5 +#: ../src/seahorse-pgp-public-key-properties.glade.h:9 +#: ../src/seahorse-ssh-key-properties.glade.h:9 +msgid "Technical Details:" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:6 +#: ../src/seahorse-pgp-private-key-properties.glade.h:13 +#: ../src/seahorse-pgp-public-key-properties.glade.h:12 +#: ../src/seahorse-ssh-key-properties.glade.h:11 +msgid "Type:" +msgstr "වර්‍ග:" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:7 +#: ../src/seahorse-pgp-private-key-properties.glade.h:14 +#: ../src/seahorse-pgp-public-key-properties.glade.h:13 +#: ../src/seahorse-ssh-key-properties.glade.h:12 +msgid "Use:" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:8 +#: ../src/seahorse-pgp-private-key-properties.glade.h:22 +#: ../src/seahorse-pgp-public-key-properties.glade.h:19 +#: ../src/seahorse-ssh-key-properties.glade.h:16 +msgid "Details" +msgstr "විස්තර" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:9 +#: ../src/seahorse-ssh-key-properties.glade.h:18 +msgid "Key" +msgstr "යතුර" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:10 +#: ../src/seahorse-pgp-private-key-properties.glade.h:29 +#: ../src/seahorse-pgp-public-key-properties.glade.h:28 +#: ../src/seahorse-ssh-key-properties.glade.h:19 +msgid "Key Properties" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:11 +msgid "Show pass_word" +msgstr "රහස් පදය පෙන්වන්න (_w)" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:12 +msgid "[details]\n" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:14 +msgid "[login]" +msgstr "" + +#: ../src/seahorse-gkeyring-item-properties.glade.h:15 +msgid "[server]" +msgstr "" + +#: ../src/seahorse-gkeyring-operation.c:206 +msgid "Access to the key ring was denied" +msgstr "" + +#: ../src/seahorse-gkeyring-operation.c:209 +msgid "The gnome-keyring daemon is not running" +msgstr "" + +#: ../src/seahorse-gkeyring-operation.c:212 +msgid "The key ring has already been unlocked" +msgstr "" + +#: ../src/seahorse-gkeyring-operation.c:215 +msgid "No such key ring exists" +msgstr "" + +#: ../src/seahorse-gkeyring-operation.c:218 +msgid "Couldn't communicate with key ring daemon" +msgstr "" + +#: ../src/seahorse-gkeyring-operation.c:221 +msgid "The item already exists" +msgstr "" + +#: ../src/seahorse-gkeyring-operation.c:227 +msgid "Internal error accessing gnome-keyring" +msgstr "" + +#: ../src/seahorse-gkeyring-operation.c:286 +msgid "Saving item..." +msgstr "" + +#: ../src/seahorse-gkeyring-source.c:358 +msgid "Retrieving key" +msgstr "" + +#. Start listing of ids +#: ../src/seahorse-gkeyring-source.c:372 +msgid "Listing passwords" +msgstr "" + +#: ../src/seahorse-key-manager.c:443 +msgid "Couldn't read file" +msgstr "" + +#: ../src/seahorse-key-manager.c:486 +msgid "Unrecognized key type, or invalid data format" +msgstr "" + +#: ../src/seahorse-key-manager.c:560 ../src/seahorse-keyserver-results.c:218 +msgid "Couldn't retrieve data from key server" +msgstr "" + +#: ../src/seahorse-key-manager.c:576 ../src/seahorse-keyserver-results.c:234 +#, c-format +msgid "Copied %d key" +msgid_plural "Copied %d keys" +msgstr[0] "" +msgstr[1] "" + +#: ../src/seahorse-key-manager.c:600 ../src/seahorse-keyserver-results.c:194 +#: ../src/seahorse-keyserver-results.c:259 +msgid "Retrieving keys" +msgstr "" + +#: ../src/seahorse-key-manager.c:626 +msgid "Couldn't export key" +msgstr "" + +#: ../src/seahorse-key-manager.c:646 +msgid "Export public key" +msgstr "" + +#: ../src/seahorse-key-manager.c:656 ../src/seahorse-key-properties.c:1039 +#: ../src/seahorse-ssh-key-properties.c:240 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "" + +#: ../src/seahorse-key-manager.c:668 +msgid "Exporting keys" +msgstr "" + +#: ../src/seahorse-key-manager.c:687 +msgid "Back up Key Rings to Archive" +msgstr "" + +#: ../src/seahorse-key-manager.c:841 +msgid "Contributions:" +msgstr "" + +#: ../src/seahorse-key-manager.c:867 +msgid "seahorse" +msgstr "" + +#: ../src/seahorse-key-manager.c:950 ../src/seahorse-keyserver-results.c:300 +#, c-format +msgid "Selected %d key" +msgid_plural "Selected %d keys" +msgstr[0] "" +msgstr[1] "" + +#. Top menu items +#: ../src/seahorse-key-manager.c:1189 ../src/seahorse-keyserver-results.c:379 +msgid "_Key" +msgstr "" + +#: ../src/seahorse-key-manager.c:1190 ../src/seahorse-keyserver-results.c:380 +msgid "_Edit" +msgstr "සැකසුම් (_E)" + +#: ../src/seahorse-key-manager.c:1191 +msgid "_View" +msgstr "දසුන (_V)" + +#. Key Actions +#: ../src/seahorse-key-manager.c:1195 +msgid "_Create New Key..." +msgstr "" + +#: ../src/seahorse-key-manager.c:1196 +msgid "Create a new personal key" +msgstr "" + +#: ../src/seahorse-key-manager.c:1197 +msgid "_Import..." +msgstr "" + +#: ../src/seahorse-key-manager.c:1198 +msgid "Import keys into your key ring from a file" +msgstr "" + +#: ../src/seahorse-key-manager.c:1199 +msgid "_Back up Key Rings..." +msgstr "" + +#: ../src/seahorse-key-manager.c:1200 +msgid "Back up all keys" +msgstr "" + +#: ../src/seahorse-key-manager.c:1201 +msgid "Paste _Keys" +msgstr "" + +#: ../src/seahorse-key-manager.c:1202 +msgid "Import keys from the clipboard" +msgstr "" + +#: ../src/seahorse-key-manager.c:1204 +msgid "_Quit" +msgstr "ඉවත් වන්න (_Q)" + +#: ../src/seahorse-key-manager.c:1205 +msgid "Close this program" +msgstr "" + +#: ../src/seahorse-key-manager.c:1206 +msgid "Prefere_nces" +msgstr "අභිප්‍රේත (_n)" + +#: ../src/seahorse-key-manager.c:1207 +msgid "Change preferences for this program" +msgstr "" + +#: ../src/seahorse-key-manager.c:1209 +msgid "About this program" +msgstr "" + +#: ../src/seahorse-key-manager.c:1211 +msgid "_Remote" +msgstr "" + +#: ../src/seahorse-key-manager.c:1213 ../src/seahorse-keyserver-results.c:385 +msgid "_Contents" +msgstr "අන්තර්ගත (_C)" + +#: ../src/seahorse-key-manager.c:1214 ../src/seahorse-keyserver-results.c:386 +msgid "Show Seahorse help" +msgstr "" + +#: ../src/seahorse-key-manager.c:1218 +msgid "T_ypes" +msgstr "" + +#: ../src/seahorse-key-manager.c:1219 +msgid "Show type column" +msgstr "" + +#: ../src/seahorse-key-manager.c:1220 +msgid "_Expiry" +msgstr "" + +#: ../src/seahorse-key-manager.c:1221 +msgid "Show expiry column" +msgstr "" + +#: ../src/seahorse-key-manager.c:1222 +msgid "_Trust" +msgstr "" + +#: ../src/seahorse-key-manager.c:1223 +msgid "Show owner trust column" +msgstr "" + +#: ../src/seahorse-key-manager.c:1224 +msgid "_Validity" +msgstr "" + +#: ../src/seahorse-key-manager.c:1225 +msgid "Show validity column" +msgstr "" + +#: ../src/seahorse-key-manager.c:1229 ../src/seahorse-keyserver-results.c:397 +msgid "P_roperties" +msgstr "අංගයන් (_r)" + +#: ../src/seahorse-key-manager.c:1230 ../src/seahorse-keyserver-results.c:398 +msgid "Show key properties" +msgstr "" + +#: ../src/seahorse-key-manager.c:1231 +msgid "E_xport Public Key..." +msgstr "" + +#: ../src/seahorse-key-manager.c:1232 +msgid "Export public part of key to a file" +msgstr "" + +#: ../src/seahorse-key-manager.c:1233 +msgid "_Copy Public Key" +msgstr "" + +#: ../src/seahorse-key-manager.c:1234 +msgid "Copy public part of selected keys to the clipboard" +msgstr "" + +#: ../src/seahorse-key-manager.c:1235 +msgid "_Delete Key" +msgstr "යතුර මකන්න (_D)" + +#: ../src/seahorse-key-manager.c:1236 +msgid "Delete selected keys" +msgstr "" + +#: ../src/seahorse-key-manager.c:1240 +msgid "_Sign..." +msgstr "" + +#: ../src/seahorse-key-manager.c:1241 +msgid "Sign public key" +msgstr "" + +#: ../src/seahorse-key-manager.c:1245 +msgid "Set Up Computer for _Secure Shell..." +msgstr "" + +#: ../src/seahorse-key-manager.c:1246 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" + +#: ../src/seahorse-key-manager.c:1250 ../src/seahorse-keyserver-results.c:406 +msgid "_Find Remote Keys..." +msgstr "" + +#: ../src/seahorse-key-manager.c:1251 ../src/seahorse-keyserver-results.c:407 +msgid "Search for keys on a key server" +msgstr "" + +#: ../src/seahorse-key-manager.c:1252 +msgid "_Sync and Publish Keys..." +msgstr "" + +#: ../src/seahorse-key-manager.c:1253 +msgid "Publish and/or synchronize your keys with those online." +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:1 +msgid "First time options:" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:2 +msgid "Filter:" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:3 +msgid "Generate a new key of your own: " +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:4 +msgid "Import existing keys from a file:" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:5 +msgid "My _Personal Keys" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:6 +msgid "Other _Collected Keys" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:8 +msgid "To get started with encryption you will need keys." +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:9 +#: ../src/seahorse-keyserver-results.c:395 +msgid "_Import" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:10 +msgid "_Passwords" +msgstr "" + +#: ../src/seahorse-key-manager.glade.h:11 +msgid "_Trusted Keys" +msgstr "" + +#: ../src/seahorse-key-manager-store.c:311 +#: ../src/seahorse-key-properties.c:1307 +msgid "Expired" +msgstr "" + +#: ../src/seahorse-key-manager-store.c:364 +msgid "User ID" +msgstr "" + +#: ../src/seahorse-key-manager-store.c:697 +msgid "Couldn't retrieve key data" +msgstr "" + +#: ../src/seahorse-key-manager-store.c:729 +msgid "Couldn't write key to file" +msgstr "" + +#: ../src/seahorse-key-manager-store.c:972 +msgid "Validity" +msgstr "වලංගු භාවය" + +#. Trust column +#: ../src/seahorse-key-manager-store.c:979 +#: ../src/seahorse-pgp-public-key-properties.glade.h:34 +msgid "Trust" +msgstr "" + +#. The key type column +#: ../src/seahorse-key-manager-store.c:985 +#: ../src/seahorse-key-properties.c:1285 +msgid "Type" +msgstr "වර්‍ගය" + +#. Expiry date column +#: ../src/seahorse-key-manager-store.c:991 +msgid "Expiration Date" +msgstr "" + +#: ../src/seahorse-key-properties.c:208 +msgid "Couldn't change primary user ID" +msgstr "" + +#: ../src/seahorse-key-properties.c:304 ../src/seahorse-key-properties.c:1437 +msgid "[Unknown]" +msgstr "" + +#: ../src/seahorse-key-properties.c:402 ../src/seahorse-key-properties.c:1723 +msgid "Name/Email" +msgstr "" + +#: ../src/seahorse-key-properties.c:407 +msgid "Signature ID" +msgstr "" + +#: ../src/seahorse-key-properties.c:558 +msgid "Couldn't change primary photo" +msgstr "" + +#: ../src/seahorse-key-properties.c:806 +msgid "(unknown)" +msgstr "(නොදන්නා)" + +#: ../src/seahorse-key-properties.c:809 +#, c-format +msgid "This key expired on: %s" +msgstr "" + +#: ../src/seahorse-key-properties.c:993 ../src/seahorse-key-properties.c:1387 +#: ../src/seahorse-key-properties.c:1406 +msgid "Unable to change trust" +msgstr "" + +#: ../src/seahorse-key-properties.c:1014 +#: ../src/seahorse-ssh-key-properties.c:215 +msgid "Export Complete Key" +msgstr "" + +#: ../src/seahorse-key-properties.c:1282 +msgid "ID" +msgstr "ID" + +#: ../src/seahorse-key-properties.c:1288 +msgid "Created" +msgstr "නිර්මාණය කරන ලදි" + +#: ../src/seahorse-key-properties.c:1291 +msgid "Expires" +msgstr "අවලංගු වීම" + +#: ../src/seahorse-key-properties.c:1294 +msgid "Status" +msgstr "තත්වය" + +#: ../src/seahorse-key-properties.c:1297 +msgid "Strength" +msgstr "" + +#: ../src/seahorse-key-properties.c:1306 ../src/seahorse-key-properties.c:1307 +msgid "Good" +msgstr "හොඳ" + +#: ../src/seahorse-keyserver-results.c:107 +msgid "Couldn't import keys into key ring" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:128 +msgid "Importing keys from key servers" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:147 +#: ../src/seahorse-keyserver-results.c:181 +#, c-format +msgid "Couldn't write keys to file: %s" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:170 +msgid "Save Remote Keys" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:353 +msgid "No matching keys found" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:383 +msgid "_Close" +msgstr "වසන්න (_C)" + +#: ../src/seahorse-keyserver-results.c:384 +msgid "Close this window" +msgstr "මෙම කවුළුව මකන්න" + +#: ../src/seahorse-keyserver-results.c:388 +msgid "_Expand All" +msgstr "සියල්ල සිගහරින්න (_E)" + +#: ../src/seahorse-keyserver-results.c:389 +msgid "Expand all listings" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:390 +msgid "_Collapse All" +msgstr "සියල්ල හකුලන්න (_C)" + +#: ../src/seahorse-keyserver-results.c:391 +msgid "Collapse all listings" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:396 +msgid "Import selected keys to local key ring" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:399 +msgid "Save Key As..." +msgstr "" + +#: ../src/seahorse-keyserver-results.c:400 +msgid "Save selected keys as a file" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:401 +msgid "_Copy Key" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:402 +msgid "Copy selected keys to the clipboard" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:464 +msgid "Remote Keys" +msgstr "" + +#: ../src/seahorse-keyserver-results.c:466 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "" + +#: ../src/seahorse-keyserver-results.glade.h:1 +msgid "Remote Encryption Keys" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:1 +msgid "Key Servers:" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:2 +msgid "Shared Keys Near Me:" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:3 +msgid "Find Remote Keys" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:4 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:5 +msgid "Where to search:" +msgstr "" + +#: ../src/seahorse-keyserver-search.glade.h:6 +msgid "_Search" +msgstr "සොයන්න (_S)" + +#: ../src/seahorse-keyserver-search.glade.h:7 +msgid "_Search for keys containing: " +msgstr "" + +#: ../src/seahorse-keyserver-sync.c:44 +#, c-format +msgid "Couldn't publish keys to server: %s" +msgstr "" + +#: ../src/seahorse-keyserver-sync.c:59 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "" + +#: ../src/seahorse-keyserver-sync.c:147 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "" +msgstr[1] "" + +#: ../src/seahorse-keyserver-sync.c:214 +msgid "Synchronizing keys" +msgstr "" + +#. Show the progress window if necessary +#: ../src/seahorse-keyserver-sync.c:246 +msgid "Synchronizing keys..." +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:1 +msgid "X keys are selected for synchronizing" +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:2 +msgid "Sync Keys" +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:3 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:4 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:5 +msgid "_Key Servers" +msgstr "" + +#: ../src/seahorse-keyserver-sync.glade.h:6 +msgid "_Sync" +msgstr "" + +#: ../src/seahorse-multi-encrypt.glade.h:1 +msgid "You have selected multiple files or folders" +msgstr "" + +#: ../src/seahorse-multi-encrypt.glade.h:2 +msgid "" +"Because the files are located remotely, each file will be encrypted " +"separately." +msgstr "" + +#: ../src/seahorse-multi-encrypt.glade.h:3 +msgid "Encrypt Multiple Files" +msgstr "" + +#: ../src/seahorse-multi-encrypt.glade.h:4 +msgid "Encrypt each file separately" +msgstr "" + +#: ../src/seahorse-multi-encrypt.glade.h:5 +msgid "Encrypt packed together in a package" +msgstr "" + +#: ../src/seahorse-multi-encrypt.glade.h:6 +msgid "Package Name:" +msgstr "" + +#: ../src/seahorse-multi-encrypt.glade.h:7 +msgid "Packaging:" +msgstr "" + +#: ../src/seahorse-multi-encrypt.glade.h:8 +msgid "encrypted-package" +msgstr "" + +#: ../src/seahorse-pgp-encrypted.desktop.in.in.h:1 +msgid "Decrypt File" +msgstr "" + +#: ../src/seahorse-pgp-generate.c:43 +msgid "DSA Elgamal" +msgstr "" + +#: ../src/seahorse-pgp-generate.c:54 +msgid "Couldn't generate PGP key" +msgstr "" + +#: ../src/seahorse-pgp-generate.c:139 +msgid "Passphrase for New PGP Key" +msgstr "" + +#: ../src/seahorse-pgp-generate.c:140 +msgid "Enter the passphrase for your new key twice." +msgstr "" + +#: ../src/seahorse-pgp-generate.c:149 +msgid "Couldn't generate key" +msgstr "" + +#: ../src/seahorse-pgp-generate.c:151 +msgid "Generating key" +msgstr "" + +#: ../src/seahorse-pgp-generate.glade.h:1 +#: ../src/seahorse-ssh-generate.glade.h:1 +msgid "_Advanced key options" +msgstr "" + +#: ../src/seahorse-pgp-generate.glade.h:2 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" + +#: ../src/seahorse-pgp-generate.glade.h:3 +msgid "Algorithms here" +msgstr "" + +#: ../src/seahorse-pgp-generate.glade.h:4 +msgid "C_reate" +msgstr "නිර්මාණය කරන්න (_r)" + +#: ../src/seahorse-pgp-generate.glade.h:5 +msgid "Create a PGP Key" +msgstr "" + +#: ../src/seahorse-pgp-generate.glade.h:6 +msgid "E_xpiration Date:" +msgstr "" + +#: ../src/seahorse-pgp-generate.glade.h:7 +#: ../src/seahorse-ssh-generate.glade.h:7 +msgid "Encryption _Type:" +msgstr "" + +#: ../src/seahorse-pgp-generate.glade.h:9 +msgid "Generate a new key" +msgstr "" + +#: ../src/seahorse-pgp-generate.glade.h:10 +#: ../src/seahorse-ssh-generate.glade.h:10 +msgid "Key _Strength (bits):" +msgstr "" + +#: ../src/seahorse-pgp-generate.glade.h:11 +msgid "Ne_ver Expires" +msgstr "" + +#: ../src/seahorse-pgp-generate.glade.h:12 +msgid "New PGP Key" +msgstr "" + +#: ../src/seahorse-pgp-generate.glade.h:13 +msgid "_Comment:" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:1 +msgid "Actions" +msgstr "ක්‍රීයා" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:2 +#: ../src/seahorse-pgp-public-key-properties.glade.h:1 +msgid "Comment:" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:3 +msgid "Dates" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:4 +#: ../src/seahorse-pgp-public-key-properties.glade.h:3 +msgid "Email:" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:5 +msgid "Fingerprint" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:6 +#: ../src/seahorse-pgp-public-key-properties.glade.h:6 +msgid "Key ID:" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:7 +msgid "Key Names and Signatures" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:8 +#: ../src/seahorse-pgp-public-key-properties.glade.h:7 +#: ../src/seahorse-ssh-key-properties.glade.h:7 +msgid "Name:" +msgstr "නම:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:9 +#: ../src/seahorse-pgp-public-key-properties.glade.h:8 +msgid "Photo " +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:10 +msgid "Technical Details" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:11 +#: ../src/seahorse-pgp-public-key-properties.glade.h:10 +msgid "This key has been revoked" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:12 +#: ../src/seahorse-pgp-public-key-properties.glade.h:11 +msgid "This key has expired" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:15 +#: ../src/seahorse-pgp-public-key-properties.glade.h:17 +msgid "_Subkeys" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:16 +msgid "Add" +msgstr "එකතු කිරීම" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:17 +msgid "Add a photo to this key" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:18 +#: ../src/seahorse-ssh-key-properties.glade.h:15 +msgid "Change _Passphrase" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:19 +#: ../src/seahorse-pgp-public-key-properties.glade.h:18 +msgid "Created:" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:20 +msgid "Decrypt files and email sent to you." +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:21 +msgid "Delete" +msgstr "මකන්න" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:23 +msgid "Expire" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:24 +#: ../src/seahorse-pgp-public-key-properties.glade.h:21 +msgid "Expires:" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:25 +msgid "Export" +msgstr "නිර්යාත කරන්න" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:26 +msgid "Go to next photo" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:27 +msgid "Go to previous photo" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:28 +#: ../src/seahorse-pgp-public-key-properties.glade.h:27 +msgid "Key ID:" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:30 +msgid "Make this photo the primary photo" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:31 +msgid "Names and Signatures" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:32 +msgid "Override Owner _Trust:" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:33 +#: ../src/seahorse-pgp-public-key-properties.glade.h:29 +msgid "Owner" +msgstr "හිමිකරු" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:34 +msgid "Primary" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:36 +msgid "Remove this photo from this key" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:37 +msgid "Revoke" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:39 +#: ../src/seahorse-pgp-public-key-properties.glade.h:31 +msgid "Strength:" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:40 +#: ../src/seahorse-pgp-public-key-properties.glade.h:32 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:41 +#: ../src/seahorse-pgp-public-key-properties.glade.h:35 +msgid "Type:" +msgstr "වර්‍ගය:" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:42 +msgid "" +"Unknown\n" +"Never\n" +"Marginal\n" +"Full\n" +"Ultimate" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:47 +msgid "_Add Name" +msgstr "" + +#: ../src/seahorse-pgp-private-key-properties.glade.h:48 +msgid "_Export Complete Key:" +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:2 +msgid "Dates:" +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:4 +#: ../src/seahorse-ssh-key-properties.glade.h:4 +msgid "Fingerprint:" +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:5 +msgid "Indicate Trust:" +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:14 +msgid "Your trust of this key" +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:15 +msgid "_Other Names:" +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:16 +msgid "_People who have signed this key:" +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:20 +msgid "Encrypt files and email to the key's owner " +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:23 +#, no-c-format +msgid "I have checked that this key belongs to '%s'" +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:25 +#, no-c-format +msgid "I trust signatures from '%s' on other keys " +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:26 +msgid "If you no longer trust this person's identity, revoke your signature:" +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:33 +msgid "To indicate your trust of this key to others, sign this key:" +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:36 +msgid "" +"Unknown\n" +"Never\n" +"Marginally\n" +"Fully\n" +"Ultimately" +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:41 +msgid "You _Trust the Owner:" +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:42 +msgid "Your trust is manually specified on the Details tab." +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:43 +msgid "_Only display the signatures of people I trust" +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:44 +msgid "_Revoke Signature" +msgstr "" + +#: ../src/seahorse-pgp-public-key-properties.glade.h:45 +msgid "_Sign this Key" +msgstr "" + +#: ../src/seahorse-pgp-signature.desktop.in.in.h:1 +msgid "Verify Signature" +msgstr "" + +#: ../src/seahorse-photos.c:70 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" + +#: ../src/seahorse-photos.c:75 +msgid "_Don't Resize" +msgstr "" + +#: ../src/seahorse-photos.c:76 +msgid "_Resize" +msgstr "ප්‍රමාණය සකසන්න (_R)" + +#: ../src/seahorse-photos.c:125 +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" + +#: ../src/seahorse-photos.c:221 +msgid "All image files" +msgstr "" + +#: ../src/seahorse-photos.c:234 +msgid "All JPEG files" +msgstr "" + +#: ../src/seahorse-photos.c:258 +msgid "Choose Photo to Add to Key" +msgstr "" + +#: ../src/seahorse-photos.c:285 ../src/seahorse-photos.c:289 +msgid "Couldn't add photo" +msgstr "" + +#: ../src/seahorse-photos.c:286 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" + +#: ../src/seahorse-photos.c:316 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "" + +#: ../src/seahorse-photos.c:329 +msgid "Couldn't delete photo" +msgstr "" + +#: ../src/seahorse-revoke.c:54 +msgid "Couldn't revoke subkey" +msgstr "" + +#: ../src/seahorse-revoke.c:77 +#, c-format +msgid "Revoke Subkey %d of %s" +msgstr "" + +#: ../src/seahorse-revoke.c:79 +#, c-format +msgid "Revoke %s" +msgstr "" + +#: ../src/seahorse-revoke.c:107 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" + +#: ../src/seahorse-revoke.c:122 +msgid "Couldn't add revoker" +msgstr "" + +#: ../src/seahorse-revoke.glade.h:1 +msgid "Optional description of revocation" +msgstr "" + +#: ../src/seahorse-revoke.glade.h:2 +msgid "Re_voke" +msgstr "" + +#: ../src/seahorse-revoke.glade.h:3 +msgid "Reason for revoking the key" +msgstr "" + +#: ../src/seahorse-revoke.glade.h:5 +msgid "_Description:" +msgstr "විස්තරය (_D):" + +#: ../src/seahorse-revoke.glade.h:6 +msgid "_Reason:" +msgstr "" + +#: ../src/seahorse-sign.c:97 +msgid "Couldn't sign key" +msgstr "" + +#: ../src/seahorse-sign.c:160 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" + +#: ../src/seahorse-sign.glade.h:1 +msgid "How carefully have you checked this key?" +msgstr "" + +#: ../src/seahorse-sign.glade.h:2 +msgid "How others will see this signature:" +msgstr "" + +#: ../src/seahorse-sign.glade.h:3 +msgid "Sign key as:" +msgstr "" + +#: ../src/seahorse-sign.glade.h:4 +msgid "" +"Casually: means you have done a casual verification that the key\n" +"is owned by the person who claims to own it. For example, you could\n" +"read the key fingerprint to the owner over the phone. " +msgstr "" + +#: ../src/seahorse-sign.glade.h:7 +msgid "Key Name" +msgstr "" + +#: ../src/seahorse-sign.glade.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who \n" +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" + +#: ../src/seahorse-sign.glade.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that " +"this\n" +"key is genuine." +msgstr "" + +#: ../src/seahorse-sign.glade.h:12 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" + +#: ../src/seahorse-sign.glade.h:13 +msgid "I can _revoke this signature at a later date." +msgstr "" + +#: ../src/seahorse-sign.glade.h:14 +msgid "" +"You could use a hard to forge photo identification (such as a passport) \n" +"to personally check that the name on the key is correct. You should \n" +"have also used email to check that the email address belongs to the\n" +"owner." +msgstr "" + +#: ../src/seahorse-sign.glade.h:18 +msgid "_Casually" +msgstr "" + +#: ../src/seahorse-sign.glade.h:19 +msgid "_Not at all" +msgstr "" + +#: ../src/seahorse-sign.glade.h:20 +msgid "_Others may not see this signature" +msgstr "" + +#: ../src/seahorse-sign.glade.h:22 +msgid "_Signer:" +msgstr "" + +#: ../src/seahorse-sign.glade.h:23 +msgid "_Very Carefully" +msgstr "" + +#: ../src/seahorse-ssh-generate.c:43 +msgid "Couldn't generate Secure Shell key" +msgstr "" + +#: ../src/seahorse-ssh-generate.c:149 +msgid "Creating Secure Shell Key" +msgstr "" + +#: ../src/seahorse-ssh-generate.glade.h:2 +msgid "" +"Use your email address, and any other reminder\n" +" you need about what this key is for." +msgstr "" + +#: ../src/seahorse-ssh-generate.glade.h:4 +msgid "" +"A Secure Shell (SSH) key lets you connect securely to trusted\n" +"computers using SSH, without entering a different password \n" +"for each of them." +msgstr "" + +#: ../src/seahorse-ssh-generate.glade.h:8 +msgid "" +"If there is already a computer you want to use this key with, you \n" +"can set up that computer to recognize your key now. " +msgstr "" + +#: ../src/seahorse-ssh-generate.glade.h:11 +msgid "New Secure Shell Key" +msgstr "" + +#: ../src/seahorse-ssh-generate.glade.h:12 +msgid "_Create and Set Up" +msgstr "" + +#: ../src/seahorse-ssh-generate.glade.h:13 +msgid "_Just Create Key" +msgstr "" + +#: ../src/seahorse-ssh-generate.glade.h:14 +msgid "_Key Description:" +msgstr "" + +#: ../src/seahorse-ssh-key-properties.c:117 +msgid "Couldn't rename key." +msgstr "" + +#: ../src/seahorse-ssh-key-properties.c:157 +msgid "Couldn't change authorization for key." +msgstr "" + +#: ../src/seahorse-ssh-key-properties.c:171 +msgid "Couldn't change passhrase for key." +msgstr "" + +#: ../src/seahorse-ssh-key-properties.glade.h:1 +msgid "/home/nate/.ssh/blah_rsa" +msgstr "" + +#: ../src/seahorse-ssh-key-properties.glade.h:2 +msgid "00:00:00:00:00" +msgstr "" + +#: ../src/seahorse-ssh-key-properties.glade.h:3 +msgid "Algorithm:" +msgstr "" + +#: ../src/seahorse-ssh-key-properties.glade.h:5 +msgid "Identifier:" +msgstr "" + +#: ../src/seahorse-ssh-key-properties.glade.h:6 +msgid "Location:" +msgstr "පිහිටීම:" + +#: ../src/seahorse-ssh-key-properties.glade.h:8 +msgid "Strength:" +msgstr "" + +#: ../src/seahorse-ssh-key-properties.glade.h:10 +msgid "Trust" +msgstr "" + +#: ../src/seahorse-ssh-key-properties.glade.h:14 +#, no-c-format +msgid "This only applies to the '%s' account." +msgstr "" + +#: ../src/seahorse-ssh-key-properties.glade.h:17 +msgid "E_xport Complete Key" +msgstr "" + +#: ../src/seahorse-ssh-key-properties.glade.h:21 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" + +#: ../src/seahorse-ssh-key-properties.glade.h:22 +msgid "Used to connect to other computers." +msgstr "" + +#: ../src/seahorse-ssh-upload.c:42 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "" + +#. Show the progress window if necessary +#: ../src/seahorse-ssh-upload.c:177 +msgid "Configuring Secure Shell Keys..." +msgstr "" + +#: ../src/seahorse-ssh-upload.glade.h:1 +msgid "eg: fileserver.example.com" +msgstr "" + +#: ../src/seahorse-ssh-upload.glade.h:2 +msgid "Set Up Computer for SSH Connection" +msgstr "" + +#: ../src/seahorse-ssh-upload.glade.h:4 +msgid "" +"To use your Secure Shell key with another computer that\n" +"uses SSH, you must already have a login account on that \n" +"computer." +msgstr "" + +#: ../src/seahorse-ssh-upload.glade.h:7 +msgid "_Computer Name:" +msgstr "" + +#: ../src/seahorse-ssh-upload.glade.h:8 +msgid "_Login Name:" +msgstr "" + +#: ../src/seahorse-ssh-upload.glade.h:9 +msgid "_Set Up" +msgstr "" + diff --git a/po/sk.po b/po/sk.po new file mode 100644 index 00000000..cf1a480e --- /dev/null +++ b/po/sk.po @@ -0,0 +1,3078 @@ +# Slovak translation for seahorse. +# Copyright (C) 2004, 2009-2013 Free Software Foundation, Inc. +# This file is distributed under the same license as the seahorse package. +# Ivan Noris , 2004. +# Tomáš Virgl , 2009-2011. +# Pavol Klačanský , 2012-2013. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-09-04 10:35+0200\n" +"Last-Translator: Dušan Kazik \n" +"Language-Team: Slovak \n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" +"X-Generator: Poedit 2.4.1\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Pridať server kľúčov" + +# Typ servera klucov: +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Vlastný" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Zrušiť" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Uložiť" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Nedá sa odstrániť" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Nepodarilo sa exportovať kľúče" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Nepodarilo sa exportovať údaje" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Zrušiť" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "O_dstrániť" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Exportovať" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Zadajte PIN alebo heslo pre: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Potvrdenie:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_OK" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Heslo:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Heslá" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Kľúče" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certifikáty" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Predvoľby" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Žiaden: nezverejňovať kľúče" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Nie je platná adresa servera kľúčov." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Ak potrebujete pomôcť, kontaktujte správcu systému alebo správcu servera " +"kľúčov." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "počiatočná dočasná položka" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Typ servera kľúčov:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Hostiteľ:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Názov hostiteľa alebo adresa servera." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Port, na ktorom je server prístupný." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Hľadať kľúče cez:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Zverejniť kľúče na:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Automaticky získavať kľúče zo servera _kľúčov" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Automaticky synchronizovať _upravené kľúče so serverom kľúčov" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Servery kľúčov" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Neznáma" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Žiadna" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Čiastočná" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Plná" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Absolútna" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Zakázaná" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Odvolaná" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Prehľad" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Pomocník" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Otvorenie ponuky" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Vytvorenie novej položky" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Import zo súboru" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Vyhľadávanie" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Zoznam skratiek" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Ukončenie" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navigácia" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Výber predchádzajúcej kľúčenky" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Výber nasledujúcej kľúčenky" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Zobrazenie postrannej lišty (na malých obrazovkách)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Zobrazenie obsahu kľúčenky (na malých obrazovkách)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Automaticky získavať kľúče" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Či sa majú alebo nemajú automaticky získavať kľúče zo servera s kľúčmi." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Automaticky zverejňovať kľúče" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Či sa majú alebo nemajú automaticky zverejňovať upravené kľúče." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Zverejniť kľúče na tento server" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "" + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Naposledy použité servery kľúčov" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +#, fuzzy +#| msgid "Show sidebar listing keyrings" +msgid "Show keyrings sidebar in Seahorse." +msgstr "Zobrazí bočný panel so zoznam zväzkov kľúčov" + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Ktoré položky sa majú zobraziť" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Šírka postranného panelu" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Predvolená šírka postranného panelu." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Už sa viac nepoužíva." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +#, fuzzy +#| msgid "Show _Trusted" +msgid "Show trust column" +msgstr "Zobraziť _dôveryhodné" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Šírka okna" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Šírka (v pixeloch) okna." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Výška okna" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Výška (v pixeloch) okna." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Spravuje vaše heslá a šifrovacie kľúče" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse je aplikácie prostredia GNOME na správu šifrovacích kľúčov." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"S aplikáciou seahorse môžete vytvoriť a spravovať kľúce PGP, vytvárať a " +"spravovať kľúče SSH, zverejňovať a získavať kľúče zo servera kľúčov, ukladať " +"vaše heslo, aby ste ho už nemuseli zadávať a zálohovať vaše kľúče a zväzky " +"kľúčov." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Projekt GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Heslá a kľúče" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "zväzok kľúčov;kľúče;šifrovanie;bezpečnosť;podpísať;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Uložené osobné heslá, poverenia a tajomstvá" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Nepodarilo sa odomknúť" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Nepodarilo sa pridať položku" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Heslo alebo tajomstvo" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Tajomstvo sieťového pripojenia" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Wi-Fi heslo" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Heslo od siete" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Heslo od Webu prostredia GNOME" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Heslo od Google Chrome" + +# PK: toto znie divne +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Heslo od internetovej komunikácie" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Heslo od účtu internetovej komunikácie " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Heslo od Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Heslo od Účtov služieb prostredia GNOME" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Uložiť zmeny pre túto položku?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Prístup k sieťovému sprístupneniu alebo zdroju" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Prístup k webovej lokalite" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Odomkne PGP kľúč" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Odomkne SSH kľúč" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Uložené heslo alebo používateľské meno" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Sieťové poverenia" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Heslo" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Nepodarilo sa zmeniť heslo." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Nepodarilo sa nastaviť popis." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Chyba pri odstraňovaní hesla." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Uložená poznámka" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Heslo od zväzku kľúčov" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Heslo od šifrovacieho kľúča" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Heslo od úložiska kľúčov" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Tajomstvo Správcu siete" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Naozaj chcete natrvalo odstrániť heslo „%s“?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Naozaj chcete natrvalo odstrániť %d hesiel?" +msgstr[1] "Naozaj chcete natrvalo odstrániť %d heslo?" +msgstr[2] "Naozaj chcete natrvalo odstrániť %d heslá?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Nepodarilo sa pridať zväzok kľúčov" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Neznámy dátum" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Zväzok kľúčov automaticky odomknutý pri prihlásení" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Zväzok kľúčov na ukladanie hesiel" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Nepodarilo sa nastaviť predvolený zväzok kľúčov" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Nepodarilo sa zmeniť heslo k zväzku kľúčov" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Nastaviť ako predvolené" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Zmeniť _heslo" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Naozaj chcete natrvalo odstrániť zväzok kľúčov pre heslá „%s“?" + +# PM: toto je dajaká haluz kde sa to zobrazuje? +# PK: ked odstranuje zvazok klucov, tak tam je taky checkbox +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Rozumiem, že všetky položky budú natrvalo odstránené." + +# tooltip +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Zobrazí alebo skryje heslo" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Pridať heslo" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "Zväzok _kľúčov:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "P_opis:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Heslo:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Pridať" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Pridať zväzok kľúčov pre heslá" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Prosím, zvoľte názov pre nový zväzok kľúčov. Budete vyzvaný na zadanie " +"odomykacieho hesla." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Názov nového zväzku kľúčov:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Vlastnosti položky" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Popis" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Kopírovať" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Použitie" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Typ" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Server" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Prihlasovacie meno" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Podrobnosti" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Odstrániť heslo" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Vlastnosti zväzku kľúčov" + +# PK: nie som si uplne isty podla zdrojaku +# PŠ: v zozname sú osoby, takže Ok +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Meno" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Vytvorený dňa" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Zmeniť heslo" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Nastaviť ako predvolené" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Zobraziť príznaky" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Vlastnosti zobrazeného dátumu a času" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Lenivý režim" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Lenivý režim nenormalizuje zadané hodnoty času a dátumu" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Rok" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Zobrazený rok" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mesiac" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Zobrazený mesiac" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Deň" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Zobrazený deň v mesiaci" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Hodina" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Zobrazená hodina" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minúta" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Zobrazená minúta" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekunda" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Zobrazená sekunda" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Dolný limit (rok)" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Dolný limit pre roky" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Horný limit (rok)" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Horný limit pre roky" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Dolný limit (mesiac)" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Dolný limit pre mesiace" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Horný limit (mesiac)" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Horný limit pre mesiace" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Dolný limit (deň)" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Dolný limit pre dni" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Horný limit (deň)" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Horný limit pre dni" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Dolný limit (hodina)" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Dolný limit pre hodiny" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Horný limit (hodina)" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Horný limit pre hodiny" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Dolný limit (minúta)" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Dolný limit pre minúty" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Horný limit (minúta)" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Horný limit pre minúty" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Dolný limit (sekunda)" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Dolný limit pre sekundy" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Horný limit (sekunda)" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Horný limit pre sekundy" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Dátum" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Zadajte dátum priamo" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Vybrať dátum" + +# atk desc +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Otvorí okno na výber dátumu z kalendára" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Čas" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Zadajte čas priamo" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Vybrať čas" + +# atk desc +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Otvorí okno na výber času zo zoznamu" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "dopoludnia" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "odpoludnia" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%3$02d. %2$02d. %1$04d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Nebolo možné zobraziť pomocníka: %s" + +# window title +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Pridanie podkľúča k %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (iba podpis)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (iba šifrovanie)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (iba podpis)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (iba šifrovanie)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "_Typ kľúča" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "_Dĺžka kľúča" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Dĺžka kľúča" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Platnosť vyprší" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "_Neobmedzená platnosť" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Ak je platnosť kľúča neobmedzená" + +# tooltip +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Vygeneruje nový podkľúč" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Pridanie identifikátora používateľa k %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Nepodarilo sa pridať identifikátor používateľa" + +# window title +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Pridanie identifikátora používateľa" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Celé me_no" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Musí mať najmenej 5 znakov" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_Emailová adresa" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Nepovinná emailová adresa" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Ko_mentár kľúča" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Nepovinný komentár popisujúci kľúč" + +# tooltip +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Vytvorí nový identifikátor používateľa" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Dešifrovanie zlyhalo. Pravdepodobne nemáte dešifrovací kľúč." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Operácia bola zrušená" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Neplatný dátum vypršania platnosti" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Dátum vypršania platnosti musí byť v budúcnosti" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Nebolo možné zmeniť dátum vypršania platnosti" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Platnosť vyprší: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Neobmedzená platnosť" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Zmeniť" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Viacero kľúčov" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Údaje kľúča" + +# PK: nejaky napad? +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Obrnené PGP kľúče" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP kľúče" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Nepodarilo sa vygenerovať PGP kľúč" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Heslo k novému PGP kľúču" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Zadajte heslo pre nový kľúč dvakrát." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Pri vytváraní kľúča sa musí vygenerovať veľa náhodných\n" +"údajov a program potrebuje vašu pomoc. Dobrý nápad je\n" +"pokračovať v tom, čo ste robili predtým ako napr. písanie\n" +"na klávesnici, hýbanie myšou, používanie aplikácií.\n" +"Toto umožní systému zozbierať náhodné údaje, ktoré potrebuje." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Generuje sa kľúč" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Meno musí obsahovať najmenej 5 znakov." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Nový PGP kľúč" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP kľúč umožňuje šifrovať email alebo súbory pre iných ľudí." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Rozšírené voľby kľúča" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Komentár" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_Typ šifrovania" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Sila kľúča (bitov)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Dátum v_ypršania" + +# PM: nebude lepšie neobmedzená platnosť? +# fuzzy +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Platnosť _neobmedzená" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "Vy_tvoriť" + +# tooltip +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Vygeneruje nový kľúč" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Naozaj chcete natrvalo odstrániť %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Naozaj chcete natrvalo odstrániť %d kľúčov?" +msgstr[1] "Naozaj chcete natrvalo odstrániť %d kľúč?" +msgstr[2] "Naozaj chcete natrvalo odstrániť %d kľúče?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Nesprávne heslo" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Tretíkrát ste zadali nesprávne heslo. Prosím, skúste to znovu." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Nesprávne heslo." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Zadajte nové heslo pre „%s“" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Zadajte heslo pre „%s“" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Zadajte nové heslo" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Zadajte heslo" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Heslo" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Načítaných %d kľúčov" +msgstr[1] "Načítaný %d kľúč" +msgstr[2] "Načítané %d kľúče" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Neplatné údaje kľúča (chýbajú identifikátory používateľov). Môže to byť tým, " +"že vám chýba vlastný podpis, alebo je dátum v počítači nastavený do " +"budúcnosti." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG kľúče" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: predvolený adresár zväzku kľúčov" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Fotka je príliš veľká\n" +"Odporúčaná veľkosť fotky pre váš kľúč je %d × %d pixelov." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Nemeniť veľkosť" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "Z_meniť veľkosť" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Toto nie je súbor s obrázkom, alebo nebol rozpoznaný typ obrázka. Pokúste sa " +"použiť JPEG obrázok." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Všetky súbory obrázkov" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Všetky JPEG súbory" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Všetky súbory" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Výber fotky na pridanie ku kľúču" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Otvoriť" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Nepodarilo sa pripraviť fotku" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Nepodarilo sa pridať fotku" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Súbor sa nepodarilo načítať. Možno je v neplatnom formáte" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Naozaj chcete natrvalo odstrániť aktuálnu fotku z kľúča?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Nepodarilo sa odstrániť fotku" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Nepodarilo sa odvolať podkľúč" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Odvolať: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Bez dôvodu" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Žiaden dôvod na odvolanie kľúča" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Kompromitovaný" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Kľúč bol kompromitovaný" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Nahradený" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Kľúč bol nahradený" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Nepoužívaný" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Kľúč sa už viac nepoužíva" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Chystáte sa pridať %s pre odvolanie %s. Túto operáciu nemožno vrátiť späť! " +"Naozaj chcete pokračovať?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Nepodarilo sa pridať odvolanie" + +# checkbox +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Rozumiem, že tento tajný kľúč bude natrvalo odstránený." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Tento kľúč už podpísal\n" +"„%s“" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Nepodarilo sa podpísať kľúč" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Žiadne kľúče použiteľné na podpisovanie" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Nemáte žiadne osobné PGP kľúče, ktoré môžu byť použité na indikovanie dôvery " +"tohoto kľúča." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Podpísať kľúč" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Podpísaním vyjadrujete dôveru tomu, že tento kľúč patrí:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Názov kľúča" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Ako pozorne ste skontrolovali tento kľúč?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Nijako" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "Z_bežne" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Veľmi pozorne" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Nijako: Znamená to, že veríte, že kľúč je vlastnený osobou, ktorá sa " +"za jeho vlastníka vyhlasuje. Táto skutočnosť však nebola (alebo nemohla byť) " +"nijako overená." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Zbežne: Znamená to, že bolo vykonané len zbežné overenie toho, že je " +"kľúč skutočne vlastnený osobou, ktorá sa za jeho vlastníka vyhlasuje. Môžete " +"napríklad overiť odtlačok kľúča tak, že ho údajnému vlastníkovi poviete po " +"telefóne." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Veľmi starostlivo: Túto možnosť vyberte iba vtedy, ak ste si úplne " +"istý, že kľúč je pravý." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Na kontrolu mena môžete použiť ťažko falšovateľný doklad, ktorý obsahuje " +"fotografickú identifikáciu (napríklad pas). Tiež je vhodné overiť adresu " +"elektronickej pošty zaslaním emailu vlastníkovi." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Ako iní uvidia tento podpis:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "Os_tatní možno neuvidia tento podpis" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "_Môžem odvolať tento podpis neskôr." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Podpísať kľúč ako:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "Podpí_sal:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "P_odpísať" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Neznámy" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Hľadanie nebolo dostatočne konkrétne. Server „%s“ našiel priveľa kľúčov." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Nepodarilo sa komunikovať so serverom „%s“: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP server kľúčov" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Nepodarilo sa importovať kľúč: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Importovanie kľúču bolo úspešné" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Importovať" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Nepodarilo sa importovať kľúč" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Vzdialené kľúče" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Vzdialené kľúče obsahujúce „%s“" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Hľadanie kľúčov zlyhalo." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Dvojitým kliknutím na kľúč ho môžete skontrolovať, alebo kliknutím na " +"tlačidlo Importovať ho môžete importovať do vašej miestnej kľúčenky." + +# window title +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Vyhľadávanie vzdialených kľúčov" + +# PM: mätie ma to "for others" čo to robí? +# PK: to je dialogove okno ked hladas kluce inych ludi +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Toto vyhľadá na internete kľúče iných. Tieto kľúče môžu byť importované do " +"lokálneho zväzku kľúčov." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Hľadať kľúče obsahujúce: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Kde hľadať:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Servery kľúčov:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Sprístupnené kľúče blízko mňa:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Hľadať" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Nepodarilo sa zverejniť kľúče na server" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Nepodarilo sa získať kľúče zo servera: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d kľúčov je vybraných na synchronizovanie" +msgstr[1] "%d kľúč je vybraný na synchronizovanie" +msgstr[2] "%d kľúče sú vybrané na synchronizovanie" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Synchronizujú sa kľúče…" + +# window title +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Synchronizácia kľúčov" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Toto zverejní kľúče vo vašom zväzku, čím sa stanú dostupné na použitie pre " +"iných. Taktiež budú aktualizované vami obdržané kľúče iných používateľov." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Toto aktualizuje vami obdržané kľúče iných používateľov. Žiaden server " +"kľúčov nebol vybraný na zverejňovanie, takže vaše kľúče nebudú dostupné pre " +"iných." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Servery _kľúčov" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Synchronizovať" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Nepodarilo sa komunikovať s %s: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Pripája sa k: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Nepodarilo sa zistiť adresu: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Zisťuje sa adresa servera: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Server kľúčov LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP kľúče" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP kľúče slúžia na šifrovanie emailu alebo súborov" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(a%d ďalších)" +msgstr[1] "(a %d ďalší)" +msgstr[2] "(a %d ďalšie)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Osobný PGP kľúč" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP kľúč" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Nepodarilo sa zmeniť hlavný identifikátor používateľa" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Naozaj chcete natrvalo odstrániť identifikátor používateľa „%s“?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Nepodarilo sa odstrániť identifikátor používateľa" + +# nazov podpisu +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Neznámy]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Meno/Email" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Identifikátor podpisu" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Nepodarilo sa zmeniť hlavnú fotku" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Chyba pri zmene hesla" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(neznámy)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Tomuto kľúču platnosť vypršala: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Verejný kľúč" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Súkromný kľúč" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Naozaj chcete natrvalo odstrániť podkľúč %d z %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Nepodarilo sa odstrániť podkľúč" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Nedá sa zmeniť dôveryhodnosť" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Nepodarilo sa exportovať kľúč" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Nikdy" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "Identifikátor" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Využitie" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Vytvorený" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Vyprší" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Stav" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Sila" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Odvolaný" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Platnosť vypršala" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Zakázaný" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "V poriadku" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Identifikátor kľúča" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Dôverujem podpisom od „%s“ aj pri iných kľúčoch" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Ak veríte, že osoba vlastniaca tento kľúč je „%s“, môžete tento kľúč " +"podpísať:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Ak už neveríte, že „%s“ je osoba vlastniaca tento kľúč, môžete odvolať svoj podpis:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "_Exportovať tajný kľúč" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "E_xportovať verejný kľúč" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Tento kľúč bol odvolaný" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Vlastník kľúča odvolal kľúč. Nemôže byť naďalej používaný." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Tomuto kľúču vypršala platnosť" + +# atk +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Pridať fotku pre tento kľúč" + +# atk +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Odstrániť túto fotku z tohoto kľúča" + +# atk +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Nastaviť túto fotku ako hlavnú" + +# atk +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Prejsť na predchádzajúcu fotku" + +# atk +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Prejsť na ďalšiu fotku" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Komentár" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Zmeniť _heslo" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Vlastník" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Názvy kľúčov a podpisy" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Hlavný" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Podpísať" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Odstrániť" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Pridať názov" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Odvolať" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Názvy a podpisy" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Identifikátor kľúča:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Typ:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Sila:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Technické podrobnosti" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Odtlačok" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Vytvorené:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Platnosť vyprší:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Dátumy" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Prevážiť vlastníkovu _dôveru:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "Exportovať do _súboru" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Akcie" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Skončiť" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "P_odkľúče" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Čiastočná" + +# dovera +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Plná" + +# dovera +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Absolútna" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Iné názvy:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Vaša dôvera tomuto kľúču" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Vaša dôvera je ručne zadaná na karte Podrobnosti." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "Po_dpísať tento kľúč" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "Odvo_lať podpis" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "Ľ_udia, ktorí podpísali tento kľúč:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Zobraziť iba podpisy ľudí, ktorým dôverujem" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Dôvera" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Technické podrobnosti:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Odtlačok:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Dátumy:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Indikátor dôvery:" + +# preformulované kvôli hodnotám, ktoré nasledujú v UI +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Vaša _dôvera vo vlastníka:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Zašifrovať" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certifikovať" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Overiť totožnosť" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Kľúč" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Podkľúč %d z %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Dôvod na odvolanie kľúča" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Dôvod:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Voliteľný popis odvolania" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Odvolať kľúč" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "_Odvolať" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Nemáte žiadne osobné PGP kľúče, ktoré môžu byť použité na podpísanie " +"dokumentu alebo správy." + +# dialog title +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Výber podpisového kľúča" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Podpísať správu kľúčom:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Exportujú sa údaje" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Získavajú sa údaje" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Importujú sa údaje" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Odosielajú sa údaje" + +# displej +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Nedostupný" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certifikát" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certifikáty (v kódovaní DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Osobný certifikát a kľúč" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Osobný certifikát" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Naozaj chcete natrvalo odstrániť %d certifikátov?" +msgstr[1] "Naozaj chcete natrvalo odstrániť %d certifikát?" +msgstr[2] "Naozaj chcete natrvalo odstrániť %d certifikáty?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Nepodarilo sa vygenerovať súkromný kľúč" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Rozumiem, že tento kľúč bude natrvalo odstránený." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Nepomenovaný súkromný kľúč" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Súkromný kľúč" + +# certificate +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Nepomenovaný" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Zlyhal export certifikátu" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Nepodarilo sa odstrániť" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Vytvoriť" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Nepodarilo sa vytvoriť žiadosť o certifikát" + +# window title +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Uloženie žiadosti o certifikát" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Uložiť" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Žiadosť o certifikát" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Žiadosť kódovaná s PEM" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Nepodarilo sa uložiť žiadosť o certifikát" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Neznámy" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509 certifikáty a súvisiace kľúče" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Nový súkromný kľúč" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Vytvorenie nového súkromného kľúča" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Menovka:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Uložený ako:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Typ kľúča:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Sila kľúča (bitov):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Odstráni tento certifikát alebo kľúč" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Exportuje certifikát" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Požiadať o certifikát" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Vytvorí žiadosť o certifikát pre tento kľúč" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Vytváranie žiadosti o certifikát." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Bežný názov (CN) umiestnený v žiadosť o certifikát." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Názov (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Prispeli:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Verzia tejto aplikácie" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Tomáš Virgl \n" +"Pavol Klačanský \n" +"Dušan Kazik " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Domovská stránka projektu Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Údaje na importovanie" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importovať" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Import zlyhal" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Import kľúča" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Všetky súbory kľúčov" + +# drag and drop +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Skopírovaný text" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Text zo schránky" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Nepodarilo sa odomknúť zväzok kľúčov" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Zmena hesla" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Nové _heslo:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Potvrdenie nového hesla" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "_Potvrdiť heslo:" + +# window title +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Nájsť vzdialené kľúče…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Synchronizovať a zverejniť kľúče…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Predvoľby" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Pomocník" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Klávesové skratky" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_O aplikácii Heslá a kľúče" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filtrovať položky:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Zobraziť _osobné" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Zobraziť _dôveryhodné" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Zobraziť _všetky" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "SSH kľúč" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Používaný na prístup k iným počítačom" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "PGP kľúč" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Používaný na šifrovanie emailov a súborov" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Zväzok kľúčov pre heslá" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Používaný na ukladanie aplikačných a sieťových hesiel" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Bezpečne uložiť heslo alebo tajomstvo" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Používa sa na žiadosť o certifikát" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importovať so súboru…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Pridá nový kľúč alebo položku" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Späť" + +# tooltip +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Vyhľadá kľúč alebo heslo" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filtrovať" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Zdá sa, že táto zbierka je prázdna" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Zväzok kľúčov je uzamknutý" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Odomknúť" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Kopírovať tajomstvo" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Exportovať…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Vlastnosti" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Nastaviť kľúč pre SSH…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "U_zamknúť" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Odomknúť" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Vlastnosti" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Nepodarilo sa uzamknúť" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "SSH" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Kľúče používané na zabezpečené pripojenie k iným počítačom" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Naozaj chcete natrvalo odstrániť SSH kľúč „%s“?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Naozaj chcete odstrániť %u SSH kľúčov?" +msgstr[1] "Naozaj chcete dstrániť %u SSH kľúč?" +msgstr[2] "Naozaj chcete odstrániť %u SSH kľúče?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Tajné SSH kľúče" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Verejné SSH kľúče" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH kľúč" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Pre tento kľúč nie je dostupný žiaden súbor verejného kľúča." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Nepodarilo sa načítať novo vygenerovaný SSH kľúč" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Nepodarilo sa vygenerovať SSH kľúč" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Vytvára sa SSH kľúč" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bitov" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bitov" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Neznámy typ kľúča!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Neznámy typ" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Nepodarilo sa premenovať kľúč." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Nepodarilo sa zmeniť oprávnenia pre kľúč." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Nepodarilo sa zmeniť heslo pre kľúč." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Chyba pri odstraňovaní SSH kľúča." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Osobný SSH kľúč" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH kľúč" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Nečitateľný SSH kľúč)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "SSH kľúč" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Heslo vzdialeného hostiteľa" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Zadajte heslo kľúča" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Heslo k novému SSH kľúču" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Importuje sa kľúč: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Importovanie kľúča. Zadajte heslo" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Zadajte vaše SSH heslo:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Pôvodné heslo kľúča" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Zadajte pôvodné heslo pre: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Nové heslo kľúča" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Zadajte nové heslo pre: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Znovu zadajte nové heslo pre: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Nový SSH kľúč" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"SSH (Secure Shell) kľúč umožňuje zabezpečené pripojenie k iným počítačom." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "P_opis" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Vaša emailová adresa alebo poznámka na označenie účelu tohto kľúča." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Ak existuje počítač, pre ktorý chcete tento kľúč použiť, môžete ho teraz " +"nastaviť na použitie vášho nového kľúča." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Iba vytvoriť kľúč" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Vytvoriť a nastaviť" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Vlastnosti kľúča SSH" + +# PK: nie som si uplne isty podla zdrojaku +# PŠ: v zozname sú osoby, takže Ok +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Názov" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritmus" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Dĺžka kľúča" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Umiestnenie" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Verejný kľúč" + +# tooltip +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Exportuje verejný kľúč do schránky" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Vzdialený prístup" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Umožní vzdialene pristupovať k tomuto počítaču" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Exportovať" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "O_dstrániť SSH kľúč" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Nastavenie počítača pre SSH pripojenie" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Aby bolo možné použiť váš SSH kľúč s iným počítačom ktorý používa SSH, " +"musíte na ňom už mať používateľský účet." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "Adresa _servera:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "napr: server.priklad.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "Prihlasovacie _meno:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Nastaviť" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH kľúče" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Pre tento kľúč nie je dostupný žiaden súbor súkromného kľúča." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Nepodarilo sa nastaviť SSH kľúče na vzdialenom počítači." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Nastavujú sa SSH kľúče…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse je aplikáciou pre prostredie GNOME na spravovanie šifrovacích " +#~ "kľúčov. Taktiež je integrovaný v programoch nautilus, gedit a na iných " +#~ "miestach, kde sa vykonávajú šifrovacie operácie." + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Nepodarilo sa pridať podkľúč" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Kombinovať všetky zväzky kľúčov" + +#~ msgid "Encryption _Type:" +#~ msgstr "_Typ šifrovania:" + +#~ msgid "_File" +#~ msgstr "_Súbor" + +#~ msgid "_Edit" +#~ msgstr "_Upraviť" + +# tooltip +#~ msgid "Delete selected items" +#~ msgstr "Odstráni označené položky" + +# tooltip +#~ msgid "Show the properties of this item" +#~ msgstr "Zobrazí vlastnosti tejto položky" + +# tooltip +#~ msgid "Show the properties of this keyring" +#~ msgstr "Zobrazí vlastnosti tohto zväzku kľúčov" + +#~ msgid "Prefere_nces" +#~ msgstr "Nas_tavenia" + +# tooltip +#~ msgid "Change preferences for this program" +#~ msgstr "Otvorí okno na zmenu nastavení tohto programu" + +#~ msgid "_View" +#~ msgstr "_Zobraziť" + +#~ msgid "_About" +#~ msgstr "O _programe" + +# tooltip +#~ msgid "About this program" +#~ msgstr "O tomto programe" + +#~ msgid "_Contents" +#~ msgstr "Ob_sah" + +# tooltip +#~ msgid "Show Seahorse help" +#~ msgstr "Zobrazí pomocníka pre program Seahorse" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Nový zväzok kľúčov pre heslá" + +#~ msgid "New password…" +#~ msgstr "Nové heslo…" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "" +#~ "Aplikácie si zvyčajne ukladajú nové heslá v predvolenom zväzku kľúčov." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Zmeniť odomykacie heslo pre zväzok kľúčov na ukladanie hesiel" + +#~ msgid "_Show Password" +#~ msgstr "_Zobraziť heslo" + +#~ msgid "Keyring is unlocked" +#~ msgstr "Zväzok kľúčov je odomknutý" + +#~ msgid "Lock" +#~ msgstr "Uzamknúť" + +#~ msgid "- System Settings" +#~ msgstr "- Systémové nastavenia" + +# cmd desc +#~ msgid "Don't display a window" +#~ msgstr "Nezobrazí okno" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Poskytovateľ vyhľadávania zatiaľ nie je načítaný" + +#~ msgid "PGP Key" +#~ msgstr "PGP kľúč" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Importujú sa kľúče zo servera kľúčov" + +#~ msgid "_Remote" +#~ msgstr "_Vzdialené" + +# tooltip +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Importuje vybrané kľúče do lokálneho zväzku kľúčov" + +# tooltip +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "" +#~ "Otvorí okno na zverejnenie a/alebo synchronizovanie vašich kľúčov s tými, " +#~ "ktoré sú online." + +#~ msgid "Marginal" +#~ msgstr "Čiastočná" + +#~ msgid "Full" +#~ msgstr "Plná" + +#~ msgid "Ultimate" +#~ msgstr "Absolútna" + +#~ msgid "Photo " +#~ msgstr "Fotka " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Názov:" + +#~ msgid "Email:" +#~ msgstr "Email:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Dešifrovať súbory a prijaté emaily." + +#~ msgid "Private PGP Key" +#~ msgstr "Súkromný PGP kľúč" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Šifrovať súbory a poslať ich emailom vlastníkovi kľúča" + +#~ msgid "Continue" +#~ msgstr "Pokračovať" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Vyberte typ položky na vytvorenie:" + +#~ msgid "_New" +#~ msgstr "_Nový" + +#~ msgid "Close this program" +#~ msgstr "Zavrie tento program" + +#~ msgid "_New…" +#~ msgstr "_Nový…" + +#~ msgid "_Import…" +#~ msgstr "_Importovať…" + +#~ msgid "Import from the clipboard" +#~ msgstr "Importuje zo schránky" + +#~ msgid "By _Keyring" +#~ msgstr "Podľa zväzku _kľúčov" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Zobrazí len osobné kľúče, certifikáty a heslá" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Zobrazí len dôveryhodné kľúče, certifikáty a heslá" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Zobrazí všetky kľúče, certifikáty a heslá" + +#~ msgid "First time options:" +#~ msgstr "Voľby pri prvom použití:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Vygenerovať váš vlastný nový kľúč: " + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Importovať existujúce kľúče zo súboru:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Ak chcete začať so šifrovaním, tak potrebujete kľúče." + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Poslať verejný SSH kľúč na iný počítač a povoliť prihlásenie týmto kľúčom." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Používaný na prístup k iným počítačom (napr. cez terminál)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Názov:" + +#~ msgid "Identifier:" +#~ msgstr "Identifikátor:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "Vlastník tohto kľúča je _oprávnený pripojiť sa k tomuto počítaču" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Toto sa týka iba účtu %s." + +#~ msgid "Key length:" +#~ msgstr "Dĺžka kľúča:" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%d.%m.%Y" + +#~ msgid "Name:" +#~ msgstr "Názov:" + +#~ msgid "Keyring" +#~ msgstr "Zväzok kľúčov" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "SSH príkaz bol neočakávane ukončený." + +#~ msgid "The SSH command failed." +#~ msgstr "SSH príkaz zlyhal." + +#~ msgid "E_xport..." +#~ msgstr "E_xportovať…" + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Nájsť vzdialené kľúče…" + +#~ msgid "_New..." +#~ msgstr "_Nový…" + +#~ msgid "_Import..." +#~ msgstr "_Importovať…" diff --git a/po/sl.po b/po/sl.po new file mode 100644 index 00000000..c9a5aca5 --- /dev/null +++ b/po/sl.po @@ -0,0 +1,3150 @@ +# Slovenian translations for seahorse. +# Copyright (C) 2005-2006 Free Software Foundation, Inc. +# This file is distributed under the same license as the seahorse package. +# +# Andraž Tori , 2000. +# Matej Urbančič , 2007–2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-08-18 22:38+0000\n" +"PO-Revision-Date: 2020-08-19 21:47+0200\n" +"Last-Translator: Matej Urbančič \n" +"Language-Team: Slovenian GNOME Translation Team \n" +"Language: sl_SI\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Generator: Poedit 2.3\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Dodajanje strežnika ključev" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Po meri" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Prekliči" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Shrani" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Ni mogoče izbrisati" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Ni mogoče izvoziti ključev" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Ni mogoče izvoziti podatkov" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Prekliči" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Izbriši" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Izvoz" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Vnesite PIN ali geslo za: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Potrditev:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_V redu" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Geslo:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Gesla" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Ključi" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Potrdila" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Možnosti" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "ne objavi ključev" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Neveljaven naslov strežnika ključev." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Za pomoč se obrnite na skrbnika sistema ali skrbnika strežnika ključev." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "Naslov URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "začetni začasni predmet" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Vrsta strežnika ključev:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Gostitelj:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Ime gostitelja ali naslov strežnika." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Vrata preko katerih je mogoč dostop do strežnika." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Poišči ključe na:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Objavi ključe na:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Samodejno pridobi ključe s strežnika _ključev" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Samodejno uskladi spremenjene _ključe s strežnikom ključev" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Strežniki ključev" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Neznano" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Nikoli" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Obrobno" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Polno" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Popolno" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Onemogočeno" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Preklicano" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Pregled" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Pomoč" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Odpre meni" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Ustvari nov predmet" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Uvozi predmet iz datoteke" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Omogoči iskanje" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Seznam tipkovnih bližnjic" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Konča program" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Krmarjenje" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Izbere predhodno zbirko ključev" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Izbere naslednjo zbirko ključev" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Pokaži stransko okno (na manjših zaslonih)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Pokaži vsebino zbirke ključev (na manjših zaslonih)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Samodejno pridobi ključe" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Ali naj bodo ključi samodejno pridobljeni s strežnika ključev." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Samodejno objavljanje ključev" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Ali naj bodo spremenjeni ključi samodejno objavljeni." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Objavi ključe na sa strežnik" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Strežnik ključev, na katerega naj se objavijo ključi PGP. Prazna vrednost " +"zadrži objavljanje ključev." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Niz iskanja strežnika ključev" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "" +"Zadnji iskalni vzorec, ki je bil uporabljen za iskanje strežnika ključev." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Nazadnje uporabljen strežnik ključev" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Zadnji strežnik ključev, ki je bil najden z iskalnim nizom oziroma prazna " +"vrednost za vse strežnike." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Pokaži stransko okno" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Pokaži stransko okno zbirke ključev." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Kateri predmeti naj bodo pokazani" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filter za prikaz različnih predmetov. Prazna vrednost pokaže vse predmete, " +"niz »osebno« pokaže osebne, »zaupanja vredni« pa ključe, ki so povsem varni " +"za uporabo." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Širina stranskega pladnja" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Privzeta širina stranskega okna." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Izbrane zbirke ključev" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Naslovi URI zbirk ključev, izbranih v stranskem oknu." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Stolpec, po katerem so razvrščeni ključi" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Določilo stolpca, ki naj bo uporabljen za razvrščanje ključev v glavnem oknu " +"programa. Možne izbire so »ime«, »ID«, »veljavnost«, »pretek«, »zaupljivost " +"in »vrsta«. Z vpisom znaka »-« pred ime stolpca, se obrne smer razvrščanja." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Pokaži stolpec veljavnosti" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Ključ ni več v uporabi." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Pokaži stolpec preteka" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Pokaži stolpec zaupanja" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Pokaži stolpec vrste" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Širina okna" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Širina okna v točkah." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Višina okna" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Višina okna v točkah." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Upravljanje z gesli in šifrirnimi ključi" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse je program za upravljanje s šifrirnimi ključi." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"S programom je mogoče ustvarjati in urejati ključe PGP in SSH, jih " +"objavljati in pridobivati iz stražnikov ključev. Podpira tudi predpomnjenje " +"šifrirnih fraz, kar olajša delo znotraj zagnane seje. Omogoča ustvarjanje " +"varnostnih kopij ključev in celotnih zbirk ključev." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Projekt GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Gesla in ključi" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "zbirka ključev;šifriranje;varnost;podpisovanje;ssh;gesla;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Shranjena osebna gesla, poverilnice in skrivnosti" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Ni mogoče odkleniti zbirke" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Predmeta ni mogoče dodati" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Geslo ali skrivnost" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Skrivnost povezave omrežja" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Omrežje Wi-Fi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Omrežno geslo" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Geslo brskalnika Web" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Geslo za Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Geslo hipnega sporočanja" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Geslo računa za hipno sporočanje za" + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Geslo Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Geslo spletnih računov GNOME" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Ali želite shraniti spremembe tega predmeta?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Dostop do skupnega omrežja ali vira" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Dostop do spletne strani" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Odklene ključ PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Odklene ključ varne lupine" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Shranjeno geslo ali prijava" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Omrežna poverila" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Geslo" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Gesla ni mogoče spremeniti." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Opisa ni mogoče določiti." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Prišlo je do napake med brisanjem gesla." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Shranjeno sporočilce" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Geslo zbirke ključev" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Geslo šifrirnega ključa" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Geslo shrambe ključev" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Skrivnost upravljalnika omrežja" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Ali ste prepričani, da želite izbrisati geslo »%s«?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Ali ste prepričani, da želite izbrisati %d gesel?" +msgstr[1] "Ali ste prepričani, da želite izbrisati %d geslo?" +msgstr[2] "Ali ste prepričani, da želite izbrisati %d gesli?" +msgstr[3] "Ali ste prepričani, da želite izbrisati %d gesla?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Zbirke ključev ni mogoče dodati" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Neznan datum" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Zbirka ključev, ki je samodejno odklenjena ob prijavi" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Zbirka ključev, uporabljena za hranjenje gesel" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Ni mogoče določiti privzete zbirke ključev" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Ni mogoče spremeniti gesla zbirke ključev" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Nastavi kot privzeto" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "_Spremeni geslo" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Ali ste prepričani, da želite zbirko gesel »%s«?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Razumem, da bodo vsi predmeti trajno izbrisani." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Pokaži / Skrij geslo" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Dodaj geslo" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Zbirka ključev:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Opis:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Geslo:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Dodaj" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Dodaj zbirko gesel" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Izberite ime za novo zbirko ključev. Vpisati boste morali geslo za " +"odklepanje." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Novo ime zbirke ključev:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Lastnosti predmeta" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Opis" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Kopiraj" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Uporabi" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Vrsta" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Strežnik" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Prijava" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Podrobnosti" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Izbriši geslo" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Lastnosti zbirke ključev" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Ime" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Ustvarjeno" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Spremeni geslo" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Nastavi kot privzeto" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Pokaži zastavice" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Prikazane lastnosti datuma in časa" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Leni način" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Leni način ne normalizira vnesenih vrednosti datuma in časa" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Leto" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Prikazano leto" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mesec" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Prikazan mesec" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dan" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Prikazan dan v mesecu" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Ura" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Prikazana ura" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minuta" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Prikazana minuta" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekunda" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Prikazana sekunda" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Spodnja meja leta" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Leto kot spodnja omejitev" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Zgornja meja leta" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Leto kot zgornja omejitev" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Spodnja meja meseca" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Mesec kot spodnja omejitev" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Zgornja meja meseca" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Mesec kot zgornja omejitev" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Spodnja meja dneva" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Dan meseca kot spodnja omejitev" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Zgornja meja dneva" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Dan meseca kot zgornja omejitev" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Spodnja meja ure" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Ura kot spodnja omejitev časa" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Zgornja meja ure" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Ura kot zgornja omejitev časa" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Spodnja meja minute" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Minuta kot spodnja omejitev" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Zgornja meja minute" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Minuta kot zgornja omejitev" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Spodnja meja sekunde" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Sekunda kot spodnja omejitev" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Zgornja meja sekunde" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Sekunda kot zgornja omejitev" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Datum" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Neposreden vnos datuma" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Izbor datuma" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Izbor datuma iz koledarja" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Čas" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Neposreden vnos časa" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Izbor časa" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Izbor časa iz seznama" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: da" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "dop" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "pop" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Pomoči ni mogoče prikazati: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Dodaj podključ v %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (le podpis)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (le šifriranje)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (le podpis)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (le šifriranje)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Vrsta _ključa" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "_Dolžina ključa" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Dolžina ključa" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Datum preteka" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Nikoli _ne preteče" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "V kolikor ključ nikoli ne poteče" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Ustvari novi podključ" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Dodaj ID uporabnika v %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Ni mogoče dodati ID uporabnika" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Dodaj ID uporabnika" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Polno _ime" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Najmanjša dolžina je 5 znakov." + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_Elektronski naslov" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Dodatni elektronski naslov" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "_Opomba ključa" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Izbirna opomba z opisom ključa" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Ustvari nov ID uporabnika" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Odšifriranje ni uspelo. Najverjetneje manjka odšifrirni ključ." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Opravilo je bilo preklicano." + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Neveljavna vrednost datuma" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Datum preteka mora biti v prihodnosti" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Ni mogoče spremeniti datum preteka" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Poteče: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Nikoli ne preteče" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "S_premeni" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Več ključev" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Podatki ključa" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Zaščiteni ključi PGP" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Ključi PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Ni mogoče ustvariti ključa PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Šifrirno geslo za nov ključ PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Dvakrat vnesite šifrirno geslo za vaš novi ključ." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Med ustvarjanjem ključa je treba ustvariti čim več\n" +"naključnih podatkov. Med ustvarjanjem ključa je\n" +"zaželeno izvajati kakršnekoli dejavnosti, kot so\n" +"tipkanje, premikanje miške, zaganjanje in zapiranje\n" +"programov in podobno. Na ta način se ustvarja naključnost." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Ustvari ključ" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Najmanjša sprejemljiva dolžina imena je 5 znakov." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Nov ključ PGP" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "Ključ PGP omogoča šifriranje elektronske pošte za druge uporabnike." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Napredne možnosti ključa" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Opomba" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Vrsta _šifriranja" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Moč ključa (v bitih):" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Datum _preteka" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "_Nikoli ne preteče" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "Ustva_ri" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Ustvari nov ključ" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Ali zares želite trajno izbrisati %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Ali zares želite trajno izbrisati %d ključev?" +msgstr[1] "Ali zares želite trajno izbrisati %d ključ?" +msgstr[2] "Ali zares želite trajno izbrisati %d ključa?" +msgstr[3] "Ali zares želite trajno izbrisati %d ključe?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Napačno geslo" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "To je bil tretji poskus prijave z napačnim geslom. Poskusite znova." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Napačno šifrirno geslo." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Vpišite novo šifrirno geslo za »%s«" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Vpišite šifrirno geslo za »%s«" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Vnesite novo šifrirno geslo" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Vnesite šifrirno geslo" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Šifrirno geslo" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Naloženih %d ključev" +msgstr[1] "Naložen %d ključ" +msgstr[2] "Naložena %d ključa" +msgstr[3] "Naloženi %d ključi" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Neveljavni podatki ključa (manjkajoči UID). Morda je datum računalnika " +"nastavljen nepravilno ali manjkajoče samodejno podpisovanje." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Ključi GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: privzeta mapa zbirke ključev" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Slika je prevelika\n" +"Priporočljiva velikost slike za ključ je %d x %d točk." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "Ne spremeni velikosti" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Spremeni velikost" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Ta datoteka ni slika ali pa je neprepoznavna oblika slike. Poskusite " +"uporabiti sliko JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Vse slikovne datoteke" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Vse datoteke JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Vse datoteke" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Izbor slike kot del ključa" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Odpri" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Slike ni mogoče pripraviti" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Ni mogoče dodati slike" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Datoteke ni mogoče naložiti. Najverjetneje je neveljavna oblika." + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Ali zares želite odstraniti trenutno sliko iz vašega ključa?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Ni mogoče izbrisati slike" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Ni mogoče preklicati podključa" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Preklic: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Brez razloga" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Ni razloga za preklic ključa" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Ogroženo" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Ključ je bil ogrožen" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Zamenjano" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Ključ je bil zamenjan" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Ni uporabljeno" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Ključ ni več v uporabi" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Dodali boste %s kot preklicnika %s. Postopka ni mogoče povrniti. Ali zares " +"želite nadaljevati?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Ni mogoče dodati preklicnika" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Razumem, da bo ta skrivni ključ trajno izbrisan." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "Ključ je že podpisan s podpisom »%s«" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Ni mogoče podpisati ključa" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Za podpisovanje ni uporabnih ključev" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Ni določenih vašega osebnega ključa PGP s katerim bi lahko potrdili zaupanje." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Podpis ključa" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "S podpisom potrdite, da ta ključ pripada:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Ime ključa" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Kako natančno je ključ preverjen?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "Sploh _ne" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Ravnodušno" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Zelo previdno" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Sploh ne: pomeni, da sploh niste preverili, kdo je lastnik ključa, " +"ali pa tega ni mogoče storiti." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Ravnodušno: je način, ki predstavlja neobremenjen odnos do overitve " +"ključa in njegovega lastnika. Lahko bi na primer preverili prstni odtis " +"lastnika prek telefona, zato ne morete biti prepričani, kdo je na drugi " +"strani. " + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Zelo previdno: izberite izključno, če ste popolnoma prepričani, da je " +"ključ pristen." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Lahko uporabite overitev, ki jo je težko ponarediti (kot potni list) za " +"osebno preverjanje imena in lastnika ključa. Preveriti bi morali tudi " +"elektronski naslov lastnika in njegovo istovetnost." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Kako drugi vidijo podpis:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Drugi ne smejo videti podpisa" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Podpis je lahko _preklican kasneje." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Podpiši ključ kot:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Podpisnik:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Podpiši" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Neznano" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Iskanje ni bilo dovolj podrobno. Strežnik »%s« je našel preveč ključev." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Ni se mogoče povezati s strežnikom »%s«: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Strežnik ključev HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Ni mogoče uvoziti ključa: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Uvoz ključev je uspel" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Uvozi" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Ni mogoče uvoziti ključa" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Oddaljeni ključi" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Oddaljeni ključi, ki vsebujejo »%s«" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Iskanje ključev je spodletelo." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Z dvojnim klikom je mogoče preveriti podatke o ključu. S klikom na gumb za " +"uvoz, bo dodan v krajevno zbirko ključev." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Poišči oddaljene ključe" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Program poišče ključe drugih oseb na spletu. Ključe lahko po tem uvozite v " +"lastno zbirko ključev." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Iskanje ključa, ki vsebuje: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Kje iskati:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Strežniki ključev:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Dostopni ključi:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "I_skanje" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Ni mogoče objaviti ključev na strežniku" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Ni mogoče pridobiti ključev s strežnika: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d ključev je izbranih za usklajevanje" +msgstr[1] "%d ključ je izbran za usklajevanje" +msgstr[2] "%d ključa sta izbrana za usklajevanje" +msgstr[3] "%d ključi so izbrani za usklajevanje" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Poteka usklajevanje ključev …" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Uskladi ključe" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Možnost objavi ključe v zbirki ključev in omogoči drugim njihovo uporabo. " +"Sprejeli boste tudi spremembe, ki so jih drugi naredili po tem, ko ste " +"prejeli njihove ključe." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Možnost posodobi spremembe, ki so jih drugi uporabniki naredili za svoje " +"ključe. Ni izbranega strežnika za objavljanje, zato vaši ključi ne bodo na " +"voljo drugim." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Strežniki ključev" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Usklajevanje" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Ni mogoča vzpostaviti stika z »%s«: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Povezovanje z: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Ni mogoče razrešiti naslova: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Razreševanje naslova strežnika: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Strežnik LDAP ključev" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Ključi PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "" +"Ključi PGP se uporabljajo za šifriranje elektronskih sporočil in datotek" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(in %d drugih)" +msgstr[1] "(in %d drug)" +msgstr[2] "(in %d druga)" +msgstr[3] "(in %d drugi)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Osebni ključ PGP" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Ključ PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Ni mogoče zamenjati ID osnovnega uporabnika" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Ali zares želite trajno izbrisati ID uporabnika »%s«?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Ni mogoče izbrisati ID uporabnika" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[neznano]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Ime/Elektronski naslov" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "ID podpisa" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Ni mogoče zamenjati osnovne slike" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Napaka spreminjanja gesla" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(neznano)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Ključ je pretekel na: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s – javni ključ" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s – osebni ključ" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Ali zares želite trajno izbrisati podključ %d ključa %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Ni mogoče izbrisati podključa" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Ni mogoče zamenjati zaupanja" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Ni mogoče izvoziti ključa" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Nikoli" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Uporaba" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Ustvarjeno" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Preteče" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Stanje" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Jakost" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Preklicano" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Pretečeno" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Onemogočeno" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Dobro" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "ID ključa" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Zaupam podpisom »%s« tudi pri drugih ključih" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "Če ste prepričani, da je lastnik ključa »%s«, podpišite ključ:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"V kolikor niste prepričani, da je »%s« lastnik ključa, prekličite " +"svoj podpis:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "_Izvozi skrivni ključ" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Izvozi _javni ključ" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Ključ je bil preklican" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Lastnik ključa je ključ preklical. Ključ ni več uporaben." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Ključ je pretekel" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Dodaj ključu sliko" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Odstrani sliko iz ključa" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Naj bo ta fotografija osnovna fotografija." + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Pojdi na predhodno fotografijo" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Pojdi na naslednjo sliko" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Opomba" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Spremeni _šifrirno geslo" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Lastnik" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Imena ključev in podpisi" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Osnovni" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Podpiši" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Izbriši" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Dodaj ime" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Prekliči" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Imena in podpisi" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "ID ključa:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Vrsta:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Jakost:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Tehnične podrobnosti" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Prstni odtis" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Ustvarjeno:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Preteče dne:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Datumi" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Prepis _zaupanja lastniku:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Izvozi v datoteko" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Dejanja" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Pretečen" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Podključi" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Obrobno" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Polno" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Popolno" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Ostala imena:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Zaupanje v ključ" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Zaupanje je posamično določena med Podrobnostmi." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Podpis ključa" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Preklic podpisa" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Podpisniki tega ključa:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Pokaži le podpise uporabnikov, ki jim zaupam" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Zaupanje" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Tehnične podrobnosti:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Prstni odtis:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Datumi:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Določi zaupanje:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "_Zaupate lastniku:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Šifriraj" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Potrdi" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Overi" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Ključ" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Podključ %d od %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Razlog za preklic ključa" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Vzrok:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Opombe o razlogih za preklic" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Prekliči ključ" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Pre_kliči" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Ni določenega osebnega ključa PGP za podpisovanje dokumentov in sporočil." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Izbor ključa za podpis" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Podpis sporočila s ključem:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Izvažanje podatkov" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Pridobivanje podatkov" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Uvažanje podatkov" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Pošiljanje podatkov" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Nedostopno" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Potrdilo" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Potrdila (kodirana z DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Osebno potrdilo in ključ" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Osebno potrdilo" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Ali zares želite trajno izbrisati %d potrdil?" +msgstr[1] "Ali zares želite trajno izbrisati %d potrdilo?" +msgstr[2] "Ali zares želite trajno izbrisati %d potrdili?" +msgstr[3] "Ali zares želite trajno izbrisati %d potrdila?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Ni mogoče ustvariti zasebnega ključa" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Razumem, da bo ta ključ trajno izbrisan." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Neimenovan osebni ključ" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Osebni ključ" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Neimenovano" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Izvoz potrdila je spodletel" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Ni mogoče izbrisati" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Ustvari" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Ni mogoče ustvari zahteve potrdila" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Shrani zahtevo potrdila" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Shrani" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Zahteva potrdila" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "S protokolom PEM kodirana zahteva" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Ni mogoče shraniti zahteve potrdila" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Neznano" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Potrdila X.509 in pripadajoči ključi" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Nov osebni ključ" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Ustvari nov osebni ključ" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Naziv:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Shranjeno na:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Vrsta ključa:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Jakost ključa (biti):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Izbriši to potrdilo ali ključ" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Izvozi potrdilo" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Zahtevaj potrdilo" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Ustvari zahtevo po potrdilu za ta ključ" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Ustvari datoteko zahteve potrdila." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Splošno ime (CN) za zahtevo potrdila." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Splošno ime (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Podpora:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Različica programa" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "Matej Urbančič " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Spletna stran projekta Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Podatki za uvoz" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Uvozi" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Uvoz je spodletel" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Uvozi ključ" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Vse datoteke ključev" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Izpisano besedilo" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Besedila odložišča" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Ni mogoče odkleniti zbirke ključev" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Spremeni šifrirno geslo" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Novo šifrirno _geslo:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Potrdi novo šifrirno geslo" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "_Potrdi šifrirno geslo:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "Najdi _oddaljene ključe …" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Uskladi in objavi ključe …" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Možnosti" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "Pomo_č" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Tipkovne bližnjice" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_O programu" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filter:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Pokaži _osebne" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Pokaži _zaupanja vredne" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Pokaži _kateregakoli" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Ključ varne lupine" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Uporaba pri povezovanju z drugimi računalniki" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Ključ PGP" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Uporablja se za šifriranje sporočil in datotek" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Zbirka gesel" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Uporabno za hranjenje programskih in omrežnih gesel" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Varno shranjevanje gesla in drugih podatkov" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Uporablja se za potrjevanje potrdil" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Uvozi iz datoteke …" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Dodaj nov ključ ali predmet" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Nazaj" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Poišči ključ ali geslo" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filter" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Kaže, da je zbirka prazna" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Zbirka ključev je zaklenjena" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Odkleni" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Kopiraj skrivno geslo" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Izvozi …" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Lastnosti" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Nastavitev ključa za novo varno lupino …" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Zakleni" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Odkleni" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Lastnosti" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Ni mogoče zakleniti zbirke" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Varna lupina" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Ključi uporabljeni za varno povezovanje z drugimi računalniki." + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Ali res želite trajno izbrisati ključ seje varne lupine »%s«?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Ali zares želite izbrisati %u ključev seje varne lupine?" +msgstr[1] "Ali zares želite izbrisati %u ključ seje varne lupine?" +msgstr[2] "Ali zares želite izbrisati %u ključa seje varne lupine?" +msgstr[3] "Ali zares želite izbrisati %u ključe seje varne lupine?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Skrivni ključi SSH" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Javni ključi SSH" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Ključ SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Za ta ključ ni na voljo nobenega javnega ključa." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Ni mogoče naložiti na novo ustvarjenega ključa varne lupine" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Ni mogoče ustvariti ključa varne lupine" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Ustvarjanje ključa varne lupine" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bitno" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bitno" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Neznana vrsta ključa!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Neznana vrsta" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Ni mogoče preimenovati ključa." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Ni mogoče spremeniti pooblastila ključa." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Ni mogoče spremeniti šifrirnega gesla ključa." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Prišlo je do napake med brisanjem ključa SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Osebni ključ SSH" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Kljulč SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Neprepoznaven ključ varne lupine)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Ključ varne lupine" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Geslo oddaljenega gostitelja" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Vnesite šifrirno geslo ključa" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Šifrirno geslo za ključ nove varne lupine" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Uvažanje ključa: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Uvažanje ključa. Vnesite šifrirno geslo" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Vnesite šifrirno geslo varne lupine:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Staro šifrirno geslo ključa" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Vnesite staro šifrirno geslo za: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Novo šifrirno geslo ključa" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Vnesite novo šifrirno geslo za: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Ponovno vnesite novo šifrirno geslo: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Nov ključ varne lupine" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Ključ za varno lupino (SSH) omogoča varno povezovanje z drugimi računalniki." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Opis" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Elektronski naslov ali pa opomnik namena izbranega ključa." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"V kolikor računalnik, s katerim naj se uporabi ta ključ, že obstaja, je " +"mogoče nastaviti računalnik, da ključ prepozna." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Ustvari ključ" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Ustvarjanje in nastavitve" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Lastnosti ključa SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Ime" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritem" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Dolžina ključa" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Mesto" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Javni ključ" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Kopiraj javni ključ v odložišče" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Oddaljen dostop" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Dovoli oddaljen dostop do tega računalnika" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Izvozi" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Izbriši ključ SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Priprava računalnika na povezavo SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Za uporabo ključa varne lupine pri povezavi z drugim računalnikom, ki " +"uporablja SSH, je treba imeti že ustvarjen račun za prijavo na oddaljenem " +"računalniku." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Naslov strežnika:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "primer: strežnik.primer.si:vrata" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Prijavno ime:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Nastavitev" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Ključi OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Za ta ključ ni na voljo osebnega ključa." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Ni mogoče nastaviti ključa varne lupine na oddaljenem računalniku." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Poteka nastavljanje ključev varne lupine …" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse je program, ki omogoča šifriranje ključev v okolju GNOME. " +#~ "Delovanje je vgrajeno v programe nautilus, gedit in v drugih, ki " +#~ "zahtevajo podporo šifriranja." + +#~ msgid "Keyring is unlocked" +#~ msgstr "Zbirka ključev je odklenjena" + +#~ msgid "Lock" +#~ msgstr "Zakleni" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Ni mogoče dodati podključa" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Združi vse zbirke ključev" + +#~ msgid "Encryption _Type:" +#~ msgstr "_Vrsta šifriranja:" + +#~ msgid "OK" +#~ msgstr "V redu" + +#~ msgid "Full _Name:" +#~ msgstr "Polno _Ime:" + +#~ msgid "_Email Address:" +#~ msgstr "_Elektronski naslov:" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "_File" +#~ msgstr "_Datoteka" + +#~ msgid "_Edit" +#~ msgstr "_Uredi" + +#~ msgid "Delete selected items" +#~ msgstr "Izbriši izbrane predmete" + +#~ msgid "Show the properties of this item" +#~ msgstr "Pokaži lastnosti tega predmeta" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Pokaži lastnosti te zbirke ključev" + +#~ msgid "Prefere_nces" +#~ msgstr "_Lastnosti" + +#~ msgid "Change preferences for this program" +#~ msgstr "Spremeni možnosti programa" + +#~ msgid "_View" +#~ msgstr "_Pogled" + +#~ msgid "_About" +#~ msgstr "_O programu" + +#~ msgid "About this program" +#~ msgstr "O programu" + +#~ msgid "_Contents" +#~ msgstr "_Vsebina" + +#~ msgid "Show Seahorse help" +#~ msgstr "Pokaži pomoč programa" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Nova zbirka ključev gesel" + +#~ msgid "New password…" +#~ msgstr "Novo geslo ..." + +#~ msgid "Stored Password" +#~ msgstr "Shranjeno geslo" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "" +#~ "Gesla namenjena uporabi različnih programov, so običajno shranjena v " +#~ "privzeti zbirki ključev." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Spremeni geslo za odklepanje zbirke ključev za gesla" + +#~ msgid "_Show Password" +#~ msgstr "Pokaži _geslo" + +#~ msgid "Use:" +#~ msgstr "Uporabi:" + +#~ msgid "PGP Key" +#~ msgstr "Ključ PGP" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Uvoz ključev s strežnikov" + +#~ msgid "_Remote" +#~ msgstr "_Oddaljeno" + +#~ msgid "Close this window" +#~ msgstr "Zapri to okno" + +#~ msgid "_Find Remote Keys…" +#~ msgstr "_Poišči oddaljene ključe ..." + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Uvozi izbrane ključe v osebno zbirko ključev" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Objavljanje in usklajevanje ključev s ključi v omrežju." + +#~ msgid "Marginal" +#~ msgstr "Obrobno" + +#~ msgid "Full" +#~ msgstr "Polno" + +#~ msgid "Ultimate" +#~ msgstr "Popolno" + +#~ msgid "Key Properties" +#~ msgstr "Lastnosti ključa" + +#~ msgid "Photo " +#~ msgstr "Fotografija" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Ime:" + +#~ msgid "Email:" +#~ msgstr "Elektronska pošta:" + +#~ msgid "Comment:" +#~ msgstr "Opomba:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Odšifriranje datotek in elektronske pošte." + +#~ msgid "Private PGP Key" +#~ msgstr "Osebni ključ PGP" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Šifrira datoteke in sporočila za lastnika ključa" + +#~ msgid "- System Settings" +#~ msgstr "- sistemske nastavitve" + +#~ msgid "Don't display a window" +#~ msgstr "Ne pokaži okna" + +#~ msgid "_New" +#~ msgstr "_Novo" + +#~ msgid "Close this program" +#~ msgstr "Izhod iz programa" + +#~ msgid "_New…" +#~ msgstr "_Novo ..." + +#~ msgid "_Import…" +#~ msgstr "_Uvozi ..." + +#~ msgid "_Paste" +#~ msgstr "_Prilepi" + +#~ msgid "Import from the clipboard" +#~ msgstr "Uvozi iz odložišča" + +#~ msgid "By _Keyring" +#~ msgstr "Po _zbirki ključev" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Pokaži le osebne ključe, potrdila in gesla" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Pokaži le zaupanja vredne ključe, potrdila in gesla" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Pokaži vse ključe, potrdila in gesla" + +#~ msgid "New item" +#~ msgstr "Nov predmet" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Izbor vrste predmeta za ustvarjanje:" + +#~ msgid "Continue" +#~ msgstr "Nadaljuj" + +#~ msgid "First time options:" +#~ msgstr "Možnosti ob prvem zagonu:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Za šifriranje je treba imeti ustrezne šifrirne ključe." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Uvozi obstoječe ključe iz datoteke:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Ustvari nov lastni ključ :" + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Pošljite javne ključe varne lupine na drugi računalnik in omogočite " +#~ "prijavo z uporabo ključev." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Uporabno pri dostopu do drugih računalnikov (npr.: prek terminala)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Ime:" + +#~ msgid "Identifier:" +#~ msgstr "Določilo:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "Lastnik tega ključa je _pooblaščen za povezavo s tem računalnikom" + +#~ msgid "This only applies to the %s account." +#~ msgstr "To je v povezavi le z računom %s." + +#~ msgid "Key length:" +#~ msgstr "Dolžina ključa:" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Ponudnik iskalnika še ni naložen" + +#~ msgid "E_xport..." +#~ msgstr "_Izvozi ..." + +#~ msgid "Name:" +#~ msgstr "Ime:" + +#~ msgid "Keyring" +#~ msgstr "Zbirka ključev" + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Poišči oddaljene ključe ..." + +#~ msgid "_New..." +#~ msgstr "_Novo ..." + +#~ msgid "_Import..." +#~ msgstr "_Uvozi ..." + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "Ukaz ssh je bil nepričakovano zaključen." + +#~ msgid "The SSH command failed." +#~ msgstr "Ukaz ssh je spodletel." + +#~ msgid "Ssh Key" +#~ msgstr "Ključ SSH" + +#~ msgid "Updating password" +#~ msgstr "Posodabljanje gesla" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%d.%m.%Y" + +#~ msgid "_Computer Name:" +#~ msgstr "Ime _računalnika:" + +#~ msgid "Password:" +#~ msgstr "Geslo:" + +#~ msgid "Key Servers:" +#~ msgstr "Strežniki ključev:" + +#~ msgid "Never" +#~ msgstr "Nikoli" + +#~ msgid "Key ID:" +#~ msgstr "ID ključa:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Ime:" + +#~ msgid "Comment:" +#~ msgstr "Opomba:" + +#~ msgid "Use:" +#~ msgstr "Uporabi:" + +#~ msgid "Type:" +#~ msgstr "Vrsta:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "Imena ključev in podpisi" + +#~ msgid "Dates" +#~ msgstr "Datumi" + +#~ msgid "Dates:" +#~ msgstr "Datumi:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Ime:" + +#~ msgid "Trust" +#~ msgstr "Zaupanje" + +#~ msgid "Strength:" +#~ msgstr "Moč:" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "Dostop do zbirke ključev je zavrnjen" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "GNOME ozadnji program zbirke ključev ni zagnan" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "Zbirka ključev je že odklenjena" + +#~ msgid "No such key ring exists" +#~ msgstr "Taka zbirka ključev ne obstaja" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "Ni mogoča povezava z ozadnjim programom zbirke ključev" + +#~ msgid "The item already exists" +#~ msgstr "Predmet že obstaja" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "Napaka med dostopu do GNOME zbirke ključev" + +#~ msgid "Are you sure you want to delete %d secure shell keys?" +#~ msgstr "Ali zares želite trajno izbrisati %d ključev seje varne lupine?" + +#~ msgid "Algorithms here" +#~ msgstr "Algoritmi" diff --git a/po/sq.po b/po/sq.po new file mode 100644 index 00000000..e571ced9 --- /dev/null +++ b/po/sq.po @@ -0,0 +1,2590 @@ +# Përkthimi i mesazheve të seahorse në shqip +# This file is distributed under the same license as the seahorse package. +# Copyright (C) 2004 Free Software Foundation, Inc. +# Laurent Dhima , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse HEAD\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-02-03 19:44-0700\n" +"PO-Revision-Date: 2004-09-03 13:05+0200\n" +"Last-Translator: Laurent Dhima \n" +"Language-Team: Albanian \n" +"Language: sq\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: agent/eggtrayicon.c:121 +msgid "Orientation" +msgstr "" + +#: agent/eggtrayicon.c:122 +msgid "The orientation of the tray." +msgstr "" + +#: agent/gtk-secure-entry.c:457 +msgid "Cursor Position" +msgstr "" + +#: agent/gtk-secure-entry.c:459 +msgid "The current position of the insertion cursor in chars" +msgstr "" + +#: agent/gtk-secure-entry.c:466 +msgid "Selection Bound" +msgstr "" + +#: agent/gtk-secure-entry.c:468 +msgid "" +"The position of the opposite end of the selection from the cursor in chars" +msgstr "" + +#: agent/gtk-secure-entry.c:475 +msgid "Maximum length" +msgstr "" + +#: agent/gtk-secure-entry.c:477 +msgid "Maximum number of characters for this entry. Zero if no maximum" +msgstr "" + +#: agent/gtk-secure-entry.c:485 +msgid "Has Frame" +msgstr "" + +#: agent/gtk-secure-entry.c:487 +msgid "FALSE removes outside bevel from entry" +msgstr "" + +#: agent/gtk-secure-entry.c:496 +msgid "Invisible character" +msgstr "" + +#: agent/gtk-secure-entry.c:498 +msgid "The character to use when masking entry contents (in \"password mode\")" +msgstr "" + +#: agent/gtk-secure-entry.c:507 +msgid "Activates default" +msgstr "" + +#: agent/gtk-secure-entry.c:509 +msgid "" +"Whether to activate the default widget (such as the default button in a " +"dialog) when Enter is pressed" +msgstr "" + +#: agent/gtk-secure-entry.c:514 +msgid "Width in chars" +msgstr "" + +#: agent/gtk-secure-entry.c:516 +msgid "Number of characters to leave space for in the entry" +msgstr "" + +#: agent/gtk-secure-entry.c:524 +msgid "Scroll offset" +msgstr "" + +#: agent/gtk-secure-entry.c:526 +msgid "Number of pixels of the entry scrolled off the screen to the left" +msgstr "" + +#: agent/gtk-secure-entry.c:533 +#, fuzzy +msgid "Text" +msgstr "Vetëm tekst" + +#: agent/gtk-secure-entry.c:535 +msgid "The contents of the entry" +msgstr "" + +#: agent/gtk-secure-entry.c:692 +msgid "Select on focus" +msgstr "" + +#: agent/gtk-secure-entry.c:694 +msgid "Whether to select the contents of an entry when it is focused" +msgstr "" + +#: agent/seahorse-agent-actions.c:97 +msgid "Password:" +msgstr "" + +#: agent/seahorse-agent-actions.c:98 +msgid "Please enter a password to use." +msgstr "" + +#: agent/seahorse-agent-cache.c:46 +msgid "Unparseable Key ID" +msgstr "" + +#: agent/seahorse-agent-cache.c:47 +msgid "Unknown/Invalid Key" +msgstr "" + +#: agent/seahorse-agent-cache.glade.h:1 +msgid "" +"Warning: Your system is not configured to cache passwords are in " +"secure memory." +msgstr "" + +#: agent/seahorse-agent-cache.glade.h:2 +msgid "Cached GPG Passwords" +msgstr "" + +#: agent/seahorse-agent-cache.glade.h:3 +msgid "Clear GPG password cache" +msgstr "" + +#: agent/seahorse-agent-cache.glade.h:4 +msgid "_Clear Cache" +msgstr "" + +#: agent/seahorse-agent-cache.glade.h:5 +msgid "_Show Window" +msgstr "" + +#: agent/seahorse-agent-prompt.c:200 +msgid "GPG Password" +msgstr "" + +#: agent/seahorse-agent-prompt.c:365 +msgid "Authorize Password Access" +msgstr "" + +#: agent/seahorse-agent-prompt.c:400 +msgid "The password is cached in memory." +msgstr "" + +#: agent/seahorse-agent-prompt.c:417 +msgid "_Authorize" +msgstr "" + +#. Make the column +#: agent/seahorse-agent-status.c:126 +#, fuzzy +msgid "Cached GPG Keys" +msgstr "Çelësat" + +#. Warn and put in defaults +#: agent/seahorse-agent.c:100 +msgid "couldn't read gpg configuration, will try to create" +msgstr "" + +#: agent/seahorse-agent.c:122 +#, c-format +msgid "couldn't modify gpg configuration: %s" +msgstr "" + +#: agent/seahorse-agent.c:142 +msgid "couldn't fork process" +msgstr "" + +#: agent/seahorse-agent.c:148 +msgid "couldn't create new process group" +msgstr "" + +#: agent/seahorse-agent.c:178 +#, c-format +msgid "usage: seahorse-agent [-cdv]\n" +msgstr "" + +#: agent/seahorse-agent.c:276 +msgid "couldn't drop privileges properly" +msgstr "" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:1 +msgid "Decrypt..." +msgstr "Dekripto..." + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:2 +msgid "Decryption operations on PGP encrypted files" +msgstr "Veprimet e dekriptimit tek files e shifruar me PGP" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:3 +#, fuzzy +msgid "Encrypt and sign operations on files" +msgstr "Kriptimi dhe veprimet në" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:4 +#, fuzzy +msgid "Encrypt..." +msgstr "Kriptimi." + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:5 +#, fuzzy +msgid "Import" +msgstr "Importo" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:6 +#, fuzzy +msgid "Import operation on PGP key files" +msgstr "në PGP" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:7 +#, fuzzy +msgid "Seahorse PGP decrypt operations" +msgstr "PGP veprimet" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:8 +#, fuzzy +msgid "Seahorse PGP encrypt and sign operations" +msgstr "PGP dhe veprimet" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:9 +#, fuzzy +msgid "Seahorse PGP import operation" +msgstr "PGP importo" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:10 +#, fuzzy +msgid "Seahorse PGP verify operation" +msgstr "PGP" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:11 +#, fuzzy +msgid "Sign" +msgstr "Sinj" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:12 +#, fuzzy +msgid "Verify" +msgstr "Verifikimi" + +#: bonobo/Seahorse_PGP_File_Listener.server.in.in.h:13 +#, fuzzy +msgid "Verify operation on PGP signed files" +msgstr "Verifikimi në PGP" + +#: data/seahorse.schemas.in.h:1 +msgid "A list of key server URIs to search for remote PGP keys." +msgstr "" + +#: data/seahorse.schemas.in.h:2 +#, fuzzy +msgid "Controls the visibility of the expires column for the key manager." +msgstr "Kontrollet nga për." + +#: data/seahorse.schemas.in.h:3 +#, fuzzy +msgid "Controls the visibility of the length column for the key manager." +msgstr "Kontrollet nga për." + +#: data/seahorse.schemas.in.h:4 +#, fuzzy +msgid "Controls the visibility of the trust column for the key manager." +msgstr "Kontrollet nga për." + +#: data/seahorse.schemas.in.h:5 +#, fuzzy +msgid "Controls the visibility of the type column for the key manager." +msgstr "Kontrollet nga lloji për." + +#: data/seahorse.schemas.in.h:6 +#, fuzzy +msgid "Controls the visibility of the validity column for the key manager." +msgstr "Kontrollet nga për." + +#: data/seahorse.schemas.in.h:7 +msgid "Expire passwords in the cache" +msgstr "" + +#: data/seahorse.schemas.in.h:8 +msgid "How often to show progress during listing" +msgstr "" + +#: data/seahorse.schemas.in.h:9 +#, fuzzy +msgid "ID of the default key" +msgstr "nga prezgjedhur" + +#: data/seahorse.schemas.in.h:10 +#, fuzzy +msgid "" +"If set to true, then all output from pgp operations will be ASCII text. " +"Files will have a '.asc' extension." +msgstr "veprimet ASCII tekst Files a." + +#: data/seahorse.schemas.in.h:11 +#, fuzzy +msgid "" +"If set to true, then output from certain pgp operations will be in canonical " +"text mode. Text mode is generally only needed for RFC 2015 signatures. RFC " +"3156 removes the need for text mode." +msgstr "" +"veprimet në tekst modaliteti Teksti modaliteti është për për tekst " +"modaliteti." + +#: data/seahorse.schemas.in.h:12 +#, fuzzy +msgid "" +"If set to true, then the default key will always be added to an encryption " +"recipients list." +msgstr "prezgjedhur gjithmonë lista." + +#: data/seahorse.schemas.in.h:13 +msgid "Last keyserver search pattern" +msgstr "" + +#: data/seahorse.schemas.in.h:14 +msgid "Last keyserver used" +msgstr "" + +#: data/seahorse.schemas.in.h:15 +#, fuzzy +msgid "PGP Key servers" +msgstr "Preferimet e PGP" + +#: data/seahorse.schemas.in.h:16 +msgid "Prompt before using GPG passwords in cache" +msgstr "" + +#: data/seahorse.schemas.in.h:17 +msgid "" +"Set to 'true' to have seahorse-agent prompt before giving out passwords it " +"has cached." +msgstr "" + +#: data/seahorse.schemas.in.h:18 +#, fuzzy +msgid "Show expires column in key manager" +msgstr "Shfaq në" + +#: data/seahorse.schemas.in.h:19 +#, fuzzy +msgid "Show length column in key manager" +msgstr "Shfaq në" + +#: data/seahorse.schemas.in.h:20 +#, fuzzy +msgid "Show trust column in key manager" +msgstr "Shfaq në" + +#: data/seahorse.schemas.in.h:21 +#, fuzzy +msgid "Show type column in key manager" +msgstr "Shfaq lloji në" + +#: data/seahorse.schemas.in.h:22 +#, fuzzy +msgid "Show validity column in key manager" +msgstr "Shfaq në" + +#: data/seahorse.schemas.in.h:23 +msgid "" +"Specify the column to sort the recipients window by. Columns are: 'name', " +"'id' and 'validity', Put a '-' in front of the column name to sort in " +"descending order." +msgstr "" + +#: data/seahorse.schemas.in.h:24 +msgid "" +"Specify the column to sort the seahorse key manager main window by. Columns " +"are: 'name', 'id', 'validity', 'expires', 'trust', 'length' and 'type'. Put " +"a '-' in front of the column name to sort in descending order." +msgstr "" + +#: data/seahorse.schemas.in.h:25 +msgid "The column to sort the recipients by" +msgstr "" + +#: data/seahorse.schemas.in.h:26 +msgid "The column to sort the seahorse keys by" +msgstr "" + +#: data/seahorse.schemas.in.h:27 +msgid "" +"The last keyserver a search was performed against. Or empty for all " +"keyservers." +msgstr "" + +#: data/seahorse.schemas.in.h:28 +msgid "The last search pattern searched for against a keyserver." +msgstr "" + +#: data/seahorse.schemas.in.h:29 +msgid "The time (in minutes) to cache GPG passwords" +msgstr "" + +#: data/seahorse.schemas.in.h:30 +msgid "" +"This is the amount of time, specified in minutes, to cache GPG passwords in " +"seahorse-agent." +msgstr "" + +#: data/seahorse.schemas.in.h:31 +msgid "" +"This option enables the GPG password cache in the seahorse-agent daemon." +msgstr "" + +#: data/seahorse.schemas.in.h:32 +#, fuzzy +msgid "" +"This specifies how often the progress signal is emitted during a listing " +"operation. By default, the signal is emitted for every 20 keys processed. A " +"value of -1 will cause the signal to never be emitted." +msgstr "është a prezgjedhur është për A nga asnjëherë." + +#: data/seahorse.schemas.in.h:33 +#, fuzzy +msgid "" +"This specifies the default key to use for certain operations, mainly signing." +msgstr "prezgjedhur për veprimet." + +#: data/seahorse.schemas.in.h:34 +msgid "" +"When set seahorse-agent expires GPG passwords in it's cache after a peried " +"of time." +msgstr "" + +#: data/seahorse.schemas.in.h:35 +msgid "Whether the GPG password cache is enabled" +msgstr "" + +#: data/seahorse.schemas.in.h:36 +#, fuzzy +msgid "Whether to always encrypt to default key" +msgstr "gjithmonë prezgjedhur" + +#: data/seahorse.schemas.in.h:37 +#, fuzzy +msgid "Whether to use ASCII Armor" +msgstr "ASCII" + +#: data/seahorse.schemas.in.h:38 +#, fuzzy +msgid "Whether to use canonical text mode" +msgstr "tekst modaliteti" + +#. Make the column +#: libseahorse/seahorse-key-store.c:750 src/seahorse-key-properties.c:380 +#: src/seahorse-key-properties.c:474 +#, fuzzy +msgid "Name" +msgstr "Emri" + +#. Make the column +#: libseahorse/seahorse-key-store.c:753 src/seahorse-key-properties.c:377 +#, fuzzy +msgid "Key ID" +msgstr "Kyçi" + +#: libseahorse/seahorse-ldap-source.c:651 +#, c-format +msgid "Searching for keys containing '%s'..." +msgstr "" + +#. TODO: We can update a percentage when there's more than one key +#: libseahorse/seahorse-ldap-source.c:825 +msgid "Retrieving remote keys..." +msgstr "" + +#. TODO: We can update a percentage when there's more than one key +#: libseahorse/seahorse-ldap-source.c:950 +#, fuzzy +msgid "Sending keys to key server..." +msgstr "Eksporto a server" + +#: libseahorse/seahorse-passphrase.c:61 +#, fuzzy, c-format +msgid "Bad passphrase! Try again for '%s'" +msgstr "për" + +#: libseahorse/seahorse-passphrase.c:63 +#, fuzzy, c-format +msgid "Enter new passphrase for '%s'" +msgstr "Shto për" + +#: libseahorse/seahorse-passphrase.c:65 +#, fuzzy, c-format +msgid "Enter passphrase for '%s'" +msgstr "Shto për" + +#: libseahorse/seahorse-passphrase.glade.h:1 +#: libseahorse/seahorse-recipients.glade.h:1 src/seahorse-add-uid.glade.h:1 +#: src/seahorse-change-passphrase.glade.h:1 +#: src/seahorse-generate-adv.glade.h:1 src/seahorse-generate-druid.glade.h:1 +#: src/seahorse-keyserver-search.glade.h:1 +#: src/seahorse-multi-encrypt.glade.h:1 src/seahorse-revoke.glade.h:1 +#, fuzzy +msgid "*" +msgstr "*" + +#: libseahorse/seahorse-passphrase.glade.h:2 +#, fuzzy +msgid "Enter Passphrase" +msgstr "Shto" + +#: libseahorse/seahorse-passphrase.glade.h:3 +#, fuzzy +msgid "Passphrase for key" +msgstr "për" + +#: libseahorse/seahorse-prefs-cache.c:352 +msgid "Couldn't open the Session Properties" +msgstr "" + +#: libseahorse/seahorse-prefs-cache.c:365 +msgid "Couldn't start the 'seahorse-agent' program" +msgstr "" + +#: libseahorse/seahorse-prefs-cache.c:367 +msgid "The 'seahorse-agent' program exited unsucessfully." +msgstr "" + +#: libseahorse/seahorse-prefs-cache.c:415 +msgid "Another password caching agent is running. Disabling cache preferences." +msgstr "" + +#: libseahorse/seahorse-prefs.c:36 +#, fuzzy +msgid "[Add a key server here]" +msgstr "asnjëherë" + +#: libseahorse/seahorse-prefs.c:190 +msgid "URL" +msgstr "" + +#: libseahorse/seahorse-prefs.c:315 +msgid "_Ascii Armor" +msgstr "" + +#: libseahorse/seahorse-prefs.c:317 +#, fuzzy +msgid "_Text Mode" +msgstr "Teksti Modaliteti" + +#: libseahorse/seahorse-prefs.c:319 +#, fuzzy +msgid "_Encrypt to Self" +msgstr "Kriptimi Vetë" + +#: libseahorse/seahorse-prefs.glade.h:1 +msgid " minutes" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:2 +msgid "" +"Note: The 'seahorse-agent' program was started. This program is " +"necessary in order for caching of passwords. " +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:3 +msgid "" +"Warning: The 'seahorse-agent' program is not running. This program is " +"necessary in order for caching of passwords. " +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:4 +msgid "Cache _GPG passwords in memory" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:5 +#, fuzzy +msgid "Encryption Settings" +msgstr "Kriptimi And Sinj." + +#: libseahorse/seahorse-prefs.glade.h:6 +#, fuzzy +msgid "Key Servers" +msgstr "Kyçi Asnjëherë" + +#: libseahorse/seahorse-prefs.glade.h:7 +#, fuzzy +msgid "Key Servers:" +msgstr "Kyçi Asnjëherë" + +#: libseahorse/seahorse-prefs.glade.h:8 +#: plugins/nautilus/seahorse-pgp-preferences.c:48 +#: plugins/nautilus/seahorse-pgp-preferences.desktop.in.h:2 +#, fuzzy +msgid "PGP Preferences" +msgstr "Preferimet e PGP" + +#: libseahorse/seahorse-prefs.glade.h:9 +msgid "Password Cache" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:10 +#, fuzzy +msgid "Session Properties" +msgstr "Pronësitë e %s" + +#: libseahorse/seahorse-prefs.glade.h:11 +msgid "Start seahorse-agent" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:12 +msgid "You can add it to your Startup Programs in: " +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:13 +msgid "_Ask me before using a cached password" +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:14 +#, fuzzy +msgid "_Default Key:" +msgstr "E prezgjedhur Kyçi:" + +#: libseahorse/seahorse-prefs.glade.h:15 +msgid "_Expire passwords from memory after " +msgstr "" + +#: libseahorse/seahorse-prefs.glade.h:16 +msgid "_Use default key to sign" +msgstr "" + +#. TODO: We can use the GPGME progress to make this more accurate +#: libseahorse/seahorse-pgp-source.c:524 +#, fuzzy, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "i ri" +msgstr[1] "i ri" + +#: libseahorse/seahorse-pgp-source.c:588 +msgid "Loading Keys..." +msgstr "" + +#: libseahorse/seahorse-recipients-store.c:153 +#: src/seahorse-key-manager-store.c:285 +msgid "Validity" +msgstr "" + +#: libseahorse/seahorse-recipients.c:54 +#, fuzzy, c-format +msgid "Selected %d recipient" +msgid_plural "Selected %d recipients" +msgstr[0] "Elemino" +msgstr[1] "Elemino" + +#: libseahorse/seahorse-recipients.c:58 +#, fuzzy, c-format +msgid "Selected %d not fully valid recipient" +msgid_plural "Selected %d not fully valid recipients" +msgstr[0] "I zgjedhur nuk dhe" +msgstr[1] "I zgjedhur nuk dhe" + +#. TRANSLATOR: This string will become +#. * "Selected %d recipients (%d not fully valid)" +#: libseahorse/seahorse-recipients.c:66 +#, fuzzy, c-format +msgid "Selected %d recipient " +msgid_plural "Selected %d recipients " +msgstr[0] "Elemino" +msgstr[1] "Elemino" + +#. TRANSLATOR: This string will become +#. * "Selected %d recipients (%d not fully valid)" +#: libseahorse/seahorse-recipients.c:71 +#, fuzzy, c-format +msgid "(%d not fully valid)" +msgid_plural "(%d not fully valid)" +msgstr[0] "I zgjedhur nuk dhe" +msgstr[1] "I zgjedhur nuk dhe" + +#. TRANSLATOR: "%s%s" are "Selected %d recipients (%d not fully valid)" +#. * Swap order with "%2$s%1$s" if needed +#. TRANSLATOR: "%s%s" are "You have selected %d files and %d folders" +#. * Swap order with "%2$s%1$s" if needed +#: libseahorse/seahorse-recipients.c:76 src/seahorse-process-multiple.c:58 +#, c-format +msgid "%s%s" +msgstr "" + +#: libseahorse/seahorse-recipients.glade.h:2 +msgid "" +"All Keys\n" +"Selected Keys\n" +"Search Results" +msgstr "" + +#: libseahorse/seahorse-recipients.glade.h:5 +#, fuzzy +msgid "Choose Keys" +msgstr "Çelësat" + +#: libseahorse/seahorse-recipients.glade.h:6 +msgid "Search _for: " +msgstr "" + +#: libseahorse/seahorse-signatures.c:49 +#, fuzzy +msgid "[Unknown Key]" +msgstr "Nuk njihet" + +#: libseahorse/seahorse-signatures.c:66 +#, c-format +msgid "%s: Good signature from (expired) '%s' on %s" +msgstr "" + +#: libseahorse/seahorse-signatures.c:70 +#, c-format +msgid "%s: Expired signature from '%s' on %s" +msgstr "" + +#: libseahorse/seahorse-signatures.c:74 +#, c-format +msgid "%s: Good signature from (revoked) '%s' on %s" +msgstr "" + +#: libseahorse/seahorse-signatures.c:78 +#, c-format +msgid "%s: Good signature from '%s' on %s" +msgstr "" + +#: libseahorse/seahorse-signatures.c:82 +#, fuzzy, c-format +msgid "%s: Signing key not in key ring" +msgstr "Duke firmosur nuk në" + +#: libseahorse/seahorse-signatures.c:85 +#, fuzzy, c-format +msgid "%s: Bad signature" +msgstr "Firma" + +#: libseahorse/seahorse-signatures.c:88 +#, fuzzy, c-format +msgid "%s: Not a signature" +msgstr "Not a" + +#: libseahorse/seahorse-signatures.c:91 +#, fuzzy, c-format +msgid "%s: Verification error" +msgstr "Gabim" + +#: libseahorse/seahorse-signatures.glade.h:1 +msgid "Signatures found are listed below: " +msgstr "" + +#: libseahorse/seahorse-signatures.glade.h:2 +#, fuzzy +msgid "Signature Verification" +msgstr "Firma" + +#: libseahorse/seahorse-util.c:127 +#, fuzzy +msgid "%Y-%m-%d" +msgstr "Y m" + +#: libseahorse/seahorse-util.c:701 +msgid "Couldn't run file-roller" +msgstr "" + +#: libseahorse/seahorse-util.c:706 +msgid "The file-roller process did not complete successfully" +msgstr "" + +#: libseahorse/seahorse-util.c:746 +msgid "All PGP key files" +msgstr "" + +#: libseahorse/seahorse-util.c:752 libseahorse/seahorse-util.c:792 +msgid "All files" +msgstr "" + +#: libseahorse/seahorse-util.c:785 +msgid "Archive files" +msgstr "" + +#: libseahorse/seahorse-util.c:814 +msgid "" +"A file already exists with this name.\n" +"\n" +"Do you want to replace it with a new file?" +msgstr "" + +#: libseahorse/seahorse-util.c:817 +msgid "_Replace" +msgstr "" + +#: libseahorse/seahorse-validity.c:31 src/seahorse-key-manager-store.c:148 +#: src/seahorse-key-properties.glade.h:20 +#, fuzzy +msgid "Unknown" +msgstr "Nuk njihet" + +#: libseahorse/seahorse-validity.c:33 src/seahorse-key-properties.glade.h:10 +#, fuzzy +msgid "Never" +msgstr "Asnjëherë" + +#: libseahorse/seahorse-validity.c:35 src/seahorse-key-properties.glade.h:8 +msgid "Marginal" +msgstr "" + +#: libseahorse/seahorse-validity.c:37 src/seahorse-key-properties.glade.h:6 +msgid "Full" +msgstr "" + +#: libseahorse/seahorse-validity.c:39 src/seahorse-key-properties.glade.h:18 +msgid "Ultimate" +msgstr "" + +#: libseahorse/seahorse-validity.c:41 +#, fuzzy +msgid "Disabled" +msgstr "Jo aktiv" + +#: libseahorse/seahorse-validity.c:43 src/seahorse-key-properties.c:204 +#, fuzzy +msgid "Revoked" +msgstr "E tërhequr" + +#: libseahorse/seahorse-widget.c:210 +#, c-format +msgid "Could not display help: %s" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:45 +#, fuzzy +msgid "_Encrypt..." +msgstr "Kriptimi." + +#: plugins/gedit/seahorse-gedit.c:48 +msgid "PGP Encrypt the selected text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:50 +msgid "Decr_ypt/Verify" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:53 +#, fuzzy +msgid "Decrypt and/or Verify PGP text" +msgstr "Dekriptimi dhe Verifikimi i Firmave..." + +#: plugins/gedit/seahorse-gedit.c:55 +#, fuzzy +msgid "Sig_n..." +msgstr "Sinj." + +#: plugins/gedit/seahorse-gedit.c:58 +msgid "PGP Sign the selected text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:220 +msgid "Couldn't encrypt text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:227 +#, fuzzy +msgid "Encrypted text" +msgstr "Kriptimi" + +#: plugins/gedit/seahorse-gedit.c:245 +#, fuzzy +msgid "Couldn't import keys" +msgstr "Importo" + +#: plugins/gedit/seahorse-gedit.c:248 +msgid "Keys found but not imported" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:269 plugins/gedit/seahorse-gedit.c:290 +msgid "Couldn't decrypt text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:353 +#, fuzzy +msgid "No PGP encrypted or signed text is selected." +msgstr "Shifruar dhe është" + +#: plugins/gedit/seahorse-gedit.c:384 +#, fuzzy +msgid "Decrypted text" +msgstr "është" + +#: plugins/gedit/seahorse-gedit.c:391 +msgid "Verified text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:422 +#, c-format +msgid "Block %d" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:437 +#, fuzzy, c-format +msgid "Imported %d key" +msgid_plural "Imported %d keys" +msgstr[0] "Importo" +msgstr[1] "Importo" + +#: plugins/gedit/seahorse-gedit.c:475 plugins/gedit/seahorse-gedit.c:486 +msgid "Couldn't sign text" +msgstr "" + +#: plugins/gedit/seahorse-gedit.c:493 +#, fuzzy +msgid "Signed text" +msgstr "Sinj Kyçi" + +#: plugins/gedit/seahorse-gedit.schemas.in.h:1 +msgid "Enable the seahorse PGP encryption plugin for gedit." +msgstr "" + +#: plugins/gedit/seahorse-gedit.schemas.in.h:2 +msgid "Enable the seahorse gedit plugin" +msgstr "" + +#: plugins/gedit/seahorse-pgp.gedit-plugin.desktop.in.h:1 +#, fuzzy +msgid "PGP Encryption" +msgstr "Kriptimi" + +#: plugins/gedit/seahorse-pgp.gedit-plugin.desktop.in.h:2 +#, fuzzy +msgid "The PGP encrypt plugin performs encryption operations on text." +msgstr "PGP dhe veprimet" + +#: plugins/nautilus/seahorse-pgp-preferences.desktop.in.h:1 +#, fuzzy +msgid "Configure PGP" +msgstr "Konfigurimi i PGP" + +#: src/main.c:48 +#, fuzzy +msgid "Import keys from the file" +msgstr "Importo" + +#: src/main.c:51 +#, fuzzy +msgid "Encrypt file" +msgstr "Kriptimi" + +#: src/main.c:54 +#, fuzzy +msgid "Sign file with default key" +msgstr "Sinj me prezgjedhur" + +#: src/main.c:57 +#, fuzzy +msgid "Encrypt and sign file with default key" +msgstr "Kriptimi dhe me prezgjedhur" + +#: src/main.c:60 +msgid "Decrypt encrypted file" +msgstr "" + +#: src/main.c:63 +#, fuzzy +msgid "Verify signature file" +msgstr "Verifikimi" + +#: src/main.c:66 +msgid "Read list of URIs on standard in" +msgstr "" + +#: src/main.c:146 src/seahorse-key-manager.c:112 +#, fuzzy, c-format +msgid "Couldn't import keys from \"%s\"" +msgstr "a" + +#: src/main.c:154 +#, fuzzy +msgid "Imported key" +msgstr "Importo" + +#: src/main.c:155 +#, c-format +msgid "Imported %d keys" +msgstr "" + +#: src/main.c:193 +#, c-format +msgid "Choose Encrypted File Name for '%s'" +msgstr "" + +#: src/main.c:205 +#, c-format +msgid "Couldn't encrypt \"%s\"" +msgstr "" + +#: src/main.c:258 +#, fuzzy, c-format +msgid "Choose Signature File Name for '%s'" +msgstr "Firma është" + +#: src/main.c:266 +#, c-format +msgid "Couldn't sign \"%s\"" +msgstr "" + +#: src/main.c:298 +#, c-format +msgid "Choose Decrypted File Name for '%s'" +msgstr "" + +#: src/main.c:305 +#, c-format +msgid "Couldn't decrypt \"%s\"" +msgstr "" + +#: src/main.c:357 +#, c-format +msgid "Choose Original File for '%s'" +msgstr "" + +#: src/main.c:385 +#, c-format +msgid "Couldn't verify \"%s\"" +msgstr "" + +#: src/main.c:431 src/seahorse.desktop.in.h:1 +#, fuzzy +msgid "GPG Keys Manager" +msgstr "Administrues i Kyçeve GPG" + +#: src/seahorse-add-subkey.c:110 +msgid "Couldn't add subkey" +msgstr "" + +#: src/seahorse-add-subkey.c:126 +#, fuzzy, c-format +msgid "Add subkey to %s" +msgstr "Shto" + +#: src/seahorse-add-subkey.glade.h:1 src/seahorse-generate-adv.glade.h:5 +msgid "DSA (sign only)" +msgstr "" + +#: src/seahorse-add-subkey.glade.h:2 +msgid "ElGamal (encrypt only)" +msgstr "" + +#. expires +#: src/seahorse-add-subkey.glade.h:3 src/seahorse-generate-adv.glade.h:6 +#: src/seahorse-generate-druid.glade.h:14 src/seahorse-key-properties.c:209 +#, fuzzy +msgid "Expiration Date:" +msgstr "Skadenca Data:" + +#: src/seahorse-add-subkey.glade.h:4 +#, fuzzy +msgid "Generate a new subkey" +msgstr "a i ri" + +#: src/seahorse-add-subkey.glade.h:5 src/seahorse-generate-adv.glade.h:10 +#: src/seahorse-key-properties.c:232 +#, fuzzy +msgid "If key never expires" +msgstr "asnjëherë" + +#: src/seahorse-add-subkey.glade.h:6 src/seahorse-generate-adv.glade.h:12 +#, fuzzy +msgid "Key _Length:" +msgstr "Kyçi Gjatësia:" + +#: src/seahorse-add-subkey.glade.h:7 src/seahorse-generate-adv.glade.h:13 +#, fuzzy +msgid "Key _Type:" +msgstr "Kyçi Lloji:" + +#: src/seahorse-add-subkey.glade.h:8 src/seahorse-generate-adv.glade.h:14 +#, fuzzy +msgid "Key type / algorithm" +msgstr "Kyçi lloji" + +#: src/seahorse-add-subkey.glade.h:9 src/seahorse-generate-adv.glade.h:15 +#, fuzzy +msgid "Length of Key" +msgstr "Gjatësia nga Kyçi" + +#: src/seahorse-add-subkey.glade.h:10 src/seahorse-generate-adv.glade.h:17 +#: src/seahorse-key-properties.c:230 +#, fuzzy +msgid "Never E_xpires" +msgstr "Asnjëherë E" + +#: src/seahorse-add-subkey.glade.h:11 +msgid "RSA (encrypt only)" +msgstr "" + +#: src/seahorse-add-subkey.glade.h:12 src/seahorse-generate-adv.glade.h:21 +msgid "RSA (sign only)" +msgstr "" + +#: src/seahorse-add-uid.c:81 +msgid "Couldn't add user id" +msgstr "" + +#: src/seahorse-add-uid.c:104 +#, fuzzy, c-format +msgid "Add user ID to %s" +msgstr "Shto përdorues" + +#: src/seahorse-add-uid.glade.h:2 +#, fuzzy +msgid "Add User ID" +msgstr "Shto Përdoruesi" + +#: src/seahorse-add-uid.glade.h:3 +#, fuzzy +msgid "Create the new user ID" +msgstr "Krijo i ri përdorues" + +#: src/seahorse-add-uid.glade.h:4 src/seahorse-generate-adv.glade.h:7 +#, fuzzy +msgid "Full _Name:" +msgstr "Emri:" + +#: src/seahorse-add-uid.glade.h:5 src/seahorse-generate-adv.glade.h:11 +#, fuzzy +msgid "Key Co_mment:" +msgstr "Kyçi:" + +#: src/seahorse-add-uid.glade.h:6 src/seahorse-generate-adv.glade.h:16 +msgid "Must be at least 5 characters long" +msgstr "" + +#: src/seahorse-add-uid.glade.h:7 src/seahorse-generate-adv.glade.h:18 +#: src/seahorse-generate-druid.glade.h:23 +#, fuzzy +msgid "Optional comment describing key" +msgstr "Me dëshirë komenti" + +#: src/seahorse-add-uid.glade.h:8 src/seahorse-generate-adv.glade.h:19 +#: src/seahorse-generate-druid.glade.h:24 +#, fuzzy +msgid "Optional email address" +msgstr "Me dëshirë" + +#: src/seahorse-add-uid.glade.h:9 src/seahorse-generate-adv.glade.h:22 +#, fuzzy +msgid "_Email Address:" +msgstr "Adresa _Email:" + +#: src/seahorse-change-passphrase.glade.h:2 +#, fuzzy +msgid "Change Passphrase" +msgstr "Ndrysho" + +#: src/seahorse-change-passphrase.glade.h:3 +#: src/seahorse-generate-adv.glade.h:2 +#, fuzzy +msgid "Con_firm Passphrase:" +msgstr "Con:" + +#: src/seahorse-change-passphrase.glade.h:4 +#, fuzzy +msgid "Confirm new passphrase" +msgstr "Konfermo i ri" + +#: src/seahorse-change-passphrase.glade.h:5 +#, fuzzy +msgid "Enter new passphrase" +msgstr "Shto i ri" + +#: src/seahorse-change-passphrase.glade.h:6 +#, fuzzy +msgid "New _Passphrase:" +msgstr "E re:" + +#: src/seahorse-delete.c:39 +#, fuzzy, c-format +msgid "%s is a key pair! Do you still want to delete it?" +msgstr "është a Bëje elemino?" + +#: src/seahorse-delete.c:70 +#, fuzzy, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "elemino?" + +#: src/seahorse-delete.c:116 +#, fuzzy +msgid "Couldn't delete key" +msgstr "Elemino" + +#: src/seahorse-delete.c:134 +#, fuzzy, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "elemino nga?" + +#: src/seahorse-delete.c:156 +#, fuzzy +msgid "Couldn't delete subkey" +msgstr "Elemino" + +#: src/seahorse-delete.c:174 +#, fuzzy, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "elemino?" + +#: src/seahorse-delete.c:197 +msgid "Couldn't delete user id" +msgstr "" + +#: src/seahorse-generate-adv.c:141 src/seahorse-generate-druid.c:167 +#, fuzzy +msgid "Couldn't generate key" +msgstr "Elemino" + +#: src/seahorse-generate-adv.glade.h:3 +#, fuzzy +msgid "Confirmation of passphrase" +msgstr "Konfermimi nga" + +#: src/seahorse-generate-adv.glade.h:4 +msgid "DSA & ElGamal" +msgstr "" + +#: src/seahorse-generate-adv.glade.h:8 +#, fuzzy +msgid "Generate a Key" +msgstr "a Kyçi" + +#: src/seahorse-generate-adv.glade.h:9 +#, fuzzy +msgid "Generate a new key" +msgstr "a i ri" + +#: src/seahorse-generate-adv.glade.h:20 src/seahorse-generate-druid.glade.h:26 +msgid "Passphrase to secure key" +msgstr "" + +#: src/seahorse-generate-adv.glade.h:23 +msgid "_Generate" +msgstr "" + +#: src/seahorse-generate-adv.glade.h:24 +msgid "_Passphrase:" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:2 +#, fuzzy +msgid "" +"Before selecting apply to start key generation, please make sure all of your " +"previous settings are correct." +msgstr "apliko nisje nga paraardhësja rregullimet." + +#: src/seahorse-generate-druid.glade.h:3 +#, fuzzy +msgid "" +"Choosing a passphrase is an integral part of creating a strong key. Like a " +"password, a passphrase should contain letters, numbers, and punctuation. " +"Additionally, a passphrase can contain spaces, meaning it can contain many " +"words. \n" +"\n" +"You should pick a phrase that is easy to rememeber and contains punctuation. " +"Take this phrase, adjust the case of various letters, and change some of the " +"letters into numbers or punctuation, reminiscent of \"leet speak\", but " +"don't make it so obscure to the point where you can't remember it." +msgstr "a është nga a a password a dhe a Ti a përmban nga dhe nga nga pikë." + +#: src/seahorse-generate-druid.glade.h:6 +#, fuzzy +msgid "Comment:" +msgstr "Komenti:" + +#: src/seahorse-generate-druid.glade.h:7 +#, fuzzy +msgid "Confirm" +msgstr "Konfermo" + +#: src/seahorse-generate-druid.glade.h:8 +#, fuzzy +msgid "Confirm Passphrase:" +msgstr "Konfermo " + +#: src/seahorse-generate-druid.glade.h:9 +#, fuzzy +msgid "Confirm passphrase" +msgstr "Konfermo" + +#: src/seahorse-generate-druid.glade.h:10 +#, fuzzy +msgid "Date the Key Expires" +msgstr "Data Kyçi" + +#: src/seahorse-generate-druid.glade.h:11 +#, fuzzy +msgid "Email Address:" +msgstr "Adresa _Email:" + +#: src/seahorse-generate-druid.glade.h:12 +#, fuzzy +msgid "Enter Name - Must be at least five letters." +msgstr "Shto Emri pesë." + +#: src/seahorse-generate-druid.glade.h:13 src/seahorse-key-manager-store.c:289 +#, fuzzy +msgid "Expiration Date" +msgstr "Skadenca Data" + +#: src/seahorse-generate-druid.glade.h:15 +#, fuzzy +msgid "Extra High Security" +msgstr "Shtesë Siguria" + +#: src/seahorse-generate-druid.glade.h:16 +#, fuzzy +msgid "Full Name:" +msgstr "Emri " + +#: src/seahorse-generate-druid.glade.h:17 +#, fuzzy +msgid "High Security" +msgstr "Siguria" + +#: src/seahorse-generate-druid.glade.h:18 +#, fuzzy +msgid "Key Generation Assistant" +msgstr "Kyçi data" + +#: src/seahorse-generate-druid.glade.h:19 +#, fuzzy +msgid "Key Generation Assistant Complete" +msgstr "Kyçi Robot U plotësua" + +#: src/seahorse-generate-druid.glade.h:20 +#, fuzzy +msgid "" +"Keys must be given an appropriate expiration date. For most people, the " +"default option of \"never expires\" is sufficient. If you only plan on using " +"the key for a certain period of time, i.e. for a specific project, you " +"should pick an expiration date after the projected completion of your " +"project. After the expiration date, your private key will still be able to " +"decrypt messages or data encrypted with your public key. However, your " +"private key will no longer sign messages or data." +msgstr "" +"Çelësat data prezgjedhur nga asnjëherë është në për a pikë nga ora e për a " +"data mbas nga data me jo." + +#: src/seahorse-generate-druid.glade.h:21 +#, fuzzy +msgid "Medium Security" +msgstr "Mesatare Siguria" + +#: src/seahorse-generate-druid.glade.h:22 src/seahorse-key-manager-store.c:192 +#: src/seahorse-key-properties.c:216 +#, fuzzy +msgid "Never Expires" +msgstr "Asnjëherë" + +#: src/seahorse-generate-druid.glade.h:25 +msgid "Passphrase" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:27 +msgid "Passphrase:" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:28 +#, fuzzy +msgid "Personal Information" +msgstr "Informacione personale" + +#: src/seahorse-generate-druid.glade.h:29 +#, fuzzy +msgid "Seahorse Key Generation Assistant" +msgstr "Kyçi Robot" + +#: src/seahorse-generate-druid.glade.h:30 +#, fuzzy +msgid "Security Level" +msgstr "Niveli i Sigurisë" + +#: src/seahorse-generate-druid.glade.h:31 +#, fuzzy +msgid "" +"The Medium Security level is the default and should be acceptable for " +"general everyday usage. \n" +"\n" +"The High Security level should be selected if you know your data will be " +"actively scrutinized. The Extra High level should be selected if you know " +"your data is actively scrutinized and will be under cryptographic attack." +msgstr "" +"Mesatare Siguria niveli është prezgjedhur dhe për Siguria niveli Shtesë " +"niveli është dhe " + +#: src/seahorse-generate-druid.glade.h:34 +#, fuzzy +msgid "" +"This assistant will guide you through the steps of creating a GPG key pair." +msgstr "nga a." + +#: src/seahorse-generate-druid.glade.h:35 +#, fuzzy +msgid "" +"To create a key and tie it to your identity, the following information is " +"needed: Full Name, Email Address, and Comment. \n" +"\n" +"These values will be given to the name of your key in the following " +"manner: \n" +"\n" +"Full Name (Comment) ." +msgstr "" +"Për a dhe identiteti është Emri Email Adresa dhe Komenti emri nga në Emri " +"Komenti." + +#: src/seahorse-generate-druid.glade.h:40 +msgid "druidpage_pass" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:41 +msgid "druidpage_pinfo" +msgstr "" + +#: src/seahorse-generate-druid.glade.h:42 +msgid "keygen_druid" +msgstr "" + +#: src/seahorse-generate-select.glade.h:1 +#, fuzzy +msgid "Advanced" +msgstr "Të detajuara" + +#: src/seahorse-generate-select.glade.h:2 +msgid "Assistant" +msgstr "" + +#: src/seahorse-generate-select.glade.h:3 +msgid "Continue" +msgstr "" + +#: src/seahorse-generate-select.glade.h:4 +#, fuzzy +msgid "Generate Key" +msgstr "a Kyçi" + +#: src/seahorse-generate-select.glade.h:5 +#, fuzzy +msgid "Generate a key via the assistant." +msgstr "a." + +#: src/seahorse-generate-select.glade.h:6 +#, fuzzy +msgid "Generate a key with the advanced dialog." +msgstr "a me dialog." + +#: src/seahorse-generate-select.glade.h:7 +#, fuzzy +msgid "Select a method to generate your new key:" +msgstr "Zgjidh a i ri." + +#: src/seahorse-generate-select.glade.h:8 +msgid "radio_druid" +msgstr "" + +#: src/seahorse-key-manager-store.c:136 +msgid "RSA" +msgstr "" + +#: src/seahorse-key-manager-store.c:138 +msgid "RSA-E" +msgstr "" + +#: src/seahorse-key-manager-store.c:140 +msgid "RSA-S" +msgstr "" + +#: src/seahorse-key-manager-store.c:142 +msgid "ELG-E" +msgstr "" + +#: src/seahorse-key-manager-store.c:144 +msgid "DSA" +msgstr "" + +#: src/seahorse-key-manager-store.c:146 +msgid "ELG" +msgstr "" + +#: src/seahorse-key-manager-store.c:185 src/seahorse-key-properties.c:206 +#, fuzzy +msgid "Expired" +msgstr "Skaduar" + +#: src/seahorse-key-manager-store.c:293 +msgid "Trust" +msgstr "" + +#: src/seahorse-key-manager-store.c:297 +#, fuzzy +msgid "Length" +msgstr "Gjatësia" + +#: src/seahorse-key-manager-store.c:301 +#, fuzzy +msgid "Type" +msgstr "Lloji" + +#: src/seahorse-key-manager.c:101 +#, fuzzy +msgid "Import Key" +msgstr "Kyçi" + +#: src/seahorse-key-manager.c:133 +#, fuzzy +msgid "Couldn't import keys from clipboard" +msgstr "Importo" + +#: src/seahorse-key-manager.c:170 +#, fuzzy +msgid "Couldn't export key to clipboard" +msgstr "Eksporto" + +#: src/seahorse-key-manager.c:200 +#, fuzzy +msgid "Export Key" +msgstr "Eksporto Çelësat" + +#: src/seahorse-key-manager.c:213 src/seahorse-keyserver-results.c:129 +#, c-format +msgid "Couldn't export key to \"%s\"" +msgstr "" + +#: src/seahorse-key-manager.c:230 +msgid "Backup Keyrings to Archive" +msgstr "" + +#: src/seahorse-key-manager.c:399 +#, fuzzy +msgid "translator_credits" +msgstr "Laurent Dhima " + +#: src/seahorse-key-manager.c:419 +msgid "seahorse" +msgstr "" + +#: src/seahorse-key-manager.c:584 +#, c-format +msgid "Couldn't import key from \"%s\"" +msgstr "" + +#: src/seahorse-key-manager.glade.h:1 +msgid "First time options:" +msgstr "" + +#: src/seahorse-key-manager.glade.h:2 +#, fuzzy +msgid "Add P_hoto ID..." +msgstr "Shto P." + +#: src/seahorse-key-manager.glade.h:3 +#, fuzzy +msgid "Add Sub_key..." +msgstr "Shto Nën." + +#: src/seahorse-key-manager.glade.h:4 +#, fuzzy +msgid "Add _Revoker..." +msgstr "Shto." + +#: src/seahorse-key-manager.glade.h:5 +#, fuzzy +msgid "Add _User ID..." +msgstr "Shto Përdoruesi." + +#: src/seahorse-key-manager.glade.h:6 +#, fuzzy +msgid "Add a new subkey" +msgstr "Shto a i ri" + +#: src/seahorse-key-manager.glade.h:7 +#, fuzzy +msgid "Add a new user ID" +msgstr "Shto a i ri përdorues" + +#: src/seahorse-key-manager.glade.h:8 +#, fuzzy +msgid "Add a photo ID" +msgstr "Shto a" + +#: src/seahorse-key-manager.glade.h:9 +#, fuzzy +msgid "Add the default key as a revoker" +msgstr "Shto prezgjedhur a" + +#: src/seahorse-key-manager.glade.h:10 +#, fuzzy +msgid "Backup all keys" +msgstr "Backup (kopje)" + +#: src/seahorse-key-manager.glade.h:11 +#, fuzzy +msgid "Change passphrase of secret key" +msgstr "Ndrysho nga" + +#: src/seahorse-key-manager.glade.h:12 +msgid "Collapse all listings" +msgstr "" + +#: src/seahorse-key-manager.glade.h:13 +#, fuzzy +msgid "Create a new key" +msgstr "Krijo një kyç të ri" + +#: src/seahorse-key-manager.glade.h:14 +#, fuzzy +msgid "Create a revocation certificate" +msgstr "Krijo a" + +#: src/seahorse-key-manager.glade.h:15 +#, fuzzy +msgid "Delete key" +msgstr "Elemino" + +#: src/seahorse-key-manager.glade.h:16 +#, fuzzy +msgid "E_xport" +msgstr "E" + +#: src/seahorse-key-manager.glade.h:17 +#, fuzzy +msgid "E_xport..." +msgstr "E." + +#: src/seahorse-key-manager.glade.h:18 +#, fuzzy +msgid "Expand all listings" +msgstr "Shpalos" + +#: src/seahorse-key-manager.glade.h:19 +#: src/seahorse-keyserver-results.glade.h:2 +#, fuzzy +msgid "Export key" +msgstr "Eksporto" + +#: src/seahorse-key-manager.glade.h:20 +#: src/seahorse-keyserver-results.glade.h:3 +#, fuzzy +msgid "Export public key" +msgstr "Eksporto" + +#: src/seahorse-key-manager.glade.h:21 +msgid "Filter: " +msgstr "" + +#: src/seahorse-key-manager.glade.h:22 +#, fuzzy +msgid "Generate a new key of your own: " +msgstr "a i ri" + +#: src/seahorse-key-manager.glade.h:23 +#, fuzzy +msgid "Import existing keys from a file:" +msgstr "Importo" + +#: src/seahorse-key-manager.glade.h:24 +#, fuzzy +msgid "Import keys" +msgstr "Importo" + +#: src/seahorse-key-manager.glade.h:25 +#: src/seahorse-keyserver-results.glade.h:8 +#, fuzzy +msgid "Seahorse - GPG Key Manager" +msgstr "Kyçi Manazhuesi" + +#: src/seahorse-key-manager.glade.h:26 +#, fuzzy +msgid "Search for keys on a key server" +msgstr "Eksporto a server" + +#: src/seahorse-key-manager.glade.h:27 +#: src/seahorse-keyserver-results.glade.h:9 +#, fuzzy +msgid "Show Seahorse help" +msgstr "Shfaq ndihmë" + +#: src/seahorse-key-manager.glade.h:28 +#: src/seahorse-keyserver-results.glade.h:10 +#, fuzzy +msgid "Show key properties" +msgstr "Shfaq pronësitë" + +#: src/seahorse-key-manager.glade.h:29 +#: src/seahorse-keyserver-results.glade.h:11 +#, fuzzy +msgid "Sign key" +msgstr "Sinj" + +#: src/seahorse-key-manager.glade.h:30 +#, fuzzy +msgid "Sign public key" +msgstr "Sinj" + +#: src/seahorse-key-manager.glade.h:31 +msgid "To get started with encryption you'll need keys." +msgstr "" + +#: src/seahorse-key-manager.glade.h:32 +#, fuzzy +msgid "_Backup Keyrings..." +msgstr "Backup (kopje)." + +#: src/seahorse-key-manager.glade.h:33 +#, fuzzy +msgid "_Change Passphrase..." +msgstr "Ndrysho." + +#: src/seahorse-key-manager.glade.h:34 +#, fuzzy +msgid "_Collapse All" +msgstr "_Ngjishi të gjithë" + +#: src/seahorse-key-manager.glade.h:35 +#: src/seahorse-keyserver-results.glade.h:12 +#, fuzzy +msgid "_Contents" +msgstr "_Përmbajtja" + +#: src/seahorse-key-manager.glade.h:36 +msgid "_Copy" +msgstr "" + +#: src/seahorse-key-manager.glade.h:37 +#: src/seahorse-keyserver-results.glade.h:13 +#, fuzzy +msgid "_Copy Key" +msgstr "Kyçi" + +#: src/seahorse-key-manager.glade.h:38 src/seahorse-key-properties.glade.h:25 +#, fuzzy +msgid "_Delete" +msgstr "_Elemino" + +#: src/seahorse-key-manager.glade.h:39 +#, fuzzy +msgid "_Delete Key" +msgstr "Elemino" + +#: src/seahorse-key-manager.glade.h:40 +#, fuzzy +msgid "_Expand All" +msgstr "Shpalos Gjithçka" + +#: src/seahorse-key-manager.glade.h:41 +msgid "_Find Remote Keys..." +msgstr "" + +#: src/seahorse-key-manager.glade.h:42 +#, fuzzy +msgid "_Generate Revocation Certificate..." +msgstr "Çertifikatë." + +#: src/seahorse-key-manager.glade.h:43 +#: src/seahorse-keyserver-results.glade.h:14 +#, fuzzy +msgid "_Import" +msgstr "_Importo" + +#: src/seahorse-key-manager.glade.h:44 +#, fuzzy +msgid "_Import..." +msgstr "_Importim..." + +#: src/seahorse-key-manager.glade.h:45 +#: src/seahorse-keyserver-results.glade.h:16 +#, fuzzy +msgid "_Key" +msgstr "Kyçi" + +#: src/seahorse-key-manager.glade.h:46 +#, fuzzy +msgid "_New..." +msgstr "_I Ri..." + +#: src/seahorse-key-manager.glade.h:47 +#, fuzzy +msgid "_Paste Key" +msgstr "E prezgjedhur Kyçi:" + +#: src/seahorse-key-manager.glade.h:48 +#: src/seahorse-keyserver-results.glade.h:17 +#, fuzzy +msgid "_Properties" +msgstr "_Pronësitë" + +#: src/seahorse-key-manager.glade.h:49 +msgid "_Remote Search" +msgstr "" + +#: src/seahorse-key-manager.glade.h:50 src/seahorse-key-properties.glade.h:28 +#: src/seahorse-sign.glade.h:17 +#, fuzzy +msgid "_Sign" +msgstr "Sinj" + +#: src/seahorse-key-manager.glade.h:51 +#, fuzzy +msgid "_Sign..." +msgstr "Sinj." + +#. key id +#: src/seahorse-key-properties.c:179 +#, fuzzy +msgid "Key ID:" +msgstr "Kyçi:" + +#: src/seahorse-key-properties.c:179 +#, fuzzy +msgid "Key identifier" +msgstr "Kyçi" + +#. type +#: src/seahorse-key-properties.c:184 +#, fuzzy +msgid "Type:" +msgstr "Lloji:" + +#: src/seahorse-key-properties.c:184 +msgid "Algorithm" +msgstr "" + +#. created +#: src/seahorse-key-properties.c:192 +#, fuzzy +msgid "Created:" +msgstr "Krijuar:" + +#: src/seahorse-key-properties.c:192 +#, fuzzy +msgid "Key creation date" +msgstr "Kyçi data" + +#. length +#: src/seahorse-key-properties.c:196 +#, fuzzy +msgid "Length:" +msgstr "Gjatësia:" + +#. status +#: src/seahorse-key-properties.c:201 +#, fuzzy +msgid "Status:" +msgstr "Gjëndja:" + +#: src/seahorse-key-properties.c:202 +msgid "Good" +msgstr "" + +#: src/seahorse-key-properties.c:266 +#, fuzzy, c-format +msgid "%s Properties" +msgstr "Pronësitë e %s" + +#: src/seahorse-key-properties.c:302 +#, fuzzy +msgid "All Signatures" +msgstr "Shumëfishe Firmat" + +#: src/seahorse-key-properties.c:553 +#, fuzzy +msgid "Couldn't change primary user ID" +msgstr "primar Përdoruesi" + +#: src/seahorse-key-properties.c:626 src/seahorse-key-properties.glade.h:27 +msgid "_Revoke" +msgstr "" + +#: src/seahorse-key-properties.c:630 +#, c-format +msgid "Revoke subkey %d" +msgstr "" + +#: src/seahorse-key-properties.c:639 +#, c-format +msgid "Subkey %d" +msgstr "" + +#: src/seahorse-key-properties.c:651 +#, fuzzy, c-format +msgid "Delete subkey %d" +msgstr "Elemino" + +#: src/seahorse-key-properties.glade.h:1 +#, fuzzy +msgid "All" +msgstr "Gjithçka" + +#: src/seahorse-key-properties.glade.h:2 +#, fuzzy +msgid "Change _Passphrase" +msgstr "Ndrysho" + +#: src/seahorse-key-properties.glade.h:3 +msgid "Dis_abled" +msgstr "" + +#: src/seahorse-key-properties.glade.h:4 +#, fuzzy +msgid "Disabled keys cannot be used for operations" +msgstr "Jo aktiv për veprimet" + +#: src/seahorse-key-properties.glade.h:5 +msgid "Fingerprint:" +msgstr "" + +#: src/seahorse-key-properties.glade.h:7 +#, fuzzy +msgid "Fully trust owner" +msgstr "pronari" + +#: src/seahorse-key-properties.glade.h:9 +#, fuzzy +msgid "Marginally trust owner" +msgstr "pronari" + +#: src/seahorse-key-properties.glade.h:11 +#, fuzzy +msgid "Never trust owner" +msgstr "Asnjëherë pronari" + +#: src/seahorse-key-properties.glade.h:12 +#, fuzzy +msgid "Owner _Trust:" +msgstr "Pronari:" + +#: src/seahorse-key-properties.glade.h:13 +#, fuzzy +msgid "Owner is unknown" +msgstr "Pronari është nuk njihet" + +#: src/seahorse-key-properties.glade.h:14 +#, fuzzy +msgid "Primary ID:" +msgstr "Kyçi primar" + +#: src/seahorse-key-properties.glade.h:15 +#, fuzzy +msgid "Primary Key" +msgstr "Kyçi primar" + +#: src/seahorse-key-properties.glade.h:16 +#, fuzzy +msgid "Signatures" +msgstr "Firmat:" + +#: src/seahorse-key-properties.glade.h:17 +#, fuzzy +msgid "Trust placed in owner's ability to sign keys" +msgstr "në pronari" + +#: src/seahorse-key-properties.glade.h:19 +#, fuzzy +msgid "Unique key identifier" +msgstr "Unique" + +#: src/seahorse-key-properties.glade.h:21 +#, fuzzy +msgid "User IDs" +msgstr "Përdoruesi" + +#: src/seahorse-key-properties.glade.h:22 +#, fuzzy +msgid "User IDs:" +msgstr "Përdoruesi" + +#: src/seahorse-key-properties.glade.h:23 +#, fuzzy +msgid "Your personal key" +msgstr "personale" + +#: src/seahorse-key-properties.glade.h:24 +msgid "_Add" +msgstr "" + +#: src/seahorse-key-properties.glade.h:26 +msgid "_Primary" +msgstr "" + +#: src/seahorse-key-properties.glade.h:29 +#, fuzzy +msgid "_Signatures:" +msgstr "Firmat:" + +#: src/seahorse-keyserver-results.c:87 src/seahorse-keyserver-results.c:156 +#, fuzzy +msgid "Couldn't retrieve key data from key server" +msgstr "a a server" + +#: src/seahorse-keyserver-results.c:100 +#, fuzzy +msgid "Couldn't import keys into keyring" +msgstr "Importo" + +#: src/seahorse-keyserver-results.c:121 +msgid "Save Remote Keys" +msgstr "" + +#: src/seahorse-keyserver-results.c:217 +#, fuzzy, c-format +msgid "Selected %d keys" +msgstr "Elemino" + +#: src/seahorse-keyserver-results.c:301 +#, fuzzy +msgid "Remote Keys" +msgstr "Kyçi" + +#: src/seahorse-keyserver-results.c:303 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "" + +#: src/seahorse-keyserver-results.glade.h:1 +#, fuzzy +msgid "Copy the selected key to the clipboard" +msgstr "Eksporto" + +#: src/seahorse-keyserver-results.glade.h:4 +msgid "Find Remote Keys on Key Servers" +msgstr "" + +#: src/seahorse-keyserver-results.glade.h:5 +msgid "Find Remote Keys..." +msgstr "" + +#: src/seahorse-keyserver-results.glade.h:6 +msgid "Import selected keys to local keyring" +msgstr "" + +#: src/seahorse-keyserver-results.glade.h:7 +#, fuzzy +msgid "Save the key to a file" +msgstr "Eksporto a" + +#: src/seahorse-keyserver-results.glade.h:15 +#, fuzzy +msgid "_Import to Keyring..." +msgstr "_Importim..." + +#. The all key servers option +#: src/seahorse-keyserver-search.c:195 +msgid "All Key Servers" +msgstr "" + +#: src/seahorse-keyserver-search.glade.h:2 +msgid "Find Remote Keys" +msgstr "" + +#: src/seahorse-keyserver-search.glade.h:3 +msgid "Search _for key containing:" +msgstr "" + +#: src/seahorse-keyserver-search.glade.h:4 +msgid "Where to search:" +msgstr "" + +#: src/seahorse-keyserver-search.glade.h:5 +msgid "_Search" +msgstr "" + +#: src/seahorse-multi-encrypt.glade.h:2 +msgid "You have selected multiple files or folders" +msgstr "" + +#: src/seahorse-multi-encrypt.glade.h:3 +msgid "" +"Because the files are located remotely, each file will be encrypted " +"seperately." +msgstr "" + +#: src/seahorse-multi-encrypt.glade.h:4 +#, fuzzy +msgid "Encrypt Multiple Files" +msgstr "Kriptimi është" + +#: src/seahorse-multi-encrypt.glade.h:5 +#, fuzzy +msgid "Encrypt each file seperately" +msgstr "Kriptimi është" + +#: src/seahorse-multi-encrypt.glade.h:6 +msgid "Encrypt packed together in a package" +msgstr "" + +#: src/seahorse-multi-encrypt.glade.h:7 +msgid "Package Name:" +msgstr "" + +#: src/seahorse-multi-encrypt.glade.h:8 +msgid "Packaging:" +msgstr "" + +#: src/seahorse-multi-encrypt.glade.h:9 +msgid "encrypted-package.rar" +msgstr "" + +#: src/seahorse-pgp-encrypted.desktop.in.h:1 +msgid "Decrypt PGP File (Seahorse)" +msgstr "" + +#: src/seahorse-pgp-signature.desktop.in.h:1 +#, fuzzy +msgid "Verify PGP Signature (Seahorse)" +msgstr "Verifikimi" + +#: src/seahorse-preferences.c:49 src/seahorse-preferences.glade.h:3 +#, fuzzy +msgid "Key Manager" +msgstr "Kyçi Manazhuesi" + +#: src/seahorse-preferences.c:54 +#, fuzzy +msgid "Visible Columns:" +msgstr "I dukshëm Kollonat" + +#: src/seahorse-preferences.c:63 +msgid "_Validity" +msgstr "" + +#: src/seahorse-preferences.c:65 src/seahorse-sign.glade.h:13 +msgid "_Expires" +msgstr "" + +#: src/seahorse-preferences.c:67 +msgid "_Trust" +msgstr "" + +#: src/seahorse-preferences.c:69 +#, fuzzy +msgid "_Length" +msgstr "Gjatësia" + +#: src/seahorse-preferences.c:71 +#, fuzzy +msgid "T_ype" +msgstr "T" + +#: src/seahorse-preferences.glade.h:1 +#, fuzzy +msgid "Close Preferences" +msgstr "Mbyll Preferimet" + +#: src/seahorse-preferences.glade.h:2 +#, fuzzy +msgid "Default Key:" +msgstr "E prezgjedhur Kyçi:" + +#: src/seahorse-preferences.glade.h:4 +#, fuzzy +msgid "Preferences Help" +msgstr "Preferimet" + +#: src/seahorse-preferences.glade.h:5 +#, fuzzy +msgid "Seahorse Preferences" +msgstr "Preferimet" + +#: src/seahorse-preferences.glade.h:6 +#, fuzzy +msgid "Visible Columns" +msgstr "I dukshëm Kollonat" + +#. TRANSLATOR: This string will become +#. * "You have selected %d files and %d folders" +#: src/seahorse-process-multiple.c:48 +#, c-format +msgid "You have selected %d file " +msgid_plural "You have selected %d files " +msgstr[0] "" +msgstr[1] "" + +#. TRANSLATOR: This string will become +#. * "You have selected %d files and %d folders" +#: src/seahorse-process-multiple.c:53 +#, c-format +msgid "and %d folder" +msgid_plural "and %d folders" +msgstr[0] "" +msgstr[1] "" + +#. should never be called for just one file +#: src/seahorse-process-multiple.c:66 +#, c-format +msgid "You have selected %d files" +msgstr "" + +#: src/seahorse-process-multiple.c:70 +#, c-format +msgid "You have selected %d folder" +msgid_plural "You have selected %d folders" +msgstr[0] "" +msgstr[1] "" + +#: src/seahorse-revoke.c:52 +msgid "Couldn't revoke subkey" +msgstr "" + +#: src/seahorse-revoke.c:76 +#, fuzzy, c-format +msgid "Revoke Subkey %d of %s" +msgstr "nga" + +#: src/seahorse-revoke.c:78 +#, c-format +msgid "Revoke %s" +msgstr "" + +#: src/seahorse-revoke.c:105 +#, fuzzy, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "Ti informacione shto a për?" + +#: src/seahorse-revoke.c:120 +msgid "Couldn't add revoker" +msgstr "" + +#: src/seahorse-revoke.glade.h:2 +msgid "Compromised" +msgstr "" + +#: src/seahorse-revoke.glade.h:3 +#, fuzzy +msgid "Key has been compromised" +msgstr "Kyçi" + +#: src/seahorse-revoke.glade.h:4 +#, fuzzy +msgid "Key has been superseded" +msgstr "Kyçi" + +#: src/seahorse-revoke.glade.h:5 +#, fuzzy +msgid "Key is no longer used" +msgstr "Kyçi është jo" + +#: src/seahorse-revoke.glade.h:6 +#, fuzzy +msgid "No Reason" +msgstr "Jo" + +#: src/seahorse-revoke.glade.h:7 +#, fuzzy +msgid "No reason for revoking key" +msgstr "Jo për" + +#: src/seahorse-revoke.glade.h:8 +#, fuzzy +msgid "Not Used" +msgstr "Not Në përdorim" + +#: src/seahorse-revoke.glade.h:9 +#, fuzzy +msgid "Optional description of revocation" +msgstr "Me dëshirë përshkrimi nga" + +#: src/seahorse-revoke.glade.h:10 +msgid "Re_voke" +msgstr "" + +#: src/seahorse-revoke.glade.h:11 +#, fuzzy +msgid "Reason for revoking the key" +msgstr "për" + +#: src/seahorse-revoke.glade.h:12 +msgid "Revoke key" +msgstr "" + +#: src/seahorse-revoke.glade.h:13 +msgid "Superseded" +msgstr "" + +#: src/seahorse-revoke.glade.h:14 +#, fuzzy +msgid "_Description:" +msgstr "_Përshkrimi:" + +#: src/seahorse-revoke.glade.h:15 +msgid "_Reason:" +msgstr "" + +#: src/seahorse-sign.c:57 +msgid "Couldn't sign key" +msgstr "" + +#: src/seahorse-sign.c:81 +#, fuzzy, c-format +msgid "Are you sure you want to sign all user IDs for %s?" +msgstr "përdorues për?" + +#: src/seahorse-sign.c:127 +#, fuzzy, c-format +msgid "Are you sure you want to sign the '%s' user ID?" +msgstr "përdorues për?" + +#: src/seahorse-sign.glade.h:1 +msgid "Casually" +msgstr "" + +#: src/seahorse-sign.glade.h:2 +#, fuzzy +msgid "Default answer" +msgstr "E prezgjedhur" + +#: src/seahorse-sign.glade.h:3 +msgid "Have casually checked key" +msgstr "" + +#: src/seahorse-sign.glade.h:4 +msgid "Have checked key very carefully" +msgstr "" + +#: src/seahorse-sign.glade.h:5 +#, fuzzy +msgid "Have not checked key" +msgstr "nuk" + +#: src/seahorse-sign.glade.h:6 +msgid "If signature can be revoked" +msgstr "" + +#: src/seahorse-sign.glade.h:7 +#, fuzzy +msgid "If signature expires with key" +msgstr "me" + +#: src/seahorse-sign.glade.h:8 +#, fuzzy +msgid "" +"If signature is local to the key ring and won't be exported with the key" +msgstr "është lokal dhe me" + +#: src/seahorse-sign.glade.h:9 +#, fuzzy +msgid "No answer" +msgstr "Jo" + +#: src/seahorse-sign.glade.h:10 +#, fuzzy +msgid "Not at all" +msgstr "Not" + +#: src/seahorse-sign.glade.h:11 +#, fuzzy +msgid "Sign Key" +msgstr "Sinj Kyçi" + +#: src/seahorse-sign.glade.h:12 +msgid "Very carefully" +msgstr "" + +#: src/seahorse-sign.glade.h:14 +msgid "_How carefully have you checked this key?" +msgstr "" + +#: src/seahorse-sign.glade.h:15 +#, fuzzy +msgid "_Local" +msgstr "Lokale" + +#: src/seahorse-sign.glade.h:16 +msgid "_Revocable" +msgstr "" + +#: src/seahorse.desktop.in.h:2 +#, fuzzy +msgid "Manage your GPG keys" +msgstr "Organizo kyçet tuaj GPG" + +#, fuzzy +#~ msgid "Loaded %d key pair" +#~ msgid_plural "Loaded %d key pairs" +#~ msgstr[0] "i ri" +#~ msgstr[1] "i ri" + +#, fuzzy +#~ msgid "Loaded %d new key" +#~ msgid_plural "Loaded %d new keys" +#~ msgstr[0] "i ri" +#~ msgstr[1] "i ri" + +#, fuzzy +#~ msgid "Operation complete" +#~ msgstr "Veprimi" + +#, fuzzy +#~ msgid "PGP" +#~ msgstr "PGP" + +#, fuzzy +#~ msgid "Controls the visibility of the key manager's statusbar." +#~ msgstr "Kontrollet nga paneli i gjendjes." + +#, fuzzy +#~ msgid "Controls the visibility of the key manager's toolbar." +#~ msgstr "Kontrollet nga." + +#, fuzzy +#~ msgid "If the statusbar is visible" +#~ msgstr "paneli i gjendjes është i dukshëm" + +#, fuzzy +#~ msgid "If the toolbar is visible" +#~ msgstr "është i dukshëm" + +#, fuzzy +#~ msgid "Style of toolbar buttons and labels" +#~ msgstr "Stili nga dhe" + +#, fuzzy +#~ msgid "" +#~ "The toolbar button and label style. Options are 'default', 'both', " +#~ "'both_horiz', 'icons', and 'text'." +#~ msgstr "dhe etiketa Mundësitë prezgjedhur dhe tekst." + +#, fuzzy +#~ msgid "FILE" +#~ msgstr "FILE" + +#, fuzzy +#~ msgid "Decrypt encrypt file and verify any signatures it contains" +#~ msgstr "dhe çdo përmban" + +#, fuzzy +#~ msgid "Choose a file to export to" +#~ msgstr "a eksporto" + +#, fuzzy +#~ msgid "Export to _Clipboard:" +#~ msgstr "Eksporto Shënime:" + +#, fuzzy +#~ msgid "Export to _File:" +#~ msgstr "Eksporto File:" + +#, fuzzy +#~ msgid "Export to _Server:" +#~ msgstr "Eksporto Serveri:" + +#, fuzzy +#~ msgid "Key server web address" +#~ msgstr "Kyçi server" + +#, fuzzy +#~ msgid "Name of file to export to" +#~ msgstr "Emri nga eksporto" + +#, fuzzy +#~ msgid "Email Address: " +#~ msgstr "Email Adresa " + +#, fuzzy +#~ msgid "Expiration Date: " +#~ msgstr "Skadenca Data " + +#, fuzzy +#~ msgid "Seahorse GPG Key Generation Druid" +#~ msgstr "Kyçi Robot" + +#, fuzzy +#~ msgid "Druid" +#~ msgstr "Robot" + +#, fuzzy +#~ msgid "Method Select" +#~ msgstr "Zgjidh" + +#, fuzzy +#~ msgid "Enter a unique key id" +#~ msgstr "Shto a" + +#, fuzzy +#~ msgid "Import from _Clipboard:" +#~ msgstr "Shënime:" + +#, fuzzy +#~ msgid "Import from _File:" +#~ msgstr "File:" + +#, fuzzy +#~ msgid "Import from _Server:" +#~ msgstr "Serveri:" + +#, fuzzy +#~ msgid "Import keys from selected source" +#~ msgstr "Importo" + +#, fuzzy +#~ msgid "Select File to Import" +#~ msgstr "Zgjidh File" + +#, fuzzy +#~ msgid "Select or enter a key server's web address" +#~ msgstr "Zgjidh shkruaj a server" + +#, fuzzy +#~ msgid "_Key ID:" +#~ msgstr "Kyçi:" + +#, fuzzy +#~ msgid "View statusbar" +#~ msgstr "Paraqitja paneli i gjendjes" + +#, fuzzy +#~ msgid "View toolbar" +#~ msgstr "Paraqitja" + +#, fuzzy +#~ msgid "_Statusbar" +#~ msgstr "_Shtylla e gjëndjes" + +#, fuzzy +#~ msgid "_Toolbar" +#~ msgstr "_Paneli i instrumentëve" + +#, fuzzy +#~ msgid "User ID %d" +#~ msgstr "Përdoruesi" + +#, fuzzy +#~ msgid "User ID" +#~ msgstr "ID e përdoruesit" + +#, fuzzy +#~ msgid "Hashes" +#~ msgstr "Hash" + +#, fuzzy +#~ msgid "Compression" +#~ msgstr "Kompresim" + +#, fuzzy +#~ msgid "Desktop Default" +#~ msgstr "Hapësira e Punës E prezgjedhur" + +#, fuzzy +#~ msgid "Icons Only" +#~ msgstr "Vetëm" + +#, fuzzy +#~ msgid "Only show icons" +#~ msgstr "Vetëm" + +#, fuzzy +#~ msgid "Only show text" +#~ msgstr "Vetëm tekst" + +#, fuzzy +#~ msgid "Show text below icons" +#~ msgstr "Shfaq tekst" + +#, fuzzy +#~ msgid "Show text beside icons" +#~ msgstr "Shfaq tekst" + +#, fuzzy +#~ msgid "Text Below Icons" +#~ msgstr "Tekst poshtë ikonave" + +#, fuzzy +#~ msgid "Text Beside Icons" +#~ msgstr "Teksti" + +#, fuzzy +#~ msgid "Toolbar _Style:" +#~ msgstr "Paneli i instrumentëve Stili:" + +#, fuzzy +#~ msgid "Use system settings" +#~ msgstr "sistemi rregullimet" diff --git a/po/sr.po b/po/sr.po new file mode 100644 index 00000000..c949181e --- /dev/null +++ b/po/sr.po @@ -0,0 +1,3063 @@ +# Serbian translation of seahorse +# Courtesy of Prevod.org team (http://prevod.org/) -- 2003—2017. +# This file is distributed under the same license as the seahorse package. +# Душан Живојнов +# Бранко Кокановић , 2009. +# Милош Поповић , 2010. +# Мирослав Николић , 2011—2017. +# Борисав Живановић , 2017. +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-09-03 20:10+0200\n" +"Last-Translator: Марко М. Костић \n" +"Language-Team: Serbian <(nothing)>\n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Project-Style: gnome\n" +"X-Generator: Poedit 2.4.1\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Додај сервер кључева" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Прилагођено" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Откажи" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Сачувај" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Не могу да обришем" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Не могу да извезем кључеве" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Не могу да извезем податке" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Откажи" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Обриши" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Извези" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Унесите ПИН или лозинку за: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Потврди:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "У _реду" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Лозинка:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Лозинке" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Кључеви" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Уверења" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Поставке" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Ништа: немој објављивати кључеве" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Неисправна адреса сервера кључева." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"За помоћ се обратите вашем администратору система или администратору сервера " +"кључева." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "Адреса" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "почетна привремена ставка" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Врста сервера кључева:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Домаћин:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Назив удаљеног рачунара или адреса сервера." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Прикључник преко кога се може приступити серверу." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Пронађи кључ преко:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Објави кључеве на:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Аутоматски преузми кључеве са сервера _кључева" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Аутоматски усагласи _измењене кључеве са серверима кључева" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Сервери кључева" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Непознато" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Никада" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Површно" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Потпуно" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Безусловнo" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Искључен" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Повучен" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Преглед" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Помоћ" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Отвори изборник" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Направи нову ставку" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Увези ставку из датотеке" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Претрага" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Списак пречица" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Излаз" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Навигација" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Изабери претходни привезак" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Изабери следећи привезак" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Прикажи страничник (на малим екранима)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Прикажи садржај привеска (на малим екранима)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Самостално добављај кључеве" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Да ли треба самостално добављати кључеве са сервера кључева." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Самостално објављуј кључеве" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Да ли треба самостално објављивати промењене кључеве." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Објави кључеве на овај сервер кључева" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Сервер кључева на који треба објављивати ПГП кључеве. Оставити празно за " +"потискивање објављивања ПГП кључева." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Последњи шаблон претраге сервера кључева" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Последњи шаблон претраге који је коришћен за тражење сервера кључева." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Последње коришћени сервери кључева" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Последњи сервер кључева који је тражен или празно за све сервере кључева." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Прикажи страничник са привесцима" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Прикажи страничник са привесцима у Морском коњићу." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Које ставке приказати" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Филтрирање ставки за приказ. Ако је празно, приказаће се све ставке, ако је " +"„personal“ (лично) приказаће се лични кључеви, ако је „trusted“ (проверено) " +"приказаће се проверено кључеви." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Ширина страничника" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Подразумевана ширина страничника." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Изабрани привесци" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "УРИ-ји привезака изабраних у страничнику." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Колона по којој треба ређати кључеве у Морском коњићу" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Наведите колону по којој ће Морски коњић ређати кључеве у главном прозору. " +"Колоне су: “name” (назив), “id” (иб), “validity” (валидност), " +"“expires” (истицање), “trust” (поверење), and “type” (врста). Ставите знак " +"„-“ испред назива колоне за ређање по опадајућем редоследу." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Прикажи колону валидности" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Више није у употреби." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Прикажи колону истицања" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Прикажи колону поверења" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Прикажи колону врсте" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Ширина прозора" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Ширина (у пикселима) прозора." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Висина прозора" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Висина (у пикселима) прозора." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Морски коњић" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Уредите ваше лозинке и кључеве шифровања" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Морски коњић је Гномов програм за управљање кључевима за шифровање." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Са морским коњићем можете да стварате и да управљате ПГП кључевима, да " +"стварате и управљате кључевима безбедне шкољке (SSH), објављујете и " +"довлачите кључеве са сервера кључева, да сместите вашу лозинку тако да не " +"морате стално да је куцате и да направите резерве ваших кључева и привеска " +"кључева." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Гном пројекат" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Лозинке и кључеви" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" +"привезак кључева;шифровање;безбедност;приступ;безбедна шкољка;keyring;" +"encryption;security;sign;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Сачуване личне лозинке, уверења и тајне" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Не могу да откључам" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Не могу да додам ставку" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Лозинка или тајна" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Тајна мрежне везе" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Бежична лозинка" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Лозинка за мрежу" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Лозинка Гномовог Веба" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Лозинка Гугл Хромијума" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Лозинка тренутних порука" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Лозинка ТП налога за " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Лозинка Интернет писмоноше" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Лозинка Гномових налога на мрежи" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Да сачувам измене ове ставке?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Приступите садржају дељеном на мрежи или ресурсима" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Приступите веб страници" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Откључајте ПГП кључ" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Откључајте кључ безбедне шкољке" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Сачувана лозинка или пријава" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Пуномоћства мреже" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Лозинка" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Не могу да променим лозинку." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Не могу да поставим опис." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Грешка при брисању лозинке." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Сачувана белешка" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Лозинка привеска" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Лозинка кључа шифровања" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Лозинка кључа складиштења" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Тајне управника мреже" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Да ли сигурно желите да избришете лозинку „%s“?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Да ли сигурно желите да избришете %d лозинку?" +msgstr[1] "Да ли сигурно желите да избришете %d лозинке?" +msgstr[2] "Да ли сигурно желите да избришете %d лозинки?" +msgstr[3] "Да ли сигурно желите да избришете лозинку?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Не могу да додам привезак" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Непознат датум" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Привезак који бива самостално откључан приликом пријављивања" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Привезак који се користи за чување лозинки" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Не могу да поставим основни привезак кључева" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Не могу да променим лозинку привеска кључева" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Постави као основно" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Измени _лозинку" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Да ли сигурно желите да обришете „%s“ привезак?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Схватам да ће све ставке бити трајно обрисане." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Прикажи/сакриј лозинку" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Додајте лозинку" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Привезак:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Опис:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Лозинка:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Додај" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Додај привезак за кључеве" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Изаберите назив новог привеска. Биће вам затражена лозинка за откључавање." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Назив новог привеска:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Својства ставке" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Опис" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Копирај" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Употреби" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Врста" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Сервер" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Пријави се" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Детаљи" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Обриши лозинку" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Својства привеска" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Назив" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Датум настанка" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Промени лозинку" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Подеси као подразумевани" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Ознаке за приказивање" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Својства приказаног датума и/или времена" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Лењи режим" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Лењи режим не нормализује унесене вредности за датум и време" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Година" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Приказана година" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Месец" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Приказани месец" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Дан" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Приказани дан у месецу" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Сат" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Приказани сат" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Минут" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Приказани минут" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Секунда" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Приказана секунда" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Доња граница године" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Део године доње границе датума" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Горња граница године" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Део године горње границе датума" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Доња граница месеца" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Део месеца доње границе датума" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Горња граница месеца" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Део месеца горње границе датума" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Доња граница дана" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Дан дела месеца доње границе датума" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Горња граница дана" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Дан дела месеца горње границе датума" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Доња граница сата" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Део сата доње границе времена" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Горња граница сата" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Део сата горње границе времена" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Доња граница минута" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Део минута доње границе времена" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Горња граница минута" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Део минута горње границе времена" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Доња граница секунде" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Део секунде доње границе времена" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Горња граница секунде" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Део секунде горње границе времена" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Датум" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Унесите датум директно" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Изабери датум" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Изаберите датум из календара" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Време" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Унесите време директно" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Изабери време" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Изаберите време са списка" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: не" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "ПрП" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "ПоП" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%02d.%02d.%04d." + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Не могу да прикажем помоћ: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Додај подкључ за %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "ДСА (само потпис)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ЕлГамал (само шифровање)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "РСА (само потпис)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "РСА (само шифровање)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "_Врста кључа" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "_Дужина кључа" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Дужина кључа" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Датум истека" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Никада не _истиче" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Ако кључ никад не истиче" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Направите нови подкључ" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Додај ИБ корисника у %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Не могу да додам ИБ корисника" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Додај ИБ корисника" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Име и _презиме" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Мора бити дужине бар 5 знакова" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "Адреса _ел. поште" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Необавезна адреса ел. поште" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Ко_ментар кључа" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Необавезна примедба за опис кључа" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Направи нови ИБ корисника" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Дешифровање није успело. Вероватно немате кључ за дешифровање." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Радња је отказана" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Неисправан датум истека" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Датум истека мора бити у будућности" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Не могу да променим датум истека" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Истиче: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Никад не истиче" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Измени" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Вишеструки кључеви" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Подаци кључа" + +# bug: plural-forms +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Оклопљени ПГП кључеви" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "ПГП кључеви" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "РСА" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "ДСА Елгамал" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Не могу да створим ПГП кључ" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Лозинка за нови ПГП кључ" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Двапут унесите лозинку за нови кључ." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Приликом стварања кључа морамо да произведемо много\n" +"насумичних података и потребна нам је ваша помоћ.\n" +"Пожељно је да обављате неке друге радње као што је\n" +"куцање на тастатури, померање миша, коришћење програма.\n" +"То ће систему обезебедити потребне насумичне податке." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Стварам кључ" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Назив мора бити дугачак барем 5 знакова." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Нови ПГП кључ" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"ПГП кључ вам омогућава да шифрујете ел. пошту или датотеке које шаљете " +"другим људима." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Напредне опције кључа" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Коментар" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_Врста шифровања" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Јачина кључа (битова)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Датум _истека" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Ника_да не истиче" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "_Направи" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Направите нови кључ" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Да ли сигурно желите трајно да уклоните %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Да ли сигурно желите трајно да обришете %d кључ?" +msgstr[1] "Да ли сигурно желите трајно да обришете %d кључа?" +msgstr[2] "Да ли сигурно желите трајно да обришете %d кључева?" +msgstr[3] "Да ли сигурно желите трајно да обришете један кључ?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Погрешна лозинка" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Ово је трећи пут да сте унели погрешну лозинку. Покушајте поново." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Погрешна лозинка." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Унесите нову лозинку за „%s“" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Унесите лозинку за „%s“" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Унесите нову лозинку" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Унесите лозинку" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Лозинка" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Учитао сам %d кључ" +msgstr[1] "Учитао сам %d кључа" +msgstr[2] "Учитао сам %d кључева" +msgstr[3] "Учитао сам један кључ" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Неисправни подаци кључа (недостају ЈИД-ови). Ово се може десити ако је датум " +"на рачунару подешен унапред или ако недостаје самопотпис." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "ГнуПГ кључеви" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "ГнуПГ: основни директоријум привеска" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Фотографија је превише велика\n" +"Препоручена величина фотографије на вашем кључу је %d × %d тачака." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Немој мењати величину" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Промени величину" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Ова датотека није слика, или је непрепозната врста слике. Покушајте да " +"користите ЈПЕГ слику." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Све слике" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Све ЈПЕГ датотеке" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Све датотеке" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Изаберите слику за придодавање кључу" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Отвори" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Не могу да припремим фотографију" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Не могу да додам слику" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Не могу да учитам датотеку. Могуће да је у неодговарајућем формату" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Да ли сигурно желите да уклоните тренутну слику из вашег кључа?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Не могу да избришем слику" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Не могу да опзовем подкључ" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Опозови: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Нема разлога" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Нема разлога за опозивање кључа" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Компромитован" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Кључ је компромитован" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Превазиђен" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Кључ је превазиђен" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Није коришћен" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Кључ није више у употреби" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Управо ћете додати %s као повлачење за %s. Ова операција се не може " +"опозвати! Да ли сигурно желите да наставите?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Не могу да додам опозивача" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Схватам да ће овај кључ тајне бити трајно обрисан." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Овај кључ је већ потписао\n" +"„%s“" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Не могу да потпишем кључ" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Нема кључева употребљивих за потписивање" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Немате личних ПГП кључева који би се могли искористити да укажу на ваше " +"поверење овом кључу." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Потпишите кључ" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Потписивањем указујете ваше поверење да овај кључ припада:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Назив кључа" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Колико сте пажљиво проверили овај кључ?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "Н_ипошто" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "Н_еформално" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Врло пажљиво" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Нипошто: значи да верујете да кључ поседује особа која тврди да јој " +"припада, али не можете или нисте проверили да је ово истина." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Неформално: значи да сте урадили неформалну проверу да кључ поседује " +"особа која тврди да је њен. На пример, можете да очитате отисак кључа " +"власнику, преко телефона." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Врло пажљиво: Изаберите ово једино ако сте у потпуности сигурни да је " +"овај кључ оригиналан." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Можете употребити одређивање идентитета фотографијом која се тешко " +"фалсификује (као што је пасош)\n" +"да бисте лично проверили да ли је име на кључу тачно. Такође би требало да " +"искористите ел. пошту да проверите да ли адреса ел. поште припада власнику." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Како ће други видети овај потпис:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Други не могу видети овај потпис" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Могу _опозвати овај потпис касније." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Потпиши кључ као:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Потписник:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Потпиши" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Непознат" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ЕлГамал" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Претрага није била довољно одређена. Сервер „%s“ је пронашао превише кључева." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Не могу да се повежем са сервером „%s“: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "ХТТП сервер кључева" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Не могу да увезем кључ: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Увоз кључа је успешан" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Увези" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Не могу да увезем кључ" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Удаљени кључеви" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Удаљени кључеви који садрже „%s“" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Није успела претрага за кључевима." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Кликните два пута на кључ да бисте га испитали или кликните на дугме за увоз " +"да бисте увезли кључ на локални привезак." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Пронађите удаљене кључеве" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Ова опција ће пронаћи кључеве за друге на Интернету. Ове кључеве можете " +"затим да увезете у ваш привезак кључева." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Тражи кључеве који садрже: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Где тражити:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Сервери кључева:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Дељени кључеви у близини:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Потражи" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Не могу да објавим кључеве на сервер" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Не могу да преузмем кључеве са сервера: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d кључ је изабран за усаглашавање" +msgstr[1] "%d кључа су изабрана за усаглашавање" +msgstr[2] "%d кључева је изабрано за усаглашавање" +msgstr[3] "Један кључ је изабран за усаглашавање" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Усаглашавам кључеве…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Усагласите кључеве" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Ова опција ће објавити кључеве у ваш привезак, тако да ће бити доступни " +"другима на коришћење. Такође, добићете измене које су направили други од " +"када сте примили њихове кључеве." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Ова опција ће преузети све измене које су други направили од када сте " +"примили њихове кључеве. Ниједан сервер кључева није изабран за објављивање, " +"тако да ваши кључеви неће бити доступни другима." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Сервери _кључева" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Усагласи" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Не могу да се повежем са „%s“: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Повезујем се на: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Не могу да разрешим адресу: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Разрешавам адресу сервера: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "ЛДАП сервер кључева" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "ПГП кључеви" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "ПГП кључеви се користе за шифровање ел. поште и датотека" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(и %d друга ставка)" +msgstr[1] "(и %d друге ставке)" +msgstr[2] "(и %d других ставки)" +msgstr[3] "(и једна друга ставка)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Лични ПГП кључ" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "ПГП кључ" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Не могу да променим ИБ основног корисника" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Сигурно желите трајно да уклоните ИБ корисника „%s“?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Не могу да уклоним ИБ корисника" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Непознато]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Име/Ел. пошта" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "ИБ потписа" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Не могу да променим примарну слику" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Грешка при промени лозинке" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(непознато)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Овај кључ је истекао: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — јавни кључ" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — приватни кључ" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Да ли сигурно желите да трајно уклоните подкључ %d од %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Не могу да обришем подкључ" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Не могу да променим поверење" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Не могу да извезем кључ" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Никада" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ИБ" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Употреба" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Направљен" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Истиче" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Стање" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Јачина" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Повучен" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Истекао" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Искључен" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Добар" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "ИБ кључа" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Верујем потписима са „%s“ на другим кључевима" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Ако верујете да је „%s“ особа која поседује овај кључ, потпишите кључ:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Ако више не верујете да „%s“ поседује овај кључ, опозовите ваш потпис:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "_Извези тајни кључ" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "И_звези јавни кључ" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Овај кључ је опозван" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Власник кључа је опозвао кључ. Не може се више користити." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Овај кључ је истекао" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Додајте фотографију овом кључу" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Уклони ову слику из овог кључа" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Постави ову слику за главну слику" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Идите на претходну слику" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Идите на следећу слику" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Коментар" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Промени _лозинку" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Власник" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Називи кључева и потписи" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Примарно" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Потпиши" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Избриши" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Додај назив" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Опозови" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Називи и потписи" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "ИБ кључа:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Врста:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Јачина:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Технички детаљи" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Отисак" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Направљен:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Истиче:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Датуми" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Премости _поверење власника:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "Изв_ези у датотеку" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Радње" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Истиче" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Подкључеви" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Површно" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Потпуно" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Безусловнo" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Остали називи:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Ваше поверење за овај кључ" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Ваше поверење је ручно наведено у језичку Детаљи." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Потпиши овај кључ" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Опозови потпис" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Људи који су потписали овај кључ:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "Приказуј _само потписе људи којима верујем" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Поверење" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Технички детаљи:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Отисак:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Датуми:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Укажи на поверење:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "_Верујете власнику:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Шифруј" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Провери" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Потврди идентитет" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Кључ" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Подкључ %d од %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Разлог за повлачење кључа" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Разлог:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Необавезан опис за повлачење" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Опозови кључ" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "_Опозови" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Немате личних ПГП кључева који се могу искористити за потписивање документа " +"или поруке." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Одаберите кључ за потписивање" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "Потпиши поруку _кључем:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Извозим податке" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Преузимам податке" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Увозим податке" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Шаљем податке" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Недоступно" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Уверење" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Уверења (ДЕР шифрована)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Лично уверење и кључ" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Лично уверење" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Да ли сигурно желите трајно да обришете %d уверење?" +msgstr[1] "Да ли сигурно желите трајно да обришете %d уверења?" +msgstr[2] "Да ли сигурно желите трајно да обришете %d уверења?" +msgstr[3] "Да ли сигурно желите трајно да обришете једно уверење?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Не могу да створим лични кључ" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Схватам да ће овај кључ бити трајно обрисан." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Неименовани лични кључ" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Приватни кључ" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Неиманован" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Нисам успео да извезем уверење" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Не могу да обришем" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Направи" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Не могу да направим захтев уверења" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Сачувај захтев уверења" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Сачувај" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Захтев уверења" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "ПЕМ шифровани захтев" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Не могу да сачувам захтев уверења" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Непознато" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Икс.509 уверења и одговарајући кључеви" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Нови приватни кључ" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Направите нови лични кључ" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Натпис:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Сачуван:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "_Врста кључа:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Јачина кључа (битова):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Обришите ово уверење или кључ" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Извезите у уверење" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Захтевај уверење" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Направи датотеку захтева уверења за овај кључ" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Направите датотеку зхтева уверења." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Општи назив (ЦН) постављен у захтеву уверења." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Назив (ЦН):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Доприносиоци:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Издање овог програма" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Данило Шеган \n" +"Горан Ракић \n" +"Душан Живојнов \n" +"Бранко Кокановић \n" +"Мирослав Николић \n" +"Борисав Живановић \n" +"Марко М. Костић \n" +"\n" +"https://гном.срб — превод Гнома на српски језик" + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Страница пројекта Морског коњића" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Подаци који ће бити увезени" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Увези" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Увоз није успео" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Увезите кључ" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Све датотеке кључева" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Убачени текст" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Текст из оставе" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Не могу да откључам привезак" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Промените лозинку" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Нова _лозинка:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Потврдите нову лозинку" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "По_тврди лозинку:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Нађи удаљене кључеве…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "У_склади и објави кључеве…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Поставке" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "По_моћ" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "Пречице на _тастатури" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_О Лозинкама и кључевима" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Филтрирај ставке:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Прикажи личн_е" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Прикажи по_верљиве" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Прикажи било ко_ји" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Кључ безбедне шкољке (SSH)" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Користи се за повезивање на друге рачунаре" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "ГПГ кључ" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Користи се за шифровање ел. поште и датотека" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Привезак за лозинке" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Користи се за чување лозинки програма и мреже" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Безбедно чува лозинке или тајне" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Користи се за захтевање уверења" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Увези из датотеке…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Додајте нови кључ или ставку" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Назад" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Потражи кључ или лозинку" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Филтер" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Изгледа да је ова збирка празна" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Привезак је закључан" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Откључај" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Копирај тајну" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Извези…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Својства" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Подеси кључ безбедне шкољке (SSH)…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Закључај" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Откључај" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Својства" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Не могу да закључам" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Безбедна шкољка" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Кључеви коришћени за безбедно повезивање на друге рачунаре" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Да ли сигурно желите трајно да избришете кључ безбедне шкољке „%s“?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Да ли сигурно желите трајно да избришете %u кључ безбедне шкољке?" +msgstr[1] "Да ли сигурно желите трајно да избришете %u кључ безбедне шкољке?" +msgstr[2] "" +"Да ли сигурно желите трајно да избришете %u кључева безбедне шкољке?" +msgstr[3] "Да ли сигурно желите трајно да избришете %u кључ безбедне шкољке?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Тајни кључеви безбедне шкољке (SSH)" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Јавни кључеви безбедне шкољке (SSH)" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Кључ безбедне шкољке (SSH)" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Ниједан јавни кључ није доступан за овај кључ." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Не могу да учитам новостворени кључ безбедне шкољке" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Не могу да направим кључ безбедне шкољке" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Стварам кључ безбедне шкољке" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 бита" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 бита" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Није позната врста кључа!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Није позната врста" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Не могу да преименујем кључ." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Не могу да променим овлашћење за овај кључ." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Не могу да променим лозинку за кључ." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Грешка при брисању ССХ кључа." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Лични кључ безбедне шкољке (SSH)" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Кључ безбедне шкољке (SSH)" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Нечитљив кључ безбедне шкољке)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Кључ безбедне шкољке" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Лозинка удаљеног рачунара" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Унесите лозинку кључа" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Лозинка за нови кључ безбедне шкољке" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Увозим кључ: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Увозим кључ. Унесите лозинку" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Унесите вашу лозинку за безбедну шкољку:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Стара лозинка кључа" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Унесите стару лозинку за: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Нова лозинка кључа" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Унесите нову лозинку за: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Поново унесите нову лозинку: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Нови кључ безбедне шкољке" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Кључ безбедне шкољке (SSH) вам омогућава да се безбедно повежете на друге " +"рачунаре." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Опис" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Адреса ваше ел. поште или подсетник за који је овај кључ." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "ДСА" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ЕЦДСА" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ЕД25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Ако постоји рачунар са којим желите да користите овај кључ, можете да " +"подесите тај рачунар да препознаје ваш нови кључ." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Само направи кључ" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Направи и подеси" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Особине ССХ кључа" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Назив" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Алгоритам" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Дужина кључа" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Место" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Јавни кључ" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Копирај јавни кључ у оставу" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Удаљени приступ" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Дозвољава удаљени приступ овом рачунару" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Извези" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "О_бриши ССХ кључ" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Подесите рачунар за везу безбедне шкољке (SSH)" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Да бисте користили кључ безбедне шкољке (SSH) на другом рачунару који " +"користи исту, морате већ на њему имати пријавни налог." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Адреса сервера:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "нпр.: fileserver.example.com:прикључник" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Име пријављивања:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Подешавње" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Кључеви отворене безбедне шкољке (OpenSSH)" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "Отворена безбедна шкољка (OpenSSH): %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Ниједан приватни кључ није доступан за овај кључ." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Не могу да подесим кључеве безбедне шкољке на удаљеном рачунару." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Подешавам кључеве безбедне шкољке…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Морски коњић је Гномов програм за управљање кључевима шифровања. Такође " +#~ "се сједињује са наутилусом, вилењаковом бележницом и другим местима за " +#~ "радње шифровања." + +#~ msgid "Keyring is unlocked" +#~ msgstr "Привезак је закључан" + +#~ msgid "Lock" +#~ msgstr "Закључај" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Не могу да додам подкључ" + +#~ msgid "_Combine all keyrings" +#~ msgstr "Споји све привес_ке" + +#~ msgid "Encryption _Type:" +#~ msgstr "_Врста шифровања:" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "OK" +#~ msgstr "У реду" + +#~ msgid "Full _Name:" +#~ msgstr "Име и _презиме:" + +#~ msgid "_Email Address:" +#~ msgstr "Адреса _ел. поште:" + +#~ msgid "_File" +#~ msgstr "_Датотека" + +#~ msgid "_Edit" +#~ msgstr "_Уређивање" + +#~ msgid "Delete selected items" +#~ msgstr "Обришите изабране ставке" + +#~ msgid "Show the properties of this item" +#~ msgstr "Прикажите особине ове ставке" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Прикажите особине овог привеска" + +#~ msgid "Prefere_nces" +#~ msgstr "Пос_тавке" + +#~ msgid "Change preferences for this program" +#~ msgstr "Измените подешавања програма" + +#~ msgid "_View" +#~ msgstr "_Преглед" + +#~ msgid "_About" +#~ msgstr "_О програму" + +#~ msgid "About this program" +#~ msgstr "О овом програму" + +#~ msgid "_Contents" +#~ msgstr "_Садржај" + +#~ msgid "Show Seahorse help" +#~ msgstr "Прикажи помоћ Морског коњића" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%d.%m.%Y." + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Нови привезак за лозинке" + +#~ msgid "New password…" +#~ msgstr "Нова лозинка…" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "Програми углавном складиште нове лозинке у основном привеску." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Измените лозинку привеска кључева складишта лозинки" + +#~ msgid "_Show Password" +#~ msgstr "Прикажи ло_зинку" + +#~ msgid "Name:" +#~ msgstr "Назив:" + +#~ msgid "Keyring" +#~ msgstr "Привезак кључева" + +#~ msgid "- System Settings" +#~ msgstr "— Подешавања система" + +#~ msgid "Don't display a window" +#~ msgstr "Не приказуј прозор" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Достављач претраге још није учитан" + +#~ msgid "PGP Key" +#~ msgstr "ПГП кључ" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Увозим кључеве са сервера кључева" + +#~ msgid "_Remote" +#~ msgstr "_Удаљено" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Ставља изабране кључеве на локални привезак" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Објавите и/или усагласите ваше кључеве са онима на мрежи." + +#~ msgid "Marginal" +#~ msgstr "Површно" + +#~ msgid "Full" +#~ msgstr "Потпуно" + +#~ msgid "Ultimate" +#~ msgstr "Највеће" + +#~ msgid "Photo " +#~ msgstr "Фотографија " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Назив:" + +#~ msgid "Email:" +#~ msgstr "Е-пошта:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Дешифрујте примљене датотеке и е-пошту." + +#~ msgid "Private PGP Key" +#~ msgstr "Приватни ПГП кључ" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Шифруј датотеку и пошаљи власнику кључа" + +#~ msgid "Continue" +#~ msgstr "Настави" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Изаберите врсту ставке коју желите да направите:" + +#~ msgid "_New" +#~ msgstr "_Нови" + +#~ msgid "Close this program" +#~ msgstr "Затворите овај програм" + +#~ msgid "_New…" +#~ msgstr "_Нови…" + +#~ msgid "_Import…" +#~ msgstr "_Увези…" + +#~ msgid "Import from the clipboard" +#~ msgstr "Увези из оставе" + +#~ msgid "By _Keyring" +#~ msgstr "Према _привеску" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Прикажите само личне кључеве, уверења и лозинке" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Прикажите само поверљиве кључеве, уверења и лозинке" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Прикажите све кључеве, уверења и лозинке" + +#~ msgid "First time options:" +#~ msgstr "Опције првог пута:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Самостално направите нови кључ: " + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Увезите постојеће кључеве из датотеке:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Да започнете са шифровањем биће вам потребни кључеви." + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Пошаљите јавни кључ безбедне шкољке на другу машину, и омогућите " +#~ "пријављивања коришћењем тог кључа." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Користи се за приступ другим рачунарима (нпр: преко терминала)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Назив:" + +#~ msgid "Identifier:" +#~ msgstr "Одредник:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "Власник овог кључа је _овлашћен да се повеже на овај рачунар" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Ово једино важи за %s налог." + +#~ msgid "Key length:" +#~ msgstr "Дужина кључа:" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "Наредба безбедне шкољке је неочекивано прекинута." + +#~ msgid "The SSH command failed." +#~ msgstr "Наредба безбедне шкољке није успела да се изврши." + +#~ msgid "E_xport..." +#~ msgstr "_Извези..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Пронађи удаљене кључеве..." + +#~ msgid "_New..." +#~ msgstr "_Нови..." + +#~ msgid "_Import..." +#~ msgstr "_Увези..." diff --git a/po/sr@latin.po b/po/sr@latin.po new file mode 100644 index 00000000..f51e7ed3 --- /dev/null +++ b/po/sr@latin.po @@ -0,0 +1,2714 @@ +# Serbian translation of seahorse +# Courtesy of Prevod.org team (http://prevod.org/) -- 2003—2017. +# This file is distributed under the same license as the seahorse package. +# Dušan Živojnov +# Branko Kokanović , 2009. +# Miloš Popović , 2010. +# Miroslav Nikolić , 2011—2017. +# Borisav Živanović , 2017. +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" +"product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2018-03-10 22:20+0000\n" +"PO-Revision-Date: 2018-03-10 23:19+0100\n" +"Last-Translator: Miloš Popović \n" +"Language-Team: Serbian <(nothing)>\n" +"Language: sr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Project-Style: gnome\n" +"X-Generator: Poedit 2.0.6\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Dodaj server ključeva" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Proizvoljno" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 +msgid "Cancel" +msgstr "Otkaži" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Sačuvaj" + +#: common/catalog.vala:259 +msgid "Contributions:" +msgstr "Doprinosioci:" + +#: common/catalog.vala:285 data/seahorse.desktop.in.in:3 +#: src/seahorse-key-manager.c:658 +msgid "Passwords and Keys" +msgstr "Lozinke i ključevi" + +#: common/catalog.vala:287 +msgid "translator-credits" +msgstr "" +"Danilo Šegan \n" +"Goran Rakić \n" +"Dušan Živojnov \n" +"Branko Kokanović \n" +"Miroslav Nikolić \n" +"Borisav Živanović \n" +"Marko M. Kostić \n" +"\n" +"http://prevod.org — prevod na srpski jezik" + +#: common/catalog.vala:290 +msgid "Seahorse Project Homepage" +msgstr "Stranica projekta Morskog konjića" + +#: common/catalog.vala:308 +msgid "Cannot delete" +msgstr "Ne mogu da obrišem" + +#: common/catalog.vala:331 common/key-manager-store.vala:427 +msgid "Couldn’t export keys" +msgstr "Ne mogu da izvezem ključeve" + +#: common/catalog.vala:342 +msgid "Couldn’t export data" +msgstr "Ne mogu da izvezem podatke" + +#: common/catalog.vala:358 libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Ne mogu da prikažem pomoć: %s" + +#. Top menu items +#: common/catalog.vala:364 +msgid "_File" +msgstr "_Datoteka" + +#: common/catalog.vala:365 +msgid "E_xport…" +msgstr "_Izvezi…" + +#: common/catalog.vala:366 +msgid "Export to a file" +msgstr "Izvezite u datoteku" + +#: common/catalog.vala:367 +msgid "_Edit" +msgstr "_Uređivanje" + +#: common/catalog.vala:368 +msgid "_Copy" +msgstr "_Kopiraj" + +#: common/catalog.vala:369 +msgid "Copy to the clipboard" +msgstr "Umnožite u ostavu" + +#. Translators: This text refers to deleting an item from its type's backing store +#: common/catalog.vala:371 common/delete-dialog.vala:91 +#: pkcs11/pkcs11-properties.vala:201 src/seahorse-sidebar.c:954 +msgid "_Delete" +msgstr "_Obriši" + +#: common/catalog.vala:372 +msgid "Delete selected items" +msgstr "Obrišite izabrane stavke" + +#: common/catalog.vala:373 common/catalog.vala:375 src/seahorse-sidebar.c:965 +msgid "_Properties" +msgstr "_Svojstva" + +#: common/catalog.vala:374 +msgid "Show the properties of this item" +msgstr "Prikažite osobine ove stavke" + +#: common/catalog.vala:376 +msgid "Show the properties of this keyring" +msgstr "Prikažite osobine ovog priveska" + +#: common/catalog.vala:377 +msgid "Prefere_nces" +msgstr "Pos_tavke" + +#: common/catalog.vala:378 +msgid "Change preferences for this program" +msgstr "Izmenite podešavanja programa" + +#: common/catalog.vala:379 +msgid "_View" +msgstr "_Pregled" + +#: common/catalog.vala:380 +msgid "_Help" +msgstr "Po_moć" + +#: common/catalog.vala:381 +msgid "_About" +msgstr "_O programu" + +#: common/catalog.vala:382 +msgid "About this program" +msgstr "O ovom programu" + +#: common/catalog.vala:383 +msgid "_Contents" +msgstr "_Sadržaj" + +#: common/catalog.vala:384 +msgid "Show Seahorse help" +msgstr "Prikaži pomoć Morskog konjića" + +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 +msgid "_Cancel" +msgstr "_Otkaži" + +#: common/exportable.vala:192 pgp/seahorse-pgp-private-key-properties.ui:1427 +msgid "Export" +msgstr "Izvezi" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Potvrdi:" + +#: common/passphrase-prompt.vala:121 +msgid "_OK" +msgstr "U _redu" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Lozinka:" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Postavke" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Ništa: nemoj objavljivati ključeve" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Neispravna adresa servera ključeva." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Za pomoć se obratite vašem administratoru sistema ili administratoru servera " +"ključeva." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "Adresa" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "početna privremena stavka" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Vrsta servera ključeva:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Domaćin:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:50 +#: ssh/seahorse-ssh-upload.ui:117 +msgid "The host name or address of the server." +msgstr "Naziv udaljenog računara ili adresa servera." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Priključnik preko koga se može pristupiti serveru." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Pronađi ključ preko:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Objavi ključeve na:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Automatski preuzmi ključeve sa servera _ključeva" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Automatski usaglasi _izmenjene ključeve sa serverima ključeva" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Serveri ključeva" + +#. TRANSLATORS: this date (Year-month-day) is used to display +#. * when something happened, e.g. when a key was created. Feel +#. * free to put it in the correct order for your language. +#. +#: common/util.vala:63 +msgid "%Y-%m-%d" +msgstr "%d.%m.%Y." + +#: common/validity.vala:38 pgp/seahorse-pgp-key-properties.c:1250 +#: pgp/seahorse-pgp-private-key-properties.ui:12 +#: pgp/seahorse-pgp-public-key-properties.ui:12 +msgctxt "Validity" +msgid "Unknown" +msgstr "Nepoznato" + +#: common/validity.vala:40 pgp/seahorse-pgp-key-properties.c:1256 +#: pgp/seahorse-pgp-private-key-properties.ui:15 +#: pgp/seahorse-pgp-public-key-properties.ui:15 +msgctxt "Validity" +msgid "Never" +msgstr "Nikada" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:18 +msgctxt "Validity" +msgid "Marginal" +msgstr "Površno" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:21 +msgctxt "Validity" +msgid "Full" +msgstr "Potpuno" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:24 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Bezuslovno" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Isključen" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Povučen" + +#: data/seahorse.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Morski konjić" + +#: data/seahorse.appdata.xml.in:7 data/seahorse.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Uredite vaše lozinke i ključeve šifrovanja" + +#: data/seahorse.appdata.xml.in:9 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"Morski konjić je Gnomov program za upravljanje ključevima šifrovanja. Takođe se " +"sjedinjuje sa nautilusom, vilenjakovom beležnicom i drugim mestima za radnje " +"šifrovanja." + +#: data/seahorse.appdata.xml.in:13 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Sa morskim konjićem možete da stvarate i da upravljate PGP ključevima, da " +"stvarate i upravljate ključevima bezbedne školjke, objavljujete i dovlačite " +"ključeve sa servera ključeva, da smestite vašu lozinku tako da ne morate " +"stalno da je kucate i da napravite rezerve vaših ključeva i priveska ključeva." + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/seahorse.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "privezak ključeva;šifrovanje;bezbednost;pristup;bezbedna školjka;" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/seahorse.desktop.in.in:11 +msgid "seahorse" +msgstr "seahorse" + +#: gkr/gkr-backend.vala:43 +msgid "Passwords" +msgstr "Lozinke" + +#: gkr/gkr-backend.vala:47 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Sačuvane lične lozinke, uverenja i tajne" + +#: gkr/gkr-backend.vala:255 +msgid "New password keyring" +msgstr "Novi privezak za lozinke" + +#: gkr/gkr-backend.vala:256 gkr/gkr-backend.vala:263 +msgid "Used to store application and network passwords" +msgstr "Koristi se za čuvanje lozinki programa i mreže" + +#: gkr/gkr-backend.vala:257 +msgid "New password…" +msgstr "Nova lozinka…" + +#: gkr/gkr-backend.vala:258 gkr/gkr-backend.vala:265 +msgid "Safely store a password or secret." +msgstr "Bezbedno čuva lozinke ili tajne." + +#: gkr/gkr-backend.vala:262 +msgid "Password Keyring" +msgstr "Privezak za lozinke" + +#: gkr/gkr-backend.vala:264 +msgid "Stored Password" +msgstr "Sačuvane lozinke" + +#: gkr/gkr-item-add.vala:24 +msgid "Add Password" +msgstr "Dodajte lozinku" + +#: gkr/gkr-item-add.vala:101 +msgid "Couldn’t add item" +msgstr "Ne mogu da dodam stavku" + +#: gkr/gkr-item-properties.vala:102 +msgid "Save changes for this item?" +msgstr "Da sačuvam izmene ove stavke?" + +#: gkr/gkr-item-properties.vala:120 +msgid "Access a network share or resource" +msgstr "Pristupite sadržaju deljenom na mreži ili resursima" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a website" +msgstr "Pristupite veb stranici" + +#: gkr/gkr-item-properties.vala:126 +msgid "Unlocks a PGP key" +msgstr "Otključajte PGP ključ" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a Secure Shell key" +msgstr "Otključajte ključ bezbedne školjke" + +#: gkr/gkr-item-properties.vala:132 +msgid "Saved password or login" +msgstr "Sačuvana lozinka ili prijava" + +#: gkr/gkr-item-properties.vala:145 +msgid "Network Credentials" +msgstr "Punomoćstva mreže" + +#: gkr/gkr-item-properties.vala:150 gkr/seahorse-gkr-item-properties.ui:68 +msgid "Password" +msgstr "Lozinka" + +#: gkr/gkr-item-properties.vala:206 +msgid "Couldn’t change password." +msgstr "Ne mogu da promenim lozinku." + +#: gkr/gkr-item-properties.vala:230 +msgid "Couldn’t set description." +msgstr "Ne mogu da postavim opis." + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "Lozinka TP naloga za " + +#: gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "Lozinka ili tajna" + +#: gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "Lozinka za mrežu" + +#: gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "Sačuvana beleška" + +#: gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "Lozinka priveska" + +#: gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "Lozinka ključa šifrovanja" + +#: gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "Lozinka ključa skladištenja" + +#: gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "Lozinka Gugl Hromijuma" + +#: gkr/gkr-item.vala:451 +msgid "GNOME Online Accounts password" +msgstr "Lozinka Gnomovih naloga na mreži" + +#: gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "Lozinka Internet pismonoše" + +#: gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "Lozinka trenutnih poruka" + +#: gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "Tajne upravnika mreže" + +#: gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Da li sigurno želite da izbrišete lozinku „%s“?" + +#: gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Da li sigurno želite da izbrišete %d lozinku?" +msgstr[1] "Da li sigurno želite da izbrišete %d lozinke?" +msgstr[2] "Da li sigurno želite da izbrišete %d lozinki?" +msgstr[3] "Da li sigurno želite da izbrišete lozinku?" + +#: gkr/gkr-keyring-add.vala:25 +msgid "Add Password Keyring" +msgstr "Dodajte privezak za lozinku" + +#: gkr/gkr-keyring-add.vala:55 +msgid "Couldn’t add keyring" +msgstr "Ne mogu da dodam privezak" + +#: gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "Privezak koji biva samostalno otključan prilikom prijavljivanja" + +#: gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "Privezak koji se koristi za čuvanje lozinki" + +#: gkr/gkr-keyring.vala:174 +msgid "Couldn’t set default keyring" +msgstr "Ne mogu da postavim osnovni privezak ključeva" + +#: gkr/gkr-keyring.vala:198 gkr/gkr-keyring.vala:203 +msgid "Couldn’t change keyring password" +msgstr "Ne mogu da promenim lozinku priveska ključeva" + +#: gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "_Postavi kao osnovno" + +#: gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "Programi uglavnom skladište nove lozinke u osnovnom privesku." + +#: gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "Izmeni _lozinku" + +#: gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "Izmenite lozinku priveska ključeva skladišta lozinki" + +#: gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Da li sigurno želite da obrišete „%s“ privezak?" + +#: gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "Shvatam da će sve stavke biti trajno obrisane." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Prikaži/sakrij lozinku" + +#: gkr/seahorse-add-keyring.ui:17 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Izaberite naziv novog priveska. Biće vam zatražena lozinka za otključavanje." + +#: gkr/seahorse-add-keyring.ui:34 +msgid "New Keyring Name:" +msgstr "Naziv novog priveska:" + +#: gkr/seahorse-gkr-add-item.ui:20 gkr/seahorse-gkr-item-properties.ui:41 +#: pgp/seahorse-revoke.ui:55 ssh/seahorse-ssh-generate.ui:124 +msgid "_Description:" +msgstr "_Opis:" + +#: gkr/seahorse-gkr-add-item.ui:49 +msgid "_Password:" +msgstr "_Lozinka:" + +#: gkr/seahorse-gkr-add-item.ui:60 +msgid "_Show Password" +msgstr "Prikaži lo_zinku" + +#: gkr/seahorse-gkr-add-item.ui:93 +msgid "_Keyring:" +msgstr "_Privezak:" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:92 +#: pgp/seahorse-pgp-private-key-properties.ui:553 +#: pgp/seahorse-pgp-public-key-properties.ui:442 +msgid "Use:" +msgstr "Upotreba:" + +#: gkr/seahorse-gkr-item-properties.ui:118 +#: pgp/seahorse-pgp-private-key-properties.ui:567 +#: pgp/seahorse-pgp-private-key-properties.ui:1106 +#: pgp/seahorse-pgp-public-key-properties.ui:557 +#: pgp/seahorse-pgp-public-key-properties.ui:1223 +#: ssh/seahorse-ssh-key-properties.ui:75 +msgid "Type:" +msgstr "Vrsta:" + +#: gkr/seahorse-gkr-item-properties.ui:143 +msgid "Server:" +msgstr "Server:" + +#: gkr/seahorse-gkr-item-properties.ui:167 +msgid "Login:" +msgstr "Prijava:" + +#: gkr/seahorse-gkr-item-properties.ui:206 pgp/seahorse-pgp-subkey.c:402 +#: ssh/seahorse-ssh-key-properties.ui:239 +msgid "Key" +msgstr "Ključ" + +#: gkr/seahorse-gkr-item-properties.ui:256 +#: pgp/seahorse-pgp-public-key-properties.ui:1151 +#: ssh/seahorse-ssh-key-properties.ui:408 +msgid "Technical Details:" +msgstr "Tehnički detalji:" + +#: gkr/seahorse-gkr-item-properties.ui:276 +#: pgp/seahorse-pgp-private-key-properties.ui:1722 +#: pgp/seahorse-pgp-public-key-properties.ui:1611 +#: ssh/seahorse-ssh-key-properties.ui:451 +msgid "Details" +msgstr "Detalji" + +#: gkr/seahorse-gkr-keyring.ui:46 +msgid "Name:" +msgstr "Naziv:" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-keyring.ui:59 +#: pgp/seahorse-pgp-private-key-properties.ui:1233 +#: pgp/seahorse-pgp-public-key-properties.ui:1384 +msgid "Created:" +msgstr "Napravljen:" + +#: gkr/seahorse-gkr-keyring.ui:124 +msgid "Keyring" +msgstr "Privezak ključeva" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Oznake za prikazivanje" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Svojstva prikazanog datuma i/ili vremena" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Lenji režim" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Lenji režim ne normalizuje unesene vrednosti za datum i vreme" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Godina" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Prikazana godina" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Mesec" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Prikazani mesec" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dan" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Prikazani dan u mesecu" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Sat" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Prikazani sat" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minut" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Prikazani minut" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekunda" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Prikazana sekunda" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Donja granica godine" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Deo godine donje granice datuma" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Gornja granica godine" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Deo godine gornje granice datuma" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Donja granica meseca" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Deo meseca donje granice datuma" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Gornja granica meseca" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Deo meseca gornje granice datuma" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Donja granica dana" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Dan dela meseca donje granice datuma" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Gornja granica dana" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Dan dela meseca gornje granice datuma" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Donja granica sata" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Deo sata donje granice vremena" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Gornja granica sata" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Deo sata gornje granice vremena" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Donja granica minuta" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Deo minuta donje granice vremena" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Gornja granica minuta" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Deo minuta gornje granice vremena" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Donja granica sekunde" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Deo sekunde donje granice vremena" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Gornja granica sekunde" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Deo sekunde gornje granice vremena" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Datum" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Unesite datum direktno" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Izaberi datum" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Izaberite datum iz kalendara" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "Vreme" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Unesite vreme direktno" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Izaberi vreme" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Izaberite vreme sa spiska" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: ne" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1259 +#: libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "PrP" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1260 +#: libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "PoP" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%02d.%02d.%04d." + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-application.c:94 +msgid "Version of this application" +msgstr "Izdanje ovog programa" + +#: libseahorse/seahorse-application.c:100 +#: libseahorse/seahorse-application.c:144 +msgid "- System Settings" +msgstr "— Podešavanja sistema" + +#: libseahorse/seahorse-application.c:140 +msgid "Don't display a window" +msgstr "Ne prikazuj prozor" + +#: libseahorse/seahorse-interaction.c:97 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Unesite PIN ili lozinku za: %s" + +#: libseahorse/seahorse-search-provider.c:183 +msgid "The search provider is not loaded yet" +msgstr "Dostavljač pretrage još nije učitan" + +#: pgp/seahorse-add-subkey.ui:31 +msgid "Never E_xpires" +msgstr "Nikada ne _ističe" + +#: pgp/seahorse-add-subkey.ui:35 +msgid "If key never expires" +msgstr "Ako ključ nikad ne ističe" + +#: pgp/seahorse-add-subkey.ui:65 pkcs11/seahorse-pkcs11-generate.ui:149 +msgid "Key _Type:" +msgstr "_Vrsta ključa:" + +#: pgp/seahorse-add-subkey.ui:78 +msgid "Key _Length:" +msgstr "_Dužina ključa:" + +#: pgp/seahorse-add-subkey.ui:93 +msgid "Expiration Date:" +msgstr "Datum isteka:" + +#: pgp/seahorse-add-subkey.ui:112 +msgid "Length of Key" +msgstr "Dužina ključa" + +#: pgp/seahorse-add-subkey.ui:194 +msgid "Generate a new subkey" +msgstr "Napravite novi podključ" + +#: pgp/seahorse-add-uid.ui:8 +msgid "Add User ID" +msgstr "Dodaj IB korisnika" + +#: pgp/seahorse-add-uid.ui:28 +msgid "Must be at least 5 characters long" +msgstr "Mora biti dužine bar 5 znakova" + +#: pgp/seahorse-add-uid.ui:42 +msgid "Optional email address" +msgstr "Neobavezna adresa el. pošte" + +#: pgp/seahorse-add-uid.ui:58 +msgid "Optional comment describing key" +msgstr "Neobavezna primedba za opis ključa" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-add-uid.ui:73 pgp/seahorse-pgp-generate.ui:191 +msgid "Full _Name:" +msgstr "Ime i _prezime:" + +#: pgp/seahorse-add-uid.ui:86 pgp/seahorse-pgp-generate.ui:204 +msgid "_Email Address:" +msgstr "Adresa _el. pošte:" + +#: pgp/seahorse-add-uid.ui:101 +msgid "Key Co_mment:" +msgstr "Ko_mentar ključa:" + +#: pgp/seahorse-add-uid.ui:162 +msgid "Create the new user ID" +msgstr "Napravi novi IB korisnika" + +#: pgp/seahorse-expires.ui:22 +msgid "_Never expires" +msgstr "_Nikad ne ističe" + +#: pgp/seahorse-expires.ui:80 pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Opozovi ključ" + +#: pgp/seahorse-expires.ui:106 +msgid "C_hange" +msgstr "_Izmeni" + +#: pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn’t add subkey" +msgstr "Ne mogu da dodam podključ" + +#: pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "Dodaj podključ za %s" + +#: pgp/seahorse-gpgme-add-subkey.c:196 pgp/seahorse-gpgme-generate.c:131 +msgid "DSA (sign only)" +msgstr "DSA (samo potpis)" + +#: pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (samo šifrovanje)" + +#: pgp/seahorse-gpgme-add-subkey.c:210 pgp/seahorse-gpgme-generate.c:132 +msgid "RSA (sign only)" +msgstr "RSA (samo potpis)" + +#: pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (samo šifrovanje)" + +#: pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn’t add user id" +msgstr "Ne mogu da dodam IB korisnika" + +#: pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "Dodaj IB korisnika u %s" + +#: pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "Neispravan datum isteka" + +#: pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "Datum isteka mora biti u budućnosti" + +#: pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn’t change expiry date" +msgstr "Ne mogu da promenim datum isteka" + +#: pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "Ističe: %s" + +#: pgp/seahorse-gpgme-exporter.c:81 +msgid "Multiple Keys" +msgstr "Višestruki ključevi" + +#: pgp/seahorse-gpgme-exporter.c:85 +msgid "Key Data" +msgstr "Podaci ključa" + +# bug: plural-forms +#: pgp/seahorse-gpgme-exporter.c:113 +msgid "Armored PGP keys" +msgstr "Oklopljeni PGP ključevi" + +#: pgp/seahorse-gpgme-exporter.c:117 +msgid "PGP keys" +msgstr "PGP ključevi" + +#: pgp/seahorse-gpgme-generate.c:92 +msgid "PGP Key" +msgstr "PGP ključ" + +#: pgp/seahorse-gpgme-generate.c:93 +msgid "Used to encrypt email and files" +msgstr "Koristi se za šifrovanje el. pošte i datoteka" + +#: pgp/seahorse-gpgme-generate.c:129 pkcs11/seahorse-pkcs11-generate.c:90 +#: ssh/seahorse-ssh-generate.ui:246 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate.c:130 +msgid "DSA ElGamal" +msgstr "DSA Elgamal" + +#: pgp/seahorse-gpgme-generate.c:179 +msgid "Couldn’t generate PGP key" +msgstr "Ne mogu da stvorim PGP ključ" + +#: pgp/seahorse-gpgme-generate.c:212 +msgid "Passphrase for New PGP Key" +msgstr "Lozinka za novi PGP ključ" + +#: pgp/seahorse-gpgme-generate.c:213 +msgid "Enter the passphrase for your new key twice." +msgstr "Dvaput unesite lozinku za novi ključ." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate.c:225 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Prilikom stvaranja ključa moramo da proizvedemo mnogo\n" +"nasumičnih podataka i potrebna nam je vaša pomoć.\n" +"Poželjno je da obavljate neke druge radnje kao što je\n" +"kucanje na tastaturi, pomeranje miša, korišćenje programa.\n" +"To će sistemu obezebediti potrebne nasumične podatke." + +#: pgp/seahorse-gpgme-generate.c:230 pkcs11/seahorse-pkcs11-generate.c:458 +msgid "Generating key" +msgstr "Stvaram ključ" + +#: pgp/seahorse-gpgme-key-deleter.c:77 pgp/seahorse-gpgme-secret-deleter.c:76 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Da li sigurno želite trajno da uklonite %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Da li sigurno želite trajno da obrišete %d ključ?" +msgstr[1] "Da li sigurno želite trajno da obrišete %d ključa?" +msgstr[2] "Da li sigurno želite trajno da obrišete %d ključeva?" +msgstr[3] "Da li sigurno želite trajno da obrišete jedan ključ?" + +#: pgp/seahorse-gpgme-key-op.c:378 +msgid "Wrong password" +msgstr "Pogrešna lozinka" + +#: pgp/seahorse-gpgme-key-op.c:378 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Ovo je treći put da ste uneli pogrešnu lozinku. Pokušajte ponovo." + +#: pgp/seahorse-gpgme-keyring.c:88 +#, c-format +msgid "Wrong passphrase." +msgstr "Pogrešna lozinka." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Unesite novu lozinku za „%s“" + +#: pgp/seahorse-gpgme-keyring.c:94 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Unesite lozinku za „%s“" + +#: pgp/seahorse-gpgme-keyring.c:97 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Unesite novu lozinku" + +#: pgp/seahorse-gpgme-keyring.c:99 +msgid "Enter passphrase" +msgstr "Unesite lozinku" + +#: pgp/seahorse-gpgme-keyring.c:104 +msgid "Passphrase" +msgstr "Lozinka" + +#: pgp/seahorse-gpgme-keyring.c:305 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Učitao sam %d ključ" +msgstr[1] "Učitao sam %d ključa" +msgstr[2] "Učitao sam %d ključeva" +msgstr[3] "Učitao sam jedan ključ" + +#: pgp/seahorse-gpgme-keyring.c:652 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Neispravni podaci ključa (nedostaju JID-ovi). Ovo se može desiti ako je datum " +"na računaru podešen unapred ili ako nedostaje samopotpis." + +#: pgp/seahorse-gpgme-keyring.c:805 +msgid "GnuPG keys" +msgstr "GnuPG ključevi" + +#: pgp/seahorse-gpgme-keyring.c:816 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: osnovni direktorijum priveska" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Fotografija je previše velika\n" +"Preporučena veličina fotografije na vašem ključu je %d × %d tačaka." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Nemoj menjati veličinu" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Promeni veličinu" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Ova datoteka nije slika, ili je neprepoznata vrsta slike. Pokušajte da " +"koristite JPEG sliku." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Sve slike" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Sve JPEG datoteke" + +#: pgp/seahorse-gpgme-photos.c:241 src/seahorse-key-manager.c:286 +msgid "All files" +msgstr "Sve datoteke" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Izaberite sliku za pridodavanje ključu" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Ne mogu da pripremim fotografiju" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Ne mogu da dodam sliku" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Ne mogu da učitam datoteku. Moguće da je u neodgovarajućem formatu" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Da li sigurno želite da uklonite trenutnu sliku iz vašeg ključa?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Ne mogu da izbrišem sliku" + +#: pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn’t revoke subkey" +msgstr "Ne mogu da opzovem podključ" + +#: pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "Opozovi: %s" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "Nema razloga" + +#: pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "Nema razloga za opozivanje ključa" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "Kompromitovan" + +#: pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "Ključ je kompromitovan" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "Prevaziđen" + +#: pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "Ključ je prevaziđen" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "Nije korišćen" + +#: pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "Ključ nije više u upotrebi" + +#: pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Upravo ćete dodati %s kao povlačenje za %s. Ova operacija se ne može " +"opozvati! Da li sigurno želite da nastavite?" + +#: pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn’t add revoker" +msgstr "Ne mogu da dodam opozivača" + +#: pgp/seahorse-gpgme-secret-deleter.c:81 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Shvatam da će ovaj ključ tajne biti trajno obrisan." + +#: pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Ovaj ključ je već potpisao\n" +"„%s“" + +#: pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn’t sign key" +msgstr "Ne mogu da potpišem ključ" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign.c:163 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Nema ključeva upotrebljivih za potpisivanje" + +#: pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Nemate ličnih PGP ključeva koji bi se mogli iskoristiti da ukažu na vaše " +"poverenje ovom ključu." + +#: pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Nepoznat" + +#: pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Dešifrovanje nije uspelo. Verovatno nemate ključ za dešifrovanje." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:549 +msgid "The operation was cancelled" +msgstr "Radnja je otkazana" + +#: pgp/seahorse-hkp-source.c:567 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Pretraga nije bila dovoljno određena. Server „%s“ je pronašao previše ključeva." + +#: pgp/seahorse-hkp-source.c:570 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Ne mogu da se povežem sa serverom „%s“: %s" + +#: pgp/seahorse-hkp-source.c:1080 +msgid "HTTP Key Server" +msgstr "HTTP server ključeva" + +#: pgp/seahorse-keyserver-results.c:167 +msgid "Couldn’t import keys" +msgstr "Ne mogu da uvezem ključeve" + +#: pgp/seahorse-keyserver-results.c:210 +msgid "Importing keys from key servers" +msgstr "Uvozim ključeve sa servera ključeva" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: pgp/seahorse-keyserver-results.c:236 src/seahorse-key-manager.c:499 +msgid "_Remote" +msgstr "_Udaljeno" + +#: pgp/seahorse-keyserver-results.c:238 +msgid "Close this window" +msgstr "Zatvorite ovaj prozor" + +#: pgp/seahorse-keyserver-results.c:242 pgp/seahorse-pgp-actions.c:112 +msgid "_Find Remote Keys…" +msgstr "_Pronađi udaljene ključeve…" + +#: pgp/seahorse-keyserver-results.c:243 pgp/seahorse-pgp-actions.c:113 +msgid "Search for keys on a key server" +msgstr "Potražite ključeve na serveru ključeva" + +#: pgp/seahorse-keyserver-results.c:247 src/seahorse-key-manager.ui:195 +msgid "_Import" +msgstr "_Uvezi" + +#: pgp/seahorse-keyserver-results.c:248 +msgid "Import selected keys to local key ring" +msgstr "Stavlja izabrane ključeve na lokalni privezak" + +#: pgp/seahorse-keyserver-results.c:279 +msgid "Remote Keys" +msgstr "Udaljeni ključevi" + +#: pgp/seahorse-keyserver-results.c:281 +#, c-format +msgid "Remote Keys Containing “%s”" +msgstr "Udaljeni ključevi koji sadrže „%s“" + +#: pgp/seahorse-keyserver-results.c:484 +msgid "The search for keys failed." +msgstr "Nije uspela pretraga za ključevima." + +#: pgp/seahorse-keyserver-search.ui:12 +msgid "Find Remote Keys" +msgstr "Pronađite udaljene ključeve" + +#: pgp/seahorse-keyserver-search.ui:48 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Ova opcija će pronaći ključeve za druge na Internetu. Ove ključeve možete " +"zatim da uvezete u vaš privezak ključeva." + +#: pgp/seahorse-keyserver-search.ui:72 +msgid "_Search for keys containing: " +msgstr "_Traži ključeve koji sadrže: " + +#: pgp/seahorse-keyserver-search.ui:127 +msgid "Key Servers:" +msgstr "Serveri ključeva:" + +#: pgp/seahorse-keyserver-search.ui:153 +msgid "Shared Keys Near Me:" +msgstr "Deljeni ključevi u blizini:" + +#: pgp/seahorse-keyserver-search.ui:180 +msgid "Where to search:" +msgstr "Gde tražiti:" + +#: pgp/seahorse-keyserver-search.ui:223 +msgid "_Search" +msgstr "_Potraži" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Ne mogu da objavim ključeve na server" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Ne mogu da preuzmem ključeve sa servera: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d ključ je izabran za usaglašavanje" +msgstr[1] "%d ključa su izabrana za usaglašavanje" +msgstr[2] "%d ključeva je izabrano za usaglašavanje" +msgstr[3] "Jedan ključ je izabran za usaglašavanje" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Usaglašavam ključeve…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Usaglasite ključeve" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Ova opcija će objaviti ključeve u vaš privezak, tako da će biti dostupni " +"drugima na korišćenje. Takođe, dobićete izmene koje su napravili drugi od " +"kada ste primili njihove ključeve." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Ova opcija će preuzeti sve izmene koje su drugi napravili od kada ste " +"primili njihove ključeve. Nijedan server ključeva nije izabran za objavljivanje, " +"tako da vaši ključevi neće biti dostupni drugima." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Serveri _ključeva" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Usaglasi" + +#: pgp/seahorse-ldap-source.c:435 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Ne mogu da se povežem sa „%s“: %s" + +#: pgp/seahorse-ldap-source.c:645 +#, c-format +msgid "Connecting to: %s" +msgstr "Povezujem se na: %s" + +#: pgp/seahorse-ldap-source.c:651 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Ne mogu da razrešim adresu: %s" + +#: pgp/seahorse-ldap-source.c:695 +#, c-format +msgid "Resolving server address: %s" +msgstr "Razrešavam adresu servera: %s" + +#: pgp/seahorse-ldap-source.c:1430 +msgid "LDAP Key Server" +msgstr "LDAP server ključeva" + +#: pgp/seahorse-pgp-actions.c:117 +msgid "_Sync and Publish Keys…" +msgstr "_Usaglasi i objavi ključeve…" + +#: pgp/seahorse-pgp-actions.c:118 +msgid "Publish and/or synchronize your keys with those online." +msgstr "Objavite i/ili usaglasite vaše ključeve sa onima na mreži." + +#: pgp/seahorse-pgp-backend.c:192 +msgid "PGP Keys" +msgstr "PGP ključevi" + +#: pgp/seahorse-pgp-backend.c:198 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP ključevi se koriste za šifrovanje el. pošte i datoteka" + +#: pgp/seahorse-pgp-generate.ui:80 +msgid "C_reate" +msgstr "_Napravi" + +#: pgp/seahorse-pgp-generate.ui:87 +msgid "Generate a new key" +msgstr "Napravite novi ključ" + +#: pgp/seahorse-pgp-generate.ui:137 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"PGP ključ vam omogućava da šifrujete el. poštu ili datoteke koje šaljete " +"drugim ljudima." + +#: pgp/seahorse-pgp-generate.ui:254 +msgid "Ne_ver Expires" +msgstr "Nika_da ne ističe" + +#: pgp/seahorse-pgp-generate.ui:354 +msgid "_Comment:" +msgstr "_Napomena:" + +#: pgp/seahorse-pgp-generate.ui:370 ssh/seahorse-ssh-generate.ui:206 +msgid "Encryption _Type:" +msgstr "_Vrsta šifrovanja:" + +#: pgp/seahorse-pgp-generate.ui:385 pkcs11/seahorse-pkcs11-generate.ui:164 +#: ssh/seahorse-ssh-generate.ui:222 +msgid "Key _Strength (bits):" +msgstr "_Jačina ključa (bitova):" + +#: pgp/seahorse-pgp-generate.ui:400 +msgid "E_xpiration Date:" +msgstr "Datum _isteka:" + +#: pgp/seahorse-pgp-generate.ui:418 pkcs11/seahorse-pkcs11-generate.ui:226 +#: ssh/seahorse-ssh-generate.ui:267 +msgid "_Advanced key options" +msgstr "_Napredne opcije ključa" + +#: pgp/seahorse-pgp-key-properties.c:316 +msgid "Couldn’t change primary user ID" +msgstr "Ne mogu da promenim IB osnovnog korisnika" + +#: pgp/seahorse-pgp-key-properties.c:335 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Sigurno želite trajno da uklonite IB korisnika „%s“?" + +#: pgp/seahorse-pgp-key-properties.c:345 +msgid "Couldn’t delete user ID" +msgstr "Ne mogu da uklonim IB korisnika" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:420 pgp/seahorse-pgp-key-properties.c:1575 +msgid "[Unknown]" +msgstr "[Nepoznato]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:529 pgp/seahorse-pgp-key-properties.c:1858 +msgid "Name/Email" +msgstr "Ime/El. pošta" + +#: pgp/seahorse-pgp-key-properties.c:536 +msgid "Signature ID" +msgstr "IB potpisa" + +#: pgp/seahorse-pgp-key-properties.c:669 +msgid "Couldn’t change primary photo" +msgstr "Ne mogu da promenim primarnu sliku" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:903 +msgid "(unknown)" +msgstr "(nepoznato)" + +#: pgp/seahorse-pgp-key-properties.c:906 +#, c-format +msgid "This key expired on: %s" +msgstr "Ovaj ključ je istekao: %s" + +#: pgp/seahorse-pgp-key-properties.c:969 +msgid "Name" +msgstr "Naziv" + +#: pgp/seahorse-pgp-key-properties.c:1084 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Da li sigurno želite da trajno uklonite podključ %d od %s?" + +#: pgp/seahorse-pgp-key-properties.c:1093 +msgid "Couldn’t delete subkey" +msgstr "Ne mogu da obrišem podključ" + +#: pgp/seahorse-pgp-key-properties.c:1133 +#: pgp/seahorse-pgp-key-properties.c:1549 +msgid "Unable to change trust" +msgstr "Ne mogu da promenim poverenje" + +#: pgp/seahorse-pgp-key-properties.c:1147 ssh/key-properties.vala:193 +msgid "Couldn’t export key" +msgstr "Ne mogu da izvezem ključ" + +#: pgp/seahorse-pgp-key-properties.c:1263 +msgid "Marginal" +msgstr "Površno" + +#: pgp/seahorse-pgp-key-properties.c:1269 +msgid "Full" +msgstr "Potpuno" + +#: pgp/seahorse-pgp-key-properties.c:1275 +msgid "Ultimate" +msgstr "Najveće" + +#: pgp/seahorse-pgp-key-properties.c:1381 +#: pgp/seahorse-pgp-key-properties.c:1474 +msgctxt "Expires" +msgid "Never" +msgstr "Nikada" + +#: pgp/seahorse-pgp-key-properties.c:1428 +msgid "ID" +msgstr "IB" + +#: pgp/seahorse-pgp-key-properties.c:1431 +msgid "Type" +msgstr "Vrsta" + +#: pgp/seahorse-pgp-key-properties.c:1434 +msgid "Usage" +msgstr "Upotreba" + +#: pgp/seahorse-pgp-key-properties.c:1437 +msgid "Created" +msgstr "Napravljen" + +#: pgp/seahorse-pgp-key-properties.c:1440 +msgid "Expires" +msgstr "Ističe" + +#: pgp/seahorse-pgp-key-properties.c:1443 +msgid "Status" +msgstr "Stanje" + +#: pgp/seahorse-pgp-key-properties.c:1446 +msgid "Strength" +msgstr "Jačina" + +#: pgp/seahorse-pgp-key-properties.c:1465 +msgid "Revoked" +msgstr "Povučen" + +#: pgp/seahorse-pgp-key-properties.c:1467 +msgid "Expired" +msgstr "Istekao" + +#: pgp/seahorse-pgp-key-properties.c:1469 +msgid "Disabled" +msgstr "Isključen" + +#: pgp/seahorse-pgp-key-properties.c:1471 +msgid "Good" +msgstr "Dobar" + +#: pgp/seahorse-pgp-key-properties.c:1861 +msgid "Key ID" +msgstr "IB ključa" + +#: pgp/seahorse-pgp-key.c:349 +msgid "Personal PGP key" +msgstr "Lični PGP ključ" + +#: pgp/seahorse-pgp-key.c:351 +msgid "PGP key" +msgstr "PGP ključ" + +#: pgp/seahorse-pgp-private-key-properties.ui:31 +#: pgp/seahorse-pgp-public-key-properties.ui:32 ssh/key-properties.vala:45 +msgid "Key Properties" +msgstr "Osobine ključa" + +#: pgp/seahorse-pgp-private-key-properties.ui:70 +#: pgp/seahorse-pgp-public-key-properties.ui:120 +msgid "This key has been revoked" +msgstr "Ovaj ključ je opozvan" + +#: pgp/seahorse-pgp-private-key-properties.ui:89 +#: pgp/seahorse-pgp-public-key-properties.ui:141 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Vlasnik ključa je opozvao ključ. Ne može se više koristiti." + +#: pgp/seahorse-pgp-private-key-properties.ui:132 +#: pgp/seahorse-pgp-public-key-properties.ui:192 +msgid "This key has expired" +msgstr "Ovaj ključ je istekao" + +#: pgp/seahorse-pgp-private-key-properties.ui:222 +msgid "Add a photo to this key" +msgstr "Dodajte fotografiju ovom ključu" + +#: pgp/seahorse-pgp-private-key-properties.ui:246 +msgid "Remove this photo from this key" +msgstr "Ukloni ovu sliku iz ovog ključa" + +#: pgp/seahorse-pgp-private-key-properties.ui:270 +msgid "Make this photo the primary photo" +msgstr "Postavi ovu sliku za glavnu sliku" + +#: pgp/seahorse-pgp-private-key-properties.ui:303 +msgid "Go to previous photo" +msgstr "Idite na prethodnu sliku" + +#: pgp/seahorse-pgp-private-key-properties.ui:327 +msgid "Go to next photo" +msgstr "Idite na sledeću sliku" + +#. A photograph +#: pgp/seahorse-pgp-private-key-properties.ui:389 +#: pgp/seahorse-pgp-public-key-properties.ui:395 +msgid "Photo " +msgstr "Fotografija " + +#: pgp/seahorse-pgp-private-key-properties.ui:425 +#: pgp/seahorse-pgp-private-key-properties.ui:1066 +#: pgp/seahorse-pgp-public-key-properties.ui:472 +#: pgp/seahorse-pgp-public-key-properties.ui:1181 +msgid "Key ID:" +msgstr "IB ključa:" + +#. Name of key, usually a persons name +#: pgp/seahorse-pgp-private-key-properties.ui:442 +#: pgp/seahorse-pgp-public-key-properties.ui:506 +msgctxt "name-of-key" +msgid "Name:" +msgstr "Naziv:" + +#: pgp/seahorse-pgp-private-key-properties.ui:458 +#: pgp/seahorse-pgp-public-key-properties.ui:523 +msgid "Email:" +msgstr "E-pošta:" + +#: pgp/seahorse-pgp-private-key-properties.ui:474 +#: pgp/seahorse-pgp-public-key-properties.ui:540 +msgid "Comment:" +msgstr "Napomena:" + +#: pgp/seahorse-pgp-private-key-properties.ui:583 +msgid "Decrypt files and email sent to you." +msgstr "Dešifrujte primljene datoteke i e-poštu." + +#: pgp/seahorse-pgp-private-key-properties.ui:596 +msgid "Private PGP Key" +msgstr "Privatni PGP ključ" + +#: pgp/seahorse-pgp-private-key-properties.ui:649 +#: ssh/seahorse-ssh-key-properties.ui:144 +msgid "Change _Passphrase" +msgstr "Promeni _lozinku" + +#: pgp/seahorse-pgp-private-key-properties.ui:691 +#: pgp/seahorse-pgp-public-key-properties.ui:711 +msgid "Owner" +msgstr "Vlasnik" + +#: pgp/seahorse-pgp-private-key-properties.ui:706 +msgid "Key Names and Signatures" +msgstr "Nazivi ključeva i potpisi" + +#: pgp/seahorse-pgp-private-key-properties.ui:758 +msgid "Primary" +msgstr "Primarno" + +#: pgp/seahorse-pgp-private-key-properties.ui:809 pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "Potpiši" + +#: pgp/seahorse-pgp-private-key-properties.ui:860 +msgid "Delete" +msgstr "Izbriši" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:911 +msgid "_Add Name" +msgstr "_Dodaj naziv" + +#: pgp/seahorse-pgp-private-key-properties.ui:959 +#: pgp/seahorse-pgp-private-key-properties.ui:1649 +msgid "Revoke" +msgstr "Opozovi" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:1023 +msgid "Names and Signatures" +msgstr "Nazivi i potpisi" + +#: pgp/seahorse-pgp-private-key-properties.ui:1092 +#: pgp/seahorse-pgp-public-key-properties.ui:1208 +msgid "Strength:" +msgstr "Jačina:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1154 +msgid "Technical Details" +msgstr "Tehnički detalji" + +#: pgp/seahorse-pgp-private-key-properties.ui:1190 +msgid "Fingerprint" +msgstr "Otisak" + +#: pgp/seahorse-pgp-private-key-properties.ui:1305 +#: pgp/seahorse-pgp-public-key-properties.ui:1397 +msgid "Expires:" +msgstr "Ističe:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1321 +msgid "Dates" +msgstr "Datumi" + +#: pgp/seahorse-pgp-private-key-properties.ui:1375 +msgid "Override Owner _Trust:" +msgstr "Premosti _poverenje vlasnika:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1387 +msgid "_Export Secret Key:" +msgstr "_Izvezi tajni ključ:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1457 +msgid "Actions" +msgstr "Radnje" + +#: pgp/seahorse-pgp-private-key-properties.ui:1532 +msgid "Add" +msgstr "Dodaj" + +#: pgp/seahorse-pgp-private-key-properties.ui:1581 +msgid "Expire" +msgstr "Ističe" + +#: pgp/seahorse-pgp-private-key-properties.ui:1701 +#: pgp/seahorse-pgp-public-key-properties.ui:1587 +msgid "_Subkeys" +msgstr "_Podključevi" + +#: pgp/seahorse-pgp-public-key-properties.ui:18 +msgctxt "Validity" +msgid "Marginally" +msgstr "Površno" + +#: pgp/seahorse-pgp-public-key-properties.ui:21 +msgctxt "Validity" +msgid "Fully" +msgstr "Potpuno" + +#: pgp/seahorse-pgp-public-key-properties.ui:24 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Bezuslovno" + +#: pgp/seahorse-pgp-public-key-properties.ui:457 +msgid "Encrypt files and email to the key’s owner" +msgstr "Šifruj datoteku i pošalji vlasniku ključa" + +#: pgp/seahorse-pgp-public-key-properties.ui:621 +msgid "Public PGP Key" +msgstr "Javni PGP ključ" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:673 +msgid "_Other Names:" +msgstr "_Ostali nazivi:" + +#: pgp/seahorse-pgp-public-key-properties.ui:753 +msgid "Your trust of this key" +msgstr "Vaše poverenje za ovaj ključ" + +#: pgp/seahorse-pgp-public-key-properties.ui:780 +msgid "Your trust is manually specified on the Details tab." +msgstr "Vaše poverenje je ručno navedeno u jezičku Detalji." + +#: pgp/seahorse-pgp-public-key-properties.ui:796 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Verujem potpisima sa „%s“ na drugim ključevima" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Ako verujete da je „%s“ osoba koja poseduje ovaj ključ, potpišite ključ:" + +#: pgp/seahorse-pgp-public-key-properties.ui:879 +msgid "_Sign this Key" +msgstr "_Potpiši ovaj ključ" + +#: pgp/seahorse-pgp-public-key-properties.ui:919 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Ako više ne verujete da „%s“ poseduje ovaj ključ, opozovite vaš potpis:" + +#: pgp/seahorse-pgp-public-key-properties.ui:970 +msgid "_Revoke Signature" +msgstr "_Opozovi potpis" + +#: pgp/seahorse-pgp-public-key-properties.ui:1031 +msgid "_People who have signed this key:" +msgstr "_Ljudi koji su potpisali ovaj ključ:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1077 +msgid "_Only display the signatures of people I trust" +msgstr "Prikazuj _samo potpise ljudi kojima verujem" + +#: pgp/seahorse-pgp-public-key-properties.ui:1117 +#: ssh/seahorse-ssh-key-properties.ui:169 +msgid "Trust" +msgstr "Poverenje" + +#: pgp/seahorse-pgp-public-key-properties.ui:1290 +#: ssh/seahorse-ssh-key-properties.ui:352 +msgid "Fingerprint:" +msgstr "Otisak:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1354 +msgid "Dates:" +msgstr "Datumi:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1460 +msgid "Indicate Trust:" +msgstr "Ukaži na poverenje:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1485 +msgid "You _Trust the Owner:" +msgstr "_Verujete vlasniku:" + +#: pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "Šifruj" + +#: pgp/seahorse-pgp-subkey.c:293 +msgid "Certify" +msgstr "Proveri" + +#: pgp/seahorse-pgp-subkey.c:294 +msgid "Authenticate" +msgstr "Potvrdi identitet" + +#: pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "Podključ %d od %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Razlog za povlačenje ključa" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Razlog:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Neobavezan opis za povlačenje" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "_Opozovi" + +#: pgp/seahorse-sign.ui:7 +msgid "Sign Key" +msgstr "Potpišite ključ" + +#: pgp/seahorse-sign.ui:42 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Potpisivanjem ukazujete vaše poverenje da ovaj ključ pripada:" + +#: pgp/seahorse-sign.ui:54 +msgid "Key Name" +msgstr "Naziv ključa" + +#: pgp/seahorse-sign.ui:86 +msgid "How carefully have you checked this key?" +msgstr "Koliko ste pažljivo proverili ovaj ključ?" + +#: pgp/seahorse-sign.ui:118 +msgid "_Not at all" +msgstr "N_ipošto" + +#: pgp/seahorse-sign.ui:132 +msgid "_Casually" +msgstr "N_eformalno" + +#: pgp/seahorse-sign.ui:147 +msgid "_Very Carefully" +msgstr "_Vrlo pažljivo" + +#: pgp/seahorse-sign.ui:180 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Nipošto: znači da verujete da ključ poseduje osoba koja tvrdi da joj " +"pripada, ali ne možete ili niste proverili da je ovo istina." + +#: pgp/seahorse-sign.ui:197 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Neformalno: znači da ste uradili neformalnu proveru da ključ poseduje " +"osoba koja tvrdi da je njen. Na primer, možete da očitate otisak ključa " +"vlasniku, preko telefona." + +#: pgp/seahorse-sign.ui:221 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Vrlo pažljivo: Izaberite ovo jedino ako ste u potpunosti sigurni da je " +"ovaj ključ originalan." + +#: pgp/seahorse-sign.ui:240 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Možete upotrebiti određivanje identiteta fotografijom koja se teško " +"falsifikuje (kao što je pasoš)\n" +"da biste lično proverili da li je ime na ključu tačno. Takođe bi trebalo da " +"iskoristite el. poštu da proverite da li adresa el. pošte pripada vlasniku." + +#: pgp/seahorse-sign.ui:289 +msgid "How others will see this signature:" +msgstr "Kako će drugi videti ovaj potpis:" + +#: pgp/seahorse-sign.ui:310 +msgid "_Others may not see this signature" +msgstr "_Drugi ne mogu videti ovaj potpis" + +#: pgp/seahorse-sign.ui:326 +msgid "I can _revoke this signature at a later date." +msgstr "Mogu _opozvati ovaj potpis kasnije." + +#: pgp/seahorse-sign.ui:363 +msgid "Sign key as:" +msgstr "Potpiši ključ kao:" + +#: pgp/seahorse-sign.ui:385 +msgid "_Signer:" +msgstr "_Potpisnik:" + +#: pgp/seahorse-sign.ui:487 +msgid "_Sign" +msgstr "_Potpiši" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Nemate ličnih PGP ključeva koji se mogu iskoristiti za potpisivanje dokumenta " +"ili poruke." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Odaberite ključ za potpisivanje" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "Potpiši poruku _ključem:" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "Izvozim podatke" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "Preuzimam podatke" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "Uvozim podatke" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "Šaljem podatke" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Nedostupno" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Uverenje" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Uverenja (DER šifrovana)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Lično uverenje i ključ" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Lično uverenje" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Da li sigurno želite trajno da obrišete %d uverenje?" +msgstr[1] "Da li sigurno želite trajno da obrišete %d uverenja?" +msgstr[2] "Da li sigurno želite trajno da obrišete %d uverenja?" +msgstr[3] "Da li sigurno želite trajno da obrišete jedno uverenje?" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Shvatam da će ovaj ključ biti trajno obrisan." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Neimenovani lični ključ" + +#: pkcs11/pkcs11-private-key.vala:70 pkcs11/seahorse-pkcs11-generate.c:505 +msgid "Private key" +msgstr "Privatni ključ" + +#: pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "Neimanovan" + +#: pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "Nisam uspeo da izvezem uverenje" + +#: pkcs11/pkcs11-properties.vala:188 src/seahorse-sidebar.c:873 +msgid "Couldn’t delete" +msgstr "Ne mogu da obrišem" + +#: pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "_Izvezi" + +#: pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "Izvezite u uverenje" + +#: pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "Obrišite ovo uverenje ili ključ" + +#: pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "Zahtevaj _uverenje" + +#: pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "Napravi datoteku zahteva uverenja za ovaj ključ" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.c:412 +msgid "Create" +msgstr "Napravi" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Ne mogu da napravim zahtev uverenja" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Sačuvaj zahtev uverenja" + +#: pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "Zahtev uverenja" + +#: pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "PEM šifrovani zahtev" + +#: pkcs11/pkcs11-request.vala:149 +msgid "Couldn’t save certificate request" +msgstr "Ne mogu da sačuvam zahtev uverenja" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Nepoznato" + +#: pkcs11/seahorse-pkcs11-backend.c:189 +msgid "Certificates" +msgstr "Uverenja" + +#: pkcs11/seahorse-pkcs11-backend.c:195 +msgid "X.509 certificates and related keys" +msgstr "Iks.509 uverenja i odgovarajući ključevi" + +#: pkcs11/seahorse-pkcs11-generate.c:113 +msgid "Couldn’t generate private key" +msgstr "Ne mogu da stvorim lični ključ" + +#: pkcs11/seahorse-pkcs11-generate.c:506 +msgid "Used to request a certificate" +msgstr "Koristi se za zahtevanje uverenja" + +#: pkcs11/seahorse-pkcs11-generate.ui:34 +msgid "Create a new private key" +msgstr "Napravite novi lični ključ" + +#: pkcs11/seahorse-pkcs11-generate.ui:53 +msgid "Label:" +msgstr "Natpis:" + +#: pkcs11/seahorse-pkcs11-generate.ui:66 +msgid "Stored at:" +msgstr "Sačuvan:" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Napravite datoteku zhteva uverenja." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Opšti naziv (CN) postavljen u zahtevu uverenja." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Naziv (CN):" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Promenite lozinku" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Nova _lozinka:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Potvrdite novu lozinku" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Po_tvrdi lozinku:" + +#: src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "Nastavi" + +#: src/seahorse-generate-select.ui:15 +msgid "_Select the type of item to create:" +msgstr "_Izaberite vrstu stavke koju želite da napravite:" + +#: src/seahorse-import-dialog.c:95 +msgid "Import failed" +msgstr "Uvoz nije uspeo" + +#: src/seahorse-import-dialog.c:113 +msgid "Import" +msgstr "Uvezi" + +#: src/seahorse-import-dialog.c:126 +msgid "Data to be imported:" +msgstr "Podaci koji će biti uvezeni:" + +#. The prompt +#: src/seahorse-key-manager.c:240 ssh/operation.vala:320 +msgid "Import Key" +msgstr "Uvezite ključ" + +#: src/seahorse-key-manager.c:252 +msgid "All key files" +msgstr "Sve datoteke ključeva" + +#: src/seahorse-key-manager.c:353 +msgid "Dropped text" +msgstr "Ubačeni tekst" + +#: src/seahorse-key-manager.c:389 +msgid "Clipboard text" +msgstr "Tekst iz ostave" + +#: src/seahorse-key-manager.c:500 +msgid "_New" +msgstr "_Novi" + +#: src/seahorse-key-manager.c:502 +msgid "Close this program" +msgstr "Zatvorite ovaj program" + +#: src/seahorse-key-manager.c:503 src/seahorse-key-manager.c:505 +msgid "_New…" +msgstr "_Novi…" + +#: src/seahorse-key-manager.c:504 +msgid "Create a new key or item" +msgstr "Napravite novi ključ ili stavku" + +#: src/seahorse-key-manager.c:506 +msgid "Add a new key or item" +msgstr "Dodajte novi ključ ili stavku" + +#: src/seahorse-key-manager.c:507 +msgid "_Import…" +msgstr "_Uvezi…" + +#: src/seahorse-key-manager.c:508 +msgid "Import from a file" +msgstr "Uvezi iz datoteke" + +#: src/seahorse-key-manager.c:510 +msgid "Import from the clipboard" +msgstr "Uvezi iz ostave" + +#: src/seahorse-key-manager.c:514 +msgid "By _Keyring" +msgstr "Prema _privesku" + +#: src/seahorse-key-manager.c:515 +msgid "Show sidebar listing keyrings" +msgstr "Prikažite spisak privezaka u bočnoj površi" + +#: src/seahorse-key-manager.c:519 +msgid "Show _Personal" +msgstr "Prikaži _lične" + +#: src/seahorse-key-manager.c:520 +msgid "Only show personal keys, certificates and passwords" +msgstr "Prikažite samo lične ključeve, uverenja i lozinke" + +#: src/seahorse-key-manager.c:521 +msgid "Show _Trusted" +msgstr "Prikaži _poverljive" + +#: src/seahorse-key-manager.c:522 +msgid "Only show trusted keys, certificates and passwords" +msgstr "Prikažite samo poverljive ključeve, uverenja i lozinke" + +#: src/seahorse-key-manager.c:523 +msgid "Show _Any" +msgstr "Prikaži _bilo koji" + +#: src/seahorse-key-manager.c:524 +msgid "Show all keys, certificates and passwords" +msgstr "Prikažite sve ključeve, uverenja i lozinke" + +#: src/seahorse-key-manager.c:743 +msgid "Filter" +msgstr "Propusnik" + +#: src/seahorse-key-manager.ui:97 +msgid "First time options:" +msgstr "Opcije prvog puta:" + +#: src/seahorse-key-manager.ui:152 +msgid "Generate a new key of your own: " +msgstr "Samostalno napravite novi ključ: " + +#: src/seahorse-key-manager.ui:223 +msgid "Import existing keys from a file:" +msgstr "Uvezite postojeće ključeve iz datoteke:" + +#: src/seahorse-key-manager.ui:255 +msgid "To get started with encryption you will need keys." +msgstr "Da započnete sa šifrovanjem biće vam potrebni ključevi." + +#: src/seahorse-sidebar.c:797 +msgid "Couldn’t lock" +msgstr "Ne mogu da zaključam" + +#: src/seahorse-sidebar.c:834 +msgid "Couldn’t unlock" +msgstr "Ne mogu da otključam" + +#: src/seahorse-sidebar.c:941 +msgid "_Lock" +msgstr "_Zaključaj" + +#: src/seahorse-sidebar.c:946 +msgid "_Unlock" +msgstr "_Otključaj" + +#: ssh/actions.vala:26 +msgid "Configure Key for _Secure Shell…" +msgstr "Podesi ključ bezbedne _školjke…" + +#: ssh/actions.vala:27 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"Pošaljite javni ključ bezbedne školjke na drugu mašinu, i omogućite " +"prijavljivanja korišćenjem tog ključa." + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Bezbedna školjka" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Ključevi korišćeni za bezbedno povezivanje na druge računare" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Da li sigurno želite trajno da izbrišete ključ bezbedne školjke „%s“?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Da li sigurno želite trajno da izbrišete %u ključ bezbedne školjke?" +msgstr[1] "Da li sigurno želite trajno da izbrišete %u ključ bezbedne školjke?" +msgstr[2] "" +"Da li sigurno želite trajno da izbrišete %u ključeva bezbedne školjke?" +msgstr[3] "Da li sigurno želite trajno da izbrišete %u ključ bezbedne školjke?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Tajni ključevi bezbedne školjke" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Javni ključevi bezbedne školjke" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Ključ bezbedne školjke" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Nijedan javni ključ nije dostupan za ovaj ključ." + +#. No comment, but loaded +#: ssh/generate.vala:27 ssh/key.vala:120 ssh/key.vala:124 +#: ssh/seahorse-ssh-key-properties.ui:90 +msgid "Secure Shell Key" +msgstr "Ključ bezbedne školjke" + +#: ssh/generate.vala:28 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "Koristi se za pristup drugim računarima (npr: preko terminala)" + +#: ssh/generate.vala:42 +msgid "New Secure Shell Key" +msgstr "Novi ključ bezbedne školjke" + +#: ssh/generate.vala:136 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Ne mogu da učitam novostvoreni ključ bezbedne školjke" + +#: ssh/generate.vala:140 +msgid "Couldn’t generate Secure Shell key" +msgstr "Ne mogu da napravim ključ bezbedne školjke" + +#: ssh/generate.vala:143 +msgid "Creating Secure Shell Key" +msgstr "Stvaram ključ bezbedne školjke" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bita" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bita" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Nije poznata vrsta ključa!" + +#: ssh/key-properties.vala:112 +msgid "Unknown type" +msgstr "Nije poznata vrsta" + +#: ssh/key-properties.vala:135 +msgid "Couldn’t rename key." +msgstr "Ne mogu da preimenujem ključ." + +#: ssh/key-properties.vala:159 +msgid "Couldn’t change authorization for key." +msgstr "Ne mogu da promenim ovlašćenje za ovaj ključ." + +#: ssh/key-properties.vala:174 +msgid "Couldn’t change passphrase for key." +msgstr "Ne mogu da promenim lozinku za ključ." + +#: ssh/key.vala:45 +msgid "Personal SSH key" +msgstr "Lični ključ bezbedne školjke" + +#: ssh/key.vala:45 +msgid "SSH key" +msgstr "Ključ bezbedne školjke" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:117 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Nečitljiv ključ bezbedne školjke)" + +#: ssh/operation.vala:215 +msgid "Remote Host Password" +msgstr "Lozinka udaljenog računara" + +#: ssh/operation.vala:258 +msgid "Enter Key Passphrase" +msgstr "Unesite lozinku ključa" + +#: ssh/operation.vala:284 +msgid "Passphrase for New Secure Shell Key" +msgstr "Lozinka za novi ključ bezbedne školjke" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:317 +#, c-format +msgid "Importing key: %s" +msgstr "Uvozim ključ: %s" + +#: ssh/operation.vala:317 +msgid "Importing key. Enter passphrase" +msgstr "Uvozim ključ. Unesite lozinku" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Unesite vašu lozinku za bezbednu školjku:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Stara lozinka ključa" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Unesite staru lozinku za: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Nova lozinka ključa" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Unesite novu lozinku za: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Ponovo unesite novu lozinku: %s" + +#: ssh/seahorse-ssh-generate.ui:60 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Ključ bezbedne školjke (SSH) vam omogućava da se bezbedno povežete na druge " +"računare." + +#: ssh/seahorse-ssh-generate.ui:158 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Adresa vaše el. pošte ili podsetnik za koji je ovaj ključ." + +#: ssh/seahorse-ssh-generate.ui:247 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:248 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:249 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:286 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Ako postoji računar sa kojim želite da koristite ovaj ključ, možete da " +"podesite taj računar da prepoznaje vaš novi ključ." + +#: ssh/seahorse-ssh-generate.ui:315 +msgid "_Just Create Key" +msgstr "_Samo napravi ključ" + +#: ssh/seahorse-ssh-generate.ui:329 +msgid "_Create and Set Up" +msgstr "_Napravi i podesi" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:50 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "Naziv:" + +#: ssh/seahorse-ssh-key-properties.ui:102 +msgid "Identifier:" +msgstr "Odrednik:" + +#: ssh/seahorse-ssh-key-properties.ui:191 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "Vlasnik ovog ključa je _ovlašćen da se poveže na ovaj računar" + +#: ssh/seahorse-ssh-key-properties.ui:209 +#, c-format +msgid "This only applies to the %s account." +msgstr "Ovo jedino važi za %s nalog." + +#: ssh/seahorse-ssh-key-properties.ui:273 +msgid "Algorithm:" +msgstr "Algoritam:" + +#: ssh/seahorse-ssh-key-properties.ui:288 +msgid "Key length:" +msgstr "Dužina ključa:" + +#: ssh/seahorse-ssh-key-properties.ui:336 +msgid "Location:" +msgstr "Mesto:" + +#: ssh/seahorse-ssh-key-properties.ui:429 +msgid "E_xport Complete Key" +msgstr "I_zvezi čitav ključ" + +#: ssh/seahorse-ssh-upload.ui:24 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Da biste koristili ključ bezbedne školjke na drugom računaru koji koristi " +"istu, morate već na njemu imati prijavni nalog." + +#: ssh/seahorse-ssh-upload.ui:64 +msgid "eg: fileserver.example.com:port" +msgstr "npr.: fileserver.example.com:priključnik" + +#: ssh/seahorse-ssh-upload.ui:89 +msgid "_Server address:" +msgstr "_Adresa servera:" + +#: ssh/seahorse-ssh-upload.ui:101 +msgid "_Login name:" +msgstr "_Ime prijavljivanja:" + +#: ssh/source.vala:42 +msgid "OpenSSH keys" +msgstr "Ključevi otvorene bezbedne školjke" + +#: ssh/source.vala:47 +#, c-format +msgid "OpenSSH: %s" +msgstr "Otvorena bezbedna školjka: %s" + +#: ssh/source.vala:51 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:237 +msgid "No private key file is available for this key." +msgstr "Nijedan privatni ključ nije dostupan za ovaj ključ." + +#: ssh/upload.vala:32 +msgid "Set Up Computer for SSH Connection" +msgstr "Podesite računar za vezu bezbedne školjke" + +#: ssh/upload.vala:70 +msgid "Set Up" +msgstr "Podešavnje" + +#: ssh/upload.vala:93 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Ne mogu da podesim ključeve bezbedne školjke na udaljenom računaru." + +#: ssh/upload.vala:97 +msgid "Configuring Secure Shell Keys…" +msgstr "Podešavam ključeve bezbedne školjke…" + +#~ msgid "Used to connect to other computers." +#~ msgstr "Koristi se za povezivanje na druge računare." + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "Naredba bezbedne školjke je neočekivano prekinuta." + +#~ msgid "The SSH command failed." +#~ msgstr "Naredba bezbedne školjke nije uspela da se izvrši." + +#~ msgid "E_xport..." +#~ msgstr "_Izvezi..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Pronađi udaljene ključeve..." + +#~ msgid "_New..." +#~ msgstr "_Novi..." + +#~ msgid "_Import..." +#~ msgstr "_Uvezi..." diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 00000000..47595c25 --- /dev/null +++ b/po/sv.po @@ -0,0 +1,3071 @@ +# Swedish messages for seahorse. +# Copyright © 2001-2020 Free Software Foundation, Inc. +# Christian Rose , 2001, 2003, 2004. +# Daniel Nylander , 2006, 2007, 2008, 2009, 2010, 2011, 2012. +# Mattias Eriksson , 2014. +# Anders Jonsson , 2015, 2016, 2017, 2018, 2019, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-08-04 00:18+0200\n" +"Last-Translator: Anders Jonsson \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Poedit 2.3.1\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Lägg till nyckelserver" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Anpassad" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Avbryt" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Spara" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Kunde inte ta bort" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Kunde inte exportera nycklar" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Kunde inte exportera data" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "A_vbryt" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Ta bort" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Exportera" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Ange PIN-kod eller lösenord för: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Bekräfta:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_OK" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Lösenord:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Lösenord" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Nycklar" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Certifikat" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Inställningar" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Ingen: Publicera inga nycklar" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Inte en giltig adress för en nyckelserver." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Kontakta din systemadministratör eller administratören för nyckelservern för " +"hjälp." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "Url" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "initialt temporärt objekt" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Typ av nyckelserver:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Värd:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Värdnamnet eller adressen för servern." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Porten att komma åt servern på." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Hitta nycklar via:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Publicera nycklar på:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Hämta nycklar automatiskt från _nyckelservrar" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Synkronisera automatiskt _ändrade nycklar med nyckelservrar" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Nyckelservrar" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Okänd" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Aldrig" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Marginell" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Fullständig" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Förbehållslös" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Inaktiverad" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Spärrad" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Översikt" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Hjälp" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Öppna meny" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Skapa ett nytt objekt" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Importera objekt från fil" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Sök" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Genvägslista" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Avsluta" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Navigering" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Välj föregående nyckelring" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Välj nästa nyckelring" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Visa sidopanel (på små skärmar)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Visa nyckelringsinnehåll (på små skärmar)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Hämta automatiskt nycklar" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Huruvida nycklar ska hämtas automatiskt från nyckelservrar." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Publicera nycklar automatiskt" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Huruvida ändrade nycklar ska publiceras automatiskt eller inte." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Publicera nycklar på denna nyckelserver" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Nyckelservern att publicera PGP-nycklar på. Eller tomt för att undertrycka " +"publicering av PGP-nycklar." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Senaste sökmönster för nyckelserver" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Det senaste sökmönster som sökts efter mot en nyckelserver." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Senast använda nyckelservrar" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Den senaste nyckelservern en sökning utfördes mot, eller tomt för alla " +"nyckelservrar." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Visa nyckelringssidopanel" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Visa nyckelringssidopanel i Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Vilka objekt som ska visas" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Filtrera vilka objekt som ska visas. Om tomt visas alla objekt, om " +"”personal” visas personliga nycklar, om ”trusted” visas betrodda." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Bredd på sidopanelen" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Standardbredden på sidopanelen." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "De valda nyckelringarna" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "URI:erna för nyckelringarna som är valda i sidopanelen." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Kolumnen att sortera Seahorse-nycklarna efter" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Ange kolumnen att sortera Seahorse-nyckelhanterarens huvudfönster efter. " +"Kolumner är: ”name”, ”id”, ”validity”, ”expires”, ”trust” och ”type”. " +"Placera ett ”-” framför kolumnnamnet för att sortera i fallande ordning." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Visa giltighetskolumn" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Används inte längre." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Visa utgångskolumn" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Visa tillitskolumn" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Visa typkolumn" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Fönstrets bredd" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Fönstrets bredd (i bildpunkter)." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Fönstrets höjd" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Fönstrets höjd (i bildpunkter)." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Hantera dina lösenord och krypteringsnycklar" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse är ett GNOME-program för att hantera kryptonycklar." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Med Seahorse kan du skapa och hantera PGP-nycklar, skapa och hantera SSH-" +"nycklar, publicera och hämta nycklar från nyckelservrar, mellanlagra dina " +"lösenfraser så du inte behöver ange dem och säkerhetskopiera dina nycklar " +"och din nyckelring." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "GNOME-projektet" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Lösenord och nycklar" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "nyckelring;kryptering;säkerhet;signera;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Lagrade personliga lösenord, inloggningsuppgifter och hemligheter" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Kunde inte låsa upp" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Kunde inte lägga till objekt" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Lösenord eller hemlighet" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Hemlighet för nätverksanslutning" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Wi-Fi-lösenord" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Nätverkslösenord" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Lösenord för GNOME Webb" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Lösenord för Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Lösenord för snabbmeddelanden" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Lösenord för snabbmeddelandekonto för " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Lösenord för Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Lösenord för GNOME Nätkonton" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Spara ändringar för detta objekt?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Kom åt en nätverksutdelning eller resurs" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Kom åt en webbplats" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Låser upp en PGP-nyckel" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Låser upp en Secure Shell-nyckel" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Sparade lösenord eller inloggning" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Nätverksinloggning" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Lösenord" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Kunde inte ändra lösenord." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Kunde inte ställa in beskrivning." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Fel vid borttagning av lösenordet." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Lagrad anteckning" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Lösenord för nyckelring" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Lösenord för krypteringsnyckel" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Lösenord för nyckellagring" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Hemlighet för Nätverkshanterare" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Är du säker på att du vill ta bort lösenordet ”%s”?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Är du säker på att du vill ta bort %d lösenord?" +msgstr[1] "Är du säker på att du vill ta bort %d lösenord?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Kunde inte lägga till nyckelring" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Okänt datum" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "En nyckelring som automatiskt låses upp vid inloggning" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "En nyckelring som används för att lagra lösenord" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Kunde inte ställa in standardnyckelringen" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Kunde inte ändra lösenord för nyckelring" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Ange som standard" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Ändra _lösenord" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Är du säker på att du vill ta bort lösenordsnyckelringen ”%s”?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Jag förstår att alla objekt kommer tas bort permanent." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Visa/dölj lösenord" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Lägg till lösenord" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "N_yckelring:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Beskrivning:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Lösenord:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Lägg till" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Lägg till lösenordsnyckelring" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Välj ett namn för den nya nyckelringen. Du kommer att bli tillfrågad efter " +"ett upplåsningslösenord." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Nytt nyckelringsnamn:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Objektegenskaper" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Beskrivning" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Kopiera" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Användning" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Typ" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Server" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Inloggning" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Detaljer" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Ta bort lösenord" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Nyckelringsegenskaper" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Namn" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Skapad" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Ändra lösenord" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Ange som standard" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Visa flaggor" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Visade egenskaper för datum och/eller tid" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Avslappnat läge" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Avslappnat läge normaliserar inte angivna värden för datum och tid" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "År" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Visat år" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Månad" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Visad månad" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Dag" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Visad dag i månad" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Timme" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Visad timme" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Minut" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Visad minut" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Sekund" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Visad sekund" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Lägre gräns för år" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Årsdelen av lägre datumgränsen" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Övre gräns för år" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Årsdelen av övre datumgränsen" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Lägre gräns för månad" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Månadsdelen av lägre datumgränsen" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Övre gräns för månad" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Månadsdelen av övre datumgränsen" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Lägre gräns för dag" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Dag i månad-delen av lägre datumgränsen" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Övre gräns för dag" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Dag i månad-delen av övre datumgränsen" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Lägre gräns för timme" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Timmesdelen av lägre datumgränsen" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Övre gräns för timme" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Timmesdelen av övre datumgränsen" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Lägre gräns för minut" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Minutdelen av lägre datumgränsen" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Övre gräns för minut" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Minutdelen av övre datumgränsen" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Lägre gräns för sekund" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Sekunddelen av lägre datumgränsen" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Övre gräns för sekund" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Sekunddelen av övre datumgränsen" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Datum" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Ange datumet direkt" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Välj datum" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Välj datumet från en kalender" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Tid" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Ange tiden direkt" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Välj tid" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Välj tiden från en lista" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d∶%02d∶%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d∶%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d∶%02d∶%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d∶%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u∶%u∶%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Kunde inte visa hjälp: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Lägg till undernyckel till %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (endast signering)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (endast kryptering)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (endast signering)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (endast kryptering)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Nyckel_typ" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Nyckel_längd" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Nyckelns längd" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Utgångsdatum" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Utgår _aldrig" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Om nyckeln aldrig går ut" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Generera en ny undernyckel" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Lägg till användaridentitet till %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Kunde inte lägga till användaridentitet" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Lägg till användaridentitet" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Fullständigt _namn" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Måste vara minst 5 tecken lång" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_E-postadress" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Valfri e-postadress" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Nyckelko_mmentar" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Valfri kommentar som beskriver nyckeln" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Skapa ny användaridentitet" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Dekryptering misslyckades. Du kanske inte har dekrypteringsnyckeln." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Åtgärden avbröts" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Ogiltigt utgångsdatum" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Utgångsdatumet måste vara i framtiden" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Kunde inte ändra utgångsdatum" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Utgång: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Går aldrig ut" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "Ä_ndra" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Flera nycklar" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Nyckeldata" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Textbaserade PGP-nycklar" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP-nycklar" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA Elgamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Kunde inte generera PGP-nyckel" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Lösenfras för ny PGP-nyckel" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Ange lösenfrasen för din nya nyckel två gånger." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"När en nyckel skapas behöver vi generera en stor\n" +"mängd slumpdata och vi behöver din hjälp. Det är en\n" +"bra idé att göra lite andra saker som att skriva på\n" +"tangentbordet, röra musen, använda program.\n" +"Detta ger systemet den slumpdata som det behöver." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Genererar nyckel" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Namn måste vara minst 5 tecken långt." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Ny PGP-nyckel" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"En PGP-nyckel låter dig kryptera e-post eller filer till andra personer." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Avancerade nyckelalternativ" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Kommentar" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Krypterings_typ" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "Nyckel_styrka (bitar)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "Ut_gångsdatum" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "_Går aldrig ut" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "Ska_pa" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Generera en ny nyckel" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Är du säker på att du vill ta bort %s permanent?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Är du säker på att du permanent vill ta bort %d nyckel?" +msgstr[1] "Är du säker på att du permanent vill ta bort %d nycklar?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Felaktigt lösenord" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"Detta var den tredje gången som du angav ett felaktigt lösenord. Försök igen." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Felaktig lösenfras." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Ange ny lösenfras för ”%s”" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Ange lösenfras för ”%s”" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Ange ny lösenfras" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Ange lösenfras" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Lösenfras" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Läste in %d nyckel" +msgstr[1] "Läste in %d nycklar" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Ogiltigt nyckeldata (UID:er saknas). Det här kan bero på en dator som har " +"datumet inställt till framtiden eller att en självsignatur saknas." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG-nycklar" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: standardkatalog för nyckelringar" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Fotot är för stort\n" +"Den rekommenderade storleken för ett foto i din nyckel är %d × %d " +"bildpunkter." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Ändra inte storlek" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "Ändra _storlek" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Det här är inte en bildfil, eller en okänd typ av bildfil. Prova att använda " +"en JPEG-bild." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Alla bildfiler" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Alla JPEG-filer" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Alla filer" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Välj foto att lägga till i nyckeln" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "Öpp_na" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Kunde inte förbereda foto" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Kunde inte lägga till foto" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Filen kunde inte läsas in. Den kan vara i ett ogiltigt format" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Är du säker på att du vill ta bort det aktuella fotot från din nyckel?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Kunde inte ta bort foto" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Kunde inte spärra undernyckel" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Spärra: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Ingen anledning" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Ingen anledning för nyckelspärr" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Komprometterad" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Nyckeln har blivit komprometterad" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Ersatts" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Nyckeln har ersatts med en annan" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Används inte" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Nyckeln används inte längre" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Du håller på att lägga till %s som spärr för %s. Denna åtgärd kan inte göras " +"ogjord! Är du säker på att du vill fortsätta?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Kunde inte lägga till spärr" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Jag förstår att denna hemliga nyckel kommer tas bort permanent." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Denna nyckel har redan signerats av\n" +"”%s”" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Kunde inte signera nyckel" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Inga användbara nycklar för signering" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Du har inga personliga PGP-nycklar som kan användas för att indikera din " +"tillit till den här nyckeln." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Signera nyckel" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"Genom att signera visar du din tillit till att den här nyckeln tillhör:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Nyckelnamn" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Hur noggrant har du kontrollerat denna nyckel?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Inte alls" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Flyktigt" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "_Mycket noggrant" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Inte alls: betyder att du tror att nyckeln ägs av personen som hävdar " +"sig att vara ägaren av den, men du kunde inte eller validerade inte att " +"detta verkligen stämde." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Flyktigt: betyder att du har gjort en snabb validering att nyckeln " +"ägs av personen som hävdar sig att vara ägare av den. Du kan till exempel " +"läsa upp nyckelns fingeravtryck till ägaren via telefon." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Mycket noggrant: Välj endast det här alternativet om du absolut är " +"säker på att den här nyckeln är genuin." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Du kan använda en svårförfalskad fotoidentifikation (såsom ett pass) för att " +"personligen kontrollera att namnet på nyckeln är korrekt. Du bör även skicka " +"ett e-postmeddelande för att kontrollera att e-postadress tillhör ägaren." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Hur andra kommer att se den här signaturen:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Andra får inte se den här signaturen" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Jag kan _spärra den här signaturen senare." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Signera nyckeln som:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Signerare:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Signera" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Okänd" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Sökning var inte tillräckligt specifik. Servern ”%s” hittade för många " +"nycklar." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Kunde inte kommunicera med servern ”%s”: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP-nyckelserver" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Kunde inte importera nyckel: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Nyckelimport lyckades" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Importera" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Det går inte att importera nyckel" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Fjärrnycklar" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Fjärrnycklar innehållande ”%s”" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Sökningen efter nycklar misslyckades." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Dubbelklicka på en nyckel för att inspektera den, eller klicka på " +"importknappen för att importera den till din lokala nyckelring." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Sök fjärrnycklar" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Detta kommer att söka nycklar för andra på Internet. Dessa nycklar kan sedan " +"importeras till din lokala nyckelring." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "_Sök efter nycklar innehållande: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Platser att söka på:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Nyckelservrar:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Delade nycklar nära mig:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Sök" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Kunde inte publicera nycklar på servern" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Kunde inte hämta nycklar från server: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d nyckel är markerad för synkronisering" +msgstr[1] "%d nycklar är markerade för synkronisering" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Synkroniserar nycklar…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Synkronisera nycklar" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Detta kommer att publicera nycklarna i din nyckelring så att de blir " +"tillgängliga för andra att använda. Du kan även få de ändringar som andra " +"har gjort sedan du mottog deras nycklar." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Detta kommer att hämta de ändringar andra har gjort sedan du hämtade deras " +"nycklar. Ingen nyckelserver har valts för publicering, så dina nycklar " +"kommer inte att göras tillgängliga för andra." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Nyckelservrar" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Synkronisera" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Kunde inte kommunicera med %s: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Ansluter till: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Kunde inte slå upp adress: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Slår upp serveradress: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP-nyckelserver" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP-nycklar" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP-nycklar används för att kryptera e-post eller filer" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(och %d till)" +msgstr[1] "(och %d till)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Personlig PGP-nyckel" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP-nyckel" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Kunde inte ändra primär användaridentitet" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Är du säker på att du vill ta bort användaridentiteten ”%s” permanent?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Kunde inte ta bort användaridentitet" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Okänd]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Namn/E-post" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Signatur-id" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Kunde inte ändra primärt foto" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Fel vid ändring av lösenord" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(okänd)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Den här nyckeln gick ut den: %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s ‒ Öppen nyckel" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s ‒ Privat nyckel" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Är du säker på att du vill ta bort undernyckel %d av %s permanent?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Kunde inte ta bort undernyckel" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Kunde inte ändra tillit" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Kunde inte exportera nyckeln" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Aldrig" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "Id" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Användning" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Skapad" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Går ut" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Status" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Styrka" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Spärrad" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Utgången" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Inaktiverad" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Bra" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Nyckel-id" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Jag litar på signaturer från ”%s” på andra nycklar" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Du kan signera den här nyckeln om du vet att personen som äger denna " +"nyckel är ”%s”:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Du kan spärra din signatur om du inte längre litar på att ”%s” äger " +"den här nyckeln:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Exportera _hemlig nyckel" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Exportera ö_ppen nyckel" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Den här nyckeln har spärrats" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Ägaren av nyckeln har spärrat nyckeln. Den kan inte användas längre." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Den här nyckeln har gått ut" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Lägg till ett foto till denna nyckel" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Ta bort det här fotot från nyckeln" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Gör det här fotot till det primära fotot" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Gå till föregående foto" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Gå till nästa foto" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Kommentar" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Ändra _lösenfras" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Ägare" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Nyckelnamn och signaturer" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Primär" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Signera" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Ta bort" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Lägg till namn" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Spärra" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Namn och signaturer" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Nyckel-id:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Typ:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Styrka:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Tekniska detaljer" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Fingeravtryck" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Skapad:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Går ut:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Datum" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Åsidosätt ägar_tillit:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "_Exportera till fil" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Aktiviteter" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Utgång" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Undernycklar" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Marginellt" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Fullständigt" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Förbehållslöst" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Andra namn:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Din tillit för den här nyckeln" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Din tillit anges manuellt under fliken Detaljer." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Signera denna nyckel" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Spärra signatur" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Personer som har signerat den här nyckeln:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Visa endast signaturer för personer som jag litar på" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Tillit" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Tekniska detaljer:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Fingeravtryck:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Datum:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Indikera tillit:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Du _litar på ägaren:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Kryptera" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Certifiera" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Autentisera" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Nyckel" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Undernyckel %d av %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Anledning för spärr av nyckeln" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Orsak:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Valfri beskrivning av spärrning" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Spärra nyckel" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Spä_rra" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Du har inga personliga PGP-nycklar som kan användas för att signera ett " +"dokument eller meddelande." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Välj nyckel för signering" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Signera meddelande med nyckel:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Exporterar data" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Tar emot data" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Importerar data" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Skickar data" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Otillgänglig" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Certifikat" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Certifikat (DER-kodade)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Personligt certifikat och nyckel" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Personligt certifikat" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Är du säker på att du permanent vill ta bort %d identitet?" +msgstr[1] "Är du säker på att du permanent vill ta bort %d identiteter?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Kunde inte generera privat nyckel" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Jag förstår att denna nyckel kommer tas bort permanent." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Namnlös privat nyckel" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Privat nyckel" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Namnlös" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Misslyckades med att exportera certifikatet" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Kunde inte ta bort" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Skapa" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Kunde inte skapa certifikatbegäran" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Spara certifikatbegäran" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Spara" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Certifikatbegäran" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM-kodad begäran" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Kunde inte spara certifikatbegäran" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Okänd" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509-certifikat och relaterade nycklar" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Ny privat nyckel" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Skapa en ny personlig nyckel" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Etikett:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Lagrad i:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Nyckel_typ:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "Nyckel_styrka (bitar):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Ta bort detta certifikat eller nyckel" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Exportera certifikatet" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Begär certifikat" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Skapa en fil för certifikatbegäran för denna nyckel" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Skapa en fil för certifikatbegäran." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Common Name (CN) placerad i certifikatbegäran." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Namn (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Bidrag:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Versionsnummer för detta program" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Anders Jonsson \n" +"Daniel Nylander \n" +"Christian Rose\n" +"\n" +"Skicka synpunkter på översättningen till\n" +"." + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Seahorse-projektets webbplats" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Data att importeras" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Importera" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Import misslyckades" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Importera nyckel" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Alla nyckelfiler" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Släppt text" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Urklippstext" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Kunde inte låsa upp nyckelring" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Ändra lösenfras" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Ny _lösenfras:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Bekräfta ny lösenfras" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "_Bekräfta lösenfras:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "Sök _fjärrnycklar…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Synkronisera och publicera nycklar…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Inställningar" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Hjälp" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Tangentbordsgenvägar" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_Om Lösenord och nycklar" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Filtrera objekt:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Visa p_ersonliga" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Visa påli_tliga" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Visa a_lla" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Secure Shell-nyckel" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Används för åtkomst till andra datorer" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG-nyckel" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Används för att kryptera e-post och filer" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Lösenordsnyckelring" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Används för att lagra program- och nätverkslösenord" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Lagra ett lösenord eller hemlighet på ett säkert sätt" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Används för att begära ett certifikat" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Importera från fil…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Lägg till en ny nyckel eller objekt" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Bakåt" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Sök efter en nyckel eller ett lösenord" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Filter" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Denna samling verkar vara tom" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Nyckelringen är låst" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Lås upp" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Kopiera hemlighet" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Exportera…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Egenskaper" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Konfigurera nyckel för Secure Shell…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Lås" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "Lås _upp" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Egenskaper" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Kunde inte låsa" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Secure Shell" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Nycklar används för att säkert ansluta till andra datorer" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Är du säker på att du vill ta bort Secure Shell-nyckeln ”%s”?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Är du säker på att du vill ta bort %u Secure Shell-nyckel?" +msgstr[1] "Är du säker på att du vill ta bort %u Secure Shell-nycklar?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Hemliga SSH-nycklar" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Öppna SSH-nycklar" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH-nyckel" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Ingen öppen nyckelfil finns tillgänglig för denna nyckel." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Kunde inte läsa in nyligen genererad Secure Shell-nyckel" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Kunde inte generera Secure Shell-nyckel" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Skapar Secure Shell-nyckel" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bitar" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bitar" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Okänd nyckeltyp!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Okänd typ" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Kunde inte byta namn på nyckel." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Kunde inte ändra behörighet för nyckel." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Kunde inte ändra lösenfras för nyckel." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Fel vid borttagning av SSH-nyckeln." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Personlig SSH-nyckel" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH-nyckel" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Oläsbar Secure Shell-nyckel)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Secure Shell-nyckel" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Lösenord för fjärrvärd" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Ange lösenfras för nyckel" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Lösenfras för ny Secure Shell-nyckel" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Importerar nyckel: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Importerar nyckel. Ange lösenfras" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Ange din Secure Shell-lösenfras:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Gammal lösenfras för nyckel" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Ange den gamla lösenfrasen för: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Ny lösenfras för nyckel" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Ange den nya lösenfrasen för: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Ange den nya lösenfrasen igen: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Ny Secure Shell-nyckel" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"En Secure Shell-nyckel (SSH) låter dig ansluta säkert till andra datorer." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Beskrivning" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Din e-postadress, eller en påminnelse om vad den här nyckeln är till för." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Om det finns en dator som du vill använda den här nyckeln med så kan du " +"konfigurera den datorn till att känna igen din nya nyckel." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Skapa bara nyckel" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Skapa och konfigurera" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH-nyckelegenskaper" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Namn" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritm" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Nyckellängd" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Plats" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Öppen nyckel" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Kopiera öppen nyckel till urklipp" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Fjärråtkomst" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Tillåter fjärråtkomst till denna dator" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "E_xportera" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "_Ta bort SSH-nyckel" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Konfigurera dator för SSH-anslutning" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"För att använda din Secure Shell-nyckel med en annan dator som använder SSH " +"så måste du redan ha ett inloggningskonto på den datorn." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Serveradress:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "t.ex: filserver.example.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Inloggningsnamn:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Konfigurera" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH-nycklar" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Ingen privat nyckelfil finns tillgänglig för denna nyckel." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Kunde inte konfigurera Secure Shell-nycklar på fjärrdator." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Konfigurerar Secure Shell-nycklar…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse är ett GNOME-program för att hantera kryptonycklar. Det " +#~ "integrerar med nautilus, gedit och andra ställen för " +#~ "krypteringsoperationer." + +#~ msgid "Encryption _Type:" +#~ msgstr "Krypterings_typ:" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Kunde inte lägga till undernyckel" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Kombinera alla nyckelringar" + +#~ msgid "Keyring is unlocked" +#~ msgstr "Nyckelringen är upplåst" + +#~ msgid "Lock" +#~ msgstr "Lås" + +#~ msgid "OK" +#~ msgstr "OK" + +#~ msgid "Full _Name:" +#~ msgstr "Fullständigt _namn:" + +#~ msgid "_Email Address:" +#~ msgstr "_E-postadress:" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "About Seahorse" +#~ msgstr "Om Seahorse" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "Program lagrar vanligtvis nya lösenord i standardnyckelringen." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Ändra upplåsningslösenordet för nyckelring för lösenordslagring" + +#~ msgid "About" +#~ msgstr "Om" + +#~ msgid "_Show Password" +#~ msgstr "Visa lösen_ord" + +#~ msgid "Marginal" +#~ msgstr "Marginell" + +#~ msgid "Full" +#~ msgstr "Fullständig" + +#~ msgid "Ultimate" +#~ msgstr "Förbehållslös" + +#~ msgid "Key Properties" +#~ msgstr "Nyckelegenskaper" + +#~ msgid "Couldn't add user id" +#~ msgstr "Kunde inte lägga till användaridentitet" + +#~ msgid "_File" +#~ msgstr "_Arkiv" + +#~ msgid "_Edit" +#~ msgstr "R_edigera" + +#~ msgid "_Copy" +#~ msgstr "_Kopiera" + +#~ msgid "Delete selected items" +#~ msgstr "Ta bort markerade objekt" + +#~ msgid "Show the properties of this item" +#~ msgstr "Visa egenskaper för detta objekt" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Visa egenskaper för denna nyckelring" + +#~ msgid "Prefere_nces" +#~ msgstr "Inställni_ngar" + +#~ msgid "Change preferences for this program" +#~ msgstr "Ändra inställningar för detta program" + +#~ msgid "_View" +#~ msgstr "_Visa" + +#~ msgid "About this program" +#~ msgstr "Om detta program" + +#~ msgid "_Contents" +#~ msgstr "_Innehåll" + +#~ msgid "Show Seahorse help" +#~ msgstr "Visa hjälp för Seahorse" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Ny lösenordsnyckelring" + +#~ msgid "New password…" +#~ msgstr "Nytt lösenord…" + +#~ msgid "Stored Password" +#~ msgstr "Lagrat lösenord" + +#~ msgid "PGP Key" +#~ msgstr "PGP-nyckel" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Importerar nycklar från nyckelservrar" + +#~ msgid "_Remote" +#~ msgstr "_Fjärr" + +#~ msgid "Close this window" +#~ msgstr "Stäng detta fönster" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Importera markerade nycklar till lokal nyckelring" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Publicera och/eller synkronisera dina nycklar med de på nätet." + +#~ msgid "Photo " +#~ msgstr "Foto " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Namn:" + +#~ msgid "Email:" +#~ msgstr "E-post:" + +#~ msgid "Use:" +#~ msgstr "Användning:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Dekryptera filer och din e-post." + +#~ msgid "Private PGP Key" +#~ msgstr "Privat PGP-nyckel" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Kryptera filer och e-post till ägaren av nyckeln" + +#~ msgid "_New" +#~ msgstr "_Ny" + +#~ msgid "Close this program" +#~ msgstr "Stäng detta program" + +#~ msgid "_New…" +#~ msgstr "_Ny…" + +#~ msgid "_Import…" +#~ msgstr "_Importera…" + +#~ msgid "_Paste" +#~ msgstr "_Klistra in" + +#~ msgid "Import from the clipboard" +#~ msgstr "Importera från urklipp" + +#~ msgid "By _Keyring" +#~ msgstr "Efter nyc_kelring" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Visa endast personliga nycklar, certifikat och lösenord" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Visa endast pålitliga nycklar, certifikat och lösenord" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Visa alla nycklar, certifikat och lösenord" + +#~ msgid "New item" +#~ msgstr "Nytt objekt" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Välj vilket sorts objekt som du vill skapa:" + +#~ msgid "Continue" +#~ msgstr "Fortsätt" + +#~ msgid "First time options:" +#~ msgstr "Förstagångsalternativ:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "För att komma igång med kryptering behöver du nycklar." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Importera existerande nycklar från en fil:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Generera en ny nyckel åt dig själv: " + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Skicka öppen Secure Shell-nyckel till en annan dator, och aktivera " +#~ "inloggningar med den nyckeln." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Används för att komma åt andra datorer (t.ex. via en terminal)" + +#~ msgid "- System Settings" +#~ msgstr "- Systeminställningar" + +#~ msgid "Don't display a window" +#~ msgstr "Visa inget fönster" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Namn:" + +#~ msgid "Identifier:" +#~ msgstr "Identifierare:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "" +#~ "Ägaren av den här nyckeln är _behörig att ansluta till den här datorn" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Det här gäller endast för kontot %s." + +#~ msgid "Key length:" +#~ msgstr "Nyckellängd:" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Söktjänsten är inte inläst än" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Name:" +#~ msgstr "Namn:" + +#~ msgid "Keyring" +#~ msgstr "Nyckelring" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "SSH-kommandot avslutades oväntat." + +#~ msgid "The SSH command failed." +#~ msgstr "SSH-kommandot misslyckades." + +#~ msgid "E_xport..." +#~ msgstr "E_xportera..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Sök fjärrnycklar..." + +#~ msgid "_New..." +#~ msgstr "_Ny..." + +#~ msgid "_Import..." +#~ msgstr "_Importera..." diff --git a/po/ta.po b/po/ta.po new file mode 100644 index 00000000..a9b60f11 --- /dev/null +++ b/po/ta.po @@ -0,0 +1,2677 @@ +# translation of ta.po to Tamil +# translation of seahorse.HEAD.ta.po to +# translation of ta.po to +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Dr.T.Vasudevan , 2007, 2008, 2009, 2010, 2011, 2012. +# I felix , 2007. +# I. Felix , 2008, 2009. +# Dr.T.vasudevan , 2009. +# Dr.T.Vasudevan , 2010, 2011, 2013. +msgid "" +msgstr "" +"Project-Id-Version: ta\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2013-03-20 16:25+0530\n" +"PO-Revision-Date: 2013-03-20 16:27+0530\n" +"Last-Translator: Dr.T.Vasudevan \n" +"Language-Team: American English <>\n" +"Language: ta\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\\n" +"\n" +"\n" +"\n" +"\n" +"X-Generator: Lokalize 1.5\n" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "கடவுச்சொல்லை விசை வளையத்தில் சேர்" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"புதிய விசைவளையத்துக்கு ஒரு பெயர் தேர்ந்தெடுங்கள். ஒரு பூட்டு திறக்கும் " +"கடவுச்சொல்லுக்கு " +"தூண்டப்படுவீர்கள்." + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "New Keyring Name:" +msgstr "புதிய விசை வளையத்தின் பெயர்:" + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "அந்த சேவையகத்தின் பெயர் அல்லது முகவரி" + +#: ../gkr/seahorse-gkr-actions.c:81 +msgid "New password keyring" +msgstr "புதிய கடவுச்சொல் விசை வளையம் " + +#: ../gkr/seahorse-gkr-actions.c:82 ../gkr/seahorse-gkr-actions.c:89 +msgid "Used to store application and network passwords" +msgstr "பயன்பாடு மற்றும் வலைப்பின்னல் கடவுச்சொற்களை சேமிக்க பயன்படுகிறது " + +#: ../gkr/seahorse-gkr-actions.c:83 +msgid "New password..." +msgstr "புதிய கடவுச்சொல்..." + +#: ../gkr/seahorse-gkr-actions.c:84 ../gkr/seahorse-gkr-actions.c:91 +msgid "Safely store a password or secret." +msgstr "பாதுகாப்பாக ஒரு கடவுச்சொல் அல்லது ரகசியத்தை சேமி" + +#: ../gkr/seahorse-gkr-actions.c:88 +msgid "Password Keyring" +msgstr "கடவுச்சொல் விசை வளையம் " + +#: ../gkr/seahorse-gkr-actions.c:90 +msgid "Stored Password" +msgstr "சேமித்த கடவுச்சொல்" + +#: ../gkr/seahorse-gkr-actions.c:174 +msgid "Couldn't set default keyring" +msgstr "முன்னிருப்பு விசை வளையத்தை அமைக்க முடியவில்லை" + +#: ../gkr/seahorse-gkr-actions.c:225 ../gkr/seahorse-gkr-actions.c:248 +msgid "Couldn't change keyring password" +msgstr "விசைவளைய கடவுச்சொல்லை மாற்ற முடியவில்லை" + +#: ../gkr/seahorse-gkr-actions.c:281 +msgid "_Set as default" +msgstr "(_S) முன்னிருப்பாக அமை" + +#: ../gkr/seahorse-gkr-actions.c:282 +msgid "Applications usually store new passwords in the default keyring." +msgstr "" +"வழக்கமாக பயன்பாடுகள் புதிய கடவுச்சொற்களை முன்னிருப்பு விசைவளையத்தில் சேமித்து " +"வைக்கும்" + +#: ../gkr/seahorse-gkr-actions.c:283 +msgid "Change _Password" +msgstr "(_P) கடவுச்சொல் ஐ மாற்றுக" + +#: ../gkr/seahorse-gkr-actions.c:284 +msgid "Change the unlock password of the password storage keyring" +msgstr "கடவுச்சொல் சேமிப்பு விசைவளையத்தை திறக்கும் கடவுச்சொல் ஐ மாற்று " + +#: ../gkr/seahorse-gkr-add-item.c:60 +msgid "Couldn't add item" +msgstr "உருப்படியை சேர்க்க முடியவில்லை" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +msgid "Add Password" +msgstr "கடவுச்சொல் சேர்" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "_D விளக்கம்:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Password:" +msgstr "_P கடவுச்சொல்:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Show Password" +msgstr "_S கடவுச்சொல்லை காட்டு" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +msgid "_Keyring:" +msgstr "_K விசை வளையம்" + +#: ../gkr/seahorse-gkr-add-keyring.c:72 +msgid "Couldn't add keyring" +msgstr "விசைவளையத்தை சேர்க்க முடியவில்லை" + +#: ../gkr/seahorse-gkr-backend.c:205 +msgid "Passwords" +msgstr "கடவுச்சொற்கள்" + +#: ../gkr/seahorse-gkr-backend.c:208 +msgid "Stored personal passwords, credentials and secrets" +msgstr "சேமித்துவைத்த அந்தரங்க கடவுச்சொற்கள், சான்றுகள் மற்றும் ரகசியங்கள்" + +#. Translators: This should be the same as the string in empathy +#: ../gkr/seahorse-gkr-item.c:293 +msgid "IM account password for " +msgstr "ஐஎம் கணக்கு கடவுச்சொல் இதற்கு " + +#: ../gkr/seahorse-gkr-item.c:353 +msgid "Password or secret" +msgstr "கடவுச்சொல் அல்லது ரகசியம்" + +#: ../gkr/seahorse-gkr-item.c:354 +msgid "Network password" +msgstr "பிணைய கடவுச்சொல்" + +#: ../gkr/seahorse-gkr-item.c:355 +msgid "Stored note" +msgstr "சேமித்த குறிப்பு" + +#: ../gkr/seahorse-gkr-item.c:356 +msgid "Keyring password" +msgstr "விசை வளைய கடவுச்சொல்" + +#: ../gkr/seahorse-gkr-item.c:357 +msgid "Encryption key password" +msgstr "மறையாக்க விசை கடவுச்சொல்" + +#: ../gkr/seahorse-gkr-item.c:358 +msgid "Key storage password" +msgstr "முதன்மை சேமிப்பு கடவுச்சொல்" + +#: ../gkr/seahorse-gkr-item.c:359 +msgid "Google Chrome password" +msgstr "கூகுள் குரோம் கடவுச்சொல்" + +#: ../gkr/seahorse-gkr-item.c:360 +msgid "Gnome Online Accounts password" +msgstr "க்னோம் ஆன் லைன் கணக்குகள் கடவுச்சொல்" + +#: ../gkr/seahorse-gkr-item.c:361 +msgid "Telepathy password" +msgstr "டெலிபதி கடவுச்சொல்" + +#: ../gkr/seahorse-gkr-item.c:362 +msgid "Instant messaging password" +msgstr "உடனடி செய்தி கடவுச்சொல்" + +#: ../gkr/seahorse-gkr-item.c:363 +msgid "Network Manager secret" +msgstr "வலைப்பின்னல் மேலாளர் ரகசியம்" + +#: ../gkr/seahorse-gkr-item-deleter.c:80 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "கடவுச்சொல் '%s' ஐ நிச்சயம் நிரந்தரமாக அழிக்க வேண்டுமா?" + +#: ../gkr/seahorse-gkr-item-deleter.c:83 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] " %d கடவுச்சொல் ஐ நிச்சயம் நீக்க வேண்டுமா?" +msgstr[1] " %d கடவுச்சொற்களை நிச்சயம் நீக்க வேண்டுமா?" + +#: ../gkr/seahorse-gkr-item-properties.c:66 +msgid "Access a network share or resource" +msgstr "ஒரு வளம் அல்லது வலையமைப்பு பகிர்வை அணுகுக" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a website" +msgstr "ஒரு இணையத்தை அணுகுக" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Unlocks a PGP key" +msgstr "ஒரு பிஜிபி விசையை திறக்கிறது" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a Secure Shell key" +msgstr "ஒரு பத்திரமான ஷெல்விசையை திறக்கிறது" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Saved password or login" +msgstr "சேமித்த கடவுச்சொல் அல்லது உள்நுழைவு" + +#: ../gkr/seahorse-gkr-item-properties.c:102 +msgid "Network Credentials" +msgstr "பிணைய சான்று பத்திரங்கள்" + +#: ../gkr/seahorse-gkr-item-properties.c:107 +msgid "Password" +msgstr "கடவுச்சொல்" + +#: ../gkr/seahorse-gkr-item-properties.c:216 +msgid "Couldn't change password." +msgstr "கடவுச்சொல்லை மாற்ற முடியவில்லை" + +#: ../gkr/seahorse-gkr-item-properties.c:263 +#: ../gkr/seahorse-gkr-item-properties.c:385 +msgid "Updating password" +msgstr "கடவுச்சொற்களை இற்றைப்படுத்துகிறது" + +#: ../gkr/seahorse-gkr-item-properties.c:346 +msgid "Couldn't set description." +msgstr "விவரணத்தை அமைக்க முடியவில்லை" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "விசை பண்புகள்" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "பயன்படுத்து:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "வகை:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Server:" +msgstr "சேவையகம்:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Login:" +msgstr "உள் நுழைவு:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +msgid "Show pass_word" +msgstr "_கடவுச்சொல்லை காட்டு" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +#: ../libseahorse/seahorse-passphrase.c:183 ../ssh/seahorse-ssh-askpass.c:99 +msgid "Password:" +msgstr "கடவுச்சொல்:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "விசை" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "தொழிநுட்ப விவரங்கள்:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "விவரங்கள்" + +#: ../gkr/seahorse-gkr-keyring.c:466 +msgid "A keyring that is automatically unlocked on login" +msgstr "உள்நுழையும்போது தானியங்கியாக திறக்கப்படும் ஒரு விசைவளையம்" + +#: ../gkr/seahorse-gkr-keyring.c:467 +msgid "A keyring used to store passwords" +msgstr "கடவுச்சொற்களை சேமிக்க ஒரு விசை வளையம்" + +#: ../gkr/seahorse-gkr-keyring-deleter.c:76 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "கடவுச்சொல் விசைவளையம் '%s' ஐ நிச்சயம் நீக்க வேண்டுமா?" + +#: ../gkr/seahorse-gkr-keyring-deleter.c:79 +msgid "I understand that all items will be permanently deleted." +msgstr "எல்லா உருப்படிகளும் நிரந்தரமாக நீக்கப்படும் என நான் அறிவேன்." + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Keyring Properties" +msgstr "விசை வளையம் பண்புகள்" + +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +msgid "Name:" +msgstr "பெயர்:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "உருவாக்கப்பட்டது:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "Keyring" +msgstr "விசை வளையம்" + +#: ../libegg/egg-datetime.c:317 +msgid "Display flags" +msgstr "குறிகளை காட்டு" + +#: ../libegg/egg-datetime.c:318 +msgid "Displayed date and/or time properties" +msgstr "தேதி மற்றும் நேரம் பண்புகள் காட்டப்பட்டது" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode" +msgstr "சோம்பேறி பாங்கு" + +#: ../libegg/egg-datetime.c:324 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "சோம்பேறி பாங்கு உள்ளிட்ட தேதி நேரங்களை சரி செய்யாது" + +#: ../libegg/egg-datetime.c:329 +msgid "Year" +msgstr "வருடம்" + +#: ../libegg/egg-datetime.c:330 +msgid "Displayed year" +msgstr "காட்டப்பட்ட வருடம்" + +#: ../libegg/egg-datetime.c:335 +msgid "Month" +msgstr "மாதம்" + +#: ../libegg/egg-datetime.c:336 +msgid "Displayed month" +msgstr "காட்டப்பட்ட மாதம்" + +#: ../libegg/egg-datetime.c:341 +msgid "Day" +msgstr "நாள்" + +#: ../libegg/egg-datetime.c:342 +msgid "Displayed day of month" +msgstr "காட்டப்பட்ட மாதத்தில் நாாள்" + +#: ../libegg/egg-datetime.c:347 +msgid "Hour" +msgstr "மணி" + +#: ../libegg/egg-datetime.c:348 +msgid "Displayed hour" +msgstr "காட்டப்பட்ட மணி" + +#: ../libegg/egg-datetime.c:353 +msgid "Minute" +msgstr "நிமிடம்" + +#: ../libegg/egg-datetime.c:354 +msgid "Displayed minute" +msgstr "காட்டப்பட்டு நிமிடம்" + +#: ../libegg/egg-datetime.c:359 +msgid "Second" +msgstr "நொடி" + +#: ../libegg/egg-datetime.c:360 +msgid "Displayed second" +msgstr "காட்டப்பட்டது நொடி" + +#: ../libegg/egg-datetime.c:365 +msgid "Lower limit year" +msgstr "வருடத்தின் குறைந்த வரையரை" + +#: ../libegg/egg-datetime.c:366 +msgid "Year part of the lower date limit" +msgstr "தேதி குறைந்த வரையரையில் ஆண்டின் பகுதி" + +#: ../libegg/egg-datetime.c:371 +msgid "Upper limit year" +msgstr "வருடத்தின் மேல் வரையரை" + +#: ../libegg/egg-datetime.c:372 +msgid "Year part of the upper date limit" +msgstr "தேதி மேல் வரையரையில் ஆண்டின் பகுதி" + +#: ../libegg/egg-datetime.c:377 +msgid "Lower limit month" +msgstr "மாதத்தின் குறைந்த வரையரை" + +#: ../libegg/egg-datetime.c:378 +msgid "Month part of the lower date limit" +msgstr "தேதி குறைந்த வரையரையில் மாதத்தின் பகுதி" + +#: ../libegg/egg-datetime.c:383 +msgid "Upper limit month" +msgstr "மேல்மாதத்தின் மேல் வரையரை" + +#: ../libegg/egg-datetime.c:384 +msgid "Month part of the upper date limit" +msgstr "தேதி மேல் வரையரையில் மாதத்தின் பகுதி" + +#: ../libegg/egg-datetime.c:389 +msgid "Lower limit day" +msgstr "நாளின் குறைந்த வரையரை" + +#: ../libegg/egg-datetime.c:390 +msgid "Day of month part of the lower date limit" +msgstr "தேதி கீழ் வரையரையில் மாதத்தின் நாளின் பகுதி" + +#: ../libegg/egg-datetime.c:395 +msgid "Upper limit day" +msgstr "நாளின் மேல் வரையரை" + +#: ../libegg/egg-datetime.c:396 +msgid "Day of month part of the upper date limit" +msgstr "தேதி மேல் வரையரையில் மாதத்தின் நாளின் பகுதி" + +#: ../libegg/egg-datetime.c:401 +msgid "Lower limit hour" +msgstr "குறைந்த மணி வரையரை" + +#: ../libegg/egg-datetime.c:402 +msgid "Hour part of the lower time limit" +msgstr "நேரத்தின் குறைந்த வரையரையில் மணியின் பகுதி" + +#: ../libegg/egg-datetime.c:407 +msgid "Upper limit hour" +msgstr "நாளின் மேல் வரையரை" + +#: ../libegg/egg-datetime.c:408 +msgid "Hour part of the upper time limit" +msgstr "நேரத்தின் அதிக வரையரையில் மணியின் பகுதி" + +#: ../libegg/egg-datetime.c:413 +msgid "Lower limit minute" +msgstr "குறைந்த நிமிட வரையரை" + +#: ../libegg/egg-datetime.c:414 +msgid "Minute part of the lower time limit" +msgstr "நேரத்தின் குறைந்த வரையரையில் நிமிடத்தின் பகுதி" + +#: ../libegg/egg-datetime.c:419 +msgid "Upper limit minute" +msgstr "மேல் வரையரை நிமிடம்" + +#: ../libegg/egg-datetime.c:420 +msgid "Minute part of the upper time limit" +msgstr "நேரத்தின் மேல் வரையரையில் நிமிடத்தின் பகுதி" + +#: ../libegg/egg-datetime.c:425 +msgid "Lower limit second" +msgstr "குறைந்த வரையரை வினாடி" + +#: ../libegg/egg-datetime.c:426 +msgid "Second part of the lower time limit" +msgstr "நேரத்தின் குறைந்த வரையரையில் வினாடியின் பகுதி" + +#: ../libegg/egg-datetime.c:431 +msgid "Upper limit second" +msgstr "மேல் வரையரை வினாடி" + +#: ../libegg/egg-datetime.c:432 +msgid "Second part of the upper time limit" +msgstr "நேரத்தின் மேல் வரையரையில் வினாடியின் பகுதி" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:474 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:496 +msgid "Date" +msgstr "தேதி" + +#: ../libegg/egg-datetime.c:496 +msgid "Enter the date directly" +msgstr "தேதியை நேரடியாக உள்ளிடு" + +#: ../libegg/egg-datetime.c:503 +msgid "Select Date" +msgstr "தேதியை தேர்ந்தெடு" + +#: ../libegg/egg-datetime.c:503 +msgid "Select the date from a calendar" +msgstr "தேதியை ஒரு நாள்காட்டியிலிருந்து தேர்ந்தெடு" + +#: ../libegg/egg-datetime.c:521 ../libegg/egg-datetime.c:2199 +msgid "Time" +msgstr "நேரம்" + +#: ../libegg/egg-datetime.c:521 +msgid "Enter the time directly" +msgstr "நேரத்தை நேரடியாக உள்ளிடு" + +#: ../libegg/egg-datetime.c:528 +msgid "Select Time" +msgstr "நேரத்தை தேர்ந்தெடு" + +#: ../libegg/egg-datetime.c:528 +msgid "Select the time from a list" +msgstr "நேரத்தை ஒரு பட்டியலில் இருந்து தேர்ந்தெடு" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:793 +msgid "24hr: no" +msgstr "24hr: இல்லை" + +#: ../libegg/egg-datetime.c:797 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1264 +msgid "AM" +msgstr "முற்பகல்" + +#: ../libegg/egg-datetime.c:799 ../libegg/egg-datetime.c:1261 +#: ../libegg/egg-datetime.c:1268 +msgid "PM" +msgstr "பிற்பகல்" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:807 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:810 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:814 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:817 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1176 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1241 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "ஆரம்ப தற்காலிக உருப்படி" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "விசை சேவையகத்தை சேர்" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "விசை சேவையகம் வகை:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "புரவன்:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "சேவயகத்தை அணுக துறை." + +#: ../libseahorse/seahorse-application.c:118 +msgid "Version of this application" +msgstr "இந்த பயன்பாட்டின் பதிப்பு்பு" + +#: ../libseahorse/seahorse-application.c:124 +msgid "- System Settings" +msgstr "- கணினி அமைப்புகள்" + +#: ../libseahorse/seahorse-catalog.c:88 +msgid "Contributions:" +msgstr "பங்குகள்:" + +#: ../libseahorse/seahorse-catalog.c:112 ../src/seahorse.desktop.in.in.h:1 +#: ../src/seahorse-key-manager.c:658 +msgid "Passwords and Keys" +msgstr "கடவுச்சொற்கள் மற்றும் விசைகள்" + +#: ../libseahorse/seahorse-catalog.c:114 +msgid "translator-credits" +msgstr "மொழிபெயர்ப்பாளர்-நன்றி அறிதல்" + +#: ../libseahorse/seahorse-catalog.c:117 +msgid "Seahorse Project Homepage" +msgstr "ஸீஹார்ஸ் திட்டம் ஆரம்ப பக்கம்" + +#: ../libseahorse/seahorse-catalog.c:191 +msgid "Cannot delete" +msgstr "நீக்க முடியவில்லை" + +#: ../libseahorse/seahorse-catalog.c:239 +#: ../libseahorse/seahorse-key-manager-store.c:443 +msgid "Couldn't export keys" +msgstr "விசைகளை ஏற்றுமதி செய்ய முடியவில்லை" + +#: ../libseahorse/seahorse-catalog.c:268 +msgid "Couldn't export data" +msgstr "தரவை ஏற்றுமதி செய்ய முடியவில்லை" + +#. Top menu items +#: ../libseahorse/seahorse-catalog.c:277 +msgid "_File" +msgstr "(_F) கோப்பு" + +#: ../libseahorse/seahorse-catalog.c:278 +msgid "E_xport..." +msgstr "(_x) ஏற்றுமதி செய்..." + +#: ../libseahorse/seahorse-catalog.c:279 +msgid "Export to a file" +msgstr "ஒரு கோப்புக்கு ஏற்றுமதி செய்" + +#: ../libseahorse/seahorse-catalog.c:280 +msgid "_Edit" +msgstr "_E திருத்து" + +#: ../libseahorse/seahorse-catalog.c:283 +msgid "Copy to the clipboard" +msgstr "ஒட்டுப்பலகைக்கு படியெடு " + +#: ../libseahorse/seahorse-catalog.c:284 +#: ../pkcs11/seahorse-pkcs11-properties.c:233 ../src/seahorse-sidebar.c:959 +msgid "_Delete" +msgstr "_D அழி" + +#: ../libseahorse/seahorse-catalog.c:285 +msgid "Delete selected items" +msgstr "தேர்ந்தெடுக்கப்பட்ட உருப்ப்டிகளை நீக்கு " + +#: ../libseahorse/seahorse-catalog.c:287 +msgid "Show the properties of this item" +msgstr "இந்த உருப்படியின் பண்புகளை காட்டு" + +#: ../libseahorse/seahorse-catalog.c:289 +msgid "Show the properties of this keyring" +msgstr "இந்த விசைவளையத்தின் பண்புகளை காட்டு" + +#: ../libseahorse/seahorse-catalog.c:290 +msgid "Prefere_nces" +msgstr "_n விருப்பங்கள்" + +#: ../libseahorse/seahorse-catalog.c:291 +msgid "Change preferences for this program" +msgstr "இந்த நிரலுக்கு விருப்பங்களை மாற்றுக" + +#: ../libseahorse/seahorse-catalog.c:292 +msgid "_View" +msgstr "_V பார்வை" + +#: ../libseahorse/seahorse-catalog.c:293 +msgid "_Help" +msgstr "_H உதவி" + +#: ../libseahorse/seahorse-catalog.c:295 +msgid "About this program" +msgstr "இந்த நிரல் பற்றி" + +#: ../libseahorse/seahorse-catalog.c:296 +msgid "_Contents" +msgstr "_C உள்ளடக்கங்கள்" + +#: ../libseahorse/seahorse-catalog.c:297 +msgid "Show Seahorse help" +msgstr "சீஹார்ஸ் உதவியை காட்டுக" + +#: ../libseahorse/seahorse-exportable.c:407 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "ஏற்றுமதி" + +#: ../libseahorse/seahorse-interaction.c:99 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "%s க்கு பின் அல்லது கடவுச்சொற்றொடர் ஐ உள்ளிடு" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:245 +msgid "Confirm:" +msgstr "உறுதியாக்கம்:" + +#: ../libseahorse/seahorse-prefs.c:67 +msgid "Not a valid Key Server address." +msgstr "செல்லுபடியாகும் சேவையக முகவரி அல்ல" + +#: ../libseahorse/seahorse-prefs.c:68 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "உதவிக்கு உங்கள் கணினி மேலாளர் அல்லது விசை சேவையக மேலாளர் ஐ அணுகவும்." + +#: ../libseahorse/seahorse-prefs.c:181 +msgid "URL" +msgstr "யூஆர்எல்(URL)" + +#: ../libseahorse/seahorse-prefs.c:351 +msgid "Custom" +msgstr "தனிப்பயன்" + +#: ../libseahorse/seahorse-prefs.c:404 +msgid "None: Don't publish keys" +msgstr "ஏதுமில்லை: விசைகளை வெளியிட வேண்டாம்" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "விருப்பங்கள்" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "_F விசைகளை இதன்வழி தேடு:" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "_P விசைகளை இதற்கு வெளியிடு:" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "தானியங்கியாக விசை சேவையகங்களில் இருந்து விசைகளை மீட்டெடுக்கவும்." + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "தானியங்கியாக விசை சேவையகங்கள் உடன் விசைகளை ஒத்திசைக்கவும்." + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "விசை சேவையகங்கள்" + +#: ../libseahorse/seahorse-util.c:210 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1254 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "தெரியாத" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1260 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "ஒரு போதும் இல்லை" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "விளிம்பில்" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "முழு" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "கடைசி" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Disabled" +msgstr "முடக்கப்பட்டது" + +#: ../libseahorse/seahorse-validity.c:52 +msgctxt "Validity" +msgid "Revoked" +msgstr "திரும்பப்பெறப்பட்டது" + +#: ../libseahorse/seahorse-widget.c:460 +#, c-format +msgid "Could not display help: %s" +msgstr "உதவியைக் காட்ட முடியவில்லை: %s" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "ஒரு போதும் _x காலாவதி ஆகாது" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "விசை காலாவதி ஆகாதென்றால்" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "விசை _T வகை:" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "_L விசை நீளம்:" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "காலாவதி தேதி:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "விசையின் நீளம்" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "ஒரு புதிய துணை விசையை உருவாக்குக" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "பயனர் அடையாளத்தை சேர்க்கவும்" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "எண் எழுத்துக்கள் குறியீடுகள் 5 க்கு மேல் இருக்க வேண்டும்." + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "விருப்ப மின்னஞ்சல் முகவரி" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "விசையை விவரிக்க விருப்ப குறிப்பு" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "_N முழுப் பெயர்:" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "_ம மின்னஞ்சல் முகவரி:" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "_m விசை குறிப்பு:" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "புதிய பயனர் அடையாளத்தை உருவாக்கு" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "_N ஒரு போதும் காலாவதி ஆகாது" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "விசையை இரத்து செய்க" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "_h மாற்றுக" + +#: ../pgp/seahorse-gpgme-add-subkey.c:162 +msgid "Couldn't add subkey" +msgstr "துணை விசையை சேர்க்க முடியவில்லை" + +#: ../pgp/seahorse-gpgme-add-subkey.c:181 +#, c-format +msgid "Add subkey to %s" +msgstr "%s க்கு துணை விசையை சேர்க்கவும்" + +#: ../pgp/seahorse-gpgme-add-subkey.c:197 ../pgp/seahorse-gpgme-generate.c:134 +msgid "DSA (sign only)" +msgstr "டிஎஸ்ஏ(DSA) (கையெழுத்திட மட்டும்)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:205 +msgid "ElGamal (encrypt only)" +msgstr "எல் காமல் (மறையாக்கம் மட்டும்)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:211 ../pgp/seahorse-gpgme-generate.c:135 +msgid "RSA (sign only)" +msgstr "ஆர்எஸ்ஏ(RSA) (கையெழுத்திட மட்டும்)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:217 +msgid "RSA (encrypt only)" +msgstr "ஆர்எஸ்ஏ(RSA) (மறையாக்கம் மட்டும்)" + +#: ../pgp/seahorse-gpgme-add-uid.c:100 +msgid "Couldn't add user id" +msgstr "பயனர் அடையாளத்தை சேர்க்க முடியவில்லை" + +#: ../pgp/seahorse-gpgme-add-uid.c:122 +#, c-format +msgid "Add user ID to %s" +msgstr "%s க்கு பயனர் அடையாளத்தை சேர்க்கவும்" + +#: ../pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "மறைவிலக்கம் தோல்வியுற்றது. அனேகமாக உங்களிடம் மறை நீக்க விசை இல்லை" + +#: ../pgp/seahorse-gpgme.c:73 ../pgp/seahorse-hkp-source.c:586 +#: ../ssh/seahorse-ssh-operation.c:194 +msgid "The operation was cancelled" +msgstr "செயல் ரத்து செய்யப்பட்டது." + +#: ../pgp/seahorse-gpgme-expires.c:65 +msgid "Invalid expiry date" +msgstr "செல்லுபடியாகாத காலாவதி தேதி" + +#: ../pgp/seahorse-gpgme-expires.c:66 +msgid "The expiry date must be in the future" +msgstr "காலாவதி தேதி எதிர்காலத்தில் இருக்கவேண்டும்" + +#: ../pgp/seahorse-gpgme-expires.c:79 +msgid "Couldn't change expiry date" +msgstr "காலாவதி தேதியை மாற்ற முடியவில்லை" + +#: ../pgp/seahorse-gpgme-expires.c:140 +#, c-format +msgid "Expiry: %s" +msgstr "காலாவதி: %s" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "பல விசைகள்" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "விசை தரவு" + +#: ../pgp/seahorse-gpgme-exporter.c:114 +msgid "Armored PGP keys" +msgstr "ஆர்மர்ட் பிஜிபி விசைகள்" + +#: ../pgp/seahorse-gpgme-exporter.c:118 +msgid "PGP keys" +msgstr "பிஜிபி விசைகள்" + +#: ../pgp/seahorse-gpgme-generate.c:95 +msgid "PGP Key" +msgstr "பிஜிபி விசை" + +#: ../pgp/seahorse-gpgme-generate.c:96 +msgid "Used to encrypt email and files" +msgstr "மின்னஞ்சல் மற்றும் கோப்புகளுக்கு மறையாக்கத்தை பயன்படுத்துக" + +#: ../pgp/seahorse-gpgme-generate.c:132 +#: ../pkcs11/seahorse-pkcs11-generate.c:91 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "ஆர்எஸ்ஏ(RSA)" + +#: ../pgp/seahorse-gpgme-generate.c:133 +msgid "DSA ElGamal" +msgstr "டிஎஸ்ஏ எல்காமல் (DSA Elgamal)" + +#: ../pgp/seahorse-gpgme-generate.c:182 +msgid "Couldn't generate PGP key" +msgstr "பிஜிபி விசையை உருவாக்க முடியவில்லை" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Passphrase for New PGP Key" +msgstr "புதிய பிஜிபி விசைக்கு கடவுசொற்றொடர்" + +#: ../pgp/seahorse-gpgme-generate.c:215 +msgid "Enter the passphrase for your new key twice." +msgstr "புதிய பிஜிபி விசைக்கு கடவுசொற்றொடரை ஐ இரு முறை உள்ளிடுக" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It's a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"ஒரு விசையை உருவாக்கும்போது நிறையரேண்டம் தகவலை\n" +"உருவாக்க வேண்டும். இதற்கு உங்கள் உதவி தேவை. நல்ல\n" +"உத்தி ஏதேனும் மற்ற வேலைகளை செய்வது - விசைப்பலகையில்\n" +"ஏதேனும் தட்டுவது சொடுக்கியை நகர்த்துவது, நிரல்களை \n" +"இயக்குவது. இவை கணினிக்கு போதுமான தரவை தரும்." + +#: ../pgp/seahorse-gpgme-generate.c:231 +#: ../pkcs11/seahorse-pkcs11-generate.c:459 +msgid "Generating key" +msgstr "விசையை உருவாக்குகிறது" + +#: ../pgp/seahorse-gpgme-key-deleter.c:78 +#: ../pgp/seahorse-gpgme-secret-deleter.c:77 +#: ../pkcs11/seahorse-pkcs11-deleter.c:66 +#: ../pkcs11/seahorse-pkcs11-key-deleter.c:81 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "%s ஐ நிச்சயம் நிரந்தரமாக அழிக்க வேண்டுமா?" + +#: ../pgp/seahorse-gpgme-key-deleter.c:81 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "%d விசைகளை நிச்சயம் நிரந்தரமாக அழிக்க வேண்டுமா?" +msgstr[1] "%d விசைகளை நிச்சயம் நிரந்தரமாக அழிக்க வேண்டுமா?" + +#: ../pgp/seahorse-gpgme-key-op.c:381 +msgid "Wrong password" +msgstr "தவறான கடவுச்சொல்" + +#: ../pgp/seahorse-gpgme-key-op.c:381 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" +"தவறான கடவுச்சொல் ஐ நீங்கள் உள்ளீட்ட து இது மூன்றாம் முறை. தயை செய்து மீண்டும் " +"முயற்சிக்கவும்" + +#: ../pgp/seahorse-gpgme-keyring.c:91 +#, c-format +msgid "Wrong passphrase." +msgstr "தவறான கடவுச்சொற்றொடர்." + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "'%s' க்கு புதிய கடவுச்சொற்றொடரை உள்ளிடவும்." + +#: ../pgp/seahorse-gpgme-keyring.c:97 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "'%s' க்கு கடவுச்சொற்றொடரை உள்ளிடவும்." + +#: ../pgp/seahorse-gpgme-keyring.c:100 +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "புதிய கடவுச்சொற்றொடரை உள்ளிடவும்." + +#: ../pgp/seahorse-gpgme-keyring.c:102 +msgid "Enter passphrase" +msgstr "கடவுச்சொற்றொடரை உள்ளிடவும்." + +#: ../pgp/seahorse-gpgme-keyring.c:107 +msgid "Passphrase" +msgstr "கடவுச்சொற்றொடர்" + +#: ../pgp/seahorse-gpgme-keyring.c:308 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d விசை ஏற்றப்பட்டது" +msgstr[1] "%d விசைகள் ஏற்றப்பட்டன" + +#: ../pgp/seahorse-gpgme-keyring.c:655 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"செல்லுபடியாகாத விசை தரவு (காணாத யுஐடி கள்) இது தேதி எதிர்காலத்தில் அமைத்த " +"கணினி " +"அல்லது காணாத சுய கையெழுத்து ஆல் இருக்கலாம்." + +#: ../pgp/seahorse-gpgme-keyring.c:815 +msgid "GnuPG keys" +msgstr "க்னூபிஜி விசைகள்" + +#: ../pgp/seahorse-gpgme-keyring.c:818 +msgid "GnuPG: default keyring directory" +msgstr "க்னூபிஜி: முன்னிருப்பு விசைவலைய அடைவு" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"படம் மிகப்பெரியது\n" +"உங்கள் விசைக்கு பரிந்துரைக்கப்பட்ட அளவு %d x %d படத்துணுக்குகள்." + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "_D மறு அளவாக்காதே" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "_R அளவு மாற்று" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"இது ஒரு படம் கோப்பு அல்ல, அல்லது இனம் தெரியாத பட கோப்பு. ஜேபெக் படத்தை பயன் " +"படுத்த " +"முயல்க." + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "எல்லாம பட கோப்புகளும்" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "எல்லா ஜேபெக் (JPEG) கோப்புகளும்" + +#: ../pgp/seahorse-gpgme-photos.c:242 ../src/seahorse-key-manager.c:307 +msgid "All files" +msgstr "எல்லா கோப்புகளும்" + +#: ../pgp/seahorse-gpgme-photos.c:263 +msgid "Choose Photo to Add to Key" +msgstr "விசைக்கு கூட்ட படம் தேர்வு செய்க" + +#: ../pgp/seahorse-gpgme-photos.c:285 +msgid "Couldn't prepare photo" +msgstr "படத்தை உருவாக்க முடியவில்லை" + +#: ../pgp/seahorse-gpgme-photos.c:295 ../pgp/seahorse-gpgme-photos.c:298 +msgid "Couldn't add photo" +msgstr "படத்தை சேர்க்க முடியவில்லை" + +#: ../pgp/seahorse-gpgme-photos.c:296 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "கோப்பை ஏற்ற முடியவில்லை. அது செல்லாத முறைமையில் இருக்கலாம்." + +#: ../pgp/seahorse-gpgme-photos.c:322 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "இப்போதைய படத்தை நிச்சயமாக உங்கள் விசையிலிருந்து நீக்க வேண்டுமா?" + +#: ../pgp/seahorse-gpgme-photos.c:335 +msgid "Couldn't delete photo" +msgstr "படத்தை நீக்க முடியவில்லை" + +#: ../pgp/seahorse-gpgme-revoke.c:75 +msgid "Couldn't revoke subkey" +msgstr "துணை விசையை நீக்க முடியவில்லை" + +#: ../pgp/seahorse-gpgme-revoke.c:96 +#, c-format +msgid "Revoke: %s" +msgstr "இரத்து செய்க: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:107 +msgid "No reason" +msgstr "காரணம் இல்லை" + +#: ../pgp/seahorse-gpgme-revoke.c:108 +msgid "No reason for revoking key" +msgstr "விசையை இரத்து செய்ய காரணம் இல்லை" + +#: ../pgp/seahorse-gpgme-revoke.c:114 +msgid "Compromised" +msgstr "பாதுகாப்பு இழந்தது" + +#: ../pgp/seahorse-gpgme-revoke.c:115 +msgid "Key has been compromised" +msgstr "விசை பாதுகாப்பு இழந்தது" + +#: ../pgp/seahorse-gpgme-revoke.c:121 +msgid "Superseded" +msgstr "வலுவாக அகற்றப்பட்டது" + +#: ../pgp/seahorse-gpgme-revoke.c:122 +msgid "Key has been superseded" +msgstr "விசை வலுவாக அகற்றப்பட்டது" + +#: ../pgp/seahorse-gpgme-revoke.c:128 +msgid "Not Used" +msgstr "பயன்படுத்தப்படவில்லை" + +#: ../pgp/seahorse-gpgme-revoke.c:129 +msgid "Key is no longer used" +msgstr "விசை பயன்பாட்டில் இல்லை" + +#: ../pgp/seahorse-gpgme-revoke.c:166 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"நீங்கள் %s ஆல் %s ஐ இரத்து செய்ய முயல்கிறீகள். இதை மீட்க முடியாது. நிச்சயம் " +"செய்ய வேண்டுமா?" + +#: ../pgp/seahorse-gpgme-revoke.c:178 +msgid "Couldn't add revoker" +msgstr "இரத்து செய்வியை சேர்க்க முடியவில்லை" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:82 ../ssh/seahorse-ssh-deleter.c:83 +msgid "I understand that this secret key will be permanently deleted." +msgstr "இந்த ரகசிய விசை நிரந்தரமாக நீக்கப்படும் என நான் அறிவேன்." + +#: ../pgp/seahorse-gpgme-sign.c:100 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" +"இந்த விசை ஏற்கெனெவே இவரால் கையெழுத்திடப்பட்டது\n" +"\"%s" + +#: ../pgp/seahorse-gpgme-sign.c:105 +msgid "Couldn't sign key" +msgstr "விசையை கையெழுத்திட முடியவில்லை" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:164 ../pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "கையெழுத்திட பயனாகும் விசை ஏதும் இல்லை" + +#: ../pgp/seahorse-gpgme-sign.c:165 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"இந்த விசையில் உங்கள் நம்பிக்கையை காட்ட உங்களிடம் பிஜிபி விசை ஏதும் இல்லை." + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "தெரியாத" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "எல் காமல்" + +#: ../pgp/seahorse-hkp-source.c:604 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "தேடல் குறிப்பாக இல்லை. சேவையகம் '%s' இல் பல விசைகள் உள்ளன." + +#: ../pgp/seahorse-hkp-source.c:607 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "சேவையகம் '%s' உடன் தொடர்பு கொள்ள முடியவில்லை:%s" + +#: ../pgp/seahorse-hkp-source.c:1127 +msgid "HTTP Key Server" +msgstr "HTTP விசை சேவகன்" + +#: ../pgp/seahorse-keyserver-results.c:175 +msgid "Couldn't import keys" +msgstr "விசைகளை ஏற்றுமதி செய்ய முடியவில்லை" + +#: ../pgp/seahorse-keyserver-results.c:218 +msgid "Importing keys from key servers" +msgstr "விசை சேவையகத்துக்கு விசைகளை இறக்குகிறது" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:244 ../src/seahorse-key-manager.c:507 +msgid "_Remote" +msgstr "தொலை (_R)" + +#: ../pgp/seahorse-keyserver-results.c:246 +msgid "Close this window" +msgstr "இந்த சாளரத்தை மூடு" + +#: ../pgp/seahorse-keyserver-results.c:250 ../pgp/seahorse-pgp-actions.c:115 +msgid "_Find Remote Keys..." +msgstr "தொலை விசைகளை தேடுக (_F)..." + +#: ../pgp/seahorse-keyserver-results.c:251 ../pgp/seahorse-pgp-actions.c:116 +msgid "Search for keys on a key server" +msgstr "விசைகளை விசை சேவையகத்தில் தேடுகிறது" + +#: ../pgp/seahorse-keyserver-results.c:255 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "_I இறக்குமதி செய்" + +#: ../pgp/seahorse-keyserver-results.c:256 +msgid "Import selected keys to local key ring" +msgstr "உள்ளமை விசை ரிங்கிற்கு தேர்ந்தெடுக்கப்பட்ட விசைகளை இறக்கு" + +#: ../pgp/seahorse-keyserver-results.c:286 +msgid "Remote Keys" +msgstr "தொலை விசைகள்" + +#: ../pgp/seahorse-keyserver-results.c:288 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "' %s'ஐ தொலை விசைகள் கொண்டுள்ளன" + +#: ../pgp/seahorse-keyserver-results.c:486 +msgid "The search for keys failed." +msgstr "விசைகளுக்கு தேடல் தோல்வியடைந்தது." + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "தொலை விசைகளை தேடுக" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"இது மற்றவர்களுக்கு இணையத்தில் விசைகளை கண்டு பிடிக்கும். இந்த விசைகளை பின்னர் " +"உங்கள் விசை " +"வளையத்தில் இறக்குமதி செய்யலாம்." + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "_S இது உள்ள விசைகளை தேடு:" + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "விசை சேவையகங்கள்:" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "அருகிலுள்ள பகிர்ந்து கொண்ட விசைகள்:" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "எங்கே தேடுவது:" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "_S தேடுக" + +#: ../pgp/seahorse-keyserver-sync.c:57 +msgid "Couldn't publish keys to server" +msgstr "சேவையகத்துக்கு விசைகளை வெளியிட முடியவில்லை" + +#: ../pgp/seahorse-keyserver-sync.c:76 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "%s சேவையகத்திலிருந்து விசைகளை மீட்டெடுக்க முடியவில்லை" + +#: ../pgp/seahorse-keyserver-sync.c:160 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "ஒத்திசைவுக்கு %d விசை தேர்ந்தெடுக்கப்படுகிறது" +msgstr[1] "ஒத்திசைவுக்கு %d விசைகள் தேர்ந்தெடுக்கப்படுகிறன" + +#: ../pgp/seahorse-keyserver-sync.c:240 +msgid "Synchronizing keys..." +msgstr "விசைகள் ஒத்திசைக்கப்படுகின்றன..." + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "விசைகள் ஒத்திசைப்பு" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"இது உங்கள் விசை வளையத்தில் உள்ள விசைகளை மற்றவர்களுக்கு கிடைக்கும்படி " +"வெளியிடும். " +"உங்களுக்கு மற்றவர்கள் அவரவர் விசைகளில் நீங்கள் கடைசியாக பெற்ற பின் " +"செய்திருக்கக்கூடிய " +"மாற்றங்களும் கிடைக்கும்." + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"இது உங்களுக்கு மற்றவர்கள் அவரவர் விசைகளில் நீங்கள் கடைசியாக பெற்ற பின் " +"செய்திருக்கக்கூடிய " +"மாற்றங்களை எடுக்கிறது. உங்கள் விசைகளை வெளியிட சேவையகத்தை தேர்ந்து " +"எடுக்கவில்லை. அதனால் " +"உங்கள் விசைகள் அவர்களுக்கு கிடைக்காது." + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "_K விசை சேவையகங்கள்" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "_S ஒத்திசைப்பு" + +#: ../pgp/seahorse-ldap-source.c:441 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "'%s' உடன் தொடர்பு கொள்ள முடியவில்லை: %s" + +#: ../pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Connecting to: %s" +msgstr "%s க்கு இணைக்கிறது" + +#: ../pgp/seahorse-ldap-source.c:658 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "முகவரியை தீர்க்க முடியவில்லை: %s" + +#: ../pgp/seahorse-ldap-source.c:702 +#, c-format +msgid "Resolving server address: %s" +msgstr "சேவையக முகவரியை தீர்க்கிறது: %s" + +#: ../pgp/seahorse-ldap-source.c:1447 +msgid "LDAP Key Server" +msgstr "எல்டிஏபி விசை சேவகன்" + +#: ../pgp/seahorse-pgp-actions.c:120 +msgid "_Sync and Publish Keys..." +msgstr "ஒருங்கிணை மற்றும் வெளியீடு விசைகள் (_S)..." + +#: ../pgp/seahorse-pgp-actions.c:121 +msgid "Publish and/or synchronize your keys with those online." +msgstr "இந்த ஆன்லைனில் உங்கள் விசைகளை வெளியீடு அல்லது ஒருங்கிணை" + +#: ../pgp/seahorse-pgp-backend.c:172 +msgid "PGP Keys" +msgstr "பிஜிபி விசைகள்" + +#: ../pgp/seahorse-pgp-backend.c:175 +msgid "PGP keys are for encrypting email or files" +msgstr "" +"பிஜிபி விசைகள் மின்னஞ்சல் மற்றும் கோப்புகளுக்கு மறையாக்கம் செய்ய பயன்படும் " + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "_r உருவாக்கு" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "ஒரு புதிய விசையை உருவாக்குக" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"ஒரு பிஜிபி விசை நீங்கள் மின்னஞ்சல் அல்லது கோப்புகளை மறையாக்கம் செய்து " +"மற்றவருக்கு அனுப்ப " +"உதவுகிறது." + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "_Comment:" +msgstr "_C குறிப்புரை:" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Ne_ver Expires" +msgstr "காலாவதி _v இல்லை" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "_T மறையாக்க வகை:" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "விசை _S பலம் (பிட்டுகள்):" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "_x காலாவதி தேதி:" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "_A உயர்நிலை விசை தேர்வுகள்" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "Personal PGP key" +msgstr "அந்தரங்க பிஜிபி விசை" + +#: ../pgp/seahorse-pgp-key.c:355 +msgid "PGP key" +msgstr "பிஜிபி விசை" + +#: ../pgp/seahorse-pgp-key-properties.c:325 +msgid "Couldn't change primary user ID" +msgstr "முதன்மை பயனரின் அடையாளத்தை மாற்ற முடியவில்லை" + +#: ../pgp/seahorse-pgp-key-properties.c:344 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "பயனர் அடையாளம் '%s' ஐ நிச்சயம் நிரந்தரமாக அழிக்க வேண்டுமா?" + +#: ../pgp/seahorse-pgp-key-properties.c:354 +msgid "Couldn't delete user ID" +msgstr "பயனர் அடையாளத்தை அழிக்க முடியவில்லை" + +#: ../pgp/seahorse-pgp-key-properties.c:429 +#: ../pgp/seahorse-pgp-key-properties.c:1571 +msgid "[Unknown]" +msgstr "[தெரியாத]" + +#: ../pgp/seahorse-pgp-key-properties.c:538 +#: ../pgp/seahorse-pgp-key-properties.c:1854 +msgid "Name/Email" +msgstr "பெயர்/மின்னஞ்சல்" + +#: ../pgp/seahorse-pgp-key-properties.c:545 +msgid "Signature ID" +msgstr "கையொப்பம் அடையாளம்" + +#: ../pgp/seahorse-pgp-key-properties.c:678 +msgid "Couldn't change primary photo" +msgstr "முதன்மை படத்தை மாற்ற முடியவில்லை" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:912 +msgid "(unknown)" +msgstr "(தெரியாதது)" + +#: ../pgp/seahorse-pgp-key-properties.c:915 +#, c-format +msgid "This key expired on: %s" +msgstr "விசை இந்த தேதியில் காலாவதி ஆனது: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:978 +msgid "Name" +msgstr "பெயர்" + +#: ../pgp/seahorse-pgp-key-properties.c:1091 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "நிச்சயமாக துணை விசை %d ( %s இல்) ஐ நிரந்தரமாக நீக்க வேண்டுமா?" + +#: ../pgp/seahorse-pgp-key-properties.c:1100 +msgid "Couldn't delete subkey" +msgstr "துணை விசையை அழிக்க முடியவில்லை" + +#: ../pgp/seahorse-pgp-key-properties.c:1140 +#: ../pgp/seahorse-pgp-key-properties.c:1545 +msgid "Unable to change trust" +msgstr "நம்பிக்கையை மாற்ற முடியவில்லை" + +#: ../pgp/seahorse-pgp-key-properties.c:1153 +#: ../ssh/seahorse-ssh-key-properties.c:202 +msgid "Couldn't export key" +msgstr "விசையை ஏற்றுமதி செய்ய முடியவில்லை" + +#: ../pgp/seahorse-pgp-key-properties.c:1267 +msgid "Marginal" +msgstr "விளிம்பில்" + +#: ../pgp/seahorse-pgp-key-properties.c:1273 +msgid "Full" +msgstr "முழு" + +#: ../pgp/seahorse-pgp-key-properties.c:1279 +msgid "Ultimate" +msgstr "கடைசி" + +#: ../pgp/seahorse-pgp-key-properties.c:1385 +#: ../pgp/seahorse-pgp-key-properties.c:1474 +msgctxt "Expires" +msgid "Never" +msgstr "ஒரு போதும் இல்லை" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "ID" +msgstr "அடையாளம்" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Type" +msgstr "வகை" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "உருவாக்கப்பட்டது" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "காலாவதி ஆவது" + +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "நிலை" + +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "பலம்" + +#: ../pgp/seahorse-pgp-key-properties.c:1465 +msgid "Revoked" +msgstr "ரத்து செய்யப்பட்டது" + +#: ../pgp/seahorse-pgp-key-properties.c:1467 +msgid "Expired" +msgstr "காலாவதியானது" + +#: ../pgp/seahorse-pgp-key-properties.c:1469 +msgid "Disabled" +msgstr "இயலுமை நீக்கிய" + +#: ../pgp/seahorse-pgp-key-properties.c:1471 +msgid "Good" +msgstr "நன்று" + +#: ../pgp/seahorse-pgp-key-properties.c:1857 +msgid "Key ID" +msgstr "விசை அடையாளம்" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "இந்த விசை திரும்பிப் பெறப்பட்டு விட்டது." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" +"இந்த விசையின் உரிமையாளர் விசையை இரத்து செய்துவிட்டார். இதை இனி பயன்படுத்த " +"முடியாது." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "இந்த விசை காலாவதி ஆகிவிட்டது" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "இந்த விசைக்கு ஒரு படத்தை சேர்க்கவும்" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "இந்த விசையிலிருந்து படத்தை நீக்குக" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "இந்த படத்தை முதன்மை படமாக்குக" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "முந்தைய படத்துக்கு போகவும்" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "அடுத்த படத்துக்கு போகவும்" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "புகைப்படம்" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "விசை அடையாளம்:" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "பெயர்:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "மின்னஞ்சல்:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "குறிப்புரை:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "அனுப்பிய கோப்புகள் மற்றும் மின்னஞ்சல்களை மறைவிலக்கு" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "அந்தரங்க பிஜிபி விசை" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "_P கடவுசொற்றொடரை மாற்று" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "உரிமையாளர்" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "விசை பெயர்கள் மற்றும் கையெழுத்துக்கள்" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "முதன்மை" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +msgid "Sign" +msgstr "கையொப்பம்" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "நீக்கு" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "_A பெயரை சேர்க்கவும்" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "இரத்து செய்க" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "பெயர்கள் மற்றும் கையெழுத்துக்கள்" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "பலம்:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "தொழில் நுட்ப விவரங்கள்" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "விசை சுருக்கம்" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "காலாவதியாகிறது:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "தேதிகள்" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "உரிமையாளர் _T நம்பிக்கை மீறுகை:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Complete Key:" +msgstr "முழு விசையை _E ஏற்றுமதி செய்க:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "Actions" +msgstr "செயல்கள்" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "சேர்க்க" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "காலாவதி" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "_S துணவிசைகள்" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "விளிம்பில்" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "முழுதும்" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "கடைசியில்" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key's owner" +msgstr "கோப்புகளை மறையாக்குக மற்றும் விசை உரிமையாளருக்கு மின்னஞ்சல் செய்க." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "பொது பிஜிபி விசை" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "_O மற்ற பெயர்கள்:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr " இந்த விசையில் உங்கள் நம்பிக்கை" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "" +"உங்கள் நம்பிக்கை கைமுறையாக விவரங்கள் கீற்றில் குறிப்பிடப்பட்டது." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "'%s இடமிருந்து வரும் மற்ற விசைகளையும் நம்புகிறேன்." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" +"இந்த விசை '%s' உடையது என நம்புகிறீர்கள் எனில் இந்த விசையைகையெழுத்திடுக:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "_S இந்த விசையை கையெழுத்திடுக" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" +"இந்த விசை '%s' உடையது என இனி நம்பிக்கை இல்லை எனில் விசையை இரத்து செய்க:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "_R கையொப்பத்தை இரத்து செய்க" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "_p இந்த விசையை கையெழுத்திட்ட நபர்கள்:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "_O நான் நம்பும் நபர்களின் விசைகளை மட்டும் இதில் காட்டுக" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "நம்பு" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "கைரேகை:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "தேதிகள்:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "நம்பிக்கையை காட்டுங்கள்:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "_T உரிமையாளரை நீங்கள் நம்புகிறீர்கள்:" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "துணைவிசை %d %s இல் " + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "விசையை இரத்து செய்ய காரணம்" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "_R காரணம்:" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "இரத்து செயலின் விருப்ப விவரம்" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "_v இரத்துசெய்க" + +#: ../pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"ஆவணங்களையோ செய்திகளையோ கையெழுதிட உங்களிடம் அந்தரங்க பிஜிபி விசை ஏதும் இல்லை." + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "_S செய்தியை விசையால் கையொப்பமிடுக." + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "விசைக்கு கையொப்பம் இடு" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"கையெழுத்திடுவதால் இந்த விசை இன்னாருக்கு உரியது என நம்பிக்கையை காட்டுகிறீகள்:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "விசை பெயர்" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "இந்த விசையை கவனமாக சோதித்தீர்களா?" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "_N இல்லவே இல்லை" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "_C மேலோட்டமாக" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "_V மிக கவனமாக" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +" இல்லவே இல்லை: எனில் நீங்கள் விசையை தனது என்பவருடையது என " +"நம்புகிறீர்கள். ஆனால் " +"அதை உறுதி செய்ய இயலவில்லை" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +" மேலோட்டமாக எனில் நீங்கள் விசையை தனது என்பவருடையதா என மேலோட்டமாக உறுதி " +"செய்து " +"உள்ளீர்கள். உதாரணமாக விசையின் அடையாளத்தை தொலைபேசியில் அவருக்கு படிக்க " +"முடிந்தது." + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"மிக கவனமாக: விசை நிச்சயம் உண்மையானது என தெரிந்தால் மட்டுமே இதை தேர்வு " +"செய்யவும்." + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"விசையில் உள்ள பெயர் சரி பார்க்க நீங்கள் பாஸ்போர்ட் போன்ற ஒரு நிச்சய சுலபமாக " +"நகலெடுக்க " +"இயலாத பட அடையாளத்தை பயன்படுத்தலாம். நீங்கள் உரிமையாளரின் மின்னஞ்சலையும் " +"அவருடையதுதானா " +"என்று அறிய பயன்படுத்தி இருக்க வேண்டும்." + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "மற்றவர்கள் இந்த விசையை எப்படி காண்பார்கள்:" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "_O மற்றவர் இந்த கையெழுத்தை பார்க்கக் கூடாது" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "_r நான் இந்த விசையை பின்னால் ஒரு தேதியில் இரத்து செய்ய முடியும்." + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "விசையை இப்படி கையெழுத்திடுக:" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "_S கையொப்பமிடுபவர்:" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "_S கையொப்பமிடுக" + +#: ../pgp/seahorse-transfer.c:237 ../pgp/seahorse-transfer.c:284 +msgid "Exporting data" +msgstr "தரவை ஏற்றுமதி செய்கிறது" + +#: ../pgp/seahorse-transfer.c:237 ../pgp/seahorse-transfer.c:284 +msgid "Retrieving data" +msgstr "தரவை மீட்கிறது" + +#: ../pgp/seahorse-transfer.c:240 ../pgp/seahorse-transfer.c:287 +msgid "Importing data" +msgstr "தரவை இறக்குமதி செய்கிறது" + +#: ../pgp/seahorse-transfer.c:240 ../pgp/seahorse-transfer.c:287 +msgid "Sending data" +msgstr "தரவு அனுப்பப்படுகிறது" + +#: ../pgp/seahorse-unknown.c:61 +msgid "Unavailable" +msgstr "இருப்பில் இல்லை" + +#: ../pkcs11/seahorse-certificate.c:434 +msgid "Personal certificate and key" +msgstr "தனிப்பட்ட சான்றிதழ் மற்றும் விசை " + +#: ../pkcs11/seahorse-certificate.c:437 +msgid "Personal certificate" +msgstr "தனிப்பட்ட சான்றிதழ்" + +#: ../pkcs11/seahorse-certificate.c:439 +#: ../pkcs11/seahorse-certificate-der-exporter.c:77 +msgid "Certificate" +msgstr "சான்றிதழ்" + +#: ../pkcs11/seahorse-certificate-der-exporter.c:99 +msgid "Certificates (DER encoded)" +msgstr "சான்றிதழ்கள் (டிஈஆர் குறியாக்கம் செய்த)" + +#: ../pkcs11/seahorse-pkcs11-backend.c:183 +msgid "Certificates" +msgstr "சான்றிதழ்கள்" + +#: ../pkcs11/seahorse-pkcs11-backend.c:186 +msgid "X.509 certificates and related keys" +msgstr "X.509 சான்றிதழ்கள் மற்றும் தொடர்பான விசைகள் " + +#: ../pkcs11/seahorse-pkcs11-deleter.c:69 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "%d சான்றிதழை நிச்சயம் நிரந்தரமாக அழிக்க வேண்டுமா?" +msgstr[1] "%d சான்றிதழ்களை அடையாளங்களை நிச்சயம் நிரந்தரமாக அழிக்க வேண்டுமா?" + +#: ../pkcs11/seahorse-pkcs11-generate.c:114 +msgid "Couldn't generate private key" +msgstr "அந்தரங்க விசையை உருவாக்க முடியவில்லை" + +#: ../pkcs11/seahorse-pkcs11-generate.c:413 +#: ../pkcs11/seahorse-pkcs11-request.c:255 +msgid "Create" +msgstr "உருவாக்கு" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +#: ../pkcs11/seahorse-private-key.c:178 +msgid "Private key" +msgstr "அந்தரங்க விசை" + +#: ../pkcs11/seahorse-pkcs11-generate.c:507 +msgid "Used to request a certificate" +msgstr "ஒரு சான்றிதழை கேட்க பயனாகிறது" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "ஒரு புதிய அந்தரங்க விசையை உருவாக்குக" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "விளக்கச்சீட்டு:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "சேமித்த இடம்:" + +#: ../pkcs11/seahorse-pkcs11-key-deleter.c:85 +msgid "I understand that this key will be permanently deleted." +msgstr "இந்த விசை நிரந்தரமாக நீக்கப்படும் என்று அறிவேன்." + +#: ../pkcs11/seahorse-pkcs11-properties.c:147 +#: ../pkcs11/seahorse-pkcs11-properties.c:151 +msgid "Unnamed" +msgstr "பெயரில்லா" + +#: ../pkcs11/seahorse-pkcs11-properties.c:175 +msgid "Failed to export certificate" +msgstr "சான்றிதழை ஏற்றுமதி செய்ய முடியவில்லை" + +#: ../pkcs11/seahorse-pkcs11-properties.c:190 ../src/seahorse-sidebar.c:877 +msgid "Couldn't delete" +msgstr "நீக்க முடியவில்லை" + +#: ../pkcs11/seahorse-pkcs11-properties.c:231 +msgid "_Export" +msgstr "_E ஏற்றுமதி" + +#: ../pkcs11/seahorse-pkcs11-properties.c:232 +msgid "Export the certificate" +msgstr "ஒரு கோப்பை ஏற்றுமதி செய்" + +#: ../pkcs11/seahorse-pkcs11-properties.c:234 +msgid "Delete this certificate or key" +msgstr "இந்த சான்றிதழ் அல்லது விசையை நீக்குக" + +#: ../pkcs11/seahorse-pkcs11-properties.c:235 +msgid "Request _Certificate" +msgstr "_C சான்றிதழ் ஐ வேண்டுக" + +#: ../pkcs11/seahorse-pkcs11-properties.c:236 +msgid "Create a certificate request file for this key" +msgstr "இந்த விசைக்கு ஒரு சான்றிதழை உருவாக்கு" + +#: ../pkcs11/seahorse-pkcs11-request.c:103 +msgid "Couldn't save certificate request" +msgstr "சான்றிதழ் வேண்டுதலை சேமிக்க முடியவில்லை." + +#: ../pkcs11/seahorse-pkcs11-request.c:126 +msgid "Save certificate request" +msgstr "சான்றிதழ் வேண்டுதலை சேமி" + +#: ../pkcs11/seahorse-pkcs11-request.c:137 +msgid "Certificate request" +msgstr "சான்றிதழ் வேண்டுதல்" + +#: ../pkcs11/seahorse-pkcs11-request.c:145 +msgid "PEM encoded request" +msgstr "பிஈஎம் குறியாக்கிய வேண்டுதல்" + +#: ../pkcs11/seahorse-pkcs11-request.c:193 +msgid "Couldn't create certificate request" +msgstr "சான்றிதழ் வேண்டுதலை உருவாக்க முடியவில்லை." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "சான்றிதழ் வேண்டுதல் கோப்பை உருவாக்குக" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "சான்றிதழ் வேண்டுதலில் வைத்த சாதாரண பெயர் (CN)" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "பெயர் (CN):" + +#: ../pkcs11/seahorse-private-key.c:131 +msgid "Unnamed private key" +msgstr "பெயரிடாத அந்தரங்க விசை" + +#: ../pkcs11/seahorse-token.c:576 +msgctxt "Label" +msgid "Unknown" +msgstr "தெரியாத" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "கடவுச்சொற்றொடர் ஐ மாற்றுக" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "_Pபுதிய கடவு வாக்கியம்:" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "கடவுச்சொற்றொடரை உறுதிப்படுத்து" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "_f கடவுச்சொற்றொடர் ஐ உறுதிப்படுத்து:" + +#: ../src/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "உங்கள் கடவுச்சொற்கள் மற்றும் மறையாக்க விசைகளை மேலாளுங்கள்" + +#: ../src/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "விசைவளையம்;குறியாக்கம்;பாதுகாப்பு;கையெழுத்திடல்;எஸ்எஸ்ஹெச்;" + +#: ../src/seahorse-generate-select.c:229 +msgid "Continue" +msgstr "தொடர்க" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "(_S) உருவாக்க வேண்டிய உருப்படியை தேர்ந்தெடுக்கவும்:" + +#: ../src/seahorse-import-dialog.c:98 +msgid "Import failed" +msgstr "இறக்குமதி தோல்வி" + +#: ../src/seahorse-import-dialog.c:116 +msgid "Import" +msgstr "இறக்குமதி" + +#: ../src/seahorse-import-dialog.c:129 +msgid "Data to be imported:" +msgstr "இறக்குமதி செய்ய தேதி:" + +#: ../src/seahorse-key-manager.c:261 ../ssh/seahorse-ssh-operation.c:845 +msgid "Import Key" +msgstr "விசையை இறக்குமதி செய்க" + +#: ../src/seahorse-key-manager.c:273 +msgid "All key files" +msgstr "எல்லா விசை கோப்புகளும்" + +#: ../src/seahorse-key-manager.c:374 +msgid "Dropped text" +msgstr "விடப்பட்ட உரை" + +#: ../src/seahorse-key-manager.c:397 +msgid "Clipboard text" +msgstr "ஒட்டுப்பலகை உரை" + +#: ../src/seahorse-key-manager.c:508 +msgid "_New" +msgstr "புதிய (_N)" + +#: ../src/seahorse-key-manager.c:510 +msgid "Close this program" +msgstr "இந்த நிரல் மூடு" + +#: ../src/seahorse-key-manager.c:511 ../src/seahorse-key-manager.c:513 +msgid "_New..." +msgstr "புதிய (_N)..." + +#: ../src/seahorse-key-manager.c:512 +msgid "Create a new key or item" +msgstr "ஒரு புதிய விசை அல்லது உருப்படியை உருவாக்குக" + +#: ../src/seahorse-key-manager.c:514 +msgid "Add a new key or item" +msgstr "ஒரு புதிய விசை அல்லது உருப்படியை சேர்" + +#: ../src/seahorse-key-manager.c:515 +msgid "_Import..." +msgstr "இறக்குமதி செய் (_I)..." + +#: ../src/seahorse-key-manager.c:516 +msgid "Import from a file" +msgstr "ஒரு கோப்புக்கு ஏற்றுமதி செய்" + +#: ../src/seahorse-key-manager.c:518 +msgid "Import from the clipboard" +msgstr "ஒட்டுப்பலகைக்கு படியெடு " + +#: ../src/seahorse-key-manager.c:522 +msgid "By _keyring" +msgstr "_K விசை வளையத்தால்" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show sidebar listing keyrings" +msgstr "விசை வளையங்களை பட்டியலிடும் பக்கப்பலகம்" + +#: ../src/seahorse-key-manager.c:527 +msgid "Show _personal" +msgstr "_p சொந்தத்தை காட்டு" + +#: ../src/seahorse-key-manager.c:528 +msgid "Only show personal keys, certificates and passwords" +msgstr "அந்தரங்க விசைகள், சான்றிதழ்கள் மற்றும் கடவுச்சொற்களை மட்டும் காட்டு." + +#: ../src/seahorse-key-manager.c:529 +msgid "Show _trusted" +msgstr "_t நம்பகமானதை மட்டும் காட்டு" + +#: ../src/seahorse-key-manager.c:530 +msgid "Only show trusted keys, certificates and passwords" +msgstr "நம்பகமான விசைகள், சான்றிதழ்கள் மற்றும் கடவுச்சொற்களை மட்டும் காட்டு. " + +#: ../src/seahorse-key-manager.c:531 +msgid "Show _any" +msgstr " _a எதையும் காட்டுக" + +#: ../src/seahorse-key-manager.c:532 +msgid "Show all keys, certificates and passwords" +msgstr "எல்லா விசைகள், சான்றிதழ்கள் மற்றும் கடவுச்சொற்களையும் காட்டு." + +#: ../src/seahorse-key-manager.c:736 +msgid "Filter" +msgstr "வடிப்பி" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "முதல் முறை விருப்பங்கள்:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "உங்களுடைய புதிய ஒரு விசையை உருவாக்குக:" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "ஒரு கோப்பிலிருந்து இருப்பில் உள்ள விசைகளை இறக்குமதி செய்க:" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "மறையாக்கம் செய்ய துவங்க உங்களுக்கு விசைகள் தேவை." + +#: ../src/seahorse-sidebar.c:801 +msgid "Couldn't lock" +msgstr "பூட்ட முடியவில்லை" + +#: ../src/seahorse-sidebar.c:838 +msgid "Couldn't unlock" +msgstr "பூட்டு திறக்க முடியவில்லை" + +#: ../src/seahorse-sidebar.c:946 +msgid "_Lock" +msgstr "(_L) பூட்டு" + +#: ../src/seahorse-sidebar.c:951 +msgid "_Unlock" +msgstr "பூட்டு நீக்கு (_U)" + +#: ../src/seahorse-sidebar.c:970 +msgid "_Properties" +msgstr "பண்புகள் (_P)" + +#: ../ssh/seahorse-ssh-actions.c:100 +msgid "Configure Key for _Secure Shell..." +msgstr "_S பத்திரமான ஷெல் க்கு விசை வடிவமைக்கிறது..." + +#: ../ssh/seahorse-ssh-actions.c:101 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"பத்திரமான ஷெல் விசையை மற்றொரு கணினிக்கு அனுப்பி அந்த விசையை பயன்படுத்தி " +"உள்நுழைய " +"இயலுமை படுத்துக" + +#: ../ssh/seahorse-ssh-askpass.c:60 ../ssh/seahorse-ssh-askpass.c:68 +msgid "Enter your Secure Shell passphrase:" +msgstr "உங்கள் பத்திரமான ஷெல் கடவு சொற்றொடரை உள்ளிடுக." + +#: ../ssh/seahorse-ssh-askpass.c:82 +msgid "Old Key Passphrase" +msgstr "பழைய விசை கடவுச்சொற்றொடர்" + +#: ../ssh/seahorse-ssh-askpass.c:83 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "%s க்கு பழைய விசை கடவுச்சொற்றொடர் ஐ உள்ளிடு" + +#: ../ssh/seahorse-ssh-askpass.c:87 ../ssh/seahorse-ssh-askpass.c:92 +msgid "New Key Passphrase" +msgstr "புதிய விசை கடவுச்சொற்றொடர்" + +#: ../ssh/seahorse-ssh-askpass.c:88 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "%s க்கு புதிய கடவுச்சொற்றொடர் ஐ உள்ளிடு" + +#: ../ssh/seahorse-ssh-askpass.c:93 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "புதிய கடவுச்சொற்றொடர் ஐ மீண்டும் உள்ளிடு: %s " + +#: ../ssh/seahorse-ssh-backend.c:91 +msgid "Secure Shell" +msgstr "பத்திரமான ஷெல்" + +#: ../ssh/seahorse-ssh-backend.c:94 +msgid "Keys used to connect securely to other computers" +msgstr "மற்ற கணினிகளுடன் பாதுகாப்புடன் இணைக்க பயன்படும் விசைகள்" + +#: ../ssh/seahorse-ssh-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:86 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "பத்திரமான ஷெல் விசை '%s' ஐ நிச்சயம் அழிக்க வேண்டுமா?" + +#: ../ssh/seahorse-ssh-deleter.c:91 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "%d பத்திரமான ஷெல் விசையை நிச்சயம் அழிக்க வேண்டுமா?" +msgstr[1] "%d பத்திரமான ஷெல் விசைகளை நிச்சயம் அழிக்க வேண்டுமா?" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "Ssh Key" +msgstr "எஸ்எஸ்ஹெச் விசை" + +#: ../ssh/seahorse-ssh-exporter.c:122 +msgid "Secret SSH keys" +msgstr "ரகசிய எஸ்எஸ்ஹெச் விசைகள்" + +#: ../ssh/seahorse-ssh-exporter.c:126 +msgid "Public SSH keys" +msgstr "பொது எஸ்எஸ்ஹெச் விசைகள்" + +#: ../ssh/seahorse-ssh-exporter.c:290 +msgid "No public key file is available for this key." +msgstr "இந்த விசைக்கு பொது விசை கோப்பு இல்லை" + +#: ../ssh/seahorse-ssh-generate.c:55 ../ssh/seahorse-ssh-key.c:114 +#: ../ssh/seahorse-ssh-key.c:118 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "பத்திரமான ஷெல் விசை" + +#: ../ssh/seahorse-ssh-generate.c:56 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "மற்ற கணினிகளை அணுக பயன்படும். (எ-டு ஒரு முனையம் வழியாக)" + +#: ../ssh/seahorse-ssh-generate.c:110 ../ssh/seahorse-ssh-generate.c:126 +msgid "Couldn't generate Secure Shell key" +msgstr "பத்திரமான ஷெல் விசையை உருவாக்க முடியவில்லை" + +#: ../ssh/seahorse-ssh-generate.c:192 +msgid "Creating Secure Shell Key" +msgstr "பத்திரமான ஷெல் விசையை உருவாக்குகிறது" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "புதிய பத்திரமான ஷெல் விசை" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "_J விசை மட்டும் உருவாக்கு " + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "_C உருவாக்கு மற்றும் அமை" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"ஒரு பாதுகாப்பான ஷெல் விசை (எஸ்எஸ்ஹெச்) உங்களை நம்பகமான கணினிகளுடன் இணைக்க " +"அனுமதிக்கிறது." + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr " இந்த விசை எதற்கு என்று நினைவுறுத்திக்கொள்ள உங்கள் மின்னஞ்சல் முகவரி" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "டிஎஸ்ஏ (DSA)" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"இந்த விசையை பயன்படுத்த ஏற்கெனெவே ஒரு கணினி இருந்தால் உங்கள் விசையை கண்டு " +"கொள்ள அந்த " +"கணினியை இப்போது வடிவமைக்கலாம். " + +#: ../ssh/seahorse-ssh-key.c:110 +msgid "(Unreadable Secure Shell Key)" +msgstr "(படிக்க இயலாத பத்திரமான ஷெல் விசை)" + +#: ../ssh/seahorse-ssh-key.c:218 +msgid "Personal SSH key" +msgstr "அந்தரங்க எஸ்எஸ்ஹெச் விசை" + +#: ../ssh/seahorse-ssh-key.c:220 +msgid "SSH key" +msgstr "எஸ்எஸ்ஹெச் விசை" + +#: ../ssh/seahorse-ssh-key-properties.c:82 +msgid "Couldn't rename key." +msgstr "விசையை மறு பெயரிட இயலவில்லை." + +#: ../ssh/seahorse-ssh-key-properties.c:135 +msgid "Couldn't change authorization for key." +msgstr "விசைக்கு அனுமதியை மாற்ற முடியவில்லை." + +#: ../ssh/seahorse-ssh-key-properties.c:170 +msgid "Couldn't change passphrase for key." +msgstr "விசைக்கு கடவுச்சொல்லை மாற்ற இயலவில்லை." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "இனங்காட்டி:" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "பெயர்:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "மற்ற கணினிகளுடன் இணைக்க பயன்படும்." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "_a இந்த விசையின் உரிமையாளர் இந்த கணினியுடன் இணைக்க அனுமதி உடையவர்" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "இது %s கணக்குக்கு மட்டுமே செல்லுபடியாகும்." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "படிமுறை:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "இடம்:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "_x முழு விசையை ஏற்றுமதி செய்க" + +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The SSH command was terminated unexpectedly." +msgstr "எஸ்எஸ்ஹெச்(SSH) கட்டளை எதிர்பாராமல் முடிந்தது." + +#: ../ssh/seahorse-ssh-operation.c:209 +msgid "The SSH command failed." +msgstr "எஸ்எஸ்ஹெச் கட்டளை தோல்வியுற்றது" + +#: ../ssh/seahorse-ssh-operation.c:502 +msgid "Remote Host Password" +msgstr "தொலை புரவலன் கடவுச்சொல்" + +#: ../ssh/seahorse-ssh-operation.c:588 +msgid "Enter Key Passphrase" +msgstr "விசை கடவுச்சொற்றொடர் ஐ உள்ளிடு" + +#: ../ssh/seahorse-ssh-operation.c:678 +msgid "Passphrase for New Secure Shell Key" +msgstr "புது பத்திரமான ஷெல் விசைக்கு கடவுச்சொற்றொடர்" + +#: ../ssh/seahorse-ssh-operation.c:862 +#, c-format +msgid "Importing key: %s" +msgstr "%s விசையை இறக்குமதி செய்கிறது" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Importing key. Enter passphrase" +msgstr "விசையை இறக்குமதி செய்கிறது. கடவுச்சொற்றொடர் ஐ உள்ளிடவும்" + +#: ../ssh/seahorse-ssh-source.c:232 +msgid "OpenSSH keys" +msgstr "திறந்த எஸ்எஸ்ஹெச் விசைகள் " + +#: ../ssh/seahorse-ssh-source.c:235 +#, c-format +msgid "OpenSSH: %s" +msgstr "திறந்த எஸ்எஸ்ஹெச்: %s" + +#: ../ssh/seahorse-ssh-source.c:940 +msgid "No private key file is available for this key." +msgstr "இந்த விசைக்கு தனி விசை இல்லை" + +#: ../ssh/seahorse-ssh-upload.c:50 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "தொலை கணினியில் பத்திரமான ஷெல் விசைகளை வடிவமைக்க இயலவில்லை." + +#: ../ssh/seahorse-ssh-upload.c:133 +msgid "Configuring Secure Shell Keys..." +msgstr "பத்திரமான ஷெல் விசைகளை வடிவமைகிறது..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "எஸ்எஸ்ஹெச்(SSH) இணைப்புக்கு கணிப்பொறியை அமை." + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"எஸ்எஸ்ஹெச் ஐ பயன்படுத்தும் இன்னொரு கணினியுடன் உங்கள் பாதுகாப்பான ஷெல் விசையை " +"பயன்படுத்த " +"அந்த கணினியில் உங்களுக்கு ஒரு உள்நுழைவு கணக்கு இருக்க வேண்டும்." + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "எ-டு: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "_C கணிப்பொறி பெயர்:" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "_L உள்நுழை பெயர்:" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "_S அமை" + +#~ msgid "Password:" +#~ msgstr "கடவுச்சொல்:" + +#~ msgid "Key Servers:" +#~ msgstr "விசை சேவையகங்கள்:" + +#~ msgid "Comment:" +#~ msgstr "குறிப்புரை:" + +#~ msgid "Dates" +#~ msgstr "தேதிகள்" + +#~ msgid "Key ID:" +#~ msgstr "விசை அடையாளம்:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "விசை பெயர்கள் மற்றும் கையொப்பம்" + +#~ msgid "Type:" +#~ msgstr "வகை:" + +#~ msgid "Use:" +#~ msgstr "பயன்படுத்து:" + +#~ msgid "Never" +#~ msgstr "ஒரு போதும் இல்லை" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "பெயர்:" + +#~ msgid "Dates:" +#~ msgstr "தேதிகள்:" + +#~ msgid "Strength:" +#~ msgstr "பலம்:" + +#~ msgid "Trust" +#~ msgstr "நம்பிக்கை" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "பெயர்:" + +#~ msgid "Login keyring" +#~ msgstr "உள்நுழைவு விசை வளையம்" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "விசை வளையத்துக்கு அணுக்கம் மறுக்கப்பட்டது" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "க்னோம்-விசை வளைய கிங்கரன் இயங்கவில்லை" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "விசைவளையம் ஏற்கெனவே திறக்கப்பட்டது" + +#~ msgid "No such key ring exists" +#~ msgstr "அப்படிப்பட்ட விசை வளையம் ஏதும் இல்லை" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "விசை வளைய கிங்கரன் உடன் தொடர்பு கொள்ள முடியவில்லை" + +#~ msgid "The item already exists" +#~ msgstr "இந்த உருப்படி ஏற்கெனவே உள்ளது" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "க்னோம் விசைவளையத்தை அணுகுவதில் உள்சார்ந்த பிழை" + +#~ msgid "Are you sure you want to delete %d secure shell keys?" +#~ msgstr "%d பத்திரமான ஷெல் விசைகளை ஐ நிச்சயம் அழிக்க வேண்டுமா?" + +#~ msgid "Algorithms here" +#~ msgstr "இங்கு படிமுறைகள்" diff --git a/po/te.po b/po/te.po new file mode 100644 index 00000000..75a6250b --- /dev/null +++ b/po/te.po @@ -0,0 +1,3168 @@ +# translation of seahorse.master.te.po to Telugu +# Telugu translation of seahorse. +# Copyright (C) 2007,2011,2012 Swecha Telugu Localisation Team . +# This file is distributed under the same license as the seahorse package. +# +# Srinivasa Chary , 2007. +# Krishna Babu K , 2009. +# Krishna Babu K , 2011. +# Hari Krishna , 2011, 2012. +# Sasi Bhushan Boddepalli , 2012 +msgid "" +msgstr "" +"Project-Id-Version: seahorse.master.te\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2012-04-16 13:02+0000\n" +"PO-Revision-Date: 2012-04-17 14:13+0530\n" +"Last-Translator: Sasi Bhushan Boddepalli \n" +"Language-Team: Telugu \n" +"Language: te\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n!=1);\n" +"\n" +"\n" +"\n" +"X-Generator: KBabel 1.11.4\n" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "దాచబడిన సంకేతపదం లేదా ప్రవేశద్వారం" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"కొత్త కీరింగు కొరకు దయచేసి పేరును యెంచుకొనుము. మీరు వొక అన్‌లాక్ సంకేతపదము కొరకు అడుగబడతారు." + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "New Keyring Name:" +msgstr "మీట యొక్క పేరు" + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "ఆతిథ్య నామం లేదా సేవిక యొక్క చిరునామా." + +#: ../gkr/seahorse-gkr-actions.c:81 +msgid "New password keyring" +msgstr "కొత్త సంకేతపదం యొక్క కీరింగ్" + +#: ../gkr/seahorse-gkr-actions.c:82 ../gkr/seahorse-gkr-actions.c:89 +msgid "Used to store application and network passwords" +msgstr "తాత్కాలిక స్థలంలో ఉన్న సంకేతపదాలను ఎక్కడ ఉంచాలి." + +#: ../gkr/seahorse-gkr-actions.c:83 +msgid "New password..." +msgstr "కొత్త సంకేతపదం" + +#: ../gkr/seahorse-gkr-actions.c:84 ../gkr/seahorse-gkr-actions.c:91 +msgid "Safely store a password or secret." +msgstr "సంకేతపదమును లేదా రహస్యమును సురక్షితముగా నిల్వవుంచుము." + +#: ../gkr/seahorse-gkr-actions.c:88 +msgid "Password Keyring" +msgstr "సంకేతపదం" + +#: ../gkr/seahorse-gkr-actions.c:90 +msgid "Stored Password" +msgstr "నిల్వవుంచిన సంకేతపదము" + +#: ../gkr/seahorse-gkr-actions.c:151 +msgid "Couldn't set default keyring" +msgstr "మీటను తొలగించలేకపోయింది" + +#: ../gkr/seahorse-gkr-actions.c:183 +msgid "Couldn't change keyring password" +msgstr "సంకేతపదంను మార్చలేకపోయింది." + +#: ../gkr/seahorse-gkr-actions.c:209 +msgid "_Set as default" +msgstr "అప్రమేయంగా అమర్చుము (_S)" + +#: ../gkr/seahorse-gkr-actions.c:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "అనువర్తనములు కొత్త సంకేతపదములను అప్రమేయ కీరింగునందు నిల్వవుంచుతాయి." + +#: ../gkr/seahorse-gkr-actions.c:211 +msgid "Change _Password" +msgstr "సంకేతపదంను మార్చండి (_P)" + +#: ../gkr/seahorse-gkr-actions.c:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "సంకేతపదము నిల్వవుంచే కీరింగు యొక్క అన్‌లాక్ సంకేతపదమును మార్చుము" + +#: ../gkr/seahorse-gkr-add-item.c:60 ../gkr/seahorse-gkr-add-keyring.c:71 +msgid "Couldn't add keyring" +msgstr "ఉపమీటను చేర్చలేకపోయింది" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +msgid "Add Password" +msgstr "సంకేతపదమును జతచేయుము" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "వివరణ (_D):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Password:" +msgstr "సంకేతపదము (_P):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Show Password" +msgstr "సంకేతపదమును చూపుము (_S)" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +msgid "_Keyring:" +msgstr "కీరింగు (_K):" + +#: ../gkr/seahorse-gkr-backend.c:99 +msgid "Passwords" +msgstr "సంకేతపదాలు " + +#: ../gkr/seahorse-gkr-backend.c:102 +msgid "Stored personal passwords, credentials and secrets" +msgstr "దాచిన వ్యక్తిగతమైన సంకేతపదము, అధికారపత్రములు మరియు రహస్యములు" + +#. Translators: This should be the same as the string in empathy +#: ../gkr/seahorse-gkr-item.c:317 +msgid "IM account password for " +msgstr "దీనికి IM ఖాతా యొక్క రహస్యపదము" + +#: ../gkr/seahorse-gkr-item.c:383 +msgid "Password or secret" +msgstr "సంకేతపదమును లేదా రహస్యమును ." + +#: ../gkr/seahorse-gkr-item.c:384 +msgid "Network password" +msgstr "అల్లిక సంకేతపదం" + +#: ../gkr/seahorse-gkr-item.c:385 +msgid "Stored note" +msgstr "దాచిన నోట్" + +#: ../gkr/seahorse-gkr-item.c:386 +msgid "Keyring password" +msgstr "కీరింగ్ సంకేతపదము" + +#: ../gkr/seahorse-gkr-item.c:387 +msgid "Encryption key password" +msgstr "రహస్యపరచే ముఖ్య రహస్యపదము" + +#: ../gkr/seahorse-gkr-item.c:388 +msgid "Key storage password" +msgstr "నిల్వవుంచిన కీ యొక్క సంకేతపదము" + +#: ../gkr/seahorse-gkr-item.c:389 +msgid "Google Chrome password" +msgstr "గూగుల్ క్రోం యొక్క సంకేతపదం" + +#: ../gkr/seahorse-gkr-item.c:390 +msgid "Gnome Online Accounts password" +msgstr "గ్నోం ఆన్ లైన్ ఖాతాలయొక్క రహస్యపదము" + +#: ../gkr/seahorse-gkr-item.c:391 +msgid "Telepathy password" +msgstr "టెలిపతి యొక్క సంకేతపదం" + +#: ../gkr/seahorse-gkr-item.c:392 +msgid "Instant messaging password" +msgstr "వెంటనే సందేశముయొక్క సంకేతపదం" + +#: ../gkr/seahorse-gkr-item.c:393 +msgid "Network Manager secret" +msgstr "నెట్వర్కు అభికర్త యొక్క రహస్యము" + +#: ../gkr/seahorse-gkr-item-deleter.c:83 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "'%s' వాడుకరి సంకేతపదంను మీరు శాశ్వతంగా తొలగించడానికి నిశ్చయించుకున్నారా?" + +#: ../gkr/seahorse-gkr-item-deleter.c:86 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "%d ను శాశ్వతంగా తొలగించాలని మీరు నిశ్చయించుకున్నారా?" +msgstr[1] "%d ను శాశ్వతంగా తొలగించాలని మీరు నిశ్చయించుకున్నారా?" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a network share or resource" +msgstr "నెట్వర్కు భాగస్వామ్యము లేదా వనరును యాక్సెస్ చేయుము" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Access a website" +msgstr "వెబ్ సైట్ ను సాంగత్యించు" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a PGP key" +msgstr "పీజీపీ మీటను తాళం తీస్తుంది" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Unlocks a Secure Shell key" +msgstr "సురక్షిత షెల్ మీటను తాళం తీస్తుంది" + +#: ../gkr/seahorse-gkr-item-properties.c:81 +msgid "Saved password or login" +msgstr "దాచబడిన సంకేతపదం లేదా ప్రవేశద్వారం" + +#: ../gkr/seahorse-gkr-item-properties.c:105 +msgid "Network Credentials" +msgstr "నెట్వర్క్ పరపతులు" + +#: ../gkr/seahorse-gkr-item-properties.c:110 +msgid "Password" +msgstr "సంకేతపదం" + +#: ../gkr/seahorse-gkr-item-properties.c:210 +msgid "Couldn't change password." +msgstr "సంకేతపదంను మార్చలేకపోయింది." + +#: ../gkr/seahorse-gkr-item-properties.c:255 +#: ../gkr/seahorse-gkr-item-properties.c:376 +msgid "Updating password" +msgstr "సంకేతపదంను తాజాపరుచుట" + +#: ../gkr/seahorse-gkr-item-properties.c:336 +msgid "Couldn't set description." +msgstr "వర్ణనను ఏర్పాటు చేయలేకపోయింది." + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "మీట యొక్క లక్షణాలు" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +msgid "Use:" +msgstr "ఉపయోగించు:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Type:" +msgstr "రకము:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Server:" +msgstr "సేవిక:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Login:" +msgstr "ప్రవేశద్వారం పేరు:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +msgid "Show pass_word" +msgstr "సంకేతపదంను చూపించు (_w)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +msgid "Password:" +msgstr "సంకేతపదం:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "మీట" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "సాంకేతిక వివరములు:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:53 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:49 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "వివరములు" + +#: ../gkr/seahorse-gkr-keyring.c:147 +msgid "Login keyring" +msgstr "ప్రవేశించుటకు కీరింగ్" + +#: ../gkr/seahorse-gkr-keyring.c:676 +msgid "A keyring that is automatically unlocked on login" +msgstr "ప్రవేసించినపుడు స్వయముగా అన్ లాకఅగు కీరింగు" + +#: ../gkr/seahorse-gkr-keyring.c:677 +msgid "A keyring used to store passwords" +msgstr "సంకేతపదములను దాచుటకు ఉపయోగించు కీరింగ్" + +#: ../gkr/seahorse-gkr-keyring-deleter.c:80 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "'%s' వాడుకరి సంకేతపదంను మీరు శాశ్వతంగా తొలగించడానికి నిశ్చయించుకున్నారా?" + +#: ../gkr/seahorse-gkr-keyring-deleter.c:83 +msgid "I understand that all items will be permanently deleted." +msgstr "అన్ని ఐటంలు శాశ్వతంగా తొలగించుట అర్ధమైనది." + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Keyring Properties" +msgstr "మీట యొక్క లక్షణాలు" + +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +msgid "Name:" +msgstr "పేరు:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Created:" +msgstr "సృష్టించబడింది:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "Keyring" +msgstr "గ్నోం కీలకవలయం" + +#: ../gkr/seahorse-gkr-operation.c:54 ../pgp/seahorse-gpgme.c:73 +#: ../pgp/seahorse-hkp-source.c:585 ../ssh/seahorse-ssh-operation.c:194 +msgid "The operation was cancelled" +msgstr "కార్యము రద్దుచేయబడినది" + +#: ../gkr/seahorse-gkr-operation.c:59 +msgid "Access to the key ring was denied" +msgstr "మీట వలయామికి సాంగత్యం తిరస్కరించబడింది" + +#: ../gkr/seahorse-gkr-operation.c:62 +msgid "The gnome-keyring daemon is not running" +msgstr "గ్నోమ్-కీలకవలయ సూత్రధారి నడవట్లేదు" + +#: ../gkr/seahorse-gkr-operation.c:65 +msgid "The key ring has already been unlocked" +msgstr "మీట వలయం ఇంతకు ముందే తాళం తీసి ఉంది" + +#: ../gkr/seahorse-gkr-operation.c:68 +msgid "No such key ring exists" +msgstr "అలాంటి ఏ మీట వలయం లేదు" + +#: ../gkr/seahorse-gkr-operation.c:71 +msgid "Couldn't communicate with key ring daemon" +msgstr "మీట వలయ సూత్రధారికి తెలియజేయలేకపోయిం" + +#: ../gkr/seahorse-gkr-operation.c:74 +msgid "The item already exists" +msgstr "ఈ వస్తువు ఇంతకు ముందే ఉంది" + +#: ../gkr/seahorse-gkr-operation.c:80 +msgid "Internal error accessing gnome-keyring" +msgstr "గ్నోమ్-కీలకవలయాన్ని సాంగత్యించేటప్పుడు అంతర్గత దోషం" + +#: ../libegg/egg-datetime.c:317 +msgid "Display flags" +msgstr "ప్రదర్శన ఫ్లాగ్‌లు" + +#: ../libegg/egg-datetime.c:318 +msgid "Displayed date and/or time properties" +msgstr "ప్రదర్శించిన తేది మరియు/లేదా సమయ లక్షణములు" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode" +msgstr "సోమరి రీతి" + +#: ../libegg/egg-datetime.c:324 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "ప్రవేశపెట్టిన తేది మరియు సమయ విలువలను సోమరి రీతి నార్మలైజ్ చేయదు" + +#: ../libegg/egg-datetime.c:329 +msgid "Year" +msgstr "సంవత్సరము" + +#: ../libegg/egg-datetime.c:330 +msgid "Displayed year" +msgstr "ప్రదర్శించిన సంవత్సరము" + +#: ../libegg/egg-datetime.c:335 +msgid "Month" +msgstr "నెల" + +#: ../libegg/egg-datetime.c:336 +msgid "Displayed month" +msgstr "ప్రదర్శించిన నెల" + +#: ../libegg/egg-datetime.c:341 +msgid "Day" +msgstr "రోజులు" + +#: ../libegg/egg-datetime.c:342 +msgid "Displayed day of month" +msgstr "నెల యొక్క ప్రదర్శించిన రోజు" + +#: ../libegg/egg-datetime.c:347 +msgid "Hour" +msgstr "గంట" + +#: ../libegg/egg-datetime.c:348 +msgid "Displayed hour" +msgstr "ప్రదర్శించిన గంట" + +#: ../libegg/egg-datetime.c:353 +msgid "Minute" +msgstr "నిముషము" + +#: ../libegg/egg-datetime.c:354 +msgid "Displayed minute" +msgstr "ప్రదర్శించిన నిముషము" + +#: ../libegg/egg-datetime.c:359 +msgid "Second" +msgstr "సెకను" + +#: ../libegg/egg-datetime.c:360 +msgid "Displayed second" +msgstr "ప్రదర్శించిన సెకను" + +#: ../libegg/egg-datetime.c:365 +msgid "Lower limit year" +msgstr "తక్కువ పరిమితి సంవత్సరము" + +#: ../libegg/egg-datetime.c:366 +msgid "Year part of the lower date limit" +msgstr "తక్కువ తేది పరిమితి యొక్క సంవత్సర భాగము" + +#: ../libegg/egg-datetime.c:371 +msgid "Upper limit year" +msgstr "ఎగువ పరిమితి సంవత్సరము" + +#: ../libegg/egg-datetime.c:372 +msgid "Year part of the upper date limit" +msgstr "ఎగువ తేది పరిమితి యొక్క సంవత్సర భాగము" + +#: ../libegg/egg-datetime.c:377 +msgid "Lower limit month" +msgstr "తక్కువ పరిమితి నెల" + +#: ../libegg/egg-datetime.c:378 +msgid "Month part of the lower date limit" +msgstr "తక్కువ తేది పరిమితి యొక్క నెల భాగ1ము" + +#: ../libegg/egg-datetime.c:383 +msgid "Upper limit month" +msgstr "ఎగువ పరిమితి నెల" + +#: ../libegg/egg-datetime.c:384 +msgid "Month part of the upper date limit" +msgstr "ఎగువ తేది పరిమితి యొక్క నెల భాగము" + +#: ../libegg/egg-datetime.c:389 +msgid "Lower limit day" +msgstr "తక్కువ పరిమితి రోజు" + +#: ../libegg/egg-datetime.c:390 +msgid "Day of month part of the lower date limit" +msgstr "తక్కువ రోజు పరిమితి యొక్క నెల రోజు భాగము" + +#: ../libegg/egg-datetime.c:395 +msgid "Upper limit day" +msgstr "ఎగువ పరిమితి రోజు" + +#: ../libegg/egg-datetime.c:396 +msgid "Day of month part of the upper date limit" +msgstr "ఎక్కువ తేది పరిమితి యొక్క నెల రోజు భాగము" + +#: ../libegg/egg-datetime.c:401 +msgid "Lower limit hour" +msgstr "తక్కువ పరిమితి గంట" + +#: ../libegg/egg-datetime.c:402 +msgid "Hour part of the lower time limit" +msgstr "తక్కువ సమయ పరిమితి యొక్క గంట భాగము" + +#: ../libegg/egg-datetime.c:407 +msgid "Upper limit hour" +msgstr "ఎగువ పరిమితి గంట" + +#: ../libegg/egg-datetime.c:408 +msgid "Hour part of the upper time limit" +msgstr "ఎగువ సమయ పరిమితి యొక్క గంట భాగము" + +#: ../libegg/egg-datetime.c:413 +msgid "Lower limit minute" +msgstr "తక్కువ పరిమితి నిముషము" + +#: ../libegg/egg-datetime.c:414 +msgid "Minute part of the lower time limit" +msgstr "తక్కువ సమయ పరిమితి యొక్క నిముష భాగము" + +#: ../libegg/egg-datetime.c:419 +msgid "Upper limit minute" +msgstr "ఎగువ పరిమితి నిముషము" + +#: ../libegg/egg-datetime.c:420 +msgid "Minute part of the upper time limit" +msgstr "ఎగువ సమయ పరిమితి యొక్క నిముష భాగము" + +#: ../libegg/egg-datetime.c:425 +msgid "Lower limit second" +msgstr "తక్కువ పరిమితి సెకను" + +#: ../libegg/egg-datetime.c:426 +msgid "Second part of the lower time limit" +msgstr "తక్కువ సమయ పరిమితి యొక్క సెకను భాగము" + +#: ../libegg/egg-datetime.c:431 +msgid "Upper limit second" +msgstr "ఎగువ పరిమితి సెకను" + +#: ../libegg/egg-datetime.c:432 +msgid "Second part of the upper time limit" +msgstr "ఎగువ సమయ పరిమితి యొక్క సెకను భాగము" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:474 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:496 +msgid "Date" +msgstr "తేద" + +#: ../libegg/egg-datetime.c:496 +msgid "Enter the date directly" +msgstr "తేదీను నేరుగా ప్రవేశపెట్టుము" + +#: ../libegg/egg-datetime.c:503 +msgid "Select Date" +msgstr "తారీఖు గుర్తించు" + +#: ../libegg/egg-datetime.c:503 +msgid "Select the date from a calendar" +msgstr "క్యాలెండర్ నుండి తారీఖును ఎంపికచేయి" + +#: ../libegg/egg-datetime.c:521 ../libegg/egg-datetime.c:2199 +msgid "Time" +msgstr "సమయము" + +#: ../libegg/egg-datetime.c:521 +msgid "Enter the time directly" +msgstr "సమయమును నేరుగా ప్రవేశపెట్టుము" + +#: ../libegg/egg-datetime.c:528 +msgid "Select Time" +msgstr "సమయాన్ని ఎంచు" + +#: ../libegg/egg-datetime.c:528 +msgid "Select the time from a list" +msgstr "జాబితానుండి సమయాన్ని ఎంపిక చేయి" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:793 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:797 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1264 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:799 ../libegg/egg-datetime.c:1261 +#: ../libegg/egg-datetime.c:1268 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:807 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:810 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:814 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:817 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1176 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1241 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "ప్రారంభ తాత్కాలిక అంశము" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "ముఖ్య సేవికను చేర్చు" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "ముఖ్య సేవిక యొక్క రకము:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "ఆతిథ్యం:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "సేవికను సాంగత్యించేందుకు పోర్టు." + +#: ../libseahorse/seahorse-catalog.c:88 +msgid "Contributions:" +msgstr "సహాయములు:" + +#: ../libseahorse/seahorse-catalog.c:112 ../src/seahorse.desktop.in.in.h:1 +#: ../src/seahorse-key-manager.c:669 ../src/seahorse-main.c:68 +msgid "Passwords and Keys" +msgstr "సంకేతపదాలు మరియు మీటలు" + +#: ../libseahorse/seahorse-catalog.c:114 +msgid "translator-credits" +msgstr "Srinivasa Chary " + +#: ../libseahorse/seahorse-catalog.c:117 +msgid "Seahorse Project Homepage" +msgstr "సీహార్స్ పథకం నివాస పుట" + +#: ../libseahorse/seahorse-catalog.c:191 +msgid "Cannot delete" +msgstr "తొలగించలేకపోయింది" + +#: ../libseahorse/seahorse-catalog.c:239 +#: ../libseahorse/seahorse-key-manager-store.c:442 +msgid "Couldn't export keys" +msgstr "మీటను ఎగుమతి చేయలేకపోయింది" + +#: ../libseahorse/seahorse-catalog.c:268 +msgid "Couldn't export data" +msgstr "సమాచారమును ఎగుమతి చేయలేకపోయింది" + +#. Top menu items +#: ../libseahorse/seahorse-catalog.c:277 +msgid "_File" +msgstr "ఫైలు(_F)" + +#: ../libseahorse/seahorse-catalog.c:278 +msgid "E_xport..." +msgstr "దిగుమతి... (_E)" + +#: ../libseahorse/seahorse-catalog.c:279 +msgid "Export to a file" +msgstr "మీటలోని ప్రజా భాగాన్ని దస్ర్తానికి ఎగుమతి చేయు" + +#: ../libseahorse/seahorse-catalog.c:280 +msgid "_Edit" +msgstr "సరిచేయు (_E)" + +#: ../libseahorse/seahorse-catalog.c:283 +msgid "Copy to the clipboard" +msgstr "ఎన్నుకొన్న మీటలను క్లిప్ బోర్డుకు నకలు చేయండి" + +#: ../libseahorse/seahorse-catalog.c:284 +#: ../pkcs11/seahorse-pkcs11-properties.c:233 ../src/seahorse-sidebar.c:957 +msgid "_Delete" +msgstr "తొలగించు(_D)" + +#: ../libseahorse/seahorse-catalog.c:285 +msgid "Delete selected items" +msgstr "ఎన్నుకొన్న మీటలను తొలగించు" + +#: ../libseahorse/seahorse-catalog.c:287 +msgid "Show the properties of this item" +msgstr "ఈ ఐటమ్ యొక్క లక్షణాలను చూపు" + +#: ../libseahorse/seahorse-catalog.c:289 +msgid "Show the properties of this keyring" +msgstr "ఈ మీట యొక్క లక్షణాలను చూపు" + +#: ../libseahorse/seahorse-catalog.c:290 +msgid "Prefere_nces" +msgstr "అభీష్టాలు (_n)" + +#: ../libseahorse/seahorse-catalog.c:291 +msgid "Change preferences for this program" +msgstr "ఈ కార్యక్రమం యొక్క అభీష్టాలను మార్చు" + +#: ../libseahorse/seahorse-catalog.c:292 +msgid "_View" +msgstr "దర్శనం (_V)" + +#: ../libseahorse/seahorse-catalog.c:293 +msgid "_Help" +msgstr "సహాయం (_H)" + +#: ../libseahorse/seahorse-catalog.c:295 +msgid "About this program" +msgstr "ఈ కార్యక్రమం గురించి" + +#: ../libseahorse/seahorse-catalog.c:296 +msgid "_Contents" +msgstr "విషయములు (_C)" + +#: ../libseahorse/seahorse-catalog.c:297 +msgid "Show Seahorse help" +msgstr "సీహార్స్ సహాయాన్ని చూపు" + +#: ../libseahorse/seahorse-exportable.c:407 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Export" +msgstr "ఎగుమతి" + +#: ../libseahorse/seahorse-interaction.c:100 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "%s కొరకు PIN లేదా సంకేతపదమును ఇవ్వండి" + +#: ../libseahorse/seahorse-passphrase.c:182 ../ssh/seahorse-ssh-askpass.c:99 +msgid "Password:" +msgstr "సంకేతపదం:" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:244 +msgid "Confirm:" +msgstr "ధృఢపరచు:" + +#: ../libseahorse/seahorse-prefs.c:66 +msgid "Not a valid Key Server address." +msgstr "సారమైన మీట సేవిక చిరునామా" + +#: ../libseahorse/seahorse-prefs.c:67 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "సహాయం కోసం మీ వ్యవస్థ నిర్వాహకుడిని లేదా ముఖ్య సేవిక నిర్వాహకుడిని సంప్రదించండి" + +#: ../libseahorse/seahorse-prefs.c:180 +msgid "URL" +msgstr "యు ఆర్ ఎల్ " + +#: ../libseahorse/seahorse-prefs.c:350 +msgid "Custom" +msgstr "అలవాటు" + +#: ../libseahorse/seahorse-prefs.c:403 +msgid "None: Don't publish keys" +msgstr "ఒకటీ లేదు:మీటలను ప్రచురించకు" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "అభీష్టాలు" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "దీని ద్వారా కీలను కనుగొనుము (_F):" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "మీటలను ముఖ్య సేవికకు ప్రచురించు. (_P)" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "సేవిక నుంచి మీటలను వెలికితీయలేకపోయింది:%s" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "సవరించిన కీలను కీ సర్వర్లతో స్వయంచాలకంగా ఏకకాలం చేయుము (_m)" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "ముఖ్య సేవికలు" + +#: ../libseahorse/seahorse-util.c:209 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-validity.c:40 ../pgp/seahorse-gpgme-subkey.c:197 +#: ../pgp/seahorse-pgp-key-properties.c:1250 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +#: ../pkcs11/seahorse-token.c:576 +msgid "Unknown" +msgstr "తెలియనది" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1256 +msgctxt "Validity" +msgid "Never" +msgstr "ఎప్పటికివద్దు" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-key-properties.c:1263 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgid "Marginal" +msgstr "మార్జినల్" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-key-properties.c:1269 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgid "Full" +msgstr "పూర్తి" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-key-properties.c:1275 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgid "Ultimate" +msgstr "అంతిమ" + +#: ../libseahorse/seahorse-validity.c:50 +#: ../pgp/seahorse-pgp-key-properties.c:1465 +msgid "Disabled" +msgstr "నిరుపయోగంగా చేయబడింది" + +#: ../libseahorse/seahorse-validity.c:52 +#: ../pgp/seahorse-pgp-key-properties.c:1461 +msgid "Revoked" +msgstr "కొట్టివేయబడింది" + +#: ../libseahorse/seahorse-widget.c:473 +#, c-format +msgid "Could not display help: %s" +msgstr "%s సహాయాన్ని ప్రదర్శించలేకపోయింది" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "ఎన్నటికి ముగియదు (_x)" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "మీట ఎన్నటికి ముగియకపోతే" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "మీటరకం (_T):" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "మీటనిడివి (_L):" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "ముగిసే తేది:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "మీట యొక్క నిడివి" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "కొత్త ఉపమీటను ఉత్పత్ప్తి చేయు" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "వాడుకరి సంకేతపదంను చేర్చు" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "కనీసం 5 అక్షరాలు ఉండాలి" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "ఇచ్ఛాపూర్వక ఇ తపాలా చిరునామా" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "మీటను వివరించేందుకు ఇచ్ఛాపూర్వక వ్యాఖ్య" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "పూర్తి పేరు (_N):" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr " తపాలా చిరునామా (_E):" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "మీట వ్యాఖ్య (_m):" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "కొత్త వాడుకరి సంకేతపదంను సృష్టించు" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "ఎన్నటికి ముగియదు (_N)" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "కొట్టివేసే మీట" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "మార్చు (_h)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:162 +msgid "Couldn't add subkey" +msgstr "ఉపమీటను చేర్చలేకపోయింది" + +#: ../pgp/seahorse-gpgme-add-subkey.c:181 +#, c-format +msgid "Add subkey to %s" +msgstr "%s కు ఉపమీటను చేర్చండి" + +#: ../pgp/seahorse-gpgme-add-subkey.c:197 ../pgp/seahorse-gpgme-generate.c:134 +msgid "DSA (sign only)" +msgstr "డీ ఎస్ ఏ (సంతకం మాత్రమే)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:205 +msgid "ElGamal (encrypt only)" +msgstr "ఎల్ గమల్ (రహస్యపరచడం మాత్రమే)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:211 ../pgp/seahorse-gpgme-generate.c:135 +msgid "RSA (sign only)" +msgstr "ఆర్ ఎస్ ఏ ( సంతకం మాత్రమే)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:217 +msgid "RSA (encrypt only)" +msgstr "ఆర్ ఎస్ ఏ (రహస్యపరచడం మాత్రమే)" + +#: ../pgp/seahorse-gpgme-add-uid.c:100 +msgid "Couldn't add user id" +msgstr "వాడుకరి సంకేతపదంను చేర్చలేకపోయింది" + +#: ../pgp/seahorse-gpgme-add-uid.c:122 +#, c-format +msgid "Add user ID to %s" +msgstr "%sకు వాడుకరి సంకేతపదంను చేర్చు" + +#: ../pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "డిక్రిప్షన్ విఫలమైంది. మీరు బహుశా డిక్రిప్షన్ కీను కలిగిలేరు." + +#: ../pgp/seahorse-gpgme-expires.c:65 +msgid "Invalid expiry date" +msgstr "నిస్సారమైన సంతకం" + +#: ../pgp/seahorse-gpgme-expires.c:66 +msgid "The expiry date must be in the future" +msgstr "ముగింపు తేది తప్పక భవిష్యత్తులోనే వుండాలి" + +#: ../pgp/seahorse-gpgme-expires.c:79 +msgid "Couldn't change expiry date" +msgstr "ముగిసే తేదిని మార్చలేకపోయింది" + +#: ../pgp/seahorse-gpgme-expires.c:140 +#, c-format +msgid "Expiry: %s" +msgstr "%s కొరకు ముగియు" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "బహుళ కీలు" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "మీట యొక్క దత్తాంశం" + +#: ../pgp/seahorse-gpgme-exporter.c:114 +msgid "Armored PGP keys" +msgstr "రక్షింపబడ్డ PGP మీటలు" + +#: ../pgp/seahorse-gpgme-exporter.c:118 +msgid "PGP keys" +msgstr "పీజీపీ మీటలు" + +#: ../pgp/seahorse-gpgme-generate.c:95 +msgid "PGP Key" +msgstr "పీజీపీ మీట" + +#: ../pgp/seahorse-gpgme-generate.c:96 +msgid "Used to encrypt email and files" +msgstr "ఇ తపాలా మరియు ఫైళ్ళను రహస్యపరచటానికి వాడబడుతుంది" + +#: ../pgp/seahorse-gpgme-generate.c:132 +#: ../pkcs11/seahorse-pkcs11-generate.c:92 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:133 +msgid "DSA Elgamal" +msgstr "డీ ఎస్ ఏ ఎల్గమల్" + +#: ../pgp/seahorse-gpgme-generate.c:182 +msgid "Couldn't generate PGP key" +msgstr "పీజీపీ మీటను ఉత్పత్తి చేయలేక పోయింది" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "కొత్త మీట కోసం పాస్ పదసముదాయం" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "మీ కొత్త మీట కోసం పాస్ పదసముదాయాన్ని వ్రాయండి." + +#: ../pgp/seahorse-gpgme-generate.c:223 +#: ../pkcs11/seahorse-pkcs11-generate.c:460 +msgid "Generating key" +msgstr "మీటను ఉత్పత్తి చేస్తోంది" + +#: ../pgp/seahorse-gpgme-key-deleter.c:78 +#: ../pgp/seahorse-gpgme-secret-deleter.c:77 +#: ../pkcs11/seahorse-pkcs11-deleter.c:66 +#: ../pkcs11/seahorse-pkcs11-key-deleter.c:81 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "%s ను శాశ్వతంగా తొలగించాలని మీరు నిశ్చయించుకున్నారా?" + +#: ../pgp/seahorse-gpgme-key-deleter.c:81 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "%d మీటను మీరు శాశ్వతంగా తొలగించడానికి నిశ్చయించుకున్నారా?" +msgstr[1] "%d మీటలను మీరు శాశ్వతంగా తొలగించడానికి నిశ్చయించుకున్నారా?" + +#: ../pgp/seahorse-gpgme-key-op.c:381 +msgid "Wrong password" +msgstr "తప్పు సంకేతపదము" + +#: ../pgp/seahorse-gpgme-key-op.c:381 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "ఇది మూడవసారి మీరు తప్పు సంకేతపదంను ప్రవేశించడం.దయచేసి మరల ప్రయత్నించండి" + +#: ../pgp/seahorse-gpgme-keyring.c:90 +#, c-format +msgid "Wrong passphrase." +msgstr "తప్పు పాస్ పదసముదాయం." + +#: ../pgp/seahorse-gpgme-keyring.c:94 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "'%s' కోసం కొత్త పాస్ పదసముదాయాన్ని ఇవ్వండి" + +#: ../pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "'%s' కోసం పాస్ పదసముదాయాన్ని ఇవ్వండి" + +#: ../pgp/seahorse-gpgme-keyring.c:99 +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "కొత్త పాస్ పదసముదాయాన్ని ఇవ్వండి" + +#: ../pgp/seahorse-gpgme-keyring.c:101 +msgid "Enter passphrase" +msgstr "పాస్ పదసముదాయాన్ని ఇవ్వండి" + +#: ../pgp/seahorse-gpgme-keyring.c:106 +msgid "Passphrase" +msgstr "పాస్ పదసముదాయం" + +#: ../pgp/seahorse-gpgme-keyring.c:307 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d కీ లోడైంది" +msgstr[1] "%d కీలు లోడైనాయి" + +#: ../pgp/seahorse-gpgme-keyring.c:654 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"నిస్సారమైన దత్తాంశం కీ(తప్పిపోయిన UIDలు).ఇది బహుశా కంప్యూటర్ కి భవిస్యత్తు తేదీ పెట్టినందుకు లేదా " +"తప్పిపోయిన స్వంతమైన సంతకం జరిగిఉండును " + +#: ../pgp/seahorse-gpgme-keyring.c:814 +msgid "GnuPG keys" +msgstr "GnuPG మీట" + +#: ../pgp/seahorse-gpgme-keyring.c:817 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: అప్రమేయ కీరింగు సంచయం" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"ఈ ఛాయా చిత్రం చాలా పెద్దది\n" +"ఈ ఛాయా చిత్రానికి సిఫారసు చేయబడ్డ పరిమాణం %d x %d పిక్సెల్స్." + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "పునఃపరిమాణం చేయవద్దు (_D)" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "పున: పరిమాణము(_R)" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"ఇది ప్రతిరూప ఫైలు కాదు లేదా ఒక గుర్తించలేని రకమైన ప్రతిరూప ఫైలు .ఒక JPEG ప్రతిరూపాన్ని వాడటానికి " +"ప్రయత్నించండి" + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "అన్ని ప్రతిరూప ఫైళ్ళు" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "అన్ని JPEG ఫైళ్ళు" + +#: ../pgp/seahorse-gpgme-photos.c:242 ../src/seahorse-key-manager.c:301 +msgid "All files" +msgstr "అన్ని ఫైళ్ళు" + +#: ../pgp/seahorse-gpgme-photos.c:263 +msgid "Choose Photo to Add to Key" +msgstr "మీటలోకి చేర్చటానికి ఛాయా చిత్రమును ఎన్నుకోండి" + +#: ../pgp/seahorse-gpgme-photos.c:285 +msgid "Couldn't prepare photo" +msgstr "ఛాయా చిత్రమును సృష్టించలేకపోయింది" + +#: ../pgp/seahorse-gpgme-photos.c:295 ../pgp/seahorse-gpgme-photos.c:298 +msgid "Couldn't add photo" +msgstr "ఛాయా చిత్రమును చేర్చలేకపోయింది" + +#: ../pgp/seahorse-gpgme-photos.c:296 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "ఫైలు లోడు కాలేక పోయింది. ఇది చెల్లని ఫార్మాటులో వుండివుండవచ్చు" + +#: ../pgp/seahorse-gpgme-photos.c:322 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "మీ మీటలోంచి ప్రస్తుత ఛాయా చిత్రమును తొలగించాలని మీరు ఖచ్చింతంగా ఉన్నారా ?" + +#: ../pgp/seahorse-gpgme-photos.c:335 +msgid "Couldn't delete photo" +msgstr "ఛాయా చిత్రమును తొలగించలేకపోయింది" + +#: ../pgp/seahorse-gpgme-revoke.c:75 +msgid "Couldn't revoke subkey" +msgstr "ఉపమీటను కొట్టివేయలేకపోయింది" + +#: ../pgp/seahorse-gpgme-revoke.c:96 +#, c-format +msgid "Revoke: %s" +msgstr "%s ను కొట్టివేయు" + +#: ../pgp/seahorse-gpgme-revoke.c:107 +msgid "No reason" +msgstr "కారణం లేదు" + +#: ../pgp/seahorse-gpgme-revoke.c:108 +msgid "No reason for revoking key" +msgstr "మీటను కొట్టివేయటానికి కారణం" + +#: ../pgp/seahorse-gpgme-revoke.c:114 +msgid "Compromised" +msgstr "రాజీయైన" + +#: ../pgp/seahorse-gpgme-revoke.c:115 +msgid "Key has been compromised" +msgstr "కీ రాజీయైంది" + +#: ../pgp/seahorse-gpgme-revoke.c:121 +msgid "Superseded" +msgstr "సూపర్‌సెడెడ్" + +#: ../pgp/seahorse-gpgme-revoke.c:122 +msgid "Key has been superseded" +msgstr "కీ సూపర్‌సెడెడ్ అయింది" + +#: ../pgp/seahorse-gpgme-revoke.c:128 +msgid "Not Used" +msgstr "ఉపయోగించలేదు" + +#: ../pgp/seahorse-gpgme-revoke.c:129 +msgid "Key is no longer used" +msgstr "సంతకం చేయుటకు ఈ మీట నిస్సారమైనది:%s" + +#: ../pgp/seahorse-gpgme-revoke.c:166 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"%s ను %s కు కొట్టివేసేదారునిగా చేర్చబోతున్నారు.ఈ కార్యం చేసిన తరువాత రద్దు చేయడం రాదు!మీరు " +"కొనసాగించాలని నిశ్చయంగా ఉన్నారా?" + +#: ../pgp/seahorse-gpgme-revoke.c:178 +msgid "Couldn't add revoker" +msgstr "కొట్టివేసేవారిని చేర్చలేకపోయింది" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:82 ../ssh/seahorse-ssh-deleter.c:83 +msgid "I understand that this secret key will be permanently deleted." +msgstr "నాకు తెలుసు రహస్యకీ శాశ్వతంగా తొలగింపబడుతుంది." + +#: ../pgp/seahorse-gpgme-sign.c:100 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" +"ఈ మీట ను ముందుగానే సంతకం చేసినవారు \n" +"\"%s\"" + +#: ../pgp/seahorse-gpgme-sign.c:105 +msgid "Couldn't sign key" +msgstr "మీటను సంతకం చేయలేక పోయింది" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:164 ../pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "సంతకము చేయడానికి ఏ యొక్క మీటలు పనికిరావు" + +#: ../pgp/seahorse-gpgme-sign.c:165 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "ఈ మీట యొక్క నమ్మకాన్ని తెలిపే మీకు స్వకీయమైన పీజీపీ మీటలు లేవు " + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "ఎల్గమాల్" + +#: ../pgp/seahorse-hkp-source.c:603 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "వెతికిన పధ్ధతి అవసరమైనంత వివరంగా లేదు.సేవిక '%s' మరీ ఎక్కువ మీటలను కనుగొంది." + +#: ../pgp/seahorse-hkp-source.c:606 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "సేవిక '%s' తో సంప్రదించలేక పోయింది: %s" + +#: ../pgp/seahorse-hkp-source.c:1126 +msgid "HTTP Key Server" +msgstr "హెచ్ టిటిపి ముఖ్య సేవిక" + +#: ../pgp/seahorse-keyserver-results.c:175 +msgid "Couldn't import keys" +msgstr "మీటలను దిగుమతి చేయలేకపోయింది" + +#: ../pgp/seahorse-keyserver-results.c:218 +msgid "Importing keys from key servers" +msgstr "ముఖ్య సేవికల నుంచి మీటలను దిగుమతి చేస్తోంది" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:244 ../src/seahorse-key-manager.c:518 +msgid "_Remote" +msgstr "సుదూర (_R)" + +#: ../pgp/seahorse-keyserver-results.c:246 +msgid "Close this window" +msgstr "ఈ గవాక్షాన్ని మూసివేయు" + +#: ../pgp/seahorse-keyserver-results.c:250 ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys..." +msgstr "సుదూర మీటలను వెతుకు... (_F)" + +#: ../pgp/seahorse-keyserver-results.c:251 ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "ముఖ్య సేవికలో మీటల కోసం వెతుకు" + +#: ../pgp/seahorse-keyserver-results.c:255 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "దిగుమతి (_I)" + +#: ../pgp/seahorse-keyserver-results.c:256 +msgid "Import selected keys to local key ring" +msgstr "ఎన్నుకొన్న మీటలను స్థానిక మీట వలయంలోకి దిగుమతి చేయు" + +#: ../pgp/seahorse-keyserver-results.c:286 +msgid "Remote Keys" +msgstr "సుదూర మీటలు" + +#: ../pgp/seahorse-keyserver-results.c:288 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "%s కలిగియున్న సుదూర మీటలు" + +#: ../pgp/seahorse-keyserver-results.c:485 +msgid "The search for keys failed." +msgstr "మీటలకోసం వెతుకుటలో విఫలం" + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "సుదూర మీటలను కనుగొనండి" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"ఇది ఇతరుల కోసం ఇంటర్నెట్లో మీటల కోసం వెతుకుతుంది.ఈ మీటలు తర్వాత స్థానిక మీట వలయంలోకి దిగుమతి " +"చేయబడతాయి." + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "దీనిని కలగివున్న కీల కొరకు శోధించుము (_S): " + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "ముఖ్య సేవికలు:" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "నా దగ్గరులోనున్న పంచుకొన్న మీటలు : " + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "ఎక్కడ వెతకాలి:" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "వెతుకు (_S)" + +#: ../pgp/seahorse-keyserver-sync.c:57 +msgid "Couldn't publish keys to server" +msgstr "సేవికకు మీటలను ప్రచురించలేకపోయింది : %s" + +#: ../pgp/seahorse-keyserver-sync.c:76 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "సేవిక నుంచి మీటలను వెలికితీయలేకపోయింది:%s" + +#: ../pgp/seahorse-keyserver-sync.c:160 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d మీట కాలనియమితం చేసేందుకు ఎన్నుకొనబడండి" +msgstr[1] "%d మీటలు కాలనియమితం చేసేందుకు ఎన్నుకొనబడ్డాయి" + +#: ../pgp/seahorse-keyserver-sync.c:240 +msgid "Synchronizing keys..." +msgstr "మీటలను కాలనియమితం చేస్తోంది..." + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "కాలనియమిత మీటలు" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"ఇది కీలను మీ కీరింగు నందు ప్రచురిస్తుంది అలా అవి యితరులకు అందుబాటులో వుంటాయి. మీరు యితరుల కీలను " +"స్వీకరించిన దగ్గరనుండి వారు చేసిన మార్పులను కూడా పొందుతారు." + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"మీరు యితరుల కీలను స్వీకరించిన దగ్గరనుండి యిది యితరులు చేసిన మార్పులను వెలికితీస్తుంది. ప్రచురణ కొరకు " +"ఏ కీ సేవిక ఎంచుకొనబడలేదు, అందువలన మీ కీలు యితరులను అందుబాటలో వుండవు." + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "ముఖ్య సేవికలు (_K)" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "కాలనియమితం (_S)" + +#: ../pgp/seahorse-ldap-source.c:440 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "'%s' తో సంప్రదించలేక పోయింది: %s" + +#: ../pgp/seahorse-ldap-source.c:651 +#, c-format +msgid "Connecting to: %s" +msgstr "%s కు బంధిస్తోంది" + +#: ../pgp/seahorse-ldap-source.c:657 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "చిరునామాను రిజాల్వు చేయలేకపోయింది: %s" + +#: ../pgp/seahorse-ldap-source.c:701 +#, c-format +msgid "Resolving server address: %s" +msgstr "సేవిక చిరునామాను రిజాల్వుచేస్తోంది: %s" + +#: ../pgp/seahorse-ldap-source.c:1446 +msgid "LDAP Key Server" +msgstr "ఎల్ డీ ఏ పీ ముఖ్య సేవిక" + +#: ../pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys..." +msgstr "కాలనియమితం చేసి మీటలను ప్రచురించు... (_S)" + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "ఆన్‌లైను వాటితో మీ కీలను ప్రచురించుము మరియు/లేదా సింక్రొనైజ్ చేయుము." + +#: ../pgp/seahorse-pgp-backend.c:174 +msgid "PGP Keys" +msgstr "పీజీపీ మీటలు" + +#: ../pgp/seahorse-pgp-backend.c:177 +msgid "PGP keys are for encrypting email or files" +msgstr "ఇ మెయిల్ మరియు ఫైళ్ళను రహస్యపరచటానికి ఉపయోగించు PGPమీటలు" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "సృష్టించు (_r)" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "కొత్త మీటను ఉత్పత్తి చేయు" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "ఒక పీజీపీ మీట మిమ్మల్ని ఇ-తపాలా లేదా ఫైళ్ళను రహస్యపరచి ఇతరులకు ఇవ్వడానికి అనుమతినిస్తుంది" + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "_Comment:" +msgstr "వ్యాఖ్యానం (_C):" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Ne_ver Expires" +msgstr "ఎప్పటికీ ముగియదు (_v)" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "రహస్యపరచే రకము (_T):" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "మీట యొక్క శక్తి (బిట్స్) (_S)" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "ముగిసే తేది (_x):" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "ఉన్నత స్థితి మీట ఇచ్ఛాపూర్వకాలు (_A)" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "Personal PGP key" +msgstr "స్వకీయమైన మీటలు " + +#: ../pgp/seahorse-pgp-key.c:355 +msgid "PGP key" +msgstr "పీజీపీ మీట" + +#: ../pgp/seahorse-pgp-key-properties.c:325 +msgid "Couldn't change primary user ID" +msgstr "ప్రాథమిక వాడుకరి సంకేతపదంను మార్చలేకపోయింది" + +#: ../pgp/seahorse-pgp-key-properties.c:344 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "'%s' వాడుకరి సంకేతపదంను మీరు శాశ్వతంగా తొలగించడానికి నిశ్చయించుకున్నారా?" + +#: ../pgp/seahorse-pgp-key-properties.c:354 +msgid "Couldn't delete user ID" +msgstr "వాడుకరి సంకేతపదంను తొలగించలేకపోయింది" + +#: ../pgp/seahorse-pgp-key-properties.c:429 +#: ../pgp/seahorse-pgp-key-properties.c:1567 +msgid "[Unknown]" +msgstr "[గుర్తుతెలియని]" + +#: ../pgp/seahorse-pgp-key-properties.c:536 +#: ../pgp/seahorse-pgp-key-properties.c:1850 +msgid "Name/Email" +msgstr "పేరు/ఇ తపాలా" + +#: ../pgp/seahorse-pgp-key-properties.c:541 +msgid "Signature ID" +msgstr "సంతక గుచి" + +#: ../pgp/seahorse-pgp-key-properties.c:674 +msgid "Couldn't change primary photo" +msgstr "ప్రాథమిక చిత్రాన్ని మార్చలేకపోయింది" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:908 +msgid "(unknown)" +msgstr "(తెలియని)" + +#: ../pgp/seahorse-pgp-key-properties.c:911 +#, c-format +msgid "This key expired on: %s" +msgstr "ఈ మీట %s న ముగిసినది." + +#: ../pgp/seahorse-pgp-key-properties.c:974 +msgid "Name" +msgstr "పేరు" + +#: ../pgp/seahorse-pgp-key-properties.c:1087 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "%d ఉపమీటను (%s లొని) మీరు శాశ్వతంగా తొలగించడానికి నిశ్చయించుకున్నారా?" + +#: ../pgp/seahorse-pgp-key-properties.c:1096 +msgid "Couldn't delete subkey" +msgstr "ఉపమీటను తొలగించలేకపోయింది" + +#: ../pgp/seahorse-pgp-key-properties.c:1136 +#: ../pgp/seahorse-pgp-key-properties.c:1541 +msgid "Unable to change trust" +msgstr "నమ్మకాన్ని మార్చలేకపోయింది" + +#: ../pgp/seahorse-pgp-key-properties.c:1149 +#: ../ssh/seahorse-ssh-key-properties.c:202 +msgid "Couldn't export key" +msgstr "మీటను ఎగుమతి చేయలేకపోయింది" + +#: ../pgp/seahorse-pgp-key-properties.c:1381 +#: ../pgp/seahorse-pgp-key-properties.c:1470 +msgctxt "Expires" +msgid "Never" +msgstr "ఎప్పటికివద్దు" + +#: ../pgp/seahorse-pgp-key-properties.c:1428 +msgid "ID" +msgstr "గుచి" + +#: ../pgp/seahorse-pgp-key-properties.c:1431 +msgid "Type" +msgstr "రకం" + +#: ../pgp/seahorse-pgp-key-properties.c:1434 +msgid "Created" +msgstr "సృష్టించినది" + +#: ../pgp/seahorse-pgp-key-properties.c:1437 +msgid "Expires" +msgstr "ముగుస్తుంది" + +#: ../pgp/seahorse-pgp-key-properties.c:1440 +msgid "Status" +msgstr "సుస్థితి" + +#: ../pgp/seahorse-pgp-key-properties.c:1443 +msgid "Strength" +msgstr "శక్తి" + +#: ../pgp/seahorse-pgp-key-properties.c:1463 +msgid "Expired" +msgstr "ముగిసినది" + +#: ../pgp/seahorse-pgp-key-properties.c:1467 +msgid "Good" +msgstr "మంచి" + +#: ../pgp/seahorse-pgp-key-properties.c:1853 +msgid "Key ID" +msgstr "మీట గుచి" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgid "Never" +msgstr "ఎప్పటికివద్దు" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "ఈ మీట కొట్టివేయబడింది" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "మీట యొక్క యజమాని ఈ మీటను కొట్టివేశారు. దీనిని ఇకమీద వాడకూడదు." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "ఈ మీట ముగిసినది" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "ఈ మీటకు ఒక ఛాయా చిత్రమును చేర్చండి" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "ఈ మీట నుంచి ఈ ఛాయా చిత్రాన్ని తీసి వేయండి" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "ఈ ఛాయా చిత్రాన్ని ప్రాథమిక ఛాయా చిత్రాన్ని చేయండి" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "పూర్వపు ఛాయా చిత్రానికి వెళ్లు" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "తరువాతి ఛాయా చిత్రానికి వెళ్లు" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "ఛాయా చిత్రం" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "మీట గుచి" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "పేరు:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "ఎలక్ర్టానిక్ తపా:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "వ్యాఖ్యానం:" + +#. To translators: This is the noun not the verb. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "ఉపయోగం:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "రకము:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "ఫైలులను డీక్రిప్టు చేయుము మరియు ఈమెయిల్ మీకు పంపబడింది." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "స్వంత పీజీపీ మీట" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "పాస్ పదసముదాయమును మార్చండి (_P)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "యజమాని" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "మీట పేర్లు మరియు సంతకములు" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "ప్రాథమిక" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +msgid "Sign" +msgstr "సంతకం" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "తొలగించు" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "పేరును చేర్చు (_A)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "కొట్టివేయు" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "పేర్లు మరియు సంతకములు" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +msgid "Key ID:" +msgstr "మీట గుచి:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +msgid "Strength:" +msgstr "శక్తి:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +msgid "Technical Details" +msgstr "సాంకేతిక వివరములు" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +msgid "Fingerprint" +msgstr "వేలిముద్ర" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "Expires:" +msgstr "ముగుస్తుంది:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "Dates" +msgstr "తేదీలు" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Override Owner _Trust:" +msgstr "యజమాని నమ్మకాన్ని వోవర్‌రైడ్ చేయుము (_T):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "_Export Complete Key:" +msgstr "పూర్తి మీటను ఎగుమతి చేయండి (_E):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Actions" +msgstr "కార్యములు" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +msgid "Add" +msgstr "చేర్చు" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +msgid "Expire" +msgstr "ముగియు" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:52 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:48 +msgid "_Subkeys" +msgstr "ఉపమీటలు (_S)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgid "Marginally" +msgstr "మార్జినల్లీ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgid "Fully" +msgstr "పూర్తిగా" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgid "Ultimately" +msgstr "అంతిమంగా" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key's owner" +msgstr "ఫైళ్ళను రహస్యపరచి మీట యజమానికి ఈ మెయిల్ చేయు" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "ప్రజా పీజీపీ మీట" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "ఇతర పేర్లు (_O):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "ఈ మీట యొక్క మీ నమ్మకం" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "మీ నమ్మకం వివరముల టాబ్ లో వివరించబడింది" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "'%s' నుంచి సంతకాలను వేరే మీటల మీద నమ్ముతున్నాను" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "మీ మీట యొక్క నమ్మకాన్ని ఇతరులకు తెలిపేందుకు ,ఈ మీటను సంతకం చేయు:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "ఈ మీటను సంతకం చేయు (_S)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "ఒక వేళ మీరు ఈ వ్యక్తి యొక్క గుర్తింపును నమ్మకపోతే , మీ సంతకాన్నికొట్టివేయండి" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "సంతకాన్ని కొట్టివేయు (_R)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "ఈ మీటను సంతకము చేసిన ప్రజలు (_P)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "కేవలం నేను నమ్మే ప్రజల సంతకాలను ప్రదర్శించు (_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +msgid "Trust" +msgstr "నమ్మకం" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "వేలి ముద్రలు" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Dates:" +msgstr "తేదీలు:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "Indicate Trust:" +msgstr "నమ్మకాన్ని తెలుపు:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +msgid "You _Trust the Owner:" +msgstr "మీరునమ్మే యజమాని (_T):" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "%d ఉపమీటను (%s లో ) కొట్టివేయలేకపోయింది" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "మీటను కొట్టివేయటానికి కారణం" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "కారణం (_R):" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "ఇష్టానుసారమైన కొట్టివేయుట యొక్క వివరణ" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "కొట్టివేయు (_v)" + +#: ../pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "పత్రాన్నైనా లేదా సందేశాన్ని సంతకం చేయటానికి మీకు స్వకీయమైన పీజీపీ మీటలు లేవు." + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "సందేశాన్ని సంతకం చేయటానికి మీట (_S):" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "ఈ మీటను సంతకం చేయు" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "ఈ సంతకం చేసి మీరు ఈ మీట : కి సంబంధించినదని నమ్మకాన్ని తెలుపుతున్నారు" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "మీట పేరు" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "ఈ మీటను మీరు ఎంత జాగ్రత్తగా తనిఖీ చేసారు?" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "అస్సలు కాదు (_N)" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "అకస్మాత్తుగా (_C)" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "చాలా జాగ్రత్తగా (_V)" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"కానేకాదు: అంటే కీ దానిని కావలని క్లెయిము చేసిన వారివద్దనే వున్నదని మీరు నమ్ముతున్నారు, అయితే మీరు " +"యిది నిజమనునది నిర్దారించలేక పోయినారు లేదా నిర్ధారించలేదు." + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"సాదారణంగా: అంటే మీరు సాదారణంగా వొక నిరూపణ జరిపారు ఆ కీ దానిని కలిగివుండాలని క్లేయిము చేసిన వారి " +"వద్దే వుందేమోనని. ఉదాహరణకు, మీరు ఫోను నందు యజమానికి కీ వేలిముద్రను చదువగలరు." + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "చాలా జాగ్రత్తగా:మీరు ఈ మీట ఖచ్చితంగా అసలైనదని నమ్మతేనే దీనిని ఎన్నుకోండి" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"కీ పైని పేరు సరియైనదో లేదో వ్యక్తిగతంగా పరిశీలించుటకు (పాస్‌పోర్టు వంటిది) మీరు ఫోటో గుర్తింపునకు బలవంత " +"పెట్టవచ్చు. ఈమెయిల్ చిరునామా యజమానికి చెందినదేమో పరిశీలించుటకు మీరు ఈమెయిల్‌ను వుపయోగించవచ్చు." + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "ఇతరులు ఈ సంతకాన్ని ఏ విధంగా చూస్తారు:" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "ఇతరులు ఈ సంతకమును చూడక పోవచ్చు (_O)" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "నేను ఈ సంతకాన్ని కొంత సమయం తరువాత కొట్టివేయవచ్చు (_r)." + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr ":సంతకంచేయు మీట లాగ:" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "సంతకము చేసేవారు (_S):" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "సంతకం (_S)" + +#: ../pgp/seahorse-transfer.c:237 ../pgp/seahorse-transfer.c:284 +msgid "Exporting data" +msgstr "దత్తాంశమును ఎగుమతి చేస్తోంది" + +#: ../pgp/seahorse-transfer.c:237 ../pgp/seahorse-transfer.c:284 +msgid "Retrieving data" +msgstr "దత్తాంశమును మరల సంపాదిస్తోంది" + +#: ../pgp/seahorse-transfer.c:240 ../pgp/seahorse-transfer.c:287 +msgid "Importing data" +msgstr "దత్తాంశమును దిగుమతి చేస్తోంది" + +#: ../pgp/seahorse-transfer.c:240 ../pgp/seahorse-transfer.c:287 +msgid "Sending data" +msgstr "దత్తాంశమును పంపుము" + +#: ../pgp/seahorse-unknown.c:61 +msgid "Unavailable" +msgstr "అందుబాటులోలేని" + +#: ../pkcs11/seahorse-certificate.c:435 +msgid "Personal certificate and key" +msgstr "స్వగత అధికారపత్రములు మరియు మీట" + +#: ../pkcs11/seahorse-certificate.c:438 +msgid "Personal certificate" +msgstr "స్వగత అధికారపత్రములు" + +#: ../pkcs11/seahorse-certificate.c:440 +#: ../pkcs11/seahorse-certificate-der-exporter.c:77 +msgid "Certificate" +msgstr "యోగ్యతాపత్రిక" + +#: ../pkcs11/seahorse-certificate-der-exporter.c:99 +msgid "Certificates (DER encoded)" +msgstr "అధికారపత్రములు (DER తో నిక్షిప్తమైనవి)" + +#: ../pkcs11/seahorse-pkcs11-backend.c:183 +msgid "Certificates" +msgstr "అధికారపత్రములు" + +#: ../pkcs11/seahorse-pkcs11-backend.c:186 +msgid "X.509 certificates and related keys" +msgstr "X.509 అధికారపత్రములు మరియు సంబందిత మీటలు" + +#: ../pkcs11/seahorse-pkcs11-deleter.c:69 +#, c-format +#| msgid "Are you sure you want to permanently delete %d certificate?" +#| msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "%d మీటయొక్క అధికారపత్రమును మీరు శాశ్వతంగా తొలగించడానికి నిశ్చయించుకున్నారా?" +msgstr[1] "%d మీటయొక్క అధికారపత్రములను మీరు శాశ్వతంగా తొలగించడానికి నిశ్చయించుకున్నారా?" + +#: ../pkcs11/seahorse-pkcs11-generate.c:115 +msgid "Couldn't generate private key" +msgstr "మీటను సృష్తించలేక పోయింది" + +#: ../pkcs11/seahorse-pkcs11-generate.c:414 +#: ../pkcs11/seahorse-pkcs11-request.c:256 +msgid "Create" +msgstr "సృష్టించు " + +#: ../pkcs11/seahorse-pkcs11-generate.c:507 +#: ../pkcs11/seahorse-private-key.c:179 +msgid "Private key" +msgstr "స్వంత పీజీపీ మీట" + +#: ../pkcs11/seahorse-pkcs11-generate.c:508 +msgid "Used to request a certificate" +msgstr "అధికారపత్రములను అభ్యర్దించుటకు ఉపయోగించబడు " + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "ఒక కొత్త ప్రైవేటు మీటను సృష్టించండి" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "చీటీ:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "నిల్వవుంచిన స్థలము:" + +#: ../pkcs11/seahorse-pkcs11-key-deleter.c:85 +msgid "I understand that this key will be permanently deleted." +msgstr "ఈ మీట శాశ్వతముగా తొలగించబడునని నాకు అర్ధమైనది." + +#: ../pkcs11/seahorse-pkcs11-properties.c:147 +#: ../pkcs11/seahorse-pkcs11-properties.c:151 +msgid "Unnamed" +msgstr "నామములేని" + +#: ../pkcs11/seahorse-pkcs11-properties.c:175 +msgid "Failed to export certificate" +msgstr "అధికారపత్రములు దిగుమతి చేయుతలో విఫలం" + +#: ../pkcs11/seahorse-pkcs11-properties.c:190 ../src/seahorse-sidebar.c:875 +msgid "Couldn't delete" +msgstr "తొలగించలేకపోయింది" + +#: ../pkcs11/seahorse-pkcs11-properties.c:231 +msgid "_Export" +msgstr "ఎగుమతి(_E)" + +#: ../pkcs11/seahorse-pkcs11-properties.c:232 +msgid "Export the certificate" +msgstr "అధికారపత్రానికి ఎగుమతి చేయు" + +#: ../pkcs11/seahorse-pkcs11-properties.c:234 +msgid "Delete this certificate or key" +msgstr "ఈ అధికారపత్రము లేదా మీటను తొలగించుము" + +#: ../pkcs11/seahorse-pkcs11-properties.c:235 +msgid "Request _Certificate" +msgstr "అధికారపత్రమును అర్ధించుము(_C)" + +#: ../pkcs11/seahorse-pkcs11-properties.c:236 +msgid "Create a certificate request file for this key" +msgstr "ఈ కీ కొరకు అభ్యర్దించు అధికారపత్రము ఫైలు సృష్టించుము." + +#: ../pkcs11/seahorse-pkcs11-request.c:104 +msgid "Couldn't save certificate request" +msgstr "అధికారపత్రము అభ్యర్ధన దాచుట కుదురుటలేదు." + +#: ../pkcs11/seahorse-pkcs11-request.c:127 +msgid "Save certificate request" +msgstr "అధికారపత్రము అభ్యర్ధన దాచుము" + +#: ../pkcs11/seahorse-pkcs11-request.c:138 +msgid "Certificate request" +msgstr "అధికారపత్రము అభ్యర్ధన " + +#: ../pkcs11/seahorse-pkcs11-request.c:146 +msgid "PEM encoded request" +msgstr "PEM ఎంకోడ్ అభ్యర్ధన" + +#: ../pkcs11/seahorse-pkcs11-request.c:194 +msgid "Couldn't create certificate request" +msgstr "అధికారపత్రము సృష్టించలేకపోయింది" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "అధికారపత్రము అభ్యర్ధన ఫైలును సృష్టించుము." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "అధికారపత్రము అభ్యర్ధన లో ఉంచిన సాధారమైన నామము" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "పేరు(CN):" + +#: ../pkcs11/seahorse-private-key.c:132 +msgid "Unnamed private key" +msgstr "నామములేని ప్రైవేటు మీట" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "పాస్ పదసముదాయాన్నిమార్చు" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "కొత్త పాస్ పదసముదాయం (_P):" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "కొత్త పాస్ పదసముదాయాన్ని ధృవీకరించు" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "పాస్ పదసముదాయాన్ని ధృవీకరించు (_f)" + +#: ../src/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "మీ సంకేతపదాలను మరియు రహస్యపరచే మీటలను నిర్వహించండి" + +#: ../src/seahorse-generate-select.c:229 +msgid "Continue" +msgstr "కొనసాగించు " + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "మీరు ఏ రకమైన మీటను సృష్టించాలనుకుంటున్నారో ఆ రకమైన మీటను ఎన్నుకోండి (_S):" + +#: ../src/seahorse-import-dialog.c:98 +msgid "Import failed" +msgstr "దిగుమతిచేయుట విఫలమైంది" + +#: ../src/seahorse-import-dialog.c:116 +msgid "Import" +msgstr "దిగుమతి " + +#: ../src/seahorse-import-dialog.c:129 +msgid "Data to be imported:" +msgstr "దిగుమతి అగుటకు దత్తాంశము:" + +#: ../src/seahorse-key-manager.c:255 ../ssh/seahorse-ssh-operation.c:845 +msgid "Import Key" +msgstr "కీను దిగుమతి చేయి" + +#: ../src/seahorse-key-manager.c:267 +msgid "All key files" +msgstr "అన్ని ముఖ్యమైన ఫైళ్ళు" + +#: ../src/seahorse-key-manager.c:368 +msgid "Dropped text" +msgstr "విడిచిన పాఠము" + +#: ../src/seahorse-key-manager.c:391 +msgid "Clipboard text" +msgstr "క్లిప్ బోర్డుపై పాఠము" + +#: ../src/seahorse-key-manager.c:519 +msgid "_New" +msgstr "కొత్త(_N)" + +#: ../src/seahorse-key-manager.c:521 +msgid "Close this program" +msgstr "ఈ కార్యక్రమాన్ని మూసివేయు" + +#: ../src/seahorse-key-manager.c:522 ../src/seahorse-key-manager.c:524 +msgid "_New..." +msgstr "కొత్త(_N)..." + +#: ../src/seahorse-key-manager.c:523 +msgid "Create a new key or item" +msgstr "కొత్త మీటను సృష్టించండి" + +#: ../src/seahorse-key-manager.c:525 +msgid "Add a new key or item" +msgstr "కొత్త మీట లేక ఐటంను జోడించండి" + +#: ../src/seahorse-key-manager.c:526 +msgid "_Import..." +msgstr "దిగుమతి... (_I)" + +#: ../src/seahorse-key-manager.c:527 +msgid "Import from a file" +msgstr "మీటలను ఫైలు నుంచి దిగుమతిచేయు" + +#: ../src/seahorse-key-manager.c:529 +msgid "Import from the clipboard" +msgstr "క్లిప్ బోర్డు నుంచి మీటలను దిగుమతి చేయు" + +#: ../src/seahorse-key-manager.c:533 +msgid "By _keyring" +msgstr "కీరింగు వల్ల(_K):" + +#: ../src/seahorse-key-manager.c:534 +msgid "Show sidebar listing keyrings" +msgstr "పక్కపట్టీకి జతచేయబడ్డ కీరింగ్ లను చూపుము" + +#: ../src/seahorse-key-manager.c:538 +msgid "Show _personal" +msgstr "వ్యకితగతమైనవి చూపు(_p)" + +#: ../src/seahorse-key-manager.c:539 +msgid "Only show personal keys, certificates and passwords" +msgstr "వ్యక్తిగత మీటలు, అధికారపత్రములు మరియు సంకేతపదములు" + +#: ../src/seahorse-key-manager.c:540 +msgid "Show _trusted" +msgstr "నమ్మకమైనవి చూపు(_t)" + +#: ../src/seahorse-key-manager.c:541 +msgid "Only show trusted keys, certificates and passwords" +msgstr "నమ్మకమైన మీటలు, అధికారపత్రములు మరియు సంకేతపదములు" + +#: ../src/seahorse-key-manager.c:542 +msgid "Show _any" +msgstr "ఏమైనా చూపుము(_a)" + +#: ../src/seahorse-key-manager.c:543 +msgid "Show all keys, certificates and passwords" +msgstr "అన్ని మీటలు, అధికారపత్రములు మరియు సంకేతపదములు" + +#: ../src/seahorse-key-manager.c:751 +msgid "Filter" +msgstr "వడపోత" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "మొదటి సారి ఇచ్ఛాపూర్వకాలు" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "నీ స్వంత కొత్త మీటను ఉత్పత్తి చేయు:" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "ఫైలు నుండి ఉన్న మీటలను దిగుమతి చేయు:" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "రహస్యపరచడంతో మొదలుపెట్టడానికి మీకు మీటలు కావాలి." + +#: ../src/seahorse-main.c:54 +msgid "Version of this application" +msgstr "ఈ అనువర్తనము యొక్క వర్షన్" + +#: ../src/seahorse-sidebar.c:799 +msgid "Couldn't lock" +msgstr "లాక్ చేయలేకపోయింది" + +#: ../src/seahorse-sidebar.c:836 +msgid "Couldn't unlock" +msgstr "అన్ లాక్ చేయలేక పోయింది" + +#: ../src/seahorse-sidebar.c:944 +msgid "_Lock" +msgstr "లాక్ (_L)" + +#: ../src/seahorse-sidebar.c:949 +msgid "_Unlock" +msgstr "తెరచివేయు(_U)" + +#: ../src/seahorse-sidebar.c:968 +msgid "_Properties" +msgstr "అభీష్టా(_P)" + +#: ../ssh/seahorse-ssh-actions.c:100 +msgid "Configure Key for _Secure Shell..." +msgstr "రక్షిత షెల్ మీటలు రూపకరించుచున్నది... (_S)" + +#: ../ssh/seahorse-ssh-actions.c:101 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "ప్రజా సురక్షిత షెల్ మీటను మరొక యంత్రానికి పంపి, దాని ద్వారా ప్రవేశద్వారానికి ఉపయోగించు. " + +#: ../ssh/seahorse-ssh-askpass.c:60 ../ssh/seahorse-ssh-askpass.c:68 +msgid "Enter your Secure Shell passphrase:" +msgstr "మీ రక్షిత షెల్ పాస్ పదసముదాయాన్ని ఇవ్వండి:" + +#: ../ssh/seahorse-ssh-askpass.c:82 +msgid "Old Key Passphrase" +msgstr "పాత మీట యొక్క పాస్ పదసముదాయం" + +#: ../ssh/seahorse-ssh-askpass.c:83 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "%s కొరకు పాత పాస్ పదసముదాయాన్ని ఇవ్వండి" + +#: ../ssh/seahorse-ssh-askpass.c:87 ../ssh/seahorse-ssh-askpass.c:92 +msgid "New Key Passphrase" +msgstr "కొత్త మీట యొక్క పాస్ పదసముదాయం" + +#: ../ssh/seahorse-ssh-askpass.c:88 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "%s కొరకు కొత్త పాస్ పదసముదాయాన్ని ఇవ్వండి" + +#: ../ssh/seahorse-ssh-askpass.c:93 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "%s కొరకు కొత్త పాస్ పదసముదాయాన్నిమరల ఇవ్వండి" + +#: ../ssh/seahorse-ssh-backend.c:91 +msgid "Secure Shell" +msgstr "రక్షిత షెల్ " + +#: ../ssh/seahorse-ssh-backend.c:94 +msgid "Keys used to connect securely to other computers" +msgstr "ఇతర కంప్యూటర్స్ కు సురక్షితమైన బంధంకు వాడబడిన మీటలు." + +#: ../ssh/seahorse-ssh-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:86 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "'%s' వాడుకరి సంకేతపదంను మీరు శాశ్వతంగా తొలగించడానికి నిశ్చయించుకున్నారా?" + +#: ../ssh/seahorse-ssh-deleter.c:91 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "%d మీటను మీరు శాశ్వతంగా తొలగించడానికి నిశ్చయించుకున్నారా?" +msgstr[1] "%d మీటలను మీరు శాశ్వతంగా తొలగించడానికి నిశ్చయించుకున్నారా?" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "Ssh Key" +msgstr "ssh మీట" + +#: ../ssh/seahorse-ssh-exporter.c:122 +msgid "Secret SSH keys" +msgstr "రహస్య షెల్ మీట" + +#: ../ssh/seahorse-ssh-exporter.c:126 +msgid "Public SSH keys" +msgstr "పబ్లిక్ ssh మీట" + +#: ../ssh/seahorse-ssh-exporter.c:290 +msgid "No public key file is available for this key." +msgstr "ఈ కీ కొరకు ఏ పబ్లిక్ కీ అందుబాటులో లేదు." + +#: ../ssh/seahorse-ssh-generate.c:55 ../ssh/seahorse-ssh-key.c:114 +#: ../ssh/seahorse-ssh-key.c:118 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "రక్షిత షెల్ మీట" + +#: ../ssh/seahorse-ssh-generate.c:56 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "ఇతర కంప్యూటర్లను సాంగత్యించేందుకు వాడబడతుంది(ఉదాహరణకు:అగ్రం ద్వారా)" + +#: ../ssh/seahorse-ssh-generate.c:110 ../ssh/seahorse-ssh-generate.c:126 +msgid "Couldn't generate Secure Shell key" +msgstr "రక్షిత షెల్ మీటను ఉత్పత్తి చేయలేకపోయింది" + +#: ../ssh/seahorse-ssh-generate.c:192 +msgid "Creating Secure Shell Key" +msgstr "రక్షిత షెల్ మీట సృష్టించుచున్నది." + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "కొత్త రక్షిత షెల్ మీట" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "కేవలం మీట సృష్టించు (_J)" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "సృష్టించు మరియు అమర్చిపెట్టు (_C)" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"ఒక రక్షిత షెల్ (ఎస్ ఎస్ హెచ్) మీట మిమ్మల్ని సురక్షితంగా వెరే కంప్యూటర్లకు బంధించడానికి ఉపయోగపడుతుంది." + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr "ఈ మీట దేని కొరకో తెలుసుకోవటానికి మీ ఈ మెయిల్ ను జ్ఞాపకంచేసేదానిని వాడండి" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"ఒకవేళ ఈ మీటను వాడడానికి కంప్యూటరుంటే, ఇప్పుడు ఆ కంప్యూటర్నుమీ కొత్త మీటను గుర్తించే విధంగా దానిని " +"స్థాపించవచ్చు." + +#: ../ssh/seahorse-ssh-key.c:110 +msgid "(Unreadable Secure Shell Key)" +msgstr "(చదవలేని రక్షిత షెల్ మీట)" + +#: ../ssh/seahorse-ssh-key.c:218 +msgid "Personal SSH key" +msgstr "నా స్వకీయమైన ssh మీటలు " + +#: ../ssh/seahorse-ssh-key.c:220 +msgid "SSH key" +msgstr "ssh మీట" + +#: ../ssh/seahorse-ssh-key-properties.c:82 +msgid "Couldn't rename key." +msgstr "మీట పునర్నామకరణము చేయుటకు వీలుకాదు." + +#: ../ssh/seahorse-ssh-key-properties.c:135 +msgid "Couldn't change authorization for key." +msgstr "మీట కొరకు అధికారాన్ని మార్చుటకు వీలుకాదు." + +#: ../ssh/seahorse-ssh-key-properties.c:170 +msgid "Couldn't change passphrase for key." +msgstr "మీట కొరకు పాస్ పదసముదాయాన్ని మార్చుట వీలుకాదు." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "గుర్తించునది:" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "పేరు:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "ఇతర కంప్యూటర్స్ కు బంధంకు వాడబడినది." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "నమ్మకం" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "ఈ కంప్యూటర్ కు బంధంకు ఈ మీట యొక్క యజమాని కి అధికారమివ్వబడినది. (_a)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "'%s' కు మాత్రమే ఇది వర్తిస్తుంది ఖాతా." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "అల్గారిదమ్:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "శక్తి:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "స్థలము:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "పూర్తి మీట ఎగుమతి (_x)" + +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The SSH command was terminated unexpectedly." +msgstr "ఎస్ ఎస్ హెచ్ ఆదేశం అనుకోకుండా ముగిసినది." + +#: ../ssh/seahorse-ssh-operation.c:209 +msgid "The SSH command failed." +msgstr "ఎస్ ఎస్ హెచ్ ఆదేశం విఫలమైనది." + +#: ../ssh/seahorse-ssh-operation.c:502 +msgid "Remote Host Password" +msgstr "అల్లిక సంకేతపదం" + +#: ../ssh/seahorse-ssh-operation.c:588 +msgid "Enter Key Passphrase" +msgstr "పాస్ పదసముదాయాన్ని ఇవ్వండి" + +#: ../ssh/seahorse-ssh-operation.c:678 +msgid "Passphrase for New Secure Shell Key" +msgstr "కొత్త రక్షిత షెల్ మీట కొరకు పాస్ పదసముదాయం" + +#: ../ssh/seahorse-ssh-operation.c:862 +#, c-format +msgid "Importing key: %s" +msgstr "కీను దిగుమతిచేయుచున్నది: %s" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Importing key. Enter passphrase" +msgstr "కీను దిగుమతిచేయుచున్నది. సంకేతపదమును ప్రవేశపెట్టుము" + +#: ../ssh/seahorse-ssh-source.c:232 +msgid "OpenSSH keys" +msgstr "OpenSSH చేసింది" + +#: ../ssh/seahorse-ssh-source.c:235 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ../ssh/seahorse-ssh-source.c:940 +msgid "No private key file is available for this key." +msgstr "ఈ కీ కొరకు ఏ వ్యక్తిగత కీ అందుబాటులో లేదు." + +#: ../ssh/seahorse-ssh-upload.c:50 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "సూదూర కంప్యూటర్ పై రక్షిత షెల్ మీటలు రూపకరించుట వీలుకాదు." + +#: ../ssh/seahorse-ssh-upload.c:133 +msgid "Configuring Secure Shell Keys..." +msgstr "రక్షిత షెల్ మీటలు రూపకరించుచున్నది..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "ఎస్ ఎస్ హెచ్ బంధం కొరకు కంప్యూటర్ అమర్చిపెట్టు" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"మీ యొక్క రక్షిత షెల్ మీట మరియొక కంప్యూటర్ తో వాడుటకు అది\n" +"ఎస్ ఎస్ హెచ్ వాడుతుంది, నీవు ఇదివరకే ఒక ప్రవేశద్వారం ఖాతా కలిగి ఉండవలయును ఆ\n" +"కంప్యూటర్ పై." + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "ఉదా: fileserver.example.com" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "కంప్యూటర్ పేరు (_C):" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "ప్రవేశద్వారం పేరు (_L):" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "అమర్చిపెట్టు (_S)" + +#~ msgid "Couldn't delete item" +#~ msgstr "అంశమును తొలగించలేకపోయింది" + +#~ msgid "Deleting item" +#~ msgid_plural "Deleting items" +#~ msgstr[0] "వస్తువును దాచుతోంది" +#~ msgstr[1] "వస్తువును దాచుతోంది" + +#~ msgid "Passwords: %s" +#~ msgstr "సంకేతపదం: %s" + +#~ msgid "Passwords: %s" +#~ msgstr "సంకేతపదం: %s" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "సంకేతపద నిల్వ కీరింగును లాక్ చేయుము అలా వొక మాస్టర్ సంకేతపదము అవసరమౌతుంది దానిని అన్‌లాక్ చేయుటకు." + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "" +#~ "సంకేతపదము దాచే కీరింగును మాస్టర్ సంకేతపదముతో అన్‌లాక్ చేయుము అలా అది వుపయోగమునకు అందుబాటులో " +#~ "వుంటుంది." + +#~ msgid "Couldn't delete keyring" +#~ msgstr "కీరింగ్ ను తొలగించలేకపోయింది" + +#~ msgid "Archive files" +#~ msgstr "సంగ్రహమైన ఫైళ్ళు" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "ఈ పేరుతో వొక ఫైలు యిప్పటికే వుంది.\n" +#~ "\n" +#~ "మీరు దానిని కొత్త ఫైలుతో పునఃస్థాపించాలని అనుకొనుచున్నారా?" + +#~ msgid "_Replace" +#~ msgstr "పునఃస్థాపించు (_R)" + +#~ msgid "_Sign Key..." +#~ msgstr "సంతకం చేయు... (_S)" + +#~ msgid "Sign public key" +#~ msgstr "ప్రజా మీటను సంతకం చేయు" + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "%d మీటను మీరు శాశ్వతంగా తొలగించడానికి నిశ్చయించుకున్నారా?" + +#~ msgid "Couldn't delete public key" +#~ msgstr "పబ్లిక్ కీను తొలగించలేకపోయింది" + +#~ msgid "Algorithms here" +#~ msgstr "అల్గారిదములు ఇక్కడ" + +#~ msgid "New PGP Key" +#~ msgstr "కొత్త పీజీపీ మీట" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "\"%s\" కు మీటను ఎగుమతి చేయలేకపోయింది" + +#~ msgid "Export Complete Key" +#~ msgstr "పూర్తి మీటను ఎగుమతిచేయు" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "%s ను శాశ్వతంగా తొలగించాలని మీరు నిశ్చయించుకున్నారా?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "%d మీటను మీరు శాశ్వతంగా తొలగించడానికి నిశ్చయించుకున్నారా?" +#~ msgstr[1] "%d మీటలను మీరు శాశ్వతంగా తొలగించడానికి నిశ్చయించుకున్నారా?" + +#~ msgid "Deleting" +#~ msgstr "తొలగిస్తుంది" + +#~ msgid "Create New ..." +#~ msgstr "కొత్త మీటను సృష్టించు..." + +#~ msgid "Selected %d key" +#~ msgid_plural "Selected %d keys" +#~ msgstr[0] "ఎన్నుకొన్న %d మీట" +#~ msgstr[1] "ఎన్నుకొన్న %d మీటలు" + +#~ msgid "Importing keys" +#~ msgstr "మీటలను దిగుమతి చేస్తోంది" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "తెలియని మీట రకం, లేదా నిస్సారమైన దత్తాంశ రూపలావణ్యం" + +#~ msgid "Importing Keys" +#~ msgstr "మీటలను దిగుమతి చేస్తోంది" + +#~ msgid "T_ypes" +#~ msgstr "రకాలు (_y)" + +#~ msgid "Show type column" +#~ msgstr "రకం నిలువును చూపు" + +#~ msgid "_Expiry" +#~ msgstr "ముగియు (_E)" + +#~ msgid "Show expiry column" +#~ msgstr "ముగియు నిలువును చూపు" + +#~ msgid "_Trust" +#~ msgstr "నమ్మకం (_T)" + +#~ msgid "Show owner trust column" +#~ msgstr "యజమాని నమ్మకం నిలువును చూపు" + +#~ msgid "_Validity" +#~ msgstr "దార్ఢ్యము (_V)" + +#~ msgid "Show validity column" +#~ msgstr "దార్ఢ్యము నిలువును చూపు" + +#~ msgid "Other _Keys" +#~ msgstr "ఇతర కీలు (_K)" + +#~ msgid "Validity" +#~ msgstr "దార్ఢ్యము" + +#~ msgid "Expiration Date" +#~ msgstr "ముగిసే తేది" + +#~ msgid "_Expand All" +#~ msgstr "అన్నింటినీ విస్తరించు (_E)" + +#~ msgid "Expand all listings" +#~ msgstr "అన్ని జాబితాలను విస్తరించు" + +#~ msgid "_Collapse All" +#~ msgstr "అన్నింటినీ కూల్చివేయు (_C)" + +#~ msgid "Collapse all listings" +#~ msgstr "అన్ని జాబితాలను కూల్చివేయు" + +#~ msgid "Export public key" +#~ msgstr "ప్రజా మీటను ఎగుమతి చేయు" + +#~ msgid "Exporting keys" +#~ msgstr "మీటలను ఎగుమతి చేస్తోంది" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "ముఖ్య సేవిక నుంచి దత్తాంశాన్ని మరల సంపాదించలేకపోయింది" + +#~ msgid "Retrieving keys" +#~ msgstr "మీటలను మరల సంపాదిస్తోంది" + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s ఒక స్వంతతాళం." + +#~ msgctxt "" +#~ "This text refers to deleting an item from its type's backing store." +#~ msgid "_Delete" +#~ msgstr "తొలగించు(_D)" + +#~ msgid "Couldn't delete key" +#~ msgstr "మీటను తొలగించలేకపోయింది" + +#~ msgid "_Key Description:" +#~ msgstr "మీట వివరణ (_K):" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "సీహార్స్-డెమోన్‌ను డెమోన్‌లా నడపవద్దు" + +#~ msgid "couldn't fork process" +#~ msgstr "ప్రోసెస్‌ను పోర్కు చేయలేదు" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "రహస్యపరచు సూత్రధారి(సీహార్స్)" + +#~ msgid "Seahorse Daemon" +#~ msgstr "Seahorse ‍డెమోన్" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "నిస్సారమైన లేదా గుర్తించలేని మీట రకం:%s" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "నిస్సారమైన లేదా గుర్తించలేని మీట రకం:%s" + +#~ msgid "Signed by expired on %s." +#~ msgstr "చే సంతకం చేయబడినది %s ముగిసినది" + +#~ msgid "Invalid Signature" +#~ msgstr "నిస్సారమైన సంతకం" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "చే సంతకం చేయబడినది %s ముగిసినది" + +#~ msgid "Expired Signature" +#~ msgstr "ముగిసిన సంతకం" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "చే సంతకం చేయబడినది %s కొట్టివేయబడింది" + +#~ msgid "Revoked Signature" +#~ msgstr "కొట్టివేయబడిన సంతకం" + +#~ msgid "Signed by on %s." +#~ msgstr "%s పై సంతకం చేయబడింది. " + +#~ msgid "Good Signature" +#~ msgstr "మంచి సంతకం" + +#~ msgid "Signing key not in keyring." +#~ msgstr "సంతకం చేయబడుతున్న మీట కీలకవలయంలో లేదు." + +#~ msgid "Unknown Signature" +#~ msgstr "తెలియని సంతకం" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "చెడ్డ లేదా నకిలీ సంతకం. సంతకం చేసిన డాటా సవరించబడింది." + +#~ msgid "Bad Signature" +#~ msgstr "చెడ్డ సంతకం" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "నిస్సారమైన లేదా గుర్తించలేని సంతకదారి:%s" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "సంతకం చేయుటకు ఈ మీట నిస్సారమైనది:%s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "నిస్సారమైన లేదా గుర్తించలేని : %s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "మీట రహస్యపరచడానికి ఇది సారమైన పుచ్చుకోవడానికి అర్హులుకారు:%s" + +#~ msgid "No recipients specified" +#~ msgstr "పుచ్చుకోనేవారిని వివరించలేదు" + +#~ msgid "No signer specified" +#~ msgstr "సంతకదారిని వివరించలేదు" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "వివరణ కొరకు చెల్లని కీ: %s" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "పరీక్షించేందుకు నిస్సార రకమైన మీట :%s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "నిస్సారమైన మీట గుచి:%s" + +#~ msgid "Couldn't share keys" +#~ msgstr "మీటలను పంచలేకపోయింది" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "కనుగొన్న వివరాలను నెట్వర్క్లో ప్రచురించలేకపోయింది." + +#~ msgid "%s's encryption keys" +#~ msgstr "%s యొక్క రహస్యపరచే మీటలు" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "ఎడమైన పీజీపీ మీటల కోసం వెతకడానికి ముఖ్య సేవికల యూ ఆర్ ఐల జాబితా.తరువాతి వివరణాలలో ఒక ఖాళీ అక్షరాన్ని " +#~ "ఇచ్చి పేరును ప్రద" + +#~ msgid "Auto Retrieve Keys" +#~ msgstr "స్వీయ మరల సంపాదించే మీట" + +#~ msgid "Auto Sync Keys" +#~ msgstr "స్వీయ కాలనియమిత మీటలు" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "మీట అభికర్తకు ముగిసేకాల నిలువు యొక్క దృష్టిని అదుపు చేస్తుంది." + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "మీట అభికర్తకు నమ్మక నిలువు యొక్క దృష్టిని అదుపు చేస్తుంది." + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "మీట అభికర్తకు రకం నిలువు యొక్క దృష్టిని అదుపు చేస్తుంది." + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "మీట అభికర్తకు దార్ఢ్యము నిలువు యొక్క దృష్టిని అదుపు చేస్తుంది." + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "డీ ఎన్ ఎస్ - ఎస్ డీ పంచుకొనుటకు అధికారమివ్వు" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "డీ ఎన్ ఎస్ - ఎస్ డీ (యాపిల్ బాంజర్) మీటలను పంచుకొనుటకు అధికారమిస్తుంది.సీహార్స్-సూత్రధారి " +#~ "నడుస్తుండాలి మరియు హెచ్ కె పీ మరియు డీ ఎన్ ఎస్ - ఎస్ డీ సహకారంతో కట్టిబడి ఉండాలి." + +#~ msgid "ID of the default key" +#~ msgstr "అప్రమేయ మీట యొక్క గుచి" + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "సత్యమునకు అమర్చితే, సీహార్సుతో ఎన్క్రిప్టు చేయబడిన ఫైలులు ASCII ఆర్మర్ ఎన్కోడెడ్ అవుతాయి." + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "" +#~ "సత్యమునకు అమర్చితే, అప్పుడు అప్రమేయ కీ ఎల్లప్పుడూ ఎన్క్రిప్షన్ స్వీకర్తల జాబితాకు జతచేయబడుతుంది." + +#~ msgid "Last key server search pattern" +#~ msgstr "చివరి కీ సర్వర్ శోధన మాదిరి" + +#~ msgid "Last key servers used" +#~ msgstr "చివరిగా వాడిన సేవికలు" + +#~ msgid "Last key used to sign a message." +#~ msgstr "సంతకము చేయుటకు చివరిగా వాడిన మీట" + +#~ msgid "PGP Key servers" +#~ msgstr "పీజీపీ మీట సేవికలు" + +#~ msgid "Publish keys to this key server." +#~ msgstr "మీటలను ముఖ్య సేవికకు ప్రచురించు." + +#~ msgid "Show expires column in key manager" +#~ msgstr "ముగియు నిలువును మీట అభికర్తలో చూపు" + +#~ msgid "Show trust column in key manager" +#~ msgstr "నమ్మకం నిలువును మీట అభికర్తలో చూపు" + +#~ msgid "Show type column in key manager" +#~ msgstr "రకం నిలువును మీట అభికర్తలో చూపు" + +#~ msgid "Show validity column in key manager" +#~ msgstr "దార్ఢ్యము నిలువును మీట అభికర్తలో చూపు" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "పుచ్చుకునేవారి గవాక్షాన్నిచక్కదిద్దేందుకు నిలువును వివరముగా తెలియచేయండి.ఆ నిలువులు :'పేరు'మరియు " +#~ "'గుచి' .అవరోహణాక్రమంగా చక్కదిద్దేందుకు నిలువు ముందు ఒక '-'ను పెట్టండి." + +#~ msgid "" +#~ "Specify the column to sort the seahorse key manager main window by. " +#~ "Columns are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. " +#~ "Put a '-' in front of the column name to sort in descending order." +#~ msgstr "" +#~ "సీహార్స్ మీట అభికర్త ముఖ్య గవాక్షాన్ని చక్కదిద్దేందుకు నిలువును వివరముగా తెలియచేయండి.ఆ " +#~ "నిలువులు :'పేరు','గుచి','దార్ఢ్యము','నమ్మకం' మరియు 'రకం'.అవరోహణాక్రమంగా చక్కదిద్దేందుకు " +#~ "నిలువు ముందు ఒక '-'ను పెట్టండి." + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "చివరిగా సందేశాన్ని సంతకం చేయడానికి వాడిన రహస్య మీట యొక్క గుచి." + +#~ msgid "The column to sort the recipients by" +#~ msgstr "పుచ్చుకునే వారిని చక్కదిద్దేందుకు నిలువు" + +#~ msgid "The column to sort the seahorse keys by" +#~ msgstr "సీహార్స్ మీటలను చక్కదిద్దేందుకు నిలువు" + +#~ msgid "" +#~ "The key server to publish PGP keys to. Or empty to suppress publishing of " +#~ "PGP keys." +#~ msgstr "" +#~ "పీజీపీ మీటలను ప్రచురించేందుకు ముఖ్య సేవిక.లేదా పీజీపీ మీటలను ప్రచురించకుండా అణచివేయటానికి ఖాళీ చేయండి." + +#~ msgid "" +#~ "The last key server a search was performed against or empty for all key " +#~ "servers." +#~ msgstr "చివరి కీ సవర్వరు శోధన అన్ని కీ సర్వర్లకు లేదా ఖాళీకు జరుగుతుంది" + +#~ msgid "The last search pattern searched for against a key server." +#~ msgstr "చివరి శోధన మాదిరి కీ సర్వరు కొరకు శోదించినది." + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "ఇది కొన్ని కార్యాల కోసం, ముఖ్యంగా సంతకం చేయటానికి అప్రమేయ మీటను వివరిస్తుంది." + +#~ msgid "" +#~ "Whether or not keys should be automatically retrieved from key servers." +#~ msgstr "కీలు కీ సర్వరునుండి స్వయంచాలకంగా వెలికితీయబడవలెనా లేదా." + +#~ msgid "" +#~ "Whether or not modified keys should be automatically synced with the " +#~ "default key server." +#~ msgstr "సవరించిన కీలు స్వయంచాలకంగా అప్రమేయ కీ సర్వరుతో సింక్ కావలెనా లేదా" + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "ఎల్లప్పడూ అప్రమేయ కీనకు ఎన్క్రిప్టు కావలెనా" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "ASCII Armorను వాడాలా వద్దా" + +#~ msgid "Web Password" +#~ msgstr "మహాతల సంకేతపదం" + +#~ msgid "Couldn't set application access." +#~ msgstr "వర్ణనను ఏర్పాటు చేయలేకపోయింది." + +#~ msgid "Path:" +#~ msgstr "తేదీలు:" + +#~ msgid "Permissions:" +#~ msgstr "వివరణ:" + +#~ msgid "Applications" +#~ msgstr "కార్యక్షేత్రాలు" + +#~ msgid "_Read" +#~ msgstr "చదువుము(_R)" + +#~ msgid "_Write" +#~ msgstr "వ్రాయుము(_W)" + +#~ msgid "Saving item..." +#~ msgstr "వస్తువును దాచుతోంది..." + +#~ msgid "Listing password keyrings" +#~ msgstr "రహస్యపదాల జాబితా" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "మీరు అభ్యర్దించిన ఆపరేషన్ దేనితో చేయాలి అనేదానికి ఏ ఎన్క్రిప్షన్ కీలు కనబడలేదు. సంకేతపదములు " +#~ "మరియు ఎన్క్రిప్షన్ కీలు అను ప్రోగ్రామ్ యిప్పుడు ప్రారంభించబడుతుంది అలా మీరు వొక కీను " +#~ "సృష్టించవచ్చును లేదా దిగుమతి చేయవచ్చును." + +#~ msgid "All Keys" +#~ msgstr "అన్ని మీటలు" + +#~ msgid "Selected Recipients" +#~ msgstr "ఎన్నుకొన్న పుచ్చుకునేవారు" + +#~ msgid "Search Results" +#~ msgstr "ఫలితాలను వెతుకు" + +#~ msgid "Search _for:" +#~ msgstr "కొరకు వెతుకు (_f):" + +#~ msgid "None (Don't Sign)" +#~ msgstr "ఏదీ కాదు (సంతకం చేయకు)" + +#~ msgid "Sign this message as %s" +#~ msgstr "ఈ సందేశమును %s వలె సంతకంచేయుము" + +#~ msgid "_Sign message as:" +#~ msgstr "సందేశమును యిలా సంతకంచేయుము (_S):" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "ఫైలు చెల్లునటువంచి .desktop ఫైలు కాదు" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "గుర్తించబడని డెస్కుటాపు ఫైలు వర్షన్ '%s'" + +#~ msgid "Starting %s" +#~ msgstr "%s ప్రారంభిస్తోంది" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "ఆదేశవరుస నందు అనువర్తనములు పత్రములను ఆంగీకరించవు" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "గుర్తించబడని ప్రారంభ ఐచ్చికము: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "పత్రము URIలను Type=Link' desktop entry కు పంపలేదు." + +#~ msgid "Not a launchable item" +#~ msgstr "దించదగిన అంశము కాదు" + +#~ msgid "Disable connection to session manager" +#~ msgstr "సెషన్ నిర్వాహికకు అనుసంధానమును అచేతనము చేయుము" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "దాచివున్న ఆకృతీకరణను కలిగివున్న ఫైలు తెలుపుము" + +#~ msgid "FILE" +#~ msgstr "FILE" + +#~ msgid "Specify session management ID" +#~ msgstr "సెషన్ నిర్వహణా IDను తెలుపుము" + +#~ msgid "Session management options:" +#~ msgstr "సెషన్ నిర్వహణా ఐచ్చికములు:" + +#~ msgid "Show session management options" +#~ msgstr "సెషన్ నిర్వహణా ఐచ్చికములను చూపుము" + +#~ msgid "Key Imported" +#~ msgid_plural "Keys Imported" +#~ msgstr[0] "మీట దిగుమతి చేయబడింది" +#~ msgstr[1] "మీటలను దిగుమతి చేయబడినవి" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "%i మీట దిగుమతి చేయబడింది" +#~ msgstr[1] "%i మీటలు దిగుమతి చేయబడ్డాయి" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "మీట దిగుమతి చేయబడింది" +#~ msgstr[1] "మీటలు దిగుమతి చేయబడ్డాయి" + +#~ msgid "Notification Messages" +#~ msgstr "తాఖీదు సందేశాలు" + +#~ msgid "Symmetric Key" +#~ msgstr "కాలనియమిత మీటలు" + +#~ msgid "Credentials" +#~ msgstr "నెట్వర్క్ పరపతులు" + +#~ msgid "Identity" +#~ msgstr "గుర్తింపు" + +#~ msgid "Key Sharing" +#~ msgstr "కీ షేరింగ్" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "మీ కీలను పంచుకొనుటవలన మీ నెట్వర్కునందలి యితరులు మీరు సేకరించిన కీలను వుపయోగించుటకు " +#~ "అనుమతించబడతారు. అలా మీరు వారికి మీ కీను పంపకుండానే, వారు స్వయంచాలకంగా మీ కొరకు మరియు మీకు " +#~ "తెలిసిన వారికొరకు విషయాలను ఎన్క్రిప్టు చేయగలుగుతారు.\n" +#~ "\n" +#~ "గమనిక: మీ వ్యక్తిగత కీలు రాజీ కాబోవు." + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "నాకీలను నా నెట్వర్కునందలి యితరులతో పంచుకొనుము (_S)" + +#~ msgid "Progress Title" +#~ msgstr "పురోగమన శీర్షిక" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "ఫైల్-రోలర్‌ను నడుపలేదు" + +#~ msgid "Couldn't package files" +#~ msgstr "ఫైలులను ప్యాకేజ్ చేయలేక పోయింది" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "ఫైల్-రోలర్ ప్రోసెస్ సమర్ధవంతంగా పూర్తికాలేక పోయింది" + +#~ msgid "Loading Keys..." +#~ msgstr "కీలు లోడుచేస్తోంది..." + +#~ msgid "Uploading keys..." +#~ msgstr "కీలను నవీకరించుచున్నది..." + +#~ msgid "Retrieving keys..." +#~ msgstr "కీలను వెలికితీయుచున్నది..." + +#~ msgid "Searching for keys on: %s" +#~ msgstr "దీనిపైన కీల కొరకు శోధించుచున్నది: %s" + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "%s ఉన్న మీటలకోసం వెతుకుతోంది..." + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "'%s' మీట గుచి కోసం వెతుకుతోంది..." + +#~ msgid "Retrieving remote keys..." +#~ msgstr "దూరస్థ కీలను వెలికితీయుచున్నది..." + +#~ msgid "Sending keys to key server..." +#~ msgstr "ముఖ్య సేవికకు మీటలను పంపుతోంది..." + +#~ msgid "Synchronizing keys" +#~ msgstr "మీటలను కాలనియమితం చేస్తోంది" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "మీటలను కాలనియమితులుగా చేయడానికి ఎన్నుకొనబడ్డాయి" + +#~ msgid "" +#~ "One or more of the deleted keys are private keys. Are you sure you want " +#~ "to proceed?" +#~ msgstr "" +#~ "తొలగించిన కీలలో వొకటి లేదా యెక్కువ కీలు వ్యక్తిగత కీలు. మీరు ఖచ్చితముగా కొనసాగాలని అనుకొనుచున్నారా?" + +#~ msgid "Invalid" +#~ msgstr "నిస్సారం" + +#~ msgid "Private Secure Shell Key" +#~ msgstr "స్వంత రక్షిత షెల్ మీట" + +#~ msgid "Public Secure Shell Key" +#~ msgstr "ప్రజా రక్షిత షెల్ మీట" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/nate/.ssh/blah_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" + +#~ msgid "Passphrase:" +#~ msgstr "పాస్ పదసముదాయం" + +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "కొత్త రక్షిత షెల్ మీట కొరకు పాస్ పదసముదాయం ఇవ్వండి." diff --git a/po/tg.po b/po/tg.po new file mode 100644 index 00000000..6ee1eb6d --- /dev/null +++ b/po/tg.po @@ -0,0 +1,2520 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Victor Ibragimov , 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: Tajik Gnome\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2013-03-06 19:45+0000\n" +"PO-Revision-Date: 2013-01-21 16:07+0500\n" +"Last-Translator: Victor Ibragimov \n" +"Language-Team: \n" +"Language: tg\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 1.5.4\n" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "New Keyring Name:" +msgstr "" + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "" + +#: ../gkr/seahorse-gkr-actions.c:81 +msgid "New password keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-actions.c:82 ../gkr/seahorse-gkr-actions.c:89 +msgid "Used to store application and network passwords" +msgstr "" + +#: ../gkr/seahorse-gkr-actions.c:83 +msgid "New password..." +msgstr "" + +#: ../gkr/seahorse-gkr-actions.c:84 ../gkr/seahorse-gkr-actions.c:91 +msgid "Safely store a password or secret." +msgstr "" + +#: ../gkr/seahorse-gkr-actions.c:88 +msgid "Password Keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-actions.c:90 +msgid "Stored Password" +msgstr "" + +#: ../gkr/seahorse-gkr-actions.c:174 +msgid "Couldn't set default keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-actions.c:225 ../gkr/seahorse-gkr-actions.c:248 +msgid "Couldn't change keyring password" +msgstr "" + +#: ../gkr/seahorse-gkr-actions.c:281 +msgid "_Set as default" +msgstr "_Таъин кардан ҳамчун пешфарз" + +#: ../gkr/seahorse-gkr-actions.c:282 +msgid "Applications usually store new passwords in the default keyring." +msgstr "" + +#: ../gkr/seahorse-gkr-actions.c:283 +msgid "Change _Password" +msgstr "Тағйир додани парол" + +#: ../gkr/seahorse-gkr-actions.c:284 +msgid "Change the unlock password of the password storage keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.c:60 +msgid "Couldn't add item" +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +msgid "Add Password" +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "Тавсиф" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Password:" +msgstr "Парол:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Show Password" +msgstr "" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +msgid "_Keyring:" +msgstr "" + +#: ../gkr/seahorse-gkr-add-keyring.c:72 +msgid "Couldn't add keyring" +msgstr "" + +#: ../gkr/seahorse-gkr-backend.c:205 +msgid "Passwords" +msgstr "Паролҳо" + +#: ../gkr/seahorse-gkr-backend.c:208 +msgid "Stored personal passwords, credentials and secrets" +msgstr "" + +#. Translators: This should be the same as the string in empathy +#: ../gkr/seahorse-gkr-item.c:293 +msgid "IM account password for " +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:353 +msgid "Password or secret" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:354 +msgid "Network password" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:355 +msgid "Stored note" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:356 +msgid "Keyring password" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:357 +msgid "Encryption key password" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:358 +msgid "Key storage password" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:359 +msgid "Google Chrome password" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:360 +msgid "Gnome Online Accounts password" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:361 +msgid "Telepathy password" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:362 +msgid "Instant messaging password" +msgstr "" + +#: ../gkr/seahorse-gkr-item.c:363 +msgid "Network Manager secret" +msgstr "" + +#: ../gkr/seahorse-gkr-item-deleter.c:80 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "" + +#: ../gkr/seahorse-gkr-item-deleter.c:83 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "" +msgstr[1] "" + +#: ../gkr/seahorse-gkr-item-properties.c:66 +msgid "Access a network share or resource" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a website" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Unlocks a PGP key" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a Secure Shell key" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Saved password or login" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:102 +msgid "Network Credentials" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:107 +msgid "Password" +msgstr "Парол" + +#: ../gkr/seahorse-gkr-item-properties.c:216 +msgid "Couldn't change password." +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:263 +#: ../gkr/seahorse-gkr-item-properties.c:385 +msgid "Updating password" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.c:346 +msgid "Couldn't set description." +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "Навъ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Server:" +msgstr "Сервер:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Login:" +msgstr "Воридшавӣ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +msgid "Show pass_word" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +#: ../libseahorse/seahorse-passphrase.c:183 ../ssh/seahorse-ssh-askpass.c:99 +msgid "Password:" +msgstr "Парол:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "Тугма" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "Тафсилот" + +#: ../gkr/seahorse-gkr-keyring.c:466 +msgid "A keyring that is automatically unlocked on login" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.c:467 +msgid "A keyring used to store passwords" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-deleter.c:76 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring-deleter.c:79 +msgid "I understand that all items will be permanently deleted." +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Keyring Properties" +msgstr "" + +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +msgid "Name:" +msgstr "Ном:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "Эҷод карда шуд:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "Keyring" +msgstr "" + +#: ../libegg/egg-datetime.c:317 +msgid "Display flags" +msgstr "" + +#: ../libegg/egg-datetime.c:318 +msgid "Displayed date and/or time properties" +msgstr "" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode" +msgstr "" + +#: ../libegg/egg-datetime.c:324 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "" + +#: ../libegg/egg-datetime.c:329 +msgid "Year" +msgstr "Сол" + +#: ../libegg/egg-datetime.c:330 +msgid "Displayed year" +msgstr "" + +#: ../libegg/egg-datetime.c:335 +msgid "Month" +msgstr "Моҳ" + +#: ../libegg/egg-datetime.c:336 +msgid "Displayed month" +msgstr "" + +#: ../libegg/egg-datetime.c:341 +msgid "Day" +msgstr "Рӯз" + +#: ../libegg/egg-datetime.c:342 +msgid "Displayed day of month" +msgstr "" + +#: ../libegg/egg-datetime.c:347 +msgid "Hour" +msgstr "Соат" + +#: ../libegg/egg-datetime.c:348 +msgid "Displayed hour" +msgstr "" + +#: ../libegg/egg-datetime.c:353 +msgid "Minute" +msgstr "Дақиқа" + +#: ../libegg/egg-datetime.c:354 +msgid "Displayed minute" +msgstr "" + +#: ../libegg/egg-datetime.c:359 +msgid "Second" +msgstr "Сония" + +#: ../libegg/egg-datetime.c:360 +msgid "Displayed second" +msgstr "" + +#: ../libegg/egg-datetime.c:365 +msgid "Lower limit year" +msgstr "" + +#: ../libegg/egg-datetime.c:366 +msgid "Year part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:371 +msgid "Upper limit year" +msgstr "" + +#: ../libegg/egg-datetime.c:372 +msgid "Year part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:377 +msgid "Lower limit month" +msgstr "" + +#: ../libegg/egg-datetime.c:378 +msgid "Month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:383 +msgid "Upper limit month" +msgstr "" + +#: ../libegg/egg-datetime.c:384 +msgid "Month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:389 +msgid "Lower limit day" +msgstr "" + +#: ../libegg/egg-datetime.c:390 +msgid "Day of month part of the lower date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:395 +msgid "Upper limit day" +msgstr "" + +#: ../libegg/egg-datetime.c:396 +msgid "Day of month part of the upper date limit" +msgstr "" + +#: ../libegg/egg-datetime.c:401 +msgid "Lower limit hour" +msgstr "" + +#: ../libegg/egg-datetime.c:402 +msgid "Hour part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:407 +msgid "Upper limit hour" +msgstr "" + +#: ../libegg/egg-datetime.c:408 +msgid "Hour part of the upper time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:413 +msgid "Lower limit minute" +msgstr "" + +#: ../libegg/egg-datetime.c:414 +msgid "Minute part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:419 +msgid "Upper limit minute" +msgstr "" + +#: ../libegg/egg-datetime.c:420 +msgid "Minute part of the upper time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:425 +msgid "Lower limit second" +msgstr "" + +#: ../libegg/egg-datetime.c:426 +msgid "Second part of the lower time limit" +msgstr "" + +#: ../libegg/egg-datetime.c:431 +msgid "Upper limit second" +msgstr "" + +#: ../libegg/egg-datetime.c:432 +msgid "Second part of the upper time limit" +msgstr "" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:474 +msgid "calendar:week_start:0" +msgstr "" + +#: ../libegg/egg-datetime.c:496 +msgid "Date" +msgstr "Сана" + +#: ../libegg/egg-datetime.c:496 +msgid "Enter the date directly" +msgstr "" + +#: ../libegg/egg-datetime.c:503 +msgid "Select Date" +msgstr "" + +#: ../libegg/egg-datetime.c:503 +msgid "Select the date from a calendar" +msgstr "" + +#: ../libegg/egg-datetime.c:521 ../libegg/egg-datetime.c:2199 +msgid "Time" +msgstr "Вақт" + +#: ../libegg/egg-datetime.c:521 +msgid "Enter the time directly" +msgstr "" + +#: ../libegg/egg-datetime.c:528 +msgid "Select Time" +msgstr "" + +#: ../libegg/egg-datetime.c:528 +msgid "Select the time from a list" +msgstr "" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:793 +msgid "24hr: no" +msgstr "" + +#: ../libegg/egg-datetime.c:797 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1264 +msgid "AM" +msgstr "" + +#: ../libegg/egg-datetime.c:799 ../libegg/egg-datetime.c:1261 +#: ../libegg/egg-datetime.c:1268 +msgid "PM" +msgstr "" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:807 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:810 +#, c-format +msgid "%02d:%02d %s" +msgstr "" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:814 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:817 +#, c-format +msgid "%02d:%02d" +msgstr "" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1176 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1241 +#, c-format +msgid "%u:%u:%u" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr "" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "" + +#: ../libseahorse/seahorse-application.c:118 +msgid "Version of this application" +msgstr "" + +#: ../libseahorse/seahorse-application.c:124 +msgid "- System Settings" +msgstr "- Танзимоти система" + +#: ../libseahorse/seahorse-catalog.c:88 +msgid "Contributions:" +msgstr "" + +#: ../libseahorse/seahorse-catalog.c:112 ../src/seahorse.desktop.in.in.h:1 +#: ../src/seahorse-key-manager.c:658 +msgid "Passwords and Keys" +msgstr "" + +#: ../libseahorse/seahorse-catalog.c:114 +msgid "translator-credits" +msgstr "" + +#: ../libseahorse/seahorse-catalog.c:117 +msgid "Seahorse Project Homepage" +msgstr "" + +#: ../libseahorse/seahorse-catalog.c:191 +msgid "Cannot delete" +msgstr "" + +#: ../libseahorse/seahorse-catalog.c:239 +#: ../libseahorse/seahorse-key-manager-store.c:443 +msgid "Couldn't export keys" +msgstr "" + +#: ../libseahorse/seahorse-catalog.c:268 +msgid "Couldn't export data" +msgstr "" + +#. Top menu items +#: ../libseahorse/seahorse-catalog.c:277 +msgid "_File" +msgstr "_Файл" + +#: ../libseahorse/seahorse-catalog.c:278 +msgid "E_xport..." +msgstr "" + +#: ../libseahorse/seahorse-catalog.c:279 +msgid "Export to a file" +msgstr "Ба файл содир кардан" + +#: ../libseahorse/seahorse-catalog.c:280 +msgid "_Edit" +msgstr "_Таҳрир кардан" + +#: ../libseahorse/seahorse-catalog.c:283 +msgid "Copy to the clipboard" +msgstr "Ба фазои ҳофизаи муваққатӣ нусха бардоштан" + +#: ../libseahorse/seahorse-catalog.c:284 +#: ../pkcs11/seahorse-pkcs11-properties.c:233 ../src/seahorse-sidebar.c:959 +msgid "_Delete" +msgstr "_Нест кардан" + +#: ../libseahorse/seahorse-catalog.c:285 +msgid "Delete selected items" +msgstr "" + +#: ../libseahorse/seahorse-catalog.c:287 +msgid "Show the properties of this item" +msgstr "" + +#: ../libseahorse/seahorse-catalog.c:289 +msgid "Show the properties of this keyring" +msgstr "" + +#: ../libseahorse/seahorse-catalog.c:290 +msgid "Prefere_nces" +msgstr "" + +#: ../libseahorse/seahorse-catalog.c:291 +msgid "Change preferences for this program" +msgstr "" + +#: ../libseahorse/seahorse-catalog.c:292 +msgid "_View" +msgstr "_Намоиш" + +#: ../libseahorse/seahorse-catalog.c:293 +msgid "_Help" +msgstr "_Кӯмак" + +#: ../libseahorse/seahorse-catalog.c:295 +msgid "About this program" +msgstr "" + +#: ../libseahorse/seahorse-catalog.c:296 +msgid "_Contents" +msgstr "_Мундариҷа" + +#: ../libseahorse/seahorse-catalog.c:297 +msgid "Show Seahorse help" +msgstr "" + +#: ../libseahorse/seahorse-exportable.c:407 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "Содирот" + +#: ../libseahorse/seahorse-interaction.c:99 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:245 +msgid "Confirm:" +msgstr "Тасдиқ:" + +#: ../libseahorse/seahorse-prefs.c:67 +msgid "Not a valid Key Server address." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:68 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "" + +#: ../libseahorse/seahorse-prefs.c:181 +msgid "URL" +msgstr "Суроғаи URL" + +#: ../libseahorse/seahorse-prefs.c:351 +msgid "Custom" +msgstr "Иловагӣ" + +#: ../libseahorse/seahorse-prefs.c:404 +msgid "None: Don't publish keys" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "Хусусиятҳо" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "" + +#: ../libseahorse/seahorse-util.c:210 +msgid "%Y-%m-%d" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1254 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "Номаълум" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1260 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "Ҳеҷ гоҳ" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "Пурра" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Disabled" +msgstr "Ғайрифаъолшуда" + +#: ../libseahorse/seahorse-validity.c:52 +msgctxt "Validity" +msgid "Revoked" +msgstr "Бекоршуда" + +#: ../libseahorse/seahorse-widget.c:460 +#, c-format +msgid "Could not display help: %s" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "_Суроғаи почтаи электронӣ:" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:162 +msgid "Couldn't add subkey" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:181 +#, c-format +msgid "Add subkey to %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:197 ../pgp/seahorse-gpgme-generate.c:134 +msgid "DSA (sign only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:205 +msgid "ElGamal (encrypt only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:211 ../pgp/seahorse-gpgme-generate.c:135 +msgid "RSA (sign only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-subkey.c:217 +msgid "RSA (encrypt only)" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-uid.c:100 +msgid "Couldn't add user id" +msgstr "" + +#: ../pgp/seahorse-gpgme-add-uid.c:122 +#, c-format +msgid "Add user ID to %s" +msgstr "" + +#: ../pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" + +#: ../pgp/seahorse-gpgme.c:73 ../pgp/seahorse-hkp-source.c:586 +#: ../ssh/seahorse-ssh-operation.c:194 +msgid "The operation was cancelled" +msgstr "Амалиёт бекор шудааст" + +#: ../pgp/seahorse-gpgme-expires.c:65 +msgid "Invalid expiry date" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:66 +msgid "The expiry date must be in the future" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:79 +msgid "Couldn't change expiry date" +msgstr "" + +#: ../pgp/seahorse-gpgme-expires.c:140 +#, c-format +msgid "Expiry: %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "" + +#: ../pgp/seahorse-gpgme-exporter.c:114 +msgid "Armored PGP keys" +msgstr "" + +#: ../pgp/seahorse-gpgme-exporter.c:118 +msgid "PGP keys" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:95 +msgid "PGP Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:96 +msgid "Used to encrypt email and files" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:132 +#: ../pkcs11/seahorse-pkcs11-generate.c:91 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:133 +msgid "DSA ElGamal" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:182 +msgid "Couldn't generate PGP key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Passphrase for New PGP Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:215 +msgid "Enter the passphrase for your new key twice." +msgstr "" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It's a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" + +#: ../pgp/seahorse-gpgme-generate.c:231 +#: ../pkcs11/seahorse-pkcs11-generate.c:459 +msgid "Generating key" +msgstr "" + +#: ../pgp/seahorse-gpgme-key-deleter.c:78 +#: ../pgp/seahorse-gpgme-secret-deleter.c:77 +#: ../pkcs11/seahorse-pkcs11-deleter.c:66 +#: ../pkcs11/seahorse-pkcs11-key-deleter.c:81 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "" + +#: ../pgp/seahorse-gpgme-key-deleter.c:81 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "" +msgstr[1] "" + +#: ../pgp/seahorse-gpgme-key-op.c:381 +msgid "Wrong password" +msgstr "" + +#: ../pgp/seahorse-gpgme-key-op.c:381 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:91 +#, c-format +msgid "Wrong passphrase." +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:97 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:100 +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:102 +msgid "Enter passphrase" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:107 +msgid "Passphrase" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:308 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "" +msgstr[1] "" + +#: ../pgp/seahorse-gpgme-keyring.c:655 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:815 +msgid "GnuPG keys" +msgstr "" + +#: ../pgp/seahorse-gpgme-keyring.c:818 +msgid "GnuPG: default keyring directory" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "_Тағйирдиҳии андоза" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:242 ../src/seahorse-key-manager.c:307 +msgid "All files" +msgstr "Ҳамаи файлҳо" + +#: ../pgp/seahorse-gpgme-photos.c:263 +msgid "Choose Photo to Add to Key" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:285 +msgid "Couldn't prepare photo" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:295 ../pgp/seahorse-gpgme-photos.c:298 +msgid "Couldn't add photo" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:296 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:322 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "" + +#: ../pgp/seahorse-gpgme-photos.c:335 +msgid "Couldn't delete photo" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:75 +msgid "Couldn't revoke subkey" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:96 +#, c-format +msgid "Revoke: %s" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:107 +msgid "No reason" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:108 +msgid "No reason for revoking key" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:114 +msgid "Compromised" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:115 +msgid "Key has been compromised" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:121 +msgid "Superseded" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:122 +msgid "Key has been superseded" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:128 +msgid "Not Used" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:129 +msgid "Key is no longer used" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:166 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" + +#: ../pgp/seahorse-gpgme-revoke.c:178 +msgid "Couldn't add revoker" +msgstr "" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:82 ../ssh/seahorse-ssh-deleter.c:83 +msgid "I understand that this secret key will be permanently deleted." +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:100 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:105 +msgid "Couldn't sign key" +msgstr "" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:164 ../pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "" + +#: ../pgp/seahorse-gpgme-sign.c:165 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Номаълум" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:604 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:607 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "" + +#: ../pgp/seahorse-hkp-source.c:1127 +msgid "HTTP Key Server" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:175 +msgid "Couldn't import keys" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:218 +msgid "Importing keys from key servers" +msgstr "" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:244 ../src/seahorse-key-manager.c:507 +msgid "_Remote" +msgstr "_Дурдаст" + +#: ../pgp/seahorse-keyserver-results.c:246 +msgid "Close this window" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:250 ../pgp/seahorse-pgp-actions.c:115 +msgid "_Find Remote Keys..." +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:251 ../pgp/seahorse-pgp-actions.c:116 +msgid "Search for keys on a key server" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:255 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "_Воридот" + +#: ../pgp/seahorse-keyserver-results.c:256 +msgid "Import selected keys to local key ring" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:286 +msgid "Remote Keys" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:288 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "" + +#: ../pgp/seahorse-keyserver-results.c:486 +msgid "The search for keys failed." +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "_Ҷустуҷӯ" + +#: ../pgp/seahorse-keyserver-sync.c:57 +msgid "Couldn't publish keys to server" +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.c:76 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.c:160 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "" +msgstr[1] "" + +#: ../pgp/seahorse-keyserver-sync.c:240 +msgid "Synchronizing keys..." +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:441 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Connecting to: %s" +msgstr "Пайвастшавӣ ба: %s" + +#: ../pgp/seahorse-ldap-source.c:658 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:702 +#, c-format +msgid "Resolving server address: %s" +msgstr "" + +#: ../pgp/seahorse-ldap-source.c:1447 +msgid "LDAP Key Server" +msgstr "" + +#: ../pgp/seahorse-pgp-actions.c:120 +msgid "_Sync and Publish Keys..." +msgstr "" + +#: ../pgp/seahorse-pgp-actions.c:121 +msgid "Publish and/or synchronize your keys with those online." +msgstr "" + +#: ../pgp/seahorse-pgp-backend.c:172 +msgid "PGP Keys" +msgstr "" + +#: ../pgp/seahorse-pgp-backend.c:175 +msgid "PGP keys are for encrypting email or files" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "Эҷод _кардан" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "_Comment:" +msgstr "_Шарҳ:" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Ne_ver Expires" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "Personal PGP key" +msgstr "" + +#: ../pgp/seahorse-pgp-key.c:355 +msgid "PGP key" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:325 +msgid "Couldn't change primary user ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:344 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:354 +msgid "Couldn't delete user ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:429 +#: ../pgp/seahorse-pgp-key-properties.c:1571 +msgid "[Unknown]" +msgstr "[Номаълум]" + +#: ../pgp/seahorse-pgp-key-properties.c:538 +#: ../pgp/seahorse-pgp-key-properties.c:1854 +msgid "Name/Email" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:545 +msgid "Signature ID" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:678 +msgid "Couldn't change primary photo" +msgstr "" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:912 +msgid "(unknown)" +msgstr "(номаълум)" + +#: ../pgp/seahorse-pgp-key-properties.c:915 +#, c-format +msgid "This key expired on: %s" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:978 +msgid "Name" +msgstr "Ном" + +#: ../pgp/seahorse-pgp-key-properties.c:1091 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1100 +msgid "Couldn't delete subkey" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1140 +#: ../pgp/seahorse-pgp-key-properties.c:1545 +msgid "Unable to change trust" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1153 +#: ../ssh/seahorse-ssh-key-properties.c:202 +msgid "Couldn't export key" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1267 +msgid "Marginal" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1273 +msgid "Full" +msgstr "Пур" + +#: ../pgp/seahorse-pgp-key-properties.c:1279 +msgid "Ultimate" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1385 +#: ../pgp/seahorse-pgp-key-properties.c:1474 +msgctxt "Expires" +msgid "Never" +msgstr "Ҳеҷ гоҳ" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "ID" +msgstr "Рамзи ID" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Type" +msgstr "Навъ" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "Эҷод шуд" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "Мӯҳлат" + +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "Вазъият" + +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "" + +#: ../pgp/seahorse-pgp-key-properties.c:1465 +msgid "Revoked" +msgstr "Бекоршуда" + +#: ../pgp/seahorse-pgp-key-properties.c:1467 +msgid "Expired" +msgstr "Аз мӯҳлат гузашта" + +#: ../pgp/seahorse-pgp-key-properties.c:1469 +msgid "Disabled" +msgstr "Ғайрифаъол" + +#: ../pgp/seahorse-pgp-key-properties.c:1471 +msgid "Good" +msgstr "Хуб" + +#: ../pgp/seahorse-pgp-key-properties.c:1857 +msgid "Key ID" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "Сурат " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "Ном:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "Почтаи электронӣ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "Шарҳ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "Соҳиб" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "Телефони асосӣ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +msgid "Sign" +msgstr "Имзо кардан" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "Нест кардан" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "Мӯҳлат:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Complete Key:" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "Actions" +msgstr "Амалҳо" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "Илова кардан" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key's owner" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "Эътимод кардан" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "_Сабаб:" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "" + +#: ../pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "_Имзо кардан" + +#: ../pgp/seahorse-transfer.c:237 ../pgp/seahorse-transfer.c:284 +msgid "Exporting data" +msgstr "" + +#: ../pgp/seahorse-transfer.c:237 ../pgp/seahorse-transfer.c:284 +msgid "Retrieving data" +msgstr "" + +#: ../pgp/seahorse-transfer.c:240 ../pgp/seahorse-transfer.c:287 +msgid "Importing data" +msgstr "" + +#: ../pgp/seahorse-transfer.c:240 ../pgp/seahorse-transfer.c:287 +msgid "Sending data" +msgstr "" + +#: ../pgp/seahorse-unknown.c:61 +msgid "Unavailable" +msgstr "Дастнорас" + +#: ../pkcs11/seahorse-certificate.c:434 +msgid "Personal certificate and key" +msgstr "" + +#: ../pkcs11/seahorse-certificate.c:437 +msgid "Personal certificate" +msgstr "" + +#: ../pkcs11/seahorse-certificate.c:439 +#: ../pkcs11/seahorse-certificate-der-exporter.c:77 +msgid "Certificate" +msgstr "Гувоҳинома" + +#: ../pkcs11/seahorse-certificate-der-exporter.c:99 +msgid "Certificates (DER encoded)" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-backend.c:183 +msgid "Certificates" +msgstr "Гувоҳиномаҳо" + +#: ../pkcs11/seahorse-pkcs11-backend.c:186 +msgid "X.509 certificates and related keys" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-deleter.c:69 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "" +msgstr[1] "" + +#: ../pkcs11/seahorse-pkcs11-generate.c:114 +msgid "Couldn't generate private key" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-generate.c:413 +#: ../pkcs11/seahorse-pkcs11-request.c:255 +msgid "Create" +msgstr "Эҷод кардан" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +#: ../pkcs11/seahorse-private-key.c:178 +msgid "Private key" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-generate.c:507 +msgid "Used to request a certificate" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "Барчасб:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-key-deleter.c:85 +msgid "I understand that this key will be permanently deleted." +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-properties.c:147 +#: ../pkcs11/seahorse-pkcs11-properties.c:151 +msgid "Unnamed" +msgstr "Беном" + +#: ../pkcs11/seahorse-pkcs11-properties.c:175 +msgid "Failed to export certificate" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-properties.c:190 ../src/seahorse-sidebar.c:877 +msgid "Couldn't delete" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-properties.c:231 +msgid "_Export" +msgstr "_Содирот" + +#: ../pkcs11/seahorse-pkcs11-properties.c:232 +msgid "Export the certificate" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-properties.c:234 +msgid "Delete this certificate or key" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-properties.c:235 +msgid "Request _Certificate" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-properties.c:236 +msgid "Create a certificate request file for this key" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.c:103 +msgid "Couldn't save certificate request" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.c:126 +msgid "Save certificate request" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.c:137 +msgid "Certificate request" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.c:145 +msgid "PEM encoded request" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.c:193 +msgid "Couldn't create certificate request" +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "" + +#: ../pkcs11/seahorse-private-key.c:131 +msgid "Unnamed private key" +msgstr "" + +#: ../pkcs11/seahorse-token.c:576 +msgctxt "Label" +msgid "Unknown" +msgstr "Номаълум" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "" + +#: ../src/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "" + +#: ../src/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" + +#: ../src/seahorse-generate-select.c:229 +msgid "Continue" +msgstr "Идома додан" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "" + +#: ../src/seahorse-import-dialog.c:98 +msgid "Import failed" +msgstr "" + +#: ../src/seahorse-import-dialog.c:116 +msgid "Import" +msgstr "Воридот" + +#: ../src/seahorse-import-dialog.c:129 +msgid "Data to be imported:" +msgstr "" + +#: ../src/seahorse-key-manager.c:261 ../ssh/seahorse-ssh-operation.c:845 +msgid "Import Key" +msgstr "" + +#: ../src/seahorse-key-manager.c:273 +msgid "All key files" +msgstr "" + +#: ../src/seahorse-key-manager.c:374 +msgid "Dropped text" +msgstr "" + +#: ../src/seahorse-key-manager.c:397 +msgid "Clipboard text" +msgstr "" + +#: ../src/seahorse-key-manager.c:508 +msgid "_New" +msgstr "_Нав" + +#: ../src/seahorse-key-manager.c:510 +msgid "Close this program" +msgstr "" + +#: ../src/seahorse-key-manager.c:511 ../src/seahorse-key-manager.c:513 +msgid "_New..." +msgstr "_Нав..." + +#: ../src/seahorse-key-manager.c:512 +msgid "Create a new key or item" +msgstr "" + +#: ../src/seahorse-key-manager.c:514 +msgid "Add a new key or item" +msgstr "" + +#: ../src/seahorse-key-manager.c:515 +msgid "_Import..." +msgstr "_Воридот..." + +#: ../src/seahorse-key-manager.c:516 +msgid "Import from a file" +msgstr "Ворид кардан аз файл" + +#: ../src/seahorse-key-manager.c:518 +msgid "Import from the clipboard" +msgstr "" + +#: ../src/seahorse-key-manager.c:522 +msgid "By _keyring" +msgstr "" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show sidebar listing keyrings" +msgstr "" + +#: ../src/seahorse-key-manager.c:527 +msgid "Show _personal" +msgstr "" + +#: ../src/seahorse-key-manager.c:528 +msgid "Only show personal keys, certificates and passwords" +msgstr "" + +#: ../src/seahorse-key-manager.c:529 +msgid "Show _trusted" +msgstr "" + +#: ../src/seahorse-key-manager.c:530 +msgid "Only show trusted keys, certificates and passwords" +msgstr "" + +#: ../src/seahorse-key-manager.c:531 +msgid "Show _any" +msgstr "" + +#: ../src/seahorse-key-manager.c:532 +msgid "Show all keys, certificates and passwords" +msgstr "" + +#: ../src/seahorse-key-manager.c:736 +msgid "Filter" +msgstr "Филтр" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "" + +#: ../src/seahorse-sidebar.c:801 +msgid "Couldn't lock" +msgstr "" + +#: ../src/seahorse-sidebar.c:838 +msgid "Couldn't unlock" +msgstr "" + +#: ../src/seahorse-sidebar.c:946 +msgid "_Lock" +msgstr "_Қулф" + +#: ../src/seahorse-sidebar.c:951 +msgid "_Unlock" +msgstr "_Кушодан" + +#: ../src/seahorse-sidebar.c:970 +msgid "_Properties" +msgstr "_Хусусиятҳо" + +#: ../ssh/seahorse-ssh-actions.c:100 +msgid "Configure Key for _Secure Shell..." +msgstr "" + +#: ../ssh/seahorse-ssh-actions.c:101 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:60 ../ssh/seahorse-ssh-askpass.c:68 +msgid "Enter your Secure Shell passphrase:" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:82 +msgid "Old Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:83 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:87 ../ssh/seahorse-ssh-askpass.c:92 +msgid "New Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:88 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-askpass.c:93 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-backend.c:91 +msgid "Secure Shell" +msgstr "" + +#: ../ssh/seahorse-ssh-backend.c:94 +msgid "Keys used to connect securely to other computers" +msgstr "" + +#: ../ssh/seahorse-ssh-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:86 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "" + +#: ../ssh/seahorse-ssh-deleter.c:91 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "" +msgstr[1] "" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "Ssh Key" +msgstr "" + +#: ../ssh/seahorse-ssh-exporter.c:122 +msgid "Secret SSH keys" +msgstr "" + +#: ../ssh/seahorse-ssh-exporter.c:126 +msgid "Public SSH keys" +msgstr "" + +#: ../ssh/seahorse-ssh-exporter.c:290 +msgid "No public key file is available for this key." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:55 ../ssh/seahorse-ssh-key.c:114 +#: ../ssh/seahorse-ssh-key.c:118 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:56 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:110 ../ssh/seahorse-ssh-generate.c:126 +msgid "Couldn't generate Secure Shell key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.c:192 +msgid "Creating Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:110 +msgid "(Unreadable Secure Shell Key)" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:218 +msgid "Personal SSH key" +msgstr "" + +#: ../ssh/seahorse-ssh-key.c:220 +msgid "SSH key" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:82 +msgid "Couldn't rename key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:135 +msgid "Couldn't change authorization for key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.c:170 +msgid "Couldn't change passphrase for key." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "Муайянкунанда:" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "Ном:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "Ҷойгиршавӣ:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The SSH command was terminated unexpectedly." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:209 +msgid "The SSH command failed." +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:502 +msgid "Remote Host Password" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:588 +msgid "Enter Key Passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:678 +msgid "Passphrase for New Secure Shell Key" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:862 +#, c-format +msgid "Importing key: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Importing key. Enter passphrase" +msgstr "" + +#: ../ssh/seahorse-ssh-source.c:232 +msgid "OpenSSH keys" +msgstr "" + +#: ../ssh/seahorse-ssh-source.c:235 +#, c-format +msgid "OpenSSH: %s" +msgstr "" + +#: ../ssh/seahorse-ssh-source.c:940 +msgid "No private key file is available for this key." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.c:50 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.c:133 +msgid "Configuring Secure Shell Keys..." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "" diff --git a/po/th.po b/po/th.po new file mode 100644 index 00000000..114c353e --- /dev/null +++ b/po/th.po @@ -0,0 +1,4061 @@ +# Thai translation of seahorse. +# Copyright (C) 2007-2015 Free Software Foundation, Inc. +# This file is distributed under the same license as the seahorse package. +# Theppitak Karoonboonyanan , 2007-2015. +# Sira Nokyoongtong , 2010. +# Akom Chotiphantawanon , 2015. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2015-07-18 23:31+0000\n" +"PO-Revision-Date: 2015-08-03 14:21+0700\n" +"Last-Translator: Akom Chotiphantawanon \n" +"Language-Team: Thai \n" +"Language: th\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Gtranslator 2.91.6\n" + +#: ../data/seahorse.appdata.xml.in.h:1 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"Seahorse เป็นโปรแกรมของ GNOME สำหรับจัดการกุญแจเข้ารหัสลับ โดยยังเชื่อมรวมกับ nautilus, " +"gedit และที่อื่นๆ สำหรับการเข้ารหัสลับ" + +#: ../data/seahorse.appdata.xml.in.h:2 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don't have to keep typing it and backup your keys and keyring." +msgstr "" +"ด้วยการใช้ seahorse คุณสามารถสร้างและจัดการกุญแจ PGP, สร้างและจัดการกุญแจ SSH, " +"ประกาศและรับกุญแจจากเซิร์ฟเวอร์กุญแจ, ฝากวลีรหัสผ่านของคุณในแคชเพื่อจะได้ไม่ต้องคอยพิมพ์ทุกครั้ง " +"และสำรองข้อมูลกุญแจและพวงกุญแจของคุณ" + +#: ../data/seahorse.desktop.in.in.h:1 ../common/catalog.vala:285 +#: ../src/seahorse-key-manager.c:660 +msgid "Passwords and Keys" +msgstr "รหัสผ่านและกุญแจ" + +#: ../data/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "จัดการรหัสผ่านและกุญแจเข้ารหัสลับของคุณ" + +#: ../data/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "พวงกุญแจ;เข้ารหัสลับ;ความปลอดภัย;เซ็น;ssh;" + +#: ../common/catalog.vala:257 +msgid "Contributions:" +msgstr "ผู้ร่วมสมทบ:" + +#: ../common/catalog.vala:287 +msgid "translator-credits" +msgstr "" +"Theppitak Karoonboonyanan \n" +"Sira Nokyoongtong \n" +"Akom Chotiphantawanon " + +#: ../common/catalog.vala:290 +msgid "Seahorse Project Homepage" +msgstr "โฮมเพจโครงการ Seahorse" + +#: ../common/catalog.vala:308 +msgid "Cannot delete" +msgstr "ไม่สามารถลบ" + +#: ../common/catalog.vala:331 ../libseahorse/seahorse-key-manager-store.c:443 +msgid "Couldn't export keys" +msgstr "ไม่สามารถส่งออกกุญแจ" + +#: ../common/catalog.vala:342 +msgid "Couldn't export data" +msgstr "ไม่สามารถส่งออกข้อมูล" + +#: ../common/catalog.vala:358 ../libseahorse/seahorse-widget.c:465 +#, c-format +msgid "Could not display help: %s" +msgstr "ไม่สามารถแสดงวิธีใช้: %s" + +#. Top menu items +#: ../common/catalog.vala:364 +msgid "_File" +msgstr "แ_ฟ้ม" + +#: ../common/catalog.vala:365 +msgid "E_xport..." +msgstr "_ส่งออก..." + +#: ../common/catalog.vala:366 +msgid "Export to a file" +msgstr "ส่งออกลงในแฟ้ม" + +#: ../common/catalog.vala:367 +msgid "_Edit" +msgstr "แ_ก้ไข" + +#: ../common/catalog.vala:370 +msgid "Copy to the clipboard" +msgstr "คัดลอกเข้าคลิปบอร์ด" + +#: ../common/catalog.vala:371 ../pkcs11/pkcs11-properties.vala:201 +#: ../src/seahorse-sidebar.c:954 +msgid "_Delete" +msgstr "_ลบ" + +#: ../common/catalog.vala:372 +msgid "Delete selected items" +msgstr "ลบรายการที่เลือก" + +#: ../common/catalog.vala:374 +msgid "Show the properties of this item" +msgstr "แสดงคุณสมบัติของรายการนี้" + +#: ../common/catalog.vala:376 +msgid "Show the properties of this keyring" +msgstr "แสดงคุณสมบัติของพวงกุญแจนี้" + +#: ../common/catalog.vala:377 +msgid "Prefere_nces" +msgstr "ปรับแ_ต่ง" + +#: ../common/catalog.vala:378 +msgid "Change preferences for this program" +msgstr "ปรับแต่งโปรแกรมนี้" + +#: ../common/catalog.vala:379 +msgid "_View" +msgstr "มุ_มมอง" + +#: ../common/catalog.vala:380 +msgid "_Help" +msgstr "_วิธีใช้" + +#: ../common/catalog.vala:382 +msgid "About this program" +msgstr "เกี่ยวกับโปรแกรมนี้" + +#: ../common/catalog.vala:383 +msgid "_Contents" +msgstr "เนื้อ_หา" + +#: ../common/catalog.vala:384 +msgid "Show Seahorse help" +msgstr "แสดงวิธีใช้ Seahorse" + +#: ../common/exportable.vala:192 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "ส่งออก" + +#: ../gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "รหัสผ่าน" + +#: ../gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "แหล่งเก็บรหัสผ่าน ข้อมูลลับ และรหัสลับส่วนบุคคล" + +#: ../gkr/gkr-backend.vala:251 +msgid "New password keyring" +msgstr "พวงกุญแจใหม่สำหรับเก็บรหัสผ่าน" + +#: ../gkr/gkr-backend.vala:252 ../gkr/gkr-backend.vala:259 +msgid "Used to store application and network passwords" +msgstr "ใช้เก็บรหัสผ่านของโปรแกรมและเครือข่ายต่างๆ" + +#: ../gkr/gkr-backend.vala:253 +msgid "New password..." +msgstr "รหัสผ่านใหม่..." + +#: ../gkr/gkr-backend.vala:254 ../gkr/gkr-backend.vala:261 +msgid "Safely store a password or secret." +msgstr "เก็บรหัสผ่านหรือรหัสลับแบบนิรภัย" + +#: ../gkr/gkr-backend.vala:258 +msgid "Password Keyring" +msgstr "พวงกุญแจเก็บรหัสผ่าน" + +#: ../gkr/gkr-backend.vala:260 +msgid "Stored Password" +msgstr "แหล่งเก็บรหัสผ่าน" + +#: ../gkr/gkr-item-add.vala:24 +msgid "Add Password" +msgstr "เพิ่มรหัสผ่าน" + +#: ../gkr/gkr-item-add.vala:101 +msgid "Couldn't add item" +msgstr "ไม่สามารถเพิ่มรายการ" + +#: ../gkr/gkr-item-properties.vala:136 +msgid "Access a network share or resource" +msgstr "เข้าใช้โฟลเดอร์ใช้ร่วมหรือทรัพยากรในเครือข่าย" + +#: ../gkr/gkr-item-properties.vala:139 +msgid "Access a website" +msgstr "เข้าใช้เว็บไซต์" + +#: ../gkr/gkr-item-properties.vala:142 +msgid "Unlocks a PGP key" +msgstr "ไขกุญแจ PGP" + +#: ../gkr/gkr-item-properties.vala:145 +msgid "Unlocks a Secure Shell key" +msgstr "ไขกุญแจเชลล์นิรภัย" + +#: ../gkr/gkr-item-properties.vala:148 +msgid "Saved password or login" +msgstr "รหัสผ่านหรือชื่อเข้าระบบที่บันทึกไว้" + +#: ../gkr/gkr-item-properties.vala:161 +msgid "Network Credentials" +msgstr "รหัสลับเครือข่าย" + +#: ../gkr/gkr-item-properties.vala:166 +msgid "Password" +msgstr "รหัสผ่าน" + +#: ../gkr/gkr-item-properties.vala:235 +msgid "Couldn't change password." +msgstr "ไม่สามารถเปลี่ยนรหัสผ่าน" + +#: ../gkr/gkr-item-properties.vala:273 +msgid "Couldn't set description." +msgstr "ไม่สามารถกำหนดคำบรรยาย" + +#. Translators: This should be the same as the string in empathy +#: ../gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "รหัสผ่านบัญชี IM สำหรับ " + +#: ../gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "รหัสผ่านหรือรหัสลับ" + +#: ../gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "รหัสผ่านเครือข่าย" + +#: ../gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "บันทึกข้อความที่เก็บไว้" + +#: ../gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "รหัสผ่านพวงกุญแจ" + +#: ../gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "รหัสผ่านของกุญแจเข้ารหัสลับ" + +#: ../gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "รหัสผ่านของแหล่งเก็บกุญแจ" + +#: ../gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "รหัสผ่านของ Google Chrome" + +#: ../gkr/gkr-item.vala:451 +msgid "Gnome Online Accounts password" +msgstr "รหัสผ่านของบัญชีออนไลน์ของ GNOME" + +#: ../gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "รหัสผ่านของ Telepathy" + +#: ../gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "รหัสผ่านของข้อความทันใจ" + +#: ../gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "รหัสลับของ Network Manager" + +#: ../gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "ยืนยันหรือไม่ว่าต้องการลบรหัสผ่าน '%s'?" + +#: ../gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "ยืนยันหรือไม่ว่าต้องการลบรหัสผ่านทั้ง %d รายการ?" + +#: ../gkr/gkr-keyring-add.vala:25 +msgid "Add Password Keyring" +msgstr "สร้างพวงกุญแจเก็บรหัสผ่าน" + +#: ../gkr/gkr-keyring-add.vala:55 +msgid "Couldn't add keyring" +msgstr "ไม่สามารถเพิ่มพวงกุญแจ" + +#: ../gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "พวงกุญแจซึ่งปลดล็อคโดยอัตโนมัติเมื่อเข้าระบบ" + +#: ../gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "พวงกุญแจสำหรับเก็บรหัสผ่าน" + +#: ../gkr/gkr-keyring.vala:174 +msgid "Couldn't set default keyring" +msgstr "ไม่สามารถกำหนดพวงกุญแจปริยาย" + +#: ../gkr/gkr-keyring.vala:198 ../gkr/gkr-keyring.vala:203 +msgid "Couldn't change keyring password" +msgstr "ไม่สามารถเปลี่ยนรหัสผ่านพวงกุญแจ" + +#: ../gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "_กำหนดเป็นพวงกุญแจปริยาย" + +#: ../gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "โปรแกรมต่างๆ มักจะเก็บรหัสผ่านไว้ในพวงกุญแจปริยาย" + +#: ../gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "เ_ปลี่ยนรหัสผ่าน" + +#: ../gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "เปลี่ยนรหัสผ่านที่จะใช้ปลดล็อคพวงกุญแจเก็บรหัสผ่าน" + +#: ../gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "ยืนยันหรือไม่ว่าต้องการลบพวงกุญแจเก็บรหัสผ่าน '%s'?" + +#: ../gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "ฉันเข้าใจว่าทุกรายการจะถูกลบทิ้งอย่างถาวร" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "กรุณาตั้งชื่อพวงกุญแจที่จะสร้าง โปรแกรมจะให้คุณตั้งรหัสผ่านสำหรับปลดล็อคพวงกุญแจในภายหลัง" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "ตั้งชื่อพวงกุญแจ:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "_คำอธิบาย:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +msgid "_Password:" +msgstr "_รหัสผ่าน:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Show Password" +msgstr "แ_สดงรหัสผ่าน" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Keyring:" +msgstr "_พวงกุญแจ:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "การใช้งาน:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "ชนิด:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Server:" +msgstr "เซิร์ฟเวอร์:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Login:" +msgstr "ชื่อเข้าระบบ:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Show pass_word" +msgstr "แสดง_รหัสผ่าน" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../libseahorse/seahorse-passphrase.c:179 ../ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "รหัสผ่าน:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +#: ../pgp/seahorse-pgp-subkey.c:402 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "กุญแจ" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "รายละเอียดทางเทคนิค:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "รายละเอียด" + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Name:" +msgstr "ชื่อ:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "สร้าง:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring" +msgstr "พวงกุญแจ" + +#: ../libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "แฟล็กการแสดงผล" + +#: ../libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "ตัวเลือกสำหรับการแสดงวันที่ และ/หรือ เวลา" + +#: ../libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "โหมดเกียจคร้าน" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "โหมดเกียจคร้านจะไม่ปรับรูปแบบวันที่และเวลาที่ป้อนให้เข้ารูป" + +#: ../libegg/egg-datetime.c:328 +msgid "Year" +msgstr "ปี" + +#: ../libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "ปีที่แสดง" + +#: ../libegg/egg-datetime.c:334 +msgid "Month" +msgstr "เดือน" + +#: ../libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "เดือนที่แสดง" + +#: ../libegg/egg-datetime.c:340 +msgid "Day" +msgstr "วันที่" + +#: ../libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "วันที่ที่แสดง" + +#: ../libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "ชั่วโมง" + +#: ../libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "ชั่วโมงที่แสดง" + +#: ../libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "นาที" + +#: ../libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "นาทีที่แสดง" + +#: ../libegg/egg-datetime.c:358 +msgid "Second" +msgstr "วินาที" + +#: ../libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "วินาทีที่แสดง" + +#: ../libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "ปีของกำหนดวันต่ำสุด" + +#: ../libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "ปีของกำหนดวันต่ำสุด" + +#: ../libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "ปีของกำหนดวันสูงสุด" + +#: ../libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "ปีของกำหนดวันสูงสุด" + +#: ../libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "เดือนของกำหนดวันต่ำสุด" + +#: ../libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "เดือนของกำหนดวันต่ำสุด" + +#: ../libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "เดือนของกำหนดวันสูงสุด" + +#: ../libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "เดือนของกำหนดวันสูงสุด" + +#: ../libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "วันที่ของกำหนดวันต่ำสุด" + +#: ../libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "วันที่ของกำหนดวันต่ำสุด" + +#: ../libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "วันที่ของกำหนดวันสูงสุด" + +#: ../libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "วันที่ของกำหนดวันสูงสุด" + +#: ../libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "ชั่วโมงของกำหนดเวลาต่ำสุด" + +#: ../libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "ชั่วโมงของกำหนดเวลาต่ำสุด" + +#: ../libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "ชั่วโมงของกำหนดเวลาสูงสุด" + +#: ../libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "ชั่วโมงของกำหนดเวลาสูงสุด" + +#: ../libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "นาทีของกำหนดเวลาต่ำสุด" + +#: ../libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "นาทีของกำหนดเวลาต่ำสุด" + +#: ../libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "นาทีของกำหนดเวลาสูงสุด" + +#: ../libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "นาทีของกำหนดเวลาสูงสุด" + +#: ../libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "วินาทีของกำหนดเวลาต่ำสุด" + +#: ../libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "วินาทีของกำหนดเวลาต่ำสุด" + +#: ../libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "วินาทีของกำหนดเวลาสูงสุด" + +#: ../libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "วินาทีของกำหนดเวลาสูงสุด" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:495 +msgid "Date" +msgstr "วันที่" + +#: ../libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "ป้อนวันที่โดยตรง" + +#: ../libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "เลือกวันที่" + +#: ../libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "เลือกวันที่จากปฏิทิน" + +#: ../libegg/egg-datetime.c:520 ../libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "เวลา" + +#: ../libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "ป้อนเวลาโดยตรง" + +#: ../libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "เลือกเวลา" + +#: ../libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "เลือกเวลาจากรายการ" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: ../libegg/egg-datetime.c:796 ../libegg/egg-datetime.c:1259 +#: ../libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "AM" + +#: ../libegg/egg-datetime.c:798 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "รายการชั่วคราวเริ่มแรก" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "เพิ่มเซิร์ฟเวอร์กุญแจ" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "ชนิดของเซิร์ฟเวอร์กุญแจ:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "โฮสต์:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "ชื่อโฮสต์หรือที่อยู่ของเซิร์ฟเวอร์" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "หมายเลขพอร์ตที่จะเข้าใช้เซิร์ฟเวอร์" + +#: ../libseahorse/seahorse-application.c:108 +msgid "Version of this application" +msgstr "รุ่นของโปรแกรมนี้" + +#: ../libseahorse/seahorse-application.c:114 +#: ../libseahorse/seahorse-application.c:158 +msgid "- System Settings" +msgstr "- ตั้งค่าระบบ" + +#: ../libseahorse/seahorse-application.c:154 +msgid "Don't display a window" +msgstr "ไม่ต้องแสดงหน้าต่าง" + +#: ../libseahorse/seahorse-interaction.c:98 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "กรุณาป้อน PIN หรือรหัสผ่านสำหรับ: %s" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:241 +msgid "Confirm:" +msgstr "ยืนยัน:" + +#: ../libseahorse/seahorse-prefs.c:65 +msgid "Not a valid Key Server address." +msgstr "ที่อยู่เซิร์ฟเวอร์กุญแจไม่ถูกต้อง" + +#: ../libseahorse/seahorse-prefs.c:66 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"หากต้องการความช่วยเหลือ กรุณาติดต่อผู้ดูแลระบบของคุณ หรือผู้ดูแลระบบของเครื่องเซิร์ฟเวอร์กุญแจ" + +#: ../libseahorse/seahorse-prefs.c:179 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:349 +msgid "Custom" +msgstr "กำหนดเอง" + +#: ../libseahorse/seahorse-prefs.c:402 +msgid "None: Don't publish keys" +msgstr "ไม่ต้อง: ไม่ต้องประกาศกุญแจ" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "ปรับแต่ง" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "_หากุญแจผ่าน:" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "_ประกาศกุญแจไปที่:" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "ดึ_งข้อมูลกุญแจจากเซิร์ฟเวอร์กุญแจโดยอัตโนมัติ" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "ปรั_บข้อมูลกุญแจที่มีการเปลี่ยนแปลงให้ตรงกับเซิร์ฟเวอร์กุญแจโดยอัตโนมัติ" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "เซิร์ฟเวอร์กุญแจ" + +#: ../libseahorse/seahorse-search-provider.c:186 +msgid "The search provider is not loaded yet" +msgstr "ยังไม่ได้โหลดตัวบริการค้นหา" + +#: ../libseahorse/seahorse-validity.c:38 +#: ../pgp/seahorse-pgp-key-properties.c:1251 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "ไม่ทราบ" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1257 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "ไม่เคยเปิดใช้" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "ก้ำกึ่ง" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "เต็มที่" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "เต็มพิกัด" + +#: ../libseahorse/seahorse-validity.c:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "ปิดใช้งาน" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "เพิกถอน" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "ไม่มีวันห_มดอายุ" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "กุญแจไม่มีวันหมดอายุใช่หรือไม่" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "_ชนิดกุญแจ:" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "ความ_ยาวกุญแจ:" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "วันหมดอายุ:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "ความยาวของกุญแจ" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "สร้างกุญแจย่อยใหม่" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "เพิ่มหมายเลขผู้ใช้" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "ต้องยาวอย่างน้อย 5 ตัวอักษร" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "ที่อยู่อีเมล จะมีหรือไม่ก็ได้" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "หมายเหตุอธิบายกุญแจ จะมีหรือไม่ก็ได้" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "_ชื่อเต็ม:" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "ที่อยู่_อีเมล:" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "ห_มายเหตุกุญแจ:" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "เพิ่มหมายเลขผู้ใช้ใหม่" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "ไ_ม่มีวันหมดอายุ" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "เพิกถอนกุญแจ" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "เ_ปลี่ยน" + +#: ../pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn't add subkey" +msgstr "ไม่สามารถเพิ่มกุญแจย่อย" + +#: ../pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "เพิ่มกุญแจย่อยใน %s" + +#: ../pgp/seahorse-gpgme-add-subkey.c:196 ../pgp/seahorse-gpgme-generate.c:132 +msgid "DSA (sign only)" +msgstr "DSA (เซ็นเท่านั้น)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (เข้ารหัสลับเท่านั้น)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:210 ../pgp/seahorse-gpgme-generate.c:133 +msgid "RSA (sign only)" +msgstr "RSA (เซ็นเท่านั้น)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (เข้ารหัสลับเท่านั้น)" + +#: ../pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn't add user id" +msgstr "ไม่สามารถเพิ่มหมายเลขผู้ใช้" + +#: ../pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "เพิ่มหมายเลขผู้ใช้ใน %s" + +#: ../pgp/seahorse-gpgme.c:71 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "ถอดรหัสลับไม่สำเร็จ คุณอาจไม่มีกุญแจสำหรับถอดรหัสลับ" + +#: ../pgp/seahorse-gpgme.c:75 ../pgp/seahorse-hkp-source.c:548 +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The operation was cancelled" +msgstr "การกระทำถูกยกเลิก" + +#: ../pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "วันหมดอายุผิดพลาด" + +#: ../pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "วันหมดอายุต้องเป็นเวลาในอนาคต" + +#: ../pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn't change expiry date" +msgstr "ไม่สามารถเปลี่ยนวันหมดอายุ" + +#: ../pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "หมดอายุ: %s" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "กุญแจหลายดอก" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "ข้อมูลกุญแจ" + +#: ../pgp/seahorse-gpgme-exporter.c:116 +msgid "Armored PGP keys" +msgstr "กุญแจ PGP แบบ ASCII" + +#: ../pgp/seahorse-gpgme-exporter.c:120 +msgid "PGP keys" +msgstr "กุญแจ PGP" + +#: ../pgp/seahorse-gpgme-generate.c:93 +msgid "PGP Key" +msgstr "กุญแจ PGP" + +#: ../pgp/seahorse-gpgme-generate.c:94 +msgid "Used to encrypt email and files" +msgstr "ใช้สำหรับเข้ารหัสลับอีเมลและแฟ้มต่างๆ" + +#: ../pgp/seahorse-gpgme-generate.c:130 +#: ../pkcs11/seahorse-pkcs11-generate.c:90 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:131 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: ../pgp/seahorse-gpgme-generate.c:180 +msgid "Couldn't generate PGP key" +msgstr "ไม่สามารถสร้างกุญแจ PGP" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "วลีรหัสผ่านสำหรับกุญแจ PGP ใหม่" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "กรุณาป้อนวลีรหัสผ่านสำหรับกุญแจใหม่ของคุณซ้ำสองครั้ง" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It's a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"ในการสร้างกุญแจ เราต้องสร้างข้อมูลสุ่มจำนวนมาก\n" +"และเราต้องการให้คุณช่วย วิธีที่ดีก็คือทำงานอย่างอื่นบนเครื่อง\n" +"เช่น พิมพ์อะไรก็ได้บนแป้นพิมพ์ ขยับเมาส์ ใช้งานโปรแกรมต่างๆ\n" +"ซึ่งจะทำให้ระบบได้ข้อมูลสุ่มที่ต้องการ" + +#: ../pgp/seahorse-gpgme-generate.c:231 +#: ../pkcs11/seahorse-pkcs11-generate.c:458 +msgid "Generating key" +msgstr "กำลังสร้างกุญแจ" + +#: ../pgp/seahorse-gpgme-key-deleter.c:77 +#: ../pgp/seahorse-gpgme-secret-deleter.c:76 ../pkcs11/pkcs11-deleter.vala:35 +#: ../pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "ยืนยันหรือไม่ว่าต้องการลบ %s อย่างถาวร?" + +#: ../pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "ยืนยันหรือไม่ว่าต้องการลบกุญแจทั้ง %d ดอกอย่างถาวร?" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "Wrong password" +msgstr "รหัสผ่านไม่ถูกต้อง" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "นี่เป็นครั้งที่สามแล้วที่คุณป้อนรหัสผ่านผิด กรุณาลองอีกครั้ง" + +#: ../pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "วลีรหัสผ่านไม่ถูกต้อง" + +#: ../pgp/seahorse-gpgme-keyring.c:93 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "กรุณาตั้งวลีรหัสผ่านใหม่สำหรับ '%s'" + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "กรุณาป้อนวลีรหัสผ่านสำหรับ '%s'" + +#: ../pgp/seahorse-gpgme-keyring.c:98 +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "กรุณาตั้งวลีรหัสผ่านใหม่" + +#: ../pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "กรุณาป้อนวลีรหัสผ่าน" + +#: ../pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "วลีรหัสผ่าน" + +#: ../pgp/seahorse-gpgme-keyring.c:306 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "โหลดกุญแจแล้ว %d ดอก" + +#: ../pgp/seahorse-gpgme-keyring.c:653 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"ข้อมูลกุญแจไม่ถูกต้อง (ขาด UID) " +"สาเหตุอาจเกิดจากการตั้งเวลาของเครื่องคอมพิวเตอร์ไว้เป็นเวลาอนาคต " +"หรือกุญแจไม่มีลายเซ็นเจ้าของกำกับ" + +#: ../pgp/seahorse-gpgme-keyring.c:806 +msgid "GnuPG keys" +msgstr "กุญแจ GnuPG" + +#: ../pgp/seahorse-gpgme-keyring.c:812 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: ไดเรกทอรีพวงกุญแจปริยาย" + +#: ../pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"รูปภาพขนาดใหญ่เกินไป\n" +"ขนาดที่แนะนำสำหรับรูปในกุญแจของคุณคือ %d x %d จุด" + +#: ../pgp/seahorse-gpgme-photos.c:77 +msgid "_Don't Resize" +msgstr "ไ_ม่ต้องปรับขนาด" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_ปรับขนาด" + +#: ../pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "นี่ไม่ใช่แฟ้มรูปภาพ หรือเป็นแฟ้มรูปภาพชนิดที่ไม่รู้จัก กรุณาลองใช้รูปภาพ JPEG" + +#: ../pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "แฟ้มรูปภาพทั้งหมด" + +#: ../pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "แฟ้ม JPEG ทั้งหมด" + +#: ../pgp/seahorse-gpgme-photos.c:241 ../src/seahorse-key-manager.c:288 +msgid "All files" +msgstr "แฟ้มทั้งหมด" + +#: ../pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "เลือกรูปที่จะเพิ่มในกุญแจ" + +#: ../pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn't prepare photo" +msgstr "ไม่สามารถเตรียมข้อมูลรูปภาพ" + +#: ../pgp/seahorse-gpgme-photos.c:294 ../pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn't add photo" +msgstr "ไม่สามารถเพิ่มรูปภาพ" + +#: ../pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "ไม่สามารถโหลดแฟ้มได้ อาจเป็นแฟ้มที่ผิดรูปแบบ" + +#: ../pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "ยืนยันหรือไม่ ว่าคุณต้องการลบรูปภาพปัจจุบันออกจากกุญแจของคุณ?" + +#: ../pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn't delete photo" +msgstr "ไม่สามารถลบรูปภาพ" + +#: ../pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn't revoke subkey" +msgstr "ไม่สามารถเพิกถอนกุญแจย่อย" + +#: ../pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "เพิกถอน: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "ไม่ระบุเหตุผล" + +#: ../pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "ไม่ระบุเหตุลสำหรับการเพิกถอนกุญแจ" + +#: ../pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "ถูกเจาะ" + +#: ../pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "กุญแจถูกเจาะ" + +#: ../pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "ถูกแทนที่" + +#: ../pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "มีกุญแจอื่นแทนที่" + +#: ../pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "ไม่ใช้" + +#: ../pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "ไม่ใช้กุญแจอีกแล้ว" + +#: ../pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"คุณกำลังจะเพิ่ม %s เป็นผู้เพิกถอนสำหรับ %s การกระทำนี้จะไม่สามารถย้อนคืนได้! " +"ยืนยันที่จะทำต่อไปหรือไม่?" + +#: ../pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn't add revoker" +msgstr "ไม่สามารถเพิ่มผู้เพิกถอน" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:82 +msgid "I understand that this secret key will be permanently deleted." +msgstr "ฉันเข้าใจว่ากุญแจลับนี้จะถูกลบทิ้งอย่างถาวร" + +#: ../pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" +"กุญแจนี้มีการเซ็นรับรองไปแล้วโดย\n" +"\"%s\"" + +#: ../pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn't sign key" +msgstr "ไม่สามารถเซ็นรับรองกุญแจ" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:163 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "ไม่มีกุญแจที่จะใช้เซ็นกำกับได้" + +#: ../pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "คุณไม่มีกุญแจส่วนตัวที่สามารถใช้แสดงความเชื่อมั่นกับกุญแจนี้" + +#: ../pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "ไม่ทราบ" + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:566 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "การค้นหายังไม่เจาะจงพอ พบกุญแจในเซิร์ฟเวอร์ '%s' จำนวนมากเกินไป" + +#: ../pgp/seahorse-hkp-source.c:569 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "ไม่สามารถติดต่อสื่อสารกับเซิร์ฟเวอร์ '%s': %s" + +#: ../pgp/seahorse-hkp-source.c:1079 +msgid "HTTP Key Server" +msgstr "เซิร์ฟเวอร์กุญแจ HTTP" + +#: ../pgp/seahorse-keyserver-results.c:168 +msgid "Couldn't import keys" +msgstr "ไม่สามารถนำเข้ากุญแจ" + +#: ../pgp/seahorse-keyserver-results.c:211 +msgid "Importing keys from key servers" +msgstr "กำลังนำเข้ากุญแจจากเซิร์ฟเวอร์พวงกุญแจ" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:237 ../src/seahorse-key-manager.c:501 +msgid "_Remote" +msgstr "เ_ครือข่าย" + +#: ../pgp/seahorse-keyserver-results.c:239 +msgid "Close this window" +msgstr "ปิดหน้าต่างนี้" + +#: ../pgp/seahorse-keyserver-results.c:243 ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys..." +msgstr "_หากุญแจในเครือข่าย..." + +#: ../pgp/seahorse-keyserver-results.c:244 ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "ค้นหากุญแจในเซิร์ฟเวอร์กุญแจ" + +#: ../pgp/seahorse-keyserver-results.c:248 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "_นำเข้า" + +#: ../pgp/seahorse-keyserver-results.c:249 +msgid "Import selected keys to local key ring" +msgstr "นำเข้ากุญแจที่เลือกเข้าในพวงกุญแจในเครื่อง" + +#: ../pgp/seahorse-keyserver-results.c:280 +msgid "Remote Keys" +msgstr "กุญแจจากเครือข่าย" + +#: ../pgp/seahorse-keyserver-results.c:282 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "กุญแจจากเครือข่ายที่มี '%s'" + +#: ../pgp/seahorse-keyserver-results.c:485 +msgid "The search for keys failed." +msgstr "เกิดข้อผิดพลาดขณะค้นหากุญแจ" + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "หากุญแจจากเครือข่าย" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"หน้าต่างนี้จะค้นหากุญแจของผู้อื่นในอินเทอร์เน็ต " +"กุญแจเหล่านี้สามารถนำเข้ามาสู่พวงกุญแจในเครื่องของคุณได้" + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "ค้น_หากุญแจที่มี:" + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "เซิร์ฟเวอร์กุญแจ:" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "กุญแจใช้ร่วมในเครือข่ายใกล้เคียง:" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "แหล่งค้นหา:" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "_ค้นหา" + +#: ../pgp/seahorse-keyserver-sync.c:56 +msgid "Couldn't publish keys to server" +msgstr "ไม่สามารถประกาศกุญแจไปที่เซิร์ฟเวอร์" + +#: ../pgp/seahorse-keyserver-sync.c:75 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "ไม่สามารถดึงกุญแจจากเซิร์ฟเวอร์: %s" + +#: ../pgp/seahorse-keyserver-sync.c:159 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "มีกุญแจ %d ดอกถูกเลือกสำหรับปรับข้อมูล" + +#: ../pgp/seahorse-keyserver-sync.c:239 +msgid "Synchronizing keys..." +msgstr "กำลังปรับข้อมูลกุญแจ..." + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "ปรับกุญแจ" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "" +"หน้าต่างนี้จะประกาศกุญแจในพวงกุญแจของคุณ เพื่อให้ผู้อื่นใช้งานได้ คุณจะได้รับการเปลี่ยนแปลงต่างๆ " +"ที่คนอื่นๆ ได้ทำนับตั้งแต่คุณรับกุญแจของพวกเขาครั้งสุดท้ายด้วย" + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"หน้าต่างนี้จะดึงการเปลี่ยนแปลงต่างๆ ที่คนอื่นๆ ได้ทำนับตั้งแต่คุณรับกุญแจของพวกเขาครั้งสุดท้าย " +"คุณไม่ได้เลือกเซิร์ฟเวอร์กุญแจสำหรับประกาศ ดังนั้น จะไม่มีการประกาศกุญแจของคุณให้ผู้อื่นใช้" + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "เซิร์ฟเวอร์กุญแ_จ" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "_ปรับข้อมูล" + +#: ../pgp/seahorse-ldap-source.c:436 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "ไม่สามารถติดต่อสื่อสารกับ '%s': %s" + +#: ../pgp/seahorse-ldap-source.c:646 +#, c-format +msgid "Connecting to: %s" +msgstr "กำลังเชื่อมต่อไปยัง: %s" + +#: ../pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "ไม่สามารถเปิดหาที่อยู่: %s" + +#: ../pgp/seahorse-ldap-source.c:696 +#, c-format +msgid "Resolving server address: %s" +msgstr "กำลังเปิดหาที่อยู่เซิร์ฟเวอร์: %s" + +#: ../pgp/seahorse-ldap-source.c:1431 +msgid "LDAP Key Server" +msgstr "เซิร์ฟเวอร์กุญแจ LDAP" + +#: ../pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys..." +msgstr "_ปรับและประกาศกุญแจ..." + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "ประกาศ และ/หรือ ปรับข้อมูลกุญแจของคุณกับค่าออนไลน์ให้ตรงกัน" + +#: ../pgp/seahorse-pgp-backend.c:193 +msgid "PGP Keys" +msgstr "กุญแจ PGP" + +#: ../pgp/seahorse-pgp-backend.c:199 +msgid "PGP keys are for encrypting email or files" +msgstr "กุญแจ PGP ใช้สำหรับเข้ารหัสลับอีเมลและแฟ้มต่างๆ" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "_สร้าง" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "สร้างกุญแจใหม่" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "กุญแจ PGP จะช่วยให้คุณสามารถเข้ารหัสลับอีเมลหรือแฟ้มที่ส่งให้ผู้อื่นได้" + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Ne_ver Expires" +msgstr "ไ_ม่มีวันหมดอายุ" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "_Comment:" +msgstr "_หมายเหตุ:" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "_ชนิดการเข้ารหัสลับ:" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "ความแ_ข็งแรงของกุญแจ (จำนวนบิต):" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "วันห_มดอายุ:" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "ตัวเลือกโดย_ละเอียดสำหรับกุญแจ" + +#: ../pgp/seahorse-pgp-key.c:351 +msgid "Personal PGP key" +msgstr "กุญแจ PGP ส่วนตัว" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "PGP key" +msgstr "กุญแจ PGP" + +#: ../pgp/seahorse-pgp-key-properties.c:317 +msgid "Couldn't change primary user ID" +msgstr "ไม่สามารถเปลี่ยนหมายเลขผู้ใช้หลัก" + +#: ../pgp/seahorse-pgp-key-properties.c:336 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "ยืนยันหรือไม่ว่าต้องการลบหมายเลขผู้ใช้ '%s' อย่างถาวร?" + +#: ../pgp/seahorse-pgp-key-properties.c:346 +msgid "Couldn't delete user ID" +msgstr "ไม่สามารถลบหมายเลขผู้ใช้" + +#: ../pgp/seahorse-pgp-key-properties.c:421 +#: ../pgp/seahorse-pgp-key-properties.c:1576 +msgid "[Unknown]" +msgstr "[ไม่ทราบ]" + +#: ../pgp/seahorse-pgp-key-properties.c:530 +#: ../pgp/seahorse-pgp-key-properties.c:1859 +msgid "Name/Email" +msgstr "ชื่อ/อีเมล" + +#: ../pgp/seahorse-pgp-key-properties.c:537 +msgid "Signature ID" +msgstr "หมายเลขลายเซ็น" + +#: ../pgp/seahorse-pgp-key-properties.c:670 +msgid "Couldn't change primary photo" +msgstr "ไม่สามารถเปลี่ยนรูปภาพหลัก" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:904 +msgid "(unknown)" +msgstr "(ไม่ทราบ)" + +#: ../pgp/seahorse-pgp-key-properties.c:907 +#, c-format +msgid "This key expired on: %s" +msgstr "กุญแจนี้หมดอายุแล้วเมื่อ: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:970 +msgid "Name" +msgstr "ชื่อ" + +#: ../pgp/seahorse-pgp-key-properties.c:1085 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "ยืนยันหรือไม่ว่าต้องการลบกุญแจย่อย %d ของ %s อย่างถาวร?" + +#: ../pgp/seahorse-pgp-key-properties.c:1094 +msgid "Couldn't delete subkey" +msgstr "ไม่สามารถลบกุญแจย่อย" + +#: ../pgp/seahorse-pgp-key-properties.c:1134 +#: ../pgp/seahorse-pgp-key-properties.c:1550 +msgid "Unable to change trust" +msgstr "ไม่สามารถเปลี่ยนค่าความเชื่อถือ" + +#: ../pgp/seahorse-pgp-key-properties.c:1148 +#: ../ssh/seahorse-ssh-key-properties.c:205 +msgid "Couldn't export key" +msgstr "ไม่สามารถส่งออกกุญแจ" + +#: ../pgp/seahorse-pgp-key-properties.c:1264 +msgid "Marginal" +msgstr "ก้ำกึ่ง" + +#: ../pgp/seahorse-pgp-key-properties.c:1270 +msgid "Full" +msgstr "เต็มที่" + +#: ../pgp/seahorse-pgp-key-properties.c:1276 +msgid "Ultimate" +msgstr "เต็มพิกัด" + +#: ../pgp/seahorse-pgp-key-properties.c:1382 +#: ../pgp/seahorse-pgp-key-properties.c:1475 +msgctxt "Expires" +msgid "Never" +msgstr "ไม่มีวันหมดอายุ" + +#: ../pgp/seahorse-pgp-key-properties.c:1429 +msgid "ID" +msgstr "ID" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "Type" +msgstr "ชนิด" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Usage" +msgstr "การใช้งาน" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "สร้าง" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "หมดอายุ" + +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "สถานะ" + +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "ความแน่นหนา" + +#: ../pgp/seahorse-pgp-key-properties.c:1466 +msgid "Revoked" +msgstr "เพิกถอน" + +#: ../pgp/seahorse-pgp-key-properties.c:1468 +msgid "Expired" +msgstr "หมดอายุ" + +#: ../pgp/seahorse-pgp-key-properties.c:1470 +msgid "Disabled" +msgstr "ปิดใช้งาน" + +#: ../pgp/seahorse-pgp-key-properties.c:1472 +msgid "Good" +msgstr "ดี" + +#: ../pgp/seahorse-pgp-key-properties.c:1862 +msgid "Key ID" +msgstr "หมายเลขกุญแจ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "คุณสมบัติกุญแจ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "กุญแจนี้ถูกเพิกถอนแล้ว" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "เจ้าของกุญแจได้เพิกถอนกุญแจแล้ว จึงไม่สามารถใช้การได้อีก" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "กุญแจนี้หมดอายุแล้ว" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "เพิ่มรูปภาพให้กับกุญแจนี้" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "ลบรูปภาพนี้ออกจากกุญแจนี้" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "กำหนดให้รูปภาพนี้เป็นรูปภาพหลัก" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "ไปยังรูปภาพก่อนหน้า" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "ไปยังรูปภาพถัดไป" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "รูป" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "หมายเลขกุญแจ:" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "ชื่อ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "อีเมล:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "หมายเหตุ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "ถอดรหัสลับแฟ้มและอีเมลที่ส่งถึงคุณ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "กุญแจ PGP ส่วนตัว" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "เปลี่ยน_วลีรหัสผ่าน" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "เจ้าของ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "ชื่อและลายเซ็นกุญแจ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "กุญแจหลัก" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "เซ็นกำกับ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "ลบ" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "เ_พิ่มชื่อ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "เพิกถอน" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "ชื่อและลายเซ็น" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "ความแน่นหนา:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "รายละเอียดทางเทคนิค" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "ลายนิ้วมือ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "หมดอายุ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "วันที่" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "ทับค่าความเ_ชื่อถือของเจ้าของ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Secret Key:" +msgstr "_ส่งออกกุญแจลับ:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "Actions" +msgstr "การกระทำ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "เพิ่ม" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "หมดอายุ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "กุญแจ_ย่อย" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "ก้ำกึ่ง" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "เต็มที่" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "เต็มพิกัด" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key's owner" +msgstr "เข้ารหัสลับแฟ้มและอีเมลที่ส่งถึงเจ้าของกุญแจ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "กุญแจ PGP สาธารณะ" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "ชื่อ_อื่น:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "ความเชื่อถือของคุณต่อกุญแจนี้" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "ความเชื่อถือของคุณ คุณต้องระบุเองในแท็บ รายละเอียด" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "ฉันเชื่อถือลายเซ็นของ '%s' ในกุญแจอื่น" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "ถ้าคุณเชื่อว่าเจ้าของกุญแจนี้คือ '%s' จริง ก็ให้ เซ็นรับรอง กุญแจนี้:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "เซ็_นรับรองกุญแจนี้" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "" +"ถ้าคุณไม่เชื่อถืออีกต่อไป ว่า '%s' เป็นเจ้าของกุญแจนี้ ก็ให้ เพิกถอน ลายเซ็นของคุณ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "เ_พิกถอนลายเซ็น" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "ผู้ที่เซ็น_รับรองกุญแจนี้:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "แสดงลายเซ็นของผู้ที่ฉันเชื่อถือเ_ท่านั้น" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "เชื่อถือ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "ลายนิ้วมือ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "วันที่:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "ระบุความเชื่อถือ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "คุณเ_ชื่อถือเจ้าของ:" + +#: ../pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "เข้ารหัสลับ" + +#: ../pgp/seahorse-pgp-subkey.c:293 +msgid "Certify" +msgstr "รับรอง" + +#: ../pgp/seahorse-pgp-subkey.c:294 +msgid "Authenticate" +msgstr "ยืนยันตัวบุคคล" + +#: ../pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "กุญแจย่อยที่ %d ของ %s" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "เหตุผลสำหรับการเพิกถอนกุญแจ" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "เ_หตุผล:" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "คำอธิบายเสริมสำหรับการเพิกถอน" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "เ_พิกถอน" + +#: ../pgp/seahorse-signer.c:62 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "คุณไม่มีกุญแจ PGP ส่วนตัวที่สามารถใช้เซ็นกำกับเอกสารหรือข้อความได้" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "เ_ซ็นกำกับข้อความด้วยกุญแจ:" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "เซ็นรับรองกุญแจ" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "ด้วยการเซ็นรับรองนี้ คุณแสดงความเชื่อมั่นว่ากุญแจนี้เป็นของ:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "ชื่อกุญแจ" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "คุณได้ตรวจสอบกุญแจนี้อย่างระมัดระวังแค่ไหน?" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "ไ_ม่ได้ตรวจเลย" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "_นิดหน่อย" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "_ระมัดระวังมาก" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"ไม่ได้ตรวจเลย: หมายความว่า คุณเชื่อว่ากุญแจเป็นของบุคคลที่อ้างว่าเป็นเจ้าของจริง " +"แต่คุณไม่สามารถหรือไม่ได้ตรวจสอบยืนยัน" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"นิดหน่อย: หมายความว่า คุณได้ตรวจสอบยืนยันบ้างนิดหน่อย " +"ว่ากุญแจนี้เป็นของบุคคลที่อ้างว่าเป็นเจ้าของจริง ตัวอย่างเช่น " +"คุณสามารถอ่านลายนิ้วมือของกุญแจให้เจ้าของฟังทางโทรศัพท์" + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "ระมัดระวังมาก: เลือกตัวเลือกนี้ก็ต่อเมื่อคุณมั่นใจเต็มที่ว่ากุญแจนี้เป็นของจริงแท้แน่นอน" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"คุณสามารถใช้รูปถ่ายในเอกสารประจำตัวที่ปลอมแปลงได้ยาก (เช่น หนังสือเดินทาง) " +"เพื่อตรวจสอบตัวบุคคลว่าชื่อที่อยู่ในกุญแจนั้นถูกต้อง " +"คุณควรใช้อีเมลเพื่อตรวจสอบด้วยว่าที่อยู่อีเมลเป็นของเจ้าของจริง" + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "ผู้อื่นจะมองเห็นลายเซ็นนี้อย่างไร:" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "ผู้_อื่นไม่สามารถมองเห็นลายเซ็นนี้ได้" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "ฉันสามารถเ_พิกถอนลายเซ็นนี้ได้ในภายหลัง" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "เซ็นรับรองกุญแจในนาม:" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "ผู้เซ็_น:" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "_เซ็นกำกับ" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "กำลังส่งออกข้อมูล" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "กำลังดึงข้อมูล" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "กำลังนำเข้าข้อมูล" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "กำลังส่งข้อมูล" + +#: ../pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "ไม่มี" + +#: ../pkcs11/certificate-der-exporter.vala:43 +#: ../pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "ใบรับรอง" + +#: ../pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "ใบรับรอง (ใช้รหัสแบบ DER)" + +#: ../pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "ใบรับรองและกุญแจส่วนตัว" + +#: ../pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "ใบรับรองส่วนตัว" + +#: ../pkcs11/seahorse-pkcs11-backend.c:189 +msgid "Certificates" +msgstr "ใบรับรอง" + +#: ../pkcs11/seahorse-pkcs11-backend.c:195 +msgid "X.509 certificates and related keys" +msgstr "ใบรับรอง X.509 และกุญแจที่เกี่ยวข้อง" + +#: ../pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "ยืนยันหรือไม่ว่าต้องการลบใบรับรองทั้ง %d ใบอย่างถาวร?" + +#: ../pkcs11/seahorse-pkcs11-generate.c:113 +msgid "Couldn't generate private key" +msgstr "ไม่สามารถสร้างกุญแจส่วนตัว" + +#: ../pkcs11/seahorse-pkcs11-generate.c:412 ../pkcs11/pkcs11-request.vala:56 +msgid "Create" +msgstr "สร้าง" + +#: ../pkcs11/seahorse-pkcs11-generate.c:505 +#: ../pkcs11/pkcs11-private-key.vala:70 +msgid "Private key" +msgstr "กุญแจส่วนตัว" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +msgid "Used to request a certificate" +msgstr "ใช้ในการยื่นขอใบรับรอง" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "สร้างกุญแจส่วนตัวใหม่" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "ป้ายชื่อ:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "เก็บไว้ที่:" + +#: ../pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "ฉันเข้าใจว่ากุญแจนี้จะถูกลบทิ้งอย่างถาวร" + +#: ../pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "ไม่มีชื่อ" + +#: ../pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "ส่งออกใบรับรองไม่สำเร็จ" + +#: ../pkcs11/pkcs11-properties.vala:188 ../src/seahorse-sidebar.c:873 +msgid "Couldn't delete" +msgstr "ไม่สามารถลบ" + +#: ../pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "_ส่งออก" + +#: ../pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "ส่งออกใบรับรอง" + +#: ../pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "ลบกุญแจหรือใบรับรองนี้" + +#: ../pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "ยื่นขอใ_บรับรอง" + +#: ../pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "สร้างแฟ้มใบยื่นขอใบรับรองสำหรับกุญแจนี้" + +#: ../pkcs11/pkcs11-request.vala:87 +msgid "Couldn't create certificate request" +msgstr "ไม่สามารถสร้างใบยื่นขอใบรับรอง" + +#: ../pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "บันทึกใบยื่นขอใบรับรอง" + +#: ../pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "ใบยื่นขอใบรับรอง" + +#: ../pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "ใบยื่นขอในรูปของรหัส PEM" + +#: ../pkcs11/pkcs11-request.vala:149 +msgid "Couldn't save certificate request" +msgstr "ไม่สามารถบันทึกใบยื่นขอใบรับรอง" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "สร้างแฟ้มใบยื่นขอใบรับรอง" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "ชื่อสามัญ (CN) ที่จะใช้ในใบยื่นขอใบรับรอง" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "ชื่อ (CN):" + +#: ../pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "กุญแจส่วนตัวไม่มีชื่อ" + +#: ../pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "ไม่ทราบ" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "เปลี่ยนวลีรหัสผ่าน" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "วลีรหัสผ่านให_ม่:" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "ยืนยันวลีรหัสผ่าน" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "_ยืนยันวลีรหัสผ่าน:" + +#: ../src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "ต่อไป" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "เ_ลือกชนิดของรายการที่ต้องการสร้าง:" + +#: ../src/seahorse-import-dialog.c:95 +msgid "Import failed" +msgstr "นำเข้าไม่สำเร็จ" + +#: ../src/seahorse-import-dialog.c:113 +msgid "Import" +msgstr "นำเข้า" + +#: ../src/seahorse-import-dialog.c:126 +msgid "Data to be imported:" +msgstr "ข้อมูลที่จะนำเข้า:" + +#: ../src/seahorse-key-manager.c:242 ../ssh/seahorse-ssh-operation.c:870 +msgid "Import Key" +msgstr "นำเข้ากุญแจ" + +#: ../src/seahorse-key-manager.c:254 +msgid "All key files" +msgstr "แฟ้มกุญแจทั้งหมด" + +#: ../src/seahorse-key-manager.c:355 +msgid "Dropped text" +msgstr "ข้อความที่ลากมาวาง" + +#: ../src/seahorse-key-manager.c:391 +msgid "Clipboard text" +msgstr "ข้อความในคลิปบอร์ด" + +#: ../src/seahorse-key-manager.c:502 +msgid "_New" +msgstr "ใ_หม่" + +#: ../src/seahorse-key-manager.c:504 +msgid "Close this program" +msgstr "ปิดโปรแกรมนี้" + +#: ../src/seahorse-key-manager.c:505 ../src/seahorse-key-manager.c:507 +msgid "_New..." +msgstr "ใ_หม่..." + +#: ../src/seahorse-key-manager.c:506 +msgid "Create a new key or item" +msgstr "สร้างกุญแจหรือรายการใหม่" + +#: ../src/seahorse-key-manager.c:508 +msgid "Add a new key or item" +msgstr "สร้างกุญแจหรือรายการใหม่" + +#: ../src/seahorse-key-manager.c:509 +msgid "_Import..." +msgstr "_นำเข้า..." + +#: ../src/seahorse-key-manager.c:510 +msgid "Import from a file" +msgstr "นำเข้าจากแฟ้ม" + +#: ../src/seahorse-key-manager.c:512 +msgid "Import from the clipboard" +msgstr "นำเข้าจากคลิปบอร์ด" + +#: ../src/seahorse-key-manager.c:516 +msgid "By _Keyring" +msgstr "ตาม_พวงกุญแจ" + +#: ../src/seahorse-key-manager.c:517 +msgid "Show sidebar listing keyrings" +msgstr "ใช้แถบด้านข้างแสดงรายชื่อพวงกุญแจ" + +#: ../src/seahorse-key-manager.c:521 +msgid "Show _Personal" +msgstr "แสดง_ส่วนตัว" + +#: ../src/seahorse-key-manager.c:522 +msgid "Only show personal keys, certificates and passwords" +msgstr "แสดงเฉพาะกุญแจ ใบรับรอง และรหัสผ่านส่วนตัว" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show _Trusted" +msgstr "แสดงที่เ_ชื่อถือ" + +#: ../src/seahorse-key-manager.c:524 +msgid "Only show trusted keys, certificates and passwords" +msgstr "แสดงเฉพาะกุญแจ ใบรับรอง และรหัสผ่านที่เชื่อถือ" + +#: ../src/seahorse-key-manager.c:525 +msgid "Show _Any" +msgstr "แสดง_ทั้งหมด" + +#: ../src/seahorse-key-manager.c:526 +msgid "Show all keys, certificates and passwords" +msgstr "แสดงกุญแจ ใบรับรอง และรหัสผ่านทั้งหมด" + +#: ../src/seahorse-key-manager.c:745 +msgid "Filter" +msgstr "ตัวกรอง" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "ตัวเลือกสำหรับการใช้งานครั้งแรก:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "สร้างกุญแจใหม่ของคุณเอง:" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "นำเข้ากุญแจจากแฟ้ม:" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "ก่อนที่จะเริ่มเข้ารหัสลับข้อมูล คุณต้องมีกุญแจเสียก่อน" + +#: ../src/seahorse-sidebar.c:797 +msgid "Couldn't lock" +msgstr "ไม่สามารถล็อค" + +#: ../src/seahorse-sidebar.c:834 +msgid "Couldn't unlock" +msgstr "ไม่สามารถปลดล็อค" + +#: ../src/seahorse-sidebar.c:941 +msgid "_Lock" +msgstr "_ล็อค" + +#: ../src/seahorse-sidebar.c:946 +msgid "_Unlock" +msgstr "ปล_ดล็อค" + +#: ../src/seahorse-sidebar.c:965 +msgid "_Properties" +msgstr "คุณ_สมบัติ" + +#: ../ssh/seahorse-ssh-actions.c:97 +msgid "Configure Key for _Secure Shell..." +msgstr "ตั้งค่ากุญแจเชลล์นิรภัย..." + +#: ../ssh/seahorse-ssh-actions.c:98 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "ส่งกุญแจสาธารณะสำหรับเชลล์นิรภัยไปยังเครื่องอื่น และเปิดใช้การเข้าระบบด้วยกุญแจดังกล่าว" + +#: ../ssh/seahorse-ssh-askpass.c:78 ../ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "ป้อนวลีรหัสผ่านเชลล์นิรภัย:" + +#: ../ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "วลีรหัสผ่านเก่าสำหรับกุญแจ" + +#: ../ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "กรุณาป้อนวลีรหัสผ่านเก่าสำหรับ: %s" + +#: ../ssh/seahorse-ssh-askpass.c:105 ../ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "วลีรหัสผ่านใหม่สำหรับกุญแจ" + +#: ../ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "กรุณาตั้งวลีรหัสผ่านใหม่สำหรับ: %s" + +#: ../ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "กรุณาป้อนวลีรหัสผ่านที่ตั้งซ้ำอีกครั้ง: %s" + +#: ../ssh/seahorse-ssh-backend.c:115 +msgid "Secure Shell" +msgstr "เชลล์นิรภัย" + +#: ../ssh/seahorse-ssh-backend.c:121 +msgid "Keys used to connect securely to other computers" +msgstr "กุญแจสำหรับใช้เชื่อมต่อไปยังคอมพิวเตอร์เครื่องอื่นแบบนิรภัย" + +#: ../ssh/seahorse-ssh-deleter.c:80 ../ssh/seahorse-ssh-deleter.c:85 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "ยืนยันหรือไม่ว่าต้องการลบกุญแจเชลล์นิรภัย '%s'?" + +#: ../ssh/seahorse-ssh-deleter.c:90 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "ยืนยันหรือไม่ว่าต้องการลบกุญแจเชลล์นิรภัยทั้ง %d ดอก?" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "SSH Key" +msgstr "กุญแจ SSH" + +#: ../ssh/seahorse-ssh-exporter.c:124 +msgid "Secret SSH keys" +msgstr "กุญแจลับของ SSH" + +#: ../ssh/seahorse-ssh-exporter.c:128 +msgid "Public SSH keys" +msgstr "กุญแจสาธารณะของ SSH" + +#: ../ssh/seahorse-ssh-exporter.c:297 +msgid "No public key file is available for this key." +msgstr "ไม่มีแฟ้มกุญแจสาธารณะสำหรับกุญแจนี้" + +#: ../ssh/seahorse-ssh-generate.c:52 ../ssh/seahorse-ssh-key.c:109 +#: ../ssh/seahorse-ssh-key.c:113 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "กุญแจเชลล์นิรภัย" + +#: ../ssh/seahorse-ssh-generate.c:53 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "ใช้สำหรับเข้าใช้คอมพิวเตอร์อื่น (เช่น ผ่านเทอร์มินัล)" + +#: ../ssh/seahorse-ssh-generate.c:107 ../ssh/seahorse-ssh-generate.c:123 +msgid "Couldn't generate Secure Shell key" +msgstr "ไม่สามารถสร้างกุญแจเชลล์นิรภัย" + +#: ../ssh/seahorse-ssh-generate.c:190 +msgid "Creating Secure Shell Key" +msgstr "กำลังสร้างกุญแจเชลล์นิรภัย" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "กุญแจเชลล์นิรภัยใหม่" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "สร้างกุญแจเ_ท่านั้น" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "_สร้างและตั้งค่า" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "กุญแจเชลล์นิรภัย (SSH) จะช่วยให้คุณเชื่อมต่อกับคอมพิวเตอร์ต่างๆ ได้อย่างนิรภัย" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr "ที่อยู่อีเมลของคุณ หรือสิ่งเตือนอย่างอื่นสำหรับระบุวัตถุประสงค์ของกุญแจนี้" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "ถ้ามีคอมพิวเตอร์ที่คุณต้องการใช้กุญแจนี้ด้วย คุณสามารถตั้งค่าเครื่องนั้นให้รู้จักกุญแจของคุณได้เลย" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "(Unreadable Secure Shell Key)" +msgstr "(กุญแจเชลล์นิรภัยที่อ่านไม่ได้)" + +#: ../ssh/seahorse-ssh-key.c:213 +msgid "Personal SSH key" +msgstr "กุญแจ SSH ส่วนตัว" + +#: ../ssh/seahorse-ssh-key.c:215 +msgid "SSH key" +msgstr "กุญแจ SSH" + +#: ../ssh/seahorse-ssh-key-properties.c:79 +msgid "Couldn't rename key." +msgstr "ไม่สามารถเปลี่ยนชื่อกุญแจ" + +#: ../ssh/seahorse-ssh-key-properties.c:134 +msgid "Couldn't change authorization for key." +msgstr "ไม่สามารถเปลี่ยนการอนุญาตสิทธิ์ของกุญแจ" + +#: ../ssh/seahorse-ssh-key-properties.c:171 +msgid "Couldn't change passphrase for key." +msgstr "ไม่สามารถเปลี่ยนวลีรหัสผ่านของกุญแจ" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "หมายเลขประจำกุญแจ:" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "ชื่อ:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "ใช้เชื่อมต่อไปยังคอมพิวเตอร์เครื่องอื่น" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "เจ้าของกุญแจนี้ได้รับ_อนุญาตให้เชื่อมต่อกับคอมพิวเตอร์นี้" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "ตัวเลือกนี้ใช้ได้กับบัญชี %s เท่านั้น" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "อัลกอริทึม:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "ตำแหน่ง:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "_ส่งออกกุญแจทั้งดอก" + +#: ../ssh/seahorse-ssh-operation.c:204 +msgid "The SSH command was terminated unexpectedly." +msgstr "คำสั่ง SSH จบการทำงานกลางคัน" + +#: ../ssh/seahorse-ssh-operation.c:214 +msgid "The SSH command failed." +msgstr "คำสั่ง SSH ล้มเหลว" + +#: ../ssh/seahorse-ssh-operation.c:523 +msgid "Remote Host Password" +msgstr "รหัสผ่านของเครื่องฝั่งโน้น" + +#: ../ssh/seahorse-ssh-operation.c:610 +msgid "Enter Key Passphrase" +msgstr "กรุณาป้อนวลีรหัสผ่านสำหรับกุญแจ" + +#: ../ssh/seahorse-ssh-operation.c:701 +msgid "Passphrase for New Secure Shell Key" +msgstr "วลีรหัสผ่านสำหรับกุญแจเชลล์นิรภัยใหม่" + +#: ../ssh/seahorse-ssh-operation.c:887 +#, c-format +msgid "Importing key: %s" +msgstr "กำลังนำเข้ากุญแจ: %s" + +#: ../ssh/seahorse-ssh-operation.c:889 +msgid "Importing key. Enter passphrase" +msgstr "กำลังนำเข้ากุญแจ กรุณาป้อนวลีรหัสผ่าน" + +#: ../ssh/seahorse-ssh-source.c:219 +msgid "OpenSSH keys" +msgstr "กุญแจ OpenSSH" + +#: ../ssh/seahorse-ssh-source.c:226 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ../ssh/seahorse-ssh-source.c:974 +msgid "No private key file is available for this key." +msgstr "ไม่มีแฟ้มกุญแจส่วนตัวสำหรับกุญแจนี้" + +#: ../ssh/seahorse-ssh-upload.c:48 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "ไม่สามารถตั้งค่ากุญแจเชลล์นิรภัยในคอมพิวเตอร์ในเครือข่ายได้" + +#: ../ssh/seahorse-ssh-upload.c:131 +msgid "Configuring Secure Shell Keys..." +msgstr "กำลังตั้งค่ากุญแจเชลล์นิรภัย..." + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "ตั้งค่าคอมพิวเตอร์สำหรับการเชื่อมต่อ SSH" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"ในการใช้กุญแจเชลล์นิรภัยกับคอมพิวเตอร์เครื่องอื่นที่ใช้ SSH นั้น " +"คุณต้องมีบัญชีสำหรับเข้าระบบในเครื่องนั้นอยู่ก่อนแล้ว" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "เช่น: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Server address:" +msgstr "_ที่อยู่เซิร์ฟเวอร์:" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login name:" +msgstr "ชื่อเ_ข้าระบบ:" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "_ตั้งค่า" + +#~ msgid "Updating password" +#~ msgstr "กำลังปรับข้อมูลรหัสผ่าน" + +#~ msgid "Keyring Properties" +#~ msgstr "คุณสมบัติพวงกุญแจ" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%d/%m/%Ey" + +#~ msgid "_Computer Name:" +#~ msgstr "ชื่อ_คอมพิวเตอร์:" + +#~ msgid "Never" +#~ msgstr "ไม่เลย" + +#~ msgid "Deleting item" +#~ msgid_plural "Deleting items" +#~ msgstr[0] "กำลังลบรายการ" + +#~ msgid "Passwords: %s" +#~ msgstr "รหัสผ่าน: %s" + +#~ msgid "Couldn't lock keyring" +#~ msgstr "ไม่สามารถล็อคพวงกุญแจ" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "ล็อคพวงกุญแจเก็บรหัสผ่าน โดยต้องใช้รหัสผ่านหลักในการปลดล็อค" + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "ปลดล็อคพวงกุญแจเก็บรหัสผ่านโดยใช้รหัสผ่านหลัก เพื่อให้สามารถใช้งานได้" + +#~ msgid "Couldn't delete keyring" +#~ msgstr "ไม่สามารถลบพวงกุญแจ" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "ไม่ได้รับอนุญาตให้เข้าใช้พวงกุญแจ" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "ดีมอน gnome-keyring ไม่ได้ทำงานอยู่" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "พวงกุญแจถูกปลดล็อคไปแล้ว" + +#~ msgid "No such key ring exists" +#~ msgstr "ไม่มีพวงกุญแจที่ว่านี้อยู่" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "ไม่สามารถติดต่อสื่อสารกับดีมอนพวงกุญแจ" + +#~ msgid "The item already exists" +#~ msgstr "มีรายการนี้อยู่ก่อนแล้ว" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "เกิดข้อผิดพลาดภายในขณะเข้าใช้ gnome-keyring" + +#~ msgid "Archive files" +#~ msgstr "แฟ้มจัดเก็บ" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "มีแฟ้มชื่อนี้อยู่ก่อนแล้ว\n" +#~ "\n" +#~ "คุณต้องการเขียนทับด้วยแฟ้มใหม่หรือไม่?" + +#~ msgid "_Replace" +#~ msgstr "เขียน_ทับ" + +#~ msgid "_Sign Key..." +#~ msgstr "เ_ซ็นรับรองกุญแจ..." + +#~ msgid "Sign public key" +#~ msgstr "เซ็นรับรองกุญแจสาธารณะ" + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "ยืนยันหรือไม่ว่าต้องการลบกุญแจและหมายเลขประจำตัวทั้ง %d รายการอย่างถาวร?" + +#~ msgid "Couldn't delete public key" +#~ msgstr "ไม่สามารถลบกุญแจสาธารณะ" + +#~ msgid "Algorithms here" +#~ msgstr "อัลกอริทึม" + +#~ msgid "New PGP Key" +#~ msgstr "กุญแจ PGP ใหม่" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "ไม่สามารถส่งออกกุญแจไปยัง \"%s\"" + +#~ msgid "Export Complete Key" +#~ msgstr "ส่งออกกุญแจทั้งหมด" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "ยืนยันหรือไม่ว่าต้องการลบใบรับรอง '%s'?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "ยืนยันหรือไม่ว่าต้องการลบใบรับรองทั้ง %d รายการ?" + +#~ msgid "Deleting" +#~ msgstr "กำลังลบ" + +#~ msgid "Create New ..." +#~ msgstr "สร้างรายการใหม่ ..." + +#~ msgid "Selected %d key" +#~ msgid_plural "Selected %d keys" +#~ msgstr[0] "เลือกกุญแจ %d ดอก" + +#~ msgid "Importing keys" +#~ msgstr "กำลังนำเข้ากุญแจ" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "ไม่รู้จักชนิดกุญแจ หรือรูปแบบข้อมูลไม่ถูกต้อง" + +#~ msgid "Importing Keys" +#~ msgstr "กำลังนำเข้ากุญแจ" + +#~ msgid "T_ypes" +#~ msgstr "_ชนิด" + +#~ msgid "Show type column" +#~ msgstr "แสดงคอลัมน์ชนิดกุญแจ" + +#~ msgid "_Expiry" +#~ msgstr "วันห_มดอายุ" + +#~ msgid "Show expiry column" +#~ msgstr "แสดงคอลัมน์วันหมดอายุกุญแจ" + +#~ msgid "_Trust" +#~ msgstr "ความเชื่อ_ถือ" + +#~ msgid "Show owner trust column" +#~ msgstr "แสดงคอลัมน์ความเชื่อถือของเจ้าของ" + +#~ msgid "_Validity" +#~ msgstr "สถานะ_มีผลใช้งาน" + +#~ msgid "Show validity column" +#~ msgstr "แสดงคอลัมน์สถานะมีผลใช้งาน" + +#~ msgid "Other _Keys" +#~ msgstr "กุญแจ_อื่นๆ" + +#~ msgid "Validity" +#~ msgstr "มีผลใช้งาน" + +#~ msgid "Expiration Date" +#~ msgstr "วันหมดอายุ" + +#~ msgid "_Expand All" +#~ msgstr "_ขยายทั้งหมด" + +#~ msgid "Expand all listings" +#~ msgstr "ขยายรายการทั้งหมด" + +#~ msgid "_Collapse All" +#~ msgstr "ยุ_บทั้งหมด" + +#~ msgid "Collapse all listings" +#~ msgstr "ยุบรายการทั้งหมด" + +#~ msgid "Export public key" +#~ msgstr "ส่งออกกุญแจสาธารณะ" + +#~ msgid "Exporting keys" +#~ msgstr "กำลังส่งออกกุญแจ" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "ไม่สามารถดึงข้อมูลจากเซิร์ฟเวอร์กุญแจ" + +#~ msgid "Retrieving keys" +#~ msgstr "กำลังดึงข้อมูลกุญแจ" + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s เป็นกุญแจส่วนตัว คุณยังคงต้องการดำเนินการต่อไปหรือไม่?" + +#~ msgid "Couldn't delete key" +#~ msgstr "ไม่สามารถลบกุญแจ" + +#~ msgid "_Key Description:" +#~ msgstr "คำ_บรรยายกุญแจ:" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "ไม่ต้องเรียกทำงาน seahorse-daemon แบบดีมอน" + +#~ msgid "couldn't fork process" +#~ msgstr "ไม่สามารถ fork โพรเซสได้" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "ดีมอนเข้ารหัสลับ (Seahorse)" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "ชนิดกุญแจผิดพลาดหรือไม่รู้จัก: %s" + +#~ msgid "This keytype is not supported: %s" +#~ msgstr "ไม่รองรับกุญแจชนิดนี้: %s" + +#~ msgid "Support for this feature was not enabled at build time" +#~ msgstr "การรองรับความสามารถนี้ไม่ได้เปิดไว้ขณะประกอบสร้าง" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "กุญแจผิดพลาดหรือไม่รู้จัก: %s" + +#~ msgid "Signed by expired on %s." +#~ msgstr "เซ็นโดย หมดอายุแล้ว เมื่อ %s" + +#~ msgid "Invalid Signature" +#~ msgstr "ลายเซ็นใช้ไม่ได้" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "เซ็นโดย เมื่อ %s หมดอายุแล้ว" + +#~ msgid "Expired Signature" +#~ msgstr "ลายเซ็นหมดอายุแล้ว" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "เซ็นโดย ถูกเพิกถอน เมื่อ %s" + +#~ msgid "Revoked Signature" +#~ msgstr "ลายเซ็นถูกเพิกถอนแล้ว" + +#~ msgid "Signed by on %s." +#~ msgstr "เซ็นโดย เมื่อ %s" + +#~ msgid "Good Signature" +#~ msgstr "ลายเซ็นใช้การได้" + +#~ msgid "Signing key not in keyring." +#~ msgstr "กุญแจที่เซ็นไม่ได้อยู่ในพวงกุญแจ" + +#~ msgid "Unknown Signature" +#~ msgstr "ลายเซ็นไม่รู้จัก" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "ลายเซ็นเสียหรือถูกปลอมแปลง ข้อมูลที่เซ็นไว้มีการเปลี่ยนแปลง" + +#~ msgid "Bad Signature" +#~ msgstr "ลายเซ็นเสีย" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "ผู้เซ็นผิดพลาดหรือไม่รู้จัก: %s" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "กุญแจไม่สามารถใช้เซ็นได้: %s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "ผู้รับผิดพลาดหรือไม่รู้จัก: %s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "กุญแจไม่ใช่ผู้รับของการเข้ารหัสลับที่ถูกต้อง: %s" + +#~ msgid "No recipients specified" +#~ msgstr "ไม่ได้ระบุผู้รับ" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "ชนิดกุญแจไม่ถูกต้องสำหรับการถอดรหัสลับ: %s" + +#~ msgid "No signer specified" +#~ msgstr "ไม่ได้ระบุผู้เซ็น" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "ชนิดกุญแจไม่ถูกต้องสำหรับการตรวจสอบยืนยัน: %s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "หมายเลขกุญแจไม่ถูกต้อง: %s" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "รายการ URI ของเซิร์ฟเวอร์กุญแจที่จะค้นหากุญแจ PGP ในเครือข่าย ในรุ่นหลังๆ " +#~ "จะสามารถป้อนชื่อที่ใช้แสดงได้ด้วย โดยแทรกช่องว่างต่อท้าย แล้วตามด้วยชื่อ" + +#~ msgid "Auto Retrieve Keys" +#~ msgstr "ดึงข้อมูลกุญแจโดยอัตโนมัติ" + +#~ msgid "Auto Sync Keys" +#~ msgstr "ปรับข้อมูลกุญแจโดยอัตโนมัติ" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "เปิด-ปิดการแสดงคอลัมน์วันหมดอายุสำหรับโปรแกรมจัดการกุญแจ" + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "เปิด-ปิดการแสดงคอลัมน์ความเชื่อถือสำหรับโปรแกรมจัดการกุญแจ" + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "เปิด-ปิดการแสดงคอลัมน์ชนิดกุญแจสำหรับโปรแกรมจัดการกุญแจ" + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "เปิด-ปิดการแสดงคอลัมน์สถานะมีผลใช้งานสำหรับโปรแกรมจัดการกุญแจ" + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "เปิดใช้การใช้ร่วมแบบ DNS-SD" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "เปิดใช้การใช้กุญแจร่วมกันแบบ DNS-SD (Apple Bonjour) จะใช้งานได้ ต้องมี seahorse-" +#~ "daemon ทำงานอยู่ และต้องคอมไพล์มาแบบรองรับ HKP และ DNS-SD ด้วย" + +#~ msgid "ID of the default key" +#~ msgstr "หมายเลขของกุญแจปริยาย" + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "" +#~ "ถ้ากำหนดเป็นค่าจริง แฟ้มต่างๆ ที่เข้ารหัสลับด้วย seahorse จะอยู่ในรูปที่หุ้มด้วย ASCII (ASCII " +#~ "armor)" + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "ถ้ากำหนดเป็นค่าจริง จะเพิ่มกุญแจปริยายเข้าในรายชื่อผู้รับในการเข้ารหัสลับเสมอ" + +#~ msgid "Last key server search pattern" +#~ msgstr "รูปแบบล่าสุดที่ใช้ค้นเซิร์ฟเวอร์กุญแจ" + +#~ msgid "Last key servers used" +#~ msgstr "เซิร์ฟเวอร์กุญแจล่าสุดที่ใช้" + +#~ msgid "Last key used to sign a message." +#~ msgstr "กุญแจล่าสุดที่ใช้เซ็นกำกับข้อความ" + +#~ msgid "PGP Key servers" +#~ msgstr "เซิร์ฟเวอร์กุญแจ PGP" + +#~ msgid "Publish keys to this key server." +#~ msgstr "ประกาศกุญแจที่เซิร์ฟเวอร์กุญแจนี้" + +#~ msgid "Show expires column in key manager" +#~ msgstr "แสดงคอลัมน์วันหมดอายุในโปรแกรมจัดการกุญแจ" + +#~ msgid "Show trust column in key manager" +#~ msgstr "แสดงคอลัมน์ความเชื่อถือในโปรแกรมจัดการกุญแจ" + +#~ msgid "Show type column in key manager" +#~ msgstr "แสดงคอลัมน์ชนิดกุญแจในโปรแกรมจัดการกุญแจ" + +#~ msgid "Show validity column in key manager" +#~ msgstr "แสดงคอลัมน์สถานะมีผลใช้งานในโปรแกรมจัดการกุญแจ" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "ระบุคอลัมน์ที่จะใช้เรียงลำดับรายการในหน้าต่างผู้รับ คอลัมน์ที่มีคือ: 'name' และ 'id' " +#~ "คุณสามารถเติมเครื่องหมาย '-' หน้าชื่อคอลัมน์ เพื่อให้เรียงลำดับจากหลังมาหน้าได้" + +#~ msgid "" +#~ "Specify the column to sort the seahorse key manager main window by. " +#~ "Columns are: 'name', 'id', 'validity', 'expires', 'trust', and 'type'. " +#~ "Put a '-' in front of the column name to sort in descending order." +#~ msgstr "" +#~ "ระบุคอลัมน์ที่จะใช้เรียงลำดับรายการในหน้าต่างหลักของโปรแกรมจัดการกุญแจ seahorse " +#~ "คอลัมน์ที่มีคือ: 'name', 'id', 'validity', 'expires', 'trust', และ 'type' " +#~ "คุณสามารถเติมเครื่องหมาย '-' หน้าชื่อคอลัมน์ เพื่อให้เรียงลำดับจากหลังมาหน้าได้" + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "หมายเลขของกุญแจลับล่าสุดที่ใช้เซ็นกำกับข้อความ" + +#~ msgid "The column to sort the recipients by" +#~ msgstr "คอลัมน์ที่จะใช้เรียงลำดับผู้รับ" + +#~ msgid "The column to sort the seahorse keys by" +#~ msgstr "คอลัมน์ที่จะใช้เรียงลำดับกุญแจ seahorse" + +#~ msgid "" +#~ "The key server to publish PGP keys to. Or empty to suppress publishing of " +#~ "PGP keys." +#~ msgstr "เซิร์ฟเวอร์กุญแจที่จะประกาศกุญแจ PGP หรือถ้าเป็นค่าว่าง ก็จะไม่ประกาศกุญแจ PGP" + +#~ msgid "" +#~ "The last key server a search was performed against or empty for all key " +#~ "servers." +#~ msgstr "" +#~ "เซิร์ฟเวอร์กุญแจล่าสุดที่ใช้ค้นหากุญแจ หรือถ้าเป็นค่าว่าง จะหมายถึงเซิร์ฟเวอร์กุญแจทุกแหล่ง" + +#~ msgid "The last search pattern searched for against a key server." +#~ msgstr "รูปแบบล่าสุดที่ใช้ค้นเซิร์ฟเวอร์กุญแจ" + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "ระบุกุญแจปริยายที่จะใช้สำหรับการดำเนินการบางอย่าง โดยเฉพาะการเซ็นกำกับ" + +#~ msgid "" +#~ "Whether or not keys should be automatically retrieved from key servers." +#~ msgstr "จะดึงข้อมูลกุญแจจากเซิร์ฟเวอร์กุญแจต่างๆ โดยอัตโนมัติหรือไม่" + +#~ msgid "" +#~ "Whether or not modified keys should be automatically synced with the " +#~ "default key server." +#~ msgstr "จะปรับข้อมูลกุญแจที่มีการเปลี่ยนแปลงให้ตรงกับเซิร์ฟเวอร์กุญแจปริยายโดยอัตโนมัติหรือไม่" + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "จะเข้ารหัสลับถึงกุญแจปริยายหรือไม่" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "จะใช้การหุ้มด้วย ASCII หรือไม่" + +#~ msgid "Web Password" +#~ msgstr "รหัสผ่านเว็บ" + +#~ msgid "Couldn't set application access." +#~ msgstr "ไม่สามารถกำหนดการเข้าถึงของโปรแกรมประยุกต์" + +#~ msgid "Path:" +#~ msgstr "พาธ:" + +#~ msgid "Permissions:" +#~ msgstr "การอนุญาต:" + +#~ msgid "_Read" +#~ msgstr "_อ่าน" + +#~ msgid "_Write" +#~ msgstr "เ_ขียน" + +#~ msgctxt "infinitive" +#~ msgid "_Delete" +#~ msgstr "_ลบ" + +#~ msgid "Saving item..." +#~ msgstr "กำลังบันทึกรายการ..." + +#~ msgid "Listing password keyrings" +#~ msgstr "กำลังไล่เรียงพวงกุญแจเก็บรหัสผ่าน" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "ไม่พบกุญแจเข้ารหัสลับที่จะใช้ดำเนินการตามที่คุณขอ ดังนั้น จะเรียกโปรแกรม " +#~ "รหัสผ่านและกุญแจเข้ารหัสลับ เพื่อที่คุณจะสามารถสร้างหรือนำเข้ากุญแจได้" + +#~ msgid "All Keys" +#~ msgstr "กุญแจทุกดอก" + +#~ msgid "Selected Recipients" +#~ msgstr "ผู้รับที่เลือกไว้" + +#~ msgid "Search Results" +#~ msgstr "ผลการค้นหา" + +#~ msgid "Search _for:" +#~ msgstr "ค้น_หา:" + +#~ msgid "None (Don't Sign)" +#~ msgstr "ไม่ต้อง (ไม่เซ็น)" + +#~ msgid "Sign this message as %s" +#~ msgstr "เซ็นกำกับข้อความนี้ในนาม %s" + +#~ msgid "_Sign message as:" +#~ msgstr "เ_ซ็นกำกับข้อความในนาม:" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "แฟ้มนี้ไม่ใช่แฟ้ม .desktop ที่ใช้ได้" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "ไม่รู้จักแฟ้มเดสก์ท็อปรุ่น '%s'" + +#~ msgid "Starting %s" +#~ msgstr "กำลังเริ่ม %s" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "โปรแกรมไม่รับเอกสารในบรรทัดคำสั่ง" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "ไม่รู้จักตัวเลือกของการเรียกโปรแกรม: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "ไม่สามารถส่ง URI ของเอกสารไปยังรายการเดสก์ท็อปที่มี 'Type=Link'" + +#~ msgid "Not a launchable item" +#~ msgstr "ไม่ใช่รายการที่เรียกทำงานได้" + +#~ msgid "Disable connection to session manager" +#~ msgstr "ปิดใช้การเชื่อมต่อไปยังโปรแกรมจัดการวาระ" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "ระบุแฟ้มที่บันทึกค่าตั้งไว้" + +#~ msgid "Specify session management ID" +#~ msgstr "ระบุหมายเลขการจัดการวาระ" + +#~ msgid "Session management options:" +#~ msgstr "ตัวเลือกเกี่ยวกับการจัดการวาระ:" + +#~ msgid "Show session management options" +#~ msgstr "แสดงตัวเลือกเกี่ยวกับการจัดการวาระ" + +#~ msgid "Key Imported" +#~ msgid_plural "Keys Imported" +#~ msgstr[0] "นำเข้ากุญแจแล้ว" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "นำเข้ากุญแจ %i ดอกแล้ว" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "นำเข้ากุญแจสำหรับ" + +#~ msgid "Notification Messages" +#~ msgstr "ข้อความแจ้ง" + +#~ msgid "Symmetric Key" +#~ msgstr "กุญแจสมมาตร" + +#~ msgid "Credentials" +#~ msgstr "รหัสลับ" + +#~ msgid "Identity" +#~ msgstr "เอกลักษณ์บุคคล" + +#~ msgid "Progress Title" +#~ msgstr "ชื่อเรื่องของความคืบหน้า" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "ไม่สามารถเรียก file-roller" + +#~ msgid "Couldn't package files" +#~ msgstr "ไม่สามารถจัดเก็บแฟ้ม" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "โพรเซส file-roller ทำงานไม่สำเร็จสมบูรณ์" + +#~ msgid "Couldn't generate key" +#~ msgstr "ไม่สามารถสร้างกุญแจ" + +#~ msgid "Loading Keys..." +#~ msgstr "กำลังโหลดกุญแจ..." + +#~ msgid "Uploading keys..." +#~ msgstr "กำลังอัปโหลดกุญแจ..." + +#~ msgid "Retrieving keys..." +#~ msgstr "กำลังดึงกุญแจ..." + +#~ msgid "Searching for keys on: %s" +#~ msgstr "กำลังค้นหากุญแจที่: %s" + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "กำลังค้นหากุญแจที่มี '%s'..." + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "กำลังค้นหากุญแจหมายเลข '%s'..." + +#~ msgid "Retrieving remote keys..." +#~ msgstr "กำลังดึงกุญแจจากเครือข่าย..." + +#~ msgid "Sending keys to key server..." +#~ msgstr "กำลังส่งกุญแจไปยังเซิร์ฟเวอร์กุญแจ..." + +#~ msgid "Synchronizing keys" +#~ msgstr "กำลังปรับข้อมูลกุญแจ" + +#~ msgid "Invalid" +#~ msgstr "ผิดพลาด" + +#~ msgid "Private Secure Shell Key" +#~ msgstr "กุญแจส่วนตัวสำหรับเชลล์นิรภัย" + +#~ msgid "Public Secure Shell Key" +#~ msgstr "กุญแจสาธารณะสำหรับเชลล์นิรภัย" + +#~ msgid "Passphrase:" +#~ msgstr "วลีรหัสผ่าน:" + +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "กรุณาตั้งวลีรหัสผ่านสำหรับกุญแจเชลล์นิรภัยใหม่ของคุณ" + +#~ msgid "Couldn't share keys" +#~ msgstr "ไม่สามารถเปิดกุญแจให้ใช้ร่วมได้" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "ไม่สามารถประกาศข้อมูลสำหรับการตรวจหาลงในเครือข่ายได้" + +#~ msgid "%s's encryption keys" +#~ msgstr "กุญแจเข้ารหัสลับของ %s" + +#~ msgid "Key Sharing" +#~ msgstr "การเปิดกุญแจให้ใช้ร่วม" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "การเปิดกุญแจของคุณให้ผู้อื่นใช้ร่วม ทำให้ผู้อื่นในเครือข่ายของคุณสามารถใช้กุญแจต่างๆ " +#~ "ที่คุณเก็บไว้ได้ ซึ่งหมายความว่า พวกเขาจะสามารถเข้ารหัสลับข้อมูลต่างๆ " +#~ "ส่งถึงคุณหรือคนที่คุณรู้จักได้โดยอัตโนมัติ โดยที่คุณไม่ต้องส่งกุญแจของคุณให้กับพวกเขา\n" +#~ "\n" +#~ "หมายเหตุ: กุญแจส่วนตัวของคุณจะไม่ถูกเปิดเผย" + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "เปิดกุญแจของฉันให้ผู้อื่นใ_ช้ร่วมในเครือข่าย" + +#~ msgid "Seahorse Daemon" +#~ msgstr "ดีมอน Seahorse" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "มีกุญแจ X ดอกถูกเลือกสำหรับปรับข้อมูล" + +#~ msgid "" +#~ "One or more of the deleted keys are private keys. Are you sure you want " +#~ "to proceed?" +#~ msgstr "กุญแจที่ลบอย่างน้อยหนึ่งดอกเป็นกุญแจส่วนตัว คุณยังคงต้องการดำเนินการต่อไปหรือไม่?" + +#~ msgid "Create a PGP Key" +#~ msgstr "สร้างกุญแจ PGP" + +#~ msgid "_Quit" +#~ msgstr "_ออก" + +#~ msgid "_Paste" +#~ msgstr "_แปะ" + +#~ msgid "Other _Collected Keys" +#~ msgstr "กุญแจ_อื่นๆ" + +#~ msgid "_Trusted Keys" +#~ msgstr "กุญแจเ_ชื่อถือ" + +#~ msgid "_Close" +#~ msgstr "ปิ_ด" + +#~ msgid "_About" +#~ msgstr "เ_กี่ยวกับ" + +#~ msgid "_Copy" +#~ msgstr "_คัดลอก" + +#~ msgid "Removing item" +#~ msgstr "กำลังลบรายการ" + +#~ msgid "Couldn't get default password keyring" +#~ msgstr "ไม่สามารถอ่านพวงกุญแจปริยายสำหรับเก็บรหัสผ่าน" + +#~ msgid "Couldn't get list of password keyrings" +#~ msgstr "ไม่สามารถอ่านรายชื่อพวงกุญแจเก็บรหัสผ่าน" + +#~ msgid "Couldn't remove keyring" +#~ msgstr "ไม่สามารถลบพวงกุญแจ" + +#~ msgid "Are you sure you want to permanently delete the '%s' keyring?" +#~ msgstr "ยืนยันหรือไม่ว่าต้องการลบพวงกุญแจ '%s' อย่างถาวร?" + +#~ msgid "Default Keyring" +#~ msgstr "พวงกุญแจปริยาย" + +#~ msgid "Password Keyrings" +#~ msgstr "พวงกุญแจเก็บรหัสผ่าน" + +#~ msgid "Password and Encryption Settings" +#~ msgstr "ค่าตั้งรหัสผ่านและการเข้ารหัสลับ" + +#~ msgid "_Add Keyring" +#~ msgstr "เ_พิ่มพวงกุญแจ" + +#~ msgid "_Remove Keyring" +#~ msgstr "_ลบพวงกุญแจ" + +#~ msgid "Unknown Key: %s" +#~ msgstr "กุญแจไม่รู้จัก: %s" + +#~ msgid "Unknown Key" +#~ msgstr "กุญแจไม่รู้จัก" + +#~ msgid "Unavailable Key" +#~ msgstr "กุญแจไม่มีอยู่" + +#~ msgid "X509 Certificate" +#~ msgstr "ใบรับรอง X509" + +#~ msgid "Loading..." +#~ msgstr "กำลังโหลด..." + +#~ msgid "Invalid or unrecognized object." +#~ msgstr "อ็อบเจกต์ผิดพลาดหรือไม่รู้จัก" + +#~ msgid "Exporting is not yet supported." +#~ msgstr "ยังไม่รองรับการส่งออก" + +#~ msgid "Expiry for Subkey %d of %s" +#~ msgstr "วันหมดอายุสำหรับกุญแจย่อย %d ของ %s" + +#~ msgid "Import keys into your key ring from a file" +#~ msgstr "นำเข้ากุญแจจากแฟ้มเข้าในพวงกุญแจของคุณ" + +#~ msgid "_Key" +#~ msgstr "กุญแ_จ" + +#~ msgid "E_xport Public Key..." +#~ msgstr "_ส่งออกกุญแจสาธารณะ..." + +#~ msgid "_Copy Public Key" +#~ msgstr "_คัดลอกกุญแจสาธารณะ" + +#~ msgid "Copy public part of selected keys to the clipboard" +#~ msgstr "คัดลอกข้อมูลส่วนสาธารณะของกุญแจลงในคลิปบอร์ด" + +#~ msgid "_Delete Key" +#~ msgstr "_ลบกุญแจ" + +#~ msgid "Secure Shell Passphrase" +#~ msgstr "วลีรหัสผ่านเชลล์นิรภัย" + +#~ msgid "Secure Shell Key Passphrase" +#~ msgstr "วลีรหัสผ่านสำหรับกุญแจเชลล์นิรภัย" + +#~ msgid "Enter the passphrase for: %s" +#~ msgstr "กรุณาป้อนวลีรหัสผ่านสำหรับ: %s" + +#~ msgid "Save this passphrase in my keyring" +#~ msgstr "บันทึกวลีรหัสผ่านนี้ในพวงกุญแจของฉัน" + +#~ msgid "" +#~ "%s is a private key. Make sure you have a backup. Do you still want to " +#~ "delete it?" +#~ msgstr "%s เป็นกุญแจส่วนตัว กรุณาแน่ใจว่าคุณได้สำรองข้อมูลไว้ คุณยังคงต้องการลบกุญแจนี้หรือไม่?" + +#~ msgid "User ID" +#~ msgstr "หมายเลขผู้ใช้" + +#~ msgid "Imported %d key" +#~ msgid_plural "Imported %d keys" +#~ msgstr[0] "นำเข้ากุญแจแล้ว %d ดอก" + +#~ msgid "Couldn't read file" +#~ msgstr "ไม่สามารถอ่านแฟ้ม" + +#~ msgid "Copied %d key" +#~ msgid_plural "Copied %d keys" +#~ msgstr[0] "ทำสำเนากุญแจแล้ว %d ดอก" + +#~ msgid "Back up Key Rings to Archive" +#~ msgstr "สำรองพวงกุญแจลงในแฟ้มจัดเก็บ" + +#~ msgid "_Back up Key Rings..." +#~ msgstr "สำ_รองพวงกุญแจ..." + +#~ msgid "Back up all keys" +#~ msgstr "สำรองกุญแจทั้งหมด" + +#~ msgid "Set Up Computer for _Secure Shell..." +#~ msgstr "ตั้งค่าคอมพิวเตอร์สำหรับเ_ชลล์นิรภัย..." + +#~ msgid "Couldn't import keys into key ring" +#~ msgstr "ไม่สามารถนำเข้ากุญแจเข้าในพวงกุญแจ" + +#~ msgid "Couldn't write keys to file: %s" +#~ msgstr "ไม่สามารถเขียนกุญแจลงแฟ้ม: %s" + +#~ msgid "Save Remote Keys" +#~ msgstr "บันทึกกุญแจจากเครือข่าย" + +#~ msgid "No matching keys found" +#~ msgstr "ไม่พบกุญแจที่ตรงกัน" + +#~ msgid "Save Key As..." +#~ msgstr "บันทึกกุญแจเป็น..." + +#~ msgid "Save selected keys as a file" +#~ msgstr "บันทึกกุญแจที่เลือกลงแฟ้ม" + +#~ msgid "You have selected multiple files or folders" +#~ msgstr "คุณได้เลือกแฟ้มหรือโฟลเดอร์หลายรายการ" + +#~ msgid "" +#~ "Because the files are located remotely, each file will be encrypted " +#~ "separately." +#~ msgstr "เนื่องจากแฟ้มต่างๆ ถูกเก็บไว้ในเครือข่าย แต่ละแฟ้มจะถูกเข้ารหัสลับแยกกัน" + +#~ msgid "Encrypt Multiple Files" +#~ msgstr "เข้ารหัสลับแฟ้มหลายแฟ้ม" + +#~ msgid "Encrypt each file separately" +#~ msgstr "เข้ารหัสลับแต่ละแฟ้มแยกกัน" + +#~ msgid "Encrypt packed together in a package" +#~ msgstr "เข้ารหัสลับโดยอัดรวมกันในแพกเกจ" + +#~ msgid "Package Name:" +#~ msgstr "ชื่อแพกเกจ:" + +#~ msgid "Packaging:" +#~ msgstr "การทำแพกเกจ:" + +#~ msgid "Please enter a passphrase to use." +#~ msgstr "กรุณาป้อนวลีรหัสผ่านที่จะใช้" + +#~ msgid "Unparseable Key ID" +#~ msgstr "หมายเลขกุญแจอยู่ในรูปแบบที่แจงไม่ได้" + +#~ msgid "Unknown/Invalid Key" +#~ msgstr "กุญแจไม่รู้จัก/ผิดพลาด" + +#~ msgid "PGP Key: %s" +#~ msgstr "กุญแจ PGP: %s" + +#~ msgid "" +#~ "Warning: Your system is not configured to cache passphrases in " +#~ "secure memory." +#~ msgstr "" +#~ "คำเตือน: ระบบของคุณไม่ได้ตั้งค่าไว้ให้เก็บแคชวลีรหัสผ่านไว้ในหน่วยความจำที่นิรภัย" + +#~ msgid "Cache _Preferences" +#~ msgstr "ปรับแ_ต่งแคช" + +#~ msgid "Cached Encryption Keys" +#~ msgstr "กุญแจเข้ารหัสลับที่เก็บไว้ในแคช" + +#~ msgid "Change passphrase cache settings." +#~ msgstr "เปลี่ยนแปลงค่าตั้งของแคชวลีรหัสผ่าน" + +#~ msgid "Clear passphrase cache" +#~ msgstr "ล้างแคชวลีรหัสผ่าน" + +#~ msgid "_Clear Cache" +#~ msgstr "_ล้างแคช" + +#~ msgid "_Show Window" +#~ msgstr "แ_สดงหน้าต่าง" + +#~ msgid "Do not daemonize seahorse-agent" +#~ msgstr "ไม่ต้องแปรสภาพ seahorse-agent เป็นดีมอน" + +#~ msgid "Print variables in for a C type shell" +#~ msgstr "พิมพ์การกำหนดตัวแปรสำหรับเชลล์แบบ C" + +#~ msgid "Display environment variables (the default)" +#~ msgstr "แสดงตัวแปรสภาพแวดล้อม (ค่าปริยาย)" + +#~ msgid "Allow GPG agent request from any display" +#~ msgstr "ยอมให้ส่งคำร้องเอเจนต์ GPG จากดิสเพลย์ใดก็ได้" + +#~ msgid "command..." +#~ msgstr "คำสั่ง..." + +#~ msgid "Encryption Key Agent (Seahorse)" +#~ msgstr "เอเจนต์กุญแจเข้ารหัสลับ (Seahorse)" + +#~ msgid "no command specified to execute" +#~ msgstr "ไม่ได้ระบุคำสั่งที่จะเรียกทำงาน" + +#~ msgid "Authorize Passphrase Access" +#~ msgstr "อนุญาตเข้าใช้วลีรหัสผ่าน" + +#~ msgid "The passphrase is cached in memory." +#~ msgstr "วลีรหัสผ่านถูกแคชไว้ในหน่วยความจำ" + +#~ msgid "Always ask me before using a cached passphrase" +#~ msgstr "ถามเสมอก่อนใช้วลีรหัสผ่านที่แคชไว้" + +#~ msgid "_Authorize" +#~ msgstr "_อนุญาต" + +#~ msgid "" +#~ "After performing an decrypt or verify operation from the applet, display " +#~ "the resulting text in a window." +#~ msgstr "" +#~ "หลังจากที่ดำเนินการถอดรหัสลับหรือตรวจสอบยืนยันจากตัวแอพเพล็ตเสร็จแล้ว " +#~ "ให้แสดงข้อความผลลัพธ์ในหน้าต่าง" + +#~ msgid "" +#~ "After performing an encrypt or signing operation from the applet, display " +#~ "the resulting text in a window." +#~ msgstr "" +#~ "หลังจากที่ดำเนินการเข้ารหัสลับหรือเซ็นกำกับจากตัวแอพเพล็ตเสร็จแล้ว " +#~ "ให้แสดงข้อความผลลัพธ์ในหน้าต่าง" + +#~ msgid "Display cache reminder in the notification area" +#~ msgstr "เตือนเนื้อหาแคชในพื้นที่แจ้งเตือน" + +#~ msgid "Display clipboard after decrypting" +#~ msgstr "แสดงคลิปบอร์ดหลังการถอดรหัสลับ" + +#~ msgid "Display clipboard after encrypting" +#~ msgstr "แสดงคลิปบอร์ดหลังการเข้ารหัสลับ" + +#~ msgid "Expire passwords in the cache" +#~ msgstr "เลิกใช้รหัสผ่านในแคชตามกำหนดเวลา" + +#~ msgid "" +#~ "If set to 'gnome' uses gnome-keyring to cache passwords. When set to " +#~ "'internal' uses internal cache." +#~ msgstr "" +#~ "ถ้ากำหนดเป็น 'gnome' ก็จะใช้ gnome-keyring เก็บแคชรหัสผ่าน ถ้ากำหนดเป็น 'internal' " +#~ "ก็จะใช้แคชภายใน" + +#~ msgid "Prompt before using GPG passwords in cache" +#~ msgstr "ถามก่อนใช้รหัสผ่าน GPG ในแคช" + +#~ msgid "" +#~ "Reflect the contents of the clipboard (whether encrypted, signed, etc...) " +#~ "in the panel applet icon." +#~ msgstr "" +#~ "แสดงสถานะเนื้อหาของคลิปบอร์ด (ว่าเข้ารหัสลับแล้ว, เซ็นแล้ว ฯลฯ) " +#~ "ในไอคอนของแอพเพล็ตบนพาเนล" + +#~ msgid "" +#~ "Set to 'true' to enable display of the cache reminder in the notification " +#~ "area of your panel." +#~ msgstr "กำหนดเป็นค่าจริง เพื่อเปิดใช้การเตือนเนื้อหาแคชในพื้นที่แจ้งเตือนของพาเนลของคุณ" + +#~ msgid "" +#~ "Set to 'true' to have seahorse-agent prompt before giving out passwords " +#~ "it has cached." +#~ msgstr "กำหนดเป็นค่าจริง ถ้าต้องการให้ seahorse-agent ถามก่อนที่จะให้ใช้รหัสผ่านที่แคชไว้" + +#~ msgid "Show clipboard state in panel" +#~ msgstr "แสดงสถานะคลิปบอร์ดในพาเนล" + +#~ msgid "The time (in minutes) to cache GPG passwords" +#~ msgstr "ระยะเวลา (เป็นนาที) ที่จะแคชรหัสผ่าน GPG" + +#~ msgid "" +#~ "This is the amount of time, specified in minutes, to cache GPG passwords " +#~ "in seahorse-agent." +#~ msgstr "ระยะเวลาเป็นนาทีที่จะแคชรหัสผ่าน GPG ไว้ใน seahorse-agent" + +#~ msgid "" +#~ "This option enables the GPG password cache in the seahorse-agent program. " +#~ "The 'use-agent' setting in gpg.conf affects this setting." +#~ msgstr "" +#~ "ตัวเลือกนี้เปิดใช้แคชรหัสผ่าน GPG ในโปรแกรม seahorse-agent ค่าตั้ง 'use-agent' ใน " +#~ "gpg.conf จะมีผลต่อค่านี้" + +#~ msgid "" +#~ "When set, seahorse-agent expires GPG passwords in its cache after a " +#~ "period of time." +#~ msgstr "" +#~ "เมื่อกำหนดใช้ข้อนี้ seahorse-agent จะเลิกใช้รหัสผ่าน GPG ในแคชหลังจากครบกำหนดเวลา" + +#~ msgid "Whether the GPG password cache is enabled" +#~ msgstr "จะเปิดใช้แคชรหัสผ่าน GPG หรือไม่" + +#~ msgid "None. Prompt for a key." +#~ msgstr "ไม่มี ให้ถามหากุญแจเอา" + +#~ msgid "Default Key" +#~ msgstr "กุญแจปริยาย" + +#~ msgid "Remember PGP Passphrases" +#~ msgstr "จำวลีรหัสผ่าน PGP" + +#~ msgid "A supported PGP passphrase caching agent is not running." +#~ msgstr "ไม่มีเอเจนต์สำหรับแคชวลีรหัสผ่าน PGP ที่รองรับทำงานอยู่" + +#~ msgid "This key is used to sign messages when no other key is chosen" +#~ msgstr "กุญแจนี้จะถูกใช้ในการเซ็นกำกับข้อความเมื่อไม่มีการเลือกกุญแจอื่น" + +#~ msgid "As_k me before using a cached passphrase" +#~ msgstr "_ถามก่อนที่จะใช้วลีรหัสผ่านที่แคชไว้" + +#~ msgid "Encryption" +#~ msgstr "การเข้ารหัสลับ" + +#~ msgid "PGP Passphrases" +#~ msgstr "วลีรหัสผ่าน PGP" + +#~ msgid "Show _icon in status area when passphrases are in memory" +#~ msgstr "แสดงไ_อคอนในพื้นที่สถานะเมื่อมีวลีรหัสผ่านอยู่ในหน่วยความจำ" + +#~ msgid "When _encrypting, always include myself as a recipient" +#~ msgstr "เมื่อเ_ข้ารหัสลับ นับฉันเป็นผู้รับด้วย" + +#~ msgid "_Always remember passphrases whenever logged in" +#~ msgstr "จำวลีรหัสผ่านเ_สมอเมื่อเข้าระบบ" + +#~ msgid "_Default key:" +#~ msgstr "กุญแจ_ปริยาย:" + +#~ msgid "_Never remember passphrases" +#~ msgstr "ไ_ม่จำวลีรหัสผ่าน" + +#~ msgid "_Remember passphrases for" +#~ msgstr "_จำวลีรหัสผ่านเป็นเวลา" + +#~ msgid "Couldn't set permissions on backup file." +#~ msgstr "ไม่สามารถกำหนดสิทธิ์ให้กับแฟ้มสำรอง" + +#~ msgid "Encrypt, decrypt or sign the clipboard (uses PGP type encryption)." +#~ msgstr "" +#~ "เข้ารหัสลับ, ถอดรหัสลับ, หรือเซ็นกำกับข้อความในคลิปบอร์ด (โดยใช้การเข้ารหัสลับแบบ PGP)" + +#~ msgid "Seahorse Applet Factory" +#~ msgstr "โรงงานแอพเพล็ต Seahorse" + +#~ msgid "_Preferences" +#~ msgstr "_ปรับแต่ง" + +#~ msgid "Use PGP/GPG to encrypt/decrypt/sign/verify/import the clipboard." +#~ msgstr "" +#~ "ใช้ PGP/GPG ในการ เข้ารหัสลับ/ถอดรหัสลับ/เซ็นกำกับ/ตรวจสอบยืนยัน/นำเข้า " +#~ "ข้อความในคลิปบอร์ด" + +#~ msgid "Choose Recipient Keys" +#~ msgstr "เลือกกุญแจผู้รับ" + +#~ msgid "Encrypted Text" +#~ msgstr "ข้อความเข้ารหัสลับ" + +#~ msgid "Encryption Failed" +#~ msgstr "เข้ารหัสลับไม่สำเร็จ" + +#~ msgid "The clipboard could not be encrypted." +#~ msgstr "ไม่สามารถเข้ารหัสลับข้อความในคลิปบอร์ดได้" + +#~ msgid "Choose Key to Sign with" +#~ msgstr "เลือกกุญแจที่จะใช้เซ็น" + +#~ msgid "Signed Text" +#~ msgstr "ข้อความเซ็นกำกับ" + +#~ msgid "Signing Failed" +#~ msgstr "เซ็นกำกับไม่สำเร็จ" + +#~ msgid "The clipboard could not be Signed." +#~ msgstr "ไม่สามารถเซ็นกำกับข้อความในคลิปบอร์ดได้" + +#~ msgid "Keys were found but not imported." +#~ msgstr "พบกุญแจแต่นำเข้าไม่สำเร็จ" + +#~ msgid "Decrypting Failed" +#~ msgstr "ถอดรหัสลับไม่สำเร็จ" + +#~ msgid "Text may be malformed." +#~ msgstr "ข้อความอาจมีรูปแบบไม่ถูกต้อง" + +#~ msgid "No PGP key or message was found on clipboard" +#~ msgstr "ไม่พบกุญแจหรือข้อความ PGP ในคลิปบอร์ด" + +#~ msgid "No PGP data found." +#~ msgstr "ไม่พบข้อมูล PGP" + +#~ msgid "Decrypted Text" +#~ msgstr "ข้อความถอดรหัสลับแล้ว" + +#~ msgid "Could not display the help file" +#~ msgstr "ไม่สามารถแสดงแฟ้มวิธีใช้" + +#~ msgid "_Encrypt Clipboard" +#~ msgstr "เ_ข้ารหัสลับคลิปบอร์ด" + +#~ msgid "_Sign Clipboard" +#~ msgstr "เ_ซ็นกำกับคลิปบอร์ด" + +#~ msgid "_Decrypt/Verify Clipboard" +#~ msgstr "_ถอดรหัสลับ/ตรวจสอบยืนยันคลิปบอร์ด" + +#~ msgid "_Import Keys from Clipboard" +#~ msgstr "_นำเข้ากุญแจจากคลิปบอร์ด" + +#~ msgid "Encryption Applet" +#~ msgstr "แอพเพล็ตเข้ารหัสลับ" + +#~ msgid "Display clipboard contents after:" +#~ msgstr "แสดงเนื้อหาคลิปบอร์ดหลังจาก:" + +#~ msgid "Clipboard Encryption Preferences" +#~ msgstr "ปรับแต่งการเข้ารหัสลับคลิปบอร์ด" + +#~ msgid "_Decrypting or verifying the clipboard" +#~ msgstr "_ถอดรหัสลับหรือตรวจสอบยืนยันคลิปบอร์ด" + +#~ msgid "_Encrypting or signing the clipboard" +#~ msgstr "เ_ข้ารหัสลับหรือเซ็นกำกับคลิปบอร์ด" + +#~ msgid "_Show clipboard state in panel" +#~ msgstr "แ_สดงสถานะคลิปบอร์ดในพาเนล" + +#~ msgid "_Decrypt/Verify" +#~ msgstr "_ถอดรหัสลับ/ตรวจสอบยืนยัน" + +#~ msgid "_Import Key" +#~ msgstr "_นำเข้ากุญแจ" + +#~ msgid "Couldn't connect to seahorse-daemon" +#~ msgstr "ไม่สามารถติดต่อไปยัง seahorse-daemon" + +#~ msgid "Encrypted text" +#~ msgstr "ข้อความเข้ารหัสลับ" + +#~ msgid "Couldn't encrypt text" +#~ msgstr "ไม่สามารถเข้ารหัสลับข้อความ" + +#~ msgid "Keys found but not imported" +#~ msgstr "พบกุญแจแต่ไม่ได้นำเข้า" + +#~ msgid "Couldn't decrypt text" +#~ msgstr "ไม่สามารถถอดรหัสลับข้อความ" + +#~ msgid "Couldn't verify text" +#~ msgstr "ไม่สามารถตรวจสอบยืนยันข้อความ" + +#~ msgid "No encrypted or signed text is selected." +#~ msgstr "ไม่ได้เลือกข้อความที่เข้ารหัสลับหรือเซ็นกำกับไว้" + +#~ msgid "Verified text" +#~ msgstr "ข้อความตรวจสอบยืนยันแล้ว" + +#~ msgid "Signed text" +#~ msgstr "ข้อความเซ็นกำกับ" + +#~ msgid "Couldn't sign text" +#~ msgstr "ไม่สามารถเซ็นกำกับข้อความ" + +#~ msgid "_Encrypt..." +#~ msgstr "เ_ข้ารหัสลับ..." + +#~ msgid "Encrypt the selected text" +#~ msgstr "เข้ารหัสลับข้อความที่เลือก" + +#~ msgid "Decr_ypt/Verify" +#~ msgstr "_ถอดรหัสลับ/ตรวจสอบยืนยัน" + +#~ msgid "Decrypt and/or Verify text" +#~ msgstr "ถอดรหัสลับ และ/หรือ ตรวจสอบยืนยันข้อความ" + +#~ msgid "Sig_n..." +#~ msgstr "เซ็_นกำกับ..." + +#~ msgid "Sign the selected text" +#~ msgstr "เซ็นกำกับข้อความที่เลือก" + +#~ msgid "Enable the seahorse encryption plugin for gedit." +#~ msgstr "เปิดใช้ปลั๊กอินเข้ารหัสลับ seahorse สำหรับ gedit" + +#~ msgid "Enable the seahorse gedit plugin" +#~ msgstr "เปิดใช้ปลั๊กอิน seahorse สำหรับ gedit" + +#~ msgid "Text Encryption" +#~ msgstr "เข้ารหัสลับข้อความ" + +#~ msgid "This plugin performs encryption operations on text." +#~ msgstr "ดำเนินการเข้ารหัสลับกับข้อความ" + +#~ msgid "Encrypt..." +#~ msgstr "เข้ารหัสลับ..." + +#~ msgid "Encrypt (and optionally sign) the selected file" +#~ msgid_plural "Encrypt the selected files" +#~ msgstr[0] "เข้ารหัสลับ (และอาจเซ็นกำกับ) แฟ้มที่เลือก" + +#~ msgid "Sign the selected file" +#~ msgid_plural "Sign the selected files" +#~ msgstr[0] "เซ็นกำกับแฟ้มที่เลือก" + +#~ msgid "For internal use" +#~ msgstr "สำหรับใช้เป็นการภายใน" + +#~ msgid "Encryption Preferences" +#~ msgstr "ปรับแต่งการเข้ารหัสลับ" + +#~ msgid "Configure key servers and other encryption settings" +#~ msgstr "ตั้งค่าเซิร์ฟเวอร์กุญแจและค่าตั้งอื่นๆ เกี่ยวกับการเข้ารหัสลับ" + +#~ msgid "Encryption and Keyrings" +#~ msgstr "การเข้ารหัสลับและพวงกุญแจ" + +#~ msgid "Encrypt file" +#~ msgstr "เข้ารหัสลับแฟ้ม" + +#~ msgid "Sign file with default key" +#~ msgstr "เซ็นกำกับแฟ้มด้วยกุญแจปริยาย" + +#~ msgid "Encrypt and sign file with default key" +#~ msgstr "เข้ารหัสลับและเซ็นกำกับแฟ้มด้วยกุญแจปริยาย" + +#~ msgid "Decrypt encrypted file" +#~ msgstr "ถอดรหัสลับแฟ้ม" + +#~ msgid "Verify signature file" +#~ msgstr "ตรวจสอบยืนยันแฟ้มลายเซ็น" + +#~ msgid "Read list of URIs on standard in" +#~ msgstr "อ่านรายการ URI จากอินพุตมาตรฐาน" + +#~ msgid "file..." +#~ msgstr "แฟ้ม..." + +#~ msgid "Choose Recipients" +#~ msgstr "เลือกผู้รับ" + +#~ msgid "Choose Encrypted File Name for '%s'" +#~ msgstr "ตั้งชื่อแฟ้มเข้ารหัสลับสำหรับ '%s'" + +#~ msgid "Choose Signer" +#~ msgstr "เลือกผู้เซ็น" + +#~ msgid "Choose Signature File Name for '%s'" +#~ msgstr "ตั้งชื่อแฟ้มลายเซ็นสำหรับ '%s'" + +#~ msgid "Import is complete" +#~ msgstr "การนำเข้าเสร็จสมบูรณ์" + +#~ msgid "Importing keys ..." +#~ msgstr "กำลังนำเข้ากุญแจ..." + +#~ msgid "Choose Decrypted File Name for '%s'" +#~ msgstr "ตั้งชื่อแฟ้มถอดรหัสลับสำหรับ '%s'" + +#~ msgid "Choose Original File for '%s'" +#~ msgstr "ตั้งชื่อแฟ้มสำหรับข้อมูลเริ่มแรกสำหรับ '%s'" + +#~ msgid "No valid signatures found" +#~ msgstr "ไม่พบลายเซ็นที่ใช้การได้" + +#~ msgid "File Encryption Tool" +#~ msgstr "เครื่องมือเข้ารหัสลับแฟ้ม" + +#~ msgid "Encrypting" +#~ msgstr "กำลังเข้ารหัสลับ" + +#~ msgid "Couldn't encrypt file: %s" +#~ msgstr "ไม่สามารถเข้ารหัสลับแฟ้ม: %s" + +#~ msgid "Signing" +#~ msgstr "กำลังเซ็นกำกับ" + +#~ msgid "Couldn't sign file: %s" +#~ msgstr "ไม่สามารถเซ็นกำกับแฟ้ม: %s" + +#~ msgid "Couldn't import keys from file: %s" +#~ msgstr "ไม่สามารถนำเข้ากุญแจจากแฟ้ม: %s" + +#~ msgid "Decrypting" +#~ msgstr "กำลังถอดรหัสลับ" + +#~ msgid "Couldn't decrypt file: %s" +#~ msgstr "ไม่สามารถถอดรหัสลับแฟ้ม: %s" + +#~ msgid "Verifying" +#~ msgstr "กำลังตรวจสอบยืนยัน" + +#~ msgid "Couldn't verify file: %s" +#~ msgstr "ไม่สามารถตรวจสอบยืนยันแฟ้ม: %s" + +#~ msgid "You have selected %d file " +#~ msgid_plural "You have selected %d files " +#~ msgstr[0] "คุณได้เลือกแฟ้ม %d แฟ้ม " + +#~ msgid "and %d folder" +#~ msgid_plural "and %d folders" +#~ msgstr[0] "และโฟลเดอร์ %d โฟลเดอร์" + +#~ msgid "%s%s" +#~ msgstr "%s%s" + +#~ msgid "You have selected %d files" +#~ msgstr "คุณได้เลือกแฟ้ม %d แฟ้ม" + +#~ msgid "You have selected %d folder" +#~ msgid_plural "You have selected %d folders" +#~ msgstr[0] "คุณได้เลือกโฟลเดอร์ %d โฟลเดอร์" + +#~ msgid "Couldn't list files" +#~ msgstr "ไม่สามารถไล่เรียงรายการแฟ้ม" + +#~ msgid "Couldn't retrieve key data" +#~ msgstr "ไม่สามารถดึงข้อมูลกุญแจ" + +#~ msgid "Couldn't write key to file" +#~ msgstr "ไม่สามารถเขียนกุญแจลงแฟ้ม" + +#~ msgid "Remote Encryption Keys" +#~ msgstr "กุญแจเข้ารหัสลับจากเครือข่าย" + +#~ msgid "Decrypt File" +#~ msgstr "ถอดรหัสลับแฟ้ม" + +#~ msgid "I have checked that this key belongs to '%s'" +#~ msgstr "ฉันได้ตรวจสอบแล้วว่ากุญแจนี้เป็นของ '%s'" + +#~ msgid "Verify Signature" +#~ msgstr "ตรวจสอบยืนยันลายเซ็น" + +#~ msgid "couldn't read gpg configuration, will try to create" +#~ msgstr "ไม่สามารถอ่านค่าตั้ง gpg ได้ จะพยายามสร้างค่าตั้ง" + +#~ msgid "couldn't modify gpg configuration: %s" +#~ msgstr "ไม่สามารถเปลี่ยนแปลงค่าตั้ง gpg ได้: %s" + +#~ msgid "" +#~ "Display variables instead of editing conf files (gpg.conf, SSH agent " +#~ "socket)" +#~ msgstr "แสดงตัวแปรแทนการแก้ไขแฟ้มค่าตั้ง (gpg.conf, ซ็อกเก็ตของเอเจนต์ SSH)" + +#~ msgid "couldn't drop privileges properly" +#~ msgstr "ไม่สามารถลดอภิสิทธิ์ได้อย่างเหมาะสม" + +#~ msgid "" +#~ "When set seahorse-agent will try to automatically load the users SSH keys " +#~ "when needed. This is equivalent to using the ssh-add utility." +#~ msgstr "" +#~ "เมื่อเปิดใช้ค่านี้ seahorse-agent จะพยายามโหลดกุญแจ SSH " +#~ "ของผู้ใช้โดยอัตโนมัติเมื่อจำเป็นต้องใช้ การโหลดดังกล่าวมีผลเสมือนกับใช้เครื่องมือ ssh-add " +#~ "นั่นเอง" + +#~ msgid "Whether to automatically load SSH keys on demand." +#~ msgstr "จะโหลดกุญแจ SSH โดยอัตโนมัติตามความต้องการหรือไม่" + +#~ msgid "Couldn't open the Session Properties" +#~ msgstr "ไม่สามารถเปิดเครื่องมือตั้งค่าของวาระ" + +#~ msgid "Couldn't start the 'seahorse-agent' program" +#~ msgstr "เรียกโปรแกรม 'seahorse-agent' ไม่สำเร็จ" + +#~ msgid "The 'seahorse-agent' program exited unsuccessfully." +#~ msgstr "โปรแกรม 'seahorse-agent' จบการทำงานแบบไม่สำเร็จ" + +#~ msgid "" +#~ "Note: The 'seahorse-agent' program has been started. This program " +#~ "is necessary in order to cache passphrases. " +#~ msgstr "" +#~ "หมายเหตุ: โปรแกรม 'seahorse-agent' กำลังทำงานอยู่ " +#~ "จำเป็นต้องใช้โปรแกรมนี้ในการแคชวลีรหัสผ่าน" + +#~ msgid "Secure Shell Keys" +#~ msgstr "กุญแจเชลล์นิรภัย" + +#~ msgid "" +#~ "Warning: The 'seahorse-agent' program is not running. This program " +#~ "is necessary in order to cache passphrases. " +#~ msgstr "" +#~ "คำเตือน: โปรแกรม 'seahorse-agent' ไม่ได้ทำงานอยู่ " +#~ "จำเป็นต้องใช้โปรแกรมนี้ในการแคชวลีรหัสผ่าน" + +#~ msgid "" +#~ "No SSH caching agent is running. Cannot load Secure Shell keys." +#~ msgstr "ไม่มีเอเจนต์สำหรับแคช SSH ทำงานอยู่ จึงไม่สามารถโหลดกุญแจเชลล์นิรภัยได้" + +#~ msgid "Automatically load _Secure Shell keys" +#~ msgstr "โหลดกุญแจเ_ชลล์นิรภัยโดยอัตโนมัติ" + +#~ msgid "" +#~ "Changing the master password failed. Make certain that you entered the " +#~ "correct original master password." +#~ msgstr "เปลี่ยนรหัสผ่านหลักไม่สำเร็จ แน่ใจหรือว่าคุณได้ป้อนรหัสผ่านหลักเดิมถูกต้อง" + +#~ msgid "Confirm Master Password:" +#~ msgstr "ยืนยันรหัสผ่านหลัก:" + +#~ msgid "" +#~ "GNOME Keyring stores passwords, network keys, passphrases and other " +#~ "secrets required for authentication. A master password is used to " +#~ "protect these secrets. The master password can be changed below." +#~ msgstr "" +#~ "พวงกุญแจ GNOME จะเก็บรหัสผ่าน, กุญแจเครือข่าย, วลีรหัสผ่าน " +#~ "และรหัสลับสำหรับยืนยันตัวบุคคลทั้งหลาย รหัสผ่านหลัก จะใช้รักษาข้อมูลลับเหล่านี้ " +#~ "ซึ่งคุณสามารถเปลี่ยน รหัสผ่านหลัก ได้ที่ด้านล่างนี้" + +#~ msgid "New Master Password:" +#~ msgstr "ตั้งรหัสผ่านหลัก:" + +#~ msgid "Original Master Password:" +#~ msgstr "รหัสผ่านหลักเดิม:" + +#~ msgid "Passphrase Cache" +#~ msgstr "แคชวลีรหัสผ่าน" + +#~ msgid "Session Properties" +#~ msgstr "ตั้งค่าวาระ" + +#~ msgid "The master password was successfully changed." +#~ msgstr "เปลี่ยนรหัสผ่านหลักเรียบร้อยแล้ว" + +#~ msgid "" +#~ "To avoid manually starting the 'seahorse-agent' in the future\n" +#~ "add it to the Session Manager. " +#~ msgstr "" +#~ "เพื่อเลี่ยงการเรียก 'seahorse-agent' เองทุกครั้งในครั้งต่อๆ ไป\n" +#~ "คุณสามารถเพิ่มการเรียกในโปรแกรมจัดการวาระได้เลย" + +#~ msgid "Progress Message" +#~ msgstr "ข้อความความคืบหน้า" + +#~ msgid "Progress Status" +#~ msgstr "สถานะของความคืบหน้า" + +#~ msgid "[details]\n" +#~ msgstr "[รายละเอียด]\n" + +#~ msgid "[login]" +#~ msgstr "[ชื่อเข้าระบบ]" + +#~ msgid "[server]" +#~ msgstr "[เซิร์ฟเวอร์]" + +#~ msgid "Cursor Position" +#~ msgstr "ตำแหน่งเคอร์เซอร์" + +#~ msgid "The current position of the insertion cursor in chars" +#~ msgstr "ตำแหน่งปัจจุบันของเคอร์เซอร์สำหรับแทรก ในหน่วยอักขระ" + +#~ msgid "Selection Bound" +#~ msgstr "ขอบเขตการเลือก" + +#~ msgid "" +#~ "The position of the opposite end of the selection from the cursor in chars" +#~ msgstr "ตำแหน่งอีกปลายข้างหนึ่งของการเลือกจากเคอร์เซอร์ ในหน่วยอักขระ" + +#~ msgid "Maximum length" +#~ msgstr "ความยาวสูงสุด" + +#~ msgid "Maximum number of characters for this entry. Zero if no maximum" +#~ msgstr "จำนวนอักขระสูงสุดสำหรับช่องป้อนข้อความนี้ ค่าศูนย์หมายถึงไม่มีขีดจำกัด" + +#~ msgid "Has Frame" +#~ msgstr "มีกรอบ" + +#~ msgid "FALSE removes outside bevel from entry" +#~ msgstr "ค่า FALSE จะลบขอบออกจากช่องป้อนนี้" + +#~ msgid "Invisible character" +#~ msgstr "อักขระปกปิด" + +#~ msgid "" +#~ "The character to use when masking entry contents (in \"password mode\")" +#~ msgstr "อักขระที่จะใช้ปกปิดเนื้อหาที่ป้อน (ใน \"โหมดรหัสผ่าน\")" + +#~ msgid "" +#~ "Whether to activate the default widget (such as the default button in a " +#~ "dialog) when Enter is pressed" +#~ msgstr "จะเรียกวิดเจ็ตปริยาย (เช่น ปุ่มปริยายในกล่องโต้ตอบ) เมื่อมีการกด Enter หรือไม่" + +#~ msgid "Width in chars" +#~ msgstr "ความกว้างเป็นอักขระ" + +#~ msgid "Number of characters to leave space for in the entry" +#~ msgstr "จำนวนอักขระที่จะเว้นที่ไว้ให้ในช่องป้อนข้อความ" + +#~ msgid "Scroll offset" +#~ msgstr "ออฟเซ็ตการเลื่อน" + +#~ msgid "Number of pixels of the entry scrolled off the screen to the left" +#~ msgstr "จำนวนพิกเซลที่ช่องป้อนข้อความมีการเลื่อนออกนอกกรอบไปทางซ้าย" + +#~ msgid "Text" +#~ msgstr "ข้อความ" + +#~ msgid "The contents of the entry" +#~ msgstr "เนื้อหาในช่องป้อนข้อความ" + +#~ msgid "Visibility" +#~ msgstr "การเปิดเผยเนื้อหา" + +#~ msgid "Whether contents are drawn using invisible character" +#~ msgstr "จะแสดงเนื้อหาโดยใช้อักขระปกปิดหรือไม่" + +#~ msgid "Key type / algorithm" +#~ msgstr "ชนิด / อัลกอริทึม ของกุญแจ" + +#~ msgid "[Type here]" +#~ msgstr "[ชนิด]" + +#~ msgid "[Use here]" +#~ msgstr "[วิธีใช้]" + +#~ msgid "This key expired on: (placeholder)" +#~ msgstr "กุญแจนี้หมดอายุแล้วเมื่อ: (placeholder)" + +#~ msgid "Imported %d keys" +#~ msgstr "นำเข้ากุญแจแล้ว %d ดอก" + +#~ msgid "Selected %d keys" +#~ msgstr "เลือกกุญแจ %d ดอก" diff --git a/po/tr.po b/po/tr.po new file mode 100644 index 00000000..ee5870cf --- /dev/null +++ b/po/tr.po @@ -0,0 +1,3780 @@ +# translation of Seahorse to Turkish +# Copyright (C) 2000, 2004, 2007, 2008 Free Software Foundation, Inc. +# Copyright (C) 2009-2019 Seahorse'S COPYRIGHT HOLDER +# This file is distributed under the same license as the Seahorse package. +# +# Fatih Demir , 2000. +# Sertaç Ö. Yıldız , 2007. +# Baris Cicek , 2004, 2007, 2008, 2009. +# Nurperi Utlu , 2017. +# Muhammet Kara , 2011, 2012, 2014, 2015, 2016, 2017, 2018. +# Sabri Ünal , 2019. +# Emin Tufan Çetin , 2016-2020. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-02-18 13:15+0300\n" +"Last-Translator: Emin Tufan Çetin \n" +"Language-Team: Turkish \n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 2.0.6\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Anahtar Sunucusu Ekle" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Özel" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "İptal" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Kaydet" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Silinemiyor" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Anahtarlar dışa aktarılamadı" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Veri dışa aktarılamadı" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_İptal" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Sil" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Aktar" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "%s için PIN ya da parola girin" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Onayla:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Tamam" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Parola:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Parolalar" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Tuşlar" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Sertifikalar" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Tercihler" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Hiçbiri: Anahtarları yayımlama" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Anahtar Sunucusu adresi geçersiz." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Yardım için sistem yöneticiniz veya anahtar sunucusunun yöneticisiyle " +"iletişime geçin." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "başlangıç geçici öge" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Anahtar Sunucusu Türü:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Makine:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Sunucu makinesinin adı veya adresi." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Sunucuya erişilecek bağlantı noktası." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "Anahtar ararken _kullan:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "Anahtarları _yayımlama yeri:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "_Anahtarları kendiliğinden anahtar sunucularından al" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "_Değişmiş anahtarları sunucu ile kendiliğinden eş zamanlandır" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Anahtar Sunucuları" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Bilinmiyor" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Asla" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Düşük" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Tam" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Sınırsız" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Devre Dışı" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Feshedilmiş" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Genel Görünüm" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Yardım" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Menüyü aç" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Yeni öge oluştur" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Ögeyi dosyadan içe aktar" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Arama" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Kısayol listesi" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Çık" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Gezinim" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Önceki anahtarlığı seç" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Sonraki anahtarlığı seç" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Yan çubuğu göster (küçük ekranlarda)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Anahtarlık içeriğini göster (küçük ekranlarda)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Anahtarları kendiliğinden al" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "" +"Anahtarların anahtar sunucularından otomatik olarak alınıp alınmayacağı." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Anahtarları kendiliğiden yayımla" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Değiştirilen anahtarların kendiliğinden yayımlanıp yayımlanmayacağı." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Anahtarları bu anahtar sunucusuna yayımla" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"PGP anahtarlarının gönderileceği anahtar sunucusu. Boş ise anahtarlar bir " +"sunucuya gönderilmez." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Anahtar sunucusunda yapılan son arama" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Bir anahtar sunucusunda yapılan son arama." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Kullanılan son anahtar sunucuları" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Son anahtar sunucu araması burada (boş ise tüm sunucularda) yapılmıştı." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Anahtarlıklar kenar çubuğunu göster" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Seahorseʼda anahtarlıklar kenar çubuğunu göster." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Gösterilecek ögeler" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Gösterilecek ögeleri süz. Eğer boş ise tüm ögeleri, “personal” ise kişisel " +"anahtarları, “trusted” ise güvenilenleri göster." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Kenar bölmenin genişliği" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Kenar bölmenin öntanımlı genişliği." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Seçilen anahtarlıklar" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Kenar çubukta seçilen anahtarlıkların URIʼleri." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Seahorse anahtarlarını sıralama sütunu" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Seahorse anahtar yöneticisinin sıralama sütununu belirtin. Sütunlar " +"“name” (ad), “id” (kimlik), “validity” (geçerlilik), “expires” (son " +"kullanım), “trust” (güven) ve “type” (tür) olabilir. Ters yönde sıralama " +"için başına “-” koyun." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Geçerlilik sütununu göster" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Artık kullanılmıyor." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Son Kullanım sütununu göster" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Güven sütununu göster" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Tür sütununu göster" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Pencerenin genişliği" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Pencerenin (piksel türünden) genişliği." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Pencerenin yüksekliği" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Pencerenin (piksel türünden) yüksekliği." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Parolalarınızı ve şifreleme anahtarlarınızı yönetin" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse, şifreleme anahtarlarını yönetmede kullanılan GNOME uygulamasıdır." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Seahorse ile PGP ve SSH anahtarlarını oluşturabilir ve yönetebilirsiniz, " +"anahtar sunucularına anahtar gönderip alabilirsiniz, yeniden girmenize gerek " +"kalmaması için parolanızı ön belleğe alabilir ve anahtarlarınızı ve " +"anahtarlığınızı yedekleyebilirsiniz." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "GNOME Projesi" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Parolalar ve Anahtarlar" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "anahtarlık;şifreleme;güvenlik;imza;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Saklanan kişisel parolalar, kimlik bilgileri ve gizli anahtarlar" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Kilit açılamadı" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Öge eklenemedi" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Parola veya Giz" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Ağ bağlantısı gizi" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Wi-Fi parolası" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Ağ parolası" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "GNOME Web parolası" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Google Chrome parolası" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Anlık mesajlaşma parolası" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Şunun Anlık İleti hesabı parolası: " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Telepathy parolası" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "GNOME Çevrim İçi Hesaplar parolası" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Bu ögedeki değişiklikler kaydedilsin mi?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Ağdaki kaynağa veya paylaşıma erişim" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Web sitesine erişim" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "PGP anahtarının kilidini açar" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Güvenli Kabuk anahtarının kilidini açar" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Kaydedilmiş parola veya kullanıcı adı" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Ağ Kimliği" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Parola" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Parola değiştirilemedi." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Açıklama belirlenemedi." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Parolayı silerken hata." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Saklanan not" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Anahtarlık parolası" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Şifreleme anahtarı parolası" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Anahtar deposu parolası" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Ağ Yöneticisi gizi" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "“%s” parolasını silmek istediğinize emin misiniz?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "%d parolayı silmek istediğinizden emin misiniz?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Anahtarlık eklenemedi" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Bilinmeyen tarih" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "Girişte kilidi kendiliğinden açılan anahtarlık" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "Parolaları saklamak için kullanılan anahtarlık" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Öntanımlı anahtarlık belirlenemedi" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Anahtarlık parolası değiştirilemedi" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "Ö_ntanımlı ata" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "_Parola Değiştir" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "“%s” parola anahtarlığını silmek istediğinizden emin misiniz?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Tüm ögelerin kalıcı olarak silineceğini anlıyorum." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Parolayı Göster/Gizle" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Parola Ekle" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_Anahtarlık:" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Açıklama:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Parola:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Ekle" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Parola anahtarlığı ekle" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Lütfen yeni anahtarlık için ad seçin. Size kilit açma parolası sorulacak." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Yeni Anahtarlık Adı:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Öge Özellikleri" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Açıklama" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Kopyala" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Kullanım" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Tür" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Sunucu" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Giriş" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Ayrıntılar" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Parolayı Sil" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Anahtarlık özellikleri" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Ad" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Oluşturulma" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Parola değiştir" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Öntanımlı ata" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "İşaretleri göster" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Gösterilen tarih ve/veya zaman özellikleri" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Tembel kip" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "Tembel kip girilen tarihi ve zaman değerlerini sıradanlaştıramaz" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Yıl" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Gösterilen yıl" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Ay" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Gösterilen ay" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Gün" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Gösterilen ayın günü" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Saat" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Gösterilen saat" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Dakika" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Gösterilen dakika" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Saniye" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Gösterilen saniye" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Alt sınır yılı" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Alt tarih sınırının yıl bölümü" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Üst sınır yılı" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Üst tarih sınırının yıl bölümü" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Alt sınır ayı" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Alt tarih sınırının ay bölümü" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Üst sınır ayı" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Üst tarih sınırının ay bölümü" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Alt sınır günü" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Alt tarih sınırının ayın günü bölümü" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Üst sınır günü" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Üst tarih sınırının ayın günü bölümü" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Alt sınır saati" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Alt zaman sınırının saat bölümü" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Üst sınır saati" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Üst zaman sınırının saat bölümü" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Alt sınır dakikası" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Alt zaman sınırının dakika bölümü" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Üst sınır dakikası" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Üst zaman sınırının dakika bölümü" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Alt sınır saniyesi" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Alt zaman sınırının ikinci bölümü" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Üst sınır saniyesi" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Üst zaman sınırının ikinci bölümü" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Tarih" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Tarihi doğrudan girin" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Tarihi Seçin" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Tarihi takvimden seçin" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Zaman" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Zamanı doğrudan girin" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Saati Seçin" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Listeden saati seçin" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "ÖÖ" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "ÖS" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Yardım görüntülenemedi: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "%s anahtarına alt anahtar ekle" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (yalnızca imzalama)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (yalnızca şifreleme)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (yalnızca imzalama)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (yalnızca şifreleme)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Anahtar _Türü" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Anahtar _Uzunluğu" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Anahtarın Uzunluğu" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Son Kullanım Tarihi" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Süresi _Dolmaz" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Anahtarın süresi hiç dolmayacaksa" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Yeni alt anahtar oluştur" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "%s anahtarına kullanıcı ID ekle" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Kullanıcı kimliği eklenemedi" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Kullanıcı ID ekle" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "Tam _Ad" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "En azından 5 karakter uzunluğunda olmalı" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_E-posta Adresi" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "İsteğe bağlı e-posta adresi" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "Anahtar _Yorumu" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Anahtarı tanımlayacak isteğe bağlı açıklama" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Yeni kullanıcı ID oluştur" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"Şifre çözme başarısız oldu. Büyük olasılıkla şifre çözme anahtarına sahip " +"değilsiniz." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "İşlem iptal edildi" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Geçersiz son kullanma tarihi" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Son kullanma tarihi gelecekte olmalıdır" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Son kullanım tarihi değiştirilemedi" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Son Kullanım: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Asla süresi dolmaz" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "Değişti_r" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Birden Çok Anahtar" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Anahtar Verisi" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Zırhlanmış PGP anahtarları" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP anahtarları" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "PGP anahtarı oluşturulamadı" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Yeni PGP Anahtarı için Parola Metni" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Yeni anahtarınız için paro metnini iki kez girin." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Anahtar oluştururken çok miktarda rastgele veri\n" +"üretmemiz gerekiyor ve yardımınız gerekiyor.\n" +"Klavyeyle yazı yazmak, fareyi hareket ettirmek,\n" +"uygulamaları kullanmak gibi diğer bazı eylemleri\n" +"gerçekleştirmeniz iyi bir fikirdir. Bu, sisteme\n" +"gereksindiği rastgele veriyi sağlayacaktır." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Anahtar oluşturuluyor" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Ad en az 5 karakter uzunluğunda olmalı." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Yeni PGP anahtarı" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "" +"PGP anahtarı, e-posta veya dosyaları başkalarına şifrelemenize olanak sağlar." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Gelişmiş anahtar seçenekleri" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Açıklama" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "Şifreleme _Türü" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "Anahtar _Uzunluğu (bit)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "_Son Kullanım Tarihi" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "_Kullanım Süresi Bitmez" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "Oluştu_r" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Yeni anahtar oluştur" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "%s anahtarını kalıcı olarak silmek istediğinize emin misiniz?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "%d anahtarı kalıcı olarak silmek istediğinizden emin misiniz?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Hatalı parola" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Üçüncü kez yanlış parola girdiniz. Lütfen yeniden deneyin." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Yanlış parola metni." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "“%s” için yeni parola metni girin" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "“%s” için parola metni girin" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Yeni parola metni gir" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Parola metnini girin" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Parola Metni" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d anahtar yüklendi" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Geçersiz anahtar verisi (UID eksik). İlerideki tarihe ayarlanmış bilgisayar " +"veya eksik öz-imza neden olmuş olabilir." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG anahtarları" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: öntanımlı anahtarlık dizini" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Fotoğraf çok büyük\n" +"Anahtarınızdaki fotoğraf için önerilen boyut %d × %d pikseldir." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "Yeniden Boyutlandır_ma" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "Yeniden _Boyutlandır" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Bu bir resim dosyası değil, ya da tanınamayan bir resim dosyası türü. JPEG " +"dosyası kullanmayı deneyin." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Tüm resim dosyaları" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Tüm JPEG dosyaları" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Tüm dosyalar" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Anahtara Eklenecek Fotoğrafı Seçin" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "_Aç" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Fotoğraf hazırlanamadı" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Fotoğraf eklenemedi" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Dosya yüklenemedi. Biçimi geçersiz olabilir" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Bu fotoğrafı anahtarınızdan kaldırmak istediğinize emin misiniz?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Fotoğraf silinemedi" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Alt anahtar feshedilemedi" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "İptal edilme: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Neden yok" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Anahtarı feshetmek için neden yok" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Başkalarınca öğrenildi" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Anahtar başkalarının eline geçti" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Değiştirildi" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Anahtar yenisiyle değiştirildi" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Kullanılmıyor" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Anahtar artık kullanılmıyor" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"%s anahtarını %s için feshedici olarak eklemek üzeresiniz. Bu işlem geri " +"alınamaz! Devam etmek istediğinize emin misiniz?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Feshedici eklenemedi" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Bu özel gizli anahtarın kalıcı olarak silineceğini anlıyorum." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Bu anahtar şu kişi tarafından zaten imzalanmış:\n" +"“%s”" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Anahtar imzalanamadı" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "İmzalama için kullanılabilir anahtar yok" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Bu anahtara güveninizi belirtmek için kullanılacak kişisel bir anahtarınız " +"yok." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Anahtar İmzala" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"İmzalayarak, bu anahtarın şu kişiye ait olduğuna inandığınızı " +"gösteriyorsunuz:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Anahtar Adı" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Bu anahtarı ne kadar dikkatli denetlediniz?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Tam olarak değil" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "Özensiz_ce" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "Ço_k Dikkatli" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Tam olarak değil: anahtarın kendine ait olduğunu iddia eden kişiye " +"ait olduğuna inanıyorsunuz ama bunun gerçek olduğunu denetleyemiyorsunuz " +"demektir." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Özensizce: anahtarın kendine ait olduğunu iddia eden kişiye ait " +"olduğuna dair özensiz bir doğrulama yaptınız demektir. Örneğin, telefon " +"üzerinden sahibine anahtar parmak izinin okunması olabilir." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Çok Dikkatli: Bunu yalnızca bu anahtarın kesinlikle orijinal olduğuna " +"eminseniz seçin." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Anahtar üzerindeki adın doğru olduğunu denetlemek için resimli bir kimlik " +"(pasaport gibi) kullanabilirsiniz. Ayrıca e-posta adresinin sahibine ait " +"olduğunu denetlemek için e-posta kullanmalısınız." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Başkaları bu imzayı nasıl görecek:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Başkaları bu imzayı görmesin" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Bu imzayı ileride _feshedebilirim." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Şu anahtarımla imzalayacağım:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "İm_zalayan:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "İ_mzala" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Bilinmiyor" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Arama yeterince özelleştirilmiş değildi. “%s” sunucusu çok fazla anahtar " +"buldu." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "“%s” sunucusu ile iletişim kurulamadı: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP Anahtar Sunucuları" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Anahtar içe aktarılamadı: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Anahtar içe aktarımı başarılı" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "İçe Aktar" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Anahtar içe aktarılamıyor" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Uzaktaki anahtarlar" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Uzaktaki anahtarlar “%s” içeriyor" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Anahtar arama başarısız oldu." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Anahtarı incelemek için üzerine çift tıklayın veya yerel anahtarlığınıza " +"almak için içe aktar düğmesine tıklayın." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Uzaktaki Anahtarları Bul" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Bu, diğerlerinin anahtarlarını İnternet üzerinden bulacak. Bulunan " +"anahtarları yerel anahtarlığınıza aktarabilirsiniz." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "Bunu içeren anahtarı _ara: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Aranacak yer:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Anahtar Sunucuları:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Yakınımdaki Paylaşılan Anahtarlar:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Ara" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Anahtarlar sunucuya yayımlanamadı" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Anahtarlar sunucudan alınamadı: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d anahtar güncelleme için seçildi" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Anahtarlar eşzamanlanıyor…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Anahtarları Sunucuyla Eş Zamanlandır" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Bu, anahtarlığınızdaki anahtarları, başkalarının ulaşabilmesi için " +"yayımlayacak. Topladığınız anahtarlarda size ulaşmasından sonra yapılan " +"değişiklikleri de almış olacaksınız." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Bu, topladığınız anahtarlarda size ulaşmasından sonra yapılan değişiklikleri " +"alacak. Yayımlama için sunucu seçilmemiş, dolayısıyla sizin anahtarlarınız " +"diğerlerine erişilebilir olmayacak." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Anahtar _Sunucuları" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Güncelle" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "%s ile iletişim kurulamadı: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "Bağlanılıyor: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Adres çözülemedi: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Sunucu adresi çözülüyor: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP Anahtar Sunucuları" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP Anahtarları" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP anahtarları e-posta ya da dosyaların şifrelenmesi içindir" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(ve %d diğer)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Kişisel PGP anahtarı" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP anahtarı" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Birincil kullanıcı ID değiştirilemedi" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "“%s” kullanıcı IDʼsini kalıcı olarak silmek istediğinize emin misiniz?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Kullanıcı ID silinemedi" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Bilinmeyen]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Ad/E-posta" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "İmza IDʼsi" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Birincil fotoğraf değiştirilemedi" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Parolay değiştirilirken hata" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(bilinmeyen)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Bu anahtarın kullanım süresi %s tarihinde dolmuş" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — Genel anahtar" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — Özel anahtar" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "" +"%2$s anahtarının %1$d alt anahtarını kalıcı olarak silmek istediğinize emin " +"misiniz?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Alt anahtar silinemedi" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Güven derecesi değiştirilemedi" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Anahtar dışa aktarılamadı" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Asla" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Kullanım" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Oluşturulma" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Son Kullanım" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Durum" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Uzunluk" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Feshedilmiş" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Süresi Dolmuş" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Kapalı" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "İyi" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Anahtar ID" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Diğer anahtarlardaki “%s” imzalarına güveniyorum" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Eğer bu anahtarın sahibi olan kişinin “%s” olduğuna inanıyorsanız, anahtarı " +"imzalayın:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Eğer bu anahtara “%s” sahipliğinden artık emin değilseniz, imzanızı " +"feshedin:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Gizli anahtarı _dışa aktar" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "_Genel anahtarı dışa aktar" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Bu anahtar feshedilmiş" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Sahibi anahtarı feshetti. Artık kullanılamaz." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Bu anahtarın süresi dolmuş" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Bu anahtara fotoğraf ekle" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Bu fotoğrafı anahtardan kaldır" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Bu fotoğrafı birincil fotoğraf yap" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Önceki fotoğrafa git" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Sonraki fotoğrafa git" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Yorum" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "_Parola Metnini Değiştir" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Sahibi" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Anahtar Adları ve İmzalar" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Birincil" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "İmzala" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Sil" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "Ad _Ekle" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Feshet" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Adlar ve İmzalar" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Anahtar ID:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Tür:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Uzunluk:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Teknik Ayrıntılar" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Parmak İzi" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Oluşturulma:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Son Kullanım:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Tarihler" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Sahibine _Güven Derecenizi Değiştirin:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "Dosyaya _aktar" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Eylemler" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Son Kullanım" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Alt Anahtarlar" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Değişken" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Tümüyle" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Sınırsız" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Diğer Adlar:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Bu anahtara olan güveniniz" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Güven derecenizi Ayrıntılar sekmesinde ayarlayabilirsiniz." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "Bu Anahtarı İm_zala" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "İmzayı _Feshet" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Bu anahtarı imzalayan kişiler:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "_Yalnızca güvendiğim kişilerin imzalarını göster" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Güven" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Teknik Ayrıntılar:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Parmak İzi:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Tarihler:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Güven dereceniz:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Anahtarın _sahibine güven dereceniz:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Şifrele" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Sertifikalandır" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Kimlik Doğrula" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Anahtar" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Alt anahtar %d / %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Anahtarı feshetmek için neden" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Neden:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Feshetmek için isteğe bağlı açıklama" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Anahtarı feshet" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "_Feshet" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "Belge ve iletileri imzalamak için kişisel bir PGP anahtarınız yok." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "İmzalama Anahtarı Seç" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "Şu anahtar ile im_zala:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Veri dışa aktarılıyor" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Veri alınıyor" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Veri içe aktarılıyor" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Veri gönderiliyor" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Erişilemez" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Sertifika" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Sertifikalar (DER şifreli)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Kişisel sertifika ve anahtar" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Kişisel sertifika" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "%d sertifikayı kalıcı olarak silmek istediğinizden emin misiniz?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Özel anahtar oluşturulamadı" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Bu anahtarın kalıcı olarak silineceğini anlıyorum." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Adsız özel anahtar" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Özel anahtar" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Adsız" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Sertifikanın dışa aktarılması başarısız oldu" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Silinemedi" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Oluştur" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Sertifika isteği oluşturulamadı" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Sertifika isteğini kaydet" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "_Kaydet" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Sertifika isteği" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM kodlu istek" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Sertifika isteği kaydedilemedi" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Bilinmiyor" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509 sertifikaları ve ilişkili anahtarlar" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Yeni özel anahtar" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Yeni özel anahtar oluştur" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Etiket:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Şuraya saklandı:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Anahtar _Türü:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "Anahtar _Uzunluğu (bit):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Bu sertifika ya da anahtarı sil" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Sertifikayı dışa aktar" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Sertifika İste" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Bu anahtar için sertifika istek dosyası oluştur" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Sertifika istek dosyası oluştur." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Sertifika isteğine yerleştirilen ortak ad (CN)." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Ad (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Katkılar:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Bu uygulamanın sürümü" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Barış Çiçek \n" +"Muhammet Kara " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Seahorse Web Safyası" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "İçe aktarılacak veri" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "İçe _Aktar" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "İçe aktarma başarısız oldu" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "İçe Anahtar Aktar" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Tüm anahtar dosyaları" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Bırakılan metin" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Pano metni" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Anahtarlık kilidi açılamadı" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Parola Metnini Değiştir" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "Yeni _Parola Metni:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Yeni parola metnini onayla" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Parola Metnini _Onayla:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "_Uzaktaki anahtarları bul…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Anahtarları eşitle ve yayınla…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Tercihler" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Yardım" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Klavye Kısayolları" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "Parolalar ve Anahtarlar _Hakkında" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Ögeleri süz:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "_Kişiseli göster" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "_Güveniliri göster" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "_Herhangi birini göster" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Güvenli Kabuk Anahtarı" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Diğer bilgisayarlara erişmede kullanılır" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG anahtarı" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "E-posta ve dosyaların şifresini çözmede kullanılır" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "Parola anahtarlığı" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Uygulama ve ağ parolalarını saklamada kullanılır" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Parolayı ya da gizi güvenle kaydet" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Sertifika istemede kullanılır" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Dosyadan içe aktar…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Yeni anahtar ya da öge ekle" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Geri" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Bir anahtar veya parola arayın" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Süz" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Bu derlem boş görünüyor" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "Anahtarlık kilitlendi" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Kilidini Aç" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Gizi kopyala" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Dışa aktar…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Özellikler" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Güvenli Kabuk İçin Anahtar Yapılandır…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Kilitle" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Kilidini Aç" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Özellikler" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Kilitlenemedi" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Güvenli Kabuk" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "" +"Diğer bilgisayarlara güvenli biçimde bağlanmada kullanılan anahtarlar" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "" +"“%s” güvenli kabuk anahtarını kalıcı olarak silmek istediğinizden emin " +"misiniz?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "%u güvenli kabuk anahtarını silmek istediğinizden emin misiniz?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Gizli SSH anahtarları" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Genel SSH anahtarları" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH Anahtarı" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Bu anahtar için hiçbir genel anahtar dosyası yok." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Yeni oluşturulan Güvenli Kabuk anahtarı yüklenemedi" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Güvenli Kabuk anahtarı oluşturulamadı" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Güvenli Kabuk Anahtarı Oluşturuluyor" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bit" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bit" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Bilinmeyen anahtar türü!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Bilinmeyen tür" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Anahtarın adı değiştirilemedi." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Anahtar için yetki değiştirilemedi." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Anahtar için parola metni değiştirilemedi." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "SSH anahtarını silerken hata." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Kişisel SSH anahtarı" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH anahtarı" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Okunamayan Güvenli Kabuk Anahtarı)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Güvenli Kabuk Anahtarı" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Uzaktaki Makine Parolası" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Anahtar Parola Metnini Girin" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Yeni Güvenli Kabuk Anahtarı için parola metni" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "İçe aktarılan anahtar: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Anahtar içe aktarılıyor. Parola metni girin" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Güvenli Kabuk Parola Metninizi Girin:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Eski Anahtar Parola Metni" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "%s için önceki parola metnini girin" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Anahtarın Yeni Parola Metni" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "%s için yeni parola metnini girin" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Yeni parola metnini yeniden girin: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Yeni Güvenli Kabuk Anahtarı" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Güvenli Kabuk (SSH) anahtarı, diğer bilgisayarlara güvenli biçimde " +"bağlanmanızı sağlar." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Açıklama" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "E-posta adresiniz ya da bu anahtarın ne için olduğuna dair anımsatıcı." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Eğer bu anahtarı kullanmak istediğiniz bilgisayar varsa, bilgisayarı yeni " +"anahtarınızı tanıması için ayarlayabilirsiniz." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Yalnızca Anahtar Oluştur" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "_Oluştur ve Kur" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH Anahtarı Özellikleri" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Ad" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Algoritma" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Anahtar Uzunluğu" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Konum" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Genel Anahtar" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Genel anahtarı panoya kopyala" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Uzaktan Erişim" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Bu bilgisayara uzaktan erişilmeyi sağlar" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Dışa Aktar" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "SSH Anahtarını _Sil" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Bilgisayarı SSH Bağlantısı için Yapılandır" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"SSH kullanan başka bilgisayar ile Güvenli Kabuk anahtarınızı kullanmak için, " +"o bilgisayarda giriş hesabınızın olması gerekir." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Sunucu adresi:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "örneğin: dosyasunucu.ornek.com:bağlantınoktası" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Kullanıcı adı:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Ayarla" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH anahtarları" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Bu anahtar için hiçbir özel anahtar dosyası yok." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Uzak bilgisayardaki Güvenli Kabuk anahtarları yapılandırılamadı." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Güvenli Kabuk anahtarları yapılandırılıyor…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse, şifreleme anahtarlarını yönetmek için kullanabileceğiniz GNOME " +#~ "uygulamasıdır. Ayrıca şifreleme işlemleri için nautilus, gedit ve diğer " +#~ "uygulamalarla tümleşir." + +#~ msgid "Encryption _Type:" +#~ msgstr "Şifreleme _Türü:" + +#~ msgid "Expiration Date:" +#~ msgstr "Son Kullanım Tarihi:" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "Alt anahtar eklenemedi" + +#~ msgid "Keyring is unlocked" +#~ msgstr "Anahtarlık açıldı" + +#~ msgid "Lock" +#~ msgstr "Kilitle" + +#~ msgid "_Combine all keyrings" +#~ msgstr "_Tüm anahtarlıkları birleştir" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "OK" +#~ msgstr "Tamam" + +#~ msgid "Full _Name:" +#~ msgstr "Tam A_d:" + +#~ msgid "_Email Address:" +#~ msgstr "_E-posta Adresi:" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "" +#~ "Uygulamalar genellikle yeni parolalarını öntanımlı anahtarlıkta saklar." + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "Parola depolama anahtarlığının kilidini açma parolasını değiştir" + +#~| msgid "Seahorse" +#~ msgid "About Seahorse" +#~ msgstr "Seahorse Hakkında" + +#~ msgid "About" +#~ msgstr "Hakkında" + +#~ msgid "_Show Password" +#~ msgstr "Parolayı _Göster" + +#~ msgid "Marginal" +#~ msgstr "Değişken" + +#~ msgid "Full" +#~ msgstr "Tam" + +#~ msgid "Ultimate" +#~ msgstr "Sınırsız" + +#~ msgid "Key Properties" +#~ msgstr "Anahtar Özellikleri" + +#~ msgid "_File" +#~ msgstr "_Dosya" + +#~ msgid "_Edit" +#~ msgstr "Düz_enle" + +#~ msgid "_Copy" +#~ msgstr "_Kopyala" + +#~ msgid "Delete selected items" +#~ msgstr "Seçilen ögeleri sil" + +#~ msgid "Show the properties of this item" +#~ msgstr "Bu ögenin özelliklerini göster" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "Bu anahtarlığın özelliklerini göster" + +#~ msgid "Prefere_nces" +#~ msgstr "_Tercihler" + +#~ msgid "Change preferences for this program" +#~ msgstr "Program tercihlerini değiştir" + +#~ msgid "_View" +#~ msgstr "Gö_rünüm" + +#~ msgid "About this program" +#~ msgstr "Bu program hakkında" + +#~ msgid "_Contents" +#~ msgstr "İçi_ndekiler" + +#~ msgid "Show Seahorse help" +#~ msgstr "Seahorse yardımını göster" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "Yeni parola anahtarlığı" + +#~ msgid "New password…" +#~ msgstr "Yeni parola…" + +#~ msgid "Stored Password" +#~ msgstr "Saklı Parola" + +#~ msgid "PGP Key" +#~ msgstr "PGP Anahtarı" + +#~ msgid "Search for keys on a key server" +#~ msgstr "Anahtar sunucusunda anahtar ara" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "Anahtarlarınızı sunucuda yayımla ve/veya oradakilerle güncelle." + +#~ msgid "Photo " +#~ msgstr "Fotoğraf " + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Ad:" + +#~ msgid "Email:" +#~ msgstr "E-posta:" + +#~ msgid "Use:" +#~ msgstr "Kullanım:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "Dosyaların ve size gönderilen e-postaların şifresini çözün." + +#~ msgid "Private PGP Key" +#~ msgstr "PGP Gizli Anahtarı" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "Dosyaları şifrele ve anahtarın sahibine e-postala" + +#~ msgid "_Remote" +#~ msgstr "_Uzaktan" + +#~ msgid "_New" +#~ msgstr "_Yeni" + +#~ msgid "Close this program" +#~ msgstr "Bu programı kapat" + +#~ msgid "_New…" +#~ msgstr "_Yeni…" + +#~ msgid "_Import…" +#~ msgstr "İçe _Aktar…" + +#~ msgid "_Paste" +#~ msgstr "_Yapıştır" + +#~ msgid "Import from the clipboard" +#~ msgstr "Panodan içe aktar" + +#~ msgid "By _Keyring" +#~ msgstr "_Anahtarlığa Göre" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "Yalnızca kişisel anahtarlar, sertifikalar ve parolaları göster" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "Yalnızca güvenilir anahtarları, sertifikaları ve parolaları göster" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "Tüm parolaları, sertifikaları ve parolaları göster" + +#~ msgid "New item" +#~ msgstr "Yeni öge" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "_Oluşturmak için öge türünü seçin:" + +#~ msgid "Continue" +#~ msgstr "Devam" + +#~ msgid "First time options:" +#~ msgstr "İlk sefer seçenekleri:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "Şifrelemeye başlamak için anahtarlara ihtiyacınız olacak." + +#~ msgid "Import existing keys from a file:" +#~ msgstr "Var olan anahtarları dosyadan aktar:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "Kendinize ait yeni anahtar oluşturun: " + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "" +#~ "Genel Güvenli Kabuk anahtarını başka bilgisayara gönder, ve o anahtarı " +#~ "kullanarak erişimlere izin ver." + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "Başka bilgisayarlara (örneğin uçbirimden) erişirken kullanılır" + +#~ msgid "Importing keys from key servers" +#~ msgstr "Anahtarlar anahtar sunucularından içe aktarılıyor" + +#~ msgid "Close this window" +#~ msgstr "Bu pencereyi kapat" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "Seçili anahtarları yerel anahtarlığa aktar" + +#~ msgid "- System Settings" +#~ msgstr "- Sistem Ayarları" + +#~ msgid "Don't display a window" +#~ msgstr "Pencere gösterme" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "Ad:" + +#~ msgid "Identifier:" +#~ msgstr "Tanımlayıcı:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "Bu anahtarın _sahibine bu bilgisayara erişim için yetki ver" + +#~ msgid "This only applies to the %s account." +#~ msgstr "Bu yalnızca %s kullanıcısı için geçerlidir." + +#~ msgid "Key length:" +#~ msgstr "Anahtar uzunluğu:" + +#~ msgid "E_xport Complete Key" +#~ msgstr "Anahtarın _Tamamını Aktar" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "Arama sağlayıcısı henüz yüklenmedi" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Name:" +#~ msgstr "Adı:" + +#~ msgid "Keyring" +#~ msgstr "Anahtarlık" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "SSH komutu beklenmeyen bir şekilde sonlandı." + +#~ msgid "The SSH command failed." +#~ msgstr "SSH komutu başarısız oldu." + +#~ msgid "E_xport..." +#~ msgstr "_Aktar..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "Uzaktan Anahtar _Bul..." + +#~ msgid "Synchronizing keys..." +#~ msgstr "Anahtarlar eş zamanlandırılıyor..." + +#~ msgid "_New..." +#~ msgstr "_Yeni..." + +#~ msgid "_Import..." +#~ msgstr "_İçe Aktar..." + +#~ msgid "Updating password" +#~ msgstr "Parola güncelleniyor" + +#~ msgid "Password:" +#~ msgstr "Parola:" + +#~ msgid "Key Servers:" +#~ msgstr "Anahtar Sunucuları:" + +#~ msgid "Never" +#~ msgstr "Asla" + +#~ msgid "Key ID:" +#~ msgstr "Anahtar ID:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Adı:" + +#~ msgid "Comment:" +#~ msgstr "Açıklama:" + +#~ msgid "Use:" +#~ msgstr "Kullanım:" + +#~ msgid "Type:" +#~ msgstr "Tür:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "Anahtar İsimleri ve İmzaları" + +#~ msgid "Dates" +#~ msgstr "Tarihler" + +#~ msgid "Actions" +#~ msgstr "Eylemler" + +#~ msgid "Dates:" +#~ msgstr "Tarihler:" + +#~ msgid "Ssh Key" +#~ msgstr "Ssh Anahtarı" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "İsim:" + +#~ msgid "Trust" +#~ msgstr "Güven" + +#~ msgid "Strength:" +#~ msgstr "Uzunluk:" + +#~ msgid "_Computer Name:" +#~ msgstr "_Bilgisayar Adı:" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "Anahtarlığa erişim reddedildi" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "gnome-keyring-daemon çalışmıyor" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "Anahtarlığın kilidi zaten açık" + +#~ msgid "No such key ring exists" +#~ msgstr "Böyle bir anahtarlık bulunmuyor" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "gnome-keyring-daemon ile iletişim kurulamadı" + +#~ msgid "The item already exists" +#~ msgstr "Öğe zaten mevcut" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "gnome-keyring'e erişimde dahili hata" + +#~ msgid "Algorithms here" +#~ msgstr "Algoritmalar" + +#~ msgid "Show the properties of this place" +#~ msgstr "Bu yerin özelliklerini göster" + +#~ msgid "P_laces" +#~ msgstr "Yer_ler" + +#~ msgid "OpenSSH directory" +#~ msgstr "OpenSSH dizini" + +#~| msgid "Couldn't delete subkey" +#~ msgid "Couldn't delete keyring" +#~ msgstr "Anahtarlık silinemedi" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "" +#~ "Parola saklayan anahtarlığı kilitle böylelikle onu açmak için bir parola " +#~ "gereksin." + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "" +#~ "Parola saklayan anahtarlığın kilidini bir ana parola ile aç böylelikle " +#~ "kullanılabilir olsun." + +#~ msgid "Properties of the keyring." +#~ msgstr "Anahtarlık özellikleri." + +#~| msgid "Change the unlock password of the password storage keyring" +#~ msgid "Lock the password storage keyring." +#~ msgstr "Parola deposu anahtarlığını kilitle." + +#~| msgid "Change the unlock password of the password storage keyring" +#~ msgid "Unlock the password storage keyring." +#~ msgstr "Parola deposu anahtarlığının kilidini aç." + +#~| msgid "Deleting item..." +#~ msgid "Deleting item" +#~ msgid_plural "Deleting items" +#~ msgstr[0] "Öğeler siliniyor" + +#~ msgid "Properties of the password." +#~ msgstr "Parola özellikleri." + +#~ msgid "Archive files" +#~ msgstr "Arşiv dosyaları" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "Bu isimle bir dosya zaten var.\n" +#~ "\n" +#~ "Yeni dosyayı onun yerine koymak ister misiniz?" + +#~ msgid "_Replace" +#~ msgstr "Ye_rine koy" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "Anahtar \"%s\" konumuna aktarılamadı" + +#~ msgid "Exporting keys" +#~ msgstr "Anahtar aktarılıyor" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "Anahtar sunucusundan veri alınamadı" + +#~ msgid "Retrieving keys" +#~ msgstr "Anahtarlar alınıyor" + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "" +#~ "%d anahtarı ve kimliği kalıcı olarak silmek istediğinize emin misiniz?" + +#~| msgid "Couldn't generate key" +#~ msgid "Couldn't delete private key" +#~ msgstr "Özel anahtar silinemedi" + +#~| msgid "Couldn't delete subkey" +#~ msgid "Couldn't delete public key" +#~ msgstr "Genel anahtar silinemedi" + +#~ msgid "_Sign Key..." +#~ msgstr "Anahtarı İ_mzala..." + +#~ msgid "Properties of the key." +#~ msgstr "Anahtar özellikleri." + +#~ msgid "Export Complete Key" +#~ msgstr "Anahtarın Tamamını Aktar" + +#~ msgid "Couldn't export key." +#~ msgstr "Anahtar aktarılamadı." + +#~ msgid "Lock this token" +#~ msgstr "Bu simgeyi kilitle" + +#~ msgid "Unlock this token" +#~ msgstr "Bu simgenin kilidini aç" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "Sertifika '%s' silmek istediğinizden emin misiniz?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "%d sertifika silmek istediğinizden emin misiniz?" + +#~| msgid "Deleting..." +#~ msgid "Deleting" +#~ msgstr "Siliniyor" + +#~ msgid "Delete the certificate." +#~ msgstr "Sertifikayı sil." + +#~ msgid "Also delete matching private key" +#~ msgstr "Eşleşen özel anahtarı da sil" + +#~| msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgid "Are you sure you want to delete the private key '%s'?" +#~ msgstr "'%s' özel anahtarını silmek istediğinizden emin misiniz?" + +#~| msgid "Couldn't delete subkey" +#~ msgid "Couldn't delete key" +#~ msgstr "Anahtar silinemedi" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "Seahorse-daemon'u servis olarak çalıştır" + +#~ msgid "couldn't fork process" +#~ msgstr "süreç çatallanamadı" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "Şifreleme Servisi (Seahorse)" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "Geçersiz veya tanınmayan anahtar türü: %s" + +#~| msgid "This key expired on: %s" +#~ msgid "This keytype is not supported: %s" +#~ msgstr "Bu anahtar türü desteklenmiyor: %s" + +#~ msgid "Support for this feature was not enabled at build time" +#~ msgstr "Bu özellik için destek, inşa zamanında etkinleştirilmemiş" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "Geçersiz veya tanınmayan anahtar: %s" + +#~ msgid "Signed by expired on %s." +#~ msgstr "" +#~ " tarafından imzalanmış, %s tarihinde süresi dolmuş." + +#~ msgid "Invalid Signature" +#~ msgstr "Geçersiz İmza" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "" +#~ " tarafından imzalanmış, %s tarihinde Süresi " +#~ "Dolmuş." + +#~ msgid "Expired Signature" +#~ msgstr "Süresi Dolmuş İmza" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "" +#~ " tarafından imzalanmış, %s tarihinde Feshedilmiş." + +#~ msgid "Revoked Signature" +#~ msgstr "Feshedilmiş İmza" + +#~ msgid "Signed by on %s." +#~ msgstr " tarafından %s tarihinde imzalanmış." + +#~ msgid "Good Signature" +#~ msgstr "İyi İmza" + +#~ msgid "Signing key not in keyring." +#~ msgstr "İmzalayan anahtar anahtarlıkta değil." + +#~ msgid "Unknown Signature" +#~ msgstr "Bilinmeyen İmza" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "Kötü veya hileli imza. İmzalanan veri değiştirilmiş." + +#~ msgid "Bad Signature" +#~ msgstr "Kötü İmza" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "Geçersiz veya tanınmayan imzalayan: %s" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "Anahtar imzalama için geçersiz: %s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "Geçersiz veya tanınmayan alıcı: %s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "Anahtar şifreleme için geçerli bir alıcı değil: %s" + +#~ msgid "No recipients specified" +#~ msgstr "Alıcı belirtilmemiş" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "Şifre çözme için geçersiz anahtar türü: %s" + +#~ msgid "Please set clearuri" +#~ msgstr "Lütfen clearuri'i ayarlayın" + +#~ msgid "Please set crypturi" +#~ msgstr "Lütfen crypturi'i ayarlayın" + +#~ msgid "Error opening clearuri" +#~ msgstr "Clearuri açılırken hata" + +#~ msgid "No signer specified" +#~ msgstr "İmzalayan belirtilmemiş" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "Doğrulama için geçersiz anahtar türü: %s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "Geçersiz anahtar ID'si: %s" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "Uzaktaki PGP anahtarlarını aramak için anahtar sunucu URI listesi. " +#~ "Sonraki sürümlerde görünen ismi de sonuna boşluktan sonra eklenebilecek." + +#~ msgid "Auto Sync Keys" +#~ msgstr "Anahtarları Kendiliğinden Eş Zamanlandır" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "" +#~ "Anahtar yöneticisinde son kullanım sütununun gösterilmesini kontrol eder." + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "Anahtar yöneticisinde güven sütununun gösterilmesini kontrol eder." + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "Anahtar yöneticisinde tür sütununun gösterilmesini kontrol eder." + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "" +#~ "Anahtar yöneticisinde geçerlilik sütununun gösterilmesini kontrol eder." + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "DNS-SD paylaşımını etkinleştir" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "DNS-SD (Apple Bonjour) anahtar paylaşımını etkinleştirir. seahorse-daemon " +#~ "çalışıyor ve HKP ve DNS-SD desteği ile derlenmiş olmalıdır." + +#~ msgid "ID of the default key" +#~ msgstr "Öntanımlı Anahtarın ID'si" + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "" +#~ "Eğer seçiliyse, seahorse ile şifrelenen dosyalar ASCII zırhı ile " +#~ "kodlanacak." + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "" +#~ "Eğer seçiliyse, öntanımlı anahtar her zaman şifreli alıcılar listesine " +#~ "eklenir." + +#~ msgid "Last key used to sign a message." +#~ msgstr "İmzalama için kullanılan son anahtar." + +#~ msgid "PGP Key servers" +#~ msgstr "PGP Anahtar sunucuları" + +#~ msgid "Show expires column in key manager" +#~ msgstr "Anahtar yöneticisinde son kullanım sütununu göster" + +#~ msgid "Show trust column in key manager" +#~ msgstr "Anahtar yöneticisinde güven sütununu göster" + +#~ msgid "Show type column in key manager" +#~ msgstr "Anahtar yöneticisinde tür sütununu göster" + +#~ msgid "Show validity column in key manager" +#~ msgstr "Anahtar yöneticisinde geçerlilik sütununu göster" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "Alıcılar penceresinin sıralama sütununu belirtin. Sütunlar: 'name' (isim) " +#~ "ve 'id' olabilir. Ters yönde sıralama için başına '-' koyun." + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "İmzalama için kullanılan son gizli anahtarın ID'si." + +#~ msgid "The column to sort the recipients by" +#~ msgstr "Alıcıları sıralama sütunu" + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "" +#~ "Belirli işlemler (genelde imzalamak) için kullanılacak öntanımlı anahtarı " +#~ "belirler." + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "Herzaman öntanımlı anahtar ile imzalanması" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "ASCII zırhını kullanılması" + +#~ msgid "Couldn't set application access." +#~ msgstr "Uygulama erişimi atanamadı." + +#~ msgid "Path:" +#~ msgstr "Yol:" + +#~ msgid "Permissions:" +#~ msgstr "İzinler:" + +#~ msgid "_Read" +#~ msgstr "_Oku" + +#~ msgid "_Write" +#~ msgstr "_Yaz" + +#~ msgid "Passwords: %s" +#~ msgstr "Parolalar :%s" + +#~ msgid "Passwords: %s" +#~ msgstr "Parolalar: %s" + +#~ msgid "Saving item..." +#~ msgstr "Öğe kaydediliyor..." + +#~ msgid "Listing password keyrings" +#~ msgstr "Parola anahtarlıkları listeleniyor" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "İstediğinizin işlemi gerçekleştirmek için hiçbir şifreleme anahtarı " +#~ "bulunamadı. Parolalar ve Şifreleme Anahtarları programı şimdi bir " +#~ "anahtar oluşturmanız ya da içe aktarmanız için başlatılacak." + +#~ msgid "All Keys" +#~ msgstr "Tüm Anahtarlar" + +#~ msgid "Selected Recipients" +#~ msgstr "Seçilen Alıcılar" + +#~ msgid "Search Results" +#~ msgstr "Arama Sonuçları" + +#~ msgid "Search _for:" +#~ msgstr "_Ara:" + +#~ msgid "None (Don't Sign)" +#~ msgstr "Hiçbiri (İmzalama)" + +#~ msgid "Sign this message as %s" +#~ msgstr "Bu mesajı %s olarak imzala" + +#~ msgid "_Sign message as:" +#~ msgstr "Mesajı şu anahtarla im_zala:" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "Dosya geçerli .desktop dosyası değil" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "Tanınmayan masaüstü dosyası Sürüm '%s'" + +#~ msgid "Starting %s" +#~ msgstr "%s Başlatılıyor" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "Uygulama komut satırından belgeleri kabul etmez" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "Tanınmayan başlatma seçeneği: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "Bir 'Type=Link' masaüstü girişi belge URI'lerine geçilemiyor" + +#~ msgid "Not a launchable item" +#~ msgstr "Başlatılabilir bir öğe değil" + +#~ msgid "Disable connection to session manager" +#~ msgstr "Oturum yöneticisine bağlantıyı devre dışı bırak" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "Kaydedilen yapılandırmayı içeren dosyayı belirtin" + +#~ msgid "FILE" +#~ msgstr "DOSYA" + +#~ msgid "Specify session management ID" +#~ msgstr "Oturum yöneticisi ID'sini belirtin" + +#~ msgid "Session management options:" +#~ msgstr "Oturum yönetimi seçenekleri:" + +#~ msgid "Show session management options" +#~ msgstr "Oturum yönetimi seçeneklerini göster" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "%d anahtar içe aktarıldı" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "İçe aktarılmış anahtar" + +#~ msgid "Notification Messages" +#~ msgstr "Uyarı Mesajları" + +#~ msgid "Symmetric Key" +#~ msgstr "Simetrik Anahtar" + +#~ msgid "Credentials" +#~ msgstr "Kimlik Bilgileri" + +#~ msgid "Identity" +#~ msgstr "Kimlik" + +#~ msgid "Progress Title" +#~ msgstr "İlerleme Başklığı" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "Arşiv Yöneticisi başlatılamadı" + +#~ msgid "Couldn't package files" +#~ msgstr "Dosyalar paketlenemedi" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "file-roller süreci başarıyla sonlanamadı" + +#~ msgid "Loading Keys..." +#~ msgstr "Anahtarlar Yükleniyor..." + +#~ msgid "Uploading keys..." +#~ msgstr "Anahtarlar gönderiliyor..." + +#~ msgid "Retrieving keys..." +#~ msgstr "Anahtarlar alınıyor..." + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "'%s' içeren anahtarlar aranıyor..." + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "'%s' ID'sine sahip anahtar aranıyor..." + +#~ msgid "Retrieving remote keys..." +#~ msgstr "Uzaktaki anahtarlar alınıyor..." + +#~ msgid "Sending keys to key server..." +#~ msgstr "Anahtarlar, anahtar sunucusuna gönderiliyor..." + +#~ msgid "Create New ..." +#~ msgstr "Yeni Oluştur..." + +#~ msgid "Importing keys" +#~ msgstr "Anahtarlar içe aktarılıyor" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "Tanınamayan anahtar türü, veya geçersiz veri biçimi" + +#~ msgid "T_ypes" +#~ msgstr "_Türler" + +#~ msgid "_Expiry" +#~ msgstr "_Son Kullanım" + +#~ msgid "_Trust" +#~ msgstr "_Güven" + +#~ msgid "_Validity" +#~ msgstr "_Geçerlilik" + +#~ msgid "Other _Keys" +#~ msgstr "_Diğer Anahtarlar" + +#~ msgid "Validity" +#~ msgstr "Geçerlilik" + +#~ msgid "_Expand All" +#~ msgstr "_Hepsini Genişlet" + +#~ msgid "Expand all listings" +#~ msgstr "Tüm listeleri genişlet" + +#~ msgid "_Collapse All" +#~ msgstr "_Hepsini Kapat" + +#~ msgid "Collapse all listings" +#~ msgstr "Tüm listeleri kapalı göster" + +#~ msgid "Copied keys" +#~ msgstr "Kopyalanan anahtarlar" + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s bir özel anahtar. Devam etmek istediğinizden emin misiniz?" + +#~ msgctxt "" +#~ "This text refers to deleting an item from its type's backing store." +#~ msgid "_Delete" +#~ msgstr "_Sil" + +#~ msgid "_Key Description:" +#~ msgstr "_Anahtar Açıklaması:" + +#~ msgid "Invalid" +#~ msgstr "Geçersiz" + +#~ msgid "Private Secure Shell Key" +#~ msgstr "Gizli Güvenli Kabuk Anahtarı" + +#~ msgid "Public Secure Shell Key" +#~ msgstr "Açık Güvenli Kabuk Anahtarı" + +#~ msgid "Passphrase:" +#~ msgstr "Parola metni:" + +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "Yeni Güvenli Kabuk Anahtarınız için bir parola metni girin." + +#~ msgid "Couldn't share keys" +#~ msgstr "Anahtarlar paylaşılamadı" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "Keşif bilgisi ağda yayımlanamıyor." + +#~ msgid "%s's encryption keys" +#~ msgstr "%s kullanıcısının şifreleme anahtarları" + +#~ msgid "Key Sharing" +#~ msgstr "Anahtar Paylaşımı" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "Anahtarınızı paylaşmanız, ağınızdaki diğer kişilerin topladığınız " +#~ "anahtarları kullanmasına olanak tanır. Yani size ya da sizin bildiğiniz " +#~ "kişilere, ayrıca şifre göndermenize ihtiyaç duymadan şifreli dosyalar " +#~ "gönderebilirler.\n" +#~ "\n" +#~ "Bilgi: Kişisel anahtarlarınız paylaşılmayacak." + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "Anahtarlarımı ağımdaki başkalarıyla _paylaş" + +#~ msgid "X keys are selected for synchronizing" +#~ msgstr "X anahtar eş zamanlandırılmak için seçilmiş" + +#~ msgid "/home/nate/.ssh/blah_rsa" +#~ msgstr "/home/baris/.ssh/hede_rsa" + +#~ msgid "00:00:00:00:00" +#~ msgstr "00:00:00:00:00" + +#~ msgid "Create a PGP Key" +#~ msgstr "Bir PGP Anahtarı Oluştur" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginal\n" +#~ "Full\n" +#~ "Ultimate" +#~ msgstr "" +#~ "Bilinmiyor\n" +#~ "Hiç\n" +#~ "Değişken\n" +#~ "Tam\n" +#~ "Sınırsız" + +#~ msgid "" +#~ "Unknown\n" +#~ "Never\n" +#~ "Marginally\n" +#~ "Fully\n" +#~ "Ultimately" +#~ msgstr "" +#~ "Bilinmiyor\n" +#~ "Hiç\n" +#~ "Değişken\n" +#~ "Tam\n" +#~ "Sınırsız" + +#~ msgid "_Trusted Keys" +#~ msgstr "_Güvenilen Anahtarlar" + +#~ msgid "" +#~ "One or more of the deleted keys are private keys. Are you sure you want " +#~ "to proceed?" +#~ msgstr "" +#~ "Silinen bir veya daha fazla anahtar özel anahtardır. Devam etmek " +#~ "istediğinizden emin misiniz?" diff --git a/po/ug.po b/po/ug.po new file mode 100644 index 00000000..d57fd2e7 --- /dev/null +++ b/po/ug.po @@ -0,0 +1,2797 @@ +# Uyghur translation for seahorse. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Gheyret Kenji,2010. +# Sahran , 2010. +# Zeper , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2013-03-24 18:54+0000\n" +"PO-Revision-Date: 2013-04-06 18:25+0900\n" +"Last-Translator: Gheyret Kenji \n" +"Language-Team: Uyghur Computer Science Association \n" +"Language: ug\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "Add Password Keyring" +msgstr "ئىم ئاچقۇچ ھالقىسى قوش" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "يېڭى ئاچقۇچ ھالقىسىنىڭ ئاتىنى كىرگۈزۈڭ. سىزگە قۇلۇپسىزلاش ئۈچۈن ئىم كىرگۈزۈش ئۇچۇرى چىقىدۇ." + +#: ../gkr/seahorse-add-keyring.xml.h:3 +msgid "New Keyring Name:" +msgstr "يېڭى ئاچقۇچ ھالقىسى ئاتى:" + +#: ../gkr/seahorse-add-keyring.xml.h:4 +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "مۇلازىمېتىرنىڭ ئاتى ياكى ئادرېسى." + +#: ../gkr/seahorse-gkr-actions.c:81 +msgid "New password keyring" +msgstr "يېڭى ئىم ئاچقۇچ ھالقىسى" + +#: ../gkr/seahorse-gkr-actions.c:82 ../gkr/seahorse-gkr-actions.c:89 +msgid "Used to store application and network passwords" +msgstr "پروگرامما ۋە تور ئىملىرىنى ساقلاشقا ئىشلىتىلىدۇ" + +#: ../gkr/seahorse-gkr-actions.c:83 +msgid "New password..." +msgstr "يېڭى ئىم…" + +#: ../gkr/seahorse-gkr-actions.c:84 ../gkr/seahorse-gkr-actions.c:91 +msgid "Safely store a password or secret." +msgstr "ئىم ياكى مەخپىيەتلىكنى بىخەتەر ساقلايدۇ." + +#: ../gkr/seahorse-gkr-actions.c:88 +msgid "Password Keyring" +msgstr "ئىم ئاچقۇچ ھالقىسى" + +#: ../gkr/seahorse-gkr-actions.c:90 +msgid "Stored Password" +msgstr "ساقلانغان ئىملار" + +#: ../gkr/seahorse-gkr-actions.c:174 +msgid "Couldn't set default keyring" +msgstr "كۆڭۈلدىكى ئاچقۇچ ھالقىسىنى بەلگىلىيەلمىدى" + +#: ../gkr/seahorse-gkr-actions.c:225 ../gkr/seahorse-gkr-actions.c:248 +msgid "Couldn't change keyring password" +msgstr "ئاچقۇچ ھالقىسى ئىمىنى ئۆزگەرتەلمىدى" + +#: ../gkr/seahorse-gkr-actions.c:281 +msgid "_Set as default" +msgstr "كۆڭۈلدىكى قىلىپ بەلگىلە(_S)" + +#: ../gkr/seahorse-gkr-actions.c:282 +msgid "Applications usually store new passwords in the default keyring." +msgstr "پروگراممىلار يېڭى ئىملارنى كۆڭۈلدىكى ئاچقۇچ ھالقىسىدا ساقلايدۇ." + +#: ../gkr/seahorse-gkr-actions.c:283 +msgid "Change _Password" +msgstr "ئىم ئۆزگەرت(_P)" + +#: ../gkr/seahorse-gkr-actions.c:284 +msgid "Change the unlock password of the password storage keyring" +msgstr "ئىم ساقلاش ئاچقۇچ ھالقىسىنىڭ قۇلۇپسىزلاش ئىمىنى ئۆزگەرتىدۇ" + +#: ../gkr/seahorse-gkr-add-item.c:60 +msgid "Couldn't add item" +msgstr "تۈر قوشقىلى بولمىدى" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +msgid "Add Password" +msgstr "ئىم قوش" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +#: ../gkr/seahorse-gkr-item-properties.xml.h:2 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "چۈشەندۈرۈش(_D):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Password:" +msgstr "ئىم(_P):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Show Password" +msgstr "ئىمنى كۆرسەت(_S):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:5 +msgid "_Keyring:" +msgstr "ئاچقۇچ ھالقىسى(_K):" + +#: ../gkr/seahorse-gkr-add-keyring.c:72 +msgid "Couldn't add keyring" +msgstr "ئاچقۇچ ھالقىسىنى قوشالمىدى" + +#: ../gkr/seahorse-gkr-backend.c:205 +msgid "Passwords" +msgstr "ئىم" + +#: ../gkr/seahorse-gkr-backend.c:208 +msgid "Stored personal passwords, credentials and secrets" +msgstr "ساقلانغان ئىملار، ئىسپاتنامىلەر ۋە مەخپىيەتلىكلەر" + +#. Translators: This should be the same as the string in empathy +#: ../gkr/seahorse-gkr-item.c:293 +msgid "IM account password for " +msgstr "IM ھېسابات ئىمى " + +#: ../gkr/seahorse-gkr-item.c:353 +msgid "Password or secret" +msgstr "ئىم ياكى مەخپىيەتلىك" + +#: ../gkr/seahorse-gkr-item.c:354 +msgid "Network password" +msgstr "تور ئىمى" + +#: ../gkr/seahorse-gkr-item.c:355 +msgid "Stored note" +msgstr "ساقلانغان ئىزاھ" + +#: ../gkr/seahorse-gkr-item.c:356 +msgid "Keyring password" +msgstr "ئاچقۇچ ھالقىسى ئىمى" + +#: ../gkr/seahorse-gkr-item.c:357 +msgid "Encryption key password" +msgstr "شىفىرلاش ئاچقۇچى ئىمى" + +#: ../gkr/seahorse-gkr-item.c:358 +msgid "Key storage password" +msgstr "ئاچقۇچ ساقلىغۇچ ئىمى" + +#: ../gkr/seahorse-gkr-item.c:359 +msgid "Google Chrome password" +msgstr "گۇگىل كىروم ئىمى" + +#: ../gkr/seahorse-gkr-item.c:360 +msgid "Gnome Online Accounts password" +msgstr "گىنوم تور ھېساباتلىرى ئىمى" + +#: ../gkr/seahorse-gkr-item.c:361 +msgid "Telepathy password" +msgstr "Telepathy ئىمى" + +#: ../gkr/seahorse-gkr-item.c:362 +msgid "Instant messaging password" +msgstr "مۇڭداشقۇ ئىمى" + +#: ../gkr/seahorse-gkr-item.c:363 +msgid "Network Manager secret" +msgstr "تور باشقۇرغۇنىڭ مەخپىيىتى" + +#: ../gkr/seahorse-gkr-item-deleter.c:80 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "راستلا «%s» دېگەن ئىمنى ئۆچۈرەمسىز؟" + +#: ../gkr/seahorse-gkr-item-deleter.c:83 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "راستلا «%d» ئىمنى ئۆچۈرەمسىز؟" + +#: ../gkr/seahorse-gkr-item-properties.c:66 +msgid "Access a network share or resource" +msgstr "تور ھەمبەھىرى ياكى بايلىقىنى زىيارەت قىلىش" + +#: ../gkr/seahorse-gkr-item-properties.c:69 +msgid "Access a website" +msgstr "تورتۇرانى زىيارەت قىلىش" + +#: ../gkr/seahorse-gkr-item-properties.c:72 +msgid "Unlocks a PGP key" +msgstr "PGP ئاچقۇچلىرىنى قۇلۇپسىزلايدۇ" + +#: ../gkr/seahorse-gkr-item-properties.c:75 +msgid "Unlocks a Secure Shell key" +msgstr "بىخەتەر Shell ئاچقۇچلىرىنى قۇلۇپسىزلايدۇ" + +#: ../gkr/seahorse-gkr-item-properties.c:78 +msgid "Saved password or login" +msgstr "ساقلانغان ئىم ياكى كىرىش" + +#: ../gkr/seahorse-gkr-item-properties.c:102 +msgid "Network Credentials" +msgstr "تور ئىسپاتنامىسى" + +#: ../gkr/seahorse-gkr-item-properties.c:107 +msgid "Password" +msgstr "ئىم" + +#: ../gkr/seahorse-gkr-item-properties.c:216 +msgid "Couldn't change password." +msgstr "ئىمنى ئۆزگەرتەلمىدى." + +#: ../gkr/seahorse-gkr-item-properties.c:263 +#: ../gkr/seahorse-gkr-item-properties.c:385 +msgid "Updating password" +msgstr "ئىملارنى يېڭىلاۋاتىدۇ" + +#: ../gkr/seahorse-gkr-item-properties.c:346 +msgid "Couldn't set description." +msgstr "چۈشەندۈرۈشلەرنى بەلگىلىيەلمىدى." + +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "ئاچقۇچ خاسلىقى" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "ئىشلىتىلىشى:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "تىپى:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Server:" +msgstr "مۇلازىمېتىر:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Login:" +msgstr "تىزىمغا كىر:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +msgid "Show pass_word" +msgstr "ئىم كۆرسەت(_W)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +#: ../libseahorse/seahorse-passphrase.c:183 ../ssh/seahorse-ssh-askpass.c:99 +msgid "Password:" +msgstr "ئىم:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-subkey.c:366 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "ئاچقۇچ" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "تېخنىكىلىق تەپسىلاتلار:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:12 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "تەپسىلاتلار" + +#: ../gkr/seahorse-gkr-keyring.c:466 +msgid "A keyring that is automatically unlocked on login" +msgstr "كىرگەندە ئاپتوماتىك قۇلۇپسىزلىنىدىغان ئاچقۇچ ھالقىسى" + +#: ../gkr/seahorse-gkr-keyring.c:467 +msgid "A keyring used to store passwords" +msgstr "ئىملارنى ساقلايدىغان ئاچقۇچ ھالقىسى" + +#: ../gkr/seahorse-gkr-keyring-deleter.c:76 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "راستلا ئىم ئاچقۇچ ھالقىسى «%s» نى ئۆچۈرەمسىز؟" + +#: ../gkr/seahorse-gkr-keyring-deleter.c:79 +msgid "I understand that all items will be permanently deleted." +msgstr "بارلىق تۈرلەرنىڭ مەڭگۈ ئۆچۈرۈلىدىغانلىقىنى بىلىمەن." + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Keyring Properties" +msgstr "ئاچقۇچ ھالقىسى خاسلىقى" + +#: ../gkr/seahorse-gkr-keyring.xml.h:2 +msgid "Name:" +msgstr "ئاتى:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "قۇرۇلغان:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:5 +msgid "Keyring" +msgstr "ئاچقۇچ ھالقىسى" + +#: ../libegg/egg-datetime.c:317 +msgid "Display flags" +msgstr "بەلگىلەرنى كۆرسەت" + +#: ../libegg/egg-datetime.c:318 +msgid "Displayed date and/or time properties" +msgstr "كۆرسىتىلگەن چېسلا ۋە ياكى ۋاقىت خاسلىقلىرى" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode" +msgstr "ھۇرۇن ھالەت" + +#: ../libegg/egg-datetime.c:324 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "ھۇرۇن ھالەتتە كىرگۈزۈلگەن چېسلا ۋە ۋاقىت قىممەتلىرى نورماللاشتۇرۇلمايدۇ" + +#: ../libegg/egg-datetime.c:329 +msgid "Year" +msgstr "يىل" + +#: ../libegg/egg-datetime.c:330 +msgid "Displayed year" +msgstr "كۆرسىتىلگەن يىل" + +#: ../libegg/egg-datetime.c:335 +msgid "Month" +msgstr "ئاي" + +#: ../libegg/egg-datetime.c:336 +msgid "Displayed month" +msgstr "كۆرسىتىلگەن ئاي" + +#: ../libegg/egg-datetime.c:341 +msgid "Day" +msgstr "كۈن" + +#: ../libegg/egg-datetime.c:342 +msgid "Displayed day of month" +msgstr "كۆرسىتىلگەن كۈن" + +#: ../libegg/egg-datetime.c:347 +msgid "Hour" +msgstr "سائەت" + +#: ../libegg/egg-datetime.c:348 +msgid "Displayed hour" +msgstr "كۆرسىتىلگەن سائەت" + +#: ../libegg/egg-datetime.c:353 +msgid "Minute" +msgstr "مىنۇت" + +#: ../libegg/egg-datetime.c:354 +msgid "Displayed minute" +msgstr "كۆرسىتىلگەن ۋاقىت" + +#: ../libegg/egg-datetime.c:359 +msgid "Second" +msgstr "سېكۇنت" + +#: ../libegg/egg-datetime.c:360 +msgid "Displayed second" +msgstr "كۆرسىتىلگەن سېكۇنت" + +#: ../libegg/egg-datetime.c:365 +msgid "Lower limit year" +msgstr "توۋەن يىل چېكى" + +#: ../libegg/egg-datetime.c:366 +msgid "Year part of the lower date limit" +msgstr "چېسلانىڭ توۋەن چېكىنىڭ يىل بۆلىكى" + +#: ../libegg/egg-datetime.c:371 +msgid "Upper limit year" +msgstr "يۇقىرى يىل چېكى" + +#: ../libegg/egg-datetime.c:372 +msgid "Year part of the upper date limit" +msgstr "چېسلانىڭ يۇقىرى چېكىنىڭ يىل بۆلىكى" + +#: ../libegg/egg-datetime.c:377 +msgid "Lower limit month" +msgstr "توۋەن ئاي چېكى" + +#: ../libegg/egg-datetime.c:378 +msgid "Month part of the lower date limit" +msgstr "چېسلانىڭ توۋەن چېكىنىڭ ئاي بۆلىكى" + +#: ../libegg/egg-datetime.c:383 +msgid "Upper limit month" +msgstr "يۇقىرى ئاي چېكى" + +#: ../libegg/egg-datetime.c:384 +msgid "Month part of the upper date limit" +msgstr "چېسلانىڭ يۇقىرى چېكىنىڭ ئاي بۆلىكى" + +#: ../libegg/egg-datetime.c:389 +msgid "Lower limit day" +msgstr "توۋەن كۈن چېكى" + +#: ../libegg/egg-datetime.c:390 +msgid "Day of month part of the lower date limit" +msgstr "چېسلانىڭ توۋەن چېكىنىڭ كۈن بۆلىكى" + +#: ../libegg/egg-datetime.c:395 +msgid "Upper limit day" +msgstr "يۇقىرى كۈن چېكى" + +#: ../libegg/egg-datetime.c:396 +msgid "Day of month part of the upper date limit" +msgstr "چېسلانىڭ يۇقىرى چېكىنىڭ كۈن بۆلىكى" + +#: ../libegg/egg-datetime.c:401 +msgid "Lower limit hour" +msgstr "توۋەن سائەت چېكى" + +#: ../libegg/egg-datetime.c:402 +msgid "Hour part of the lower time limit" +msgstr "ۋاقىتنىڭ توۋەن چېكىنىڭ سائەت بۆلىكى" + +#: ../libegg/egg-datetime.c:407 +msgid "Upper limit hour" +msgstr "يۇقىرى سائەت چېكى" + +#: ../libegg/egg-datetime.c:408 +msgid "Hour part of the upper time limit" +msgstr "ۋاقىتنىڭ يۇقىرى چېكىنىڭ سائەت بۆلىكى" + +#: ../libegg/egg-datetime.c:413 +msgid "Lower limit minute" +msgstr "توۋەن مىنۇت چېكى" + +#: ../libegg/egg-datetime.c:414 +msgid "Minute part of the lower time limit" +msgstr "ۋاقىتنىڭ توۋەن چېكىنىڭ مىنۇت بۆلىكى" + +#: ../libegg/egg-datetime.c:419 +msgid "Upper limit minute" +msgstr "يۇقىرى مىنۇت چېكى" + +#: ../libegg/egg-datetime.c:420 +msgid "Minute part of the upper time limit" +msgstr "ۋاقىتنىڭ يۇقىرى چېكىنىڭ مىنۇت بۆلىكى" + +#: ../libegg/egg-datetime.c:425 +msgid "Lower limit second" +msgstr "توۋەن سېكۇنت چېكى" + +#: ../libegg/egg-datetime.c:426 +msgid "Second part of the lower time limit" +msgstr "ۋاقىتنىڭ توۋەن چېكىنىڭ سېكۇنت بۆلىكى" + +#: ../libegg/egg-datetime.c:431 +msgid "Upper limit second" +msgstr "يۇقىرى سېكۇنت چېكى" + +#: ../libegg/egg-datetime.c:432 +msgid "Second part of the upper time limit" +msgstr "ۋاقىتنىڭ يۇقىرى چېكىنىڭ سېكۇنت بۆلىكى" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:474 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:496 +msgid "Date" +msgstr "چېسلا" + +#: ../libegg/egg-datetime.c:496 +msgid "Enter the date directly" +msgstr "چېسلانى بىۋاسىتە كىرگۈزۈڭ" + +#: ../libegg/egg-datetime.c:503 +msgid "Select Date" +msgstr "چېسلا تاللا" + +#: ../libegg/egg-datetime.c:503 +msgid "Select the date from a calendar" +msgstr "يىلنامىدىن چېسلا تاللا" + +#: ../libegg/egg-datetime.c:521 ../libegg/egg-datetime.c:2199 +msgid "Time" +msgstr "ۋاقىت" + +#: ../libegg/egg-datetime.c:521 +msgid "Enter the time directly" +msgstr "ۋاقىتنى بىۋاسىتە كىرگۈزىدۇ" + +#: ../libegg/egg-datetime.c:528 +msgid "Select Time" +msgstr "ۋاقىت تاللا" + +#: ../libegg/egg-datetime.c:528 +msgid "Select the time from a list" +msgstr "تىزىملىكتىن ۋاقىت تاللا" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:793 +msgid "24hr: no" +msgstr "24 سائەت: ياق" + +#: ../libegg/egg-datetime.c:797 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1264 +msgid "AM" +msgstr "چ ب" + +#: ../libegg/egg-datetime.c:799 ../libegg/egg-datetime.c:1261 +#: ../libegg/egg-datetime.c:1268 +msgid "PM" +msgstr "چ ك" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:807 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:810 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:814 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:817 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1176 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1241 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "دەسلەپكى ۋاقىتلىق تۈر" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "ئاچقۇچ مۇلازىمېتىرى قوش" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "ئاچقۇچ مۇلازىمېتىرى تىپى:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "كومپيۇتېر:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "مۇلازىمېتىردىكى زىيارەت ئېغىزى." + +#: ../libseahorse/seahorse-application.c:118 +msgid "Version of this application" +msgstr "بۇ پروگراممىنىڭ نەشرى" + +#: ../libseahorse/seahorse-application.c:124 +msgid "- System Settings" +msgstr "- سىستېما تەڭشەكلىرى" + +#: ../libseahorse/seahorse-catalog.c:88 +msgid "Contributions:" +msgstr "تۆھپىكارلار:" + +#: ../libseahorse/seahorse-catalog.c:112 ../src/seahorse.desktop.in.in.h:1 +#: ../src/seahorse-key-manager.c:658 +msgid "Passwords and Keys" +msgstr "ئىملار ۋە ئاچقۇچلار" + +#: ../libseahorse/seahorse-catalog.c:114 +msgid "translator-credits" +msgstr "Gheyret Kenji \n" +"Sahran\n" +"Muhemmed Erdem " + +#: ../libseahorse/seahorse-catalog.c:117 +msgid "Seahorse Project Homepage" +msgstr "Seahorse قۇرۇلۇشى تورتۇراسى" + +#: ../libseahorse/seahorse-catalog.c:191 +msgid "Cannot delete" +msgstr "ئۆچۈرگىلى بولمىدى" + +#: ../libseahorse/seahorse-catalog.c:239 +#: ../libseahorse/seahorse-key-manager-store.c:443 +msgid "Couldn't export keys" +msgstr "ئاچقۇچنى ئېكسپورت قىلالمىدى" + +#: ../libseahorse/seahorse-catalog.c:268 +msgid "Couldn't export data" +msgstr "سانلىق-مەلۇماتلارنى ئېكسپورت قىلالمىدى" + +#. Top menu items +#: ../libseahorse/seahorse-catalog.c:277 +msgid "_File" +msgstr "ھۆججەت(_F)" + +#: ../libseahorse/seahorse-catalog.c:278 +msgid "E_xport..." +msgstr "ئېكسپورت قىل(_X)..." + +#: ../libseahorse/seahorse-catalog.c:279 +msgid "Export to a file" +msgstr "ھۆججەتكە چىقىرىدۇ" + +#: ../libseahorse/seahorse-catalog.c:280 +msgid "_Edit" +msgstr "تەھرىر(_E)" + +#: ../libseahorse/seahorse-catalog.c:283 +msgid "Copy to the clipboard" +msgstr "چاپلاش تاختىسىغا كۆچۈرىدۇ" + +#: ../libseahorse/seahorse-catalog.c:284 +#: ../pkcs11/seahorse-pkcs11-properties.c:233 ../src/seahorse-sidebar.c:959 +msgid "_Delete" +msgstr "ئۆچۈر(_D)" + +#: ../libseahorse/seahorse-catalog.c:285 +msgid "Delete selected items" +msgstr "تاللانغان تۈرلەرنى ئۆچۈر" + +#: ../libseahorse/seahorse-catalog.c:287 +msgid "Show the properties of this item" +msgstr "مەزكۇر تۇرنىڭ خاسلىقىنى كۆرسىتىدۇ" + +#: ../libseahorse/seahorse-catalog.c:289 +msgid "Show the properties of this keyring" +msgstr "مەزكۇر ئاچقۇچ ھالقىسىنىڭ خاسلىقىنى كۆرسىتىدۇ" + +#: ../libseahorse/seahorse-catalog.c:290 +msgid "Prefere_nces" +msgstr "مايىللىق(_N)" + +#: ../libseahorse/seahorse-catalog.c:291 +msgid "Change preferences for this program" +msgstr "پروگراممىنىڭ مايىللىقىنى ئۆزگەرتىدۇ" + +#: ../libseahorse/seahorse-catalog.c:292 +msgid "_View" +msgstr "كۆرۈنۈش(_V)" + +#: ../libseahorse/seahorse-catalog.c:293 +msgid "_Help" +msgstr "ياردەم(_H)" + +#: ../libseahorse/seahorse-catalog.c:295 +msgid "About this program" +msgstr "بۇ پروگرامما ھەققىدە" + +#: ../libseahorse/seahorse-catalog.c:296 +msgid "_Contents" +msgstr "مەزمۇنلار(_C)" + +#: ../libseahorse/seahorse-catalog.c:297 +msgid "Show Seahorse help" +msgstr "Seahorse ياردىمىنى كۆرسىتىدۇ" + +#: ../libseahorse/seahorse-exportable.c:407 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "ئېكسپورت قىلىش" + +#: ../libseahorse/seahorse-interaction.c:99 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "PIN ياكى ئىمنى كىرگۈزۈڭ : %s" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:245 +msgid "Confirm:" +msgstr "جەزملەش:" + +#: ../libseahorse/seahorse-prefs.c:67 +msgid "Not a valid Key Server address." +msgstr "ئىناۋەتلىك ئاچقۇچ مۇلازىمېتىرى ئادرېسى ئەمەس." + +#: ../libseahorse/seahorse-prefs.c:68 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "ياردەم ئۈچۈن سىستېما باشقۇرغۇچىسى ياكى ئاچقۇچ مۇلازىمېتىرىنىڭ باشقۇرغۇچىسى بىلەن ئالاقە قىلىڭ." + +#: ../libseahorse/seahorse-prefs.c:181 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:351 +msgid "Custom" +msgstr "ئىختىيارى" + +#: ../libseahorse/seahorse-prefs.c:404 +msgid "None: Don't publish keys" +msgstr "يوق: ئاچقۇچلارنى ئېلان قىلمايدۇ" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "مايىللىق" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "ئاچقۇچلارنى تۆۋەندىكى ئارقىلىق ئىزدە(_F):" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "ئاچقۇچلارنى تۆۋەندىكىلەرگە ئېلان قىل(_P):" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "ئاچقۇچلارنى ئاچقۇچ مۇلازىمېتىرلىرىدىن ئاپتوماتىك ئال(_K)" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "ئۆزگەرتىلگەن ئاچقۇچلارنى ئاچقۇچ مۇلازىمېتىرلىرى بىلەن قەدەمداشلا(_M)" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "ئاچقۇچ مۇلازىمېتىرلىرى" + +#: ../libseahorse/seahorse-util.c:210 +msgid "%Y-%m-%d" +msgstr "%Y-%m-%d" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1254 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "نامەلۇم" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-key-properties.c:1260 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "ھەرگىز" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "قىسمەن" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "تامامەن" + +#: ../libseahorse/seahorse-validity.c:48 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "مۇتلەق" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Disabled" +msgstr "ئىناۋەتسىز قىلىنغان" + +#: ../libseahorse/seahorse-validity.c:52 +msgctxt "Validity" +msgid "Revoked" +msgstr "بىكار قىلىنغان" + +#: ../libseahorse/seahorse-widget.c:460 +#, c-format +msgid "Could not display help: %s" +msgstr "ياردەمنى كۆرسىتەلمەيدۇ: %s" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "زادىلا ۋاقتى ئۆتمەيدۇ(_X)" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "ئاچقۇچنىڭ ۋاقتى زادىلا ئۆتۈپ كەتمىسە" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "ئاچقۇچ تىپى(_T):" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "ئاچقۇچ ئۇزۇنلۇقى" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "ئىناۋەتلىك چېسلاسى:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "ئاچقۇچ ئۇزۇنلۇقى" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "يېڭى تارماق ئاچقۇچ قۇرىدۇ" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "ئىشلەتكۈچى ID قوشۇش" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "ئەڭ ئاز دېگەندە 5 ھەرپ بولۇشى كېرەك" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "ئېلخەت ئادرېسى(ئىختىيارىي)" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "ئاچقۇچنىڭ ئىزاھاتى(ئىختىيار)" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "تولۇق ئاتى(_N):" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "ئېلخەت ئادرېسى(_E):" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "ئاچقۇچ ئىزاھاتى(_M):" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "يېڭى ئىشلەتكۈچى ID سىنى قۇرىدۇ" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "زادىلا ۋاقتى ئۆتمەيدۇ(_N)" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "ئاچقۇچنى بىكار قىل" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "ئۆزگەرت(_H)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:162 +msgid "Couldn't add subkey" +msgstr "تارماق ئاچقۇچنى قوشالمىدى" + +#: ../pgp/seahorse-gpgme-add-subkey.c:181 +#, c-format +msgid "Add subkey to %s" +msgstr "تارماق ئاچقۇچنى %s غا قوشۇش" + +#: ../pgp/seahorse-gpgme-add-subkey.c:197 ../pgp/seahorse-gpgme-generate.c:134 +msgid "DSA (sign only)" +msgstr "DSA (ئىمزالا)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:205 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (شىفىرلاشلا)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:211 ../pgp/seahorse-gpgme-generate.c:135 +msgid "RSA (sign only)" +msgstr "RSA (ئىمزالا)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:217 +msgid "RSA (encrypt only)" +msgstr "RSA(شىفىرلاشلا)" + +#: ../pgp/seahorse-gpgme-add-uid.c:100 +msgid "Couldn't add user id" +msgstr "ئىشلەتكۈچى id سىنى قوشالمىدى" + +#: ../pgp/seahorse-gpgme-add-uid.c:122 +#, c-format +msgid "Add user ID to %s" +msgstr "ئىشلەتكۈچى ID نى %s غا قوشىدۇ" + +#: ../pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "شىفىرنى يېشىش مەغلۇپ بولدى (قارىغاندا يېشىش ئاچقۇچى يوقمۇ قانداق)" + +#: ../pgp/seahorse-gpgme.c:73 ../pgp/seahorse-hkp-source.c:586 +#: ../ssh/seahorse-ssh-operation.c:194 +msgid "The operation was cancelled" +msgstr "مەشغۇلاتتىن ۋاز كەچتى" + +#: ../pgp/seahorse-gpgme-expires.c:65 +msgid "Invalid expiry date" +msgstr "ئىناۋەتسىز بولۇش چېسلاسى" + +#: ../pgp/seahorse-gpgme-expires.c:66 +msgid "The expiry date must be in the future" +msgstr "ئىناۋەتسىز بولۇش چېسلاسى چوقۇم ھازىردىن كېيىن بولۇشى كېرەك" + +#: ../pgp/seahorse-gpgme-expires.c:79 +msgid "Couldn't change expiry date" +msgstr "ئىناۋەتسىز بولۇش چېسلاسىنى ئۆزگەرتكىلى بولمىدى" + +#: ../pgp/seahorse-gpgme-expires.c:140 +#, c-format +msgid "Expiry: %s" +msgstr "ئىناۋەتسىز بولۇش چېسلاسى: %s" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "بىرنەچچە كۇنۇپكىلار" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "ئاچقۇچ سانلىق-مەلۇماتى" + +#: ../pgp/seahorse-gpgme-exporter.c:114 +msgid "Armored PGP keys" +msgstr "Armored PGP ئاچقۇچلىرى" + +#: ../pgp/seahorse-gpgme-exporter.c:118 +msgid "PGP keys" +msgstr "PGP ئاچقۇچلىرى" + +#: ../pgp/seahorse-gpgme-generate.c:95 +msgid "PGP Key" +msgstr "PGP ئاچقۇچ" + +#: ../pgp/seahorse-gpgme-generate.c:96 +msgid "Used to encrypt email and files" +msgstr "ئېلخەت ۋە ھۆججەتلەرنى شىفىرلاش ئۈچۈن ئىشلىتىلىدۇ" + +#: ../pgp/seahorse-gpgme-generate.c:132 +#: ../pkcs11/seahorse-pkcs11-generate.c:91 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:133 +msgid "DSA ElGamal" +msgstr "DSA Elgamal" + +#: ../pgp/seahorse-gpgme-generate.c:182 +msgid "Couldn't generate PGP key" +msgstr "PGP ئاچقۇچىنى ھاسىل قىلالمىدى" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Passphrase for New PGP Key" +msgstr "يېڭى PGP ئاچقۇچىنىڭ ئىمى" + +#: ../pgp/seahorse-gpgme-generate.c:215 +msgid "Enter the passphrase for your new key twice." +msgstr "يېڭى ئاچقۇچنىڭ ئىمىنى ئىككى قېتىم كىرگۈزۈڭ." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It's a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "يېڭى ئاچقۇچ ياسايدىغان ۋاقىتتا بىز نۇرغۇنلىغان قالايمىقان سانلىق-مەلۇماتلارنى\n" +"ھاسىللىشىمىز كېرەك ۋە بۇنىڭ ئۈچۈن سىزنىڭ ياردىمىڭىزگە موھتاجمىز. بۇنىڭ ئۈچۈن\n" +"ھەرپتاختىسىنى توختىماي قالايمىقان بېسىش، چاشقىنەكنى ئۈزلۈكسىز يۆتكەش،\n" +"پروگراممىلارنى ئىشلىتىش ئىشلىرىنى قىلسىڭىز بولىدۇ. شۇنىڭ بىلەن سىستېما\n" +"زۆرۈر بولغان قالايمىقان سانلىق-مەلۇماتلارنى ھاسىل قىلىپ بېرىدۇ." + +#: ../pgp/seahorse-gpgme-generate.c:231 +#: ../pkcs11/seahorse-pkcs11-generate.c:459 +msgid "Generating key" +msgstr "ئاچقۇچىنى ھاسىل قىلىۋاتىدۇ" + +#: ../pgp/seahorse-gpgme-key-deleter.c:78 +#: ../pgp/seahorse-gpgme-secret-deleter.c:77 +#: ../pkcs11/seahorse-pkcs11-deleter.c:66 +#: ../pkcs11/seahorse-pkcs11-key-deleter.c:81 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "%s نى راستلا مەڭگۈلۈككە ئۆچۈرەمسىز؟" + +#: ../pgp/seahorse-gpgme-key-deleter.c:81 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "راستلا %d ئاچقۇچنى مەڭگۈلۈككە ئۆچۈرەمسىز؟" + +#: ../pgp/seahorse-gpgme-key-op.c:381 +msgid "Wrong password" +msgstr "ئىم خاتا" + +#: ../pgp/seahorse-gpgme-key-op.c:381 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "بۇ سىزنىڭ ئىمنى ئۈچىنچى قېتىم خاتا كىرگۈزۈشىڭىز. قايتا كىرگۈزۈڭ." + +#: ../pgp/seahorse-gpgme-keyring.c:91 +#, c-format +msgid "Wrong passphrase." +msgstr "خاتا ئىم." + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "‹%s› نىڭ يېڭى ئىمنى كىرگۈزۈڭ" + +#: ../pgp/seahorse-gpgme-keyring.c:97 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "‹%s› نىڭ ئىمنى كىرگۈزۈڭ" + +#: ../pgp/seahorse-gpgme-keyring.c:100 +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "يېڭى ئىم كىرگۈزۈڭ" + +#: ../pgp/seahorse-gpgme-keyring.c:102 +msgid "Enter passphrase" +msgstr "ئىم كىرگۈزۈڭ" + +#: ../pgp/seahorse-gpgme-keyring.c:107 +msgid "Passphrase" +msgstr "ئىم جۈملىسى" + +#: ../pgp/seahorse-gpgme-keyring.c:308 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "%d ئاچقۇچ ئوقۇلدى" + +#: ../pgp/seahorse-gpgme-keyring.c:655 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "ئاچقۇچ سانلىق-مەلۇماتلىرى ئىناۋەتسىز(كىملىك يوق). بۇ كومپيۇتېرنىڭ چېسلاسى خاتا(كەلگۈسىگە) تەڭشەلگەن ياكى ئوز ئىمزاسىنىڭ يوق بولۇشى سەۋەبىدىن بولىدۇ." + +#: ../pgp/seahorse-gpgme-keyring.c:815 +msgid "GnuPG keys" +msgstr "GnuPG ئاچقۇچلىرى" + +#: ../pgp/seahorse-gpgme-keyring.c:818 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: كۆڭۈلدىكى ئاچقۇچ مۇندەرىجىسى" + +#: ../pgp/seahorse-gpgme-photos.c:73 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "سۈرەت بەك چوڭ\n" +"سىزنىڭ ئاچقۇچىڭىزغا ماس كېلىدىغان سۈرەتنىڭ چوڭلۇقى %d x %d پىكسېل." + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Don't Resize" +msgstr "چوڭلۇقىنى ئۆزگەرتمە(_D)" + +#: ../pgp/seahorse-gpgme-photos.c:79 +msgid "_Resize" +msgstr "چوڭلۇقىنى ئۆزگەرت(_R)" + +#: ../pgp/seahorse-gpgme-photos.c:128 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "بۇ سۈرەت ھۆججىتى ئەمەس، ياكى چۈشىنىكسىز سۈرەت ھۆججىتى ئىكەن. JPEG سۈرەت ھۆججىتىنى ئىشلىتىڭ." + +#: ../pgp/seahorse-gpgme-photos.c:224 +msgid "All image files" +msgstr "بارلىق رەسىم ھۆججەتلىرى" + +#: ../pgp/seahorse-gpgme-photos.c:237 +msgid "All JPEG files" +msgstr "بارلىق JPEG ھۆججەتلىرى" + +#: ../pgp/seahorse-gpgme-photos.c:242 ../src/seahorse-key-manager.c:307 +msgid "All files" +msgstr "ھەممە ھۆججەتلەر" + +#: ../pgp/seahorse-gpgme-photos.c:263 +msgid "Choose Photo to Add to Key" +msgstr "ئاچقۇچقا قوشىدىغان سۈرەتنى تاللاش" + +#: ../pgp/seahorse-gpgme-photos.c:285 +msgid "Couldn't prepare photo" +msgstr "سۈرەتنى تەييار قىلغىلى بولمىدى" + +#: ../pgp/seahorse-gpgme-photos.c:295 ../pgp/seahorse-gpgme-photos.c:298 +msgid "Couldn't add photo" +msgstr "سۈرەتنى قوشالمىدى" + +#: ../pgp/seahorse-gpgme-photos.c:296 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "ھۆججەتنى ئوقۇغىلى بولمىدى. ئۇنىڭ پىچىمى ئىناۋەتسىزدەك قىلىدۇ" + +#: ../pgp/seahorse-gpgme-photos.c:322 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "ئاچقۇچتىن نۆۋەتتىكى سۈرەتنى راستلا چىقىرىۋېتەمسىز؟" + +#: ../pgp/seahorse-gpgme-photos.c:335 +msgid "Couldn't delete photo" +msgstr "سۈرەتنى ئۆچۈرەلمىدى" + +#: ../pgp/seahorse-gpgme-revoke.c:75 +msgid "Couldn't revoke subkey" +msgstr "تارماق ئاچقۇچنى بىكار قىلالمىدى" + +#: ../pgp/seahorse-gpgme-revoke.c:96 +#, c-format +msgid "Revoke: %s" +msgstr "بىكار قىلىش: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:107 +msgid "No reason" +msgstr "سەۋەبسىز" + +#: ../pgp/seahorse-gpgme-revoke.c:108 +msgid "No reason for revoking key" +msgstr "ئاچقۇچنى بىكار قىلىشنىڭ سەۋەبى يوق." + +#: ../pgp/seahorse-gpgme-revoke.c:114 +msgid "Compromised" +msgstr "مۇرەسسە قىلىنغان" + +#: ../pgp/seahorse-gpgme-revoke.c:115 +msgid "Key has been compromised" +msgstr "ئاچقۇچ مۇرەسسە قىلىنغان" + +#: ../pgp/seahorse-gpgme-revoke.c:121 +msgid "Superseded" +msgstr "بىكار قىلىندى" + +#: ../pgp/seahorse-gpgme-revoke.c:122 +msgid "Key has been superseded" +msgstr "ئاچقۇچ بىكار قىلىنغان" + +#: ../pgp/seahorse-gpgme-revoke.c:128 +msgid "Not Used" +msgstr "ئىشلىتىلمىگەن" + +#: ../pgp/seahorse-gpgme-revoke.c:129 +msgid "Key is no longer used" +msgstr "ئاچقۇچ ئەمدى ئىشلىتىلمەيدۇ" + +#: ../pgp/seahorse-gpgme-revoke.c:166 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "سىز %s نى %s نىڭ revoker ئى سۈپىتىدە قوشماقچى بولۇۋاتىسىز. بۇ مەشغۇلاتتىن يېنىۋالغىلى بولمايدۇ. راستلا داۋاملاشتۇرامسىز؟" + +#: ../pgp/seahorse-gpgme-revoke.c:178 +msgid "Couldn't add revoker" +msgstr "revoker نى قوشالمىدى" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:82 ../ssh/seahorse-ssh-deleter.c:83 +msgid "I understand that this secret key will be permanently deleted." +msgstr "بارلىق مەخپىي ئاچقۇچلارنىڭ مەڭگۈ ئۆچۈرۈلىدىغانلىقىنى بىلىمەن." + +#: ../pgp/seahorse-gpgme-sign.c:100 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "بۇ ئاچقۇچقا «%s»\n" +"ئىمزا قويۇپ بولغان" + +#: ../pgp/seahorse-gpgme-sign.c:105 +msgid "Couldn't sign key" +msgstr "ئاچقۇچقا ئىمزا قويغىلى بولمىدى" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:164 ../pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "ئىم قويىدىغان ئاچقۇچلار يوق" + +#: ../pgp/seahorse-gpgme-sign.c:165 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "سىزنىڭ بۇ ئاچقۇچقا بولغان ئىشەنچىڭىزنى كۆرسىتىپ بېرىدىغان خۇسۇسىي PGP ئاچقۇچلىرى يوق." + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "نامەلۇم" + +#: ../pgp/seahorse-gpgme-subkey.c:199 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:604 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "مۇلازىمېتىر ‹%s› نىڭدا نۇرغۇن ئاچ بار بولغاچقا، ماس كېلىدىغان ئاچقۇچنى ئېنىق بەلگىلىيەلمىدى." + +#: ../pgp/seahorse-hkp-source.c:607 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "مۇلازىمېتىر «%s» بىلەن ئالاقىلىشەلمىدى: %s" + +#: ../pgp/seahorse-hkp-source.c:1127 +msgid "HTTP Key Server" +msgstr "HTTP ئاچقۇچ مۇلازىمېتىرى" + +#: ../pgp/seahorse-keyserver-results.c:175 +msgid "Couldn't import keys" +msgstr "ئاچقۇچلارنى ئىمپورت قىلغىلى بولمىدى" + +#: ../pgp/seahorse-keyserver-results.c:218 +msgid "Importing keys from key servers" +msgstr "ئاچقۇچ مۇلازىمېتىرىدىن ئاچقۇچلارنى ئىمپورت قىلىۋاتىدۇ" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:244 ../src/seahorse-key-manager.c:507 +msgid "_Remote" +msgstr "يىراق(_R)" + +#: ../pgp/seahorse-keyserver-results.c:246 +msgid "Close this window" +msgstr "بۇ كۆزنەكنى ياپىدۇ" + +#: ../pgp/seahorse-keyserver-results.c:250 ../pgp/seahorse-pgp-actions.c:115 +msgid "_Find Remote Keys..." +msgstr "يىراقتىكى ئاچقۇچلارنى ئىزدە(_F)…" + +#: ../pgp/seahorse-keyserver-results.c:251 ../pgp/seahorse-pgp-actions.c:116 +msgid "Search for keys on a key server" +msgstr "ئاچقۇچ مۇلازىمېتىرىدىن ئاچقۇچلارنى ئىزدەيدۇ" + +#: ../pgp/seahorse-keyserver-results.c:255 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "ئىمپورت قىل(_I)" + +#: ../pgp/seahorse-keyserver-results.c:256 +msgid "Import selected keys to local key ring" +msgstr "تاللانغان ئاچقۇچلارنى يەرلىك ئاچقۇچ ھالقىسىغا ئىمپورت قىلىدۇ" + +#: ../pgp/seahorse-keyserver-results.c:286 +msgid "Remote Keys" +msgstr "يىراقتىكى ئاچقۇچلار" + +#: ../pgp/seahorse-keyserver-results.c:288 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "يىراقتىكى ئاچقۇچلار ‹%s› نى ئوز ئىچىگە ئالغان" + +#: ../pgp/seahorse-keyserver-results.c:486 +msgid "The search for keys failed." +msgstr "ئاچقۇچلارنى ئىزدەش مەغلۇپ بولدى." + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "يىراقتىكى ئاچقۇچنى ئىزدە" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "ئىنتېرنېتتىكى باشقا ئاچقۇچلارنى ئىزدەپ تاپقىلى ۋە ئۇنى يەرلىك كومپيۇتېردىكى ئاچقۇچ ھالقىسىغا ئۆتكۈزۈۋالغىلى بولىدۇ." + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "تۆۋەندىكىلەرنى ئوز ئىچىگە ئالغان ئاچقۇچلارنى ئىزدە(_S): " + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "ئاچقۇچ مۇلازىمېتىرلىرى:" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "ئەتراپىمدىكى ھەمبەھىرلەنگەن ئاچقۇچلار:" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "ئىزدەيدىغان ئورۇن:" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "ئىزدە(_S)" + +#: ../pgp/seahorse-keyserver-sync.c:57 +msgid "Couldn't publish keys to server" +msgstr "ئاچقۇچىنى مۇلازىمېتىرغا ئېلان قىلالمىدى" + +#: ../pgp/seahorse-keyserver-sync.c:76 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "مۇلازىمېتىردىن ئاچقۇچلارنى ئالغىلى بولمىدى: %s" + +#: ../pgp/seahorse-keyserver-sync.c:160 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "قەدەمداشلاش ئۈچۈن %d ئاچقۇچ تاللاندى" + +#: ../pgp/seahorse-keyserver-sync.c:240 +msgid "Synchronizing keys..." +msgstr "ئاچقۇچلارنى قەدەمداشلاۋاتىدۇ…" + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "ئاچقۇچلارنى قەدەمداشلاش" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "ئاچقۇچ ھالقىسىدىكى ئاچقۇچلارنى تارقىتىپ باشقىلار ئىشلىتەلەيدىغان قىلىدۇ.شۇنداقلا، باشقىلار تارقاتقان ئاچقۇچتا ئۆزگىرىش بولسا، ئۇنىمۇ يەنە ئالغىلى بولىدۇ." + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "ئاچقۇچتىكى ئۆزگىرىشلەرنى ئالىدۇ. ئاچقۇچنى تارقىتىدىغان مۇلازىمېتىر تاللانمىغان بولغاچقا، باشقىلار ئاچقۇچلارنى ئىشلىتەلمەيدۇ." + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "ئاچقۇچ مۇلازىمېتىرلىرى(_K)" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "قەدەمداشلا(_S)" + +#: ../pgp/seahorse-ldap-source.c:441 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "«%s» بىلەن ئالاقىلىشەلمىدى: %s" + +#: ../pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Connecting to: %s" +msgstr "باغلانغان ئورۇن: %s" + +#: ../pgp/seahorse-ldap-source.c:658 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "ئادرېسلارنى ھەل قىلالمىدى: %s" + +#: ../pgp/seahorse-ldap-source.c:702 +#, c-format +msgid "Resolving server address: %s" +msgstr "مۇلازىمېتىرنىڭ ئادرېسىنى ھەل قىلىۋاتىدۇ: %s" + +#: ../pgp/seahorse-ldap-source.c:1447 +msgid "LDAP Key Server" +msgstr "LDAP ئاچقۇچ مۇلازىمېتىرى" + +#: ../pgp/seahorse-pgp-actions.c:120 +msgid "_Sync and Publish Keys..." +msgstr "ئاچقۇچلارنى قەدەمداشلاش ۋە ئېلان قىلىش(_S)…" + +#: ../pgp/seahorse-pgp-actions.c:121 +msgid "Publish and/or synchronize your keys with those online." +msgstr "بۇ ئاچقۇچلارنى ئېلان قىلىپ توردىكى ئاچقۇچلار بىلەن قەدەمداشلايدۇ." + +#: ../pgp/seahorse-pgp-backend.c:172 +msgid "PGP Keys" +msgstr "PGP ئاچقۇچلىرى" + +#: ../pgp/seahorse-pgp-backend.c:175 +msgid "PGP keys are for encrypting email or files" +msgstr "ئېلخەت ۋە ھۆججەتلەرنى شىفىرلاشتا PGP ئاچقۇچلىرى ئىشلىتىلىدۇ" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "قۇر(_R)" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "يېڭى ئاچقۇچلارنى ھاسىل قىلىدۇ" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP ئاچقۇچى ئىشلىتىلسە باشقىلارغا ئەۋەتىدىغان ھۆججەت ياكى ئېلخەتلەرنى شىفىرلاشقا بولىدۇ" + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "_Comment:" +msgstr "ئىزاھات(_C):" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "Ne_ver Expires" +msgstr "زادىلا ئىناۋەتسىز بولمايدۇ(_V)" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "شىفىرلاش تىپى(_T):" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "ئاچقۇچنىڭ كۈچلۈكلۈكى(بىت سانى)(_S):" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "ئىناۋەتلىك چېسلاسى(_X):" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "ئالىي ئاچقۇچ تاللانمىلىرى(_A)" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "Personal PGP key" +msgstr "شەخسىي PGP ئاچقۇچى" + +#: ../pgp/seahorse-pgp-key.c:355 +msgid "PGP key" +msgstr "PGP ئاچقۇچى" + +#: ../pgp/seahorse-pgp-key-properties.c:325 +msgid "Couldn't change primary user ID" +msgstr "ئاساسىي ئىشلەتكۈچى كىملىكىنى ئۆزگەرتكىلى بولمىدى" + +#: ../pgp/seahorse-pgp-key-properties.c:344 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "‹%s› دېگەن ئىشلەتكۈچى ID نى راستلا مەڭگۈلۈككە ئۆچۈرەمسىز؟" + +#: ../pgp/seahorse-pgp-key-properties.c:354 +msgid "Couldn't delete user ID" +msgstr "ئىشلەتكۈچى ID سىنى ئۆچۈرەلمىدى" + +#: ../pgp/seahorse-pgp-key-properties.c:429 +#: ../pgp/seahorse-pgp-key-properties.c:1571 +msgid "[Unknown]" +msgstr "[نامەلۇم]" + +#: ../pgp/seahorse-pgp-key-properties.c:538 +#: ../pgp/seahorse-pgp-key-properties.c:1854 +msgid "Name/Email" +msgstr "ئات/ئېلخەت" + +#: ../pgp/seahorse-pgp-key-properties.c:545 +msgid "Signature ID" +msgstr "ئىمزا كىملىكى" + +#: ../pgp/seahorse-pgp-key-properties.c:678 +msgid "Couldn't change primary photo" +msgstr "ئاساسىي سۈرەتنى ئۆزگەرتكىلى بولمىدى" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:912 +msgid "(unknown)" +msgstr "(نامەلۇم)" + +#: ../pgp/seahorse-pgp-key-properties.c:915 +#, c-format +msgid "This key expired on: %s" +msgstr "ئاچقۇچنىڭ ئىناۋەتسىز بولۇش ۋاقتى: %s" + +#: ../pgp/seahorse-pgp-key-properties.c:978 +msgid "Name" +msgstr "ئاتى" + +#: ../pgp/seahorse-pgp-key-properties.c:1091 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "راستلا تارماق ئاچقۇچ %d (%s) مەڭگۈلۈككە ئۆچۈرەمسىز؟" + +#: ../pgp/seahorse-pgp-key-properties.c:1100 +msgid "Couldn't delete subkey" +msgstr "تارماق ئاچقۇچنى ئۆچۈرەلمىدى" + +#: ../pgp/seahorse-pgp-key-properties.c:1140 +#: ../pgp/seahorse-pgp-key-properties.c:1545 +msgid "Unable to change trust" +msgstr "ئىشەنچنى ئۆزگەرتكىلى بولمىدى" + +#: ../pgp/seahorse-pgp-key-properties.c:1153 +#: ../ssh/seahorse-ssh-key-properties.c:202 +msgid "Couldn't export key" +msgstr "ئاچقۇچنى ئېكسپورت قىلغىلى بولمىدى" + +#: ../pgp/seahorse-pgp-key-properties.c:1267 +msgid "Marginal" +msgstr "قىسمەن" + +#: ../pgp/seahorse-pgp-key-properties.c:1273 +msgid "Full" +msgstr "تامامەن" + +#: ../pgp/seahorse-pgp-key-properties.c:1279 +msgid "Ultimate" +msgstr "مۇتلەق" + +#: ../pgp/seahorse-pgp-key-properties.c:1385 +#: ../pgp/seahorse-pgp-key-properties.c:1474 +msgctxt "Expires" +msgid "Never" +msgstr "ھەرگىز" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "ID" +msgstr "كىملىكى(ID)" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Type" +msgstr "تىپى" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "قۇرغان ۋاقتى" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "ۋاقتى ئۆتتى" + +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "ھالىتى" + +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "كۈچلۈكلۈك" + +#: ../pgp/seahorse-pgp-key-properties.c:1465 +msgid "Revoked" +msgstr "بىكار قىلىنغان" + +#: ../pgp/seahorse-pgp-key-properties.c:1467 +msgid "Expired" +msgstr "ۋاقتى ئوتكەن" + +#: ../pgp/seahorse-pgp-key-properties.c:1469 +msgid "Disabled" +msgstr "ئىناۋەتسىز قىلىنغان" + +#: ../pgp/seahorse-pgp-key-properties.c:1471 +msgid "Good" +msgstr "ياخشى" + +#: ../pgp/seahorse-pgp-key-properties.c:1857 +msgid "Key ID" +msgstr "ئاچقۇچ كىملىكى" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "مەزكۇر ئاچقۇچ بىكار قىلىنغان" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "ئاچقۇچنىڭ ئىگىسى ئاچقۇچنى بىكار قىلىۋەتتى. ئۇنى ئەمدى ئىشلەتكىلى بولمايدۇ." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "مەزكۇر ئاچقۇچنىڭ ۋاقتى ئوتكەن" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "بۇ ئاچقۇچقا سۈرەت قوشىدۇ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "بۇ ئاچقۇچتىن بۇ سۈرەتنى چىقىرىۋەت" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "بۇ سۈرەتنى ئاساسىي سۈرەت قىلىپ ئىشلىتىدۇ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "ئالدىنقى سۈرەتكە يۆتكىلىدۇ" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "كېيىنكى سۈرەتكە يۆتكىلىدۇ" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "سۈرەت " + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "ئاچقۇچ كىملىكى(ID):" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "ئاتى:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "ئېلخەت:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "ئىزاھات:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "شىفىرسىزلاپ سىزگە يوللايدۇ." + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "خۇسۇسىي PGP ئاچقۇچى" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "Passphrase نى ئۆزگەرت(_P)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "ئىگىسى" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "ئاچقۇچ ئاتلىرى ۋە ئىمزالار" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "ئاساسىي" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +msgid "Sign" +msgstr "ئىمزا" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "ئۆچۈر" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "ئات قوش(_A)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "بىكار قىلىش" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "ئات ۋە ئىمزالار" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "كۈچلۈكلۈكى:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "تېخنىكىلىق تەپسىلات" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "بارماق ئىزى" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "ئىناۋەتلىك ۋاقتى:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "چېسلا" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "ئىگىسىنىڭ ئىشەنچىنى قاپلاش(_T):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Complete Key:" +msgstr "ئاچقۇچنى ئېكسپورت قىل(_E):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "Actions" +msgstr "مەشغۇلاتلار" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "قوش" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "ئىناۋەتلىك ۋاقتى" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "تارماق ئاچقۇچلار(_S)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "بىرئاز" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "تولۇق" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "تەلتۆكۈس" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key's owner" +msgstr "ھۆججەتنى شىفىرلاپ ئۇنى ئاچقۇچ ئىگىسىگە يوللايدۇ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "ئاممىۋى PGP ئاچقۇچى" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "باشقا ئاتلار(_O):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "بۇ ئاچقۇچنىڭ ئىشەنچلىكلىكى" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "‹تەپسىلات› بەتكۈچىدە ئىشەنچنى تەپسىلىي كۆرسەتكىلى بولىدۇ." + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "باشقا ئاچقۇچتىكى ‹%s› ئىمزاغا ئىشىنىمەن" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "ئاچقۇچ ‹%s› نىڭ ئىگىسىگە ئىشەنسىڭىز، بۇ ئاچقۇچقا ئىمزا قويۇڭ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "ئىمزا قويۇش(_S)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "ئاچقۇچ ‹%s› نىڭ ئىگىسىگە ئەمدى ئىشەنمىسىڭىز، ئىمزايىڭىزنى ئەمەلدىن قالدۇرۇڭ:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "ئىمزانى بىكار قىلىش(_R)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "بۇ ئاچقۇچقا ئىمزا قويغان كىشىلەر(_P):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "مەن ئىشەنگەن كىشىلەرنىڭ ئىمزاسىنىلا كۆرسەت(_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "ئىشەنچ" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "بارماق ئىزى:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "چېسلا:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "ئىشەنچىنى كۆرسىتىش:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "ئىگىسىنىڭ ئىشەنچلىكلىكى(_T):" + +#: ../pgp/seahorse-pgp-subkey.c:371 +#, c-format +msgid "Subkey %d of %s" +msgstr "تارماق ئاچقۇچ %d / %s" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "بۇ ئاچقۇچنى بىكار قىلىشنىڭ سەۋەبى" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "سەۋەب(_S):" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "بىكار قىلىشنىڭ چۈشەندۈرۈلۈشى(ئىختىيارى)" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "بىكار قىل(_V)" + +#: ../pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "پۈتۈك ياكى ئۇچۇرغا ئىمزا قويۇش ئۈچۈن ئىشلىتىدىغان خۇسۇسىي PGP ئاچقۇچلىرىنىڭ يوق" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "تۆۋەندىكى ئاچقۇچنى ئىشلىتىپ ئۇچۇرغا ئىمزا قوي(_S):" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "ئىمزا" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "ئىمزا قويسىڭىز، تۆۋەندىكى ئاچقۇچقا ئىشەنگەن بولىسىز:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "ئاچقۇچ ئاتى:" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "بۇ ئاچقۇچنى قانچىلىك تەپسىلىي تەكشۈردىڭىز؟" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "زادىلا تەكشۈرمىگەن(_N)" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "مۇنداقلا تەكشۈرگەن(_C)" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "تەپسىلىي تەكشۈرگەن(_V)" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "يوق:سىز بۇ شىفىرلىق ئاچقۇچنىڭ ئۇنىڭ ئىگىسىنىڭ ئىكەنلىكىگە ئىشىنىدىغانلىقىڭىزنى بىلدۈرىدۇ، ئەمما سىز ئۇنىڭ راستلىقىنى دەلىللىيەلمەيسىز ياكى دەلىللىمىدىڭىز." + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "ۋاقىتلىق:مەنىسى بىر تۈرلۈك ۋاقىتلىق دەلىللەشنى تاماملىغانلىقىنى بىلدۈرىدۇ، بۇ شىفىرلىق ئاچقۇچنىڭ ئۇنىڭغا ئېنىقلىما بەرگەن كىشىگە تەۋە ئىكەنلىكىنى ئىسپاتلايدۇ. مەسىلەن، سىز تېلېفون ئارقىلىق شىفىرلىق ئاچقۇچ بارماق ئىزىنى ئىگىسىگە ئوقۇپ جەزملىيەلەيسىز." + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "ناھايىتى تەپسىلىي:بۇ تاللانما تاللانسا مەزكۇر شىفىرلىق ئاچقۇچنىڭ ھەقىقىيلىقىغا مۇتلەق ئىشىنىدىغانلىقىڭىزنى بىلدۈرىدۇ." + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "ئاچقۇچ ئاتىنىڭ توغرا خاتالىقىنى ئۆزىڭىز تەكشۈرمەكچى بولسىڭىز، يەنى پاسپورتقا چاپلانغان رەسىمنى ئىشلىتىپ، كىملىك تەكشۈرۈپ، ساختىلىقتىن ساقلانغاندەك قىلىشقا بولىدۇ. يەنە ئېلخەت ئادرېسىنى ئىشلىتىپ ئۇنىڭ ئىگىسىگە تەۋەمۇ ئەمەسمۇ تەكشۈرۈشكە بولىدۇ." + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "ئىمزانى باشقىلارغا قانچىلىك ئاشكارا ئېلان قىلىسىز:" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "بۇ ئىمزانى باشقىلارغا ئېلان قىلما(_O)" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "مەن بۇ ئىمزانى كېيىنرەك بىكار قىلىمەن(_R)." + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "ئاچقۇچقا تۆۋەندىكىدەك ئىمزا قوي:" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "ئىمزاچى(_S):" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "ئىمزا(_S)" + +#: ../pgp/seahorse-transfer.c:237 ../pgp/seahorse-transfer.c:284 +msgid "Exporting data" +msgstr "سانلىق-مەلۇماتلارنى ئېكسپورت قىلىۋاتىدۇ" + +#: ../pgp/seahorse-transfer.c:237 ../pgp/seahorse-transfer.c:284 +msgid "Retrieving data" +msgstr "سانلىق-مەلۇماتلارنى ئېلىۋاتىدۇ" + +#: ../pgp/seahorse-transfer.c:240 ../pgp/seahorse-transfer.c:287 +msgid "Importing data" +msgstr "سانلىق-مەلۇماتلارنى ئىمپورت قىلىۋاتىدۇ" + +#: ../pgp/seahorse-transfer.c:240 ../pgp/seahorse-transfer.c:287 +msgid "Sending data" +msgstr "ئۇچۇر يوللاۋاتىدۇ" + +#: ../pgp/seahorse-unknown.c:61 +msgid "Unavailable" +msgstr "ئىشلەتكىلى بولمايدۇ" + +#: ../pkcs11/seahorse-certificate.c:434 +msgid "Personal certificate and key" +msgstr "شەخسىي گۇۋاھنامە ۋە ئاچقۇچ" + +#: ../pkcs11/seahorse-certificate.c:437 +msgid "Personal certificate" +msgstr "شەخسىي گۇۋاھنامە" + +#: ../pkcs11/seahorse-certificate.c:439 +#: ../pkcs11/seahorse-certificate-der-exporter.c:77 +msgid "Certificate" +msgstr "گۇۋاھنامە" + +#: ../pkcs11/seahorse-certificate-der-exporter.c:99 +msgid "Certificates (DER encoded)" +msgstr "گۇۋاھنامىلەر(DER دا كودلانغان)" + +#: ../pkcs11/seahorse-pkcs11-backend.c:183 +msgid "Certificates" +msgstr "گۇۋاھنامە" + +#: ../pkcs11/seahorse-pkcs11-backend.c:186 +msgid "X.509 certificates and related keys" +msgstr "X.509 گۇۋاھنامىلەر ۋە مۇناسىۋەتلىك ئاچقۇچلار" + +#: ../pkcs11/seahorse-pkcs11-deleter.c:69 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "راستلا %d دانە گۇۋاھنامىنى ئۆچۈرەمسىز؟" + +#: ../pkcs11/seahorse-pkcs11-generate.c:114 +msgid "Couldn't generate private key" +msgstr "شەخسىي ئاچقۇچنى ھاسىللىغىلى بولمىدى" + +#: ../pkcs11/seahorse-pkcs11-generate.c:413 +#: ../pkcs11/seahorse-pkcs11-request.c:255 +msgid "Create" +msgstr "ياسا" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +#: ../pkcs11/seahorse-private-key.c:178 +msgid "Private key" +msgstr "خاس ئاچقۇچ" + +#: ../pkcs11/seahorse-pkcs11-generate.c:507 +msgid "Used to request a certificate" +msgstr "گۇۋاھنامە ئىلتىماسى ئۈچۈن ئىشلىتىلىدۇ" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "يېڭى شەخسىي ئاچقۇچ ياسايدۇ" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "ئەن:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "ساقلانغان ئورنى:" + +#: ../pkcs11/seahorse-pkcs11-key-deleter.c:85 +msgid "I understand that this key will be permanently deleted." +msgstr "مۇشۇ ئاچقۇچنىڭ مەڭگۈ ئۆچۈرۈلىدىغانلىقىنى بىلىمەن." + +#: ../pkcs11/seahorse-pkcs11-properties.c:147 +#: ../pkcs11/seahorse-pkcs11-properties.c:151 +msgid "Unnamed" +msgstr "ئاتسىز" + +#: ../pkcs11/seahorse-pkcs11-properties.c:175 +msgid "Failed to export certificate" +msgstr "گۇۋاھنامىنى ئېكسپورت قىلىش مەغلۇپ بولدى" + +#: ../pkcs11/seahorse-pkcs11-properties.c:190 ../src/seahorse-sidebar.c:877 +msgid "Couldn't delete" +msgstr "ئۆچۈرگىلى بولمىدى." + +#: ../pkcs11/seahorse-pkcs11-properties.c:231 +msgid "_Export" +msgstr "چىقار(_E)" + +#: ../pkcs11/seahorse-pkcs11-properties.c:232 +msgid "Export the certificate" +msgstr "گۇۋاھنامىنى ئېكسپورت قىلىدۇ" + +#: ../pkcs11/seahorse-pkcs11-properties.c:234 +msgid "Delete this certificate or key" +msgstr "مەزكۇر گۇۋاھنامىنى ياكى ئاچقۇچنى ئۆچۈرىدۇ" + +#: ../pkcs11/seahorse-pkcs11-properties.c:235 +msgid "Request _Certificate" +msgstr "گۇۋاھنامە ئىلتىماس قىل(_C)" + +#: ../pkcs11/seahorse-pkcs11-properties.c:236 +msgid "Create a certificate request file for this key" +msgstr "مەزكۇر ئاچقۇچ ئۈچۈن گۇۋاھنامە ئىلتىماس ھۆججىتى قۇرىدۇ" + +#: ../pkcs11/seahorse-pkcs11-request.c:103 +msgid "Couldn't save certificate request" +msgstr "گۇۋاھنامە ئىلتىماسىنى ساقلىغىلى بولمىدى" + +#: ../pkcs11/seahorse-pkcs11-request.c:126 +msgid "Save certificate request" +msgstr "گۇۋاھنامە ئىلتىماسى ساقلا" + +#: ../pkcs11/seahorse-pkcs11-request.c:137 +msgid "Certificate request" +msgstr "گۇۋاھنامە ئىلتىماسى" + +#: ../pkcs11/seahorse-pkcs11-request.c:145 +msgid "PEM encoded request" +msgstr "PEM كودلاش ئىلتىماسى" + +#: ../pkcs11/seahorse-pkcs11-request.c:193 +msgid "Couldn't create certificate request" +msgstr "گۇۋاھنامە ئىلتىماسىنى قۇرغىلى بولمىدى" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "گۇۋاھنامە ئىلتىماس ھۆججىتى قۇرىدۇ." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "گۇۋاھنامە ئىلتىماسىدىكى ئورتاق ئات(CN)." + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "ئاتى(CN):" + +#: ../pkcs11/seahorse-private-key.c:131 +msgid "Unnamed private key" +msgstr "ئاتسىز شەخسىي ئاچقۇچ" + +#: ../pkcs11/seahorse-token.c:576 +msgctxt "Label" +msgid "Unknown" +msgstr "نامەلۇم" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "ئىمنى ئۆزگەرتىش" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "يېڭى ئىم(_P):" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "يېڭى ئىمنى جەزملەيدۇ" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "ئىمنى جەزملەش(_F):" + +#: ../src/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "ئىم ۋە شىفىرلاش ئاچقۇچلىرىنى باشقۇرىدۇ" + +#: ../src/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "keyring;encryption;security;sign;ssh;ئاچقۇچ ھالقىسى;شىفىرلاش;ئىمزا;بىخەتەرلىك;" + +#: ../src/seahorse-generate-select.c:229 +msgid "Continue" +msgstr "داۋاملاشتۇر" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "قۇرىدىغان تۇرنىڭ تىپىنى تاللاڭ(_S):" + +#: ../src/seahorse-import-dialog.c:98 +msgid "Import failed" +msgstr "ئىمپورت قىلىش مەغلۇپ بولدى" + +#: ../src/seahorse-import-dialog.c:116 +msgid "Import" +msgstr "ئىمپورت قىل" + +#: ../src/seahorse-import-dialog.c:129 +msgid "Data to be imported:" +msgstr "ئىمپورت قىلىنىدىغان سانلىق-مەلۇمات:" + +#: ../src/seahorse-key-manager.c:261 ../ssh/seahorse-ssh-operation.c:845 +msgid "Import Key" +msgstr "ئاچقۇچ ئىمپورت قىلىش" + +#: ../src/seahorse-key-manager.c:273 +msgid "All key files" +msgstr "بارلىق ئاچقۇچ ھۆججەتلىرى" + +#: ../src/seahorse-key-manager.c:374 +msgid "Dropped text" +msgstr "تاشلانغان تېكىست" + +#: ../src/seahorse-key-manager.c:397 +msgid "Clipboard text" +msgstr "چاپلاش تاختىسى تېكىستى" + +#: ../src/seahorse-key-manager.c:508 +msgid "_New" +msgstr "يېڭىدىن قۇر(_N)" + +#: ../src/seahorse-key-manager.c:510 +msgid "Close this program" +msgstr "بۇ پروگراممىنى ياپىدۇ" + +#: ../src/seahorse-key-manager.c:511 ../src/seahorse-key-manager.c:513 +msgid "_New..." +msgstr "يېڭى(_N)..." + +#: ../src/seahorse-key-manager.c:512 +msgid "Create a new key or item" +msgstr "يېڭى ئاچقۇچ ياكى تۈر قۇرىدۇ" + +#: ../src/seahorse-key-manager.c:514 +msgid "Add a new key or item" +msgstr "يېڭى ئاچقۇچ ياكى تۈر قوشىدۇ" + +#: ../src/seahorse-key-manager.c:515 +msgid "_Import..." +msgstr "ئىمپورت قىل(_I)…" + +#: ../src/seahorse-key-manager.c:516 +msgid "Import from a file" +msgstr "ھۆججەتتىن ئەكىرىدۇ" + +#: ../src/seahorse-key-manager.c:518 +msgid "Import from the clipboard" +msgstr "چاپلاش تاختىسىدىن ئىمپورت قىلىدۇ" + +#: ../src/seahorse-key-manager.c:522 +msgid "By _keyring" +msgstr "ئاچقۇچ ھالقىسى بويىچە(_K)" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show sidebar listing keyrings" +msgstr "ئاچقۇچلارنى كۆرسىتىدىغان يان بالداقنى كۆرسەت" + +#: ../src/seahorse-key-manager.c:527 +msgid "Show _personal" +msgstr "ئۆزۈمنىڭكىنى كۆرسەت(_P)" + +#: ../src/seahorse-key-manager.c:528 +msgid "Only show personal keys, certificates and passwords" +msgstr "شەخسىي ئاچقۇچلارنى، گۇۋاھنامىلەرنى ۋە ئىملارنى كۆرسىتىدۇ" + +#: ../src/seahorse-key-manager.c:529 +msgid "Show _trusted" +msgstr "ئىشەنچلىكلىرىنى كۆرسەت(_T)" + +#: ../src/seahorse-key-manager.c:530 +msgid "Only show trusted keys, certificates and passwords" +msgstr "پەقەتلا ئىشەنچلىك ئاچقۇچلارنى، گۇۋاھنامىلەرنى ۋە ئىملارنى كۆرسىتىدۇ" + +#: ../src/seahorse-key-manager.c:531 +msgid "Show _any" +msgstr "ھەممىنى كۆرسەت(_A)" + +#: ../src/seahorse-key-manager.c:532 +msgid "Show all keys, certificates and passwords" +msgstr "بارلىق ئاچقۇچلارنى، گۇۋاھنامىلەرنى ۋە ئىملارنى كۆرسىتىدۇ" + +#: ../src/seahorse-key-manager.c:736 +msgid "Filter" +msgstr "سۈزگۈچ" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "تۇنجى قېتىمقى تاللانمىلار:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "ئۆزى يېڭى ئاچقۇچ قۇرىدۇ: " + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "ھۆججەتتىن بار بولغان ئاچقۇچنى ئىمپورت قىلىش:" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "شىفىرلاشنى باشلاش ئۈچۈن ئاچقۇچلار زۆرۈر بولىدۇ." + +#: ../src/seahorse-sidebar.c:801 +msgid "Couldn't lock" +msgstr "قۇلۇپلىغىلى بولمىدى" + +#: ../src/seahorse-sidebar.c:838 +msgid "Couldn't unlock" +msgstr "قۇلۇپسىزلىغىلى بولمىدى" + +#: ../src/seahorse-sidebar.c:946 +msgid "_Lock" +msgstr "قۇلۇپلا(_L)" + +#: ../src/seahorse-sidebar.c:951 +msgid "_Unlock" +msgstr "قۇلۇپسىزلا(_U)" + +#: ../src/seahorse-sidebar.c:970 +msgid "_Properties" +msgstr "خاسلىق(_P)" + +#: ../ssh/seahorse-ssh-actions.c:100 +msgid "Configure Key for _Secure Shell..." +msgstr "بىخەتەر Shell نىڭ ئاچقۇچىنى سەپلەڭ…" + +#: ../ssh/seahorse-ssh-actions.c:101 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "بىخەتەر Shell نىڭ ئاممىۋى ئاچقۇچىنى باشقا ماشىنىغا ئەۋەتىدۇ، شۇ ئارقىلىق بۇ ئاچقۇچنى ئىشلىتىپ كىرىشكە ئىمكانىيەت يارىتىدۇ." + +#: ../ssh/seahorse-ssh-askpass.c:60 ../ssh/seahorse-ssh-askpass.c:68 +msgid "Enter your Secure Shell passphrase:" +msgstr "بىخەتەر Shell نىڭ ئىمىنى كىرگۈزۈڭ:" + +#: ../ssh/seahorse-ssh-askpass.c:82 +msgid "Old Key Passphrase" +msgstr "كونا ئاچقۇچ ئىمى" + +#: ../ssh/seahorse-ssh-askpass.c:83 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "%s نىڭ كونا ئىمىنى كىرگۈزۈڭ:" + +#: ../ssh/seahorse-ssh-askpass.c:87 ../ssh/seahorse-ssh-askpass.c:92 +msgid "New Key Passphrase" +msgstr "يېڭى ئاچقۇچ ئىمى" + +#: ../ssh/seahorse-ssh-askpass.c:88 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "%s نىڭ يېڭى ئىمىنى كىرگۈزۈڭ:" + +#: ../ssh/seahorse-ssh-askpass.c:93 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "يېڭى ئىمنى قايتا كىرگۈزۈڭ: %s" + +#: ../ssh/seahorse-ssh-backend.c:91 +msgid "Secure Shell" +msgstr "بىخەتەر Shell" + +#: ../ssh/seahorse-ssh-backend.c:94 +msgid "Keys used to connect securely to other computers" +msgstr "باشقا كومپيۇتېرلارغا بىخەتەر باغلىنىشتا ئىشلىتىدىغان ئاچقۇچلار" + +#: ../ssh/seahorse-ssh-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:86 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "بىخەتەر shell ئاچقۇچى «%s» نى راستلا ئۆچۈرەمسىز؟" + +#: ../ssh/seahorse-ssh-deleter.c:91 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "%d بىخەتەر shell ئاچقۇچلىرىنى راستلا ئۆچۈرەمسىز؟" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "Ssh Key" +msgstr "Ssh ئاچقۇچ" + +#: ../ssh/seahorse-ssh-exporter.c:122 +msgid "Secret SSH keys" +msgstr "بىخەتەر SSH ئاچقۇچلىرى" + +#: ../ssh/seahorse-ssh-exporter.c:126 +msgid "Public SSH keys" +msgstr "ئاممىۋى SSH ئاچقۇچلىرى" + +#: ../ssh/seahorse-ssh-exporter.c:290 +msgid "No public key file is available for this key." +msgstr "مەزكۇر ئاچقۇچنىڭ ئاممىۋى ئاچقۇچ ھۆججىتى يوق." + +#: ../ssh/seahorse-ssh-generate.c:55 ../ssh/seahorse-ssh-key.c:114 +#: ../ssh/seahorse-ssh-key.c:118 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "بىخەتەر shell ئاچقۇچى" + +#: ../ssh/seahorse-ssh-generate.c:56 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "باشقا كومپيۇتېرلارنى زىيارەت قىلىش ئۈچۈن ئىشلىتىلىدۇ(مەسىلەن: تېرمىنالنى ئىشلىتىپ)" + +#: ../ssh/seahorse-ssh-generate.c:110 ../ssh/seahorse-ssh-generate.c:126 +msgid "Couldn't generate Secure Shell key" +msgstr "بىخەتەر Shell ئاچقۇچىنى ھاسىل قىلالمىدى" + +#: ../ssh/seahorse-ssh-generate.c:192 +msgid "Creating Secure Shell Key" +msgstr "بىخەتەر Shell ئاچقۇچىنى قۇرۇۋاتىدۇ" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "يېڭى بىخەتەر Shell ئاچقۇچى" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "ئاچقۇچلا قۇر(_J)" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "قۇر ۋە تەڭشە(_C)" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "بىخەتەر Shell (SSH) ئاچقۇچى ئارقىلىق باشقا كومپيۇتېرلارغا بىخەتەر باغلىنىشقا بولىدۇ." + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr ">مەزكۇر ئاچقۇچنىڭ قانداق ئاچقۇچ ئىكەنلىكىنى بىلىشتە كېرەك بولغان، ئېلخەت يالى ئەسلەتمە ئۇچۇرلار." + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "بۇ ئاچقۇچنى كومپيۇتېردا ئىشلەتمەكچى بولسىڭىز، كومپيۇتېرنى بۇ ئاچقۇچنى تونۇيدىغان قىلىپ تەڭشىشىڭىز كېرەك." + +#: ../ssh/seahorse-ssh-key.c:110 +msgid "(Unreadable Secure Shell Key)" +msgstr "(ئوقۇغىلى بولمايدىغان بىخەتەر Shell ئاچقۇچى)" + +#: ../ssh/seahorse-ssh-key.c:218 +msgid "Personal SSH key" +msgstr "شەخسىي SSH ئاچقۇچى" + +#: ../ssh/seahorse-ssh-key.c:220 +msgid "SSH key" +msgstr "SSH ئاچقۇچى" + +#: ../ssh/seahorse-ssh-key-properties.c:82 +msgid "Couldn't rename key." +msgstr "ئاچقۇچ ئاتىنى ئۆزگەرتەلمىدى." + +#: ../ssh/seahorse-ssh-key-properties.c:135 +msgid "Couldn't change authorization for key." +msgstr "ئاچقۇچنىڭ كىملىك دەلىللىشىنى ئۆزگەرتكىلى بولمىدى." + +#: ../ssh/seahorse-ssh-key-properties.c:170 +msgid "Couldn't change passphrase for key." +msgstr "ئاچقۇچنىڭ ئىمىنى ئۆزگەرتكىلى بولمىدى." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "بەلگە:" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "ئاتى:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "باشقا كومپيۇتېرلار بىلەن ئالاقە قىلىشقا ئىشلىتىلىدۇ." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "بۇ ئاچقۇچنىڭ ئىگىسىنىڭ بۇ كومپيۇتېرغا باغلىنىش سالاھىيىتى بار(_A)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "بۇنى پەقەت %s ھېساباتىغىلا ئىشلىتىشكە بولىدۇ." + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "ئالگورىزىم:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "ئورنى:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "تولۇق ئاچقۇچنى ئېكسپورت قىل(_X)" + +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH بۇيرۇقى ئويمىغان يەردىن توختاپ قالدى." + +#: ../ssh/seahorse-ssh-operation.c:209 +msgid "The SSH command failed." +msgstr "SSH بۇيرۇقى مەغلۇپ بولدى." + +#: ../ssh/seahorse-ssh-operation.c:502 +msgid "Remote Host Password" +msgstr "يىراقتىكى ماشىنا ئىمى" + +#: ../ssh/seahorse-ssh-operation.c:588 +msgid "Enter Key Passphrase" +msgstr "ئاچقۇچنىڭ ئىمىنى كىرگۈزۈڭ" + +#: ../ssh/seahorse-ssh-operation.c:678 +msgid "Passphrase for New Secure Shell Key" +msgstr "يېڭى بىخەتەر Shell ئاچقۇچىنىڭ ئىمى" + +#: ../ssh/seahorse-ssh-operation.c:862 +#, c-format +msgid "Importing key: %s" +msgstr "ئاچقۇچ ئىمپورت قىلىۋاتىدۇ: %s" + +#: ../ssh/seahorse-ssh-operation.c:864 +msgid "Importing key. Enter passphrase" +msgstr "ئاچقۇچلارنى ئىمپورت قىلىۋاتىدۇ. passphrase كىرگۈزۈڭ" + +#: ../ssh/seahorse-ssh-source.c:232 +msgid "OpenSSH keys" +msgstr "OpenSSH ئاچقۇچلىرى" + +#: ../ssh/seahorse-ssh-source.c:235 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ../ssh/seahorse-ssh-source.c:940 +msgid "No private key file is available for this key." +msgstr "مەزكۇر ئاچقۇچقا ماس كېلىدىغان خۇسۇسىي ئاچقۇچ يوق." + +#: ../ssh/seahorse-ssh-upload.c:50 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "يىراقتىكى كومپيۇتېردىكى بىخەتەر Shell ئاچقۇچىنى سەپلىيەلمىدى." + +#: ../ssh/seahorse-ssh-upload.c:133 +msgid "Configuring Secure Shell Keys..." +msgstr "بىخەتەر Shell ئاچقۇچلىرىنى سەپلەۋاتىدۇ…" + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "كومپيۇتېرنى SSH بىلەن باغلىنىدىغان قىلىپ تەڭشە" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "SSH ئىشلەتكەن باشقا بىر كومپيۇتېر بىلەن بىخەتەر(Secure Shell) Shell نى ئىشلىتىش ئۈچۈن، ئۇ كومپيۇتېردا ھېساباتىڭىز بولۇشى كېرەك." + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "eg: fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Computer Name:" +msgstr "كومپيۇتېر ئاتى(_C):" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login Name:" +msgstr "كىرىش ئاتى(_L):" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "تەڭشە(_S)" + +#~ msgid "Password:" +#~ msgstr "ئىم:" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "ئاچقۇچ ھالقىسىنى زىيارەت قىلىش رەت قىلىندى" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "ئاچقۇچ ھالقىسى daemon نى ئىجرا قىلىنمىغان" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "ئاچقۇچ ھالقىسى ئاللىقاچان قۇلۇپسىزلانغان" + +#~ msgid "No such key ring exists" +#~ msgstr "بۇنداق ئاچقۇچ ھالقىسى يوق" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "key ring daemon بىلەن ئالاقىلىشەلمىدى" + +#~ msgid "The item already exists" +#~ msgstr "بۇ تۈر مەۋجۇت" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "ئاچقۇچ ھالقىسىنى زىيارەت قىلىشتا ئىچكى خاتالىق كۆرۈلدى" + +#~ msgid "Key Servers:" +#~ msgstr "ئاچقۇچ مۇلازىمېتىرلىرى:" + +#~ msgid "Algorithms here" +#~ msgstr "ئالگورىزىملار بۇ يەردە" + +#~ msgid "Never" +#~ msgstr "ھەرگىز" + +#~ msgid "Key ID:" +#~ msgstr "ئاچقۇچ كىملىكى(ID):" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "ئاتى:" + +#~ msgid "Comment:" +#~ msgstr "ئىزاھات:" + +#~ msgid "Use:" +#~ msgstr "ئىشلىتىلىشى:" + +#~ msgid "Type:" +#~ msgstr "تۈرى:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "ئاچقۇچ ئاتلىرى ۋە ئىمزالار" + +#~ msgid "Dates" +#~ msgstr "چېسلا" + +#~ msgid "Actions" +#~ msgstr "مەشغۇلات" + +#~ msgid "Dates:" +#~ msgstr "چېسلا:" + +#~ msgid "Name:" +#~ msgstr "ئاتى:" + +#~ msgid "Trust" +#~ msgstr "ئىشەنچلىك" + +#~ msgid "Strength:" +#~ msgstr "كۈچلۈكلۈكى:" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "seahorse-daemon نى daemon سۈپىتىدە ئىجرا قىلغىلى بولمىدى" + +#~ msgid "Signed by expired on %s." +#~ msgstr "" +#~ "%2$s دىكىۋاقتى ئوتكەن بىلەن ئىمزا قويۇلغان" + +#~ msgid "Invalid Signature" +#~ msgstr "ئىناۋەتسىز ئىمزا" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "" +#~ "%2$s دىكىۋاقتى ئوتكەن بىلەن ئىمزا قويۇلغان" + +#~ msgid "Expired Signature" +#~ msgstr "ۋاقتى ئوتكەن ئىمزا" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "" +#~ "%2$s دىكىمەغلۇپ بولغان بىلەن ئىمزا قويۇلغان" + +#~ msgid "Signed by on %s." +#~ msgstr "%2$s دىكى بىلەن ئىمزا قويۇلغان" + +#~ msgid "Good Signature" +#~ msgstr "ئېسىل ئىمزا" + +#~ msgid "Unknown Signature" +#~ msgstr "نامەلۇم ئىمزا" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "" +#~ "توغرا بولمىغان ياكى ساختا ئىمزا (ئىمزا سانلىق-مەلۇماتى ئۆزگەرتىلىپتۇ)" + +#~ msgid "Bad Signature" +#~ msgstr "توغرا بولمىغان ئىمزا" + +#~ msgid "No recipients specified" +#~ msgstr "تاپشۇرۇۋالغۇچى كۆرسىتىلمىدى" + +#~ msgid "Invalid key id: %s" +#~ msgstr "ئاچقۇچ id سى ئىناۋەتسىز: %s" + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "DNS-SD ھەمبەھىرىنى قوزغات" + +#~ msgid "ID of the default key" +#~ msgstr "كۆڭۈلدىكى كۇنۇپكىنىڭ ID سى" + +#~ msgid "Last key used to sign a message." +#~ msgstr "ئۇچۇرغا ئىمزا قويغاندا ئىشلەتكەن ئەڭ ئاخىرقى ئاچقۇچ." + +#~ msgid "PGP Key servers" +#~ msgstr "PGP ئاچقۇچ مۇلازىمېتىرى" + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "" +#~ "ئۇچۇرغا ئىمزا قويغاندا ئىشلەتكەن ئەڭ ئاخىرقى مەخپىي ئاچقۇچنىڭ ID سى." + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "ASCII" + +#~ msgid "Path:" +#~ msgstr "يول:" + +#~ msgid "Permissions:" +#~ msgstr "ھوقۇقلار:" + +#~ msgid "_Read" +#~ msgstr "ئوقۇ(_R)" + +#~ msgid "_Write" +#~ msgstr "ياز(_W)" + +#~ msgid "Passwords: %s" +#~ msgstr "ئىملار:%s" + +#~ msgid "Deleting item..." +#~ msgstr "تۈرلەرنى ئۆچۈرۈۋاتىدۇ..." + +#~ msgid "Search Results" +#~ msgstr "ئىزدەش نەتىجىسى" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "ھۆججەت ئىناۋەتلىك .desktop ھۆججىتى ئەمەس." + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "تونۇيالمىغان ئۈستەلئۈستى ھۆججەت نەشرى '%s'" + +#~ msgid "Starting %s" +#~ msgstr "%s قوزغىلىۋاتىدۇ" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "پروگرامما بۇيرۇق قۇرىدا پۈتۈكنى قوبۇل قىلالمايدۇ" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "تونۇمايدىغان ئىجرا تاللانمىسى: %d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "URI پۈتۈكنى 'Type=Link' ئۈستەلئۈستى تۈرىگە يوللىيالمىدى." + +#~ msgid "Not a launchable item" +#~ msgstr "ئىجراچان تۈر ئەمەس" + +#~ msgid "Disable connection to session manager" +#~ msgstr "ئەڭگىمە باشقۇرغۇچقا باغلىنىشنى چەكلە" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "سەپلىمە ساقلانغان ھۆججەتنى بەلگىلە" + +#~ msgid "FILE" +#~ msgstr "FILE" + +#~ msgid "Specify session management ID" +#~ msgstr "ئەڭگىمە باشقۇرغۇ ID سېنى بەلگىلە" + +#~ msgid "Session management options:" +#~ msgstr "ئەڭگىمە باشقۇرغۇ تاللانمىلىرى:" + +#~ msgid "Show session management options" +#~ msgstr "ئەڭگىمە باشقۇرغۇ تاللانمىلىرى كۆرسەت" + +#~ msgid "Key Imported" +#~ msgid_plural "Keys Imported" +#~ msgstr[0] "ئاچقۇچ(لار) ئىمپورت قىلىندى" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "%i دانە ئاچقۇچ ئىمپورت قىلىندى" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "تۆۋەندىكى ئاچقۇچ(لار) ئىمپورت قىلىندى:" + +#~ msgid "Notification Messages" +#~ msgstr "ئۇقتۇرۇش ئۇچۇرلىرى" + +#~ msgid "Identity" +#~ msgstr "سالاھىيەت" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "'file-roller' نى ئىجرا قىلغىلى بولمىدى" + +#~ msgid "Couldn't package files" +#~ msgstr "ھۆججەتلەرنى بوغچىلىغىلى بولمىدى" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "'file-roller' مۇۋەپپەقىيەتلىك قوزغىلالمىدى" + +#~ msgid "Archive files" +#~ msgstr "ئارخىپ ھۆججەتلەر" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "ئوخشاش ئاتتىكى ھۆججەت مەۋجۇت.\n" +#~ "\n" +#~ "ئۇنى يېڭى ھۆججەتتە قاپلىۋېتەمسىز؟" + +#~ msgid "_Replace" +#~ msgstr "ئالماشتۇر(_R)" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "ئاچقۇچنى «%s» غا ئېكسپورت قىلالمىدى" + +#~ msgid "Create New ..." +#~ msgstr "يېڭىدىن قۇرۇش..." + +#~ msgid "Importing keys" +#~ msgstr "ئاچقۇچلارنى ئىمپورت قىلىۋاتىدۇ" + +#~ msgid "Validity" +#~ msgstr "ئۈنۈملۈكلۈكى" + +#~ msgid "_Expand All" +#~ msgstr "ھەممىنى ياي(_E)" + +#~ msgid "Expand all listings" +#~ msgstr "ھەممىنى ياي" + +#~ msgid "_Collapse All" +#~ msgstr "ھەممىنى قاتلا(_C)" + +#~ msgid "Export public key" +#~ msgstr "ئاممىۋى ئاچقۇچنى ئېكسپورت قىل" + +#~ msgid "Deleting..." +#~ msgstr "ئۆچۈرۈۋاتىدۇ…" + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s خۇسۇسىي ئاچقۇچ. راستلا بىر تەرەپ قىلىۋېرەمسىز؟" + +#~ msgctxt "" +#~ "This text refers to deleting an item from its type's backing store." +#~ msgid "_Delete" +#~ msgstr "ئۆچۈر(_D)" + +#~ msgid "Invalid" +#~ msgstr "ئىناۋەتسىز" + +#~ msgid "Passphrase:" +#~ msgstr "ئىم جۈملىسى:" diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 00000000..164e90ce --- /dev/null +++ b/po/uk.po @@ -0,0 +1,2818 @@ +# Copyright (C) 2000 Free Software Foundation, Inc. +# Yuri Syrota , 2000. +# Maxim Dziumanenko , 2004-2010. +# wanderlust , 2009. +# Mykola Tkach , 2013. +# Daniel Korostil , 2014, 2015, 2016. +# Yuri Chornoivan , 2020. +msgid "" +msgstr "" +"Project-Id-Version: seahorse\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-07-13 19:27+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<" +"=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Lokalize 20.07.70\n" +"X-Project-Style: gnome\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Додати сервер ключів" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Інший" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "Скасувати" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Зберегти" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "Неможливо вилучити" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "Не вдалося експортувати ключі" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "Не вдалося експортувати дані" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "_Скасувати" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "_Вилучити" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "Експортувати" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Ввести PIN або пароль для: %s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Підтвердження:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "_Гаразд" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Пароль:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "Паролі" + +#: common/place.vala:42 +msgid "Keys" +msgstr "Клавіші" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "Сертифікати" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Параметри" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Немає: не публікувати ключі" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Некоректна адреса сервера ключів." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Для отримання допомоги зв'яжіться з вашим адміністратором та адміністратором " +"сервера ключів." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "тимчасовий елемент для ініціалізації" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Тип сервера ключів:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Вузол:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "Назва вузла чи адреса сервера." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Порт для доступу до сервера." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "Зн_айти ключі за допомогою:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Публікувати ключі у:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Автоматично отримувати _ключі з серверів" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Автоматично синхронізувати з_мінені ключі з серверами ключів" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Сервери ключів" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "Невідомо" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "Не довіряю" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "Слабо" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "Повністю" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Беззастережно" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Вимкнено" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Відкликано" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "Огляд" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "Довідка" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "Відкрити меню" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "Створити запис" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "Імпортувати запис з файла" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "Шукати" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "Список скорочень" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "Вийти" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "Навігація" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "Вибрати попередню зв'язку ключів" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "Вибрати наступну зв'язку ключів" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "Показати бічну панель (на малих екранах)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "Показати вміст зв'язки ключів (на малих екранах)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "Автоматичне отримання ключів" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "Чи завантажувати ключі з серверів автоматично." + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "Автоматичне публікування ключів" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "Визначає, чи слід автоматично публікувати змінені ключі." + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "Експортувати ключі на цей сервер" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "" +"Сервер ключів для публікації ключів PGP. Якщо значення немає, ключі не " +"публікуються." + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "Шаблон останнього пошуку на сервері ключів" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "Останній шаблон пошуку на сервері ключів." + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "Останній використаний сервер ключів" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "" +"Останній сервер, на якому шукались ключі, якщо немає значення - " +"використовувались усі сервери." + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "Показувати бічну панель в'язок ключів" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "Показати бічну панель в'язок ключів у Seahorse." + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "Які пункти слід показувати" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"Фільтрування показаного списку. Якщо має порожнє значення, буде показано усі " +"пункти. Якщо має значення «personal», буде показано особисті ключі. Якщо має " +"значення «trusted» — лише довірені ключі." + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "Ширина бічної панелі" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "Типова ширина бічної панелі." + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "Вибрані в'язки ключів" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "Адреси в'язок ключів, які вибрано на бічній панелі." + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "Стовпчик для впорядковування ключів у Seahorse" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"Задати ідентифікатор стовпчика за яким впорядковувати таблицю ключів. " +"Можливі значення: «name», «id», «validity», «expires», «trust» та «type». " +"Якщо значення починається з «-», ключі впорядковуються у зворотному порядку." + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "Показати колонку правильності" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "Вже не використовується." + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "Показати колонку терміну дії" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "Показати колонку довіри" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "Показати колонку типу ключа" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "Ширина вікна" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "Ширина вікна у пікселях." + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "Висота вікна" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "Висота вікна у пікселях." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Керування паролями та ключами шифрування" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse — програма GNOME для керування ключами шифрування." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"За допомогою цієї програми можете створювати і керувати ключами PGP, SSH " +"тощо, оприлюднювати та одержувати ключі з сервера, кешувати паролі, щоб " +"набирати їх кожного разу й не робити резервні копії." + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "Проєкт GNOME" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "Паролі й ключі" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "в’язка;шифрування;безпека;підпис;ssh;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Збережені особисті паролі, реєстраційні дані та таємниці" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "Не вдалося розблокувати" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "Не вдалося додати запис" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "Пароль" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "Пароль керування мережею" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Пароль до Wi-Fi" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "Мережний пароль" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "Пароль до GNOME Web" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Пароль від Google Chrome" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "Пароль від обміну повідомленнями" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "Пароль облікового запису обміну повідомленнями для" + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Пароль від Telepathy" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "Пароль до облікових записів GNOME" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "Зберегти зміни до цього запису?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "Надає доступ до мережного сховища чи ресурсу" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "Надає доступ до веб-сайту" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "Розблокувати ключ PGP" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "Розблокувати ключ віддаленого командного рядка" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "Збережений пароль чи обліковий запис" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "Мережні рекомендації" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "Пароль" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "Не вдалося змінити пароль." + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "Не вдалося встановити опис." + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "Помилка під час спроби вилучити пароль." + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "Збережена примітка" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "Пароль від в’язки ключів" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "Пароль від ключа шифрування" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "Пароль від складу ключів" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "Таємниця керування мережею" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Справді хочете вилучити пароль «%s»?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Остаточно вилучити %d пароль?" +msgstr[1] "Остаточно вилучити %d паролі?" +msgstr[2] "Остаточно вилучити %d паролів?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "Не вдалося додати в'язку ключів" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "Невідома дата" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "В’язка ключів, яка автоматично розблоковуються на вході" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "В’язка ключів для зберігання паролів" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "Не вдалося встановити типову в'язку ключів" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "Не вдалося змінити пароль в'язки ключів" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "_Встановити типовим" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "Змінити _пароль" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Ви справді хочете вилучити в'язку ключів паролів «%s»?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "Я розумію, що всі об'єкти буде остаточно вилучено." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Показати/сховати пароль" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "Додати пароль" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "_В'язка ключів" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "_Опис:" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "_Пароль:" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "Додати" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "Додати в’язку ключів для паролів" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Виберіть назву нової в'язки ключів. Вас буде запитано пароль для її " +"розблокування." + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "Назва нової в'язки ключів:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "Властивості запису" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "Опис" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "Копіювати" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "Використання" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "Тип" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "Сервер" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "Вхід" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "Подробиці" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "Вилучити пароль" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "Властивості в'язки" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "Назва" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "Дата створення" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "Змінити пароль" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "Зробити типовою" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Показувати прапорці" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Властивості показу дати та/або часу" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Спрощений режим" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "У цьому режимі дата та час не приводяться до стандартного вигляду" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Рік" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Рік, що показується" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Місяць" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Місяць, що показується" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "День" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "День місяця, що показується" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Година" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Година, що показується" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Хвилина" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Хвилина, що показується" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Секунди" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Секунди, що показуються" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Рік нижньої межі" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Рік нижньої межі часового інтервалу" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Рік верхньої межі" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Рік верхньої межі часового інтервалу" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Місяць нижньої межі" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Місяць нижньої межі часового інтервалу" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Місяць верхньої межі" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Місяць верхньої межі часового інтервалу" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "День нижньої межі" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "День нижньої межі часового інтервалу" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "День верхньої межі" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "День верхньої межі часового інтервалу" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Час нижньої межі" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Час нижньої межі часового інтервалу" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Час верхньої межі" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Час верхньої межі часового інтервалу" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Хвилини нижньої межі" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Хвилини нижньої межі часового інтервалу" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Хвилини верхньої межі" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Хвилини верхньої межі часового інтервалу" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Секунди нижньої межі" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Секунди нижньої межі часового інтервалу" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Секунди верхньої межі" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Секунди верхньої межі часового інтервалу" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Дата" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Введіть дату" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Виберіть дату" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Виберіть дату за допомогою календаря" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "Час" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Введіть час" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Виберіть час" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Виберіть час зі списку" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "AM" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "PM" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Не вдалось показати довідку: %s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "Додати підключ до %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (лише підпис)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (лише шифрування)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (лише підпис)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (лише шифрування)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "Т_ип ключа" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "Дов_жина ключа" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "Довжина ключа" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "Закінчується дія" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "Ніколи _не закінчується термін дії" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "Якщо дія ключа ніколи не закінчується" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "Створити новий підключ" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "Додати ідентифікатор користувача до %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "Не вдалося додати ідентифікатор користувача" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "Додати ідентифікатор користувача" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "_Ім'я повністю" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "Довжина повинна бути не менша ніж 5 символів" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "_Адреса ел. пошти" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "Необов'язкова адреса ел.пошти" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "_Коментар до ключа" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "Необов'язковий коментар з описом ключа" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "Створити новий ідентифікатор користувача" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "" +"Не вдалося розшифрувати. Можливо, відсутній потрібний ключ для " +"розшифровування." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "Операцію скасовано" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "Некоректний термін дії" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "Термін дії має закінчуватися у майбутньому" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "Не вдалося змінити термін дії" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "Дійсний до: %s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "_Ніколи не закінчується" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "_Змінити" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "Декілька ключів" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "Дані ключа" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "Захищені ключі через PGP" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "Ключ PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "Не вдалося створити ключ PGP" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "Пароль для нового PGP ключа" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "Введіть пароль для нового ключа двічі." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Коли створюєте ключ, потрібно породити багато\n" +"випадкових даних і потрібна ваша поміч. Було б добре\n" +"виконати певні всілякі дії, як-от, клацання по\n" +"клавіатурі, рухання мишкою, користування програмами.\n" +"Це дає системі випадкові дані, які їй потрібно." + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "Створення ключа" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "Довжина назви повинна бути не менша ніж 5 символів." + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "Новий ключ PGP" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "Ключ PGP дозволяє шифрувати пошту та файли для інших людей." + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "_Додаткові параметри ключа" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "_Коментар" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "_Тип шифрування" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "_Міцність ключа (біти):" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "_Термін дії:" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "Н_іколи не закінчується" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "_Створити" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "Створити новий ключ" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Остаточно вилучити %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Остаточно вилучити %d ключ?" +msgstr[1] "Остаточно вилучити %d ключі?" +msgstr[2] "Остаточно вилучити %d ключів?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "Неправильний пароль" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Ви тричі ввели неправильний пароль. Спробуйте ще раз." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "Неправильний пароль." + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Введіть новий пароль до «%s»" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Введіть пароль до «%s»" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Введіть новий пароль" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "Введіть пароль" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "Пароль" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Завантажено %d ключ" +msgstr[1] "Завантажено %d ключі" +msgstr[2] "Завантажено %d ключів" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Некоректні дані ключа (відсутні ідентифікатори користувача). Причиною можуть " +"бути некоректний час у комп'ютері, наприклад, час у майбутньому або " +"відсутній підпис." + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "Ключі GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: типовий каталог в’язки ключів" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Фотографія надто велика\n" +"Рекомендований розмір фотографії - %d ⨯ %d точок." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Не змінювати розмір" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "_Змінювати розмір" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Це не файл зображення чи він не розпізнаний коректно. Спробуйте використати " +"зображення у форматі JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Всі файли зображення" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Всі файли формату JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "Усі файли" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Виберіть фотографію для додавання до ключа" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "Від_крити" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Не вдалося підготувати фотографію" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Не вдалося додати фотографію" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Не вдалося завантажити файл. Може бути, він має некоректний формат" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Вилучити поточну фотографію з ключа?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Не вдалося вилучити фотографію" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "Не вдалося відкликати підключ" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "Відкликати: %s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "Немає причини" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "Причина відкликання ключа не зазначена" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "Скомпрометований" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "Ключ був скомпрометований" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "Замінений" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "Ключ був замінений" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "Не використовується" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "Ключ вже не використовується" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Ви намагаєтесь додати %s як ключ відкликання до %s. Цю операцію неможливо " +"скасувати! Ви впевнені, що бажаєте продовжити?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "Не вдалося додати позначку про відкликання" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Я розумію, що ця таємний ключ остаточно буде вилучено." + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Цей ключ вже підписано\n" +"«%s»" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "Не вдалося підписати ключ" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Немає придатних ключів для підпису" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"В вас немає особистого ключа PGP, необхідного для того, щоб висловити довіру " +"цьому ключу." + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "Підписати ключ" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "" +"Підписуючи ключ, ви заявляєте про свою довіру тому, кому належить цей ключ:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "Назва ключа" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "Наскільки ретельно ви перевірили цей ключ?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "_Ніяк" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "_Поверхнево" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "Дуже _обережно" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Ніякі: означає, що ви вірите, ще цей ключ належить тому, хто " +"записаний власником, але ви не перевірили це." + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Поверхнево: означає, що ви провели поверхневе перевіряння того,\n" +"що цей ключ належить тому, хто записаний власником. Наприклад, ви\n" +"з власником звірили відбитки ключа, переданні через телефон від власника." + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Дуже ретельно: Вибирайте цей варіант лише коли ви впевнені, що цей " +"ключ автентичний." + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Ви можете використовувати ідентифікацію по фотографії, яку складно підробити " +"(наприклад, у паспорті), щоб особисто впевнитись у коректності ключа. Ви " +"повинні також перевірити, що адреса електронної пошти належить власнику, " +"надсилаючи йому поштове повідомлення." + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "Інші побачать цей підпис як:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "_Інші можуть не бачити цей підпис" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "Я можу _відкликати цей підпис пізніше." + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "Підписати ключ як:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "_Автор підпису:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "_Підписати" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Невідомо" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Параметри пошуку були недостатньо визначеними. Сервер «%s» видав надто " +"багато ключів." + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Не вдалося зв'язатись з сервером «%s»: %s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "Сервер ключів HTTP" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "Не вдалося імпортувати ключ: %s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "Ключ успішно імпортовано" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "Імпорт" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "Не вдалося імпортувати ключ" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "Ключі з мережі" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "Ключі з мережі, що містять «%s»" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "Не вдалось знайти ключі." + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "" +"Двічі клацніть на пункті ключа, щоб розпочати його інспектування, або " +"клацніть на кнопці імпортування, щоб імпортувати ключ до вашої локальної " +"в'язки ключів." + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "Знайти ключі у мережі" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Так можна знайти інші ключі у мережі. Ці ключі будуть внесені у локальну " +"в'язу." + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "П_ошук ключів, що містять: " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "Де шукати:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "Сервери ключів" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "Оголошені ключі у моїй мережі:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "_Пошук" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Не вдалося опублікувати ключі на сервері" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Не вдалося завантажити ключі з сервера: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d ключ вибрано для синхронізації" +msgstr[1] "%d ключі вибрано для синхронізації" +msgstr[2] "%d ключі вибрано для синхронізації" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Синхронізація ключів…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Синхронізувати ключі" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Зараз ключі з вашої в'язки будуть опубліковані на сервері та стануть " +"доступними для інших. Також ви отримаєте інформацію, що оновлюється з " +"останнього підключення до сервера ключів." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Зараз усі зміни, зроблені з останнього з'єднання до сервера будуть " +"перенесені на комп'ютер. Серверів для публікації ключів обрано не було, тому " +"ваші ключі не будуть доступні іншим." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "_Сервера ключів" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "_Синхронізувати" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Не вдалося зв'язатись з «%s»: %s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "З'єднання: %s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Не вдалося визначити адресу: %s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "Визначення адреси сервера: %s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "Сервер ключів LDAP" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "Ключі PGP" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "Ключі PGP для шифрування пошти або файлів" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(і ще %d)" +msgstr[1] "(і ще %d)" +msgstr[2] "(і ще %d)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "Особистий ключ PGP" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "Ключ PGP" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "Не вдалося змінити головний ідентифікатор користувача" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Вилучити ідентифікатор користувача «%s»?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "Не вдалося вилучити ідентифікатор користувача" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[Невідомо]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "Ім'я/ел. пошта" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "Ідентифікатор підпису" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "Не вдалося змінити головну фотографію" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "Помилка під час спроби змінити пароль" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(невідомо)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "Цей ключ закінчився %s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — відкритий ключ" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — закритий ключ" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Остаточно вилучити підключ %d з ключа %s?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "Не вдалося вилучити підключ" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "Не вдалося змінити рівень довіри" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "Не вдалося експортувати ключ" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "Ніколи" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "Ідентифікатор" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "Використання" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "Створено" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "Закінчується дія" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "Стан" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "Міцність" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "Відкликаний" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "Термін вийшов" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "Вимкнений" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "Добра" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "Ідентифікатор ключа" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Я довіряю підписам, поставленим «%s» на інших ключах" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "" +"Якщо ви впевнені, що власником ключа є «%s», підпишіть цей ключ:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Якщо ви більше не впевнені, що власником ключа є «%s», відкличте свій " +"підпис:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "Експортувати с_екретний ключ" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "Експортувати _відкритий ключ" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "Цей ключ був відкликаний" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Власник відкликав ключ. Його не можна використовувати." + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "Термін дії цього ключа закінчився" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "Додати фотографію" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "Вилучити фотографію з цього ключа" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "Зробити цю фотографію головною" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "Перейти до наступної фотографії" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "Перейти до наступної фотографії" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "Коментар" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "Змінити _пароль" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "Власник" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "Імена та підписи" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "Первинний" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "Підписати" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "Вилучити" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "_Додати ім'я" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "Відкликати" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "Імена та підписи" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "Ідентифікатор ключа:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "Тип:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "Міцність:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "Технічні подробиці" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "Відбиток" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "Створено:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "Закінчується дія:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "Дати" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "Вказати _довіру власнику:" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "Е_кспортувати у файл" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "Дії" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "Закінчується дія" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "_Підключі" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "Слабо" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "Повністю" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Беззастережно" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "_Інші імена:" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "Ваша довіра цьому ключу" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "Рівень довіри задається у закладці подробиці." + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "_Підписати ключ" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "_Відкликати підпис" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "_Люди, які підписали цей ключ:" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "Показувати лише підписи людей, яким я _довіряю" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "Довіряти" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "Технічні подробиці:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "Відбиток:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "Дати" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "Рівень довіри:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "Ви д_овіряєте власнику:" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "Шифрувати" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "Сертифікувати" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "Автентифікувати" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "Ключ" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "Підключ %d ключа %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Причина відкликання ключа" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Причина:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Необов'язковий опис відкликання" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Відкликати ключ" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "_Відкликати" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Немає особистого ключа PGP, придатного для підпису документу або " +"повідомлення." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Виберіть ключ для підпису" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Підписати повідомлення ключем:" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "Експортування даних" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "Одержання даних" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "Імпортування даних" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "Надсилання даних" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Недоступно" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Сертифікат" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Сертифікати (закодовано через DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Особистий сертифікат і ключ" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Особистий сертифікат" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Остаточно вилучити %d сертифікат?" +msgstr[1] "Остаточно вилучити %d сертифікати?" +msgstr[2] "Остаточно вилучити %d сертифікатів?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "Не вдалося породити закритий ключ" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Я розумію, що цей ключ буде остаточно вилучено." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Неназваний закритий ключ" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "Закритий ключ" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "Без назви" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "Не вдалось експортувати сертифікат" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "Не вдалося вилучити" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "Створити" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "Не вдалося створити запит на сертифікацію" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Зберегти запит на сертифікат" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "З_берегти" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "Запит на сертифікат" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "Запит на кодування PEM" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "Не вдалося зберегти запит на сертифікацію" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Невідомо" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "Сертифікати X.509 і пов'язані ключі" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "Новий закритий ключ" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "Створити новий закритий ключ" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "Мітка:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "Збережено в:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "Т_ип ключа:" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "_Міцність ключа (біти):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "Вилучити цей сертифікат або ключ" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "Експортувати сертифікат" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "Надіслати запити щодо сертифікації" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "Створити файл запиту на сертифікат для цього ключа" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Створити файл запиту на сертифіката." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Загальна назва (CN) у запиті на сертифікат." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Назва (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "Підтримка:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "Версія програми" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"Юрій Сирота \n" +"Максим Дзюманенко \n" +"wanderlust \n" +"Korostil Daniel \n" +"Mykola Tkach " + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Домашня сторінка проекту Seahorse" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "Дані, які слід імпортувати" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "_Імпорт" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "Не вдалось імпортувати" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "Імпортувати ключ" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "Усі файли ключів" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "Кинутий текст" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "Текст з буфера" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "Не вдалося розблокувати в'язку ключів" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Змінити пароль" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "_Новий пароль:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Підтвердьте новий пароль" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "Підт_вердження паролю:" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "З_найти віддалені ключі…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "_Синхронізувати та опублікувати ключі…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "_Налаштування" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "_Довідка" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "_Клавіатурні скорочення" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "_Про «Паролі й ключі»" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "Фільтр записів:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "Показати _особисті" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "Показати д_овірені" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "Показати _усі" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "Ключ SSH" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "Використовується для доступу до інших комп'ютерів." + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "Ключ GPG" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "Використовується для шифрування пошти та файлів" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "В'язка ключів для паролів" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "Використовується для зберігання паролів програм та мережних вузлів" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "Безпечно зберегти пароль" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "Потрібно для одержання сертифікатів" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "Імпортувати з файла…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "Додати новий ключ або об'єкт" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "Назад" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "Шукати ключ або пароль" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "Фільтр" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "Здається, у цій збірці нічого немає" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "В'язку заблоковано" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "Розблокувати" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "Копіювати пароль" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "Експортувати…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "Властивості" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "Налаштовувати к_люч для SSH…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "_Блокувати" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "_Розблокувати" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "_Властивості" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "Не вдалося заблокувати" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Безпечна оболонка" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Ключі для безпечного з'єднання до інших комп'ютерів" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Ви справді хочете вилучити ключ SSH «%s»?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Остаточно вилучити %u безпечний ключ?" +msgstr[1] "Остаточно вилучити %u безпечних ключі?" +msgstr[2] "Остаточно вилучити %u безпечних ключів?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Ключі таємного SSH" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Відкриті ключі SSH" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Ключ SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Для цього ключа немає файлів відкритого ключа." + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Не вдалося завантажити щойно створений ключ SSH" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "Не вдалося створити ключ SSH" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "Створення ключа віддаленого командного рядка" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 біти" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 бітів" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Невідомий тип ключа!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "Невідомий тип" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "Не вдалося перейменувати ключ." + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "Не вдалося змінити параметри авторизації для цього ключа." + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "Не вдалося змінити пароль для цього ключа." + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "Помилка під час спроби вилучити ключ SSH." + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "Особистий ключ SSH" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "Ключ SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(ключ оболонки віддаленого командного рядка, що не показується)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "Ключ SSH" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "Пароль віддаленого доступу" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "Введіть пароль ключа" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "Пароль для нового ключа віддаленого командного рядка" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "Імпорт ключа: %s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "Імпорт ключа. Введіть пароль" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Введіть пароль віддаленого командного рядка:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Старий пароль" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Введіть старий пароль для %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Новий пароль" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Введіть новий пароль для %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Введіть новий пароль знову: %s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "Новий ключ віддаленого командного рядка" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Ключ Secure Shell (SSH) допомагає безпечно з'єднатись з іншими комп'ютерами." + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "_Опис" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "Ваша поштова адреса, або нагадування для чого цей ключ." + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Якщо є комп'ютер, з яким бажаєте використовувати цей ключ його, можна " +"налаштувати цей комп'ютер для розпізнавання нового ключа." + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "_Просто створити ключ" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "Створити та _встановити" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "Властивості ключа SSH" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "Назва" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "Алгоритм" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "Довжина ключа" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "Розташування" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "Відкритий ключ" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "Копіювати відкритий ключ до буфера обміну" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "Віддалений доступ" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "Дозволяє віддалений доступ до цього комп'ютера" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "_Експортувати" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "Ви_лучити ключ SSH" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "Налаштувати комп'ютер для роботи з SSH" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Щоб використовувати ключ SSH з іншим комп'ютером, що використовує SSH, у вас " +"вже має бути обліковий запис на тому комп'ютері.на цьому комп'ютері." + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "_Адреса сервера:" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "приклад: fileserver.example.com:порт" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "_Обліковий запис:" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "Налаштувати" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "Ключі OpenSSH" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "Не вдалося знайти приватний ключ для цього публічного ключа." + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Не вдалося налаштувати ключі SSH на віддаленому комп'ютері." + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "Налаштовування ключів SSH…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse — програма GNOME для керування ключами шифрування. Вона " +#~ "інтегрується з іншими програмами для шифрувальних операцій." diff --git a/po/vi.po b/po/vi.po new file mode 100644 index 00000000..a5b5df2d --- /dev/null +++ b/po/vi.po @@ -0,0 +1,2739 @@ +# Vietnamese translation for Seahorse. +# Bản dịch tiếng Việt dành cho Seahorse. +# Copyright © 2015 GNOME i18n Project for Vietnamese. +# This file is distributed under the same license as the seahorse package. +# Nguyễn Thái Ngọc Duy , 2007,2011-2013. +# Clytie Siddall , 2006-2009. +# Trần Ngọc Quân , 2013, 2014, 2015, 2016, 2017, 2018. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?" +"product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2018-03-10 23:09+0000\n" +"PO-Revision-Date: 2018-03-11 07:19+0700\n" +"Last-Translator: Trần Ngọc Quân \n" +"Language-Team: Vietnamese \n" +"Language: vi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Gtranslator 2.91.7\n" +"X-Poedit-SourceCharset: UTF-8\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "Thêm máy phục vụ khóa" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "Tự chọn" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 +msgid "Cancel" +msgstr "Thôi" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "Ghi lại" + +#: common/catalog.vala:259 +msgid "Contributions:" +msgstr "Những người có đóng góp:" + +#: common/catalog.vala:285 data/seahorse.desktop.in.in:3 +#: src/seahorse-key-manager.c:658 +msgid "Passwords and Keys" +msgstr "Mật khẩu và Chìa khóa" + +#: common/catalog.vala:287 +msgid "translator-credits" +msgstr "Nhóm Việt hóa GNOME " + +#: common/catalog.vala:290 +msgid "Seahorse Project Homepage" +msgstr "Trang chủ dự án Seahorse" + +#: common/catalog.vala:308 +msgid "Cannot delete" +msgstr "Không thể xóa" + +#: common/catalog.vala:331 common/key-manager-store.vala:427 +msgid "Couldn’t export keys" +msgstr "Không thể xuất khóa" + +#: common/catalog.vala:342 +msgid "Couldn’t export data" +msgstr "Không thể xuất dữ liệu" + +#: common/catalog.vala:358 libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "Không thể hiển thị trợ giúp: %s" + +#. Top menu items +#: common/catalog.vala:364 +msgid "_File" +msgstr "_Tập tin" + +#: common/catalog.vala:365 +msgid "E_xport…" +msgstr "_Xuất ra…" + +#: common/catalog.vala:366 +msgid "Export to a file" +msgstr "Xuất ra tập tin" + +#: common/catalog.vala:367 +msgid "_Edit" +msgstr "_Sửa" + +#: common/catalog.vala:368 +msgid "_Copy" +msgstr "_Chép" + +#: common/catalog.vala:369 +msgid "Copy to the clipboard" +msgstr "Chép sang clipboard" + +#. Translators: This text refers to deleting an item from its type's backing store +#: common/catalog.vala:371 common/delete-dialog.vala:91 +#: pkcs11/pkcs11-properties.vala:201 src/seahorse-sidebar.c:954 +msgid "_Delete" +msgstr "_Xóa" + +#: common/catalog.vala:372 +msgid "Delete selected items" +msgstr "Xóa các mục đã chọn" + +#: common/catalog.vala:373 common/catalog.vala:375 src/seahorse-sidebar.c:965 +msgid "_Properties" +msgstr "Th_uộc tính" + +#: common/catalog.vala:374 +msgid "Show the properties of this item" +msgstr "Hiện thuộc tính mục này" + +#: common/catalog.vala:376 +msgid "Show the properties of this keyring" +msgstr "Hiện thuộc tính chùm chìa khóa này" + +#: common/catalog.vala:377 +msgid "Prefere_nces" +msgstr "Tù_y thích" + +#: common/catalog.vala:378 +msgid "Change preferences for this program" +msgstr "Thay đổi các tùy chọn cho phù hợp với cá tính riêng của mỗi người" + +#: common/catalog.vala:379 +msgid "_View" +msgstr "_Trình bày" + +#: common/catalog.vala:380 +msgid "_Help" +msgstr "Trợ g_iúp" + +#: common/catalog.vala:381 +msgid "_About" +msgstr "_Giới thiệu" + +#: common/catalog.vala:382 +msgid "About this program" +msgstr "Giới thiệu về chương trình này" + +#: common/catalog.vala:383 +msgid "_Contents" +msgstr "Mục lụ_c" + +#: common/catalog.vala:384 +msgid "Show Seahorse help" +msgstr "Hiện trợ giúp Seahorse" + +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 +msgid "_Cancel" +msgstr "_Thôi" + +#: common/exportable.vala:192 pgp/seahorse-pgp-private-key-properties.ui:1427 +msgid "Export" +msgstr "Xuất ra" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "Xác nhận:" + +#: common/passphrase-prompt.vala:121 +msgid "_OK" +msgstr "Đồn_g ý" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "Mật khẩu:" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "Tùy thích" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "Không: Đừng xuất bản khóa" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "Không phải địa chỉ máy phục vụ khóa hợp lệ." + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "" +"Để được trợ giúp, hãy liên lạc với quản trị hệ thống của bạn hoặc với người " +"quản trị của máy phục vụ khóa." + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "mục tạm khởi tạo" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "Kiểu máy phục vụ khóa:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "Máy chủ:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:50 +#: ssh/seahorse-ssh-upload.ui:117 +msgid "The host name or address of the server." +msgstr "Tên hay địa chỉ của máy phục vụ." + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "Cổng nơi cần truy cập máy phục vụ." + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "_Tìm khóa thông qua:" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "_Xuất bản khóa tới:" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "Tự động lấy các khóa từ các máy phục vụ _khóa" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "Tự động đồng bộ hóa các khóa đã sửa đổi với các _máy phục vụ khóa" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "Máy phục vụ khóa" + +#. TRANSLATORS: this date (Year-month-day) is used to display +#. * when something happened, e.g. when a key was created. Feel +#. * free to put it in the correct order for your language. +#. +#: common/util.vala:63 +msgid "%Y-%m-%d" +msgstr "%d-%m-%Y" + +#: common/validity.vala:38 pgp/seahorse-pgp-key-properties.c:1250 +#: pgp/seahorse-pgp-private-key-properties.ui:12 +#: pgp/seahorse-pgp-public-key-properties.ui:12 +msgctxt "Validity" +msgid "Unknown" +msgstr "Không rõ" + +#: common/validity.vala:40 pgp/seahorse-pgp-key-properties.c:1256 +#: pgp/seahorse-pgp-private-key-properties.ui:15 +#: pgp/seahorse-pgp-public-key-properties.ui:15 +msgctxt "Validity" +msgid "Never" +msgstr "Không bao giờ" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:18 +msgctxt "Validity" +msgid "Marginal" +msgstr "Sát giới hạn" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:21 +msgctxt "Validity" +msgid "Full" +msgstr "Đầy đủ" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:24 +msgctxt "Validity" +msgid "Ultimate" +msgstr "Không giới hạn" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "Tắt" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "Bị thu hồi" + +#: data/seahorse.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/seahorse.appdata.xml.in:7 data/seahorse.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "Quản lý các mật khẩu và khóa mã hóa của bạn" + +#: data/seahorse.appdata.xml.in:9 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "" +"Seahorse là ứng dụng của GNOME dùng để quản lý các khóa mã hóa. Nó cũng được " +"tổ hợp cùng với nautilus, gedit và một số cái khác nữa để thực hiện các thao " +"tác mã hóa." + +#: data/seahorse.appdata.xml.in:13 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"Khi dùng seahorse bạn có thể tạo và quản lý các khóa PGP, tạo và quản lý " +"khóa SSH, xuất hay nhận khóa từ các máy chủ phục vụ khóa, nhớ đệm mật khẩu " +"mở tập tin khóa do đó bạn không cần phải gõ nó và sao lưu dự phòng khóa và " +"chùm khóa cho bạn." + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/seahorse.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" +"keyring;vòng;khóa;vong;khoa;encryption;mã;hóa;ma;hoa;mật;security;an;ninh;" +"bảo;mật;bao;mat;sign;ký;ky;ssh;pgp;gpg;" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/seahorse.desktop.in.in:11 +msgid "seahorse" +msgstr "seahorse" + +#: gkr/gkr-backend.vala:43 +msgid "Passwords" +msgstr "Mật khẩu" + +#: gkr/gkr-backend.vala:47 +msgid "Stored personal passwords, credentials and secrets" +msgstr "Mật khẩu cá nhân, chứng nhận và các thứ bí mật khác được lưu" + +#: gkr/gkr-backend.vala:255 +msgid "New password keyring" +msgstr "Chùm chìa khóa mật khẩu mới" + +#: gkr/gkr-backend.vala:256 gkr/gkr-backend.vala:263 +msgid "Used to store application and network passwords" +msgstr "Dùng để lưu trữ các mật khẩu kiểu ứng dụng và mạng" + +#: gkr/gkr-backend.vala:257 +msgid "New password…" +msgstr "Mật khẩu mới…" + +#: gkr/gkr-backend.vala:258 gkr/gkr-backend.vala:265 +msgid "Safely store a password or secret." +msgstr "Lưu an toàn mật khẩu hoặc bí mật." + +#: gkr/gkr-backend.vala:262 +msgid "Password Keyring" +msgstr "Chùm chìa khóa mật khẩu" + +#: gkr/gkr-backend.vala:264 +msgid "Stored Password" +msgstr "Mật khẩu đã lưu" + +#: gkr/gkr-item-add.vala:24 +msgid "Add Password" +msgstr "Thêm mật khẩu" + +#: gkr/gkr-item-add.vala:101 +msgid "Couldn’t add item" +msgstr "Không thể thêm mục" + +#: gkr/gkr-item-properties.vala:102 +msgid "Save changes for this item?" +msgstr "Lưu những thay đổi cho mục này?" + +#: gkr/gkr-item-properties.vala:120 +msgid "Access a network share or resource" +msgstr "Truy cập một vùng chia sẻ hay tài nguyên của mạng" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a website" +msgstr "Truy cập một địa chỉ Web" + +#: gkr/gkr-item-properties.vala:126 +msgid "Unlocks a PGP key" +msgstr "Gỡ khóa một khóa PGP" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a Secure Shell key" +msgstr "Gỡ khóa một khóa SSH" + +#: gkr/gkr-item-properties.vala:132 +msgid "Saved password or login" +msgstr "Mật khẩu hay thông tin đăng nhập đã lưu" + +#: gkr/gkr-item-properties.vala:145 +msgid "Network Credentials" +msgstr "Thông tin xác thực mạng" + +#: gkr/gkr-item-properties.vala:150 gkr/seahorse-gkr-item-properties.ui:68 +msgid "Password" +msgstr "Mật khẩu" + +#: gkr/gkr-item-properties.vala:206 +msgid "Couldn’t change password." +msgstr "Không thể thay đổi mật khẩu." + +#: gkr/gkr-item-properties.vala:230 +msgid "Couldn’t set description." +msgstr "Không thể đặt mô tả." + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "Mật khẩu tài khoản IM cho " + +#: gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "Mật khẩu hoặc mật mã" + +#: gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "Mật khẩu mạng" + +#: gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "Ghi chú được lưu" + +#: gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "Mật khẩu chùm chìa khóa" + +#: gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "Mật khẩu khóa mật mã hóa" + +#: gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "Mật khẩu kho chứa khóa" + +#: gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "Mật khẩu Google Chrome" + +#: gkr/gkr-item.vala:451 +msgid "GNOME Online Accounts password" +msgstr "Mật khẩu Tài khoản GNOME trực tuyến" + +#: gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "Mật khẩu Telepathy" + +#: gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "Mật khẩu tán gẫu" + +#: gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "Mật mã Trình quản lý mạng" + +#: gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "Bạn có chắc muốn xóa mật khẩu “%s” không?" + +#: gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "Bạn có chắc muốn xóa %d mật khẩu không?" + +#: gkr/gkr-keyring-add.vala:25 +msgid "Add Password Keyring" +msgstr "Thêm chùm chìa khóa mật khẩu" + +#: gkr/gkr-keyring-add.vala:55 +msgid "Couldn’t add keyring" +msgstr "Không thể thêm chùm chìa khóa" + +#: gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "Tự động mở chùm chìa khóa khi đăng nhập" + +#: gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "Chùm chìa khóa dùng để lưu mật khẩu" + +#: gkr/gkr-keyring.vala:174 +msgid "Couldn’t set default keyring" +msgstr "Không thể đặt chùm chìa khóa mặc định" + +#: gkr/gkr-keyring.vala:198 gkr/gkr-keyring.vala:203 +msgid "Couldn’t change keyring password" +msgstr "Không thể thay đổi mật khẩu của chùm chìa khóa" + +#: gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "Đặt là _mặc định" + +#: gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "Ứng dụng thường lưu mật khẩu mới vào chùm chìa khóa mặc định." + +#: gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "Đổi _mật khẩu" + +#: gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "Thay đổi mật khẩu sẽ mở khóa chùm chìa khóa lưu trữ mật khẩu" + +#: gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "Bạn có chắc muốn xóa chùm chìa khóa mật khẩu “%s” không?" + +#: gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "Tôi hiểu mọi mục sẽ bị xóa vĩnh viễn." + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "Hiện/ẩn mật khẩu" + +#: gkr/seahorse-add-keyring.ui:17 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "" +"Hãy chọn tên cho chùm chìa khóa mới. Bạn sẽ được nhắc nhập mật khẩu khi gỡ " +"khóa." + +#: gkr/seahorse-add-keyring.ui:34 +msgid "New Keyring Name:" +msgstr "Tên chùm chìa khóa mới:" + +#: gkr/seahorse-gkr-add-item.ui:20 gkr/seahorse-gkr-item-properties.ui:41 +#: pgp/seahorse-revoke.ui:55 ssh/seahorse-ssh-generate.ui:124 +msgid "_Description:" +msgstr "_Mô tả:" + +#: gkr/seahorse-gkr-add-item.ui:49 +msgid "_Password:" +msgstr "_Mật khẩu:" + +#: gkr/seahorse-gkr-add-item.ui:60 +msgid "_Show Password" +msgstr "Hiện _mật khẩu" + +#: gkr/seahorse-gkr-add-item.ui:93 +msgid "_Keyring:" +msgstr "_Chùm chìa khóa:" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:92 +#: pgp/seahorse-pgp-private-key-properties.ui:553 +#: pgp/seahorse-pgp-public-key-properties.ui:442 +msgid "Use:" +msgstr "Dùng:" + +#: gkr/seahorse-gkr-item-properties.ui:118 +#: pgp/seahorse-pgp-private-key-properties.ui:567 +#: pgp/seahorse-pgp-private-key-properties.ui:1106 +#: pgp/seahorse-pgp-public-key-properties.ui:557 +#: pgp/seahorse-pgp-public-key-properties.ui:1223 +#: ssh/seahorse-ssh-key-properties.ui:75 +msgid "Type:" +msgstr "Kiểu:" + +#: gkr/seahorse-gkr-item-properties.ui:143 +msgid "Server:" +msgstr "Máy chủ:" + +#: gkr/seahorse-gkr-item-properties.ui:167 +msgid "Login:" +msgstr "Đăng nhập:" + +#: gkr/seahorse-gkr-item-properties.ui:206 pgp/seahorse-pgp-subkey.c:402 +#: ssh/seahorse-ssh-key-properties.ui:239 +msgid "Key" +msgstr "Khóa" + +#: gkr/seahorse-gkr-item-properties.ui:256 +#: pgp/seahorse-pgp-public-key-properties.ui:1151 +#: ssh/seahorse-ssh-key-properties.ui:408 +msgid "Technical Details:" +msgstr "Chi tiết kỹ thuật:" + +#: gkr/seahorse-gkr-item-properties.ui:276 +#: pgp/seahorse-pgp-private-key-properties.ui:1722 +#: pgp/seahorse-pgp-public-key-properties.ui:1611 +#: ssh/seahorse-ssh-key-properties.ui:451 +msgid "Details" +msgstr "Chi tiết" + +#: gkr/seahorse-gkr-keyring.ui:46 +msgid "Name:" +msgstr "Tên:" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-keyring.ui:59 +#: pgp/seahorse-pgp-private-key-properties.ui:1233 +#: pgp/seahorse-pgp-public-key-properties.ui:1384 +msgid "Created:" +msgstr "Ngày tạo:" + +#: gkr/seahorse-gkr-keyring.ui:124 +msgid "Keyring" +msgstr "Chùm chìa khóa" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "Hiển thị cờ" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "Thuộc tính ngày/giờ đã hiển thị" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "Chế độ lười" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "" +"Chế độ lười thì không cần nhập các giá trị ngày tháng và thời gian như theo " +"tiêu chuẩn" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "Năm" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "Năm đã hiển thị" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "Tháng" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "Tháng đã hiển thị" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "Ngày" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "Ngày của tháng đã hiển thị" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "Giờ" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "Giờ đã hiển thị" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "Phút" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "Phút đã hiển thị" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "Giây" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "Giây đã hiển thị" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "Năm giới hạn dưới" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "Phần năm của giới hạn ngày dưới" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "Năm giới hạn trên" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "Phần năm của giới hạn ngày trên" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "Tháng giới hạn dưới" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "Phần tháng của giới hạn ngày dưới" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "Tháng giới hạn trên" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "Phần tháng của giới hạn ngày trên" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "Ngày giới hạn dưới" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "Phần ngày của tháng của giới hạn ngày dưới" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "Ngày giới hạn trên" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "Phần ngày của tháng của giới hạn ngày trên" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "Giờ giới hạn dưới" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "Phần giờ của giới hạn ngày dưới" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "Giờ giới hạn trên" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "Phần giờ của giới hạn ngày trên" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "Phút giới hạn dưới" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "Phần phút của giới hạn ngày dưới" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "Phút giới hạn trên" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "Phần phút của giới hạn ngày trên" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "Giây giới hạn dưới" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "Phần giây của giới hạn ngày dưới" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "Giây giới hạn trên" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "Phần giây của giới hạn ngày trên" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "Ngày" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "Nhập trực tiếp ngày tháng" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "Chọn ngày" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "Chọn ngày tháng trong một lịch" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "Giờ" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "Nhập trực tiếp thời gian" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "Chọn giờ" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "Chọn thời gian từ danh sách" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: no" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1259 +#: libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "SA" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1260 +#: libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "CH" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-application.c:94 +msgid "Version of this application" +msgstr "Phiên bản của ứng dụng này" + +#: libseahorse/seahorse-application.c:100 +#: libseahorse/seahorse-application.c:144 +msgid "- System Settings" +msgstr "- Cài đặt hệ thống" + +#: libseahorse/seahorse-application.c:140 +msgid "Don't display a window" +msgstr "Không hiển thị một cửa sổ" + +#: libseahorse/seahorse-interaction.c:97 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "Nhập mã PIN hoặc mật khẩu cho: %s" + +#: libseahorse/seahorse-search-provider.c:183 +msgid "The search provider is not loaded yet" +msgstr "Máy tìm kiếm vẫn chưa được tải lên" + +#: pgp/seahorse-add-subkey.ui:31 +msgid "Never E_xpires" +msgstr "_Không bao giờ hết hạn" + +#: pgp/seahorse-add-subkey.ui:35 +msgid "If key never expires" +msgstr "Nếu khóa không bao giờ hết hạn" + +#: pgp/seahorse-add-subkey.ui:65 pkcs11/seahorse-pkcs11-generate.ui:149 +msgid "Key _Type:" +msgstr "_Kiểu khóa:" + +#: pgp/seahorse-add-subkey.ui:78 +msgid "Key _Length:" +msgstr "Chiều _dài của khóa:" + +#: pgp/seahorse-add-subkey.ui:93 +msgid "Expiration Date:" +msgstr "Ngày hết hạn:" + +#: pgp/seahorse-add-subkey.ui:112 +msgid "Length of Key" +msgstr "Độ dài của khóa" + +#: pgp/seahorse-add-subkey.ui:194 +msgid "Generate a new subkey" +msgstr "Tạo một khóa phụ mới" + +#: pgp/seahorse-add-uid.ui:8 +msgid "Add User ID" +msgstr "Thêm mã số người dùng" + +#: pgp/seahorse-add-uid.ui:28 +msgid "Must be at least 5 characters long" +msgstr "Độ dài ít nhất 5 ký tự" + +#: pgp/seahorse-add-uid.ui:42 +msgid "Optional email address" +msgstr "Địa chỉ thư điện tử tùy chọn" + +#: pgp/seahorse-add-uid.ui:58 +msgid "Optional comment describing key" +msgstr "Chú thích tùy chọn mà diễn tả khóa" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-add-uid.ui:73 pgp/seahorse-pgp-generate.ui:191 +msgid "Full _Name:" +msgstr "_Họ và tên:" + +#: pgp/seahorse-add-uid.ui:86 pgp/seahorse-pgp-generate.ui:204 +msgid "_Email Address:" +msgstr "Đị_a chỉ thư:" + +#: pgp/seahorse-add-uid.ui:101 +msgid "Key Co_mment:" +msgstr "_Ghi chú khóa:" + +#: pgp/seahorse-add-uid.ui:162 +msgid "Create the new user ID" +msgstr "Tạo ID người dùng mới" + +#: pgp/seahorse-expires.ui:22 +msgid "_Never expires" +msgstr "_Không bao giờ hết hạn" + +#: pgp/seahorse-expires.ui:80 pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "Thu hồi khóa" + +#: pgp/seahorse-expires.ui:106 +msgid "C_hange" +msgstr "Đổ_i" + +#: pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn’t add subkey" +msgstr "Không thể thêm khóa phụ" + +#: pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "Thêm khóa phụ vào %s" + +#: pgp/seahorse-gpgme-add-subkey.c:196 pgp/seahorse-gpgme-generate.c:131 +msgid "DSA (sign only)" +msgstr "DSA (chỉ ký)" + +#: pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (chỉ mã hóa)" + +#: pgp/seahorse-gpgme-add-subkey.c:210 pgp/seahorse-gpgme-generate.c:132 +msgid "RSA (sign only)" +msgstr "RSA (chỉ ký)" + +#: pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (chỉ mã hóa)" + +#: pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn’t add user id" +msgstr "Không thể thêm mã số người dùng" + +#: pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "Thêm mã số người dùng vào %s" + +#: pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "Ngày hết hạn không hợp lệ" + +#: pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "Ngày hết hạn phải nằm trong tương lai" + +#: pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn’t change expiry date" +msgstr "Không thể thay đổi ngày hết hạn" + +#: pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "Hết hạn: %s" + +#: pgp/seahorse-gpgme-exporter.c:81 +msgid "Multiple Keys" +msgstr "Đa khóa" + +#: pgp/seahorse-gpgme-exporter.c:85 +msgid "Key Data" +msgstr "Dữ liệu khóa" + +#: pgp/seahorse-gpgme-exporter.c:113 +msgid "Armored PGP keys" +msgstr "Khóa Armored PGP" + +#: pgp/seahorse-gpgme-exporter.c:117 +msgid "PGP keys" +msgstr "Khóa PGP" + +#: pgp/seahorse-gpgme-generate.c:92 +msgid "PGP Key" +msgstr "Khóa PGP" + +#: pgp/seahorse-gpgme-generate.c:93 +msgid "Used to encrypt email and files" +msgstr "Dùng để mã hóa thư điện tử và tập tin" + +#: pgp/seahorse-gpgme-generate.c:129 pkcs11/seahorse-pkcs11-generate.c:90 +#: ssh/seahorse-ssh-generate.ui:246 +msgid "RSA" +msgstr "RSA" + +# Name: don't translate/Tên: đừng dịch +#: pgp/seahorse-gpgme-generate.c:130 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate.c:179 +msgid "Couldn’t generate PGP key" +msgstr "Không thể tạo ra khóa PGP" + +#: pgp/seahorse-gpgme-generate.c:212 +msgid "Passphrase for New PGP Key" +msgstr "Cụm từ mật khẩu cho khóa PGP mới" + +#: pgp/seahorse-gpgme-generate.c:213 +msgid "Enter the passphrase for your new key twice." +msgstr "Gõ hai lần cụm từ mật khẩu cho khóa mới." + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate.c:225 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"Khi tạo một khóa, chúng tôi cần tạo rất nhiều\n" +"dữ liệu ngẫu nhiên và cần bạn hợp tác giúp đỡ. Sẽ rất tốt\n" +"nếu bạn thực hiện một số động tác như là gõ bàn phím\n" +"di chuyển chuột, sử dụng các ứng dụng.\n" +"Những việc đó mang lại cho hệ thống dữ liệu ngẫu nhiên mà nó cần." + +#: pgp/seahorse-gpgme-generate.c:230 pkcs11/seahorse-pkcs11-generate.c:458 +msgid "Generating key" +msgstr "Đang tạo ra khóa" + +#: pgp/seahorse-gpgme-key-deleter.c:77 pgp/seahorse-gpgme-secret-deleter.c:76 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "Bạn có chắc muốn xóa hoàn toàn %s không?" + +#: pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "Bạn có chắc muốn xóa hẳn %d khóa không?" + +#: pgp/seahorse-gpgme-key-op.c:378 +msgid "Wrong password" +msgstr "Mật khẩu sai" + +#: pgp/seahorse-gpgme-key-op.c:378 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "Đây là lần thứ ba bạn nhập sai mật khẩu. Hãy thử lại lần nữa." + +#: pgp/seahorse-gpgme-keyring.c:88 +#, c-format +msgid "Wrong passphrase." +msgstr "Cụm từ mật khẩu không đúng." + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "Gõ cụm từ mật khẩu mới cho “%s”" + +#: pgp/seahorse-gpgme-keyring.c:94 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "Gõ cụm từ mật khẩu cho “%s”" + +#: pgp/seahorse-gpgme-keyring.c:97 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "Gõ cụm từ mật khẩu mới" + +#: pgp/seahorse-gpgme-keyring.c:99 +msgid "Enter passphrase" +msgstr "Gõ cụm từ mật khẩu" + +#: pgp/seahorse-gpgme-keyring.c:104 +msgid "Passphrase" +msgstr "Cụm từ mật khẩu" + +#: pgp/seahorse-gpgme-keyring.c:305 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "Đã tải lên %d khóa" + +#: pgp/seahorse-gpgme-keyring.c:652 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"Gặp dữ liệu khóa không hợp lệ (thiếu UID). Có thể do máy tính có ngày tháng " +"được đặt trong tương lai, hay chữ tự ký bị thiếu." + +#: pgp/seahorse-gpgme-keyring.c:805 +msgid "GnuPG keys" +msgstr "Khóa GnuPG" + +#: pgp/seahorse-gpgme-keyring.c:816 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG: thư mục chùm chìa khóa mặc định" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"Ảnh chụp quá lớn\n" +"Kích cỡ khuyến nghị dành cho ảnh chụp trên khóa của bạn là %d × %d điểm ảnh." + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "_Không đổi cỡ" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "Đổ_i cỡ" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"Không phải tập tin ảnh, hoặc không nhận ra kiểu tập tin ảnh. Hãy thử dùng " +"ảnh kiểu JPEG." + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "Mọi tập tin ảnh" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "Mọi tập tin JPEG" + +#: pgp/seahorse-gpgme-photos.c:241 src/seahorse-key-manager.c:286 +msgid "All files" +msgstr "Mọi tập tin" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "Chọn ảnh chụp cần thêm vào khóa" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "Không thể chuẩn bị ảnh chụp" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "Không thể thêm ảnh chụp" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "Không thể tải tập tin lên. Có lẽ do nó có định dạng không hợp lệ" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "Bạn có chắc muốn gỡ bỏ ảnh chụp hiện tại ra khỏi khóa của bạn không?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "Không thể xóa ảnh" + +#: pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn’t revoke subkey" +msgstr "Không thể thu hồi khóa phụ" + +#: pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "Thu hồi: %s" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "Không có lý do" + +#: pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "Không có lý do hủy bỏ khóa" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "Bị xâm nhập" + +#: pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "Khóa đã bị xâm nhập" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "Bị thay thế" + +#: pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "Khóa bị thay thế vì quá cũ" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "Không dùng" + +#: pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "Khóa không còn được dùng lại" + +#: pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "" +"Bạn sắp thêm %s là bộ thu hồi cho %s. Thao tác này không thể được hồi lại. " +"Bạn vẫn muốn tiếp tục không?" + +#: pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn’t add revoker" +msgstr "Không thể thêm bộ thu hồi" + +#: pgp/seahorse-gpgme-secret-deleter.c:81 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "Tôi hiểu bí mật này sẽ bị xóa vĩnh viễn." + +#: pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"Khóa này đã được ký bởi\n" +"\"%s\"" + +#: pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn’t sign key" +msgstr "Không thể ký khóa" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign.c:163 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "Không có khóa nào ký được" + +#: pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "" +"Bạn không có khóa PGP riêng nào có thể được dùng để ghi độ tin cậy của bạn " +"trên khóa này." + +#: pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "Không rõ" + +#: pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "Gặp lỗi khi giải mã. Rất có thể là bạn không có khóa giải mã." + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:549 +msgid "The operation was cancelled" +msgstr "Thao tác bị hủy" + +#: pgp/seahorse-hkp-source.c:567 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "" +"Chuỗi tìm kiếm không đủ thu hẹp phạm vi nên máy phục vụ “%s” tìm thấy quá " +"nhiều khóa." + +#: pgp/seahorse-hkp-source.c:570 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "Không thể liên lạc với máy phục vụ “%s”: %s" + +#: pgp/seahorse-hkp-source.c:1080 +msgid "HTTP Key Server" +msgstr "Máy phục vụ khóa HTTP" + +#: pgp/seahorse-keyserver-results.c:167 +msgid "Couldn’t import keys" +msgstr "Không thể nhập khóa" + +#: pgp/seahorse-keyserver-results.c:210 +msgid "Importing keys from key servers" +msgstr "Nhập các khóa từ máy phục vụ khóa" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: pgp/seahorse-keyserver-results.c:236 src/seahorse-key-manager.c:499 +msgid "_Remote" +msgstr "_Máy chủ" + +#: pgp/seahorse-keyserver-results.c:238 +msgid "Close this window" +msgstr "Đóng cửa sổ này lại" + +#: pgp/seahorse-keyserver-results.c:242 pgp/seahorse-pgp-actions.c:112 +msgid "_Find Remote Keys…" +msgstr "_Tìm khóa từ máy chủ…" + +#: pgp/seahorse-keyserver-results.c:243 pgp/seahorse-pgp-actions.c:113 +msgid "Search for keys on a key server" +msgstr "Tìm kiếm các khóa trên máy phục vụ khóa" + +#: pgp/seahorse-keyserver-results.c:247 src/seahorse-key-manager.ui:195 +msgid "_Import" +msgstr "_Nhập vào" + +#: pgp/seahorse-keyserver-results.c:248 +msgid "Import selected keys to local key ring" +msgstr "Nhập khóa được chọn vào chùm chìa khóa nội bộ" + +#: pgp/seahorse-keyserver-results.c:279 +msgid "Remote Keys" +msgstr "Khóa ở máy chủ" + +#: pgp/seahorse-keyserver-results.c:281 +#, c-format +msgid "Remote Keys Containing “%s”" +msgstr "Khóa ở máy chủ có chứa “%s”" + +#: pgp/seahorse-keyserver-results.c:484 +msgid "The search for keys failed." +msgstr "Gặp lỗi khi tìm kiếm khóa." + +#: pgp/seahorse-keyserver-search.ui:12 +msgid "Find Remote Keys" +msgstr "Tìm khóa từ máy phục vụ khóa trên mạng" + +#: pgp/seahorse-keyserver-search.ui:48 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"Tìm kiếm khóa của người khác trên mạng Internet. Những khóa tìm được sau đó " +"có thể được nhập vào chùm chìa khóa của bạn." + +#: pgp/seahorse-keyserver-search.ui:72 +msgid "_Search for keys containing: " +msgstr "_Tìm khóa có chứa: " + +#: pgp/seahorse-keyserver-search.ui:127 +msgid "Key Servers:" +msgstr "Máy phục vụ khóa:" + +#: pgp/seahorse-keyserver-search.ui:153 +msgid "Shared Keys Near Me:" +msgstr "Khóa chia sẻ gần tôi:" + +#: pgp/seahorse-keyserver-search.ui:180 +msgid "Where to search:" +msgstr "Nơi muốn tìm:" + +#: pgp/seahorse-keyserver-search.ui:223 +msgid "_Search" +msgstr "_Tìm kiếm" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "Không thể công khai khóa đến máy phục vụ" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "Không thể lấy khóa về từ máy phục vụ: %s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "%d khóa được chọn để đồng bộ hóa" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "Đang đồng bộ hóa khóa…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "Đồng bộ các khóa" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"Việc này sẽ xuất bản công khai các khóa trong chùm chìa khóa của bạn, để " +"người khác sử dụng. Bạn sẽ cũng nhận thay đổi nào của người khác kể từ lần " +"bạn nhận khóa họ cuối cùng." + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"Việc này sẽ lấy thay đổi nào của người khác kể từ lần bạn nhận khóa họ cuối " +"cùng. Chưa chọn máy phục vụ khóa nơi cần xuất nên người khác sẽ không thể sử " +"dụng khóa của bạn." + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "Máy phục vụ _khóa" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "Đồng _bộ" + +#: pgp/seahorse-ldap-source.c:435 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "Không thể liên lạc với “%s”: %s" + +#: pgp/seahorse-ldap-source.c:645 +#, c-format +msgid "Connecting to: %s" +msgstr "Đang kết nối đến: %s" + +#: pgp/seahorse-ldap-source.c:651 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "Không thể phân giải địa chỉ: %s" + +#: pgp/seahorse-ldap-source.c:695 +#, c-format +msgid "Resolving server address: %s" +msgstr "Đang phân giải địa chỉ của máy phục vụ : %s" + +#: pgp/seahorse-ldap-source.c:1430 +msgid "LDAP Key Server" +msgstr "Máy phục vụ khóa LDAP" + +#: pgp/seahorse-pgp-actions.c:117 +msgid "_Sync and Publish Keys…" +msgstr "Đồn_g bộ và công bố khóa…" + +#: pgp/seahorse-pgp-actions.c:118 +msgid "Publish and/or synchronize your keys with those online." +msgstr "Công bố và/hoặc đồng bộ khóa với trên mạng." + +#: pgp/seahorse-pgp-backend.c:192 +msgid "PGP Keys" +msgstr "Khóa PGP" + +#: pgp/seahorse-pgp-backend.c:198 +msgid "PGP keys are for encrypting email or files" +msgstr "Khóa PGP dùng để mã hóa thư điện tử và tập tin" + +#: pgp/seahorse-pgp-generate.ui:80 +msgid "C_reate" +msgstr "Tạ_o" + +#: pgp/seahorse-pgp-generate.ui:87 +msgid "Generate a new key" +msgstr "Tạo ra một Khóa mới" + +#: pgp/seahorse-pgp-generate.ui:137 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "Khóa PGP cho phép bạn mã hóa thư điện tử hay tập tin cho người khác." + +#: pgp/seahorse-pgp-generate.ui:254 +msgid "Ne_ver Expires" +msgstr "K_hông bao giờ hết hạn" + +#: pgp/seahorse-pgp-generate.ui:354 +msgid "_Comment:" +msgstr "_Chú thích:" + +#: pgp/seahorse-pgp-generate.ui:370 ssh/seahorse-ssh-generate.ui:206 +msgid "Encryption _Type:" +msgstr "_Kiểu mã hóa:" + +#: pgp/seahorse-pgp-generate.ui:385 pkcs11/seahorse-pkcs11-generate.ui:164 +#: ssh/seahorse-ssh-generate.ui:222 +msgid "Key _Strength (bits):" +msgstr "_Mạnh khóa (bit):" + +#: pgp/seahorse-pgp-generate.ui:400 +msgid "E_xpiration Date:" +msgstr "Ngà_y hết hạn:" + +#: pgp/seahorse-pgp-generate.ui:418 pkcs11/seahorse-pkcs11-generate.ui:226 +#: ssh/seahorse-ssh-generate.ui:267 +msgid "_Advanced key options" +msgstr "Tùy chọn khó_a cấp cao" + +#: pgp/seahorse-pgp-key-properties.c:316 +msgid "Couldn’t change primary user ID" +msgstr "Không thể thay đổi ID người dùng chính" + +#: pgp/seahorse-pgp-key-properties.c:335 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "Bạn có chắc muốn xóa hoàn toàn ID người dùng “%s” không?" + +#: pgp/seahorse-pgp-key-properties.c:345 +msgid "Couldn’t delete user ID" +msgstr "Không thể xóa ID người dùng" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:420 pgp/seahorse-pgp-key-properties.c:1575 +msgid "[Unknown]" +msgstr "[Không rõ]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:529 pgp/seahorse-pgp-key-properties.c:1858 +msgid "Name/Email" +msgstr "Tên/địa chỉ thư" + +#: pgp/seahorse-pgp-key-properties.c:536 +msgid "Signature ID" +msgstr "Mã số chữ ký" + +#: pgp/seahorse-pgp-key-properties.c:669 +msgid "Couldn’t change primary photo" +msgstr "Không thể thay đổi ảnh chụp chính" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:903 +msgid "(unknown)" +msgstr "(không rõ)" + +#: pgp/seahorse-pgp-key-properties.c:906 +#, c-format +msgid "This key expired on: %s" +msgstr "Khóa này đã hết hạn vào: %s" + +#: pgp/seahorse-pgp-key-properties.c:969 +msgid "Name" +msgstr "Tên" + +#: pgp/seahorse-pgp-key-properties.c:1084 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "Bạn có chắc muốn xóa hoàn toàn khóa phụ %d của %s không?" + +#: pgp/seahorse-pgp-key-properties.c:1093 +msgid "Couldn’t delete subkey" +msgstr "Không thể xóa khóa phụ" + +#: pgp/seahorse-pgp-key-properties.c:1133 +#: pgp/seahorse-pgp-key-properties.c:1549 +msgid "Unable to change trust" +msgstr "Không thể thay đổi tình trạng đáng tin" + +#: pgp/seahorse-pgp-key-properties.c:1147 ssh/key-properties.vala:193 +msgid "Couldn’t export key" +msgstr "Không thể xuất khóa" + +#: pgp/seahorse-pgp-key-properties.c:1263 +msgid "Marginal" +msgstr "Sát giới hạn" + +#: pgp/seahorse-pgp-key-properties.c:1269 +msgid "Full" +msgstr "Đầy đủ" + +#: pgp/seahorse-pgp-key-properties.c:1275 +msgid "Ultimate" +msgstr "Tối đa" + +#: pgp/seahorse-pgp-key-properties.c:1381 +#: pgp/seahorse-pgp-key-properties.c:1474 +msgctxt "Expires" +msgid "Never" +msgstr "Không bao giờ" + +#: pgp/seahorse-pgp-key-properties.c:1428 +msgid "ID" +msgstr "MÃ SỐ" + +#: pgp/seahorse-pgp-key-properties.c:1431 +msgid "Type" +msgstr "Kiểu" + +#: pgp/seahorse-pgp-key-properties.c:1434 +msgid "Usage" +msgstr "Dùng để" + +#: pgp/seahorse-pgp-key-properties.c:1437 +msgid "Created" +msgstr "Tạo" + +#: pgp/seahorse-pgp-key-properties.c:1440 +msgid "Expires" +msgstr "Hết hạn" + +#: pgp/seahorse-pgp-key-properties.c:1443 +msgid "Status" +msgstr "Trạng thái" + +#: pgp/seahorse-pgp-key-properties.c:1446 +msgid "Strength" +msgstr "Mạnh" + +#: pgp/seahorse-pgp-key-properties.c:1465 +msgid "Revoked" +msgstr "Bị thu hồi" + +#: pgp/seahorse-pgp-key-properties.c:1467 +msgid "Expired" +msgstr "Đã hết hạn" + +#: pgp/seahorse-pgp-key-properties.c:1469 +msgid "Disabled" +msgstr "Bị tắt" + +#: pgp/seahorse-pgp-key-properties.c:1471 +msgid "Good" +msgstr "Tốt" + +#: pgp/seahorse-pgp-key-properties.c:1861 +msgid "Key ID" +msgstr "Mã số khóa" + +#: pgp/seahorse-pgp-key.c:349 +msgid "Personal PGP key" +msgstr "Khóa GPG cá nhân" + +#: pgp/seahorse-pgp-key.c:351 +msgid "PGP key" +msgstr "Khóa PGP" + +#: pgp/seahorse-pgp-private-key-properties.ui:31 +#: pgp/seahorse-pgp-public-key-properties.ui:32 ssh/key-properties.vala:45 +msgid "Key Properties" +msgstr "Thuộc tính khóa" + +#: pgp/seahorse-pgp-private-key-properties.ui:70 +#: pgp/seahorse-pgp-public-key-properties.ui:120 +msgid "This key has been revoked" +msgstr "Khóa này đã bị thu hồi" + +#: pgp/seahorse-pgp-private-key-properties.ui:89 +#: pgp/seahorse-pgp-public-key-properties.ui:141 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "Người sở hữu khóa đã thu hồi khóa đó. Nó không còn được dùng nữa." + +#: pgp/seahorse-pgp-private-key-properties.ui:132 +#: pgp/seahorse-pgp-public-key-properties.ui:192 +msgid "This key has expired" +msgstr "Khóa này đã hết hạn dùng" + +#: pgp/seahorse-pgp-private-key-properties.ui:222 +msgid "Add a photo to this key" +msgstr "Thêm ảnh chụp vào khóa này" + +#: pgp/seahorse-pgp-private-key-properties.ui:246 +msgid "Remove this photo from this key" +msgstr "Gỡ bỏ ảnh chụp này khỏi khóa này" + +#: pgp/seahorse-pgp-private-key-properties.ui:270 +msgid "Make this photo the primary photo" +msgstr "Làm cho ảnh chụp này thành ảnh chụp chính" + +#: pgp/seahorse-pgp-private-key-properties.ui:303 +msgid "Go to previous photo" +msgstr "Về ảnh chụp trước" + +#: pgp/seahorse-pgp-private-key-properties.ui:327 +msgid "Go to next photo" +msgstr "Tới ảnh chụp kế" + +#. A photograph +#: pgp/seahorse-pgp-private-key-properties.ui:389 +#: pgp/seahorse-pgp-public-key-properties.ui:395 +msgid "Photo " +msgstr "Ảnh chụp " + +#: pgp/seahorse-pgp-private-key-properties.ui:425 +#: pgp/seahorse-pgp-private-key-properties.ui:1066 +#: pgp/seahorse-pgp-public-key-properties.ui:472 +#: pgp/seahorse-pgp-public-key-properties.ui:1181 +msgid "Key ID:" +msgstr "Mã số khóa:" + +#. Name of key, usually a persons name +#: pgp/seahorse-pgp-private-key-properties.ui:442 +#: pgp/seahorse-pgp-public-key-properties.ui:506 +msgctxt "name-of-key" +msgid "Name:" +msgstr "Tên:" + +#: pgp/seahorse-pgp-private-key-properties.ui:458 +#: pgp/seahorse-pgp-public-key-properties.ui:523 +msgid "Email:" +msgstr "Địa chỉ thư:" + +#: pgp/seahorse-pgp-private-key-properties.ui:474 +#: pgp/seahorse-pgp-public-key-properties.ui:540 +msgid "Comment:" +msgstr "Chú thích:" + +#: pgp/seahorse-pgp-private-key-properties.ui:583 +msgid "Decrypt files and email sent to you." +msgstr "Giải mã tập tin và thư điện tử được gửi cho bạn." + +#: pgp/seahorse-pgp-private-key-properties.ui:596 +msgid "Private PGP Key" +msgstr "Khóa PGP riêng" + +#: pgp/seahorse-pgp-private-key-properties.ui:649 +#: ssh/seahorse-ssh-key-properties.ui:144 +msgid "Change _Passphrase" +msgstr "Đổi _cụm từ mật khẩu" + +#: pgp/seahorse-pgp-private-key-properties.ui:691 +#: pgp/seahorse-pgp-public-key-properties.ui:711 +msgid "Owner" +msgstr "Chủ sở hữu" + +#: pgp/seahorse-pgp-private-key-properties.ui:706 +msgid "Key Names and Signatures" +msgstr "Tên khóa và Chữ ký" + +#: pgp/seahorse-pgp-private-key-properties.ui:758 +msgid "Primary" +msgstr "Chính" + +#: pgp/seahorse-pgp-private-key-properties.ui:809 pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "Ký" + +#: pgp/seahorse-pgp-private-key-properties.ui:860 +msgid "Delete" +msgstr "Xóa" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:911 +msgid "_Add Name" +msgstr "Thê_m tên" + +#: pgp/seahorse-pgp-private-key-properties.ui:959 +#: pgp/seahorse-pgp-private-key-properties.ui:1649 +msgid "Revoke" +msgstr "Thu hồi" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:1023 +msgid "Names and Signatures" +msgstr "Tên và Chữ ký" + +#: pgp/seahorse-pgp-private-key-properties.ui:1092 +#: pgp/seahorse-pgp-public-key-properties.ui:1208 +msgid "Strength:" +msgstr "Độ mạnh:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1154 +msgid "Technical Details" +msgstr "Chi tiết kỹ thuật" + +#: pgp/seahorse-pgp-private-key-properties.ui:1190 +msgid "Fingerprint" +msgstr "Vân tay" + +#: pgp/seahorse-pgp-private-key-properties.ui:1305 +#: pgp/seahorse-pgp-public-key-properties.ui:1397 +msgid "Expires:" +msgstr "Hết hạn:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1321 +msgid "Dates" +msgstr "Ngày" + +#: pgp/seahorse-pgp-private-key-properties.ui:1375 +msgid "Override Owner _Trust:" +msgstr "Ghi đè lên _tình trạng tin cậy của người sở hữu:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1387 +msgid "_Export Secret Key:" +msgstr "_Xuất khóa bí mật:" + +#: pgp/seahorse-pgp-private-key-properties.ui:1457 +msgid "Actions" +msgstr "Hành động" + +#: pgp/seahorse-pgp-private-key-properties.ui:1532 +msgid "Add" +msgstr "Thêm" + +#: pgp/seahorse-pgp-private-key-properties.ui:1581 +msgid "Expire" +msgstr "Hết hạn" + +#: pgp/seahorse-pgp-private-key-properties.ui:1701 +#: pgp/seahorse-pgp-public-key-properties.ui:1587 +msgid "_Subkeys" +msgstr "Khóa _phụ" + +#: pgp/seahorse-pgp-public-key-properties.ui:18 +msgctxt "Validity" +msgid "Marginally" +msgstr "Cận biên" + +#: pgp/seahorse-pgp-public-key-properties.ui:21 +msgctxt "Validity" +msgid "Fully" +msgstr "Đầy đủ" + +#: pgp/seahorse-pgp-public-key-properties.ui:24 +msgctxt "Validity" +msgid "Ultimately" +msgstr "Một cách tối đa" + +#: pgp/seahorse-pgp-public-key-properties.ui:457 +msgid "Encrypt files and email to the key’s owner" +msgstr "Mã hóa các tập tin và thư cho người sử hữu khóa này" + +#: pgp/seahorse-pgp-public-key-properties.ui:621 +msgid "Public PGP Key" +msgstr "Khóa PGP công" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:673 +msgid "_Other Names:" +msgstr "_Tên khác:" + +#: pgp/seahorse-pgp-public-key-properties.ui:753 +msgid "Your trust of this key" +msgstr "Mức độ tin cậy của bạn với khóa này" + +#: pgp/seahorse-pgp-public-key-properties.ui:780 +msgid "Your trust is manually specified on the Details tab." +msgstr "" +"Độ tin cậy của bạn được chỉ định bằng cách điều chỉnh thủ công trên thanh " +"Chi tiết." + +#: pgp/seahorse-pgp-public-key-properties.ui:796 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "Tôi tin cậy các chữ ký từ “%s” trên các khóa khác" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "Nếu bạn tin cậy người sở hữu khóa này là “%s”, khóa này:" + +#: pgp/seahorse-pgp-public-key-properties.ui:879 +msgid "_Sign this Key" +msgstr "_ Ký khóa này" + +#: pgp/seahorse-pgp-public-key-properties.ui:919 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "" +"Nếu bạn không còn tin cậy là “%s” sở hữu khóa này, hủy bỏ chữ ký của " +"bạn:" + +#: pgp/seahorse-pgp-public-key-properties.ui:970 +msgid "_Revoke Signature" +msgstr "_Thu hồi chữ ký" + +#: pgp/seahorse-pgp-public-key-properties.ui:1031 +msgid "_People who have signed this key:" +msgstr "_Người đã ký khóa này:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1077 +msgid "_Only display the signatures of people I trust" +msgstr "_Chỉ hiển thị chữ ký của những người tôi tin cậy" + +#: pgp/seahorse-pgp-public-key-properties.ui:1117 +#: ssh/seahorse-ssh-key-properties.ui:169 +msgid "Trust" +msgstr "Tin cậy" + +#: pgp/seahorse-pgp-public-key-properties.ui:1290 +#: ssh/seahorse-ssh-key-properties.ui:352 +msgid "Fingerprint:" +msgstr "Vân tay:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1354 +msgid "Dates:" +msgstr "Ngày:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1460 +msgid "Indicate Trust:" +msgstr "Chỉ báo tin cậy:" + +#: pgp/seahorse-pgp-public-key-properties.ui:1485 +msgid "You _Trust the Owner:" +msgstr "Bạn _tin cậy người sở hữu:" + +#: pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "Mã hóa" + +#: pgp/seahorse-pgp-subkey.c:293 +msgid "Certify" +msgstr "Chứng nhận" + +#: pgp/seahorse-pgp-subkey.c:294 +msgid "Authenticate" +msgstr "Xác thực" + +#: pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "Khóa phụ %d của %s" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "Lý do thu hồi khóa" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "_Lý do:" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "Mô tả tùy chọn của việc thu hồi" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "Th_u hồi" + +#: pgp/seahorse-sign.ui:7 +msgid "Sign Key" +msgstr "Ký khóa" + +#: pgp/seahorse-sign.ui:42 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "Bằng cách ký, bạn ghi rằng bạn tin cậy khóa này thuộc về:" + +#: pgp/seahorse-sign.ui:54 +msgid "Key Name" +msgstr "Tên khóa" + +#: pgp/seahorse-sign.ui:86 +msgid "How carefully have you checked this key?" +msgstr "Bạn đã kiểm tra khóa ở mức cẩn thận nào?" + +#: pgp/seahorse-sign.ui:118 +msgid "_Not at all" +msgstr "Khô_ng gì cả" + +#: pgp/seahorse-sign.ui:132 +msgid "_Casually" +msgstr "_Cẩu thả" + +#: pgp/seahorse-sign.ui:147 +msgid "_Very Carefully" +msgstr "_Rất cẩn thận" + +#: pgp/seahorse-sign.ui:180 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"Không gì cả: có nghĩa là bạn cho rằng khóa này thuộc về người tuyên " +"bố sở hữu nó, nhưng bạn chưa hay không thể thẩm tra đây là thật." + +#: pgp/seahorse-sign.ui:197 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"Cẩu thả: có nghĩa là bạn đã thẩm tra cẩu thả khóa đó thuộc về người " +"tuyên bố sở hữu nó. Ví dụ, bạn có thể đọc vân tay khóa qua điện thoại khi " +"nói với người sở hữu." + +#: pgp/seahorse-sign.ui:221 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "" +"Rất cẩn thận: chọn mục này chỉ nếu bạn có chắc chắn hoàn toàn rằng " +"khóa này là thật và đúng." + +#: pgp/seahorse-sign.ui:240 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"Bạn có thể sử dụng một mục nhận diện khó giả mạo (v.d. một hộ chiếu) để tự " +"kiểm tra tên trên khóa là đúng không. Khuyên bạn cũng sử dụng thư điện tử để " +"kiểm tra địa chỉ thư điện tử của khóa có phải thuộc về người sở hữu đó." + +#: pgp/seahorse-sign.ui:289 +msgid "How others will see this signature:" +msgstr "Hình thức của chữ ký này cho người khác:" + +#: pgp/seahorse-sign.ui:310 +msgid "_Others may not see this signature" +msgstr "_Không cho phép người khác xem chữ ký này" + +#: pgp/seahorse-sign.ui:326 +msgid "I can _revoke this signature at a later date." +msgstr "Tôi có thể _thu hồi chữ ký này vào ngày sau." + +#: pgp/seahorse-sign.ui:363 +msgid "Sign key as:" +msgstr "Ký chữ ký như là:" + +#: pgp/seahorse-sign.ui:385 +msgid "_Signer:" +msgstr "Người _ký:" + +#: pgp/seahorse-sign.ui:487 +msgid "_Sign" +msgstr "_Ký" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "" +"Bạn không có khóa PGP riêng nào có thể được dùng để ký tài liệu hay thư." + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "Chọn khóa ký" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "_Ký thư bằng khóa:" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "Xuất dữ liệu" + +#: pgp/seahorse-transfer.c:238 pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "Lấy về các khóa" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "Nhập dữ liệu vào" + +#: pgp/seahorse-transfer.c:241 pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "Đang gửi dữ liệu" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "Không sẵn sàng" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "Chứng nhận" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "Chứng nhận (mã hóa DER)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "Chứng nhận và khóa cá nhân" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "Chứng nhận cá nhân" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "Bạn có chắc muốn xóa hẳn %d chứng nhận không?" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "Tôi hiểu rằng khóa này sẽ bị xóa vĩnh viễn." + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "Khóa riêng không tên" + +#: pkcs11/pkcs11-private-key.vala:70 pkcs11/seahorse-pkcs11-generate.c:505 +msgid "Private key" +msgstr "Khóa riêng" + +#: pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "Không_tên" + +#: pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "Gặp lỗi khi xuất chứng nhận" + +#: pkcs11/pkcs11-properties.vala:188 src/seahorse-sidebar.c:873 +msgid "Couldn’t delete" +msgstr "Không thể xóa" + +#: pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "_Xuất" + +#: pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "Xuất chứng nhận" + +#: pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "Xóa khóa hoặc chứng nhận này" + +#: pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "Yêu cầu _chứng nhận" + +#: pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "Tạo tập tin yêu cầu chứng nhận cho khóa này" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.c:412 +msgid "Create" +msgstr "Tạo" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "không thể tạo yêu cầu chứng nhận mới" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "Lưu yêu cầu chứng nhận" + +#: pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "Yêu cầu chứng nhận" + +#: pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "Yêu cầu mã hóa dạng PEM" + +#: pkcs11/pkcs11-request.vala:149 +msgid "Couldn’t save certificate request" +msgstr "Không thể lưu yêu cầu chứng nhận" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "Không rõ" + +#: pkcs11/seahorse-pkcs11-backend.c:189 +msgid "Certificates" +msgstr "Chứng nhận" + +#: pkcs11/seahorse-pkcs11-backend.c:195 +msgid "X.509 certificates and related keys" +msgstr "Chứng nhận X.509 và khóa liên quan" + +#: pkcs11/seahorse-pkcs11-generate.c:113 +msgid "Couldn’t generate private key" +msgstr "Không thể tạo ra khóa riêng" + +#: pkcs11/seahorse-pkcs11-generate.c:506 +msgid "Used to request a certificate" +msgstr "Được dùng để yêu cầu chứng thực điện tử" + +#: pkcs11/seahorse-pkcs11-generate.ui:34 +msgid "Create a new private key" +msgstr "Tạo khóa riêng mới" + +#: pkcs11/seahorse-pkcs11-generate.ui:53 +msgid "Label:" +msgstr "Nhãn:" + +#: pkcs11/seahorse-pkcs11-generate.ui:66 +msgid "Stored at:" +msgstr "Lưu tại:" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "Tạo tập tin yêu cầu chứng nhận." + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "Tên thường gọi (CN) được đặt tại phần yêu cầu chứng nhận." + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "Tên thường gọi (CN):" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "Đổi cụm từ mật khẩu" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "_Cụm từ mật khẩu mới:" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "Xác nhận cụm từ mật khẩu mới" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "_Xác nhận cụm từ mật khẩu:" + +#: src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "Tiếp tục" + +#: src/seahorse-generate-select.ui:15 +msgid "_Select the type of item to create:" +msgstr "_Chọn kiểu mục cần tạo:" + +#: src/seahorse-import-dialog.c:95 +msgid "Import failed" +msgstr "Gặp lỗi khi nhập dữ liệu vào" + +#: src/seahorse-import-dialog.c:113 +msgid "Import" +msgstr "Nhập vào" + +#: src/seahorse-import-dialog.c:126 +msgid "Data to be imported:" +msgstr "Ngày nhập:" + +#. The prompt +#: src/seahorse-key-manager.c:240 ssh/operation.vala:320 +msgid "Import Key" +msgstr "Nhập khóa" + +#: src/seahorse-key-manager.c:252 +msgid "All key files" +msgstr "Mọi tập tin khóa" + +#: src/seahorse-key-manager.c:353 +msgid "Dropped text" +msgstr "Chữ được (kéo) thả vào" + +#: src/seahorse-key-manager.c:389 +msgid "Clipboard text" +msgstr "Chữ trong clipboad" + +#: src/seahorse-key-manager.c:500 +msgid "_New" +msgstr "_Mới" + +#: src/seahorse-key-manager.c:502 +msgid "Close this program" +msgstr "Đóng chương trình" + +#: src/seahorse-key-manager.c:503 src/seahorse-key-manager.c:505 +msgid "_New…" +msgstr "_Mới…" + +#: src/seahorse-key-manager.c:504 +msgid "Create a new key or item" +msgstr "Tạo mục hoặc khóa mới" + +#: src/seahorse-key-manager.c:506 +msgid "Add a new key or item" +msgstr "Tạo mục hoặc khóa mới" + +#: src/seahorse-key-manager.c:507 +msgid "_Import…" +msgstr "_Nhập vào…" + +#: src/seahorse-key-manager.c:508 +msgid "Import from a file" +msgstr "Nhập từ một tập tin" + +#: src/seahorse-key-manager.c:510 +msgid "Import from the clipboard" +msgstr "Nhập từ clipboard" + +#: src/seahorse-key-manager.c:514 +msgid "By _Keyring" +msgstr "Theo _chùm chìa khóa" + +#: src/seahorse-key-manager.c:515 +msgid "Show sidebar listing keyrings" +msgstr "Hiện danh mục chùm chìa khóa ở bên" + +#: src/seahorse-key-manager.c:519 +msgid "Show _Personal" +msgstr "Hiện khóa _cá nhân" + +#: src/seahorse-key-manager.c:520 +msgid "Only show personal keys, certificates and passwords" +msgstr "Chỉ hiển thị các khóa, giấy chứng nhận và mật khẩu của cá nhân" + +#: src/seahorse-key-manager.c:521 +msgid "Show _Trusted" +msgstr "Hiện khóa đáng _tin cậy" + +#: src/seahorse-key-manager.c:522 +msgid "Only show trusted keys, certificates and passwords" +msgstr "Chỉ hiển thị các khóa, giấy chứng nhận và mật khẩu đáng tin" + +#: src/seahorse-key-manager.c:523 +msgid "Show _Any" +msgstr "Hiện _Mọi khóa" + +#: src/seahorse-key-manager.c:524 +msgid "Show all keys, certificates and passwords" +msgstr "Hiển thị mọi khóa, giấy chứng nhận và mật khẩu" + +#: src/seahorse-key-manager.c:743 +msgid "Filter" +msgstr "Bộ lọc" + +#: src/seahorse-key-manager.ui:97 +msgid "First time options:" +msgstr "Tùy chọn lần đầu tiên:" + +#: src/seahorse-key-manager.ui:152 +msgid "Generate a new key of your own: " +msgstr "Tạo ra một khóa mới của mình: " + +#: src/seahorse-key-manager.ui:223 +msgid "Import existing keys from a file:" +msgstr "Nhập khóa đã có từ tập tin:" + +#: src/seahorse-key-manager.ui:255 +msgid "To get started with encryption you will need keys." +msgstr "Để mã hóa bạn cần phải có các khóa." + +#: src/seahorse-sidebar.c:797 +msgid "Couldn’t lock" +msgstr "Không thể khóa" + +#: src/seahorse-sidebar.c:834 +msgid "Couldn’t unlock" +msgstr "Không thể mở khóa" + +#: src/seahorse-sidebar.c:941 +msgid "_Lock" +msgstr "_Khóa" + +#: src/seahorse-sidebar.c:946 +msgid "_Unlock" +msgstr "_Mở khóa" + +#: ssh/actions.vala:26 +msgid "Configure Key for _Secure Shell…" +msgstr "Cấu hình khóa cho hệ vỏ bảo mật (_SSH)…" + +#: ssh/actions.vala:27 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "" +"Gửi khóa SSH công cho máy tính khác, và cho phép đăng nhập bằng khóa đó." + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "Hệ vỏ bảo mật (SSH)" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "Khóa dùng để kết nối an toàn tới máy tính khác" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "Bạn có chắc muốn xóa khóa của hệ vỏ bảo mật (SSH) “%s” không?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "Bạn có chắc muốn xóa %u khóa hệ vỏ bảo mật (SSH) không?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "Khóa bí mật SSH" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "Khóa công SSH" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "Khóa SSH" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "Không có khóa công nào sẵn sàng cho khóa này." + +#. No comment, but loaded +#: ssh/generate.vala:27 ssh/key.vala:120 ssh/key.vala:124 +#: ssh/seahorse-ssh-key-properties.ui:90 +msgid "Secure Shell Key" +msgstr "Khóa SSH" + +#: ssh/generate.vala:28 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "Dùng để truy cập máy tính khác (v.d. thông qua thiết bị cuối)" + +#: ssh/generate.vala:42 +msgid "New Secure Shell Key" +msgstr "Khóa SSH mới" + +#: ssh/generate.vala:136 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "Không thể tải khóa Hệ vỏ bảo mật mới đây" + +#: ssh/generate.vala:140 +msgid "Couldn’t generate Secure Shell key" +msgstr "Không thể tạo ra khóa Hệ vỏ bảo mật" + +#: ssh/generate.vala:143 +msgid "Creating Secure Shell Key" +msgstr "Đang tạo khóa SSH" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 bít" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 bít" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "Không rõ kiểu khóa!" + +#: ssh/key-properties.vala:112 +msgid "Unknown type" +msgstr "Không rõ kiểu" + +#: ssh/key-properties.vala:135 +msgid "Couldn’t rename key." +msgstr "Không thể thay đổi tên của khóa." + +#: ssh/key-properties.vala:159 +msgid "Couldn’t change authorization for key." +msgstr "Không thể thay đổi thẩm quyền cho khóa." + +#: ssh/key-properties.vala:174 +msgid "Couldn’t change passphrase for key." +msgstr "Không thể thay đổi cụm từ mật khẩu cho khóa." + +#: ssh/key.vala:45 +msgid "Personal SSH key" +msgstr "Khóa SSH cá nhân" + +#: ssh/key.vala:45 +msgid "SSH key" +msgstr "Khóa SSH" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:117 +msgid "(Unreadable Secure Shell Key)" +msgstr "(Khóa SSH không đọc được)" + +#: ssh/operation.vala:215 +msgid "Remote Host Password" +msgstr "Mật khẩu máy ở xa" + +#: ssh/operation.vala:258 +msgid "Enter Key Passphrase" +msgstr "Gõ cụm từ mật khẩu khóa" + +#: ssh/operation.vala:284 +msgid "Passphrase for New Secure Shell Key" +msgstr "Cụm từ mật khẩu cho khóa SSH mới" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:317 +#, c-format +msgid "Importing key: %s" +msgstr "Đang nhập vào khóa: %s" + +#: ssh/operation.vala:317 +msgid "Importing key. Enter passphrase" +msgstr "Đang nhập vào khóa — gõ cụm từ mật khẩu" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "Nhập vào cụm từ mật khẩu SSH:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "Cụm từ mật khẩu khóa cũ" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "Gõ cụm từ mật khẩu cũ cho: %s" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "Cụm từ mật khẩu khóa mới" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "Gõ cụm từ mật khẩu mới cho: %s" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "Gõ cụm từ mật khẩu mới lần nữa: %s" + +#: ssh/seahorse-ssh-generate.ui:60 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "" +"Khóa hệ vỏ bảo mật (SSH) giúp bạn tạo kết nối một cách an toàn đến máy tính " +"khác." + +#: ssh/seahorse-ssh-generate.ui:158 +msgid "Your email address, or a reminder of what this key is for." +msgstr "" +"Địa chỉ thư điện tử của bạn, hoặc bất cứ lời nhắc nhở nào khác cần thiết để " +"nhớ mục đích của khóa này." + +#: ssh/seahorse-ssh-generate.ui:247 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:248 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:249 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:286 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"Có một máy tính với đó bạn muốn sử dụng khóa này thì bạn có thể thiết lập " +"máy đó để nhận diện khóa của bạn." + +#: ssh/seahorse-ssh-generate.ui:315 +msgid "_Just Create Key" +msgstr "_Chỉ tạo khóa" + +#: ssh/seahorse-ssh-generate.ui:329 +msgid "_Create and Set Up" +msgstr "Tạ_o và Cài đặt" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:50 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "Tên:" + +#: ssh/seahorse-ssh-key-properties.ui:102 +msgid "Identifier:" +msgstr "Danh tính:" + +#: ssh/seahorse-ssh-key-properties.ui:191 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "Người sở hữu khóa này có _quyền kết nối đến máy tính này" + +#: ssh/seahorse-ssh-key-properties.ui:209 +#, c-format +msgid "This only applies to the %s account." +msgstr "Chỉ áp dụng cho tài khoản %s." + +#: ssh/seahorse-ssh-key-properties.ui:273 +msgid "Algorithm:" +msgstr "Thuật toán:" + +#: ssh/seahorse-ssh-key-properties.ui:288 +msgid "Key length:" +msgstr "Chiều dài của khóa:" + +#: ssh/seahorse-ssh-key-properties.ui:336 +msgid "Location:" +msgstr "Vị trí:" + +#: ssh/seahorse-ssh-key-properties.ui:429 +msgid "E_xport Complete Key" +msgstr "_Xuất toàn bộ khóa" + +#: ssh/seahorse-ssh-upload.ui:24 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"Để sử dụng khóa SSH của bạn với một máy tính khác có chạy SSH, trước tiên " +"bạn cần phải có một tài khoản đăng nhập trên máy tính đó." + +#: ssh/seahorse-ssh-upload.ui:64 +msgid "eg: fileserver.example.com:port" +msgstr "v.d.: máy_phục_vụ_tập_tin.thí_dụ.com:cổng" + +#: ssh/seahorse-ssh-upload.ui:89 +msgid "_Server address:" +msgstr "Địa chỉ máy phục _vụ:" + +#: ssh/seahorse-ssh-upload.ui:101 +msgid "_Login name:" +msgstr "Tê_n tài khoản:" + +#: ssh/source.vala:42 +msgid "OpenSSH keys" +msgstr "Khóa OpenSSH" + +#: ssh/source.vala:47 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH: %s" + +#: ssh/source.vala:51 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:237 +msgid "No private key file is available for this key." +msgstr "Không có tập tin khóa riêng nào sẵn sàng cho khóa này." + +#: ssh/upload.vala:32 +msgid "Set Up Computer for SSH Connection" +msgstr "Cài đặt máy tính để kết nối bằng SSH" + +#: ssh/upload.vala:70 +msgid "Set Up" +msgstr "Cài đặt" + +#: ssh/upload.vala:93 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "Không thể cấu hình khóa SSH trên máy tính từ xa." + +#: ssh/upload.vala:97 +msgid "Configuring Secure Shell Keys…" +msgstr "Đang cấu hình khóa SSH…" + +#~ msgid "Used to connect to other computers." +#~ msgstr "Dùng để kết nối tới máy tính khác." + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "Lệnh SSH bị chấm dứt bất thường." + +#~ msgid "The SSH command failed." +#~ msgstr "Lệnh SSH bị lỗi." + +#~ msgid "E_xport..." +#~ msgstr "_Xuất ra…" + +#~ msgid "_Find Remote Keys..." +#~ msgstr "_Tìm các khóa trên mạng…" + +#~ msgid "_New..." +#~ msgstr "_Mới…" + +#~ msgid "_Import..." +#~ msgstr "_Nhập…" + +#~ msgid "Ssh Key" +#~ msgstr "Khóa SSH" + +#~ msgid "_Computer Name:" +#~ msgstr "Tên _máy tính:" + +#~ msgid "Updating password" +#~ msgstr "Đang cập nhật mật khẩu" + +#~ msgid "Keyring Properties" +#~ msgstr "Thuộc tính chùm chìa khóa" + +#~ msgid "Password:" +#~ msgstr "Mật khẩu :" + +#~ msgid "Key Servers:" +#~ msgstr "Máy phục vụ khóa:" + +#~ msgid "Never" +#~ msgstr "Không bao giờ" + +#~ msgid "Key ID:" +#~ msgstr "ID khóa:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "Tên:" + +#~ msgid "Comment:" +#~ msgstr "Chú thích:" + +#~ msgid "Use:" +#~ msgstr "Dùng:" + +#~ msgid "Type:" +#~ msgstr "Kiểu :" + +#~ msgid "Key Names and Signatures" +#~ msgstr "Tên khóa và chữ ký" + +#~ msgid "Dates" +#~ msgstr "Ngày" + +#~ msgid "Actions" +#~ msgstr "Hành vi" + +#~ msgid "Dates:" +#~ msgstr "Ngày:" diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 00000000..f86e2974 --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,3656 @@ +# Chinese (China) translation fo seahorse. +# Copyright (C) 2002-2019 seahorse's authors and contributors +# This file is distributed under the same license as the seahorse package. +# Zipeco , 2002. +# Funda Wang , 2004. +# Deng Xiyue 2007, 2008, 2009. +# Aron Xu , 2009, 2010, 2011. +# Wylmer Wang , 2010, 2011, 2013, 2014. +# Tong Hui , 2013, 2014. +# YunQiang Su , 2012, 2015. +# Mingcong Bai , 2018. +# Dingzhong Chen , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-08-27 11:03-0400\n" +"Last-Translator: oksjd \n" +"Language-Team: Chinese (China) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 2.4.1\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "添加密钥服务器" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "制定" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "取消" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "保存" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "无法删除" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "无法导出密钥" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "无法导出数据" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "取消(_C)" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "删除(_D)" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "导出" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "输入密码或 PIN:%s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "确认:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "确定(_O)" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "密码:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "密码" + +#: common/place.vala:42 +msgid "Keys" +msgstr "密钥" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "证书" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "首选项" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "无:不要发布密钥" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "不是有效的密钥服务器地址。" + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "请向您的系统管理员或密钥服务器管理员寻求帮助。" + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "初始化临时条目" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "密钥服务器类型:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "主机:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "服务器的主机名称或地址。" + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "连接服务器的端口。" + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "在此寻找密钥(_F):" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "将密钥发布到(_P):" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "自动从密钥服务器获取密钥(_K)" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "自动从密钥服务器同步修改的密钥(_M)" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "密钥服务器" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "未知" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "从不" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "最低限度" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "完全" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "完全" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "禁止" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "已吊销" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "概览" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "帮助" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "打开菜单" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "创建新条目" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "从文件导入" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "搜索" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "快捷键列表" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "退出" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "导航" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "选择前一个密钥环" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "选择后一个密钥环" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "显示侧边栏(在小屏幕上)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "显示密钥环内容(在小屏幕上)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "自动获取密钥" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "是否自动从密钥服务器获取密钥。" + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "自动发布密钥" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "是否自动发布已更改的密钥。" + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "将密钥发布至此密钥服务器" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "用来发行 PGP 密钥的服务器。留空以禁止发行 PGP 密钥。" + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "上次密钥服务器的搜索模式" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "上次在密钥服务器的搜索模式。" + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "上次使用的密钥服务器" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "上次搜索的密钥服务器,或留空以指定所有密钥服务器。" + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "显示密钥环侧边栏" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "在密钥串中显示密钥环列表侧边栏。" + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "要显示的条目" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"过滤要显示的条目。如果为空则显示所有条目,如果写入“personal”则显示个人密钥," +"如果写入“trusted”则显示已信任的密钥。" + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "侧边栏宽度" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "默认侧边栏宽度。" + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "已选择的密钥环" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "已从侧边栏选中的密钥环的 URI。" + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "用于排序密钥串密钥的列" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"指定用于排序密钥串密钥管理器主窗口的列。列名称为:“名称”,“id”,“有效性”,“有" +"效日期”,“是否信任”和“类型”。在列名前加上“-”以进行逆向排序。" + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "显示有效性列" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "不再使用。" + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "显示过期列" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "显示是否信任列" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "显示类型列" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "窗口宽度" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "窗口宽度(像素)。" + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "窗口高度" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "窗口高度(像素)。" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "密钥串" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "管理您的密码和加密密钥" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse 是管理加密密钥的 GNOME 应用程序。" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"您可以通过密钥串创建和管理 PGP 密钥 、SSH 密钥、将密钥发送或取回到密钥服务" +"器、缓存您的口令以免重复输入,以及备份您的密钥和密钥环。" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "GNOME 项目" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "密码和密钥" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "" +"密钥环;加密;安全;签名;密码;keyring;encryption;security;sign;ssh;密钥;证书;" +"GPG;PGP;密钥串;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "存储个人密码、证书和密钥" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "无法解锁" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "无法添加项目" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "密码或密钥" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "网络连接对称加密私钥" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Wi-Fi 密码" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "网络密码" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "GNOME Web 密码" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Google Chrome 密码" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "即时通讯密码" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "即时通信帐号密码,用于 " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Telepathy 密码" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "GNOME 在线帐号密码" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "要保存此条目的更改吗?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "访问网络共享或资源" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "访问站点" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "解锁 PGP 密钥" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "解锁 SSH 密钥" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "已存储的密码或登录" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "网络证书" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "密码" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "无法更改密码。" + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "无法设置说明。" + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "删除密码时出错。" + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "已存储的便笺" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "密钥环密码" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "加密密钥口令" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "密钥存储口令" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "网络管理器对称加密私钥" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "您确定要删除密码“%s”吗?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "您确定要删除 %d 个密码吗?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "无法添加密钥环" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "未知日期" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "登录系统时自动解锁的密钥环" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "用于存储密码的密钥环" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "无法设置默认密钥环" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "无法更改密钥环密码" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "设为默认(_S)" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "更改密码(_P)" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "您确定要删除密码密钥环“%s”吗?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "我明白,所有的条目都将永久删除。" + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "显示/隐藏密码" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "添加密码" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "密钥环(_K):" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "描述(_D):" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "密码(_P):" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "添加" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "添加密码密钥环" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "请为新密钥环选择名称。您将会被提示输入解锁密码。" + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "新密钥环名称:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "项目属性" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "描述" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "复制" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "使用" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "类型" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "服务器" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "登录" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "细节" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "删除密码" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "密钥环属性" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "名称" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "创建于" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "更改密码" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "设为默认" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "显示标志" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "显示的日期和/或时间属性" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "懒惰模式" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "懒惰模式下不对输入的日期和时间值进行标准化" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "年" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "显示年" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "月" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "显示月" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "日" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "显示一个月里的某日" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "小时" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "显示小时" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "分钟" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "显示分钟" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "秒" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "显示秒" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "年份的下限" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "日期下限的年份部分" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "年份的上限" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "日期上限的年份部分" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "月份的下限" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "日期下限的月份部分" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "月份的上限" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "日期上限的月份部分" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "天的下限" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "日期下限的月份日部分" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "天的上限" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "日期上限的月份日部分" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "小时的下限" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "时间下限的小时部分" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "小时的上限" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "时间上限的小时部分" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "分钟的下限" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "时间下限的分钟部分" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "分钟的上限" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "时间上限的分钟部分" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "秒钟的下限" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "时间下限的第二个部分" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "秒钟的上限" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "时间上限的第二个部分" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "日期" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "直接输入日期" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "选择日期" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "从日历中选择日期" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "时间" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "请直接输入时间" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "选择时间" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "请从列表中选择时间" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: yes" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "上午" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "下午" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "无法显示帮助:%s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "向 %s 添加子密钥" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA(仅签署)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal(仅加密)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA(仅签署)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA(仅加密)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "密钥类型(_T)" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "密钥长度(_L)" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "密钥长度" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "有效期" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "永不过期(_X)" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "如果密钥永不过期" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "生成一个新的子密钥" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "向 %s 添加用户 ID" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "无法添加用户 ID" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "添加用户 ID" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "全名(_N)" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "必须至少5个字符长度" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "电子邮件地址(_E)" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "可选电子邮件地址" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "密钥注释(_M)" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "可选的描述密钥的注释" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "创建新用户 ID" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "解密失败。您可能没有解密密钥。" + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "操作被取消" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "无效的有效期" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "有效期的过期日期必须是未来时间" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "无法更改过期日期" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "过期状态:%s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "永不过期(_N)" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "更改(_H)" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "多个密钥" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "密钥数据" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "字符形式的 PGP 密钥" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP 密钥" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "无法生成 PGP 密钥" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "新 PGP 密钥的密码" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "输入您的新密钥的密码两次。" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"需要很多随机数据才能生成密钥。\n" +"您可以帮助加快此过程\n" +"在键盘上打字、移动鼠标、使用应用程序等都有所帮助。\n" +"这将给予系统其所需用的随机数据。" + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "正在生成密钥" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "名称长度应至少为 5 个字符。" + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "新建 PGP 密钥" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP 密钥允许您加密给别人的电子邮件或文件。" + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "高级密钥选项(_A)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "注释(_C)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "加密类型(_T)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "密钥保密强度(位)(_S)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "失效日期(_X)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "永不过期(_V)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "创建(_R)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "生成新密钥" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "您确定要永久删除 %s 吗?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "您确定您要永久地删除 %d 个密钥吗?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "密码错误" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "这是您第三次输错密码了。请重试。" + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "错误的密码。" + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "请输入“%s”的新密码" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "请输入“%s”的密码" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "输入新密码" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "输入密码" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "密码" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "已载入 %d 个密钥" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"无效的密钥数据(缺少 UID)。这可能是由于电脑时间设置成未来时间或者缺少自我签" +"名。" + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG 密钥" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG:默认密钥换目录" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"照片太大\n" +"推荐用在您密钥上的照片为 %d x %d 像素的大小。" + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "不调整大小(_D)" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "调整大小(_R)" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "" +"这不是一个图像文件,或者是一个无法识别类型的图像文件。请尝试使用 JPEG 图像。" + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "所有图像文件" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "所有 JPEG 文件" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "所有文件" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "选择要添加到密钥的照片" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "打开(_O)" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "无法准备照片" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "无法添加照片" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "文件无法加载。可能是无效格式" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "您确定要从您的密钥中移除当前照片吗?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "无法删除照片" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "无法吊销子密钥" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "吊销:%s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "无理由" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "无吊销密钥理由" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "被泄露" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "密钥已被泄露" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "被取代" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "密钥已被取代" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "不再使用" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "密钥不再使用" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "您将把 %s 作为 %s 吊销者添加。此操作不能取消!您确定要继续吗?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "无法添加废除者" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "我明白,此对称加密私钥将永久删除。" + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "密钥已被“%s”签署" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "无法签署密钥" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "没有可用于签署的密钥" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "您没有个人 PGP 密钥可用于表明您是否信任此密钥。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "签署密钥" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "通过签署您表明您信任此密钥属于:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "密钥名称" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "您仔细检查过此密钥吗?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "没有(_N)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "随意检查过(_C)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "仔细检查过(_V)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"无:意味着您相信此密钥是声称拥有它的人所拥有的,但您不能或没有校验其真" +"实性。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"非正式:意思是您完成了一项非正式地验证,证明该密钥是由声称拥有它的人所" +"有。比如,您可以通过电话将密钥指纹读给所有者以确认。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "非常仔细:选择此选项仅当您绝对确信此密钥是真实的。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"您可以使用一个很难伪造的照片证明(比如护照)来亲自检查密钥名称的正确性。您还" +"需要发邮件来检查此电子邮件地址属于所有者。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "其他人如何看到这个签名:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "其他人不能看到此签名(_O)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "我可以在之后吊销此签名(_R)。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "以此身份签署密钥:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "签署者(_S):" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "签署(_S)" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "未知" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "搜索范围过宽。服务器“%s”中找到太多密钥。" + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "无法与服务器“%s”通讯:%s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP 密钥服务器" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "无法导入密钥:%s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "密钥导入成功" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "导入" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "无法导入密钥" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "远程密钥" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "远程密钥包含“%s”" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "寻找密钥失败。" + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "双击密钥以检查它,或者点击导入按钮将它导入你的本地密钥环。" + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "寻找远程密钥" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "这将在互联网上寻找其他人的密钥。这些密钥可以导入您的本地密钥环。" + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "搜索包含这些内容的密钥(_S): " + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "从哪里搜索:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "密钥服务器:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "我附近的共享密钥:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "搜索(_S)" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "无法向服务器发布密钥" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "无法从服务器取回密钥:%s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "已选择 %d 个密钥进行同步" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "正在同步密钥…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "同步密钥" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"这将发布您密钥环里的密钥以供其他人使用。您也可以获得自上次获得他人密钥以来他" +"人进行的修改。" + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"这将取回自上次您获得他们的密钥以来别人所作的所有改变。没有指定用来发布的密钥" +"服务器,所以您的密钥无法被其他人使用。" + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "密钥服务器(_K)" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "同步(_S)" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "无法与“%s”通讯:%s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "正在连接到:%s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "无法解析地址:%s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "正在解析服务器地址:%s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP 密钥服务器" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP 密钥" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "PGP 密钥用来加密邮件和文件" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(和其他 %d 项)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "个人 PGP 密钥" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP 密钥" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "无法修改主用户 ID" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "您确定要永久删除“%s”用户 ID 吗?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "无法删除用户 ID" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[未知]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "名称/电子邮件" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "签名 ID" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "无法修改主照片" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "更改密码时出错" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(未知)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "此密钥已于 %s 过期" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s——公钥" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s——私钥" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "是否永久删除子密钥 %d ?此子密钥属于 %s 。" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "无法删除子密钥" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "无法修改信任栏" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "无法导出密钥" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "从不" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "用途" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "已创建" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "过期" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "状态" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "强度" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "已吊销" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "已过期" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "已禁用" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "良好" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "密钥 ID" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "我信任来自其它密钥上的“%s”的签名" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "如果您相信拥有此密钥的人是“%s”,请签署此密钥:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "如果您不再相信“%s”拥有此密钥,请吊销您的签名:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "导出对称加密私钥(_E)" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "导出公钥" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "此密钥已被吊销" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "此密钥的所有者已吊销此密钥。它将不能再使用。" + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "此密钥已过期" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "向此密钥添加照片" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "从此密钥中移除此照片" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "使用此照片作为主照片" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "上一张照片" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "下一张照片" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "注释" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "更改密码(_P)" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "所有者" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "密钥名称和签名" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "主要" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "签署" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "删除" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "添加名称(_A)" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "吊销" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "名称和签名" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "密钥 ID:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "类型:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "保密强度:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "技术细节" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "指纹" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "创建:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "过期:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "日期" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "覆盖所有者信任状态(_T):" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "导出到文件" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "操作" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "过期" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "子密钥(_S)" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "最小限度" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "完全" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "完全" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "其他名称(_O):" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "您是否信任此密钥" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "您的信任度在细节栏手动指定。" + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "签署此密钥(_S)" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "吊销签名(_R)" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "其他签署此密钥的人(_P):" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "仅显示我信任的人的签名(_O)" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "信任" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "技术细节:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "指纹:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "日期:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "是否信任:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "对此密钥的信任度(_T):" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "加密" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "验证" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "认证" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "密钥" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "%2$s 的子密钥 %1$d" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "吊销密钥的原因" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "原因(_R):" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "可选的撤回描述" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "吊销密钥" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "撤回(_V)" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "您没有个人 PGP 密钥可用于签署文档或消息。" + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "选择签署用密钥" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "用此密钥签署消息(_S):" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "正在导出数据" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "正在取回数据" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "正在导入数据" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "正在发送数据" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "不可用" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "证书" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "密钥(DER 编码)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "个人证书和密钥" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "个人证书" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "您确定要永久删除 %d 个证书吗?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "无法生成私钥" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "我明白,此密钥将永久删除。" + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "未命名的私钥" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "私钥" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "未命名" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "导出证书失败" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "无法删除" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "创建" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "无法创建证书请求" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "保存证书请求" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "保存(_S)" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "证书请求" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM 编码的请求" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "无法保存证书请求" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "未知" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509 证书和相关的密钥" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "新建私钥" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "创建新密钥" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "标签:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "已储存于:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "密钥类型(_T):" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "密钥保密强度(位)(_S)" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "删除此证书或密钥" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "导出证书" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "请求证书" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "为此密钥创建一个证书请求文件" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "创建一个证书请求文件。" + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "在证书请求中的通用名 (CN)。" + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "通用名称 (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "贡献者:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "本程序的版本" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"wei Li \n" +"Zipeco , 2002\n" +"Funda Wang , 2004\n" +"Deng Xiyue 2007, 2008, 2009\n" +"Aron Xu , 2009, 2010, 2011\n" +"YunQiang Su , 2012\n" +"Wylmer Wang , 2010, 2011, 2013\n" +"Tong Hui , 2013\n" +"Mingcong Bai , 2018\n" +"Dingzhong Chen , 2019\n" +"Yuchen Guo , 2020." + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "密钥串项目首页" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "要导入的数据" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "导入(_I)" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "导入失败" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "导入密钥" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "所有密钥文件" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "丢失的文本" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "剪贴板文本" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "无法解锁密钥环" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "更改密码" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "新密码(_P):" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "确认新密码" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "确认密码(_F):" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "寻找远程密钥(_F)…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "同步并发布密钥(_S)…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "首选项(_P)" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "帮助(_H)" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "键盘快捷键(_K)" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "关于密码和密钥(_A)" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "筛选项目:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "显示个人(_E)" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "显示受信任(_T)" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "显示全部(_Y)" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "SSH 密钥" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "用来连接到其他计算机" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG 密钥" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "用来加密邮件和文件" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "密码密钥环" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "用来保存应用程序和网络密码" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "安全地储存密码或密钥" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "用于请求证书" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "从文件导入…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "添加新密钥或条目" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "后退" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "搜索密钥或密码" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "过滤器" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "空合集" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "密钥环已锁定" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "解锁" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "复制密钥内容" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "导出…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "属性" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "为 SSH 配置密钥…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "锁定(_L)" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "解锁(_U)" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "属性(_P)" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "无法锁定" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "SSH" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "用来连接到其他计算机的密钥" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "您确认要删除 SSH 密钥“%s”吗?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "您确认要删除 %u 个 SSH 密钥吗?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "SSH 对称加密私钥" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "SSH 公钥" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH 密钥" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "此密钥的公钥文件不可用。" + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "无法载入刚生成的 SSH 密钥" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "无法生成 SSH 密钥" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "创建 SSH 密钥" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 位" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 位" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "未知密钥类型!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "未知类型" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "无法重命名密钥。" + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "无法更改此密钥的授权。" + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "无法更改此密钥的密码。" + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "删除 SSH 密钥时出错。" + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "个人 SSH 密钥" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH 密钥" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(不可读的 SSH 密钥)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "SSH 密钥" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "远程主机密码" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "输入密钥密码" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "新的 SSH 密钥的密码" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "正在导入密钥:%s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "正在导入密钥。输入密码" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "输入您的 SSH 密码:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "旧的密钥密码" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "输入 %s 的旧密码" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "新的密钥密码" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "输入 %s 的新密码" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "再次输入新密码:%s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "新 SSH 密钥" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "安全 Shell (SSH) 密钥允许您通过安全的连接到其它计算机。" + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "描述(_D)" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "使用您的电子邮件地址,或提示密钥的用途的词句。" + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "" +"如果您打算在一台计算机上使用此密钥,您现在可以将那台计算机设定为识别您的密" +"钥。" + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "仅创建密钥(_J)" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "创建并设定(_C)" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH 密钥属性" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "名称" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "算法" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "密钥长度" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "位置" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "公钥" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "复制公钥到剪贴板" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "远程访问" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "允许远程访问此计算机" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "导出(_E)" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "删除 SSH 密钥" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "为 SSH 连接设定计算机" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "" +"要在另一台使用 SSH 的计算机上使用您的 SSH 密钥,您必须在那台计算机上有已存在" +"的登录帐户。" + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "服务器地址(_S):" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "例如: fireserver.example.com:端口" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "登录名(_L):" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "建立" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH keys" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH:%s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "此密钥的私钥文件不可用。" + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "无法配置远程服务器上的 SSH 密钥。" + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "正在配置 SSH 密钥…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "密钥串是一款用于管理加密密钥的 GNOME 应用程序。它也与 nautilus、gedit 和其" +#~ "他地方集成,处理加密操作。" + +#~ msgid "Encryption _Type:" +#~ msgstr "加密类型(_T):" + +#~ msgid "Keyring is unlocked" +#~ msgstr "密钥环已解锁" + +#~ msgid "Lock" +#~ msgstr "锁定" + +#~ msgid "Expiration Date:" +#~ msgstr "有效期:" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "无法添加子密钥" + +#~ msgid "_Combine all keyrings" +#~ msgstr "合并所有密钥环(_C)" + +#~ msgid "org.gnome.seahorse.Application" +#~ msgstr "org.gnome.seahorse.Application" + +#~ msgid "OK" +#~ msgstr "确定" + +#~ msgid "Full _Name:" +#~ msgstr "全名(_N):" + +#~ msgid "_Email Address:" +#~ msgstr "电子邮件地址(_E):" + +#~ msgid "_File" +#~ msgstr "文件(_F)" + +#~ msgid "_Edit" +#~ msgstr "编辑(_E)" + +#~ msgid "Delete selected items" +#~ msgstr "删除已选择的项目" + +#~ msgid "Show the properties of this item" +#~ msgstr "显示此项目的属性" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "显示此密钥环的属性" + +#~ msgid "Prefere_nces" +#~ msgstr "首选项(_N)" + +#~ msgid "Change preferences for this program" +#~ msgstr "修改此程序的首选项" + +#~ msgid "_View" +#~ msgstr "视图(_V)" + +#~ msgid "_About" +#~ msgstr "关于(_A)" + +#~ msgid "About this program" +#~ msgstr "关于此程序" + +#~ msgid "_Contents" +#~ msgstr "内容(_C)" + +#~ msgid "Show Seahorse help" +#~ msgstr "显示 Seahorse 帮助" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "新建密码密钥环" + +#~ msgid "New password…" +#~ msgstr "新建密码…" + +#~ msgid "Stored Password" +#~ msgstr "已储存的密码" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "应用程序通常将新密码存储在默认密钥环中。" + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "修改密码存储密钥环的解锁密码" + +#~ msgid "_Show Password" +#~ msgstr "显示密码(_S)" + +#~ msgid "PGP Key" +#~ msgstr "PGP 密钥" + +#~ msgid "Importing keys from key servers" +#~ msgstr "从密钥服务器导入密钥" + +#~ msgid "_Remote" +#~ msgstr "远程(_R)" + +#~ msgid "Close this window" +#~ msgstr "关闭此窗口" + +#~ msgid "Search for keys on a key server" +#~ msgstr "在密钥服务器搜索密钥" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "将已选择的密钥导入到本地密钥环" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "与那些在线的密钥发布并/或同步您的密钥。" + +#~ msgid "Marginal" +#~ msgstr "部分" + +#~ msgid "Full" +#~ msgstr "完全" + +#~ msgid "Ultimate" +#~ msgstr "彻底" + +#~ msgid "Photo " +#~ msgstr "照片" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "名称:" + +#~ msgid "Email:" +#~ msgstr "电子邮件:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "解密发给您的文件和电子邮件。" + +#~ msgid "Private PGP Key" +#~ msgstr "PGP 私钥" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "加密文件并通过电子邮件发给密钥所有者" + +#~ msgid "- System Settings" +#~ msgstr "- 系统设置" + +#~ msgid "Don't display a window" +#~ msgstr "不要显示窗口" + +#~ msgid "_New" +#~ msgstr "新建(_N)" + +#~ msgid "Close this program" +#~ msgstr "关闭此程序" + +#~ msgid "_New…" +#~ msgstr "新建(_N)…" + +#~ msgid "_Import…" +#~ msgstr "导入(_I)…" + +#~ msgid "_Paste" +#~ msgstr "粘贴(_P)" + +#~ msgid "Import from the clipboard" +#~ msgstr "从剪贴板导入" + +#~ msgid "By _Keyring" +#~ msgstr "根据密钥环(_K)" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "只显示个人密钥、证书和密码" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "只显示信任的密钥、证书和密码" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "显示全部密钥、证书和密码" + +#~ msgid "New item" +#~ msgstr "新建条目" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "选择要创建的项目类型(_S):" + +#~ msgid "Continue" +#~ msgstr "继续" + +#~ msgid "First time options:" +#~ msgstr "初次选项:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "您需要密钥以开始加密。" + +#~ msgid "Import existing keys from a file:" +#~ msgstr "从文件导入已存在的密钥:" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "生成您自己的新密钥:" + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "发送 SSH 公钥到另一个机器,并允许使用该密钥登录。" + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "用来访问其他计算机(例如:通过终端)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "名称:" + +#~ msgid "Identifier:" +#~ msgstr "标识符:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "此密钥的拥有者已被授权连接到此计算机(_A)" + +#~ msgid "This only applies to the %s account." +#~ msgstr "仅用于%s帐户。" + +#~ msgid "Key length:" +#~ msgstr "密钥长度:" + +#~ msgid "E_xport Complete Key" +#~ msgstr "导出完整密钥(_X)" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "尚未加载搜索提供者" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Name:" +#~ msgstr "名称:" + +#~ msgid "Keyring" +#~ msgstr "密钥环" + +#~ msgid "E_xport..." +#~ msgstr "导出(_X)..." + +#~ msgid "_Find Remote Keys..." +#~ msgstr "寻找远程密钥(_F)..." + +#~ msgid "Synchronizing keys..." +#~ msgstr "正在同步密钥..." + +#~ msgid "_New..." +#~ msgstr "新建(_N)..." + +#~ msgid "_Import..." +#~ msgstr "导入(_I)..." + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "SSH 命令意外终止。" + +#~ msgid "The SSH command failed." +#~ msgstr "SSH 命令失败。" + +#~ msgid "Updating password" +#~ msgstr "正在更新密码" + +#~ msgid "Ssh Key" +#~ msgstr "SSH 密钥" + +#~ msgid "_Computer Name:" +#~ msgstr "计算机名(_C):" + +#~ msgid "Password:" +#~ msgstr "密码:" + +#~ msgid "Key Servers:" +#~ msgstr "密钥服务器:" + +#~ msgid "Never" +#~ msgstr "从不" + +#~ msgid "Key ID:" +#~ msgstr "密钥 ID:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "名称:" + +#~ msgid "Comment:" +#~ msgstr "备注:" + +#~ msgid "Use:" +#~ msgstr "使用:" + +#~ msgid "Type:" +#~ msgstr "类型:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "密钥名称和签名" + +#~ msgid "Dates" +#~ msgstr "日期" + +#~ msgid "Actions" +#~ msgstr "动作" + +#~ msgid "Dates:" +#~ msgstr "日期:" + +#~| msgid "Name:" +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "名称:" + +#~ msgid "Trust" +#~ msgstr "信任" + +#~ msgid "Strength:" +#~ msgstr "保密强度:" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "访问密钥环被拒绝" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "gnome-keyring 守护进程没有运行" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "密钥环已经解锁" + +#~ msgid "No such key ring exists" +#~ msgstr "不存在该密钥环" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "无法与密钥环守护进程通讯" + +#~ msgid "The item already exists" +#~ msgstr "条目已经存在" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "访问 gnome-keyring 时发生内部错误" + +#~ msgid "Algorithms here" +#~ msgstr "算法" + +#~ msgid "Couldn't delete keyring" +#~ msgstr "无法删除密钥环" + +#~ msgid "" +#~ "Lock the password storage keyring so a master password is required to " +#~ "unlock it." +#~ msgstr "锁定密码存储密钥环进而需要主密码才能将其解锁。" + +#~ msgid "" +#~ "Unlock the password storage keyring with a master password so it is " +#~ "available for use." +#~ msgstr "使用主密码解锁密码存储密钥环使其可以使用。" + +#~ msgid "Delete the keyring." +#~ msgstr "删除密钥环" + +#~ msgid "Properties of the keyring." +#~ msgstr "密钥环的属性。" + +#~ msgid "Lock the password storage keyring." +#~ msgstr "锁定存储密码的密钥环。" + +#~ msgid "Unlock the password storage keyring." +#~ msgstr "解锁存储密码的密钥环。" + +#~ msgid "Deleting item" +#~ msgid_plural "Deleting items" +#~ msgstr[0] "正在删除条目" + +#~ msgid "Properties of the password." +#~ msgstr "密码的属性。" + +#~ msgid "Archive files" +#~ msgstr "档案文件" + +#~ msgid "" +#~ "A file already exists with this name.\n" +#~ "\n" +#~ "Do you want to replace it with a new file?" +#~ msgstr "" +#~ "使用该文件名的文件已存在。\n" +#~ "\n" +#~ "您想用新的文件替换它吗?" + +#~ msgid "_Replace" +#~ msgstr "替换(_R)" + +#~ msgid "Show the properties of this place" +#~ msgstr "显示此位置的属性" + +#~ msgid "Couldn't export key to \"%s\"" +#~ msgstr "无法向“%s”导出密钥" + +#~ msgid "Exporting keys" +#~ msgstr "正在导出密钥" + +#~ msgid "Couldn't retrieve data from key server" +#~ msgstr "无法从密钥服务器取回数据" + +#~ msgid "Retrieving keys" +#~ msgstr "正在取回密钥" + +#~ msgid "Are you sure you want to permanently delete %d keys and identities?" +#~ msgstr "您确定您要永久地删除 %d 个密钥和身份吗?" + +#~ msgid "Couldn't delete private key" +#~ msgstr "无法删除私钥" + +#~ msgid "Couldn't delete public key" +#~ msgstr "无法删除公钥" + +#~ msgid "_Sign Key..." +#~ msgstr "签署密钥(_S)..." + +#~ msgid "Properties of the key." +#~ msgstr "密钥的属性。" + +#~ msgid "Export Complete Key" +#~ msgstr "导出完整密钥" + +#~ msgid "Couldn't export key." +#~ msgstr "无法导出密钥。" + +#~ msgid "Lock this token" +#~ msgstr "锁定此令牌" + +#~ msgid "Unlock this token" +#~ msgstr "解锁此令牌" + +#~ msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgstr "您确定要删除证书“%s”吗?" + +#~ msgid "Are you sure you want to delete %d certificate?" +#~ msgid_plural "Are you sure you want to delete %d certificates?" +#~ msgstr[0] "您确定要删除 %d 个证书吗?" + +#~ msgid "Deleting" +#~ msgstr "正在删除" + +#~ msgid "Delete the certificate." +#~ msgstr "删除此证书。" + +#~ msgid "Also delete matching private key" +#~ msgstr "同时删除匹配的私钥" + +#, fuzzy +#~| msgid "Are you sure you want to delete the certificate '%s'?" +#~ msgid "Are you sure you want to delete the private key '%s'?" +#~ msgstr "您确定要删除证书“%s”吗?" + +#~ msgid "P_laces" +#~ msgstr "位置(_L)" + +#~ msgid "Couldn't delete key" +#~ msgstr "无法删除密钥" + +#~ msgid "OpenSSH directory" +#~ msgstr "OpenSSH 目录" + +#~ msgid "Passwords: %s" +#~ msgstr "密码:%s" + +#~ msgid "Passwords: %s" +#~ msgstr "密码: %s" + +#~ msgid "Create New ..." +#~ msgstr "新建..." + +#~ msgid "Importing keys" +#~ msgstr "正在导入密钥" + +#~ msgid "Unrecognized key type, or invalid data format" +#~ msgstr "无法识别的密钥类型,或无效的数据格式" + +#~ msgid "Importing Keys" +#~ msgstr "正在导入密钥" + +#~ msgid "T_ypes" +#~ msgstr "类型(_Y)" + +#~ msgid "_Expiry" +#~ msgstr "过期(_E)" + +#~ msgid "_Trust" +#~ msgstr "信任(_T)" + +#~ msgid "_Validity" +#~ msgstr "有效性(_V)" + +#~ msgid "Other _Keys" +#~ msgstr "其他密钥(_K)" + +#~ msgid "Validity" +#~ msgstr "有效性" + +#~ msgid "_Expand All" +#~ msgstr "全部展开(_E)" + +#~ msgid "Expand all listings" +#~ msgstr "展开全部列表" + +#~ msgid "_Collapse All" +#~ msgstr "全部折叠(_C)" + +#~ msgid "Collapse all listings" +#~ msgstr "折叠全部列表" + +#~ msgid "Copied keys" +#~ msgstr "已复制密钥" + +#~ msgid "%s is a private key. Are you sure you want to proceed?" +#~ msgstr "%s 是私钥。您确定要进行吗?" + +#~ msgid "_Key Description:" +#~ msgstr "密钥描述(_K)" + +#~ msgid "Enter a passphrase for your new Secure Shell key." +#~ msgstr "为您的输入新 SSH 密钥输入密码" + +#~ msgid "Deleting items" +#~ msgstr "正在删除项目" + +#~ msgid "Symmetric Key" +#~ msgstr "对称密钥" + +#~ msgid "Credentials" +#~ msgstr "证书" + +#~ msgid "Identity" +#~ msgstr "身份" + +#~ msgid "Invalid" +#~ msgstr "无效" + +#~ msgid "Private Secure Shell Key" +#~ msgstr "SSH 私钥" + +#~ msgid "Public Secure Shell Key" +#~ msgstr "SSH 公钥" + +#~ msgid "Do not run seahorse-daemon as a daemon" +#~ msgstr "不以守护进程方式运行 seahorse-daemon" + +#~ msgid "couldn't fork process" +#~ msgstr "无法创建子进程" + +#~ msgid "Encryption Daemon (Seahorse)" +#~ msgstr "加密守护进程 (Seahorse)" + +#~ msgid "Invalid or unrecognized key type: %s" +#~ msgstr "无效或者无法识别的密钥类型:%s" + +#~ msgid "This keytype is not supported: %s" +#~ msgstr "不支持此类型的密钥:%s" + +#~ msgid "Support for this feature was not enabled at build time" +#~ msgstr "编译时未启用此功能的支持" + +#~ msgid "Invalid or unrecognized key: %s" +#~ msgstr "无效或者无法识别的密钥:%s" + +#~ msgid "Signed by expired on %s." +#~ msgstr "签署者 ,已于 %s 过期。" + +#~ msgid "Invalid Signature" +#~ msgstr "签名无效" + +#~ msgid "Signed by on %s Expired." +#~ msgstr "由 签署,已于 %s 过期。" + +#~ msgid "Expired Signature" +#~ msgstr "签名已过期" + +#~ msgid "Signed by Revoked on %s." +#~ msgstr "由 签署,已于 %s 撤销" + +#~ msgid "Revoked Signature" +#~ msgstr "签名已撤销" + +#~ msgid "Signed by on %s." +#~ msgstr "由 于 %s 签署。" + +#~ msgid "Good Signature" +#~ msgstr "签名有效" + +#~ msgid "Signing key not in keyring." +#~ msgstr "用来签署的密钥不在密钥环中" + +#~ msgid "Unknown Signature" +#~ msgstr "签名未知" + +#~ msgid "Bad or forged signature. The signed data was modified." +#~ msgstr "错误的或伪造的签名。签署的资料已被修改。" + +#~ msgid "Bad Signature" +#~ msgstr "签名错误" + +#~ msgid "Invalid or unrecognized signer: %s" +#~ msgstr "无效或者无法识别的签署者:%s" + +#~ msgid "Key is not valid for signing: %s" +#~ msgstr "密钥无效,无法签署:%s" + +#~ msgid "Invalid or unrecognized recipient: %s" +#~ msgstr "无效或者无法识别的收件人:%s" + +#~ msgid "Key is not a valid recipient for encryption: %s" +#~ msgstr "密钥不是有效的接收者,无法加密:%s" + +#~ msgid "No recipients specified" +#~ msgstr "没有指定收件人" + +#~ msgid "Invalid key type for decryption: %s" +#~ msgstr "无效的密钥类型,无法解密:%s" + +#~ msgid "Please set clearuri" +#~ msgstr "请设置 clearuri" + +#~ msgid "Please set crypturi" +#~ msgstr "请设置 crypturi" + +#~ msgid "Error opening clearuri" +#~ msgstr "打开 clearuri 出错" + +#~ msgid "No signer specified" +#~ msgstr "没有指定签署者" + +#~ msgid "Invalid key type for verifying: %s" +#~ msgstr "无效的密钥类型,无法验证:%s" + +#~ msgid "Invalid key id: %s" +#~ msgstr "无效的密钥 id:%s" + +#~ msgid "" +#~ "A list of key server URIs to search for remote PGP keys. In later " +#~ "versions a display name can be included, by appending a space and then " +#~ "the name." +#~ msgstr "" +#~ "用于寻找远程 PGP 密钥的密钥服务器 URI 列表。在将来的版本中可通过在末尾附加" +#~ "一个空格和名称来加入显示名称。" + +#~ msgid "Auto Sync Keys" +#~ msgstr "自动同步密钥" + +#~ msgid "Controls the visibility of the expires column for the key manager." +#~ msgstr "控制密钥管理员的有效日期列是否显示。" + +#~ msgid "Controls the visibility of the trust column for the key manager." +#~ msgstr "控制密钥管理员的信任列是否显示。" + +#~ msgid "Controls the visibility of the type column for the key manager." +#~ msgstr "控制密钥管理员的类型列是否显示。" + +#~ msgid "Controls the visibility of the validity column for the key manager." +#~ msgstr "控制密钥管理员的有效性列是否显示。" + +#~ msgid "Enable DNS-SD sharing" +#~ msgstr "开启 DNS-SD 共享" + +#~ msgid "" +#~ "Enables DNS-SD (Apple Bonjour) sharing of keys. seahorse-daemon must be " +#~ "running and must be built with HKP and DNS-SD support." +#~ msgstr "" +#~ "开启 DNS-SD (Apple Bonjour) 密钥的共享。 必须运行 seahorse-daemon 并且其必" +#~ "须编译加入 HKP 和 DNS-SD 支持。" + +#~ msgid "ID of the default key" +#~ msgstr "缺省密钥的 ID" + +#~ msgid "" +#~ "If set to true, then files encrypted with seahorse will be ASCII armor " +#~ "encoded." +#~ msgstr "如果设置为真,使用 seahorse 加密的文档会使用 ASCII 方式封装编码。" + +#~ msgid "" +#~ "If set to true, then the default key will always be added to an " +#~ "encryption recipients list." +#~ msgstr "如果设置为真,默认密钥将总是被加入加密收件人列表中。" + +#~ msgid "Last key used to sign a message." +#~ msgstr "上次用来签署消息的密钥。" + +#~ msgid "PGP Key servers" +#~ msgstr "PGP 密钥服务器" + +#~ msgid "Show expires column in key manager" +#~ msgstr "显示密钥管理员的有效日期列" + +#~ msgid "Show trust column in key manager" +#~ msgstr "显示密钥管理员的信任列" + +#~ msgid "Show type column in key manager" +#~ msgstr "显示密钥管理员的类型列" + +#~ msgid "Show validity column in key manager" +#~ msgstr "显示密钥管理员的有效性列" + +#~ msgid "" +#~ "Specify the column to sort the recipients window by. Columns are: 'name' " +#~ "and 'id'. Put a '-' in front of the column name to sort in descending " +#~ "order." +#~ msgstr "" +#~ "指定一列来排序收件人窗口。列为:“名称”和“id”。在列名前加上“-”以逆排序。" + +#~ msgid "The ID of the last secret key used to sign a message." +#~ msgstr "上次用来签署消息所使用的密钥 ID" + +#~ msgid "The column to sort the recipients by" +#~ msgstr "用来排序收件人的列" + +#~ msgid "" +#~ "This specifies the default key to use for certain operations, mainly " +#~ "signing." +#~ msgstr "这里指定操作所使用的默认密钥,主要用于签署。" + +#~ msgid "Whether to always encrypt to default key" +#~ msgstr "是否总是用默认密钥来加密" + +#~ msgid "Whether to use ASCII Armor" +#~ msgstr "是否使用 ASCII 封装" + +#~ msgid "Couldn't set application access." +#~ msgstr "无法设定应用程序访问" + +#~ msgid "Path:" +#~ msgstr "路径:" + +#~ msgid "Permissions:" +#~ msgstr "权限:" + +#~ msgid "_Read" +#~ msgstr "读取(_R)" + +#~ msgid "_Write" +#~ msgstr "写入(_W)" + +#~ msgctxt "infinitive" +#~ msgid "_Delete" +#~ msgstr "删除(_D)" + +#~ msgid "Saving item..." +#~ msgstr "保存项目..." + +#~ msgid "Listing password keyrings" +#~ msgstr "列出密码密钥环" + +#~ msgid "" +#~ "No encryption keys were found with which to perform the operation you " +#~ "requested. The program Passwords and Encryption Keys will now be " +#~ "started so that you may either create a key or import one." +#~ msgstr "" +#~ "没有找到加密密钥,无法执行您请求的操作。现在将启动“密码和加密密钥”程序这样" +#~ "您可以创建或导入一个加密密钥。" + +#~ msgid "All Keys" +#~ msgstr "所有密钥" + +#~ msgid "Selected Recipients" +#~ msgstr "已选择的收件人" + +#~ msgid "Search Results" +#~ msgstr "搜索结果" + +#~ msgid "Search _for:" +#~ msgstr "搜索(_F):" + +#~ msgid "None (Don't Sign)" +#~ msgstr "无(不签署)" + +#~ msgid "Sign this message as %s" +#~ msgstr "作为 %s 来签署此消息" + +#~ msgid "_Sign message as:" +#~ msgstr "签署消息的密钥(_S):" + +#~ msgid "File is not a valid .desktop file" +#~ msgstr "此文件不是有效的 .desktop 文件" + +#~ msgid "Unrecognized desktop file Version '%s'" +#~ msgstr "无法识别的桌面文件版本“%s”" + +#~ msgid "Starting %s" +#~ msgstr "正在启动 %s" + +#~ msgid "Application does not accept documents on command line" +#~ msgstr "应用程序在命令行不接受文档" + +#~ msgid "Unrecognized launch option: %d" +#~ msgstr "无法识别的启动参数:%d" + +#~ msgid "Can't pass document URIs to a 'Type=Link' desktop entry" +#~ msgstr "无法将文档 URI 传递给“Type=Link”的桌面项目" + +#~ msgid "Not a launchable item" +#~ msgstr "不是可启动项" + +#~ msgid "Disable connection to session manager" +#~ msgstr "禁用到会话管理器的连接" + +#~ msgid "Specify file containing saved configuration" +#~ msgstr "指定包含保存配置信息的文件" + +#~ msgid "FILE" +#~ msgstr "文件" + +#~ msgid "Specify session management ID" +#~ msgstr "指定会话管理器 ID" + +#~ msgid "Session management options:" +#~ msgstr "会话管理器选项:" + +#~ msgid "Show session management options" +#~ msgstr "显示会话管理器选项" + +#~ msgid "Imported %i key" +#~ msgid_plural "Imported %i keys" +#~ msgstr[0] "已导入 %d 个密钥" + +#~ msgid "Imported a key for" +#~ msgid_plural "Imported keys for" +#~ msgstr[0] "已为其导入密钥" + +#~ msgid "Notification Messages" +#~ msgstr "通知信息" + +#~ msgid "Progress Title" +#~ msgstr "进度条" + +#~ msgid "Couldn't run file-roller" +#~ msgstr "无法运行 file-roller" + +#~ msgid "Couldn't package files" +#~ msgstr "无法打包文件" + +#~ msgid "The file-roller process did not complete successfully" +#~ msgstr "file-roller 进程没有成功完成" + +#~ msgid "Loading Keys..." +#~ msgstr "正在载入密钥... " + +#~ msgid "Uploading keys..." +#~ msgstr "正在上传密钥..." + +#~ msgid "Retrieving keys..." +#~ msgstr "正在获取密钥..." + +#~ msgid "Searching for keys containing '%s'..." +#~ msgstr "正在搜索包含“%s”的密钥..." + +#~ msgid "Searching for key id '%s'..." +#~ msgstr "正在搜索 id 为“%s”的密钥..." + +#~ msgid "Retrieving remote keys..." +#~ msgstr "正在获取远程密钥..." + +#~ msgid "Sending keys to key server..." +#~ msgstr "正在向密钥服务器发送密钥..." + +#~ msgid "Passphrase:" +#~ msgstr "密码:" + +#~ msgid "Couldn't share keys" +#~ msgstr "无法共享密钥" + +#~ msgid "Can't publish discovery information on the network." +#~ msgstr "无法在网络上发行寻找信息" + +#~ msgid "%s's encryption keys" +#~ msgstr "%s 的加密密钥" + +#~ msgid "Key Sharing" +#~ msgstr "密钥共享" + +#~ msgid "" +#~ "Sharing your keys allows other people on your network to use the keys " +#~ "you've collected. This means they can automatically encrypt things for " +#~ "you or those you know, without you having to send them your key.\n" +#~ "\n" +#~ "Note: Your personal keys will not be compromised." +#~ msgstr "" +#~ "共享您的密钥允许您网络上的其他人使用您搜集的密钥,这些密钥一般指的是公钥。" +#~ "这意味着他们可以自动为您或您认识的人加密,而无须您再将您或您认识的人的公钥" +#~ "发送给他们。\n" +#~ "\n" +#~ "注意:您的私钥不会被泄露。" + +#~ msgid "_Share my keys with others on my network" +#~ msgstr "与我网络上的其他人共享我的密钥(_S)" diff --git a/po/zh_HK.po b/po/zh_HK.po new file mode 100644 index 00000000..618a7f74 --- /dev/null +++ b/po/zh_HK.po @@ -0,0 +1,2633 @@ +# Chinese (Hong Kong) translation of Seahorse +# Copyright (C) 2005, 07 Free Software Foundation, Inc. +# Woodman Tuen , 2005-07. +# Chao-Hsiung Liao , 2008, 2010. +# Wei-Lun Chao , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: seahorse 3.3.4\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" +"product=seahorse&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2014-08-20 22:26+0000\n" +"PO-Revision-Date: 2014-08-21 18:57+0800\n" +"Last-Translator: Chao-Hsiung Liao \n" +"Language-Team: Chinese (Hong Kong) \n" +"Language: zh_HK\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 1.6.5\n" + +#: ../data/seahorse.appdata.xml.in.h:1 +msgid "" +"Seahorse is a GNOME application for managing encryption keys. It also " +"integrates with nautilus, gedit and other places for encryption operations." +msgstr "Seahorse 是管理加密密碼匙的 GNOME 應用程式。它也與 nautilus、gedit 與其他地方整合提供加密操作。" + +#: ../data/seahorse.appdata.xml.in.h:2 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don't have to keep typing it and backup your keys and keyring." +msgstr "使用 seahorse 你可以建立與管理 PGP 密碼匙、建立與管理 SSH 密碼匙,從密碼匙伺服器發布與取回密碼匙,快取你的密語讓你不用每次都輸入它,還可以備份你的密碼匙與密碼匙圈。" + +#: ../data/seahorse.desktop.in.in.h:1 ../common/catalog.vala:285 +#: ../src/seahorse-key-manager.c:660 +msgid "Passwords and Keys" +msgstr "密碼及加密密碼匙" + +#: ../data/seahorse.desktop.in.in.h:2 +msgid "Manage your passwords and encryption keys" +msgstr "管理密碼及密碼匙" + +#: ../data/seahorse.desktop.in.in.h:3 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "keyring;encryption;security;sign;ssh;密碼匙;加密;安全;簽署;" + +#: ../common/catalog.vala:257 +msgid "Contributions:" +msgstr "貢獻者:" + +#: ../common/catalog.vala:287 +msgid "translator-credits" +msgstr "" +"如對翻譯有任何意見,請送一封電子郵件給\n" +"以下地址,GNOME 翻譯隊伍會盡快回覆你:\n" +"zh-l10n@lists.linux.org.tw\n" +"\n" +"Woodman Tuen , 2005-07" + +#: ../common/catalog.vala:290 +msgid "Seahorse Project Homepage" +msgstr "Seahorse 專案網頁" + +#: ../common/catalog.vala:308 +msgid "Cannot delete" +msgstr "不能刪除" + +#: ../common/catalog.vala:331 ../libseahorse/seahorse-key-manager-store.c:440 +msgid "Couldn't export keys" +msgstr "無法匯出金錀" + +#: ../common/catalog.vala:342 +msgid "Couldn't export data" +msgstr "無法匯出資料" + +#: ../common/catalog.vala:358 ../libseahorse/seahorse-widget.c:459 +#, c-format +msgid "Could not display help: %s" +msgstr "無法顯示說明文件:%s" + +#. Top menu items +#: ../common/catalog.vala:364 +msgid "_File" +msgstr "檔案(_F)" + +#: ../common/catalog.vala:365 +msgid "E_xport..." +msgstr "匯出(_X)…" + +#: ../common/catalog.vala:366 +msgid "Export to a file" +msgstr "匯出為檔案" + +#: ../common/catalog.vala:367 +msgid "_Edit" +msgstr "編輯(_E)" + +#: ../common/catalog.vala:370 +msgid "Copy to the clipboard" +msgstr "複製到剪貼簿" + +#: ../common/catalog.vala:371 ../pkcs11/pkcs11-properties.vala:201 +#: ../src/seahorse-sidebar.c:954 +msgid "_Delete" +msgstr "刪除(_D)" + +#: ../common/catalog.vala:372 +msgid "Delete selected items" +msgstr "刪除選取的項目" + +#: ../common/catalog.vala:374 +msgid "Show the properties of this item" +msgstr "顯示這個項目的屬性" + +#: ../common/catalog.vala:376 +msgid "Show the properties of this keyring" +msgstr "顯示這個密碼匙圈的屬性" + +#: ../common/catalog.vala:377 +msgid "Prefere_nces" +msgstr "偏好設定(_N)" + +#: ../common/catalog.vala:378 +msgid "Change preferences for this program" +msgstr "更改本程式的偏好設定" + +#: ../common/catalog.vala:379 +msgid "_View" +msgstr "檢視(_V)" + +#: ../common/catalog.vala:380 +msgid "_Help" +msgstr "求助(_H)" + +#: ../common/catalog.vala:382 +msgid "About this program" +msgstr "關於本程式" + +#: ../common/catalog.vala:383 +msgid "_Contents" +msgstr "內容(_C)" + +#: ../common/catalog.vala:384 +msgid "Show Seahorse help" +msgstr "顯示 Seahorse 的說明文件" + +#: ../common/exportable.vala:192 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:46 +msgid "Export" +msgstr "匯出" + +#: ../gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "密碼" + +#: ../gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "已儲存的個人密碼、證書和機密" + +#: ../gkr/gkr-backend.vala:241 +msgid "New password keyring" +msgstr "新增密碼密碼匙圈" + +#: ../gkr/gkr-backend.vala:242 ../gkr/gkr-backend.vala:249 +msgid "Used to store application and network passwords" +msgstr "用來儲存應用程式和網絡的密碼" + +#: ../gkr/gkr-backend.vala:243 +msgid "New password..." +msgstr "新密碼…" + +#: ../gkr/gkr-backend.vala:244 ../gkr/gkr-backend.vala:251 +msgid "Safely store a password or secret." +msgstr "安全的存放密語或機密。" + +#: ../gkr/gkr-backend.vala:248 +msgid "Password Keyring" +msgstr "密碼密碼匙圈" + +#: ../gkr/gkr-backend.vala:250 +msgid "Stored Password" +msgstr "已儲存的密碼" + +#: ../gkr/gkr-item-add.vala:24 +msgid "Add Password" +msgstr "加入密碼" + +#: ../gkr/gkr-item-add.vala:101 +msgid "Couldn't add item" +msgstr "無法加入項目" + +#: ../gkr/gkr-item-properties.vala:136 +msgid "Access a network share or resource" +msgstr "存取網絡共享或資源" + +#: ../gkr/gkr-item-properties.vala:139 +msgid "Access a website" +msgstr "存取網站" + +#: ../gkr/gkr-item-properties.vala:142 +msgid "Unlocks a PGP key" +msgstr "解除 PGP 密碼匙鎖定" + +#: ../gkr/gkr-item-properties.vala:145 +msgid "Unlocks a Secure Shell key" +msgstr "解除 SSH 密碼匙鎖定" + +#: ../gkr/gkr-item-properties.vala:148 +msgid "Saved password or login" +msgstr "已儲密碼或登入" + +#: ../gkr/gkr-item-properties.vala:161 +msgid "Network Credentials" +msgstr "網絡認證" + +#: ../gkr/gkr-item-properties.vala:166 +msgid "Password" +msgstr "密碼" + +#: ../gkr/gkr-item-properties.vala:235 +msgid "Couldn't change password." +msgstr "無法更改密碼。" + +#: ../gkr/gkr-item-properties.vala:273 +msgid "Couldn't set description." +msgstr "無法設定描述。" + +#. Translators: This should be the same as the string in empathy +#: ../gkr/gkr-item.vala:388 +msgid "IM account password for " +msgstr "IM 帳號的密碼 " + +#: ../gkr/gkr-item.vala:444 +msgid "Password or secret" +msgstr "密語或機密" + +#: ../gkr/gkr-item.vala:445 +msgid "Network password" +msgstr "網絡密碼" + +#: ../gkr/gkr-item.vala:446 +msgid "Stored note" +msgstr "儲存的備註" + +#: ../gkr/gkr-item.vala:447 +msgid "Keyring password" +msgstr "密碼匙圈密碼" + +#: ../gkr/gkr-item.vala:448 +msgid "Encryption key password" +msgstr "加密密碼匙密碼" + +#: ../gkr/gkr-item.vala:449 +msgid "Key storage password" +msgstr "密碼匙儲存密碼" + +#: ../gkr/gkr-item.vala:450 +msgid "Google Chrome password" +msgstr "Google Chrome 密碼" + +#: ../gkr/gkr-item.vala:451 +msgid "Gnome Online Accounts password" +msgstr "GNOME 網上帳號密碼" + +#: ../gkr/gkr-item.vala:452 +msgid "Telepathy password" +msgstr "Telepathy 密碼" + +#: ../gkr/gkr-item.vala:453 +msgid "Instant messaging password" +msgstr "即時訊息密碼" + +#: ../gkr/gkr-item.vala:454 +msgid "Network Manager secret" +msgstr "網絡管理程式機密" + +#: ../gkr/gkr-item.vala:504 +#, c-format +msgid "Are you sure you want to delete the password '%s'?" +msgstr "確定要刪除密碼「%s」?" + +#: ../gkr/gkr-item.vala:506 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "確定要刪除 %d 個密碼?" + +#: ../gkr/gkr-keyring-add.vala:25 +msgid "Add Password Keyring" +msgstr "加入密碼密碼匙圈" + +#: ../gkr/gkr-keyring-add.vala:55 +msgid "Couldn't add keyring" +msgstr "無法加入密碼匙圈" + +#: ../gkr/gkr-keyring.vala:28 +msgid "A keyring that is automatically unlocked on login" +msgstr "登入時自動解鎖的密碼匙圈" + +#: ../gkr/gkr-keyring.vala:29 +msgid "A keyring used to store passwords" +msgstr "用來儲存密碼的密碼匙圈" + +#: ../gkr/gkr-keyring.vala:174 +msgid "Couldn't set default keyring" +msgstr "無法設定預設的密碼匙圈" + +#: ../gkr/gkr-keyring.vala:198 ../gkr/gkr-keyring.vala:203 +msgid "Couldn't change keyring password" +msgstr "無法更改密碼匙圈密碼" + +#: ../gkr/gkr-keyring.vala:209 +msgid "_Set as default" +msgstr "設為預設值(_S)" + +#: ../gkr/gkr-keyring.vala:210 +msgid "Applications usually store new passwords in the default keyring." +msgstr "應用程式通常會把新密碼儲存在預設密碼匙圈裏。" + +#: ../gkr/gkr-keyring.vala:211 +msgid "Change _Password" +msgstr "更改密碼(_P)" + +#: ../gkr/gkr-keyring.vala:212 +msgid "Change the unlock password of the password storage keyring" +msgstr "改變密碼儲存密碼匙圈的解鎖密碼" + +#: ../gkr/gkr-keyring.vala:237 +#, c-format +msgid "Are you sure you want to delete the password keyring '%s'?" +msgstr "你確定要刪除這個密碼密碼匙圈「%s」?" + +#: ../gkr/gkr-keyring.vala:240 +msgid "I understand that all items will be permanently deleted." +msgstr "我知道所有的項目會永遠的被刪除。" + +#: ../gkr/seahorse-add-keyring.xml.h:1 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "請為新的密碼匙圈選擇一個名稱。系統會提示你提供解鎖密碼。" + +#: ../gkr/seahorse-add-keyring.xml.h:2 +msgid "New Keyring Name:" +msgstr "新密碼匙圈名稱:" + +#: ../gkr/seahorse-gkr-add-item.xml.h:1 +#: ../gkr/seahorse-gkr-item-properties.xml.h:1 ../pgp/seahorse-revoke.xml.h:3 +#: ../ssh/seahorse-ssh-generate.xml.h:5 +msgid "_Description:" +msgstr "描述(_D):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:2 +msgid "_Password:" +msgstr "密碼(_P):" + +#: ../gkr/seahorse-gkr-add-item.xml.h:3 +msgid "_Show Password" +msgstr "顯示密碼(_S)" + +#: ../gkr/seahorse-gkr-add-item.xml.h:4 +msgid "_Keyring:" +msgstr "密碼匙圈(_K):" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-item-properties.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:23 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:13 +#: ../ssh/seahorse-ssh-key-properties.xml.h:9 +msgid "Use:" +msgstr "使用:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:4 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:24 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:20 +#: ../ssh/seahorse-ssh-key-properties.xml.h:3 +msgid "Type:" +msgstr "類型:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:5 +msgid "Server:" +msgstr "伺服器:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:6 +msgid "Login:" +msgstr "登入:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:7 +msgid "Show pass_word" +msgstr "顯示密碼(_W)" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:8 +#: ../libseahorse/seahorse-passphrase.c:179 ../ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "密碼:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:9 +#: ../pgp/seahorse-pgp-subkey.c:402 +#: ../ssh/seahorse-ssh-key-properties.xml.h:15 +msgid "Key" +msgstr "密碼匙" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:10 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:38 +#: ../ssh/seahorse-ssh-key-properties.xml.h:20 +msgid "Technical Details:" +msgstr "技術資料:" + +#: ../gkr/seahorse-gkr-item-properties.xml.h:11 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:51 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:47 +#: ../ssh/seahorse-ssh-key-properties.xml.h:22 +msgid "Details" +msgstr "詳細資料" + +#: ../gkr/seahorse-gkr-keyring.xml.h:1 +msgid "Name:" +msgstr "名稱:" + +#. To translators: This is the noun not the verb. +#: ../gkr/seahorse-gkr-keyring.xml.h:3 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:41 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:42 +msgid "Created:" +msgstr "建立日期:" + +#: ../gkr/seahorse-gkr-keyring.xml.h:4 +msgid "Keyring" +msgstr "密碼匙圈" + +#: ../libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "顯示旗標" + +#: ../libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "顯示的日期和/或時刻屬性" + +#: ../libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "懶人模式" + +#: ../libegg/egg-datetime.c:323 +msgid "Lazy mode doesn't normalize entered date and time values" +msgstr "懶人模式不會標準化輸入的日期和時刻數值" + +#: ../libegg/egg-datetime.c:328 +msgid "Year" +msgstr "年" + +#: ../libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "顯示的年份" + +#: ../libegg/egg-datetime.c:334 +msgid "Month" +msgstr "月" + +#: ../libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "顯示的月份" + +#: ../libegg/egg-datetime.c:340 +msgid "Day" +msgstr "天" + +#: ../libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "顯示一個月第幾天" + +#: ../libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "時" + +#: ../libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "顯示的小時" + +#: ../libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "分" + +#: ../libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "顯示的分鐘" + +#: ../libegg/egg-datetime.c:358 +msgid "Second" +msgstr "秒" + +#: ../libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "顯示的秒鐘" + +#: ../libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "年份下限" + +#: ../libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "顯示年份的最小值" + +#: ../libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "年份上限" + +#: ../libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "顯示年份的最大值" + +#: ../libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "月份下限" + +#: ../libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "顯示月份的最小值" + +#: ../libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "月份上限" + +#: ../libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "顯示月份的最大值" + +#: ../libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "日下限" + +#: ../libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "顯示日數的最小值" + +#: ../libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "日上限" + +#: ../libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "顯示日數的最大值" + +#: ../libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "小時下限" + +#: ../libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "顯示小時的最小值" + +#: ../libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "小時上限" + +#: ../libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "顯示小時的最大值" + +#: ../libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "分鐘下限" + +#: ../libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "顯示分鐘的最小值" + +#: ../libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "分鐘上限" + +#: ../libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "顯示分鐘的最大值" + +#: ../libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "秒鐘下限" + +#: ../libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "顯示秒鐘的最小值" + +#: ../libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "秒鐘上限" + +#: ../libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "顯示秒鐘的最大值" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: ../libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: ../libegg/egg-datetime.c:495 +msgid "Date" +msgstr "日期" + +#: ../libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "直接輸入日期" + +#: ../libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "選擇日期" + +#: ../libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "從日曆中選取日期" + +#: ../libegg/egg-datetime.c:520 ../libegg/egg-datetime.c:2198 +msgid "Time" +msgstr "時刻" + +#: ../libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "直接輸入時刻" + +#: ../libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "選擇時刻" + +#: ../libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "從清單中選取時刻" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: ../libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: no" + +#: ../libegg/egg-datetime.c:796 ../libegg/egg-datetime.c:1259 +#: ../libegg/egg-datetime.c:1263 +msgid "AM" +msgstr "上午" + +#: ../libegg/egg-datetime.c:798 ../libegg/egg-datetime.c:1260 +#: ../libegg/egg-datetime.c:1267 +msgid "PM" +msgstr "下午" + +#. Translators: This is hh:mm:ss AM/PM. +#: ../libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: ../libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: ../libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: ../libegg/egg-datetime.c:1175 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: ../libegg/egg-datetime.c:1240 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:1 +msgid "initial temporary item" +msgstr "起動臨時項目" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:2 +msgid "Add Key Server" +msgstr "加入密碼匙伺服器" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:3 +msgid "Key Server Type:" +msgstr "密碼匙伺服器類型:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:4 +msgid "Host:" +msgstr "主機:" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:5 +#: ../ssh/seahorse-ssh-upload.xml.h:3 +msgid "The host name or address of the server." +msgstr "伺服器的主機名稱或位址。" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:6 +msgid ":" +msgstr ":" + +#: ../libseahorse/seahorse-add-keyserver.xml.h:7 +msgid "The port to access the server on." +msgstr "連接伺服器的連接埠。" + +#: ../libseahorse/seahorse-application.c:114 +msgid "Version of this application" +msgstr "這個應用程式的版本" + +#: ../libseahorse/seahorse-application.c:120 +#: ../libseahorse/seahorse-application.c:164 +msgid "- System Settings" +msgstr "- 系統設定值" + +#: ../libseahorse/seahorse-application.c:160 +msgid "Don't display a window" +msgstr "不要顯示視窗" + +#: ../libseahorse/seahorse-interaction.c:98 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "輸入 PIN 或密碼:%s" + +#. The second and main entry +#: ../libseahorse/seahorse-passphrase.c:241 +msgid "Confirm:" +msgstr "確認:" + +#: ../libseahorse/seahorse-prefs.c:65 +msgid "Not a valid Key Server address." +msgstr "不是有效的密碼匙伺服器位址。" + +#: ../libseahorse/seahorse-prefs.c:66 +msgid "" +"For help contact your system adminstrator or the administrator of the key " +"server." +msgstr "向系統管理員或密碼匙伺服器管理員取得協助。" + +#: ../libseahorse/seahorse-prefs.c:179 +msgid "URL" +msgstr "URL" + +#: ../libseahorse/seahorse-prefs.c:349 +msgid "Custom" +msgstr "自選" + +#: ../libseahorse/seahorse-prefs.c:402 +msgid "None: Don't publish keys" +msgstr "沒有:不要發行密碼匙" + +#: ../libseahorse/seahorse-prefs.xml.h:1 +msgid "Preferences" +msgstr "偏好設定" + +#: ../libseahorse/seahorse-prefs.xml.h:2 +msgid "_Find keys via:" +msgstr "尋找密碼匙以(_F):" + +#: ../libseahorse/seahorse-prefs.xml.h:3 +msgid "_Publish keys to:" +msgstr "發行密碼匙至(_P):" + +#: ../libseahorse/seahorse-prefs.xml.h:4 +msgid "Automatically retrieve keys from _key servers" +msgstr "自動從密碼匙伺服器取得密碼匙(_K)" + +#: ../libseahorse/seahorse-prefs.xml.h:5 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "與密碼匙伺服器自動將已修改的密碼匙同步(_M)" + +#: ../libseahorse/seahorse-prefs.xml.h:6 +msgid "Key Servers" +msgstr "密碼匙伺服器" + +#: ../libseahorse/seahorse-validity.c:38 +#: ../pgp/seahorse-pgp-key-properties.c:1251 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:1 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:1 +msgctxt "Validity" +msgid "Unknown" +msgstr "不明" + +#: ../libseahorse/seahorse-validity.c:40 +#: ../pgp/seahorse-pgp-key-properties.c:1257 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:2 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:2 +msgctxt "Validity" +msgid "Never" +msgstr "永不" + +#: ../libseahorse/seahorse-validity.c:42 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginal" +msgstr "勉強" + +#: ../libseahorse/seahorse-validity.c:44 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Full" +msgstr "完全" + +#: ../libseahorse/seahorse-validity.c:46 +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimate" +msgstr "徹底" + +#: ../libseahorse/seahorse-validity.c:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "已停用" + +#: ../libseahorse/seahorse-validity.c:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "已撤銷" + +#: ../pgp/seahorse-add-subkey.xml.h:1 +msgid "Never E_xpires" +msgstr "永不過期(_X)" + +#: ../pgp/seahorse-add-subkey.xml.h:2 +msgid "If key never expires" +msgstr "如果密碼匙永不過期" + +#: ../pgp/seahorse-add-subkey.xml.h:3 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:4 +msgid "Key _Type:" +msgstr "密碼匙類型(_T):" + +#: ../pgp/seahorse-add-subkey.xml.h:4 +msgid "Key _Length:" +msgstr "密碼匙長度(_L)" + +#: ../pgp/seahorse-add-subkey.xml.h:5 +msgid "Expiration Date:" +msgstr "有效日期:" + +#: ../pgp/seahorse-add-subkey.xml.h:6 +msgid "Length of Key" +msgstr "密碼匙長度" + +#: ../pgp/seahorse-add-subkey.xml.h:7 +msgid "Generate a new subkey" +msgstr "產生新的子鑰" + +#: ../pgp/seahorse-add-uid.xml.h:1 +msgid "Add User ID" +msgstr "加入使用者 ID" + +#: ../pgp/seahorse-add-uid.xml.h:2 +msgid "Must be at least 5 characters long" +msgstr "長度最少要有 5 個字符" + +#: ../pgp/seahorse-add-uid.xml.h:3 +msgid "Optional email address" +msgstr "電郵地址(非必要)" + +#: ../pgp/seahorse-add-uid.xml.h:4 +msgid "Optional comment describing key" +msgstr "描述密碼匙的註釋(非必要)" + +#. Full name of the key, usually the name of the user. +#: ../pgp/seahorse-add-uid.xml.h:6 ../pgp/seahorse-pgp-generate.xml.h:5 +msgid "Full _Name:" +msgstr "全名(_N):" + +#: ../pgp/seahorse-add-uid.xml.h:7 ../pgp/seahorse-pgp-generate.xml.h:6 +msgid "_Email Address:" +msgstr "電郵地址(_C):" + +#: ../pgp/seahorse-add-uid.xml.h:8 +msgid "Key Co_mment:" +msgstr "密碼匙附註(_M):" + +#: ../pgp/seahorse-add-uid.xml.h:9 +msgid "Create the new user ID" +msgstr "建立新的使用者 ID" + +#: ../pgp/seahorse-expires.xml.h:1 +msgid "_Never expires" +msgstr "永不過期(_N)" + +#: ../pgp/seahorse-expires.xml.h:2 ../pgp/seahorse-revoke.xml.h:5 +msgid "Revoke key" +msgstr "撤銷密碼匙" + +#: ../pgp/seahorse-expires.xml.h:3 +msgid "C_hange" +msgstr "改變(_H)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:161 +msgid "Couldn't add subkey" +msgstr "無法加入子鑰" + +#: ../pgp/seahorse-gpgme-add-subkey.c:180 +#, c-format +msgid "Add subkey to %s" +msgstr "加入子鑰至 %s" + +#: ../pgp/seahorse-gpgme-add-subkey.c:196 ../pgp/seahorse-gpgme-generate.c:132 +msgid "DSA (sign only)" +msgstr "DSA (只能簽署)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:204 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (只能加密)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:210 ../pgp/seahorse-gpgme-generate.c:133 +msgid "RSA (sign only)" +msgstr "RSA (只能簽署)" + +#: ../pgp/seahorse-gpgme-add-subkey.c:216 +msgid "RSA (encrypt only)" +msgstr "RSA (只能加密)" + +#: ../pgp/seahorse-gpgme-add-uid.c:99 +msgid "Couldn't add user id" +msgstr "無法加入使用者 id" + +#: ../pgp/seahorse-gpgme-add-uid.c:121 +#, c-format +msgid "Add user ID to %s" +msgstr "加入使用者 ID 至 %s" + +#: ../pgp/seahorse-gpgme.c:71 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "解密失敗。你可能沒有解密的密碼匙。" + +#: ../pgp/seahorse-gpgme.c:75 ../pgp/seahorse-hkp-source.c:548 +#: ../ssh/seahorse-ssh-operation.c:199 +msgid "The operation was cancelled" +msgstr "該操作已取消" + +#: ../pgp/seahorse-gpgme-expires.c:63 +msgid "Invalid expiry date" +msgstr "無效的到期日" + +#: ../pgp/seahorse-gpgme-expires.c:64 +msgid "The expiry date must be in the future" +msgstr "到期日必須在未來" + +#: ../pgp/seahorse-gpgme-expires.c:77 +msgid "Couldn't change expiry date" +msgstr "無法更改有效日期" + +#: ../pgp/seahorse-gpgme-expires.c:138 +#, c-format +msgid "Expiry: %s" +msgstr "到期日: %s" + +#: ../pgp/seahorse-gpgme-exporter.c:84 +msgid "Multiple Keys" +msgstr "多個密碼匙" + +#: ../pgp/seahorse-gpgme-exporter.c:88 +msgid "Key Data" +msgstr "密碼匙資料" + +#: ../pgp/seahorse-gpgme-exporter.c:116 +msgid "Armored PGP keys" +msgstr "防護的 PGP 密碼匙" + +#: ../pgp/seahorse-gpgme-exporter.c:120 +msgid "PGP keys" +msgstr "PGP 密碼匙" + +#: ../pgp/seahorse-gpgme-generate.c:93 +msgid "PGP Key" +msgstr "PGP 密碼匙" + +#: ../pgp/seahorse-gpgme-generate.c:94 +msgid "Used to encrypt email and files" +msgstr "用作加密郵件及檔案" + +#: ../pgp/seahorse-gpgme-generate.c:130 +#: ../pkcs11/seahorse-pkcs11-generate.c:90 +#: ../ssh/seahorse-ssh-generate.xml.h:9 +msgid "RSA" +msgstr "RSA" + +#: ../pgp/seahorse-gpgme-generate.c:131 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: ../pgp/seahorse-gpgme-generate.c:180 +msgid "Couldn't generate PGP key" +msgstr "無法產生 PGP 密碼匙" + +#: ../pgp/seahorse-gpgme-generate.c:213 +msgid "Passphrase for New PGP Key" +msgstr "PGP 密碼匙的密語" + +#: ../pgp/seahorse-gpgme-generate.c:214 +msgid "Enter the passphrase for your new key twice." +msgstr "輸入新密碼匙的密語兩次。" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: ../pgp/seahorse-gpgme-generate.c:226 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It's a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"當建立密碼匙時我們需要產生大量\n" +"的亂數資料,而且需要你的協助。\n" +"要產生這些資料,你不妨在鍵盤\n" +"打字、移動滑鼠、使用應用程式等。\n" +"這樣就會讓系統取得所需亂數資料。" + +#: ../pgp/seahorse-gpgme-generate.c:231 +#: ../pkcs11/seahorse-pkcs11-generate.c:458 +msgid "Generating key" +msgstr "正在產生密碼匙" + +#: ../pgp/seahorse-gpgme-key-deleter.c:77 +#: ../pgp/seahorse-gpgme-secret-deleter.c:76 ../pkcs11/pkcs11-deleter.vala:35 +#: ../pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "確定要永久地刪除 %s?" + +#: ../pgp/seahorse-gpgme-key-deleter.c:80 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "你確定要永久刪除 %d 個密碼匙?" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "Wrong password" +msgstr "錯誤的密碼" + +#: ../pgp/seahorse-gpgme-key-op.c:377 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "這是你第三次輸入錯誤的密碼。請再試一次。" + +#: ../pgp/seahorse-gpgme-keyring.c:89 +#, c-format +msgid "Wrong passphrase." +msgstr "密語錯誤。" + +#: ../pgp/seahorse-gpgme-keyring.c:93 +#, c-format +msgid "Enter new passphrase for '%s'" +msgstr "輸入‘%s’的新密語" + +#: ../pgp/seahorse-gpgme-keyring.c:95 +#, c-format +msgid "Enter passphrase for '%s'" +msgstr "輸入‘%s’的密語" + +#: ../pgp/seahorse-gpgme-keyring.c:98 +#: ../src/seahorse-change-passphrase.xml.h:2 +msgid "Enter new passphrase" +msgstr "輸入新的密語" + +#: ../pgp/seahorse-gpgme-keyring.c:100 +msgid "Enter passphrase" +msgstr "輸入密語" + +#: ../pgp/seahorse-gpgme-keyring.c:105 +msgid "Passphrase" +msgstr "密語" + +#: ../pgp/seahorse-gpgme-keyring.c:306 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "已載入 %d 個密碼匙" + +#: ../pgp/seahorse-gpgme-keyring.c:653 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "無效的密碼匙資料(遺漏了 UID)。這可能是電腦的時間不準確,設為未來的時間;或是遺漏了自身的簽署。" + +#: ../pgp/seahorse-gpgme-keyring.c:806 +msgid "GnuPG keys" +msgstr "GnuPG 密碼匙" + +#: ../pgp/seahorse-gpgme-keyring.c:812 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG:預設的密碼匙圈目錄" + +#: ../pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d x %d pixels." +msgstr "" +"相片過大\n" +"密碼匙相片的建議大小為 %d × %d 像素。" + +#: ../pgp/seahorse-gpgme-photos.c:77 +msgid "_Don't Resize" +msgstr "不要調整大小(_D)" + +#: ../pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "調整大小(_R)" + +#: ../pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "這不是圖形檔,或是無法辨別的圖形檔類型。請改用 JPEG 檔。" + +#: ../pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "所有圖型檔" + +#: ../pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "所有 JPEG 檔案" + +#: ../pgp/seahorse-gpgme-photos.c:241 ../src/seahorse-key-manager.c:288 +msgid "All files" +msgstr "所有檔案" + +#: ../pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "選擇加入至密碼匙的照片" + +#: ../pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn't prepare photo" +msgstr "無法準備相片" + +#: ../pgp/seahorse-gpgme-photos.c:294 ../pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn't add photo" +msgstr "無法加入相片" + +#: ../pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "檔案無法載入。可能無效的格式" + +#: ../pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "確定要將目前的門口照片永遠地刪除‘%s’的使用者 ID?" + +#: ../pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn't delete photo" +msgstr "無法刪除相片" + +#: ../pgp/seahorse-gpgme-revoke.c:73 +msgid "Couldn't revoke subkey" +msgstr "無法撤銷子鑰" + +#: ../pgp/seahorse-gpgme-revoke.c:94 +#, c-format +msgid "Revoke: %s" +msgstr "撤銷: %s" + +#: ../pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason" +msgstr "沒有原因" + +#: ../pgp/seahorse-gpgme-revoke.c:106 +msgid "No reason for revoking key" +msgstr "沒有撤銷密碼匙的原因" + +#: ../pgp/seahorse-gpgme-revoke.c:112 +msgid "Compromised" +msgstr "已洩漏" + +#: ../pgp/seahorse-gpgme-revoke.c:113 +msgid "Key has been compromised" +msgstr "密碼匙已洩漏" + +#: ../pgp/seahorse-gpgme-revoke.c:119 +msgid "Superseded" +msgstr "已代換" + +#: ../pgp/seahorse-gpgme-revoke.c:120 +msgid "Key has been superseded" +msgstr "密碼匙已被代換" + +#: ../pgp/seahorse-gpgme-revoke.c:126 +msgid "Not Used" +msgstr "沒有使用" + +#: ../pgp/seahorse-gpgme-revoke.c:127 +msgid "Key is no longer used" +msgstr "密碼匙不再使用" + +#: ../pgp/seahorse-gpgme-revoke.c:164 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "你要給%2$s 加入 %1$s 作為撤銷者。這動作無法回復!確定要繼續?" + +#: ../pgp/seahorse-gpgme-revoke.c:176 +msgid "Couldn't add revoker" +msgstr "無法加入撤銷者" + +#: ../pgp/seahorse-gpgme-secret-deleter.c:81 ../ssh/seahorse-ssh-deleter.c:82 +msgid "I understand that this secret key will be permanently deleted." +msgstr "我知道這個私人密碼匙會被永久刪除。" + +#: ../pgp/seahorse-gpgme-sign.c:99 +#, c-format +msgid "" +"This key was already signed by\n" +"\"%s\"" +msgstr "" +"這個密碼匙已經由以下人士簽署\n" +"「%s」" + +#: ../pgp/seahorse-gpgme-sign.c:104 +msgid "Couldn't sign key" +msgstr "無法簽署密碼匙" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: ../pgp/seahorse-gpgme-sign.c:163 ../pgp/seahorse-signer.c:61 +msgid "No keys usable for signing" +msgstr "沒有密碼匙能用作簽署" + +#: ../pgp/seahorse-gpgme-sign.c:164 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "你沒有個人 PGP 密碼匙可以代表你信任此密碼匙。" + +#: ../pgp/seahorse-gpgme-subkey.c:195 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "不明" + +#: ../pgp/seahorse-gpgme-subkey.c:197 +msgid "ElGamal" +msgstr "ElGamal" + +#: ../pgp/seahorse-hkp-source.c:566 +#, c-format +msgid "Search was not specific enough. Server '%s' found too many keys." +msgstr "搜尋範圍過寬。伺服器“%s”中找到太多密碼匙。" + +#: ../pgp/seahorse-hkp-source.c:569 +#, c-format +msgid "Couldn't communicate with server '%s': %s" +msgstr "無法與伺服器‘%s’聯絡:%s" + +#: ../pgp/seahorse-hkp-source.c:1079 +msgid "HTTP Key Server" +msgstr "HTTP 密碼匙伺服器" + +#: ../pgp/seahorse-keyserver-results.c:168 +msgid "Couldn't import keys" +msgstr "無法匯入密碼匙" + +#: ../pgp/seahorse-keyserver-results.c:211 +msgid "Importing keys from key servers" +msgstr "從密碼匙伺服器匯入密碼匙" + +#. TRANSLATORS: The "Remote" menu contains key operations on remote systems. +#: ../pgp/seahorse-keyserver-results.c:237 ../src/seahorse-key-manager.c:501 +msgid "_Remote" +msgstr "遠端(_R)" + +#: ../pgp/seahorse-keyserver-results.c:239 +msgid "Close this window" +msgstr "關閉本視窗" + +#: ../pgp/seahorse-keyserver-results.c:243 ../pgp/seahorse-pgp-actions.c:113 +msgid "_Find Remote Keys..." +msgstr "尋找遠端密碼匙(_F)…" + +#: ../pgp/seahorse-keyserver-results.c:244 ../pgp/seahorse-pgp-actions.c:114 +msgid "Search for keys on a key server" +msgstr "在密碼匙伺服器尋找密碼匙" + +#: ../pgp/seahorse-keyserver-results.c:248 ../src/seahorse-key-manager.xml.h:3 +msgid "_Import" +msgstr "匯入(_I)" + +#: ../pgp/seahorse-keyserver-results.c:249 +msgid "Import selected keys to local key ring" +msgstr "匯入已選的密碼匙到本機密碼匙圈" + +#: ../pgp/seahorse-keyserver-results.c:280 +msgid "Remote Keys" +msgstr "遠端密碼匙" + +#: ../pgp/seahorse-keyserver-results.c:282 +#, c-format +msgid "Remote Keys Containing '%s'" +msgstr "遠端密碼匙包含‘%s’" + +#: ../pgp/seahorse-keyserver-results.c:485 +msgid "The search for keys failed." +msgstr "搜尋密碼匙失敗。" + +#: ../pgp/seahorse-keyserver-search.xml.h:1 +msgid "Find Remote Keys" +msgstr "尋找遠端密碼匙" + +#: ../pgp/seahorse-keyserver-search.xml.h:2 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "這樣會在互聯網上尋找給別人的密碼匙。然後這些密碼匙能匯入到你的本地密碼匙圈中。" + +#: ../pgp/seahorse-keyserver-search.xml.h:3 +msgid "_Search for keys containing: " +msgstr "搜尋密碼匙包含(_S):" + +#: ../pgp/seahorse-keyserver-search.xml.h:4 +msgid "Key Servers:" +msgstr "密碼匙伺服器:" + +#: ../pgp/seahorse-keyserver-search.xml.h:5 +msgid "Shared Keys Near Me:" +msgstr "附近的共享密碼匙:" + +#: ../pgp/seahorse-keyserver-search.xml.h:6 +msgid "Where to search:" +msgstr "搜尋的地方:" + +#: ../pgp/seahorse-keyserver-search.xml.h:7 +msgid "_Search" +msgstr "搜尋(_S)" + +#: ../pgp/seahorse-keyserver-sync.c:56 +msgid "Couldn't publish keys to server" +msgstr "無法發行密碼匙到伺服器" + +#: ../pgp/seahorse-keyserver-sync.c:75 +#, c-format +msgid "Couldn't retrieve keys from server: %s" +msgstr "無法從伺服器中取得密碼匙:%s" + +#: ../pgp/seahorse-keyserver-sync.c:159 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "選擇了 %d 個密碼匙來進行同步" + +#: ../pgp/seahorse-keyserver-sync.c:239 +msgid "Synchronizing keys..." +msgstr "密碼匙正在同步…" + +#: ../pgp/seahorse-keyserver-sync.xml.h:1 +msgid "Sync Keys" +msgstr "密碼匙同步" + +#: ../pgp/seahorse-keyserver-sync.xml.h:2 +msgid "" +"This will publish the keys in your key ring so they're available for others " +"to use. You'll also get any changes others have made since you received " +"their keys." +msgstr "這會發行你的密碼匙到密碼匙伺服器,給其他人能使用。同樣你他們給你的密碼匙若有任何改變時,你也可以取得。" + +#: ../pgp/seahorse-keyserver-sync.xml.h:3 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "這樣他們給你的密碼匙若有任何改變時,你也可以取得。沒有選取密碼匙伺服器作發行,所以其它人不會有你的密碼匙。" + +#: ../pgp/seahorse-keyserver-sync.xml.h:4 +msgid "_Key Servers" +msgstr "密碼匙伺服器(_K)" + +#: ../pgp/seahorse-keyserver-sync.xml.h:5 +msgid "_Sync" +msgstr "同步(_S)" + +#: ../pgp/seahorse-ldap-source.c:436 +#, c-format +msgid "Couldn't communicate with '%s': %s" +msgstr "無法與‘%s’溝通:%s" + +#: ../pgp/seahorse-ldap-source.c:646 +#, c-format +msgid "Connecting to: %s" +msgstr "連接到:%s" + +#: ../pgp/seahorse-ldap-source.c:652 +#, c-format +msgid "Couldn't resolve address: %s" +msgstr "無法解析位置:%s" + +#: ../pgp/seahorse-ldap-source.c:696 +#, c-format +msgid "Resolving server address: %s" +msgstr "正在解析伺服器位址:%s" + +#: ../pgp/seahorse-ldap-source.c:1431 +msgid "LDAP Key Server" +msgstr "LDAP 密碼匙伺服器" + +#: ../pgp/seahorse-pgp-actions.c:118 +msgid "_Sync and Publish Keys..." +msgstr "同步及發行密碼匙(_S)…" + +#: ../pgp/seahorse-pgp-actions.c:119 +msgid "Publish and/or synchronize your keys with those online." +msgstr "在線時發行及/或將密碼匙同步" + +#: ../pgp/seahorse-pgp-backend.c:167 +msgid "PGP Keys" +msgstr "PGP 密碼匙" + +#: ../pgp/seahorse-pgp-backend.c:173 +msgid "PGP keys are for encrypting email or files" +msgstr "用來加密郵件或檔案的 PGP 密碼匙" + +#: ../pgp/seahorse-pgp-generate.xml.h:1 +msgid "C_reate" +msgstr "建立(_R)" + +#: ../pgp/seahorse-pgp-generate.xml.h:2 +msgid "Generate a new key" +msgstr "產生新的密碼匙" + +#: ../pgp/seahorse-pgp-generate.xml.h:3 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP 密碼匙允許你將給別人的電郵及檔案加密。" + +#: ../pgp/seahorse-pgp-generate.xml.h:7 +msgid "Ne_ver Expires" +msgstr "永不過期(_V)" + +#: ../pgp/seahorse-pgp-generate.xml.h:8 +msgid "_Comment:" +msgstr "附註(_C):" + +#: ../pgp/seahorse-pgp-generate.xml.h:9 ../ssh/seahorse-ssh-generate.xml.h:7 +msgid "Encryption _Type:" +msgstr "加密類型(_T):" + +#: ../pgp/seahorse-pgp-generate.xml.h:10 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:5 +#: ../ssh/seahorse-ssh-generate.xml.h:8 +msgid "Key _Strength (bits):" +msgstr "密碼匙強度[位元](_S):" + +#: ../pgp/seahorse-pgp-generate.xml.h:11 +msgid "E_xpiration Date:" +msgstr "有效日期(_X):" + +#: ../pgp/seahorse-pgp-generate.xml.h:12 +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:6 +#: ../ssh/seahorse-ssh-generate.xml.h:11 +msgid "_Advanced key options" +msgstr "進階密碼匙選項(_A)" + +#: ../pgp/seahorse-pgp-key.c:351 +msgid "Personal PGP key" +msgstr "個人 PGP 密碼匙" + +#: ../pgp/seahorse-pgp-key.c:353 +msgid "PGP key" +msgstr "PGP 密碼匙" + +#: ../pgp/seahorse-pgp-key-properties.c:317 +msgid "Couldn't change primary user ID" +msgstr "無法更改主要的使用者 ID" + +#: ../pgp/seahorse-pgp-key-properties.c:336 +#, c-format +msgid "Are you sure you want to permanently delete the '%s' user ID?" +msgstr "確定要永久地刪除‘%s’的使用者 ID?" + +#: ../pgp/seahorse-pgp-key-properties.c:346 +msgid "Couldn't delete user ID" +msgstr "無法刪除使用者 ID" + +#: ../pgp/seahorse-pgp-key-properties.c:421 +#: ../pgp/seahorse-pgp-key-properties.c:1576 +msgid "[Unknown]" +msgstr "[不詳]" + +#: ../pgp/seahorse-pgp-key-properties.c:530 +#: ../pgp/seahorse-pgp-key-properties.c:1859 +msgid "Name/Email" +msgstr "名稱/電郵" + +#: ../pgp/seahorse-pgp-key-properties.c:537 +msgid "Signature ID" +msgstr "簽署 ID" + +#: ../pgp/seahorse-pgp-key-properties.c:670 +msgid "Couldn't change primary photo" +msgstr "無法更改主要的相片" + +#. TRANSLATORS: (unknown) expiry date +#: ../pgp/seahorse-pgp-key-properties.c:904 +msgid "(unknown)" +msgstr "(不明)" + +#: ../pgp/seahorse-pgp-key-properties.c:907 +#, c-format +msgid "This key expired on: %s" +msgstr "此密碼匙的過期於:%s" + +#: ../pgp/seahorse-pgp-key-properties.c:970 +msgid "Name" +msgstr "名稱" + +#: ../pgp/seahorse-pgp-key-properties.c:1085 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "確定要永久地刪除 %2$s 的子鑰 %1$d?" + +#: ../pgp/seahorse-pgp-key-properties.c:1094 +msgid "Couldn't delete subkey" +msgstr "無法刪除子鑰" + +#: ../pgp/seahorse-pgp-key-properties.c:1134 +#: ../pgp/seahorse-pgp-key-properties.c:1550 +msgid "Unable to change trust" +msgstr "無法更改信任度" + +#: ../pgp/seahorse-pgp-key-properties.c:1148 +#: ../ssh/seahorse-ssh-key-properties.c:205 +msgid "Couldn't export key" +msgstr "無法匯出密碼匙" + +#: ../pgp/seahorse-pgp-key-properties.c:1264 +msgid "Marginal" +msgstr "勉強" + +#: ../pgp/seahorse-pgp-key-properties.c:1270 +msgid "Full" +msgstr "完全" + +#: ../pgp/seahorse-pgp-key-properties.c:1276 +msgid "Ultimate" +msgstr "徹底" + +#: ../pgp/seahorse-pgp-key-properties.c:1382 +#: ../pgp/seahorse-pgp-key-properties.c:1475 +msgctxt "Expires" +msgid "Never" +msgstr "永不" + +#: ../pgp/seahorse-pgp-key-properties.c:1429 +msgid "ID" +msgstr "ID" + +#: ../pgp/seahorse-pgp-key-properties.c:1432 +msgid "Type" +msgstr "類型" + +#: ../pgp/seahorse-pgp-key-properties.c:1435 +msgid "Usage" +msgstr "用法" + +#: ../pgp/seahorse-pgp-key-properties.c:1438 +msgid "Created" +msgstr "建立日期" + +#: ../pgp/seahorse-pgp-key-properties.c:1441 +msgid "Expires" +msgstr "有效日期" + +#: ../pgp/seahorse-pgp-key-properties.c:1444 +msgid "Status" +msgstr "狀態" + +#: ../pgp/seahorse-pgp-key-properties.c:1447 +msgid "Strength" +msgstr "強度" + +#: ../pgp/seahorse-pgp-key-properties.c:1466 +msgid "Revoked" +msgstr "已撤銷" + +#: ../pgp/seahorse-pgp-key-properties.c:1468 +msgid "Expired" +msgstr "已過期" + +#: ../pgp/seahorse-pgp-key-properties.c:1470 +msgid "Disabled" +msgstr "已停用" + +#: ../pgp/seahorse-pgp-key-properties.c:1472 +msgid "Good" +msgstr "良好" + +#: ../pgp/seahorse-pgp-key-properties.c:1862 +msgid "Key ID" +msgstr "密碼匙 ID" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:6 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:6 +#: ../ssh/seahorse-ssh-key-properties.xml.h:1 +msgid "Key Properties" +msgstr "密碼匙屬性" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:7 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:7 +msgid "This key has been revoked" +msgstr "此密碼匙已被撤銷" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:8 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:8 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "密碼匙的擁有者已將密碼匙撤銷。它不能繼續使用。" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:9 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:9 +msgid "This key has expired" +msgstr "此密碼匙的已經過期" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:10 +msgid "Add a photo to this key" +msgstr "加入照片至本密碼匙" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:11 +msgid "Remove this photo from this key" +msgstr "將此相片從本密碼匙中移除" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:12 +msgid "Make this photo the primary photo" +msgstr "使本相片成為主要的相片" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:13 +msgid "Go to previous photo" +msgstr "回上一幅相片" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:14 +msgid "Go to next photo" +msgstr "往下一幅相片" + +#. A photograph +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:16 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:11 +msgid "Photo " +msgstr "相片" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:17 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:15 +msgid "Key ID:" +msgstr "密碼匙 ID:" + +#. Name of key, usually a persons name +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:19 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:17 +msgctxt "name-of-key" +msgid "Name:" +msgstr "名稱:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:20 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:18 +msgid "Email:" +msgstr "電子郵件:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:21 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:19 +msgid "Comment:" +msgstr "附註:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:25 +msgid "Decrypt files and email sent to you." +msgstr "將傳給你的檔案及電郵解密。" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:26 +msgid "Private PGP Key" +msgstr "私人 PGP 密碼匙" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:27 +#: ../ssh/seahorse-ssh-key-properties.xml.h:10 +msgid "Change _Passphrase" +msgstr "更改密語(_P)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:28 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:24 +msgid "Owner" +msgstr "擁有者" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:29 +msgid "Key Names and Signatures" +msgstr "密碼匙名稱及簽署" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:30 +msgid "Primary" +msgstr "主要" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:31 +#: ../pgp/seahorse-pgp-subkey.c:292 +msgid "Sign" +msgstr "簽署" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:32 +msgid "Delete" +msgstr "刪除" + +#. Add another name to the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:34 +msgid "_Add Name" +msgstr "加入名稱(_A)" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:35 +msgid "Revoke" +msgstr "撤銷" + +#. List of names and signatures on the PGP key. +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:37 +msgid "Names and Signatures" +msgstr "名稱及簽署" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:38 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:39 +#: ../ssh/seahorse-ssh-key-properties.xml.h:17 +msgid "Strength:" +msgstr "強度:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:39 +msgid "Technical Details" +msgstr "技術資料" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:40 +msgid "Fingerprint" +msgstr "指紋" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:42 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:43 +msgid "Expires:" +msgstr "有效日期:" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:43 +msgid "Dates" +msgstr "日期" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:44 +msgid "Override Owner _Trust:" +msgstr "取締擁有者的信任度(_T):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:45 +msgid "_Export Secret Key:" +msgstr "匯出私人密碼匙(_E):" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:47 +msgid "Actions" +msgstr "動作" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:48 +msgid "Add" +msgstr "加入" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:49 +msgid "Expire" +msgstr "有效日期" + +#: ../pgp/seahorse-pgp-private-key-properties.xml.h:50 +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:46 +msgid "_Subkeys" +msgstr "子鑰(_S)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:3 +msgctxt "Validity" +msgid "Marginally" +msgstr "勉強的" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:4 +msgctxt "Validity" +msgid "Fully" +msgstr "完全的" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:5 +msgctxt "Validity" +msgid "Ultimately" +msgstr "徹底的" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:14 +msgid "Encrypt files and email to the key's owner" +msgstr "加密給密碼匙擁有者的檔案及電郵" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:21 +msgid "Public PGP Key" +msgstr "公共 PGP 密碼匙" + +#. Names set on the PGP key. +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:23 +msgid "_Other Names:" +msgstr "其他名稱(_O):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:25 +msgid "Your trust of this key" +msgstr "你信任此密碼匙" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:26 +msgid "Your trust is manually specified on the Details tab." +msgstr "你的信任度是在詳細資料中自行設定。" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:28 +#, no-c-format +msgid "I trust signatures from '%s' on other keys" +msgstr "我信任來自「%s」其它密碼匙的簽署。" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:30 +#, no-c-format +msgid "" +"If you believe that the person that owns this key is '%s', sign this " +"key:" +msgstr "如果你信任擁有這個密碼匙的人是「%s」,簽署此密碼匙:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:31 +msgid "_Sign this Key" +msgstr "簽署此密碼匙(_S)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:33 +#, no-c-format +msgid "" +"If you no longer trust that '%s' owns this key, revoke your signature:" +msgstr "如果你不再信任此「%s」擁有這個密碼匙,撤銷你的簽署:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:34 +msgid "_Revoke Signature" +msgstr "撤銷簽署(_R):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:35 +msgid "_People who have signed this key:" +msgstr "誰簽署此密碼匙(_P):" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:36 +msgid "_Only display the signatures of people I trust" +msgstr "只顯示我信任的人的簽署(_O)" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:37 +#: ../ssh/seahorse-ssh-key-properties.xml.h:11 +msgid "Trust" +msgstr "信任" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:40 +#: ../ssh/seahorse-ssh-key-properties.xml.h:19 +msgid "Fingerprint:" +msgstr "指紋:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:41 +msgid "Dates:" +msgstr "日期:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:44 +msgid "Indicate Trust:" +msgstr "信任度:" + +#: ../pgp/seahorse-pgp-public-key-properties.xml.h:45 +msgid "You _Trust the Owner:" +msgstr "你信任擁有者(_T)" + +#: ../pgp/seahorse-pgp-subkey.c:291 +msgid "Encrypt" +msgstr "加密" + +#: ../pgp/seahorse-pgp-subkey.c:293 +#| msgid "Certificate" +msgid "Certify" +msgstr "檢驗" + +#: ../pgp/seahorse-pgp-subkey.c:294 +#| msgid "Certificate" +msgid "Authenticate" +msgstr "核對" + +#: ../pgp/seahorse-pgp-subkey.c:407 +#, c-format +msgid "Subkey %d of %s" +msgstr "%2$s 的子鑰 %1$d" + +#: ../pgp/seahorse-revoke.xml.h:1 +msgid "Reason for revoking the key" +msgstr "撤銷密碼匙的原因" + +#: ../pgp/seahorse-revoke.xml.h:2 +msgid "_Reason:" +msgstr "原因(_R):" + +#: ../pgp/seahorse-revoke.xml.h:4 +msgid "Optional description of revocation" +msgstr "撤銷的描述(非必要)" + +#: ../pgp/seahorse-revoke.xml.h:6 +msgid "Re_voke" +msgstr "撤銷(_V)" + +#: ../pgp/seahorse-signer.c:62 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "你沒有 PGP 密碼匙可用作簽署文件或訊息。" + +#: ../pgp/seahorse-signer.xml.h:1 +msgid "_Sign message with key:" +msgstr "簽署信息的密碼匙(_S):" + +#: ../pgp/seahorse-sign.xml.h:1 +msgid "Sign Key" +msgstr "簽署密碼匙" + +#: ../pgp/seahorse-sign.xml.h:2 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "簽署代表你信任本密碼匙是屬於:" + +#: ../pgp/seahorse-sign.xml.h:3 +msgid "Key Name" +msgstr "密碼匙名稱" + +#: ../pgp/seahorse-sign.xml.h:4 +msgid "How carefully have you checked this key?" +msgstr "你要多小心的檢查本密碼匙?" + +#: ../pgp/seahorse-sign.xml.h:5 +msgid "_Not at all" +msgstr "沒關係(_N)" + +#: ../pgp/seahorse-sign.xml.h:6 +msgid "_Casually" +msgstr "隨意(_C)" + +#: ../pgp/seahorse-sign.xml.h:7 +msgid "_Very Carefully" +msgstr "非常小心(_V)" + +#: ../pgp/seahorse-sign.xml.h:8 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "沒關係:代表你信任密碼匙是由聲稱擁有它的人所擁有,但實際上你不能或是沒有驗證它。" + +#: ../pgp/seahorse-sign.xml.h:9 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "隨意:代表你隨意地檢驗過密碼匙是由聲稱擁有它的人擁有。例如,你可以透過電話要求該人讀出密碼匙的數碼指紋。" + +#: ../pgp/seahorse-sign.xml.h:10 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "非常小心:只有你在完全信任此密碼匙為真時才選取此項。" + +#: ../pgp/seahorse-sign.xml.h:11 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "你可以使用難以偽造的相片(像護照一樣)來辨認密碼匙的名稱是否正確。你同時應以電郵來檢查該電郵是否屬於該人擁有。" + +#: ../pgp/seahorse-sign.xml.h:12 +msgid "How others will see this signature:" +msgstr "其他人如何看到此簽署:" + +#: ../pgp/seahorse-sign.xml.h:13 +msgid "_Others may not see this signature" +msgstr "其他人可能無法看到此簽署(_O)" + +#: ../pgp/seahorse-sign.xml.h:14 +msgid "I can _revoke this signature at a later date." +msgstr "我可以在稍後時間撤銷此簽署(_R)" + +#: ../pgp/seahorse-sign.xml.h:15 +msgid "Sign key as:" +msgstr "簽署密碼匙為:" + +#: ../pgp/seahorse-sign.xml.h:16 +msgid "_Signer:" +msgstr "簽署者(_S)" + +#: ../pgp/seahorse-sign.xml.h:17 +msgid "_Sign" +msgstr "簽署(_S)" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Exporting data" +msgstr "匯出資料" + +#: ../pgp/seahorse-transfer.c:238 ../pgp/seahorse-transfer.c:285 +msgid "Retrieving data" +msgstr "取回資料" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Importing data" +msgstr "輸入資料" + +#: ../pgp/seahorse-transfer.c:241 ../pgp/seahorse-transfer.c:288 +msgid "Sending data" +msgstr "傳送資料" + +#: ../pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "不存在" + +#: ../pkcs11/certificate-der-exporter.vala:43 +#: ../pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "證書" + +#: ../pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "證書 (DER 編碼)" + +#: ../pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "個人證書與密碼匙" + +#: ../pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "個人證書.." + +#: ../pkcs11/seahorse-pkcs11-backend.c:184 +msgid "Certificates" +msgstr "證書" + +#: ../pkcs11/seahorse-pkcs11-backend.c:190 +msgid "X.509 certificates and related keys" +msgstr "X.509 證書和相關密碼匙" + +#: ../pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "你確定要永久刪除 %d 個證書?" + +#: ../pkcs11/seahorse-pkcs11-generate.c:113 +msgid "Couldn't generate private key" +msgstr "無法產生私密密碼匙" + +#: ../pkcs11/seahorse-pkcs11-generate.c:412 ../pkcs11/pkcs11-request.vala:56 +msgid "Create" +msgstr "建立" + +#: ../pkcs11/seahorse-pkcs11-generate.c:505 +#: ../pkcs11/pkcs11-private-key.vala:70 +msgid "Private key" +msgstr "私密密碼匙" + +#: ../pkcs11/seahorse-pkcs11-generate.c:506 +msgid "Used to request a certificate" +msgstr "用來申請證書" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:1 +msgid "Create a new private key" +msgstr "建立新的私密密碼匙" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:2 +msgid "Label:" +msgstr "標籤:" + +#: ../pkcs11/seahorse-pkcs11-generate.xml.h:3 +msgid "Stored at:" +msgstr "儲存在:" + +#: ../pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "我知道這個密碼匙會被永久刪除。" + +#: ../pkcs11/pkcs11-properties.vala:134 +msgid "Unnamed" +msgstr "未命名的" + +#: ../pkcs11/pkcs11-properties.vala:165 +msgid "Failed to export certificate" +msgstr "無法匯出證書" + +#: ../pkcs11/pkcs11-properties.vala:188 ../src/seahorse-sidebar.c:873 +msgid "Couldn't delete" +msgstr "無法刪除" + +#: ../pkcs11/pkcs11-properties.vala:199 +msgid "_Export" +msgstr "匯出(_E)" + +#: ../pkcs11/pkcs11-properties.vala:200 +msgid "Export the certificate" +msgstr "匯出證書" + +#: ../pkcs11/pkcs11-properties.vala:202 +msgid "Delete this certificate or key" +msgstr "刪除這個證書或密碼匙" + +#: ../pkcs11/pkcs11-properties.vala:203 +msgid "Request _Certificate" +msgstr "申請證書(_C)" + +#: ../pkcs11/pkcs11-properties.vala:204 +msgid "Create a certificate request file for this key" +msgstr "為這個密碼匙建立證書申請" + +#: ../pkcs11/pkcs11-request.vala:87 +msgid "Couldn't create certificate request" +msgstr "無法建立證書申請" + +#: ../pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "儲存證書申請" + +#: ../pkcs11/pkcs11-request.vala:113 +msgid "Certificate request" +msgstr "證書申請" + +#: ../pkcs11/pkcs11-request.vala:121 +msgid "PEM encoded request" +msgstr "PEM 編碼的申請" + +#: ../pkcs11/pkcs11-request.vala:149 +msgid "Couldn't save certificate request" +msgstr "無法儲存證書申請" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:1 +msgid "Create a certificate request file." +msgstr "建立證書申請檔案。" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:2 +msgid "The common name (CN) placed in the certificate request." +msgstr "放在證書申請中的一般名稱 (CN)。" + +#: ../pkcs11/seahorse-pkcs11-request.xml.h:3 +msgid "Name (CN):" +msgstr "一般名稱 (CN):" + +#: ../pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "未命名的私密密碼匙" + +#: ../pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "不明" + +#: ../src/seahorse-change-passphrase.xml.h:1 +msgid "Change Passphrase" +msgstr "更改密語" + +#: ../src/seahorse-change-passphrase.xml.h:3 +msgid "New _Passphrase:" +msgstr "新的密語(_P):" + +#: ../src/seahorse-change-passphrase.xml.h:4 +msgid "Confirm new passphrase" +msgstr "確認新的密語" + +#: ../src/seahorse-change-passphrase.xml.h:5 +msgid "Con_firm Passphrase:" +msgstr "確認密語(_F):" + +#: ../src/seahorse-generate-select.c:228 +msgid "Continue" +msgstr "繼續" + +#: ../src/seahorse-generate-select.xml.h:1 +msgid "_Select the type of item to create:" +msgstr "選取想要建立的項目類型(_S):" + +#: ../src/seahorse-import-dialog.c:95 +msgid "Import failed" +msgstr "匯入失敗" + +#: ../src/seahorse-import-dialog.c:113 +msgid "Import" +msgstr "匯入" + +#: ../src/seahorse-import-dialog.c:126 +msgid "Data to be imported:" +msgstr "要匯入的資料:" + +#: ../src/seahorse-key-manager.c:242 ../ssh/seahorse-ssh-operation.c:870 +msgid "Import Key" +msgstr "匯入密碼匙" + +#: ../src/seahorse-key-manager.c:254 +msgid "All key files" +msgstr "所有密碼匙檔" + +#: ../src/seahorse-key-manager.c:355 +msgid "Dropped text" +msgstr "拖放的文字" + +#: ../src/seahorse-key-manager.c:391 +msgid "Clipboard text" +msgstr "剪貼簿文字" + +#: ../src/seahorse-key-manager.c:502 +msgid "_New" +msgstr "新增(_N)" + +#: ../src/seahorse-key-manager.c:504 +msgid "Close this program" +msgstr "關閉本程式" + +#: ../src/seahorse-key-manager.c:505 ../src/seahorse-key-manager.c:507 +msgid "_New..." +msgstr "新增(_N)…" + +#: ../src/seahorse-key-manager.c:506 +msgid "Create a new key or item" +msgstr "建立新的密碼匙或項目" + +#: ../src/seahorse-key-manager.c:508 +msgid "Add a new key or item" +msgstr "加入新的密碼匙或項目" + +#: ../src/seahorse-key-manager.c:509 +msgid "_Import..." +msgstr "匯入(_I)…" + +#: ../src/seahorse-key-manager.c:510 +msgid "Import from a file" +msgstr "由檔案匯入" + +#: ../src/seahorse-key-manager.c:512 +msgid "Import from the clipboard" +msgstr "從剪貼簿匯入" + +#: ../src/seahorse-key-manager.c:516 +msgid "By _Keyring" +msgstr "根據密碼匙圈(_K)" + +#: ../src/seahorse-key-manager.c:517 +msgid "Show sidebar listing keyrings" +msgstr "顯示側邊欄列出密碼匙圈" + +#: ../src/seahorse-key-manager.c:521 +msgid "Show _Personal" +msgstr "顯示個人的(_P)" + +#: ../src/seahorse-key-manager.c:522 +msgid "Only show personal keys, certificates and passwords" +msgstr "只顯示個人密碼匙、證書和密碼" + +#: ../src/seahorse-key-manager.c:523 +msgid "Show _Trusted" +msgstr "顯示信任的(_T)" + +#: ../src/seahorse-key-manager.c:524 +msgid "Only show trusted keys, certificates and passwords" +msgstr "只顯示信任的密碼匙、證書和密碼" + +#: ../src/seahorse-key-manager.c:525 +msgid "Show _Any" +msgstr "顯示任何(_A)" + +#: ../src/seahorse-key-manager.c:526 +msgid "Show all keys, certificates and passwords" +msgstr "顯示所有的密碼匙、證書和密碼" + +#: ../src/seahorse-key-manager.c:745 +msgid "Filter" +msgstr "過濾條件" + +#: ../src/seahorse-key-manager.xml.h:1 +msgid "First time options:" +msgstr "第一次執行選項:" + +#: ../src/seahorse-key-manager.xml.h:2 +msgid "Generate a new key of your own: " +msgstr "產生你的密碼匙:" + +#: ../src/seahorse-key-manager.xml.h:4 +msgid "Import existing keys from a file:" +msgstr "從檔案中匯入已存的密碼匙" + +#: ../src/seahorse-key-manager.xml.h:5 +msgid "To get started with encryption you will need keys." +msgstr "開始加密前你需要擁有密碼匙。" + +#: ../src/seahorse-sidebar.c:797 +msgid "Couldn't lock" +msgstr "無法鎖定" + +#: ../src/seahorse-sidebar.c:834 +msgid "Couldn't unlock" +msgstr "無法解鎖" + +#: ../src/seahorse-sidebar.c:941 +msgid "_Lock" +msgstr "鎖定(_L)" + +#: ../src/seahorse-sidebar.c:946 +msgid "_Unlock" +msgstr "解鎖(_U)" + +#: ../src/seahorse-sidebar.c:965 +msgid "_Properties" +msgstr "屬性(_P)" + +#: ../ssh/seahorse-ssh-actions.c:97 +msgid "Configure Key for _Secure Shell..." +msgstr "正在設定 _SSH 密碼匙…" + +#: ../ssh/seahorse-ssh-actions.c:98 +msgid "" +"Send public Secure Shell key to another machine, and enable logins using " +"that key." +msgstr "將公共 SSH 密碼匙傳送給其它電腦,及能使用該密碼匙登入。" + +#: ../ssh/seahorse-ssh-askpass.c:78 ../ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "輸入你的 SSH 密語:" + +#: ../ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "舊密碼匙密語" + +#: ../ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "輸入 %s 的舊密語" + +#: ../ssh/seahorse-ssh-askpass.c:105 ../ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "新的密碼匙密語" + +#: ../ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "輸入 %s 的新密語" + +#: ../ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "請再次輸入新密語:%s" + +#: ../ssh/seahorse-ssh-backend.c:88 +msgid "Secure Shell" +msgstr "安全系統殼(Secure Shell)" + +#: ../ssh/seahorse-ssh-backend.c:94 +msgid "Keys used to connect securely to other computers" +msgstr "用來安全的連接其他電腦的密碼匙" + +#: ../ssh/seahorse-ssh-deleter.c:80 ../ssh/seahorse-ssh-deleter.c:85 +#, c-format +msgid "Are you sure you want to delete the secure shell key '%s'?" +msgstr "確定要刪除 SSH 金錀「%s」?" + +#: ../ssh/seahorse-ssh-deleter.c:90 +#, c-format +msgid "Are you sure you want to delete %d secure shell key?" +msgid_plural "Are you sure you want to delete %d secure shell keys?" +msgstr[0] "確定要刪除 %d 個 SSH 密碼匙?" + +#: ../ssh/seahorse-ssh-exporter.c:92 +msgid "SSH Key" +msgstr "SSH 密碼匙" + +#: ../ssh/seahorse-ssh-exporter.c:124 +msgid "Secret SSH keys" +msgstr "秘密 SSH 密碼匙" + +#: ../ssh/seahorse-ssh-exporter.c:128 +msgid "Public SSH keys" +msgstr "公開 SSH 密碼匙" + +#: ../ssh/seahorse-ssh-exporter.c:297 +msgid "No public key file is available for this key." +msgstr "這個密碼匙沒有可用的公開密碼匙。" + +#: ../ssh/seahorse-ssh-generate.c:52 ../ssh/seahorse-ssh-key.c:109 +#: ../ssh/seahorse-ssh-key.c:113 ../ssh/seahorse-ssh-key-properties.xml.h:4 +msgid "Secure Shell Key" +msgstr "SSH 密碼匙" + +#: ../ssh/seahorse-ssh-generate.c:53 +msgid "Used to access other computers (eg: via a terminal)" +msgstr "用作存取其它電腦(如終端機)" + +#: ../ssh/seahorse-ssh-generate.c:107 ../ssh/seahorse-ssh-generate.c:123 +msgid "Couldn't generate Secure Shell key" +msgstr "無法產生 SSH 密碼匙" + +#: ../ssh/seahorse-ssh-generate.c:190 +msgid "Creating Secure Shell Key" +msgstr "正在產生 SSH 密碼匙" + +#: ../ssh/seahorse-ssh-generate.xml.h:1 +msgid "New Secure Shell Key" +msgstr "新增 SSH 密碼匙" + +#: ../ssh/seahorse-ssh-generate.xml.h:2 +msgid "_Just Create Key" +msgstr "只是建立密碼匙(_J)" + +#: ../ssh/seahorse-ssh-generate.xml.h:3 +msgid "_Create and Set Up" +msgstr "建立及設定(_C)" + +#: ../ssh/seahorse-ssh-generate.xml.h:4 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "SSH (Secure Shell) 密碼匙能讓你安全的連接其他的電腦。" + +#: ../ssh/seahorse-ssh-generate.xml.h:6 +msgid "Your email address, or a reminder of what this key is for." +msgstr "你的電子郵件位址,及其他提示這密碼匙要來做什麼。" + +#: ../ssh/seahorse-ssh-generate.xml.h:10 +msgid "DSA" +msgstr "DSA" + +#: ../ssh/seahorse-ssh-generate.xml.h:12 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "如果有你想使用本密碼匙的電腦,現在可以設定電腦認識你的密碼匙。" + +#: ../ssh/seahorse-ssh-key.c:105 +msgid "(Unreadable Secure Shell Key)" +msgstr "(不能讀取的 SSH 密碼匙)" + +#: ../ssh/seahorse-ssh-key.c:213 +msgid "Personal SSH key" +msgstr "個人的 SSH 密碼匙" + +#: ../ssh/seahorse-ssh-key.c:215 +msgid "SSH key" +msgstr "SSH 密碼匙" + +#: ../ssh/seahorse-ssh-key-properties.c:79 +msgid "Couldn't rename key." +msgstr "密碼匙無法重新命名。" + +#: ../ssh/seahorse-ssh-key-properties.c:134 +msgid "Couldn't change authorization for key." +msgstr "無法更改密碼匙的認證。" + +#: ../ssh/seahorse-ssh-key-properties.c:171 +msgid "Couldn't change passphrase for key." +msgstr "無法更改密碼匙的密語。" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:2 +msgid "Identifier:" +msgstr "識別碼:" + +#. Name of key, often a persons name +#: ../ssh/seahorse-ssh-key-properties.xml.h:6 +msgctxt "name-of-ssh-key" +msgid "Name:" +msgstr "名稱:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:7 +msgid "Used to connect to other computers." +msgstr "用作連接其它電腦。" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:12 +msgid "The owner of this key is _authorized to connect to this computer" +msgstr "此密碼匙的擁有者被授權連接本電腦(_A)" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:14 +#, no-c-format +msgid "This only applies to the %s account." +msgstr "只會套用在 %s帳號。" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:16 +msgid "Algorithm:" +msgstr "演算法:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:18 +msgid "Location:" +msgstr "位置:" + +#: ../ssh/seahorse-ssh-key-properties.xml.h:21 +msgid "E_xport Complete Key" +msgstr "匯出整個密碼匙(_X)" + +#: ../ssh/seahorse-ssh-operation.c:204 +msgid "The SSH command was terminated unexpectedly." +msgstr "SSH 指令在無法預期下中止。" + +#: ../ssh/seahorse-ssh-operation.c:214 +msgid "The SSH command failed." +msgstr "SSH 指令失敗。" + +#: ../ssh/seahorse-ssh-operation.c:523 +msgid "Remote Host Password" +msgstr "遠端主機密碼 " + +#: ../ssh/seahorse-ssh-operation.c:610 +msgid "Enter Key Passphrase" +msgstr "輸入密碼匙密語" + +#: ../ssh/seahorse-ssh-operation.c:701 +msgid "Passphrase for New Secure Shell Key" +msgstr "新的 SSH 密碼匙的密語" + +#: ../ssh/seahorse-ssh-operation.c:887 +#, c-format +msgid "Importing key: %s" +msgstr "匯入密碼匙:%s" + +#: ../ssh/seahorse-ssh-operation.c:889 +msgid "Importing key. Enter passphrase" +msgstr "正在匯入密碼匙,請輸入密語" + +#: ../ssh/seahorse-ssh-source.c:219 +msgid "OpenSSH keys" +msgstr "OpenSSH 密碼匙" + +#: ../ssh/seahorse-ssh-source.c:226 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH:%s" + +#: ../ssh/seahorse-ssh-source.c:974 +msgid "No private key file is available for this key." +msgstr "這個密碼匙沒有可用的私密密碼匙。" + +#: ../ssh/seahorse-ssh-upload.c:48 +msgid "Couldn't configure Secure Shell keys on remote computer." +msgstr "在遠端電腦無法設定 SSH 密碼匙" + +#: ../ssh/seahorse-ssh-upload.c:131 +msgid "Configuring Secure Shell Keys..." +msgstr "正在設定 SSH 密碼匙" + +#: ../ssh/seahorse-ssh-upload.xml.h:1 +msgid "Set Up Computer for SSH Connection" +msgstr "設定電腦的 SSH 連線" + +#: ../ssh/seahorse-ssh-upload.xml.h:2 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "要在其他的電腦使用你的 SSH 密碼匙,你需要有該電腦的登入帳號。" + +#: ../ssh/seahorse-ssh-upload.xml.h:4 +msgid "eg: fileserver.example.com:port" +msgstr "例如:fileserver.example.com:port" + +#: ../ssh/seahorse-ssh-upload.xml.h:5 +msgid "_Server address:" +msgstr "伺服器位址(_S):" + +#: ../ssh/seahorse-ssh-upload.xml.h:6 +msgid "_Login name:" +msgstr "登入名稱(_L):" + +#: ../ssh/seahorse-ssh-upload.xml.h:7 +msgid "_Set Up" +msgstr "設定(_S)" + +#~ msgid "Ssh Key" +#~ msgstr "SSH 金鑰" + +#~ msgid "_Computer Name:" +#~ msgstr "電腦名稱(_C):" + +#~ msgid "Updating password" +#~ msgstr "更新密碼" + +#~ msgid "Keyring Properties" +#~ msgstr "鑰匙圈屬性" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Password:" +#~ msgstr "密碼:" + +#~ msgid "Key Servers:" +#~ msgstr "金鑰伺服器:" + +#~ msgid "Never" +#~ msgstr "永不" + +#~ msgid "Key ID:" +#~ msgstr "金鑰 ID:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "名稱:" + +#~ msgid "Comment:" +#~ msgstr "附註:" + +#~ msgid "Use:" +#~ msgstr "用作:" + +#~ msgid "Type:" +#~ msgstr "類型:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "金鑰名稱及簽章" + +#~ msgid "Dates" +#~ msgstr "日期" + +#~ msgid "Dates:" +#~ msgstr "日期:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "名稱:" + +#~ msgid "Trust" +#~ msgstr "信任" + +#~ msgid "Strength:" +#~ msgstr "強度:" + +#~ msgid "Login keyring" +#~ msgstr "登入鑰匙圈" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "存取鑰匙圈被禁止" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "gnome-keyring 服務程式沒有執行" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "鑰匙圈已經解鎖" + +#~ msgid "No such key ring exists" +#~ msgstr "沒有該鑰匙圈存在" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "無法與鑰匙圈服務程式聯絡" + +#~ msgid "The item already exists" +#~ msgstr "項目已經存在" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "存取 gnome-keyring 發生內部錯誤" + +#~ msgid "Algorithms here" +#~ msgstr "演算法這裡" diff --git a/po/zh_TW.po b/po/zh_TW.po new file mode 100644 index 00000000..7569b2c5 --- /dev/null +++ b/po/zh_TW.po @@ -0,0 +1,3064 @@ +# Chinese (Taiwan) translation of Seahorse +# Copyright (C) 2005, 07 Free Software Foundation, Inc. +# +# Woodman Tuen , 2005-07. +# Chao-Hsiung Liao , 2008, 2010. +# Wei-Lun Chao , 2010. +# pan93412 , 2019. +msgid "" +msgstr "" +"Project-Id-Version: seahorse 3.3.4\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/seahorse/issues\n" +"POT-Creation-Date: 2020-07-13 16:23+0000\n" +"PO-Revision-Date: 2020-09-17 23:02+0800\n" +"Last-Translator: Cheng-Chia Tseng \n" +"Language-Team: Chinese \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 2.4.1\n" + +#: common/add-keyserver-dialog.vala:32 +msgid "Add Key Server" +msgstr "加入金鑰伺服器" + +#: common/add-keyserver-dialog.vala:64 +msgid "Custom" +msgstr "自訂" + +#. Buttons +#: common/add-keyserver-dialog.vala:68 gkr/seahorse-gkr-add-item.ui:132 +#: gkr/seahorse-gkr-add-keyring.ui:82 pgp/seahorse-keyserver-search.ui:130 +#: pkcs11/seahorse-pkcs11-generate.ui:186 ssh/seahorse-ssh-upload.ui:138 +msgid "Cancel" +msgstr "取消" + +#: common/add-keyserver-dialog.vala:69 +msgid "Save" +msgstr "儲存" + +#: common/catalog.vala:115 +msgid "Cannot delete" +msgstr "不能刪除" + +#: common/catalog.vala:129 +msgid "Couldn’t export keys" +msgstr "無法匯出金錀" + +#: common/catalog.vala:139 +msgid "Couldn’t export data" +msgstr "無法匯出資料" + +#. The buttons +#: common/delete-dialog.vala:87 common/exportable.vala:191 +#: common/passphrase-prompt.vala:117 pgp/seahorse-gpgme-add-uid.ui:118 +#: pgp/seahorse-gpgme-generate-dialog.ui:282 pgp/seahorse-gpgme-photos.c:76 +#: pgp/seahorse-gpgme-photos.c:264 pgp/seahorse-gpgme-photos.c:324 +#: pkcs11/pkcs11-request.vala:55 pkcs11/pkcs11-request.vala:106 +#: src/import-dialog.vala:34 src/key-manager.vala:270 +msgid "_Cancel" +msgstr "取消(_C)" + +#. Delete item +#: common/delete-dialog.vala:91 pgp/seahorse-gpgme-photos.c:323 +#: src/sidebar.vala:393 +msgid "_Delete" +msgstr "刪除(_D)" + +#: common/exportable.vala:191 pkcs11/seahorse-pkcs11-properties.ui:33 +msgid "Export" +msgstr "匯出" + +#: common/interaction.vala:63 +#, c-format +msgid "Enter PIN or password for: %s" +msgstr "輸入 PIN 或密碼:%s" + +#. The second and main entry +#: common/passphrase-prompt.vala:92 +msgid "Confirm:" +msgstr "確認:" + +#: common/passphrase-prompt.vala:121 pgp/seahorse-gpgme-add-uid.ui:127 +msgid "_OK" +msgstr "確定(_O)" + +#: common/passphrase-prompt.vala:145 ssh/seahorse-ssh-askpass.c:117 +msgid "Password:" +msgstr "密碼:" + +#: common/place.vala:40 gkr/gkr-backend.vala:39 +msgid "Passwords" +msgstr "密碼" + +#: common/place.vala:42 +msgid "Keys" +msgstr "金鑰" + +#: common/place.vala:44 pkcs11/seahorse-pkcs11-backend.c:207 +msgid "Certificates" +msgstr "憑證" + +#: common/prefs.vala:42 +msgid "Preferences" +msgstr "偏好設定" + +#: common/prefs.vala:150 +msgid "None: Don’t publish keys" +msgstr "沒有:不要發行金鑰" + +#: common/prefs.vala:166 +msgid "Not a valid Key Server address." +msgstr "不是有效的金鑰伺服器位址。" + +#: common/prefs.vala:167 +msgid "" +"For help contact your system administrator or the administrator of the key " +"server." +msgstr "請向管理員或金鑰伺服器管理員取得協助。" + +#: common/prefs.vala:236 +msgid "URL" +msgstr "URL" + +#: common/seahorse-add-keyserver.ui:12 +msgid "initial temporary item" +msgstr "起動臨時項目" + +#: common/seahorse-add-keyserver.ui:34 +msgid "Key Server Type:" +msgstr "金鑰伺服器類型:" + +#: common/seahorse-add-keyserver.ui:58 +msgid "Host:" +msgstr "主機:" + +#: common/seahorse-add-keyserver.ui:77 ssh/seahorse-ssh-upload.ui:67 +#: ssh/seahorse-ssh-upload.ui:108 +msgid "The host name or address of the server." +msgstr "伺服器的主機名稱或位址。" + +#: common/seahorse-add-keyserver.ui:93 +msgid ":" +msgstr ":" + +#: common/seahorse-add-keyserver.ui:105 +msgid "The port to access the server on." +msgstr "連接伺服器的連接埠。" + +#: common/seahorse-prefs.ui:34 +msgid "_Find keys via:" +msgstr "尋找金鑰以(_F):" + +#: common/seahorse-prefs.ui:105 +msgid "_Publish keys to:" +msgstr "發行金鑰至(_P):" + +#: common/seahorse-prefs.ui:128 +msgid "Automatically retrieve keys from _key servers" +msgstr "自動從金鑰伺服器取回金鑰(_K)" + +#: common/seahorse-prefs.ui:142 +msgid "Automatically synchronize _modified keys with key servers" +msgstr "與金鑰伺服器自動將已修改的金鑰同步(_M)" + +#: common/seahorse-prefs.ui:159 +msgid "Key Servers" +msgstr "金鑰伺服器" + +#: common/validity.vala:38 pgp/seahorse-pgp-private-key-properties.ui:11 +#: pgp/seahorse-pgp-public-key-properties.ui:11 +msgctxt "Validity" +msgid "Unknown" +msgstr "不明" + +#: common/validity.vala:40 pgp/seahorse-pgp-private-key-properties.ui:14 +#: pgp/seahorse-pgp-public-key-properties.ui:14 +msgctxt "Validity" +msgid "Never" +msgstr "永不" + +#: common/validity.vala:42 pgp/seahorse-pgp-private-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginal" +msgstr "勉強" + +#: common/validity.vala:44 pgp/seahorse-pgp-private-key-properties.ui:20 +msgctxt "Validity" +msgid "Full" +msgstr "完全" + +#: common/validity.vala:46 pgp/seahorse-pgp-private-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimate" +msgstr "徹底" + +#: common/validity.vala:48 +msgctxt "Validity" +msgid "Disabled" +msgstr "已停用" + +#: common/validity.vala:50 +msgctxt "Validity" +msgid "Revoked" +msgstr "已撤銷" + +#: data/gtk/help-overlay.ui:9 +msgctxt "shortcut window" +msgid "Overview" +msgstr "概覽" + +#: data/gtk/help-overlay.ui:14 +msgctxt "shortcut window" +msgid "Help" +msgstr "求助" + +#: data/gtk/help-overlay.ui:21 +msgctxt "shortcut window" +msgid "Open menu" +msgstr "開啟選單" + +#: data/gtk/help-overlay.ui:28 +msgctxt "shortcut window" +msgid "Create a new item" +msgstr "建立新項目" + +#: data/gtk/help-overlay.ui:35 +msgctxt "shortcut window" +msgid "Import item from file" +msgstr "從檔案匯入項目" + +#: data/gtk/help-overlay.ui:42 +msgctxt "shortcut window" +msgid "Search" +msgstr "搜尋" + +#: data/gtk/help-overlay.ui:49 +msgctxt "shortcut window" +msgid "Shortcut list" +msgstr "快捷鍵列表" + +#: data/gtk/help-overlay.ui:56 +msgctxt "shortcut window" +msgid "Quit" +msgstr "退出" + +#: data/gtk/help-overlay.ui:64 +msgctxt "shortcut window" +msgid "Navigation" +msgstr "導覽" + +#: data/gtk/help-overlay.ui:69 +msgctxt "shortcut window" +msgid "Select previous keyring" +msgstr "選取上一個鑰匙圈" + +#: data/gtk/help-overlay.ui:76 +msgctxt "shortcut window" +msgid "Select next keyring" +msgstr "選擇下一個鑰匙圈" + +#: data/gtk/help-overlay.ui:83 +msgctxt "shortcut window" +msgid "Show sidebar (on small screens)" +msgstr "顯示側邊欄(於小螢幕)" + +#: data/gtk/help-overlay.ui:90 +msgctxt "shortcut window" +msgid "Show keyring contents (on small screens)" +msgstr "顯示鑰匙圈內容(於小螢幕)" + +#: data/org.gnome.seahorse.gschema.xml:5 +msgid "Auto retrieve keys" +msgstr "自動取回金鑰" + +#: data/org.gnome.seahorse.gschema.xml:6 +msgid "Whether or not keys should be automatically retrieved from key servers." +msgstr "決定是否從金鑰伺服器自動取回金鑰。" + +#: data/org.gnome.seahorse.gschema.xml:10 +msgid "Auto publish keys" +msgstr "自動發行金鑰" + +#: data/org.gnome.seahorse.gschema.xml:11 +msgid "Whether or not modified keys should be automatically published." +msgstr "決定要不要自動發行修改的金鑰。" + +#: data/org.gnome.seahorse.gschema.xml:15 +msgid "Publish keys to this key server" +msgstr "在此金鑰伺服器上發行金鑰" + +#: data/org.gnome.seahorse.gschema.xml:16 +msgid "" +"The key server to publish PGP keys to. Or empty to suppress publishing of " +"PGP keys." +msgstr "發行 PGP 金鑰到的金鑰伺服器,或者留白以禁止發行 PGP 金鑰。" + +#: data/org.gnome.seahorse.gschema.xml:20 +msgid "Last key server search pattern" +msgstr "上次金鑰伺服器的搜尋模式" + +#: data/org.gnome.seahorse.gschema.xml:21 +msgid "The last search pattern searched for against a key server." +msgstr "上一次針對金鑰伺服器的搜尋模式。" + +#: data/org.gnome.seahorse.gschema.xml:25 +msgid "Last key servers used" +msgstr "上次使用的金鑰伺服器" + +#: data/org.gnome.seahorse.gschema.xml:26 +msgid "" +"The last key server a search was performed against or empty for all key " +"servers." +msgstr "針對所有金鑰伺服器執行搜尋或留白的金鑰伺服器。" + +#: data/org.gnome.seahorse.manager.gschema.xml:5 +msgid "Show keyrings sidebar" +msgstr "顯示鑰匙圈側邊欄" + +#: data/org.gnome.seahorse.manager.gschema.xml:6 +msgid "Show keyrings sidebar in Seahorse." +msgstr "在 Seahorse 中顯示鑰匙圈側邊欄。" + +#: data/org.gnome.seahorse.manager.gschema.xml:10 +msgid "Which items to show" +msgstr "要顯示的項目" + +#: data/org.gnome.seahorse.manager.gschema.xml:11 +msgid "" +"Filter which items to show. If empty, show all items, if “personal” show " +"personal keys, if “trusted” show trusted." +msgstr "" +"篩選要顯示的項目。如果爲空白,顯示所有項目;如果爲「個人」就顯示個人金鑰;如" +"果爲「信任」就顯示信任的金鑰。" + +#: data/org.gnome.seahorse.manager.gschema.xml:16 +msgid "Width of the side pane" +msgstr "側邊窗格寬度" + +#: data/org.gnome.seahorse.manager.gschema.xml:17 +msgid "The default width of the side pane." +msgstr "側邊窗格的預設寬度。" + +#: data/org.gnome.seahorse.manager.gschema.xml:21 +msgid "The keyrings chosen" +msgstr "選擇的鑰匙圈" + +#: data/org.gnome.seahorse.manager.gschema.xml:22 +msgid "The URIs of the keyrings chosen in the sidebar." +msgstr "在側邊欄中選擇的鑰匙圈 URI。" + +#: data/org.gnome.seahorse.manager.gschema.xml:29 +msgid "The column to sort the Seahorse keys by" +msgstr "用於排序 Seahorse 金鑰的欄位" + +#: data/org.gnome.seahorse.manager.gschema.xml:30 +msgid "" +"Specify the column to sort the Seahorse key manager main window by. Columns " +"are: “name”, “id”, “validity”, “expires”, “trust”, and “type”. Put a “-” in " +"front of the column name to sort in descending order." +msgstr "" +"指定排序 Seahorse 金鑰管理員主視窗用的欄位。欄位包含:「名稱」、「ID」、「有" +"效性」、「信任」和「類型」。在欄位名稱前加一個「-」以透過降冪排序來排序。" + +#: data/org.gnome.seahorse.manager.gschema.xml:34 +msgid "Show validity column" +msgstr "顯示有效性欄位" + +#: data/org.gnome.seahorse.manager.gschema.xml:35 +#: data/org.gnome.seahorse.manager.gschema.xml:40 +#: data/org.gnome.seahorse.manager.gschema.xml:45 +#: data/org.gnome.seahorse.manager.gschema.xml:50 +msgid "No longer in use." +msgstr "已不再使用。" + +#: data/org.gnome.seahorse.manager.gschema.xml:39 +msgid "Show expiry column" +msgstr "顯示過期欄位" + +#: data/org.gnome.seahorse.manager.gschema.xml:44 +msgid "Show trust column" +msgstr "顯示信任欄位" + +#: data/org.gnome.seahorse.manager.gschema.xml:49 +msgid "Show type column" +msgstr "顯示類型欄位" + +#: data/org.gnome.seahorse.window.gschema.xml:5 +msgid "Width of the window" +msgstr "視窗的寬度" + +#: data/org.gnome.seahorse.window.gschema.xml:6 +msgid "Width (in pixels) of the window." +msgstr "視窗的寬度(像素)" + +#: data/org.gnome.seahorse.window.gschema.xml:10 +msgid "Height of the window" +msgstr "視窗的高度" + +#: data/org.gnome.seahorse.window.gschema.xml:11 +msgid "Height (in pixels) of the window." +msgstr "視窗的高度(像素)" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:6 +msgid "Seahorse" +msgstr "Seahorse" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:7 +#: data/org.gnome.seahorse.Application.desktop.in.in:4 +msgid "Manage your passwords and encryption keys" +msgstr "管理密碼及金鑰" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:9 +msgid "Seahorse is a GNOME application for managing encryption keys." +msgstr "Seahorse 是 GNOME 管理加密金鑰的應用程式。" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:12 +msgid "" +"With seahorse you can create and manage PGP keys, create and manage SSH " +"keys, publish and retrieve keys from key servers, cache your passphrase so " +"you don’t have to keep typing it and backup your keys and keyring." +msgstr "" +"利用 seahorse,您可以建立與管理 PGP 金鑰、SSH 金鑰,從金鑰伺服器發布與取回金" +"鑰,快取您的密語讓您不用每次都輸入它,還可以備份您的金鑰與鑰匙圈。" + +#: data/org.gnome.seahorse.Application.appdata.xml.in:126 +msgid "The GNOME Project" +msgstr "GNOME 專案" + +#: data/org.gnome.seahorse.Application.desktop.in.in:3 src/application.vala:169 +#: src/seahorse-key-manager.ui:291 +msgid "Passwords and Keys" +msgstr "密碼及加密金鑰" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.seahorse.Application.desktop.in.in:6 +msgid "keyring;encryption;security;sign;ssh;" +msgstr "keyring;encryption;security;sign;ssh;金鑰;加密;安全;簽署;" + +#: gkr/gkr-backend.vala:43 +msgid "Stored personal passwords, credentials and secrets" +msgstr "已儲存的個人密碼、憑證和密碼憑證" + +#: gkr/gkr-item-add.vala:113 src/sidebar.vala:451 +msgid "Couldn’t unlock" +msgstr "無法解鎖" + +#: gkr/gkr-item-add.vala:137 +msgid "Couldn’t add item" +msgstr "無法加入項目" + +#: gkr/gkr-item-info.vala:30 +msgid "Password or Secret" +msgstr "密碼或密碼憑證" + +#: gkr/gkr-item-info.vala:120 +msgid "Network connection secret" +msgstr "網路連線密碼憑證" + +#: gkr/gkr-item-info.vala:127 +msgid "Wi-Fi password" +msgstr "Wi-Fi 密碼" + +#: gkr/gkr-item-info.vala:145 +msgid "Network password" +msgstr "網路密碼" + +#: gkr/gkr-item-info.vala:234 +msgid "GNOME Web password" +msgstr "GNOME Web 密碼" + +#: gkr/gkr-item-info.vala:254 +msgid "Google Chrome password" +msgstr "Google Chrome 密碼" + +#: gkr/gkr-item-info.vala:288 +msgid "Instant messaging password" +msgstr "即時訊息密碼" + +#. Translators: This should be the same as the string in empathy +#: gkr/gkr-item-info.vala:293 +msgid "IM account password for " +msgstr "IM 帳號的密碼 " + +#: gkr/gkr-item-info.vala:326 +msgid "Telepathy password" +msgstr "Telepathy 密碼" + +#: gkr/gkr-item-info.vala:362 +msgid "GNOME Online Accounts password" +msgstr "GNOME 線上帳號密碼" + +#: gkr/gkr-item-properties.vala:106 +msgid "Save changes for this item?" +msgstr "為此項目儲存變更?" + +#: gkr/gkr-item-properties.vala:123 +msgid "Access a network share or resource" +msgstr "存取網路共享或資源" + +#: gkr/gkr-item-properties.vala:126 +msgid "Access a website" +msgstr "存取網站" + +#: gkr/gkr-item-properties.vala:129 +msgid "Unlocks a PGP key" +msgstr "解除 PGP 金鑰鎖定" + +#: gkr/gkr-item-properties.vala:132 +msgid "Unlocks a Secure Shell key" +msgstr "解除 SSH 金鑰鎖定" + +#: gkr/gkr-item-properties.vala:135 +msgid "Saved password or login" +msgstr "已儲密碼或登入" + +#: gkr/gkr-item-properties.vala:147 +msgid "Network Credentials" +msgstr "網路認證" + +#: gkr/gkr-item-properties.vala:152 gkr/seahorse-gkr-item-properties.ui:70 +#: src/seahorse-key-manager.ui:193 +msgid "Password" +msgstr "密碼" + +#: gkr/gkr-item-properties.vala:209 +msgid "Couldn’t change password." +msgstr "無法變更密碼。" + +#: gkr/gkr-item-properties.vala:233 +msgid "Couldn’t set description." +msgstr "無法設定描述。" + +#: gkr/gkr-item-properties.vala:260 +msgid "Error deleting the password." +msgstr "刪除密碼時發生錯誤。" + +#: gkr/gkr-item.vala:165 +msgid "Stored note" +msgstr "儲存的備註" + +#: gkr/gkr-item.vala:167 +msgid "Keyring password" +msgstr "鑰匙圈密碼" + +#: gkr/gkr-item.vala:169 +msgid "Encryption key password" +msgstr "加密金鑰密碼" + +#: gkr/gkr-item.vala:171 +msgid "Key storage password" +msgstr "金鑰儲存密碼" + +#: gkr/gkr-item.vala:173 +msgid "Network Manager secret" +msgstr "網路管理員密碼憑證" + +#: gkr/gkr-item.vala:341 +#, c-format +msgid "Are you sure you want to delete the password “%s”?" +msgstr "確定要刪除密碼「%s」?" + +#: gkr/gkr-item.vala:343 +#, c-format +msgid "Are you sure you want to delete %d password?" +msgid_plural "Are you sure you want to delete %d passwords?" +msgstr[0] "確定要刪除 %d 個密碼?" + +#: gkr/gkr-keyring-add.vala:52 +msgid "Couldn’t add keyring" +msgstr "無法加入鑰匙圈" + +#: gkr/gkr-keyring-properties.vala:65 +msgid "Unknown date" +msgstr "未知日期" + +#: gkr/gkr-keyring.vala:34 +msgid "A keyring that is automatically unlocked on login" +msgstr "登入時自動解鎖的鑰匙圈" + +#: gkr/gkr-keyring.vala:35 +msgid "A keyring used to store passwords" +msgstr "用來儲存密碼的鑰匙圈" + +#: gkr/gkr-keyring.vala:200 +msgid "Couldn’t set default keyring" +msgstr "無法設定預設的鑰匙圈" + +#: gkr/gkr-keyring.vala:227 gkr/gkr-keyring.vala:232 +msgid "Couldn’t change keyring password" +msgstr "無法變更鑰匙圈密碼" + +#: gkr/gkr-keyring.vala:251 +msgid "_Set as default" +msgstr "設為預設值(_S)" + +#: gkr/gkr-keyring.vala:252 +msgid "Change _Password" +msgstr "變更密碼(_P)" + +#: gkr/gkr-keyring.vala:263 +#, c-format +msgid "Are you sure you want to delete the password keyring “%s”?" +msgstr "您確定要刪除密碼鑰匙圈「%s」?" + +#: gkr/gkr-keyring.vala:266 +msgid "I understand that all items will be permanently deleted." +msgstr "我知道所有的項目會永遠的被刪除。" + +#: gkr/gkr-password-entry.vala:35 +msgid "Show/Hide password" +msgstr "顯示 / 隱藏密碼" + +#: gkr/seahorse-gkr-add-item.ui:5 +msgid "Add Password" +msgstr "加入密碼" + +#: gkr/seahorse-gkr-add-item.ui:24 +msgid "_Keyring:" +msgstr "鑰匙圈(_K):" + +#: gkr/seahorse-gkr-add-item.ui:45 pgp/seahorse-revoke.ui:55 +msgid "_Description:" +msgstr "描述(_D):" + +#: gkr/seahorse-gkr-add-item.ui:71 +msgid "_Password:" +msgstr "密碼(_P):" + +#: gkr/seahorse-gkr-add-item.ui:139 gkr/seahorse-gkr-add-keyring.ui:89 +#: pgp/seahorse-pgp-private-key-properties.ui:960 +msgid "Add" +msgstr "加入" + +#: gkr/seahorse-gkr-add-keyring.ui:6 +msgid "Add password keyring" +msgstr "加入密碼鑰匙圈" + +#: gkr/seahorse-gkr-add-keyring.ui:24 +msgid "" +"Please choose a name for the new keyring. You will be prompted for an unlock " +"password." +msgstr "請為新的鑰匙圈選擇一個名稱。系統會提示您提供解鎖密碼。" + +#: gkr/seahorse-gkr-add-keyring.ui:42 +msgid "New Keyring Name:" +msgstr "新鑰匙圈名稱:" + +#: gkr/seahorse-gkr-item-properties.ui:8 +msgid "Item Properties" +msgstr "項目屬性" + +#: gkr/seahorse-gkr-item-properties.ui:43 +msgid "Description" +msgstr "描述" + +#: gkr/seahorse-gkr-item-properties.ui:86 +msgid "Copy" +msgstr "複製" + +#. To translators: This is the noun not the verb. +#: gkr/seahorse-gkr-item-properties.ui:113 +msgid "Use" +msgstr "使用" + +#: gkr/seahorse-gkr-item-properties.ui:139 +#: pgp/seahorse-pgp-key-properties.c:1281 +msgid "Type" +msgstr "類型" + +#: gkr/seahorse-gkr-item-properties.ui:165 +msgid "Server" +msgstr "伺服器" + +#: gkr/seahorse-gkr-item-properties.ui:191 +msgid "Login" +msgstr "登入" + +#: gkr/seahorse-gkr-item-properties.ui:218 +#: pgp/seahorse-pgp-private-key-properties.ui:1083 +#: pgp/seahorse-pgp-public-key-properties.ui:916 +msgid "Details" +msgstr "詳細資料" + +#: gkr/seahorse-gkr-item-properties.ui:255 +msgid "Delete Password" +msgstr "刪除密碼" + +#: gkr/seahorse-gkr-keyring.ui:9 +msgid "Keyring properties" +msgstr "鑰匙圈屬性" + +#: gkr/seahorse-gkr-keyring.ui:52 pgp/seahorse-pgp-key-properties.c:859 +msgid "Name" +msgstr "名稱" + +#: gkr/seahorse-gkr-keyring.ui:80 +msgid "Created on" +msgstr "建立於" + +#: gkr/seahorse-gkr-keyring.ui:110 +msgid "Change password" +msgstr "變更密碼" + +#: gkr/seahorse-gkr-keyring.ui:117 +msgid "Set as default" +msgstr "設為預設值" + +#: libegg/egg-datetime.c:316 +msgid "Display flags" +msgstr "顯示旗標" + +#: libegg/egg-datetime.c:317 +msgid "Displayed date and/or time properties" +msgstr "顯示的日期和/或時刻屬性" + +#: libegg/egg-datetime.c:322 +msgid "Lazy mode" +msgstr "懶人模式" + +#: libegg/egg-datetime.c:323 +msgid "Lazy mode doesn’t normalize entered date and time values" +msgstr "懶人模式不會標準化輸入的日期和時刻數值" + +#: libegg/egg-datetime.c:328 +msgid "Year" +msgstr "年" + +#: libegg/egg-datetime.c:329 +msgid "Displayed year" +msgstr "顯示的年份" + +#: libegg/egg-datetime.c:334 +msgid "Month" +msgstr "月" + +#: libegg/egg-datetime.c:335 +msgid "Displayed month" +msgstr "顯示的月份" + +#: libegg/egg-datetime.c:340 +msgid "Day" +msgstr "天" + +#: libegg/egg-datetime.c:341 +msgid "Displayed day of month" +msgstr "顯示一個月第幾天" + +#: libegg/egg-datetime.c:346 +msgid "Hour" +msgstr "時" + +#: libegg/egg-datetime.c:347 +msgid "Displayed hour" +msgstr "顯示的小時" + +#: libegg/egg-datetime.c:352 +msgid "Minute" +msgstr "分" + +#: libegg/egg-datetime.c:353 +msgid "Displayed minute" +msgstr "顯示的分鐘" + +#: libegg/egg-datetime.c:358 +msgid "Second" +msgstr "秒" + +#: libegg/egg-datetime.c:359 +msgid "Displayed second" +msgstr "顯示的秒鐘" + +#: libegg/egg-datetime.c:364 +msgid "Lower limit year" +msgstr "年份下限" + +#: libegg/egg-datetime.c:365 +msgid "Year part of the lower date limit" +msgstr "顯示年份的最小值" + +#: libegg/egg-datetime.c:370 +msgid "Upper limit year" +msgstr "年份上限" + +#: libegg/egg-datetime.c:371 +msgid "Year part of the upper date limit" +msgstr "顯示年份的最大值" + +#: libegg/egg-datetime.c:376 +msgid "Lower limit month" +msgstr "月份下限" + +#: libegg/egg-datetime.c:377 +msgid "Month part of the lower date limit" +msgstr "顯示月份的最小值" + +#: libegg/egg-datetime.c:382 +msgid "Upper limit month" +msgstr "月份上限" + +#: libegg/egg-datetime.c:383 +msgid "Month part of the upper date limit" +msgstr "顯示月份的最大值" + +#: libegg/egg-datetime.c:388 +msgid "Lower limit day" +msgstr "日下限" + +#: libegg/egg-datetime.c:389 +msgid "Day of month part of the lower date limit" +msgstr "顯示日數的最小值" + +#: libegg/egg-datetime.c:394 +msgid "Upper limit day" +msgstr "日上限" + +#: libegg/egg-datetime.c:395 +msgid "Day of month part of the upper date limit" +msgstr "顯示日數的最大值" + +#: libegg/egg-datetime.c:400 +msgid "Lower limit hour" +msgstr "小時下限" + +#: libegg/egg-datetime.c:401 +msgid "Hour part of the lower time limit" +msgstr "顯示小時的最小值" + +#: libegg/egg-datetime.c:406 +msgid "Upper limit hour" +msgstr "小時上限" + +#: libegg/egg-datetime.c:407 +msgid "Hour part of the upper time limit" +msgstr "顯示小時的最大值" + +#: libegg/egg-datetime.c:412 +msgid "Lower limit minute" +msgstr "分鐘下限" + +#: libegg/egg-datetime.c:413 +msgid "Minute part of the lower time limit" +msgstr "顯示分鐘的最小值" + +#: libegg/egg-datetime.c:418 +msgid "Upper limit minute" +msgstr "分鐘上限" + +#: libegg/egg-datetime.c:419 +msgid "Minute part of the upper time limit" +msgstr "顯示分鐘的最大值" + +#: libegg/egg-datetime.c:424 +msgid "Lower limit second" +msgstr "秒鐘下限" + +#: libegg/egg-datetime.c:425 +msgid "Second part of the lower time limit" +msgstr "顯示秒鐘的最小值" + +#: libegg/egg-datetime.c:430 +msgid "Upper limit second" +msgstr "秒鐘上限" + +#: libegg/egg-datetime.c:431 +msgid "Second part of the upper time limit" +msgstr "顯示秒鐘的最大值" + +#. Translate to calendar:week_start:1 if you want Monday to be the +#. * first day of the week; otherwise translate to calendar:week_start:0. +#. * Do *not* translate it to anything else, if it isn't calendar:week_start:1 +#. * or calendar:week_start:0 it will not work. +#. +#: libegg/egg-datetime.c:473 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#: libegg/egg-datetime.c:495 +msgid "Date" +msgstr "日期" + +#: libegg/egg-datetime.c:495 +msgid "Enter the date directly" +msgstr "直接輸入日期" + +#: libegg/egg-datetime.c:502 +msgid "Select Date" +msgstr "選擇日期" + +#: libegg/egg-datetime.c:502 +msgid "Select the date from a calendar" +msgstr "從日曆中選取日期" + +#: libegg/egg-datetime.c:520 libegg/egg-datetime.c:2203 +msgid "Time" +msgstr "時刻" + +#: libegg/egg-datetime.c:520 +msgid "Enter the time directly" +msgstr "直接輸入時刻" + +#: libegg/egg-datetime.c:527 +msgid "Select Time" +msgstr "選擇時刻" + +#: libegg/egg-datetime.c:527 +msgid "Select the time from a list" +msgstr "從清單中選取時刻" + +#. Translators: set this to anything else if you want to use a +#. * 24 hour clock. +#. +#: libegg/egg-datetime.c:792 +msgid "24hr: no" +msgstr "24hr: no" + +#: libegg/egg-datetime.c:796 libegg/egg-datetime.c:1264 +#: libegg/egg-datetime.c:1268 +msgid "AM" +msgstr "上午" + +#: libegg/egg-datetime.c:798 libegg/egg-datetime.c:1265 +#: libegg/egg-datetime.c:1272 +msgid "PM" +msgstr "下午" + +#. Translators: This is hh:mm:ss AM/PM. +#: libegg/egg-datetime.c:806 +#, c-format +msgid "%02d:%02d:%02d %s" +msgstr "%02d:%02d:%02d %s" + +#. Translators: This is hh:mm AM/PM. +#: libegg/egg-datetime.c:809 +#, c-format +msgid "%02d:%02d %s" +msgstr "%02d:%02d %s" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:813 +#, c-format +msgid "%02d:%02d:%02d" +msgstr "%02d:%02d:%02d" + +#. Translators: This is hh:mm. +#: libegg/egg-datetime.c:816 +#, c-format +msgid "%02d:%02d" +msgstr "%02d:%02d" + +#. TODO: should handle other display modes as well... +#. Translators: This is YYYY-MM-DD +#: libegg/egg-datetime.c:1180 +#, c-format +msgid "%04d-%02d-%02d" +msgstr "%04d-%02d-%02d" + +#. Translators: This is hh:mm:ss. +#: libegg/egg-datetime.c:1245 +#, c-format +msgid "%u:%u:%u" +msgstr "%u:%u:%u" + +#: libseahorse/seahorse-widget.c:461 +#, c-format +msgid "Could not display help: %s" +msgstr "無法顯示說明文件:%s" + +#: pgp/seahorse-gpgme-add-subkey.c:213 +#, c-format +msgid "Add subkey to %s" +msgstr "加入子鑰至 %s" + +#: pgp/seahorse-gpgme-add-subkey.c:239 pgp/seahorse-gpgme-generate-dialog.c:86 +msgid "DSA (sign only)" +msgstr "DSA (只能簽署)" + +#: pgp/seahorse-gpgme-add-subkey.c:247 +msgid "ElGamal (encrypt only)" +msgstr "ElGamal (只能加密)" + +#: pgp/seahorse-gpgme-add-subkey.c:253 pgp/seahorse-gpgme-generate-dialog.c:87 +msgid "RSA (sign only)" +msgstr "RSA (只能簽署)" + +#: pgp/seahorse-gpgme-add-subkey.c:259 +msgid "RSA (encrypt only)" +msgstr "RSA (只能加密)" + +#: pgp/seahorse-gpgme-add-subkey.ui:28 +msgid "Key _Type" +msgstr "金鑰類型(_T)" + +#: pgp/seahorse-gpgme-add-subkey.ui:54 +msgid "Key _Length" +msgstr "金鑰長度(_L)" + +#: pgp/seahorse-gpgme-add-subkey.ui:71 +msgid "Length of Key" +msgstr "金鑰長度" + +#: pgp/seahorse-gpgme-add-subkey.ui:86 +msgid "Expiration Date" +msgstr "有效日期" + +#: pgp/seahorse-gpgme-add-subkey.ui:110 +msgid "Never E_xpires" +msgstr "永不過期(_X)" + +#: pgp/seahorse-gpgme-add-subkey.ui:114 +msgid "If key never expires" +msgstr "如果金鑰永不過期" + +#: pgp/seahorse-gpgme-add-subkey.ui:150 +msgid "Generate a new subkey" +msgstr "產生新的子鑰" + +#: pgp/seahorse-gpgme-add-uid.c:149 +#, c-format +msgid "Add user ID to %s" +msgstr "加入使用者 ID 至 %s" + +#: pgp/seahorse-gpgme-add-uid.c:217 +msgid "Couldn’t add user ID" +msgstr "無法加入使用者 ID" + +#: pgp/seahorse-gpgme-add-uid.ui:8 +msgid "Add User ID" +msgstr "加入使用者 ID" + +#. Full name of the key, usually the name of the user. +#: pgp/seahorse-gpgme-add-uid.ui:24 pgp/seahorse-gpgme-generate-dialog.ui:62 +msgid "Full _Name" +msgstr "全名(_N)" + +#: pgp/seahorse-gpgme-add-uid.ui:42 +msgid "Must be at least 5 characters long" +msgstr "長度最少要有 5 個字元" + +#: pgp/seahorse-gpgme-add-uid.ui:55 pgp/seahorse-gpgme-generate-dialog.ui:92 +msgid "_Email Address" +msgstr "電子信箱位址(_E)" + +#: pgp/seahorse-gpgme-add-uid.ui:72 +msgid "Optional email address" +msgstr "電子信箱信箱位址(非必要)" + +#: pgp/seahorse-gpgme-add-uid.ui:85 +msgid "Key Co_mment" +msgstr "金鑰附註(_M)" + +#: pgp/seahorse-gpgme-add-uid.ui:102 +msgid "Optional comment describing key" +msgstr "描述金鑰的註釋(非必要)" + +#: pgp/seahorse-gpgme-add-uid.ui:134 +msgid "Create the new user ID" +msgstr "建立新的使用者 ID" + +#: pgp/seahorse-gpgme.c:69 +msgid "Decryption failed. You probably do not have the decryption key." +msgstr "解密失敗。您可能沒有解密的金鑰。" + +#: pgp/seahorse-gpgme.c:73 pgp/seahorse-hkp-source.c:512 +msgid "The operation was cancelled" +msgstr "該操作已取消" + +#: pgp/seahorse-gpgme-expires-dialog.c:72 +msgid "Invalid expiry date" +msgstr "無效的到期日" + +#: pgp/seahorse-gpgme-expires-dialog.c:73 +msgid "The expiry date must be in the future" +msgstr "到期日必須在未來" + +#: pgp/seahorse-gpgme-expires-dialog.c:83 +msgid "Couldn’t change expiry date" +msgstr "無法變更有效日期" + +#: pgp/seahorse-gpgme-expires-dialog.c:155 +#, c-format +msgid "Expiry: %s" +msgstr "到期日:%s" + +#: pgp/seahorse-gpgme-expires-dialog.ui:16 +msgid "_Never expires" +msgstr "永不過期(_N)" + +#: pgp/seahorse-gpgme-expires-dialog.ui:48 +msgid "C_hange" +msgstr "改變(_H)" + +#: pgp/seahorse-gpgme-exporter.c:72 +msgid "Multiple Keys" +msgstr "多個金鑰" + +#: pgp/seahorse-gpgme-exporter.c:76 +msgid "Key Data" +msgstr "金鑰資料" + +#: pgp/seahorse-gpgme-exporter.c:104 +msgid "Armored PGP keys" +msgstr "防護的 PGP 金鑰" + +#: pgp/seahorse-gpgme-exporter.c:108 +msgid "PGP keys" +msgstr "PGP 金鑰" + +#: pgp/seahorse-gpgme-generate-dialog.c:84 pkcs11/pkcs11-generate.vala:60 +#: ssh/seahorse-ssh-generate.ui:147 +msgid "RSA" +msgstr "RSA" + +#: pgp/seahorse-gpgme-generate-dialog.c:85 +msgid "DSA ElGamal" +msgstr "DSA ElGamal" + +#: pgp/seahorse-gpgme-generate-dialog.c:101 +msgid "Couldn’t generate PGP key" +msgstr "無法產生 PGP 金鑰" + +#: pgp/seahorse-gpgme-generate-dialog.c:140 +msgid "Passphrase for New PGP Key" +msgstr "PGP 金鑰的密語" + +#: pgp/seahorse-gpgme-generate-dialog.c:141 +msgid "Enter the passphrase for your new key twice." +msgstr "輸入新金鑰的密語兩次。" + +#. Has line breaks because GtkLabel is completely broken WRT wrapping +#: pgp/seahorse-gpgme-generate-dialog.c:153 +msgid "" +"When creating a key we need to generate a lot of\n" +"random data and we need you to help. It’s a good\n" +"idea to perform some other action like typing on\n" +"the keyboard, moving the mouse, using applications.\n" +"This gives the system the random data that it needs." +msgstr "" +"當建立金鑰時我們需要產生大量\n" +"的亂數資料,而且需要您的協助。\n" +"要產生這些資料,您不妨在鍵盤\n" +"打字、移動滑鼠、使用應用程式等。\n" +"這樣就會讓系統取得所需亂數資料。" + +#: pgp/seahorse-gpgme-generate-dialog.c:158 pkcs11/pkcs11-generate.vala:216 +msgid "Generating key" +msgstr "正在產生金鑰" + +#: pgp/seahorse-gpgme-generate-dialog.c:182 +msgid "Name must be at least 5 characters long." +msgstr "名稱最少要有 5 個字元。" + +#: pgp/seahorse-gpgme-generate-dialog.ui:18 +msgid "New PGP key" +msgstr "新增 PGP 金鑰" + +#: pgp/seahorse-gpgme-generate-dialog.ui:43 +msgid "A PGP key allows you to encrypt email or files to other people." +msgstr "PGP 金鑰可以加密你要傳給別人的電子信件及檔案。" + +#: pgp/seahorse-gpgme-generate-dialog.ui:124 +#: pkcs11/seahorse-pkcs11-generate.ui:110 +msgid "_Advanced key options" +msgstr "進階金鑰選項(_A)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:138 +msgid "_Comment" +msgstr "附註(_C)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:169 ssh/seahorse-ssh-generate.ui:127 +msgid "Encryption _Type" +msgstr "加密類型(_T)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:199 ssh/seahorse-ssh-generate.ui:164 +msgid "Key _Strength (bits)" +msgstr "金鑰強度 (位元)(_S)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:229 +msgid "E_xpiration Date" +msgstr "過期日期(_X)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:251 +msgid "Ne_ver Expires" +msgstr "永不過期(_V)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:292 +msgid "C_reate" +msgstr "建立(_R)" + +#: pgp/seahorse-gpgme-generate-dialog.ui:299 +msgid "Generate a new key" +msgstr "產生新的金鑰" + +#: pgp/seahorse-gpgme-key-deleter.c:76 pgp/seahorse-gpgme-secret-deleter.c:59 +#: pkcs11/pkcs11-deleter.vala:35 pkcs11/pkcs11-key-deleter.vala:33 +#, c-format +msgid "Are you sure you want to permanently delete %s?" +msgstr "確定要永久地刪除 %s?" + +#: pgp/seahorse-gpgme-key-deleter.c:79 +#, c-format +msgid "Are you sure you want to permanently delete %d keys?" +msgid_plural "Are you sure you want to permanently delete %d keys?" +msgstr[0] "您確定要永久刪除 %d 個金鑰?" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "Wrong password" +msgstr "錯誤的密碼" + +#: pgp/seahorse-gpgme-key-op.c:347 +msgid "This was the third time you entered a wrong password. Please try again." +msgstr "這是您第三次輸入錯誤的密碼。請再試一次。" + +#: pgp/seahorse-gpgme-keyring.c:92 +#, c-format +msgid "Wrong passphrase." +msgstr "密語錯誤。" + +#: pgp/seahorse-gpgme-keyring.c:96 +#, c-format +msgid "Enter new passphrase for “%s”" +msgstr "輸入「%s」的新密語" + +#: pgp/seahorse-gpgme-keyring.c:98 +#, c-format +msgid "Enter passphrase for “%s”" +msgstr "輸入「%s」的密語" + +#: pgp/seahorse-gpgme-keyring.c:101 src/seahorse-change-passphrase.ui:28 +msgid "Enter new passphrase" +msgstr "輸入新的密語" + +#: pgp/seahorse-gpgme-keyring.c:103 +msgid "Enter passphrase" +msgstr "輸入密語" + +#: pgp/seahorse-gpgme-keyring.c:108 +msgid "Passphrase" +msgstr "密語" + +#: pgp/seahorse-gpgme-keyring.c:303 +#, c-format +msgid "Loaded %d key" +msgid_plural "Loaded %d keys" +msgstr[0] "已載入 %d 個金鑰" + +#: pgp/seahorse-gpgme-keyring.c:631 +msgid "" +"Invalid key data (missing UIDs). This may be due to a computer with a date " +"set in the future or a missing self-signature." +msgstr "" +"無效的金鑰資料(遺漏了 UID)。這可能是電腦的時間不準確,設為未來的時間;或是" +"遺漏了自身的簽章。" + +#: pgp/seahorse-gpgme-keyring.c:761 +msgid "GnuPG keys" +msgstr "GnuPG 金鑰" + +#: pgp/seahorse-gpgme-keyring.c:772 +msgid "GnuPG: default keyring directory" +msgstr "GnuPG:預設的鑰匙圈目錄" + +#: pgp/seahorse-gpgme-photos.c:72 +#, c-format +msgid "" +"The photo is too large\n" +"The recommended size for a photo on your key is %d × %d pixels." +msgstr "" +"相片過大\n" +"金鑰相片的建議大小為 %d × %d 像素。" + +#: pgp/seahorse-gpgme-photos.c:77 +msgid "_Don’t Resize" +msgstr "不要調整大小(_D)" + +#: pgp/seahorse-gpgme-photos.c:78 +msgid "_Resize" +msgstr "調整大小(_R)" + +#: pgp/seahorse-gpgme-photos.c:127 +#, c-format +msgid "" +"This is not a image file, or an unrecognized kind of image file. Try to use " +"a JPEG image." +msgstr "這不是圖形檔,或是無法辨別的圖形檔類型。請改用 JPEG 檔。" + +#: pgp/seahorse-gpgme-photos.c:223 +msgid "All image files" +msgstr "所有圖型檔" + +#: pgp/seahorse-gpgme-photos.c:236 +msgid "All JPEG files" +msgstr "所有 JPEG 檔案" + +#: pgp/seahorse-gpgme-photos.c:241 src/key-manager.vala:310 +msgid "All files" +msgstr "所有檔案" + +#: pgp/seahorse-gpgme-photos.c:262 +msgid "Choose Photo to Add to Key" +msgstr "選擇加入至金鑰的照片" + +#: pgp/seahorse-gpgme-photos.c:265 src/key-manager.vala:270 +msgid "_Open" +msgstr "開啟(_O)" + +#: pgp/seahorse-gpgme-photos.c:284 +msgid "Couldn’t prepare photo" +msgstr "無法準備相片" + +#: pgp/seahorse-gpgme-photos.c:294 pgp/seahorse-gpgme-photos.c:297 +msgid "Couldn’t add photo" +msgstr "無法加入相片" + +#: pgp/seahorse-gpgme-photos.c:295 +msgid "The file could not be loaded. It may be in an invalid format" +msgstr "檔案無法載入。可能無效的格式" + +#: pgp/seahorse-gpgme-photos.c:321 +msgid "Are you sure you want to remove the current photo from your key?" +msgstr "確定要將目前的門口照片永遠地刪除‘%s’的使用者 ID?" + +#: pgp/seahorse-gpgme-photos.c:334 +msgid "Couldn’t delete photo" +msgstr "無法刪除相片" + +#: pgp/seahorse-gpgme-revoke.c:72 +msgid "Couldn’t revoke subkey" +msgstr "無法撤銷子鑰" + +#: pgp/seahorse-gpgme-revoke.c:93 +#, c-format +msgid "Revoke: %s" +msgstr "撤銷:%s" + +#: pgp/seahorse-gpgme-revoke.c:104 +msgid "No reason" +msgstr "沒有原因" + +#: pgp/seahorse-gpgme-revoke.c:105 +msgid "No reason for revoking key" +msgstr "沒有撤銷金鑰的原因" + +#: pgp/seahorse-gpgme-revoke.c:111 +msgid "Compromised" +msgstr "已洩漏" + +#: pgp/seahorse-gpgme-revoke.c:112 +msgid "Key has been compromised" +msgstr "金鑰已洩漏" + +#: pgp/seahorse-gpgme-revoke.c:118 +msgid "Superseded" +msgstr "已代換" + +#: pgp/seahorse-gpgme-revoke.c:119 +msgid "Key has been superseded" +msgstr "金鑰已被代換" + +#: pgp/seahorse-gpgme-revoke.c:125 +msgid "Not Used" +msgstr "沒有使用" + +#: pgp/seahorse-gpgme-revoke.c:126 +msgid "Key is no longer used" +msgstr "金鑰不再使用" + +#: pgp/seahorse-gpgme-revoke.c:163 +#, c-format +msgid "" +"You are about to add %s as a revoker for %s. This operation cannot be " +"undone! Are you sure you want to continue?" +msgstr "您要給%2$s 加入 %1$s 作為撤銷者。這動作無法回復!確定要繼續?" + +#: pgp/seahorse-gpgme-revoke.c:175 +msgid "Couldn’t add revoker" +msgstr "無法加入撤銷者" + +#: pgp/seahorse-gpgme-secret-deleter.c:64 ssh/deleter.vala:43 +msgid "I understand that this secret key will be permanently deleted." +msgstr "我知道這個私鑰會被永久刪除。" + +#: pgp/seahorse-gpgme-sign-dialog.c:146 +#, c-format +msgid "" +"This key was already signed by\n" +"“%s”" +msgstr "" +"這個金鑰已經由以下人士簽署\n" +"「%s」" + +#: pgp/seahorse-gpgme-sign-dialog.c:151 +msgid "Couldn’t sign key" +msgstr "無法簽署金鑰" + +#. TODO: We should be giving an error message that allows them to +#. generate or import a key +#: pgp/seahorse-gpgme-sign-dialog.c:281 pgp/seahorse-signer.c:62 +msgid "No keys usable for signing" +msgstr "沒有金鑰能用作簽署" + +#: pgp/seahorse-gpgme-sign-dialog.c:282 +msgid "" +"You have no personal PGP keys that can be used to indicate your trust of " +"this key." +msgstr "您沒有個人 PGP 金鑰可以代表您信任此金鑰。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:6 +msgid "Sign Key" +msgstr "簽署金鑰" + +#: pgp/seahorse-gpgme-sign-dialog.ui:25 +msgid "By signing you indicate your trust that this key belongs to:" +msgstr "簽署代表您信任本金鑰是屬於:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:32 +msgid "Key Name" +msgstr "金鑰名稱" + +#: pgp/seahorse-gpgme-sign-dialog.ui:52 +msgid "How carefully have you checked this key?" +msgstr "您要多小心的檢查本金鑰?" + +#: pgp/seahorse-gpgme-sign-dialog.ui:77 +msgid "_Not at all" +msgstr "沒關係(_N)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:88 +msgid "_Casually" +msgstr "隨意(_C)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:100 +msgid "_Very Carefully" +msgstr "非常小心(_V)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:127 +msgid "" +"Not at all: means you believe the key is owned by the person who " +"claims to own it, but you could not or did not verify this to be a fact." +msgstr "" +"沒關係:代表您信任金鑰是由聲稱擁有它的人所擁有,但實際上您不能或是沒有" +"驗證它。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:140 +msgid "" +"Casually: means you have done a casual verification that the key is " +"owned by the person who claims to own it. For example, you could read the " +"key fingerprint to the owner over the phone." +msgstr "" +"隨意:代表您隨意地檢驗過金鑰是由聲稱擁有它的人擁有。例如,您可以透過電" +"話要求該人讀出金鑰的數位指紋。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:161 +msgid "" +"Very Carefully: Select this only if you are absolutely sure that this " +"key is genuine." +msgstr "非常小心:只有您在完全信任此金鑰為真時才選取此項。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:177 +msgid "" +"You could use a hard to forge photo identification (such as a passport) to " +"personally check that the name on the key is correct. You should have also " +"used email to check that the email address belongs to the owner." +msgstr "" +"您可以使用難以偽造的相片(像護照一樣)來檢查金鑰的名稱是否正確。您同時應以電" +"子信件來檢查該電子信箱位址是否屬於該人擁有。" + +#: pgp/seahorse-gpgme-sign-dialog.ui:206 +msgid "How others will see this signature:" +msgstr "其他人如何看到此簽章:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:222 +msgid "_Others may not see this signature" +msgstr "其他人可能無法看到此簽章(_O)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:248 +msgid "I can _revoke this signature at a later date." +msgstr "我可以在稍後時間撤銷此簽章(_R)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:282 +msgid "Sign key as:" +msgstr "簽署金鑰為:" + +#: pgp/seahorse-gpgme-sign-dialog.ui:300 +msgid "_Signer:" +msgstr "簽章者(_S)" + +#: pgp/seahorse-gpgme-sign-dialog.ui:335 +msgid "_Sign" +msgstr "簽署(_S)" + +#: pgp/seahorse-gpgme-subkey.c:89 +msgctxt "Algorithm" +msgid "Unknown" +msgstr "不明" + +#: pgp/seahorse-gpgme-subkey.c:91 +msgid "ElGamal" +msgstr "ElGamal" + +#: pgp/seahorse-hkp-source.c:530 +#, c-format +msgid "Search was not specific enough. Server “%s” found too many keys." +msgstr "搜尋範圍過寬。伺服器「%s」中找到太多金鑰。" + +#: pgp/seahorse-hkp-source.c:533 +#, c-format +msgid "Couldn’t communicate with server “%s”: %s" +msgstr "無法與伺服器「%s」聯絡:%s" + +#: pgp/seahorse-hkp-source.c:996 +msgid "HTTP Key Server" +msgstr "HTTP 金鑰伺服器" + +#: pgp/seahorse-keyserver-results.c:62 +#, c-format +msgid "Couldn’t import key: %s" +msgstr "無法匯入金鑰:%s" + +#: pgp/seahorse-keyserver-results.c:66 +msgid "Key import succeeded" +msgstr "已成功匯入金鑰" + +#: pgp/seahorse-keyserver-results.c:154 +msgid "Import" +msgstr "匯入" + +#: pgp/seahorse-keyserver-results.c:156 +msgid "Can’t import key" +msgstr "無法匯入金鑰" + +#: pgp/seahorse-keyserver-results.c:240 +msgid "Remote keys" +msgstr "遠端金鑰" + +#: pgp/seahorse-keyserver-results.c:242 +#, c-format +msgid "Remote keys containing “%s”" +msgstr "遠端金鑰包含「%s」" + +#: pgp/seahorse-keyserver-results.c:357 +msgid "The search for keys failed." +msgstr "搜尋金鑰失敗。" + +#: pgp/seahorse-keyserver-results.ui:16 +msgid "" +"Double click on a key to inspect it, or click the import button to import it " +"into your local keyring." +msgstr "按兩下金鑰檢查,或按下「匯入」按鈕以將金鑰匯入本機鑰匙圈。" + +#: pgp/seahorse-keyserver-search.ui:8 +msgid "Find Remote Keys" +msgstr "尋找遠端金鑰" + +#: pgp/seahorse-keyserver-search.ui:37 +msgid "" +"This will find keys for others on the Internet. These keys can then be " +"imported into your local key ring." +msgstr "" +"這樣會在網際網路上尋找給別人的金鑰。然後這些金鑰能匯入到您的本地鑰匙圈中。" + +#: pgp/seahorse-keyserver-search.ui:52 +msgid "_Search for keys containing: " +msgstr "搜尋金鑰資訊中含有(_S):" + +#: pgp/seahorse-keyserver-search.ui:74 +msgid "Where to search:" +msgstr "搜尋的地方:" + +#: pgp/seahorse-keyserver-search.ui:103 +msgid "Key Servers:" +msgstr "金鑰伺服器:" + +#: pgp/seahorse-keyserver-search.ui:117 +msgid "Shared Keys Near Me:" +msgstr "附近的共享金鑰:" + +#: pgp/seahorse-keyserver-search.ui:144 +msgid "_Search" +msgstr "搜尋(_S)" + +#: pgp/seahorse-keyserver-sync.c:54 +msgid "Couldn’t publish keys to server" +msgstr "無法發行金鑰到伺服器" + +#: pgp/seahorse-keyserver-sync.c:73 +#, c-format +msgid "Couldn’t retrieve keys from server: %s" +msgstr "無法從伺服器中取得金鑰:%s" + +#: pgp/seahorse-keyserver-sync.c:158 +#, c-format +msgid "%d key is selected for synchronizing" +msgid_plural "%d keys are selected for synchronizing" +msgstr[0] "選擇了 %d 個金鑰來進行同步" + +#: pgp/seahorse-keyserver-sync.c:237 +msgid "Synchronizing keys…" +msgstr "正在同步金鑰…" + +#: pgp/seahorse-keyserver-sync.ui:14 +msgid "Sync Keys" +msgstr "金鑰同步" + +#: pgp/seahorse-keyserver-sync.ui:52 +msgid "" +"This will publish the keys in your key ring so they’re available for others " +"to use. You’ll also get any changes others have made since you received " +"their keys." +msgstr "" +"這會發行您的金鑰到金鑰伺服器,給其他人能使用。同時他們給您的金鑰若有任何改變" +"時,您也可以取得。" + +#: pgp/seahorse-keyserver-sync.ui:65 +msgid "" +"This will retrieve any changes others have made since you received their " +"keys. No key server has been chosen for publishing, so your keys will not be " +"made available to others." +msgstr "" +"這樣他們給您的金鑰若有任何改變時,您也可以取得。沒有選取金鑰伺服器作發行,所" +"以其他人不會有您的金鑰。" + +#: pgp/seahorse-keyserver-sync.ui:115 +msgid "_Key Servers" +msgstr "金鑰伺服器(_K)" + +#: pgp/seahorse-keyserver-sync.ui:148 +msgid "_Sync" +msgstr "同步(_S)" + +#: pgp/seahorse-ldap-source.c:439 +#, c-format +msgid "Couldn’t communicate with %s: %s" +msgstr "無法與 %s 溝通:%s" + +#: pgp/seahorse-ldap-source.c:642 +#, c-format +msgid "Connecting to: %s" +msgstr "連接到:%s" + +#: pgp/seahorse-ldap-source.c:647 +#, c-format +msgid "Couldn’t resolve address: %s" +msgstr "無法解析位置:%s" + +#: pgp/seahorse-ldap-source.c:689 +#, c-format +msgid "Resolving server address: %s" +msgstr "正在解析伺服器位址:%s" + +#: pgp/seahorse-ldap-source.c:1366 +msgid "LDAP Key Server" +msgstr "LDAP 金鑰伺服器" + +#: pgp/seahorse-pgp-backend.c:187 +msgid "PGP Keys" +msgstr "PGP 金鑰" + +#: pgp/seahorse-pgp-backend.c:193 +msgid "PGP keys are for encrypting email or files" +msgstr "用來加密郵件或檔案的 PGP 金鑰" + +#: pgp/seahorse-pgp-key.c:172 +#, c-format +msgid "(and %d other)" +msgid_plural "(and %d others)" +msgstr[0] "(及其餘 %d 個)" + +#: pgp/seahorse-pgp-key.c:573 +msgid "Personal PGP key" +msgstr "個人 PGP 金鑰" + +#: pgp/seahorse-pgp-key.c:575 +msgid "PGP key" +msgstr "PGP 金鑰" + +#: pgp/seahorse-pgp-key-properties.c:249 +msgid "Couldn’t change primary user ID" +msgstr "無法變更主要的使用者 ID" + +#: pgp/seahorse-pgp-key-properties.c:284 +#, c-format +msgid "Are you sure you want to permanently delete the “%s” user ID?" +msgstr "確定要永久地刪除「%s」的使用者 ID?" + +#: pgp/seahorse-pgp-key-properties.c:293 +msgid "Couldn’t delete user ID" +msgstr "無法刪除使用者 ID" + +#. TRANSLATORS: [Unknown] signature name +#: pgp/seahorse-pgp-key-properties.c:369 pgp/seahorse-pgp-key-properties.c:1415 +msgid "[Unknown]" +msgstr "[不詳]" + +#. TRANSLATORS: The name and email set on the PGP key +#: pgp/seahorse-pgp-key-properties.c:465 pgp/seahorse-pgp-key-properties.c:1625 +msgid "Name/Email" +msgstr "名稱/電子信箱" + +#: pgp/seahorse-pgp-key-properties.c:472 +msgid "Signature ID" +msgstr "簽章 ID" + +#: pgp/seahorse-pgp-key-properties.c:578 +msgid "Couldn’t change primary photo" +msgstr "無法變更主要的相片" + +#: pgp/seahorse-pgp-key-properties.c:738 +msgid "Error changing password" +msgstr "變更密碼時發生錯誤" + +#. TRANSLATORS: (unknown) expiry date +#: pgp/seahorse-pgp-key-properties.c:784 +msgid "(unknown)" +msgstr "(不明)" + +#: pgp/seahorse-pgp-key-properties.c:789 +#, c-format +msgid "This key expired on: %s" +msgstr "此金鑰的過期於:%s" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:817 +#, c-format +msgid "%s — Public key" +msgstr "%s — 公鑰" + +#. Translators: the 1st part of the title is the owner's name +#: pgp/seahorse-pgp-key-properties.c:820 +#, c-format +msgid "%s — Private key" +msgstr "%s — 私鑰" + +#: pgp/seahorse-pgp-key-properties.c:1006 +#, c-format +msgid "Are you sure you want to permanently delete subkey %d of %s?" +msgstr "確定要永久地刪除 %2$s 的子鑰 %1$d?" + +#: pgp/seahorse-pgp-key-properties.c:1014 +msgid "Couldn’t delete subkey" +msgstr "無法刪除子鑰" + +#: pgp/seahorse-pgp-key-properties.c:1078 +#: pgp/seahorse-pgp-key-properties.c:1389 +msgid "Unable to change trust" +msgstr "無法變更信任度" + +#: pgp/seahorse-pgp-key-properties.c:1090 ssh/key-properties.vala:191 +msgid "Couldn’t export key" +msgstr "無法匯出金鑰" + +#: pgp/seahorse-pgp-key-properties.c:1239 +#: pgp/seahorse-pgp-key-properties.c:1323 +msgctxt "Expires" +msgid "Never" +msgstr "永不" + +#: pgp/seahorse-pgp-key-properties.c:1278 +msgid "ID" +msgstr "ID" + +#: pgp/seahorse-pgp-key-properties.c:1284 +msgid "Usage" +msgstr "用法" + +#: pgp/seahorse-pgp-key-properties.c:1287 +msgid "Created" +msgstr "建立日期" + +#: pgp/seahorse-pgp-key-properties.c:1290 +msgid "Expires" +msgstr "有效日期" + +#: pgp/seahorse-pgp-key-properties.c:1293 +msgid "Status" +msgstr "狀態" + +#: pgp/seahorse-pgp-key-properties.c:1296 +msgid "Strength" +msgstr "強度" + +#: pgp/seahorse-pgp-key-properties.c:1314 +msgid "Revoked" +msgstr "已撤銷" + +#: pgp/seahorse-pgp-key-properties.c:1316 +msgid "Expired" +msgstr "已過期" + +#: pgp/seahorse-pgp-key-properties.c:1318 +msgid "Disabled" +msgstr "已停用" + +#: pgp/seahorse-pgp-key-properties.c:1320 +msgid "Good" +msgstr "良好" + +#: pgp/seahorse-pgp-key-properties.c:1628 +#: pgp/seahorse-pgp-private-key-properties.ui:345 +#: pgp/seahorse-pgp-public-key-properties.ui:274 +msgid "Key ID" +msgstr "金鑰 ID" + +#: pgp/seahorse-pgp-key-properties.c:1771 +#, c-format +msgid "I trust signatures from “%s” on other keys" +msgstr "我信任來自「%s」其它金鑰的簽章" + +#: pgp/seahorse-pgp-key-properties.c:1778 +#, c-format +msgid "" +"If you believe that the person that owns this key is “%s”, sign this " +"key:" +msgstr "如果您信任擁有這個金鑰的人是「%s」,簽署此金鑰:" + +#: pgp/seahorse-pgp-key-properties.c:1785 +#, c-format +msgid "" +"If you no longer trust that “%s” owns this key, revoke your signature:" +msgstr "如果您不再信任此「%s」擁有這個金鑰,撤銷您的簽章:" + +#: pgp/seahorse-pgp-private-key-properties.ui:30 +msgid "Export _secret key" +msgstr "匯出私鑰(_E)" + +#: pgp/seahorse-pgp-private-key-properties.ui:34 +msgid "Export _public key" +msgstr "匯出公鑰(_P)" + +#: pgp/seahorse-pgp-private-key-properties.ui:68 +#: pgp/seahorse-pgp-public-key-properties.ui:61 +msgid "This key has been revoked" +msgstr "此金鑰已被撤銷" + +#: pgp/seahorse-pgp-private-key-properties.ui:78 +#: pgp/seahorse-pgp-public-key-properties.ui:73 +msgid "The owner of the key revoked the key. It can no longer be used." +msgstr "金鑰的擁有者已將金鑰撤銷。它不能繼續使用。" + +#: pgp/seahorse-pgp-private-key-properties.ui:106 +#: pgp/seahorse-pgp-public-key-properties.ui:104 +msgid "This key has expired" +msgstr "此金鑰的已經過期" + +#: pgp/seahorse-pgp-private-key-properties.ui:171 +msgid "Add a photo to this key" +msgstr "加入照片至本金鑰" + +#: pgp/seahorse-pgp-private-key-properties.ui:190 +msgid "Remove this photo from this key" +msgstr "將此相片從本金鑰中移除" + +#: pgp/seahorse-pgp-private-key-properties.ui:209 +msgid "Make this photo the primary photo" +msgstr "使本相片成為主要的相片" + +#: pgp/seahorse-pgp-private-key-properties.ui:234 +msgid "Go to previous photo" +msgstr "回上一幅相片" + +#: pgp/seahorse-pgp-private-key-properties.ui:253 +msgid "Go to next photo" +msgstr "往下一幅相片" + +#: pgp/seahorse-pgp-private-key-properties.ui:318 +#: pgp/seahorse-pgp-public-key-properties.ui:246 +msgid "Comment" +msgstr "附註" + +#: pgp/seahorse-pgp-private-key-properties.ui:375 +#: ssh/seahorse-ssh-key-properties.ui:346 +msgid "Change _Passphrase" +msgstr "變更密語(_P)" + +#: pgp/seahorse-pgp-private-key-properties.ui:391 +#: pgp/seahorse-pgp-public-key-properties.ui:347 +msgid "Owner" +msgstr "擁有者" + +#: pgp/seahorse-pgp-private-key-properties.ui:404 +msgid "Key Names and Signatures" +msgstr "金鑰名稱及簽章" + +#: pgp/seahorse-pgp-private-key-properties.ui:442 +msgid "Primary" +msgstr "主要" + +#: pgp/seahorse-pgp-private-key-properties.ui:472 pgp/seahorse-pgp-subkey.c:162 +msgid "Sign" +msgstr "簽署" + +#. Translators: This text refers to deleting an item from its type's backing store +#: pgp/seahorse-pgp-private-key-properties.ui:502 +#: pkcs11/seahorse-pkcs11-properties.ui:22 +#: src/seahorse-key-manager-widgets.ui:18 +msgid "Delete" +msgstr "刪除" + +#. Add another name to the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:532 +msgid "_Add Name" +msgstr "加入名稱(_A)" + +#: pgp/seahorse-pgp-private-key-properties.ui:562 +#: pgp/seahorse-pgp-private-key-properties.ui:1020 +msgid "Revoke" +msgstr "撤銷" + +#. List of names and signatures on the PGP key. +#: pgp/seahorse-pgp-private-key-properties.ui:598 +msgid "Names and Signatures" +msgstr "名稱及簽章" + +#: pgp/seahorse-pgp-private-key-properties.ui:635 +#: pgp/seahorse-pgp-public-key-properties.ui:623 +msgid "Key ID:" +msgstr "金鑰 ID:" + +#: pgp/seahorse-pgp-private-key-properties.ui:660 +#: pgp/seahorse-pgp-public-key-properties.ui:649 +msgid "Type:" +msgstr "類型:" + +#: pgp/seahorse-pgp-private-key-properties.ui:685 +#: pgp/seahorse-pgp-public-key-properties.ui:675 +msgid "Strength:" +msgstr "強度:" + +#: pgp/seahorse-pgp-private-key-properties.ui:710 +msgid "Technical Details" +msgstr "技術資料" + +#: pgp/seahorse-pgp-private-key-properties.ui:738 +#: ssh/seahorse-ssh-key-properties.ui:173 +msgid "Fingerprint" +msgstr "指紋" + +#: pgp/seahorse-pgp-private-key-properties.ui:770 +#: pgp/seahorse-pgp-public-key-properties.ui:769 +msgid "Created:" +msgstr "建立日期:" + +#: pgp/seahorse-pgp-private-key-properties.ui:794 +#: pgp/seahorse-pgp-public-key-properties.ui:794 +msgid "Expires:" +msgstr "有效日期:" + +#: pgp/seahorse-pgp-private-key-properties.ui:840 +msgid "Dates" +msgstr "日期" + +#: pgp/seahorse-pgp-private-key-properties.ui:863 +msgid "Override Owner _Trust:" +msgstr "取締擁有者的信任度(_T):" + +#: pgp/seahorse-pgp-private-key-properties.ui:890 +msgid "_Export to file" +msgstr "匯出為檔案(_E)" + +#: pgp/seahorse-pgp-private-key-properties.ui:906 +msgid "Actions" +msgstr "動作" + +#: pgp/seahorse-pgp-private-key-properties.ui:990 +msgid "Expire" +msgstr "有效日期" + +#: pgp/seahorse-pgp-private-key-properties.ui:1064 +#: pgp/seahorse-pgp-public-key-properties.ui:899 +msgid "_Subkeys" +msgstr "子鑰(_S)" + +#: pgp/seahorse-pgp-public-key-properties.ui:17 +msgctxt "Validity" +msgid "Marginally" +msgstr "勉強的" + +#: pgp/seahorse-pgp-public-key-properties.ui:20 +msgctxt "Validity" +msgid "Fully" +msgstr "完全的" + +#: pgp/seahorse-pgp-public-key-properties.ui:23 +msgctxt "Validity" +msgid "Ultimately" +msgstr "徹底的" + +#. Names set on the PGP key. +#: pgp/seahorse-pgp-public-key-properties.ui:326 +msgid "_Other Names:" +msgstr "其他名稱(_O):" + +#: pgp/seahorse-pgp-public-key-properties.ui:369 +msgid "Your trust of this key" +msgstr "您信任此金鑰" + +#: pgp/seahorse-pgp-public-key-properties.ui:382 +msgid "Your trust is manually specified on the Details tab." +msgstr "您的信任度是在詳細資料中自行設定。" + +#: pgp/seahorse-pgp-public-key-properties.ui:455 +msgid "_Sign this Key" +msgstr "簽署此金鑰(_S)" + +#: pgp/seahorse-pgp-public-key-properties.ui:504 +msgid "_Revoke Signature" +msgstr "撤銷簽章(_R)" + +#: pgp/seahorse-pgp-public-key-properties.ui:526 +msgid "_People who have signed this key:" +msgstr "誰簽署此金鑰(_P):" + +#: pgp/seahorse-pgp-public-key-properties.ui:551 +msgid "_Only display the signatures of people I trust" +msgstr "只顯示我信任的人的簽章(_O)" + +#: pgp/seahorse-pgp-public-key-properties.ui:570 +msgid "Trust" +msgstr "信任" + +#: pgp/seahorse-pgp-public-key-properties.ui:604 +msgid "Technical Details:" +msgstr "技術資料:" + +#: pgp/seahorse-pgp-public-key-properties.ui:710 +msgid "Fingerprint:" +msgstr "指紋:" + +#: pgp/seahorse-pgp-public-key-properties.ui:750 +msgid "Dates:" +msgstr "日期:" + +#: pgp/seahorse-pgp-public-key-properties.ui:828 +msgid "Indicate trust:" +msgstr "指示信任度:" + +#: pgp/seahorse-pgp-public-key-properties.ui:845 +msgid "You _trust the owner:" +msgstr "您信任擁有者(_T):" + +#: pgp/seahorse-pgp-subkey.c:161 +msgid "Encrypt" +msgstr "加密" + +#: pgp/seahorse-pgp-subkey.c:163 +msgid "Certify" +msgstr "檢驗" + +#: pgp/seahorse-pgp-subkey.c:164 +msgid "Authenticate" +msgstr "核對" + +#: pgp/seahorse-pgp-subkey.c:313 +msgid "Key" +msgstr "金鑰" + +#: pgp/seahorse-pgp-subkey.c:318 +#, c-format +msgid "Subkey %d of %s" +msgstr "%2$s 的子鑰 %1$d" + +#: pgp/seahorse-revoke.ui:35 +msgid "Reason for revoking the key" +msgstr "撤銷金鑰的原因" + +#: pgp/seahorse-revoke.ui:40 +msgid "_Reason:" +msgstr "原因(_R):" + +#: pgp/seahorse-revoke.ui:70 +msgid "Optional description of revocation" +msgstr "撤銷的描述(非必要)" + +#: pgp/seahorse-revoke.ui:129 +msgid "Revoke key" +msgstr "撤銷金鑰" + +#: pgp/seahorse-revoke.ui:154 +msgid "Re_voke" +msgstr "撤銷(_V)" + +#: pgp/seahorse-signer.c:63 +msgid "" +"You have no personal PGP keys that can be used to sign a document or message." +msgstr "您沒有 PGP 金鑰可用作簽署文件或訊息。" + +#: pgp/seahorse-signer.ui:7 +msgid "Choose Signing Key" +msgstr "選擇簽署金鑰" + +#: pgp/seahorse-signer.ui:25 +msgid "_Sign message with key:" +msgstr "簽署信息的金鑰(_S):" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Exporting data" +msgstr "匯出資料" + +#: pgp/seahorse-transfer.c:234 pgp/seahorse-transfer.c:277 +msgid "Retrieving data" +msgstr "取回資料" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Importing data" +msgstr "輸入資料" + +#: pgp/seahorse-transfer.c:237 pgp/seahorse-transfer.c:280 +msgid "Sending data" +msgstr "傳送資料" + +#: pgp/seahorse-unknown.c:59 +msgid "Unavailable" +msgstr "不存在" + +#: pkcs11/certificate-der-exporter.vala:43 pkcs11/pkcs11-certificate.vala:98 +msgid "Certificate" +msgstr "憑證" + +#: pkcs11/certificate-der-exporter.vala:57 +msgid "Certificates (DER encoded)" +msgstr "憑證 (DER 編碼)" + +#: pkcs11/pkcs11-certificate.vala:94 +msgid "Personal certificate and key" +msgstr "個人憑證與金鑰" + +#: pkcs11/pkcs11-certificate.vala:96 +msgid "Personal certificate" +msgstr "個人憑證" + +#: pkcs11/pkcs11-deleter.vala:37 +#, c-format +msgid "Are you sure you want to permanently delete %d certificate?" +msgid_plural "Are you sure you want to permanently delete %d certificates?" +msgstr[0] "您確定要永久刪除 %d 個憑證?" + +#: pkcs11/pkcs11-generate.vala:229 +msgid "Couldn’t generate private key" +msgstr "無法產生私密金鑰" + +#: pkcs11/pkcs11-key-deleter.vala:34 +msgid "I understand that this key will be permanently deleted." +msgstr "我知道這個金鑰會被永久刪除。" + +#: pkcs11/pkcs11-private-key.vala:61 +msgid "Unnamed private key" +msgstr "未命名的私密金鑰" + +#: pkcs11/pkcs11-private-key.vala:70 src/seahorse-key-manager.ui:227 +msgid "Private key" +msgstr "私密金鑰" + +#: pkcs11/pkcs11-properties.vala:98 +msgid "Unnamed" +msgstr "未命名的" + +#: pkcs11/pkcs11-properties.vala:130 +msgid "Failed to export certificate" +msgstr "無法匯出憑證" + +#: pkcs11/pkcs11-properties.vala:154 src/sidebar.vala:467 +msgid "Couldn’t delete" +msgstr "無法刪除" + +#: pkcs11/pkcs11-request.vala:56 pkcs11/seahorse-pkcs11-generate.ui:193 +msgid "Create" +msgstr "建立" + +#: pkcs11/pkcs11-request.vala:87 +msgid "Couldn’t create certificate request" +msgstr "無法建立憑證申請" + +#: pkcs11/pkcs11-request.vala:104 +msgid "Save certificate request" +msgstr "儲存憑證申請" + +#: pkcs11/pkcs11-request.vala:106 +msgid "_Save" +msgstr "儲存(_S)" + +#: pkcs11/pkcs11-request.vala:111 +msgid "Certificate request" +msgstr "憑證申請" + +#: pkcs11/pkcs11-request.vala:119 +msgid "PEM encoded request" +msgstr "PEM 編碼的申請" + +#: pkcs11/pkcs11-request.vala:147 +msgid "Couldn’t save certificate request" +msgstr "無法儲存憑證申請" + +#: pkcs11/pkcs11-token.vala:74 +msgctxt "Label" +msgid "Unknown" +msgstr "不明" + +#: pkcs11/seahorse-pkcs11-backend.c:213 +msgid "X.509 certificates and related keys" +msgstr "X.509 憑證和相關金鑰" + +#: pkcs11/seahorse-pkcs11-generate.ui:6 +msgid "New private key" +msgstr "新增私密金鑰" + +#: pkcs11/seahorse-pkcs11-generate.ui:39 +msgid "Create a new private key" +msgstr "建立新的私密金鑰" + +#: pkcs11/seahorse-pkcs11-generate.ui:58 +msgid "Label:" +msgstr "標籤:" + +#: pkcs11/seahorse-pkcs11-generate.ui:71 +msgid "Stored at:" +msgstr "儲存在:" + +#: pkcs11/seahorse-pkcs11-generate.ui:128 +msgid "Key _Type:" +msgstr "金鑰類型(_T):" + +#: pkcs11/seahorse-pkcs11-generate.ui:151 +msgid "Key _Strength (bits):" +msgstr "金鑰強度[位元](_S):" + +#: pkcs11/seahorse-pkcs11-properties.ui:23 +msgid "Delete this certificate or key" +msgstr "刪除這個憑證或金鑰" + +#: pkcs11/seahorse-pkcs11-properties.ui:34 +msgid "Export the certificate" +msgstr "匯出憑證" + +#: pkcs11/seahorse-pkcs11-properties.ui:41 +msgid "Request Certificate" +msgstr "申請憑證" + +#: pkcs11/seahorse-pkcs11-properties.ui:42 +msgid "Create a certificate request file for this key" +msgstr "為這個金鑰建立憑證申請" + +#: pkcs11/seahorse-pkcs11-request.ui:34 +msgid "Create a certificate request file." +msgstr "建立憑證申請檔案。" + +#: pkcs11/seahorse-pkcs11-request.ui:52 +msgid "The common name (CN) placed in the certificate request." +msgstr "放在憑證申請中的一般名稱 (CN)。" + +#: pkcs11/seahorse-pkcs11-request.ui:54 +msgid "Name (CN):" +msgstr "一般名稱 (CN):" + +#: src/application.vala:38 +msgid "Contributions:" +msgstr "貢獻:" + +#: src/application.vala:65 +msgid "Version of this application" +msgstr "這個應用程式的版本" + +#: src/application.vala:171 +msgid "translator-credits" +msgstr "" +"如對翻譯有任何意見,請送一封電子郵件給\n" +"以下地址,GNOME 翻譯團隊會盡快回覆您:\n" +"zh-l10n@lists.linux.org.tw\n" +"\n" +"Woodman Tuen , 2005-07" + +#: src/application.vala:174 +msgid "Seahorse Project Homepage" +msgstr "Seahorse 專案網頁" + +#: src/import-dialog.vala:30 +msgid "Data to be imported" +msgstr "要匯入的資料" + +#: src/import-dialog.vala:38 +msgid "_Import" +msgstr "匯入(_I)" + +#: src/import-dialog.vala:74 +msgid "Import failed" +msgstr "匯入失敗" + +#. The prompt +#: src/key-manager.vala:268 ssh/operation.vala:324 +msgid "Import Key" +msgstr "匯入金鑰" + +#. TODO: This should come from libgcr somehow +#: src/key-manager.vala:276 +msgid "All key files" +msgstr "所有金鑰檔" + +#: src/key-manager.vala:341 +msgid "Dropped text" +msgstr "拖放的文字" + +#: src/key-manager.vala:369 +msgid "Clipboard text" +msgstr "剪貼簿文字" + +#: src/key-manager.vala:497 +msgid "Couldn’t unlock keyring" +msgstr "無法解鎖鑰匙圈" + +#: src/seahorse-change-passphrase.ui:8 +msgid "Change Passphrase" +msgstr "變更密語" + +#: src/seahorse-change-passphrase.ui:43 +msgid "New _Passphrase:" +msgstr "新的密語(_P):" + +#: src/seahorse-change-passphrase.ui:56 +msgid "Confirm new passphrase" +msgstr "確認新的密語" + +#: src/seahorse-change-passphrase.ui:73 +msgid "Con_firm Passphrase:" +msgstr "確認密語(_F):" + +#: src/seahorse-key-manager.ui:7 +msgid "_Find remote keys…" +msgstr "尋找遠端金鑰(_F)…" + +#: src/seahorse-key-manager.ui:12 +msgid "_Sync and publish keys…" +msgstr "同步及發行金鑰(_S)…" + +#: src/seahorse-key-manager.ui:19 +msgid "_Preferences" +msgstr "偏好設定(_P)" + +#: src/seahorse-key-manager.ui:24 +msgid "_Help" +msgstr "求助(_H)" + +#: src/seahorse-key-manager.ui:28 +msgid "_Keyboard Shortcuts" +msgstr "鍵盤快捷鍵(_K)" + +#: src/seahorse-key-manager.ui:32 +msgid "_About Passwords and Keys" +msgstr "關於密碼及加密金鑰(_A)" + +#: src/seahorse-key-manager.ui:40 +msgid "Filter items:" +msgstr "過濾項目:" + +#: src/seahorse-key-manager.ui:42 +msgid "Show p_ersonal" +msgstr "顯示個人(_E)" + +#: src/seahorse-key-manager.ui:47 +msgid "Show _trusted" +msgstr "顯示信任(_T)" + +#: src/seahorse-key-manager.ui:52 +msgid "Show an_y" +msgstr "檢視所有(_Y)" + +#: src/seahorse-key-manager.ui:91 +msgid "Secure Shell key" +msgstr "SSH 金鑰" + +#: src/seahorse-key-manager.ui:98 +msgid "Used to access other computers" +msgstr "用來存取其它電腦" + +#: src/seahorse-key-manager.ui:125 +msgid "GPG key" +msgstr "GPG 金鑰" + +#: src/seahorse-key-manager.ui:132 +msgid "Used to encrypt emails and files" +msgstr "用來加密郵件及檔案" + +#: src/seahorse-key-manager.ui:159 +msgid "Password keyring" +msgstr "密碼鑰匙圈" + +#: src/seahorse-key-manager.ui:166 +msgid "Used to store application and network passwords" +msgstr "用來儲存應用程式和網路的密碼" + +#: src/seahorse-key-manager.ui:200 +msgid "Safely store a password or secret" +msgstr "安全地存放密碼或密碼憑證" + +#: src/seahorse-key-manager.ui:234 +msgid "Used to request a certificate" +msgstr "用來申請憑證" + +#: src/seahorse-key-manager.ui:260 +msgid "Import from file…" +msgstr "從檔案匯入…" + +#: src/seahorse-key-manager.ui:297 +msgid "Add a new key or item" +msgstr "加入新的金鑰或項目" + +#: src/seahorse-key-manager.ui:367 +msgid "Back" +msgstr "返回" + +#: src/seahorse-key-manager.ui:402 +msgid "Search for a key or password" +msgstr "尋找金鑰或密碼" + +#: src/seahorse-key-manager.ui:466 +msgid "Filter" +msgstr "過濾條件" + +#: src/seahorse-key-manager.ui:532 +msgid "This collection seems to be empty" +msgstr "收藏看似是空的" + +#: src/seahorse-key-manager.ui:564 +msgid "Keyring is locked" +msgstr "鑰匙圈已鎖定" + +#: src/seahorse-key-manager.ui:574 +msgid "Unlock" +msgstr "解鎖" + +#. Translators: This is only relevant for "Password" items +#: src/seahorse-key-manager-widgets.ui:7 +msgid "Copy secret" +msgstr "複製密碼憑證" + +#: src/seahorse-key-manager-widgets.ui:12 +msgid "Export…" +msgstr "匯出…" + +#: src/seahorse-key-manager-widgets.ui:25 +msgid "Properties" +msgstr "屬性" + +#: src/seahorse-key-manager-widgets.ui:29 +msgid "Configure Key for Secure Shell…" +msgstr "正在設定 SSH 金鑰…" + +#. Lock and unlock items +#: src/sidebar.vala:380 +msgid "_Lock" +msgstr "鎖定(_L)" + +#: src/sidebar.vala:385 +msgid "_Unlock" +msgstr "解鎖(_U)" + +#. Properties item +#: src/sidebar.vala:402 +msgid "_Properties" +msgstr "屬性(_P)" + +#: src/sidebar.vala:432 +msgid "Couldn’t lock" +msgstr "無法鎖定" + +#: ssh/backend.vala:27 +msgid "Secure Shell" +msgstr "安全外表殼 (Secure Shell)" + +#: ssh/backend.vala:28 +msgid "Keys used to connect securely to other computers" +msgstr "用來安全的連接其他電腦的金鑰" + +#: ssh/deleter.vala:41 ssh/deleter.vala:46 +#, c-format +msgid "Are you sure you want to delete the secure shell key “%s”?" +msgstr "確定要刪除 SSH 金錀「%s」?" + +#: ssh/deleter.vala:51 +#, c-format +msgid "Are you sure you want to delete %u secure shell key?" +msgid_plural "Are you sure you want to delete %u secure shell keys?" +msgstr[0] "您確定要刪除 %u 個 SSH 金鑰?" + +#: ssh/exporter.vala:52 +msgid "Secret SSH keys" +msgstr "秘密 SSH 金鑰" + +#: ssh/exporter.vala:56 +msgid "Public SSH keys" +msgstr "公開 SSH 金鑰" + +#: ssh/exporter.vala:87 +msgid "SSH Key" +msgstr "SSH 金鑰" + +#: ssh/exporter.vala:125 +msgid "No public key file is available for this key." +msgstr "這個金鑰沒有可用的公開金鑰。" + +#: ssh/generate.vala:94 +msgid "Couldn’t load newly generated Secure Shell key" +msgstr "無法載入新產生的 SSH 金鑰" + +#: ssh/generate.vala:98 +msgid "Couldn’t generate Secure Shell key" +msgstr "無法產生 SSH 金鑰" + +#: ssh/generate.vala:101 +msgid "Creating Secure Shell Key" +msgstr "正在產生 SSH 金鑰" + +#: ssh/key-length-chooser.vala:92 +msgid "1024 bits" +msgstr "1024 位元" + +#: ssh/key-length-chooser.vala:96 +msgid "256 bits" +msgstr "256 位元" + +#: ssh/key-length-chooser.vala:100 +msgid "Unknown key type!" +msgstr "未知金鑰類型!" + +#: ssh/key-properties.vala:80 +msgid "Unknown type" +msgstr "未知類型" + +#: ssh/key-properties.vala:105 +msgid "Couldn’t rename key." +msgstr "無法重新命名金鑰。" + +#: ssh/key-properties.vala:131 +msgid "Couldn’t change authorization for key." +msgstr "無法變更金鑰的核對。" + +#: ssh/key-properties.vala:147 +msgid "Couldn’t change passphrase for key." +msgstr "無法變更金鑰的密語。" + +#: ssh/key-properties.vala:171 +msgid "Error deleting the SSH key." +msgstr "刪除 SSH 金鑰時發生錯誤。" + +#: ssh/key.vala:52 +msgid "Personal SSH key" +msgstr "個人的 SSH 金鑰" + +#: ssh/key.vala:52 +msgid "SSH key" +msgstr "SSH 金鑰" + +#. No names when not even the fingerpint loaded +#: ssh/key.vala:122 +msgid "(Unreadable Secure Shell Key)" +msgstr "(不能讀取的 SSH 金鑰)" + +#. No comment, but loaded +#: ssh/key.vala:125 ssh/key.vala:129 +msgid "Secure Shell Key" +msgstr "SSH 金鑰" + +#: ssh/operation.vala:219 +msgid "Remote Host Password" +msgstr "遠端主機密碼" + +#: ssh/operation.vala:262 +msgid "Enter Key Passphrase" +msgstr "輸入金鑰密語" + +#: ssh/operation.vala:288 +msgid "Passphrase for New Secure Shell Key" +msgstr "新的 SSH 金鑰的密語" + +#. No filename specified, make one up +#. Add the comment to the output +#: ssh/operation.vala:321 +#, c-format +msgid "Importing key: %s" +msgstr "匯入金鑰:%s" + +#: ssh/operation.vala:321 +msgid "Importing key. Enter passphrase" +msgstr "正在匯入金鑰,請輸入密語" + +#: ssh/seahorse-ssh-askpass.c:78 ssh/seahorse-ssh-askpass.c:86 +msgid "Enter your Secure Shell passphrase:" +msgstr "輸入您的 SSH 密語:" + +#: ssh/seahorse-ssh-askpass.c:100 +msgid "Old Key Passphrase" +msgstr "舊金鑰密語" + +#: ssh/seahorse-ssh-askpass.c:101 +#, c-format +msgid "Enter the old passphrase for: %s" +msgstr "輸入 %s 的舊密語" + +#: ssh/seahorse-ssh-askpass.c:105 ssh/seahorse-ssh-askpass.c:110 +msgid "New Key Passphrase" +msgstr "新的金鑰密語" + +#: ssh/seahorse-ssh-askpass.c:106 +#, c-format +msgid "Enter the new passphrase for: %s" +msgstr "輸入 %s 的新密語" + +#: ssh/seahorse-ssh-askpass.c:111 +#, c-format +msgid "Enter the new passphrase again: %s" +msgstr "請再次輸入新密語:%s" + +#: ssh/seahorse-ssh-generate.ui:8 +msgid "New Secure Shell Key" +msgstr "新增 SSH 金鑰" + +#: ssh/seahorse-ssh-generate.ui:55 +msgid "A Secure Shell (SSH) key lets you connect securely to other computers." +msgstr "SSH (Secure Shell) 金鑰能讓您安全的連接其他的電腦。" + +#: ssh/seahorse-ssh-generate.ui:78 +msgid "_Description" +msgstr "描述(_D)" + +#: ssh/seahorse-ssh-generate.ui:111 +msgid "Your email address, or a reminder of what this key is for." +msgstr "您的電子郵件位址,及其他提示這金鑰要來做什麼。" + +#: ssh/seahorse-ssh-generate.ui:148 +msgid "DSA" +msgstr "DSA" + +#: ssh/seahorse-ssh-generate.ui:149 +msgid "ECDSA" +msgstr "ECDSA" + +#: ssh/seahorse-ssh-generate.ui:150 +msgid "ED25519" +msgstr "ED25519" + +#: ssh/seahorse-ssh-generate.ui:195 +msgid "" +"If there is a computer you want to use this key with, you can set up that " +"computer to recognize your new key." +msgstr "如果有您想使用本金鑰的電腦,現在可以設定電腦認識您的金鑰。" + +#: ssh/seahorse-ssh-generate.ui:221 +msgid "_Just Create Key" +msgstr "只是建立金鑰(_J)" + +#: ssh/seahorse-ssh-generate.ui:235 +msgid "_Create and Set Up" +msgstr "建立及設置(_C)" + +#: ssh/seahorse-ssh-key-properties.ui:15 +msgid "SSH Key Properties" +msgstr "SSH 金鑰屬性" + +#. Name of key, often a persons name +#: ssh/seahorse-ssh-key-properties.ui:54 +msgctxt "name-of-ssh-key" +msgid "Name" +msgstr "名稱" + +#: ssh/seahorse-ssh-key-properties.ui:87 +msgid "Algorithm" +msgstr "演算法" + +#: ssh/seahorse-ssh-key-properties.ui:114 +msgid "Key Length" +msgstr "金鑰長度" + +#: ssh/seahorse-ssh-key-properties.ui:141 +msgid "Location" +msgstr "位置" + +#: ssh/seahorse-ssh-key-properties.ui:228 +msgid "Public Key" +msgstr "公鑰" + +#: ssh/seahorse-ssh-key-properties.ui:243 +msgid "Copy public key to clipboard" +msgstr "複製公鑰到剪貼簿" + +#: ssh/seahorse-ssh-key-properties.ui:272 +msgid "Remote Access" +msgstr "遠端存取" + +#: ssh/seahorse-ssh-key-properties.ui:285 +msgid "Allows accessing this computer remotely" +msgstr "允許遠端存取此電腦" + +#: ssh/seahorse-ssh-key-properties.ui:332 +msgid "_Export" +msgstr "匯出(_E)" + +#: ssh/seahorse-ssh-key-properties.ui:362 +msgid "_Delete SSH Key" +msgstr "刪除 SSH 金鑰(_D)" + +#: ssh/seahorse-ssh-upload.ui:5 +msgid "Set Up Computer for SSH Connection" +msgstr "設定電腦的 SSH 連線" + +#: ssh/seahorse-ssh-upload.ui:32 +msgid "" +"To use your Secure Shell key with another computer that uses SSH, you must " +"already have a login account on that computer." +msgstr "要在其他的電腦使用您的 SSH 金鑰,您需要有該電腦的登入帳號。" + +#: ssh/seahorse-ssh-upload.ui:48 +msgid "_Server address:" +msgstr "伺服器位址(_S):" + +#: ssh/seahorse-ssh-upload.ui:77 +msgid "eg: fileserver.example.com:port" +msgstr "例如:fileserver.example.com:port" + +#: ssh/seahorse-ssh-upload.ui:93 +msgid "_Login name:" +msgstr "登入名稱(_L):" + +#: ssh/seahorse-ssh-upload.ui:129 +msgid "Set Up" +msgstr "設定" + +#: ssh/source.vala:46 +msgid "OpenSSH keys" +msgstr "OpenSSH 金鑰" + +#: ssh/source.vala:51 +#, c-format +msgid "OpenSSH: %s" +msgstr "OpenSSH:%s" + +#: ssh/source.vala:55 +#, c-format +msgid "openssh://%s" +msgstr "openssh://%s" + +#: ssh/source.vala:250 +msgid "No private key file is available for this key." +msgstr "這個金鑰沒有可用的私密金鑰。" + +#: ssh/upload.vala:67 +msgid "Couldn’t configure Secure Shell keys on remote computer." +msgstr "無法設定遠端電腦的 SSH 金鑰。" + +#: ssh/upload.vala:71 +msgid "Configuring Secure Shell Keys…" +msgstr "正在設定 SSH 金鑰…" + +#~ msgid "" +#~ "Seahorse is a GNOME application for managing encryption keys. It also " +#~ "integrates with nautilus, gedit and other places for encryption " +#~ "operations." +#~ msgstr "" +#~ "Seahorse 是管理加密金鑰的 GNOME 應用程式。它也與 nautilus、gedit 與其他地" +#~ "方整合提供加密操作。" + +#~ msgid "Couldn’t add subkey" +#~ msgstr "無法加入子鑰" + +#~ msgid "_Combine all keyrings" +#~ msgstr "合併所有鑰匙圈(_C)" + +#~ msgid "Encryption _Type:" +#~ msgstr "加密類型(_T):" + +#~ msgid "Keyring is unlocked" +#~ msgstr "鑰匙圈已解鎖" + +#~ msgid "Lock" +#~ msgstr "鎖定" + +#~ msgid "_File" +#~ msgstr "檔案(_F)" + +#~ msgid "_Edit" +#~ msgstr "編輯(_E)" + +#~ msgid "Delete selected items" +#~ msgstr "刪除選取的項目" + +#~ msgid "Show the properties of this item" +#~ msgstr "顯示這個項目的屬性" + +#~ msgid "Show the properties of this keyring" +#~ msgstr "顯示這個鑰匙圈的屬性" + +#~ msgid "Prefere_nces" +#~ msgstr "偏好設定(_N)" + +#~ msgid "Change preferences for this program" +#~ msgstr "更改本程式的偏好設定" + +#~ msgid "_View" +#~ msgstr "檢視(_V)" + +#~ msgid "_About" +#~ msgstr "關於(_A)" + +#~ msgid "About this program" +#~ msgstr "關於本程式" + +#~ msgid "_Contents" +#~ msgstr "內容(_C)" + +#~ msgid "Show Seahorse help" +#~ msgstr "顯示 Seahorse 的說明文件" + +#~ msgid "seahorse" +#~ msgstr "seahorse" + +#~ msgid "New password keyring" +#~ msgstr "新增密碼鑰匙圈" + +#~ msgid "New password…" +#~ msgstr "新密碼…" + +#~ msgid "Applications usually store new passwords in the default keyring." +#~ msgstr "應用程式通常會把新密碼儲存在預設鑰匙圈裡。" + +#~ msgid "Change the unlock password of the password storage keyring" +#~ msgstr "改變密碼儲存鑰匙圈的解鎖密碼" + +#~ msgid "_Show Password" +#~ msgstr "顯示密碼(_S)" + +#~ msgid "OK" +#~ msgstr "確定" + +#~ msgid "PGP Key" +#~ msgstr "PGP 金鑰" + +#~ msgid "Importing keys from key servers" +#~ msgstr "從金鑰伺服器匯入金鑰" + +#~ msgid "_Remote" +#~ msgstr "遠端(_R)" + +#~ msgid "Close this window" +#~ msgstr "關閉本視窗" + +#~ msgid "Import selected keys to local key ring" +#~ msgstr "匯入已選的金鑰到本機鑰匙圈" + +#~ msgid "Publish and/or synchronize your keys with those online." +#~ msgstr "在線時發行及/或將金鑰同步" + +#~ msgid "Marginal" +#~ msgstr "勉強" + +#~ msgid "Full" +#~ msgstr "完全" + +#~ msgid "Ultimate" +#~ msgstr "徹底" + +#~ msgid "Photo " +#~ msgstr "相片" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "名稱:" + +#~ msgid "Email:" +#~ msgstr "電子郵件:" + +#~ msgid "Decrypt files and email sent to you." +#~ msgstr "將傳給您的檔案及電郵解密。" + +#~ msgid "Private PGP Key" +#~ msgstr "私人 PGP 金鑰" + +#~ msgid "Encrypt files and email to the key’s owner" +#~ msgstr "加密給金鑰擁有者的檔案及電郵" + +#~ msgid "- System Settings" +#~ msgstr "- 系統設定值" + +#~ msgid "Don't display a window" +#~ msgstr "不要顯示視窗" + +#~ msgid "_New" +#~ msgstr "新增(_N)" + +#~ msgid "Close this program" +#~ msgstr "關閉本程式" + +#~ msgid "_New…" +#~ msgstr "新增(_N)…" + +#~ msgid "_Import…" +#~ msgstr "匯入(_I)…" + +#~ msgid "_Paste" +#~ msgstr "貼上(_P)" + +#~ msgid "Import from the clipboard" +#~ msgstr "從剪貼簿匯入" + +#~ msgid "By _Keyring" +#~ msgstr "依鑰匙圈(_K)" + +#~ msgid "Only show personal keys, certificates and passwords" +#~ msgstr "只顯示個人金鑰、憑證和密碼" + +#~ msgid "Only show trusted keys, certificates and passwords" +#~ msgstr "只顯示信任的金鑰、憑證和密碼" + +#~ msgid "Show all keys, certificates and passwords" +#~ msgstr "顯示所有的金鑰、憑證和密碼" + +#~ msgid "New item" +#~ msgstr "新增項目" + +#~ msgid "_Select the type of item to create:" +#~ msgstr "選取想要建立的項目類型(_S):" + +#~ msgid "Continue" +#~ msgstr "繼續" + +#~ msgid "First time options:" +#~ msgstr "第一次執行選項:" + +#~ msgid "To get started with encryption you will need keys." +#~ msgstr "開始加密前您需要擁有金鑰。" + +#~ msgid "Import existing keys from a file:" +#~ msgstr "從檔案中匯入已存的金鑰" + +#~ msgid "Generate a new key of your own: " +#~ msgstr "產生您的金鑰:" + +#~ msgid "" +#~ "Send public Secure Shell key to another machine, and enable logins using " +#~ "that key." +#~ msgstr "將公共 SSH 金鑰傳送給其它電腦,及能使用該金鑰登入。" + +#~ msgid "Used to access other computers (eg: via a terminal)" +#~ msgstr "用作存取其它電腦(如終端機)" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "名稱:" + +#~ msgid "Identifier:" +#~ msgstr "識別碼:" + +#~ msgid "The owner of this key is _authorized to connect to this computer" +#~ msgstr "此金鑰的擁有者被授權連接本電腦(_A)" + +#~ msgid "This only applies to the %s account." +#~ msgstr "只會套用在 %s帳號。" + +#~ msgid "Key length:" +#~ msgstr "金鑰長度:" + +#~ msgid "%Y-%m-%d" +#~ msgstr "%Y-%m-%d" + +#~ msgid "Name:" +#~ msgstr "名稱:" + +#~ msgid "Keyring" +#~ msgstr "鑰匙圈" + +#~ msgid "The search provider is not loaded yet" +#~ msgstr "搜尋供應商尚未載入" + +#~ msgid "The SSH command was terminated unexpectedly." +#~ msgstr "SSH 指令在無法預期下中止。" + +#~ msgid "The SSH command failed." +#~ msgstr "SSH 指令失敗。" + +#~ msgid "E_xport..." +#~ msgstr "匯出(_X)…" + +#~ msgid "_Find Remote Keys..." +#~ msgstr "尋找遠端金鑰(_F)…" + +#~ msgid "_New..." +#~ msgstr "新增(_N)…" + +#~ msgid "_Import..." +#~ msgstr "匯入(_I)…" + +#~ msgid "Ssh Key" +#~ msgstr "SSH 金鑰" + +#~ msgid "_Computer Name:" +#~ msgstr "電腦名稱(_C):" + +#~ msgid "Updating password" +#~ msgstr "更新密碼" + +#~ msgid "Password:" +#~ msgstr "密碼:" + +#~ msgid "Key Servers:" +#~ msgstr "金鑰伺服器:" + +#~ msgid "Never" +#~ msgstr "永不" + +#~ msgid "Key ID:" +#~ msgstr "金鑰 ID:" + +#~ msgctxt "name-of-key" +#~ msgid "Name:" +#~ msgstr "名稱:" + +#~ msgid "Comment:" +#~ msgstr "附註:" + +#~ msgid "Use:" +#~ msgstr "用作:" + +#~ msgid "Type:" +#~ msgstr "類型:" + +#~ msgid "Key Names and Signatures" +#~ msgstr "金鑰名稱及簽章" + +#~ msgid "Dates" +#~ msgstr "日期" + +#~ msgid "Dates:" +#~ msgstr "日期:" + +#~ msgctxt "name-of-ssh-key" +#~ msgid "Name:" +#~ msgstr "名稱:" + +#~ msgid "Trust" +#~ msgstr "信任" + +#~ msgid "Strength:" +#~ msgstr "強度:" + +#~ msgid "Access to the key ring was denied" +#~ msgstr "存取鑰匙圈被禁止" + +#~ msgid "The gnome-keyring daemon is not running" +#~ msgstr "gnome-keyring 服務程式沒有執行" + +#~ msgid "The key ring has already been unlocked" +#~ msgstr "鑰匙圈已經解鎖" + +#~ msgid "No such key ring exists" +#~ msgstr "沒有該鑰匙圈存在" + +#~ msgid "Couldn't communicate with key ring daemon" +#~ msgstr "無法與鑰匙圈服務程式聯絡" + +#~ msgid "The item already exists" +#~ msgstr "項目已經存在" + +#~ msgid "Internal error accessing gnome-keyring" +#~ msgstr "存取 gnome-keyring 發生內部錯誤" + +#~ msgid "Algorithms here" +#~ msgstr "演算法這裡" diff --git a/seahorse.doap b/seahorse.doap new file mode 100644 index 00000000..428d580d --- /dev/null +++ b/seahorse.doap @@ -0,0 +1,38 @@ + + + + seahorse + A password and encryption key manager + Seahorse is a graphical interface for managing and using encryption keys. +Currently it supports PGP keys (using GPG/GPGME) and SSH keys. Its goal is to +provide an easy to use Key Management Tool, along with an easy to use interface +for encryption operations. + + + + + + + C + Vala + + + + Niels De Graef + + nielsdg + + + + + Daiki Ueno + + dueno + + + + diff --git a/src/application.vala b/src/application.vala new file mode 100644 index 00000000..bcfaacc7 --- /dev/null +++ b/src/application.vala @@ -0,0 +1,200 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * Copyright (C) 2005, 2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2012 Stefan Walter + * Copyright (C) 2018 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +public class Seahorse.Application : Gtk.Application { + private SearchProvider? search_provider; + private uint search_provider_dbus_id = 0; + + private KeyManager? key_mgr = null; + + private const string[] AUTHORS = { + "Jacob Perkins ", + "Jose Carlos Garcia Sogo ", + "Jean Schurger ", + "Stef Walter ", + "Adam Schreiber ", + "Niels De Graef ", + "", + N_("Contributions:"), + "Albrecht Dreß ", + "Jim Pharis ", + null + }; + + private const string[] DOCUMENTERS = { + "Jacob Perkins ", + "Adam Schreiber ", + "Milo Casagrande ", + null + }; + + private const string[] ARTISTS = { + "Jacob Perkins ", + "Stef Walter ", + null + }; + + private const GLib.ActionEntry[] action_entries = { + { "quit", quit }, + { "help", on_app_help }, + { "about", on_app_about }, + { "preferences", on_app_preferences }, + }; + + const OptionEntry[] cmd_options = { + { "version", 'v', 0, OptionArg.NONE, null, N_("Version of this application"), null }, + { null } + }; + + public Application() { + GLib.Object ( + application_id: Config.APPLICATION_ID, + resource_base_path: "/org/gnome/Seahorse", + flags: ApplicationFlags.HANDLES_OPEN + ); + this.search_provider = new SearchProvider(this); + + add_action_entries(action_entries, this); + var pref_action = lookup_action("preferences") as SimpleAction; + pref_action.set_enabled(Prefs.available()); + add_action_accelerators(); + + add_main_option_entries(cmd_options); + } + + private void add_action_accelerators() { + set_accels_for_action ("app.help", {"F1"}); + set_accels_for_action ("app.quit", {"q"}); + + set_accels_for_action ("win.show-search", { "f" }); + set_accels_for_action ("win.new-item", { "n" }); + set_accels_for_action ("win.import-file", { "i" }); + set_accels_for_action ("win.copy", { "c" }); + set_accels_for_action ("win.paste", { "v" }); + } + + public override void startup() { + base.startup(); + + Hdy.init(); + + // Insert Icons into Stock + icons_init(); + + // Initialize the backends + Gkr.Backend.initialize(); + Ssh.Backend.initialize(); +#if WITH_PGP + Pgp.Backend.initialize(); +#endif +#if WITH_PKCS11 + Pkcs11.Backend.initialize(); +#endif + } + + public override void activate() { + if (get_active_window() == null) + this.key_mgr = new Seahorse.KeyManager(this); + + this.key_mgr.present(); + } + + public override void open(File[] files, string hint) { + activate(); + return_if_fail(this.key_mgr != null); + + string[] uris = {}; + foreach (File file in files) + uris += file.get_uri(); + this.key_mgr.import_files(uris); + } + + public override int handle_local_options (VariantDict options) { + if (options.contains("version")) { + print ("%s\n", Config.PACKAGE_STRING); +#if WITH_PGP + print ("GNUPG: %s (%d.%d.%d)\n", Config.GNUPG, Config.GPG_MAJOR, Config.GPG_MINOR, Config.GPG_MICRO); +#endif + return 0; + } + + return -1; + } + + public override bool dbus_register (DBusConnection connection, string object_path) throws Error { + if (!base.dbus_register(connection, object_path)) + return false; + + this.search_provider_dbus_id = connection.register_object(object_path, this.search_provider); + return true; + } + + public override void dbus_unregister (DBusConnection connection, string object_path) { + if (this.search_provider_dbus_id != 0) { + connection.unregister_object(this.search_provider_dbus_id); + this.search_provider_dbus_id = 0; + } + + base.dbus_unregister(connection, object_path); + } + + public void initialize_search () { + this.search_provider.load.begin(); + } + + private void on_app_about(SimpleAction action, Variant? param) { + var about = new Gtk.AboutDialog(); + about.set_artists(ARTISTS); + about.set_authors(AUTHORS); + about.set_documenters(DOCUMENTERS); + about.set_version(Config.VERSION); + about.set_comments(_("Passwords and Keys")); + about.set_copyright("© 2002 - 2018 Seahorse Contributors"); + about.set_translator_credits(_("translator-credits")); + about.set_logo_icon_name(Config.APPLICATION_ID); + about.set_website("https://wiki.gnome.org/Apps/Seahorse"); + about.set_website_label(_("Seahorse Project Homepage")); + + about.response.connect((response) => { + about.hide(); + }); + + about.set_transient_for(this.key_mgr); + about.run(); + about.destroy(); + } + + private void on_app_help(SimpleAction action, Variant? param) { + try { + Gtk.show_uri_on_window(this.key_mgr, "help:seahorse", Gtk.get_current_event_time ()); + } catch (GLib.Error err) { + warning("Error showing help: %s", err.message); + } + } + + private void on_app_preferences(SimpleAction action, Variant? param) { + Prefs prefs_dialog = new Prefs(this.key_mgr); + prefs_dialog.run(); + prefs_dialog.destroy(); + } +} diff --git a/src/import-dialog.vala b/src/import-dialog.vala new file mode 100644 index 00000000..983b7e46 --- /dev/null +++ b/src/import-dialog.vala @@ -0,0 +1,77 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + * + * Author: Stef Walter + */ + +public class Seahorse.ImportDialog : Gtk.Dialog { + + private Gcr.ViewerWidget viewer; + private Gcr.ImportButton import; + + public ImportDialog(Gtk.Window? parent) { + GLib.Object( + transient_for: parent, + title: _("Data to be imported"), + use_header_bar: 1 + ); + + Gtk.Widget button = new Gtk.Button.with_mnemonic(_("_Cancel")); + button.show(); + add_action_widget(button, Gtk.ResponseType.CANCEL); + + this.import = new Gcr.ImportButton(_("_Import")); + this.import.halign = Gtk.Align.END; + this.import.visible = true; + this.import.get_style_context().add_class("suggested-action"); + this.import.importing.connect(() => this.viewer.clear_error()); + this.import.imported.connect(on_import_button_imported); + add_action_widget(this.import, Gtk.ResponseType.OK); + + this.viewer = new Gcr.ViewerWidget(); + this.viewer.added.connect((v, r, parsed) => this.import.add_parsed(parsed)); + this.viewer.show(); + ((Gtk.Box) get_content_area()).pack_end(this.viewer); + } + + public void add_uris(string[] uris) { + foreach (string uri in uris) + this.viewer.load_file(File.new_for_uri(uri)); + } + + public void add_text(string? display_name, string text) { + this.viewer.load_data(display_name, text.data); + } + + private void on_import_button_imported(GLib.Object importer, Error? error) { + if (error == null) { + response(Gtk.ResponseType.OK); + + string uri = ((Gcr.Importer) importer).uri; + foreach (Backend backend in Backend.get_registered()) { + Place? place = backend.lookup_place(uri); + if (place != null) + place.load.begin(null); + } + + } else { + if (!(error is GLib.IOError.CANCELLED)) + this.viewer.show_error(_("Import failed"), error); + } + } +} diff --git a/src/key-manager-item-row.vala b/src/key-manager-item-row.vala new file mode 100644 index 00000000..0fdf09ac --- /dev/null +++ b/src/key-manager-item-row.vala @@ -0,0 +1,68 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2017 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +/** + * Represents an item in the KeyManager's (i.e. the main window) list of items. + */ +public class Seahorse.KeyManagerItemRow : Gtk.ListBoxRow { + + public GLib.Object object { get; construct set; } + + construct { + var grid = new Gtk.Grid(); + grid.get_style_context().add_class("seahorse-item-listbox-row"); + add(grid); + + GLib.Icon? icon = null; + object.get("icon", out icon); + if (icon != null) { + var img = new Gtk.Image.from_gicon(icon, Gtk.IconSize.DND); + img.margin_end = 12; + img.pixel_size = 32; + grid.attach(img, 0, 0, 1, 2); + } + + string markup; + object.get("markup", out markup); + var markup_label = new Gtk.Label(markup); + markup_label.use_markup = true; + markup_label.halign = Gtk.Align.START; + markup_label.xalign = 0.0f; + markup_label.hexpand = true; + markup_label.ellipsize = Pango.EllipsizeMode.END; + grid.attach(markup_label, 1, 0); + + string description = ""; + object.get("description", out description); + var description_label = new Gtk.Label(description); + description_label.xalign = 1.0f; + description_label.valign = Gtk.Align.START; + description_label.get_style_context().add_class("seahorse-item-listbox-row-description"); + grid.attach(description_label, 2, 0); + + show_all(); + } + + public KeyManagerItemRow(GLib.Object object) { + GLib.Object(object: object); + } +} diff --git a/src/key-manager.vala b/src/key-manager.vala new file mode 100644 index 00000000..5b62fd76 --- /dev/null +++ b/src/key-manager.vala @@ -0,0 +1,543 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2017 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +[GtkTemplate (ui = "/org/gnome/Seahorse/seahorse-key-manager.ui")] +public class Seahorse.KeyManager : Catalog { + + [GtkChild] + private Hdy.Leaflet header; + [GtkChild] + private Gtk.HeaderBar left_header; + [GtkChild] + private Gtk.HeaderBar right_header; + [GtkChild] + private Gtk.Revealer back_revealer; + + [GtkChild] + private Gtk.SearchBar search_bar; + [GtkChild] + private Gtk.SearchEntry filter_entry; + + [GtkChild] + private Hdy.Leaflet content_box; + [GtkChild] + private Gtk.ScrolledWindow sidebar_area; + private Sidebar sidebar; + [GtkChild] + private Gtk.Stack content_stack; + [GtkChild] + private Gtk.ListBox item_listbox; + + [GtkChild] + private Gtk.MenuButton new_item_button; + [GtkChild] + private Gtk.ToggleButton show_search_button; + + private Seahorse.ItemList item_list; + private Gcr.Collection collection; + + private GLib.Settings settings; + + private enum DndTarget { // Drag 'n Drop target type + PLAIN, + URIS + } + + private const GLib.ActionEntry[] action_entries = { + { "new-item", on_new_item }, + { "show-search", on_show_search, }, + { "filter-items", on_filter_items, "s", "'any'" }, + { "focus-place", on_focus_place, "s", "'secret-service'" }, + { "import-file", on_import_file }, + { "paste", on_paste, }, + }; + + public KeyManager(Application app) { + GLib.Object( + ui_name: "key-manager", + application: app + ); + this.settings = new GLib.Settings("org.gnome.seahorse.manager"); + + this.collection = setup_sidebar(); + + load_css(); + + // Add new item list and bind our listbox to it + this.item_list = new Seahorse.ItemList(this.collection); + this.item_list.items_changed.connect((idx, removed, added) => check_empty_state()); + this.item_listbox.bind_model(this.item_list, (obj) => { return new KeyManagerItemRow(obj); }); + this.item_listbox.row_activated.connect(on_item_listbox_row_activated); + this.item_listbox.selected_rows_changed.connect(on_item_listbox_selected_rows_changed); + this.item_listbox.popup_menu.connect(on_item_listbox_popup_menu); + this.item_listbox.button_press_event.connect(on_item_listbox_button_press_event); + + init_actions(); + + // Notify us when settings change + this.settings.changed["item-filter"].connect(on_item_filter_changed); + on_item_filter_changed(this.settings, "item-filter"); + + // For the filtering + on_filter_changed(this.filter_entry); + + // Setup drops + Gtk.drag_dest_set(this, Gtk.DestDefaults.ALL, {}, Gdk.DragAction.COPY); + Gtk.TargetList targets = new Gtk.TargetList(null); + targets.add_uri_targets(DndTarget.URIS); + targets.add_text_targets(DndTarget.PLAIN); + Gtk.drag_dest_set_target_list(this, targets); + + // In the beginning, nothing's selected, so show empty state + check_empty_state(); + } + + private void init_actions() { + add_action_entries (action_entries, this); + } + + private void load_css() { + Gtk.CssProvider provider = new Gtk.CssProvider(); + Gtk.StyleContext.add_provider_for_screen( + Gdk.Display.get_default().get_default_screen(), + provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); + + provider.parsing_error.connect((section, error) => { + uint start = section.get_start_line(); + uint end = section.get_end_line(); + if (start == end) + debug("Error parsing css on line %u: %s", start, error.message); + else + debug("Error parsing css on lines %u-%u: %s", start, end, error.message); + }); + + provider.load_from_resource("/org/gnome/Seahorse/seahorse.css"); + + // Makes sure it's visible when people use nightlies + if (Config.PROFILE == "development") + get_style_context().add_class("devel"); + } + + private void on_item_listbox_row_activated(Gtk.ListBox item_listbox, Gtk.ListBoxRow row) { + unowned GLib.Object obj = ((KeyManagerItemRow) row).object; + assert(obj != null); + show_properties(obj); + } + + private void on_item_listbox_selected_rows_changed(Gtk.ListBox item_listbox) { + selection_changed(); + } + + private bool on_item_listbox_button_press_event (Gdk.EventButton event) { + // Check for right click + if ((event.type == Gdk.EventType.BUTTON_PRESS) && (event.button == 3)) { + // Make sure that the right-clicked row is also selected + var row = this.item_listbox.get_row_at_y((int) event.y); + if (row != null) { + this.item_listbox.unselect_all(); + this.item_listbox.select_row(row); + } + + // Show context menu (unless no row was right clicked or nothing was selected) + var objects = get_selected_item_listbox_items(); + debug("We have %u selected objects", objects.length()); + if (objects != null) + show_context_menu(null); + return true; + } + + return false; + } + + private bool on_item_listbox_popup_menu(Gtk.Widget? listview) { + var objects = get_selected_item_listbox_items(); + if (objects != null) + show_context_menu(null); + return false; + } + + private GLib.List get_selected_item_listbox_items() { + var rows = this.item_listbox.get_selected_rows(); + var objects = new GLib.List(); + + foreach (var row in rows) + objects.prepend(((KeyManagerItemRow) row).object); + + return objects; + } + + public override void selection_changed() { + base.selection_changed(); + + var objects = get_selected_objects(); + foreach (weak Backend backend in get_backends()) + backend.actions.set_actions_for_selected_objects(objects); + } + + private void check_empty_state() { + bool empty = (this.item_list.get_n_items() == 0); + debug("Checking empty state: %s", empty.to_string()); + + this.show_search_button.sensitive = !empty; + if (!empty) { + this.content_stack.visible_child_name = "item_listbox_page"; + return; + } + + // We have an empty page, that might still have 2 reasons: + // - we really have no items in our collections + // - we're dealing with a locked keyring + Place? place = this.sidebar.get_focused_place(); + if (place != null && place is Lockable && ((Lockable) place).unlockable) { + this.content_stack.visible_child_name = "locked_keyring_page"; + return; + } + this.content_stack.visible_child_name = "empty_state_page"; + } + + private void on_new_item(SimpleAction action, GLib.Variant? param) { + this.new_item_button.activate(); + } + + [GtkCallback] + private void on_filter_changed(Gtk.Editable entry) { + this.item_list.filter_text = this.filter_entry.text; + } + + [GtkCallback] + private void on_back_clicked() { + show_sidebar_pane(); + } + + private void show_sidebar_pane() { + this.content_box.visible_child_name = "sidebar-pane"; + update_header(); + } + + private void show_item_list_pane() { + this.content_box.visible_child_name = "item-list-pane"; + update_header(); + } + + [GtkCallback] + private void on_fold () { + update_header(); + } + + private void update_header() { + bool folded = this.content_box.folded; + + this.left_header.show_close_button = + !folded || header.visible_child == left_header; + + this.right_header.show_close_button = + !folded || header.visible_child == right_header; + + this.back_revealer.reveal_child = this.back_revealer.visible = + folded && header.visible_child == right_header; + } + + public void import_files(string[]? uris) { + ImportDialog dialog = new ImportDialog(this); + dialog.add_uris(uris); + dialog.run(); + dialog.destroy(); + } + + private void on_import_file(SimpleAction action, GLib.Variant? parameter) { + Gtk.FileChooserNative dialog = + new Gtk.FileChooserNative(_("Import Key"), this, + Gtk.FileChooserAction.OPEN, + _("_Open"), _("_Cancel")); + + dialog.set_local_only(false); + + // TODO: This should come from libgcr somehow + Gtk.FileFilter filter = new Gtk.FileFilter(); + filter.set_name(_("All key files")); + filter.add_mime_type("application/pgp-keys"); + filter.add_mime_type("application/x-ssh-key"); + filter.add_mime_type("application/pkcs12"); + filter.add_mime_type("application/pkcs12+pem"); + filter.add_mime_type("application/pkcs7-mime"); + filter.add_mime_type("application/pkcs7-mime+pem"); + filter.add_mime_type("application/pkcs8"); + filter.add_mime_type("application/pkcs8+pem"); + filter.add_mime_type("application/pkix-cert"); + filter.add_mime_type("application/pkix-cert+pem"); + filter.add_mime_type("application/pkix-crl"); + filter.add_mime_type("application/pkix-crl+pem"); + filter.add_mime_type("application/x-pem-file"); + filter.add_mime_type("application/x-pem-key"); + filter.add_mime_type("application/x-pkcs12"); + filter.add_mime_type("application/x-pkcs7-certificates"); + filter.add_mime_type("application/x-x509-ca-cert"); + filter.add_mime_type("application/x-x509-user-cert"); + filter.add_mime_type("application/pkcs10"); + filter.add_mime_type("application/pkcs10+pem"); + filter.add_mime_type("application/x-spkac"); + filter.add_mime_type("application/x-spkac+base64"); + filter.add_pattern("*.asc"); + filter.add_pattern("*.gpg"); + filter.add_pattern("*.pub"); + filter.add_pattern("*.pfx"); + filter.add_pattern("*.cer"); + filter.add_pattern("*.crt"); + filter.add_pattern("*.pem"); + dialog.add_filter(filter); + dialog.set_filter(filter); + + filter = new Gtk.FileFilter(); + filter.set_name(_("All files")); + filter.add_pattern("*"); + dialog.add_filter(filter); + + string? uri = null; + if (dialog.run() == Gtk.ResponseType.ACCEPT) { + uri = dialog.get_uri(); + } + + dialog.destroy(); + + if (uri != null) { + import_files({ uri }); + } + } + + private void import_text(string? display_name, string? text) { + ImportDialog dialog = new ImportDialog(this); + dialog.add_text(display_name, text); + dialog.run(); + dialog.destroy(); + } + + [GtkCallback] + private void on_drag_data_received(Gdk.DragContext context, int x, int y, + Gtk.SelectionData? selection_data, uint info, uint time) { + if (selection_data == null) + return; + + if (info == DndTarget.PLAIN) { + string? text = selection_data.get_text(); + import_text(_("Dropped text"), text); + } else if (info == DndTarget.URIS) { + string[]? uris = selection_data.get_uris(); + foreach (string uri in uris) + uri._strip(); + import_files(uris); + } + } + + private void on_paste(SimpleAction action, Variant? param) { + Gdk.Atom atom = Gdk.Atom.intern("CLIPBOARD", false); + Gtk.Clipboard clipboard = Gtk.Clipboard.get(atom); + + if (clipboard.wait_is_text_available()) + return; + + clipboard.request_text(on_clipboard_received); + } + + private void on_clipboard_received(Gtk.Clipboard board, string? text) { + if (text == null) + return; + + assert(this.filter_entry != null); + if (this.filter_entry.is_focus) + this.filter_entry.paste_clipboard(); + else + if (text != null && text.char_count() > 0) + import_text(_("Clipboard text"), text); + } + + private void update_view_filter(string filter_str, bool update_settings = true) { + // Update the setting + if (update_settings) + this.settings.set_string("item-filter", filter_str); + + // Update the action + SimpleAction action = lookup_action("filter-items") as SimpleAction; + action.set_state(filter_str); + + // Update the item list + this.item_list.showfilter = ItemList.ShowFilter.from_string(filter_str); + this.item_list.refilter(); + } + + private void on_show_search(SimpleAction action, Variant? param) { + this.show_search_button.active = true; + } + + private void on_filter_items(SimpleAction action, Variant? param) { + update_view_filter (param.get_string()); + } + + private void on_item_filter_changed(GLib.Settings settings, string? key) { + update_view_filter(settings.get_string("item-filter"), false); + } + + public override GLib.List get_selected_objects() { + var objects = new GLib.List(); + + foreach (var row in this.item_listbox.get_selected_rows()) { + objects.append(((KeyManagerItemRow) row).object); + } + return objects; + } + + private void on_focus_place(SimpleAction action, Variant? param) { + string? uri_prefix = param.get_string(); + if (uri_prefix != null) { + this.sidebar.set_focused_place_for_scheme(uri_prefix); + } + } + + private Gcr.Collection setup_sidebar() { + this.sidebar = new Sidebar(); + + restore_keyring_selection(); + + // Make sure we update the empty state on any change + this.sidebar.selected_rows_changed.connect(on_sidebar_selected_rows_changed); + this.sidebar.current_collection_changed.connect((sidebar) => { check_empty_state (); }); + + foreach (weak Backend backend in get_backends()) { + ActionGroup actions = backend.actions; + actions.catalog = this; + insert_action_group(actions.prefix, actions); + } + + this.sidebar_area.add(this.sidebar); + this.sidebar.show(); + + return this.sidebar.objects; + } + + // On setup, select the LRU place from the user's last session (if any). + private void restore_keyring_selection() { + // Make sure we already get the setting, or it might accidentally be + // changed meanwhile. If none is set (yet), then don't even bother + var last_keyring = this.settings.get_strv("keyrings-selected"); + if (last_keyring == null || last_keyring.length == 0) + return; + + // Since some backends take time to initialize, wait a bit beforehand. + Timeout.add(150, () => { + unowned string uri = last_keyring[0]; + + debug("Selecting last used place %s", uri); + if (this.sidebar.set_focused_place_for_uri(uri)) + return GLib.Source.REMOVE; + + // If that didn't work, try do a attempt by matching the scheme. + // FIXME should do this poperly (not always getting proper URIs atm) + var uri_scheme = uri.split(":")[0]; + if (this.sidebar.set_focused_place_for_scheme(uri_scheme)) + return GLib.Source.REMOVE; + + // Still nothing. Can happen on first run -> just select first entry + this.sidebar.select_row(this.sidebar.get_row_at_index(0)); + return GLib.Source.REMOVE; + }); + } + + private void on_sidebar_selected_rows_changed(Gtk.ListBox sidebar) { + check_empty_state(); + + show_item_list_pane(); + + Place? place = this.sidebar.get_focused_place(); + return_if_fail (place != null); + + this.right_header.title = place.label; + this.settings.set_strv("keyrings-selected", { place.uri }); + } + + public override List get_backends() { + return this.sidebar.get_backends(); + } + + [GtkCallback] + private void on_popover_grab_notify(Gtk.Widget widget, bool was_grabbed) { + if (!was_grabbed) + widget.hide(); + } + + [GtkCallback] + private void on_locked_keyring_unlock_button_clicked(Gtk.Button unlock_button) { + Lockable? place = this.sidebar.get_focused_place() as Lockable; + return_if_fail(place != null && place.unlockable); + + unlock_button.sensitive = false; + place.unlock.begin(null, null, (obj, res) => { + try { + unlock_button.sensitive = true; + place.unlock.end(res); + } catch (GLib.Error e) { + unlock_button.sensitive = true; + Util.show_error(this, _("Couldn’t unlock keyring"), e.message); + } + }); + } + + [GtkCallback] + private bool on_key_pressed(Gtk.Widget widget, Gdk.EventKey event) { + bool folded = this.content_box.folded; + + switch (event.keyval) { + // Down and Up for easy sidebar navigation + case Gdk.Key.Down: + if (Gdk.ModifierType.MOD1_MASK in event.state && !folded) { + this.sidebar.select_next_place(); + return true; + } + break; + case Gdk.Key.Up: + if (Gdk.ModifierType.MOD1_MASK in event.state && !folded) { + this.sidebar.select_previous_place(); + return true; + } + break; + + // Left to go back to sidebar in folded mode + case Gdk.Key.Left: + if (Gdk.ModifierType.MOD1_MASK in event.state && folded) { + show_sidebar_pane(); + return true; + } + break; + + // Right to open currently selected element in folded mode + case Gdk.Key.Right: + if (Gdk.ModifierType.MOD1_MASK in event.state && folded) { + show_item_list_pane(); + return true; + } + break; + default: + break; + } + + // By default: propagate to the search bar, for search-as-you-type + return this.search_bar.handle_event(event); + } +} diff --git a/src/main.vala b/src/main.vala new file mode 100644 index 00000000..96d1f9f0 --- /dev/null +++ b/src/main.vala @@ -0,0 +1,34 @@ +/* + * Seahorse + * + * Copyright (C) 2003 Jacob Perkins + * Copyright (C) 2004,2005 Stefan Walter + * Copyright (C) 2017 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +public int main (string[] args) { + Intl.bindtextdomain(Config.GETTEXT_PACKAGE, Config.LOCALEDIR); + Intl.bind_textdomain_codeset(Config.GETTEXT_PACKAGE, "UTF-8"); + Intl.textdomain(Config.GETTEXT_PACKAGE); + + Seahorse.Application app = new Seahorse.Application(); + int status = app.run(args); + + Seahorse.Registry.cleanup(); + Seahorse.Servers.cleanup(); + + return status; +} diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 00000000..510f867a --- /dev/null +++ b/src/meson.build @@ -0,0 +1,60 @@ +search_provider_src = gnome.gdbus_codegen('seahorse-shell-search-provider-generated', + 'org.gnome.ShellSearchProvider2.xml', + interface_prefix : 'org.gnome.', + namespace : 'Seahorse', +) + +seahorse_sources = [ + 'application.vala', + 'import-dialog.vala', + 'key-manager.vala', + 'key-manager-item-row.vala', + 'main.vala', + 'search-provider.vala', + 'sidebar.vala', + + resources_src, + search_provider_src, +] + +seahorse_dependencies = [ + glib_deps, + gtk, + libhandy_dep, + libsecret, + common_dep, + libseahorse_dep, + gkr_dep, + ssh_dep, +] + +seahorse_linkedlibs = [ + libeggdatetime_lib, + libtreemultidnd_lib, +] + +seahorse_c_flags = [ + '-DHANDY_USE_UNSTABLE_API', +] + +seahorse_vala_flags = [ +] + +if get_option('pgp-support') + seahorse_dependencies += pgp_dep + seahorse_vala_flags += [ '-D', 'WITH_PGP' ] +endif +if get_option('pkcs11-support') + seahorse_dependencies += pkcs11_dep + seahorse_vala_flags += [ '-D', 'WITH_PKCS11' ] +endif + + +seahorse_exe = executable('seahorse', + seahorse_sources, + dependencies: seahorse_dependencies, + vala_args: seahorse_vala_flags, + c_args: seahorse_c_flags, + link_with: seahorse_linkedlibs, + install: true, +) diff --git a/src/org.gnome.ShellSearchProvider2.xml b/src/org.gnome.ShellSearchProvider2.xml new file mode 100644 index 00000000..7947d034 --- /dev/null +++ b/src/org.gnome.ShellSearchProvider2.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/seahorse-change-passphrase.ui b/src/seahorse-change-passphrase.ui new file mode 100644 index 00000000..eee3f664 --- /dev/null +++ b/src/seahorse-change-passphrase.ui @@ -0,0 +1,139 @@ + + + + + + True + 5 + Change Passphrase + True + dialog + + + True + 2 + + + True + 5 + 2 + 2 + 12 + 6 + + + True + True + True + Enter new passphrase + False + True + + + + 1 + 2 + + + + + + True + 0 + New _Passphrase: + True + pass + + + GTK_FILL + + + + + + True + True + Confirm new passphrase + False + True + + + + 1 + 2 + 1 + 2 + + + + + + True + 0 + Con_firm Passphrase: + True + confirm + + + 1 + 2 + GTK_FILL + + + + + + 1 + + + + + True + end + + + gtk-cancel + True + True + True + False + True + + + False + False + 0 + + + + + gtk-ok + True + False + True + True + True + False + True + + + False + False + 1 + + + + + False + end + 0 + + + + + + cancelbutton1 + ok + + + diff --git a/src/seahorse-key-manager-widgets.ui b/src/seahorse-key-manager-widgets.ui new file mode 100644 index 00000000..7382118b --- /dev/null +++ b/src/seahorse-key-manager-widgets.ui @@ -0,0 +1,35 @@ + + + +
+ + + Copy secret + gkr.copy-secret + action-disabled + + + Export… + win.file-export + action-disabled + + + + Delete + win.edit-delete + action-disabled + +
+
+ + Properties + win.properties-object + + + Configure Key for Secure Shell… + ssh.remote-upload + action-disabled + +
+
+
diff --git a/src/seahorse-key-manager.ui b/src/seahorse-key-manager.ui new file mode 100644 index 00000000..26acb24b --- /dev/null +++ b/src/seahorse-key-manager.ui @@ -0,0 +1,627 @@ + + + + +
+ + _Find remote keys… + pgp.remote-find + action-missing + + + _Sync and publish keys… + pgp.remote-sync + action-missing + +
+
+ + _Preferences + app.preferences + action-disabled + + + _Help + app.help + + + _Keyboard Shortcuts + win.show-help-overlay + + + _About Passwords and Keys + app.about + +
+
+ + +
+ Filter items: + + Show p_ersonal + win.filter-items + personal + + + Show _trusted + win.filter-items + trusted + + + Show an_y + win.filter-items + any + +
+
+ + + + + + True + vertical + False + 6 + + + True + none + True + True + browse + + + + + 3 + False + ssh.generate-key + + + True + vertical + + + True + start + Secure Shell key + + + + + True + start + Used to access other computers + + + + + + + + + + + + + + 3 + False + pgp.pgp-generate-key + + + True + vertical + + + True + start + GPG key + + + + + True + start + Used to encrypt emails and files + + + + + + + + + + + + + + 3 + False + gkr.keyring-new + + + True + vertical + + + True + start + Password keyring + + + + + True + start + Used to store application and network passwords + + + + + + + + + + + + + + 3 + False + gkr.keyring-item-new + + + True + vertical + + + True + start + Password + + + + + True + start + Safely store a password or secret + + + + + + + + + + + + + + 3 + False + pkcs11.pkcs11-generate-key + + + True + vertical + + + True + start + Private key + + + + + True + start + Used to request a certificate + + + + + + + + + + + + + + 6 + False + win.import-file + + + True + start + True + 3 + 3 + Import from file… + + + + + + + + + + + + + + horizontal + + + + + + + horizontal + + + + + + + + + + + + + + + + + +
diff --git a/src/search-provider.vala b/src/search-provider.vala new file mode 100644 index 00000000..af3631c7 --- /dev/null +++ b/src/search-provider.vala @@ -0,0 +1,266 @@ +/* + * Seahorse + * + * Copyright (C) 2013 Giovanni Campagna + * Copyright (C) 2018 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +[DBus (name = "org.gnome.Shell.SearchProvider2")] +public class Seahorse.SearchProvider : GLib.Object { + private Gcr.UnionCollection union_collection = new Gcr.UnionCollection(); + private HashTable handles + = new HashTable.full(str_hash, str_equal, free, null); + + private Gcr.FilterCollection collection; + private GLib.Application app; + private int n_loading = 0; + private RWLock n_loading_lock = RWLock(); + private bool loaded = false; + + public SearchProvider(GLib.Application app) { + this.app = app; + this.collection = new Gcr.FilterCollection.with_callback(this.union_collection, filter_objects); + } + + private static bool filter_objects (GLib.Object? obj) { + unowned Object? object = obj as Object; + if (object == null || !(Flags.PERSONAL in object.object_flags)) + return false; + + if (!(obj is Viewable)) + return false; + + if (obj is Secret.Item) { + string? schema_name = ((Secret.Item) obj).get_schema_name (); + if (schema_name != "org.gnome.keyring.Note") + return false; + } + + return true; + } + + ~SearchProvider() { + this.handles.foreach( (__, obj) => { + obj.weak_unref(on_object_gone); + }); + } + + public async void load () throws GLib.Error { + // avoid reentering load () from a different request + while (!this.loaded && get_n_loading() > 0) { + var wait = notify["loaded"].connect (() => { + load.callback (); + }); + + yield; + + disconnect (wait); + if (this.loaded) + return; + } + + var backends = Backend.get_registered(); + this.n_loading = (int) backends.length(); + foreach (var backend in backends) { + if (!backend.loaded) { + backend.notify["loaded"].connect(() => { + change_n_loading(-1); + if (get_n_loading() == 0) + this.loaded = true; + }); + } else { + change_n_loading(-1); + } + + backend.added.connect(on_place_added); + backend.removed.connect(on_place_removed); + + foreach (GLib.Object place in backend.get_objects()) + on_place_added(backend, place); + } + } + + private int get_n_loading() { + this.n_loading_lock.reader_lock(); + var retval = this.n_loading; + this.n_loading_lock.reader_unlock(); + return retval; + } + + private void change_n_loading(int diff) { + this.n_loading_lock.writer_lock(); + this.n_loading += diff; + this.n_loading_lock.writer_unlock(); + } + + public async string[] GetInitialResultSet(string[] terms) throws GLib.Error { + this.app.hold(); + + if (get_n_loading() >= 0) + yield load(); + + Predicate predicate = Predicate () { + custom = object_matches_search, + custom_target = terms + }; + + string?[] results = {}; + foreach (GLib.Object obj in this.collection.get_objects()) { + if (predicate.match(obj)) { + string str = "%p".printf(obj); + + if (!(str in this.handles)) { + this.handles.insert(str, obj); + obj.weak_ref(on_object_gone); + } + results += str; + } + } + + this.app.release (); + return results; + } + + public async string[] GetSubsearchResultSet(string[] previous_results, string[] new_terms) + throws GLib.Error { + this.app.hold (); + + Predicate predicate = Predicate() { + custom = object_matches_search, + custom_target = new_terms + }; + + string?[] results = {}; + foreach (string previous_result in previous_results) { + GLib.Object? object = this.handles.lookup(previous_result); + if (object == null || !this.collection.contains(object)) + continue; // Bogus value + + if (predicate.match(object)) + results += previous_result; + } + + this.app.release (); + return results; + } + + public async HashTable[] GetResultMetas(string[] results) throws GLib.Error { + this.app.hold(); + + var metas = new HashTable[results.length]; + int good_results = 0; + foreach (string result in results) { + GLib.Object object = this.handles.lookup(result); + if (object == null || !(object in this.collection)) + continue; // Bogus value + + HashTable meta = new HashTable(str_hash, str_equal); + + meta["id"] = result; + + string? label = null; + object.get("label", out label, null); + if (label != null) + meta["name"] = label; + + Icon? icon = null; + object.get("icon", out icon, null); + if (icon != null) + meta["icon"] = icon.serialize(); + + string? description = get_description_if_available(object); + if (description != null) + meta["description"] = Markup.escape_text(description); + + metas[good_results] = meta; + good_results++; + } + + this.app.release(); + return metas[0:good_results]; + } + + public void ActivateResult(string identifier, string[] terms, uint32 timestamp) throws GLib.Error { + this.app.hold(); + + GLib.Object? object = null; + identifier.scanf("%p", &object); + object = this.handles.lookup(identifier); + if (object == null || !(object in this.collection) || !(object is Viewable)) + return; // Bogus value + + KeyManager key_manager = new KeyManager(GLib.Application.get_default() as Application); + /* key_manager.show(timestamp); */ + Viewable.view(object, (Gtk.Window) key_manager); + + this.app.release (); + } + + public void LaunchSearch (string[] terms, uint32 timestamp) throws GLib.Error { + // TODO + } + + private static bool object_matches_search (GLib.Object? object, void* terms) { + foreach (string term in ((string[]) terms)) { + if (!object_contains_filtered_text (object, term)) + return false; + } + + return true; + } + + /* Search through row for text */ + private static bool object_contains_filtered_text (GLib.Object object, string? text) { + string? name = null; + object.get("label", out name, null); + if (name != null && (text in name.down())) + return true; + + string? description = get_description_if_available (object); + if (description != null && (text in description.down())) + return true; + + return false; + } + + private void on_object_gone(GLib.Object? where_the_object_was) { + this.handles.remove("%p".printf(where_the_object_was)); + } + + private void on_place_added (Gcr.Collection places, GLib.Object object) { + Place place = (Place) object; + if (!this.union_collection.have(place)) + this.union_collection.add(place); + } + + private void on_place_removed (Gcr.Collection places, GLib.Object object) { + Place place = (Place) object; + if (this.union_collection.have(place)) + this.union_collection.remove(place); + } + + private static string? get_description_if_available (GLib.Object? obj) { + if (obj == null) + return null; + + if (obj.get_class().find_property("description") == null) + return null; + + string? description = null; + obj.get("description", out description); + return description; + } +} diff --git a/src/sidebar.vala b/src/sidebar.vala new file mode 100644 index 00000000..b991d006 --- /dev/null +++ b/src/sidebar.vala @@ -0,0 +1,472 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2017 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +public class Seahorse.Sidebar : Gtk.ListBox { + + private GLib.ListStore store = new GLib.ListStore(typeof(Seahorse.Place)); + private List backends = new List(); + + /** + * Collection of objects sidebar represents + */ + public Gcr.UnionCollection objects { get; private set; default = new Gcr.UnionCollection(); } + + /** + * Emitted when the state of the current collection changed. + * For example: when going from locked to unlocked and vice versa. + */ + public signal void current_collection_changed(); + + construct { + this.selection_mode = Gtk.SelectionMode.BROWSE; + + bind_model(this.store, place_widget_create_cb); + set_header_func(place_header_cb); + this.row_selected.connect(on_row_selected); + + load_backends(); + } + + ~Sidebar() { + foreach (Backend backend in this.backends) + foreach (weak GLib.Object obj in backend.get_objects()) + on_place_removed (backend, (Place) obj); + } + + private void load_backends() { + foreach (Backend backend in Backend.get_registered()) { + this.backends.append(backend); + backend.added.connect(on_place_added); + backend.removed.connect(on_place_removed); + backend.notify.connect(on_backend_changed); + + foreach (weak GLib.Object obj in backend.get_objects()) + on_place_added(backend, obj); + } + } + + private void on_place_added(Gcr.Collection? backend, GLib.Object place_obj) { + var place = place_obj as Place; + return_if_fail (place != null); + + debug("New place '%s' added", place.label); + + if (place.get_length() > 0 || place.show_if_empty) + this.store.insert_sorted(place, compare_places); + place.notify.connect(on_place_changed); + } + + private void on_place_changed(GLib.Object obj, ParamSpec pspec) { + update_places(); + } + + private void on_place_removed(Gcr.Collection? backend, GLib.Object place_obj) { + var place = place_obj as Place; + return_if_fail (place != null); + + debug("Place '%s' removed", place.label); + for (uint i = 0; i < this.store.get_n_items(); i++) { + if (this.store.get_item(i) == place) { + this.store.remove(i); + break; + } + } + } + + private void on_backend_changed(GLib.Object obj, ParamSpec spec) { + Backend backend = (Backend) obj; + debug("Backend '%s' changed", backend.label); + update_places(); + } + + private Gtk.Widget place_widget_create_cb(GLib.Object object) { + var item = new SidebarItem(object as Seahorse.Place); + item.place_changed.connect(on_sidebar_item_changed); + return item; + } + + private void on_sidebar_item_changed(SidebarItem item) { + select_row(item); + current_collection_changed(); + } + + private void place_header_cb(Gtk.ListBoxRow row, Gtk.ListBoxRow? before) { + Seahorse.Place place = ((SidebarItem) row).place; + + // We need a title iff + // the previous row exists, and it's part of the same category + if (before != null) { + Seahorse.Place before_place = ((SidebarItem) before).place; + if (place.category == before_place.category) { + row.set_header(null); + return; + } + } + + var label = new Gtk.Label(place.category.to_string()); + label.get_style_context().add_class("seahorse-sidebar-item-header"); + label.xalign = 0f; + label.margin_start = 9; + label.margin_top = 6; + label.margin_bottom = 3; + label.show(); + row.set_header(label); + } + + private int compare_places(GLib.Object obj_a, GLib.Object obj_b) { + Seahorse.Place a = (Seahorse.Place) obj_a; + Seahorse.Place b = (Seahorse.Place) obj_b; + + // First of all, order the categories + if (a.category != b.category) + return ((int) a.category) - ((int) b.category); + + // In the same category, order alphabetically + return a.label.casefold().collate(b.label.casefold()); + } + + private void on_row_selected(Gtk.ListBoxRow? row) { + debug("Updating objects"); + + // First clear the list + foreach (var place in this.objects.elements()) + this.objects.remove(place); + + // Only selected ones should be in this.objects + var selected = row as SidebarItem; + if (selected == null) + return; + + foreach (var place in this.objects.elements()) { + if (selected.place != place) + this.objects.remove(place); + } + if (!this.objects.have(selected.place)) + this.objects.add(selected.place); + } + + private void update_places() { + // Save current selection + var old_selected = get_selected_row() as SidebarItem; + Place? place = null; + if (old_selected != null) + place = old_selected.place; + + foreach (Backend backend in this.backends) + update_backend(backend); + + // Needed when you have multiple keyrings (this can lead + // to multiple 'Password' titles). + invalidate_headers(); + } + + private void update_backend(Backend? backend) { + if (backend.get_objects() == null) // Ignore categories that have nothing + return; + + foreach (weak GLib.Object obj in backend.get_objects()) { + unowned Place? place = obj as Place; + if (place == null) + continue; + + bool already_in = false; + for (int i = 0; i < this.store.get_n_items(); i++) { + if (this.store.get_object(i) == place) { + already_in = true; + break; + } + } + + if (!already_in && (place.get_length() > 0 || place.show_if_empty)) + this.store.insert_sorted(place, compare_places); + } + } + + public override bool popup_menu() { + if (base.popup_menu()) + return true; + + var row = get_selected_row() as SidebarItem; + if (row == null) + return false; + + row.show_popup_menu(); + return true; + } + + public override bool button_press_event(Gdk.EventButton event) { + if (base.button_press_event(event)) + return true; + + if (event.button != 3 || event.type != Gdk.EventType.BUTTON_PRESS) + return false; + + var row = get_row_at_y((int) event.y) as SidebarItem; + if (row != null) + row.show_popup_menu(); + + return true; + } + + public List? get_selected_places() { + List? places = null; + + foreach (var row in get_selected_rows()) { + var item = row as SidebarItem; + if (item != null) + places.append(item.place); + } + + return places; + } + + public Place? get_focused_place() { + var row = get_selected_row() as SidebarItem; + return (row != null)? row.place : null; + } + + /** + * Tries to find a place with the given URI and selects it. + * + * @return Whether a matching place was found + */ + public bool set_focused_place_for_uri(string uri) { + // First, try to see if we have an exact match + foreach (var row in get_children()) { + var item = (SidebarItem) row; + if (item.place.uri == uri) { + select_row(item); + return true; + } + } + + return false; + } + + /** + * Tries to find a place with the given URI scheme and selects it. + * + * @return Whether a matching place was found + */ + public bool set_focused_place_for_scheme(string uri_scheme) { + foreach (var row in get_children()) { + var item = (SidebarItem) row; + if (item.place.uri.has_prefix(uri_scheme)) { + select_row(item); + return true; + } + } + return false; + } + + public void select_next_place() { + select_relative(1); + } + + public void select_previous_place() { + select_relative(-1); + } + + // Selects the item that is n positions lower/above the current selection + private void select_relative(int positions) { + var selected = get_selected_row(); + if (selected == null) { + // Select the first row + select_row(get_row_at_index(0)); + return; + } + + var next = get_row_at_index(selected.get_index() + positions); + // If we're at the top/bottom of the list, don't do anything + if (next != null) + select_row(next); + } + + public List? get_backends() { + return this.backends.copy(); + } +} + +internal class Seahorse.SidebarItem : Gtk.ListBoxRow { + + private Gtk.Button? lock_button = null; + + public weak Seahorse.Place place { get; construct set; } + + public signal void place_changed(); + + construct { + var box = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 6); + box.get_style_context().add_class("seahorse-sidebar-item"); + box.valign = Gtk.Align.CENTER; + box.margin_top = 3; + box.margin_bottom = 3; + add(box); + + var icon = new Gtk.Image.from_gicon(place.icon, Gtk.IconSize.BUTTON); + box.pack_start(icon, false, false); + + var label = new Gtk.Label(place.label); + label.ellipsize = Pango.EllipsizeMode.END; + label.xalign = 0f; + box.pack_start(label); + + var lockable = place as Lockable; + if (lockable != null && (lockable.lockable || lockable.unlockable)) { + this.lock_button = new Gtk.Button.from_icon_name(get_lock_icon_name(lockable), + Gtk.IconSize.BUTTON); + this.lock_button.get_style_context().add_class("flat"); + this.lock_button.halign = Gtk.Align.END; + this.lock_button.clicked.connect((b) => { + if (lockable.unlockable) + place_unlock(lockable, (Gtk.Window) get_toplevel()); + else if (lockable.lockable) + place_lock(lockable, (Gtk.Window) get_toplevel()); + + update_lock_icon(lockable); + }); + box.pack_end(this.lock_button, false, false); + } + + show_all(); + } + + private static unowned string? get_lock_icon_name(Lockable lockable) { + if (lockable.unlockable) + return "changes-prevent-symbolic"; + + if (lockable.lockable) + return "changes-allow-symbolic"; + + return null; + } + + private void update_lock_icon(Lockable lockable) { + ((Gtk.Image) this.lock_button.get_image()).icon_name = get_lock_icon_name(lockable); + } + + public SidebarItem(Seahorse.Place place) { + GLib.Object(place: place); + } + + public void show_popup_menu() { + // Start from the menu model provided by the this.place (if any) + var menu = (this.place.menu_model != null)? new Gtk.Menu.from_model(this.place.menu_model) + : new Gtk.Menu(); + + // Make sure the actions from the collection + if (this.place.actions != null) + menu.insert_action_group(this.place.action_prefix, this.place.actions); + + // Lock and unlock items + if (this.place is Lockable) { + Gtk.MenuItem item = new Gtk.MenuItem.with_mnemonic(_("_Lock")); + item.activate.connect(() => on_place_lock(item, (Lockable) this.place)); + this.place.bind_property("lockable", item, "visible", BindingFlags.SYNC_CREATE); + menu.append(item); + + item = new Gtk.MenuItem.with_mnemonic(_("_Unlock")); + item.activate.connect(() => on_place_unlock(item, (Lockable) this.place)); + this.place.bind_property("unlockable", item, "visible", BindingFlags.SYNC_CREATE); + menu.append(item); + } + + // Delete item + if (this.place is Deletable) { + Gtk.MenuItem item = new Gtk.MenuItem.with_mnemonic(_("_Delete")); + item.activate.connect(() => on_place_delete(item, (Deletable) this.place)); + this.place.bind_property("deletable", item, "sensitive", BindingFlags.SYNC_CREATE); + menu.append(item); + item.show(); + } + + // Properties item + if (this.place is Viewable) { + Gtk.MenuItem item = new Gtk.MenuItem.with_mnemonic(_("_Properties")); + item.activate.connect(() => Viewable.view(this.place, (Gtk.Window) item.get_toplevel())); + menu.append(item); + item.show(); + } + + bool visible = false; + menu.foreach((widget) => { + visible |= widget.visible; + }); + + if (visible) { + menu.popup_at_pointer(); + menu.attach_to_widget(this, null); + menu.show(); + } else { + menu.destroy(); + } + } + + private void place_lock(Lockable lockable, Gtk.Window? window) { + Cancellable cancellable = new Cancellable(); + TlsInteraction interaction = new Interaction(window); + + lockable.lock.begin(interaction, cancellable, (obj, res) => { + try { + lockable.lock.end(res); + update_lock_icon(lockable); + place_changed(); + } catch (Error e) { + Util.show_error(window, _("Couldn’t lock"), e.message); + } + }); + } + + private void on_place_lock(Gtk.Widget widget, Lockable lockable) { + place_lock(lockable, (Gtk.Window) widget.get_toplevel()); + } + + private void place_unlock(Lockable lockable, Gtk.Window? window) { + Cancellable cancellable = new Cancellable(); + TlsInteraction interaction = new Interaction(window); + + lockable.unlock.begin(interaction, cancellable, (obj, res) => { + try { + lockable.unlock.end(res); + update_lock_icon(lockable); + place_changed(); + } catch (Error e) { + Util.show_error(window, _("Couldn’t unlock"), e.message); + } + }); + } + + private void on_place_unlock(Gtk.MenuItem widget, Lockable lockable) { + place_unlock(lockable, (Gtk.Window) widget.get_toplevel()); + } + + private void on_place_delete(Gtk.MenuItem item, Deletable deletable) { + Deleter deleter = deletable.create_deleter(); + if (deleter.prompt((Gtk.Window) item.get_toplevel())) { + deleter.delete.begin(null, (obj, res) => { + try { + deleter.delete.end(res); + } catch (Error e) { + Util.show_error(parent, _("Couldn’t delete"), e.message); + } + }); + } + } +} diff --git a/ssh/actions.vala b/ssh/actions.vala new file mode 100644 index 00000000..d2c37b1f --- /dev/null +++ b/ssh/actions.vala @@ -0,0 +1,82 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2016 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +public class Seahorse.Ssh.Actions : ActionGroup { + + private const ActionEntry KEYS_ACTIONS[] = { + { "generate-key", on_ssh_generate_key }, + { "remote-upload", on_ssh_upload }, + }; + + construct { + add_action_entries(KEYS_ACTIONS, this); + } + + private Actions() { + GLib.Object(prefix: "ssh"); + } + + private static Actions _instance = null; + public static unowned Actions instance() { + if (_instance == null) + _instance = new Actions(); + + return _instance; + } + + public override void set_actions_for_selected_objects(List objects) { + bool is_ssh_key = false; + + foreach (var object in objects) { + if (object is Ssh.Key) { + is_ssh_key = true; + break; + } + } + + ((SimpleAction) lookup_action("remote-upload")).set_enabled(is_ssh_key); + } + + private void on_ssh_generate_key(SimpleAction action, Variant? param) { + Generate generate_dialog = new Generate(Backend.instance.get_dot_ssh(), + this.catalog); + + int response = generate_dialog.run(); + if (response == Gtk.ResponseType.ACCEPT) + this.catalog.activate_action("focus-place", "openssh"); + generate_dialog.destroy(); + } + + private void on_ssh_upload(SimpleAction action, Variant? param) { + List keys = new List(); + + if (this.catalog != null) { + foreach (GLib.Object el in this.catalog.get_selected_objects()) { + Key key = el as Key; + if (key != null) + keys.prepend(key); + } + } + + Upload.prompt(keys, this.catalog); + } +} diff --git a/ssh/algorithm.vala b/ssh/algorithm.vala new file mode 100644 index 00000000..9dd75fb4 --- /dev/null +++ b/ssh/algorithm.vala @@ -0,0 +1,103 @@ +/* + * Seahorse + * + * Copyright (c) 2016 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/** + * Enumerates the possible algorithms in which an SSH key can be encrypted. + * This is also known as the 'type' of a key. + */ +public enum Seahorse.Ssh.Algorithm { + UNKNOWN, + RSA, + DSA, + ECDSA, + ED25519; + + /** + * Returns a (non-localized) string representation. + * + * @return A string representation, or null if UNKNOWN. + */ + public string? to_string() { + switch(this) { + case UNKNOWN: + return ""; + case RSA: + return "RSA"; + case DSA: + return "DSA"; + case ECDSA: + return "ECDSA"; + case ED25519: + return "ED25519"; + default: + assert_not_reached (); + }; + } + + /** + * Converts a string representation into a Algorithm. + * + * @return The algorithm (can be UNKNOWN). + */ + public static Algorithm from_string(string? type) { + if (type == null || type == "") + return UNKNOWN; + + string _type = type.strip().down(); + switch (_type) { + case "rsa": + return RSA; + case "dsa": + case "dss": + return DSA; + case "ecdsa": + return ECDSA; + case "ed25519": + return ED25519; + default: + return UNKNOWN; + } + } + + /** + * Tries to make an educated guess for the algorithm type. + * Basically it just checks if the given string contains the type. + * + * @return The guessed algorithm (can be UNKNOWN) + */ + public static Algorithm guess_from_string(string? str) { + if (str == null || str == "") + return UNKNOWN; + + string str_down = str.down(); + if ("rsa" in str_down) + return RSA; + + if (("dsa" in str_down) || ("dss" in str_down)) + return DSA; + + if ("ecdsa" in str_down) + return ECDSA; + + if ("ed25519" in str_down) + return ED25519; + + return UNKNOWN; + } +} diff --git a/ssh/backend.vala b/ssh/backend.vala new file mode 100644 index 00000000..84ea529a --- /dev/null +++ b/ssh/backend.vala @@ -0,0 +1,81 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2016 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +public class Seahorse.Ssh.Backend : GLib.Object, Gcr.Collection, Seahorse.Backend { + + private Source dot_ssh; + + public string name { get { return SEAHORSE_SSH_NAME; } } + public string label { get { return _("Secure Shell"); } } + public string description { get { return _("Keys used to connect securely to other computers"); } } + public ActionGroup actions { owned get { return Ssh.Actions.instance(); } } + + private bool _loaded; + public bool loaded { get { return _loaded; } } + + construct { + this.dot_ssh = new Source(); + this.dot_ssh.load.begin(null, (obj, res) => { + try { + this._loaded = dot_ssh.load.end(res); + } catch (GLib.Error e) { + warning("Failed to initialize SSH backend: %s", e.message); + } + }); + } + + public Backend() { + register(); + } + + public static Backend? instance { get; internal set; default = null; } + + public uint get_length() { + return 1; + } + + public List get_objects() { + List list = new List(); + list.append(this.dot_ssh); + return list; + } + + public bool contains(GLib.Object object) { + Source? src = object as Source; + + return (src != null) && (this.dot_ssh == src); + } + + public Seahorse.Place? lookup_place(string uri) { + if (this.dot_ssh != null && this.dot_ssh.uri != null && this.dot_ssh.uri == uri) + return this.dot_ssh; + + return null; + } + + public static void initialize() { + instance = new Backend(); + } + + public Source get_dot_ssh() { + return this.dot_ssh; + } +} diff --git a/ssh/deleter.vala b/ssh/deleter.vala new file mode 100644 index 00000000..e2e1221b --- /dev/null +++ b/ssh/deleter.vala @@ -0,0 +1,123 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2016 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + * + * Author: Stef Walter + */ + +public class Seahorse.Ssh.Deleter : Seahorse.Deleter { + + private bool have_private; + private List keys; + + public Deleter(Key key) { + if (!add_object(key)) + assert_not_reached (); + } + + public override Gtk.Dialog create_confirm(Gtk.Window? parent) { + uint num = this.keys.length(); + + string confirm, prompt; + if (this.have_private) { + assert(num == 1); + + prompt = _("Are you sure you want to delete the secure shell key “%s”?") + .printf(this.keys.data.label); + confirm = _("I understand that this secret key will be permanently deleted."); + + } else if (num == 1) { + prompt = _("Are you sure you want to delete the secure shell key “%s”?") + .printf(this.keys.data.label); + confirm = null; + + } else { + prompt = ngettext("Are you sure you want to delete %u secure shell key?", + "Are you sure you want to delete %u secure shell keys?", + num).printf(num); + confirm = null; + } + + Seahorse.DeleteDialog dialog = new Seahorse.DeleteDialog(parent, "%s", prompt); + + if (confirm != null) { + dialog.check_label = confirm; + dialog.check_require = true; + } + + return dialog; + } + + public override unowned GLib.List get_objects () { + return this.keys; + } + + public override bool add_object(GLib.Object object) { + Key key = object as Key; + if (this.have_private || key == null) + return false; + + if (key.usage == Seahorse.Usage.PRIVATE_KEY) { + if (this.keys != null) + return false; + this.have_private = true; + } + + this.keys.append(key); + return true; + } + + public override async bool delete(GLib.Cancellable? cancellable) throws GLib.Error { + foreach (Key key in this.keys) + delete_key(key); + + return true; + } + + /** + * Deletes a given key. + * + * @param key The key that should be deleted. + */ + public void delete_key(Key key) throws GLib.Error { + KeyData? keydata = key.key_data; + if (keydata == null) + throw new Error.GENERAL("Can't delete key with empty KeyData."); + + if (keydata.partial) { // Just part of a file for this key + if (keydata.pubfile != null) // Take just that line out of the file + KeyData.filter_file(keydata.pubfile, null, keydata); + + } else { // A full file for this key + if (keydata.pubfile != null) { + if (FileUtils.unlink(keydata.pubfile) == -1) + throw new Error.GENERAL("Couldn't delete public key file '%s'".printf(keydata.pubfile)); + } + + if (keydata.privfile != null) { + if (FileUtils.unlink(keydata.privfile) == -1) { + throw new Error.GENERAL("Couldn't delete private key file '%s'".printf(keydata.privfile)); + } + } + } + + Source source = (Source) key.place; + source.remove_object(key); + } +} diff --git a/ssh/errors.vala b/ssh/errors.vala new file mode 100644 index 00000000..5f3301c9 --- /dev/null +++ b/ssh/errors.vala @@ -0,0 +1,21 @@ +/* + * Seahorse + * + * Copyright (C) 2016 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ +public errordomain Seahorse.Ssh.Error { + GENERAL +} diff --git a/ssh/exporter.vala b/ssh/exporter.vala new file mode 100644 index 00000000..e9499493 --- /dev/null +++ b/ssh/exporter.vala @@ -0,0 +1,130 @@ +/* + * Seahorse + * + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2016 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + * + * Author: Stef Walter + */ + +public class Seahorse.Ssh.Exporter : GLib.Object, Seahorse.Exporter { + + private Key? key; + private List objects; + + private bool _secret; + public bool secret { + get { return this._secret; } + set { + this._secret = value; + notify_property("filename"); + notify_property("file-filter"); + notify_property("content-type"); + } + } + + public string filename { owned get { return get_filename(); } } + + public string content_type { + get { + return this.secret ? "application/x-pem-key" : "application/x-ssh-key"; + } + } + + public Gtk.FileFilter file_filter { + owned get { + Gtk.FileFilter filter = new Gtk.FileFilter(); + + if (this.secret) { + filter.set_name(_("Secret SSH keys")); + filter.add_mime_type("application/x-pem-key"); + filter.add_pattern("id_*"); + } else { + filter.set_name(_("Public SSH keys")); + filter.add_mime_type("application/x-ssh-key"); + filter.add_pattern("*.pub"); + } + + return filter; + } + } + + public Exporter(Key key, bool secret) { + this.secret = secret; + + if (!add_object(key)) + assert_not_reached (); + } + + private string? get_filename() { + if (this.key == null) + return null; + + KeyData? data = this.key.key_data; + if (data != null && !data.partial) { + string? location = null; + if (this.secret && data.privfile != null) + location = data.privfile; + else if (!this.secret && data.pubfile != null) + location = data.pubfile; + if (location != null) + return Path.get_basename(location); + } + + string basename = this.key.nickname ?? _("SSH Key"); + + if (this.secret) { + string filename = "id_%s".printf(basename).strip(); + filename.delimit(BAD_FILENAME_CHARS, '_'); + return filename; + } else { + string filename = "%s.pub".printf(basename).strip(); + filename.delimit(BAD_FILENAME_CHARS, '_'); + return filename; + } + } + + public unowned GLib.List get_objects() { + return this.objects; + } + + public bool add_object(GLib.Object object) { + Key key = object as Key; + if (key == null) + return false; + + if (this.secret && key.usage != Seahorse.Usage.PRIVATE_KEY) + return false; + + this.key = key; + this.objects.append(this.key); + notify_property("filename"); + return true; + } + + public async uint8[] export(GLib.Cancellable? cancellable) throws GLib.Error { + KeyData keydata = this.key.key_data; + + if (this.secret) + return ((Source) this.key.place).export_private(this.key).data; + + if (keydata.pubfile == null) + throw new Error.GENERAL(_("No public key file is available for this key.")); + + assert(keydata.rawdata != null); + return "%s\n".printf(keydata.rawdata).data; + } +} diff --git a/ssh/generate.vala b/ssh/generate.vala new file mode 100644 index 00000000..05b83c96 --- /dev/null +++ b/ssh/generate.vala @@ -0,0 +1,107 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +[GtkTemplate (ui = "/org/gnome/Seahorse/seahorse-ssh-generate.ui")] +public class Seahorse.Ssh.Generate : Gtk.Dialog { + public const int DEFAULT_DSA_SIZE = 1024; + public const int DEFAULT_RSA_SIZE = 2048; + + private Source source; + + [GtkChild] + private Gtk.Grid details_grid; + private KeyLengthChooser key_length_chooser; + [GtkChild] + private Gtk.Entry email_entry; + [GtkChild] + private Gtk.ComboBoxText algorithm_combo_box; + [GtkChild] + private Gtk.Button create_with_setup_button; + [GtkChild] + private Gtk.Button create_no_setup_button; + + public Generate(Source src, Gtk.Window parent) { + this.transient_for = parent; + this.source = src; + + this.create_no_setup_button.clicked.connect((b) => create_key(false)); + this.create_with_setup_button.clicked.connect((b) => create_key(true)); + + this.key_length_chooser = new KeyLengthChooser(); + this.key_length_chooser.halign = Gtk.Align.START; + this.details_grid.attach(this.key_length_chooser, 1, 3); + + // on_algo_changed() gets called, bits chooser is setup + algorithm_combo_box.set_active(0); + } + + [GtkCallback] + private void on_algo_changed(Gtk.ComboBox combo) { + string t = algorithm_combo_box.get_active_text(); + this.key_length_chooser.algorithm = Algorithm.from_string(t); + } + + private void create_key(bool upload) { + // The email address + string email = this.email_entry.text; + + // The algorithm + string t = this.algorithm_combo_box.get_active_text(); + Algorithm type = Algorithm.from_string(t); + assert(type != Algorithm.UNKNOWN); + + uint bits = this.key_length_chooser.get_length(); + + // The filename + string filename = this.source.new_filename_for_algorithm(type); + + // We start creation + Cancellable cancellable = new Cancellable(); + GenerateOperation op = new GenerateOperation(); + op.generate_async.begin(filename, email, type, bits, cancellable, (obj, res) => { + try { + op.generate_async.end(res); + + // The result of the operation is the key we generated + source.add_key_from_filename.begin(filename, (obj, res) => { + try { + Key key = source.add_key_from_filename.end(res); + + if (upload && key != null) { + List keys = new List(); + keys.append(key); + Upload.prompt(keys, null); + } + } catch (GLib.Error e) { + Seahorse.Util.show_error(null, _("Couldn’t load newly generated Secure Shell key"), e.message); + } + }); + } catch (GLib.Error e) { + Seahorse.Util.show_error(null, _("Couldn’t generate Secure Shell key"), e.message); + } + }); + Seahorse.Progress.show(cancellable, _("Creating Secure Shell Key"), false); + + response(Gtk.ResponseType.ACCEPT); + destroy(); + } + +} diff --git a/ssh/key-data.vala b/ssh/key-data.vala new file mode 100644 index 00000000..1fdb1e6a --- /dev/null +++ b/ssh/key-data.vala @@ -0,0 +1,258 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * Copyright (C) 2016 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +public class Seahorse.Ssh.KeyData : GLib.Object { + + /* Used by callers */ + public string privfile { get; set; } /* The secret key file */ + public string pubfile { get; set; } /* The public key file */ + public bool partial { get; set; } /* Only part of the public key file */ + public bool authorized { get; set; default = false; } /* Is in authorized_keys */ + + // These props are filled in by the parser + public string rawdata { get; internal set; } /* The raw data of the public key */ + public string? comment { get; internal set; } /* The comment for the public key */ + public string? fingerprint { get; internal set; } /* The full fingerprint hash */ + public uint length { get; internal set; } /* Number of bits */ + public Algorithm algo { get; internal set; } /* Key algorithm */ + + public bool is_valid() { + return this.fingerprint != null; + } + + /** + * Checks whether this key and another (in the form of a string) match. + */ + public bool match(string line) { + if (!is_valid()) + return false; + + try { + KeyData other = parse_line(line); + return (other.fingerprint != null) && (this.fingerprint == other.fingerprint); + } catch (GLib.Error e) { + warning(e.message); + } + + return false; + } + + public static KeyData parse_line(string? line) throws GLib.Error { + if (line == null || line.strip() == "") + throw new Error.GENERAL("Can't parse key from empty line."); + + string no_leading = line.chug(); + KeyData result = new KeyData(); + result.rawdata = no_leading; + + // Get the type + string[] type_rest = no_leading.split_set(" \t", 2); + if (type_rest.length != 2) + throw new Error.GENERAL("Can't distinguish type from data (space missing)."); + + string type = type_rest[0]; + if (type == "") + throw new Error.GENERAL("Key doesn't have a type."); + + result.algo = Algorithm.guess_from_string(type); + if (result.algo == Algorithm.UNKNOWN) + throw new Error.GENERAL("Key doesn't have a valid type (%s).".printf(type)); + + // Prepare for decoding + string rest = type_rest[1]; + if (rest == "") + throw new Error.GENERAL("Key doesn't have any data."); + string[] data_comment = rest.split_set(" \t", 2); + + // Decode it, and parse binary stuff + uchar[] bytes = Base64.decode(data_comment[0].strip()); + result.fingerprint = parse_key_blob(bytes); + + // The number of bits + result.length = calc_bits(result.algo, bytes.length); + + // And the rest is the comment + if (data_comment.length == 2) { + string comment = data_comment[1]; + + if (!comment.validate()) // If not utf8-valid, assume latin1 + result.comment = convert(comment, comment.length, "UTF-8", "ISO-8859-1"); + else + result.comment = comment; + } + + return result; + } + + internal static string parse_key_blob (uchar[] bytes) throws GLib.Error { + string digest = Checksum.compute_for_data(ChecksumType.MD5, bytes); + if (digest == null) + throw new Error.GENERAL("Can't calculate fingerprint from key."); + + StringBuilder fingerprint = new StringBuilder.sized((digest.length * 3) / 2); + for (size_t i = 0; i < digest.length; i += 2) { + if (i > 0) + fingerprint.append_c(':'); + fingerprint.append(digest.substring((long) i, 2)); + } + + return fingerprint.str; + } + + internal static uint calc_bits (Algorithm algo, uint len) { + // To keep us from having to parse a BIGNUM and link to openssl, these + // are from the hip guesses at the bits of a key based on the size of + // the binary blob in the public key. + switch (algo) { + case Algorithm.RSA: + // Seems accurate to nearest 8 bits + return ((len - 23) * 8); + + case Algorithm.DSA: + // DSA keys seem to only work at 'bits % 64 == 0' boundaries + uint n = ((len - 50) * 8) / 3; + return ((n / 64) + (((n % 64) > 32) ? 1 : 0)) * 64; // round to 64 + + case Algorithm.ED25519: + return 256; + + default: + return 0; + } + } + + // Adds and/or removes a keydata to a file (if added is already there, it is added at the back of the file). + public static void filter_file(string filename, KeyData? add, KeyData? remove = null) throws GLib.Error { + // By default filter out the one we're adding + if (remove == null) + remove = add; + + string contents; + FileUtils.get_contents(filename, out contents); + + StringBuilder results = new StringBuilder(); + + // Load each line + bool first = true; + string[] lines = (contents ?? "").split("\n"); + foreach (string line in lines) { + if (remove != null && remove.match(line)) + continue; + + if (!first) + results.append_c('\n'); + first = false; + results.append(line); + } + + // Add any that need adding + if (add != null) { + if (!first) + results.append_c('\n'); + results.append(add.rawdata); + } + + FileUtils.set_contents(filename, results.str); + } + + public string? get_location() { + return this.privfile != null ? this.privfile : this.pubfile; + } +} + +/** + * Represents the data in a private key. + */ +public class Seahorse.Ssh.SecData : GLib.Object { + public const string SSH_KEY_SECRET_SIG = "# SSH PRIVATE KEY: "; + public const string SSH_PRIVATE_BEGIN = "-----BEGIN "; + public const string SSH_PRIVATE_END = "-----END "; + + /** + * Everything excluding the comment + */ + public string rawdata { get; internal set; } + + public string? comment { get; internal set; } + + public Algorithm algo { get; internal set; } + + public static bool contains_private_key(string data) { + return (SSH_KEY_SECRET_SIG in data) || (SSH_PRIVATE_BEGIN in data); + } + + /** + * Finds the first occurence of a private key in the given string and parses it if found. + * NOTE: after parsing, it will *remove* the data with the private key from the string. + * + * @param data The data that contains a private key. + */ + public static SecData parse_data(StringBuilder data) throws GLib.Error { + SecData secdata = new SecData(); + + // Get the comment + if (data.str.has_prefix(SSH_KEY_SECRET_SIG)) { + string comment = data.str.split("\n", 2)[0]; + secdata.comment = comment.substring(SSH_KEY_SECRET_SIG.length).strip(); + } + + // First get our raw data (if there is none, don't bother) + string rawdata = parse_lines_block(data, SSH_PRIVATE_BEGIN, SSH_PRIVATE_END); + if (rawdata == null || rawdata == "") + throw new Error.GENERAL("Private key contains no data."); + + secdata.rawdata = rawdata; + + // Guess at the algorithm type + secdata.algo = Algorithm.guess_from_string(rawdata); + + return secdata; + } + + /** + * Takes everything between the start and end pattern and returns it. + * NOTE: The string (if found will) be removed from the argument. + */ + private static string parse_lines_block(StringBuilder data, string start, string end) { + StringBuilder result = new StringBuilder(); + + bool start_found = false; + string[] lines = data.str.split("\n"); + foreach (string line in lines) { + // Look for the beginning + if (!start_found) { + if (start in line) { + result.append_printf("%s\n", line); + result.erase(0, line.length + 1); + start_found = true; + continue; + } + } else { + // Look for the end + result.append_printf("%s\n", line); + result.erase(0, line.length + 1); + if (end in line) + break; + } + } + + return result.str; + } +} diff --git a/ssh/key-length-chooser.vala b/ssh/key-length-chooser.vala new file mode 100644 index 00000000..31fe399f --- /dev/null +++ b/ssh/key-length-chooser.vala @@ -0,0 +1,105 @@ +/* + * Seahorse + * + * Copyright (C) 2018 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/** + * The KeyLengthChooser allows the user choose the amount of bits a key should + * have (i.e. the strength of a key). Since the several types of keys (see + * {@link Ssh.Algorithm}) all support several sizes in their own way (if at + * all even), we need to adjust the UI to the chosen type. + * + * Please also refer to the man pages of ssh-keygen to know why some + * some restrictions are added. + */ +public class Seahorse.Ssh.KeyLengthChooser : Gtk.Stack { + + private Gtk.SpinButton spin_button; // For RSA + private Gtk.ComboBoxText combobox; // For ECDSA + private Gtk.Label not_supported; // For DSA, ED25519 and unknowns + + public Algorithm algorithm { get; set; } + + public KeyLengthChooser(Algorithm algo = Algorithm.RSA) { + this.visible = true; + + // RSA + var rsa_size_adj = new Gtk.Adjustment(2048, 1024, 8193, 256, 10, 1); + this.spin_button = new Gtk.SpinButton(rsa_size_adj, 1, 0); + add(this.spin_button); + + // ECDSA + this.combobox = new Gtk.ComboBoxText(); + this.combobox.append_text("256"); + this.combobox.append_text("384"); + this.combobox.append_text("521"); + this.combobox.active = 0; + add(this.combobox); + + // DSA, ED25519, and Unknown + this.not_supported = new Gtk.Label(null); + add(this.not_supported); + + show_all(); + + // Now set the initial algorithm + this.notify["algorithm"].connect(on_algo_changed); + this.algorithm = algo; + } + + /** + * Returns the chosen key length (in bits). In case of an unknown algorithm, + * it will return 0. + */ + public int get_length () { + switch (this.algorithm) { + case Algorithm.RSA: + return this.spin_button.get_value_as_int(); + case Algorithm.DSA: + return 1024; + case Algorithm.ECDSA: + return int.parse(this.combobox.get_active_text()); + case Algorithm.ED25519: + return 256; + } + + return 0; + } + + private void on_algo_changed (GLib.Object src, ParamSpec pspec) { + switch (this.algorithm) { + case Algorithm.RSA: + this.visible_child = this.spin_button; + break; + case Algorithm.ECDSA: + this.visible_child = this.combobox; + break; + case Algorithm.DSA: + this.not_supported.label = _("1024 bits"); + this.visible_child = this.not_supported; + break; + case Algorithm.ED25519: + this.not_supported.label = _("256 bits"); + this.visible_child = this.not_supported; + break; + case Algorithm.UNKNOWN: + this.not_supported.label = _("Unknown key type!"); + this.visible_child = this.not_supported; + break; + } + } +} diff --git a/ssh/key-properties.vala b/ssh/key-properties.vala new file mode 100644 index 00000000..6cf74353 --- /dev/null +++ b/ssh/key-properties.vala @@ -0,0 +1,204 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2016 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +[GtkTemplate (ui = "/org/gnome/Seahorse/seahorse-ssh-key-properties.ui")] +public class Seahorse.Ssh.KeyProperties : Gtk.Dialog { + + private Key key; + + // Used to make sure we don't start calling command unnecessarily + private bool updating_ui = false; + + [GtkChild] + private Gtk.Entry comment_entry; + [GtkChild] + private Gtk.Switch trust_check; + [GtkChild] + private Gtk.Button passphrase_button; + [GtkChild] + private Gtk.Button export_button; + [GtkChild] + private Gtk.Button copy_button; + [GtkChild] + private Gtk.Label fingerprint_label; + [GtkChild] + private Gtk.Label algo_label; + [GtkChild] + private Gtk.Label location_label; + [GtkChild] + private Gtk.Label pubkey_label; + [GtkChild] + private Gtk.Label key_length_label; + + public KeyProperties(Key key, Gtk.Window parent) { + GLib.Object( + use_header_bar: 1, + transient_for: parent + ); + this.key = key; + + update_ui(); + + // A public key only + if (key.usage != Seahorse.Usage.PRIVATE_KEY) { + this.passphrase_button.visible = false; + this.export_button.visible = false; + this.copy_button.visible = false; + } + + this.key.notify.connect(() => update_ui()); + } + + private void update_ui() { + this.updating_ui = true; + + // Name and title + this.comment_entry.text = this.key.label; + + // Setup the check + this.trust_check.active = (this.key.trust >= Seahorse.Validity.FULL); + + this.fingerprint_label.label = this.key.fingerprint; + this.algo_label.label = this.key.get_algo().to_string() ?? _("Unknown type"); + this.location_label.label = this.key.get_location(); + this.key_length_label.label = "%u".printf(this.key.get_strength()); + this.pubkey_label.label = this.key.pubkey; + + this.updating_ui = false; + } + + public override void response(int response) { + destroy(); + } + + [GtkCallback] + public void on_ssh_comment_activate(Gtk.Entry entry) { + // Make sure not the same + if (key.key_data.comment != null && entry.text == key.key_data.comment) + return; + + entry.sensitive = false; + + RenameOperation op = new RenameOperation(); + op.rename_async.begin(key, entry.text, this, (obj, res) => { + try { + op.rename_async.end(res); + } catch (GLib.Error e) { + Seahorse.Util.show_error(this, _("Couldn’t rename key."), e.message); + entry.text = key.key_data.comment ?? ""; + } + + entry.sensitive = true; + }); + } + + [GtkCallback] + private bool on_ssh_comment_focus_out(Gtk.Widget widget, Gdk.EventFocus event) { + on_ssh_comment_activate((Gtk.Entry) widget); + return false; + } + + [GtkCallback] + private void on_ssh_trust_changed(GLib.Object button, GLib.ParamSpec p) { + if (updating_ui) + return; + + this.trust_check.sensitive = false; + + Source source = (Source) key.place; + source.authorize_async.begin(key, trust_check.active, (obj, res) => { + try { + source.authorize_async.end(res); + } catch (GLib.Error e) { + Seahorse.Util.show_error(this, _("Couldn’t change authorization for key."), e.message); + } + + trust_check.sensitive = true; + }); + } + + [GtkCallback] + private void on_ssh_passphrase_button_clicked (Gtk.Button button) { + button.sensitive = false; + + ChangePassphraseOperation op = new ChangePassphraseOperation(); + op.change_passphrase_async.begin(key, null, (obj, res) => { + try { + op.change_passphrase_async.end(res); + } catch (GLib.Error e) { + Seahorse.Util.show_error(this, _("Couldn’t change passphrase for key."), e.message); + } + + button.sensitive = true; + }); + } + + [GtkCallback] + private void on_delete_clicked(Gtk.Button button) { + var deleter = this.key.create_deleter(); + var ret = deleter.prompt(this); + + if (!ret) + return; + + deleter.delete.begin(null, (obj, res) => { + try { + deleter.delete.end(res); + this.destroy(); + } catch (GLib.Error e) { + var dialog = new Gtk.MessageDialog(this, + Gtk.DialogFlags.MODAL, + Gtk.MessageType.ERROR, + Gtk.ButtonsType.OK, + _("Error deleting the SSH key.")); + dialog.run(); + dialog.destroy(); + } + }); + } + + [GtkCallback] + private void on_ssh_export_button_clicked (Gtk.Widget widget) { + List exporters = new List(); + exporters.append(new Exporter(key, true)); + + Seahorse.Exporter exporter; + string directory = null; + File file; + if (Seahorse.Exportable.prompt(exporters, this, ref directory, out file, out exporter)) { + exporter.export_to_file.begin(file, true, null, (obj, res) => { + try { + exporter.export_to_file.end(res); + } catch (GLib.Error e) { + Seahorse.Util.show_error(this, _("Couldn’t export key"), e.message); + } + }); + } + } + + [GtkCallback] + private void on_ssh_copy_button_clicked (Gtk.Widget widget) { + var display = widget.get_display (); + var clipboard = Gtk.Clipboard.get_for_display (display, Gdk.SELECTION_CLIPBOARD); + + clipboard.set_text(this.key.pubkey, -1); + } +} diff --git a/ssh/key.vala b/ssh/key.vala new file mode 100644 index 00000000..da3ba01b --- /dev/null +++ b/ssh/key.vala @@ -0,0 +1,302 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2016 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/** + * Represents an SSH key, consisting of a public/private pair. + */ +public class Seahorse.Ssh.Key : Seahorse.Object, Seahorse.Exportable, Seahorse.Deletable, Seahorse.Viewable { + public const int SSH_IDENTIFIER_SIZE = 8; + + private KeyData? _keydata; + public KeyData? key_data { + get { return _keydata; } + set { this._keydata = value; changed_key(); } + } + + /** + * Unique fingerprint for this key + */ + public string? fingerprint { + get { return (this.key_data != null) ? this.key_data.fingerprint : null; } + } + + /** + * Public data for this key + */ + public string? pubkey { + get { return (this.key_data != null) ? this.key_data.rawdata : null; } + } + + /** + * Description + */ + public string description { + get { return this.usage == Seahorse.Usage.PRIVATE_KEY ? _("Personal SSH key") : _("SSH key"); } + } + + /** + * Validity of this key + */ + public Seahorse.Validity validity { + get { + if (this.key_data != null && this.key_data.privfile != null) + return Seahorse.Validity.ULTIMATE; + return 0; + } + } + + /** + * Trust in this key + */ + public Seahorse.Validity trust { + get { + if (this.key_data == null) + warning("key_data is null"); + if (this.key_data != null && this.key_data.authorized) + return Seahorse.Validity.FULL; + return 0; + } + } + + /** + * Date this key expires on (0 if never) + */ + public ulong expires { + get { return 0; } + } + + /** + * The length of this key + */ + public uint length { + get { return this.key_data != null ? this.key_data.length : 0; } + } + + public Key(Source source, KeyData key_data) { + GLib.Object(place: source, key_data: key_data); + } + + private string? parse_first_word(string line) { + string PARSE_CHARS = "\t \n@;,.\\?()[]{}+/"; + + string[] words = line.split_set(PARSE_CHARS, 2); + return (words.length == 2)? words[0] : null; + } + + private void changed_key() { + if (this.key_data == null || this.key_data.fingerprint == null) { + this.label = ""; + this.icon = null; + this.usage = Usage.NONE; + this.nickname = ""; + this.object_flags = Flags.DISABLED; + return; + } + + if (this.key_data != null) { + // Try to make display and simple names + if (this.key_data.comment != null) { + this.label = this.key_data.comment; + this.nickname = parse_first_word(this.key_data.comment); + + // No names when not even the fingerpint loaded + } else if (this.key_data.fingerprint == null) { + this.label = _("(Unreadable Secure Shell Key)"); + // No comment, but loaded + } else { + this.label = _("Secure Shell Key"); + } + + if (this.nickname == null || this.nickname == "") + this.nickname = _("Secure Shell Key"); + } + + this.object_flags = Seahorse.Flags.EXPORTABLE | Seahorse.Flags.DELETABLE; + if (this.key_data.authorized) + this.object_flags |= Seahorse.Flags.TRUSTED; + + if (this.key_data.privfile != null) { + this.usage = Seahorse.Usage.PRIVATE_KEY; + this.object_flags |= Seahorse.Flags.PERSONAL | Seahorse.Flags.TRUSTED; + this.icon = new ThemedIcon(Gcr.ICON_KEY_PAIR); + } else { + this.object_flags = 0; + this.usage = Seahorse.Usage.PUBLIC_KEY; + this.icon = new ThemedIcon(Gcr.ICON_KEY); + } + + string filename = Path.get_basename(this.key_data.privfile ?? this.key_data.pubfile); + this.markup = Markup.printf_escaped("%s\n%s", + this.label, filename); + + this.identifier = calc_identifier(this.key_data.fingerprint); + } + + public void refresh() { + // TODO: Need to work on key refreshing + } + + public GLib.List create_exporters(ExporterType type) { + List exporters = new List(); + exporters.append(new Exporter(this, false)); + return exporters; + } + + public Seahorse.Deleter create_deleter() { + return new Deleter(this); + } + + public Gtk.Window? create_viewer(Gtk.Window? parent) { + KeyProperties properties_dialog = new KeyProperties(this, parent); + properties_dialog.show(); + return properties_dialog; + } + + public Algorithm get_algo() { + return this.key_data.algo; + } + + public string? get_location() { + if (this.key_data == null) + return null; + return this.key_data.get_location(); + } + + public uint get_strength() { + return (this.key_data != null)? this.key_data.length : 0; + } + + /** + * Creates a valid identifier for an SSH key from a given string. + * + * @return A valid identifier, or null if the result is too short. + */ + public static string? calc_identifier(string id) { + // Strip out all non-alphanumeric chars and limit length to SSH_ID_SIZE + try { + Regex regex = new Regex("[^a-zA-Z0-9]"); + string result = regex.replace(id, id.length, 0, ""); + + if (result.length >= SSH_IDENTIFIER_SIZE) + return result.substring(0, result.length); + } catch (RegexError e) { + warning("Couldn't create regex for calc_identifier. Message: %s".printf(e.message)); + } + + return null; + } + + /** + * Sometimes keys loaded later on have more information (e.g. keys loaded + * from authorized_keys), so propagate that up to the previously loaded key. + */ + public void merge_keydata(KeyData keydata) { + if (!this.key_data.authorized && keydata.authorized) { + this.key_data.authorized = true; + + // Let the key know something's changed + this.key_data = this.key_data; + } + } + + /** + * Parses a string into public/private keys. + * + * @param data The string that needs to be parsed. + * @param pub_handler Will be called anytime a public key has been parsed. + * If null, nothing will be done if a public key is parsed. + * @param priv_handler Will be called anytime a private key has been parsed. + * If null, nothing will be done if a private key is parsed. + * @param cancellable Can be used to cancel the parsing. + */ + public static async void parse(string data, + PubParsedHandler? pub_handler, + PrivParsedHandler? priv_handler = null, + Cancellable? cancellable = null) throws GLib.Error { + if (data == null || data == "") + return; + + StringBuilder toParse = new StringBuilder(data.chug()); + while (toParse.str.length > 0) { + // First of all, check for a private key, as it can span several lines + if (SecData.contains_private_key(toParse.str)) { + try { + SecData secdata = SecData.parse_data(toParse); + if (priv_handler != null) + priv_handler(secdata); + continue; + } catch (GLib.Error e) { + warning(e.message); + } + } + + // We're sure we'll have at least 1 element + string[] lines = toParse.str.split("\n", 2); + string line = lines[0]; + toParse.erase(0, line.length); + if (lines.length == 2) // There was a \n, so don't forget to erase it as well + toParse.erase(0, 1); + + // Comments and empty lines, not a parse error, but no data + if (line.strip() == "" || line.has_prefix("#")) + continue; + + // See if we have a public key + try { + KeyData keydata = KeyData.parse_line(line); + if (pub_handler != null) + pub_handler(keydata); + } catch (GLib.Error e) { + warning(e.message); + } + } + } + + /** + * Parses the contents of the given file into public/private keys. + * + * @param data The file that will be parsed. + * @param pub_handler Will be called anytime a public key has been parsed. + * If null, nothing will be done if a public key is parsed. + * @param priv_handler Will be called anytime a private key has been parsed. + * If null, nothing will be done if a private key is parsed. + * @param cancellable Can be used to cancel the parsing. + */ + public static async void parse_file(string filename, + PubParsedHandler? pub_handler, + PrivParsedHandler? priv_handler = null, + Cancellable? cancellable = null) throws GLib.Error { + string contents; + FileUtils.get_contents(filename, out contents); + + yield parse(contents, pub_handler, priv_handler, cancellable); + } + + /** + * Takes care of the public key that has been found in a string while parsing. + */ + public delegate bool PubParsedHandler(KeyData data); + + /** + * Takes care of the private key that has been found in a string while parsing. + */ + public delegate bool PrivParsedHandler(SecData data); +} diff --git a/ssh/meson.build b/ssh/meson.build new file mode 100644 index 00000000..15418772 --- /dev/null +++ b/ssh/meson.build @@ -0,0 +1,60 @@ +ssh_sources = files( + 'actions.vala', + 'algorithm.vala', + 'backend.vala', + 'deleter.vala', + 'errors.vala', + 'exporter.vala', + 'generate.vala', + 'key-data.vala', + 'key-length-chooser.vala', + 'key-properties.vala', + 'key.vala', + 'operation.vala', + 'source.vala', + 'ssh.vala', + 'upload.vala', +) + +ssh_dependencies = [ + glib_deps, + gcr, + gcr_ui, + posix, + gtk, + common_dep, +] + +ssh_vala_args = [ + '--gresources', resources_xml, +] + +ssh_lib = static_library('seahorse-ssh', + ssh_sources, + vala_args: ssh_vala_args, + dependencies: ssh_dependencies, +) + +ssh_dep = declare_dependency( + link_with: ssh_lib, + include_directories: include_directories('.'), +) + +# ssh-askpass helper binary +ssh_askpass_sources = files( + 'seahorse-ssh-askpass.c', +) + +ssh_askpass_dependencies = [ + gcr, + gtk, + config, + common_dep, +] + +ssh_askpass = executable('ssh-askpass', + ssh_askpass_sources, + dependencies: ssh_askpass_dependencies, + install: true, + install_dir: libexecbindir, +) diff --git a/ssh/operation.vala b/ssh/operation.vala new file mode 100644 index 00000000..6efb7e17 --- /dev/null +++ b/ssh/operation.vala @@ -0,0 +1,399 @@ +/* + * Seahorse + * + * Copyright (C) 2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2016 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +namespace Seahorse.Ssh { + +/** + * Wraps a command-line executable in its own async method. + * + * Since OpenSSH doesn't provide a library (or didn't at the time of writing), + * we use a small wrapper around the ssh and ssh-keygen executables. + * So, create a subclass instead and do whatever you want with the output. + */ +public abstract class Operation : GLib.Object { + + private string command_name; + + private StringBuilder _std_out = new StringBuilder(); + protected StringBuilder std_out { get { return _std_out; } } + + private StringBuilder _std_err = new StringBuilder(); + protected StringBuilder std_err { get { return _std_err; } } + + private Pid pid; + + // These are all fields that will be used in case the user will be prompted. + protected string? prompt_title; + protected string? prompt_message; + protected string? prompt_argument; + protected ulong prompt_transient_for; + + /** + * Calls a command and returns the output. + * + * @param command The command that should be launched. + * @param input The standard input for the command, or null if none expected. + * @param cancellable Can be used if you want to cancel. The process will be killed. + * @return The output of the command. + */ + protected async void operation_async(string command, + string? input, + Cancellable? cancellable) throws GLib.Error { + if (command == null || command == "") + return; + + string[] args; + try { + Shell.parse_argv(command, out args); + this.command_name = args[0]; + } catch (GLib.Error e) { + critical("Couldn't parse SSH command line %s.", command); + throw e; + } + + debug("SSHOP: Executing SSH command: %s", command); + + // And off we go to run the program + int? fin, fout, ferr; + if (input != null) + fin = null; + Process.spawn_async_with_pipes(null, args, null, + SpawnFlags.DO_NOT_REAP_CHILD | SpawnFlags.LEAVE_DESCRIPTORS_OPEN, + on_spawn_setup_child, out this.pid, out fin, out fout, out ferr); + + ulong cancelled_sig = 0; + if (cancellable != null) { + cancelled_sig = cancellable.connect(() => { +#if VALA_0_40 + Posix.kill(this.pid, Posix.Signal.TERM); +#else + Posix.kill(this.pid, Posix.SIGTERM); +#endif + }); + } + + // Copy the input for later writing + if (input != null) { + StringBuilder std_in = new StringBuilder(input); + debug("Sending input to '%s': '%s'", this.command_name, std_in.str); + create_io_channel(std_in, fin, IOCondition.OUT, + (io, cond) => on_io_ssh_write(io, cond, std_in)); + } + + // Make all the proper IO Channels for the output/error + create_io_channel(this.std_out, fout, IOCondition.IN, + (io, cond) => on_io_ssh_read(io, cond, this.std_out)); + create_io_channel(this.std_err, ferr, IOCondition.IN, + (io, cond) => on_io_ssh_read(io, cond, this.std_err)); + + // Process watch + watch_ssh_process(cancellable, cancelled_sig); + } + + private void create_io_channel(StringBuilder data, + int handle, + IOCondition io_cond, + IOFunc io_func) throws GLib.Error { + Posix.fcntl(handle, Posix.F_SETFL, Posix.O_NONBLOCK | Posix.fcntl(handle, Posix.F_GETFL)); + IOChannel io_channel = new IOChannel.unix_new(handle); + io_channel.set_encoding(null); + io_channel.set_close_on_unref(true); + io_channel.add_watch(io_cond, io_func); + } + + private void watch_ssh_process(Cancellable? cancellable, ulong cancelled_sig) throws GLib.Error { + ChildWatch.add_full(Priority.DEFAULT, this.pid, (pid, status) => { + debug("Process '%s' done.", this.command_name); + + // FIXME This is the wrong place to catch that error really + try { + Process.check_exit_status(status); + } catch (GLib.Error e) { + Seahorse.Util.show_error(null, this.prompt_title, this.std_err.str); + } + cancellable.disconnect(cancelled_sig); + Process.close_pid(pid); + }); + } + + private bool on_io_ssh_read(IOChannel source, IOCondition condition, StringBuilder data) { + try { + IOStatus status = IOStatus.NORMAL; + while (status != IOStatus.EOF) { + string buf; + status = source.read_line(out buf, null, null); + + if (status == IOStatus.NORMAL && buf != null) { + data.append(buf); + debug("%s", data.str.substring(buf.length)); + } + } + } catch (GLib.Error e) { + critical("Couldn't read output of SSH command. Error: %s", e.message); +#if VALA_0_40 + Posix.kill(this.pid, Posix.Signal.TERM); +#else + Posix.kill(this.pid, Posix.SIGTERM); +#endif + return false; + } + + return true; + } + + private bool on_io_ssh_write(IOChannel source, IOCondition condition, StringBuilder input) { + debug("SSHOP: SSH ready for input"); + try { + size_t written = 0; + IOStatus status = source.write_chars(input.str.to_utf8(), out written); + if (status != IOStatus.AGAIN) { + debug("SSHOP: Wrote %u bytes to SSH", (uint) written); + input.erase(0, (ssize_t) written); + } + } catch (GLib.Error e) { + critical("Couldn't write to STDIN of SSH command. Error: %s", e.message); +#if VALA_0_40 + Posix.kill(this.pid, Posix.Signal.TERM); +#else + Posix.kill(this.pid, Posix.SIGTERM); +#endif + return false; + } + + return true; + } + + private void on_spawn_setup_child() { + // No terminal for this process + Posix.setsid(); + + Environment.set_variable("SSH_ASKPASS",GLib.Path.build_filename(Config.EXECDIR, "ssh-askpass"), false); + + // We do screen scraping so we need locale C + if (Environment.get_variable("LC_ALL") != null) + Environment.set_variable("LC_ALL", "C", true); + Environment.set_variable("LANG", "C", true); + + if (this.prompt_title != null) + Environment.set_variable("SEAHORSE_SSH_ASKPASS_TITLE", prompt_title, true); + if (this.prompt_message != null) + Environment.set_variable("SEAHORSE_SSH_ASKPASS_MESSAGE", prompt_message, true); + if (this.prompt_transient_for != 0) { + string parent = "%lu".printf(prompt_transient_for); + Environment.set_variable("SEAHORSE_SSH_ASKPASS_PARENT", parent, true); + } + } +} + +public class UploadOperation : Operation { + /** + * Uploads a set of keys to a given host. + * + * @param keys The keys that should be uploaded. + * @param username The username to use on the server. + * @param hostname The URL of the host. + * @param port The port of the host. If none is specified, the default port is used. + * @param cancellable Used if you want to cancel the operation. + */ + public async void upload_async(List keys, + string username, string hostname, string? port, + Cancellable? cancellable) throws GLib.Error { + this.prompt_title = _("Remote Host Password"); + + if (keys == null + || username == null || username == "" + || hostname == null || hostname == "") + return; + + if (port == null) + port = ""; + + StringBuilder data = new StringBuilder.sized(1024); + keys.foreach((key) => { + KeyData keydata = key.key_data; + if (keydata != null && keydata.pubfile != null) { + data.append(keydata.rawdata); + data.append_c('\n'); + } + }); + + /* + * This command creates the .ssh directory if necessary (with appropriate permissions) + * and then appends all input data onto the end of .ssh/authorized_keys + */ + // TODO: Important, we should handle the host checking properly + string cmd = "%s '%s@%s' %s %s -o StrictHostKeyChecking=no \"umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys\"" + .printf(Config.SSH_PATH, username, hostname, port != "" ? "-p" : "", port); + + yield operation_async(cmd, data.str, cancellable); + } +} + +public class ChangePassphraseOperation : Operation { + /** + * Changes the passphrase of the given key. + * + * @param key The key of which to change the passphrase. + * @param cancellable Used if you want to cancel the operation. + */ + public async void change_passphrase_async(Key key, + Cancellable? cancellable) throws GLib.Error { + if (key.key_data == null || key.key_data.privfile == null) + return; + + this.prompt_title = _("Enter Key Passphrase"); + this.prompt_argument = key.label; + + string cmd = "%s -p -f '%s'".printf(Config.SSH_KEYGEN_PATH, key.key_data.privfile); + yield operation_async(cmd, null, cancellable); + } +} + +public class GenerateOperation : Operation { + /** + * Generates an SSH key pair. + * + * @param filename The filename of the new key. + * @param email The e-mail address for which the key should be made. + * @param type The type of key, i.e. which algorithm should be used; + * @param bits The amount of bits that should be used. + * @param cancellable Used if you want to cancel the operation. + */ + public async void generate_async(string filename, + string email, + Algorithm type, + uint bits, + Cancellable cancellable) throws GLib.Error { + if (type == Algorithm.UNKNOWN) + throw new Error.GENERAL("Can't generate key for an unknown algorithm"); + + this.prompt_title = _("Passphrase for New Secure Shell Key"); + + string algo = type.to_string().down(); + string bits_str = (bits != 0)? "-b '%u'".printf(bits) : ""; + string comment = GLib.Shell.quote(email); + + string cmd = "%s %s -t '%s' -C %s -f '%s'".printf(Config.SSH_KEYGEN_PATH, bits_str, algo, comment, filename); + + yield operation_async(cmd, null, cancellable); + } +} + +public class PrivateImportOperation : Operation { + /** + * Imports a private key into a file. + * + * @param source The source that will decide the location of the private key. + * @param data The public key that needs to be imported. + * @param filename The name of the file in which the key should be imported. + * @param cancellable Allows the operation to be cancelled. + */ + public async string? import_private_async(Source source, + SecData data, + string? filename, + Cancellable cancellable) throws GLib.Error { + if (data == null || data.rawdata == null) + throw new Error.GENERAL("Trying to import private key that is empty."); + + // No filename specified, make one up + string file = filename ?? source.new_filename_for_algorithm(data.algo); + + // Add the comment to the output + string message = (data.comment != null) ? + _("Importing key: %s").printf(data.comment) : _("Importing key. Enter passphrase"); + + // The prompt + this.prompt_title = _("Import Key"); + this.prompt_message = message; + + // Write the private key into the file + FileUtils.set_contents(file, data.rawdata); + + // Start command to generate public key + string cmd = "%s -y -f '%s'".printf(Config.SSH_KEYGEN_PATH, file); + yield operation_async(cmd, null, cancellable); + + // Only use the first line of the output + int pos = int.max(this.std_out.str.index_of_char('\n'), std_out.str.index_of_char('\r')); + if (pos != -1) + std_out.erase(pos); + + // Parse the data so we can get the fingerprint + KeyData? keydata = KeyData.parse_line(std_out.str); + + // Add the comment to the output + if (data.comment != null) { + std_out.append_c(' '); + std_out.append(data.comment); + } + + // The file to write to + string pubfile = "%s.pub".printf(file); + FileUtils.set_contents(pubfile, std_out.str); + + if (keydata != null && keydata.is_valid()) + return keydata.fingerprint; + + throw new Error.GENERAL("Couldn't parse imported private key fingerprint"); + } +} + +public class RenameOperation : Operation { + /** + * Renames/Deletes the comment in a key. + * + * @param key The key that should have its comment renamed/deleted. + * @param new_comment The new comment of the key (or null if the previous + * comment should be deleted) + */ + public async void rename_async(Key key, string? new_comment, Gtk.Window transient_for) throws GLib.Error { + KeyData keydata = key.key_data; + + if (new_comment == null) + new_comment = ""; + + if (!change_raw_comment (keydata, new_comment)) + return; + + debug("Renaming key to: %s", new_comment); + + assert (keydata.pubfile != null); + if (keydata.partial) // Just part of a file for this key + KeyData.filter_file (keydata.pubfile, keydata, keydata); + else // A full file for this key + FileUtils.set_contents(keydata.pubfile, keydata.rawdata); + } + + private bool change_raw_comment(KeyData keydata, string new_comment) { + assert(keydata.rawdata != null); + + string no_leading = keydata.rawdata.chug(); + string[] parts = no_leading.split_set(" ", 3); + if (parts.length < 3) + return false; + + keydata.rawdata = parts[0] + " " + parts[1] + " " + new_comment; + + return true; + } +} + +} diff --git a/ssh/seahorse-ssh-askpass.c b/ssh/seahorse-ssh-askpass.c new file mode 100644 index 00000000..5ebeeb2b --- /dev/null +++ b/ssh/seahorse-ssh-askpass.c @@ -0,0 +1,144 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + * + * Author: Stef Walter + */ + +#include "config.h" + +#include "seahorse-common.h" + +#include +#include +#include + +#include +#include +#include + +#ifdef GDK_WINDOWING_X11 +#include +#endif + +int +main (int argc, char* argv[]) +{ + GdkWindow *transient_for = NULL; + SeahorsePassphrasePrompt *dialog; + const gchar *title; + const gchar *argument; + gchar *message; + const gchar *flags; + gint result; + const gchar *pass; + gulong xid; + gssize len; + + bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); + + gtk_init (&argc, &argv); + + /* Non buffered stdout */ + setvbuf (stdout, 0, _IONBF, 0); + +#ifdef GDK_WINDOWING_X11 + argument = g_getenv ("SEAHORSE_SSH_ASKPASS_PARENT"); + if (argument) { + GdkDisplay *display = gdk_display_get_default (); + if (GDK_IS_X11_DISPLAY (display)) { + xid = strtoul (argument, NULL, 10); + if (xid != 0) + transient_for = gdk_x11_window_foreign_new_for_display (display, xid); + if (transient_for == NULL) + g_warning ("Couldn't find window to be transient for: %s", argument); + } + } +#endif + + title = g_getenv ("SEAHORSE_SSH_ASKPASS_TITLE"); + if (!title || !title[0]) + title = _("Enter your Secure Shell passphrase:"); + + message = (gchar *)g_getenv ("SEAHORSE_SSH_ASKPASS_MESSAGE"); + if (message && message[0]) + message = g_strdup (message); + else if (argc > 1) + message = g_strjoinv (" ", argv + 1); + else + message = g_strdup (_("Enter your Secure Shell passphrase:")); + + argument = g_getenv ("SEAHORSE_SSH_ASKPASS_ARGUMENT"); + if (!argument) + argument = ""; + + flags = g_getenv ("SEAHORSE_SSH_ASKPASS_FLAGS"); + if (!flags) + flags = ""; + if (strstr (flags, "multiple")) { + gchar *lower = g_ascii_strdown (message, -1); + + /* Need the old passphrase */ + if (strstr (lower, "old pass")) { + title = _("Old Key Passphrase"); + message = g_strdup_printf (_("Enter the old passphrase for: %s"), argument); + + /* Look for the new passphrase thingy */ + } else if (strstr (lower, "new pass")) { + title = _("New Key Passphrase"); + message = g_strdup_printf (_("Enter the new passphrase for: %s"), argument); + + /* Confirm the new passphrase, just send it again */ + } else if (strstr (lower, "again")) { + title = _("New Key Passphrase"); + message = g_strdup_printf (_("Enter the new passphrase again: %s"), argument); + } + + g_free (lower); + } + + dialog = seahorse_passphrase_prompt_show_dialog (title, message, _("Password:"), + NULL, FALSE); + + g_free (message); + + if (transient_for) { + gdk_window_set_transient_for (gtk_widget_get_window (GTK_WIDGET (dialog)), + transient_for); + } + + result = 1; + if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) { + pass = seahorse_passphrase_prompt_get_text (dialog); + len = strlen (pass ? pass : ""); + if (write (1, pass, len) != len) { + g_warning ("couldn't write out password properly"); + result = 1; + } else { + result = 0; + } + } + + if (transient_for) + g_object_unref (transient_for); + gtk_widget_destroy (GTK_WIDGET (dialog)); + return result; +} + diff --git a/ssh/seahorse-ssh-generate.ui b/ssh/seahorse-ssh-generate.ui new file mode 100644 index 00000000..09645877 --- /dev/null +++ b/ssh/seahorse-ssh-generate.ui @@ -0,0 +1,248 @@ + + + + + diff --git a/ssh/seahorse-ssh-key-properties.ui b/ssh/seahorse-ssh-key-properties.ui new file mode 100644 index 00000000..884ce261 --- /dev/null +++ b/ssh/seahorse-ssh-key-properties.ui @@ -0,0 +1,393 @@ + + + + + False + gtk-edit + + + diff --git a/ssh/seahorse-ssh-upload.ui b/ssh/seahorse-ssh-upload.ui new file mode 100644 index 00000000..ee335019 --- /dev/null +++ b/ssh/seahorse-ssh-upload.ui @@ -0,0 +1,146 @@ + + + + + diff --git a/ssh/source.vala b/ssh/source.vala new file mode 100644 index 00000000..41092534 --- /dev/null +++ b/ssh/source.vala @@ -0,0 +1,471 @@ +/* + * Seahorse + * + * Copyright (C) 2004-2006 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (c) 2016 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +/** + * The {@link Place} where SSH keys are stored. By default that is ~/.ssh. + * Basically, this becomes an interface to the SSH home directory. + */ +public class Seahorse.Ssh.Source : GLib.Object, Gcr.Collection, Seahorse.Place { + + // Paths to the authorized_keys file and one for unauthorized keys + // The second file is Seahorse-specific, to allow users to retain public + // keys without trusting them. (this also has the nice side effect that you + // can undo certain operaions) + public const string AUTHORIZED_KEYS_FILE = "authorized_keys"; + public const string OTHER_KEYS_FILE = "other_keys.seahorse"; + + // The home directory for SSH keys. + private string ssh_homedir; + // Source for refresh timeout + private uint scheduled_refresh_source = 0; + // For monitoring the .ssh directory + private FileMonitor? monitor_handle = null; + + // The list of Seahorse.Ssh.Keys + private ListStore keys = new ListStore(typeof(Ssh.Key)); + + public string label { + owned get { return _("OpenSSH keys"); } + set { } + } + + public string description { + owned get { return _("OpenSSH: %s").printf(this.ssh_homedir); } + } + + public string uri { + owned get { return _("openssh://%s").printf(this.ssh_homedir); } + } + + public Icon icon { + owned get { return new ThemedIcon(Gcr.ICON_HOME_DIRECTORY); } + } + + public Place.Category category { + get { return Place.Category.KEYS; } + } + + public GLib.ActionGroup? actions { + owned get { return null; } + } + + public unowned string? action_prefix { + get { return null; } + } + + public MenuModel? menu_model { + owned get { return null; } + } + + public bool show_if_empty { + get { return true; } + } + + /** + * The directory containing the SSH keys. + */ + public string base_directory { + get { return ssh_homedir; } + } + + construct { + this.ssh_homedir = "%s/.ssh".printf(Environment.get_home_dir()); + + // Make the .ssh directory if it doesn't exist + if (!FileUtils.test(this.ssh_homedir, FileTest.EXISTS)) { + if (DirUtils.create(this.ssh_homedir, 0700) != 0) { + warning("couldn't create .ssh directory: %s", this.ssh_homedir); + return; + } + } + + monitor_ssh_homedir(); + } + + private bool check_file_for_ssh(string filename) { + if(!FileUtils.test(filename, FileTest.IS_REGULAR)) + return false; + + try { + string contents; + FileUtils.get_contents(filename, out contents); + + // Check for our signature + return " PRIVATE KEY-----" in contents; + } catch (FileError e) { + warning("Error reading file '%s' to check for SSH key. %s".printf(filename, e.message)); + } + + return false; + } + + private void cancel_scheduled_refresh () { + if (this.scheduled_refresh_source != 0) { + debug("Cancelling scheduled refresh event"); + GLib.Source.remove(this.scheduled_refresh_source); + this.scheduled_refresh_source = 0; + } + } + + private bool scheduled_refresh() { + debug("Scheduled refresh event ocurring now"); + cancel_scheduled_refresh(); + load.begin(null); + return false; // don't run again + } + + private bool scheduled_dummy() { + debug("Dummy refresh event occurring now"); + this.scheduled_refresh_source = 0; + return false; // don't run again + } + + private void monitor_ssh_homedir() { + File? dot_ssh_dir = File.new_for_path(this.ssh_homedir); + if (dot_ssh_dir == null) + return; + + try { + this.monitor_handle = dot_ssh_dir.monitor_directory(FileMonitorFlags.NONE, null); + this.monitor_handle.changed.connect((file, other_file, event_type) => { + if (this.scheduled_refresh_source != 0 || + (event_type != FileMonitorEvent.CHANGED && + event_type != FileMonitorEvent.CHANGES_DONE_HINT && + event_type != FileMonitorEvent.DELETED && + event_type != FileMonitorEvent.CREATED)) + return; + + string? path = file.get_path(); + if (path == null) + return; + + // Filter out any noise + if (event_type != FileMonitorEvent.DELETED + && !path.has_suffix(AUTHORIZED_KEYS_FILE) + && !path.has_suffix(OTHER_KEYS_FILE) + && !path.has_suffix(".pub") + && !SecData.contains_private_key(path)) + return; + + debug("Scheduling refresh event due to file changes"); + this.scheduled_refresh_source = Timeout.add(500, scheduled_refresh); + }); + } catch (GLib.Error e) { + warning("couldn't monitor ssh directory: %s: %s", this.ssh_homedir, e.message); + } + } + + public uint get_length() { + return this.keys.get_n_items(); + } + + public List get_objects() { + var objects = new List(); + for (uint i = 0; i < this.keys.get_n_items(); i++) + objects.append(this.keys.get_item(i)); + return objects; + } + + public bool contains(GLib.Object object) { + return Util.list_store_find(this.keys, object, null); + } + + public void remove_object(GLib.Object object) { + uint pos; + if (Util.list_store_find(this.keys, object, out pos)) { + this.keys.remove(pos); + removed(object); + } + } + + public string authorized_keys_path() { + return Path.build_filename(this.ssh_homedir, AUTHORIZED_KEYS_FILE); + } + + public string other_keys_path() { + return Path.build_filename(this.ssh_homedir, OTHER_KEYS_FILE); + } + + public async Key? add_key_from_filename(string? privfile) throws GLib.Error { + if (privfile == null) + return null; + + // Check if it was already loaded once. If not, load it now + for (uint i = 0; i < this.keys.get_n_items(); i++) { + var key = (Ssh.Key) this.keys.get_item(i); + if (key.key_data.privfile == privfile) { + return key; + } + } + + return yield load_key_for_private_file(privfile); + } + + // Loads the (public) key for a private key. + private async Key? load_key_for_private_file(string privfile) throws GLib.Error { + string pubfile = privfile + ".pub"; + Key? key = null; + + // possibly an SSH key? + if (FileUtils.test(privfile, FileTest.EXISTS) + && FileUtils.test(pubfile, FileTest.EXISTS) + && check_file_for_ssh(privfile)) { + try { + yield Key.parse_file(pubfile, (keydata) => { + key = Source.add_key_from_parsed_data(this, keydata, pubfile, false, false, privfile); + return true; + }); + } catch (GLib.Error e) { + throw new Error.GENERAL("Couldn't read SSH file: %s (%s)".printf(pubfile, e.message)); + } + } + + return key; + } + + public string? export_private(Key key) throws GLib.Error { + KeyData? keydata = key.key_data; + if (keydata == null) + return null; + + if (keydata.privfile == null) + throw new Error.GENERAL(_("No private key file is available for this key.")); + + // And then the data itself + string results; + if (!FileUtils.get_contents(keydata.privfile, out results)) + return null; + + return results; + } + + /** + * Loads the keys from this Source's directory. + * + * @param cancellable Use this to cancel the operation. + */ + public async bool load(GLib.Cancellable? cancellable) throws GLib.Error { + // Schedule a dummy refresh. This blocks all monitoring for a while + cancel_scheduled_refresh(); + this.scheduled_refresh_source = Timeout.add(500, scheduled_dummy); + debug("scheduled a dummy refresh"); + + // List the .ssh directory for private keys + Dir dir = Dir.open(this.ssh_homedir); + + // Load each key file in ~/.ssh + string? filename = null; + while ((filename = dir.read_name()) != null) { + string privfile = Path.build_filename(this.ssh_homedir, filename); + load_key_for_private_file.begin(privfile); + } + + // Now load the authorized keys + string pubfile = authorized_keys_path(); + Key.parse_file.begin(pubfile, (keydata) => { + Source.add_key_from_parsed_data(this, keydata, pubfile, true, true, null); + return true; + }); + + // Load the "other keys" (public keys without authorization) + pubfile = other_keys_path(); + Key.parse_file.begin(pubfile, (keydata) => { + Source.add_key_from_parsed_data(this, keydata, pubfile, true, false, null); + return true; + }); + + return true; + } + + public static Key? add_key_from_parsed_data(Source src, + KeyData? keydata, + string pubfile, + bool partial, + bool authorized, + string? privfile = null, + GLib.GenericArray? checks = null) { + return_val_if_fail (keydata != null && keydata.is_valid(), null); + + keydata.pubfile = pubfile; + keydata.partial = partial; + keydata.authorized = authorized; + if (privfile != null) + keydata.privfile = privfile; + + // Mark src key as seen + if (checks != null) + checks.remove(keydata.fingerprint); + + // Does src key exist in the context? + Key? prev = src.find_key_by_fingerprint(keydata.fingerprint); + if (prev != null) + prev.merge_keydata(keydata); + + // Don't create a new key if we already got one earlier + if (prev != null) + return prev; + + // Create a new key + Key key = new Key(src, keydata); + src.keys.append(key); + src.added(key); + + return key; + } + + + /** + * Parse an inputstream into a list of keys and import those keys. + */ + public async List? import_async(InputStream input, Gtk.Window transient_for, + Cancellable? cancellable = null) throws GLib.Error { + uint8[] buffer = new uint8[4096]; + size_t bytes_read; + input.read_all(buffer, out bytes_read, cancellable); + + string fullpath = other_keys_path(); + Source src = this; + + Key.parse.begin((string) buffer, + (keydata) => { + import_public_async.begin(keydata, fullpath, cancellable); + return true; + }, + (secdata) => { + new PrivateImportOperation().import_private_async.begin(src, secdata, null, cancellable); + return true; + }); + + // TODO: The list of keys imported? + return null; + } + + /** + * Import a public key into a file. + * + * @param data The public key that needs to be imported. + * @param filename The name of the file in which the key should be imported. + * @param cancellable Allows the operation to be cancelled. + */ + public async string import_public_async(KeyData data, + string filename, + Cancellable? cancellable) throws GLib.Error { + if (data == null || !data.is_valid() || data.rawdata == null) + throw new Error.GENERAL("Trying to import an invalid public key."); + + KeyData.filter_file(filename, data); + + return data.fingerprint; + } + + /** + * Returns a possible filename for a key. + * + * @param algo The type of the key + */ + public string? new_filename_for_algorithm(Algorithm algo) { + string type = algo.to_string() ?? "unk"; + string basename = "id_%s".printf(type.down()); + + string? filename = null; + for (int i = 0; i < int.MAX; i++) { + string t = (i == 0) ? basename : "%s.%d".printf(basename, i); + filename = Path.build_filename(this.base_directory, t); + + if (!FileUtils.test(filename, FileTest.EXISTS)) + break; + + filename = null; + } + + return filename; + } + + /** + * Adds/Removes a public key to/from the authorized keys. + * + * @param key The key that needs to be authorized. + * @param authorize Whether the specified key needs to be (de-)authorized. + */ + public async void authorize_async(Key key, bool authorize) throws GLib.Error { + SourceFunc callback = authorize_async.callback; + GLib.Error? err = null; + + // Authorized key → add to authorized_keys + // otherwise → add to other_keys.seahorse + string from, to; + if (authorize) { + from = other_keys_path(); + to = authorized_keys_path(); + } else { + from = authorized_keys_path(); + to = other_keys_path(); + } + + Thread thread = new Thread("authorize-async", () => { + try { + KeyData? keydata = key.key_data; + if (keydata == null) + throw new Error.GENERAL("Can't authorize empty key."); + + // Filter the public key out of the file, if it exists + if (FileUtils.test(from, FileTest.EXISTS)) { + KeyData.filter_file(from, null, keydata); + } + + // Now put it into the correct one (make sure that it exists at this point) + ensure_file_exists(to); + KeyData.filter_file(to, keydata, null); + + // Just reload that one key + key.refresh(); + } catch (GLib.Error e) { + err = e; + } + + Idle.add((owned)callback); + return null; + }); + + yield; + + thread.join(); + + if (err != null) + throw err; + } + + private void ensure_file_exists(string filename) { + int fd = Posix.open(filename, Posix.O_WRONLY | Posix.O_CREAT, 0644); + Posix.close(fd); + } + + public Key? find_key_by_fingerprint(string fingerprint) { + for (uint i = 0; i < this.keys.get_n_items(); i++) { + var key = (Ssh.Key) this.keys.get_item(i); + if (key.fingerprint == fingerprint) { + return key; + } + } + + return null; + } +} diff --git a/ssh/ssh.vala b/ssh/ssh.vala new file mode 100644 index 00000000..5dc3cab1 --- /dev/null +++ b/ssh/ssh.vala @@ -0,0 +1,26 @@ +/* + * Seahorse + * + * Copyright (C) 2008 Stefan Walter + * Copyright (C) 2016 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as + * published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this program; if not, see + * . + */ + +namespace Seahorse.Ssh { + +public const string SEAHORSE_SSH_NAME = "openssh"; + +} diff --git a/ssh/upload.vala b/ssh/upload.vala new file mode 100644 index 00000000..5c650298 --- /dev/null +++ b/ssh/upload.vala @@ -0,0 +1,119 @@ +/* + * Seahorse + * + * Copyright (C) 2005 Stefan Walter + * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2016 Niels De Graef + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public License + * along with this program; if not, see + * . + */ + +[GtkTemplate (ui = "/org/gnome/Seahorse/seahorse-ssh-upload.ui")] +public class Seahorse.Ssh.Upload : Gtk.Dialog { + + private unowned List keys; + + [GtkChild] + private Gtk.Entry user_entry; + [GtkChild] + private Gtk.Entry host_entry; + [GtkChild] + private Gtk.Button setup_button; + + public Upload(List keys, Gtk.Window? parent) { + GLib.Object(use_header_bar: 1); + this.transient_for = parent; + this.keys = keys; + + // Default to the users current name + this.user_entry.text = Environment.get_user_name(); + // Focus the host + this.host_entry.grab_focus(); + + on_upload_input_changed(); + } + + private void upload_keys() { + string user = this.user_entry.text.strip(); + string host_port = this.host_entry.text.strip(); + + if (!user.validate() || host_port == "" || !host_port.validate()) + return; + + // Port is anything past a colon + string[] host_port_split = host_port.split(":", 2); + string host = host_port_split[0]; + string? port = (host_port_split.length == 2)? host_port_split[1] : null; + + Cancellable cancellable = new Cancellable(); + + // Start the upload process + UploadOperation op = new UploadOperation(); + op.upload_async.begin(keys, user, host, port, cancellable, (obj, res) => { + try { + op.upload_async.end(res); + } catch (GLib.Error e) { + Seahorse.Util.show_error(this, _("Couldn’t configure Secure Shell keys on remote computer."), e.message); + } + }); + + Seahorse.Progress.show(cancellable, _("Configuring Secure Shell Keys…"), false); + } + + [GtkCallback] + private void on_upload_input_changed () { + string user = this.user_entry.text; + string host = this.host_entry.text; + + if (!user.validate() || !host.validate()) + return; + + // Take off port if necessary + int port_pos = host.index_of_char(':'); + if (port_pos > 0) { + host = host.substring(0, port_pos); + } + + this.setup_button.sensitive = (host.strip() != "") && (user.strip() != ""); + } + + /** + * Prompt a dialog to upload keys. + * + * @param keys The set of SSH keys that should be uploaded + */ + public static void prompt(List? keys, Gtk.Window? parent) { + if (keys == null) + return; + + Upload upload_dialog = new Upload(keys, parent); + for (;;) { + switch (upload_dialog.run()) { + case Gtk.ResponseType.HELP: + /* TODO: Help */ + continue; + case Gtk.ResponseType.ACCEPT: + upload_dialog.upload_keys(); + break; + default: + break; + }; + + break; + } + + upload_dialog.destroy(); + } + +} diff --git a/subprojects/libhandy/.dir-locals.el b/subprojects/libhandy/.dir-locals.el new file mode 100644 index 00000000..0d066d37 --- /dev/null +++ b/subprojects/libhandy/.dir-locals.el @@ -0,0 +1,8 @@ +( + (c-mode . ( + (c-file-style . "linux") + (indent-tabs-mode . nil) + (c-basic-offset . 2) + )) +) + diff --git a/subprojects/libhandy/.editorconfig b/subprojects/libhandy/.editorconfig new file mode 100644 index 00000000..70827f62 --- /dev/null +++ b/subprojects/libhandy/.editorconfig @@ -0,0 +1,38 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true + +[meson.build] +indent_size = 2 +tab_size = 2 +indent_style = space + +[*.{c,h,h.in}] +indent_size = 2 +tab_size = 2 +indent_style = space +max_line_length = 80 + +[*.css] +indent_size = 2 +tab_size = 2 +indent_style = space + +[*.xml] +indent_size = 2 +tab_size = 2 +indent_style = space + +[*.json] +indent_size = 2 +tab_size = 2 +indent_style = space + +[NEWS] +indent_size = 2 +tab_size = 2 +indent_style = space +max_line_length = 72 diff --git a/subprojects/libhandy/AUTHORS b/subprojects/libhandy/AUTHORS new file mode 100644 index 00000000..e061b0dd --- /dev/null +++ b/subprojects/libhandy/AUTHORS @@ -0,0 +1,9 @@ +Adrien Plazas +Bob Ham +Dorota Czaplejewicz +Guido Günther +Heather Ellsworth +Julian Richen +Julian Sparber +Sebastien Lafargue +Zander Brown diff --git a/subprojects/libhandy/COPYING b/subprojects/libhandy/COPYING new file mode 100644 index 00000000..4362b491 --- /dev/null +++ b/subprojects/libhandy/COPYING @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/subprojects/libhandy/HACKING.md b/subprojects/libhandy/HACKING.md new file mode 100644 index 00000000..c0cd1bed --- /dev/null +++ b/subprojects/libhandy/HACKING.md @@ -0,0 +1,335 @@ +Building +======== +For build instructions see the README.md + +Pull requests +============= +Before filing a pull request run the tests: + +```sh +ninja -C _build test +``` + +Use descriptive commit messages, see + + https://wiki.gnome.org/Git/CommitMessages + +and check + + https://wiki.openstack.org/wiki/GitCommitMessages + +for good examples. + +Coding Style +============ +We mostly use kernel style but + +* Use spaces, never tabs +* Use 2 spaces for indentation + +GTK style function argument indentation +---------------------------------------- +Use GTK style function argument indentation. It's harder for renames but it's +what GNOME upstream projects do. + +*Good*: + +```c +static gboolean +key_press_event_cb (GtkWidget *widget, + GdkEvent *event, + gpointer data) +``` + +*Bad*: + +```c +static gboolean +key_press_event_cb (GtkWidget *widget, GdkEvent *event, gpointer data) +``` + + +Braces +------ +Everything besides functions and structs have the opening curly brace on the same line. + +*Good*: + +```c +if (i < 0) { + ... +} +``` + +*Bad*: + +```c +if (i < 0) +{ + ... +} +``` + +Single line `if` or `else` statements don't need braces but if either `if` or +`else` have braces both get them: + +*Good*: + +```c +if (i < 0) + i++; +else + i--; +``` + +```c +if (i < 0) { + i++; + j++; +} else { + i--; +} +``` + +```c +if (i < 0) { + i++; +} else { + i--; + j--; +} +``` + +*Bad*: + +```c +if (i < 0) { + i++; +} else { + i--; +} +``` + +```c +if (i < 0) { + i++; + j++; +} else + i--; +``` + +```c +if (i < 0) + i++; +else { + i--; + j--; +} +``` + +Function calls have a space between function name and invocation: + +*Good*: + +```c +visible_child_name = gtk_stack_get_visible_child_name (GTK_STACK (self->stack)); +``` + +*Bad*: + +```c +visible_child_name = gtk_stack_get_visible_child_name(GTK_STACK(self->stack)); +``` + + +Header Inclusion Guards +----------------------- +Guard header inclusion with `#pragma once` rather than the traditional +`#ifndef`-`#define`-`#endif` trio. + +Internal headers (for consistency, whether they need to be installed or not) +should contain the following guard to prevent users from directly including +them: +```c +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif +``` + +Only after these should you include headers. + + +Signals +------- +Prefix signal enum names with *SIGNAL_*. + +*Good*: + +```c +enum { + SIGNAL_SUBMITTED = 0, + SIGNAL_DELETED, + SIGNAL_SYMBOL_CLICKED, + SIGNAL_LAST_SIGNAL, +}; +``` + +Also note that the last element ends with a comma to reduce diff noise when +adding further signals. + + +Properties +---------- +Prefix property enum names with *PROP_*. + +*Good*: + +```c +enum { + PROP_0 = 0, + PROP_NUMBER, + PROP_SHOW_ACTION_BUTTONS, + PROP_COLUMN_SPACING, + PROP_ROW_SPACING, + PROP_RELIEF, + PROP_LAST_PROP, +}; +``` + +Also note that the last element ends with a comma to reduce diff noise when +adding further properties. + +Comment style +------------- +In comments use full sentences with proper capitalization and punctuation. + +*Good*: + +```c +/* Make sure we don't overflow. */ +``` + +*Bad:* + +```c +/* overflow check */ +``` + + +Callbacks +--------- +Signal callbacks have a *_cb* suffix. + +*Good*: + +```c +g_signal_connect(self, "clicked", G_CALLBACK (button_clicked_cb), NULL); +``` + +*Bad*: + +```c +g_signal_connect(self, "clicked", G_CALLBACK (handle_button_clicked), NULL); +``` + + +Static functions +---------------- +Static functions don't need the class prefix. E.g. with a type foo_bar: + +*Good*: + +```c +static void +grab_focus_cb (HdyDialer *dialer, + gpointer unused) +``` + +*Bad*: + +```c +static void +hdy_dialer_grab_focus_cb (HdyDialer *dialer, + gpointer unused) +``` + +Note however that virtual methods like +*_{init,constructed,finalize,dispose}* do use the class prefix. +These functions are usually never called directly but only assigned once in +*_constructed* so the longer name is kind of acceptable. This also +helps to distinguish virtual methods from regular private methods. + +Self argument +------------- +The first argument is usually the object itself so call it *self*. E.g. for a +non public function: + +*Good*: + +```c +static gboolean +expire_cb (FooButton *self) +{ + g_return_val_if_fail (BAR_IS_FOO_BUTTON (self), FALSE); + ... + return FALSE; +} +``` + +And for a public function: + +*Good*: + +```c +gint +foo_button_get_state (FooButton *self) +{ + FooButtonPrivate *priv = bar_foo_get_instance_private(self); + + g_return_val_if_fail (BAR_IS_FOO_BUTTON (self), -1); + return priv->state; +} +``` + +User interface files +-------------------- +User interface files should end in *.ui*. If there are multiple ui +files put them in a ui/ subdirectory below the sources +(e.g. *src/ui/main-window.ui*). + +### Properties +Use minus signs instead of underscores in property names: + +*Good*: + +```xml +12 +``` + +*Bad*: + +```xml +12 +``` + +Automatic cleanup +----------------- +It's recommended to use `g_auto()`, `g_autoptr()`, `g_autofree()` for +automatic resource cleanup when possible. + +*Good*: + +```c +g_autoptr(GdkPixbuf) sigterm = pixbuf = gtk_icon_info_load_icon (info, NULL); +``` + +*Bad*: + +```c +GdkPixbuf *pixbuf = gtk_icon_info_load_icon (info, NULL); +... +g_object_unref (pixbuf); +``` + +Using the above is fine since libhandy doesn't target any older glib versions +or non GCC/Clang compilers at the moment. diff --git a/subprojects/libhandy/NEWS b/subprojects/libhandy/NEWS new file mode 100644 index 00000000..51bb0065 --- /dev/null +++ b/subprojects/libhandy/NEWS @@ -0,0 +1,296 @@ +============= +Version 1.0.1 +============= + +- Fix build with Glade 3.37. +- Fix a Meson version warning. +- Typo fixes. +- HdyAvatar: + - Minimize the amount of redundant load_image() calls. + - Center non-square custom images. + - Add .image style class to avatars with custom images. + - Allow css border and shadow on avatars with custom images so + elementary can style it. +- HdyCarousel: + - Fix drawing cache. + - Fix crash when scrolling over empty carousel. +- HdyComboRow: + - Fix popover hiding animation when clicking a row. + - Always reserve space for checkmarks. +- HdyHeaderGroup: + - Fix a warning on nesting HdyHeaderGroups. +- HdyKeypad: + - Fix input of the #, @ and + characters. +- HdyLeaflet and HdyDeck: + - Fix minimum size when 'interpolate-size' property is TRUE. +- HdyPreferencesWindow: + - Fix searching rows that have mnemonics. +- HdySwipeTracker: + - Fix swipes not working if started from GtkButton. + - Increase drag threshold for touchscreens. + - Avoid a jump when starting a drag. +- HdyViewSwitcher: + - Fix sizing with invisible pages. +- Transiation updates: + - French + - Friulian + - Slovenian + +============== +Version 1.0.0 +============== + +- No change. + +============== +Version 0.91.0 +============== + +- Update HdyComboRow's state when its model is changed. +- Fix padding application in HdyHeaderBar. +- HdyPreferencesWindow: + - Translate the keyval properly to ensure keyboard shortcuts work with + all keymaps. + - Allow closing the window or subpages with the Esc key. +- HdyWindow and HdyApplicationWindow: + - Fix a memory leak when destroying the widget. + - Get the state from the correct style context to avoid a contant + redraw after changing the text direction and before the window is + focused. + - Don't force a 0px border-radius on the window to give more freedom + to elementary. +- Translation updates: + - Brazilian Portuguese + - Basque + - Indonesian + - Spanish + - Ukrainian + +============== +Version 0.90.0 +============== + +- Stop requiring the HANDY_USE_UNSTABLE_API guard. +- Stop transforming close buttons into back buttons for dialogs on the + desktop. +- Give some nice default and minimum sizes to HdyPreferencesWindow. +- HdyCarousel: + - Add HdyCarouselIndicatorDots and HdyCarouselIndicatorLines. + - Drop the indicator-style, indicator-spacing, and center-content + properties. +- Revamp the colors of HdyAvatar and augment its colors number to 14. +- Set the default column and row spacing of HdyKeypad to 6 pixels. +- Don't present an arrow and a popover in HdyComboRow when its model has + less than 2 items. +- Support CSS sizing properties for HdySqueezer and HdyViewSwitcher. +- Drop the icon-size properties of HdyViewSwitcher, HdyViewSwitcherTitle + and HdyViewSwitcherBar. +- Give some horizontal margins to the view switcher of + HdyViewSwitcherTitle via CSS. +- Add all files back to tarballs except the debian directory. + +============== +Version 0.85.0 +============== + +- HdyAvatar: + - Add the icon-name property to allow setting a different default icon + than avatar-default-symbolic. + - Ship avatar-default-symbolic as a resource to ensure it's there. + This shouldn't affect icon themes already offering it. + - Check the icon exists before using it to avoid a crash. +- HdyDeck and HdyLeaflet: + - Allow dragging the higher sibling only from the border where it + sits, rather than from the anywhere on the currently visible child, + reinforcing spatialization. + - Add the get_child_by_name() methods. +- HdyLeaflet: + - Rename the 'allow-visible' child property into 'navigatable'. +- HdySwipeable: + - Add a navigation direction param and a gesture type param to + get_swipe_area(). +- HdyPreferencesWindow: + - Allow presenting a subpage over the window via the new + present_subpage() and close_subpage() methods. + - Add the 'can-swipe-back' property to allow closing a subpage via a + back swipe gesture. + - Exclude untitled rows as well as invisible pages, groups, and rows + from the search results. +- HdyKeypad: + - Replace the 'show-symbols' property by 'letters-visible'. + - Replace the 'only-digits' property by 'symbols-visible', whose + boolean meaning is inverted. + - Replace the 'left-action' property by 'start-action'. + - Replace the 'right-action' property by 'end-action'. + - Make the 'entry' property declare it uses the GtkEntry type rather + than GtkWidget. +- HdySqeezer: + - Add the 'xalign' and 'yalign' properties to help aligning the + children during transitions. +- HdyViewSwitcherTitle: + - Set the 'policy' property default to 'auto' as in HdyViewSwitcher. +- HdyTitleBar: + - Fix an accidental mix of natural and minimum sizes in measure(). +- Harden the ABI by making symbols implicitly private and explicitly + public. +- Translation updates: + - Romanian + - Ukrainian + +============== +Version 0.84.0 +============== + +- HdyHeaderGroup: + - Replace GtkHeaderBar as the child type by HdyHeaderGroupChild, and + adjust the matching accessors. HdyHeaderGroupChild can hold a + GtkHeaderBar, a HdyHeaderBar, and a HdyHeaderGroup, allowing to nest + header groups. + - Replace the 'focus' property by the 'decorate-all' property. + - Add the update-decoration-layouts signal, used when nesting header + groups. +- HdyHeaderBar: + - Slight size request fix. +- Use the window node's radius instead of the decoration node's one to + mask HdyWindow and HdyApplicationWindow. +- Make HdyAvatar, HdyHeaderGroup, HdySqueezer, HdyViewSwitcher, + HdyViewSwitcherBar, HdyViewSwitcherTitle, and HdyWindowHandle final. +- Replace usage of (allow-none) by (nullable) or (optional). +- Translation updates: + - Ukrainian + +============== +Version 0.83.0 +============== + +- Initialization: + - Add hdy_init() back, with a different prototype. See its + documentation to know how to use it. + - Drop initializing the library via a constructor as it was causing + many issues. + - Drop the now useless Python override. + - Directly update themes on changes. +- Add HdySwipeTracker. +- HdySwipeable: + - Drop the begin_swipe(), update_swipe(), end_swipe() and get_range() + virtual methods + - Add the get_swipe_tracker() and get_swipe_area() virtual methods. + - Add the …_switch_child(), …_emit_child_switched(), + …_get_swipe_tracker(), …_get_distance(), …_get_snap_points(), + …_get_progress(), …_get_cancel_progress(), and …_get_swipe_area() + functions. + - Make implementing get_snap_points() mandatory by dropping its + default implementation, compensating the disparition of get_range(). + - Rename the switch-child signal to child-switched to avoid a naming + collision with the switch_child() method. +- HdyDeck and HdyLeaflet: + - Add an outline to shadows to make them slightly more contrasted yet + subtle. + - Make shadows work over OpenGL content. + - Cache shadows for child transitions. + - Stop drawing invisible shadows when no transition is running. + - Rewrite the transition code to give a window to all children, fixing + numerous issues. +- HdyExpanderRow: + - Add hdy_expander_row_add_prefix(). +- Add libhandy.syms back to tarballs as it was mistakenly removed. +- Translation updates: + - Polish + - Spanish + +============== +Version 0.82.0 +============== + +- Unblacklist run.in for inclusion into the tarball, fixing the build. +- HdyClamp: + - Rename HdyColumn as HdyClamp. + - Make it implement GtkOrientable. + - Rename its properties from maximum-width to maximum-size, and + linear-growth-width to tightening-threshold. + - Rename the style classes it sets on itself from .narrow, .medium and + .wide style to .small, .medium and .large. + - Set the default value of maximum-size to 600, and of + tightening-threshold to 400. + - Notify when changing size properties, and guard non-changes. +- HdyCarousel, HdyDeck and HdyLeaflet: + - Move the swipe tracker event handling to the bubble phase, giving + the priority to the inner widget. +- HdyDeck: + - Avoid some useless allocation computations. +- HdyLeaflet: + - Don't count children of size 0 to compute the fold state. + - Don't fold when there is only 1 visible size. +- HdySwipeable: + - Add the missing direct header inclusion guard. +- HdyWindow and HdyApplicationWindow: + - Implement destroy() to correctly destroy the internal widgets. +- Drop hdy_list_box_separator_header(). +- Don't install Glade files outside prefix. +- Update the project description. +- Translation updates: + - Spanish + - Ukrainian + +============== +Version 0.81.0 +============== + +- Migrated the project to https://gitlab.gnome.org/GNOME/libhandy/. + - Archived the project at https://source.puri.sm/Librem5/libhandy/. + - Updated URLs and email addresses across the project. + - Switch the CI to use GNOME's. + - Build and publish the nightly reference manual via GitLab Pages at + https://gnome.pages.gitlab.gnome.org/libhandy/. +- Make the reference manual and the Glade catalog parallel-installable + with libhandy 0.0. +- Add a Python override to ensure the library is initialized on import. +- Themes: + - Add the HighContrast theme. + - Split the shared theme into the fallback theme whose style can be + overridden by other themes, and the shared theme whose style + overrides the themes. + - Move window corners from the shared theme to Adwaita, so elementary + can do what they want. + - Make the leaflet and deck drop shadows darker for dark variants and + HighContrast, to ensure it's visible. + - Drop the .h4 fallback to avoid conflicts with .heading. Themes are + now expected to implement .heading, or optionally .h4. + - Fix list.preferences nested list bottom corner rounding issues. +- CSS support: + - Account for the CSS box-shadow property when clipping in HdyAvatar, + HdyHeaderBar, and HdyTitleBar. + - Support the CSS min-width and min-height properties in HdyHeaderBar, + and HdyTitleBar. +- HdyDeck and HdyLeaflet: + - Add *_get_adjacent_child() to get the child a swipe or a call to + *_navigate() would present. + - Don't skip the swipes with a 0 (child for leaflet) transition + duration. + - Correctly cancel transitions when the duration is 0 or the + transition is NONE. +- HdyCarousel: + - Allow mouse drag by default. + - Add the 'reveal-duration' property. + - Animate child addition and deletion. +- HdyExpanderRow: + - Move switch to the left of the arrow. + - Add hdy_expander_row_add_action_widget() and the 'action' child type + to allow adding widgets before the arrow and the switch. +- HdyHeaderBar: + - Add the .titlebar style class by default. +- HdyKeypad: + - Make it inherit from GtkBin instead of GtkGrid, contain one instead. + - Add spacing properties to set the grid's spacing. + - Don't make it visible by default. +- HdyPreferencesGroup: + - Use the .heading style class for the title in addition to .h4. +- HdyPreferencesWindow: + - Make clicking search rows work again. +- HdySwipeable: + - Add the get_distance(), get_range(), get_snap_points(), + get_progress(), and get_cancel_progress() virtual methods. +- HdyViewSwitcherTitle: + - Remove the useless has-subtitle property. + - Prevent gtk_widget_show_all() from modifying its internal state. + - Make dispose() reentrant. diff --git a/subprojects/libhandy/README.md b/subprojects/libhandy/README.md new file mode 100644 index 00000000..0eb6cbe8 --- /dev/null +++ b/subprojects/libhandy/README.md @@ -0,0 +1,71 @@ +# Handy +[![Pipeline status](https://gitlab.gnome.org/GNOME/libhandy/badges/master/build.svg)](https://gitlab.gnome.org/GNOME/libhandy/commits/master) +[![Code coverage](https://gitlab.gnome.org/GNOME/libhandy/badges/master/coverage.svg)](https://gitlab.gnome.org/GNOME/libhandy/commits/master) + +The aim of the Handy library is to help with developing UI for mobile devices +using GTK/GNOME. + +## License + +libhandy is licensed under the LGPL-2.1+. + +## Build dependencies + +To build libhandy you need to first install the build-deps defined by [the debian/control file](https://gitlab.gnome.org/GNOME/libhandy/blob/master/debian/control#L6). + +If you are running a Debian based distribution, you can easily install all those the dependencies making use of the following command + +```sh +sudo apt-get build-dep . +``` + +## Building + +We use the Meson (and thereby Ninja) build system for libhandy. The quickest +way to get going is to do the following: + +```sh +meson . _build +ninja -C _build +ninja -C _build install +``` + +For build options see [meson_options.txt](./meson_options.txt). E.g. to enable documentation: + +```sh +meson . _build -Dgtk_doc=true +ninja -C _build libhandy-doc +``` + +## Usage + +There's a C example: + +```sh +_build/examples/example +``` + +and one in Python. When running from the built source tree it +needs several environment variables so use \_build/run to set them: + +```sh +_build/run examples/example.py +``` + +### Glade + +To be able to use Handy's widgets in the glade interface designer without +installing the library use: + +```sh +_build/run glade +``` + +## Documentation + +The documentation can be found online +[here](https://gnome.pages.gitlab.gnome.org/libhandy). + +## Getting in touch + +Matrix room: [#libhandy:talk.puri.sm](https://gnome.element.io/#/room/#libhandy:talk.puri.sm) diff --git a/subprojects/libhandy/data/leak-suppress.txt b/subprojects/libhandy/data/leak-suppress.txt new file mode 100644 index 00000000..f44eb82c --- /dev/null +++ b/subprojects/libhandy/data/leak-suppress.txt @@ -0,0 +1,5 @@ +# Use via environment variable LSAN_OPTIONS=suppressions=data/leak-suppress.txt +# Ignore fontconfig reported leaks. It's caches cause false positives. +leak:libfontconfig.so.1 +# https://gitlab.gnome.org/GNOME/gtk/merge_requests/823 +leak:gtk_header_bar_set_decoration_layout diff --git a/subprojects/libhandy/data/packaging/rpm/libhandy.spec b/subprojects/libhandy/data/packaging/rpm/libhandy.spec new file mode 100644 index 00000000..b2b610ba --- /dev/null +++ b/subprojects/libhandy/data/packaging/rpm/libhandy.spec @@ -0,0 +1,60 @@ +%global _vpath_srcdir %{name} + +Name: libhandy +Version: 1.0.1 +Release: 1%{?dist} +Summary: A library full of GTK widgets for mobile phones + +License: LGPLv2+ +Url: https://gitlab.gnome.org/GNOME/libhandy +Source0: https://gitlab.gnome.org/GNOME/libhandy/archive/master.tar.gz + +BuildRequires: gcc +BuildRequires: gobject-introspection +BuildRequires: gtk-doc +BuildRequires: meson >= 0.40.1 +BuildRequires: pkgconfig(gio-2.0) +BuildRequires: pkgconfig(gladeui-2.0) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gmodule-2.0) +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconf-pkg-config +BuildRequires: vala + +%description +%{summary}. + +%package devel +Summary: Development libraries, headers, and documentation for %{name} +Requires: libhandy = %{version}-%{release} + +%description devel +%{summary}. + +%prep +%setup -c -q + +%build +%meson -Dexamples=false -Dgtk_doc=true +%meson_build + +%install +%meson_install + +%files +%{_libdir}/libhandy*.so.* +%{_libdir}/girepository-1.0/Handy*.typelib + +%files devel +%{_includedir}/libhandy* +%{_libdir}/libhandy*.so +%{_libdir}/pkgconfig/libhandy*.pc +%{_datadir}/gir-1.0/Handy*.gir +%{_datadir}/glade/catalogs/libhandy.xml +%{_datadir}/vala/vapi/libhandy*.deps +%{_datadir}/vala/vapi/libhandy*.vapi +%{_datadir}/gtk-doc + +%changelog +* Fri May 18 2018 Julian Richen - 0.0.0-1 +- Update to 0.0.0-1 diff --git a/subprojects/libhandy/debian/README.source b/subprojects/libhandy/debian/README.source new file mode 100644 index 00000000..90e1f00d --- /dev/null +++ b/subprojects/libhandy/debian/README.source @@ -0,0 +1,29 @@ +This package is maintained with git-buildpackage(1). It follows DEP-14 +for branch naming (e.g. using debian/sid for the current version +in Debian unstable). + +It uses pristine-tar(1) to store enough information in git to generate +bit identical tarballs when building the package without having +downloaded an upstream tarball first. + +When working with patches it is recommended to use "gbp pq import" to +import the patches, modify the source and then use "gbp pq export +--commit" to commit the modifications. + +The changelog is generated using "gbp dch" so if you submit any +changes don't bother to add changelog entries but rather provide +a nice git commit message that can then end up in the changelog. + +It is recommended to build the package with pbuilder using: + + gbp buildpackage --git-pbuilder + +For information on how to set up a pbuilder environment see the +git-pbuilder(1) manpage. In short: + + DIST=sid git-pbuilder create + gbp clone + cd + gbp buildpackage --git-pbuilder + + -- Guido Günther , Wed, 2 Dec 2015 18:51:15 +0100 diff --git a/subprojects/libhandy/debian/changelog b/subprojects/libhandy/debian/changelog new file mode 100644 index 00000000..df653a37 --- /dev/null +++ b/subprojects/libhandy/debian/changelog @@ -0,0 +1,1451 @@ +libhandy-1 (1.0.1) amber-phone; urgency=medium + + * New upstream release + + -- Alexander Mikhaylenko Fri, 30 Oct 2020 20:46:00 +0500 + +libhandy-1 (1.0.0) amber-phone; urgency=medium + + * New upstream release + + -- Adrien Plazas Tue, 08 Sep 2020 14:19:14 +0200 + +libhandy-1 (0.91.0) amber-phone; urgency=medium + + * New upstream release + + -- Adrien Plazas Fri, 04 Sep 2020 14:20:38 +0200 + +libhandy-1 (0.90.0) amber-phone; urgency=medium + + * New upstream release + + -- Adrien Plazas Fri, 07 Aug 2020 13:23:50 +0200 + +libhandy-1 (0.85.0) amber-phone; urgency=medium + + * New upstream release + + -- Adrien Plazas Thu, 30 Jul 2020 08:51:53 +0200 + +libhandy-1 (0.84.0) amber-phone; urgency=medium + + * New upstream release + + -- Adrien Plazas Fri, 17 Jul 2020 13:13:25 +0200 + +libhandy-1 (0.83.0) amber-phone; urgency=medium + + * New upstream release + + -- Adrien Plazas Thu, 02 Jul 2020 09:37:18 +0200 + +libhandy-1 (0.82.0) amber-phone; urgency=medium + + * New upstream release + + -- Adrien Plazas Fri, 19 Jun 2020 09:30:31 +0200 + +libhandy-1 (0.81.0) amber-phone; urgency=medium + + * New upstream release + + -- Adrien Plazas Fri, 05 Jun 2020 13:08:25 +0200 + +libhandy-1 (0.80.0) amber-phone; urgency=medium + + [ Guido Günther ] + * Bump API version to 1.0.0. + + [ Adrien Plazas ] + * Release libhandy 0.80.0. + * meson: Don't allow to build as a static library. + * meson: Fix disabling the Glade catalog. + * meson: Separate public and private enums. + * doc: Add the Handy 0.0 to Handy 1 migration guide. + * Document CSS nodes and style classes. + * Rename HdyPaginator into HdyCarousel. + Aslo rename HdyPaginatorBox into HdyCarouselBox. + * Remove the deprecated widgets. + Remove HdyArrows, HdyDialer, HdyDialerButton, and HdyDialerCycleButton. + * Drop HdyDialog. + It was deemed not the right way to implement the features we want from it. + * Drop HdyFold. + It has been replaced by a boolean. + * Drop the hdy prefix from CSS node names. + This matches what Adwaita does and will help better blend with it. + * Drop UTF-8 string functions. + They were unused and are not core to what libhandy wants to offer. + * Add HdyViewSwitcherTitle. + A view switcher designed to be used as a window title. + * action-row: Widget overhaul. + Drop the ability to add widgets below, and remove the 'action' buildable + child type and hdy_action_row_add_action(), instead widgets are appended at + the end of the row. + Add the 'activated' signal, and automatically make the row activatable when + is is given an activatable widget. + Define the sizes with CSS, style the title and subtitle with CSS, and rename + the .row-header style class to .header. + * column: Add the .narrow, .medium and .wide style classes. + Allow to easily update style based on the column's clamping state. + * column: Ensure the column is at least as wide as its child. + * combo-row: Make it activatable when it has a bound model. + * combo-row: Popover style overhaul and add a checkmark to the selected row. + * expander-row: Widget overhaul. + Completely redesign the widget. Also prevent gtk_widget_show_all(). + * flatpak: Update the example command name and drop useless build options. + * glade: Support Glade 3.36. + Make the catalog support both 3.24 and 3.36, and add a Glade+libhandy + flatpak manifest which uses glade 3.36. + * icons: Add hdy-expander-arrow-symbolic. + * leaflet: Add the .folded and .unfolded style classes. + Allow to easily update style based on the leaflet's fold state. + * leaflet: Default to the 'over' transition type. + This better match the expected behavior or a leaflet. + * leaflet: Avoid divisions by 0, don't implement the unused GtkBuildableIface + and drop the deprecated transition props and types. + * main: Automatically init libhandy. + Add a library constructor to init on startup and remove hdy_init(). + Initialize the global styles and icons when the main loop starts. + * preferences-window: Add the 'search-enabled' property. + * preferences-window: Hide filtered-out rows. + * preferences-window: Use HdyViewSwitcherTitle. + * style: Style overhaul. + Use SASS to implement the styles, offer both a shared base theme used as + a fallback and an Adwaita-specific theme, and offer a dark variant. + Ship pre-compiled CSS and dynamically load it depending on the theme. + * style: Add the button.list-button CSS style class. + * style: Add the list.preferences CSS style class. + * swipe-tracker: Fix a leak in …_confirm_swipe(). + * swipe-tracker: Use g_clear_pointer() where possible. + * view-switcher-bar: Document relation with HdyViewSwitcherTitle. + * view-switcher-bar: Don't reveal for less than two pages. + * debian: Use HdyKeypad in the Python GI test. + * examples: Add a dark theme toggle button. + * examples: Add a HdyDeck example. + * examples: Bind the switch-rows to their switches. + * examples: Don't set action rows as unactivatable. + * examples: Drop setting the header group focus. + * examples: Give its own header to the search bar demo. + * examples: Make the radio buttons non-focusable. + * examples: Make the resource path match the app ID. + * examples: Put the right header bar in a GtkStack. + * examples: Use HdyViewSwitcherTitle. + * examples: Use the button.list-button CSS style class. + * examples: Vertically align the radio buttons. + + [ Alexander Mikhaylenko ] + * Add HdyDeck. + A swipeable container widget allowing to stack widgets. + * Add HdyNavigationDirection. + * Add HdyStackableBox. + A private object easing the implementation of HdyDeck and HdyLeaflet. + * Add HdyWindow. + A free-form window widget with rounded corners. + * Add HdyApplicationWindow. + A free-form application window widget with rounded corners. + * Add HdyWindowHandle. + A bin widget allowing to control a window like with a titlebar. + * Add HdyNothing. + A private empty widget, easing the implementation of free-form window types. + * Add HdyWindowMixin. + A private object easing the implementation of free-form window types. + * Add HdyWindowHandleController. + A private object allowing a widget to control a window like with a titlebar. + * action-row: Don't allow adding null prefixes, and implement remove(). + * column: Queue resize after changing maximum width. + * expander-row: Fix forall(), and implement remove(). + * glade: Properly support all public widgets and objects. + The glade catalog has been overhauled, fixing support of widgets and objects + already included in the catalog, and adding the newly added ones. + * gtk-window: Add hdy_gtk_window_get_state(). + * header-bar: Add a window handle controller. + Also make it register its own window to get the needed events. + * header-bar: Remove some unused variables. + * Introduce hdy-cairo-private.h. + This helps automatically cleanup up Cairo objects. + * leaflet: Add a function for moving back/forward programmatically. + * leaflet: Allow hdy_leaflet_navigate() regardless of swipe properties. + * leaflet: Document visible child functions. + * leaflet: Fix hdy_leaflet_get_can_swipe_forward() docs and some typos. + * leaflet: Make HdyLeaflet a wrapper around HdyStackableBox. + * leaflet: Remove 'todo' vfunc. + * main: Don't use G_SOURCE_FUNC() macro. + * preferences-group: Implement remove(). + * preferences-group: Subclass GtkBin instead of GtkBox. + * preferences-page: Implement remove() and forall(). + * preferences-page: Subclass GtkBin instead of GtkScrolledWindow. + * preferences-window: Add .titlebar to the headerbar. + * preferences-window: Erase search terms after hiding search bar. + * preferences-window: Implement remove() and forall(). + * preferences-window: Name signal callbacks _cb. + * preferences-window: Port to HdyWindow. + * preferences-window: Use crossfade transition. + * preferences-window: Use GDK_EVENT_* constants. + * preferences-window: Use gtk_search_entry_handle_event(). + * shadow-helper: Don't set style context parent. + * stackable-box: Avoid use-after-free in remove(). + * stackable-box: Check is visible child exists in folded mode + * stackable-box: Disconnect the signal handler after removing a child + * stackable-box: Fix a typo in a comment + * stackable-box: Only count allow-visible=true children for index + * stackable-box: Only hide last visible child when folded + * stackable-box: Remove an extra line in a doc comment + * stackable-box: Skip mode transitions for deck + * stackable-box: Unset last_visible_child after removing or hiding + * swipeable: Use HdyNavigationDirection for begin_swipe() direction + * swipe-tracker: Fix crash in confirm_swipe(). + * swipe-tracker: Reject drags in window's draggable areas. + * view-switcher: Extend bin instead of box. + * view-switcher-title: Unset stack before destroying. + * glade: List all the missing public widgets. + List HdyApplicationWindow, HdyAvatar, HdyDeck, HdyKeypad, + HdyViewSwitcherTitle, HdyWindow, and HdyWindowHandle. + * example: Add a HdyWindow demo. + * example: Add .titlebar to all headerbars. + * example: Don't leave an empty autoptr declaration. + * example: Fix a typo on the HdyWindow page. + * example: Fix leaflet/deck typos. + * example: Make the "Go to the next page" row activatable. + * example: Port main window to HdyApplicationWindow. + * example: Port view switcher window to HdyWindow. + * example: Stop using "fold" HdyLeaflet property. + * example: Use a menu model for primary menu. + * example: Use HdyDeck in complex dialog demo. + * example: Use hdy_leaflet_navigate() for back button and clicking rows. + + [ Ujjwal Kumar ] + * preferences-window: Cancel search from keyboard. + * Return GtkWidget* with _new(). + * Coding style fixes. + * doc: Tell about widget constructor changes. + * example: Resize demo window. + * example: Replace deprecated Dialer with Keypad in example.py. + * example: Add some spacing between widgets. + + [ Julian Sparber ] + * Add HdyAvatar. + A widget to visually represent a contact. + + [ Felix Pojtinger ] + * doc: Add macOS build instructions. + + [ louib ] + * Fix acknowledge typo in build doc. + * Adding new example apps using libhandy. + + [ Alberto Fanjul ] + * glade: Adapt to Glade 3.36 API changes. + + -- Adrien Plazas Tue, 19 May 2020 09:45:02 +0200 + +libhandy (0.0.13) amber-phone; urgency=medium + + [ Alexander Mikhaylenko ] + * paginator-box: Stop using gtk_widget_set_child_visible() + This function is meant for widgets that don't need to be mapped along with + parent widget, not for scrolled out widgets. Additionally, using it causes + strange side effects with GtkOverlay window z-ordering. Stop using it and + instead track visiblity manually. Also, clarify the code a bit. + * leaflet: Correctly handle 0 duration for swipe snap-back + * swipe-tracker: Don't animate when the distance is 0. + Usually it makes sense to restrict the minimum animation duration. However, + if the progress already matches the end progress, it just causes a delay, + so skip it completely. + + [ Julian Sparber ] + * Keypad: Do not show allow typing + when only_digits is true. + The keypad shouldn't allow typing or show + when only_digits + is set to true. Therefore this adds the correct behavior. + + [ Guido Günther ] + * Release libhandy 0.0.13 + + -- Guido Günther Fri, 27 Dec 2019 12:22:18 +0100 + +libhandy (0.0.12) experimental; urgency=medium + + [ Zander Brown ] + * build: Don't install glade catalogue when used as submodule + + [ Alexander Mikhaylenko ] + * swipe-tracker: Grab widget during the gesture + * swipe-tracker: Animate when canceled. + There are some cases where not animating the canceled gesture looks + awkward. For example, when tapping a paginator while it animates. + * swipe-tracker: Don't add GDK_ALL_EVENTS_MASK. + That was a debugging leftover. + * header-group: Fix a leftover GtkSizeGroup mention + * paginator: Delegate hdy_paginator_scroll_to() to scroll_to_full() + This will help to avoid duplicating code in later commits. + * paginator-box: Add hdy_paginator_box_get_nth_child() + * doc: Add 0.0.12 index + * Add HdySwipeable. + A common interface that swipeable widgets should implement and that + HdySwipeGroup and HdySwipeTracker will use. + * paginator: Implement HdySwipeable + * swipe-tracker: Port to HdySwipeable. + Use a HdySwipeable instead of GtkWidget. Remove 'begin', 'update' and 'end' + signals and instead call HdySwipeable methods. + * Add HdySwipeGroup. + An object that allows to synchronize swipe animations of multiple widgets. + This can be used to sync widgets between headerbar and window content area. + * tests: Add HdySwipeGroup test + * glade: Support HdySwipeGroup. + Do the same thing as for HdyHeaderGroup. + * leaflet: Fix the folding sliding children padding. + Sets the children padding of the folding sliding animation depending on + the surface they'll be drawn on. + This doesn't change a thing for the sliding animation, but this will + avoid the children to be moved when snapshotting them, which is needed + for the over and under animations — which will be added in the next + commit — to work correctly. + * leaflet: Only clip visible area during transitions. + Adjust width and height of the clip rectangle to avoid drawing areas + outside of the widget. + * Introduce HdyShadowHelper. + This will be used in the following commits to add shadows to HeyLeaflet + transitions. + * leaflet: Dim bottom children during transitions. + Draw a dimming layer and a drop shadow over bottom child during 'over' and + 'under' mode and child transitions. + The dimming, shadow and border styles are defined in CSS. The current style + is based on the similar animation in WebKit. + * swipe-tracker: Reduce base distance for vertical swipes. + Use 300px instead of 400px, otherwise it can be hard to use on small + touchpads. + * paginator-box: Adjust index when removing pages. + Prevent jumping when removing pages to the left of the current one. + * paginator: Support discrete scrolling. + Support scrolling on devices like mice. Switch a page when a scroll event + arrives and add a delay to prevent too fast scrolling. + Use animation duration as a delay, but don't let it go below 250ms, mainly + to ensure it still works with animations disabled. + Fixes https://source.puri.sm/Librem5/libhandy/issues/155 + * swipe-tracker: Stop handling trackpoint. + Handle it like discrete scrolling instead. + * leaflet: Mention replacements in deprecations. + Have more useful warnings. + * leaflet: Mark child-transition and mode-transition as deprecated. + Properties are deprecated too, not just accessors. + * leaflet: Ignore deprecations for transition type acccessor declarations. + Since enums are deprecated now, these declarations trigger warnings in + modules that use libhandy. Since these functions are already deprecated + anyway, silence these warnings. + * deprecation-macros: Stop referencing nonexistent macros. + G_DEPRECATED_* and G_DEPRECATED_*_FOR aren't a thing. + * swipe-tracker: Make dragging touch-only. + Since HdyPaginator has mouse scrolling now, there's no need to have + dragging available on non-touch devices, so drop it. + * paginator-box: Wrap children into child info structs. + This will allow to carry additional data for them later. + * paginator-box: Put children into their own GdkWindows. + This allows to stop doing size allocation on each frame, and will allow + to implement drawing cache in the next commit. + * paginator-box: Implement drawing cache. + Keep a Cairo surface for each child. Paint children onto their surfaces, + then compose the final image. Instead of painting the whole children, + track invalidations and paint only changed parts. This means most paginator + redraws don't involve any child redraws. This should significantly speed + up scrolling when children are expensive to draw. + * paginator-box: Add animation-stopped signal. + This will be used in the next commit to add page-changed signal to + HdyPaginator. + * paginator: Add page-changed signal. + Allows to know when the current page has changed, this can be used to + implement "infinite scrolling" by connecting to this signal and amending + the pages. + * leaflet: Allocate last visible child during child transitions. + Fixes one cause of https://source.puri.sm/Librem5/libhandy/issues/85 + * keypad: Immediately assign g_autoptrs to NULL. + Avoid compile-time warnings. + * paginator-box: Create window with correct dimensions. + It doesn't matter because it gets overridden later, but still fix it. + * example: Remove leftover adjustments. + See aa7a4eca68d8c75ff6347202c90515c5aea30c64 + * paginator-box: Fix hdy_paginator_box_get_nth_child() + Return the actual widget, not child info struct. + A leftover from 710bcaacb97bdfac6061726a77665235279d4fe6 + * leaflet: Use provided duration for child transitions. + Actually use the value from the function argument. + * swipeable: Provide swipe direction when preparing. + This will allow to restrict the swipe to only one direction for leaflet. + * swipeable: Distinguish direct and indirect swipes. + Add "direct" parameter to hdy_paginator_begin_swipe() and the corresponding + vfunc, providing a way to tell apart swipes started via HdySwipeGroup sync. + This will be used to have leaflet in headerbar that's not swipeable, but + can still animate along with leaflet in content area. + * swipe-tracker: Skip swipes in wrong direction. + Prevent swiping if the direction doesn't match tracker orientation. This + allows to have GtkScrolledArea inside or around swipeable widgets without + swipes taking over scrolling. + * leaflet: Add allow-visible child property. + This will be used to prevent swiping to widgets such as separators. + * leaflet: Add properties for controlling swipes. + This will allow to selectively enable back and/or forward swipes for + HdyLeaflet. By default swipes are disabled. + * leaflet: Implement back/forward swipe gesture. + Implement HdySwipeable and use HdySwipeTracker to detect back/forward + swipes. + Use can-swipe-back and can-swipe-forward properties for controlling swipes, + and use allow-visible child property to exclude certain widgets, such as + separators, from the gesture. + Multiple leaflets can be synced via HdySwipeGroup. + * example: Enable back swipe in the leaflet. + Set can-swipe-back=true on the content leaflet, allow-visible=false for + separators and use HdySwipeGroup for syncing leaflets rather than binding + visible child name. + * leaflet: Queue relayout after child transition ends. + Prevents close button from occasionally disappearing after swipes. + * swipe-tracker: Add 'allow-mouse-drag' property + * paginator: Add 'allow-mouse-drag' property. + Usually we don't want this, because there's scrolling. However, phosh + still needs this for lockscreen, hence optionally allow it. + * paginator-box: Register window before setting parent. + Prevents newly created widgets from reusing parent's window. + Fixes a regression from e6a477492de6cc4d5107147b9724980ffd7343ea + Fixes https://source.puri.sm/Librem5/libhandy/issues/165 + * swipeable: Fix signal names for docs + * swipe-group: Don't escape tag names for docs + * leaflet: Deprecate old transition type properties. + They did already have the deprecated flag, but weren't shown as deprecated + in docs. + * Update @See_also for swipeable widgets. + Mention HdyLeaflet in HdySwipeable, HdySwipeGroup and HdySwipeTracker. + + [ louib ] + * Fix typo in README. + * Remove casts requiring increased alignment. + Some casts were increasing the required alignment in + callbacks, raising warnings when compiled on arm with gcc. + + [ Guido Günther ] + * Add deprecation macros. + The macros are libhandy internal (should not be used in application + code) and are as such marked with a '_'. This also makes gtk-doc + happy since it treats it as a public symbol otherwise. + * Deprecate all hdy-dialer{-cycle}-button api. + It's considered HdyDialer internal API + * HdyDialer: Remove excessive '*' + * build: Install new header file. + Fixes: ac94e649aac540c1ecaa9df98364049e182605cc + * Release libhandy 0.0.12 + + [ Adrien Plazas ] + * leaflet: Clip children when drawing unfolded. + This will clip children to ensure they don't get drawn on or under the + visible child, which will allow to create mode transition animations + where other children appear to be drawn under the visible child. + * leaflet: Clip the end surface when drawing folded. + This will clip the end surface to ensure it doesn't get drawn on or + under the visible child, which will allow to create mode transition + animations where other children appear to be drawn under the visible + child. + * leaflet: Add the over and under mode transition animations. + This allows the mode transition animation to match the semantic of the + over and under child transitions. + * leaflet: Unify the transition types. + Add the HdyLeafletTransitionType enumeration and the transition-type + property to define both the mode and child transitions, as having them + different makes no sense and could lead to spatialization issues. + This new type doesn't offer a crossfade transition on purpose as it was + deemed inappropriate for the leaflet, for which the position of the + children is inherently important. + This also deprecates the two previous properties and their respective + types. + Fixes https://source.puri.sm/Librem5/libhandy/issues/92. + * leaflet: Remove the over and under mode transitions. + There is no point in adding enum values and deprecating them in the same + version, so let's just remove them. The animations are still available + via the newly added HdyLeafletTransitionType type and the + transition-type property, so this also encourages migrating to the new + API. + * examples: Add a Leaflet page. + This adds a page to demo the leaflet transitions, drops usage of the + deprecated leaflet transition types and properties, and defaults to the + 'over' transition to demo it and its shadow effect. + * Deprecate HdyArrows. + As far as we know, nothing uses it anymore and it's not part of our + latest designs. + Fixes https://source.puri.sm/Librem5/libhandy/issues/126. + * examples: Drop the Arrows page. + HdyArrows is now deprecated, so we don't want to promote it. + * leaflet: Drop some old TODOs. + We just don't need them anymore. + * leaflet: Add Alexander Mikhaylenko's copyright. + His work on this class is far from negligeable, let's reflect that in + the copyright. + * view-switcher-button: Fix the action bar hover style. + This makes the buttons out of a header bar slightly lighter when hovered + and the window is focused. Previously they were the same color as the + unfocused buttons and the action bar, making them look less good and + harder to use. + Fixes https://source.puri.sm/Librem5/libhandy/issues/147. + + [ Julian Sparber ] + * Keypad: Add a general keypad. + This is based on HdyDialer, but with more flexible API. + The new Keypad allows to set a custom Widget to the left/right + lower corner, replacing the original widget. + The Keypad extents directly GtkGrid which exposes all grid properties. + It also allows to replace/change every button in the Keypad, just like + in GtkGrid. + It also adds a GtkEntry which can be used as the focus widget, + it has the key-press-event already connected and it grabs focus once + it's mapped. The Entry isn't part of the keypad, it's just a + convenienced way to create a Entry, you would expect to use with a + keypad. + * Tests: add keypad tests + * Docs: add docs and demo for keypad + * Dialer: deprecate hdydialer + * HdyDialer: Remove it from the demo. + Remove the dialer from the demo since it's deprecated. + * HdyDialer: Deprecate objects related to dialer. + HdyDialerButton, HdyDialerCycleButton and HdyDialer objects where not + deprecated, only there methods were. + + [ Oliver Galvin ] + * README: minor punctuation fixes, and update Fractal URL to GNOME namespace + * docs: Consistently use full sentences in short descriptions. + * docs: Add sections about building and bundling to the 'Compiling with + libhandy' page, and generally tidy the page. * docs: Update copyright + year range. + * meson: fix configure-time warning - Use the 'pie' kwarg instead of passing + '-fpie' manually. Also bump Meson to 0.49.0, when the pie kwarg was added. + * meson: Tidy build files. Use / operator (added in Meson 0.49.0) instead of + join_paths. Use package_api_name variable to avoid repetition. + * style: Remove odd tabs as per 'Coding Style' in HACKING.md, and fix typo. + + [ Ting-Wei Lan ] + * keypad: Fix compilation error for clang. + Function hdy_keypad_button_get_digit is declared to return 'char' in + src/hdy-keypad-button-private.h but defined to return 'const char' in + src/hdy-keypad-button.c. This is not allowed by clang. Since it is + unusual to mark a return value itself as const, just drop const here. + + -- Guido Günther Thu, 12 Dec 2019 09:49:04 +0100 + +libhandy (0.0.11) experimental; urgency=medium + + [ Adrien Plazas ] + * dialer: Work around GtkGrid row homogeneity. + Puts the buttons into a vertical size group rather than making the rows + homogeneous. This prevents a bug from GtkGrid to make the buttons too + tall when the action buttons are hidden. + * dialog: Don't warn if the titlebar isn't a GtkHeaderBar. + Using another widget is perfectly valid, so we should just return + instead. + * dialog: Refactor the transient-for workaround. + This will make introducing new properties simpler. + * dialog: Add the narrow property. + * header-bar: Show a back button in a narrow HdyDialog. + If a header bar is in a narrow HdyDialog, it will display a back button + at its start in place of its usual window decorations. + * examples: Add a complex HdyDialog example. + This shows how to use HdyHeaderBar and HdyDialog to create a more + complex adaptive dialog. + * header-bar: Show a back button on small non-sovereign windows. + This will show the back button not only in small HdyDialog but in all + small windows that are not sovereign. + * meson: Set the log domain. + This makes the log messages from libhandy look like `Handy-Debug: …` + rather than `** Debug: …`, making them easier to distinguish. + * README.md: Update the documentation URL. + It's on the developer.puri.sm now. + * Add animation helpers. + Add various animation helpers to avoid coyping them around. + * squeezer: Support animation disablement. + This will animate the child transitions only if animations are enabled. + * preferences-group: Use the h4 style class. + Use the h4 style class instead of hardcoding the bold style for the + preferences group title, and implement a fallback making the font bold. + This is needed by elementary to use their own style. + * animation: Make some functions public. + This makes hdy_get_enable_animations() and hdy_ease_out_cubic() public. + * view-switcher-button: Don't make transparent on hover. + This doesn't make the background transparent when hovering and apply the + same style as non-hovered buttons on hovered buttons in a headerbar. + + [ Gabriele Musco ] + * Added Unifydmin to Python 3 examples + * Add HydraPaper to Python 3 examples + + [ Ting-Wei Lan ] + * Don't require GNU sed + + [ Jeremy Bicha ] + * Debian packaging improvements + + [ Guido Günther ] + * debian: Ship example program and files + * Release libhandy 0.0.11 + + [ Alexander Mikhaylenko ] + * search-bar: Hide start and end boxes instead of close button. + * glade: Update catalog dtd. + * Add new HdySwipeTracker widget. + This will be used to implement swipes in new widgets. + * Add new HdyPaginator widget. + Display set of pages with swipe based navigation. + + [ David Boddie ] + * Deploy documentation for the master branch + + [ Michael Catanzaro ] + * glade: Don't install glade files outside build prefix. + + -- Guido Günther Tue, 27 Aug 2019 12:50:01 +0200 + +libhandy (0.0.10) experimental; urgency=medium + + [ Adrien Plazas ] + * .editorconfig: Add CSS + * arrows: Refresh HdyArrowsDirection docs. + This moves the HdyArrowsDirection documentation to the C file and + removes the final period from the values definitions, like for all other + enums documentations. + * docs: Add section for new symbols in 0.0.10 + * view-switcher: Fix stack children callbacks. + This fixes the callbacks when a child is added or removed from the view + switcher's stack. + * view-switcher-button: Make an active button's label bold. + This makes the view switcher easier to read. + It uses multiple labels with or without the specific style rather than a + single label with the style toggled on and off to ensure the size + requests don't change depending on whether the button is active or not. + * leaflet: Synchronize paired notifications. + This ensures users can't react to a visible child change notification or + a fold change notification before we finish emitting all related + notifications. + * Add HdySqueezer. + This can be used to automatically hide a widget like a HdyViewSwitcher + in a header bar when there is not enough space for it and show a title + label instead. + Fixes https://source.puri.sm/Librem5/libhandy/issues/100 + * examples: Use a HdySqueezer. + Use a HdySqueezer in the view switcher window to show either the view + switcher in the header bar, or a window title and a view switcher bar + depending on the window's width. + * view-switcher-button: Allow to elipsize in narrow mode. + This will be used to let HdyViewSwitcherBar reach even narrower widths. + * view-switcher: Allow to elipsize in narrow mode. + This will be used to let HdyViewSwitcherBar reach even narrower widths. + * view-switcher-bar: Ellipsize in narrow mode. + This lets HdyViewSwitcherBar reach even narrower widths. + * view-switcher-button: Use buttons borders in size. + When computing the size of the button, take the button's border into + account. + Fixes https://source.puri.sm/Librem5/libhandy/issues/108 + * view-switcher-bar: Sort properties by alphabetical order. + This fixes a code style error and will avoid to propagate it as the file + gets edited. + * view-switcher-bar: Add margins. + Add margings around the view switcher to better match the mockups. + * view-switcher: Define a minimum natural width. + This prevents the buttons from looking terribly narrow in a wide bar by + making them request a minimum good looking natural size. + * Add HdyPreferencesRow. + This will be used as the base row for the preferences window, offering + data needed to search a preference entry. + * action-row: Extend HdyPreferencesRow. + This allows to use HdyActionRow and its derivatives as preferences rows. + * Add HdyPreferencesGroup. + This will be used to group preferences rows as a coherent group in a + preferences page. + * Add HdyPreferencesPage. + This will be used to group preferences as pages in a preferences window. + * Add HdyPreferencesWindow. + This allows to easily create searchable preferences windows. + Fixes https://source.puri.sm/Librem5/libhandy/issues/101 + * examples: Add a HdyPreferencesWindow example + * Add private GtkWindow functions. + Add the private GtkWindow functions _gtk_window_toggle_maximized() + and gtk_window_get_icon_for_size() which will be used in the next commit + by HdyHeaderBar. + * Add HdyHeaderBar. + Fork GtkHeaderBar to help fixing shortcomings caused by adaptive designs + or coming from GtkHeaderBar itself as features are not accepted into GTK + 3 anymore. + Fixes https://source.puri.sm/Librem5/libhandy/issues/102 + * examples: Use HdyHeaderBar in the View Switcher page. + This correctly centers the view switcher and demoes HdyHeaderBar. + * view-switcher: Recommend to use a HdyHeaderBar. + This will help users of HdyViewSwitcher to know how to make it look + good in a header bar. + * examples: Drop un unused signal connection. + This avoids a run time warning. + * docs: Add images for HdyViewSwitcher and HdyViewSwitcherBar + * preferences-window: Strictly center the header bar. + This makes the header bar's widgets look better by ensuring they are + always centered, even if it means they will be narrower. + * conbo-row: Make the popover relative to the arrow. + Consistently point to the arrow rather than sometimes to the arrow and + sometimes to the invisible box containing the current value. + * combo-row: Add HdyComboRowGetName. + Replace HdyComboRowCreateLabelData by HdyComboRowGetName and keep a + reference to in the combo row to allow accessing it externally. It will + be needed to automatically handle converting the value into a name to + display as the subtitle of the row. + * combo-row: Add the use-subtitle property. + Allow to display the current value as the subtitle rather than at the + end of the row. + Fixes https://source.puri.sm/Librem5/libhandy/issues/95 + * header-bar: Render margins and borders. + Fixes https://source.puri.sm/Librem5/libhandy/issues/121 + + [ Zander Brown ] + * Add HdyViewSwitcherButton. + This will be used in the next commit by HdyViewSwitcher. + * Add HdyViewSwitcher. + This more modern and adaptive take on GtkStackSwitcher helps building + adaptive UIs for phones. + Fixes https://source.puri.sm/Librem5/libhandy/issues/64 + * Add HdyViewSwitcherBar. + This action bar offers a HdyViewSwitcher and is designed to be put at + the bottom of windows. It is designed to be revealed when the header bar + doesn't have enough room to fit a HdyViewSwitcher, helping the windows + to reach narrower widths. + * examples: Add the View Switcher page. + This example presents a HdyViewSwitcher and a HdyViewSwitcherBar in + their own window. Currently both are visible at the same time, a later + commit should make only one visible at a time, depending on the + available width. + + [ Aearil ] + * Update components list for the external projects in the README + + [ Mohammed Sadiq ] + * dialog: Fix typos in documentation + * demo-window: Fix typo in property name + + [ Oliver Galvin ] + * Change GTK+ to GTK + * Fix a few typos and grammatical mistakes + * Expand the visual overview. + Add more widgets and a comparison of HdyDialog + + [ Guido Günther ] + * Release libhandy 0.0.10 + * HACKING: + - Properly end emphasis + - Document extra space after function calls + * ci improvements + - Split doc build to different stage + - Split out unit tests to different stage + - Drop coverage on Fedora. It's not evaulated anyway + - Split out build commands + - Drop tests from static build + - Move Debian package to packaging stage + * gitlab-ci: Archive the build debs + * HdyArrows: + - Fix obvious documentation errors + - Only redraw widget if visible + - Don't emit notify signals on unchanged properties + - Redraw arrows on property changes + * HdyDemoWindow: Don't schedule arrow redraws + * Add suppression for ASAN + * tests-dialer: cleanups + * HdyDialer: Make show_action_buttons match the initial property default + + -- Guido Günther Wed, 12 Jun 2019 17:23:21 +0200 + +libhandy (0.0.9) experimental; urgency=medium + + [ Benjamin Berg ] + * glade: Mark ActionRow properties as translatable/icon. + Without this, it is impossible to set the translatable flag in glade, + making it hard to create proper UI definitions. + + [ Bastien Nocera ] + * Use correct i18n include. + From the Internationalization section of the GLib API docs: + In order to use these macros in an application, you must include + . For use in a library, you must include + after defining the GETTEXT_PACKAGE macro suitably for your library + * Fix broken translations in all libhandy applications. + Translations in all the applications using libhandy would be broken + after a call to hdy_init() as it changed the default gettext translation + domain. + See https://gitlab.gnome.org/GNOME/gnome-control-center/issues/393 + + [ Adrien Plazas ] + * examples: Update the Flatpak command. + The command should changed with the demo application name. + * leaflet: Improve the slide child transition description. + This makes the slide child transition description match the one of the + slide mode transition one. + * action-row: Upcast self to check the activated row. + Upcast the HdyActionRow rather than downcasting the activated row to + compare their pointers. This prevents error messages when a sibbling row + that isn't a HdyActionRow is activated. Also use a simple cast rather + than a safe cast as it is there only to please the compiler and is + useless for a pointer comparison and it's faster. + * Drop 'dialer' from the UI resources path. + This makes the UI file paths more correct and simpler. + * leaflet: Add hdy_leaflet_stop_child_transition() + This makes the code clearer by encapsulating child mode transition + cancellation into its own function. + * leaflet: Factorize bin window move and resize. + This ensures we move or resize it consistently. + * leaflet: Move the bin window on child transition cancellation. + This avoids the children to be drawn out of place when a mode transition + is triggered while a child transition was ongoing. + Fixes https://source.puri.sm/Librem5/libhandy/issues/93 + * Add HDY_STYLE_PROVIDER_PRIORITY. + Add and use HDY_STYLE_PROVIDER_PRIORITY to help ensuring custom styling + is applied consistently and correctly accross all the library. + * expander-row: Move the custom style to a resource. + This makes the code cleaner, easier to read, and simnpler to modify. + * combo-row: Move the custom style to a resource. + This makes the code cleaner, easier to read, and simnpler to modify. + * expander-row: Add the expanded property. + This can be used to reveal external widgets depending on the state of + the row. + + [ Guido Günther ] + * debian: Test GObject introspection. + This makes sure we have the typelib file installed correctly. + * debian/tests: Drop API version from include. + This makes sure we respect pkg-config's findings. + * examples: Add API version to demo name. + This makes different versions co-installable. + * build: Don't hardcode API version + * Release libhandy 0.0.9 + + -- Guido Günther Thu, 07 Mar 2019 12:37:34 +0100 + +libhandy (0.0.8) experimental; urgency=medium + + [ Adrien Plazas ] + * examples: Use the "frame" stylesheet on listboxes. + This avoids using GtkFrame where it's not relevant and shows the + example. + * examples: Refactor the Dialer panel. + This makes it more in line with the other panels. + * examples: Refactor the Arrows panel. + This makes it more in line with the other panels. + * examples: Fix the Lists panel column width. + We were accidentally using the widths from the Column panel. + * examples: Fix a typo + * action-row: Add the row-header style class to the header box. + This will allow to style the row's header separately. + * expander-row: Add the expander style class. + This will allow to style the row's padding appropriately to be used as + an expander. + * README.md: Add GNOME Settings and GNOME Web to users + * meson: Don't install if it's a static subproject + * title-bar: Drop useless definitions and inclusions. + These were copy and paste errors. + * README.md: Add gnome-bluetooth as a user + * examples: Rename the example program to handy-demo. + This also renames the type and files to match the new name. + Fixes https://source.puri.sm/Librem5/libhandy/issues/81 + * meson: Fix the examples option description. + Fixes https://source.puri.sm/Librem5/libhandy/issues/82 + * expander-row: Animate the arrow rotation. + Because we can! + * leaflet: Support RTL languages when unfolded. + Fixes https://source.puri.sm/Librem5/libhandy/issues/86 + + [ Benjamin Berg ] + * Add -s -noreset to xvfb-run calls. + Xvfb will close when the last client exists, which may be the cause of + sporadic test failures. Add -s -noreset to the command line to prevent + this from happening. + * combo-row: Fix memory leak + g_list_model_get_item returns a referenced GObject which needs to be + unref'ed. + * combo-row: Fix memory leak in set_for_enum + * value-object: Add an object to stuff a GValue into a GListModel. + This is useful to store arbitrary (but simple) values inside a + HdyComboRow. + * example: Use value object rather. + The code was storing strings in labels, just to extract them again. + Also, the code was leaking the labels as g_list_store_insert does not + sink the reference of the passed object. + * tests: Add tests for HdyValueObject + * action-row: Destroy the contained widget. + The GtkBox that contains everything is an internal child which must be + destroyed explicitly. + + [ Guido Günther ] + * run.in: Set GLADE_MODULE_SEARCH_PATH as well. + This makes sure we're using the freshly built module when running + from the source tree. + * Release libhandy 0.0.8 + + [ Pellegrino Prevete ] + * README: added Daty to example apps + * build: Force default libdir location for libhandy target on Windows to + keep MinGW compatibility + + [ Alexander Mikhaylenko ] + * leaflet: Add missing check for moving child window. + Prevent child window from moving in transitions that don't require it, + instead just resize it. + Fixes https://source.puri.sm/Librem5/libhandy/issues/80 + * leaflet: Drop commented out 'under' child transition. + It's going to be replaced with the actual implementation in the next + commit. + * leaflet: Make 'over' child transition symmetric. + Implement 'under' child transition animation, use it for 'over' for right + and down directions, matching 'over' description. + Fixes https://source.puri.sm/Librem5/libhandy/issues/79 + * leaflet: Add 'under' child transition. + Use same animations as 'over', but with reversed directions. + Documentation descriptions by Adrien Plazas. + Fixes https://source.puri.sm/Librem5/libhandy/issues/84 + * leaflet: Clip bottom child during child transitions. + Prevents bottom child from being visible through the top one during 'over' + and 'under' child transitions. + + [ maxice8 ] + * meson: pass -DHANDY_COMPILATION to GIR compiler. + Fixes cross compilation of GIR in Void Linux. + + -- Guido Günther Fri, 15 Feb 2019 11:27:35 +0100 + +libhandy (0.0.7) experimental; urgency=medium + + [ Adrien Plazas ] + * glade: Add row widgets to the widget classes. They are missing and don't + appear in Glade. + * glade: Add that HdySearchBar. It's in libhandy since 0.0.6 + * action-row: Handle show_all() + This avoids an empty image, an empty subtitle and an empty prefixes box + to be visible when calling show_all(), as they are handled by the row + itself. + * action-row: Add the Since annotation to properties + * example: Make the row with no action non-activatable + * tests: Init libhandy. + This ensures we run the test the same way applications are expected to + run libhandy. + * docs: Add section for new symbols in 0.0.7 + * action-row: Add the activatable-widget property. + This allows to bind the activation of the row by a click or a mnemonic + to the activation of a widget. + * action-row: Chain up the parent dispose method + * combo-row: Release the model on dispose. + This avoids errors when trying to disconnect signals on finalization. + * combo-box: Rename selected_position to selecxted_index. + This will better match the name for its accessors which will be added in + the next commit. + * combo-row: Add the selected-index property. + This allows to access the selected item. + * main: Explicitely load the resources in hdy_init() + This is mandatory to use resources of a static version of libhandy, and + is hence mandatory to allow to build libhandy as a static library. + * meson: Bump Meson to 0.47.0. + This is required to use the feature option type in the next commit. + * meson: Make introspection and the Glade catalog features. + This avoids having to disable them when their dependencies aren't + available and it will allow to disable them properly when libhandy will + be allowed to be built as a static library in the next commit. + * meson: Allow to build as a static library. + This also disables the Glade catalog as it doesn't work with a static + libhandy. + * action-row: Drop pointers to internals on destruction. + This avoids crashes when trying to access pointers to already dropped + widgets. + Fixes https://source.puri.sm/Librem5/libhandy/issues/69 + * expander-row: Drop pointers to internals on destruction. + This avoids crashes when trying to access pointers to already dropped + widgets. + Fixes https://source.puri.sm/Librem5/libhandy/issues/69 + * examples: Make the Dialog section look nicer. + This improves the spacing, adds and icon and adds a description to the + Dialog section. + * dialog: Close when pressing the back button. + Close the dialog instead of destroying it when clicking the back button. + This is the same behavior as when pressing escape or clicking the close + button and allows the dialog to be reused as some applications like to + do. + Fixes https://source.puri.sm/Librem5/libhandy/issues/70 + + [ louib ] + * Add GNOME Contacts as example + + [ Guido Günther ] + * HdyComboRow: Don't use g_autoptr for GEnumClass + g_autoptr for GEnumClass was added post 2.56, so using it makes it + harder for people to package for distros. Not using g_autoptr there + doesn't make the code much less readable. + * HdyDialer: Don't use class method slot for 'delete' + We used the one of 'submit' so far due to a c'n'p error. (Closes: #67) + * HdyComboRow: hdy_combo_row_get_model: Add missing scope annotation + * gitlab-ci: Build static library. + The library build is sufficiently different that we want to run the + build and tests. + * Release libhandy 0.0.7 + + [ David Cordero ] + * Update documentation regarding build dependencies + + [ Zander Brown ] + * Implement HdyDialog, an adaptive GtkDialog + https://source.puri.sm/Librem5/libhandy/issues/52 + * example: Add to example application. + Silly simple demo of HdyDialog. + + [ Benjamin Berg ] + * combo-row: Rework selected-index property setting and notification. + The notify::selected-index signal was not selected in most cases. Rework + the selection handling to ensure that it is always emited when it changes + or if the module is replaced. + Also fixed are a few checks on whether the selection index is valid. + + -- Guido Günther Fri, 18 Jan 2019 14:38:30 +0100 + +libhandy (0.0.6) experimental; urgency=medium + + [ Adrien Plazas ] + * Set relevant ATK roles. + This will help the widgets to be more accessible. + * doc: Rephrase the unstability ack section. + Rephrase the documentation explaining how to include libhandy in a way + that could include other languages such as Vala. + * doc: Document the unstability ack for Vala + * Guard header inclusions with #pragma once. + This standardizes the header inclusion guards to #pragma once, which + shouldn't be a problem as we already were using it in some files. + * hacking: Document header inclusion guard preferences + * example: Disable more libhandy options in Flatpak. + Disable generation of the GObject Introspection files, the VAPI and the + tests in the example Flatpak as they are not used by it. + * arrow: Use a measure() method. + This will simplify porting to GTK+ 4. + * column: Use a measure() method. + This will simplify porting to GTK+ 4. + * dialer-button: Use a measure() method. + This will simplify porting to GTK+ 4. + * leaflet: Use a measure() method. + This will simplify porting to GTK+ 4. + * init: Make the arguments optional. + Annotate the arguments of hdy_init() with (optional) to specify that NULL + arguments are valid. This also replaces the deprecated (allow-none) by + (nullable) to specify that the array pointed at by argv can be NULL. + * init: Document that libhandy can't be reinitialized + * Normalize and document private header guards + * Add HdySearchBar. + This is similar to GtkSearchBar except it allows the central widget + (typically a GtkEntry) to fill all the available space. This is needed to + manage an entry's width via a HdyColumn, letting the entry (and by + extention the search bar) have a limited maximum width while allowing it to + shrink to accomodate smaller windows. + * example: Add the 'Search bar' page. + This adds a demo of HdySearchBar. + * example: Put the content in a scrolled window. + This ensures the example can fit windows of any height. This also makes + the stack containing the content non vertically homogeneous so the + scrollbar appears only on examples needing it, while keeping it + horizontally homogeneous for to keep when the leaflets will be folded + consistent. + * build: Set the shared object install directory. + This is required for Meson subprojects to work as intended. + * build: Do not install hdy-public-types.c. + There is no point in installing this generated C file. + * leaflet: Allow editing the children list when looping through it. + This avoids potential crashes when destroying a leaflet and this avoids + leaks as not all children where looped through as the children list was + edited while being looped through when destroying the leaflet. This fixes + https://source.puri.sm/Librem5/libhandy/issues/42. + * Add hdy_list_box_separator_header() + This list box header update function is commonly used by many applications + and is going to be used by HdyComboRow which is going to be added to + libhandy later.This makes it available for everyone. + * examples: Use hdy_list_box_separator_header() + This makes the code simpler. + * Add HdyActionRow. + This implements a very commonly used list box row pattern and make it + convenient to use. It is going to be used as the base class for many + other commonly used row types. + * examples: Use HdyRow. + This makes the code simpler and demoes the widget. + * Add HdyExpanderRow + * Add HdyEnumValueObject. + This will be used in the next commit to use enumeration values in a + GListModel. + * Add HdyComboRow + * examples: Add the Lists page. + This page presents GtkListBox related widgets like HdyRow and its + descendants. + * examples: Put the scrolled window in the end pane size group. + This fixes the fold synchronization of the leaflets in the example + application's window. + + [ Guido Günther ] + * hdy-enums: Make build reproducible. + Use @basename@ instead of @filename@ since the later uses the full + path which varies across builds. + * HACKING: Clarify braces in if-else. + Document common practice in the other files. + * spec: Sort dependencies + * spec: Build-depend on libgladeui-2.0 + * gitlab-ci: Deduplicate tags + * gitlab-ci: Build on Fedora as well. + This gives us more confidence that we build succesfully and without + warnings on an OS much used by GNOME developers. It also makes sure we + validate the spec file. + * gitlab-ci: Switch to clang-tools + clang-3.9 does not contain scan-build anymore. + * HdyHeaderGroup: Cleanup references to header bars in dispose. + The dispose heandler is meant to break refs to other objects, not + finalize. + * HdyHeaderGroup: Disconnect from header bar's signals during dispose. The + header bars might still emit signals which leads to CRITICALS or actual + crashes. Fixes parts of #56 + * docs: Add section for new symbols in 0.0.6 + * Annotate APIs new in 0.0.6 + * Release libhandy 0.0.6 + + [ Alexander Mikhaylenko ] + * init: Add (transfer none) to argv parameter. + This allows to call the function from Vala more easily. + * header-group: Ref itself instead of header bars. + When adding a header bar, ref the header group and connect to 'destroy' + signal of the header bar. When a header bar is destroyed or + hdy_header_group_remove_header_bar() is called, unref the header bar and + remove it from the list. + This way, a non-empty header group is only destroyed after every header + bar it contains has been removed from the group or destroyed. + Fixes #56 + * Revert "HdyHeaderGroup: Disconnect from header bar's signals during + dispose" + Since commit c5bf27d44022bdfa94b3f560aac8c22115e06363 header bars are + destroyed before header group, so when destroying the header group, the + list of header bars is always empty, so there's nothing to unref anymore. + Reverts commit 14e5fc7b923440a99c3a62635cf895e73c5a49cd. + + [ tallero ] + * build: Don't use -fstack-protector-strong on mingw64. + This unbreaks compilation on that platform. (Closes: #64) + + -- Guido Günther Mon, 17 Dec 2018 16:26:19 +0100 + +libhandy (0.0.5) experimental; urgency=medium + + [ Guido Günther ] + * Release libhandy 0.0.5 + * meson: Properly depend on the generated headers. + This fixes dependency problems with the generated headers such as + https://arm01.puri.sm/job/debs/job/deb-libhandy-buster-armhf/263/console + See + http://mesonbuild.com/Wrap-best-practices-and-tips.html#eclare-generated-headers-explicitly + * debian: Make sure we create a strict shlibs file libhandy's ABI changes a + lot so make sure we generate dependencies that always require the upstream + version built against. + * debian: Mark buil-deps for tests as + * gitlab-ci: Deduplicate before_script + * gitlab-ci: Build with clang (scan-build) as well. + We currently don't fail on warnings: + https://github.com/mesonbuild/meson/issues/4334 + * HdyLeaflet: Remove unused initializations spotted by clang + * doc: Add that virtual methods carry the class prefix (Closes: #53) + * docs: Add libhandy users. This allows to find in uses examples easily. + * docs: Mention meson as well. Fewer and fewer GNOME projects use + autotools. + * docs: Drop package_ver_str from include path. We add this in the + pkg-config file so no need to specify it again. + * Add i18n infrastructure + * Add hdy_init() This initializes i18n. (Closes: #36) + * meson: Depend on glib that supports g_auto*. Related to #33 + * HACKING: document using g_auto* is o.k. (Closes: #33) + * HACKING: Use syntax highlighting. + * Drop Jenkinsfile. We run in gitlab-ci now + * build: Detect if ld supports a version script. This is e.g. not the case + for Clang on OSX. (Closes: #58) + + [ Jeremy Bicha ] + * debian: Have libhandy-0.0-dev depend on libgtk-3-dev (Closes: #910384) + * debian: Use dh --with gir so that gir1.2-handy gets its dependencies set + correctly + * debian: Simplify debian/rules. + + [ Adrien Plazas ] + * example: Drop Glade support in flatpak build. + * main: Init public GObject types in hdy_init() This will avoid our users to + manually ensure libhandy widget types are loaded before using them in + GtkBuilder templates. + Fixes https://source.puri.sm/Librem5/libhandy/issues/20 + * dialer: Descend from GtkBin directly. + Makes HdyDialer descend from GtkBin directly rather than from + GtkEventBox. GtkEventBox will be dropped in GTK+ 4 and brings no + functionality to HdyDialer. + * example: Rename margin-left/right to margin-start/end. + Left and right margin names are not RTL friendly and will be dropped in + GTK+ 4. + * HACKING.md: Rename margin-left to margin-start. + Left and right margin names are not RTL friendly and will be dropped in + GTK+ 4. + * titlebar: Fix a mention of HdyLeaflet in the docs + * example: Do not access event fields. + This is needed to port to GTK+ 4 as these fields will be private. + * dialer: Do not access event fields. + This is needed to port to GTK+ 4 as these fields will be private. + + [ Alexander Mikhaylenko ] + * example: Remove styles present in GTK+ 3.24.1. + Libhandy requires `gtk+-3.0 >= 3.24.1` anyway, so these styles aren't + necessary, and also break upstream `.devel` style. + + [ Jan Tojnar ] + * Use pkg-config for obtaining glade catalogdir + + -- Guido Günther Wed, 07 Nov 2018 11:17:14 +0100 + +libhandy (0.0.4) experimental; urgency=medium + + [ Mohammed Sadiq ] + * dialer-button: Fix emitting signal. + As the properties where set to not explicitly fire ::notify, no + signals where emitted. Let it be not explicit so that + the signal will be emitted on change + * ci: Enable code coverage. + GitLab pages isn't supported now. So simply store the artifacts. + * README: Add build and coverage status images + * dialer: Handle delete button long press. + Make the delete button clear the whole user input on long press + + [ Alexander Mikhaylenko ] + * example: Remove sidebar border less aggressively. + Applying the style to every element inside 'stacksidebar' also removes + border from unrelated elements such as scrollbars. Hence only remove it + from lists. + + [ Adrien Plazas ] + * leaflet: Add the folded property. + This is a boolean equivalent of the fold property, it is a needed + convenience as is can be used in GtkBuilder declarations while the fold + property is more convenient to use from C as it enables stronger typing. + * example: Bind back and close buttons visibility to fold. + Directly bind whether the back button and the close button are visible + to whether the headerbar is folded. + * Add HdyHeaderGroup + * example: Use a HdyHeaderGroup. + This automatically updates the headerbars' window decoration layout. + * dialer-button: Replace digit and letters by symbols. + Unify the digit and the letters of a dialer button as its symbols. This + allows to make the code simpler by limiting the number of special cases. + digit. This also handles Unicode characters. + * dialer-cycle-button: Don't make the secondary label dim. + This helps making it clear that these symbols are available, contrary to + the dim ones from a regular dialer button. + * dialer-button: Make the secondary label smaller. + Makes the secondary text smaller to better match the mockups for Calls. + * Add CSS names to the widgets + * leaflet: Document the fold and folded properties + * dialer: Set buttons checked instead setting relief. + When digit keys are pressed, check the buttons state to checked rather + than changing the relief. + * dialer: Add the relief property. + This allows to set the relief of the dialer buttons. + * header-group: Drop forgotten log. + This was accidentally left in. + Fixes https://source.puri.sm/Librem5/libhandy/issues/47 + * example: Let the Column panel reach narrower widths. + Readjust the column widget's margins and ellipsize its labels to let it + reach narrower widths. + * example: Separate the listbox items + * example: Let the Dialer panel reach narrower widths. + Put the dialer into a column rather than forcing its width to let it + reach narrower widths. + * example: Enlarge the dialer label. + This makes the dialed number more readable. + * example: Let the Welcome panel reach narrower widths. + Let the welcome panel's labels wrap to let it reach narrower widths. + * header-group: Sanitize the decoration layout. + Checks whether the decoration layout is NULL, empty or has at least one + colon. + Fixes https://source.puri.sm/Librem5/libhandy/issues/44 + * header-group: Better handle references of header bars. + Take a reference when adding a header bar, release them on destruction + and don't take extra references on the focused child. This avoids using + pointers to dead header bars or to leak them. + * header-group: Fix the type of the focus property. + This also fixes the types of the accessor functions. + Fixes https://source.puri.sm/Librem5/libhandy/issues/46 + * header-group: Fix the docs of the focus property. + This also improves the documentation of its accessor functions. + * header-group: Guard the focused header bar setter. + Better guard the focused header bar setter by checking that the set + header bar actually is one and is part of the group. + * meson: Require GTK+ 3.24.1 or newer. + GTK+ 3.24.1 received style fixes required for HdyTitleBar to work as + expected. + + [ Felix Pojtinger ] + * docs: Format README to enable syntax highlighting. + This also adds code fences and blanks around headers. + + [ Guido Günther ] + * Depend on generated headers. + If tests or examples are built early we want that hdy-enums.h is alread + there. + * docs: Add HdyFold. + This makes sure it can be linked to by HdyLeaflet. + * HdyLealflet: Use glib-mkenums. + This makes the enums clickable in the HdyLeaflet documentation + and makes the code smaller. + * HdyFold: Use glib-mkenums. + This makes the enums clickable in the HdyLeaflet documentation, + HdyFold usable in GtkBuild and makes the code smaller. + * HdyHeaderGroup: Document hdy_group_set_focus() + This makes newer newer Gir scanner happy (and is a good thing anyway). + * debian: Update shared library symbols + * d/rules: Set a proper locale for the tests. + * Check the debian package build during CI as well. + This make sure we notice build breackage before it hits Jenkins to build + the official debs. + * ci: Fail on gtkdoc warnings. + Gitlab seems to get confused by the '!' expression so use if instead. + * tests: Test hdy_header_group_{get,set}_focus + * HdyDialer: Apply 'keypad' style class. + This applies the 'keypad' style class to both the keypad itself and its + buttons. This allows to style the buttons and the keypad in the + application. + * glade: Verify catalog data via xmllint + * debian: Add dependenies for running xmllint. + This also makes sure we have it available during CI + * HdyHeaderGroup: Allow to get and remove the headerbars + * debian: Add new symbols + * glade: Add a module so we can handle HdyHeaderGroup + * run: Add glade lib to LD_LIBRARY_PATH. + This makes it simple to test the built version. + * Move glade catalog from data/ to glade/ + Given that there will be more complex widgets lets keep the catalog + and module together. + * glade: Use a custom DTD. + Glades DTD is not up to date. Use a custom copy until this is fixed + upstream: + https://gitlab.gnome.org/GNOME/glade/merge_requests/11 + We do this as a separate commit so we can revert it once upstream glade is + fixed. + * glade: Support HdyHeaderGroup (Closes: #38) + * debian: Ship glade module + + -- Guido Günther Fri, 05 Oct 2018 18:32:42 +0200 + +libhandy (0.0.3) experimental; urgency=medium + + [ Adrien Plazas ] + * New HdyTitleBar widget. This coupled with a transparent headerbar + background can work around graphical glitches when animation header bars + in a leaflet. + * column: Add the linear-growth-width property + * glade: Fix the generic name of HdyArrows + * flatpak: Switch the runtime of the example to master. + * column: Add a missing break statement. + * leaflet: Hide children on transition end only when folded. + * leaflet: Init mode transition positions to the final values. + * example: Always show a close button. + * example: Load custom style from CSS resource + * example: Draw the right color for sidebar separators. + * example: Use separators to separate the panels. + * leaflet: Start the child transition only when folded. + + [ Christopher Davis ] + * Add HdyColumn to libhandy.xml for glade. + + [ Heather Ellsworth ] + * Add issue template + + [ Jordan Petridis ] + * leaflet: initialize a variable. + + [ Guido Günther ] + * HdyButton: Chain up to parent on finalize + * gitlab-ci: Fail on compile warnings + * meson: Warn about possible uninitialized variables + * HdyLeaflet: Fix two uninitialized variables + * Update list of compiler warnings from phosh + and fix the fallout. + + -- Guido Günther Wed, 12 Sep 2018 12:03:54 +0200 + +libhandy (0.0.2) experimental; urgency=medium + + [ Guido Günther ] + * Use source.puri.sm instead of code.puri.sm. + * Add AUTHORS file + * gitlab-ci: Build on Debian buster using provided build-deps. + * arrows: test object construction + * Multiple gtk-doc fixes + * docs: Abort on warnings. + * DialerButton: free letters + + [ Adrien Plazas ] + * dialer: Make the grid visible and forbid show all. + * example: Drop usage of show_all() + * dialer: Add column-spacing and row-spacing props. + * example: Change the grid's spacing and minimum size request. + * flatpak: Allow access to the dconf config dir. + * Replace phone-dial-symbolic by call-start-symbolic. + * column: Fix height for width request. + + -- Guido Günther Wed, 18 Jul 2018 13:12:10 +0200 + +libhandy (0.0.1) experimental; urgency=medium + + [ Guido Günther ] + * Release 0.0.1 + + [ Adrien Plazas ] + * Add HdyColumn widget + + -- Guido Günther Sat, 09 Jun 2018 09:12:06 +0200 + +libhandy (0.0~git20180517) unstable; urgency=medium + + * Add an arrows widget. + The widget prints a number of arrows one by one to indicate a sliding + direction. Number of arrows and animation duration are configurable. + * Add symbols file + + -- Guido Günther Thu, 17 May 2018 15:51:01 +0200 + +libhandy (0.0~git20180429) unstable; urgency=medium + + [ Guido Günther ] + * New git snapshot + * HdyDialer: Emit symbol-clicked signal. This signal is emitted when a + symbol button (numbers or '#' or '*') is clicked. + * HdyDialer: Emit signal when delete button was clicked. + * dialer: Make it simple to clear the stored number. + This also makes sure we don't send multiple number changed events + when nothing changed. + * dialer: Delay number notify. On button press send out the number changed + signal at the very end so listeners can process the button event prior to + the number update event. + + [ Adrien Plazas ] + * leaflet: Refactor homogeneity. + This makes factorizes the homogeneity functions of HdyLeaflet to make + the code a bit shorter. + * build: Add '--c-include=handy.h' GIR options back. + This is necessary for introspection to know the header file to use. + * dialer: Check params of the 'number' prop accessors. + Sanitize the parameters of the 'number' property accessor. This will + warn or misusages of the API at runtime and avoid potential crashes. + * dialer: Style cleanup of the 'number' prop accessors. + Use gchar instead of char, use GNOME style pointer spacing and name the + number parameter 'number'. This is all cosmetic but will make the code + look a bit more GNOME-like. + * example: Drop hardcoded default window size. + This avoid overridding with the one we set in the the .ui file of the + window. + * example: Move window title to .ui file. + This avoid hardcoding values when we can put them in the UI description. + * example-window: Make the default size more phone-like + + [ Bob Ham ] + * dialer: Add "show-action-buttons" property. + Add a new boolean "show-action-buttons" property that specifies + whether the submit and delete buttons are displayed. + + -- Guido Günther Sun, 29 Apr 2018 12:01:58 +0200 + +libhandy (0.0~git20180402) unstable; urgency=medium + + * Initial release + + -- Guido Günther Mon, 02 Apr 2018 12:17:44 +0200 diff --git a/subprojects/libhandy/debian/control b/subprojects/libhandy/debian/control new file mode 100644 index 00000000..b4144204 --- /dev/null +++ b/subprojects/libhandy/debian/control @@ -0,0 +1,79 @@ +Source: libhandy-1 +Section: libs +Priority: optional +Maintainer: Guido Günther +Build-Depends: + debhelper-compat (= 12), + dh-sequence-gir, + gtk-doc-tools, + libgirepository1.0-dev, + libgladeui-dev, + libglib2.0-doc, + libgnome-desktop-3-dev, + libgtk-3-doc, + libgtk-3-dev, + libxml2-utils, + meson, + pkg-config, + valac (>= 0.20), +# to run the tests + xvfb , + xauth , +Standards-Version: 4.1.3 +Homepage: https://gitlab.gnome.org/GNOME/libhandy +Vcs-Browser: https://salsa.debian.org/DebianOnMobile-team/libhandy +Vcs-Git: https://salsa.debian.org/DebianOnMobile-team/libhandy.git + +Package: libhandy-1-0 +Architecture: any +Multi-Arch: same +Depends: + ${misc:Depends}, + ${shlibs:Depends}, +Description: Library with GTK widgets for mobile phones + libhandy provides GTK widgets and GObjects to ease developing + applications for mobile phones. + . + This package contains the shared library. + +Package: libhandy-1-dev +Architecture: any +Multi-Arch: same +Section: libdevel +Depends: + ${misc:Depends}, + ${shlibs:Depends}, + gir1.2-handy-1 (= ${binary:Version}), + libhandy-1-0 (= ${binary:Version}), + libgtk-3-dev, +Recommends: pkg-config +Description: Development files for libhandy + libhandy provides GTK widgets and GObjects to ease developing + applications for mobile phones. + . + This package contains the development files and documentation. + +Package: gir1.2-handy-1 +Architecture: any +Multi-Arch: same +Section: introspection +Depends: + ${gir:Depends}, + ${misc:Depends}, +Description: GObject introspection files for libhandy + libhandy provides GTK widgets and GObjects to ease developing + applications for mobile phones. + . + This package contains the GObject-introspection data in binary typelib format. + +Package: handy-1-examples +Section: x11 +Architecture: any +Depends: ${misc:Depends}, + ${shlibs:Depends}, +Description: Example programs for libhandy + libhandy provides GTK widgets and GObjects to ease developing + applications for mobile phones. + . + This package contains example files and the demonstration program for + libhandy. diff --git a/subprojects/libhandy/debian/copyright b/subprojects/libhandy/debian/copyright new file mode 100644 index 00000000..357e8cda --- /dev/null +++ b/subprojects/libhandy/debian/copyright @@ -0,0 +1,22 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: libhandy +Source: https://gitlab.gnome.org/GNOME/libhandy + +Files: * +Copyright: 2018 Purism SPC +License: LGPL-2.1+ + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + On Debian systems, the complete text of the GNU General + Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". diff --git a/subprojects/libhandy/debian/docs b/subprojects/libhandy/debian/docs new file mode 100644 index 00000000..edc00710 --- /dev/null +++ b/subprojects/libhandy/debian/docs @@ -0,0 +1 @@ +NEWS diff --git a/subprojects/libhandy/debian/gir1.2-handy-1.install b/subprojects/libhandy/debian/gir1.2-handy-1.install new file mode 100644 index 00000000..ccdda392 --- /dev/null +++ b/subprojects/libhandy/debian/gir1.2-handy-1.install @@ -0,0 +1 @@ +usr/lib/*/girepository-1.0/* diff --git a/subprojects/libhandy/debian/handy-0.0-examples.examples b/subprojects/libhandy/debian/handy-0.0-examples.examples new file mode 100644 index 00000000..2c8fad46 --- /dev/null +++ b/subprojects/libhandy/debian/handy-0.0-examples.examples @@ -0,0 +1 @@ +examples/*.py diff --git a/subprojects/libhandy/debian/handy-0.0-examples.install b/subprojects/libhandy/debian/handy-0.0-examples.install new file mode 100644 index 00000000..bbaef535 --- /dev/null +++ b/subprojects/libhandy/debian/handy-0.0-examples.install @@ -0,0 +1 @@ +usr/bin/handy-0.0-demo diff --git a/subprojects/libhandy/debian/handy-1-examples.install b/subprojects/libhandy/debian/handy-1-examples.install new file mode 100644 index 00000000..e7724817 --- /dev/null +++ b/subprojects/libhandy/debian/handy-1-examples.install @@ -0,0 +1 @@ +usr/bin diff --git a/subprojects/libhandy/debian/libhandy-1-0.install b/subprojects/libhandy/debian/libhandy-1-0.install new file mode 100644 index 00000000..5afd80a2 --- /dev/null +++ b/subprojects/libhandy/debian/libhandy-1-0.install @@ -0,0 +1,2 @@ +usr/lib/*/libhandy-?.so.* +usr/share/locale diff --git a/subprojects/libhandy/debian/libhandy-1-0.symbols b/subprojects/libhandy/debian/libhandy-1-0.symbols new file mode 100644 index 00000000..77c9884c --- /dev/null +++ b/subprojects/libhandy/debian/libhandy-1-0.symbols @@ -0,0 +1,328 @@ +libhandy-1.so.0 libhandy-1-0 #MINVER# + LIBHANDY_1_0@LIBHANDY_1_0 0.0~git20180429 + hdy_action_row_activate@LIBHANDY_1_0 0.0.6 + hdy_action_row_add_prefix@LIBHANDY_1_0 0.0.6 + hdy_action_row_get_activatable_widget@LIBHANDY_1_0 0.0.7 + hdy_action_row_get_icon_name@LIBHANDY_1_0 0.0.6 + hdy_action_row_get_subtitle@LIBHANDY_1_0 0.0.6 + hdy_action_row_get_type@LIBHANDY_1_0 0.0.6 + hdy_action_row_get_use_underline@LIBHANDY_1_0 0.0.6 + hdy_action_row_new@LIBHANDY_1_0 0.0.6 + hdy_action_row_set_activatable_widget@LIBHANDY_1_0 0.0.7 + hdy_action_row_set_icon_name@LIBHANDY_1_0 0.0.6 + hdy_action_row_set_subtitle@LIBHANDY_1_0 0.0.6 + hdy_action_row_set_use_underline@LIBHANDY_1_0 0.0.6 + hdy_application_window_get_type@LIBHANDY_1_0 0.80.0 + hdy_application_window_new@LIBHANDY_1_0 0.80.0 + hdy_avatar_get_icon_name@LIBHANDY_1_0 0.85.0 + hdy_avatar_get_show_initials@LIBHANDY_1_0 0.80.0 + hdy_avatar_get_size@LIBHANDY_1_0 0.80.0 + hdy_avatar_get_text@LIBHANDY_1_0 0.80.0 + hdy_avatar_get_type@LIBHANDY_1_0 0.80.0 + hdy_avatar_new@LIBHANDY_1_0 0.80.0 + hdy_avatar_set_icon_name@LIBHANDY_1_0 0.85.0 + hdy_avatar_set_image_load_func@LIBHANDY_1_0 0.80.0 + hdy_avatar_set_show_initials@LIBHANDY_1_0 0.80.0 + hdy_avatar_set_size@LIBHANDY_1_0 0.80.0 + hdy_avatar_set_text@LIBHANDY_1_0 0.80.0 + hdy_carousel_get_allow_mouse_drag@LIBHANDY_1_0 0.80.0 + hdy_carousel_get_animation_duration@LIBHANDY_1_0 0.80.0 + hdy_carousel_get_interactive@LIBHANDY_1_0 0.80.0 + hdy_carousel_get_n_pages@LIBHANDY_1_0 0.80.0 + hdy_carousel_get_position@LIBHANDY_1_0 0.80.0 + hdy_carousel_get_reveal_duration@LIBHANDY_1_0 0.81.0 + hdy_carousel_get_spacing@LIBHANDY_1_0 0.80.0 + hdy_carousel_get_type@LIBHANDY_1_0 0.80.0 + hdy_carousel_indicator_dots_get_type@LIBHANDY_1_0 0.90.0 + hdy_carousel_indicator_dots_get_carousel@LIBHANDY_1_0 0.90.0 + hdy_carousel_indicator_dots_new@LIBHANDY_1_0 0.90.0 + hdy_carousel_indicator_dots_set_carousel@LIBHANDY_1_0 0.90.0 + hdy_carousel_indicator_lines_get_type@LIBHANDY_1_0 0.90.0 + hdy_carousel_indicator_lines_get_carousel@LIBHANDY_1_0 0.90.0 + hdy_carousel_indicator_lines_new@LIBHANDY_1_0 0.90.0 + hdy_carousel_indicator_lines_set_carousel@LIBHANDY_1_0 0.90.0 + hdy_carousel_insert@LIBHANDY_1_0 0.80.0 + hdy_carousel_new@LIBHANDY_1_0 0.80.0 + hdy_carousel_prepend@LIBHANDY_1_0 0.80.0 + hdy_carousel_reorder@LIBHANDY_1_0 0.80.0 + hdy_carousel_scroll_to@LIBHANDY_1_0 0.80.0 + hdy_carousel_scroll_to_full@LIBHANDY_1_0 0.80.0 + hdy_carousel_set_allow_mouse_drag@LIBHANDY_1_0 0.80.0 + hdy_carousel_set_animation_duration@LIBHANDY_1_0 0.80.0 + hdy_carousel_set_interactive@LIBHANDY_1_0 0.80.0 + hdy_carousel_set_reveal_duration@LIBHANDY_1_0 0.81.0 + hdy_carousel_set_spacing@LIBHANDY_1_0 0.80.0 + hdy_centering_policy_get_type@LIBHANDY_1_0 0.0.10 + hdy_clamp_get_maximum_size@LIBHANDY_1_0 0.82.0 + hdy_clamp_get_tightening_threshold@LIBHANDY_1_0 0.82.0 + hdy_clamp_get_type@LIBHANDY_1_0 0.82.0 + hdy_clamp_new@LIBHANDY_1_0 0.82.0 + hdy_clamp_set_maximum_size@LIBHANDY_1_0 0.82.0 + hdy_clamp_set_tightening_threshold@LIBHANDY_1_0 0.82.0 + hdy_combo_row_bind_model@LIBHANDY_1_0 0.0.6 + hdy_combo_row_bind_name_model@LIBHANDY_1_0 0.0.6 + hdy_combo_row_get_model@LIBHANDY_1_0 0.0.6 + hdy_combo_row_get_selected_index@LIBHANDY_1_0 0.0.7 + hdy_combo_row_get_type@LIBHANDY_1_0 0.0.6 + hdy_combo_row_get_use_subtitle@LIBHANDY_1_0 0.0.10 + hdy_combo_row_new@LIBHANDY_1_0 0.0.6 + hdy_combo_row_set_for_enum@LIBHANDY_1_0 0.0.6 + hdy_combo_row_set_get_name_func@LIBHANDY_1_0 0.0.10 + hdy_combo_row_set_selected_index@LIBHANDY_1_0 0.0.7 + hdy_combo_row_set_use_subtitle@LIBHANDY_1_0 0.0.10 + hdy_deck_get_adjacent_child@LIBHANDY_1_0 0.81.0 + hdy_deck_get_can_swipe_back@LIBHANDY_1_0 0.80.0 + hdy_deck_get_can_swipe_forward@LIBHANDY_1_0 0.80.0 + hdy_deck_get_child_by_name@LIBHANDY_1_0 0.85.0 + hdy_deck_get_homogeneous@LIBHANDY_1_0 0.80.0 + hdy_deck_get_interpolate_size@LIBHANDY_1_0 0.80.0 + hdy_deck_get_transition_duration@LIBHANDY_1_0 0.80.0 + hdy_deck_get_transition_running@LIBHANDY_1_0 0.80.0 + hdy_deck_get_transition_type@LIBHANDY_1_0 0.80.0 + hdy_deck_get_type@LIBHANDY_1_0 0.80.0 + hdy_deck_get_visible_child@LIBHANDY_1_0 0.80.0 + hdy_deck_get_visible_child_name@LIBHANDY_1_0 0.80.0 + hdy_deck_navigate@LIBHANDY_1_0 0.80.0 + hdy_deck_new@LIBHANDY_1_0 0.80.0 + hdy_deck_set_can_swipe_back@LIBHANDY_1_0 0.80.0 + hdy_deck_set_can_swipe_forward@LIBHANDY_1_0 0.80.0 + hdy_deck_set_homogeneous@LIBHANDY_1_0 0.80.0 + hdy_deck_set_interpolate_size@LIBHANDY_1_0 0.80.0 + hdy_deck_set_transition_duration@LIBHANDY_1_0 0.80.0 + hdy_deck_set_transition_type@LIBHANDY_1_0 0.80.0 + hdy_deck_set_visible_child@LIBHANDY_1_0 0.80.0 + hdy_deck_set_visible_child_name@LIBHANDY_1_0 0.80.0 + hdy_deck_transition_type_get_type@LIBHANDY_1_0 0.80.0 + hdy_ease_out_cubic@LIBHANDY_1_0 0.0.11 + hdy_enum_value_object_get_name@LIBHANDY_1_0 0.0.6 + hdy_enum_value_object_get_nick@LIBHANDY_1_0 0.0.6 + hdy_enum_value_object_get_type@LIBHANDY_1_0 0.0.6 + hdy_enum_value_object_get_value@LIBHANDY_1_0 0.0.6 + hdy_enum_value_object_new@LIBHANDY_1_0 0.0.6 + hdy_enum_value_row_name@LIBHANDY_1_0 0.0.6 + hdy_expander_row_add_action@LIBHANDY_1_0 0.81.0 + hdy_expander_row_add_prefix@LIBHANDY_1_0 0.82.0 + hdy_expander_row_get_enable_expansion@LIBHANDY_1_0 0.0.6 + hdy_expander_row_get_expanded@LIBHANDY_1_0 0.0.9 + hdy_expander_row_get_icon_name@LIBHANDY_1_0 0.80.0 + hdy_expander_row_get_show_enable_switch@LIBHANDY_1_0 0.0.6 + hdy_expander_row_get_subtitle@LIBHANDY_1_0 0.80.0 + hdy_expander_row_get_type@LIBHANDY_1_0 0.0.6 + hdy_expander_row_get_use_underline@LIBHANDY_1_0 0.80.0 + hdy_expander_row_new@LIBHANDY_1_0 0.0.6 + hdy_expander_row_set_enable_expansion@LIBHANDY_1_0 0.0.6 + hdy_expander_row_set_expanded@LIBHANDY_1_0 0.0.9 + hdy_expander_row_set_icon_name@LIBHANDY_1_0 0.80.0 + hdy_expander_row_set_show_enable_switch@LIBHANDY_1_0 0.0.6 + hdy_expander_row_set_subtitle@LIBHANDY_1_0 0.80.0 + hdy_expander_row_set_use_underline@LIBHANDY_1_0 0.80.0 + hdy_get_enable_animations@LIBHANDY_1_0 0.0.11 + hdy_header_bar_get_centering_policy@LIBHANDY_1_0 0.0.10 + hdy_header_bar_get_custom_title@LIBHANDY_1_0 0.0.10 + hdy_header_bar_get_decoration_layout@LIBHANDY_1_0 0.0.10 + hdy_header_bar_get_has_subtitle@LIBHANDY_1_0 0.0.10 + hdy_header_bar_get_interpolate_size@LIBHANDY_1_0 0.0.10 + hdy_header_bar_get_show_close_button@LIBHANDY_1_0 0.0.10 + hdy_header_bar_get_subtitle@LIBHANDY_1_0 0.0.10 + hdy_header_bar_get_title@LIBHANDY_1_0 0.0.10 + hdy_header_bar_get_transition_duration@LIBHANDY_1_0 0.0.10 + hdy_header_bar_get_transition_running@LIBHANDY_1_0 0.0.10 + hdy_header_bar_get_type@LIBHANDY_1_0 0.0.10 + hdy_header_bar_new@LIBHANDY_1_0 0.0.10 + hdy_header_bar_pack_end@LIBHANDY_1_0 0.0.10 + hdy_header_bar_pack_start@LIBHANDY_1_0 0.0.10 + hdy_header_bar_set_centering_policy@LIBHANDY_1_0 0.0.10 + hdy_header_bar_set_custom_title@LIBHANDY_1_0 0.0.10 + hdy_header_bar_set_decoration_layout@LIBHANDY_1_0 0.0.10 + hdy_header_bar_set_has_subtitle@LIBHANDY_1_0 0.0.10 + hdy_header_bar_set_interpolate_size@LIBHANDY_1_0 0.0.10 + hdy_header_bar_set_show_close_button@LIBHANDY_1_0 0.0.10 + hdy_header_bar_set_subtitle@LIBHANDY_1_0 0.0.10 + hdy_header_bar_set_title@LIBHANDY_1_0 0.0.10 + hdy_header_bar_set_transition_duration@LIBHANDY_1_0 0.0.10 + hdy_header_group_add_gtk_header_bar@LIBHANDY_1_0 0.83.0 + hdy_header_group_add_header_bar@LIBHANDY_1_0 0.83.0 + hdy_header_group_add_header_group@LIBHANDY_1_0 0.83.0 + hdy_header_group_child_get_child_type@LIBHANDY_1_0 0.83.0 + hdy_header_group_child_get_gtk_header_bar@LIBHANDY_1_0 0.83.0 + hdy_header_group_child_get_header_bar@LIBHANDY_1_0 0.83.0 + hdy_header_group_child_get_header_group@LIBHANDY_1_0 0.83.0 + hdy_header_group_child_get_type@LIBHANDY_1_0 0.83.0 + hdy_header_group_child_type_get_type@LIBHANDY_1_0 0.83.0 + hdy_header_group_get_children@LIBHANDY_1_0 0.83.0 + hdy_header_group_get_decorate_all@LIBHANDY_1_0 0.83.0 + hdy_header_group_get_type@LIBHANDY_1_0 0.0.3 + hdy_header_group_new@LIBHANDY_1_0 0.0.3 + hdy_header_group_remove_child@LIBHANDY_1_0 0.83.0 + hdy_header_group_remove_gtk_header_bar@LIBHANDY_1_0 0.83.0 + hdy_header_group_remove_header_bar@LIBHANDY_1_0 0.83.0 + hdy_header_group_remove_header_group@LIBHANDY_1_0 0.83.0 + hdy_header_group_set_decorate_all@LIBHANDY_1_0 0.83.0 + hdy_init@LIBHANDY_1_0 0.82.0 + hdy_keypad_get_column_spacing@LIBHANDY_1_0 0.81.0 + hdy_keypad_get_end_action@LIBHANDY_1_0 0.85.0 + hdy_keypad_get_entry@LIBHANDY_1_0 0.0.12 + hdy_keypad_get_letters_visible@LIBHANDY_1_0 0.85.0 + hdy_keypad_get_row_spacing@LIBHANDY_1_0 0.81.0 + hdy_keypad_get_start_action@LIBHANDY_1_0 0.85.0 + hdy_keypad_get_symbols_visible@LIBHANDY_1_0 0.85.0 + hdy_keypad_get_type@LIBHANDY_1_0 0.0.12 + hdy_keypad_new@LIBHANDY_1_0 0.0.12 + hdy_keypad_set_column_spacing@LIBHANDY_1_0 0.81.0 + hdy_keypad_set_end_action@LIBHANDY_1_0 0.85.0 + hdy_keypad_set_entry@LIBHANDY_1_0 0.0.12 + hdy_keypad_set_letters_visible@LIBHANDY_1_0 0.85.0 + hdy_keypad_set_row_spacing@LIBHANDY_1_0 0.81.0 + hdy_keypad_set_start_action@LIBHANDY_1_0 0.85.0 + hdy_keypad_set_symbols_visible@LIBHANDY_1_0 0.85.0 + hdy_leaflet_get_adjacent_child@LIBHANDY_1_0 0.81.0 + hdy_leaflet_get_can_swipe_back@LIBHANDY_1_0 0.0.12 + hdy_leaflet_get_can_swipe_forward@LIBHANDY_1_0 0.0.12 + hdy_leaflet_get_child_by_name@LIBHANDY_1_0 0.85.0 + hdy_leaflet_get_child_transition_duration@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_get_child_transition_running@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_get_folded@LIBHANDY_1_0 0.80.0 + hdy_leaflet_get_homogeneous@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_get_interpolate_size@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_get_mode_transition_duration@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_get_transition_type@LIBHANDY_1_0 0.0.12 + hdy_leaflet_get_type@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_get_visible_child@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_get_visible_child_name@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_navigate@LIBHANDY_1_0 0.80.0 + hdy_leaflet_new@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_set_can_swipe_back@LIBHANDY_1_0 0.0.12 + hdy_leaflet_set_can_swipe_forward@LIBHANDY_1_0 0.0.12 + hdy_leaflet_set_child_transition_duration@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_set_homogeneous@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_set_interpolate_size@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_set_mode_transition_duration@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_set_transition_type@LIBHANDY_1_0 0.0.12 + hdy_leaflet_set_visible_child@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_set_visible_child_name@LIBHANDY_1_0 0.0~git20180429 + hdy_leaflet_transition_type_get_type@LIBHANDY_1_0 0.0.12 + hdy_navigation_direction_get_type@LIBHANDY_1_0 0.9.9 + hdy_preferences_group_get_description@LIBHANDY_1_0 0.0.10 + hdy_preferences_group_get_title@LIBHANDY_1_0 0.0.10 + hdy_preferences_group_get_type@LIBHANDY_1_0 0.0.10 + hdy_preferences_group_new@LIBHANDY_1_0 0.0.10 + hdy_preferences_group_set_description@LIBHANDY_1_0 0.0.10 + hdy_preferences_group_set_title@LIBHANDY_1_0 0.0.10 + hdy_preferences_page_get_icon_name@LIBHANDY_1_0 0.0.10 + hdy_preferences_page_get_title@LIBHANDY_1_0 0.0.10 + hdy_preferences_page_get_type@LIBHANDY_1_0 0.0.10 + hdy_preferences_page_new@LIBHANDY_1_0 0.0.10 + hdy_preferences_page_set_icon_name@LIBHANDY_1_0 0.0.10 + hdy_preferences_page_set_title@LIBHANDY_1_0 0.0.10 + hdy_preferences_row_get_title@LIBHANDY_1_0 0.0.10 + hdy_preferences_row_get_type@LIBHANDY_1_0 0.0.10 + hdy_preferences_row_get_use_underline@LIBHANDY_1_0 0.0.10 + hdy_preferences_row_new@LIBHANDY_1_0 0.0.10 + hdy_preferences_row_set_title@LIBHANDY_1_0 0.0.10 + hdy_preferences_row_set_use_underline@LIBHANDY_1_0 0.0.10 + hdy_preferences_window_close_subpage@LIBHANDY_1_0 0.85.0 + hdy_preferences_window_get_can_swipe_back@LIBHANDY_1_0 0.85.0 + hdy_preferences_window_get_search_enabled@LIBHANDY_1_0 0.80.0 + hdy_preferences_window_get_type@LIBHANDY_1_0 0.0.10 + hdy_preferences_window_new@LIBHANDY_1_0 0.0.10 + hdy_preferences_window_present_subpage@LIBHANDY_1_0 0.85.0 + hdy_preferences_window_set_can_swipe_back@LIBHANDY_1_0 0.85.0 + hdy_preferences_window_set_search_enabled@LIBHANDY_1_0 0.80.0 + hdy_search_bar_connect_entry@LIBHANDY_1_0 0.0.6 + hdy_search_bar_get_search_mode@LIBHANDY_1_0 0.0.6 + hdy_search_bar_get_show_close_button@LIBHANDY_1_0 0.0.6 + hdy_search_bar_get_type@LIBHANDY_1_0 0.0.6 + hdy_search_bar_handle_event@LIBHANDY_1_0 0.0.6 + hdy_search_bar_new@LIBHANDY_1_0 0.0.6 + hdy_search_bar_set_search_mode@LIBHANDY_1_0 0.0.6 + hdy_search_bar_set_show_close_button@LIBHANDY_1_0 0.0.6 + hdy_squeezer_get_child_enabled@LIBHANDY_1_0 0.0.10 + hdy_squeezer_get_homogeneous@LIBHANDY_1_0 0.0.10 + hdy_squeezer_get_interpolate_size@LIBHANDY_1_0 0.0.10 + hdy_squeezer_get_transition_duration@LIBHANDY_1_0 0.0.10 + hdy_squeezer_get_transition_running@LIBHANDY_1_0 0.0.10 + hdy_squeezer_get_transition_type@LIBHANDY_1_0 0.0.10 + hdy_squeezer_get_type@LIBHANDY_1_0 0.0.10 + hdy_squeezer_get_visible_child@LIBHANDY_1_0 0.0.10 + hdy_squeezer_get_xalign@LIBHANDY_1_0 0.85.0 + hdy_squeezer_get_yalign@LIBHANDY_1_0 0.85.0 + hdy_squeezer_new@LIBHANDY_1_0 0.0.10 + hdy_squeezer_set_child_enabled@LIBHANDY_1_0 0.0.10 + hdy_squeezer_set_homogeneous@LIBHANDY_1_0 0.0.10 + hdy_squeezer_set_interpolate_size@LIBHANDY_1_0 0.0.10 + hdy_squeezer_set_transition_duration@LIBHANDY_1_0 0.0.10 + hdy_squeezer_set_transition_type@LIBHANDY_1_0 0.0.10 + hdy_squeezer_set_xalign@LIBHANDY_1_0 0.85.0 + hdy_squeezer_set_yalign@LIBHANDY_1_0 0.85.0 + hdy_squeezer_transition_type_get_type@LIBHANDY_1_0 0.0.10 + hdy_swipe_group_add_swipeable@LIBHANDY_1_0 0.0.12 + hdy_swipe_group_get_swipeables@LIBHANDY_1_0 0.0.12 + hdy_swipe_group_get_type@LIBHANDY_1_0 0.0.12 + hdy_swipe_group_new@LIBHANDY_1_0 0.0.12 + hdy_swipe_group_remove_swipeable@LIBHANDY_1_0 0.0.12 + hdy_swipe_tracker_get_allow_mouse_drag@LIBHANDY_1_0 0.0.12 + hdy_swipe_tracker_get_enabled@LIBHANDY_1_0 0.0.11 + hdy_swipe_tracker_get_reversed@LIBHANDY_1_0 0.0.11 + hdy_swipe_tracker_get_swipeable@LIBHANDY_1_0 0.82.0 + hdy_swipe_tracker_get_type@LIBHANDY_1_0 0.0.11 + hdy_swipe_tracker_new@LIBHANDY_1_0 0.0.11 + hdy_swipe_tracker_set_allow_mouse_drag@LIBHANDY_1_0 0.0.12 + hdy_swipe_tracker_set_enabled@LIBHANDY_1_0 0.0.11 + hdy_swipe_tracker_set_reversed@LIBHANDY_1_0 0.0.11 + hdy_swipe_tracker_shift_position@LIBHANDY_1_0 0.81.0 + hdy_swipeable_emit_child_switched@LIBHANDY_1_0 0.82.0 + hdy_swipeable_get_cancel_progress@LIBHANDY_1_0 0.81.0 + hdy_swipeable_get_distance@LIBHANDY_1_0 0.81.0 + hdy_swipeable_get_progress@LIBHANDY_1_0 0.81.0 + hdy_swipeable_get_snap_points@LIBHANDY_1_0 0.81.0 + hdy_swipeable_get_swipe_area@LIBHANDY_1_0 0.82.0 + hdy_swipeable_get_swipe_tracker@LIBHANDY_1_0 0.82.0 + hdy_swipeable_get_type@LIBHANDY_1_0 0.0.12 + hdy_swipeable_switch_child@LIBHANDY_1_0 0.0.12 + hdy_title_bar_get_selection_mode@LIBHANDY_1_0 0.0.3 + hdy_title_bar_get_type@LIBHANDY_1_0 0.0.3 + hdy_title_bar_new@LIBHANDY_1_0 0.0.3 + hdy_title_bar_set_selection_mode@LIBHANDY_1_0 0.0.3 + hdy_value_object_copy_value@LIBHANDY_1_0 0.0.8 + hdy_value_object_dup_string@LIBHANDY_1_0 0.0.8 + hdy_value_object_get_string@LIBHANDY_1_0 0.0.8 + hdy_value_object_get_type@LIBHANDY_1_0 0.0.8 + hdy_value_object_get_value@LIBHANDY_1_0 0.0.8 + hdy_value_object_new@LIBHANDY_1_0 0.0.8 + hdy_value_object_new_collect@LIBHANDY_1_0 0.0.8 + hdy_value_object_new_string@LIBHANDY_1_0 0.0.8 + hdy_value_object_new_take_string@LIBHANDY_1_0 0.0.8 + hdy_view_switcher_bar_get_policy@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_bar_get_reveal@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_bar_get_stack@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_bar_get_type@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_bar_new@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_bar_set_policy@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_bar_set_reveal@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_bar_set_stack@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_get_narrow_ellipsize@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_get_policy@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_get_stack@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_get_type@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_new@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_policy_get_type@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_set_narrow_ellipsize@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_set_policy@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_set_stack@LIBHANDY_1_0 0.0.10 + hdy_view_switcher_title_get_policy@LIBHANDY_1_0 0.80.0 + hdy_view_switcher_title_get_stack@LIBHANDY_1_0 0.80.0 + hdy_view_switcher_title_get_subtitle@LIBHANDY_1_0 0.80.0 + hdy_view_switcher_title_get_title@LIBHANDY_1_0 0.80.0 + hdy_view_switcher_title_get_title_visible@LIBHANDY_1_0 0.80.0 + hdy_view_switcher_title_get_type@LIBHANDY_1_0 0.80.0 + hdy_view_switcher_title_get_view_switcher_enabled@LIBHANDY_1_0 0.80.0 + hdy_view_switcher_title_new@LIBHANDY_1_0 0.80.0 + hdy_view_switcher_title_set_policy@LIBHANDY_1_0 0.80.0 + hdy_view_switcher_title_set_stack@LIBHANDY_1_0 0.80.0 + hdy_view_switcher_title_set_subtitle@LIBHANDY_1_0 0.80.0 + hdy_view_switcher_title_set_title@LIBHANDY_1_0 0.80.0 + hdy_view_switcher_title_set_view_switcher_enabled@LIBHANDY_1_0 0.80.0 + hdy_window_get_type@LIBHANDY_1_0 0.80.0 + hdy_window_handle_get_type@LIBHANDY_1_0 0.80.0 + hdy_window_handle_new@LIBHANDY_1_0 0.80.0 + hdy_window_new@LIBHANDY_1_0 0.80.0 diff --git a/subprojects/libhandy/debian/libhandy-1-dev.install b/subprojects/libhandy/debian/libhandy-1-dev.install new file mode 100644 index 00000000..9cccd33f --- /dev/null +++ b/subprojects/libhandy/debian/libhandy-1-dev.install @@ -0,0 +1,8 @@ +usr/include/* +usr/lib/*/libhandy-?.so +usr/lib/*/glade/modules/libglade-handy-?.so +usr/lib/*/pkgconfig/* +usr/share/gir-1.0/* +usr/share/glade/catalogs/ +usr/share/gtk-doc/ +usr/share/vala/vapi/ diff --git a/subprojects/libhandy/debian/rules b/subprojects/libhandy/debian/rules new file mode 100755 index 00000000..e1f6d223 --- /dev/null +++ b/subprojects/libhandy/debian/rules @@ -0,0 +1,16 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +%: + dh $@ + +override_dh_auto_configure: + dh_auto_configure -- -Dgtk_doc=true + +override_dh_auto_test: + xvfb-run -s -noreset dh_auto_test + +override_dh_makeshlibs: + dh_makeshlibs --package=libhandy-1-0 -- -c2 + diff --git a/subprojects/libhandy/debian/source/format b/subprojects/libhandy/debian/source/format new file mode 100644 index 00000000..89ae9db8 --- /dev/null +++ b/subprojects/libhandy/debian/source/format @@ -0,0 +1 @@ +3.0 (native) diff --git a/subprojects/libhandy/debian/tests/build-test b/subprojects/libhandy/debian/tests/build-test new file mode 100755 index 00000000..434a8460 --- /dev/null +++ b/subprojects/libhandy/debian/tests/build-test @@ -0,0 +1,30 @@ +#!/bin/sh +set -eu + +if [ -n "${DEB_HOST_GNU_TYPE:-}" ]; then + CROSS_COMPILE="$DEB_HOST_GNU_TYPE-" +else + CROSS_COMPILE= +fi + +cd "$AUTOPKGTEST_TMP" + +cat < handytest.c +#include +#include + +int +main (int argc, + char **argv) +{ + gtk_init(&argc, &argv); + hdy_init(); + hdy_keypad_new(FALSE, TRUE); +} +EOF + +${CROSS_COMPILE}gcc -o handytest handytest.c $(${CROSS_COMPILE}pkg-config --cflags --libs libhandy-1) +echo "build ok" +[ -x handytest ] +xvfb-run -a -s "-screen 0 1024x768x24" ./handytest +echo "starts ok" diff --git a/subprojects/libhandy/debian/tests/control b/subprojects/libhandy/debian/tests/control new file mode 100644 index 00000000..595abee4 --- /dev/null +++ b/subprojects/libhandy/debian/tests/control @@ -0,0 +1,8 @@ +Tests: build-test +Depends: libhandy-1-dev, build-essential, pkg-config, xauth, xvfb +Restrictions: allow-stderr + +Tests: python-gi-test +Depends: gir1.2-handy-1, python3-gi, python3 +Restrictions: allow-stderr + diff --git a/subprojects/libhandy/debian/tests/python-gi-test b/subprojects/libhandy/debian/tests/python-gi-test new file mode 100755 index 00000000..dfb1bf3a --- /dev/null +++ b/subprojects/libhandy/debian/tests/python-gi-test @@ -0,0 +1,13 @@ +#!/usr/bin/python3 +# +# Make sure gobject introspection works + +import gi + +gi.require_version('Handy', '1') +from gi.repository import Handy + +group = Handy.SwipeGroup() + +assert type(group).__name__ == 'SwipeGroup' +assert group.get_swipeables() == [] diff --git a/subprojects/libhandy/doc/build-howto.xml b/subprojects/libhandy/doc/build-howto.xml new file mode 100644 index 00000000..a6f731f3 --- /dev/null +++ b/subprojects/libhandy/doc/build-howto.xml @@ -0,0 +1,159 @@ + + + + %gtkdocentities; +]> + + + + Compiling with &package_string; + 3 + + + + Compiling with &package_string;Notes on compiling. + + + + Building + + + If you need to build &package_string;, get the + source from here and see + the README.md file. + + + + + Using pkg-config + + Like other GNOME libraries, + &package_string; uses + pkg-config to provide compiler options. The + package name is "&package_ver_str;". + + + + If you use Automake/Autoconf, in your configure.ac + script, you might specify something like: + + + + PKG_CHECK_MODULES(LIBHANDY, [&package_ver_str;]) + AC_SUBST(LIBHANDY_CFLAGS) + AC_SUBST(LIBHANDY_LIBS) + + + + Or when using the Meson build system you can declare a dependency like: + + + + dependency('&package_ver_str;') + + + + The "&package_api_version;" in the package name is the + "API version" (indicating "the version of the + &package_string; API that first appeared in version + &package_api_version;") and is essentially just part of the package name. + + + + + Bundling the library + + + As &package_string; uses the Meson build + system, bundling it as a subproject when it is not installed is easy. + Add this to your meson.build: + + + + &package_string;_dep = dependency('&package_ver_str;', version: '>= &package_version;', required: false) + if not &package_string;_dep.found() + &package_string; = subproject( + '&package_string;', + install: false, + default_options: [ + 'examples=false', + 'package_subdir=my-project-name', + 'tests=false', + ] + ) + &package_string;_dep = &package_string;.get_variable('&package_string;_dep') + endif + + + + Then add &package_string; as a git submodule: + + + + git submodule add &package_url;.git subprojects/&package_string; + + + + To bundle the library with your Flatpak application, add the following + module to your manifest: + + + + { + "name" : "&package_string;", + "buildsystem" : "meson", + "builddir" : true, + "config-opts": [ + "-Dexamples=false", + "-Dtests=false" + ], + "sources" : [ + { + "type" : "git", + "url" : "&package_url;.git" + } + ] + } + + + + + Building on macOS + + + To build on macOS you need to install the build-dependencies first. This can e.g. be done via brew: + + + + + brew install pkg-config gtk+3 adwaita-icon-theme meson glade gobject-introspection vala + + + + + After running the command above, one may now build the library: + + + + + git clone https://gitlab.gnome.org/GNOME/libhandy.git + cd libhandy + meson . _build + ninja -C _build test + ninja -C _build install + + + + + Working with the library on macOS is pretty much the same as on Linux. To link it, use pkg-config: + + + + + gcc $(pkg-config --cflags --libs gtk+-3.0) $(pkg-config --cflags --libs libhandy-1) main.c -o main + + + + diff --git a/subprojects/libhandy/doc/handy-docs.xml b/subprojects/libhandy/doc/handy-docs.xml new file mode 100644 index 00000000..18c15263 --- /dev/null +++ b/subprojects/libhandy/doc/handy-docs.xml @@ -0,0 +1,140 @@ + + + + %gtkdocentities; +]> + + + &package_name; Reference Manual + + This document is the API reference for &package_name; &package_version;. + + Handy is a library to help you write apps for GTK/GNOME based mobile phones. + + + If you find any issues in this API reference, please report it using + the bugtracker. + + + + + 2017-2020 + Purism SPC + + + + + Introduction + + + + + + + Widgets and Objects + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Helpers + + + + + + Migrating from Previous Versions of Handy + + + + + + Object Hierarchy + + + + + API Index + + + + + Index of deprecated API + + + + + Index of new symbols in 0.0.6 + + + + + Index of new symbols in 0.0.7 + + + + + Index of new symbols in 0.0.8 + + + + + Index of new symbols in 0.0.10 + + + + + Index of new symbols in 0.0.11 + + + + + Index of new symbols in 0.0.12 + + + + + Index of new symbols in 1.0 + + + + + Annotations glossary + + + + diff --git a/subprojects/libhandy/doc/hdy-migrating-0-0-to-1.xml b/subprojects/libhandy/doc/hdy-migrating-0-0-to-1.xml new file mode 100644 index 00000000..34649496 --- /dev/null +++ b/subprojects/libhandy/doc/hdy-migrating-0-0-to-1.xml @@ -0,0 +1,356 @@ + + + + %gtkdocentities; +]> + + + + Migrating from Handy 0.0.x to Handy 1 + 3 + + + + Migrating from Handy 0.0.x to Handy 1Notes on migration to Handy 1. + + + + Handy 1 is a major new version of Handy that breaks both API and ABI + compared to Handy 0.0.x. Thankfully, most of the changes are not hard to + adapt to and there are a number of steps that you can take to prepare your + Handy 0.0.x application for the switch to Handy 1. After that, there's a + number of adjustments that you may have to do when you actually switch your + application to build against Handy 1. + + + + Preparation in Handy 0.0.x + + + The steps outlined in the following sections assume that your application + is working with Handy 0.0.13, which is the final stable release of Handy + 0.0.x. It includes all the necessary APIs and tools to help you port your + application to Handy 1. If you are using an older version of Handy 0.0.x, + you should first get your application to build and work with Handy 0.0.13. + + + + Do not use the static build option + + Static linking support has been removed, and so did the static build + option. + You must adapt you program to link to the library dynamically, using + the package_subdir build option if needed. + + + + + Do not use deprecated symbols + + Over the years, a number of functions, and in some cases, entire widgets + have been deprecated. These deprecations are clearly spelled out in the + API reference, with hints about the recommended replacements. + The API reference for GTK 3 also includes an + index + of all deprecated symbols. + + + + + + + Changes that need to be done at the time of the switch + + + This section outlines porting tasks that you need to tackle when you get + to the point that you actually build your application against Handy 1. + Making it possible to prepare for these in Handy 0.0 would have been + either impossible or impractical. + + + + hdy_init takes no parameters + + hdy_init() has been modified to take no parameters. + It must be called just after initializing GTK, if you are using + #GtkApplication it means it must be called when the + #GApplication::startup signal is emitted. + + + It initializes the localization, the types, the themes, and the icons. + + + + + Adapt to widget constructor changes + + All widget constructors now return the #GtkWidget type rather than the + constructed widget's type, following the same convention as GTK 3. + + + Affected widgets: + #HdyActionRow, #HdyComboRow, #HdyExpanderRow, + #HdyPreferencesGroup, #HdyPreferencesPage, #HdyPreferencesRow, + #HdyPreferencesWindow, #HdySqueezer, #HdyTitleBar, #HdyViewSwitcherBar, + #HdyViewSwitcher + + + + + Adapt to derivability changes + + Some widgets are now final, if your code is deriving from them, use + composition instead. + + + Affected widgets: + #HdySqueezer, #HdyViewSwitcher, #HdyViewSwitcherBar + + + + + HdyFold has been removed + + #HdyFold has been removed. This affects the API of #HdyLeaflet, see the + “Adapt to HdyLeaflet API changes” section to know how. + + + + + Replace HdyColumn by HdyClamp + + HdyColumn has been renamed #HdyClamp as it now implements + #GtkOrientable, so you should replace the former by the later. + Its “maximum-width” and “linear-growth-width” properties have been + renamed #HdyClamp:maximum-size and #HdyClamp:tightening-threshold + respectively to better reflect their role. + It won't set the .narrow, .medium and .wide style classes depending on + its size, but the .small, .medium and .large ones instead. + + + + + Adapt to HdyPaginator API changes + + HdyPaginator has been renamed HdyCarousel, so you should replace the + former by the later. + + + The “indicator-style”, “indicator-spacing” and “center-content” + properties have been removed, instead use #HdyCarouselIndicatorDots + or #HdyCarouselIndicatorLines widgets. + + + + + Adapt to HdyHeaderGroup API changes + + The #HdyHeaderGroup object has been largely redesigned, most of its + methods changed, see its documentation to know more. + + + The child type is now #HdyHeaderGroupChild, which can represent either + a #GtkHeaderBar, a #HdyHeaderBar, or a #HdyHeaderGroup. + + + The “focus” property has been replaced by #HdyHeaderGroup:decorate-all, + which works quite differently. + + + + + Adapt to HdyLeaflet API changes + + The #HdyFold type has been removed in favor of using a boolean, and + #HdyLeaflet adjusted to that as the #HdyLeaflet:fold property has been + removed in favor of #HdyLeaflet:folded. + Also, the hdy_leaflet_get_homogeneous() and + hdy_leaflet_set_homogeneous() accessors take a boolean parameter instead + of a #HdyFold. + + + On touchscreens, swiping forward with the “over” transition and swiping + back with the “under” transition can now only be done from the edge + where the upper child is. + + + The “over” and “under” transitions can draw their shadow on top of the + window's transparent areas, like the rounded corners. + This is a side-effect of allowing shadows to be drawn on top of OpenGL + areas. + It can be mitigated by using #HdyWindow or #HdyApplicationWindow as they + will crop anything drawn beyond the rounded corners. + + + The “allow-visible” child property has been renamed “navigatable”. + + + + + Adapt to HdyLeaflet API changes + + The “none” transition type has been removed. The default value for the + #HdyLeaflet:transition-type property has been changed to “over”. + “over” is the recommended transition for typical #HdyLeaflet use-cases, + if this isn't what you want to use, be sure to adapt your code. If + transitions are undesired, set #HdyLeaflet:mode-transition-duration and + #HdyLeaflet:child-transition-duration properties to 0. + + + + + Adapt to HdyViewSwitcher API changes + + #HdyViewSwitcher doesn't subclass #GtkBox anymore. Instead, it + subclasses #GtkBin and contains a box. + + + The “icon-size” property has been dropped without replacement, you must + stop using it. + + + + + Adapt to HdyViewSwitcherBar API changes + + #HdyViewSwitcherBar won't be revealed if the #HdyViewSwitcherBar:stack + property is %NULL or if it has less than two pages, even if you set + #HdyViewSwitcherBar:reveal to %TRUE. + + + The “icon-size” property has been dropped without replacement, you must + stop using it. + + + + + Adapt to CSS node name changes + + Widgets with a customn CSS node name got their name changed to be the + class' name in lowercase, with no separation between words, and with no + namespace prefix. E.g. the CSS node name of HdyViewSwitcher is + viewswitcher. + + + + + Adapt to HdyActionRow API changes + + Action items were packed from the end toward the start of the row. It is + now reversed, and widgets have to be packed from the start to the end. + + + It isn't possible to add children at the bottom of a #HdyActionRow + anymore, instead use other widgets like #HdyExpanderRow. + Widgets added to a #HdyActionRow will now be added at the end of the + row, and the hdy_action_row_add_action() method and the action child + type have been removed. + + + The main horizontal box of #HdyActionRow had the row-header CSS style + class, it now has the header CSS style class and can hence be accessed + as box.header subnode. + + + #HdyActionRow is now unactivatable by default, giving it an activatable + widget will automatically make it activatable. + + + + + Adapt to HdyComboRow API changes + + #HdyComboRow is now unactivatable by default, binding and unbinding a + model will toggle its activatability. + + + + + Adapt to HdyExpanderRow API changes + + #HdyExpanderRow doesn't descend from #HdyActionRow anymore but from + #HdyPreferencesRow. + It reimplement some features from #HdyActionRow, like the + #HdyExpanderRow:title, #HdyExpanderRow:subtitle, + #HdyExpanderRow:use-underline and #HdyExpanderRow:icon-name, but it + doesn't offer the “activate” signal nor the ability to add widgets in + its header row. + + + Widgets you add to it will be added to its inner #GtkListBox. + + + + + Adapt to HdyPreferencesPage API changes + + #HdyPreferencesPage doesn't subclass #GtkScrolledWindow anymore. + Instead, it subclasses #GtkBin and contains a scrolled window. + + + + + Adapt to HdyPreferencesGroup API changes + + #HdyPreferencesGroup doesn't subclass #GtkBox anymore. + Instead, it subclasses #GtkBin and contains a box. + + + + + Adapt to HdyKeypad API changes + + #HdyKeypad doesn't subclass #Gtkgrid anymore. Instead, it subclasses + #GtkBin and contains a grid. + + + The “show-symbols” property has been replaced by + #HdyHeaderGroup:letters-visible. + + + The “only-digits” property has been replaced by + #HdyHeaderGroup:symbols-visible, which has a inverse boolean meaning. + This also affects the corresponding parameter of the constructor. + + + The “left-action” property has been replaced by + #HdyKeypad:start-action, and the “right-action” property has been + replaced by #HdyKeypad:end-action. + + + The “entry” property isn't a #GtkWidget anymore but a #GtkEntry. + + + + + Stop using hdy_list_box_separator_header() + + Instead, either use CSS styling (the list.content style class may + fit your need), or implement it yourself as it is trivial. + + + + + Stop acknowledging the Instability + + When the library was young and changing a lot, we required you to + acknowledge that your are using an unstable API. To do so, you had to + define HANDY_USE_UNSTABLE_API for compilation to + succeed. + + + The API remained stable since many versions, despite this acknowlegment + still being required. To reflect that proven stability, the + acknowlegment isn't necessary and you can stop defining + HANDY_USE_UNSTABLE_API, either before including the + &package_string; header in C-compatible languages, or with the + definition option of your compiler. + + + + + + + diff --git a/subprojects/libhandy/doc/images/avatar.png b/subprojects/libhandy/doc/images/avatar.png new file mode 100644 index 00000000..07a156fb Binary files /dev/null and b/subprojects/libhandy/doc/images/avatar.png differ diff --git a/subprojects/libhandy/doc/images/header-bar.png b/subprojects/libhandy/doc/images/header-bar.png new file mode 100644 index 00000000..c15b1f65 Binary files /dev/null and b/subprojects/libhandy/doc/images/header-bar.png differ diff --git a/subprojects/libhandy/doc/images/keypad.png b/subprojects/libhandy/doc/images/keypad.png new file mode 100644 index 00000000..6bc18d53 Binary files /dev/null and b/subprojects/libhandy/doc/images/keypad.png differ diff --git a/subprojects/libhandy/doc/images/list.png b/subprojects/libhandy/doc/images/list.png new file mode 100644 index 00000000..e02833c0 Binary files /dev/null and b/subprojects/libhandy/doc/images/list.png differ diff --git a/subprojects/libhandy/doc/images/preferences-window.png b/subprojects/libhandy/doc/images/preferences-window.png new file mode 100644 index 00000000..bd696a76 Binary files /dev/null and b/subprojects/libhandy/doc/images/preferences-window.png differ diff --git a/subprojects/libhandy/doc/images/search.png b/subprojects/libhandy/doc/images/search.png new file mode 100644 index 00000000..38d14efa Binary files /dev/null and b/subprojects/libhandy/doc/images/search.png differ diff --git a/subprojects/libhandy/doc/images/view-switcher-bar.png b/subprojects/libhandy/doc/images/view-switcher-bar.png new file mode 100644 index 00000000..3a0836db Binary files /dev/null and b/subprojects/libhandy/doc/images/view-switcher-bar.png differ diff --git a/subprojects/libhandy/doc/images/view-switcher.png b/subprojects/libhandy/doc/images/view-switcher.png new file mode 100644 index 00000000..b8727dfd Binary files /dev/null and b/subprojects/libhandy/doc/images/view-switcher.png differ diff --git a/subprojects/libhandy/doc/meson.build b/subprojects/libhandy/doc/meson.build new file mode 100644 index 00000000..eeab57a4 --- /dev/null +++ b/subprojects/libhandy/doc/meson.build @@ -0,0 +1,75 @@ +if get_option('gtk_doc') + +subdir('xml') + +private_headers = [ + 'config.h', + 'gtkprogresstrackerprivate.h', + 'gtk-window-private.h', + 'hdy-animation-private.h', + 'hdy-carousel-box-private.h', + 'hdy-css-private.h', + 'hdy-enums.h', + 'hdy-enums-private.h', + 'hdy-main-private.h', + 'hdy-nothing-private.h', + 'hdy-keypad-button-private.h', + 'hdy-preferences-group-private.h', + 'hdy-preferences-page-private.h', + 'hdy-shadow-helper-private.h', + 'hdy-stackable-box-private.h', + 'hdy-swipe-tracker-private.h', + 'hdy-types.h', + 'hdy-view-switcher-button-private.h', + 'hdy-window-handle-controller-private.h', + 'hdy-window-mixin-private.h', +] + +images = [ + 'images/avatar.png', + 'images/header-bar.png', + 'images/keypad.png', + 'images/list.png', + 'images/preferences-window.png', + 'images/search.png', + 'images/view-switcher.png', + 'images/view-switcher-bar.png', +] + +content_files = [ + 'build-howto.xml', + 'hdy-migrating-0-0-to-1.xml', + 'visual-index.xml', +] + +glib_prefix = dependency('glib-2.0').get_pkgconfig_variable('prefix') +glib_docpath = glib_prefix / 'share' / 'gtk-doc' / 'html' +docpath = get_option('datadir') / 'gtk-doc' / 'html' + +gnome.gtkdoc('libhandy', + main_xml: 'handy-docs.xml', + src_dir: [ + meson.source_root() / 'src', + meson.build_root() / 'src', + ], + dependencies: libhandy_dep, + gobject_typesfile: 'libhandy.types', + scan_args: [ + '--rebuild-types', + '--ignore-headers=' + ' '.join(private_headers), + ], + fixxref_args: [ + '--html-dir=@0@'.format(docpath), + '--extra-dir=@0@'.format(glib_docpath / 'glib'), + '--extra-dir=@0@'.format(glib_docpath / 'gobject'), + '--extra-dir=@0@'.format(glib_docpath / 'gio'), + '--extra-dir=@0@'.format(glib_docpath / 'gi'), + '--extra-dir=@0@'.format(glib_docpath / 'gtk3'), + '--extra-dir=@0@'.format(glib_docpath / 'gdk-pixbuf'), + ], + install_dir: 'libhandy-' + apiversion, + content_files: content_files, + html_assets: images, + install: true) + +endif diff --git a/subprojects/libhandy/doc/visual-index.xml b/subprojects/libhandy/doc/visual-index.xml new file mode 100644 index 00000000..16486080 --- /dev/null +++ b/subprojects/libhandy/doc/visual-index.xml @@ -0,0 +1,58 @@ + + + + %gtkdocentities; +]> + + + + Visual index + 3 + + + Widgets in &package_string;Widget overview. + + + + Widgets + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HdyViewSwitcher + + + + + + + + + + diff --git a/subprojects/libhandy/doc/xml/gtkdocentities.ent.in b/subprojects/libhandy/doc/xml/gtkdocentities.ent.in new file mode 100644 index 00000000..45d322c2 --- /dev/null +++ b/subprojects/libhandy/doc/xml/gtkdocentities.ent.in @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/subprojects/libhandy/doc/xml/meson.build b/subprojects/libhandy/doc/xml/meson.build new file mode 100644 index 00000000..5f73097a --- /dev/null +++ b/subprojects/libhandy/doc/xml/meson.build @@ -0,0 +1,12 @@ +ent_conf = configuration_data() +ent_conf.set('PACKAGE', 'Handy') +ent_conf.set('PACKAGE_BUGREPORT', 'https://gitlab.gnome.org/GNOME/libhandy/issues') +ent_conf.set('PACKAGE_NAME', 'Handy') +ent_conf.set('PACKAGE_STRING', 'libhandy') +ent_conf.set('PACKAGE_TARNAME', 'libhandy-' + meson.project_version()) +ent_conf.set('PACKAGE_URL', 'https://gitlab.gnome.org/GNOME/libhandy') +ent_conf.set('PACKAGE_VERSION', meson.project_version()) +ent_conf.set('PACKAGE_API_VERSION', apiversion) +ent_conf.set('PACKAGE_API_NAME', package_api_name) +configure_file(input: 'gtkdocentities.ent.in', output: 'gtkdocentities.ent', configuration: ent_conf) + diff --git a/subprojects/libhandy/examples/example.py b/subprojects/libhandy/examples/example.py new file mode 100755 index 00000000..2a6f27a0 --- /dev/null +++ b/subprojects/libhandy/examples/example.py @@ -0,0 +1,32 @@ +#!/usr/bin/python3 + +import gi + +gi.require_version('Gtk', '3.0') +from gi.repository import Gtk +gi.require_version('Handy', '1') +from gi.repository import Handy +import sys + + +window = Gtk.Window(title = "Keypad Example with Python") +vbox = Gtk.Box(orientation = Gtk.Orientation.VERTICAL) +entry = Gtk.Entry() +keypad = Handy.Keypad() + +vbox.add(entry) # widget to show dialed number +vbox.add(keypad) +vbox.set_halign(Gtk.Align.CENTER) +vbox.set_valign(Gtk.Align.CENTER) + +vbox.props.margin = 18 +vbox.props.spacing = 18 +keypad.set_row_spacing(6) +keypad.set_column_spacing(6) + +keypad.set_entry(entry) # attach the entry widget + +window.connect("destroy", Gtk.main_quit) +window.add(vbox) +window.show_all() +Gtk.main() diff --git a/subprojects/libhandy/examples/handy-demo.c b/subprojects/libhandy/examples/handy-demo.c new file mode 100644 index 00000000..052ce4ce --- /dev/null +++ b/subprojects/libhandy/examples/handy-demo.c @@ -0,0 +1,65 @@ +#include +#include + +#include "hdy-demo-preferences-window.h" +#include "hdy-demo-window.h" + +static void +show_preferences (GSimpleAction *action, + GVariant *state, + gpointer user_data) +{ + GtkApplication *app = GTK_APPLICATION (user_data); + GtkWindow *window = gtk_application_get_active_window (app); + HdyDemoPreferencesWindow *preferences = hdy_demo_preferences_window_new (); + + gtk_window_set_transient_for (GTK_WINDOW (preferences), window); + gtk_widget_show (GTK_WIDGET (preferences)); +} + +static void +startup (GtkApplication *app) +{ + GtkCssProvider *css_provider = gtk_css_provider_new (); + + hdy_init (); + + gtk_css_provider_load_from_resource (css_provider, "/sm/puri/Handy/Demo/ui/style.css"); + gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), + GTK_STYLE_PROVIDER (css_provider), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + + g_object_unref (css_provider); +} + +static void +show_window (GtkApplication *app) +{ + HdyDemoWindow *window; + + window = hdy_demo_window_new (app); + + gtk_widget_show (GTK_WIDGET (window)); +} + +int +main (int argc, + char **argv) +{ + GtkApplication *app; + int status; + static GActionEntry app_entries[] = { + { "preferences", show_preferences, NULL, NULL, NULL }, + }; + + app = gtk_application_new ("sm.puri.Handy.Demo", G_APPLICATION_FLAGS_NONE); + g_action_map_add_action_entries (G_ACTION_MAP (app), + app_entries, G_N_ELEMENTS (app_entries), + app); + g_signal_connect (app, "startup", G_CALLBACK (startup), NULL); + g_signal_connect (app, "activate", G_CALLBACK (show_window), NULL); + status = g_application_run (G_APPLICATION (app), argc, argv); + g_object_unref (app); + + return status; +} diff --git a/subprojects/libhandy/examples/handy-demo.gresources.xml b/subprojects/libhandy/examples/handy-demo.gresources.xml new file mode 100644 index 00000000..e0825c1d --- /dev/null +++ b/subprojects/libhandy/examples/handy-demo.gresources.xml @@ -0,0 +1,27 @@ + + + + icons/dark-mode-symbolic.svg + icons/gesture-touchscreen-swipe-back-symbolic-rtl.svg + icons/gesture-touchscreen-swipe-back-symbolic.svg + icons/gesture-touchpad-swipe-back-symbolic-rtl.svg + icons/gesture-touchpad-swipe-back-symbolic.svg + icons/gnome-smartphone-symbolic.svg + icons/light-mode-symbolic.svg + icons/widget-carousel-symbolic.svg + icons/widget-clamp-symbolic.svg + icons/widget-deck-symbolic.svg + icons/widget-keypad-symbolic.svg + icons/widget-leaflet-symbolic.svg + icons/widget-list-symbolic.svg + icons/widget-search-symbolic.svg + icons/widget-view-switcher-symbolic.svg + icons/widget-window-symbolic.svg + + + hdy-demo-preferences-window.ui + hdy-demo-window.ui + hdy-view-switcher-demo-window.ui + style.css + + diff --git a/subprojects/libhandy/examples/hdy-demo-preferences-window.c b/subprojects/libhandy/examples/hdy-demo-preferences-window.c new file mode 100644 index 00000000..4481664e --- /dev/null +++ b/subprojects/libhandy/examples/hdy-demo-preferences-window.c @@ -0,0 +1,56 @@ +#include "hdy-demo-preferences-window.h" + +struct _HdyDemoPreferencesWindow +{ + HdyPreferencesWindow parent_instance; + + GtkWidget *subpage1; + GtkWidget *subpage2; +}; + +G_DEFINE_TYPE (HdyDemoPreferencesWindow, hdy_demo_preferences_window, HDY_TYPE_PREFERENCES_WINDOW) + +HdyDemoPreferencesWindow * +hdy_demo_preferences_window_new (void) +{ + return g_object_new (HDY_TYPE_DEMO_PREFERENCES_WINDOW, NULL); +} + +static void +return_to_preferences_cb (HdyDemoPreferencesWindow *self) +{ + hdy_preferences_window_close_subpage (HDY_PREFERENCES_WINDOW (self)); +} + +static void +subpage1_activated_cb (HdyDemoPreferencesWindow *self) +{ + hdy_preferences_window_present_subpage (HDY_PREFERENCES_WINDOW (self), self->subpage1); +} + +static void +subpage2_activated_cb (HdyDemoPreferencesWindow *self) +{ + hdy_preferences_window_present_subpage (HDY_PREFERENCES_WINDOW (self), self->subpage2); +} + +static void +hdy_demo_preferences_window_class_init (HdyDemoPreferencesWindowClass *klass) +{ + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + gtk_widget_class_set_template_from_resource (widget_class, "/sm/puri/Handy/Demo/ui/hdy-demo-preferences-window.ui"); + + gtk_widget_class_bind_template_child (widget_class, HdyDemoPreferencesWindow, subpage1); + gtk_widget_class_bind_template_child (widget_class, HdyDemoPreferencesWindow, subpage2); + + gtk_widget_class_bind_template_callback (widget_class, return_to_preferences_cb); + gtk_widget_class_bind_template_callback (widget_class, subpage1_activated_cb); + gtk_widget_class_bind_template_callback (widget_class, subpage2_activated_cb); +} + +static void +hdy_demo_preferences_window_init (HdyDemoPreferencesWindow *self) +{ + gtk_widget_init_template (GTK_WIDGET (self)); +} diff --git a/subprojects/libhandy/examples/hdy-demo-preferences-window.h b/subprojects/libhandy/examples/hdy-demo-preferences-window.h new file mode 100644 index 00000000..accb7b5e --- /dev/null +++ b/subprojects/libhandy/examples/hdy-demo-preferences-window.h @@ -0,0 +1,13 @@ +#pragma once + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_DEMO_PREFERENCES_WINDOW (hdy_demo_preferences_window_get_type()) + +G_DECLARE_FINAL_TYPE (HdyDemoPreferencesWindow, hdy_demo_preferences_window, HDY, DEMO_PREFERENCES_WINDOW, HdyPreferencesWindow) + +HdyDemoPreferencesWindow *hdy_demo_preferences_window_new (void); + +G_END_DECLS diff --git a/subprojects/libhandy/examples/hdy-demo-preferences-window.ui b/subprojects/libhandy/examples/hdy-demo-preferences-window.ui new file mode 100644 index 00000000..a6a16f59 --- /dev/null +++ b/subprojects/libhandy/examples/hdy-demo-preferences-window.ui @@ -0,0 +1,258 @@ + + + + + + True + vertical + False + center + center + True + True + 24 + + + True + False + This is a subpage + center + True + 0.5 + + + + + + + + + True + False + Return to the preferences + + + + + + + True + vertical + False + center + center + True + True + 24 + + + True + False + This is another subpage + center + True + 0.5 + + + + + + + + + True + False + Return to the preferences + + + + + + diff --git a/subprojects/libhandy/examples/hdy-demo-window.c b/subprojects/libhandy/examples/hdy-demo-window.c new file mode 100644 index 00000000..ffcab9a1 --- /dev/null +++ b/subprojects/libhandy/examples/hdy-demo-window.c @@ -0,0 +1,582 @@ +#include "hdy-demo-window.h" + +#include +#include "hdy-view-switcher-demo-window.h" + +struct _HdyDemoWindow +{ + HdyApplicationWindow parent_instance; + + HdyLeaflet *content_box; + GtkStack *header_revealer; + GtkStack *header_stack; + GtkImage *theme_variant_image; + GtkStackSidebar *sidebar; + GtkStack *stack; + HdyComboRow *leaflet_transition_row; + HdyDeck *content_deck; + HdyComboRow *deck_transition_row; + GtkWidget *box_keypad; + GtkListBox *keypad_listbox; + HdyKeypad *keypad; + HdySearchBar *search_bar; + GtkEntry *search_entry; + GtkListBox *lists_listbox; + HdyComboRow *combo_row; + HdyComboRow *enum_combo_row; + HdyCarousel *carousel; + GtkBox *carousel_box; + GtkListBox *carousel_listbox; + GtkStack *carousel_indicators_stack; + HdyComboRow *carousel_orientation_row; + HdyComboRow *carousel_indicators_row; + GListStore *carousel_indicators_model; + HdyAvatar *avatar; + GtkEntry *avatar_text; + GtkFileChooserButton *avatar_filechooser; + GtkListBox *avatar_contacts; +}; + +G_DEFINE_TYPE (HdyDemoWindow, hdy_demo_window, HDY_TYPE_APPLICATION_WINDOW) + +static void +theme_variant_button_clicked_cb (HdyDemoWindow *self) +{ + GtkSettings *settings = gtk_settings_get_default (); + gboolean prefer_dark_theme; + + g_object_get (settings, "gtk-application-prefer-dark-theme", &prefer_dark_theme, NULL); + g_object_set (settings, "gtk-application-prefer-dark-theme", !prefer_dark_theme, NULL); +} + +static gboolean +prefer_dark_theme_to_icon_name_cb (GBinding *binding, + const GValue *from_value, + GValue *to_value, + gpointer user_data) +{ + g_value_set_string (to_value, + g_value_get_boolean (from_value) ? "light-mode-symbolic" : + "dark-mode-symbolic"); + + return TRUE; +} + +static gboolean +hdy_demo_window_key_pressed_cb (GtkWidget *sender, + GdkEvent *event, + HdyDemoWindow *self) +{ + GdkModifierType default_modifiers = gtk_accelerator_get_default_mod_mask (); + guint keyval; + GdkModifierType state; + GdkKeymap *keymap; + GdkEventKey *key_event = (GdkEventKey *) event; + + gdk_event_get_state (event, &state); + + keymap = gdk_keymap_get_for_display (gtk_widget_get_display (sender)); + + gdk_keymap_translate_keyboard_state (keymap, + key_event->hardware_keycode, + state, + key_event->group, + &keyval, NULL, NULL, NULL); + + if ((keyval == GDK_KEY_q || keyval == GDK_KEY_Q) && + (state & default_modifiers) == GDK_CONTROL_MASK) { + gtk_widget_destroy (GTK_WIDGET (self)); + + return TRUE; + } + + return FALSE; +} + +static void +update (HdyDemoWindow *self) +{ + const gchar *header_bar_name = "default"; + + if (g_strcmp0 (gtk_stack_get_visible_child_name (self->stack), "deck") == 0) + header_bar_name = "deck"; + else if (g_strcmp0 (gtk_stack_get_visible_child_name (self->stack), "search-bar") == 0) + header_bar_name = "search-bar"; + + gtk_stack_set_visible_child_name (self->header_stack, header_bar_name); +} + +static void +hdy_demo_window_notify_deck_visible_child_cb (HdyDemoWindow *self) +{ + update (self); +} + +static void +hdy_demo_window_notify_visible_child_cb (GObject *sender, + GParamSpec *pspec, + HdyDemoWindow *self) +{ + update (self); + + hdy_leaflet_navigate (self->content_box, HDY_NAVIGATION_DIRECTION_FORWARD); +} + +static void +hdy_demo_window_back_clicked_cb (GtkWidget *sender, + HdyDemoWindow *self) +{ + hdy_leaflet_navigate (self->content_box, HDY_NAVIGATION_DIRECTION_BACK); +} + +static void +hdy_demo_window_deck_back_clicked_cb (GtkWidget *sender, + HdyDemoWindow *self) +{ + hdy_deck_navigate (self->content_deck, HDY_NAVIGATION_DIRECTION_BACK); +} + +static gchar * +leaflet_transition_name (HdyEnumValueObject *value, + gpointer user_data) +{ + g_return_val_if_fail (HDY_IS_ENUM_VALUE_OBJECT (value), NULL); + + switch (hdy_enum_value_object_get_value (value)) { + case HDY_LEAFLET_TRANSITION_TYPE_OVER: + return g_strdup (_("Over")); + case HDY_LEAFLET_TRANSITION_TYPE_UNDER: + return g_strdup (_("Under")); + case HDY_LEAFLET_TRANSITION_TYPE_SLIDE: + return g_strdup (_("Slide")); + default: + return NULL; + } +} + +static void +notify_leaflet_transition_cb (GObject *sender, + GParamSpec *pspec, + HdyDemoWindow *self) +{ + HdyComboRow *row = HDY_COMBO_ROW (sender); + + g_assert (HDY_IS_COMBO_ROW (row)); + g_assert (HDY_IS_DEMO_WINDOW (self)); + + hdy_leaflet_set_transition_type (HDY_LEAFLET (self->content_box), hdy_combo_row_get_selected_index (row)); +} + +static gchar * +deck_transition_name (HdyEnumValueObject *value, + gpointer user_data) +{ + g_return_val_if_fail (HDY_IS_ENUM_VALUE_OBJECT (value), NULL); + + switch (hdy_enum_value_object_get_value (value)) { + case HDY_DECK_TRANSITION_TYPE_OVER: + return g_strdup (_("Over")); + case HDY_DECK_TRANSITION_TYPE_UNDER: + return g_strdup (_("Under")); + case HDY_DECK_TRANSITION_TYPE_SLIDE: + return g_strdup (_("Slide")); + default: + return NULL; + } +} + +static void +notify_deck_transition_cb (GObject *sender, + GParamSpec *pspec, + HdyDemoWindow *self) +{ + HdyComboRow *row = HDY_COMBO_ROW (sender); + + g_assert (HDY_IS_COMBO_ROW (row)); + g_assert (HDY_IS_DEMO_WINDOW (self)); + + hdy_deck_set_transition_type (HDY_DECK (self->content_deck), hdy_combo_row_get_selected_index (row)); +} + +static void +deck_go_next_row_activated_cb (HdyDemoWindow *self) +{ + g_assert (HDY_IS_DEMO_WINDOW (self)); + + hdy_deck_navigate (self->content_deck, HDY_NAVIGATION_DIRECTION_FORWARD); +} + +static void +view_switcher_demo_clicked_cb (GtkButton *btn, + HdyDemoWindow *self) +{ + HdyViewSwitcherDemoWindow *window = hdy_view_switcher_demo_window_new (); + + gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (self)); + gtk_widget_show (GTK_WIDGET (window)); +} + +static gchar * +carousel_orientation_name (HdyEnumValueObject *value, + gpointer user_data) +{ + g_return_val_if_fail (HDY_IS_ENUM_VALUE_OBJECT (value), NULL); + + switch (hdy_enum_value_object_get_value (value)) { + case GTK_ORIENTATION_HORIZONTAL: + return g_strdup (_("Horizontal")); + case GTK_ORIENTATION_VERTICAL: + return g_strdup (_("Vertical")); + default: + return NULL; + } +} + +static void +notify_carousel_orientation_cb (GObject *sender, + GParamSpec *pspec, + HdyDemoWindow *self) +{ + HdyComboRow *row = HDY_COMBO_ROW (sender); + + g_assert (HDY_IS_COMBO_ROW (row)); + g_assert (HDY_IS_DEMO_WINDOW (self)); + + gtk_orientable_set_orientation (GTK_ORIENTABLE (self->carousel_box), + 1 - hdy_combo_row_get_selected_index (row)); + gtk_orientable_set_orientation (GTK_ORIENTABLE (self->carousel), + hdy_combo_row_get_selected_index (row)); +} + +static gchar * +carousel_indicators_name (HdyValueObject *value) +{ + const gchar *style; + + g_assert (HDY_IS_VALUE_OBJECT (value)); + + style = hdy_value_object_get_string (value); + + if (!g_strcmp0 (style, "dots")) + return g_strdup (_("Dots")); + + if (!g_strcmp0 (style, "lines")) + return g_strdup (_("Lines")); + + return NULL; +} + +static void +notify_carousel_indicators_cb (GObject *sender, + GParamSpec *pspec, + HdyDemoWindow *self) +{ + HdyComboRow *row = HDY_COMBO_ROW (sender); + HdyValueObject *obj; + + g_assert (HDY_IS_COMBO_ROW (row)); + g_assert (HDY_IS_DEMO_WINDOW (self)); + + obj = g_list_model_get_item (G_LIST_MODEL (self->carousel_indicators_model), + hdy_combo_row_get_selected_index (row)); + + gtk_stack_set_visible_child_name (self->carousel_indicators_stack, + hdy_value_object_get_string (obj)); +} + +static void +carousel_return_clicked_cb (GtkButton *btn, + HdyDemoWindow *self) +{ + g_autoptr (GList) children = + gtk_container_get_children (GTK_CONTAINER (self->carousel)); + + hdy_carousel_scroll_to (self->carousel, GTK_WIDGET (children->data)); +} + +HdyDemoWindow * +hdy_demo_window_new (GtkApplication *application) +{ + return g_object_new (HDY_TYPE_DEMO_WINDOW, "application", application, NULL); +} + +static void +avatar_file_remove_cb (HdyDemoWindow *self) +{ + g_autofree gchar *file = NULL; + + g_assert (HDY_IS_DEMO_WINDOW (self)); + + g_signal_handlers_disconnect_by_data (self->avatar, self); + file = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (self->avatar_filechooser)); + if (file) + gtk_file_chooser_unselect_filename (GTK_FILE_CHOOSER (self->avatar_filechooser), file); + hdy_avatar_set_image_load_func (self->avatar, NULL, NULL, NULL); +} + +static GdkPixbuf * +avatar_load_file (gint size, HdyDemoWindow *self) +{ + g_autoptr (GError) error = NULL; + g_autoptr (GdkPixbuf) pixbuf = NULL; + g_autofree gchar *file = NULL; + gint width, height; + + g_assert (HDY_IS_DEMO_WINDOW (self)); + + file = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (self->avatar_filechooser)); + + gdk_pixbuf_get_file_info (file, &width, &height); + + pixbuf = gdk_pixbuf_new_from_file_at_scale (file, + (width <= height) ? size : -1, + (width >= height) ? size : -1, + TRUE, + &error); + if (error != NULL) { + g_critical ("Failed to create pixbuf from file: %s", error->message); + + return NULL; + } + + return g_steal_pointer (&pixbuf); +} + +static void +avatar_file_set_cb (HdyDemoWindow *self) +{ + g_assert (HDY_IS_DEMO_WINDOW (self)); + + hdy_avatar_set_image_load_func (self->avatar, (HdyAvatarImageLoadFunc) avatar_load_file, self, NULL); +} + +static gchar * +avatar_new_random_name (void) +{ + static const char *first_names[] = { + "Adam", + "Adrian", + "Anna", + "Charlotte", + "Frédérique", + "Ilaria", + "Jakub", + "Jennyfer", + "Julia", + "Justin", + "Mario", + "Miriam", + "Mohamed", + "Nourimane", + "Owen", + "Peter", + "Petra", + "Rachid", + "Rebecca", + "Sarah", + "Thibault", + "Wolfgang", + }; + static const char *last_names[] = { + "Bailey", + "Berat", + "Chen", + "Farquharson", + "Ferber", + "Franco", + "Galinier", + "Han", + "Lawrence", + "Lepied", + "Lopez", + "Mariotti", + "Rossi", + "Urasawa", + "Zwickelman", + }; + + return g_strdup_printf ("%s %s", + first_names[g_random_int_range (0, G_N_ELEMENTS (first_names))], + last_names[g_random_int_range (0, G_N_ELEMENTS (last_names))]); +} + +static void +avatar_update_contacts (HdyDemoWindow *self) +{ + g_autoptr (GList) children = gtk_container_get_children (GTK_CONTAINER (self->avatar_contacts)); + + for (GList *child = children; child; child = child->next) + gtk_container_remove (GTK_CONTAINER (self->avatar_contacts), child->data); + + for (int i = 0; i < 30; i++) { + g_autofree gchar *name = avatar_new_random_name (); + GtkWidget *contact = hdy_action_row_new (); + GtkWidget *avatar = hdy_avatar_new (40, name, TRUE); + + gtk_widget_show (contact); + gtk_widget_show (avatar); + + gtk_widget_set_margin_top (avatar, 12); + gtk_widget_set_margin_bottom (avatar, 12); + + hdy_preferences_row_set_title (HDY_PREFERENCES_ROW (contact), name); + hdy_action_row_add_prefix (HDY_ACTION_ROW (contact), avatar); + gtk_container_add (GTK_CONTAINER (self->avatar_contacts), contact); + } +} + +static void +hdy_demo_window_constructed (GObject *object) +{ + HdyDemoWindow *self = HDY_DEMO_WINDOW (object); + + G_OBJECT_CLASS (hdy_demo_window_parent_class)->constructed (object); + + hdy_search_bar_connect_entry (self->search_bar, self->search_entry); +} + + +static void +hdy_demo_window_class_init (HdyDemoWindowClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + object_class->constructed = hdy_demo_window_constructed; + + gtk_widget_class_set_template_from_resource (widget_class, "/sm/puri/Handy/Demo/ui/hdy-demo-window.ui"); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, content_box); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, header_revealer); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, header_stack); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, theme_variant_image); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, sidebar); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, stack); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, leaflet_transition_row); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, content_deck); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, deck_transition_row); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, box_keypad); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, keypad_listbox); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, keypad); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, search_bar); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, search_entry); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, lists_listbox); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, combo_row); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, enum_combo_row); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, carousel); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, carousel_box); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, carousel_listbox); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, carousel_indicators_stack); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, carousel_orientation_row); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, carousel_indicators_row); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, avatar); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, avatar_text); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, avatar_filechooser); + gtk_widget_class_bind_template_child (widget_class, HdyDemoWindow, avatar_contacts); + gtk_widget_class_bind_template_callback_full (widget_class, "key_pressed_cb", G_CALLBACK(hdy_demo_window_key_pressed_cb)); + gtk_widget_class_bind_template_callback_full (widget_class, "notify_visible_child_cb", G_CALLBACK(hdy_demo_window_notify_visible_child_cb)); + gtk_widget_class_bind_template_callback_full (widget_class, "notify_deck_visible_child_cb", G_CALLBACK(hdy_demo_window_notify_deck_visible_child_cb)); + gtk_widget_class_bind_template_callback_full (widget_class, "back_clicked_cb", G_CALLBACK(hdy_demo_window_back_clicked_cb)); + gtk_widget_class_bind_template_callback_full (widget_class, "deck_back_clicked_cb", G_CALLBACK(hdy_demo_window_deck_back_clicked_cb)); + gtk_widget_class_bind_template_callback_full (widget_class, "notify_leaflet_transition_cb", G_CALLBACK(notify_leaflet_transition_cb)); + gtk_widget_class_bind_template_callback_full (widget_class, "notify_deck_transition_cb", G_CALLBACK(notify_deck_transition_cb)); + gtk_widget_class_bind_template_callback_full (widget_class, "deck_go_next_row_activated_cb", G_CALLBACK(deck_go_next_row_activated_cb)); + gtk_widget_class_bind_template_callback_full (widget_class, "theme_variant_button_clicked_cb", G_CALLBACK(theme_variant_button_clicked_cb)); + gtk_widget_class_bind_template_callback_full (widget_class, "view_switcher_demo_clicked_cb", G_CALLBACK(view_switcher_demo_clicked_cb)); + gtk_widget_class_bind_template_callback_full (widget_class, "notify_carousel_orientation_cb", G_CALLBACK(notify_carousel_orientation_cb)); + gtk_widget_class_bind_template_callback_full (widget_class, "notify_carousel_indicators_cb", G_CALLBACK(notify_carousel_indicators_cb)); + gtk_widget_class_bind_template_callback_full (widget_class, "carousel_return_clicked_cb", G_CALLBACK(carousel_return_clicked_cb)); + gtk_widget_class_bind_template_callback_full (widget_class, "avatar_file_remove_cb", G_CALLBACK(avatar_file_remove_cb)); + gtk_widget_class_bind_template_callback_full (widget_class, "avatar_file_set_cb", G_CALLBACK(avatar_file_set_cb)); +} + +static void +lists_page_init (HdyDemoWindow *self) +{ + GListStore *list_store; + HdyValueObject *obj; + + list_store = g_list_store_new (HDY_TYPE_VALUE_OBJECT); + + obj = hdy_value_object_new_string ("Foo"); + g_list_store_insert (list_store, 0, obj); + g_clear_object (&obj); + + obj = hdy_value_object_new_string ("Bar"); + g_list_store_insert (list_store, 1, obj); + g_clear_object (&obj); + + obj = hdy_value_object_new_string ("Baz"); + g_list_store_insert (list_store, 2, obj); + g_clear_object (&obj); + + hdy_combo_row_bind_name_model (self->combo_row, G_LIST_MODEL (list_store), (HdyComboRowGetNameFunc) hdy_value_object_dup_string, NULL, NULL); + + hdy_combo_row_set_for_enum (self->enum_combo_row, GTK_TYPE_LICENSE, hdy_enum_value_row_name, NULL, NULL); + update (self); +} + +static void +carousel_page_init (HdyDemoWindow *self) +{ + HdyValueObject *obj; + + hdy_combo_row_set_for_enum (self->carousel_orientation_row, + GTK_TYPE_ORIENTATION, + carousel_orientation_name, + NULL, + NULL); + + self->carousel_indicators_model = g_list_store_new (HDY_TYPE_VALUE_OBJECT); + + obj = hdy_value_object_new_string ("dots"); + g_list_store_insert (self->carousel_indicators_model, 0, obj); + g_clear_object (&obj); + + obj = hdy_value_object_new_string ("lines"); + g_list_store_insert (self->carousel_indicators_model, 1, obj); + g_clear_object (&obj); + + hdy_combo_row_bind_name_model (self->carousel_indicators_row, + G_LIST_MODEL (self->carousel_indicators_model), + (HdyComboRowGetNameFunc) carousel_indicators_name, + NULL, + NULL); +} + +static void +avatar_page_init (HdyDemoWindow *self) +{ + g_autofree gchar *name = avatar_new_random_name (); + + gtk_entry_set_text (self->avatar_text, name); + + avatar_update_contacts (self); +} + +static void +hdy_demo_window_init (HdyDemoWindow *self) +{ + GtkSettings *settings = gtk_settings_get_default (); + + gtk_widget_init_template (GTK_WIDGET (self)); + + g_object_bind_property_full (settings, "gtk-application-prefer-dark-theme", + self->theme_variant_image, "icon-name", + G_BINDING_SYNC_CREATE, + prefer_dark_theme_to_icon_name_cb, + NULL, + NULL, + NULL); + + hdy_combo_row_set_for_enum (self->leaflet_transition_row, HDY_TYPE_LEAFLET_TRANSITION_TYPE, leaflet_transition_name, NULL, NULL); + hdy_combo_row_set_selected_index (self->leaflet_transition_row, HDY_LEAFLET_TRANSITION_TYPE_OVER); + + hdy_combo_row_set_for_enum (self->deck_transition_row, HDY_TYPE_DECK_TRANSITION_TYPE, deck_transition_name, NULL, NULL); + hdy_combo_row_set_selected_index (self->deck_transition_row, HDY_DECK_TRANSITION_TYPE_OVER); + + lists_page_init (self); + carousel_page_init (self); + avatar_page_init (self); + + hdy_leaflet_set_visible_child_name (self->content_box, "content"); +} diff --git a/subprojects/libhandy/examples/hdy-demo-window.h b/subprojects/libhandy/examples/hdy-demo-window.h new file mode 100644 index 00000000..d263e131 --- /dev/null +++ b/subprojects/libhandy/examples/hdy-demo-window.h @@ -0,0 +1,13 @@ +#pragma once + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_DEMO_WINDOW (hdy_demo_window_get_type()) + +G_DECLARE_FINAL_TYPE (HdyDemoWindow, hdy_demo_window, HDY, DEMO_WINDOW, HdyApplicationWindow) + +HdyDemoWindow *hdy_demo_window_new (GtkApplication *application); + +G_END_DECLS diff --git a/subprojects/libhandy/examples/hdy-demo-window.ui b/subprojects/libhandy/examples/hdy-demo-window.ui new file mode 100644 index 00000000..9d00588f --- /dev/null +++ b/subprojects/libhandy/examples/hdy-demo-window.ui @@ -0,0 +1,2352 @@ + + + + + + +
+ + Preferences + app.preferences + +
+
+ + + vertical + + + + + + + + + + + + + + + + + + + + + + + + 0 + 10000 + 600 + 100 + 10 + + + 0 + 10000 + 500 + 100 + 10 + + + both + + + + + + + 24 + 320 + 128 + 8 + 8 + + + + image/png + image/jpeg + image/jpg + image/gif + + +
diff --git a/subprojects/libhandy/examples/hdy-view-switcher-demo-window.c b/subprojects/libhandy/examples/hdy-view-switcher-demo-window.c new file mode 100644 index 00000000..22516580 --- /dev/null +++ b/subprojects/libhandy/examples/hdy-view-switcher-demo-window.c @@ -0,0 +1,30 @@ +#include "hdy-view-switcher-demo-window.h" + +#include + +struct _HdyViewSwitcherDemoWindow +{ + HdyWindow parent_instance; +}; + +G_DEFINE_TYPE (HdyViewSwitcherDemoWindow, hdy_view_switcher_demo_window, HDY_TYPE_WINDOW) + +static void +hdy_view_switcher_demo_window_class_init (HdyViewSwitcherDemoWindowClass *klass) +{ + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + gtk_widget_class_set_template_from_resource (widget_class, "/sm/puri/Handy/Demo/ui/hdy-view-switcher-demo-window.ui"); +} + +static void +hdy_view_switcher_demo_window_init (HdyViewSwitcherDemoWindow *self) +{ + gtk_widget_init_template (GTK_WIDGET (self)); +} + +HdyViewSwitcherDemoWindow * +hdy_view_switcher_demo_window_new (void) +{ + return g_object_new (HDY_TYPE_VIEW_SWITCHER_DEMO_WINDOW, NULL); +} diff --git a/subprojects/libhandy/examples/hdy-view-switcher-demo-window.h b/subprojects/libhandy/examples/hdy-view-switcher-demo-window.h new file mode 100644 index 00000000..76dcdd7a --- /dev/null +++ b/subprojects/libhandy/examples/hdy-view-switcher-demo-window.h @@ -0,0 +1,13 @@ +#pragma once + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_VIEW_SWITCHER_DEMO_WINDOW (hdy_view_switcher_demo_window_get_type()) + +G_DECLARE_FINAL_TYPE (HdyViewSwitcherDemoWindow, hdy_view_switcher_demo_window, HDY, VIEW_SWITCHER_DEMO_WINDOW, HdyWindow) + +HdyViewSwitcherDemoWindow *hdy_view_switcher_demo_window_new (void); + +G_END_DECLS diff --git a/subprojects/libhandy/examples/hdy-view-switcher-demo-window.ui b/subprojects/libhandy/examples/hdy-view-switcher-demo-window.ui new file mode 100644 index 00000000..d6cc82e9 --- /dev/null +++ b/subprojects/libhandy/examples/hdy-view-switcher-demo-window.ui @@ -0,0 +1,109 @@ + + + + + + + diff --git a/subprojects/libhandy/examples/icons/dark-mode-symbolic.svg b/subprojects/libhandy/examples/icons/dark-mode-symbolic.svg new file mode 100644 index 00000000..256ca417 --- /dev/null +++ b/subprojects/libhandy/examples/icons/dark-mode-symbolic.svg @@ -0,0 +1,68 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/subprojects/libhandy/examples/icons/gesture-touchpad-swipe-back-symbolic-rtl.svg b/subprojects/libhandy/examples/icons/gesture-touchpad-swipe-back-symbolic-rtl.svg new file mode 100644 index 00000000..e25947c0 --- /dev/null +++ b/subprojects/libhandy/examples/icons/gesture-touchpad-swipe-back-symbolic-rtl.svg @@ -0,0 +1,179 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/subprojects/libhandy/examples/icons/gesture-touchpad-swipe-back-symbolic.svg b/subprojects/libhandy/examples/icons/gesture-touchpad-swipe-back-symbolic.svg new file mode 100644 index 00000000..e27b4b12 --- /dev/null +++ b/subprojects/libhandy/examples/icons/gesture-touchpad-swipe-back-symbolic.svg @@ -0,0 +1,179 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/subprojects/libhandy/examples/icons/gesture-touchscreen-swipe-back-symbolic-rtl.svg b/subprojects/libhandy/examples/icons/gesture-touchscreen-swipe-back-symbolic-rtl.svg new file mode 100644 index 00000000..a395bf5f --- /dev/null +++ b/subprojects/libhandy/examples/icons/gesture-touchscreen-swipe-back-symbolic-rtl.svg @@ -0,0 +1,187 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/subprojects/libhandy/examples/icons/gesture-touchscreen-swipe-back-symbolic.svg b/subprojects/libhandy/examples/icons/gesture-touchscreen-swipe-back-symbolic.svg new file mode 100644 index 00000000..74b3e39e --- /dev/null +++ b/subprojects/libhandy/examples/icons/gesture-touchscreen-swipe-back-symbolic.svg @@ -0,0 +1,187 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/subprojects/libhandy/examples/icons/gnome-smartphone-symbolic.svg b/subprojects/libhandy/examples/icons/gnome-smartphone-symbolic.svg new file mode 100644 index 00000000..39cc8cc1 --- /dev/null +++ b/subprojects/libhandy/examples/icons/gnome-smartphone-symbolic.svg @@ -0,0 +1,59 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/subprojects/libhandy/examples/icons/light-mode-symbolic.svg b/subprojects/libhandy/examples/icons/light-mode-symbolic.svg new file mode 100644 index 00000000..c2e769b0 --- /dev/null +++ b/subprojects/libhandy/examples/icons/light-mode-symbolic.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/subprojects/libhandy/examples/icons/widget-carousel-symbolic.svg b/subprojects/libhandy/examples/icons/widget-carousel-symbolic.svg new file mode 100644 index 00000000..2764cc2a --- /dev/null +++ b/subprojects/libhandy/examples/icons/widget-carousel-symbolic.svg @@ -0,0 +1,66 @@ + + + + + + image/svg+xml + + + + + + + + + + + diff --git a/subprojects/libhandy/examples/icons/widget-clamp-symbolic.svg b/subprojects/libhandy/examples/icons/widget-clamp-symbolic.svg new file mode 100644 index 00000000..9269c408 --- /dev/null +++ b/subprojects/libhandy/examples/icons/widget-clamp-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/subprojects/libhandy/examples/icons/widget-deck-symbolic.svg b/subprojects/libhandy/examples/icons/widget-deck-symbolic.svg new file mode 100644 index 00000000..3fe8afa6 --- /dev/null +++ b/subprojects/libhandy/examples/icons/widget-deck-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/subprojects/libhandy/examples/icons/widget-keypad-symbolic.svg b/subprojects/libhandy/examples/icons/widget-keypad-symbolic.svg new file mode 100644 index 00000000..f390fd64 --- /dev/null +++ b/subprojects/libhandy/examples/icons/widget-keypad-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/subprojects/libhandy/examples/icons/widget-leaflet-symbolic.svg b/subprojects/libhandy/examples/icons/widget-leaflet-symbolic.svg new file mode 100644 index 00000000..5763db7f --- /dev/null +++ b/subprojects/libhandy/examples/icons/widget-leaflet-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/subprojects/libhandy/examples/icons/widget-list-symbolic.svg b/subprojects/libhandy/examples/icons/widget-list-symbolic.svg new file mode 100644 index 00000000..c9fec6a2 --- /dev/null +++ b/subprojects/libhandy/examples/icons/widget-list-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/subprojects/libhandy/examples/icons/widget-search-symbolic.svg b/subprojects/libhandy/examples/icons/widget-search-symbolic.svg new file mode 100644 index 00000000..1a6200e7 --- /dev/null +++ b/subprojects/libhandy/examples/icons/widget-search-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/subprojects/libhandy/examples/icons/widget-view-switcher-symbolic.svg b/subprojects/libhandy/examples/icons/widget-view-switcher-symbolic.svg new file mode 100644 index 00000000..255754c1 --- /dev/null +++ b/subprojects/libhandy/examples/icons/widget-view-switcher-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/subprojects/libhandy/examples/icons/widget-window-symbolic.svg b/subprojects/libhandy/examples/icons/widget-window-symbolic.svg new file mode 100644 index 00000000..993fd895 --- /dev/null +++ b/subprojects/libhandy/examples/icons/widget-window-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/subprojects/libhandy/examples/meson.build b/subprojects/libhandy/examples/meson.build new file mode 100644 index 00000000..883607e9 --- /dev/null +++ b/subprojects/libhandy/examples/meson.build @@ -0,0 +1,26 @@ +if get_option('examples') + +handy_demo_resources = gnome.compile_resources( + 'handy-demo-resources', + 'handy-demo.gresources.xml', + + c_name: 'hdy', +) + +handy_demo_sources = [ + handy_demo_resources, + 'handy-demo.c', + 'hdy-demo-preferences-window.c', + 'hdy-demo-window.c', + 'hdy-view-switcher-demo-window.c', + libhandy_generated_headers, +] + +handy_demo = executable('handy-@0@-demo'.format(apiversion), + handy_demo_sources, + dependencies: libhandy_dep, + gui_app: true, + install: true, +) + +endif diff --git a/subprojects/libhandy/examples/sm.puri.Handy.Demo.json b/subprojects/libhandy/examples/sm.puri.Handy.Demo.json new file mode 100644 index 00000000..f59ea8f2 --- /dev/null +++ b/subprojects/libhandy/examples/sm.puri.Handy.Demo.json @@ -0,0 +1,29 @@ +{ + "app-id": "sm.puri.Handy.Demo", + "runtime": "org.gnome.Platform", + "runtime-version": "master", + "sdk": "org.gnome.Sdk", + "command": "handy-1-demo", + "finish-args": [ + "--device=all", + "--share=ipc", + "--socket=wayland", + "--socket=x11" + ], + "modules": [ + { + "name": "libhandy", + "buildsystem": "meson", + "builddir": true, + "config-opts": [ + "-Dglade_catalog=disabled" + ], + "sources": [ + { + "type": "git", + "url": "https://gitlab.gnome.org/GNOME/libhandy.git" + } + ] + } + ] +} diff --git a/subprojects/libhandy/examples/style.css b/subprojects/libhandy/examples/style.css new file mode 100644 index 00000000..71829367 --- /dev/null +++ b/subprojects/libhandy/examples/style.css @@ -0,0 +1,8 @@ +stacksidebar list { + border-left-width: 0px; + border-right-width: 0px; +} + +carousel.vertical .carousel-icon { + -gtk-icon-transform: rotate(90deg); +} diff --git a/subprojects/libhandy/glade/glade-catalog.dtd b/subprojects/libhandy/glade/glade-catalog.dtd new file mode 100644 index 00000000..c0d073e5 --- /dev/null +++ b/subprojects/libhandy/glade/glade-catalog.dtd @@ -0,0 +1,196 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/subprojects/libhandy/glade/glade-hdy-carousel.c b/subprojects/libhandy/glade/glade-hdy-carousel.c new file mode 100644 index 00000000..6abfd205 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-carousel.c @@ -0,0 +1,460 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + * + * Based on + * glade-gtk-stack.c - GladeWidgetAdaptor for GtkStack + * Copyright (C) 2014 Red Hat, Inc. + */ + +#include +#include + +#include "glade-hdy-carousel.h" + +#include +#include "glade-hdy-utils.h" + +#include + +static gint +hdy_carousel_get_page (HdyCarousel *carousel) +{ + return round (hdy_carousel_get_position (carousel)); +} + +static gboolean +hdy_carousel_is_transient (HdyCarousel *carousel) +{ + return fmod (hdy_carousel_get_position (carousel), 1.0) > 0.00001; +} + +static gint +get_n_pages_excluding_placeholders (GtkContainer *container) +{ + GList *children, *l; + gint n_pages; + + children = gtk_container_get_children (container); + + n_pages = 0; + for (l = children; l; l = l->next) + if (!GLADE_IS_PLACEHOLDER (l->data)) + n_pages++; + + g_list_free (children); + + + return n_pages; +} + +static void +selection_changed_cb (GladeProject *project, + GladeWidget *gwidget) +{ + GList *list; + GtkWidget *page, *sel_widget; + GtkContainer *container; + GList *children, *l; + gint index; + + list = glade_project_selection_get (project); + if (!list || g_list_length (list) != 1) + return; + + sel_widget = list->data; + + container = GTK_CONTAINER (glade_widget_get_object (gwidget)); + + if (!GTK_IS_WIDGET (sel_widget) || + !gtk_widget_is_ancestor (sel_widget, GTK_WIDGET (container))) + return; + + children = gtk_container_get_children (container); + for (l = children; l; l = l->next) { + page = l->data; + if (sel_widget == page || gtk_widget_is_ancestor (sel_widget, page)) { + hdy_carousel_scroll_to (HDY_CAROUSEL (container), page); + index = glade_hdy_get_child_index (container, page); + glade_widget_property_set (gwidget, "page", index); + break; + } + } + g_list_free (children); +} + +static void +project_changed_cb (GladeWidget *gwidget, + GParamSpec *pspec, + gpointer user_data) +{ + GladeProject *project, *old_project; + + project = glade_widget_get_project (gwidget); + old_project = g_object_get_data (G_OBJECT (gwidget), "carousel-project-ptr"); + + if (old_project) + g_signal_handlers_disconnect_by_func (G_OBJECT (old_project), + G_CALLBACK (selection_changed_cb), + gwidget); + + if (project) + g_signal_connect (G_OBJECT (project), "selection-changed", + G_CALLBACK (selection_changed_cb), gwidget); + + g_object_set_data (G_OBJECT (gwidget), "carousel-project-ptr", project); +} + +static void +position_changed_cb (HdyCarousel *carousel, + GParamSpec *pspec, + GladeWidget *gwidget) +{ + gint old_page, new_page; + + glade_widget_property_get (gwidget, "page", &old_page); + new_page = hdy_carousel_get_page (carousel); + + if (old_page == new_page || hdy_carousel_is_transient (carousel)) + return; + + glade_widget_property_set (gwidget, "page", new_page); +} + +void +glade_hdy_carousel_post_create (GladeWidgetAdaptor *adaptor, + GObject *container, + GladeCreateReason reason) +{ + GladeWidget *gwidget = glade_widget_get_from_gobject (container); + + if (reason == GLADE_CREATE_USER) + gtk_container_add (GTK_CONTAINER (container), glade_placeholder_new ()); + + g_signal_connect (G_OBJECT (gwidget), "notify::project", + G_CALLBACK (project_changed_cb), NULL); + + project_changed_cb (gwidget, NULL, NULL); + + g_signal_connect (G_OBJECT (container), "notify::position", + G_CALLBACK (position_changed_cb), gwidget); +} + +void +glade_hdy_carousel_child_action_activate (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *object, + const gchar *action_path) +{ + if (!strcmp (action_path, "insert_page_after") || + !strcmp (action_path, "insert_page_before")) { + GladeWidget *parent; + GladeProperty *property; + GtkWidget *placeholder; + gint pages, index; + + parent = glade_widget_get_from_gobject (container); + glade_widget_property_get (parent, "pages", &pages); + + glade_command_push_group (_("Insert placeholder to %s"), + glade_widget_get_name (parent)); + + index = glade_hdy_get_child_index (GTK_CONTAINER (container), GTK_WIDGET (object)); + if (!strcmp (action_path, "insert_page_after")) + index++; + + placeholder = glade_placeholder_new (); + + hdy_carousel_insert (HDY_CAROUSEL (container), placeholder, index); + hdy_carousel_scroll_to (HDY_CAROUSEL (container), placeholder); + + glade_hdy_sync_child_positions (GTK_CONTAINER (container)); + + property = glade_widget_get_property (parent, "pages"); + glade_command_set_property (property, pages + 1); + + property = glade_widget_get_property (parent, "page"); + glade_command_set_property (property, index); + + glade_command_pop_group (); + } else if (strcmp (action_path, "remove_page") == 0) { + GladeWidget *parent; + GladeProperty *property; + gint pages, position; + + parent = glade_widget_get_from_gobject (container); + glade_widget_property_get (parent, "pages", &pages); + + glade_command_push_group (_("Remove placeholder from %s"), + glade_widget_get_name (parent)); + + g_assert (GLADE_IS_PLACEHOLDER (object)); + gtk_container_remove (GTK_CONTAINER (container), GTK_WIDGET (object)); + + glade_hdy_sync_child_positions (GTK_CONTAINER (container)); + + property = glade_widget_get_property (parent, "pages"); + glade_command_set_property (property, pages - 1); + + glade_widget_property_get (parent, "page", &position); + property = glade_widget_get_property (parent, "page"); + glade_command_set_property (property, position); + + glade_command_pop_group (); + } else + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->child_action_activate (adaptor, + container, + object, + action_path); +} + +static void +set_n_pages (GObject *container, + const GValue *value) +{ + GladeWidget *gbox; + GtkWidget *child; + gint old_size, new_size, i, page; + + new_size = g_value_get_int (value); + old_size = hdy_carousel_get_n_pages (HDY_CAROUSEL (container)); + + if (old_size == new_size) + return; + + for (i = old_size; i < new_size; i++) + gtk_container_add (GTK_CONTAINER (container), glade_placeholder_new ()); + + for (i = old_size; i > 0; i--) { + if (old_size <= new_size) + break; + child = glade_hdy_get_nth_child (GTK_CONTAINER (container), i - 1); + if (GLADE_IS_PLACEHOLDER (child)) { + gtk_container_remove (GTK_CONTAINER (container), child); + old_size--; + } + } + + gbox = glade_widget_get_from_gobject (container); + glade_widget_property_get (gbox, "page", &page); + glade_widget_property_set (gbox, "page", page); +} + +static void +set_page (GObject *object, + const GValue *value) +{ + gint new_page; + GtkWidget *child; + + new_page = g_value_get_int (value); + child = glade_hdy_get_nth_child (GTK_CONTAINER (object), new_page); + + if (child) + hdy_carousel_scroll_to (HDY_CAROUSEL (object), child); +} + +void +glade_hdy_carousel_set_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + const GValue *value) +{ + if (!strcmp (id, "pages")) + set_n_pages (object, value); + else if (!strcmp (id, "page")) + set_page (object, value); + else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value); + } +} + +void +glade_hdy_carousel_get_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + GValue *value) +{ + if (!strcmp (id, "pages")) { + g_value_reset (value); + g_value_set_int (value, hdy_carousel_get_n_pages (HDY_CAROUSEL (object))); + } else if (!strcmp (id, "page")) { + g_value_reset (value); + g_value_set_int (value, hdy_carousel_get_page (HDY_CAROUSEL (object))); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->get_property (adaptor, object, id, value); + } +} + +static gboolean +glade_hdy_carousel_verify_n_pages (GObject *object, + const GValue *value) +{ + gint new_size, old_size; + + new_size = g_value_get_int (value); + old_size = get_n_pages_excluding_placeholders (GTK_CONTAINER (object)); + + return old_size <= new_size; +} + +static gboolean +glade_hdy_carousel_verify_page (GObject *object, + const GValue *value) +{ + gint page, pages; + + page = g_value_get_int (value); + pages = hdy_carousel_get_n_pages (HDY_CAROUSEL (object)); + + return 0 <= page && page < pages; +} + +gboolean +glade_hdy_carousel_verify_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + const GValue *value) +{ + if (!strcmp (id, "pages")) + return glade_hdy_carousel_verify_n_pages (object, value); + else if (!strcmp (id, "page")) + return glade_hdy_carousel_verify_page (object, value); + else if (GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->verify_property) + return GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->verify_property (adaptor, object, + id, value); + + return TRUE; +} + +void +glade_hdy_carousel_add_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child) +{ + GladeWidget *gbox, *gchild; + gint pages, page; + + if (!glade_widget_superuser () && !GLADE_IS_PLACEHOLDER (child)) { + GList *l, *children; + + children = gtk_container_get_children (GTK_CONTAINER (container)); + + for (l = g_list_last (children); l; l = l->prev) { + GtkWidget *widget = l->data; + + if (GLADE_IS_PLACEHOLDER (widget)) { + gtk_container_remove (GTK_CONTAINER (container), widget); + break; + } + } + + g_list_free (children); + } + + gtk_container_add (GTK_CONTAINER (container), GTK_WIDGET (child)); + + gchild = glade_widget_get_from_gobject (child); + if (gchild) + glade_widget_set_pack_action_visible (gchild, "remove_page", FALSE); + + glade_hdy_sync_child_positions (GTK_CONTAINER (container)); + + gbox = glade_widget_get_from_gobject (container); + glade_widget_property_get (gbox, "pages", &pages); + glade_widget_property_set (gbox, "pages", pages); + glade_widget_property_get (gbox, "page", &page); + glade_widget_property_set (gbox, "page", page); +} + +void +glade_hdy_carousel_remove_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child) +{ + GladeWidget *gbox; + gint pages, page; + + gtk_container_remove (GTK_CONTAINER (container), GTK_WIDGET (child)); + + glade_hdy_sync_child_positions (GTK_CONTAINER (container)); + + gbox = glade_widget_get_from_gobject (container); + glade_widget_property_get (gbox, "pages", &pages); + glade_widget_property_set (gbox, "pages", pages); + glade_widget_property_get (gbox, "page", &page); + glade_widget_property_set (gbox, "page", page); +} + +void +glade_hdy_carousel_replace_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *current, + GObject *new_widget) +{ + GladeWidget *gbox, *gchild; + gint pages, page, index; + + index = glade_hdy_get_child_index (GTK_CONTAINER (container), GTK_WIDGET (current)); + gtk_container_remove (GTK_CONTAINER (container), GTK_WIDGET (current)); + hdy_carousel_insert (HDY_CAROUSEL (container), GTK_WIDGET (new_widget), + index); + hdy_carousel_scroll_to_full (HDY_CAROUSEL (container), + GTK_WIDGET (new_widget), 0); + + glade_hdy_sync_child_positions (GTK_CONTAINER (container)); + + gchild = glade_widget_get_from_gobject (new_widget); + if (gchild) + glade_widget_set_pack_action_visible (gchild, "remove_page", FALSE); + + /* NOTE: make sure to sync this at the end because new_widget could be + * a placeholder and syncing these properties could destroy it. + */ + gbox = glade_widget_get_from_gobject (container); + glade_widget_property_get (gbox, "pages", &pages); + glade_widget_property_set (gbox, "pages", pages); + glade_widget_property_get (gbox, "page", &page); + glade_widget_property_set (gbox, "page", page); +} + +void +glade_hdy_carousel_get_child_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value) +{ + if (strcmp (property_name, "position") == 0) + g_value_set_int (value, glade_hdy_get_child_index (GTK_CONTAINER (container), + GTK_WIDGET (child))); + else + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->child_get_property (adaptor, + container, + child, + property_name, + value); +} + +void +glade_hdy_carousel_set_child_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value) +{ + if (strcmp (property_name, "position") == 0) { + glade_hdy_reorder_child (GTK_CONTAINER (container), + GTK_WIDGET (child), + g_value_get_int (value)); + + glade_hdy_sync_child_positions (GTK_CONTAINER (container)); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->child_set_property (adaptor, + container, + child, + property_name, + value); + } +} diff --git a/subprojects/libhandy/glade/glade-hdy-carousel.h b/subprojects/libhandy/glade/glade-hdy-carousel.h new file mode 100644 index 00000000..211c0a6c --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-carousel.h @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#include + +#include + + +void glade_hdy_carousel_post_create (GladeWidgetAdaptor *adaptor, + GObject *container, + GladeCreateReason reason); + +void glade_hdy_carousel_child_action_activate (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *object, + const gchar *action_path); + +void glade_hdy_carousel_set_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + const GValue *value); +void glade_hdy_carousel_get_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + GValue *value); +gboolean glade_hdy_carousel_verify_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + const GValue *value); + +void glade_hdy_carousel_add_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child); +void glade_hdy_carousel_remove_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child); +void glade_hdy_carousel_replace_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *current, + GObject *new_widget); + +void glade_hdy_carousel_get_child_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value); +void glade_hdy_carousel_set_child_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value); diff --git a/subprojects/libhandy/glade/glade-hdy-expander-row.c b/subprojects/libhandy/glade/glade-hdy-expander-row.c new file mode 100644 index 00000000..669e52ac --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-expander-row.c @@ -0,0 +1,105 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + * + * Based on + * glade-gtk-list-box.c - GladeWidgetAdaptor for GtkListBox + * Copyright (C) 2013 Kalev Lember + */ + +#include +#include + +#include "glade-hdy-expander-row.h" + +#include +#include "glade-hdy-utils.h" + +void +glade_hdy_expander_row_post_create (GladeWidgetAdaptor *adaptor, + GObject *container, + GladeCreateReason reason) +{ + g_object_set (container, "expanded", TRUE, NULL); +} + +void +glade_hdy_expander_row_get_child_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value) +{ + if (strcmp (property_name, "position") == 0) + g_value_set_int (value, glade_hdy_get_child_index (GTK_CONTAINER (container), + GTK_WIDGET (child))); + else + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->child_get_property (adaptor, + container, + child, + property_name, + value); +} + +void +glade_hdy_expander_row_set_child_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value) +{ + if (strcmp (property_name, "position") == 0) + glade_hdy_reorder_child (GTK_CONTAINER (container), + GTK_WIDGET (child), + g_value_get_int (value)); + else + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->child_set_property (adaptor, + container, + child, + property_name, + value); +} + +void +glade_hdy_expander_row_add_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child)); + + glade_hdy_sync_child_positions (GTK_CONTAINER (object)); +} + +void +glade_hdy_expander_row_remove_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child)); + + glade_hdy_sync_child_positions (GTK_CONTAINER (object)); +} + +gboolean +glade_hdy_expander_row_add_verify (GladeWidgetAdaptor *adaptor, + GtkWidget *object, + GtkWidget *child, + gboolean user_feedback) +{ + if (GTK_IS_LIST_BOX_ROW (child)) + return TRUE; + + if (user_feedback) { + GladeWidgetAdaptor *row_adaptor = + glade_widget_adaptor_get_by_type (GTK_TYPE_LIST_BOX_ROW); + + glade_util_ui_message (glade_app_get_window (), + GLADE_UI_INFO, NULL, + ONLY_THIS_GOES_IN_THAT_MSG, + glade_widget_adaptor_get_title (row_adaptor), + glade_widget_adaptor_get_title (adaptor)); + } + + return FALSE; +} diff --git a/subprojects/libhandy/glade/glade-hdy-expander-row.h b/subprojects/libhandy/glade/glade-hdy-expander-row.h new file mode 100644 index 00000000..221f65e7 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-expander-row.h @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#include + +#include + +void glade_hdy_expander_row_post_create (GladeWidgetAdaptor *adaptor, + GObject *container, + GladeCreateReason reason); + +void glade_hdy_expander_row_get_child_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value); +void glade_hdy_expander_row_set_child_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value); + +void glade_hdy_expander_row_add_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child); + +void glade_hdy_expander_row_remove_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child); + +gboolean glade_hdy_expander_row_add_verify (GladeWidgetAdaptor *adaptor, + GtkWidget *object, + GtkWidget *child, + gboolean user_feedback); diff --git a/subprojects/libhandy/glade/glade-hdy-header-bar.c b/subprojects/libhandy/glade/glade-hdy-header-bar.c new file mode 100644 index 00000000..efac46a5 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-header-bar.c @@ -0,0 +1,547 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + * + * Based on + * glade-gtk-header-bar.c - GladeWidgetAdaptor for GtkHeaderBar + */ + +#include +#include + +#include "glade-hdy-header-bar.h" + +#include +#include "glade-hdy-utils.h" + +#define TITLE_DISABLED_MESSAGE _("This property does not apply when a custom title is set") + +typedef struct { + GtkContainer *parent; + GtkWidget *custom_title; + gboolean include_placeholders; + gint count; +} ChildrenData; + +static void +count_children (GtkWidget *widget, gpointer data) +{ + ChildrenData *cdata = data; + + if (widget == cdata->custom_title) + return; + + if ((GLADE_IS_PLACEHOLDER (widget) && cdata->include_placeholders) || + glade_widget_get_from_gobject (widget) != NULL) + cdata->count++; +} + +static gboolean +verify_size (GObject *object, + const GValue *value) +{ + gint new_size; + ChildrenData data; + + new_size = g_value_get_int (value); + + data.parent = GTK_CONTAINER (object); + data.custom_title = hdy_header_bar_get_custom_title (HDY_HEADER_BAR (object)); + data.include_placeholders = FALSE; + data.count = 0; + + gtk_container_foreach (data.parent, count_children, &data); + + return data.count <= new_size; +} + +static gint +get_n_children (GObject *object) +{ + ChildrenData data; + + data.parent = GTK_CONTAINER (object); + data.custom_title = hdy_header_bar_get_custom_title (HDY_HEADER_BAR (object)); + data.include_placeholders = TRUE; + data.count = 0; + + gtk_container_foreach (data.parent, count_children, &data); + + return data.count; +} + +static void +parse_finished_cb (GladeProject *project, + GObject *object) +{ + GladeWidget *gbox; + + gbox = glade_widget_get_from_gobject (object); + glade_widget_property_set (gbox, "size", get_n_children (object)); + glade_widget_property_set (gbox, "use-custom-title", hdy_header_bar_get_custom_title (HDY_HEADER_BAR (object)) != NULL); +} + +void +glade_hdy_header_bar_post_create (GladeWidgetAdaptor *adaptor, + GObject *container, + GladeCreateReason reason) +{ + GladeWidget *parent = glade_widget_get_from_gobject (container); + GladeProject *project = glade_widget_get_project (parent); + + if (reason == GLADE_CREATE_LOAD) { + g_signal_connect (project, "parse-finished", + G_CALLBACK (parse_finished_cb), + container); + + return; + } + + if (reason == GLADE_CREATE_USER) + hdy_header_bar_pack_start (HDY_HEADER_BAR (container), + glade_placeholder_new ()); +} + +void +glade_hdy_header_bar_action_activate (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *action_path) +{ + if (!strcmp (action_path, "add_slot")) { + GladeWidget *parent; + GladeProperty *property; + gint size; + + parent = glade_widget_get_from_gobject (object); + + glade_command_push_group (_("Insert placeholder to %s"), + glade_widget_get_name (parent)); + + property = glade_widget_get_property (parent, "size"); + glade_property_get (property, &size); + glade_command_set_property (property, size + 1); + + glade_command_pop_group (); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->action_activate (adaptor, + object, + action_path); + } +} + +void +glade_hdy_header_bar_child_action_activate (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *object, + const gchar *action_path) +{ + if (strcmp (action_path, "remove_slot") == 0) { + GladeWidget *parent; + GladeProperty *property; + + parent = glade_widget_get_from_gobject (container); + glade_command_push_group (_("Remove placeholder from %s"), + glade_widget_get_name (parent)); + + if (g_object_get_data (object, "special-child-type")) { + property = glade_widget_get_property (parent, "use-custom-title"); + glade_command_set_property (property, FALSE); + } else { + gint size; + + gtk_container_remove (GTK_CONTAINER (container), GTK_WIDGET (object)); + + property = glade_widget_get_property (parent, "size"); + glade_property_get (property, &size); + glade_command_set_property (property, size - 1); + } + + glade_command_pop_group (); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->child_action_activate (adaptor, + container, + object, + action_path); + } +} + +void +glade_hdy_header_bar_get_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + GValue *value) +{ + if (!strcmp (id, "use-custom-title")) { + g_value_reset (value); + g_value_set_boolean (value, hdy_header_bar_get_custom_title (HDY_HEADER_BAR (object)) != NULL); + } else if (!strcmp (id, "size")) { + g_value_reset (value); + g_value_set_int (value, get_n_children (object)); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->get_property (adaptor, object, id, value); + } +} + +static void +set_size (GObject *object, + const GValue *value) +{ + GList *l, *next; + g_autoptr (GList) children = NULL; + GtkWidget *child; + guint new_size, old_size, i; + + if (glade_util_object_is_loading (object)) + return; + + children = gtk_container_get_children (GTK_CONTAINER (object)); + l = children; + + while (l) { + next = l->next; + if (l->data == hdy_header_bar_get_custom_title (HDY_HEADER_BAR (object)) || + (!glade_widget_get_from_gobject (l->data) && !GLADE_IS_PLACEHOLDER (l->data))) + children = g_list_delete_link (children, l); + l = next; + } + + old_size = g_list_length (children); + new_size = g_value_get_int (value); + + if (old_size == new_size) + return; + + for (i = old_size; i < new_size; i++) { + GtkWidget *placeholder = glade_placeholder_new (); + hdy_header_bar_pack_start (HDY_HEADER_BAR (object), placeholder); + } + + for (l = g_list_last (children); l && old_size > new_size; l = l->prev) { + child = l->data; + if (glade_widget_get_from_gobject (child) || !GLADE_IS_PLACEHOLDER (child)) + continue; + + gtk_container_remove (GTK_CONTAINER (object), child); + old_size--; + } +} + +static void +set_use_custom_title (GObject *object, + gboolean use_custom_title) +{ + GladeWidget *gwidget = glade_widget_get_from_gobject (object); + GtkWidget *child; + + if (use_custom_title) { + child = hdy_header_bar_get_custom_title (HDY_HEADER_BAR (object)); + if (!child) { + child = glade_placeholder_new (); + g_object_set_data (G_OBJECT (child), "special-child-type", "title"); + } + } else { + child = NULL; + } + + hdy_header_bar_set_custom_title (HDY_HEADER_BAR (object), child); + + if (GLADE_IS_PLACEHOLDER (child)) { + GList *list, *l; + + list = glade_placeholder_packing_actions (GLADE_PLACEHOLDER (child)); + for (l = list; l; l = l->next) { + GladeWidgetAction *gwa = l->data; + if (!strcmp (glade_widget_action_get_def (gwa)->id, "remove_slot")) + glade_widget_action_set_visible (gwa, FALSE); + } + } + + if (use_custom_title) { + glade_widget_property_set_sensitive (gwidget, "title", FALSE, TITLE_DISABLED_MESSAGE); + glade_widget_property_set_sensitive (gwidget, "subtitle", FALSE, TITLE_DISABLED_MESSAGE); + glade_widget_property_set_sensitive (gwidget, "has-subtitle", FALSE, TITLE_DISABLED_MESSAGE); + } else { + glade_widget_property_set_sensitive (gwidget, "title", TRUE, NULL); + glade_widget_property_set_sensitive (gwidget, "subtitle", TRUE, NULL); + glade_widget_property_set_sensitive (gwidget, "has-subtitle", TRUE, NULL); + } +} + +void +glade_hdy_header_bar_set_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + const GValue *value) +{ + if (!strcmp (id, "use-custom-title")) { + set_use_custom_title (object, g_value_get_boolean (value)); + } else if (!strcmp (id, "show-close-button")) { + GladeWidget *gwidget = glade_widget_get_from_gobject (object); + + /* We don't set the property to 'ignore' so that we catch this in the adaptor, + * but we also do not apply the property to the runtime object here, thus + * avoiding showing the close button which would in turn close glade itself + * when clicked. + */ + glade_widget_property_set_sensitive (gwidget, "decoration-layout", + g_value_get_boolean (value), + _("The decoration layout does not apply to header bars " + "which do no show window controls")); + } else if (!strcmp (id, "size")) { + set_size (object, value); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value); + } +} + +void +glade_hdy_header_bar_add_child (GladeWidgetAdaptor *adaptor, + GObject *parent, + GObject *child) +{ + GladeWidget *gbox, *gchild; + gint size; + gchar *special_child_type; + + gchild = glade_widget_get_from_gobject (child); + if (gchild) + glade_widget_set_pack_action_visible (gchild, "remove_slot", FALSE); + + special_child_type = g_object_get_data (child, "special-child-type"); + + if (special_child_type && !strcmp (special_child_type, "title")) { + hdy_header_bar_set_custom_title (HDY_HEADER_BAR (parent), GTK_WIDGET (child)); + + return; + } + + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->add (adaptor, parent, child); + + gbox = glade_widget_get_from_gobject (parent); + if (!glade_widget_superuser ()) { + glade_widget_property_get (gbox, "size", &size); + glade_widget_property_set (gbox, "size", size); + } +} + +void +glade_hdy_header_bar_remove_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + GladeWidget *gbox; + gint size; + gchar *special_child_type; + + special_child_type = g_object_get_data (child, "special-child-type"); + + if (special_child_type && !strcmp (special_child_type, "title")) { + GtkWidget *replacement = glade_placeholder_new (); + + g_object_set_data (G_OBJECT (replacement), "special-child-type", "title"); + hdy_header_bar_set_custom_title (HDY_HEADER_BAR (object), replacement); + + return; + } + + gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child)); + + /* Synchronize number of placeholders, this should trigger the set_property method with the + * correct value (not the arbitrary number of children currently in the headerbar) + */ + gbox = glade_widget_get_from_gobject (object); + if (!glade_widget_superuser ()) { + glade_widget_property_get (gbox, "size", &size); + glade_widget_property_set (gbox, "size", size); + } +} + +void +glade_hdy_header_bar_replace_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *current, + GObject *new_widget) +{ + GladeWidget *gbox; + gchar *special_child_type; + gint size; + + special_child_type = + g_object_get_data (G_OBJECT (current), "special-child-type"); + + if (special_child_type && !strcmp (special_child_type, "title")) { + g_object_set_data (G_OBJECT (new_widget), "special-child-type", "title"); + hdy_header_bar_set_custom_title (HDY_HEADER_BAR (container), + GTK_WIDGET (new_widget)); + + return; + } + + g_object_set_data (G_OBJECT (new_widget), "special-child-type", NULL); + + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->replace_child (adaptor, + container, + current, + new_widget); + + gbox = glade_widget_get_from_gobject (container); + if (!glade_widget_superuser ()) { + glade_widget_property_get (gbox, "size", &size); + glade_widget_property_set (gbox, "size", size); + } +} + +gboolean +glade_hdy_header_bar_verify_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + const GValue *value) +{ + if (!strcmp (id, "size")) + return verify_size (object, value); + else if (GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->verify_property) + return GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->verify_property (adaptor, + object, + id, + value); + + return TRUE; +} + +static gint +sort_children (GtkWidget *widget_a, GtkWidget *widget_b, GtkWidget *bar) +{ + GladeWidget *gwidget_a, *gwidget_b; + gint position_a, position_b; + GtkWidget *title; + + /* title goes first */ + title = hdy_header_bar_get_custom_title (HDY_HEADER_BAR (bar)); + if (title == widget_a) + return -1; + if (title == widget_b) + return 1; + + if ((gwidget_a = glade_widget_get_from_gobject (widget_a)) && + (gwidget_b = glade_widget_get_from_gobject (widget_b))) { + glade_widget_pack_property_get (gwidget_a, "position", &position_a); + glade_widget_pack_property_get (gwidget_b, "position", &position_b); + + /* If position is the same, try to give an stable order */ + if (position_a == position_b) + return g_strcmp0 (glade_widget_get_name (gwidget_a), + glade_widget_get_name (gwidget_b)); + } else { + gtk_container_child_get (GTK_CONTAINER (bar), widget_a, + "position", &position_a, NULL); + gtk_container_child_get (GTK_CONTAINER (bar), widget_b, + "position", &position_b, NULL); + } + + return position_a - position_b; +} + +GList * +glade_hdy_header_bar_get_children (GladeWidgetAdaptor *adaptor, + GObject *container) +{ + GList *children = GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->get_children (adaptor, container); + + return g_list_sort_with_data (children, (GCompareDataFunc) sort_children, container); +} + + +void +glade_hdy_header_bar_child_set_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + const GValue *value) +{ + GladeWidget *gbox, *gchild, *gchild_iter; + GList *children, *list; + gboolean is_position; + gint old_position, iter_position, new_position; + static gboolean recursion = FALSE; + + g_return_if_fail (HDY_IS_HEADER_BAR (container)); + g_return_if_fail (GTK_IS_WIDGET (child)); + g_return_if_fail (property_name != NULL || value != NULL); + + gbox = glade_widget_get_from_gobject (container); + gchild = glade_widget_get_from_gobject (child); + + g_return_if_fail (GLADE_IS_WIDGET (gbox)); + + /* Get old position */ + if ((is_position = (strcmp (property_name, "position") == 0)) != FALSE) { + gtk_container_child_get (GTK_CONTAINER (container), + GTK_WIDGET (child), + "position", &old_position, + NULL); + + + /* Get the real value */ + new_position = g_value_get_int (value); + } + + if (is_position && recursion == FALSE) { + children = glade_widget_get_children (gbox); + + for (list = children; list; list = list->next) { + gchild_iter = glade_widget_get_from_gobject (list->data); + + if (gchild_iter == gchild) { + gtk_container_child_set (GTK_CONTAINER (container), + GTK_WIDGET (child), + "position", new_position, + NULL); + + continue; + } + + /* Get the old value from glade */ + glade_widget_pack_property_get (gchild_iter, "position", &iter_position); + + /* Search for the child at the old position and update it */ + if (iter_position == new_position && + glade_property_superuser () == FALSE) { + /* Update glade with the real value */ + recursion = TRUE; + glade_widget_pack_property_set (gchild_iter, "position", old_position); + recursion = FALSE; + + continue; + } else { + gtk_container_child_set (GTK_CONTAINER (container), + GTK_WIDGET (list->data), + "position", iter_position, + NULL); + } + } + + for (list = children; list; list = list->next) { + gchild_iter = glade_widget_get_from_gobject (list->data); + + /* Refresh values yet again */ + glade_widget_pack_property_get (gchild_iter, "position", &iter_position); + + gtk_container_child_set (GTK_CONTAINER (container), + GTK_WIDGET (list->data), + "position", iter_position, + NULL); + } + + if (children) + g_list_free (children); + } + + /* Chain Up */ + if (!is_position) + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->child_set_property (adaptor, + container, + child, + property_name, + value); +} diff --git a/subprojects/libhandy/glade/glade-hdy-header-bar.h b/subprojects/libhandy/glade/glade-hdy-header-bar.h new file mode 100644 index 00000000..8f6c84a0 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-header-bar.h @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#include + +#include + + +void glade_hdy_header_bar_post_create (GladeWidgetAdaptor *adaptor, + GObject *container, + GladeCreateReason reason); + +void glade_hdy_header_bar_action_activate (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *action_path); + +void glade_hdy_header_bar_child_action_activate (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *object, + const gchar *action_path); + +void glade_hdy_header_bar_get_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + GValue *value); +void glade_hdy_header_bar_set_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + const GValue *value); + +void glade_hdy_header_bar_add_child (GladeWidgetAdaptor *adaptor, + GObject *parent, + GObject *child); +void glade_hdy_header_bar_remove_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child); +void glade_hdy_header_bar_replace_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *current, + GObject *new_widget); + +gboolean glade_hdy_header_bar_verify_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + const GValue *value); + +GList *glade_hdy_header_bar_get_children (GladeWidgetAdaptor *adaptor, + GObject *container); + +void glade_hdy_header_bar_child_set_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + const GValue *value); diff --git a/subprojects/libhandy/glade/glade-hdy-header-group.c b/subprojects/libhandy/glade/glade-hdy-header-group.c new file mode 100644 index 00000000..2366b7e0 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-header-group.c @@ -0,0 +1,162 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + * + * Based on + * glade-gtk-size-group.c - GladeWidgetAdaptor for GtkSizeGroup + * Copyright (C) 2013 Tristan Van Berkom + */ + +#include +#include + +#include "glade-hdy-header-group.h" + +#include +#include "glade-hdy-utils.h" + +#define GLADE_TAG_HEADERGROUP_WIDGETS "headerbars" +#define GLADE_TAG_HEADERGROUP_WIDGET "headerbar" + + +static void +glade_hdy_header_group_read_widgets (GladeWidget *widget, GladeXmlNode *node) +{ + GladeXmlNode *widgets_node; + GladeProperty *property; + gchar *string = NULL; + + if ((widgets_node = + glade_xml_search_child (node, GLADE_TAG_HEADERGROUP_WIDGETS)) != NULL) { + GladeXmlNode *n; + + for (n = glade_xml_node_get_children (widgets_node); + n; n = glade_xml_node_next (n)) { + gchar *widget_name, *tmp; + + if (!glade_xml_node_verify (n, GLADE_TAG_HEADERGROUP_WIDGET)) + continue; + + widget_name = glade_xml_get_property_string_required + (n, GLADE_TAG_NAME, NULL); + + if (string == NULL) { + string = widget_name; + } else if (widget_name != NULL) { + tmp = + g_strdup_printf ("%s%s%s", string, GLADE_PROPERTY_DEF_OBJECT_DELIMITER, + widget_name); + string = (g_free (string), tmp); + g_free (widget_name); + } + } + } + + if (string) { + property = glade_widget_get_property (widget, "headerbars"); + g_assert (property); + + /* we must synchronize this directly after loading this project + * (i.e. lookup the actual objects after they've been parsed and + * are present). + */ + g_object_set_data_full (G_OBJECT (property), + "glade-loaded-object", string, g_free); + } +} + +void +glade_hdy_header_group_read_widget (GladeWidgetAdaptor *adaptor, + GladeWidget *widget, + GladeXmlNode *node) +{ + if (!(glade_xml_node_verify_silent (node, GLADE_XML_TAG_WIDGET) || + glade_xml_node_verify_silent (node, GLADE_XML_TAG_TEMPLATE))) + return; + + /* First chain up and read in all the normal properties.. */ + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (G_TYPE_OBJECT)->read_widget (adaptor, widget, node); + + glade_hdy_header_group_read_widgets (widget, node); +} + + +static void +glade_hdy_header_group_write_widgets (GladeWidget *widget, + GladeXmlContext *context, + GladeXmlNode *node) +{ + GladeXmlNode *widgets_node, *widget_node; + GList *widgets = NULL, *list; + GladeWidget *awidget; + + widgets_node = glade_xml_node_new (context, GLADE_TAG_HEADERGROUP_WIDGETS); + + if (glade_widget_property_get (widget, "headerbars", &widgets)) { + for (list = widgets; list; list = list->next) { + awidget = glade_widget_get_from_gobject (list->data); + widget_node = + glade_xml_node_new (context, GLADE_TAG_HEADERGROUP_WIDGET); + glade_xml_node_append_child (widgets_node, widget_node); + glade_xml_node_set_property_string (widget_node, GLADE_TAG_NAME, + glade_widget_get_name (awidget)); + } + } + + if (!glade_xml_node_get_children (widgets_node)) + glade_xml_node_delete (widgets_node); + else + glade_xml_node_append_child (node, widgets_node); +} + + +void +glade_hdy_header_group_write_widget (GladeWidgetAdaptor *adaptor, + GladeWidget *widget, + GladeXmlContext *context, + GladeXmlNode *node) +{ + if (!(glade_xml_node_verify_silent (node, GLADE_XML_TAG_WIDGET) || + glade_xml_node_verify_silent (node, GLADE_XML_TAG_TEMPLATE))) + return; + + /* First chain up and read in all the normal properties.. */ + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (G_TYPE_OBJECT)->write_widget (adaptor, widget, context, node); + + glade_hdy_header_group_write_widgets (widget, context, node); +} + + +void +glade_hdy_header_group_set_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *property_name, + const GValue *value) +{ + if (!strcmp (property_name, "headerbars")) { + GSList *sg_widgets, *slist; + GList *widgets, *list; + + /* remove old widgets */ + if ((sg_widgets = + hdy_header_group_get_children (HDY_HEADER_GROUP (object))) != NULL) { + /* copy since we are modifying an internal list */ + sg_widgets = g_slist_copy (sg_widgets); + for (slist = sg_widgets; slist; slist = slist->next) + hdy_header_group_remove_child (HDY_HEADER_GROUP (object), + HDY_HEADER_GROUP_CHILD (slist->data)); + g_slist_free (sg_widgets); + } + + /* add new widgets */ + if ((widgets = g_value_get_boxed (value)) != NULL) { + for (list = widgets; list; list = list->next) + hdy_header_group_add_header_bar (HDY_HEADER_GROUP (object), + HDY_HEADER_BAR (list->data)); + } + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (G_TYPE_OBJECT)->set_property (adaptor, object, + property_name, value); + } +} diff --git a/subprojects/libhandy/glade/glade-hdy-header-group.h b/subprojects/libhandy/glade/glade-hdy-header-group.h new file mode 100644 index 00000000..5333c0fd --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-header-group.h @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#include + +#include + + +void glade_hdy_header_group_set_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *property_name, + const GValue *value); +void glade_hdy_header_group_write_widget (GladeWidgetAdaptor *adaptor, + GladeWidget *widget, + GladeXmlContext *context, + GladeXmlNode *node); +void glade_hdy_header_group_read_widget (GladeWidgetAdaptor *adaptor, + GladeWidget *widget, + GladeXmlNode *node); diff --git a/subprojects/libhandy/glade/glade-hdy-leaflet.c b/subprojects/libhandy/glade/glade-hdy-leaflet.c new file mode 100644 index 00000000..90deb3f9 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-leaflet.c @@ -0,0 +1,533 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + * + * Based on + * glade-gtk-stack.c - GladeWidgetAdaptor for GtkStack + * Copyright (C) 2014 Red Hat, Inc. + */ + +#include +#include + +#include "glade-hdy-leaflet.h" + +#include +#include "glade-hdy-utils.h" + +#define PAGE_DISABLED_MESSAGE _("This property only applies when the leaflet is folded") + +static void +selection_changed_cb (GladeProject *project, + GladeWidget *gwidget) +{ + GList *list; + GtkWidget *page, *sel_widget; + GtkContainer *container = GTK_CONTAINER (glade_widget_get_object (gwidget)); + gint index; + + if ((list = glade_project_selection_get (project)) != NULL && + g_list_length (list) == 1) { + sel_widget = list->data; + + if (GTK_IS_WIDGET (sel_widget) && + gtk_widget_is_ancestor (sel_widget, GTK_WIDGET (container))) { + g_autoptr (GList) children = gtk_container_get_children (container); + GList *l; + + index = 0; + for (l = children; l; l = l->next) { + page = l->data; + if (sel_widget == page || + gtk_widget_is_ancestor (sel_widget, page)) { + glade_widget_property_set (gwidget, "page", index); + + break; + } + + index++; + } + } + } +} + +static void +project_changed_cb (GladeWidget *gwidget, + GParamSpec *pspec, + gpointer userdata) +{ + GladeProject *project = glade_widget_get_project (gwidget); + GladeProject *old_project = g_object_get_data (G_OBJECT (gwidget), + "project-ptr"); + + if (old_project) + g_signal_handlers_disconnect_by_func (G_OBJECT (old_project), + G_CALLBACK (selection_changed_cb), + gwidget); + + if (project) + g_signal_connect (G_OBJECT (project), + "selection-changed", + G_CALLBACK (selection_changed_cb), + gwidget); + + g_object_set_data (G_OBJECT (gwidget), "project-ptr", project); +} + +static void +add_named (GtkContainer *container, + GtkWidget *child, + const gchar *name) +{ + gtk_container_add_with_properties (container, + child, + "name", name, + NULL); +} + +static void +folded_changed_cb (HdyLeaflet *leaflet, + GParamSpec *pspec, + gpointer userdata) +{ + GladeWidget *gwidget = glade_widget_get_from_gobject (leaflet); + gboolean folded = hdy_leaflet_get_folded (leaflet); + + glade_widget_property_set_sensitive (gwidget, + "page", + folded, + folded ? NULL : PAGE_DISABLED_MESSAGE); +} + +void +glade_hdy_leaflet_post_create (GladeWidgetAdaptor *adaptor, + GObject *container, + GladeCreateReason reason) +{ + GladeWidget *gwidget = glade_widget_get_from_gobject (container); + + if (reason == GLADE_CREATE_USER) + add_named (GTK_CONTAINER (container), + glade_placeholder_new (), + "page0"); + + g_signal_connect (G_OBJECT (gwidget), + "notify::project", + G_CALLBACK (project_changed_cb), + NULL); + + project_changed_cb (gwidget, NULL, NULL); + + if (HDY_IS_LEAFLET (container)) { + g_signal_connect (container, + "notify::folded", + G_CALLBACK (folded_changed_cb), + NULL); + + folded_changed_cb (HDY_LEAFLET (container), NULL, NULL); + } +} + +static GtkWidget * +get_child_by_name (GtkContainer *container, + const gchar *name) +{ + g_autoptr (GList) children = gtk_container_get_children (container); + GList *l; + + for (l = children; l; l = l->next) { + const gchar *child_name; + + gtk_container_child_get (container, l->data, "name", &child_name, NULL); + + if (child_name && !strcmp (child_name, name)) + return l->data; + } + + return NULL; +} + +static gchar * +get_unused_name (GtkContainer *container) +{ + gint i = 0; + + while (TRUE) { + g_autofree gchar *name = g_strdup_printf ("page%d", i); + + if (get_child_by_name (container, name) == NULL) + return g_steal_pointer (&name); + + i++; + } + + return NULL; +} + +void +glade_hdy_leaflet_child_action_activate (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *object, + const gchar *action_path) +{ + if (!strcmp (action_path, "insert_page_after") || + !strcmp (action_path, "insert_page_before")) { + GladeWidget *parent = glade_widget_get_from_gobject (container); + GladeProperty *property; + g_autofree gchar *name = NULL; + GtkWidget *new_widget; + gint pages, index; + + glade_widget_property_get (parent, "pages", &pages); + + glade_command_push_group (_("Insert placeholder to %s"), + glade_widget_get_name (parent)); + + index = glade_hdy_get_child_index (GTK_CONTAINER (container), GTK_WIDGET (object)); + + if (!strcmp (action_path, "insert_page_after")) + index++; + + name = get_unused_name (GTK_CONTAINER (container)); + new_widget = glade_placeholder_new (); + add_named (GTK_CONTAINER (container), new_widget, name); + glade_hdy_reorder_child (GTK_CONTAINER (container), new_widget, index); + g_object_set (container, "visible-child", new_widget, NULL); + + glade_hdy_sync_child_positions (GTK_CONTAINER (container)); + + property = glade_widget_get_property (parent, "pages"); + glade_command_set_property (property, pages + 1); + + property = glade_widget_get_property (parent, "page"); + glade_command_set_property (property, index); + + glade_command_pop_group (); + } else if (strcmp (action_path, "remove_page") == 0) { + GladeWidget *parent = glade_widget_get_from_gobject (container); + GladeProperty *property; + gint pages, index; + + glade_widget_property_get (parent, "pages", &pages); + + glade_command_push_group (_("Remove placeholder from %s"), + glade_widget_get_name (parent)); + g_assert (GLADE_IS_PLACEHOLDER (object)); + gtk_container_remove (GTK_CONTAINER (container), GTK_WIDGET (object)); + + glade_hdy_sync_child_positions (GTK_CONTAINER (container)); + + property = glade_widget_get_property (parent, "pages"); + glade_command_set_property (property, pages - 1); + + glade_widget_property_get (parent, "page", &index); + property = glade_widget_get_property (parent, "page"); + glade_command_set_property (property, index); + + glade_command_pop_group (); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->child_action_activate (adaptor, + container, + object, + action_path); + } +} + +typedef struct { + gint size; + gboolean include_placeholders; +} ChildData; + +static void +count_child (GtkWidget *child, + gpointer data) +{ + ChildData *cdata = data; + + if (cdata->include_placeholders || !GLADE_IS_PLACEHOLDER (child)) + cdata->size++; +} + +static gint +get_n_pages (GtkContainer *container, + gboolean include_placeholders) +{ + ChildData data; + + data.size = 0; + data.include_placeholders = include_placeholders; + gtk_container_foreach (container, count_child, &data); + + return data.size; +} + +static void +set_n_pages (GObject *object, + const GValue *value) +{ + GladeWidget *gbox; + GtkContainer *container = GTK_CONTAINER (object); + GtkWidget *child; + gint new_size = g_value_get_int (value); + gint old_size = get_n_pages (container, TRUE); + gint i, page; + + if (old_size == new_size) + return; + + for (i = old_size; i < new_size; i++) { + g_autofree gchar *name = get_unused_name (container); + child = glade_placeholder_new (); + add_named (container, child, name); + } + + for (i = old_size; i > 0; i--) { + if (old_size <= new_size) + break; + + child = glade_hdy_get_nth_child (container, i - 1); + if (GLADE_IS_PLACEHOLDER (child)) { + gtk_container_remove (container, child); + old_size--; + } + } + + gbox = glade_widget_get_from_gobject (container); + glade_widget_property_get (gbox, "page", &page); + glade_widget_property_set (gbox, "page", page); +} + +static void +set_page (GObject *object, + const GValue *value) +{ + gint new_page = g_value_get_int (value); + GtkWidget *child = glade_hdy_get_nth_child (GTK_CONTAINER (object), new_page); + + if (!child) + return; + + g_object_set (object, "visible-child", child, NULL); +} + +static gint +get_page (GtkContainer *container) +{ + GtkWidget *child; + + g_object_get (container, "visible-child", &child, NULL); + + return glade_hdy_get_child_index (container, child); +} + +void +glade_hdy_leaflet_set_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + const GValue *value) +{ + if (!strcmp (id, "pages")) + set_n_pages (object, value); + else if (!strcmp (id, "page")) + set_page (object, value); + else + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value); +} + +void +glade_hdy_leaflet_get_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + GValue *value) +{ + if (!strcmp (id, "pages")) { + g_value_reset (value); + g_value_set_int (value, get_n_pages (GTK_CONTAINER (object), TRUE)); + } else if (!strcmp (id, "page")) { + g_value_reset (value); + g_value_set_int (value, get_page (GTK_CONTAINER (object))); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->get_property (adaptor, object, id, value); + } +} + +static gboolean +verify_n_pages (GObject *object, + const GValue *value) +{ + gint new_size = g_value_get_int (value); + gint old_size = get_n_pages (GTK_CONTAINER (object), FALSE); + + return old_size <= new_size; +} + +static gboolean +verify_page (GObject *object, + const GValue *value) +{ + gint page = g_value_get_int (value); + gint pages = get_n_pages (GTK_CONTAINER (object), TRUE); + + if (page < 0 && page >= pages) + return FALSE; + + if (HDY_IS_LEAFLET (object)) { + GtkWidget *child = glade_hdy_get_nth_child (GTK_CONTAINER (object), page); + gboolean navigatable; + + gtk_container_child_get (GTK_CONTAINER (object), child, + "navigatable", &navigatable, + NULL); + + if (!navigatable) + return FALSE; + } + + return TRUE; +} + +gboolean +glade_hdy_leaflet_verify_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + const GValue *value) +{ + if (!strcmp (id, "pages")) + return verify_n_pages (object, value); + else if (!strcmp (id, "page")) + return verify_page (object, value); + else if (GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->verify_property) + return GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->verify_property (adaptor, object, id, value); + + return TRUE; +} + + +void +glade_hdy_leaflet_get_child_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value) +{ + if (strcmp (property_name, "position") == 0) + g_value_set_int (value, glade_hdy_get_child_index (GTK_CONTAINER (container), + GTK_WIDGET (child))); + else + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->child_get_property (adaptor, + container, + child, + property_name, + value); +} + +void +glade_hdy_leaflet_set_child_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value) +{ + if (strcmp (property_name, "position") == 0) { + glade_hdy_reorder_child (GTK_CONTAINER (container), + GTK_WIDGET (child), + g_value_get_int (value)); + + glade_hdy_sync_child_positions (GTK_CONTAINER (container)); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->child_set_property (adaptor, + container, + child, + property_name, + value); + } +} + +void +glade_hdy_leaflet_add_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + GladeWidget *gbox, *gchild; + gint pages, page; + + if (!glade_widget_superuser () && !GLADE_IS_PLACEHOLDER (child)) { + g_autoptr (GList) children = gtk_container_get_children (GTK_CONTAINER (object)); + GList *l; + + for (l = g_list_last (children); l; l = l->prev) { + GtkWidget *widget = l->data; + if (GLADE_IS_PLACEHOLDER (widget)) { + gtk_container_remove (GTK_CONTAINER (object), widget); + + break; + } + } + } + + gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child)); + + glade_hdy_sync_child_positions (GTK_CONTAINER (object)); + + gchild = glade_widget_get_from_gobject (child); + if (gchild != NULL) + glade_widget_set_pack_action_visible (gchild, "remove_page", FALSE); + + gbox = glade_widget_get_from_gobject (object); + glade_widget_property_get (gbox, "pages", &pages); + glade_widget_property_set (gbox, "pages", pages); + glade_widget_property_get (gbox, "page", &page); + glade_widget_property_set (gbox, "page", page); +} + +void +glade_hdy_leaflet_remove_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + GladeWidget *gbox; + gint pages, page; + + gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child)); + + glade_hdy_sync_child_positions (GTK_CONTAINER (object)); + + gbox = glade_widget_get_from_gobject (object); + glade_widget_property_get (gbox, "pages", &pages); + glade_widget_property_set (gbox, "pages", pages); + glade_widget_property_get (gbox, "page", &page); + glade_widget_property_set (gbox, "page", page); +} + +void +glade_hdy_leaflet_replace_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *current, + GObject *new_widget) +{ + GladeWidget *gchild; + GladeWidget *gbox; + gint pages, page, index; + + index = glade_hdy_get_child_index (GTK_CONTAINER (container), GTK_WIDGET (current)); + gtk_container_remove (GTK_CONTAINER (container), GTK_WIDGET (current)); + gtk_container_add (GTK_CONTAINER (container), GTK_WIDGET (new_widget)); + glade_hdy_reorder_child (GTK_CONTAINER (container), GTK_WIDGET (new_widget), index); + + glade_hdy_sync_child_positions (GTK_CONTAINER (container)); + + gbox = glade_widget_get_from_gobject (container); + + gchild = glade_widget_get_from_gobject (new_widget); + if (gchild != NULL) + glade_widget_set_pack_action_visible (gchild, "remove_page", FALSE); + + /* NOTE: make sure to sync this at the end because new_widget could be + * a placeholder and syncing these properties could destroy it. + */ + glade_widget_property_get (gbox, "pages", &pages); + glade_widget_property_set (gbox, "pages", pages); + glade_widget_property_get (gbox, "page", &page); + glade_widget_property_set (gbox, "page", page); +} diff --git a/subprojects/libhandy/glade/glade-hdy-leaflet.h b/subprojects/libhandy/glade/glade-hdy-leaflet.h new file mode 100644 index 00000000..9f274b05 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-leaflet.h @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#include + +#include + + +void glade_hdy_leaflet_post_create (GladeWidgetAdaptor *adaptor, + GObject *container, + GladeCreateReason reason); + +void glade_hdy_leaflet_child_action_activate (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *object, + const gchar *action_path); + +void glade_hdy_leaflet_set_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + const GValue *value); +void glade_hdy_leaflet_get_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + GValue *value); +gboolean glade_hdy_leaflet_verify_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *id, + const GValue *value); + +void glade_hdy_leaflet_get_child_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value); +void glade_hdy_leaflet_set_child_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value); + +void glade_hdy_leaflet_add_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child); +void glade_hdy_leaflet_remove_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child); +void glade_hdy_leaflet_replace_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *current, + GObject *new_widget); diff --git a/subprojects/libhandy/glade/glade-hdy-preferences-page.c b/subprojects/libhandy/glade/glade-hdy-preferences-page.c new file mode 100644 index 00000000..58c1d3a5 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-preferences-page.c @@ -0,0 +1,218 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + * + * Based on + * glade-gtk-stack.c - GladeWidgetAdaptor for GtkStack + * Copyright (C) 2014 Red Hat, Inc. + */ + +#include +#include + +#include "glade-hdy-preferences-page.h" + +#include +#include "glade-hdy-utils.h" + +static GtkWidget * +get_child_by_title (GtkContainer *container, + const gchar *title) +{ + g_autoptr (GList) children = gtk_container_get_children (container); + GList *l; + + for (l = children; l; l = l->next) { + const gchar *child_title; + + g_assert (HDY_IS_PREFERENCES_GROUP (l->data)); + + child_title = hdy_preferences_group_get_title (HDY_PREFERENCES_GROUP (l->data)); + + if (child_title && !strcmp (child_title, title)) + return l->data; + } + + return NULL; +} + +static gchar * +get_unused_title (GtkContainer *container) +{ + gint i = 1; + + while (TRUE) { + g_autofree gchar *title = g_strdup_printf ("Group %d", i); + + if (get_child_by_title (container, title) == NULL) + return g_steal_pointer (&title); + + i++; + } + + return NULL; +} + +static void +add_group (GladeWidgetAdaptor *adaptor, + GObject *container) +{ + GladeWidget *gwidget = glade_widget_get_from_gobject (container); + GladeWidget *gpage; + GladeWidgetAdaptor *page_adaptor; + g_autofree gchar *title = get_unused_title (GTK_CONTAINER (container)); + + page_adaptor = glade_widget_adaptor_get_by_type (HDY_TYPE_PREFERENCES_GROUP); + + gpage = glade_widget_adaptor_create_widget (page_adaptor, FALSE, + "parent", gwidget, + "project", glade_widget_get_project (gwidget), + NULL); + + glade_widget_property_set (gpage, "title", title); + + glade_widget_add_child (gwidget, gpage, FALSE); +} + +void +glade_hdy_preferences_page_post_create (GladeWidgetAdaptor *adaptor, + GObject *container, + GladeCreateReason reason) +{ + if (reason == GLADE_CREATE_USER) { + add_group (adaptor, container); + add_group (adaptor, container); + add_group (adaptor, container); + } +} + +gboolean +glade_hdy_preferences_page_add_verify (GladeWidgetAdaptor *adaptor, + GtkWidget *object, + GtkWidget *child, + gboolean user_feedback) +{ + if (!HDY_IS_PREFERENCES_GROUP (child)) { + if (user_feedback) { + GladeWidgetAdaptor *page_adaptor = + glade_widget_adaptor_get_by_type (HDY_TYPE_PREFERENCES_GROUP); + + glade_util_ui_message (glade_app_get_window (), + GLADE_UI_INFO, NULL, + ONLY_THIS_GOES_IN_THAT_MSG, + glade_widget_adaptor_get_title (page_adaptor), + glade_widget_adaptor_get_title (adaptor)); + } + + return FALSE; + } + + return TRUE; +} + +void +glade_hdy_preferences_page_add_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child)); +} + +void +glade_hdy_preferences_page_remove_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child)); +} + +void +glade_hdy_preferences_page_replace_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *current, + GObject *new_widget) +{ + gint index = glade_hdy_get_child_index (GTK_CONTAINER (object), GTK_WIDGET (current)); + gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (current)); + gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (new_widget)); + glade_hdy_reorder_child (GTK_CONTAINER (object), GTK_WIDGET (new_widget), index); +} + +GList * +glade_hdy_preferences_page_get_children (GladeWidgetAdaptor *adaptor, + GObject *object) +{ + return gtk_container_get_children (GTK_CONTAINER (object)); +} + +void +glade_hdy_preferences_page_action_activate (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *action_path) +{ + GladeWidget *parent = glade_widget_get_from_gobject (object); + + if (!g_strcmp0 (action_path, "add_group")) { + g_autofree gchar *title = get_unused_title (GTK_CONTAINER (object)); + GladeWidget *gchild; + + glade_command_push_group (_("Add group to %s"), + glade_widget_get_name (parent)); + + gchild = glade_command_create (glade_widget_adaptor_get_by_type (HDY_TYPE_PREFERENCES_GROUP), + parent, + NULL, + glade_widget_get_project (parent)); + + glade_widget_property_set (gchild, "title", title); + + glade_command_pop_group (); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->action_activate (adaptor, + object, + action_path); + } +} + +void +glade_hdy_preferences_page_child_set_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + const GValue *value) +{ + if (!g_strcmp0 (property_name, "position")) { + GtkWidget *parent = gtk_widget_get_parent (GTK_WIDGET (child)); + + gtk_container_child_set_property (GTK_CONTAINER (parent), + GTK_WIDGET (child), property_name, value); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->child_set_property (adaptor, + container, + child, + property_name, + value); + } +} + +void +glade_hdy_preferences_page_child_get_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value) +{ + if (!g_strcmp0 (property_name, "position")) { + GtkWidget *parent = gtk_widget_get_parent (GTK_WIDGET (child)); + + gtk_container_child_get_property (GTK_CONTAINER (parent), + GTK_WIDGET (child), property_name, value); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->child_get_property (adaptor, + container, + child, + property_name, + value); + } +} diff --git a/subprojects/libhandy/glade/glade-hdy-preferences-page.h b/subprojects/libhandy/glade/glade-hdy-preferences-page.h new file mode 100644 index 00000000..2fd3f880 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-preferences-page.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#include + +#include + +void glade_hdy_preferences_page_post_create (GladeWidgetAdaptor *adaptor, + GObject *container, + GladeCreateReason reason); + +gboolean glade_hdy_preferences_page_add_verify (GladeWidgetAdaptor *adaptor, + GtkWidget *object, + GtkWidget *child, + gboolean user_feedback); + +void glade_hdy_preferences_page_add_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child); +void glade_hdy_preferences_page_remove_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child); +void glade_hdy_preferences_page_replace_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *current, + GObject *new_widget); + +GList *glade_hdy_preferences_page_get_children (GladeWidgetAdaptor *adaptor, + GObject *object); + +void glade_hdy_preferences_page_action_activate (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *action_path); + +void glade_hdy_preferences_page_child_set_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + const GValue *value); + +void glade_hdy_preferences_page_child_get_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value); diff --git a/subprojects/libhandy/glade/glade-hdy-preferences-window.c b/subprojects/libhandy/glade/glade-hdy-preferences-window.c new file mode 100644 index 00000000..adc7dea6 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-preferences-window.c @@ -0,0 +1,286 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + * + * Based on + * glade-gtk-stack.c - GladeWidgetAdaptor for GtkStack + * Copyright (C) 2014 Red Hat, Inc. + */ + +#include +#include + +#include "glade-hdy-preferences-window.h" + +#include +#include "glade-hdy-utils.h" + +static void +selection_changed_cb (GladeProject *project, + GladeWidget *gwidget) +{ + GList *list; + GtkWidget *page, *sel_widget; + GtkContainer *container = GTK_CONTAINER (glade_widget_get_object (gwidget)); + gint index; + + if ((list = glade_project_selection_get (project)) != NULL && + g_list_length (list) == 1) { + sel_widget = list->data; + + if (GTK_IS_WIDGET (sel_widget) && + gtk_widget_is_ancestor (sel_widget, GTK_WIDGET (container))) { + g_autoptr (GList) children = gtk_container_get_children (container); + GList *l; + + index = 0; + for (l = children; l; l = l->next) { + page = l->data; + if (sel_widget == page || + gtk_widget_is_ancestor (sel_widget, page)) { + GtkWidget *parent = gtk_widget_get_parent (page); + + g_object_set (parent, "visible-child", page, NULL); + + break; + } + + index++; + } + } + } +} + +static void +project_changed_cb (GladeWidget *gwidget, + GParamSpec *pspec, + gpointer userdata) +{ + GladeProject *project = glade_widget_get_project (gwidget); + GladeProject *old_project = g_object_get_data (G_OBJECT (gwidget), + "project-ptr"); + + if (old_project) + g_signal_handlers_disconnect_by_func (G_OBJECT (old_project), + G_CALLBACK (selection_changed_cb), + gwidget); + + if (project) + g_signal_connect (G_OBJECT (project), + "selection-changed", + G_CALLBACK (selection_changed_cb), + gwidget); + + g_object_set_data (G_OBJECT (gwidget), "project-ptr", project); +} + +static GtkWidget * +get_child_by_title (GtkContainer *container, + const gchar *title) +{ + g_autoptr (GList) children = gtk_container_get_children (container); + GList *l; + + for (l = children; l; l = l->next) { + const gchar *child_title; + + g_assert (HDY_IS_PREFERENCES_PAGE (l->data)); + + child_title = hdy_preferences_page_get_title (HDY_PREFERENCES_PAGE (l->data)); + + if (child_title && !strcmp (child_title, title)) + return l->data; + } + + return NULL; +} + +static gchar * +get_unused_title (GtkContainer *container) +{ + gint i = 1; + + while (TRUE) { + g_autofree gchar *title = g_strdup_printf ("Page %d", i); + + if (get_child_by_title (container, title) == NULL) + return g_steal_pointer (&title); + + i++; + } + + return NULL; +} + +static void +add_page (GladeWidgetAdaptor *adaptor, + GObject *container) +{ + GladeWidget *gwidget = glade_widget_get_from_gobject (container); + GladeWidget *gpage; + GladeWidgetAdaptor *page_adaptor; + g_autofree gchar *title = get_unused_title (GTK_CONTAINER (container)); + + page_adaptor = glade_widget_adaptor_get_by_type (HDY_TYPE_PREFERENCES_PAGE); + + gpage = glade_widget_adaptor_create_widget (page_adaptor, FALSE, + "parent", gwidget, + "project", glade_widget_get_project (gwidget), + NULL); + + glade_widget_property_set (gpage, "title", title); + + glade_widget_add_child (gwidget, gpage, FALSE); +} + +void +glade_hdy_preferences_window_post_create (GladeWidgetAdaptor *adaptor, + GObject *container, + GladeCreateReason reason) +{ + GladeWidget *gwidget = glade_widget_get_from_gobject (container); + + if (reason == GLADE_CREATE_USER) { + add_page (adaptor, container); + add_page (adaptor, container); + add_page (adaptor, container); + } + + g_signal_connect (G_OBJECT (gwidget), + "notify::project", + G_CALLBACK (project_changed_cb), + NULL); + + project_changed_cb (gwidget, NULL, NULL); +} + +gboolean +glade_hdy_preferences_window_add_verify (GladeWidgetAdaptor *adaptor, + GtkWidget *object, + GtkWidget *child, + gboolean user_feedback) +{ + if (!HDY_IS_PREFERENCES_PAGE (child)) { + if (user_feedback) { + GladeWidgetAdaptor *page_adaptor = + glade_widget_adaptor_get_by_type (HDY_TYPE_PREFERENCES_PAGE); + + glade_util_ui_message (glade_app_get_window (), + GLADE_UI_INFO, NULL, + ONLY_THIS_GOES_IN_THAT_MSG, + glade_widget_adaptor_get_title (page_adaptor), + glade_widget_adaptor_get_title (adaptor)); + } + + return FALSE; + } + + return TRUE; +} + +void +glade_hdy_preferences_window_add_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child)); +} + +void +glade_hdy_preferences_window_remove_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child)); +} + +void +glade_hdy_preferences_window_replace_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *current, + GObject *new_widget) +{ + gint index = glade_hdy_get_child_index (GTK_CONTAINER (object), GTK_WIDGET (current)); + gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (current)); + gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (new_widget)); + glade_hdy_reorder_child (GTK_CONTAINER (object), GTK_WIDGET (new_widget), index); +} + +GList * +glade_hdy_preferences_window_get_children (GladeWidgetAdaptor *adaptor, + GObject *object) +{ + return gtk_container_get_children (GTK_CONTAINER (object)); +} + +void +glade_hdy_preferences_window_action_activate (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *action_path) +{ + GladeWidget *parent = glade_widget_get_from_gobject (object); + + if (!g_strcmp0 (action_path, "add_page")) { + g_autofree gchar *title = get_unused_title (GTK_CONTAINER (object)); + GladeWidget *gchild; + + glade_command_push_group (_("Add page to %s"), + glade_widget_get_name (parent)); + + gchild = glade_command_create (glade_widget_adaptor_get_by_type (HDY_TYPE_PREFERENCES_PAGE), + parent, + NULL, + glade_widget_get_project (parent)); + + glade_widget_property_set (gchild, "title", title); + + glade_command_pop_group (); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->action_activate (adaptor, + object, + action_path); + } +} + +void +glade_hdy_preferences_window_child_set_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + const GValue *value) +{ + if (!g_strcmp0 (property_name, "position")) { + GtkWidget *parent = gtk_widget_get_parent (GTK_WIDGET (child)); + + gtk_container_child_set_property (GTK_CONTAINER (parent), + GTK_WIDGET (child), property_name, value); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->child_set_property (adaptor, + container, + child, + property_name, + value); + } +} + +void +glade_hdy_preferences_window_child_get_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value) +{ + if (!g_strcmp0 (property_name, "position")) { + GtkWidget *parent = gtk_widget_get_parent (GTK_WIDGET (child)); + + gtk_container_child_get_property (GTK_CONTAINER (parent), + GTK_WIDGET (child), property_name, value); + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (GTK_TYPE_CONTAINER)->child_get_property (adaptor, + container, + child, + property_name, + value); + } +} diff --git a/subprojects/libhandy/glade/glade-hdy-preferences-window.h b/subprojects/libhandy/glade/glade-hdy-preferences-window.h new file mode 100644 index 00000000..e4f1f37b --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-preferences-window.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#include + +#include + +void glade_hdy_preferences_window_post_create (GladeWidgetAdaptor *adaptor, + GObject *container, + GladeCreateReason reason); + +gboolean glade_hdy_preferences_window_add_verify (GladeWidgetAdaptor *adaptor, + GtkWidget *object, + GtkWidget *child, + gboolean user_feedback); + +void glade_hdy_preferences_window_add_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child); +void glade_hdy_preferences_window_remove_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child); +void glade_hdy_preferences_window_replace_child (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *current, + GObject *new_widget); + +GList *glade_hdy_preferences_window_get_children (GladeWidgetAdaptor *adaptor, + GObject *object); + +void glade_hdy_preferences_window_action_activate (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *action_path); + +void glade_hdy_preferences_window_child_set_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + const GValue *value); + +void glade_hdy_preferences_window_child_get_property (GladeWidgetAdaptor *adaptor, + GObject *container, + GObject *child, + const gchar *property_name, + GValue *value); diff --git a/subprojects/libhandy/glade/glade-hdy-search-bar.c b/subprojects/libhandy/glade/glade-hdy-search-bar.c new file mode 100644 index 00000000..c13f1ebf --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-search-bar.c @@ -0,0 +1,107 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + * + * Based on + * glade-gtk-searchbar.c - GladeWidgetAdaptor for GtkSearchBar + * Copyright (C) 2014 Red Hat, Inc. + */ + +#include +#include + +#include "glade-hdy-search-bar.h" + +#include + +void +glade_hdy_search_bar_post_create (GladeWidgetAdaptor *adaptor, + GObject *widget, + GladeCreateReason reason) +{ + if (reason == GLADE_CREATE_USER) { + GtkWidget *child = glade_placeholder_new (); + gtk_container_add (GTK_CONTAINER (widget), child); + g_object_set_data (G_OBJECT (widget), "child", child); + } + + hdy_search_bar_set_search_mode (HDY_SEARCH_BAR (widget), TRUE); + hdy_search_bar_set_show_close_button (HDY_SEARCH_BAR (widget), FALSE); +} + +void +glade_hdy_search_bar_add_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + GObject *current = g_object_get_data (G_OBJECT (object), "child"); + + if (current) + gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (GTK_WIDGET (current))), + GTK_WIDGET (current)); + + gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child)); + g_object_set_data (G_OBJECT (object), "child", child); +} + +void +glade_hdy_search_bar_remove_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + GObject *current = g_object_get_data (G_OBJECT (object), "child"); + GtkWidget *new_child; + + if (current != child) + return; + + gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (GTK_WIDGET (child))), GTK_WIDGET (child)); + new_child = glade_placeholder_new (); + gtk_container_add (GTK_CONTAINER (object), new_child); + g_object_set_data (G_OBJECT (object), "child", new_child); +} + +void +glade_hdy_search_bar_replace_child (GladeWidgetAdaptor *adaptor, + GtkWidget *container, + GtkWidget *current, + GtkWidget *new_widget) +{ + if (current != (GtkWidget *) g_object_get_data (G_OBJECT (container), "child")) + return; + + gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (GTK_WIDGET (current))), + GTK_WIDGET (current)); + gtk_container_add (GTK_CONTAINER (container), new_widget); + g_object_set_data (G_OBJECT (container), "child", new_widget); +} + +GList * +glade_hdy_search_bar_get_children (GladeWidgetAdaptor *adaptor, + GObject *widget) +{ + GObject *current = g_object_get_data (G_OBJECT (widget), "child"); + + return g_list_append (NULL, current); +} + +gboolean +glade_hdy_search_bar_add_verify (GladeWidgetAdaptor *adaptor, + GtkWidget *container, + GtkWidget *child, + gboolean user_feedback) +{ + GObject *current = g_object_get_data (G_OBJECT (container), "child"); + + if (!GLADE_IS_PLACEHOLDER (current)) { + if (user_feedback) + glade_util_ui_message (glade_app_get_window (), + GLADE_UI_INFO, NULL, + _("Search bar is already full")); + + return FALSE; + } + + return TRUE; +} diff --git a/subprojects/libhandy/glade/glade-hdy-search-bar.h b/subprojects/libhandy/glade/glade-hdy-search-bar.h new file mode 100644 index 00000000..05306b88 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-search-bar.h @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#include + +#include + +void glade_hdy_search_bar_post_create (GladeWidgetAdaptor *adaptor, + GObject *widget, + GladeCreateReason reason); + +void glade_hdy_search_bar_add_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child); +void glade_hdy_search_bar_remove_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child); +void glade_hdy_search_bar_replace_child (GladeWidgetAdaptor *adaptor, + GtkWidget *container, + GtkWidget *current, + GtkWidget *new_widget); + +GList *glade_hdy_search_bar_get_children (GladeWidgetAdaptor *adaptor, + GObject *widget); + +gboolean glade_hdy_search_bar_add_verify (GladeWidgetAdaptor *adaptor, + GtkWidget *container, + GtkWidget *child, + gboolean user_feedback); diff --git a/subprojects/libhandy/glade/glade-hdy-swipe-group.c b/subprojects/libhandy/glade/glade-hdy-swipe-group.c new file mode 100644 index 00000000..22ad7fd9 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-swipe-group.c @@ -0,0 +1,161 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + * + * Based on + * hdy-header-group.c - GladeWidgetAdaptor for HdyHeaderGroup + * Copyright (C) 2018 Purism SPC + * Copyright (C) 2013 Tristan Van Berkom + */ + +#include +#include + +#include "glade-hdy-swipe-group.h" + +#include +#include "glade-hdy-utils.h" + +#define PROP_SWIPEABLES "swipeables" +#define GLADE_TAG_SWIPEGROUP_SWIPEABLES "swipeables" +#define GLADE_TAG_SWIPEGROUP_SWIPEABLE "swipeable" + +static void +glade_hdy_swipe_group_read_widgets (GladeWidget *widget, + GladeXmlNode *node) +{ + GladeXmlNode *widgets_node; + GladeProperty *property; + gchar *string = NULL; + + if ((widgets_node = + glade_xml_search_child (node, GLADE_TAG_SWIPEGROUP_SWIPEABLES)) != NULL) { + GladeXmlNode *n; + + for (n = glade_xml_node_get_children (widgets_node); + n; n = glade_xml_node_next (n)) { + gchar *widget_name, *tmp; + + if (!glade_xml_node_verify (n, GLADE_TAG_SWIPEGROUP_SWIPEABLE)) + continue; + + widget_name = glade_xml_get_property_string_required + (n, GLADE_TAG_NAME, NULL); + + if (string == NULL) { + string = widget_name; + } else if (widget_name != NULL) { + tmp = + g_strdup_printf ("%s%s%s", string, GLADE_PROPERTY_DEF_OBJECT_DELIMITER, + widget_name); + string = (g_free (string), tmp); + g_free (widget_name); + } + } + } + + if (string) { + property = glade_widget_get_property (widget, PROP_SWIPEABLES); + g_assert (property); + + /* we must synchronize this directly after loading this project + * (i.e. lookup the actual objects after they've been parsed and + * are present). + */ + g_object_set_data_full (G_OBJECT (property), + "glade-loaded-object", string, g_free); + } +} + +void +glade_hdy_swipe_group_read_widget (GladeWidgetAdaptor *adaptor, + GladeWidget *widget, + GladeXmlNode *node) +{ + if (!(glade_xml_node_verify_silent (node, GLADE_XML_TAG_WIDGET) || + glade_xml_node_verify_silent (node, GLADE_XML_TAG_TEMPLATE))) + return; + + /* First chain up and read in all the normal properties.. */ + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (G_TYPE_OBJECT)->read_widget (adaptor, widget, node); + + glade_hdy_swipe_group_read_widgets (widget, node); +} + +static void +glade_hdy_swipe_group_write_widgets (GladeWidget *widget, + GladeXmlContext *context, + GladeXmlNode *node) +{ + GladeXmlNode *widgets_node, *widget_node; + GList *widgets = NULL, *list; + GladeWidget *awidget; + + widgets_node = glade_xml_node_new (context, GLADE_TAG_SWIPEGROUP_SWIPEABLES); + + if (glade_widget_property_get (widget, PROP_SWIPEABLES, &widgets)) { + for (list = widgets; list; list = list->next) { + awidget = glade_widget_get_from_gobject (list->data); + widget_node = + glade_xml_node_new (context, GLADE_TAG_SWIPEGROUP_SWIPEABLE); + glade_xml_node_append_child (widgets_node, widget_node); + glade_xml_node_set_property_string (widget_node, GLADE_TAG_NAME, + glade_widget_get_name (awidget)); + } + } + + if (!glade_xml_node_get_children (widgets_node)) + glade_xml_node_delete (widgets_node); + else + glade_xml_node_append_child (node, widgets_node); +} + +void +glade_hdy_swipe_group_write_widget (GladeWidgetAdaptor *adaptor, + GladeWidget *widget, + GladeXmlContext *context, + GladeXmlNode *node) +{ + if (!(glade_xml_node_verify_silent (node, GLADE_XML_TAG_WIDGET) || + glade_xml_node_verify_silent (node, GLADE_XML_TAG_TEMPLATE))) + return; + + /* First chain up and read in all the normal properties.. */ + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (G_TYPE_OBJECT)->write_widget (adaptor, widget, context, node); + + glade_hdy_swipe_group_write_widgets (widget, context, node); +} + +void +glade_hdy_swipe_group_set_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *property_name, + const GValue *value) +{ + if (!strcmp (property_name, PROP_SWIPEABLES)) { + GSList *sg_widgets, *slist; + GList *widgets, *list; + + /* remove old widgets */ + if ((sg_widgets = + hdy_swipe_group_get_swipeables (HDY_SWIPE_GROUP (object))) != NULL) { + /* copy since we are modifying an internal list */ + sg_widgets = g_slist_copy (sg_widgets); + for (slist = sg_widgets; slist; slist = slist->next) + hdy_swipe_group_remove_swipeable (HDY_SWIPE_GROUP (object), + HDY_SWIPEABLE (slist->data)); + g_slist_free (sg_widgets); + } + + /* add new widgets */ + if ((widgets = g_value_get_boxed (value)) != NULL) { + for (list = widgets; list; list = list->next) + hdy_swipe_group_add_swipeable (HDY_SWIPE_GROUP (object), + HDY_SWIPEABLE (list->data)); + } + } else { + GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS (G_TYPE_OBJECT)->set_property (adaptor, object, + property_name, value); + } +} diff --git a/subprojects/libhandy/glade/glade-hdy-swipe-group.h b/subprojects/libhandy/glade/glade-hdy-swipe-group.h new file mode 100644 index 00000000..5f593e5e --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-swipe-group.h @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + * + * Based on + * hdy-header-group.h - GladeWidgetAdaptor for HdyHeaderGroup + * Copyright (C) 2018 Purism SPC + */ + +#pragma once + +#include + +#include + + +void glade_hdy_swipe_group_set_property (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *property_name, + const GValue *value); +void glade_hdy_swipe_group_write_widget (GladeWidgetAdaptor *adaptor, + GladeWidget *widget, + GladeXmlContext *context, + GladeXmlNode *node); +void glade_hdy_swipe_group_read_widget (GladeWidgetAdaptor *adaptor, + GladeWidget *widget, + GladeXmlNode *node); diff --git a/subprojects/libhandy/glade/glade-hdy-utils.c b/subprojects/libhandy/glade/glade-hdy-utils.c new file mode 100644 index 00000000..81b8ae5e --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-utils.c @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include +#include + +#include "glade-hdy-utils.h" + +#include + +void +glade_hdy_init (const gchar *name) +{ + g_assert (strcmp (name, "libhandy") == 0); + + gtk_init (NULL, NULL); + hdy_init (); +} + +/* This function has been copied and modified from: + * glade-gtk-list-box.c - GladeWidgetAdaptor for GtkListBox widget + * + * Copyright (C) 2013 Kalev Lember + * + * Authors: + * Kalev Lember + */ +void +glade_hdy_sync_child_positions (GtkContainer *container) +{ + g_autoptr (GList) children = NULL; + GList *l; + gint position; + static gboolean recursion = FALSE; + + /* Avoid feedback loop */ + if (recursion) + return; + + children = gtk_container_get_children (container); + + position = 0; + for (l = children; l; l = l->next) { + gint old_position; + + glade_widget_pack_property_get (glade_widget_get_from_gobject (l->data), + "position", &old_position); + if (position != old_position) { + /* Update glade with the new value */ + recursion = TRUE; + glade_widget_pack_property_set (glade_widget_get_from_gobject (l->data), + "position", position); + recursion = FALSE; + } + + position++; + } +} + +gint +glade_hdy_get_child_index (GtkContainer *container, + GtkWidget *child) +{ + g_autoptr (GList) children = gtk_container_get_children (container); + + return g_list_index (children, child); +} + +void +glade_hdy_reorder_child (GtkContainer *container, + GtkWidget *child, + gint index) +{ + gint old_index = glade_hdy_get_child_index (container, child); + gint i = 0, n; + g_autoptr (GList) children = NULL; + g_autoptr (GList) removed_children = NULL; + GList *l; + + if (old_index == index) + return; + + gtk_container_remove (container, g_object_ref (child)); + + children = gtk_container_get_children (container); + n = g_list_length (children); + + children = g_list_reverse (children); + l = children; + + if (index > old_index) + n--; + + for (i = n - 1; i >= index; i--) { + GtkWidget *last_child = l->data; + + gtk_container_remove (container, g_object_ref (last_child)); + l = l->next; + + removed_children = g_list_prepend (removed_children, last_child); + } + + removed_children = g_list_prepend (removed_children, child); + + for (l = removed_children; l; l = l->next) { + gtk_container_add (container, l->data); + g_object_unref (l->data); + } +} + +GtkWidget * +glade_hdy_get_nth_child (GtkContainer *container, + gint n) +{ + g_autoptr (GList) children = gtk_container_get_children (container); + + return g_list_nth_data (children, n); +} diff --git a/subprojects/libhandy/glade/glade-hdy-utils.h b/subprojects/libhandy/glade/glade-hdy-utils.h new file mode 100644 index 00000000..2a593d70 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-utils.h @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#include + +#include + +#define ONLY_THIS_GOES_IN_THAT_MSG _("Only objects of type %s can be added to objects of type %s.") + +/* Guess whether we are using a Glade version older than 3.36. + * + * If yes, redefine some symbols which got renamed. + */ +#ifndef GLADE_PROPERTY_DEF_OBJECT_DELIMITER +#define GLADE_PROPERTY_DEF_OBJECT_DELIMITER GPC_OBJECT_DELIMITER +#define glade_widget_action_get_def glade_widget_action_get_class +#endif + +/* + * Another macro got renamed in GladeUI 3.38. For older versions of GladeUI, + * define the new macro as the old one. + */ +#ifndef GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS +#define GLADE_WIDGET_ADAPTOR_GET_ADAPTOR_CLASS GWA_GET_CLASS +#endif + +void glade_hdy_init (const gchar *name); + +void glade_hdy_sync_child_positions (GtkContainer *container); + +gint glade_hdy_get_child_index (GtkContainer *container, + GtkWidget *child); + +void glade_hdy_reorder_child (GtkContainer *container, + GtkWidget *child, + gint index); + +GtkWidget *glade_hdy_get_nth_child (GtkContainer *container, + gint n); diff --git a/subprojects/libhandy/glade/glade-hdy-window.c b/subprojects/libhandy/glade/glade-hdy-window.c new file mode 100644 index 00000000..7832f912 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-window.c @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + * + * Based on + * glade-gtk-searchbar.c - GladeWidgetAdaptor for GtkSearchBar + * Copyright (C) 2014 Red Hat, Inc. + */ + +#include +#include + +#include "glade-hdy-window.h" + +#include + +#define ALREADY_HAS_A_CHILD_MSG _("%s cannot have more than one child.") + +static GtkWidget * +get_child (GtkContainer *window) +{ + g_autoptr (GList) children = gtk_container_get_children (window); + + if (!children) + return NULL; + + return children->data; +} + +void +glade_hdy_window_post_create (GladeWidgetAdaptor *adaptor, + GObject *object, + GladeCreateReason reason) +{ + if (reason != GLADE_CREATE_USER) + return; + + gtk_container_add (GTK_CONTAINER (object), glade_placeholder_new ()); +} + +void +glade_hdy_window_add_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + GtkWidget *window_child = get_child (GTK_CONTAINER (object)); + + if (window_child) { + if (GLADE_IS_PLACEHOLDER (window_child)) { + gtk_container_remove (GTK_CONTAINER (object), window_child); + } else { + g_critical ("Can't add more than one widget to a HdyWindow"); + + return; + } + } + + gtk_container_add (GTK_CONTAINER (object), GTK_WIDGET (child)); +} + +void +glade_hdy_window_remove_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + gtk_container_remove (GTK_CONTAINER (object), GTK_WIDGET (child)); + gtk_container_add (GTK_CONTAINER (object), glade_placeholder_new ()); +} + +void +glade_hdy_window_replace_child (GladeWidgetAdaptor *adaptor, + GtkWidget *object, + GtkWidget *current, + GtkWidget *new_widget) +{ + gtk_container_remove (GTK_CONTAINER (object), current); + gtk_container_add (GTK_CONTAINER (object), new_widget); +} + +GList * +glade_hdy_window_get_children (GladeWidgetAdaptor *adaptor, + GObject *object) +{ + return gtk_container_get_children (GTK_CONTAINER (object)); +} + +gboolean +glade_hdy_window_add_verify (GladeWidgetAdaptor *adaptor, + GtkWidget *object, + GtkWidget *child, + gboolean user_feedback) +{ + GtkWidget *window_child = get_child (GTK_CONTAINER (object)); + + if (window_child && !GLADE_IS_PLACEHOLDER (window_child)) { + if (user_feedback) + glade_util_ui_message (glade_app_get_window (), + GLADE_UI_INFO, NULL, + ALREADY_HAS_A_CHILD_MSG, + glade_widget_adaptor_get_title (adaptor)); + + return FALSE; + } + + return TRUE; +} + diff --git a/subprojects/libhandy/glade/glade-hdy-window.h b/subprojects/libhandy/glade/glade-hdy-window.h new file mode 100644 index 00000000..75f15e42 --- /dev/null +++ b/subprojects/libhandy/glade/glade-hdy-window.h @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#include + +#include + +void glade_hdy_window_post_create (GladeWidgetAdaptor *adaptor, + GObject *object, + GladeCreateReason reason); + +void glade_hdy_window_add_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child); +void glade_hdy_window_remove_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child); +void glade_hdy_window_replace_child (GladeWidgetAdaptor *adaptor, + GtkWidget *object, + GtkWidget *current, + GtkWidget *new_widget); + +GList *glade_hdy_window_get_children (GladeWidgetAdaptor *adaptor, + GObject *object); + +gboolean glade_hdy_window_add_verify (GladeWidgetAdaptor *adaptor, + GtkWidget *object, + GtkWidget *child, + gboolean user_feedback); diff --git a/subprojects/libhandy/glade/libhandy.xml b/subprojects/libhandy/glade/libhandy.xml new file mode 100644 index 00000000..7f601186 --- /dev/null +++ b/subprojects/libhandy/glade/libhandy.xml @@ -0,0 +1,420 @@ + + + glade_hdy_init + + + + + + + + + + + glade_hdy_window_post_create + glade_hdy_window_add_verify + glade_hdy_window_add_child + glade_hdy_window_remove_child + glade_hdy_window_replace_child + glade_hdy_window_get_children + + + + + + + glade_hdy_carousel_post_create + glade_hdy_carousel_add_child + glade_hdy_carousel_remove_child + glade_hdy_carousel_replace_child + glade_hdy_carousel_child_action_activate + glade_hdy_carousel_get_property + glade_hdy_carousel_set_property + glade_hdy_carousel_set_child_property + glade_hdy_carousel_get_child_property + glade_hdy_carousel_verify_property + + + + GParamInt + 0 + + The position of the page in the carousel + + + + + + + + + + + GParamInt + 1 + + The number of pages in the stack + + + + GParamInt + 0 + + Set the currently active page to edit, this property will not be saved + + + + + + + + + + + glade_hdy_leaflet_post_create + glade_hdy_leaflet_add_child + glade_hdy_leaflet_remove_child + glade_hdy_leaflet_replace_child + glade_hdy_leaflet_child_action_activate + glade_hdy_leaflet_get_property + glade_hdy_leaflet_set_property + glade_hdy_leaflet_set_child_property + glade_hdy_leaflet_get_child_property + glade_hdy_leaflet_verify_property + + + + GParamInt + 0 + + The position of the page in the deck + + + + + + + + + + + GParamInt + 1 + + The number of pages in the deck + + + + GParamInt + 0 + + Set the currently active page to edit, this property will not be saved + + + + + + + + + + + + + + + glade_hdy_expander_row_post_create + glade_hdy_expander_row_add_verify + glade_hdy_expander_row_add_child + glade_hdy_expander_row_remove_child + glade_hdy_expander_row_set_child_property + glade_hdy_expander_row_get_child_property + + + + GParamInt + 0 + + The position of the list row in the expander row + + + + + + + + + glade_hdy_header_bar_post_create + glade_hdy_header_bar_add_child + glade_hdy_header_bar_remove_child + glade_hdy_header_bar_replace_child + glade_hdy_header_bar_get_children + glade_hdy_header_bar_child_action_activate + glade_hdy_header_bar_get_property + glade_hdy_header_bar_set_property + glade_hdy_header_bar_child_set_property + glade_hdy_header_bar_action_activate + glade_hdy_header_bar_verify_property + type + + + + + + + + + + + Keep the headerbar height the same as the subtitle changes dynamically. + + + + + + + + + GParamBoolean + + + + + GParamInt + 0 + + The number of items in the header bar + + + + + + + + + + + + + + + + glade_hdy_header_group_read_widget + glade_hdy_header_group_write_widget + glade_hdy_header_group_set_property + + + + GladeParamObjects + HdyHeaderBar + + List of headerbars in this group + + + + + + glade_hdy_leaflet_post_create + glade_hdy_leaflet_add_child + glade_hdy_leaflet_remove_child + glade_hdy_leaflet_replace_child + glade_hdy_leaflet_child_action_activate + glade_hdy_leaflet_get_property + glade_hdy_leaflet_set_property + glade_hdy_leaflet_set_child_property + glade_hdy_leaflet_get_child_property + glade_hdy_leaflet_verify_property + + + + GParamInt + 0 + + The position of the page in the leaflet + + + + + + + + + + + GParamInt + 1 + + The number of pages in the leaflet + + + + GParamInt + 0 + + Set the currently active page to edit, this property will not be saved + + + + + + + + + + + + + + + + + + + + + glade_hdy_preferences_page_post_create + glade_hdy_preferences_page_add_verify + glade_hdy_preferences_page_add_child + glade_hdy_preferences_page_remove_child + glade_hdy_preferences_page_replace_child + glade_hdy_preferences_page_get_children + glade_hdy_preferences_page_child_set_property + glade_hdy_preferences_page_child_get_property + glade_hdy_preferences_page_action_activate + + + + GParamInt + -1 + + The position of the group in the preferences page + + + + + + + + + + + + + glade_hdy_preferences_window_post_create + glade_hdy_preferences_window_add_verify + glade_hdy_preferences_window_add_child + glade_hdy_preferences_window_remove_child + glade_hdy_preferences_window_replace_child + glade_hdy_preferences_window_get_children + glade_hdy_preferences_window_child_set_property + glade_hdy_preferences_window_child_get_property + glade_hdy_preferences_window_action_activate + + + + GParamInt + -1 + + The position of the page in the preferences window + + + + + + + + + + + glade_hdy_search_bar_post_create + glade_hdy_search_bar_add_verify + glade_hdy_search_bar_add_child + glade_hdy_search_bar_remove_child + glade_hdy_search_bar_replace_child + glade_hdy_search_bar_get_children + + + + + + + + glade_hdy_swipe_group_read_widget + glade_hdy_swipe_group_write_widget + glade_hdy_swipe_group_set_property + + + + GladeParamObjects + HdySwipeable + + List of widgets in this group + + + + + + + + + + + + + + + + + + + + + + glade_hdy_window_post_create + glade_hdy_window_add_verify + glade_hdy_window_add_child + glade_hdy_window_remove_child + glade_hdy_window_replace_child + glade_hdy_window_get_children + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/subprojects/libhandy/glade/meson.build b/subprojects/libhandy/glade/meson.build new file mode 100644 index 00000000..cba9a364 --- /dev/null +++ b/subprojects/libhandy/glade/meson.build @@ -0,0 +1,59 @@ +if glade_catalog + +glade_xml = 'libhandy.xml' +module_dir = gladeui_dep.get_pkgconfig_variable('moduledir', + define_variable: ['libdir', get_option('libdir')]) +dtd = meson.current_source_dir() / 'glade-catalog.dtd' +glade_catalogdir = gladeui_dep.get_pkgconfig_variable('catalogdir', + define_variable: ['datadir', get_option('datadir')]) + +libglade_hdy_sources = [ + 'glade-hdy-carousel.c', + 'glade-hdy-expander-row.c', + 'glade-hdy-header-bar.c', + 'glade-hdy-header-group.c', + 'glade-hdy-leaflet.c', + 'glade-hdy-preferences-page.c', + 'glade-hdy-preferences-window.c', + 'glade-hdy-search-bar.c', + 'glade-hdy-swipe-group.c', + 'glade-hdy-window.c', + 'glade-hdy-utils.c', +] + +libglade_hdy_deps = [ + libhandy_dep, + gladeui_dep, +] + +libglade_hdy_args = [] +# Our custom glade module +libglade_hdy = shared_library( + 'glade-handy-' + apiversion, + libglade_hdy_sources, + c_args: libglade_hdy_args, + dependencies: libglade_hdy_deps, + include_directories: [ root_inc, src_inc ], + install: true, + install_dir: module_dir, +) + +# Validate glade catalog +xmllint = find_program('xmllint', required: true) +if xmllint.found() + custom_target( + 'xmllint', + build_by_default: true, + input: glade_xml, + output: 'doesnotexist', + command: [xmllint, '--dtdvalid', dtd, '--noout', '@INPUT@'], + ) +endif + +# Install glade catalog +install_data( + glade_xml, + rename: 'libhandy-@0@.xml'.format(apiversion), + install_dir: glade_catalogdir) + +endif diff --git a/subprojects/libhandy/glade/rename-id.patch b/subprojects/libhandy/glade/rename-id.patch new file mode 100644 index 00000000..0dc3ab1a --- /dev/null +++ b/subprojects/libhandy/glade/rename-id.patch @@ -0,0 +1,28 @@ +From f4711b392e26d36266a88df4371230418e24cfc9 Mon Sep 17 00:00:00 2001 +From: Adrien Plazas +Date: Mon, 11 May 2020 10:45:17 +0200 +Subject: [PATCH] Rename the ID to sm.puri.Handy.Glade + +Make the GtkApplication ID match the Flatpak ID, which is required for +the app to start. + +--- + src/main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/main.c b/src/main.c +index 8a81771f..7a505255 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -161,7 +161,7 @@ main (int argc, char *argv[]) + return -1; + } + +- app = gtk_application_new ("org.gnome.Glade", G_APPLICATION_HANDLES_OPEN); ++ app = gtk_application_new ("sm.puri.Handy.Glade", G_APPLICATION_HANDLES_OPEN); + + g_application_set_option_context_summary (G_APPLICATION (app), + N_("Create or edit user interface designs for GTK+ or GNOME applications.")); +-- +2.26.0 + diff --git a/subprojects/libhandy/glade/sm.puri.Handy.Glade.json b/subprojects/libhandy/glade/sm.puri.Handy.Glade.json new file mode 100644 index 00000000..ef734582 --- /dev/null +++ b/subprojects/libhandy/glade/sm.puri.Handy.Glade.json @@ -0,0 +1,83 @@ +{ + "app-id" : "sm.puri.Handy.Glade", + "runtime" : "org.gnome.Platform", + "runtime-version" : "master", + "sdk" : "org.gnome.Sdk", + "command" : "glade", + "rename-desktop-file" : "org.gnome.Glade.desktop", + "rename-appdata-file" : "org.gnome.Glade.appdata.xml", + "rename-icon" : "org.gnome.Glade", + "copy-icon" : true, + "desktop-file-name-suffix" : " (Handy Nightly)", + "finish-args" : [ + /* X11 + XShm access */ + "--share=ipc", "--socket=fallback-x11", + /* Wayland access */ + "--socket=wayland", + /* We want full fs access so we can read the files */ + "--filesystem=host", + /* Support GL widgets */ + "--device=dri" + ], + "cleanup" : ["/include", "/lib/pkgconfig", + "/share/pkgconfig", "/share/aclocal", + "/man", "/share/man", "/share/gtk-doc", + "/share/vala", + "*.la", "*.a"], + "modules" : [ + { + "name" : "gnome-common", + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.gnome.org/GNOME/gnome-common.git" + } + ] + }, + { + "name" : "intltool", + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.gnome.org/World/intltool.git" + } + ] + }, + { + "name" : "glade", + "config-opts": [ + "--disable-man-pages", + "--disable-introspection" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.gnome.org/GNOME/glade.git", + "tag" : "GLADE_3_36_0" + }, + { + "type" : "patch", + "path" : "rename-id.patch" + } + ] + }, + { + "name" : "libhandy", + "buildsystem" : "meson", + "builddir" : true, + "config-opts" : [ + "-Dexamples=false", + "-Dglade_catalog=enabled", + "-Dintrospection=disabled", + "-Dtests=false", + "-Dvapi=false" + ], + "sources" : [ + { + "type" : "git", + "url" : "https://gitlab.gnome.org/GNOME/libhandy.git" + } + ] + } + ] +} diff --git a/subprojects/libhandy/libhandy.doap b/subprojects/libhandy/libhandy.doap new file mode 100644 index 00000000..d5bb1e8c --- /dev/null +++ b/subprojects/libhandy/libhandy.doap @@ -0,0 +1,37 @@ + + + + libhandy + libhandy + Building blocks for modern adaptive GNOME apps + + libhandy is a collection of GTK widgets for adaptive applications targeting + form-factors from mobile to desktop. + It also offers innovative widgets following the GNOME design guidelines. + + + + + C + + + + Guido Günther + + guidog + + + + + Adrien Plazas + + aplazas + + + + + diff --git a/subprojects/libhandy/libhandy.syms b/subprojects/libhandy/libhandy.syms new file mode 100644 index 00000000..64dafcb3 --- /dev/null +++ b/subprojects/libhandy/libhandy.syms @@ -0,0 +1,6 @@ +LIBHANDY_1_0 { + global: + hdy_*; + local: + *; +}; diff --git a/subprojects/libhandy/lint/api-visibility.sh b/subprojects/libhandy/lint/api-visibility.sh new file mode 100755 index 00000000..ce8e7f58 --- /dev/null +++ b/subprojects/libhandy/lint/api-visibility.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# Check that private headers aren't included in public ones. +if grep "include.*private.h" $(ls src/*.h | grep -v "private.h"); +then + echo "Private headers shouldn't be included in public ones." + exit 1 +fi + +# Check that handy.h contains all the public headers. +for header in $(ls src | grep "\.h$" | grep -v "private.h" | grep -v handy.h); +do + if ! grep -q "$(basename $header)" src/handy.h; + then + echo "The public header" $(basename $header) "should be included in handy.h." + exit 1 + fi +done diff --git a/subprojects/libhandy/meson.build b/subprojects/libhandy/meson.build new file mode 100644 index 00000000..9f1d3013 --- /dev/null +++ b/subprojects/libhandy/meson.build @@ -0,0 +1,156 @@ +project('libhandy', 'c', + version: '1.0.1', + license: 'LGPL-2.1+', + meson_version: '>= 0.49.0', + default_options: [ 'warning_level=1', 'buildtype=debugoptimized', 'c_std=gnu11' ], +) + +version_arr = meson.project_version().split('.') +handy_version_major = version_arr[0].to_int() +handy_version_minor = version_arr[1].to_int() +handy_version_micro = version_arr[2].to_int() + +# The major api version as encoded in the libraries name +apiversion = '1' +# The so major version of the library +soversion = 0 +package_api_name = '@0@-@1@'.format(meson.project_name(), apiversion) + +if handy_version_minor.is_odd() + handy_interface_age = 0 +else + handy_interface_age = handy_version_micro +endif + +# maintaining compatibility with libtool versioning +# current = minor * 100 + micro - interface +# revision = interface +current = handy_version_minor * 100 + handy_version_micro - handy_interface_age +revision = handy_interface_age +libversion = '@0@.@1@.@2@'.format(soversion, current, revision) + +add_project_arguments([ + '-DHAVE_CONFIG_H', + '-DHANDY_COMPILATION', + '-I' + meson.build_root(), +], language: 'c') + +root_inc = include_directories('.') +src_inc = include_directories('src') + +cc = meson.get_compiler('c') + +global_c_args = [] +test_c_args = [ + '-Wcast-align', + '-Wdate-time', + '-Wdeclaration-after-statement', + ['-Werror=format-security', '-Werror=format=2'], + '-Wendif-labels', + '-Werror=incompatible-pointer-types', + '-Werror=missing-declarations', + '-Werror=overflow', + '-Werror=return-type', + '-Werror=shift-count-overflow', + '-Werror=shift-overflow=2', + '-Werror=implicit-fallthrough=3', + '-Wformat-nonliteral', + '-Wformat-security', + '-Winit-self', + '-Wmaybe-uninitialized', + '-Wmissing-field-initializers', + '-Wmissing-include-dirs', + '-Wmissing-noreturn', + '-Wnested-externs', + '-Wno-missing-field-initializers', + '-Wno-sign-compare', + '-Wno-strict-aliasing', + '-Wno-unused-parameter', + '-Wold-style-definition', + '-Wpointer-arith', + '-Wredundant-decls', + '-Wshadow', + '-Wstrict-prototypes', + '-Wswitch-default', + '-Wswitch-enum', + '-Wtype-limits', + '-Wundef', + '-Wunused-function', +] + +target_system = target_machine.system() + +if get_option('buildtype') != 'plain' + if target_system == 'windows' + test_c_args += '-fstack-protector' + else + test_c_args += '-fstack-protector-strong' + endif +endif +if get_option('profiling') + test_c_args += '-pg' +endif + +foreach arg: test_c_args + if cc.has_multi_arguments(arg) + global_c_args += arg + endif +endforeach +add_project_arguments( + global_c_args, + language: 'c' +) + +# Setup various paths that subdirectory meson.build files need +package_subdir = get_option('package_subdir') # When used as subproject +datadir = get_option('datadir') / package_subdir +libdir = get_option('libdir') / package_subdir +girdir = get_option('datadir') / package_subdir / 'gir-1.0' +typelibdir = get_option('libdir') / package_subdir / 'girepository-1.0' +if package_subdir != '' + vapidir = get_option('datadir') / package_subdir / 'vapi' +else + vapidir = get_option('datadir') / 'vala' / 'vapi' +endif + +glade_catalog_feature = get_option('glade_catalog') +gladeui_dep = dependency('gladeui-2.0', required : glade_catalog_feature) +glade_catalog = not glade_catalog_feature.disabled() and gladeui_dep.found() + +introspection_feature = get_option('introspection') +introspection = introspection_feature.enabled() or introspection_feature.auto() + +gnome = import('gnome') + +subdir('src') +subdir('po') +subdir('examples') +subdir('tests') +subdir('doc') +subdir('glade') + +run_data = configuration_data() +run_data.set('ABS_BUILDDIR', meson.current_build_dir()) +run_data.set('ABS_SRCDIR', meson.current_source_dir()) +configure_file( + input: 'run.in', + output: 'run', + configuration: run_data) + +summary = [ + '', + '------', + 'Handy @0@ (@1@)'.format(current, apiversion), + '', + ' Tests: @0@'.format(get_option('tests')), + ' Examples: @0@'.format(get_option('examples')), + ' Documentation: @0@'.format(get_option('gtk_doc')), + ' Introspection: @0@'.format(introspection), + ' Vapi: @0@'.format(get_option('vapi')), + ' Glade Catalog: @0@'.format(glade_catalog), + '------', + '' +] + +message('\n'.join(summary)) + diff --git a/subprojects/libhandy/meson_options.txt b/subprojects/libhandy/meson_options.txt new file mode 100644 index 00000000..fd0eea5b --- /dev/null +++ b/subprojects/libhandy/meson_options.txt @@ -0,0 +1,25 @@ +# Performance and debugging related options +option('profiling', type: 'boolean', value: false) + +option('introspection', type: 'feature', value: 'auto') +option('vapi', type: 'boolean', value: true) + +# Subproject +option('package_subdir', type: 'string', + description: 'Subdirectory to append to all installed files, for use as subproject' +) + +option('gtk_doc', + type: 'boolean', value: false, + description: 'Whether to generate the API reference for Handy') + +option('tests', + type: 'boolean', value: true, + description: 'Whether to compile unit tests') + +option('examples', + type: 'boolean', value: true, + description: 'Build and install the examples and demo applications') + +option('glade_catalog', type: 'feature', value: 'auto', + description: 'Install a glade catalog file') diff --git a/subprojects/libhandy/po/LINGUAS b/subprojects/libhandy/po/LINGUAS new file mode 100644 index 00000000..da7a148e --- /dev/null +++ b/subprojects/libhandy/po/LINGUAS @@ -0,0 +1,11 @@ +en_GB +es +eu +fr +fur +id +pl +pt_BR +ro +sl +uk diff --git a/subprojects/libhandy/po/POTFILES.in b/subprojects/libhandy/po/POTFILES.in new file mode 100644 index 00000000..b8dd5d51 --- /dev/null +++ b/subprojects/libhandy/po/POTFILES.in @@ -0,0 +1,40 @@ +# List of source files containing translatable strings. +# Please keep this file sorted alphabetically. +glade/glade-hdy-carousel.c +glade/glade-hdy-header-bar.c +glade/glade-hdy-leaflet.c +glade/glade-hdy-preferences-page.c +glade/glade-hdy-preferences-window.c +glade/glade-hdy-search-bar.c +glade/glade-hdy-utils.h +src/hdy-action-row.c +src/hdy-carousel-box.c +src/hdy-carousel.c +src/hdy-carousel-indicator-dots.c +src/hdy-carousel-indicator-lines.c +src/hdy-clamp.c +src/hdy-combo-row.c +src/hdy-deck.c +src/hdy-expander-row.c +src/hdy-header-bar.c +src/hdy-header-group.c +src/hdy-keypad-button.c +src/hdy-keypad.c +src/hdy-leaflet.c +src/hdy-preferences-group.c +src/hdy-preferences-page.c +src/hdy-preferences-row.c +src/hdy-preferences-window.c +src/hdy-preferences-window.ui +src/hdy-search-bar.c +src/hdy-shadow-helper.c +src/hdy-squeezer.c +src/hdy-stackable-box.c +src/hdy-swipe-tracker.c +src/hdy-title-bar.c +src/hdy-value-object.c +src/hdy-view-switcher-bar.c +src/hdy-view-switcher-button.c +src/hdy-view-switcher.c +src/hdy-view-switcher-title.c +src/hdy-window-handle-controller.c diff --git a/subprojects/libhandy/po/POTFILES.skip b/subprojects/libhandy/po/POTFILES.skip new file mode 100644 index 00000000..0c7d9c5d --- /dev/null +++ b/subprojects/libhandy/po/POTFILES.skip @@ -0,0 +1,6 @@ +# List of source files that should *not* be translated. +# Please keep this file sorted alphabetically. +examples/hdy-demo-preferences-window.ui +examples/hdy-demo-window.c +examples/hdy-demo-window.ui +examples/hdy-view-switcher-demo-window.ui diff --git a/subprojects/libhandy/po/en_GB.po b/subprojects/libhandy/po/en_GB.po new file mode 100644 index 00000000..d4bd6abd --- /dev/null +++ b/subprojects/libhandy/po/en_GB.po @@ -0,0 +1,866 @@ +# British English translation for libhandy. +# Copyright (C) 2020 libhandy's COPYRIGHT HOLDER +# This file is distributed under the same license as the libhandy package. +# Zander Brown , 2020. +# Bruce Cowan , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: libhandy master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libhandy/issues\n" +"POT-Creation-Date: 2020-08-06 15:34+0000\n" +"PO-Revision-Date: 2020-08-06 19:58+0100\n" +"Last-Translator: Bruce Cowan \n" +"Language-Team: English - United Kingdom \n" +"Language: en_GB\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 3.36.0\n" + +#: glade/glade-hdy-carousel.c:160 glade/glade-hdy-header-bar.c:118 +#: glade/glade-hdy-leaflet.c:184 +#, c-format +msgid "Insert placeholder to %s" +msgstr "Insert placeholder to %s" + +#: glade/glade-hdy-carousel.c:189 glade/glade-hdy-header-bar.c:144 +#: glade/glade-hdy-leaflet.c:214 +#, c-format +msgid "Remove placeholder from %s" +msgstr "Remove placeholder from %s" + +#: glade/glade-hdy-header-bar.c:18 +msgid "This property does not apply when a custom title is set" +msgstr "This property does not apply when a custom title is set" + +#: glade/glade-hdy-header-bar.c:289 +msgid "" +"The decoration layout does not apply to header bars which do no show window " +"controls" +msgstr "" +"The decoration layout does not apply to header bars which do no show window " +"controls" + +#: glade/glade-hdy-leaflet.c:19 +msgid "This property only applies when the leaflet is folded" +msgstr "This property only applies when the leaflet is folded" + +#: glade/glade-hdy-preferences-page.c:160 +#, c-format +msgid "Add group to %s" +msgstr "Add group to %s" + +#: glade/glade-hdy-preferences-window.c:228 +#, c-format +msgid "Add page to %s" +msgstr "Add page to %s" + +#: glade/glade-hdy-search-bar.c:101 +msgid "Search bar is already full" +msgstr "Search bar is already full" + +#: glade/glade-hdy-utils.h:14 +#, c-format +msgid "Only objects of type %s can be added to objects of type %s." +msgstr "Only objects of type %s can be added to objects of type %s." + +#: src/hdy-action-row.c:354 src/hdy-action-row.c:355 src/hdy-expander-row.c:314 +#: src/hdy-expander-row.c:315 src/hdy-preferences-page.c:179 +#: src/hdy-preferences-page.c:180 +msgid "Icon name" +msgstr "Icon name" + +#: src/hdy-action-row.c:368 +msgid "Activatable widget" +msgstr "Activatable widget" + +#: src/hdy-action-row.c:369 +msgid "The widget to be activated when the row is activated" +msgstr "The widget to be activated when the row is activated" + +#: src/hdy-action-row.c:382 src/hdy-action-row.c:383 src/hdy-expander-row.c:285 +#: src/hdy-header-bar.c:2105 src/hdy-view-switcher-title.c:272 +msgid "Subtitle" +msgstr "Subtitle" + +#: src/hdy-action-row.c:397 src/hdy-expander-row.c:300 +#: src/hdy-preferences-row.c:130 +msgid "Use underline" +msgstr "Use underline" + +#: src/hdy-action-row.c:398 src/hdy-expander-row.c:301 +#: src/hdy-preferences-row.c:131 +msgid "" +"If set, an underline in the text indicates the next character should be used " +"for the mnemonic accelerator key" +msgstr "" +"If set, an underline in the text indicates the next character should be used " +"for the mnemonic accelerator key" + +#: src/hdy-carousel-box.c:1088 src/hdy-carousel-box.c:1089 +#: src/hdy-carousel.c:575 src/hdy-carousel.c:576 +msgid "Number of pages" +msgstr "Number of pages" + +#: src/hdy-carousel-box.c:1104 src/hdy-carousel.c:592 src/hdy-header-bar.c:2091 +msgid "Position" +msgstr "Position" + +#: src/hdy-carousel-box.c:1105 src/hdy-carousel.c:593 +msgid "Current scrolling position" +msgstr "Current scrolling position" + +#: src/hdy-carousel-box.c:1120 src/hdy-carousel.c:623 src/hdy-header-bar.c:2119 +msgid "Spacing" +msgstr "Spacing" + +#: src/hdy-carousel-box.c:1121 src/hdy-carousel.c:624 +msgid "Spacing between pages" +msgstr "Spacing between pages" + +#: src/hdy-carousel-box.c:1137 src/hdy-carousel.c:668 +msgid "Reveal duration" +msgstr "Reveal duration" + +#: src/hdy-carousel-box.c:1138 src/hdy-carousel.c:669 +msgid "Page reveal duration" +msgstr "Page reveal duration" + +#: src/hdy-carousel.c:609 +msgid "Interactive" +msgstr "Interactive" + +#: src/hdy-carousel.c:610 +msgid "Whether the widget can be swiped" +msgstr "Whether the widget can be swiped" + +#: src/hdy-carousel.c:639 +msgid "Animation duration" +msgstr "Animation duration" + +#: src/hdy-carousel.c:640 +msgid "Default animation duration" +msgstr "Default animation duration" + +#: src/hdy-carousel.c:654 src/hdy-swipe-tracker.c:803 +msgid "Allow mouse drag" +msgstr "Allow mouse drag" + +#: src/hdy-carousel.c:655 src/hdy-swipe-tracker.c:804 +msgid "Whether to allow dragging with mouse pointer" +msgstr "Whether to allow dragging with mouse pointer" + +#: src/hdy-carousel-indicator-dots.c:392 src/hdy-carousel-indicator-dots.c:393 +#: src/hdy-carousel-indicator-lines.c:391 +#: src/hdy-carousel-indicator-lines.c:392 +msgid "Carousel" +msgstr "Carousel" + +#: src/hdy-clamp.c:417 +msgid "Maximum size" +msgstr "Maximum size" + +#: src/hdy-clamp.c:418 +msgid "The maximum size allocated to the child" +msgstr "The maximum size allocated to the child" + +#: src/hdy-clamp.c:442 +msgid "Tightening threshold" +msgstr "Tightening threshold" + +#: src/hdy-clamp.c:443 +msgid "The size from which the clamp will tighten its grip on the child" +msgstr "The size from which the clamp will tighten its grip on the child" + +#: src/hdy-combo-row.c:411 +msgid "Selected index" +msgstr "Selected index" + +#: src/hdy-combo-row.c:412 +msgid "The index of the selected item" +msgstr "The index of the selected item" + +#: src/hdy-combo-row.c:430 +msgid "Use subtitle" +msgstr "Use subtitle" + +#: src/hdy-combo-row.c:431 +msgid "Set the current value as the subtitle" +msgstr "Set the current value as the subtitle" + +#: src/hdy-deck.c:888 +msgid "Horizontally homogeneous" +msgstr "Horizontally homogeneous" + +#: src/hdy-deck.c:889 +msgid "Horizontally homogeneous sizing" +msgstr "Horizontally homogeneous sizing" + +#: src/hdy-deck.c:902 +msgid "Vertically homogeneous" +msgstr "Vertically homogeneous" + +#: src/hdy-deck.c:903 +msgid "Vertically homogeneous sizing" +msgstr "Vertically homogeneous sizing" + +#: src/hdy-deck.c:916 src/hdy-leaflet.c:1018 src/hdy-squeezer.c:1098 +#: src/hdy-stackable-box.c:2993 +msgid "Visible child" +msgstr "Visible child" + +#: src/hdy-deck.c:917 +msgid "The widget currently visible" +msgstr "The widget currently visible" + +#: src/hdy-deck.c:930 src/hdy-leaflet.c:1025 src/hdy-stackable-box.c:3000 +msgid "Name of visible child" +msgstr "Name of visible child" + +#: src/hdy-deck.c:931 +msgid "The name of the widget currently visible" +msgstr "The name of the widget currently visible" + +#: src/hdy-deck.c:949 src/hdy-leaflet.c:1044 src/hdy-squeezer.c:1112 +#: src/hdy-stackable-box.c:3019 +msgid "Transition type" +msgstr "Transition type" + +#: src/hdy-deck.c:950 +msgid "The type of animation used to transition between children" +msgstr "The type of animation used to transition between children" + +#: src/hdy-deck.c:963 src/hdy-header-bar.c:2201 src/hdy-squeezer.c:1105 +msgid "Transition duration" +msgstr "Transition duration" + +#: src/hdy-deck.c:964 +msgid "The transition animation duration, in milliseconds" +msgstr "The transition animation duration, in milliseconds" + +#: src/hdy-deck.c:977 src/hdy-header-bar.c:2208 src/hdy-squeezer.c:1120 +msgid "Transition running" +msgstr "Transition running" + +#: src/hdy-deck.c:978 src/hdy-header-bar.c:2209 src/hdy-squeezer.c:1121 +msgid "Whether or not the transition is currently running" +msgstr "Whether or not the transition is currently running" + +#: src/hdy-deck.c:992 src/hdy-header-bar.c:2215 src/hdy-leaflet.c:1072 +#: src/hdy-squeezer.c:1127 src/hdy-stackable-box.c:3047 +msgid "Interpolate size" +msgstr "Interpolate size" + +#: src/hdy-deck.c:993 src/hdy-header-bar.c:2216 src/hdy-leaflet.c:1073 +#: src/hdy-squeezer.c:1128 src/hdy-stackable-box.c:3048 +msgid "" +"Whether or not the size should smoothly change when changing between " +"differently sized children" +msgstr "" +"Whether or not the size should smoothly change when changing between " +"differently sized children" + +#: src/hdy-deck.c:1007 src/hdy-leaflet.c:1087 src/hdy-preferences-window.c:497 +#: src/hdy-stackable-box.c:3062 +msgid "Can swipe back" +msgstr "Can swipe back" + +#: src/hdy-deck.c:1008 src/hdy-leaflet.c:1088 src/hdy-stackable-box.c:3063 +msgid "" +"Whether or not swipe gesture can be used to switch to the previous child" +msgstr "" +"Whether or not swipe gesture can be used to switch to the previous child" + +#: src/hdy-deck.c:1022 src/hdy-leaflet.c:1102 src/hdy-stackable-box.c:3077 +msgid "Can swipe forward" +msgstr "Can swipe forward" + +#: src/hdy-deck.c:1023 src/hdy-leaflet.c:1103 src/hdy-stackable-box.c:3078 +msgid "Whether or not swipe gesture can be used to switch to the next child" +msgstr "Whether or not swipe gesture can be used to switch to the next child" + +#: src/hdy-deck.c:1031 src/hdy-leaflet.c:1111 +msgid "Name" +msgstr "Name" + +#: src/hdy-deck.c:1032 src/hdy-leaflet.c:1112 +msgid "The name of the child page" +msgstr "The name of the child page" + +#: src/hdy-expander-row.c:286 +msgid "The subtitle for this row" +msgstr "The subtitle for this row" + +#: src/hdy-expander-row.c:326 +msgid "Expanded" +msgstr "Expanded" + +#: src/hdy-expander-row.c:327 +msgid "Whether the row is expanded" +msgstr "Whether the row is expanded" + +#: src/hdy-expander-row.c:338 +msgid "Enable expansion" +msgstr "Enable expansion" + +#: src/hdy-expander-row.c:339 +msgid "Whether the expansion is enabled" +msgstr "Whether the expansion is enabled" + +#: src/hdy-expander-row.c:350 +msgid "Show enable switch" +msgstr "Show enable switch" + +#: src/hdy-expander-row.c:351 +msgid "Whether the switch enabling the expansion is visible" +msgstr "Whether the switch enabling the expansion is visible" + +#: src/hdy-header-bar.c:485 +msgid "Application menu" +msgstr "Application menu" + +#: src/hdy-header-bar.c:507 src/hdy-window-handle-controller.c:275 +msgid "Minimize" +msgstr "Minimise" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:241 +msgid "Restore" +msgstr "Restore" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:284 +msgid "Maximize" +msgstr "Maximise" + +#: src/hdy-header-bar.c:547 src/hdy-window-handle-controller.c:311 +msgid "Close" +msgstr "Close" + +#: src/hdy-header-bar.c:563 +msgid "Back" +msgstr "Back" + +#: src/hdy-header-bar.c:2084 +msgid "Pack type" +msgstr "Pack type" + +#: src/hdy-header-bar.c:2085 +msgid "" +"A GtkPackType indicating whether the child is packed with reference to the " +"start or end of the parent" +msgstr "" +"A GtkPackType indicating whether the child is packed with reference to the " +"start or end of the parent" + +#: src/hdy-header-bar.c:2092 +msgid "The index of the child in the parent" +msgstr "The index of the child in the parent" + +#: src/hdy-header-bar.c:2098 src/hdy-preferences-group.c:265 +#: src/hdy-preferences-group.c:266 src/hdy-preferences-page.c:193 +#: src/hdy-preferences-page.c:194 src/hdy-preferences-row.c:115 +#: src/hdy-view-switcher-title.c:258 +msgid "Title" +msgstr "Title" + +#: src/hdy-header-bar.c:2099 src/hdy-view-switcher-title.c:259 +msgid "The title to display" +msgstr "The title to display" + +#: src/hdy-header-bar.c:2106 src/hdy-view-switcher-title.c:273 +msgid "The subtitle to display" +msgstr "The subtitle to display" + +#: src/hdy-header-bar.c:2112 +msgid "Custom Title" +msgstr "Custom Title" + +#: src/hdy-header-bar.c:2113 +msgid "Custom title widget to display" +msgstr "Custom title widget to display" + +#: src/hdy-header-bar.c:2120 +msgid "The amount of space between children" +msgstr "The amount of space between children" + +#: src/hdy-header-bar.c:2139 +msgid "Show decorations" +msgstr "Show decorations" + +#: src/hdy-header-bar.c:2140 +msgid "Whether to show window decorations" +msgstr "Whether to show window decorations" + +#: src/hdy-header-bar.c:2158 +msgid "Decoration Layout" +msgstr "Decoration Layout" + +#: src/hdy-header-bar.c:2159 +msgid "The layout for window decorations" +msgstr "The layout for window decorations" + +#: src/hdy-header-bar.c:2172 +msgid "Decoration Layout Set" +msgstr "Decoration Layout Set" + +#: src/hdy-header-bar.c:2173 +msgid "Whether the decoration-layout property has been set" +msgstr "Whether the decoration-layout property has been set" + +#: src/hdy-header-bar.c:2187 +msgid "Has Subtitle" +msgstr "Has Subtitle" + +#: src/hdy-header-bar.c:2188 +msgid "Whether to reserve space for a subtitle" +msgstr "Whether to reserve space for a subtitle" + +#: src/hdy-header-bar.c:2194 +msgid "Centering policy" +msgstr "Centring policy" + +#: src/hdy-header-bar.c:2195 +msgid "The policy to horizontally align the center widget" +msgstr "The policy to horizontally align the centre widget" + +#: src/hdy-header-bar.c:2202 src/hdy-squeezer.c:1106 +msgid "The animation duration, in milliseconds" +msgstr "The animation duration, in milliseconds" + +#: src/hdy-header-group.c:827 +msgid "Decorate all" +msgstr "Decorate all" + +#: src/hdy-header-group.c:828 +msgid "" +"Whether the elements of the group should all receive the full decoration" +msgstr "" +"Whether the elements of the group should all receive the full decoration" + +#: src/hdy-keypad-button.c:225 +msgid "Digit" +msgstr "Digit" + +#: src/hdy-keypad-button.c:226 +msgid "The keypad digit of the button" +msgstr "The keypad digit of the button" + +#: src/hdy-keypad-button.c:232 +msgid "Symbols" +msgstr "Symbols" + +#: src/hdy-keypad-button.c:233 +msgid "The keypad symbols of the button. The first symbol is used as the digit" +msgstr "" +"The keypad symbols of the button. The first symbol is used as the digit" + +#: src/hdy-keypad-button.c:239 +msgid "Show symbols" +msgstr "Show symbols" + +#: src/hdy-keypad-button.c:240 +msgid "Whether the second line of symbols should be shown or not" +msgstr "Whether the second line of symbols should be shown or not" + +#: src/hdy-keypad.c:247 +msgid "Row spacing" +msgstr "Row spacing" + +#: src/hdy-keypad.c:248 +msgid "The amount of space between two consecutive rows" +msgstr "The amount of space between two consecutive rows" + +#: src/hdy-keypad.c:261 +msgid "Column spacing" +msgstr "Column spacing" + +#: src/hdy-keypad.c:262 +msgid "The amount of space between two consecutive columns" +msgstr "The amount of space between two consecutive columns" + +#: src/hdy-keypad.c:276 +msgid "Letters visible" +msgstr "Letters visible" + +#: src/hdy-keypad.c:277 +msgid "Whether the letters below the digits should be visible" +msgstr "Whether the letters below the digits should be visible" + +#: src/hdy-keypad.c:291 +msgid "Symbols visible" +msgstr "Symbols visible" + +#: src/hdy-keypad.c:292 +msgid "Whether the hash, plus, and asterisk symbols should be visible" +msgstr "Whether the hash, plus, and asterisk symbols should be visible" + +#: src/hdy-keypad.c:306 +msgid "Entry" +msgstr "Entry" + +#: src/hdy-keypad.c:307 +msgid "The entry widget connected to the keypad" +msgstr "The entry widget connected to the keypad" + +#: src/hdy-keypad.c:320 +msgid "End action" +msgstr "End action" + +#: src/hdy-keypad.c:321 +msgid "The end action widget" +msgstr "The end action widget" + +#: src/hdy-keypad.c:334 +msgid "Start action" +msgstr "Start action" + +#: src/hdy-keypad.c:335 +msgid "The start action widget" +msgstr "The start action widget" + +#: src/hdy-leaflet.c:963 src/hdy-stackable-box.c:2938 +msgid "Folded" +msgstr "Folded" + +#: src/hdy-leaflet.c:964 src/hdy-stackable-box.c:2939 +msgid "Whether the widget is folded" +msgstr "Whether the widget is folded" + +#: src/hdy-leaflet.c:975 src/hdy-stackable-box.c:2950 +msgid "Horizontally homogeneous folded" +msgstr "Horizontally homogeneous folded" + +#: src/hdy-leaflet.c:976 +msgid "Horizontally homogeneous sizing when the leaflet is folded" +msgstr "Horizontally homogeneous sizing when the leaflet is folded" + +#: src/hdy-leaflet.c:987 src/hdy-stackable-box.c:2962 +msgid "Vertically homogeneous folded" +msgstr "Vertically homogeneous folded" + +#: src/hdy-leaflet.c:988 +msgid "Vertically homogeneous sizing when the leaflet is folded" +msgstr "Vertically homogeneous sizing when the leaflet is folded" + +#: src/hdy-leaflet.c:999 src/hdy-stackable-box.c:2974 +msgid "Box horizontally homogeneous" +msgstr "Box horizontally homogeneous" + +#: src/hdy-leaflet.c:1000 +msgid "Horizontally homogeneous sizing when the leaflet is unfolded" +msgstr "Horizontally homogeneous sizing when the leaflet is unfolded" + +#: src/hdy-leaflet.c:1011 src/hdy-stackable-box.c:2986 +msgid "Box vertically homogeneous" +msgstr "Box vertically homogeneous" + +#: src/hdy-leaflet.c:1012 +msgid "Vertically homogeneous sizing when the leaflet is unfolded" +msgstr "Vertically homogeneous sizing when the leaflet is unfolded" + +#: src/hdy-leaflet.c:1019 +msgid "The widget currently visible when the leaflet is folded" +msgstr "The widget currently visible when the leaflet is folded" + +#: src/hdy-leaflet.c:1026 src/hdy-stackable-box.c:3001 +msgid "The name of the widget currently visible when the children are stacked" +msgstr "The name of the widget currently visible when the children are stacked" + +#: src/hdy-leaflet.c:1045 src/hdy-stackable-box.c:3020 +msgid "The type of animation used to transition between modes and children" +msgstr "The type of animation used to transition between modes and children" + +#: src/hdy-leaflet.c:1051 src/hdy-stackable-box.c:3026 +msgid "Mode transition duration" +msgstr "Mode transition duration" + +#: src/hdy-leaflet.c:1052 src/hdy-stackable-box.c:3027 +msgid "The mode transition animation duration, in milliseconds" +msgstr "The mode transition animation duration, in milliseconds" + +#: src/hdy-leaflet.c:1058 src/hdy-stackable-box.c:3033 +msgid "Child transition duration" +msgstr "Child transition duration" + +#: src/hdy-leaflet.c:1059 src/hdy-stackable-box.c:3034 +msgid "The child transition animation duration, in milliseconds" +msgstr "The child transition animation duration, in milliseconds" + +#: src/hdy-leaflet.c:1065 src/hdy-stackable-box.c:3040 +msgid "Child transition running" +msgstr "Child transition running" + +#: src/hdy-leaflet.c:1066 src/hdy-stackable-box.c:3041 +msgid "Whether or not the child transition is currently running" +msgstr "Whether or not the child transition is currently running" + +#: src/hdy-leaflet.c:1129 +msgid "Navigatable" +msgstr "Navigable" + +#: src/hdy-leaflet.c:1130 +msgid "Whether the child can be navigated to" +msgstr "Whether the child can be navigated to" + +#: src/hdy-preferences-group.c:251 src/hdy-preferences-group.c:252 +msgid "Description" +msgstr "Description" + +#: src/hdy-preferences-row.c:116 +msgid "The title of the preference" +msgstr "The title of the preference" + +#: src/hdy-preferences-window.c:141 +msgid "Untitled page" +msgstr "Untitled page" + +#: src/hdy-preferences-window.c:483 +msgid "Search enabled" +msgstr "Search enabled" + +#: src/hdy-preferences-window.c:484 +msgid "Whether search is enabled" +msgstr "Whether search is enabled" + +#: src/hdy-preferences-window.c:498 +msgid "" +"Whether or not swipe gesture can be used to switch from a subpage to the " +"preferences" +msgstr "" +"Whether or not swipe gesture can be used to switch from a sub-page to the " +"preferences" + +#: src/hdy-preferences-window.ui:9 +msgid "Preferences" +msgstr "Preferences" + +#: src/hdy-preferences-window.ui:78 +msgid "Search" +msgstr "Search" + +#: src/hdy-preferences-window.ui:201 +msgid "No Results Found" +msgstr "No Results Found" + +#: src/hdy-preferences-window.ui:216 +msgid "Try a different search" +msgstr "Try a different search" + +#: src/hdy-search-bar.c:451 +msgid "Search Mode Enabled" +msgstr "Search Mode Enabled" + +#: src/hdy-search-bar.c:452 +msgid "Whether the search mode is on and the search bar shown" +msgstr "Whether the search mode is on and the search bar shown" + +#: src/hdy-search-bar.c:463 +msgid "Show Close Button" +msgstr "Show Close Button" + +#: src/hdy-search-bar.c:464 +msgid "Whether to show the close button in the toolbar" +msgstr "Whether to show the close button in the toolbar" + +#: src/hdy-shadow-helper.c:254 +msgid "Widget" +msgstr "Widget" + +#: src/hdy-shadow-helper.c:255 +msgid "The widget the shadow will be drawn for" +msgstr "The widget the shadow will be drawn for" + +#: src/hdy-squeezer.c:1091 +msgid "Homogeneous" +msgstr "Homogeneous" + +#: src/hdy-squeezer.c:1092 +msgid "Homogeneous sizing" +msgstr "Homogeneous sizing" + +#: src/hdy-squeezer.c:1099 +msgid "The widget currently visible in the squeezer" +msgstr "The widget currently visible in the squeezer" + +#: src/hdy-squeezer.c:1113 +msgid "The type of animation used to transition" +msgstr "The type of animation used to transition" + +#: src/hdy-squeezer.c:1148 +msgid "X align" +msgstr "X align" + +#: src/hdy-squeezer.c:1149 +msgid "The horizontal alignment, from 0 (start) to 1 (end)" +msgstr "The horizontal alignment, from 0 (start) to 1 (end)" + +#: src/hdy-squeezer.c:1170 +msgid "Y align" +msgstr "Y align" + +#: src/hdy-squeezer.c:1171 +msgid "The vertical alignment, from 0 (top) to 1 (bottom)" +msgstr "The vertical alignment, from 0 (top) to 1 (bottom)" + +#: src/hdy-squeezer.c:1180 src/hdy-swipe-tracker.c:773 +msgid "Enabled" +msgstr "Enabled" + +#: src/hdy-squeezer.c:1181 +msgid "" +"Whether the child can be picked or should be ignored when looking for the " +"child fitting the available size best" +msgstr "" +"Whether the child can be picked or should be ignored when looking for the " +"child fitting the available size best" + +#: src/hdy-stackable-box.c:2951 +msgid "Horizontally homogeneous sizing when the widget is folded" +msgstr "Horizontally homogeneous sizing when the widget is folded" + +#: src/hdy-stackable-box.c:2963 +msgid "Vertically homogeneous sizing when the widget is folded" +msgstr "Vertically homogeneous sizing when the widget is folded" + +#: src/hdy-stackable-box.c:2975 +msgid "Horizontally homogeneous sizing when the widget is unfolded" +msgstr "Horizontally homogeneous sizing when the widget is unfolded" + +#: src/hdy-stackable-box.c:2987 +msgid "Vertically homogeneous sizing when the widget is unfolded" +msgstr "Vertically homogeneous sizing when the widget is unfolded" + +#: src/hdy-stackable-box.c:2994 +msgid "The widget currently visible when the widget is folded" +msgstr "The widget currently visible when the widget is folded" + +#: src/hdy-stackable-box.c:3084 src/hdy-stackable-box.c:3085 +msgid "Orientation" +msgstr "Orientation" + +#: src/hdy-swipe-tracker.c:758 +msgid "Swipeable" +msgstr "Swipe-able" + +#: src/hdy-swipe-tracker.c:759 +msgid "The swipeable the swipe tracker is attached to" +msgstr "The swipe-able the swipe tracker is attached to" + +#: src/hdy-swipe-tracker.c:774 +msgid "Whether the swipe tracker processes events" +msgstr "Whether the swipe tracker processes events" + +#: src/hdy-swipe-tracker.c:788 +msgid "Reversed" +msgstr "Reversed" + +#: src/hdy-swipe-tracker.c:789 +msgid "Whether swipe direction is reversed" +msgstr "Whether swipe direction is reversed" + +#: src/hdy-title-bar.c:308 +msgid "Selection mode" +msgstr "Selection mode" + +#: src/hdy-title-bar.c:309 +msgid "Whether or not the title bar is in selection mode" +msgstr "Whether or not the title bar is in selection mode" + +#: src/hdy-value-object.c:191 +msgctxt "HdyValueObjectClass" +msgid "Value" +msgstr "Value" + +#: src/hdy-value-object.c:192 +msgctxt "HdyValueObjectClass" +msgid "The contained value" +msgstr "The contained value" + +#: src/hdy-view-switcher-bar.c:178 src/hdy-view-switcher.c:509 +#: src/hdy-view-switcher-title.c:230 +msgid "Policy" +msgstr "Policy" + +#: src/hdy-view-switcher-bar.c:179 src/hdy-view-switcher.c:510 +#: src/hdy-view-switcher-title.c:231 +msgid "The policy to determine the mode to use" +msgstr "The policy to determine the mode to use" + +#: src/hdy-view-switcher-bar.c:192 src/hdy-view-switcher-bar.c:193 +#: src/hdy-view-switcher.c:544 src/hdy-view-switcher.c:545 +#: src/hdy-view-switcher-title.c:244 src/hdy-view-switcher-title.c:245 +msgid "Stack" +msgstr "Stack" + +#: src/hdy-view-switcher-bar.c:206 +msgid "Reveal" +msgstr "Reveal" + +#: src/hdy-view-switcher-bar.c:207 +msgid "Whether the view switcher is revealed" +msgstr "Whether the view switcher is revealed" + +#: src/hdy-view-switcher-button.c:203 +msgid "Icon Name" +msgstr "Icon Name" + +#: src/hdy-view-switcher-button.c:204 +msgid "Icon name for image" +msgstr "Icon name for image" + +#: src/hdy-view-switcher-button.c:217 +msgid "Icon Size" +msgstr "Icon Size" + +#: src/hdy-view-switcher-button.c:218 +msgid "Symbolic size to use for named icon" +msgstr "Symbolic size to use for named icon" + +#: src/hdy-view-switcher-button.c:234 +msgid "Needs attention" +msgstr "Needs attention" + +#: src/hdy-view-switcher-button.c:235 +msgid "Hint the view needs attention" +msgstr "Hint the view needs attention" + +#: src/hdy-view-switcher.c:529 +msgid "Narrow ellipsize" +msgstr "Narrow ellipsise" + +#: src/hdy-view-switcher.c:530 +msgid "" +"The preferred place to ellipsize the string, if the narrow mode label does " +"not have enough room to display the entire string" +msgstr "" +"The preferred place to ellipsise the string, if the narrow mode label does " +"not have enough room to display the entire string" + +#: src/hdy-view-switcher-title.c:286 +msgid "View switcher enabled" +msgstr "View switcher enabled" + +#: src/hdy-view-switcher-title.c:287 +msgid "Whether the view switcher is enabled" +msgstr "Whether the view switcher is enabled" + +#: src/hdy-view-switcher-title.c:300 +msgid "Title visible" +msgstr "Title visible" + +#: src/hdy-view-switcher-title.c:301 +msgid "Whether the title label is visible" +msgstr "Whether the title label is visible" + +#: src/hdy-window-handle-controller.c:259 +msgid "Move" +msgstr "Move" + +#: src/hdy-window-handle-controller.c:267 +msgid "Resize" +msgstr "Resize" + +#: src/hdy-window-handle-controller.c:298 +msgid "Always on Top" +msgstr "Always on Top" diff --git a/subprojects/libhandy/po/es.po b/subprojects/libhandy/po/es.po new file mode 100644 index 00000000..4ac572e3 --- /dev/null +++ b/subprojects/libhandy/po/es.po @@ -0,0 +1,891 @@ +# Spanish translation for libhandy. +# Copyright (C) 2020 libhandy's COPYRIGHT HOLDER +# This file is distributed under the same license as the libhandy package. +# FIRST AUTHOR , YEAR. +# FULL NAME , 2020. +# Daniel Mustieles , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: libhandy master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libhandy/issues\n" +"POT-Creation-Date: 2020-08-13 09:29+0000\n" +"PO-Revision-Date: 2020-08-24 13:07+0200\n" +"Last-Translator: Daniel Mustieles \n" +"Language-Team: Spanish - Spain \n" +"Language: es_ES\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Gtranslator 3.36.0\n" + +#: glade/glade-hdy-carousel.c:160 glade/glade-hdy-header-bar.c:118 +#: glade/glade-hdy-leaflet.c:184 +#, c-format +msgid "Insert placeholder to %s" +msgstr "Insertar marcador a %s" + +#: glade/glade-hdy-carousel.c:189 glade/glade-hdy-header-bar.c:144 +#: glade/glade-hdy-leaflet.c:214 +#, c-format +msgid "Remove placeholder from %s" +msgstr "Quitar marcador de %s" + +#: glade/glade-hdy-header-bar.c:18 +msgid "This property does not apply when a custom title is set" +msgstr "" +"Esta propiedad no se aplica cuando se ha establecido un título personalizado" + +#: glade/glade-hdy-header-bar.c:289 +msgid "" +"The decoration layout does not apply to header bars which do no show window " +"controls" +msgstr "" +"La capa de decoración no se aplica a las barras de cabecera que no muestran " +"controles" + +#: glade/glade-hdy-leaflet.c:19 +msgid "This property only applies when the leaflet is folded" +msgstr "Esta propiedad sólo se aplica cuando el folleto está doblado" + +#: glade/glade-hdy-preferences-page.c:160 +#, c-format +msgid "Add group to %s" +msgstr "Añadir grupo a %s" + +#: glade/glade-hdy-preferences-window.c:228 +#, c-format +msgid "Add page to %s" +msgstr "Añadir página a %s" + +#: glade/glade-hdy-search-bar.c:101 +msgid "Search bar is already full" +msgstr "La barra de búsqueda ya está llena" + +#: glade/glade-hdy-utils.h:13 +#, c-format +msgid "Only objects of type %s can be added to objects of type %s." +msgstr "Sólo se pueden añadir objetos de tipo %s a objetos de tipo %s" + +#: src/hdy-action-row.c:354 src/hdy-action-row.c:355 src/hdy-expander-row.c:314 +#: src/hdy-expander-row.c:315 src/hdy-preferences-page.c:179 +#: src/hdy-preferences-page.c:180 +msgid "Icon name" +msgstr "Nombre del icono" + +#: src/hdy-action-row.c:368 +msgid "Activatable widget" +msgstr "Widget activable" + +#: src/hdy-action-row.c:369 +msgid "The widget to be activated when the row is activated" +msgstr "El widget que activar cuando se activa la fila" + +#: src/hdy-action-row.c:382 src/hdy-action-row.c:383 src/hdy-expander-row.c:285 +#: src/hdy-header-bar.c:2105 src/hdy-view-switcher-title.c:272 +msgid "Subtitle" +msgstr "Subtítulo" + +#: src/hdy-action-row.c:397 src/hdy-expander-row.c:300 +#: src/hdy-preferences-row.c:130 +msgid "Use underline" +msgstr "Usar subrayado" + +#: src/hdy-action-row.c:398 src/hdy-expander-row.c:301 +#: src/hdy-preferences-row.c:131 +msgid "" +"If set, an underline in the text indicates the next character should be used " +"for the mnemonic accelerator key" +msgstr "" + +#: src/hdy-carousel-box.c:1088 src/hdy-carousel-box.c:1089 +#: src/hdy-carousel.c:575 src/hdy-carousel.c:576 +msgid "Number of pages" +msgstr "Número de páginas" + +#: src/hdy-carousel-box.c:1104 src/hdy-carousel.c:592 src/hdy-header-bar.c:2091 +msgid "Position" +msgstr "Posición" + +#: src/hdy-carousel-box.c:1105 src/hdy-carousel.c:593 +msgid "Current scrolling position" +msgstr "Posición actual del desplazamiento" + +#: src/hdy-carousel-box.c:1120 src/hdy-carousel.c:623 src/hdy-header-bar.c:2119 +msgid "Spacing" +msgstr "Espaciado" + +#: src/hdy-carousel-box.c:1121 src/hdy-carousel.c:624 +msgid "Spacing between pages" +msgstr "Espacio entre páginas" + +#: src/hdy-carousel-box.c:1137 src/hdy-carousel.c:668 +msgid "Reveal duration" +msgstr "Mostrar duración" + +#: src/hdy-carousel-box.c:1138 src/hdy-carousel.c:669 +msgid "Page reveal duration" +msgstr "Tiempo que se muestra la página" + +#: src/hdy-carousel.c:609 +msgid "Interactive" +msgstr "Interactivo" + +#: src/hdy-carousel.c:610 +msgid "Whether the widget can be swiped" +msgstr "Indica si el widget se puede deslizar" + +#: src/hdy-carousel.c:639 +msgid "Animation duration" +msgstr "Duración de la animación" + +#: src/hdy-carousel.c:640 +msgid "Default animation duration" +msgstr "Duración predeterminada de la animación" + +#: src/hdy-carousel.c:654 src/hdy-swipe-tracker.c:803 +msgid "Allow mouse drag" +msgstr "Permitir arrastre con el ratón" + +#: src/hdy-carousel.c:655 src/hdy-swipe-tracker.c:804 +msgid "Whether to allow dragging with mouse pointer" +msgstr "Indica si se puede arrastrar con el puntero del ratón" + +#: src/hdy-carousel-indicator-dots.c:392 src/hdy-carousel-indicator-dots.c:393 +#: src/hdy-carousel-indicator-lines.c:391 +#: src/hdy-carousel-indicator-lines.c:392 +msgid "Carousel" +msgstr "Carrusel" + +#: src/hdy-clamp.c:417 +msgid "Maximum size" +msgstr "Tamaño máximo" + +#: src/hdy-clamp.c:418 +msgid "The maximum size allocated to the child" +msgstr "El tamaño máximo reservado para el hijo" + +#: src/hdy-clamp.c:442 +msgid "Tightening threshold" +msgstr "" + +#: src/hdy-clamp.c:443 +msgid "The size from which the clamp will tighten its grip on the child" +msgstr "" + +#: src/hdy-combo-row.c:412 +msgid "Selected index" +msgstr "Índice seleccionada" + +#: src/hdy-combo-row.c:413 +msgid "The index of the selected item" +msgstr "El índice del elemento seleccionado" + +#: src/hdy-combo-row.c:431 +msgid "Use subtitle" +msgstr "Usar subtítulo" + +#: src/hdy-combo-row.c:432 +msgid "Set the current value as the subtitle" +msgstr "Establecer el valor actual como subtítulo" + +#: src/hdy-deck.c:888 +msgid "Horizontally homogeneous" +msgstr "Homogéneo horizontalmente" + +#: src/hdy-deck.c:889 +msgid "Horizontally homogeneous sizing" +msgstr "Tamaño horizontal homogéneo" + +#: src/hdy-deck.c:902 +msgid "Vertically homogeneous" +msgstr "Homogéneo verticalmente" + +#: src/hdy-deck.c:903 +msgid "Vertically homogeneous sizing" +msgstr "Tamaño vertical homogéneo" + +#: src/hdy-deck.c:916 src/hdy-leaflet.c:1018 src/hdy-squeezer.c:1098 +#: src/hdy-stackable-box.c:2993 +msgid "Visible child" +msgstr "Hijo visible" + +#: src/hdy-deck.c:917 +msgid "The widget currently visible" +msgstr "El widget actualmente visible" + +#: src/hdy-deck.c:930 src/hdy-leaflet.c:1025 src/hdy-stackable-box.c:3000 +msgid "Name of visible child" +msgstr "Nombre del hijo visible" + +#: src/hdy-deck.c:931 +msgid "The name of the widget currently visible" +msgstr "El nombre del widget visible actualmente" + +#: src/hdy-deck.c:949 src/hdy-leaflet.c:1044 src/hdy-squeezer.c:1112 +#: src/hdy-stackable-box.c:3019 +msgid "Transition type" +msgstr "Tipo de transición" + +#: src/hdy-deck.c:950 +msgid "The type of animation used to transition between children" +msgstr "El tipo de animación usada para cambiar entre hijos" + +#: src/hdy-deck.c:963 src/hdy-header-bar.c:2201 src/hdy-squeezer.c:1105 +msgid "Transition duration" +msgstr "Duración de la transición" + +#: src/hdy-deck.c:964 +msgid "The transition animation duration, in milliseconds" +msgstr "La duración de la animación de transición, en milisegundos" + +#: src/hdy-deck.c:977 src/hdy-header-bar.c:2208 src/hdy-squeezer.c:1120 +msgid "Transition running" +msgstr "Transición en ejecución" + +#: src/hdy-deck.c:978 src/hdy-header-bar.c:2209 src/hdy-squeezer.c:1121 +msgid "Whether or not the transition is currently running" +msgstr "Indica si la transición está actualmente en ejecución o no" + +#: src/hdy-deck.c:992 src/hdy-header-bar.c:2215 src/hdy-leaflet.c:1072 +#: src/hdy-squeezer.c:1127 src/hdy-stackable-box.c:3047 +msgid "Interpolate size" +msgstr "Interpolar tamaño" + +#: src/hdy-deck.c:993 src/hdy-header-bar.c:2216 src/hdy-leaflet.c:1073 +#: src/hdy-squeezer.c:1128 src/hdy-stackable-box.c:3048 +msgid "" +"Whether or not the size should smoothly change when changing between " +"differently sized children" +msgstr "" + +#: src/hdy-deck.c:1007 src/hdy-leaflet.c:1087 src/hdy-preferences-window.c:497 +#: src/hdy-stackable-box.c:3062 +msgid "Can swipe back" +msgstr "Puede deslizar hacia atrás" + +#: src/hdy-deck.c:1008 src/hdy-leaflet.c:1088 src/hdy-stackable-box.c:3063 +msgid "" +"Whether or not swipe gesture can be used to switch to the previous child" +msgstr "" + +#: src/hdy-deck.c:1022 src/hdy-leaflet.c:1102 src/hdy-stackable-box.c:3077 +msgid "Can swipe forward" +msgstr "Puede deslizar hacia adelante" + +#: src/hdy-deck.c:1023 src/hdy-leaflet.c:1103 src/hdy-stackable-box.c:3078 +msgid "Whether or not swipe gesture can be used to switch to the next child" +msgstr "" + +#: src/hdy-deck.c:1031 src/hdy-leaflet.c:1111 +msgid "Name" +msgstr "Nombre" + +#: src/hdy-deck.c:1032 src/hdy-leaflet.c:1112 +msgid "The name of the child page" +msgstr "El nombre de la página hija" + +#: src/hdy-expander-row.c:286 +msgid "The subtitle for this row" +msgstr "El subtítulo para esta fila" + +#: src/hdy-expander-row.c:326 +msgid "Expanded" +msgstr "Expandido" + +#: src/hdy-expander-row.c:327 +msgid "Whether the row is expanded" +msgstr "Indica si la fila está expandida" + +#: src/hdy-expander-row.c:338 +msgid "Enable expansion" +msgstr "Activar expansión" + +#: src/hdy-expander-row.c:339 +msgid "Whether the expansion is enabled" +msgstr "Indica si la expansión está activada" + +#: src/hdy-expander-row.c:350 +msgid "Show enable switch" +msgstr "" + +#: src/hdy-expander-row.c:351 +msgid "Whether the switch enabling the expansion is visible" +msgstr "" + +#: src/hdy-header-bar.c:485 +msgid "Application menu" +msgstr "Menú de la aplicación" + +#: src/hdy-header-bar.c:507 src/hdy-window-handle-controller.c:275 +msgid "Minimize" +msgstr "Minimizar" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:241 +msgid "Restore" +msgstr "Restaurar" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:284 +msgid "Maximize" +msgstr "Maximizar" + +#: src/hdy-header-bar.c:547 src/hdy-window-handle-controller.c:311 +msgid "Close" +msgstr "Cerrar" + +#: src/hdy-header-bar.c:563 +msgid "Back" +msgstr "Atrás" + +#: src/hdy-header-bar.c:2084 +msgid "Pack type" +msgstr "Tipo de paquete" + +#: src/hdy-header-bar.c:2085 +msgid "" +"A GtkPackType indicating whether the child is packed with reference to the " +"start or end of the parent" +msgstr "" + +#: src/hdy-header-bar.c:2092 +msgid "The index of the child in the parent" +msgstr "El índice del hijo en el padre" + +#: src/hdy-header-bar.c:2098 src/hdy-preferences-group.c:265 +#: src/hdy-preferences-group.c:266 src/hdy-preferences-page.c:193 +#: src/hdy-preferences-page.c:194 src/hdy-preferences-row.c:115 +#: src/hdy-view-switcher-title.c:258 +msgid "Title" +msgstr "Título" + +#: src/hdy-header-bar.c:2099 src/hdy-view-switcher-title.c:259 +msgid "The title to display" +msgstr "El título que mostrar" + +#: src/hdy-header-bar.c:2106 src/hdy-view-switcher-title.c:273 +msgid "The subtitle to display" +msgstr "El subtítulo que mostrar" + +#: src/hdy-header-bar.c:2112 +msgid "Custom Title" +msgstr "Título personalizado" + +#: src/hdy-header-bar.c:2113 +msgid "Custom title widget to display" +msgstr "Wigdet de título personalizado que mostrar" + +#: src/hdy-header-bar.c:2120 +msgid "The amount of space between children" +msgstr "La cantidad de espacio entre hijos" + +#: src/hdy-header-bar.c:2139 +msgid "Show decorations" +msgstr "Mostrar decoración" + +#: src/hdy-header-bar.c:2140 +msgid "Whether to show window decorations" +msgstr "Indica si se debe mostrar la decoración de la ventana" + +#: src/hdy-header-bar.c:2158 +msgid "Decoration Layout" +msgstr "Distribución de la decoración" + +#: src/hdy-header-bar.c:2159 +msgid "The layout for window decorations" +msgstr "La distribución de la decoración de la ventana" + +#: src/hdy-header-bar.c:2172 +msgid "Decoration Layout Set" +msgstr "" + +#: src/hdy-header-bar.c:2173 +msgid "Whether the decoration-layout property has been set" +msgstr "" + +#: src/hdy-header-bar.c:2187 +msgid "Has Subtitle" +msgstr "Tiene subtítulo" + +#: src/hdy-header-bar.c:2188 +msgid "Whether to reserve space for a subtitle" +msgstr "Indica si se debe reservar espacio para un subtítulo" + +#: src/hdy-header-bar.c:2194 +msgid "Centering policy" +msgstr "Política de centrado" + +#: src/hdy-header-bar.c:2195 +msgid "The policy to horizontally align the center widget" +msgstr "La política para alinear horizontalmente el widget centrad" + +#: src/hdy-header-bar.c:2202 src/hdy-squeezer.c:1106 +msgid "The animation duration, in milliseconds" +msgstr "La duración de la animación en milisegundos" + +#: src/hdy-header-group.c:827 +msgid "Decorate all" +msgstr "Decorar todo" + +#: src/hdy-header-group.c:828 +msgid "" +"Whether the elements of the group should all receive the full decoration" +msgstr "" + +#: src/hdy-keypad-button.c:225 +msgid "Digit" +msgstr "Dígito" + +#: src/hdy-keypad-button.c:226 +msgid "The keypad digit of the button" +msgstr "" + +#: src/hdy-keypad-button.c:232 +msgid "Symbols" +msgstr "Símbolos" + +#: src/hdy-keypad-button.c:233 +msgid "The keypad symbols of the button. The first symbol is used as the digit" +msgstr "" + +#: src/hdy-keypad-button.c:239 +msgid "Show symbols" +msgstr "Mostar símbolos" + +#: src/hdy-keypad-button.c:240 +msgid "Whether the second line of symbols should be shown or not" +msgstr "" + +#: src/hdy-keypad.c:247 +msgid "Row spacing" +msgstr "Espaciado de filas" + +#: src/hdy-keypad.c:248 +msgid "The amount of space between two consecutive rows" +msgstr "La cantidad de espacio entre dos filas consecutivas" + +#: src/hdy-keypad.c:261 +msgid "Column spacing" +msgstr "Espaciado de columnas" + +#: src/hdy-keypad.c:262 +msgid "The amount of space between two consecutive columns" +msgstr "La cantidad de espacio entre dos columnas consecutivas" + +#: src/hdy-keypad.c:276 +msgid "Letters visible" +msgstr "Letras visibles" + +#: src/hdy-keypad.c:277 +msgid "Whether the letters below the digits should be visible" +msgstr "Indica si las letras de debajo de los números son visibles" + +#: src/hdy-keypad.c:291 +msgid "Symbols visible" +msgstr "Símbolos visibles" + +#: src/hdy-keypad.c:292 +msgid "Whether the hash, plus, and asterisk symbols should be visible" +msgstr "" + +#: src/hdy-keypad.c:306 +msgid "Entry" +msgstr "Entrada" + +#: src/hdy-keypad.c:307 +msgid "The entry widget connected to the keypad" +msgstr "" + +#: src/hdy-keypad.c:320 +msgid "End action" +msgstr "Acción de fin" + +#: src/hdy-keypad.c:321 +msgid "The end action widget" +msgstr "El widget de fin de acción" + +#: src/hdy-keypad.c:334 +msgid "Start action" +msgstr "Acción de inicio" + +#: src/hdy-keypad.c:335 +msgid "The start action widget" +msgstr "El widget de iniciar acción" + +#: src/hdy-leaflet.c:963 src/hdy-stackable-box.c:2938 +msgid "Folded" +msgstr "Doblado" + +#: src/hdy-leaflet.c:964 src/hdy-stackable-box.c:2939 +msgid "Whether the widget is folded" +msgstr "" + +#: src/hdy-leaflet.c:975 src/hdy-stackable-box.c:2950 +msgid "Horizontally homogeneous folded" +msgstr "" + +#: src/hdy-leaflet.c:976 +msgid "Horizontally homogeneous sizing when the leaflet is folded" +msgstr "" + +#: src/hdy-leaflet.c:987 src/hdy-stackable-box.c:2962 +msgid "Vertically homogeneous folded" +msgstr "" + +#: src/hdy-leaflet.c:988 +msgid "Vertically homogeneous sizing when the leaflet is folded" +msgstr "" + +#: src/hdy-leaflet.c:999 src/hdy-stackable-box.c:2974 +msgid "Box horizontally homogeneous" +msgstr "" + +#: src/hdy-leaflet.c:1000 +msgid "Horizontally homogeneous sizing when the leaflet is unfolded" +msgstr "" + +#: src/hdy-leaflet.c:1011 src/hdy-stackable-box.c:2986 +msgid "Box vertically homogeneous" +msgstr "Ca" + +#: src/hdy-leaflet.c:1012 +msgid "Vertically homogeneous sizing when the leaflet is unfolded" +msgstr "" + +#: src/hdy-leaflet.c:1019 +msgid "The widget currently visible when the leaflet is folded" +msgstr "" + +#: src/hdy-leaflet.c:1026 src/hdy-stackable-box.c:3001 +msgid "The name of the widget currently visible when the children are stacked" +msgstr "" + +#: src/hdy-leaflet.c:1045 src/hdy-stackable-box.c:3020 +msgid "The type of animation used to transition between modes and children" +msgstr "" + +#: src/hdy-leaflet.c:1051 src/hdy-stackable-box.c:3026 +msgid "Mode transition duration" +msgstr "Duración del modo de transición" + +#: src/hdy-leaflet.c:1052 src/hdy-stackable-box.c:3027 +msgid "The mode transition animation duration, in milliseconds" +msgstr "" + +#: src/hdy-leaflet.c:1058 src/hdy-stackable-box.c:3033 +msgid "Child transition duration" +msgstr "Duración de la transición hija" + +#: src/hdy-leaflet.c:1059 src/hdy-stackable-box.c:3034 +msgid "The child transition animation duration, in milliseconds" +msgstr "" + +#: src/hdy-leaflet.c:1065 src/hdy-stackable-box.c:3040 +msgid "Child transition running" +msgstr "" + +#: src/hdy-leaflet.c:1066 src/hdy-stackable-box.c:3041 +msgid "Whether or not the child transition is currently running" +msgstr "" + +#: src/hdy-leaflet.c:1129 +msgid "Navigatable" +msgstr "Navegable" + +#: src/hdy-leaflet.c:1130 +msgid "Whether the child can be navigated to" +msgstr "Indica si se puede navegar al hijo" + +#: src/hdy-preferences-group.c:251 src/hdy-preferences-group.c:252 +msgid "Description" +msgstr "Descripción" + +#: src/hdy-preferences-row.c:116 +msgid "The title of the preference" +msgstr "El título de la preferencia" + +#: src/hdy-preferences-window.c:141 +msgid "Untitled page" +msgstr "Página sin título" + +#: src/hdy-preferences-window.c:483 +msgid "Search enabled" +msgstr "Búsqueda activada" + +#: src/hdy-preferences-window.c:484 +msgid "Whether search is enabled" +msgstr "Indica si la búsqueda está activada" + +#: src/hdy-preferences-window.c:498 +msgid "" +"Whether or not swipe gesture can be used to switch from a subpage to the " +"preferences" +msgstr "" + +#: src/hdy-preferences-window.ui:9 +msgid "Preferences" +msgstr "Preferencias" + +#: src/hdy-preferences-window.ui:81 +msgid "Search" +msgstr "Buscar" + +#: src/hdy-preferences-window.ui:204 +msgid "No Results Found" +msgstr "No se han encontrado resultados" + +#: src/hdy-preferences-window.ui:219 +msgid "Try a different search" +msgstr "Pruebe a hacer una búsqueda diferente" + +#: src/hdy-search-bar.c:451 +msgid "Search Mode Enabled" +msgstr "Modo de búsqueda activado" + +#: src/hdy-search-bar.c:452 +msgid "Whether the search mode is on and the search bar shown" +msgstr "" + +#: src/hdy-search-bar.c:463 +msgid "Show Close Button" +msgstr "Mostrar botón de cerrar" + +#: src/hdy-search-bar.c:464 +msgid "Whether to show the close button in the toolbar" +msgstr "" +"Indica si se debe mostrar el botón de cerrar en la barra de herramientas" + +#: src/hdy-shadow-helper.c:254 +msgid "Widget" +msgstr "Widget" + +#: src/hdy-shadow-helper.c:255 +msgid "The widget the shadow will be drawn for" +msgstr "El widget para el que se dibujará la sombra" + +#: src/hdy-squeezer.c:1091 +msgid "Homogeneous" +msgstr "Homogéneo" + +#: src/hdy-squeezer.c:1092 +msgid "Homogeneous sizing" +msgstr "Tamaño homogéneo" + +#: src/hdy-squeezer.c:1099 +msgid "The widget currently visible in the squeezer" +msgstr "" + +#: src/hdy-squeezer.c:1113 +msgid "The type of animation used to transition" +msgstr "El tipo de animación usado para la transición" + +#: src/hdy-squeezer.c:1148 +msgid "X align" +msgstr "Alineación X" + +#: src/hdy-squeezer.c:1149 +msgid "The horizontal alignment, from 0 (start) to 1 (end)" +msgstr "La alineación horizontal, desde 0 (inicio) hasta 1 (fin)" + +#: src/hdy-squeezer.c:1170 +msgid "Y align" +msgstr "alineación Y" + +#: src/hdy-squeezer.c:1171 +msgid "The vertical alignment, from 0 (top) to 1 (bottom)" +msgstr "La alineación vertical, desde 0 (inicio) hasta 1 (fin)" + +#: src/hdy-squeezer.c:1180 src/hdy-swipe-tracker.c:773 +msgid "Enabled" +msgstr "Activado" + +#: src/hdy-squeezer.c:1181 +msgid "" +"Whether the child can be picked or should be ignored when looking for the " +"child fitting the available size best" +msgstr "" + +#: src/hdy-stackable-box.c:2951 +msgid "Horizontally homogeneous sizing when the widget is folded" +msgstr "" + +#: src/hdy-stackable-box.c:2963 +msgid "Vertically homogeneous sizing when the widget is folded" +msgstr "" + +#: src/hdy-stackable-box.c:2975 +msgid "Horizontally homogeneous sizing when the widget is unfolded" +msgstr "" + +#: src/hdy-stackable-box.c:2987 +msgid "Vertically homogeneous sizing when the widget is unfolded" +msgstr "" + +#: src/hdy-stackable-box.c:2994 +msgid "The widget currently visible when the widget is folded" +msgstr "" + +#: src/hdy-stackable-box.c:3084 src/hdy-stackable-box.c:3085 +msgid "Orientation" +msgstr "Orientación" + +#: src/hdy-swipe-tracker.c:758 +msgid "Swipeable" +msgstr "Se puede deslizar" + +#: src/hdy-swipe-tracker.c:759 +msgid "The swipeable the swipe tracker is attached to" +msgstr "" + +#: src/hdy-swipe-tracker.c:774 +msgid "Whether the swipe tracker processes events" +msgstr "" + +#: src/hdy-swipe-tracker.c:788 +msgid "Reversed" +msgstr "Inverso" + +#: src/hdy-swipe-tracker.c:789 +msgid "Whether swipe direction is reversed" +msgstr "" + +#: src/hdy-title-bar.c:308 +msgid "Selection mode" +msgstr "Modo de selección" + +#: src/hdy-title-bar.c:309 +msgid "Whether or not the title bar is in selection mode" +msgstr "" + +#: src/hdy-value-object.c:191 +msgctxt "HdyValueObjectClass" +msgid "Value" +msgstr "Valor" + +#: src/hdy-value-object.c:192 +msgctxt "HdyValueObjectClass" +msgid "The contained value" +msgstr "El valor contenido" + +#: src/hdy-view-switcher-bar.c:178 src/hdy-view-switcher.c:509 +#: src/hdy-view-switcher-title.c:230 +msgid "Policy" +msgstr "Política" + +#: src/hdy-view-switcher-bar.c:179 src/hdy-view-switcher.c:510 +#: src/hdy-view-switcher-title.c:231 +msgid "The policy to determine the mode to use" +msgstr "La política para determinar el modo que usar" + +#: src/hdy-view-switcher-bar.c:192 src/hdy-view-switcher-bar.c:193 +#: src/hdy-view-switcher.c:544 src/hdy-view-switcher.c:545 +#: src/hdy-view-switcher-title.c:244 src/hdy-view-switcher-title.c:245 +msgid "Stack" +msgstr "Pila" + +#: src/hdy-view-switcher-bar.c:206 +msgid "Reveal" +msgstr "Mostrar" + +#: src/hdy-view-switcher-bar.c:207 +msgid "Whether the view switcher is revealed" +msgstr "" + +#: src/hdy-view-switcher-button.c:203 +msgid "Icon Name" +msgstr "Nombre del icono" + +#: src/hdy-view-switcher-button.c:204 +msgid "Icon name for image" +msgstr "Nombre de icono para la imagen" + +#: src/hdy-view-switcher-button.c:217 +msgid "Icon Size" +msgstr "Tamaño del icono" + +#: src/hdy-view-switcher-button.c:218 +msgid "Symbolic size to use for named icon" +msgstr "Tamaño simbólico que usar para el icono con nombre" + +#: src/hdy-view-switcher-button.c:234 +msgid "Needs attention" +msgstr "Requiere atención" + +#: src/hdy-view-switcher-button.c:235 +msgid "Hint the view needs attention" +msgstr "" + +#: src/hdy-view-switcher.c:529 +msgid "Narrow ellipsize" +msgstr "Estrechar elipse" + +#: src/hdy-view-switcher.c:530 +msgid "" +"The preferred place to ellipsize the string, if the narrow mode label does " +"not have enough room to display the entire string" +msgstr "" + +#: src/hdy-view-switcher-title.c:286 +msgid "View switcher enabled" +msgstr "" + +#: src/hdy-view-switcher-title.c:287 +msgid "Whether the view switcher is enabled" +msgstr "" + +#: src/hdy-view-switcher-title.c:300 +msgid "Title visible" +msgstr "Título visible" + +#: src/hdy-view-switcher-title.c:301 +msgid "Whether the title label is visible" +msgstr "Indica si la etiqueta de título es visible" + +#: src/hdy-window-handle-controller.c:259 +msgid "Move" +msgstr "Mover" + +#: src/hdy-window-handle-controller.c:267 +msgid "Resize" +msgstr "Redimensionar" + +#: src/hdy-window-handle-controller.c:298 +msgid "Always on Top" +msgstr "Siempre_encima" + +#~ msgid "Indicator style" +#~ msgstr "Indicador de estilo" + +#~ msgid "Page indicator style" +#~ msgstr "Indicador de estilo de la página" + +#~ msgid "Indicator spacing" +#~ msgstr "Indicador de espaciado" + +#~ msgid "Spacing between content and indicators" +#~ msgstr "Espaciado entre contenido e indicadores" + +#~ msgid "Center content" +#~ msgstr "Centrar contenido" + +#~ msgid "Whether to center pages to compensate for indicators" +#~ msgstr "" +#~ "Indica si se deben centrar las páginas para compensar los indicadores" + +#~ msgid "Maximum width" +#~ msgstr "Anchura máxima" + +#~ msgid "The title for this row" +#~ msgstr "El título para esta fila" + +#~ msgid "Focus" +#~ msgstr "Foco" + +#~ msgid "The header bar that should have the focus" +#~ msgstr "La barra de cabecera que debe tener el foco" + +#~ msgid "Only Digits" +#~ msgstr "Sólo dígitos" + +#~ msgid "Entry widget" +#~ msgstr "Widget de entrada" diff --git a/subprojects/libhandy/po/eu.po b/subprojects/libhandy/po/eu.po new file mode 100644 index 00000000..7b7a13e3 --- /dev/null +++ b/subprojects/libhandy/po/eu.po @@ -0,0 +1,845 @@ +# Basque translation for libhandy. +# Copyright (C) 2020 libhandy's COPYRIGHT HOLDER +# This file is distributed under the same license as the libhandy package. +# Asier Sarasua Garmendia , 2020. +# +msgid "" +msgstr "Project-Id-Version: libhandy master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libhandy/issues\n" +"POT-Creation-Date: 2020-08-30 12:14+0000\n" +"PO-Revision-Date: 2020-08-30 10:00+0100\n" +"Last-Translator: Asier Sarasua Garmendia \n" +"Language-Team: Basque \n" +"Language: eu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: glade/glade-hdy-carousel.c:160 glade/glade-hdy-header-bar.c:118 +#: glade/glade-hdy-leaflet.c:184 +#, c-format +msgid "Insert placeholder to %s" +msgstr "" + +#: glade/glade-hdy-carousel.c:189 glade/glade-hdy-header-bar.c:144 +#: glade/glade-hdy-leaflet.c:214 +#, c-format +msgid "Remove placeholder from %s" +msgstr "" + +#: glade/glade-hdy-header-bar.c:18 +msgid "This property does not apply when a custom title is set" +msgstr "Propietatea ez da aplikatzen titulu pertsonalizatua ezarrita dagoenean" + +#: glade/glade-hdy-header-bar.c:289 +msgid "" +"The decoration layout does not apply to header bars which do no show window " +"controls" +msgstr "Dekorazioaren diseinua ez zaie aplikatzen leiho-kontrolak erakusten ez dituzten goiburu-barrei" + +#: glade/glade-hdy-leaflet.c:19 +msgid "This property only applies when the leaflet is folded" +msgstr "" + +#: glade/glade-hdy-preferences-page.c:160 +#, c-format +msgid "Add group to %s" +msgstr "" + +#: glade/glade-hdy-preferences-window.c:228 +#, c-format +msgid "Add page to %s" +msgstr "" + +#: glade/glade-hdy-search-bar.c:101 +msgid "Search bar is already full" +msgstr "" + +#: glade/glade-hdy-utils.h:13 +#, c-format +msgid "Only objects of type %s can be added to objects of type %s." +msgstr "" + +#: src/hdy-action-row.c:354 src/hdy-action-row.c:355 src/hdy-expander-row.c:314 +#: src/hdy-expander-row.c:315 src/hdy-preferences-page.c:179 +#: src/hdy-preferences-page.c:180 +msgid "Icon name" +msgstr "Ikono-izena" + +#: src/hdy-action-row.c:368 +msgid "Activatable widget" +msgstr "Trepeta aktibagarria" + +#: src/hdy-action-row.c:369 +msgid "The widget to be activated when the row is activated" +msgstr "Errenkada aktibatzen denean aktibatuko den trepeta" + +#: src/hdy-action-row.c:382 src/hdy-action-row.c:383 src/hdy-expander-row.c:285 +#: src/hdy-header-bar.c:2107 src/hdy-view-switcher-title.c:272 +msgid "Subtitle" +msgstr "Azpititulua" + +#: src/hdy-action-row.c:397 src/hdy-expander-row.c:300 +#: src/hdy-preferences-row.c:130 +msgid "Use underline" +msgstr "Erabili azpimarra" + +#: src/hdy-action-row.c:398 src/hdy-expander-row.c:301 +#: src/hdy-preferences-row.c:131 +msgid "" +"If set, an underline in the text indicates the next character should be used " +"for the mnemonic accelerator key" +msgstr "" + +#: src/hdy-carousel-box.c:1088 src/hdy-carousel-box.c:1089 +#: src/hdy-carousel.c:575 src/hdy-carousel.c:576 +msgid "Number of pages" +msgstr "Orrialde kopurua" + +#: src/hdy-carousel-box.c:1104 src/hdy-carousel.c:592 src/hdy-header-bar.c:2093 +msgid "Position" +msgstr "Kokalekua" + +#: src/hdy-carousel-box.c:1105 src/hdy-carousel.c:593 +msgid "Current scrolling position" +msgstr "" + +#: src/hdy-carousel-box.c:1120 src/hdy-carousel.c:623 src/hdy-header-bar.c:2121 +msgid "Spacing" +msgstr "Tartea" + +#: src/hdy-carousel-box.c:1121 src/hdy-carousel.c:624 +msgid "Spacing between pages" +msgstr "Orrien arteko tartea" + +#: src/hdy-carousel-box.c:1137 src/hdy-carousel.c:668 +msgid "Reveal duration" +msgstr "" + +#: src/hdy-carousel-box.c:1138 src/hdy-carousel.c:669 +msgid "Page reveal duration" +msgstr "" + +#: src/hdy-carousel.c:609 +msgid "Interactive" +msgstr "Interaktiboa" + +#: src/hdy-carousel.c:610 +msgid "Whether the widget can be swiped" +msgstr "" + +#: src/hdy-carousel.c:639 +msgid "Animation duration" +msgstr "Animazioaren iraupena" + +#: src/hdy-carousel.c:640 +msgid "Default animation duration" +msgstr "Animazio lehenetsiaren iraupena" + +#: src/hdy-carousel.c:654 src/hdy-swipe-tracker.c:803 +msgid "Allow mouse drag" +msgstr "" + +#: src/hdy-carousel.c:655 src/hdy-swipe-tracker.c:804 +msgid "Whether to allow dragging with mouse pointer" +msgstr "" + +#: src/hdy-carousel-indicator-dots.c:392 src/hdy-carousel-indicator-dots.c:393 +#: src/hdy-carousel-indicator-lines.c:391 +#: src/hdy-carousel-indicator-lines.c:392 +msgid "Carousel" +msgstr "" + +#: src/hdy-clamp.c:417 +msgid "Maximum size" +msgstr "Gehieneko tamaina" + +#: src/hdy-clamp.c:418 +msgid "The maximum size allocated to the child" +msgstr "" + +#: src/hdy-clamp.c:442 +msgid "Tightening threshold" +msgstr "" + +#: src/hdy-clamp.c:443 +msgid "The size from which the clamp will tighten its grip on the child" +msgstr "" + +#: src/hdy-combo-row.c:416 +msgid "Selected index" +msgstr "Hautatutako indizea" + +#: src/hdy-combo-row.c:417 +msgid "The index of the selected item" +msgstr "Hautatutako elementuaren indizea" + +#: src/hdy-combo-row.c:435 +msgid "Use subtitle" +msgstr "Erabili azpititulua" + +#: src/hdy-combo-row.c:436 +msgid "Set the current value as the subtitle" +msgstr "" + +#: src/hdy-deck.c:888 +msgid "Horizontally homogeneous" +msgstr "" + +#: src/hdy-deck.c:889 +msgid "Horizontally homogeneous sizing" +msgstr "" + +#: src/hdy-deck.c:902 +msgid "Vertically homogeneous" +msgstr "" + +#: src/hdy-deck.c:903 +msgid "Vertically homogeneous sizing" +msgstr "" + +#: src/hdy-deck.c:916 src/hdy-leaflet.c:1018 src/hdy-squeezer.c:1098 +#: src/hdy-stackable-box.c:2993 +msgid "Visible child" +msgstr "Haur ikusgaia" + +#: src/hdy-deck.c:917 +msgid "The widget currently visible" +msgstr "" + +#: src/hdy-deck.c:930 src/hdy-leaflet.c:1025 src/hdy-stackable-box.c:3000 +msgid "Name of visible child" +msgstr "" + +#: src/hdy-deck.c:931 +msgid "The name of the widget currently visible" +msgstr "" + +#: src/hdy-deck.c:949 src/hdy-leaflet.c:1044 src/hdy-squeezer.c:1112 +#: src/hdy-stackable-box.c:3019 +msgid "Transition type" +msgstr "" + +#: src/hdy-deck.c:950 +msgid "The type of animation used to transition between children" +msgstr "" + +#: src/hdy-deck.c:963 src/hdy-header-bar.c:2203 src/hdy-squeezer.c:1105 +msgid "Transition duration" +msgstr "" + +#: src/hdy-deck.c:964 +msgid "The transition animation duration, in milliseconds" +msgstr "" + +#: src/hdy-deck.c:977 src/hdy-header-bar.c:2210 src/hdy-squeezer.c:1120 +msgid "Transition running" +msgstr "" + +#: src/hdy-deck.c:978 src/hdy-header-bar.c:2211 src/hdy-squeezer.c:1121 +msgid "Whether or not the transition is currently running" +msgstr "" + +#: src/hdy-deck.c:992 src/hdy-header-bar.c:2217 src/hdy-leaflet.c:1072 +#: src/hdy-squeezer.c:1127 src/hdy-stackable-box.c:3047 +msgid "Interpolate size" +msgstr "" + +#: src/hdy-deck.c:993 src/hdy-header-bar.c:2218 src/hdy-leaflet.c:1073 +#: src/hdy-squeezer.c:1128 src/hdy-stackable-box.c:3048 +msgid "" +"Whether or not the size should smoothly change when changing between " +"differently sized children" +msgstr "" + +#: src/hdy-deck.c:1007 src/hdy-leaflet.c:1087 src/hdy-preferences-window.c:520 +#: src/hdy-stackable-box.c:3062 +msgid "Can swipe back" +msgstr "" + +#: src/hdy-deck.c:1008 src/hdy-leaflet.c:1088 src/hdy-stackable-box.c:3063 +msgid "" +"Whether or not swipe gesture can be used to switch to the previous child" +msgstr "" + +#: src/hdy-deck.c:1022 src/hdy-leaflet.c:1102 src/hdy-stackable-box.c:3077 +msgid "Can swipe forward" +msgstr "" + +#: src/hdy-deck.c:1023 src/hdy-leaflet.c:1103 src/hdy-stackable-box.c:3078 +msgid "Whether or not swipe gesture can be used to switch to the next child" +msgstr "" + +#: src/hdy-deck.c:1031 src/hdy-leaflet.c:1111 +msgid "Name" +msgstr "Izena" + +#: src/hdy-deck.c:1032 src/hdy-leaflet.c:1112 +msgid "The name of the child page" +msgstr "Orri haurraren izena" + +#: src/hdy-expander-row.c:286 +msgid "The subtitle for this row" +msgstr "Errenkada honen azpititulua" + +#: src/hdy-expander-row.c:326 +msgid "Expanded" +msgstr "Hedatuta" + +#: src/hdy-expander-row.c:327 +msgid "Whether the row is expanded" +msgstr "Errenkada hedatuta dagoen ala ez" + +#: src/hdy-expander-row.c:338 +msgid "Enable expansion" +msgstr "Gaitu hedatzea" + +#: src/hdy-expander-row.c:339 +msgid "Whether the expansion is enabled" +msgstr "Hedatzea gaituta dagoen ala ez" + +#: src/hdy-expander-row.c:350 +msgid "Show enable switch" +msgstr "" + +#: src/hdy-expander-row.c:351 +msgid "Whether the switch enabling the expansion is visible" +msgstr "" + +#: src/hdy-header-bar.c:485 +msgid "Application menu" +msgstr "Aplikazioaren menua" + +#: src/hdy-header-bar.c:507 src/hdy-window-handle-controller.c:275 +msgid "Minimize" +msgstr "Minimizatu" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:241 +msgid "Restore" +msgstr "Leheneratu" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:284 +msgid "Maximize" +msgstr "Maximizatu" + +#: src/hdy-header-bar.c:547 src/hdy-window-handle-controller.c:311 +msgid "Close" +msgstr "Itxi" + +#: src/hdy-header-bar.c:563 +msgid "Back" +msgstr "Atzera" + +#: src/hdy-header-bar.c:2086 +msgid "Pack type" +msgstr "Pakete mota" + +#: src/hdy-header-bar.c:2087 +msgid "" +"A GtkPackType indicating whether the child is packed with reference to the " +"start or end of the parent" +msgstr "" + +#: src/hdy-header-bar.c:2094 +msgid "The index of the child in the parent" +msgstr "" + +#: src/hdy-header-bar.c:2100 src/hdy-preferences-group.c:265 +#: src/hdy-preferences-group.c:266 src/hdy-preferences-page.c:193 +#: src/hdy-preferences-page.c:194 src/hdy-preferences-row.c:115 +#: src/hdy-view-switcher-title.c:258 +msgid "Title" +msgstr "Titulua" + +#: src/hdy-header-bar.c:2101 src/hdy-view-switcher-title.c:259 +msgid "The title to display" +msgstr "Bistaratuko den titulua" + +#: src/hdy-header-bar.c:2108 src/hdy-view-switcher-title.c:273 +msgid "The subtitle to display" +msgstr "Bistaratuko den azpititulua" + +#: src/hdy-header-bar.c:2114 +msgid "Custom Title" +msgstr "Titulu pertsonalizatua" + +#: src/hdy-header-bar.c:2115 +msgid "Custom title widget to display" +msgstr "" + +#: src/hdy-header-bar.c:2122 +msgid "The amount of space between children" +msgstr "" + +#: src/hdy-header-bar.c:2141 +msgid "Show decorations" +msgstr "" + +#: src/hdy-header-bar.c:2142 +msgid "Whether to show window decorations" +msgstr "" + +#: src/hdy-header-bar.c:2160 +msgid "Decoration Layout" +msgstr "" + +#: src/hdy-header-bar.c:2161 +msgid "The layout for window decorations" +msgstr "" + +#: src/hdy-header-bar.c:2174 +msgid "Decoration Layout Set" +msgstr "" + +#: src/hdy-header-bar.c:2175 +msgid "Whether the decoration-layout property has been set" +msgstr "" + +#: src/hdy-header-bar.c:2189 +msgid "Has Subtitle" +msgstr "" + +#: src/hdy-header-bar.c:2190 +msgid "Whether to reserve space for a subtitle" +msgstr "" + +#: src/hdy-header-bar.c:2196 +msgid "Centering policy" +msgstr "" + +#: src/hdy-header-bar.c:2197 +msgid "The policy to horizontally align the center widget" +msgstr "" + +#: src/hdy-header-bar.c:2204 src/hdy-squeezer.c:1106 +msgid "The animation duration, in milliseconds" +msgstr "" + +#: src/hdy-header-group.c:827 +msgid "Decorate all" +msgstr "" + +#: src/hdy-header-group.c:828 +msgid "" +"Whether the elements of the group should all receive the full decoration" +msgstr "" + +#: src/hdy-keypad-button.c:225 +msgid "Digit" +msgstr "" + +#: src/hdy-keypad-button.c:226 +msgid "The keypad digit of the button" +msgstr "" + +#: src/hdy-keypad-button.c:232 +msgid "Symbols" +msgstr "" + +#: src/hdy-keypad-button.c:233 +msgid "The keypad symbols of the button. The first symbol is used as the digit" +msgstr "" + +#: src/hdy-keypad-button.c:239 +msgid "Show symbols" +msgstr "" + +#: src/hdy-keypad-button.c:240 +msgid "Whether the second line of symbols should be shown or not" +msgstr "" + +#: src/hdy-keypad.c:247 +msgid "Row spacing" +msgstr "" + +#: src/hdy-keypad.c:248 +msgid "The amount of space between two consecutive rows" +msgstr "" + +#: src/hdy-keypad.c:261 +msgid "Column spacing" +msgstr "" + +#: src/hdy-keypad.c:262 +msgid "The amount of space between two consecutive columns" +msgstr "" + +#: src/hdy-keypad.c:276 +msgid "Letters visible" +msgstr "" + +#: src/hdy-keypad.c:277 +msgid "Whether the letters below the digits should be visible" +msgstr "" + +#: src/hdy-keypad.c:291 +msgid "Symbols visible" +msgstr "" + +#: src/hdy-keypad.c:292 +msgid "Whether the hash, plus, and asterisk symbols should be visible" +msgstr "" + +#: src/hdy-keypad.c:306 +msgid "Entry" +msgstr "" + +#: src/hdy-keypad.c:307 +msgid "The entry widget connected to the keypad" +msgstr "" + +#: src/hdy-keypad.c:320 +msgid "End action" +msgstr "" + +#: src/hdy-keypad.c:321 +msgid "The end action widget" +msgstr "" + +#: src/hdy-keypad.c:334 +msgid "Start action" +msgstr "" + +#: src/hdy-keypad.c:335 +msgid "The start action widget" +msgstr "" + +#: src/hdy-leaflet.c:963 src/hdy-stackable-box.c:2938 +msgid "Folded" +msgstr "" + +#: src/hdy-leaflet.c:964 src/hdy-stackable-box.c:2939 +msgid "Whether the widget is folded" +msgstr "" + +#: src/hdy-leaflet.c:975 src/hdy-stackable-box.c:2950 +msgid "Horizontally homogeneous folded" +msgstr "" + +#: src/hdy-leaflet.c:976 +msgid "Horizontally homogeneous sizing when the leaflet is folded" +msgstr "" + +#: src/hdy-leaflet.c:987 src/hdy-stackable-box.c:2962 +msgid "Vertically homogeneous folded" +msgstr "" + +#: src/hdy-leaflet.c:988 +msgid "Vertically homogeneous sizing when the leaflet is folded" +msgstr "" + +#: src/hdy-leaflet.c:999 src/hdy-stackable-box.c:2974 +msgid "Box horizontally homogeneous" +msgstr "" + +#: src/hdy-leaflet.c:1000 +msgid "Horizontally homogeneous sizing when the leaflet is unfolded" +msgstr "" + +#: src/hdy-leaflet.c:1011 src/hdy-stackable-box.c:2986 +msgid "Box vertically homogeneous" +msgstr "" + +#: src/hdy-leaflet.c:1012 +msgid "Vertically homogeneous sizing when the leaflet is unfolded" +msgstr "" + +#: src/hdy-leaflet.c:1019 +msgid "The widget currently visible when the leaflet is folded" +msgstr "" + +#: src/hdy-leaflet.c:1026 src/hdy-stackable-box.c:3001 +msgid "The name of the widget currently visible when the children are stacked" +msgstr "" + +#: src/hdy-leaflet.c:1045 src/hdy-stackable-box.c:3020 +msgid "The type of animation used to transition between modes and children" +msgstr "" + +#: src/hdy-leaflet.c:1051 src/hdy-stackable-box.c:3026 +msgid "Mode transition duration" +msgstr "" + +#: src/hdy-leaflet.c:1052 src/hdy-stackable-box.c:3027 +msgid "The mode transition animation duration, in milliseconds" +msgstr "" + +#: src/hdy-leaflet.c:1058 src/hdy-stackable-box.c:3033 +msgid "Child transition duration" +msgstr "" + +#: src/hdy-leaflet.c:1059 src/hdy-stackable-box.c:3034 +msgid "The child transition animation duration, in milliseconds" +msgstr "" + +#: src/hdy-leaflet.c:1065 src/hdy-stackable-box.c:3040 +msgid "Child transition running" +msgstr "" + +#: src/hdy-leaflet.c:1066 src/hdy-stackable-box.c:3041 +msgid "Whether or not the child transition is currently running" +msgstr "" + +#: src/hdy-leaflet.c:1129 +msgid "Navigatable" +msgstr "" + +#: src/hdy-leaflet.c:1130 +msgid "Whether the child can be navigated to" +msgstr "" + +#: src/hdy-preferences-group.c:251 src/hdy-preferences-group.c:252 +msgid "Description" +msgstr "" + +#: src/hdy-preferences-row.c:116 +msgid "The title of the preference" +msgstr "" + +#: src/hdy-preferences-window.c:141 +msgid "Untitled page" +msgstr "" + +#: src/hdy-preferences-window.c:506 +msgid "Search enabled" +msgstr "" + +#: src/hdy-preferences-window.c:507 +msgid "Whether search is enabled" +msgstr "" + +#: src/hdy-preferences-window.c:521 +msgid "" +"Whether or not swipe gesture can be used to switch from a subpage to the " +"preferences" +msgstr "" + +#: src/hdy-preferences-window.ui:9 +msgid "Preferences" +msgstr "Hobespenak" + +#: src/hdy-preferences-window.ui:81 +msgid "Search" +msgstr "Bilatu" + +#: src/hdy-preferences-window.ui:204 +msgid "No Results Found" +msgstr "Ez da emaitzarik aurkitu" + +#: src/hdy-preferences-window.ui:219 +msgid "Try a different search" +msgstr "Saiatu bestelako bilaketa" + +#: src/hdy-search-bar.c:451 +msgid "Search Mode Enabled" +msgstr "Bilaketa-modua gaituta" + +#: src/hdy-search-bar.c:452 +msgid "Whether the search mode is on and the search bar shown" +msgstr "Bilaketa-modua gaituta dagoen eta bilaketa-barra bistan dagoen ala ez" + +#: src/hdy-search-bar.c:463 +msgid "Show Close Button" +msgstr "Erakutsi 'Itxi' botoia" + +#: src/hdy-search-bar.c:464 +msgid "Whether to show the close button in the toolbar" +msgstr "Tresna-barran 'Itxi' botoia erakutsiko den ala ez" + +#: src/hdy-shadow-helper.c:254 +msgid "Widget" +msgstr "Trepeta" + +#: src/hdy-shadow-helper.c:255 +msgid "The widget the shadow will be drawn for" +msgstr "" + +#: src/hdy-squeezer.c:1091 +msgid "Homogeneous" +msgstr "Homogeneoa" + +#: src/hdy-squeezer.c:1092 +msgid "Homogeneous sizing" +msgstr "Tamaina homogeneoa" + +#: src/hdy-squeezer.c:1099 +msgid "The widget currently visible in the squeezer" +msgstr "" + +#: src/hdy-squeezer.c:1113 +msgid "The type of animation used to transition" +msgstr "" + +#: src/hdy-squeezer.c:1148 +msgid "X align" +msgstr "" + +#: src/hdy-squeezer.c:1149 +msgid "The horizontal alignment, from 0 (start) to 1 (end)" +msgstr "" + +#: src/hdy-squeezer.c:1170 +msgid "Y align" +msgstr "" + +#: src/hdy-squeezer.c:1171 +msgid "The vertical alignment, from 0 (top) to 1 (bottom)" +msgstr "" + +#: src/hdy-squeezer.c:1180 src/hdy-swipe-tracker.c:773 +msgid "Enabled" +msgstr "" + +#: src/hdy-squeezer.c:1181 +msgid "" +"Whether the child can be picked or should be ignored when looking for the " +"child fitting the available size best" +msgstr "" + +#: src/hdy-stackable-box.c:2951 +msgid "Horizontally homogeneous sizing when the widget is folded" +msgstr "" + +#: src/hdy-stackable-box.c:2963 +msgid "Vertically homogeneous sizing when the widget is folded" +msgstr "" + +#: src/hdy-stackable-box.c:2975 +msgid "Horizontally homogeneous sizing when the widget is unfolded" +msgstr "" + +#: src/hdy-stackable-box.c:2987 +msgid "Vertically homogeneous sizing when the widget is unfolded" +msgstr "" + +#: src/hdy-stackable-box.c:2994 +msgid "The widget currently visible when the widget is folded" +msgstr "" + +#: src/hdy-stackable-box.c:3084 src/hdy-stackable-box.c:3085 +msgid "Orientation" +msgstr "" + +#: src/hdy-swipe-tracker.c:758 +msgid "Swipeable" +msgstr "" + +#: src/hdy-swipe-tracker.c:759 +msgid "The swipeable the swipe tracker is attached to" +msgstr "" + +#: src/hdy-swipe-tracker.c:774 +msgid "Whether the swipe tracker processes events" +msgstr "" + +#: src/hdy-swipe-tracker.c:788 +msgid "Reversed" +msgstr "" + +#: src/hdy-swipe-tracker.c:789 +msgid "Whether swipe direction is reversed" +msgstr "" + +#: src/hdy-title-bar.c:308 +msgid "Selection mode" +msgstr "" + +#: src/hdy-title-bar.c:309 +msgid "Whether or not the title bar is in selection mode" +msgstr "" + +#: src/hdy-value-object.c:191 +msgctxt "HdyValueObjectClass" +msgid "Value" +msgstr "" + +#: src/hdy-value-object.c:192 +msgctxt "HdyValueObjectClass" +msgid "The contained value" +msgstr "" + +#: src/hdy-view-switcher-bar.c:178 src/hdy-view-switcher.c:509 +#: src/hdy-view-switcher-title.c:230 +msgid "Policy" +msgstr "" + +#: src/hdy-view-switcher-bar.c:179 src/hdy-view-switcher.c:510 +#: src/hdy-view-switcher-title.c:231 +msgid "The policy to determine the mode to use" +msgstr "" + +#: src/hdy-view-switcher-bar.c:192 src/hdy-view-switcher-bar.c:193 +#: src/hdy-view-switcher.c:544 src/hdy-view-switcher.c:545 +#: src/hdy-view-switcher-title.c:244 src/hdy-view-switcher-title.c:245 +msgid "Stack" +msgstr "" + +#: src/hdy-view-switcher-bar.c:206 +msgid "Reveal" +msgstr "" + +#: src/hdy-view-switcher-bar.c:207 +msgid "Whether the view switcher is revealed" +msgstr "" + +#: src/hdy-view-switcher-button.c:203 +msgid "Icon Name" +msgstr "" + +#: src/hdy-view-switcher-button.c:204 +msgid "Icon name for image" +msgstr "" + +#: src/hdy-view-switcher-button.c:217 +msgid "Icon Size" +msgstr "" + +#: src/hdy-view-switcher-button.c:218 +msgid "Symbolic size to use for named icon" +msgstr "" + +#: src/hdy-view-switcher-button.c:234 +msgid "Needs attention" +msgstr "" + +#: src/hdy-view-switcher-button.c:235 +msgid "Hint the view needs attention" +msgstr "" + +#: src/hdy-view-switcher.c:529 +msgid "Narrow ellipsize" +msgstr "" + +#: src/hdy-view-switcher.c:530 +msgid "" +"The preferred place to ellipsize the string, if the narrow mode label does " +"not have enough room to display the entire string" +msgstr "" + +#: src/hdy-view-switcher-title.c:286 +msgid "View switcher enabled" +msgstr "" + +#: src/hdy-view-switcher-title.c:287 +msgid "Whether the view switcher is enabled" +msgstr "" + +#: src/hdy-view-switcher-title.c:300 +msgid "Title visible" +msgstr "" + +#: src/hdy-view-switcher-title.c:301 +msgid "Whether the title label is visible" +msgstr "" + +#: src/hdy-window-handle-controller.c:259 +msgid "Move" +msgstr "" + +#: src/hdy-window-handle-controller.c:267 +msgid "Resize" +msgstr "" + +#: src/hdy-window-handle-controller.c:298 +msgid "Always on Top" +msgstr "" diff --git a/subprojects/libhandy/po/fr.po b/subprojects/libhandy/po/fr.po new file mode 100644 index 00000000..ef1d5fa7 --- /dev/null +++ b/subprojects/libhandy/po/fr.po @@ -0,0 +1,890 @@ +# French translation for libhandy. +# Copyright (C) 2020 libhandy's COPYRIGHT HOLDER +# This file is distributed under the same license as the libhandy package. +# Adrien Plazas , 2020 +# Claude Paroz , 2020 +# +msgid "" +msgstr "" +"Project-Id-Version: libhandy master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libhandy/issues\n" +"POT-Creation-Date: 2020-08-27 12:30+0000\n" +"PO-Revision-Date: 2020-09-11 19:49+0200\n" +"Last-Translator: Adrien Plazas \n" +"Language-Team: GNOME French Team \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"X-Generator: Gtranslator 3.36.0\n" + +#: glade/glade-hdy-carousel.c:160 glade/glade-hdy-header-bar.c:118 +#: glade/glade-hdy-leaflet.c:184 +#, c-format +msgid "Insert placeholder to %s" +msgstr "Insérer un substituant dans %s" + +#: glade/glade-hdy-carousel.c:189 glade/glade-hdy-header-bar.c:144 +#: glade/glade-hdy-leaflet.c:214 +#, c-format +msgid "Remove placeholder from %s" +msgstr "Retirer le substituant de %s" + +#: glade/glade-hdy-header-bar.c:18 +msgid "This property does not apply when a custom title is set" +msgstr "" +"Cette propriété ne s’applique pas lorsqu’un titre personnalisé est défini" + +#: glade/glade-hdy-header-bar.c:289 +msgid "" +"The decoration layout does not apply to header bars which do no show window " +"controls" +msgstr "" +"La disposition de décoration ne s’applique pas aux barres d’en-tête qui " +"n’affichent pas les contrôles de fenêtre" + +#: glade/glade-hdy-leaflet.c:19 +msgid "This property only applies when the leaflet is folded" +msgstr "Cette prorpiété ne s’applique que lorsque le dépliant est replié" + +#: glade/glade-hdy-preferences-page.c:160 +#, c-format +msgid "Add group to %s" +msgstr "Ajouter le groupe à %s" + +#: glade/glade-hdy-preferences-window.c:228 +#, c-format +msgid "Add page to %s" +msgstr "Ajouter la page à %s" + +#: glade/glade-hdy-search-bar.c:101 +msgid "Search bar is already full" +msgstr "La barre de recherche est déjà pleine" + +#: glade/glade-hdy-utils.h:13 +#, c-format +msgid "Only objects of type %s can be added to objects of type %s." +msgstr "" +"Seuls des objets de type %s peuvent être ajoutés à des objets de type %s." + +#: src/hdy-action-row.c:354 src/hdy-action-row.c:355 src/hdy-expander-row.c:314 +#: src/hdy-expander-row.c:315 src/hdy-preferences-page.c:179 +#: src/hdy-preferences-page.c:180 +msgid "Icon name" +msgstr "Nom de l’icône" + +#: src/hdy-action-row.c:368 +msgid "Activatable widget" +msgstr "Élément graphique activable" + +#: src/hdy-action-row.c:369 +msgid "The widget to be activated when the row is activated" +msgstr "L’élément graphique à activer quand la ligne est activée" + +#: src/hdy-action-row.c:382 src/hdy-action-row.c:383 src/hdy-expander-row.c:285 +#: src/hdy-header-bar.c:2107 src/hdy-view-switcher-title.c:272 +msgid "Subtitle" +msgstr "Sous-titre" + +#: src/hdy-action-row.c:397 src/hdy-expander-row.c:300 +#: src/hdy-preferences-row.c:130 +msgid "Use underline" +msgstr "Utiliser le soulignement" + +#: src/hdy-action-row.c:398 src/hdy-expander-row.c:301 +#: src/hdy-preferences-row.c:131 +msgid "" +"If set, an underline in the text indicates the next character should be used " +"for the mnemonic accelerator key" +msgstr "" +"Si défini, un souligné (« _ ») dans le texte indique que le caractère " +"suivant est le mnémonique de la touche accélérateur" + +#: src/hdy-carousel-box.c:1088 src/hdy-carousel-box.c:1089 +#: src/hdy-carousel.c:575 src/hdy-carousel.c:576 +msgid "Number of pages" +msgstr "Nombre de pages" + +#: src/hdy-carousel-box.c:1104 src/hdy-carousel.c:592 src/hdy-header-bar.c:2093 +msgid "Position" +msgstr "Position" + +#: src/hdy-carousel-box.c:1105 src/hdy-carousel.c:593 +msgid "Current scrolling position" +msgstr "La position actuelle du défilement" + +#: src/hdy-carousel-box.c:1120 src/hdy-carousel.c:623 src/hdy-header-bar.c:2121 +msgid "Spacing" +msgstr "Espacement" + +#: src/hdy-carousel-box.c:1121 src/hdy-carousel.c:624 +msgid "Spacing between pages" +msgstr "L’espacement entre les pages" + +#: src/hdy-carousel-box.c:1137 src/hdy-carousel.c:668 +msgid "Reveal duration" +msgstr "Durée de révélation" + +#: src/hdy-carousel-box.c:1138 src/hdy-carousel.c:669 +msgid "Page reveal duration" +msgstr "Durée de révélation des pages" + +#: src/hdy-carousel.c:609 +msgid "Interactive" +msgstr "Interactif" + +#: src/hdy-carousel.c:610 +msgid "Whether the widget can be swiped" +msgstr "Indique si l’élément graphique peut être balayé" + +#: src/hdy-carousel.c:639 +msgid "Animation duration" +msgstr "Durée d’animation" + +#: src/hdy-carousel.c:640 +msgid "Default animation duration" +msgstr "Durée d’animation par défaut" + +#: src/hdy-carousel.c:654 src/hdy-swipe-tracker.c:803 +msgid "Allow mouse drag" +msgstr "Autoriser le glissement par la souris" + +#: src/hdy-carousel.c:655 src/hdy-swipe-tracker.c:804 +msgid "Whether to allow dragging with mouse pointer" +msgstr "Indique s’il est autorisé de glisser avec le pointeur de la souris" + +#: src/hdy-carousel-indicator-dots.c:392 src/hdy-carousel-indicator-dots.c:393 +#: src/hdy-carousel-indicator-lines.c:391 +#: src/hdy-carousel-indicator-lines.c:392 +msgid "Carousel" +msgstr "Carrousel" + +#: src/hdy-clamp.c:417 +msgid "Maximum size" +msgstr "Taille maximale" + +#: src/hdy-clamp.c:418 +msgid "The maximum size allocated to the child" +msgstr "La taille maximale allouée à l’enfant" + +#: src/hdy-clamp.c:442 +msgid "Tightening threshold" +msgstr "Seuil de contraction" + +#: src/hdy-clamp.c:443 +msgid "The size from which the clamp will tighten its grip on the child" +msgstr "" +"La taille à partir de laquelle la pince va resserrer son emprise sur l’enfant" + +#: src/hdy-combo-row.c:416 +msgid "Selected index" +msgstr "Élément sélectionné" + +#: src/hdy-combo-row.c:417 +msgid "The index of the selected item" +msgstr "L’index de l’élément sélectionné" + +#: src/hdy-combo-row.c:435 +msgid "Use subtitle" +msgstr "Utiliser le sous-titre" + +#: src/hdy-combo-row.c:436 +msgid "Set the current value as the subtitle" +msgstr "Définit la valeur actuelle comme sous-titre" + +#: src/hdy-deck.c:888 +msgid "Horizontally homogeneous" +msgstr "Homogénéité horizontale" + +#: src/hdy-deck.c:889 +msgid "Horizontally homogeneous sizing" +msgstr "Dimensionnement homogène horizontalement" + +#: src/hdy-deck.c:902 +msgid "Vertically homogeneous" +msgstr "Homogénéité verticale" + +#: src/hdy-deck.c:903 +msgid "Vertically homogeneous sizing" +msgstr "Dimensionnement homogène verticalement" + +#: src/hdy-deck.c:916 src/hdy-leaflet.c:1018 src/hdy-squeezer.c:1098 +#: src/hdy-stackable-box.c:2993 +msgid "Visible child" +msgstr "Enfant visible" + +#: src/hdy-deck.c:917 +msgid "The widget currently visible" +msgstr "L’élément graphique actuellement visible" + +#: src/hdy-deck.c:930 src/hdy-leaflet.c:1025 src/hdy-stackable-box.c:3000 +msgid "Name of visible child" +msgstr "Nom de l’enfant visible" + +#: src/hdy-deck.c:931 +msgid "The name of the widget currently visible" +msgstr "Le nom de l’élément graphique actuellement visible" + +#: src/hdy-deck.c:949 src/hdy-leaflet.c:1044 src/hdy-squeezer.c:1112 +#: src/hdy-stackable-box.c:3019 +msgid "Transition type" +msgstr "Type de transition" + +#: src/hdy-deck.c:950 +msgid "The type of animation used to transition between children" +msgstr "Le type d’animation utilisé pour la transition entre enfants" + +#: src/hdy-deck.c:963 src/hdy-header-bar.c:2203 src/hdy-squeezer.c:1105 +msgid "Transition duration" +msgstr "Durée de transition" + +#: src/hdy-deck.c:964 +msgid "The transition animation duration, in milliseconds" +msgstr "La durée d’animation de transition, en millisecondes" + +#: src/hdy-deck.c:977 src/hdy-header-bar.c:2210 src/hdy-squeezer.c:1120 +msgid "Transition running" +msgstr "Transition en cours" + +#: src/hdy-deck.c:978 src/hdy-header-bar.c:2211 src/hdy-squeezer.c:1121 +msgid "Whether or not the transition is currently running" +msgstr "Indique si la transition est actuellement en cours" + +#: src/hdy-deck.c:992 src/hdy-header-bar.c:2217 src/hdy-leaflet.c:1072 +#: src/hdy-squeezer.c:1127 src/hdy-stackable-box.c:3047 +msgid "Interpolate size" +msgstr "Interpoler la taille" + +#: src/hdy-deck.c:993 src/hdy-header-bar.c:2218 src/hdy-leaflet.c:1073 +#: src/hdy-squeezer.c:1128 src/hdy-stackable-box.c:3048 +msgid "" +"Whether or not the size should smoothly change when changing between " +"differently sized children" +msgstr "" +"Indique si la taille doit s’adapter harmonieusement lors du basculement " +"entre des enfants de tailles différentes" + +#: src/hdy-deck.c:1007 src/hdy-leaflet.c:1087 src/hdy-preferences-window.c:520 +#: src/hdy-stackable-box.c:3062 +msgid "Can swipe back" +msgstr "Peut balayer vers l’arrière" + +#: src/hdy-deck.c:1008 src/hdy-leaflet.c:1088 src/hdy-stackable-box.c:3063 +msgid "" +"Whether or not swipe gesture can be used to switch to the previous child" +msgstr "" +"Indique si la gestuelle de balayage peut être utilisée pour basculer vers " +"l’enfant précédent" + +#: src/hdy-deck.c:1022 src/hdy-leaflet.c:1102 src/hdy-stackable-box.c:3077 +msgid "Can swipe forward" +msgstr "Peut balayer vers l’avant" + +#: src/hdy-deck.c:1023 src/hdy-leaflet.c:1103 src/hdy-stackable-box.c:3078 +msgid "Whether or not swipe gesture can be used to switch to the next child" +msgstr "" +"Indique si la gestuelle de balayage peut être utilisée pour basculer vers " +"l’enfant suivant" + +#: src/hdy-deck.c:1031 src/hdy-leaflet.c:1111 +msgid "Name" +msgstr "Nom" + +#: src/hdy-deck.c:1032 src/hdy-leaflet.c:1112 +msgid "The name of the child page" +msgstr "Le nom de la page fille" + +#: src/hdy-expander-row.c:286 +msgid "The subtitle for this row" +msgstr "Le sous-titre de cette ligne" + +#: src/hdy-expander-row.c:326 +msgid "Expanded" +msgstr "Développée" + +#: src/hdy-expander-row.c:327 +msgid "Whether the row is expanded" +msgstr "Indique si la ligne est développée" + +#: src/hdy-expander-row.c:338 +msgid "Enable expansion" +msgstr "Autoriser le développement" + +#: src/hdy-expander-row.c:339 +msgid "Whether the expansion is enabled" +msgstr "Indique si le développement est autorisé" + +#: src/hdy-expander-row.c:350 +msgid "Show enable switch" +msgstr "Afficher la bascule d’autorisation" + +#: src/hdy-expander-row.c:351 +msgid "Whether the switch enabling the expansion is visible" +msgstr "" +"Indique s’il faut afficher la bascule d’autorisation de développement de la " +"ligne" + +#: src/hdy-header-bar.c:485 +msgid "Application menu" +msgstr "Menu de l’application" + +#: src/hdy-header-bar.c:507 src/hdy-window-handle-controller.c:275 +msgid "Minimize" +msgstr "Réduire" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:241 +msgid "Restore" +msgstr "Restaurer" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:284 +msgid "Maximize" +msgstr "Maximiser" + +#: src/hdy-header-bar.c:547 src/hdy-window-handle-controller.c:311 +msgid "Close" +msgstr "Fermer" + +#: src/hdy-header-bar.c:563 +msgid "Back" +msgstr "Retour" + +#: src/hdy-header-bar.c:2086 +msgid "Pack type" +msgstr "Type d’empaquetage" + +#: src/hdy-header-bar.c:2087 +msgid "" +"A GtkPackType indicating whether the child is packed with reference to the " +"start or end of the parent" +msgstr "" +"Le GtkPackType indiquant si l’élément enfant est placé par rapport au début " +"ou la fin du conteneur parent" + +#: src/hdy-header-bar.c:2094 +msgid "The index of the child in the parent" +msgstr "Le rang de l’élément enfant dans le parent" + +#: src/hdy-header-bar.c:2100 src/hdy-preferences-group.c:265 +#: src/hdy-preferences-group.c:266 src/hdy-preferences-page.c:193 +#: src/hdy-preferences-page.c:194 src/hdy-preferences-row.c:115 +#: src/hdy-view-switcher-title.c:258 +msgid "Title" +msgstr "Titre" + +#: src/hdy-header-bar.c:2101 src/hdy-view-switcher-title.c:259 +msgid "The title to display" +msgstr "Le titre à afficher" + +#: src/hdy-header-bar.c:2108 src/hdy-view-switcher-title.c:273 +msgid "The subtitle to display" +msgstr "Le sous-titre à afficher" + +#: src/hdy-header-bar.c:2114 +msgid "Custom Title" +msgstr "Titre personnalisé" + +#: src/hdy-header-bar.c:2115 +msgid "Custom title widget to display" +msgstr "Élément graphique de titre personnalisé à afficher" + +#: src/hdy-header-bar.c:2122 +msgid "The amount of space between children" +msgstr "L’espacement entre éléments enfants" + +#: src/hdy-header-bar.c:2141 +msgid "Show decorations" +msgstr "Afficher les décorations" + +#: src/hdy-header-bar.c:2142 +msgid "Whether to show window decorations" +msgstr "Indique s’il faut afficher les décorations de fenêtre" + +#: src/hdy-header-bar.c:2160 +msgid "Decoration Layout" +msgstr "Disposition de décoration" + +#: src/hdy-header-bar.c:2161 +msgid "The layout for window decorations" +msgstr "La disposition des décorations de fenêtres" + +#: src/hdy-header-bar.c:2174 +msgid "Decoration Layout Set" +msgstr "Disposition de décoration définie" + +#: src/hdy-header-bar.c:2175 +msgid "Whether the decoration-layout property has been set" +msgstr "Indique si la propriété « decoration-layout » a été définie" + +#: src/hdy-header-bar.c:2189 +msgid "Has Subtitle" +msgstr "Possède un sous-titre" + +#: src/hdy-header-bar.c:2190 +msgid "Whether to reserve space for a subtitle" +msgstr "Indique s’il convient de réserver de l’espace pour un sous-titre" + +#: src/hdy-header-bar.c:2196 +msgid "Centering policy" +msgstr "Politique de centrage" + +#: src/hdy-header-bar.c:2197 +msgid "The policy to horizontally align the center widget" +msgstr "La politique pour centrer horizontalement l’élément graphique" + +#: src/hdy-header-bar.c:2204 src/hdy-squeezer.c:1106 +msgid "The animation duration, in milliseconds" +msgstr "La durée d’animation, en millisecondes" + +#: src/hdy-header-group.c:827 +msgid "Decorate all" +msgstr "Tout décorer" + +#: src/hdy-header-group.c:828 +msgid "" +"Whether the elements of the group should all receive the full decoration" +msgstr "" +"Indique si les éléments du groupe doivent tous recevoir la décoration " +"complète" + +#: src/hdy-keypad-button.c:225 +msgid "Digit" +msgstr "Chiffre" + +#: src/hdy-keypad-button.c:226 +msgid "The keypad digit of the button" +msgstr "Le chiffre du bouton du pavé numérique" + +#: src/hdy-keypad-button.c:232 +msgid "Symbols" +msgstr "Symboles" + +#: src/hdy-keypad-button.c:233 +msgid "The keypad symbols of the button. The first symbol is used as the digit" +msgstr "" +"Les symboles du bouton du pavé numérique, le premier symbole sera utilisé " +"comme chiffre" + +#: src/hdy-keypad-button.c:239 +msgid "Show symbols" +msgstr "Afficher les symboles" + +#: src/hdy-keypad-button.c:240 +msgid "Whether the second line of symbols should be shown or not" +msgstr "Indique si la seconde ligne de symboles devrait être affichée ou pas" + +#: src/hdy-keypad.c:247 +msgid "Row spacing" +msgstr "Espacement des lignes" + +#: src/hdy-keypad.c:248 +msgid "The amount of space between two consecutive rows" +msgstr "Espace entre deux lignes consécutives" + +#: src/hdy-keypad.c:261 +msgid "Column spacing" +msgstr "Espacement des colonnes" + +#: src/hdy-keypad.c:262 +msgid "The amount of space between two consecutive columns" +msgstr "Espace entre deux colonnes consécutives" + +#: src/hdy-keypad.c:276 +msgid "Letters visible" +msgstr "Lettres visibles" + +#: src/hdy-keypad.c:277 +msgid "Whether the letters below the digits should be visible" +msgstr "Indique si les lettres sous les chiffres devraient être visibles" + +#: src/hdy-keypad.c:291 +msgid "Symbols visible" +msgstr "Symboles visibles" + +#: src/hdy-keypad.c:292 +msgid "Whether the hash, plus, and asterisk symbols should be visible" +msgstr "" +"Indique si le croisillon, le plus et l’astérisque devraient être visibles" + +#: src/hdy-keypad.c:306 +msgid "Entry" +msgstr "Champ de saisie" + +#: src/hdy-keypad.c:307 +msgid "The entry widget connected to the keypad" +msgstr "Le champ de saisie connecté au pavé numérique" + +#: src/hdy-keypad.c:320 +msgid "End action" +msgstr "Action de fin" + +#: src/hdy-keypad.c:321 +msgid "The end action widget" +msgstr "L’élément graphique d’action de fin" + +#: src/hdy-keypad.c:334 +msgid "Start action" +msgstr "Action de début" + +#: src/hdy-keypad.c:335 +msgid "The start action widget" +msgstr "L’élément graphique d’action de début" + +#: src/hdy-leaflet.c:963 src/hdy-stackable-box.c:2938 +msgid "Folded" +msgstr "Replié" + +#: src/hdy-leaflet.c:964 src/hdy-stackable-box.c:2939 +msgid "Whether the widget is folded" +msgstr "Indique si l’élément graphique est replié" + +#: src/hdy-leaflet.c:975 src/hdy-stackable-box.c:2950 +msgid "Horizontally homogeneous folded" +msgstr "Homogénéité horizontale si replié" + +#: src/hdy-leaflet.c:976 +msgid "Horizontally homogeneous sizing when the leaflet is folded" +msgstr "Dimensionnement homogène horizontalement quand le dépliant est replié" + +#: src/hdy-leaflet.c:987 src/hdy-stackable-box.c:2962 +msgid "Vertically homogeneous folded" +msgstr "Homogénéité verticale si replié" + +#: src/hdy-leaflet.c:988 +msgid "Vertically homogeneous sizing when the leaflet is folded" +msgstr "Dimensionnement homogène verticalement quand le dépliant est replié" + +#: src/hdy-leaflet.c:999 src/hdy-stackable-box.c:2974 +msgid "Box horizontally homogeneous" +msgstr "Homogénéité horizontale de la boîte" + +#: src/hdy-leaflet.c:1000 +msgid "Horizontally homogeneous sizing when the leaflet is unfolded" +msgstr "Dimensionnement homogène horizontalement quand le dépliant est déplié" + +#: src/hdy-leaflet.c:1011 src/hdy-stackable-box.c:2986 +msgid "Box vertically homogeneous" +msgstr "Homogénéité verticale de la boîte" + +#: src/hdy-leaflet.c:1012 +msgid "Vertically homogeneous sizing when the leaflet is unfolded" +msgstr "Dimensionnement homogène verticalement quand le dépliant est déplié" + +#: src/hdy-leaflet.c:1019 +msgid "The widget currently visible when the leaflet is folded" +msgstr "L’élément graphique actuellement visible quand le dépliant est replié" + +#: src/hdy-leaflet.c:1026 src/hdy-stackable-box.c:3001 +msgid "The name of the widget currently visible when the children are stacked" +msgstr "" +"Le nom de l’élément graphique actuellement visible quand les enfants sont " +"empilés" + +#: src/hdy-leaflet.c:1045 src/hdy-stackable-box.c:3020 +msgid "The type of animation used to transition between modes and children" +msgstr "" +"Le type d’animation utilisé pour la transition entres les modes et les " +"enfants" + +#: src/hdy-leaflet.c:1051 src/hdy-stackable-box.c:3026 +msgid "Mode transition duration" +msgstr "Durée de transition de mode" + +#: src/hdy-leaflet.c:1052 src/hdy-stackable-box.c:3027 +msgid "The mode transition animation duration, in milliseconds" +msgstr "La durée d’animation de transition de mode, en millisecondes" + +#: src/hdy-leaflet.c:1058 src/hdy-stackable-box.c:3033 +msgid "Child transition duration" +msgstr "Durée de transition entre enfants" + +#: src/hdy-leaflet.c:1059 src/hdy-stackable-box.c:3034 +msgid "The child transition animation duration, in milliseconds" +msgstr "La durée d’animation de transition entre enfants, en millisecondes" + +#: src/hdy-leaflet.c:1065 src/hdy-stackable-box.c:3040 +msgid "Child transition running" +msgstr "Transition d’enfant en cours" + +#: src/hdy-leaflet.c:1066 src/hdy-stackable-box.c:3041 +msgid "Whether or not the child transition is currently running" +msgstr "Indique si la transition entre enfants est actuellement en cours" + +#: src/hdy-leaflet.c:1129 +msgid "Navigatable" +msgstr "Navigable" + +#: src/hdy-leaflet.c:1130 +msgid "Whether the child can be navigated to" +msgstr "Indique s’il est possible de naviguer vers l’enfant" + +#: src/hdy-preferences-group.c:251 src/hdy-preferences-group.c:252 +msgid "Description" +msgstr "Description" + +#: src/hdy-preferences-row.c:116 +msgid "The title of the preference" +msgstr "Le titre de la préférence" + +#: src/hdy-preferences-window.c:141 +msgid "Untitled page" +msgstr "Page sans titre" + +#: src/hdy-preferences-window.c:506 +msgid "Search enabled" +msgstr "Recherche activée" + +#: src/hdy-preferences-window.c:507 +msgid "Whether search is enabled" +msgstr "Indique si la recherche est activée" + +#: src/hdy-preferences-window.c:521 +msgid "" +"Whether or not swipe gesture can be used to switch from a subpage to the " +"preferences" +msgstr "" +"Indique si la gestuelle de balayage peut être utilisée pour basculer d’une " +"sous-page vers les préférences" + +#: src/hdy-preferences-window.ui:9 +msgid "Preferences" +msgstr "Préférences" + +#: src/hdy-preferences-window.ui:81 +msgid "Search" +msgstr "Recherche" + +#: src/hdy-preferences-window.ui:204 +msgid "No Results Found" +msgstr "Aucun résultat trouvé" + +#: src/hdy-preferences-window.ui:219 +msgid "Try a different search" +msgstr "Essayer une recherche différente" + +#: src/hdy-search-bar.c:451 +msgid "Search Mode Enabled" +msgstr "Mode de recherche activé" + +#: src/hdy-search-bar.c:452 +msgid "Whether the search mode is on and the search bar shown" +msgstr "" +"Indique si le mode de recherche est activé et si la barre de recherche est " +"affichée" + +#: src/hdy-search-bar.c:463 +msgid "Show Close Button" +msgstr "Afficher le bouton Fermer" + +#: src/hdy-search-bar.c:464 +msgid "Whether to show the close button in the toolbar" +msgstr "" +"Indique si le bouton de fermeture doit être affiché dans la barre d’outils" + +#: src/hdy-shadow-helper.c:254 +msgid "Widget" +msgstr "Élément graphique" + +#: src/hdy-shadow-helper.c:255 +msgid "The widget the shadow will be drawn for" +msgstr "L’élément graphique pour lequel l’ombre sera dessinée" + +#: src/hdy-squeezer.c:1091 +msgid "Homogeneous" +msgstr "Homogène" + +#: src/hdy-squeezer.c:1092 +msgid "Homogeneous sizing" +msgstr "Dimensionnement homogène" + +#: src/hdy-squeezer.c:1099 +msgid "The widget currently visible in the squeezer" +msgstr "L’élément graphique actuellement visible dans la presse" + +#: src/hdy-squeezer.c:1113 +msgid "The type of animation used to transition" +msgstr "Le type d’animation utilisé pour la transition" + +#: src/hdy-squeezer.c:1148 +msgid "X align" +msgstr "Alignement X" + +#: src/hdy-squeezer.c:1149 +msgid "The horizontal alignment, from 0 (start) to 1 (end)" +msgstr "Alignement horizontal, de 0 (début) à 1 (fin)" + +#: src/hdy-squeezer.c:1170 +msgid "Y align" +msgstr "Alignement Y" + +#: src/hdy-squeezer.c:1171 +msgid "The vertical alignment, from 0 (top) to 1 (bottom)" +msgstr "L’alignement vertical, de 0 (haut) à 1 (bas)" + +#: src/hdy-squeezer.c:1180 src/hdy-swipe-tracker.c:773 +msgid "Enabled" +msgstr "Activé" + +#: src/hdy-squeezer.c:1181 +msgid "" +"Whether the child can be picked or should be ignored when looking for the " +"child fitting the available size best" +msgstr "" +"Indique si l’enfant peut être sélectionné ou doit être ignoré lors de la " +"recherche de l’enfant correspondant le mieux à la taille disponible" + +#: src/hdy-stackable-box.c:2951 +msgid "Horizontally homogeneous sizing when the widget is folded" +msgstr "" +"Dimensionnement homogène horizontalement quand l’élément graphique est replié" + +#: src/hdy-stackable-box.c:2963 +msgid "Vertically homogeneous sizing when the widget is folded" +msgstr "" +"Dimensionnement homogène verticalement quand l’élément graphique est replié" + +#: src/hdy-stackable-box.c:2975 +msgid "Horizontally homogeneous sizing when the widget is unfolded" +msgstr "" +"Dimensionnement homogène horizontalement quand l’élément graphique est déplié" + +#: src/hdy-stackable-box.c:2987 +msgid "Vertically homogeneous sizing when the widget is unfolded" +msgstr "" +"Dimensionnement homogène verticalement quand l’élément graphique est déplié" + +#: src/hdy-stackable-box.c:2994 +msgid "The widget currently visible when the widget is folded" +msgstr "" +"L’élément graphique actuellement visible quand l’élément graphique est replié" + +#: src/hdy-stackable-box.c:3084 src/hdy-stackable-box.c:3085 +msgid "Orientation" +msgstr "Orientation" + +#: src/hdy-swipe-tracker.c:758 +msgid "Swipeable" +msgstr "Balayable" + +#: src/hdy-swipe-tracker.c:759 +msgid "The swipeable the swipe tracker is attached to" +msgstr "L’élément balayable auquel le traqueur de balayage est attaché" + +#: src/hdy-swipe-tracker.c:774 +msgid "Whether the swipe tracker processes events" +msgstr "Indique si le traqueur de balayage traite les évènements" + +#: src/hdy-swipe-tracker.c:788 +msgid "Reversed" +msgstr "Inversé" + +#: src/hdy-swipe-tracker.c:789 +msgid "Whether swipe direction is reversed" +msgstr "Indique si la direction de balayage est inversée" + +#: src/hdy-title-bar.c:308 +msgid "Selection mode" +msgstr "Mode de sélection" + +#: src/hdy-title-bar.c:309 +msgid "Whether or not the title bar is in selection mode" +msgstr "Indique si la barre de titre est dans le mode de sélection" + +#: src/hdy-value-object.c:191 +msgctxt "HdyValueObjectClass" +msgid "Value" +msgstr "Valeur" + +#: src/hdy-value-object.c:192 +msgctxt "HdyValueObjectClass" +msgid "The contained value" +msgstr "La valeur contenue" + +#: src/hdy-view-switcher-bar.c:178 src/hdy-view-switcher.c:509 +#: src/hdy-view-switcher-title.c:230 +msgid "Policy" +msgstr "Politique" + +#: src/hdy-view-switcher-bar.c:179 src/hdy-view-switcher.c:510 +#: src/hdy-view-switcher-title.c:231 +msgid "The policy to determine the mode to use" +msgstr "La politique déterminant le mode à utiliser" + +#: src/hdy-view-switcher-bar.c:192 src/hdy-view-switcher-bar.c:193 +#: src/hdy-view-switcher.c:544 src/hdy-view-switcher.c:545 +#: src/hdy-view-switcher-title.c:244 src/hdy-view-switcher-title.c:245 +msgid "Stack" +msgstr "Pile" + +#: src/hdy-view-switcher-bar.c:206 +msgid "Reveal" +msgstr "Révéler" + +#: src/hdy-view-switcher-bar.c:207 +msgid "Whether the view switcher is revealed" +msgstr "Indique si le basculeur de vue est révélé" + +#: src/hdy-view-switcher-button.c:203 +msgid "Icon Name" +msgstr "Nom de l’icône" + +#: src/hdy-view-switcher-button.c:204 +msgid "Icon name for image" +msgstr "Le nom de l’icône de l’image" + +#: src/hdy-view-switcher-button.c:217 +msgid "Icon Size" +msgstr "Taille de l’icône" + +#: src/hdy-view-switcher-button.c:218 +msgid "Symbolic size to use for named icon" +msgstr "Taille symbolique à utiliser pour l’icône nommée" + +#: src/hdy-view-switcher-button.c:234 +msgid "Needs attention" +msgstr "Attention requise" + +#: src/hdy-view-switcher-button.c:235 +msgid "Hint the view needs attention" +msgstr "Indique si cette page requiert de l’attention" + +#: src/hdy-view-switcher.c:529 +msgid "Narrow ellipsize" +msgstr "Abréviation en mode étroit" + +#: src/hdy-view-switcher.c:530 +msgid "" +"The preferred place to ellipsize the string, if the narrow mode label does " +"not have enough room to display the entire string" +msgstr "" +"La zone de la chaîne où raccourcir de préférence la chaîne de caractères, " +"si le basculeur de vue en mode étroit ne dispose pas d’assez de place pour " +"afficher la chaîne en entier" + +#: src/hdy-view-switcher-title.c:286 +msgid "View switcher enabled" +msgstr "Basculeur de vue activé" + +#: src/hdy-view-switcher-title.c:287 +msgid "Whether the view switcher is enabled" +msgstr "Indique si le basculeur de vue est activé" + +#: src/hdy-view-switcher-title.c:300 +msgid "Title visible" +msgstr "Titre visible" + +#: src/hdy-view-switcher-title.c:301 +msgid "Whether the title label is visible" +msgstr "Indique si le titre est visible" + +#: src/hdy-window-handle-controller.c:259 +msgid "Move" +msgstr "Déplacer" + +#: src/hdy-window-handle-controller.c:267 +msgid "Resize" +msgstr "Redimensionner" + +#: src/hdy-window-handle-controller.c:298 +msgid "Always on Top" +msgstr "Toujours au premier plan" diff --git a/subprojects/libhandy/po/fur.po b/subprojects/libhandy/po/fur.po new file mode 100644 index 00000000..b85a2ef0 --- /dev/null +++ b/subprojects/libhandy/po/fur.po @@ -0,0 +1,868 @@ +# Friulian translation for libhandy. +# Copyright (C) 2020 libhandy's COPYRIGHT HOLDER +# This file is distributed under the same license as the libhandy package. +# Fabio Tomat , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: libhandy master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libhandy/issues\n" +"POT-Creation-Date: 2020-10-25 20:28+0000\n" +"PO-Revision-Date: 2020-10-26 19:36+0100\n" +"Last-Translator: \n" +"Language-Team: Friulian \n" +"Language: fur\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 2.4.1\n" + +#: glade/glade-hdy-carousel.c:160 glade/glade-hdy-header-bar.c:118 +#: glade/glade-hdy-leaflet.c:184 +#, c-format +msgid "Insert placeholder to %s" +msgstr "Inserìs segnepuest a %s" + +#: glade/glade-hdy-carousel.c:189 glade/glade-hdy-header-bar.c:144 +#: glade/glade-hdy-leaflet.c:214 +#, c-format +msgid "Remove placeholder from %s" +msgstr "Gjave segnepuest di %s" + +#: glade/glade-hdy-header-bar.c:18 +msgid "This property does not apply when a custom title is set" +msgstr "" +"Cuant che si stabilìs un titul personalizât, cheste proprietât no si apliche" + +#: glade/glade-hdy-header-bar.c:289 +msgid "" +"The decoration layout does not apply to header bars which do no show window " +"controls" +msgstr "" +"La disposizion de decorazion no si apliche aes sbaris di intestazion che no " +"mostrin i controi dal barcon" + +#: glade/glade-hdy-leaflet.c:19 +msgid "This property only applies when the leaflet is folded" +msgstr "Cheste proprietât si apliche dome cuant che il sfueut al è pleât" + +#: glade/glade-hdy-preferences-page.c:160 +#, c-format +msgid "Add group to %s" +msgstr "Zonte grup a %s" + +#: glade/glade-hdy-preferences-window.c:228 +#, c-format +msgid "Add page to %s" +msgstr "Zonte pagjine a %s" + +#: glade/glade-hdy-search-bar.c:101 +msgid "Search bar is already full" +msgstr "La sbare di ricercje e je za plene" + +#: glade/glade-hdy-utils.h:13 +#, c-format +msgid "Only objects of type %s can be added to objects of type %s." +msgstr "" +"Dome i ogjets di gjenar %s a puedin jessi zontâts ai ogjets di gjenar %s." + +#: src/hdy-action-row.c:354 src/hdy-action-row.c:355 src/hdy-expander-row.c:314 +#: src/hdy-expander-row.c:315 src/hdy-preferences-page.c:179 +#: src/hdy-preferences-page.c:180 +msgid "Icon name" +msgstr "Non icone" + +#: src/hdy-action-row.c:368 +msgid "Activatable widget" +msgstr "Widget ativabil" + +#: src/hdy-action-row.c:369 +msgid "The widget to be activated when the row is activated" +msgstr "Il widget che si à di ativâ cuant che la rie e ven ativade" + +#: src/hdy-action-row.c:382 src/hdy-action-row.c:383 src/hdy-expander-row.c:285 +#: src/hdy-header-bar.c:2107 src/hdy-view-switcher-title.c:272 +msgid "Subtitle" +msgstr "Sottitul" + +#: src/hdy-action-row.c:397 src/hdy-expander-row.c:300 +#: src/hdy-preferences-row.c:130 +msgid "Use underline" +msgstr "Dopre sotlineât" + +#: src/hdy-action-row.c:398 src/hdy-expander-row.c:301 +#: src/hdy-preferences-row.c:131 +msgid "" +"If set, an underline in the text indicates the next character should be used " +"for the mnemonic accelerator key" +msgstr "" +"Se stabilide, une sotlinie intal test e indiche il prossim caratar che si à " +"di doprâ pal tast aceleradôr mnemonic" + +#: src/hdy-carousel-box.c:1087 src/hdy-carousel-box.c:1088 +#: src/hdy-carousel.c:575 src/hdy-carousel.c:576 +msgid "Number of pages" +msgstr "Numar di pagjinis" + +#: src/hdy-carousel-box.c:1103 src/hdy-carousel.c:592 src/hdy-header-bar.c:2093 +msgid "Position" +msgstr "Posizion" + +#: src/hdy-carousel-box.c:1104 src/hdy-carousel.c:593 +msgid "Current scrolling position" +msgstr "Posizion di scoriment atuâl" + +#: src/hdy-carousel-box.c:1119 src/hdy-carousel.c:623 src/hdy-header-bar.c:2121 +msgid "Spacing" +msgstr "Spaziadure" + +#: src/hdy-carousel-box.c:1120 src/hdy-carousel.c:624 +msgid "Spacing between pages" +msgstr "Spaziadure tra lis pagjinis" + +#: src/hdy-carousel-box.c:1136 src/hdy-carousel.c:668 +msgid "Reveal duration" +msgstr "Durade rivelazion" + +#: src/hdy-carousel-box.c:1137 src/hdy-carousel.c:669 +msgid "Page reveal duration" +msgstr "Durade de rivelazion de pagjine" + +#: src/hdy-carousel.c:609 +msgid "Interactive" +msgstr "Interatîf" + +#: src/hdy-carousel.c:610 +msgid "Whether the widget can be swiped" +msgstr "Indiche se si pues scori il widget" + +#: src/hdy-carousel.c:639 +msgid "Animation duration" +msgstr "Durade animazion" + +#: src/hdy-carousel.c:640 +msgid "Default animation duration" +msgstr "Durade predefinide de animazion" + +#: src/hdy-carousel.c:654 src/hdy-swipe-tracker.c:865 +msgid "Allow mouse drag" +msgstr "Permet strissinament mouse" + +#: src/hdy-carousel.c:655 src/hdy-swipe-tracker.c:866 +msgid "Whether to allow dragging with mouse pointer" +msgstr "Indiche se permeti il strissinament cul pontadôr dal mouse" + +#: src/hdy-carousel-indicator-dots.c:392 src/hdy-carousel-indicator-dots.c:393 +#: src/hdy-carousel-indicator-lines.c:391 +#: src/hdy-carousel-indicator-lines.c:392 +msgid "Carousel" +msgstr "Gjostre" + +#: src/hdy-clamp.c:417 +msgid "Maximum size" +msgstr "Dimension massime" + +#: src/hdy-clamp.c:418 +msgid "The maximum size allocated to the child" +msgstr "Dimension massime assegnade al fi" + +#: src/hdy-clamp.c:442 +msgid "Tightening threshold" +msgstr "Soiâr di strenziment" + +#: src/hdy-clamp.c:443 +msgid "The size from which the clamp will tighten its grip on the child" +msgstr "La dimension che di chê il smuarset al strenzarà la prese sul fi" + +#: src/hdy-combo-row.c:416 +msgid "Selected index" +msgstr "" + +#: src/hdy-combo-row.c:417 +msgid "The index of the selected item" +msgstr "" + +#: src/hdy-combo-row.c:435 +msgid "Use subtitle" +msgstr "Dopre sottitul" + +#: src/hdy-combo-row.c:436 +msgid "Set the current value as the subtitle" +msgstr "Met come sottitul il valôr atuâl" + +#: src/hdy-deck.c:888 +msgid "Horizontally homogeneous" +msgstr "Omogjenei in maniere orizontâl" + +#: src/hdy-deck.c:889 +msgid "Horizontally homogeneous sizing" +msgstr "Dimensionament omogjenei in orizontâl" + +#: src/hdy-deck.c:902 +msgid "Vertically homogeneous" +msgstr "Omogjenei in maniere verticâl" + +#: src/hdy-deck.c:903 +msgid "Vertically homogeneous sizing" +msgstr "Dimensionament omogjenei in verticâl" + +#: src/hdy-deck.c:916 src/hdy-leaflet.c:1018 src/hdy-squeezer.c:1098 +#: src/hdy-stackable-box.c:2993 +msgid "Visible child" +msgstr "Fi visibil" + +#: src/hdy-deck.c:917 +msgid "The widget currently visible" +msgstr "Il widget cumò visibil" + +#: src/hdy-deck.c:930 src/hdy-leaflet.c:1025 src/hdy-stackable-box.c:3000 +msgid "Name of visible child" +msgstr "Non dal fi visibil" + +#: src/hdy-deck.c:931 +msgid "The name of the widget currently visible" +msgstr "Il non dal widget cumò visibil" + +#: src/hdy-deck.c:949 src/hdy-leaflet.c:1044 src/hdy-squeezer.c:1112 +#: src/hdy-stackable-box.c:3019 +msgid "Transition type" +msgstr "Gjenar di transizion" + +#: src/hdy-deck.c:950 +msgid "The type of animation used to transition between children" +msgstr "Il gjenar di animazion doprade pe transizion tra i fîs" + +#: src/hdy-deck.c:963 src/hdy-header-bar.c:2203 src/hdy-squeezer.c:1105 +msgid "Transition duration" +msgstr "Durade transizion" + +#: src/hdy-deck.c:964 +msgid "The transition animation duration, in milliseconds" +msgstr "La durade de animazion pe transizion, in miliseconts" + +#: src/hdy-deck.c:977 src/hdy-header-bar.c:2210 src/hdy-squeezer.c:1120 +msgid "Transition running" +msgstr "Transizion in esecuzion" + +#: src/hdy-deck.c:978 src/hdy-header-bar.c:2211 src/hdy-squeezer.c:1121 +msgid "Whether or not the transition is currently running" +msgstr "Indiche se (o mancul) la transizion e je cumò in esecuzion" + +#: src/hdy-deck.c:992 src/hdy-header-bar.c:2217 src/hdy-leaflet.c:1072 +#: src/hdy-squeezer.c:1127 src/hdy-stackable-box.c:3047 +msgid "Interpolate size" +msgstr "" + +#: src/hdy-deck.c:993 src/hdy-header-bar.c:2218 src/hdy-leaflet.c:1073 +#: src/hdy-squeezer.c:1128 src/hdy-stackable-box.c:3048 +msgid "" +"Whether or not the size should smoothly change when changing between " +"differently sized children" +msgstr "" +"Indiche se (o mancul) la dimension e à di cambiâ in maniere dolce cuant che " +"si cambie tra i fîs di dimension diferente" + +#: src/hdy-deck.c:1007 src/hdy-leaflet.c:1087 src/hdy-preferences-window.c:520 +#: src/hdy-stackable-box.c:3062 +msgid "Can swipe back" +msgstr "Al pues scori indaûr" + +#: src/hdy-deck.c:1008 src/hdy-leaflet.c:1088 src/hdy-stackable-box.c:3063 +msgid "" +"Whether or not swipe gesture can be used to switch to the previous child" +msgstr "" +"Indiche se (o mancul) il moviment di scoriment al pues jessi doprât par " +"passâ al fi precedent" + +#: src/hdy-deck.c:1022 src/hdy-leaflet.c:1102 src/hdy-stackable-box.c:3077 +msgid "Can swipe forward" +msgstr "Al pues scori indenant" + +#: src/hdy-deck.c:1023 src/hdy-leaflet.c:1103 src/hdy-stackable-box.c:3078 +msgid "Whether or not swipe gesture can be used to switch to the next child" +msgstr "" +"Indiche se (o mancul) il moviment di scoriment al pues jessi doprât par " +"passâ al fi sucessîf" + +#: src/hdy-deck.c:1031 src/hdy-leaflet.c:1111 +msgid "Name" +msgstr "Non" + +#: src/hdy-deck.c:1032 src/hdy-leaflet.c:1112 +msgid "The name of the child page" +msgstr "Il non de pagjine dal fi" + +#: src/hdy-expander-row.c:286 +msgid "The subtitle for this row" +msgstr "Il sottitul par cheste rie" + +#: src/hdy-expander-row.c:326 +msgid "Expanded" +msgstr "Pandût" + +#: src/hdy-expander-row.c:327 +msgid "Whether the row is expanded" +msgstr "Indiche se la rie e je pandude" + +#: src/hdy-expander-row.c:338 +msgid "Enable expansion" +msgstr "Abilite espansion" + +#: src/hdy-expander-row.c:339 +msgid "Whether the expansion is enabled" +msgstr "Indiche se la espansion e je abilitade" + +#: src/hdy-expander-row.c:350 +msgid "Show enable switch" +msgstr "" + +#: src/hdy-expander-row.c:351 +msgid "Whether the switch enabling the expansion is visible" +msgstr "" + +#: src/hdy-header-bar.c:485 +msgid "Application menu" +msgstr "Menù aplicazion" + +#: src/hdy-header-bar.c:507 src/hdy-window-handle-controller.c:275 +msgid "Minimize" +msgstr "Minimize" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:241 +msgid "Restore" +msgstr "Ripristine" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:284 +msgid "Maximize" +msgstr "Slargje" + +#: src/hdy-header-bar.c:547 src/hdy-window-handle-controller.c:311 +msgid "Close" +msgstr "Siere" + +#: src/hdy-header-bar.c:563 +msgid "Back" +msgstr "Indaûr" + +#: src/hdy-header-bar.c:2086 +msgid "Pack type" +msgstr "Gjenar di pachet" + +#: src/hdy-header-bar.c:2087 +msgid "" +"A GtkPackType indicating whether the child is packed with reference to the " +"start or end of the parent" +msgstr "" +"Un GtkPackType che al indiche se il fi al è impachetât cul riferiment al " +"inizi o ae fin dal gjenitôr" + +#: src/hdy-header-bar.c:2094 +msgid "The index of the child in the parent" +msgstr "" + +#: src/hdy-header-bar.c:2100 src/hdy-preferences-group.c:265 +#: src/hdy-preferences-group.c:266 src/hdy-preferences-page.c:193 +#: src/hdy-preferences-page.c:194 src/hdy-preferences-row.c:115 +#: src/hdy-view-switcher-title.c:258 +msgid "Title" +msgstr "Titul" + +#: src/hdy-header-bar.c:2101 src/hdy-view-switcher-title.c:259 +msgid "The title to display" +msgstr "Il titul di visualizâ" + +#: src/hdy-header-bar.c:2108 src/hdy-view-switcher-title.c:273 +msgid "The subtitle to display" +msgstr "Il sottitul di visualizâ" + +#: src/hdy-header-bar.c:2114 +msgid "Custom Title" +msgstr "Titul personalizât" + +#: src/hdy-header-bar.c:2115 +msgid "Custom title widget to display" +msgstr "Il widget dal titul personalizât di visualizâ" + +#: src/hdy-header-bar.c:2122 +msgid "The amount of space between children" +msgstr "La cuantitât di spazi tra i fîs" + +#: src/hdy-header-bar.c:2141 +msgid "Show decorations" +msgstr "Mostre decorazions" + +#: src/hdy-header-bar.c:2142 +msgid "Whether to show window decorations" +msgstr "Indiche se mostrâ lis decorazions dai barcons" + +#: src/hdy-header-bar.c:2160 +msgid "Decoration Layout" +msgstr "Disposizion de decorazion" + +#: src/hdy-header-bar.c:2161 +msgid "The layout for window decorations" +msgstr "La disposizion pes decorazions dal barcon" + +#: src/hdy-header-bar.c:2174 +msgid "Decoration Layout Set" +msgstr "Disposizion de decorazion stabilide" + +#: src/hdy-header-bar.c:2175 +msgid "Whether the decoration-layout property has been set" +msgstr "" +"Indiche se la proprietât de disposizion de decorazion e je stade stabilide" + +#: src/hdy-header-bar.c:2189 +msgid "Has Subtitle" +msgstr "Al à sottitul" + +#: src/hdy-header-bar.c:2190 +msgid "Whether to reserve space for a subtitle" +msgstr "Indiche se riservâ spazi par un sottitul" + +#: src/hdy-header-bar.c:2196 +msgid "Centering policy" +msgstr "Politiche di centradure" + +#: src/hdy-header-bar.c:2197 +#, fuzzy +msgid "The policy to horizontally align the center widget" +msgstr "La politiche par inlineâ in orizontâl il centri dal widget" + +#: src/hdy-header-bar.c:2204 src/hdy-squeezer.c:1106 +msgid "The animation duration, in milliseconds" +msgstr "La durade de animazion, in miliseconts" + +#: src/hdy-header-group.c:827 +msgid "Decorate all" +msgstr "Decore dut" + +#: src/hdy-header-group.c:828 +msgid "" +"Whether the elements of the group should all receive the full decoration" +msgstr "" +"Indiche se i elements dal grup a àn di ricevi ducj la decorazion complete" + +#: src/hdy-keypad-button.c:225 +msgid "Digit" +msgstr "Numar" + +#: src/hdy-keypad-button.c:226 +msgid "The keypad digit of the button" +msgstr "La cifre dal boton de tastierute numeriche" + +#: src/hdy-keypad-button.c:232 +msgid "Symbols" +msgstr "Simbui" + +#: src/hdy-keypad-button.c:233 +msgid "The keypad symbols of the button. The first symbol is used as the digit" +msgstr "" +"I simbui dal boton de tastierute numeriche. Il prin simbul al ven doprât " +"come cifre" + +#: src/hdy-keypad-button.c:239 +msgid "Show symbols" +msgstr "Mostre simbui" + +#: src/hdy-keypad-button.c:240 +msgid "Whether the second line of symbols should be shown or not" +msgstr "Indiche se si à di mostrâ o mancul la seconde rie dai simbui" + +#: src/hdy-keypad.c:247 +msgid "Row spacing" +msgstr "Spaziadure riis" + +#: src/hdy-keypad.c:248 +msgid "The amount of space between two consecutive rows" +msgstr "La cuantitât di spazi tra dôs riis consecutivis" + +#: src/hdy-keypad.c:261 +msgid "Column spacing" +msgstr "Spaziadure colonis" + +#: src/hdy-keypad.c:262 +msgid "The amount of space between two consecutive columns" +msgstr "La cuantitât di spazi tra dôs colonis consecutivis" + +#: src/hdy-keypad.c:276 +msgid "Letters visible" +msgstr "Letaris visibilis" + +#: src/hdy-keypad.c:277 +msgid "Whether the letters below the digits should be visible" +msgstr "Indiche se si à di rindi visibilis lis letaris sot dai numars" + +#: src/hdy-keypad.c:291 +msgid "Symbols visible" +msgstr "Simbui visibii" + +#: src/hdy-keypad.c:292 +msgid "Whether the hash, plus, and asterisk symbols should be visible" +msgstr "Indiche se i simbui cancelut, plui e asterisc a àn di jessi visibii" + +#: src/hdy-keypad.c:306 +msgid "Entry" +msgstr "Vôs" + +#: src/hdy-keypad.c:307 +msgid "The entry widget connected to the keypad" +msgstr "Il widget de vôs conetût ae tastierute numeriche" + +#: src/hdy-keypad.c:320 +msgid "End action" +msgstr "Azion di fin" + +#: src/hdy-keypad.c:321 +msgid "The end action widget" +msgstr "Il widget de azion di fin" + +#: src/hdy-keypad.c:334 +msgid "Start action" +msgstr "Azion di inizi" + +#: src/hdy-keypad.c:335 +msgid "The start action widget" +msgstr "Il widget de azion di inizi" + +#: src/hdy-leaflet.c:963 src/hdy-stackable-box.c:2938 +msgid "Folded" +msgstr "Pleât" + +#: src/hdy-leaflet.c:964 src/hdy-stackable-box.c:2939 +msgid "Whether the widget is folded" +msgstr "Indiche se il widget al è pleât" + +#: src/hdy-leaflet.c:975 src/hdy-stackable-box.c:2950 +msgid "Horizontally homogeneous folded" +msgstr "Omogjenei in orizontâl pleât" + +#: src/hdy-leaflet.c:976 +msgid "Horizontally homogeneous sizing when the leaflet is folded" +msgstr "Dimensionament omogjenei in orizontâl cuant che il sfueut al è pleât" + +#: src/hdy-leaflet.c:987 src/hdy-stackable-box.c:2962 +msgid "Vertically homogeneous folded" +msgstr "Omogjenei in verticâl pleât" + +#: src/hdy-leaflet.c:988 +msgid "Vertically homogeneous sizing when the leaflet is folded" +msgstr "Dimensionament omogjenei in verticâl cuant che il sfueut al è pleât" + +#: src/hdy-leaflet.c:999 src/hdy-stackable-box.c:2974 +msgid "Box horizontally homogeneous" +msgstr "" + +#: src/hdy-leaflet.c:1000 +msgid "Horizontally homogeneous sizing when the leaflet is unfolded" +msgstr "Dimensionament omogjenei in orizontâl cuant che il sfueut nol è pleât" + +#: src/hdy-leaflet.c:1011 src/hdy-stackable-box.c:2986 +msgid "Box vertically homogeneous" +msgstr "" + +#: src/hdy-leaflet.c:1012 +msgid "Vertically homogeneous sizing when the leaflet is unfolded" +msgstr "Dimensionament omogjenei in verticâl cuant che il sfueut nol è pleât" + +#: src/hdy-leaflet.c:1019 +msgid "The widget currently visible when the leaflet is folded" +msgstr "Il widget cumò visibil cuant che il sfueut al è pleât" + +#: src/hdy-leaflet.c:1026 src/hdy-stackable-box.c:3001 +msgid "The name of the widget currently visible when the children are stacked" +msgstr "Il non dal ogjet cumò visibil cuant che i fîs a son intassâts" + +#: src/hdy-leaflet.c:1045 src/hdy-stackable-box.c:3020 +msgid "The type of animation used to transition between modes and children" +msgstr "Il gjenar di animazion doprade par passâ tra modalitâts e fîs" + +#: src/hdy-leaflet.c:1051 src/hdy-stackable-box.c:3026 +msgid "Mode transition duration" +msgstr "Durade transizion modalitât" + +#: src/hdy-leaflet.c:1052 src/hdy-stackable-box.c:3027 +msgid "The mode transition animation duration, in milliseconds" +msgstr "La durade de animazion pe transizion de modalitât, in miliseconts" + +#: src/hdy-leaflet.c:1058 src/hdy-stackable-box.c:3033 +msgid "Child transition duration" +msgstr "Durade transizion fi" + +#: src/hdy-leaflet.c:1059 src/hdy-stackable-box.c:3034 +msgid "The child transition animation duration, in milliseconds" +msgstr "La durade de animazion pe transizion dal fi, in miliseconts" + +#: src/hdy-leaflet.c:1065 src/hdy-stackable-box.c:3040 +msgid "Child transition running" +msgstr "Transizion fi in esecuzion" + +#: src/hdy-leaflet.c:1066 src/hdy-stackable-box.c:3041 +msgid "Whether or not the child transition is currently running" +msgstr "Indiche se (o mancul) la transizion dal fi e je cumò in esecuzion" + +#: src/hdy-leaflet.c:1129 +msgid "Navigatable" +msgstr "" + +#: src/hdy-leaflet.c:1130 +msgid "Whether the child can be navigated to" +msgstr "" + +#: src/hdy-preferences-group.c:251 src/hdy-preferences-group.c:252 +msgid "Description" +msgstr "Descrizion" + +#: src/hdy-preferences-row.c:116 +msgid "The title of the preference" +msgstr "Il titul de preference" + +#: src/hdy-preferences-window.c:141 +msgid "Untitled page" +msgstr "Pagjine cence titul" + +#: src/hdy-preferences-window.c:506 +msgid "Search enabled" +msgstr "Ricercje abilitade" + +#: src/hdy-preferences-window.c:507 +msgid "Whether search is enabled" +msgstr "Indiche se la ricercje e je abilitade" + +#: src/hdy-preferences-window.c:521 +msgid "" +"Whether or not swipe gesture can be used to switch from a subpage to the " +"preferences" +msgstr "" + +#: src/hdy-preferences-window.ui:9 +msgid "Preferences" +msgstr "Preferencis" + +#: src/hdy-preferences-window.ui:81 +msgid "Search" +msgstr "Cîr" + +#: src/hdy-preferences-window.ui:204 +msgid "No Results Found" +msgstr "Nissun risultât cjatât" + +#: src/hdy-preferences-window.ui:219 +msgid "Try a different search" +msgstr "Prove cuntune ricercje diferente" + +#: src/hdy-search-bar.c:451 +msgid "Search Mode Enabled" +msgstr "Modalitât ricercje abilitade" + +#: src/hdy-search-bar.c:452 +msgid "Whether the search mode is on and the search bar shown" +msgstr "" +"Indiche se la modalitât di ricercje e je ative e la sbare di ricercje " +"mostrade" + +#: src/hdy-search-bar.c:463 +msgid "Show Close Button" +msgstr "Mostre boton par sierâ" + +#: src/hdy-search-bar.c:464 +msgid "Whether to show the close button in the toolbar" +msgstr "Indiche se mostrâ il boton par sierâ inte sbare dai struments" + +#: src/hdy-shadow-helper.c:254 +msgid "Widget" +msgstr "Widget" + +#: src/hdy-shadow-helper.c:255 +msgid "The widget the shadow will be drawn for" +msgstr "Il widget che par chel e vignarà dissegnade la ombrene" + +#: src/hdy-squeezer.c:1091 +msgid "Homogeneous" +msgstr "Omogjenei" + +#: src/hdy-squeezer.c:1092 +msgid "Homogeneous sizing" +msgstr "Dimensionament omogjenei" + +#: src/hdy-squeezer.c:1099 +msgid "The widget currently visible in the squeezer" +msgstr "" + +#: src/hdy-squeezer.c:1113 +msgid "The type of animation used to transition" +msgstr "Il gjenar di animazion doprade pe transizion" + +#: src/hdy-squeezer.c:1148 +msgid "X align" +msgstr "Inlineament X" + +#: src/hdy-squeezer.c:1149 +msgid "The horizontal alignment, from 0 (start) to 1 (end)" +msgstr "L'inlineament orizontâl, di 0 (inizi) a 1 (fin)" + +#: src/hdy-squeezer.c:1170 +msgid "Y align" +msgstr "Inlineament Y" + +#: src/hdy-squeezer.c:1171 +msgid "The vertical alignment, from 0 (top) to 1 (bottom)" +msgstr "L'inlineament verticâl, di 0 (parsore) a 1 (in bas)" + +#: src/hdy-squeezer.c:1180 src/hdy-swipe-tracker.c:835 +msgid "Enabled" +msgstr "Abilitât" + +#: src/hdy-squeezer.c:1181 +msgid "" +"Whether the child can be picked or should be ignored when looking for the " +"child fitting the available size best" +msgstr "" + +#: src/hdy-stackable-box.c:2951 +msgid "Horizontally homogeneous sizing when the widget is folded" +msgstr "Dimensionament omogjenei in orizontâl cuant che il widget al è pleât" + +#: src/hdy-stackable-box.c:2963 +msgid "Vertically homogeneous sizing when the widget is folded" +msgstr "Dimensionament omogjenei in verticâl cuant che il widget al è pleât" + +#: src/hdy-stackable-box.c:2975 +msgid "Horizontally homogeneous sizing when the widget is unfolded" +msgstr "Dimensionament omogjenei in orizontâl cuant che il widget nol è pleât" + +#: src/hdy-stackable-box.c:2987 +msgid "Vertically homogeneous sizing when the widget is unfolded" +msgstr "Dimensionament omogjenei in verticâl cuant che il widget nol è pleât" + +#: src/hdy-stackable-box.c:2994 +msgid "The widget currently visible when the widget is folded" +msgstr "" + +#: src/hdy-stackable-box.c:3084 src/hdy-stackable-box.c:3085 +msgid "Orientation" +msgstr "Orientament" + +#: src/hdy-swipe-tracker.c:820 +msgid "Swipeable" +msgstr "" + +#: src/hdy-swipe-tracker.c:821 +msgid "The swipeable the swipe tracker is attached to" +msgstr "" + +#: src/hdy-swipe-tracker.c:836 +msgid "Whether the swipe tracker processes events" +msgstr "" + +#: src/hdy-swipe-tracker.c:850 +msgid "Reversed" +msgstr "Invertît" + +#: src/hdy-swipe-tracker.c:851 +msgid "Whether swipe direction is reversed" +msgstr "Indiche se la direzion dal scoriment e je invertide" + +#: src/hdy-title-bar.c:308 +msgid "Selection mode" +msgstr "Modalitât di selezion" + +#: src/hdy-title-bar.c:309 +msgid "Whether or not the title bar is in selection mode" +msgstr "Indiche se (o mancul) la sbare dal titul e je in modalitât selezion" + +#: src/hdy-value-object.c:191 +msgctxt "HdyValueObjectClass" +msgid "Value" +msgstr "Valôr" + +#: src/hdy-value-object.c:192 +msgctxt "HdyValueObjectClass" +msgid "The contained value" +msgstr "Il valôr contignût" + +#: src/hdy-view-switcher-bar.c:178 src/hdy-view-switcher.c:509 +#: src/hdy-view-switcher-title.c:230 +msgid "Policy" +msgstr "Politiche" + +#: src/hdy-view-switcher-bar.c:179 src/hdy-view-switcher.c:510 +#: src/hdy-view-switcher-title.c:231 +msgid "The policy to determine the mode to use" +msgstr "La politiche par determinâ la modalitât di doprâ" + +#: src/hdy-view-switcher-bar.c:192 src/hdy-view-switcher-bar.c:193 +#: src/hdy-view-switcher.c:544 src/hdy-view-switcher.c:545 +#: src/hdy-view-switcher-title.c:244 src/hdy-view-switcher-title.c:245 +msgid "Stack" +msgstr "Tasse" + +#: src/hdy-view-switcher-bar.c:206 +msgid "Reveal" +msgstr "Mostre" + +#: src/hdy-view-switcher-bar.c:207 +msgid "Whether the view switcher is revealed" +msgstr "" + +#: src/hdy-view-switcher-button.c:203 +msgid "Icon Name" +msgstr "Non icone" + +#: src/hdy-view-switcher-button.c:204 +msgid "Icon name for image" +msgstr "Non de icone pe imagjin" + +#: src/hdy-view-switcher-button.c:217 +msgid "Icon Size" +msgstr "Dimension icone" + +#: src/hdy-view-switcher-button.c:218 +msgid "Symbolic size to use for named icon" +msgstr "Dimension simboliche di doprâ pe icone nomenade" + +#: src/hdy-view-switcher-button.c:234 +msgid "Needs attention" +msgstr "Al clame atenzion" + +#: src/hdy-view-switcher-button.c:235 +msgid "Hint the view needs attention" +msgstr "Sugjeriment che la viodude e domande atenzion" + +#: src/hdy-view-switcher.c:529 +msgid "Narrow ellipsize" +msgstr "" + +#: src/hdy-view-switcher.c:530 +msgid "" +"The preferred place to ellipsize the string, if the narrow mode label does " +"not have enough room to display the entire string" +msgstr "" + +#: src/hdy-view-switcher-title.c:286 +msgid "View switcher enabled" +msgstr "" + +#: src/hdy-view-switcher-title.c:287 +msgid "Whether the view switcher is enabled" +msgstr "" + +#: src/hdy-view-switcher-title.c:300 +msgid "Title visible" +msgstr "Titul visibil" + +#: src/hdy-view-switcher-title.c:301 +msgid "Whether the title label is visible" +msgstr "Indiche se la etichete dal titul e je visibile" + +#: src/hdy-window-handle-controller.c:259 +msgid "Move" +msgstr "Sposte" + +#: src/hdy-window-handle-controller.c:267 +msgid "Resize" +msgstr "Ridimensione" + +#: src/hdy-window-handle-controller.c:298 +msgid "Always on Top" +msgstr "Simpri Denant" diff --git a/subprojects/libhandy/po/id.po b/subprojects/libhandy/po/id.po new file mode 100644 index 00000000..3a430649 --- /dev/null +++ b/subprojects/libhandy/po/id.po @@ -0,0 +1,1006 @@ +# Indonesian translation for libhandy. +# Copyright (C) 2020 libhandy's COPYRIGHT HOLDER +# This file is distributed under the same license as the libhandy package. +# Andika Triwidada , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: libhandy master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libhandy/issues\n" +"POT-Creation-Date: 2020-08-27 12:30+0000\n" +"PO-Revision-Date: 2020-08-30 19:13+0700\n" +"Language-Team: Indonesian \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Last-Translator: Andika Triwidada \n" +"X-Generator: Poedit 2.4.1\n" + +#: glade/glade-hdy-carousel.c:160 glade/glade-hdy-header-bar.c:118 +#: glade/glade-hdy-leaflet.c:184 +#, fuzzy, c-format +msgid "Insert placeholder to %s" +msgstr "Masukkan placeholder ke %s" + +#: glade/glade-hdy-carousel.c:189 glade/glade-hdy-header-bar.c:144 +#: glade/glade-hdy-leaflet.c:214 +#, fuzzy, c-format +msgid "Remove placeholder from %s" +msgstr "Hapus placeholder dari %s" + +#: glade/glade-hdy-header-bar.c:18 +#, fuzzy +msgid "This property does not apply when a custom title is set" +msgstr "Properti ini tidak berlaku ketika judul kustom diatur" + +#: glade/glade-hdy-header-bar.c:289 +#, fuzzy +msgid "" +"The decoration layout does not apply to header bars which do no show window " +"controls" +msgstr "" +"Tata letak dekorasi tidak berlaku untuk header bar yang tidak menunjukkan " +"kontrol jendela" + +#: glade/glade-hdy-leaflet.c:19 +#, fuzzy +msgid "This property only applies when the leaflet is folded" +msgstr "Properti ini hanya berlaku saat selebaran dilipat" + +#: glade/glade-hdy-preferences-page.c:160 +#, c-format +msgid "Add group to %s" +msgstr "Tambahkan grup ke %s" + +#: glade/glade-hdy-preferences-window.c:228 +#, c-format +msgid "Add page to %s" +msgstr "Tambahkan halaman ke %s" + +#: glade/glade-hdy-search-bar.c:101 +#, fuzzy +msgid "Search bar is already full" +msgstr "Bilah pencarian sudah penuh" + +#: glade/glade-hdy-utils.h:13 +#, fuzzy, c-format +msgid "Only objects of type %s can be added to objects of type %s." +msgstr "Hanya objek bertipe %s dapat ditambahkan ke objek bertipe %s." + +#: src/hdy-action-row.c:354 src/hdy-action-row.c:355 src/hdy-expander-row.c:314 +#: src/hdy-expander-row.c:315 src/hdy-preferences-page.c:179 +#: src/hdy-preferences-page.c:180 +msgid "Icon name" +msgstr "Nama ikon" + +#: src/hdy-action-row.c:368 +#, fuzzy +msgid "Activatable widget" +msgstr "Widget yang dapat diaktifkan" + +#: src/hdy-action-row.c:369 +#, fuzzy +msgid "The widget to be activated when the row is activated" +msgstr "Widget yang akan diaktifkan saat baris diaktifkan" + +#: src/hdy-action-row.c:382 src/hdy-action-row.c:383 src/hdy-expander-row.c:285 +#: src/hdy-header-bar.c:2107 src/hdy-view-switcher-title.c:272 +msgid "Subtitle" +msgstr "Subjudul" + +#: src/hdy-action-row.c:397 src/hdy-expander-row.c:300 +#: src/hdy-preferences-row.c:130 +#, fuzzy +msgid "Use underline" +msgstr "Gunakan garis bawah" + +#: src/hdy-action-row.c:398 src/hdy-expander-row.c:301 +#: src/hdy-preferences-row.c:131 +#, fuzzy +msgid "" +"If set, an underline in the text indicates the next character should be used " +"for the mnemonic accelerator key" +msgstr "" +"Jika diatur, garis bawah dalam teks menunjukkan karakter berikutnya harus " +"digunakan untuk kunci akselerator mnemonik" + +#: src/hdy-carousel-box.c:1088 src/hdy-carousel-box.c:1089 +#: src/hdy-carousel.c:575 src/hdy-carousel.c:576 +msgid "Number of pages" +msgstr "Banyaknya halaman" + +#: src/hdy-carousel-box.c:1104 src/hdy-carousel.c:592 src/hdy-header-bar.c:2093 +msgid "Position" +msgstr "Posisi" + +#: src/hdy-carousel-box.c:1105 src/hdy-carousel.c:593 +#, fuzzy +msgid "Current scrolling position" +msgstr "Posisi bergulir saat ini" + +#: src/hdy-carousel-box.c:1120 src/hdy-carousel.c:623 src/hdy-header-bar.c:2121 +msgid "Spacing" +msgstr "Jarak" + +#: src/hdy-carousel-box.c:1121 src/hdy-carousel.c:624 +#, fuzzy +msgid "Spacing between pages" +msgstr "Jarak antar halaman" + +#: src/hdy-carousel-box.c:1137 src/hdy-carousel.c:668 +#, fuzzy +msgid "Reveal duration" +msgstr "Mengungkapkan durasi" + +#: src/hdy-carousel-box.c:1138 src/hdy-carousel.c:669 +#, fuzzy +msgid "Page reveal duration" +msgstr "Durasi tampilan halaman" + +#: src/hdy-carousel.c:609 +msgid "Interactive" +msgstr "Interaktif" + +#: src/hdy-carousel.c:610 +#, fuzzy +msgid "Whether the widget can be swiped" +msgstr "Apakah widget dapat digesek" + +#: src/hdy-carousel.c:639 +msgid "Animation duration" +msgstr "Durasi animasi" + +#: src/hdy-carousel.c:640 +#, fuzzy +msgid "Default animation duration" +msgstr "Durasi animasi default" + +#: src/hdy-carousel.c:654 src/hdy-swipe-tracker.c:803 +#, fuzzy +msgid "Allow mouse drag" +msgstr "Izinkan seret mouse" + +#: src/hdy-carousel.c:655 src/hdy-swipe-tracker.c:804 +#, fuzzy +msgid "Whether to allow dragging with mouse pointer" +msgstr "Apakah mengizinkan menyeret dengan penunjuk mouse" + +#: src/hdy-carousel-indicator-dots.c:392 src/hdy-carousel-indicator-dots.c:393 +#: src/hdy-carousel-indicator-lines.c:391 +#: src/hdy-carousel-indicator-lines.c:392 +#, fuzzy +msgid "Carousel" +msgstr "Carousel" + +#: src/hdy-clamp.c:417 +msgid "Maximum size" +msgstr "Ukuran maksimum" + +#: src/hdy-clamp.c:418 +#, fuzzy +msgid "The maximum size allocated to the child" +msgstr "Ukuran maksimum yang dialokasikan untuk anak" + +#: src/hdy-clamp.c:442 +#, fuzzy +msgid "Tightening threshold" +msgstr "Ambang batas pengencangan" + +#: src/hdy-clamp.c:443 +#, fuzzy +msgid "The size from which the clamp will tighten its grip on the child" +msgstr "Ukuran penjepit akan mengencangkan cengkeramannya pada anak" + +#: src/hdy-combo-row.c:416 +msgid "Selected index" +msgstr "Indeks yang dipilih" + +#: src/hdy-combo-row.c:417 +msgid "The index of the selected item" +msgstr "Indeks item yang dipilih" + +#: src/hdy-combo-row.c:435 +#, fuzzy +msgid "Use subtitle" +msgstr "Menggunakan subtitle" + +#: src/hdy-combo-row.c:436 +#, fuzzy +msgid "Set the current value as the subtitle" +msgstr "Menetapkan nilai saat ini sebagai subtitle" + +#: src/hdy-deck.c:888 +msgid "Horizontally homogeneous" +msgstr "Homogen secara horizontal" + +#: src/hdy-deck.c:889 +#, fuzzy +msgid "Horizontally homogeneous sizing" +msgstr "Ukuran horizontal homogen" + +#: src/hdy-deck.c:902 +msgid "Vertically homogeneous" +msgstr "Homogen secara vertikal" + +#: src/hdy-deck.c:903 +#, fuzzy +msgid "Vertically homogeneous sizing" +msgstr "Ukuran homogen vertikal" + +#: src/hdy-deck.c:916 src/hdy-leaflet.c:1018 src/hdy-squeezer.c:1098 +#: src/hdy-stackable-box.c:2993 +#, fuzzy +msgid "Visible child" +msgstr "Anak yang terlihat" + +#: src/hdy-deck.c:917 +#, fuzzy +msgid "The widget currently visible" +msgstr "Widget saat ini terlihat" + +#: src/hdy-deck.c:930 src/hdy-leaflet.c:1025 src/hdy-stackable-box.c:3000 +#, fuzzy +msgid "Name of visible child" +msgstr "Nama anak yang terlihat" + +#: src/hdy-deck.c:931 +#, fuzzy +msgid "The name of the widget currently visible" +msgstr "Nama widget yang saat ini terlihat" + +#: src/hdy-deck.c:949 src/hdy-leaflet.c:1044 src/hdy-squeezer.c:1112 +#: src/hdy-stackable-box.c:3019 +msgid "Transition type" +msgstr "Jenis transisi" + +#: src/hdy-deck.c:950 +#, fuzzy +msgid "The type of animation used to transition between children" +msgstr "Jenis animasi yang digunakan untuk transisi antara anak-anak" + +#: src/hdy-deck.c:963 src/hdy-header-bar.c:2203 src/hdy-squeezer.c:1105 +msgid "Transition duration" +msgstr "Durasi transisi" + +#: src/hdy-deck.c:964 +#, fuzzy +msgid "The transition animation duration, in milliseconds" +msgstr "Durasi animasi transisi, dalam milidetik" + +#: src/hdy-deck.c:977 src/hdy-header-bar.c:2210 src/hdy-squeezer.c:1120 +#, fuzzy +msgid "Transition running" +msgstr "Transisi berjalan" + +#: src/hdy-deck.c:978 src/hdy-header-bar.c:2211 src/hdy-squeezer.c:1121 +#, fuzzy +msgid "Whether or not the transition is currently running" +msgstr "Apakah transisi saat ini sedang berjalan atau tidak" + +#: src/hdy-deck.c:992 src/hdy-header-bar.c:2217 src/hdy-leaflet.c:1072 +#: src/hdy-squeezer.c:1127 src/hdy-stackable-box.c:3047 +msgid "Interpolate size" +msgstr "Ukuran interpolasi" + +#: src/hdy-deck.c:993 src/hdy-header-bar.c:2218 src/hdy-leaflet.c:1073 +#: src/hdy-squeezer.c:1128 src/hdy-stackable-box.c:3048 +#, fuzzy +msgid "" +"Whether or not the size should smoothly change when changing between " +"differently sized children" +msgstr "" +"Apakah ukuran harus lancar berubah ketika berubah antara anak-anak berukuran " +"berbeda" + +#: src/hdy-deck.c:1007 src/hdy-leaflet.c:1087 src/hdy-preferences-window.c:520 +#: src/hdy-stackable-box.c:3062 +#, fuzzy +msgid "Can swipe back" +msgstr "Dapat menggesek ke belakang" + +#: src/hdy-deck.c:1008 src/hdy-leaflet.c:1088 src/hdy-stackable-box.c:3063 +#, fuzzy +msgid "" +"Whether or not swipe gesture can be used to switch to the previous child" +msgstr "" +"Apakah gerakan gesek dapat digunakan untuk beralih ke anak sebelumnya atau " +"tidak" + +#: src/hdy-deck.c:1022 src/hdy-leaflet.c:1102 src/hdy-stackable-box.c:3077 +#, fuzzy +msgid "Can swipe forward" +msgstr "Dapat menggesek ke depan" + +#: src/hdy-deck.c:1023 src/hdy-leaflet.c:1103 src/hdy-stackable-box.c:3078 +#, fuzzy +msgid "Whether or not swipe gesture can be used to switch to the next child" +msgstr "" +"Apakah gerakan gesek dapat digunakan untuk beralih ke anak berikutnya atau " +"tidak" + +#: src/hdy-deck.c:1031 src/hdy-leaflet.c:1111 +msgid "Name" +msgstr "Nama" + +#: src/hdy-deck.c:1032 src/hdy-leaflet.c:1112 +#, fuzzy +msgid "The name of the child page" +msgstr "Nama halaman anak" + +#: src/hdy-expander-row.c:286 +#, fuzzy +msgid "The subtitle for this row" +msgstr "Subjudul untuk baris ini" + +#: src/hdy-expander-row.c:326 +msgid "Expanded" +msgstr "Dikembangkan" + +#: src/hdy-expander-row.c:327 +#, fuzzy +msgid "Whether the row is expanded" +msgstr "Apakah baris diperluas" + +#: src/hdy-expander-row.c:338 +#, fuzzy +msgid "Enable expansion" +msgstr "Aktifkan ekspansi" + +#: src/hdy-expander-row.c:339 +#, fuzzy +msgid "Whether the expansion is enabled" +msgstr "Apakah ekspansi diaktifkan" + +#: src/hdy-expander-row.c:350 +#, fuzzy +msgid "Show enable switch" +msgstr "Tampilkan sakelar aktifkan" + +#: src/hdy-expander-row.c:351 +#, fuzzy +msgid "Whether the switch enabling the expansion is visible" +msgstr "Apakah sakelar yang mengaktifkan ekspansi terlihat" + +#: src/hdy-header-bar.c:485 +msgid "Application menu" +msgstr "Menu aplikasi" + +#: src/hdy-header-bar.c:507 src/hdy-window-handle-controller.c:275 +msgid "Minimize" +msgstr "Minimalkan" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:241 +msgid "Restore" +msgstr "Pulihkan" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:284 +msgid "Maximize" +msgstr "Maksimalkan" + +#: src/hdy-header-bar.c:547 src/hdy-window-handle-controller.c:311 +msgid "Close" +msgstr "Tutup" + +#: src/hdy-header-bar.c:563 +msgid "Back" +msgstr "Mundur" + +#: src/hdy-header-bar.c:2086 +#, fuzzy +msgid "Pack type" +msgstr "Jenis paket" + +#: src/hdy-header-bar.c:2087 +#, fuzzy +msgid "" +"A GtkPackType indicating whether the child is packed with reference to the " +"start or end of the parent" +msgstr "" +"GtkPackType menunjukkan apakah anak dikemas dengan referensi ke awal atau " +"akhir orang tua" + +#: src/hdy-header-bar.c:2094 +#, fuzzy +msgid "The index of the child in the parent" +msgstr "Indeks anak dalam induk" + +#: src/hdy-header-bar.c:2100 src/hdy-preferences-group.c:265 +#: src/hdy-preferences-group.c:266 src/hdy-preferences-page.c:193 +#: src/hdy-preferences-page.c:194 src/hdy-preferences-row.c:115 +#: src/hdy-view-switcher-title.c:258 +msgid "Title" +msgstr "Judul" + +#: src/hdy-header-bar.c:2101 src/hdy-view-switcher-title.c:259 +#, fuzzy +msgid "The title to display" +msgstr "Judul yang akan ditampilkan" + +#: src/hdy-header-bar.c:2108 src/hdy-view-switcher-title.c:273 +#, fuzzy +msgid "The subtitle to display" +msgstr "Subtitle untuk ditampilkan" + +#: src/hdy-header-bar.c:2114 +msgid "Custom Title" +msgstr "Judul Ubahan" + +#: src/hdy-header-bar.c:2115 +#, fuzzy +msgid "Custom title widget to display" +msgstr "Widget judul kustom untuk ditampilkan" + +#: src/hdy-header-bar.c:2122 +#, fuzzy +msgid "The amount of space between children" +msgstr "Jumlah ruang antara anak-anak" + +#: src/hdy-header-bar.c:2141 +#, fuzzy +msgid "Show decorations" +msgstr "Tampilkan dekorasi" + +#: src/hdy-header-bar.c:2142 +#, fuzzy +msgid "Whether to show window decorations" +msgstr "Apakah akan menampilkan dekorasi jendela" + +#: src/hdy-header-bar.c:2160 +msgid "Decoration Layout" +msgstr "Tata Letak Dekorasi" + +#: src/hdy-header-bar.c:2161 +#, fuzzy +msgid "The layout for window decorations" +msgstr "Tata letak untuk dekorasi jendela" + +#: src/hdy-header-bar.c:2174 +#, fuzzy +msgid "Decoration Layout Set" +msgstr "Set Tata Letak Dekorasi" + +#: src/hdy-header-bar.c:2175 +#, fuzzy +msgid "Whether the decoration-layout property has been set" +msgstr "Apakah properti dekorasi-tata letak telah ditetapkan" + +#: src/hdy-header-bar.c:2189 +#, fuzzy +msgid "Has Subtitle" +msgstr "Mempunyai Subtitle" + +#: src/hdy-header-bar.c:2190 +#, fuzzy +msgid "Whether to reserve space for a subtitle" +msgstr "Apakah akan memesan ruang untuk subtitle" + +#: src/hdy-header-bar.c:2196 +#, fuzzy +msgid "Centering policy" +msgstr "Kebijakan pusat" + +#: src/hdy-header-bar.c:2197 +#, fuzzy +msgid "The policy to horizontally align the center widget" +msgstr "Kebijakan untuk menyelaraskan widget tengah secara horizontal" + +#: src/hdy-header-bar.c:2204 src/hdy-squeezer.c:1106 +#, fuzzy +msgid "The animation duration, in milliseconds" +msgstr "Durasi animasi, dalam milidetik" + +#: src/hdy-header-group.c:827 +#, fuzzy +msgid "Decorate all" +msgstr "Hiasi semua" + +#: src/hdy-header-group.c:828 +#, fuzzy +msgid "" +"Whether the elements of the group should all receive the full decoration" +msgstr "Apakah elemen kelompok semua harus menerima dekorasi penuh" + +#: src/hdy-keypad-button.c:225 +msgid "Digit" +msgstr "Digit" + +#: src/hdy-keypad-button.c:226 +#, fuzzy +msgid "The keypad digit of the button" +msgstr "Digit keypad tombol" + +#: src/hdy-keypad-button.c:232 +msgid "Symbols" +msgstr "Simbol" + +#: src/hdy-keypad-button.c:233 +#, fuzzy +msgid "The keypad symbols of the button. The first symbol is used as the digit" +msgstr "Simbol keypad tombol. Simbol pertama digunakan sebagai digit" + +#: src/hdy-keypad-button.c:239 +msgid "Show symbols" +msgstr "Tampilkan simbol" + +#: src/hdy-keypad-button.c:240 +#, fuzzy +msgid "Whether the second line of symbols should be shown or not" +msgstr "Apakah baris kedua simbol harus ditampilkan atau tidak" + +#: src/hdy-keypad.c:247 +msgid "Row spacing" +msgstr "Jarak baris" + +#: src/hdy-keypad.c:248 +#, fuzzy +msgid "The amount of space between two consecutive rows" +msgstr "Jumlah ruang antara dua baris berturut-turut" + +#: src/hdy-keypad.c:261 +msgid "Column spacing" +msgstr "Jarak kolom" + +#: src/hdy-keypad.c:262 +#, fuzzy +msgid "The amount of space between two consecutive columns" +msgstr "Jumlah ruang antara dua kolom berturut-turut" + +#: src/hdy-keypad.c:276 +#, fuzzy +msgid "Letters visible" +msgstr "Huruf terlihat" + +#: src/hdy-keypad.c:277 +#, fuzzy +msgid "Whether the letters below the digits should be visible" +msgstr "Apakah huruf di bawah digit harus terlihat" + +#: src/hdy-keypad.c:291 +#, fuzzy +msgid "Symbols visible" +msgstr "Simbol terlihat" + +#: src/hdy-keypad.c:292 +#, fuzzy +msgid "Whether the hash, plus, and asterisk symbols should be visible" +msgstr "Apakah simbol hash, plus, dan tanda bintang harus terlihat" + +#: src/hdy-keypad.c:306 +msgid "Entry" +msgstr "Entri" + +#: src/hdy-keypad.c:307 +#, fuzzy +msgid "The entry widget connected to the keypad" +msgstr "Widget entri yang terhubung ke keypad" + +#: src/hdy-keypad.c:320 +msgid "End action" +msgstr "Akhiri tindakan" + +#: src/hdy-keypad.c:321 +#, fuzzy +msgid "The end action widget" +msgstr "Widget aksi akhir" + +#: src/hdy-keypad.c:334 +msgid "Start action" +msgstr "Mulai tindakan" + +#: src/hdy-keypad.c:335 +#, fuzzy +msgid "The start action widget" +msgstr "Widget aksi awal" + +#: src/hdy-leaflet.c:963 src/hdy-stackable-box.c:2938 +msgid "Folded" +msgstr "Dilipat" + +#: src/hdy-leaflet.c:964 src/hdy-stackable-box.c:2939 +#, fuzzy +msgid "Whether the widget is folded" +msgstr "Apakah widget dilipat" + +#: src/hdy-leaflet.c:975 src/hdy-stackable-box.c:2950 +#, fuzzy +msgid "Horizontally homogeneous folded" +msgstr "Dilipat secara horizontal homogen" + +#: src/hdy-leaflet.c:976 +#, fuzzy +msgid "Horizontally homogeneous sizing when the leaflet is folded" +msgstr "Ukuran horizontal homogen ketika selebaran dilipat" + +#: src/hdy-leaflet.c:987 src/hdy-stackable-box.c:2962 +#, fuzzy +msgid "Vertically homogeneous folded" +msgstr "Dilipat secara vertikal homogen" + +#: src/hdy-leaflet.c:988 +#, fuzzy +msgid "Vertically homogeneous sizing when the leaflet is folded" +msgstr "Ukuran homogen secara vertikal ketika selebaran dilipat" + +#: src/hdy-leaflet.c:999 src/hdy-stackable-box.c:2974 +#, fuzzy +msgid "Box horizontally homogeneous" +msgstr "Kotak horizontal homogen" + +#: src/hdy-leaflet.c:1000 +#, fuzzy +msgid "Horizontally homogeneous sizing when the leaflet is unfolded" +msgstr "Ukuran horizontal homogen ketika selebaran terungkap" + +#: src/hdy-leaflet.c:1011 src/hdy-stackable-box.c:2986 +#, fuzzy +msgid "Box vertically homogeneous" +msgstr "Kotak homogen secara vertikal" + +#: src/hdy-leaflet.c:1012 +#, fuzzy +msgid "Vertically homogeneous sizing when the leaflet is unfolded" +msgstr "Ukuran vertikal homogen ketika selebaran terungkap" + +#: src/hdy-leaflet.c:1019 +#, fuzzy +msgid "The widget currently visible when the leaflet is folded" +msgstr "Widget saat ini terlihat ketika selebaran dilipat" + +#: src/hdy-leaflet.c:1026 src/hdy-stackable-box.c:3001 +#, fuzzy +msgid "The name of the widget currently visible when the children are stacked" +msgstr "Nama widget saat ini terlihat ketika anak-anak ditumpuk" + +#: src/hdy-leaflet.c:1045 src/hdy-stackable-box.c:3020 +#, fuzzy +msgid "The type of animation used to transition between modes and children" +msgstr "Jenis animasi yang digunakan untuk transisi antara mode dan anak-anak" + +#: src/hdy-leaflet.c:1051 src/hdy-stackable-box.c:3026 +#, fuzzy +msgid "Mode transition duration" +msgstr "Durasi transisi mode" + +#: src/hdy-leaflet.c:1052 src/hdy-stackable-box.c:3027 +#, fuzzy +msgid "The mode transition animation duration, in milliseconds" +msgstr "Durasi animasi transisi mode, dalam milidetik" + +#: src/hdy-leaflet.c:1058 src/hdy-stackable-box.c:3033 +#, fuzzy +msgid "Child transition duration" +msgstr "Durasi transisi anak" + +#: src/hdy-leaflet.c:1059 src/hdy-stackable-box.c:3034 +#, fuzzy +msgid "The child transition animation duration, in milliseconds" +msgstr "Durasi animasi transisi anak, dalam milidetik" + +#: src/hdy-leaflet.c:1065 src/hdy-stackable-box.c:3040 +#, fuzzy +msgid "Child transition running" +msgstr "Transisi anak berjalan" + +#: src/hdy-leaflet.c:1066 src/hdy-stackable-box.c:3041 +#, fuzzy +msgid "Whether or not the child transition is currently running" +msgstr "Apakah transisi anak saat ini sedang berjalan atau tidak" + +#: src/hdy-leaflet.c:1129 +#, fuzzy +msgid "Navigatable" +msgstr "Dapat dinavigkan" + +#: src/hdy-leaflet.c:1130 +#, fuzzy +msgid "Whether the child can be navigated to" +msgstr "Apakah anak dapat dinavigasi ke" + +#: src/hdy-preferences-group.c:251 src/hdy-preferences-group.c:252 +msgid "Description" +msgstr "Deskripsi" + +#: src/hdy-preferences-row.c:116 +#, fuzzy +msgid "The title of the preference" +msgstr "Judul preferensi" + +#: src/hdy-preferences-window.c:141 +#, fuzzy +msgid "Untitled page" +msgstr "Halaman tanpa judul" + +#: src/hdy-preferences-window.c:506 +#, fuzzy +msgid "Search enabled" +msgstr "Pencarian diaktifkan" + +#: src/hdy-preferences-window.c:507 +#, fuzzy +msgid "Whether search is enabled" +msgstr "Apakah pencarian diaktifkan" + +#: src/hdy-preferences-window.c:521 +#, fuzzy +msgid "" +"Whether or not swipe gesture can be used to switch from a subpage to the " +"preferences" +msgstr "" +"Apakah gerakan gesek dapat digunakan untuk beralih dari subhalaman ke " +"preferensi" + +#: src/hdy-preferences-window.ui:9 +msgid "Preferences" +msgstr "Preferensi" + +#: src/hdy-preferences-window.ui:81 +msgid "Search" +msgstr "Cari" + +#: src/hdy-preferences-window.ui:204 +#, fuzzy +msgid "No Results Found" +msgstr "Tak Ada Hasil yang Ditemukan" + +#: src/hdy-preferences-window.ui:219 +#, fuzzy +msgid "Try a different search" +msgstr "Coba pencarian lain" + +#: src/hdy-search-bar.c:451 +#, fuzzy +msgid "Search Mode Enabled" +msgstr "Mode Pencarian Diaktifkan" + +#: src/hdy-search-bar.c:452 +#, fuzzy +msgid "Whether the search mode is on and the search bar shown" +msgstr "Apakah mode pencarian aktif dan bilah pencarian ditampilkan" + +#: src/hdy-search-bar.c:463 +#, fuzzy +msgid "Show Close Button" +msgstr "Tampilkan Tombol Tutup" + +#: src/hdy-search-bar.c:464 +#, fuzzy +msgid "Whether to show the close button in the toolbar" +msgstr "Apakah akan menampilkan tombol tutup di bar alat" + +#: src/hdy-shadow-helper.c:254 +msgid "Widget" +msgstr "Widget" + +#: src/hdy-shadow-helper.c:255 +#, fuzzy +msgid "The widget the shadow will be drawn for" +msgstr "Widget bayangan akan ditarik untuk" + +#: src/hdy-squeezer.c:1091 +msgid "Homogeneous" +msgstr "Homogen" + +#: src/hdy-squeezer.c:1092 +#, fuzzy +msgid "Homogeneous sizing" +msgstr "Ukuran homogen" + +#: src/hdy-squeezer.c:1099 +#, fuzzy +msgid "The widget currently visible in the squeezer" +msgstr "Widget saat ini terlihat di squeezer" + +#: src/hdy-squeezer.c:1113 +#, fuzzy +msgid "The type of animation used to transition" +msgstr "Jenis animasi yang digunakan untuk transisi" + +#: src/hdy-squeezer.c:1148 +#, fuzzy +msgid "X align" +msgstr "X sejajar" + +#: src/hdy-squeezer.c:1149 +#, fuzzy +msgid "The horizontal alignment, from 0 (start) to 1 (end)" +msgstr "Perataan horizontal, dari 0 (mulai) ke 1 (akhir)" + +#: src/hdy-squeezer.c:1170 +#, fuzzy +msgid "Y align" +msgstr "Y sejajar" + +#: src/hdy-squeezer.c:1171 +#, fuzzy +msgid "The vertical alignment, from 0 (top) to 1 (bottom)" +msgstr "Perataan vertikal, dari 0 (atas) ke 1 (bawah)" + +#: src/hdy-squeezer.c:1180 src/hdy-swipe-tracker.c:773 +msgid "Enabled" +msgstr "Difungsikan" + +#: src/hdy-squeezer.c:1181 +#, fuzzy +msgid "" +"Whether the child can be picked or should be ignored when looking for the " +"child fitting the available size best" +msgstr "" +"Apakah anak dapat dipilih atau harus diabaikan ketika mencari anak yang " +"sesuai dengan ukuran yang tersedia terbaik" + +#: src/hdy-stackable-box.c:2951 +#, fuzzy +msgid "Horizontally homogeneous sizing when the widget is folded" +msgstr "Ukuran horizontal homogen ketika widget dilipat" + +#: src/hdy-stackable-box.c:2963 +#, fuzzy +msgid "Vertically homogeneous sizing when the widget is folded" +msgstr "Ukuran vertikal homogen ketika widget dilipat" + +#: src/hdy-stackable-box.c:2975 +#, fuzzy +msgid "Horizontally homogeneous sizing when the widget is unfolded" +msgstr "Ukuran horizontal homogen ketika widget terungkap" + +#: src/hdy-stackable-box.c:2987 +#, fuzzy +msgid "Vertically homogeneous sizing when the widget is unfolded" +msgstr "Ukuran vertikal homogen ketika widget terungkap" + +#: src/hdy-stackable-box.c:2994 +#, fuzzy +msgid "The widget currently visible when the widget is folded" +msgstr "Widget saat ini terlihat ketika widget dilipat" + +#: src/hdy-stackable-box.c:3084 src/hdy-stackable-box.c:3085 +msgid "Orientation" +msgstr "Orientasi" + +#: src/hdy-swipe-tracker.c:758 +#, fuzzy +msgid "Swipeable" +msgstr "Dapat digesek" + +#: src/hdy-swipe-tracker.c:759 +#, fuzzy +msgid "The swipeable the swipe tracker is attached to" +msgstr "Pelacak gesek diseks dilampirkan ke" + +#: src/hdy-swipe-tracker.c:774 +#, fuzzy +msgid "Whether the swipe tracker processes events" +msgstr "Apakah pelacak gesek memproses peristiwa" + +#: src/hdy-swipe-tracker.c:788 +msgid "Reversed" +msgstr "Terbalik" + +#: src/hdy-swipe-tracker.c:789 +#, fuzzy +msgid "Whether swipe direction is reversed" +msgstr "Apakah arah gesek dibalik" + +#: src/hdy-title-bar.c:308 +#, fuzzy +msgid "Selection mode" +msgstr "Mode seleksi" + +#: src/hdy-title-bar.c:309 +#, fuzzy +msgid "Whether or not the title bar is in selection mode" +msgstr "Apakah bilah judul berada dalam mode pilihan atau tidak" + +#: src/hdy-value-object.c:191 +msgctxt "HdyValueObjectClass" +msgid "Value" +msgstr "Nilai" + +#: src/hdy-value-object.c:192 +#, fuzzy +msgctxt "HdyValueObjectClass" +msgid "The contained value" +msgstr "Nilai terkandung" + +#: src/hdy-view-switcher-bar.c:178 src/hdy-view-switcher.c:509 +#: src/hdy-view-switcher-title.c:230 +msgid "Policy" +msgstr "Kebijakan" + +#: src/hdy-view-switcher-bar.c:179 src/hdy-view-switcher.c:510 +#: src/hdy-view-switcher-title.c:231 +#, fuzzy +msgid "The policy to determine the mode to use" +msgstr "Kebijakan untuk menentukan mode untuk" + +#: src/hdy-view-switcher-bar.c:192 src/hdy-view-switcher-bar.c:193 +#: src/hdy-view-switcher.c:544 src/hdy-view-switcher.c:545 +#: src/hdy-view-switcher-title.c:244 src/hdy-view-switcher-title.c:245 +#, fuzzy +msgid "Stack" +msgstr "Stack" + +#: src/hdy-view-switcher-bar.c:206 +#, fuzzy +msgid "Reveal" +msgstr "Ungkapkan" + +#: src/hdy-view-switcher-bar.c:207 +#, fuzzy +msgid "Whether the view switcher is revealed" +msgstr "Apakah pengalih tampilan terungkap" + +#: src/hdy-view-switcher-button.c:203 +msgid "Icon Name" +msgstr "Nama Ikon" + +#: src/hdy-view-switcher-button.c:204 +#, fuzzy +msgid "Icon name for image" +msgstr "Nama ikon untuk gambar" + +#: src/hdy-view-switcher-button.c:217 +msgid "Icon Size" +msgstr "Ukuran Ikon" + +#: src/hdy-view-switcher-button.c:218 +#, fuzzy +msgid "Symbolic size to use for named icon" +msgstr "Ukuran simbolis untuk digunakan untuk ikon bernama" + +#: src/hdy-view-switcher-button.c:234 +#, fuzzy +msgid "Needs attention" +msgstr "Perlu perhatian" + +#: src/hdy-view-switcher-button.c:235 +#, fuzzy +msgid "Hint the view needs attention" +msgstr "Petunjuk tampilan membutuhkan perhatian" + +#: src/hdy-view-switcher.c:529 +#, fuzzy +msgid "Narrow ellipsize" +msgstr "Elips sempit" + +#: src/hdy-view-switcher.c:530 +#, fuzzy +msgid "" +"The preferred place to ellipsize the string, if the narrow mode label does " +"not have enough room to display the entire string" +msgstr "" +"Tempat yang disukai untuk elips string, jika label mode sempit tidak " +"memiliki cukup ruang untuk menampilkan seluruh string" + +#: src/hdy-view-switcher-title.c:286 +#, fuzzy +msgid "View switcher enabled" +msgstr "Lihat pengalih diaktifkan" + +#: src/hdy-view-switcher-title.c:287 +#, fuzzy +msgid "Whether the view switcher is enabled" +msgstr "Apakah pengalih tampilan diaktifkan" + +#: src/hdy-view-switcher-title.c:300 +#, fuzzy +msgid "Title visible" +msgstr "Judul terlihat" + +#: src/hdy-view-switcher-title.c:301 +#, fuzzy +msgid "Whether the title label is visible" +msgstr "Apakah label judul terlihat" + +#: src/hdy-window-handle-controller.c:259 +msgid "Move" +msgstr "Pindah" + +#: src/hdy-window-handle-controller.c:267 +msgid "Resize" +msgstr "Ubah Ukuran" + +#: src/hdy-window-handle-controller.c:298 +msgid "Always on Top" +msgstr "Selalu di Puncak" diff --git a/subprojects/libhandy/po/meson.build b/subprojects/libhandy/po/meson.build new file mode 100644 index 00000000..d1f4e166 --- /dev/null +++ b/subprojects/libhandy/po/meson.build @@ -0,0 +1,2 @@ +i18n = import('i18n') +i18n.gettext('libhandy', preset : 'glib') diff --git a/subprojects/libhandy/po/pl.po b/subprojects/libhandy/po/pl.po new file mode 100644 index 00000000..99f76a24 --- /dev/null +++ b/subprojects/libhandy/po/pl.po @@ -0,0 +1,76 @@ +# Polish translation for libhandy. +# Copyright © 2020 the libhandy authors. +# This file is distributed under the same license as the libhandy package. +# Piotr Drąg , 2020. +# Aviary.pl , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: libhandy\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libhandy/issues\n" +"POT-Creation-Date: 2020-06-20 07:06+0000\n" +"PO-Revision-Date: 2020-06-21 11:20+0200\n" +"Last-Translator: Piotr Drąg \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" + +#: src/hdy-header-bar.c:484 +msgid "Application menu" +msgstr "Menu programu" + +#: src/hdy-header-bar.c:506 src/hdy-window-handle-controller.c:275 +msgid "Minimize" +msgstr "Zminimalizuj" + +#: src/hdy-header-bar.c:528 src/hdy-window-handle-controller.c:241 +msgid "Restore" +msgstr "Przywróć" + +#: src/hdy-header-bar.c:528 src/hdy-window-handle-controller.c:284 +msgid "Maximize" +msgstr "Zmaksymalizuj" + +#: src/hdy-header-bar.c:546 src/hdy-window-handle-controller.c:311 +msgid "Close" +msgstr "Zamknij" + +#: src/hdy-header-bar.c:562 +msgid "Back" +msgstr "Wstecz" + +#: src/hdy-preferences-window.c:135 +msgid "Untitled page" +msgstr "Strona bez tytułu" + +#: src/hdy-preferences-window.ui:9 +msgid "Preferences" +msgstr "Preferencje" + +#: src/hdy-preferences-window.ui:72 +msgid "Search" +msgstr "Wyszukiwanie" + +#: src/hdy-preferences-window.ui:195 +msgid "No Results Found" +msgstr "Brak wyników" + +#: src/hdy-preferences-window.ui:210 +msgid "Try a different search" +msgstr "Proszę spróbować innych słów" + +#: src/hdy-window-handle-controller.c:259 +msgid "Move" +msgstr "Przenieś" + +#: src/hdy-window-handle-controller.c:267 +msgid "Resize" +msgstr "Zmień rozmiar" + +#: src/hdy-window-handle-controller.c:298 +msgid "Always on Top" +msgstr "Zawsze na wierzchu" diff --git a/subprojects/libhandy/po/pt_BR.po b/subprojects/libhandy/po/pt_BR.po new file mode 100644 index 00000000..ac8c6b6b --- /dev/null +++ b/subprojects/libhandy/po/pt_BR.po @@ -0,0 +1,935 @@ +# Brazilian Portuguese translation for libhandy. +# Copyright (C) 2020 libhandy's COPYRIGHT HOLDER +# This file is distributed under the same license as the libhandy package. +# Rafael Fontenelle , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: libhandy master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libhandy/issues\n" +"POT-Creation-Date: 2020-08-06 15:34+0000\n" +"PO-Revision-Date: 2020-09-02 20:05-0300\n" +"Last-Translator: Rafael Fontenelle \n" +"Language-Team: Brazilian Portuguese \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1)\n" +"X-Generator: Gtranslator 3.36.0\n" + +#: glade/glade-hdy-carousel.c:160 glade/glade-hdy-header-bar.c:118 +#: glade/glade-hdy-leaflet.c:184 +#, c-format +msgid "Insert placeholder to %s" +msgstr "Inserir espaço reservado para %s" + +#: glade/glade-hdy-carousel.c:189 glade/glade-hdy-header-bar.c:144 +#: glade/glade-hdy-leaflet.c:214 +#, c-format +msgid "Remove placeholder from %s" +msgstr "Remover espaço reservado de %s" + +#: glade/glade-hdy-header-bar.c:18 +msgid "This property does not apply when a custom title is set" +msgstr "" +"Esta propriedade não se aplica quando um título personalizado está definido" + +#: glade/glade-hdy-header-bar.c:289 +msgid "" +"The decoration layout does not apply to header bars which do no show window " +"controls" +msgstr "" +"O layout de decoração não se aplica à barras de cabeçalho que não mostram os " +"controles de janela" + +#: glade/glade-hdy-leaflet.c:19 +msgid "This property only applies when the leaflet is folded" +msgstr "Esta propriedade somente se aplica quando o folheto está dobrado" + +#: glade/glade-hdy-preferences-page.c:160 +#, c-format +msgid "Add group to %s" +msgstr "Adicionar grupo a %s" + +#: glade/glade-hdy-preferences-window.c:228 +#, c-format +msgid "Add page to %s" +msgstr "Adicionar página a %s" + +#: glade/glade-hdy-search-bar.c:101 +msgid "Search bar is already full" +msgstr "A barra de pesquisa já está cheia" + +#: glade/glade-hdy-utils.h:14 +#, c-format +msgid "Only objects of type %s can be added to objects of type %s." +msgstr "Somente objetos do tipo %s podem ser adicionados a objetos do tipo %s." + +#: src/hdy-action-row.c:354 src/hdy-action-row.c:355 src/hdy-expander-row.c:314 +#: src/hdy-expander-row.c:315 src/hdy-preferences-page.c:179 +#: src/hdy-preferences-page.c:180 +msgid "Icon name" +msgstr "Nome do ícone" + +#: src/hdy-action-row.c:368 +msgid "Activatable widget" +msgstr "Widget ativável" + +#: src/hdy-action-row.c:369 +msgid "The widget to be activated when the row is activated" +msgstr "O widget para ser ativado quando a linha está ativada" + +#: src/hdy-action-row.c:382 src/hdy-action-row.c:383 src/hdy-expander-row.c:285 +#: src/hdy-header-bar.c:2105 src/hdy-view-switcher-title.c:272 +msgid "Subtitle" +msgstr "Subtítulo" + +#: src/hdy-action-row.c:397 src/hdy-expander-row.c:300 +#: src/hdy-preferences-row.c:130 +msgid "Use underline" +msgstr "Usar sublinhado" + +#: src/hdy-action-row.c:398 src/hdy-expander-row.c:301 +#: src/hdy-preferences-row.c:131 +msgid "" +"If set, an underline in the text indicates the next character should be used " +"for the mnemonic accelerator key" +msgstr "" +"Se definir, um sublinhado no texto indica a próprio caractere deve ser usado " +"para uma tecla aceleradora mnemônica" + +#: src/hdy-carousel-box.c:1088 src/hdy-carousel-box.c:1089 +#: src/hdy-carousel.c:575 src/hdy-carousel.c:576 +msgid "Number of pages" +msgstr "Número de páginas" + +#: src/hdy-carousel-box.c:1104 src/hdy-carousel.c:592 src/hdy-header-bar.c:2091 +msgid "Position" +msgstr "Posição" + +#: src/hdy-carousel-box.c:1105 src/hdy-carousel.c:593 +msgid "Current scrolling position" +msgstr "Posição de rolagem atual" + +#: src/hdy-carousel-box.c:1120 src/hdy-carousel.c:623 src/hdy-header-bar.c:2119 +msgid "Spacing" +msgstr "Espaçamento" + +#: src/hdy-carousel-box.c:1121 src/hdy-carousel.c:624 +msgid "Spacing between pages" +msgstr "Espaçamento entre páginas" + +#: src/hdy-carousel-box.c:1137 src/hdy-carousel.c:668 +msgid "Reveal duration" +msgstr "Revelar duração" + +#: src/hdy-carousel-box.c:1138 src/hdy-carousel.c:669 +msgid "Page reveal duration" +msgstr "Duração de revelação de página" + +#: src/hdy-carousel.c:609 +msgid "Interactive" +msgstr "Interativa" + +#: src/hdy-carousel.c:610 +msgid "Whether the widget can be swiped" +msgstr "Se é possível deslizar pelo widget" + +#: src/hdy-carousel.c:639 +msgid "Animation duration" +msgstr "Duração da animação" + +#: src/hdy-carousel.c:640 +msgid "Default animation duration" +msgstr "Duração padrão da animação" + +#: src/hdy-carousel.c:654 src/hdy-swipe-tracker.c:803 +msgid "Allow mouse drag" +msgstr "Permitir arrastar com mouse" + +#: src/hdy-carousel.c:655 src/hdy-swipe-tracker.c:804 +msgid "Whether to allow dragging with mouse pointer" +msgstr "Se deve-se permitir arrastar com ponteiro do mouse" + +#: src/hdy-carousel-indicator-dots.c:392 src/hdy-carousel-indicator-dots.c:393 +#: src/hdy-carousel-indicator-lines.c:391 +#: src/hdy-carousel-indicator-lines.c:392 +msgid "Carousel" +msgstr "Carrossel" + +#: src/hdy-clamp.c:417 +msgid "Maximum size" +msgstr "Tamanho máximo" + +#: src/hdy-clamp.c:418 +msgid "The maximum size allocated to the child" +msgstr "O tamanho máximo alocado para o filho" + +#: src/hdy-clamp.c:442 +msgid "Tightening threshold" +msgstr "Limiar de aperto" + +#: src/hdy-clamp.c:443 +msgid "The size from which the clamp will tighten its grip on the child" +msgstr "" +"O tamanho a partir do qual a operação de clamping vai apertar o tamanho do " +"filho" + +#: src/hdy-combo-row.c:411 +msgid "Selected index" +msgstr "Índice selecionado" + +#: src/hdy-combo-row.c:412 +msgid "The index of the selected item" +msgstr "O índice do item selecionado" + +#: src/hdy-combo-row.c:430 +msgid "Use subtitle" +msgstr "Usar subtítulo" + +#: src/hdy-combo-row.c:431 +msgid "Set the current value as the subtitle" +msgstr "Define o valor atual como o subtítulo" + +#: src/hdy-deck.c:888 +msgid "Horizontally homogeneous" +msgstr "Horizontalmente homogêneo" + +#: src/hdy-deck.c:889 +msgid "Horizontally homogeneous sizing" +msgstr "Dimensionamento horizontalmente homogêneo" + +#: src/hdy-deck.c:902 +msgid "Vertically homogeneous" +msgstr "Verticalmente homogêneo" + +#: src/hdy-deck.c:903 +msgid "Vertically homogeneous sizing" +msgstr "Dimensionamento verticalmente homogêneo" + +#: src/hdy-deck.c:916 src/hdy-leaflet.c:1018 src/hdy-squeezer.c:1098 +#: src/hdy-stackable-box.c:2993 +msgid "Visible child" +msgstr "Filho visível" + +#: src/hdy-deck.c:917 +msgid "The widget currently visible" +msgstr "O widget atualmente visível" + +#: src/hdy-deck.c:930 src/hdy-leaflet.c:1025 src/hdy-stackable-box.c:3000 +msgid "Name of visible child" +msgstr "Nome do filho visível" + +#: src/hdy-deck.c:931 +msgid "The name of the widget currently visible" +msgstr "O nome do widget atualmente visível" + +#: src/hdy-deck.c:949 src/hdy-leaflet.c:1044 src/hdy-squeezer.c:1112 +#: src/hdy-stackable-box.c:3019 +msgid "Transition type" +msgstr "Tipo de transição" + +#: src/hdy-deck.c:950 +msgid "The type of animation used to transition between children" +msgstr "O tipo de animação usada para a transição entre filhos" + +#: src/hdy-deck.c:963 src/hdy-header-bar.c:2201 src/hdy-squeezer.c:1105 +msgid "Transition duration" +msgstr "Duração de transição" + +#: src/hdy-deck.c:964 +msgid "The transition animation duration, in milliseconds" +msgstr "A duração da animação de transição, em milissegundos" + +#: src/hdy-deck.c:977 src/hdy-header-bar.c:2208 src/hdy-squeezer.c:1120 +msgid "Transition running" +msgstr "Execução de transição" + +#: src/hdy-deck.c:978 src/hdy-header-bar.c:2209 src/hdy-squeezer.c:1121 +msgid "Whether or not the transition is currently running" +msgstr "Se a transição está atualmente em execução" + +#: src/hdy-deck.c:992 src/hdy-header-bar.c:2215 src/hdy-leaflet.c:1072 +#: src/hdy-squeezer.c:1127 src/hdy-stackable-box.c:3047 +msgid "Interpolate size" +msgstr "Tamanho da interpolação" + +#: src/hdy-deck.c:993 src/hdy-header-bar.c:2216 src/hdy-leaflet.c:1073 +#: src/hdy-squeezer.c:1128 src/hdy-stackable-box.c:3048 +msgid "" +"Whether or not the size should smoothly change when changing between " +"differently sized children" +msgstr "" +"Se o tamanho deve ou não ser suavemente alterado ao alterar entre filhos de " +"tamanhos diferentes" + +#: src/hdy-deck.c:1007 src/hdy-leaflet.c:1087 src/hdy-preferences-window.c:497 +#: src/hdy-stackable-box.c:3062 +msgid "Can swipe back" +msgstr "Pode deslizar para trás" + +#: src/hdy-deck.c:1008 src/hdy-leaflet.c:1088 src/hdy-stackable-box.c:3063 +msgid "" +"Whether or not swipe gesture can be used to switch to the previous child" +msgstr "" +"Se o gesto de deslize pode ou não ser usado para alternar para o filho " +"anterior" + +#: src/hdy-deck.c:1022 src/hdy-leaflet.c:1102 src/hdy-stackable-box.c:3077 +msgid "Can swipe forward" +msgstr "Pode deslizar para frente" + +#: src/hdy-deck.c:1023 src/hdy-leaflet.c:1103 src/hdy-stackable-box.c:3078 +msgid "Whether or not swipe gesture can be used to switch to the next child" +msgstr "" +"Se o gesto de deslize pode ou não ser usado para alternar para o próximo " +"filho" + +#: src/hdy-deck.c:1031 src/hdy-leaflet.c:1111 +msgid "Name" +msgstr "Nome" + +#: src/hdy-deck.c:1032 src/hdy-leaflet.c:1112 +msgid "The name of the child page" +msgstr "O nome da página filha" + +#: src/hdy-expander-row.c:286 +msgid "The subtitle for this row" +msgstr "O subtítulo para esta linha" + +#: src/hdy-expander-row.c:326 +msgid "Expanded" +msgstr "Expandido" + +#: src/hdy-expander-row.c:327 +msgid "Whether the row is expanded" +msgstr "Se a linha é expandida" + +#: src/hdy-expander-row.c:338 +msgid "Enable expansion" +msgstr "Habilitar expansão" + +#: src/hdy-expander-row.c:339 +msgid "Whether the expansion is enabled" +msgstr "Se a expansão está habilitada" + +#: src/hdy-expander-row.c:350 +msgid "Show enable switch" +msgstr "Mostrar alternador de habilitação" + +#: src/hdy-expander-row.c:351 +msgid "Whether the switch enabling the expansion is visible" +msgstr "Se o alternador que habilita a expansão é visível" + +#: src/hdy-header-bar.c:485 +msgid "Application menu" +msgstr "Menu de aplicativo" + +#: src/hdy-header-bar.c:507 src/hdy-window-handle-controller.c:275 +msgid "Minimize" +msgstr "Minimizar" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:241 +msgid "Restore" +msgstr "Restaurar" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:284 +msgid "Maximize" +msgstr "Maximizar" + +#: src/hdy-header-bar.c:547 src/hdy-window-handle-controller.c:311 +msgid "Close" +msgstr "Fechar" + +#: src/hdy-header-bar.c:563 +msgid "Back" +msgstr "Retornar" + +#: src/hdy-header-bar.c:2084 +msgid "Pack type" +msgstr "Tipo de embalagem" + +#: src/hdy-header-bar.c:2085 +msgid "" +"A GtkPackType indicating whether the child is packed with reference to the " +"start or end of the parent" +msgstr "" +"Um GtkPackType indicando se o filho está empacotado com referência ao início " +"ou final do pai" + +#: src/hdy-header-bar.c:2092 +msgid "The index of the child in the parent" +msgstr "O índice do filho dentro do pai" + +#: src/hdy-header-bar.c:2098 src/hdy-preferences-group.c:265 +#: src/hdy-preferences-group.c:266 src/hdy-preferences-page.c:193 +#: src/hdy-preferences-page.c:194 src/hdy-preferences-row.c:115 +#: src/hdy-view-switcher-title.c:258 +msgid "Title" +msgstr "Título" + +#: src/hdy-header-bar.c:2099 src/hdy-view-switcher-title.c:259 +msgid "The title to display" +msgstr "O título para a ser exibido" + +#: src/hdy-header-bar.c:2106 src/hdy-view-switcher-title.c:273 +msgid "The subtitle to display" +msgstr "Subtítulo a ser exibido" + +#: src/hdy-header-bar.c:2112 +msgid "Custom Title" +msgstr "Título personalizado" + +#: src/hdy-header-bar.c:2113 +msgid "Custom title widget to display" +msgstr "Componente de título personalizado a ser exibido" + +#: src/hdy-header-bar.c:2120 +msgid "The amount of space between children" +msgstr "A quantidade de espaço entre filhos" + +#: src/hdy-header-bar.c:2139 +msgid "Show decorations" +msgstr "Mostrar decorações" + +#: src/hdy-header-bar.c:2140 +msgid "Whether to show window decorations" +msgstr "Se deve mostrar decorações da janela" + +#: src/hdy-header-bar.c:2158 +msgid "Decoration Layout" +msgstr "Disposição de decoração" + +#: src/hdy-header-bar.c:2159 +msgid "The layout for window decorations" +msgstr "A disposição de decorações da janela" + +#: src/hdy-header-bar.c:2172 +msgid "Decoration Layout Set" +msgstr "Disposição de decoração definido" + +#: src/hdy-header-bar.c:2173 +msgid "Whether the decoration-layout property has been set" +msgstr "Se a propriedade “decoration-layout” foi definida" + +#: src/hdy-header-bar.c:2187 +msgid "Has Subtitle" +msgstr "Possui subtítulo" + +#: src/hdy-header-bar.c:2188 +msgid "Whether to reserve space for a subtitle" +msgstr "Se deve reservar espaço para um subtítulo" + +#: src/hdy-header-bar.c:2194 +msgid "Centering policy" +msgstr "Política de centralização" + +#: src/hdy-header-bar.c:2195 +msgid "The policy to horizontally align the center widget" +msgstr "A política para alinhar horizontalmente o widget central" + +#: src/hdy-header-bar.c:2202 src/hdy-squeezer.c:1106 +msgid "The animation duration, in milliseconds" +msgstr "A duração da animação, em milissegundos" + +#: src/hdy-header-group.c:827 +msgid "Decorate all" +msgstr "Decorar todos" + +#: src/hdy-header-group.c:828 +msgid "" +"Whether the elements of the group should all receive the full decoration" +msgstr "Se os elementos do grupo devem todos receber a decoração completa" + +#: src/hdy-keypad-button.c:225 +msgid "Digit" +msgstr "Dígito" + +#: src/hdy-keypad-button.c:226 +msgid "The keypad digit of the button" +msgstr "O dígito de teclado numérico do botão" + +#: src/hdy-keypad-button.c:232 +msgid "Symbols" +msgstr "Símbolos" + +#: src/hdy-keypad-button.c:233 +msgid "The keypad symbols of the button. The first symbol is used as the digit" +msgstr "" +"Os símbolos de teclado numérico do botão. O primeiro símbolo está suado como " +"o dígito" + +#: src/hdy-keypad-button.c:239 +msgid "Show symbols" +msgstr "Mostrar símbolos" + +#: src/hdy-keypad-button.c:240 +msgid "Whether the second line of symbols should be shown or not" +msgstr "Se a segunda linha de símbolos deve ser mostrada ou não" + +#: src/hdy-keypad.c:247 +msgid "Row spacing" +msgstr "Espaçamento de linha" + +#: src/hdy-keypad.c:248 +msgid "The amount of space between two consecutive rows" +msgstr "A quantidade de espaço entre duas linhas consecutivas" + +#: src/hdy-keypad.c:261 +msgid "Column spacing" +msgstr "Espaçamento de coluna" + +#: src/hdy-keypad.c:262 +msgid "The amount of space between two consecutive columns" +msgstr "A quantidade de espaço entre duas colunas consecutivas" + +#: src/hdy-keypad.c:276 +msgid "Letters visible" +msgstr "Letras visíveis" + +#: src/hdy-keypad.c:277 +msgid "Whether the letters below the digits should be visible" +msgstr "Se as letras embaixo dos dígitos devem estar visíveis" + +#: src/hdy-keypad.c:291 +msgid "Symbols visible" +msgstr "Símbolos visíveis" + +#: src/hdy-keypad.c:292 +msgid "Whether the hash, plus, and asterisk symbols should be visible" +msgstr "Se os símbolos de cerquilha, mais e asterisco devem estar visíveis" + +#: src/hdy-keypad.c:306 +msgid "Entry" +msgstr "Entrada" + +#: src/hdy-keypad.c:307 +msgid "The entry widget connected to the keypad" +msgstr "O widget de entrada conectado ao teclado" + +#: src/hdy-keypad.c:320 +msgid "End action" +msgstr "Ação de fim" + +#: src/hdy-keypad.c:321 +msgid "The end action widget" +msgstr "O widget de ação de fim" + +#: src/hdy-keypad.c:334 +msgid "Start action" +msgstr "Ação de início" + +#: src/hdy-keypad.c:335 +msgid "The start action widget" +msgstr "O widget de ação de início" + +#: src/hdy-leaflet.c:963 src/hdy-stackable-box.c:2938 +msgid "Folded" +msgstr "Dobrado" + +#: src/hdy-leaflet.c:964 src/hdy-stackable-box.c:2939 +msgid "Whether the widget is folded" +msgstr "Se o widget está dobrado" + +#: src/hdy-leaflet.c:975 src/hdy-stackable-box.c:2950 +msgid "Horizontally homogeneous folded" +msgstr "Dobrado horizontalmente homogêneo" + +#: src/hdy-leaflet.c:976 +msgid "Horizontally homogeneous sizing when the leaflet is folded" +msgstr "" +"Dimensionamento horizontalmente homogêneo quando o folheto está dobrado" + +#: src/hdy-leaflet.c:987 src/hdy-stackable-box.c:2962 +msgid "Vertically homogeneous folded" +msgstr "Dobrado verticalmente homogêneo" + +#: src/hdy-leaflet.c:988 +msgid "Vertically homogeneous sizing when the leaflet is folded" +msgstr "Dimensionamento verticalmente homogêneo quando o folheto está dobrado" + +#: src/hdy-leaflet.c:999 src/hdy-stackable-box.c:2974 +msgid "Box horizontally homogeneous" +msgstr "Caixa horizontalmente homogênea" + +#: src/hdy-leaflet.c:1000 +msgid "Horizontally homogeneous sizing when the leaflet is unfolded" +msgstr "" +"Dimensionamento horizontalmente homogêneo quando o folheto está desdobrado" + +#: src/hdy-leaflet.c:1011 src/hdy-stackable-box.c:2986 +msgid "Box vertically homogeneous" +msgstr "Caixa verticalmente homogênea" + +#: src/hdy-leaflet.c:1012 +msgid "Vertically homogeneous sizing when the leaflet is unfolded" +msgstr "" +"Dimensionamento verticalmente homogêneo quando o folheto está desdobrado" + +#: src/hdy-leaflet.c:1019 +msgid "The widget currently visible when the leaflet is folded" +msgstr "O widget atualmente visível quando o folheto está dobrado" + +#: src/hdy-leaflet.c:1026 src/hdy-stackable-box.c:3001 +msgid "The name of the widget currently visible when the children are stacked" +msgstr "O nome do widget atualmente visível quando os filhos estão empilhados" + +#: src/hdy-leaflet.c:1045 src/hdy-stackable-box.c:3020 +msgid "The type of animation used to transition between modes and children" +msgstr "O tipo da animação usada para transicionar entre modos e filhos" + +#: src/hdy-leaflet.c:1051 src/hdy-stackable-box.c:3026 +msgid "Mode transition duration" +msgstr "Duração da transição de modo" + +#: src/hdy-leaflet.c:1052 src/hdy-stackable-box.c:3027 +msgid "The mode transition animation duration, in milliseconds" +msgstr "A duração da animação da transição de modo, em milissegundos" + +#: src/hdy-leaflet.c:1058 src/hdy-stackable-box.c:3033 +msgid "Child transition duration" +msgstr "Duração da transição de filho" + +#: src/hdy-leaflet.c:1059 src/hdy-stackable-box.c:3034 +msgid "The child transition animation duration, in milliseconds" +msgstr "A duração da animação de transição de filho, em milissegundos" + +#: src/hdy-leaflet.c:1065 src/hdy-stackable-box.c:3040 +msgid "Child transition running" +msgstr "Execução da transição de filho" + +#: src/hdy-leaflet.c:1066 src/hdy-stackable-box.c:3041 +msgid "Whether or not the child transition is currently running" +msgstr "Se a transição de filho está ou não atualmente em execução" + +#: src/hdy-leaflet.c:1129 +msgid "Navigatable" +msgstr "Navegável" + +#: src/hdy-leaflet.c:1130 +msgid "Whether the child can be navigated to" +msgstr "Se o filho pode ser navegado" + +#: src/hdy-preferences-group.c:251 src/hdy-preferences-group.c:252 +msgid "Description" +msgstr "Descrição" + +#: src/hdy-preferences-row.c:116 +msgid "The title of the preference" +msgstr "O título da preferência" + +#: src/hdy-preferences-window.c:141 +msgid "Untitled page" +msgstr "Página sem título" + +#: src/hdy-preferences-window.c:483 +msgid "Search enabled" +msgstr "Pesquisa habilitada" + +#: src/hdy-preferences-window.c:484 +msgid "Whether search is enabled" +msgstr "Se a pesquisa está habilitada" + +#: src/hdy-preferences-window.c:498 +msgid "" +"Whether or not swipe gesture can be used to switch from a subpage to the " +"preferences" +msgstr "" +"Se o gesto de deslize pode ou não ser usado para alternar de uma subpágina " +"para as preferências" + +#: src/hdy-preferences-window.ui:9 +msgid "Preferences" +msgstr "Preferências" + +#: src/hdy-preferences-window.ui:78 +msgid "Search" +msgstr "Pesquisa" + +#: src/hdy-preferences-window.ui:201 +msgid "No Results Found" +msgstr "Nenhum resultado encontrado" + +#: src/hdy-preferences-window.ui:216 +msgid "Try a different search" +msgstr "Tente uma pesquisa diferente" + +#: src/hdy-search-bar.c:451 +msgid "Search Mode Enabled" +msgstr "Modo de pesquisa habilitado" + +#: src/hdy-search-bar.c:452 +msgid "Whether the search mode is on and the search bar shown" +msgstr "Se o modo de pesquisa está habilitado e a barra de pesquisa mostrada" + +#: src/hdy-search-bar.c:463 +msgid "Show Close Button" +msgstr "Mostrar o botão de fechar" + +#: src/hdy-search-bar.c:464 +msgid "Whether to show the close button in the toolbar" +msgstr "Se deve ser mostrado o botão de fechar na barra de ferramentas" + +#: src/hdy-shadow-helper.c:254 +msgid "Widget" +msgstr "Widget" + +#: src/hdy-shadow-helper.c:255 +msgid "The widget the shadow will be drawn for" +msgstr "O widget para a qual a sombra será desenhada" + +#: src/hdy-squeezer.c:1091 +msgid "Homogeneous" +msgstr "Homogêneo" + +#: src/hdy-squeezer.c:1092 +msgid "Homogeneous sizing" +msgstr "Dimensionamento homogêneo" + +#: src/hdy-squeezer.c:1099 +msgid "The widget currently visible in the squeezer" +msgstr "O widget atualmente visível no squeezer" + +#: src/hdy-squeezer.c:1113 +msgid "The type of animation used to transition" +msgstr "O tipo de animação usada para a transição" + +#: src/hdy-squeezer.c:1148 +msgid "X align" +msgstr "Alinh. X" + +#: src/hdy-squeezer.c:1149 +msgid "The horizontal alignment, from 0 (start) to 1 (end)" +msgstr "O alinhamento horizontal, de 0 (início) até 1 (fim)" + +#: src/hdy-squeezer.c:1170 +msgid "Y align" +msgstr "Alinh. Y" + +#: src/hdy-squeezer.c:1171 +msgid "The vertical alignment, from 0 (top) to 1 (bottom)" +msgstr "O alinhamento vertical, de 0 (topo) até 1 (base)" + +#: src/hdy-squeezer.c:1180 src/hdy-swipe-tracker.c:773 +msgid "Enabled" +msgstr "Habilitado" + +#: src/hdy-squeezer.c:1181 +msgid "" +"Whether the child can be picked or should be ignored when looking for the " +"child fitting the available size best" +msgstr "" +"Se o filho pode ser escolhido ou deve ser ignorado ao procurar pelo filho " +"que caiba no melhor tamanho disponível" + +#: src/hdy-stackable-box.c:2951 +msgid "Horizontally homogeneous sizing when the widget is folded" +msgstr "Dimensionamento horizontalmente homogêneo quando o widget está dobrado" + +#: src/hdy-stackable-box.c:2963 +msgid "Vertically homogeneous sizing when the widget is folded" +msgstr "Dimensionamento verticalmente homogêneo quando o widget está dobrado" + +#: src/hdy-stackable-box.c:2975 +msgid "Horizontally homogeneous sizing when the widget is unfolded" +msgstr "" +"Dimensionamento horizontalmente homogêneo quando o widget está desdobrado" + +#: src/hdy-stackable-box.c:2987 +msgid "Vertically homogeneous sizing when the widget is unfolded" +msgstr "" +"Dimensionamento verticalmente homogêneo quando o widget está desdobrado" + +#: src/hdy-stackable-box.c:2994 +msgid "The widget currently visible when the widget is folded" +msgstr "O widget atualmente visível quando o widget está desdobrado" + +#: src/hdy-stackable-box.c:3084 src/hdy-stackable-box.c:3085 +msgid "Orientation" +msgstr "Orientação" + +#: src/hdy-swipe-tracker.c:758 +msgid "Swipeable" +msgstr "Deslizável" + +#: src/hdy-swipe-tracker.c:759 +msgid "The swipeable the swipe tracker is attached to" +msgstr "O deslizável ao qual o rastreador de deslize está anexado" + +#: src/hdy-swipe-tracker.c:774 +msgid "Whether the swipe tracker processes events" +msgstr "Se o rastreador de deslize processa eventos" + +#: src/hdy-swipe-tracker.c:788 +msgid "Reversed" +msgstr "Invertida" + +#: src/hdy-swipe-tracker.c:789 +msgid "Whether swipe direction is reversed" +msgstr "Se a direção de deslize é revertida" + +#: src/hdy-title-bar.c:308 +msgid "Selection mode" +msgstr "Modo de seleção" + +#: src/hdy-title-bar.c:309 +msgid "Whether or not the title bar is in selection mode" +msgstr "Se a barra de título estão ou não no modo de seleção" + +#: src/hdy-value-object.c:191 +msgctxt "HdyValueObjectClass" +msgid "Value" +msgstr "Valor" + +#: src/hdy-value-object.c:192 +msgctxt "HdyValueObjectClass" +msgid "The contained value" +msgstr "O valor contido" + +#: src/hdy-view-switcher-bar.c:178 src/hdy-view-switcher.c:509 +#: src/hdy-view-switcher-title.c:230 +msgid "Policy" +msgstr "Política" + +#: src/hdy-view-switcher-bar.c:179 src/hdy-view-switcher.c:510 +#: src/hdy-view-switcher-title.c:231 +msgid "The policy to determine the mode to use" +msgstr "A política para determinar o modo para usar" + +#: src/hdy-view-switcher-bar.c:192 src/hdy-view-switcher-bar.c:193 +#: src/hdy-view-switcher.c:544 src/hdy-view-switcher.c:545 +#: src/hdy-view-switcher-title.c:244 src/hdy-view-switcher-title.c:245 +msgid "Stack" +msgstr "Pilha" + +#: src/hdy-view-switcher-bar.c:206 +msgid "Reveal" +msgstr "Revelar" + +#: src/hdy-view-switcher-bar.c:207 +msgid "Whether the view switcher is revealed" +msgstr "Se o alternador de visão é revelado" + +#: src/hdy-view-switcher-button.c:203 +msgid "Icon Name" +msgstr "Nome do ícone" + +#: src/hdy-view-switcher-button.c:204 +msgid "Icon name for image" +msgstr "Nome do ícone para a imagem" + +#: src/hdy-view-switcher-button.c:217 +msgid "Icon Size" +msgstr "Tamanho do ícone" + +#: src/hdy-view-switcher-button.c:218 +msgid "Symbolic size to use for named icon" +msgstr "Tamanho simbólico a ser utilizado para ícone nomeado" + +#: src/hdy-view-switcher-button.c:234 +msgid "Needs attention" +msgstr "Precisa de atenção" + +#: src/hdy-view-switcher-button.c:235 +msgid "Hint the view needs attention" +msgstr "Sugere que a visão precisa de atenção" + +#: src/hdy-view-switcher.c:529 +msgid "Narrow ellipsize" +msgstr "Reticência estreita" + +#: src/hdy-view-switcher.c:530 +msgid "" +"The preferred place to ellipsize the string, if the narrow mode label does " +"not have enough room to display the entire string" +msgstr "" +"O lugar preferido para colocar reticências na string, se o rótulo do modo " +"estreito não tiver espaço suficiente para exibir a string inteira" + +#: src/hdy-view-switcher-title.c:286 +msgid "View switcher enabled" +msgstr "Alternador de visão habilitado" + +#: src/hdy-view-switcher-title.c:287 +msgid "Whether the view switcher is enabled" +msgstr "Se o alternador de visão está habilitado" + +#: src/hdy-view-switcher-title.c:300 +msgid "Title visible" +msgstr "Título visível" + +#: src/hdy-view-switcher-title.c:301 +msgid "Whether the title label is visible" +msgstr "Se o rótulo do título está visível" + +#: src/hdy-window-handle-controller.c:259 +msgid "Move" +msgstr "Mover" + +#: src/hdy-window-handle-controller.c:267 +msgid "Resize" +msgstr "Redimensionar" + +#: src/hdy-window-handle-controller.c:298 +msgid "Always on Top" +msgstr "Sempre no topo" + +#~ msgid "This property does not apply unless Show Indicators is set." +#~ msgstr "" +#~ "Esta propriedade não se aplica a menos que “Mostrar indicadores” estiver " +#~ "definido." + +#~ msgid "Indicator style" +#~ msgstr "Estilo do indicador" + +#~ msgid "Page indicator style" +#~ msgstr "Estilo do indicador de página" + +#~ msgid "Indicator spacing" +#~ msgstr "Espaçamento do indicador" + +#~ msgid "Spacing between content and indicators" +#~ msgstr "Espaçamento entro conteúdo e indicadores" + +#~ msgid "Center content" +#~ msgstr "Centralizar conteúdo" + +#~ msgid "Whether to center pages to compensate for indicators" +#~ msgstr "Se deve-se centralizar páginas para compensar os indicadores" + +#~ msgid "The title for this row" +#~ msgstr "O título para esta linha" + +#~ msgid "Maximum width" +#~ msgstr "Largura máxima" + +#~ msgid "Linear growth width" +#~ msgstr "Largura de crescimento linear" + +#~ msgid "The width up to which the child will be allocated all the width" +#~ msgstr "A largura até a qual o filho terá a alocação de toda a largura" + +#~ msgid "Focus" +#~ msgstr "Foco" + +#~ msgid "The header bar that should have the focus" +#~ msgstr "A barra de cabeçalho que deve ter o foco" + +#~ msgid "Only Digits" +#~ msgstr "Apenas dígitos" + +#~ msgid "" +#~ "Whether the keypad should show only digits or also extra buttons for #, *" +#~ msgstr "" +#~ "Se o teclado numérico deve mostrar apenas dígitos ou também botões extras " +#~ "para #, *" + +#~ msgid "Entry widget" +#~ msgstr "Widget de entrada" + +#~ msgid "Right action widget" +#~ msgstr "Widget de ação direito" + +#~ msgid "Left action widget" +#~ msgstr "Widget de ação esquerdo" diff --git a/subprojects/libhandy/po/ro.po b/subprojects/libhandy/po/ro.po new file mode 100644 index 00000000..a7d26640 --- /dev/null +++ b/subprojects/libhandy/po/ro.po @@ -0,0 +1,871 @@ +# Romanian translation for libhandy. +# Copyright (C) 2020 libhandy's COPYRIGHT HOLDER +# This file is distributed under the same license as the libhandy package. +# Florentina Mușat , 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: libhandy master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libhandy/issues\n" +"POT-Creation-Date: 2020-07-26 22:20+0000\n" +"PO-Revision-Date: 2020-07-27 15:48+0300\n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2);;\n" +"Last-Translator: Florentina Mușat \n" +"X-Generator: Poedit 2.4\n" + +#: glade/glade-hdy-carousel.c:21 +msgid "This property does not apply unless Show Indicators is set." +msgstr "" +"Această proprietate nu se aplică decât dacă Arată Indicatori este stabilită." + +#: glade/glade-hdy-carousel.c:167 glade/glade-hdy-header-bar.c:118 +#: glade/glade-hdy-leaflet.c:184 +#, c-format +msgid "Insert placeholder to %s" +msgstr "Inserează substituent pentru %s" + +#: glade/glade-hdy-carousel.c:196 glade/glade-hdy-header-bar.c:144 +#: glade/glade-hdy-leaflet.c:214 +#, c-format +msgid "Remove placeholder from %s" +msgstr "Elimină substituentul din %s" + +#: glade/glade-hdy-header-bar.c:18 +msgid "This property does not apply when a custom title is set" +msgstr "" +"Această proprietate nu se aplică când un titlu personalizat este stabilit" + +#: glade/glade-hdy-header-bar.c:289 +msgid "" +"The decoration layout does not apply to header bars which do no show window " +"controls" +msgstr "" +"Aspectul decorației nu se aplică barelor de antet care nu afișează controale " +"pentru fereastră" + +#: glade/glade-hdy-leaflet.c:19 +msgid "This property only applies when the leaflet is folded" +msgstr "Această proprietate se aplică doar când manifestul este pliat" + +#: glade/glade-hdy-preferences-page.c:160 +#, c-format +msgid "Add group to %s" +msgstr "Adaugă grupul la %s" + +#: glade/glade-hdy-preferences-window.c:228 +#, c-format +msgid "Add page to %s" +msgstr "Adaugă pagina la %s" + +#: glade/glade-hdy-search-bar.c:101 +msgid "Search bar is already full" +msgstr "Bara de căutare este plină deja" + +#: glade/glade-hdy-utils.h:14 +#, c-format +msgid "Only objects of type %s can be added to objects of type %s." +msgstr "Doar obiectele de tipul %s pot fi adăugate obiectelor de tip %s." + +#: src/hdy-action-row.c:361 src/hdy-action-row.c:362 src/hdy-expander-row.c:335 +#: src/hdy-expander-row.c:336 src/hdy-preferences-page.c:179 +#: src/hdy-preferences-page.c:180 +msgid "Icon name" +msgstr "Nume iconiță" + +#: src/hdy-action-row.c:375 +msgid "Activatable widget" +msgstr "Widget care se poate activa" + +#: src/hdy-action-row.c:376 +msgid "The widget to be activated when the row is activated" +msgstr "Widgetul de activat când rândul este activat" + +#: src/hdy-action-row.c:389 src/hdy-action-row.c:390 src/hdy-expander-row.c:306 +#: src/hdy-header-bar.c:2147 src/hdy-view-switcher-title.c:294 +msgid "Subtitle" +msgstr "Subitlu" + +#: src/hdy-action-row.c:403 src/hdy-action-row.c:404 src/hdy-expander-row.c:292 +#: src/hdy-header-bar.c:2140 src/hdy-preferences-group.c:265 +#: src/hdy-preferences-group.c:266 src/hdy-preferences-page.c:193 +#: src/hdy-preferences-page.c:194 src/hdy-preferences-row.c:115 +#: src/hdy-view-switcher-title.c:280 +msgid "Title" +msgstr "Titlu" + +#: src/hdy-action-row.c:418 src/hdy-expander-row.c:321 +#: src/hdy-preferences-row.c:130 +msgid "Use underline" +msgstr "Utilizează sublinieri" + +#: src/hdy-action-row.c:419 src/hdy-expander-row.c:322 +#: src/hdy-preferences-row.c:131 +msgid "" +"If set, an underline in the text indicates the next character should be used " +"for the mnemonic accelerator key" +msgstr "" +"Dacă este stabilit, o linie de subliniere în text indică faptul că următorul " +"caracter ar trebui să fie utilizat ca tasta de accelerare mnemonic" + +#: src/hdy-carousel-box.c:1095 src/hdy-carousel-box.c:1096 +#: src/hdy-carousel.c:949 src/hdy-carousel.c:950 +msgid "Number of pages" +msgstr "Număr de pagini" + +#: src/hdy-carousel-box.c:1111 src/hdy-carousel.c:966 src/hdy-header-bar.c:2133 +msgid "Position" +msgstr "Poziționează" + +#: src/hdy-carousel-box.c:1112 src/hdy-carousel.c:967 +msgid "Current scrolling position" +msgstr "Poziție de derulare curentă" + +#: src/hdy-carousel-box.c:1127 src/hdy-carousel.c:1048 +#: src/hdy-header-bar.c:2161 +msgid "Spacing" +msgstr "Spațiere" + +#: src/hdy-carousel-box.c:1128 src/hdy-carousel.c:1049 +msgid "Spacing between pages" +msgstr "Spațiere între pagini" + +#: src/hdy-carousel-box.c:1144 src/hdy-carousel.c:1093 +msgid "Reveal duration" +msgstr "Durată de dezvăluire" + +#: src/hdy-carousel-box.c:1145 src/hdy-carousel.c:1094 +msgid "Page reveal duration" +msgstr "Durată de dezvăluire a paginii" + +#: src/hdy-carousel.c:983 +msgid "Interactive" +msgstr "Interactiv" + +#: src/hdy-carousel.c:984 +msgid "Whether the widget can be swiped" +msgstr "Dacă widgetul poate fi glisat" + +#: src/hdy-carousel.c:999 +msgid "Indicator style" +msgstr "Stil de indicator" + +#: src/hdy-carousel.c:1000 +msgid "Page indicator style" +msgstr "Stil de indicator de pagină" + +#: src/hdy-carousel.c:1015 +msgid "Indicator spacing" +msgstr "Spațiere de indicator" + +#: src/hdy-carousel.c:1016 +msgid "Spacing between content and indicators" +msgstr "Spațiere între conținut și indicatori" + +#: src/hdy-carousel.c:1034 +msgid "Center content" +msgstr "Centrează conținutul" + +#: src/hdy-carousel.c:1035 +msgid "Whether to center pages to compensate for indicators" +msgstr "Dacă să se centreze paginile pentru a compensa pentru indicatori" + +#: src/hdy-carousel.c:1064 +msgid "Animation duration" +msgstr "Durata animației" + +#: src/hdy-carousel.c:1065 +msgid "Default animation duration" +msgstr "Durata de animație implicită" + +#: src/hdy-carousel.c:1079 src/hdy-swipe-tracker.c:802 +msgid "Allow mouse drag" +msgstr "Permite tragerea mausului" + +#: src/hdy-carousel.c:1080 src/hdy-swipe-tracker.c:803 +msgid "Whether to allow dragging with mouse pointer" +msgstr "Dacă să se permită tragerea cu indicatorul mausului" + +#: src/hdy-clamp.c:417 +msgid "Maximum size" +msgstr "Dimensiunea maximă" + +#: src/hdy-clamp.c:418 +msgid "The maximum size allocated to the child" +msgstr "Dimensiunea maximă alocată la copil" + +#: src/hdy-clamp.c:442 +msgid "Tightening threshold" +msgstr "Pragul de strângere" + +#: src/hdy-clamp.c:443 +msgid "The size from which the clamp will tighten its grip on the child" +msgstr "Dimensiunea de la care clema va strânge strânsoarea asupra copilului" + +#: src/hdy-combo-row.c:411 +msgid "Selected index" +msgstr "Indexul selectat" + +#: src/hdy-combo-row.c:412 +msgid "The index of the selected item" +msgstr "Indexul elementului selectat" + +#: src/hdy-combo-row.c:430 +msgid "Use subtitle" +msgstr "Utilizează subtitrare" + +#: src/hdy-combo-row.c:431 +msgid "Set the current value as the subtitle" +msgstr "Stabilește valoarea curentă ca subtitrare" + +#: src/hdy-deck.c:888 +msgid "Horizontally homogeneous" +msgstr "Omogenă orizontal" + +#: src/hdy-deck.c:889 +msgid "Horizontally homogeneous sizing" +msgstr "Dimensionare omogenă orizontală" + +#: src/hdy-deck.c:902 +msgid "Vertically homogeneous" +msgstr "Omogenă vertical" + +#: src/hdy-deck.c:903 +msgid "Vertically homogeneous sizing" +msgstr "Dimensionare verticală omogenă" + +#: src/hdy-deck.c:916 src/hdy-leaflet.c:1018 src/hdy-squeezer.c:1073 +#: src/hdy-stackable-box.c:3001 +msgid "Visible child" +msgstr "Copil vizibil" + +#: src/hdy-deck.c:917 +msgid "The widget currently visible" +msgstr "Widget-ul vizibil curent" + +#: src/hdy-deck.c:930 src/hdy-leaflet.c:1025 src/hdy-stackable-box.c:3008 +msgid "Name of visible child" +msgstr "Numele copilului vizibil" + +#: src/hdy-deck.c:931 +msgid "The name of the widget currently visible" +msgstr "Numele widget-ului vizibil curent" + +#: src/hdy-deck.c:949 src/hdy-leaflet.c:1044 src/hdy-squeezer.c:1087 +#: src/hdy-stackable-box.c:3027 +msgid "Transition type" +msgstr "Tip de tranziție" + +#: src/hdy-deck.c:950 +msgid "The type of animation used to transition between children" +msgstr "Tipul de animație utilizat pentru tranziția dintre copii" + +#: src/hdy-deck.c:963 src/hdy-header-bar.c:2243 src/hdy-squeezer.c:1080 +msgid "Transition duration" +msgstr "Durata tranziției" + +#: src/hdy-deck.c:964 +msgid "The transition animation duration, in milliseconds" +msgstr "Durata animației de tranziție, în milisecunde" + +#: src/hdy-deck.c:977 src/hdy-header-bar.c:2250 src/hdy-squeezer.c:1095 +msgid "Transition running" +msgstr "Tranziția rulează" + +#: src/hdy-deck.c:978 src/hdy-header-bar.c:2251 src/hdy-squeezer.c:1096 +msgid "Whether or not the transition is currently running" +msgstr "Dacă rulează sau nu tranziția în mod curent" + +#: src/hdy-deck.c:992 src/hdy-header-bar.c:2257 src/hdy-leaflet.c:1072 +#: src/hdy-squeezer.c:1102 src/hdy-stackable-box.c:3055 +msgid "Interpolate size" +msgstr "Dimensiune interpolare" + +#: src/hdy-deck.c:993 src/hdy-header-bar.c:2258 src/hdy-leaflet.c:1073 +#: src/hdy-squeezer.c:1103 src/hdy-stackable-box.c:3056 +msgid "" +"Whether or not the size should smoothly change when changing between " +"differently sized children" +msgstr "" +"Dacă ar trebui sau nu să se schimbe neted dimensiunea când se comută între " +"copiii dimensionați diferit" + +#: src/hdy-deck.c:1007 src/hdy-leaflet.c:1087 src/hdy-stackable-box.c:3070 +msgid "Can swipe back" +msgstr "Poate să gliseze înapoi" + +#: src/hdy-deck.c:1008 src/hdy-leaflet.c:1088 src/hdy-stackable-box.c:3071 +msgid "" +"Whether or not swipe gesture can be used to switch to the previous child" +msgstr "" +"Dacă se poate sau nu să se utilizeze un gest de glisare pentru a comuta la " +"copilul anterior" + +#: src/hdy-deck.c:1022 src/hdy-leaflet.c:1102 src/hdy-stackable-box.c:3085 +msgid "Can swipe forward" +msgstr "Poate să gliseze înainte" + +#: src/hdy-deck.c:1023 src/hdy-leaflet.c:1103 src/hdy-stackable-box.c:3086 +msgid "Whether or not swipe gesture can be used to switch to the next child" +msgstr "" +"Dacă se poate sau nu să se utilizeze un gest de glisare pentru a comuta la " +"copilul următor" + +#: src/hdy-deck.c:1031 src/hdy-leaflet.c:1111 src/hdy-stackable-box.c:3102 +msgid "Name" +msgstr "Nume" + +#: src/hdy-deck.c:1032 src/hdy-leaflet.c:1112 src/hdy-stackable-box.c:3103 +msgid "The name of the child page" +msgstr "Numele paginii copilului" + +#: src/hdy-expander-row.c:293 +msgid "The title for this row" +msgstr "Titlul pentru acest rând" + +#: src/hdy-expander-row.c:307 +msgid "The subtitle for this row" +msgstr "Subtitrarea pentru acest rând" + +#: src/hdy-expander-row.c:347 +msgid "Expanded" +msgstr "Extins" + +#: src/hdy-expander-row.c:348 +msgid "Whether the row is expanded" +msgstr "Dacă rândul este extins" + +#: src/hdy-expander-row.c:359 +msgid "Enable expansion" +msgstr "Activează extinderea" + +#: src/hdy-expander-row.c:360 +msgid "Whether the expansion is enabled" +msgstr "Dacă extinderea este activată" + +#: src/hdy-expander-row.c:371 +msgid "Show enable switch" +msgstr "Arată activează comutarea" + +#: src/hdy-expander-row.c:372 +msgid "Whether the switch enabling the expansion is visible" +msgstr "Dacă comutatorul care activează extinderea este vizibil" + +#: src/hdy-header-bar.c:484 +msgid "Application menu" +msgstr "Meniul aplicației" + +#: src/hdy-header-bar.c:506 src/hdy-window-handle-controller.c:275 +msgid "Minimize" +msgstr "Minimizează" + +#: src/hdy-header-bar.c:528 src/hdy-window-handle-controller.c:241 +msgid "Restore" +msgstr "Restaurează" + +#: src/hdy-header-bar.c:528 src/hdy-window-handle-controller.c:284 +msgid "Maximize" +msgstr "Maximizează" + +#: src/hdy-header-bar.c:546 src/hdy-window-handle-controller.c:311 +msgid "Close" +msgstr "Închide" + +#: src/hdy-header-bar.c:562 +msgid "Back" +msgstr "Înapoi" + +#: src/hdy-header-bar.c:2126 +msgid "Pack type" +msgstr "Tip de pachet" + +#: src/hdy-header-bar.c:2127 +msgid "" +"A GtkPackType indicating whether the child is packed with reference to the " +"start or end of the parent" +msgstr "" +"Un GtkPackType care indică dacă copilul este împachetat cu referința la " +"începutul sau sfârșitul părintelui" + +#: src/hdy-header-bar.c:2134 +msgid "The index of the child in the parent" +msgstr "Indexul copilului în părinte" + +#: src/hdy-header-bar.c:2141 src/hdy-view-switcher-title.c:281 +msgid "The title to display" +msgstr "Titlul de afișat" + +#: src/hdy-header-bar.c:2148 src/hdy-view-switcher-title.c:295 +msgid "The subtitle to display" +msgstr "Subtitrarea de afișat" + +#: src/hdy-header-bar.c:2154 +msgid "Custom Title" +msgstr "Titlu personalizat" + +#: src/hdy-header-bar.c:2155 +msgid "Custom title widget to display" +msgstr "Widget de titlu personalizat de afișat" + +#: src/hdy-header-bar.c:2162 +msgid "The amount of space between children" +msgstr "Cantitatea de spațiu între copii" + +#: src/hdy-header-bar.c:2181 +msgid "Show decorations" +msgstr "Arată decorațiile" + +#: src/hdy-header-bar.c:2182 +msgid "Whether to show window decorations" +msgstr "Dacă să se arate decorațiile ferestrei" + +#: src/hdy-header-bar.c:2200 +msgid "Decoration Layout" +msgstr "Aspect decorație" + +#: src/hdy-header-bar.c:2201 +msgid "The layout for window decorations" +msgstr "Aspectul decorațiilor ferestrei" + +#: src/hdy-header-bar.c:2214 +msgid "Decoration Layout Set" +msgstr "Aranjament de decorație stabilit" + +#: src/hdy-header-bar.c:2215 +msgid "Whether the decoration-layout property has been set" +msgstr "Dacă proprietatea de aranjament-decorație a fost stabilită" + +#: src/hdy-header-bar.c:2229 +msgid "Has Subtitle" +msgstr "Are subtitrare" + +#: src/hdy-header-bar.c:2230 +msgid "Whether to reserve space for a subtitle" +msgstr "Dacă să se rezerve spațiu pentru o subtitrare" + +#: src/hdy-header-bar.c:2236 +msgid "Centering policy" +msgstr "Politică de centrare" + +#: src/hdy-header-bar.c:2237 +msgid "The policy to horizontally align the center widget" +msgstr "Politic de aliniere orizontală a widgetului de centru" + +#: src/hdy-header-bar.c:2244 src/hdy-squeezer.c:1081 +msgid "The animation duration, in milliseconds" +msgstr "Durata animației, în milisecunde" + +#: src/hdy-header-group.c:827 +msgid "Decorate all" +msgstr "Decorează toate" + +#: src/hdy-header-group.c:828 +msgid "" +"Whether the elements of the group should all receive the full decoration" +msgstr "" +"Dacă elementele grupului ar trebui ca toate să primească decorația completă" + +#: src/hdy-keypad-button.c:225 +msgid "Digit" +msgstr "Cifră" + +#: src/hdy-keypad-button.c:226 +msgid "The keypad digit of the button" +msgstr "Cifra tastaturii butonului" + +#: src/hdy-keypad-button.c:232 +msgid "Symbols" +msgstr "Simboluri" + +#: src/hdy-keypad-button.c:233 +msgid "The keypad symbols of the button. The first symbol is used as the digit" +msgstr "Simbolurile tastaturii butonului. Primul simbol este utilizat ca cifra" + +#: src/hdy-keypad-button.c:239 src/hdy-keypad.c:278 +msgid "Show Symbols" +msgstr "Arată simbolurile" + +#: src/hdy-keypad-button.c:240 src/hdy-keypad.c:279 +msgid "Whether the second line of symbols should be shown or not" +msgstr "Dacă a doua linie de simboluri ar trebui să fie arătată sau nu" + +#: src/hdy-keypad.c:264 +msgid "Row spacing" +msgstr "Spațiere rânduri" + +#: src/hdy-keypad.c:265 +msgid "The amount of space between two consecutive rows" +msgstr "Cantitatea de spațiu între două rânduri consecutive" + +#: src/hdy-keypad.c:271 +msgid "Column spacing" +msgstr "Spațiere coloane" + +#: src/hdy-keypad.c:272 +msgid "The amount of space between two consecutive columns" +msgstr "Cantitatea de spațiu între două coloane consecutive" + +#: src/hdy-keypad.c:285 +msgid "Only Digits" +msgstr "Doar cifre" + +#: src/hdy-keypad.c:286 +msgid "" +"Whether the keypad should show only digits or also extra buttons for #, *" +msgstr "" +"Dacă tastatura ar trebui să arate doar cifre sau de asemenea butoane extra " +"pentru #, *" + +#: src/hdy-keypad.c:292 +msgid "Entry widget" +msgstr "Widget de intrare" + +#: src/hdy-keypad.c:293 +msgid "The entry widget connected to the keypad" +msgstr "Widget-ul de intrare conectat la tastatură" + +#: src/hdy-keypad.c:299 +msgid "Right action widget" +msgstr "Widget de acțiune dreapta" + +#: src/hdy-keypad.c:300 +msgid "The right action widget" +msgstr "Widget-ul de acțiune dreapta" + +#: src/hdy-keypad.c:306 +msgid "Left action widget" +msgstr "Widget de acțiune stânga" + +#: src/hdy-keypad.c:307 +msgid "The left action widget" +msgstr "Widget-ul de acțiune stânga" + +#: src/hdy-leaflet.c:963 src/hdy-stackable-box.c:2946 +msgid "Folded" +msgstr "Pliat" + +#: src/hdy-leaflet.c:964 src/hdy-stackable-box.c:2947 +msgid "Whether the widget is folded" +msgstr "Dacă widget-ul este pliat" + +#: src/hdy-leaflet.c:975 src/hdy-stackable-box.c:2958 +msgid "Horizontally homogeneous folded" +msgstr "Pliat omogen orizontal" + +#: src/hdy-leaflet.c:976 +msgid "Horizontally homogeneous sizing when the leaflet is folded" +msgstr "Dimensionare omogenă orizontală când manifestul este pliat" + +#: src/hdy-leaflet.c:987 src/hdy-stackable-box.c:2970 +msgid "Vertically homogeneous folded" +msgstr "Pliat omogen vertical" + +#: src/hdy-leaflet.c:988 +msgid "Vertically homogeneous sizing when the leaflet is folded" +msgstr "Dimensionare omogenă verticală când manifestul este pliat" + +#: src/hdy-leaflet.c:999 src/hdy-stackable-box.c:2982 +msgid "Box horizontally homogeneous" +msgstr "Omogen orizontal cutie" + +#: src/hdy-leaflet.c:1000 +msgid "Horizontally homogeneous sizing when the leaflet is unfolded" +msgstr "Dimensionare omogenă orizontală când manifestul nu este pliat" + +#: src/hdy-leaflet.c:1011 src/hdy-stackable-box.c:2994 +msgid "Box vertically homogeneous" +msgstr "Omogen vertical cutie" + +#: src/hdy-leaflet.c:1012 +msgid "Vertically homogeneous sizing when the leaflet is unfolded" +msgstr "Dimensionare omogenă verticală când manifestul nu este pliat" + +#: src/hdy-leaflet.c:1019 +msgid "The widget currently visible when the leaflet is folded" +msgstr "Widget-ul vizibil curent când manifestul este pliat" + +#: src/hdy-leaflet.c:1026 src/hdy-stackable-box.c:3009 +msgid "The name of the widget currently visible when the children are stacked" +msgstr "Numele widget-ului vizibil curent când copiii sunt stivuiți" + +#: src/hdy-leaflet.c:1045 src/hdy-stackable-box.c:3028 +msgid "The type of animation used to transition between modes and children" +msgstr "" +"Tipul de animație utilizat pentru a face tranziție între moduri și copii" + +#: src/hdy-leaflet.c:1051 src/hdy-stackable-box.c:3034 +msgid "Mode transition duration" +msgstr "Durata tranziției modului" + +#: src/hdy-leaflet.c:1052 src/hdy-stackable-box.c:3035 +msgid "The mode transition animation duration, in milliseconds" +msgstr "Durata animației tranziției modului, în milisecunde" + +#: src/hdy-leaflet.c:1058 src/hdy-stackable-box.c:3041 +msgid "Child transition duration" +msgstr "Durata tranziției copilului" + +#: src/hdy-leaflet.c:1059 src/hdy-stackable-box.c:3042 +msgid "The child transition animation duration, in milliseconds" +msgstr "Durata animației tranziției copilului, în milisecunde" + +#: src/hdy-leaflet.c:1065 src/hdy-stackable-box.c:3048 +msgid "Child transition running" +msgstr "Rularea tranziției copilului" + +#: src/hdy-leaflet.c:1066 src/hdy-stackable-box.c:3049 +msgid "Whether or not the child transition is currently running" +msgstr "Dacă rulează sau nu în mod curent tranziția copilului" + +#: src/hdy-leaflet.c:1128 +msgid "Allow visible" +msgstr "Permite vizibil" + +#: src/hdy-leaflet.c:1129 +msgid "Whether the child can be visible in folded mode" +msgstr "Dacă copilul poate fi vizibil în modul pliat" + +#: src/hdy-preferences-group.c:251 src/hdy-preferences-group.c:252 +msgid "Description" +msgstr "Descriere" + +#: src/hdy-preferences-row.c:116 +msgid "The title of the preference" +msgstr "Titlul preferinței" + +#: src/hdy-preferences-window.c:135 +msgid "Untitled page" +msgstr "Pagină fără titlu" + +#: src/hdy-preferences-window.c:438 +msgid "Search enabled" +msgstr "Căutarea activată" + +#: src/hdy-preferences-window.c:439 +msgid "Whether search is enabled" +msgstr "Dacă căutarea este activată" + +#: src/hdy-preferences-window.ui:9 +msgid "Preferences" +msgstr "Preferințe" + +#: src/hdy-preferences-window.ui:72 +msgid "Search" +msgstr "Caută" + +#: src/hdy-preferences-window.ui:195 +msgid "No Results Found" +msgstr "Nu s-au găsit rezultate" + +#: src/hdy-preferences-window.ui:210 +msgid "Try a different search" +msgstr "Încercați o căutare diferită" + +#: src/hdy-search-bar.c:451 +msgid "Search Mode Enabled" +msgstr "Modul de căutare activat" + +#: src/hdy-search-bar.c:452 +msgid "Whether the search mode is on and the search bar shown" +msgstr "Dacă modul de căutare este activ și bara de căutare este arătată" + +#: src/hdy-search-bar.c:463 +msgid "Show Close Button" +msgstr "Arată butonul de închidere" + +#: src/hdy-search-bar.c:464 +msgid "Whether to show the close button in the toolbar" +msgstr "Dacă să se afișeze butonul de închidere în bara cu unelte" + +#: src/hdy-shadow-helper.c:254 +msgid "Widget" +msgstr "Widget" + +#: src/hdy-shadow-helper.c:255 +msgid "The widget the shadow will be drawn for" +msgstr "Widget-ul pentru care va fi desenată umbra" + +#: src/hdy-squeezer.c:1066 +msgid "Homogeneous" +msgstr "Omogen" + +#: src/hdy-squeezer.c:1067 +msgid "Homogeneous sizing" +msgstr "Dimensionare omogenă" + +#: src/hdy-squeezer.c:1074 +msgid "The widget currently visible in the squeezer" +msgstr "Widget-ul vizibil curent în storcător" + +#: src/hdy-squeezer.c:1088 +msgid "The type of animation used to transition" +msgstr "Tipul de animație folosit la tranziție" + +#: src/hdy-squeezer.c:1111 src/hdy-swipe-tracker.c:772 +msgid "Enabled" +msgstr "Activat" + +#: src/hdy-squeezer.c:1112 +msgid "" +"Whether the child can be picked or should be ignored when looking for the " +"child fitting the available size best" +msgstr "" +"Dacă copilul poate fi ales sau ar trebui să fie ignorat când se caută pentru " +"copilul care se potrivește cel mai bine cu dimensiunea disponibilă" + +#: src/hdy-stackable-box.c:2959 +msgid "Horizontally homogeneous sizing when the widget is folded" +msgstr "Dimensiune omogenă orizontală când widget-ul este pliat" + +#: src/hdy-stackable-box.c:2971 +msgid "Vertically homogeneous sizing when the widget is folded" +msgstr "Dimensiune omogenă verticală când widget-ul este pliat" + +#: src/hdy-stackable-box.c:2983 +msgid "Horizontally homogeneous sizing when the widget is unfolded" +msgstr "Dimensionare omogenă orizontală când widget-ul nu este pliat" + +#: src/hdy-stackable-box.c:2995 +msgid "Vertically homogeneous sizing when the widget is unfolded" +msgstr "Dimensiune omogenă verticală când widget-ul nu este pliat" + +#: src/hdy-stackable-box.c:3002 +msgid "The widget currently visible when the widget is folded" +msgstr "Widget-ul vizibil curent când widget-ul este pliat" + +#: src/hdy-stackable-box.c:3092 src/hdy-stackable-box.c:3093 +msgid "Orientation" +msgstr "Orientare" + +#: src/hdy-swipe-tracker.c:757 +msgid "Swipeable" +msgstr "Glisabil" + +#: src/hdy-swipe-tracker.c:758 +msgid "The swipeable the swipe tracker is attached to" +msgstr "Glisabilul la care este atașat urmăritorul de glisare" + +#: src/hdy-swipe-tracker.c:773 +msgid "Whether the swipe tracker processes events" +msgstr "Dacă urmăritorul de glisare procesează evenimente" + +#: src/hdy-swipe-tracker.c:787 +msgid "Reversed" +msgstr "Inversat" + +#: src/hdy-swipe-tracker.c:788 +msgid "Whether swipe direction is reversed" +msgstr "Dacă direcția de glisare este inversată" + +#: src/hdy-title-bar.c:308 +msgid "Selection mode" +msgstr "Mod de selecție" + +#: src/hdy-title-bar.c:309 +msgid "Whether or not the title bar is in selection mode" +msgstr "Dacă bara de titlu se află sau nu în modul de selecție" + +#: src/hdy-value-object.c:191 +msgctxt "HdyValueObjectClass" +msgid "Value" +msgstr "Valoare" + +#: src/hdy-value-object.c:192 +msgctxt "HdyValueObjectClass" +msgid "The contained value" +msgstr "Valoarea conținută" + +#: src/hdy-view-switcher-bar.c:186 src/hdy-view-switcher.c:511 +#: src/hdy-view-switcher-title.c:237 +msgid "Policy" +msgstr "Politică" + +#: src/hdy-view-switcher-bar.c:187 src/hdy-view-switcher.c:512 +#: src/hdy-view-switcher-title.c:238 +msgid "The policy to determine the mode to use" +msgstr "Politica de determinare a modului de utilizat" + +#: src/hdy-view-switcher-bar.c:201 src/hdy-view-switcher-button.c:217 +#: src/hdy-view-switcher.c:526 src/hdy-view-switcher-title.c:252 +msgid "Icon Size" +msgstr "Dimensiunea iconiței" + +#: src/hdy-view-switcher-bar.c:202 src/hdy-view-switcher-button.c:218 +#: src/hdy-view-switcher.c:527 src/hdy-view-switcher-title.c:253 +msgid "Symbolic size to use for named icon" +msgstr "Dimensiunea simbolică de utilizat pentru iconița numită" + +#: src/hdy-view-switcher-bar.c:215 src/hdy-view-switcher-bar.c:216 +#: src/hdy-view-switcher.c:561 src/hdy-view-switcher.c:562 +#: src/hdy-view-switcher-title.c:266 src/hdy-view-switcher-title.c:267 +msgid "Stack" +msgstr "Stivă" + +#: src/hdy-view-switcher-bar.c:229 +msgid "Reveal" +msgstr "Dezvăluie" + +#: src/hdy-view-switcher-bar.c:230 +msgid "Whether the view switcher is revealed" +msgstr "Dacă comutatorul de vizualizare este dezvăluit" + +#: src/hdy-view-switcher-button.c:203 +msgid "Icon Name" +msgstr "Nume iconiță" + +#: src/hdy-view-switcher-button.c:204 +msgid "Icon name for image" +msgstr "Numele iconiței pentru imagine" + +#: src/hdy-view-switcher-button.c:234 +msgid "Needs attention" +msgstr "Are nevoie de atenție" + +#: src/hdy-view-switcher-button.c:235 +msgid "Hint the view needs attention" +msgstr "Indiciu cum că vizualizarea are nevoie de atenție" + +#: src/hdy-view-switcher.c:546 +msgid "Narrow ellipsize" +msgstr "Transformare în elipsă îngustă" + +#: src/hdy-view-switcher.c:547 +msgid "" +"The preferred place to ellipsize the string, if the narrow mode label does " +"not have enough room to display the entire string" +msgstr "" +"Locul preferat pentru a transforma în elipsă șirul, dacă eticheta modului " +"îngust nu are destul spațiu pentru a afișa întregul șir" + +#: src/hdy-view-switcher-title.c:308 +msgid "View switcher enabled" +msgstr "Comutator de vizualizare activat" + +#: src/hdy-view-switcher-title.c:309 +msgid "Whether the view switcher is enabled" +msgstr "Dacă comutatorul de vizualizare este activat" + +#: src/hdy-view-switcher-title.c:322 +msgid "Title visible" +msgstr "Titlu vizibil" + +#: src/hdy-view-switcher-title.c:323 +msgid "Whether the title label is visible" +msgstr "Dacă eticheta titlului este vizibilă" + +#: src/hdy-window-handle-controller.c:259 +msgid "Move" +msgstr "Mută" + +#: src/hdy-window-handle-controller.c:267 +msgid "Resize" +msgstr "Redimensionează" + +#: src/hdy-window-handle-controller.c:298 +msgid "Always on Top" +msgstr "Întotdeauna deasupra" diff --git a/subprojects/libhandy/po/sl.po b/subprojects/libhandy/po/sl.po new file mode 100644 index 00000000..d36059e2 --- /dev/null +++ b/subprojects/libhandy/po/sl.po @@ -0,0 +1,860 @@ +# Slovenian translation for libhandy. +# Copyright (C) 2020 libhandy's COPYRIGHT HOLDER +# This file is distributed under the same license as the libhandy package. +# +# Matej Urbančič , 2020–. +# +msgid "" +msgstr "" +"Project-Id-Version: libhandy master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libhandy/issues\n" +"POT-Creation-Date: 2020-09-17 16:30+0000\n" +"PO-Revision-Date: 2020-09-20 09:12+0200\n" +"Last-Translator: Matej Urbančič \n" +"Language-Team: Slovenian GNOME Translation Team \n" +"Language: sl_SI\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n" +"%100==4 ? 3 : 0);\n" +"X-Poedit-SourceCharset: utf-8\n" +"X-Generator: Poedit 2.4.1\n" + +#: glade/glade-hdy-carousel.c:160 glade/glade-hdy-header-bar.c:118 +#: glade/glade-hdy-leaflet.c:184 +#, c-format +msgid "Insert placeholder to %s" +msgstr "Vstavi vsebnik za %s" + +#: glade/glade-hdy-carousel.c:189 glade/glade-hdy-header-bar.c:144 +#: glade/glade-hdy-leaflet.c:214 +#, c-format +msgid "Remove placeholder from %s" +msgstr "Odstrani vsebnik iz %s" + +#: glade/glade-hdy-header-bar.c:18 +msgid "This property does not apply when a custom title is set" +msgstr "" +"Lastnosti ni mogoče uporabiti sočasno z uporabo nastavitve naslova po meri" + +#: glade/glade-hdy-header-bar.c:289 +msgid "" +"The decoration layout does not apply to header bars which do no show window " +"controls" +msgstr "" +"Razporeditev okrasov se ne uveljavi za vrstice naslovov, ki so brez gumbov " +"okna." + +#: glade/glade-hdy-leaflet.c:19 +msgid "This property only applies when the leaflet is folded" +msgstr "" + +#: glade/glade-hdy-preferences-page.c:160 +#, c-format +msgid "Add group to %s" +msgstr "" + +#: glade/glade-hdy-preferences-window.c:228 +#, c-format +msgid "Add page to %s" +msgstr "Dodaj stran k %s" + +#: glade/glade-hdy-search-bar.c:101 +msgid "Search bar is already full" +msgstr "Iskalna vrstica je že polna" + +#: glade/glade-hdy-utils.h:13 +#, c-format +msgid "Only objects of type %s can be added to objects of type %s." +msgstr "Le predmete vrste %s je mogoče dodati k predmetom vrste %s." + +#: src/hdy-action-row.c:354 src/hdy-action-row.c:355 src/hdy-expander-row.c:314 +#: src/hdy-expander-row.c:315 src/hdy-preferences-page.c:179 +#: src/hdy-preferences-page.c:180 +msgid "Icon name" +msgstr "Ime ikone" + +#: src/hdy-action-row.c:368 +msgid "Activatable widget" +msgstr "" + +#: src/hdy-action-row.c:369 +msgid "The widget to be activated when the row is activated" +msgstr "" + +#: src/hdy-action-row.c:382 src/hdy-action-row.c:383 src/hdy-expander-row.c:285 +#: src/hdy-header-bar.c:2107 src/hdy-view-switcher-title.c:272 +msgid "Subtitle" +msgstr "Podnaslov" + +#: src/hdy-action-row.c:397 src/hdy-expander-row.c:300 +#: src/hdy-preferences-row.c:130 +msgid "Use underline" +msgstr "Uporabi podčrtaj" + +#: src/hdy-action-row.c:398 src/hdy-expander-row.c:301 +#: src/hdy-preferences-row.c:131 +msgid "" +"If set, an underline in the text indicates the next character should be used " +"for the mnemonic accelerator key" +msgstr "" +"Izbrana možnost omogoča, da podčrtaj v besedilu označuje črko, ki je " +"uporabljena kot menijska bližnjica" + +#: src/hdy-carousel-box.c:1088 src/hdy-carousel-box.c:1089 +#: src/hdy-carousel.c:575 src/hdy-carousel.c:576 +msgid "Number of pages" +msgstr "Število strani" + +#: src/hdy-carousel-box.c:1104 src/hdy-carousel.c:592 src/hdy-header-bar.c:2093 +msgid "Position" +msgstr "Položaj" + +#: src/hdy-carousel-box.c:1105 src/hdy-carousel.c:593 +msgid "Current scrolling position" +msgstr "" + +#: src/hdy-carousel-box.c:1120 src/hdy-carousel.c:623 src/hdy-header-bar.c:2121 +msgid "Spacing" +msgstr "Razmik" + +#: src/hdy-carousel-box.c:1121 src/hdy-carousel.c:624 +msgid "Spacing between pages" +msgstr "" + +#: src/hdy-carousel-box.c:1137 src/hdy-carousel.c:668 +msgid "Reveal duration" +msgstr "" + +#: src/hdy-carousel-box.c:1138 src/hdy-carousel.c:669 +msgid "Page reveal duration" +msgstr "" + +#: src/hdy-carousel.c:609 +msgid "Interactive" +msgstr "" + +#: src/hdy-carousel.c:610 +msgid "Whether the widget can be swiped" +msgstr "" + +#: src/hdy-carousel.c:639 +msgid "Animation duration" +msgstr "" + +#: src/hdy-carousel.c:640 +msgid "Default animation duration" +msgstr "" + +#: src/hdy-carousel.c:654 src/hdy-swipe-tracker.c:803 +msgid "Allow mouse drag" +msgstr "Dovoli vlečenje z miško" + +#: src/hdy-carousel.c:655 src/hdy-swipe-tracker.c:804 +msgid "Whether to allow dragging with mouse pointer" +msgstr "Ali naj bo dovoljeno vlečenje s kazalnikom miške" + +#: src/hdy-carousel-indicator-dots.c:392 src/hdy-carousel-indicator-dots.c:393 +#: src/hdy-carousel-indicator-lines.c:391 +#: src/hdy-carousel-indicator-lines.c:392 +msgid "Carousel" +msgstr "" + +#: src/hdy-clamp.c:417 +msgid "Maximum size" +msgstr "Največja velikost" + +#: src/hdy-clamp.c:418 +msgid "The maximum size allocated to the child" +msgstr "Največja velikost dodeljena podrejenemu predmetu" + +#: src/hdy-clamp.c:442 +msgid "Tightening threshold" +msgstr "" + +#: src/hdy-clamp.c:443 +msgid "The size from which the clamp will tighten its grip on the child" +msgstr "" + +#: src/hdy-combo-row.c:416 +msgid "Selected index" +msgstr "" + +#: src/hdy-combo-row.c:417 +msgid "The index of the selected item" +msgstr "" + +#: src/hdy-combo-row.c:435 +msgid "Use subtitle" +msgstr "Uporabi posnaslov" + +#: src/hdy-combo-row.c:436 +msgid "Set the current value as the subtitle" +msgstr "Nastavi trenutno vrednost kot podnaslov" + +#: src/hdy-deck.c:888 +msgid "Horizontally homogeneous" +msgstr "Vodoravno prilagajanje" + +#: src/hdy-deck.c:889 +msgid "Horizontally homogeneous sizing" +msgstr "Homogeno vodoravno prilagajanje velikosti" + +#: src/hdy-deck.c:902 +msgid "Vertically homogeneous" +msgstr "Navpično prilagajanje" + +#: src/hdy-deck.c:903 +msgid "Vertically homogeneous sizing" +msgstr "Homogeno navpično prilagajanje velikosti" + +#: src/hdy-deck.c:916 src/hdy-leaflet.c:1018 src/hdy-squeezer.c:1098 +#: src/hdy-stackable-box.c:2993 +msgid "Visible child" +msgstr "Vidni podrejeni predmet" + +#: src/hdy-deck.c:917 +msgid "The widget currently visible" +msgstr "" + +#: src/hdy-deck.c:930 src/hdy-leaflet.c:1025 src/hdy-stackable-box.c:3000 +msgid "Name of visible child" +msgstr "Ime vidnega podrejenega predmeta" + +#: src/hdy-deck.c:931 +msgid "The name of the widget currently visible" +msgstr "" + +#: src/hdy-deck.c:949 src/hdy-leaflet.c:1044 src/hdy-squeezer.c:1112 +#: src/hdy-stackable-box.c:3019 +msgid "Transition type" +msgstr "Vrsta prehoda" + +#: src/hdy-deck.c:950 +msgid "The type of animation used to transition between children" +msgstr "" + +#: src/hdy-deck.c:963 src/hdy-header-bar.c:2203 src/hdy-squeezer.c:1105 +msgid "Transition duration" +msgstr "Trajanje prehoda" + +#: src/hdy-deck.c:964 +msgid "The transition animation duration, in milliseconds" +msgstr "" + +#: src/hdy-deck.c:977 src/hdy-header-bar.c:2210 src/hdy-squeezer.c:1120 +msgid "Transition running" +msgstr "Prehod se odvija" + +#: src/hdy-deck.c:978 src/hdy-header-bar.c:2211 src/hdy-squeezer.c:1121 +msgid "Whether or not the transition is currently running" +msgstr "Ali se prehod trenutno izvaja" + +#: src/hdy-deck.c:992 src/hdy-header-bar.c:2217 src/hdy-leaflet.c:1072 +#: src/hdy-squeezer.c:1127 src/hdy-stackable-box.c:3047 +msgid "Interpolate size" +msgstr "Interpoliraj velikost" + +#: src/hdy-deck.c:993 src/hdy-header-bar.c:2218 src/hdy-leaflet.c:1073 +#: src/hdy-squeezer.c:1128 src/hdy-stackable-box.c:3048 +msgid "" +"Whether or not the size should smoothly change when changing between " +"differently sized children" +msgstr "" +"Ali naj se velikost gladko spremeni med spreminjanjem različno velikih " +"podrejenih predmetov" + +#: src/hdy-deck.c:1007 src/hdy-leaflet.c:1087 src/hdy-preferences-window.c:520 +#: src/hdy-stackable-box.c:3062 +msgid "Can swipe back" +msgstr "" + +#: src/hdy-deck.c:1008 src/hdy-leaflet.c:1088 src/hdy-stackable-box.c:3063 +msgid "" +"Whether or not swipe gesture can be used to switch to the previous child" +msgstr "" + +#: src/hdy-deck.c:1022 src/hdy-leaflet.c:1102 src/hdy-stackable-box.c:3077 +msgid "Can swipe forward" +msgstr "" + +#: src/hdy-deck.c:1023 src/hdy-leaflet.c:1103 src/hdy-stackable-box.c:3078 +msgid "Whether or not swipe gesture can be used to switch to the next child" +msgstr "" + +#: src/hdy-deck.c:1031 src/hdy-leaflet.c:1111 +msgid "Name" +msgstr "Ime" + +#: src/hdy-deck.c:1032 src/hdy-leaflet.c:1112 +msgid "The name of the child page" +msgstr "Ime gradnika podrejene strani" + +#: src/hdy-expander-row.c:286 +msgid "The subtitle for this row" +msgstr "" + +#: src/hdy-expander-row.c:326 +msgid "Expanded" +msgstr "Razširjeno" + +#: src/hdy-expander-row.c:327 +msgid "Whether the row is expanded" +msgstr "" + +#: src/hdy-expander-row.c:338 +msgid "Enable expansion" +msgstr "Omogoči razširjanje" + +#: src/hdy-expander-row.c:339 +msgid "Whether the expansion is enabled" +msgstr "Ali naj bo razširjanje omogočeno" + +#: src/hdy-expander-row.c:350 +msgid "Show enable switch" +msgstr "" + +#: src/hdy-expander-row.c:351 +msgid "Whether the switch enabling the expansion is visible" +msgstr "" + +#: src/hdy-header-bar.c:485 +msgid "Application menu" +msgstr "Programski meni" + +#: src/hdy-header-bar.c:507 src/hdy-window-handle-controller.c:275 +msgid "Minimize" +msgstr "Skrči" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:241 +msgid "Restore" +msgstr "Obnovi" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:284 +msgid "Maximize" +msgstr "Razpni" + +#: src/hdy-header-bar.c:547 src/hdy-window-handle-controller.c:311 +msgid "Close" +msgstr "Zapri" + +#: src/hdy-header-bar.c:563 +msgid "Back" +msgstr "Nazaj" + +#: src/hdy-header-bar.c:2086 +msgid "Pack type" +msgstr "Vrsta zlaganja" + +#: src/hdy-header-bar.c:2087 +msgid "" +"A GtkPackType indicating whether the child is packed with reference to the " +"start or end of the parent" +msgstr "" +"Vrsta GtkPackType, ki pove, ali naj bo podrejeni predmet zložen s sklicem na " +"začetek ali na konec nadrejenega predmeta" + +#: src/hdy-header-bar.c:2094 +msgid "The index of the child in the parent" +msgstr "Indeks podrejenega predmeta v nadrejenem predmetu" + +#: src/hdy-header-bar.c:2100 src/hdy-preferences-group.c:265 +#: src/hdy-preferences-group.c:266 src/hdy-preferences-page.c:193 +#: src/hdy-preferences-page.c:194 src/hdy-preferences-row.c:115 +#: src/hdy-view-switcher-title.c:258 +msgid "Title" +msgstr "Naziv" + +#: src/hdy-header-bar.c:2101 src/hdy-view-switcher-title.c:259 +msgid "The title to display" +msgstr "Naslov za prikaz" + +#: src/hdy-header-bar.c:2108 src/hdy-view-switcher-title.c:273 +msgid "The subtitle to display" +msgstr "Podnaslov za prikaz" + +#: src/hdy-header-bar.c:2114 +msgid "Custom Title" +msgstr "Naslov po meri" + +#: src/hdy-header-bar.c:2115 +msgid "Custom title widget to display" +msgstr "Gradnik naziva okna po meri za prikaz" + +#: src/hdy-header-bar.c:2122 +msgid "The amount of space between children" +msgstr "Prostor med podrejenimi predmeti" + +#: src/hdy-header-bar.c:2141 +msgid "Show decorations" +msgstr "Pokaži okraske" + +#: src/hdy-header-bar.c:2142 +msgid "Whether to show window decorations" +msgstr "Ali naj bodo okraski okna prikazani" + +#: src/hdy-header-bar.c:2160 +msgid "Decoration Layout" +msgstr "Postavitev okraskov" + +#: src/hdy-header-bar.c:2161 +msgid "The layout for window decorations" +msgstr "Postavitev okenskih okraskov" + +#: src/hdy-header-bar.c:2174 +msgid "Decoration Layout Set" +msgstr "Določitev postavitve okraskov" + +#: src/hdy-header-bar.c:2175 +msgid "Whether the decoration-layout property has been set" +msgstr "Ali je določena lastnost decoration-layout (za postavitev okraskov)" + +#: src/hdy-header-bar.c:2189 +msgid "Has Subtitle" +msgstr "Ima podnaslov" + +#: src/hdy-header-bar.c:2190 +msgid "Whether to reserve space for a subtitle" +msgstr "Ali naj bo prihranjen prostor za podnaslov" + +#: src/hdy-header-bar.c:2196 +msgid "Centering policy" +msgstr "" + +#: src/hdy-header-bar.c:2197 +msgid "The policy to horizontally align the center widget" +msgstr "" + +#: src/hdy-header-bar.c:2204 src/hdy-squeezer.c:1106 +msgid "The animation duration, in milliseconds" +msgstr "Trajanje animacije v milisekundah" + +#: src/hdy-header-group.c:827 +msgid "Decorate all" +msgstr "" + +#: src/hdy-header-group.c:828 +msgid "" +"Whether the elements of the group should all receive the full decoration" +msgstr "" + +#: src/hdy-keypad-button.c:225 +msgid "Digit" +msgstr "" + +#: src/hdy-keypad-button.c:226 +msgid "The keypad digit of the button" +msgstr "" + +#: src/hdy-keypad-button.c:232 +msgid "Symbols" +msgstr "Simboli" + +#: src/hdy-keypad-button.c:233 +msgid "The keypad symbols of the button. The first symbol is used as the digit" +msgstr "" + +#: src/hdy-keypad-button.c:239 +msgid "Show symbols" +msgstr "" + +#: src/hdy-keypad-button.c:240 +msgid "Whether the second line of symbols should be shown or not" +msgstr "" + +#: src/hdy-keypad.c:247 +msgid "Row spacing" +msgstr "Prostor med vrsticami" + +#: src/hdy-keypad.c:248 +msgid "The amount of space between two consecutive rows" +msgstr "Prostora med zaporednima vrsticama" + +#: src/hdy-keypad.c:261 +msgid "Column spacing" +msgstr "Prostor med stolpci" + +#: src/hdy-keypad.c:262 +msgid "The amount of space between two consecutive columns" +msgstr "Prostor med zaporednima stolpcema" + +#: src/hdy-keypad.c:276 +msgid "Letters visible" +msgstr "" + +#: src/hdy-keypad.c:277 +msgid "Whether the letters below the digits should be visible" +msgstr "" + +#: src/hdy-keypad.c:291 +msgid "Symbols visible" +msgstr "" + +#: src/hdy-keypad.c:292 +msgid "Whether the hash, plus, and asterisk symbols should be visible" +msgstr "" + +#: src/hdy-keypad.c:306 +msgid "Entry" +msgstr "Vnos" + +#: src/hdy-keypad.c:307 +msgid "The entry widget connected to the keypad" +msgstr "" + +#: src/hdy-keypad.c:320 +msgid "End action" +msgstr "" + +#: src/hdy-keypad.c:321 +msgid "The end action widget" +msgstr "" + +#: src/hdy-keypad.c:334 +msgid "Start action" +msgstr "" + +#: src/hdy-keypad.c:335 +msgid "The start action widget" +msgstr "" + +#: src/hdy-leaflet.c:963 src/hdy-stackable-box.c:2938 +msgid "Folded" +msgstr "" + +#: src/hdy-leaflet.c:964 src/hdy-stackable-box.c:2939 +msgid "Whether the widget is folded" +msgstr "" + +#: src/hdy-leaflet.c:975 src/hdy-stackable-box.c:2950 +msgid "Horizontally homogeneous folded" +msgstr "" + +#: src/hdy-leaflet.c:976 +msgid "Horizontally homogeneous sizing when the leaflet is folded" +msgstr "" + +#: src/hdy-leaflet.c:987 src/hdy-stackable-box.c:2962 +msgid "Vertically homogeneous folded" +msgstr "" + +#: src/hdy-leaflet.c:988 +msgid "Vertically homogeneous sizing when the leaflet is folded" +msgstr "" + +#: src/hdy-leaflet.c:999 src/hdy-stackable-box.c:2974 +msgid "Box horizontally homogeneous" +msgstr "" + +#: src/hdy-leaflet.c:1000 +msgid "Horizontally homogeneous sizing when the leaflet is unfolded" +msgstr "" + +#: src/hdy-leaflet.c:1011 src/hdy-stackable-box.c:2986 +msgid "Box vertically homogeneous" +msgstr "" + +#: src/hdy-leaflet.c:1012 +msgid "Vertically homogeneous sizing when the leaflet is unfolded" +msgstr "" + +#: src/hdy-leaflet.c:1019 +msgid "The widget currently visible when the leaflet is folded" +msgstr "" + +#: src/hdy-leaflet.c:1026 src/hdy-stackable-box.c:3001 +msgid "The name of the widget currently visible when the children are stacked" +msgstr "" + +#: src/hdy-leaflet.c:1045 src/hdy-stackable-box.c:3020 +msgid "The type of animation used to transition between modes and children" +msgstr "" + +#: src/hdy-leaflet.c:1051 src/hdy-stackable-box.c:3026 +msgid "Mode transition duration" +msgstr "" + +#: src/hdy-leaflet.c:1052 src/hdy-stackable-box.c:3027 +msgid "The mode transition animation duration, in milliseconds" +msgstr "" + +#: src/hdy-leaflet.c:1058 src/hdy-stackable-box.c:3033 +msgid "Child transition duration" +msgstr "" + +#: src/hdy-leaflet.c:1059 src/hdy-stackable-box.c:3034 +msgid "The child transition animation duration, in milliseconds" +msgstr "" + +#: src/hdy-leaflet.c:1065 src/hdy-stackable-box.c:3040 +msgid "Child transition running" +msgstr "" + +#: src/hdy-leaflet.c:1066 src/hdy-stackable-box.c:3041 +msgid "Whether or not the child transition is currently running" +msgstr "" + +#: src/hdy-leaflet.c:1129 +msgid "Navigatable" +msgstr "" + +#: src/hdy-leaflet.c:1130 +msgid "Whether the child can be navigated to" +msgstr "" + +#: src/hdy-preferences-group.c:251 src/hdy-preferences-group.c:252 +msgid "Description" +msgstr "Opis" + +#: src/hdy-preferences-row.c:116 +msgid "The title of the preference" +msgstr "" + +#: src/hdy-preferences-window.c:141 +msgid "Untitled page" +msgstr "" + +#: src/hdy-preferences-window.c:506 +msgid "Search enabled" +msgstr "" + +#: src/hdy-preferences-window.c:507 +msgid "Whether search is enabled" +msgstr "" + +#: src/hdy-preferences-window.c:521 +msgid "" +"Whether or not swipe gesture can be used to switch from a subpage to the " +"preferences" +msgstr "" + +#: src/hdy-preferences-window.ui:9 +msgid "Preferences" +msgstr "Možnosti" + +#: src/hdy-preferences-window.ui:81 +msgid "Search" +msgstr "Poišči" + +#: src/hdy-preferences-window.ui:204 +msgid "No Results Found" +msgstr "Ni najdenih zadetkov." + +#: src/hdy-preferences-window.ui:219 +msgid "Try a different search" +msgstr "Poskusite drugačen iskalni niz" + +#: src/hdy-search-bar.c:451 +msgid "Search Mode Enabled" +msgstr "Omogočen iskalni način" + +#: src/hdy-search-bar.c:452 +msgid "Whether the search mode is on and the search bar shown" +msgstr "Ali naj bo omogočen iskalni način in prikazana iskalna vrstica" + +#: src/hdy-search-bar.c:463 +msgid "Show Close Button" +msgstr "Pokaži gumb za zapiranje" + +#: src/hdy-search-bar.c:464 +msgid "Whether to show the close button in the toolbar" +msgstr "Ali naj se pokaže gumb za zapiranje v orodni vrstici" + +#: src/hdy-shadow-helper.c:254 +msgid "Widget" +msgstr "Gradnik" + +#: src/hdy-shadow-helper.c:255 +msgid "The widget the shadow will be drawn for" +msgstr "" + +#: src/hdy-squeezer.c:1091 +msgid "Homogeneous" +msgstr "Homogeno" + +#: src/hdy-squeezer.c:1092 +msgid "Homogeneous sizing" +msgstr "Homogeno prilagajanje velikosti" + +#: src/hdy-squeezer.c:1099 +msgid "The widget currently visible in the squeezer" +msgstr "" + +#: src/hdy-squeezer.c:1113 +msgid "The type of animation used to transition" +msgstr "Vrsta animacije, uporabljene za prehode" + +#: src/hdy-squeezer.c:1148 +msgid "X align" +msgstr "Poravnava X" + +#: src/hdy-squeezer.c:1149 +msgid "The horizontal alignment, from 0 (start) to 1 (end)" +msgstr "" + +#: src/hdy-squeezer.c:1170 +msgid "Y align" +msgstr "Poravnava Y" + +#: src/hdy-squeezer.c:1171 +msgid "The vertical alignment, from 0 (top) to 1 (bottom)" +msgstr "Navpična poravnava, od 0 (zgoraj) do 1 (spodaj)" + +#: src/hdy-squeezer.c:1180 src/hdy-swipe-tracker.c:773 +msgid "Enabled" +msgstr "Omogočeno" + +#: src/hdy-squeezer.c:1181 +msgid "" +"Whether the child can be picked or should be ignored when looking for the " +"child fitting the available size best" +msgstr "" + +#: src/hdy-stackable-box.c:2951 +msgid "Horizontally homogeneous sizing when the widget is folded" +msgstr "" + +#: src/hdy-stackable-box.c:2963 +msgid "Vertically homogeneous sizing when the widget is folded" +msgstr "" + +#: src/hdy-stackable-box.c:2975 +msgid "Horizontally homogeneous sizing when the widget is unfolded" +msgstr "" + +#: src/hdy-stackable-box.c:2987 +msgid "Vertically homogeneous sizing when the widget is unfolded" +msgstr "" + +#: src/hdy-stackable-box.c:2994 +msgid "The widget currently visible when the widget is folded" +msgstr "" + +#: src/hdy-stackable-box.c:3084 src/hdy-stackable-box.c:3085 +msgid "Orientation" +msgstr "Usmerjenost" + +#: src/hdy-swipe-tracker.c:758 +msgid "Swipeable" +msgstr "" + +#: src/hdy-swipe-tracker.c:759 +msgid "The swipeable the swipe tracker is attached to" +msgstr "" + +#: src/hdy-swipe-tracker.c:774 +msgid "Whether the swipe tracker processes events" +msgstr "" + +#: src/hdy-swipe-tracker.c:788 +msgid "Reversed" +msgstr "" + +#: src/hdy-swipe-tracker.c:789 +msgid "Whether swipe direction is reversed" +msgstr "" + +#: src/hdy-title-bar.c:308 +msgid "Selection mode" +msgstr "Način izbire" + +#: src/hdy-title-bar.c:309 +msgid "Whether or not the title bar is in selection mode" +msgstr "" + +#: src/hdy-value-object.c:191 +msgctxt "HdyValueObjectClass" +msgid "Value" +msgstr "Vrednost" + +#: src/hdy-value-object.c:192 +msgctxt "HdyValueObjectClass" +msgid "The contained value" +msgstr "" + +#: src/hdy-view-switcher-bar.c:178 src/hdy-view-switcher.c:509 +#: src/hdy-view-switcher-title.c:230 +msgid "Policy" +msgstr "Pravila" + +#: src/hdy-view-switcher-bar.c:179 src/hdy-view-switcher.c:510 +#: src/hdy-view-switcher-title.c:231 +msgid "The policy to determine the mode to use" +msgstr "" + +#: src/hdy-view-switcher-bar.c:192 src/hdy-view-switcher-bar.c:193 +#: src/hdy-view-switcher.c:544 src/hdy-view-switcher.c:545 +#: src/hdy-view-switcher-title.c:244 src/hdy-view-switcher-title.c:245 +msgid "Stack" +msgstr "Sklad" + +#: src/hdy-view-switcher-bar.c:206 +msgid "Reveal" +msgstr "Razkrij" + +#: src/hdy-view-switcher-bar.c:207 +msgid "Whether the view switcher is revealed" +msgstr "" + +#: src/hdy-view-switcher-button.c:203 +msgid "Icon Name" +msgstr "Ime ikone" + +#: src/hdy-view-switcher-button.c:204 +msgid "Icon name for image" +msgstr "" + +#: src/hdy-view-switcher-button.c:217 +msgid "Icon Size" +msgstr "Velikost ikone" + +#: src/hdy-view-switcher-button.c:218 +msgid "Symbolic size to use for named icon" +msgstr "Simbolna velikost, ki naj bo uporabljena za imenovano ikono" + +#: src/hdy-view-switcher-button.c:234 +msgid "Needs attention" +msgstr "" + +#: src/hdy-view-switcher-button.c:235 +msgid "Hint the view needs attention" +msgstr "" + +#: src/hdy-view-switcher.c:529 +msgid "Narrow ellipsize" +msgstr "" + +#: src/hdy-view-switcher.c:530 +msgid "" +"The preferred place to ellipsize the string, if the narrow mode label does " +"not have enough room to display the entire string" +msgstr "" + +#: src/hdy-view-switcher-title.c:286 +msgid "View switcher enabled" +msgstr "" + +#: src/hdy-view-switcher-title.c:287 +msgid "Whether the view switcher is enabled" +msgstr "" + +#: src/hdy-view-switcher-title.c:300 +msgid "Title visible" +msgstr "" + +#: src/hdy-view-switcher-title.c:301 +msgid "Whether the title label is visible" +msgstr "" + +#: src/hdy-window-handle-controller.c:259 +msgid "Move" +msgstr "Premakni" + +#: src/hdy-window-handle-controller.c:267 +msgid "Resize" +msgstr "Spremeni velikost" + +#: src/hdy-window-handle-controller.c:298 +msgid "Always on Top" +msgstr "Vedno na vrhu" diff --git a/subprojects/libhandy/po/uk.po b/subprojects/libhandy/po/uk.po new file mode 100644 index 00000000..2d7ec511 --- /dev/null +++ b/subprojects/libhandy/po/uk.po @@ -0,0 +1,915 @@ +# Ukrainian translation for libhandy. +# Copyright (C) 2020 libhandy's COPYRIGHT HOLDER +# This file is distributed under the same license as the libhandy package. +# +# Yuri Chornoivan , 2020. +msgid "" +msgstr "" +"Project-Id-Version: libhandy master\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libhandy/issues\n" +"POT-Creation-Date: 2020-08-06 15:34+0000\n" +"PO-Revision-Date: 2020-08-08 16:56+0300\n" +"Last-Translator: Yuri Chornoivan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n" +"%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Lokalize 20.07.70\n" + +#: glade/glade-hdy-carousel.c:160 glade/glade-hdy-header-bar.c:118 +#: glade/glade-hdy-leaflet.c:184 +#, c-format +msgid "Insert placeholder to %s" +msgstr "Вставка заповнювача місця до %s" + +#: glade/glade-hdy-carousel.c:189 glade/glade-hdy-header-bar.c:144 +#: glade/glade-hdy-leaflet.c:214 +#, c-format +msgid "Remove placeholder from %s" +msgstr "Вилучення заповнювача з %s" + +#: glade/glade-hdy-header-bar.c:18 +msgid "This property does not apply when a custom title is set" +msgstr "Ця властивість не застосовується, якщо встановлено нетиповий заголовок" + +#: glade/glade-hdy-header-bar.c:289 +msgid "" +"The decoration layout does not apply to header bars which do no show window " +"controls" +msgstr "" +"Компонування декорацій не стосується смужок заголовків, на яких не буде " +"показано засоби керування вікном" + +#: glade/glade-hdy-leaflet.c:19 +msgid "This property only applies when the leaflet is folded" +msgstr "Ця властивість застосовується, лише якщо листівку згорнуто" + +#: glade/glade-hdy-preferences-page.c:160 +#, c-format +msgid "Add group to %s" +msgstr "Додати групу до %s" + +#: glade/glade-hdy-preferences-window.c:228 +#, c-format +msgid "Add page to %s" +msgstr "Додати сторінку до %s" + +#: glade/glade-hdy-search-bar.c:101 +msgid "Search bar is already full" +msgstr "Панель пошуку вже заповнено" + +#: glade/glade-hdy-utils.h:14 +#, c-format +msgid "Only objects of type %s can be added to objects of type %s." +msgstr "Лише об'єкти типу %s можна додавати до об'єктів типу %s." + +#: src/hdy-action-row.c:354 src/hdy-action-row.c:355 src/hdy-expander-row.c:314 +#: src/hdy-expander-row.c:315 src/hdy-preferences-page.c:179 +#: src/hdy-preferences-page.c:180 +msgid "Icon name" +msgstr "Назва піктограми" + +#: src/hdy-action-row.c:368 +msgid "Activatable widget" +msgstr "Активований віджет" + +#: src/hdy-action-row.c:369 +msgid "The widget to be activated when the row is activated" +msgstr "Віджет, який буде активовано, якщо активовано рядок" + +#: src/hdy-action-row.c:382 src/hdy-action-row.c:383 src/hdy-expander-row.c:285 +#: src/hdy-header-bar.c:2105 src/hdy-view-switcher-title.c:272 +msgid "Subtitle" +msgstr "Підзаголовок" + +#: src/hdy-action-row.c:397 src/hdy-expander-row.c:300 +#: src/hdy-preferences-row.c:130 +msgid "Use underline" +msgstr "Використовувати підкреслення" + +#: src/hdy-action-row.c:398 src/hdy-expander-row.c:301 +#: src/hdy-preferences-row.c:131 +msgid "" +"If set, an underline in the text indicates the next character should be used " +"for the mnemonic accelerator key" +msgstr "" +"Якщо встановлено, то підкреслення в тексті означає, що наступний символ має " +"використовуватися в комбінації клавіш." + +#: src/hdy-carousel-box.c:1088 src/hdy-carousel-box.c:1089 +#: src/hdy-carousel.c:575 src/hdy-carousel.c:576 +msgid "Number of pages" +msgstr "Кількість сторінок" + +#: src/hdy-carousel-box.c:1104 src/hdy-carousel.c:592 src/hdy-header-bar.c:2091 +msgid "Position" +msgstr "Позиція" + +#: src/hdy-carousel-box.c:1105 src/hdy-carousel.c:593 +msgid "Current scrolling position" +msgstr "Поточна позиція гортання" + +#: src/hdy-carousel-box.c:1120 src/hdy-carousel.c:623 src/hdy-header-bar.c:2119 +msgid "Spacing" +msgstr "Інтервал" + +#: src/hdy-carousel-box.c:1121 src/hdy-carousel.c:624 +msgid "Spacing between pages" +msgstr "Інтервал між сторінками" + +#: src/hdy-carousel-box.c:1137 src/hdy-carousel.c:668 +msgid "Reveal duration" +msgstr "Тривалість появи" + +#: src/hdy-carousel-box.c:1138 src/hdy-carousel.c:669 +msgid "Page reveal duration" +msgstr "Тривалість появи сторінки" + +#: src/hdy-carousel.c:609 +msgid "Interactive" +msgstr "Інтерактивний" + +#: src/hdy-carousel.c:610 +msgid "Whether the widget can be swiped" +msgstr "Визначає, чи можна змахнути віджет" + +#: src/hdy-carousel.c:639 +msgid "Animation duration" +msgstr "Тривалість анімації" + +#: src/hdy-carousel.c:640 +msgid "Default animation duration" +msgstr "Типова тривалість анімації" + +#: src/hdy-carousel.c:654 src/hdy-swipe-tracker.c:803 +msgid "Allow mouse drag" +msgstr "Дозволити перетягування мишею" + +#: src/hdy-carousel.c:655 src/hdy-swipe-tracker.c:804 +msgid "Whether to allow dragging with mouse pointer" +msgstr "Визначає, чи можна перетягувати за допомогою вказівника миші" + +#: src/hdy-carousel-indicator-dots.c:392 src/hdy-carousel-indicator-dots.c:393 +#: src/hdy-carousel-indicator-lines.c:391 +#: src/hdy-carousel-indicator-lines.c:392 +msgid "Carousel" +msgstr "Карусель" + +#: src/hdy-clamp.c:417 +msgid "Maximum size" +msgstr "Максимальний розмір" + +#: src/hdy-clamp.c:418 +msgid "The maximum size allocated to the child" +msgstr "Максимальний розмір, який буде отримано для дочірнього об'єкта" + +#: src/hdy-clamp.c:442 +msgid "Tightening threshold" +msgstr "Поріг ущільнення" + +#: src/hdy-clamp.c:443 +msgid "The size from which the clamp will tighten its grip on the child" +msgstr "Розмір, починаючи з якого защіпка починає ущільнювати дочірній об'єкт" + +#: src/hdy-combo-row.c:411 +msgid "Selected index" +msgstr "Індекс позначеного" + +#: src/hdy-combo-row.c:412 +msgid "The index of the selected item" +msgstr "Індекс позначеного об'єкта" + +#: src/hdy-combo-row.c:430 +msgid "Use subtitle" +msgstr "Використовувати підзаголовок" + +#: src/hdy-combo-row.c:431 +msgid "Set the current value as the subtitle" +msgstr "Встановити поточне значення як підзаголовок" + +#: src/hdy-deck.c:888 +msgid "Horizontally homogeneous" +msgstr "Горизонтально однорідний" + +#: src/hdy-deck.c:889 +msgid "Horizontally homogeneous sizing" +msgstr "Однорідний за розміром горизонтально" + +#: src/hdy-deck.c:902 +msgid "Vertically homogeneous" +msgstr "Вертикально однорідний" + +#: src/hdy-deck.c:903 +msgid "Vertically homogeneous sizing" +msgstr "Однорідний за розміром вертикально" + +#: src/hdy-deck.c:916 src/hdy-leaflet.c:1018 src/hdy-squeezer.c:1098 +#: src/hdy-stackable-box.c:2993 +msgid "Visible child" +msgstr "Видимий дочірній елемент" + +#: src/hdy-deck.c:917 +msgid "The widget currently visible" +msgstr "Віджет є видимим" + +#: src/hdy-deck.c:930 src/hdy-leaflet.c:1025 src/hdy-stackable-box.c:3000 +msgid "Name of visible child" +msgstr "Назва видимого дочірнього елемента" + +#: src/hdy-deck.c:931 +msgid "The name of the widget currently visible" +msgstr "Назва віджета є видимою" + +#: src/hdy-deck.c:949 src/hdy-leaflet.c:1044 src/hdy-squeezer.c:1112 +#: src/hdy-stackable-box.c:3019 +msgid "Transition type" +msgstr "Тип переходу" + +#: src/hdy-deck.c:950 +msgid "The type of animation used to transition between children" +msgstr "" +"Тип анімації, який буде використано для переходу між дочірніми об'єктами" + +#: src/hdy-deck.c:963 src/hdy-header-bar.c:2201 src/hdy-squeezer.c:1105 +msgid "Transition duration" +msgstr "Тривалість переходу" + +#: src/hdy-deck.c:964 +msgid "The transition animation duration, in milliseconds" +msgstr "Тривалість анімації переходу у мілісекундах" + +#: src/hdy-deck.c:977 src/hdy-header-bar.c:2208 src/hdy-squeezer.c:1120 +msgid "Transition running" +msgstr "Виконання переходу" + +#: src/hdy-deck.c:978 src/hdy-header-bar.c:2209 src/hdy-squeezer.c:1121 +msgid "Whether or not the transition is currently running" +msgstr "Чи виконується перехід цієї миті" + +#: src/hdy-deck.c:992 src/hdy-header-bar.c:2215 src/hdy-leaflet.c:1072 +#: src/hdy-squeezer.c:1127 src/hdy-stackable-box.c:3047 +msgid "Interpolate size" +msgstr "Інтерполювати розмір" + +#: src/hdy-deck.c:993 src/hdy-header-bar.c:2216 src/hdy-leaflet.c:1073 +#: src/hdy-squeezer.c:1128 src/hdy-stackable-box.c:3048 +msgid "" +"Whether or not the size should smoothly change when changing between " +"differently sized children" +msgstr "" +"Визначає, чи повинен розмір змінюватися плавно при перемиканні між дочірніми " +"елементами різних розмірів" + +#: src/hdy-deck.c:1007 src/hdy-leaflet.c:1087 src/hdy-preferences-window.c:497 +#: src/hdy-stackable-box.c:3062 +msgid "Can swipe back" +msgstr "Можна змахнути назад" + +#: src/hdy-deck.c:1008 src/hdy-leaflet.c:1088 src/hdy-stackable-box.c:3063 +msgid "" +"Whether or not swipe gesture can be used to switch to the previous child" +msgstr "" +"Визначає, чи можна скористатися жестом змахування для перемикання до " +"попереднього дочірнього об'єкта" + +#: src/hdy-deck.c:1022 src/hdy-leaflet.c:1102 src/hdy-stackable-box.c:3077 +msgid "Can swipe forward" +msgstr "Можна змахувати вперед" + +#: src/hdy-deck.c:1023 src/hdy-leaflet.c:1103 src/hdy-stackable-box.c:3078 +msgid "Whether or not swipe gesture can be used to switch to the next child" +msgstr "" +"Визначає, чи можна скористатися жестом змахування для перемикання до " +"наступного дочірнього об'єкта" + +#: src/hdy-deck.c:1031 src/hdy-leaflet.c:1111 +msgid "Name" +msgstr "Назва" + +#: src/hdy-deck.c:1032 src/hdy-leaflet.c:1112 +msgid "The name of the child page" +msgstr "Назва дочірньої сторінки" + +#: src/hdy-expander-row.c:286 +msgid "The subtitle for this row" +msgstr "Підзаголовок цього рядка" + +#: src/hdy-expander-row.c:326 +msgid "Expanded" +msgstr "Розгорнутий" + +#: src/hdy-expander-row.c:327 +msgid "Whether the row is expanded" +msgstr "Чи є рядок розгорнутим" + +#: src/hdy-expander-row.c:338 +msgid "Enable expansion" +msgstr "Увімкнути розгортання" + +#: src/hdy-expander-row.c:339 +msgid "Whether the expansion is enabled" +msgstr "Визначає, чи увімкнено розгортання" + +#: src/hdy-expander-row.c:350 +msgid "Show enable switch" +msgstr "Показувати перемикач вмикання" + +#: src/hdy-expander-row.c:351 +msgid "Whether the switch enabling the expansion is visible" +msgstr "Визначає, чи є видимим перемикач, який вмикає розгортання" + +#: src/hdy-header-bar.c:485 +msgid "Application menu" +msgstr "Меню програм" + +#: src/hdy-header-bar.c:507 src/hdy-window-handle-controller.c:275 +msgid "Minimize" +msgstr "Мінімізувати" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:241 +msgid "Restore" +msgstr "Відновити" + +#: src/hdy-header-bar.c:529 src/hdy-window-handle-controller.c:284 +msgid "Maximize" +msgstr "Максимізувати" + +#: src/hdy-header-bar.c:547 src/hdy-window-handle-controller.c:311 +msgid "Close" +msgstr "Закрити" + +#: src/hdy-header-bar.c:563 +msgid "Back" +msgstr "Назад" + +#: src/hdy-header-bar.c:2084 +msgid "Pack type" +msgstr "Тип упаковки" + +#: src/hdy-header-bar.c:2085 +msgid "" +"A GtkPackType indicating whether the child is packed with reference to the " +"start or end of the parent" +msgstr "" +"Об'єкт GtkPackType, що визначає відносно чого упаковується вкладений об'єкт " +"-- відносно початку, кінця, чи батьківського об'єкта" + +#: src/hdy-header-bar.c:2092 +msgid "The index of the child in the parent" +msgstr "Індекс вкладеного елемента у батьківському" + +#: src/hdy-header-bar.c:2098 src/hdy-preferences-group.c:265 +#: src/hdy-preferences-group.c:266 src/hdy-preferences-page.c:193 +#: src/hdy-preferences-page.c:194 src/hdy-preferences-row.c:115 +#: src/hdy-view-switcher-title.c:258 +msgid "Title" +msgstr "Заголовок" + +#: src/hdy-header-bar.c:2099 src/hdy-view-switcher-title.c:259 +msgid "The title to display" +msgstr "Заголовок для показу" + +#: src/hdy-header-bar.c:2106 src/hdy-view-switcher-title.c:273 +msgid "The subtitle to display" +msgstr "Підзаголовок для показу" + +#: src/hdy-header-bar.c:2112 +msgid "Custom Title" +msgstr "Нетиповий заголовок" + +#: src/hdy-header-bar.c:2113 +msgid "Custom title widget to display" +msgstr "Віджет для показу нетипового заголовка" + +#: src/hdy-header-bar.c:2120 +msgid "The amount of space between children" +msgstr "Відстані між вкладеними елементами" + +#: src/hdy-header-bar.c:2139 +msgid "Show decorations" +msgstr "Показувати оформлення" + +#: src/hdy-header-bar.c:2140 +msgid "Whether to show window decorations" +msgstr "Чи показувати оформлення вікна" + +#: src/hdy-header-bar.c:2158 +msgid "Decoration Layout" +msgstr "Компонування оформлення" + +#: src/hdy-header-bar.c:2159 +msgid "The layout for window decorations" +msgstr "Компонування оформлення вікон" + +#: src/hdy-header-bar.c:2172 +msgid "Decoration Layout Set" +msgstr "Компонування оформлення встановлено" + +#: src/hdy-header-bar.c:2173 +msgid "Whether the decoration-layout property has been set" +msgstr "Чи було встановлено властивість decoration-layout" + +#: src/hdy-header-bar.c:2187 +msgid "Has Subtitle" +msgstr "Має підзаголовок" + +#: src/hdy-header-bar.c:2188 +msgid "Whether to reserve space for a subtitle" +msgstr "Чи резервувати місце для підзаголовка" + +#: src/hdy-header-bar.c:2194 +msgid "Centering policy" +msgstr "Правила центрування" + +#: src/hdy-header-bar.c:2195 +msgid "The policy to horizontally align the center widget" +msgstr "Правила для горизонтального вирівнювання центрального віджета" + +#: src/hdy-header-bar.c:2202 src/hdy-squeezer.c:1106 +msgid "The animation duration, in milliseconds" +msgstr "Тривалість анімації у мілісекундах" + +#: src/hdy-header-group.c:827 +msgid "Decorate all" +msgstr "Декорувати усе" + +#: src/hdy-header-group.c:828 +msgid "" +"Whether the elements of the group should all receive the full decoration" +msgstr "Чи мають елементи групи усі отримувати повну декорацію" + +#: src/hdy-keypad-button.c:225 +msgid "Digit" +msgstr "Цифра" + +#: src/hdy-keypad-button.c:226 +msgid "The keypad digit of the button" +msgstr "Цифра цифрової панелі для кнопки" + +#: src/hdy-keypad-button.c:232 +msgid "Symbols" +msgstr "Символи" + +#: src/hdy-keypad-button.c:233 +msgid "The keypad symbols of the button. The first symbol is used as the digit" +msgstr "" +"Символи цифрової панелі на кнопці. Перший символ буде використано як цифру" + +#: src/hdy-keypad-button.c:239 +msgid "Show symbols" +msgstr "Показувати символи" + +#: src/hdy-keypad-button.c:240 +msgid "Whether the second line of symbols should be shown or not" +msgstr "Визначає, чи має бути показано другий рядок символів" + +#: src/hdy-keypad.c:247 +msgid "Row spacing" +msgstr "Міжрядковий інтервал" + +#: src/hdy-keypad.c:248 +msgid "The amount of space between two consecutive rows" +msgstr "Інтервал між двома послідовними рядками" + +#: src/hdy-keypad.c:261 +msgid "Column spacing" +msgstr "Інтервал між стовпчиками" + +#: src/hdy-keypad.c:262 +msgid "The amount of space between two consecutive columns" +msgstr "Інтервал між двома послідовними стовпчиками" + +#: src/hdy-keypad.c:276 +msgid "Letters visible" +msgstr "Видимі літери" + +#: src/hdy-keypad.c:277 +msgid "Whether the letters below the digits should be visible" +msgstr "Визначає, чи будуть видимими літери під цифрами" + +#: src/hdy-keypad.c:291 +msgid "Symbols visible" +msgstr "Видимі символи" + +#: src/hdy-keypad.c:292 +msgid "Whether the hash, plus, and asterisk symbols should be visible" +msgstr "Визначає, чи має бути показано символи решітки, плюса та зірочки" + +#: src/hdy-keypad.c:306 +msgid "Entry" +msgstr "Введення" + +#: src/hdy-keypad.c:307 +msgid "The entry widget connected to the keypad" +msgstr "Віджет введення, з'єднаний із цифровою панеллю" + +#: src/hdy-keypad.c:320 +msgid "End action" +msgstr "Завершення дії" + +#: src/hdy-keypad.c:321 +msgid "The end action widget" +msgstr "Віджет завершення дії" + +#: src/hdy-keypad.c:334 +msgid "Start action" +msgstr "Початок дії" + +#: src/hdy-keypad.c:335 +msgid "The start action widget" +msgstr "Віджет початку дії" + +#: src/hdy-leaflet.c:963 src/hdy-stackable-box.c:2938 +msgid "Folded" +msgstr "Згорнуто" + +#: src/hdy-leaflet.c:964 src/hdy-stackable-box.c:2939 +msgid "Whether the widget is folded" +msgstr "Визначає, чи згорнуто віджет" + +#: src/hdy-leaflet.c:975 src/hdy-stackable-box.c:2950 +msgid "Horizontally homogeneous folded" +msgstr "Горизонтально однорідний згорнутий" + +#: src/hdy-leaflet.c:976 +msgid "Horizontally homogeneous sizing when the leaflet is folded" +msgstr "Однорідний за розміром горизонтально, якщо листівку згорнуто" + +#: src/hdy-leaflet.c:987 src/hdy-stackable-box.c:2962 +msgid "Vertically homogeneous folded" +msgstr "Вертикально однорідний згорнутий" + +#: src/hdy-leaflet.c:988 +msgid "Vertically homogeneous sizing when the leaflet is folded" +msgstr "Однорідний за розміром вертикально, якщо листівку згорнуто" + +#: src/hdy-leaflet.c:999 src/hdy-stackable-box.c:2974 +msgid "Box horizontally homogeneous" +msgstr "Панель горизонтально однорідна" + +#: src/hdy-leaflet.c:1000 +msgid "Horizontally homogeneous sizing when the leaflet is unfolded" +msgstr "Однорідний за розміром горизонтально, якщо листівку розгорнуто" + +#: src/hdy-leaflet.c:1011 src/hdy-stackable-box.c:2986 +msgid "Box vertically homogeneous" +msgstr "Панель вертикально однорідна" + +#: src/hdy-leaflet.c:1012 +msgid "Vertically homogeneous sizing when the leaflet is unfolded" +msgstr "Однорідний за розміром вертикально, якщо листівку розгорнуто" + +#: src/hdy-leaflet.c:1019 +msgid "The widget currently visible when the leaflet is folded" +msgstr "Віджет є видимим, коли листівку згорнуто" + +#: src/hdy-leaflet.c:1026 src/hdy-stackable-box.c:3001 +msgid "The name of the widget currently visible when the children are stacked" +msgstr "Назва віджета є видимою, коли дочірні об'єкти розташовано у стосі" + +#: src/hdy-leaflet.c:1045 src/hdy-stackable-box.c:3020 +msgid "The type of animation used to transition between modes and children" +msgstr "" +"Тип анімації, який буде використано для переходу між режимами і дочірніми " +"об'єктами" + +#: src/hdy-leaflet.c:1051 src/hdy-stackable-box.c:3026 +msgid "Mode transition duration" +msgstr "Тривалість переходу між режимами" + +#: src/hdy-leaflet.c:1052 src/hdy-stackable-box.c:3027 +msgid "The mode transition animation duration, in milliseconds" +msgstr "Тривалість анімації переходу між режимами у мілісекундах" + +#: src/hdy-leaflet.c:1058 src/hdy-stackable-box.c:3033 +msgid "Child transition duration" +msgstr "Тривалість переходу між дочірніми об'єктами" + +#: src/hdy-leaflet.c:1059 src/hdy-stackable-box.c:3034 +msgid "The child transition animation duration, in milliseconds" +msgstr "Тривалість анімації переходу між дочірніми об'єктами у мілісекундах" + +#: src/hdy-leaflet.c:1065 src/hdy-stackable-box.c:3040 +msgid "Child transition running" +msgstr "Виконання переходу між дочірніми об'єктами" + +#: src/hdy-leaflet.c:1066 src/hdy-stackable-box.c:3041 +msgid "Whether or not the child transition is currently running" +msgstr "Чи виконується перехід між дочірніми об'єктами цієї миті" + +#: src/hdy-leaflet.c:1129 +msgid "Navigatable" +msgstr "Придатний до навігації" + +#: src/hdy-leaflet.c:1130 +msgid "Whether the child can be navigated to" +msgstr "Визначає, чи можна переходити до дочірнього об'єкта" + +#: src/hdy-preferences-group.c:251 src/hdy-preferences-group.c:252 +msgid "Description" +msgstr "Опис" + +#: src/hdy-preferences-row.c:116 +msgid "The title of the preference" +msgstr "Заголовок налаштувань" + +#: src/hdy-preferences-window.c:141 +msgid "Untitled page" +msgstr "Сторінка без назви" + +#: src/hdy-preferences-window.c:483 +msgid "Search enabled" +msgstr "Пошук увімкнено" + +#: src/hdy-preferences-window.c:484 +msgid "Whether search is enabled" +msgstr "Визначає, чи увімкнено пошук" + +#: src/hdy-preferences-window.c:498 +msgid "" +"Whether or not swipe gesture can be used to switch from a subpage to the " +"preferences" +msgstr "" +"Визначає, чи можна скористатися жестом змахування для перемикання з " +"допоміжної сторінки до сторінки параметрів" + +#: src/hdy-preferences-window.ui:9 +msgid "Preferences" +msgstr "Налаштування" + +#: src/hdy-preferences-window.ui:78 +msgid "Search" +msgstr "Пошук" + +#: src/hdy-preferences-window.ui:201 +msgid "No Results Found" +msgstr "Нічого не знайдено" + +#: src/hdy-preferences-window.ui:216 +msgid "Try a different search" +msgstr "Спробувати інші критерії пошуку" + +#: src/hdy-search-bar.c:451 +msgid "Search Mode Enabled" +msgstr "Режим пошуку увімкнено" + +#: src/hdy-search-bar.c:452 +msgid "Whether the search mode is on and the search bar shown" +msgstr "Чи увімкнено режим пошуку й чи відкрита панель пошуку" + +#: src/hdy-search-bar.c:463 +msgid "Show Close Button" +msgstr "Показувати кнопку закривання" + +#: src/hdy-search-bar.c:464 +msgid "Whether to show the close button in the toolbar" +msgstr "Чи показувати кнопку закривання на панелі інструментів" + +#: src/hdy-shadow-helper.c:254 +msgid "Widget" +msgstr "Віджет" + +#: src/hdy-shadow-helper.c:255 +msgid "The widget the shadow will be drawn for" +msgstr "Віджет, для якого буде намальовано тінь" + +#: src/hdy-squeezer.c:1091 +msgid "Homogeneous" +msgstr "Однорідний" + +#: src/hdy-squeezer.c:1092 +msgid "Homogeneous sizing" +msgstr "Однорідний розмір" + +#: src/hdy-squeezer.c:1099 +msgid "The widget currently visible in the squeezer" +msgstr "Віджет, який зараз показано у відтискачі" + +#: src/hdy-squeezer.c:1113 +msgid "The type of animation used to transition" +msgstr "Тип анімації, яку буде використано для переходу" + +#: src/hdy-squeezer.c:1148 +msgid "X align" +msgstr "Вирівнювання за X" + +#: src/hdy-squeezer.c:1149 +msgid "The horizontal alignment, from 0 (start) to 1 (end)" +msgstr "Вирівнювання за горизонталлю, від 0 (початок) до 1 (кінець)" + +#: src/hdy-squeezer.c:1170 +msgid "Y align" +msgstr "Вирівнювання за Y" + +#: src/hdy-squeezer.c:1171 +msgid "The vertical alignment, from 0 (top) to 1 (bottom)" +msgstr "Вирівнювання за вертикаллю, від 0 (верх) до 1 (низ)" + +#: src/hdy-squeezer.c:1180 src/hdy-swipe-tracker.c:773 +msgid "Enabled" +msgstr "Увімкнено" + +#: src/hdy-squeezer.c:1181 +msgid "" +"Whether the child can be picked or should be ignored when looking for the " +"child fitting the available size best" +msgstr "" +"Визначає, можна вибирати дочірній об'єкт чи його слід ігнорувати при пошуку " +"найкращої відповідності розмірів дочірнього об'єкта" + +#: src/hdy-stackable-box.c:2951 +msgid "Horizontally homogeneous sizing when the widget is folded" +msgstr "Однорідний за розміром горизонтально, якщо віджет згорнуто" + +#: src/hdy-stackable-box.c:2963 +msgid "Vertically homogeneous sizing when the widget is folded" +msgstr "Однорідний за розміром вертикально, якщо віджет згорнуто" + +#: src/hdy-stackable-box.c:2975 +msgid "Horizontally homogeneous sizing when the widget is unfolded" +msgstr "Однорідний за розміром горизонтально, якщо віджет розгорнуто" + +#: src/hdy-stackable-box.c:2987 +msgid "Vertically homogeneous sizing when the widget is unfolded" +msgstr "Однорідний за розміром вертикально, якщо віджет розгорнуто" + +#: src/hdy-stackable-box.c:2994 +msgid "The widget currently visible when the widget is folded" +msgstr "Віджет є видимим, коли віджет згорнуто" + +#: src/hdy-stackable-box.c:3084 src/hdy-stackable-box.c:3085 +msgid "Orientation" +msgstr "Орієнтація" + +#: src/hdy-swipe-tracker.c:758 +msgid "Swipeable" +msgstr "Змахуваний" + +#: src/hdy-swipe-tracker.c:759 +msgid "The swipeable the swipe tracker is attached to" +msgstr "Змахуваний об'єкт, до якого долучено стеження за змахуванням" + +#: src/hdy-swipe-tracker.c:774 +msgid "Whether the swipe tracker processes events" +msgstr "Визначає, чи стеження за змахуванням обробляє події" + +#: src/hdy-swipe-tracker.c:788 +msgid "Reversed" +msgstr "Обернене" + +#: src/hdy-swipe-tracker.c:789 +msgid "Whether swipe direction is reversed" +msgstr "Визначає, що напрям змахування є оберненим" + +#: src/hdy-title-bar.c:308 +msgid "Selection mode" +msgstr "Режим вибирання" + +#: src/hdy-title-bar.c:309 +msgid "Whether or not the title bar is in selection mode" +msgstr "Визначає, чи смужка заголовка перебуває у режимі вибору" + +#: src/hdy-value-object.c:191 +msgctxt "HdyValueObjectClass" +msgid "Value" +msgstr "Значення" + +#: src/hdy-value-object.c:192 +msgctxt "HdyValueObjectClass" +msgid "The contained value" +msgstr "Вміщене значення" + +#: src/hdy-view-switcher-bar.c:178 src/hdy-view-switcher.c:509 +#: src/hdy-view-switcher-title.c:230 +msgid "Policy" +msgstr "Поведінка" + +#: src/hdy-view-switcher-bar.c:179 src/hdy-view-switcher.c:510 +#: src/hdy-view-switcher-title.c:231 +msgid "The policy to determine the mode to use" +msgstr "Правила для визначення режиму, яким слід скористатися" + +#: src/hdy-view-switcher-bar.c:192 src/hdy-view-switcher-bar.c:193 +#: src/hdy-view-switcher.c:544 src/hdy-view-switcher.c:545 +#: src/hdy-view-switcher-title.c:244 src/hdy-view-switcher-title.c:245 +msgid "Stack" +msgstr "Стос" + +#: src/hdy-view-switcher-bar.c:206 +msgid "Reveal" +msgstr "Показати" + +#: src/hdy-view-switcher-bar.c:207 +msgid "Whether the view switcher is revealed" +msgstr "Визначає, чи показано перемикач перегляду" + +#: src/hdy-view-switcher-button.c:203 +msgid "Icon Name" +msgstr "Назва значка" + +#: src/hdy-view-switcher-button.c:204 +msgid "Icon name for image" +msgstr "Назва піктограми для зображення" + +#: src/hdy-view-switcher-button.c:217 +msgid "Icon Size" +msgstr "Розмір піктограм" + +#: src/hdy-view-switcher-button.c:218 +msgid "Symbolic size to use for named icon" +msgstr "Символьний розмір, використовуваний для іменованої піктограми" + +#: src/hdy-view-switcher-button.c:234 +msgid "Needs attention" +msgstr "Потребує уваги" + +#: src/hdy-view-switcher-button.c:235 +msgid "Hint the view needs attention" +msgstr "Підказка про те, що перегляд потребує уваги" + +#: src/hdy-view-switcher.c:529 +msgid "Narrow ellipsize" +msgstr "Багатокрапка при звуженні" + +#: src/hdy-view-switcher.c:530 +msgid "" +"The preferred place to ellipsize the string, if the narrow mode label does " +"not have enough room to display the entire string" +msgstr "" +"Бажане місце для обривання рядка багатокрапкою, якщо мітка у вузькому режимі " +"не має достатньо місця для показу цілого рядка" + +#: src/hdy-view-switcher-title.c:286 +msgid "View switcher enabled" +msgstr "Увімкнено перемикач перегляду" + +#: src/hdy-view-switcher-title.c:287 +msgid "Whether the view switcher is enabled" +msgstr "Визначає, чи увімкнено перемикач перегляду" + +#: src/hdy-view-switcher-title.c:300 +msgid "Title visible" +msgstr "Заголовок видимий" + +#: src/hdy-view-switcher-title.c:301 +msgid "Whether the title label is visible" +msgstr "Визначає, чи видимою є мітка заголовка" + +#: src/hdy-window-handle-controller.c:259 +msgid "Move" +msgstr "Пересунути" + +#: src/hdy-window-handle-controller.c:267 +msgid "Resize" +msgstr "Змінити розмір" + +#: src/hdy-window-handle-controller.c:298 +msgid "Always on Top" +msgstr "Завжди зверху" + +#~ msgid "This property does not apply unless Show Indicators is set." +#~ msgstr "" +#~ "Цю властивість не буде застосовано, доки не встановлено «Показувати " +#~ "індикатори»." + +#~ msgid "Indicator style" +#~ msgstr "Стиль індикаторів" + +#~ msgid "Page indicator style" +#~ msgstr "Стиль індикаторів сторінки" + +#~ msgid "Indicator spacing" +#~ msgstr "Інтервал індикатора" + +#~ msgid "Spacing between content and indicators" +#~ msgstr "Інтервал між вмістом та індикаторами" + +#~ msgid "Center content" +#~ msgstr "Центрувати вміст" + +#~ msgid "Whether to center pages to compensate for indicators" +#~ msgstr "Визначає, чи слід центрувати сторінки для компенсації індикаторів" + +#~ msgid "The title for this row" +#~ msgstr "Заголовок цього рядка" + +#~ msgid "Only Digits" +#~ msgstr "Лише цифри" + +#~ msgid "" +#~ "Whether the keypad should show only digits or also extra buttons for #, *" +#~ msgstr "" +#~ "Визначає, слід показувати на цифровій панелі лише цифри чи додаткові " +#~ "кнопки #, *" + +#~ msgid "Entry widget" +#~ msgstr "Віджет введення" + +#~ msgid "Right action widget" +#~ msgstr "Віджет дії праворуч" + +#~ msgid "Left action widget" +#~ msgstr "Віджет дії ліворуч" diff --git a/subprojects/libhandy/run.in b/subprojects/libhandy/run.in new file mode 100755 index 00000000..629897b5 --- /dev/null +++ b/subprojects/libhandy/run.in @@ -0,0 +1,12 @@ +#!/bin/sh + +ABS_BUILDDIR='@ABS_BUILDDIR@' +ABS_SRCDIR='@ABS_SRCDIR@' + +export GLADE_CATALOG_SEARCH_PATH="${ABS_SRCDIR}/glade/:${GLADE_CATALOG_SEARCH_PATH}" +export GLADE_MODULE_SEARCH_PATH="${ABS_BUILDDIR}/glade:${GLADE_MODULE_SEARCH_PATH}" +export GI_TYPELIB_PATH="${ABS_BUILDDIR}/src:$GI_TYPELIB_PATH" +export LD_LIBRARY_PATH="${ABS_BUILDDIR}/src:${ABS_BUILDDIR}/glade:$LD_LIBRARY_PATH" +export PKG_CONFIG_PATH="${ABS_BUILDDIR}/src:$PKG_CONFIG_PATH" + +exec "$@" diff --git a/subprojects/libhandy/src/gen-public-types.sh b/subprojects/libhandy/src/gen-public-types.sh new file mode 100644 index 00000000..036c336c --- /dev/null +++ b/subprojects/libhandy/src/gen-public-types.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +echo '/* This file was generated by gen-plublic-types.sh, do not edit it. */ +' + +for var in "$@" +do + echo "#include \"$var\"" +done + +echo '#include "hdy-main-private.h" + +void +hdy_init_public_types (void) +{' + +sed -ne 's/^#define \{1,\}\(HDY_TYPE_[A-Z0-9_]\{1,\}\) \{1,\}.*/ g_type_ensure (\1);/p' "$@" | sort + +echo '} +' diff --git a/subprojects/libhandy/src/gtk-window-private.h b/subprojects/libhandy/src/gtk-window-private.h new file mode 100644 index 00000000..e2f183e0 --- /dev/null +++ b/subprojects/libhandy/src/gtk-window-private.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#include + +G_BEGIN_DECLS + +void hdy_gtk_window_toggle_maximized (GtkWindow *window); +GdkPixbuf *hdy_gtk_window_get_icon_for_size (GtkWindow *window, + gint size); +GdkWindowState hdy_gtk_window_get_state (GtkWindow *window); + +G_END_DECLS diff --git a/subprojects/libhandy/src/gtk-window.c b/subprojects/libhandy/src/gtk-window.c new file mode 100644 index 00000000..154acdbe --- /dev/null +++ b/subprojects/libhandy/src/gtk-window.c @@ -0,0 +1,169 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see . + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +/* Bits taken from GTK 3.24 and tweaked to be used by libhandy. */ + +#include "gtk-window-private.h" + +typedef struct +{ + GList *icon_list; + gchar *icon_name; + guint realized : 1; + guint using_default_icon : 1; + guint using_parent_icon : 1; + guint using_themed_icon : 1; +} GtkWindowIconInfo; + +static GQuark quark_gtk_window_icon_info = 0; + +static void +ensure_quarks (void) +{ + if (!quark_gtk_window_icon_info) + quark_gtk_window_icon_info = g_quark_from_static_string ("gtk-window-icon-info"); +} + +void +hdy_gtk_window_toggle_maximized (GtkWindow *window) +{ + if (gtk_window_is_maximized (window)) + gtk_window_unmaximize (window); + else + gtk_window_maximize (window); +} + +static GtkWindowIconInfo* +get_icon_info (GtkWindow *window) +{ + ensure_quarks (); + + return g_object_get_qdata (G_OBJECT (window), quark_gtk_window_icon_info); +} + +static void +free_icon_info (GtkWindowIconInfo *info) +{ + g_free (info->icon_name); + g_slice_free (GtkWindowIconInfo, info); +} + +static GtkWindowIconInfo* +ensure_icon_info (GtkWindow *window) +{ + GtkWindowIconInfo *info; + + ensure_quarks (); + + info = get_icon_info (window); + + if (info == NULL) + { + info = g_slice_new0 (GtkWindowIconInfo); + g_object_set_qdata_full (G_OBJECT (window), + quark_gtk_window_icon_info, + info, + (GDestroyNotify)free_icon_info); + } + + return info; +} + +static GdkPixbuf * +icon_from_list (GList *list, + gint size) +{ + GdkPixbuf *best; + GdkPixbuf *pixbuf; + GList *l; + + best = NULL; + for (l = list; l; l = l->next) + { + pixbuf = list->data; + if (gdk_pixbuf_get_width (pixbuf) <= size && + gdk_pixbuf_get_height (pixbuf) <= size) + { + best = g_object_ref (pixbuf); + break; + } + } + + if (best == NULL) + best = gdk_pixbuf_scale_simple (GDK_PIXBUF (list->data), size, size, GDK_INTERP_BILINEAR); + + return best; +} + +static GdkPixbuf * +icon_from_name (const gchar *name, + gint size) +{ + return gtk_icon_theme_load_icon (gtk_icon_theme_get_default (), + name, size, + GTK_ICON_LOOKUP_FORCE_SIZE, NULL); +} + +GdkPixbuf * +hdy_gtk_window_get_icon_for_size (GtkWindow *window, + gint size) +{ + GtkWindowIconInfo *info; + const gchar *name; + g_autoptr (GList) default_icon_list = gtk_window_get_default_icon_list (); + + info = ensure_icon_info (window); + + if (info->icon_list != NULL) + return icon_from_list (info->icon_list, size); + + name = gtk_window_get_icon_name (window); + if (name != NULL) + return icon_from_name (name, size); + + if (gtk_window_get_transient_for (window) != NULL) + { + info = ensure_icon_info (gtk_window_get_transient_for (window)); + if (info->icon_list) + return icon_from_list (info->icon_list, size); + } + + if (default_icon_list != NULL) + return icon_from_list (default_icon_list, size); + + if (gtk_window_get_default_icon_name () != NULL) + return icon_from_name (gtk_window_get_default_icon_name (), size); + + return NULL; +} + +GdkWindowState +hdy_gtk_window_get_state (GtkWindow *window) +{ + GdkWindow *gdk_window = gtk_widget_get_window (GTK_WIDGET (window)); + + return gdk_window ? gdk_window_get_state (gdk_window) : 0; +} diff --git a/subprojects/libhandy/src/gtkprogresstracker.c b/subprojects/libhandy/src/gtkprogresstracker.c new file mode 100644 index 00000000..72d20130 --- /dev/null +++ b/subprojects/libhandy/src/gtkprogresstracker.c @@ -0,0 +1,248 @@ +/* + * Copyright © 2016 Endless Mobile Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see . + * + * Authors: Matthew Watson + */ + +#include "gtkprogresstrackerprivate.h" +/* #include "gtkprivate.h" */ +/* #include "gtkcsseasevalueprivate.h" */ + +#include +#include + +#include "hdy-animation-private.h" + +/* + * Progress tracker is small helper for tracking progress through gtk + * animations. It's a simple zero-initable struct, meant to be thrown in a + * widget's private data without the need for setup or teardown. + * + * Progress tracker will handle translating frame clock timestamps to a + * fractional progress value for interpolating between animation targets. + * + * Progress tracker will use the GTK_SLOWDOWN environment variable to control + * the speed of animations. This can be useful for debugging. + */ + +static gdouble gtk_slowdown = 1.0; + +/** + * gtk_progress_tracker_init_copy: + * @source: The source progress tracker + * @dest: The destination progress tracker + * + * Copy all progress tracker state from the source tracker to dest tracker. + **/ +void +gtk_progress_tracker_init_copy (GtkProgressTracker *source, + GtkProgressTracker *dest) +{ + memcpy (dest, source, sizeof (GtkProgressTracker)); +} + +/** + * gtk_progress_tracker_start: + * @tracker: The progress tracker + * @duration: Animation duration in us + * @delay: Animation delay in us + * @iteration_count: Number of iterations to run the animation, must be >= 0 + * + * Begins tracking progress for a new animation. Clears all previous state. + **/ +void +gtk_progress_tracker_start (GtkProgressTracker *tracker, + guint64 duration, + gint64 delay, + gdouble iteration_count) +{ + tracker->is_running = TRUE; + tracker->last_frame_time = 0; + tracker->duration = duration; + tracker->iteration = - delay / (gdouble) duration; + tracker->iteration_count = iteration_count; +} + +/** + * gtk_progress_tracker_finish: + * @tracker: The progress tracker + * + * Stops running the current animation. + **/ +void +gtk_progress_tracker_finish (GtkProgressTracker *tracker) +{ + tracker->is_running = FALSE; +} + +/** + * gtk_progress_tracker_advance_frame: + * @tracker: The progress tracker + * @frame_time: The current frame time, usually from the frame clock. + * + * Increments the progress of the animation forward a frame. If no animation has + * been started, does nothing. + **/ +void +gtk_progress_tracker_advance_frame (GtkProgressTracker *tracker, + guint64 frame_time) +{ + gdouble delta; + + if (!tracker->is_running) + return; + + if (tracker->last_frame_time == 0) + { + tracker->last_frame_time = frame_time; + return; + } + + if (frame_time < tracker->last_frame_time) + { + g_warning ("Progress tracker frame set backwards, ignoring."); + return; + } + + delta = (frame_time - tracker->last_frame_time) / gtk_slowdown / tracker->duration; + tracker->last_frame_time = frame_time; + tracker->iteration += delta; +} + +/** + * gtk_progress_tracker_skip_frame: + * @tracker: The progress tracker + * @frame_time: The current frame time, usually from the frame clock. + * + * Does not update the progress of the animation forward, but records the frame + * to calculate future deltas. Calling this each frame will effectively pause + * the animation. + **/ +void +gtk_progress_tracker_skip_frame (GtkProgressTracker *tracker, + guint64 frame_time) +{ + if (!tracker->is_running) + return; + + tracker->last_frame_time = frame_time; +} + +/** + * gtk_progress_tracker_get_state: + * @tracker: The progress tracker + * + * Returns whether the tracker is before, during or after the currently started + * animation. The tracker will only ever be in the before state if the animation + * was started with a delay. If no animation has been started, returns + * %GTK_PROGRESS_STATE_AFTER. + * + * Returns: A GtkProgressState + **/ +GtkProgressState +gtk_progress_tracker_get_state (GtkProgressTracker *tracker) +{ + if (!tracker->is_running || tracker->iteration > tracker->iteration_count) + return GTK_PROGRESS_STATE_AFTER; + if (tracker->iteration < 0) + return GTK_PROGRESS_STATE_BEFORE; + return GTK_PROGRESS_STATE_DURING; +} + +/** + * gtk_progress_tracker_get_iteration: + * @tracker: The progress tracker + * + * Returns the fractional number of cycles the animation has completed. For + * example, it you started an animation with iteration-count of 2 and are half + * way through the second animation, this returns 1.5. + * + * Returns: The current iteration. + **/ +gdouble +gtk_progress_tracker_get_iteration (GtkProgressTracker *tracker) +{ + return tracker->is_running ? CLAMP (tracker->iteration, 0.0, tracker->iteration_count) : 1.0; +} + +/** + * gtk_progress_tracker_get_iteration_cycle: + * @tracker: The progress tracker + * + * Returns an integer index of the current iteration cycle tracker is + * progressing through. Handles edge cases, such as an iteration value of 2.0 + * which could be considered the end of the second iteration of the beginning of + * the third, in the same way as gtk_progress_tracker_get_progress(). + * + * Returns: The integer count of the current animation cycle. + **/ +guint64 +gtk_progress_tracker_get_iteration_cycle (GtkProgressTracker *tracker) +{ + gdouble iteration = gtk_progress_tracker_get_iteration (tracker); + + /* Some complexity here. We want an iteration of 0.0 to always map to 0 (start + * of the first iteration), but an iteration of 1.0 to also map to 0 (end of + * first iteration) and 2.0 to 1 (end of the second iteration). + */ + if (iteration == 0.0) + return 0; + + return (guint64) ceil (iteration) - 1; +} + +/** + * gtk_progress_tracker_get_progress: + * @tracker: The progress tracker + * @reversed: If progress should be reversed. + * + * Gets the progress through the current animation iteration, from [0, 1]. Use + * to interpolate between animation targets. If reverse is true each iteration + * will begin at 1 and end at 0. + * + * Returns: The progress value. + **/ +gdouble +gtk_progress_tracker_get_progress (GtkProgressTracker *tracker, + gboolean reversed) +{ + gdouble progress, iteration; + guint64 iteration_cycle; + + iteration = gtk_progress_tracker_get_iteration (tracker); + iteration_cycle = gtk_progress_tracker_get_iteration_cycle (tracker); + + progress = iteration - iteration_cycle; + return reversed ? 1.0 - progress : progress; +} + +/** + * gtk_progress_tracker_get_ease_out_cubic: + * @tracker: The progress tracker + * @reversed: If progress should be reversed before applying the ease function. + * + * Applies a simple ease out cubic function to the result of + * gtk_progress_tracker_get_progress(). + * + * Returns: The eased progress value. + **/ +gdouble +gtk_progress_tracker_get_ease_out_cubic (GtkProgressTracker *tracker, + gboolean reversed) +{ + gdouble progress = gtk_progress_tracker_get_progress (tracker, reversed); + return hdy_ease_out_cubic (progress); +} diff --git a/subprojects/libhandy/src/gtkprogresstrackerprivate.h b/subprojects/libhandy/src/gtkprogresstrackerprivate.h new file mode 100644 index 00000000..fcce6099 --- /dev/null +++ b/subprojects/libhandy/src/gtkprogresstrackerprivate.h @@ -0,0 +1,74 @@ +/* + * Copyright © 2016 Endless Mobile Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see . + * + * Authors: Matthew Watson + */ + +#ifndef __GTK_PROGRESS_TRACKER_PRIVATE_H__ +#define __GTK_PROGRESS_TRACKER_PRIVATE_H__ + +#include + +G_BEGIN_DECLS + +typedef enum { + GTK_PROGRESS_STATE_BEFORE, + GTK_PROGRESS_STATE_DURING, + GTK_PROGRESS_STATE_AFTER, +} GtkProgressState; + +typedef struct _GtkProgressTracker GtkProgressTracker; + +struct _GtkProgressTracker +{ + gboolean is_running; + guint64 last_frame_time; + guint64 duration; + gdouble iteration; + gdouble iteration_count; +}; + +void gtk_progress_tracker_init_copy (GtkProgressTracker *source, + GtkProgressTracker *dest); + +void gtk_progress_tracker_start (GtkProgressTracker *tracker, + guint64 duration, + gint64 delay, + gdouble iteration_count); + +void gtk_progress_tracker_finish (GtkProgressTracker *tracker); + +void gtk_progress_tracker_advance_frame (GtkProgressTracker *tracker, + guint64 frame_time); + +void gtk_progress_tracker_skip_frame (GtkProgressTracker *tracker, + guint64 frame_time); + +GtkProgressState gtk_progress_tracker_get_state (GtkProgressTracker *tracker); + +gdouble gtk_progress_tracker_get_iteration (GtkProgressTracker *tracker); + +guint64 gtk_progress_tracker_get_iteration_cycle (GtkProgressTracker *tracker); + +gdouble gtk_progress_tracker_get_progress (GtkProgressTracker *tracker, + gboolean reverse); + +gdouble gtk_progress_tracker_get_ease_out_cubic (GtkProgressTracker *tracker, + gboolean reverse); + +G_END_DECLS + +#endif /* __GTK_PROGRESS_TRACKER_PRIVATE_H__ */ diff --git a/subprojects/libhandy/src/handy.gresources.xml b/subprojects/libhandy/src/handy.gresources.xml new file mode 100644 index 00000000..b96444b5 --- /dev/null +++ b/subprojects/libhandy/src/handy.gresources.xml @@ -0,0 +1,28 @@ + + + + icons/avatar-default-symbolic.svg + icons/hdy-expander-arrow-symbolic.svg + themes/Adwaita.css + themes/Adwaita-dark.css + themes/fallback.css + themes/HighContrast.css + themes/HighContrastInverse.css + themes/shared.css + + + hdy-action-row.ui + hdy-carousel.ui + hdy-combo-row.ui + hdy-expander-row.ui + hdy-keypad.ui + hdy-keypad-button.ui + hdy-preferences-group.ui + hdy-preferences-page.ui + hdy-preferences-window.ui + hdy-search-bar.ui + hdy-view-switcher-bar.ui + hdy-view-switcher-button.ui + hdy-view-switcher-title.ui + + diff --git a/subprojects/libhandy/src/handy.h b/subprojects/libhandy/src/handy.h new file mode 100644 index 00000000..1ea48a7e --- /dev/null +++ b/subprojects/libhandy/src/handy.h @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2017 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#include + +G_BEGIN_DECLS + +#if !GTK_CHECK_VERSION(3, 22, 0) +# error "libhandy requires gtk+-3.0 >= 3.22.0" +#endif + +#if !GLIB_CHECK_VERSION(2, 50, 0) +# error "libhandy requires glib-2.0 >= 2.50.0" +#endif + +#define _HANDY_INSIDE + +#include "hdy-version.h" +#include "hdy-action-row.h" +#include "hdy-animation.h" +#include "hdy-application-window.h" +#include "hdy-avatar.h" +#include "hdy-carousel.h" +#include "hdy-carousel-indicator-dots.h" +#include "hdy-carousel-indicator-lines.h" +#include "hdy-clamp.h" +#include "hdy-combo-row.h" +#include "hdy-deck.h" +#include "hdy-deprecation-macros.h" +#include "hdy-enum-value-object.h" +#include "hdy-expander-row.h" +#include "hdy-header-bar.h" +#include "hdy-header-group.h" +#include "hdy-keypad.h" +#include "hdy-leaflet.h" +#include "hdy-main.h" +#include "hdy-navigation-direction.h" +#include "hdy-preferences-group.h" +#include "hdy-preferences-page.h" +#include "hdy-preferences-row.h" +#include "hdy-preferences-window.h" +#include "hdy-search-bar.h" +#include "hdy-squeezer.h" +#include "hdy-swipe-group.h" +#include "hdy-swipe-tracker.h" +#include "hdy-swipeable.h" +#include "hdy-title-bar.h" +#include "hdy-types.h" +#include "hdy-value-object.h" +#include "hdy-view-switcher.h" +#include "hdy-view-switcher-bar.h" +#include "hdy-view-switcher-title.h" +#include "hdy-window.h" +#include "hdy-window-handle.h" + +#undef _HANDY_INSIDE + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-action-row.c b/subprojects/libhandy/src/hdy-action-row.c new file mode 100644 index 00000000..95108aea --- /dev/null +++ b/subprojects/libhandy/src/hdy-action-row.c @@ -0,0 +1,774 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include "hdy-action-row.h" + +#include + +/** + * SECTION:hdy-action-row + * @short_description: A #GtkListBox row used to present actions. + * @Title: HdyActionRow + * + * The #HdyActionRow widget can have a title, a subtitle and an icon. The row + * can receive additional widgets at its end, or prefix widgets at its start. + * + * It is convenient to present a preference and its related actions. + * + * #HdyActionRow is unactivatable by default, giving it an activatable widget + * will automatically make it activatable, but unsetting it won't change the + * row's activatability. + * + * # HdyActionRow as GtkBuildable + * + * The GtkWindow implementation of the GtkBuildable interface supports setting a + * child at its end by omitting the “type” attribute of a <child> element. + * + * It also supports setting a child as a prefix widget by specifying “prefix” as + * the “type” attribute of a <child> element. + * + * # CSS nodes + * + * #HdyActionRow has a main CSS node with name row. + * + * It contains the subnode box.header for its main horizontal box, and box.title + * for the vertical box containing the title and subtitle labels. + * + * It contains subnodes label.title and label.subtitle representing respectively + * the title label and subtitle label. + * + * Since: 0.0.6 + */ + +typedef struct +{ + GtkBox *header; + GtkImage *image; + GtkBox *prefixes; + GtkLabel *subtitle; + GtkBox *suffixes; + GtkLabel *title; + GtkBox *title_box; + + GtkWidget *previous_parent; + + gboolean use_underline; + GtkWidget *activatable_widget; +} HdyActionRowPrivate; + +static void hdy_action_row_buildable_init (GtkBuildableIface *iface); + +G_DEFINE_TYPE_WITH_CODE (HdyActionRow, hdy_action_row, HDY_TYPE_PREFERENCES_ROW, + G_ADD_PRIVATE (HdyActionRow) + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + hdy_action_row_buildable_init)) + +static GtkBuildableIface *parent_buildable_iface; + +enum { + PROP_0, + PROP_ICON_NAME, + PROP_ACTIVATABLE_WIDGET, + PROP_SUBTITLE, + PROP_USE_UNDERLINE, + LAST_PROP, +}; + +static GParamSpec *props[LAST_PROP]; + +enum { + SIGNAL_ACTIVATED, + SIGNAL_LAST_SIGNAL, +}; + +static guint signals[SIGNAL_LAST_SIGNAL]; + +static void +row_activated_cb (HdyActionRow *self, + GtkListBoxRow *row) +{ + /* No need to use GTK_LIST_BOX_ROW() for a pointer comparison. */ + if ((GtkListBoxRow *) self == row) + hdy_action_row_activate (self); +} + +static void +parent_cb (HdyActionRow *self) +{ + HdyActionRowPrivate *priv = hdy_action_row_get_instance_private (self); + GtkWidget *parent = gtk_widget_get_parent (GTK_WIDGET (self)); + + if (priv->previous_parent != NULL) { + g_signal_handlers_disconnect_by_func (priv->previous_parent, G_CALLBACK (row_activated_cb), self); + priv->previous_parent = NULL; + } + + if (parent == NULL || !GTK_IS_LIST_BOX (parent)) + return; + + priv->previous_parent = parent; + g_signal_connect_swapped (parent, "row-activated", G_CALLBACK (row_activated_cb), self); +} + +static void +update_subtitle_visibility (HdyActionRow *self) +{ + HdyActionRowPrivate *priv = hdy_action_row_get_instance_private (self); + + gtk_widget_set_visible (GTK_WIDGET (priv->subtitle), + gtk_label_get_text (priv->subtitle) != NULL && + g_strcmp0 (gtk_label_get_text (priv->subtitle), "") != 0); +} + +static void +hdy_action_row_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyActionRow *self = HDY_ACTION_ROW (object); + + switch (prop_id) { + case PROP_ICON_NAME: + g_value_set_string (value, hdy_action_row_get_icon_name (self)); + break; + case PROP_ACTIVATABLE_WIDGET: + g_value_set_object (value, (GObject *) hdy_action_row_get_activatable_widget (self)); + break; + case PROP_SUBTITLE: + g_value_set_string (value, hdy_action_row_get_subtitle (self)); + break; + case PROP_USE_UNDERLINE: + g_value_set_boolean (value, hdy_action_row_get_use_underline (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_action_row_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyActionRow *self = HDY_ACTION_ROW (object); + + switch (prop_id) { + case PROP_ICON_NAME: + hdy_action_row_set_icon_name (self, g_value_get_string (value)); + break; + case PROP_ACTIVATABLE_WIDGET: + hdy_action_row_set_activatable_widget (self, (GtkWidget*) g_value_get_object (value)); + break; + case PROP_SUBTITLE: + hdy_action_row_set_subtitle (self, g_value_get_string (value)); + break; + case PROP_USE_UNDERLINE: + hdy_action_row_set_use_underline (self, g_value_get_boolean (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_action_row_dispose (GObject *object) +{ + HdyActionRow *self = HDY_ACTION_ROW (object); + HdyActionRowPrivate *priv = hdy_action_row_get_instance_private (self); + + if (priv->previous_parent != NULL) { + g_signal_handlers_disconnect_by_func (priv->previous_parent, G_CALLBACK (row_activated_cb), self); + priv->previous_parent = NULL; + } + + G_OBJECT_CLASS (hdy_action_row_parent_class)->dispose (object); +} + +static void +hdy_action_row_show_all (GtkWidget *widget) +{ + HdyActionRow *self = HDY_ACTION_ROW (widget); + HdyActionRowPrivate *priv; + + g_return_if_fail (HDY_IS_ACTION_ROW (self)); + + priv = hdy_action_row_get_instance_private (self); + + gtk_container_foreach (GTK_CONTAINER (priv->prefixes), + (GtkCallback) gtk_widget_show_all, + NULL); + + gtk_container_foreach (GTK_CONTAINER (priv->suffixes), + (GtkCallback) gtk_widget_show_all, + NULL); + + GTK_WIDGET_CLASS (hdy_action_row_parent_class)->show_all (widget); +} + +static void +hdy_action_row_destroy (GtkWidget *widget) +{ + HdyActionRow *self = HDY_ACTION_ROW (widget); + HdyActionRowPrivate *priv = hdy_action_row_get_instance_private (self); + + if (priv->header) { + gtk_widget_destroy (GTK_WIDGET (priv->header)); + priv->header = NULL; + } + + hdy_action_row_set_activatable_widget (self, NULL); + + priv->prefixes = NULL; + priv->suffixes = NULL; + + GTK_WIDGET_CLASS (hdy_action_row_parent_class)->destroy (widget); +} + +static void +hdy_action_row_add (GtkContainer *container, + GtkWidget *child) +{ + HdyActionRow *self = HDY_ACTION_ROW (container); + HdyActionRowPrivate *priv = hdy_action_row_get_instance_private (self); + + /* When constructing the widget, we want the box to be added as the child of + * the GtkListBoxRow, as an implementation detail. + */ + if (priv->header == NULL) + GTK_CONTAINER_CLASS (hdy_action_row_parent_class)->add (container, child); + else { + gtk_container_add (GTK_CONTAINER (priv->suffixes), child); + gtk_widget_show (GTK_WIDGET (priv->suffixes)); + } +} + +static void +hdy_action_row_remove (GtkContainer *container, + GtkWidget *child) +{ + HdyActionRow *self = HDY_ACTION_ROW (container); + HdyActionRowPrivate *priv = hdy_action_row_get_instance_private (self); + + if (child == GTK_WIDGET (priv->header)) + GTK_CONTAINER_CLASS (hdy_action_row_parent_class)->remove (container, child); + else if (gtk_widget_get_parent (child) == GTK_WIDGET (priv->prefixes)) + gtk_container_remove (GTK_CONTAINER (priv->prefixes), child); + else + gtk_container_remove (GTK_CONTAINER (priv->suffixes), child); +} + +typedef struct { + HdyActionRow *row; + GtkCallback callback; + gpointer callback_data; +} ForallData; + +static void +for_non_internal_child (GtkWidget *widget, + gpointer callback_data) +{ + ForallData *data = callback_data; + HdyActionRowPrivate *priv = hdy_action_row_get_instance_private (data->row); + + if (widget != (GtkWidget *) priv->image && + widget != (GtkWidget *) priv->prefixes && + widget != (GtkWidget *) priv->suffixes && + widget != (GtkWidget *) priv->title_box) + data->callback (widget, data->callback_data); +} + +static void +hdy_action_row_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + HdyActionRow *self = HDY_ACTION_ROW (container); + HdyActionRowPrivate *priv = hdy_action_row_get_instance_private (self); + ForallData data; + + if (include_internals) { + GTK_CONTAINER_CLASS (hdy_action_row_parent_class)->forall (GTK_CONTAINER (self), include_internals, callback, callback_data); + + return; + } + + data.row = self; + data.callback = callback; + data.callback_data = callback_data; + + if (priv->prefixes) + GTK_CONTAINER_GET_CLASS (priv->prefixes)->forall (GTK_CONTAINER (priv->prefixes), include_internals, for_non_internal_child, &data); + if (priv->suffixes) + GTK_CONTAINER_GET_CLASS (priv->suffixes)->forall (GTK_CONTAINER (priv->suffixes), include_internals, for_non_internal_child, &data); + if (priv->header) + GTK_CONTAINER_GET_CLASS (priv->header)->forall (GTK_CONTAINER (priv->header), include_internals, for_non_internal_child, &data); +} + +static void +hdy_action_row_activate_real (HdyActionRow *self) +{ + HdyActionRowPrivate *priv = hdy_action_row_get_instance_private (self); + + if (priv->activatable_widget) + gtk_widget_mnemonic_activate (priv->activatable_widget, FALSE); + + g_signal_emit (self, signals[SIGNAL_ACTIVATED], 0); +} + +static void +hdy_action_row_class_init (HdyActionRowClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); + + object_class->get_property = hdy_action_row_get_property; + object_class->set_property = hdy_action_row_set_property; + object_class->dispose = hdy_action_row_dispose; + + widget_class->destroy = hdy_action_row_destroy; + widget_class->show_all = hdy_action_row_show_all; + + container_class->add = hdy_action_row_add; + container_class->remove = hdy_action_row_remove; + container_class->forall = hdy_action_row_forall; + + klass->activate = hdy_action_row_activate_real; + + /** + * HdyActionRow:icon-name: + * + * The icon name for this row. + * + * Since: 0.0.6 + */ + props[PROP_ICON_NAME] = + g_param_spec_string ("icon-name", + _("Icon name"), + _("Icon name"), + "", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyActionRow:activatable-widget: + * + * The activatable widget for this row. + * + * Since: 0.0.7 + */ + props[PROP_ACTIVATABLE_WIDGET] = + g_param_spec_object ("activatable-widget", + _("Activatable widget"), + _("The widget to be activated when the row is activated"), + GTK_TYPE_WIDGET, + G_PARAM_READWRITE); + + /** + * HdyActionRow:subtitle: + * + * The subtitle for this row. + * + * Since: 0.0.6 + */ + props[PROP_SUBTITLE] = + g_param_spec_string ("subtitle", + _("Subtitle"), + _("Subtitle"), + "", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyActionRow:use-underline: + * + * Whether an embedded underline in the text of the title and subtitle labels + * indicates a mnemonic. + * + * Since: 0.0.6 + */ + props[PROP_USE_UNDERLINE] = + g_param_spec_boolean ("use-underline", + _("Use underline"), + _("If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + /** + * HdyActionRow::activated: + * @self: The #HdyActionRow instance + * + * This signal is emitted after the row has been activated. + * + * Since: 1.0 + */ + signals[SIGNAL_ACTIVATED] = + g_signal_new ("activated", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, NULL, + G_TYPE_NONE, + 0); + + gtk_widget_class_set_template_from_resource (widget_class, + "/sm/puri/handy/ui/hdy-action-row.ui"); + gtk_widget_class_bind_template_child_private (widget_class, HdyActionRow, header); + gtk_widget_class_bind_template_child_private (widget_class, HdyActionRow, image); + gtk_widget_class_bind_template_child_private (widget_class, HdyActionRow, prefixes); + gtk_widget_class_bind_template_child_private (widget_class, HdyActionRow, subtitle); + gtk_widget_class_bind_template_child_private (widget_class, HdyActionRow, suffixes); + gtk_widget_class_bind_template_child_private (widget_class, HdyActionRow, title); + gtk_widget_class_bind_template_child_private (widget_class, HdyActionRow, title_box); +} + +static gboolean +string_is_not_empty (GBinding *binding, + const GValue *from_value, + GValue *to_value, + gpointer user_data) +{ + const gchar *string = g_value_get_string (from_value); + + g_value_set_boolean (to_value, string != NULL && g_strcmp0 (string, "") != 0); + + return TRUE; +} + +static void +hdy_action_row_init (HdyActionRow *self) +{ + HdyActionRowPrivate *priv = hdy_action_row_get_instance_private (self); + + gtk_widget_init_template (GTK_WIDGET (self)); + + g_object_bind_property_full (self, "title", priv->title, "visible", G_BINDING_SYNC_CREATE, + string_is_not_empty, NULL, NULL, NULL); + + update_subtitle_visibility (self); + + g_signal_connect (self, "notify::parent", G_CALLBACK (parent_cb), NULL); + +} + +static void +hdy_action_row_buildable_add_child (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *type) +{ + HdyActionRow *self = HDY_ACTION_ROW (buildable); + HdyActionRowPrivate *priv = hdy_action_row_get_instance_private (self); + + if (priv->header == NULL || !type) + gtk_container_add (GTK_CONTAINER (self), GTK_WIDGET (child)); + else if (type && strcmp (type, "prefix") == 0) + hdy_action_row_add_prefix (self, GTK_WIDGET (child)); + else + GTK_BUILDER_WARN_INVALID_CHILD_TYPE (self, type); +} + +static void +hdy_action_row_buildable_init (GtkBuildableIface *iface) +{ + parent_buildable_iface = g_type_interface_peek_parent (iface); + iface->add_child = hdy_action_row_buildable_add_child; +} + +/** + * hdy_action_row_new: + * + * Creates a new #HdyActionRow. + * + * Returns: a new #HdyActionRow + * + * Since: 0.0.6 + */ +GtkWidget * +hdy_action_row_new (void) +{ + return g_object_new (HDY_TYPE_ACTION_ROW, NULL); +} + +/** + * hdy_action_row_get_subtitle: + * @self: a #HdyActionRow + * + * Gets the subtitle for @self. + * + * Returns: (transfer none) (nullable): the subtitle for @self, or %NULL. + * + * Since: 0.0.6 + */ +const gchar * +hdy_action_row_get_subtitle (HdyActionRow *self) +{ + HdyActionRowPrivate *priv; + + g_return_val_if_fail (HDY_IS_ACTION_ROW (self), NULL); + + priv = hdy_action_row_get_instance_private (self); + + return gtk_label_get_text (priv->subtitle); +} + +/** + * hdy_action_row_set_subtitle: + * @self: a #HdyActionRow + * @subtitle: (nullable): the subtitle + * + * Sets the subtitle for @self. + * + * Since: 0.0.6 + */ +void +hdy_action_row_set_subtitle (HdyActionRow *self, + const gchar *subtitle) +{ + HdyActionRowPrivate *priv; + + g_return_if_fail (HDY_IS_ACTION_ROW (self)); + + priv = hdy_action_row_get_instance_private (self); + + if (g_strcmp0 (gtk_label_get_text (priv->subtitle), subtitle) == 0) + return; + + gtk_label_set_text (priv->subtitle, subtitle); + gtk_widget_set_visible (GTK_WIDGET (priv->subtitle), + subtitle != NULL && g_strcmp0 (subtitle, "") != 0); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SUBTITLE]); +} + +/** + * hdy_action_row_get_icon_name: + * @self: a #HdyActionRow + * + * Gets the icon name for @self. + * + * Returns: the icon name for @self. + * + * Since: 0.0.6 + */ +const gchar * +hdy_action_row_get_icon_name (HdyActionRow *self) +{ + HdyActionRowPrivate *priv; + const gchar *icon_name; + + g_return_val_if_fail (HDY_IS_ACTION_ROW (self), NULL); + + priv = hdy_action_row_get_instance_private (self); + + gtk_image_get_icon_name (priv->image, &icon_name, NULL); + + return icon_name; +} + +/** + * hdy_action_row_set_icon_name: + * @self: a #HdyActionRow + * @icon_name: the icon name + * + * Sets the icon name for @self. + * + * Since: 0.0.6 + */ +void +hdy_action_row_set_icon_name (HdyActionRow *self, + const gchar *icon_name) +{ + HdyActionRowPrivate *priv; + const gchar *old_icon_name; + + g_return_if_fail (HDY_IS_ACTION_ROW (self)); + + priv = hdy_action_row_get_instance_private (self); + + gtk_image_get_icon_name (priv->image, &old_icon_name, NULL); + if (g_strcmp0 (old_icon_name, icon_name) == 0) + return; + + gtk_image_set_from_icon_name (priv->image, icon_name, GTK_ICON_SIZE_INVALID); + gtk_widget_set_visible (GTK_WIDGET (priv->image), + icon_name != NULL && g_strcmp0 (icon_name, "") != 0); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ICON_NAME]); +} + +/** + * hdy_action_row_get_activatable_widget: + * @self: a #HdyActionRow + * + * Gets the widget activated when @self is activated. + * + * Returns: (nullable) (transfer none): the widget activated when @self is + * activated, or %NULL if none has been set. + * + * Since: 0.0.7 + */ +GtkWidget * +hdy_action_row_get_activatable_widget (HdyActionRow *self) +{ + HdyActionRowPrivate *priv; + + g_return_val_if_fail (HDY_IS_ACTION_ROW (self), NULL); + + priv = hdy_action_row_get_instance_private (self); + + return priv->activatable_widget; +} + +static void +activatable_widget_weak_notify (gpointer data, + GObject *where_the_object_was) +{ + HdyActionRow *self = HDY_ACTION_ROW (data); + HdyActionRowPrivate *priv = hdy_action_row_get_instance_private (self); + + priv->activatable_widget = NULL; + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ACTIVATABLE_WIDGET]); +} + +/** + * hdy_action_row_set_activatable_widget: + * @self: a #HdyActionRow + * @widget: (nullable): the target #GtkWidget, or %NULL to unset + * + * Sets the widget to activate when @self is activated, either by clicking + * on it, by calling hdy_action_row_activate(), or via mnemonics in the title or + * the subtitle. See the “use_underline” property to enable mnemonics. + * + * The target widget will be activated by emitting the + * GtkWidget::mnemonic-activate signal on it. + * + * Since: 0.0.7 + */ +void +hdy_action_row_set_activatable_widget (HdyActionRow *self, + GtkWidget *widget) +{ + HdyActionRowPrivate *priv; + + g_return_if_fail (HDY_IS_ACTION_ROW (self)); + g_return_if_fail (widget == NULL || GTK_IS_WIDGET (widget)); + + priv = hdy_action_row_get_instance_private (self); + + if (priv->activatable_widget == widget) + return; + + if (priv->activatable_widget) + g_object_weak_unref (G_OBJECT (priv->activatable_widget), + activatable_widget_weak_notify, + self); + + priv->activatable_widget = widget; + + if (priv->activatable_widget != NULL) { + g_object_weak_ref (G_OBJECT (priv->activatable_widget), + activatable_widget_weak_notify, + self); + gtk_list_box_row_set_activatable (GTK_LIST_BOX_ROW (self), TRUE); + } + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ACTIVATABLE_WIDGET]); +} + +/** + * hdy_action_row_get_use_underline: + * @self: a #HdyActionRow + * + * Gets whether an embedded underline in the text of the title and subtitle + * labels indicates a mnemonic. See hdy_action_row_set_use_underline(). + * + * Returns: %TRUE if an embedded underline in the title and subtitle labels + * indicates the mnemonic accelerator keys. + * + * Since: 0.0.6 + */ +gboolean +hdy_action_row_get_use_underline (HdyActionRow *self) +{ + HdyActionRowPrivate *priv; + + g_return_val_if_fail (HDY_IS_ACTION_ROW (self), FALSE); + + priv = hdy_action_row_get_instance_private (self); + + return priv->use_underline; +} + +/** + * hdy_action_row_set_use_underline: + * @self: a #HdyActionRow + * @use_underline: %TRUE if underlines in the text indicate mnemonics + * + * If true, an underline in the text of the title and subtitle labels indicates + * the next character should be used for the mnemonic accelerator key. + * + * Since: 0.0.6 + */ +void +hdy_action_row_set_use_underline (HdyActionRow *self, + gboolean use_underline) +{ + HdyActionRowPrivate *priv; + + g_return_if_fail (HDY_IS_ACTION_ROW (self)); + + priv = hdy_action_row_get_instance_private (self); + + if (priv->use_underline == !!use_underline) + return; + + priv->use_underline = !!use_underline; + hdy_preferences_row_set_use_underline (HDY_PREFERENCES_ROW (self), priv->use_underline); + gtk_label_set_use_underline (priv->title, priv->use_underline); + gtk_label_set_use_underline (priv->subtitle, priv->use_underline); + gtk_label_set_mnemonic_widget (priv->title, GTK_WIDGET (self)); + gtk_label_set_mnemonic_widget (priv->subtitle, GTK_WIDGET (self)); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_USE_UNDERLINE]); +} + +/** + * hdy_action_row_add_prefix: + * @self: a #HdyActionRow + * @widget: the prefix widget + * + * Adds a prefix widget to @self. + * + * Since: 0.0.6 + */ +void +hdy_action_row_add_prefix (HdyActionRow *self, + GtkWidget *widget) +{ + HdyActionRowPrivate *priv; + + g_return_if_fail (HDY_IS_ACTION_ROW (self)); + g_return_if_fail (GTK_IS_WIDGET (self)); + + priv = hdy_action_row_get_instance_private (self); + + gtk_box_pack_start (priv->prefixes, widget, FALSE, TRUE, 0); + gtk_widget_show (GTK_WIDGET (priv->prefixes)); +} + +void +hdy_action_row_activate (HdyActionRow *self) +{ + g_return_if_fail (HDY_IS_ACTION_ROW (self)); + + HDY_ACTION_ROW_GET_CLASS (self)->activate (self); +} diff --git a/subprojects/libhandy/src/hdy-action-row.h b/subprojects/libhandy/src/hdy-action-row.h new file mode 100644 index 00000000..7b5dd53e --- /dev/null +++ b/subprojects/libhandy/src/hdy-action-row.h @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include "hdy-preferences-row.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_ACTION_ROW (hdy_action_row_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (HdyActionRow, hdy_action_row, HDY, ACTION_ROW, HdyPreferencesRow) + +/** + * HdyActionRowClass + * @parent_class: The parent class + * @activate: Activates the row to trigger its main action. + */ +struct _HdyActionRowClass +{ + GtkListBoxRowClass parent_class; + + void (*activate) (HdyActionRow *self); + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_action_row_new (void); + +HDY_AVAILABLE_IN_ALL +const gchar *hdy_action_row_get_subtitle (HdyActionRow *self); +HDY_AVAILABLE_IN_ALL +void hdy_action_row_set_subtitle (HdyActionRow *self, + const gchar *subtitle); + +HDY_AVAILABLE_IN_ALL +const gchar *hdy_action_row_get_icon_name (HdyActionRow *self); +HDY_AVAILABLE_IN_ALL +void hdy_action_row_set_icon_name (HdyActionRow *self, + const gchar *icon_name); + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_action_row_get_activatable_widget (HdyActionRow *self); +HDY_AVAILABLE_IN_ALL +void hdy_action_row_set_activatable_widget (HdyActionRow *self, + GtkWidget *widget); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_action_row_get_use_underline (HdyActionRow *self); +HDY_AVAILABLE_IN_ALL +void hdy_action_row_set_use_underline (HdyActionRow *self, + gboolean use_underline); + +HDY_AVAILABLE_IN_ALL +void hdy_action_row_add_prefix (HdyActionRow *self, + GtkWidget *widget); + +HDY_AVAILABLE_IN_ALL +void hdy_action_row_activate (HdyActionRow *self); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-action-row.ui b/subprojects/libhandy/src/hdy-action-row.ui new file mode 100644 index 00000000..ff54c152 --- /dev/null +++ b/subprojects/libhandy/src/hdy-action-row.ui @@ -0,0 +1,82 @@ + + + + diff --git a/subprojects/libhandy/src/hdy-animation-private.h b/subprojects/libhandy/src/hdy-animation-private.h new file mode 100644 index 00000000..f31002ad --- /dev/null +++ b/subprojects/libhandy/src/hdy-animation-private.h @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-animation.h" + +G_BEGIN_DECLS + +gdouble hdy_lerp (gdouble a, gdouble b, gdouble t); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-animation.c b/subprojects/libhandy/src/hdy-animation.c new file mode 100644 index 00000000..ce5bf64f --- /dev/null +++ b/subprojects/libhandy/src/hdy-animation.c @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" + +#include "hdy-animation-private.h" + +/** + * SECTION:hdy-animation + * @short_description: Animation helpers + * @title: Animation Helpers + * + * Animation helpers. + * + * Since: 0.0.11 + */ + +/** + * hdy_get_enable_animations: + * @widget: a #GtkWidget + * + * Returns whether animations are enabled for that widget. This should be used + * when implementing an animated widget to know whether to animate it or not. + * + * Returns: %TRUE if animations are enabled for @widget. + * + * Since: 0.0.11 + */ +gboolean +hdy_get_enable_animations (GtkWidget *widget) +{ + gboolean enable_animations = TRUE; + + g_assert (GTK_IS_WIDGET (widget)); + + g_object_get (gtk_widget_get_settings (widget), + "gtk-enable-animations", &enable_animations, + NULL); + + return enable_animations; +} + +/** + * hdy_lerp: (skip) + * @a: the start + * @b: the end + * @t: the interpolation rate + * + * Computes the linear interpolation between @a and @b for @t. + * + * Returns: the linear interpolation between @a and @b for @t. + * + * Since: 0.0.11 + */ +gdouble +hdy_lerp (gdouble a, gdouble b, gdouble t) +{ + return a * (1.0 - t) + b * t; +} + +/* From clutter-easing.c, based on Robert Penner's + * infamous easing equations, MIT license. + */ + +/** + * hdy_ease_out_cubic: + * @t: the term + * + * Computes the ease out for @t. + * + * Returns: the ease out for @t. + * + * Since: 0.0.11 + */ +gdouble +hdy_ease_out_cubic (gdouble t) +{ + gdouble p = t - 1; + return p * p * p + 1; +} diff --git a/subprojects/libhandy/src/hdy-animation.h b/subprojects/libhandy/src/hdy-animation.h new file mode 100644 index 00000000..5af34c07 --- /dev/null +++ b/subprojects/libhandy/src/hdy-animation.h @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +HDY_AVAILABLE_IN_ALL +gboolean hdy_get_enable_animations (GtkWidget *widget); + +HDY_AVAILABLE_IN_ALL +gdouble hdy_ease_out_cubic (gdouble t); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-application-window.c b/subprojects/libhandy/src/hdy-application-window.c new file mode 100644 index 00000000..d3979cf3 --- /dev/null +++ b/subprojects/libhandy/src/hdy-application-window.c @@ -0,0 +1,150 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" + +#include "hdy-application-window.h" +#include "hdy-window-mixin-private.h" + +/** + * SECTION:hdy-application-window + * @short_description: A freeform application window. + * @title: HdyApplicationWindow + * @See_also: #HdyHeaderBar, #HdyWindow, #HdyWindowHandle + * + * HdyApplicationWindow is a #GtkApplicationWindow subclass providing the same + * features as #HdyWindow. + * + * See #HdyWindow for details. + * + * Using gtk_application_set_app_menu() and gtk_application_set_menubar() is + * not supported and may result in visual glitches. + * + * Since: 1.0 + */ + +typedef struct +{ + HdyWindowMixin *mixin; +} HdyApplicationWindowPrivate; + +static void hdy_application_window_buildable_init (GtkBuildableIface *iface); + +G_DEFINE_TYPE_WITH_CODE (HdyApplicationWindow, hdy_application_window, GTK_TYPE_APPLICATION_WINDOW, + G_ADD_PRIVATE (HdyApplicationWindow) + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, hdy_application_window_buildable_init)) + +#define HDY_GET_WINDOW_MIXIN(obj) (((HdyApplicationWindowPrivate *) hdy_application_window_get_instance_private (HDY_APPLICATION_WINDOW (obj)))->mixin) + +static void +hdy_application_window_add (GtkContainer *container, + GtkWidget *widget) +{ + hdy_window_mixin_add (HDY_GET_WINDOW_MIXIN (container), widget); +} + +static void +hdy_application_window_remove (GtkContainer *container, + GtkWidget *widget) +{ + hdy_window_mixin_remove (HDY_GET_WINDOW_MIXIN (container), widget); +} + +static void +hdy_application_window_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + hdy_window_mixin_forall (HDY_GET_WINDOW_MIXIN (container), + include_internals, + callback, + callback_data); +} + +static gboolean +hdy_application_window_draw (GtkWidget *widget, + cairo_t *cr) +{ + return hdy_window_mixin_draw (HDY_GET_WINDOW_MIXIN (widget), cr); +} + +static void +hdy_application_window_destroy (GtkWidget *widget) +{ + hdy_window_mixin_destroy (HDY_GET_WINDOW_MIXIN (widget)); +} + +static void +hdy_application_window_finalize (GObject *object) +{ + HdyApplicationWindow *self = (HdyApplicationWindow *)object; + HdyApplicationWindowPrivate *priv = hdy_application_window_get_instance_private (self); + + g_clear_object (&priv->mixin); + + G_OBJECT_CLASS (hdy_application_window_parent_class)->finalize (object); +} + +static void +hdy_application_window_class_init (HdyApplicationWindowClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); + + object_class->finalize = hdy_application_window_finalize; + widget_class->draw = hdy_application_window_draw; + widget_class->destroy = hdy_application_window_destroy; + container_class->add = hdy_application_window_add; + container_class->remove = hdy_application_window_remove; + container_class->forall = hdy_application_window_forall; +} + +static void +hdy_application_window_init (HdyApplicationWindow *self) +{ + HdyApplicationWindowPrivate *priv = hdy_application_window_get_instance_private (self); + + priv->mixin = hdy_window_mixin_new (GTK_WINDOW (self), + GTK_WINDOW_CLASS (hdy_application_window_parent_class)); + + gtk_application_window_set_show_menubar (GTK_APPLICATION_WINDOW (self), FALSE); +} + +static void +hdy_application_window_buildable_add_child (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *type) +{ + hdy_window_mixin_buildable_add_child (HDY_GET_WINDOW_MIXIN (buildable), + builder, + child, + type); +} + +static void +hdy_application_window_buildable_init (GtkBuildableIface *iface) +{ + iface->add_child = hdy_application_window_buildable_add_child; +} + +/** + * hdy_application_window_new: + * + * Creates a new #HdyApplicationWindow. + * + * Returns: (transfer full): a newly created #HdyApplicationWindow + * + * Since: 1.0 + */ +GtkWidget * +hdy_application_window_new (void) +{ + return g_object_new (HDY_TYPE_APPLICATION_WINDOW, + NULL); +} diff --git a/subprojects/libhandy/src/hdy-application-window.h b/subprojects/libhandy/src/hdy-application-window.h new file mode 100644 index 00000000..ed01eb16 --- /dev/null +++ b/subprojects/libhandy/src/hdy-application-window.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_APPLICATION_WINDOW (hdy_application_window_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (HdyApplicationWindow, hdy_application_window, HDY, APPLICATION_WINDOW, GtkApplicationWindow) + +struct _HdyApplicationWindowClass +{ + GtkApplicationWindowClass parent_class; + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_application_window_new (void); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-avatar.c b/subprojects/libhandy/src/hdy-avatar.c new file mode 100644 index 00000000..cf73ce03 --- /dev/null +++ b/subprojects/libhandy/src/hdy-avatar.c @@ -0,0 +1,824 @@ +/* + * Copyright (C) 2020 Purism SPC + * Copyright (C) 2020 Felipe Borges + * + * Authors: + * Felipe Borges + * Julian Sparber + * + * SPDX-License-Identifier: LGPL-2.1+ + * + */ + +#include "config.h" +#include + +#include "hdy-avatar.h" +#include "hdy-cairo-private.h" + +#define NUMBER_OF_COLORS 14 +/** + * SECTION:hdy-avatar + * @short_description: A widget displaying an image, with a generated fallback. + * @Title: HdyAvatar + * + * #HdyAvatar is a widget to display a round avatar. + * A provided image is made round before displaying, if no image is given this + * widget generates a round fallback with the initials of the #HdyAvatar:text + * on top of a colord background. + * The color is picked based on the hash of the #HdyAvatar:text. + * If #HdyAvatar:show-initials is set to %FALSE, `avatar-default-symbolic` is + * shown in place of the initials. + * Use hdy_avatar_set_image_load_func () to set a custom image. + * Create a #HdyAvatarImageLoadFunc similar to this example: + * + * |[ + * static GdkPixbuf * + * image_load_func (gint size, gpointer user_data) + * { + * g_autoptr (GError) error = NULL; + * g_autoptr (GdkPixbuf) pixbuf = NULL; + * g_autofree gchar *file = gtk_file_chooser_get_filename ("avatar.png"); + * gint width, height; + * + * gdk_pixbuf_get_file_info (file, &width, &height); + * + * pixbuf = gdk_pixbuf_new_from_file_at_scale (file, + * (width <= height) ? size : -1, + * (width >= height) ? size : -1, + * TRUE, + * error); + * if (error != NULL) { + * g_critical ("Failed to create pixbuf from file: %s", error->message); + * + * return NULL; + * } + * + * return pixbuf; + * } + * ]| + * + * # CSS nodes + * + * #HdyAvatar has a single CSS node with name avatar. + * + */ + +struct _HdyAvatar +{ + GtkDrawingArea parent_instance; + + gchar *icon_name; + gchar *text; + PangoLayout *layout; + gboolean show_initials; + guint color_class; + gint size; + cairo_surface_t *round_image; + gint round_image_size; + + HdyAvatarImageLoadFunc load_image_func; + gpointer load_image_func_target; + GDestroyNotify load_image_func_target_destroy_notify; +}; + +G_DEFINE_TYPE (HdyAvatar, hdy_avatar, GTK_TYPE_DRAWING_AREA); + +enum { + PROP_0, + PROP_ICON_NAME, + PROP_TEXT, + PROP_SHOW_INITIALS, + PROP_SIZE, + PROP_LAST_PROP, +}; +static GParamSpec *props[PROP_LAST_PROP]; + +static cairo_surface_t * +round_image (GdkPixbuf *pixbuf, + gdouble size) +{ + g_autoptr (cairo_surface_t) surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, size, size); + g_autoptr (cairo_t) cr = cairo_create (surface); + gint width = gdk_pixbuf_get_width (pixbuf); + gint height = gdk_pixbuf_get_height (pixbuf); + + /* Clip a circle */ + cairo_arc (cr, size / 2.0, size / 2.0, size / 2.0, 0, 2 * G_PI); + cairo_clip (cr); + cairo_new_path (cr); + + gdk_cairo_set_source_pixbuf (cr, pixbuf, (size - width) / 2, (size - height) / 2); + cairo_paint (cr); + + return g_steal_pointer (&surface); +} + +static gchar * +extract_initials_from_text (const gchar *text) +{ + GString *initials; + g_autofree gchar *p = g_utf8_strup (text, -1); + g_autofree gchar *normalized = g_utf8_normalize (g_strstrip (p), -1, G_NORMALIZE_DEFAULT_COMPOSE); + gunichar unichar; + gchar *q = NULL; + + if (normalized == NULL) + return NULL; + + initials = g_string_new (""); + + unichar = g_utf8_get_char (normalized); + g_string_append_unichar (initials, unichar); + + q = g_utf8_strrchr (normalized, -1, ' '); + if (q != NULL && g_utf8_next_char (q) != NULL) { + q = g_utf8_next_char (q); + + unichar = g_utf8_get_char (q); + g_string_append_unichar (initials, unichar); + } + + return g_string_free (initials, FALSE); +} + +static void +update_custom_image (HdyAvatar *self) +{ + g_autoptr (GdkPixbuf) pixbuf = NULL; + gint scale_factor; + gint new_size; + GtkStyleContext *context = gtk_widget_get_style_context (GTK_WIDGET (self)); + + scale_factor = gtk_widget_get_scale_factor (GTK_WIDGET (self)); + new_size = MIN (gtk_widget_get_allocated_width (GTK_WIDGET (self)), + gtk_widget_get_allocated_height (GTK_WIDGET (self))) * scale_factor; + + if (self->round_image_size != new_size && self->round_image != NULL) { + g_clear_pointer (&self->round_image, cairo_surface_destroy); + self->round_image_size = -1; + } + + if (self->load_image_func != NULL && self->round_image == NULL) { + pixbuf = self->load_image_func (new_size, self->load_image_func_target); + if (pixbuf != NULL) { + self->round_image = round_image (pixbuf, (gdouble) new_size); + cairo_surface_set_device_scale (self->round_image, scale_factor, scale_factor); + self->round_image_size = new_size; + } + } + + if (self->round_image) + gtk_style_context_add_class (context, "image"); + else + gtk_style_context_remove_class (context, "image"); +} + +static void +set_class_color (HdyAvatar *self) +{ + GtkStyleContext *context = gtk_widget_get_style_context (GTK_WIDGET (self)); + g_autofree GRand *rand = NULL; + g_autofree gchar *new_class = NULL; + g_autofree gchar *old_class = g_strdup_printf ("color%d", self->color_class); + + gtk_style_context_remove_class (context, old_class); + + if (self->text == NULL || strlen (self->text) == 0) { + /* Use a random color if we don't have a text */ + rand = g_rand_new (); + self->color_class = g_rand_int_range (rand, 1, NUMBER_OF_COLORS); + } else { + self->color_class = (g_str_hash (self->text) % NUMBER_OF_COLORS) + 1; + } + + new_class = g_strdup_printf ("color%d", self->color_class); + gtk_style_context_add_class (context, new_class); +} + +static void +set_class_contrasted (HdyAvatar *self, + gint size) +{ + GtkStyleContext *context = gtk_widget_get_style_context (GTK_WIDGET (self)); + + if (size < 25) + gtk_style_context_add_class (context, "contrasted"); + else + gtk_style_context_remove_class (context, "contrasted"); +} + +static void +clear_pango_layout (HdyAvatar *self) +{ + g_clear_object (&self->layout); +} + +static void +ensure_pango_layout (HdyAvatar *self) +{ + g_autofree gchar *initials = NULL; + + if (self->layout != NULL || self->text == NULL || strlen (self->text) == 0) + return; + + initials = extract_initials_from_text (self->text); + self->layout = gtk_widget_create_pango_layout (GTK_WIDGET (self), initials); +} + +static void +set_font_size (HdyAvatar *self, + gint size) +{ + GtkStyleContext *context; + PangoFontDescription *font_desc; + gint width, height; + gdouble padding; + gdouble sqr_size; + gdouble max_size; + gdouble new_font_size; + + if (self->round_image != NULL || self->layout == NULL) + return; + + context = gtk_widget_get_style_context (GTK_WIDGET (self)); + gtk_style_context_get (context, gtk_style_context_get_state (context), + "font", &font_desc, NULL); + + pango_layout_set_font_description (self->layout, font_desc); + pango_layout_get_pixel_size (self->layout, &width, &height); + + /* This is the size of the biggest square fitting inside the circle */ + sqr_size = (gdouble)size / 1.4142; + /* The padding has to be a function of the overall size. + * The 0.4 is how steep the linear function grows and the -5 is just + * an adjustment for smaller sizes which doesn't have a big impact on bigger sizes. + * Make also sure we don't have a negative padding */ + padding = MAX (size * 0.4 - 5, 0); + max_size = sqr_size - padding; + new_font_size = (gdouble)height * (max_size / (gdouble)width); + + font_desc = pango_font_description_copy (font_desc); + pango_font_description_set_absolute_size (font_desc, + CLAMP (new_font_size, 0, max_size) * PANGO_SCALE); + pango_layout_set_font_description (self->layout, font_desc); + pango_font_description_free (font_desc); +} + +static void +hdy_avatar_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + HdyAvatar *self = HDY_AVATAR (object); + + switch (property_id) { + case PROP_ICON_NAME: + g_value_set_string (value, hdy_avatar_get_icon_name (self)); + break; + + case PROP_TEXT: + g_value_set_string (value, hdy_avatar_get_text (self)); + break; + + case PROP_SHOW_INITIALS: + g_value_set_boolean (value, hdy_avatar_get_show_initials (self)); + break; + + case PROP_SIZE: + g_value_set_int (value, hdy_avatar_get_size (self)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + +static void +hdy_avatar_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyAvatar *self = HDY_AVATAR (object); + + switch (property_id) { + case PROP_ICON_NAME: + hdy_avatar_set_icon_name (self, g_value_get_string (value)); + break; + + case PROP_TEXT: + hdy_avatar_set_text (self, g_value_get_string (value)); + break; + + case PROP_SHOW_INITIALS: + hdy_avatar_set_show_initials (self, g_value_get_boolean (value)); + break; + + case PROP_SIZE: + hdy_avatar_set_size (self, g_value_get_int (value)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + +static void +hdy_avatar_finalize (GObject *object) +{ + HdyAvatar *self = HDY_AVATAR (object); + + g_clear_pointer (&self->icon_name, g_free); + g_clear_pointer (&self->text, g_free); + g_clear_pointer (&self->round_image, cairo_surface_destroy); + g_clear_object (&self->layout); + + if (self->load_image_func_target_destroy_notify != NULL) + self->load_image_func_target_destroy_notify (self->load_image_func_target); + + G_OBJECT_CLASS (hdy_avatar_parent_class)->finalize (object); +} + +static gboolean +hdy_avatar_draw (GtkWidget *widget, + cairo_t *cr) +{ + HdyAvatar *self = HDY_AVATAR (widget); + GtkStyleContext *context = gtk_widget_get_style_context (widget); + gint width = gtk_widget_get_allocated_width (widget); + gint height = gtk_widget_get_allocated_height (widget); + gint size = MIN (width, height); + gdouble x = (gdouble)(width - size) / 2.0; + gdouble y = (gdouble)(height - size) / 2.0; + const gchar *icon_name; + gint scale; + GdkRGBA color; + g_autoptr (GtkIconInfo) icon = NULL; + g_autoptr (GdkPixbuf) pixbuf = NULL; + g_autoptr (GError) error = NULL; + g_autoptr (cairo_surface_t) surface = NULL; + + set_class_contrasted (HDY_AVATAR (widget), size); + + update_custom_image (self); + + if (self->round_image) { + cairo_set_source_surface (cr, self->round_image, x, y); + cairo_paint (cr); + + gtk_render_background (context, cr, x, y, size, size); + gtk_render_frame (context, cr, x, y, size, size); + + return FALSE; + } + + gtk_render_background (context, cr, x, y, size, size); + gtk_render_frame (context, cr, x, y, size, size); + + ensure_pango_layout (HDY_AVATAR (widget)); + + if (self->show_initials && self->layout != NULL) { + set_font_size (HDY_AVATAR (widget), size); + pango_layout_get_pixel_size (self->layout, &width, &height); + + gtk_render_layout (context, cr, + ((gdouble) (size - width) / 2.0) + x, + ((gdouble) (size - height) / 2.0) + y, + self->layout); + + return FALSE; + } + + icon_name = self->icon_name && *self->icon_name != '\0' ? + self->icon_name : "avatar-default-symbolic"; + scale = gtk_widget_get_scale_factor (widget); + icon = gtk_icon_theme_lookup_icon_for_scale (gtk_icon_theme_get_default (), + icon_name, + size / 2, scale, + GTK_ICON_LOOKUP_FORCE_SYMBOLIC); + if (icon == NULL) { + g_critical ("Failed to load icon `%s'", icon_name); + + return FALSE; + } + + gtk_style_context_get_color (context, gtk_style_context_get_state (context), &color); + pixbuf = gtk_icon_info_load_symbolic (icon, &color, NULL, NULL, NULL, NULL, &error); + if (error != NULL) { + g_critical ("Failed to load icon `%s': %s", icon_name, error->message); + + return FALSE; + } + + surface = gdk_cairo_surface_create_from_pixbuf (pixbuf, scale, + gtk_widget_get_window (widget)); + + width = cairo_image_surface_get_width (surface); + height = cairo_image_surface_get_height (surface); + gtk_render_icon_surface (context, cr, surface, + (((gdouble) size - ((gdouble) width / (gdouble) scale)) / 2.0) + x, + (((gdouble) size - ((gdouble) height / (gdouble) scale)) / 2.0) + y); + + return FALSE; +} + +/* This private method is prefixed by the class name because it will be a + * virtual method in GTK 4. + */ +static void +hdy_avatar_measure (GtkWidget *widget, + GtkOrientation orientation, + gint for_size, + gint *minimum, + gint *natural, + gint *minimum_baseline, + gint *natural_baseline) +{ + HdyAvatar *self = HDY_AVATAR (widget); + + if (minimum) + *minimum = self->size; + if (natural) + *natural = self->size; +} + +static void +hdy_avatar_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + hdy_avatar_measure (widget, GTK_ORIENTATION_HORIZONTAL, -1, + minimum, natural, NULL, NULL); +} + +static void +hdy_avatar_get_preferred_width_for_height (GtkWidget *widget, + gint height, + gint *minimum, + gint *natural) +{ + hdy_avatar_measure (widget, GTK_ORIENTATION_HORIZONTAL, height, + minimum, natural, NULL, NULL); +} + +static void +hdy_avatar_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + hdy_avatar_measure (widget, GTK_ORIENTATION_VERTICAL, -1, + minimum, natural, NULL, NULL); +} + +static void +hdy_avatar_get_preferred_height_for_width (GtkWidget *widget, + gint width, + gint *minimum, + gint *natural) +{ + hdy_avatar_measure (widget, GTK_ORIENTATION_VERTICAL, width, + minimum, natural, NULL, NULL); +} + +static GtkSizeRequestMode +hdy_avatar_get_request_mode (GtkWidget *widget) +{ + return GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH; +} + +static void +hdy_avatar_size_allocate (GtkWidget *widget, + GtkAllocation *allocation) +{ + GtkAllocation clip; + + gtk_render_background_get_clip (gtk_widget_get_style_context (widget), + allocation->x, + allocation->y, + allocation->width, + allocation->height, + &clip); + + GTK_WIDGET_CLASS (hdy_avatar_parent_class)->size_allocate (widget, allocation); + gtk_widget_set_clip (widget, &clip); +} + +static void +hdy_avatar_class_init (HdyAvatarClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + object_class->finalize = hdy_avatar_finalize; + + object_class->set_property = hdy_avatar_set_property; + object_class->get_property = hdy_avatar_get_property; + + widget_class->draw = hdy_avatar_draw; + widget_class->get_request_mode = hdy_avatar_get_request_mode; + widget_class->get_preferred_width = hdy_avatar_get_preferred_width; + widget_class->get_preferred_height = hdy_avatar_get_preferred_height; + widget_class->get_preferred_width_for_height = hdy_avatar_get_preferred_width_for_height; + widget_class->get_preferred_height_for_width = hdy_avatar_get_preferred_height_for_width; + widget_class->size_allocate = hdy_avatar_size_allocate; + + /** + * HdyAvatar:size: + * + * The avatar size of the avatar. + */ + props[PROP_SIZE] = + g_param_spec_int ("size", + "Size", + "The size of the avatar", + -1, INT_MAX, -1, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyAvatar:icon-name: + * + * The name of the icon in the icon theme to use when the icon should be + * displayed. + * If no name is set, the avatar-default-symbolic icon will be used. + * If the name doesn't match a valid icon, it is an error and no icon will be + * displayed. + * If the icon theme is changed, the image will be updated automatically. + * + * Since: 1.0 + */ + props[PROP_ICON_NAME] = + g_param_spec_string ("icon-name", + "Icon name", + "The name of the icon from the icon theme", + NULL, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyAvatar:text: + * + * The text used for the initials and for generating the color. + * If #HdyAvatar:show-initials is %FALSE it's only used to generate the color. + */ + props[PROP_TEXT] = + g_param_spec_string ("text", + "Text", + "The text used to generate the color and the initials", + NULL, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyAvatar:show_initials: + * + * Whether to show the initials or the fallback icon on the generated avatar. + */ + props[PROP_SHOW_INITIALS] = + g_param_spec_boolean ("show-initials", + "Show initials", + "Whether to show the initials", + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, PROP_LAST_PROP, props); + + gtk_widget_class_set_css_name (widget_class, "avatar"); +} + +static void +hdy_avatar_init (HdyAvatar *self) +{ + set_class_color (self); + g_signal_connect (self, "screen-changed", G_CALLBACK (clear_pango_layout), NULL); +} + +/** + * hdy_avatar_new: + * @size: The size of the avatar + * @text: (nullable): The text used to generate the color and initials if + * @show_initials is %TRUE. The color is selected at random if @text is empty. + * @show_initials: whether to show the initials or the fallback icon on + * top of the color generated based on @text. + * + * Creates a new #HdyAvatar. + * + * Returns: the newly created #HdyAvatar + */ +GtkWidget * +hdy_avatar_new (gint size, + const gchar *text, + gboolean show_initials) +{ + return g_object_new (HDY_TYPE_AVATAR, + "size", size, + "text", text, + "show-initials", show_initials, + NULL); +} + +/** + * hdy_avatar_get_icon_name: + * @self: a #HdyAvatar + * + * Gets the name of the icon in the icon theme to use when the icon should be + * displayed. + * + * Returns: (nullable) (transfer none): the name of the icon from the icon theme. + * + * Since: 1.0 + */ +const gchar * +hdy_avatar_get_icon_name (HdyAvatar *self) +{ + g_return_val_if_fail (HDY_IS_AVATAR (self), NULL); + + return self->icon_name; +} + +/** + * hdy_avatar_set_icon_name: + * @self: a #HdyAvatar + * @icon_name: (nullable): the name of the icon from the icon theme + * + * Sets the name of the icon in the icon theme to use when the icon should be + * displayed. + * If no name is set, the avatar-default-symbolic icon will be used. + * If the name doesn't match a valid icon, it is an error and no icon will be + * displayed. + * If the icon theme is changed, the image will be updated automatically. + * + * Since: 1.0 + */ +void +hdy_avatar_set_icon_name (HdyAvatar *self, + const gchar *icon_name) +{ + g_return_if_fail (HDY_IS_AVATAR (self)); + + if (g_strcmp0 (self->icon_name, icon_name) == 0) + return; + + g_clear_pointer (&self->icon_name, g_free); + self->icon_name = g_strdup (icon_name); + + if (!self->round_image && + (!self->show_initials || self->layout == NULL)) + gtk_widget_queue_draw (GTK_WIDGET (self)); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ICON_NAME]); +} + +/** + * hdy_avatar_get_text: + * @self: a #HdyAvatar + * + * Get the text used to generate the fallback initials and color + * + * Returns: (nullable) (transfer none): returns the text used to generate + * the fallback initials. This is the internal string used by + * the #HdyAvatar, and must not be modified. + */ +const gchar * +hdy_avatar_get_text (HdyAvatar *self) +{ + g_return_val_if_fail (HDY_IS_AVATAR (self), NULL); + + return self->text; +} + +/** + * hdy_avatar_set_text: + * @self: a #HdyAvatar + * @text: (nullable): the text used to get the initials and color + * + * Set the text used to generate the fallback initials color + */ +void +hdy_avatar_set_text (HdyAvatar *self, + const gchar *text) +{ + g_return_if_fail (HDY_IS_AVATAR (self)); + + if (g_strcmp0 (self->text, text) == 0) + return; + + g_clear_pointer (&self->text, g_free); + self->text = g_strdup (text); + + clear_pango_layout (self); + set_class_color (self); + gtk_widget_queue_draw (GTK_WIDGET (self)); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TEXT]); +} + +/** + * hdy_avatar_get_show_initials: + * @self: a #HdyAvatar + * + * Returns whether initials are used for the fallback or the icon. + * + * Returns: %TRUE if the initials are used for the fallback. + */ +gboolean +hdy_avatar_get_show_initials (HdyAvatar *self) +{ + g_return_val_if_fail (HDY_IS_AVATAR (self), FALSE); + + return self->show_initials; +} + +/** + * hdy_avatar_set_show_initials: + * @self: a #HdyAvatar + * @show_initials: whether the initials should be shown on the fallback avatar + * or the icon. + * + * Sets whether the initials should be shown on the fallback avatar or the icon. + */ +void +hdy_avatar_set_show_initials (HdyAvatar *self, + gboolean show_initials) +{ + g_return_if_fail (HDY_IS_AVATAR (self)); + + if (self->show_initials == show_initials) + return; + + self->show_initials = show_initials; + + gtk_widget_queue_draw (GTK_WIDGET (self)); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SHOW_INITIALS]); +} + +/** + * hdy_avatar_set_image_load_func: + * @self: a #HdyAvatar + * @load_image: (closure user_data) (nullable): callback to set a custom image + * @user_data: (nullable): user data passed to @load_image + * @destroy: (nullable): destroy notifier for @user_data + * + * A callback which is called when the custom image need to be reloaded for some + * reason (e.g. scale-factor changes). + */ +void +hdy_avatar_set_image_load_func (HdyAvatar *self, + HdyAvatarImageLoadFunc load_image, + gpointer user_data, + GDestroyNotify destroy) +{ + g_return_if_fail (HDY_IS_AVATAR (self)); + g_return_if_fail (user_data != NULL || (user_data == NULL && destroy == NULL)); + + if (self->load_image_func_target_destroy_notify != NULL) + self->load_image_func_target_destroy_notify (self->load_image_func_target); + + self->load_image_func = load_image; + self->load_image_func_target = user_data; + self->load_image_func_target_destroy_notify = destroy; + + g_clear_pointer (&self->round_image, cairo_surface_destroy); + self->round_image_size = -1; + gtk_widget_queue_draw (GTK_WIDGET (self)); +} + +/** + * hdy_avatar_get_size: + * @self: a #HdyAvatar + * + * Returns the size of the avatar. + * + * Returns: the size of the avatar. + */ +gint +hdy_avatar_get_size (HdyAvatar *self) +{ + g_return_val_if_fail (HDY_IS_AVATAR (self), 0); + + return self->size; +} + +/** + * hdy_avatar_set_size: + * @self: a #HdyAvatar + * @size: The size to be used for the avatar + * + * Sets the size of the avatar. + */ +void +hdy_avatar_set_size (HdyAvatar *self, + gint size) +{ + g_return_if_fail (HDY_IS_AVATAR (self)); + g_return_if_fail (size >= -1); + + if (self->size == size) + return; + + self->size = size; + + gtk_widget_queue_resize (GTK_WIDGET (self)); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SIZE]); +} diff --git a/subprojects/libhandy/src/hdy-avatar.h b/subprojects/libhandy/src/hdy-avatar.h new file mode 100644 index 00000000..54f37877 --- /dev/null +++ b/subprojects/libhandy/src/hdy-avatar.h @@ -0,0 +1,70 @@ +/* + * Copyright (C) 2020 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_AVATAR (hdy_avatar_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdyAvatar, hdy_avatar, HDY, AVATAR, GtkDrawingArea) + +/** + * HdyAvatarImageLoadFunc: + * @size: the required size of the avatar + * @user_data: (closure): user data + * + * The returned #GdkPixbuf is expected to be square with width and height set + * to @size. The image is cropped to a circle without any scaling or transformation. + * + * Returns: (nullable) (transfer full): the #GdkPixbuf to use as a custom avatar + * or %NULL to fallback to the generated avatar. + */ +typedef GdkPixbuf *(*HdyAvatarImageLoadFunc) (gint size, + gpointer user_data); + + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_avatar_new (gint size, + const gchar *text, + gboolean show_initials); +HDY_AVAILABLE_IN_ALL +const gchar *hdy_avatar_get_icon_name (HdyAvatar *self); +HDY_AVAILABLE_IN_ALL +void hdy_avatar_set_icon_name (HdyAvatar *self, + const gchar *icon_name); +HDY_AVAILABLE_IN_ALL +const gchar *hdy_avatar_get_text (HdyAvatar *self); +HDY_AVAILABLE_IN_ALL +void hdy_avatar_set_text (HdyAvatar *self, + const gchar *text); +HDY_AVAILABLE_IN_ALL +gboolean hdy_avatar_get_show_initials (HdyAvatar *self); +HDY_AVAILABLE_IN_ALL +void hdy_avatar_set_show_initials (HdyAvatar *self, + gboolean show_initials); +HDY_AVAILABLE_IN_ALL +void hdy_avatar_set_image_load_func (HdyAvatar *self, + HdyAvatarImageLoadFunc load_image, + gpointer user_data, + GDestroyNotify destroy); +HDY_AVAILABLE_IN_ALL +gint hdy_avatar_get_size (HdyAvatar *self); +HDY_AVAILABLE_IN_ALL +void hdy_avatar_set_size (HdyAvatar *self, + gint size); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-cairo-private.h b/subprojects/libhandy/src/hdy-cairo-private.h new file mode 100644 index 00000000..d064f049 --- /dev/null +++ b/subprojects/libhandy/src/hdy-cairo-private.h @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2020 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include + +G_BEGIN_DECLS + +G_DEFINE_AUTOPTR_CLEANUP_FUNC (cairo_t, cairo_destroy) +G_DEFINE_AUTOPTR_CLEANUP_FUNC (cairo_surface_t, cairo_surface_destroy) + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-carousel-box-private.h b/subprojects/libhandy/src/hdy-carousel-box-private.h new file mode 100644 index 00000000..98d34350 --- /dev/null +++ b/subprojects/libhandy/src/hdy-carousel-box-private.h @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_CAROUSEL_BOX (hdy_carousel_box_get_type()) + +G_DECLARE_FINAL_TYPE (HdyCarouselBox, hdy_carousel_box, HDY, CAROUSEL_BOX, GtkContainer) + +GtkWidget *hdy_carousel_box_new (void); + +void hdy_carousel_box_insert (HdyCarouselBox *self, + GtkWidget *widget, + gint position); +void hdy_carousel_box_reorder (HdyCarouselBox *self, + GtkWidget *widget, + gint position); + +gboolean hdy_carousel_box_is_animating (HdyCarouselBox *self); +void hdy_carousel_box_stop_animation (HdyCarouselBox *self); + +void hdy_carousel_box_scroll_to (HdyCarouselBox *self, + GtkWidget *widget, + gint64 duration); + +guint hdy_carousel_box_get_n_pages (HdyCarouselBox *self); +gdouble hdy_carousel_box_get_distance (HdyCarouselBox *self); + +gdouble hdy_carousel_box_get_position (HdyCarouselBox *self); +void hdy_carousel_box_set_position (HdyCarouselBox *self, + gdouble position); + +guint hdy_carousel_box_get_spacing (HdyCarouselBox *self); +void hdy_carousel_box_set_spacing (HdyCarouselBox *self, + guint spacing); + +guint hdy_carousel_box_get_reveal_duration (HdyCarouselBox *self); +void hdy_carousel_box_set_reveal_duration (HdyCarouselBox *self, + guint reveal_duration); + +GtkWidget *hdy_carousel_box_get_nth_child (HdyCarouselBox *self, + guint n); + +gdouble *hdy_carousel_box_get_snap_points (HdyCarouselBox *self, + gint *n_snap_points); +void hdy_carousel_box_get_range (HdyCarouselBox *self, + gdouble *lower, + gdouble *upper); +gdouble hdy_carousel_box_get_closest_snap_point (HdyCarouselBox *self); +GtkWidget *hdy_carousel_box_get_page_at_position (HdyCarouselBox *self, + gdouble position); +gint hdy_carousel_box_get_current_page_index (HdyCarouselBox *self); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-carousel-box.c b/subprojects/libhandy/src/hdy-carousel-box.c new file mode 100644 index 00000000..0c4c5759 --- /dev/null +++ b/subprojects/libhandy/src/hdy-carousel-box.c @@ -0,0 +1,1770 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-animation-private.h" +#include "hdy-cairo-private.h" +#include "hdy-carousel-box-private.h" + +#include + +/** + * PRIVATE:hdy-carousel-box + * @short_description: Scrolling box used in #HdyCarousel + * @title: HdyCarouselBox + * @See_also: #HdyCarousel + * @stability: Private + * + * The #HdyCarouselBox object is meant to be used exclusively as part of the + * #HdyCarousel implementation. + * + * Since: 1.0 + */ + +typedef struct _HdyCarouselBoxAnimation HdyCarouselBoxAnimation; + +struct _HdyCarouselBoxAnimation +{ + gint64 start_time; + gint64 end_time; + gdouble start_value; + gdouble end_value; +}; + +typedef struct _HdyCarouselBoxChildInfo HdyCarouselBoxChildInfo; + +struct _HdyCarouselBoxChildInfo +{ + GtkWidget *widget; + GdkWindow *window; + gint position; + gboolean visible; + gdouble size; + gdouble snap_point; + gboolean adding; + gboolean removing; + + gboolean shift_position; + HdyCarouselBoxAnimation resize_animation; + + cairo_surface_t *surface; + cairo_region_t *dirty_region; +}; + +struct _HdyCarouselBox +{ + GtkContainer parent_instance; + + HdyCarouselBoxAnimation animation; + HdyCarouselBoxChildInfo *destination_child; + GList *children; + + gint child_width; + gint child_height; + + gdouble distance; + gdouble position; + guint spacing; + GtkOrientation orientation; + guint reveal_duration; + + guint tick_cb_id; +}; + +G_DEFINE_TYPE_WITH_CODE (HdyCarouselBox, hdy_carousel_box, GTK_TYPE_CONTAINER, + G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)); + +enum { + PROP_0, + PROP_N_PAGES, + PROP_POSITION, + PROP_SPACING, + PROP_REVEAL_DURATION, + + /* GtkOrientable */ + PROP_ORIENTATION, + LAST_PROP = PROP_REVEAL_DURATION + 1, +}; + +static GParamSpec *props[LAST_PROP]; + +enum { + SIGNAL_ANIMATION_STOPPED, + SIGNAL_POSITION_SHIFTED, + SIGNAL_LAST_SIGNAL, +}; +static guint signals[SIGNAL_LAST_SIGNAL]; + +static HdyCarouselBoxChildInfo * +find_child_info (HdyCarouselBox *self, + GtkWidget *widget) +{ + GList *l; + + for (l = self->children; l; l = l->next) { + HdyCarouselBoxChildInfo *info = l->data; + + if (widget == info->widget) + return info; + } + + return NULL; +} + +static gint +find_child_index (HdyCarouselBox *self, + GtkWidget *widget, + gboolean count_removing) +{ + GList *l; + gint i; + + i = 0; + for (l = self->children; l; l = l->next) { + HdyCarouselBoxChildInfo *info = l->data; + + if (info->removing && !count_removing) + continue; + + if (widget == info->widget) + return i; + + i++; + } + + return -1; +} + +static GList * +get_nth_link (HdyCarouselBox *self, + gint n) +{ + + GList *l; + gint i; + + i = n; + for (l = self->children; l; l = l->next) { + HdyCarouselBoxChildInfo *info = l->data; + + if (info->removing) + continue; + + if (i-- == 0) + return l; + } + + return NULL; +} + +static HdyCarouselBoxChildInfo * +find_child_info_by_window (HdyCarouselBox *self, + GdkWindow *window) +{ + GList *l; + + for (l = self->children; l; l = l->next) { + HdyCarouselBoxChildInfo *info = l->data; + + if (window == info->window) + return info; + } + + return NULL; +} + +static HdyCarouselBoxChildInfo * +get_closest_child_at (HdyCarouselBox *self, + gdouble position, + gboolean count_adding, + gboolean count_removing) +{ + GList *l; + HdyCarouselBoxChildInfo *closest_child = NULL; + + for (l = self->children; l; l = l->next) { + HdyCarouselBoxChildInfo *child = l->data; + + if (child->adding && !count_adding) + continue; + + if (child->removing && !count_removing) + continue; + + if (!closest_child || + ABS (closest_child->snap_point - position) > + ABS (child->snap_point - position)) + closest_child = child; + } + + return closest_child; +} + +static void +free_child_info (HdyCarouselBoxChildInfo *info) +{ + if (info->surface) + cairo_surface_destroy (info->surface); + if (info->dirty_region) + cairo_region_destroy (info->dirty_region); + g_free (info); +} + +static void +invalidate_handler_cb (GdkWindow *window, + cairo_region_t *region) +{ + gpointer user_data; + HdyCarouselBox *self; + HdyCarouselBoxChildInfo *info; + + gdk_window_get_user_data (window, &user_data); + g_assert (HDY_IS_CAROUSEL_BOX (user_data)); + self = HDY_CAROUSEL_BOX (user_data); + + info = find_child_info_by_window (self, window); + + if (!info->dirty_region) + info->dirty_region = cairo_region_create (); + + cairo_region_union (info->dirty_region, region); +} + +static void +register_window (HdyCarouselBoxChildInfo *info, + HdyCarouselBox *self) +{ + GtkWidget *widget; + GdkWindow *window; + GdkWindowAttr attributes; + GtkAllocation allocation; + gint attributes_mask; + + if (info->removing) + return; + + widget = GTK_WIDGET (self); + gtk_widget_get_allocation (info->widget, &allocation); + + attributes.x = allocation.x; + attributes.y = allocation.y; + attributes.width = allocation.width; + attributes.height = allocation.height; + attributes.window_type = GDK_WINDOW_CHILD; + attributes.wclass = GDK_INPUT_OUTPUT; + attributes.visual = gtk_widget_get_visual (widget); + attributes.event_mask = gtk_widget_get_events (widget); + attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; + + window = gdk_window_new (gtk_widget_get_parent_window (widget), + &attributes, attributes_mask); + gtk_widget_register_window (widget, window); + gtk_widget_set_parent_window (info->widget, window); + + gdk_window_set_user_data (window, self); + + gdk_window_show (window); + + info->window = window; + + gdk_window_set_invalidate_handler (window, invalidate_handler_cb); +} + +static void +unregister_window (HdyCarouselBoxChildInfo *info, + HdyCarouselBox *self) +{ + if (!info->widget) + return; + + gtk_widget_set_parent_window (info->widget, NULL); + gtk_widget_unregister_window (GTK_WIDGET (self), info->window); + gdk_window_destroy (info->window); + info->window = NULL; +} + +static gdouble +get_animation_value (HdyCarouselBoxAnimation *animation, + GdkFrameClock *frame_clock) +{ + gint64 frame_time, duration; + gdouble t; + + frame_time = gdk_frame_clock_get_frame_time (frame_clock) / 1000; + frame_time = MIN (frame_time, animation->end_time); + + duration = animation->end_time - animation->start_time; + t = (gdouble) (frame_time - animation->start_time) / duration; + t = hdy_ease_out_cubic (t); + + return hdy_lerp (animation->start_value, animation->end_value, t); +} + +static gboolean +animate_position (HdyCarouselBox *self, + GdkFrameClock *frame_clock) +{ + gint64 frame_time; + gdouble value; + + if (!hdy_carousel_box_is_animating (self)) + return G_SOURCE_REMOVE; + + frame_time = gdk_frame_clock_get_frame_time (frame_clock) / 1000; + + self->animation.end_value = self->destination_child->snap_point; + value = get_animation_value (&self->animation, frame_clock); + hdy_carousel_box_set_position (self, value); + + if (frame_time >= self->animation.end_time) { + self->animation.start_time = 0; + self->animation.end_time = 0; + g_signal_emit (self, signals[SIGNAL_ANIMATION_STOPPED], 0); + return G_SOURCE_REMOVE; + } + + return G_SOURCE_CONTINUE; +} + +static void update_windows (HdyCarouselBox *self); + +static void +complete_child_animation (HdyCarouselBox *self, + HdyCarouselBoxChildInfo *child) +{ + update_windows (self); + + if (child->adding) + child->adding = FALSE; + + if (child->removing) { + self->children = g_list_remove (self->children, child); + + free_child_info (child); + } +} + +static gboolean +animate_child_size (HdyCarouselBox *self, + HdyCarouselBoxChildInfo *child, + GdkFrameClock *frame_clock, + gdouble *delta) +{ + gint64 frame_time; + gdouble d, new_value; + + if (child->resize_animation.start_time == 0) + return G_SOURCE_REMOVE; + + new_value = get_animation_value (&child->resize_animation, frame_clock); + d = new_value - child->size; + + child->size += d; + + frame_time = gdk_frame_clock_get_frame_time (frame_clock) / 1000; + + if (delta) + *delta = d; + + if (frame_time >= child->resize_animation.end_time) { + child->resize_animation.start_time = 0; + child->resize_animation.end_time = 0; + complete_child_animation (self, child); + return G_SOURCE_REMOVE; + } + + return G_SOURCE_CONTINUE; +} + +static void +set_position (HdyCarouselBox *self, + gdouble position) +{ + gdouble lower, upper; + + hdy_carousel_box_get_range (self, &lower, &upper); + + position = CLAMP (position, lower, upper); + + self->position = position; + update_windows (self); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_POSITION]); +} + +static gboolean +animation_cb (GtkWidget *widget, + GdkFrameClock *frame_clock, + gpointer user_data) +{ + HdyCarouselBox *self = HDY_CAROUSEL_BOX (widget); + g_autoptr (GList) children = NULL; + GList *l; + gboolean should_continue; + gdouble position_shift; + + should_continue = G_SOURCE_REMOVE; + + position_shift = 0; + + children = g_list_copy (self->children); + for (l = children; l; l = l->next) { + HdyCarouselBoxChildInfo *child = l->data; + gdouble delta; + gboolean shift; + + delta = 0; + shift = child->shift_position; + + should_continue |= animate_child_size (self, child, frame_clock, &delta); + + if (shift) + position_shift += delta; + } + + update_windows (self); + + if (position_shift != 0) { + set_position (self, self->position + position_shift); + g_signal_emit (self, signals[SIGNAL_POSITION_SHIFTED], 0, position_shift); + } + + should_continue |= animate_position (self, frame_clock); + + update_windows (self); + + if (!should_continue) + self->tick_cb_id = 0; + + return should_continue; +} + +static void +update_shift_position_flag (HdyCarouselBox *self, + HdyCarouselBoxChildInfo *child) +{ + HdyCarouselBoxChildInfo *closest_child; + gint animating_index, closest_index; + + /* We want to still shift position when the active child is being removed */ + closest_child = get_closest_child_at (self, self->position, FALSE, TRUE); + + if (!closest_child) + return; + + animating_index = g_list_index (self->children, child); + closest_index = g_list_index (self->children, closest_child); + + child->shift_position = (closest_index >= animating_index); +} + +static void +animate_child (HdyCarouselBox *self, + HdyCarouselBoxChildInfo *child, + gdouble value, + gint64 duration) +{ + GdkFrameClock *frame_clock; + gint64 frame_time; + + if (child->resize_animation.start_time > 0) { + child->resize_animation.start_time = 0; + child->resize_animation.end_time = 0; + } + + update_shift_position_flag (self, child); + + if (!gtk_widget_get_realized (GTK_WIDGET (self)) || + duration <= 0 || + !hdy_get_enable_animations (GTK_WIDGET (self))) { + gdouble delta = value - child->size; + + child->size = value; + + if (child->shift_position) { + set_position (self, self->position + delta); + g_signal_emit (self, signals[SIGNAL_POSITION_SHIFTED], 0, delta); + } + + complete_child_animation (self, child); + return; + } + + frame_clock = gtk_widget_get_frame_clock (GTK_WIDGET (self)); + if (!frame_clock) { + gdouble delta = value - child->size; + + child->size = value; + + if (child->shift_position) { + set_position (self, self->position + delta); + g_signal_emit (self, signals[SIGNAL_POSITION_SHIFTED], 0, delta); + } + + complete_child_animation (self, child); + return; + } + + frame_time = gdk_frame_clock_get_frame_time (frame_clock); + + child->resize_animation.start_value = child->size; + child->resize_animation.end_value = value; + + child->resize_animation.start_time = frame_time / 1000; + child->resize_animation.end_time = child->resize_animation.start_time + duration; + if (self->tick_cb_id == 0) + self->tick_cb_id = + gtk_widget_add_tick_callback (GTK_WIDGET (self), animation_cb, self, NULL); +} + +static gboolean +hdy_carousel_box_draw (GtkWidget *widget, + cairo_t *cr) +{ + HdyCarouselBox *self = HDY_CAROUSEL_BOX (widget); + GList *l; + + for (l = self->children; l; l = l->next) { + HdyCarouselBoxChildInfo *info = l->data; + + if (info->adding || info->removing) + continue; + + if (!info->visible) + continue; + + if (info->dirty_region && !info->removing) { + g_autoptr (cairo_t) surface_cr = NULL; + GtkAllocation child_alloc; + + if (!info->surface) { + gint width, height; + + width = gdk_window_get_width (info->window); + height = gdk_window_get_height (info->window); + + info->surface = gdk_window_create_similar_surface (info->window, + CAIRO_CONTENT_COLOR_ALPHA, + width, height); + } + + gtk_widget_get_allocation (info->widget, &child_alloc); + + surface_cr = cairo_create (info->surface); + + gdk_cairo_region (surface_cr, info->dirty_region); + cairo_clip (surface_cr); + + if (self->orientation == GTK_ORIENTATION_VERTICAL) + cairo_translate (surface_cr, 0, -info->position); + else + cairo_translate (surface_cr, -info->position, 0); + + cairo_save (surface_cr); + cairo_set_source_rgba (surface_cr, 0, 0, 0, 0); + cairo_set_operator (surface_cr, CAIRO_OPERATOR_SOURCE); + cairo_paint (surface_cr); + cairo_restore (surface_cr); + + gtk_container_propagate_draw (GTK_CONTAINER (self), info->widget, surface_cr); + + cairo_region_destroy (info->dirty_region); + info->dirty_region = NULL; + } + + if (!info->surface) + continue; + + if (self->orientation == GTK_ORIENTATION_VERTICAL) + cairo_set_source_surface (cr, info->surface, 0, info->position); + else + cairo_set_source_surface (cr, info->surface, info->position, 0); + cairo_paint (cr); + } + + return GDK_EVENT_PROPAGATE; +} + +static void +measure (GtkWidget *widget, + GtkOrientation orientation, + gint for_size, + gint *minimum, + gint *natural, + gint *minimum_baseline, + gint *natural_baseline) +{ + HdyCarouselBox *self = HDY_CAROUSEL_BOX (widget); + GList *children; + + if (minimum) + *minimum = 0; + if (natural) + *natural = 0; + + if (minimum_baseline) + *minimum_baseline = -1; + if (natural_baseline) + *natural_baseline = -1; + + for (children = self->children; children; children = children->next) { + HdyCarouselBoxChildInfo *child_info = children->data; + GtkWidget *child = child_info->widget; + gint child_min, child_nat; + + if (child_info->removing) + continue; + + if (!gtk_widget_get_visible (child)) + continue; + + if (orientation == GTK_ORIENTATION_VERTICAL) { + if (for_size < 0) + gtk_widget_get_preferred_height (child, &child_min, &child_nat); + else + gtk_widget_get_preferred_height_for_width (child, for_size, &child_min, &child_nat); + } else { + if (for_size < 0) + gtk_widget_get_preferred_width (child, &child_min, &child_nat); + else + gtk_widget_get_preferred_width_for_height (child, for_size, &child_min, &child_nat); + } + + if (minimum) + *minimum = MAX (*minimum, child_min); + if (natural) + *natural = MAX (*natural, child_nat); + } +} + +static void +hdy_carousel_box_get_preferred_width (GtkWidget *widget, + gint *minimum_width, + gint *natural_width) +{ + measure (widget, GTK_ORIENTATION_HORIZONTAL, -1, + minimum_width, natural_width, NULL, NULL); +} + +static void +hdy_carousel_box_get_preferred_height (GtkWidget *widget, + gint *minimum_height, + gint *natural_height) +{ + measure (widget, GTK_ORIENTATION_VERTICAL, -1, + minimum_height, natural_height, NULL, NULL); +} + +static void +hdy_carousel_box_get_preferred_width_for_height (GtkWidget *widget, + gint for_height, + gint *minimum_width, + gint *natural_width) +{ + measure (widget, GTK_ORIENTATION_HORIZONTAL, for_height, + minimum_width, natural_width, NULL, NULL); +} + +static void +hdy_carousel_box_get_preferred_height_for_width (GtkWidget *widget, + gint for_width, + gint *minimum_height, + gint *natural_height) +{ + measure (widget, GTK_ORIENTATION_VERTICAL, for_width, + minimum_height, natural_height, NULL, NULL); +} + +static void +invalidate_cache_for_child (HdyCarouselBox *self, + HdyCarouselBoxChildInfo *child) +{ + cairo_rectangle_int_t rect; + + rect.x = 0; + rect.y = 0; + rect.width = self->child_width; + rect.height = self->child_height; + + if (child->surface) + g_clear_pointer (&child->surface, cairo_surface_destroy); + + if (child->dirty_region) + cairo_region_destroy (child->dirty_region); + child->dirty_region = cairo_region_create_rectangle (&rect); +} + +static void +invalidate_drawing_cache (HdyCarouselBox *self) +{ + GList *l; + + for (l = self->children; l; l = l->next) { + HdyCarouselBoxChildInfo *child_info = l->data; + + invalidate_cache_for_child (self, child_info); + } +} + +static void +update_windows (HdyCarouselBox *self) +{ + GList *children; + GtkAllocation alloc; + gdouble x, y, offset; + gboolean is_rtl; + gdouble snap_point; + + snap_point = 0; + + for (children = self->children; children; children = children->next) { + HdyCarouselBoxChildInfo *child_info = children->data; + + child_info->snap_point = snap_point + child_info->size - 1; + + snap_point += child_info->size; + } + + if (!gtk_widget_get_realized (GTK_WIDGET (self))) + return; + + gtk_widget_get_allocation (GTK_WIDGET (self), &alloc); + + x = alloc.x; + y = alloc.y; + + is_rtl = (gtk_widget_get_direction (GTK_WIDGET (self)) == GTK_TEXT_DIR_RTL); + + if (self->orientation == GTK_ORIENTATION_VERTICAL) + offset = (self->distance * self->position) - (alloc.height - self->child_height) / 2.0; + else if (is_rtl) + offset = -(self->distance * self->position) + (alloc.width - self->child_width) / 2.0; + else + offset = (self->distance * self->position) - (alloc.width - self->child_width) / 2.0; + + if (self->orientation == GTK_ORIENTATION_VERTICAL) + y -= offset; + else + x -= offset; + + for (children = self->children; children; children = children->next) { + HdyCarouselBoxChildInfo *child_info = children->data; + + if (!child_info->removing) { + if (!gtk_widget_get_visible (child_info->widget)) + continue; + + if (self->orientation == GTK_ORIENTATION_VERTICAL) { + child_info->position = y; + child_info->visible = child_info->position < alloc.height && + child_info->position + self->child_height > 0; + gdk_window_move (child_info->window, alloc.x, alloc.y + child_info->position); + } else { + child_info->position = x; + child_info->visible = child_info->position < alloc.width && + child_info->position + self->child_width > 0; + gdk_window_move (child_info->window, alloc.x + child_info->position, alloc.y); + } + + if (!child_info->visible) + invalidate_cache_for_child (self, child_info); + } + + if (self->orientation == GTK_ORIENTATION_VERTICAL) + y += self->distance * child_info->size; + else if (is_rtl) + x -= self->distance * child_info->size; + else + x += self->distance * child_info->size; + } +} + +static void +hdy_carousel_box_map (GtkWidget *widget) +{ + GTK_WIDGET_CLASS (hdy_carousel_box_parent_class)->map (widget); + + gtk_widget_queue_draw (GTK_WIDGET (widget)); +} + +static void +hdy_carousel_box_realize (GtkWidget *widget) +{ + HdyCarouselBox *self = HDY_CAROUSEL_BOX (widget); + + GTK_WIDGET_CLASS (hdy_carousel_box_parent_class)->realize (widget); + + g_list_foreach (self->children, (GFunc) register_window, self); + + gtk_widget_queue_allocate (widget); +} + +static void +hdy_carousel_box_unrealize (GtkWidget *widget) +{ + HdyCarouselBox *self = HDY_CAROUSEL_BOX (widget); + + g_list_foreach (self->children, (GFunc) unregister_window, self); + + GTK_WIDGET_CLASS (hdy_carousel_box_parent_class)->unrealize (widget); +} + +static void +hdy_carousel_box_size_allocate (GtkWidget *widget, + GtkAllocation *allocation) +{ + HdyCarouselBox *self = HDY_CAROUSEL_BOX (widget); + gint size, width, height; + GList *children; + + gtk_widget_set_allocation (widget, allocation); + + size = 0; + for (children = self->children; children; children = children->next) { + HdyCarouselBoxChildInfo *child_info = children->data; + GtkWidget *child = child_info->widget; + gint min, nat; + gint child_size; + + if (child_info->removing) + continue; + + if (self->orientation == GTK_ORIENTATION_HORIZONTAL) { + gtk_widget_get_preferred_width_for_height (child, allocation->height, + &min, &nat); + if (gtk_widget_get_hexpand (child)) + child_size = MAX (min, allocation->width); + else + child_size = MAX (min, nat); + } else { + gtk_widget_get_preferred_height_for_width (child, allocation->width, + &min, &nat); + if (gtk_widget_get_vexpand (child)) + child_size = MAX (min, allocation->height); + else + child_size = MAX (min, nat); + } + + size = MAX (size, child_size); + } + + self->distance = size + self->spacing; + + if (self->orientation == GTK_ORIENTATION_HORIZONTAL) { + width = size; + height = allocation->height; + } else { + width = allocation->width; + height = size; + } + + if (width != self->child_width || height != self->child_height) + invalidate_drawing_cache (self); + + self->child_width = width; + self->child_height = height; + + for (children = self->children; children; children = children->next) { + HdyCarouselBoxChildInfo *child_info = children->data; + + if (child_info->removing) + continue; + + if (!gtk_widget_get_visible (child_info->widget)) + continue; + + if (!gtk_widget_get_realized (GTK_WIDGET (self))) + continue; + + gdk_window_resize (child_info->window, width, height); + } + + update_windows (self); + + for (children = self->children; children; children = children->next) { + HdyCarouselBoxChildInfo *child_info = children->data; + GtkWidget *child = child_info->widget; + GtkAllocation alloc; + + if (child_info->removing) + continue; + + if (!gtk_widget_get_visible (child)) + continue; + + alloc.x = 0; + alloc.y = 0; + alloc.width = width; + alloc.height = height; + gtk_widget_size_allocate (child, &alloc); + } + + gtk_widget_set_clip (widget, allocation); +} + +static void +hdy_carousel_box_add (GtkContainer *container, + GtkWidget *widget) +{ + HdyCarouselBox *self = HDY_CAROUSEL_BOX (container); + + hdy_carousel_box_insert (self, widget, -1); +} + +static void +shift_position (HdyCarouselBox *self, + gdouble delta) +{ + hdy_carousel_box_set_position (self, self->position + delta); + g_signal_emit (self, signals[SIGNAL_POSITION_SHIFTED], 0, delta); +} + +static void +hdy_carousel_box_remove (GtkContainer *container, + GtkWidget *widget) +{ + HdyCarouselBox *self = HDY_CAROUSEL_BOX (container); + HdyCarouselBoxChildInfo *info; + + info = find_child_info (self, widget); + if (!info) + return; + + info->removing = TRUE; + + gtk_widget_unparent (widget); + + if (gtk_widget_get_realized (GTK_WIDGET (container))) + unregister_window (info, self); + + info->widget = NULL; + + if (!gtk_widget_in_destruction (GTK_WIDGET (container))) + animate_child (self, info, 0, self->reveal_duration); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_N_PAGES]); +} + +static void +hdy_carousel_box_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + HdyCarouselBox *self = HDY_CAROUSEL_BOX (container); + g_autoptr (GList) children = NULL; + GList *l; + + children = g_list_copy (self->children); + for (l = children; l; l = l->next) { + HdyCarouselBoxChildInfo *child = l->data; + + if (!child->removing) + (* callback) (child->widget, callback_data); + } +} + +static void +hdy_carousel_box_finalize (GObject *object) +{ + HdyCarouselBox *self = HDY_CAROUSEL_BOX (object); + + if (self->tick_cb_id > 0) + gtk_widget_remove_tick_callback (GTK_WIDGET (self), self->tick_cb_id); + + g_list_free_full (self->children, (GDestroyNotify) free_child_info); + + G_OBJECT_CLASS (hdy_carousel_box_parent_class)->finalize (object); +} + +static void +hdy_carousel_box_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyCarouselBox *self = HDY_CAROUSEL_BOX (object); + + switch (prop_id) { + case PROP_N_PAGES: + g_value_set_uint (value, hdy_carousel_box_get_n_pages (self)); + break; + + case PROP_POSITION: + g_value_set_double (value, hdy_carousel_box_get_position (self)); + break; + + case PROP_SPACING: + g_value_set_uint (value, hdy_carousel_box_get_spacing (self)); + break; + + case PROP_REVEAL_DURATION: + g_value_set_uint (value, hdy_carousel_box_get_reveal_duration (self)); + break; + + case PROP_ORIENTATION: + g_value_set_enum (value, self->orientation); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_carousel_box_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyCarouselBox *self = HDY_CAROUSEL_BOX (object); + + switch (prop_id) { + case PROP_POSITION: + hdy_carousel_box_set_position (self, g_value_get_double (value)); + break; + + case PROP_SPACING: + hdy_carousel_box_set_spacing (self, g_value_get_uint (value)); + break; + + case PROP_REVEAL_DURATION: + hdy_carousel_box_set_reveal_duration (self, g_value_get_uint (value)); + break; + + case PROP_ORIENTATION: + { + GtkOrientation orientation = g_value_get_enum (value); + if (orientation != self->orientation) { + self->orientation = orientation; + gtk_widget_queue_resize (GTK_WIDGET (self)); + g_object_notify (G_OBJECT (self), "orientation"); + } + } + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_carousel_box_class_init (HdyCarouselBoxClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); + + object_class->finalize = hdy_carousel_box_finalize; + object_class->get_property = hdy_carousel_box_get_property; + object_class->set_property = hdy_carousel_box_set_property; + widget_class->draw = hdy_carousel_box_draw; + widget_class->get_preferred_width = hdy_carousel_box_get_preferred_width; + widget_class->get_preferred_height = hdy_carousel_box_get_preferred_height; + widget_class->get_preferred_width_for_height = hdy_carousel_box_get_preferred_width_for_height; + widget_class->get_preferred_height_for_width = hdy_carousel_box_get_preferred_height_for_width; + widget_class->map = hdy_carousel_box_map; + widget_class->realize = hdy_carousel_box_realize; + widget_class->unrealize = hdy_carousel_box_unrealize; + widget_class->size_allocate = hdy_carousel_box_size_allocate; + container_class->add = hdy_carousel_box_add; + container_class->remove = hdy_carousel_box_remove; + container_class->forall = hdy_carousel_box_forall; + + /** + * HdyCarouselBox:n-pages: + * + * The number of pages in a #HdyCarouselBox + * + * Since: 1.0 + */ + props[PROP_N_PAGES] = + g_param_spec_uint ("n-pages", + _("Number of pages"), + _("Number of pages"), + 0, + G_MAXUINT, + 0, + G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyCarouselBox:position: + * + * Current scrolling position, unitless. 1 matches 1 page. + * + * Since: 1.0 + */ + props[PROP_POSITION] = + g_param_spec_double ("position", + _("Position"), + _("Current scrolling position"), + 0, + G_MAXDOUBLE, + 0, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyCarouselBox:spacing: + * + * Spacing between pages in pixels. + * + * Since: 1.0 + */ + props[PROP_SPACING] = + g_param_spec_uint ("spacing", + _("Spacing"), + _("Spacing between pages"), + 0, + G_MAXUINT, + 0, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyCarouselBox:reveal-duration: + * + * Duration of the animation used when adding or removing pages, in + * milliseconds. + * + * Since: 1.0 + */ + props[PROP_REVEAL_DURATION] = + g_param_spec_uint ("reveal-duration", + _("Reveal duration"), + _("Page reveal duration"), + 0, + G_MAXUINT, + 0, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_override_property (object_class, + PROP_ORIENTATION, + "orientation"); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + /** + * HdyCarouselBox::animation-stopped: + * @self: The #HdyCarouselBox instance + * + * This signal is emitted after an animation has been stopped. If animations + * are disabled, the signal is emitted as well. + * + * Since: 1.0 + */ + signals[SIGNAL_ANIMATION_STOPPED] = + g_signal_new ("animation-stopped", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, NULL, + G_TYPE_NONE, + 0); + + /** + * HdyCarouselBox::position-shifted: + * @self: The #HdyCarouselBox instance + * @delta: The amount to shift the position by + * + * This signal is emitted when position has been programmatically shifted. + * + * Since: 1.0 + */ + signals[SIGNAL_POSITION_SHIFTED] = + g_signal_new ("position-shifted", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, NULL, + G_TYPE_NONE, + 1, + G_TYPE_DOUBLE); +} + +static void +hdy_carousel_box_init (HdyCarouselBox *self) +{ + GtkWidget *widget = GTK_WIDGET (self); + + self->orientation = GTK_ORIENTATION_HORIZONTAL; + self->reveal_duration = 0; + + gtk_widget_set_has_window (widget, FALSE); +} + +/** + * hdy_carousel_box_new: + * + * Create a new #HdyCarouselBox widget. + * + * Returns: The newly created #HdyCarouselBox widget + * + * Since: 1.0 + */ +GtkWidget * +hdy_carousel_box_new (void) +{ + return g_object_new (HDY_TYPE_CAROUSEL_BOX, NULL); +} + +/** + * hdy_carousel_box_insert: + * @self: a #HdyCarouselBox + * @widget: a widget to add + * @position: the position to insert @widget in. + * + * Inserts @widget into @self at position @position. + * + * If position is -1, or larger than the number of pages, @widget will be + * appended to the end. + * + * Since: 1.0 + */ +void +hdy_carousel_box_insert (HdyCarouselBox *self, + GtkWidget *widget, + gint position) +{ + HdyCarouselBoxChildInfo *info; + GList *prev_link; + + g_return_if_fail (HDY_IS_CAROUSEL_BOX (self)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + + info = g_new0 (HdyCarouselBoxChildInfo, 1); + info->widget = widget; + info->size = 0; + info->adding = TRUE; + + if (gtk_widget_get_realized (GTK_WIDGET (self))) + register_window (info, self); + + if (position >= 0) + prev_link = get_nth_link (self, position); + else + prev_link = NULL; + + self->children = g_list_insert_before (self->children, prev_link, info); + + gtk_widget_set_parent (widget, GTK_WIDGET (self)); + + update_windows (self); + + animate_child (self, info, 1, self->reveal_duration); + + invalidate_drawing_cache (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_N_PAGES]); +} + +/** + * hdy_carousel_box_reorder: + * @self: a #HdyCarouselBox + * @widget: a widget to add + * @position: the position to move @widget to. + * + * Moves @widget into position @position. + * + * If position is -1, or larger than the number of pages, @widget will be moved + * to the end. + * + * Since: 1.0 + */ +void +hdy_carousel_box_reorder (HdyCarouselBox *self, + GtkWidget *widget, + gint position) +{ + HdyCarouselBoxChildInfo *info, *prev_info; + GList *link, *prev_link; + gint old_position; + gdouble closest_point, old_point, new_point; + + g_return_if_fail (HDY_IS_CAROUSEL_BOX (self)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + + closest_point = hdy_carousel_box_get_closest_snap_point (self); + + info = find_child_info (self, widget); + link = g_list_find (self->children, info); + old_position = g_list_position (self->children, link); + + if (position == old_position) + return; + + old_point = ((HdyCarouselBoxChildInfo *) link->data)->snap_point; + + if (position < 0 || position >= hdy_carousel_box_get_n_pages (self)) + prev_link = g_list_last (self->children); + else + prev_link = get_nth_link (self, position); + + prev_info = prev_link->data; + new_point = prev_info->snap_point; + if (new_point > old_point) + new_point -= prev_info->size; + + self->children = g_list_remove_link (self->children, link); + self->children = g_list_insert_before (self->children, prev_link, link->data); + + if (closest_point == old_point) + shift_position (self, new_point - old_point); + else if (old_point > closest_point && closest_point >= new_point) + shift_position (self, info->size); + else if (new_point >= closest_point && closest_point > old_point) + shift_position (self, -info->size); +} + +/** + * hdy_carousel_box_is_animating: + * @self: a #HdyCarouselBox + * + * Get whether @self is animating position. + * + * Returns: %TRUE if an animation is running + * + * Since: 1.0 + */ +gboolean +hdy_carousel_box_is_animating (HdyCarouselBox *self) +{ + g_return_val_if_fail (HDY_IS_CAROUSEL_BOX (self), FALSE); + + return (self->animation.start_time != 0); +} + +/** + * hdy_carousel_box_stop_animation: + * @self: a #HdyCarouselBox + * + * Stops a running animation. If there's no animation running, does nothing. + * + * It does not reset position to a non-transient value automatically. + * + * Since: 1.0 + */ +void +hdy_carousel_box_stop_animation (HdyCarouselBox *self) +{ + g_return_if_fail (HDY_IS_CAROUSEL_BOX (self)); + + if (self->animation.start_time == 0) + return; + + self->animation.start_time = 0; + self->animation.end_time = 0; +} + +/** + * hdy_carousel_box_scroll_to: + * @self: a #HdyCarouselBox + * @widget: a child of @self + * @duration: animation duration in milliseconds + * + * Scrolls to @widget position over the next @duration milliseconds using + * easeOutCubic interpolator. + * + * If an animation was already running, it will be cancelled automatically. + * + * @duration can be 0, in that case the position will be + * changed immediately. + * + * Since: 1.0 + */ +void +hdy_carousel_box_scroll_to (HdyCarouselBox *self, + GtkWidget *widget, + gint64 duration) +{ + GdkFrameClock *frame_clock; + gint64 frame_time; + gdouble position; + HdyCarouselBoxChildInfo *child; + + g_return_if_fail (HDY_IS_CAROUSEL_BOX (self)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + g_return_if_fail (duration >= 0); + + child = find_child_info (self, widget); + position = child->snap_point; + + hdy_carousel_box_stop_animation (self); + + if (duration <= 0 || !hdy_get_enable_animations (GTK_WIDGET (self))) { + hdy_carousel_box_set_position (self, position); + g_signal_emit (self, signals[SIGNAL_ANIMATION_STOPPED], 0); + return; + } + + frame_clock = gtk_widget_get_frame_clock (GTK_WIDGET (self)); + if (!frame_clock) { + hdy_carousel_box_set_position (self, position); + g_signal_emit (self, signals[SIGNAL_ANIMATION_STOPPED], 0); + return; + } + + frame_time = gdk_frame_clock_get_frame_time (frame_clock); + + self->destination_child = child; + + self->animation.start_value = self->position; + self->animation.end_value = position; + + self->animation.start_time = frame_time / 1000; + self->animation.end_time = self->animation.start_time + duration; + if (self->tick_cb_id == 0) + self->tick_cb_id = + gtk_widget_add_tick_callback (GTK_WIDGET (self), animation_cb, self, NULL); +} + +/** + * hdy_carousel_box_get_n_pages: + * @self: a #HdyCarouselBox + * + * Gets the number of pages in @self. + * + * Returns: The number of pages in @self + * + * Since: 1.0 + */ +guint +hdy_carousel_box_get_n_pages (HdyCarouselBox *self) +{ + GList *l; + guint n_pages; + + g_return_val_if_fail (HDY_IS_CAROUSEL_BOX (self), 0); + + n_pages = 0; + for (l = self->children; l; l = l->next) { + HdyCarouselBoxChildInfo *child = l->data; + + if (!child->removing) + n_pages++; + } + + return n_pages; +} + +/** + * hdy_carousel_box_get_distance: + * @self: a #HdyCarouselBox + * + * Gets swiping distance between two adjacent children in pixels. + * + * Returns: The swiping distance in pixels + * + * Since: 1.0 + */ +gdouble +hdy_carousel_box_get_distance (HdyCarouselBox *self) +{ + g_return_val_if_fail (HDY_IS_CAROUSEL_BOX (self), 0); + + return self->distance; +} + +/** + * hdy_carousel_box_get_position: + * @self: a #HdyCarouselBox + * + * Gets current scroll position in @self. It's unitless, 1 matches 1 page. + * + * Returns: The scroll position + * + * Since: 1.0 + */ +gdouble +hdy_carousel_box_get_position (HdyCarouselBox *self) +{ + g_return_val_if_fail (HDY_IS_CAROUSEL_BOX (self), 0); + + return self->position; +} + +/** + * hdy_carousel_box_set_position: + * @self: a #HdyCarouselBox + * @position: the new position value + * + * Sets current scroll position in @self, unitless, 1 matches 1 page. + * + * Since: 1.0 + */ +void +hdy_carousel_box_set_position (HdyCarouselBox *self, + gdouble position) +{ + GList *l; + + g_return_if_fail (HDY_IS_CAROUSEL_BOX (self)); + + set_position (self, position); + + for (l = self->children; l; l = l->next) { + HdyCarouselBoxChildInfo *child = l->data; + + if (child->adding || child->removing) + update_shift_position_flag (self, child); + } +} + +/** + * hdy_carousel_box_get_spacing: + * @self: a #HdyCarouselBox + * + * Gets spacing between pages in pixels. + * + * Returns: Spacing between pages + * + * Since: 1.0 + */ +guint +hdy_carousel_box_get_spacing (HdyCarouselBox *self) +{ + g_return_val_if_fail (HDY_IS_CAROUSEL_BOX (self), 0); + + return self->spacing; +} + +/** + * hdy_carousel_box_set_spacing: + * @self: a #HdyCarouselBox + * @spacing: the new spacing value + * + * Sets spacing between pages in pixels. + * + * Since: 1.0 + */ +void +hdy_carousel_box_set_spacing (HdyCarouselBox *self, + guint spacing) +{ + g_return_if_fail (HDY_IS_CAROUSEL_BOX (self)); + + if (self->spacing == spacing) + return; + + self->spacing = spacing; + gtk_widget_queue_resize (GTK_WIDGET (self)); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SPACING]); +} + +/** + * hdy_carousel_box_get_reveal_duration: + * @self: a #HdyCarouselBox + * + * Gets duration of the animation used when adding or removing pages in + * milliseconds. + * + * Returns: Page reveal duration + * + * Since: 1.0 + */ +guint +hdy_carousel_box_get_reveal_duration (HdyCarouselBox *self) +{ + g_return_val_if_fail (HDY_IS_CAROUSEL_BOX (self), 0); + + return self->reveal_duration; +} + +/** + * hdy_carousel_box_set_reveal_duration: + * @self: a #HdyCarouselBox + * @reveal_duration: the new reveal duration value + * + * Sets duration of the animation used when adding or removing pages in + * milliseconds. + * + * Since: 1.0 + */ +void +hdy_carousel_box_set_reveal_duration (HdyCarouselBox *self, + guint reveal_duration) +{ + g_return_if_fail (HDY_IS_CAROUSEL_BOX (self)); + + if (self->reveal_duration == reveal_duration) + return; + + self->reveal_duration = reveal_duration; + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REVEAL_DURATION]); +} + +/** + * hdy_carousel_box_get_nth_child: + * @self: a #HdyCarouselBox + * @n: the child index + * + * Retrieves @n-th child widget of @self. + * + * Returns: The @n-th child widget + * + * Since: 1.0 + */ +GtkWidget * +hdy_carousel_box_get_nth_child (HdyCarouselBox *self, + guint n) +{ + HdyCarouselBoxChildInfo *info; + + g_return_val_if_fail (HDY_IS_CAROUSEL_BOX (self), NULL); + g_return_val_if_fail (n < hdy_carousel_box_get_n_pages (self), NULL); + + info = get_nth_link (self, n)->data; + + return info->widget; +} + +/** + * hdy_carousel_box_get_snap_points: + * @self: a #HdyCarouselBox + * @n_snap_points: (out) + * + * Gets the snap points of @self, representing the points between each page, + * before the first page and after the last page. + * + * Returns: (array length=n_snap_points) (transfer full): the snap points of @self + * + * Since: 1.0 + */ +gdouble * +hdy_carousel_box_get_snap_points (HdyCarouselBox *self, + gint *n_snap_points) +{ + guint i, n_pages; + gdouble *points; + GList *l; + + g_return_val_if_fail (HDY_IS_CAROUSEL_BOX (self), NULL); + + n_pages = MAX (g_list_length (self->children), 1); + + points = g_new0 (gdouble, n_pages); + + i = 0; + for (l = self->children; l; l = l->next) { + HdyCarouselBoxChildInfo *info = l->data; + + points[i++] = info->snap_point; + } + + if (n_snap_points) + *n_snap_points = n_pages; + + return points; +} + +/** + * hdy_carousel_box_get_range: + * @self: a #HdyCarouselBox + * @lower: (out) (optional): location to store the lowest possible position, or %NULL + * @upper: (out) (optional): location to store the maximum possible position, or %NULL + * + * Gets the range of possible positions. + * + * Since: 1.0 + */ +void +hdy_carousel_box_get_range (HdyCarouselBox *self, + gdouble *lower, + gdouble *upper) +{ + GList *l; + HdyCarouselBoxChildInfo *child; + + g_return_if_fail (HDY_IS_CAROUSEL_BOX (self)); + + l = g_list_last (self->children); + child = l ? l->data : NULL; + + if (lower) + *lower = 0; + + if (upper) + *upper = child ? child->snap_point : 0; +} + +/** + * hdy_carousel_box_get_closest_snap_point: + * @self: a #HdyCarouselBox + * + * Gets the snap point closest to the current position. + * + * Returns: the closest snap point. + * + * Since: 1.0 + */ +gdouble +hdy_carousel_box_get_closest_snap_point (HdyCarouselBox *self) +{ + HdyCarouselBoxChildInfo *closest_child; + + closest_child = get_closest_child_at (self, self->position, TRUE, TRUE); + + if (!closest_child) + return 0; + + return closest_child->snap_point; +} + +/** + * hdy_carousel_box_get_page_at_position: + * @self: a #HdyCarouselBox + * @position: a scroll position + * + * Gets the page closest to @position. For example, if @position matches + * the current position, the returned widget will match the currently + * displayed page. + * + * Returns: (nullable): the closest page. + * + * Since: 1.0 + */ +GtkWidget * +hdy_carousel_box_get_page_at_position (HdyCarouselBox *self, + gdouble position) +{ + gdouble lower, upper; + HdyCarouselBoxChildInfo *child; + + g_return_val_if_fail (HDY_IS_CAROUSEL_BOX (self), NULL); + + hdy_carousel_box_get_range (self, &lower, &upper); + + position = CLAMP (position, lower, upper); + + child = get_closest_child_at (self, position, TRUE, FALSE); + + if (!child) + return NULL; + + return child->widget; +} + +/** + * hdy_carousel_box_get_current_page_index: + * @self: a #HdyCarouselBox + * + * Gets the index of the currently displayed page. + * + * Returns: the index of the current page. + * + * Since: 1.0 + */ +gint +hdy_carousel_box_get_current_page_index (HdyCarouselBox *self) +{ + GtkWidget *child; + + g_return_val_if_fail (HDY_IS_CAROUSEL_BOX (self), 0); + + child = hdy_carousel_box_get_page_at_position (self, self->position); + + return find_child_index (self, child, FALSE); +} diff --git a/subprojects/libhandy/src/hdy-carousel-indicator-dots.c b/subprojects/libhandy/src/hdy-carousel-indicator-dots.c new file mode 100644 index 00000000..5bbc5417 --- /dev/null +++ b/subprojects/libhandy/src/hdy-carousel-indicator-dots.c @@ -0,0 +1,486 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-carousel-indicator-dots.h" + +#include "hdy-animation-private.h" +#include "hdy-swipeable.h" + +#include + +#define DOTS_RADIUS 3 +#define DOTS_RADIUS_SELECTED 4 +#define DOTS_OPACITY 0.3 +#define DOTS_OPACITY_SELECTED 0.9 +#define DOTS_SPACING 7 +#define DOTS_MARGIN 6 + +/** + * SECTION:hdy-carousel-indicator-dots + * @short_description: A dots indicator for #HdyCarousel + * @title: HdyCarouselIndicatorDots + * @See_also: #HdyCarousel, #HdyCarouselIndicatorLines + * + * The #HdyCarouselIndicatorDots widget can be used to show a set of dots for each + * page of a given #HdyCarousel. The dot representing the carousel's active page + * is larger and more opaque than the others, the transition to the active and + * inactive state is gradual to match the carousel's position. + * + * # CSS nodes + * + * #HdyCarouselIndicatorDots has a single CSS node with name carouselindicatordots. + * + * Since: 1.0 + */ + +struct _HdyCarouselIndicatorDots +{ + GtkDrawingArea parent_instance; + + HdyCarousel *carousel; + GtkOrientation orientation; + + guint tick_cb_id; + guint64 end_time; +}; + +G_DEFINE_TYPE_WITH_CODE (HdyCarouselIndicatorDots, hdy_carousel_indicator_dots, GTK_TYPE_DRAWING_AREA, + G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)) + +enum { + PROP_0, + PROP_CAROUSEL, + + /* GtkOrientable */ + PROP_ORIENTATION, + LAST_PROP = PROP_CAROUSEL + 1, +}; + +static GParamSpec *props[LAST_PROP]; + +static gboolean +animation_cb (GtkWidget *widget, + GdkFrameClock *frame_clock, + gpointer user_data) +{ + HdyCarouselIndicatorDots *self = HDY_CAROUSEL_INDICATOR_DOTS (widget); + gint64 frame_time; + + g_assert (self->tick_cb_id > 0); + + gtk_widget_queue_draw (GTK_WIDGET (self)); + + frame_time = gdk_frame_clock_get_frame_time (frame_clock) / 1000; + + if (frame_time >= self->end_time || + !hdy_get_enable_animations (GTK_WIDGET (self))) { + self->tick_cb_id = 0; + return G_SOURCE_REMOVE; + } + + return G_SOURCE_CONTINUE; +} + +static void +stop_animation (HdyCarouselIndicatorDots *self) +{ + if (self->tick_cb_id == 0) + return; + + gtk_widget_remove_tick_callback (GTK_WIDGET (self), self->tick_cb_id); + self->tick_cb_id = 0; +} + +static void +animate (HdyCarouselIndicatorDots *self, + gint64 duration) +{ + GdkFrameClock *frame_clock; + gint64 frame_time; + + if (duration <= 0 || !hdy_get_enable_animations (GTK_WIDGET (self))) { + gtk_widget_queue_draw (GTK_WIDGET (self)); + return; + } + + frame_clock = gtk_widget_get_frame_clock (GTK_WIDGET (self)); + if (!frame_clock) { + gtk_widget_queue_draw (GTK_WIDGET (self)); + return; + } + + frame_time = gdk_frame_clock_get_frame_time (frame_clock); + + self->end_time = MAX (self->end_time, frame_time / 1000 + duration); + if (self->tick_cb_id == 0) + self->tick_cb_id = gtk_widget_add_tick_callback (GTK_WIDGET (self), + animation_cb, + NULL, NULL); +} + +static GdkRGBA +get_color (GtkWidget *widget) +{ + GtkStyleContext *context; + GtkStateFlags flags; + GdkRGBA color; + + context = gtk_widget_get_style_context (widget); + flags = gtk_widget_get_state_flags (widget); + gtk_style_context_get_color (context, flags, &color); + + return color; +} + +static void +draw_dots (GtkWidget *widget, + cairo_t *cr, + GtkOrientation orientation, + gdouble position, + gdouble *sizes, + guint n_pages) +{ + GdkRGBA color; + gint i, widget_length, widget_thickness; + gdouble x, y, indicator_length, dot_size, full_size; + gdouble current_position, remaining_progress; + + color = get_color (widget); + dot_size = 2 * DOTS_RADIUS_SELECTED + DOTS_SPACING; + + indicator_length = 0; + for (i = 0; i < n_pages; i++) + indicator_length += dot_size * sizes[i]; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) { + widget_length = gtk_widget_get_allocated_width (widget); + widget_thickness = gtk_widget_get_allocated_height (widget); + } else { + widget_length = gtk_widget_get_allocated_height (widget); + widget_thickness = gtk_widget_get_allocated_width (widget); + } + + /* Ensure the indicators are aligned to pixel grid when not animating */ + full_size = round (indicator_length / dot_size) * dot_size; + if ((widget_length - (gint) full_size) % 2 == 0) + widget_length--; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + cairo_translate (cr, (widget_length - indicator_length) / 2.0, widget_thickness / 2); + else + cairo_translate (cr, widget_thickness / 2, (widget_length - indicator_length) / 2.0); + + x = 0; + y = 0; + + current_position = 0; + remaining_progress = 1; + + for (i = 0; i < n_pages; i++) { + gdouble progress, radius, opacity; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + x += dot_size * sizes[i] / 2.0; + else + y += dot_size * sizes[i] / 2.0; + + current_position += sizes[i]; + + progress = CLAMP (current_position - position, 0, remaining_progress); + remaining_progress -= progress; + + radius = hdy_lerp (DOTS_RADIUS, DOTS_RADIUS_SELECTED, progress) * sizes[i]; + opacity = hdy_lerp (DOTS_OPACITY, DOTS_OPACITY_SELECTED, progress) * sizes[i]; + + cairo_set_source_rgba (cr, color.red, color.green, color.blue, + color.alpha * opacity); + cairo_arc (cr, x, y, radius, 0, 2 * G_PI); + cairo_fill (cr); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + x += dot_size * sizes[i] / 2.0; + else + y += dot_size * sizes[i] / 2.0; + } +} + +static void +n_pages_changed_cb (HdyCarouselIndicatorDots *self) +{ + animate (self, hdy_carousel_get_reveal_duration (self->carousel)); +} + +static void +hdy_carousel_indicator_dots_measure (GtkWidget *widget, + GtkOrientation orientation, + gint for_size, + gint *minimum, + gint *natural, + gint *minimum_baseline, + gint *natural_baseline) +{ + HdyCarouselIndicatorDots *self = HDY_CAROUSEL_INDICATOR_DOTS (widget); + gint size = 0; + + if (orientation == self->orientation) { + gint n_pages = 0; + if (self->carousel) + n_pages = hdy_carousel_get_n_pages (self->carousel); + + size = MAX (0, (2 * DOTS_RADIUS_SELECTED + DOTS_SPACING) * n_pages - DOTS_SPACING); + } else { + size = 2 * DOTS_RADIUS_SELECTED; + } + + size += 2 * DOTS_MARGIN; + + if (minimum) + *minimum = size; + + if (natural) + *natural = size; + + if (minimum_baseline) + *minimum_baseline = -1; + + if (natural_baseline) + *natural_baseline = -1; +} + +static void +hdy_carousel_indicator_dots_get_preferred_width (GtkWidget *widget, + gint *minimum_width, + gint *natural_width) +{ + hdy_carousel_indicator_dots_measure (widget, GTK_ORIENTATION_HORIZONTAL, -1, + minimum_width, natural_width, NULL, NULL); +} + +static void +hdy_carousel_indicator_dots_get_preferred_height (GtkWidget *widget, + gint *minimum_height, + gint *natural_height) +{ + hdy_carousel_indicator_dots_measure (widget, GTK_ORIENTATION_VERTICAL, -1, + minimum_height, natural_height, NULL, NULL); +} + +static gboolean +hdy_carousel_indicator_dots_draw (GtkWidget *widget, + cairo_t *cr) +{ + HdyCarouselIndicatorDots *self = HDY_CAROUSEL_INDICATOR_DOTS (widget); + gint i, n_points; + gdouble position; + g_autofree gdouble *points = NULL; + g_autofree gdouble *sizes = NULL; + + if (!self->carousel) + return GDK_EVENT_PROPAGATE; + + points = hdy_swipeable_get_snap_points (HDY_SWIPEABLE (self->carousel), &n_points); + position = hdy_carousel_get_position (self->carousel); + + if (n_points < 2) + return GDK_EVENT_PROPAGATE; + + if (self->orientation == GTK_ORIENTATION_HORIZONTAL && + gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) + position = points[n_points - 1] - position; + + sizes = g_new0 (gdouble, n_points); + + sizes[0] = points[0] + 1; + for (i = 1; i < n_points; i++) + sizes[i] = points[i] - points[i - 1]; + + draw_dots (widget, cr, self->orientation, position, sizes, n_points); + + return GDK_EVENT_PROPAGATE; +} + +static void +hdy_carousel_dispose (GObject *object) +{ + HdyCarouselIndicatorDots *self = HDY_CAROUSEL_INDICATOR_DOTS (object); + + hdy_carousel_indicator_dots_set_carousel (self, NULL); + + G_OBJECT_CLASS (hdy_carousel_indicator_dots_parent_class)->dispose (object); +} + +static void +hdy_carousel_indicator_dots_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyCarouselIndicatorDots *self = HDY_CAROUSEL_INDICATOR_DOTS (object); + + switch (prop_id) { + case PROP_CAROUSEL: + g_value_set_object (value, hdy_carousel_indicator_dots_get_carousel (self)); + break; + + case PROP_ORIENTATION: + g_value_set_enum (value, self->orientation); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_carousel_indicator_dots_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyCarouselIndicatorDots *self = HDY_CAROUSEL_INDICATOR_DOTS (object); + + switch (prop_id) { + case PROP_CAROUSEL: + hdy_carousel_indicator_dots_set_carousel (self, g_value_get_object (value)); + break; + + case PROP_ORIENTATION: + { + GtkOrientation orientation = g_value_get_enum (value); + if (orientation != self->orientation) { + self->orientation = orientation; + gtk_widget_queue_resize (GTK_WIDGET (self)); + g_object_notify (G_OBJECT (self), "orientation"); + } + } + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_carousel_indicator_dots_class_init (HdyCarouselIndicatorDotsClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + object_class->dispose = hdy_carousel_dispose; + object_class->get_property = hdy_carousel_indicator_dots_get_property; + object_class->set_property = hdy_carousel_indicator_dots_set_property; + + widget_class->get_preferred_width = hdy_carousel_indicator_dots_get_preferred_width; + widget_class->get_preferred_height = hdy_carousel_indicator_dots_get_preferred_height; + widget_class->draw = hdy_carousel_indicator_dots_draw; + + /** + * HdyCarouselIndicatorDots:carousel: + * + * The #HdyCarousel the indicator uses. + * + * Since: 1.0 + */ + props[PROP_CAROUSEL] = + g_param_spec_object ("carousel", + _("Carousel"), + _("Carousel"), + HDY_TYPE_CAROUSEL, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_override_property (object_class, + PROP_ORIENTATION, + "orientation"); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + gtk_widget_class_set_css_name (widget_class, "carouselindicatordots"); +} + +static void +hdy_carousel_indicator_dots_init (HdyCarouselIndicatorDots *self) +{ +} + +/** + * hdy_carousel_indicator_dots_new: + * + * Create a new #HdyCarouselIndicatorDots widget. + * + * Returns: (transfer full): The newly created #HdyCarouselIndicatorDots widget + * + * Since: 1.0 + */ +GtkWidget * +hdy_carousel_indicator_dots_new (void) +{ + return g_object_new (HDY_TYPE_CAROUSEL_INDICATOR_DOTS, NULL); +} + +/** + * hdy_carousel_indicator_dots_get_carousel: + * @self: a #HdyCarouselIndicatorDots + * + * Get the #HdyCarousel the indicator uses. + * + * See: hdy_carousel_indicator_dots_set_carousel() + * + * Returns: (nullable) (transfer none): the #HdyCarousel, or %NULL if none has been set + * + * Since: 1.0 + */ + +HdyCarousel * +hdy_carousel_indicator_dots_get_carousel (HdyCarouselIndicatorDots *self) +{ + g_return_val_if_fail (HDY_IS_CAROUSEL_INDICATOR_DOTS (self), NULL); + + return self->carousel; +} + +/** + * hdy_carousel_indicator_dots_set_carousel: + * @self: a #HdyCarouselIndicatorDots + * @carousel: (nullable): a #HdyCarousel + * + * Sets the #HdyCarousel to use. + * + * Since: 1.0 + */ +void +hdy_carousel_indicator_dots_set_carousel (HdyCarouselIndicatorDots *self, + HdyCarousel *carousel) +{ + g_return_if_fail (HDY_IS_CAROUSEL_INDICATOR_DOTS (self)); + g_return_if_fail (HDY_IS_CAROUSEL (carousel) || carousel == NULL); + + if (self->carousel == carousel) + return; + + if (self->carousel) { + stop_animation (self); + g_signal_handlers_disconnect_by_func (self->carousel, gtk_widget_queue_draw, self); + g_signal_handlers_disconnect_by_func (self->carousel, n_pages_changed_cb, self); + } + + g_set_object (&self->carousel, carousel); + + if (self->carousel) { + g_signal_connect_object (self->carousel, "notify::position", + G_CALLBACK (gtk_widget_queue_draw), self, + G_CONNECT_SWAPPED); + g_signal_connect_object (self->carousel, "notify::n-pages", + G_CALLBACK (n_pages_changed_cb), self, + G_CONNECT_SWAPPED); + } + + gtk_widget_queue_draw (GTK_WIDGET (self)); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CAROUSEL]); +} diff --git a/subprojects/libhandy/src/hdy-carousel-indicator-dots.h b/subprojects/libhandy/src/hdy-carousel-indicator-dots.h new file mode 100644 index 00000000..032886e4 --- /dev/null +++ b/subprojects/libhandy/src/hdy-carousel-indicator-dots.h @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include "hdy-carousel.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_CAROUSEL_INDICATOR_DOTS (hdy_carousel_indicator_dots_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdyCarouselIndicatorDots, hdy_carousel_indicator_dots, HDY, CAROUSEL_INDICATOR_DOTS, GtkDrawingArea) + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_carousel_indicator_dots_new (void); + +HDY_AVAILABLE_IN_ALL +HdyCarousel *hdy_carousel_indicator_dots_get_carousel (HdyCarouselIndicatorDots *self); +HDY_AVAILABLE_IN_ALL +void hdy_carousel_indicator_dots_set_carousel (HdyCarouselIndicatorDots *self, + HdyCarousel *carousel); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-carousel-indicator-lines.c b/subprojects/libhandy/src/hdy-carousel-indicator-lines.c new file mode 100644 index 00000000..fba9b380 --- /dev/null +++ b/subprojects/libhandy/src/hdy-carousel-indicator-lines.c @@ -0,0 +1,485 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-carousel-indicator-lines.h" + +#include "hdy-animation-private.h" +#include "hdy-swipeable.h" + +#include + +#define LINE_WIDTH 3 +#define LINE_LENGTH 35 +#define LINE_SPACING 5 +#define LINE_OPACITY 0.3 +#define LINE_OPACITY_ACTIVE 0.9 +#define LINE_MARGIN 2 + +/** + * SECTION:hdy-carousel-indicator-lines + * @short_description: A lines indicator for #HdyCarousel + * @title: HdyCarouselIndicatorLines + * @See_also: #HdyCarousel, #HdyCarouselIndicatorDots + * + * The #HdyCarouselIndicatorLines widget can be used to show a set of thin and long + * rectangles for each page of a given #HdyCarousel. The carousel's active page + * is shown with another rectangle that moves between them to match the + * carousel's position. + * + * # CSS nodes + * + * #HdyCarouselIndicatorLines has a single CSS node with name carouselindicatorlines. + * + * Since: 1.0 + */ + +struct _HdyCarouselIndicatorLines +{ + GtkDrawingArea parent_instance; + + HdyCarousel *carousel; + GtkOrientation orientation; + + guint tick_cb_id; + guint64 end_time; +}; + +G_DEFINE_TYPE_WITH_CODE (HdyCarouselIndicatorLines, hdy_carousel_indicator_lines, GTK_TYPE_DRAWING_AREA, + G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)) + +enum { + PROP_0, + PROP_CAROUSEL, + + /* GtkOrientable */ + PROP_ORIENTATION, + LAST_PROP = PROP_CAROUSEL + 1, +}; + +static GParamSpec *props[LAST_PROP]; + +static gboolean +animation_cb (GtkWidget *widget, + GdkFrameClock *frame_clock, + gpointer user_data) +{ + HdyCarouselIndicatorLines *self = HDY_CAROUSEL_INDICATOR_LINES (widget); + gint64 frame_time; + + g_assert (self->tick_cb_id > 0); + + gtk_widget_queue_draw (GTK_WIDGET (self)); + + frame_time = gdk_frame_clock_get_frame_time (frame_clock) / 1000; + + if (frame_time >= self->end_time || + !hdy_get_enable_animations (GTK_WIDGET (self))) { + self->tick_cb_id = 0; + return G_SOURCE_REMOVE; + } + + return G_SOURCE_CONTINUE; +} + +static void +stop_animation (HdyCarouselIndicatorLines *self) +{ + if (self->tick_cb_id == 0) + return; + + gtk_widget_remove_tick_callback (GTK_WIDGET (self), self->tick_cb_id); + self->tick_cb_id = 0; +} + +static void +animate (HdyCarouselIndicatorLines *self, + gint64 duration) +{ + GdkFrameClock *frame_clock; + gint64 frame_time; + + if (duration <= 0 || !hdy_get_enable_animations (GTK_WIDGET (self))) { + gtk_widget_queue_draw (GTK_WIDGET (self)); + return; + } + + frame_clock = gtk_widget_get_frame_clock (GTK_WIDGET (self)); + if (!frame_clock) { + gtk_widget_queue_draw (GTK_WIDGET (self)); + return; + } + + frame_time = gdk_frame_clock_get_frame_time (frame_clock); + + self->end_time = MAX (self->end_time, frame_time / 1000 + duration); + if (self->tick_cb_id == 0) + self->tick_cb_id = gtk_widget_add_tick_callback (GTK_WIDGET (self), + animation_cb, + NULL, NULL); +} + +static GdkRGBA +get_color (GtkWidget *widget) +{ + GtkStyleContext *context; + GtkStateFlags flags; + GdkRGBA color; + + context = gtk_widget_get_style_context (widget); + flags = gtk_widget_get_state_flags (widget); + gtk_style_context_get_color (context, flags, &color); + + return color; +} + +static void +draw_lines (GtkWidget *widget, + cairo_t *cr, + GtkOrientation orientation, + gdouble position, + gdouble *sizes, + guint n_pages) +{ + GdkRGBA color; + gint i, widget_length, widget_thickness; + gdouble indicator_length, full_size, line_size, pos; + + color = get_color (widget); + + line_size = LINE_LENGTH + LINE_SPACING; + indicator_length = 0; + for (i = 0; i < n_pages; i++) + indicator_length += line_size * sizes[i]; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) { + widget_length = gtk_widget_get_allocated_width (widget); + widget_thickness = gtk_widget_get_allocated_height (widget); + } else { + widget_length = gtk_widget_get_allocated_height (widget); + widget_thickness = gtk_widget_get_allocated_width (widget); + } + + /* Ensure the indicators are aligned to pixel grid when not animating */ + full_size = round (indicator_length / line_size) * line_size; + if ((widget_length - (gint) full_size) % 2 == 0) + widget_length--; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) { + cairo_translate (cr, (widget_length - indicator_length) / 2.0, (widget_thickness - LINE_WIDTH) / 2); + cairo_scale (cr, 1, LINE_WIDTH); + } else { + cairo_translate (cr, (widget_thickness - LINE_WIDTH) / 2, (widget_length - indicator_length) / 2.0); + cairo_scale (cr, LINE_WIDTH, 1); + } + + pos = 0; + cairo_set_source_rgba (cr, color.red, color.green, color.blue, + color.alpha * LINE_OPACITY); + for (i = 0; i < n_pages; i++) { + gdouble length; + + length = (LINE_LENGTH + LINE_SPACING) * sizes[i] - LINE_SPACING; + + if (length > 0) { + if (orientation == GTK_ORIENTATION_HORIZONTAL) + cairo_rectangle (cr, LINE_SPACING / 2.0 + pos, 0, length, 1); + else + cairo_rectangle (cr, 0, LINE_SPACING / 2.0 + pos, 1, length); + } + + cairo_fill (cr); + + pos += (LINE_LENGTH + LINE_SPACING) * sizes[i]; + } + + cairo_set_source_rgba (cr, color.red, color.green, color.blue, + color.alpha * LINE_OPACITY_ACTIVE); + + pos = LINE_SPACING / 2.0 + position * (LINE_LENGTH + LINE_SPACING); + if (orientation == GTK_ORIENTATION_HORIZONTAL) + cairo_rectangle (cr, pos, 0, LINE_LENGTH, 1); + else + cairo_rectangle (cr, 0, pos, 1, LINE_LENGTH); + cairo_fill (cr); +} + +static void +n_pages_changed_cb (HdyCarouselIndicatorLines *self) +{ + animate (self, hdy_carousel_get_reveal_duration (self->carousel)); +} + +static void +hdy_carousel_indicator_lines_measure (GtkWidget *widget, + GtkOrientation orientation, + gint for_size, + gint *minimum, + gint *natural, + gint *minimum_baseline, + gint *natural_baseline) +{ + HdyCarouselIndicatorLines *self = HDY_CAROUSEL_INDICATOR_LINES (widget); + gint size = 0; + + if (orientation == self->orientation) { + gint n_pages = 0; + if (self->carousel) + n_pages = hdy_carousel_get_n_pages (self->carousel); + + size = MAX (0, (LINE_LENGTH + LINE_SPACING) * n_pages - LINE_SPACING); + } else { + size = LINE_WIDTH; + } + + size += 2 * LINE_MARGIN; + + if (minimum) + *minimum = size; + + if (natural) + *natural = size; + + if (minimum_baseline) + *minimum_baseline = -1; + + if (natural_baseline) + *natural_baseline = -1; +} + +static void +hdy_carousel_indicator_lines_get_preferred_width (GtkWidget *widget, + gint *minimum_width, + gint *natural_width) +{ + hdy_carousel_indicator_lines_measure (widget, GTK_ORIENTATION_HORIZONTAL, -1, + minimum_width, natural_width, NULL, NULL); +} + +static void +hdy_carousel_indicator_lines_get_preferred_height (GtkWidget *widget, + gint *minimum_height, + gint *natural_height) +{ + hdy_carousel_indicator_lines_measure (widget, GTK_ORIENTATION_VERTICAL, -1, + minimum_height, natural_height, NULL, NULL); +} + +static gboolean +hdy_carousel_indicator_lines_draw (GtkWidget *widget, + cairo_t *cr) +{ + HdyCarouselIndicatorLines *self = HDY_CAROUSEL_INDICATOR_LINES (widget); + gint i, n_points; + gdouble position; + g_autofree gdouble *points = NULL; + g_autofree gdouble *sizes = NULL; + + if (!self->carousel) + return GDK_EVENT_PROPAGATE; + + points = hdy_swipeable_get_snap_points (HDY_SWIPEABLE (self->carousel), &n_points); + position = hdy_carousel_get_position (self->carousel); + + if (n_points < 2) + return GDK_EVENT_PROPAGATE; + + if (self->orientation == GTK_ORIENTATION_HORIZONTAL && + gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) + position = points[n_points - 1] - position; + + sizes = g_new0 (gdouble, n_points); + + sizes[0] = points[0] + 1; + for (i = 1; i < n_points; i++) + sizes[i] = points[i] - points[i - 1]; + + draw_lines (widget, cr, self->orientation, position, sizes, n_points); + + return GDK_EVENT_PROPAGATE; +} + +static void +hdy_carousel_dispose (GObject *object) +{ + HdyCarouselIndicatorLines *self = HDY_CAROUSEL_INDICATOR_LINES (object); + + hdy_carousel_indicator_lines_set_carousel (self, NULL); + + G_OBJECT_CLASS (hdy_carousel_indicator_lines_parent_class)->dispose (object); +} + +static void +hdy_carousel_indicator_lines_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyCarouselIndicatorLines *self = HDY_CAROUSEL_INDICATOR_LINES (object); + + switch (prop_id) { + case PROP_CAROUSEL: + g_value_set_object (value, hdy_carousel_indicator_lines_get_carousel (self)); + break; + + case PROP_ORIENTATION: + g_value_set_enum (value, self->orientation); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_carousel_indicator_lines_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyCarouselIndicatorLines *self = HDY_CAROUSEL_INDICATOR_LINES (object); + + switch (prop_id) { + case PROP_CAROUSEL: + hdy_carousel_indicator_lines_set_carousel (self, g_value_get_object (value)); + break; + + case PROP_ORIENTATION: + { + GtkOrientation orientation = g_value_get_enum (value); + if (orientation != self->orientation) { + self->orientation = orientation; + gtk_widget_queue_resize (GTK_WIDGET (self)); + g_object_notify (G_OBJECT (self), "orientation"); + } + } + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_carousel_indicator_lines_class_init (HdyCarouselIndicatorLinesClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + object_class->dispose = hdy_carousel_dispose; + object_class->get_property = hdy_carousel_indicator_lines_get_property; + object_class->set_property = hdy_carousel_indicator_lines_set_property; + + widget_class->get_preferred_width = hdy_carousel_indicator_lines_get_preferred_width; + widget_class->get_preferred_height = hdy_carousel_indicator_lines_get_preferred_height; + widget_class->draw = hdy_carousel_indicator_lines_draw; + + /** + * HdyCarouselIndicatorLines:carousel: + * + * The #HdyCarousel the indicator uses. + * + * Since: 1.0 + */ + props[PROP_CAROUSEL] = + g_param_spec_object ("carousel", + _("Carousel"), + _("Carousel"), + HDY_TYPE_CAROUSEL, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_override_property (object_class, + PROP_ORIENTATION, + "orientation"); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + gtk_widget_class_set_css_name (widget_class, "carouselindicatorlines"); +} + +static void +hdy_carousel_indicator_lines_init (HdyCarouselIndicatorLines *self) +{ +} + +/** + * hdy_carousel_indicator_lines_new: + * + * Create a new #HdyCarouselIndicatorLines widget. + * + * Returns: (transfer full): The newly created #HdyCarouselIndicatorLines widget + * + * Since: 1.0 + */ +GtkWidget * +hdy_carousel_indicator_lines_new (void) +{ + return g_object_new (HDY_TYPE_CAROUSEL_INDICATOR_LINES, NULL); +} + +/** + * hdy_carousel_indicator_lines_get_carousel: + * @self: a #HdyCarouselIndicatorLines + * + * Get the #HdyCarousel the indicator uses. + * + * See: hdy_carousel_indicator_lines_set_carousel() + * + * Returns: (nullable) (transfer none): the #HdyCarousel, or %NULL if none has been set + * + * Since: 1.0 + */ + +HdyCarousel * +hdy_carousel_indicator_lines_get_carousel (HdyCarouselIndicatorLines *self) +{ + g_return_val_if_fail (HDY_IS_CAROUSEL_INDICATOR_LINES (self), NULL); + + return self->carousel; +} + +/** + * hdy_carousel_indicator_lines_set_carousel: + * @self: a #HdyCarouselIndicatorLines + * @carousel: (nullable): a #HdyCarousel + * + * Sets the #HdyCarousel to use. + * + * Since: 1.0 + */ +void +hdy_carousel_indicator_lines_set_carousel (HdyCarouselIndicatorLines *self, + HdyCarousel *carousel) +{ + g_return_if_fail (HDY_IS_CAROUSEL_INDICATOR_LINES (self)); + g_return_if_fail (HDY_IS_CAROUSEL (carousel) || carousel == NULL); + + if (self->carousel == carousel) + return; + + if (self->carousel) { + stop_animation (self); + g_signal_handlers_disconnect_by_func (self->carousel, gtk_widget_queue_draw, self); + g_signal_handlers_disconnect_by_func (self->carousel, n_pages_changed_cb, self); + } + + g_set_object (&self->carousel, carousel); + + if (self->carousel) { + g_signal_connect_object (self->carousel, "notify::position", + G_CALLBACK (gtk_widget_queue_draw), self, + G_CONNECT_SWAPPED); + g_signal_connect_object (self->carousel, "notify::n-pages", + G_CALLBACK (n_pages_changed_cb), self, + G_CONNECT_SWAPPED); + } + + gtk_widget_queue_draw (GTK_WIDGET (self)); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CAROUSEL]); +} diff --git a/subprojects/libhandy/src/hdy-carousel-indicator-lines.h b/subprojects/libhandy/src/hdy-carousel-indicator-lines.h new file mode 100644 index 00000000..baae57de --- /dev/null +++ b/subprojects/libhandy/src/hdy-carousel-indicator-lines.h @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include "hdy-carousel.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_CAROUSEL_INDICATOR_LINES (hdy_carousel_indicator_lines_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdyCarouselIndicatorLines, hdy_carousel_indicator_lines, HDY, CAROUSEL_INDICATOR_LINES, GtkDrawingArea) + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_carousel_indicator_lines_new (void); + +HDY_AVAILABLE_IN_ALL +HdyCarousel *hdy_carousel_indicator_lines_get_carousel (HdyCarouselIndicatorLines *self); +HDY_AVAILABLE_IN_ALL +void hdy_carousel_indicator_lines_set_carousel (HdyCarouselIndicatorLines *self, + HdyCarousel *carousel); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-carousel.c b/subprojects/libhandy/src/hdy-carousel.c new file mode 100644 index 00000000..7d8db553 --- /dev/null +++ b/subprojects/libhandy/src/hdy-carousel.c @@ -0,0 +1,1099 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-carousel.h" + +#include "hdy-animation-private.h" +#include "hdy-carousel-box-private.h" +#include "hdy-navigation-direction.h" +#include "hdy-swipe-tracker.h" +#include "hdy-swipeable.h" + +#include + +#define DEFAULT_DURATION 250 + +/** + * SECTION:hdy-carousel + * @short_description: A paginated scrolling widget. + * @title: HdyCarousel + * @See_also: #HdyCarouselIndicatorDots, #HdyCarouselIndicatorLines + * + * The #HdyCarousel widget can be used to display a set of pages with + * swipe-based navigation between them. + * + * # CSS nodes + * + * #HdyCarousel has a single CSS node with name carousel. + * + * Since: 1.0 + */ + +struct _HdyCarousel +{ + GtkEventBox parent_instance; + + HdyCarouselBox *scrolling_box; + + HdySwipeTracker *tracker; + + GtkOrientation orientation; + guint animation_duration; + + gulong scroll_timeout_id; + gboolean can_scroll; +}; + +static void hdy_carousel_swipeable_init (HdySwipeableInterface *iface); + +G_DEFINE_TYPE_WITH_CODE (HdyCarousel, hdy_carousel, GTK_TYPE_EVENT_BOX, + G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL) + G_IMPLEMENT_INTERFACE (HDY_TYPE_SWIPEABLE, hdy_carousel_swipeable_init)) + +enum { + PROP_0, + PROP_N_PAGES, + PROP_POSITION, + PROP_INTERACTIVE, + PROP_SPACING, + PROP_ANIMATION_DURATION, + PROP_ALLOW_MOUSE_DRAG, + PROP_REVEAL_DURATION, + + /* GtkOrientable */ + PROP_ORIENTATION, + LAST_PROP = PROP_REVEAL_DURATION + 1, +}; + +static GParamSpec *props[LAST_PROP]; + +enum { + SIGNAL_PAGE_CHANGED, + SIGNAL_LAST_SIGNAL, +}; +static guint signals[SIGNAL_LAST_SIGNAL]; + + +static void +hdy_carousel_switch_child (HdySwipeable *swipeable, + guint index, + gint64 duration) +{ + HdyCarousel *self = HDY_CAROUSEL (swipeable); + GtkWidget *child; + + child = hdy_carousel_box_get_nth_child (self->scrolling_box, index); + + hdy_carousel_box_scroll_to (self->scrolling_box, child, duration); +} + +static void +begin_swipe_cb (HdySwipeTracker *tracker, + HdyNavigationDirection direction, + gboolean direct, + HdyCarousel *self) +{ + hdy_carousel_box_stop_animation (self->scrolling_box); +} + +static void +update_swipe_cb (HdySwipeTracker *tracker, + gdouble progress, + HdyCarousel *self) +{ + hdy_carousel_box_set_position (self->scrolling_box, progress); +} + +static void +end_swipe_cb (HdySwipeTracker *tracker, + gint64 duration, + gdouble to, + HdyCarousel *self) +{ + GtkWidget *child; + + child = hdy_carousel_box_get_page_at_position (self->scrolling_box, to); + hdy_carousel_box_scroll_to (self->scrolling_box, child, duration); +} + +static HdySwipeTracker * +hdy_carousel_get_swipe_tracker (HdySwipeable *swipeable) +{ + HdyCarousel *self = HDY_CAROUSEL (swipeable); + + return self->tracker; +} + +static gdouble +hdy_carousel_get_distance (HdySwipeable *swipeable) +{ + HdyCarousel *self = HDY_CAROUSEL (swipeable); + + return hdy_carousel_box_get_distance (self->scrolling_box); +} + +static gdouble * +hdy_carousel_get_snap_points (HdySwipeable *swipeable, + gint *n_snap_points) +{ + HdyCarousel *self = HDY_CAROUSEL (swipeable); + + return hdy_carousel_box_get_snap_points (self->scrolling_box, + n_snap_points); +} + +static gdouble +hdy_carousel_get_progress (HdySwipeable *swipeable) +{ + HdyCarousel *self = HDY_CAROUSEL (swipeable); + + return hdy_carousel_get_position (self); +} + +static gdouble +hdy_carousel_get_cancel_progress (HdySwipeable *swipeable) +{ + HdyCarousel *self = HDY_CAROUSEL (swipeable); + + return hdy_carousel_box_get_closest_snap_point (self->scrolling_box); +} + +static void +notify_n_pages_cb (HdyCarousel *self, + GParamSpec *spec, + GObject *object) +{ + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_N_PAGES]); +} + +static void +notify_position_cb (HdyCarousel *self, + GParamSpec *spec, + GObject *object) +{ + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_POSITION]); +} + +static void +notify_spacing_cb (HdyCarousel *self, + GParamSpec *spec, + GObject *object) +{ + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SPACING]); +} + +static void +notify_reveal_duration_cb (HdyCarousel *self, + GParamSpec *spec, + GObject *object) +{ + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REVEAL_DURATION]); +} + +static void +animation_stopped_cb (HdyCarousel *self, + HdyCarouselBox *box) +{ + gint index; + + index = hdy_carousel_box_get_current_page_index (self->scrolling_box); + + g_signal_emit (self, signals[SIGNAL_PAGE_CHANGED], 0, index); +} + +static void +position_shifted_cb (HdyCarousel *self, + gdouble delta, + HdyCarouselBox *box) +{ + hdy_swipe_tracker_shift_position (self->tracker, delta); +} + +/* Copied from GtkOrientable. Orientable widgets are supposed + * to do this manually via a private GTK function. */ +static void +set_orientable_style_classes (GtkOrientable *orientable) +{ + GtkStyleContext *context; + GtkOrientation orientation; + + g_return_if_fail (GTK_IS_ORIENTABLE (orientable)); + g_return_if_fail (GTK_IS_WIDGET (orientable)); + + context = gtk_widget_get_style_context (GTK_WIDGET (orientable)); + orientation = gtk_orientable_get_orientation (orientable); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); + } + else + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); + } +} + +static void +update_orientation (HdyCarousel *self) +{ + gboolean reversed; + + if (!self->scrolling_box) + return; + + reversed = self->orientation == GTK_ORIENTATION_HORIZONTAL && + gtk_widget_get_direction (GTK_WIDGET (self)) == GTK_TEXT_DIR_RTL; + + g_object_set (self->scrolling_box, "orientation", self->orientation, NULL); + g_object_set (self->tracker, "orientation", self->orientation, + "reversed", reversed, NULL); + + set_orientable_style_classes (GTK_ORIENTABLE (self)); + set_orientable_style_classes (GTK_ORIENTABLE (self->scrolling_box)); +} + +static gboolean +scroll_timeout_cb (HdyCarousel *self) +{ + self->can_scroll = TRUE; + return G_SOURCE_REMOVE; +} + +static gboolean +scroll_event_cb (HdyCarousel *self, + GdkEvent *event) +{ + GdkDevice *source_device; + GdkInputSource input_source; + GdkScrollDirection direction; + gdouble dx, dy; + gint index; + gboolean allow_vertical; + GtkOrientation orientation; + guint duration; + + if (!self->can_scroll) + return GDK_EVENT_PROPAGATE; + + if (!hdy_carousel_get_interactive (self)) + return GDK_EVENT_PROPAGATE; + + if (event->type != GDK_SCROLL) + return GDK_EVENT_PROPAGATE; + + source_device = gdk_event_get_source_device (event); + input_source = gdk_device_get_source (source_device); + if (input_source == GDK_SOURCE_TOUCHPAD) + return GDK_EVENT_PROPAGATE; + + /* Mice often don't have easily accessible horizontal scrolling, + * hence allow vertical mouse scrolling regardless of orientation */ + allow_vertical = (input_source == GDK_SOURCE_MOUSE); + + if (gdk_event_get_scroll_direction (event, &direction)) { + dx = 0; + dy = 0; + + switch (direction) { + case GDK_SCROLL_UP: + dy = -1; + break; + case GDK_SCROLL_DOWN: + dy = 1; + break; + case GDK_SCROLL_LEFT: + dy = -1; + break; + case GDK_SCROLL_RIGHT: + dy = 1; + break; + case GDK_SCROLL_SMOOTH: + g_assert_not_reached (); + default: + return GDK_EVENT_PROPAGATE; + } + } else { + gdk_event_get_scroll_deltas (event, &dx, &dy); + } + + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (self)); + index = 0; + + if (orientation == GTK_ORIENTATION_VERTICAL || allow_vertical) { + if (dy > 0) + index++; + else if (dy < 0) + index--; + } + + if (orientation == GTK_ORIENTATION_HORIZONTAL && index == 0) { + if (dx > 0) + index++; + else if (dx < 0) + index--; + } + + if (index == 0) + return GDK_EVENT_PROPAGATE; + + index += hdy_carousel_box_get_current_page_index (self->scrolling_box); + index = CLAMP (index, 0, (gint) hdy_carousel_get_n_pages (self) - 1); + + hdy_carousel_scroll_to (self, hdy_carousel_box_get_nth_child (self->scrolling_box, index)); + + /* Don't allow the delay to go lower than 250ms */ + duration = MIN (self->animation_duration, DEFAULT_DURATION); + + self->can_scroll = FALSE; + g_timeout_add (duration, (GSourceFunc) scroll_timeout_cb, self); + + return GDK_EVENT_STOP; +} + +static void +hdy_carousel_destroy (GtkWidget *widget) +{ + HdyCarousel *self = HDY_CAROUSEL (widget); + + if (self->scrolling_box) { + gtk_widget_destroy (GTK_WIDGET (self->scrolling_box)); + self->scrolling_box = NULL; + } + + GTK_WIDGET_CLASS (hdy_carousel_parent_class)->destroy (widget); +} + +static void +hdy_carousel_direction_changed (GtkWidget *widget, + GtkTextDirection previous_direction) +{ + HdyCarousel *self = HDY_CAROUSEL (widget); + + update_orientation (self); +} + +static void +hdy_carousel_add (GtkContainer *container, + GtkWidget *widget) +{ + HdyCarousel *self = HDY_CAROUSEL (container); + + if (self->scrolling_box) + gtk_container_add (GTK_CONTAINER (self->scrolling_box), widget); + else + GTK_CONTAINER_CLASS (hdy_carousel_parent_class)->add (container, widget); +} + +static void +hdy_carousel_remove (GtkContainer *container, + GtkWidget *widget) +{ + HdyCarousel *self = HDY_CAROUSEL (container); + + if (self->scrolling_box) + gtk_container_remove (GTK_CONTAINER (self->scrolling_box), widget); + else + GTK_CONTAINER_CLASS (hdy_carousel_parent_class)->remove (container, widget); +} + +static void +hdy_carousel_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + HdyCarousel *self = HDY_CAROUSEL (container); + + if (include_internals) + (* callback) (GTK_WIDGET (self->scrolling_box), callback_data); + else if (self->scrolling_box) + gtk_container_foreach (GTK_CONTAINER (self->scrolling_box), + callback, callback_data); +} + +static void +hdy_carousel_constructed (GObject *object) +{ + HdyCarousel *self = (HdyCarousel *)object; + + update_orientation (self); + + G_OBJECT_CLASS (hdy_carousel_parent_class)->constructed (object); +} + +static void +hdy_carousel_dispose (GObject *object) +{ + HdyCarousel *self = (HdyCarousel *)object; + + g_clear_object (&self->tracker); + + if (self->scroll_timeout_id != 0) { + g_source_remove (self->scroll_timeout_id); + self->scroll_timeout_id = 0; + } + + G_OBJECT_CLASS (hdy_carousel_parent_class)->dispose (object); +} + +static void +hdy_carousel_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyCarousel *self = HDY_CAROUSEL (object); + + switch (prop_id) { + case PROP_N_PAGES: + g_value_set_uint (value, hdy_carousel_get_n_pages (self)); + break; + + case PROP_POSITION: + g_value_set_double (value, hdy_carousel_get_position (self)); + break; + + case PROP_INTERACTIVE: + g_value_set_boolean (value, hdy_carousel_get_interactive (self)); + break; + + case PROP_SPACING: + g_value_set_uint (value, hdy_carousel_get_spacing (self)); + break; + + case PROP_ALLOW_MOUSE_DRAG: + g_value_set_boolean (value, hdy_carousel_get_allow_mouse_drag (self)); + break; + + case PROP_REVEAL_DURATION: + g_value_set_uint (value, hdy_carousel_get_reveal_duration (self)); + break; + + case PROP_ORIENTATION: + g_value_set_enum (value, self->orientation); + break; + + case PROP_ANIMATION_DURATION: + g_value_set_uint (value, hdy_carousel_get_animation_duration (self)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_carousel_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyCarousel *self = HDY_CAROUSEL (object); + + switch (prop_id) { + case PROP_INTERACTIVE: + hdy_carousel_set_interactive (self, g_value_get_boolean (value)); + break; + + case PROP_SPACING: + hdy_carousel_set_spacing (self, g_value_get_uint (value)); + break; + + case PROP_ANIMATION_DURATION: + hdy_carousel_set_animation_duration (self, g_value_get_uint (value)); + break; + + case PROP_REVEAL_DURATION: + hdy_carousel_set_reveal_duration (self, g_value_get_uint (value)); + break; + + case PROP_ALLOW_MOUSE_DRAG: + hdy_carousel_set_allow_mouse_drag (self, g_value_get_boolean (value)); + break; + + case PROP_ORIENTATION: + { + GtkOrientation orientation = g_value_get_enum (value); + if (orientation != self->orientation) { + self->orientation = orientation; + update_orientation (self); + g_object_notify (G_OBJECT (self), "orientation"); + } + } + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_carousel_swipeable_init (HdySwipeableInterface *iface) +{ + iface->switch_child = hdy_carousel_switch_child; + iface->get_swipe_tracker = hdy_carousel_get_swipe_tracker; + iface->get_distance = hdy_carousel_get_distance; + iface->get_snap_points = hdy_carousel_get_snap_points; + iface->get_progress = hdy_carousel_get_progress; + iface->get_cancel_progress = hdy_carousel_get_cancel_progress; +} + +static void +hdy_carousel_class_init (HdyCarouselClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); + + object_class->constructed = hdy_carousel_constructed; + object_class->dispose = hdy_carousel_dispose; + object_class->get_property = hdy_carousel_get_property; + object_class->set_property = hdy_carousel_set_property; + widget_class->destroy = hdy_carousel_destroy; + widget_class->direction_changed = hdy_carousel_direction_changed; + container_class->add = hdy_carousel_add; + container_class->remove = hdy_carousel_remove; + container_class->forall = hdy_carousel_forall; + + /** + * HdyCarousel:n-pages: + * + * The number of pages in a #HdyCarousel + * + * Since: 1.0 + */ + props[PROP_N_PAGES] = + g_param_spec_uint ("n-pages", + _("Number of pages"), + _("Number of pages"), + 0, + G_MAXUINT, + 0, + G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyCarousel:position: + * + * Current scrolling position, unitless. 1 matches 1 page. Use + * hdy_carousel_scroll_to() for changing it. + * + * Since: 1.0 + */ + props[PROP_POSITION] = + g_param_spec_double ("position", + _("Position"), + _("Current scrolling position"), + 0, + G_MAXDOUBLE, + 0, + G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyCarousel:interactive: + * + * Whether the carousel can be navigated. This can be used to temporarily + * disable a #HdyCarousel to only allow navigating it in a certain state. + * + * Since: 1.0 + */ + props[PROP_INTERACTIVE] = + g_param_spec_boolean ("interactive", + _("Interactive"), + _("Whether the widget can be swiped"), + TRUE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyCarousel:spacing: + * + * Spacing between pages in pixels. + * + * Since: 1.0 + */ + props[PROP_SPACING] = + g_param_spec_uint ("spacing", + _("Spacing"), + _("Spacing between pages"), + 0, + G_MAXUINT, + 0, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyCarousel:animation-duration: + * + * Animation duration in milliseconds, used by hdy_carousel_scroll_to(). + * + * Since: 1.0 + */ + props[PROP_ANIMATION_DURATION] = + g_param_spec_uint ("animation-duration", + _("Animation duration"), + _("Default animation duration"), + 0, G_MAXUINT, DEFAULT_DURATION, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyCarousel:allow-mouse-drag: + * + * Sets whether the #HdyCarousel can be dragged with mouse pointer. If the + * value is %FALSE, dragging is only available on touch. + * + * Since: 1.0 + */ + props[PROP_ALLOW_MOUSE_DRAG] = + g_param_spec_boolean ("allow-mouse-drag", + _("Allow mouse drag"), + _("Whether to allow dragging with mouse pointer"), + TRUE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyCarousel:reveal-duration: + * + * Page reveal duration in milliseconds. + * + * Since: 1.0 + */ + props[PROP_REVEAL_DURATION] = + g_param_spec_uint ("reveal-duration", + _("Reveal duration"), + _("Page reveal duration"), + 0, + G_MAXUINT, + 0, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_override_property (object_class, + PROP_ORIENTATION, + "orientation"); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + /** + * HdyCarousel::page-changed: + * @self: The #HdyCarousel instance + * @index: Current page + * + * This signal is emitted after a page has been changed. This can be used to + * implement "infinite scrolling" by connecting to this signal and amending + * the pages. + * + * Since: 1.0 + */ + signals[SIGNAL_PAGE_CHANGED] = + g_signal_new ("page-changed", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, NULL, + G_TYPE_NONE, + 1, + G_TYPE_UINT); + + gtk_widget_class_set_template_from_resource (widget_class, + "/sm/puri/handy/ui/hdy-carousel.ui"); + gtk_widget_class_bind_template_child (widget_class, HdyCarousel, scrolling_box); + gtk_widget_class_bind_template_callback (widget_class, scroll_event_cb); + gtk_widget_class_bind_template_callback (widget_class, notify_n_pages_cb); + gtk_widget_class_bind_template_callback (widget_class, notify_position_cb); + gtk_widget_class_bind_template_callback (widget_class, notify_spacing_cb); + gtk_widget_class_bind_template_callback (widget_class, notify_reveal_duration_cb); + gtk_widget_class_bind_template_callback (widget_class, animation_stopped_cb); + gtk_widget_class_bind_template_callback (widget_class, position_shifted_cb); + + gtk_widget_class_set_css_name (widget_class, "carousel"); +} + +static void +hdy_carousel_init (HdyCarousel *self) +{ + g_type_ensure (HDY_TYPE_CAROUSEL_BOX); + gtk_widget_init_template (GTK_WIDGET (self)); + + self->animation_duration = DEFAULT_DURATION; + + self->tracker = hdy_swipe_tracker_new (HDY_SWIPEABLE (self)); + hdy_swipe_tracker_set_allow_mouse_drag (self->tracker, TRUE); + + g_signal_connect_object (self->tracker, "begin-swipe", G_CALLBACK (begin_swipe_cb), self, 0); + g_signal_connect_object (self->tracker, "update-swipe", G_CALLBACK (update_swipe_cb), self, 0); + g_signal_connect_object (self->tracker, "end-swipe", G_CALLBACK (end_swipe_cb), self, 0); + + self->can_scroll = TRUE; +} + +/** + * hdy_carousel_new: + * + * Create a new #HdyCarousel widget. + * + * Returns: The newly created #HdyCarousel widget + * + * Since: 1.0 + */ +GtkWidget * +hdy_carousel_new (void) +{ + return g_object_new (HDY_TYPE_CAROUSEL, NULL); +} + +/** + * hdy_carousel_prepend: + * @self: a #HdyCarousel + * @child: a widget to add + * + * Prepends @child to @self + * + * Since: 1.0 + */ +void +hdy_carousel_prepend (HdyCarousel *self, + GtkWidget *widget) +{ + g_return_if_fail (HDY_IS_CAROUSEL (self)); + + hdy_carousel_box_insert (self->scrolling_box, widget, 0); +} + +/** + * hdy_carousel_insert: + * @self: a #HdyCarousel + * @child: a widget to add + * @position: the position to insert @child in. + * + * Inserts @child into @self at position @position. + * + * If position is -1, or larger than the number of pages, + * @child will be appended to the end. + * + * Since: 1.0 + */ +void +hdy_carousel_insert (HdyCarousel *self, + GtkWidget *widget, + gint position) +{ + g_return_if_fail (HDY_IS_CAROUSEL (self)); + + hdy_carousel_box_insert (self->scrolling_box, widget, position); +} +/** + * hdy_carousel_reorder: + * @self: a #HdyCarousel + * @child: a widget to add + * @position: the position to move @child to. + * + * Moves @child into position @position. + * + * If position is -1, or larger than the number of pages, @child will be moved + * to the end. + * + * Since: 1.0 + */ +void +hdy_carousel_reorder (HdyCarousel *self, + GtkWidget *child, + gint position) +{ + g_return_if_fail (HDY_IS_CAROUSEL (self)); + g_return_if_fail (GTK_IS_WIDGET (child)); + + hdy_carousel_box_reorder (self->scrolling_box, child, position); +} + +/** + * hdy_carousel_scroll_to: + * @self: a #HdyCarousel + * @widget: a child of @self + * + * Scrolls to @widget position with an animation. + * #HdyCarousel:animation-duration property can be used for controlling the + * duration. + * + * Since: 1.0 + */ +void +hdy_carousel_scroll_to (HdyCarousel *self, + GtkWidget *widget) +{ + g_return_if_fail (HDY_IS_CAROUSEL (self)); + + hdy_carousel_scroll_to_full (self, widget, self->animation_duration); +} + +/** + * hdy_carousel_scroll_to_full: + * @self: a #HdyCarousel + * @widget: a child of @self + * @duration: animation duration in milliseconds + * + * Scrolls to @widget position with an animation. + * + * Since: 1.0 + */ +void +hdy_carousel_scroll_to_full (HdyCarousel *self, + GtkWidget *widget, + gint64 duration) +{ + GList *children; + gint n; + + g_return_if_fail (HDY_IS_CAROUSEL (self)); + + children = gtk_container_get_children (GTK_CONTAINER (self->scrolling_box)); + n = g_list_index (children, widget); + g_list_free (children); + + hdy_carousel_box_scroll_to (self->scrolling_box, widget, + duration); + hdy_swipeable_emit_child_switched (HDY_SWIPEABLE (self), n, duration); +} + +/** + * hdy_carousel_get_n_pages: + * @self: a #HdyCarousel + * + * Gets the number of pages in @self. + * + * Returns: The number of pages in @self + * + * Since: 1.0 + */ +guint +hdy_carousel_get_n_pages (HdyCarousel *self) +{ + g_return_val_if_fail (HDY_IS_CAROUSEL (self), 0); + + return hdy_carousel_box_get_n_pages (self->scrolling_box); +} + +/** + * hdy_carousel_get_position: + * @self: a #HdyCarousel + * + * Gets current scroll position in @self. It's unitless, 1 matches 1 page. + * + * Returns: The scroll position + * + * Since: 1.0 + */ +gdouble +hdy_carousel_get_position (HdyCarousel *self) +{ + g_return_val_if_fail (HDY_IS_CAROUSEL (self), 0); + + return hdy_carousel_box_get_position (self->scrolling_box); +} + +/** + * hdy_carousel_get_interactive + * @self: a #HdyCarousel + * + * Gets whether @self can be navigated. + * + * Returns: %TRUE if @self can be swiped + * + * Since: 1.0 + */ +gboolean +hdy_carousel_get_interactive (HdyCarousel *self) +{ + g_return_val_if_fail (HDY_IS_CAROUSEL (self), FALSE); + + return hdy_swipe_tracker_get_enabled (self->tracker); +} + +/** + * hdy_carousel_set_interactive + * @self: a #HdyCarousel + * @interactive: whether @self can be swiped. + * + * Sets whether @self can be navigated. This can be used to temporarily disable + * a #HdyCarousel to only allow swiping in a certain state. + * + * Since: 1.0 + */ +void +hdy_carousel_set_interactive (HdyCarousel *self, + gboolean interactive) +{ + g_return_if_fail (HDY_IS_CAROUSEL (self)); + + interactive = !!interactive; + + if (hdy_swipe_tracker_get_enabled (self->tracker) == interactive) + return; + + hdy_swipe_tracker_set_enabled (self->tracker, interactive); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INTERACTIVE]); +} + +/** + * hdy_carousel_get_spacing: + * @self: a #HdyCarousel + * + * Gets spacing between pages in pixels. + * + * Returns: Spacing between pages + * + * Since: 1.0 + */ +guint +hdy_carousel_get_spacing (HdyCarousel *self) +{ + g_return_val_if_fail (HDY_IS_CAROUSEL (self), 0); + + return hdy_carousel_box_get_spacing (self->scrolling_box); +} + +/** + * hdy_carousel_set_spacing: + * @self: a #HdyCarousel + * @spacing: the new spacing value + * + * Sets spacing between pages in pixels. + * + * Since: 1.0 + */ +void +hdy_carousel_set_spacing (HdyCarousel *self, + guint spacing) +{ + g_return_if_fail (HDY_IS_CAROUSEL (self)); + + hdy_carousel_box_set_spacing (self->scrolling_box, spacing); +} + +/** + * hdy_carousel_get_animation_duration: + * @self: a #HdyCarousel + * + * Gets animation duration used by hdy_carousel_scroll_to(). + * + * Returns: Animation duration in milliseconds + * + * Since: 1.0 + */ +guint +hdy_carousel_get_animation_duration (HdyCarousel *self) +{ + g_return_val_if_fail (HDY_IS_CAROUSEL (self), 0); + + return self->animation_duration; +} + +/** + * hdy_carousel_set_animation_duration: + * @self: a #HdyCarousel + * @duration: animation duration in milliseconds + * + * Sets animation duration used by hdy_carousel_scroll_to(). + * + * Since: 1.0 + */ +void +hdy_carousel_set_animation_duration (HdyCarousel *self, + guint duration) +{ + g_return_if_fail (HDY_IS_CAROUSEL (self)); + + if (self->animation_duration == duration) + return; + + self->animation_duration = duration; + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ANIMATION_DURATION]); +} + +/** + * hdy_carousel_get_allow_mouse_drag: + * @self: a #HdyCarousel + * + * Sets whether @self can be dragged with mouse pointer + * + * Returns: %TRUE if @self can be dragged with mouse + * + * Since: 1.0 + */ +gboolean +hdy_carousel_get_allow_mouse_drag (HdyCarousel *self) +{ + g_return_val_if_fail (HDY_IS_CAROUSEL (self), FALSE); + + return hdy_swipe_tracker_get_allow_mouse_drag (self->tracker); +} + +/** + * hdy_carousel_set_allow_mouse_drag: + * @self: a #HdyCarousel + * @allow_mouse_drag: whether @self can be dragged with mouse pointer + * + * Sets whether @self can be dragged with mouse pointer. If @allow_mouse_drag + * is %FALSE, dragging is only available on touch. + * + * Since: 1.0 + */ +void +hdy_carousel_set_allow_mouse_drag (HdyCarousel *self, + gboolean allow_mouse_drag) +{ + g_return_if_fail (HDY_IS_CAROUSEL (self)); + + allow_mouse_drag = !!allow_mouse_drag; + + if (hdy_carousel_get_allow_mouse_drag (self) == allow_mouse_drag) + return; + + hdy_swipe_tracker_set_allow_mouse_drag (self->tracker, allow_mouse_drag); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ALLOW_MOUSE_DRAG]); +} + +/** + * hdy_carousel_get_reveal_duration: + * @self: a #HdyCarousel + * + * Gets duration of the animation used when adding or removing pages in + * milliseconds. + * + * Returns: Page reveal duration + * + * Since: 1.0 + */ +guint +hdy_carousel_get_reveal_duration (HdyCarousel *self) +{ + g_return_val_if_fail (HDY_IS_CAROUSEL (self), 0); + + return hdy_carousel_box_get_reveal_duration (self->scrolling_box); +} + +/** + * hdy_carousel_set_reveal_duration: + * @self: a #HdyCarousel + * @reveal_duration: the new reveal duration value + * + * Sets duration of the animation used when adding or removing pages in + * milliseconds. + * + * Since: 1.0 + */ +void +hdy_carousel_set_reveal_duration (HdyCarousel *self, + guint reveal_duration) +{ + g_return_if_fail (HDY_IS_CAROUSEL (self)); + + hdy_carousel_box_set_reveal_duration (self->scrolling_box, reveal_duration); +} diff --git a/subprojects/libhandy/src/hdy-carousel.h b/subprojects/libhandy/src/hdy-carousel.h new file mode 100644 index 00000000..4318b653 --- /dev/null +++ b/subprojects/libhandy/src/hdy-carousel.h @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_CAROUSEL (hdy_carousel_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdyCarousel, hdy_carousel, HDY, CAROUSEL, GtkEventBox) + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_carousel_new (void); + +HDY_AVAILABLE_IN_ALL +void hdy_carousel_prepend (HdyCarousel *self, + GtkWidget *child); +HDY_AVAILABLE_IN_ALL +void hdy_carousel_insert (HdyCarousel *self, + GtkWidget *child, + gint position); +HDY_AVAILABLE_IN_ALL +void hdy_carousel_reorder (HdyCarousel *self, + GtkWidget *child, + gint position); + +HDY_AVAILABLE_IN_ALL +void hdy_carousel_scroll_to (HdyCarousel *self, + GtkWidget *widget); +HDY_AVAILABLE_IN_ALL +void hdy_carousel_scroll_to_full (HdyCarousel *self, + GtkWidget *widget, + gint64 duration); + +HDY_AVAILABLE_IN_ALL +guint hdy_carousel_get_n_pages (HdyCarousel *self); +HDY_AVAILABLE_IN_ALL +gdouble hdy_carousel_get_position (HdyCarousel *self); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_carousel_get_interactive (HdyCarousel *self); +HDY_AVAILABLE_IN_ALL +void hdy_carousel_set_interactive (HdyCarousel *self, + gboolean interactive); + +HDY_AVAILABLE_IN_ALL +guint hdy_carousel_get_spacing (HdyCarousel *self); +HDY_AVAILABLE_IN_ALL +void hdy_carousel_set_spacing (HdyCarousel *self, + guint spacing); + +HDY_AVAILABLE_IN_ALL +guint hdy_carousel_get_animation_duration (HdyCarousel *self); +HDY_AVAILABLE_IN_ALL +void hdy_carousel_set_animation_duration (HdyCarousel *self, + guint duration); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_carousel_get_allow_mouse_drag (HdyCarousel *self); +HDY_AVAILABLE_IN_ALL +void hdy_carousel_set_allow_mouse_drag (HdyCarousel *self, + gboolean allow_mouse_drag); + +HDY_AVAILABLE_IN_ALL +guint hdy_carousel_get_reveal_duration (HdyCarousel *self); +HDY_AVAILABLE_IN_ALL +void hdy_carousel_set_reveal_duration (HdyCarousel *self, + guint reveal_duration); +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-carousel.ui b/subprojects/libhandy/src/hdy-carousel.ui new file mode 100644 index 00000000..c9bf5535 --- /dev/null +++ b/subprojects/libhandy/src/hdy-carousel.ui @@ -0,0 +1,21 @@ + + + + + diff --git a/subprojects/libhandy/src/hdy-clamp.c b/subprojects/libhandy/src/hdy-clamp.c new file mode 100644 index 00000000..9cb9f235 --- /dev/null +++ b/subprojects/libhandy/src/hdy-clamp.c @@ -0,0 +1,563 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include "hdy-clamp.h" + +#include +#include + +#include "hdy-animation-private.h" + +/** + * SECTION:hdy-clamp + * @short_description: A container constraining its child to a given size. + * @Title: HdyClamp + * + * The #HdyClamp widget constraints the size of the widget it contains to a + * given maximum size. It will constrain the width if it is horizontal, or the + * height if it is vertical. The expansion of the child from its minimum to its + * maximum size is eased out for a smooth transition. + * + * If the child requires more than the requested maximum size, it will be + * allocated the minimum size it can fit in instead. + * + * # CSS nodes + * + * #HdyClamp has a single CSS node with name clamp. The node will get the style + * classes .large when its child reached its maximum size, .small when the clamp + * allocates its full size to its child, .medium in-between, or none if it + * didn't compute its size yet. + * + * Since: 1.0 + */ + +#define HDY_EASE_OUT_TAN_CUBIC 3 + +enum { + PROP_0, + PROP_MAXIMUM_SIZE, + PROP_TIGHTENING_THRESHOLD, + + /* Overridden properties */ + PROP_ORIENTATION, + + LAST_PROP = PROP_TIGHTENING_THRESHOLD + 1, +}; + +struct _HdyClamp +{ + GtkBin parent_instance; + + gint maximum_size; + gint tightening_threshold; + + GtkOrientation orientation; +}; + +static GParamSpec *props[LAST_PROP]; + +G_DEFINE_TYPE_WITH_CODE (HdyClamp, hdy_clamp, GTK_TYPE_BIN, + G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)) + +static void +set_orientation (HdyClamp *self, + GtkOrientation orientation) +{ + if (self->orientation == orientation) + return; + + self->orientation = orientation; + gtk_widget_queue_resize (GTK_WIDGET (self)); + g_object_notify (G_OBJECT (self), "orientation"); +} + +static void +hdy_clamp_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyClamp *self = HDY_CLAMP (object); + + switch (prop_id) { + case PROP_MAXIMUM_SIZE: + g_value_set_int (value, hdy_clamp_get_maximum_size (self)); + break; + case PROP_TIGHTENING_THRESHOLD: + g_value_set_int (value, hdy_clamp_get_tightening_threshold (self)); + break; + case PROP_ORIENTATION: + g_value_set_enum (value, self->orientation); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_clamp_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyClamp *self = HDY_CLAMP (object); + + switch (prop_id) { + case PROP_MAXIMUM_SIZE: + hdy_clamp_set_maximum_size (self, g_value_get_int (value)); + break; + case PROP_TIGHTENING_THRESHOLD: + hdy_clamp_set_tightening_threshold (self, g_value_get_int (value)); + break; + case PROP_ORIENTATION: + set_orientation (self, g_value_get_enum (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +/** + * get_child_size: + * @self: a #HdyClamp + * @for_size: the size of the clamp + * @child_minimum: the minimum size reachable by the child, and hence by @self + * @child_maximum: the maximum size @self will ever allocate its child + * @lower_threshold: the threshold below which @self will allocate its full size to its child + * @upper_threshold: the threshold up from which @self will allocate its maximum size to its child + * + * Measures the child's extremes, the clamp's thresholds, and returns size to + * allocate to the child. + * + * If the clamp is horizontal, all values are widths, otherwise they are + * heights. + */ +static gint +get_child_size (HdyClamp *self, + gint for_size, + gint *child_minimum, + gint *child_maximum, + gint *lower_threshold, + gint *upper_threshold) +{ + GtkBin *bin = GTK_BIN (self); + GtkWidget *child; + gint min = 0, max = 0, lower = 0, upper = 0; + gdouble amplitude, progress; + + child = gtk_bin_get_child (bin); + if (child == NULL) + return 0; + + if (gtk_widget_get_visible (child)) { + if (self->orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_widget_get_preferred_width (child, &min, NULL); + else + gtk_widget_get_preferred_height (child, &min, NULL); + } + + lower = MAX (MIN (self->tightening_threshold, self->maximum_size), min); + max = MAX (lower, self->maximum_size); + amplitude = max - lower; + upper = HDY_EASE_OUT_TAN_CUBIC * amplitude + lower; + + if (child_minimum) + *child_minimum = min; + if (child_maximum) + *child_maximum = max; + if (lower_threshold) + *lower_threshold = lower; + if (upper_threshold) + *upper_threshold = upper; + + if (for_size < 0) + return 0; + + if (for_size <= lower) + return for_size; + + if (for_size >= upper) + return max; + + progress = (double) (for_size - lower) / (double) (upper - lower); + + return hdy_ease_out_cubic (progress) * amplitude + lower; +} + +/* This private method is prefixed by the call name because it will be a virtual + * method in GTK 4. + */ +static void +hdy_clamp_measure (GtkWidget *widget, + GtkOrientation orientation, + int for_size, + int *minimum, + int *natural, + int *minimum_baseline, + int *natural_baseline) +{ + HdyClamp *self = HDY_CLAMP (widget); + GtkBin *bin = GTK_BIN (widget); + GtkWidget *child; + gint child_size; + + if (minimum) + *minimum = 0; + if (natural) + *natural = 0; + if (minimum_baseline) + *minimum_baseline = -1; + if (natural_baseline) + *natural_baseline = -1; + + child = gtk_bin_get_child (bin); + if (!(child && gtk_widget_get_visible (child))) + return; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) { + if (self->orientation == orientation) { + gtk_widget_get_preferred_width (child, minimum, natural); + + return; + } + + child_size = get_child_size (HDY_CLAMP (widget), for_size, NULL, NULL, NULL, NULL); + + gtk_widget_get_preferred_width_for_height (child, + child_size, + minimum, + natural); + } else { + if (self->orientation == orientation) { + gtk_widget_get_preferred_height (child, minimum, natural); + + return; + } + + child_size = get_child_size (HDY_CLAMP (widget), for_size, NULL, NULL, NULL, NULL); + + gtk_widget_get_preferred_height_and_baseline_for_width (child, + child_size, + minimum, + natural, + minimum_baseline, + natural_baseline); + } +} + +static GtkSizeRequestMode +hdy_clamp_get_request_mode (GtkWidget *widget) +{ + HdyClamp *self = HDY_CLAMP (widget); + + return self->orientation == GTK_ORIENTATION_HORIZONTAL ? + GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH : + GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT; +} + +static void +hdy_clamp_get_preferred_width_for_height (GtkWidget *widget, + gint height, + gint *minimum, + gint *natural) +{ + hdy_clamp_measure (widget, GTK_ORIENTATION_HORIZONTAL, height, + minimum, natural, NULL, NULL); +} + +static void +hdy_clamp_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + hdy_clamp_measure (widget, GTK_ORIENTATION_HORIZONTAL, -1, + minimum, natural, NULL, NULL); +} + +static void +hdy_clamp_get_preferred_height_and_baseline_for_width (GtkWidget *widget, + gint width, + gint *minimum, + gint *natural, + gint *minimum_baseline, + gint *natural_baseline) +{ + hdy_clamp_measure (widget, GTK_ORIENTATION_VERTICAL, width, + minimum, natural, minimum_baseline, natural_baseline); +} + +static void +hdy_clamp_get_preferred_height_for_width (GtkWidget *widget, + gint width, + gint *minimum, + gint *natural) +{ + hdy_clamp_measure (widget, GTK_ORIENTATION_VERTICAL, width, + minimum, natural, NULL, NULL); +} + +static void +hdy_clamp_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + hdy_clamp_measure (widget, GTK_ORIENTATION_VERTICAL, -1, + minimum, natural, NULL, NULL); +} + +static void +hdy_clamp_size_allocate (GtkWidget *widget, + GtkAllocation *allocation) +{ + HdyClamp *self = HDY_CLAMP (widget); + GtkBin *bin = GTK_BIN (widget); + GtkAllocation child_allocation; + gint baseline; + GtkWidget *child; + GtkStyleContext *context = gtk_widget_get_style_context (widget); + gint child_maximum = 0, lower_threshold = 0; + gint child_clamped_size; + + gtk_widget_set_allocation (widget, allocation); + + child = gtk_bin_get_child (bin); + if (!(child && gtk_widget_get_visible (child))) { + gtk_style_context_remove_class (context, "small"); + gtk_style_context_remove_class (context, "medium"); + gtk_style_context_remove_class (context, "large"); + + return; + } + + if (self->orientation == GTK_ORIENTATION_HORIZONTAL) { + child_allocation.width = get_child_size (self, allocation->width, NULL, &child_maximum, &lower_threshold, NULL); + child_allocation.height = allocation->height; + + child_clamped_size = child_allocation.width; + } + else { + child_allocation.width = allocation->width; + child_allocation.height = get_child_size (self, allocation->height, NULL, &child_maximum, &lower_threshold, NULL); + + child_clamped_size = child_allocation.height; + } + + if (child_clamped_size >= child_maximum) { + gtk_style_context_remove_class (context, "small"); + gtk_style_context_remove_class (context, "medium"); + gtk_style_context_add_class (context, "large"); + } else if (child_clamped_size <= lower_threshold) { + gtk_style_context_add_class (context, "small"); + gtk_style_context_remove_class (context, "medium"); + gtk_style_context_remove_class (context, "large"); + } else { + gtk_style_context_remove_class (context, "small"); + gtk_style_context_add_class (context, "medium"); + gtk_style_context_remove_class (context, "large"); + } + + if (!gtk_widget_get_has_window (widget)) { + /* This always center the child on the side of the orientation. */ + + if (self->orientation == GTK_ORIENTATION_HORIZONTAL) { + child_allocation.x = allocation->x + (allocation->width - child_allocation.width) / 2; + child_allocation.y = allocation->y; + } else { + child_allocation.x = allocation->x; + child_allocation.y = allocation->y + (allocation->height - child_allocation.height) / 2; + } + } + else { + child_allocation.x = 0; + child_allocation.y = 0; + } + + baseline = gtk_widget_get_allocated_baseline (widget); + gtk_widget_size_allocate_with_baseline (child, &child_allocation, baseline); +} + +static void +hdy_clamp_class_init (HdyClampClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); + + object_class->get_property = hdy_clamp_get_property; + object_class->set_property = hdy_clamp_set_property; + + widget_class->get_request_mode = hdy_clamp_get_request_mode; + widget_class->get_preferred_width = hdy_clamp_get_preferred_width; + widget_class->get_preferred_width_for_height = hdy_clamp_get_preferred_width_for_height; + widget_class->get_preferred_height = hdy_clamp_get_preferred_height; + widget_class->get_preferred_height_for_width = hdy_clamp_get_preferred_height_for_width; + widget_class->get_preferred_height_and_baseline_for_width = hdy_clamp_get_preferred_height_and_baseline_for_width; + widget_class->size_allocate = hdy_clamp_size_allocate; + + gtk_container_class_handle_border_width (container_class); + + g_object_class_override_property (object_class, + PROP_ORIENTATION, + "orientation"); + + /** + * HdyClamp:maximum-size: + * + * The maximum size to allocate to the child. It is the width if the clamp is + * horizontal, or the height if it is vertical. + * + * Since: 1.0 + */ + props[PROP_MAXIMUM_SIZE] = + g_param_spec_int ("maximum-size", + _("Maximum size"), + _("The maximum size allocated to the child"), + 0, G_MAXINT, 600, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyClamp:tightening-threshold: + * + * The size starting from which the clamp will tighten its grip on the child, + * slowly allocating less and less of the available size up to the maximum + * allocated size. Below that threshold and below the maximum width, the child + * will be allocated all the available size. + * + * If the threshold is greater than the maximum size to allocate to the child, + * the child will be allocated all the width up to the maximum. + * If the threshold is lower than the minimum size to allocate to the child, + * that size will be used as the tightening threshold. + * + * Effectively, tightening the grip on the child before it reaches its maximum + * size makes transitions to and from the maximum size smoother when resizing. + * + * Since: 1.0 + */ + props[PROP_TIGHTENING_THRESHOLD] = + g_param_spec_int ("tightening-threshold", + _("Tightening threshold"), + _("The size from which the clamp will tighten its grip on the child"), + 0, G_MAXINT, 400, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + gtk_widget_class_set_css_name (widget_class, "clamp"); +} + +static void +hdy_clamp_init (HdyClamp *self) +{ + self->maximum_size = 600; + self->tightening_threshold = 400; +} + +/** + * hdy_clamp_new: + * + * Creates a new #HdyClamp. + * + * Returns: a new #HdyClamp + * + * Since: 1.0 + */ +GtkWidget * +hdy_clamp_new (void) +{ + return g_object_new (HDY_TYPE_CLAMP, NULL); +} + +/** + * hdy_clamp_get_maximum_size: + * @self: a #HdyClamp + * + * Gets the maximum size to allocate to the contained child. It is the width if + * @self is horizontal, or the height if it is vertical. + * + * Returns: the maximum width to allocate to the contained child. + * + * Since: 1.0 + */ +gint +hdy_clamp_get_maximum_size (HdyClamp *self) +{ + g_return_val_if_fail (HDY_IS_CLAMP (self), 0); + + return self->maximum_size; +} + +/** + * hdy_clamp_set_maximum_size: + * @self: a #HdyClamp + * @maximum_size: the maximum size + * + * Sets the maximum size to allocate to the contained child. It is the width if + * @self is horizontal, or the height if it is vertical. + * + * Since: 1.0 + */ +void +hdy_clamp_set_maximum_size (HdyClamp *self, + gint maximum_size) +{ + g_return_if_fail (HDY_IS_CLAMP (self)); + + if (self->maximum_size == maximum_size) + return; + + self->maximum_size = maximum_size; + + gtk_widget_queue_resize (GTK_WIDGET (self)); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_MAXIMUM_SIZE]); +} + +/** + * hdy_clamp_get_tightening_threshold: + * @self: a #HdyClamp + * + * Gets the size starting from which the clamp will tighten its grip on the + * child. + * + * Returns: the size starting from which the clamp will tighten its grip on the + * child. + * + * Since: 1.0 + */ +gint +hdy_clamp_get_tightening_threshold (HdyClamp *self) +{ + g_return_val_if_fail (HDY_IS_CLAMP (self), 0); + + return self->tightening_threshold; +} + +/** + * hdy_clamp_set_tightening_threshold: + * @self: a #HdyClamp + * @tightening_threshold: the tightening threshold + * + * Sets the size starting from which the clamp will tighten its grip on the + * child. + * + * Since: 1.0 + */ +void +hdy_clamp_set_tightening_threshold (HdyClamp *self, + gint tightening_threshold) +{ + g_return_if_fail (HDY_IS_CLAMP (self)); + + if (self->tightening_threshold == tightening_threshold) + return; + + self->tightening_threshold = tightening_threshold; + + gtk_widget_queue_resize (GTK_WIDGET (self)); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TIGHTENING_THRESHOLD]); +} diff --git a/subprojects/libhandy/src/hdy-clamp.h b/subprojects/libhandy/src/hdy-clamp.h new file mode 100644 index 00000000..46ad6ddf --- /dev/null +++ b/subprojects/libhandy/src/hdy-clamp.h @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_CLAMP (hdy_clamp_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdyClamp, hdy_clamp, HDY, CLAMP, GtkBin) + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_clamp_new (void); +HDY_AVAILABLE_IN_ALL +gint hdy_clamp_get_maximum_size (HdyClamp *self); +HDY_AVAILABLE_IN_ALL +void hdy_clamp_set_maximum_size (HdyClamp *self, + gint maximum_size); +HDY_AVAILABLE_IN_ALL +gint hdy_clamp_get_tightening_threshold (HdyClamp *self); +HDY_AVAILABLE_IN_ALL +void hdy_clamp_set_tightening_threshold (HdyClamp *self, + gint tightening_threshold); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-combo-row.c b/subprojects/libhandy/src/hdy-combo-row.c new file mode 100644 index 00000000..cd9405f5 --- /dev/null +++ b/subprojects/libhandy/src/hdy-combo-row.c @@ -0,0 +1,835 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include "hdy-combo-row.h" + +#include + +/** + * SECTION:hdy-combo-row + * @short_description: A #GtkListBox row used to choose from a list of items. + * @Title: HdyComboRow + * + * The #HdyComboRow widget allows the user to choose from a list of valid + * choices. The row displays the selected choice. When activated, the row + * displays a popover which allows the user to make a new choice. + * + * The #HdyComboRow uses the model-view pattern; the list of valid choices + * is specified in the form of a #GListModel, and the display of the choices can + * be adapted to the data in the model via widget creation functions. + * + * #HdyComboRow is #GtkListBoxRow:activatable if a model is set. + * + * # CSS nodes + * + * #HdyComboRow has a main CSS node with name row. + * + * Its popover has the node name popover with the .combo style class, it + * contains a #GtkScrolledWindow, which in turn contains a #GtkListBox, both are + * accessible via their regular nodes. + * + * A checkmark of node and style class image.checkmark in the popover denotes + * the current item. + * + * Since: 0.0.6 + */ + +/* + * This was mostly inspired by code from the display panel from GNOME Settings. + */ + +typedef struct +{ + HdyComboRowGetNameFunc func; + gpointer func_data; + GDestroyNotify func_data_destroy; +} HdyComboRowGetName; + +typedef struct +{ + GtkBox *current; + GtkImage *image; + GtkListBox *list; + GtkPopover *popover; + gint selected_index; + gboolean use_subtitle; + HdyComboRowGetName *get_name; + + GListModel *bound_model; + GtkListBoxCreateWidgetFunc create_list_widget_func; + GtkListBoxCreateWidgetFunc create_current_widget_func; + gpointer create_widget_func_data; + GDestroyNotify create_widget_func_data_free_func; + /* This is owned by create_widget_func_data, which is ultimately owned by the + * list box, and hence should not be destroyed manually. + */ + HdyComboRowGetName *get_name_internal; +} HdyComboRowPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (HdyComboRow, hdy_combo_row, HDY_TYPE_ACTION_ROW) + +enum { + PROP_0, + PROP_SELECTED_INDEX, + PROP_USE_SUBTITLE, + LAST_PROP, +}; + +static GParamSpec *props[LAST_PROP]; + +static GtkWidget * +create_list_label (gpointer item, + gpointer user_data) +{ + HdyComboRowGetName *get_name = (HdyComboRowGetName *) user_data; + g_autofree gchar *name = get_name->func (item, get_name->func_data); + + return g_object_new (GTK_TYPE_LABEL, + "ellipsize", PANGO_ELLIPSIZE_END, + "label", name, + "max-width-chars", 20, + "valign", GTK_ALIGN_CENTER, + "visible", TRUE, + "xalign", 0.0, + NULL); +} + +static GtkWidget * +create_current_label (gpointer item, + gpointer user_data) +{ + HdyComboRowGetName *get_name = (HdyComboRowGetName *) user_data; + g_autofree gchar *name = NULL; + + if (get_name->func) + name = get_name->func (item, get_name->func_data); + + return g_object_new (GTK_TYPE_LABEL, + "ellipsize", PANGO_ELLIPSIZE_END, + "halign", GTK_ALIGN_END, + "label", name, + "valign", GTK_ALIGN_CENTER, + "visible", TRUE, + "xalign", 0.0, + NULL); +} + +static void +create_list_widget_data_free (gpointer user_data) +{ + HdyComboRow *self = HDY_COMBO_ROW (user_data); + HdyComboRowPrivate *priv = hdy_combo_row_get_instance_private (self); + + if (priv->create_widget_func_data_free_func) + priv->create_widget_func_data_free_func (priv->create_widget_func_data); +} + +static GtkWidget * +create_list_widget (gpointer item, + gpointer user_data) +{ + HdyComboRow *self = HDY_COMBO_ROW (user_data); + HdyComboRowPrivate *priv = hdy_combo_row_get_instance_private (self); + GtkWidget *checkmark = g_object_new (GTK_TYPE_IMAGE, + "halign", GTK_ALIGN_START, + "icon-name", "emblem-ok-symbolic", + "opacity", 0.0, + "valign", GTK_ALIGN_CENTER, + "visible", TRUE, + NULL); + GtkWidget *box = g_object_new (GTK_TYPE_BOX, + "child", priv->create_list_widget_func (item, priv->create_widget_func_data), + "child", checkmark, + "halign", GTK_ALIGN_START, + "spacing", 6, + "valign", GTK_ALIGN_CENTER, + "visible", TRUE, + NULL); + GtkStyleContext *checkmark_context = gtk_widget_get_style_context (checkmark); + + gtk_style_context_add_class (checkmark_context, "checkmark"); + + g_object_set_data (G_OBJECT (box), "checkmark", checkmark); + + return box; +} + +static void +get_name_free (HdyComboRowGetName *get_name) +{ + if (get_name == NULL) + return; + + if (get_name->func_data_destroy) + get_name->func_data_destroy (get_name->func_data); + get_name->func = NULL; + get_name->func_data = NULL; + get_name->func_data_destroy = NULL; + + g_free (get_name); +} + +static void +update (HdyComboRow *self) +{ + HdyComboRowPrivate *priv = hdy_combo_row_get_instance_private (self); + g_autoptr(GObject) item = NULL; + g_autofree gchar *name = NULL; + GtkWidget *widget; + guint n_items = priv->bound_model ? g_list_model_get_n_items (priv->bound_model) : 0; + + gtk_widget_set_visible (GTK_WIDGET (priv->current), !priv->use_subtitle); + gtk_container_foreach (GTK_CONTAINER (priv->current), (GtkCallback) gtk_widget_destroy, NULL); + + gtk_widget_set_sensitive (GTK_WIDGET (self), n_items > 0); + gtk_widget_set_visible (GTK_WIDGET (priv->image), n_items > 1); + gtk_list_box_row_set_activatable (GTK_LIST_BOX_ROW (self), n_items > 1); + + if (n_items == 0) { + g_assert (priv->selected_index == -1); + + return; + } + + g_assert (priv->selected_index >= 0 && priv->selected_index <= n_items); + + { + g_autoptr (GList) rows = gtk_container_get_children (GTK_CONTAINER (priv->list)); + GList *l; + int i = 0; + + for (l = rows; l; l = l->next) { + GtkWidget *row = GTK_WIDGET (l->data); + GtkWidget *box = gtk_bin_get_child (GTK_BIN (row)); + + gtk_widget_set_opacity (GTK_WIDGET (g_object_get_data (G_OBJECT (box), "checkmark")), + (priv->selected_index == i++) ? 1 : 0); + } + } + + item = g_list_model_get_item (priv->bound_model, priv->selected_index); + if (priv->use_subtitle) { + if (priv->get_name != NULL && priv->get_name->func) + name = priv->get_name->func (item, priv->get_name->func_data); + else if (priv->get_name_internal != NULL && priv->get_name_internal->func) + name = priv->get_name_internal->func (item, priv->get_name_internal->func_data); + hdy_action_row_set_subtitle (HDY_ACTION_ROW (self), name); + } + else { + widget = priv->create_current_widget_func (item, priv->create_widget_func_data); + gtk_container_add (GTK_CONTAINER (priv->current), widget); + } +} + +static void +bound_model_changed (GListModel *list, + guint index, + guint removed, + guint added, + gpointer user_data) +{ + gint new_idx; + HdyComboRow *self = HDY_COMBO_ROW (user_data); + HdyComboRowPrivate *priv = hdy_combo_row_get_instance_private (self); + + /* Selection is in front of insertion/removal point, nothing to do */ + if (priv->selected_index > 0 && priv->selected_index < index) { + update (self); + return; + } + + if (priv->selected_index < index + removed) { + /* The item selected item was removed (or none is selected) */ + new_idx = -1; + } else { + /* The item selected item was behind the insertion/removal */ + new_idx = priv->selected_index + added - removed; + } + + /* Select the first item if none is selected. */ + if (new_idx == -1 && g_list_model_get_n_items (list) > 0) + new_idx = 0; + + hdy_combo_row_set_selected_index (self, new_idx); + + update (self); +} + +static void +row_activated_cb (HdyComboRow *self, + GtkListBoxRow *row) +{ + hdy_combo_row_set_selected_index (self, gtk_list_box_row_get_index (row)); +} + +static void +hdy_combo_row_activate (HdyActionRow *row) +{ + HdyComboRow *self = HDY_COMBO_ROW (row); + HdyComboRowPrivate *priv = hdy_combo_row_get_instance_private (self); + + if (gtk_widget_get_visible (GTK_WIDGET (priv->image))) + gtk_popover_popup (priv->popover); +} + +static void +destroy_model (HdyComboRow *self) +{ + HdyComboRowPrivate *priv = hdy_combo_row_get_instance_private (self); + + if (!priv->bound_model) + return; + + /* Disconnect the bound model *before* releasing it. */ + g_signal_handlers_disconnect_by_func (priv->bound_model, bound_model_changed, self); + + /* Destroy the model and the user data. */ + if (priv->list) + gtk_list_box_bind_model (priv->list, NULL, NULL, NULL, NULL); + + priv->bound_model = NULL; + priv->create_list_widget_func = NULL; + priv->create_current_widget_func = NULL; + priv->create_widget_func_data = NULL; + priv->create_widget_func_data_free_func = NULL; +} + +static void +hdy_combo_row_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyComboRow *self = HDY_COMBO_ROW (object); + + switch (prop_id) { + case PROP_SELECTED_INDEX: + g_value_set_int (value, hdy_combo_row_get_selected_index (self)); + break; + case PROP_USE_SUBTITLE: + g_value_set_boolean (value, hdy_combo_row_get_use_subtitle (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_combo_row_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyComboRow *self = HDY_COMBO_ROW (object); + + switch (prop_id) { + case PROP_SELECTED_INDEX: + hdy_combo_row_set_selected_index (self, g_value_get_int (value)); + break; + case PROP_USE_SUBTITLE: + hdy_combo_row_set_use_subtitle (self, g_value_get_boolean (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_combo_row_dispose (GObject *object) +{ + HdyComboRow *self = HDY_COMBO_ROW (object); + HdyComboRowPrivate *priv = hdy_combo_row_get_instance_private (self); + + destroy_model (self); + g_clear_pointer (&priv->get_name, get_name_free); + + G_OBJECT_CLASS (hdy_combo_row_parent_class)->dispose (object); +} + +typedef struct { + HdyComboRow *row; + GtkCallback callback; + gpointer callback_data; +} ForallData; + +static void +for_non_internal_child (GtkWidget *widget, + gpointer callback_data) +{ + ForallData *data = callback_data; + HdyComboRowPrivate *priv = hdy_combo_row_get_instance_private (data->row); + + if (widget != (GtkWidget *) priv->current && + widget != (GtkWidget *) priv->image) + data->callback (widget, data->callback_data); +} + +static void +hdy_combo_row_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + HdyComboRow *self = HDY_COMBO_ROW (container); + ForallData data; + + if (include_internals) { + GTK_CONTAINER_CLASS (hdy_combo_row_parent_class)->forall (GTK_CONTAINER (self), include_internals, callback, callback_data); + + return; + } + + data.row = self; + data.callback = callback; + data.callback_data = callback_data; + + GTK_CONTAINER_CLASS (hdy_combo_row_parent_class)->forall (GTK_CONTAINER (self), include_internals, for_non_internal_child, &data); +} + +static void +hdy_combo_row_class_init (HdyComboRowClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); + HdyActionRowClass *row_class = HDY_ACTION_ROW_CLASS (klass); + + object_class->get_property = hdy_combo_row_get_property; + object_class->set_property = hdy_combo_row_set_property; + object_class->dispose = hdy_combo_row_dispose; + + container_class->forall = hdy_combo_row_forall; + + row_class->activate = hdy_combo_row_activate; + + /** + * HdyComboRow:selected-index: + * + * The index of the selected item in its #GListModel. + * + * Since: 0.0.7 + */ + props[PROP_SELECTED_INDEX] = + g_param_spec_int ("selected-index", + _("Selected index"), + _("The index of the selected item"), + -1, G_MAXINT, -1, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyComboRow:use-subtitle: + * + * %TRUE to set the current value as the subtitle. + * + * If you use a custom widget creation function, you will need to give the row + * a name conversion closure with hdy_combo_row_set_get_name_func(). + * + * If %TRUE, you should not access HdyActionRow:subtitle. + * + * Since: 0.0.10 + */ + props[PROP_USE_SUBTITLE] = + g_param_spec_boolean ("use-subtitle", + _("Use subtitle"), + _("Set the current value as the subtitle"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + gtk_widget_class_set_template_from_resource (widget_class, + "/sm/puri/handy/ui/hdy-combo-row.ui"); + gtk_widget_class_bind_template_child_private (widget_class, HdyComboRow, current); + gtk_widget_class_bind_template_child_private (widget_class, HdyComboRow, image); + gtk_widget_class_bind_template_child_private (widget_class, HdyComboRow, list); + gtk_widget_class_bind_template_child_private (widget_class, HdyComboRow, popover); +} + +static void +hdy_combo_row_init (HdyComboRow *self) +{ + HdyComboRowPrivate *priv = hdy_combo_row_get_instance_private (self); + + gtk_widget_init_template (GTK_WIDGET (self)); + + priv->selected_index = -1; + + g_signal_connect_object (priv->list, "row-activated", G_CALLBACK (gtk_popover_popdown), + priv->popover, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->list, "row-activated", G_CALLBACK (row_activated_cb), + self, G_CONNECT_SWAPPED); + + update (self); +} + +/** + * hdy_combo_row_new: + * + * Creates a new #HdyComboRow. + * + * Returns: a new #HdyComboRow + * + * Since: 0.0.6 + */ +GtkWidget * +hdy_combo_row_new (void) +{ + return g_object_new (HDY_TYPE_COMBO_ROW, NULL); +} + +/** + * hdy_combo_row_get_model: + * @self: a #HdyComboRow + * + * Gets the model bound to @self, or %NULL if none is bound. + * + * Returns: (transfer none) (nullable): the #GListModel bound to @self or %NULL + * + * Since: 0.0.6 + */ +GListModel * +hdy_combo_row_get_model (HdyComboRow *self) +{ + HdyComboRowPrivate *priv; + + g_return_val_if_fail (HDY_IS_COMBO_ROW (self), NULL); + + priv = hdy_combo_row_get_instance_private (self); + + return priv->bound_model; +} + +/** + * hdy_combo_row_bind_model: + * @self: a #HdyComboRow + * @model: (nullable): the #GListModel to be bound to @self + * @create_list_widget_func: (nullable) (scope call): a function that creates + * widgets for items to display in the list, or %NULL in case you also passed + * %NULL as @model + * @create_current_widget_func: (nullable) (scope call): a function that creates + * widgets for items to display as the selected item, or %NULL in case you + * also passed %NULL as @model + * @user_data: user data passed to @create_list_widget_func and + * @create_current_widget_func + * @user_data_free_func: function for freeing @user_data + * + * Binds @model to @self. + * + * If @self was already bound to a model, that previous binding is destroyed. + * + * The contents of @self are cleared and then filled with widgets that represent + * items from @model. @self is updated whenever @model changes. If @model is + * %NULL, @self is left empty. + * + * Since: 0.0.6 + */ +void +hdy_combo_row_bind_model (HdyComboRow *self, + GListModel *model, + GtkListBoxCreateWidgetFunc create_list_widget_func, + GtkListBoxCreateWidgetFunc create_current_widget_func, + gpointer user_data, + GDestroyNotify user_data_free_func) +{ + HdyComboRowPrivate *priv; + + g_return_if_fail (HDY_IS_COMBO_ROW (self)); + g_return_if_fail (model == NULL || G_IS_LIST_MODEL (model)); + g_return_if_fail (model == NULL || create_list_widget_func != NULL); + g_return_if_fail (model == NULL || create_current_widget_func != NULL); + + priv = hdy_combo_row_get_instance_private (self); + + destroy_model (self); + + gtk_container_foreach (GTK_CONTAINER (priv->current), (GtkCallback) gtk_widget_destroy, NULL); + priv->selected_index = -1; + + if (model == NULL) { + update (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SELECTED_INDEX]); + return; + } + + /* We don't need take a reference as the list box holds one for us. */ + priv->bound_model = model; + priv->create_list_widget_func = create_list_widget_func; + priv->create_current_widget_func = create_current_widget_func; + priv->create_widget_func_data = user_data; + priv->create_widget_func_data_free_func = user_data_free_func; + + g_signal_connect (priv->bound_model, "items-changed", G_CALLBACK (bound_model_changed), self); + + if (g_list_model_get_n_items (priv->bound_model) > 0) + priv->selected_index = 0; + + gtk_list_box_bind_model (priv->list, model, create_list_widget, self, create_list_widget_data_free); + + update (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SELECTED_INDEX]); +} + +/** + * hdy_combo_row_bind_name_model: + * @self: a #HdyComboRow + * @model: (nullable): the #GListModel to be bound to @self + * @get_name_func: (nullable): a function that creates names for items, or %NULL + * in case you also passed %NULL as @model + * @user_data: user data passed to @get_name_func + * @user_data_free_func: function for freeing @user_data + * + * Binds @model to @self. + * + * If @self was already bound to a model, that previous binding is destroyed. + * + * The contents of @self are cleared and then filled with widgets that represent + * items from @model. @self is updated whenever @model changes. If @model is + * %NULL, @self is left empty. + * + * This is more convenient to use than hdy_combo_row_bind_model() if you want to + * represent items of the model with names. + * + * Since: 0.0.6 + */ +void +hdy_combo_row_bind_name_model (HdyComboRow *self, + GListModel *model, + HdyComboRowGetNameFunc get_name_func, + gpointer user_data, + GDestroyNotify user_data_free_func) +{ + HdyComboRowPrivate *priv = hdy_combo_row_get_instance_private (self); + + g_return_if_fail (HDY_IS_COMBO_ROW (self)); + g_return_if_fail (model == NULL || G_IS_LIST_MODEL (model)); + g_return_if_fail (model == NULL || get_name_func != NULL); + + priv->get_name_internal = g_new0 (HdyComboRowGetName, 1); + priv->get_name_internal->func = get_name_func; + priv->get_name_internal->func_data = user_data; + priv->get_name_internal->func_data_destroy = user_data_free_func; + + hdy_combo_row_bind_model (self, model, create_list_label, create_current_label, priv->get_name_internal, (GDestroyNotify) get_name_free); +} + +/** + * hdy_combo_row_set_for_enum: + * @self: a #HdyComboRow + * @enum_type: the enumeration #GType to be bound to @self + * @get_name_func: (nullable): a function that creates names for items, or %NULL + * in case you also passed %NULL as @model + * @user_data: user data passed to @get_name_func + * @user_data_free_func: function for freeing @user_data + * + * Creates a model for @enum_type and binds it to @self. The items of the model + * will be #HdyEnumValueObject objects. + * + * If @self was already bound to a model, that previous binding is destroyed. + * + * The contents of @self are cleared and then filled with widgets that represent + * items from @model. @self is updated whenever @model changes. If @model is + * %NULL, @self is left empty. + * + * This is more convenient to use than hdy_combo_row_bind_name_model() if you + * want to represent values of an enumeration with names. + * + * See hdy_enum_value_row_name(). + * + * Since: 0.0.6 + */ +void +hdy_combo_row_set_for_enum (HdyComboRow *self, + GType enum_type, + HdyComboRowGetEnumValueNameFunc get_name_func, + gpointer user_data, + GDestroyNotify user_data_free_func) +{ + g_autoptr (GListStore) store = g_list_store_new (HDY_TYPE_ENUM_VALUE_OBJECT); + /* g_autoptr for GEnumClass would require glib > 2.56 */ + GEnumClass *enum_class = NULL; + gsize i; + + g_return_if_fail (HDY_IS_COMBO_ROW (self)); + + enum_class = g_type_class_ref (enum_type); + for (i = 0; i < enum_class->n_values; i++) + { + g_autoptr(HdyEnumValueObject) obj = hdy_enum_value_object_new (&enum_class->values[i]); + + g_list_store_append (store, obj); + } + + hdy_combo_row_bind_name_model (self, G_LIST_MODEL (store), (HdyComboRowGetNameFunc) get_name_func, user_data, user_data_free_func); + g_type_class_unref (enum_class); +} + +/** + * hdy_combo_row_get_selected_index: + * @self: a #GtkListBoxRow + * + * Gets the index of the selected item in its #GListModel. + * + * Returns: the index of the selected item, or -1 if no item is selected + * + * Since: 0.0.7 + */ +gint +hdy_combo_row_get_selected_index (HdyComboRow *self) +{ + HdyComboRowPrivate *priv; + + g_return_val_if_fail (HDY_IS_COMBO_ROW (self), -1); + + priv = hdy_combo_row_get_instance_private (self); + + return priv->selected_index; +} + +/** + * hdy_combo_row_set_selected_index: + * @self: a #HdyComboRow + * @selected_index: the index of the selected item + * + * Sets the index of the selected item in its #GListModel. + * + * Since: 0.0.7 + */ +void +hdy_combo_row_set_selected_index (HdyComboRow *self, + gint selected_index) +{ + HdyComboRowPrivate *priv; + + g_return_if_fail (HDY_IS_COMBO_ROW (self)); + g_return_if_fail (selected_index >= -1); + + priv = hdy_combo_row_get_instance_private (self); + + g_return_if_fail (selected_index >= 0 || priv->bound_model == NULL || g_list_model_get_n_items (priv->bound_model) == 0); + g_return_if_fail (selected_index == -1 || (priv->bound_model != NULL && selected_index < g_list_model_get_n_items (priv->bound_model))); + + if (priv->selected_index == selected_index) + return; + + priv->selected_index = selected_index; + update (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SELECTED_INDEX]); +} + +/** + * hdy_combo_row_get_use_subtitle: + * @self: a #GtkListBoxRow + * + * Gets whether the current value of @self should be displayed as its subtitle. + * + * Returns: whether the current value of @self should be displayed as its subtitle + * + * Since: 0.0.10 + */ +gboolean +hdy_combo_row_get_use_subtitle (HdyComboRow *self) +{ + HdyComboRowPrivate *priv; + + g_return_val_if_fail (HDY_IS_COMBO_ROW (self), FALSE); + + priv = hdy_combo_row_get_instance_private (self); + + return priv->use_subtitle; +} + +/** + * hdy_combo_row_set_use_subtitle: + * @self: a #HdyComboRow + * @use_subtitle: %TRUE to set the current value as the subtitle + * + * Sets whether the current value of @self should be displayed as its subtitle. + * + * If %TRUE, you should not access HdyActionRow:subtitle. + * + * Since: 0.0.10 + */ +void +hdy_combo_row_set_use_subtitle (HdyComboRow *self, + gboolean use_subtitle) +{ + HdyComboRowPrivate *priv; + + g_return_if_fail (HDY_IS_COMBO_ROW (self)); + + priv = hdy_combo_row_get_instance_private (self); + + use_subtitle = !!use_subtitle; + + if (priv->use_subtitle == use_subtitle) + return; + + priv->use_subtitle = use_subtitle; + update (self); + if (!use_subtitle) + hdy_action_row_set_subtitle (HDY_ACTION_ROW (self), NULL); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_USE_SUBTITLE]); +} + +/** + * hdy_combo_row_set_get_name_func: + * @self: a #HdyComboRow + * @get_name_func: (nullable): a function that creates names for items, or %NULL + * in case you also passed %NULL as @model + * @user_data: user data passed to @get_name_func + * @user_data_free_func: function for freeing @user_data + * + * Sets a closure to convert items into names. See HdyComboRow:use-subtitle. + * + * Since: 0.0.10 + */ +void +hdy_combo_row_set_get_name_func (HdyComboRow *self, + HdyComboRowGetNameFunc get_name_func, + gpointer user_data, + GDestroyNotify user_data_free_func) +{ + HdyComboRowPrivate *priv; + + g_return_if_fail (HDY_IS_COMBO_ROW (self)); + + priv = hdy_combo_row_get_instance_private (self); + + get_name_free (priv->get_name); + priv->get_name = g_new0 (HdyComboRowGetName, 1); + priv->get_name->func = get_name_func; + priv->get_name->func_data = user_data; + priv->get_name->func_data_destroy = user_data_free_func; +} + +/** + * hdy_enum_value_row_name: + * @value: the value from the enum from which to get a name + * @user_data: (closure): unused user data + * + * This is a default implementation of #HdyComboRowGetEnumValueNameFunc to be + * used with hdy_combo_row_set_for_enum(). If the enumeration has a nickname, it + * will return it, otherwise it will return its name. + * + * Returns: (transfer full): a newly allocated displayable name that represents @value + * + * Since: 0.0.6 + */ +gchar * +hdy_enum_value_row_name (HdyEnumValueObject *value, + gpointer user_data) +{ + g_return_val_if_fail (HDY_IS_ENUM_VALUE_OBJECT (value), NULL); + + return g_strdup (hdy_enum_value_object_get_nick (value) != NULL ? + hdy_enum_value_object_get_nick (value) : + hdy_enum_value_object_get_name (value)); +} diff --git a/subprojects/libhandy/src/hdy-combo-row.h b/subprojects/libhandy/src/hdy-combo-row.h new file mode 100644 index 00000000..68657a0d --- /dev/null +++ b/subprojects/libhandy/src/hdy-combo-row.h @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include "hdy-enum-value-object.h" +#include "hdy-action-row.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_COMBO_ROW (hdy_combo_row_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (HdyComboRow, hdy_combo_row, HDY, COMBO_ROW, HdyActionRow) + +/** + * HdyComboRowGetNameFunc: + * @item: (type GObject): the item from the model from which to get a name + * @user_data: (closure): user data + * + * Called for combo rows that are bound to a #GListModel with + * hdy_combo_row_bind_name_model() for each item that gets added to the model. + * + * Returns: (transfer full): a newly allocated displayable name that represents @item + */ +typedef gchar * (*HdyComboRowGetNameFunc) (gpointer item, + gpointer user_data); + +/** + * HdyComboRowGetEnumValueNameFunc: + * @value: the value from the enum from which to get a name + * @user_data: (closure): user data + * + * Called for combo rows that are bound to an enumeration with + * hdy_combo_row_set_for_enum() for each value from that enumeration. + * + * Returns: (transfer full): a newly allocated displayable name that represents @value + */ +typedef gchar * (*HdyComboRowGetEnumValueNameFunc) (HdyEnumValueObject *value, + gpointer user_data); + +/** + * HdyComboRowClass + * @parent_class: The parent class + */ +struct _HdyComboRowClass +{ + HdyActionRowClass parent_class; + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_combo_row_new (void); + +HDY_AVAILABLE_IN_ALL +GListModel *hdy_combo_row_get_model (HdyComboRow *self); + +HDY_AVAILABLE_IN_ALL +void hdy_combo_row_bind_model (HdyComboRow *self, + GListModel *model, + GtkListBoxCreateWidgetFunc create_list_widget_func, + GtkListBoxCreateWidgetFunc create_current_widget_func, + gpointer user_data, + GDestroyNotify user_data_free_func); +HDY_AVAILABLE_IN_ALL +void hdy_combo_row_bind_name_model (HdyComboRow *self, + GListModel *model, + HdyComboRowGetNameFunc get_name_func, + gpointer user_data, + GDestroyNotify user_data_free_func); +HDY_AVAILABLE_IN_ALL +void hdy_combo_row_set_for_enum (HdyComboRow *self, + GType enum_type, + HdyComboRowGetEnumValueNameFunc get_name_func, + gpointer user_data, + GDestroyNotify user_data_free_func); + +HDY_AVAILABLE_IN_ALL +gint hdy_combo_row_get_selected_index (HdyComboRow *self); +HDY_AVAILABLE_IN_ALL +void hdy_combo_row_set_selected_index (HdyComboRow *self, + gint selected_index); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_combo_row_get_use_subtitle (HdyComboRow *self); +HDY_AVAILABLE_IN_ALL +void hdy_combo_row_set_use_subtitle (HdyComboRow *self, + gboolean use_subtitle); + +HDY_AVAILABLE_IN_ALL +void hdy_combo_row_set_get_name_func (HdyComboRow *self, + HdyComboRowGetNameFunc get_name_func, + gpointer user_data, + GDestroyNotify user_data_free_func); + +HDY_AVAILABLE_IN_ALL +gchar *hdy_enum_value_row_name (HdyEnumValueObject *value, + gpointer user_data); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-combo-row.ui b/subprojects/libhandy/src/hdy-combo-row.ui new file mode 100644 index 00000000..080a5911 --- /dev/null +++ b/subprojects/libhandy/src/hdy-combo-row.ui @@ -0,0 +1,43 @@ + + + + + bottom + image + + + + never + 400 + True + True + True + + + none + True + + + + + + diff --git a/subprojects/libhandy/src/hdy-css-private.h b/subprojects/libhandy/src/hdy-css-private.h new file mode 100644 index 00000000..d8190b57 --- /dev/null +++ b/subprojects/libhandy/src/hdy-css-private.h @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2020 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +void hdy_css_measure (GtkWidget *widget, + GtkOrientation orientation, + gint *minimum, + gint *natural); + +void hdy_css_size_allocate (GtkWidget *widget, + GtkAllocation *allocation); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-css.c b/subprojects/libhandy/src/hdy-css.c new file mode 100644 index 00000000..7a056e29 --- /dev/null +++ b/subprojects/libhandy/src/hdy-css.c @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2020 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" + +#include "hdy-css-private.h" + +void +hdy_css_measure (GtkWidget *widget, + GtkOrientation orientation, + gint *minimum, + gint *natural) +{ + GtkStyleContext *style_context = gtk_widget_get_style_context (widget); + GtkStateFlags state_flags = gtk_widget_get_state_flags (widget); + GtkBorder border, margin, padding; + gint css_width, css_height; + + /* Manually apply minimum sizes, the border, the padding and the margin as we + * can't use the private GtkGagdet. + */ + gtk_style_context_get (style_context, state_flags, + "min-width", &css_width, + "min-height", &css_height, + NULL); + gtk_style_context_get_border (style_context, state_flags, &border); + gtk_style_context_get_margin (style_context, state_flags, &margin); + gtk_style_context_get_padding (style_context, state_flags, &padding); + if (orientation == GTK_ORIENTATION_VERTICAL) { + *minimum = MAX (*minimum, css_height) + + border.top + margin.top + padding.top + + border.bottom + margin.bottom + padding.bottom; + *natural = MAX (*natural, css_height) + + border.top + margin.top + padding.top + + border.bottom + margin.bottom + padding.bottom; + } else { + *minimum = MAX (*minimum, css_width) + + border.left + margin.left + padding.left + + border.right + margin.right + padding.right; + *natural = MAX (*natural, css_width) + + border.left + margin.left + padding.left + + border.right + margin.right + padding.right; + } +} + +void +hdy_css_size_allocate (GtkWidget *widget, + GtkAllocation *allocation) +{ + GtkStyleContext *style_context; + GtkStateFlags state_flags; + GtkBorder border, margin, padding; + + /* Manually apply the border, the padding and the margin as we can't use the + * private GtkGagdet. + */ + style_context = gtk_widget_get_style_context (widget); + state_flags = gtk_widget_get_state_flags (widget); + gtk_style_context_get_border (style_context, state_flags, &border); + gtk_style_context_get_margin (style_context, state_flags, &margin); + gtk_style_context_get_padding (style_context, state_flags, &padding); + allocation->width -= border.left + border.right + + margin.left + margin.right + + padding.left + padding.right; + allocation->height -= border.top + border.bottom + + margin.top + margin.bottom + + padding.top + padding.bottom; + allocation->x += border.left + margin.left + padding.left; + allocation->y += border.top + margin.top + padding.top; +} diff --git a/subprojects/libhandy/src/hdy-deck.c b/subprojects/libhandy/src/hdy-deck.c new file mode 100644 index 00000000..01dc45e9 --- /dev/null +++ b/subprojects/libhandy/src/hdy-deck.c @@ -0,0 +1,1103 @@ +/* + * Copyright (C) 2018 Purism SPC + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-deck.h" +#include "hdy-stackable-box-private.h" +#include "hdy-swipeable.h" + +/** + * SECTION:hdy-deck + * @short_description: A swipeable widget showing one of the visible children at a time. + * @Title: HdyDeck + * + * The #HdyDeck widget displays one of the visible children, similar to a + * #GtkStack. The children are strictly ordered and can be navigated using + * swipe gestures. + * + * The “over” and “under” stack the children one on top of the other, while the + * “slide” transition puts the children side by side. While navigating to a + * child on the side or below can be performed by swiping the current child + * away, navigating to an upper child requires dragging it from the edge where + * it resides. This doesn't affect non-dragging swipes. + * + * The “over” and “under” transitions can draw their shadow on top of the + * window's transparent areas, like the rounded corners. This is a side-effect + * of allowing shadows to be drawn on top of OpenGL areas. It can be mitigated + * by using #HdyWindow or #HdyApplicationWindow as they will crop anything drawn + * beyond the rounded corners. + * + * # CSS nodes + * + * #HdyDeck has a single CSS node with name deck. + * + * Since: 1.0 + */ + +/** + * HdyDeckTransitionType: + * @HDY_DECK_TRANSITION_TYPE_OVER: Cover the old page or uncover the new page, sliding from or towards the end according to orientation, text direction and children order + * @HDY_DECK_TRANSITION_TYPE_UNDER: Uncover the new page or cover the old page, sliding from or towards the start according to orientation, text direction and children order + * @HDY_DECK_TRANSITION_TYPE_SLIDE: Slide from left, right, up or down according to the orientation, text direction and the children order + * + * This enumeration value describes the possible transitions between children + * in a #HdyDeck widget. + * + * New values may be added to this enumeration over time. + * + * Since: 1.0 + */ + +enum { + PROP_0, + PROP_HHOMOGENEOUS, + PROP_VHOMOGENEOUS, + PROP_VISIBLE_CHILD, + PROP_VISIBLE_CHILD_NAME, + PROP_TRANSITION_TYPE, + PROP_TRANSITION_DURATION, + PROP_TRANSITION_RUNNING, + PROP_INTERPOLATE_SIZE, + PROP_CAN_SWIPE_BACK, + PROP_CAN_SWIPE_FORWARD, + + /* orientable */ + PROP_ORIENTATION, + LAST_PROP = PROP_ORIENTATION, +}; + +enum { + CHILD_PROP_0, + CHILD_PROP_NAME, + LAST_CHILD_PROP, +}; + +typedef struct +{ + HdyStackableBox *box; +} HdyDeckPrivate; + +static GParamSpec *props[LAST_PROP]; +static GParamSpec *child_props[LAST_CHILD_PROP]; + +static void hdy_deck_swipeable_init (HdySwipeableInterface *iface); + +G_DEFINE_TYPE_WITH_CODE (HdyDeck, hdy_deck, GTK_TYPE_CONTAINER, + G_ADD_PRIVATE (HdyDeck) + G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL) + G_IMPLEMENT_INTERFACE (HDY_TYPE_SWIPEABLE, hdy_deck_swipeable_init)) + +#define HDY_GET_HELPER(obj) (((HdyDeckPrivate *) hdy_deck_get_instance_private (HDY_DECK (obj)))->box) + +/** + * hdy_deck_set_homogeneous: + * @self: a #HdyDeck + * @orientation: the orientation + * @homogeneous: %TRUE to make @self homogeneous + * + * Sets the #HdyDeck to be homogeneous or not for the given orientation. + * If it is homogeneous, the #HdyDeck will request the same + * width or height for all its children depending on the orientation. + * If it isn't, the deck may change width or height when a different child + * becomes visible. + * + * Since: 1.0 + */ +void +hdy_deck_set_homogeneous (HdyDeck *self, + GtkOrientation orientation, + gboolean homogeneous) +{ + g_return_if_fail (HDY_IS_DECK (self)); + + hdy_stackable_box_set_homogeneous (HDY_GET_HELPER (self), TRUE, orientation, homogeneous); +} + +/** + * hdy_deck_get_homogeneous: + * @self: a #HdyDeck + * @orientation: the orientation + * + * Gets whether @self is homogeneous for the given orientation. + * See hdy_deck_set_homogeneous(). + * + * Returns: whether @self is homogeneous for the given orientation. + * + * Since: 1.0 + */ +gboolean +hdy_deck_get_homogeneous (HdyDeck *self, + GtkOrientation orientation) +{ + g_return_val_if_fail (HDY_IS_DECK (self), FALSE); + + return hdy_stackable_box_get_homogeneous (HDY_GET_HELPER (self), TRUE, orientation); +} + +/** + * hdy_deck_get_transition_type: + * @self: a #HdyDeck + * + * Gets the type of animation that will be used + * for transitions between children in @self. + * + * Returns: the current transition type of @self + * + * Since: 1.0 + */ +HdyDeckTransitionType +hdy_deck_get_transition_type (HdyDeck *self) +{ + HdyStackableBoxTransitionType type; + + g_return_val_if_fail (HDY_IS_DECK (self), HDY_DECK_TRANSITION_TYPE_OVER); + + type = hdy_stackable_box_get_transition_type (HDY_GET_HELPER (self)); + + switch (type) { + case HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER: + return HDY_DECK_TRANSITION_TYPE_OVER; + + case HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER: + return HDY_DECK_TRANSITION_TYPE_UNDER; + + case HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE: + return HDY_DECK_TRANSITION_TYPE_SLIDE; + + default: + g_assert_not_reached (); + } +} + +/** + * hdy_deck_set_transition_type: + * @self: a #HdyDeck + * @transition: the new transition type + * + * Sets the type of animation that will be used for transitions between children + * in @self. + * + * The transition type can be changed without problems at runtime, so it is + * possible to change the animation based on the child that is about to become + * current. + * + * Since: 1.0 + */ +void +hdy_deck_set_transition_type (HdyDeck *self, + HdyDeckTransitionType transition) +{ + HdyStackableBoxTransitionType type; + + g_return_if_fail (HDY_IS_DECK (self)); + g_return_if_fail (transition <= HDY_DECK_TRANSITION_TYPE_SLIDE); + + switch (transition) { + case HDY_DECK_TRANSITION_TYPE_OVER: + type = HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER; + break; + + case HDY_DECK_TRANSITION_TYPE_UNDER: + type = HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER; + break; + + case HDY_DECK_TRANSITION_TYPE_SLIDE: + type = HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE; + break; + + default: + g_assert_not_reached (); + } + + hdy_stackable_box_set_transition_type (HDY_GET_HELPER (self), type); +} + +/** + * hdy_deck_get_transition_duration: + * @self: a #HdyDeck + * + * Returns the amount of time (in milliseconds) that + * transitions between children in @self will take. + * + * Returns: the child transition duration + * + * Since: 1.0 + */ +guint +hdy_deck_get_transition_duration (HdyDeck *self) +{ + g_return_val_if_fail (HDY_IS_DECK (self), 0); + + return hdy_stackable_box_get_child_transition_duration (HDY_GET_HELPER (self)); +} + +/** + * hdy_deck_set_transition_duration: + * @self: a #HdyDeck + * @duration: the new duration, in milliseconds + * + * Sets the duration that transitions between children in @self + * will take. + * + * Since: 1.0 + */ +void +hdy_deck_set_transition_duration (HdyDeck *self, + guint duration) +{ + g_return_if_fail (HDY_IS_DECK (self)); + + hdy_stackable_box_set_child_transition_duration (HDY_GET_HELPER (self), duration); +} + +/** + * hdy_deck_get_visible_child: + * @self: a #HdyDeck + * + * Gets the visible child widget. + * + * Returns: (transfer none): the visible child widget + * + * Since: 1.0 + */ +GtkWidget * +hdy_deck_get_visible_child (HdyDeck *self) +{ + g_return_val_if_fail (HDY_IS_DECK (self), NULL); + + return hdy_stackable_box_get_visible_child (HDY_GET_HELPER (self)); +} + +/** + * hdy_deck_set_visible_child: + * @self: a #HdyDeck + * @visible_child: the new child + * + * Makes @visible_child visible using a transition determined by + * HdyDeck:transition-type and HdyDeck:transition-duration. The transition can + * be cancelled by the user, in which case visible child will change back to + * the previously visible child. + * + * Since: 1.0 + */ +void +hdy_deck_set_visible_child (HdyDeck *self, + GtkWidget *visible_child) +{ + g_return_if_fail (HDY_IS_DECK (self)); + + hdy_stackable_box_set_visible_child (HDY_GET_HELPER (self), visible_child); +} + +/** + * hdy_deck_get_visible_child_name: + * @self: a #HdyDeck + * + * Gets the name of the currently visible child widget. + * + * Returns: (transfer none): the name of the visible child + * + * Since: 1.0 + */ +const gchar * +hdy_deck_get_visible_child_name (HdyDeck *self) +{ + g_return_val_if_fail (HDY_IS_DECK (self), NULL); + + return hdy_stackable_box_get_visible_child_name (HDY_GET_HELPER (self)); +} + +/** + * hdy_deck_set_visible_child_name: + * @self: a #HdyDeck + * @name: the name of a child + * + * Makes the child with the name @name visible. + * + * See hdy_deck_set_visible_child() for more details. + * + * Since: 1.0 + */ +void +hdy_deck_set_visible_child_name (HdyDeck *self, + const gchar *name) +{ + g_return_if_fail (HDY_IS_DECK (self)); + + hdy_stackable_box_set_visible_child_name (HDY_GET_HELPER (self), name); +} + +/** + * hdy_deck_get_transition_running: + * @self: a #HdyDeck + * + * Returns whether @self is currently in a transition from one page to + * another. + * + * Returns: %TRUE if the transition is currently running, %FALSE otherwise. + * + * Since: 1.0 + */ +gboolean +hdy_deck_get_transition_running (HdyDeck *self) +{ + g_return_val_if_fail (HDY_IS_DECK (self), FALSE); + + return hdy_stackable_box_get_child_transition_running (HDY_GET_HELPER (self)); +} + +/** + * hdy_deck_set_interpolate_size: + * @self: a #HdyDeck + * @interpolate_size: the new value + * + * Sets whether or not @self will interpolate its size when + * changing the visible child. If the #HdyDeck:interpolate-size + * property is set to %TRUE, @self will interpolate its size between + * the current one and the one it'll take after changing the + * visible child, according to the set transition duration. + * + * Since: 1.0 + */ +void +hdy_deck_set_interpolate_size (HdyDeck *self, + gboolean interpolate_size) +{ + g_return_if_fail (HDY_IS_DECK (self)); + + hdy_stackable_box_set_interpolate_size (HDY_GET_HELPER (self), interpolate_size); +} + +/** + * hdy_deck_get_interpolate_size: + * @self: a #HdyDeck + * + * Returns whether the #HdyDeck is set up to interpolate between + * the sizes of children on page switch. + * + * Returns: %TRUE if child sizes are interpolated + * + * Since: 1.0 + */ +gboolean +hdy_deck_get_interpolate_size (HdyDeck *self) +{ + g_return_val_if_fail (HDY_IS_DECK (self), FALSE); + + return hdy_stackable_box_get_interpolate_size (HDY_GET_HELPER (self)); +} + +/** + * hdy_deck_set_can_swipe_back: + * @self: a #HdyDeck + * @can_swipe_back: the new value + * + * Sets whether or not @self allows switching to the previous child via a swipe + * gesture. + * + * Since: 1.0 + */ +void +hdy_deck_set_can_swipe_back (HdyDeck *self, + gboolean can_swipe_back) +{ + g_return_if_fail (HDY_IS_DECK (self)); + + hdy_stackable_box_set_can_swipe_back (HDY_GET_HELPER (self), can_swipe_back); +} + +/** + * hdy_deck_get_can_swipe_back + * @self: a #HdyDeck + * + * Returns whether the #HdyDeck allows swiping to the previous child. + * + * Returns: %TRUE if back swipe is enabled. + * + * Since: 1.0 + */ +gboolean +hdy_deck_get_can_swipe_back (HdyDeck *self) +{ + g_return_val_if_fail (HDY_IS_DECK (self), FALSE); + + return hdy_stackable_box_get_can_swipe_back (HDY_GET_HELPER (self)); +} + +/** + * hdy_deck_set_can_swipe_forward: + * @self: a #HdyDeck + * @can_swipe_forward: the new value + * + * Sets whether or not @self allows switching to the next child via a swipe + * gesture. + * + * Since: 1.0 + */ +void +hdy_deck_set_can_swipe_forward (HdyDeck *self, + gboolean can_swipe_forward) +{ + g_return_if_fail (HDY_IS_DECK (self)); + + hdy_stackable_box_set_can_swipe_forward (HDY_GET_HELPER (self), can_swipe_forward); +} + +/** + * hdy_deck_get_can_swipe_forward + * @self: a #HdyDeck + * + * Returns whether the #HdyDeck allows swiping to the next child. + * + * Returns: %TRUE if forward swipe is enabled. + * + * Since: 1.0 + */ +gboolean +hdy_deck_get_can_swipe_forward (HdyDeck *self) +{ + g_return_val_if_fail (HDY_IS_DECK (self), FALSE); + + return hdy_stackable_box_get_can_swipe_forward (HDY_GET_HELPER (self)); +} + +/** + * hdy_deck_get_adjacent_child + * @self: a #HdyDeck + * @direction: the direction + * + * Gets the previous or next child, or %NULL if it doesn't exist. This will be + * the same widget hdy_deck_navigate() will navigate to. + * + * Returns: (nullable) (transfer none): the previous or next child, or + * %NULL if it doesn't exist. + * + * Since: 1.0 + */ +GtkWidget * +hdy_deck_get_adjacent_child (HdyDeck *self, + HdyNavigationDirection direction) +{ + g_return_val_if_fail (HDY_IS_DECK (self), NULL); + + return hdy_stackable_box_get_adjacent_child (HDY_GET_HELPER (self), direction); +} + +/** + * hdy_deck_navigate + * @self: a #HdyDeck + * @direction: the direction + * + * Switches to the previous or next child, similar to performing a swipe + * gesture to go in @direction. + * + * Returns: %TRUE if visible child was changed, %FALSE otherwise. + * + * Since: 1.0 + */ +gboolean +hdy_deck_navigate (HdyDeck *self, + HdyNavigationDirection direction) +{ + g_return_val_if_fail (HDY_IS_DECK (self), FALSE); + + return hdy_stackable_box_navigate (HDY_GET_HELPER (self), direction); +} + +/** + * hdy_deck_get_child_by_name: + * @self: a #HdyDeck + * @name: the name of the child to find + * + * Finds the child of @self with the name given as the argument. Returns %NULL + * if there is no child with this name. + * + * Returns: (transfer none) (nullable): the requested child of @self + * + * Since: 1.0 + */ +GtkWidget * +hdy_deck_get_child_by_name (HdyDeck *self, + const gchar *name) +{ + g_return_val_if_fail (HDY_IS_DECK (self), NULL); + + return hdy_stackable_box_get_child_by_name (HDY_GET_HELPER (self), name); +} + +/* This private method is prefixed by the call name because it will be a virtual + * method in GTK 4. + */ +static void +hdy_deck_measure (GtkWidget *widget, + GtkOrientation orientation, + int for_size, + int *minimum, + int *natural, + int *minimum_baseline, + int *natural_baseline) +{ + hdy_stackable_box_measure (HDY_GET_HELPER (widget), + orientation, for_size, + minimum, natural, + minimum_baseline, natural_baseline); +} + +static void +hdy_deck_get_preferred_width (GtkWidget *widget, + gint *minimum_width, + gint *natural_width) +{ + hdy_deck_measure (widget, GTK_ORIENTATION_HORIZONTAL, -1, + minimum_width, natural_width, NULL, NULL); +} + +static void +hdy_deck_get_preferred_height (GtkWidget *widget, + gint *minimum_height, + gint *natural_height) +{ + hdy_deck_measure (widget, GTK_ORIENTATION_VERTICAL, -1, + minimum_height, natural_height, NULL, NULL); +} + +static void +hdy_deck_get_preferred_width_for_height (GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width) +{ + hdy_deck_measure (widget, GTK_ORIENTATION_HORIZONTAL, height, + minimum_width, natural_width, NULL, NULL); +} + +static void +hdy_deck_get_preferred_height_for_width (GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height) +{ + hdy_deck_measure (widget, GTK_ORIENTATION_VERTICAL, width, + minimum_height, natural_height, NULL, NULL); +} + +static void +hdy_deck_size_allocate (GtkWidget *widget, + GtkAllocation *allocation) +{ + hdy_stackable_box_size_allocate (HDY_GET_HELPER (widget), allocation); +} + +static gboolean +hdy_deck_draw (GtkWidget *widget, + cairo_t *cr) +{ + return hdy_stackable_box_draw (HDY_GET_HELPER (widget), cr); +} + +static void +hdy_deck_direction_changed (GtkWidget *widget, + GtkTextDirection previous_direction) +{ + hdy_stackable_box_direction_changed (HDY_GET_HELPER (widget), previous_direction); +} + +static void +hdy_deck_add (GtkContainer *container, + GtkWidget *widget) +{ + hdy_stackable_box_add (HDY_GET_HELPER (container), widget); +} + +static void +hdy_deck_remove (GtkContainer *container, + GtkWidget *widget) +{ + hdy_stackable_box_remove (HDY_GET_HELPER (container), widget); +} + +static void +hdy_deck_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + hdy_stackable_box_forall (HDY_GET_HELPER (container), include_internals, callback, callback_data); +} + +static void +hdy_deck_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyDeck *self = HDY_DECK (object); + + switch (prop_id) { + case PROP_HHOMOGENEOUS: + g_value_set_boolean (value, hdy_deck_get_homogeneous (self, GTK_ORIENTATION_HORIZONTAL)); + break; + case PROP_VHOMOGENEOUS: + g_value_set_boolean (value, hdy_deck_get_homogeneous (self, GTK_ORIENTATION_VERTICAL)); + break; + case PROP_VISIBLE_CHILD: + g_value_set_object (value, hdy_deck_get_visible_child (self)); + break; + case PROP_VISIBLE_CHILD_NAME: + g_value_set_string (value, hdy_deck_get_visible_child_name (self)); + break; + case PROP_TRANSITION_TYPE: + g_value_set_enum (value, hdy_deck_get_transition_type (self)); + break; + case PROP_TRANSITION_DURATION: + g_value_set_uint (value, hdy_deck_get_transition_duration (self)); + break; + case PROP_TRANSITION_RUNNING: + g_value_set_boolean (value, hdy_deck_get_transition_running (self)); + break; + case PROP_INTERPOLATE_SIZE: + g_value_set_boolean (value, hdy_deck_get_interpolate_size (self)); + break; + case PROP_CAN_SWIPE_BACK: + g_value_set_boolean (value, hdy_deck_get_can_swipe_back (self)); + break; + case PROP_CAN_SWIPE_FORWARD: + g_value_set_boolean (value, hdy_deck_get_can_swipe_forward (self)); + break; + case PROP_ORIENTATION: + g_value_set_enum (value, hdy_stackable_box_get_orientation (HDY_GET_HELPER (self))); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_deck_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyDeck *self = HDY_DECK (object); + + switch (prop_id) { + case PROP_HHOMOGENEOUS: + hdy_deck_set_homogeneous (self, GTK_ORIENTATION_HORIZONTAL, g_value_get_boolean (value)); + break; + case PROP_VHOMOGENEOUS: + hdy_deck_set_homogeneous (self, GTK_ORIENTATION_VERTICAL, g_value_get_boolean (value)); + break; + case PROP_VISIBLE_CHILD: + hdy_deck_set_visible_child (self, g_value_get_object (value)); + break; + case PROP_VISIBLE_CHILD_NAME: + hdy_deck_set_visible_child_name (self, g_value_get_string (value)); + break; + case PROP_TRANSITION_TYPE: + hdy_deck_set_transition_type (self, g_value_get_enum (value)); + break; + case PROP_TRANSITION_DURATION: + hdy_deck_set_transition_duration (self, g_value_get_uint (value)); + break; + case PROP_INTERPOLATE_SIZE: + hdy_deck_set_interpolate_size (self, g_value_get_boolean (value)); + break; + case PROP_CAN_SWIPE_BACK: + hdy_deck_set_can_swipe_back (self, g_value_get_boolean (value)); + break; + case PROP_CAN_SWIPE_FORWARD: + hdy_deck_set_can_swipe_forward (self, g_value_get_boolean (value)); + break; + case PROP_ORIENTATION: + hdy_stackable_box_set_orientation (HDY_GET_HELPER (self), g_value_get_enum (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_deck_finalize (GObject *object) +{ + HdyDeck *self = HDY_DECK (object); + HdyDeckPrivate *priv = hdy_deck_get_instance_private (self); + + g_clear_object (&priv->box); + + G_OBJECT_CLASS (hdy_deck_parent_class)->finalize (object); +} + +static void +hdy_deck_get_child_property (GtkContainer *container, + GtkWidget *widget, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + switch (property_id) { + case CHILD_PROP_NAME: + g_value_set_string (value, hdy_stackable_box_get_child_name (HDY_GET_HELPER (container), widget)); + break; + + default: + GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec); + break; + } +} + +static void +hdy_deck_set_child_property (GtkContainer *container, + GtkWidget *widget, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + switch (property_id) { + case CHILD_PROP_NAME: + hdy_stackable_box_set_child_name (HDY_GET_HELPER (container), widget, g_value_get_string (value)); + gtk_container_child_notify_by_pspec (container, widget, pspec); + break; + + default: + GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec); + break; + } +} + +static void +hdy_deck_realize (GtkWidget *widget) +{ + hdy_stackable_box_realize (HDY_GET_HELPER (widget)); +} + +static void +hdy_deck_unrealize (GtkWidget *widget) +{ + hdy_stackable_box_unrealize (HDY_GET_HELPER (widget)); +} + +static void +hdy_deck_map (GtkWidget *widget) +{ + hdy_stackable_box_map (HDY_GET_HELPER (widget)); +} + +static void +hdy_deck_unmap (GtkWidget *widget) +{ + hdy_stackable_box_unmap (HDY_GET_HELPER (widget)); +} + +static void +hdy_deck_switch_child (HdySwipeable *swipeable, + guint index, + gint64 duration) +{ + hdy_stackable_box_switch_child (HDY_GET_HELPER (swipeable), index, duration); +} + +static HdySwipeTracker * +hdy_deck_get_swipe_tracker (HdySwipeable *swipeable) +{ + return hdy_stackable_box_get_swipe_tracker (HDY_GET_HELPER (swipeable)); +} + +static gdouble +hdy_deck_get_distance (HdySwipeable *swipeable) +{ + return hdy_stackable_box_get_distance (HDY_GET_HELPER (swipeable)); +} + +static gdouble * +hdy_deck_get_snap_points (HdySwipeable *swipeable, + gint *n_snap_points) +{ + return hdy_stackable_box_get_snap_points (HDY_GET_HELPER (swipeable), n_snap_points); +} + +static gdouble +hdy_deck_get_progress (HdySwipeable *swipeable) +{ + return hdy_stackable_box_get_progress (HDY_GET_HELPER (swipeable)); +} + +static gdouble +hdy_deck_get_cancel_progress (HdySwipeable *swipeable) +{ + return hdy_stackable_box_get_cancel_progress (HDY_GET_HELPER (swipeable)); +} + +static void +hdy_deck_get_swipe_area (HdySwipeable *swipeable, + HdyNavigationDirection navigation_direction, + gboolean is_drag, + GdkRectangle *rect) +{ + hdy_stackable_box_get_swipe_area (HDY_GET_HELPER (swipeable), navigation_direction, is_drag, rect); +} + +static void +hdy_deck_class_init (HdyDeckClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = (GtkWidgetClass*) klass; + GtkContainerClass *container_class = (GtkContainerClass*) klass; + + object_class->get_property = hdy_deck_get_property; + object_class->set_property = hdy_deck_set_property; + object_class->finalize = hdy_deck_finalize; + + widget_class->realize = hdy_deck_realize; + widget_class->unrealize = hdy_deck_unrealize; + widget_class->map = hdy_deck_map; + widget_class->unmap = hdy_deck_unmap; + widget_class->get_preferred_width = hdy_deck_get_preferred_width; + widget_class->get_preferred_height = hdy_deck_get_preferred_height; + widget_class->get_preferred_width_for_height = hdy_deck_get_preferred_width_for_height; + widget_class->get_preferred_height_for_width = hdy_deck_get_preferred_height_for_width; + widget_class->size_allocate = hdy_deck_size_allocate; + widget_class->draw = hdy_deck_draw; + widget_class->direction_changed = hdy_deck_direction_changed; + + container_class->add = hdy_deck_add; + container_class->remove = hdy_deck_remove; + container_class->forall = hdy_deck_forall; + container_class->set_child_property = hdy_deck_set_child_property; + container_class->get_child_property = hdy_deck_get_child_property; + gtk_container_class_handle_border_width (container_class); + + g_object_class_override_property (object_class, + PROP_ORIENTATION, + "orientation"); + + /** + * HdyDeck:hhomogeneous: + * + * Horizontally homogeneous sizing. + * + * Since: 1.0 + */ + props[PROP_HHOMOGENEOUS] = + g_param_spec_boolean ("hhomogeneous", + _("Horizontally homogeneous"), + _("Horizontally homogeneous sizing"), + TRUE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyDeck:vhomogeneous: + * + * Vertically homogeneous sizing. + * + * Since: 1.0 + */ + props[PROP_VHOMOGENEOUS] = + g_param_spec_boolean ("vhomogeneous", + _("Vertically homogeneous"), + _("Vertically homogeneous sizing"), + TRUE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyDeck:visible-child: + * + * The widget currently visible. + * + * Since: 1.0 + */ + props[PROP_VISIBLE_CHILD] = + g_param_spec_object ("visible-child", + _("Visible child"), + _("The widget currently visible"), + GTK_TYPE_WIDGET, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyDeck:visible-child-name: + * + * The name of the widget currently visible. + * + * Since: 1.0 + */ + props[PROP_VISIBLE_CHILD_NAME] = + g_param_spec_string ("visible-child-name", + _("Name of visible child"), + _("The name of the widget currently visible"), + NULL, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyDeck:transition-type: + * + * The type of animation that will be used for transitions between + * children. + * + * The transition type can be changed without problems at runtime, so it is + * possible to change the animation based on the child that is about + * to become current. + * + * Since: 1.0 + */ + props[PROP_TRANSITION_TYPE] = + g_param_spec_enum ("transition-type", + _("Transition type"), + _("The type of animation used to transition between children"), + HDY_TYPE_DECK_TRANSITION_TYPE, HDY_DECK_TRANSITION_TYPE_OVER, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyDeck:transition-duration: + * + * The transition animation duration, in milliseconds. + * + * Since: 1.0 + */ + props[PROP_TRANSITION_DURATION] = + g_param_spec_uint ("transition-duration", + _("Transition duration"), + _("The transition animation duration, in milliseconds"), + 0, G_MAXUINT, 200, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyDeck:transition-running: + * + * Whether or not the transition is currently running. + * + * Since: 1.0 + */ + props[PROP_TRANSITION_RUNNING] = + g_param_spec_boolean ("transition-running", + _("Transition running"), + _("Whether or not the transition is currently running"), + FALSE, + G_PARAM_READABLE); + + /** + * HdyDeck:interpolate-size: + * + * Whether or not the size should smoothly change when changing between + * differently sized children. + * + * Since: 1.0 + */ + props[PROP_INTERPOLATE_SIZE] = + g_param_spec_boolean ("interpolate-size", + _("Interpolate size"), + _("Whether or not the size should smoothly change when changing between differently sized children"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyDeck:can-swipe-back: + * + * Whether or not the deck allows switching to the previous child via a swipe + * gesture. + * + * Since: 1.0 + */ + props[PROP_CAN_SWIPE_BACK] = + g_param_spec_boolean ("can-swipe-back", + _("Can swipe back"), + _("Whether or not swipe gesture can be used to switch to the previous child"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyDeck:can-swipe-forward: + * + * Whether or not the deck allows switching to the next child via a swipe + * gesture. + * + * Since: 1.0 + */ + props[PROP_CAN_SWIPE_FORWARD] = + g_param_spec_boolean ("can-swipe-forward", + _("Can swipe forward"), + _("Whether or not swipe gesture can be used to switch to the next child"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + child_props[CHILD_PROP_NAME] = + g_param_spec_string ("name", + _("Name"), + _("The name of the child page"), + NULL, + G_PARAM_READWRITE); + + gtk_container_class_install_child_properties (container_class, LAST_CHILD_PROP, child_props); + + gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_PANEL); + gtk_widget_class_set_css_name (widget_class, "deck"); +} + +GtkWidget * +hdy_deck_new (void) +{ + return g_object_new (HDY_TYPE_DECK, NULL); +} + +#define NOTIFY(func, prop) \ +static void \ +func (HdyDeck *self) { \ + g_object_notify_by_pspec (G_OBJECT (self), props[prop]); \ +} + +NOTIFY (notify_hhomogeneous_folded_cb, PROP_HHOMOGENEOUS); +NOTIFY (notify_vhomogeneous_folded_cb, PROP_VHOMOGENEOUS); +NOTIFY (notify_visible_child_cb, PROP_VISIBLE_CHILD); +NOTIFY (notify_visible_child_name_cb, PROP_VISIBLE_CHILD_NAME); +NOTIFY (notify_transition_type_cb, PROP_TRANSITION_TYPE); +NOTIFY (notify_child_transition_duration_cb, PROP_TRANSITION_DURATION); +NOTIFY (notify_child_transition_running_cb, PROP_TRANSITION_RUNNING); +NOTIFY (notify_interpolate_size_cb, PROP_INTERPOLATE_SIZE); +NOTIFY (notify_can_swipe_back_cb, PROP_CAN_SWIPE_BACK); +NOTIFY (notify_can_swipe_forward_cb, PROP_CAN_SWIPE_FORWARD); + +static void +notify_orientation_cb (HdyDeck *self) +{ + g_object_notify (G_OBJECT (self), "orientation"); +} + +static void +hdy_deck_init (HdyDeck *self) +{ + HdyDeckPrivate *priv = hdy_deck_get_instance_private (self); + + priv->box = hdy_stackable_box_new (GTK_CONTAINER (self), + GTK_CONTAINER_CLASS (hdy_deck_parent_class), + FALSE); + + g_signal_connect_object (priv->box, "notify::hhomogeneous-folded", G_CALLBACK (notify_hhomogeneous_folded_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::vhomogeneous-folded", G_CALLBACK (notify_vhomogeneous_folded_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::visible-child", G_CALLBACK (notify_visible_child_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::visible-child-name", G_CALLBACK (notify_visible_child_name_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::transition-type", G_CALLBACK (notify_transition_type_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::child-transition-duration", G_CALLBACK (notify_child_transition_duration_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::child-transition-running", G_CALLBACK (notify_child_transition_running_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::interpolate-size", G_CALLBACK (notify_interpolate_size_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::can-swipe-back", G_CALLBACK (notify_can_swipe_back_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::can-swipe-forward", G_CALLBACK (notify_can_swipe_forward_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::orientation", G_CALLBACK (notify_orientation_cb), self, G_CONNECT_SWAPPED); +} + +static void +hdy_deck_swipeable_init (HdySwipeableInterface *iface) +{ + iface->switch_child = hdy_deck_switch_child; + iface->get_swipe_tracker = hdy_deck_get_swipe_tracker; + iface->get_distance = hdy_deck_get_distance; + iface->get_snap_points = hdy_deck_get_snap_points; + iface->get_progress = hdy_deck_get_progress; + iface->get_cancel_progress = hdy_deck_get_cancel_progress; + iface->get_swipe_area = hdy_deck_get_swipe_area; +} diff --git a/subprojects/libhandy/src/hdy-deck.h b/subprojects/libhandy/src/hdy-deck.h new file mode 100644 index 00000000..3c7da182 --- /dev/null +++ b/subprojects/libhandy/src/hdy-deck.h @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include "hdy-navigation-direction.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_DECK (hdy_deck_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (HdyDeck, hdy_deck, HDY, DECK, GtkContainer) + +typedef enum { + HDY_DECK_TRANSITION_TYPE_OVER, + HDY_DECK_TRANSITION_TYPE_UNDER, + HDY_DECK_TRANSITION_TYPE_SLIDE, +} HdyDeckTransitionType; + +/** + * HdyDeckClass + * @parent_class: The parent class + */ +struct _HdyDeckClass +{ + GtkContainerClass parent_class; + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_deck_new (void); +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_deck_get_visible_child (HdyDeck *self); +HDY_AVAILABLE_IN_ALL +void hdy_deck_set_visible_child (HdyDeck *self, + GtkWidget *visible_child); +HDY_AVAILABLE_IN_ALL +const gchar *hdy_deck_get_visible_child_name (HdyDeck *self); +HDY_AVAILABLE_IN_ALL +void hdy_deck_set_visible_child_name (HdyDeck *self, + const gchar *name); +HDY_AVAILABLE_IN_ALL +gboolean hdy_deck_get_homogeneous (HdyDeck *self, + GtkOrientation orientation); +HDY_AVAILABLE_IN_ALL +void hdy_deck_set_homogeneous (HdyDeck *self, + GtkOrientation orientation, + gboolean homogeneous); +HDY_AVAILABLE_IN_ALL +HdyDeckTransitionType hdy_deck_get_transition_type (HdyDeck *self); +HDY_AVAILABLE_IN_ALL +void hdy_deck_set_transition_type (HdyDeck *self, + HdyDeckTransitionType transition); + +HDY_AVAILABLE_IN_ALL +guint hdy_deck_get_transition_duration (HdyDeck *self); +HDY_AVAILABLE_IN_ALL +void hdy_deck_set_transition_duration (HdyDeck *self, + guint duration); +HDY_AVAILABLE_IN_ALL +gboolean hdy_deck_get_transition_running (HdyDeck *self); +HDY_AVAILABLE_IN_ALL +gboolean hdy_deck_get_interpolate_size (HdyDeck *self); +HDY_AVAILABLE_IN_ALL +void hdy_deck_set_interpolate_size (HdyDeck *self, + gboolean interpolate_size); +HDY_AVAILABLE_IN_ALL +gboolean hdy_deck_get_can_swipe_back (HdyDeck *self); +HDY_AVAILABLE_IN_ALL +void hdy_deck_set_can_swipe_back (HdyDeck *self, + gboolean can_swipe_back); +HDY_AVAILABLE_IN_ALL +gboolean hdy_deck_get_can_swipe_forward (HdyDeck *self); +HDY_AVAILABLE_IN_ALL +void hdy_deck_set_can_swipe_forward (HdyDeck *self, + gboolean can_swipe_forward); + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_deck_get_adjacent_child (HdyDeck *self, + HdyNavigationDirection direction); +HDY_AVAILABLE_IN_ALL +gboolean hdy_deck_navigate (HdyDeck *self, + HdyNavigationDirection direction); + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_deck_get_child_by_name (HdyDeck *self, + const gchar *name); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-deprecation-macros.h b/subprojects/libhandy/src/hdy-deprecation-macros.h new file mode 100644 index 00000000..e889135b --- /dev/null +++ b/subprojects/libhandy/src/hdy-deprecation-macros.h @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2017 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#if defined(HDY_DISABLE_DEPRECATION_WARNINGS) || defined(HANDY_COMPILATION) +# define _HDY_DEPRECATED +# define _HDY_DEPRECATED_FOR(f) +# define _HDY_DEPRECATED_MACRO +# define _HDY_DEPRECATED_MACRO_FOR(f) +# define _HDY_DEPRECATED_ENUMERATOR +# define _HDY_DEPRECATED_ENUMERATOR_FOR(f) +# define _HDY_DEPRECATED_TYPE +# define _HDY_DEPRECATED_TYPE_FOR(f) +#else +# define _HDY_DEPRECATED G_DEPRECATED +# define _HDY_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f) +# define _HDY_DEPRECATED_MACRO G_DEPRECATED +# define _HDY_DEPRECATED_MACRO_FOR(f) G_DEPRECATED_FOR(f) +# define _HDY_DEPRECATED_ENUMERATOR G_DEPRECATED +# define _HDY_DEPRECATED_ENUMERATOR_FOR(f) G_DEPRECATED_FOR(f) +# define _HDY_DEPRECATED_TYPE G_DEPRECATED +# define _HDY_DEPRECATED_TYPE_FOR(f) G_DEPRECATED_FOR(f) +#endif diff --git a/subprojects/libhandy/src/hdy-enum-value-object.c b/subprojects/libhandy/src/hdy-enum-value-object.c new file mode 100644 index 00000000..58ca13a7 --- /dev/null +++ b/subprojects/libhandy/src/hdy-enum-value-object.c @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" + +#include "hdy-enum-value-object.h" + +/** + * SECTION:hdy-enum-value-object + * @short_description: An object representing a #GEnumValue. + * @Title: HdyEnumValueObject + * + * The #HdyEnumValueObject object represents a #GEnumValue, allowing it to be + * used with #GListModel. + * + * Since: 0.0.6 + */ + +struct _HdyEnumValueObject +{ + GObject parent_instance; + + GEnumValue enum_value; +}; + +G_DEFINE_TYPE (HdyEnumValueObject, hdy_enum_value_object, G_TYPE_OBJECT) + +HdyEnumValueObject * +hdy_enum_value_object_new (GEnumValue *enum_value) +{ + HdyEnumValueObject *self = g_object_new (HDY_TYPE_ENUM_VALUE_OBJECT, NULL); + + self->enum_value = *enum_value; + + return self; +} + +static void +hdy_enum_value_object_class_init (HdyEnumValueObjectClass *klass) +{ +} + +static void +hdy_enum_value_object_init (HdyEnumValueObject *self) +{ +} + +gint +hdy_enum_value_object_get_value (HdyEnumValueObject *self) +{ + g_return_val_if_fail (HDY_IS_ENUM_VALUE_OBJECT (self), 0); + + return self->enum_value.value; +} + +const gchar * +hdy_enum_value_object_get_name (HdyEnumValueObject *self) +{ + g_return_val_if_fail (HDY_IS_ENUM_VALUE_OBJECT (self), NULL); + + return self->enum_value.value_name; +} + +const gchar * +hdy_enum_value_object_get_nick (HdyEnumValueObject *self) +{ + g_return_val_if_fail (HDY_IS_ENUM_VALUE_OBJECT (self), NULL); + + return self->enum_value.value_nick; +} diff --git a/subprojects/libhandy/src/hdy-enum-value-object.h b/subprojects/libhandy/src/hdy-enum-value-object.h new file mode 100644 index 00000000..b961a623 --- /dev/null +++ b/subprojects/libhandy/src/hdy-enum-value-object.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_ENUM_VALUE_OBJECT (hdy_enum_value_object_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdyEnumValueObject, hdy_enum_value_object, HDY, ENUM_VALUE_OBJECT, GObject) + +HDY_AVAILABLE_IN_ALL +HdyEnumValueObject *hdy_enum_value_object_new (GEnumValue *enum_value); + +HDY_AVAILABLE_IN_ALL +gint hdy_enum_value_object_get_value (HdyEnumValueObject *self); +HDY_AVAILABLE_IN_ALL +const gchar *hdy_enum_value_object_get_name (HdyEnumValueObject *self); +HDY_AVAILABLE_IN_ALL +const gchar *hdy_enum_value_object_get_nick (HdyEnumValueObject *self); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-enums-private.c.in b/subprojects/libhandy/src/hdy-enums-private.c.in new file mode 100644 index 00000000..5a11cda8 --- /dev/null +++ b/subprojects/libhandy/src/hdy-enums-private.c.in @@ -0,0 +1,38 @@ +/*** BEGIN file-header ***/ + +#include "config.h" +#include "hdy-enums-private.h" +#include "hdy-stackable-box-private.h" + +/*** END file-header ***/ + +/*** BEGIN file-production ***/ +/* enumerations from "@filename@" */ +/*** END file-production ***/ + +/*** BEGIN value-header ***/ +GType +@enum_name@_get_type (void) +{ + static GType etype = 0; + if (G_UNLIKELY(etype == 0)) { + static const G@Type@Value values[] = { +/*** END value-header ***/ + +/*** BEGIN value-production ***/ + { @VALUENAME@, "@VALUENAME@", "@valuenick@" }, +/*** END value-production ***/ + +/*** BEGIN value-tail ***/ + { 0, NULL, NULL } + }; + etype = g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); + } + return etype; +} + +/*** END value-tail ***/ + +/*** BEGIN file-tail ***/ + +/*** END file-tail ***/ diff --git a/subprojects/libhandy/src/hdy-enums-private.h.in b/subprojects/libhandy/src/hdy-enums-private.h.in new file mode 100644 index 00000000..1955f4e4 --- /dev/null +++ b/subprojects/libhandy/src/hdy-enums-private.h.in @@ -0,0 +1,27 @@ +/*** BEGIN file-header ***/ +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +#include "hdy-enums.h" + +G_BEGIN_DECLS +/*** END file-header ***/ + +/*** BEGIN file-production ***/ + +/* enumerations from "@basename@" */ +/*** END file-production ***/ + +/*** BEGIN value-header ***/ +GType @enum_name@_get_type (void); +#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type ()) +/*** END value-header ***/ + +/*** BEGIN file-tail ***/ +G_END_DECLS +/*** END file-tail ***/ diff --git a/subprojects/libhandy/src/hdy-enums.c.in b/subprojects/libhandy/src/hdy-enums.c.in new file mode 100644 index 00000000..a6305554 --- /dev/null +++ b/subprojects/libhandy/src/hdy-enums.c.in @@ -0,0 +1,44 @@ +/*** BEGIN file-header ***/ + +#include "config.h" +#include "hdy-deck.h" +#include "hdy-enums.h" +#include "hdy-header-bar.h" +#include "hdy-header-group.h" +#include "hdy-leaflet.h" +#include "hdy-navigation-direction.h" +#include "hdy-squeezer.h" +#include "hdy-view-switcher.h" + +/*** END file-header ***/ + +/*** BEGIN file-production ***/ +/* enumerations from "@filename@" */ +/*** END file-production ***/ + +/*** BEGIN value-header ***/ +GType +@enum_name@_get_type (void) +{ + static GType etype = 0; + if (G_UNLIKELY(etype == 0)) { + static const G@Type@Value values[] = { +/*** END value-header ***/ + +/*** BEGIN value-production ***/ + { @VALUENAME@, "@VALUENAME@", "@valuenick@" }, +/*** END value-production ***/ + +/*** BEGIN value-tail ***/ + { 0, NULL, NULL } + }; + etype = g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); + } + return etype; +} + +/*** END value-tail ***/ + +/*** BEGIN file-tail ***/ + +/*** END file-tail ***/ diff --git a/subprojects/libhandy/src/hdy-enums.h.in b/subprojects/libhandy/src/hdy-enums.h.in new file mode 100644 index 00000000..7b398502 --- /dev/null +++ b/subprojects/libhandy/src/hdy-enums.h.in @@ -0,0 +1,28 @@ +/*** BEGIN file-header ***/ +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS +/*** END file-header ***/ + +/*** BEGIN file-production ***/ + +/* enumerations from "@basename@" */ +/*** END file-production ***/ + +/*** BEGIN value-header ***/ + +HDY_AVAILABLE_IN_ALL GType @enum_name@_get_type (void); +#define @ENUMPREFIX@_TYPE_@ENUMSHORT@ (@enum_name@_get_type ()) +/*** END value-header ***/ + +/*** BEGIN file-tail ***/ +G_END_DECLS +/*** END file-tail ***/ diff --git a/subprojects/libhandy/src/hdy-expander-row.c b/subprojects/libhandy/src/hdy-expander-row.c new file mode 100644 index 00000000..55bf6952 --- /dev/null +++ b/subprojects/libhandy/src/hdy-expander-row.c @@ -0,0 +1,762 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include "hdy-expander-row.h" + +#include +#include "hdy-action-row.h" + +/** + * SECTION:hdy-expander-row + * @short_description: A #GtkListBox row used to reveal widgets. + * @Title: HdyExpanderRow + * + * The #HdyExpanderRow allows the user to reveal or hide widgets below it. It + * also allows the user to enable the expansion of the row, allowing to disable + * all that the row contains. + * + * It also supports adding a child as an action widget by specifying “action” as + * the “type” attribute of a <child> element. It also supports setting a + * child as a prefix widget by specifying “prefix” as the “type” attribute of a + * <child> element. + * + * # CSS nodes + * + * #HdyExpanderRow has a main CSS node with name row, and the .expander style + * class. It has the .empty style class when it contains no children. + * + * It contains the subnodes row.header for its main embedded row, list.nested + * for the list it can expand, and image.expander-row-arrow for its arrow. + * + * When expanded, #HdyExpanderRow will add the + * .checked-expander-row-previous-sibling style class to its previous sibling, + * and remove it when retracted. + * + * Since: 0.0.6 + */ + +typedef struct +{ + GtkBox *box; + GtkBox *actions; + GtkBox *prefixes; + GtkListBox *list; + HdyActionRow *action_row; + GtkSwitch *enable_switch; + GtkImage *image; + + gboolean expanded; + gboolean enable_expansion; + gboolean show_enable_switch; +} HdyExpanderRowPrivate; + +static void hdy_expander_row_buildable_init (GtkBuildableIface *iface); + +G_DEFINE_TYPE_WITH_CODE (HdyExpanderRow, hdy_expander_row, HDY_TYPE_PREFERENCES_ROW, + G_ADD_PRIVATE (HdyExpanderRow) + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + hdy_expander_row_buildable_init)) + +static GtkBuildableIface *parent_buildable_iface; + +enum { + PROP_0, + PROP_SUBTITLE, + PROP_USE_UNDERLINE, + PROP_ICON_NAME, + PROP_EXPANDED, + PROP_ENABLE_EXPANSION, + PROP_SHOW_ENABLE_SWITCH, + LAST_PROP, +}; + +static GParamSpec *props[LAST_PROP]; + +static void +update_arrow (HdyExpanderRow *self) +{ + HdyExpanderRowPrivate *priv = hdy_expander_row_get_instance_private (self); + GtkWidget *parent = gtk_widget_get_parent (GTK_WIDGET (self)); + GtkWidget *previous_sibling = NULL; + + if (parent) { + g_autoptr (GList) siblings = gtk_container_get_children (GTK_CONTAINER (parent)); + GList *l; + + for (l = siblings; l != NULL && l->next != NULL && l->next->data != self; l = l->next); + + if (l && l->next && l->next->data == self) + previous_sibling = l->data; + } + + if (priv->expanded) + gtk_widget_set_state_flags (GTK_WIDGET (self), GTK_STATE_FLAG_CHECKED, FALSE); + else + gtk_widget_unset_state_flags (GTK_WIDGET (self), GTK_STATE_FLAG_CHECKED); + + if (previous_sibling) { + GtkStyleContext *previous_sibling_context = gtk_widget_get_style_context (previous_sibling); + + if (priv->expanded) + gtk_style_context_add_class (previous_sibling_context, "checked-expander-row-previous-sibling"); + else + gtk_style_context_remove_class (previous_sibling_context, "checked-expander-row-previous-sibling"); + } +} + +static void +hdy_expander_row_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyExpanderRow *self = HDY_EXPANDER_ROW (object); + + switch (prop_id) { + case PROP_SUBTITLE: + g_value_set_string (value, hdy_expander_row_get_subtitle (self)); + break; + case PROP_USE_UNDERLINE: + g_value_set_boolean (value, hdy_expander_row_get_use_underline (self)); + break; + case PROP_ICON_NAME: + g_value_set_string (value, hdy_expander_row_get_icon_name (self)); + break; + case PROP_EXPANDED: + g_value_set_boolean (value, hdy_expander_row_get_expanded (self)); + break; + case PROP_ENABLE_EXPANSION: + g_value_set_boolean (value, hdy_expander_row_get_enable_expansion (self)); + break; + case PROP_SHOW_ENABLE_SWITCH: + g_value_set_boolean (value, hdy_expander_row_get_show_enable_switch (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_expander_row_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyExpanderRow *self = HDY_EXPANDER_ROW (object); + + switch (prop_id) { + case PROP_SUBTITLE: + hdy_expander_row_set_subtitle (self, g_value_get_string (value)); + break; + case PROP_USE_UNDERLINE: + hdy_expander_row_set_use_underline (self, g_value_get_boolean (value)); + break; + case PROP_ICON_NAME: + hdy_expander_row_set_icon_name (self, g_value_get_string (value)); + break; + case PROP_EXPANDED: + hdy_expander_row_set_expanded (self, g_value_get_boolean (value)); + break; + case PROP_ENABLE_EXPANSION: + hdy_expander_row_set_enable_expansion (self, g_value_get_boolean (value)); + break; + case PROP_SHOW_ENABLE_SWITCH: + hdy_expander_row_set_show_enable_switch (self, g_value_get_boolean (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_expander_row_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + HdyExpanderRow *self = HDY_EXPANDER_ROW (container); + HdyExpanderRowPrivate *priv = hdy_expander_row_get_instance_private (self); + + if (include_internals) + GTK_CONTAINER_CLASS (hdy_expander_row_parent_class)->forall (container, + include_internals, + callback, + callback_data); + else { + if (priv->prefixes) + gtk_container_foreach (GTK_CONTAINER (priv->prefixes), callback, callback_data); + if (priv->actions) + gtk_container_foreach (GTK_CONTAINER (priv->actions), callback, callback_data); + if (priv->list) + gtk_container_foreach (GTK_CONTAINER (priv->list), callback, callback_data); + } +} + +static void +activate_cb (HdyExpanderRow *self) +{ + HdyExpanderRowPrivate *priv = hdy_expander_row_get_instance_private (self); + + hdy_expander_row_set_expanded (self, !priv->expanded); +} + +static void +count_children_cb (GtkWidget *widget, + gint *count) +{ + (*count)++; +} + +static void +list_children_changed_cb (HdyExpanderRow *self) +{ + HdyExpanderRowPrivate *priv = hdy_expander_row_get_instance_private (self); + GtkStyleContext *context = gtk_widget_get_style_context (GTK_WIDGET (self)); + gint count = 0; + + gtk_container_foreach (GTK_CONTAINER (priv->list), (GtkCallback) count_children_cb, &count); + + if (count == 0) + gtk_style_context_add_class (context, "empty"); + else + gtk_style_context_remove_class (context, "empty"); +} + +static void +hdy_expander_row_add (GtkContainer *container, + GtkWidget *child) +{ + HdyExpanderRow *self = HDY_EXPANDER_ROW (container); + HdyExpanderRowPrivate *priv = hdy_expander_row_get_instance_private (self); + + /* When constructing the widget, we want the box to be added as the child of + * the GtkListBoxRow, as an implementation detail. + */ + if (priv->box == NULL) + GTK_CONTAINER_CLASS (hdy_expander_row_parent_class)->add (container, child); + else + gtk_container_add (GTK_CONTAINER (priv->list), child); +} + +static void +hdy_expander_row_remove (GtkContainer *container, + GtkWidget *child) +{ + HdyExpanderRow *self = HDY_EXPANDER_ROW (container); + HdyExpanderRowPrivate *priv = hdy_expander_row_get_instance_private (self); + + if (child == GTK_WIDGET (priv->box)) + GTK_CONTAINER_CLASS (hdy_expander_row_parent_class)->remove (container, child); + else if (gtk_widget_get_parent (child) == GTK_WIDGET (priv->actions)) + gtk_container_remove (GTK_CONTAINER (priv->actions), child); + else if (gtk_widget_get_parent (child) == GTK_WIDGET (priv->prefixes)) + gtk_container_remove (GTK_CONTAINER (priv->prefixes), child); + else + gtk_container_remove (GTK_CONTAINER (priv->list), child); +} + +static void +hdy_expander_row_class_init (HdyExpanderRowClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); + + object_class->get_property = hdy_expander_row_get_property; + object_class->set_property = hdy_expander_row_set_property; + + container_class->add = hdy_expander_row_add; + container_class->remove = hdy_expander_row_remove; + container_class->forall = hdy_expander_row_forall; + + /** + * HdyExpanderRow:subtitle: + * + * The subtitle for this row. + * + * Since: 1.0 + */ + props[PROP_SUBTITLE] = + g_param_spec_string ("subtitle", + _("Subtitle"), + _("The subtitle for this row"), + "", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyExpanderRow:use-underline: + * + * Whether an embedded underline in the text of the title and subtitle labels + * indicates a mnemonic. + * + * Since: 1.0 + */ + props[PROP_USE_UNDERLINE] = + g_param_spec_boolean ("use-underline", + _("Use underline"), + _("If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key"), + FALSE, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyExpanderRow:icon-name: + * + * The icon name for this row. + * + * Since: 1.0 + */ + props[PROP_ICON_NAME] = + g_param_spec_string ("icon-name", + _("Icon name"), + _("Icon name"), + "", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyExpanderRow:expanded: + * + * %TRUE if the row is expanded. + */ + props[PROP_EXPANDED] = + g_param_spec_boolean ("expanded", + _("Expanded"), + _("Whether the row is expanded"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyExpanderRow:enable-expansion: + * + * %TRUE if the expansion is enabled. + */ + props[PROP_ENABLE_EXPANSION] = + g_param_spec_boolean ("enable-expansion", + _("Enable expansion"), + _("Whether the expansion is enabled"), + TRUE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyExpanderRow:show-enable-switch: + * + * %TRUE if the switch enabling the expansion is visible. + */ + props[PROP_SHOW_ENABLE_SWITCH] = + g_param_spec_boolean ("show-enable-switch", + _("Show enable switch"), + _("Whether the switch enabling the expansion is visible"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + gtk_widget_class_set_template_from_resource (widget_class, + "/sm/puri/handy/ui/hdy-expander-row.ui"); + gtk_widget_class_bind_template_child_private (widget_class, HdyExpanderRow, action_row); + gtk_widget_class_bind_template_child_private (widget_class, HdyExpanderRow, box); + gtk_widget_class_bind_template_child_private (widget_class, HdyExpanderRow, actions); + gtk_widget_class_bind_template_child_private (widget_class, HdyExpanderRow, list); + gtk_widget_class_bind_template_child_private (widget_class, HdyExpanderRow, image); + gtk_widget_class_bind_template_child_private (widget_class, HdyExpanderRow, enable_switch); + gtk_widget_class_bind_template_callback (widget_class, activate_cb); + gtk_widget_class_bind_template_callback (widget_class, list_children_changed_cb); +} + +#define NOTIFY(func, prop) \ +static void \ +func (gpointer this) { \ + g_object_notify_by_pspec (G_OBJECT (this), props[prop]); \ +} \ + +NOTIFY (notify_subtitle_cb, PROP_SUBTITLE); +NOTIFY (notify_use_underline_cb, PROP_USE_UNDERLINE); +NOTIFY (notify_icon_name_cb, PROP_ICON_NAME); + +static void +hdy_expander_row_init (HdyExpanderRow *self) +{ + HdyExpanderRowPrivate *priv = hdy_expander_row_get_instance_private (self); + + priv->prefixes = NULL; + + gtk_widget_init_template (GTK_WIDGET (self)); + + hdy_expander_row_set_enable_expansion (self, TRUE); + hdy_expander_row_set_expanded (self, FALSE); + + g_signal_connect_object (priv->action_row, "notify::subtitle", G_CALLBACK (notify_subtitle_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->action_row, "notify::use-underline", G_CALLBACK (notify_use_underline_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->action_row, "notify::icon-name", G_CALLBACK (notify_icon_name_cb), self, G_CONNECT_SWAPPED); +} + +static void +hdy_expander_row_buildable_add_child (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *type) +{ + HdyExpanderRow *self = HDY_EXPANDER_ROW (buildable); + HdyExpanderRowPrivate *priv = hdy_expander_row_get_instance_private (self); + + if (priv->box == NULL || !type) + gtk_container_add (GTK_CONTAINER (self), GTK_WIDGET (child)); + else if (type && strcmp (type, "action") == 0) + hdy_expander_row_add_action (self, GTK_WIDGET (child)); + else if (type && strcmp (type, "prefix") == 0) + hdy_expander_row_add_prefix (self, GTK_WIDGET (child)); + else + GTK_BUILDER_WARN_INVALID_CHILD_TYPE (self, type); +} + +static void +hdy_expander_row_buildable_init (GtkBuildableIface *iface) +{ + parent_buildable_iface = g_type_interface_peek_parent (iface); + iface->add_child = hdy_expander_row_buildable_add_child; +} + +/** + * hdy_expander_row_new: + * + * Creates a new #HdyExpanderRow. + * + * Returns: a new #HdyExpanderRow + * + * Since: 0.0.6 + */ +GtkWidget * +hdy_expander_row_new (void) +{ + return g_object_new (HDY_TYPE_EXPANDER_ROW, NULL); +} + +/** + * hdy_expander_row_get_subtitle: + * @self: a #HdyExpanderRow + * + * Gets the subtitle for @self. + * + * Returns: (transfer none) (nullable): the subtitle for @self, or %NULL. + * + * Since: 1.0 + */ +const gchar * +hdy_expander_row_get_subtitle (HdyExpanderRow *self) +{ + HdyExpanderRowPrivate *priv; + + g_return_val_if_fail (HDY_IS_EXPANDER_ROW (self), NULL); + + priv = hdy_expander_row_get_instance_private (self); + + return hdy_action_row_get_subtitle (priv->action_row); +} + +/** + * hdy_expander_row_set_subtitle: + * @self: a #HdyExpanderRow + * @subtitle: (nullable): the subtitle + * + * Sets the subtitle for @self. + * + * Since: 1.0 + */ +void +hdy_expander_row_set_subtitle (HdyExpanderRow *self, + const gchar *subtitle) +{ + HdyExpanderRowPrivate *priv; + + g_return_if_fail (HDY_IS_EXPANDER_ROW (self)); + + priv = hdy_expander_row_get_instance_private (self); + + hdy_action_row_set_subtitle (priv->action_row, subtitle); +} + +/** + * hdy_expander_row_get_use_underline: + * @self: a #HdyExpanderRow + * + * Gets whether an embedded underline in the text of the title and subtitle + * labels indicates a mnemonic. See hdy_expander_row_set_use_underline(). + * + * Returns: %TRUE if an embedded underline in the title and subtitle labels + * indicates the mnemonic accelerator keys. + * + * Since: 1.0 + */ +gboolean +hdy_expander_row_get_use_underline (HdyExpanderRow *self) +{ + HdyExpanderRowPrivate *priv; + + g_return_val_if_fail (HDY_IS_EXPANDER_ROW (self), FALSE); + + priv = hdy_expander_row_get_instance_private (self); + + return hdy_action_row_get_use_underline (priv->action_row); +} + +/** + * hdy_expander_row_set_use_underline: + * @self: a #HdyExpanderRow + * @use_underline: %TRUE if underlines in the text indicate mnemonics + * + * If true, an underline in the text of the title and subtitle labels indicates + * the next character should be used for the mnemonic accelerator key. + * + * Since: 1.0 + */ +void +hdy_expander_row_set_use_underline (HdyExpanderRow *self, + gboolean use_underline) +{ + HdyExpanderRowPrivate *priv; + + g_return_if_fail (HDY_IS_EXPANDER_ROW (self)); + + priv = hdy_expander_row_get_instance_private (self); + + hdy_action_row_set_use_underline (priv->action_row, use_underline); +} + +/** + * hdy_expander_row_get_icon_name: + * @self: a #HdyExpanderRow + * + * Gets the icon name for @self. + * + * Returns: the icon name for @self. + * + * Since: 1.0 + */ +const gchar * +hdy_expander_row_get_icon_name (HdyExpanderRow *self) +{ + HdyExpanderRowPrivate *priv; + + g_return_val_if_fail (HDY_IS_EXPANDER_ROW (self), NULL); + + priv = hdy_expander_row_get_instance_private (self); + + return hdy_action_row_get_icon_name (priv->action_row); +} + +/** + * hdy_expander_row_set_icon_name: + * @self: a #HdyExpanderRow + * @icon_name: the icon name + * + * Sets the icon name for @self. + * + * Since: 1.0 + */ +void +hdy_expander_row_set_icon_name (HdyExpanderRow *self, + const gchar *icon_name) +{ + HdyExpanderRowPrivate *priv; + + g_return_if_fail (HDY_IS_EXPANDER_ROW (self)); + + priv = hdy_expander_row_get_instance_private (self); + + hdy_action_row_set_icon_name (priv->action_row, icon_name); +} + +gboolean +hdy_expander_row_get_expanded (HdyExpanderRow *self) +{ + HdyExpanderRowPrivate *priv; + + g_return_val_if_fail (HDY_IS_EXPANDER_ROW (self), FALSE); + + priv = hdy_expander_row_get_instance_private (self); + + return priv->expanded; +} + +void +hdy_expander_row_set_expanded (HdyExpanderRow *self, + gboolean expanded) +{ + HdyExpanderRowPrivate *priv; + + g_return_if_fail (HDY_IS_EXPANDER_ROW (self)); + + priv = hdy_expander_row_get_instance_private (self); + + expanded = !!expanded && priv->enable_expansion; + + if (priv->expanded == expanded) + return; + + priv->expanded = expanded; + + update_arrow (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_EXPANDED]); +} + +/** + * hdy_expander_row_get_enable_expansion: + * @self: a #HdyExpanderRow + * + * Gets whether the expansion of @self is enabled. + * + * Returns: whether the expansion of @self is enabled. + * + * Since: 0.0.6 + */ +gboolean +hdy_expander_row_get_enable_expansion (HdyExpanderRow *self) +{ + HdyExpanderRowPrivate *priv; + + g_return_val_if_fail (HDY_IS_EXPANDER_ROW (self), FALSE); + + priv = hdy_expander_row_get_instance_private (self); + + return priv->enable_expansion; +} + +/** + * hdy_expander_row_set_enable_expansion: + * @self: a #HdyExpanderRow + * @enable_expansion: %TRUE to enable the expansion + * + * Sets whether the expansion of @self is enabled. + * + * Since: 0.0.6 + */ +void +hdy_expander_row_set_enable_expansion (HdyExpanderRow *self, + gboolean enable_expansion) +{ + HdyExpanderRowPrivate *priv; + + g_return_if_fail (HDY_IS_EXPANDER_ROW (self)); + + priv = hdy_expander_row_get_instance_private (self); + + enable_expansion = !!enable_expansion; + + if (priv->enable_expansion == enable_expansion) + return; + + priv->enable_expansion = enable_expansion; + + hdy_expander_row_set_expanded (self, priv->enable_expansion); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ENABLE_EXPANSION]); +} + +/** + * hdy_expander_row_get_show_enable_switch: + * @self: a #HdyExpanderRow + * + * Gets whether the switch enabling the expansion of @self is visible. + * + * Returns: whether the switch enabling the expansion of @self is visible. + * + * Since: 0.0.6 + */ +gboolean +hdy_expander_row_get_show_enable_switch (HdyExpanderRow *self) +{ + HdyExpanderRowPrivate *priv; + + g_return_val_if_fail (HDY_IS_EXPANDER_ROW (self), FALSE); + + priv = hdy_expander_row_get_instance_private (self); + + return priv->show_enable_switch; +} + +/** + * hdy_expander_row_set_show_enable_switch: + * @self: a #HdyExpanderRow + * @show_enable_switch: %TRUE to show the switch enabling the expansion + * + * Sets whether the switch enabling the expansion of @self is visible. + * + * Since: 0.0.6 + */ +void +hdy_expander_row_set_show_enable_switch (HdyExpanderRow *self, + gboolean show_enable_switch) +{ + HdyExpanderRowPrivate *priv; + + g_return_if_fail (HDY_IS_EXPANDER_ROW (self)); + + priv = hdy_expander_row_get_instance_private (self); + + show_enable_switch = !!show_enable_switch; + + if (priv->show_enable_switch == show_enable_switch) + return; + + priv->show_enable_switch = show_enable_switch; + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SHOW_ENABLE_SWITCH]); +} + +/** + * hdy_expander_row_add_action: + * @self: a #HdyExpanderRow + * @widget: the action widget + * + * Adds an action widget to @self. + * + * Since: 1.0 + */ +void +hdy_expander_row_add_action (HdyExpanderRow *self, + GtkWidget *widget) +{ + HdyExpanderRowPrivate *priv; + + g_return_if_fail (HDY_IS_EXPANDER_ROW (self)); + g_return_if_fail (GTK_IS_WIDGET (self)); + + priv = hdy_expander_row_get_instance_private (self); + + gtk_box_pack_start (priv->actions, widget, FALSE, TRUE, 0); + gtk_widget_show (GTK_WIDGET (priv->actions)); +} + +/** + * hdy_expander_row_add_prefix: + * @self: a #HdyExpanderRow + * @widget: the prefix widget + * + * Adds a prefix widget to @self. + * + * Since: 1.0 + */ +void +hdy_expander_row_add_prefix (HdyExpanderRow *self, + GtkWidget *widget) +{ + HdyExpanderRowPrivate *priv; + + g_return_if_fail (HDY_IS_EXPANDER_ROW (self)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + + priv = hdy_expander_row_get_instance_private (self); + + if (priv->prefixes == NULL) { + priv->prefixes = GTK_BOX (gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12)); + gtk_widget_set_no_show_all (GTK_WIDGET (priv->prefixes), TRUE); + gtk_widget_set_can_focus (GTK_WIDGET (priv->prefixes), FALSE); + hdy_action_row_add_prefix (HDY_ACTION_ROW (priv->action_row), GTK_WIDGET (priv->prefixes)); + } + gtk_box_pack_start (priv->prefixes, widget, FALSE, TRUE, 0); + gtk_widget_show (GTK_WIDGET (priv->prefixes)); +} diff --git a/subprojects/libhandy/src/hdy-expander-row.h b/subprojects/libhandy/src/hdy-expander-row.h new file mode 100644 index 00000000..295f1d02 --- /dev/null +++ b/subprojects/libhandy/src/hdy-expander-row.h @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include "hdy-preferences-row.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_EXPANDER_ROW (hdy_expander_row_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (HdyExpanderRow, hdy_expander_row, HDY, EXPANDER_ROW, HdyPreferencesRow) + +/** + * HdyExpanderRowClass + * @parent_class: The parent class + */ +struct _HdyExpanderRowClass +{ + HdyPreferencesRowClass parent_class; + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_expander_row_new (void); + +HDY_AVAILABLE_IN_ALL +const gchar *hdy_expander_row_get_subtitle (HdyExpanderRow *self); +HDY_AVAILABLE_IN_ALL +void hdy_expander_row_set_subtitle (HdyExpanderRow *self, + const gchar *subtitle); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_expander_row_get_use_underline (HdyExpanderRow *self); +HDY_AVAILABLE_IN_ALL +void hdy_expander_row_set_use_underline (HdyExpanderRow *self, + gboolean use_underline); + +HDY_AVAILABLE_IN_ALL +const gchar *hdy_expander_row_get_icon_name (HdyExpanderRow *self); +HDY_AVAILABLE_IN_ALL +void hdy_expander_row_set_icon_name (HdyExpanderRow *self, + const gchar *icon_name); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_expander_row_get_expanded (HdyExpanderRow *self); +HDY_AVAILABLE_IN_ALL +void hdy_expander_row_set_expanded (HdyExpanderRow *self, + gboolean expanded); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_expander_row_get_enable_expansion (HdyExpanderRow *self); +HDY_AVAILABLE_IN_ALL +void hdy_expander_row_set_enable_expansion (HdyExpanderRow *self, + gboolean enable_expansion); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_expander_row_get_show_enable_switch (HdyExpanderRow *self); +HDY_AVAILABLE_IN_ALL +void hdy_expander_row_set_show_enable_switch (HdyExpanderRow *self, + gboolean show_enable_switch); + +HDY_AVAILABLE_IN_ALL +void hdy_expander_row_add_action (HdyExpanderRow *self, + GtkWidget *widget); +HDY_AVAILABLE_IN_ALL +void hdy_expander_row_add_prefix (HdyExpanderRow *self, + GtkWidget *widget); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-expander-row.ui b/subprojects/libhandy/src/hdy-expander-row.ui new file mode 100644 index 00000000..54d26507 --- /dev/null +++ b/subprojects/libhandy/src/hdy-expander-row.ui @@ -0,0 +1,97 @@ + + + + diff --git a/subprojects/libhandy/src/hdy-header-bar.c b/subprojects/libhandy/src/hdy-header-bar.c new file mode 100644 index 00000000..32833006 --- /dev/null +++ b/subprojects/libhandy/src/hdy-header-bar.c @@ -0,0 +1,2870 @@ +/* + * Copyright (c) 2013 Red Hat, Inc. + * Copyright (C) 2019 Purism SPC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-header-bar.h" + +#include "hdy-animation-private.h" +#include "hdy-cairo-private.h" +#include "hdy-css-private.h" +#include "hdy-enums.h" +#include "hdy-window-handle-controller-private.h" +#include "gtkprogresstrackerprivate.h" +#include "gtk-window-private.h" + +/** + * SECTION:hdy-header-bar + * @short_description: A box with a centered child. + * @Title: HdyHeaderBar + * @See_also: #GtkHeaderBar, #HdyApplicationWindow, #HdyTitleBar, #HdyViewSwitcher, #HdyWindow + * + * HdyHeaderBar is similar to #GtkHeaderBar but is designed to fix some of its + * shortcomings for adaptive applications. + * + * HdyHeaderBar doesn't force the custom title widget to be vertically centered, + * hence allowing it to fill up the whole height, which is e.g. needed for + * #HdyViewSwitcher. + * + * When used in a mobile dialog, HdyHeaderBar will replace its window + * decorations by a back button allowing to close it. It doesn't have to be its + * direct child and you can use any complex contraption you like as the dialog's + * titlebar. + * + * #HdyHeaderBar can be used in window's content area rather than titlebar, and + * will still be draggable and will handle right click, middle click and double + * click as expected from a titlebar. This is particularly useful with + * #HdyWindow or #HdyApplicationWindow. + * + * # CSS nodes + * + * #HdyHeaderBar has a single CSS node with name headerbar. + */ + +/** + * HdyCenteringPolicy: + * @HDY_CENTERING_POLICY_LOOSE: Keep the title centered when possible + * @HDY_CENTERING_POLICY_STRICT: Keep the title centered at all cost + */ + +#define DEFAULT_SPACING 6 +#define MIN_TITLE_CHARS 5 + +#define MOBILE_WINDOW_WIDTH 480 +#define MOBILE_WINDOW_HEIGHT 800 + +typedef struct { + gchar *title; + gchar *subtitle; + GtkWidget *title_label; + GtkWidget *subtitle_label; + GtkWidget *label_box; + GtkWidget *label_sizing_box; + GtkWidget *subtitle_sizing_label; + GtkWidget *custom_title; + gint spacing; + gboolean has_subtitle; + + GList *children; + + gboolean shows_wm_decorations; + gchar *decoration_layout; + gboolean decoration_layout_set; + + GtkWidget *titlebar_start_box; + GtkWidget *titlebar_end_box; + + GtkWidget *titlebar_start_separator; + GtkWidget *titlebar_end_separator; + + GtkWidget *titlebar_icon; + + guint tick_id; + GtkProgressTracker tracker; + gboolean first_frame_skipped; + + HdyCenteringPolicy centering_policy; + guint transition_duration; + gboolean interpolate_size; + + gboolean is_mobile_window; + + gulong window_size_allocated_id; + + HdyWindowHandleController *controller; +} HdyHeaderBarPrivate; + +typedef struct _Child Child; +struct _Child +{ + GtkWidget *widget; + GtkPackType pack_type; +}; + +enum { + PROP_0, + PROP_TITLE, + PROP_SUBTITLE, + PROP_HAS_SUBTITLE, + PROP_CUSTOM_TITLE, + PROP_SPACING, + PROP_SHOW_CLOSE_BUTTON, + PROP_DECORATION_LAYOUT, + PROP_DECORATION_LAYOUT_SET, + PROP_CENTERING_POLICY, + PROP_TRANSITION_DURATION, + PROP_TRANSITION_RUNNING, + PROP_INTERPOLATE_SIZE, + LAST_PROP +}; + +enum { + CHILD_PROP_0, + CHILD_PROP_PACK_TYPE, + CHILD_PROP_POSITION +}; + +static GParamSpec *props[LAST_PROP] = { NULL, }; + +static void hdy_header_bar_buildable_init (GtkBuildableIface *iface); + +G_DEFINE_TYPE_WITH_CODE (HdyHeaderBar, hdy_header_bar, GTK_TYPE_CONTAINER, + G_ADD_PRIVATE (HdyHeaderBar) + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + hdy_header_bar_buildable_init)); + +static gboolean +hdy_header_bar_transition_cb (GtkWidget *widget, + GdkFrameClock *frame_clock, + gpointer user_data) +{ + HdyHeaderBar *self = HDY_HEADER_BAR (widget); + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + if (priv->first_frame_skipped) + gtk_progress_tracker_advance_frame (&priv->tracker, + gdk_frame_clock_get_frame_time (frame_clock)); + else + priv->first_frame_skipped = TRUE; + + /* Finish the animation early if the widget isn't mapped anymore. */ + if (!gtk_widget_get_mapped (widget)) + gtk_progress_tracker_finish (&priv->tracker); + + gtk_widget_queue_resize (widget); + + if (gtk_progress_tracker_get_state (&priv->tracker) == GTK_PROGRESS_STATE_AFTER) { + priv->tick_id = 0; + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRANSITION_RUNNING]); + + return FALSE; + } + + return TRUE; +} + +static void +hdy_header_bar_schedule_ticks (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + if (priv->tick_id == 0) { + priv->tick_id = + gtk_widget_add_tick_callback (GTK_WIDGET (self), hdy_header_bar_transition_cb, self, NULL); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRANSITION_RUNNING]); + } +} + +static void +hdy_header_bar_unschedule_ticks (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + if (priv->tick_id != 0) { + gtk_widget_remove_tick_callback (GTK_WIDGET (self), priv->tick_id); + priv->tick_id = 0; + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRANSITION_RUNNING]); + } +} + +static void +hdy_header_bar_start_transition (HdyHeaderBar *self, + guint transition_duration) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GtkWidget *widget = GTK_WIDGET (self); + + if (gtk_widget_get_mapped (widget) && + priv->interpolate_size && + transition_duration != 0) { + priv->first_frame_skipped = FALSE; + hdy_header_bar_schedule_ticks (self); + gtk_progress_tracker_start (&priv->tracker, + priv->transition_duration * 1000, + 0, + 1.0); + } else { + hdy_header_bar_unschedule_ticks (self); + gtk_progress_tracker_finish (&priv->tracker); + } + + gtk_widget_queue_resize (widget); +} + +static void +init_sizing_box (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GtkWidget *w; + GtkStyleContext *context; + + /* We use this box to always request size for the two labels (title + * and subtitle) as if they were always visible, but then allocate + * the real label box with its actual size, to keep it center-aligned + * in case we have only the title. + */ + w = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_widget_show (w); + priv->label_sizing_box = g_object_ref_sink (w); + + w = gtk_label_new (NULL); + gtk_widget_show (w); + context = gtk_widget_get_style_context (w); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_TITLE); + gtk_box_pack_start (GTK_BOX (priv->label_sizing_box), w, FALSE, FALSE, 0); + gtk_label_set_line_wrap (GTK_LABEL (w), FALSE); + gtk_label_set_single_line_mode (GTK_LABEL (w), TRUE); + gtk_label_set_ellipsize (GTK_LABEL (w), PANGO_ELLIPSIZE_END); + gtk_label_set_width_chars (GTK_LABEL (w), MIN_TITLE_CHARS); + + w = gtk_label_new (NULL); + context = gtk_widget_get_style_context (w); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_SUBTITLE); + gtk_box_pack_start (GTK_BOX (priv->label_sizing_box), w, FALSE, FALSE, 0); + gtk_label_set_line_wrap (GTK_LABEL (w), FALSE); + gtk_label_set_single_line_mode (GTK_LABEL (w), TRUE); + gtk_label_set_ellipsize (GTK_LABEL (w), PANGO_ELLIPSIZE_END); + gtk_widget_set_visible (w, priv->has_subtitle || (priv->subtitle && priv->subtitle[0])); + priv->subtitle_sizing_label = w; +} + +static GtkWidget * +create_title_box (const char *title, + const char *subtitle, + GtkWidget **ret_title_label, + GtkWidget **ret_subtitle_label) +{ + GtkWidget *label_box; + GtkWidget *title_label; + GtkWidget *subtitle_label; + GtkStyleContext *context; + + label_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_widget_set_valign (label_box, GTK_ALIGN_CENTER); + gtk_widget_show (label_box); + + title_label = gtk_label_new (title); + context = gtk_widget_get_style_context (title_label); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_TITLE); + gtk_label_set_line_wrap (GTK_LABEL (title_label), FALSE); + gtk_label_set_single_line_mode (GTK_LABEL (title_label), TRUE); + gtk_label_set_ellipsize (GTK_LABEL (title_label), PANGO_ELLIPSIZE_END); + gtk_box_pack_start (GTK_BOX (label_box), title_label, FALSE, FALSE, 0); + gtk_widget_show (title_label); + gtk_label_set_width_chars (GTK_LABEL (title_label), MIN_TITLE_CHARS); + + subtitle_label = gtk_label_new (subtitle); + context = gtk_widget_get_style_context (subtitle_label); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_SUBTITLE); + gtk_label_set_line_wrap (GTK_LABEL (subtitle_label), FALSE); + gtk_label_set_single_line_mode (GTK_LABEL (subtitle_label), TRUE); + gtk_label_set_ellipsize (GTK_LABEL (subtitle_label), PANGO_ELLIPSIZE_END); + gtk_box_pack_start (GTK_BOX (label_box), subtitle_label, FALSE, FALSE, 0); + gtk_widget_set_no_show_all (subtitle_label, TRUE); + gtk_widget_set_visible (subtitle_label, subtitle && subtitle[0]); + + if (ret_title_label) + *ret_title_label = title_label; + if (ret_subtitle_label) + *ret_subtitle_label = subtitle_label; + + return label_box; +} + +static gboolean +hdy_header_bar_update_window_icon (HdyHeaderBar *self, + GtkWindow *window) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GdkPixbuf *pixbuf; + gint scale; + + if (priv->titlebar_icon == NULL) + return FALSE; + + scale = gtk_widget_get_scale_factor (priv->titlebar_icon); + if (GTK_IS_BUTTON (gtk_widget_get_parent (priv->titlebar_icon))) + pixbuf = hdy_gtk_window_get_icon_for_size (window, scale * 16); + else + pixbuf = hdy_gtk_window_get_icon_for_size (window, scale * 20); + + if (pixbuf) { + g_autoptr (cairo_surface_t) surface = + gdk_cairo_surface_create_from_pixbuf (pixbuf, scale, gtk_widget_get_window (priv->titlebar_icon)); + + gtk_image_set_from_surface (GTK_IMAGE (priv->titlebar_icon), surface); + g_object_unref (pixbuf); + gtk_widget_show (priv->titlebar_icon); + + return TRUE; + } + + return FALSE; +} + +static void +_hdy_header_bar_update_separator_visibility (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + gboolean have_visible_at_start = FALSE; + gboolean have_visible_at_end = FALSE; + GList *l; + + for (l = priv->children; l != NULL; l = l->next) { + Child *child = l->data; + + if (gtk_widget_get_visible (child->widget)) { + if (child->pack_type == GTK_PACK_START) + have_visible_at_start = TRUE; + else + have_visible_at_end = TRUE; + } + } + + if (priv->titlebar_start_separator != NULL) + gtk_widget_set_visible (priv->titlebar_start_separator, have_visible_at_start); + + if (priv->titlebar_end_separator != NULL) + gtk_widget_set_visible (priv->titlebar_end_separator, have_visible_at_end); +} + +static void +hdy_header_bar_update_window_buttons (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GtkWidget *widget = GTK_WIDGET (self), *toplevel; + GtkWindow *window; + GtkTextDirection direction; + gchar *layout_desc; + gchar **tokens, **t; + gint i, j; + GMenuModel *menu; + gboolean shown_by_shell; + gboolean is_sovereign_window; + gboolean is_mobile_dialog; + + toplevel = gtk_widget_get_toplevel (widget); + if (!gtk_widget_is_toplevel (toplevel)) + return; + + if (priv->titlebar_start_box) { + gtk_widget_unparent (priv->titlebar_start_box); + priv->titlebar_start_box = NULL; + priv->titlebar_start_separator = NULL; + } + if (priv->titlebar_end_box) { + gtk_widget_unparent (priv->titlebar_end_box); + priv->titlebar_end_box = NULL; + priv->titlebar_end_separator = NULL; + } + + priv->titlebar_icon = NULL; + + if (!priv->shows_wm_decorations) + return; + + direction = gtk_widget_get_direction (widget); + + g_object_get (gtk_widget_get_settings (widget), + "gtk-shell-shows-app-menu", &shown_by_shell, + "gtk-decoration-layout", &layout_desc, + NULL); + + if (priv->decoration_layout_set) { + g_free (layout_desc); + layout_desc = g_strdup (priv->decoration_layout); + } + + window = GTK_WINDOW (toplevel); + + if (!shown_by_shell && gtk_window_get_application (window)) + menu = gtk_application_get_app_menu (gtk_window_get_application (window)); + else + menu = NULL; + + is_sovereign_window = (!gtk_window_get_modal (window) && + gtk_window_get_transient_for (window) == NULL && + gtk_window_get_type_hint (window) == GDK_WINDOW_TYPE_HINT_NORMAL); + + is_mobile_dialog= (priv->is_mobile_window && !is_sovereign_window); + + tokens = g_strsplit (layout_desc, ":", 2); + if (tokens) { + for (i = 0; i < 2; i++) { + GtkWidget *box; + GtkWidget *separator; + int n_children = 0; + + if (tokens[i] == NULL) + break; + + t = g_strsplit (tokens[i], ",", -1); + + separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL); + gtk_widget_set_no_show_all (separator, TRUE); + gtk_style_context_add_class (gtk_widget_get_style_context (separator), "titlebutton"); + + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, priv->spacing); + + for (j = 0; t[j]; j++) { + GtkWidget *button = NULL; + GtkWidget *image = NULL; + AtkObject *accessible; + + if (strcmp (t[j], "icon") == 0 && + is_sovereign_window) { + button = gtk_image_new (); + gtk_widget_set_valign (button, GTK_ALIGN_CENTER); + priv->titlebar_icon = button; + gtk_style_context_add_class (gtk_widget_get_style_context (button), "titlebutton"); + gtk_style_context_add_class (gtk_widget_get_style_context (button), "icon"); + gtk_widget_set_size_request (button, 20, 20); + gtk_widget_show (button); + + if (!hdy_header_bar_update_window_icon (self, window)) + { + gtk_widget_destroy (button); + priv->titlebar_icon = NULL; + button = NULL; + } + } else if (strcmp (t[j], "menu") == 0 && + menu != NULL && + is_sovereign_window) { + button = gtk_menu_button_new (); + gtk_widget_set_valign (button, GTK_ALIGN_CENTER); + gtk_menu_button_set_menu_model (GTK_MENU_BUTTON (button), menu); + gtk_menu_button_set_use_popover (GTK_MENU_BUTTON (button), TRUE); + gtk_style_context_add_class (gtk_widget_get_style_context (button), "titlebutton"); + gtk_style_context_add_class (gtk_widget_get_style_context (button), "appmenu"); + image = gtk_image_new (); + gtk_container_add (GTK_CONTAINER (button), image); + gtk_widget_set_can_focus (button, FALSE); + gtk_widget_show_all (button); + + accessible = gtk_widget_get_accessible (button); + if (GTK_IS_ACCESSIBLE (accessible)) + atk_object_set_name (accessible, _("Application menu")); + + priv->titlebar_icon = image; + if (!hdy_header_bar_update_window_icon (self, window)) + gtk_image_set_from_icon_name (GTK_IMAGE (priv->titlebar_icon), + "application-x-executable-symbolic", GTK_ICON_SIZE_MENU); + } else if (strcmp (t[j], "minimize") == 0 && + is_sovereign_window) { + button = gtk_button_new (); + gtk_widget_set_valign (button, GTK_ALIGN_CENTER); + gtk_style_context_add_class (gtk_widget_get_style_context (button), "titlebutton"); + gtk_style_context_add_class (gtk_widget_get_style_context (button), "minimize"); + image = gtk_image_new_from_icon_name ("window-minimize-symbolic", GTK_ICON_SIZE_MENU); + g_object_set (image, "use-fallback", TRUE, NULL); + gtk_container_add (GTK_CONTAINER (button), image); + gtk_widget_set_can_focus (button, FALSE); + gtk_widget_show_all (button); + g_signal_connect_swapped (button, "clicked", + G_CALLBACK (gtk_window_iconify), window); + + accessible = gtk_widget_get_accessible (button); + if (GTK_IS_ACCESSIBLE (accessible)) + atk_object_set_name (accessible, _("Minimize")); + } else if (strcmp (t[j], "maximize") == 0 && + gtk_window_get_resizable (window) && + is_sovereign_window) { + const gchar *icon_name; + gboolean maximized = gtk_window_is_maximized (window); + + icon_name = maximized ? "window-restore-symbolic" : "window-maximize-symbolic"; + button = gtk_button_new (); + gtk_widget_set_valign (button, GTK_ALIGN_CENTER); + gtk_style_context_add_class (gtk_widget_get_style_context (button), "titlebutton"); + gtk_style_context_add_class (gtk_widget_get_style_context (button), "maximize"); + image = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_MENU); + g_object_set (image, "use-fallback", TRUE, NULL); + gtk_container_add (GTK_CONTAINER (button), image); + gtk_widget_set_can_focus (button, FALSE); + gtk_widget_show_all (button); + g_signal_connect_swapped (button, "clicked", + G_CALLBACK (hdy_gtk_window_toggle_maximized), window); + + accessible = gtk_widget_get_accessible (button); + if (GTK_IS_ACCESSIBLE (accessible)) + atk_object_set_name (accessible, maximized ? _("Restore") : _("Maximize")); + } else if (strcmp (t[j], "close") == 0 && + gtk_window_get_deletable (window) && + !is_mobile_dialog) { + button = gtk_button_new (); + gtk_widget_set_valign (button, GTK_ALIGN_CENTER); + image = gtk_image_new_from_icon_name ("window-close-symbolic", GTK_ICON_SIZE_MENU); + gtk_style_context_add_class (gtk_widget_get_style_context (button), "titlebutton"); + gtk_style_context_add_class (gtk_widget_get_style_context (button), "close"); + g_object_set (image, "use-fallback", TRUE, NULL); + gtk_container_add (GTK_CONTAINER (button), image); + gtk_widget_set_can_focus (button, FALSE); + gtk_widget_show_all (button); + g_signal_connect_swapped (button, "clicked", + G_CALLBACK (gtk_window_close), window); + + accessible = gtk_widget_get_accessible (button); + if (GTK_IS_ACCESSIBLE (accessible)) + atk_object_set_name (accessible, _("Close")); + } else if (i == 0 && /* Only at the start. */ + gtk_window_get_deletable (window) && + is_mobile_dialog) { + button = gtk_button_new (); + gtk_widget_set_valign (button, GTK_ALIGN_CENTER); + image = gtk_image_new_from_icon_name ("go-previous-symbolic", GTK_ICON_SIZE_BUTTON); + g_object_set (image, "use-fallback", TRUE, NULL); + gtk_container_add (GTK_CONTAINER (button), image); + gtk_widget_set_can_focus (button, TRUE); + gtk_widget_show_all (button); + g_signal_connect_swapped (button, "clicked", + G_CALLBACK (gtk_window_close), window); + + accessible = gtk_widget_get_accessible (button); + if (GTK_IS_ACCESSIBLE (accessible)) + atk_object_set_name (accessible, _("Back")); + } + + if (button) { + gtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0); + n_children ++; + } + } + g_strfreev (t); + + if (n_children == 0) { + g_object_ref_sink (box); + g_object_unref (box); + g_object_ref_sink (separator); + g_object_unref (separator); + continue; + } + + gtk_box_pack_start (GTK_BOX (box), separator, FALSE, FALSE, 0); + if (i == 1) + gtk_box_reorder_child (GTK_BOX (box), separator, 0); + + if ((direction == GTK_TEXT_DIR_LTR && i == 0) || + (direction == GTK_TEXT_DIR_RTL && i == 1)) + gtk_style_context_add_class (gtk_widget_get_style_context (box), GTK_STYLE_CLASS_LEFT); + else + gtk_style_context_add_class (gtk_widget_get_style_context (box), GTK_STYLE_CLASS_RIGHT); + + gtk_widget_show (box); + gtk_widget_set_parent (box, GTK_WIDGET (self)); + + if (i == 0) { + priv->titlebar_start_box = box; + priv->titlebar_start_separator = separator; + } else { + priv->titlebar_end_box = box; + priv->titlebar_end_separator = separator; + } + } + g_strfreev (tokens); + } + g_free (layout_desc); + + _hdy_header_bar_update_separator_visibility (self); +} + +static gboolean +compute_is_mobile_window (GtkWindow *window) +{ + gint window_width, window_height; + + gtk_window_get_size (window, &window_width, &window_height); + + if (window_width <= MOBILE_WINDOW_WIDTH && + gtk_window_is_maximized (window)) + return TRUE; + + /* Mobile landscape mode. */ + if (window_width <= MOBILE_WINDOW_HEIGHT && + window_height <= MOBILE_WINDOW_WIDTH && + gtk_window_is_maximized (window)) + return TRUE; + + return FALSE; +} + +static void +update_is_mobile_window (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (self)); + gboolean was_mobile_window = priv->is_mobile_window; + + if (!gtk_widget_is_toplevel (toplevel)) + return; + + priv->is_mobile_window = compute_is_mobile_window (GTK_WINDOW (toplevel)); + + if (priv->is_mobile_window != was_mobile_window) + hdy_header_bar_update_window_buttons (self); +} + +static void +construct_label_box (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + g_assert (priv->label_box == NULL); + + priv->label_box = create_title_box (priv->title, + priv->subtitle, + &priv->title_label, + &priv->subtitle_label); + gtk_widget_set_parent (priv->label_box, GTK_WIDGET (self)); +} + +static gint +count_visible_children (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GList *l; + Child *child; + gint n; + + n = 0; + for (l = priv->children; l; l = l->next) { + child = l->data; + if (gtk_widget_get_visible (child->widget)) + n++; + } + + return n; +} + +static gint +count_visible_children_for_pack_type (HdyHeaderBar *self, GtkPackType pack_type) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GList *l; + Child *child; + gint n; + + n = 0; + for (l = priv->children; l; l = l->next) { + child = l->data; + if (gtk_widget_get_visible (child->widget) && child->pack_type == pack_type) + n++; + } + + return n; +} + +static gboolean +add_child_size (GtkWidget *child, + GtkOrientation orientation, + gint *minimum, + gint *natural) +{ + gint child_minimum, child_natural; + + if (!gtk_widget_get_visible (child)) + return FALSE; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_widget_get_preferred_width (child, &child_minimum, &child_natural); + else + gtk_widget_get_preferred_height (child, &child_minimum, &child_natural); + + if (GTK_ORIENTATION_HORIZONTAL == orientation) { + *minimum += child_minimum; + *natural += child_natural; + } else { + *minimum = MAX (*minimum, child_minimum); + *natural = MAX (*natural, child_natural); + } + + return TRUE; +} + +static void +hdy_header_bar_get_size (GtkWidget *widget, + GtkOrientation orientation, + gint *minimum, + gint *natural) +{ + HdyHeaderBar *self = HDY_HEADER_BAR (widget); + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GList *l; + gint n_start_children = 0, n_end_children = 0; + gint start_min = 0, start_nat = 0; + gint end_min = 0, end_nat = 0; + gint center_min = 0, center_nat = 0; + + for (l = priv->children; l; l = l->next) { + Child *child = l->data; + + if (child->pack_type == GTK_PACK_START) { + if (add_child_size (child->widget, orientation, &start_min, &start_nat)) + n_start_children += 1; + } else { + if (add_child_size (child->widget, orientation, &end_min, &end_nat)) + n_end_children += 1; + } + } + + if (priv->label_box != NULL) { + if (orientation == GTK_ORIENTATION_HORIZONTAL) + add_child_size (priv->label_box, orientation, ¢er_min, ¢er_nat); + else + add_child_size (priv->label_sizing_box, orientation, ¢er_min, ¢er_nat); + } + + if (priv->custom_title != NULL) + add_child_size (priv->custom_title, orientation, ¢er_min, ¢er_nat); + + if (priv->titlebar_start_box != NULL) { + if (add_child_size (priv->titlebar_start_box, orientation, &start_min, &start_nat)) + n_start_children += 1; + } + + if (priv->titlebar_end_box != NULL) { + if (add_child_size (priv->titlebar_end_box, orientation, &end_min, &end_nat)) + n_end_children += 1; + } + + if (orientation == GTK_ORIENTATION_HORIZONTAL) { + gdouble strict_centering_t; + gint start_min_spaced = start_min + n_start_children * priv->spacing; + gint end_min_spaced = end_min + n_end_children * priv->spacing; + gint start_nat_spaced = start_nat + n_start_children * priv->spacing; + gint end_nat_spaced = end_nat + n_end_children * priv->spacing; + + if (gtk_progress_tracker_get_state (&priv->tracker) != GTK_PROGRESS_STATE_AFTER) { + strict_centering_t = gtk_progress_tracker_get_ease_out_cubic (&priv->tracker, FALSE); + if (priv->centering_policy != HDY_CENTERING_POLICY_STRICT) + strict_centering_t = 1.0 - strict_centering_t; + } else + strict_centering_t = priv->centering_policy == HDY_CENTERING_POLICY_STRICT ? 1.0 : 0.0; + + *minimum = center_min + n_start_children * priv->spacing + + hdy_lerp (start_min_spaced + end_min_spaced, + 2 * MAX (start_min_spaced, end_min_spaced), + strict_centering_t); + *natural = center_nat + n_start_children * priv->spacing + + hdy_lerp (start_nat_spaced + end_nat_spaced, + 2 * MAX (start_nat_spaced, end_nat_spaced), + strict_centering_t); + } else { + *minimum = MAX (MAX (start_min, end_min), center_min); + *natural = MAX (MAX (start_nat, end_nat), center_nat); + } +} + +static void +hdy_header_bar_compute_size_for_orientation (GtkWidget *widget, + gint avail_size, + gint *minimum_size, + gint *natural_size) +{ + HdyHeaderBar *self = HDY_HEADER_BAR (widget); + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GList *children; + gint required_size = 0; + gint required_natural = 0; + gint child_size; + gint child_natural; + gint nvis_children = 0; + + for (children = priv->children; children != NULL; children = children->next) { + Child *child = children->data; + + if (gtk_widget_get_visible (child->widget)) { + gtk_widget_get_preferred_width_for_height (child->widget, + avail_size, &child_size, &child_natural); + + required_size += child_size; + required_natural += child_natural; + + nvis_children += 1; + } + } + + if (priv->label_box != NULL) { + gtk_widget_get_preferred_width (priv->label_sizing_box, + &child_size, &child_natural); + required_size += child_size; + required_natural += child_natural; + } + + if (priv->custom_title != NULL && + gtk_widget_get_visible (priv->custom_title)) { + gtk_widget_get_preferred_width (priv->custom_title, + &child_size, &child_natural); + required_size += child_size; + required_natural += child_natural; + } + + if (priv->titlebar_start_box != NULL) { + gtk_widget_get_preferred_width (priv->titlebar_start_box, + &child_size, &child_natural); + required_size += child_size; + required_natural += child_natural; + nvis_children += 1; + } + + if (priv->titlebar_end_box != NULL) { + gtk_widget_get_preferred_width (priv->titlebar_end_box, + &child_size, &child_natural); + required_size += child_size; + required_natural += child_natural; + nvis_children += 1; + } + + required_size += nvis_children * priv->spacing; + required_natural += nvis_children * priv->spacing; + + *minimum_size = required_size; + *natural_size = required_natural; +} + +static void +hdy_header_bar_compute_size_for_opposing_orientation (GtkWidget *widget, + gint avail_size, + gint *minimum_size, + gint *natural_size) +{ + HdyHeaderBar *self = HDY_HEADER_BAR (widget); + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + Child *child; + GList *children; + gint nvis_children; + gint computed_minimum = 0; + gint computed_natural = 0; + GtkRequestedSize *sizes; + GtkPackType packing; + gint i; + gint child_size; + gint child_minimum; + gint child_natural; + gint center_min, center_nat; + + nvis_children = count_visible_children (self); + + if (nvis_children <= 0) + return; + + sizes = g_newa (GtkRequestedSize, nvis_children); + + /* Retrieve desired size for visible children */ + for (i = 0, children = priv->children; children; children = children->next) { + child = children->data; + + if (gtk_widget_get_visible (child->widget)) { + gtk_widget_get_preferred_width (child->widget, + &sizes[i].minimum_size, + &sizes[i].natural_size); + + sizes[i].data = child; + i += 1; + } + } + + /* Bring children up to size first */ + gtk_distribute_natural_allocation (MAX (0, avail_size), nvis_children, sizes); + + /* Allocate child positions. */ + for (packing = GTK_PACK_START; packing <= GTK_PACK_END; ++packing) { + for (i = 0, children = priv->children; children; children = children->next) { + child = children->data; + + /* If widget is not visible, skip it. */ + if (!gtk_widget_get_visible (child->widget)) + continue; + + /* If widget is packed differently skip it, but still increment i, + * since widget is visible and will be handled in next loop + * iteration. + */ + if (child->pack_type != packing) { + i++; + continue; + } + + child_size = sizes[i].minimum_size; + + gtk_widget_get_preferred_height_for_width (child->widget, + child_size, &child_minimum, &child_natural); + + computed_minimum = MAX (computed_minimum, child_minimum); + computed_natural = MAX (computed_natural, child_natural); + } + } + + center_min = center_nat = 0; + if (priv->label_box != NULL) { + gtk_widget_get_preferred_height (priv->label_sizing_box, + ¢er_min, ¢er_nat); + } + + if (priv->custom_title != NULL && + gtk_widget_get_visible (priv->custom_title)) { + gtk_widget_get_preferred_height (priv->custom_title, + ¢er_min, ¢er_nat); + } + + if (priv->titlebar_start_box != NULL) { + gtk_widget_get_preferred_height (priv->titlebar_start_box, + &child_minimum, &child_natural); + computed_minimum = MAX (computed_minimum, child_minimum); + computed_natural = MAX (computed_natural, child_natural); + } + + if (priv->titlebar_end_box != NULL) { + gtk_widget_get_preferred_height (priv->titlebar_end_box, + &child_minimum, &child_natural); + computed_minimum = MAX (computed_minimum, child_minimum); + computed_natural = MAX (computed_natural, child_natural); + } + + *minimum_size = computed_minimum; + *natural_size = computed_natural; +} + +static void +hdy_header_bar_measure (GtkWidget *widget, + GtkOrientation orientation, + gint for_size, + gint *minimum, + gint *natural, + gint *minimum_baseline, + gint *natural_baseline) +{ + gint css_width, css_height; + + gtk_style_context_get (gtk_widget_get_style_context (widget), + gtk_widget_get_state_flags (widget), + "min-width", &css_width, + "min-height", &css_height, + NULL); + + if (for_size < 0) + hdy_header_bar_get_size (widget, orientation, minimum, natural); + else if (orientation == GTK_ORIENTATION_HORIZONTAL) + hdy_header_bar_compute_size_for_orientation (widget, MAX (for_size, css_height), minimum, natural); + else + hdy_header_bar_compute_size_for_opposing_orientation (widget, MAX (for_size, css_width), minimum, natural); + + hdy_css_measure (widget, orientation, minimum, natural); +} + +static void +hdy_header_bar_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + hdy_header_bar_measure (widget, GTK_ORIENTATION_HORIZONTAL, -1, + minimum, natural, + NULL, NULL); +} + +static void +hdy_header_bar_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + hdy_header_bar_measure (widget, GTK_ORIENTATION_VERTICAL, -1, + minimum, natural, + NULL, NULL); +} + +static void +hdy_header_bar_get_preferred_width_for_height (GtkWidget *widget, + gint height, + gint *minimum, + gint *natural) +{ + hdy_header_bar_measure (widget, GTK_ORIENTATION_HORIZONTAL, height, + minimum, natural, + NULL, NULL); +} + +static void +hdy_header_bar_get_preferred_height_for_width (GtkWidget *widget, + gint width, + gint *minimum, + gint *natural) +{ + hdy_header_bar_measure (widget, GTK_ORIENTATION_VERTICAL, width, + minimum, natural, + NULL, NULL); +} + +static GtkWidget * +get_title_size (HdyHeaderBar *self, + gint for_height, + GtkRequestedSize *size, + gint *expanded) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GtkWidget *title_widget; + + if (priv->custom_title != NULL && + gtk_widget_get_visible (priv->custom_title)) + title_widget = priv->custom_title; + else if (priv->label_box != NULL) + title_widget = priv->label_box; + else + return NULL; + + gtk_widget_get_preferred_width_for_height (title_widget, + for_height, + &(size->minimum_size), + &(size->natural_size)); + + *expanded = gtk_widget_compute_expand (title_widget, GTK_ORIENTATION_HORIZONTAL); + + return title_widget; +} + +static void +children_allocate (HdyHeaderBar *self, + GtkAllocation *allocation, + GtkAllocation **allocations, + GtkRequestedSize *sizes, + gint decoration_width[2], + gint uniform_expand_bonus[2], + gint leftover_expand_bonus[2]) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GtkPackType packing; + GtkAllocation child_allocation; + gint x; + gint i; + GList *l; + Child *child; + gint child_size; + /* GtkTextDirection direction; */ + + /* Allocate the children on both sides of the title. */ + for (packing = GTK_PACK_START; packing <= GTK_PACK_END; packing++) { + child_allocation.y = allocation->y; + child_allocation.height = allocation->height; + if (packing == GTK_PACK_START) + x = allocation->x + decoration_width[0]; + else + x = allocation->x + allocation->width - decoration_width[1]; + + i = 0; + for (l = priv->children; l != NULL; l = l->next) { + child = l->data; + if (!gtk_widget_get_visible (child->widget)) + continue; + + if (child->pack_type != packing) + goto next; + + child_size = sizes[i].minimum_size; + + /* If this child is expanded, give it extra space from the reserves. */ + if (gtk_widget_compute_expand (child->widget, GTK_ORIENTATION_HORIZONTAL)) { + gint expand_bonus; + + expand_bonus = uniform_expand_bonus[packing]; + + if (leftover_expand_bonus[packing] > 0) { + expand_bonus++; + leftover_expand_bonus[packing]--; + } + + child_size += expand_bonus; + } + + child_allocation.width = child_size; + + if (packing == GTK_PACK_START) { + child_allocation.x = x; + x += child_size; + x += priv->spacing; + } else { + x -= child_size; + child_allocation.x = x; + x -= priv->spacing; + } + + if (gtk_widget_get_direction (GTK_WIDGET (self)) == GTK_TEXT_DIR_RTL) + child_allocation.x = allocation->x + allocation->width - (child_allocation.x - allocation->x) - child_allocation.width; + + (*allocations)[i] = child_allocation; + + next: + i++; + } + } +} + +static void +get_loose_centering_allocations (HdyHeaderBar *self, + GtkAllocation *allocation, + GtkAllocation **allocations, + GtkAllocation *title_allocation, + gint decoration_width[2]) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GtkRequestedSize *sizes; + gint width; + gint nvis_children; + GtkRequestedSize title_size = { 0 }; + gboolean title_expands = FALSE; + gint side[2] = { 0 }; + gint uniform_expand_bonus[2] = { 0 }; + gint leftover_expand_bonus[2] = { 0 }; + gint side_free_space[2] = { 0 }; + gint center_free_space[2] = { 0 }; + gint nexpand_children[2] = { 0 }; + gint center_free_space_min; + GList *l; + gint i; + Child *child; + GtkPackType packing; + + nvis_children = count_visible_children (self); + sizes = g_newa (GtkRequestedSize, nvis_children); + + width = allocation->width - nvis_children * priv->spacing; + + i = 0; + for (l = priv->children; l; l = l->next) { + child = l->data; + if (!gtk_widget_get_visible (child->widget)) + continue; + + if (gtk_widget_compute_expand (child->widget, GTK_ORIENTATION_HORIZONTAL)) + nexpand_children[child->pack_type]++; + + gtk_widget_get_preferred_width_for_height (child->widget, + allocation->height, + &sizes[i].minimum_size, + &sizes[i].natural_size); + width -= sizes[i].minimum_size; + i++; + } + + get_title_size (self, allocation->height, &title_size, &title_expands); + width -= title_size.minimum_size; + + /* Compute the nominal size of the children filling up each side of the title + * in titlebar. + */ + for (packing = GTK_PACK_START; packing <= GTK_PACK_END; packing++) { + i = 0; + for (l = priv->children; l != NULL; l = l->next) { + child = l->data; + if (!gtk_widget_get_visible (child->widget)) + continue; + + if (child->pack_type == packing) + side[packing] += sizes[i].minimum_size + priv->spacing; + + i++; + } + } + + /* Distribute the available space for natural expansion of the children. */ + for (packing = GTK_PACK_START; packing <= GTK_PACK_END; packing++) + width -= decoration_width[packing]; + width = gtk_distribute_natural_allocation (MAX (0, width), 1, &title_size); + width = gtk_distribute_natural_allocation (MAX (0, width), nvis_children, sizes); + + /* Compute the nominal size of the children filling up each side of the title + * in titlebar. + */ + for (packing = GTK_PACK_START; packing <= GTK_PACK_END; packing++) { + i = 0; + side[packing] = 0; + for (l = priv->children; l != NULL; l = l->next) { + child = l->data; + if (!gtk_widget_get_visible (child->widget)) + continue; + + if (child->pack_type == packing) + side[packing] += sizes[i].minimum_size + priv->spacing; + + i++; + } + } + + /* Figure out how much space is left on each side of the title, and earkmark + * that space for the expanded children. + * + * If the title itself is expanded, then it gets half the spoils from each + * side. + */ + for (packing = GTK_PACK_START; packing <= GTK_PACK_END; packing++) { + side_free_space[packing] = MIN (MAX (allocation->width / 2 - title_size.natural_size / 2 - decoration_width[packing] - side[packing], 0), width); + if (title_expands) + center_free_space[packing] = nexpand_children[packing] > 0 ? + side_free_space[packing] / 2 : + side_free_space[packing]; + } + center_free_space_min = MIN (center_free_space[0], center_free_space[1]); + for (packing = GTK_PACK_START; packing <= GTK_PACK_END; packing++) { + center_free_space[packing] = center_free_space_min; + side_free_space[packing] -= center_free_space[packing]; + width -= side_free_space[packing]; + + if (nexpand_children[packing] == 0) + continue; + + uniform_expand_bonus[packing] = (side_free_space[packing]) / nexpand_children[packing]; + leftover_expand_bonus[packing] = (side_free_space[packing]) % nexpand_children[packing]; + } + + children_allocate (self, allocation, allocations, sizes, decoration_width, uniform_expand_bonus, leftover_expand_bonus); + + /* We don't enforce css borders on the center widget, to make title/subtitle + * combinations fit without growing the header. + */ + title_allocation->y = allocation->y; + title_allocation->height = allocation->height; + + title_allocation->width = MIN (allocation->width - decoration_width[0] - side[0] - decoration_width[1] - side[1], + title_size.natural_size); + title_allocation->x = allocation->x + (allocation->width - title_allocation->width) / 2; + + /* If the title widget is expanded, then grow it by all the available free + * space, and recenter it. + */ + if (title_expands && width > 0) { + title_allocation->width += width; + title_allocation->x -= width / 2; + } + + if (allocation->x + decoration_width[0] + side[0] > title_allocation->x) + title_allocation->x = allocation->x + decoration_width[0] + side[0]; + else if (allocation->x + allocation->width - decoration_width[1] - side[1] < title_allocation->x + title_allocation->width) + title_allocation->x = allocation->x + allocation->width - decoration_width[1] - side[1] - title_allocation->width; + + if (gtk_widget_get_direction (GTK_WIDGET (self)) == GTK_TEXT_DIR_RTL) + title_allocation->x = allocation->x + allocation->width - (title_allocation->x - allocation->x) - title_allocation->width; +} + +static void +get_strict_centering_allocations (HdyHeaderBar *self, + GtkAllocation *allocation, + GtkAllocation **allocations, + GtkAllocation *title_allocation, + gint decoration_width[2]) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + GtkRequestedSize *children_sizes = { 0 }; + GtkRequestedSize *children_sizes_for_side[2] = { 0 }; + GtkRequestedSize side_size[2] = { 0 }; /* The size requested by each side. */ + GtkRequestedSize title_size = { 0 }; /* The size requested by the title. */ + GtkRequestedSize side_request = { 0 }; /* The maximum size requested by each side, decoration included. */ + gint side_max; /* The maximum space allocatable to each side, decoration included. */ + gint title_leftover; /* The or 0px or 1px leftover from ensuring each side is allocated the same size. */ + /* The space available for expansion on each side, including for the title. */ + gint free_space[2] = { 0 }; + /* The space the title will take from the free space of each side for its expansion. */ + gint title_expand_bonus = 0; + gint uniform_expand_bonus[2] = { 0 }; + gint leftover_expand_bonus[2] = { 0 }; + + gint nvis_children, n_side_vis_children[2] = { 0 }; + gint nexpand_children[2] = { 0 }; + gboolean title_expands = FALSE; + GList *l; + gint i; + Child *child; + GtkPackType packing; + + get_title_size (self, allocation->height, &title_size, &title_expands); + + nvis_children = count_visible_children (self); + children_sizes = g_newa (GtkRequestedSize, nvis_children); + for (packing = GTK_PACK_START; packing <= GTK_PACK_END; packing++) { + n_side_vis_children[packing] = count_visible_children_for_pack_type (self, packing); + children_sizes_for_side[packing] = packing == 0 ? children_sizes : children_sizes + n_side_vis_children[packing - 1]; + free_space[packing] = (allocation->width - title_size.minimum_size) / 2 - decoration_width[packing]; + } + + /* Compute the nominal size of the children filling up each side of the title + * in titlebar. + */ + i = 0; + for (l = priv->children; l; l = l->next) { + child = l->data; + if (!gtk_widget_get_visible (child->widget)) + continue; + + if (gtk_widget_compute_expand (child->widget, GTK_ORIENTATION_HORIZONTAL)) + nexpand_children[child->pack_type]++; + + gtk_widget_get_preferred_width_for_height (child->widget, + allocation->height, + &children_sizes[i].minimum_size, + &children_sizes[i].natural_size); + side_size[child->pack_type].minimum_size += children_sizes[i].minimum_size + priv->spacing; + side_size[child->pack_type].natural_size += children_sizes[i].natural_size + priv->spacing; + free_space[child->pack_type] -= children_sizes[i].minimum_size + priv->spacing; + + i++; + } + + /* Figure out the space maximum size requests from each side to help centering + * the title. + */ + side_request.minimum_size = MAX (side_size[GTK_PACK_START].minimum_size + decoration_width[GTK_PACK_START], + side_size[GTK_PACK_END].minimum_size + decoration_width[GTK_PACK_END]); + side_request.natural_size = MAX (side_size[GTK_PACK_START].natural_size + decoration_width[GTK_PACK_START], + side_size[GTK_PACK_END].natural_size + decoration_width[GTK_PACK_END]); + title_leftover = (allocation->width - title_size.natural_size) % 2; + side_max = MAX ((allocation->width - title_size.natural_size) / 2, side_request.minimum_size); + + /* Distribute the available space for natural expansion of the children and + * figure out how much space is left on each side of the title, free to be + * used for expansion. + */ + for (packing = GTK_PACK_START; packing <= GTK_PACK_END; packing++) { + gint leftovers = side_max - side_size[packing].minimum_size - decoration_width[packing]; + free_space[packing] = gtk_distribute_natural_allocation (leftovers, n_side_vis_children[packing], children_sizes_for_side[packing]); + } + + /* Compute how much of each side's free space should be distributed to the + * title for its expansion. + */ + title_expand_bonus = !title_expands ? 0 : + MIN (nexpand_children[GTK_PACK_START] > 0 ? free_space[GTK_PACK_START] / 2 : + free_space[GTK_PACK_START], + nexpand_children[GTK_PACK_END] > 0 ? free_space[GTK_PACK_END] / 2 : + free_space[GTK_PACK_END]); + + /* Remove the space the title takes from each side for its expansion. */ + for (packing = GTK_PACK_START; packing <= GTK_PACK_END; packing++) + free_space[packing] -= title_expand_bonus; + + /* Distribute the free space for expansion of the children. */ + for (packing = GTK_PACK_START; packing <= GTK_PACK_END; packing++) { + if (nexpand_children[packing] == 0) + continue; + + uniform_expand_bonus[packing] = free_space[packing] / nexpand_children[packing]; + leftover_expand_bonus[packing] = free_space[packing] % nexpand_children[packing]; + } + + children_allocate (self, allocation, allocations, children_sizes, decoration_width, uniform_expand_bonus, leftover_expand_bonus); + + /* We don't enforce css borders on the center widget, to make title/subtitle + * combinations fit without growing the header. + */ + title_allocation->y = allocation->y; + title_allocation->height = allocation->height; + + title_allocation->width = MIN (allocation->width - 2 * side_max + title_leftover, + title_size.natural_size); + title_allocation->x = allocation->x + (allocation->width - title_allocation->width) / 2; + + /* If the title widget is expanded, then grow it by the free space available + * for it. + */ + if (title_expands) { + title_allocation->width += 2 * title_expand_bonus; + title_allocation->x -= title_expand_bonus; + } + + if (gtk_widget_get_direction (GTK_WIDGET (self)) == GTK_TEXT_DIR_RTL) + title_allocation->x = allocation->x + allocation->width - (title_allocation->x - allocation->x) - title_allocation->width; +} + +static void +hdy_header_bar_size_allocate (GtkWidget *widget, + GtkAllocation *allocation) +{ + HdyHeaderBar *self = HDY_HEADER_BAR (widget); + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GtkAllocation *allocations; + GtkAllocation title_allocation; + GtkAllocation clip; + gint nvis_children; + GList *l; + gint i; + Child *child; + GtkAllocation child_allocation; + GtkTextDirection direction; + GtkWidget *decoration_box[2] = { priv->titlebar_start_box, priv->titlebar_end_box }; + gint decoration_width[2] = { 0 }; + + gtk_render_background_get_clip (gtk_widget_get_style_context (widget), + allocation->x, + allocation->y, + allocation->width, + allocation->height, + &clip); + + gtk_widget_set_allocation (widget, allocation); + + if (gtk_widget_get_realized (widget)) + gdk_window_move_resize (gtk_widget_get_window (widget), + allocation->x, + allocation->y, + allocation->width, + allocation->height); + + allocation->x = 0; + allocation->y = 0; + hdy_css_size_allocate (widget, allocation); + + direction = gtk_widget_get_direction (widget); + nvis_children = count_visible_children (self); + allocations = g_newa (GtkAllocation, nvis_children); + + /* Get the decoration width. */ + for (GtkPackType packing = GTK_PACK_START; packing <= GTK_PACK_END; packing++) { + gint min, nat; + + if (decoration_box[packing] == NULL) + continue; + + gtk_widget_get_preferred_width_for_height (decoration_box[packing], + allocation->height, + &min, &nat); + decoration_width[packing] = nat + priv->spacing; + } + + /* Allocate the decoration widgets. */ + child_allocation.y = allocation->y; + child_allocation.height = allocation->height; + + if (priv->titlebar_start_box) { + if (direction == GTK_TEXT_DIR_LTR) + child_allocation.x = allocation->x; + else + child_allocation.x = allocation->x + allocation->width - decoration_width[GTK_PACK_START] + priv->spacing; + child_allocation.width = decoration_width[GTK_PACK_START] - priv->spacing; + gtk_widget_size_allocate (priv->titlebar_start_box, &child_allocation); + } + + if (priv->titlebar_end_box) { + if (direction != GTK_TEXT_DIR_LTR) + child_allocation.x = allocation->x; + else + child_allocation.x = allocation->x + allocation->width - decoration_width[GTK_PACK_END] + priv->spacing; + child_allocation.width = decoration_width[GTK_PACK_END] - priv->spacing; + gtk_widget_size_allocate (priv->titlebar_end_box, &child_allocation); + } + + /* Get the allocation for widgets on both side of the title. */ + if (gtk_progress_tracker_get_state (&priv->tracker) == GTK_PROGRESS_STATE_AFTER) { + if (priv->centering_policy == HDY_CENTERING_POLICY_STRICT) + get_strict_centering_allocations (self, allocation, &allocations, &title_allocation, decoration_width); + else + get_loose_centering_allocations (self, allocation, &allocations, &title_allocation, decoration_width); + } else { + /* For memory usage optimisation's sake, we will use the allocations + * variable to store the loose centering allocations and the + * title_allocation variable to store the loose title allocation. + */ + GtkAllocation *strict_allocations = g_newa (GtkAllocation, nvis_children); + GtkAllocation strict_title_allocation; + gdouble strict_centering_t = gtk_progress_tracker_get_ease_out_cubic (&priv->tracker, FALSE); + + if (priv->centering_policy != HDY_CENTERING_POLICY_STRICT) + strict_centering_t = 1.0 - strict_centering_t; + + get_loose_centering_allocations (self, allocation, &allocations, &title_allocation, decoration_width); + get_strict_centering_allocations (self, allocation, &strict_allocations, &strict_title_allocation, decoration_width); + + for (i = 0; i < nvis_children; i++) { + allocations[i].x = hdy_lerp (allocations[i].x, strict_allocations[i].x, strict_centering_t); + allocations[i].y = hdy_lerp (allocations[i].y, strict_allocations[i].y, strict_centering_t); + allocations[i].width = hdy_lerp (allocations[i].width, strict_allocations[i].width, strict_centering_t); + allocations[i].height = hdy_lerp (allocations[i].height, strict_allocations[i].height, strict_centering_t); + } + title_allocation.x = hdy_lerp (title_allocation.x, strict_title_allocation.x, strict_centering_t); + title_allocation.y = hdy_lerp (title_allocation.y, strict_title_allocation.y, strict_centering_t); + title_allocation.width = hdy_lerp (title_allocation.width, strict_title_allocation.width, strict_centering_t); + title_allocation.height = hdy_lerp (title_allocation.height, strict_title_allocation.height, strict_centering_t); + } + + /* Allocate the children on both sides of the title. */ + i = 0; + for (l = priv->children; l != NULL; l = l->next) { + child = l->data; + if (!gtk_widget_get_visible (child->widget)) + continue; + + gtk_widget_size_allocate (child->widget, &allocations[i]); + i++; + } + + /* Allocate the title widget. */ + if (priv->custom_title != NULL && gtk_widget_get_visible (priv->custom_title)) + gtk_widget_size_allocate (priv->custom_title, &title_allocation); + else if (priv->label_box != NULL) + gtk_widget_size_allocate (priv->label_box, &title_allocation); + + gtk_widget_set_clip (widget, &clip); +} + +static void +hdy_header_bar_destroy (GtkWidget *widget) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (HDY_HEADER_BAR (widget)); + + if (priv->label_sizing_box) { + gtk_widget_destroy (priv->label_sizing_box); + g_clear_object (&priv->label_sizing_box); + } + + if (priv->custom_title) { + gtk_widget_unparent (priv->custom_title); + priv->custom_title = NULL; + } + + if (priv->label_box) { + gtk_widget_unparent (priv->label_box); + priv->label_box = NULL; + } + + if (priv->titlebar_start_box) { + gtk_widget_unparent (priv->titlebar_start_box); + priv->titlebar_start_box = NULL; + priv->titlebar_start_separator = NULL; + } + + if (priv->titlebar_end_box) { + gtk_widget_unparent (priv->titlebar_end_box); + priv->titlebar_end_box = NULL; + priv->titlebar_end_separator = NULL; + } + + GTK_WIDGET_CLASS (hdy_header_bar_parent_class)->destroy (widget); +} + +static void +hdy_header_bar_finalize (GObject *object) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (HDY_HEADER_BAR (object)); + + g_clear_pointer (&priv->title, g_free); + g_clear_pointer (&priv->subtitle, g_free); + g_clear_pointer (&priv->decoration_layout, g_free); + g_clear_object (&priv->controller); + + G_OBJECT_CLASS (hdy_header_bar_parent_class)->finalize (object); +} + +static void +hdy_header_bar_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyHeaderBar *self = HDY_HEADER_BAR (object); + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + switch (prop_id) { + case PROP_TITLE: + g_value_set_string (value, priv->title); + break; + case PROP_SUBTITLE: + g_value_set_string (value, priv->subtitle); + break; + case PROP_CUSTOM_TITLE: + g_value_set_object (value, priv->custom_title); + break; + case PROP_SPACING: + g_value_set_int (value, priv->spacing); + break; + case PROP_SHOW_CLOSE_BUTTON: + g_value_set_boolean (value, hdy_header_bar_get_show_close_button (self)); + break; + case PROP_HAS_SUBTITLE: + g_value_set_boolean (value, hdy_header_bar_get_has_subtitle (self)); + break; + case PROP_DECORATION_LAYOUT: + g_value_set_string (value, hdy_header_bar_get_decoration_layout (self)); + break; + case PROP_DECORATION_LAYOUT_SET: + g_value_set_boolean (value, priv->decoration_layout_set); + break; + case PROP_CENTERING_POLICY: + g_value_set_enum (value, hdy_header_bar_get_centering_policy (self)); + break; + case PROP_TRANSITION_DURATION: + g_value_set_uint (value, hdy_header_bar_get_transition_duration (self)); + break; + case PROP_TRANSITION_RUNNING: + g_value_set_boolean (value, hdy_header_bar_get_transition_running (self)); + break; + case PROP_INTERPOLATE_SIZE: + g_value_set_boolean (value, hdy_header_bar_get_interpolate_size (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +hdy_header_bar_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyHeaderBar *self = HDY_HEADER_BAR (object); + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + switch (prop_id) { + case PROP_TITLE: + hdy_header_bar_set_title (self, g_value_get_string (value)); + break; + case PROP_SUBTITLE: + hdy_header_bar_set_subtitle (self, g_value_get_string (value)); + break; + case PROP_CUSTOM_TITLE: + hdy_header_bar_set_custom_title (self, g_value_get_object (value)); + break; + case PROP_SPACING: + if (priv->spacing != g_value_get_int (value)) { + priv->spacing = g_value_get_int (value); + gtk_widget_queue_resize (GTK_WIDGET (self)); + g_object_notify_by_pspec (object, pspec); + } + break; + case PROP_SHOW_CLOSE_BUTTON: + hdy_header_bar_set_show_close_button (self, g_value_get_boolean (value)); + break; + case PROP_HAS_SUBTITLE: + hdy_header_bar_set_has_subtitle (self, g_value_get_boolean (value)); + break; + case PROP_DECORATION_LAYOUT: + hdy_header_bar_set_decoration_layout (self, g_value_get_string (value)); + break; + case PROP_DECORATION_LAYOUT_SET: + priv->decoration_layout_set = g_value_get_boolean (value); + break; + case PROP_CENTERING_POLICY: + hdy_header_bar_set_centering_policy (self, g_value_get_enum (value)); + break; + case PROP_TRANSITION_DURATION: + hdy_header_bar_set_transition_duration (self, g_value_get_uint (value)); + break; + case PROP_INTERPOLATE_SIZE: + hdy_header_bar_set_interpolate_size (self, g_value_get_boolean (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +notify_child_cb (GObject *child, + GParamSpec *pspec, + HdyHeaderBar *self) +{ + _hdy_header_bar_update_separator_visibility (self); +} + +static void +hdy_header_bar_pack (HdyHeaderBar *self, + GtkWidget *widget, + GtkPackType pack_type) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + Child *child; + + g_return_if_fail (gtk_widget_get_parent (widget) == NULL); + + child = g_new (Child, 1); + child->widget = widget; + child->pack_type = pack_type; + + priv->children = g_list_append (priv->children, child); + + gtk_widget_freeze_child_notify (widget); + gtk_widget_set_parent (widget, GTK_WIDGET (self)); + g_signal_connect (widget, "notify::visible", G_CALLBACK (notify_child_cb), self); + gtk_widget_child_notify (widget, "pack-type"); + gtk_widget_child_notify (widget, "position"); + gtk_widget_thaw_child_notify (widget); + + _hdy_header_bar_update_separator_visibility (self); +} + +static void +hdy_header_bar_add (GtkContainer *container, + GtkWidget *child) +{ + hdy_header_bar_pack (HDY_HEADER_BAR (container), child, GTK_PACK_START); +} + +static GList * +find_child_link (HdyHeaderBar *self, + GtkWidget *widget, + gint *position) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GList *l; + Child *child; + gint i; + + for (l = priv->children, i = 0; l; l = l->next, i++) { + child = l->data; + if (child->widget == widget) { + if (position) + *position = i; + + return l; + } + } + + return NULL; +} + +static void +hdy_header_bar_remove (GtkContainer *container, + GtkWidget *widget) +{ + HdyHeaderBar *self = HDY_HEADER_BAR (container); + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GList *l; + Child *child; + + l = find_child_link (self, widget, NULL); + if (l) { + child = l->data; + g_signal_handlers_disconnect_by_func (widget, notify_child_cb, self); + gtk_widget_unparent (child->widget); + priv->children = g_list_delete_link (priv->children, l); + g_free (child); + gtk_widget_queue_resize (GTK_WIDGET (container)); + _hdy_header_bar_update_separator_visibility (self); + } +} + +static void +hdy_header_bar_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + HdyHeaderBar *self = HDY_HEADER_BAR (container); + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + Child *child; + GList *children; + + if (include_internals && priv->titlebar_start_box != NULL) + (* callback) (priv->titlebar_start_box, callback_data); + + children = priv->children; + while (children) { + child = children->data; + children = children->next; + if (child->pack_type == GTK_PACK_START) + (* callback) (child->widget, callback_data); + } + + if (priv->custom_title != NULL) + (* callback) (priv->custom_title, callback_data); + + if (include_internals && priv->label_box != NULL) + (* callback) (priv->label_box, callback_data); + + children = priv->children; + while (children) { + child = children->data; + children = children->next; + if (child->pack_type == GTK_PACK_END) + (* callback) (child->widget, callback_data); + } + + if (include_internals && priv->titlebar_end_box != NULL) + (* callback) (priv->titlebar_end_box, callback_data); +} + +static void +hdy_header_bar_reorder_child (HdyHeaderBar *self, + GtkWidget *widget, + gint position) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GList *l; + gint old_position; + Child *child; + + l = find_child_link (self, widget, &old_position); + + if (l == NULL) + return; + + if (old_position == position) + return; + + child = l->data; + priv->children = g_list_delete_link (priv->children, l); + + if (position < 0) + l = NULL; + else + l = g_list_nth (priv->children, position); + + priv->children = g_list_insert_before (priv->children, l, child); + gtk_widget_child_notify (widget, "position"); + gtk_widget_queue_resize (widget); +} + +static GType +hdy_header_bar_child_type (GtkContainer *container) +{ + return GTK_TYPE_WIDGET; +} + +static void +hdy_header_bar_get_child_property (GtkContainer *container, + GtkWidget *widget, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + HdyHeaderBar *self = HDY_HEADER_BAR (container); + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + GList *l; + Child *child; + + l = find_child_link (self, widget, NULL); + if (l == NULL) { + g_param_value_set_default (pspec, value); + + return; + } + + child = l->data; + + switch (property_id) { + case CHILD_PROP_PACK_TYPE: + g_value_set_enum (value, child->pack_type); + break; + + case CHILD_PROP_POSITION: + g_value_set_int (value, g_list_position (priv->children, l)); + break; + + default: + GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec); + break; + } +} + +static void +hdy_header_bar_set_child_property (GtkContainer *container, + GtkWidget *widget, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyHeaderBar *self = HDY_HEADER_BAR (container); + GList *l; + Child *child; + + l = find_child_link (self, widget, NULL); + if (l == NULL) + return; + + child = l->data; + + switch (property_id) { + case CHILD_PROP_PACK_TYPE: + child->pack_type = g_value_get_enum (value); + _hdy_header_bar_update_separator_visibility (self); + gtk_widget_queue_resize (widget); + break; + + case CHILD_PROP_POSITION: + hdy_header_bar_reorder_child (self, widget, g_value_get_int (value)); + break; + + default: + GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec); + break; + } +} + +static gboolean +hdy_header_bar_draw (GtkWidget *widget, + cairo_t *cr) +{ + GtkStyleContext *context; + + context = gtk_widget_get_style_context (widget); + /* GtkWidget draws nothing by default so we have to render the background + * explicitly for HdyHederBar to render the typical titlebar background. + */ + gtk_render_background (context, + cr, + 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + /* Ditto for the borders. */ + gtk_render_frame (context, + cr, + 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + + return GTK_WIDGET_CLASS (hdy_header_bar_parent_class)->draw (widget, cr); +} + +static void +hdy_header_bar_realize (GtkWidget *widget) +{ + GtkSettings *settings; + GtkAllocation allocation; + GdkWindowAttr attributes; + gint attributes_mask; + GdkWindow *window; + + settings = gtk_widget_get_settings (widget); + g_signal_connect_swapped (settings, "notify::gtk-shell-shows-app-menu", + G_CALLBACK (hdy_header_bar_update_window_buttons), widget); + g_signal_connect_swapped (settings, "notify::gtk-decoration-layout", + G_CALLBACK (hdy_header_bar_update_window_buttons), widget); + update_is_mobile_window (HDY_HEADER_BAR (widget)); + hdy_header_bar_update_window_buttons (HDY_HEADER_BAR (widget)); + + gtk_widget_get_allocation (widget, &allocation); + gtk_widget_set_realized (widget, TRUE); + + attributes.x = allocation.x; + attributes.y = allocation.y; + attributes.width = allocation.width; + attributes.height = allocation.height; + attributes.window_type = GDK_WINDOW_CHILD; + attributes.event_mask = gtk_widget_get_events (widget); + attributes.visual = gtk_widget_get_visual (widget); + attributes.wclass = GDK_INPUT_OUTPUT; + attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; + + window = gdk_window_new (gtk_widget_get_parent_window (widget), + &attributes, + attributes_mask); + gtk_widget_set_window (widget, window); + gtk_widget_register_window (widget, window); +} + +static void +hdy_header_bar_unrealize (GtkWidget *widget) +{ + GtkSettings *settings; + + settings = gtk_widget_get_settings (widget); + + g_signal_handlers_disconnect_by_func (settings, hdy_header_bar_update_window_buttons, widget); + + GTK_WIDGET_CLASS (hdy_header_bar_parent_class)->unrealize (widget); +} + +static gboolean +window_state_changed (GtkWidget *window, + GdkEventWindowState *event, + gpointer data) +{ + HdyHeaderBar *self = HDY_HEADER_BAR (data); + + if (event->changed_mask & (GDK_WINDOW_STATE_FULLSCREEN | + GDK_WINDOW_STATE_MAXIMIZED | + GDK_WINDOW_STATE_TILED | + GDK_WINDOW_STATE_TOP_TILED | + GDK_WINDOW_STATE_RIGHT_TILED | + GDK_WINDOW_STATE_BOTTOM_TILED | + GDK_WINDOW_STATE_LEFT_TILED)) + hdy_header_bar_update_window_buttons (self); + + return FALSE; +} + +static void +hdy_header_bar_hierarchy_changed (GtkWidget *widget, + GtkWidget *previous_toplevel) +{ + GtkWidget *toplevel; + HdyHeaderBar *self = HDY_HEADER_BAR (widget); + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + toplevel = gtk_widget_get_toplevel (widget); + + if (previous_toplevel) + g_signal_handlers_disconnect_by_func (previous_toplevel, + window_state_changed, widget); + + if (toplevel) + g_signal_connect_after (toplevel, "window-state-event", + G_CALLBACK (window_state_changed), widget); + + if (priv->window_size_allocated_id > 0) { + g_signal_handler_disconnect (previous_toplevel, priv->window_size_allocated_id); + priv->window_size_allocated_id = 0; + } + + if (GTK_IS_WINDOW (toplevel)) + priv->window_size_allocated_id = + g_signal_connect_swapped (toplevel, "size-allocate", + G_CALLBACK (update_is_mobile_window), self); + + update_is_mobile_window (self); + hdy_header_bar_update_window_buttons (self); +} + +static void +hdy_header_bar_class_init (HdyHeaderBarClass *class) +{ + GObjectClass *object_class = G_OBJECT_CLASS (class); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (class); + + object_class->finalize = hdy_header_bar_finalize; + object_class->get_property = hdy_header_bar_get_property; + object_class->set_property = hdy_header_bar_set_property; + + widget_class->destroy = hdy_header_bar_destroy; + widget_class->size_allocate = hdy_header_bar_size_allocate; + widget_class->get_preferred_width = hdy_header_bar_get_preferred_width; + widget_class->get_preferred_height = hdy_header_bar_get_preferred_height; + widget_class->get_preferred_height_for_width = hdy_header_bar_get_preferred_height_for_width; + widget_class->get_preferred_width_for_height = hdy_header_bar_get_preferred_width_for_height; + widget_class->draw = hdy_header_bar_draw; + widget_class->realize = hdy_header_bar_realize; + widget_class->unrealize = hdy_header_bar_unrealize; + widget_class->hierarchy_changed = hdy_header_bar_hierarchy_changed; + + container_class->add = hdy_header_bar_add; + container_class->remove = hdy_header_bar_remove; + container_class->forall = hdy_header_bar_forall; + container_class->child_type = hdy_header_bar_child_type; + container_class->set_child_property = hdy_header_bar_set_child_property; + container_class->get_child_property = hdy_header_bar_get_child_property; + gtk_container_class_handle_border_width (container_class); + + gtk_container_class_install_child_property (container_class, + CHILD_PROP_PACK_TYPE, + g_param_spec_enum ("pack-type", + _("Pack type"), + _("A GtkPackType indicating whether the child is packed with reference to the start or end of the parent"), + GTK_TYPE_PACK_TYPE, GTK_PACK_START, + G_PARAM_READWRITE)); + gtk_container_class_install_child_property (container_class, + CHILD_PROP_POSITION, + g_param_spec_int ("position", + _("Position"), + _("The index of the child in the parent"), + -1, G_MAXINT, 0, + G_PARAM_READWRITE)); + + props[PROP_TITLE] = + g_param_spec_string ("title", + _("Title"), + _("The title to display"), + NULL, + G_PARAM_READWRITE); + + props[PROP_SUBTITLE] = + g_param_spec_string ("subtitle", + _("Subtitle"), + _("The subtitle to display"), + NULL, + G_PARAM_READWRITE); + + props[PROP_CUSTOM_TITLE] = + g_param_spec_object ("custom-title", + _("Custom Title"), + _("Custom title widget to display"), + GTK_TYPE_WIDGET, + G_PARAM_READWRITE|G_PARAM_STATIC_STRINGS); + + props[PROP_SPACING] = + g_param_spec_int ("spacing", + _("Spacing"), + _("The amount of space between children"), + 0, G_MAXINT, + DEFAULT_SPACING, + G_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyHeaderBar:show-close-button: + * + * Whether to show window decorations. + * + * Which buttons are actually shown and where is determined + * by the #HdyHeaderBar:decoration-layout property, and by + * the state of the window (e.g. a close button will not be + * shown if the window can't be closed). + * + * Since: 0.0.10 + */ + props[PROP_SHOW_CLOSE_BUTTON] = + g_param_spec_boolean ("show-close-button", + _("Show decorations"), + _("Whether to show window decorations"), + FALSE, + G_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyHeaderBar:decoration-layout: + * + * The decoration layout for buttons. If this property is + * not set, the #GtkSettings:gtk-decoration-layout setting + * is used. + * + * See hdy_header_bar_set_decoration_layout() for information + * about the format of this string. + * + * Since: 0.0.10 + */ + props[PROP_DECORATION_LAYOUT] = + g_param_spec_string ("decoration-layout", + _("Decoration Layout"), + _("The layout for window decorations"), + NULL, + G_PARAM_READWRITE); + + /** + * HdyHeaderBar:decoration-layout-set: + * + * Set to %TRUE if #HdyHeaderBar:decoration-layout is set. + * + * Since: 0.0.10 + */ + props[PROP_DECORATION_LAYOUT_SET] = + g_param_spec_boolean ("decoration-layout-set", + _("Decoration Layout Set"), + _("Whether the decoration-layout property has been set"), + FALSE, + G_PARAM_READWRITE); + + /** + * HdyHeaderBar:has-subtitle: + * + * If %TRUE, reserve space for a subtitle, even if none + * is currently set. + * + * Since: 0.0.10 + */ + props[PROP_HAS_SUBTITLE] = + g_param_spec_boolean ("has-subtitle", + _("Has Subtitle"), + _("Whether to reserve space for a subtitle"), + TRUE, + G_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_CENTERING_POLICY] = + g_param_spec_enum ("centering-policy", + _("Centering policy"), + _("The policy to horizontally align the center widget"), + HDY_TYPE_CENTERING_POLICY, HDY_CENTERING_POLICY_LOOSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_TRANSITION_DURATION] = + g_param_spec_uint ("transition-duration", + _("Transition duration"), + _("The animation duration, in milliseconds"), + 0, G_MAXUINT, 200, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_TRANSITION_RUNNING] = + g_param_spec_boolean ("transition-running", + _("Transition running"), + _("Whether or not the transition is currently running"), + FALSE, + G_PARAM_READABLE); + + props[PROP_INTERPOLATE_SIZE] = + g_param_spec_boolean ("interpolate-size", + _("Interpolate size"), + _("Whether or not the size should smoothly change when changing between differently sized children"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_PANEL); + gtk_widget_class_set_css_name (widget_class, "headerbar"); +} + +static void +hdy_header_bar_init (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv; + GtkStyleContext *context; + + priv = hdy_header_bar_get_instance_private (self); + + priv->title = NULL; + priv->subtitle = NULL; + priv->custom_title = NULL; + priv->children = NULL; + priv->spacing = DEFAULT_SPACING; + priv->has_subtitle = TRUE; + priv->decoration_layout = NULL; + priv->decoration_layout_set = FALSE; + priv->transition_duration = 200; + + init_sizing_box (self); + construct_label_box (self); + + priv->controller = hdy_window_handle_controller_new (GTK_WIDGET (self)); + + context = gtk_widget_get_style_context (GTK_WIDGET (self)); + /* Ensure the widget has the titlebar style class. */ + gtk_style_context_add_class (context, "titlebar"); +} + +static void +hdy_header_bar_buildable_add_child (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *type) +{ + if (type && strcmp (type, "title") == 0) + hdy_header_bar_set_custom_title (HDY_HEADER_BAR (buildable), GTK_WIDGET (child)); + else if (!type) + gtk_container_add (GTK_CONTAINER (buildable), GTK_WIDGET (child)); + else + GTK_BUILDER_WARN_INVALID_CHILD_TYPE (HDY_HEADER_BAR (buildable), type); +} + +static void +hdy_header_bar_buildable_init (GtkBuildableIface *iface) +{ + iface->add_child = hdy_header_bar_buildable_add_child; +} + +/** + * hdy_header_bar_new: + * + * Creates a new #HdyHeaderBar widget. + * + * Returns: a new #HdyHeaderBar + * + * Since: 0.0.10 + */ +GtkWidget * +hdy_header_bar_new (void) +{ + return GTK_WIDGET (g_object_new (HDY_TYPE_HEADER_BAR, NULL)); +} + +/** + * hdy_header_bar_pack_start: + * @self: A #HdyHeaderBar + * @child: the #GtkWidget to be added to @self: + * + * Adds @child to @self:, packed with reference to the + * start of the @self:. + * + * Since: 0.0.10 + */ +void +hdy_header_bar_pack_start (HdyHeaderBar *self, + GtkWidget *child) +{ + hdy_header_bar_pack (self, child, GTK_PACK_START); +} + +/** + * hdy_header_bar_pack_end: + * @self: A #HdyHeaderBar + * @child: the #GtkWidget to be added to @self: + * + * Adds @child to @self:, packed with reference to the + * end of the @self:. + * + * Since: 0.0.10 + */ +void +hdy_header_bar_pack_end (HdyHeaderBar *self, + GtkWidget *child) +{ + hdy_header_bar_pack (self, child, GTK_PACK_END); +} + +/** + * hdy_header_bar_set_title: + * @self: a #HdyHeaderBar + * @title: (nullable): a title, or %NULL + * + * Sets the title of the #HdyHeaderBar. The title should help a user + * identify the current view. A good title should not include the + * application name. + * + * Since: 0.0.10 + */ +void +hdy_header_bar_set_title (HdyHeaderBar *self, + const gchar *title) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + gchar *new_title; + + g_return_if_fail (HDY_IS_HEADER_BAR (self)); + + new_title = g_strdup (title); + g_free (priv->title); + priv->title = new_title; + + if (priv->title_label != NULL) { + gtk_label_set_label (GTK_LABEL (priv->title_label), priv->title); + gtk_widget_queue_resize (GTK_WIDGET (self)); + } + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TITLE]); +} + +/** + * hdy_header_bar_get_title: + * @self: a #HdyHeaderBar + * + * Retrieves the title of the header. See hdy_header_bar_set_title(). + * + * Returns: (nullable): the title of the header, or %NULL if none has + * been set explicitly. The returned string is owned by the widget + * and must not be modified or freed. + * + * Since: 0.0.10 + */ +const gchar * +hdy_header_bar_get_title (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + g_return_val_if_fail (HDY_IS_HEADER_BAR (self), NULL); + + return priv->title; +} + +/** + * hdy_header_bar_set_subtitle: + * @self: a #HdyHeaderBar + * @subtitle: (nullable): a subtitle, or %NULL + * + * Sets the subtitle of the #HdyHeaderBar. The title should give a user + * an additional detail to help them identify the current view. + * + * Note that HdyHeaderBar by default reserves room for the subtitle, + * even if none is currently set. If this is not desired, set the + * #HdyHeaderBar:has-subtitle property to %FALSE. + * + * Since: 0.0.10 + */ +void +hdy_header_bar_set_subtitle (HdyHeaderBar *self, + const gchar *subtitle) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + gchar *new_subtitle; + + g_return_if_fail (HDY_IS_HEADER_BAR (self)); + + new_subtitle = g_strdup (subtitle); + g_free (priv->subtitle); + priv->subtitle = new_subtitle; + + if (priv->subtitle_label != NULL) { + gtk_label_set_label (GTK_LABEL (priv->subtitle_label), priv->subtitle); + gtk_widget_set_visible (priv->subtitle_label, priv->subtitle && priv->subtitle[0]); + gtk_widget_queue_resize (GTK_WIDGET (self)); + } + + gtk_widget_set_visible (priv->subtitle_sizing_label, priv->has_subtitle || (priv->subtitle && priv->subtitle[0])); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SUBTITLE]); +} + +/** + * hdy_header_bar_get_subtitle: + * @self: a #HdyHeaderBar + * + * Retrieves the subtitle of the header. See hdy_header_bar_set_subtitle(). + * + * Returns: (nullable): the subtitle of the header, or %NULL if none has + * been set explicitly. The returned string is owned by the widget + * and must not be modified or freed. + * + * Since: 0.0.10 + */ +const gchar * +hdy_header_bar_get_subtitle (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + g_return_val_if_fail (HDY_IS_HEADER_BAR (self), NULL); + + return priv->subtitle; +} + +/** + * hdy_header_bar_set_custom_title: + * @self: a #HdyHeaderBar + * @title_widget: (nullable): a custom widget to use for a title + * + * Sets a custom title for the #HdyHeaderBar. + * + * The title should help a user identify the current view. This + * supersedes any title set by hdy_header_bar_set_title() or + * hdy_header_bar_set_subtitle(). To achieve the same style as + * the builtin title and subtitle, use the “title” and “subtitle” + * style classes. + * + * You should set the custom title to %NULL, for the header title + * label to be visible again. + * + * Since: 0.0.10 + */ +void +hdy_header_bar_set_custom_title (HdyHeaderBar *self, + GtkWidget *title_widget) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + g_return_if_fail (HDY_IS_HEADER_BAR (self)); + if (title_widget) + g_return_if_fail (GTK_IS_WIDGET (title_widget)); + + /* No need to do anything if the custom widget stays the same */ + if (priv->custom_title == title_widget) + return; + + if (priv->custom_title) { + GtkWidget *custom = priv->custom_title; + + priv->custom_title = NULL; + gtk_widget_unparent (custom); + } + + if (title_widget != NULL) { + priv->custom_title = title_widget; + + gtk_widget_set_parent (priv->custom_title, GTK_WIDGET (self)); + + if (priv->label_box != NULL) { + GtkWidget *label_box = priv->label_box; + + priv->label_box = NULL; + priv->title_label = NULL; + priv->subtitle_label = NULL; + gtk_widget_unparent (label_box); + } + } else { + if (priv->label_box == NULL) + construct_label_box (self); + } + + gtk_widget_queue_resize (GTK_WIDGET (self)); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CUSTOM_TITLE]); +} + +/** + * hdy_header_bar_get_custom_title: + * @self: a #HdyHeaderBar + * + * Retrieves the custom title widget of the header. See + * hdy_header_bar_set_custom_title(). + * + * Returns: (nullable) (transfer none): the custom title widget + * of the header, or %NULL if none has been set explicitly. + * + * Since: 0.0.10 + */ +GtkWidget * +hdy_header_bar_get_custom_title (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + g_return_val_if_fail (HDY_IS_HEADER_BAR (self), NULL); + + return priv->custom_title; +} + +/** + * hdy_header_bar_get_show_close_button: + * @self: a #HdyHeaderBar + * + * Returns whether this header bar shows the standard window + * decorations. + * + * Returns: %TRUE if the decorations are shown + * + * Since: 0.0.10 + */ +gboolean +hdy_header_bar_get_show_close_button (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv; + + g_return_val_if_fail (HDY_IS_HEADER_BAR (self), FALSE); + + priv = hdy_header_bar_get_instance_private (self); + + return priv->shows_wm_decorations; +} + +/** + * hdy_header_bar_set_show_close_button: + * @self: a #HdyHeaderBar + * @setting: %TRUE to show standard window decorations + * + * Sets whether this header bar shows the standard window decorations, + * including close, maximize, and minimize. + * + * Since: 0.0.10 + */ +void +hdy_header_bar_set_show_close_button (HdyHeaderBar *self, + gboolean setting) +{ + HdyHeaderBarPrivate *priv; + + g_return_if_fail (HDY_IS_HEADER_BAR (self)); + + priv = hdy_header_bar_get_instance_private (self); + + setting = setting != FALSE; + + if (priv->shows_wm_decorations == setting) + return; + + priv->shows_wm_decorations = setting; + hdy_header_bar_update_window_buttons (self); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SHOW_CLOSE_BUTTON]); +} + +/** + * hdy_header_bar_set_has_subtitle: + * @self: a #HdyHeaderBar + * @setting: %TRUE to reserve space for a subtitle + * + * Sets whether the header bar should reserve space + * for a subtitle, even if none is currently set. + * + * Since: 0.0.10 + */ +void +hdy_header_bar_set_has_subtitle (HdyHeaderBar *self, + gboolean setting) +{ + HdyHeaderBarPrivate *priv; + + g_return_if_fail (HDY_IS_HEADER_BAR (self)); + + priv = hdy_header_bar_get_instance_private (self); + + setting = setting != FALSE; + + if (priv->has_subtitle == setting) + return; + + priv->has_subtitle = setting; + gtk_widget_set_visible (priv->subtitle_sizing_label, setting || (priv->subtitle && priv->subtitle[0])); + + gtk_widget_queue_resize (GTK_WIDGET (self)); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_HAS_SUBTITLE]); +} + +/** + * hdy_header_bar_get_has_subtitle: + * @self: a #HdyHeaderBar + * + * Retrieves whether the header bar reserves space for + * a subtitle, regardless if one is currently set or not. + * + * Returns: %TRUE if the header bar reserves space + * for a subtitle + * + * Since: 0.0.10 + */ +gboolean +hdy_header_bar_get_has_subtitle (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv; + + g_return_val_if_fail (HDY_IS_HEADER_BAR (self), FALSE); + + priv = hdy_header_bar_get_instance_private (self); + + return priv->has_subtitle; +} + +/** + * hdy_header_bar_set_decoration_layout: + * @self: a #HdyHeaderBar + * @layout: (nullable): a decoration layout, or %NULL to unset the layout + * + * Sets the decoration layout for this header bar, overriding + * the #GtkSettings:gtk-decoration-layout setting. + * + * There can be valid reasons for overriding the setting, such + * as a header bar design that does not allow for buttons to take + * room on the right, or only offers room for a single close button. + * Split header bars are another example for overriding the + * setting. + * + * The format of the string is button names, separated by commas. + * A colon separates the buttons that should appear on the left + * from those on the right. Recognized button names are minimize, + * maximize, close, icon (the window icon) and menu (a menu button + * for the fallback app menu). + * + * For example, “menu:minimize,maximize,close” specifies a menu + * on the left, and minimize, maximize and close buttons on the right. + * + * Since: 0.0.10 + */ +void +hdy_header_bar_set_decoration_layout (HdyHeaderBar *self, + const gchar *layout) +{ + HdyHeaderBarPrivate *priv; + + g_return_if_fail (HDY_IS_HEADER_BAR (self)); + + priv = hdy_header_bar_get_instance_private (self); + + g_clear_pointer (&priv->decoration_layout, g_free); + priv->decoration_layout = g_strdup (layout); + priv->decoration_layout_set = (layout != NULL); + + hdy_header_bar_update_window_buttons (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DECORATION_LAYOUT]); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DECORATION_LAYOUT_SET]); +} + +/** + * hdy_header_bar_get_decoration_layout: + * @self: a #HdyHeaderBar + * + * Gets the decoration layout set with + * hdy_header_bar_set_decoration_layout(). + * + * Returns: the decoration layout + * + * Since: 0.0.10 + */ +const gchar * +hdy_header_bar_get_decoration_layout (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv; + + g_return_val_if_fail (HDY_IS_HEADER_BAR (self), NULL); + + priv = hdy_header_bar_get_instance_private (self); + + return priv->decoration_layout; +} + +/** + * hdy_header_bar_get_centering_policy: + * @self: a #HdyHeaderBar + * + * Gets the policy @self follows to horizontally align its center widget. + * + * Returns: the centering policy + * + * Since: 0.0.10 + */ +HdyCenteringPolicy +hdy_header_bar_get_centering_policy (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + g_return_val_if_fail (HDY_IS_HEADER_BAR (self), HDY_CENTERING_POLICY_LOOSE); + + return priv->centering_policy; +} + +/** + * hdy_header_bar_set_centering_policy: + * @self: a #HdyHeaderBar + * @centering_policy: the centering policy + * + * Sets the policy @self must follow to horizontally align its center widget. + * + * Since: 0.0.10 + */ +void +hdy_header_bar_set_centering_policy (HdyHeaderBar *self, + HdyCenteringPolicy centering_policy) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + g_return_if_fail (HDY_IS_HEADER_BAR (self)); + + if (priv->centering_policy == centering_policy) + return; + + priv->centering_policy = centering_policy; + if (priv->interpolate_size) + hdy_header_bar_start_transition (self, priv->transition_duration); + else + gtk_widget_queue_resize (GTK_WIDGET (self)); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CENTERING_POLICY]); +} + +/** + * hdy_header_bar_get_transition_duration: + * @self: a #HdyHeaderBar + * + * Returns the amount of time (in milliseconds) that + * transitions between pages in @self will take. + * + * Returns: the transition duration + * + * Since: 0.0.10 + */ +guint +hdy_header_bar_get_transition_duration (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + g_return_val_if_fail (HDY_IS_HEADER_BAR (self), 0); + + return priv->transition_duration; +} + +/** + * hdy_header_bar_set_transition_duration: + * @self: a #HdyHeaderBar + * @duration: the new duration, in milliseconds + * + * Sets the duration that transitions between pages in @self + * will take. + * + * Since: 0.0.10 + */ +void +hdy_header_bar_set_transition_duration (HdyHeaderBar *self, + guint duration) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + g_return_if_fail (HDY_IS_HEADER_BAR (self)); + + if (priv->transition_duration == duration) + return; + + priv->transition_duration = duration; + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRANSITION_DURATION]); +} + +/** + * hdy_header_bar_get_transition_running: + * @self: a #HdyHeaderBar + * + * Returns whether the @self is currently in a transition from one page to + * another. + * + * Returns: %TRUE if the transition is currently running, %FALSE otherwise. + * + * Since: 0.0.10 + */ +gboolean +hdy_header_bar_get_transition_running (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv = hdy_header_bar_get_instance_private (self); + + g_return_val_if_fail (HDY_IS_HEADER_BAR (self), FALSE); + + return (priv->tick_id != 0); +} + +/** + * hdy_header_bar_get_interpolate_size: + * @self: A #HdyHeaderBar + * + * Gets whether @self should interpolate its size on visible child change. + * + * See hdy_header_bar_set_interpolate_size(). + * + * Returns: %TRUE if @self interpolates its size on visible child change, %FALSE if not + * + * Since: 0.0.10 + */ +gboolean +hdy_header_bar_get_interpolate_size (HdyHeaderBar *self) +{ + HdyHeaderBarPrivate *priv; + + g_return_val_if_fail (HDY_IS_HEADER_BAR (self), FALSE); + + priv = hdy_header_bar_get_instance_private (self); + + return priv->interpolate_size; +} + +/** + * hdy_header_bar_set_interpolate_size: + * @self: A #HdyHeaderBar + * @interpolate_size: %TRUE to interpolate the size + * + * Sets whether or not @self will interpolate the size of its opposing + * orientation when changing the visible child. If %TRUE, @self will interpolate + * its size between the one of the previous visible child and the one of the new + * visible child, according to the set transition duration and the orientation, + * e.g. if @self is horizontal, it will interpolate the its height. + * + * Since: 0.0.10 + */ +void +hdy_header_bar_set_interpolate_size (HdyHeaderBar *self, + gboolean interpolate_size) +{ + HdyHeaderBarPrivate *priv; + + g_return_if_fail (HDY_IS_HEADER_BAR (self)); + + priv = hdy_header_bar_get_instance_private (self); + + interpolate_size = !!interpolate_size; + + if (priv->interpolate_size == interpolate_size) + return; + + priv->interpolate_size = interpolate_size; + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INTERPOLATE_SIZE]); +} diff --git a/subprojects/libhandy/src/hdy-header-bar.h b/subprojects/libhandy/src/hdy-header-bar.h new file mode 100644 index 00000000..066d8472 --- /dev/null +++ b/subprojects/libhandy/src/hdy-header-bar.h @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2013 Red Hat, Inc. + * Copyright (C) 2019 Purism SPC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at your + * option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_HEADER_BAR (hdy_header_bar_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (HdyHeaderBar, hdy_header_bar, HDY, HEADER_BAR, GtkContainer) + +typedef enum { + HDY_CENTERING_POLICY_LOOSE, + HDY_CENTERING_POLICY_STRICT, +} HdyCenteringPolicy; + +/** + * HdyHeaderBarClass + * @parent_class: The parent class + */ +struct _HdyHeaderBarClass +{ + GtkContainerClass parent_class; + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_header_bar_new (void); + +HDY_AVAILABLE_IN_ALL +const gchar *hdy_header_bar_get_title (HdyHeaderBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_header_bar_set_title (HdyHeaderBar *self, + const gchar *title); + +HDY_AVAILABLE_IN_ALL +const gchar *hdy_header_bar_get_subtitle (HdyHeaderBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_header_bar_set_subtitle (HdyHeaderBar *self, + const gchar *subtitle); + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_header_bar_get_custom_title (HdyHeaderBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_header_bar_set_custom_title (HdyHeaderBar *self, + GtkWidget *title_widget); + +HDY_AVAILABLE_IN_ALL +void hdy_header_bar_pack_start (HdyHeaderBar *self, + GtkWidget *child); +HDY_AVAILABLE_IN_ALL +void hdy_header_bar_pack_end (HdyHeaderBar *self, + GtkWidget *child); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_header_bar_get_show_close_button (HdyHeaderBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_header_bar_set_show_close_button (HdyHeaderBar *self, + gboolean setting); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_header_bar_get_has_subtitle (HdyHeaderBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_header_bar_set_has_subtitle (HdyHeaderBar *self, + gboolean setting); + +HDY_AVAILABLE_IN_ALL +const gchar *hdy_header_bar_get_decoration_layout (HdyHeaderBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_header_bar_set_decoration_layout (HdyHeaderBar *self, + const gchar *layout); + +HDY_AVAILABLE_IN_ALL +HdyCenteringPolicy hdy_header_bar_get_centering_policy (HdyHeaderBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_header_bar_set_centering_policy (HdyHeaderBar *self, + HdyCenteringPolicy centering_policy); + +HDY_AVAILABLE_IN_ALL +guint hdy_header_bar_get_transition_duration (HdyHeaderBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_header_bar_set_transition_duration (HdyHeaderBar *self, + guint duration); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_header_bar_get_transition_running (HdyHeaderBar *self); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_header_bar_get_interpolate_size (HdyHeaderBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_header_bar_set_interpolate_size (HdyHeaderBar *self, + gboolean interpolate_size); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-header-group.c b/subprojects/libhandy/src/hdy-header-group.c new file mode 100644 index 00000000..ce155df1 --- /dev/null +++ b/subprojects/libhandy/src/hdy-header-group.c @@ -0,0 +1,1115 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-header-group.h" + +/** + * SECTION:hdy-header-group + * @short_description: An object handling composite title bars. + * @Title: HdyHeaderGroup + * @See_also: #GtkHeaderBar, #HdyHeaderBar, #HdyLeaflet + * + * The #HdyHeaderGroup object handles the header bars of a composite title bar. + * It splits the window decoration across the header bars, giving the left side + * of the decorations to the leftmost header bar, and the right side of the + * decorations to the rightmost header bar. + * See hdy_header_bar_set_decoration_layout(). + * + * The #HdyHeaderGroup:decorate-all property can be used in conjunction with + * #HdyLeaflet:folded when the title bar is split across the pages of a + * #HdyLeaflet to automatically display the decorations on all the pages when + * the leaflet is folded. + * + * You can nest header groups, which is convenient when you nest leaflets too: + * |[ + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * ]| + * + * Since: 0.0.4 + */ + +/** + * HdyHeaderGroupChildType: + * @HDY_HEADER_GROUP_CHILD_TYPE_HEADER_BAR: The child is a #HdyHeaderBar + * @HDY_HEADER_GROUP_CHILD_TYPE_GTK_HEADER_BAR: The child is a #GtkHeaderBar + * @HDY_HEADER_GROUP_CHILD_TYPE_HEADER_GROUP: The child is a #HdyHeaderGroup + * + * This enumeration value describes the child types handled by #HdyHeaderGroup. + * + * New values may be added to this enumeration over time. + * + * Since: 1.0 + */ + +struct _HdyHeaderGroupChild +{ + GObject parent_instance; + + HdyHeaderGroupChildType type; + GObject *object; +}; + +enum { + SIGNAL_UPDATE_DECORATION_LAYOUTS, + SIGNAL_LAST_SIGNAL, +}; + +static guint signals[SIGNAL_LAST_SIGNAL]; + +G_DEFINE_TYPE (HdyHeaderGroupChild, hdy_header_group_child, G_TYPE_OBJECT) + +struct _HdyHeaderGroup +{ + GObject parent_instance; + + GSList *children; + gboolean decorate_all; + gchar *layout; +}; + +static void hdy_header_group_buildable_init (GtkBuildableIface *iface); +static gboolean hdy_header_group_buildable_custom_tag_start (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + GMarkupParser *parser, + gpointer *data); +static void hdy_header_group_buildable_custom_finished (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer user_data); + +G_DEFINE_TYPE_WITH_CODE (HdyHeaderGroup, hdy_header_group, G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + hdy_header_group_buildable_init)) + +enum { + PROP_0, + PROP_DECORATE_ALL, + N_PROPS +}; + +static GParamSpec *props [N_PROPS]; + +static void update_decoration_layouts (HdyHeaderGroup *self); + +static void +object_destroyed_cb (HdyHeaderGroupChild *self, + GObject *object) +{ + g_assert (HDY_IS_HEADER_GROUP_CHILD (self)); + + self->object = NULL; + + g_object_unref (self); +} + +static void +forward_update_decoration_layouts (HdyHeaderGroupChild *self) +{ + HdyHeaderGroup *header_group; + + g_assert (HDY_IS_HEADER_GROUP_CHILD (self)); + + header_group = HDY_HEADER_GROUP (g_object_get_data (G_OBJECT (self), "header-group")); + + g_assert (HDY_IS_HEADER_GROUP (header_group)); + + g_signal_emit (header_group, signals[SIGNAL_UPDATE_DECORATION_LAYOUTS], 0); + + update_decoration_layouts (header_group); +} + +static void +hdy_header_group_child_dispose (GObject *object) +{ + HdyHeaderGroupChild *self = (HdyHeaderGroupChild *)object; + + if (self->object) { + + switch (self->type) { + case HDY_HEADER_GROUP_CHILD_TYPE_HEADER_BAR: + case HDY_HEADER_GROUP_CHILD_TYPE_GTK_HEADER_BAR: + g_signal_handlers_disconnect_by_func (self->object, G_CALLBACK (object_destroyed_cb), self); + g_signal_handlers_disconnect_by_func (self->object, G_CALLBACK (forward_update_decoration_layouts), self); + break; + case HDY_HEADER_GROUP_CHILD_TYPE_HEADER_GROUP: + g_object_weak_unref (self->object, (GWeakNotify) object_destroyed_cb, self); + break; + default: + g_assert_not_reached (); + } + + self->object = NULL; + } + + G_OBJECT_CLASS (hdy_header_group_child_parent_class)->dispose (object); +} + +static HdyHeaderGroupChild * +hdy_header_group_child_new_for_header_bar (HdyHeaderBar *header_bar) +{ + HdyHeaderGroupChild *self; + gpointer header_group; + + g_return_val_if_fail (HDY_IS_HEADER_BAR (header_bar), NULL); + + header_group = g_object_get_data (G_OBJECT (header_bar), "header-group"); + + g_return_val_if_fail (header_group == NULL, NULL); + + self = g_object_new (HDY_TYPE_HEADER_GROUP_CHILD, NULL); + self->type = HDY_HEADER_GROUP_CHILD_TYPE_HEADER_BAR; + self->object = G_OBJECT (header_bar); + + g_signal_connect_swapped (header_bar, "destroy", G_CALLBACK (object_destroyed_cb), self); + + g_signal_connect_swapped (header_bar, "map", G_CALLBACK (forward_update_decoration_layouts), self); + g_signal_connect_swapped (header_bar, "unmap", G_CALLBACK (forward_update_decoration_layouts), self); + + return self; +} + +static HdyHeaderGroupChild * +hdy_header_group_child_new_for_gtk_header_bar (GtkHeaderBar *header_bar) +{ + HdyHeaderGroupChild *self; + gpointer header_group; + + g_return_val_if_fail (GTK_IS_HEADER_BAR (header_bar), NULL); + + header_group = g_object_get_data (G_OBJECT (header_bar), "header-group"); + + g_return_val_if_fail (header_group == NULL, NULL); + + self = g_object_new (HDY_TYPE_HEADER_GROUP_CHILD, NULL); + self->type = HDY_HEADER_GROUP_CHILD_TYPE_GTK_HEADER_BAR; + self->object = G_OBJECT (header_bar); + + g_signal_connect_swapped (header_bar, "destroy", G_CALLBACK (object_destroyed_cb), self); + + g_signal_connect_swapped (header_bar, "map", G_CALLBACK (forward_update_decoration_layouts), self); + g_signal_connect_swapped (header_bar, "unmap", G_CALLBACK (forward_update_decoration_layouts), self); + + return self; +} + +static HdyHeaderGroupChild * +hdy_header_group_child_new_for_header_group (HdyHeaderGroup *header_group) +{ + HdyHeaderGroupChild *self; + gpointer parent_header_group; + + g_return_val_if_fail (HDY_IS_HEADER_GROUP (header_group), NULL); + + parent_header_group = g_object_get_data (G_OBJECT (header_group), "header-group"); + + g_return_val_if_fail (parent_header_group == NULL, NULL); + + self = g_object_new (HDY_TYPE_HEADER_GROUP_CHILD, NULL); + self->type = HDY_HEADER_GROUP_CHILD_TYPE_HEADER_GROUP; + self->object = G_OBJECT (header_group); + + g_object_weak_ref (G_OBJECT (header_group), (GWeakNotify) object_destroyed_cb, self); + + g_signal_connect_swapped (header_group, "update-decoration-layouts", G_CALLBACK (forward_update_decoration_layouts), self); + + return self; +} + +static void +hdy_header_group_child_class_init (HdyHeaderGroupChildClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->dispose = hdy_header_group_child_dispose; +} + +static void +hdy_header_group_child_init (HdyHeaderGroupChild *self) +{ +} + +static void +hdy_header_group_child_set_decoration_layout (HdyHeaderGroupChild *self, + const gchar *layout) +{ + g_assert (HDY_IS_HEADER_GROUP_CHILD (self)); + + switch (self->type) { + case HDY_HEADER_GROUP_CHILD_TYPE_HEADER_BAR: + hdy_header_bar_set_decoration_layout (HDY_HEADER_BAR (self->object), layout); + break; + case HDY_HEADER_GROUP_CHILD_TYPE_GTK_HEADER_BAR: + gtk_header_bar_set_decoration_layout (GTK_HEADER_BAR (self->object), layout); + break; + case HDY_HEADER_GROUP_CHILD_TYPE_HEADER_GROUP: + { + HdyHeaderGroup *group = HDY_HEADER_GROUP (self->object); + + g_free (group->layout); + group->layout = g_strdup (layout); + + update_decoration_layouts (group); + } + break; + default: + g_assert_not_reached (); + } +} + +static gboolean +hdy_header_group_child_get_mapped (HdyHeaderGroupChild *self) +{ + g_assert (HDY_IS_HEADER_GROUP_CHILD (self)); + + switch (self->type) { + case HDY_HEADER_GROUP_CHILD_TYPE_HEADER_BAR: + case HDY_HEADER_GROUP_CHILD_TYPE_GTK_HEADER_BAR: + return gtk_widget_get_mapped (GTK_WIDGET (self->object)); + case HDY_HEADER_GROUP_CHILD_TYPE_HEADER_GROUP: + for (GSList *children = HDY_HEADER_GROUP (self->object)->children; + children != NULL; + children = children->next) + if (hdy_header_group_child_get_mapped (HDY_HEADER_GROUP_CHILD (children->data))) + return TRUE; + + return FALSE; + default: + g_assert_not_reached (); + } +} + +static HdyHeaderGroupChild * +get_child_for_object (HdyHeaderGroup *self, + gpointer object) +{ + GSList *children; + + for (children = self->children; children != NULL; children = children->next) { + HdyHeaderGroupChild *child = HDY_HEADER_GROUP_CHILD (children->data); + + g_assert (child); + + if (child->object == object) + return child; + } + + return NULL; +} + +static void +update_decoration_layouts (HdyHeaderGroup *self) +{ + GSList *children; + GtkSettings *settings; + HdyHeaderGroupChild *start_child = NULL, *end_child = NULL; + g_autofree gchar *layout = NULL; + g_autofree gchar *start_layout = NULL; + g_autofree gchar *end_layout = NULL; + g_auto(GStrv) ends = NULL; + + g_return_if_fail (HDY_IS_HEADER_GROUP (self)); + + children = self->children; + + if (children == NULL) + return; + + settings = gtk_settings_get_default (); + if (self->layout) + layout = g_strdup (self->layout); + else + g_object_get (G_OBJECT (settings), "gtk-decoration-layout", &layout, NULL); + if (layout == NULL) + layout = g_strdup (":"); + + if (self->decorate_all) { + for (; children != NULL; children = children->next) + hdy_header_group_child_set_decoration_layout (HDY_HEADER_GROUP_CHILD (children->data), layout); + + return; + } + + for (; children != NULL; children = children->next) { + HdyHeaderGroupChild *child = HDY_HEADER_GROUP_CHILD (children->data); + + hdy_header_group_child_set_decoration_layout (child, ":"); + + if (!hdy_header_group_child_get_mapped (child)) + continue; + + /* The headerbars are in reverse order in the list. */ + start_child = child; + if (end_child == NULL) + end_child = child; + } + + if (start_child == NULL || end_child == NULL) + return; + + if (start_child == end_child) { + hdy_header_group_child_set_decoration_layout (start_child, layout); + + return; + } + + ends = g_strsplit (layout, ":", 2); + if (g_strv_length (ends) >= 2) { + start_layout = g_strdup_printf ("%s:", ends[0]); + end_layout = g_strdup_printf (":%s", ends[1]); + } else { + start_layout = g_strdup (":"); + end_layout = g_strdup (":"); + } + hdy_header_group_child_set_decoration_layout (start_child, start_layout); + hdy_header_group_child_set_decoration_layout (end_child, end_layout); +} + +static void +child_destroyed_cb (HdyHeaderGroup *self, + HdyHeaderGroupChild *child) +{ + g_assert (HDY_IS_HEADER_GROUP (self)); + g_assert (HDY_IS_HEADER_GROUP_CHILD (child)); + g_assert (g_slist_find (self->children, child) != NULL); + + self->children = g_slist_remove (self->children, child); + + g_object_unref (self); +} + +HdyHeaderGroup * +hdy_header_group_new (void) +{ + return g_object_new (HDY_TYPE_HEADER_GROUP, NULL); +} + +static void +hdy_header_group_add_child (HdyHeaderGroup *self, + HdyHeaderGroupChild *child) +{ + g_assert (HDY_IS_HEADER_GROUP (self)); + g_assert (HDY_IS_HEADER_GROUP_CHILD (child)); + g_assert (g_slist_find (self->children, child) == NULL); + + self->children = g_slist_prepend (self->children, child); + g_object_weak_ref (G_OBJECT (child), (GWeakNotify) child_destroyed_cb, self); + g_object_ref (self); + + update_decoration_layouts (self); + + g_object_set_data (G_OBJECT (child), "header-group", self); +} + +/** + * hdy_header_group_add_header_bar: + * @self: a #HdyHeaderGroup + * @header_bar: the #HdyHeaderBar to add + * + * Adds @header_bar to @self. + * When the widget is destroyed or no longer referenced elsewhere, it will + * be removed from the header group. + * + * Since: 1.0 + */ +void +hdy_header_group_add_header_bar (HdyHeaderGroup *self, + HdyHeaderBar *header_bar) +{ + HdyHeaderGroupChild *child; + + g_return_if_fail (HDY_IS_HEADER_GROUP (self)); + g_return_if_fail (HDY_IS_HEADER_BAR (header_bar)); + g_return_if_fail (get_child_for_object (self, header_bar) == NULL); + + child = hdy_header_group_child_new_for_header_bar (header_bar); + hdy_header_group_add_child (self, child); +} + +/** + * hdy_header_group_add_gtk_header_bar: + * @self: a #HdyHeaderGroup + * @header_bar: the #GtkHeaderBar to add + * + * Adds @header_bar to @self. + * When the widget is destroyed or no longer referenced elsewhere, it will + * be removed from the header group. + * + * Since: 1.0 + */ +void +hdy_header_group_add_gtk_header_bar (HdyHeaderGroup *self, + GtkHeaderBar *header_bar) +{ + HdyHeaderGroupChild *child; + + g_return_if_fail (HDY_IS_HEADER_GROUP (self)); + g_return_if_fail (GTK_IS_HEADER_BAR (header_bar)); + g_return_if_fail (get_child_for_object (self, header_bar) == NULL); + + child = hdy_header_group_child_new_for_gtk_header_bar (header_bar); + hdy_header_group_add_child (self, child); +} + +/** + * hdy_header_group_add_header_group: + * @self: a #HdyHeaderGroup + * @header_group: the #HdyHeaderGroup to add + * + * Adds @header_group to @self. + * When the nested group is no longer referenced elsewhere, it will be removed + * from the header group. + * + * Since: 1.0 + */ +void +hdy_header_group_add_header_group (HdyHeaderGroup *self, + HdyHeaderGroup *header_group) +{ + HdyHeaderGroupChild *child; + + g_return_if_fail (HDY_IS_HEADER_GROUP (self)); + g_return_if_fail (HDY_IS_HEADER_GROUP (header_group)); + g_return_if_fail (get_child_for_object (self, header_group) == NULL); + + child = hdy_header_group_child_new_for_header_group (header_group); + hdy_header_group_add_child (self, child); +} + +typedef struct { + gchar *name; + gint line; + gint col; +} ItemData; + +static void +item_data_free (gpointer data) +{ + ItemData *item_data = data; + + g_free (item_data->name); + g_free (item_data); +} + +typedef struct { + GObject *object; + GtkBuilder *builder; + GSList *items; +} GSListSubParserData; + +static void +hdy_header_group_dispose (GObject *object) +{ + HdyHeaderGroup *self = (HdyHeaderGroup *)object; + + g_slist_free_full (self->children, (GDestroyNotify) g_object_unref); + self->children = NULL; + + G_OBJECT_CLASS (hdy_header_group_parent_class)->dispose (object); +} + +static void +hdy_header_group_finalize (GObject *object) +{ + HdyHeaderGroup *self = (HdyHeaderGroup *) object; + + g_free (self->layout); + + G_OBJECT_CLASS (hdy_header_group_parent_class)->finalize (object); +} + +static void +hdy_header_group_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyHeaderGroup *self = HDY_HEADER_GROUP (object); + + switch (prop_id) { + case PROP_DECORATE_ALL: + g_value_set_boolean (value, hdy_header_group_get_decorate_all (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_header_group_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyHeaderGroup *self = HDY_HEADER_GROUP (object); + + switch (prop_id) { + case PROP_DECORATE_ALL: + hdy_header_group_set_decorate_all (self, g_value_get_boolean (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +/*< private > + * @builder: a #GtkBuilder + * @context: the #GMarkupParseContext + * @parent_name: the name of the expected parent element + * @error: return location for an error + * + * Checks that the parent element of the currently handled + * start tag is @parent_name and set @error if it isn't. + * + * This is intended to be called in start_element vfuncs to + * ensure that element nesting is as intended. + * + * Returns: %TRUE if @parent_name is the parent element + */ +/* This has been copied and modified from gtkbuilder.c. */ +static gboolean +_gtk_builder_check_parent (GtkBuilder *builder, + GMarkupParseContext *context, + const gchar *parent_name, + GError **error) +{ + const GSList *stack; + gint line, col; + const gchar *parent; + const gchar *element; + + stack = g_markup_parse_context_get_element_stack (context); + + element = (const gchar *)stack->data; + parent = stack->next ? (const gchar *)stack->next->data : ""; + + if (g_str_equal (parent_name, parent) || + (g_str_equal (parent_name, "object") && g_str_equal (parent, "template"))) + return TRUE; + + g_markup_parse_context_get_position (context, &line, &col); + g_set_error (error, + GTK_BUILDER_ERROR, + GTK_BUILDER_ERROR_INVALID_TAG, + ".:%d:%d Can't use <%s> here", + line, col, element); + + return FALSE; +} + +/*< private > + * _gtk_builder_prefix_error: + * @builder: a #GtkBuilder + * @context: the #GMarkupParseContext + * @error: an error + * + * Calls g_prefix_error() to prepend a filename:line:column marker + * to the given error. The filename is taken from @builder, and + * the line and column are obtained by calling + * g_markup_parse_context_get_position(). + * + * This is intended to be called on errors returned by + * g_markup_collect_attributes() in a start_element vfunc. + */ +/* This has been copied and modified from gtkbuilder.c. */ +static void +_gtk_builder_prefix_error (GtkBuilder *builder, + GMarkupParseContext *context, + GError **error) +{ + gint line, col; + + g_markup_parse_context_get_position (context, &line, &col); + g_prefix_error (error, ".:%d:%d ", line, col); +} + +/*< private > + * _gtk_builder_error_unhandled_tag: + * @builder: a #GtkBuilder + * @context: the #GMarkupParseContext + * @object: name of the object that is being handled + * @element_name: name of the element whose start tag is being handled + * @error: return location for the error + * + * Sets @error to a suitable error indicating that an @element_name + * tag is not expected in the custom markup for @object. + * + * This is intended to be called in a start_element vfunc. + */ +/* This has been copied and modified from gtkbuilder.c. */ +static void +_gtk_builder_error_unhandled_tag (GtkBuilder *builder, + GMarkupParseContext *context, + const gchar *object, + const gchar *element_name, + GError **error) +{ + gint line, col; + + g_markup_parse_context_get_position (context, &line, &col); + g_set_error (error, + GTK_BUILDER_ERROR, + GTK_BUILDER_ERROR_UNHANDLED_TAG, + ".:%d:%d Unsupported tag for %s: <%s>", + line, col, + object, element_name); +} + +/* This has been copied and modified from gtksizegroup.c. */ +static void +header_group_start_element (GMarkupParseContext *context, + const gchar *element_name, + const gchar **names, + const gchar **values, + gpointer user_data, + GError **error) +{ + GSListSubParserData *data = (GSListSubParserData*)user_data; + + if (strcmp (element_name, "headerbar") == 0) + { + const gchar *name; + ItemData *item_data; + + if (!_gtk_builder_check_parent (data->builder, context, "headerbars", error)) + return; + + if (!g_markup_collect_attributes (element_name, names, values, error, + G_MARKUP_COLLECT_STRING, "name", &name, + G_MARKUP_COLLECT_INVALID)) + { + _gtk_builder_prefix_error (data->builder, context, error); + return; + } + + item_data = g_new (ItemData, 1); + item_data->name = g_strdup (name); + g_markup_parse_context_get_position (context, &item_data->line, &item_data->col); + data->items = g_slist_prepend (data->items, item_data); + } + else if (strcmp (element_name, "headerbars") == 0) + { + if (!_gtk_builder_check_parent (data->builder, context, "object", error)) + return; + + if (!g_markup_collect_attributes (element_name, names, values, error, + G_MARKUP_COLLECT_INVALID, NULL, NULL, + G_MARKUP_COLLECT_INVALID)) + _gtk_builder_prefix_error (data->builder, context, error); + } + else + { + _gtk_builder_error_unhandled_tag (data->builder, context, + "HdyHeaderGroup", element_name, + error); + } +} + + +/* This has been copied and modified from gtksizegroup.c. */ +static const GMarkupParser header_group_parser = + { + header_group_start_element + }; + +/* This has been copied and modified from gtksizegroup.c. */ +static gboolean +hdy_header_group_buildable_custom_tag_start (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + GMarkupParser *parser, + gpointer *parser_data) +{ + GSListSubParserData *data; + + if (child) + return FALSE; + + if (strcmp (tagname, "headerbars") == 0) + { + data = g_slice_new0 (GSListSubParserData); + data->items = NULL; + data->object = G_OBJECT (buildable); + data->builder = builder; + + *parser = header_group_parser; + *parser_data = data; + + return TRUE; + } + + return FALSE; +} + +/* This has been copied and modified from gtksizegroup.c. */ +static void +hdy_header_group_buildable_custom_finished (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer user_data) +{ + GSList *l; + GSListSubParserData *data; + + if (strcmp (tagname, "headerbars") != 0) + return; + + data = (GSListSubParserData*)user_data; + data->items = g_slist_reverse (data->items); + + for (l = data->items; l; l = l->next) { + ItemData *item_data = l->data; + GObject *object = gtk_builder_get_object (builder, item_data->name); + + if (!object) + continue; + + if (GTK_IS_HEADER_BAR (object)) + hdy_header_group_add_gtk_header_bar (HDY_HEADER_GROUP (data->object), + GTK_HEADER_BAR (object)); + else if (HDY_IS_HEADER_BAR (object)) + hdy_header_group_add_header_bar (HDY_HEADER_GROUP (data->object), + HDY_HEADER_BAR (object)); + else if (HDY_IS_HEADER_GROUP (object)) + hdy_header_group_add_header_group (HDY_HEADER_GROUP (data->object), + HDY_HEADER_GROUP (object)); + } + + g_slist_free_full (data->items, item_data_free); + g_slice_free (GSListSubParserData, data); +} + +static void +hdy_header_group_class_init (HdyHeaderGroupClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->dispose = hdy_header_group_dispose; + object_class->finalize = hdy_header_group_finalize; + object_class->get_property = hdy_header_group_get_property; + object_class->set_property = hdy_header_group_set_property; + + /** + * HdyHeaderGroup:decorate-all: + * + * Whether the elements of the group should all receive the full decoration. + * This is useful in conjunction with #HdyLeaflet:folded when the leaflet + * contains the header bars of the group, as you want them all to display the + * complete decoration when the leaflet is folded. + * + * Since: 1.0 + */ + props[PROP_DECORATE_ALL] = + g_param_spec_boolean ("decorate-all", + _("Decorate all"), + _("Whether the elements of the group should all receive the full decoration"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, N_PROPS, props); + + /** + * HdyHeaderGroup::update-decoration-layouts: + * @self: The #HdyHeaderGroup instance + * + * This signal is emitted before updating the decoration layouts. + * + * Since: 1.0 + */ + signals[SIGNAL_UPDATE_DECORATION_LAYOUTS] = + g_signal_new ("update-decoration-layouts", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + 0, + NULL, NULL, NULL, + G_TYPE_NONE, + 0); +} + +static void +hdy_header_group_init (HdyHeaderGroup *self) +{ + GtkSettings *settings = gtk_settings_get_default (); + + g_signal_connect_swapped (settings, "notify::gtk-decoration-layout", G_CALLBACK (update_decoration_layouts), self); +} + +static void +hdy_header_group_buildable_init (GtkBuildableIface *iface) +{ + iface->custom_tag_start = hdy_header_group_buildable_custom_tag_start; + iface->custom_finished = hdy_header_group_buildable_custom_finished; +} + +/** + * hdy_header_group_child_get_header_bar: + * @self: a #HdyHeaderGroupChild + * + * Gets the child #HdyHeaderBar. + * Use hdy_header_group_child_get_child_type() to check the child type. + * + * Returns: (transfer none): the child #HdyHeaderBar, or %NULL in case of error. + * + * Since: 1.0 + */ +HdyHeaderBar * +hdy_header_group_child_get_header_bar (HdyHeaderGroupChild *self) +{ + g_return_val_if_fail (HDY_IS_HEADER_GROUP_CHILD (self), NULL); + g_return_val_if_fail (self->type == HDY_HEADER_GROUP_CHILD_TYPE_HEADER_BAR, NULL); + + return HDY_HEADER_BAR (self->object); +} + +/** + * hdy_header_group_child_get_gtk_header_bar: + * @self: a #HdyHeaderGroupChild + * + * Gets the child #GtkHeaderBar. + * Use hdy_header_group_child_get_child_type() to check the child type. + * + * Returns: (transfer none): the child #GtkHeaderBar, or %NULL in case of error. + * + * Since: 1.0 + */ +GtkHeaderBar * +hdy_header_group_child_get_gtk_header_bar (HdyHeaderGroupChild *self) +{ + g_return_val_if_fail (HDY_IS_HEADER_GROUP_CHILD (self), NULL); + g_return_val_if_fail (self->type == HDY_HEADER_GROUP_CHILD_TYPE_GTK_HEADER_BAR, NULL); + + return GTK_HEADER_BAR (self->object); +} + +/** + * hdy_header_group_child_get_header_group: + * @self: a #HdyHeaderGroupChild + * + * Gets the child #HdyHeaderGroup. + * Use hdy_header_group_child_get_child_type() to check the child type. + * + * Returns: (transfer none): the child #HdyHeaderGroup, or %NULL in case of error. + * + * Since: 1.0 + */ +HdyHeaderGroup * +hdy_header_group_child_get_header_group (HdyHeaderGroupChild *self) +{ + g_return_val_if_fail (HDY_IS_HEADER_GROUP_CHILD (self), NULL); + g_return_val_if_fail (self->type == HDY_HEADER_GROUP_CHILD_TYPE_HEADER_GROUP, NULL); + + return HDY_HEADER_GROUP (self->object); +} + +/** + * hdy_header_group_child_get_child_type: + * @self: a #HdyHeaderGroupChild + * + * Gets the child type. + * + * Returns: the child type. + * + * Since: 1.0 + */ +HdyHeaderGroupChildType +hdy_header_group_child_get_child_type (HdyHeaderGroupChild *self) +{ + g_return_val_if_fail (HDY_IS_HEADER_GROUP_CHILD (self), HDY_HEADER_GROUP_CHILD_TYPE_HEADER_BAR); + + return self->type; +} + +/** + * hdy_header_group_get_children: + * @self: a #HdyHeaderGroup + * + * Returns the list of children associated with @self. + * + * Returns: (element-type HdyHeaderGroupChild) (transfer none): the #GSList of + * children. The list is owned by libhandy and should not be modified. + * + * Since: 1.0 + */ +GSList * +hdy_header_group_get_children (HdyHeaderGroup *self) +{ + g_return_val_if_fail (HDY_IS_HEADER_GROUP (self), NULL); + + return self->children; +} + +static void +remove_child (HdyHeaderGroup *self, + HdyHeaderGroupChild *child) +{ + self->children = g_slist_remove (self->children, child); + + g_object_weak_unref (G_OBJECT (child), (GWeakNotify) child_destroyed_cb, self); + + g_object_unref (self); + g_object_unref (child); +} + +/** + * hdy_header_group_remove_header_bar: + * @self: a #HdyHeaderGroup + * @header_bar: the #HdyHeaderBar to remove + * + * Removes @header_bar from @self. + * + * Since: 1.0 + */ +void +hdy_header_group_remove_header_bar (HdyHeaderGroup *self, + HdyHeaderBar *header_bar) +{ + HdyHeaderGroupChild *child; + + g_return_if_fail (HDY_IS_HEADER_GROUP (self)); + g_return_if_fail (HDY_IS_HEADER_BAR (header_bar)); + + child = get_child_for_object (self, header_bar); + + g_return_if_fail (child != NULL); + + remove_child (self, child); +} + +/** + * hdy_header_group_remove_gtk_header_bar: + * @self: a #HdyHeaderGroup + * @header_bar: the #GtkHeaderBar to remove + * + * Removes @header_bar from @self. + * + * Since: 1.0 + */ +void +hdy_header_group_remove_gtk_header_bar (HdyHeaderGroup *self, + GtkHeaderBar *header_bar) +{ + HdyHeaderGroupChild *child; + + g_return_if_fail (HDY_IS_HEADER_GROUP (self)); + g_return_if_fail (GTK_IS_HEADER_BAR (header_bar)); + + child = get_child_for_object (self, header_bar); + + g_return_if_fail (child != NULL); + + remove_child (self, child); +} + +/** + * hdy_header_group_remove_header_group: + * @self: a #HdyHeaderGroup + * @header_group: the #HdyHeaderGroup to remove + * + * Removes a nested #HdyHeaderGroup from a #HdyHeaderGroup + * + * Since: 1.0 + */ +void +hdy_header_group_remove_header_group (HdyHeaderGroup *self, + HdyHeaderGroup *header_group) +{ + HdyHeaderGroupChild *child; + + g_return_if_fail (HDY_IS_HEADER_GROUP (self)); + g_return_if_fail (HDY_IS_HEADER_GROUP (header_group)); + + child = get_child_for_object (self, header_group); + + g_return_if_fail (child != NULL); + + remove_child (self, child); +} + +/** + * hdy_header_group_remove_child: + * @self: a #HdyHeaderGroup + * @child: the #HdyHeaderGroupChild to remove + * + * Removes @child from @self. + * + * Since: 1.0 + */ +void +hdy_header_group_remove_child (HdyHeaderGroup *self, + HdyHeaderGroupChild *child) +{ + g_return_if_fail (HDY_IS_HEADER_GROUP (self)); + g_return_if_fail (HDY_IS_HEADER_GROUP_CHILD (child)); + g_return_if_fail (g_slist_find (self->children, child) != NULL); + + remove_child (self, child); +} + +/** + * hdy_header_group_set_decorate_all: + * @self: a #HdyHeaderGroup + * @decorate_all: whether the elements of the group should all receive the full decoration + * + * Sets whether the elements of the group should all receive the full decoration. + * + * Since: 1.0 + */ +void +hdy_header_group_set_decorate_all (HdyHeaderGroup *self, + gboolean decorate_all) +{ + g_return_if_fail (HDY_IS_HEADER_GROUP (self)); + + decorate_all = !!decorate_all; + + if (self->decorate_all == decorate_all) + return; + + self->decorate_all = decorate_all; + + update_decoration_layouts (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DECORATE_ALL]); +} + +/** + * hdy_header_group_get_decorate_all: + * @self: a #HdyHeaderGroup + * + * Gets whether the elements of the group should all receive the full decoration. + * + * Returns: %TRUE if the elements of the group should all receive the full + * decoration, %FALSE otherwise. + * + * Since: 1.0 + */ +gboolean +hdy_header_group_get_decorate_all (HdyHeaderGroup *self) +{ + g_return_val_if_fail (HDY_IS_HEADER_GROUP (self), FALSE); + + return self->decorate_all; +} diff --git a/subprojects/libhandy/src/hdy-header-group.h b/subprojects/libhandy/src/hdy-header-group.h new file mode 100644 index 00000000..dc20a762 --- /dev/null +++ b/subprojects/libhandy/src/hdy-header-group.h @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include "hdy-header-bar.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_HEADER_GROUP_CHILD (hdy_header_group_child_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdyHeaderGroupChild, hdy_header_group_child, HDY, HEADER_GROUP_CHILD, GObject) + +#define HDY_TYPE_HEADER_GROUP (hdy_header_group_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdyHeaderGroup, hdy_header_group, HDY, HEADER_GROUP, GObject) + +typedef enum { + HDY_HEADER_GROUP_CHILD_TYPE_HEADER_BAR, + HDY_HEADER_GROUP_CHILD_TYPE_GTK_HEADER_BAR, + HDY_HEADER_GROUP_CHILD_TYPE_HEADER_GROUP, +} HdyHeaderGroupChildType; + +HDY_AVAILABLE_IN_ALL +HdyHeaderBar *hdy_header_group_child_get_header_bar (HdyHeaderGroupChild *self); +HDY_AVAILABLE_IN_ALL +GtkHeaderBar *hdy_header_group_child_get_gtk_header_bar (HdyHeaderGroupChild *self); +HDY_AVAILABLE_IN_ALL +HdyHeaderGroup *hdy_header_group_child_get_header_group (HdyHeaderGroupChild *self); + +HDY_AVAILABLE_IN_ALL +HdyHeaderGroupChildType hdy_header_group_child_get_child_type (HdyHeaderGroupChild *self); + +HDY_AVAILABLE_IN_ALL +HdyHeaderGroup *hdy_header_group_new (void); + +HDY_AVAILABLE_IN_ALL +void hdy_header_group_add_header_bar (HdyHeaderGroup *self, + HdyHeaderBar *header_bar); +HDY_AVAILABLE_IN_ALL +void hdy_header_group_add_gtk_header_bar (HdyHeaderGroup *self, + GtkHeaderBar *header_bar); +HDY_AVAILABLE_IN_ALL +void hdy_header_group_add_header_group (HdyHeaderGroup *self, + HdyHeaderGroup *header_group); + +HDY_AVAILABLE_IN_ALL +GSList *hdy_header_group_get_children (HdyHeaderGroup *self); + +HDY_AVAILABLE_IN_ALL +void hdy_header_group_remove_header_bar (HdyHeaderGroup *self, + HdyHeaderBar *header_bar); +HDY_AVAILABLE_IN_ALL +void hdy_header_group_remove_gtk_header_bar (HdyHeaderGroup *self, + GtkHeaderBar *header_bar); +HDY_AVAILABLE_IN_ALL +void hdy_header_group_remove_header_group (HdyHeaderGroup *self, + HdyHeaderGroup *header_group); +HDY_AVAILABLE_IN_ALL +void hdy_header_group_remove_child (HdyHeaderGroup *self, + HdyHeaderGroupChild *child); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_header_group_get_decorate_all (HdyHeaderGroup *self); +HDY_AVAILABLE_IN_ALL +void hdy_header_group_set_decorate_all (HdyHeaderGroup *self, + gboolean decorate_all); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-keypad-button-private.h b/subprojects/libhandy/src/hdy-keypad-button-private.h new file mode 100644 index 00000000..723526a8 --- /dev/null +++ b/subprojects/libhandy/src/hdy-keypad-button-private.h @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_KEYPAD_BUTTON (hdy_keypad_button_get_type()) + +G_DECLARE_FINAL_TYPE (HdyKeypadButton, hdy_keypad_button, HDY, KEYPAD_BUTTON, GtkButton) + +struct _HdyKeypadButtonClass +{ + GtkButtonClass parent_class; +}; + +GtkWidget *hdy_keypad_button_new (const gchar *symbols); +gchar hdy_keypad_button_get_digit (HdyKeypadButton *self); +const gchar *hdy_keypad_button_get_symbols (HdyKeypadButton *self); +void hdy_keypad_button_show_symbols (HdyKeypadButton *self, + gboolean visible); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-keypad-button.c b/subprojects/libhandy/src/hdy-keypad-button.c new file mode 100644 index 00000000..436555d8 --- /dev/null +++ b/subprojects/libhandy/src/hdy-keypad-button.c @@ -0,0 +1,331 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-keypad-button-private.h" + +/** + * PRIVATE:hdy-keypad-button + * @short_description: A button on a #HdyKeypad keypad + * @Title: HdyKeypadButton + * + * The #HdyKeypadButton widget is a single button on an #HdyKeypad. It + * can represent a single symbol (typically a digit) plus an arbitrary + * number of symbols that are displayed below it. + */ + +enum { + PROP_0, + PROP_DIGIT, + PROP_SYMBOLS, + PROP_SHOW_SYMBOLS, + PROP_LAST_PROP, +}; +static GParamSpec *props[PROP_LAST_PROP]; + +struct _HdyKeypadButton +{ + GtkButton parent_instance; + + GtkLabel *label, *secondary_label; + gchar *symbols; +}; + +G_DEFINE_TYPE (HdyKeypadButton, hdy_keypad_button, GTK_TYPE_BUTTON) + +static void +format_label(HdyKeypadButton *self) +{ + g_autofree gchar *text = NULL; + gchar *secondary_text = NULL; + + if (self->symbols != NULL && *(self->symbols) != '\0') { + secondary_text = g_utf8_find_next_char (self->symbols, NULL); + text = g_strndup (self->symbols, 1); + } + + gtk_label_set_label (self->label, text); + gtk_label_set_label (self->secondary_label, secondary_text); +} + +static void +hdy_keypad_button_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyKeypadButton *self = HDY_KEYPAD_BUTTON (object); + + switch (property_id) { + case PROP_SYMBOLS: + if (g_strcmp0 (self->symbols, g_value_get_string (value)) != 0) { + g_free (self->symbols); + self->symbols = g_value_dup_string (value); + format_label(self); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SYMBOLS]); + } + break; + + case PROP_SHOW_SYMBOLS: + hdy_keypad_button_show_symbols (self, g_value_get_boolean (value)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + +static void +hdy_keypad_button_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + HdyKeypadButton *self = HDY_KEYPAD_BUTTON (object); + + switch (property_id) { + case PROP_DIGIT: + g_value_set_schar (value, hdy_keypad_button_get_digit (self)); + break; + + case PROP_SYMBOLS: + g_value_set_string (value, hdy_keypad_button_get_symbols (self)); + break; + + case PROP_SHOW_SYMBOLS: + g_value_set_boolean (value, gtk_widget_is_visible (GTK_WIDGET (self->secondary_label))); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + +/* This private method is prefixed by the call name because it will be a virtual + * method in GTK 4. + */ +static void +hdy_keypad_button_measure (GtkWidget *widget, + GtkOrientation orientation, + int for_size, + int *minimum, + int *natural, + int *minimum_baseline, + int *natural_baseline) +{ + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (hdy_keypad_button_parent_class); + gint min1, min2, nat1, nat2; + + if (for_size < 0) { + widget_class->get_preferred_width (widget, &min1, &nat1); + widget_class->get_preferred_height (widget, &min2, &nat2); + } + else { + if (orientation == GTK_ORIENTATION_HORIZONTAL) + widget_class->get_preferred_width_for_height (widget, for_size, &min1, &nat1); + else + widget_class->get_preferred_height_for_width (widget, for_size, &min1, &nat1); + min2 = nat2 = for_size; + } + + if (minimum) + *minimum = MAX (min1, min2); + if (natural) + *natural = MAX (nat1, nat2); +} + +static GtkSizeRequestMode +hdy_keypad_button_get_request_mode (GtkWidget *widget) +{ + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (hdy_keypad_button_parent_class); + gint min1, min2; + widget_class->get_preferred_width (widget, &min1, NULL); + widget_class->get_preferred_height (widget, &min2, NULL); + if (min1 < min2) + return GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH; + else + return GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT; +} + +static void +hdy_keypad_button_get_preferred_width (GtkWidget *widget, + gint *minimum_width, + gint *natural_width) +{ + hdy_keypad_button_measure (widget, GTK_ORIENTATION_HORIZONTAL, -1, + minimum_width, natural_width, NULL, NULL); +} + +static void +hdy_keypad_button_get_preferred_height (GtkWidget *widget, + gint *minimum_height, + gint *natural_height) +{ + hdy_keypad_button_measure (widget, GTK_ORIENTATION_VERTICAL, -1, + minimum_height, natural_height, NULL, NULL); +} + +static void +hdy_keypad_button_get_preferred_width_for_height (GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width) +{ + *minimum_width = height; + *natural_width = height; +} + +static void +hdy_keypad_button_get_preferred_height_for_width (GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height) +{ + *minimum_height = width; + *natural_height = width; +} + + +static void +hdy_keypad_button_finalize (GObject *object) +{ + HdyKeypadButton *self = HDY_KEYPAD_BUTTON (object); + + g_clear_pointer (&self->symbols, g_free); + G_OBJECT_CLASS (hdy_keypad_button_parent_class)->finalize (object); +} + + +static void +hdy_keypad_button_class_init (HdyKeypadButtonClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + object_class->set_property = hdy_keypad_button_set_property; + object_class->get_property = hdy_keypad_button_get_property; + + object_class->finalize = hdy_keypad_button_finalize; + + widget_class->get_request_mode = hdy_keypad_button_get_request_mode; + widget_class->get_preferred_width = hdy_keypad_button_get_preferred_width; + widget_class->get_preferred_height = hdy_keypad_button_get_preferred_height; + widget_class->get_preferred_width_for_height = hdy_keypad_button_get_preferred_width_for_height; + widget_class->get_preferred_height_for_width = hdy_keypad_button_get_preferred_height_for_width; + + props[PROP_DIGIT] = + g_param_spec_int ("digit", + _("Digit"), + _("The keypad digit of the button"), + -1, INT_MAX, 0, + G_PARAM_READABLE); + + props[PROP_SYMBOLS] = + g_param_spec_string ("symbols", + _("Symbols"), + _("The keypad symbols of the button. The first symbol is used as the digit"), + "", + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_SHOW_SYMBOLS] = + g_param_spec_boolean ("show-symbols", + _("Show symbols"), + _("Whether the second line of symbols should be shown or not"), + TRUE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, PROP_LAST_PROP, props); + + gtk_widget_class_set_template_from_resource (widget_class, + "/sm/puri/handy/ui/hdy-keypad-button.ui"); + gtk_widget_class_bind_template_child (widget_class, HdyKeypadButton, label); + gtk_widget_class_bind_template_child (widget_class, HdyKeypadButton, secondary_label); +} + +static void +hdy_keypad_button_init (HdyKeypadButton *self) +{ + gtk_widget_init_template (GTK_WIDGET (self)); + + self->symbols = NULL; +} + +/** + * hdy_keypad_button_new: + * @symbols: (nullable): the symbols displayed on the #HdyKeypadButton + * + * Create a new #HdyKeypadButton which displays @symbols, + * where the first char is used as the main and the other symbols are shown below + * + * Returns: the newly created #HdyKeypadButton widget + */ +GtkWidget * +hdy_keypad_button_new (const gchar *symbols) +{ + return g_object_new (HDY_TYPE_KEYPAD_BUTTON, "symbols", symbols, NULL); +} + +/** + * hdy_keypad_button_get_digit: + * @self: a #HdyKeypadButton + * + * Get the #HdyKeypadButton's digit. + * + * Returns: the button's digit + */ +char +hdy_keypad_button_get_digit (HdyKeypadButton *self) +{ + g_return_val_if_fail (HDY_IS_KEYPAD_BUTTON (self), '\0'); + + if (self->symbols == NULL) + return ('\0'); + + return *(self->symbols); +} + +/** + * hdy_keypad_button_get_symbols: + * @self: a #HdyKeypadButton + * + * Get the #HdyKeypadButton's symbols. + * + * Returns: the button's symbols including the digit. + */ +const char* +hdy_keypad_button_get_symbols (HdyKeypadButton *self) +{ + g_return_val_if_fail (HDY_IS_KEYPAD_BUTTON (self), NULL); + + return self->symbols; +} + +/** + * hdy_keypad_button_show_symbols: + * @self: a #HdyKeypadButton + * @visible: whether the second line should be shown or not + * + * Sets the visibility of the second line of symbols for #HdyKeypadButton + * + */ +void +hdy_keypad_button_show_symbols (HdyKeypadButton *self, gboolean visible) +{ + gboolean old_visible; + + g_return_if_fail (HDY_IS_KEYPAD_BUTTON (self)); + + old_visible = gtk_widget_get_visible (GTK_WIDGET (self->secondary_label)); + + if (old_visible != visible) { + gtk_widget_set_visible (GTK_WIDGET (self->secondary_label), visible); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SHOW_SYMBOLS]); + } +} diff --git a/subprojects/libhandy/src/hdy-keypad-button.ui b/subprojects/libhandy/src/hdy-keypad-button.ui new file mode 100644 index 00000000..27a53dd1 --- /dev/null +++ b/subprojects/libhandy/src/hdy-keypad-button.ui @@ -0,0 +1,36 @@ + + + + + + diff --git a/subprojects/libhandy/src/hdy-keypad.c b/subprojects/libhandy/src/hdy-keypad.c new file mode 100644 index 00000000..1246f730 --- /dev/null +++ b/subprojects/libhandy/src/hdy-keypad.c @@ -0,0 +1,793 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-keypad.h" +#include "hdy-keypad-button-private.h" + +/** + * SECTION:hdy-keypad + * @short_description: A keypad for dialing numbers + * @Title: HdyKeypad + * + * The #HdyKeypad widget is a keypad for entering numbers such as phone numbers + * or PIN codes. + * + * # CSS nodes + * + * #HdyKeypad has a single CSS node with name keypad. + * + * Since: 0.0.12 + */ + +typedef struct +{ + GtkEntry *entry; + GtkWidget *grid; + GtkWidget *label_asterisk; + GtkWidget *label_hash; + GtkGesture *long_press_zero_gesture; + guint16 row_spacing; + guint16 column_spacing; + gboolean symbols_visible; + gboolean letters_visible; +} HdyKeypadPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (HdyKeypad, hdy_keypad, GTK_TYPE_BIN) + +enum { + PROP_0, + PROP_ROW_SPACING, + PROP_COLUMN_SPACING, + PROP_LETTERS_VISIBLE, + PROP_SYMBOLS_VISIBLE, + PROP_ENTRY, + PROP_END_ACTION, + PROP_START_ACTION, + PROP_LAST_PROP, +}; +static GParamSpec *props[PROP_LAST_PROP]; + +static void +symbol_clicked (HdyKeypad *self, + gchar symbol) +{ + HdyKeypadPrivate *priv = hdy_keypad_get_instance_private (self); + g_autofree gchar *string = g_strdup_printf ("%c", symbol); + + if (!priv->entry) + return; + + g_signal_emit_by_name (priv->entry, "insert-at-cursor", string, NULL); + /* Set focus to the entry only when it can get focus + * https://gitlab.gnome.org/GNOME/gtk/issues/2204 + */ + if (gtk_widget_get_can_focus (GTK_WIDGET (priv->entry))) + gtk_entry_grab_focus_without_selecting (priv->entry); +} + + +static void +button_clicked_cb (HdyKeypad *self, + HdyKeypadButton *btn) +{ + gchar digit = hdy_keypad_button_get_digit (btn); + symbol_clicked (self, digit); + g_debug ("Button with number %c was pressed", digit); +} + + +static void +asterisk_button_clicked_cb (HdyKeypad *self, + GtkWidget *btn) +{ + symbol_clicked (self, '*'); + g_debug ("Button with * was pressed"); +} + + +static void +hash_button_clicked_cb (HdyKeypad *self, + GtkWidget *btn) +{ + symbol_clicked (self, '#'); + g_debug ("Button with # was pressed"); +} + + +static void +insert_text_cb (HdyKeypad *self, + gchar *text, + gint length, + gpointer position, + GtkEditable *editable) +{ + HdyKeypadPrivate *priv = hdy_keypad_get_instance_private (self); + + g_assert (length == 1); + + if (g_ascii_isdigit (*text)) + return; + + if (priv->symbols_visible && strchr ("#*+", *text)) + return; + + g_signal_stop_emission_by_name (editable, "insert-text"); +} + + +static void +long_press_zero_cb (HdyKeypad *self, + gdouble x, + gdouble y, + GtkGesture *gesture) +{ + HdyKeypadPrivate *priv = hdy_keypad_get_instance_private (self); + + if (priv->symbols_visible) + return; + + g_debug ("Long press on zero button"); + symbol_clicked (self, '+'); + gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED); +} + + +static void +hdy_keypad_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyKeypad *self = HDY_KEYPAD (object); + + switch (property_id) { + case PROP_ROW_SPACING: + hdy_keypad_set_row_spacing (self, g_value_get_uint (value)); + break; + case PROP_COLUMN_SPACING: + hdy_keypad_set_column_spacing (self, g_value_get_uint (value)); + break; + case PROP_LETTERS_VISIBLE: + hdy_keypad_set_letters_visible (self, g_value_get_boolean (value)); + break; + case PROP_SYMBOLS_VISIBLE: + hdy_keypad_set_symbols_visible (self, g_value_get_boolean (value)); + break; + case PROP_ENTRY: + hdy_keypad_set_entry (self, g_value_get_object (value)); + break; + case PROP_END_ACTION: + hdy_keypad_set_end_action (self, g_value_get_object (value)); + break; + case PROP_START_ACTION: + hdy_keypad_set_start_action (self, g_value_get_object (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + + +static void +hdy_keypad_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + HdyKeypad *self = HDY_KEYPAD (object); + + switch (property_id) { + case PROP_ROW_SPACING: + g_value_set_uint (value, hdy_keypad_get_row_spacing (self)); + break; + case PROP_COLUMN_SPACING: + g_value_set_uint (value, hdy_keypad_get_column_spacing (self)); + break; + case PROP_LETTERS_VISIBLE: + g_value_set_boolean (value, hdy_keypad_get_letters_visible (self)); + break; + case PROP_SYMBOLS_VISIBLE: + g_value_set_boolean (value, hdy_keypad_get_symbols_visible (self)); + break; + case PROP_ENTRY: + g_value_set_object (value, hdy_keypad_get_entry (self)); + break; + case PROP_START_ACTION: + g_value_set_object (value, hdy_keypad_get_start_action (self)); + break; + case PROP_END_ACTION: + g_value_set_object (value, hdy_keypad_get_end_action (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + + +static void +hdy_keypad_finalize (GObject *object) +{ + HdyKeypadPrivate *priv = hdy_keypad_get_instance_private (HDY_KEYPAD (object)); + + if (priv->long_press_zero_gesture != NULL) + g_object_unref (priv->long_press_zero_gesture); + + G_OBJECT_CLASS (hdy_keypad_parent_class)->finalize (object); +} + + +static void +hdy_keypad_class_init (HdyKeypadClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + object_class->finalize = hdy_keypad_finalize; + + object_class->set_property = hdy_keypad_set_property; + object_class->get_property = hdy_keypad_get_property; + + /** + * HdyKeypad:row-spacing: + * + * The amount of space between two consecutive rows. + * + * Since: 1.0 + */ + props[PROP_ROW_SPACING] = + g_param_spec_uint ("row-spacing", + _("Row spacing"), + _("The amount of space between two consecutive rows"), + 0, G_MAXINT16, 6, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyKeypad:column-spacing: + * + * The amount of space between two consecutive columns. + * + * Since: 1.0 + */ + props[PROP_COLUMN_SPACING] = + g_param_spec_uint ("column-spacing", + _("Column spacing"), + _("The amount of space between two consecutive columns"), + 0, G_MAXINT16, 6, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyKeypad:letters-visible: + * + * Whether the keypad should display the standard letters below the digits on + * its buttons. + * + * Since: 1.0 + */ + props[PROP_LETTERS_VISIBLE] = + g_param_spec_boolean ("letters-visible", + _("Letters visible"), + _("Whether the letters below the digits should be visible"), + TRUE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyKeypad:symbols-visible: + * + * Whether the keypad should display the hash and asterisk buttons, and should + * display the plus symbol at the bottom of its 0 button. + * + * Since: 1.0 + */ + props[PROP_SYMBOLS_VISIBLE] = + g_param_spec_boolean ("symbols-visible", + _("Symbols visible"), + _("Whether the hash, plus, and asterisk symbols should be visible"), + TRUE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyKeypad:entry: + * + * The entry widget connected to the keypad. See hdy_keypad_set_entry() for + * details. + * + * Since: 1.0 + */ + props[PROP_ENTRY] = + g_param_spec_object ("entry", + _("Entry"), + _("The entry widget connected to the keypad"), + GTK_TYPE_ENTRY, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyKeypad:end-action: + * + * The widget for the lower end corner of @self. + * + * Since: 1.0 + */ + props[PROP_END_ACTION] = + g_param_spec_object ("end-action", + _("End action"), + _("The end action widget"), + GTK_TYPE_WIDGET, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyKeypad:start-action: + * + * The widget for the lower start corner of @self. + * + * Since: 1.0 + */ + props[PROP_START_ACTION] = + g_param_spec_object ("start-action", + _("Start action"), + _("The start action widget"), + GTK_TYPE_WIDGET, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, PROP_LAST_PROP, props); + + gtk_widget_class_set_template_from_resource (widget_class, + "/sm/puri/handy/ui/hdy-keypad.ui"); + gtk_widget_class_bind_template_child_private (widget_class, HdyKeypad, grid); + gtk_widget_class_bind_template_child_private (widget_class, HdyKeypad, label_asterisk); + gtk_widget_class_bind_template_child_private (widget_class, HdyKeypad, label_hash); + gtk_widget_class_bind_template_child_private (widget_class, HdyKeypad, long_press_zero_gesture); + + gtk_widget_class_bind_template_callback (widget_class, button_clicked_cb); + gtk_widget_class_bind_template_callback (widget_class, asterisk_button_clicked_cb); + gtk_widget_class_bind_template_callback (widget_class, hash_button_clicked_cb); + gtk_widget_class_bind_template_callback (widget_class, long_press_zero_cb); + + gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_DIAL); + gtk_widget_class_set_css_name (widget_class, "keypad"); +} + + +static void +hdy_keypad_init (HdyKeypad *self) +{ + HdyKeypadPrivate *priv = hdy_keypad_get_instance_private (self); + + priv->row_spacing = 6; + priv->column_spacing = 6; + priv->letters_visible = TRUE; + priv->symbols_visible = TRUE; + + g_type_ensure (HDY_TYPE_KEYPAD_BUTTON); + gtk_widget_init_template (GTK_WIDGET (self)); +} + + +/** + * hdy_keypad_new: + * @symbols_visible: whether the hash, plus, and asterisk symbols should be visible + * @letters_visible: whether the letters below the digits should be visible + * + * Create a new #HdyKeypad widget. + * + * Returns: the newly created #HdyKeypad widget + * + * Since: 0.0.12 + */ +GtkWidget * +hdy_keypad_new (gboolean symbols_visible, + gboolean letters_visible) +{ + return g_object_new (HDY_TYPE_KEYPAD, + "symbols-visible", symbols_visible, + "letters-visible", letters_visible, + NULL); +} + +/** + * hdy_keypad_set_row_spacing: + * @self: a #HdyKeypad + * @spacing: the amount of space to insert between rows + * + * Sets the amount of space between rows of @self. + * + * Since: 1.0 + */ +void +hdy_keypad_set_row_spacing (HdyKeypad *self, + guint spacing) +{ + HdyKeypadPrivate *priv; + + g_return_if_fail (HDY_IS_KEYPAD (self)); + g_return_if_fail (spacing <= G_MAXINT16); + + priv = hdy_keypad_get_instance_private (self); + + if (priv->row_spacing == spacing) + return; + + priv->row_spacing = spacing; + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ROW_SPACING]); +} + + +/** + * hdy_keypad_get_row_spacing: + * @self: a #HdyKeypad + * + * Returns the amount of space between the rows of @self. + * + * Returns: the row spacing of @self + * + * Since: 1.0 + */ +guint +hdy_keypad_get_row_spacing (HdyKeypad *self) +{ + HdyKeypadPrivate *priv; + + g_return_val_if_fail (HDY_IS_KEYPAD (self), 0); + + priv = hdy_keypad_get_instance_private (self); + + return priv->row_spacing; +} + + +/** + * hdy_keypad_set_column_spacing: + * @self: a #HdyKeypad + * @spacing: the amount of space to insert between columns + * + * Sets the amount of space between columns of @self. + * + * Since: 1.0 + */ +void +hdy_keypad_set_column_spacing (HdyKeypad *self, + guint spacing) +{ + HdyKeypadPrivate *priv; + + g_return_if_fail (HDY_IS_KEYPAD (self)); + g_return_if_fail (spacing <= G_MAXINT16); + + priv = hdy_keypad_get_instance_private (self); + + if (priv->column_spacing == spacing) + return; + + priv->column_spacing = spacing; + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_COLUMN_SPACING]); +} + + +/** + * hdy_keypad_get_column_spacing: + * @self: a #HdyKeypad + * + * Returns the amount of space between the columns of @self. + * + * Returns: the column spacing of @self + * + * Since: 1.0 + */ +guint +hdy_keypad_get_column_spacing (HdyKeypad *self) +{ + HdyKeypadPrivate *priv; + + g_return_val_if_fail (HDY_IS_KEYPAD (self), 0); + + priv = hdy_keypad_get_instance_private (self); + + return priv->column_spacing; +} + + +/** + * hdy_keypad_set_letters_visible: + * @self: a #HdyKeypad + * @letters_visible: whether the letters below the digits should be visible + * + * Sets whether @self should display the standard letters below the digits on + * its buttons. + * + * Since: 1.0 + */ +void +hdy_keypad_set_letters_visible (HdyKeypad *self, + gboolean letters_visible) +{ + HdyKeypadPrivate *priv = hdy_keypad_get_instance_private (self); + + g_return_if_fail (HDY_IS_KEYPAD (self)); + + letters_visible = !!letters_visible; + + if (priv->letters_visible == letters_visible) + return; + + priv->letters_visible = letters_visible; + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_LETTERS_VISIBLE]); +} + + +/** + * hdy_keypad_get_letters_visible: + * @self: a #HdyKeypad + * + * Returns whether @self should display the standard letters below the digits on + * its buttons. + * + * Returns: whether the letters below the digits should be visible + * + * Since: 1.0 + */ +gboolean +hdy_keypad_get_letters_visible (HdyKeypad *self) +{ + HdyKeypadPrivate *priv; + + g_return_val_if_fail (HDY_IS_KEYPAD (self), FALSE); + + priv = hdy_keypad_get_instance_private (self); + + return priv->letters_visible; +} + + +/** + * hdy_keypad_set_symbols_visible: + * @self: a #HdyKeypad + * @symbols_visible: whether the hash, plus, and asterisk symbols should be visible + * + * Sets whether @self should display the hash and asterisk buttons, and should + * display the plus symbol at the bottom of its 0 button. + * + * Since: 1.0 + */ +void +hdy_keypad_set_symbols_visible (HdyKeypad *self, + gboolean symbols_visible) +{ + HdyKeypadPrivate *priv = hdy_keypad_get_instance_private (self); + + g_return_if_fail (HDY_IS_KEYPAD (self)); + + symbols_visible = !!symbols_visible; + + if (priv->symbols_visible == symbols_visible) + return; + + priv->symbols_visible = symbols_visible; + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SYMBOLS_VISIBLE]); +} + + +/** + * hdy_keypad_get_symbols_visible: + * @self: a #HdyKeypad + * + * Returns whether @self should display the standard letters below the digits on + * its buttons. + * + * Returns Whether @self should display the hash and asterisk buttons, and + * should display the plus symbol at the bottom of its 0 button. + * + * Returns: whether the hash, plus, and asterisk symbols should be visible + * + * Since: 1.0 + */ +gboolean +hdy_keypad_get_symbols_visible (HdyKeypad *self) +{ + HdyKeypadPrivate *priv; + + g_return_val_if_fail (HDY_IS_KEYPAD (self), FALSE); + + priv = hdy_keypad_get_instance_private (self); + + return priv->symbols_visible; +} + + +/** + * hdy_keypad_set_entry: + * @self: a #HdyKeypad + * @entry: (nullable): a #GtkEntry + * + * Binds @entry to @self and blocks any input which wouldn't be possible to type + * with with the keypad. + * + * Since: 0.0.12 + */ +void +hdy_keypad_set_entry (HdyKeypad *self, + GtkEntry *entry) +{ + HdyKeypadPrivate *priv; + + g_return_if_fail (HDY_IS_KEYPAD (self)); + g_return_if_fail (entry == NULL || GTK_IS_ENTRY (entry)); + + priv = hdy_keypad_get_instance_private (self); + + if (entry == priv->entry) + return; + + g_clear_object (&priv->entry); + + if (entry) { + priv->entry = g_object_ref (entry); + + gtk_widget_show (GTK_WIDGET (priv->entry)); + /* Workaround: To keep the osk closed + * https://gitlab.gnome.org/GNOME/gtk/merge_requests/978#note_546576 */ + g_object_set (priv->entry, "im-module", "gtk-im-context-none", NULL); + + g_signal_connect_swapped (G_OBJECT (priv->entry), + "insert-text", + G_CALLBACK (insert_text_cb), + self); + } + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ENTRY]); +} + + +/** + * hdy_keypad_get_entry: + * @self: a #HdyKeypad + * + * Get the connected entry. See hdy_keypad_set_entry() for details. + * + * Returns: (transfer none): the set #GtkEntry or %NULL if no widget was set + * + * Since: 1.0 + */ +GtkEntry * +hdy_keypad_get_entry (HdyKeypad *self) +{ + HdyKeypadPrivate *priv; + + g_return_val_if_fail (HDY_IS_KEYPAD (self), NULL); + + priv = hdy_keypad_get_instance_private (self); + + return priv->entry; +} + + +/** + * hdy_keypad_set_start_action: + * @self: a #HdyKeypad + * @start_action: (nullable): the start action widget + * + * Sets the widget for the lower left corner (or right, in RTL locales) of + * @self. + * + * Since: 1.0 + */ +void +hdy_keypad_set_start_action (HdyKeypad *self, + GtkWidget *start_action) +{ + HdyKeypadPrivate *priv; + GtkWidget *old_widget; + + g_return_if_fail (HDY_IS_KEYPAD (self)); + g_return_if_fail (start_action == NULL || GTK_IS_WIDGET (start_action)); + + priv = hdy_keypad_get_instance_private (self); + + old_widget = gtk_grid_get_child_at (GTK_GRID (priv->grid), 0, 3); + + if (old_widget == start_action) + return; + + if (old_widget != NULL) + gtk_container_remove (GTK_CONTAINER (priv->grid), old_widget); + + if (start_action != NULL) + gtk_grid_attach (GTK_GRID (priv->grid), start_action, 0, 3, 1, 1); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_START_ACTION]); +} + + +/** + * hdy_keypad_get_start_action: + * @self: a #HdyKeypad + * + * Returns the widget for the lower left corner (or right, in RTL locales) of + * @self. + * + * Returns: (transfer none) (nullable): the start action widget + * + * Since: 1.0 + */ +GtkWidget * +hdy_keypad_get_start_action (HdyKeypad *self) +{ + HdyKeypadPrivate *priv; + + g_return_val_if_fail (HDY_IS_KEYPAD (self), NULL); + + priv = hdy_keypad_get_instance_private (self); + + return gtk_grid_get_child_at (GTK_GRID (priv->grid), 0, 3); +} + + +/** + * hdy_keypad_set_end_action: + * @self: a #HdyKeypad + * @end_action: (nullable): the end action widget + * + * Sets the widget for the lower right corner (or left, in RTL locales) of + * @self. + * + * Since: 1.0 + */ +void +hdy_keypad_set_end_action (HdyKeypad *self, + GtkWidget *end_action) +{ + HdyKeypadPrivate *priv; + GtkWidget *old_widget; + + g_return_if_fail (HDY_IS_KEYPAD (self)); + g_return_if_fail (end_action == NULL || GTK_IS_WIDGET (end_action)); + + priv = hdy_keypad_get_instance_private (self); + + old_widget = gtk_grid_get_child_at (GTK_GRID (priv->grid), 2, 3); + + if (old_widget == end_action) + return; + + if (old_widget != NULL) + gtk_container_remove (GTK_CONTAINER (priv->grid), old_widget); + + if (end_action != NULL) + gtk_grid_attach (GTK_GRID (priv->grid), end_action, 2, 3, 1, 1); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_END_ACTION]); +} + + +/** + * hdy_keypad_get_end_action: + * @self: a #HdyKeypad + * + * Returns the widget for the lower right corner (or left, in RTL locales) of + * @self. + * + * Returns: (transfer none) (nullable): the end action widget + * + * Since: 1.0 + */ +GtkWidget * +hdy_keypad_get_end_action (HdyKeypad *self) +{ + HdyKeypadPrivate *priv; + + g_return_val_if_fail (HDY_IS_KEYPAD (self), NULL); + + priv = hdy_keypad_get_instance_private (self); + + return gtk_grid_get_child_at (GTK_GRID (priv->grid), 2, 3); +} diff --git a/subprojects/libhandy/src/hdy-keypad.h b/subprojects/libhandy/src/hdy-keypad.h new file mode 100644 index 00000000..267feea5 --- /dev/null +++ b/subprojects/libhandy/src/hdy-keypad.h @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_KEYPAD (hdy_keypad_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (HdyKeypad, hdy_keypad, HDY, KEYPAD, GtkBin) + +/** + * HdyKeypadClass: + * @parent_class: The parent class + */ +struct _HdyKeypadClass +{ + GtkBinClass parent_class; + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_keypad_new (gboolean symbols_visible, + gboolean letters_visible); +HDY_AVAILABLE_IN_ALL +void hdy_keypad_set_row_spacing (HdyKeypad *self, + guint spacing); +HDY_AVAILABLE_IN_ALL +guint hdy_keypad_get_row_spacing (HdyKeypad *self); +HDY_AVAILABLE_IN_ALL +void hdy_keypad_set_column_spacing (HdyKeypad *self, + guint spacing); +HDY_AVAILABLE_IN_ALL +guint hdy_keypad_get_column_spacing (HdyKeypad *self); +HDY_AVAILABLE_IN_ALL +void hdy_keypad_set_letters_visible (HdyKeypad *self, + gboolean letters_visible); +HDY_AVAILABLE_IN_ALL +gboolean hdy_keypad_get_letters_visible (HdyKeypad *self); +HDY_AVAILABLE_IN_ALL +void hdy_keypad_set_symbols_visible (HdyKeypad *self, + gboolean symbols_visible); +HDY_AVAILABLE_IN_ALL +gboolean hdy_keypad_get_symbols_visible (HdyKeypad *self); +HDY_AVAILABLE_IN_ALL +void hdy_keypad_set_entry (HdyKeypad *self, + GtkEntry *entry); +HDY_AVAILABLE_IN_ALL +GtkEntry *hdy_keypad_get_entry (HdyKeypad *self); +HDY_AVAILABLE_IN_ALL +void hdy_keypad_set_start_action (HdyKeypad *self, + GtkWidget *start_action); +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_keypad_get_start_action (HdyKeypad *self); +HDY_AVAILABLE_IN_ALL +void hdy_keypad_set_end_action (HdyKeypad *self, + GtkWidget *end_action); +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_keypad_get_end_action (HdyKeypad *self); + + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-keypad.ui b/subprojects/libhandy/src/hdy-keypad.ui new file mode 100644 index 00000000..3f04532f --- /dev/null +++ b/subprojects/libhandy/src/hdy-keypad.ui @@ -0,0 +1,216 @@ + + + + + + btn_0 + + + diff --git a/subprojects/libhandy/src/hdy-leaflet.c b/subprojects/libhandy/src/hdy-leaflet.c new file mode 100644 index 00000000..8c1ba2ad --- /dev/null +++ b/subprojects/libhandy/src/hdy-leaflet.c @@ -0,0 +1,1209 @@ +/* + * Copyright (C) 2018 Purism SPC + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-leaflet.h" +#include "hdy-stackable-box-private.h" +#include "hdy-swipeable.h" + +/** + * SECTION:hdy-leaflet + * @short_description: An adaptive container acting like a box or a stack. + * @Title: HdyLeaflet + * + * The #HdyLeaflet widget can display its children like a #GtkBox does or + * like a #GtkStack does, adapting to size changes by switching between + * the two modes. + * + * When there is enough space the children are displayed side by side, otherwise + * only one is displayed and the leaflet is said to be “folded”. + * The threshold is dictated by the preferred minimum sizes of the children. + * When a leaflet is folded, the children can be navigated using swipe gestures. + * + * The “over” and “under” stack the children one on top of the other, while the + * “slide” transition puts the children side by side. While navigating to a + * child on the side or below can be performed by swiping the current child + * away, navigating to an upper child requires dragging it from the edge where + * it resides. This doesn't affect non-dragging swipes. + * + * The “over” and “under” transitions can draw their shadow on top of the + * window's transparent areas, like the rounded corners. This is a side-effect + * of allowing shadows to be drawn on top of OpenGL areas. It can be mitigated + * by using #HdyWindow or #HdyApplicationWindow as they will crop anything drawn + * beyond the rounded corners. + * + * # CSS nodes + * + * #HdyLeaflet has a single CSS node with name leaflet. The node will get the + * style classes .folded when it is folded, .unfolded when it's not, or none if + * it didn't compute its fold yet. + */ + +/** + * HdyLeafletTransitionType: + * @HDY_LEAFLET_TRANSITION_TYPE_OVER: Cover the old page or uncover the new page, sliding from or towards the end according to orientation, text direction and children order + * @HDY_LEAFLET_TRANSITION_TYPE_UNDER: Uncover the new page or cover the old page, sliding from or towards the start according to orientation, text direction and children order + * @HDY_LEAFLET_TRANSITION_TYPE_SLIDE: Slide from left, right, up or down according to the orientation, text direction and the children order + * + * This enumeration value describes the possible transitions between modes and + * children in a #HdyLeaflet widget. + * + * New values may be added to this enumeration over time. + * + * Since: 0.0.12 + */ + +enum { + PROP_0, + PROP_FOLDED, + PROP_HHOMOGENEOUS_FOLDED, + PROP_VHOMOGENEOUS_FOLDED, + PROP_HHOMOGENEOUS_UNFOLDED, + PROP_VHOMOGENEOUS_UNFOLDED, + PROP_VISIBLE_CHILD, + PROP_VISIBLE_CHILD_NAME, + PROP_TRANSITION_TYPE, + PROP_MODE_TRANSITION_DURATION, + PROP_CHILD_TRANSITION_DURATION, + PROP_CHILD_TRANSITION_RUNNING, + PROP_INTERPOLATE_SIZE, + PROP_CAN_SWIPE_BACK, + PROP_CAN_SWIPE_FORWARD, + + /* orientable */ + PROP_ORIENTATION, + LAST_PROP = PROP_ORIENTATION, +}; + +enum { + CHILD_PROP_0, + CHILD_PROP_NAME, + CHILD_PROP_NAVIGATABLE, + LAST_CHILD_PROP, +}; + +typedef struct +{ + HdyStackableBox *box; +} HdyLeafletPrivate; + +static GParamSpec *props[LAST_PROP]; +static GParamSpec *child_props[LAST_CHILD_PROP]; + +static void hdy_leaflet_swipeable_init (HdySwipeableInterface *iface); + +G_DEFINE_TYPE_WITH_CODE (HdyLeaflet, hdy_leaflet, GTK_TYPE_CONTAINER, + G_ADD_PRIVATE (HdyLeaflet) + G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL) + G_IMPLEMENT_INTERFACE (HDY_TYPE_SWIPEABLE, hdy_leaflet_swipeable_init)) + +#define HDY_GET_HELPER(obj) (((HdyLeafletPrivate *) hdy_leaflet_get_instance_private (HDY_LEAFLET (obj)))->box) + +/** + * hdy_leaflet_get_folded: + * @self: a #HdyLeaflet + * + * Gets whether @self is folded. + * + * Returns: whether @self is folded. + */ +gboolean +hdy_leaflet_get_folded (HdyLeaflet *self) +{ + g_return_val_if_fail (HDY_IS_LEAFLET (self), FALSE); + + return hdy_stackable_box_get_folded (HDY_GET_HELPER (self)); +} + +/** + * hdy_leaflet_set_homogeneous: + * @self: a #HdyLeaflet + * @folded: the fold + * @orientation: the orientation + * @homogeneous: %TRUE to make @self homogeneous + * + * Sets the #HdyLeaflet to be homogeneous or not for the given fold and orientation. + * If it is homogeneous, the #HdyLeaflet will request the same + * width or height for all its children depending on the orientation. + * If it isn't and it is folded, the leaflet may change width or height + * when a different child becomes visible. + */ +void +hdy_leaflet_set_homogeneous (HdyLeaflet *self, + gboolean folded, + GtkOrientation orientation, + gboolean homogeneous) +{ + g_return_if_fail (HDY_IS_LEAFLET (self)); + + hdy_stackable_box_set_homogeneous (HDY_GET_HELPER (self), folded, orientation, homogeneous); +} + +/** + * hdy_leaflet_get_homogeneous: + * @self: a #HdyLeaflet + * @folded: the fold + * @orientation: the orientation + * + * Gets whether @self is homogeneous for the given fold and orientation. + * See hdy_leaflet_set_homogeneous(). + * + * Returns: whether @self is homogeneous for the given fold and orientation. + */ +gboolean +hdy_leaflet_get_homogeneous (HdyLeaflet *self, + gboolean folded, + GtkOrientation orientation) +{ + g_return_val_if_fail (HDY_IS_LEAFLET (self), FALSE); + + return hdy_stackable_box_get_homogeneous (HDY_GET_HELPER (self), folded, orientation); +} + +/** + * hdy_leaflet_get_transition_type: + * @self: a #HdyLeaflet + * + * Gets the type of animation that will be used + * for transitions between modes and children in @self. + * + * Returns: the current transition type of @self + * + * Since: 0.0.12 + */ +HdyLeafletTransitionType +hdy_leaflet_get_transition_type (HdyLeaflet *self) +{ + HdyStackableBoxTransitionType type; + + g_return_val_if_fail (HDY_IS_LEAFLET (self), HDY_LEAFLET_TRANSITION_TYPE_OVER); + + type = hdy_stackable_box_get_transition_type (HDY_GET_HELPER (self)); + + switch (type) { + case HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER: + return HDY_LEAFLET_TRANSITION_TYPE_OVER; + + case HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER: + return HDY_LEAFLET_TRANSITION_TYPE_UNDER; + + case HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE: + return HDY_LEAFLET_TRANSITION_TYPE_SLIDE; + + default: + g_assert_not_reached (); + } +} + +/** + * hdy_leaflet_set_transition_type: + * @self: a #HdyLeaflet + * @transition: the new transition type + * + * Sets the type of animation that will be used for transitions between modes + * and children in @self. + * + * The transition type can be changed without problems at runtime, so it is + * possible to change the animation based on the mode or child that is about to + * become current. + * + * Since: 0.0.12 + */ +void +hdy_leaflet_set_transition_type (HdyLeaflet *self, + HdyLeafletTransitionType transition) +{ + HdyStackableBoxTransitionType type; + + g_return_if_fail (HDY_IS_LEAFLET (self)); + g_return_if_fail (transition <= HDY_LEAFLET_TRANSITION_TYPE_SLIDE); + + switch (transition) { + case HDY_LEAFLET_TRANSITION_TYPE_OVER: + type = HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER; + break; + + case HDY_LEAFLET_TRANSITION_TYPE_UNDER: + type = HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER; + break; + + case HDY_LEAFLET_TRANSITION_TYPE_SLIDE: + type = HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE; + break; + + default: + g_assert_not_reached (); + } + + hdy_stackable_box_set_transition_type (HDY_GET_HELPER (self), type); +} + +/** + * hdy_leaflet_get_mode_transition_duration: + * @self: a #HdyLeaflet + * + * Returns the amount of time (in milliseconds) that + * transitions between modes in @self will take. + * + * Returns: the mode transition duration + */ +guint +hdy_leaflet_get_mode_transition_duration (HdyLeaflet *self) +{ + g_return_val_if_fail (HDY_IS_LEAFLET (self), 0); + + return hdy_stackable_box_get_mode_transition_duration (HDY_GET_HELPER (self)); +} + +/** + * hdy_leaflet_set_mode_transition_duration: + * @self: a #HdyLeaflet + * @duration: the new duration, in milliseconds + * + * Sets the duration that transitions between modes in @self + * will take. + */ +void +hdy_leaflet_set_mode_transition_duration (HdyLeaflet *self, + guint duration) +{ + g_return_if_fail (HDY_IS_LEAFLET (self)); + + hdy_stackable_box_set_mode_transition_duration (HDY_GET_HELPER (self), duration); +} + +/** + * hdy_leaflet_get_child_transition_duration: + * @self: a #HdyLeaflet + * + * Returns the amount of time (in milliseconds) that + * transitions between children in @self will take. + * + * Returns: the child transition duration + */ +guint +hdy_leaflet_get_child_transition_duration (HdyLeaflet *self) +{ + g_return_val_if_fail (HDY_IS_LEAFLET (self), 0); + + return hdy_stackable_box_get_child_transition_duration (HDY_GET_HELPER (self)); +} + +/** + * hdy_leaflet_set_child_transition_duration: + * @self: a #HdyLeaflet + * @duration: the new duration, in milliseconds + * + * Sets the duration that transitions between children in @self + * will take. + */ +void +hdy_leaflet_set_child_transition_duration (HdyLeaflet *self, + guint duration) +{ + g_return_if_fail (HDY_IS_LEAFLET (self)); + + hdy_stackable_box_set_child_transition_duration (HDY_GET_HELPER (self), duration); +} + +/** + * hdy_leaflet_get_visible_child: + * @self: a #HdyLeaflet + * + * Gets the visible child widget. + * + * Returns: (transfer none): the visible child widget + */ +GtkWidget * +hdy_leaflet_get_visible_child (HdyLeaflet *self) +{ + g_return_val_if_fail (HDY_IS_LEAFLET (self), NULL); + + return hdy_stackable_box_get_visible_child (HDY_GET_HELPER (self)); +} + +/** + * hdy_leaflet_set_visible_child: + * @self: a #HdyLeaflet + * @visible_child: the new child + * + * Makes @visible_child visible using a transition determined by + * HdyLeaflet:transition-type and HdyLeaflet:child-transition-duration. The + * transition can be cancelled by the user, in which case visible child will + * change back to the previously visible child. + */ +void +hdy_leaflet_set_visible_child (HdyLeaflet *self, + GtkWidget *visible_child) +{ + g_return_if_fail (HDY_IS_LEAFLET (self)); + + hdy_stackable_box_set_visible_child (HDY_GET_HELPER (self), visible_child); +} + +/** + * hdy_leaflet_get_visible_child_name: + * @self: a #HdyLeaflet + * + * Gets the name of the currently visible child widget. + * + * Returns: (transfer none): the name of the visible child + */ +const gchar * +hdy_leaflet_get_visible_child_name (HdyLeaflet *self) +{ + g_return_val_if_fail (HDY_IS_LEAFLET (self), NULL); + + return hdy_stackable_box_get_visible_child_name (HDY_GET_HELPER (self)); +} + +/** + * hdy_leaflet_set_visible_child_name: + * @self: a #HdyLeaflet + * @name: the name of a child + * + * Makes the child with the name @name visible. + * + * See hdy_leaflet_set_visible_child() for more details. + */ +void +hdy_leaflet_set_visible_child_name (HdyLeaflet *self, + const gchar *name) +{ + g_return_if_fail (HDY_IS_LEAFLET (self)); + + hdy_stackable_box_set_visible_child_name (HDY_GET_HELPER (self), name); +} + +/** + * hdy_leaflet_get_child_transition_running: + * @self: a #HdyLeaflet + * + * Returns whether @self is currently in a transition from one page to + * another. + * + * Returns: %TRUE if the transition is currently running, %FALSE otherwise. + */ +gboolean +hdy_leaflet_get_child_transition_running (HdyLeaflet *self) +{ + g_return_val_if_fail (HDY_IS_LEAFLET (self), FALSE); + + return hdy_stackable_box_get_child_transition_running (HDY_GET_HELPER (self)); +} + +/** + * hdy_leaflet_set_interpolate_size: + * @self: a #HdyLeaflet + * @interpolate_size: the new value + * + * Sets whether or not @self will interpolate its size when + * changing the visible child. If the #HdyLeaflet:interpolate-size + * property is set to %TRUE, @self will interpolate its size between + * the current one and the one it'll take after changing the + * visible child, according to the set transition duration. + */ +void +hdy_leaflet_set_interpolate_size (HdyLeaflet *self, + gboolean interpolate_size) +{ + g_return_if_fail (HDY_IS_LEAFLET (self)); + + hdy_stackable_box_set_interpolate_size (HDY_GET_HELPER (self), interpolate_size); +} + +/** + * hdy_leaflet_get_interpolate_size: + * @self: a #HdyLeaflet + * + * Returns whether the #HdyLeaflet is set up to interpolate between + * the sizes of children on page switch. + * + * Returns: %TRUE if child sizes are interpolated + */ +gboolean +hdy_leaflet_get_interpolate_size (HdyLeaflet *self) +{ + g_return_val_if_fail (HDY_IS_LEAFLET (self), FALSE); + + return hdy_stackable_box_get_interpolate_size (HDY_GET_HELPER (self)); +} + +/** + * hdy_leaflet_set_can_swipe_back: + * @self: a #HdyLeaflet + * @can_swipe_back: the new value + * + * Sets whether or not @self allows switching to the previous child that has + * 'navigatable' child property set to %TRUE via a swipe gesture + * + * Since: 0.0.12 + */ +void +hdy_leaflet_set_can_swipe_back (HdyLeaflet *self, + gboolean can_swipe_back) +{ + g_return_if_fail (HDY_IS_LEAFLET (self)); + + hdy_stackable_box_set_can_swipe_back (HDY_GET_HELPER (self), can_swipe_back); +} + +/** + * hdy_leaflet_get_can_swipe_back + * @self: a #HdyLeaflet + * + * Returns whether the #HdyLeaflet allows swiping to the previous child. + * + * Returns: %TRUE if back swipe is enabled. + * + * Since: 0.0.12 + */ +gboolean +hdy_leaflet_get_can_swipe_back (HdyLeaflet *self) +{ + g_return_val_if_fail (HDY_IS_LEAFLET (self), FALSE); + + return hdy_stackable_box_get_can_swipe_back (HDY_GET_HELPER (self)); +} + +/** + * hdy_leaflet_set_can_swipe_forward: + * @self: a #HdyLeaflet + * @can_swipe_forward: the new value + * + * Sets whether or not @self allows switching to the next child that has + * 'navigatable' child property set to %TRUE via a swipe gesture. + * + * Since: 0.0.12 + */ +void +hdy_leaflet_set_can_swipe_forward (HdyLeaflet *self, + gboolean can_swipe_forward) +{ + g_return_if_fail (HDY_IS_LEAFLET (self)); + + hdy_stackable_box_set_can_swipe_forward (HDY_GET_HELPER (self), can_swipe_forward); +} + +/** + * hdy_leaflet_get_can_swipe_forward + * @self: a #HdyLeaflet + * + * Returns whether the #HdyLeaflet allows swiping to the next child. + * + * Returns: %TRUE if forward swipe is enabled. + * + * Since: 0.0.12 + */ +gboolean +hdy_leaflet_get_can_swipe_forward (HdyLeaflet *self) +{ + g_return_val_if_fail (HDY_IS_LEAFLET (self), FALSE); + + return hdy_stackable_box_get_can_swipe_forward (HDY_GET_HELPER (self)); +} + +/** + * hdy_leaflet_get_adjacent_child + * @self: a #HdyLeaflet + * @direction: the direction + * + * Gets the previous or next child that doesn't have 'navigatable' child + * property set to %FALSE, or %NULL if it doesn't exist. This will be the same + * widget hdy_leaflet_navigate() will navigate to. + * + * Returns: (nullable) (transfer none): the previous or next child, or + * %NULL if it doesn't exist. + * + * Since: 1.0 + */ +GtkWidget * +hdy_leaflet_get_adjacent_child (HdyLeaflet *self, + HdyNavigationDirection direction) +{ + g_return_val_if_fail (HDY_IS_LEAFLET (self), NULL); + + return hdy_stackable_box_get_adjacent_child (HDY_GET_HELPER (self), direction); +} + +/** + * hdy_leaflet_navigate + * @self: a #HdyLeaflet + * @direction: the direction + * + * Switches to the previous or next child that doesn't have 'navigatable' child + * property set to %FALSE, similar to performing a swipe gesture to go in + * @direction. + * + * Returns: %TRUE if visible child was changed, %FALSE otherwise. + * + * Since: 1.0 + */ +gboolean +hdy_leaflet_navigate (HdyLeaflet *self, + HdyNavigationDirection direction) +{ + g_return_val_if_fail (HDY_IS_LEAFLET (self), FALSE); + + return hdy_stackable_box_navigate (HDY_GET_HELPER (self), direction); +} + +/** + * hdy_leaflet_get_child_by_name: + * @self: a #HdyLeaflet + * @name: the name of the child to find + * + * Finds the child of @self with the name given as the argument. Returns %NULL + * if there is no child with this name. + * + * Returns: (transfer none) (nullable): the requested child of @self + * + * Since: 1.0 + */ +GtkWidget * +hdy_leaflet_get_child_by_name (HdyLeaflet *self, + const gchar *name) +{ + g_return_val_if_fail (HDY_IS_LEAFLET (self), NULL); + + return hdy_stackable_box_get_child_by_name (HDY_GET_HELPER (self), name); +} + +/* This private method is prefixed by the call name because it will be a virtual + * method in GTK 4. + */ +static void +hdy_leaflet_measure (GtkWidget *widget, + GtkOrientation orientation, + int for_size, + int *minimum, + int *natural, + int *minimum_baseline, + int *natural_baseline) +{ + hdy_stackable_box_measure (HDY_GET_HELPER (widget), + orientation, for_size, + minimum, natural, + minimum_baseline, natural_baseline); +} + +static void +hdy_leaflet_get_preferred_width (GtkWidget *widget, + gint *minimum_width, + gint *natural_width) +{ + hdy_leaflet_measure (widget, GTK_ORIENTATION_HORIZONTAL, -1, + minimum_width, natural_width, NULL, NULL); +} + +static void +hdy_leaflet_get_preferred_height (GtkWidget *widget, + gint *minimum_height, + gint *natural_height) +{ + hdy_leaflet_measure (widget, GTK_ORIENTATION_VERTICAL, -1, + minimum_height, natural_height, NULL, NULL); +} + +static void +hdy_leaflet_get_preferred_width_for_height (GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width) +{ + hdy_leaflet_measure (widget, GTK_ORIENTATION_HORIZONTAL, height, + minimum_width, natural_width, NULL, NULL); +} + +static void +hdy_leaflet_get_preferred_height_for_width (GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height) +{ + hdy_leaflet_measure (widget, GTK_ORIENTATION_VERTICAL, width, + minimum_height, natural_height, NULL, NULL); +} + +static void +hdy_leaflet_size_allocate (GtkWidget *widget, + GtkAllocation *allocation) +{ + hdy_stackable_box_size_allocate (HDY_GET_HELPER (widget), allocation); +} + +static gboolean +hdy_leaflet_draw (GtkWidget *widget, + cairo_t *cr) +{ + return hdy_stackable_box_draw (HDY_GET_HELPER (widget), cr); +} + +static void +hdy_leaflet_direction_changed (GtkWidget *widget, + GtkTextDirection previous_direction) +{ + hdy_stackable_box_direction_changed (HDY_GET_HELPER (widget), previous_direction); +} + +static void +hdy_leaflet_add (GtkContainer *container, + GtkWidget *widget) +{ + hdy_stackable_box_add (HDY_GET_HELPER (container), widget); +} + +static void +hdy_leaflet_remove (GtkContainer *container, + GtkWidget *widget) +{ + hdy_stackable_box_remove (HDY_GET_HELPER (container), widget); +} + +static void +hdy_leaflet_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + hdy_stackable_box_forall (HDY_GET_HELPER (container), include_internals, callback, callback_data); +} + +static void +hdy_leaflet_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyLeaflet *self = HDY_LEAFLET (object); + + switch (prop_id) { + case PROP_FOLDED: + g_value_set_boolean (value, hdy_leaflet_get_folded (self)); + break; + case PROP_HHOMOGENEOUS_FOLDED: + g_value_set_boolean (value, hdy_leaflet_get_homogeneous (self, TRUE, GTK_ORIENTATION_HORIZONTAL)); + break; + case PROP_VHOMOGENEOUS_FOLDED: + g_value_set_boolean (value, hdy_leaflet_get_homogeneous (self, TRUE, GTK_ORIENTATION_VERTICAL)); + break; + case PROP_HHOMOGENEOUS_UNFOLDED: + g_value_set_boolean (value, hdy_leaflet_get_homogeneous (self, FALSE, GTK_ORIENTATION_HORIZONTAL)); + break; + case PROP_VHOMOGENEOUS_UNFOLDED: + g_value_set_boolean (value, hdy_leaflet_get_homogeneous (self, FALSE, GTK_ORIENTATION_VERTICAL)); + break; + case PROP_VISIBLE_CHILD: + g_value_set_object (value, hdy_leaflet_get_visible_child (self)); + break; + case PROP_VISIBLE_CHILD_NAME: + g_value_set_string (value, hdy_leaflet_get_visible_child_name (self)); + break; + case PROP_TRANSITION_TYPE: + g_value_set_enum (value, hdy_leaflet_get_transition_type (self)); + break; + case PROP_MODE_TRANSITION_DURATION: + g_value_set_uint (value, hdy_leaflet_get_mode_transition_duration (self)); + break; + case PROP_CHILD_TRANSITION_DURATION: + g_value_set_uint (value, hdy_leaflet_get_child_transition_duration (self)); + break; + case PROP_CHILD_TRANSITION_RUNNING: + g_value_set_boolean (value, hdy_leaflet_get_child_transition_running (self)); + break; + case PROP_INTERPOLATE_SIZE: + g_value_set_boolean (value, hdy_leaflet_get_interpolate_size (self)); + break; + case PROP_CAN_SWIPE_BACK: + g_value_set_boolean (value, hdy_leaflet_get_can_swipe_back (self)); + break; + case PROP_CAN_SWIPE_FORWARD: + g_value_set_boolean (value, hdy_leaflet_get_can_swipe_forward (self)); + break; + case PROP_ORIENTATION: + g_value_set_enum (value, hdy_stackable_box_get_orientation (HDY_GET_HELPER (self))); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_leaflet_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyLeaflet *self = HDY_LEAFLET (object); + + switch (prop_id) { + case PROP_HHOMOGENEOUS_FOLDED: + hdy_leaflet_set_homogeneous (self, TRUE, GTK_ORIENTATION_HORIZONTAL, g_value_get_boolean (value)); + break; + case PROP_VHOMOGENEOUS_FOLDED: + hdy_leaflet_set_homogeneous (self, TRUE, GTK_ORIENTATION_VERTICAL, g_value_get_boolean (value)); + break; + case PROP_HHOMOGENEOUS_UNFOLDED: + hdy_leaflet_set_homogeneous (self, FALSE, GTK_ORIENTATION_HORIZONTAL, g_value_get_boolean (value)); + break; + case PROP_VHOMOGENEOUS_UNFOLDED: + hdy_leaflet_set_homogeneous (self, FALSE, GTK_ORIENTATION_VERTICAL, g_value_get_boolean (value)); + break; + case PROP_VISIBLE_CHILD: + hdy_leaflet_set_visible_child (self, g_value_get_object (value)); + break; + case PROP_VISIBLE_CHILD_NAME: + hdy_leaflet_set_visible_child_name (self, g_value_get_string (value)); + break; + case PROP_TRANSITION_TYPE: + hdy_leaflet_set_transition_type (self, g_value_get_enum (value)); + break; + case PROP_MODE_TRANSITION_DURATION: + hdy_leaflet_set_mode_transition_duration (self, g_value_get_uint (value)); + break; + case PROP_CHILD_TRANSITION_DURATION: + hdy_leaflet_set_child_transition_duration (self, g_value_get_uint (value)); + break; + case PROP_INTERPOLATE_SIZE: + hdy_leaflet_set_interpolate_size (self, g_value_get_boolean (value)); + break; + case PROP_CAN_SWIPE_BACK: + hdy_leaflet_set_can_swipe_back (self, g_value_get_boolean (value)); + break; + case PROP_CAN_SWIPE_FORWARD: + hdy_leaflet_set_can_swipe_forward (self, g_value_get_boolean (value)); + break; + case PROP_ORIENTATION: + hdy_stackable_box_set_orientation (HDY_GET_HELPER (self), g_value_get_enum (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_leaflet_finalize (GObject *object) +{ + HdyLeaflet *self = HDY_LEAFLET (object); + HdyLeafletPrivate *priv = hdy_leaflet_get_instance_private (self); + + g_clear_object (&priv->box); + + G_OBJECT_CLASS (hdy_leaflet_parent_class)->finalize (object); +} + +static void +hdy_leaflet_get_child_property (GtkContainer *container, + GtkWidget *widget, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + switch (property_id) { + case CHILD_PROP_NAME: + g_value_set_string (value, hdy_stackable_box_get_child_name (HDY_GET_HELPER (container), widget)); + break; + + case CHILD_PROP_NAVIGATABLE: + g_value_set_boolean (value, hdy_stackable_box_get_child_navigatable (HDY_GET_HELPER (container), widget)); + break; + + default: + GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec); + break; + } +} + +static void +hdy_leaflet_set_child_property (GtkContainer *container, + GtkWidget *widget, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + switch (property_id) { + case CHILD_PROP_NAME: + hdy_stackable_box_set_child_name (HDY_GET_HELPER (container), widget, g_value_get_string (value)); + gtk_container_child_notify_by_pspec (container, widget, pspec); + break; + + case CHILD_PROP_NAVIGATABLE: + hdy_stackable_box_set_child_navigatable (HDY_GET_HELPER (container), widget, g_value_get_boolean (value)); + gtk_container_child_notify_by_pspec (container, widget, pspec); + break; + + default: + GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec); + break; + } +} + +static void +hdy_leaflet_realize (GtkWidget *widget) +{ + hdy_stackable_box_realize (HDY_GET_HELPER (widget)); +} + +static void +hdy_leaflet_unrealize (GtkWidget *widget) +{ + hdy_stackable_box_unrealize (HDY_GET_HELPER (widget)); +} + +static void +hdy_leaflet_map (GtkWidget *widget) +{ + hdy_stackable_box_map (HDY_GET_HELPER (widget)); +} + +static void +hdy_leaflet_unmap (GtkWidget *widget) +{ + hdy_stackable_box_unmap (HDY_GET_HELPER (widget)); +} + +static void +hdy_leaflet_switch_child (HdySwipeable *swipeable, + guint index, + gint64 duration) +{ + hdy_stackable_box_switch_child (HDY_GET_HELPER (swipeable), index, duration); +} + +static HdySwipeTracker * +hdy_leaflet_get_swipe_tracker (HdySwipeable *swipeable) +{ + return hdy_stackable_box_get_swipe_tracker (HDY_GET_HELPER (swipeable)); +} + +static gdouble +hdy_leaflet_get_distance (HdySwipeable *swipeable) +{ + return hdy_stackable_box_get_distance (HDY_GET_HELPER (swipeable)); +} + +static gdouble * +hdy_leaflet_get_snap_points (HdySwipeable *swipeable, + gint *n_snap_points) +{ + return hdy_stackable_box_get_snap_points (HDY_GET_HELPER (swipeable), n_snap_points); +} + +static gdouble +hdy_leaflet_get_progress (HdySwipeable *swipeable) +{ + return hdy_stackable_box_get_progress (HDY_GET_HELPER (swipeable)); +} + +static gdouble +hdy_leaflet_get_cancel_progress (HdySwipeable *swipeable) +{ + return hdy_stackable_box_get_cancel_progress (HDY_GET_HELPER (swipeable)); +} + +static void +hdy_leaflet_get_swipe_area (HdySwipeable *swipeable, + HdyNavigationDirection navigation_direction, + gboolean is_drag, + GdkRectangle *rect) +{ + hdy_stackable_box_get_swipe_area (HDY_GET_HELPER (swipeable), navigation_direction, is_drag, rect); +} + +static void +hdy_leaflet_class_init (HdyLeafletClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = (GtkWidgetClass*) klass; + GtkContainerClass *container_class = (GtkContainerClass*) klass; + + object_class->get_property = hdy_leaflet_get_property; + object_class->set_property = hdy_leaflet_set_property; + object_class->finalize = hdy_leaflet_finalize; + + widget_class->realize = hdy_leaflet_realize; + widget_class->unrealize = hdy_leaflet_unrealize; + widget_class->map = hdy_leaflet_map; + widget_class->unmap = hdy_leaflet_unmap; + widget_class->get_preferred_width = hdy_leaflet_get_preferred_width; + widget_class->get_preferred_height = hdy_leaflet_get_preferred_height; + widget_class->get_preferred_width_for_height = hdy_leaflet_get_preferred_width_for_height; + widget_class->get_preferred_height_for_width = hdy_leaflet_get_preferred_height_for_width; + widget_class->size_allocate = hdy_leaflet_size_allocate; + widget_class->draw = hdy_leaflet_draw; + widget_class->direction_changed = hdy_leaflet_direction_changed; + + container_class->add = hdy_leaflet_add; + container_class->remove = hdy_leaflet_remove; + container_class->forall = hdy_leaflet_forall; + container_class->set_child_property = hdy_leaflet_set_child_property; + container_class->get_child_property = hdy_leaflet_get_child_property; + gtk_container_class_handle_border_width (container_class); + + g_object_class_override_property (object_class, + PROP_ORIENTATION, + "orientation"); + + /** + * HdyLeaflet:folded: + * + * %TRUE if the leaflet is folded. + * + * The leaflet will be folded if the size allocated to it is smaller than the + * sum of the natural size of its children, it will be unfolded otherwise. + */ + props[PROP_FOLDED] = + g_param_spec_boolean ("folded", + _("Folded"), + _("Whether the widget is folded"), + FALSE, + G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyLeaflet:hhomogeneous_folded: + * + * %TRUE if the leaflet allocates the same width for all children when folded. + */ + props[PROP_HHOMOGENEOUS_FOLDED] = + g_param_spec_boolean ("hhomogeneous-folded", + _("Horizontally homogeneous folded"), + _("Horizontally homogeneous sizing when the leaflet is folded"), + TRUE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyLeaflet:vhomogeneous_folded: + * + * %TRUE if the leaflet allocates the same height for all children when folded. + */ + props[PROP_VHOMOGENEOUS_FOLDED] = + g_param_spec_boolean ("vhomogeneous-folded", + _("Vertically homogeneous folded"), + _("Vertically homogeneous sizing when the leaflet is folded"), + TRUE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyLeaflet:hhomogeneous_unfolded: + * + * %TRUE if the leaflet allocates the same width for all children when unfolded. + */ + props[PROP_HHOMOGENEOUS_UNFOLDED] = + g_param_spec_boolean ("hhomogeneous-unfolded", + _("Box horizontally homogeneous"), + _("Horizontally homogeneous sizing when the leaflet is unfolded"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyLeaflet:vhomogeneous_unfolded: + * + * %TRUE if the leaflet allocates the same height for all children when unfolded. + */ + props[PROP_VHOMOGENEOUS_UNFOLDED] = + g_param_spec_boolean ("vhomogeneous-unfolded", + _("Box vertically homogeneous"), + _("Vertically homogeneous sizing when the leaflet is unfolded"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_VISIBLE_CHILD] = + g_param_spec_object ("visible-child", + _("Visible child"), + _("The widget currently visible when the leaflet is folded"), + GTK_TYPE_WIDGET, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_VISIBLE_CHILD_NAME] = + g_param_spec_string ("visible-child-name", + _("Name of visible child"), + _("The name of the widget currently visible when the children are stacked"), + NULL, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyLeaflet:transition-type: + * + * The type of animation that will be used for transitions between modes and + * children. + * + * The transition type can be changed without problems at runtime, so it is + * possible to change the animation based on the mode or child that is about + * to become current. + * + * Since: 0.0.12 + */ + props[PROP_TRANSITION_TYPE] = + g_param_spec_enum ("transition-type", + _("Transition type"), + _("The type of animation used to transition between modes and children"), + HDY_TYPE_LEAFLET_TRANSITION_TYPE, HDY_LEAFLET_TRANSITION_TYPE_OVER, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_MODE_TRANSITION_DURATION] = + g_param_spec_uint ("mode-transition-duration", + _("Mode transition duration"), + _("The mode transition animation duration, in milliseconds"), + 0, G_MAXUINT, 250, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_CHILD_TRANSITION_DURATION] = + g_param_spec_uint ("child-transition-duration", + _("Child transition duration"), + _("The child transition animation duration, in milliseconds"), + 0, G_MAXUINT, 200, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_CHILD_TRANSITION_RUNNING] = + g_param_spec_boolean ("child-transition-running", + _("Child transition running"), + _("Whether or not the child transition is currently running"), + FALSE, + G_PARAM_READABLE); + + props[PROP_INTERPOLATE_SIZE] = + g_param_spec_boolean ("interpolate-size", + _("Interpolate size"), + _("Whether or not the size should smoothly change when changing between differently sized children"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyLeaflet:can-swipe-back: + * + * Whether or not the leaflet allows switching to the previous child that has + * 'navigatable' child property set to %TRUE via a swipe gesture. + * + * Since: 0.0.12 + */ + props[PROP_CAN_SWIPE_BACK] = + g_param_spec_boolean ("can-swipe-back", + _("Can swipe back"), + _("Whether or not swipe gesture can be used to switch to the previous child"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyLeaflet:can-swipe-forward: + * + * Whether or not the leaflet allows switching to the next child that has + * 'navigatable' child property set to %TRUE via a swipe gesture. + * + * Since: 0.0.12 + */ + props[PROP_CAN_SWIPE_FORWARD] = + g_param_spec_boolean ("can-swipe-forward", + _("Can swipe forward"), + _("Whether or not swipe gesture can be used to switch to the next child"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + child_props[CHILD_PROP_NAME] = + g_param_spec_string ("name", + _("Name"), + _("The name of the child page"), + NULL, + G_PARAM_READWRITE); + + /** + * HdyLeaflet:navigatable: + * + * Whether the child can be navigated to when folded. + * If %FALSE, the child will be ignored by hdy_leaflet_get_adjacent_child(), + * hdy_leaflet_navigate(), and swipe gestures. + * + * This can be used used to prevent switching to widgets like separators. + * + * Since: 1.0 + */ + child_props[CHILD_PROP_NAVIGATABLE] = + g_param_spec_boolean ("navigatable", + _("Navigatable"), + _("Whether the child can be navigated to"), + TRUE, + G_PARAM_READWRITE); + + gtk_container_class_install_child_properties (container_class, LAST_CHILD_PROP, child_props); + + gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_PANEL); + gtk_widget_class_set_css_name (widget_class, "leaflet"); +} + +GtkWidget * +hdy_leaflet_new (void) +{ + return g_object_new (HDY_TYPE_LEAFLET, NULL); +} + +#define NOTIFY(func, prop) \ +static void \ +func (HdyLeaflet *self) { \ + g_object_notify_by_pspec (G_OBJECT (self), props[prop]); \ +} + +NOTIFY (notify_folded_cb, PROP_FOLDED); +NOTIFY (notify_hhomogeneous_folded_cb, PROP_HHOMOGENEOUS_FOLDED); +NOTIFY (notify_vhomogeneous_folded_cb, PROP_VHOMOGENEOUS_FOLDED); +NOTIFY (notify_hhomogeneous_unfolded_cb, PROP_HHOMOGENEOUS_UNFOLDED); +NOTIFY (notify_vhomogeneous_unfolded_cb, PROP_VHOMOGENEOUS_UNFOLDED); +NOTIFY (notify_visible_child_cb, PROP_VISIBLE_CHILD); +NOTIFY (notify_visible_child_name_cb, PROP_VISIBLE_CHILD_NAME); +NOTIFY (notify_transition_type_cb, PROP_TRANSITION_TYPE); +NOTIFY (notify_mode_transition_duration_cb, PROP_MODE_TRANSITION_DURATION); +NOTIFY (notify_child_transition_duration_cb, PROP_CHILD_TRANSITION_DURATION); +NOTIFY (notify_child_transition_running_cb, PROP_CHILD_TRANSITION_RUNNING); +NOTIFY (notify_interpolate_size_cb, PROP_INTERPOLATE_SIZE); +NOTIFY (notify_can_swipe_back_cb, PROP_CAN_SWIPE_BACK); +NOTIFY (notify_can_swipe_forward_cb, PROP_CAN_SWIPE_FORWARD); + +static void +notify_orientation_cb (HdyLeaflet *self) +{ + g_object_notify (G_OBJECT (self), "orientation"); +} + +static void +hdy_leaflet_init (HdyLeaflet *self) +{ + HdyLeafletPrivate *priv = hdy_leaflet_get_instance_private (self); + + priv->box = hdy_stackable_box_new (GTK_CONTAINER (self), + GTK_CONTAINER_CLASS (hdy_leaflet_parent_class), + TRUE); + + g_signal_connect_object (priv->box, "notify::folded", G_CALLBACK (notify_folded_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::hhomogeneous-folded", G_CALLBACK (notify_hhomogeneous_folded_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::vhomogeneous-folded", G_CALLBACK (notify_vhomogeneous_folded_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::hhomogeneous-unfolded", G_CALLBACK (notify_hhomogeneous_unfolded_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::vhomogeneous-unfolded", G_CALLBACK (notify_vhomogeneous_unfolded_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::visible-child", G_CALLBACK (notify_visible_child_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::visible-child-name", G_CALLBACK (notify_visible_child_name_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::transition-type", G_CALLBACK (notify_transition_type_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::mode-transition-duration", G_CALLBACK (notify_mode_transition_duration_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::child-transition-duration", G_CALLBACK (notify_child_transition_duration_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::child-transition-running", G_CALLBACK (notify_child_transition_running_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::interpolate-size", G_CALLBACK (notify_interpolate_size_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::can-swipe-back", G_CALLBACK (notify_can_swipe_back_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::can-swipe-forward", G_CALLBACK (notify_can_swipe_forward_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (priv->box, "notify::orientation", G_CALLBACK (notify_orientation_cb), self, G_CONNECT_SWAPPED); +} + +static void +hdy_leaflet_swipeable_init (HdySwipeableInterface *iface) +{ + iface->switch_child = hdy_leaflet_switch_child; + iface->get_swipe_tracker = hdy_leaflet_get_swipe_tracker; + iface->get_distance = hdy_leaflet_get_distance; + iface->get_snap_points = hdy_leaflet_get_snap_points; + iface->get_progress = hdy_leaflet_get_progress; + iface->get_cancel_progress = hdy_leaflet_get_cancel_progress; + iface->get_swipe_area = hdy_leaflet_get_swipe_area; +} diff --git a/subprojects/libhandy/src/hdy-leaflet.h b/subprojects/libhandy/src/hdy-leaflet.h new file mode 100644 index 00000000..4d9324d7 --- /dev/null +++ b/subprojects/libhandy/src/hdy-leaflet.h @@ -0,0 +1,113 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include "hdy-enums.h" +#include "hdy-navigation-direction.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_LEAFLET (hdy_leaflet_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (HdyLeaflet, hdy_leaflet, HDY, LEAFLET, GtkContainer) + +typedef enum { + HDY_LEAFLET_TRANSITION_TYPE_OVER, + HDY_LEAFLET_TRANSITION_TYPE_UNDER, + HDY_LEAFLET_TRANSITION_TYPE_SLIDE, +} HdyLeafletTransitionType; + +/** + * HdyLeafletClass + * @parent_class: The parent class + */ +struct _HdyLeafletClass +{ + GtkContainerClass parent_class; + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_leaflet_new (void); +HDY_AVAILABLE_IN_ALL +gboolean hdy_leaflet_get_folded (HdyLeaflet *self); +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_leaflet_get_visible_child (HdyLeaflet *self); +HDY_AVAILABLE_IN_ALL +void hdy_leaflet_set_visible_child (HdyLeaflet *self, + GtkWidget *visible_child); +HDY_AVAILABLE_IN_ALL +const gchar *hdy_leaflet_get_visible_child_name (HdyLeaflet *self); +HDY_AVAILABLE_IN_ALL +void hdy_leaflet_set_visible_child_name (HdyLeaflet *self, + const gchar *name); +HDY_AVAILABLE_IN_ALL +gboolean hdy_leaflet_get_homogeneous (HdyLeaflet *self, + gboolean folded, + GtkOrientation orientation); +HDY_AVAILABLE_IN_ALL +void hdy_leaflet_set_homogeneous (HdyLeaflet *self, + gboolean folded, + GtkOrientation orientation, + gboolean homogeneous); +HDY_AVAILABLE_IN_ALL +HdyLeafletTransitionType hdy_leaflet_get_transition_type (HdyLeaflet *self); +HDY_AVAILABLE_IN_ALL +void hdy_leaflet_set_transition_type (HdyLeaflet *self, + HdyLeafletTransitionType transition); + +HDY_AVAILABLE_IN_ALL +guint hdy_leaflet_get_mode_transition_duration (HdyLeaflet *self); +HDY_AVAILABLE_IN_ALL +void hdy_leaflet_set_mode_transition_duration (HdyLeaflet *self, + guint duration); + +HDY_AVAILABLE_IN_ALL +guint hdy_leaflet_get_child_transition_duration (HdyLeaflet *self); +HDY_AVAILABLE_IN_ALL +void hdy_leaflet_set_child_transition_duration (HdyLeaflet *self, + guint duration); +HDY_AVAILABLE_IN_ALL +gboolean hdy_leaflet_get_child_transition_running (HdyLeaflet *self); +HDY_AVAILABLE_IN_ALL +gboolean hdy_leaflet_get_interpolate_size (HdyLeaflet *self); +HDY_AVAILABLE_IN_ALL +void hdy_leaflet_set_interpolate_size (HdyLeaflet *self, + gboolean interpolate_size); +HDY_AVAILABLE_IN_ALL +gboolean hdy_leaflet_get_can_swipe_back (HdyLeaflet *self); +HDY_AVAILABLE_IN_ALL +void hdy_leaflet_set_can_swipe_back (HdyLeaflet *self, + gboolean can_swipe_back); +HDY_AVAILABLE_IN_ALL +gboolean hdy_leaflet_get_can_swipe_forward (HdyLeaflet *self); +HDY_AVAILABLE_IN_ALL +void hdy_leaflet_set_can_swipe_forward (HdyLeaflet *self, + gboolean can_swipe_forward); + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_leaflet_get_adjacent_child (HdyLeaflet *self, + HdyNavigationDirection direction); +HDY_AVAILABLE_IN_ALL +gboolean hdy_leaflet_navigate (HdyLeaflet *self, + HdyNavigationDirection direction); + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_leaflet_get_child_by_name (HdyLeaflet *self, + const gchar *name); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-main-private.h b/subprojects/libhandy/src/hdy-main-private.h new file mode 100644 index 00000000..3ad6ad1d --- /dev/null +++ b/subprojects/libhandy/src/hdy-main-private.h @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-main.h" + +G_BEGIN_DECLS + +/* Initializes the public GObject types, which is needed to ensure they are + * discoverable, for example so they can easily be used with GtkBuilder. + * + * The function is implemented in hdy-public-types.c which is generated at + * compile time by gen-public-types.sh + */ +void hdy_init_public_types (void); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-main.c b/subprojects/libhandy/src/hdy-main.c new file mode 100644 index 00000000..6c5df7b0 --- /dev/null +++ b/subprojects/libhandy/src/hdy-main.c @@ -0,0 +1,201 @@ +/* + * Copyright (C) 2018-2020 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ +#include "config.h" +#include "hdy-main-private.h" +#include +#include +#include + +static gint hdy_initialized = FALSE; + +/** + * SECTION:hdy-main + * @short_description: Library initialization. + * @Title: hdy-main + * + * Before using the Handy library you should initialize it by calling the + * hdy_init() function. + * This makes sure translations, types, themes, and icons for the Handy library + * are set up properly. + */ + +/* The style provider priority to use for libhandy widgets custom styling. It is + * higher than themes and settings, allowing to override theme defaults, but + * lower than applications and user provided styles, so application developers + * can nonetheless apply custom styling on top of it. */ +#define HDY_STYLE_PROVIDER_PRIORITY_OVERRIDE (GTK_STYLE_PROVIDER_PRIORITY_SETTINGS + 1) + +#define HDY_THEMES_PATH "/sm/puri/handy/themes/" + +static inline gboolean +hdy_resource_exists (const gchar *resource_path) +{ + return g_resources_get_info (resource_path, G_RESOURCE_LOOKUP_FLAGS_NONE, NULL, NULL, NULL); +} + +static gchar * +hdy_themes_get_theme_name (gboolean *prefer_dark_theme) +{ + gchar *theme_name = NULL; + gchar *p; + + g_assert (prefer_dark_theme); + + theme_name = g_strdup (g_getenv ("GTK_THEME")); + + if (theme_name == NULL) { + g_object_get (gtk_settings_get_default (), + "gtk-theme-name", &theme_name, + "gtk-application-prefer-dark-theme", prefer_dark_theme, + NULL); + + return theme_name; + } + + /* Theme variants are specified with the syntax + * ":" e.g. "Adwaita:dark" */ + if (NULL != (p = strrchr (theme_name, ':'))) { + *p = '\0'; + p++; + *prefer_dark_theme = g_strcmp0 (p, "dark") == 0; + } + + return theme_name; +} + +static void +hdy_themes_update (GtkCssProvider *css_provider) +{ + g_autofree gchar *theme_name = NULL; + g_autofree gchar *resource_path = NULL; + gboolean prefer_dark_theme = FALSE; + + g_assert (GTK_IS_CSS_PROVIDER (css_provider)); + + theme_name = hdy_themes_get_theme_name (&prefer_dark_theme); + + /* First check with full path to theme+variant */ + resource_path = g_strdup_printf (HDY_THEMES_PATH"%s%s.css", + theme_name, prefer_dark_theme ? "-dark" : ""); + + if (!hdy_resource_exists (resource_path)) { + /* Now try without the theme variant */ + g_free (resource_path); + resource_path = g_strdup_printf (HDY_THEMES_PATH"%s.css", theme_name); + + if (!hdy_resource_exists (resource_path)) { + /* Now fallback to shared styling */ + g_free (resource_path); + resource_path = g_strdup (HDY_THEMES_PATH"shared.css"); + + g_assert (hdy_resource_exists (resource_path)); + } + } + + gtk_css_provider_load_from_resource (css_provider, resource_path); +} + +static void +load_fallback_style (void) +{ + g_autoptr (GtkCssProvider) css_provider = NULL; + + css_provider = gtk_css_provider_new (); + gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), + GTK_STYLE_PROVIDER (css_provider), + GTK_STYLE_PROVIDER_PRIORITY_FALLBACK); + + gtk_css_provider_load_from_resource (css_provider, HDY_THEMES_PATH"fallback.css"); +} + +/** + * hdy_style_init: + * + * Initializes the style classes. This must be called once GTK has been + * initialized. + * + * Since: 1.0 + */ +static void +hdy_style_init (void) +{ + static volatile gsize guard = 0; + g_autoptr (GtkCssProvider) css_provider = NULL; + GtkSettings *settings; + + if (!g_once_init_enter (&guard)) + return; + + css_provider = gtk_css_provider_new (); + gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), + GTK_STYLE_PROVIDER (css_provider), + HDY_STYLE_PROVIDER_PRIORITY_OVERRIDE); + + settings = gtk_settings_get_default (); + g_signal_connect_swapped (settings, + "notify::gtk-theme-name", + G_CALLBACK (hdy_themes_update), + css_provider); + g_signal_connect_swapped (settings, + "notify::gtk-application-prefer-dark-theme", + G_CALLBACK (hdy_themes_update), + css_provider); + + hdy_themes_update (css_provider); + + load_fallback_style (); + + g_once_init_leave (&guard, 1); +} + +/** + * hdy_icons_init: + * + * Initializes the embedded icons. This must be called once GTK has been + * initialized. + * + * Since: 1.0 + */ +static void +hdy_icons_init (void) +{ + static volatile gsize guard = 0; + + if (!g_once_init_enter (&guard)) + return; + + gtk_icon_theme_add_resource_path (gtk_icon_theme_get_default (), + "/sm/puri/handy/icons"); + + g_once_init_leave (&guard, 1); +} + +/** + * hdy_init: + * + * Call this function just after initializing GTK, if you are using + * #GtkApplication it means it must be called when the #GApplication::startup + * signal is emitted. If libhandy has already been initialized, the function + * will simply return. + * + * This makes sure translations, types, themes, and icons for the Handy library + * are set up properly. + */ +void +hdy_init (void) +{ + if (hdy_initialized) + return; + + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); + hdy_init_public_types (); + + hdy_style_init (); + hdy_icons_init (); + + hdy_initialized = TRUE; +} diff --git a/subprojects/libhandy/src/hdy-main.h b/subprojects/libhandy/src/hdy-main.h new file mode 100644 index 00000000..f960a692 --- /dev/null +++ b/subprojects/libhandy/src/hdy-main.h @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2020 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +HDY_AVAILABLE_IN_ALL +void hdy_init (void); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-navigation-direction.c b/subprojects/libhandy/src/hdy-navigation-direction.c new file mode 100644 index 00000000..b4a2d239 --- /dev/null +++ b/subprojects/libhandy/src/hdy-navigation-direction.c @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include "hdy-navigation-direction.h" + +/** + * SECTION:hdy-navigation-direction + * @short_description: Swipe navigation directions. + * @title: HdyNavigationDirection + * @See_also: #HdyDeck, #HdyLeaflet + */ + +/** + * HdyNavigationDirection: + * @HDY_NAVIGATION_DIRECTION_BACK: Corresponds to start or top, depending on orientation and text direction + * @HDY_NAVIGATION_DIRECTION_FORWARD: Corresponds to end or bottom, depending on orientation and text direction + * + * Represents direction of a swipe navigation gesture in #HdyDeck and + * #HdyLeaflet. + * + * Since: 1.0 + */ diff --git a/subprojects/libhandy/src/hdy-navigation-direction.h b/subprojects/libhandy/src/hdy-navigation-direction.h new file mode 100644 index 00000000..ea63ef51 --- /dev/null +++ b/subprojects/libhandy/src/hdy-navigation-direction.h @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include "hdy-enums.h" + +G_BEGIN_DECLS + +typedef enum { + HDY_NAVIGATION_DIRECTION_BACK, + HDY_NAVIGATION_DIRECTION_FORWARD, +} HdyNavigationDirection; + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-nothing-private.h b/subprojects/libhandy/src/hdy-nothing-private.h new file mode 100644 index 00000000..19d35c9d --- /dev/null +++ b/subprojects/libhandy/src/hdy-nothing-private.h @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_NOTHING (hdy_nothing_get_type()) + +G_DECLARE_FINAL_TYPE (HdyNothing, hdy_nothing, HDY, NOTHING, GtkWidget) + +GtkWidget *hdy_nothing_new (void); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-nothing.c b/subprojects/libhandy/src/hdy-nothing.c new file mode 100644 index 00000000..036537aa --- /dev/null +++ b/subprojects/libhandy/src/hdy-nothing.c @@ -0,0 +1,47 @@ +#include "hdy-nothing-private.h" + +/** + * PRIVATE:hdy-nothing + * @short_description: A helper object for #HdyWindow and #HdyApplicationWindow + * @title: HdyNothing + * @See_also: #HdyApplicationWindow, #HdyWindow, #HdyWindowMixin + * @stability: Private + * + * The HdyNothing widget does nothing. It's used as the titlebar for + * #HdyWindow and #HdyApplicationWindow. + * + * Since: 1.0 + */ + +struct _HdyNothing +{ + GtkWidget parent_instance; +}; + +G_DEFINE_TYPE (HdyNothing, hdy_nothing, GTK_TYPE_WIDGET) + +static void +hdy_nothing_class_init (HdyNothingClass *klass) +{ +} + +static void +hdy_nothing_init (HdyNothing *self) +{ +} + +/** + * hdy_nothing_new: + * + * Creates a new #HdyNothing. + * + * Returns: (transfer full): a newly created #HdyNothing + * + * Since: 1.0 + */ +GtkWidget * +hdy_nothing_new (void) +{ + return g_object_new (HDY_TYPE_NOTHING, NULL); +} + diff --git a/subprojects/libhandy/src/hdy-preferences-group-private.h b/subprojects/libhandy/src/hdy-preferences-group-private.h new file mode 100644 index 00000000..731e2fa0 --- /dev/null +++ b/subprojects/libhandy/src/hdy-preferences-group-private.h @@ -0,0 +1,16 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#include "hdy-preferences-group.h" + +G_BEGIN_DECLS + +void hdy_preferences_group_add_preferences_to_model (HdyPreferencesGroup *self, + GListStore *model); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-preferences-group.c b/subprojects/libhandy/src/hdy-preferences-group.c new file mode 100644 index 00000000..80006274 --- /dev/null +++ b/subprojects/libhandy/src/hdy-preferences-group.c @@ -0,0 +1,449 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-preferences-group-private.h" + +#include "hdy-preferences-row.h" + +/** + * SECTION:hdy-preferences-group + * @short_description: A group gathering preferences rows. + * @Title: HdyPreferencesGroup + * + * A #HdyPreferencesGroup represents a group or tightly related preferences, + * which in turn are represented by HdyPreferencesRow. + * + * To summarize the role of the preferences it gathers, a group can have both a + * title and a description. The title will be used by #HdyPreferencesWindow to + * let the user look for a preference. + * + * # CSS nodes + * + * #HdyPreferencesGroup has a single CSS node with name preferencesgroup. + * + * Since: 0.0.10 + */ + +typedef struct +{ + GtkBox *box; + GtkLabel *description; + GtkListBox *listbox; + GtkBox *listbox_box; + GtkLabel *title; +} HdyPreferencesGroupPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (HdyPreferencesGroup, hdy_preferences_group, GTK_TYPE_BIN) + +enum { + PROP_0, + PROP_DESCRIPTION, + PROP_TITLE, + LAST_PROP, +}; + +static GParamSpec *props[LAST_PROP]; + +static void +update_title_visibility (HdyPreferencesGroup *self) +{ + HdyPreferencesGroupPrivate *priv = hdy_preferences_group_get_instance_private (self); + + /* Show the listbox only if it has children to avoid having showing the + * listbox as an empty frame, parasiting the look of non-GtkListBoxRow + * children. + */ + gtk_widget_set_visible (GTK_WIDGET (priv->title), + gtk_label_get_text (priv->title) != NULL && + g_strcmp0 (gtk_label_get_text (priv->title), "") != 0); +} + +static void +update_description_visibility (HdyPreferencesGroup *self) +{ + HdyPreferencesGroupPrivate *priv = hdy_preferences_group_get_instance_private (self); + + gtk_widget_set_visible (GTK_WIDGET (priv->description), + gtk_label_get_text (priv->description) != NULL && + g_strcmp0 (gtk_label_get_text (priv->description), "") != 0); +} + +static void +update_listbox_visibility (HdyPreferencesGroup *self) +{ + HdyPreferencesGroupPrivate *priv = hdy_preferences_group_get_instance_private (self); + g_autoptr(GList) children = NULL; + + /* We must wait until listob has been built and added. */ + if (priv->listbox == NULL) + return; + + children = gtk_container_get_children (GTK_CONTAINER (priv->listbox)); + + gtk_widget_set_visible (GTK_WIDGET (priv->listbox), children != NULL); +} + +typedef struct { + HdyPreferencesGroup *group; + GtkCallback callback; + gpointer callback_data; +} ForallData; + +static void +for_non_internal_child (GtkWidget *widget, + gpointer callback_data) +{ + ForallData *data = callback_data; + HdyPreferencesGroupPrivate *priv = hdy_preferences_group_get_instance_private (data->group); + + if (widget != (GtkWidget *) priv->listbox) + data->callback (widget, data->callback_data); +} + +static void +hdy_preferences_group_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + HdyPreferencesGroup *self = HDY_PREFERENCES_GROUP (container); + HdyPreferencesGroupPrivate *priv = hdy_preferences_group_get_instance_private (self); + ForallData data; + + if (include_internals) { + GTK_CONTAINER_CLASS (hdy_preferences_group_parent_class)->forall (GTK_CONTAINER (self), include_internals, callback, callback_data); + + return; + } + + data.group = self; + data.callback = callback; + data.callback_data = callback_data; + + if (priv->listbox) + GTK_CONTAINER_GET_CLASS (priv->listbox)->forall (GTK_CONTAINER (priv->listbox), include_internals, callback, callback_data); + if (priv->listbox_box) + GTK_CONTAINER_GET_CLASS (priv->listbox_box)->forall (GTK_CONTAINER (priv->listbox_box), include_internals, for_non_internal_child, &data); +} + +static void +hdy_preferences_group_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyPreferencesGroup *self = HDY_PREFERENCES_GROUP (object); + + switch (prop_id) { + case PROP_DESCRIPTION: + g_value_set_string (value, hdy_preferences_group_get_description (self)); + break; + case PROP_TITLE: + g_value_set_string (value, hdy_preferences_group_get_title (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_preferences_group_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyPreferencesGroup *self = HDY_PREFERENCES_GROUP (object); + + switch (prop_id) { + case PROP_DESCRIPTION: + hdy_preferences_group_set_description (self, g_value_get_string (value)); + break; + case PROP_TITLE: + hdy_preferences_group_set_title (self, g_value_get_string (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_preferences_group_dispose (GObject *object) +{ + HdyPreferencesGroup *self = HDY_PREFERENCES_GROUP (object); + HdyPreferencesGroupPrivate *priv = hdy_preferences_group_get_instance_private (self); + + /* + * Since we overload forall(), the inherited destroy() won't work as normal. + * Remove internal widgets ourself. + */ + g_clear_pointer ((GtkWidget **) &priv->description, gtk_widget_destroy); + g_clear_pointer ((GtkWidget **) &priv->listbox, gtk_widget_destroy); + g_clear_pointer ((GtkWidget **) &priv->listbox_box, gtk_widget_destroy); + g_clear_pointer ((GtkWidget **) &priv->title, gtk_widget_destroy); + + G_OBJECT_CLASS (hdy_preferences_group_parent_class)->dispose (object); +} + +static void +hdy_preferences_group_add (GtkContainer *container, + GtkWidget *child) +{ + HdyPreferencesGroup *self = HDY_PREFERENCES_GROUP (container); + HdyPreferencesGroupPrivate *priv = hdy_preferences_group_get_instance_private (self); + + if (priv->title == NULL || priv->description == NULL || priv->listbox_box == NULL) { + GTK_CONTAINER_CLASS (hdy_preferences_group_parent_class)->add (container, child); + + return; + } + + if (HDY_IS_PREFERENCES_ROW (child)) + gtk_container_add (GTK_CONTAINER (priv->listbox), child); + else + gtk_container_add (GTK_CONTAINER (priv->listbox_box), child); +} + +static void +hdy_preferences_group_remove (GtkContainer *container, + GtkWidget *child) +{ + HdyPreferencesGroup *self = HDY_PREFERENCES_GROUP (container); + HdyPreferencesGroupPrivate *priv = hdy_preferences_group_get_instance_private (self); + + if (child == GTK_WIDGET (priv->box)) + GTK_CONTAINER_CLASS (hdy_preferences_group_parent_class)->remove (container, child); + else if (HDY_IS_PREFERENCES_ROW (child)) + gtk_container_remove (GTK_CONTAINER (priv->listbox), child); + else if (child != GTK_WIDGET (priv->listbox)) + gtk_container_remove (GTK_CONTAINER (priv->listbox_box), child); +} + +static void +hdy_preferences_group_class_init (HdyPreferencesGroupClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); + + object_class->get_property = hdy_preferences_group_get_property; + object_class->set_property = hdy_preferences_group_set_property; + object_class->dispose = hdy_preferences_group_dispose; + + container_class->add = hdy_preferences_group_add; + container_class->remove = hdy_preferences_group_remove; + container_class->forall = hdy_preferences_group_forall; + + /** + * HdyPreferencesGroup:description: + * + * The description for this group of preferences. + * + * Since: 0.0.10 + */ + props[PROP_DESCRIPTION] = + g_param_spec_string ("description", + _("Description"), + _("Description"), + "", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + /** + * HdyPreferencesGroup:title: + * + * The title for this group of preferences. + * + * Since: 0.0.10 + */ + props[PROP_TITLE] = + g_param_spec_string ("title", + _("Title"), + _("Title"), + "", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + gtk_widget_class_set_css_name (widget_class, "preferencesgroup"); + gtk_widget_class_set_template_from_resource (widget_class, + "/sm/puri/handy/ui/hdy-preferences-group.ui"); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesGroup, box); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesGroup, description); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesGroup, listbox); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesGroup, listbox_box); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesGroup, title); + gtk_widget_class_bind_template_callback (widget_class, update_listbox_visibility); +} + +static void +hdy_preferences_group_init (HdyPreferencesGroup *self) +{ + gtk_widget_init_template (GTK_WIDGET (self)); + + update_description_visibility (self); + update_title_visibility (self); + update_listbox_visibility (self); +} + +/** + * hdy_preferences_group_new: + * + * Creates a new #HdyPreferencesGroup. + * + * Returns: a new #HdyPreferencesGroup + * + * Since: 0.0.10 + */ +GtkWidget * +hdy_preferences_group_new (void) +{ + return g_object_new (HDY_TYPE_PREFERENCES_GROUP, NULL); +} + +/** + * hdy_preferences_group_get_title: + * @self: a #HdyPreferencesGroup + * + * Gets the title of @self. + * + * Returns: the title of @self. + * + * Since: 0.0.10 + */ +const gchar * +hdy_preferences_group_get_title (HdyPreferencesGroup *self) +{ + HdyPreferencesGroupPrivate *priv; + + g_return_val_if_fail (HDY_IS_PREFERENCES_GROUP (self), NULL); + + priv = hdy_preferences_group_get_instance_private (self); + + return gtk_label_get_text (priv->title); +} + +/** + * hdy_preferences_group_set_title: + * @self: a #HdyPreferencesGroup + * @title: the title + * + * Sets the title for @self. + * + * Since: 0.0.10 + */ +void +hdy_preferences_group_set_title (HdyPreferencesGroup *self, + const gchar *title) +{ + HdyPreferencesGroupPrivate *priv; + + g_return_if_fail (HDY_IS_PREFERENCES_GROUP (self)); + + priv = hdy_preferences_group_get_instance_private (self); + + if (g_strcmp0 (gtk_label_get_label (priv->title), title) == 0) + return; + + gtk_label_set_label (priv->title, title); + update_title_visibility (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TITLE]); +} + +/** + * hdy_preferences_group_get_description: + * @self: a #HdyPreferencesGroup + * + * + * Returns: the description of @self. + * + * Since: 0.0.10 + */ +const gchar * +hdy_preferences_group_get_description (HdyPreferencesGroup *self) +{ + HdyPreferencesGroupPrivate *priv; + + g_return_val_if_fail (HDY_IS_PREFERENCES_GROUP (self), NULL); + + priv = hdy_preferences_group_get_instance_private (self); + + return gtk_label_get_text (priv->description); +} + +/** + * hdy_preferences_group_set_description: + * @self: a #HdyPreferencesGroup + * @description: the description + * + * Sets the description for @self. + * + * Since: 0.0.10 + */ +void +hdy_preferences_group_set_description (HdyPreferencesGroup *self, + const gchar *description) +{ + HdyPreferencesGroupPrivate *priv; + + g_return_if_fail (HDY_IS_PREFERENCES_GROUP (self)); + + priv = hdy_preferences_group_get_instance_private (self); + + if (g_strcmp0 (gtk_label_get_label (priv->description), description) == 0) + return; + + gtk_label_set_label (priv->description, description); + update_description_visibility (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_DESCRIPTION]); +} + +static void +add_preferences_to_model (HdyPreferencesRow *row, + GListStore *model) +{ + const gchar *title; + + g_assert (HDY_IS_PREFERENCES_ROW (row)); + g_assert (G_IS_LIST_STORE (model)); + + if (!gtk_widget_get_visible (GTK_WIDGET (row))) + return; + + title = hdy_preferences_row_get_title (row); + + if (!title || !*title) + return; + + g_list_store_append (model, row); +} + +/** + * hdy_preferences_group_add_preferences_to_model: (skip) + * @self: a #HdyPreferencesGroup + * @model: the model + * + * Add preferences from @self to the model. + * + * Since: 0.0.10 + */ +void +hdy_preferences_group_add_preferences_to_model (HdyPreferencesGroup *self, + GListStore *model) +{ + HdyPreferencesGroupPrivate *priv = hdy_preferences_group_get_instance_private (self); + + g_return_if_fail (HDY_IS_PREFERENCES_GROUP (self)); + g_return_if_fail (G_IS_LIST_STORE (model)); + + if (!gtk_widget_get_visible (GTK_WIDGET (self))) + return; + + gtk_container_foreach (GTK_CONTAINER (priv->listbox), (GtkCallback) add_preferences_to_model, model); +} diff --git a/subprojects/libhandy/src/hdy-preferences-group.h b/subprojects/libhandy/src/hdy-preferences-group.h new file mode 100644 index 00000000..2a7952cc --- /dev/null +++ b/subprojects/libhandy/src/hdy-preferences-group.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_PREFERENCES_GROUP (hdy_preferences_group_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (HdyPreferencesGroup, hdy_preferences_group, HDY, PREFERENCES_GROUP, GtkBin) + +/** + * HdyPreferencesGroupClass + * @parent_class: The parent class + */ +struct _HdyPreferencesGroupClass +{ + GtkBinClass parent_class; + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_preferences_group_new (void); + +HDY_AVAILABLE_IN_ALL +const gchar *hdy_preferences_group_get_title (HdyPreferencesGroup *self); +HDY_AVAILABLE_IN_ALL +void hdy_preferences_group_set_title (HdyPreferencesGroup *self, + const gchar *title); + +HDY_AVAILABLE_IN_ALL +const gchar *hdy_preferences_group_get_description (HdyPreferencesGroup *self); +HDY_AVAILABLE_IN_ALL +void hdy_preferences_group_set_description (HdyPreferencesGroup *self, + const gchar *description); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-preferences-group.ui b/subprojects/libhandy/src/hdy-preferences-group.ui new file mode 100644 index 00000000..60a5ae1c --- /dev/null +++ b/subprojects/libhandy/src/hdy-preferences-group.ui @@ -0,0 +1,55 @@ + + + + + diff --git a/subprojects/libhandy/src/hdy-preferences-page-private.h b/subprojects/libhandy/src/hdy-preferences-page-private.h new file mode 100644 index 00000000..a93ccfd9 --- /dev/null +++ b/subprojects/libhandy/src/hdy-preferences-page-private.h @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#include "hdy-preferences-page.h" + +G_BEGIN_DECLS + +GtkAdjustment *hdy_preferences_page_get_vadjustment (HdyPreferencesPage *self); + +void hdy_preferences_page_add_preferences_to_model (HdyPreferencesPage *self, + GListStore *model); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-preferences-page.c b/subprojects/libhandy/src/hdy-preferences-page.c new file mode 100644 index 00000000..51fdc0dc --- /dev/null +++ b/subprojects/libhandy/src/hdy-preferences-page.c @@ -0,0 +1,365 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-preferences-page-private.h" + +#include "hdy-preferences-group-private.h" + +/** + * SECTION:hdy-preferences-page + * @short_description: A page from the preferences window. + * @Title: HdyPreferencesPage + * + * The #HdyPreferencesPage widget gathers preferences groups into a single page + * of a preferences window. + * + * # CSS nodes + * + * #HdyPreferencesPage has a single CSS node with name preferencespage. + * + * Since: 0.0.10 + */ + +typedef struct +{ + GtkBox *box; + GtkScrolledWindow *scrolled_window; + + gchar *icon_name; + gchar *title; +} HdyPreferencesPagePrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (HdyPreferencesPage, hdy_preferences_page, GTK_TYPE_BIN) + +enum { + PROP_0, + PROP_ICON_NAME, + PROP_TITLE, + LAST_PROP, +}; + +static GParamSpec *props[LAST_PROP]; + +typedef struct { + HdyPreferencesPage *preferences_page; + GtkCallback callback; + gpointer data; +} CallbackData; + +static void +hdy_preferences_page_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyPreferencesPage *self = HDY_PREFERENCES_PAGE (object); + + switch (prop_id) { + case PROP_ICON_NAME: + g_value_set_string (value, hdy_preferences_page_get_icon_name (self)); + break; + case PROP_TITLE: + g_value_set_string (value, hdy_preferences_page_get_title (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_preferences_page_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyPreferencesPage *self = HDY_PREFERENCES_PAGE (object); + + switch (prop_id) { + case PROP_ICON_NAME: + hdy_preferences_page_set_icon_name (self, g_value_get_string (value)); + break; + case PROP_TITLE: + hdy_preferences_page_set_title (self, g_value_get_string (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_preferences_page_finalize (GObject *object) +{ + HdyPreferencesPage *self = HDY_PREFERENCES_PAGE (object); + HdyPreferencesPagePrivate *priv = hdy_preferences_page_get_instance_private (self); + + g_clear_pointer (&priv->icon_name, g_free); + g_clear_pointer (&priv->title, g_free); + + G_OBJECT_CLASS (hdy_preferences_page_parent_class)->finalize (object); +} + +static void +hdy_preferences_page_add (GtkContainer *container, + GtkWidget *child) +{ + HdyPreferencesPage *self = HDY_PREFERENCES_PAGE (container); + HdyPreferencesPagePrivate *priv = hdy_preferences_page_get_instance_private (self); + + if (priv->scrolled_window == NULL) + GTK_CONTAINER_CLASS (hdy_preferences_page_parent_class)->add (container, child); + else if (HDY_IS_PREFERENCES_GROUP (child)) + gtk_container_add (GTK_CONTAINER (priv->box), child); + else + g_warning ("Can't add children of type %s to %s", + G_OBJECT_TYPE_NAME (child), + G_OBJECT_TYPE_NAME (container)); +} + +static void +hdy_preferences_page_remove (GtkContainer *container, + GtkWidget *child) +{ + HdyPreferencesPage *self = HDY_PREFERENCES_PAGE (container); + HdyPreferencesPagePrivate *priv = hdy_preferences_page_get_instance_private (self); + + if (child == GTK_WIDGET (priv->scrolled_window)) + GTK_CONTAINER_CLASS (hdy_preferences_page_parent_class)->remove (container, child); + else + gtk_container_remove (GTK_CONTAINER (priv->box), child); +} + +static void +hdy_preferences_page_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + HdyPreferencesPage *self = HDY_PREFERENCES_PAGE (container); + HdyPreferencesPagePrivate *priv = hdy_preferences_page_get_instance_private (self); + + if (include_internals) + GTK_CONTAINER_CLASS (hdy_preferences_page_parent_class)->forall (container, + include_internals, + callback, + callback_data); + else if (priv->box) + gtk_container_foreach (GTK_CONTAINER (priv->box), callback, callback_data); +} + +static void +hdy_preferences_page_class_init (HdyPreferencesPageClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); + + object_class->get_property = hdy_preferences_page_get_property; + object_class->set_property = hdy_preferences_page_set_property; + object_class->finalize = hdy_preferences_page_finalize; + + container_class->add = hdy_preferences_page_add; + container_class->remove = hdy_preferences_page_remove; + container_class->forall = hdy_preferences_page_forall; + + /** + * HdyPreferencesPage:icon-name: + * + * The icon name for this page of preferences. + * + * Since: 0.0.10 + */ + props[PROP_ICON_NAME] = + g_param_spec_string ("icon-name", + _("Icon name"), + _("Icon name"), + "", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyPreferencesPage:title: + * + * The title for this page of preferences. + * + * Since: 0.0.10 + */ + props[PROP_TITLE] = + g_param_spec_string ("title", + _("Title"), + _("Title"), + "", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + gtk_widget_class_set_template_from_resource (widget_class, + "/sm/puri/handy/ui/hdy-preferences-page.ui"); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesPage, box); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesPage, scrolled_window); + + gtk_widget_class_set_css_name (widget_class, "preferencespage"); +} + +static void +hdy_preferences_page_init (HdyPreferencesPage *self) +{ + gtk_widget_init_template (GTK_WIDGET (self)); +} + +/** + * hdy_preferences_page_new: + * + * Creates a new #HdyPreferencesPage. + * + * Returns: a new #HdyPreferencesPage + * + * Since: 0.0.10 + */ +GtkWidget * +hdy_preferences_page_new (void) +{ + return g_object_new (HDY_TYPE_PREFERENCES_PAGE, NULL); +} + +/** + * hdy_preferences_page_get_icon_name: + * @self: a #HdyPreferencesPage + * + * Gets the icon name for @self, or %NULL. + * + * Returns: (transfer none) (nullable): the icon name for @self, or %NULL. + * + * Since: 0.0.10 + */ +const gchar * +hdy_preferences_page_get_icon_name (HdyPreferencesPage *self) +{ + HdyPreferencesPagePrivate *priv; + + g_return_val_if_fail (HDY_IS_PREFERENCES_PAGE (self), NULL); + + priv = hdy_preferences_page_get_instance_private (self); + + return priv->icon_name; +} + +/** + * hdy_preferences_page_set_icon_name: + * @self: a #HdyPreferencesPage + * @icon_name: (nullable): the icon name, or %NULL + * + * Sets the icon name for @self. + * + * Since: 0.0.10 + */ +void +hdy_preferences_page_set_icon_name (HdyPreferencesPage *self, + const gchar *icon_name) +{ + HdyPreferencesPagePrivate *priv; + + g_return_if_fail (HDY_IS_PREFERENCES_PAGE (self)); + + priv = hdy_preferences_page_get_instance_private (self); + + if (g_strcmp0 (priv->icon_name, icon_name) == 0) + return; + + g_clear_pointer (&priv->icon_name, g_free); + priv->icon_name = g_strdup (icon_name); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ICON_NAME]); +} + +/** + * hdy_preferences_page_get_title: + * @self: a #HdyPreferencesPage + * + * Gets the title of @self, or %NULL. + * + * Returns: (transfer none) (nullable): the title of the @self, or %NULL. + * + * Since: 0.0.10 + */ +const gchar * +hdy_preferences_page_get_title (HdyPreferencesPage *self) +{ + HdyPreferencesPagePrivate *priv; + + g_return_val_if_fail (HDY_IS_PREFERENCES_PAGE (self), NULL); + + priv = hdy_preferences_page_get_instance_private (self); + + return priv->title; +} + +/** + * hdy_preferences_page_set_title: + * @self: a #HdyPreferencesPage + * @title: (nullable): the title of the page, or %NULL + * + * Sets the title of @self. + * + * Since: 0.0.10 + */ +void +hdy_preferences_page_set_title (HdyPreferencesPage *self, + const gchar *title) +{ + HdyPreferencesPagePrivate *priv; + + g_return_if_fail (HDY_IS_PREFERENCES_PAGE (self)); + + priv = hdy_preferences_page_get_instance_private (self); + + if (g_strcmp0 (priv->title, title) == 0) + return; + + g_clear_pointer (&priv->title, g_free); + priv->title = g_strdup (title); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TITLE]); +} + +GtkAdjustment * +hdy_preferences_page_get_vadjustment (HdyPreferencesPage *self) +{ + HdyPreferencesPagePrivate *priv; + + g_return_val_if_fail (HDY_IS_PREFERENCES_PAGE (self), NULL); + + priv = hdy_preferences_page_get_instance_private (self); + + return gtk_scrolled_window_get_vadjustment (priv->scrolled_window); +} + +/** + * hdy_preferences_page_add_preferences_to_model: (skip) + * @self: a #HdyPreferencesPage + * @model: the model + * + * Add preferences from @self to the model. + * + * Since: 0.0.10 + */ +void +hdy_preferences_page_add_preferences_to_model (HdyPreferencesPage *self, + GListStore *model) +{ + HdyPreferencesPagePrivate *priv; + + g_return_if_fail (HDY_IS_PREFERENCES_PAGE (self)); + g_return_if_fail (G_IS_LIST_STORE (model)); + + if (!gtk_widget_get_visible (GTK_WIDGET (self))) + return; + + priv = hdy_preferences_page_get_instance_private (self); + + gtk_container_foreach (GTK_CONTAINER (priv->box), (GtkCallback) hdy_preferences_group_add_preferences_to_model, model); +} diff --git a/subprojects/libhandy/src/hdy-preferences-page.h b/subprojects/libhandy/src/hdy-preferences-page.h new file mode 100644 index 00000000..158c18c6 --- /dev/null +++ b/subprojects/libhandy/src/hdy-preferences-page.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_PREFERENCES_PAGE (hdy_preferences_page_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (HdyPreferencesPage, hdy_preferences_page, HDY, PREFERENCES_PAGE, GtkBin) + +/** + * HdyPreferencesPageClass + * @parent_class: The parent class + */ +struct _HdyPreferencesPageClass +{ + GtkBinClass parent_class; + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_preferences_page_new (void); + +HDY_AVAILABLE_IN_ALL +const gchar *hdy_preferences_page_get_icon_name (HdyPreferencesPage *self); +HDY_AVAILABLE_IN_ALL +void hdy_preferences_page_set_icon_name (HdyPreferencesPage *self, + const gchar *icon_name); + +HDY_AVAILABLE_IN_ALL +const gchar *hdy_preferences_page_get_title (HdyPreferencesPage *self); +HDY_AVAILABLE_IN_ALL +void hdy_preferences_page_set_title (HdyPreferencesPage *self, + const gchar *title); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-preferences-page.ui b/subprojects/libhandy/src/hdy-preferences-page.ui new file mode 100644 index 00000000..809dee7c --- /dev/null +++ b/subprojects/libhandy/src/hdy-preferences-page.ui @@ -0,0 +1,34 @@ + + + + + diff --git a/subprojects/libhandy/src/hdy-preferences-row.c b/subprojects/libhandy/src/hdy-preferences-row.c new file mode 100644 index 00000000..9327509d --- /dev/null +++ b/subprojects/libhandy/src/hdy-preferences-row.c @@ -0,0 +1,259 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-preferences-row.h" + +/** + * SECTION:hdy-preferences-row + * @short_description: A #GtkListBox row used to present preferences. + * @Title: HdyPreferencesRow + * + * The #HdyPreferencesRow widget has a title that #HdyPreferencesWindow will use + * to let the user look for a preference. It doesn't present the title in any + * way and it lets you present the preference as you please. + * + * #HdyActionRow and its derivatives are convenient to use as preference rows as + * they take care of presenting the preference's title while letting you compose + * the inputs of the preference around it. + * + * Since: 0.0.10 + */ + +typedef struct +{ + gchar *title; + + gboolean use_underline; +} HdyPreferencesRowPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (HdyPreferencesRow, hdy_preferences_row, GTK_TYPE_LIST_BOX_ROW) + +enum { + PROP_0, + PROP_TITLE, + PROP_USE_UNDERLINE, + LAST_PROP, +}; + +static GParamSpec *props[LAST_PROP]; + +static void +hdy_preferences_row_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyPreferencesRow *self = HDY_PREFERENCES_ROW (object); + + switch (prop_id) { + case PROP_TITLE: + g_value_set_string (value, hdy_preferences_row_get_title (self)); + break; + case PROP_USE_UNDERLINE: + g_value_set_boolean (value, hdy_preferences_row_get_use_underline (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_preferences_row_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyPreferencesRow *self = HDY_PREFERENCES_ROW (object); + + switch (prop_id) { + case PROP_TITLE: + hdy_preferences_row_set_title (self, g_value_get_string (value)); + break; + case PROP_USE_UNDERLINE: + hdy_preferences_row_set_use_underline (self, g_value_get_boolean (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_preferences_row_finalize (GObject *object) +{ + HdyPreferencesRow *self = HDY_PREFERENCES_ROW (object); + HdyPreferencesRowPrivate *priv = hdy_preferences_row_get_instance_private (self); + + g_free (priv->title); + + G_OBJECT_CLASS (hdy_preferences_row_parent_class)->finalize (object); +} + +static void +hdy_preferences_row_class_init (HdyPreferencesRowClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->get_property = hdy_preferences_row_get_property; + object_class->set_property = hdy_preferences_row_set_property; + object_class->finalize = hdy_preferences_row_finalize; + + /** + * HdyPreferencesRow:title: + * + * The title of the preference represented by this row. + * + * Since: 0.0.10 + */ + props[PROP_TITLE] = + g_param_spec_string ("title", + _("Title"), + _("The title of the preference"), + "", + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyPreferencesRow:use-underline: + * + * Whether an embedded underline in the text of the title indicates a + * mnemonic. + * + * Since: 0.0.10 + */ + props[PROP_USE_UNDERLINE] = + g_param_spec_boolean ("use-underline", + _("Use underline"), + _("If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, LAST_PROP, props); +} + +static void +hdy_preferences_row_init (HdyPreferencesRow *self) +{ +} + +/** + * hdy_preferences_row_new: + * + * Creates a new #HdyPreferencesRow. + * + * Returns: a new #HdyPreferencesRow + * + * Since: 0.0.10 + */ +GtkWidget * +hdy_preferences_row_new (void) +{ + return g_object_new (HDY_TYPE_PREFERENCES_ROW, NULL); +} + +/** + * hdy_preferences_row_get_title: + * @self: a #HdyPreferencesRow + * + * Gets the title of the preference represented by @self. + * + * Returns: (transfer none) (nullable): the title of the preference represented + * by @self, or %NULL. + * + * Since: 0.0.10 + */ +const gchar * +hdy_preferences_row_get_title (HdyPreferencesRow *self) +{ + HdyPreferencesRowPrivate *priv; + + g_return_val_if_fail (HDY_IS_PREFERENCES_ROW (self), NULL); + + priv = hdy_preferences_row_get_instance_private (self); + + return priv->title; +} + +/** + * hdy_preferences_row_set_title: + * @self: a #HdyPreferencesRow + * @title: (nullable): the title, or %NULL. + * + * Sets the title of the preference represented by @self. + * + * Since: 0.0.10 + */ +void +hdy_preferences_row_set_title (HdyPreferencesRow *self, + const gchar *title) +{ + HdyPreferencesRowPrivate *priv; + + g_return_if_fail (HDY_IS_PREFERENCES_ROW (self)); + + priv = hdy_preferences_row_get_instance_private (self); + + if (g_strcmp0 (priv->title, title) == 0) + return; + + g_free (priv->title); + priv->title = g_strdup (title); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TITLE]); +} + +/** + * hdy_preferences_row_get_use_underline: + * @self: a #HdyPreferencesRow + * + * Gets whether an embedded underline in the text of the title indicates a + * mnemonic. See hdy_preferences_row_set_use_underline(). + * + * Returns: %TRUE if an embedded underline in the title indicates the mnemonic + * accelerator keys. + * + * Since: 0.0.10 + */ +gboolean +hdy_preferences_row_get_use_underline (HdyPreferencesRow *self) +{ + HdyPreferencesRowPrivate *priv; + + g_return_val_if_fail (HDY_IS_PREFERENCES_ROW (self), FALSE); + + priv = hdy_preferences_row_get_instance_private (self); + + return priv->use_underline; +} + +/** + * hdy_preferences_row_set_use_underline: + * @self: a #HdyPreferencesRow + * @use_underline: %TRUE if underlines in the text indicate mnemonics + * + * If true, an underline in the text of the title indicates the next character + * should be used for the mnemonic accelerator key. + * + * Since: 0.0.10 + */ +void +hdy_preferences_row_set_use_underline (HdyPreferencesRow *self, + gboolean use_underline) +{ + HdyPreferencesRowPrivate *priv; + + g_return_if_fail (HDY_IS_PREFERENCES_ROW (self)); + + priv = hdy_preferences_row_get_instance_private (self); + + if (priv->use_underline == !!use_underline) + return; + + priv->use_underline = !!use_underline; + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_USE_UNDERLINE]); +} diff --git a/subprojects/libhandy/src/hdy-preferences-row.h b/subprojects/libhandy/src/hdy-preferences-row.h new file mode 100644 index 00000000..f5e926b3 --- /dev/null +++ b/subprojects/libhandy/src/hdy-preferences-row.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_PREFERENCES_ROW (hdy_preferences_row_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (HdyPreferencesRow, hdy_preferences_row, HDY, PREFERENCES_ROW, GtkListBoxRow) + +/** + * HdyPreferencesRowClass + * @parent_class: The parent class + */ +struct _HdyPreferencesRowClass +{ + GtkListBoxRowClass parent_class; + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_preferences_row_new (void); + +HDY_AVAILABLE_IN_ALL +const gchar *hdy_preferences_row_get_title (HdyPreferencesRow *self); +HDY_AVAILABLE_IN_ALL +void hdy_preferences_row_set_title (HdyPreferencesRow *self, + const gchar *title); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_preferences_row_get_use_underline (HdyPreferencesRow *self); +HDY_AVAILABLE_IN_ALL +void hdy_preferences_row_set_use_underline (HdyPreferencesRow *self, + gboolean use_underline); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-preferences-window.c b/subprojects/libhandy/src/hdy-preferences-window.c new file mode 100644 index 00000000..8650cc61 --- /dev/null +++ b/subprojects/libhandy/src/hdy-preferences-window.c @@ -0,0 +1,795 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-preferences-window.h" + +#include "hdy-animation.h" +#include "hdy-action-row.h" +#include "hdy-deck.h" +#include "hdy-preferences-group-private.h" +#include "hdy-preferences-page-private.h" +#include "hdy-view-switcher.h" +#include "hdy-view-switcher-bar.h" +#include "hdy-view-switcher-title.h" + +/** + * SECTION:hdy-preferences-window + * @short_description: A window to present an application's preferences. + * @Title: HdyPreferencesWindow + * + * The #HdyPreferencesWindow widget presents an application's preferences + * gathered into pages and groups. The preferences are searchable by the user. + * + * Since: 0.0.10 + */ + +typedef struct +{ + HdyDeck *subpages_deck; + GtkWidget *preferences; + GtkStack *content_stack; + GtkStack *pages_stack; + GtkToggleButton *search_button; + GtkSearchEntry *search_entry; + GtkListBox *search_results; + GtkStack *search_stack; + GtkStack *title_stack; + HdyViewSwitcherBar *view_switcher_bar; + HdyViewSwitcherTitle *view_switcher_title; + + gboolean search_enabled; + gboolean can_swipe_back; + gint n_last_search_results; + GtkWidget *subpage; +} HdyPreferencesWindowPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (HdyPreferencesWindow, hdy_preferences_window, HDY_TYPE_WINDOW) + +enum { + PROP_0, + PROP_SEARCH_ENABLED, + PROP_CAN_SWIPE_BACK, + LAST_PROP, +}; + +static GParamSpec *props[LAST_PROP]; + +/* Copied and modified from gtklabel.c, separate_uline_pattern() */ +static gchar * +strip_mnemonic (const gchar *src) +{ + g_autofree gchar *new_str = g_new (gchar, strlen (src) + 1); + gchar *dest = new_str; + gboolean underscore = FALSE; + + while (*src) { + gunichar c; + const gchar *next_src; + + c = g_utf8_get_char (src); + if (c == (gunichar) -1) { + g_warning ("Invalid input string"); + + return NULL; + } + + next_src = g_utf8_next_char (src); + + if (underscore) { + while (src < next_src) + *dest++ = *src++; + + underscore = FALSE; + } else { + if (c == '_'){ + underscore = TRUE; + src = next_src; + } else { + while (src < next_src) + *dest++ = *src++; + } + } + } + + *dest = 0; + + return g_steal_pointer (&new_str); +} + +static gboolean +filter_search_results (HdyActionRow *row, + HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + g_autofree gchar *text = g_utf8_casefold (gtk_entry_get_text (GTK_ENTRY (priv->search_entry)), -1); + g_autofree gchar *title = g_utf8_casefold (hdy_preferences_row_get_title (HDY_PREFERENCES_ROW (row)), -1); + g_autofree gchar *subtitle = NULL; + + /* The CSS engine works in such a way that invisible children are treated as + * visible widgets, which breaks the expectations of the .preferences style + * class when filtering a row, leading to straight corners when the first row + * or last row are filtered out. + * + * This works around it by explicitly toggling the row's visibility, while + * keeping GtkListBox's filtering logic. + * + * See https://gitlab.gnome.org/GNOME/libhandy/-/merge_requests/424 + */ + + if (hdy_preferences_row_get_use_underline (HDY_PREFERENCES_ROW (row))) { + gchar *stripped_title = strip_mnemonic (title); + + if (stripped_title) { + g_free (title); + title = stripped_title; + } + } + + if (!!strstr (title, text)) { + priv->n_last_search_results++; + gtk_widget_show (GTK_WIDGET (row)); + + return TRUE; + } + + subtitle = g_utf8_casefold (hdy_action_row_get_subtitle (row), -1); + + if (!!strstr (subtitle, text)) { + priv->n_last_search_results++; + gtk_widget_show (GTK_WIDGET (row)); + + return TRUE; + } + + gtk_widget_hide (GTK_WIDGET (row)); + + return FALSE; +} + +static GtkWidget * +new_search_row_for_preference (HdyPreferencesRow *row, + HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + HdyActionRow *widget; + HdyPreferencesGroup *group; + HdyPreferencesPage *page; + const gchar *group_title, *page_title; + GtkWidget *parent; + + g_assert (HDY_IS_PREFERENCES_ROW (row)); + + widget = HDY_ACTION_ROW (hdy_action_row_new ()); + gtk_list_box_row_set_activatable (GTK_LIST_BOX_ROW (widget), TRUE); + g_object_bind_property (row, "title", widget, "title", G_BINDING_SYNC_CREATE); + g_object_bind_property (row, "use-underline", widget, "use-underline", G_BINDING_SYNC_CREATE); + + for (parent = gtk_widget_get_parent (GTK_WIDGET (row)); + parent != NULL && !HDY_IS_PREFERENCES_GROUP (parent); + parent = gtk_widget_get_parent (parent)); + group = parent != NULL ? HDY_PREFERENCES_GROUP (parent) : NULL; + group_title = group != NULL ? hdy_preferences_group_get_title (group) : NULL; + if (g_strcmp0 (group_title, "") == 0) + group_title = NULL; + + for (parent = gtk_widget_get_parent (GTK_WIDGET (group)); + parent != NULL && !HDY_IS_PREFERENCES_PAGE (parent); + parent = gtk_widget_get_parent (parent)); + page = parent != NULL ? HDY_PREFERENCES_PAGE (parent) : NULL; + page_title = page != NULL ? hdy_preferences_page_get_title (page) : NULL; + if (g_strcmp0 (page_title, "") == 0) + page_title = NULL; + + if (group_title && !hdy_view_switcher_title_get_title_visible (priv->view_switcher_title)) + hdy_action_row_set_subtitle (widget, group_title); + if (group_title) { + g_autofree gchar *subtitle = g_strdup_printf ("%s → %s", page_title != NULL ? page_title : _("Untitled page"), group_title); + hdy_action_row_set_subtitle (widget, subtitle); + } else if (page_title) + hdy_action_row_set_subtitle (widget, page_title); + + gtk_widget_show (GTK_WIDGET (widget)); + + g_object_set_data (G_OBJECT (widget), "page", page); + g_object_set_data (G_OBJECT (widget), "row", row); + + return GTK_WIDGET (widget); +} + +static void +update_search_results (HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + g_autoptr (GListStore) model; + + model = g_list_store_new (HDY_TYPE_PREFERENCES_ROW); + gtk_container_foreach (GTK_CONTAINER (priv->pages_stack), (GtkCallback) hdy_preferences_page_add_preferences_to_model, model); + gtk_container_foreach (GTK_CONTAINER (priv->search_results), (GtkCallback) gtk_widget_destroy, NULL); + for (guint i = 0; i < g_list_model_get_n_items (G_LIST_MODEL (model)); i++) + gtk_container_add (GTK_CONTAINER (priv->search_results), + new_search_row_for_preference ((HdyPreferencesRow *) g_list_model_get_item (G_LIST_MODEL (model), i), self)); +} + +static void +search_result_activated_cb (HdyPreferencesWindow *self, + HdyActionRow *widget) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + HdyPreferencesPage *page; + HdyPreferencesRow *row; + GtkAdjustment *adjustment; + GtkAllocation allocation; + gint y = 0; + + gtk_toggle_button_set_active (priv->search_button, FALSE); + page = HDY_PREFERENCES_PAGE (g_object_get_data (G_OBJECT (widget), "page")); + row = HDY_PREFERENCES_ROW (g_object_get_data (G_OBJECT (widget), "row")); + + g_assert (page != NULL); + g_assert (row != NULL); + + adjustment = hdy_preferences_page_get_vadjustment (page); + + g_assert (adjustment != NULL); + + gtk_stack_set_visible_child (priv->pages_stack, GTK_WIDGET (page)); + gtk_widget_set_can_focus (GTK_WIDGET (row), TRUE); + gtk_widget_grab_focus (GTK_WIDGET (row)); + + if (!gtk_widget_translate_coordinates (GTK_WIDGET (row), GTK_WIDGET (page), 0, 0, NULL, &y)) + return; + + gtk_container_set_focus_child (GTK_CONTAINER (page), GTK_WIDGET (row)); + y += gtk_adjustment_get_value (adjustment); + gtk_widget_get_allocation (GTK_WIDGET (row), &allocation); + gtk_adjustment_clamp_page (adjustment, y, y + allocation.height); +} + +static gboolean +key_press_event_cb (GtkWidget *sender, + GdkEvent *event, + HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + GdkModifierType default_modifiers = gtk_accelerator_get_default_mod_mask (); + guint keyval; + GdkModifierType state; + GdkKeymap *keymap; + GdkEventKey *key_event = (GdkEventKey *) event; + + gdk_event_get_state (event, &state); + + keymap = gdk_keymap_get_for_display (gtk_widget_get_display (sender)); + + gdk_keymap_translate_keyboard_state (keymap, + key_event->hardware_keycode, + state, + key_event->group, + &keyval, NULL, NULL, NULL); + + if (priv->subpage) { + if (keyval == GDK_KEY_Escape && + hdy_preferences_window_get_can_swipe_back (self)) { + hdy_preferences_window_close_subpage (self); + + return GDK_EVENT_STOP; + } + + return GDK_EVENT_PROPAGATE; + } + + if (priv->search_enabled && + (keyval == GDK_KEY_f || keyval == GDK_KEY_F) && + (state & default_modifiers) == GDK_CONTROL_MASK) { + gtk_toggle_button_set_active (priv->search_button, TRUE); + + return GDK_EVENT_STOP; + } + + if (priv->search_enabled && + gtk_search_entry_handle_event (priv->search_entry, event)) { + gtk_toggle_button_set_active (priv->search_button, TRUE); + + return GDK_EVENT_STOP; + } + + if (keyval == GDK_KEY_Escape) { + gtk_window_close (GTK_WINDOW (self)); + + return GDK_EVENT_STOP; + } + + return GDK_EVENT_PROPAGATE; +} + +static void +try_remove_subpages (HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + + if (hdy_deck_get_transition_running (priv->subpages_deck)) + return; + + if (hdy_deck_get_visible_child (priv->subpages_deck) == priv->preferences) + priv->subpage = NULL; + + for (GList *child = gtk_container_get_children (GTK_CONTAINER (priv->subpages_deck)); + child; + child = child->next) + if (child->data != priv->preferences && child->data != priv->subpage) + gtk_container_remove (GTK_CONTAINER (priv->subpages_deck), child->data); +} + +static void +subpages_deck_transition_running_cb (HdyPreferencesWindow *self) +{ + try_remove_subpages (self); +} + +static void +subpages_deck_visible_child_cb (HdyPreferencesWindow *self) +{ + try_remove_subpages (self); +} + +static void +header_bar_size_allocate_cb (HdyPreferencesWindow *self, + GdkRectangle *allocation) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + + hdy_view_switcher_title_set_view_switcher_enabled (priv->view_switcher_title, allocation->width > 360); +} + +static void +title_stack_notify_transition_running_cb (HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + + if (gtk_stack_get_transition_running (priv->title_stack) || + gtk_stack_get_visible_child (priv->title_stack) != GTK_WIDGET (priv->view_switcher_title)) + return; + + gtk_entry_set_text (GTK_ENTRY (priv->search_entry), ""); +} + +static void +title_stack_notify_visible_child_cb (HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + + if (hdy_get_enable_animations (GTK_WIDGET (priv->title_stack)) || + gtk_stack_get_visible_child (priv->title_stack) != GTK_WIDGET (priv->view_switcher_title)) + return; + + gtk_entry_set_text (GTK_ENTRY (priv->search_entry), ""); +} + + +static void +search_button_notify_active_cb (HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + + if (gtk_toggle_button_get_active (priv->search_button)) { + update_search_results (self); + gtk_stack_set_visible_child_name (priv->title_stack, "search"); + gtk_stack_set_visible_child_name (priv->content_stack, "search"); + gtk_entry_grab_focus_without_selecting (GTK_ENTRY (priv->search_entry)); + /* Grabbing without selecting puts the cursor at the start of the buffer, so + * for "type to search" to work we must move the cursor at the end. We can't + * use GTK_MOVEMENT_BUFFER_ENDS because it causes a sound to be played. + */ + g_signal_emit_by_name (priv->search_entry, "move-cursor", + GTK_MOVEMENT_LOGICAL_POSITIONS, G_MAXINT, FALSE, NULL); + } else { + gtk_stack_set_visible_child_name (priv->title_stack, "pages"); + gtk_stack_set_visible_child_name (priv->content_stack, "pages"); + } +} + +static void +search_changed_cb (HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + + priv->n_last_search_results = 0; + gtk_list_box_invalidate_filter (priv->search_results); + gtk_stack_set_visible_child_name (priv->search_stack, + priv->n_last_search_results > 0 ? "results" : "no-results"); +} + +static void +on_page_icon_name_changed (HdyPreferencesPage *page, + GParamSpec *pspec, + HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + + gtk_container_child_set (GTK_CONTAINER (priv->pages_stack), GTK_WIDGET (page), + "icon-name", hdy_preferences_page_get_icon_name (page), + NULL); +} + +static void +stop_search_cb (HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + + gtk_toggle_button_set_active (priv->search_button, FALSE); +} + +static void +on_page_title_changed (HdyPreferencesPage *page, + GParamSpec *pspec, + HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + + gtk_container_child_set (GTK_CONTAINER (priv->pages_stack), GTK_WIDGET (page), + "title", hdy_preferences_page_get_title (page), + NULL); +} + +static void +hdy_preferences_window_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyPreferencesWindow *self = HDY_PREFERENCES_WINDOW (object); + + switch (prop_id) { + case PROP_SEARCH_ENABLED: + g_value_set_boolean (value, hdy_preferences_window_get_search_enabled (self)); + break; + case PROP_CAN_SWIPE_BACK: + g_value_set_boolean (value, hdy_preferences_window_get_can_swipe_back (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_preferences_window_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyPreferencesWindow *self = HDY_PREFERENCES_WINDOW (object); + + switch (prop_id) { + case PROP_SEARCH_ENABLED: + hdy_preferences_window_set_search_enabled (self, g_value_get_boolean (value)); + break; + case PROP_CAN_SWIPE_BACK: + hdy_preferences_window_set_can_swipe_back (self, g_value_get_boolean (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_preferences_window_add (GtkContainer *container, + GtkWidget *child) +{ + HdyPreferencesWindow *self = HDY_PREFERENCES_WINDOW (container); + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + + if (priv->content_stack == NULL) + GTK_CONTAINER_CLASS (hdy_preferences_window_parent_class)->add (container, child); + else if (HDY_IS_PREFERENCES_PAGE (child)) { + gtk_container_add (GTK_CONTAINER (priv->pages_stack), child); + on_page_icon_name_changed (HDY_PREFERENCES_PAGE (child), NULL, self); + on_page_title_changed (HDY_PREFERENCES_PAGE (child), NULL, self); + g_signal_connect (child, "notify::icon-name", + G_CALLBACK (on_page_icon_name_changed), self); + g_signal_connect (child, "notify::title", + G_CALLBACK (on_page_title_changed), self); + } else + g_warning ("Can't add children of type %s to %s", + G_OBJECT_TYPE_NAME (child), + G_OBJECT_TYPE_NAME (container)); +} + +static void +hdy_preferences_window_remove (GtkContainer *container, + GtkWidget *child) +{ + HdyPreferencesWindow *self = HDY_PREFERENCES_WINDOW (container); + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + + if (child == GTK_WIDGET (priv->content_stack)) + GTK_CONTAINER_CLASS (hdy_preferences_window_parent_class)->remove (container, child); + else + gtk_container_remove (GTK_CONTAINER (priv->pages_stack), child); +} + +static void +hdy_preferences_window_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + HdyPreferencesWindow *self = HDY_PREFERENCES_WINDOW (container); + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + + if (include_internals) + GTK_CONTAINER_CLASS (hdy_preferences_window_parent_class)->forall (container, + include_internals, + callback, + callback_data); + else if (priv->pages_stack) + gtk_container_foreach (GTK_CONTAINER (priv->pages_stack), callback, callback_data); +} + +static void +hdy_preferences_window_class_init (HdyPreferencesWindowClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); + + object_class->get_property = hdy_preferences_window_get_property; + object_class->set_property = hdy_preferences_window_set_property; + + container_class->add = hdy_preferences_window_add; + container_class->remove = hdy_preferences_window_remove; + container_class->forall = hdy_preferences_window_forall; + + /** + * HdyPreferencesWindow:search-enabled: + * + * Whether search is enabled. + * + * Since: 1.0 + */ + props[PROP_SEARCH_ENABLED] = + g_param_spec_boolean ("search-enabled", + _("Search enabled"), + _("Whether search is enabled"), + TRUE, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyPreferencesWindow:can-swipe-back: + * + * Whether or not the window allows closing the subpage via a swipe gesture. + * + * Since: 1.0 + */ + props[PROP_CAN_SWIPE_BACK] = + g_param_spec_boolean ("can-swipe-back", + _("Can swipe back"), + _("Whether or not swipe gesture can be used to switch from a subpage to the preferences"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + gtk_widget_class_set_template_from_resource (widget_class, + "/sm/puri/handy/ui/hdy-preferences-window.ui"); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesWindow, subpages_deck); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesWindow, preferences); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesWindow, content_stack); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesWindow, pages_stack); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesWindow, search_button); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesWindow, search_entry); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesWindow, search_results); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesWindow, search_stack); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesWindow, title_stack); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesWindow, view_switcher_bar); + gtk_widget_class_bind_template_child_private (widget_class, HdyPreferencesWindow, view_switcher_title); + gtk_widget_class_bind_template_callback (widget_class, subpages_deck_transition_running_cb); + gtk_widget_class_bind_template_callback (widget_class, subpages_deck_visible_child_cb); + gtk_widget_class_bind_template_callback (widget_class, header_bar_size_allocate_cb); + gtk_widget_class_bind_template_callback (widget_class, title_stack_notify_transition_running_cb); + gtk_widget_class_bind_template_callback (widget_class, title_stack_notify_visible_child_cb); + gtk_widget_class_bind_template_callback (widget_class, key_press_event_cb); + gtk_widget_class_bind_template_callback (widget_class, search_button_notify_active_cb); + gtk_widget_class_bind_template_callback (widget_class, search_changed_cb); + gtk_widget_class_bind_template_callback (widget_class, search_result_activated_cb); + gtk_widget_class_bind_template_callback (widget_class, stop_search_cb); +} + +static void +hdy_preferences_window_init (HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv = hdy_preferences_window_get_instance_private (self); + + priv->search_enabled = TRUE; + + gtk_widget_init_template (GTK_WIDGET (self)); + + gtk_list_box_set_filter_func (priv->search_results, (GtkListBoxFilterFunc) filter_search_results, self, NULL); +} + +/** + * hdy_preferences_window_new: + * + * Creates a new #HdyPreferencesWindow. + * + * Returns: a new #HdyPreferencesWindow + * + * Since: 0.0.10 + */ +GtkWidget * +hdy_preferences_window_new (void) +{ + return g_object_new (HDY_TYPE_PREFERENCES_WINDOW, NULL); +} + +/** + * hdy_preferences_window_get_search_enabled: + * @self: a #HdyPreferencesWindow + * + * Gets whether search is enabled for @self. + * + * Returns: whether search is enabled for @self. + * + * Since: 1.0 + */ +gboolean +hdy_preferences_window_get_search_enabled (HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv; + + g_return_val_if_fail (HDY_IS_PREFERENCES_WINDOW (self), FALSE); + + priv = hdy_preferences_window_get_instance_private (self); + + return priv->search_enabled; +} + +/** + * hdy_preferences_window_set_search_enabled: + * @self: a #HdyPreferencesWindow + * @search_enabled: %TRUE to enable search, %FALSE to disable it + * + * Sets whether search is enabled for @self. + * + * Since: 1.0 + */ +void +hdy_preferences_window_set_search_enabled (HdyPreferencesWindow *self, + gboolean search_enabled) +{ + HdyPreferencesWindowPrivate *priv; + + g_return_if_fail (HDY_IS_PREFERENCES_WINDOW (self)); + + priv = hdy_preferences_window_get_instance_private (self); + + search_enabled = !!search_enabled; + + if (priv->search_enabled == search_enabled) + return; + + priv->search_enabled = search_enabled; + gtk_widget_set_visible (GTK_WIDGET (priv->search_button), search_enabled); + if (!search_enabled) + gtk_toggle_button_set_active (priv->search_button, FALSE); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SEARCH_ENABLED]); +} + +/** + * hdy_preferences_window_set_can_swipe_back: + * @self: a #HdyPreferencesWindow + * @can_swipe_back: the new value + * + * Sets whether or not @self allows switching from a subpage to the preferences + * via a swipe gesture. + * + * Since: 1.0 + */ +void +hdy_preferences_window_set_can_swipe_back (HdyPreferencesWindow *self, + gboolean can_swipe_back) +{ + HdyPreferencesWindowPrivate *priv; + + g_return_if_fail (HDY_IS_PREFERENCES_WINDOW (self)); + + priv = hdy_preferences_window_get_instance_private (self); + + can_swipe_back = !!can_swipe_back; + + if (priv->can_swipe_back == can_swipe_back) + return; + + priv->can_swipe_back = can_swipe_back; + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CAN_SWIPE_BACK]); +} + +/** + * hdy_preferences_window_get_can_swipe_back + * @self: a #HdyPreferencesWindow + * + * Returns whether or not @self allows switching from a subpage to the + * preferences via a swipe gesture. + * + * Returns: %TRUE if back swipe is enabled. + * + * Since: 1.0 + */ +gboolean +hdy_preferences_window_get_can_swipe_back (HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv; + + g_return_val_if_fail (HDY_IS_PREFERENCES_WINDOW (self), FALSE); + + priv = hdy_preferences_window_get_instance_private (self); + + return priv->can_swipe_back; +} + +/** + * hdy_preferences_window_present_subpage: + * @self: a #HdyPreferencesWindow + * @subpage: the subpage + * + * Sets @subpage as the window's subpage and present it. + * The transition can be cancelled by the user, in which case visible child will + * change back to the previously visible child. + * + * Since: 1.0 + */ +void +hdy_preferences_window_present_subpage (HdyPreferencesWindow *self, + GtkWidget *subpage) +{ + HdyPreferencesWindowPrivate *priv; + + g_return_if_fail (HDY_IS_PREFERENCES_WINDOW (self)); + g_return_if_fail (GTK_IS_WIDGET (subpage)); + + priv = hdy_preferences_window_get_instance_private (self); + + if (priv->subpage == subpage) + return; + + priv->subpage = subpage; + + /* The check below avoids a warning when re-entering a subpage during the + * transition between the that subpage to the preferences. + */ + if (gtk_widget_get_parent (subpage) != GTK_WIDGET (priv->subpages_deck)) + gtk_container_add (GTK_CONTAINER (priv->subpages_deck), subpage); + + hdy_deck_set_visible_child (priv->subpages_deck, subpage); +} + +/** + * hdy_preferences_window_close_subpage: + * @self: a #HdyPreferencesWindow + * + * Closes the current subpage to return back to the preferences, if there is no + * presented subpage, this does nothing. + * + * Since: 1.0 + */ +void +hdy_preferences_window_close_subpage (HdyPreferencesWindow *self) +{ + HdyPreferencesWindowPrivate *priv; + + g_return_if_fail (HDY_IS_PREFERENCES_WINDOW (self)); + + priv = hdy_preferences_window_get_instance_private (self); + + if (priv->subpage == NULL) + return; + + hdy_deck_set_visible_child (priv->subpages_deck, priv->preferences); +} diff --git a/subprojects/libhandy/src/hdy-preferences-window.h b/subprojects/libhandy/src/hdy-preferences-window.h new file mode 100644 index 00000000..427a94ae --- /dev/null +++ b/subprojects/libhandy/src/hdy-preferences-window.h @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include "hdy-window.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_PREFERENCES_WINDOW (hdy_preferences_window_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (HdyPreferencesWindow, hdy_preferences_window, HDY, PREFERENCES_WINDOW, HdyWindow) + +/** + * HdyPreferencesWindowClass + * @parent_class: The parent class + */ +struct _HdyPreferencesWindowClass +{ + HdyWindowClass parent_class; + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_preferences_window_new (void); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_preferences_window_get_search_enabled (HdyPreferencesWindow *self); +HDY_AVAILABLE_IN_ALL +void hdy_preferences_window_set_search_enabled (HdyPreferencesWindow *self, + gboolean search_enabled); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_preferences_window_get_can_swipe_back (HdyPreferencesWindow *self); +HDY_AVAILABLE_IN_ALL +void hdy_preferences_window_set_can_swipe_back (HdyPreferencesWindow *self, + gboolean can_swipe_back); + +HDY_AVAILABLE_IN_ALL +void hdy_preferences_window_present_subpage (HdyPreferencesWindow *self, + GtkWidget *subpage); +HDY_AVAILABLE_IN_ALL +void hdy_preferences_window_close_subpage (HdyPreferencesWindow *self); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-preferences-window.ui b/subprojects/libhandy/src/hdy-preferences-window.ui new file mode 100644 index 00000000..5f764fc9 --- /dev/null +++ b/subprojects/libhandy/src/hdy-preferences-window.ui @@ -0,0 +1,248 @@ + + + + + diff --git a/subprojects/libhandy/src/hdy-search-bar.c b/subprojects/libhandy/src/hdy-search-bar.c new file mode 100644 index 00000000..decbda40 --- /dev/null +++ b/subprojects/libhandy/src/hdy-search-bar.c @@ -0,0 +1,659 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 2013 Red Hat, Inc. + * Copyright (C) 2018 Purism SPC + * + * Authors: + * - Bastien Nocera + * - Adrien Plazas + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see . + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +/* + * Modified by the GTK+ Team and others 2013. See the AUTHORS + * file for a list of people on the GTK Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK at ftp://ftp.gtk.org/pub/gtk/. + */ + +/* + * Forked from the GTK+ 3.94.0 GtkSearchBar widget and modified for libhandy by + * Adrien Plazas on behalf of Purism SPC 2018. + * + * The AUTHORS file referenced above is part of GTK and not present in + * libhandy. At the time of the fork it was available here: + * https://gitlab.gnome.org/GNOME/gtk/blob/faba0f0145b1281facba20fb90699e3db594fbb0/AUTHORS + * + * The ChangeLog file referenced above was not present in GTK+ at the time of + * the fork. + */ + +#include "config.h" +#include + +#include "hdy-search-bar.h" + +/** + * SECTION:hdy-search-bar + * @short_description: A toolbar to integrate a search entry with. + * @Title: HdySearchBar + * + * #HdySearchBar is a container made to have a search entry (possibly + * with additional connex widgets, such as drop-down menus, or buttons) + * built-in. The search bar would appear when a search is started through + * typing on the keyboard, or the application’s search mode is toggled on. + * + * For keyboard presses to start a search, events will need to be + * forwarded from the top-level window that contains the search bar. + * See hdy_search_bar_handle_event() for example code. Common shortcuts + * such as Ctrl+F should be handled as an application action, or through + * the menu items. + * + * You will also need to tell the search bar about which entry you + * are using as your search entry using hdy_search_bar_connect_entry(). + * The following example shows you how to create a more complex search + * entry. + * + * HdySearchBar is very similar to #GtkSearchBar, the main difference being that + * it allows the search entry to fill all the available space. This allows you + * to control your search entry's width with a #HdyClamp. + * + * # CSS nodes + * + * #HdySearchBar has a single CSS node with name searchbar. + * + * Since: 0.0.6 + */ + +typedef struct { + /* Template widgets */ + GtkWidget *revealer; + GtkWidget *tool_box; + GtkWidget *start; + GtkWidget *end; + GtkWidget *close_button; + + GtkWidget *entry; + gboolean reveal_child; + gboolean show_close_button; +} HdySearchBarPrivate; + +G_DEFINE_TYPE_WITH_PRIVATE (HdySearchBar, hdy_search_bar, GTK_TYPE_BIN) + +enum { + PROP_0, + PROP_SEARCH_MODE_ENABLED, + PROP_SHOW_CLOSE_BUTTON, + LAST_PROPERTY +}; + +static GParamSpec *props[LAST_PROPERTY] = { NULL, }; + +/* This comes from gtksearchentry.c in GTK. */ +static gboolean +gtk_search_entry_is_keynav_event (GdkEvent *event) +{ + GdkModifierType state = 0; + guint keyval; + + if (!gdk_event_get_keyval (event, &keyval)) + return FALSE; + + gdk_event_get_state (event, &state); + + if (keyval == GDK_KEY_Tab || keyval == GDK_KEY_KP_Tab || + keyval == GDK_KEY_Up || keyval == GDK_KEY_KP_Up || + keyval == GDK_KEY_Down || keyval == GDK_KEY_KP_Down || + keyval == GDK_KEY_Left || keyval == GDK_KEY_KP_Left || + keyval == GDK_KEY_Right || keyval == GDK_KEY_KP_Right || + keyval == GDK_KEY_Home || keyval == GDK_KEY_KP_Home || + keyval == GDK_KEY_End || keyval == GDK_KEY_KP_End || + keyval == GDK_KEY_Page_Up || keyval == GDK_KEY_KP_Page_Up || + keyval == GDK_KEY_Page_Down || keyval == GDK_KEY_KP_Page_Down || + ((state & (GDK_CONTROL_MASK | GDK_MOD1_MASK)) != 0)) + return TRUE; + + /* Other navigation events should get automatically + * ignored as they will not change the content of the entry + */ + return FALSE; +} + +static void +stop_search_cb (GtkWidget *entry, + HdySearchBar *self) +{ + HdySearchBarPrivate *priv = hdy_search_bar_get_instance_private (self); + + gtk_revealer_set_reveal_child (GTK_REVEALER (priv->revealer), FALSE); +} + +static gboolean +entry_key_pressed_event_cb (GtkWidget *widget, + GdkEvent *event, + HdySearchBar *self) +{ + if (event->key.keyval == GDK_KEY_Escape) { + stop_search_cb (widget, self); + + return GDK_EVENT_STOP; + } else { + return GDK_EVENT_PROPAGATE; + } +} + +static void +preedit_changed_cb (GtkEntry *entry, + GtkWidget *popup, + gboolean *preedit_changed) +{ + *preedit_changed = TRUE; +} + +static gboolean +hdy_search_bar_handle_event_for_entry (HdySearchBar *self, + GdkEvent *event) +{ + HdySearchBarPrivate *priv = hdy_search_bar_get_instance_private (self); + gboolean handled; + gboolean preedit_changed; + guint preedit_change_id; + gboolean res; + char *old_text, *new_text; + + if (gtk_search_entry_is_keynav_event (event) || + event->key.keyval == GDK_KEY_space || + event->key.keyval == GDK_KEY_Menu) + return GDK_EVENT_PROPAGATE; + + if (!gtk_widget_get_realized (priv->entry)) + gtk_widget_realize (priv->entry); + + handled = GDK_EVENT_PROPAGATE; + preedit_changed = FALSE; + preedit_change_id = g_signal_connect (priv->entry, "preedit-changed", + G_CALLBACK (preedit_changed_cb), &preedit_changed); + + old_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry))); + res = gtk_widget_event (priv->entry, event); + new_text = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->entry))); + + g_signal_handler_disconnect (priv->entry, preedit_change_id); + + if ((res && g_strcmp0 (new_text, old_text) != 0) || preedit_changed) + handled = GDK_EVENT_STOP; + + g_free (old_text); + g_free (new_text); + + return handled; +} + +/** + * hdy_search_bar_handle_event: + * @self: a #HdySearchBar + * @event: a #GdkEvent containing key press events + * + * This function should be called when the top-level + * window which contains the search bar received a key event. + * + * If the key event is handled by the search bar, the bar will + * be shown, the entry populated with the entered text and %GDK_EVENT_STOP + * will be returned. The caller should ensure that events are + * not propagated further. + * + * If no entry has been connected to the search bar, using + * hdy_search_bar_connect_entry(), this function will return + * immediately with a warning. + * + * ## Showing the search bar on key presses + * + * |[ + * static gboolean + * on_key_press_event (GtkWidget *widget, + * GdkEvent *event, + * gpointer user_data) + * { + * HdySearchBar *bar = HDY_SEARCH_BAR (user_data); + * return hdy_search_bar_handle_event (self, event); + * } + * + * static void + * create_toplevel (void) + * { + * GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + * GtkWindow *search_bar = hdy_search_bar_new (); + * + * // Add more widgets to the window... + * + * g_signal_connect (window, + * "key-press-event", + * G_CALLBACK (on_key_press_event), + * search_bar); + * } + * ]| + * + * Returns: %GDK_EVENT_STOP if the key press event resulted + * in text being entered in the search entry (and revealing + * the search bar if necessary), %GDK_EVENT_PROPAGATE otherwise. + * + * Since: 0.0.6 + */ +gboolean +hdy_search_bar_handle_event (HdySearchBar *self, + GdkEvent *event) +{ + HdySearchBarPrivate *priv = hdy_search_bar_get_instance_private (self); + gboolean handled; + + if (priv->reveal_child) + return GDK_EVENT_PROPAGATE; + + if (priv->entry == NULL) { + g_warning ("The search bar does not have an entry connected to it. Call hdy_search_bar_connect_entry() to connect one."); + + return GDK_EVENT_PROPAGATE; + } + + if (GTK_IS_SEARCH_ENTRY (priv->entry)) + handled = gtk_search_entry_handle_event (GTK_SEARCH_ENTRY (priv->entry), event); + else + handled = hdy_search_bar_handle_event_for_entry (self, event); + + if (handled == GDK_EVENT_STOP) + gtk_revealer_set_reveal_child (GTK_REVEALER (priv->revealer), TRUE); + + return handled; +} + +static void +reveal_child_changed_cb (GObject *object, + GParamSpec *pspec, + HdySearchBar *self) +{ + HdySearchBarPrivate *priv = hdy_search_bar_get_instance_private (self); + gboolean reveal_child; + + g_object_get (object, "reveal-child", &reveal_child, NULL); + if (reveal_child) + gtk_widget_set_child_visible (priv->revealer, TRUE); + + if (reveal_child == priv->reveal_child) + return; + + priv->reveal_child = reveal_child; + + if (priv->entry) { + if (reveal_child) + gtk_entry_grab_focus_without_selecting (GTK_ENTRY (priv->entry)); + else + gtk_entry_set_text (GTK_ENTRY (priv->entry), ""); + } + + g_object_notify (G_OBJECT (self), "search-mode-enabled"); +} + +static void +child_revealed_changed_cb (GObject *object, + GParamSpec *pspec, + HdySearchBar *self) +{ + HdySearchBarPrivate *priv = hdy_search_bar_get_instance_private (self); + gboolean val; + + g_object_get (object, "child-revealed", &val, NULL); + if (!val) + gtk_widget_set_child_visible (priv->revealer, FALSE); +} + +static void +close_button_clicked_cb (GtkWidget *button, + HdySearchBar *self) +{ + HdySearchBarPrivate *priv = hdy_search_bar_get_instance_private (self); + + gtk_revealer_set_reveal_child (GTK_REVEALER (priv->revealer), FALSE); +} + +static void +hdy_search_bar_add (GtkContainer *container, + GtkWidget *child) +{ + HdySearchBar *self = HDY_SEARCH_BAR (container); + HdySearchBarPrivate *priv = hdy_search_bar_get_instance_private (self); + + if (priv->revealer == NULL) { + GTK_CONTAINER_CLASS (hdy_search_bar_parent_class)->add (container, child); + } else { + gtk_box_set_center_widget (GTK_BOX (priv->tool_box), child); + gtk_container_child_set (GTK_CONTAINER (priv->tool_box), child, + "expand", TRUE, + NULL); + /* If an entry is the only child, save the developer a couple of + * lines of code + */ + if (GTK_IS_ENTRY (child)) + hdy_search_bar_connect_entry (self, GTK_ENTRY (child)); + } +} + +static void +hdy_search_bar_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdySearchBar *self = HDY_SEARCH_BAR (object); + + switch (prop_id) { + case PROP_SEARCH_MODE_ENABLED: + hdy_search_bar_set_search_mode (self, g_value_get_boolean (value)); + break; + case PROP_SHOW_CLOSE_BUTTON: + hdy_search_bar_set_show_close_button (self, g_value_get_boolean (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +hdy_search_bar_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdySearchBar *self = HDY_SEARCH_BAR (object); + HdySearchBarPrivate *priv = hdy_search_bar_get_instance_private (self); + + switch (prop_id) { + case PROP_SEARCH_MODE_ENABLED: + g_value_set_boolean (value, priv->reveal_child); + break; + case PROP_SHOW_CLOSE_BUTTON: + g_value_set_boolean (value, hdy_search_bar_get_show_close_button (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void hdy_search_bar_set_entry (HdySearchBar *self, + GtkEntry *entry); + +static void +hdy_search_bar_dispose (GObject *object) +{ + HdySearchBar *self = HDY_SEARCH_BAR (object); + + hdy_search_bar_set_entry (self, NULL); + + G_OBJECT_CLASS (hdy_search_bar_parent_class)->dispose (object); +} + +static gboolean +hdy_search_bar_draw (GtkWidget *widget, + cairo_t *cr) +{ + gint width, height; + GtkStyleContext *context; + + width = gtk_widget_get_allocated_width (widget); + height = gtk_widget_get_allocated_height (widget); + context = gtk_widget_get_style_context (widget); + + gtk_render_background (context, cr, 0, 0, width, height); + gtk_render_frame (context, cr, 0, 0, width, height); + + GTK_WIDGET_CLASS (hdy_search_bar_parent_class)->draw (widget, cr); + + return FALSE; +} + +static void +hdy_search_bar_class_init (HdySearchBarClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); + + object_class->dispose = hdy_search_bar_dispose; + object_class->set_property = hdy_search_bar_set_property; + object_class->get_property = hdy_search_bar_get_property; + widget_class->draw = hdy_search_bar_draw; + + container_class->add = hdy_search_bar_add; + + /** + * HdySearchBar:search-mode-enabled: + * + * Whether the search mode is on and the search bar shown. + * + * See hdy_search_bar_set_search_mode() for details. + */ + props[PROP_SEARCH_MODE_ENABLED] = + g_param_spec_boolean ("search-mode-enabled", + _("Search Mode Enabled"), + _("Whether the search mode is on and the search bar shown"), + FALSE, + G_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdySearchBar:show-close-button: + * + * Whether to show the close button in the toolbar. + */ + props[PROP_SHOW_CLOSE_BUTTON] = + g_param_spec_boolean ("show-close-button", + _("Show Close Button"), + _("Whether to show the close button in the toolbar"), + FALSE, + G_PARAM_READWRITE|G_PARAM_CONSTRUCT|G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, LAST_PROPERTY, props); + + gtk_widget_class_set_template_from_resource (widget_class, + "/sm/puri/handy/ui/hdy-search-bar.ui"); + gtk_widget_class_bind_template_child_private (widget_class, HdySearchBar, tool_box); + gtk_widget_class_bind_template_child_private (widget_class, HdySearchBar, revealer); + gtk_widget_class_bind_template_child_private (widget_class, HdySearchBar, start); + gtk_widget_class_bind_template_child_private (widget_class, HdySearchBar, end); + gtk_widget_class_bind_template_child_private (widget_class, HdySearchBar, close_button); + + gtk_widget_class_set_css_name (widget_class, "searchbar"); +} + +static void +hdy_search_bar_init (HdySearchBar *self) +{ + HdySearchBarPrivate *priv = hdy_search_bar_get_instance_private (self); + + gtk_widget_init_template (GTK_WIDGET (self)); + + /* We use child-visible to avoid the unexpanded revealer + * peaking out by 1 pixel + */ + gtk_widget_set_child_visible (priv->revealer, FALSE); + + g_signal_connect (priv->revealer, "notify::reveal-child", + G_CALLBACK (reveal_child_changed_cb), self); + g_signal_connect (priv->revealer, "notify::child-revealed", + G_CALLBACK (child_revealed_changed_cb), self); + + gtk_widget_set_no_show_all (priv->start, TRUE); + gtk_widget_set_no_show_all (priv->end, TRUE); + g_signal_connect (priv->close_button, "clicked", + G_CALLBACK (close_button_clicked_cb), self); +}; + +/** + * hdy_search_bar_new: + * + * Creates a #HdySearchBar. You will need to tell it about + * which widget is going to be your text entry using + * hdy_search_bar_connect_entry(). + * + * Returns: a new #HdySearchBar + * + * Since: 0.0.6 + */ +GtkWidget * +hdy_search_bar_new (void) +{ + return g_object_new (HDY_TYPE_SEARCH_BAR, NULL); +} + +static void +hdy_search_bar_set_entry (HdySearchBar *self, + GtkEntry *entry) +{ + HdySearchBarPrivate *priv = hdy_search_bar_get_instance_private (self); + + if (priv->entry != NULL) { + if (GTK_IS_SEARCH_ENTRY (priv->entry)) + g_signal_handlers_disconnect_by_func (priv->entry, stop_search_cb, self); + else + g_signal_handlers_disconnect_by_func (priv->entry, entry_key_pressed_event_cb, self); + g_object_remove_weak_pointer (G_OBJECT (priv->entry), (gpointer *) &priv->entry); + } + + priv->entry = GTK_WIDGET (entry); + + if (priv->entry != NULL) { + g_object_add_weak_pointer (G_OBJECT (priv->entry), (gpointer *) &priv->entry); + if (GTK_IS_SEARCH_ENTRY (priv->entry)) + g_signal_connect (priv->entry, "stop-search", + G_CALLBACK (stop_search_cb), self); + else + g_signal_connect (priv->entry, "key-press-event", + G_CALLBACK (entry_key_pressed_event_cb), self); + } +} + +/** + * hdy_search_bar_connect_entry: + * @self: a #HdySearchBar + * @entry: a #GtkEntry + * + * Connects the #GtkEntry widget passed as the one to be used in + * this search bar. The entry should be a descendant of the search bar. + * This is only required if the entry isn’t the direct child of the + * search bar (as in our main example). + * + * Since: 0.0.6 + */ +void +hdy_search_bar_connect_entry (HdySearchBar *self, + GtkEntry *entry) +{ + g_return_if_fail (HDY_IS_SEARCH_BAR (self)); + g_return_if_fail (entry == NULL || GTK_IS_ENTRY (entry)); + + hdy_search_bar_set_entry (self, entry); +} + +/** + * hdy_search_bar_get_search_mode: + * @self: a #HdySearchBar + * + * Returns whether the search mode is on or off. + * + * Returns: whether search mode is toggled on + * + * Since: 0.0.6 + */ +gboolean +hdy_search_bar_get_search_mode (HdySearchBar *self) +{ + HdySearchBarPrivate *priv = hdy_search_bar_get_instance_private (self); + + g_return_val_if_fail (HDY_IS_SEARCH_BAR (self), FALSE); + + return priv->reveal_child; +} + +/** + * hdy_search_bar_set_search_mode: + * @self: a #HdySearchBar + * @search_mode: the new state of the search mode + * + * Switches the search mode on or off. + * + * Since: 0.0.6 + */ +void +hdy_search_bar_set_search_mode (HdySearchBar *self, + gboolean search_mode) +{ + HdySearchBarPrivate *priv = hdy_search_bar_get_instance_private (self); + + g_return_if_fail (HDY_IS_SEARCH_BAR (self)); + + gtk_revealer_set_reveal_child (GTK_REVEALER (priv->revealer), search_mode); +} + +/** + * hdy_search_bar_get_show_close_button: + * @self: a #HdySearchBar + * + * Returns whether the close button is shown. + * + * Returns: whether the close button is shown + * + * Since: 0.0.6 + */ +gboolean +hdy_search_bar_get_show_close_button (HdySearchBar *self) +{ + HdySearchBarPrivate *priv = hdy_search_bar_get_instance_private (self); + + g_return_val_if_fail (HDY_IS_SEARCH_BAR (self), FALSE); + + return priv->show_close_button; +} + +/** + * hdy_search_bar_set_show_close_button: + * @self: a #HdySearchBar + * @visible: whether the close button will be shown or not + * + * Shows or hides the close button. Applications that + * already have a “search” toggle button should not show a close + * button in their search bar, as it duplicates the role of the + * toggle button. + * + * Since: 0.0.6 + */ +void +hdy_search_bar_set_show_close_button (HdySearchBar *self, + gboolean visible) +{ + HdySearchBarPrivate *priv = hdy_search_bar_get_instance_private (self); + + g_return_if_fail (HDY_IS_SEARCH_BAR (self)); + + visible = visible != FALSE; + + if (priv->show_close_button == visible) + return; + + priv->show_close_button = visible; + gtk_widget_set_visible (priv->start, visible); + gtk_widget_set_visible (priv->end, visible); + g_object_notify (G_OBJECT (self), "show-close-button"); +} diff --git a/subprojects/libhandy/src/hdy-search-bar.h b/subprojects/libhandy/src/hdy-search-bar.h new file mode 100644 index 00000000..fc6aa72c --- /dev/null +++ b/subprojects/libhandy/src/hdy-search-bar.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2017 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_SEARCH_BAR (hdy_search_bar_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (HdySearchBar, hdy_search_bar, HDY, SEARCH_BAR, GtkBin) + +struct _HdySearchBarClass +{ + GtkBinClass parent_class; + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_search_bar_new (void); +HDY_AVAILABLE_IN_ALL +void hdy_search_bar_connect_entry (HdySearchBar *self, + GtkEntry *entry); +HDY_AVAILABLE_IN_ALL +gboolean hdy_search_bar_get_search_mode (HdySearchBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_search_bar_set_search_mode (HdySearchBar *self, + gboolean search_mode); +HDY_AVAILABLE_IN_ALL +gboolean hdy_search_bar_get_show_close_button (HdySearchBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_search_bar_set_show_close_button (HdySearchBar *self, + gboolean visible); +HDY_AVAILABLE_IN_ALL +gboolean hdy_search_bar_handle_event (HdySearchBar *self, + GdkEvent *event); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-search-bar.ui b/subprojects/libhandy/src/hdy-search-bar.ui new file mode 100644 index 00000000..5e790420 --- /dev/null +++ b/subprojects/libhandy/src/hdy-search-bar.ui @@ -0,0 +1,63 @@ + + + + + horizontal + + + + + + diff --git a/subprojects/libhandy/src/hdy-shadow-helper-private.h b/subprojects/libhandy/src/hdy-shadow-helper-private.h new file mode 100644 index 00000000..4d96e11b --- /dev/null +++ b/subprojects/libhandy/src/hdy-shadow-helper-private.h @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_SHADOW_HELPER (hdy_shadow_helper_get_type()) + +G_DECLARE_FINAL_TYPE (HdyShadowHelper, hdy_shadow_helper, HDY, SHADOW_HELPER, GObject) + +HdyShadowHelper *hdy_shadow_helper_new (GtkWidget *widget); + +void hdy_shadow_helper_clear_cache (HdyShadowHelper *self); + +void hdy_shadow_helper_draw_shadow (HdyShadowHelper *self, + cairo_t *cr, + gint width, + gint height, + gdouble progress, + GtkPanDirection direction); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-shadow-helper.c b/subprojects/libhandy/src/hdy-shadow-helper.c new file mode 100644 index 00000000..929f04a3 --- /dev/null +++ b/subprojects/libhandy/src/hdy-shadow-helper.c @@ -0,0 +1,445 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-cairo-private.h" +#include "hdy-shadow-helper-private.h" + +#include + +/** + * PRIVATE:hdy-shadow-helper + * @short_description: Shadow helper used in #HdyLeaflet + * @title: HdyShadowHelper + * @See_also: #HdyLeaflet + * @stability: Private + * + * A helper class for drawing #HdyLeaflet transition shadow. + * + * Since: 0.0.12 + */ + +struct _HdyShadowHelper +{ + GObject parent_instance; + + GtkWidget *widget; + + gboolean is_cache_valid; + + cairo_pattern_t *dimming_pattern; + cairo_pattern_t *shadow_pattern; + cairo_pattern_t *border_pattern; + cairo_pattern_t *outline_pattern; + gint shadow_size; + gint border_size; + gint outline_size; + + GtkPanDirection last_direction; + gint last_width; + gint last_height; + gint last_scale; +}; + +G_DEFINE_TYPE (HdyShadowHelper, hdy_shadow_helper, G_TYPE_OBJECT); + +enum { + PROP_0, + PROP_WIDGET, + LAST_PROP, +}; + +static GParamSpec *props[LAST_PROP]; + + +static GtkStyleContext * +create_context (HdyShadowHelper *self, + const gchar *name, + GtkPanDirection direction) +{ + g_autoptr(GtkWidgetPath) path = NULL; + GtkStyleContext *context; + gint pos; + const gchar *direction_name; + GEnumClass *enum_class; + + enum_class = g_type_class_ref (GTK_TYPE_PAN_DIRECTION); + direction_name = g_enum_get_value (enum_class, direction)->value_nick; + + path = gtk_widget_path_copy (gtk_widget_get_path (self->widget)); + + pos = gtk_widget_path_append_type (path, GTK_TYPE_WIDGET); + gtk_widget_path_iter_set_object_name (path, pos, name); + + gtk_widget_path_iter_add_class (path, pos, direction_name); + + context = gtk_style_context_new (); + gtk_style_context_set_path (context, path); + + g_type_class_unref (enum_class); + + return context; +} + +static gint +get_element_size (GtkStyleContext *context, + GtkPanDirection direction) +{ + gint width, height; + + gtk_style_context_get (context, + gtk_style_context_get_state (context), + "min-width", &width, + "min-height", &height, + NULL); + + switch (direction) { + case GTK_PAN_DIRECTION_LEFT: + case GTK_PAN_DIRECTION_RIGHT: + return width; + case GTK_PAN_DIRECTION_UP: + case GTK_PAN_DIRECTION_DOWN: + return height; + default: + g_assert_not_reached (); + } + + return 0; +} + +static cairo_pattern_t * +create_element_pattern (GtkStyleContext *context, + gint width, + gint height) +{ + g_autoptr (cairo_surface_t) surface = + cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height); + g_autoptr (cairo_t) cr = cairo_create (surface); + cairo_pattern_t *pattern; + + gtk_render_background (context, cr, 0, 0, width, height); + gtk_render_frame (context, cr, 0, 0, width, height); + + pattern = cairo_pattern_create_for_surface (surface); + + return pattern; +} + +static void +cache_shadow (HdyShadowHelper *self, + gint width, + gint height, + GtkPanDirection direction) +{ + g_autoptr(GtkStyleContext) dim_context = NULL; + g_autoptr(GtkStyleContext) shadow_context = NULL; + g_autoptr(GtkStyleContext) border_context = NULL; + g_autoptr(GtkStyleContext) outline_context = NULL; + gint shadow_size, border_size, outline_size, scale; + + scale = gtk_widget_get_scale_factor (self->widget); + + if (self->last_direction == direction && + self->last_width == width && + self->last_height == height && + self->last_scale == scale && + self->is_cache_valid) + return; + + hdy_shadow_helper_clear_cache (self); + + dim_context = create_context (self, "dimming", direction); + shadow_context = create_context (self, "shadow", direction); + border_context = create_context (self, "border", direction); + outline_context = create_context (self, "outline", direction); + + shadow_size = get_element_size (shadow_context, direction); + border_size = get_element_size (border_context, direction); + outline_size = get_element_size (outline_context, direction); + + self->dimming_pattern = create_element_pattern (dim_context, width, height); + if (direction == GTK_PAN_DIRECTION_LEFT || direction == GTK_PAN_DIRECTION_RIGHT) { + self->shadow_pattern = create_element_pattern (shadow_context, shadow_size, height); + self->border_pattern = create_element_pattern (border_context, border_size, height); + self->outline_pattern = create_element_pattern (outline_context, outline_size, height); + } else { + self->shadow_pattern = create_element_pattern (shadow_context, width, shadow_size); + self->border_pattern = create_element_pattern (border_context, width, border_size); + self->outline_pattern = create_element_pattern (outline_context, width, outline_size); + } + + self->border_size = border_size; + self->shadow_size = shadow_size; + self->outline_size = outline_size; + + self->is_cache_valid = TRUE; + self->last_direction = direction; + self->last_width = width; + self->last_height = height; + self->last_scale = scale; +} + +static void +hdy_shadow_helper_dispose (GObject *object) +{ + HdyShadowHelper *self = HDY_SHADOW_HELPER (object); + + hdy_shadow_helper_clear_cache (self); + + if (self->widget) + g_clear_object (&self->widget); + + G_OBJECT_CLASS (hdy_shadow_helper_parent_class)->dispose (object); +} + +static void +hdy_shadow_helper_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyShadowHelper *self = HDY_SHADOW_HELPER (object); + + switch (prop_id) { + case PROP_WIDGET: + g_value_set_object (value, self->widget); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_shadow_helper_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyShadowHelper *self = HDY_SHADOW_HELPER (object); + + switch (prop_id) { + case PROP_WIDGET: + self->widget = GTK_WIDGET (g_object_ref (g_value_get_object (value))); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_shadow_helper_class_init (HdyShadowHelperClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->dispose = hdy_shadow_helper_dispose; + object_class->get_property = hdy_shadow_helper_get_property; + object_class->set_property = hdy_shadow_helper_set_property; + + /** + * HdyShadowHelper:widget: + * + * The widget the shadow will be drawn for. Must not be %NULL + * + * Since: 0.0.11 + */ + props[PROP_WIDGET] = + g_param_spec_object ("widget", + _("Widget"), + _("The widget the shadow will be drawn for"), + GTK_TYPE_WIDGET, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); + + g_object_class_install_properties (object_class, LAST_PROP, props); +} + +static void +hdy_shadow_helper_init (HdyShadowHelper *self) +{ +} + +/** + * hdy_shadow_helper_new: + * + * Creates a new #HdyShadowHelper object. + * + * Returns: The newly created #HdyShadowHelper object + * + * Since: 0.0.12 + */ +HdyShadowHelper * +hdy_shadow_helper_new (GtkWidget *widget) +{ + return g_object_new (HDY_TYPE_SHADOW_HELPER, + "widget", widget, + NULL); +} + +/** + * hdy_shadow_helper_clear_cache: + * @self: a #HdyShadowHelper + * + * Clears shadow cache. This should be used after a transition is done. + * + * Since: 0.0.12 + */ +void +hdy_shadow_helper_clear_cache (HdyShadowHelper *self) +{ + if (!self->is_cache_valid) + return; + + cairo_pattern_destroy (self->dimming_pattern); + cairo_pattern_destroy (self->shadow_pattern); + cairo_pattern_destroy (self->border_pattern); + cairo_pattern_destroy (self->outline_pattern); + self->border_size = 0; + self->shadow_size = 0; + self->outline_size = 0; + + self->last_direction = 0; + self->last_width = 0; + self->last_height = 0; + self->last_scale = 0; + + self->is_cache_valid = FALSE; +} + +/** + * hdy_shadow_helper_draw_shadow: + * @self: a #HdyShadowHelper + * @cr: a Cairo context to draw to + * @width: the width of the shadow rectangle + * @height: the height of the shadow rectangle + * @progress: transition progress, changes from 0 to 1 + * @direction: shadow direction + * + * Draws a transition shadow. For caching to work, @width, @height and + * @direction shouldn't change between calls. + * + * Since: 0.0.12 + */ +void +hdy_shadow_helper_draw_shadow (HdyShadowHelper *self, + cairo_t *cr, + gint width, + gint height, + gdouble progress, + GtkPanDirection direction) +{ + gdouble remaining_distance, shadow_opacity; + gint shadow_size, border_size, outline_size, distance; + + if (progress <= 0 || progress >= 1) + return; + + cache_shadow (self, width, height, direction); + + shadow_size = self->shadow_size; + border_size = self->border_size; + outline_size = self->outline_size; + + switch (direction) { + case GTK_PAN_DIRECTION_LEFT: + case GTK_PAN_DIRECTION_RIGHT: + distance = width; + break; + case GTK_PAN_DIRECTION_UP: + case GTK_PAN_DIRECTION_DOWN: + distance = height; + break; + default: + g_assert_not_reached (); + } + + remaining_distance = (1 - progress) * (gdouble) distance; + shadow_opacity = 1; + if (remaining_distance < shadow_size) + shadow_opacity = (remaining_distance / shadow_size); + + cairo_save (cr); + + switch (direction) { + case GTK_PAN_DIRECTION_LEFT: + cairo_rectangle (cr, -outline_size, 0, width + outline_size, height); + break; + case GTK_PAN_DIRECTION_RIGHT: + cairo_rectangle (cr, 0, 0, width + outline_size, height); + break; + case GTK_PAN_DIRECTION_UP: + cairo_rectangle (cr, 0, -outline_size, width, height + outline_size); + break; + case GTK_PAN_DIRECTION_DOWN: + cairo_rectangle (cr, 0, 0, width, height + outline_size); + break; + default: + g_assert_not_reached (); + } + cairo_clip (cr); + gdk_window_mark_paint_from_clip (gtk_widget_get_window (self->widget), cr); + + cairo_set_source (cr, self->dimming_pattern); + cairo_paint_with_alpha (cr, 1 - progress); + + switch (direction) { + case GTK_PAN_DIRECTION_RIGHT: + cairo_translate (cr, width - shadow_size, 0); + break; + case GTK_PAN_DIRECTION_DOWN: + cairo_translate (cr, 0, height - shadow_size); + break; + case GTK_PAN_DIRECTION_LEFT: + case GTK_PAN_DIRECTION_UP: + break; + default: + g_assert_not_reached (); + } + + cairo_set_source (cr, self->shadow_pattern); + cairo_paint_with_alpha (cr, shadow_opacity); + + switch (direction) { + case GTK_PAN_DIRECTION_RIGHT: + cairo_translate (cr, shadow_size - border_size, 0); + break; + case GTK_PAN_DIRECTION_DOWN: + cairo_translate (cr, 0, shadow_size - border_size); + break; + case GTK_PAN_DIRECTION_LEFT: + case GTK_PAN_DIRECTION_UP: + break; + default: + g_assert_not_reached (); + } + + cairo_set_source (cr, self->border_pattern); + cairo_paint (cr); + + switch (direction) { + case GTK_PAN_DIRECTION_RIGHT: + cairo_translate (cr, border_size, 0); + break; + case GTK_PAN_DIRECTION_DOWN: + cairo_translate (cr, 0, border_size); + break; + case GTK_PAN_DIRECTION_LEFT: + cairo_translate (cr, -outline_size, 0); + break; + case GTK_PAN_DIRECTION_UP: + cairo_translate (cr, 0, -outline_size); + break; + default: + g_assert_not_reached (); + } + + cairo_set_source (cr, self->outline_pattern); + cairo_paint (cr); + + cairo_restore (cr); +} diff --git a/subprojects/libhandy/src/hdy-squeezer.c b/subprojects/libhandy/src/hdy-squeezer.c new file mode 100644 index 00000000..24648828 --- /dev/null +++ b/subprojects/libhandy/src/hdy-squeezer.c @@ -0,0 +1,1576 @@ +/* + * Copyright (C) 2013 Red Hat, Inc. + * Copyright (C) 2019 Purism SPC + * + * Author: Alexander Larsson + * Author: Adrien Plazas + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +/* + * Forked from the GTK+ 3.24.2 GtkStack widget initially written by Alexander + * Larsson, and heavily modified for libhandy by Adrien Plazas on behalf of + * Purism SPC 2019. + */ + +#include "config.h" +#include + +#include "hdy-squeezer.h" + +#include "gtkprogresstrackerprivate.h" +#include "hdy-animation-private.h" +#include "hdy-cairo-private.h" +#include "hdy-css-private.h" + +/** + * SECTION:hdy-squeezer + * @short_description: A best fit container. + * @Title: HdySqueezer + * + * The HdySqueezer widget is a container which only shows the first of its + * children that fits in the available size. It is convenient to offer different + * widgets to represent the same data with different levels of detail, making + * the widget seem to squeeze itself to fit in the available space. + * + * Transitions between children can be animated as fades. This can be controlled + * with hdy_squeezer_set_transition_type(). + * + * # CSS nodes + * + * #HdySqueezer has a single CSS node with name squeezer. + */ + +/** + * HdySqueezerTransitionType: + * @HDY_SQUEEZER_TRANSITION_TYPE_NONE: No transition + * @HDY_SQUEEZER_TRANSITION_TYPE_CROSSFADE: A cross-fade + * + * These enumeration values describe the possible transitions between children + * in a #HdySqueezer widget. + */ + +enum { + PROP_0, + PROP_HOMOGENEOUS, + PROP_VISIBLE_CHILD, + PROP_TRANSITION_DURATION, + PROP_TRANSITION_TYPE, + PROP_TRANSITION_RUNNING, + PROP_INTERPOLATE_SIZE, + PROP_XALIGN, + PROP_YALIGN, + + /* Overridden properties */ + PROP_ORIENTATION, + + LAST_PROP = PROP_YALIGN + 1, +}; + +enum { + CHILD_PROP_0, + CHILD_PROP_ENABLED, + + LAST_CHILD_PROP, +}; + +typedef struct { + GtkWidget *widget; + gboolean enabled; + GtkWidget *last_focus; +} HdySqueezerChildInfo; + +struct _HdySqueezer +{ + GtkContainer parent_instance; + + GList *children; + + GdkWindow* bin_window; + GdkWindow* view_window; + + HdySqueezerChildInfo *visible_child; + + gboolean homogeneous; + + HdySqueezerTransitionType transition_type; + guint transition_duration; + + HdySqueezerChildInfo *last_visible_child; + cairo_surface_t *last_visible_surface; + GtkAllocation last_visible_surface_allocation; + guint tick_id; + GtkProgressTracker tracker; + gboolean first_frame_skipped; + + gint last_visible_widget_width; + gint last_visible_widget_height; + + HdySqueezerTransitionType active_transition_type; + + gboolean interpolate_size; + + gfloat xalign; + gfloat yalign; + + GtkOrientation orientation; +}; + +static GParamSpec *props[LAST_PROP]; +static GParamSpec *child_props[LAST_CHILD_PROP]; + +G_DEFINE_TYPE_WITH_CODE (HdySqueezer, hdy_squeezer, GTK_TYPE_CONTAINER, + G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)) + +static GtkOrientation +get_orientation (HdySqueezer *self) +{ + return self->orientation; +} + +static void +set_orientation (HdySqueezer *self, + GtkOrientation orientation) +{ + if (self->orientation == orientation) + return; + + self->orientation = orientation; + gtk_widget_queue_resize (GTK_WIDGET (self)); + g_object_notify (G_OBJECT (self), "orientation"); +} + +static HdySqueezerChildInfo * +find_child_info_for_widget (HdySqueezer *self, + GtkWidget *child) +{ + HdySqueezerChildInfo *info; + GList *l; + + for (l = self->children; l != NULL; l = l->next) { + info = l->data; + if (info->widget == child) + return info; + } + + return NULL; +} + +static void +hdy_squeezer_progress_updated (HdySqueezer *self) +{ + gtk_widget_queue_draw (GTK_WIDGET (self)); + + if (!self->homogeneous) + gtk_widget_queue_resize (GTK_WIDGET (self)); + + if (gtk_progress_tracker_get_state (&self->tracker) == GTK_PROGRESS_STATE_AFTER) { + if (self->last_visible_surface != NULL) { + cairo_surface_destroy (self->last_visible_surface); + self->last_visible_surface = NULL; + } + + if (self->last_visible_child != NULL) { + gtk_widget_set_child_visible (self->last_visible_child->widget, FALSE); + self->last_visible_child = NULL; + } + } +} + +static gboolean +hdy_squeezer_transition_cb (GtkWidget *widget, + GdkFrameClock *frame_clock, + gpointer user_data) +{ + HdySqueezer *self = HDY_SQUEEZER (widget); + + if (self->first_frame_skipped) { + gtk_progress_tracker_advance_frame (&self->tracker, + gdk_frame_clock_get_frame_time (frame_clock)); + } else { + self->first_frame_skipped = TRUE; + } + + /* Finish the animation early if the widget isn't mapped anymore. */ + if (!gtk_widget_get_mapped (widget)) + gtk_progress_tracker_finish (&self->tracker); + + hdy_squeezer_progress_updated (HDY_SQUEEZER (widget)); + + if (gtk_progress_tracker_get_state (&self->tracker) == GTK_PROGRESS_STATE_AFTER) { + self->tick_id = 0; + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRANSITION_RUNNING]); + + return FALSE; + } + + return TRUE; +} + +static void +hdy_squeezer_schedule_ticks (HdySqueezer *self) +{ + if (self->tick_id == 0) { + self->tick_id = + gtk_widget_add_tick_callback (GTK_WIDGET (self), hdy_squeezer_transition_cb, self, NULL); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRANSITION_RUNNING]); + } +} + +static void +hdy_squeezer_unschedule_ticks (HdySqueezer *self) +{ + if (self->tick_id != 0) { + gtk_widget_remove_tick_callback (GTK_WIDGET (self), self->tick_id); + self->tick_id = 0; + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRANSITION_RUNNING]); + } +} + +static void +hdy_squeezer_start_transition (HdySqueezer *self, + HdySqueezerTransitionType transition_type, + guint transition_duration) +{ + GtkWidget *widget = GTK_WIDGET (self); + + if (gtk_widget_get_mapped (widget) && + hdy_get_enable_animations (widget) && + transition_type != HDY_SQUEEZER_TRANSITION_TYPE_NONE && + transition_duration != 0 && + self->last_visible_child != NULL) { + self->active_transition_type = transition_type; + self->first_frame_skipped = FALSE; + hdy_squeezer_schedule_ticks (self); + gtk_progress_tracker_start (&self->tracker, + self->transition_duration * 1000, + 0, + 1.0); + } else { + hdy_squeezer_unschedule_ticks (self); + self->active_transition_type = HDY_SQUEEZER_TRANSITION_TYPE_NONE; + gtk_progress_tracker_finish (&self->tracker); + } + + hdy_squeezer_progress_updated (HDY_SQUEEZER (widget)); +} + +static void +set_visible_child (HdySqueezer *self, + HdySqueezerChildInfo *child_info, + HdySqueezerTransitionType transition_type, + guint transition_duration) +{ + HdySqueezerChildInfo *info; + GtkWidget *widget = GTK_WIDGET (self); + GList *l; + GtkWidget *toplevel; + GtkWidget *focus; + gboolean contains_focus = FALSE; + + /* If we are being destroyed, do not bother with transitions and + * notifications. + */ + if (gtk_widget_in_destruction (widget)) + return; + + /* If none, pick the first visible. */ + if (child_info == NULL) { + for (l = self->children; l != NULL; l = l->next) { + info = l->data; + if (gtk_widget_get_visible (info->widget)) { + child_info = info; + break; + } + } + } + + if (child_info == self->visible_child) + return; + + toplevel = gtk_widget_get_toplevel (widget); + if (GTK_IS_WINDOW (toplevel)) { + focus = gtk_window_get_focus (GTK_WINDOW (toplevel)); + if (focus && + self->visible_child && + self->visible_child->widget && + gtk_widget_is_ancestor (focus, self->visible_child->widget)) { + contains_focus = TRUE; + + if (self->visible_child->last_focus) + g_object_remove_weak_pointer (G_OBJECT (self->visible_child->last_focus), + (gpointer *)&self->visible_child->last_focus); + self->visible_child->last_focus = focus; + g_object_add_weak_pointer (G_OBJECT (self->visible_child->last_focus), + (gpointer *)&self->visible_child->last_focus); + } + } + + if (self->last_visible_child != NULL) + gtk_widget_set_child_visible (self->last_visible_child->widget, FALSE); + self->last_visible_child = NULL; + + if (self->last_visible_surface != NULL) + cairo_surface_destroy (self->last_visible_surface); + self->last_visible_surface = NULL; + + if (self->visible_child && self->visible_child->widget) { + if (gtk_widget_is_visible (widget)) { + GtkAllocation allocation; + + self->last_visible_child = self->visible_child; + gtk_widget_get_allocated_size (self->last_visible_child->widget, &allocation, NULL); + self->last_visible_widget_width = allocation.width; + self->last_visible_widget_height = allocation.height; + } else { + gtk_widget_set_child_visible (self->visible_child->widget, FALSE); + } + } + + self->visible_child = child_info; + + if (child_info) { + gtk_widget_set_child_visible (child_info->widget, TRUE); + + if (contains_focus) { + if (child_info->last_focus) + gtk_widget_grab_focus (child_info->last_focus); + else + gtk_widget_child_focus (child_info->widget, GTK_DIR_TAB_FORWARD); + } + } + + if (self->homogeneous) + gtk_widget_queue_allocate (widget); + else + gtk_widget_queue_resize (widget); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_VISIBLE_CHILD]); + + hdy_squeezer_start_transition (self, transition_type, transition_duration); +} + +static void +stack_child_visibility_notify_cb (GObject *obj, + GParamSpec *pspec, + gpointer user_data) +{ + HdySqueezer *self = HDY_SQUEEZER (user_data); + GtkWidget *child = GTK_WIDGET (obj); + HdySqueezerChildInfo *child_info; + + child_info = find_child_info_for_widget (self, child); + + if (self->visible_child == NULL && + gtk_widget_get_visible (child)) + set_visible_child (self, child_info, self->transition_type, self->transition_duration); + else if (self->visible_child == child_info && + !gtk_widget_get_visible (child)) + set_visible_child (self, NULL, self->transition_type, self->transition_duration); + + if (child_info == self->last_visible_child) { + gtk_widget_set_child_visible (self->last_visible_child->widget, FALSE); + self->last_visible_child = NULL; + } +} + +static void +hdy_squeezer_add (GtkContainer *container, + GtkWidget *child) +{ + HdySqueezer *self = HDY_SQUEEZER (container); + HdySqueezerChildInfo *child_info; + + g_return_if_fail (child != NULL); + + child_info = g_slice_new (HdySqueezerChildInfo); + child_info->widget = child; + child_info->enabled = TRUE; + child_info->last_focus = NULL; + + self->children = g_list_append (self->children, child_info); + + gtk_widget_set_child_visible (child, FALSE); + gtk_widget_set_parent_window (child, self->bin_window); + gtk_widget_set_parent (child, GTK_WIDGET (self)); + + if (self->bin_window != NULL) { + gdk_window_set_events (self->bin_window, + gdk_window_get_events (self->bin_window) | + gtk_widget_get_events (child)); + } + + g_signal_connect (child, "notify::visible", + G_CALLBACK (stack_child_visibility_notify_cb), self); + + if (self->visible_child == NULL && + gtk_widget_get_visible (child)) + set_visible_child (self, child_info, self->transition_type, self->transition_duration); + + if (self->visible_child == child_info) + gtk_widget_queue_resize (GTK_WIDGET (self)); +} + +static void +hdy_squeezer_remove (GtkContainer *container, + GtkWidget *child) +{ + HdySqueezer *self = HDY_SQUEEZER (container); + HdySqueezerChildInfo *child_info; + gboolean was_visible; + + child_info = find_child_info_for_widget (self, child); + if (child_info == NULL) + return; + + self->children = g_list_remove (self->children, child_info); + + g_signal_handlers_disconnect_by_func (child, + stack_child_visibility_notify_cb, + self); + + was_visible = gtk_widget_get_visible (child); + + child_info->widget = NULL; + + if (self->visible_child == child_info) + set_visible_child (self, NULL, self->transition_type, self->transition_duration); + + if (self->last_visible_child == child_info) + self->last_visible_child = NULL; + + gtk_widget_unparent (child); + + if (child_info->last_focus) + g_object_remove_weak_pointer (G_OBJECT (child_info->last_focus), + (gpointer *)&child_info->last_focus); + + g_slice_free (HdySqueezerChildInfo, child_info); + + if (self->homogeneous && was_visible) + gtk_widget_queue_resize (GTK_WIDGET (self)); +} + +static void +hdy_squeezer_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + HdySqueezer *self = HDY_SQUEEZER (object); + + switch (property_id) { + case PROP_HOMOGENEOUS: + g_value_set_boolean (value, hdy_squeezer_get_homogeneous (self)); + break; + case PROP_VISIBLE_CHILD: + g_value_set_object (value, hdy_squeezer_get_visible_child (self)); + break; + case PROP_TRANSITION_DURATION: + g_value_set_uint (value, hdy_squeezer_get_transition_duration (self)); + break; + case PROP_TRANSITION_TYPE: + g_value_set_enum (value, hdy_squeezer_get_transition_type (self)); + break; + case PROP_TRANSITION_RUNNING: + g_value_set_boolean (value, hdy_squeezer_get_transition_running (self)); + break; + case PROP_INTERPOLATE_SIZE: + g_value_set_boolean (value, hdy_squeezer_get_interpolate_size (self)); + break; + case PROP_XALIGN: + g_value_set_float (value, hdy_squeezer_get_xalign (self)); + break; + case PROP_YALIGN: + g_value_set_float (value, hdy_squeezer_get_yalign (self)); + break; + case PROP_ORIENTATION: + g_value_set_enum (value, get_orientation (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + +static void +hdy_squeezer_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + HdySqueezer *self = HDY_SQUEEZER (object); + + switch (property_id) { + case PROP_HOMOGENEOUS: + hdy_squeezer_set_homogeneous (self, g_value_get_boolean (value)); + break; + case PROP_TRANSITION_DURATION: + hdy_squeezer_set_transition_duration (self, g_value_get_uint (value)); + break; + case PROP_TRANSITION_TYPE: + hdy_squeezer_set_transition_type (self, g_value_get_enum (value)); + break; + case PROP_INTERPOLATE_SIZE: + hdy_squeezer_set_interpolate_size (self, g_value_get_boolean (value)); + break; + case PROP_XALIGN: + hdy_squeezer_set_xalign (self, g_value_get_float (value)); + break; + case PROP_YALIGN: + hdy_squeezer_set_yalign (self, g_value_get_float (value)); + break; + case PROP_ORIENTATION: + set_orientation (self, g_value_get_enum (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + +static void +hdy_squeezer_realize (GtkWidget *widget) +{ + HdySqueezer *self = HDY_SQUEEZER (widget); + GtkAllocation allocation; + GdkWindowAttr attributes = { 0 }; + GdkWindowAttributesType attributes_mask; + HdySqueezerChildInfo *info; + GList *l; + + gtk_widget_set_realized (widget, TRUE); + gtk_widget_set_window (widget, g_object_ref (gtk_widget_get_parent_window (widget))); + + gtk_widget_get_allocation (widget, &allocation); + + attributes.x = allocation.x; + attributes.y = allocation.y; + attributes.width = allocation.width; + attributes.height = allocation.height; + attributes.window_type = GDK_WINDOW_CHILD; + attributes.wclass = GDK_INPUT_OUTPUT; + attributes.visual = gtk_widget_get_visual (widget); + attributes.event_mask = + gtk_widget_get_events (widget); + attributes_mask = (GDK_WA_X | GDK_WA_Y) | GDK_WA_VISUAL; + + self->view_window = + gdk_window_new (gtk_widget_get_window (GTK_WIDGET (self)), + &attributes, attributes_mask); + gtk_widget_register_window (widget, self->view_window); + + attributes.x = 0; + attributes.y = 0; + attributes.width = allocation.width; + attributes.height = allocation.height; + + for (l = self->children; l != NULL; l = l->next) { + info = l->data; + attributes.event_mask |= gtk_widget_get_events (info->widget); + } + + self->bin_window = + gdk_window_new (self->view_window, &attributes, attributes_mask); + gtk_widget_register_window (widget, self->bin_window); + + for (l = self->children; l != NULL; l = l->next) { + info = l->data; + + gtk_widget_set_parent_window (info->widget, self->bin_window); + } + + gdk_window_show (self->bin_window); +} + +static void +hdy_squeezer_unrealize (GtkWidget *widget) +{ + HdySqueezer *self = HDY_SQUEEZER (widget); + + gtk_widget_unregister_window (widget, self->bin_window); + gdk_window_destroy (self->bin_window); + self->bin_window = NULL; + gtk_widget_unregister_window (widget, self->view_window); + gdk_window_destroy (self->view_window); + self->view_window = NULL; + + GTK_WIDGET_CLASS (hdy_squeezer_parent_class)->unrealize (widget); +} + +static void +hdy_squeezer_map (GtkWidget *widget) +{ + HdySqueezer *self = HDY_SQUEEZER (widget); + + GTK_WIDGET_CLASS (hdy_squeezer_parent_class)->map (widget); + + gdk_window_show (self->view_window); +} + +static void +hdy_squeezer_unmap (GtkWidget *widget) +{ + HdySqueezer *self = HDY_SQUEEZER (widget); + + gdk_window_hide (self->view_window); + + GTK_WIDGET_CLASS (hdy_squeezer_parent_class)->unmap (widget); +} + +static void +hdy_squeezer_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + HdySqueezer *self = HDY_SQUEEZER (container); + HdySqueezerChildInfo *child_info; + GList *l; + + l = self->children; + while (l) { + child_info = l->data; + l = l->next; + + (* callback) (child_info->widget, callback_data); + } +} + +static void +hdy_squeezer_compute_expand (GtkWidget *widget, + gboolean *hexpand_p, + gboolean *vexpand_p) +{ + HdySqueezer *self = HDY_SQUEEZER (widget); + gboolean hexpand, vexpand; + HdySqueezerChildInfo *child_info; + GtkWidget *child; + GList *l; + + hexpand = FALSE; + vexpand = FALSE; + for (l = self->children; l != NULL; l = l->next) { + child_info = l->data; + child = child_info->widget; + + if (!hexpand && + gtk_widget_compute_expand (child, GTK_ORIENTATION_HORIZONTAL)) + hexpand = TRUE; + + if (!vexpand && + gtk_widget_compute_expand (child, GTK_ORIENTATION_VERTICAL)) + vexpand = TRUE; + + if (hexpand && vexpand) + break; + } + + *hexpand_p = hexpand; + *vexpand_p = vexpand; +} + +static void +hdy_squeezer_draw_crossfade (GtkWidget *widget, + cairo_t *cr) +{ + HdySqueezer *self = HDY_SQUEEZER (widget); + gdouble progress = gtk_progress_tracker_get_progress (&self->tracker, FALSE); + + cairo_push_group (cr); + gtk_container_propagate_draw (GTK_CONTAINER (self), + self->visible_child->widget, + cr); + cairo_save (cr); + + /* Multiply alpha by progress. */ + cairo_set_source_rgba (cr, 1, 1, 1, progress); + cairo_set_operator (cr, CAIRO_OPERATOR_DEST_IN); + cairo_paint (cr); + + if (self->last_visible_surface != NULL) { + gint width_diff = gtk_widget_get_allocated_width (widget) - self->last_visible_surface_allocation.width; + gint height_diff = gtk_widget_get_allocated_height (widget) - self->last_visible_surface_allocation.height; + + cairo_set_source_surface (cr, self->last_visible_surface, + width_diff * self->xalign, + height_diff * self->yalign); + cairo_set_operator (cr, CAIRO_OPERATOR_ADD); + cairo_paint_with_alpha (cr, MAX (1.0 - progress, 0)); + } + + cairo_restore (cr); + + cairo_pop_group_to_source (cr); + cairo_set_operator (cr, CAIRO_OPERATOR_OVER); + cairo_paint (cr); +} + +static gboolean +hdy_squeezer_draw (GtkWidget *widget, + cairo_t *cr) +{ + HdySqueezer *self = HDY_SQUEEZER (widget); + + if (gtk_cairo_should_draw_window (cr, self->view_window)) { + GtkStyleContext *context; + + context = gtk_widget_get_style_context (widget); + gtk_render_background (context, + cr, + 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + } + + if (self->visible_child) { + if (gtk_progress_tracker_get_state (&self->tracker) != GTK_PROGRESS_STATE_AFTER) { + if (self->last_visible_surface == NULL && + self->last_visible_child != NULL) { + g_autoptr (cairo_t) pattern_cr = NULL; + + gtk_widget_get_allocation (self->last_visible_child->widget, + &self->last_visible_surface_allocation); + self->last_visible_surface = + gdk_window_create_similar_surface (gtk_widget_get_window (widget), + CAIRO_CONTENT_COLOR_ALPHA, + self->last_visible_surface_allocation.width, + self->last_visible_surface_allocation.height); + pattern_cr = cairo_create (self->last_visible_surface); + /* We don't use propagate_draw here, because we don't want to apply the + * bin_window offset. + */ + gtk_widget_draw (self->last_visible_child->widget, pattern_cr); + } + + cairo_rectangle (cr, + 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + cairo_clip (cr); + + switch (self->active_transition_type) { + case HDY_SQUEEZER_TRANSITION_TYPE_CROSSFADE: + if (gtk_cairo_should_draw_window (cr, self->bin_window)) + hdy_squeezer_draw_crossfade (widget, cr); + break; + case HDY_SQUEEZER_TRANSITION_TYPE_NONE: + default: + g_assert_not_reached (); + } + + } else if (gtk_cairo_should_draw_window (cr, self->bin_window)) + gtk_container_propagate_draw (GTK_CONTAINER (self), + self->visible_child->widget, + cr); + } + + return FALSE; +} + +static void +hdy_squeezer_size_allocate (GtkWidget *widget, + GtkAllocation *allocation) +{ + HdySqueezer *self = HDY_SQUEEZER (widget); + HdySqueezerChildInfo *child_info = NULL; + GtkWidget *child = NULL; + gint child_min; + GList *l; + GtkAllocation child_allocation; + + hdy_css_size_allocate (widget, allocation); + + gtk_widget_set_allocation (widget, allocation); + + for (l = self->children; l != NULL; l = l->next) { + child_info = l->data; + child = child_info->widget; + + if (!gtk_widget_get_visible (child)) + continue; + + if (!child_info->enabled) + continue; + + if (self->orientation == GTK_ORIENTATION_VERTICAL) { + if (gtk_widget_get_request_mode (child) != GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH) + gtk_widget_get_preferred_height (child, &child_min, NULL); + else + gtk_widget_get_preferred_height_for_width (child, allocation->width, &child_min, NULL); + + if (child_min <= allocation->height) + break; + } else { + if (gtk_widget_get_request_mode (child) != GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT) + gtk_widget_get_preferred_width (child, &child_min, NULL); + else + gtk_widget_get_preferred_width_for_height (child, allocation->height, &child_min, NULL); + + if (child_min <= allocation->width) + break; + } + } + + set_visible_child (self, child_info, + self->transition_type, + self->transition_duration); + + child_allocation.x = 0; + child_allocation.y = 0; + + if (gtk_widget_get_realized (widget)) { + gdk_window_move_resize (self->view_window, + allocation->x, allocation->y, + allocation->width, allocation->height); + gdk_window_move_resize (self->bin_window, + 0, 0, + allocation->width, allocation->height); + } + + if (self->last_visible_child != NULL) { + int min, nat; + gtk_widget_get_preferred_width (self->last_visible_child->widget, &min, &nat); + child_allocation.width = MAX (min, allocation->width); + gtk_widget_get_preferred_height_for_width (self->last_visible_child->widget, + child_allocation.width, + &min, &nat); + child_allocation.height = MAX (min, allocation->height); + + gtk_widget_size_allocate (self->last_visible_child->widget, &child_allocation); + } + + child_allocation.width = allocation->width; + child_allocation.height = allocation->height; + + if (self->visible_child) { + int min, nat; + GtkAlign valign; + + gtk_widget_get_preferred_height_for_width (self->visible_child->widget, + allocation->width, + &min, &nat); + if (self->interpolate_size) { + valign = gtk_widget_get_valign (self->visible_child->widget); + child_allocation.height = MAX (nat, allocation->height); + if (valign == GTK_ALIGN_END && + child_allocation.height > allocation->height) + child_allocation.y -= nat - allocation->height; + else if (valign == GTK_ALIGN_CENTER && + child_allocation.height > allocation->height) + child_allocation.y -= (nat - allocation->height) / 2; + } + + gtk_widget_size_allocate (self->visible_child->widget, &child_allocation); + } +} + +/* This private method is prefixed by the class name because it will be a + * virtual method in GTK 4. + */ +static void +hdy_squeezer_measure (GtkWidget *widget, + GtkOrientation orientation, + int for_size, + int *minimum, + int *natural, + int *minimum_baseline, + int *natural_baseline) +{ + HdySqueezer *self = HDY_SQUEEZER (widget); + HdySqueezerChildInfo *child_info; + GtkWidget *child; + gint child_min, child_nat; + GList *l; + + *minimum = 0; + *natural = 0; + + for (l = self->children; l != NULL; l = l->next) { + child_info = l->data; + child = child_info->widget; + + if (self->orientation != orientation && !self->homogeneous && + self->visible_child != child_info) + continue; + + if (!gtk_widget_get_visible (child)) + continue; + + /* Disabled children are taken into account when measuring the widget, to + * keep its size request and allocation consistent. This avoids the + * appearant size and position of a child to changes suddenly when a larger + * child gets enabled/disabled. + */ + + if (orientation == GTK_ORIENTATION_VERTICAL) { + if (for_size < 0) + gtk_widget_get_preferred_height (child, &child_min, &child_nat); + else + gtk_widget_get_preferred_height_for_width (child, for_size, &child_min, &child_nat); + } else { + if (for_size < 0) + gtk_widget_get_preferred_width (child, &child_min, &child_nat); + else + gtk_widget_get_preferred_width_for_height (child, for_size, &child_min, &child_nat); + } + + if (self->orientation == orientation) + *minimum = *minimum == 0 ? child_min : MIN (*minimum, child_min); + else + *minimum = MAX (*minimum, child_min); + *natural = MAX (*natural, child_nat); + } + + if (self->orientation != orientation && !self->homogeneous && + self->interpolate_size && + self->last_visible_child != NULL) { + gdouble t = gtk_progress_tracker_get_ease_out_cubic (&self->tracker, FALSE); + if (orientation == GTK_ORIENTATION_VERTICAL) { + *minimum = hdy_lerp (self->last_visible_widget_height, *minimum, t); + *natural = hdy_lerp (self->last_visible_widget_height, *natural, t); + } else { + *minimum = hdy_lerp (self->last_visible_widget_width, *minimum, t); + *natural = hdy_lerp (self->last_visible_widget_width, *natural, t); + } + } + + hdy_css_measure (widget, orientation, minimum, natural); +} + +static void +hdy_squeezer_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + hdy_squeezer_measure (widget, GTK_ORIENTATION_HORIZONTAL, -1, + minimum, natural, NULL, NULL); +} + +static void +hdy_squeezer_get_preferred_width_for_height (GtkWidget *widget, + gint height, + gint *minimum, + gint *natural) +{ + hdy_squeezer_measure (widget, GTK_ORIENTATION_HORIZONTAL, height, + minimum, natural, NULL, NULL); +} + +static void +hdy_squeezer_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + hdy_squeezer_measure (widget, GTK_ORIENTATION_VERTICAL, -1, + minimum, natural, NULL, NULL); +} + +static void +hdy_squeezer_get_preferred_height_for_width (GtkWidget *widget, + gint width, + gint *minimum, + gint *natural) +{ + hdy_squeezer_measure (widget, GTK_ORIENTATION_VERTICAL, width, + minimum, natural, NULL, NULL); +} + +static void +hdy_squeezer_get_child_property (GtkContainer *container, + GtkWidget *widget, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + HdySqueezer *self = HDY_SQUEEZER (container); + HdySqueezerChildInfo *child_info; + + child_info = find_child_info_for_widget (self, widget); + if (child_info == NULL) { + g_param_value_set_default (pspec, value); + + return; + } + + switch (property_id) { + case CHILD_PROP_ENABLED: + g_value_set_boolean (value, hdy_squeezer_get_child_enabled (self, widget)); + break; + default: + GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec); + break; + } +} + +static void +hdy_squeezer_set_child_property (GtkContainer *container, + GtkWidget *widget, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + HdySqueezer *self = HDY_SQUEEZER (container); + HdySqueezerChildInfo *child_info; + + child_info = find_child_info_for_widget (self, widget); + if (child_info == NULL) + return; + + switch (property_id) { + case CHILD_PROP_ENABLED: + hdy_squeezer_set_child_enabled (self, widget, g_value_get_boolean (value)); + break; + default: + GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec); + break; + } +} + +static void +hdy_squeezer_dispose (GObject *object) +{ + HdySqueezer *self = HDY_SQUEEZER (object); + + self->visible_child = NULL; + + G_OBJECT_CLASS (hdy_squeezer_parent_class)->dispose (object); +} + +static void +hdy_squeezer_finalize (GObject *object) +{ + HdySqueezer *self = HDY_SQUEEZER (object); + + hdy_squeezer_unschedule_ticks (self); + + if (self->last_visible_surface != NULL) + cairo_surface_destroy (self->last_visible_surface); + + G_OBJECT_CLASS (hdy_squeezer_parent_class)->finalize (object); +} + +static void +hdy_squeezer_class_init (HdySqueezerClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); + + object_class->get_property = hdy_squeezer_get_property; + object_class->set_property = hdy_squeezer_set_property; + object_class->dispose = hdy_squeezer_dispose; + object_class->finalize = hdy_squeezer_finalize; + + widget_class->size_allocate = hdy_squeezer_size_allocate; + widget_class->draw = hdy_squeezer_draw; + widget_class->realize = hdy_squeezer_realize; + widget_class->unrealize = hdy_squeezer_unrealize; + widget_class->map = hdy_squeezer_map; + widget_class->unmap = hdy_squeezer_unmap; + widget_class->get_preferred_height = hdy_squeezer_get_preferred_height; + widget_class->get_preferred_height_for_width = hdy_squeezer_get_preferred_height_for_width; + widget_class->get_preferred_width = hdy_squeezer_get_preferred_width; + widget_class->get_preferred_width_for_height = hdy_squeezer_get_preferred_width_for_height; + widget_class->compute_expand = hdy_squeezer_compute_expand; + + container_class->add = hdy_squeezer_add; + container_class->remove = hdy_squeezer_remove; + container_class->forall = hdy_squeezer_forall; + container_class->set_child_property = hdy_squeezer_set_child_property; + container_class->get_child_property = hdy_squeezer_get_child_property; + gtk_container_class_handle_border_width (container_class); + + g_object_class_override_property (object_class, + PROP_ORIENTATION, + "orientation"); + + props[PROP_HOMOGENEOUS] = + g_param_spec_boolean ("homogeneous", + _("Homogeneous"), + _("Homogeneous sizing"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_VISIBLE_CHILD] = + g_param_spec_object ("visible-child", + _("Visible child"), + _("The widget currently visible in the squeezer"), + GTK_TYPE_WIDGET, + G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_TRANSITION_DURATION] = + g_param_spec_uint ("transition-duration", + _("Transition duration"), + _("The animation duration, in milliseconds"), + 0, G_MAXUINT, 200, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_TRANSITION_TYPE] = + g_param_spec_enum ("transition-type", + _("Transition type"), + _("The type of animation used to transition"), + HDY_TYPE_SQUEEZER_TRANSITION_TYPE, + HDY_SQUEEZER_TRANSITION_TYPE_NONE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_TRANSITION_RUNNING] = + g_param_spec_boolean ("transition-running", + _("Transition running"), + _("Whether or not the transition is currently running"), + FALSE, + G_PARAM_READABLE); + + props[PROP_INTERPOLATE_SIZE] = + g_param_spec_boolean ("interpolate-size", + _("Interpolate size"), + _("Whether or not the size should smoothly change when changing between differently sized children"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdySqueezer:xalign: + * + * The xalign property determines the horizontal alignment of the children + * inside the squeezer's size allocation. + * Compare this to #GtkWidget:halign, which determines how the squeezer's size + * allocation is positioned in the space available for the squeezer. + * The range goes from 0 (start) to 1 (end). + * + * This will affect the position of children too wide to fit in the squeezer + * as they are fading out. + * + * Since: 1.0 + */ + props[PROP_XALIGN] = + g_param_spec_float ("xalign", + _("X align"), + _("The horizontal alignment, from 0 (start) to 1 (end)"), + 0.0, 1.0, + 0.5, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdySqueezer:yalign: + * + * The yalign property determines the vertical alignment of the children inside + * the squeezer's size allocation. + * Compare this to #GtkWidget:valign, which determines how the squeezer's size + * allocation is positioned in the space available for the squeezer. + * The range goes from 0 (top) to 1 (bottom). + * + * This will affect the position of children too tall to fit in the squeezer + * as they are fading out. + * + * Since: 1.0 + */ + props[PROP_YALIGN] = + g_param_spec_float ("yalign", + _("Y align"), + _("The vertical alignment, from 0 (top) to 1 (bottom)"), + 0.0, 1.0, + 0.5, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + child_props[CHILD_PROP_ENABLED] = + g_param_spec_boolean ("enabled", + _("Enabled"), + _("Whether the child can be picked or should be ignored when looking for the child fitting the available size best"), + TRUE, + G_PARAM_READWRITE); + + gtk_container_class_install_child_properties (container_class, LAST_CHILD_PROP, child_props); + + gtk_widget_class_set_css_name (widget_class, "squeezer"); +} + +static void +hdy_squeezer_init (HdySqueezer *self) +{ + + gtk_widget_set_has_window (GTK_WIDGET (self), FALSE); + + self->homogeneous = TRUE; + self->transition_duration = 200; + self->transition_type = HDY_SQUEEZER_TRANSITION_TYPE_NONE; + self->xalign = 0.5; + self->yalign = 0.5; +} + +/** + * hdy_squeezer_new: + * + * Creates a new #HdySqueezer container. + * + * Returns: a new #HdySqueezer + */ +GtkWidget * +hdy_squeezer_new (void) +{ + return g_object_new (HDY_TYPE_SQUEEZER, NULL); +} + +/** + * hdy_squeezer_get_homogeneous: + * @self: a #HdySqueezer + * + * Gets whether @self is homogeneous. + * + * See hdy_squeezer_set_homogeneous(). + * + * Returns: %TRUE if @self is homogeneous, %FALSE is not + * + * Since: 0.0.10 + */ +gboolean +hdy_squeezer_get_homogeneous (HdySqueezer *self) +{ + g_return_val_if_fail (HDY_IS_SQUEEZER (self), FALSE); + + return self->homogeneous; +} + +/** + * hdy_squeezer_set_homogeneous: + * @self: a #HdySqueezer + * @homogeneous: %TRUE to make @self homogeneous + * + * Sets @self to be homogeneous or not. If it is homogeneous, @self will request + * the same size for all its children for its opposite orientation, e.g. if + * @self is oriented horizontally and is homogeneous, it will request the same + * height for all its children. If it isn't, @self may change size when a + * different child becomes visible. + * + * Since: 0.0.10 + */ +void +hdy_squeezer_set_homogeneous (HdySqueezer *self, + gboolean homogeneous) +{ + g_return_if_fail (HDY_IS_SQUEEZER (self)); + + homogeneous = !!homogeneous; + + if (self->homogeneous == homogeneous) + return; + + self->homogeneous = homogeneous; + + if (gtk_widget_get_visible (GTK_WIDGET(self))) + gtk_widget_queue_resize (GTK_WIDGET (self)); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_HOMOGENEOUS]); +} + +/** + * hdy_squeezer_get_transition_duration: + * @self: a #HdySqueezer + * + * Gets the amount of time (in milliseconds) that transitions between children + * in @self will take. + * + * Returns: the transition duration + */ +guint +hdy_squeezer_get_transition_duration (HdySqueezer *self) +{ + g_return_val_if_fail (HDY_IS_SQUEEZER (self), 0); + + return self->transition_duration; +} + +/** + * hdy_squeezer_set_transition_duration: + * @self: a #HdySqueezer + * @duration: the new duration, in milliseconds + * + * Sets the duration that transitions between children in @self will take. + */ +void +hdy_squeezer_set_transition_duration (HdySqueezer *self, + guint duration) +{ + g_return_if_fail (HDY_IS_SQUEEZER (self)); + + if (self->transition_duration == duration) + return; + + self->transition_duration = duration; + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRANSITION_DURATION]); +} + +/** + * hdy_squeezer_get_transition_type: + * @self: a #HdySqueezer + * + * Gets the type of animation that will be used for transitions between children + * in @self. + * + * Returns: the current transition type of @self + */ +HdySqueezerTransitionType +hdy_squeezer_get_transition_type (HdySqueezer *self) +{ + g_return_val_if_fail (HDY_IS_SQUEEZER (self), HDY_SQUEEZER_TRANSITION_TYPE_NONE); + + return self->transition_type; +} + +/** + * hdy_squeezer_set_transition_type: + * @self: a #HdySqueezer + * @transition: the new transition type + * + * Sets the type of animation that will be used for transitions between children + * in @self. Available types include various kinds of fades and slides. + * + * The transition type can be changed without problems at runtime, so it is + * possible to change the animation based on the child that is about to become + * current. + */ +void +hdy_squeezer_set_transition_type (HdySqueezer *self, + HdySqueezerTransitionType transition) +{ + g_return_if_fail (HDY_IS_SQUEEZER (self)); + + if (self->transition_type == transition) + return; + + self->transition_type = transition; + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TRANSITION_TYPE]); +} + +/** + * hdy_squeezer_get_transition_running: + * @self: a #HdySqueezer + * + * Gets whether @self is currently in a transition from one child to another. + * + * Returns: %TRUE if the transition is currently running, %FALSE otherwise. + */ +gboolean +hdy_squeezer_get_transition_running (HdySqueezer *self) +{ + g_return_val_if_fail (HDY_IS_SQUEEZER (self), FALSE); + + return (self->tick_id != 0); +} + +/** + * hdy_squeezer_get_interpolate_size: + * @self: A #HdySqueezer + * + * Gets whether @self should interpolate its size on visible child change. + * + * See hdy_squeezer_set_interpolate_size(). + * + * Returns: %TRUE if @self interpolates its size on visible child change, %FALSE if not + * + * Since: 0.0.10 + */ +gboolean +hdy_squeezer_get_interpolate_size (HdySqueezer *self) +{ + g_return_val_if_fail (HDY_IS_SQUEEZER (self), FALSE); + + return self->interpolate_size; +} + +/** + * hdy_squeezer_set_interpolate_size: + * @self: A #HdySqueezer + * @interpolate_size: %TRUE to interpolate the size + * + * Sets whether or not @self will interpolate the size of its opposing + * orientation when changing the visible child. If %TRUE, @self will interpolate + * its size between the one of the previous visible child and the one of the new + * visible child, according to the set transition duration and the orientation, + * e.g. if @self is horizontal, it will interpolate the its height. + * + * Since: 0.0.10 + */ +void +hdy_squeezer_set_interpolate_size (HdySqueezer *self, + gboolean interpolate_size) +{ + g_return_if_fail (HDY_IS_SQUEEZER (self)); + + interpolate_size = !!interpolate_size; + + if (self->interpolate_size == interpolate_size) + return; + + self->interpolate_size = interpolate_size; + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INTERPOLATE_SIZE]); +} + +/** + * hdy_squeezer_get_visible_child: + * @self: a #HdySqueezer + * + * Gets the currently visible child of @self, or %NULL if there are no visible + * children. + * + * Returns: (transfer none) (nullable): the visible child of the #HdySqueezer + */ +GtkWidget * +hdy_squeezer_get_visible_child (HdySqueezer *self) +{ + g_return_val_if_fail (HDY_IS_SQUEEZER (self), NULL); + + return self->visible_child ? self->visible_child->widget : NULL; +} + +/** + * hdy_squeezer_get_child_enabled: + * @self: a #HdySqueezer + * @child: a child of @self + * + * Gets whether @child is enabled. + * + * See hdy_squeezer_set_child_enabled(). + * + * Returns: %TRUE if @child is enabled, %FALSE otherwise. + */ +gboolean +hdy_squeezer_get_child_enabled (HdySqueezer *self, + GtkWidget *child) +{ + HdySqueezerChildInfo *child_info; + + g_return_val_if_fail (HDY_IS_SQUEEZER (self), FALSE); + g_return_val_if_fail (GTK_IS_WIDGET (child), FALSE); + + child_info = find_child_info_for_widget (self, child); + + g_return_val_if_fail (child_info != NULL, FALSE); + + return child_info->enabled; +} + +/** + * hdy_squeezer_set_child_enabled: + * @self: a #HdySqueezer + * @child: a child of @self + * @enabled: %TRUE to enable the child, %FALSE to disable it + * + * Make @self enable or disable @child. If a child is disabled, it will be + * ignored when looking for the child fitting the available size best. This + * allows to programmatically and prematurely hide a child of @self even if it + * fits in the available space. + * + * This can be used e.g. to ensure a certain child is hidden below a certain + * window width, or any other constraint you find suitable. + */ +void +hdy_squeezer_set_child_enabled (HdySqueezer *self, + GtkWidget *child, + gboolean enabled) +{ + HdySqueezerChildInfo *child_info; + + g_return_if_fail (HDY_IS_SQUEEZER (self)); + g_return_if_fail (GTK_IS_WIDGET (child)); + + child_info = find_child_info_for_widget (self, child); + + g_return_if_fail (child_info != NULL); + + enabled = !!enabled; + + if (child_info->enabled == enabled) + return; + + child_info->enabled = enabled; + gtk_widget_queue_resize (GTK_WIDGET (self)); +} + +/** + * hdy_squeezer_get_xalign: + * @self: a #HdySqueezer + * + * Gets the #HdySqueezer:xalign property for @self. + * + * Returns: the xalign property + * + * Since: 1.0 + */ +gfloat +hdy_squeezer_get_xalign (HdySqueezer *self) +{ + g_return_val_if_fail (HDY_IS_SQUEEZER (self), 0.5); + + return self->xalign; +} + +/** + * hdy_squeezer_set_xalign: + * @self: a #HdySqueezer + * @xalign: the new xalign value, between 0 and 1 + * + * Sets the #HdySqueezer:xalign property for @self. + * + * Since: 1.0 + */ +void +hdy_squeezer_set_xalign (HdySqueezer *self, + gfloat xalign) +{ + g_return_if_fail (HDY_IS_SQUEEZER (self)); + + xalign = CLAMP (xalign, 0.0, 1.0); + + if (self->xalign == xalign) + return; + + self->xalign = xalign; + gtk_widget_queue_draw (GTK_WIDGET (self)); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_XALIGN]); +} + +/** + * hdy_squeezer_get_yalign: + * @self: a #HdySqueezer + * + * Gets the #HdySqueezer:yalign property for @self. + * + * Returns: the yalign property + * + * Since: 1.0 + */ +gfloat +hdy_squeezer_get_yalign (HdySqueezer *self) +{ + g_return_val_if_fail (HDY_IS_SQUEEZER (self), 0.5); + + return self->yalign; +} + +/** + * hdy_squeezer_set_yalign: + * @self: a #HdySqueezer + * @yalign: the new yalign value, between 0 and 1 + * + * Sets the #HdySqueezer:yalign property for @self. + * + * Since: 1.0 + */ +void +hdy_squeezer_set_yalign (HdySqueezer *self, + gfloat yalign) +{ + g_return_if_fail (HDY_IS_SQUEEZER (self)); + + yalign = CLAMP (yalign, 0.0, 1.0); + + if (self->yalign == yalign) + return; + + self->yalign = yalign; + gtk_widget_queue_draw (GTK_WIDGET (self)); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_YALIGN]); +} diff --git a/subprojects/libhandy/src/hdy-squeezer.h b/subprojects/libhandy/src/hdy-squeezer.h new file mode 100644 index 00000000..9b981163 --- /dev/null +++ b/subprojects/libhandy/src/hdy-squeezer.h @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include "hdy-enums.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_SQUEEZER (hdy_squeezer_get_type ()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdySqueezer, hdy_squeezer, HDY, SQUEEZER, GtkContainer) + +typedef enum { + HDY_SQUEEZER_TRANSITION_TYPE_NONE, + HDY_SQUEEZER_TRANSITION_TYPE_CROSSFADE, +} HdySqueezerTransitionType; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_squeezer_new (void); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_squeezer_get_homogeneous (HdySqueezer *self); +HDY_AVAILABLE_IN_ALL +void hdy_squeezer_set_homogeneous (HdySqueezer *self, + gboolean homogeneous); + +HDY_AVAILABLE_IN_ALL +guint hdy_squeezer_get_transition_duration (HdySqueezer *self); +HDY_AVAILABLE_IN_ALL +void hdy_squeezer_set_transition_duration (HdySqueezer *self, + guint duration); + +HDY_AVAILABLE_IN_ALL +HdySqueezerTransitionType hdy_squeezer_get_transition_type (HdySqueezer *self); +HDY_AVAILABLE_IN_ALL +void hdy_squeezer_set_transition_type (HdySqueezer *self, + HdySqueezerTransitionType transition); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_squeezer_get_transition_running (HdySqueezer *self); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_squeezer_get_interpolate_size (HdySqueezer *self); +HDY_AVAILABLE_IN_ALL +void hdy_squeezer_set_interpolate_size (HdySqueezer *self, + gboolean interpolate_size); + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_squeezer_get_visible_child (HdySqueezer *self); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_squeezer_get_child_enabled (HdySqueezer *self, + GtkWidget *child); +HDY_AVAILABLE_IN_ALL +void hdy_squeezer_set_child_enabled (HdySqueezer *self, + GtkWidget *child, + gboolean enabled); + +HDY_AVAILABLE_IN_ALL +gfloat hdy_squeezer_get_xalign (HdySqueezer *self); +HDY_AVAILABLE_IN_ALL +void hdy_squeezer_set_xalign (HdySqueezer *self, + gfloat xalign); + +HDY_AVAILABLE_IN_ALL +gfloat hdy_squeezer_get_yalign (HdySqueezer *self); +HDY_AVAILABLE_IN_ALL +void hdy_squeezer_set_yalign (HdySqueezer *self, + gfloat yalign); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-stackable-box-private.h b/subprojects/libhandy/src/hdy-stackable-box-private.h new file mode 100644 index 00000000..d72c75a7 --- /dev/null +++ b/subprojects/libhandy/src/hdy-stackable-box-private.h @@ -0,0 +1,133 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include +#include "hdy-navigation-direction.h" +#include "hdy-swipe-tracker.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_STACKABLE_BOX (hdy_stackable_box_get_type()) + +G_DECLARE_FINAL_TYPE (HdyStackableBox, hdy_stackable_box, HDY, STACKABLE_BOX, GObject) + +typedef enum { + HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER, + HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER, + HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE, +} HdyStackableBoxTransitionType; + +HdyStackableBox *hdy_stackable_box_new (GtkContainer *container, + GtkContainerClass *klass, + gboolean can_unfold); +gboolean hdy_stackable_box_get_folded (HdyStackableBox *self); +GtkWidget *hdy_stackable_box_get_visible_child (HdyStackableBox *self); +void hdy_stackable_box_set_visible_child (HdyStackableBox *self, + GtkWidget *visible_child); +const gchar *hdy_stackable_box_get_visible_child_name (HdyStackableBox *self); +void hdy_stackable_box_set_visible_child_name (HdyStackableBox *self, + const gchar *name); +gboolean hdy_stackable_box_get_homogeneous (HdyStackableBox *self, + gboolean folded, + GtkOrientation orientation); +void hdy_stackable_box_set_homogeneous (HdyStackableBox *self, + gboolean folded, + GtkOrientation orientation, + gboolean homogeneous); +HdyStackableBoxTransitionType hdy_stackable_box_get_transition_type (HdyStackableBox *self); +void hdy_stackable_box_set_transition_type (HdyStackableBox *self, + HdyStackableBoxTransitionType transition); + +guint hdy_stackable_box_get_mode_transition_duration (HdyStackableBox *self); +void hdy_stackable_box_set_mode_transition_duration (HdyStackableBox *self, + guint duration); + +guint hdy_stackable_box_get_child_transition_duration (HdyStackableBox *self); +void hdy_stackable_box_set_child_transition_duration (HdyStackableBox *self, + guint duration); +gboolean hdy_stackable_box_get_child_transition_running (HdyStackableBox *self); +gboolean hdy_stackable_box_get_interpolate_size (HdyStackableBox *self); +void hdy_stackable_box_set_interpolate_size (HdyStackableBox *self, + gboolean interpolate_size); +gboolean hdy_stackable_box_get_can_swipe_back (HdyStackableBox *self); +void hdy_stackable_box_set_can_swipe_back (HdyStackableBox *self, + gboolean can_swipe_back); +gboolean hdy_stackable_box_get_can_swipe_forward (HdyStackableBox *self); +void hdy_stackable_box_set_can_swipe_forward (HdyStackableBox *self, + gboolean can_swipe_forward); + +GtkWidget *hdy_stackable_box_get_adjacent_child (HdyStackableBox *self, + HdyNavigationDirection direction); +gboolean hdy_stackable_box_navigate (HdyStackableBox *self, + HdyNavigationDirection direction); + +GtkWidget *hdy_stackable_box_get_child_by_name (HdyStackableBox *self, + const gchar *name); + +GtkOrientation hdy_stackable_box_get_orientation (HdyStackableBox *self); +void hdy_stackable_box_set_orientation (HdyStackableBox *self, + GtkOrientation orientation); + +const gchar *hdy_stackable_box_get_child_name (HdyStackableBox *self, + GtkWidget *widget); +void hdy_stackable_box_set_child_name (HdyStackableBox *self, + GtkWidget *widget, + const gchar *name); +gboolean hdy_stackable_box_get_child_navigatable (HdyStackableBox *self, + GtkWidget *widget); +void hdy_stackable_box_set_child_navigatable (HdyStackableBox *self, + GtkWidget *widget, + gboolean navigatable); + +void hdy_stackable_box_switch_child (HdyStackableBox *self, + guint index, + gint64 duration); + +HdySwipeTracker *hdy_stackable_box_get_swipe_tracker (HdyStackableBox *self); +gdouble hdy_stackable_box_get_distance (HdyStackableBox *self); +gdouble *hdy_stackable_box_get_snap_points (HdyStackableBox *self, + gint *n_snap_points); +gdouble hdy_stackable_box_get_progress (HdyStackableBox *self); +gdouble hdy_stackable_box_get_cancel_progress (HdyStackableBox *self); +void hdy_stackable_box_get_swipe_area (HdyStackableBox *self, + HdyNavigationDirection navigation_direction, + gboolean is_drag, + GdkRectangle *rect); + +void hdy_stackable_box_add (HdyStackableBox *self, + GtkWidget *widget); +void hdy_stackable_box_remove (HdyStackableBox *self, + GtkWidget *widget); +void hdy_stackable_box_forall (HdyStackableBox *self, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data); + +void hdy_stackable_box_measure (HdyStackableBox *self, + GtkOrientation orientation, + int for_size, + int *minimum, + int *natural, + int *minimum_baseline, + int *natural_baseline); +void hdy_stackable_box_size_allocate (HdyStackableBox *self, + GtkAllocation *allocation); +gboolean hdy_stackable_box_draw (HdyStackableBox *self, + cairo_t *cr); +void hdy_stackable_box_realize (HdyStackableBox *self); +void hdy_stackable_box_unrealize (HdyStackableBox *self); +void hdy_stackable_box_map (HdyStackableBox *self); +void hdy_stackable_box_unmap (HdyStackableBox *self); +void hdy_stackable_box_direction_changed (HdyStackableBox *self, + GtkTextDirection previous_direction); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-stackable-box.c b/subprojects/libhandy/src/hdy-stackable-box.c new file mode 100644 index 00000000..417b3954 --- /dev/null +++ b/subprojects/libhandy/src/hdy-stackable-box.c @@ -0,0 +1,3153 @@ +/* + * Copyright (C) 2018 Purism SPC + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "gtkprogresstrackerprivate.h" +#include "hdy-animation-private.h" +#include "hdy-enums-private.h" +#include "hdy-stackable-box-private.h" +#include "hdy-shadow-helper-private.h" +#include "hdy-swipeable.h" + +/** + * PRIVATE:hdy-stackable-box + * @short_description: An adaptive container acting like a box or a stack. + * @Title: HdyStackableBox + * @stability: Private + * @See_also: #HdyDeck, #HdyLeaflet + * + * The #HdyStackableBox object can arrange the widgets it manages like #GtkBox + * does or like a #GtkStack does, adapting to size changes by switching between + * the two modes. These modes are named respectively “unfoled” and “folded”. + * + * When there is enough space the children are displayed side by side, otherwise + * only one is displayed. The threshold is dictated by the preferred minimum + * sizes of the children. + * + * #HdyStackableBox is used as an internal implementation of #HdyDeck and + * #HdyLeaflet. + * + * Since: 1.0 + */ + +/** + * HdyStackableBoxTransitionType: + * @HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER: Cover the old page or uncover the new page, sliding from or towards the end according to orientation, text direction and children order + * @HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER: Uncover the new page or cover the old page, sliding from or towards the start according to orientation, text direction and children order + * @HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE: Slide from left, right, up or down according to the orientation, text direction and the children order + * + * This enumeration value describes the possible transitions between modes and + * children in a #HdyStackableBox widget. + * + * New values may be added to this enumeration over time. + * + * Since: 1.0 + */ + +enum { + PROP_0, + PROP_FOLDED, + PROP_HHOMOGENEOUS_FOLDED, + PROP_VHOMOGENEOUS_FOLDED, + PROP_HHOMOGENEOUS_UNFOLDED, + PROP_VHOMOGENEOUS_UNFOLDED, + PROP_VISIBLE_CHILD, + PROP_VISIBLE_CHILD_NAME, + PROP_TRANSITION_TYPE, + PROP_MODE_TRANSITION_DURATION, + PROP_CHILD_TRANSITION_DURATION, + PROP_CHILD_TRANSITION_RUNNING, + PROP_INTERPOLATE_SIZE, + PROP_CAN_SWIPE_BACK, + PROP_CAN_SWIPE_FORWARD, + PROP_ORIENTATION, + LAST_PROP, +}; + +#define HDY_FOLD_UNFOLDED FALSE +#define HDY_FOLD_FOLDED TRUE +#define HDY_FOLD_MAX 2 +#define GTK_ORIENTATION_MAX 2 +#define HDY_SWIPE_BORDER 16 + +typedef struct _HdyStackableBoxChildInfo HdyStackableBoxChildInfo; + +struct _HdyStackableBoxChildInfo +{ + GtkWidget *widget; + GdkWindow *window; + gchar *name; + gboolean navigatable; + + /* Convenience storage for per-child temporary frequently computed values. */ + GtkAllocation alloc; + GtkRequisition min; + GtkRequisition nat; + gboolean visible; +}; + +struct _HdyStackableBox +{ + GObject parent; + + GtkContainer *container; + GtkContainerClass *klass; + gboolean can_unfold; + + GList *children; + /* It is probably cheaper to store and maintain a reversed copy of the + * children list that to reverse the list every time we need to allocate or + * draw children for RTL languages on a horizontal widget. + */ + GList *children_reversed; + HdyStackableBoxChildInfo *visible_child; + HdyStackableBoxChildInfo *last_visible_child; + + GdkWindow* view_window; + + gboolean folded; + + gboolean homogeneous[HDY_FOLD_MAX][GTK_ORIENTATION_MAX]; + + GtkOrientation orientation; + + HdyStackableBoxTransitionType transition_type; + + HdySwipeTracker *tracker; + + struct { + guint duration; + + gdouble current_pos; + gdouble source_pos; + gdouble target_pos; + + gdouble start_progress; + gdouble end_progress; + guint tick_id; + GtkProgressTracker tracker; + } mode_transition; + + /* Child transition variables. */ + struct { + guint duration; + + gdouble progress; + gdouble start_progress; + gdouble end_progress; + + gboolean is_gesture_active; + gboolean is_cancelled; + + guint tick_id; + GtkProgressTracker tracker; + gboolean first_frame_skipped; + + gboolean interpolate_size; + gboolean can_swipe_back; + gboolean can_swipe_forward; + + GtkPanDirection active_direction; + gboolean is_direct_swipe; + gint swipe_direction; + } child_transition; + + HdyShadowHelper *shadow_helper; +}; + +static GParamSpec *props[LAST_PROP]; + +static gint HOMOGENEOUS_PROP[HDY_FOLD_MAX][GTK_ORIENTATION_MAX] = { + { PROP_HHOMOGENEOUS_UNFOLDED, PROP_VHOMOGENEOUS_UNFOLDED}, + { PROP_HHOMOGENEOUS_FOLDED, PROP_VHOMOGENEOUS_FOLDED}, +}; + +G_DEFINE_TYPE (HdyStackableBox, hdy_stackable_box, G_TYPE_OBJECT); + +static void +free_child_info (HdyStackableBoxChildInfo *child_info) +{ + g_free (child_info->name); + g_free (child_info); +} + +G_DEFINE_AUTOPTR_CLEANUP_FUNC (HdyStackableBoxChildInfo, free_child_info) + +static HdyStackableBoxChildInfo * +find_child_info_for_widget (HdyStackableBox *self, + GtkWidget *widget) +{ + GList *children; + HdyStackableBoxChildInfo *child_info; + + for (children = self->children; children; children = children->next) { + child_info = children->data; + + if (child_info->widget == widget) + return child_info; + } + + return NULL; +} + +static HdyStackableBoxChildInfo * +find_child_info_for_name (HdyStackableBox *self, + const gchar *name) +{ + GList *children; + HdyStackableBoxChildInfo *child_info; + + for (children = self->children; children; children = children->next) { + child_info = children->data; + + if (g_strcmp0 (child_info->name, name) == 0) + return child_info; + } + + return NULL; +} + +static GList * +get_directed_children (HdyStackableBox *self) +{ + return self->orientation == GTK_ORIENTATION_HORIZONTAL && + gtk_widget_get_direction (GTK_WIDGET (self->container)) == GTK_TEXT_DIR_RTL ? + self->children_reversed : self->children; +} + +static GtkPanDirection +get_pan_direction (HdyStackableBox *self, + gboolean new_child_first) +{ + if (self->orientation == GTK_ORIENTATION_HORIZONTAL) { + if (gtk_widget_get_direction (GTK_WIDGET (self->container)) == GTK_TEXT_DIR_RTL) + return new_child_first ? GTK_PAN_DIRECTION_LEFT : GTK_PAN_DIRECTION_RIGHT; + else + return new_child_first ? GTK_PAN_DIRECTION_RIGHT : GTK_PAN_DIRECTION_LEFT; + } + else + return new_child_first ? GTK_PAN_DIRECTION_DOWN : GTK_PAN_DIRECTION_UP; +} + +static gint +get_child_window_x (HdyStackableBox *self, + HdyStackableBoxChildInfo *child_info, + gint width) +{ + gboolean is_rtl; + gint rtl_multiplier; + + if (!self->child_transition.is_gesture_active && + gtk_progress_tracker_get_state (&self->child_transition.tracker) == GTK_PROGRESS_STATE_AFTER) + return 0; + + if (self->child_transition.active_direction != GTK_PAN_DIRECTION_LEFT && + self->child_transition.active_direction != GTK_PAN_DIRECTION_RIGHT) + return 0; + + is_rtl = gtk_widget_get_direction (GTK_WIDGET (self->container)) == GTK_TEXT_DIR_RTL; + rtl_multiplier = is_rtl ? -1 : 1; + + if ((self->child_transition.active_direction == GTK_PAN_DIRECTION_RIGHT) == is_rtl) { + if ((self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER || + self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE) && + child_info == self->visible_child) + return width * (1 - self->child_transition.progress) * rtl_multiplier; + + if ((self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER || + self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE) && + child_info == self->last_visible_child) + return -width * self->child_transition.progress * rtl_multiplier; + } else { + if ((self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER || + self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE) && + child_info == self->visible_child) + return -width * (1 - self->child_transition.progress) * rtl_multiplier; + + if ((self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER || + self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE) && + child_info == self->last_visible_child) + return width * self->child_transition.progress * rtl_multiplier; + } + + return 0; +} + +static gint +get_child_window_y (HdyStackableBox *self, + HdyStackableBoxChildInfo *child_info, + gint height) +{ + if (!self->child_transition.is_gesture_active && + gtk_progress_tracker_get_state (&self->child_transition.tracker) == GTK_PROGRESS_STATE_AFTER) + return 0; + + if (self->child_transition.active_direction != GTK_PAN_DIRECTION_UP && + self->child_transition.active_direction != GTK_PAN_DIRECTION_DOWN) + return 0; + + if (self->child_transition.active_direction == GTK_PAN_DIRECTION_UP) { + if ((self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER || + self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE) && + child_info == self->visible_child) + return height * (1 - self->child_transition.progress); + + if ((self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER || + self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE) && + child_info == self->last_visible_child) + return -height * self->child_transition.progress; + } else { + if ((self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER || + self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE) && + child_info == self->visible_child) + return -height * (1 - self->child_transition.progress); + + if ((self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER || + self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE) && + child_info == self->last_visible_child) + return height * self->child_transition.progress; + } + + return 0; +} + +static void +hdy_stackable_box_child_progress_updated (HdyStackableBox *self) +{ + gtk_widget_queue_draw (GTK_WIDGET (self->container)); + + if (!self->homogeneous[HDY_FOLD_FOLDED][GTK_ORIENTATION_VERTICAL] || + !self->homogeneous[HDY_FOLD_FOLDED][GTK_ORIENTATION_HORIZONTAL]) + gtk_widget_queue_resize (GTK_WIDGET (self->container)); + else + gtk_widget_queue_allocate (GTK_WIDGET (self->container)); + + if (!self->child_transition.is_gesture_active && + gtk_progress_tracker_get_state (&self->child_transition.tracker) == GTK_PROGRESS_STATE_AFTER) { + if (self->child_transition.is_cancelled) { + if (self->last_visible_child != NULL) { + if (self->folded) { + gtk_widget_set_child_visible (self->last_visible_child->widget, TRUE); + gtk_widget_set_child_visible (self->visible_child->widget, FALSE); + } + self->visible_child = self->last_visible_child; + self->last_visible_child = NULL; + } + + self->child_transition.is_cancelled = FALSE; + + g_object_freeze_notify (G_OBJECT (self)); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_VISIBLE_CHILD]); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_VISIBLE_CHILD_NAME]); + g_object_thaw_notify (G_OBJECT (self)); + } else { + if (self->last_visible_child != NULL) { + if (self->folded) + gtk_widget_set_child_visible (self->last_visible_child->widget, FALSE); + self->last_visible_child = NULL; + } + } + + gtk_widget_queue_allocate (GTK_WIDGET (self->container)); + self->child_transition.swipe_direction = 0; + hdy_shadow_helper_clear_cache (self->shadow_helper); + } +} + +static gboolean +hdy_stackable_box_child_transition_cb (GtkWidget *widget, + GdkFrameClock *frame_clock, + gpointer user_data) +{ + HdyStackableBox *self = HDY_STACKABLE_BOX (user_data); + gdouble progress; + + if (self->child_transition.first_frame_skipped) { + gtk_progress_tracker_advance_frame (&self->child_transition.tracker, + gdk_frame_clock_get_frame_time (frame_clock)); + progress = gtk_progress_tracker_get_ease_out_cubic (&self->child_transition.tracker, FALSE); + self->child_transition.progress = + hdy_lerp (self->child_transition.start_progress, + self->child_transition.end_progress, progress); + } else + self->child_transition.first_frame_skipped = TRUE; + + /* Finish animation early if not mapped anymore */ + if (!gtk_widget_get_mapped (widget)) + gtk_progress_tracker_finish (&self->child_transition.tracker); + + hdy_stackable_box_child_progress_updated (self); + + if (gtk_progress_tracker_get_state (&self->child_transition.tracker) == GTK_PROGRESS_STATE_AFTER) { + self->child_transition.tick_id = 0; + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CHILD_TRANSITION_RUNNING]); + + return FALSE; + } + + return TRUE; +} + +static void +hdy_stackable_box_schedule_child_ticks (HdyStackableBox *self) +{ + if (self->child_transition.tick_id == 0) { + self->child_transition.tick_id = + gtk_widget_add_tick_callback (GTK_WIDGET (self->container), + hdy_stackable_box_child_transition_cb, + self, NULL); + if (!self->child_transition.is_gesture_active) + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CHILD_TRANSITION_RUNNING]); + } +} + +static void +hdy_stackable_box_unschedule_child_ticks (HdyStackableBox *self) +{ + if (self->child_transition.tick_id != 0) { + gtk_widget_remove_tick_callback (GTK_WIDGET (self->container), self->child_transition.tick_id); + self->child_transition.tick_id = 0; + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CHILD_TRANSITION_RUNNING]); + } +} + +static void +hdy_stackable_box_stop_child_transition (HdyStackableBox *self) +{ + hdy_stackable_box_unschedule_child_ticks (self); + gtk_progress_tracker_finish (&self->child_transition.tracker); + if (self->last_visible_child != NULL) { + gtk_widget_set_child_visible (self->last_visible_child->widget, FALSE); + self->last_visible_child = NULL; + } + + self->child_transition.swipe_direction = 0; + hdy_shadow_helper_clear_cache (self->shadow_helper); +} + +static void +hdy_stackable_box_start_child_transition (HdyStackableBox *self, + guint transition_duration, + GtkPanDirection transition_direction) +{ + GtkWidget *widget = GTK_WIDGET (self->container); + + if (gtk_widget_get_mapped (widget) && + ((hdy_get_enable_animations (widget) && + transition_duration != 0) || + self->child_transition.is_gesture_active) && + self->last_visible_child != NULL && + /* Don't animate child transition when a mode transition is ongoing. */ + self->mode_transition.tick_id == 0) { + self->child_transition.active_direction = transition_direction; + self->child_transition.first_frame_skipped = FALSE; + self->child_transition.start_progress = 0; + self->child_transition.end_progress = 1; + self->child_transition.progress = 0; + self->child_transition.is_cancelled = FALSE; + + if (!self->child_transition.is_gesture_active) { + hdy_stackable_box_schedule_child_ticks (self); + gtk_progress_tracker_start (&self->child_transition.tracker, + transition_duration * 1000, + 0, + 1.0); + } + } + else { + hdy_stackable_box_unschedule_child_ticks (self); + gtk_progress_tracker_finish (&self->child_transition.tracker); + } + + hdy_stackable_box_child_progress_updated (self); +} + +static void +set_visible_child_info (HdyStackableBox *self, + HdyStackableBoxChildInfo *new_visible_child, + HdyStackableBoxTransitionType transition_type, + guint transition_duration, + gboolean emit_child_switched) +{ + GtkWidget *widget = GTK_WIDGET (self->container); + GList *children; + HdyStackableBoxChildInfo *child_info; + GtkPanDirection transition_direction = GTK_PAN_DIRECTION_LEFT; + + /* If we are being destroyed, do not bother with transitions and + * notifications. + */ + if (gtk_widget_in_destruction (widget)) + return; + + /* If none, pick first visible. */ + if (new_visible_child == NULL) { + for (children = self->children; children; children = children->next) { + child_info = children->data; + + if (gtk_widget_get_visible (child_info->widget)) { + new_visible_child = child_info; + + break; + } + } + } + + if (new_visible_child == self->visible_child) + return; + + /* FIXME Probably copied from Gtk Stack, should check whether it's needed. */ + /* toplevel = gtk_widget_get_toplevel (widget); */ + /* if (GTK_IS_WINDOW (toplevel)) { */ + /* focus = gtk_window_get_focus (GTK_WINDOW (toplevel)); */ + /* if (focus && */ + /* self->visible_child && */ + /* self->visible_child->widget && */ + /* gtk_widget_is_ancestor (focus, self->visible_child->widget)) { */ + /* contains_focus = TRUE; */ + + /* if (self->visible_child->last_focus) */ + /* g_object_remove_weak_pointer (G_OBJECT (self->visible_child->last_focus), */ + /* (gpointer *)&self->visible_child->last_focus); */ + /* self->visible_child->last_focus = focus; */ + /* g_object_add_weak_pointer (G_OBJECT (self->visible_child->last_focus), */ + /* (gpointer *)&self->visible_child->last_focus); */ + /* } */ + /* } */ + + if (self->last_visible_child) + gtk_widget_set_child_visible (self->last_visible_child->widget, !self->folded); + self->last_visible_child = NULL; + + hdy_shadow_helper_clear_cache (self->shadow_helper); + + if (self->visible_child && self->visible_child->widget) { + if (gtk_widget_is_visible (widget)) + self->last_visible_child = self->visible_child; + else + gtk_widget_set_child_visible (self->visible_child->widget, !self->folded); + } + + /* FIXME This comes from GtkStack and should be adapted. */ + /* hdy_stackable_box_accessible_update_visible_child (stack, */ + /* self->visible_child ? self->visible_child->widget : NULL, */ + /* new_visible_child ? new_visible_child->widget : NULL); */ + + self->visible_child = new_visible_child; + + if (new_visible_child) { + gtk_widget_set_child_visible (new_visible_child->widget, TRUE); + + /* FIXME This comes from GtkStack and should be adapted. */ + /* if (contains_focus) { */ + /* if (new_visible_child->last_focus) */ + /* gtk_widget_grab_focus (new_visible_child->last_focus); */ + /* else */ + /* gtk_widget_child_focus (new_visible_child->widget, GTK_DIR_TAB_FORWARD); */ + /* } */ + } + + if (new_visible_child == NULL || self->last_visible_child == NULL) + transition_duration = 0; + else { + gboolean new_first = FALSE; + for (children = self->children; children; children = children->next) { + if (new_visible_child == children->data) { + new_first = TRUE; + + break; + } + if (self->last_visible_child == children->data) + break; + } + + transition_direction = get_pan_direction (self, new_first); + } + + if (self->folded) { + if (self->homogeneous[HDY_FOLD_FOLDED][GTK_ORIENTATION_HORIZONTAL] && + self->homogeneous[HDY_FOLD_FOLDED][GTK_ORIENTATION_VERTICAL]) + gtk_widget_queue_allocate (widget); + else + gtk_widget_queue_resize (widget); + + hdy_stackable_box_start_child_transition (self, transition_duration, transition_direction); + } + + if (emit_child_switched) { + gint index = 0; + + for (children = self->children; children; children = children->next) { + child_info = children->data; + + if (!child_info->navigatable) + continue; + + if (child_info == new_visible_child) + break; + + index++; + } + + hdy_swipeable_emit_child_switched (HDY_SWIPEABLE (self->container), index, + transition_duration); + } + + g_object_freeze_notify (G_OBJECT (self)); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_VISIBLE_CHILD]); + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_VISIBLE_CHILD_NAME]); + g_object_thaw_notify (G_OBJECT (self)); +} + +static void +hdy_stackable_box_set_position (HdyStackableBox *self, + gdouble pos) +{ + self->mode_transition.current_pos = pos; + + gtk_widget_queue_allocate (GTK_WIDGET (self->container)); +} + +static void +hdy_stackable_box_mode_progress_updated (HdyStackableBox *self) +{ + if (gtk_progress_tracker_get_state (&self->mode_transition.tracker) == GTK_PROGRESS_STATE_AFTER) + hdy_shadow_helper_clear_cache (self->shadow_helper); +} + +static gboolean +hdy_stackable_box_mode_transition_cb (GtkWidget *widget, + GdkFrameClock *frame_clock, + gpointer user_data) +{ + HdyStackableBox *self = HDY_STACKABLE_BOX (user_data); + gdouble ease; + + gtk_progress_tracker_advance_frame (&self->mode_transition.tracker, + gdk_frame_clock_get_frame_time (frame_clock)); + ease = gtk_progress_tracker_get_ease_out_cubic (&self->mode_transition.tracker, FALSE); + hdy_stackable_box_set_position (self, + self->mode_transition.source_pos + (ease * (self->mode_transition.target_pos - self->mode_transition.source_pos))); + + hdy_stackable_box_mode_progress_updated (self); + + if (gtk_progress_tracker_get_state (&self->mode_transition.tracker) == GTK_PROGRESS_STATE_AFTER) { + self->mode_transition.tick_id = 0; + return FALSE; + } + + return TRUE; +} + +static void +hdy_stackable_box_start_mode_transition (HdyStackableBox *self, + gdouble target) +{ + GtkWidget *widget = GTK_WIDGET (self->container); + + if (self->mode_transition.target_pos == target) + return; + + self->mode_transition.target_pos = target; + /* FIXME PROP_REVEAL_CHILD needs to be implemented. */ + /* g_object_notify_by_pspec (G_OBJECT (revealer), props[PROP_REVEAL_CHILD]); */ + + hdy_stackable_box_stop_child_transition (self); + + if (gtk_widget_get_mapped (widget) && + self->mode_transition.duration != 0 && + hdy_get_enable_animations (widget) && + self->can_unfold) { + self->mode_transition.source_pos = self->mode_transition.current_pos; + if (self->mode_transition.tick_id == 0) + self->mode_transition.tick_id = gtk_widget_add_tick_callback (widget, hdy_stackable_box_mode_transition_cb, self, NULL); + gtk_progress_tracker_start (&self->mode_transition.tracker, + self->mode_transition.duration * 1000, + 0, + 1.0); + } + else + hdy_stackable_box_set_position (self, target); +} + +/* FIXME Use this to stop the mode transition animation when it makes sense (see * + * GtkRevealer for exmples). + */ +/* static void */ +/* hdy_stackable_box_stop_mode_animation (HdyStackableBox *self) */ +/* { */ +/* if (self->mode_transition.current_pos != self->mode_transition.target_pos) { */ +/* self->mode_transition.current_pos = self->mode_transition.target_pos; */ + /* g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CHILD_REVEALED]); */ +/* } */ +/* if (self->mode_transition.tick_id != 0) { */ +/* gtk_widget_remove_tick_callback (GTK_WIDGET (self->container), self->mode_transition.tick_id); */ +/* self->mode_transition.tick_id = 0; */ +/* } */ +/* } */ + +/** + * hdy_stackable_box_get_folded: + * @self: a #HdyStackableBox + * + * Gets whether @self is folded. + * + * Returns: whether @self is folded. + * + * Since: 1.0 + */ +gboolean +hdy_stackable_box_get_folded (HdyStackableBox *self) +{ + g_return_val_if_fail (HDY_IS_STACKABLE_BOX (self), FALSE); + + return self->folded; +} + +static void +hdy_stackable_box_set_folded (HdyStackableBox *self, + gboolean folded) +{ + GtkStyleContext *context; + + if (self->folded == folded) + return; + + self->folded = folded; + + hdy_stackable_box_start_mode_transition (self, folded ? 0.0 : 1.0); + + if (self->can_unfold) { + context = gtk_widget_get_style_context (GTK_WIDGET (self->container)); + if (folded) { + gtk_style_context_add_class (context, "folded"); + gtk_style_context_remove_class (context, "unfolded"); + } else { + gtk_style_context_remove_class (context, "folded"); + gtk_style_context_add_class (context, "unfolded"); + } + } + + g_object_notify_by_pspec (G_OBJECT (self), + props[PROP_FOLDED]); +} + +/** + * hdy_stackable_box_set_homogeneous: + * @self: a #HdyStackableBox + * @folded: the fold + * @orientation: the orientation + * @homogeneous: %TRUE to make @self homogeneous + * + * Sets the #HdyStackableBox to be homogeneous or not for the given fold and orientation. + * If it is homogeneous, the #HdyStackableBox will request the same + * width or height for all its children depending on the orientation. + * If it isn't and it is folded, the widget may change width or height + * when a different child becomes visible. + * + * Since: 1.0 + */ +void +hdy_stackable_box_set_homogeneous (HdyStackableBox *self, + gboolean folded, + GtkOrientation orientation, + gboolean homogeneous) +{ + g_return_if_fail (HDY_IS_STACKABLE_BOX (self)); + + folded = !!folded; + homogeneous = !!homogeneous; + + if (self->homogeneous[folded][orientation] == homogeneous) + return; + + self->homogeneous[folded][orientation] = homogeneous; + + if (gtk_widget_get_visible (GTK_WIDGET (self->container))) + gtk_widget_queue_resize (GTK_WIDGET (self->container)); + + g_object_notify_by_pspec (G_OBJECT (self), props[HOMOGENEOUS_PROP[folded][orientation]]); +} + +/** + * hdy_stackable_box_get_homogeneous: + * @self: a #HdyStackableBox + * @folded: the fold + * @orientation: the orientation + * + * Gets whether @self is homogeneous for the given fold and orientation. + * See hdy_stackable_box_set_homogeneous(). + * + * Returns: whether @self is homogeneous for the given fold and orientation. + * + * Since: 1.0 + */ +gboolean +hdy_stackable_box_get_homogeneous (HdyStackableBox *self, + gboolean folded, + GtkOrientation orientation) +{ + g_return_val_if_fail (HDY_IS_STACKABLE_BOX (self), FALSE); + + folded = !!folded; + + return self->homogeneous[folded][orientation]; +} + +/** + * hdy_stackable_box_get_transition_type: + * @self: a #HdyStackableBox + * + * Gets the type of animation that will be used + * for transitions between modes and children in @self. + * + * Returns: the current transition type of @self + * + * Since: 1.0 + */ +HdyStackableBoxTransitionType +hdy_stackable_box_get_transition_type (HdyStackableBox *self) +{ + g_return_val_if_fail (HDY_IS_STACKABLE_BOX (self), HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER); + + return self->transition_type; +} + +/** + * hdy_stackable_box_set_transition_type: + * @self: a #HdyStackableBox + * @transition: the new transition type + * + * Sets the type of animation that will be used for transitions between modes + * and children in @self. + * + * The transition type can be changed without problems at runtime, so it is + * possible to change the animation based on the mode or child that is about to + * become current. + * + * Since: 1.0 + */ +void +hdy_stackable_box_set_transition_type (HdyStackableBox *self, + HdyStackableBoxTransitionType transition) +{ + g_return_if_fail (HDY_IS_STACKABLE_BOX (self)); + + if (self->transition_type == transition) + return; + + self->transition_type = transition; + g_object_notify_by_pspec (G_OBJECT (self), + props[PROP_TRANSITION_TYPE]); +} + +/** + * hdy_stackable_box_get_mode_transition_duration: + * @self: a #HdyStackableBox + * + * Returns the amount of time (in milliseconds) that + * transitions between modes in @self will take. + * + * Returns: the mode transition duration + * + * Since: 1.0 + */ +guint +hdy_stackable_box_get_mode_transition_duration (HdyStackableBox *self) +{ + g_return_val_if_fail (HDY_IS_STACKABLE_BOX (self), 0); + + return self->mode_transition.duration; +} + +/** + * hdy_stackable_box_set_mode_transition_duration: + * @self: a #HdyStackableBox + * @duration: the new duration, in milliseconds + * + * Sets the duration that transitions between modes in @self + * will take. + * + * Since: 1.0 + */ +void +hdy_stackable_box_set_mode_transition_duration (HdyStackableBox *self, + guint duration) +{ + g_return_if_fail (HDY_IS_STACKABLE_BOX (self)); + + if (self->mode_transition.duration == duration) + return; + + self->mode_transition.duration = duration; + g_object_notify_by_pspec (G_OBJECT (self), + props[PROP_MODE_TRANSITION_DURATION]); +} + +/** + * hdy_stackable_box_get_child_transition_duration: + * @self: a #HdyStackableBox + * + * Returns the amount of time (in milliseconds) that + * transitions between children in @self will take. + * + * Returns: the child transition duration + * + * Since: 1.0 + */ +guint +hdy_stackable_box_get_child_transition_duration (HdyStackableBox *self) +{ + g_return_val_if_fail (HDY_IS_STACKABLE_BOX (self), 0); + + return self->child_transition.duration; +} + +/** + * hdy_stackable_box_set_child_transition_duration: + * @self: a #HdyStackableBox + * @duration: the new duration, in milliseconds + * + * Sets the duration that transitions between children in @self + * will take. + * + * Since: 1.0 + */ +void +hdy_stackable_box_set_child_transition_duration (HdyStackableBox *self, + guint duration) +{ + g_return_if_fail (HDY_IS_STACKABLE_BOX (self)); + + if (self->child_transition.duration == duration) + return; + + self->child_transition.duration = duration; + g_object_notify_by_pspec (G_OBJECT (self), + props[PROP_CHILD_TRANSITION_DURATION]); +} + +/** + * hdy_stackable_box_get_visible_child: + * @self: a #HdyStackableBox + * + * Gets the visible child widget. + * + * Returns: (transfer none): the visible child widget + * + * Since: 1.0 + */ +GtkWidget * +hdy_stackable_box_get_visible_child (HdyStackableBox *self) +{ + g_return_val_if_fail (HDY_IS_STACKABLE_BOX (self), NULL); + + if (self->visible_child == NULL) + return NULL; + + return self->visible_child->widget; +} + +/** + * hdy_stackable_box_set_visible_child: + * @self: a #HdyStackableBox + * @visible_child: the new child + * + * Makes @visible_child visible using a transition determined by + * HdyStackableBox:transition-type and HdyStackableBox:child-transition-duration. + * The transition can be cancelled by the user, in which case visible child will + * change back to the previously visible child. + * + * Since: 1.0 + */ +void +hdy_stackable_box_set_visible_child (HdyStackableBox *self, + GtkWidget *visible_child) +{ + HdyStackableBoxChildInfo *child_info; + gboolean contains_child; + + g_return_if_fail (HDY_IS_STACKABLE_BOX (self)); + g_return_if_fail (GTK_IS_WIDGET (visible_child)); + + child_info = find_child_info_for_widget (self, visible_child); + contains_child = child_info != NULL; + + g_return_if_fail (contains_child); + + set_visible_child_info (self, child_info, self->transition_type, self->child_transition.duration, TRUE); +} + +/** + * hdy_stackable_box_get_visible_child_name: + * @self: a #HdyStackableBox + * + * Gets the name of the currently visible child widget. + * + * Returns: (transfer none): the name of the visible child + * + * Since: 1.0 + */ +const gchar * +hdy_stackable_box_get_visible_child_name (HdyStackableBox *self) +{ + g_return_val_if_fail (HDY_IS_STACKABLE_BOX (self), NULL); + + if (self->visible_child == NULL) + return NULL; + + return self->visible_child->name; +} + +/** + * hdy_stackable_box_set_visible_child_name: + * @self: a #HdyStackableBox + * @name: the name of a child + * + * Makes the child with the name @name visible. + * + * See hdy_stackable_box_set_visible_child() for more details. + * + * Since: 1.0 + */ +void +hdy_stackable_box_set_visible_child_name (HdyStackableBox *self, + const gchar *name) +{ + HdyStackableBoxChildInfo *child_info; + gboolean contains_child; + + g_return_if_fail (HDY_IS_STACKABLE_BOX (self)); + g_return_if_fail (name != NULL); + + child_info = find_child_info_for_name (self, name); + contains_child = child_info != NULL; + + g_return_if_fail (contains_child); + + set_visible_child_info (self, child_info, self->transition_type, self->child_transition.duration, TRUE); +} + +/** + * hdy_stackable_box_get_child_transition_running: + * @self: a #HdyStackableBox + * + * Returns whether @self is currently in a transition from one page to + * another. + * + * Returns: %TRUE if the transition is currently running, %FALSE otherwise. + * + * Since: 1.0 + */ +gboolean +hdy_stackable_box_get_child_transition_running (HdyStackableBox *self) +{ + g_return_val_if_fail (HDY_IS_STACKABLE_BOX (self), FALSE); + + return (self->child_transition.tick_id != 0 || + self->child_transition.is_gesture_active); +} + +/** + * hdy_stackable_box_set_interpolate_size: + * @self: a #HdyStackableBox + * @interpolate_size: the new value + * + * Sets whether or not @self will interpolate its size when + * changing the visible child. If the #HdyStackableBox:interpolate-size + * property is set to %TRUE, @self will interpolate its size between + * the current one and the one it'll take after changing the + * visible child, according to the set transition duration. + * + * Since: 1.0 + */ +void +hdy_stackable_box_set_interpolate_size (HdyStackableBox *self, + gboolean interpolate_size) +{ + g_return_if_fail (HDY_IS_STACKABLE_BOX (self)); + + interpolate_size = !!interpolate_size; + + if (self->child_transition.interpolate_size == interpolate_size) + return; + + self->child_transition.interpolate_size = interpolate_size; + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_INTERPOLATE_SIZE]); +} + +/** + * hdy_stackable_box_get_interpolate_size: + * @self: a #HdyStackableBox + * + * Returns whether the #HdyStackableBox is set up to interpolate between + * the sizes of children on page switch. + * + * Returns: %TRUE if child sizes are interpolated + * + * Since: 1.0 + */ +gboolean +hdy_stackable_box_get_interpolate_size (HdyStackableBox *self) +{ + g_return_val_if_fail (HDY_IS_STACKABLE_BOX (self), FALSE); + + return self->child_transition.interpolate_size; +} + +/** + * hdy_stackable_box_set_can_swipe_back: + * @self: a #HdyStackableBox + * @can_swipe_back: the new value + * + * Sets whether or not @self allows switching to the previous child that has + * 'navigatable' child property set to %TRUE via a swipe gesture + * + * Since: 1.0 + */ +void +hdy_stackable_box_set_can_swipe_back (HdyStackableBox *self, + gboolean can_swipe_back) +{ + g_return_if_fail (HDY_IS_STACKABLE_BOX (self)); + + can_swipe_back = !!can_swipe_back; + + if (self->child_transition.can_swipe_back == can_swipe_back) + return; + + self->child_transition.can_swipe_back = can_swipe_back; + hdy_swipe_tracker_set_enabled (self->tracker, can_swipe_back || self->child_transition.can_swipe_forward); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CAN_SWIPE_BACK]); +} + +/** + * hdy_stackable_box_get_can_swipe_back + * @self: a #HdyStackableBox + * + * Returns whether the #HdyStackableBox allows swiping to the previous child. + * + * Returns: %TRUE if back swipe is enabled. + * + * Since: 1.0 + */ +gboolean +hdy_stackable_box_get_can_swipe_back (HdyStackableBox *self) +{ + g_return_val_if_fail (HDY_IS_STACKABLE_BOX (self), FALSE); + + return self->child_transition.can_swipe_back; +} + +/** + * hdy_stackable_box_set_can_swipe_forward: + * @self: a #HdyStackableBox + * @can_swipe_forward: the new value + * + * Sets whether or not @self allows switching to the next child that has + * 'navigatable' child property set to %TRUE via a swipe gesture. + * + * Since: 1.0 + */ +void +hdy_stackable_box_set_can_swipe_forward (HdyStackableBox *self, + gboolean can_swipe_forward) +{ + g_return_if_fail (HDY_IS_STACKABLE_BOX (self)); + + can_swipe_forward = !!can_swipe_forward; + + if (self->child_transition.can_swipe_forward == can_swipe_forward) + return; + + self->child_transition.can_swipe_forward = can_swipe_forward; + hdy_swipe_tracker_set_enabled (self->tracker, self->child_transition.can_swipe_back || can_swipe_forward); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CAN_SWIPE_FORWARD]); +} + +/** + * hdy_stackable_box_get_can_swipe_forward + * @self: a #HdyStackableBox + * + * Returns whether the #HdyStackableBox allows swiping to the next child. + * + * Returns: %TRUE if forward swipe is enabled. + * + * Since: 1.0 + */ +gboolean +hdy_stackable_box_get_can_swipe_forward (HdyStackableBox *self) +{ + g_return_val_if_fail (HDY_IS_STACKABLE_BOX (self), FALSE); + + return self->child_transition.can_swipe_forward; +} + +static HdyStackableBoxChildInfo * +find_swipeable_child (HdyStackableBox *self, + HdyNavigationDirection direction) +{ + GList *children; + HdyStackableBoxChildInfo *child = NULL; + + children = g_list_find (self->children, self->visible_child); + do { + children = (direction == HDY_NAVIGATION_DIRECTION_BACK) ? children->prev : children->next; + + if (children == NULL) + break; + + child = children->data; + } while (child && !child->navigatable); + + return child; +} + +/** + * hdy_stackable_box_get_adjacent_child + * @self: a #HdyStackableBox + * @direction: the direction + * + * Gets the previous or next child that doesn't have 'navigatable' child + * property set to %FALSE, or %NULL if it doesn't exist. This will be the same + * widget hdy_stackable_box_navigate() will navigate to. + * + * Returns: (nullable) (transfer none): the previous or next child, or + * %NULL if it doesn't exist. + * + * Since: 1.0 + */ +GtkWidget * +hdy_stackable_box_get_adjacent_child (HdyStackableBox *self, + HdyNavigationDirection direction) +{ + HdyStackableBoxChildInfo *child; + + g_return_val_if_fail (HDY_IS_STACKABLE_BOX (self), NULL); + + child = find_swipeable_child (self, direction); + + if (!child) + return NULL; + + return child->widget; +} + +/** + * hdy_stackable_box_navigate + * @self: a #HdyStackableBox + * @direction: the direction + * + * Switches to the previous or next child that doesn't have 'navigatable' + * child property set to %FALSE, similar to performing a swipe gesture to go + * in @direction. + * + * Returns: %TRUE if visible child was changed, %FALSE otherwise. + * + * Since: 1.0 + */ +gboolean +hdy_stackable_box_navigate (HdyStackableBox *self, + HdyNavigationDirection direction) +{ + HdyStackableBoxChildInfo *child; + + g_return_val_if_fail (HDY_IS_STACKABLE_BOX (self), FALSE); + + child = find_swipeable_child (self, direction); + + if (!child) + return FALSE; + + set_visible_child_info (self, child, self->transition_type, self->child_transition.duration, TRUE); + + return TRUE; +} + +/** + * hdy_stackable_box_get_child_by_name: + * @self: a #HdyStackableBox + * @name: the name of the child to find + * + * Finds the child of @self with the name given as the argument. Returns %NULL + * if there is no child with this name. + * + * Returns: (transfer none) (nullable): the requested child of @self + * + * Since: 1.0 + */ +GtkWidget * +hdy_stackable_box_get_child_by_name (HdyStackableBox *self, + const gchar *name) +{ + HdyStackableBoxChildInfo *child_info; + + g_return_val_if_fail (HDY_IS_STACKABLE_BOX (self), NULL); + g_return_val_if_fail (name != NULL, NULL); + + child_info = find_child_info_for_name (self, name); + + return child_info ? child_info->widget : NULL; +} + +static void +get_preferred_size (gint *min, + gint *nat, + gboolean same_orientation, + gboolean homogeneous_folded, + gboolean homogeneous_unfolded, + gint visible_children, + gdouble visible_child_progress, + gint sum_nat, + gint max_min, + gint max_nat, + gint visible_min, + gint last_visible_min) +{ + if (same_orientation) { + *min = homogeneous_folded ? + max_min : + hdy_lerp (last_visible_min, visible_min, visible_child_progress); + *nat = homogeneous_unfolded ? + max_nat * visible_children : + sum_nat; + } + else { + *min = homogeneous_folded ? + max_min : + hdy_lerp (last_visible_min, visible_min, visible_child_progress); + *nat = max_nat; + } +} + +void +hdy_stackable_box_measure (HdyStackableBox *self, + GtkOrientation orientation, + int for_size, + int *minimum, + int *natural, + int *minimum_baseline, + int *natural_baseline) +{ + GList *children; + HdyStackableBoxChildInfo *child_info; + gint visible_children; + gdouble visible_child_progress; + gint child_min, max_min, visible_min, last_visible_min; + gint child_nat, max_nat, sum_nat; + void (*get_preferred_size_static) (GtkWidget *widget, + gint *minimum_width, + gint *natural_width); + void (*get_preferred_size_for_size) (GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width); + + get_preferred_size_static = orientation == GTK_ORIENTATION_HORIZONTAL ? + gtk_widget_get_preferred_width : + gtk_widget_get_preferred_height; + get_preferred_size_for_size = orientation == GTK_ORIENTATION_HORIZONTAL ? + gtk_widget_get_preferred_width_for_height : + gtk_widget_get_preferred_height_for_width; + + visible_children = 0; + child_min = max_min = visible_min = last_visible_min = 0; + child_nat = max_nat = sum_nat = 0; + for (children = self->children; children; children = children->next) { + child_info = children->data; + + if (child_info->widget == NULL || !gtk_widget_get_visible (child_info->widget)) + continue; + + visible_children++; + if (for_size < 0) + get_preferred_size_static (child_info->widget, + &child_min, &child_nat); + else + get_preferred_size_for_size (child_info->widget, for_size, + &child_min, &child_nat); + + max_min = MAX (max_min, child_min); + max_nat = MAX (max_nat, child_nat); + sum_nat += child_nat; + } + + if (self->visible_child != NULL) { + if (for_size < 0) + get_preferred_size_static (self->visible_child->widget, + &visible_min, NULL); + else + get_preferred_size_for_size (self->visible_child->widget, for_size, + &visible_min, NULL); + } + + if (self->last_visible_child != NULL) { + if (for_size < 0) + get_preferred_size_static (self->last_visible_child->widget, + &last_visible_min, NULL); + else + get_preferred_size_for_size (self->last_visible_child->widget, for_size, + &last_visible_min, NULL); + } else { + last_visible_min = visible_min; + } + + visible_child_progress = self->child_transition.interpolate_size ? self->child_transition.progress : 1.0; + + get_preferred_size (minimum, natural, + gtk_orientable_get_orientation (GTK_ORIENTABLE (self->container)) == orientation, + self->homogeneous[HDY_FOLD_FOLDED][orientation], + self->homogeneous[HDY_FOLD_UNFOLDED][orientation], + visible_children, visible_child_progress, + sum_nat, max_min, max_nat, visible_min, last_visible_min); +} + +static void +hdy_stackable_box_size_allocate_folded (HdyStackableBox *self, + GtkAllocation *allocation) +{ + GtkWidget *widget = GTK_WIDGET (self->container); + GtkOrientation orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (widget)); + GList *directed_children, *children; + HdyStackableBoxChildInfo *child_info, *visible_child; + gint start_size, end_size, visible_size; + gint remaining_start_size, remaining_end_size, remaining_size; + gint current_pad; + gint max_child_size = 0; + gint start_position, end_position; + gboolean box_homogeneous; + HdyStackableBoxTransitionType mode_transition_type; + GtkTextDirection direction; + gboolean under; + + directed_children = get_directed_children (self); + visible_child = self->visible_child; + + if (!visible_child) + return; + + for (children = directed_children; children; children = children->next) { + child_info = children->data; + + if (!child_info->widget) + continue; + + if (child_info->widget == visible_child->widget) + continue; + + if (self->last_visible_child && + child_info->widget == self->last_visible_child->widget) + continue; + + child_info->visible = FALSE; + } + + if (visible_child->widget == NULL) + return; + + /* FIXME is this needed? */ + if (!gtk_widget_get_visible (visible_child->widget)) { + visible_child->visible = FALSE; + + return; + } + + visible_child->visible = TRUE; + + mode_transition_type = self->transition_type; + + /* Avoid useless computations and allow visible child transitions. */ + if (self->mode_transition.current_pos <= 0.0) { + /* Child transitions should be applied only when folded and when no mode + * transition is ongoing. + */ + for (children = directed_children; children; children = children->next) { + child_info = children->data; + + if (child_info != visible_child && + child_info != self->last_visible_child) { + child_info->visible = FALSE; + + continue; + } + + child_info->alloc.x = get_child_window_x (self, child_info, allocation->width); + child_info->alloc.y = get_child_window_y (self, child_info, allocation->height); + child_info->alloc.width = allocation->width; + child_info->alloc.height = allocation->height; + child_info->visible = TRUE; + } + + return; + } + + /* Compute visible child size. */ + visible_size = orientation == GTK_ORIENTATION_HORIZONTAL ? + MIN (allocation->width, MAX (visible_child->nat.width, (gint) (allocation->width * (1.0 - self->mode_transition.current_pos)))) : + MIN (allocation->height, MAX (visible_child->nat.height, (gint) (allocation->height * (1.0 - self->mode_transition.current_pos)))); + + /* Compute homogeneous box child size. */ + box_homogeneous = (self->homogeneous[HDY_FOLD_UNFOLDED][GTK_ORIENTATION_HORIZONTAL] && orientation == GTK_ORIENTATION_HORIZONTAL) || + (self->homogeneous[HDY_FOLD_UNFOLDED][GTK_ORIENTATION_VERTICAL] && orientation == GTK_ORIENTATION_VERTICAL); + if (box_homogeneous) { + for (children = directed_children; children; children = children->next) { + child_info = children->data; + + max_child_size = orientation == GTK_ORIENTATION_HORIZONTAL ? + MAX (max_child_size, child_info->nat.width) : + MAX (max_child_size, child_info->nat.height); + } + } + + /* Compute the start size. */ + start_size = 0; + for (children = directed_children; children; children = children->next) { + child_info = children->data; + + if (child_info == visible_child) + break; + + start_size += orientation == GTK_ORIENTATION_HORIZONTAL ? + (box_homogeneous ? max_child_size : child_info->nat.width) : + (box_homogeneous ? max_child_size : child_info->nat.height); + } + + /* Compute the end size. */ + end_size = 0; + for (children = g_list_last (directed_children); children; children = children->prev) { + child_info = children->data; + + if (child_info == visible_child) + break; + + end_size += orientation == GTK_ORIENTATION_HORIZONTAL ? + (box_homogeneous ? max_child_size : child_info->nat.width) : + (box_homogeneous ? max_child_size : child_info->nat.height); + } + + /* Compute pads. */ + remaining_size = orientation == GTK_ORIENTATION_HORIZONTAL ? + allocation->width - visible_size : + allocation->height - visible_size; + remaining_start_size = (gint) (remaining_size * ((gdouble) start_size / (gdouble) (start_size + end_size))); + remaining_end_size = remaining_size - remaining_start_size; + + /* Store start and end allocations. */ + switch (orientation) { + case GTK_ORIENTATION_HORIZONTAL: + direction = gtk_widget_get_direction (GTK_WIDGET (self->container)); + under = (mode_transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER && direction == GTK_TEXT_DIR_LTR) || + (mode_transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER && direction == GTK_TEXT_DIR_RTL); + start_position = under ? 0 : remaining_start_size - start_size; + self->mode_transition.start_progress = under ? (gdouble) remaining_size / start_size : 1; + under = (mode_transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER && direction == GTK_TEXT_DIR_LTR) || + (mode_transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER && direction == GTK_TEXT_DIR_RTL); + end_position = under ? allocation->width - end_size : remaining_start_size + visible_size; + self->mode_transition.end_progress = under ? (gdouble) remaining_end_size / end_size : 1; + break; + case GTK_ORIENTATION_VERTICAL: + under = mode_transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER; + start_position = under ? 0 : remaining_start_size - start_size; + self->mode_transition.start_progress = under ? (gdouble) remaining_size / start_size : 1; + under = mode_transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER; + end_position = remaining_start_size + visible_size; + self->mode_transition.end_progress = under ? (gdouble) remaining_end_size / end_size : 1; + break; + default: + g_assert_not_reached (); + } + + /* Allocate visible child. */ + if (orientation == GTK_ORIENTATION_HORIZONTAL) { + visible_child->alloc.width = visible_size; + visible_child->alloc.height = allocation->height; + visible_child->alloc.x = remaining_start_size; + visible_child->alloc.y = 0; + visible_child->visible = TRUE; + } + else { + visible_child->alloc.width = allocation->width; + visible_child->alloc.height = visible_size; + visible_child->alloc.x = 0; + visible_child->alloc.y = remaining_start_size; + visible_child->visible = TRUE; + } + + /* Allocate starting children. */ + current_pad = start_position; + + for (children = directed_children; children; children = children->next) { + child_info = children->data; + + if (child_info == visible_child) + break; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) { + child_info->alloc.width = box_homogeneous ? + max_child_size : + child_info->nat.width; + child_info->alloc.height = allocation->height; + child_info->alloc.x = current_pad; + child_info->alloc.y = 0; + child_info->visible = child_info->alloc.x + child_info->alloc.width > 0; + + current_pad += child_info->alloc.width; + } + else { + child_info->alloc.width = allocation->width; + child_info->alloc.height = box_homogeneous ? + max_child_size : + child_info->nat.height; + child_info->alloc.x = 0; + child_info->alloc.y = current_pad; + child_info->visible = child_info->alloc.y + child_info->alloc.height > 0; + + current_pad += child_info->alloc.height; + } + } + + /* Allocate ending children. */ + current_pad = end_position; + + if (!children || !children->next) + return; + + for (children = children->next; children; children = children->next) { + child_info = children->data; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) { + child_info->alloc.width = box_homogeneous ? + max_child_size : + child_info->nat.width; + child_info->alloc.height = allocation->height; + child_info->alloc.x = current_pad; + child_info->alloc.y = 0; + child_info->visible = child_info->alloc.x < allocation->width; + + current_pad += child_info->alloc.width; + } + else { + child_info->alloc.width = allocation->width; + child_info->alloc.height = box_homogeneous ? + max_child_size : + child_info->nat.height; + child_info->alloc.x = 0; + child_info->alloc.y = current_pad; + child_info->visible = child_info->alloc.y < allocation->height; + + current_pad += child_info->alloc.height; + } + } +} + +static void +hdy_stackable_box_size_allocate_unfolded (HdyStackableBox *self, + GtkAllocation *allocation) +{ + GtkWidget *widget = GTK_WIDGET (self->container); + GtkOrientation orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (widget)); + GtkAllocation remaining_alloc; + GList *directed_children, *children; + HdyStackableBoxChildInfo *child_info, *visible_child; + gint homogeneous_size = 0, min_size, extra_size; + gint per_child_extra, n_extra_widgets; + gint n_visible_children, n_expand_children; + gint start_pad = 0, end_pad = 0; + gboolean box_homogeneous; + HdyStackableBoxTransitionType mode_transition_type; + GtkTextDirection direction; + gboolean under; + + directed_children = get_directed_children (self); + visible_child = self->visible_child; + + box_homogeneous = (self->homogeneous[HDY_FOLD_UNFOLDED][GTK_ORIENTATION_HORIZONTAL] && orientation == GTK_ORIENTATION_HORIZONTAL) || + (self->homogeneous[HDY_FOLD_UNFOLDED][GTK_ORIENTATION_VERTICAL] && orientation == GTK_ORIENTATION_VERTICAL); + + n_visible_children = n_expand_children = 0; + for (children = directed_children; children; children = children->next) { + child_info = children->data; + + child_info->visible = child_info->widget != NULL && gtk_widget_get_visible (child_info->widget); + + if (child_info->visible) { + n_visible_children++; + if (gtk_widget_compute_expand (child_info->widget, orientation)) + n_expand_children++; + } + else { + child_info->min.width = child_info->min.height = 0; + child_info->nat.width = child_info->nat.height = 0; + } + } + + /* Compute repartition of extra space. */ + + if (box_homogeneous) { + if (orientation == GTK_ORIENTATION_HORIZONTAL) { + homogeneous_size = n_visible_children > 0 ? allocation->width / n_visible_children : 0; + n_expand_children = n_visible_children > 0 ? allocation->width % n_visible_children : 0; + min_size = allocation->width - n_expand_children; + } + else { + homogeneous_size = n_visible_children > 0 ? allocation->height / n_visible_children : 0; + n_expand_children = n_visible_children > 0 ? allocation->height % n_visible_children : 0; + min_size = allocation->height - n_expand_children; + } + } + else { + min_size = 0; + if (orientation == GTK_ORIENTATION_HORIZONTAL) { + for (children = directed_children; children; children = children->next) { + child_info = children->data; + + min_size += child_info->nat.width; + } + } + else { + for (children = directed_children; children; children = children->next) { + child_info = children->data; + + min_size += child_info->nat.height; + } + } + } + + remaining_alloc.x = 0; + remaining_alloc.y = 0; + remaining_alloc.width = allocation->width; + remaining_alloc.height = allocation->height; + + extra_size = orientation == GTK_ORIENTATION_HORIZONTAL ? + remaining_alloc.width - min_size : + remaining_alloc.height - min_size; + + per_child_extra = 0, n_extra_widgets = 0; + if (n_expand_children > 0) { + per_child_extra = extra_size / n_expand_children; + n_extra_widgets = extra_size % n_expand_children; + } + + /* Compute children allocation */ + for (children = directed_children; children; children = children->next) { + child_info = children->data; + + if (!child_info->visible) + continue; + + child_info->alloc.x = remaining_alloc.x; + child_info->alloc.y = remaining_alloc.y; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) { + if (box_homogeneous) { + child_info->alloc.width = homogeneous_size; + if (n_extra_widgets > 0) { + child_info->alloc.width++; + n_extra_widgets--; + } + } + else { + child_info->alloc.width = child_info->nat.width; + if (gtk_widget_compute_expand (child_info->widget, orientation)) { + child_info->alloc.width += per_child_extra; + if (n_extra_widgets > 0) { + child_info->alloc.width++; + n_extra_widgets--; + } + } + } + child_info->alloc.height = remaining_alloc.height; + + remaining_alloc.x += child_info->alloc.width; + remaining_alloc.width -= child_info->alloc.width; + } + else { + if (box_homogeneous) { + child_info->alloc.height = homogeneous_size; + if (n_extra_widgets > 0) { + child_info->alloc.height++; + n_extra_widgets--; + } + } + else { + child_info->alloc.height = child_info->nat.height; + if (gtk_widget_compute_expand (child_info->widget, orientation)) { + child_info->alloc.height += per_child_extra; + if (n_extra_widgets > 0) { + child_info->alloc.height++; + n_extra_widgets--; + } + } + } + child_info->alloc.width = remaining_alloc.width; + + remaining_alloc.y += child_info->alloc.height; + remaining_alloc.height -= child_info->alloc.height; + } + } + + /* Apply animations. */ + + if (orientation == GTK_ORIENTATION_HORIZONTAL) { + start_pad = (gint) ((visible_child->alloc.x) * (1.0 - self->mode_transition.current_pos)); + end_pad = (gint) ((allocation->width - (visible_child->alloc.x + visible_child->alloc.width)) * (1.0 - self->mode_transition.current_pos)); + } + else { + start_pad = (gint) ((visible_child->alloc.y) * (1.0 - self->mode_transition.current_pos)); + end_pad = (gint) ((allocation->height - (visible_child->alloc.y + visible_child->alloc.height)) * (1.0 - self->mode_transition.current_pos)); + } + + mode_transition_type = self->transition_type; + direction = gtk_widget_get_direction (GTK_WIDGET (self->container)); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + under = (mode_transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER && direction == GTK_TEXT_DIR_LTR) || + (mode_transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER && direction == GTK_TEXT_DIR_RTL); + else + under = mode_transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER; + for (children = directed_children; children; children = children->next) { + child_info = children->data; + + if (child_info == visible_child) + break; + + if (!child_info->visible) + continue; + + if (under) + continue; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + child_info->alloc.x -= start_pad; + else + child_info->alloc.y -= start_pad; + } + + self->mode_transition.start_progress = under ? self->mode_transition.current_pos : 1; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + under = (mode_transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER && direction == GTK_TEXT_DIR_LTR) || + (mode_transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER && direction == GTK_TEXT_DIR_RTL); + else + under = mode_transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER; + for (children = g_list_last (directed_children); children; children = children->prev) { + child_info = children->data; + + if (child_info == visible_child) + break; + + if (!child_info->visible) + continue; + + if (under) + continue; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + child_info->alloc.x += end_pad; + else + child_info->alloc.y += end_pad; + } + + self->mode_transition.end_progress = under ? self->mode_transition.current_pos : 1; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) { + visible_child->alloc.x -= start_pad; + visible_child->alloc.width += start_pad + end_pad; + } + else { + visible_child->alloc.y -= start_pad; + visible_child->alloc.height += start_pad + end_pad; + } +} + +static HdyStackableBoxChildInfo * +get_top_overlap_child (HdyStackableBox *self) +{ + gboolean is_rtl, start; + + if (!self->last_visible_child) + return self->visible_child; + + is_rtl = gtk_widget_get_direction (GTK_WIDGET (self->container)) == GTK_TEXT_DIR_RTL; + + start = (self->child_transition.active_direction == GTK_PAN_DIRECTION_LEFT && !is_rtl) || + (self->child_transition.active_direction == GTK_PAN_DIRECTION_RIGHT && is_rtl) || + self->child_transition.active_direction == GTK_PAN_DIRECTION_UP; + + switch (self->transition_type) { + case HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE: + // Nothing overlaps in this case + return NULL; + case HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER: + return start ? self->visible_child : self->last_visible_child; + case HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER: + return start ? self->last_visible_child : self->visible_child; + default: + g_assert_not_reached (); + } +} + +static void +restack_windows (HdyStackableBox *self) +{ + HdyStackableBoxChildInfo *child_info, *overlap_child; + GList *l; + + overlap_child = get_top_overlap_child (self); + + switch (self->transition_type) { + case HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE: + // Nothing overlaps in this case + return; + case HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER: + for (l = g_list_last (self->children); l; l = l->prev) { + child_info = l->data; + + if (child_info->window) + gdk_window_raise (child_info->window); + + if (child_info == overlap_child) + break; + } + + break; + case HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER: + for (l = self->children; l; l = l->next) { + child_info = l->data; + + if (child_info->window) + gdk_window_raise (child_info->window); + + if (child_info == overlap_child) + break; + } + + break; + default: + g_assert_not_reached (); + } +} + +void +hdy_stackable_box_size_allocate (HdyStackableBox *self, + GtkAllocation *allocation) +{ + GtkWidget *widget = GTK_WIDGET (self->container); + GtkOrientation orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (widget)); + GList *directed_children, *children; + HdyStackableBoxChildInfo *child_info; + gboolean folded; + + directed_children = get_directed_children (self); + + gtk_widget_set_allocation (widget, allocation); + + if (gtk_widget_get_realized (widget)) { + gdk_window_move_resize (self->view_window, + allocation->x, allocation->y, + allocation->width, allocation->height); + } + + /* Prepare children information. */ + for (children = directed_children; children; children = children->next) { + child_info = children->data; + + gtk_widget_get_preferred_size (child_info->widget, &child_info->min, &child_info->nat); + child_info->alloc.x = child_info->alloc.y = child_info->alloc.width = child_info->alloc.height = 0; + child_info->visible = FALSE; + } + + /* Check whether the children should be stacked or not. */ + if (self->can_unfold) { + gint nat_box_size = 0, nat_max_size = 0, visible_children = 0; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) { + + for (children = directed_children; children; children = children->next) { + child_info = children->data; + + /* FIXME Check the child is visible. */ + if (!child_info->widget) + continue; + + if (child_info->nat.width <= 0) + continue; + + nat_box_size += child_info->nat.width; + nat_max_size = MAX (nat_max_size, child_info->nat.width); + visible_children++; + } + if (self->homogeneous[HDY_FOLD_UNFOLDED][GTK_ORIENTATION_HORIZONTAL]) + nat_box_size = nat_max_size * visible_children; + folded = visible_children > 1 && allocation->width < nat_box_size; + } + else { + for (children = directed_children; children; children = children->next) { + child_info = children->data; + + /* FIXME Check the child is visible. */ + if (!child_info->widget) + continue; + + if (child_info->nat.height <= 0) + continue; + + nat_box_size += child_info->nat.height; + nat_max_size = MAX (nat_max_size, child_info->nat.height); + visible_children++; + } + if (self->homogeneous[HDY_FOLD_UNFOLDED][GTK_ORIENTATION_VERTICAL]) + nat_box_size = nat_max_size * visible_children; + folded = visible_children > 1 && allocation->height < nat_box_size; + } + } else { + folded = TRUE; + } + + hdy_stackable_box_set_folded (self, folded); + + /* Allocate size to the children. */ + if (folded) + hdy_stackable_box_size_allocate_folded (self, allocation); + else + hdy_stackable_box_size_allocate_unfolded (self, allocation); + + /* Apply visibility and allocation. */ + for (children = directed_children; children; children = children->next) { + GtkAllocation alloc; + + child_info = children->data; + + gtk_widget_set_child_visible (child_info->widget, child_info->visible); + + if (child_info->window && + child_info->visible != gdk_window_is_visible (child_info->window)) { + if (child_info->visible) + gdk_window_show (child_info->window); + else + gdk_window_hide (child_info->window); + } + + if (!child_info->visible) + continue; + + if (child_info->window) + gdk_window_move_resize (child_info->window, + child_info->alloc.x, + child_info->alloc.y, + child_info->alloc.width, + child_info->alloc.height); + + alloc.x = 0; + alloc.y = 0; + alloc.width = child_info->alloc.width; + alloc.height = child_info->alloc.height; + gtk_widget_size_allocate (child_info->widget, &alloc); + + if (gtk_widget_get_realized (widget)) + gtk_widget_show (child_info->widget); + } + + restack_windows (self); +} + +gboolean +hdy_stackable_box_draw (HdyStackableBox *self, + cairo_t *cr) +{ + GtkWidget *widget = GTK_WIDGET (self->container); + GList *stacked_children, *l; + HdyStackableBoxChildInfo *child_info, *overlap_child; + gboolean is_transition; + gboolean is_vertical; + gboolean is_rtl; + gboolean is_over; + GtkAllocation shadow_rect; + gdouble shadow_progress, mode_progress; + GtkPanDirection shadow_direction; + + overlap_child = get_top_overlap_child (self); + + is_transition = self->child_transition.is_gesture_active || + gtk_progress_tracker_get_state (&self->child_transition.tracker) != GTK_PROGRESS_STATE_AFTER || + gtk_progress_tracker_get_state (&self->mode_transition.tracker) != GTK_PROGRESS_STATE_AFTER; + + if (!is_transition || + self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE || + !overlap_child) { + for (l = self->children; l; l = l->next) { + child_info = l->data; + + if (!gtk_cairo_should_draw_window (cr, child_info->window)) + continue; + + gtk_container_propagate_draw (self->container, + child_info->widget, + cr); + } + + return GDK_EVENT_PROPAGATE; + } + + stacked_children = self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER ? + self->children_reversed : self->children; + + is_vertical = gtk_orientable_get_orientation (GTK_ORIENTABLE (widget)) == GTK_ORIENTATION_VERTICAL; + is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL; + is_over = self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER; + + cairo_save (cr); + + shadow_rect.x = 0; + shadow_rect.y = 0; + shadow_rect.width = gtk_widget_get_allocated_width (widget); + shadow_rect.height = gtk_widget_get_allocated_height (widget); + + if (is_vertical) { + if (!is_over) { + shadow_rect.y = overlap_child->alloc.y + overlap_child->alloc.height; + shadow_rect.height -= shadow_rect.y; + shadow_direction = GTK_PAN_DIRECTION_UP; + mode_progress = self->mode_transition.end_progress; + } else { + shadow_rect.height = overlap_child->alloc.y; + shadow_direction = GTK_PAN_DIRECTION_DOWN; + mode_progress = self->mode_transition.start_progress; + } + } else { + if (is_over == is_rtl) { + shadow_rect.x = overlap_child->alloc.x + overlap_child->alloc.width; + shadow_rect.width -= shadow_rect.x; + shadow_direction = GTK_PAN_DIRECTION_LEFT; + mode_progress = self->mode_transition.end_progress; + } else { + shadow_rect.width = overlap_child->alloc.x; + shadow_direction = GTK_PAN_DIRECTION_RIGHT; + mode_progress = self->mode_transition.start_progress; + } + } + + if (gtk_progress_tracker_get_state (&self->mode_transition.tracker) != GTK_PROGRESS_STATE_AFTER) { + shadow_progress = mode_progress; + } else { + GtkPanDirection direction = self->child_transition.active_direction; + GtkPanDirection left_or_right = is_rtl ? GTK_PAN_DIRECTION_RIGHT : GTK_PAN_DIRECTION_LEFT; + gint width = gtk_widget_get_allocated_width (widget); + gint height = gtk_widget_get_allocated_height (widget); + + if (direction == GTK_PAN_DIRECTION_UP || direction == left_or_right) + shadow_progress = self->child_transition.progress; + else + shadow_progress = 1 - self->child_transition.progress; + + if (is_over) + shadow_progress = 1 - shadow_progress; + + /* Normalize the shadow rect size so that we can cache the shadow */ + if (shadow_direction == GTK_PAN_DIRECTION_RIGHT) + shadow_rect.x -= (width - shadow_rect.width); + else if (shadow_direction == GTK_PAN_DIRECTION_DOWN) + shadow_rect.y -= (height - shadow_rect.height); + + shadow_rect.width = width; + shadow_rect.height = height; + } + + cairo_rectangle (cr, shadow_rect.x, shadow_rect.y, shadow_rect.width, shadow_rect.height); + cairo_clip (cr); + + for (l = stacked_children; l; l = l->next) { + child_info = l->data; + + if (!gtk_cairo_should_draw_window (cr, child_info->window)) + continue; + + if (child_info == overlap_child) + cairo_restore (cr); + + gtk_container_propagate_draw (self->container, + child_info->widget, + cr); + } + + cairo_save (cr); + cairo_translate (cr, shadow_rect.x, shadow_rect.y); + hdy_shadow_helper_draw_shadow (self->shadow_helper, cr, + shadow_rect.width, shadow_rect.height, + shadow_progress, shadow_direction); + cairo_restore (cr); + + return GDK_EVENT_PROPAGATE; +} + +static void +update_tracker_orientation (HdyStackableBox *self) +{ + gboolean reverse; + + reverse = (self->orientation == GTK_ORIENTATION_HORIZONTAL && + gtk_widget_get_direction (GTK_WIDGET (self->container)) == GTK_TEXT_DIR_RTL); + + g_object_set (self->tracker, + "orientation", self->orientation, + "reversed", reverse, + NULL); +} + +void +hdy_stackable_box_direction_changed (HdyStackableBox *self, + GtkTextDirection previous_direction) +{ + update_tracker_orientation (self); +} + +static void +hdy_stackable_box_child_visibility_notify_cb (GObject *obj, + GParamSpec *pspec, + gpointer user_data) +{ + HdyStackableBox *self = HDY_STACKABLE_BOX (user_data); + GtkWidget *widget = GTK_WIDGET (obj); + HdyStackableBoxChildInfo *child_info; + + child_info = find_child_info_for_widget (self, widget); + + if (self->visible_child == NULL && gtk_widget_get_visible (widget)) + set_visible_child_info (self, child_info, self->transition_type, self->child_transition.duration, TRUE); + else if (self->visible_child == child_info && !gtk_widget_get_visible (widget)) + set_visible_child_info (self, NULL, self->transition_type, self->child_transition.duration, TRUE); + + if (child_info == self->last_visible_child) { + gtk_widget_set_child_visible (self->last_visible_child->widget, !self->folded); + self->last_visible_child = NULL; + } +} + +static void +register_window (HdyStackableBox *self, + HdyStackableBoxChildInfo *child) +{ + GtkWidget *widget = GTK_WIDGET (self->container); + GdkWindowAttr attributes = { 0 }; + GdkWindowAttributesType attributes_mask; + + attributes.x = child->alloc.x; + attributes.y = child->alloc.y; + attributes.width = child->alloc.width; + attributes.height = child->alloc.height; + attributes.window_type = GDK_WINDOW_CHILD; + attributes.wclass = GDK_INPUT_OUTPUT; + attributes.visual = gtk_widget_get_visual (widget); + attributes.event_mask = gtk_widget_get_events (widget); + attributes_mask = (GDK_WA_X | GDK_WA_Y) | GDK_WA_VISUAL; + + attributes.event_mask = gtk_widget_get_events (widget) | + gtk_widget_get_events (child->widget); + + child->window = gdk_window_new (self->view_window, &attributes, attributes_mask); + gtk_widget_register_window (widget, child->window); + + gtk_widget_set_parent_window (child->widget, child->window); + + gdk_window_show (child->window); +} + +static void +unregister_window (HdyStackableBox *self, + HdyStackableBoxChildInfo *child) +{ + GtkWidget *widget = GTK_WIDGET (self->container); + + if (!child->window) + return; + + gtk_widget_unregister_window (widget, child->window); + gdk_window_destroy (child->window); + child->window = NULL; +} + +void +hdy_stackable_box_add (HdyStackableBox *self, + GtkWidget *widget) +{ + HdyStackableBoxChildInfo *child_info; + + g_return_if_fail (gtk_widget_get_parent (widget) == NULL); + + child_info = g_new0 (HdyStackableBoxChildInfo, 1); + child_info->widget = widget; + child_info->navigatable = TRUE; + + self->children = g_list_append (self->children, child_info); + self->children_reversed = g_list_prepend (self->children_reversed, child_info); + + if (gtk_widget_get_realized (GTK_WIDGET (self->container))) + register_window (self, child_info); + + gtk_widget_set_child_visible (widget, FALSE); + gtk_widget_set_parent (widget, GTK_WIDGET (self->container)); + + g_signal_connect (widget, "notify::visible", + G_CALLBACK (hdy_stackable_box_child_visibility_notify_cb), self); + + if (hdy_stackable_box_get_visible_child (self) == NULL && + gtk_widget_get_visible (widget)) { + set_visible_child_info (self, child_info, self->transition_type, self->child_transition.duration, FALSE); + } + + if (!self->folded || + (self->folded && (self->homogeneous[HDY_FOLD_FOLDED][GTK_ORIENTATION_HORIZONTAL] || + self->homogeneous[HDY_FOLD_FOLDED][GTK_ORIENTATION_VERTICAL] || + self->visible_child == child_info))) + gtk_widget_queue_resize (GTK_WIDGET (self->container)); +} + +void +hdy_stackable_box_remove (HdyStackableBox *self, + GtkWidget *widget) +{ + g_autoptr (HdyStackableBoxChildInfo) child_info = find_child_info_for_widget (self, widget); + gboolean contains_child = child_info != NULL; + + g_return_if_fail (contains_child); + + self->children = g_list_remove (self->children, child_info); + self->children_reversed = g_list_remove (self->children_reversed, child_info); + + g_signal_handlers_disconnect_by_func (widget, + hdy_stackable_box_child_visibility_notify_cb, + self); + + if (hdy_stackable_box_get_visible_child (self) == widget) + set_visible_child_info (self, NULL, self->transition_type, self->child_transition.duration, TRUE); + + if (child_info == self->last_visible_child) + self->last_visible_child = NULL; + + if (gtk_widget_get_visible (widget)) + gtk_widget_queue_resize (GTK_WIDGET (self->container)); + + unregister_window (self, child_info); + + gtk_widget_unparent (widget); +} + +void +hdy_stackable_box_forall (HdyStackableBox *self, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + /* This shallow copy is needed when the callback changes the list while we are + * looping through it, for example by calling hdy_stackable_box_remove() on all + * children when destroying the HdyStackableBox_private_offset. + */ + g_autoptr (GList) children_copy = g_list_copy (self->children); + GList *children; + HdyStackableBoxChildInfo *child_info; + + for (children = children_copy; children; children = children->next) { + child_info = children->data; + + (* callback) (child_info->widget, callback_data); + } + + g_list_free (self->children_reversed); + self->children_reversed = g_list_copy (self->children); + self->children_reversed = g_list_reverse (self->children_reversed); +} + +static void +hdy_stackable_box_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyStackableBox *self = HDY_STACKABLE_BOX (object); + + switch (prop_id) { + case PROP_FOLDED: + g_value_set_boolean (value, hdy_stackable_box_get_folded (self)); + break; + case PROP_HHOMOGENEOUS_FOLDED: + g_value_set_boolean (value, hdy_stackable_box_get_homogeneous (self, TRUE, GTK_ORIENTATION_HORIZONTAL)); + break; + case PROP_VHOMOGENEOUS_FOLDED: + g_value_set_boolean (value, hdy_stackable_box_get_homogeneous (self, TRUE, GTK_ORIENTATION_VERTICAL)); + break; + case PROP_HHOMOGENEOUS_UNFOLDED: + g_value_set_boolean (value, hdy_stackable_box_get_homogeneous (self, FALSE, GTK_ORIENTATION_HORIZONTAL)); + break; + case PROP_VHOMOGENEOUS_UNFOLDED: + g_value_set_boolean (value, hdy_stackable_box_get_homogeneous (self, FALSE, GTK_ORIENTATION_VERTICAL)); + break; + case PROP_VISIBLE_CHILD: + g_value_set_object (value, hdy_stackable_box_get_visible_child (self)); + break; + case PROP_VISIBLE_CHILD_NAME: + g_value_set_string (value, hdy_stackable_box_get_visible_child_name (self)); + break; + case PROP_TRANSITION_TYPE: + g_value_set_enum (value, hdy_stackable_box_get_transition_type (self)); + break; + case PROP_MODE_TRANSITION_DURATION: + g_value_set_uint (value, hdy_stackable_box_get_mode_transition_duration (self)); + break; + case PROP_CHILD_TRANSITION_DURATION: + g_value_set_uint (value, hdy_stackable_box_get_child_transition_duration (self)); + break; + case PROP_CHILD_TRANSITION_RUNNING: + g_value_set_boolean (value, hdy_stackable_box_get_child_transition_running (self)); + break; + case PROP_INTERPOLATE_SIZE: + g_value_set_boolean (value, hdy_stackable_box_get_interpolate_size (self)); + break; + case PROP_CAN_SWIPE_BACK: + g_value_set_boolean (value, hdy_stackable_box_get_can_swipe_back (self)); + break; + case PROP_CAN_SWIPE_FORWARD: + g_value_set_boolean (value, hdy_stackable_box_get_can_swipe_forward (self)); + break; + case PROP_ORIENTATION: + g_value_set_enum (value, hdy_stackable_box_get_orientation (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_stackable_box_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyStackableBox *self = HDY_STACKABLE_BOX (object); + + switch (prop_id) { + case PROP_HHOMOGENEOUS_FOLDED: + hdy_stackable_box_set_homogeneous (self, TRUE, GTK_ORIENTATION_HORIZONTAL, g_value_get_boolean (value)); + break; + case PROP_VHOMOGENEOUS_FOLDED: + hdy_stackable_box_set_homogeneous (self, TRUE, GTK_ORIENTATION_VERTICAL, g_value_get_boolean (value)); + break; + case PROP_HHOMOGENEOUS_UNFOLDED: + hdy_stackable_box_set_homogeneous (self, FALSE, GTK_ORIENTATION_HORIZONTAL, g_value_get_boolean (value)); + break; + case PROP_VHOMOGENEOUS_UNFOLDED: + hdy_stackable_box_set_homogeneous (self, FALSE, GTK_ORIENTATION_VERTICAL, g_value_get_boolean (value)); + break; + case PROP_VISIBLE_CHILD: + hdy_stackable_box_set_visible_child (self, g_value_get_object (value)); + break; + case PROP_VISIBLE_CHILD_NAME: + hdy_stackable_box_set_visible_child_name (self, g_value_get_string (value)); + break; + case PROP_TRANSITION_TYPE: + hdy_stackable_box_set_transition_type (self, g_value_get_enum (value)); + break; + case PROP_MODE_TRANSITION_DURATION: + hdy_stackable_box_set_mode_transition_duration (self, g_value_get_uint (value)); + break; + case PROP_CHILD_TRANSITION_DURATION: + hdy_stackable_box_set_child_transition_duration (self, g_value_get_uint (value)); + break; + case PROP_INTERPOLATE_SIZE: + hdy_stackable_box_set_interpolate_size (self, g_value_get_boolean (value)); + break; + case PROP_CAN_SWIPE_BACK: + hdy_stackable_box_set_can_swipe_back (self, g_value_get_boolean (value)); + break; + case PROP_CAN_SWIPE_FORWARD: + hdy_stackable_box_set_can_swipe_forward (self, g_value_get_boolean (value)); + break; + case PROP_ORIENTATION: + hdy_stackable_box_set_orientation (self, g_value_get_enum (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_stackable_box_finalize (GObject *object) +{ + HdyStackableBox *self = HDY_STACKABLE_BOX (object); + + self->visible_child = NULL; + + if (self->shadow_helper) + g_clear_object (&self->shadow_helper); + + hdy_stackable_box_unschedule_child_ticks (self); + + G_OBJECT_CLASS (hdy_stackable_box_parent_class)->finalize (object); +} + +void +hdy_stackable_box_realize (HdyStackableBox *self) +{ + GtkWidget *widget = GTK_WIDGET (self->container); + GtkAllocation allocation; + GdkWindowAttr attributes = { 0 }; + GdkWindowAttributesType attributes_mask; + GList *children; + + gtk_widget_set_realized (widget, TRUE); + gtk_widget_set_window (widget, g_object_ref (gtk_widget_get_parent_window (widget))); + + gtk_widget_get_allocation (widget, &allocation); + + attributes.x = allocation.x; + attributes.y = allocation.y; + attributes.width = allocation.width; + attributes.height = allocation.height; + attributes.window_type = GDK_WINDOW_CHILD; + attributes.wclass = GDK_INPUT_OUTPUT; + attributes.visual = gtk_widget_get_visual (widget); + attributes.event_mask = gtk_widget_get_events (widget); + attributes_mask = (GDK_WA_X | GDK_WA_Y) | GDK_WA_VISUAL; + + self->view_window = gdk_window_new (gtk_widget_get_window (widget), + &attributes, attributes_mask); + gtk_widget_register_window (widget, self->view_window); + + for (children = self->children; children != NULL; children = children->next) + register_window (self, children->data); +} + +void +hdy_stackable_box_unrealize (HdyStackableBox *self) +{ + GtkWidget *widget = GTK_WIDGET (self->container); + GList *children; + + for (children = self->children; children != NULL; children = children->next) + unregister_window (self, children->data); + + gtk_widget_unregister_window (widget, self->view_window); + gdk_window_destroy (self->view_window); + self->view_window = NULL; + + GTK_WIDGET_CLASS (self->klass)->unrealize (widget); +} + +void +hdy_stackable_box_map (HdyStackableBox *self) +{ + GTK_WIDGET_CLASS (self->klass)->map (GTK_WIDGET (self->container)); + + gdk_window_show (self->view_window); +} + +void +hdy_stackable_box_unmap (HdyStackableBox *self) +{ + gdk_window_hide (self->view_window); + + GTK_WIDGET_CLASS (self->klass)->unmap (GTK_WIDGET (self->container)); +} + +HdySwipeTracker * +hdy_stackable_box_get_swipe_tracker (HdyStackableBox *self) +{ + return self->tracker; +} + +gdouble +hdy_stackable_box_get_distance (HdyStackableBox *self) +{ + if (self->orientation == GTK_ORIENTATION_HORIZONTAL) + return gtk_widget_get_allocated_width (GTK_WIDGET (self->container)); + else + return gtk_widget_get_allocated_height (GTK_WIDGET (self->container)); +} + +static gboolean +can_swipe_in_direction (HdyStackableBox *self, + HdyNavigationDirection direction) +{ + switch (direction) { + case HDY_NAVIGATION_DIRECTION_BACK: + return self->child_transition.can_swipe_back; + case HDY_NAVIGATION_DIRECTION_FORWARD: + return self->child_transition.can_swipe_forward; + default: + g_assert_not_reached (); + } +} + +gdouble * +hdy_stackable_box_get_snap_points (HdyStackableBox *self, + gint *n_snap_points) +{ + gint n; + gdouble *points, lower, upper; + + if (self->child_transition.tick_id > 0 || + self->child_transition.is_gesture_active) { + gint current_direction; + gboolean is_rtl = gtk_widget_get_direction (GTK_WIDGET (self->container)) == GTK_TEXT_DIR_RTL; + + switch (self->child_transition.active_direction) { + case GTK_PAN_DIRECTION_UP: + current_direction = 1; + break; + case GTK_PAN_DIRECTION_DOWN: + current_direction = -1; + break; + case GTK_PAN_DIRECTION_LEFT: + current_direction = is_rtl ? -1 : 1; + break; + case GTK_PAN_DIRECTION_RIGHT: + current_direction = is_rtl ? 1 : -1; + break; + default: + g_assert_not_reached (); + } + + lower = MIN (0, current_direction); + upper = MAX (0, current_direction); + } else { + HdyStackableBoxChildInfo *child = NULL; + + if ((can_swipe_in_direction (self, self->child_transition.swipe_direction) || + !self->child_transition.is_direct_swipe) && self->folded) + child = find_swipeable_child (self, self->child_transition.swipe_direction); + + lower = MIN (0, child ? self->child_transition.swipe_direction : 0); + upper = MAX (0, child ? self->child_transition.swipe_direction : 0); + } + + n = (lower != upper) ? 2 : 1; + + points = g_new0 (gdouble, n); + points[0] = lower; + points[n - 1] = upper; + + if (n_snap_points) + *n_snap_points = n; + + return points; +} + +gdouble +hdy_stackable_box_get_progress (HdyStackableBox *self) +{ + gboolean new_first = FALSE; + GList *children; + + if (!self->child_transition.is_gesture_active && + gtk_progress_tracker_get_state (&self->child_transition.tracker) == GTK_PROGRESS_STATE_AFTER) + return 0; + + for (children = self->children; children; children = children->next) { + if (self->last_visible_child == children->data) { + new_first = TRUE; + + break; + } + if (self->visible_child == children->data) + break; + } + + return self->child_transition.progress * (new_first ? 1 : -1); +} + +gdouble +hdy_stackable_box_get_cancel_progress (HdyStackableBox *self) +{ + return 0; +} + +void +hdy_stackable_box_get_swipe_area (HdyStackableBox *self, + HdyNavigationDirection navigation_direction, + gboolean is_drag, + GdkRectangle *rect) +{ + gint width = gtk_widget_get_allocated_width (GTK_WIDGET (self->container)); + gint height = gtk_widget_get_allocated_height (GTK_WIDGET (self->container)); + gdouble progress = 0; + + rect->x = 0; + rect->y = 0; + rect->width = width; + rect->height = height; + + if (!is_drag) + return; + + if (self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_SLIDE) + return; + + if (self->child_transition.is_gesture_active || + gtk_progress_tracker_get_state (&self->child_transition.tracker) != GTK_PROGRESS_STATE_AFTER) + progress = self->child_transition.progress; + + if (self->orientation == GTK_ORIENTATION_HORIZONTAL) { + gboolean is_rtl = gtk_widget_get_direction (GTK_WIDGET (self->container)) == GTK_TEXT_DIR_RTL; + + if (self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER && + navigation_direction == HDY_NAVIGATION_DIRECTION_FORWARD) { + rect->width = MAX (progress * width, HDY_SWIPE_BORDER); + rect->x = is_rtl ? 0 : width - rect->width; + } else if (self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER && + navigation_direction == HDY_NAVIGATION_DIRECTION_BACK) { + rect->width = MAX (progress * width, HDY_SWIPE_BORDER); + rect->x = is_rtl ? width - rect->width : 0; + } + } else { + if (self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER && + navigation_direction == HDY_NAVIGATION_DIRECTION_FORWARD) { + rect->height = MAX (progress * height, HDY_SWIPE_BORDER); + rect->y = height - rect->height; + } else if (self->transition_type == HDY_STACKABLE_BOX_TRANSITION_TYPE_UNDER && + navigation_direction == HDY_NAVIGATION_DIRECTION_BACK) { + rect->height = MAX (progress * height, HDY_SWIPE_BORDER); + rect->y = 0; + } + } +} + +void +hdy_stackable_box_switch_child (HdyStackableBox *self, + guint index, + gint64 duration) +{ + HdyStackableBoxChildInfo *child_info = NULL; + GList *children; + guint i = 0; + + for (children = self->children; children; children = children->next) { + child_info = children->data; + + if (!child_info->navigatable) + continue; + + if (i == index) + break; + + i++; + } + + if (child_info == NULL) { + g_critical ("Couldn't find eligible child with index %u", index); + return; + } + + set_visible_child_info (self, child_info, self->transition_type, + duration, FALSE); +} + +static void +begin_swipe_cb (HdySwipeTracker *tracker, + HdyNavigationDirection direction, + gboolean direct, + HdyStackableBox *self) +{ + self->child_transition.is_direct_swipe = direct; + self->child_transition.swipe_direction = direction; + + if (self->child_transition.tick_id > 0) { + gtk_widget_remove_tick_callback (GTK_WIDGET (self->container), + self->child_transition.tick_id); + self->child_transition.tick_id = 0; + self->child_transition.is_gesture_active = TRUE; + self->child_transition.is_cancelled = FALSE; + } else { + HdyStackableBoxChildInfo *child; + + if ((can_swipe_in_direction (self, direction) || !direct) && self->folded) + child = find_swipeable_child (self, direction); + else + child = NULL; + + if (child) { + self->child_transition.is_gesture_active = TRUE; + set_visible_child_info (self, child, self->transition_type, + self->child_transition.duration, FALSE); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_CHILD_TRANSITION_RUNNING]); + } + } +} + +static void +update_swipe_cb (HdySwipeTracker *tracker, + gdouble progress, + HdyStackableBox *self) +{ + self->child_transition.progress = ABS (progress); + hdy_stackable_box_child_progress_updated (self); +} + +static void +end_swipe_cb (HdySwipeTracker *tracker, + gint64 duration, + gdouble to, + HdyStackableBox *self) +{ + if (!self->child_transition.is_gesture_active) + return; + + self->child_transition.start_progress = self->child_transition.progress; + self->child_transition.end_progress = ABS (to); + self->child_transition.is_cancelled = (to == 0); + self->child_transition.first_frame_skipped = TRUE; + + hdy_stackable_box_schedule_child_ticks (self); + if (hdy_get_enable_animations (GTK_WIDGET (self->container)) && duration != 0) { + gtk_progress_tracker_start (&self->child_transition.tracker, + duration * 1000, + 0, + 1.0); + } else { + self->child_transition.progress = self->child_transition.end_progress; + gtk_progress_tracker_finish (&self->child_transition.tracker); + } + + self->child_transition.is_gesture_active = FALSE; + hdy_stackable_box_child_progress_updated (self); + + gtk_widget_queue_draw (GTK_WIDGET (self->container)); +} + +GtkOrientation +hdy_stackable_box_get_orientation (HdyStackableBox *self) +{ + return self->orientation; +} + +void +hdy_stackable_box_set_orientation (HdyStackableBox *self, + GtkOrientation orientation) +{ + if (self->orientation == orientation) + return; + + self->orientation = orientation; + update_tracker_orientation (self); + gtk_widget_queue_resize (GTK_WIDGET (self->container)); + g_object_notify (G_OBJECT (self), "orientation"); +} + +const gchar * +hdy_stackable_box_get_child_name (HdyStackableBox *self, + GtkWidget *widget) +{ + HdyStackableBoxChildInfo *child_info; + + child_info = find_child_info_for_widget (self, widget); + + g_return_val_if_fail (child_info != NULL, NULL); + + return child_info->name; +} + +void +hdy_stackable_box_set_child_name (HdyStackableBox *self, + GtkWidget *widget, + const gchar *name) +{ + HdyStackableBoxChildInfo *child_info; + HdyStackableBoxChildInfo *child_info2; + GList *children; + + child_info = find_child_info_for_widget (self, widget); + + g_return_if_fail (child_info != NULL); + + for (children = self->children; children; children = children->next) { + child_info2 = children->data; + + if (child_info == child_info2) + continue; + if (g_strcmp0 (child_info2->name, name) == 0) { + g_warning ("Duplicate child name in HdyStackableBox: %s", name); + + break; + } + } + + g_free (child_info->name); + child_info->name = g_strdup (name); + + if (self->visible_child == child_info) + g_object_notify_by_pspec (G_OBJECT (self), + props[PROP_VISIBLE_CHILD_NAME]); +} + +gboolean +hdy_stackable_box_get_child_navigatable (HdyStackableBox *self, + GtkWidget *widget) +{ + HdyStackableBoxChildInfo *child_info; + + child_info = find_child_info_for_widget (self, widget); + + g_return_val_if_fail (child_info != NULL, FALSE); + + return child_info->navigatable; +} + +void +hdy_stackable_box_set_child_navigatable (HdyStackableBox *self, + GtkWidget *widget, + gboolean navigatable) +{ + HdyStackableBoxChildInfo *child_info; + + child_info = find_child_info_for_widget (self, widget); + + g_return_if_fail (child_info != NULL); + + child_info->navigatable = navigatable; + + if (!child_info->navigatable && + hdy_stackable_box_get_visible_child (self) == widget) + set_visible_child_info (self, NULL, self->transition_type, self->child_transition.duration, TRUE); +} + +static void +hdy_stackable_box_class_init (HdyStackableBoxClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->get_property = hdy_stackable_box_get_property; + object_class->set_property = hdy_stackable_box_set_property; + object_class->finalize = hdy_stackable_box_finalize; + + /** + * HdyStackableBox:folded: + * + * %TRUE if the widget is folded. + * + * The #HdyStackableBox will be folded if the size allocated to it is smaller + * than the sum of the natural size of its children, it will be unfolded + * otherwise. + */ + props[PROP_FOLDED] = + g_param_spec_boolean ("folded", + _("Folded"), + _("Whether the widget is folded"), + FALSE, + G_PARAM_READABLE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyStackableBox:hhomogeneous_folded: + * + * %TRUE if the widget allocates the same width for all children when folded. + */ + props[PROP_HHOMOGENEOUS_FOLDED] = + g_param_spec_boolean ("hhomogeneous-folded", + _("Horizontally homogeneous folded"), + _("Horizontally homogeneous sizing when the widget is folded"), + TRUE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyStackableBox:vhomogeneous_folded: + * + * %TRUE if the widget allocates the same height for all children when folded. + */ + props[PROP_VHOMOGENEOUS_FOLDED] = + g_param_spec_boolean ("vhomogeneous-folded", + _("Vertically homogeneous folded"), + _("Vertically homogeneous sizing when the widget is folded"), + TRUE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyStackableBox:hhomogeneous_unfolded: + * + * %TRUE if the widget allocates the same width for all children when unfolded. + */ + props[PROP_HHOMOGENEOUS_UNFOLDED] = + g_param_spec_boolean ("hhomogeneous-unfolded", + _("Box horizontally homogeneous"), + _("Horizontally homogeneous sizing when the widget is unfolded"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyStackableBox:vhomogeneous_unfolded: + * + * %TRUE if the widget allocates the same height for all children when unfolded. + */ + props[PROP_VHOMOGENEOUS_UNFOLDED] = + g_param_spec_boolean ("vhomogeneous-unfolded", + _("Box vertically homogeneous"), + _("Vertically homogeneous sizing when the widget is unfolded"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_VISIBLE_CHILD] = + g_param_spec_object ("visible-child", + _("Visible child"), + _("The widget currently visible when the widget is folded"), + GTK_TYPE_WIDGET, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_VISIBLE_CHILD_NAME] = + g_param_spec_string ("visible-child-name", + _("Name of visible child"), + _("The name of the widget currently visible when the children are stacked"), + NULL, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyStackableBox:transition-type: + * + * The type of animation that will be used for transitions between modes and + * children. + * + * The transition type can be changed without problems at runtime, so it is + * possible to change the animation based on the mode or child that is about + * to become current. + * + * Since: 1.0 + */ + props[PROP_TRANSITION_TYPE] = + g_param_spec_enum ("transition-type", + _("Transition type"), + _("The type of animation used to transition between modes and children"), + HDY_TYPE_STACKABLE_BOX_TRANSITION_TYPE, HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_MODE_TRANSITION_DURATION] = + g_param_spec_uint ("mode-transition-duration", + _("Mode transition duration"), + _("The mode transition animation duration, in milliseconds"), + 0, G_MAXUINT, 250, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_CHILD_TRANSITION_DURATION] = + g_param_spec_uint ("child-transition-duration", + _("Child transition duration"), + _("The child transition animation duration, in milliseconds"), + 0, G_MAXUINT, 200, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_CHILD_TRANSITION_RUNNING] = + g_param_spec_boolean ("child-transition-running", + _("Child transition running"), + _("Whether or not the child transition is currently running"), + FALSE, + G_PARAM_READABLE); + + props[PROP_INTERPOLATE_SIZE] = + g_param_spec_boolean ("interpolate-size", + _("Interpolate size"), + _("Whether or not the size should smoothly change when changing between differently sized children"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyStackableBox:can-swipe-back: + * + * Whether or not the widget allows switching to the previous child that has + * 'navigatable' child property set to %TRUE via a swipe gesture. + * + * Since: 1.0 + */ + props[PROP_CAN_SWIPE_BACK] = + g_param_spec_boolean ("can-swipe-back", + _("Can swipe back"), + _("Whether or not swipe gesture can be used to switch to the previous child"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyStackableBox:can-swipe-forward: + * + * Whether or not the widget allows switching to the next child that has + * 'navigatable' child property set to %TRUE via a swipe gesture. + * + * Since: 1.0 + */ + props[PROP_CAN_SWIPE_FORWARD] = + g_param_spec_boolean ("can-swipe-forward", + _("Can swipe forward"), + _("Whether or not swipe gesture can be used to switch to the next child"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + props[PROP_ORIENTATION] = + g_param_spec_enum ("orientation", + _("Orientation"), + _("Orientation"), + GTK_TYPE_ORIENTATION, + GTK_ORIENTATION_HORIZONTAL, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, LAST_PROP, props); +} + +HdyStackableBox * +hdy_stackable_box_new (GtkContainer *container, + GtkContainerClass *klass, + gboolean can_unfold) +{ + GtkWidget *widget; + HdyStackableBox *self; + + g_return_val_if_fail (GTK_IS_CONTAINER (container), NULL); + g_return_val_if_fail (GTK_IS_ORIENTABLE (container), NULL); + g_return_val_if_fail (GTK_IS_CONTAINER_CLASS (klass), NULL); + + widget = GTK_WIDGET (container); + self = g_object_new (HDY_TYPE_STACKABLE_BOX, NULL); + + self->container = container; + self->klass = klass; + self->can_unfold = can_unfold; + + self->children = NULL; + self->children_reversed = NULL; + self->visible_child = NULL; + self->folded = FALSE; + self->homogeneous[HDY_FOLD_UNFOLDED][GTK_ORIENTATION_HORIZONTAL] = FALSE; + self->homogeneous[HDY_FOLD_UNFOLDED][GTK_ORIENTATION_VERTICAL] = FALSE; + self->homogeneous[HDY_FOLD_FOLDED][GTK_ORIENTATION_HORIZONTAL] = TRUE; + self->homogeneous[HDY_FOLD_FOLDED][GTK_ORIENTATION_VERTICAL] = TRUE; + self->transition_type = HDY_STACKABLE_BOX_TRANSITION_TYPE_OVER; + self->mode_transition.duration = 250; + self->child_transition.duration = 200; + self->mode_transition.current_pos = 1.0; + self->mode_transition.target_pos = 1.0; + + self->tracker = hdy_swipe_tracker_new (HDY_SWIPEABLE (self->container)); + + g_object_set (self->tracker, "orientation", self->orientation, "enabled", FALSE, NULL); + + g_signal_connect_object (self->tracker, "begin-swipe", G_CALLBACK (begin_swipe_cb), self, 0); + g_signal_connect_object (self->tracker, "update-swipe", G_CALLBACK (update_swipe_cb), self, 0); + g_signal_connect_object (self->tracker, "end-swipe", G_CALLBACK (end_swipe_cb), self, 0); + + self->shadow_helper = hdy_shadow_helper_new (widget); + + gtk_widget_set_has_window (widget, FALSE); + gtk_widget_set_can_focus (widget, FALSE); + gtk_widget_set_redraw_on_allocate (widget, FALSE); + + if (can_unfold) { + GtkStyleContext *context = gtk_widget_get_style_context (widget); + gtk_style_context_add_class (context, "unfolded"); + } + + return self; +} + +static void +hdy_stackable_box_init (HdyStackableBox *self) +{ +} diff --git a/subprojects/libhandy/src/hdy-swipe-group.c b/subprojects/libhandy/src/hdy-swipe-group.c new file mode 100644 index 00000000..2779a312 --- /dev/null +++ b/subprojects/libhandy/src/hdy-swipe-group.c @@ -0,0 +1,568 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" + +#include "hdy-swipe-group.h" +#include +#include "hdy-navigation-direction.h" +#include "hdy-swipe-tracker-private.h" + +#define BUILDABLE_TAG_OBJECT "object" +#define BUILDABLE_TAG_SWIPEABLE "swipeable" +#define BUILDABLE_TAG_SWIPEABLES "swipeables" +#define BUILDABLE_TAG_TEMPLATE "template" + +/** + * SECTION:hdy-swipe-group + * @short_description: An object for syncing swipeable widgets. + * @title: HdySwipeGroup + * @See_also: #HdyCarousel, #HdyDeck, #HdyLeaflet, #HdySwipeable + * + * The #HdySwipeGroup object can be used to sync multiple swipeable widgets + * that implement the #HdySwipeable interface, such as #HdyCarousel, so that + * animating one of them also animates all the other widgets in the group. + * + * This can be useful for syncing widgets between a window's titlebar and + * content area. + * + * # #HdySwipeGroup as #GtkBuildable + * + * #HdySwipeGroup can be created in an UI definition. The list of swipeable + * widgets is specified with a <swipeables> element containing multiple + * <swipeable> elements with their ”name” attribute specifying the id of + * the widgets. + * + * |[ + * + * + * + * + * + * + * ]| + * + * Since: 0.0.12 + */ + +struct _HdySwipeGroup +{ + GObject parent_instance; + + GSList *swipeables; + HdySwipeable *current; + gboolean block; +}; + +static void hdy_swipe_group_buildable_init (GtkBuildableIface *iface); + +G_DEFINE_TYPE_WITH_CODE (HdySwipeGroup, hdy_swipe_group, G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + hdy_swipe_group_buildable_init)) + +static gboolean +contains (HdySwipeGroup *self, + HdySwipeable *swipeable) +{ + GSList *swipeables; + + for (swipeables = self->swipeables; swipeables != NULL; swipeables = swipeables->next) + if (swipeables->data == swipeable) + return TRUE; + + return FALSE; +} + +static void +swipeable_destroyed (HdySwipeGroup *self, + HdySwipeable *swipeable) +{ + g_return_if_fail (HDY_IS_SWIPE_GROUP (self)); + + self->swipeables = g_slist_remove (self->swipeables, swipeable); + + g_object_unref (self); +} + +/** + * hdy_swipe_group_new: + * + * Create a new #HdySwipeGroup object. + * + * Returns: The newly created #HdySwipeGroup object + * + * Since: 0.0.12 + */ +HdySwipeGroup * +hdy_swipe_group_new (void) +{ + return g_object_new (HDY_TYPE_SWIPE_GROUP, NULL); +} + +static void +child_switched_cb (HdySwipeGroup *self, + guint index, + gint64 duration, + HdySwipeable *swipeable) +{ + GSList *swipeables; + + if (self->block) + return; + + if (self->current != NULL && self->current != swipeable) + return; + + self->block = TRUE; + + for (swipeables = self->swipeables; swipeables != NULL; swipeables = swipeables->next) + if (swipeables->data != swipeable) + hdy_swipeable_switch_child (swipeables->data, index, duration); + + self->block = FALSE; +} + +static void +begin_swipe_cb (HdySwipeGroup *self, + HdyNavigationDirection direction, + gboolean direct, + HdySwipeTracker *tracker) +{ + HdySwipeable *swipeable; + GSList *swipeables; + + if (self->block) + return; + + swipeable = hdy_swipe_tracker_get_swipeable (tracker); + + if (self->current != NULL && self->current != swipeable) + return; + + self->current = swipeable; + + self->block = TRUE; + + for (swipeables = self->swipeables; swipeables != NULL; swipeables = swipeables->next) + if (swipeables->data != swipeable) + hdy_swipe_tracker_emit_begin_swipe (hdy_swipeable_get_swipe_tracker (swipeables->data), + direction, FALSE); + + self->block = FALSE; +} + +static void +update_swipe_cb (HdySwipeGroup *self, + gdouble progress, + HdySwipeTracker *tracker) +{ + HdySwipeable *swipeable; + GSList *swipeables; + + if (self->block) + return; + + swipeable = hdy_swipe_tracker_get_swipeable (tracker); + + if (swipeable != self->current) + return; + + self->block = TRUE; + + for (swipeables = self->swipeables; swipeables != NULL; swipeables = swipeables->next) + if (swipeables->data != swipeable) + hdy_swipe_tracker_emit_update_swipe (hdy_swipeable_get_swipe_tracker (swipeables->data), + progress); + + self->block = FALSE; +} + +static void +end_swipe_cb (HdySwipeGroup *self, + gint64 duration, + gdouble to, + HdySwipeTracker *tracker) +{ + HdySwipeable *swipeable; + GSList *swipeables; + + if (self->block) + return; + + swipeable = hdy_swipe_tracker_get_swipeable (tracker); + + if (swipeable != self->current) + return; + + self->block = TRUE; + + for (swipeables = self->swipeables; swipeables != NULL; swipeables = swipeables->next) + if (swipeables->data != swipeable) + hdy_swipe_tracker_emit_end_swipe (hdy_swipeable_get_swipe_tracker (swipeables->data), + duration, to); + + self->current = NULL; + + self->block = FALSE; +} + +/** + * hdy_swipe_group_add_swipeable: + * @self: a #HdySwipeGroup + * @swipeable: the #HdySwipeable to add + * + * When the widget is destroyed or no longer referenced elsewhere, it will + * be removed from the swipe group. + * + * Since: 0.0.12 + */ +void +hdy_swipe_group_add_swipeable (HdySwipeGroup *self, + HdySwipeable *swipeable) +{ + HdySwipeTracker *tracker; + + g_return_if_fail (HDY_IS_SWIPE_GROUP (self)); + g_return_if_fail (HDY_IS_SWIPEABLE (swipeable)); + + tracker = hdy_swipeable_get_swipe_tracker (swipeable); + + g_return_if_fail (HDY_IS_SWIPE_TRACKER (tracker)); + + g_signal_connect_swapped (swipeable, "child-switched", G_CALLBACK (child_switched_cb), self); + g_signal_connect_swapped (tracker, "begin-swipe", G_CALLBACK (begin_swipe_cb), self); + g_signal_connect_swapped (tracker, "update-swipe", G_CALLBACK (update_swipe_cb), self); + g_signal_connect_swapped (tracker, "end-swipe", G_CALLBACK (end_swipe_cb), self); + + self->swipeables = g_slist_prepend (self->swipeables, swipeable); + + g_object_ref (self); + + g_signal_connect_swapped (swipeable, "destroy", G_CALLBACK (swipeable_destroyed), self); +} + + +/** + * hdy_swipe_group_remove_swipeable: + * @self: a #HdySwipeGroup + * @swipeable: the #HdySwipeable to remove + * + * Removes a widget from a #HdySwipeGroup. + * + * Since: 0.0.12 + **/ +void +hdy_swipe_group_remove_swipeable (HdySwipeGroup *self, + HdySwipeable *swipeable) +{ + HdySwipeTracker *tracker; + + g_return_if_fail (HDY_IS_SWIPE_GROUP (self)); + g_return_if_fail (HDY_IS_SWIPEABLE (swipeable)); + g_return_if_fail (contains (self, swipeable)); + + tracker = hdy_swipeable_get_swipe_tracker (swipeable); + + self->swipeables = g_slist_remove (self->swipeables, swipeable); + + g_signal_handlers_disconnect_by_data (swipeable, self); + g_signal_handlers_disconnect_by_data (tracker, self); + + g_object_unref (self); +} + + +/** + * hdy_swipe_group_get_swipeables: + * @self: a #HdySwipeGroup + * + * Returns the list of swipeables associated with @self. + * + * Returns: (element-type HdySwipeable) (transfer none): a #GSList of + * swipeables. The list is owned by libhandy and should not be modified. + * + * Since: 0.0.12 + **/ +GSList * +hdy_swipe_group_get_swipeables (HdySwipeGroup *self) +{ + g_return_val_if_fail (HDY_IS_SWIPE_GROUP (self), NULL); + + return self->swipeables; +} + +typedef struct { + gchar *name; + gint line; + gint col; +} ItemData; + +static void +item_data_free (gpointer data) +{ + ItemData *item_data = data; + + g_free (item_data->name); + g_free (item_data); +} + +typedef struct { + GObject *object; + GtkBuilder *builder; + GSList *items; +} GSListSubParserData; + +static void +hdy_swipe_group_dispose (GObject *object) +{ + HdySwipeGroup *self = (HdySwipeGroup *)object; + + g_slist_free_full (self->swipeables, (GDestroyNotify) g_object_unref); + self->swipeables = NULL; + + G_OBJECT_CLASS (hdy_swipe_group_parent_class)->dispose (object); +} + +/*< private > + * @builder: a #GtkBuilder + * @context: the #GMarkupParseContext + * @parent_name: the name of the expected parent element + * @error: return location for an error + * + * Checks that the parent element of the currently handled + * start tag is @parent_name and set @error if it isn't. + * + * This is intended to be called in start_element vfuncs to + * ensure that element nesting is as intended. + * + * Returns: %TRUE if @parent_name is the parent element + */ +/* This has been copied and modified from gtkbuilder.c. */ +static gboolean +_gtk_builder_check_parent (GtkBuilder *builder, + GMarkupParseContext *context, + const gchar *parent_name, + GError **error) +{ + const GSList *stack; + gint line, col; + const gchar *parent; + const gchar *element; + + stack = g_markup_parse_context_get_element_stack (context); + + element = (const gchar *)stack->data; + parent = stack->next ? (const gchar *)stack->next->data : ""; + + if (g_str_equal (parent_name, parent) || + (g_str_equal (parent_name, BUILDABLE_TAG_OBJECT) && + g_str_equal (parent, BUILDABLE_TAG_TEMPLATE))) + return TRUE; + + g_markup_parse_context_get_position (context, &line, &col); + g_set_error (error, + GTK_BUILDER_ERROR, + GTK_BUILDER_ERROR_INVALID_TAG, + ".:%d:%d Can't use <%s> here", + line, col, element); + + return FALSE; +} + +/*< private > + * _gtk_builder_prefix_error: + * @builder: a #GtkBuilder + * @context: the #GMarkupParseContext + * @error: an error + * + * Calls g_prefix_error() to prepend a filename:line:column marker + * to the given error. The filename is taken from @builder, and + * the line and column are obtained by calling + * g_markup_parse_context_get_position(). + * + * This is intended to be called on errors returned by + * g_markup_collect_attributes() in a start_element vfunc. + */ +/* This has been copied and modified from gtkbuilder.c. */ +static void +_gtk_builder_prefix_error (GtkBuilder *builder, + GMarkupParseContext *context, + GError **error) +{ + gint line, col; + + g_markup_parse_context_get_position (context, &line, &col); + g_prefix_error (error, ".:%d:%d ", line, col); +} + +/*< private > + * _gtk_builder_error_unhandled_tag: + * @builder: a #GtkBuilder + * @context: the #GMarkupParseContext + * @object: name of the object that is being handled + * @element_name: name of the element whose start tag is being handled + * @error: return location for the error + * + * Sets @error to a suitable error indicating that an @element_name + * tag is not expected in the custom markup for @object. + * + * This is intended to be called in a start_element vfunc. + */ +/* This has been copied and modified from gtkbuilder.c. */ +static void +_gtk_builder_error_unhandled_tag (GtkBuilder *builder, + GMarkupParseContext *context, + const gchar *object, + const gchar *element_name, + GError **error) +{ + gint line, col; + + g_markup_parse_context_get_position (context, &line, &col); + g_set_error (error, + GTK_BUILDER_ERROR, + GTK_BUILDER_ERROR_UNHANDLED_TAG, + ".:%d:%d Unsupported tag for %s: <%s>", + line, col, + object, element_name); +} + +/* This has been copied and modified from gtksizegroup.c. */ +static void +swipe_group_start_element (GMarkupParseContext *context, + const gchar *element_name, + const gchar **names, + const gchar **values, + gpointer user_data, + GError **error) +{ + GSListSubParserData *data = (GSListSubParserData*)user_data; + + if (strcmp (element_name, BUILDABLE_TAG_SWIPEABLE) == 0) + { + const gchar *name; + ItemData *item_data; + + if (!_gtk_builder_check_parent (data->builder, context, BUILDABLE_TAG_SWIPEABLES, error)) + return; + + if (!g_markup_collect_attributes (element_name, names, values, error, + G_MARKUP_COLLECT_STRING, "name", &name, + G_MARKUP_COLLECT_INVALID)) + { + _gtk_builder_prefix_error (data->builder, context, error); + return; + } + + item_data = g_new (ItemData, 1); + item_data->name = g_strdup (name); + g_markup_parse_context_get_position (context, &item_data->line, &item_data->col); + data->items = g_slist_prepend (data->items, item_data); + } + else if (strcmp (element_name, BUILDABLE_TAG_SWIPEABLES) == 0) + { + if (!_gtk_builder_check_parent (data->builder, context, BUILDABLE_TAG_OBJECT, error)) + return; + + if (!g_markup_collect_attributes (element_name, names, values, error, + G_MARKUP_COLLECT_INVALID, NULL, NULL, + G_MARKUP_COLLECT_INVALID)) + _gtk_builder_prefix_error (data->builder, context, error); + } + else + { + _gtk_builder_error_unhandled_tag (data->builder, context, + "HdySwipeGroup", element_name, + error); + } +} + + +/* This has been copied and modified from gtksizegroup.c. */ +static const GMarkupParser swipe_group_parser = + { + swipe_group_start_element + }; + +/* This has been copied and modified from gtksizegroup.c. */ +static gboolean +hdy_swipe_group_buildable_custom_tag_start (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + GMarkupParser *parser, + gpointer *parser_data) +{ + GSListSubParserData *data; + + if (child) + return FALSE; + + if (strcmp (tagname, BUILDABLE_TAG_SWIPEABLES) == 0) + { + data = g_slice_new0 (GSListSubParserData); + data->items = NULL; + data->object = G_OBJECT (buildable); + data->builder = builder; + + *parser = swipe_group_parser; + *parser_data = data; + + return TRUE; + } + + return FALSE; +} + +/* This has been copied and modified from gtksizegroup.c. */ +static void +hdy_swipe_group_buildable_custom_finished (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer user_data) +{ + GSList *l; + GSListSubParserData *data; + GObject *object; + + if (strcmp (tagname, BUILDABLE_TAG_SWIPEABLES) != 0) + return; + + data = (GSListSubParserData*)user_data; + data->items = g_slist_reverse (data->items); + + for (l = data->items; l; l = l->next) + { + ItemData *item_data = l->data; + object = gtk_builder_get_object (builder, item_data->name); + if (!object) + continue; + hdy_swipe_group_add_swipeable (HDY_SWIPE_GROUP (data->object), HDY_SWIPEABLE (object)); + } + g_slist_free_full (data->items, item_data_free); + g_slice_free (GSListSubParserData, data); +} + +static void +hdy_swipe_group_class_init (HdySwipeGroupClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->dispose = hdy_swipe_group_dispose; +} + +static void +hdy_swipe_group_init (HdySwipeGroup *self) +{ +} + +static void +hdy_swipe_group_buildable_init (GtkBuildableIface *iface) +{ + iface->custom_tag_start = hdy_swipe_group_buildable_custom_tag_start; + iface->custom_finished = hdy_swipe_group_buildable_custom_finished; +} diff --git a/subprojects/libhandy/src/hdy-swipe-group.h b/subprojects/libhandy/src/hdy-swipe-group.h new file mode 100644 index 00000000..791962ea --- /dev/null +++ b/subprojects/libhandy/src/hdy-swipe-group.h @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include "hdy-swipeable.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_SWIPE_GROUP (hdy_swipe_group_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdySwipeGroup, hdy_swipe_group, HDY, SWIPE_GROUP, GObject) + +HDY_AVAILABLE_IN_ALL +HdySwipeGroup *hdy_swipe_group_new (void); + +HDY_AVAILABLE_IN_ALL +void hdy_swipe_group_add_swipeable (HdySwipeGroup *self, + HdySwipeable *swipeable); +HDY_AVAILABLE_IN_ALL +GSList * hdy_swipe_group_get_swipeables (HdySwipeGroup *self); +HDY_AVAILABLE_IN_ALL +void hdy_swipe_group_remove_swipeable (HdySwipeGroup *self, + HdySwipeable *swipeable); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-swipe-tracker-private.h b/subprojects/libhandy/src/hdy-swipe-tracker-private.h new file mode 100644 index 00000000..d4b5541e --- /dev/null +++ b/subprojects/libhandy/src/hdy-swipe-tracker-private.h @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-swipe-tracker.h" + +G_BEGIN_DECLS + +void hdy_swipe_tracker_emit_begin_swipe (HdySwipeTracker *self, + HdyNavigationDirection direction, + gboolean direct); +void hdy_swipe_tracker_emit_update_swipe (HdySwipeTracker *self, + gdouble progress); +void hdy_swipe_tracker_emit_end_swipe (HdySwipeTracker *self, + gint64 duration, + gdouble to); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-swipe-tracker.c b/subprojects/libhandy/src/hdy-swipe-tracker.c new file mode 100644 index 00000000..0646f1c0 --- /dev/null +++ b/subprojects/libhandy/src/hdy-swipe-tracker.c @@ -0,0 +1,1179 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-swipe-tracker-private.h" +#include "hdy-navigation-direction.h" + +#include + +#define TOUCHPAD_BASE_DISTANCE_H 400 +#define TOUCHPAD_BASE_DISTANCE_V 300 +#define SCROLL_MULTIPLIER 10 +#define MIN_ANIMATION_DURATION 100 +#define MAX_ANIMATION_DURATION 400 +#define VELOCITY_THRESHOLD 0.4 +#define DURATION_MULTIPLIER 3 +#define ANIMATION_BASE_VELOCITY 0.002 +#define DRAG_THRESHOLD_DISTANCE 16 + +/** + * SECTION:hdy-swipe-tracker + * @short_description: Swipe tracker used in #HdyCarousel and #HdyLeaflet + * @title: HdySwipeTracker + * @See_also: #HdyCarousel, #HdyDeck, #HdyLeaflet, #HdySwipeable + * + * The HdySwipeTracker object can be used for implementing widgets with swipe + * gestures. It supports touch-based swipes, pointer dragging, and touchpad + * scrolling. + * + * The widgets will probably want to expose #HdySwipeTracker:enabled property. + * If they expect to use horizontal orientation, #HdySwipeTracker:reversed + * property can be used for supporting RTL text direction. + * + * Since: 1.0 + */ + +typedef enum { + HDY_SWIPE_TRACKER_STATE_NONE, + HDY_SWIPE_TRACKER_STATE_PENDING, + HDY_SWIPE_TRACKER_STATE_SCROLLING, + HDY_SWIPE_TRACKER_STATE_FINISHING, + HDY_SWIPE_TRACKER_STATE_REJECTED, +} HdySwipeTrackerState; + +struct _HdySwipeTracker +{ + GObject parent_instance; + + HdySwipeable *swipeable; + gboolean enabled; + gboolean reversed; + gboolean allow_mouse_drag; + GtkOrientation orientation; + + gint start_x; + gint start_y; + gboolean use_capture_phase; + + guint32 prev_time; + gdouble velocity; + + gdouble initial_progress; + gdouble progress; + gboolean cancelled; + + gdouble prev_offset; + + gboolean is_scrolling; + + HdySwipeTrackerState state; + GtkGesture *touch_gesture; +}; + +G_DEFINE_TYPE_WITH_CODE (HdySwipeTracker, hdy_swipe_tracker, G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)); + +enum { + PROP_0, + PROP_SWIPEABLE, + PROP_ENABLED, + PROP_REVERSED, + PROP_ALLOW_MOUSE_DRAG, + + /* GtkOrientable */ + PROP_ORIENTATION, + LAST_PROP = PROP_ALLOW_MOUSE_DRAG + 1, +}; + +static GParamSpec *props[LAST_PROP]; + +enum { + SIGNAL_BEGIN_SWIPE, + SIGNAL_UPDATE_SWIPE, + SIGNAL_END_SWIPE, + SIGNAL_LAST_SIGNAL, +}; + +static guint signals[SIGNAL_LAST_SIGNAL]; + +static void +reset (HdySwipeTracker *self) +{ + self->state = HDY_SWIPE_TRACKER_STATE_NONE; + + self->prev_offset = 0; + + self->initial_progress = 0; + self->progress = 0; + + self->start_x = 0; + self->start_y = 0; + self->use_capture_phase = FALSE; + + self->prev_time = 0; + self->velocity = 0; + + self->cancelled = FALSE; + + if (self->swipeable) + gtk_grab_remove (GTK_WIDGET (self->swipeable)); +} + +static void +get_range (HdySwipeTracker *self, + gdouble *first, + gdouble *last) +{ + g_autofree gdouble *points = NULL; + gint n; + + points = hdy_swipeable_get_snap_points (self->swipeable, &n); + + *first = points[0]; + *last = points[n - 1]; +} + +static void +gesture_prepare (HdySwipeTracker *self, + HdyNavigationDirection direction, + gboolean is_drag) +{ + GdkRectangle rect; + + if (self->state != HDY_SWIPE_TRACKER_STATE_NONE) + return; + + hdy_swipeable_get_swipe_area (self->swipeable, direction, is_drag, &rect); + + if (self->start_x < rect.x || + self->start_x >= rect.x + rect.width || + self->start_y < rect.y || + self->start_y >= rect.y + rect.height) { + self->state = HDY_SWIPE_TRACKER_STATE_REJECTED; + + return; + } + + hdy_swipe_tracker_emit_begin_swipe (self, direction, TRUE); + + self->initial_progress = hdy_swipeable_get_progress (self->swipeable); + self->progress = self->initial_progress; + self->velocity = 0; + self->state = HDY_SWIPE_TRACKER_STATE_PENDING; +} + +static void +gesture_begin (HdySwipeTracker *self) +{ + GdkEvent *event; + + if (self->state != HDY_SWIPE_TRACKER_STATE_PENDING) + return; + + event = gtk_get_current_event (); + self->prev_time = gdk_event_get_time (event); + self->state = HDY_SWIPE_TRACKER_STATE_SCROLLING; + + gtk_grab_add (GTK_WIDGET (self->swipeable)); +} + +static void +gesture_update (HdySwipeTracker *self, + gdouble delta) +{ + GdkEvent *event; + guint32 time; + gdouble progress; + gdouble first_point, last_point; + + if (self->state != HDY_SWIPE_TRACKER_STATE_SCROLLING) + return; + + event = gtk_get_current_event (); + time = gdk_event_get_time (event); + if (time != self->prev_time) + self->velocity = delta / (time - self->prev_time); + + get_range (self, &first_point, &last_point); + + progress = self->progress + delta; + progress = CLAMP (progress, first_point, last_point); + + /* FIXME: this is a hack to prevent swiping more than 1 page at once */ + progress = CLAMP (progress, self->initial_progress - 1, self->initial_progress + 1); + + self->progress = progress; + + hdy_swipe_tracker_emit_update_swipe (self, progress); + + self->prev_time = time; +} + +static void +get_closest_snap_points (HdySwipeTracker *self, + gdouble *upper, + gdouble *lower) +{ + gint i, n; + gdouble *points; + + *upper = 0; + *lower = 0; + + points = hdy_swipeable_get_snap_points (self->swipeable, &n); + + for (i = 0; i < n; i++) { + if (points[i] >= self->progress) { + *upper = points[i]; + break; + } + } + + for (i = n - 1; i >= 0; i--) { + if (points[i] <= self->progress) { + *lower = points[i]; + break; + } + } + + g_free (points); +} + +static gdouble +get_end_progress (HdySwipeTracker *self, + gdouble distance) +{ + gdouble upper, lower, middle; + + if (self->cancelled) + return hdy_swipeable_get_cancel_progress (self->swipeable); + + get_closest_snap_points (self, &upper, &lower); + middle = (upper + lower) / 2; + + if (self->progress > middle) + return (self->velocity * distance > -VELOCITY_THRESHOLD || + self->initial_progress > upper) ? upper : lower; + + return (self->velocity * distance < VELOCITY_THRESHOLD || + self->initial_progress < lower) ? lower : upper; +} + +static void +gesture_end (HdySwipeTracker *self, + gdouble distance) +{ + gdouble end_progress, velocity; + gint64 duration; + + if (self->state == HDY_SWIPE_TRACKER_STATE_NONE) + return; + + end_progress = get_end_progress (self, distance); + + velocity = ANIMATION_BASE_VELOCITY; + if ((end_progress - self->progress) * self->velocity > 0) + velocity = self->velocity; + + duration = ABS ((self->progress - end_progress) / velocity * DURATION_MULTIPLIER); + if (self->progress != end_progress) + duration = CLAMP (duration, MIN_ANIMATION_DURATION, MAX_ANIMATION_DURATION); + + hdy_swipe_tracker_emit_end_swipe (self, duration, end_progress); + + if (self->cancelled) + reset (self); + else + self->state = HDY_SWIPE_TRACKER_STATE_FINISHING; +} + +static void +gesture_cancel (HdySwipeTracker *self, + gdouble distance) +{ + if (self->state != HDY_SWIPE_TRACKER_STATE_PENDING && + self->state != HDY_SWIPE_TRACKER_STATE_SCROLLING) { + reset (self); + + return; + } + + self->cancelled = TRUE; + gesture_end (self, distance); +} + +static void +drag_begin_cb (HdySwipeTracker *self, + gdouble start_x, + gdouble start_y, + GtkGestureDrag *gesture) +{ + if (self->state != HDY_SWIPE_TRACKER_STATE_NONE) + gtk_gesture_set_state (self->touch_gesture, GTK_EVENT_SEQUENCE_DENIED); + + self->start_x = start_x; + self->start_y = start_y; +} + +static void +drag_update_cb (HdySwipeTracker *self, + gdouble offset_x, + gdouble offset_y, + GtkGestureDrag *gesture) +{ + gdouble offset, distance; + gboolean is_vertical, is_offset_vertical; + + distance = hdy_swipeable_get_distance (self->swipeable); + + is_vertical = (self->orientation == GTK_ORIENTATION_VERTICAL); + if (is_vertical) + offset = -offset_y / distance; + else + offset = -offset_x / distance; + + if (self->reversed) + offset = -offset; + + is_offset_vertical = (ABS (offset_y) > ABS (offset_x)); + + if (self->state == HDY_SWIPE_TRACKER_STATE_REJECTED) { + gtk_gesture_set_state (self->touch_gesture, GTK_EVENT_SEQUENCE_DENIED); + return; + } + + if (self->state == HDY_SWIPE_TRACKER_STATE_NONE) { + if (is_vertical == is_offset_vertical) + gesture_prepare (self, offset > 0 ? HDY_NAVIGATION_DIRECTION_FORWARD : HDY_NAVIGATION_DIRECTION_BACK, TRUE); + else + gtk_gesture_set_state (self->touch_gesture, GTK_EVENT_SEQUENCE_DENIED); + return; + } + + if (self->state == HDY_SWIPE_TRACKER_STATE_PENDING) { + gdouble drag_distance; + gdouble first_point, last_point; + gboolean is_overshooting; + + get_range (self, &first_point, &last_point); + + drag_distance = sqrt (offset_x * offset_x + offset_y * offset_y); + is_overshooting = (offset < 0 && self->progress <= first_point) || + (offset > 0 && self->progress >= last_point); + + if (drag_distance >= DRAG_THRESHOLD_DISTANCE) { + if ((is_vertical == is_offset_vertical) && !is_overshooting) { + gesture_begin (self); + self->prev_offset = offset; + gtk_gesture_set_state (self->touch_gesture, GTK_EVENT_SEQUENCE_CLAIMED); + } else { + gtk_gesture_set_state (self->touch_gesture, GTK_EVENT_SEQUENCE_DENIED); + } + } + } + + if (self->state == HDY_SWIPE_TRACKER_STATE_SCROLLING) { + gesture_update (self, offset - self->prev_offset); + self->prev_offset = offset; + } +} + +static void +drag_end_cb (HdySwipeTracker *self, + gdouble offset_x, + gdouble offset_y, + GtkGestureDrag *gesture) +{ + gdouble distance; + + distance = hdy_swipeable_get_distance (self->swipeable); + + if (self->state == HDY_SWIPE_TRACKER_STATE_REJECTED) { + gtk_gesture_set_state (self->touch_gesture, GTK_EVENT_SEQUENCE_DENIED); + + reset (self); + return; + } + + if (self->state != HDY_SWIPE_TRACKER_STATE_SCROLLING) { + gesture_cancel (self, distance); + gtk_gesture_set_state (self->touch_gesture, GTK_EVENT_SEQUENCE_DENIED); + return; + } + + gesture_end (self, distance); +} + +static void +drag_cancel_cb (HdySwipeTracker *self, + GdkEventSequence *sequence, + GtkGesture *gesture) +{ + gdouble distance; + + distance = hdy_swipeable_get_distance (self->swipeable); + + gesture_cancel (self, distance); + gtk_gesture_set_state (gesture, GTK_EVENT_SEQUENCE_DENIED); +} + +static gboolean +handle_scroll_event (HdySwipeTracker *self, + GdkEvent *event, + gboolean capture) +{ + GdkDevice *source_device; + GdkInputSource input_source; + gdouble dx, dy, delta, distance; + gboolean is_vertical; + gboolean is_delta_vertical; + + is_vertical = (self->orientation == GTK_ORIENTATION_VERTICAL); + distance = is_vertical ? TOUCHPAD_BASE_DISTANCE_V : TOUCHPAD_BASE_DISTANCE_H; + + if (gdk_event_get_scroll_direction (event, NULL)) + return GDK_EVENT_PROPAGATE; + + source_device = gdk_event_get_source_device (event); + input_source = gdk_device_get_source (source_device); + if (input_source != GDK_SOURCE_TOUCHPAD) + return GDK_EVENT_PROPAGATE; + + gdk_event_get_scroll_deltas (event, &dx, &dy); + delta = is_vertical ? dy : dx; + if (self->reversed) + delta = -delta; + + is_delta_vertical = (ABS (dy) > ABS (dx)); + + if (self->is_scrolling) { + gesture_cancel (self, distance); + + if (gdk_event_is_scroll_stop_event (event)) + self->is_scrolling = FALSE; + + return GDK_EVENT_PROPAGATE; + } + + if (self->state == HDY_SWIPE_TRACKER_STATE_REJECTED) { + if (gdk_event_is_scroll_stop_event (event)) + reset (self); + + return GDK_EVENT_PROPAGATE; + } + + if (self->state == HDY_SWIPE_TRACKER_STATE_NONE) { + if (gdk_event_is_scroll_stop_event (event)) + return GDK_EVENT_PROPAGATE; + + if (is_vertical == is_delta_vertical) { + if (!capture) { + GtkWidget *widget = gtk_get_event_widget (event); + gdouble event_x, event_y; + + gdk_event_get_coords (event, &event_x, &event_y); + gtk_widget_translate_coordinates (widget, GTK_WIDGET (self->swipeable), + event_x, event_y, + &self->start_x, &self->start_y); + + gesture_prepare (self, delta > 0 ? HDY_NAVIGATION_DIRECTION_FORWARD : HDY_NAVIGATION_DIRECTION_BACK, FALSE); + } + } else { + self->is_scrolling = TRUE; + return GDK_EVENT_PROPAGATE; + } + } + + if (!capture && self->state == HDY_SWIPE_TRACKER_STATE_PENDING) { + gboolean is_overshooting; + gdouble first_point, last_point; + + get_range (self, &first_point, &last_point); + + is_overshooting = (delta < 0 && self->progress <= first_point) || + (delta > 0 && self->progress >= last_point); + + if ((is_vertical == is_delta_vertical) && !is_overshooting) + gesture_begin (self); + else + gesture_cancel (self, distance); + } + + if (self->state == HDY_SWIPE_TRACKER_STATE_SCROLLING) { + if (gdk_event_is_scroll_stop_event (event)) { + gesture_end (self, distance); + } else { + gesture_update (self, delta / distance * SCROLL_MULTIPLIER); + return GDK_EVENT_STOP; + } + } + + if (!capture && self->state == HDY_SWIPE_TRACKER_STATE_FINISHING) + reset (self); + + return GDK_EVENT_PROPAGATE; +} + +static gboolean +is_window_handle (GtkWidget *widget) +{ + gboolean window_dragging; + GtkWidget *parent, *window, *titlebar; + + gtk_widget_style_get (widget, "window-dragging", &window_dragging, NULL); + + if (window_dragging) + return TRUE; + + /* Window titlebar area is always draggable, so check if we're inside. */ + window = gtk_widget_get_toplevel (widget); + if (!GTK_IS_WINDOW (window)) + return FALSE; + + titlebar = gtk_window_get_titlebar (GTK_WINDOW (window)); + if (!titlebar) + return FALSE; + + parent = widget; + while (parent && parent != titlebar) + parent = gtk_widget_get_parent (parent); + + return parent == titlebar; +} + +/* HACK: Since we don't have _gtk_widget_consumes_motion(), we can't do a proper + * check for whether we can drag from a widget or not. So we trust the widgets + * to propagate or stop their events. However, GtkButton stops press events, + * making it impossible to drag from it. + */ +static gboolean +should_force_drag (HdySwipeTracker *self, + GtkWidget *widget) +{ + GtkWidget *parent; + + if (!GTK_IS_BUTTON (widget)) + return FALSE; + + parent = widget; + while (parent && !HDY_IS_SWIPEABLE (parent)) + parent = gtk_widget_get_parent (parent); + + return parent == GTK_WIDGET (self->swipeable); +} + +static gboolean +handle_event_cb (HdySwipeTracker *self, + GdkEvent *event) +{ + GdkEventSequence *sequence; + gboolean retval; + GtkEventSequenceState state; + GtkWidget *widget; + + if (!self->enabled && self->state != HDY_SWIPE_TRACKER_STATE_SCROLLING) + return GDK_EVENT_PROPAGATE; + + if (self->use_capture_phase) + return GDK_EVENT_PROPAGATE; + + if (event->type == GDK_SCROLL) + return handle_scroll_event (self, event, FALSE); + + if (event->type != GDK_BUTTON_PRESS && + event->type != GDK_BUTTON_RELEASE && + event->type != GDK_MOTION_NOTIFY && + event->type != GDK_TOUCH_BEGIN && + event->type != GDK_TOUCH_END && + event->type != GDK_TOUCH_UPDATE && + event->type != GDK_TOUCH_CANCEL) + return GDK_EVENT_PROPAGATE; + + widget = gtk_get_event_widget (event); + if (is_window_handle (widget)) + return GDK_EVENT_PROPAGATE; + + sequence = gdk_event_get_event_sequence (event); + retval = gtk_event_controller_handle_event (GTK_EVENT_CONTROLLER (self->touch_gesture), event); + state = gtk_gesture_get_sequence_state (self->touch_gesture, sequence); + + if (state == GTK_EVENT_SEQUENCE_DENIED) { + gtk_event_controller_reset (GTK_EVENT_CONTROLLER (self->touch_gesture)); + return GDK_EVENT_PROPAGATE; + } + + if (self->state == HDY_SWIPE_TRACKER_STATE_SCROLLING) { + return GDK_EVENT_STOP; + } else if (self->state == HDY_SWIPE_TRACKER_STATE_FINISHING) { + reset (self); + return GDK_EVENT_STOP; + } + return retval; +} + +static gboolean +captured_event_cb (HdySwipeable *swipeable, + GdkEvent *event) +{ + HdySwipeTracker *self = hdy_swipeable_get_swipe_tracker (swipeable); + GtkWidget *widget; + GdkEventSequence *sequence; + gboolean retval; + GtkEventSequenceState state; + + g_assert (HDY_IS_SWIPE_TRACKER (self)); + + if (!self->enabled && self->state != HDY_SWIPE_TRACKER_STATE_SCROLLING) + return GDK_EVENT_PROPAGATE; + + if (event->type == GDK_SCROLL) + return handle_scroll_event (self, event, TRUE); + + if (event->type != GDK_BUTTON_PRESS && + event->type != GDK_BUTTON_RELEASE && + event->type != GDK_MOTION_NOTIFY && + event->type != GDK_TOUCH_BEGIN && + event->type != GDK_TOUCH_END && + event->type != GDK_TOUCH_UPDATE && + event->type != GDK_TOUCH_CANCEL) + return GDK_EVENT_PROPAGATE; + + widget = gtk_get_event_widget (event); + + if (!self->use_capture_phase && !should_force_drag (self, widget)) + return GDK_EVENT_PROPAGATE; + + self->use_capture_phase = TRUE; + + sequence = gdk_event_get_event_sequence (event); + retval = gtk_event_controller_handle_event (GTK_EVENT_CONTROLLER (self->touch_gesture), event); + state = gtk_gesture_get_sequence_state (self->touch_gesture, sequence); + + if (state == GTK_EVENT_SEQUENCE_DENIED) { + gtk_event_controller_reset (GTK_EVENT_CONTROLLER (self->touch_gesture)); + return GDK_EVENT_PROPAGATE; + } + + if (self->state == HDY_SWIPE_TRACKER_STATE_SCROLLING) { + return GDK_EVENT_STOP; + } else if (self->state == HDY_SWIPE_TRACKER_STATE_FINISHING) { + reset (self); + return GDK_EVENT_STOP; + } + + return retval; +} + +static void +hdy_swipe_tracker_constructed (GObject *object) +{ + HdySwipeTracker *self = HDY_SWIPE_TRACKER (object); + + g_assert (self->swipeable); + + gtk_widget_add_events (GTK_WIDGET (self->swipeable), + GDK_SMOOTH_SCROLL_MASK | + GDK_BUTTON_PRESS_MASK | + GDK_BUTTON_RELEASE_MASK | + GDK_BUTTON_MOTION_MASK | + GDK_TOUCH_MASK); + + self->touch_gesture = g_object_new (GTK_TYPE_GESTURE_DRAG, + "widget", self->swipeable, + "propagation-phase", GTK_PHASE_NONE, + "touch-only", !self->allow_mouse_drag, + NULL); + + g_signal_connect_swapped (self->touch_gesture, "drag-begin", G_CALLBACK (drag_begin_cb), self); + g_signal_connect_swapped (self->touch_gesture, "drag-update", G_CALLBACK (drag_update_cb), self); + g_signal_connect_swapped (self->touch_gesture, "drag-end", G_CALLBACK (drag_end_cb), self); + g_signal_connect_swapped (self->touch_gesture, "cancel", G_CALLBACK (drag_cancel_cb), self); + + g_signal_connect_object (self->swipeable, "event", G_CALLBACK (handle_event_cb), self, G_CONNECT_SWAPPED); + g_signal_connect_object (self->swipeable, "unrealize", G_CALLBACK (reset), self, G_CONNECT_SWAPPED); + + /* + * HACK: GTK3 has no other way to get events on capture phase. + * This is a reimplementation of _gtk_widget_set_captured_event_handler(), + * which is private. In GTK4 it can be replaced with GtkEventControllerLegacy + * with capture propagation phase + */ + g_object_set_data (G_OBJECT (self->swipeable), "captured-event-handler", captured_event_cb); + + G_OBJECT_CLASS (hdy_swipe_tracker_parent_class)->constructed (object); +} + +static void +hdy_swipe_tracker_dispose (GObject *object) +{ + HdySwipeTracker *self = HDY_SWIPE_TRACKER (object); + + if (self->swipeable) + gtk_grab_remove (GTK_WIDGET (self->swipeable)); + + if (self->touch_gesture) + g_signal_handlers_disconnect_by_data (self->touch_gesture, self); + + g_object_set_data (G_OBJECT (self->swipeable), "captured-event-handler", NULL); + + g_clear_object (&self->touch_gesture); + g_clear_object (&self->swipeable); + + G_OBJECT_CLASS (hdy_swipe_tracker_parent_class)->dispose (object); +} + +static void +hdy_swipe_tracker_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdySwipeTracker *self = HDY_SWIPE_TRACKER (object); + + switch (prop_id) { + case PROP_SWIPEABLE: + g_value_set_object (value, hdy_swipe_tracker_get_swipeable (self)); + break; + + case PROP_ENABLED: + g_value_set_boolean (value, hdy_swipe_tracker_get_enabled (self)); + break; + + case PROP_REVERSED: + g_value_set_boolean (value, hdy_swipe_tracker_get_reversed (self)); + break; + + case PROP_ALLOW_MOUSE_DRAG: + g_value_set_boolean (value, hdy_swipe_tracker_get_allow_mouse_drag (self)); + break; + + case PROP_ORIENTATION: + g_value_set_enum (value, self->orientation); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_swipe_tracker_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdySwipeTracker *self = HDY_SWIPE_TRACKER (object); + + switch (prop_id) { + case PROP_SWIPEABLE: + self->swipeable = HDY_SWIPEABLE (g_object_ref (g_value_get_object (value))); + break; + + case PROP_ENABLED: + hdy_swipe_tracker_set_enabled (self, g_value_get_boolean (value)); + break; + + case PROP_REVERSED: + hdy_swipe_tracker_set_reversed (self, g_value_get_boolean (value)); + break; + + case PROP_ALLOW_MOUSE_DRAG: + hdy_swipe_tracker_set_allow_mouse_drag (self, g_value_get_boolean (value)); + break; + + case PROP_ORIENTATION: + { + GtkOrientation orientation = g_value_get_enum (value); + if (orientation != self->orientation) { + self->orientation = g_value_get_enum (value); + g_object_notify (G_OBJECT (self), "orientation"); + } + } + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_swipe_tracker_class_init (HdySwipeTrackerClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->constructed = hdy_swipe_tracker_constructed; + object_class->dispose = hdy_swipe_tracker_dispose; + object_class->get_property = hdy_swipe_tracker_get_property; + object_class->set_property = hdy_swipe_tracker_set_property; + + /** + * HdySwipeTracker:swipeable: + * + * The widget the swipe tracker is attached to. Must not be %NULL. + * + * Since: 1.0 + */ + props[PROP_SWIPEABLE] = + g_param_spec_object ("swipeable", + _("Swipeable"), + _("The swipeable the swipe tracker is attached to"), + HDY_TYPE_SWIPEABLE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY); + + /** + * HdySwipeTracker:enabled: + * + * Whether the swipe tracker is enabled. When it's not enabled, no events + * will be processed. Usually widgets will want to expose this via a property. + * + * Since: 1.0 + */ + props[PROP_ENABLED] = + g_param_spec_boolean ("enabled", + _("Enabled"), + _("Whether the swipe tracker processes events"), + TRUE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdySwipeTracker:reversed: + * + * Whether to reverse the swipe direction. If the swipe tracker is horizontal, + * it can be used for supporting RTL text direction. + * + * Since: 1.0 + */ + props[PROP_REVERSED] = + g_param_spec_boolean ("reversed", + _("Reversed"), + _("Whether swipe direction is reversed"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdySwipeTracker:allow-mouse-drag: + * + * Whether to allow dragging with mouse pointer. This should usually be + * %FALSE. + * + * Since: 1.0 + */ + props[PROP_ALLOW_MOUSE_DRAG] = + g_param_spec_boolean ("allow-mouse-drag", + _("Allow mouse drag"), + _("Whether to allow dragging with mouse pointer"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_override_property (object_class, + PROP_ORIENTATION, + "orientation"); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + /** + * HdySwipeTracker::begin-swipe: + * @self: The #HdySwipeTracker instance + * @direction: The direction of the swipe + * @direct: %TRUE if the swipe is directly triggered by a gesture, + * %FALSE if it's triggered via a #HdySwipeGroup + * + * This signal is emitted when a possible swipe is detected. + * + * The @direction value can be used to restrict the swipe to a certain + * direction. + * + * Since: 1.0 + */ + signals[SIGNAL_BEGIN_SWIPE] = + g_signal_new ("begin-swipe", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_FIRST, + 0, + NULL, NULL, NULL, + G_TYPE_NONE, + 2, + HDY_TYPE_NAVIGATION_DIRECTION, G_TYPE_BOOLEAN); + + /** + * HdySwipeTracker::update-swipe: + * @self: The #HdySwipeTracker instance + * @progress: The current animation progress value + * + * This signal is emitted every time the progress value changes. + * + * Since: 1.0 + */ + signals[SIGNAL_UPDATE_SWIPE] = + g_signal_new ("update-swipe", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_FIRST, + 0, + NULL, NULL, NULL, + G_TYPE_NONE, + 1, + G_TYPE_DOUBLE); + + /** + * HdySwipeTracker::end-swipe: + * @self: The #HdySwipeTracker instance + * @duration: Snap-back animation duration in milliseconds + * @to: The progress value to animate to + * + * This signal is emitted as soon as the gesture has stopped. + * + * Since: 1.0 + */ + signals[SIGNAL_END_SWIPE] = + g_signal_new ("end-swipe", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_FIRST, + 0, + NULL, NULL, NULL, + G_TYPE_NONE, + 2, + G_TYPE_INT64, G_TYPE_DOUBLE); +} + +static void +hdy_swipe_tracker_init (HdySwipeTracker *self) +{ + reset (self); + self->orientation = GTK_ORIENTATION_HORIZONTAL; + self->enabled = TRUE; +} + +/** + * hdy_swipe_tracker_new: + * @swipeable: a #GtkWidget to add the tracker on + * + * Create a new #HdySwipeTracker object on @widget. + * + * Returns: the newly created #HdySwipeTracker object + * + * Since: 1.0 + */ +HdySwipeTracker * +hdy_swipe_tracker_new (HdySwipeable *swipeable) +{ + g_return_val_if_fail (HDY_IS_SWIPEABLE (swipeable), NULL); + + return g_object_new (HDY_TYPE_SWIPE_TRACKER, + "swipeable", swipeable, + NULL); +} + +/** + * hdy_swipe_tracker_get_swipeable: + * @self: a #HdySwipeTracker + * + * Get @self's swipeable widget. + * + * Returns: (transfer none): the swipeable widget + * + * Since: 1.0 + */ +HdySwipeable * +hdy_swipe_tracker_get_swipeable (HdySwipeTracker *self) +{ + g_return_val_if_fail (HDY_IS_SWIPE_TRACKER (self), NULL); + + return self->swipeable; +} + +/** + * hdy_swipe_tracker_get_enabled: + * @self: a #HdySwipeTracker + * + * Get whether @self is enabled. When it's not enabled, no events will be + * processed. Generally widgets will want to expose this via a property. + * + * Returns: %TRUE if @self is enabled + * + * Since: 1.0 + */ +gboolean +hdy_swipe_tracker_get_enabled (HdySwipeTracker *self) +{ + g_return_val_if_fail (HDY_IS_SWIPE_TRACKER (self), FALSE); + + return self->enabled; +} + +/** + * hdy_swipe_tracker_set_enabled: + * @self: a #HdySwipeTracker + * @enabled: whether to enable to swipe tracker + * + * Set whether @self is enabled. When it's not enabled, no events will be + * processed. Usually widgets will want to expose this via a property. + * + * Since: 1.0 + */ +void +hdy_swipe_tracker_set_enabled (HdySwipeTracker *self, + gboolean enabled) +{ + g_return_if_fail (HDY_IS_SWIPE_TRACKER (self)); + + enabled = !!enabled; + + if (self->enabled == enabled) + return; + + self->enabled = enabled; + + if (!enabled && self->state != HDY_SWIPE_TRACKER_STATE_SCROLLING) + reset (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ENABLED]); +} + +/** + * hdy_swipe_tracker_get_reversed: + * @self: a #HdySwipeTracker + * + * Get whether @self is reversing the swipe direction. + * + * Returns: %TRUE is the direction is reversed + * + * Since: 1.0 + */ +gboolean +hdy_swipe_tracker_get_reversed (HdySwipeTracker *self) +{ + g_return_val_if_fail (HDY_IS_SWIPE_TRACKER (self), FALSE); + + return self->reversed; +} + +/** + * hdy_swipe_tracker_set_reversed: + * @self: a #HdySwipeTracker + * @reversed: whether to reverse the swipe direction + * + * Set whether to reverse the swipe direction. If @self is horizontal, + * can be used for supporting RTL text direction. + * + * Since: 1.0 + */ +void +hdy_swipe_tracker_set_reversed (HdySwipeTracker *self, + gboolean reversed) +{ + g_return_if_fail (HDY_IS_SWIPE_TRACKER (self)); + + reversed = !!reversed; + + if (self->reversed == reversed) + return; + + self->reversed = reversed; + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REVERSED]); +} + +/** + * hdy_swipe_tracker_get_allow_mouse_drag: + * @self: a #HdySwipeTracker + * + * Get whether @self can be dragged with mouse pointer. + * + * Returns: %TRUE is mouse dragging is allowed + * + * Since: 1.0 + */ +gboolean +hdy_swipe_tracker_get_allow_mouse_drag (HdySwipeTracker *self) +{ + g_return_val_if_fail (HDY_IS_SWIPE_TRACKER (self), FALSE); + + return self->allow_mouse_drag; +} + +/** + * hdy_swipe_tracker_set_allow_mouse_drag: + * @self: a #HdySwipeTracker + * @allow_mouse_drag: whether to allow mouse dragging + * + * Set whether @self can be dragged with mouse pointer. This should usually be + * %FALSE. + * + * Since: 1.0 + */ +void +hdy_swipe_tracker_set_allow_mouse_drag (HdySwipeTracker *self, + gboolean allow_mouse_drag) +{ + g_return_if_fail (HDY_IS_SWIPE_TRACKER (self)); + + allow_mouse_drag = !!allow_mouse_drag; + + if (self->allow_mouse_drag == allow_mouse_drag) + return; + + self->allow_mouse_drag = allow_mouse_drag; + + if (self->touch_gesture) + g_object_set (self->touch_gesture, "touch-only", !allow_mouse_drag, NULL); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ALLOW_MOUSE_DRAG]); +} + +/** + * hdy_swipe_tracker_shift_position: + * @self: a #HdySwipeTracker + * @delta: the position delta + * + * Move the current progress value by @delta. This can be used to adjust the + * current position if snap points move during the gesture. + * + * Since: 1.0 + */ +void +hdy_swipe_tracker_shift_position (HdySwipeTracker *self, + gdouble delta) +{ + g_return_if_fail (HDY_IS_SWIPE_TRACKER (self)); + + if (self->state != HDY_SWIPE_TRACKER_STATE_PENDING && + self->state != HDY_SWIPE_TRACKER_STATE_SCROLLING) + return; + + self->progress += delta; + self->initial_progress += delta; +} + +void +hdy_swipe_tracker_emit_begin_swipe (HdySwipeTracker *self, + HdyNavigationDirection direction, + gboolean direct) +{ + g_return_if_fail (HDY_IS_SWIPE_TRACKER (self)); + + g_signal_emit (self, signals[SIGNAL_BEGIN_SWIPE], 0, direction, direct); +} + +void +hdy_swipe_tracker_emit_update_swipe (HdySwipeTracker *self, + gdouble progress) +{ + g_return_if_fail (HDY_IS_SWIPE_TRACKER (self)); + + g_signal_emit (self, signals[SIGNAL_UPDATE_SWIPE], 0, progress); +} + +void +hdy_swipe_tracker_emit_end_swipe (HdySwipeTracker *self, + gint64 duration, + gdouble to) +{ + g_return_if_fail (HDY_IS_SWIPE_TRACKER (self)); + + g_signal_emit (self, signals[SIGNAL_END_SWIPE], 0, duration, to); +} diff --git a/subprojects/libhandy/src/hdy-swipe-tracker.h b/subprojects/libhandy/src/hdy-swipe-tracker.h new file mode 100644 index 00000000..20fe751f --- /dev/null +++ b/subprojects/libhandy/src/hdy-swipe-tracker.h @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include "hdy-swipeable.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_SWIPE_TRACKER (hdy_swipe_tracker_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdySwipeTracker, hdy_swipe_tracker, HDY, SWIPE_TRACKER, GObject) + +HDY_AVAILABLE_IN_ALL +HdySwipeTracker *hdy_swipe_tracker_new (HdySwipeable *swipeable); + +HDY_AVAILABLE_IN_ALL +HdySwipeable *hdy_swipe_tracker_get_swipeable (HdySwipeTracker *self); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_swipe_tracker_get_enabled (HdySwipeTracker *self); +HDY_AVAILABLE_IN_ALL +void hdy_swipe_tracker_set_enabled (HdySwipeTracker *self, + gboolean enabled); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_swipe_tracker_get_reversed (HdySwipeTracker *self); +HDY_AVAILABLE_IN_ALL +void hdy_swipe_tracker_set_reversed (HdySwipeTracker *self, + gboolean reversed); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_swipe_tracker_get_allow_mouse_drag (HdySwipeTracker *self); +HDY_AVAILABLE_IN_ALL +void hdy_swipe_tracker_set_allow_mouse_drag (HdySwipeTracker *self, + gboolean allow_mouse_drag); + +HDY_AVAILABLE_IN_ALL +void hdy_swipe_tracker_shift_position (HdySwipeTracker *self, + gdouble delta); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-swipeable.c b/subprojects/libhandy/src/hdy-swipeable.c new file mode 100644 index 00000000..6be17130 --- /dev/null +++ b/subprojects/libhandy/src/hdy-swipeable.c @@ -0,0 +1,273 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" + +#include "hdy-swipeable.h" + +/** + * SECTION:hdy-swipeable + * @short_description: An interface for swipeable widgets. + * @title: HdySwipeable + * @See_also: #HdyCarousel, #HdyDeck, #HdyLeaflet, #HdySwipeGroup + * + * The #HdySwipeable interface is implemented by all swipeable widgets. They + * can be synced using #HdySwipeGroup. + * + * See #HdySwipeTracker for details about implementing it. + * + * Since: 0.0.12 + */ + +G_DEFINE_INTERFACE (HdySwipeable, hdy_swipeable, GTK_TYPE_WIDGET) + +enum { + SIGNAL_CHILD_SWITCHED, + SIGNAL_LAST_SIGNAL, +}; + +static guint signals[SIGNAL_LAST_SIGNAL]; + +static void +hdy_swipeable_default_init (HdySwipeableInterface *iface) +{ + /** + * HdySwipeable::child-switched: + * @self: The #HdySwipeable instance + * @index: the index of the child to switch to + * @duration: Animation duration in milliseconds + * + * This signal should be emitted when the widget's visible child is changed. + * + * @duration can be 0 if the child is switched without animation. + * + * This is used by #HdySwipeGroup, applications should not connect to it. + * + * Since: 1.0 + */ + signals[SIGNAL_CHILD_SWITCHED] = + g_signal_new ("child-switched", + G_TYPE_FROM_INTERFACE (iface), + G_SIGNAL_RUN_FIRST, + 0, + NULL, NULL, NULL, + G_TYPE_NONE, + 2, + G_TYPE_UINT, G_TYPE_INT64); +} + +/** + * hdy_swipeable_switch_child: + * @self: a #HdySwipeable + * @index: the index of the child to switch to + * @duration: Animation duration in milliseconds + * + * See HdySwipeable::child-switched. + * + * Since: 1.0 + */ +void +hdy_swipeable_switch_child (HdySwipeable *self, + guint index, + gint64 duration) +{ + HdySwipeableInterface *iface; + + g_return_if_fail (HDY_IS_SWIPEABLE (self)); + + iface = HDY_SWIPEABLE_GET_IFACE (self); + g_return_if_fail (iface->switch_child != NULL); + + iface->switch_child (self, index, duration); +} + +/** + * hdy_swipeable_emit_child_switched: + * @self: a #HdySwipeable + * @index: the index of the child to switch to + * @duration: Animation duration in milliseconds + * + * Emits HdySwipeable::child-switched signal. This should be called when the + * widget switches visible child widget. + * + * @duration can be 0 if the child is switched without animation. + * + * Since: 1.0 + */ +void +hdy_swipeable_emit_child_switched (HdySwipeable *self, + guint index, + gint64 duration) +{ + g_return_if_fail (HDY_IS_SWIPEABLE (self)); + + g_signal_emit (self, signals[SIGNAL_CHILD_SWITCHED], 0, index, duration); +} + +/** + * hdy_swipeable_get_swipe_tracker: + * @self: a #HdySwipeable + * + * Gets the #HdySwipeTracker used by this swipeable widget. + * + * Returns: (transfer none): the swipe tracker + * + * Since: 1.0 + */ +HdySwipeTracker * +hdy_swipeable_get_swipe_tracker (HdySwipeable *self) +{ + HdySwipeableInterface *iface; + + g_return_val_if_fail (HDY_IS_SWIPEABLE (self), NULL); + + iface = HDY_SWIPEABLE_GET_IFACE (self); + g_return_val_if_fail (iface->get_swipe_tracker != NULL, NULL); + + return iface->get_swipe_tracker (self); +} + +/** + * hdy_swipeable_get_distance: + * @self: a #HdySwipeable + * + * Gets the swipe distance of @self. This corresponds to how many pixels + * 1 unit represents. + * + * Returns: the swipe distance in pixels + * + * Since: 1.0 + */ +gdouble +hdy_swipeable_get_distance (HdySwipeable *self) +{ + HdySwipeableInterface *iface; + + g_return_val_if_fail (HDY_IS_SWIPEABLE (self), 0); + + iface = HDY_SWIPEABLE_GET_IFACE (self); + g_return_val_if_fail (iface->get_distance != NULL, 0); + + return iface->get_distance (self); +} + +/** + * hdy_swipeable_get_snap_points: (virtual get_snap_points) + * @self: a #HdySwipeable + * @n_snap_points: (out): location to return the number of the snap points + * + * Gets the snap points of @self. Each snap point represents a progress value + * that is considered acceptable to end the swipe on. + * + * Returns: (array length=n_snap_points) (transfer full): the snap points of + * @self. The array must be freed with g_free(). + * + * Since: 1.0 + */ +gdouble * +hdy_swipeable_get_snap_points (HdySwipeable *self, + gint *n_snap_points) +{ + HdySwipeableInterface *iface; + + g_return_val_if_fail (HDY_IS_SWIPEABLE (self), NULL); + + iface = HDY_SWIPEABLE_GET_IFACE (self); + g_return_val_if_fail (iface->get_snap_points != NULL, NULL); + + return iface->get_snap_points (self, n_snap_points); +} + +/** + * hdy_swipeable_get_progress: + * @self: a #HdySwipeable + * + * Gets the current progress of @self + * + * Returns: the current progress, unitless + * + * Since: 1.0 + */ +gdouble +hdy_swipeable_get_progress (HdySwipeable *self) +{ + HdySwipeableInterface *iface; + + g_return_val_if_fail (HDY_IS_SWIPEABLE (self), 0); + + iface = HDY_SWIPEABLE_GET_IFACE (self); + g_return_val_if_fail (iface->get_progress != NULL, 0); + + return iface->get_progress (self); +} + +/** + * hdy_swipeable_get_cancel_progress: + * @self: a #HdySwipeable + * + * Gets the progress @self will snap back to after the gesture is canceled. + * + * Returns: the cancel progress, unitless + * + * Since: 1.0 + */ +gdouble +hdy_swipeable_get_cancel_progress (HdySwipeable *self) +{ + HdySwipeableInterface *iface; + + g_return_val_if_fail (HDY_IS_SWIPEABLE (self), 0); + + iface = HDY_SWIPEABLE_GET_IFACE (self); + g_return_val_if_fail (iface->get_cancel_progress != NULL, 0); + + return iface->get_cancel_progress (self); +} + +/** + * hdy_swipeable_get_swipe_area: + * @self: a #HdySwipeable + * @navigation_direction: the direction of the swipe + * @is_drag: whether the swipe is caused by a dragging gesture + * @rect: (out): a pointer to a #GdkRectangle to store the swipe area + * + * Gets the area @self can start a swipe from for the given direction and + * gesture type. + * This can be used to restrict swipes to only be possible from a certain area, + * for example, to only allow edge swipes, or to have a draggable element and + * ignore swipes elsewhere. + * + * Swipe area is only considered for direct swipes (as in, not initiated by + * #HdySwipeGroup). + * + * If not implemented, the default implementation returns the allocation of + * @self, allowing swipes from anywhere. + * + * Since: 1.0 + */ +void +hdy_swipeable_get_swipe_area (HdySwipeable *self, + HdyNavigationDirection navigation_direction, + gboolean is_drag, + GdkRectangle *rect) +{ + HdySwipeableInterface *iface; + + g_return_if_fail (HDY_IS_SWIPEABLE (self)); + g_return_if_fail (rect != NULL); + + iface = HDY_SWIPEABLE_GET_IFACE (self); + + if (iface->get_swipe_area) { + iface->get_swipe_area (self, navigation_direction, is_drag, rect); + return; + } + + rect->x = 0; + rect->y = 0; + rect->width = gtk_widget_get_allocated_width (GTK_WIDGET (self)); + rect->height = gtk_widget_get_allocated_height (GTK_WIDGET (self)); +} diff --git a/subprojects/libhandy/src/hdy-swipeable.h b/subprojects/libhandy/src/hdy-swipeable.h new file mode 100644 index 00000000..9cb6cde7 --- /dev/null +++ b/subprojects/libhandy/src/hdy-swipeable.h @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include "hdy-navigation-direction.h" +#include "hdy-types.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_SWIPEABLE (hdy_swipeable_get_type ()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_INTERFACE (HdySwipeable, hdy_swipeable, HDY, SWIPEABLE, GtkWidget) + +/** + * HdySwipeableInterface: + * @parent: The parent interface. + * @switch_child: Switches visible child. + * @get_swipe_tracker: Gets the swipe tracker. + * @get_distance: Gets the swipe distance. + * @get_snap_points: Gets the snap points + * @get_progress: Gets the current progress. + * @get_cancel_progress: Gets the cancel progress. + * @get_swipe_area: Gets the swipeable rectangle. + * + * An interface for swipeable widgets. + * + * Since: 1.0 + **/ +struct _HdySwipeableInterface +{ + GTypeInterface parent; + + void (*switch_child) (HdySwipeable *self, + guint index, + gint64 duration); + + HdySwipeTracker * (*get_swipe_tracker) (HdySwipeable *self); + gdouble (*get_distance) (HdySwipeable *self); + gdouble * (*get_snap_points) (HdySwipeable *self, + gint *n_snap_points); + gdouble (*get_progress) (HdySwipeable *self); + gdouble (*get_cancel_progress) (HdySwipeable *self); + void (*get_swipe_area) (HdySwipeable *self, + HdyNavigationDirection navigation_direction, + gboolean is_drag, + GdkRectangle *rect); + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +void hdy_swipeable_switch_child (HdySwipeable *self, + guint index, + gint64 duration); + +HDY_AVAILABLE_IN_ALL +void hdy_swipeable_emit_child_switched (HdySwipeable *self, + guint index, + gint64 duration); + +HDY_AVAILABLE_IN_ALL +HdySwipeTracker *hdy_swipeable_get_swipe_tracker (HdySwipeable *self); +HDY_AVAILABLE_IN_ALL +gdouble hdy_swipeable_get_distance (HdySwipeable *self); +HDY_AVAILABLE_IN_ALL +gdouble *hdy_swipeable_get_snap_points (HdySwipeable *self, + gint *n_snap_points); +HDY_AVAILABLE_IN_ALL +gdouble hdy_swipeable_get_progress (HdySwipeable *self); +HDY_AVAILABLE_IN_ALL +gdouble hdy_swipeable_get_cancel_progress (HdySwipeable *self); +HDY_AVAILABLE_IN_ALL +void hdy_swipeable_get_swipe_area (HdySwipeable *self, + HdyNavigationDirection navigation_direction, + gboolean is_drag, + GdkRectangle *rect); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-title-bar.c b/subprojects/libhandy/src/hdy-title-bar.c new file mode 100644 index 00000000..fd5371a3 --- /dev/null +++ b/subprojects/libhandy/src/hdy-title-bar.c @@ -0,0 +1,347 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include "hdy-title-bar.h" + +#include + +/** + * SECTION:hdy-title-bar + * @short_description: A simple title bar container. + * @Title: HdyTitleBar + * + * HdyTitleBar is meant to be used as the top-level widget of your window's + * title bar. It will be drawn with the same style as a GtkHeaderBar but it + * won't force a widget layout on you: you can put whatever widget you want in + * it, including a GtkHeaderBar. + * + * HdyTitleBar becomes really useful when you want to animate header bars, like + * an adaptive application using #HdyLeaflet would do. + * + * # CSS nodes + * + * #HdyTitleBar has a single CSS node with name headerbar. + */ + +enum { + PROP_0, + PROP_SELECTION_MODE, + LAST_PROP, +}; + +struct _HdyTitleBar +{ + GtkBin parent_instance; + + gboolean selection_mode; +}; + +G_DEFINE_TYPE (HdyTitleBar, hdy_title_bar, GTK_TYPE_BIN) + +static GParamSpec *props[LAST_PROP]; + +/** + * hdy_title_bar_set_selection_mode: + * @self: a #HdyTitleBar + * @selection_mode: %TRUE to enable the selection mode + * + * Sets whether @self is in selection mode. + */ +void +hdy_title_bar_set_selection_mode (HdyTitleBar *self, + gboolean selection_mode) +{ + GtkStyleContext *context; + + g_return_if_fail (HDY_IS_TITLE_BAR (self)); + + selection_mode = !!selection_mode; + + context = gtk_widget_get_style_context (GTK_WIDGET (self)); + + if (self->selection_mode == selection_mode) + return; + + self->selection_mode = selection_mode; + + if (selection_mode) + gtk_style_context_add_class (context, "selection-mode"); + else + gtk_style_context_remove_class (context, "selection-mode"); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SELECTION_MODE]); +} + +/** + * hdy_title_bar_get_selection_mode: + * @self: a #HdyTitleBar + * + * Returns whether whether @self is in selection mode. + * + * Returns: %TRUE if the title bar is in selection mode + */ +gboolean +hdy_title_bar_get_selection_mode (HdyTitleBar *self) +{ + g_return_val_if_fail (HDY_IS_TITLE_BAR (self), FALSE); + + return self->selection_mode; +} + +static void +style_updated_cb (HdyTitleBar *self) +{ + GtkStyleContext *context; + gboolean selection_mode; + + g_assert (HDY_IS_TITLE_BAR (self)); + + context = gtk_widget_get_style_context (GTK_WIDGET (self)); + selection_mode = gtk_style_context_has_class (context, "selection-mode"); + + if (self->selection_mode == selection_mode) + return; + + self->selection_mode = selection_mode; + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SELECTION_MODE]); +} + +static void +hdy_title_bar_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyTitleBar *self = HDY_TITLE_BAR (object); + + switch (prop_id) { + case PROP_SELECTION_MODE: + g_value_set_boolean (value, hdy_title_bar_get_selection_mode (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_title_bar_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyTitleBar *self = HDY_TITLE_BAR (object); + + switch (prop_id) { + case PROP_SELECTION_MODE: + hdy_title_bar_set_selection_mode (self, g_value_get_boolean (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static gboolean +hdy_title_bar_draw (GtkWidget *widget, + cairo_t *cr) +{ + GtkStyleContext *context; + + context = gtk_widget_get_style_context (widget); + /* GtkWidget draws nothing by default so we have to render the background + * explicitly for HdyTitleBar to render the typical titlebar background. + */ + gtk_render_background (context, + cr, + 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + + return GTK_WIDGET_CLASS (hdy_title_bar_parent_class)->draw (widget, cr); +} + +/* This private method is prefixed by the class name because it will be a + * virtual method in GTK 4. + */ +static void +hdy_title_bar_measure (GtkWidget *widget, + GtkOrientation orientation, + gint for_size, + gint *minimum, + gint *natural, + gint *minimum_baseline, + gint *natural_baseline) +{ + GtkWidget *child; + gint parent_min, parent_nat; + gint css_width, css_height, css_min; + + child = gtk_bin_get_child (GTK_BIN (widget)); + + gtk_style_context_get (gtk_widget_get_style_context (widget), + gtk_widget_get_state_flags (widget), + "min-width", &css_width, + "min-height", &css_height, + NULL); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + css_min = css_width; + else + css_min = css_height; + + if (child) + if (orientation == GTK_ORIENTATION_HORIZONTAL) + if (for_size != 1) + gtk_widget_get_preferred_width_for_height (child, + MAX (for_size, css_height), + &parent_min, &parent_nat); + else + gtk_widget_get_preferred_width (child, &parent_min, &parent_nat); + else + if (for_size != 1) + gtk_widget_get_preferred_height_for_width (child, + MAX (for_size, css_width), + &parent_min, &parent_nat); + else + gtk_widget_get_preferred_height (child, &parent_min, &parent_nat); + else { + parent_min = 0; + parent_nat = 0; + } + + if (minimum) + *minimum = MAX (parent_min, css_min); + + if (natural) + *natural = MAX (parent_nat, css_min); + + if (minimum_baseline) + *minimum_baseline = -1; + + if (natural_baseline) + *natural_baseline = -1; +} + +static void +hdy_title_bar_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + hdy_title_bar_measure (widget, GTK_ORIENTATION_HORIZONTAL, -1, + minimum, natural, NULL, NULL); +} + +static void +hdy_title_bar_get_preferred_width_for_height (GtkWidget *widget, + gint height, + gint *minimum, + gint *natural) +{ + hdy_title_bar_measure (widget, GTK_ORIENTATION_HORIZONTAL, height, + minimum, natural, NULL, NULL); +} + +static void +hdy_title_bar_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + hdy_title_bar_measure (widget, GTK_ORIENTATION_VERTICAL, -1, + minimum, natural, NULL, NULL); +} + +static void +hdy_title_bar_get_preferred_height_for_width (GtkWidget *widget, + gint width, + gint *minimum, + gint *natural) +{ + hdy_title_bar_measure (widget, GTK_ORIENTATION_VERTICAL, width, + minimum, natural, NULL, NULL); +} + +static void +hdy_title_bar_size_allocate (GtkWidget *widget, + GtkAllocation *allocation) +{ + GtkAllocation clip; + + gtk_render_background_get_clip (gtk_widget_get_style_context (widget), + allocation->x, + allocation->y, + allocation->width, + allocation->height, + &clip); + + GTK_WIDGET_CLASS (hdy_title_bar_parent_class)->size_allocate (widget, allocation); + gtk_widget_set_clip (widget, &clip); +} + +static void +hdy_title_bar_class_init (HdyTitleBarClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); + + object_class->get_property = hdy_title_bar_get_property; + object_class->set_property = hdy_title_bar_set_property; + + widget_class->draw = hdy_title_bar_draw; + widget_class->get_preferred_width = hdy_title_bar_get_preferred_width; + widget_class->get_preferred_width_for_height = hdy_title_bar_get_preferred_width_for_height; + widget_class->get_preferred_height = hdy_title_bar_get_preferred_height; + widget_class->get_preferred_height_for_width = hdy_title_bar_get_preferred_height_for_width; + widget_class->size_allocate = hdy_title_bar_size_allocate; + + /** + * HdyTitleBar:selection_mode: + * + * %TRUE if the title bar is in selection mode. + */ + props[PROP_SELECTION_MODE] = + g_param_spec_boolean ("selection-mode", + _("Selection mode"), + _("Whether or not the title bar is in selection mode"), + FALSE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_TITLE_BAR); + /* Adwaita states it expects a headerbar to be the top-level titlebar widget, + * so style-wise HdyTitleBar pretends to be one as its role is to be the + * top-level titlebar widget. + */ + gtk_widget_class_set_css_name (widget_class, "headerbar"); + gtk_container_class_handle_border_width (container_class); +} + +static void +hdy_title_bar_init (HdyTitleBar *self) +{ + GtkStyleContext *context; + + context = gtk_widget_get_style_context (GTK_WIDGET (self)); + /* Ensure the widget has the titlebar style class. */ + gtk_style_context_add_class (context, "titlebar"); + + g_signal_connect (self, "style-updated", G_CALLBACK (style_updated_cb), NULL); +} + +/** + * hdy_title_bar_new: + * + * Creates a new #HdyTitleBar. + * + * Returns: a new #HdyTitleBar + */ +GtkWidget * +hdy_title_bar_new (void) +{ + return g_object_new (HDY_TYPE_TITLE_BAR, NULL); +} diff --git a/subprojects/libhandy/src/hdy-title-bar.h b/subprojects/libhandy/src/hdy-title-bar.h new file mode 100644 index 00000000..275f4ea7 --- /dev/null +++ b/subprojects/libhandy/src/hdy-title-bar.h @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_TITLE_BAR (hdy_title_bar_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdyTitleBar, hdy_title_bar, HDY, TITLE_BAR, GtkBin) + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_title_bar_new (void); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_title_bar_get_selection_mode (HdyTitleBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_title_bar_set_selection_mode (HdyTitleBar *self, + gboolean selection_mode); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-types.h b/subprojects/libhandy/src/hdy-types.h new file mode 100644 index 00000000..56a3763f --- /dev/null +++ b/subprojects/libhandy/src/hdy-types.h @@ -0,0 +1,17 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +G_BEGIN_DECLS + +typedef struct _HdySwipeTracker HdySwipeTracker; + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-value-object.c b/subprojects/libhandy/src/hdy-value-object.c new file mode 100644 index 00000000..485d4b3d --- /dev/null +++ b/subprojects/libhandy/src/hdy-value-object.c @@ -0,0 +1,267 @@ +/* + * Copyright (C) 2019 Red Hat Inc. + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include +#include +#include "hdy-value-object.h" + +/** + * SECTION:hdy-value-object + * @short_description: An object representing a #GValue. + * @Title: HdyValueObject + * + * The #HdyValueObject object represents a #GValue, allowing it to be + * used with #GListModel. + * + * Since: 0.0.8 + */ + +struct _HdyValueObject +{ + GObject parent_instance; + + GValue value; +}; + +G_DEFINE_TYPE (HdyValueObject, hdy_value_object, G_TYPE_OBJECT) + +enum { + PROP_0, + PROP_VALUE, + N_PROPS +}; + +static GParamSpec *props [N_PROPS]; + +/** + * hdy_value_object_new: + * @value: the #GValue to store + * + * Create a new #HdyValueObject. + * + * Returns: a new #HdyValueObject + * Since: 0.0.8 + */ +HdyValueObject * +hdy_value_object_new (const GValue *value) +{ + return g_object_new (HDY_TYPE_VALUE_OBJECT, + "value", value, + NULL); +} + +/** + * hdy_value_object_new_collect: (skip) + * @type: the #GType of the value + * @...: the value to store + * + * Creates a new #HdyValueObject. This is a convenience method which uses + * the G_VALUE_COLLECT() macro internally. + * + * Returns: a new #HdyValueObject + * Since: 0.0.8 + */ +HdyValueObject* +hdy_value_object_new_collect (GType type, ...) +{ + g_auto(GValue) value = G_VALUE_INIT; + g_autofree gchar *error = NULL; + va_list var_args; + + va_start (var_args, type); + + G_VALUE_COLLECT_INIT (&value, type, var_args, 0, &error); + + va_end (var_args); + + if (error) + g_critical ("%s: %s", G_STRFUNC, error); + + return g_object_new (HDY_TYPE_VALUE_OBJECT, + "value", &value, + NULL); +} + +/** + * hdy_value_object_new_string: (skip) + * @string: (transfer none): the string to store + * + * Creates a new #HdyValueObject. This is a convenience method to create a + * #HdyValueObject that stores a string. + * + * Returns: a new #HdyValueObject + * Since: 0.0.8 + */ +HdyValueObject* +hdy_value_object_new_string (const gchar *string) +{ + g_auto(GValue) value = G_VALUE_INIT; + + g_value_init (&value, G_TYPE_STRING); + g_value_set_string (&value, string); + return hdy_value_object_new (&value); +} + +/** + * hdy_value_object_new_take_string: (skip) + * @string: (transfer full): the string to store + * + * Creates a new #HdyValueObject. This is a convenience method to create a + * #HdyValueObject that stores a string taking ownership of it. + * + * Returns: a new #HdyValueObject + * Since: 0.0.8 + */ +HdyValueObject* +hdy_value_object_new_take_string (gchar *string) +{ + g_auto(GValue) value = G_VALUE_INIT; + + g_value_init (&value, G_TYPE_STRING); + g_value_take_string (&value, string); + return hdy_value_object_new (&value); +} + +static void +hdy_value_object_finalize (GObject *object) +{ + HdyValueObject *self = HDY_VALUE_OBJECT (object); + + g_value_unset (&self->value); + + G_OBJECT_CLASS (hdy_value_object_parent_class)->finalize (object); +} + +static void +hdy_value_object_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyValueObject *self = HDY_VALUE_OBJECT (object); + + switch (prop_id) + { + case PROP_VALUE: + g_value_set_boxed (value, &self->value); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_value_object_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyValueObject *self = HDY_VALUE_OBJECT (object); + GValue *real_value; + + switch (prop_id) + { + case PROP_VALUE: + /* construct only */ + real_value = g_value_get_boxed (value); + g_value_init (&self->value, real_value->g_type); + g_value_copy (real_value, &self->value); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +hdy_value_object_class_init (HdyValueObjectClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = hdy_value_object_finalize; + object_class->get_property = hdy_value_object_get_property; + object_class->set_property = hdy_value_object_set_property; + + props[PROP_VALUE] = + g_param_spec_boxed ("value", C_("HdyValueObjectClass", "Value"), + C_("HdyValueObjectClass", "The contained value"), + G_TYPE_VALUE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + + g_object_class_install_properties (object_class, + N_PROPS, + props); +} + +static void +hdy_value_object_init (HdyValueObject *self) +{ +} + +/** + * hdy_value_object_get_value: + * @value: the #HdyValueObject + * + * Return the contained value. + * + * Returns: (transfer none): the contained #GValue + * Since: 0.0.8 + */ +const GValue* +hdy_value_object_get_value (HdyValueObject *value) +{ + return &value->value; +} + +/** + * hdy_value_object_copy_value: + * @value: the #HdyValueObject + * @dest: #GValue with correct type to copy into + * + * Copy data from the contained #GValue into @dest. + * + * Since: 0.0.8 + */ +void +hdy_value_object_copy_value (HdyValueObject *value, + GValue *dest) +{ + g_value_copy (&value->value, dest); +} + +/** + * hdy_value_object_get_string: + * @value: the #HdyValueObject + * + * Returns the contained string if the value is of type #G_TYPE_STRING. + * + * Returns: (transfer none): the contained string + * Since: 0.0.8 + */ +const gchar* +hdy_value_object_get_string (HdyValueObject *value) +{ + return g_value_get_string (&value->value); +} + +/** + * hdy_value_object_dup_string: + * @value: the #HdyValueObject + * + * Returns a copy of the contained string if the value is of type + * #G_TYPE_STRING. + * + * Returns: (transfer full): a copy of the contained string + * Since: 0.0.8 + */ +gchar* +hdy_value_object_dup_string (HdyValueObject *value) +{ + return g_value_dup_string (&value->value); +} + diff --git a/subprojects/libhandy/src/hdy-value-object.h b/subprojects/libhandy/src/hdy-value-object.h new file mode 100644 index 00000000..b44f106d --- /dev/null +++ b/subprojects/libhandy/src/hdy-value-object.h @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2019 Red Hat Inc. + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_VALUE_OBJECT (hdy_value_object_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdyValueObject, hdy_value_object, HDY, VALUE_OBJECT, GObject) + +HDY_AVAILABLE_IN_ALL +HdyValueObject *hdy_value_object_new (const GValue *value); +HDY_AVAILABLE_IN_ALL +HdyValueObject *hdy_value_object_new_collect (GType type, + ...); +HDY_AVAILABLE_IN_ALL +HdyValueObject *hdy_value_object_new_string (const gchar *string); +HDY_AVAILABLE_IN_ALL +HdyValueObject *hdy_value_object_new_take_string (gchar *string); + +HDY_AVAILABLE_IN_ALL +const GValue* hdy_value_object_get_value (HdyValueObject *value); +HDY_AVAILABLE_IN_ALL +void hdy_value_object_copy_value (HdyValueObject *value, + GValue *dest); +HDY_AVAILABLE_IN_ALL +const gchar* hdy_value_object_get_string (HdyValueObject *value); +HDY_AVAILABLE_IN_ALL +gchar* hdy_value_object_dup_string (HdyValueObject *value); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-version.h.in b/subprojects/libhandy/src/hdy-version.h.in new file mode 100644 index 00000000..0cb923f1 --- /dev/null +++ b/subprojects/libhandy/src/hdy-version.h.in @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2017 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +/** + * SECTION:hdy-version + * @short_description: Handy version checking. + * + * Handy provides macros to check the version of the library at compile-time. + */ + +/** + * HDY_MAJOR_VERSION: + * + * Hdy major version component (e.g. 1 if %HDY_VERSION is 1.2.3) + */ +#define HDY_MAJOR_VERSION (@HDY_MAJOR_VERSION@) + +/** + * HDY_MINOR_VERSION: + * + * Hdy minor version component (e.g. 2 if %HDY_VERSION is 1.2.3) + */ +#define HDY_MINOR_VERSION (@HDY_MINOR_VERSION@) + +/** + * HDY_MICRO_VERSION: + * + * Hdy micro version component (e.g. 3 if %HDY_VERSION is 1.2.3) + */ +#define HDY_MICRO_VERSION (@HDY_MICRO_VERSION@) + +/** + * HDY_VERSION + * + * Hdy version. + */ +#define HDY_VERSION (@HDY_VERSION@) + +/** + * HDY_VERSION_S: + * + * Handy version, encoded as a string, useful for printing and + * concatenation. + */ +#define HDY_VERSION_S "@HDY_VERSION@" + +#define HDY_ENCODE_VERSION(major,minor,micro) \ + ((major) << 24 | (minor) << 16 | (micro) << 8) + +/** + * HDY_VERSION_HEX: + * + * Handy version, encoded as an hexadecimal number, useful for + * integer comparisons. + */ +#define HDY_VERSION_HEX \ + (HDY_ENCODE_VERSION (HDY_MAJOR_VERSION, HDY_MINOR_VERSION, HDY_MICRO_VERSION)) + +/** + * HDY_CHECK_VERSION: + * @major: required major version + * @minor: required minor version + * @micro: required micro version + * + * Compile-time version checking. Evaluates to %TRUE if the version + * of handy is greater than the required one. + */ +#define HDY_CHECK_VERSION(major,minor,micro) \ + (HDY_MAJOR_VERSION > (major) || \ + (HDY_MAJOR_VERSION == (major) && HDY_MINOR_VERSION > (minor)) || \ + (HDY_MAJOR_VERSION == (major) && HDY_MINOR_VERSION == (minor) && \ + HDY_MICRO_VERSION >= (micro))) + +#ifndef _HDY_EXTERN +#define _HDY_EXTERN extern +#endif + +#define HDY_AVAILABLE_IN_ALL _HDY_EXTERN diff --git a/subprojects/libhandy/src/hdy-view-switcher-bar.c b/subprojects/libhandy/src/hdy-view-switcher-bar.c new file mode 100644 index 00000000..111d3e61 --- /dev/null +++ b/subprojects/libhandy/src/hdy-view-switcher-bar.c @@ -0,0 +1,392 @@ +/* + * Copyright (C) 2019 Zander Brown + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-enums.h" +#include "hdy-view-switcher-bar.h" + +/** + * SECTION:hdy-view-switcher-bar + * @short_description: A view switcher action bar. + * @title: HdyViewSwitcherBar + * @See_also: #HdyViewSwitcher, #HdyViewSwitcherTitle + * + * An action bar letting you switch between multiple views offered by a + * #GtkStack, via an #HdyViewSwitcher. It is designed to be put at the bottom of + * a window and to be revealed only on really narrow windows e.g. on mobile + * phones. It can't be revealed if there are less than two pages. + * + * You can conveniently bind the #HdyViewSwitcherBar:reveal property to + * #HdyViewSwitcherTitle:title-visible to automatically reveal the view switcher + * bar when the title label is displayed in place of the view switcher. + * + * An example of the UI definition for a common use case: + * |[ + * + * + * + * strict + * + * + * stack + * + * + * + * + * + * + * + * + * + * + * + * stack + * + * + * + * + * + * + * ]| + * + * # CSS nodes + * + * #HdyViewSwitcherBar has a single CSS node with name viewswitcherbar. + * + * Since: 0.0.10 + */ + +enum { + PROP_0, + PROP_POLICY, + PROP_STACK, + PROP_REVEAL, + LAST_PROP, +}; + +struct _HdyViewSwitcherBar +{ + GtkBin parent_instance; + + GtkActionBar *action_bar; + GtkRevealer *revealer; + HdyViewSwitcher *view_switcher; + + HdyViewSwitcherPolicy policy; + gboolean reveal; +}; + +static GParamSpec *props[LAST_PROP]; + +G_DEFINE_TYPE (HdyViewSwitcherBar, hdy_view_switcher_bar, GTK_TYPE_BIN) + +static void +count_children_cb (GtkWidget *widget, + gint *count) +{ + (*count)++; +} + +static void +update_bar_revealed (HdyViewSwitcherBar *self) { + GtkStack *stack = hdy_view_switcher_get_stack (self->view_switcher); + gint count = 0; + + if (self->reveal && stack) + gtk_container_foreach (GTK_CONTAINER (stack), (GtkCallback) count_children_cb, &count); + + gtk_revealer_set_reveal_child (self->revealer, count > 1); +} + +static void +hdy_view_switcher_bar_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyViewSwitcherBar *self = HDY_VIEW_SWITCHER_BAR (object); + + switch (prop_id) { + case PROP_POLICY: + g_value_set_enum (value, hdy_view_switcher_bar_get_policy (self)); + break; + case PROP_STACK: + g_value_set_object (value, hdy_view_switcher_bar_get_stack (self)); + break; + case PROP_REVEAL: + g_value_set_boolean (value, hdy_view_switcher_bar_get_reveal (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +hdy_view_switcher_bar_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyViewSwitcherBar *self = HDY_VIEW_SWITCHER_BAR (object); + + switch (prop_id) { + case PROP_POLICY: + hdy_view_switcher_bar_set_policy (self, g_value_get_enum (value)); + break; + case PROP_STACK: + hdy_view_switcher_bar_set_stack (self, g_value_get_object (value)); + break; + case PROP_REVEAL: + hdy_view_switcher_bar_set_reveal (self, g_value_get_boolean (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +hdy_view_switcher_bar_class_init (HdyViewSwitcherBarClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + object_class->get_property = hdy_view_switcher_bar_get_property; + object_class->set_property = hdy_view_switcher_bar_set_property; + + /** + * HdyViewSwitcherBar:policy: + * + * The #HdyViewSwitcherPolicy the #HdyViewSwitcher should use to determine + * which mode to use. + * + * Since: 0.0.10 + */ + props[PROP_POLICY] = + g_param_spec_enum ("policy", + _("Policy"), + _("The policy to determine the mode to use"), + HDY_TYPE_VIEW_SWITCHER_POLICY, HDY_VIEW_SWITCHER_POLICY_NARROW, + G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + /** + * HdyViewSwitcherBar:stack: + * + * The #GtkStack the #HdyViewSwitcher controls. + * + * Since: 0.0.10 + */ + props[PROP_STACK] = + g_param_spec_object ("stack", + _("Stack"), + _("Stack"), + GTK_TYPE_STACK, + G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + /** + * HdyViewSwitcherBar:reveal: + * + * Whether the bar should be revealed or hidden. + * + * Since: 0.0.10 + */ + props[PROP_REVEAL] = + g_param_spec_boolean ("reveal", + _("Reveal"), + _("Whether the view switcher is revealed"), + FALSE, + G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + gtk_widget_class_set_css_name (widget_class, "viewswitcherbar"); + + gtk_widget_class_set_template_from_resource (widget_class, + "/sm/puri/handy/ui/hdy-view-switcher-bar.ui"); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherBar, action_bar); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherBar, view_switcher); +} + +static void +hdy_view_switcher_bar_init (HdyViewSwitcherBar *self) +{ + /* This must be initialized before the template so the embedded view switcher + * can pick up the correct default value. + */ + self->policy = HDY_VIEW_SWITCHER_POLICY_NARROW; + + gtk_widget_init_template (GTK_WIDGET (self)); + + self->revealer = GTK_REVEALER (gtk_bin_get_child (GTK_BIN (self->action_bar))); + update_bar_revealed (self); + gtk_revealer_set_transition_type (self->revealer, GTK_REVEALER_TRANSITION_TYPE_SLIDE_UP); +} + +/** + * hdy_view_switcher_bar_new: + * + * Creates a new #HdyViewSwitcherBar widget. + * + * Returns: a new #HdyViewSwitcherBar + * + * Since: 0.0.10 + */ +GtkWidget * +hdy_view_switcher_bar_new (void) +{ + return g_object_new (HDY_TYPE_VIEW_SWITCHER_BAR, NULL); +} + +/** + * hdy_view_switcher_bar_get_policy: + * @self: a #HdyViewSwitcherBar + * + * Gets the policy of @self. + * + * Returns: the policy of @self + * + * Since: 0.0.10 + */ +HdyViewSwitcherPolicy +hdy_view_switcher_bar_get_policy (HdyViewSwitcherBar *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER_BAR (self), HDY_VIEW_SWITCHER_POLICY_NARROW); + + return self->policy; +} + +/** + * hdy_view_switcher_bar_set_policy: + * @self: a #HdyViewSwitcherBar + * @policy: the new policy + * + * Sets the policy of @self. + * + * Since: 0.0.10 + */ +void +hdy_view_switcher_bar_set_policy (HdyViewSwitcherBar *self, + HdyViewSwitcherPolicy policy) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER_BAR (self)); + + if (self->policy == policy) + return; + + self->policy = policy; + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_POLICY]); + + gtk_widget_queue_resize (GTK_WIDGET (self)); +} + +/** + * hdy_view_switcher_bar_get_stack: + * @self: a #HdyViewSwitcherBar + * + * Get the #GtkStack being controlled by the #HdyViewSwitcher. + * + * Returns: (nullable) (transfer none): the #GtkStack, or %NULL if none has been set + * + * Since: 0.0.10 + */ +GtkStack * +hdy_view_switcher_bar_get_stack (HdyViewSwitcherBar *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER_BAR (self), NULL); + + return hdy_view_switcher_get_stack (self->view_switcher); +} + +/** + * hdy_view_switcher_bar_set_stack: + * @self: a #HdyViewSwitcherBar + * @stack: (nullable): a #GtkStack + * + * Sets the #GtkStack to control. + * + * Since: 0.0.10 + */ +void +hdy_view_switcher_bar_set_stack (HdyViewSwitcherBar *self, + GtkStack *stack) +{ + GtkStack *previous_stack; + + g_return_if_fail (HDY_IS_VIEW_SWITCHER_BAR (self)); + g_return_if_fail (stack == NULL || GTK_IS_STACK (stack)); + + previous_stack = hdy_view_switcher_get_stack (self->view_switcher); + + if (previous_stack == stack) + return; + + if (previous_stack) + g_signal_handlers_disconnect_by_func (previous_stack, G_CALLBACK (update_bar_revealed), self); + + hdy_view_switcher_set_stack (self->view_switcher, stack); + + if (stack) { + g_signal_connect_swapped (stack, "add", G_CALLBACK (update_bar_revealed), self); + g_signal_connect_swapped (stack, "remove", G_CALLBACK (update_bar_revealed), self); + } + + update_bar_revealed (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_STACK]); +} + +/** + * hdy_view_switcher_bar_get_reveal: + * @self: a #HdyViewSwitcherBar + * + * Gets whether @self should be revealed or not. + * + * Returns: %TRUE if @self is revealed, %FALSE if not. + * + * Since: 0.0.10 + */ +gboolean +hdy_view_switcher_bar_get_reveal (HdyViewSwitcherBar *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER_BAR (self), FALSE); + + return self->reveal; +} + +/** + * hdy_view_switcher_bar_set_reveal: + * @self: a #HdyViewSwitcherBar + * @reveal: %TRUE to reveal @self + * + * Sets whether @self should be revealed or not. + * + * Since: 0.0.10 + */ +void +hdy_view_switcher_bar_set_reveal (HdyViewSwitcherBar *self, + gboolean reveal) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER_BAR (self)); + + reveal = !!reveal; + + if (self->reveal == reveal) + return; + + self->reveal = reveal; + update_bar_revealed (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_REVEAL]); +} diff --git a/subprojects/libhandy/src/hdy-view-switcher-bar.h b/subprojects/libhandy/src/hdy-view-switcher-bar.h new file mode 100644 index 00000000..be2db35d --- /dev/null +++ b/subprojects/libhandy/src/hdy-view-switcher-bar.h @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2019 Zander Brown + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +#include "hdy-view-switcher.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_VIEW_SWITCHER_BAR (hdy_view_switcher_bar_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdyViewSwitcherBar, hdy_view_switcher_bar, HDY, VIEW_SWITCHER_BAR, GtkBin) + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_view_switcher_bar_new (void); + +HDY_AVAILABLE_IN_ALL +HdyViewSwitcherPolicy hdy_view_switcher_bar_get_policy (HdyViewSwitcherBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_view_switcher_bar_set_policy (HdyViewSwitcherBar *self, + HdyViewSwitcherPolicy policy); + +HDY_AVAILABLE_IN_ALL +GtkStack *hdy_view_switcher_bar_get_stack (HdyViewSwitcherBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_view_switcher_bar_set_stack (HdyViewSwitcherBar *self, + GtkStack *stack); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_view_switcher_bar_get_reveal (HdyViewSwitcherBar *self); +HDY_AVAILABLE_IN_ALL +void hdy_view_switcher_bar_set_reveal (HdyViewSwitcherBar *self, + gboolean reveal); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-view-switcher-bar.ui b/subprojects/libhandy/src/hdy-view-switcher-bar.ui new file mode 100644 index 00000000..a2b1266b --- /dev/null +++ b/subprojects/libhandy/src/hdy-view-switcher-bar.ui @@ -0,0 +1,20 @@ + + + + + diff --git a/subprojects/libhandy/src/hdy-view-switcher-button-private.h b/subprojects/libhandy/src/hdy-view-switcher-button-private.h new file mode 100644 index 00000000..5f85c52d --- /dev/null +++ b/subprojects/libhandy/src/hdy-view-switcher-button-private.h @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2019 Zander Brown + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_VIEW_SWITCHER_BUTTON (hdy_view_switcher_button_get_type()) + +G_DECLARE_FINAL_TYPE (HdyViewSwitcherButton, hdy_view_switcher_button, HDY, VIEW_SWITCHER_BUTTON, GtkRadioButton) + +GtkWidget *hdy_view_switcher_button_new (void); + +const gchar *hdy_view_switcher_button_get_icon_name (HdyViewSwitcherButton *self); +void hdy_view_switcher_button_set_icon_name (HdyViewSwitcherButton *self, + const gchar *icon_name); + +GtkIconSize hdy_view_switcher_button_get_icon_size (HdyViewSwitcherButton *self); +void hdy_view_switcher_button_set_icon_size (HdyViewSwitcherButton *self, + GtkIconSize icon_size); + +gboolean hdy_view_switcher_button_get_needs_attention (HdyViewSwitcherButton *self); +void hdy_view_switcher_button_set_needs_attention (HdyViewSwitcherButton *self, + gboolean needs_attention); + +const gchar *hdy_view_switcher_button_get_label (HdyViewSwitcherButton *self); +void hdy_view_switcher_button_set_label (HdyViewSwitcherButton *self, + const gchar *label); + +void hdy_view_switcher_button_set_narrow_ellipsize (HdyViewSwitcherButton *self, + PangoEllipsizeMode mode); + +void hdy_view_switcher_button_get_size (HdyViewSwitcherButton *self, + gint *h_min_width, + gint *h_nat_width, + gint *v_min_width, + gint *v_nat_width); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-view-switcher-button.c b/subprojects/libhandy/src/hdy-view-switcher-button.c new file mode 100644 index 00000000..20b57b0c --- /dev/null +++ b/subprojects/libhandy/src/hdy-view-switcher-button.c @@ -0,0 +1,536 @@ +/* + * Copyright (C) 2019 Zander Brown + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-view-switcher-button-private.h" + +/** + * PRIVATE:hdy-view-switcher-button + * @short_description: Button used in #HdyViewSwitcher. + * @title: HdyViewSwitcherButton + * @See_also: #HdyViewSwitcher + * @stability: Private + * + * #HdyViewSwitcherButton represents an application's view. It is designed to be + * used exclusively internally by #HdyViewSwitcher. + * + * Since: 0.0.10 + */ + +enum { + PROP_0, + PROP_ICON_SIZE, + PROP_ICON_NAME, + PROP_NEEDS_ATTENTION, + + /* Overridden properties */ + PROP_LABEL, + PROP_ORIENTATION, + + LAST_PROP = PROP_NEEDS_ATTENTION + 1, +}; + +struct _HdyViewSwitcherButton +{ + GtkRadioButton parent_instance; + + GtkBox *horizontal_box; + GtkImage *horizontal_image; + GtkLabel *horizontal_label_active; + GtkLabel *horizontal_label_inactive; + GtkStack *horizontal_label_stack; + GtkStack *stack; + GtkBox *vertical_box; + GtkImage *vertical_image; + GtkLabel *vertical_label_active; + GtkLabel *vertical_label_inactive; + GtkStack *vertical_label_stack; + + gchar *icon_name; + GtkIconSize icon_size; + gchar *label; + GtkOrientation orientation; +}; + +static GParamSpec *props[LAST_PROP]; + +G_DEFINE_TYPE_WITH_CODE (HdyViewSwitcherButton, hdy_view_switcher_button, GTK_TYPE_RADIO_BUTTON, + G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)) + +static void +on_active_changed (HdyViewSwitcherButton *self) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER_BUTTON (self)); + + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self))) { + gtk_stack_set_visible_child (self->horizontal_label_stack, GTK_WIDGET (self->horizontal_label_active)); + gtk_stack_set_visible_child (self->vertical_label_stack, GTK_WIDGET (self->vertical_label_active)); + } else { + gtk_stack_set_visible_child (self->horizontal_label_stack, GTK_WIDGET (self->horizontal_label_inactive)); + gtk_stack_set_visible_child (self->vertical_label_stack, GTK_WIDGET (self->vertical_label_inactive)); + } +} + +static GtkOrientation +get_orientation (HdyViewSwitcherButton *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER_BUTTON (self), GTK_ORIENTATION_HORIZONTAL); + + return self->orientation; +} + +static void +set_orientation (HdyViewSwitcherButton *self, + GtkOrientation orientation) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER_BUTTON (self)); + + if (self->orientation == orientation) + return; + + self->orientation = orientation; + + gtk_stack_set_visible_child (self->stack, + GTK_WIDGET (self->orientation == GTK_ORIENTATION_VERTICAL ? + self->vertical_box : + self->horizontal_box)); +} + +static void +hdy_view_switcher_button_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyViewSwitcherButton *self = HDY_VIEW_SWITCHER_BUTTON (object); + + switch (prop_id) { + case PROP_ICON_NAME: + g_value_set_string (value, hdy_view_switcher_button_get_icon_name (self)); + break; + case PROP_ICON_SIZE: + g_value_set_int (value, hdy_view_switcher_button_get_icon_size (self)); + break; + case PROP_NEEDS_ATTENTION: + g_value_set_boolean (value, hdy_view_switcher_button_get_needs_attention (self)); + break; + case PROP_LABEL: + g_value_set_string (value, hdy_view_switcher_button_get_label (self)); + break; + case PROP_ORIENTATION: + g_value_set_enum (value, get_orientation (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +hdy_view_switcher_button_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyViewSwitcherButton *self = HDY_VIEW_SWITCHER_BUTTON (object); + + switch (prop_id) { + case PROP_ICON_NAME: + hdy_view_switcher_button_set_icon_name (self, g_value_get_string (value)); + break; + case PROP_ICON_SIZE: + hdy_view_switcher_button_set_icon_size (self, g_value_get_int (value)); + break; + case PROP_NEEDS_ATTENTION: + hdy_view_switcher_button_set_needs_attention (self, g_value_get_boolean (value)); + break; + case PROP_LABEL: + hdy_view_switcher_button_set_label (self, g_value_get_string (value)); + break; + case PROP_ORIENTATION: + set_orientation (self, g_value_get_enum (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +hdy_view_switcher_button_finalize (GObject *object) +{ + HdyViewSwitcherButton *self = HDY_VIEW_SWITCHER_BUTTON (object); + + g_free (self->icon_name); + g_free (self->label); + + G_OBJECT_CLASS (hdy_view_switcher_button_parent_class)->finalize (object); +} + +static void +hdy_view_switcher_button_class_init (HdyViewSwitcherButtonClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + object_class->get_property = hdy_view_switcher_button_get_property; + object_class->set_property = hdy_view_switcher_button_set_property; + object_class->finalize = hdy_view_switcher_button_finalize; + + g_object_class_override_property (object_class, + PROP_LABEL, + "label"); + + g_object_class_override_property (object_class, + PROP_ORIENTATION, + "orientation"); + + /** + * HdyViewSwitcherButton:icon-name: + * + * The icon name representing the view, or %NULL for no icon. + * + * Since: 0.0.10 + */ + props[PROP_ICON_NAME] = + g_param_spec_string ("icon-name", + _("Icon Name"), + _("Icon name for image"), + "text-x-generic-symbolic", + G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READWRITE); + + /** + * HdyViewSwitcherButton:icon-size: + * + * The icon size. + * + * Since: 0.0.10 + */ + props[PROP_ICON_SIZE] = + g_param_spec_int ("icon-size", + _("Icon Size"), + _("Symbolic size to use for named icon"), + 0, G_MAXINT, GTK_ICON_SIZE_BUTTON, + G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READWRITE); + + /** + * HdyViewSwitcherButton:needs-attention: + * + * Sets a flag specifying whether the view requires the user attention. This + * is used by the HdyViewSwitcher to change the appearance of the + * corresponding button when a view needs attention and it is not the current + * one. + * + * Since: 0.0.10 + */ + props[PROP_NEEDS_ATTENTION] = + g_param_spec_boolean ("needs-attention", + _("Needs attention"), + _("Hint the view needs attention"), + FALSE, + G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READWRITE); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + /* We probably should set the class's CSS name to "viewswitcherbutton" + * here, but it doesn't work because GtkCheckButton hardcodes it to "button" + * on instantiation, and the functions required to override it are private. + * In the meantime, we can use the "viewswitcher > button" CSS selector as + * a fairly safe fallback. + */ + + gtk_widget_class_set_template_from_resource (widget_class, + "/sm/puri/handy/ui/hdy-view-switcher-button.ui"); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherButton, horizontal_box); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherButton, horizontal_image); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherButton, horizontal_label_active); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherButton, horizontal_label_inactive); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherButton, horizontal_label_stack); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherButton, stack); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherButton, vertical_box); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherButton, vertical_image); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherButton, vertical_label_active); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherButton, vertical_label_inactive); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherButton, vertical_label_stack); + gtk_widget_class_bind_template_callback (widget_class, on_active_changed); +} + +static void +hdy_view_switcher_button_init (HdyViewSwitcherButton *self) +{ + self->icon_size = GTK_ICON_SIZE_BUTTON; + + gtk_widget_init_template (GTK_WIDGET (self)); + + gtk_stack_set_visible_child (GTK_STACK (self->stack), GTK_WIDGET (self->horizontal_box)); + + gtk_widget_set_focus_on_click (GTK_WIDGET (self), FALSE); + /* Make the button look like a regular button and not a radio button. */ + gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (self), FALSE); + + on_active_changed (self); +} + +/** + * hdy_view_switcher_button_new: + * + * Creates a new #HdyViewSwitcherButton widget. + * + * Returns: a new #HdyViewSwitcherButton + * + * Since: 0.0.10 + */ +GtkWidget * +hdy_view_switcher_button_new (void) +{ + return g_object_new (HDY_TYPE_VIEW_SWITCHER_BUTTON, NULL); +} + +/** + * hdy_view_switcher_button_get_icon_name: + * @self: a #HdyViewSwitcherButton + * + * Gets the icon name representing the view, or %NULL is no icon is set. + * + * Returns: (transfer none) (nullable): the icon name, or %NULL + * + * Since: 0.0.10 + **/ +const gchar * +hdy_view_switcher_button_get_icon_name (HdyViewSwitcherButton *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER_BUTTON (self), NULL); + + return self->icon_name; +} + +/** + * hdy_view_switcher_button_set_icon_name: + * @self: a #HdyViewSwitcherButton + * @icon_name: (nullable): an icon name or %NULL + * + * Sets the icon name representing the view, or %NULL to disable the icon. + * + * Since: 0.0.10 + **/ +void +hdy_view_switcher_button_set_icon_name (HdyViewSwitcherButton *self, + const gchar *icon_name) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER_BUTTON (self)); + + if (!g_strcmp0 (self->icon_name, icon_name)) + return; + + g_free (self->icon_name); + self->icon_name = g_strdup (icon_name); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ICON_NAME]); +} + +/** + * hdy_view_switcher_button_get_icon_size: + * @self: a #HdyViewSwitcherButton + * + * Gets the icon size used by @self. + * + * Returns: the icon size used by @self + * + * Since: 0.0.10 + **/ +GtkIconSize +hdy_view_switcher_button_get_icon_size (HdyViewSwitcherButton *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER_BUTTON (self), GTK_ICON_SIZE_INVALID); + + return self->icon_size; +} + +/** + * hdy_view_switcher_button_set_icon_size: + * @self: a #HdyViewSwitcherButton + * @icon_size: the new icon size + * + * Sets the icon size used by @self. + * + * Since: 0.0.10 + */ +void +hdy_view_switcher_button_set_icon_size (HdyViewSwitcherButton *self, + GtkIconSize icon_size) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER_BUTTON (self)); + + if (self->icon_size == icon_size) + return; + + self->icon_size = icon_size; + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ICON_SIZE]); +} + +/** + * hdy_view_switcher_button_get_needs_attention: + * @self: a #HdyViewSwitcherButton + * + * Gets whether the view represented by @self requires the user attention. + * + * Returns: %TRUE if the view represented by @self requires the user attention, %FALSE otherwise + * + * Since: 0.0.10 + **/ +gboolean +hdy_view_switcher_button_get_needs_attention (HdyViewSwitcherButton *self) +{ + GtkStyleContext *context; + + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER_BUTTON (self), FALSE); + + context = gtk_widget_get_style_context (GTK_WIDGET (self)); + + return gtk_style_context_has_class (context, GTK_STYLE_CLASS_NEEDS_ATTENTION); +} + +/** + * hdy_view_switcher_button_set_needs_attention: + * @self: a #HdyViewSwitcherButton + * @needs_attention: the new icon size + * + * Sets whether the view represented by @self requires the user attention. + * + * Since: 0.0.10 + */ +void +hdy_view_switcher_button_set_needs_attention (HdyViewSwitcherButton *self, + gboolean needs_attention) +{ + GtkStyleContext *context; + + g_return_if_fail (HDY_IS_VIEW_SWITCHER_BUTTON (self)); + + needs_attention = !!needs_attention; + + context = gtk_widget_get_style_context (GTK_WIDGET (self)); + if (gtk_style_context_has_class (context, GTK_STYLE_CLASS_NEEDS_ATTENTION) == needs_attention) + return; + + if (needs_attention) + gtk_style_context_add_class (context, GTK_STYLE_CLASS_NEEDS_ATTENTION); + else + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_NEEDS_ATTENTION); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_NEEDS_ATTENTION]); +} + +/** + * hdy_view_switcher_button_get_label: + * @self: a #HdyViewSwitcherButton + * + * Gets the label representing the view. + * + * Returns: (transfer none) (nullable): the label, or %NULL + * + * Since: 0.0.10 + **/ +const gchar * +hdy_view_switcher_button_get_label (HdyViewSwitcherButton *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER_BUTTON (self), NULL); + + return self->label; +} + +/** + * hdy_view_switcher_button_set_label: + * @self: a #HdyViewSwitcherButton + * @label: (nullable): a label or %NULL + * + * Sets the label representing the view. + * + * Since: 0.0.10 + **/ +void +hdy_view_switcher_button_set_label (HdyViewSwitcherButton *self, + const gchar *label) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER_BUTTON (self)); + + if (!g_strcmp0 (self->label, label)) + return; + + g_free (self->label); + self->label = g_strdup (label); + + g_object_notify (G_OBJECT (self), "label"); +} + +/** + * hdy_view_switcher_button_set_narrow_ellipsize: + * @self: a #HdyViewSwitcherButton + * @mode: a #PangoEllipsizeMode + * + * Set the mode used to ellipsize the text in narrow mode if there is not + * enough space to render the entire string. + * + * Since: 0.0.10 + **/ +void +hdy_view_switcher_button_set_narrow_ellipsize (HdyViewSwitcherButton *self, + PangoEllipsizeMode mode) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER_BUTTON (self)); + g_return_if_fail (mode >= PANGO_ELLIPSIZE_NONE && mode <= PANGO_ELLIPSIZE_END); + + gtk_label_set_ellipsize (self->vertical_label_active, mode); + gtk_label_set_ellipsize (self->vertical_label_inactive, mode); +} + +/** + * hdy_view_switcher_button_get_size: + * @self: a #HdyViewSwitcherButton + * @h_min_width: (out) (nullable): the minimum width when horizontal + * @h_nat_width: (out) (nullable): the natural width when horizontal + * @v_min_width: (out) (nullable): the minimum width when vertical + * @v_nat_width: (out) (nullable): the natural width when vertical + * + * Measure the size requests in both horizontal and vertical modes. + * + * Since: 0.0.10 + */ +void +hdy_view_switcher_button_get_size (HdyViewSwitcherButton *self, + gint *h_min_width, + gint *h_nat_width, + gint *v_min_width, + gint *v_nat_width) +{ + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder border; + + /* gtk_widget_get_preferred_width() doesn't accept both its out parameters to + * be NULL, so we must have guards. + */ + if (h_min_width != NULL || h_nat_width != NULL) + gtk_widget_get_preferred_width (GTK_WIDGET (self->horizontal_box), h_min_width, h_nat_width); + if (v_min_width != NULL || v_nat_width != NULL) + gtk_widget_get_preferred_width (GTK_WIDGET (self->vertical_box), v_min_width, v_nat_width); + + context = gtk_widget_get_style_context (GTK_WIDGET (self)); + state = gtk_style_context_get_state (context); + gtk_style_context_get_border (context, state, &border); + if (h_min_width != NULL) + *h_min_width += border.left + border.right; + if (h_nat_width != NULL) + *h_nat_width += border.left + border.right; + if (v_min_width != NULL) + *v_min_width += border.left + border.right; + if (v_nat_width != NULL) + *v_nat_width += border.left + border.right; +} diff --git a/subprojects/libhandy/src/hdy-view-switcher-button.ui b/subprojects/libhandy/src/hdy-view-switcher-button.ui new file mode 100644 index 00000000..018b6cca --- /dev/null +++ b/subprojects/libhandy/src/hdy-view-switcher-button.ui @@ -0,0 +1,105 @@ + + + + + diff --git a/subprojects/libhandy/src/hdy-view-switcher-title.c b/subprojects/libhandy/src/hdy-view-switcher-title.c new file mode 100644 index 00000000..39bdafae --- /dev/null +++ b/subprojects/libhandy/src/hdy-view-switcher-title.c @@ -0,0 +1,600 @@ +/* + * Copyright (C) 2019 Zander Brown + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-view-switcher-title.h" +#include "hdy-squeezer.h" + +/** + * SECTION:hdy-view-switcher-title + * @short_description: A view switcher title. + * @title: HdyViewSwitcherTitle + * @See_also: #HdyHeaderBar, #HdyViewSwitcher, #HdyViewSwitcherBar + * + * A widget letting you switch between multiple views offered by a #GtkStack, + * via an #HdyViewSwitcher. It is designed to be used as the title widget of a + * #HdyHeaderBar, and will display the window's title when the window is too + * narrow to fit the view switcher e.g. on mobile phones, or if there are less + * than two views. + * + * You can conveniently bind the #HdyViewSwitcherBar:reveal property to + * #HdyViewSwitcherTitle:title-visible to automatically reveal the view switcher + * bar when the title label is displayed in place of the view switcher. + * + * An example of the UI definition for a common use case: + * |[ + * + * + * + * strict + * + * + * stack + * + * + * + * + * + * + * + * + * + * + * + * stack + * + * + * + * + * + * + * ]| + * + * # CSS nodes + * + * #HdyViewSwitcherTitle has a single CSS node with name viewswitchertitle. + * + * Since: 1.0 + */ + +enum { + PROP_0, + PROP_POLICY, + PROP_STACK, + PROP_TITLE, + PROP_SUBTITLE, + PROP_VIEW_SWITCHER_ENABLED, + PROP_TITLE_VISIBLE, + LAST_PROP, +}; + +struct _HdyViewSwitcherTitle +{ + GtkBin parent_instance; + + HdySqueezer *squeezer; + GtkLabel *subtitle_label; + GtkBox *title_box; + GtkLabel *title_label; + HdyViewSwitcher *view_switcher; + + gboolean view_switcher_enabled; +}; + +static GParamSpec *props[LAST_PROP]; + +G_DEFINE_TYPE (HdyViewSwitcherTitle, hdy_view_switcher_title, GTK_TYPE_BIN) + +static void +update_subtitle_label (HdyViewSwitcherTitle *self) +{ + const gchar *subtitle = gtk_label_get_label (self->subtitle_label); + + gtk_widget_set_visible (GTK_WIDGET (self->subtitle_label), subtitle && subtitle[0]); + + gtk_widget_queue_resize (GTK_WIDGET (self)); +} + +static void +count_children_cb (GtkWidget *widget, + gint *count) +{ + (*count)++; +} + +static void +update_view_switcher_visible (HdyViewSwitcherTitle *self) +{ + GtkStack *stack = hdy_view_switcher_get_stack (self->view_switcher); + gint count = 0; + + if (self->view_switcher_enabled && stack) + gtk_container_foreach (GTK_CONTAINER (stack), (GtkCallback) count_children_cb, &count); + + hdy_squeezer_set_child_enabled (self->squeezer, GTK_WIDGET (self->view_switcher), count > 1); +} + +static void +notify_squeezer_visible_child_cb (GObject *self) +{ + g_object_notify_by_pspec (self, props[PROP_TITLE_VISIBLE]); +} + +static void +hdy_view_switcher_title_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyViewSwitcherTitle *self = HDY_VIEW_SWITCHER_TITLE (object); + + switch (prop_id) { + case PROP_POLICY: + g_value_set_enum (value, hdy_view_switcher_title_get_policy (self)); + break; + case PROP_STACK: + g_value_set_object (value, hdy_view_switcher_title_get_stack (self)); + break; + case PROP_TITLE: + g_value_set_string (value, hdy_view_switcher_title_get_title (self)); + break; + case PROP_SUBTITLE: + g_value_set_string (value, hdy_view_switcher_title_get_subtitle (self)); + break; + case PROP_VIEW_SWITCHER_ENABLED: + g_value_set_boolean (value, hdy_view_switcher_title_get_view_switcher_enabled (self)); + break; + case PROP_TITLE_VISIBLE: + g_value_set_boolean (value, hdy_view_switcher_title_get_title_visible (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +hdy_view_switcher_title_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyViewSwitcherTitle *self = HDY_VIEW_SWITCHER_TITLE (object); + + switch (prop_id) { + case PROP_POLICY: + hdy_view_switcher_title_set_policy (self, g_value_get_enum (value)); + break; + case PROP_STACK: + hdy_view_switcher_title_set_stack (self, g_value_get_object (value)); + break; + case PROP_TITLE: + hdy_view_switcher_title_set_title (self, g_value_get_string (value)); + break; + case PROP_SUBTITLE: + hdy_view_switcher_title_set_subtitle (self, g_value_get_string (value)); + break; + case PROP_VIEW_SWITCHER_ENABLED: + hdy_view_switcher_title_set_view_switcher_enabled (self, g_value_get_boolean (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +hdy_view_switcher_title_dispose (GObject *object) { + HdyViewSwitcherTitle *self = (HdyViewSwitcherTitle *)object; + + if (self->view_switcher) { + GtkStack *stack = hdy_view_switcher_get_stack (self->view_switcher); + + if (stack) + g_signal_handlers_disconnect_by_func (stack, G_CALLBACK (update_view_switcher_visible), self); + } + + G_OBJECT_CLASS (hdy_view_switcher_title_parent_class)->dispose (object); +} + +static void +hdy_view_switcher_title_class_init (HdyViewSwitcherTitleClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + object_class->dispose = hdy_view_switcher_title_dispose; + object_class->get_property = hdy_view_switcher_title_get_property; + object_class->set_property = hdy_view_switcher_title_set_property; + + /** + * HdyViewSwitcherTitle:policy: + * + * The #HdyViewSwitcherPolicy the #HdyViewSwitcher should use to determine + * which mode to use. + * + * Since: 1.0 + */ + props[PROP_POLICY] = + g_param_spec_enum ("policy", + _("Policy"), + _("The policy to determine the mode to use"), + HDY_TYPE_VIEW_SWITCHER_POLICY, HDY_VIEW_SWITCHER_POLICY_AUTO, + G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + /** + * HdyViewSwitcherTitle:stack: + * + * The #GtkStack the #HdyViewSwitcher controls. + * + * Since: 1.0 + */ + props[PROP_STACK] = + g_param_spec_object ("stack", + _("Stack"), + _("Stack"), + GTK_TYPE_STACK, + G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + /** + * HdyViewSwitcherTitle:title: + * + * The title of the #HdyViewSwitcher. + * + * Since: 1.0 + */ + props[PROP_TITLE] = + g_param_spec_string ("title", + _("Title"), + _("The title to display"), + NULL, + G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + /** + * HdyViewSwitcherTitle:subtitle: + * + * The subtitle of the #HdyViewSwitcher. + * + * Since: 1.0 + */ + props[PROP_SUBTITLE] = + g_param_spec_string ("subtitle", + _("Subtitle"), + _("The subtitle to display"), + NULL, + G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + /** + * HdyViewSwitcherTitle:view-switcher-enabled: + * + * Whether the bar should be revealed or hidden. + * + * Since: 1.0 + */ + props[PROP_VIEW_SWITCHER_ENABLED] = + g_param_spec_boolean ("view-switcher-enabled", + _("View switcher enabled"), + _("Whether the view switcher is enabled"), + TRUE, + G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + /** + * HdyViewSwitcherTitle:title-visible: + * + * Whether the bar should be revealed or hidden. + * + * Since: 1.0 + */ + props[PROP_TITLE_VISIBLE] = + g_param_spec_boolean ("title-visible", + _("Title visible"), + _("Whether the title label is visible"), + TRUE, + G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READABLE | G_PARAM_STATIC_STRINGS); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + gtk_widget_class_set_css_name (widget_class, "viewswitchertitle"); + + gtk_widget_class_set_template_from_resource (widget_class, + "/sm/puri/handy/ui/hdy-view-switcher-title.ui"); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherTitle, squeezer); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherTitle, subtitle_label); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherTitle, title_box); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherTitle, title_label); + gtk_widget_class_bind_template_child (widget_class, HdyViewSwitcherTitle, view_switcher); + gtk_widget_class_bind_template_callback (widget_class, notify_squeezer_visible_child_cb); +} + +static void +hdy_view_switcher_title_init (HdyViewSwitcherTitle *self) +{ + /* This must be initialized before the template so the embedded view switcher + * can pick up the correct default value. + */ + self->view_switcher_enabled = TRUE; + + gtk_widget_init_template (GTK_WIDGET (self)); + + update_subtitle_label (self); + update_view_switcher_visible (self); +} + +/** + * hdy_view_switcher_title_new: + * + * Creates a new #HdyViewSwitcherTitle widget. + * + * Returns: a new #HdyViewSwitcherTitle + * + * Since: 1.0 + */ +HdyViewSwitcherTitle * +hdy_view_switcher_title_new (void) +{ + return g_object_new (HDY_TYPE_VIEW_SWITCHER_TITLE, NULL); +} + +/** + * hdy_view_switcher_title_get_policy: + * @self: a #HdyViewSwitcherTitle + * + * Gets the policy of @self. + * + * Returns: the policy of @self + * + * Since: 1.0 + */ +HdyViewSwitcherPolicy +hdy_view_switcher_title_get_policy (HdyViewSwitcherTitle *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER_TITLE (self), HDY_VIEW_SWITCHER_POLICY_NARROW); + + return hdy_view_switcher_get_policy (self->view_switcher); +} + +/** + * hdy_view_switcher_title_set_policy: + * @self: a #HdyViewSwitcherTitle + * @policy: the new policy + * + * Sets the policy of @self. + * + * Since: 1.0 + */ +void +hdy_view_switcher_title_set_policy (HdyViewSwitcherTitle *self, + HdyViewSwitcherPolicy policy) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER_TITLE (self)); + + if (hdy_view_switcher_get_policy (self->view_switcher) == policy) + return; + + hdy_view_switcher_set_policy (self->view_switcher, policy); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_POLICY]); + + gtk_widget_queue_resize (GTK_WIDGET (self)); +} + +/** + * hdy_view_switcher_title_get_stack: + * @self: a #HdyViewSwitcherTitle + * + * Get the #GtkStack being controlled by the #HdyViewSwitcher. + * + * Returns: (nullable) (transfer none): the #GtkStack, or %NULL if none has been set + * + * Since: 1.0 + */ +GtkStack * +hdy_view_switcher_title_get_stack (HdyViewSwitcherTitle *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER_TITLE (self), NULL); + + return hdy_view_switcher_get_stack (self->view_switcher); +} + +/** + * hdy_view_switcher_title_set_stack: + * @self: a #HdyViewSwitcherTitle + * @stack: (nullable): a #GtkStack + * + * Sets the #GtkStack to control. + * + * Since: 1.0 + */ +void +hdy_view_switcher_title_set_stack (HdyViewSwitcherTitle *self, + GtkStack *stack) +{ + GtkStack *previous_stack; + + g_return_if_fail (HDY_IS_VIEW_SWITCHER_TITLE (self)); + g_return_if_fail (stack == NULL || GTK_IS_STACK (stack)); + + previous_stack = hdy_view_switcher_get_stack (self->view_switcher); + + if (previous_stack == stack) + return; + + if (previous_stack) + g_signal_handlers_disconnect_by_func (previous_stack, G_CALLBACK (update_view_switcher_visible), self); + + hdy_view_switcher_set_stack (self->view_switcher, stack); + + if (stack) { + g_signal_connect_swapped (stack, "add", G_CALLBACK (update_view_switcher_visible), self); + g_signal_connect_swapped (stack, "remove", G_CALLBACK (update_view_switcher_visible), self); + } + + update_view_switcher_visible (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_STACK]); +} + +/** + * hdy_view_switcher_title_get_title: + * @self: a #HdyViewSwitcherTitle + * + * Gets the title of @self. See hdy_view_switcher_title_set_title(). + * + * Returns: (transfer none) (nullable): the title of @self, or %NULL. + * + * Since: 1.0 + */ +const gchar * +hdy_view_switcher_title_get_title (HdyViewSwitcherTitle *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER_TITLE (self), NULL); + + return gtk_label_get_label (self->title_label); +} + +/** + * hdy_view_switcher_title_set_title: + * @self: a #HdyViewSwitcherTitle + * @title: (nullable): a title, or %NULL + * + * Sets the title of @self. The title should give a user additional details. A + * good title should not include the application name. + * + * Since: 1.0 + */ +void +hdy_view_switcher_title_set_title (HdyViewSwitcherTitle *self, + const gchar *title) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER_TITLE (self)); + + if (g_strcmp0 (gtk_label_get_label (self->title_label), title) == 0) + return; + + gtk_label_set_label (self->title_label, title); + gtk_widget_set_visible (GTK_WIDGET (self->title_label), title && title[0]); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_TITLE]); +} + +/** + * hdy_view_switcher_title_get_subtitle: + * @self: a #HdyViewSwitcherTitle + * + * Gets the subtitle of @self. See hdy_view_switcher_title_set_subtitle(). + * + * Returns: (transfer none) (nullable): the subtitle of @self, or %NULL. + * + * Since: 1.0 + */ +const gchar * +hdy_view_switcher_title_get_subtitle (HdyViewSwitcherTitle *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER_TITLE (self), NULL); + + return gtk_label_get_label (self->subtitle_label); +} + +/** + * hdy_view_switcher_title_set_subtitle: + * @self: a #HdyViewSwitcherTitle + * @subtitle: (nullable): a subtitle, or %NULL + * + * Sets the subtitle of @self. The subtitle should give a user additional + * details. + * + * Since: 1.0 + */ +void +hdy_view_switcher_title_set_subtitle (HdyViewSwitcherTitle *self, + const gchar *subtitle) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER_TITLE (self)); + + if (g_strcmp0 (gtk_label_get_label (self->subtitle_label), subtitle) == 0) + return; + + gtk_label_set_label (self->subtitle_label, subtitle); + update_subtitle_label (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SUBTITLE]); +} + +/** + * hdy_view_switcher_title_get_view_switcher_enabled: + * @self: a #HdyViewSwitcherTitle + * + * Gets whether @self's view switcher is enabled. + * + * See hdy_view_switcher_title_set_view_switcher_enabled(). + * + * Returns: %TRUE if the view switcher is enabled, %FALSE otherwise. + * + * Since: 1.0 + */ +gboolean +hdy_view_switcher_title_get_view_switcher_enabled (HdyViewSwitcherTitle *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER_TITLE (self), FALSE); + + return self->view_switcher_enabled; +} + +/** + * hdy_view_switcher_title_set_view_switcher_enabled: + * @self: a #HdyViewSwitcherTitle + * @enabled: %TRUE to enable the view switcher, %FALSE to disable it + * + * Make @self enable or disable its view switcher. If it is disabled, the title + * will be displayed instead. This allows to programmatically and prematurely + * hide the view switcher of @self even if it fits in the available space. + * + * This can be used e.g. to ensure the view switcher is hidden below a certain + * window width, or any other constraint you find suitable. + * + * Since: 1.0 + */ +void +hdy_view_switcher_title_set_view_switcher_enabled (HdyViewSwitcherTitle *self, + gboolean enabled) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER_TITLE (self)); + + enabled = !!enabled; + + if (self->view_switcher_enabled == enabled) + return; + + self->view_switcher_enabled = enabled; + update_view_switcher_visible (self); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_VIEW_SWITCHER_ENABLED]); +} + +/** + * hdy_view_switcher_title_get_title_visible: + * @self: a #HdyViewSwitcherTitle + * + * Get whether the title label of @self is visible. + * + * Returns: %TRUE if the title label of @self is visible, %FALSE if not. + * + * Since: 1.0 + */ +gboolean +hdy_view_switcher_title_get_title_visible (HdyViewSwitcherTitle *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER_TITLE (self), FALSE); + + return hdy_squeezer_get_visible_child (self->squeezer) == (GtkWidget *) self->title_box; +} diff --git a/subprojects/libhandy/src/hdy-view-switcher-title.h b/subprojects/libhandy/src/hdy-view-switcher-title.h new file mode 100644 index 00000000..25403960 --- /dev/null +++ b/subprojects/libhandy/src/hdy-view-switcher-title.h @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2019 Zander Brown + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +#include "hdy-view-switcher.h" + +G_BEGIN_DECLS + +#define HDY_TYPE_VIEW_SWITCHER_TITLE (hdy_view_switcher_title_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdyViewSwitcherTitle, hdy_view_switcher_title, HDY, VIEW_SWITCHER_TITLE, GtkBin) + +HDY_AVAILABLE_IN_ALL +HdyViewSwitcherTitle *hdy_view_switcher_title_new (void); + +HDY_AVAILABLE_IN_ALL +HdyViewSwitcherPolicy hdy_view_switcher_title_get_policy (HdyViewSwitcherTitle *self); +HDY_AVAILABLE_IN_ALL +void hdy_view_switcher_title_set_policy (HdyViewSwitcherTitle *self, + HdyViewSwitcherPolicy policy); + +HDY_AVAILABLE_IN_ALL +GtkStack *hdy_view_switcher_title_get_stack (HdyViewSwitcherTitle *self); +HDY_AVAILABLE_IN_ALL +void hdy_view_switcher_title_set_stack (HdyViewSwitcherTitle *self, + GtkStack *stack); + +HDY_AVAILABLE_IN_ALL +const gchar *hdy_view_switcher_title_get_title (HdyViewSwitcherTitle *self); +HDY_AVAILABLE_IN_ALL +void hdy_view_switcher_title_set_title (HdyViewSwitcherTitle *self, + const gchar *title); + +HDY_AVAILABLE_IN_ALL +const gchar *hdy_view_switcher_title_get_subtitle (HdyViewSwitcherTitle *self); +HDY_AVAILABLE_IN_ALL +void hdy_view_switcher_title_set_subtitle (HdyViewSwitcherTitle *self, + const gchar *subtitle); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_view_switcher_title_get_view_switcher_enabled (HdyViewSwitcherTitle *self); +HDY_AVAILABLE_IN_ALL +void hdy_view_switcher_title_set_view_switcher_enabled (HdyViewSwitcherTitle *self, + gboolean enabled); + +HDY_AVAILABLE_IN_ALL +gboolean hdy_view_switcher_title_get_title_visible (HdyViewSwitcherTitle *self); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-view-switcher-title.ui b/subprojects/libhandy/src/hdy-view-switcher-title.ui new file mode 100644 index 00000000..1c706bc6 --- /dev/null +++ b/subprojects/libhandy/src/hdy-view-switcher-title.ui @@ -0,0 +1,52 @@ + + + + + diff --git a/subprojects/libhandy/src/hdy-view-switcher.c b/subprojects/libhandy/src/hdy-view-switcher.c new file mode 100644 index 00000000..651c8dde --- /dev/null +++ b/subprojects/libhandy/src/hdy-view-switcher.c @@ -0,0 +1,737 @@ +/* + * Copyright (C) 2019 Zander Brown + * Copyright (C) 2019 Purism SPC + * + * Based on gtkstackswitcher.c, Copyright (c) 2013 Red Hat, Inc. + * https://gitlab.gnome.org/GNOME/gtk/blob/a0129f556b1fd655215165739d0277d7f7a2c1a8/gtk/gtkstackswitcher.c + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" +#include + +#include "hdy-css-private.h" +#include "hdy-enums.h" +#include "hdy-view-switcher.h" +#include "hdy-view-switcher-button-private.h" + +/** + * SECTION:hdy-view-switcher + * @short_description: An adaptive view switcher. + * @title: HdyViewSwitcher + * + * An adaptive view switcher, designed to switch between multiple views in a + * similar fashion than a #GtkStackSwitcher. + * + * Depending on the available width, the view switcher can adapt from a wide + * mode showing the view's icon and title side by side, to a narrow mode showing + * the view's icon and title one on top of the other, in a more compact way. + * This can be controlled via the policy property. + * + * To look good in a header bar, an #HdyViewSwitcher requires to fill its full + * height. Contrary to #GtkHeaderBar, #HdyHeaderBar doesn't force a vertical + * alignment on its title widget, so we recommend it over #GtkHeaderBar. + * + * # CSS nodes + * + * #HdyViewSwitcher has a single CSS node with name viewswitcher. + * + * Since: 0.0.10 + */ + +/** + * HdyViewSwitcherPolicy: + * @HDY_VIEW_SWITCHER_POLICY_AUTO: Automatically adapt to the best fitting mode + * @HDY_VIEW_SWITCHER_POLICY_NARROW: Force the narrow mode + * @HDY_VIEW_SWITCHER_POLICY_WIDE: Force the wide mode + */ + +#define MIN_NAT_BUTTON_WIDTH 100 +#define TIMEOUT_EXPAND 500 + +enum { + PROP_0, + PROP_POLICY, + PROP_NARROW_ELLIPSIZE, + PROP_STACK, + LAST_PROP, +}; + +struct _HdyViewSwitcher +{ + GtkBin parent_instance; + + GtkWidget *box; + GHashTable *buttons; + gboolean in_child_changed; + GtkWidget *switch_button; + guint switch_timer; + + HdyViewSwitcherPolicy policy; + PangoEllipsizeMode narrow_ellipsize; + GtkStack *stack; +}; + +static GParamSpec *props[LAST_PROP]; + +G_DEFINE_TYPE (HdyViewSwitcher, hdy_view_switcher, GTK_TYPE_BIN) + +static void +set_visible_stack_child_for_button (HdyViewSwitcher *self, + HdyViewSwitcherButton *button) +{ + if (self->in_child_changed) + return; + + gtk_stack_set_visible_child (self->stack, GTK_WIDGET (g_object_get_data (G_OBJECT (button), "stack-child"))); +} + +static void +update_button (HdyViewSwitcher *self, + GtkWidget *widget, + HdyViewSwitcherButton *button) +{ + g_autofree gchar *title = NULL; + g_autofree gchar *icon_name = NULL; + gboolean needs_attention; + + gtk_container_child_get (GTK_CONTAINER (self->stack), widget, + "title", &title, + "icon-name", &icon_name, + "needs-attention", &needs_attention, + NULL); + + g_object_set (G_OBJECT (button), + "icon-name", icon_name, + "icon-size", GTK_ICON_SIZE_BUTTON, + "label", title, + "needs-attention", needs_attention, + NULL); + + gtk_widget_set_visible (GTK_WIDGET (button), + gtk_widget_get_visible (widget) && (title != NULL || icon_name != NULL)); +} + +static void +on_stack_child_updated (GtkWidget *widget, + GParamSpec *pspec, + HdyViewSwitcher *self) +{ + update_button (self, widget, g_hash_table_lookup (self->buttons, widget)); +} + +static void +on_position_updated (GtkWidget *widget, + GParamSpec *pspec, + HdyViewSwitcher *self) +{ + GtkWidget *button = g_hash_table_lookup (self->buttons, widget); + gint position; + + gtk_container_child_get (GTK_CONTAINER (self->stack), widget, + "position", &position, + NULL); + gtk_box_reorder_child (GTK_BOX (self->box), button, position); +} + +static void +remove_switch_timer (HdyViewSwitcher *self) +{ + if (!self->switch_timer) + return; + + g_source_remove (self->switch_timer); + self->switch_timer = 0; +} + +static gboolean +hdy_view_switcher_switch_timeout (gpointer data) +{ + HdyViewSwitcher *self = HDY_VIEW_SWITCHER (data); + GtkWidget *button = self->switch_button; + + self->switch_timer = 0; + self->switch_button = NULL; + + if (button) + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); + + return G_SOURCE_REMOVE; +} + +static gboolean +hdy_view_switcher_drag_motion (GtkWidget *widget, + GdkDragContext *context, + gint x, + gint y, + guint time) +{ + HdyViewSwitcher *self = HDY_VIEW_SWITCHER (widget); + GtkAllocation allocation; + GtkWidget *button; + GHashTableIter iter; + gpointer value; + gboolean retval = FALSE; + + gtk_widget_get_allocation (widget, &allocation); + + x += allocation.x; + y += allocation.y; + + button = NULL; + g_hash_table_iter_init (&iter, self->buttons); + while (g_hash_table_iter_next (&iter, NULL, &value)) { + gtk_widget_get_allocation (GTK_WIDGET (value), &allocation); + if (x >= allocation.x && x <= allocation.x + allocation.width && + y >= allocation.y && y <= allocation.y + allocation.height) { + button = GTK_WIDGET (value); + retval = TRUE; + + break; + } + } + + if (button != self->switch_button) + remove_switch_timer (self); + + self->switch_button = button; + + if (button && !self->switch_timer) { + self->switch_timer = gdk_threads_add_timeout (TIMEOUT_EXPAND, + hdy_view_switcher_switch_timeout, + self); + g_source_set_name_by_id (self->switch_timer, "[gtk+] hdy_view_switcher_switch_timeout"); + } + + return retval; +} + +static void +hdy_view_switcher_drag_leave (GtkWidget *widget, + GdkDragContext *context, + guint time) +{ + HdyViewSwitcher *self = HDY_VIEW_SWITCHER (widget); + + remove_switch_timer (self); +} + +static void +add_button_for_stack_child (HdyViewSwitcher *self, + GtkWidget *stack_child) +{ + g_autoptr (GList) children = gtk_container_get_children (GTK_CONTAINER (self->box)); + HdyViewSwitcherButton *button = HDY_VIEW_SWITCHER_BUTTON (hdy_view_switcher_button_new ()); + + g_object_set_data (G_OBJECT (button), "stack-child", stack_child); + hdy_view_switcher_button_set_narrow_ellipsize (button, self->narrow_ellipsize); + + update_button (self, stack_child, button); + + if (children != NULL) + gtk_radio_button_join_group (GTK_RADIO_BUTTON (button), GTK_RADIO_BUTTON (children->data)); + + gtk_container_add (GTK_CONTAINER (self->box), GTK_WIDGET (button)); + + g_signal_connect_swapped (button, "clicked", G_CALLBACK (set_visible_stack_child_for_button), self); + g_signal_connect (stack_child, "notify::visible", G_CALLBACK (on_stack_child_updated), self); + g_signal_connect (stack_child, "child-notify::title", G_CALLBACK (on_stack_child_updated), self); + g_signal_connect (stack_child, "child-notify::icon-name", G_CALLBACK (on_stack_child_updated), self); + g_signal_connect (stack_child, "child-notify::needs-attention", G_CALLBACK (on_stack_child_updated), self); + g_signal_connect (stack_child, "child-notify::position", G_CALLBACK (on_position_updated), self); + + g_hash_table_insert (self->buttons, stack_child, button); +} + +static void +add_button_for_stack_child_cb (GtkWidget *stack_child, + HdyViewSwitcher *self) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER (self)); + g_return_if_fail (GTK_IS_WIDGET (stack_child)); + + add_button_for_stack_child (self, stack_child); +} + +static void +remove_button_for_stack_child (HdyViewSwitcher *self, + GtkWidget *stack_child) +{ + g_signal_handlers_disconnect_by_func (stack_child, on_stack_child_updated, self); + g_signal_handlers_disconnect_by_func (stack_child, on_position_updated, self); + gtk_container_remove (GTK_CONTAINER (self->box), g_hash_table_lookup (self->buttons, stack_child)); + g_hash_table_remove (self->buttons, stack_child); +} + +static void +remove_button_for_stack_child_cb (GtkWidget *stack_child, + HdyViewSwitcher *self) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER (self)); + g_return_if_fail (GTK_IS_WIDGET (stack_child)); + + remove_button_for_stack_child (self, stack_child); +} + +static void +update_active_button_for_visible_stack_child (HdyViewSwitcher *self) +{ + GtkWidget *visible_stack_child = gtk_stack_get_visible_child (self->stack); + GtkWidget *button = g_hash_table_lookup (self->buttons, visible_stack_child); + + if (button == NULL) + return; + + self->in_child_changed = TRUE; + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), TRUE); + self->in_child_changed = FALSE; +} + +static void +disconnect_stack_signals (HdyViewSwitcher *self) +{ + g_signal_handlers_disconnect_by_func (self->stack, add_button_for_stack_child, self); + g_signal_handlers_disconnect_by_func (self->stack, remove_button_for_stack_child, self); + g_signal_handlers_disconnect_by_func (self->stack, update_active_button_for_visible_stack_child, self); + g_signal_handlers_disconnect_by_func (self->stack, disconnect_stack_signals, self); +} + +static void +connect_stack_signals (HdyViewSwitcher *self) +{ + g_signal_connect_object (self->stack, "add", + G_CALLBACK (add_button_for_stack_child), self, + G_CONNECT_AFTER | G_CONNECT_SWAPPED); + g_signal_connect_object (self->stack, "remove", + G_CALLBACK (remove_button_for_stack_child), self, + G_CONNECT_AFTER | G_CONNECT_SWAPPED); + g_signal_connect_object (self->stack, "notify::visible-child", + G_CALLBACK (update_active_button_for_visible_stack_child), self, + G_CONNECT_SWAPPED); + g_signal_connect_object (self->stack, "destroy", + G_CALLBACK (disconnect_stack_signals), self, + G_CONNECT_SWAPPED); +} + +static void +hdy_view_switcher_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + HdyViewSwitcher *self = HDY_VIEW_SWITCHER (object); + + switch (prop_id) { + case PROP_POLICY: + g_value_set_enum (value, hdy_view_switcher_get_policy (self)); + break; + case PROP_NARROW_ELLIPSIZE: + g_value_set_enum (value, hdy_view_switcher_get_narrow_ellipsize (self)); + break; + case PROP_STACK: + g_value_set_object (value, hdy_view_switcher_get_stack (self)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +hdy_view_switcher_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + HdyViewSwitcher *self = HDY_VIEW_SWITCHER (object); + + switch (prop_id) { + case PROP_POLICY: + hdy_view_switcher_set_policy (self, g_value_get_enum (value)); + break; + case PROP_NARROW_ELLIPSIZE: + hdy_view_switcher_set_narrow_ellipsize (self, g_value_get_enum (value)); + break; + case PROP_STACK: + hdy_view_switcher_set_stack (self, g_value_get_object (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +hdy_view_switcher_dispose (GObject *object) +{ + HdyViewSwitcher *self = HDY_VIEW_SWITCHER (object); + + remove_switch_timer (self); + hdy_view_switcher_set_stack (self, NULL); + + G_OBJECT_CLASS (hdy_view_switcher_parent_class)->dispose (object); +} + +static void +hdy_view_switcher_finalize (GObject *object) +{ + HdyViewSwitcher *self = HDY_VIEW_SWITCHER (object); + + g_hash_table_destroy (self->buttons); + + G_OBJECT_CLASS (hdy_view_switcher_parent_class)->finalize (object); +} + +static void +hdy_view_switcher_get_preferred_width (GtkWidget *widget, + gint *min, + gint *nat) +{ + HdyViewSwitcher *self = HDY_VIEW_SWITCHER (widget); + g_autoptr (GList) children = gtk_container_get_children (GTK_CONTAINER (self->box)); + gint max_h_min = 0, max_h_nat = 0, max_v_min = 0, max_v_nat = 0; + gint n_children = 0; + + for (GList *l = children; l != NULL; l = g_list_next (l)) { + gint h_min = 0, h_nat = 0, v_min = 0, v_nat = 0; + + if (!gtk_widget_get_visible (l->data)) + continue; + + hdy_view_switcher_button_get_size (HDY_VIEW_SWITCHER_BUTTON (l->data), &h_min, &h_nat, &v_min, &v_nat); + max_h_min = MAX (h_min, max_h_min); + max_h_nat = MAX (h_nat, max_h_nat); + max_v_min = MAX (v_min, max_v_min); + max_v_nat = MAX (v_nat, max_v_nat); + + n_children++; + } + + /* Make the buttons ask at least a minimum arbitrary size for their natural + * width. This prevents them from looking terribly narrow in a very wide bar. + */ + max_h_nat = MAX (max_h_nat, MIN_NAT_BUTTON_WIDTH); + max_v_nat = MAX (max_v_nat, MIN_NAT_BUTTON_WIDTH); + + switch (self->policy) { + case HDY_VIEW_SWITCHER_POLICY_NARROW: + *min = max_v_min * n_children; + *nat = max_v_nat * n_children; + break; + case HDY_VIEW_SWITCHER_POLICY_WIDE: + *min = max_h_min * n_children; + *nat = max_h_nat * n_children; + break; + case HDY_VIEW_SWITCHER_POLICY_AUTO: + default: + *min = max_v_min * n_children; + *nat = max_h_nat * n_children; + break; + } + + hdy_css_measure (widget, GTK_ORIENTATION_HORIZONTAL, min, nat); +} + +static gint +is_narrow (HdyViewSwitcher *self, + gint width) +{ + g_autoptr (GList) children = gtk_container_get_children (GTK_CONTAINER (self->box)); + gint max_h_min = 0; + gint n_children = 0; + + if (self->policy == HDY_VIEW_SWITCHER_POLICY_NARROW) + return TRUE; + + if (self->policy == HDY_VIEW_SWITCHER_POLICY_WIDE) + return FALSE; + + for (GList *l = children; l != NULL; l = g_list_next (l)) { + gint h_min = 0; + + if (!gtk_widget_get_visible (l->data)) + continue; + + hdy_view_switcher_button_get_size (HDY_VIEW_SWITCHER_BUTTON (l->data), &h_min, NULL, NULL, NULL); + max_h_min = MAX (max_h_min, h_min); + + n_children++; + } + + return (max_h_min * n_children) > width; +} + +static void +hdy_view_switcher_size_allocate (GtkWidget *widget, + GtkAllocation *allocation) +{ + HdyViewSwitcher *self = HDY_VIEW_SWITCHER (widget); + + g_autoptr (GList) children = gtk_container_get_children (GTK_CONTAINER (self->box)); + GtkOrientation orientation; + + hdy_css_size_allocate (widget, allocation); + + orientation = is_narrow (HDY_VIEW_SWITCHER (widget), allocation->width) ? + GTK_ORIENTATION_VERTICAL : + GTK_ORIENTATION_HORIZONTAL; + + for (GList *l = children; l != NULL; l = g_list_next (l)) + gtk_orientable_set_orientation (GTK_ORIENTABLE (l->data), orientation); + + GTK_WIDGET_CLASS (hdy_view_switcher_parent_class)->size_allocate (widget, allocation); +} + +static void +hdy_view_switcher_class_init (HdyViewSwitcherClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + object_class->get_property = hdy_view_switcher_get_property; + object_class->set_property = hdy_view_switcher_set_property; + object_class->dispose = hdy_view_switcher_dispose; + object_class->finalize = hdy_view_switcher_finalize; + + widget_class->size_allocate = hdy_view_switcher_size_allocate; + widget_class->get_preferred_width = hdy_view_switcher_get_preferred_width; + widget_class->drag_motion = hdy_view_switcher_drag_motion; + widget_class->drag_leave = hdy_view_switcher_drag_leave; + + /** + * HdyViewSwitcher:policy: + * + * The #HdyViewSwitcherPolicy the view switcher should use to determine which + * mode to use. + * + * Since: 0.0.10 + */ + props[PROP_POLICY] = + g_param_spec_enum ("policy", + _("Policy"), + _("The policy to determine the mode to use"), + HDY_TYPE_VIEW_SWITCHER_POLICY, HDY_VIEW_SWITCHER_POLICY_AUTO, + G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + /** + * HdyViewSwitcher:narrow-ellipsize: + * + * The preferred place to ellipsize the string, if the narrow mode label does + * not have enough room to display the entire string, specified as a + * #PangoEllipsizeMode. + * + * Note that setting this property to a value other than %PANGO_ELLIPSIZE_NONE + * has the side-effect that the label requests only enough space to display + * the ellipsis. + * + * Since: 0.0.10 + */ + props[PROP_NARROW_ELLIPSIZE] = + g_param_spec_enum ("narrow-ellipsize", + _("Narrow ellipsize"), + _("The preferred place to ellipsize the string, if the narrow mode label does not have enough room to display the entire string"), + PANGO_TYPE_ELLIPSIZE_MODE, + PANGO_ELLIPSIZE_NONE, + G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY); + + /** + * HdyViewSwitcher:stack: + * + * The #GtkStack the view switcher controls. + * + * Since: 0.0.10 + */ + props[PROP_STACK] = + g_param_spec_object ("stack", + _("Stack"), + _("Stack"), + GTK_TYPE_STACK, + G_PARAM_EXPLICIT_NOTIFY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + g_object_class_install_properties (object_class, LAST_PROP, props); + + gtk_widget_class_set_css_name (widget_class, "viewswitcher"); +} + +static void +hdy_view_switcher_init (HdyViewSwitcher *self) +{ + self->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_widget_show (self->box); + gtk_box_set_homogeneous (GTK_BOX (self->box), TRUE); + gtk_container_add (GTK_CONTAINER (self), self->box); + + self->buttons = g_hash_table_new (g_direct_hash, g_direct_equal); + + gtk_widget_set_valign (GTK_WIDGET (self), GTK_ALIGN_FILL); + + gtk_drag_dest_set (GTK_WIDGET (self), 0, NULL, 0, 0); + gtk_drag_dest_set_track_motion (GTK_WIDGET (self), TRUE); +} + +/** + * hdy_view_switcher_new: + * + * Creates a new #HdyViewSwitcher widget. + * + * Returns: a new #HdyViewSwitcher + * + * Since: 0.0.10 + */ +GtkWidget * +hdy_view_switcher_new (void) +{ + return g_object_new (HDY_TYPE_VIEW_SWITCHER, NULL); +} + +/** + * hdy_view_switcher_get_policy: + * @self: a #HdyViewSwitcher + * + * Gets the policy of @self. + * + * Returns: the policy of @self + * + * Since: 0.0.10 + */ +HdyViewSwitcherPolicy +hdy_view_switcher_get_policy (HdyViewSwitcher *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER (self), HDY_VIEW_SWITCHER_POLICY_AUTO); + + return self->policy; +} + +/** + * hdy_view_switcher_set_policy: + * @self: a #HdyViewSwitcher + * @policy: the new policy + * + * Sets the policy of @self. + * + * Since: 0.0.10 + */ +void +hdy_view_switcher_set_policy (HdyViewSwitcher *self, + HdyViewSwitcherPolicy policy) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER (self)); + + if (self->policy == policy) + return; + + self->policy = policy; + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_POLICY]); + + gtk_widget_queue_resize (GTK_WIDGET (self)); +} + +/** + * hdy_view_switcher_get_narrow_ellipsize: + * @self: a #HdyViewSwitcher + * + * Get the ellipsizing position of the narrow mode label. See + * hdy_view_switcher_set_narrow_ellipsize(). + * + * Returns: #PangoEllipsizeMode + * + * Since: 0.0.10 + **/ +PangoEllipsizeMode +hdy_view_switcher_get_narrow_ellipsize (HdyViewSwitcher *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER (self), PANGO_ELLIPSIZE_NONE); + + return self->narrow_ellipsize; +} + +/** + * hdy_view_switcher_set_narrow_ellipsize: + * @self: a #HdyViewSwitcher + * @mode: a #PangoEllipsizeMode + * + * Set the mode used to ellipsize the text in narrow mode if there is not + * enough space to render the entire string. + * + * Since: 0.0.10 + **/ +void +hdy_view_switcher_set_narrow_ellipsize (HdyViewSwitcher *self, + PangoEllipsizeMode mode) +{ + GHashTableIter iter; + gpointer button; + + g_return_if_fail (HDY_IS_VIEW_SWITCHER (self)); + g_return_if_fail (mode >= PANGO_ELLIPSIZE_NONE && mode <= PANGO_ELLIPSIZE_END); + + if ((PangoEllipsizeMode) self->narrow_ellipsize == mode) + return; + + self->narrow_ellipsize = mode; + + g_hash_table_iter_init (&iter, self->buttons); + while (g_hash_table_iter_next (&iter, NULL, &button)) + hdy_view_switcher_button_set_narrow_ellipsize (HDY_VIEW_SWITCHER_BUTTON (button), mode); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_NARROW_ELLIPSIZE]); +} + +/** + * hdy_view_switcher_get_stack: + * @self: a #HdyViewSwitcher + * + * Get the #GtkStack being controlled by the #HdyViewSwitcher. + * + * See: hdy_view_switcher_set_stack() + * + * Returns: (nullable) (transfer none): the #GtkStack, or %NULL if none has been set + * + * Since: 0.0.10 + */ +GtkStack * +hdy_view_switcher_get_stack (HdyViewSwitcher *self) +{ + g_return_val_if_fail (HDY_IS_VIEW_SWITCHER (self), NULL); + + return self->stack; +} + +/** + * hdy_view_switcher_set_stack: + * @self: a #HdyViewSwitcher + * @stack: (nullable): a #GtkStack + * + * Sets the #GtkStack to control. + * + * Since: 0.0.10 + */ +void +hdy_view_switcher_set_stack (HdyViewSwitcher *self, + GtkStack *stack) +{ + g_return_if_fail (HDY_IS_VIEW_SWITCHER (self)); + g_return_if_fail (stack == NULL || GTK_IS_STACK (stack)); + + if (self->stack == stack) + return; + + if (self->stack) { + disconnect_stack_signals (self); + gtk_container_foreach (GTK_CONTAINER (self->stack), (GtkCallback) remove_button_for_stack_child_cb, self); + } + + g_set_object (&self->stack, stack); + + if (self->stack) { + gtk_container_foreach (GTK_CONTAINER (self->stack), (GtkCallback) add_button_for_stack_child_cb, self); + update_active_button_for_visible_stack_child (self); + connect_stack_signals (self); + } + + gtk_widget_queue_resize (GTK_WIDGET (self)); + + g_object_notify_by_pspec (G_OBJECT (self), props[PROP_STACK]); +} diff --git a/subprojects/libhandy/src/hdy-view-switcher.h b/subprojects/libhandy/src/hdy-view-switcher.h new file mode 100644 index 00000000..3ec02f63 --- /dev/null +++ b/subprojects/libhandy/src/hdy-view-switcher.h @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2019 Zander Brown + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_VIEW_SWITCHER (hdy_view_switcher_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdyViewSwitcher, hdy_view_switcher, HDY, VIEW_SWITCHER, GtkBin) + +typedef enum { + HDY_VIEW_SWITCHER_POLICY_AUTO, + HDY_VIEW_SWITCHER_POLICY_NARROW, + HDY_VIEW_SWITCHER_POLICY_WIDE, +} HdyViewSwitcherPolicy; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_view_switcher_new (void); + +HDY_AVAILABLE_IN_ALL +HdyViewSwitcherPolicy hdy_view_switcher_get_policy (HdyViewSwitcher *self); +HDY_AVAILABLE_IN_ALL +void hdy_view_switcher_set_policy (HdyViewSwitcher *self, + HdyViewSwitcherPolicy policy); + +HDY_AVAILABLE_IN_ALL +PangoEllipsizeMode hdy_view_switcher_get_narrow_ellipsize (HdyViewSwitcher *self); +HDY_AVAILABLE_IN_ALL +void hdy_view_switcher_set_narrow_ellipsize (HdyViewSwitcher *self, + PangoEllipsizeMode mode); + +HDY_AVAILABLE_IN_ALL +GtkStack *hdy_view_switcher_get_stack (HdyViewSwitcher *self); +HDY_AVAILABLE_IN_ALL +void hdy_view_switcher_set_stack (HdyViewSwitcher *self, + GtkStack *stack); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-window-handle-controller-private.h b/subprojects/libhandy/src/hdy-window-handle-controller-private.h new file mode 100644 index 00000000..0a192510 --- /dev/null +++ b/subprojects/libhandy/src/hdy-window-handle-controller-private.h @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_WINDOW_HANDLE_CONTROLLER (hdy_window_handle_controller_get_type()) + +G_DECLARE_FINAL_TYPE (HdyWindowHandleController, hdy_window_handle_controller, HDY, WINDOW_HANDLE_CONTROLLER, GObject) + +HdyWindowHandleController *hdy_window_handle_controller_new (GtkWidget *widget); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-window-handle-controller.c b/subprojects/libhandy/src/hdy-window-handle-controller.c new file mode 100644 index 00000000..d6687451 --- /dev/null +++ b/subprojects/libhandy/src/hdy-window-handle-controller.c @@ -0,0 +1,515 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see . + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +/* Most of the file is based on bits of code from GtkWindow */ + +#include "config.h" + +#include "gtk-window-private.h" +#include "hdy-window-handle-controller-private.h" + +#include + +/** + * PRIVATE:hdy-window-handle-controller + * @short_description: An oblect that makes widgets behave like titlebars. + * @Title: HdyWindowHandleController + * @See_also: #HdyHeaderBar, #HdyWindowHandle + * @stability: Private + * + * When HdyWindowHandleController is added to the widget, dragging that widget + * will move the window, and right click, double click and middle click will be + * handled as if that widget was a titlebar. Currently it's used to implement + * these properties in #HdyWindowHandle and #HdyHeaderBar + * + * Since: 1.0 + */ + +struct _HdyWindowHandleController +{ + GObject parent; + + GtkWidget *widget; + GtkGesture *multipress_gesture; + GtkWidget *fallback_menu; + gboolean keep_above; +}; + +G_DEFINE_TYPE (HdyWindowHandleController, hdy_window_handle_controller, G_TYPE_OBJECT); + +static GtkWindow * +get_window (HdyWindowHandleController *self) +{ + GtkWidget *toplevel = gtk_widget_get_toplevel (self->widget); + + if (GTK_IS_WINDOW (toplevel)) + return GTK_WINDOW (toplevel); + + return NULL; +} + +static void +popup_menu_detach (GtkWidget *widget, + GtkMenu *menu) +{ + HdyWindowHandleController *self; + + self = g_object_steal_data (G_OBJECT (menu), "hdywindowhandlecontroller"); + + self->fallback_menu = NULL; +} + +static void +restore_window_cb (GtkMenuItem *menuitem, + HdyWindowHandleController *self) +{ + GtkWindow *window = get_window (self); + GdkWindowState state; + + if (!window) + return; + + if (gtk_window_is_maximized (window)) { + gtk_window_unmaximize (window); + return; + } + + state = hdy_gtk_window_get_state (window); + + if (state & GDK_WINDOW_STATE_ICONIFIED) + gtk_window_deiconify (window); +} + +static void +move_window_cb (GtkMenuItem *menuitem, + HdyWindowHandleController *self) +{ + GtkWindow *window = get_window (self); + + if (!window) + return; + + gtk_window_begin_move_drag (window, + 0, /* 0 means "use keyboard" */ + 0, 0, + GDK_CURRENT_TIME); +} + +static void +resize_window_cb (GtkMenuItem *menuitem, + HdyWindowHandleController *self) +{ + GtkWindow *window = get_window (self); + + if (!window) + return; + + gtk_window_begin_resize_drag (window, + 0, + 0, /* 0 means "use keyboard" */ + 0, 0, + GDK_CURRENT_TIME); +} + +static void +minimize_window_cb (GtkMenuItem *menuitem, + HdyWindowHandleController *self) +{ + GtkWindow *window = get_window (self); + + if (!window) + return; + + /* Turns out, we can't iconify a maximized window */ + if (gtk_window_is_maximized (window)) + gtk_window_unmaximize (window); + + gtk_window_iconify (window); +} + +static void +maximize_window_cb (GtkMenuItem *menuitem, + HdyWindowHandleController *self) +{ + GtkWindow *window = get_window (self); + GdkWindowState state; + + if (!window) + return; + + state = hdy_gtk_window_get_state (window); + + if (state & GDK_WINDOW_STATE_ICONIFIED) + gtk_window_deiconify (window); + + gtk_window_maximize (window); +} + +static void +ontop_window_cb (GtkMenuItem *menuitem, + HdyWindowHandleController *self) +{ + GtkWindow *window = get_window (self); + + if (!window) + return; + + /* + * FIXME: It will go out of sync if something else calls + * gtk_window_set_keep_above(), so we need to actually track it. + * For some reason this doesn't seem to be reflected in the + * window state. + */ + self->keep_above = !self->keep_above; + gtk_window_set_keep_above (window, self->keep_above); +} + +static void +close_window_cb (GtkMenuItem *menuitem, + HdyWindowHandleController *self) +{ + GtkWindow *window = get_window (self); + + if (!window) + return; + + gtk_window_close (window); +} + +static void +do_popup (HdyWindowHandleController *self, + GdkEventButton *event) +{ + GtkWindow *window = get_window (self); + GtkWidget *menuitem; + GdkWindowState state; + gboolean maximized, iconified, resizable; + GdkWindowTypeHint type_hint; + + if (!window) + return; + + if (gdk_window_show_window_menu (gtk_widget_get_window (GTK_WIDGET (window)), + (GdkEvent *) event)) + return; + + if (self->fallback_menu) + gtk_widget_destroy (self->fallback_menu); + + state = hdy_gtk_window_get_state (window); + + iconified = (state & GDK_WINDOW_STATE_ICONIFIED) == GDK_WINDOW_STATE_ICONIFIED; + maximized = gtk_window_is_maximized (window) && !iconified; + resizable = gtk_window_get_resizable (window); + type_hint = gtk_window_get_type_hint (window); + + self->fallback_menu = gtk_menu_new (); + gtk_style_context_add_class (gtk_widget_get_style_context (self->fallback_menu), + GTK_STYLE_CLASS_CONTEXT_MENU); + + /* We can't pass self to popup_menu_detach, so will have to use custom data */ + g_object_set_data (G_OBJECT (self->fallback_menu), + "hdywindowhandlecontroller", self); + + gtk_menu_attach_to_widget (GTK_MENU (self->fallback_menu), + self->widget, + popup_menu_detach); + + menuitem = gtk_menu_item_new_with_label (_("Restore")); + gtk_widget_show (menuitem); + /* "Restore" means "Unmaximize" or "Unminimize" + * (yes, some WMs allow window menu to be shown for minimized windows). + * Not restorable: + * - visible windows that are not maximized or minimized + * - non-resizable windows that are not minimized + * - non-normal windows + */ + if ((gtk_widget_is_visible (GTK_WIDGET (window)) && + !(maximized || iconified)) || + (!iconified && !resizable) || + type_hint != GDK_WINDOW_TYPE_HINT_NORMAL) + gtk_widget_set_sensitive (menuitem, FALSE); + g_signal_connect (G_OBJECT (menuitem), "activate", + G_CALLBACK (restore_window_cb), self); + gtk_menu_shell_append (GTK_MENU_SHELL (self->fallback_menu), menuitem); + + menuitem = gtk_menu_item_new_with_label (_("Move")); + gtk_widget_show (menuitem); + if (maximized || iconified) + gtk_widget_set_sensitive (menuitem, FALSE); + g_signal_connect (G_OBJECT (menuitem), "activate", + G_CALLBACK (move_window_cb), self); + gtk_menu_shell_append (GTK_MENU_SHELL (self->fallback_menu), menuitem); + + menuitem = gtk_menu_item_new_with_label (_("Resize")); + gtk_widget_show (menuitem); + if (!resizable || maximized || iconified) + gtk_widget_set_sensitive (menuitem, FALSE); + g_signal_connect (G_OBJECT (menuitem), "activate", + G_CALLBACK (resize_window_cb), self); + gtk_menu_shell_append (GTK_MENU_SHELL (self->fallback_menu), menuitem); + + menuitem = gtk_menu_item_new_with_label (_("Minimize")); + gtk_widget_show (menuitem); + if (iconified || + type_hint != GDK_WINDOW_TYPE_HINT_NORMAL) + gtk_widget_set_sensitive (menuitem, FALSE); + g_signal_connect (G_OBJECT (menuitem), "activate", + G_CALLBACK (minimize_window_cb), self); + gtk_menu_shell_append (GTK_MENU_SHELL (self->fallback_menu), menuitem); + + menuitem = gtk_menu_item_new_with_label (_("Maximize")); + gtk_widget_show (menuitem); + if (maximized || + !resizable || + type_hint != GDK_WINDOW_TYPE_HINT_NORMAL) + gtk_widget_set_sensitive (menuitem, FALSE); + g_signal_connect (G_OBJECT (menuitem), "activate", + G_CALLBACK (maximize_window_cb), self); + gtk_menu_shell_append (GTK_MENU_SHELL (self->fallback_menu), menuitem); + + menuitem = gtk_separator_menu_item_new (); + gtk_widget_show (menuitem); + gtk_menu_shell_append (GTK_MENU_SHELL (self->fallback_menu), menuitem); + + menuitem = gtk_check_menu_item_new_with_label (_("Always on Top")); + gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem), self->keep_above); + if (maximized) + gtk_widget_set_sensitive (menuitem, FALSE); + gtk_widget_show (menuitem); + g_signal_connect (G_OBJECT (menuitem), "activate", + G_CALLBACK (ontop_window_cb), self); + gtk_menu_shell_append (GTK_MENU_SHELL (self->fallback_menu), menuitem); + + menuitem = gtk_separator_menu_item_new (); + gtk_widget_show (menuitem); + gtk_menu_shell_append (GTK_MENU_SHELL (self->fallback_menu), menuitem); + + menuitem = gtk_menu_item_new_with_label (_("Close")); + gtk_widget_show (menuitem); + if (!gtk_window_get_deletable (window)) + gtk_widget_set_sensitive (menuitem, FALSE); + g_signal_connect (G_OBJECT (menuitem), "activate", + G_CALLBACK (close_window_cb), self); + gtk_menu_shell_append (GTK_MENU_SHELL (self->fallback_menu), menuitem); + gtk_menu_popup_at_pointer (GTK_MENU (self->fallback_menu), (GdkEvent *) event); +} + +static gboolean +titlebar_action (HdyWindowHandleController *self, + const GdkEvent *event, + guint button) +{ + GtkSettings *settings; + g_autofree gchar *action = NULL; + GtkWindow *window = get_window (self); + + if (!window) + return FALSE; + + settings = gtk_widget_get_settings (GTK_WIDGET (window)); + + switch (button) { + case GDK_BUTTON_PRIMARY: + g_object_get (settings, "gtk-titlebar-double-click", &action, NULL); + break; + + case GDK_BUTTON_MIDDLE: + g_object_get (settings, "gtk-titlebar-middle-click", &action, NULL); + break; + + case GDK_BUTTON_SECONDARY: + g_object_get (settings, "gtk-titlebar-right-click", &action, NULL); + break; + + default: + g_assert_not_reached (); + } + + if (action == NULL) + return FALSE; + + if (g_str_equal (action, "none")) + return FALSE; + + if (g_str_has_prefix (action, "toggle-maximize")) { + /* + * gtk header bar won't show the maximize button if the following + * properties are not met, apply the same to title bar actions for + * consistency. + */ + if (gtk_window_get_resizable (window) && + gtk_window_get_type_hint (window) == GDK_WINDOW_TYPE_HINT_NORMAL) + hdy_gtk_window_toggle_maximized (window); + + return TRUE; + } + + if (g_str_equal (action, "lower")) { + gdk_window_lower (gtk_widget_get_window (GTK_WIDGET (window))); + + return TRUE; + } + + if (g_str_equal (action, "minimize")) { + gdk_window_iconify (gtk_widget_get_window (GTK_WIDGET (window))); + + return TRUE; + } + + if (g_str_equal (action, "menu")) { + do_popup (self, (GdkEventButton*) event); + + return TRUE; + } + + g_warning ("Unsupported titlebar action %s", action); + + return FALSE; +} + +static void +pressed_cb (GtkGestureMultiPress *gesture, + gint n_press, + gdouble x, + gdouble y, + HdyWindowHandleController *self) +{ + GtkWidget *window = gtk_widget_get_toplevel (self->widget); + GdkEventSequence *sequence = + gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture)); + const GdkEvent *event = + gtk_gesture_get_last_event (GTK_GESTURE (gesture), sequence); + guint button = + gtk_gesture_single_get_current_button (GTK_GESTURE_SINGLE (gesture)); + + if (!event) + return; + + if (gdk_display_device_is_grabbed (gtk_widget_get_display (window), + gtk_gesture_get_device (GTK_GESTURE (gesture)))) + return; + + switch (button) { + case GDK_BUTTON_PRIMARY: + gdk_window_raise (gtk_widget_get_window (window)); + + if (n_press == 2) + titlebar_action (self, event, button); + + if (gtk_widget_has_grab (window)) + gtk_gesture_set_sequence_state (GTK_GESTURE (gesture), + sequence, GTK_EVENT_SEQUENCE_CLAIMED); + + break; + + case GDK_BUTTON_SECONDARY: + if (titlebar_action (self, event, button)) + gtk_gesture_set_sequence_state (GTK_GESTURE (gesture), + sequence, GTK_EVENT_SEQUENCE_CLAIMED); + + gtk_event_controller_reset (GTK_EVENT_CONTROLLER (gesture)); + break; + + case GDK_BUTTON_MIDDLE: + if (titlebar_action (self, event, button)) + gtk_gesture_set_sequence_state (GTK_GESTURE (gesture), + sequence, GTK_EVENT_SEQUENCE_CLAIMED); + break; + + default: + break; + } +} + +static void +hdy_window_handle_controller_finalize (GObject *object) +{ + HdyWindowHandleController *self = (HdyWindowHandleController *)object; + + self->widget = NULL; + g_clear_object (&self->multipress_gesture); + g_clear_object (&self->fallback_menu); + + G_OBJECT_CLASS (hdy_window_handle_controller_parent_class)->finalize (object); +} + +static void +hdy_window_handle_controller_class_init (HdyWindowHandleControllerClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = hdy_window_handle_controller_finalize; +} + +static void +hdy_window_handle_controller_init (HdyWindowHandleController *self) +{ +} + +/** + * hdy_window_handle_controller_new: + * @widget: The widget to create a controller for + * + * Creates a new #HdyWindowHandleController for @widget. + * + * Returns: (transfer full): a newly created #HdyWindowHandleController + * + * Since: 1.0 + */ +HdyWindowHandleController * +hdy_window_handle_controller_new (GtkWidget *widget) +{ + HdyWindowHandleController *self; + + g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); + + self = g_object_new (HDY_TYPE_WINDOW_HANDLE_CONTROLLER, NULL); + + /* The object is intended to have the same life cycle as the widget, + * so we don't ref it. */ + self->widget = widget; + self->multipress_gesture = g_object_new (GTK_TYPE_GESTURE_MULTI_PRESS, + "widget", widget, + "button", 0, + NULL); + g_signal_connect_object (self->multipress_gesture, + "pressed", + G_CALLBACK (pressed_cb), + self, + 0); + + gtk_widget_add_events (widget, + GDK_BUTTON_PRESS_MASK | + GDK_BUTTON_RELEASE_MASK | + GDK_BUTTON_MOTION_MASK | + GDK_TOUCH_MASK); + + gtk_style_context_add_class (gtk_widget_get_style_context (widget), + "windowhandle"); + + return self; +} diff --git a/subprojects/libhandy/src/hdy-window-handle.c b/subprojects/libhandy/src/hdy-window-handle.c new file mode 100644 index 00000000..30cc855a --- /dev/null +++ b/subprojects/libhandy/src/hdy-window-handle.c @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" + +#include "hdy-window-handle.h" +#include "hdy-window-handle-controller-private.h" + +/** + * SECTION:hdy-window-handle + * @short_description: A bin that acts like a titlebar. + * @Title: HdyWindowHandle + * @See_also: #HdyApplicationWindow, #HdyHeaderBar, #HdyWindow + * + * HdyWindowHandle is a #GtkBin subclass that can be dragged to move its + * #GtkWindow, and handles right click, middle click and double click as + * expected from a titlebar. This is particularly useful with #HdyWindow or + * #HdyApplicationWindow. + * + * It isn't necessary to use #HdyWindowHandle if you use #HdyHeaderBar. + * + * It can be safely nested or used in the actual window titlebar. + * + * # CSS nodes + * + * #HdyWindowHandle has a single CSS node with name windowhandle. + * + * Since: 1.0 + */ + +struct _HdyWindowHandle +{ + GtkEventBox parent_instance; + + HdyWindowHandleController *controller; +}; + +G_DEFINE_TYPE (HdyWindowHandle, hdy_window_handle, GTK_TYPE_EVENT_BOX) + +static void +hdy_window_handle_finalize (GObject *object) +{ + HdyWindowHandle *self = (HdyWindowHandle *)object; + + g_clear_object (&self->controller); + + G_OBJECT_CLASS (hdy_window_handle_parent_class)->finalize (object); +} + +static void +hdy_window_handle_class_init (HdyWindowHandleClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + + object_class->finalize = hdy_window_handle_finalize; + + gtk_widget_class_set_css_name (widget_class, "windowhandle"); +} + +static void +hdy_window_handle_init (HdyWindowHandle *self) +{ + self->controller = hdy_window_handle_controller_new (GTK_WIDGET (self)); +} + +/** + * hdy_window_handle_new: + * + * Creates a new #HdyWindowHandle. + * + * Returns: (transfer full): a newly created #HdyWindowHandle + * + * Since: 1.0 + */ +GtkWidget * +hdy_window_handle_new (void) +{ + return g_object_new (HDY_TYPE_WINDOW_HANDLE, NULL); +} diff --git a/subprojects/libhandy/src/hdy-window-handle.h b/subprojects/libhandy/src/hdy-window-handle.h new file mode 100644 index 00000000..d7835f94 --- /dev/null +++ b/subprojects/libhandy/src/hdy-window-handle.h @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_WINDOW_HANDLE (hdy_window_handle_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_FINAL_TYPE (HdyWindowHandle, hdy_window_handle, HDY, WINDOW_HANDLE, GtkEventBox) + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_window_handle_new (void); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-window-mixin-private.h b/subprojects/libhandy/src/hdy-window-mixin-private.h new file mode 100644 index 00000000..27ce713c --- /dev/null +++ b/subprojects/libhandy/src/hdy-window-mixin-private.h @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_WINDOW_MIXIN (hdy_window_mixin_get_type()) + +G_DECLARE_FINAL_TYPE (HdyWindowMixin, hdy_window_mixin, HDY, WINDOW_MIXIN, GObject) + +HdyWindowMixin *hdy_window_mixin_new (GtkWindow *window, + GtkWindowClass *klass); + +void hdy_window_mixin_add (HdyWindowMixin *self, + GtkWidget *widget); +void hdy_window_mixin_remove (HdyWindowMixin *self, + GtkWidget *widget); +void hdy_window_mixin_forall (HdyWindowMixin *self, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data); + +gboolean hdy_window_mixin_draw (HdyWindowMixin *self, + cairo_t *cr); +void hdy_window_mixin_destroy (HdyWindowMixin *self); + +void hdy_window_mixin_buildable_add_child (HdyWindowMixin *self, + GtkBuilder *builder, + GObject *child, + const gchar *type); + +G_END_DECLS diff --git a/subprojects/libhandy/src/hdy-window-mixin.c b/subprojects/libhandy/src/hdy-window-mixin.c new file mode 100644 index 00000000..871a54c2 --- /dev/null +++ b/subprojects/libhandy/src/hdy-window-mixin.c @@ -0,0 +1,579 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" + +#include "hdy-cairo-private.h" +#include "hdy-deck.h" +#include "hdy-nothing-private.h" +#include "hdy-window-mixin-private.h" + +typedef enum { + HDY_CORNER_TOP_LEFT, + HDY_CORNER_TOP_RIGHT, + HDY_CORNER_BOTTOM_LEFT, + HDY_CORNER_BOTTOM_RIGHT, + HDY_N_CORNERS, +} HdyCorner; + +/** + * PRIVATE:hdy-window-mixin + * @short_description: A helper object for #HdyWindow and #HdyApplicationWindow + * @title: HdyWindowMixin + * @See_also: #HdyApplicationWindow, #HdyWindow + * @stability: Private + * + * The HdyWindowMixin object contains the implementation of the HdyWindow and + * HdyApplicationWindow classes, providing a way to make a GtkWindow subclass + * that has masked window corners on all sides and no titlebar by default, + * allowing for more freedom with how to handle the titlebar for applications. + * + * Since: 1.0 + */ + +struct _HdyWindowMixin +{ + GObject parent; + + GtkWindow *window; + GtkWindowClass *klass; + + GtkWidget *content; + GtkWidget *titlebar; + cairo_surface_t *masks[HDY_N_CORNERS]; + gint last_border_radius; + + GtkStyleContext *decoration_context; + GtkStyleContext *overlay_context; + + GtkWidget *child; +}; + +G_DEFINE_TYPE (HdyWindowMixin, hdy_window_mixin, G_TYPE_OBJECT) + +static GtkStyleContext * +create_child_context (HdyWindowMixin *self) +{ + GtkStyleContext *parent = gtk_widget_get_style_context (GTK_WIDGET (self->window)); + GtkStyleContext *child = gtk_style_context_new (); + + gtk_style_context_set_parent (child, parent); + gtk_style_context_set_screen (child, gtk_style_context_get_screen (parent)); + gtk_style_context_set_frame_clock (child, gtk_style_context_get_frame_clock (parent)); + + g_signal_connect_object (child, + "changed", + G_CALLBACK (gtk_widget_queue_draw), + self->window, + G_CONNECT_SWAPPED); + + return child; +} + +static void +update_child_context (HdyWindowMixin *self, + GtkStyleContext *context, + const gchar *name) +{ + g_autoptr (GtkWidgetPath) path = gtk_widget_path_new (); + GtkStyleContext *parent = gtk_widget_get_style_context (GTK_WIDGET (self->window)); + gint position; + + gtk_widget_path_append_for_widget (path, GTK_WIDGET (self->window)); + position = gtk_widget_path_append_type (path, GTK_TYPE_WIDGET); + gtk_widget_path_iter_set_object_name (path, position, name); + + gtk_style_context_set_path (context, path); + gtk_style_context_set_state (context, gtk_style_context_get_state (parent)); +} + +static void +style_changed_cb (HdyWindowMixin *self) +{ + update_child_context (self, self->decoration_context, "decoration"); + update_child_context (self, self->overlay_context, "decoration-overlay"); +} + +static gboolean +window_state_event_cb (HdyWindowMixin *self, + GdkEvent *event, + GtkWidget *widget) +{ + style_changed_cb (self); + + return GDK_EVENT_PROPAGATE; +} + +static void +size_allocate_cb (HdyWindowMixin *self, + GtkAllocation *alloc) +{ + /* We don't want to allow any other titlebar */ + if (gtk_window_get_titlebar (self->window) != self->titlebar) + g_error ("gtk_window_set_titlebar() is not supported for HdyWindow"); +} + +static gboolean +is_fullscreen (HdyWindowMixin *self) +{ + GdkWindow *window = gtk_widget_get_window (GTK_WIDGET (self->window)); + + return !!(gdk_window_get_state (window) & GDK_WINDOW_STATE_FULLSCREEN); +} + +static gboolean +supports_client_shadow (HdyWindowMixin *self) +{ + GtkStyleContext *context = gtk_widget_get_style_context (GTK_WIDGET (self->window)); + + /* + * GtkWindow adds this when it can't draw proper decorations, e.g. on a + * non-composited WM on X11. This is documented, so we can rely on this + * instead of copying the (pretty extensive) check. + */ + return !gtk_style_context_has_class (context, "solid-csd"); +} + +static void +max_borders (GtkBorder *one, + GtkBorder *two) +{ + one->top = MAX (one->top, two->top); + one->right = MAX (one->right, two->right); + one->bottom = MAX (one->bottom, two->bottom); + one->left = MAX (one->left, two->left); +} + +static void +get_shadow_width (HdyWindowMixin *self, + GtkStyleContext *context, + GtkBorder *shadow_width) +{ + GtkStateFlags state; + GtkBorder margin = { 0 }; + GtkAllocation content_alloc, alloc; + GtkWidget *titlebar; + + *shadow_width = margin; + + if (!gtk_window_get_decorated (self->window)) + return; + + if (gtk_window_is_maximized (self->window) || + is_fullscreen (self)) + return; + + if (!gtk_widget_is_toplevel (GTK_WIDGET (self->window))) + return; + + state = gtk_style_context_get_state (context); + + gtk_style_context_get_margin (context, state, &margin); + + gtk_widget_get_allocation (GTK_WIDGET (self->window), &alloc); + gtk_widget_get_allocation (self->content, &content_alloc); + + titlebar = gtk_window_get_titlebar (self->window); + if (titlebar && gtk_widget_get_visible (titlebar)) { + GtkAllocation titlebar_alloc; + + gtk_widget_get_allocation (titlebar, &titlebar_alloc); + + content_alloc.y = titlebar_alloc.y; + content_alloc.height += titlebar_alloc.height; + } + + /* + * Since we can't get shadow extents the normal way, + * we have to compare window and content allocation instead. + */ + shadow_width->left = content_alloc.x - alloc.x; + shadow_width->right = alloc.width - content_alloc.width - content_alloc.x; + shadow_width->top = content_alloc.y - alloc.y; + shadow_width->bottom = alloc.height - content_alloc.height - content_alloc.y; + + max_borders (shadow_width, &margin); +} + +static void +create_masks (HdyWindowMixin *self, + cairo_t *cr, + gint border_radius) +{ + gint scale_factor = gtk_widget_get_scale_factor (GTK_WIDGET (self->window)); + gdouble radius_correction = 0.5 / scale_factor; + gdouble r = border_radius - radius_correction; + gint i; + + for (i = 0; i < HDY_N_CORNERS; i++) + g_clear_pointer (&self->masks[i], cairo_surface_destroy); + + if (r <= 0) + return; + + for (i = 0; i < HDY_N_CORNERS; i++) { + g_autoptr (cairo_t) mask_cr = NULL; + + self->masks[i] = + cairo_surface_create_similar_image (cairo_get_target (cr), + CAIRO_FORMAT_A8, + border_radius * scale_factor, + border_radius * scale_factor); + + mask_cr = cairo_create (self->masks[i]); + + cairo_scale (mask_cr, scale_factor, scale_factor); + cairo_set_source_rgb (mask_cr, 0, 0, 0); + cairo_arc (mask_cr, + (i % 2 == 0) ? r : radius_correction, + (i / 2 == 0) ? r : radius_correction, + r, + 0, G_PI * 2); + cairo_fill (mask_cr); + } +} + +void +hdy_window_mixin_add (HdyWindowMixin *self, + GtkWidget *widget) +{ + if (GTK_IS_POPOVER (widget)) + GTK_CONTAINER_CLASS (self->klass)->add (GTK_CONTAINER (self->window), + widget); + else { + g_return_if_fail (self->child == NULL); + + self->child = widget; + gtk_container_add (GTK_CONTAINER (self->content), widget); + } +} + +void +hdy_window_mixin_remove (HdyWindowMixin *self, + GtkWidget *widget) +{ + GtkWidget *titlebar = gtk_window_get_titlebar (self->window); + + if (widget == self->content || + widget == titlebar || + GTK_IS_POPOVER (widget)) + GTK_CONTAINER_CLASS (self->klass)->remove (GTK_CONTAINER (self->window), + widget); + else if (widget == self->child) { + self->child = NULL; + gtk_container_remove (GTK_CONTAINER (self->content), widget); + } +} + +void +hdy_window_mixin_forall (HdyWindowMixin *self, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + if (include_internals) { + GTK_CONTAINER_CLASS (self->klass)->forall (GTK_CONTAINER (self->window), + include_internals, + callback, + callback_data); + + return; + } + + if (self->child) + (*callback) (self->child, callback_data); +} + +typedef struct { + HdyWindowMixin *self; + cairo_t *cr; +} HdyWindowMixinDrawData; + +static void +draw_popover_cb (GtkWidget *child, + HdyWindowMixinDrawData *data) +{ + HdyWindowMixin *self = data->self; + GdkWindow *window; + cairo_t *cr = data->cr; + + if (child == self->content || + child == gtk_window_get_titlebar (self->window) || + !gtk_widget_get_visible (child) || + !gtk_widget_get_child_visible (child)) + return; + + window = gtk_widget_get_window (child); + + if (gtk_widget_get_has_window (child)) + window = gdk_window_get_parent (window); + + if (!gtk_cairo_should_draw_window (cr, window)) + return; + + gtk_container_propagate_draw (GTK_CONTAINER (self->window), child, cr); +} + +static inline void +mask_corner (HdyWindowMixin *self, + cairo_t *cr, + gint scale_factor, + gint corner, + gint x, + gint y) +{ + cairo_save (cr); + cairo_scale (cr, 1.0 / scale_factor, 1.0 / scale_factor); + cairo_mask_surface (cr, + self->masks[corner], + x * scale_factor, + y * scale_factor); + cairo_restore (cr); +} + +gboolean +hdy_window_mixin_draw (HdyWindowMixin *self, + cairo_t *cr) +{ + HdyWindowMixinDrawData data; + GtkWidget *widget = GTK_WIDGET (self->window); + GdkWindow *window = gtk_widget_get_window (widget); + + if (gtk_cairo_should_draw_window (cr, window)) { + GtkStyleContext *context; + gboolean should_mask_corners; + GdkRectangle clip = { 0 }; + gint width, height, x, y, w, h, r, scale_factor; + GtkWidget *titlebar; + g_autoptr (cairo_surface_t) surface = NULL; + g_autoptr (cairo_t) surface_cr = NULL; + GtkBorder shadow; + + /* Use the parent drawing unless we have a reason to use masking */ + if (!gtk_window_get_decorated (self->window) || + !supports_client_shadow (self) || + is_fullscreen (self)) + return GTK_WIDGET_CLASS (self->klass)->draw (GTK_WIDGET (self->window), cr); + + context = gtk_widget_get_style_context (widget); + + get_shadow_width (self, self->decoration_context, &shadow); + + width = gtk_widget_get_allocated_width (widget); + height = gtk_widget_get_allocated_height (widget); + + x = shadow.left; + y = shadow.top; + w = width - shadow.left - shadow.right; + h = height - shadow.top - shadow.bottom; + + gtk_style_context_get (context, + gtk_style_context_get_state (context), + GTK_STYLE_PROPERTY_BORDER_RADIUS, &r, + NULL); + + r = CLAMP (r, 0, MIN (w / 2, h / 2)); + + if (!gdk_cairo_get_clip_rectangle (cr, &clip)) { + clip.x = 0; + clip.y = 0; + clip.width = w; + clip.height = h; + } + + gtk_render_background (self->decoration_context, cr, x, y, w, h); + gtk_render_frame (self->decoration_context, cr, x, y, w, h); + + cairo_save (cr); + + scale_factor = gtk_widget_get_scale_factor (widget); + + if (r * scale_factor != self->last_border_radius) { + create_masks (self, cr, r); + self->last_border_radius = r * scale_factor; + } + + should_mask_corners = !gtk_window_is_maximized (self->window) && + r > 0 && + ((clip.x < x + r && clip.y < y + r) || + (clip.x < x + r && clip.y + clip.height > y + h - r) || + (clip.x + clip.width > x + w - r && clip.y + clip.height > y + h - r) || + (clip.x + clip.width > x + w - r && clip.y < y + r)); + + + if (should_mask_corners) { + surface = gdk_window_create_similar_surface (window, + CAIRO_CONTENT_COLOR_ALPHA, + MAX (clip.width, 1), + MAX (clip.height, 1)); + surface_cr = cairo_create (surface); + cairo_surface_set_device_offset (surface, -clip.x * scale_factor, -clip.y * scale_factor); + } else { + surface_cr = cairo_reference (cr); + } + + if (!gtk_widget_get_app_paintable (widget)) { + gtk_render_background (context, surface_cr, x, y, w, h); + gtk_render_frame (context, surface_cr, x, y, w, h); + } + + titlebar = gtk_window_get_titlebar (self->window); + + gtk_container_propagate_draw (GTK_CONTAINER (self->window), self->content, surface_cr); + gtk_container_propagate_draw (GTK_CONTAINER (self->window), titlebar, surface_cr); + + gtk_render_background (self->overlay_context, surface_cr, x, y, w, h); + gtk_render_frame (self->overlay_context, surface_cr, x, y, w, h); + + if (should_mask_corners) { + cairo_set_source_surface (cr, surface, 0, 0); + + cairo_rectangle (cr, x + r, y, w - r * 2, r); + cairo_rectangle (cr, x + r, y + h - r, w - r * 2, r); + cairo_rectangle (cr, x, y + r, w, h - r * 2); + cairo_fill (cr); + + if (clip.x < x + r && clip.y < y + r) + mask_corner (self, cr, scale_factor, + HDY_CORNER_TOP_LEFT, x, y); + + if (clip.x + clip.width > x + w - r && clip.y < y + r) + mask_corner (self, cr, scale_factor, + HDY_CORNER_TOP_RIGHT, x + w - r, y); + + if (clip.x < x + r && clip.y + clip.height > y + h - r) + mask_corner (self, cr, scale_factor, + HDY_CORNER_BOTTOM_LEFT, x, y + h - r); + + if (clip.x + clip.width > x + w - r && clip.y + clip.height > y + h - r) + mask_corner (self, cr, scale_factor, + HDY_CORNER_BOTTOM_RIGHT, x + w - r, y + h - r); + + cairo_surface_flush (surface); + } + + cairo_restore (cr); + } + + data.self = self; + data.cr = cr; + gtk_container_forall (GTK_CONTAINER (self->window), + (GtkCallback) draw_popover_cb, + &data); + + return GDK_EVENT_PROPAGATE; +} + +void +hdy_window_mixin_destroy (HdyWindowMixin *self) +{ + if (self->content) { + hdy_window_mixin_remove (self, self->content); + gtk_widget_destroy (self->content); + self->content = NULL; + self->child = NULL; + } + + GTK_WIDGET_CLASS (self->klass)->destroy (GTK_WIDGET (self->window)); +} + +void +hdy_window_mixin_buildable_add_child (HdyWindowMixin *self, + GtkBuilder *builder, + GObject *child, + const gchar *type) +{ + GtkBuildable *buildable = GTK_BUILDABLE (self->window); + + if (!type) + gtk_container_add (GTK_CONTAINER (buildable), GTK_WIDGET (child)); + else + GTK_BUILDER_WARN_INVALID_CHILD_TYPE (buildable, type); +} + +static void +hdy_window_mixin_finalize (GObject *object) +{ + HdyWindowMixin *self = (HdyWindowMixin *)object; + gint i; + + for (i = 0; i < HDY_N_CORNERS; i++) + g_clear_pointer (&self->masks[i], cairo_surface_destroy); + g_clear_object (&self->decoration_context); + g_clear_object (&self->overlay_context); + + G_OBJECT_CLASS (hdy_window_mixin_parent_class)->finalize (object); +} + +static void +hdy_window_mixin_class_init (HdyWindowMixinClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = hdy_window_mixin_finalize; +} + +static void +hdy_window_mixin_init (HdyWindowMixin *self) +{ +} + +HdyWindowMixin * +hdy_window_mixin_new (GtkWindow *window, + GtkWindowClass *klass) +{ + HdyWindowMixin *self; + GtkStyleContext *context; + + g_return_val_if_fail (GTK_IS_WINDOW (window), NULL); + g_return_val_if_fail (GTK_IS_WINDOW_CLASS (klass), NULL); + g_return_val_if_fail (GTK_IS_BUILDABLE (window), NULL); + + self = g_object_new (HDY_TYPE_WINDOW_MIXIN, NULL); + + self->window = window; + self->klass = klass; + + gtk_widget_add_events (GTK_WIDGET (window), GDK_STRUCTURE_MASK); + + g_signal_connect_object (window, + "style-updated", + G_CALLBACK (style_changed_cb), + self, + G_CONNECT_SWAPPED); + + g_signal_connect_object (window, + "window-state-event", + G_CALLBACK (window_state_event_cb), + self, + G_CONNECT_SWAPPED | G_CONNECT_AFTER); + + g_signal_connect_object (window, + "size-allocate", + G_CALLBACK (size_allocate_cb), + self, + G_CONNECT_SWAPPED); + + self->decoration_context = create_child_context (self); + self->overlay_context = create_child_context (self); + + style_changed_cb (self); + + self->content = hdy_deck_new (); + gtk_widget_set_vexpand (self->content, TRUE); + gtk_widget_show (self->content); + GTK_CONTAINER_CLASS (self->klass)->add (GTK_CONTAINER (self->window), + self->content); + + self->titlebar = hdy_nothing_new (); + gtk_widget_set_no_show_all (self->titlebar, TRUE); + gtk_window_set_titlebar (self->window, self->titlebar); + + context = gtk_widget_get_style_context (GTK_WIDGET (self->window)); + gtk_style_context_add_class (context, "unified"); + + return self; +} diff --git a/subprojects/libhandy/src/hdy-window.c b/subprojects/libhandy/src/hdy-window.c new file mode 100644 index 00000000..1a868d78 --- /dev/null +++ b/subprojects/libhandy/src/hdy-window.c @@ -0,0 +1,195 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include "config.h" + +#include "hdy-window.h" +#include "hdy-window-mixin-private.h" + +/** + * SECTION:hdy-window + * @short_description: A freeform window. + * @title: HdyWindow + * @See_also: #HdyApplicationWindow, #HdyHeaderBar, #HdyWindowHandle + * + * The HdyWindow widget is a subclass of #GtkWindow which has no titlebar area + * and provides rounded corners on all sides, ensuring they can never be + * overlapped by the content. This makes it safe to use headerbars in the + * content area as follows: + * + * |[ + * + * + * + * True + * vertical + * + * + * True + * True + * + * + * + * ... + * + * + * + * + * ]| + * + * It's recommended to use #HdyHeaderBar with #HdyWindow, as unlike + * #GtkHeaderBar it remains draggable inside the window. Otherwise, + * #HdyWindowHandle can be used. + * + * #HdyWindow allows to easily implement titlebar autohiding by putting the + * headerbar inside a #GtkRevealer, and to show titlebar above content by + * putting it into a #GtkOverlay instead of #GtkBox. + * + * if the window has a #GtkGLArea, it may bring a slight performance regression + * when the window is not fullscreen, tiled or maximized. + * + * Using gtk_window_get_titlebar() and gtk_window_set_titlebar() is not + * supported and will result in a crash. + * + * # CSS nodes + * + * #HdyWindow has a main CSS node with the name window and style classes + * .background, .csd and .unified. + * + * The .solid-csd style class on the main node is used for client-side + * decorations without invisible borders. + * + * #HdyWindow also represents window states with the following + * style classes on the main node: .tiled, .maximized, .fullscreen. + * + * It contains the subnodes decoration for window shadow and/or border, + * decoration-overlay for the sheen on top of the window, widget.titlebar, and + * deck, which contains the child inside the window. + * + * Since: 1.0 + */ + +typedef struct +{ + HdyWindowMixin *mixin; +} HdyWindowPrivate; + +static void hdy_window_buildable_init (GtkBuildableIface *iface); + +G_DEFINE_TYPE_WITH_CODE (HdyWindow, hdy_window, GTK_TYPE_WINDOW, + G_ADD_PRIVATE (HdyWindow) + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, hdy_window_buildable_init)) + +#define HDY_GET_WINDOW_MIXIN(obj) (((HdyWindowPrivate *) hdy_window_get_instance_private (HDY_WINDOW (obj)))->mixin) + +static void +hdy_window_add (GtkContainer *container, + GtkWidget *widget) +{ + hdy_window_mixin_add (HDY_GET_WINDOW_MIXIN (container), widget); +} + +static void +hdy_window_remove (GtkContainer *container, + GtkWidget *widget) +{ + hdy_window_mixin_remove (HDY_GET_WINDOW_MIXIN (container), widget); +} + +static void +hdy_window_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + hdy_window_mixin_forall (HDY_GET_WINDOW_MIXIN (container), + include_internals, + callback, + callback_data); +} + +static gboolean +hdy_window_draw (GtkWidget *widget, + cairo_t *cr) +{ + return hdy_window_mixin_draw (HDY_GET_WINDOW_MIXIN (widget), cr); +} + +static void +hdy_window_destroy (GtkWidget *widget) +{ + hdy_window_mixin_destroy (HDY_GET_WINDOW_MIXIN (widget)); +} + +static void +hdy_window_finalize (GObject *object) +{ + HdyWindow *self = (HdyWindow *)object; + HdyWindowPrivate *priv = hdy_window_get_instance_private (self); + + g_clear_object (&priv->mixin); + + G_OBJECT_CLASS (hdy_window_parent_class)->finalize (object); +} + +static void +hdy_window_class_init (HdyWindowClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); + + object_class->finalize = hdy_window_finalize; + widget_class->draw = hdy_window_draw; + widget_class->destroy = hdy_window_destroy; + container_class->add = hdy_window_add; + container_class->remove = hdy_window_remove; + container_class->forall = hdy_window_forall; +} + +static void +hdy_window_init (HdyWindow *self) +{ + HdyWindowPrivate *priv = hdy_window_get_instance_private (self); + + priv->mixin = hdy_window_mixin_new (GTK_WINDOW (self), + GTK_WINDOW_CLASS (hdy_window_parent_class)); +} + +static void +hdy_window_buildable_add_child (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *type) +{ + hdy_window_mixin_buildable_add_child (HDY_GET_WINDOW_MIXIN (buildable), + builder, + child, + type); +} + +static void +hdy_window_buildable_init (GtkBuildableIface *iface) +{ + iface->add_child = hdy_window_buildable_add_child; +} + +/** + * hdy_window_new: + * + * Creates a new #HdyWindow. + * + * Returns: (transfer full): a newly created #HdyWindow + * + * Since: 1.0 + */ +GtkWidget * +hdy_window_new (void) +{ + return g_object_new (HDY_TYPE_WINDOW, + "type", GTK_WINDOW_TOPLEVEL, + NULL); +} diff --git a/subprojects/libhandy/src/hdy-window.h b/subprojects/libhandy/src/hdy-window.h new file mode 100644 index 00000000..51099cf5 --- /dev/null +++ b/subprojects/libhandy/src/hdy-window.h @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#pragma once + +#if !defined(_HANDY_INSIDE) && !defined(HANDY_COMPILATION) +#error "Only can be included directly." +#endif + +#include "hdy-version.h" + +#include + +G_BEGIN_DECLS + +#define HDY_TYPE_WINDOW (hdy_window_get_type()) + +HDY_AVAILABLE_IN_ALL +G_DECLARE_DERIVABLE_TYPE (HdyWindow, hdy_window, HDY, WINDOW, GtkWindow) + +struct _HdyWindowClass +{ + GtkWindowClass parent_class; + + /*< private >*/ + gpointer padding[4]; +}; + +HDY_AVAILABLE_IN_ALL +GtkWidget *hdy_window_new (void); + +G_END_DECLS diff --git a/subprojects/libhandy/src/icons/avatar-default-symbolic.svg b/subprojects/libhandy/src/icons/avatar-default-symbolic.svg new file mode 100644 index 00000000..ec0905d9 --- /dev/null +++ b/subprojects/libhandy/src/icons/avatar-default-symbolic.svg @@ -0,0 +1,3 @@ + + + diff --git a/subprojects/libhandy/src/icons/hdy-expander-arrow-symbolic.svg b/subprojects/libhandy/src/icons/hdy-expander-arrow-symbolic.svg new file mode 100644 index 00000000..78ab0be7 --- /dev/null +++ b/subprojects/libhandy/src/icons/hdy-expander-arrow-symbolic.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/subprojects/libhandy/src/meson.build b/subprojects/libhandy/src/meson.build new file mode 100644 index 00000000..3e1c181c --- /dev/null +++ b/subprojects/libhandy/src/meson.build @@ -0,0 +1,297 @@ +libhandy_header_subdir = package_subdir / package_api_name +libhandy_header_dir = get_option('includedir') / libhandy_header_subdir +libhandy_resources = gnome.compile_resources( + 'hdy-resources', + 'handy.gresources.xml', + + c_name: 'hdy', +) + +hdy_public_enum_headers = [ + 'hdy-deck.h', + 'hdy-header-bar.h', + 'hdy-header-group.h', + 'hdy-leaflet.h', + 'hdy-navigation-direction.h', + 'hdy-squeezer.h', + 'hdy-view-switcher.h', +] + +hdy_private_enum_headers = [ + 'hdy-stackable-box-private.h', +] + +version_data = configuration_data() +version_data.set('HDY_MAJOR_VERSION', handy_version_major) +version_data.set('HDY_MINOR_VERSION', handy_version_minor) +version_data.set('HDY_MICRO_VERSION', handy_version_micro) +version_data.set('HDY_VERSION', meson.project_version()) + +hdy_version_h = configure_file( + input: 'hdy-version.h.in', + output: 'hdy-version.h', + install_dir: libhandy_header_dir, + configuration: version_data) + +libhandy_generated_headers = [ +] + +install_headers(['handy.h'], + subdir: libhandy_header_subdir) + +# Filled out in the subdirs +libhandy_public_headers = [] +libhandy_public_sources = [] +libhandy_private_sources = [] + +hdy_public_enums = gnome.mkenums('hdy-enums', + h_template: 'hdy-enums.h.in', + c_template: 'hdy-enums.c.in', + sources: hdy_public_enum_headers, + install_header: true, + install_dir: libhandy_header_dir, +) + +hdy_private_enums = gnome.mkenums('hdy-enums-private', + h_template: 'hdy-enums-private.h.in', + c_template: 'hdy-enums-private.c.in', + sources: hdy_private_enum_headers, + install_header: false, +) + +libhandy_public_sources += [hdy_public_enums[0]] +libhandy_private_sources += [hdy_private_enums[0]] +libhandy_generated_headers += [hdy_public_enums[1]] + +src_headers = [ + 'hdy-action-row.h', + 'hdy-animation.h', + 'hdy-application-window.h', + 'hdy-avatar.h', + 'hdy-carousel.h', + 'hdy-carousel-indicator-dots.h', + 'hdy-carousel-indicator-lines.h', + 'hdy-clamp.h', + 'hdy-combo-row.h', + 'hdy-deck.h', + 'hdy-deprecation-macros.h', + 'hdy-enum-value-object.h', + 'hdy-expander-row.h', + 'hdy-header-bar.h', + 'hdy-header-group.h', + 'hdy-keypad.h', + 'hdy-leaflet.h', + 'hdy-main.h', + 'hdy-navigation-direction.h', + 'hdy-preferences-group.h', + 'hdy-preferences-page.h', + 'hdy-preferences-row.h', + 'hdy-preferences-window.h', + 'hdy-search-bar.h', + 'hdy-squeezer.h', + 'hdy-swipe-group.h', + 'hdy-swipe-tracker.h', + 'hdy-swipeable.h', + 'hdy-title-bar.h', + 'hdy-types.h', + 'hdy-value-object.h', + 'hdy-view-switcher.h', + 'hdy-view-switcher-bar.h', + 'hdy-view-switcher-title.h', + 'hdy-window.h', + 'hdy-window-handle.h', +] + +sed = find_program('sed', required: true) +gen_public_types = find_program('gen-public-types.sh', required: true) + +libhandy_init_public_types = custom_target('hdy-public-types.c', + output: 'hdy-public-types.c', + input: [src_headers, libhandy_generated_headers], + command: [gen_public_types, '@INPUT@'], + capture: true, +) + +src_sources = [ + 'gtkprogresstracker.c', + 'gtk-window.c', + 'hdy-action-row.c', + 'hdy-animation.c', + 'hdy-application-window.c', + 'hdy-avatar.c', + 'hdy-carousel.c', + 'hdy-carousel-box.c', + 'hdy-carousel-indicator-dots.c', + 'hdy-carousel-indicator-lines.c', + 'hdy-clamp.c', + 'hdy-combo-row.c', + 'hdy-css.c', + 'hdy-deck.c', + 'hdy-enum-value-object.c', + 'hdy-expander-row.c', + 'hdy-header-bar.c', + 'hdy-header-group.c', + 'hdy-keypad-button.c', + 'hdy-keypad.c', + 'hdy-leaflet.c', + 'hdy-main.c', + 'hdy-navigation-direction.c', + 'hdy-nothing.c', + 'hdy-preferences-group.c', + 'hdy-preferences-page.c', + 'hdy-preferences-row.c', + 'hdy-preferences-window.c', + 'hdy-search-bar.c', + 'hdy-shadow-helper.c', + 'hdy-squeezer.c', + 'hdy-stackable-box.c', + 'hdy-swipe-group.c', + 'hdy-swipe-tracker.c', + 'hdy-swipeable.c', + 'hdy-title-bar.c', + 'hdy-value-object.c', + 'hdy-view-switcher.c', + 'hdy-view-switcher-bar.c', + 'hdy-view-switcher-button.c', + 'hdy-view-switcher-title.c', + 'hdy-window.c', + 'hdy-window-handle.c', + 'hdy-window-handle-controller.c', + 'hdy-window-mixin.c', +] + +libhandy_public_headers += files(src_headers) +libhandy_public_sources += files(src_sources) + +install_headers(src_headers, subdir: libhandy_header_subdir) + + +libhandy_sources = [ + libhandy_generated_headers, + libhandy_public_sources, + libhandy_private_sources, + libhandy_resources, + libhandy_init_public_types, +] + +glib_min_version = '>= 2.44' + +libhandy_deps = [ + dependency('glib-2.0', version: glib_min_version), + dependency('gio-2.0', version: glib_min_version), + dependency('gmodule-2.0', version: glib_min_version), + dependency('gtk+-3.0', version: '>= 3.24.1'), + cc.find_library('m', required: false), + cc.find_library('rt', required: false), +] + +libhandy_c_args = [ + '-DG_LOG_DOMAIN="Handy"', +] + +config_h = configuration_data() +config_h.set_quoted('GETTEXT_PACKAGE', 'libhandy') +config_h.set_quoted('LOCALEDIR', get_option('prefix') / get_option('localedir')) + +# Symbol visibility +if target_system == 'windows' + config_h.set('DLL_EXPORT', true) + config_h.set('_HDY_EXTERN', '__declspec(dllexport) extern') + if cc.get_id() != 'msvc' + libhandy_c_args += ['-fvisibility=hidden'] + endif +else + config_h.set('_HDY_EXTERN', '__attribute__((visibility("default"))) extern') + libhandy_c_args += ['-fvisibility=hidden'] +endif + +configure_file( + output: 'config.h', + configuration: config_h, +) + +libhandy_link_args = [] +libhandy_symbols_file = 'libhandy.syms' + +# Check linker flags +ld_version_script_arg = '-Wl,--version-script,@0@/@1@'.format(meson.source_root(), + libhandy_symbols_file) +if cc.links('int main() { return 0; }', args : ld_version_script_arg, name : 'ld_supports_version_script') + libhandy_link_args += [ld_version_script_arg] +endif + +# set default libdir on win32 for libhandy target to keep MinGW compatibility +if target_system == 'windows' + handy_libdir = [true] +else + handy_libdir = libdir +endif + +libhandy = shared_library( + 'handy-' + apiversion, + libhandy_sources, + + soversion: soversion, + c_args: libhandy_c_args, + dependencies: libhandy_deps, + include_directories: [ root_inc, src_inc ], + install: true, + link_args: libhandy_link_args, + install_dir: handy_libdir, +) + +libhandy_dep = declare_dependency( + sources: libhandy_generated_headers, + dependencies: libhandy_deps, + link_with: libhandy, + include_directories: include_directories('.'), +) + +if introspection + + libhandy_gir_extra_args = [ + '--c-include=handy.h', + '--quiet', + '-DHANDY_COMPILATION', + ] + + libhandy_gir = gnome.generate_gir(libhandy, + sources: libhandy_generated_headers + libhandy_public_headers + libhandy_public_sources, + nsversion: apiversion, + namespace: 'Handy', + export_packages: package_api_name, + symbol_prefix: 'hdy', + identifier_prefix: 'Hdy', + link_with: libhandy, + includes: ['Gio-2.0', 'Gtk-3.0'], + install: true, + install_dir_gir: girdir, + install_dir_typelib: typelibdir, + extra_args: libhandy_gir_extra_args, + ) + + if get_option('vapi') + + libhandy_vapi = gnome.generate_vapi(package_api_name, + sources: libhandy_gir[0], + packages: [ 'gio-2.0', 'gtk+-3.0' ], + install: true, + install_dir: vapidir, + metadata_dirs: [ meson.current_source_dir() ], + ) + + endif +endif + +pkgg = import('pkgconfig') + +pkgg.generate( + libraries: [libhandy], + subdirs: libhandy_header_subdir, + version: meson.project_version(), + name: 'Handy', + filebase: package_api_name, + description: 'Handy Mobile widgets', + requires: 'gtk+-3.0', + install_dir: libdir / 'pkgconfig', +) diff --git a/subprojects/libhandy/src/themes/Adwaita-dark.css b/subprojects/libhandy/src/themes/Adwaita-dark.css new file mode 100644 index 00000000..74fe5885 --- /dev/null +++ b/subprojects/libhandy/src/themes/Adwaita-dark.css @@ -0,0 +1,199 @@ +/*************************** Check and Radio buttons * */ +row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } + +row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } + +row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } + +row.expander { background-color: transparent; } + +row.expander list.nested > row { background-color: alpha(#353535, 0.5); border-color: alpha(#1b1b1b, 0.7); border-style: solid; border-width: 1px 0px 0px 0px; } + +row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } + +row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } + +row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } + +row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } + +row.expander:checked image.expander-row-arrow:not(:disabled) { color: #15539e; } + +row.expander image.expander-row-arrow:disabled { color: #919190; } + +deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.24); } + +deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: rgba(0, 0, 0, 0.2); } + +deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } + +deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: rgba(255, 255, 255, 0.05); } + +avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } + +avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } + +avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } + +avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } + +avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } + +avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } + +avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } + +avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } + +avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } + +avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } + +avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } + +avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } + +avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } + +avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } + +avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } + +avatar.contrasted { color: #fff; } + +avatar.image { background: none; } + +viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } + +/*************************** Check and Radio buttons * */ +popover.combo list { min-width: 200px; } + +window.csd.unified:not(.solid-csd) headerbar { border-radius: 0; } + +.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } + +popover.combo { padding: 0px; } + +popover.combo list { border-style: none; background-color: transparent; } + +popover.combo list > row { padding: 0px 12px 0px 12px; min-height: 50px; } + +popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(#1b1b1b, 0.5); } + +popover.combo list > row:first-child { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo list > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo overshoot.top { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo overshoot.bottom { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } + +popover.combo scrollbar.vertical:dir(ltr) { border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical:dir(rtl) { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; } + +row.expander { padding: 0px; } + +row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } + +row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } + +keypad .digit { font-size: 200%; font-weight: bold; } + +keypad .letters { font-size: 70%; } + +keypad .symbol { font-size: 160%; } + +viewswitcher, viewswitcher button { margin: 0; padding: 0; } + +viewswitcher button { border-radius: 0; border-top: 0; border-bottom: 0; box-shadow: none; font-size: 1rem; } + +viewswitcher button:not(:checked):not(:hover) { background: transparent; } + +viewswitcher button:not(:only-child):not(:last-child) { border-right-width: 0px; } + +viewswitcher button:not(only-child):first-child:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):not(:hover) { border-left-color: transparent; } + +viewswitcher button:not(only-child):last-child:not(:checked):not(:hover) { border-right-color: transparent; } + +viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: image(lighter(#353535)); } + +viewswitcher button:not(only-child):first-child:not(:checked):hover, viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: shade(#1b1b1b, 1.15); } + +viewswitcher button:not(only-child):last-child:not(:checked):hover { border-right-color: shade(#1b1b1b, 1.15); } + +viewswitcher button:not(:checked):hover:backdrop { background-image: image(#353535); } + +headerbar viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: linear-gradient(to top, shade(alpha(#353535, 0.7), 0.99) 2px, alpha(#353535, 0.7)); } + +headerbar viewswitcher button:not(:checked):not(only-child):first-child:hover, headerbar viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), headerbar viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: #1b1b1b; } + +headerbar viewswitcher button:not(:checked):not(only-child):last-child:hover { border-right-color: #1b1b1b; } + +headerbar viewswitcher button:not(:checked):hover:backdrop { background-image: image(#353535); } + +viewswitcher button > stack > box.narrow { font-size: 0.75rem; padding-top: 7px; padding-bottom: 5px; } + +viewswitcher button > stack > box.narrow image, viewswitcher button > stack > box.narrow label { padding-left: 8px; padding-right: 8px; } + +viewswitcher button > stack > box.wide { padding: 8px 12px; } + +viewswitcher button > stack > box.wide label:dir(ltr) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(rtl) { padding-left: 7px; } + +viewswitcher button > stack > box label.active { font-weight: bold; } + +viewswitcher button.needs-attention:active > stack > box label, viewswitcher button.needs-attention:checked > stack > box label { animation: none; background-image: none; } + +viewswitcher button.needs-attention > stack > box label { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#3584e4), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(255, 255, 255, 0.769231)), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 0px, right 1px; } + +viewswitcher button.needs-attention > stack > box label:backdrop { background-size: 6px 6px, 0 0; } + +viewswitcher button.needs-attention > stack > box label:dir(rtl) { background-position: left 0px, left 1px; } + +viewswitcherbar actionbar > revealer > box { padding: 0; } + +list.content, list.content list { background-color: transparent; } + +list.content list.nested > row:not(:active):not(:hover):not(:selected), list.content list.nested > row:not(:active):hover:not(.activatable):not(:selected) { background-color: mix(#353535, #2d2d2d, 0.5); } + +list.content list.nested > row.activatable:not(:active):hover:not(:selected) { background-color: mix(#eeeeec, #2d2d2d, 0.95); } + +list.content > row:not(.expander):not(:active):not(:hover):not(:selected), list.content > row:not(.expander):not(:active):hover:not(.activatable):not(:selected), list.content > row.expander row.header:not(:active):not(:hover):not(:selected), list.content > row.expander row.header:not(:active):hover:not(.activatable):not(:selected) { background-color: #2d2d2d; } + +list.content > row.activatable:not(.expander):not(:active):hover:not(:selected), list.content > row.expander row.header.activatable:not(:active):hover:not(:selected) { background-color: mix(#eeeeec, #2d2d2d, 0.95); } + +list.content > row, list.content > row list > row { border-color: alpha(#1b1b1b, 0.7); border-style: solid; transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +list.content > row:not(:last-child) { border-width: 1px 1px 0px 1px; } + +list.content > row:first-child, list.content > row.expander:first-child row.header, list.content > row.expander:checked, list.content > row.expander:checked row.header, list.content > row.expander:checked + row, list.content > row.expander:checked + row.expander row.header { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +list.content > row:last-child, list.content > row.checked-expander-row-previous-sibling, list.content > row.expander:checked { border-width: 1px; } + +list.content > row:last-child, list.content > row.checked-expander-row-previous-sibling, list.content > row.expander:checked, list.content > row.expander:not(:checked):last-child row.header, list.content > row.expander.checked-expander-row-previous-sibling:not(:checked) row.header, list.content > row.expander.empty:checked row.header, list.content > row.expander list.nested > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +list.content > row.expander:checked:not(:first-child), list.content > row.expander:checked + row { margin-top: 6px; } + +button.list-button:not(:active):not(:checked):not(:hover) { background: none; border: 1px solid alpha(#1b1b1b, 0.5); box-shadow: none; } + +window.csd.unified:not(.solid-csd):not(.fullscreen) headerbar { box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + +window.csd.unified:not(.solid-csd):not(.fullscreen) headerbar.selection-mode { box-shadow: none; } + +window.csd.unified:not(.solid-csd):not(.fullscreen) > decoration-overlay { box-shadow: inset 0 1px rgba(255, 255, 255, 0.065); } + +window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized), window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration, window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration-overlay { border-radius: 8px; } diff --git a/subprojects/libhandy/src/themes/Adwaita-dark.scss b/subprojects/libhandy/src/themes/Adwaita-dark.scss new file mode 100644 index 00000000..918f4891 --- /dev/null +++ b/subprojects/libhandy/src/themes/Adwaita-dark.scss @@ -0,0 +1,5 @@ +$variant: 'dark'; +$high_contrast: false; + +@import 'colors'; +@import 'Adwaita-base'; diff --git a/subprojects/libhandy/src/themes/Adwaita.css b/subprojects/libhandy/src/themes/Adwaita.css new file mode 100644 index 00000000..1e3ec685 --- /dev/null +++ b/subprojects/libhandy/src/themes/Adwaita.css @@ -0,0 +1,199 @@ +/*************************** Check and Radio buttons * */ +row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } + +row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } + +row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } + +row.expander { background-color: transparent; } + +row.expander list.nested > row { background-color: alpha(#f6f5f4, 0.5); border-color: alpha(#cdc7c2, 0.7); border-style: solid; border-width: 1px 0px 0px 0px; } + +row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } + +row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } + +row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } + +row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } + +row.expander:checked image.expander-row-arrow:not(:disabled) { color: #3584e4; } + +row.expander image.expander-row-arrow:disabled { color: #929595; } + +deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.12); } + +deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: rgba(0, 0, 0, 0.05); } + +deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } + +deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: rgba(255, 255, 255, 0.2); } + +avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } + +avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } + +avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } + +avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } + +avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } + +avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } + +avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } + +avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } + +avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } + +avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } + +avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } + +avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } + +avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } + +avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } + +avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } + +avatar.contrasted { color: #fff; } + +avatar.image { background: none; } + +viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } + +/*************************** Check and Radio buttons * */ +popover.combo list { min-width: 200px; } + +window.csd.unified:not(.solid-csd) headerbar { border-radius: 0; } + +.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } + +popover.combo { padding: 0px; } + +popover.combo list { border-style: none; background-color: transparent; } + +popover.combo list > row { padding: 0px 12px 0px 12px; min-height: 50px; } + +popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(#cdc7c2, 0.5); } + +popover.combo list > row:first-child { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo list > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo overshoot.top { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo overshoot.bottom { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } + +popover.combo scrollbar.vertical:dir(ltr) { border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical:dir(rtl) { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; } + +row.expander { padding: 0px; } + +row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } + +row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } + +keypad .digit { font-size: 200%; font-weight: bold; } + +keypad .letters { font-size: 70%; } + +keypad .symbol { font-size: 160%; } + +viewswitcher, viewswitcher button { margin: 0; padding: 0; } + +viewswitcher button { border-radius: 0; border-top: 0; border-bottom: 0; box-shadow: none; font-size: 1rem; } + +viewswitcher button:not(:checked):not(:hover) { background: transparent; } + +viewswitcher button:not(:only-child):not(:last-child) { border-right-width: 0px; } + +viewswitcher button:not(only-child):first-child:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):not(:hover) { border-left-color: transparent; } + +viewswitcher button:not(only-child):last-child:not(:checked):not(:hover) { border-right-color: transparent; } + +viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: image(lighter(#f6f5f4)); } + +viewswitcher button:not(only-child):first-child:not(:checked):hover, viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: shade(#cdc7c2, 1.15); } + +viewswitcher button:not(only-child):last-child:not(:checked):hover { border-right-color: shade(#cdc7c2, 1.15); } + +viewswitcher button:not(:checked):hover:backdrop { background-image: image(#f6f5f4); } + +headerbar viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: linear-gradient(to top, shade(alpha(#f6f5f4, 0.7), 0.96) 2px, alpha(#f6f5f4, 0.7)); } + +headerbar viewswitcher button:not(:checked):not(only-child):first-child:hover, headerbar viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), headerbar viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: #cdc7c2; } + +headerbar viewswitcher button:not(:checked):not(only-child):last-child:hover { border-right-color: #cdc7c2; } + +headerbar viewswitcher button:not(:checked):hover:backdrop { background-image: image(#f6f5f4); } + +viewswitcher button > stack > box.narrow { font-size: 0.75rem; padding-top: 7px; padding-bottom: 5px; } + +viewswitcher button > stack > box.narrow image, viewswitcher button > stack > box.narrow label { padding-left: 8px; padding-right: 8px; } + +viewswitcher button > stack > box.wide { padding: 8px 12px; } + +viewswitcher button > stack > box.wide label:dir(ltr) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(rtl) { padding-left: 7px; } + +viewswitcher button > stack > box label.active { font-weight: bold; } + +viewswitcher button.needs-attention:active > stack > box label, viewswitcher button.needs-attention:checked > stack > box label { animation: none; background-image: none; } + +viewswitcher button.needs-attention > stack > box label { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#3584e4), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(255, 255, 255, 0.769231)), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 0px, right 1px; } + +viewswitcher button.needs-attention > stack > box label:backdrop { background-size: 6px 6px, 0 0; } + +viewswitcher button.needs-attention > stack > box label:dir(rtl) { background-position: left 0px, left 1px; } + +viewswitcherbar actionbar > revealer > box { padding: 0; } + +list.content, list.content list { background-color: transparent; } + +list.content list.nested > row:not(:active):not(:hover):not(:selected), list.content list.nested > row:not(:active):hover:not(.activatable):not(:selected) { background-color: mix(#f6f5f4, #ffffff, 0.5); } + +list.content list.nested > row.activatable:not(:active):hover:not(:selected) { background-color: mix(#2e3436, #ffffff, 0.95); } + +list.content > row:not(.expander):not(:active):not(:hover):not(:selected), list.content > row:not(.expander):not(:active):hover:not(.activatable):not(:selected), list.content > row.expander row.header:not(:active):not(:hover):not(:selected), list.content > row.expander row.header:not(:active):hover:not(.activatable):not(:selected) { background-color: #ffffff; } + +list.content > row.activatable:not(.expander):not(:active):hover:not(:selected), list.content > row.expander row.header.activatable:not(:active):hover:not(:selected) { background-color: mix(#2e3436, #ffffff, 0.95); } + +list.content > row, list.content > row list > row { border-color: alpha(#cdc7c2, 0.7); border-style: solid; transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +list.content > row:not(:last-child) { border-width: 1px 1px 0px 1px; } + +list.content > row:first-child, list.content > row.expander:first-child row.header, list.content > row.expander:checked, list.content > row.expander:checked row.header, list.content > row.expander:checked + row, list.content > row.expander:checked + row.expander row.header { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +list.content > row:last-child, list.content > row.checked-expander-row-previous-sibling, list.content > row.expander:checked { border-width: 1px; } + +list.content > row:last-child, list.content > row.checked-expander-row-previous-sibling, list.content > row.expander:checked, list.content > row.expander:not(:checked):last-child row.header, list.content > row.expander.checked-expander-row-previous-sibling:not(:checked) row.header, list.content > row.expander.empty:checked row.header, list.content > row.expander list.nested > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +list.content > row.expander:checked:not(:first-child), list.content > row.expander:checked + row { margin-top: 6px; } + +button.list-button:not(:active):not(:checked):not(:hover) { background: none; border: 1px solid alpha(#cdc7c2, 0.5); box-shadow: none; } + +window.csd.unified:not(.solid-csd):not(.fullscreen) headerbar { box-shadow: inset 0 1px rgba(255, 255, 255, 0.7); } + +window.csd.unified:not(.solid-csd):not(.fullscreen) headerbar.selection-mode { box-shadow: none; } + +window.csd.unified:not(.solid-csd):not(.fullscreen) > decoration-overlay { box-shadow: inset 0 1px rgba(255, 255, 255, 0.34); } + +window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized), window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration, window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration-overlay { border-radius: 8px; } diff --git a/subprojects/libhandy/src/themes/Adwaita.scss b/subprojects/libhandy/src/themes/Adwaita.scss new file mode 100644 index 00000000..5ded9f66 --- /dev/null +++ b/subprojects/libhandy/src/themes/Adwaita.scss @@ -0,0 +1,5 @@ +$variant: 'light'; +$high_contrast: false; + +@import 'colors'; +@import 'Adwaita-base'; diff --git a/subprojects/libhandy/src/themes/HighContrast.css b/subprojects/libhandy/src/themes/HighContrast.css new file mode 100644 index 00000000..2cadd949 --- /dev/null +++ b/subprojects/libhandy/src/themes/HighContrast.css @@ -0,0 +1,199 @@ +/*************************** Check and Radio buttons * */ +row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } + +row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } + +row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } + +row.expander { background-color: transparent; } + +row.expander list.nested > row { background-color: alpha(#fdfdfc, 0.5); border-color: alpha(#877b6e, 0.7); border-style: solid; border-width: 1px 0px 0px 0px; } + +row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } + +row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } + +row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } + +row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } + +row.expander:checked image.expander-row-arrow:not(:disabled) { color: #1b6acb; } + +row.expander image.expander-row-arrow:disabled { color: #929495; } + +deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.12); } + +deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: #877b6e; } + +deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } + +deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: transparent; } + +avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } + +avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } + +avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } + +avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } + +avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } + +avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } + +avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } + +avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } + +avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } + +avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } + +avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } + +avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } + +avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } + +avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } + +avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } + +avatar.contrasted { color: #fff; } + +avatar.image { background: none; } + +viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } + +/*************************** Check and Radio buttons * */ +popover.combo list { min-width: 200px; } + +window.csd.unified:not(.solid-csd) headerbar { border-radius: 0; } + +.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } + +popover.combo { padding: 0px; } + +popover.combo list { border-style: none; background-color: transparent; } + +popover.combo list > row { padding: 0px 12px 0px 12px; min-height: 50px; } + +popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(#877b6e, 0.5); } + +popover.combo list > row:first-child { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo list > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo overshoot.top { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo overshoot.bottom { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } + +popover.combo scrollbar.vertical:dir(ltr) { border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical:dir(rtl) { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; } + +row.expander { padding: 0px; } + +row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } + +row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } + +keypad .digit { font-size: 200%; font-weight: bold; } + +keypad .letters { font-size: 70%; } + +keypad .symbol { font-size: 160%; } + +viewswitcher, viewswitcher button { margin: 0; padding: 0; } + +viewswitcher button { border-radius: 0; border-top: 0; border-bottom: 0; box-shadow: none; font-size: 1rem; } + +viewswitcher button:not(:checked):not(:hover) { background: transparent; } + +viewswitcher button:not(:only-child):not(:last-child) { border-right-width: 0px; } + +viewswitcher button:not(only-child):first-child:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):not(:hover) { border-left-color: transparent; } + +viewswitcher button:not(only-child):last-child:not(:checked):not(:hover) { border-right-color: transparent; } + +viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: image(lighter(#fdfdfc)); } + +viewswitcher button:not(only-child):first-child:not(:checked):hover, viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: shade(#877b6e, 1.15); } + +viewswitcher button:not(only-child):last-child:not(:checked):hover { border-right-color: shade(#877b6e, 1.15); } + +viewswitcher button:not(:checked):hover:backdrop { background-image: image(#fdfdfc); } + +headerbar viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: linear-gradient(to top, shade(alpha(#fdfdfc, 0.7), 0.96) 2px, alpha(#fdfdfc, 0.7)); } + +headerbar viewswitcher button:not(:checked):not(only-child):first-child:hover, headerbar viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), headerbar viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: #877b6e; } + +headerbar viewswitcher button:not(:checked):not(only-child):last-child:hover { border-right-color: #877b6e; } + +headerbar viewswitcher button:not(:checked):hover:backdrop { background-image: image(#fdfdfc); } + +viewswitcher button > stack > box.narrow { font-size: 0.75rem; padding-top: 7px; padding-bottom: 5px; } + +viewswitcher button > stack > box.narrow image, viewswitcher button > stack > box.narrow label { padding-left: 8px; padding-right: 8px; } + +viewswitcher button > stack > box.wide { padding: 8px 12px; } + +viewswitcher button > stack > box.wide label:dir(ltr) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(rtl) { padding-left: 7px; } + +viewswitcher button > stack > box label.active { font-weight: bold; } + +viewswitcher button.needs-attention:active > stack > box label, viewswitcher button.needs-attention:checked > stack > box label { animation: none; background-image: none; } + +viewswitcher button.needs-attention > stack > box label { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#3584e4), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(255, 255, 255, 0.769231)), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 0px, right 1px; } + +viewswitcher button.needs-attention > stack > box label:backdrop { background-size: 6px 6px, 0 0; } + +viewswitcher button.needs-attention > stack > box label:dir(rtl) { background-position: left 0px, left 1px; } + +viewswitcherbar actionbar > revealer > box { padding: 0; } + +list.content, list.content list { background-color: transparent; } + +list.content list.nested > row:not(:active):not(:hover):not(:selected), list.content list.nested > row:not(:active):hover:not(.activatable):not(:selected) { background-color: mix(#fdfdfc, #ffffff, 0.5); } + +list.content list.nested > row.activatable:not(:active):hover:not(:selected) { background-color: mix(#272c2e, #ffffff, 0.95); } + +list.content > row:not(.expander):not(:active):not(:hover):not(:selected), list.content > row:not(.expander):not(:active):hover:not(.activatable):not(:selected), list.content > row.expander row.header:not(:active):not(:hover):not(:selected), list.content > row.expander row.header:not(:active):hover:not(.activatable):not(:selected) { background-color: #ffffff; } + +list.content > row.activatable:not(.expander):not(:active):hover:not(:selected), list.content > row.expander row.header.activatable:not(:active):hover:not(:selected) { background-color: mix(#272c2e, #ffffff, 0.95); } + +list.content > row, list.content > row list > row { border-color: alpha(#877b6e, 0.7); border-style: solid; transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +list.content > row:not(:last-child) { border-width: 1px 1px 0px 1px; } + +list.content > row:first-child, list.content > row.expander:first-child row.header, list.content > row.expander:checked, list.content > row.expander:checked row.header, list.content > row.expander:checked + row, list.content > row.expander:checked + row.expander row.header { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +list.content > row:last-child, list.content > row.checked-expander-row-previous-sibling, list.content > row.expander:checked { border-width: 1px; } + +list.content > row:last-child, list.content > row.checked-expander-row-previous-sibling, list.content > row.expander:checked, list.content > row.expander:not(:checked):last-child row.header, list.content > row.expander.checked-expander-row-previous-sibling:not(:checked) row.header, list.content > row.expander.empty:checked row.header, list.content > row.expander list.nested > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +list.content > row.expander:checked:not(:first-child), list.content > row.expander:checked + row { margin-top: 6px; } + +button.list-button:not(:active):not(:checked):not(:hover) { background: none; border: 1px solid alpha(#877b6e, 0.5); box-shadow: none; } + +window.csd.unified:not(.solid-csd):not(.fullscreen) headerbar { box-shadow: inset 0 1px rgba(255, 255, 255, 0.7); } + +window.csd.unified:not(.solid-csd):not(.fullscreen) headerbar.selection-mode { box-shadow: none; } + +window.csd.unified:not(.solid-csd):not(.fullscreen) > decoration-overlay { box-shadow: inset 0 1px rgba(255, 255, 255, 0.34); } + +window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized), window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration, window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration-overlay { border-radius: 8px; } diff --git a/subprojects/libhandy/src/themes/HighContrast.scss b/subprojects/libhandy/src/themes/HighContrast.scss new file mode 100644 index 00000000..44564284 --- /dev/null +++ b/subprojects/libhandy/src/themes/HighContrast.scss @@ -0,0 +1,6 @@ +$variant: 'light'; +$high_contrast: true; + +@import 'colors'; +@import 'colors-hc'; +@import 'Adwaita-base'; diff --git a/subprojects/libhandy/src/themes/HighContrastInverse.css b/subprojects/libhandy/src/themes/HighContrastInverse.css new file mode 100644 index 00000000..d1951f8a --- /dev/null +++ b/subprojects/libhandy/src/themes/HighContrastInverse.css @@ -0,0 +1,199 @@ +/*************************** Check and Radio buttons * */ +row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } + +row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } + +row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } + +row.expander { background-color: transparent; } + +row.expander list.nested > row { background-color: alpha(#303030, 0.5); border-color: alpha(#686868, 0.7); border-style: solid; border-width: 1px 0px 0px 0px; } + +row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } + +row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } + +row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } + +row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } + +row.expander:checked image.expander-row-arrow:not(:disabled) { color: #0f3b71; } + +row.expander image.expander-row-arrow:disabled { color: #919191; } + +deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.24); } + +deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: #686868; } + +deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } + +deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.02) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.06), rgba(0, 0, 0, 0.02) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: transparent; } + +avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } + +avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } + +avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } + +avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } + +avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } + +avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } + +avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } + +avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } + +avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } + +avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } + +avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } + +avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } + +avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } + +avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } + +avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } + +avatar.contrasted { color: #fff; } + +avatar.image { background: none; } + +viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } + +/*************************** Check and Radio buttons * */ +popover.combo list { min-width: 200px; } + +window.csd.unified:not(.solid-csd) headerbar { border-radius: 0; } + +.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } + +popover.combo { padding: 0px; } + +popover.combo list { border-style: none; background-color: transparent; } + +popover.combo list > row { padding: 0px 12px 0px 12px; min-height: 50px; } + +popover.combo list > row:not(:last-child) { border-bottom: 1px solid alpha(#686868, 0.5); } + +popover.combo list > row:first-child { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo list > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo overshoot.top { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +popover.combo overshoot.bottom { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical { padding-top: 2px; padding-bottom: 2px; } + +popover.combo scrollbar.vertical:dir(ltr) { border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +popover.combo scrollbar.vertical:dir(rtl) { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; } + +row.expander { padding: 0px; } + +row.expander image.expander-row-arrow:dir(ltr) { margin-left: 6px; } + +row.expander image.expander-row-arrow:dir(rtl) { margin-right: 6px; } + +keypad .digit { font-size: 200%; font-weight: bold; } + +keypad .letters { font-size: 70%; } + +keypad .symbol { font-size: 160%; } + +viewswitcher, viewswitcher button { margin: 0; padding: 0; } + +viewswitcher button { border-radius: 0; border-top: 0; border-bottom: 0; box-shadow: none; font-size: 1rem; } + +viewswitcher button:not(:checked):not(:hover) { background: transparent; } + +viewswitcher button:not(:only-child):not(:last-child) { border-right-width: 0px; } + +viewswitcher button:not(only-child):first-child:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):not(:hover) { border-left-color: transparent; } + +viewswitcher button:not(only-child):last-child:not(:checked):not(:hover) { border-right-color: transparent; } + +viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: image(lighter(#303030)); } + +viewswitcher button:not(only-child):first-child:not(:checked):hover, viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: shade(#686868, 1.15); } + +viewswitcher button:not(only-child):last-child:not(:checked):hover { border-right-color: shade(#686868, 1.15); } + +viewswitcher button:not(:checked):hover:backdrop { background-image: image(#303030); } + +headerbar viewswitcher button:not(:checked):hover:not(:backdrop) { background-image: linear-gradient(to top, shade(alpha(#303030, 0.7), 0.99) 2px, alpha(#303030, 0.7)); } + +headerbar viewswitcher button:not(:checked):not(only-child):first-child:hover, headerbar viewswitcher button:not(:checked):hover + button:not(:checked):not(:hover), headerbar viewswitcher button:not(:checked):not(:hover) + button:not(:checked):hover { border-left-color: #686868; } + +headerbar viewswitcher button:not(:checked):not(only-child):last-child:hover { border-right-color: #686868; } + +headerbar viewswitcher button:not(:checked):hover:backdrop { background-image: image(#303030); } + +viewswitcher button > stack > box.narrow { font-size: 0.75rem; padding-top: 7px; padding-bottom: 5px; } + +viewswitcher button > stack > box.narrow image, viewswitcher button > stack > box.narrow label { padding-left: 8px; padding-right: 8px; } + +viewswitcher button > stack > box.wide { padding: 8px 12px; } + +viewswitcher button > stack > box.wide label:dir(ltr) { padding-right: 7px; } + +viewswitcher button > stack > box.wide label:dir(rtl) { padding-left: 7px; } + +viewswitcher button > stack > box label.active { font-weight: bold; } + +viewswitcher button.needs-attention:active > stack > box label, viewswitcher button.needs-attention:checked > stack > box label { animation: none; background-image: none; } + +viewswitcher button.needs-attention > stack > box label { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#3584e4), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(255, 255, 255, 0.769231)), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 0px, right 1px; } + +viewswitcher button.needs-attention > stack > box label:backdrop { background-size: 6px 6px, 0 0; } + +viewswitcher button.needs-attention > stack > box label:dir(rtl) { background-position: left 0px, left 1px; } + +viewswitcherbar actionbar > revealer > box { padding: 0; } + +list.content, list.content list { background-color: transparent; } + +list.content list.nested > row:not(:active):not(:hover):not(:selected), list.content list.nested > row:not(:active):hover:not(.activatable):not(:selected) { background-color: mix(#303030, #2d2d2d, 0.5); } + +list.content list.nested > row.activatable:not(:active):hover:not(:selected) { background-color: mix(#f3f3f1, #2d2d2d, 0.95); } + +list.content > row:not(.expander):not(:active):not(:hover):not(:selected), list.content > row:not(.expander):not(:active):hover:not(.activatable):not(:selected), list.content > row.expander row.header:not(:active):not(:hover):not(:selected), list.content > row.expander row.header:not(:active):hover:not(.activatable):not(:selected) { background-color: #2d2d2d; } + +list.content > row.activatable:not(.expander):not(:active):hover:not(:selected), list.content > row.expander row.header.activatable:not(:active):hover:not(:selected) { background-color: mix(#f3f3f1, #2d2d2d, 0.95); } + +list.content > row, list.content > row list > row { border-color: alpha(#686868, 0.7); border-style: solid; transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +list.content > row:not(:last-child) { border-width: 1px 1px 0px 1px; } + +list.content > row:first-child, list.content > row.expander:first-child row.header, list.content > row.expander:checked, list.content > row.expander:checked row.header, list.content > row.expander:checked + row, list.content > row.expander:checked + row.expander row.header { border-top-left-radius: 8px; -gtk-outline-top-left-radius: 7px; border-top-right-radius: 8px; -gtk-outline-top-right-radius: 7px; } + +list.content > row:last-child, list.content > row.checked-expander-row-previous-sibling, list.content > row.expander:checked { border-width: 1px; } + +list.content > row:last-child, list.content > row.checked-expander-row-previous-sibling, list.content > row.expander:checked, list.content > row.expander:not(:checked):last-child row.header, list.content > row.expander.checked-expander-row-previous-sibling:not(:checked) row.header, list.content > row.expander.empty:checked row.header, list.content > row.expander list.nested > row:last-child { border-bottom-left-radius: 8px; -gtk-outline-bottom-left-radius: 7px; border-bottom-right-radius: 8px; -gtk-outline-bottom-right-radius: 7px; } + +list.content > row.expander:checked:not(:first-child), list.content > row.expander:checked + row { margin-top: 6px; } + +button.list-button:not(:active):not(:checked):not(:hover) { background: none; border: 1px solid alpha(#686868, 0.5); box-shadow: none; } + +window.csd.unified:not(.solid-csd):not(.fullscreen) headerbar { box-shadow: inset 0 1px rgba(255, 255, 255, 0); } + +window.csd.unified:not(.solid-csd):not(.fullscreen) headerbar.selection-mode { box-shadow: none; } + +window.csd.unified:not(.solid-csd):not(.fullscreen) > decoration-overlay { box-shadow: inset 0 1px rgba(255, 255, 255, 0.065); } + +window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized), window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration, window.csd.unified:not(.solid-csd):not(.fullscreen):not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) > decoration-overlay { border-radius: 8px; } diff --git a/subprojects/libhandy/src/themes/HighContrastInverse.scss b/subprojects/libhandy/src/themes/HighContrastInverse.scss new file mode 100644 index 00000000..a49c0e1e --- /dev/null +++ b/subprojects/libhandy/src/themes/HighContrastInverse.scss @@ -0,0 +1,6 @@ +$variant: 'dark'; +$high_contrast: true; + +@import 'colors'; +@import 'colors-hc'; +@import 'Adwaita-base'; diff --git a/subprojects/libhandy/src/themes/_Adwaita-base.scss b/subprojects/libhandy/src/themes/_Adwaita-base.scss new file mode 100644 index 00000000..cc0b7542 --- /dev/null +++ b/subprojects/libhandy/src/themes/_Adwaita-base.scss @@ -0,0 +1,336 @@ +// Include base styling. +@import 'fallback-base'; +@import 'shared-base'; + +// HdyComboRow + +popover.combo { + padding: 0px; + + list { + border-style: none; + background-color: transparent; + + > row { + padding: 0px 12px 0px 12px; + min-height: 50px; + + &:not(:last-child) { + border-bottom: 1px solid hdyalpha($borders_color, 0.5) + } + + &:first-child { + @include rounded-border(top); + } + + &:last-child { + @include rounded-border(bottom); + } + } + } + + @each $border in top, bottom { + overshoot.#{$border} { + @include rounded-border($border); + } + } + + scrollbar.vertical { + padding-top: 2px; + padding-bottom: 2px; + + &:dir(ltr) { + @include rounded-border(right); + } + + &:dir(rtl) { + @include rounded-border(left); + } + } +} + +// HdyExpanderRow + +row.expander { + padding: 0px; + + image.expander-row-arrow { + @include margin-start(6px); + } +} + +// HdyKeypad + +keypad { + .digit { + font-size: 200%; + font-weight: bold; + } + + .letters { + font-size: 70%; + } + + .symbol { + font-size: 160%; + } +} + +// HdyViewSwitcher + +viewswitcher { + &, & button { + margin: 0; + padding: 0; + } + + button { + border-radius: 0; + border-top: 0; + border-bottom: 0; + box-shadow: none; + font-size: 1rem; + + &:not(:checked):not(:hover) { + background: transparent; + } + + &:not(:only-child):not(:last-child) { + border-right-width: 0px; + } + + &:not(only-child):first-child:not(:checked):not(:hover), + &:not(:checked):not(:hover) + button:not(:checked):not(:hover) { + border-left-color: transparent; + } + + &:not(only-child):last-child:not(:checked):not(:hover) { + border-right-color: transparent; + } + + &:not(:checked):hover:not(:backdrop) { + background-image: image(lighter($bg_color)); + } + + &:not(only-child):first-child:not(:checked):hover, + &:not(:checked):hover + button:not(:checked):not(:hover), + &:not(:checked):not(:hover) + button:not(:checked):hover { + border-left-color: shade($borders_color, 1.15); + } + + &:not(only-child):last-child:not(:checked):hover { + border-right-color: shade($borders_color, 1.15); + } + + &:not(:checked):hover:backdrop { + background-image: image($bg_color); + } + + // View switcher in a header bar + headerbar &:not(:checked) { + &:hover:not(:backdrop) { + // Reimplementation of $button_fill from Adwaita. The colors are made + // only 70% visible to avoid the highlight to be too strong. + $c: hdyalpha($bg_color, 0.7); + $button_fill: if($variant == 'light', linear-gradient(to top, shade($c, 0.96) 2px, $c), + linear-gradient(to top, shade($c, 0.99) 2px, $c)) !global; + background-image: $button_fill; + } + + &:not(only-child):first-child:hover, + &:hover + button:not(:checked):not(:hover), + &:not(:hover) + button:not(:checked):hover { + border-left-color: $borders_color; + } + + &:not(only-child):last-child:hover { + border-right-color: $borders_color; + } + + &:hover:backdrop { + background-image: image($bg_color); + } + } + + // View switcher button + > stack > box { + &.narrow { + font-size: 0.75rem; + padding-top: 7px; + padding-bottom: 5px; + + image, + label { + padding-left: 8px; + padding-right: 8px; + } + } + + &.wide { + padding: 8px 12px; + + label { + &:dir(ltr) { + padding-right: 7px; + } + + &:dir(rtl) { + padding-left: 7px; + } + } + } + + label.active { + font-weight: bold; + } + } + + &.needs-attention { + &:active > stack > box label, + &:checked > stack > box label { + animation: none; + background-image: none; + } + + > stack > box label { + animation: needs_attention 150ms ease-in; + background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#3584e4), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(255, 255, 255, 0.769231)), to(transparent)); + background-size: 6px 6px, 6px 6px; + background-repeat: no-repeat; + background-position: right 0px, right 1px; + + &:backdrop { + background-size: 6px 6px, 0 0; + } + + &:dir(rtl) { + background-position: left 0px, left 1px; + } + } + } + } +} + +// HdyViewSwitcherBar + +viewswitcherbar actionbar > revealer > box { + padding: 0; +} + +// Content list + +list.content { + &, + list { + background-color: transparent; + } + + // Nested rows background + list.nested > row:not(:active) { + &:not(:hover):not(:selected), + &:hover:not(.activatable):not(:selected) { + background-color: hdymix($bg_color, $base_color, 0.5); + } + + &:hover.activatable:not(:selected) { + background-color: hdymix($fg_color, $base_color, 0.95); + } + } + + > row { + // Regular rows and expander header rows background + &:not(.expander):not(:active):not(:hover):not(:selected), + &:not(.expander):not(:active):hover:not(.activatable):not(:selected), + &.expander row.header:not(:active):not(:hover):not(:selected), + &.expander row.header:not(:active):hover:not(.activatable):not(:selected) { + background-color: $base_color; + } + + &:not(.expander):not(:active):hover.activatable:not(:selected), + &.expander row.header:not(:active):hover.activatable:not(:selected) { + background-color: hdymix($fg_color, $base_color, 0.95); + } + + &, + list > row { + border-color: hdyalpha($borders_color, 0.7); + border-style: solid; + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + } + + // Top border + &:not(:last-child) { + border-width: 1px 1px 0px 1px; + } + + // Rounded top + &:first-child, + &.expander:first-child row.header, + &.expander:checked, + &.expander:checked row.header, + &.expander:checked + row, + &.expander:checked + row.expander row.header { + @include rounded-border(top); + } + + // Bottom border + &:last-child, + &.checked-expander-row-previous-sibling, + &.expander:checked { + border-width: 1px; + } + + // Rounded bottom + &:last-child, + &.checked-expander-row-previous-sibling, + &.expander:checked, + &.expander:not(:checked):last-child row.header, + &.expander:not(:checked).checked-expander-row-previous-sibling row.header, + &.expander.empty:checked row.header, + &.expander list.nested > row:last-child { + @include rounded-border(bottom); + } + + // Add space around expanded rows + &.expander:checked:not(:first-child), + &.expander:checked + row { + margin-top: 6px; + } + } +} + +// List button + +button.list-button:not(:active):not(:checked):not(:hover) { + background: none; + border: 1px solid hdyalpha($borders_color, 0.5); + box-shadow: none; +} + +// Unified window + +window.csd.unified:not(.solid-csd):not(.fullscreen) { + // Remove the sheen on headerbar... + headerbar { + box-shadow: inset 0 1px rgba(255, 255, 255, if($variant == 'light', 0.7, 0)); + + &.selection-mode { + box-shadow: none; + } + } + + // ...and add it on the window itself + > decoration-overlay { + // Use a white sheen instead of @borders, as it has to be neutral enough + // for any content and not just headerbar background + box-shadow: inset 0 1px rgba(255, 255, 255, if($variant == 'light', 0.34, 0.065)); + } + + &:not(.tiled):not(.tiled-top):not(.tiled-bottom):not(.tiled-left):not(.tiled-right):not(.maximized) { + &, + > decoration, + > decoration-overlay { + border-radius: 8px; + } + } +} diff --git a/subprojects/libhandy/src/themes/_definitions.scss b/subprojects/libhandy/src/themes/_definitions.scss new file mode 100644 index 00000000..ed427a4c --- /dev/null +++ b/subprojects/libhandy/src/themes/_definitions.scss @@ -0,0 +1,66 @@ +@import 'drawing'; + +@function hdyalpha($c, $a) { + @return unquote("alpha(#{$c}, #{$a})"); +} + +@function hdymix($c1, $c2, $r) { + @return unquote("mix(#{$c1}, #{$c2}, #{$r})"); +} + +$leaflet_dimming: rgba(0, 0, 0, if($variant == 'light', 0.12, 0.24)); +$leaflet_border: rgba(0, 0, 0, if($variant == 'light', 0.05, 0.2)); +$leaflet_outline: rgba(255, 255, 255, if($variant == 'light', 0.2, 0.05)); + +@if $high_contrast { + $leaflet_border: $borders_color; + $leaflet_outline: transparent; +} + +@mixin background-shadow($direction) { + background-image: + linear-gradient($direction, + rgba(0, 0, 0, if($variant == 'light', 0.05, 0.1)), + rgba(0, 0, 0, if($variant == 'light', 0.01, 0.02)) 40px, + rgba(0, 0, 0, 0) 56px), + linear-gradient($direction, + rgba(0, 0, 0, if($variant == 'light', 0.03, 0.06)), + rgba(0, 0, 0, if($variant == 'light', 0.01, 0.02)) 7px, + rgba(0, 0, 0, 0) 24px); +} + +// Makes the corners of the given border rounded. +// $border must be top, bottom, left, or right. +@mixin rounded-border($border) { + // The floors (top, bottom) and walls (left, right) of the corners matching + // $border. This is needed to easily form floor-wall pairs regardless of + // whether $border is a floor or a wall. + $corners: ( + 'top': (('top'), ('left', 'right')), + 'bottom': (('bottom'), ('left', 'right')), + 'left': (('top', 'bottom'), ('left')), + 'right': (('top', 'bottom'), ('right')), + ); + + @if not map-get($corners, $border) { + @error "Unknown border type: #{$border}"; + } + + // Loop through the floors and walls of the corners of $border. + @each $floor in nth(map-get($corners, $border), 1) { + @each $wall in nth(map-get($corners, $border), 2) { + border-#{$floor}-#{$wall}-radius: 8px; + -gtk-outline-#{$floor}-#{$wall}-radius: 7px; + } + } +} + +@mixin margin-start($margin) { + &:dir(ltr) { + margin-left: $margin; + } + + &:dir(rtl) { + margin-right: $margin; + } +} diff --git a/subprojects/libhandy/src/themes/_fallback-base.scss b/subprojects/libhandy/src/themes/_fallback-base.scss new file mode 100644 index 00000000..b0a93e7c --- /dev/null +++ b/subprojects/libhandy/src/themes/_fallback-base.scss @@ -0,0 +1,148 @@ +@import 'definitions'; + +// HdyActionRow + +row { + label.subtitle { + font-size: smaller; + opacity: 0.55; + text-shadow: none; + } + + > box.header { + margin-left: 12px; + margin-right: 12px; + min-height: 50px; + + > box.title { + margin-top: 8px; + margin-bottom: 8px; + } + } +} + +// HdyExpanderRow + +row.expander { + // Drop transparent background on expander rows to let nested rows handle it, + // avoiding double highlights. + background-color: transparent; + + list.nested > row { + background-color: hdyalpha($bg_color, 0.5); + border-color: hdyalpha($borders_color, 0.7); + border-style: solid; + border-width: 1px 0px 0px 0px; + } + + // HdyExpanderRow arrow rotation + + image.expander-row-arrow { + transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); + } + + &:checked image.expander-row-arrow { + -gtk-icon-transform: rotate(0turn); + } + + &:not(:checked) image.expander-row-arrow { + opacity: 0.55; + text-shadow: none; + + &:dir(ltr) { + -gtk-icon-transform: rotate(-0.25turn); + } + + &:dir(rtl) { + -gtk-icon-transform: rotate(0.25turn); + } + } + + &:checked image.expander-row-arrow:not(:disabled) { + color: $selected_bg_color; + } + + & image.expander-row-arrow:disabled { + color: $insensitive_fg_color; + } +} + +// Shadows + +deck, +leaflet { + > dimming { + background: $leaflet_dimming; + } + + > border { + min-width: 1px; + min-height: 1px; + background: $leaflet_border; + } + + > shadow { + min-width: 56px; + min-height: 56px; + + &.left { @include background-shadow(to right); } + &.right { @include background-shadow(to left); } + &.up { @include background-shadow(to bottom); } + &.down { @include background-shadow(to top); } + } + + > outline { + min-width: 1px; + min-height: 1px; + background: $leaflet_outline; + } +} + +// Avatar + +avatar { + border-radius: 9999px; + -gtk-outline-radius: 9999px; + font-weight: bold; + + // The list of colors to generate avatars. + // Each avatar color is represented by a font color, a gradient start color and a gradient stop color. + // There are 8 different colors for avtars in the list if you change the number of them you + // need to update the NUMBER_OF_COLORS in src/hdy-avatar.c. + // The 2D list has this form: ((font-color, gradient-top-color, gradient-bottom-color)). + $avatarcolorlist: ( + (#cfe1f5, #83b6ec, #337fdc), // blue + (#caeaf2, #7ad9f1, #0f9ac8), // cyan + (#cef8d8, #8de6b1, #29ae74), // green + (#e6f9d7, #b5e98a, #6ab85b), // lime + (#f9f4e1, #f8e359, #d29d09), // yellow + (#ffead1, #ffcb62, #d68400), // gold + (#ffe5c5, #ffa95a, #ed5b00), // orange + (#f8d2ce, #f78773, #e62d42), // raspberry + (#fac7de, #e973ab, #e33b6a), // magenta + (#e7c2e8, #cb78d4, #9945b5), // purple + (#d5d2f5, #9e91e8, #7a59ca), // violet + (#f2eade, #e3cf9c, #b08952), // beige + (#e5d6ca, #be916d, #785336), // brown + (#d8d7d3, #c0bfbc, #6e6d71), // gray + ); + + @for $i from 1 through length($avatarcolorlist) { + &.color#{$i} { + $avatarcolor: nth($avatarcolorlist, $i); + background-image: linear-gradient(nth($avatarcolor, 2), nth($avatarcolor, 3)); + color: nth($avatarcolor, 1); + } + } + + &.contrasted { color: #fff; } + + &.image { background: none; } +} + +// HdyViewSwitcherTitle + +viewswitchertitle viewswitcher { + margin-left: 12px; + margin-right: 12px; +} diff --git a/subprojects/libhandy/src/themes/_shared-base.scss b/subprojects/libhandy/src/themes/_shared-base.scss new file mode 100644 index 00000000..6fec1a0a --- /dev/null +++ b/subprojects/libhandy/src/themes/_shared-base.scss @@ -0,0 +1,21 @@ +@import 'definitions'; + +// HdyComboRow + +popover.combo list { + min-width: 200px; +} + +window.csd.unified:not(.solid-csd) { + // Since corners are masked, there's no need for round corners anymore + headerbar { + border-radius: 0; + } +} + +.windowhandle { + &, & * { + // This is the most reliable way to enable window dragging + -GtkWidget-window-dragging: true; + } +} diff --git a/subprojects/libhandy/src/themes/fallback.css b/subprojects/libhandy/src/themes/fallback.css new file mode 100644 index 00000000..94eda289 --- /dev/null +++ b/subprojects/libhandy/src/themes/fallback.css @@ -0,0 +1,76 @@ +/*************************** Check and Radio buttons * */ +row label.subtitle { font-size: smaller; opacity: 0.55; text-shadow: none; } + +row > box.header { margin-left: 12px; margin-right: 12px; min-height: 50px; } + +row > box.header > box.title { margin-top: 8px; margin-bottom: 8px; } + +row.expander { background-color: transparent; } + +row.expander list.nested > row { background-color: alpha(#f6f5f4, 0.5); border-color: alpha(#cdc7c2, 0.7); border-style: solid; border-width: 1px 0px 0px 0px; } + +row.expander image.expander-row-arrow { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); } + +row.expander:checked image.expander-row-arrow { -gtk-icon-transform: rotate(0turn); } + +row.expander:not(:checked) image.expander-row-arrow { opacity: 0.55; text-shadow: none; } + +row.expander:not(:checked) image.expander-row-arrow:dir(ltr) { -gtk-icon-transform: rotate(-0.25turn); } + +row.expander:not(:checked) image.expander-row-arrow:dir(rtl) { -gtk-icon-transform: rotate(0.25turn); } + +row.expander:checked image.expander-row-arrow:not(:disabled) { color: #3584e4; } + +row.expander image.expander-row-arrow:disabled { color: #929595; } + +deck > dimming, leaflet > dimming { background: rgba(0, 0, 0, 0.12); } + +deck > border, leaflet > border { min-width: 1px; min-height: 1px; background: rgba(0, 0, 0, 0.05); } + +deck > shadow, leaflet > shadow { min-width: 56px; min-height: 56px; } + +deck > shadow.left, leaflet > shadow.left { background-image: linear-gradient(to right, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to right, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.right, leaflet > shadow.right { background-image: linear-gradient(to left, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to left, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.up, leaflet > shadow.up { background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to bottom, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > shadow.down, leaflet > shadow.down { background-image: linear-gradient(to top, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.01) 40px, rgba(0, 0, 0, 0) 56px), linear-gradient(to top, rgba(0, 0, 0, 0.03), rgba(0, 0, 0, 0.01) 7px, rgba(0, 0, 0, 0) 24px); } + +deck > outline, leaflet > outline { min-width: 1px; min-height: 1px; background: rgba(255, 255, 255, 0.2); } + +avatar { border-radius: 9999px; -gtk-outline-radius: 9999px; font-weight: bold; } + +avatar.color1 { background-image: linear-gradient(#83b6ec, #337fdc); color: #cfe1f5; } + +avatar.color2 { background-image: linear-gradient(#7ad9f1, #0f9ac8); color: #caeaf2; } + +avatar.color3 { background-image: linear-gradient(#8de6b1, #29ae74); color: #cef8d8; } + +avatar.color4 { background-image: linear-gradient(#b5e98a, #6ab85b); color: #e6f9d7; } + +avatar.color5 { background-image: linear-gradient(#f8e359, #d29d09); color: #f9f4e1; } + +avatar.color6 { background-image: linear-gradient(#ffcb62, #d68400); color: #ffead1; } + +avatar.color7 { background-image: linear-gradient(#ffa95a, #ed5b00); color: #ffe5c5; } + +avatar.color8 { background-image: linear-gradient(#f78773, #e62d42); color: #f8d2ce; } + +avatar.color9 { background-image: linear-gradient(#e973ab, #e33b6a); color: #fac7de; } + +avatar.color10 { background-image: linear-gradient(#cb78d4, #9945b5); color: #e7c2e8; } + +avatar.color11 { background-image: linear-gradient(#9e91e8, #7a59ca); color: #d5d2f5; } + +avatar.color12 { background-image: linear-gradient(#e3cf9c, #b08952); color: #f2eade; } + +avatar.color13 { background-image: linear-gradient(#be916d, #785336); color: #e5d6ca; } + +avatar.color14 { background-image: linear-gradient(#c0bfbc, #6e6d71); color: #d8d7d3; } + +avatar.contrasted { color: #fff; } + +avatar.image { background: none; } + +viewswitchertitle viewswitcher { margin-left: 12px; margin-right: 12px; } diff --git a/subprojects/libhandy/src/themes/fallback.scss b/subprojects/libhandy/src/themes/fallback.scss new file mode 100644 index 00000000..d8a0985b --- /dev/null +++ b/subprojects/libhandy/src/themes/fallback.scss @@ -0,0 +1,5 @@ +$variant: 'light'; +$high_contrast: false; + +@import 'colors'; +@import 'fallback-base'; diff --git a/subprojects/libhandy/src/themes/parse-sass.sh b/subprojects/libhandy/src/themes/parse-sass.sh new file mode 100755 index 00000000..4238e88c --- /dev/null +++ b/subprojects/libhandy/src/themes/parse-sass.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +if [ ! "$(which sassc 2> /dev/null)" ]; then + echo sassc needs to be installed to generate the css. + exit 1 +fi + +if [ ! "$(which git 2> /dev/null)" ]; then + echo git needs to be installed to check GTK. + exit 1 +fi + +SASSC_OPT="-M -t compact" + +: ${GTK_SOURCE_PATH:="../../../gtk"} +: ${GTK_TAG:="3.24.21"} + +if [ ! -d "${GTK_SOURCE_PATH}/gtk/theme/Adwaita" ]; then + echo GTK sources not found at ${GTK_SOURCE_PATH}. + exit 1 +fi + +# > /dev/null makes pushd and popd silent. +pushd ${GTK_SOURCE_PATH} > /dev/null +GTK_CURRENT_TAG=`git describe --tags` +popd > /dev/null + +if [ "${GTK_CURRENT_TAG}" != "${GTK_TAG}" ]; then + echo GTK must be at tag ${GTK_TAG}. + exit 1 +fi + +sassc $SASSC_OPT -I${GTK_SOURCE_PATH}/gtk/theme/Adwaita \ + Adwaita.scss Adwaita.css +sassc $SASSC_OPT -I${GTK_SOURCE_PATH}/gtk/theme/Adwaita \ + Adwaita-dark.scss Adwaita-dark.css +sassc $SASSC_OPT -I${GTK_SOURCE_PATH}/gtk/theme/Adwaita \ + fallback.scss fallback.css +sassc $SASSC_OPT -I${GTK_SOURCE_PATH}/gtk/theme/Adwaita -I${GTK_SOURCE_PATH}/gtk/theme/HighContrast \ + HighContrast.scss HighContrast.css +sassc $SASSC_OPT -I${GTK_SOURCE_PATH}/gtk/theme/Adwaita -I${GTK_SOURCE_PATH}/gtk/theme/HighContrast \ + HighContrastInverse.scss HighContrastInverse.css +sassc $SASSC_OPT -I${GTK_SOURCE_PATH}/gtk/theme/Adwaita \ + shared.scss shared.css diff --git a/subprojects/libhandy/src/themes/shared.css b/subprojects/libhandy/src/themes/shared.css new file mode 100644 index 00000000..66f9ea88 --- /dev/null +++ b/subprojects/libhandy/src/themes/shared.css @@ -0,0 +1,6 @@ +/*************************** Check and Radio buttons * */ +popover.combo list { min-width: 200px; } + +window.csd.unified:not(.solid-csd) headerbar { border-radius: 0; } + +.windowhandle, .windowhandle * { -GtkWidget-window-dragging: true; } diff --git a/subprojects/libhandy/src/themes/shared.scss b/subprojects/libhandy/src/themes/shared.scss new file mode 100644 index 00000000..86f64b03 --- /dev/null +++ b/subprojects/libhandy/src/themes/shared.scss @@ -0,0 +1,5 @@ +$variant: 'light'; +$high_contrast: false; + +@import 'colors'; +@import 'shared-base'; diff --git a/subprojects/libhandy/tests/meson.build b/subprojects/libhandy/tests/meson.build new file mode 100644 index 00000000..c80e96e7 --- /dev/null +++ b/subprojects/libhandy/tests/meson.build @@ -0,0 +1,59 @@ +if get_option('tests') + +test_env = [ + 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), + 'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()), + 'G_DEBUG=gc-friendly,fatal-warnings', + 'GSETTINGS_BACKEND=memory', + 'PYTHONDONTWRITEBYTECODE=yes', + 'MALLOC_CHECK_=2', +] + +test_cflags = [ + '-DHDY_LOG_DOMAIN="Handy"', + '-DTEST_DATA_DIR="@0@/data"'.format(meson.current_source_dir()), +] + +test_link_args = [ + '-fPIC', +] + +test_names = [ + 'test-action-row', + 'test-application-window', + 'test-avatar', + 'test-carousel', + 'test-carousel-indicator-dots', + 'test-carousel-indicator-lines', + 'test-combo-row', + 'test-deck', + 'test-expander-row', + 'test-header-bar', + 'test-header-group', + 'test-keypad', + 'test-leaflet', + 'test-preferences-group', + 'test-preferences-page', + 'test-preferences-row', + 'test-preferences-window', + 'test-search-bar', + 'test-squeezer', + 'test-swipe-group', + 'test-value-object', + 'test-view-switcher', + 'test-view-switcher-bar', + 'test-window', + 'test-window-handle', +] + +foreach test_name : test_names + t = executable(test_name, [test_name + '.c'] + libhandy_generated_headers, + c_args: test_cflags, + link_args: test_link_args, + dependencies: libhandy_deps + [libhandy_dep], + pie: true, + ) + test(test_name, t, env: test_env) +endforeach + +endif diff --git a/subprojects/libhandy/tests/test-action-row.c b/subprojects/libhandy/tests/test-action-row.c new file mode 100644 index 00000000..b6ae3c6d --- /dev/null +++ b/subprojects/libhandy/tests/test-action-row.c @@ -0,0 +1,129 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + +gint activated; + +static void +activated_cb (GtkWidget *widget, gpointer data) +{ + activated++; +} + + +static void +test_hdy_action_row_add (void) +{ + g_autoptr (HdyActionRow) row = NULL; + GtkWidget *sw; + + row = g_object_ref_sink (HDY_ACTION_ROW (hdy_action_row_new ())); + g_assert_nonnull (row); + + sw = gtk_switch_new (); + g_assert_nonnull (sw); + + gtk_container_add (GTK_CONTAINER (row), sw); +} + + +static void +test_hdy_action_row_add_prefix (void) +{ + g_autoptr (HdyActionRow) row = NULL; + GtkWidget *radio; + + row = g_object_ref_sink (HDY_ACTION_ROW (hdy_action_row_new ())); + g_assert_nonnull (row); + + radio = gtk_radio_button_new (NULL); + g_assert_nonnull (radio); + + hdy_action_row_add_prefix (row, radio); +} + + +static void +test_hdy_action_row_subtitle (void) +{ + g_autoptr (HdyActionRow) row = NULL; + + row = g_object_ref_sink (HDY_ACTION_ROW (hdy_action_row_new ())); + g_assert_nonnull (row); + + g_assert_cmpstr (hdy_action_row_get_subtitle (row), ==, ""); + + hdy_action_row_set_subtitle (row, "Dummy subtitle"); + g_assert_cmpstr (hdy_action_row_get_subtitle (row), ==, "Dummy subtitle"); +} + + +static void +test_hdy_action_row_icon_name (void) +{ + g_autoptr (HdyActionRow) row = NULL; + + row = g_object_ref_sink (HDY_ACTION_ROW (hdy_action_row_new ())); + g_assert_nonnull (row); + + g_assert_null (hdy_action_row_get_icon_name (row)); + + hdy_action_row_set_icon_name (row, "dummy-icon-name"); + g_assert_cmpstr (hdy_action_row_get_icon_name (row), ==, "dummy-icon-name"); +} + + +static void +test_hdy_action_row_use_undeline (void) +{ + g_autoptr (HdyActionRow) row = NULL; + + row = g_object_ref_sink (HDY_ACTION_ROW (hdy_action_row_new ())); + g_assert_nonnull (row); + + g_assert_false (hdy_action_row_get_use_underline (row)); + + hdy_action_row_set_use_underline (row, TRUE); + g_assert_true (hdy_action_row_get_use_underline (row)); + + hdy_action_row_set_use_underline (row, FALSE); + g_assert_false (hdy_action_row_get_use_underline (row)); +} + + +static void +test_hdy_action_row_activate (void) +{ + g_autoptr (HdyActionRow) row = NULL; + + row = g_object_ref_sink (HDY_ACTION_ROW (hdy_action_row_new ())); + g_assert_nonnull (row); + + activated = 0; + g_signal_connect (row, "activated", G_CALLBACK (activated_cb), NULL); + + hdy_action_row_activate (row); + g_assert_cmpint (activated, ==, 1); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/ActionRow/add", test_hdy_action_row_add); + g_test_add_func("/Handy/ActionRow/add_prefix", test_hdy_action_row_add_prefix); + g_test_add_func("/Handy/ActionRow/subtitle", test_hdy_action_row_subtitle); + g_test_add_func("/Handy/ActionRow/icon_name", test_hdy_action_row_icon_name); + g_test_add_func("/Handy/ActionRow/use_underline", test_hdy_action_row_use_undeline); + g_test_add_func("/Handy/ActionRow/activate", test_hdy_action_row_activate); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-application-window.c b/subprojects/libhandy/tests/test-application-window.c new file mode 100644 index 00000000..a745de6e --- /dev/null +++ b/subprojects/libhandy/tests/test-application-window.c @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_application_window_new (void) +{ + g_autoptr (GtkWidget) window = NULL; + + window = g_object_ref_sink (hdy_application_window_new ()); + g_assert_nonnull (window); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/ApplicationWindow/new", test_hdy_application_window_new); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-avatar.c b/subprojects/libhandy/tests/test-avatar.c new file mode 100644 index 00000000..6ee6ef56 --- /dev/null +++ b/subprojects/libhandy/tests/test-avatar.c @@ -0,0 +1,219 @@ +/* + * Copyright (C) 2020 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + +#define TEST_ICON_NAME "avatar-default-symbolic" +#define TEST_STRING "Mario Rossi" +#define TEST_SIZE 128 + + +gint load_image_func_count; + +static gboolean +is_surface_empty (cairo_surface_t *surface) +{ + unsigned char * data; + guint length; + + cairo_surface_flush (surface); + data = cairo_image_surface_get_data (surface); + length = cairo_image_surface_get_width (surface) * cairo_image_surface_get_height (surface); + + for (int i = 0; i < length; i++) { + if (data[i] != 0) + return FALSE; + } + return TRUE; +} + +static GdkPixbuf * +load_null_image_func (gint size, + gpointer data) +{ + load_image_func_count++; + return NULL; +} + +static GdkPixbuf * +load_image_func (gint size, + GdkRGBA *color) +{ + GdkPixbuf *pixbuf; + cairo_surface_t *surface; + cairo_t *cr; + + load_image_func_count++; + + surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, size, size); + cr = cairo_create (surface); + if (color != NULL) { + gdk_cairo_set_source_rgba (cr, color); + cairo_paint (cr); + } + pixbuf = gdk_pixbuf_get_from_surface (surface, 0, 0, size, size); + + cairo_surface_destroy (surface); + cairo_destroy (cr); + return pixbuf; +} + + +static void +map_event_cb (GtkWidget *widget, GdkEvent *event, cairo_surface_t **surface) +{ + cairo_t *cr; + + g_assert (surface != NULL); + + *surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, TEST_SIZE, TEST_SIZE); + cr = cairo_create (*surface); + gtk_widget_draw (widget, cr); + cairo_destroy (cr); + gtk_main_quit (); +} + + +static gboolean +did_draw_something (GtkWidget *widget) +{ + GtkWidget *window; + gboolean empty; + cairo_surface_t *surface; + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + + gtk_widget_set_events (widget, GDK_STRUCTURE_MASK); + g_signal_connect (widget, "map-event", G_CALLBACK (map_event_cb), &surface); + + gtk_window_resize (GTK_WINDOW (window), TEST_SIZE, TEST_SIZE); + gtk_container_add (GTK_CONTAINER (window), widget); + + gtk_widget_show (widget); + gtk_widget_show (window); + + gtk_main (); + + g_assert (surface); + g_assert (cairo_surface_status (surface) == CAIRO_STATUS_SUCCESS); + empty = is_surface_empty (surface); + + cairo_surface_destroy (surface); + gtk_widget_destroy (window); + + return !empty; +} + + +static void +test_hdy_avatar_generate (void) +{ + GtkWidget *avatar = hdy_avatar_new (TEST_SIZE, "", TRUE); + g_assert (HDY_IS_AVATAR (avatar)); + + g_assert_true (did_draw_something (GTK_WIDGET (avatar))); +} + + +static void +test_hdy_avatar_icon_name (void) +{ + HdyAvatar *avatar = HDY_AVATAR (hdy_avatar_new (128, NULL, TRUE)); + + g_assert_null (hdy_avatar_get_icon_name (avatar)); + hdy_avatar_set_icon_name (avatar, TEST_ICON_NAME); + g_assert_cmpstr (hdy_avatar_get_icon_name (avatar), ==, TEST_ICON_NAME); + + g_assert_true (did_draw_something (GTK_WIDGET (avatar))); +} + +static void +test_hdy_avatar_text (void) +{ + HdyAvatar *avatar = HDY_AVATAR (hdy_avatar_new (128, NULL, TRUE)); + + g_assert_null (hdy_avatar_get_text (avatar)); + hdy_avatar_set_text (avatar, TEST_STRING); + g_assert_cmpstr (hdy_avatar_get_text (avatar), ==, TEST_STRING); + + g_assert_true (did_draw_something (GTK_WIDGET (avatar))); +} + +static void +test_hdy_avatar_size (void) +{ + HdyAvatar *avatar = HDY_AVATAR (hdy_avatar_new (TEST_SIZE, NULL, TRUE)); + + g_assert_cmpint (hdy_avatar_get_size (avatar), ==, TEST_SIZE); + hdy_avatar_set_size (avatar, TEST_SIZE / 2); + g_assert_cmpint (hdy_avatar_get_size (avatar), ==, TEST_SIZE / 2); + + g_assert_true (did_draw_something (GTK_WIDGET (avatar))); +} + +static void +test_hdy_avatar_custom_image (void) +{ + GtkWidget *avatar; + GdkRGBA color; + + avatar = hdy_avatar_new (TEST_SIZE, NULL, TRUE); + + g_assert (HDY_IS_AVATAR (avatar)); + + load_image_func_count = 0; + + hdy_avatar_set_image_load_func (HDY_AVATAR (avatar), + (HdyAvatarImageLoadFunc) load_image_func, + NULL, + NULL); + + g_object_ref (avatar); + g_assert_false (did_draw_something (avatar)); + + hdy_avatar_set_image_load_func (HDY_AVATAR (avatar), + NULL, + NULL, + NULL); + + g_assert_true (did_draw_something (avatar)); + + gdk_rgba_parse (&color, "#F00"); + hdy_avatar_set_image_load_func (HDY_AVATAR (avatar), + (HdyAvatarImageLoadFunc) load_image_func, + &color, + NULL); + + g_assert_true (did_draw_something (avatar)); + + hdy_avatar_set_image_load_func (HDY_AVATAR (avatar), + (HdyAvatarImageLoadFunc) load_null_image_func, + NULL, + NULL); + + g_assert_true (did_draw_something (avatar)); + + g_assert_cmpint (load_image_func_count, ==, 3); + + g_object_unref (avatar); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func ("/Handy/Avatar/generate", test_hdy_avatar_generate); + g_test_add_func ("/Handy/Avatar/custom_image", test_hdy_avatar_custom_image); + g_test_add_func ("/Handy/Avatar/icon_name", test_hdy_avatar_icon_name); + g_test_add_func ("/Handy/Avatar/text", test_hdy_avatar_text); + g_test_add_func ("/Handy/Avatar/size", test_hdy_avatar_size); + + return g_test_run (); +} diff --git a/subprojects/libhandy/tests/test-carousel-indicator-dots.c b/subprojects/libhandy/tests/test-carousel-indicator-dots.c new file mode 100644 index 00000000..bd02d108 --- /dev/null +++ b/subprojects/libhandy/tests/test-carousel-indicator-dots.c @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + +gint notified; + +static void +notify_cb (GtkWidget *widget, gpointer data) +{ + notified++; +} + +static void +test_hdy_carousel_indicator_dots_carousel (void) +{ + g_autoptr (HdyCarouselIndicatorDots) dots = NULL; + HdyCarousel *carousel; + + dots = g_object_ref_sink (HDY_CAROUSEL_INDICATOR_DOTS (hdy_carousel_indicator_dots_new ())); + g_assert_nonnull (dots); + + notified = 0; + g_signal_connect (dots, "notify::carousel", G_CALLBACK (notify_cb), NULL); + + carousel = HDY_CAROUSEL (hdy_carousel_new ()); + g_assert_nonnull (carousel); + + g_assert_null (hdy_carousel_indicator_dots_get_carousel (dots)); + g_assert_cmpint (notified, ==, 0); + + hdy_carousel_indicator_dots_set_carousel (dots, carousel); + g_assert (hdy_carousel_indicator_dots_get_carousel (dots) == carousel); + g_assert_cmpint (notified, ==, 1); + + hdy_carousel_indicator_dots_set_carousel (dots, NULL); + g_assert_null (hdy_carousel_indicator_dots_get_carousel (dots)); + g_assert_cmpint (notified, ==, 2); +} + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/CarouselIndicatorDots/carousel", test_hdy_carousel_indicator_dots_carousel); + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-carousel-indicator-lines.c b/subprojects/libhandy/tests/test-carousel-indicator-lines.c new file mode 100644 index 00000000..dfccdd24 --- /dev/null +++ b/subprojects/libhandy/tests/test-carousel-indicator-lines.c @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + +gint notified; + +static void +notify_cb (GtkWidget *widget, gpointer data) +{ + notified++; +} + +static void +test_hdy_carousel_indicator_lines_carousel (void) +{ + g_autoptr (HdyCarouselIndicatorLines) lines = NULL; + HdyCarousel *carousel; + + lines = g_object_ref_sink (HDY_CAROUSEL_INDICATOR_LINES (hdy_carousel_indicator_lines_new ())); + g_assert_nonnull (lines); + + notified = 0; + g_signal_connect (lines, "notify::carousel", G_CALLBACK (notify_cb), NULL); + + carousel = HDY_CAROUSEL (hdy_carousel_new ()); + g_assert_nonnull (carousel); + + g_assert_null (hdy_carousel_indicator_lines_get_carousel (lines)); + g_assert_cmpint (notified, ==, 0); + + hdy_carousel_indicator_lines_set_carousel (lines, carousel); + g_assert (hdy_carousel_indicator_lines_get_carousel (lines) == carousel); + g_assert_cmpint (notified, ==, 1); + + hdy_carousel_indicator_lines_set_carousel (lines, NULL); + g_assert_null (hdy_carousel_indicator_lines_get_carousel (lines)); + g_assert_cmpint (notified, ==, 2); +} + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/CarouselInidicatorLines/carousel", test_hdy_carousel_indicator_lines_carousel); + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-carousel.c b/subprojects/libhandy/tests/test-carousel.c new file mode 100644 index 00000000..45b2fec9 --- /dev/null +++ b/subprojects/libhandy/tests/test-carousel.c @@ -0,0 +1,246 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + +gint notified; + +static void +notify_cb (GtkWidget *widget, gpointer data) +{ + notified++; +} + +static void +test_hdy_carousel_add_remove (void) +{ + HdyCarousel *carousel; + GtkWidget *child1, *child2, *child3; + + carousel = HDY_CAROUSEL (hdy_carousel_new ()); + + child1 = gtk_label_new (""); + child2 = gtk_label_new (""); + child3 = gtk_label_new (""); + + notified = 0; + g_signal_connect (carousel, "notify::n-pages", G_CALLBACK (notify_cb), NULL); + + g_assert_cmpuint (hdy_carousel_get_n_pages (carousel), ==, 0); + + gtk_container_add (GTK_CONTAINER (carousel), child1); + g_assert_cmpuint (hdy_carousel_get_n_pages (carousel), ==, 1); + g_assert_cmpint (notified, ==, 1); + + hdy_carousel_prepend (carousel, child2); + g_assert_cmpuint (hdy_carousel_get_n_pages (carousel), ==, 2); + g_assert_cmpint (notified, ==, 2); + + hdy_carousel_insert (carousel, child3, 1); + g_assert_cmpuint (hdy_carousel_get_n_pages (carousel), ==, 3); + g_assert_cmpint (notified, ==, 3); + + hdy_carousel_reorder (carousel, child3, 0); + g_assert_cmpuint (hdy_carousel_get_n_pages (carousel), ==, 3); + g_assert_cmpint (notified, ==, 3); + + gtk_container_remove (GTK_CONTAINER (carousel), child2); + g_assert_cmpuint (hdy_carousel_get_n_pages (carousel), ==, 2); + g_assert_cmpint (notified, ==, 4); + + gtk_container_remove (GTK_CONTAINER (carousel), child1); + g_assert_cmpuint (hdy_carousel_get_n_pages (carousel), ==, 1); + g_assert_cmpint (notified, ==, 5); + + gtk_container_remove (GTK_CONTAINER (carousel), child3); + g_assert_cmpuint (hdy_carousel_get_n_pages (carousel), ==, 0); + g_assert_cmpint (notified, ==, 6); + + g_object_unref (carousel); +} + +static void +test_hdy_carousel_scroll_to (void) +{ + HdyCarousel *carousel; + GtkWidget *child1, *child2, *child3; + + carousel = HDY_CAROUSEL (hdy_carousel_new ()); + + child1 = gtk_label_new (""); + child2 = gtk_label_new (""); + child3 = gtk_label_new (""); + + notified = 0; + g_signal_connect (carousel, "notify::position", G_CALLBACK (notify_cb), NULL); + + gtk_container_add (GTK_CONTAINER (carousel), child1); + gtk_container_add (GTK_CONTAINER (carousel), child2); + gtk_container_add (GTK_CONTAINER (carousel), child3); + + /* Since tests are done synchronously, avoid animations */ + hdy_carousel_set_animation_duration (carousel, 0); + + g_assert_cmpfloat(hdy_carousel_get_position (carousel), ==, 0); + g_assert_cmpint (notified, ==, 0); + + hdy_carousel_scroll_to (carousel, child3); + g_assert_cmpfloat(hdy_carousel_get_position (carousel), ==, 2); + g_assert_cmpint (notified, ==, 1); + + hdy_carousel_scroll_to (carousel, child2); + g_assert_cmpfloat(hdy_carousel_get_position (carousel), ==, 1); + g_assert_cmpint (notified, ==, 2); + + g_object_unref (carousel); +} + +static void +test_hdy_carousel_interactive (void) +{ + HdyCarousel *carousel = HDY_CAROUSEL (hdy_carousel_new ()); + gboolean interactive; + + notified = 0; + g_signal_connect (carousel, "notify::interactive", G_CALLBACK (notify_cb), NULL); + + /* Accessors */ + g_assert_true (hdy_carousel_get_interactive (carousel)); + hdy_carousel_set_interactive (carousel, FALSE); + g_assert_false (hdy_carousel_get_interactive (carousel)); + g_assert_cmpint (notified, ==, 1); + + /* Property */ + g_object_set (carousel, "interactive", TRUE, NULL); + g_object_get (carousel, "interactive", &interactive, NULL); + g_assert_true (interactive); + g_assert_cmpint (notified, ==, 2); + + /* Setting the same value should not notify */ + hdy_carousel_set_interactive (carousel, TRUE); + g_assert_cmpint (notified, ==, 2); +} + +static void +test_hdy_carousel_spacing (void) +{ + HdyCarousel *carousel = HDY_CAROUSEL (hdy_carousel_new ()); + guint spacing; + + notified = 0; + g_signal_connect (carousel, "notify::spacing", G_CALLBACK (notify_cb), NULL); + + /* Accessors */ + g_assert_cmpuint (hdy_carousel_get_spacing (carousel), ==, 0); + hdy_carousel_set_spacing (carousel, 12); + g_assert_cmpuint (hdy_carousel_get_spacing (carousel), ==, 12); + g_assert_cmpint (notified, ==, 1); + + /* Property */ + g_object_set (carousel, "spacing", 6, NULL); + g_object_get (carousel, "spacing", &spacing, NULL); + g_assert_cmpuint (spacing, ==, 6); + g_assert_cmpint (notified, ==, 2); + + /* Setting the same value should not notify */ + hdy_carousel_set_spacing (carousel, 6); + g_assert_cmpint (notified, ==, 2); +} + +static void +test_hdy_carousel_animation_duration (void) +{ + HdyCarousel *carousel = HDY_CAROUSEL (hdy_carousel_new ()); + guint duration; + + notified = 0; + g_signal_connect (carousel, "notify::animation-duration", G_CALLBACK (notify_cb), NULL); + + /* Accessors */ + g_assert_cmpuint (hdy_carousel_get_animation_duration (carousel), ==, 250); + hdy_carousel_set_animation_duration (carousel, 200); + g_assert_cmpuint (hdy_carousel_get_animation_duration (carousel), ==, 200); + g_assert_cmpint (notified, ==, 1); + + /* Property */ + g_object_set (carousel, "animation-duration", 500, NULL); + g_object_get (carousel, "animation-duration", &duration, NULL); + g_assert_cmpuint (duration, ==, 500); + g_assert_cmpint (notified, ==, 2); + + /* Setting the same value should not notify */ + hdy_carousel_set_animation_duration (carousel, 500); + g_assert_cmpint (notified, ==, 2); +} + +static void +test_hdy_carousel_allow_mouse_drag (void) +{ + HdyCarousel *carousel = HDY_CAROUSEL (hdy_carousel_new ()); + gboolean allow_mouse_drag; + + notified = 0; + g_signal_connect (carousel, "notify::allow-mouse-drag", G_CALLBACK (notify_cb), NULL); + + /* Accessors */ + g_assert_true (hdy_carousel_get_allow_mouse_drag (carousel)); + hdy_carousel_set_allow_mouse_drag (carousel, FALSE); + g_assert_false (hdy_carousel_get_allow_mouse_drag (carousel)); + g_assert_cmpint (notified, ==, 1); + + /* Property */ + g_object_set (carousel, "allow-mouse-drag", TRUE, NULL); + g_object_get (carousel, "allow-mouse-drag", &allow_mouse_drag, NULL); + g_assert_true (allow_mouse_drag); + g_assert_cmpint (notified, ==, 2); + + /* Setting the same value should not notify */ + hdy_carousel_set_allow_mouse_drag (carousel, TRUE); + g_assert_cmpint (notified, ==, 2); +} + +static void +test_hdy_carousel_reveal_duration (void) +{ + HdyCarousel *carousel = HDY_CAROUSEL (hdy_carousel_new ()); + guint duration; + + notified = 0; + g_signal_connect (carousel, "notify::reveal-duration", G_CALLBACK (notify_cb), NULL); + + /* Accessors */ + g_assert_cmpuint (hdy_carousel_get_reveal_duration (carousel), ==, 0); + hdy_carousel_set_reveal_duration (carousel, 200); + g_assert_cmpuint (hdy_carousel_get_reveal_duration (carousel), ==, 200); + g_assert_cmpint (notified, ==, 1); + + /* Property */ + g_object_set (carousel, "reveal-duration", 500, NULL); + g_object_get (carousel, "reveal-duration", &duration, NULL); + g_assert_cmpuint (duration, ==, 500); + g_assert_cmpint (notified, ==, 2); + + /* Setting the same value should not notify */ + hdy_carousel_set_reveal_duration (carousel, 500); + g_assert_cmpint (notified, ==, 2); +} + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/Carousel/add_remove", test_hdy_carousel_add_remove); + g_test_add_func("/Handy/Carousel/scroll_to", test_hdy_carousel_scroll_to); + g_test_add_func("/Handy/Carousel/interactive", test_hdy_carousel_interactive); + g_test_add_func("/Handy/Carousel/spacing", test_hdy_carousel_spacing); + g_test_add_func("/Handy/Carousel/animation_duration", test_hdy_carousel_animation_duration); + g_test_add_func("/Handy/Carousel/allow_mouse_drag", test_hdy_carousel_allow_mouse_drag); + g_test_add_func("/Handy/Carousel/reveal_duration", test_hdy_carousel_reveal_duration); + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-combo-row.c b/subprojects/libhandy/tests/test-combo-row.c new file mode 100644 index 00000000..12feea61 --- /dev/null +++ b/subprojects/libhandy/tests/test-combo-row.c @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_combo_row_set_for_enum (void) +{ + g_autoptr (HdyComboRow) row = NULL; + GListModel *model; + HdyEnumValueObject *value; + + row = g_object_ref_sink (HDY_COMBO_ROW (hdy_combo_row_new ())); + g_assert_nonnull (row); + + g_assert_null (hdy_combo_row_get_model (row)); + + hdy_combo_row_set_for_enum (row, GTK_TYPE_ORIENTATION, hdy_enum_value_row_name, NULL, NULL); + model = hdy_combo_row_get_model (row); + g_assert_true (G_IS_LIST_MODEL (model)); + + g_assert_cmpuint (g_list_model_get_n_items (model), ==, 2); + + value = g_list_model_get_item (model, 0); + g_assert_true (HDY_IS_ENUM_VALUE_OBJECT (value)); + g_assert_cmpstr (hdy_enum_value_object_get_nick (value), ==, "horizontal"); + + value = g_list_model_get_item (model, 1); + g_assert_true (HDY_IS_ENUM_VALUE_OBJECT (value)); + g_assert_cmpstr (hdy_enum_value_object_get_nick (value), ==, "vertical"); +} + + +static void +test_hdy_combo_row_use_subtitle (void) +{ + g_autoptr (HdyComboRow) row = NULL; + + row = g_object_ref_sink (HDY_COMBO_ROW (hdy_combo_row_new ())); + g_assert_nonnull (row); + + g_assert_false (hdy_combo_row_get_use_subtitle (row)); + + hdy_combo_row_set_use_subtitle (row, TRUE); + g_assert_true (hdy_combo_row_get_use_subtitle (row)); + + hdy_combo_row_set_use_subtitle (row, FALSE); + g_assert_false (hdy_combo_row_get_use_subtitle (row)); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/ComboRow/set_for_enum", test_hdy_combo_row_set_for_enum); + g_test_add_func("/Handy/ComboRow/use_subtitle", test_hdy_combo_row_use_subtitle); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-deck.c b/subprojects/libhandy/tests/test-deck.c new file mode 100644 index 00000000..e2c56776 --- /dev/null +++ b/subprojects/libhandy/tests/test-deck.c @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_deck_adjacent_child (void) +{ + g_autoptr (HdyDeck) deck = NULL; + GtkWidget *children[2]; + gint i; + GtkWidget *result; + + deck = HDY_DECK (hdy_deck_new ()); + g_assert_nonnull (deck); + + for (i = 0; i < 2; i++) { + children[i] = gtk_label_new (""); + g_assert_nonnull (children[i]); + + gtk_container_add (GTK_CONTAINER (deck), children[i]); + } + + hdy_deck_set_visible_child (deck, children[0]); + + result = hdy_deck_get_adjacent_child (deck, HDY_NAVIGATION_DIRECTION_BACK); + g_assert_null (result); + + result = hdy_deck_get_adjacent_child (deck, HDY_NAVIGATION_DIRECTION_FORWARD); + g_assert_true (result == children[1]); + + hdy_deck_set_visible_child (deck, children[1]); + + result = hdy_deck_get_adjacent_child (deck, HDY_NAVIGATION_DIRECTION_BACK); + g_assert_true (result == children[0]); + + result = hdy_deck_get_adjacent_child (deck, HDY_NAVIGATION_DIRECTION_FORWARD); + g_assert_null (result); +} + + +static void +test_hdy_deck_navigate (void) +{ + g_autoptr (HdyDeck) deck = NULL; + GtkWidget *children[2]; + gint i; + gboolean result; + + deck = HDY_DECK (hdy_deck_new ()); + g_assert_nonnull (deck); + + for (i = 0; i < 2; i++) { + children[i] = gtk_label_new (""); + g_assert_nonnull (children[i]); + + gtk_container_add (GTK_CONTAINER (deck), children[i]); + } + + hdy_deck_set_visible_child (deck, children[0]); + + result = hdy_deck_navigate (deck, HDY_NAVIGATION_DIRECTION_BACK); + g_assert_false (result); + + result = hdy_deck_navigate (deck, HDY_NAVIGATION_DIRECTION_FORWARD); + g_assert_true (result); + g_assert_true (hdy_deck_get_visible_child (deck) == children[1]); + + result = hdy_deck_navigate (deck, HDY_NAVIGATION_DIRECTION_FORWARD); + g_assert_false (result); + + result = hdy_deck_navigate (deck, HDY_NAVIGATION_DIRECTION_BACK); + g_assert_true (result); + g_assert_true (hdy_deck_get_visible_child (deck) == children[0]); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func ("/Handy/Deck/adjacent_child", test_hdy_deck_adjacent_child); + g_test_add_func ("/Handy/Deck/navigate", test_hdy_deck_navigate); + + return g_test_run (); +} diff --git a/subprojects/libhandy/tests/test-expander-row.c b/subprojects/libhandy/tests/test-expander-row.c new file mode 100644 index 00000000..b0625d92 --- /dev/null +++ b/subprojects/libhandy/tests/test-expander-row.c @@ -0,0 +1,153 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_expander_row_add (void) +{ + g_autoptr (HdyExpanderRow) row = NULL; + GtkWidget *sw; + + row = g_object_ref_sink (HDY_EXPANDER_ROW (hdy_expander_row_new ())); + g_assert_nonnull (row); + + sw = gtk_switch_new (); + g_assert_nonnull (sw); + + gtk_container_add (GTK_CONTAINER (row), sw); +} + + +static void +test_hdy_expander_row_subtitle (void) +{ + g_autoptr (HdyExpanderRow) row = NULL; + + row = g_object_ref_sink (HDY_EXPANDER_ROW (hdy_expander_row_new ())); + g_assert_nonnull (row); + + g_assert_cmpstr (hdy_expander_row_get_subtitle (row), ==, ""); + + hdy_expander_row_set_subtitle (row, "Dummy subtitle"); + g_assert_cmpstr (hdy_expander_row_get_subtitle (row), ==, "Dummy subtitle"); +} + + +static void +test_hdy_expander_row_icon_name (void) +{ + g_autoptr (HdyExpanderRow) row = NULL; + + row = g_object_ref_sink (HDY_EXPANDER_ROW (hdy_expander_row_new ())); + g_assert_nonnull (row); + + g_assert_null (hdy_expander_row_get_icon_name (row)); + + hdy_expander_row_set_icon_name (row, "dummy-icon-name"); + g_assert_cmpstr (hdy_expander_row_get_icon_name (row), ==, "dummy-icon-name"); +} + + +static void +test_hdy_expander_row_use_undeline (void) +{ + g_autoptr (HdyExpanderRow) row = NULL; + + row = g_object_ref_sink (HDY_EXPANDER_ROW (hdy_expander_row_new ())); + g_assert_nonnull (row); + + g_assert_false (hdy_expander_row_get_use_underline (row)); + + hdy_expander_row_set_use_underline (row, TRUE); + g_assert_true (hdy_expander_row_get_use_underline (row)); + + hdy_expander_row_set_use_underline (row, FALSE); + g_assert_false (hdy_expander_row_get_use_underline (row)); +} + + +static void +test_hdy_expander_row_expanded (void) +{ + g_autoptr (HdyExpanderRow) row = NULL; + + row = g_object_ref_sink (HDY_EXPANDER_ROW (hdy_expander_row_new ())); + g_assert_nonnull (row); + + g_assert_false (hdy_expander_row_get_expanded (row)); + + hdy_expander_row_set_expanded (row, TRUE); + g_assert_true (hdy_expander_row_get_expanded (row)); + + hdy_expander_row_set_expanded (row, FALSE); + g_assert_false (hdy_expander_row_get_expanded (row)); +} + + +static void +test_hdy_expander_row_enable_expansion (void) +{ + g_autoptr (HdyExpanderRow) row = NULL; + + row = g_object_ref_sink (HDY_EXPANDER_ROW (hdy_expander_row_new ())); + g_assert_nonnull (row); + + g_assert_true (hdy_expander_row_get_enable_expansion (row)); + g_assert_false (hdy_expander_row_get_expanded (row)); + + hdy_expander_row_set_expanded (row, TRUE); + g_assert_true (hdy_expander_row_get_expanded (row)); + + hdy_expander_row_set_enable_expansion (row, FALSE); + g_assert_false (hdy_expander_row_get_enable_expansion (row)); + g_assert_false (hdy_expander_row_get_expanded (row)); + + hdy_expander_row_set_expanded (row, TRUE); + g_assert_false (hdy_expander_row_get_expanded (row)); + + hdy_expander_row_set_enable_expansion (row, TRUE); + g_assert_true (hdy_expander_row_get_enable_expansion (row)); + g_assert_true (hdy_expander_row_get_expanded (row)); +} + + +static void +test_hdy_expander_row_show_enable_switch (void) +{ + g_autoptr (HdyExpanderRow) row = NULL; + + row = g_object_ref_sink (HDY_EXPANDER_ROW (hdy_expander_row_new ())); + g_assert_nonnull (row); + + g_assert_false (hdy_expander_row_get_show_enable_switch (row)); + + hdy_expander_row_set_show_enable_switch (row, TRUE); + g_assert_true (hdy_expander_row_get_show_enable_switch (row)); + + hdy_expander_row_set_show_enable_switch (row, FALSE); + g_assert_false (hdy_expander_row_get_show_enable_switch (row)); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/ExpanderRow/add", test_hdy_expander_row_add); + g_test_add_func("/Handy/ExpanderRow/subtitle", test_hdy_expander_row_subtitle); + g_test_add_func("/Handy/ExpanderRow/icon_name", test_hdy_expander_row_icon_name); + g_test_add_func("/Handy/ExpanderRow/use_underline", test_hdy_expander_row_use_undeline); + g_test_add_func("/Handy/ExpanderRow/expanded", test_hdy_expander_row_expanded); + g_test_add_func("/Handy/ExpanderRow/enable_expansion", test_hdy_expander_row_enable_expansion); + g_test_add_func("/Handy/ExpanderRow/show_enable_switch", test_hdy_expander_row_show_enable_switch); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-header-bar.c b/subprojects/libhandy/tests/test-header-bar.c new file mode 100644 index 00000000..15064bfc --- /dev/null +++ b/subprojects/libhandy/tests/test-header-bar.c @@ -0,0 +1,215 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_header_bar_pack (void) +{ + g_autoptr (HdyHeaderBar) bar = NULL; + GtkWidget *widget; + + bar = g_object_ref_sink (HDY_HEADER_BAR (hdy_header_bar_new ())); + g_assert_nonnull (bar); + + widget = gtk_switch_new (); + g_assert_nonnull (widget); + + hdy_header_bar_pack_start (bar, widget); + + widget = gtk_switch_new (); + g_assert_nonnull (widget); + + hdy_header_bar_pack_end (bar, widget); +} + + +static void +test_hdy_header_bar_title (void) +{ + g_autoptr (HdyHeaderBar) bar = NULL; + + bar = g_object_ref_sink (HDY_HEADER_BAR (hdy_header_bar_new ())); + g_assert_nonnull (bar); + + g_assert_null (hdy_header_bar_get_title (bar)); + + hdy_header_bar_set_title (bar, "Dummy title"); + g_assert_cmpstr (hdy_header_bar_get_title (bar), ==, "Dummy title"); + + hdy_header_bar_set_title (bar, NULL); + g_assert_null (hdy_header_bar_get_title (bar)); +} + + +static void +test_hdy_header_bar_subtitle (void) +{ + g_autoptr (HdyHeaderBar) bar = NULL; + + bar = g_object_ref_sink (HDY_HEADER_BAR (hdy_header_bar_new ())); + g_assert_nonnull (bar); + + g_assert_null (hdy_header_bar_get_subtitle (bar)); + + hdy_header_bar_set_subtitle (bar, "Dummy subtitle"); + g_assert_cmpstr (hdy_header_bar_get_subtitle (bar), ==, "Dummy subtitle"); + + hdy_header_bar_set_subtitle (bar, NULL); + g_assert_null (hdy_header_bar_get_subtitle (bar)); +} + + +static void +test_hdy_header_bar_custom_title (void) +{ + g_autoptr (HdyHeaderBar) bar = NULL; + GtkWidget *widget; + + bar = g_object_ref_sink (HDY_HEADER_BAR (hdy_header_bar_new ())); + g_assert_nonnull (bar); + + g_assert_null (hdy_header_bar_get_custom_title (bar)); + + widget = gtk_switch_new (); + g_assert_nonnull (widget); + hdy_header_bar_set_custom_title (bar, widget); + g_assert (hdy_header_bar_get_custom_title (bar) == widget); + + hdy_header_bar_set_custom_title (bar, NULL); + g_assert_null (hdy_header_bar_get_custom_title (bar)); +} + + +static void +test_hdy_header_bar_show_close_button (void) +{ + g_autoptr (HdyHeaderBar) bar = NULL; + + bar = g_object_ref_sink (HDY_HEADER_BAR (hdy_header_bar_new ())); + g_assert_nonnull (bar); + + g_assert_false (hdy_header_bar_get_show_close_button (bar)); + + hdy_header_bar_set_show_close_button (bar, TRUE); + g_assert_true (hdy_header_bar_get_show_close_button (bar)); + + hdy_header_bar_set_show_close_button (bar, FALSE); + g_assert_false (hdy_header_bar_get_show_close_button (bar)); +} + + +static void +test_hdy_header_bar_has_subtitle (void) +{ + g_autoptr (HdyHeaderBar) bar = NULL; + + bar = g_object_ref_sink (HDY_HEADER_BAR (hdy_header_bar_new ())); + g_assert_nonnull (bar); + + g_assert_true (hdy_header_bar_get_has_subtitle (bar)); + + hdy_header_bar_set_has_subtitle (bar, FALSE); + g_assert_false (hdy_header_bar_get_has_subtitle (bar)); + + hdy_header_bar_set_has_subtitle (bar, TRUE); + g_assert_true (hdy_header_bar_get_has_subtitle (bar)); +} + + +static void +test_hdy_header_bar_decoration_layout (void) +{ + g_autoptr (HdyHeaderBar) bar = NULL; + + bar = g_object_ref_sink (HDY_HEADER_BAR (hdy_header_bar_new ())); + g_assert_nonnull (bar); + + g_assert_null (hdy_header_bar_get_decoration_layout (bar)); + + hdy_header_bar_set_decoration_layout (bar, ":"); + g_assert_cmpstr (hdy_header_bar_get_decoration_layout (bar), ==, ":"); + + hdy_header_bar_set_decoration_layout (bar, NULL); + g_assert_null (hdy_header_bar_get_decoration_layout (bar)); +} + + +static void +test_hdy_header_bar_centering_policy (void) +{ + g_autoptr (HdyHeaderBar) bar = NULL; + + bar = g_object_ref_sink (HDY_HEADER_BAR (hdy_header_bar_new ())); + g_assert_nonnull (bar); + + g_assert_cmpint (hdy_header_bar_get_centering_policy (bar), ==, HDY_CENTERING_POLICY_LOOSE); + + hdy_header_bar_set_centering_policy (bar, HDY_CENTERING_POLICY_STRICT); + g_assert_cmpint (hdy_header_bar_get_centering_policy (bar), ==, HDY_CENTERING_POLICY_STRICT); + + hdy_header_bar_set_centering_policy (bar, HDY_CENTERING_POLICY_LOOSE); + g_assert_cmpint (hdy_header_bar_get_centering_policy (bar), ==, HDY_CENTERING_POLICY_LOOSE); +} + + +static void +test_hdy_header_bar_transition_duration (void) +{ + g_autoptr (HdyHeaderBar) bar = NULL; + + bar = g_object_ref_sink (HDY_HEADER_BAR (hdy_header_bar_new ())); + g_assert_nonnull (bar); + + g_assert_cmpuint (hdy_header_bar_get_transition_duration (bar), ==, 200); + + hdy_header_bar_set_transition_duration (bar, 0); + g_assert_cmpuint (hdy_header_bar_get_transition_duration (bar), ==, 0); + + hdy_header_bar_set_transition_duration (bar, 1000); + g_assert_cmpuint (hdy_header_bar_get_transition_duration (bar), ==, 1000); +} + + +static void +test_hdy_header_bar_interpolate_size (void) +{ + g_autoptr (HdyHeaderBar) bar = NULL; + + bar = g_object_ref_sink (HDY_HEADER_BAR (hdy_header_bar_new ())); + g_assert_nonnull (bar); + + g_assert_false (hdy_header_bar_get_interpolate_size (bar)); + + hdy_header_bar_set_interpolate_size (bar, TRUE); + g_assert_true (hdy_header_bar_get_interpolate_size (bar)); + + hdy_header_bar_set_interpolate_size (bar, FALSE); + g_assert_false (hdy_header_bar_get_interpolate_size (bar)); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/HeaderBar/pack", test_hdy_header_bar_pack); + g_test_add_func("/Handy/HeaderBar/title", test_hdy_header_bar_title); + g_test_add_func("/Handy/HeaderBar/subtitle", test_hdy_header_bar_subtitle); + g_test_add_func("/Handy/HeaderBar/custom_title", test_hdy_header_bar_custom_title); + g_test_add_func("/Handy/HeaderBar/show_close_button", test_hdy_header_bar_show_close_button); + g_test_add_func("/Handy/HeaderBar/has_subtitle", test_hdy_header_bar_has_subtitle); + g_test_add_func("/Handy/HeaderBar/decoration_layout", test_hdy_header_bar_decoration_layout); + g_test_add_func("/Handy/HeaderBar/centering_policy", test_hdy_header_bar_centering_policy); + g_test_add_func("/Handy/HeaderBar/transition_duration", test_hdy_header_bar_transition_duration); + g_test_add_func("/Handy/HeaderBar/interpolate_size", test_hdy_header_bar_interpolate_size); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-header-group.c b/subprojects/libhandy/tests/test-header-group.c new file mode 100644 index 00000000..632c1ff0 --- /dev/null +++ b/subprojects/libhandy/tests/test-header-group.c @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2017 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_header_group_decorate_all (void) +{ + g_autoptr (HdyHeaderGroup) hg = HDY_HEADER_GROUP (hdy_header_group_new ()); + gboolean decorate_all = FALSE; + + g_assert_false (hdy_header_group_get_decorate_all (hg)); + g_object_get (hg, "decorate-all", &decorate_all, NULL); + g_assert_false (decorate_all); + + hdy_header_group_set_decorate_all (hg, TRUE); + + g_assert_true (hdy_header_group_get_decorate_all (hg)); + g_object_get (hg, "decorate-all", &decorate_all, NULL); + g_assert_true (decorate_all); + + g_object_set (hg, "decorate-all", FALSE, NULL); + + g_assert_false (hdy_header_group_get_decorate_all (hg)); + g_object_get (hg, "decorate-all", &decorate_all, NULL); + g_assert_false (decorate_all); +} + + +static void +test_hdy_header_group_add_remove (void) +{ + g_autoptr (HdyHeaderGroup) hg = HDY_HEADER_GROUP (hdy_header_group_new ()); + g_autoptr (HdyHeaderBar) bar1 = HDY_HEADER_BAR (g_object_ref_sink (hdy_header_bar_new ())); + g_autoptr (GtkHeaderBar) bar2 = GTK_HEADER_BAR (g_object_ref_sink (gtk_header_bar_new ())); + + g_assert_cmpint (g_slist_length (hdy_header_group_get_children (hg)), ==, 0); + + hdy_header_group_add_header_bar (hg, bar1); + g_assert_cmpint (g_slist_length (hdy_header_group_get_children (hg)), ==, 1); + + hdy_header_group_add_gtk_header_bar (hg, bar2); + g_assert_cmpint (g_slist_length (hdy_header_group_get_children (hg)), ==, 2); + + hdy_header_group_remove_gtk_header_bar (hg, bar2); + g_assert_cmpint (g_slist_length (hdy_header_group_get_children (hg)), ==, 1); + + hdy_header_group_remove_header_bar (hg, bar1); + + g_assert_cmpint (g_slist_length (hdy_header_group_get_children (hg)), ==, 0); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/HeaderGroup/decorate_all", test_hdy_header_group_decorate_all); + g_test_add_func("/Handy/HeaderGroup/add_remove", test_hdy_header_group_add_remove); + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-keypad.c b/subprojects/libhandy/tests/test-keypad.c new file mode 100644 index 00000000..f33037aa --- /dev/null +++ b/subprojects/libhandy/tests/test-keypad.c @@ -0,0 +1,247 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + +gint notified; + + +static void +notify_cb (GtkWidget *widget, + gpointer data) +{ + notified++; +} + + +static void +test_hdy_keypad_row_spacing (void) +{ + g_autoptr (HdyKeypad) keypad = NULL; + guint row_spacing = 0; + + keypad = g_object_ref_sink (HDY_KEYPAD (hdy_keypad_new (FALSE, TRUE))); + + notified = 0; + g_signal_connect (keypad, "notify::row-spacing", G_CALLBACK (notify_cb), NULL); + + g_assert_cmpuint (hdy_keypad_get_row_spacing (keypad), ==, 6); + g_object_get (keypad, "row-spacing", &row_spacing, NULL); + g_assert_cmpuint (row_spacing, ==, 6); + + hdy_keypad_set_row_spacing (keypad, 0); + g_assert_cmpint (notified, ==, 1); + + g_assert_cmpuint (hdy_keypad_get_row_spacing (keypad), ==, 0); + g_object_get (keypad, "row-spacing", &row_spacing, NULL); + g_assert_cmpuint (row_spacing, ==, 0); + + g_object_set (keypad, "row-spacing", 12, NULL); + g_assert_cmpint (notified, ==, 2); + + g_assert_cmpuint (hdy_keypad_get_row_spacing (keypad), ==, 12); + g_object_get (keypad, "row-spacing", &row_spacing, NULL); + g_assert_cmpuint (row_spacing, ==, 12); + + g_assert_cmpint (notified, ==, 2); +} + + +static void +test_hdy_keypad_column_spacing (void) +{ + g_autoptr (HdyKeypad) keypad = NULL; + guint column_spacing = 0; + + keypad = g_object_ref_sink (HDY_KEYPAD (hdy_keypad_new (FALSE, TRUE))); + + notified = 0; + g_signal_connect (keypad, "notify::column-spacing", G_CALLBACK (notify_cb), NULL); + + g_assert_cmpuint (hdy_keypad_get_column_spacing (keypad), ==, 6); + g_object_get (keypad, "column-spacing", &column_spacing, NULL); + g_assert_cmpuint (column_spacing, ==, 6); + + hdy_keypad_set_column_spacing (keypad, 0); + g_assert_cmpint (notified, ==, 1); + + g_assert_cmpuint (hdy_keypad_get_column_spacing (keypad), ==, 0); + g_object_get (keypad, "column-spacing", &column_spacing, NULL); + g_assert_cmpuint (column_spacing, ==, 0); + + g_object_set (keypad, "column-spacing", 12, NULL); + g_assert_cmpint (notified, ==, 2); + + g_assert_cmpuint (hdy_keypad_get_column_spacing (keypad), ==, 12); + g_object_get (keypad, "column-spacing", &column_spacing, NULL); + g_assert_cmpuint (column_spacing, ==, 12); + + g_assert_cmpint (notified, ==, 2); +} + + +static void +test_hdy_keypad_letters_visible (void) +{ + g_autoptr (HdyKeypad) keypad = NULL; + gboolean letters_visible = FALSE; + + keypad = g_object_ref_sink (HDY_KEYPAD (hdy_keypad_new (FALSE, TRUE))); + + notified = 0; + g_signal_connect (keypad, "notify::letters-visible", G_CALLBACK (notify_cb), NULL); + + g_assert_true (hdy_keypad_get_letters_visible (keypad)); + g_object_get (keypad, "letters-visible", &letters_visible, NULL); + g_assert_true (letters_visible); + + hdy_keypad_set_letters_visible (keypad, FALSE); + g_assert_cmpint (notified, ==, 1); + + g_assert_false (hdy_keypad_get_letters_visible (keypad)); + g_object_get (keypad, "letters-visible", &letters_visible, NULL); + g_assert_false (letters_visible); + + g_object_set (keypad, "letters-visible", TRUE, NULL); + g_assert_cmpint (notified, ==, 2); + + g_assert_true (hdy_keypad_get_letters_visible (keypad)); + g_object_get (keypad, "letters-visible", &letters_visible, NULL); + g_assert_true (letters_visible); + + g_assert_cmpint (notified, ==, 2); +} + + +static void +test_hdy_keypad_symbols_visible (void) +{ + g_autoptr (HdyKeypad) keypad = NULL; + gboolean symbols_visible = TRUE; + + keypad = g_object_ref_sink (HDY_KEYPAD (hdy_keypad_new (FALSE, TRUE))); + + notified = 0; + g_signal_connect (keypad, "notify::symbols-visible", G_CALLBACK (notify_cb), NULL); + + g_assert_false (hdy_keypad_get_symbols_visible (keypad)); + g_object_get (keypad, "symbols-visible", &symbols_visible, NULL); + g_assert_false (symbols_visible); + + hdy_keypad_set_symbols_visible (keypad, TRUE); + g_assert_cmpint (notified, ==, 1); + + g_assert_true (hdy_keypad_get_symbols_visible (keypad)); + g_object_get (keypad, "symbols-visible", &symbols_visible, NULL); + g_assert_true (symbols_visible); + + g_object_set (keypad, "symbols-visible", FALSE, NULL); + g_assert_cmpint (notified, ==, 2); + + g_assert_false (hdy_keypad_get_symbols_visible (keypad)); + g_object_get (keypad, "symbols-visible", &symbols_visible, NULL); + g_assert_false (symbols_visible); + + g_assert_cmpint (notified, ==, 2); +} + + +static void +test_hdy_keypad_entry (void) +{ + g_autoptr (HdyKeypad) keypad = NULL; + g_autoptr (GtkEntry) entry = NULL; + + keypad = g_object_ref_sink (HDY_KEYPAD (hdy_keypad_new (FALSE, TRUE))); + entry = g_object_ref_sink (GTK_ENTRY (gtk_entry_new ())); + + notified = 0; + g_signal_connect (keypad, "notify::entry", G_CALLBACK (notify_cb), NULL); + + g_assert_null (hdy_keypad_get_entry (keypad)); + + hdy_keypad_set_entry (keypad, entry); + g_assert_cmpint (notified, ==, 1); + + g_assert_true (hdy_keypad_get_entry (keypad) == entry); + + g_object_set (keypad, "entry", NULL, NULL); + g_assert_cmpint (notified, ==, 2); + + g_assert_null (hdy_keypad_get_entry (keypad)); +} + + +static void +test_hdy_keypad_start_action (void) +{ + g_autoptr (HdyKeypad) keypad = NULL; + g_autoptr (GtkWidget) button = NULL; + + keypad = g_object_ref_sink (HDY_KEYPAD (hdy_keypad_new (FALSE, TRUE))); + button = g_object_ref_sink (gtk_button_new ()); + + notified = 0; + g_signal_connect (keypad, "notify::start-action", G_CALLBACK (notify_cb), NULL); + + g_assert_nonnull (hdy_keypad_get_start_action (keypad)); + + hdy_keypad_set_start_action (keypad, button); + g_assert_cmpint (notified, ==, 1); + + g_assert_true (hdy_keypad_get_start_action (keypad) == button); + + g_object_set (keypad, "start-action", NULL, NULL); + g_assert_cmpint (notified, ==, 2); + + g_assert_null (hdy_keypad_get_start_action (keypad)); +} + + +static void +test_hdy_keypad_end_action (void) +{ + g_autoptr (HdyKeypad) keypad = NULL; + g_autoptr (GtkWidget) button = NULL; + + keypad = g_object_ref_sink (HDY_KEYPAD (hdy_keypad_new (FALSE, TRUE))); + button = g_object_ref_sink (gtk_button_new ()); + + notified = 0; + g_signal_connect (keypad, "notify::end-action", G_CALLBACK (notify_cb), NULL); + + g_assert_nonnull (hdy_keypad_get_end_action (keypad)); + + hdy_keypad_set_end_action (keypad, button); + g_assert_cmpint (notified, ==, 1); + + g_assert_true (hdy_keypad_get_end_action (keypad) == button); + + g_object_set (keypad, "end-action", NULL, NULL); + g_assert_cmpint (notified, ==, 2); + + g_assert_null (hdy_keypad_get_end_action (keypad)); +} + + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func ("/Handy/Keypad/row_spacing", test_hdy_keypad_row_spacing); + g_test_add_func ("/Handy/Keypad/column_spacing", test_hdy_keypad_column_spacing); + g_test_add_func ("/Handy/Keypad/letters_visible", test_hdy_keypad_letters_visible); + g_test_add_func ("/Handy/Keypad/symbols_visible", test_hdy_keypad_symbols_visible); + g_test_add_func ("/Handy/Keypad/entry", test_hdy_keypad_entry); + g_test_add_func ("/Handy/Keypad/start_action", test_hdy_keypad_start_action); + g_test_add_func ("/Handy/Keypad/end_action", test_hdy_keypad_end_action); + + return g_test_run (); +} diff --git a/subprojects/libhandy/tests/test-leaflet.c b/subprojects/libhandy/tests/test-leaflet.c new file mode 100644 index 00000000..43afb3c1 --- /dev/null +++ b/subprojects/libhandy/tests/test-leaflet.c @@ -0,0 +1,109 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_leaflet_adjacent_child (void) +{ + g_autoptr (HdyLeaflet) leaflet = NULL; + GtkWidget *children[3]; + gint i; + GtkWidget *result; + + leaflet = HDY_LEAFLET (hdy_leaflet_new ()); + g_assert_nonnull (leaflet); + + for (i = 0; i < 3; i++) { + children[i] = gtk_label_new (""); + g_assert_nonnull (children[i]); + + gtk_container_add (GTK_CONTAINER (leaflet), children[i]); + } + + gtk_container_child_set (GTK_CONTAINER (leaflet), children[1], + "navigatable", FALSE, + NULL); + + hdy_leaflet_set_visible_child (leaflet, children[0]); + + result = hdy_leaflet_get_adjacent_child (leaflet, HDY_NAVIGATION_DIRECTION_BACK); + g_assert_null (result); + + result = hdy_leaflet_get_adjacent_child (leaflet, HDY_NAVIGATION_DIRECTION_FORWARD); + g_assert_true (result == children[2]); + + hdy_leaflet_set_visible_child (leaflet, children[1]); + + result = hdy_leaflet_get_adjacent_child (leaflet, HDY_NAVIGATION_DIRECTION_BACK); + g_assert_true (result == children[0]); + + result = hdy_leaflet_get_adjacent_child (leaflet, HDY_NAVIGATION_DIRECTION_FORWARD); + g_assert_true (result == children[2]); + + hdy_leaflet_set_visible_child (leaflet, children[2]); + + result = hdy_leaflet_get_adjacent_child (leaflet, HDY_NAVIGATION_DIRECTION_BACK); + g_assert_true (result == children[0]); + + result = hdy_leaflet_get_adjacent_child (leaflet, HDY_NAVIGATION_DIRECTION_FORWARD); + g_assert_null (result); +} + + +static void +test_hdy_leaflet_navigate (void) +{ + g_autoptr (HdyLeaflet) leaflet = NULL; + GtkWidget *children[3]; + gint i; + gboolean result; + + leaflet = HDY_LEAFLET (hdy_leaflet_new ()); + g_assert_nonnull (leaflet); + + for (i = 0; i < 3; i++) { + children[i] = gtk_label_new (""); + g_assert_nonnull (children[i]); + + gtk_container_add (GTK_CONTAINER (leaflet), children[i]); + } + + gtk_container_child_set (GTK_CONTAINER (leaflet), children[1], + "navigatable", FALSE, + NULL); + + hdy_leaflet_set_visible_child (leaflet, children[0]); + + result = hdy_leaflet_navigate (leaflet, HDY_NAVIGATION_DIRECTION_BACK); + g_assert_false (result); + + result = hdy_leaflet_navigate (leaflet, HDY_NAVIGATION_DIRECTION_FORWARD); + g_assert_true (result); + g_assert_true (hdy_leaflet_get_visible_child (leaflet) == children[2]); + + result = hdy_leaflet_navigate (leaflet, HDY_NAVIGATION_DIRECTION_FORWARD); + g_assert_false (result); + + result = hdy_leaflet_navigate (leaflet, HDY_NAVIGATION_DIRECTION_BACK); + g_assert_true (result); + g_assert_true (hdy_leaflet_get_visible_child (leaflet) == children[0]); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func ("/Handy/Leaflet/adjacent_child", test_hdy_leaflet_adjacent_child); + g_test_add_func ("/Handy/Leaflet/navigate", test_hdy_leaflet_navigate); + + return g_test_run (); +} diff --git a/subprojects/libhandy/tests/test-preferences-group.c b/subprojects/libhandy/tests/test-preferences-group.c new file mode 100644 index 00000000..d5c69ad4 --- /dev/null +++ b/subprojects/libhandy/tests/test-preferences-group.c @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_preferences_group_add (void) +{ + g_autoptr (HdyPreferencesGroup) group = NULL; + HdyPreferencesRow *row; + GtkWidget *widget; + + group = g_object_ref_sink (HDY_PREFERENCES_GROUP (hdy_preferences_group_new ())); + g_assert_nonnull (group); + + row = HDY_PREFERENCES_ROW (hdy_preferences_row_new ()); + g_assert_nonnull (row); + gtk_container_add (GTK_CONTAINER (group), GTK_WIDGET (row)); + + widget = gtk_switch_new (); + g_assert_nonnull (widget); + gtk_container_add (GTK_CONTAINER (group), widget); + + g_assert (G_TYPE_CHECK_INSTANCE_TYPE (gtk_widget_get_parent (GTK_WIDGET (row)), GTK_TYPE_LIST_BOX)); + g_assert (G_TYPE_CHECK_INSTANCE_TYPE (gtk_widget_get_parent (widget), GTK_TYPE_BOX)); +} + + +static void +test_hdy_preferences_group_title (void) +{ + g_autoptr (HdyPreferencesGroup) group = NULL; + + group = g_object_ref_sink (HDY_PREFERENCES_GROUP (hdy_preferences_group_new ())); + g_assert_nonnull (group); + + g_assert_cmpstr (hdy_preferences_group_get_title (group), ==, ""); + + hdy_preferences_group_set_title (group, "Dummy title"); + g_assert_cmpstr (hdy_preferences_group_get_title (group), ==, "Dummy title"); + + hdy_preferences_group_set_title (group, NULL); + g_assert_cmpstr (hdy_preferences_group_get_title (group), ==, ""); +} + + +static void +test_hdy_preferences_group_description (void) +{ + g_autoptr (HdyPreferencesGroup) group = NULL; + + group = g_object_ref_sink (HDY_PREFERENCES_GROUP (hdy_preferences_group_new ())); + g_assert_nonnull (group); + + g_assert_cmpstr (hdy_preferences_group_get_description (group), ==, ""); + + hdy_preferences_group_set_description (group, "Dummy description"); + g_assert_cmpstr (hdy_preferences_group_get_description (group), ==, "Dummy description"); + + hdy_preferences_group_set_description (group, NULL); + g_assert_cmpstr (hdy_preferences_group_get_description (group), ==, ""); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/PreferencesGroup/add", test_hdy_preferences_group_add); + g_test_add_func("/Handy/PreferencesGroup/title", test_hdy_preferences_group_title); + g_test_add_func("/Handy/PreferencesGroup/description", test_hdy_preferences_group_description); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-preferences-page.c b/subprojects/libhandy/tests/test-preferences-page.c new file mode 100644 index 00000000..5f6d15ce --- /dev/null +++ b/subprojects/libhandy/tests/test-preferences-page.c @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_preferences_page_add (void) +{ + g_autoptr (HdyPreferencesPage) page = NULL; + HdyPreferencesGroup *group; + GtkWidget *widget; + + page = g_object_ref_sink (HDY_PREFERENCES_PAGE (hdy_preferences_page_new ())); + g_assert_nonnull (page); + + group = HDY_PREFERENCES_GROUP (hdy_preferences_group_new ()); + g_assert_nonnull (group); + gtk_container_add (GTK_CONTAINER (page), GTK_WIDGET (group)); + + widget = gtk_switch_new (); + g_assert_nonnull (widget); + g_test_expect_message (HDY_LOG_DOMAIN, G_LOG_LEVEL_WARNING, "Can't add children of type GtkSwitch to HdyPreferencesPage"); + gtk_container_add (GTK_CONTAINER (page), widget); + g_test_assert_expected_messages (); +} + + +static void +test_hdy_preferences_page_title (void) +{ + g_autoptr (HdyPreferencesPage) page = NULL; + + page = g_object_ref_sink (HDY_PREFERENCES_PAGE (hdy_preferences_page_new ())); + g_assert_nonnull (page); + + g_assert_null (hdy_preferences_page_get_title (page)); + + hdy_preferences_page_set_title (page, "Dummy title"); + g_assert_cmpstr (hdy_preferences_page_get_title (page), ==, "Dummy title"); + + hdy_preferences_page_set_title (page, NULL); + g_assert_null (hdy_preferences_page_get_title (page)); +} + + +static void +test_hdy_preferences_page_icon_name (void) +{ + g_autoptr (HdyPreferencesPage) page = NULL; + + page = g_object_ref_sink (HDY_PREFERENCES_PAGE (hdy_preferences_page_new ())); + g_assert_nonnull (page); + + g_assert_null (hdy_preferences_page_get_icon_name (page)); + + hdy_preferences_page_set_icon_name (page, "dummy-icon-name"); + g_assert_cmpstr (hdy_preferences_page_get_icon_name (page), ==, "dummy-icon-name"); + + hdy_preferences_page_set_icon_name (page, NULL); + g_assert_null (hdy_preferences_page_get_icon_name (page)); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/PreferencesPage/add", test_hdy_preferences_page_add); + g_test_add_func("/Handy/PreferencesPage/title", test_hdy_preferences_page_title); + g_test_add_func("/Handy/PreferencesPage/icon_name", test_hdy_preferences_page_icon_name); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-preferences-row.c b/subprojects/libhandy/tests/test-preferences-row.c new file mode 100644 index 00000000..c4f17696 --- /dev/null +++ b/subprojects/libhandy/tests/test-preferences-row.c @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_preferences_row_title (void) +{ + g_autoptr (HdyPreferencesRow) row = NULL; + + row = g_object_ref_sink (HDY_PREFERENCES_ROW (hdy_preferences_row_new ())); + g_assert_nonnull (row); + + g_assert_null (hdy_preferences_row_get_title (row)); + + hdy_preferences_row_set_title (row, "Dummy title"); + g_assert_cmpstr (hdy_preferences_row_get_title (row), ==, "Dummy title"); + + hdy_preferences_row_set_title (row, NULL); + g_assert_null (hdy_preferences_row_get_title (row)); +} + + +static void +test_hdy_preferences_row_use_undeline (void) +{ + g_autoptr (HdyPreferencesRow) row = NULL; + + row = g_object_ref_sink (HDY_PREFERENCES_ROW (hdy_preferences_row_new ())); + g_assert_nonnull (row); + + g_assert_false (hdy_preferences_row_get_use_underline (row)); + + hdy_preferences_row_set_use_underline (row, TRUE); + g_assert_true (hdy_preferences_row_get_use_underline (row)); + + hdy_preferences_row_set_use_underline (row, FALSE); + g_assert_false (hdy_preferences_row_get_use_underline (row)); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/PreferencesRow/title", test_hdy_preferences_row_title); + g_test_add_func("/Handy/PreferencesRow/use_underline", test_hdy_preferences_row_use_undeline); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-preferences-window.c b/subprojects/libhandy/tests/test-preferences-window.c new file mode 100644 index 00000000..32a0f8d9 --- /dev/null +++ b/subprojects/libhandy/tests/test-preferences-window.c @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_preferences_window_add (void) +{ + g_autoptr (HdyPreferencesWindow) window = NULL; + HdyPreferencesPage *page; + GtkWidget *widget; + + window = g_object_ref_sink (HDY_PREFERENCES_WINDOW (hdy_preferences_window_new ())); + g_assert_nonnull (window); + + page = HDY_PREFERENCES_PAGE (hdy_preferences_page_new ()); + g_assert_nonnull (page); + gtk_container_add (GTK_CONTAINER (window), GTK_WIDGET (page)); + + widget = gtk_switch_new (); + g_assert_nonnull (widget); + g_test_expect_message (HDY_LOG_DOMAIN, G_LOG_LEVEL_WARNING, "Can't add children of type GtkSwitch to HdyPreferencesWindow"); + gtk_container_add (GTK_CONTAINER (window), widget); + g_test_assert_expected_messages (); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/PreferencesWindow/add", test_hdy_preferences_window_add); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-search-bar.c b/subprojects/libhandy/tests/test-search-bar.c new file mode 100644 index 00000000..9f907210 --- /dev/null +++ b/subprojects/libhandy/tests/test-search-bar.c @@ -0,0 +1,96 @@ +/* + * Copyright (C) 2018 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_search_bar_add (void) +{ + g_autoptr (HdySearchBar) bar = NULL; + GtkWidget *entry; + + bar = g_object_ref_sink (HDY_SEARCH_BAR (hdy_search_bar_new ())); + g_assert_nonnull (bar); + + entry = gtk_entry_new (); + g_assert_nonnull (entry); + + gtk_container_add (GTK_CONTAINER (bar), entry); +} + + +static void +test_hdy_search_bar_connect_entry (void) +{ + g_autoptr (HdySearchBar) bar = NULL; + GtkWidget *box, *entry; + + bar = g_object_ref_sink (HDY_SEARCH_BAR (hdy_search_bar_new ())); + g_assert_nonnull (bar); + + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + g_assert_nonnull (box); + + entry = gtk_entry_new (); + g_assert_nonnull (entry); + + gtk_container_add (GTK_CONTAINER (box), entry); + gtk_container_add (GTK_CONTAINER (bar), box); + hdy_search_bar_connect_entry (bar, GTK_ENTRY (entry)); +} + + +static void +test_hdy_search_bar_search_mode (void) +{ + g_autoptr (HdySearchBar) bar = NULL; + + bar = g_object_ref_sink (HDY_SEARCH_BAR (hdy_search_bar_new ())); + g_assert_nonnull (bar); + + g_assert_false (hdy_search_bar_get_search_mode (bar)); + + hdy_search_bar_set_search_mode (bar, TRUE); + g_assert_true (hdy_search_bar_get_search_mode (bar)); + + hdy_search_bar_set_search_mode (bar, FALSE); + g_assert_false (hdy_search_bar_get_search_mode (bar)); +} + + +static void +test_hdy_search_bar_show_close_button (void) +{ + g_autoptr (HdySearchBar) bar = NULL; + + bar = g_object_ref_sink (HDY_SEARCH_BAR (hdy_search_bar_new ())); + g_assert_nonnull (bar); + + g_assert_false (hdy_search_bar_get_show_close_button (bar)); + + hdy_search_bar_set_show_close_button (bar, TRUE); + g_assert_true (hdy_search_bar_get_show_close_button (bar)); + + hdy_search_bar_set_show_close_button (bar, FALSE); + g_assert_false (hdy_search_bar_get_show_close_button (bar)); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/SearchBar/add", test_hdy_search_bar_add); + g_test_add_func("/Handy/SearchBar/connect_entry", test_hdy_search_bar_connect_entry); + g_test_add_func("/Handy/SearchBar/search_mode", test_hdy_search_bar_search_mode); + g_test_add_func("/Handy/SearchBar/show_close_button", test_hdy_search_bar_show_close_button); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-squeezer.c b/subprojects/libhandy/tests/test-squeezer.c new file mode 100644 index 00000000..90a12e77 --- /dev/null +++ b/subprojects/libhandy/tests/test-squeezer.c @@ -0,0 +1,161 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_squeezer_homogeneous (void) +{ + g_autoptr (HdySqueezer) squeezer = NULL; + + squeezer = g_object_ref_sink (HDY_SQUEEZER (hdy_squeezer_new ())); + g_assert_nonnull (squeezer); + + g_assert_true (hdy_squeezer_get_homogeneous (squeezer)); + + hdy_squeezer_set_homogeneous (squeezer, FALSE); + g_assert_false (hdy_squeezer_get_homogeneous (squeezer)); + + hdy_squeezer_set_homogeneous (squeezer, TRUE); + g_assert_true (hdy_squeezer_get_homogeneous (squeezer)); +} + + +static void +test_hdy_squeezer_transition_duration (void) +{ + g_autoptr (HdySqueezer) squeezer = NULL; + + squeezer = g_object_ref_sink (HDY_SQUEEZER (hdy_squeezer_new ())); + g_assert_nonnull (squeezer); + + g_assert_cmpuint (hdy_squeezer_get_transition_duration (squeezer), ==, 200); + + hdy_squeezer_set_transition_duration (squeezer, 400); + g_assert_cmpuint (hdy_squeezer_get_transition_duration (squeezer), ==, 400); + + hdy_squeezer_set_transition_duration (squeezer, -1); + g_assert_cmpuint (hdy_squeezer_get_transition_duration (squeezer), ==, G_MAXUINT); +} + + +static void +test_hdy_squeezer_transition_type (void) +{ + g_autoptr (HdySqueezer) squeezer = NULL; + + squeezer = g_object_ref_sink (HDY_SQUEEZER (hdy_squeezer_new ())); + g_assert_nonnull (squeezer); + + g_assert_cmpuint (hdy_squeezer_get_transition_type (squeezer), ==, HDY_SQUEEZER_TRANSITION_TYPE_NONE); + + hdy_squeezer_set_transition_type (squeezer, HDY_SQUEEZER_TRANSITION_TYPE_CROSSFADE); + g_assert_cmpuint (hdy_squeezer_get_transition_type (squeezer), ==, HDY_SQUEEZER_TRANSITION_TYPE_CROSSFADE); + + hdy_squeezer_set_transition_type (squeezer, HDY_SQUEEZER_TRANSITION_TYPE_NONE); + g_assert_cmpuint (hdy_squeezer_get_transition_type (squeezer), ==, HDY_SQUEEZER_TRANSITION_TYPE_NONE); +} + + +static void +test_hdy_squeezer_transition_running (void) +{ + g_autoptr (HdySqueezer) squeezer = NULL; + + squeezer = g_object_ref_sink (HDY_SQUEEZER (hdy_squeezer_new ())); + g_assert_nonnull (squeezer); + + g_assert_false (hdy_squeezer_get_transition_running (squeezer)); +} + + +static void +test_hdy_squeezer_show_hide_child (void) +{ + g_autoptr (HdySqueezer) squeezer = NULL; + GtkWidget *child; + + squeezer = g_object_ref_sink (HDY_SQUEEZER (hdy_squeezer_new ())); + g_assert_nonnull (squeezer); + + g_assert_null (hdy_squeezer_get_visible_child (squeezer)); + + child = gtk_label_new (""); + gtk_container_add (GTK_CONTAINER (squeezer), child); + g_assert_null (hdy_squeezer_get_visible_child (squeezer)); + + gtk_widget_show (child); + g_assert (hdy_squeezer_get_visible_child (squeezer) == child); + + gtk_widget_hide (child); + g_assert_null (hdy_squeezer_get_visible_child (squeezer)); + + gtk_widget_show (child); + g_assert (hdy_squeezer_get_visible_child (squeezer) == child); + + gtk_container_remove (GTK_CONTAINER (squeezer), child); + g_assert_null (hdy_squeezer_get_visible_child (squeezer)); +} + + +static void +test_hdy_squeezer_interpolate_size (void) +{ + g_autoptr (HdySqueezer) squeezer = NULL; + + squeezer = g_object_ref_sink (HDY_SQUEEZER (hdy_squeezer_new ())); + g_assert_nonnull (squeezer); + + g_assert_false (hdy_squeezer_get_interpolate_size (squeezer)); + + hdy_squeezer_set_interpolate_size (squeezer, TRUE); + g_assert_true (hdy_squeezer_get_interpolate_size (squeezer)); + + hdy_squeezer_set_interpolate_size (squeezer, FALSE); + g_assert_false (hdy_squeezer_get_interpolate_size (squeezer)); +} + + +static void +test_hdy_squeezer_child_enabled (void) +{ + g_autoptr (HdySqueezer) squeezer = NULL; + GtkWidget *child; + + squeezer = g_object_ref_sink (HDY_SQUEEZER (hdy_squeezer_new ())); + g_assert_nonnull (squeezer); + + child = gtk_label_new (""); + gtk_widget_show (child); + gtk_container_add (GTK_CONTAINER (squeezer), child); + g_assert_true (hdy_squeezer_get_child_enabled (squeezer, child)); + + hdy_squeezer_set_child_enabled (squeezer, child, FALSE); + g_assert_false (hdy_squeezer_get_child_enabled (squeezer, child)); + + hdy_squeezer_set_child_enabled (squeezer, child, TRUE); + g_assert_true (hdy_squeezer_get_child_enabled (squeezer, child)); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/ViewSwitcher/homogeneous", test_hdy_squeezer_homogeneous); + g_test_add_func("/Handy/ViewSwitcher/transition_duration", test_hdy_squeezer_transition_duration); + g_test_add_func("/Handy/ViewSwitcher/transition_type", test_hdy_squeezer_transition_type); + g_test_add_func("/Handy/ViewSwitcher/transition_running", test_hdy_squeezer_transition_running); + g_test_add_func("/Handy/ViewSwitcher/show_hide_child", test_hdy_squeezer_show_hide_child); + g_test_add_func("/Handy/ViewSwitcher/interpolate_size", test_hdy_squeezer_interpolate_size); + g_test_add_func("/Handy/ViewSwitcher/child_enabled", test_hdy_squeezer_child_enabled); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-swipe-group.c b/subprojects/libhandy/tests/test-swipe-group.c new file mode 100644 index 00000000..41b174fc --- /dev/null +++ b/subprojects/libhandy/tests/test-swipe-group.c @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2019 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + +static void +test_hdy_swipe_group_add_remove (void) +{ + g_autoptr (HdySwipeGroup) group = NULL; + g_autoptr (HdySwipeable) swipeable1 = NULL; + g_autoptr (HdySwipeable) swipeable2 = NULL; + + group = hdy_swipe_group_new (); + + swipeable1 = HDY_SWIPEABLE (hdy_carousel_new ()); + swipeable2 = HDY_SWIPEABLE (hdy_carousel_new ()); + + g_assert_cmpint (g_slist_length (hdy_swipe_group_get_swipeables (group)), ==, 0); + + hdy_swipe_group_add_swipeable (group, swipeable1); + g_assert_cmpint (g_slist_length (hdy_swipe_group_get_swipeables (group)), ==, 1); + + hdy_swipe_group_add_swipeable (group, swipeable2); + g_assert_cmpint (g_slist_length (hdy_swipe_group_get_swipeables (group)), ==, 2); + + hdy_swipe_group_remove_swipeable (group, swipeable2); + g_assert_cmpint (g_slist_length (hdy_swipe_group_get_swipeables (group)), ==, 1); + + hdy_swipe_group_remove_swipeable (group, swipeable1); + g_assert_cmpint (g_slist_length (hdy_swipe_group_get_swipeables (group)), ==, 0); +} + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/SwipeGroup/add_remove", test_hdy_swipe_group_add_remove); + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-value-object.c b/subprojects/libhandy/tests/test-value-object.c new file mode 100644 index 00000000..3b9f03c5 --- /dev/null +++ b/subprojects/libhandy/tests/test-value-object.c @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2019 Red Hat Inc. + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_value_object_init (void) +{ + HdyValueObject *obj; + GValue value = G_VALUE_INIT; + gchar *str; + + g_value_init (&value, G_TYPE_STRING); + g_value_set_string (&value, "asdfasdf"); + obj = hdy_value_object_new (&value); + g_assert_cmpstr (hdy_value_object_get_string (obj), ==, "asdfasdf"); + g_clear_object (&obj); + + obj = hdy_value_object_new_string ("asdfasdf"); + g_assert_cmpstr (hdy_value_object_get_string (obj), ==, "asdfasdf"); + g_clear_object (&obj); + + obj = hdy_value_object_new_take_string (g_strdup ("asdfasdf")); + g_assert_cmpstr (hdy_value_object_get_string (obj), ==, "asdfasdf"); + g_clear_object (&obj); + + obj = hdy_value_object_new_collect (G_TYPE_STRING, "asdfasdf"); + g_assert_cmpstr (hdy_value_object_get_string (obj), ==, "asdfasdf"); + + /* And check that _dup_string works too */ + str = hdy_value_object_dup_string (obj); + g_assert_cmpstr (str, ==, "asdfasdf"); + g_clear_pointer (&str, g_free); + g_clear_object (&obj); + + g_value_unset (&value); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/ValueObject/init", test_hdy_value_object_init); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-view-switcher-bar.c b/subprojects/libhandy/tests/test-view-switcher-bar.c new file mode 100644 index 00000000..54538a67 --- /dev/null +++ b/subprojects/libhandy/tests/test-view-switcher-bar.c @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_view_switcher_bar_policy (void) +{ + g_autoptr (HdyViewSwitcherBar) bar = NULL; + + bar = g_object_ref_sink (HDY_VIEW_SWITCHER_BAR (hdy_view_switcher_bar_new ())); + g_assert_nonnull (bar); + + g_assert_cmpint (hdy_view_switcher_bar_get_policy (bar), ==, HDY_VIEW_SWITCHER_POLICY_NARROW); + + hdy_view_switcher_bar_set_policy (bar, HDY_VIEW_SWITCHER_POLICY_AUTO); + g_assert_cmpint (hdy_view_switcher_bar_get_policy (bar), ==, HDY_VIEW_SWITCHER_POLICY_AUTO); + + hdy_view_switcher_bar_set_policy (bar, HDY_VIEW_SWITCHER_POLICY_WIDE); + g_assert_cmpint (hdy_view_switcher_bar_get_policy (bar), ==, HDY_VIEW_SWITCHER_POLICY_WIDE); + + hdy_view_switcher_bar_set_policy (bar, HDY_VIEW_SWITCHER_POLICY_NARROW); + g_assert_cmpint (hdy_view_switcher_bar_get_policy (bar), ==, HDY_VIEW_SWITCHER_POLICY_NARROW); +} + + +static void +test_hdy_view_switcher_bar_stack (void) +{ + g_autoptr (HdyViewSwitcherBar) bar = NULL; + GtkStack *stack; + + bar = g_object_ref_sink (HDY_VIEW_SWITCHER_BAR (hdy_view_switcher_bar_new ())); + g_assert_nonnull (bar); + + stack = GTK_STACK (gtk_stack_new ()); + g_assert_nonnull (stack); + + g_assert_null (hdy_view_switcher_bar_get_stack (bar)); + + hdy_view_switcher_bar_set_stack (bar, stack); + g_assert (hdy_view_switcher_bar_get_stack (bar) == stack); + + hdy_view_switcher_bar_set_stack (bar, NULL); + g_assert_null (hdy_view_switcher_bar_get_stack (bar)); +} + + +static void +test_hdy_view_switcher_bar_reveal (void) +{ + g_autoptr (HdyViewSwitcherBar) bar = NULL; + + bar = g_object_ref_sink (HDY_VIEW_SWITCHER_BAR (hdy_view_switcher_bar_new ())); + g_assert_nonnull (bar); + + g_assert_false (hdy_view_switcher_bar_get_reveal (bar)); + + hdy_view_switcher_bar_set_reveal (bar, TRUE); + g_assert_true (hdy_view_switcher_bar_get_reveal (bar)); + + hdy_view_switcher_bar_set_reveal (bar, FALSE); + g_assert_false (hdy_view_switcher_bar_get_reveal (bar)); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/ViewSwitcherBar/policy", test_hdy_view_switcher_bar_policy); + g_test_add_func("/Handy/ViewSwitcherBar/stack", test_hdy_view_switcher_bar_stack); + g_test_add_func("/Handy/ViewSwitcherBar/reveal", test_hdy_view_switcher_bar_reveal); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-view-switcher.c b/subprojects/libhandy/tests/test-view-switcher.c new file mode 100644 index 00000000..2f6c89dc --- /dev/null +++ b/subprojects/libhandy/tests/test-view-switcher.c @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2019 Purism SPC + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_view_switcher_policy (void) +{ + g_autoptr (HdyViewSwitcher) view_switcher = NULL; + + view_switcher = g_object_ref_sink (HDY_VIEW_SWITCHER (hdy_view_switcher_new ())); + g_assert_nonnull (view_switcher); + + g_assert_cmpint (hdy_view_switcher_get_policy (view_switcher), ==, HDY_VIEW_SWITCHER_POLICY_AUTO); + + hdy_view_switcher_set_policy (view_switcher, HDY_VIEW_SWITCHER_POLICY_NARROW); + g_assert_cmpint (hdy_view_switcher_get_policy (view_switcher), ==, HDY_VIEW_SWITCHER_POLICY_NARROW); + + hdy_view_switcher_set_policy (view_switcher, HDY_VIEW_SWITCHER_POLICY_WIDE); + g_assert_cmpint (hdy_view_switcher_get_policy (view_switcher), ==, HDY_VIEW_SWITCHER_POLICY_WIDE); + + hdy_view_switcher_set_policy (view_switcher, HDY_VIEW_SWITCHER_POLICY_AUTO); + g_assert_cmpint (hdy_view_switcher_get_policy (view_switcher), ==, HDY_VIEW_SWITCHER_POLICY_AUTO); +} + + +static void +test_hdy_view_switcher_narrow_ellipsize (void) +{ + g_autoptr (HdyViewSwitcher) view_switcher = NULL; + + view_switcher = g_object_ref_sink (HDY_VIEW_SWITCHER (hdy_view_switcher_new ())); + g_assert_nonnull (view_switcher); + + g_assert_cmpint (hdy_view_switcher_get_narrow_ellipsize (view_switcher), ==, PANGO_ELLIPSIZE_NONE); + + hdy_view_switcher_set_narrow_ellipsize (view_switcher, PANGO_ELLIPSIZE_END); + g_assert_cmpint (hdy_view_switcher_get_narrow_ellipsize (view_switcher), ==, PANGO_ELLIPSIZE_END); + + hdy_view_switcher_set_narrow_ellipsize (view_switcher, PANGO_ELLIPSIZE_NONE); + g_assert_cmpint (hdy_view_switcher_get_narrow_ellipsize (view_switcher), ==, PANGO_ELLIPSIZE_NONE); +} + + +static void +test_hdy_view_switcher_stack (void) +{ + g_autoptr (HdyViewSwitcher) view_switcher = NULL; + GtkStack *stack; + + view_switcher = g_object_ref_sink (HDY_VIEW_SWITCHER (hdy_view_switcher_new ())); + g_assert_nonnull (view_switcher); + + stack = GTK_STACK (gtk_stack_new ()); + g_assert_nonnull (stack); + + g_assert_null (hdy_view_switcher_get_stack (view_switcher)); + + hdy_view_switcher_set_stack (view_switcher, stack); + g_assert (hdy_view_switcher_get_stack (view_switcher) == stack); + + hdy_view_switcher_set_stack (view_switcher, NULL); + g_assert_null (hdy_view_switcher_get_stack (view_switcher)); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/ViewSwitcher/policy", test_hdy_view_switcher_policy); + g_test_add_func("/Handy/ViewSwitcher/narrow_ellipsize", test_hdy_view_switcher_narrow_ellipsize); + g_test_add_func("/Handy/ViewSwitcher/stack", test_hdy_view_switcher_stack); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-window-handle.c b/subprojects/libhandy/tests/test-window-handle.c new file mode 100644 index 00000000..190c6670 --- /dev/null +++ b/subprojects/libhandy/tests/test-window-handle.c @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_window_handle_new (void) +{ + g_autoptr (GtkWidget) handle = NULL; + + handle = g_object_ref_sink (hdy_window_handle_new ()); + g_assert_nonnull (handle); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/WindowHandle/new", test_hdy_window_handle_new); + + return g_test_run(); +} diff --git a/subprojects/libhandy/tests/test-window.c b/subprojects/libhandy/tests/test-window.c new file mode 100644 index 00000000..4b286de6 --- /dev/null +++ b/subprojects/libhandy/tests/test-window.c @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2020 Alexander Mikhaylenko + * + * SPDX-License-Identifier: LGPL-2.1+ + */ + +#include + + +static void +test_hdy_window_new (void) +{ + g_autoptr (GtkWidget) window = NULL; + + window = g_object_ref_sink (hdy_window_new ()); + g_assert_nonnull (window); +} + + +gint +main (gint argc, + gchar *argv[]) +{ + gtk_test_init (&argc, &argv, NULL); + hdy_init (); + + g_test_add_func("/Handy/Window/new", test_hdy_window_new); + + return g_test_run(); +} -- cgit v1.2.3